diff --git a/bin/check/check-tool.c b/bin/check/check-tool.c index 9585054456..7b25dbc3ba 100644 --- a/bin/check/check-tool.c +++ b/bin/check/check-tool.c @@ -9,23 +9,21 @@ * information regarding copyright ownership. */ - /*! \file */ +#include #include #include -#include #ifdef _WIN32 #include #endif -#include "check-tool.h" #include #include #include -#include #include +#include #include #include #include @@ -52,6 +50,8 @@ #include +#include "check-tool.h" + #ifndef CHECK_SIBLING #define CHECK_SIBLING 1 #endif @@ -60,11 +60,11 @@ #define CHECK_LOCAL 1 #endif -#define CHECK(r) \ - do { \ - result = (r); \ +#define CHECK(r) \ + do { \ + result = (r); \ if (result != ISC_R_SUCCESS) \ - goto cleanup; \ + goto cleanup; \ } while (0) #define ERR_IS_CNAME 1 @@ -78,9 +78,9 @@ static const char *dbtype[] = { "rbt" }; -int debug = 0; +int debug = 0; const char *journal = NULL; -bool nomerge = true; +bool nomerge = true; #if CHECK_LOCAL bool docheckmx = true; bool dochecksrv = true; @@ -90,40 +90,37 @@ bool docheckmx = false; bool dochecksrv = false; bool docheckns = false; #endif -dns_zoneopt_t zone_options = DNS_ZONEOPT_CHECKNS | - DNS_ZONEOPT_CHECKMX | - DNS_ZONEOPT_MANYERRORS | - DNS_ZONEOPT_CHECKNAMES | +dns_zoneopt_t zone_options = DNS_ZONEOPT_CHECKNS | DNS_ZONEOPT_CHECKMX | + DNS_ZONEOPT_MANYERRORS | DNS_ZONEOPT_CHECKNAMES | DNS_ZONEOPT_CHECKINTEGRITY | #if CHECK_SIBLING DNS_ZONEOPT_CHECKSIBLING | #endif DNS_ZONEOPT_CHECKWILDCARD | - DNS_ZONEOPT_WARNMXCNAME | - DNS_ZONEOPT_WARNSRVCNAME; + DNS_ZONEOPT_WARNMXCNAME | DNS_ZONEOPT_WARNSRVCNAME; /* * This needs to match the list in bin/named/log.c. */ -static isc_logcategory_t categories[] = { - { "", 0 }, - { "unmatched", 0 }, - { NULL, 0 } -}; +static isc_logcategory_t categories[] = { { "", 0 }, + { "unmatched", 0 }, + { NULL, 0 } }; static isc_symtab_t *symtab = NULL; -static isc_mem_t *sym_mctx; +static isc_mem_t * sym_mctx; static void -freekey(char *key, unsigned int type, isc_symvalue_t value, void *userarg) { +freekey(char *key, unsigned int type, isc_symvalue_t value, void *userarg) +{ UNUSED(type); UNUSED(value); isc_mem_free(userarg, key); } static void -add(char *key, int value) { - isc_result_t result; +add(char *key, int value) +{ + isc_result_t result; isc_symvalue_t symvalue; if (sym_mctx == NULL) { @@ -147,7 +144,8 @@ add(char *key, int value) { } static bool -logged(char *key, int value) { +logged(char *key, int value) +{ isc_result_t result; if (symtab == NULL) @@ -164,16 +162,16 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner, dns_rdataset_t *a, dns_rdataset_t *aaaa) { dns_rdataset_t *rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; struct addrinfo hints, *ai, *cur; - char namebuf[DNS_NAME_FORMATSIZE + 1]; - char ownerbuf[DNS_NAME_FORMATSIZE]; + char namebuf[DNS_NAME_FORMATSIZE + 1]; + char ownerbuf[DNS_NAME_FORMATSIZE]; char addrbuf[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:123.123.123.123")]; bool answer = true; bool match; const char *type; - void *ptr = NULL; - int result; + void * ptr = NULL; + int result; REQUIRE(a == NULL || !dns_rdataset_isassociated(a) || a->type == dns_rdatatype_a); @@ -216,8 +214,7 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner, dns_zone_log(zone, ISC_LOG_ERROR, "%s/NS '%s' (out of zone) " "is a CNAME '%s' (illegal)", - ownerbuf, namebuf, - cur->ai_canonname); + ownerbuf, namebuf, cur->ai_canonname); /* XXX950 make fatal for 9.5.0 */ /* answer = false; */ add(namebuf, ERR_IS_CNAME); @@ -240,8 +237,8 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner, default: if (!logged(namebuf, ERR_LOOKUP_FAILURE)) { dns_zone_log(zone, ISC_LOG_WARNING, - "getaddrinfo(%s) failed: %s", - namebuf, gai_strerror(result)); + "getaddrinfo(%s) failed: %s", namebuf, + gai_strerror(result)); add(namebuf, ERR_LOOKUP_FAILURE); } return (true); @@ -266,11 +263,12 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner, } } if (!match && !logged(namebuf, ERR_EXTRA_A)) { - dns_zone_log(zone, ISC_LOG_ERROR, "%s/NS '%s' " + dns_zone_log(zone, ISC_LOG_ERROR, + "%s/NS '%s' " "extra GLUE A record (%s)", ownerbuf, namebuf, - inet_ntop(AF_INET, rdata.data, - addrbuf, sizeof(addrbuf))); + inet_ntop(AF_INET, rdata.data, addrbuf, + sizeof(addrbuf))); add(namebuf, ERR_EXTRA_A); /* XXX950 make fatal for 9.5.0 */ /* answer = false; */ @@ -279,7 +277,7 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner, result = dns_rdataset_next(a); } - checkaaaa: +checkaaaa: if (!dns_rdataset_isassociated(aaaa)) goto checkmissing; result = dns_rdataset_first(aaaa); @@ -289,18 +287,20 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner, for (cur = ai; cur != NULL; cur = cur->ai_next) { if (cur->ai_family != AF_INET6) continue; - ptr = &((struct sockaddr_in6 *)(cur->ai_addr))->sin6_addr; + ptr = &((struct sockaddr_in6 *)(cur->ai_addr)) + ->sin6_addr; if (memcmp(ptr, rdata.data, rdata.length) == 0) { match = true; break; } } if (!match && !logged(namebuf, ERR_EXTRA_AAAA)) { - dns_zone_log(zone, ISC_LOG_ERROR, "%s/NS '%s' " + dns_zone_log(zone, ISC_LOG_ERROR, + "%s/NS '%s' " "extra GLUE AAAA record (%s)", ownerbuf, namebuf, - inet_ntop(AF_INET6, rdata.data, - addrbuf, sizeof(addrbuf))); + inet_ntop(AF_INET6, rdata.data, addrbuf, + sizeof(addrbuf))); add(namebuf, ERR_EXTRA_AAAA); /* XXX950 make fatal for 9.5.0. */ /* answer = false; */ @@ -309,7 +309,7 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner, result = dns_rdataset_next(aaaa); } - checkmissing: +checkmissing: /* * Check that all addresses appear in the glue. */ @@ -319,16 +319,18 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner, switch (cur->ai_family) { case AF_INET: rdataset = a; - ptr = &((struct sockaddr_in *)(cur->ai_addr))->sin_addr; + ptr = &((struct sockaddr_in *)(cur->ai_addr)) + ->sin_addr; type = "A"; break; case AF_INET6: rdataset = aaaa; - ptr = &((struct sockaddr_in6 *)(cur->ai_addr))->sin6_addr; + ptr = &((struct sockaddr_in6 *)(cur->ai_addr)) + ->sin6_addr; type = "AAAA"; break; default: - continue; + continue; } match = false; if (dns_rdataset_isassociated(rdataset)) @@ -343,11 +345,13 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner, result = dns_rdataset_next(rdataset); } if (!match) { - dns_zone_log(zone, ISC_LOG_ERROR, "%s/NS '%s' " + dns_zone_log(zone, ISC_LOG_ERROR, + "%s/NS '%s' " "missing GLUE %s record (%s)", ownerbuf, namebuf, type, inet_ntop(cur->ai_family, ptr, - addrbuf, sizeof(addrbuf))); + addrbuf, + sizeof(addrbuf))); /* XXX950 make fatal for 9.5.0. */ /* answer = false; */ missing_glue = true; @@ -361,13 +365,14 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner, } static bool -checkmx(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) { +checkmx(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) +{ struct addrinfo hints, *ai, *cur; - char namebuf[DNS_NAME_FORMATSIZE + 1]; - char ownerbuf[DNS_NAME_FORMATSIZE]; - int result; - int level = ISC_LOG_ERROR; - bool answer = true; + char namebuf[DNS_NAME_FORMATSIZE + 1]; + char ownerbuf[DNS_NAME_FORMATSIZE]; + int result; + int level = ISC_LOG_ERROR; + bool answer = true; memset(&hints, 0, sizeof(hints)); hints.ai_flags = AI_CANONNAME; @@ -434,8 +439,8 @@ checkmx(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) { default: if (!logged(namebuf, ERR_LOOKUP_FAILURE)) { dns_zone_log(zone, ISC_LOG_WARNING, - "getaddrinfo(%s) failed: %s", - namebuf, gai_strerror(result)); + "getaddrinfo(%s) failed: %s", namebuf, + gai_strerror(result)); add(namebuf, ERR_LOOKUP_FAILURE); } return (true); @@ -443,13 +448,14 @@ checkmx(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) { } static bool -checksrv(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) { +checksrv(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) +{ struct addrinfo hints, *ai, *cur; - char namebuf[DNS_NAME_FORMATSIZE + 1]; - char ownerbuf[DNS_NAME_FORMATSIZE]; - int result; - int level = ISC_LOG_ERROR; - bool answer = true; + char namebuf[DNS_NAME_FORMATSIZE + 1]; + char ownerbuf[DNS_NAME_FORMATSIZE]; + int result; + int level = ISC_LOG_ERROR; + bool answer = true; memset(&hints, 0, sizeof(hints)); hints.ai_flags = AI_CANONNAME; @@ -484,7 +490,8 @@ checksrv(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) { level = ISC_LOG_WARNING; if ((zone_options & DNS_ZONEOPT_IGNORESRVCNAME) == 0) { if (!logged(namebuf, ERR_IS_SRVCNAME)) { - dns_zone_log(zone, level, "%s/SRV '%s'" + dns_zone_log(zone, level, + "%s/SRV '%s'" " (out of zone) is a " "CNAME '%s' (illegal)", ownerbuf, namebuf, @@ -515,8 +522,8 @@ checksrv(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) { default: if (!logged(namebuf, ERR_LOOKUP_FAILURE)) { dns_zone_log(zone, ISC_LOG_WARNING, - "getaddrinfo(%s) failed: %s", - namebuf, gai_strerror(result)); + "getaddrinfo(%s) failed: %s", namebuf, + gai_strerror(result)); add(namebuf, ERR_LOOKUP_FAILURE); } return (true); @@ -524,10 +531,11 @@ checksrv(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) { } isc_result_t -setup_logging(isc_mem_t *mctx, FILE *errout, isc_log_t **logp) { +setup_logging(isc_mem_t *mctx, FILE *errout, isc_log_t **logp) +{ isc_logdestination_t destination; - isc_logconfig_t *logconfig = NULL; - isc_log_t *log = NULL; + isc_logconfig_t * logconfig = NULL; + isc_log_t * log = NULL; RUNTIME_CHECK(isc_log_create(mctx, &log, &logconfig) == ISC_R_SUCCESS); isc_log_registercategories(log, categories); @@ -542,11 +550,10 @@ setup_logging(isc_mem_t *mctx, FILE *errout, isc_log_t **logp) { destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.maximum_size = 0; RUNTIME_CHECK(isc_log_createchannel(logconfig, "stderr", - ISC_LOG_TOFILEDESC, - ISC_LOG_DYNAMIC, - &destination, 0) == ISC_R_SUCCESS); - RUNTIME_CHECK(isc_log_usechannel(logconfig, "stderr", - NULL, NULL) == ISC_R_SUCCESS); + ISC_LOG_TOFILEDESC, ISC_LOG_DYNAMIC, + &destination, 0) == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_log_usechannel(logconfig, "stderr", NULL, NULL) == + ISC_R_SUCCESS); *logp = log; return (ISC_R_SUCCESS); @@ -554,16 +561,17 @@ setup_logging(isc_mem_t *mctx, FILE *errout, isc_log_t **logp) { /*% scan the zone for oversize TTLs */ static isc_result_t -check_ttls(dns_zone_t *zone, dns_ttl_t maxttl) { - isc_result_t result; - dns_db_t *db = NULL; - dns_dbversion_t *version = NULL; - dns_dbnode_t *node = NULL; - dns_dbiterator_t *dbiter = NULL; +check_ttls(dns_zone_t *zone, dns_ttl_t maxttl) +{ + isc_result_t result; + dns_db_t * db = NULL; + dns_dbversion_t * version = NULL; + dns_dbnode_t * node = NULL; + dns_dbiterator_t * dbiter = NULL; dns_rdatasetiter_t *rdsiter = NULL; - dns_rdataset_t rdataset; - dns_fixedname_t fname; - dns_name_t *name; + dns_rdataset_t rdataset; + dns_fixedname_t fname; + dns_name_t * name; name = dns_fixedname_initname(&fname); dns_rdataset_init(&rdataset); @@ -573,8 +581,7 @@ check_ttls(dns_zone_t *zone, dns_ttl_t maxttl) { CHECK(dns_db_newversion(db, &version)); CHECK(dns_db_createiterator(db, 0, &dbiter)); - for (result = dns_dbiterator_first(dbiter); - result == ISC_R_SUCCESS; + for (result = dns_dbiterator_first(dbiter); result == ISC_R_SUCCESS; result = dns_dbiterator_next(dbiter)) { result = dns_dbiterator_current(dbiter, &node, name); if (result == DNS_R_NEWORIGIN) @@ -587,8 +594,8 @@ check_ttls(dns_zone_t *zone, dns_ttl_t maxttl) { result = dns_rdatasetiter_next(rdsiter)) { dns_rdatasetiter_current(rdsiter, &rdataset); if (rdataset.ttl > maxttl) { - char nbuf[DNS_NAME_FORMATSIZE]; - char tbuf[255]; + char nbuf[DNS_NAME_FORMATSIZE]; + char tbuf[255]; isc_buffer_t b; isc_region_t r; @@ -618,7 +625,7 @@ check_ttls(dns_zone_t *zone, dns_ttl_t maxttl) { if (result == ISC_R_NOMORE) result = ISC_R_SUCCESS; - cleanup: +cleanup: if (node != NULL) dns_db_detachnode(db, &node); if (rdsiter != NULL) @@ -639,13 +646,13 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename, dns_masterformat_t fileformat, const char *classname, dns_ttl_t maxttl, dns_zone_t **zonep) { - isc_result_t result; + isc_result_t result; dns_rdataclass_t rdclass; isc_textregion_t region; - isc_buffer_t buffer; - dns_fixedname_t fixorigin; - dns_name_t *origin; - dns_zone_t *zone = NULL; + isc_buffer_t buffer; + dns_fixedname_t fixorigin; + dns_name_t * origin; + dns_zone_t * zone = NULL; REQUIRE(zonep == NULL || *zonep == NULL); @@ -662,7 +669,7 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename, origin = dns_fixedname_initname(&fixorigin); CHECK(dns_name_fromtext(origin, &buffer, dns_rootname, 0, NULL)); CHECK(dns_zone_setorigin(zone, origin)); - dns_zone_setdbtype(zone, 1, (const char * const *) dbtype); + dns_zone_setdbtype(zone, 1, (const char *const *)dbtype); CHECK(dns_zone_setfile(zone, filename, fileformat, &dns_master_style_default)); if (journal != NULL) @@ -700,7 +707,7 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename, zone = NULL; } - cleanup: +cleanup: if (zone != NULL) dns_zone_detach(&zone); return (result); @@ -713,15 +720,15 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename, const uint32_t rawversion) { isc_result_t result; - FILE *output = stdout; - const char *flags; + FILE * output = stdout; + const char * flags; flags = (fileformat == dns_masterformat_text) ? "w" : "wb"; if (debug) { if (filename != NULL && strcmp(filename, "-") != 0) - fprintf(stderr, "dumping \"%s\" to \"%s\"\n", - zonename, filename); + fprintf(stderr, "dumping \"%s\" to \"%s\"\n", zonename, + filename); else fprintf(stderr, "dumping \"%s\"\n", zonename); } @@ -730,8 +737,10 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename, result = isc_stdio_open(filename, flags, &output); if (result != ISC_R_SUCCESS) { - fprintf(stderr, "could not open output " - "file \"%s\" for writing\n", filename); + fprintf(stderr, + "could not open output " + "file \"%s\" for writing\n", + filename); return (ISC_R_FAILURE); } } @@ -746,14 +755,15 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename, #ifdef _WIN32 void -InitSockets(void) { - WORD wVersionRequested; +InitSockets(void) +{ + WORD wVersionRequested; WSADATA wsaData; - int err; + int err; wVersionRequested = MAKEWORD(2, 0); - err = WSAStartup( wVersionRequested, &wsaData ); + err = WSAStartup(wVersionRequested, &wsaData); if (err != 0) { fprintf(stderr, "WSAStartup() failed: %d\n", err); exit(1); @@ -761,7 +771,8 @@ InitSockets(void) { } void -DestroySockets(void) { +DestroySockets(void) +{ WSACleanup(); } #endif diff --git a/bin/check/check-tool.h b/bin/check/check-tool.h index a85e53737b..a2a00c7d98 100644 --- a/bin/check/check-tool.h +++ b/bin/check/check-tool.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef CHECK_TOOL_H #define CHECK_TOOL_H @@ -42,16 +41,18 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename, const uint32_t rawversion); #ifdef _WIN32 -void InitSockets(void); -void DestroySockets(void); +void +InitSockets(void); +void +DestroySockets(void); #endif -extern int debug; -extern const char *journal; -extern bool nomerge; -extern bool docheckmx; -extern bool docheckns; -extern bool dochecksrv; +extern int debug; +extern const char * journal; +extern bool nomerge; +extern bool docheckmx; +extern bool docheckns; +extern bool dochecksrv; extern dns_zoneopt_t zone_options; ISC_LANG_ENDDECLS diff --git a/bin/check/named-checkconf.c b/bin/check/named-checkconf.c index 0e5bde922f..646cb3741d 100644 --- a/bin/check/named-checkconf.c +++ b/bin/check/named-checkconf.c @@ -9,13 +9,12 @@ * information regarding copyright ownership. */ - /*! \file */ #include #include -#include #include +#include #include #include @@ -27,11 +26,6 @@ #include #include -#include -#include - -#include - #include #include #include @@ -41,19 +35,24 @@ #include #include +#include +#include + #include "check-tool.h" +#include + static const char *program = "named-checkconf"; static bool loadplugins = true; isc_log_t *logc = NULL; -#define CHECK(r)\ - do { \ - result = (r); \ +#define CHECK(r) \ + do { \ + result = (r); \ if (result != ISC_R_SUCCESS) \ - goto cleanup; \ + goto cleanup; \ } while (0) /*% usage */ @@ -61,17 +60,21 @@ ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { - fprintf(stderr, "usage: %s [-chijlvz] [-p [-x]] [-t directory] " - "[named.conf]\n", program); +usage(void) +{ + fprintf(stderr, + "usage: %s [-chijlvz] [-p [-x]] [-t directory] " + "[named.conf]\n", + program); exit(1); } /*% directory callback */ static isc_result_t -directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) { +directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) +{ isc_result_t result; - const char *directory; + const char * directory; REQUIRE(strcasecmp("directory", clausename) == 0); @@ -85,8 +88,8 @@ directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) { result = isc_dir_chdir(directory); if (result != ISC_R_SUCCESS) { cfg_obj_log(obj, logc, ISC_LOG_ERROR, - "change directory to '%s' failed: %s\n", - directory, isc_result_totext(result)); + "change directory to '%s' failed: %s\n", directory, + isc_result_totext(result)); return (result); } @@ -94,7 +97,8 @@ directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) { } static bool -get_maps(const cfg_obj_t **maps, const char *name, const cfg_obj_t **obj) { +get_maps(const cfg_obj_t **maps, const char *name, const cfg_obj_t **obj) +{ int i; for (i = 0;; i++) { if (maps[i] == NULL) @@ -105,13 +109,14 @@ get_maps(const cfg_obj_t **maps, const char *name, const cfg_obj_t **obj) { } static bool -get_checknames(const cfg_obj_t **maps, const cfg_obj_t **obj) { +get_checknames(const cfg_obj_t **maps, const cfg_obj_t **obj) +{ const cfg_listelt_t *element; - const cfg_obj_t *checknames; - const cfg_obj_t *type; - const cfg_obj_t *value; - isc_result_t result; - int i; + const cfg_obj_t * checknames; + const cfg_obj_t * type; + const cfg_obj_t * value; + isc_result_t result; + int i; for (i = 0;; i++) { if (maps[i] == NULL) @@ -124,16 +129,14 @@ get_checknames(const cfg_obj_t **maps, const cfg_obj_t **obj) { *obj = checknames; return (true); } - for (element = cfg_list_first(checknames); - element != NULL; + for (element = cfg_list_first(checknames); element != NULL; element = cfg_list_next(element)) { value = cfg_listelt_value(element); type = cfg_tuple_get(value, "type"); - if ((strcasecmp(cfg_obj_asstring(type), - "primary") != 0) && - (strcasecmp(cfg_obj_asstring(type), - "master") != 0)) - { + if ((strcasecmp(cfg_obj_asstring(type), "primary") != + 0) && + (strcasecmp(cfg_obj_asstring(type), "master") != + 0)) { continue; } *obj = cfg_tuple_get(value, "mode"); @@ -143,9 +146,10 @@ get_checknames(const cfg_obj_t **maps, const cfg_obj_t **obj) { } static isc_result_t -configure_hint(const char *zfile, const char *zclass, isc_mem_t *mctx) { - isc_result_t result; - dns_db_t *db = NULL; +configure_hint(const char *zfile, const char *zclass, isc_mem_t *mctx) +{ + isc_result_t result; + dns_db_t * db = NULL; dns_rdataclass_t rdclass; isc_textregion_t r; @@ -168,28 +172,28 @@ configure_hint(const char *zfile, const char *zclass, isc_mem_t *mctx) { /*% configure the zone */ static isc_result_t -configure_zone(const char *vclass, const char *view, - const cfg_obj_t *zconfig, const cfg_obj_t *vconfig, - const cfg_obj_t *config, isc_mem_t *mctx, bool list) +configure_zone(const char *vclass, const char *view, const cfg_obj_t *zconfig, + const cfg_obj_t *vconfig, const cfg_obj_t *config, + isc_mem_t *mctx, bool list) { - int i = 0; - isc_result_t result; - const char *zclass; - const char *zname; - const char *zfile = NULL; - const cfg_obj_t *maps[4]; - const cfg_obj_t *mastersobj = NULL; - const cfg_obj_t *inviewobj = NULL; - const cfg_obj_t *zoptions = NULL; - const cfg_obj_t *classobj = NULL; - const cfg_obj_t *typeobj = NULL; - const cfg_obj_t *fileobj = NULL; - const cfg_obj_t *dlzobj = NULL; - const cfg_obj_t *dbobj = NULL; - const cfg_obj_t *obj = NULL; - const cfg_obj_t *fmtobj = NULL; + int i = 0; + isc_result_t result; + const char * zclass; + const char * zname; + const char * zfile = NULL; + const cfg_obj_t * maps[4]; + const cfg_obj_t * mastersobj = NULL; + const cfg_obj_t * inviewobj = NULL; + const cfg_obj_t * zoptions = NULL; + const cfg_obj_t * classobj = NULL; + const cfg_obj_t * typeobj = NULL; + const cfg_obj_t * fileobj = NULL; + const cfg_obj_t * dlzobj = NULL; + const cfg_obj_t * dbobj = NULL; + const cfg_obj_t * obj = NULL; + const cfg_obj_t * fmtobj = NULL; dns_masterformat_t masterformat; - dns_ttl_t maxttl = 0; + dns_ttl_t maxttl = 0; zone_options = DNS_ZONEOPT_CHECKNS | DNS_ZONEOPT_MANYERRORS; @@ -233,8 +237,7 @@ configure_zone(const char *vclass, const char *view, * Skip checks when using an alternate data source. */ cfg_map_get(zoptions, "database", &dbobj); - if (dbobj != NULL && - strcmp("rbt", cfg_obj_asstring(dbobj)) != 0 && + if (dbobj != NULL && strcmp("rbt", cfg_obj_asstring(dbobj)) != 0 && strcmp("rbt64", cfg_obj_asstring(dbobj)) != 0) return (ISC_R_SUCCESS); @@ -255,8 +258,7 @@ configure_zone(const char *vclass, const char *view, return (configure_hint(zfile, zclass, mctx)); } else if ((strcasecmp(cfg_obj_asstring(typeobj), "primary") != 0) && (strcasecmp(cfg_obj_asstring(typeobj), "master") != 0) && - (strcasecmp(cfg_obj_asstring(typeobj), "redirect") != 0)) - { + (strcasecmp(cfg_obj_asstring(typeobj), "redirect") != 0)) { return (ISC_R_SUCCESS); } @@ -399,8 +401,8 @@ configure_zone(const char *vclass, const char *view, ISC_UNREACHABLE(); } } else { - zone_options |= DNS_ZONEOPT_CHECKNAMES; - zone_options |= DNS_ZONEOPT_CHECKNAMESFAIL; + zone_options |= DNS_ZONEOPT_CHECKNAMES; + zone_options |= DNS_ZONEOPT_CHECKNAMESFAIL; } masterformat = dns_masterformat_text; @@ -425,8 +427,8 @@ configure_zone(const char *vclass, const char *view, zone_options |= DNS_ZONEOPT_CHECKTTL; } - result = load_zone(mctx, zname, zfile, masterformat, - zclass, maxttl, NULL); + result = load_zone(mctx, zname, zfile, masterformat, zclass, maxttl, + NULL); if (result != ISC_R_SUCCESS) fprintf(stderr, "%s/%s/%s: %s\n", view, zname, zclass, dns_result_totext(result)); @@ -439,10 +441,10 @@ configure_view(const char *vclass, const char *view, const cfg_obj_t *config, const cfg_obj_t *vconfig, isc_mem_t *mctx, bool list) { const cfg_listelt_t *element; - const cfg_obj_t *voptions; - const cfg_obj_t *zonelist; - isc_result_t result = ISC_R_SUCCESS; - isc_result_t tresult; + const cfg_obj_t * voptions; + const cfg_obj_t * zonelist; + isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; voptions = NULL; if (vconfig != NULL) @@ -454,13 +456,11 @@ configure_view(const char *vclass, const char *view, const cfg_obj_t *config, else (void)cfg_map_get(config, "zone", &zonelist); - for (element = cfg_list_first(zonelist); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(zonelist); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *zconfig = cfg_listelt_value(element); - tresult = configure_zone(vclass, view, zconfig, vconfig, - config, mctx, list); + tresult = configure_zone(vclass, view, zconfig, vconfig, config, + mctx, list); if (tresult != ISC_R_SUCCESS) result = tresult; } @@ -484,34 +484,30 @@ config_getclass(const cfg_obj_t *classobj, dns_rdataclass_t defclass, /*% load zones from the configuration */ static isc_result_t -load_zones_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx, - bool list_zones) +load_zones_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx, bool list_zones) { const cfg_listelt_t *element; - const cfg_obj_t *views; - const cfg_obj_t *vconfig; - isc_result_t result = ISC_R_SUCCESS; - isc_result_t tresult; + const cfg_obj_t * views; + const cfg_obj_t * vconfig; + isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; views = NULL; (void)cfg_map_get(config, "view", &views); - for (element = cfg_list_first(views); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(views); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *classobj; dns_rdataclass_t viewclass; - const char *vname; - char buf[sizeof("CLASS65535")]; + const char * vname; + char buf[sizeof("CLASS65535")]; vconfig = cfg_listelt_value(element); if (vconfig == NULL) continue; classobj = cfg_tuple_get(vconfig, "class"); - CHECK(config_getclass(classobj, dns_rdataclass_in, - &viewclass)); + CHECK(config_getclass(classobj, dns_rdataclass_in, &viewclass)); if (dns_rdataclass_ismeta(viewclass)) CHECK(ISC_R_FAILURE); @@ -535,7 +531,8 @@ cleanup: } static void -output(void *closure, const char *text, int textlen) { +output(void *closure, const char *text, int textlen) +{ UNUSED(closure); if (fwrite(text, 1, textlen, stdout) != (size_t)textlen) { perror("fwrite"); @@ -545,19 +542,20 @@ output(void *closure, const char *text, int textlen) { /*% The main processing routine */ int -main(int argc, char **argv) { - int c; +main(int argc, char **argv) +{ + int c; cfg_parser_t *parser = NULL; - cfg_obj_t *config = NULL; - const char *conffile = NULL; - isc_mem_t *mctx = NULL; - isc_result_t result; - int exit_status = 0; - bool load_zones = false; - bool list_zones = false; - bool print = false; - bool nodeprecate = false; - unsigned int flags = 0; + cfg_obj_t * config = NULL; + const char * conffile = NULL; + isc_mem_t * mctx = NULL; + isc_result_t result; + int exit_status = 0; + bool load_zones = false; + bool list_zones = false; + bool print = false; + bool nodeprecate = false; + unsigned int flags = 0; isc_commandline_errprint = false; @@ -649,8 +647,8 @@ main(int argc, char **argv) { usage(); default: - fprintf(stderr, "%s: unhandled option -%c\n", - program, isc_commandline_option); + fprintf(stderr, "%s: unhandled option -%c\n", program, + isc_commandline_option); exit(1); } } @@ -687,8 +685,7 @@ main(int argc, char **argv) { cfg_parser_setcallback(parser, directory_callback, NULL); if (cfg_parse_file(parser, conffile, &cfg_type_namedconf, &config) != - ISC_R_SUCCESS) - { + ISC_R_SUCCESS) { exit(1); } diff --git a/bin/check/named-checkzone.c b/bin/check/named-checkzone.c index 67613de41d..c42df6a9dd 100644 --- a/bin/check/named-checkzone.c +++ b/bin/check/named-checkzone.c @@ -9,12 +9,11 @@ * information regarding copyright ownership. */ - /*! \file */ +#include #include #include -#include #include #include @@ -43,31 +42,32 @@ #include "check-tool.h" -static int quiet = 0; -static isc_mem_t *mctx = NULL; -dns_zone_t *zone = NULL; -dns_zonetype_t zonetype = dns_zone_master; -static int dumpzone = 0; -static const char *output_filename; -static const char *prog_name = NULL; +static int quiet = 0; +static isc_mem_t * mctx = NULL; +dns_zone_t * zone = NULL; +dns_zonetype_t zonetype = dns_zone_master; +static int dumpzone = 0; +static const char * output_filename; +static const char * prog_name = NULL; static const dns_master_style_t *outputstyle = NULL; static enum { progmode_check, progmode_compile } progmode; -#define ERRRET(result, function) \ - do { \ - if (result != ISC_R_SUCCESS) { \ - if (!quiet) \ - fprintf(stderr, "%s() returned %s\n", \ +#define ERRRET(result, function) \ + do { \ + if (result != ISC_R_SUCCESS) { \ + if (!quiet) \ + fprintf(stderr, "%s() returned %s\n", \ function, dns_result_totext(result)); \ - return (result); \ - } \ + return (result); \ + } \ } while (0) ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { +usage(void) +{ fprintf(stderr, "usage: %s [-djqvD] [-c class] " "[-f inputformat] [-F outputformat] [-J filename] " @@ -84,7 +84,8 @@ usage(void) { } static void -destroy(void) { +destroy(void) +{ if (zone != NULL) { dns_zone_detach(&zone); } @@ -92,26 +93,27 @@ destroy(void) { /*% main processing routine */ int -main(int argc, char **argv) { - int c; - char *origin = NULL; - char *filename = NULL; - isc_log_t *lctx = NULL; - isc_result_t result; - char classname_in[] = "IN"; - char *classname = classname_in; - const char *workdir = NULL; - const char *inputformatstr = NULL; - const char *outputformatstr = NULL; - dns_masterformat_t inputformat = dns_masterformat_text; - dns_masterformat_t outputformat = dns_masterformat_text; +main(int argc, char **argv) +{ + int c; + char * origin = NULL; + char * filename = NULL; + isc_log_t * lctx = NULL; + isc_result_t result; + char classname_in[] = "IN"; + char * classname = classname_in; + const char * workdir = NULL; + const char * inputformatstr = NULL; + const char * outputformatstr = NULL; + dns_masterformat_t inputformat = dns_masterformat_text; + dns_masterformat_t outputformat = dns_masterformat_text; dns_masterrawheader_t header; - uint32_t rawversion = 1, serialnum = 0; - dns_ttl_t maxttl = 0; - bool snset = false; - bool logdump = false; - FILE *errout = stdout; - char *endp; + uint32_t rawversion = 1, serialnum = 0; + dns_ttl_t maxttl = 0; + bool snset = false; + bool logdump = false; + FILE * errout = stdout; + char * endp; /* * Uncomment the following line if memory debugging is needed: @@ -148,24 +150,21 @@ main(int argc, char **argv) { /* Compilation specific defaults */ if (progmode == progmode_compile) { - zone_options |= (DNS_ZONEOPT_CHECKNS | - DNS_ZONEOPT_FATALNS | - DNS_ZONEOPT_CHECKSPF | - DNS_ZONEOPT_CHECKDUPRR | - DNS_ZONEOPT_CHECKNAMES | - DNS_ZONEOPT_CHECKNAMESFAIL | - DNS_ZONEOPT_CHECKWILDCARD); + zone_options |= + (DNS_ZONEOPT_CHECKNS | DNS_ZONEOPT_FATALNS | + DNS_ZONEOPT_CHECKSPF | DNS_ZONEOPT_CHECKDUPRR | + DNS_ZONEOPT_CHECKNAMES | DNS_ZONEOPT_CHECKNAMESFAIL | + DNS_ZONEOPT_CHECKWILDCARD); } else - zone_options |= (DNS_ZONEOPT_CHECKDUPRR | - DNS_ZONEOPT_CHECKSPF); + zone_options |= (DNS_ZONEOPT_CHECKDUPRR | DNS_ZONEOPT_CHECKSPF); #define ARGCMP(X) (strcmp(isc_commandline_argument, X) == 0) isc_commandline_errprint = false; while ((c = isc_commandline_parse(argc, argv, - "c:df:hi:jJ:k:L:l:m:n:qr:s:t:o:vw:DF:M:S:T:W:")) - != EOF) { + "c:df:hi:jJ:k:L:l:m:n:qr:s:t:o:vw:DF:" + "M:S:T:W:")) != EOF) { switch (c) { case 'c': classname = isc_commandline_argument; @@ -269,16 +268,15 @@ main(int argc, char **argv) { } break; - case 'n': if (ARGCMP("ignore")) { - zone_options &= ~(DNS_ZONEOPT_CHECKNS| + zone_options &= ~(DNS_ZONEOPT_CHECKNS | DNS_ZONEOPT_FATALNS); } else if (ARGCMP("warn")) { zone_options |= DNS_ZONEOPT_CHECKNS; zone_options &= ~DNS_ZONEOPT_FATALNS; } else if (ARGCMP("fail")) { - zone_options |= DNS_ZONEOPT_CHECKNS| + zone_options |= DNS_ZONEOPT_CHECKNS | DNS_ZONEOPT_FATALNS; } else { fprintf(stderr, "invalid argument to -n: %s\n", @@ -426,8 +424,8 @@ main(int argc, char **argv) { usage(); default: - fprintf(stderr, "%s: unhandled option -%c\n", - prog_name, isc_commandline_option); + fprintf(stderr, "%s: unhandled option -%c\n", prog_name, + isc_commandline_option); exit(1); } } @@ -435,8 +433,8 @@ main(int argc, char **argv) { if (workdir != NULL) { result = isc_dir_chdir(workdir); if (result != ISC_R_SUCCESS) { - fprintf(stderr, "isc_dir_chdir: %s: %s\n", - workdir, isc_result_totext(result)); + fprintf(stderr, "isc_dir_chdir: %s: %s\n", workdir, + isc_result_totext(result)); exit(1); } } @@ -448,13 +446,13 @@ main(int argc, char **argv) { inputformat = dns_masterformat_raw; else if (strncasecmp(inputformatstr, "raw=", 4) == 0) { inputformat = dns_masterformat_raw; - fprintf(stderr, - "WARNING: input format raw, version ignored\n"); + fprintf(stderr, "WARNING: input format raw, version " + "ignored\n"); } else if (strcasecmp(inputformatstr, "map") == 0) { inputformat = dns_masterformat_map; } else { fprintf(stderr, "unknown file format: %s\n", - inputformatstr); + inputformatstr); exit(1); } } @@ -471,8 +469,7 @@ main(int argc, char **argv) { rawversion = strtol(outputformatstr + 4, &end, 10); if (end == outputformatstr + 4 || *end != '\0' || rawversion > 1U) { - fprintf(stderr, - "unknown raw format version\n"); + fprintf(stderr, "unknown raw format version\n"); exit(1); } } else if (strcasecmp(outputformatstr, "map") == 0) { @@ -485,11 +482,11 @@ main(int argc, char **argv) { } if (progmode == progmode_compile) { - dumpzone = 1; /* always dump */ + dumpzone = 1; /* always dump */ logdump = !quiet; if (output_filename == NULL) { - fprintf(stderr, - "output file required, but not specified\n"); + fprintf(stderr, "output file required, but not " + "specified\n"); usage(); } } @@ -502,8 +499,7 @@ main(int argc, char **argv) { * output to stderr. */ if (dumpzone && - (output_filename == NULL || - strcmp(output_filename, "-") == 0 || + (output_filename == NULL || strcmp(output_filename, "-") == 0 || strcmp(output_filename, "/dev/fd/1") == 0 || strcmp(output_filename, "/dev/stdout") == 0)) { errout = stderr; @@ -519,8 +515,8 @@ main(int argc, char **argv) { isc_mem_create(&mctx); if (!quiet) - RUNTIME_CHECK(setup_logging(mctx, errout, &lctx) - == ISC_R_SUCCESS); + RUNTIME_CHECK(setup_logging(mctx, errout, &lctx) == + ISC_R_SUCCESS); dns_result_register(); @@ -541,8 +537,8 @@ main(int argc, char **argv) { fprintf(errout, "dump zone to %s...", output_filename); fflush(errout); } - result = dump_zone(origin, zone, output_filename, - outputformat, outputstyle, rawversion); + result = dump_zone(origin, zone, output_filename, outputformat, + outputstyle, rawversion); if (logdump) fprintf(errout, "done\n"); } diff --git a/bin/confgen/ddns-confgen.c b/bin/confgen/ddns-confgen.c index af5b0b3b65..8f55416d40 100644 --- a/bin/confgen/ddns-confgen.c +++ b/bin/confgen/ddns-confgen.c @@ -42,25 +42,26 @@ #include #include -#include -#include - -#include "util.h" #include "keygen.h" +#include "util.h" -#define KEYGEN_DEFAULT "tsig-key" -#define CONFGEN_DEFAULT "ddns-key" +#include +#include + +#define KEYGEN_DEFAULT "tsig-key" +#define CONFGEN_DEFAULT "ddns-key" static char program[256]; const char *progname; -static enum { progmode_keygen, progmode_confgen} progmode; +static enum { progmode_keygen, progmode_confgen } progmode; bool verbose = false; /* needed by util.c but not used here */ ISC_PLATFORM_NORETURN_PRE static void usage(int status) ISC_PLATFORM_NORETURN_POST; static void -usage(int status) { +usage(int status) +{ if (progmode == progmode_confgen) { fprintf(stderr, "\ Usage:\n\ @@ -70,35 +71,36 @@ Usage:\n\ -s name: domain name to be updated using the created key\n\ -z zone: name of the zone as it will be used in named.conf\n\ -q: quiet mode: print the key, with no explanatory text\n", - progname); + progname); } else { fprintf(stderr, "\ Usage:\n\ %s [-a alg] [keyname]\n\ -a alg: algorithm (default hmac-sha256)\n\n", - progname); + progname); } - exit (status); + exit(status); } int -main(int argc, char **argv) { +main(int argc, char **argv) +{ isc_result_t result = ISC_R_SUCCESS; - bool show_final_mem = false; - bool quiet = false; + bool show_final_mem = false; + bool quiet = false; isc_buffer_t key_txtbuffer; - char key_txtsecret[256]; - isc_mem_t *mctx = NULL; - const char *keyname = NULL; - const char *zone = NULL; - const char *self_domain = NULL; - char *keybuf = NULL; + char key_txtsecret[256]; + isc_mem_t * mctx = NULL; + const char * keyname = NULL; + const char * zone = NULL; + const char * self_domain = NULL; + char * keybuf = NULL; dns_secalg_t alg = DST_ALG_HMACSHA256; - const char *algname; - int keysize = 256; - int len = 0; - int ch; + const char * algname; + int keysize = 256; + int len = 0; + int ch; #if USE_PKCS11 pk11_result_register(); @@ -132,8 +134,8 @@ main(int argc, char **argv) { isc_commandline_errprint = false; - while ((ch = isc_commandline_parse(argc, argv, - "a:hk:Mmr:qs:y:z:")) != -1) { + while ((ch = isc_commandline_parse(argc, argv, "a:hk:Mmr:qs:y:z:")) != + -1) { switch (ch) { case 'a': algname = isc_commandline_argument; @@ -187,8 +189,8 @@ main(int argc, char **argv) { usage(0); break; default: - fprintf(stderr, "%s: unhandled option -%c\n", - program, isc_commandline_option); + fprintf(stderr, "%s: unhandled option -%c\n", program, + isc_commandline_option); exit(1); } } @@ -199,7 +201,7 @@ main(int argc, char **argv) { POST(argv); if (self_domain != NULL && zone != NULL) - usage(1); /* -s and -z cannot coexist */ + usage(1); /* -s and -z cannot coexist */ if (argc > isc_commandline_index) usage(1); @@ -212,9 +214,8 @@ main(int argc, char **argv) { if (keyname == NULL) { const char *suffix = NULL; - keyname = ((progmode == progmode_keygen) - ? KEYGEN_DEFAULT - : CONFGEN_DEFAULT); + keyname = ((progmode == progmode_keygen) ? KEYGEN_DEFAULT + : CONFGEN_DEFAULT); if (self_domain != NULL) suffix = self_domain; else if (zone != NULL) @@ -223,7 +224,7 @@ main(int argc, char **argv) { len = strlen(keyname) + strlen(suffix) + 2; keybuf = isc_mem_get(mctx, len); snprintf(keybuf, len, "%s.%s", keyname, suffix); - keyname = (const char *) keybuf; + keyname = (const char *)keybuf; } } @@ -231,7 +232,6 @@ main(int argc, char **argv) { generate_key(mctx, alg, keysize, &key_txtbuffer); - if (!quiet) printf("\ # To activate this key, place the following in named.conf, and\n\ @@ -243,8 +243,7 @@ key \"%s\" {\n\ algorithm %s;\n\ secret \"%.*s\";\n\ };\n", - keyname, algname, - (int)isc_buffer_usedlength(&key_txtbuffer), + keyname, algname, (int)isc_buffer_usedlength(&key_txtbuffer), (char *)isc_buffer_base(&key_txtbuffer)); if (!quiet) { @@ -282,7 +281,6 @@ update-policy {\n\ # After the keyfile has been placed, the following command will\n\ # execute nsupdate using this key:\n\ nsupdate -k \n"); - } if (keybuf != NULL) diff --git a/bin/confgen/include/confgen/os.h b/bin/confgen/include/confgen/os.h index 6346b2b490..9c2a585ff2 100644 --- a/bin/confgen/include/confgen/os.h +++ b/bin/confgen/include/confgen/os.h @@ -9,18 +9,19 @@ * information regarding copyright ownership. */ - /*! \file */ #ifndef RNDC_OS_H #define RNDC_OS_H 1 -#include #include +#include + ISC_LANG_BEGINDECLS -int set_user(FILE *fd, const char *user); +int +set_user(FILE *fd, const char *user); /*%< * Set the owner of the file referenced by 'fd' to 'user'. * Returns: diff --git a/bin/confgen/keygen.c b/bin/confgen/keygen.c index 349caaed4d..29d16a2784 100644 --- a/bin/confgen/keygen.c +++ b/bin/confgen/keygen.c @@ -9,11 +9,12 @@ * information regarding copyright ownership. */ - /*! \file */ -#include +#include "keygen.h" + #include +#include #include #include @@ -23,36 +24,35 @@ #include #include -#include - #include #include -#include -#include - #include "util.h" -#include "keygen.h" + +#include +#include +#include /*% * Convert algorithm type to string. */ const char * -alg_totext(dns_secalg_t alg) { +alg_totext(dns_secalg_t alg) +{ switch (alg) { - case DST_ALG_HMACMD5: + case DST_ALG_HMACMD5: return "hmac-md5"; - case DST_ALG_HMACSHA1: + case DST_ALG_HMACSHA1: return "hmac-sha1"; - case DST_ALG_HMACSHA224: + case DST_ALG_HMACSHA224: return "hmac-sha224"; - case DST_ALG_HMACSHA256: + case DST_ALG_HMACSHA256: return "hmac-sha256"; - case DST_ALG_HMACSHA384: + case DST_ALG_HMACSHA384: return "hmac-sha384"; - case DST_ALG_HMACSHA512: + case DST_ALG_HMACSHA512: return "hmac-sha512"; - default: + default: return "(unknown)"; } } @@ -61,7 +61,8 @@ alg_totext(dns_secalg_t alg) { * Convert string to algorithm type. */ dns_secalg_t -alg_fromtext(const char *name) { +alg_fromtext(const char *name) +{ const char *p = name; if (strncasecmp(p, "hmac-", 5) == 0) p = &name[5]; @@ -85,21 +86,22 @@ alg_fromtext(const char *name) { * Return default keysize for a given algorithm type. */ int -alg_bits(dns_secalg_t alg) { +alg_bits(dns_secalg_t alg) +{ switch (alg) { - case DST_ALG_HMACMD5: + case DST_ALG_HMACMD5: return 128; - case DST_ALG_HMACSHA1: + case DST_ALG_HMACSHA1: return 160; - case DST_ALG_HMACSHA224: + case DST_ALG_HMACSHA224: return 224; - case DST_ALG_HMACSHA256: + case DST_ALG_HMACSHA256: return 256; - case DST_ALG_HMACSHA384: + case DST_ALG_HMACSHA384: return 384; - case DST_ALG_HMACSHA512: + case DST_ALG_HMACSHA512: return 512; - default: + default: return 0; } } @@ -109,38 +111,38 @@ alg_bits(dns_secalg_t alg) { */ void generate_key(isc_mem_t *mctx, dns_secalg_t alg, int keysize, - isc_buffer_t *key_txtbuffer) { + isc_buffer_t *key_txtbuffer) +{ isc_result_t result = ISC_R_SUCCESS; isc_buffer_t key_rawbuffer; isc_region_t key_rawregion; - char key_rawsecret[64]; - dst_key_t *key = NULL; + char key_rawsecret[64]; + dst_key_t * key = NULL; switch (alg) { - case DST_ALG_HMACMD5: - case DST_ALG_HMACSHA1: - case DST_ALG_HMACSHA224: - case DST_ALG_HMACSHA256: + case DST_ALG_HMACMD5: + case DST_ALG_HMACSHA1: + case DST_ALG_HMACSHA224: + case DST_ALG_HMACSHA256: if (keysize < 1 || keysize > 512) fatal("keysize %d out of range (must be 1-512)\n", keysize); break; - case DST_ALG_HMACSHA384: - case DST_ALG_HMACSHA512: + case DST_ALG_HMACSHA384: + case DST_ALG_HMACSHA512: if (keysize < 1 || keysize > 1024) fatal("keysize %d out of range (must be 1-1024)\n", keysize); break; - default: + default: fatal("unsupported algorithm %d\n", alg); } DO("initialize dst library", dst_lib_init(mctx, NULL)); - DO("generate key", dst_key_generate(dns_rootname, alg, - keysize, 0, 0, DNS_KEYPROTO_ANY, - dns_rdataclass_in, mctx, &key, - NULL)); + DO("generate key", + dst_key_generate(dns_rootname, alg, keysize, 0, 0, DNS_KEYPROTO_ANY, + dns_rdataclass_in, mctx, &key, NULL)); isc_buffer_init(&key_rawbuffer, &key_rawsecret, sizeof(key_rawsecret)); @@ -148,8 +150,8 @@ generate_key(isc_mem_t *mctx, dns_secalg_t alg, int keysize, isc_buffer_usedregion(&key_rawbuffer, &key_rawregion); - DO("bsse64 encode secret", isc_base64_totext(&key_rawregion, -1, "", - key_txtbuffer)); + DO("bsse64 encode secret", + isc_base64_totext(&key_rawregion, -1, "", key_txtbuffer)); if (key != NULL) dst_key_free(&key); @@ -163,12 +165,12 @@ generate_key(isc_mem_t *mctx, dns_secalg_t alg, int keysize, * the name 'keyname' and the secret in the buffer 'secret'. */ void -write_key_file(const char *keyfile, const char *user, - const char *keyname, isc_buffer_t *secret, - dns_secalg_t alg) { +write_key_file(const char *keyfile, const char *user, const char *keyname, + isc_buffer_t *secret, dns_secalg_t alg) +{ isc_result_t result; - const char *algname = alg_totext(alg); - FILE *fd = NULL; + const char * algname = alg_totext(alg); + FILE * fd = NULL; DO("create keyfile", isc_file_safecreate(keyfile, &fd)); @@ -177,10 +179,10 @@ write_key_file(const char *keyfile, const char *user, fatal("unable to set file owner\n"); } - fprintf(fd, "key \"%s\" {\n\talgorithm %s;\n" + fprintf(fd, + "key \"%s\" {\n\talgorithm %s;\n" "\tsecret \"%.*s\";\n};\n", - keyname, algname, - (int)isc_buffer_usedlength(secret), + keyname, algname, (int)isc_buffer_usedlength(secret), (char *)isc_buffer_base(secret)); fflush(fd); if (ferror(fd)) diff --git a/bin/confgen/keygen.h b/bin/confgen/keygen.h index 165e596aa9..71fb1b2f33 100644 --- a/bin/confgen/keygen.h +++ b/bin/confgen/keygen.h @@ -9,26 +9,33 @@ * information regarding copyright ownership. */ - #ifndef RNDC_KEYGEN_H #define RNDC_KEYGEN_H 1 /*! \file */ +#include #include +#include + +#include ISC_LANG_BEGINDECLS -void generate_key(isc_mem_t *mctx, dns_secalg_t alg, int keysize, - isc_buffer_t *key_txtbuffer); +void +generate_key(isc_mem_t *mctx, dns_secalg_t alg, int keysize, + isc_buffer_t *key_txtbuffer); -void write_key_file(const char *keyfile, const char *user, - const char *keyname, isc_buffer_t *secret, - dns_secalg_t alg); +void +write_key_file(const char *keyfile, const char *user, const char *keyname, + isc_buffer_t *secret, dns_secalg_t alg); -const char *alg_totext(dns_secalg_t alg); -dns_secalg_t alg_fromtext(const char *name); -int alg_bits(dns_secalg_t alg); +const char * +alg_totext(dns_secalg_t alg); +dns_secalg_t +alg_fromtext(const char *name); +int +alg_bits(dns_secalg_t alg); ISC_LANG_ENDDECLS diff --git a/bin/confgen/rndc-confgen.c b/bin/confgen/rndc-confgen.c index 30d4cf99e0..f86e5dfbf0 100644 --- a/bin/confgen/rndc-confgen.c +++ b/bin/confgen/rndc-confgen.c @@ -37,20 +37,19 @@ #include #include -#include - #include #include -#include -#include - -#include "util.h" #include "keygen.h" +#include "util.h" -#define DEFAULT_KEYNAME "rndc-key" -#define DEFAULT_SERVER "127.0.0.1" -#define DEFAULT_PORT 953 +#include +#include +#include + +#define DEFAULT_KEYNAME "rndc-key" +#define DEFAULT_SERVER "127.0.0.1" +#define DEFAULT_PORT 953 static char program[256]; const char *progname; @@ -63,8 +62,8 @@ ISC_PLATFORM_NORETURN_PRE static void usage(int status) ISC_PLATFORM_NORETURN_POST; static void -usage(int status) { - +usage(int status) +{ fprintf(stderr, "\ Usage:\n\ %s [-a] [-b bits] [-c keyfile] [-k keyname] [-p port] \ @@ -78,32 +77,33 @@ Usage:\n\ -s addr: the address to which rndc should connect\n\ -t chrootdir: write a keyfile in chrootdir as well (requires -a)\n\ -u user: set the keyfile owner to \"user\" (requires -a)\n", - progname, keydef); + progname, keydef); - exit (status); + exit(status); } int -main(int argc, char **argv) { - bool show_final_mem = false; - isc_buffer_t key_txtbuffer; - char key_txtsecret[256]; - isc_mem_t *mctx = NULL; - isc_result_t result = ISC_R_SUCCESS; - const char *keyname = NULL; - const char *serveraddr = NULL; - dns_secalg_t alg; - const char *algname; - char *p; - int ch; - int port; - int keysize = -1; - struct in_addr addr4_dummy; +main(int argc, char **argv) +{ + bool show_final_mem = false; + isc_buffer_t key_txtbuffer; + char key_txtsecret[256]; + isc_mem_t * mctx = NULL; + isc_result_t result = ISC_R_SUCCESS; + const char * keyname = NULL; + const char * serveraddr = NULL; + dns_secalg_t alg; + const char * algname; + char * p; + int ch; + int port; + int keysize = -1; + struct in_addr addr4_dummy; struct in6_addr addr6_dummy; - char *chrootdir = NULL; - char *user = NULL; - bool keyonly = false; - int len; + char * chrootdir = NULL; + char * user = NULL; + bool keyonly = false; + int len; keydef = keyfile = RNDC_KEYFILE; @@ -120,8 +120,7 @@ main(int argc, char **argv) { isc_commandline_errprint = false; while ((ch = isc_commandline_parse(argc, argv, - "aA:b:c:hk:Mmp:r:s:t:u:Vy")) != -1) - { + "aA:b:c:hk:Mmp:r:s:t:u:Vy")) != -1) { switch (ch) { case 'a': keyonly = true; @@ -143,7 +142,7 @@ main(int argc, char **argv) { case 'h': usage(0); case 'k': - case 'y': /* Compatible with rndc -y. */ + case 'y': /* Compatible with rndc -y. */ keyname = isc_commandline_argument; break; case 'M': @@ -186,8 +185,8 @@ main(int argc, char **argv) { usage(0); break; default: - fprintf(stderr, "%s: unhandled option -%c\n", - program, isc_commandline_option); + fprintf(stderr, "%s: unhandled option -%c\n", program, + isc_commandline_option); exit(1); } } @@ -200,9 +199,9 @@ main(int argc, char **argv) { usage(1); if (alg == DST_ALG_HMACMD5) { - fprintf(stderr, - "warning: use of hmac-md5 for RNDC keys " - "is deprecated; hmac-sha256 is now recommended.\n"); + fprintf(stderr, "warning: use of hmac-md5 for RNDC keys " + "is deprecated; hmac-sha256 is now " + "recommended.\n"); } if (keysize < 0) @@ -256,12 +255,11 @@ options {\n\ # End of named.conf\n", keyname, algname, (int)isc_buffer_usedlength(&key_txtbuffer), - (char *)isc_buffer_base(&key_txtbuffer), - keyname, serveraddr, port, - keyname, algname, + (char *)isc_buffer_base(&key_txtbuffer), keyname, + serveraddr, port, keyname, algname, (int)isc_buffer_usedlength(&key_txtbuffer), - (char *)isc_buffer_base(&key_txtbuffer), - serveraddr, port, serveraddr, keyname); + (char *)isc_buffer_base(&key_txtbuffer), serveraddr, + port, serveraddr, keyname); } if (show_final_mem) diff --git a/bin/confgen/unix/os.c b/bin/confgen/unix/os.c index f4bd3cc603..0127b59934 100644 --- a/bin/confgen/unix/os.c +++ b/bin/confgen/unix/os.c @@ -9,21 +9,21 @@ * information regarding copyright ownership. */ - /*! \file */ -#include - -#include -#include -#include -#include #include +#include +#include #include +#include + +#include #include +#include int -set_user(FILE *fd, const char *user) { +set_user(FILE *fd, const char *user) +{ struct passwd *pw; pw = getpwnam(user); diff --git a/bin/confgen/util.c b/bin/confgen/util.c index f1d5bc062c..5b89bc3e4f 100644 --- a/bin/confgen/util.c +++ b/bin/confgen/util.c @@ -9,23 +9,23 @@ * information regarding copyright ownership. */ - /*! \file */ -#include -#include -#include -#include - -#include - #include "util.h" -extern bool verbose; +#include +#include +#include +#include + +#include + +extern bool verbose; extern const char *progname; void -notify(const char *fmt, ...) { +notify(const char *fmt, ...) +{ va_list ap; if (verbose) { @@ -37,7 +37,8 @@ notify(const char *fmt, ...) { } void -fatal(const char *format, ...) { +fatal(const char *format, ...) +{ va_list args; fprintf(stderr, "%s: ", progname); diff --git a/bin/confgen/util.h b/bin/confgen/util.h index fa4a62b023..ec9b181780 100644 --- a/bin/confgen/util.h +++ b/bin/confgen/util.h @@ -9,27 +9,25 @@ * information regarding copyright ownership. */ - #ifndef RNDC_UTIL_H #define RNDC_UTIL_H 1 /*! \file */ +#include #include #include -#include - -#define NS_CONTROL_PORT 953 +#define NS_CONTROL_PORT 953 #undef DO -#define DO(name, function) \ - do { \ - result = function; \ - if (result != ISC_R_SUCCESS) \ +#define DO(name, function) \ + do { \ + result = function; \ + if (result != ISC_R_SUCCESS) \ fatal("%s: %s", name, isc_result_totext(result)); \ - else \ - notify("%s", name); \ + else \ + notify("%s", name); \ } while (0) ISC_LANG_BEGINDECLS @@ -39,7 +37,7 @@ notify(const char *fmt, ...) ISC_FORMAT_PRINTF(1, 2); ISC_PLATFORM_NORETURN_PRE void fatal(const char *format, ...) -ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST; + ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST; ISC_LANG_ENDDECLS diff --git a/bin/confgen/win32/os.c b/bin/confgen/win32/os.c index 0db86f7845..6fa346a91e 100644 --- a/bin/confgen/win32/os.c +++ b/bin/confgen/win32/os.c @@ -9,17 +9,18 @@ * information regarding copyright ownership. */ -#include - -#include -#include -#include #include -#include +#include #include +#include +#include + +#include #include +#include int -set_user(FILE *fd, const char *user) { +set_user(FILE *fd, const char *user) +{ return (0); } diff --git a/bin/delv/delv.c b/bin/delv/delv.c index 63064e9a79..2ae89ae895 100644 --- a/bin/delv/delv.c +++ b/bin/delv/delv.c @@ -12,20 +12,18 @@ #include #ifndef WIN32 -#include -#include +#include #include -#include - #include - -#include +#include +#include +#include #endif +#include #include #include -#include #include #include #include @@ -50,12 +48,6 @@ #include #include -#include -#include - -#include -#include - #include #include #include @@ -74,70 +66,60 @@ #include #include +#include +#include + #include #include +#include +#include -#define CHECK(r) \ - do { \ - result = (r); \ +#define CHECK(r) \ + do { \ + result = (r); \ if (result != ISC_R_SUCCESS) \ - goto cleanup; \ + goto cleanup; \ } while (0) -#define MAXNAME (DNS_NAME_MAXTEXT+1) +#define MAXNAME (DNS_NAME_MAXTEXT + 1) /* Variables used internally by delv. */ -char *progname; +char * progname; static isc_mem_t *mctx = NULL; static isc_log_t *lctx = NULL; /* Configurables */ -static char *server = NULL; -static const char *port = "53"; +static char * server = NULL; +static const char * port = "53"; static isc_sockaddr_t *srcaddr4 = NULL, *srcaddr6 = NULL; -static isc_sockaddr_t a4, a6; -static char *curqname = NULL, *qname = NULL; -static bool classset = false; +static isc_sockaddr_t a4, a6; +static char * curqname = NULL, *qname = NULL; +static bool classset = false; static dns_rdatatype_t qtype = dns_rdatatype_none; -static bool typeset = false; +static bool typeset = false; static unsigned int styleflags = 0; -static uint32_t splitwidth = 0xffffffff; -static bool - showcomments = true, - showdnssec = true, - showtrust = true, - rrcomments = true, - noclass = false, - nocrypto = false, - nottl = false, - multiline = false, - short_form = false, - print_unknown_format = false, - yaml = false; +static uint32_t splitwidth = 0xffffffff; +static bool showcomments = true, showdnssec = true, showtrust = true, + rrcomments = true, noclass = false, nocrypto = false, nottl = false, + multiline = false, short_form = false, print_unknown_format = false, + yaml = false; -static bool - resolve_trace = false, - validator_trace = false, - message_trace = false; +static bool resolve_trace = false, validator_trace = false, + message_trace = false; -static bool - use_ipv4 = true, - use_ipv6 = true; +static bool use_ipv4 = true, use_ipv6 = true; -static bool - cdflag = false, - no_sigs = false, - root_validation = true; +static bool cdflag = false, no_sigs = false, root_validation = true; static bool use_tcp = false; static char *anchorfile = NULL; static char *trust_anchor = NULL; -static int num_keys = 0; +static int num_keys = 0; static dns_fixedname_t afn; -static dns_name_t *anchor_name = NULL; +static dns_name_t * anchor_name = NULL; /* Default bind.keys contents */ static char anchortext[] = TRUST_ANCHORS; @@ -149,65 +131,88 @@ static isc_result_t get_reverse(char *reverse, size_t len, char *value, bool strict); static isc_result_t -parse_uint(uint32_t *uip, const char *value, uint32_t max, - const char *desc); +parse_uint(uint32_t *uip, const char *value, uint32_t max, const char *desc); static void -usage(void) { - fputs( -"Usage: delv [@server] {q-opt} {d-opt} [domain] [q-type] [q-class]\n" -"Where: domain is in the Domain Name System\n" -" q-class is one of (in,hs,ch,...) [default: in]\n" -" q-type is one of (a,any,mx,ns,soa,hinfo,axfr,txt,...) [default:a]\n" -" q-opt is one of:\n" -" -4 (use IPv4 query transport only)\n" -" -6 (use IPv6 query transport only)\n" -" -a anchor-file (specify root trust anchor)\n" -" -b address[#port] (bind to source address/port)\n" -" -c class (option included for compatibility;\n" -" -d level (set debugging level)\n" -" -h (print help and exit)\n" -" -i (disable DNSSEC validation)\n" -" -m (enable memory usage debugging)\n" -" -p port (specify port number)\n" -" -q name (specify query name)\n" -" -t type (specify query type)\n" -" only IN is supported)\n" -" -v (print version and exit)\n" -" -x dot-notation (shortcut for reverse lookups)\n" -" d-opt is of the form +keyword[=value], where keyword is:\n" -" +[no]all (Set or clear all display flags)\n" -" +[no]class (Control display of class)\n" -" +[no]comments (Control display of comment lines)\n" -" +[no]crypto (Control display of cryptographic\n" -" fields in records)\n" -" +[no]dlv (Obsolete)\n" -" +[no]dnssec (Display DNSSEC records)\n" -" +[no]mtrace (Trace messages received)\n" -" +[no]multiline (Print records in an expanded format)\n" -" +[no]root (DNSSEC validation trust anchor)\n" -" +[no]rrcomments (Control display of per-record " - "comments)\n" -" +[no]rtrace (Trace resolver fetches)\n" -" +[no]short (Short form answer)\n" -" +[no]split=## (Split hex/base64 fields into chunks)\n" -" +[no]tcp (TCP mode)\n" -" +[no]ttl (Control display of ttls in records)\n" -" +[no]trust (Control display of trust level)\n" -" +[no]unknownformat (Print RDATA in RFC 3597 " - "\"unknown\" format)\n" -" +[no]vtrace (Trace validation process)\n" -" +[no]yaml (Present the results as YAML)\n", - stderr); +usage(void) +{ + fputs("Usage: delv [@server] {q-opt} {d-opt} [domain] [q-type] " + "[q-class]\n" + "Where: domain is in the Domain Name System\n" + " q-class is one of (in,hs,ch,...) [default: in]\n" + " q-type is one of (a,any,mx,ns,soa,hinfo,axfr,txt,...) " + "[default:a]\n" + " q-opt is one of:\n" + " -4 (use IPv4 query transport " + "only)\n" + " -6 (use IPv6 query transport " + "only)\n" + " -a anchor-file (specify root trust " + "anchor)\n" + " -b address[#port] (bind to source " + "address/port)\n" + " -c class (option included for " + "compatibility;\n" + " -d level (set debugging level)\n" + " -h (print help and exit)\n" + " -i (disable DNSSEC " + "validation)\n" + " -m (enable memory usage " + "debugging)\n" + " -p port (specify port number)\n" + " -q name (specify query name)\n" + " -t type (specify query type)\n" + " only IN is supported)\n" + " -v (print version and exit)\n" + " -x dot-notation (shortcut for reverse " + "lookups)\n" + " d-opt is of the form +keyword[=value], where keyword " + "is:\n" + " +[no]all (Set or clear all display " + "flags)\n" + " +[no]class (Control display of " + "class)\n" + " +[no]comments (Control display of " + "comment lines)\n" + " +[no]crypto (Control display of " + "cryptographic\n" + " fields in records)\n" + " +[no]dlv (Obsolete)\n" + " +[no]dnssec (Display DNSSEC records)\n" + " +[no]mtrace (Trace messages received)\n" + " +[no]multiline (Print records in an " + "expanded format)\n" + " +[no]root (DNSSEC validation trust " + "anchor)\n" + " +[no]rrcomments (Control display of " + "per-record " + "comments)\n" + " +[no]rtrace (Trace resolver fetches)\n" + " +[no]short (Short form answer)\n" + " +[no]split=## (Split hex/base64 fields " + "into chunks)\n" + " +[no]tcp (TCP mode)\n" + " +[no]ttl (Control display of ttls " + "in records)\n" + " +[no]trust (Control display of trust " + "level)\n" + " +[no]unknownformat (Print RDATA in RFC 3597 " + "\"unknown\" format)\n" + " +[no]vtrace (Trace validation " + "process)\n" + " +[no]yaml (Present the results as " + "YAML)\n", + stderr); exit(1); } ISC_PLATFORM_NORETURN_PRE static void fatal(const char *format, ...) -ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST; + ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST; static void -fatal(const char *format, ...) { +fatal(const char *format, ...) +{ va_list args; fflush(stdout); @@ -223,7 +228,8 @@ static void warn(const char *format, ...) ISC_FORMAT_PRINTF(1, 2); static void -warn(const char *format, ...) { +warn(const char *format, ...) +{ va_list args; fflush(stdout); @@ -234,44 +240,40 @@ warn(const char *format, ...) { fprintf(stderr, "\n"); } -static isc_logcategory_t categories[] = { - { "delv", 0 }, - { NULL, 0 } -}; -#define LOGCATEGORY_DEFAULT (&categories[0]) -#define LOGMODULE_DEFAULT (&modules[0]) +static isc_logcategory_t categories[] = { { "delv", 0 }, { NULL, 0 } }; +#define LOGCATEGORY_DEFAULT (&categories[0]) +#define LOGMODULE_DEFAULT (&modules[0]) -static isc_logmodule_t modules[] = { - { "delv", 0 }, - { NULL, 0 } -}; +static isc_logmodule_t modules[] = { { "delv", 0 }, { NULL, 0 } }; static void delv_log(int level, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3); static void -delv_log(int level, const char *fmt, ...) { +delv_log(int level, const char *fmt, ...) +{ va_list ap; - char msgbuf[2048]; + char msgbuf[2048]; - if (! isc_log_wouldlog(lctx, level)) + if (!isc_log_wouldlog(lctx, level)) return; va_start(ap, fmt); vsnprintf(msgbuf, sizeof(msgbuf), fmt, ap); - isc_log_write(lctx, LOGCATEGORY_DEFAULT, LOGMODULE_DEFAULT, - level, "%s", msgbuf); + isc_log_write(lctx, LOGCATEGORY_DEFAULT, LOGMODULE_DEFAULT, level, "%s", + msgbuf); va_end(ap); } static int loglevel = 0; static void -setup_logging(FILE *errout) { - isc_result_t result; +setup_logging(FILE *errout) +{ + isc_result_t result; isc_logdestination_t destination; - isc_logconfig_t *logconfig = NULL; + isc_logconfig_t * logconfig = NULL; result = isc_log_create(mctx, &lctx, &logconfig); if (result != ISC_R_SUCCESS) @@ -289,9 +291,9 @@ setup_logging(FILE *errout) { destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.maximum_size = 0; - result = isc_log_createchannel(logconfig, "stderr", - ISC_LOG_TOFILEDESC, ISC_LOG_DYNAMIC, - &destination, ISC_LOG_PRINTPREFIX); + result = isc_log_createchannel(logconfig, "stderr", ISC_LOG_TOFILEDESC, + ISC_LOG_DYNAMIC, &destination, + ISC_LOG_PRINTPREFIX); if (result != ISC_R_SUCCESS) fatal("Couldn't set up log channel 'stderr'"); @@ -307,11 +309,9 @@ setup_logging(FILE *errout) { fatal("Couldn't attach to log channel 'stderr'"); if (resolve_trace && loglevel < 1) { - result = isc_log_createchannel(logconfig, "resolver", - ISC_LOG_TOFILEDESC, - ISC_LOG_DEBUG(1), - &destination, - ISC_LOG_PRINTPREFIX); + result = isc_log_createchannel( + logconfig, "resolver", ISC_LOG_TOFILEDESC, + ISC_LOG_DEBUG(1), &destination, ISC_LOG_PRINTPREFIX); if (result != ISC_R_SUCCESS) fatal("Couldn't set up log channel 'resolver'"); @@ -323,11 +323,9 @@ setup_logging(FILE *errout) { } if (validator_trace && loglevel < 3) { - result = isc_log_createchannel(logconfig, "validator", - ISC_LOG_TOFILEDESC, - ISC_LOG_DEBUG(3), - &destination, - ISC_LOG_PRINTPREFIX); + result = isc_log_createchannel( + logconfig, "validator", ISC_LOG_TOFILEDESC, + ISC_LOG_DEBUG(3), &destination, ISC_LOG_PRINTPREFIX); if (result != ISC_R_SUCCESS) fatal("Couldn't set up log channel 'validator'"); @@ -339,11 +337,9 @@ setup_logging(FILE *errout) { } if (message_trace && loglevel < 10) { - result = isc_log_createchannel(logconfig, "messages", - ISC_LOG_TOFILEDESC, - ISC_LOG_DEBUG(10), - &destination, - ISC_LOG_PRINTPREFIX); + result = isc_log_createchannel( + logconfig, "messages", ISC_LOG_TOFILEDESC, + ISC_LOG_DEBUG(10), &destination, ISC_LOG_PRINTPREFIX); if (result != ISC_R_SUCCESS) fatal("Couldn't set up log channel 'messages'"); @@ -356,7 +352,8 @@ setup_logging(FILE *errout) { } static void -print_status(dns_rdataset_t *rdataset) { +print_status(dns_rdataset_t *rdataset) +{ char buf[1024] = { 0 }; REQUIRE(rdataset != NULL); @@ -437,19 +434,18 @@ static isc_result_t printdata(dns_rdataset_t *rdataset, dns_name_t *owner, dns_master_style_t *style) { - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; static dns_trust_t trust; - static bool first = true; - isc_buffer_t target; - isc_region_t r; - char *t = NULL; - int len = 2048; + static bool first = true; + isc_buffer_t target; + isc_region_t r; + char * t = NULL; + int len = 2048; if (!dns_rdataset_isassociated(rdataset)) { char namebuf[DNS_NAME_FORMATSIZE]; dns_name_format(owner, namebuf, sizeof(namebuf)); - delv_log(ISC_LOG_DEBUG(4), - "WARN: empty rdataset %s", namebuf); + delv_log(ISC_LOG_DEBUG(4), "WARN: empty rdataset %s", namebuf); return (ISC_R_SUCCESS); } @@ -473,18 +469,15 @@ printdata(dns_rdataset_t *rdataset, dns_name_t *owner, dns_rdata_t rdata = DNS_RDATA_INIT; for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(rdataset)) - { + result = dns_rdataset_next(rdataset)) { if ((rdataset->attributes & DNS_RDATASETATTR_NEGATIVE) != 0) continue; dns_rdataset_current(rdataset, &rdata); - result = dns_rdata_tofmttext(&rdata, - dns_rootname, - styleflags, 0, - splitwidth, " ", - &target); + result = dns_rdata_tofmttext( + &rdata, dns_rootname, styleflags, 0, + splitwidth, " ", &target); if (result != ISC_R_SUCCESS) break; @@ -500,15 +493,12 @@ printdata(dns_rdataset_t *rdataset, dns_name_t *owner, } else { dns_indent_t indent = { " ", 2 }; if (!yaml && (rdataset->attributes & - DNS_RDATASETATTR_NEGATIVE) != 0) - { + DNS_RDATASETATTR_NEGATIVE) != 0) { isc_buffer_putstr(&target, "; "); } - result = dns_master_rdatasettotext(owner, rdataset, - style, - yaml ? &indent : - NULL, - &target); + result = dns_master_rdatasettotext( + owner, rdataset, style, yaml ? &indent : NULL, + &target); } if (result == ISC_R_NOSPACE) { @@ -523,7 +513,7 @@ printdata(dns_rdataset_t *rdataset, dns_name_t *owner, isc_buffer_usedregion(&target, &r); printf("%.*s", (int)r.length, (char *)r.base); - cleanup: +cleanup: if (t != NULL) isc_mem_put(mctx, t, len); @@ -531,8 +521,9 @@ printdata(dns_rdataset_t *rdataset, dns_name_t *owner, } static isc_result_t -setup_style(dns_master_style_t **stylep) { - isc_result_t result; +setup_style(dns_master_style_t **stylep) +{ + isc_result_t result; dns_master_style_t *style = NULL; REQUIRE(stylep != NULL && *stylep == NULL); @@ -566,17 +557,14 @@ setup_style(dns_master_style_t **stylep) { } if (multiline || (nottl && noclass)) { - result = dns_master_stylecreate(&style, styleflags, - 24, 24, 24, 32, 80, 8, - splitwidth, mctx); + result = dns_master_stylecreate(&style, styleflags, 24, 24, 24, + 32, 80, 8, splitwidth, mctx); } else if (nottl || noclass) { - result = dns_master_stylecreate(&style, styleflags, - 24, 24, 32, 40, 80, 8, - splitwidth, mctx); + result = dns_master_stylecreate(&style, styleflags, 24, 24, 32, + 40, 80, 8, splitwidth, mctx); } else { - result = dns_master_stylecreate(&style, styleflags, - 24, 32, 40, 48, 80, 8, - splitwidth, mctx); + result = dns_master_stylecreate(&style, styleflags, 24, 32, 40, + 48, 80, 8, splitwidth, mctx); } if (result == ISC_R_SUCCESS) { @@ -586,10 +574,11 @@ setup_style(dns_master_style_t **stylep) { } static isc_result_t -convert_name(dns_fixedname_t *fn, dns_name_t **name, const char *text) { +convert_name(dns_fixedname_t *fn, dns_name_t **name, const char *text) +{ isc_result_t result; isc_buffer_t b; - dns_name_t *n; + dns_name_t * n; unsigned int len; REQUIRE(fn != NULL && name != NULL && text != NULL); @@ -601,8 +590,8 @@ convert_name(dns_fixedname_t *fn, dns_name_t **name, const char *text) { result = dns_name_fromtext(n, &b, dns_rootname, 0, NULL); if (result != ISC_R_SUCCESS) { - delv_log(ISC_LOG_ERROR, "failed to convert QNAME %s: %s", - text, isc_result_totext(result)); + delv_log(ISC_LOG_ERROR, "failed to convert QNAME %s: %s", text, + isc_result_totext(result)); return (result); } @@ -611,27 +600,26 @@ convert_name(dns_fixedname_t *fn, dns_name_t **name, const char *text) { } static isc_result_t -key_fromconfig(const cfg_obj_t *key, dns_client_t *client) { +key_fromconfig(const cfg_obj_t *key, dns_client_t *client) +{ dns_rdata_dnskey_t dnskey; - dns_rdata_ds_t ds; - uint32_t rdata1, rdata2, rdata3; - const char *datastr = NULL, *keynamestr = NULL, *atstr = NULL; - unsigned char data[4096]; - isc_buffer_t databuf; - unsigned char rrdata[4096]; - isc_buffer_t rrdatabuf; - isc_region_t r; - dns_fixedname_t fkeyname; - dns_name_t *keyname; - isc_result_t result; - bool match_root = false; - enum { - INITIAL_KEY, - STATIC_KEY, - INITIAL_DS, - STATIC_DS, - TRUSTED - } anchortype; + dns_rdata_ds_t ds; + uint32_t rdata1, rdata2, rdata3; + const char * datastr = NULL, *keynamestr = NULL, *atstr = NULL; + unsigned char data[4096]; + isc_buffer_t databuf; + unsigned char rrdata[4096]; + isc_buffer_t rrdatabuf; + isc_region_t r; + dns_fixedname_t fkeyname; + dns_name_t * keyname; + isc_result_t result; + bool match_root = false; + enum { INITIAL_KEY, + STATIC_KEY, + INITIAL_DS, + STATIC_DS, + TRUSTED } anchortype; keynamestr = cfg_obj_asstring(cfg_tuple_get(key, "name")); CHECK(convert_name(&fkeyname, &keyname, keynamestr)); @@ -715,11 +703,11 @@ key_fromconfig(const cfg_obj_t *key, dns_client_t *client) { dnskey.data = r.base; CHECK(dns_rdata_fromstruct(NULL, dnskey.common.rdclass, - dnskey.common.rdtype, - &dnskey, &rrdatabuf)); + dnskey.common.rdtype, &dnskey, + &rrdatabuf)); CHECK(dns_client_addtrustedkey(client, dns_rdataclass_in, - dns_rdatatype_dnskey, - keyname, &rrdatabuf)); + dns_rdatatype_dnskey, keyname, + &rrdatabuf)); break; case INITIAL_DS: case STATIC_DS: @@ -759,27 +747,26 @@ key_fromconfig(const cfg_obj_t *key, dns_client_t *client) { ds.digest = r.base; CHECK(dns_rdata_fromstruct(NULL, ds.common.rdclass, - ds.common.rdtype, - &ds, &rrdatabuf)); + ds.common.rdtype, &ds, &rrdatabuf)); CHECK(dns_client_addtrustedkey(client, dns_rdataclass_in, - dns_rdatatype_ds, - keyname, &rrdatabuf)); + dns_rdatatype_ds, keyname, + &rrdatabuf)); }; num_keys++; - cleanup: +cleanup: if (result == DST_R_NOCRYPTO) cfg_obj_log(key, lctx, ISC_LOG_ERROR, "no crypto support"); else if (result == DST_R_UNSUPPORTEDALG) { cfg_obj_log(key, lctx, ISC_LOG_WARNING, - "skipping trusted key '%s': %s", - keynamestr, isc_result_totext(result)); + "skipping trusted key '%s': %s", keynamestr, + isc_result_totext(result)); result = ISC_R_SUCCESS; } else if (result != ISC_R_SUCCESS) { cfg_obj_log(key, lctx, ISC_LOG_ERROR, - "failed to add trusted key '%s': %s", - keynamestr, isc_result_totext(result)); + "failed to add trusted key '%s': %s", keynamestr, + isc_result_totext(result)); result = ISC_R_FAILURE; } @@ -787,41 +774,39 @@ key_fromconfig(const cfg_obj_t *key, dns_client_t *client) { } static isc_result_t -load_keys(const cfg_obj_t *keys, dns_client_t *client) { +load_keys(const cfg_obj_t *keys, dns_client_t *client) +{ const cfg_listelt_t *elt, *elt2; - const cfg_obj_t *key, *keylist; - isc_result_t result = ISC_R_SUCCESS; + const cfg_obj_t * key, *keylist; + isc_result_t result = ISC_R_SUCCESS; - for (elt = cfg_list_first(keys); - elt != NULL; - elt = cfg_list_next(elt)) - { + for (elt = cfg_list_first(keys); elt != NULL; + elt = cfg_list_next(elt)) { keylist = cfg_listelt_value(elt); - for (elt2 = cfg_list_first(keylist); - elt2 != NULL; - elt2 = cfg_list_next(elt2)) - { + for (elt2 = cfg_list_first(keylist); elt2 != NULL; + elt2 = cfg_list_next(elt2)) { key = cfg_listelt_value(elt2); CHECK(key_fromconfig(key, client)); } } - cleanup: +cleanup: if (result == DST_R_NOCRYPTO) result = ISC_R_SUCCESS; return (result); } static isc_result_t -setup_dnsseckeys(dns_client_t *client) { - isc_result_t result; - cfg_parser_t *parser = NULL; +setup_dnsseckeys(dns_client_t *client) +{ + isc_result_t result; + cfg_parser_t * parser = NULL; const cfg_obj_t *trusted_keys = NULL; const cfg_obj_t *managed_keys = NULL; const cfg_obj_t *trust_anchors = NULL; - cfg_obj_t *bindkeys = NULL; - const char *filename = anchorfile; + cfg_obj_t * bindkeys = NULL; + const char * filename = anchorfile; if (!root_validation) { return (ISC_R_SUCCESS); @@ -853,8 +838,8 @@ setup_dnsseckeys(dns_client_t *client) { fatal("Unable to read key file '%s'", anchorfile); } } else { - result = cfg_parse_file(parser, filename, - &cfg_type_bindkeys, &bindkeys); + result = cfg_parse_file(parser, filename, &cfg_type_bindkeys, + &bindkeys); if (result != ISC_R_SUCCESS) { if (anchorfile != NULL) { fatal("Unable to load keys from '%s'", @@ -895,7 +880,7 @@ setup_dnsseckeys(dns_client_t *client) { fatal("No trusted keys were loaded"); } - cleanup: +cleanup: if (bindkeys != NULL) { cfg_obj_destroy(parser, &bindkeys); } @@ -904,22 +889,23 @@ setup_dnsseckeys(dns_client_t *client) { } if (result != ISC_R_SUCCESS) { delv_log(ISC_LOG_ERROR, "setup_dnsseckeys: %s", - isc_result_totext(result)); + isc_result_totext(result)); } return (result); } static isc_result_t -addserver(dns_client_t *client) { - struct addrinfo hints, *res, *cur; - int gaierror; - struct in_addr in4; - struct in6_addr in6; - isc_sockaddr_t *sa; +addserver(dns_client_t *client) +{ + struct addrinfo hints, *res, *cur; + int gaierror; + struct in_addr in4; + struct in6_addr in6; + isc_sockaddr_t * sa; isc_sockaddrlist_t servers; - uint32_t destport; - isc_result_t result; - dns_name_t *name = NULL; + uint32_t destport; + isc_result_t result; + dns_name_t * name = NULL; result = parse_uint(&destport, port, 0xffff, "port"); if (result != ISC_R_SUCCESS) @@ -955,9 +941,8 @@ addserver(dns_client_t *client) { hints.ai_protocol = IPPROTO_UDP; gaierror = getaddrinfo(server, port, &hints, &res); if (gaierror != 0) { - delv_log(ISC_LOG_ERROR, - "getaddrinfo failed: %s", - gai_strerror(gaierror)); + delv_log(ISC_LOG_ERROR, "getaddrinfo failed: %s", + gai_strerror(gaierror)); return (ISC_R_FAILURE); } @@ -977,10 +962,9 @@ addserver(dns_client_t *client) { CHECK(result); } - CHECK(dns_client_setservers(client, dns_rdataclass_in, name, &servers)); - cleanup: +cleanup: while (!ISC_LIST_EMPTY(servers)) { sa = ISC_LIST_HEAD(servers); ISC_LIST_UNLINK(servers, sa, link); @@ -989,18 +973,19 @@ addserver(dns_client_t *client) { if (result != ISC_R_SUCCESS) delv_log(ISC_LOG_ERROR, "addserver: %s", - isc_result_totext(result)); + isc_result_totext(result)); return (result); } static isc_result_t -findserver(dns_client_t *client) { - isc_result_t result; - irs_resconf_t *resconf = NULL; +findserver(dns_client_t *client) +{ + isc_result_t result; + irs_resconf_t * resconf = NULL; isc_sockaddrlist_t *nameservers; - isc_sockaddr_t *sa, *next; - uint32_t destport; + isc_sockaddr_t * sa, *next; + uint32_t destport; result = parse_uint(&destport, port, 0xffff, "port"); if (result != ISC_R_SUCCESS) @@ -1009,7 +994,7 @@ findserver(dns_client_t *client) { result = irs_resconf_load(mctx, "/etc/resolv.conf", &resconf); if (result != ISC_R_SUCCESS && result != ISC_R_FILENOTFOUND) { delv_log(ISC_LOG_ERROR, "irs_resconf_load: %s", - isc_result_totext(result)); + isc_result_totext(result)); goto cleanup; } @@ -1058,7 +1043,7 @@ findserver(dns_client_t *client) { nameservers); if (result != ISC_R_SUCCESS) delv_log(ISC_LOG_ERROR, "dns_client_setservers: %s", - isc_result_totext(result)); + isc_result_totext(result)); cleanup: if (resconf != NULL) @@ -1067,15 +1052,15 @@ cleanup: } static isc_result_t -parse_uint(uint32_t *uip, const char *value, uint32_t max, - const char *desc) { - uint32_t n; +parse_uint(uint32_t *uip, const char *value, uint32_t max, const char *desc) +{ + uint32_t n; isc_result_t result = isc_parse_uint32(&n, value, 10); if (result == ISC_R_SUCCESS && n > max) result = ISC_R_RANGE; if (result != ISC_R_SUCCESS) { - printf("invalid %s '%s': %s\n", desc, - value, isc_result_totext(result)); + printf("invalid %s '%s': %s\n", desc, value, + isc_result_totext(result)); return (result); } *uip = n; @@ -1083,10 +1068,11 @@ parse_uint(uint32_t *uip, const char *value, uint32_t max, } static void -plus_option(char *option) { +plus_option(char *option) +{ isc_result_t result; - char *cmd, *value, *last = NULL; - bool state = true; + char * cmd, *value, *last = NULL; + bool state = true; INSIST(option != NULL); @@ -1095,18 +1081,18 @@ plus_option(char *option) { printf(";; Invalid option %s\n", option); return; } - if (strncasecmp(cmd, "no", 2)==0) { + if (strncasecmp(cmd, "no", 2) == 0) { cmd += 2; state = false; } value = strtok_r(NULL, "\0", &last); -#define FULLCHECK(A) \ - do { \ - size_t _l = strlen(cmd); \ +#define FULLCHECK(A) \ + do { \ + size_t _l = strlen(cmd); \ if (_l >= sizeof(A) || strncasecmp(cmd, A, _l) != 0) \ - goto invalid_option; \ + goto invalid_option; \ } while (0) switch (cmd[0]) { @@ -1216,12 +1202,12 @@ plus_option(char *option) { } else if (value == NULL) break; - result = parse_uint(&splitwidth, value, - 1023, "split"); + result = parse_uint(&splitwidth, value, 1023, "split"); if (splitwidth % 4 != 0) { splitwidth = ((splitwidth + 3) / 4) * 4; warn("split must be a multiple of 4; " - "adjusting to %d", splitwidth); + "adjusting to %d", + splitwidth); } /* * There is an adjustment done in the @@ -1293,19 +1279,20 @@ static const char *single_dash_opts = "46himv"; static const char *dash_opts = "46abcdhimpqtvx"; static bool -dash_option(char *option, char *next, bool *open_type_class) { - char opt, *value; - isc_result_t result; - bool value_from_next; +dash_option(char *option, char *next, bool *open_type_class) +{ + char opt, *value; + isc_result_t result; + bool value_from_next; isc_textregion_t tr; - dns_rdatatype_t rdtype; + dns_rdatatype_t rdtype; dns_rdataclass_t rdclass; - char textname[MAXNAME]; - struct in_addr in4; - struct in6_addr in6; - in_port_t srcport; - uint32_t num; - char *hash; + char textname[MAXNAME]; + struct in_addr in4; + struct in6_addr in6; + in_port_t srcport; + uint32_t num; + char * hash; while (strpbrk(option, single_dash_opts) == &option[0]) { /* @@ -1437,7 +1424,7 @@ dash_option(char *option, char *next, bool *open_type_class) { tr.base = value; tr.length = strlen(value); result = dns_rdatatype_fromtext(&rdtype, - (isc_textregion_t *)&tr); + (isc_textregion_t *)&tr); if (result == ISC_R_SUCCESS) { if (typeset) warn("extra query type"); @@ -1450,8 +1437,7 @@ dash_option(char *option, char *next, bool *open_type_class) { warn("ignoring invalid type"); return (value_from_next); case 'x': - result = get_reverse(textname, sizeof(textname), value, - false); + result = get_reverse(textname, sizeof(textname), value, false); if (result == ISC_R_SUCCESS) { if (curqname != NULL) { isc_mem_free(mctx, curqname); @@ -1481,8 +1467,9 @@ dash_option(char *option, char *next, bool *open_type_class) { * memory debugging when setting up the memory context. */ static void -preparse_args(int argc, char **argv) { - bool ipv4only = false, ipv6only = false; +preparse_args(int argc, char **argv) +{ + bool ipv4only = false, ipv6only = false; char *option; for (argc--, argv++; argc > 0; argc--, argv++) { @@ -1495,7 +1482,7 @@ preparse_args(int argc, char **argv) { switch (option[0]) { case 'm': isc_mem_debugging = ISC_MEM_DEBUGTRACE | - ISC_MEM_DEBUGRECORD; + ISC_MEM_DEBUGRECORD; break; case '4': if (ipv6only) { @@ -1519,8 +1506,7 @@ preparse_args(int argc, char **argv) { /* Look for dash value option. */ if (strpbrk(option, dash_opts) != &option[0] || - strlen(option) > 1U) - { + strlen(option) > 1U) { /* Error or value in option. */ continue; } @@ -1543,12 +1529,13 @@ preparse_args(int argc, char **argv) { * should be familiar to dig users, however. */ static void -parse_args(int argc, char **argv) { - isc_result_t result; +parse_args(int argc, char **argv) +{ + isc_result_t result; isc_textregion_t tr; - dns_rdatatype_t rdtype; + dns_rdatatype_t rdtype; dns_rdataclass_t rdclass; - bool open_type_class = true; + bool open_type_class = true; for (; argc > 0; argc--, argv++) { if (argv[0][0] == '@') { @@ -1558,15 +1545,13 @@ parse_args(int argc, char **argv) { } else if (argv[0][0] == '-') { if (argc <= 1) { if (dash_option(&argv[0][1], NULL, - &open_type_class)) - { + &open_type_class)) { argc--; argv++; } } else { if (dash_option(&argv[0][1], argv[1], - &open_type_class)) - { + &open_type_class)) { argc--; argv++; } @@ -1578,8 +1563,8 @@ parse_args(int argc, char **argv) { if (open_type_class) { tr.base = argv[0]; tr.length = strlen(argv[0]); - result = dns_rdatatype_fromtext(&rdtype, - (isc_textregion_t *)&tr); + result = dns_rdatatype_fromtext( + &rdtype, (isc_textregion_t *)&tr); if (result == ISC_R_SUCCESS) { if (typeset) warn("extra query type"); @@ -1590,8 +1575,8 @@ parse_args(int argc, char **argv) { typeset = true; continue; } - result = dns_rdataclass_fromtext(&rdclass, - (isc_textregion_t *)&tr); + result = dns_rdataclass_fromtext( + &rdclass, (isc_textregion_t *)&tr); if (result == ISC_R_SUCCESS) { if (classset) warn("extra query class"); @@ -1625,7 +1610,8 @@ parse_args(int argc, char **argv) { } static isc_result_t -append_str(const char *text, int len, char **p, char *end) { +append_str(const char *text, int len, char **p, char *end) +{ if (len > end - *p) return (ISC_R_NOSPACE); memmove(*p, text, len); @@ -1634,9 +1620,10 @@ append_str(const char *text, int len, char **p, char *end) { } static isc_result_t -reverse_octets(const char *in, char **p, char *end) { +reverse_octets(const char *in, char **p, char *end) +{ char *dot = strchr(in, '.'); - int len; + int len; if (dot != NULL) { isc_result_t result; result = reverse_octets(dot + 1, p, end); @@ -1652,9 +1639,10 @@ reverse_octets(const char *in, char **p, char *end) { } static isc_result_t -get_reverse(char *reverse, size_t len, char *value, bool strict) { - int r; - isc_result_t result; +get_reverse(char *reverse, size_t len, char *value, bool strict) +{ + int r; + isc_result_t result; isc_netaddr_t addr; addr.family = AF_INET6; @@ -1662,8 +1650,8 @@ get_reverse(char *reverse, size_t len, char *value, bool strict) { if (r > 0) { /* This is a valid IPv6 address. */ dns_fixedname_t fname; - dns_name_t *name; - unsigned int options = 0; + dns_name_t * name; + unsigned int options = 0; name = dns_fixedname_initname(&fname); result = dns_byaddr_createptrname(&addr, options, name); @@ -1695,19 +1683,20 @@ get_reverse(char *reverse, size_t len, char *value, bool strict) { } int -main(int argc, char *argv[]) { - dns_client_t *client = NULL; - isc_result_t result; - dns_fixedname_t qfn; - dns_name_t *query_name, *response_name; - char namestr[DNS_NAME_FORMATSIZE]; - dns_rdataset_t *rdataset; - dns_namelist_t namelist; - unsigned int resopt, clopt; - isc_appctx_t *actx = NULL; - isc_taskmgr_t *taskmgr = NULL; - isc_socketmgr_t *socketmgr = NULL; - isc_timermgr_t *timermgr = NULL; +main(int argc, char *argv[]) +{ + dns_client_t * client = NULL; + isc_result_t result; + dns_fixedname_t qfn; + dns_name_t * query_name, *response_name; + char namestr[DNS_NAME_FORMATSIZE]; + dns_rdataset_t * rdataset; + dns_namelist_t namelist; + unsigned int resopt, clopt; + isc_appctx_t * actx = NULL; + isc_taskmgr_t * taskmgr = NULL; + isc_socketmgr_t * socketmgr = NULL; + isc_timermgr_t * timermgr = NULL; dns_master_style_t *style = NULL; #ifndef WIN32 struct sigaction sa; @@ -1753,7 +1742,7 @@ main(int argc, char *argv[]) { clopt, &client, srcaddr4, srcaddr6); if (result != ISC_R_SUCCESS) { delv_log(ISC_LOG_ERROR, "dns_client_create: %s", - isc_result_totext(result)); + isc_result_totext(result)); goto cleanup; } @@ -1789,7 +1778,7 @@ main(int argc, char *argv[]) { qtype, resopt, &namelist); if (result != ISC_R_SUCCESS && !yaml) { delv_log(ISC_LOG_ERROR, "resolution failed: %s", - isc_result_totext(result)); + isc_result_totext(result)); } if (yaml) { @@ -1800,8 +1789,7 @@ main(int argc, char *argv[]) { printf("records:\n"); } - for (response_name = ISC_LIST_HEAD(namelist); - response_name != NULL; + for (response_name = ISC_LIST_HEAD(namelist); response_name != NULL; response_name = ISC_LIST_NEXT(response_name, link)) { for (rdataset = ISC_LIST_HEAD(response_name->list); rdataset != NULL; diff --git a/bin/dig/dig.c b/bin/dig/dig.c index 008a67923a..ea4f7c2f6a 100644 --- a/bin/dig/dig.c +++ b/bin/dig/dig.c @@ -11,11 +11,11 @@ /*! \file */ +#include #include #include #include #include -#include #include #include @@ -26,8 +26,6 @@ #include #include -#include - #include #include #include @@ -35,61 +33,51 @@ #include #include #include +#include #include #include -#include #include #include #include +#include -#define ADD_STRING(b, s) { \ - if (strlen(s) >= isc_buffer_availablelength(b)) \ - return (ISC_R_NOSPACE); \ - else \ - isc_buffer_putstr(b, s); \ -} +#define ADD_STRING(b, s) \ + { \ + if (strlen(s) >= isc_buffer_availablelength(b)) \ + return (ISC_R_NOSPACE); \ + else \ + isc_buffer_putstr(b, s); \ + } #define DIG_MAX_ADDRESSES 20 dig_lookup_t *default_lookup = NULL; static atomic_uintptr_t batchname = ATOMIC_VAR_INIT(0); -static FILE *batchfp = NULL; -static char *argv0; -static int addresscount = 0; +static FILE * batchfp = NULL; +static char * argv0; +static int addresscount = 0; static char domainopt[DNS_NAME_MAXTEXT]; static char hexcookie[81]; -static bool short_form = false, printcmd = true, - plusquest = false, pluscomm = false, - ipv4only = false, ipv6only = false, digrc = true; +static bool short_form = false, printcmd = true, plusquest = false, + pluscomm = false, ipv4only = false, ipv6only = false, digrc = true; static uint32_t splitwidth = 0xffffffff; /*% opcode text */ -static const char * const opcodetext[] = { - "QUERY", - "IQUERY", - "STATUS", - "RESERVED3", - "NOTIFY", - "UPDATE", - "RESERVED6", - "RESERVED7", - "RESERVED8", - "RESERVED9", - "RESERVED10", - "RESERVED11", - "RESERVED12", - "RESERVED13", - "RESERVED14", - "RESERVED15" +static const char *const opcodetext[] = { + "QUERY", "IQUERY", "STATUS", "RESERVED3", + "NOTIFY", "UPDATE", "RESERVED6", "RESERVED7", + "RESERVED8", "RESERVED9", "RESERVED10", "RESERVED11", + "RESERVED12", "RESERVED13", "RESERVED14", "RESERVED15" }; static const char * -rcode_totext(dns_rcode_t rcode) { - static char buf[64]; +rcode_totext(dns_rcode_t rcode) +{ + static char buf[64]; isc_buffer_t b; isc_result_t result; @@ -99,22 +87,26 @@ rcode_totext(dns_rcode_t rcode) { RUNTIME_CHECK(result == ISC_R_SUCCESS); if (strspn(buf + 1, "0123456789") == strlen(buf + 1)) { buf[0] = '?'; - return(buf); + return (buf); } return (buf + 1); } /*% print usage */ static void -print_usage(FILE *fp) { - fputs( -"Usage: dig [@global-server] [domain] [q-type] [q-class] {q-opt}\n" -" {global-d-opt} host [@local-server] {local-d-opt}\n" -" [ host [@local-server] {local-d-opt} [...]]\n", fp); +print_usage(FILE *fp) +{ + fputs("Usage: dig [@global-server] [domain] [q-type] [q-class] " + "{q-opt}\n" + " {global-d-opt} host [@local-server] {local-d-opt}\n" + " [ host [@local-server] {local-d-opt} [...]]\n", + fp); } #if TARGET_OS_IPHONE -static void usage(void) { +static void +usage(void) +{ fprintf(stderr, "Press for complete list of options\n"); } #else @@ -122,139 +114,211 @@ ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { +usage(void) +{ print_usage(stderr); fputs("\nUse \"dig -h\" (or \"dig -h | more\") " - "for complete list of options\n", stderr); + "for complete list of options\n", + stderr); exit(1); } #endif /*% version */ static void -version(void) { +version(void) +{ fputs("DiG " VERSION "\n", stderr); } /*% help */ static void -help(void) { +help(void) +{ print_usage(stdout); - fputs( -"Where: domain is in the Domain Name System\n" -" q-class is one of (in,hs,ch,...) [default: in]\n" -" q-type is one of (a,any,mx,ns,soa,hinfo,axfr,txt,...) [default:a]\n" -" (Use ixfr=version for type ixfr)\n" -" q-opt is one of:\n" -" -4 (use IPv4 query transport only)\n" -" -6 (use IPv6 query transport only)\n" -" -b address[#port] (bind to source address/port)\n" -" -c class (specify query class)\n" -" -f filename (batch mode)\n" -" -k keyfile (specify tsig key file)\n" -" -m (enable memory usage debugging)\n" -" -p port (specify port number)\n" -" -q name (specify query name)\n" -" -r (do not read ~/.digrc)\n" -" -t type (specify query type)\n" -" -u (display times in usec instead of msec)\n" -" -x dot-notation (shortcut for reverse lookups)\n" -" -y [hmac:]name:key (specify named base64 tsig key)\n" -" d-opt is of the form +keyword[=value], where keyword is:\n" -" +[no]aaflag (Set AA flag in query (+[no]aaflag))\n" -" +[no]aaonly (Set AA flag in query (+[no]aaflag))\n" -" +[no]additional (Control display of additional section)\n" -" +[no]adflag (Set AD flag in query (default on))\n" -" +[no]all (Set or clear all display flags)\n" -" +[no]answer (Control display of answer section)\n" -" +[no]authority (Control display of authority section)\n" -" +[no]badcookie (Retry BADCOOKIE responses)\n" -" +[no]besteffort (Try to parse even illegal messages)\n" -" +bufsize=### (Set EDNS0 Max UDP packet size)\n" -" +[no]cdflag (Set checking disabled flag in query)\n" -" +[no]class (Control display of class in records)\n" -" +[no]cmd (Control display of command line -\n" -" global option)\n" -" +[no]comments (Control display of packet header\n" -" and section name comments)\n" -" +[no]cookie (Add a COOKIE option to the request)\n" -" +[no]crypto (Control display of cryptographic\n" -" fields in records)\n" -" +[no]defname (Use search list (+[no]search))\n" -" +[no]dnssec (Request DNSSEC records)\n" -" +domain=### (Set default domainname)\n" -" +[no]dscp[=###] (Set the DSCP value to ### [0..63])\n" -" +[no]edns[=###] (Set EDNS version) [0]\n" -" +ednsflags=### (Set EDNS flag bits)\n" -" +[no]ednsnegotiation (Set EDNS version negotiation)\n" -" +ednsopt=###[:value] (Send specified EDNS option)\n" -" +noednsopt (Clear list of +ednsopt options)\n" -" +[no]expandaaaa (Expand AAAA records)\n" -" +[no]expire (Request time to expire)\n" -" +[no]fail (Don't try next server on SERVFAIL)\n" -" +[no]header-only (Send query without a question section)\n" -" +[no]identify (ID responders in short answers)\n" + fputs("Where: domain is in the Domain Name System\n" + " q-class is one of (in,hs,ch,...) [default: in]\n" + " q-type is one of (a,any,mx,ns,soa,hinfo,axfr,txt,...) " + "[default:a]\n" + " (Use ixfr=version for type ixfr)\n" + " q-opt is one of:\n" + " -4 (use IPv4 query transport " + "only)\n" + " -6 (use IPv6 query transport " + "only)\n" + " -b address[#port] (bind to source " + "address/port)\n" + " -c class (specify query class)\n" + " -f filename (batch mode)\n" + " -k keyfile (specify tsig key file)\n" + " -m (enable memory usage " + "debugging)\n" + " -p port (specify port number)\n" + " -q name (specify query name)\n" + " -r (do not read ~/.digrc)\n" + " -t type (specify query type)\n" + " -u (display times in usec " + "instead of msec)\n" + " -x dot-notation (shortcut for reverse " + "lookups)\n" + " -y [hmac:]name:key (specify named base64 tsig " + "key)\n" + " d-opt is of the form +keyword[=value], where keyword " + "is:\n" + " +[no]aaflag (Set AA flag in query " + "(+[no]aaflag))\n" + " +[no]aaonly (Set AA flag in query " + "(+[no]aaflag))\n" + " +[no]additional (Control display of " + "additional section)\n" + " +[no]adflag (Set AD flag in query " + "(default on))\n" + " +[no]all (Set or clear all display " + "flags)\n" + " +[no]answer (Control display of answer " + "section)\n" + " +[no]authority (Control display of " + "authority section)\n" + " +[no]badcookie (Retry BADCOOKIE " + "responses)\n" + " +[no]besteffort (Try to parse even illegal " + "messages)\n" + " +bufsize=### (Set EDNS0 Max UDP packet " + "size)\n" + " +[no]cdflag (Set checking disabled " + "flag in query)\n" + " +[no]class (Control display of class " + "in records)\n" + " +[no]cmd (Control display of " + "command line -\n" + " global option)\n" + " +[no]comments (Control display of packet " + "header\n" + " and section name " + "comments)\n" + " +[no]cookie (Add a COOKIE option to " + "the request)\n" + " +[no]crypto (Control display of " + "cryptographic\n" + " fields in records)\n" + " +[no]defname (Use search list " + "(+[no]search))\n" + " +[no]dnssec (Request DNSSEC records)\n" + " +domain=### (Set default domainname)\n" + " +[no]dscp[=###] (Set the DSCP value to ### " + "[0..63])\n" + " +[no]edns[=###] (Set EDNS version) [0]\n" + " +ednsflags=### (Set EDNS flag bits)\n" + " +[no]ednsnegotiation (Set EDNS version " + "negotiation)\n" + " +ednsopt=###[:value] (Send specified EDNS " + "option)\n" + " +noednsopt (Clear list of +ednsopt " + "options)\n" + " +[no]expandaaaa (Expand AAAA records)\n" + " +[no]expire (Request time to expire)\n" + " +[no]fail (Don't try next server on " + "SERVFAIL)\n" + " +[no]header-only (Send query without a " + "question section)\n" + " +[no]identify (ID responders in short " + "answers)\n" #ifdef HAVE_LIBIDN2 -" +[no]idnin (Parse IDN names [default=on on tty])\n" -" +[no]idnout (Convert IDN response " - "[default=on on tty])\n" + " +[no]idnin (Parse IDN names " + "[default=on on tty])\n" + " +[no]idnout (Convert IDN response " + "[default=on on tty])\n" #endif -" +[no]ignore (Don't revert to TCP for TC responses.)\n" -" +[no]keepalive (Request EDNS TCP keepalive)\n" -" +[no]keepopen (Keep the TCP socket open between " - "queries)\n" -" +[no]mapped (Allow mapped IPv4 over IPv6)\n" -" +[no]multiline (Print records in an expanded format)\n" -" +ndots=### (Set search NDOTS value)\n" -" +[no]nsid (Request Name Server ID)\n" -" +[no]nssearch (Search all authoritative nameservers)\n" -" +[no]onesoa (AXFR prints only one soa record)\n" -" +[no]opcode=### (Set the opcode of the request)\n" -" +padding=### (Set padding block size [0])\n" -" +[no]qr (Print question before sending)\n" -" +[no]question (Control display of question section)\n" -" +[no]raflag (Set RA flag in query (+[no]raflag))\n" -" +[no]rdflag (Recursive mode (+[no]recurse))\n" -" +[no]recurse (Recursive mode (+[no]rdflag))\n" -" +retry=### (Set number of UDP retries) [2]\n" -" +[no]rrcomments (Control display of per-record " - "comments)\n" -" +[no]search (Set whether to use searchlist)\n" -" +[no]short (Display nothing except short\n" -" form of answers - global option)\n" -" +[no]showsearch (Search with intermediate results)\n" -" +[no]split=## (Split hex/base64 fields into chunks)\n" -" +[no]stats (Control display of statistics)\n" -" +subnet=addr (Set edns-client-subnet option)\n" -" +[no]tcflag (Set TC flag in query (+[no]tcflag))\n" -" +[no]tcp (TCP mode (+[no]vc))\n" -" +timeout=### (Set query timeout) [5]\n" -" +[no]trace (Trace delegation down from root " - "[+dnssec])\n" -" +tries=### (Set number of UDP attempts) [3]\n" -" +[no]ttlid (Control display of ttls in records)\n" -" +[no]ttlunits (Display TTLs in human-readable units)\n" -" +[no]unexpected (Print replies from unexpected sources\n" -" default=off)\n" -" +[no]unknownformat (Print RDATA in RFC 3597 \"unknown\" " - "format)\n" -" +[no]vc (TCP mode (+[no]tcp))\n" -" +[no]yaml (Present the results as YAML)\n" -" +[no]zflag (Set Z flag in query)\n" -" global d-opts and servers (before host name) affect all queries.\n" -" local d-opts and servers (after host name) affect only that lookup.\n" -" -h (print help and exit)\n" -" -v (print version and exit)\n", - stdout); + " +[no]ignore (Don't revert to TCP for " + "TC responses.)\n" + " +[no]keepalive (Request EDNS TCP " + "keepalive)\n" + " +[no]keepopen (Keep the TCP socket open " + "between " + "queries)\n" + " +[no]mapped (Allow mapped IPv4 over " + "IPv6)\n" + " +[no]multiline (Print records in an " + "expanded format)\n" + " +ndots=### (Set search NDOTS value)\n" + " +[no]nsid (Request Name Server ID)\n" + " +[no]nssearch (Search all authoritative " + "nameservers)\n" + " +[no]onesoa (AXFR prints only one soa " + "record)\n" + " +[no]opcode=### (Set the opcode of the " + "request)\n" + " +padding=### (Set padding block size " + "[0])\n" + " +[no]qr (Print question before " + "sending)\n" + " +[no]question (Control display of " + "question section)\n" + " +[no]raflag (Set RA flag in query " + "(+[no]raflag))\n" + " +[no]rdflag (Recursive mode " + "(+[no]recurse))\n" + " +[no]recurse (Recursive mode " + "(+[no]rdflag))\n" + " +retry=### (Set number of UDP " + "retries) [2]\n" + " +[no]rrcomments (Control display of " + "per-record " + "comments)\n" + " +[no]search (Set whether to use " + "searchlist)\n" + " +[no]short (Display nothing except " + "short\n" + " form of answers - global " + "option)\n" + " +[no]showsearch (Search with intermediate " + "results)\n" + " +[no]split=## (Split hex/base64 fields " + "into chunks)\n" + " +[no]stats (Control display of " + "statistics)\n" + " +subnet=addr (Set edns-client-subnet " + "option)\n" + " +[no]tcflag (Set TC flag in query " + "(+[no]tcflag))\n" + " +[no]tcp (TCP mode (+[no]vc))\n" + " +timeout=### (Set query timeout) [5]\n" + " +[no]trace (Trace delegation down " + "from root " + "[+dnssec])\n" + " +tries=### (Set number of UDP " + "attempts) [3]\n" + " +[no]ttlid (Control display of ttls " + "in records)\n" + " +[no]ttlunits (Display TTLs in " + "human-readable units)\n" + " +[no]unexpected (Print replies from " + "unexpected sources\n" + " default=off)\n" + " +[no]unknownformat (Print RDATA in RFC 3597 " + "\"unknown\" " + "format)\n" + " +[no]vc (TCP mode (+[no]tcp))\n" + " +[no]yaml (Present the results as " + "YAML)\n" + " +[no]zflag (Set Z flag in query)\n" + " global d-opts and servers (before host name) affect all " + "queries.\n" + " local d-opts and servers (after host name) affect only " + "that lookup.\n" + " -h (print help and exit)\n" + " -v (print version and exit)\n", + stdout); } /*% * Callback from dighost.c to print the received message. */ static void -received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) { - uint64_t diff; - time_t tnow; +received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) +{ + uint64_t diff; + time_t tnow; struct tm tmnow; #ifdef WIN32 wchar_t time_str[100]; @@ -272,15 +336,15 @@ received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) { if (query->lookup->stats) { diff = isc_time_microdiff(&query->time_recv, &query->time_sent); if (query->lookup->use_usec) - printf(";; Query time: %ld usec\n", (long) diff); + printf(";; Query time: %ld usec\n", (long)diff); else - printf(";; Query time: %ld msec\n", (long) diff / 1000); + printf(";; Query time: %ld msec\n", (long)diff / 1000); printf(";; SERVER: %s(%s)\n", fromtext, query->servname); time(&tnow); #if !defined(WIN32) (void)localtime_r(&tnow, &tmnow); #else - tmnow = *localtime(&tnow); + tmnow = *localtime(&tnow); #endif #ifdef WIN32 @@ -288,15 +352,13 @@ received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) { * On Windows, time zone name ("%Z") may be a localized * wide-character string, which strftime() handles incorrectly. */ - if (wcsftime(time_str, sizeof(time_str)/sizeof(time_str[0]), - L"%a %b %d %H:%M:%S %Z %Y", &tmnow) > 0U) - { + if (wcsftime(time_str, sizeof(time_str) / sizeof(time_str[0]), + L"%a %b %d %H:%M:%S %Z %Y", &tmnow) > 0U) { printf(";; WHEN: %ls\n", time_str); } #else if (strftime(time_str, sizeof(time_str), - "%a %b %d %H:%M:%S %Z %Y", &tmnow) > 0U) - { + "%a %b %d %H:%M:%S %Z %Y", &tmnow) > 0U) { printf(";; WHEN: %s\n", time_str); } #endif @@ -323,17 +385,15 @@ received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) { if (query->lookup->use_usec) { printf(";; Received %" PRIu64 " bytes " "from %s(%s) in %ld us\n\n", - query->lookup->doing_xfr - ? query->byte_count - : (uint64_t)bytes, - fromtext, query->userarg, (long) diff); + query->lookup->doing_xfr ? query->byte_count + : (uint64_t)bytes, + fromtext, query->userarg, (long)diff); } else { printf(";; Received %" PRIu64 " bytes " "from %s(%s) in %ld ms\n\n", - query->lookup->doing_xfr - ? query->byte_count - : (uint64_t)bytes, - fromtext, query->userarg, (long) diff / 1000); + query->lookup->doing_xfr ? query->byte_count + : (uint64_t)bytes, + fromtext, query->userarg, (long)diff / 1000); } } } @@ -344,7 +404,8 @@ received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) { * XXX print_trying */ static void -trying(char *frm, dig_lookup_t *lookup) { +trying(char *frm, dig_lookup_t *lookup) +{ UNUSED(frm); UNUSED(lookup); } @@ -353,10 +414,11 @@ trying(char *frm, dig_lookup_t *lookup) { * Internal print routine used to print short form replies. */ static isc_result_t -say_message(dns_rdata_t *rdata, dig_query_t *query, isc_buffer_t *buf) { +say_message(dns_rdata_t *rdata, dig_query_t *query, isc_buffer_t *buf) +{ isc_result_t result; - uint64_t diff; - char store[sizeof(" in 18446744073709551616 us.")]; + uint64_t diff; + char store[sizeof(" in 18446744073709551616 us.")]; unsigned int styleflags = 0; if (query->lookup->trace || query->lookup->ns_search_only) { @@ -375,8 +437,8 @@ say_message(dns_rdata_t *rdata, dig_query_t *query, isc_buffer_t *buf) { styleflags |= DNS_STYLEFLAG_UNKNOWNFORMAT; if (query->lookup->expandaaaa) styleflags |= DNS_STYLEFLAG_EXPANDAAAA; - result = dns_rdata_tofmttext(rdata, NULL, styleflags, 0, - splitwidth, " ", buf); + result = dns_rdata_tofmttext(rdata, NULL, styleflags, 0, splitwidth, + " ", buf); if (result == ISC_R_NOSPACE) { return (result); } @@ -386,11 +448,11 @@ say_message(dns_rdata_t *rdata, dig_query_t *query, isc_buffer_t *buf) { ADD_STRING(buf, " from server "); ADD_STRING(buf, query->servname); if (query->lookup->use_usec) { - snprintf(store, sizeof(store), - " in %" PRIu64 " us.", diff); + snprintf(store, sizeof(store), " in %" PRIu64 " us.", + diff); } else { - snprintf(store, sizeof(store), - " in %" PRIu64 " ms.", diff / 1000); + snprintf(store, sizeof(store), " in %" PRIu64 " ms.", + diff / 1000); } ADD_STRING(buf, store); } @@ -402,14 +464,14 @@ say_message(dns_rdata_t *rdata, dig_query_t *query, isc_buffer_t *buf) { * short_form message print handler. Calls above say_message() */ static isc_result_t -short_answer(dns_message_t *msg, dns_messagetextflag_t flags, - isc_buffer_t *buf, dig_query_t *query) +short_answer(dns_message_t *msg, dns_messagetextflag_t flags, isc_buffer_t *buf, + dig_query_t *query) { - dns_name_t *name; + dns_name_t * name; dns_rdataset_t *rdataset; - isc_result_t result, loopresult; - dns_name_t empty_name; - dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result, loopresult; + dns_name_t empty_name; + dns_rdata_t rdata = DNS_RDATA_INIT; UNUSED(flags); @@ -424,8 +486,7 @@ short_answer(dns_message_t *msg, dns_messagetextflag_t flags, name = NULL; dns_message_currentname(msg, DNS_SECTION_ANSWER, &name); - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { loopresult = dns_rdataset_first(rdataset); while (loopresult == ISC_R_SUCCESS) { @@ -449,17 +510,17 @@ short_answer(dns_message_t *msg, dns_messagetextflag_t flags, } static bool -isdotlocal(dns_message_t *msg) { - isc_result_t result; +isdotlocal(dns_message_t *msg) +{ + isc_result_t result; static unsigned char local_ndata[] = { "\005local\0" }; static unsigned char local_offsets[] = { 0, 6 }; - static dns_name_t local = + static dns_name_t local = DNS_NAME_INITABSOLUTE(local_ndata, local_offsets); for (result = dns_message_firstname(msg, DNS_SECTION_QUESTION); result == ISC_R_SUCCESS; - result = dns_message_nextname(msg, DNS_SECTION_QUESTION)) - { + result = dns_message_nextname(msg, DNS_SECTION_QUESTION)) { dns_name_t *name = NULL; dns_message_currentname(msg, DNS_SECTION_QUESTION, &name); if (dns_name_issubdomain(name, &local)) @@ -472,16 +533,16 @@ isdotlocal(dns_message_t *msg) { * Callback from dighost.c to print the reply from a server */ static isc_result_t -printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, - dns_message_t *msg, bool headers) +printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, dns_message_t *msg, + bool headers) { - isc_result_t result; + isc_result_t result; dns_messagetextflag_t flags; - isc_buffer_t *buf = NULL; - unsigned int len = OUTPUTBUF; - dns_master_style_t *style = NULL; - unsigned int styleflags = 0; - bool isquery = (msg == query->lookup->sendmsg); + isc_buffer_t * buf = NULL; + unsigned int len = OUTPUTBUF; + dns_master_style_t * style = NULL; + unsigned int styleflags = 0; + bool isquery = (msg == query->lookup->sendmsg); UNUSED(msgbuf); @@ -530,19 +591,15 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, } } if (query->lookup->multiline || - (query->lookup->nottl && query->lookup->noclass)) - { - result = dns_master_stylecreate(&style, styleflags, - 24, 24, 24, 32, 80, 8, - splitwidth, mctx); + (query->lookup->nottl && query->lookup->noclass)) { + result = dns_master_stylecreate(&style, styleflags, 24, 24, 24, + 32, 80, 8, splitwidth, mctx); } else if (query->lookup->nottl || query->lookup->noclass) { - result = dns_master_stylecreate(&style, styleflags, - 24, 24, 32, 40, 80, 8, - splitwidth, mctx); + result = dns_master_stylecreate(&style, styleflags, 24, 24, 32, + 40, 80, 8, splitwidth, mctx); } else { - result = dns_master_stylecreate(&style, styleflags, - 24, 32, 40, 48, 80, 8, - splitwidth, mctx); + result = dns_master_stylecreate(&style, styleflags, 24, 32, 40, + 48, 80, 8, splitwidth, mctx); } check_result(result, "dns_master_stylecreate"); @@ -563,8 +620,8 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, } if (query->lookup->onesoa && query->lookup->rdtype == dns_rdatatype_axfr) - flags |= (query->msg_count == 0) ? DNS_MESSAGETEXTFLAG_ONESOA : - DNS_MESSAGETEXTFLAG_OMITSOA; + flags |= (query->msg_count == 0) ? DNS_MESSAGETEXTFLAG_ONESOA + : DNS_MESSAGETEXTFLAG_OMITSOA; if (!query->lookup->comments) flags |= DNS_MESSAGETEXTFLAG_NOCOMMENTS; @@ -572,12 +629,12 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, if (yaml) { enum { Q = 0x1, R = 0x2 }; /* Q:query; R:ecursive */ - unsigned int tflag = 0; + unsigned int tflag = 0; isc_sockaddr_t saddr; - char sockstr[ISC_SOCKADDR_FORMATSIZE]; - uint16_t sport; - char *hash; - int pf; + char sockstr[ISC_SOCKADDR_FORMATSIZE]; + uint16_t sport; + char * hash; + int pf; printf("-\n"); printf(" type: MESSAGE\n"); @@ -589,12 +646,11 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, tflag |= R; } } else if (((msg->flags & DNS_MESSAGEFLAG_RD) != 0) && - ((msg->flags & DNS_MESSAGEFLAG_RA) != 0)) - { + ((msg->flags & DNS_MESSAGEFLAG_RA) != 0)) { tflag |= R; } - if (tflag == (Q|R)) { + if (tflag == (Q | R)) { printf(" type: RECURSIVE_QUERY\n"); } else if (tflag == Q) { printf(" type: AUTH_QUERY\n"); @@ -606,15 +662,15 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, if (!isc_time_isepoch(&query->time_sent)) { char tbuf[100]; - isc_time_formatISO8601ms(&query->time_sent, - tbuf, sizeof(tbuf)); + isc_time_formatISO8601ms(&query->time_sent, tbuf, + sizeof(tbuf)); printf(" query_time: !!timestamp %s\n", tbuf); } if (!isquery && !isc_time_isepoch(&query->time_recv)) { char tbuf[100]; - isc_time_formatISO8601ms(&query->time_recv, - tbuf, sizeof(tbuf)); + isc_time_formatISO8601ms(&query->time_recv, tbuf, + sizeof(tbuf)); printf(" response_time: !!timestamp %s\n", tbuf); } @@ -630,8 +686,8 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, query->lookup->tcp_mode ? "TCP" : "UDP"); sport = isc_sockaddr_getport(&query->sockaddr); - isc_sockaddr_format(&query->sockaddr, - sockstr, sizeof(sockstr)); + isc_sockaddr_format(&query->sockaddr, sockstr, + sizeof(sockstr)); hash = strchr(sockstr, '#'); if (hash != NULL) { *hash = '\0'; @@ -645,9 +701,8 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, } if (query->sock != NULL && - isc_socket_getsockname(query->sock, &saddr) - == ISC_R_SUCCESS) - { + isc_socket_getsockname(query->sock, &saddr) == + ISC_R_SUCCESS) { sport = isc_sockaddr_getport(&saddr); isc_sockaddr_format(&saddr, sockstr, sizeof(sockstr)); hash = strchr(sockstr, '#'); @@ -685,8 +740,7 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, printf(";; ->>HEADER<<- opcode: %s, status: %s, " "id: %u\n", opcodetext[msg->opcode], - rcode_totext(msg->rcode), - msg->id); + rcode_totext(msg->rcode), msg->id); printf(";; flags:"); if ((msg->flags & DNS_MESSAGEFLAG_QR) != 0) printf(" qr"); @@ -725,34 +779,32 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, printf("\n;; WARNING: EDNS query returned status " "%s - retry with '%s+noedns'\n", rcode_totext(msg->rcode), - query->lookup->dnssec ? "+nodnssec ": ""); + query->lookup->dnssec ? "+nodnssec " : ""); if (msg != query->lookup->sendmsg && extrabytes != 0U) printf(";; WARNING: Message has %u extra byte%s at " - "end\n", extrabytes, extrabytes != 0 ? "s" : ""); + "end\n", + extrabytes, extrabytes != 0 ? "s" : ""); } repopulate_buffer: if (query->lookup->comments && headers && !short_form) { - result = dns_message_pseudosectiontotext(msg, - DNS_PSEUDOSECTION_OPT, - style, flags, buf); + result = dns_message_pseudosectiontotext( + msg, DNS_PSEUDOSECTION_OPT, style, flags, buf); if (result == ISC_R_NOSPACE) { -buftoosmall: + buftoosmall: len += OUTPUTBUF; isc_buffer_free(&buf); isc_buffer_allocate(mctx, &buf, len); goto repopulate_buffer; } - check_result(result, - "dns_message_pseudosectiontotext"); + check_result(result, "dns_message_pseudosectiontotext"); } if (query->lookup->section_question && headers) { if (!short_form) { - result = dns_message_sectiontotext(msg, - DNS_SECTION_QUESTION, - style, flags, buf); + result = dns_message_sectiontotext( + msg, DNS_SECTION_QUESTION, style, flags, buf); if (result == ISC_R_NOSPACE) goto buftoosmall; check_result(result, "dns_message_sectiontotext"); @@ -760,9 +812,8 @@ buftoosmall: } if (query->lookup->section_answer) { if (!short_form) { - result = dns_message_sectiontotext(msg, - DNS_SECTION_ANSWER, - style, flags, buf); + result = dns_message_sectiontotext( + msg, DNS_SECTION_ANSWER, style, flags, buf); if (result == ISC_R_NOSPACE) goto buftoosmall; check_result(result, "dns_message_sectiontotext"); @@ -775,9 +826,8 @@ buftoosmall: } if (query->lookup->section_authority) { if (!short_form) { - result = dns_message_sectiontotext(msg, - DNS_SECTION_AUTHORITY, - style, flags, buf); + result = dns_message_sectiontotext( + msg, DNS_SECTION_AUTHORITY, style, flags, buf); if (result == ISC_R_NOSPACE) goto buftoosmall; check_result(result, "dns_message_sectiontotext"); @@ -785,9 +835,8 @@ buftoosmall: } if (query->lookup->section_additional) { if (!short_form) { - result = dns_message_sectiontotext(msg, - DNS_SECTION_ADDITIONAL, - style, flags, buf); + result = dns_message_sectiontotext( + msg, DNS_SECTION_ADDITIONAL, style, flags, buf); if (result == ISC_R_NOSPACE) goto buftoosmall; check_result(result, "dns_message_sectiontotext"); @@ -796,21 +845,19 @@ buftoosmall: */ if (headers) { result = dns_message_pseudosectiontotext( - msg, - DNS_PSEUDOSECTION_TSIG, - style, flags, buf); + msg, DNS_PSEUDOSECTION_TSIG, style, + flags, buf); if (result == ISC_R_NOSPACE) goto buftoosmall; - check_result(result, - "dns_message_pseudosectiontotext"); + check_result(result, "dns_message_" + "pseudosectiontotext"); result = dns_message_pseudosectiontotext( - msg, - DNS_PSEUDOSECTION_SIG0, - style, flags, buf); + msg, DNS_PSEUDOSECTION_SIG0, style, + flags, buf); if (result == ISC_R_NOSPACE) goto buftoosmall; - check_result(result, - "dns_message_pseudosectiontotext"); + check_result(result, "dns_message_" + "pseudosectiontotext"); } } } @@ -832,15 +879,15 @@ buftoosmall: * print the greeting message when the program first starts up. */ static void -printgreeting(int argc, char **argv, dig_lookup_t *lookup) { - int i; +printgreeting(int argc, char **argv, dig_lookup_t *lookup) +{ + int i; static bool first = true; - char append[MXNAME]; + char append[MXNAME]; if (printcmd) { snprintf(lookup->cmdline, sizeof(lookup->cmdline), - "%s; <<>> DiG " VERSION " <<>>", - first?"\n":""); + "%s; <<>> DiG " VERSION " <<>>", first ? "\n" : ""); i = 1; while (i < argc) { snprintf(append, sizeof(append), " %s", argv[i++]); @@ -850,8 +897,7 @@ printgreeting(int argc, char **argv, dig_lookup_t *lookup) { strlcat(lookup->cmdline, "\n", sizeof(lookup->cmdline)); if (first && addresscount != 0) { snprintf(append, sizeof(append), - "; (%d server%s found)\n", - addresscount, + "; (%d server%s found)\n", addresscount, addresscount > 1 ? "s" : ""); strlcat(lookup->cmdline, append, sizeof(lookup->cmdline)); @@ -876,14 +922,13 @@ printgreeting(int argc, char **argv, dig_lookup_t *lookup) { */ static void -plus_option(char *option, bool is_batchfile, - dig_lookup_t *lookup) +plus_option(char *option, bool is_batchfile, dig_lookup_t *lookup) { isc_result_t result; - char *cmd, *value, *last = NULL, *code, *extra; - uint32_t num; - bool state = true; - size_t n; + char * cmd, *value, *last = NULL, *code, *extra; + uint32_t num; + bool state = true; + size_t n; INSIST(option != NULL); @@ -891,25 +936,25 @@ plus_option(char *option, bool is_batchfile, printf(";; Invalid option %s\n", option); return; } - if (strncasecmp(cmd, "no", 2)==0) { + if (strncasecmp(cmd, "no", 2) == 0) { cmd += 2; state = false; } /* parse the rest of the string */ value = strtok_r(NULL, "", &last); -#define FULLCHECK(A) \ - do { \ - size_t _l = strlen(cmd); \ +#define FULLCHECK(A) \ + do { \ + size_t _l = strlen(cmd); \ if (_l >= sizeof(A) || strncasecmp(cmd, A, _l) != 0) \ - goto invalid_option; \ + goto invalid_option; \ } while (0) -#define FULLCHECK2(A, B) \ - do { \ - size_t _l = strlen(cmd); \ +#define FULLCHECK2(A, B) \ + do { \ + size_t _l = strlen(cmd); \ if ((_l >= sizeof(A) || strncasecmp(cmd, A, _l) != 0) && \ - (_l >= sizeof(B) || strncasecmp(cmd, B, _l) != 0)) \ - goto invalid_option; \ + (_l >= sizeof(B) || strncasecmp(cmd, B, _l) != 0)) \ + goto invalid_option; \ } while (0) switch (cmd[0]) { @@ -925,7 +970,7 @@ plus_option(char *option, bool is_batchfile, FULLCHECK("additional"); lookup->section_additional = state; break; - case 'f': /* adflag */ + case 'f': /* adflag */ case '\0': /* +ad is a synonym for +adflag */ FULLCHECK("adflag"); lookup->adflag = state; @@ -958,15 +1003,15 @@ plus_option(char *option, bool is_batchfile, break; case 'b': switch (cmd[1]) { - case 'a':/* badcookie */ + case 'a': /* badcookie */ FULLCHECK("badcookie"); lookup->badcookie = state; break; - case 'e':/* besteffort */ + case 'e': /* besteffort */ FULLCHECK("besteffort"); lookup->besteffort = state; break; - case 'u':/* bufsize */ + case 'u': /* bufsize */ FULLCHECK("bufsize"); if (value == NULL) goto need_value; @@ -986,9 +1031,9 @@ plus_option(char *option, bool is_batchfile, break; case 'c': switch (cmd[1]) { - case 'd':/* cdflag */ + case 'd': /* cdflag */ switch (cmd[2]) { - case 'f': /* cdflag */ + case 'f': /* cdflag */ case '\0': /* +cd is a synonym for +cdflag */ FULLCHECK("cdflag"); lookup->cdflag = state; @@ -1052,7 +1097,7 @@ plus_option(char *option, bool is_batchfile, break; case 'n': /* dnssec */ FULLCHECK("dnssec"); - dnssec: + dnssec: if (state && lookup->edns == -1) lookup->edns = 0; lookup->dnssec = state; @@ -1089,7 +1134,7 @@ plus_option(char *option, bool is_batchfile, case 'e': switch (cmd[1]) { case 'd': - switch(cmd[2]) { + switch (cmd[2]) { case 'n': switch (cmd[3]) { case 's': @@ -1104,13 +1149,12 @@ plus_option(char *option, bool is_batchfile, lookup->edns = 0; break; } - result = parse_uint(&num, - value, + result = parse_uint(&num, value, 255, "edns"); if (result != ISC_R_SUCCESS) { warn("Couldn't parse " - "edns"); + "edns"); goto exit_or_usage; } lookup->edns = num; @@ -1125,13 +1169,13 @@ plus_option(char *option, bool is_batchfile, lookup->ednsflags = 0; break; } - result = parse_xint(&num, - value, + result = parse_xint(&num, value, 0xffff, - "ednsflags"); + "ednsflag" + "s"); if (result != ISC_R_SUCCESS) { warn("Couldn't parse " - "ednsflags"); + "ednsflags"); goto exit_or_usage; } lookup->ednsflags = num; @@ -1177,7 +1221,7 @@ plus_option(char *option, bool is_batchfile, case 'x': switch (cmd[2]) { case 'p': - switch(cmd[3]) { + switch (cmd[3]) { case 'a': FULLCHECK("expandaaaa"); lookup->expandaaaa = state; @@ -1220,16 +1264,16 @@ plus_option(char *option, bool is_batchfile, FULLCHECK("idnin"); #ifndef HAVE_LIBIDN2 fprintf(stderr, ";; IDN input support" - " not enabled\n"); + " not enabled\n"); #else lookup->idnin = state; #endif - break; + break; case 'o': FULLCHECK("idnout"); #ifndef HAVE_LIBIDN2 fprintf(stderr, ";; IDN output support" - " not enabled\n"); + " not enabled\n"); #else lookup->idnout = state; #endif @@ -1243,9 +1287,9 @@ plus_option(char *option, bool is_batchfile, } break; case 'g': /* ignore */ - default: /* - * Inherits default for compatibility (+[no]i*). - */ + default: /* + * Inherits default for compatibility (+[no]i*). + */ FULLCHECK("ignore"); lookup->ignore = state; } @@ -1354,13 +1398,13 @@ plus_option(char *option, bool is_batchfile, case 'p': FULLCHECK("opcode"); if (!state) { - lookup->opcode = 0; /* default - query */ + lookup->opcode = 0; /* default - query */ break; } if (value == NULL) goto need_value; for (num = 0; - num < sizeof(opcodetext)/sizeof(opcodetext[0]); + num < sizeof(opcodetext) / sizeof(opcodetext[0]); num++) { if (strcasecmp(opcodetext[num], value) == 0) break; @@ -1502,13 +1546,14 @@ plus_option(char *option, bool is_batchfile, } else if (value == NULL) break; - result = parse_uint(&splitwidth, value, - 1023, "split"); + result = parse_uint(&splitwidth, value, 1023, "split"); if ((splitwidth % 4) != 0U) { splitwidth = ((splitwidth + 3) / 4) * 4; - fprintf(stderr, ";; Warning, split must be " - "a multiple of 4; adjusting " - "to %u\n", splitwidth); + fprintf(stderr, + ";; Warning, split must be " + "a multiple of 4; adjusting " + "to %u\n", + splitwidth); } /* * There is an adjustment done in the @@ -1631,7 +1676,7 @@ plus_option(char *option, bool is_batchfile, case 'u': /* trusted-key */ FULLCHECK("trusted-key"); fprintf(stderr, ";; +trusted-key option is " - "deprecated"); + "deprecated"); break; default: goto invalid_option; @@ -1710,14 +1755,13 @@ plus_option(char *option, bool is_batchfile, #if TARGET_OS_IPHONE exit_or_usage: #endif - fprintf(stderr, "Invalid option: +%s\n", - option); + fprintf(stderr, "Invalid option: +%s\n", option); usage(); } return; -#if ! TARGET_OS_IPHONE - exit_or_usage: +#if !TARGET_OS_IPHONE +exit_or_usage: digexit(); #endif } @@ -1729,22 +1773,21 @@ static const char *single_dash_opts = "46dhimnruv"; static const char *dash_opts = "46bcdfhikmnpqrtvyx"; static bool dash_option(char *option, char *next, dig_lookup_t **lookup, - bool *open_type_class, bool *need_clone, - bool config_only, int argc, char **argv, - bool *firstarg) + bool *open_type_class, bool *need_clone, bool config_only, int argc, + char **argv, bool *firstarg) { - char opt, *value, *ptr, *ptr2, *ptr3, *last; - isc_result_t result; - bool value_from_next; + char opt, *value, *ptr, *ptr2, *ptr3, *last; + isc_result_t result; + bool value_from_next; isc_textregion_t tr; - dns_rdatatype_t rdtype; + dns_rdatatype_t rdtype; dns_rdataclass_t rdclass; - char textname[MXNAME]; - struct in_addr in4; - struct in6_addr in6; - in_port_t srcport; - char *hash, *cmd; - uint32_t num; + char textname[MXNAME]; + struct in_addr in4; + struct in6_addr in6; + in_port_t srcport; + char * hash, *cmd; + uint32_t num; while (strpbrk(option, single_dash_opts) == &option[0]) { /* @@ -1857,14 +1900,15 @@ dash_option(char *option, char *next, dig_lookup_t **lookup, } *open_type_class = false; tr.base = value; - tr.length = (unsigned int) strlen(value); + tr.length = (unsigned int)strlen(value); result = dns_rdataclass_fromtext(&rdclass, (isc_textregion_t *)&tr); if (result == ISC_R_SUCCESS) { (*lookup)->rdclass = rdclass; (*lookup)->rdclassset = true; } else - fprintf(stderr, ";; Warning, ignoring " + fprintf(stderr, + ";; Warning, ignoring " "invalid class %s\n", value); return (value_from_next); @@ -1883,13 +1927,12 @@ dash_option(char *option, char *next, dig_lookup_t **lookup, case 'q': if (!config_only) { if (*need_clone) - (*lookup) = clone_lookup(default_lookup, - true); + (*lookup) = clone_lookup(default_lookup, true); *need_clone = true; strlcpy((*lookup)->textname, value, sizeof((*lookup)->textname)); - (*lookup)->trace_root = ((*lookup)->trace || - (*lookup)->ns_search_only); + (*lookup)->trace_root = + ((*lookup)->trace || (*lookup)->ns_search_only); (*lookup)->new_search = true; if (*firstarg) { printgreeting(argc, argv, *lookup); @@ -1906,9 +1949,9 @@ dash_option(char *option, char *next, dig_lookup_t **lookup, result = ISC_R_SUCCESS; } else { tr.base = value; - tr.length = (unsigned int) strlen(value); - result = dns_rdatatype_fromtext(&rdtype, - (isc_textregion_t *)&tr); + tr.length = (unsigned int)strlen(value); + result = dns_rdatatype_fromtext( + &rdtype, (isc_textregion_t *)&tr); if (result == ISC_R_SUCCESS && rdtype == dns_rdatatype_ixfr) { result = DNS_R_UNKNOWN; @@ -1924,7 +1967,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup, (*lookup)->rdtype = dns_rdatatype_ixfr; (*lookup)->rdtypeset = true; result = parse_uint(&serial, &value[5], - MAXSERIAL, "serial number"); + MAXSERIAL, "serial number"); if (result != ISC_R_SUCCESS) fatal("Couldn't parse serial number"); (*lookup)->ixfr_serial = serial; @@ -1946,22 +1989,25 @@ dash_option(char *option, char *next, dig_lookup_t **lookup, (*lookup)->ixfr_serial = false; } } else - fprintf(stderr, ";; Warning, ignoring " - "invalid type %s\n", - value); + fprintf(stderr, + ";; Warning, ignoring " + "invalid type %s\n", + value); return (value_from_next); case 'y': if ((ptr = strtok_r(value, ":", &last)) == NULL) { usage(); } - if ((ptr2 = strtok_r(NULL, ":", &last)) == NULL) { /* name or secret */ + if ((ptr2 = strtok_r(NULL, ":", &last)) == NULL) { /* name or + secret */ usage(); } - if ((ptr3 = strtok_r(NULL, ":", &last)) != NULL) { /* secret or NULL */ + if ((ptr3 = strtok_r(NULL, ":", &last)) != NULL) { /* secret or + NULL */ parse_hmac(ptr); ptr = ptr2; ptr2 = ptr3; - } else { + } else { hmacname = DNS_TSIG_HMACMD5_NAME; digestbits = 0; } @@ -1973,13 +2019,13 @@ dash_option(char *option, char *next, dig_lookup_t **lookup, if (*need_clone) *lookup = clone_lookup(default_lookup, true); *need_clone = true; - if (get_reverse(textname, sizeof(textname), value, - false) == ISC_R_SUCCESS) { + if (get_reverse(textname, sizeof(textname), value, false) == + ISC_R_SUCCESS) { strlcpy((*lookup)->textname, textname, sizeof((*lookup)->textname)); debug("looking up %s", (*lookup)->textname); - (*lookup)->trace_root = ((*lookup)->trace || - (*lookup)->ns_search_only); + (*lookup)->trace_root = + ((*lookup)->trace || (*lookup)->ns_search_only); if (!(*lookup)->rdtypeset) (*lookup)->rdtype = dns_rdatatype_ptr; if (!(*lookup)->rdclassset) @@ -2014,10 +2060,11 @@ dash_option(char *option, char *next, dig_lookup_t **lookup, * by its nature, so it can't be done in the main argument parser. */ static void -preparse_args(int argc, char **argv) { - int rc; +preparse_args(int argc, char **argv) +{ + int rc; char **rv; - char *option; + char * option; rc = argc; rv = argv; @@ -2034,7 +2081,7 @@ preparse_args(int argc, char **argv) { case 'm': memdebugging = true; isc_mem_debugging = ISC_MEM_DEBUGTRACE | - ISC_MEM_DEBUGRECORD; + ISC_MEM_DEBUGRECORD; break; case 'r': /* @@ -2075,40 +2122,39 @@ preparse_args(int argc, char **argv) { } static int -split_batchline(char *batchline, char **bargv, int len, const char *msg) { - int bargc; +split_batchline(char *batchline, char **bargv, int len, const char *msg) +{ + int bargc; char *last = NULL; REQUIRE(batchline != NULL); for (bargc = 1, bargv[bargc] = strtok_r(batchline, " \t\r\n", &last); bargc < len && bargv[bargc]; - bargv[++bargc] = strtok_r(NULL, " \t\r\n", &last)) - { + bargv[++bargc] = strtok_r(NULL, " \t\r\n", &last)) { debug("%s %d: %s", msg, bargc, bargv[bargc]); } return (bargc); } static void -parse_args(bool is_batchfile, bool config_only, - int argc, char **argv) +parse_args(bool is_batchfile, bool config_only, int argc, char **argv) { - isc_result_t result; + isc_result_t result; isc_textregion_t tr; - bool firstarg = true; - dig_lookup_t *lookup = NULL; - dns_rdatatype_t rdtype; + bool firstarg = true; + dig_lookup_t * lookup = NULL; + dns_rdatatype_t rdtype; dns_rdataclass_t rdclass; - bool open_type_class = true; - char batchline[MXNAME]; - int bargc; - char *bargv[64]; - int rc; - char **rv; + bool open_type_class = true; + char batchline[MXNAME]; + int bargc; + char * bargv[64]; + int rc; + char ** rv; #ifndef NOPOSIX char *homedir; - char rcfile[PATH_MAX]; + char rcfile[PATH_MAX]; #endif bool need_clone = true; @@ -2147,16 +2193,14 @@ parse_args(bool is_batchfile, bool config_only, } } if (batchfp != NULL) { - while (fgets(batchline, sizeof(batchline), - batchfp) != 0) - { + while (fgets(batchline, sizeof(batchline), batchfp) != + 0) { debug("config line %s", batchline); bargc = split_batchline(batchline, bargv, 62, ".digrc argv"); bargv[0] = argv[0]; argv0 = argv[0]; - parse_args(true, true, - bargc, (char **)bargv); + parse_args(true, true, bargc, (char **)bargv); } fclose(batchfp); } @@ -2178,14 +2222,15 @@ parse_args(bool is_batchfile, bool config_only, if (strncmp(rv[0], "%", 1) == 0) break; if (rv[0][0] == '@') { - if (is_batchfile && !config_only) { addresscount = getaddresses(lookup, &rv[0][1], - &result); + &result); if (addresscount == 0) { - fprintf(stderr, "couldn't get address " + fprintf(stderr, + "couldn't get address " "for '%s': %s: skipping " - "lookup\n", &rv[0][1], + "lookup\n", + &rv[0][1], isc_result_totext(result)); if (ISC_LINK_LINKED(lookup, link)) ISC_LIST_DEQUEUE(lookup_list, @@ -2194,29 +2239,28 @@ parse_args(bool is_batchfile, bool config_only, return; } } else { - addresscount = getaddresses(lookup, &rv[0][1], - NULL); + addresscount = + getaddresses(lookup, &rv[0][1], NULL); if (addresscount == 0) fatal("no valid addresses for '%s'\n", &rv[0][1]); } } else if (rv[0][0] == '+') { - plus_option(&rv[0][1], is_batchfile, - lookup); + plus_option(&rv[0][1], is_batchfile, lookup); } else if (rv[0][0] == '-') { if (rc <= 1) { - if (dash_option(&rv[0][1], NULL, - &lookup, &open_type_class, - &need_clone, config_only, - argc, argv, &firstarg)) { + if (dash_option(&rv[0][1], NULL, &lookup, + &open_type_class, &need_clone, + config_only, argc, argv, + &firstarg)) { rc--; rv++; } } else { - if (dash_option(&rv[0][1], rv[1], - &lookup, &open_type_class, - &need_clone, config_only, - argc, argv, &firstarg)) { + if (dash_option(&rv[0][1], rv[1], &lookup, + &open_type_class, &need_clone, + config_only, argc, argv, + &firstarg)) { rc--; rv++; } @@ -2231,22 +2275,25 @@ parse_args(bool is_batchfile, bool config_only, result = ISC_R_SUCCESS; } else { tr.base = rv[0]; - tr.length = - (unsigned int) strlen(rv[0]); - result = dns_rdatatype_fromtext(&rdtype, + tr.length = (unsigned int)strlen(rv[0]); + result = dns_rdatatype_fromtext( + &rdtype, (isc_textregion_t *)&tr); if (result == ISC_R_SUCCESS && rdtype == dns_rdatatype_ixfr) { fprintf(stderr, ";; Warning, " - "ixfr requires a " - "serial number\n"); + "ixfr requires " + "a " + "serial " + "number\n"); continue; } } if (result == ISC_R_SUCCESS) { if (lookup->rdtypeset) { fprintf(stderr, ";; Warning, " - "extra type option\n"); + "extra type " + "option\n"); } if (rdtype == dns_rdatatype_ixfr) { uint32_t serial; @@ -2256,7 +2303,8 @@ parse_args(bool is_batchfile, bool config_only, result = parse_uint(&serial, &rv[0][5], MAXSERIAL, - "serial number"); + "serial " + "number"); if (result != ISC_R_SUCCESS) fatal("Couldn't parse " "serial number"); @@ -2271,24 +2319,26 @@ parse_args(bool is_batchfile, bool config_only, lookup->rdtypeset = true; if (rdtype == dns_rdatatype_axfr) { - lookup->section_question = + lookup->section_question = plusquest; - lookup->comments = pluscomm; + lookup->comments = + pluscomm; } if (rdtype == - dns_rdatatype_any && + dns_rdatatype_any && !lookup->tcp_mode_set) lookup->tcp_mode = true; lookup->ixfr_serial = false; } continue; } - result = dns_rdataclass_fromtext(&rdclass, - (isc_textregion_t *)&tr); + result = dns_rdataclass_fromtext( + &rdclass, (isc_textregion_t *)&tr); if (result == ISC_R_SUCCESS) { if (lookup->rdclassset) { fprintf(stderr, ";; Warning, " - "extra class option\n"); + "extra class " + "option\n"); } lookup->rdclass = rdclass; lookup->rdclassset = true; @@ -2299,7 +2349,7 @@ parse_args(bool is_batchfile, bool config_only, if (!config_only) { if (need_clone) lookup = clone_lookup(default_lookup, - true); + true); need_clone = true; strlcpy(lookup->textname, rv[0], sizeof(lookup->textname)); @@ -2358,8 +2408,7 @@ parse_args(bool is_batchfile, bool config_only, if (need_clone) lookup = clone_lookup(default_lookup, true); need_clone = true; - lookup->trace_root = (lookup->trace || - lookup->ns_search_only); + lookup->trace_root = (lookup->trace || lookup->ns_search_only); lookup->new_search = true; strlcpy(lookup->textname, ".", sizeof(lookup->textname)); lookup->rdtype = dns_rdatatype_ns; @@ -2380,9 +2429,10 @@ parse_args(bool is_batchfile, bool config_only, * for real if there's nothing in the batch file to read. */ static void -query_finished(void) { - char batchline[MXNAME]; - int bargc; +query_finished(void) +{ + char batchline[MXNAME]; + int bargc; char *bargv[16]; if (atomic_load(&batchname) == 0) { @@ -2415,7 +2465,8 @@ query_finished(void) { } static void -dig_error(const char *format, ...) { +dig_error(const char *format, ...) +{ va_list args; if (yaml) { @@ -2444,7 +2495,8 @@ dig_error(const char *format, ...) { } static void -dig_warning(const char *format, ...) { +dig_warning(const char *format, ...) +{ va_list args; if (!yaml) { @@ -2459,7 +2511,8 @@ dig_warning(const char *format, ...) { } static void -dig_comments(dig_lookup_t *lookup, const char *format, ...) { +dig_comments(dig_lookup_t *lookup, const char *format, ...) +{ va_list args; if (lookup->comments && !yaml) { @@ -2474,7 +2527,8 @@ dig_comments(dig_lookup_t *lookup, const char *format, ...) { } void -dig_setup(int argc, char **argv) { +dig_setup(int argc, char **argv) +{ isc_result_t result; ISC_LIST_INIT(lookup_list); @@ -2502,8 +2556,8 @@ dig_setup(int argc, char **argv) { setup_system(ipv4only, ipv6only); } -void dig_query_setup(bool is_batchfile, bool config_only, - int argc, char **argv) +void +dig_query_setup(bool is_batchfile, bool config_only, int argc, char **argv) { debug("dig_query_setup"); @@ -2518,7 +2572,9 @@ void dig_query_setup(bool is_batchfile, bool config_only, } } -void dig_startup() { +void +dig_startup() +{ isc_result_t result; debug("dig_startup()"); @@ -2528,13 +2584,15 @@ void dig_startup() { isc_app_run(); } -void dig_query_start() +void +dig_query_start() { start_lookup(); } void -dig_shutdown() { +dig_shutdown() +{ destroy_lookup(default_lookup); if (atomic_load(&batchname) != 0) { if (batchfp != stdin) { @@ -2549,8 +2607,8 @@ dig_shutdown() { /*% Main processing routine for dig */ int -main(int argc, char **argv) { - +main(int argc, char **argv) +{ dig_setup(argc, argv); dig_query_setup(false, false, argc, argv); dig_startup(); diff --git a/bin/dig/dighost.c b/bin/dig/dighost.c index cc11f5dd1d..2d8caa483b 100644 --- a/bin/dig/dighost.c +++ b/bin/dig/dighost.c @@ -19,13 +19,13 @@ * functions in most applications. */ +#include #include +#include #include #include -#include #include -#include -#include +#include #ifdef HAVE_LOCALE_H #include @@ -35,24 +35,6 @@ #include #endif /* HAVE_LIBIDN2 */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - #include #include #include @@ -75,73 +57,80 @@ #include #include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include -#include - #include - #include +#include +#include +#include +#include #if USE_PKCS11 #include #endif -#if ! defined(NS_INADDRSZ) -#define NS_INADDRSZ 4 +#if !defined(NS_INADDRSZ) +#define NS_INADDRSZ 4 #endif -#if ! defined(NS_IN6ADDRSZ) -#define NS_IN6ADDRSZ 16 +#if !defined(NS_IN6ADDRSZ) +#define NS_IN6ADDRSZ 16 #endif -dig_lookuplist_t lookup_list; -dig_serverlist_t server_list; +dig_lookuplist_t lookup_list; +dig_serverlist_t server_list; dig_searchlistlist_t search_list; -bool - check_ra = false, - have_ipv4 = false, - have_ipv6 = false, - specified_source = false, - free_now = false, - cancel_now = false, - usesearch = false, - showsearch = false, - is_dst_up = false, - keep_open = false, - verbose = false, - yaml = false; -in_port_t port = 53; -unsigned int timeout = 0; -unsigned int extrabytes; -isc_mem_t *mctx = NULL; -isc_log_t *lctx = NULL; -isc_taskmgr_t *taskmgr = NULL; -isc_task_t *global_task = NULL; -isc_timermgr_t *timermgr = NULL; +bool check_ra = false, have_ipv4 = false, have_ipv6 = false, + specified_source = false, free_now = false, cancel_now = false, + usesearch = false, showsearch = false, is_dst_up = false, + keep_open = false, verbose = false, yaml = false; +in_port_t port = 53; +unsigned int timeout = 0; +unsigned int extrabytes; +isc_mem_t * mctx = NULL; +isc_log_t * lctx = NULL; +isc_taskmgr_t * taskmgr = NULL; +isc_task_t * global_task = NULL; +isc_timermgr_t * timermgr = NULL; isc_socketmgr_t *socketmgr = NULL; -isc_sockaddr_t bind_address; -isc_sockaddr_t bind_any; -int sendcount = 0; -int recvcount = 0; -int sockcount = 0; -int ndots = -1; -int tries = 3; -int lookup_counter = 0; +isc_sockaddr_t bind_address; +isc_sockaddr_t bind_any; +int sendcount = 0; +int recvcount = 0; +int sockcount = 0; +int ndots = -1; +int tries = 3; +int lookup_counter = 0; static char servercookie[256]; #ifdef HAVE_LIBIDN2 -static void idn_locale_to_ace(const char *src, char *dst, size_t dstlen); -static void idn_ace_to_locale(const char *src, char **dst); -static isc_result_t idn_output_filter(isc_buffer_t *buffer, - unsigned int used_org); +static void +idn_locale_to_ace(const char *src, char *dst, size_t dstlen); +static void +idn_ace_to_locale(const char *src, char **dst); +static isc_result_t +idn_output_filter(isc_buffer_t *buffer, unsigned int used_org); #endif /* HAVE_LIBIDN2 */ -isc_socket_t *keep = NULL; +isc_socket_t * keep = NULL; isc_sockaddr_t keepaddr; /*% @@ -154,25 +143,25 @@ isc_sockaddr_t keepaddr; *\li 9 No reply from server *\li 10 Internal error */ -int exitcode = 0; -int fatalexit = 0; -char keynametext[MXNAME]; -char keyfile[MXNAME] = ""; -char keysecret[MXNAME] = ""; -unsigned char cookie_secret[33]; -unsigned char cookie[8]; +int exitcode = 0; +int fatalexit = 0; +char keynametext[MXNAME]; +char keyfile[MXNAME] = ""; +char keysecret[MXNAME] = ""; +unsigned char cookie_secret[33]; +unsigned char cookie[8]; const dns_name_t *hmacname = NULL; -unsigned int digestbits = 0; -isc_buffer_t *namebuf = NULL; -dns_tsigkey_t *tsigkey = NULL; -bool validated = true; -isc_mempool_t *commctx = NULL; -bool debugging = false; -bool debugtiming = false; -bool memdebugging = false; -char *progname = NULL; -isc_mutex_t lookup_lock; -dig_lookup_t *current_lookup = NULL; +unsigned int digestbits = 0; +isc_buffer_t * namebuf = NULL; +dns_tsigkey_t * tsigkey = NULL; +bool validated = true; +isc_mempool_t * commctx = NULL; +bool debugging = false; +bool debugtiming = false; +bool memdebugging = false; +char * progname = NULL; +isc_mutex_t lookup_lock; +dig_lookup_t * current_lookup = NULL; #define DIG_MAX_ADDRESSES 20 @@ -180,19 +169,23 @@ dig_lookup_t *current_lookup = NULL; * Apply and clear locks at the event level in global task. * Can I get rid of these using shutdown events? XXX */ -#define LOCK_LOOKUP {\ - debug("lock_lookup %s:%d", __FILE__, __LINE__);\ - check_result(isc_mutex_lock((&lookup_lock)), "isc_mutex_lock");\ - debug("success");\ -} -#define UNLOCK_LOOKUP {\ - debug("unlock_lookup %s:%d", __FILE__, __LINE__);\ - check_result(isc_mutex_unlock((&lookup_lock)),\ - "isc_mutex_unlock");\ -} +#define LOCK_LOOKUP \ + { \ + debug("lock_lookup %s:%d", __FILE__, __LINE__); \ + check_result(isc_mutex_lock((&lookup_lock)), "isc_mutex_" \ + "lock"); \ + debug("success"); \ + } +#define UNLOCK_LOOKUP \ + { \ + debug("unlock_lookup %s:%d", __FILE__, __LINE__); \ + check_result(isc_mutex_unlock((&lookup_lock)), "isc_mutex_" \ + "unlock"); \ + } static void -default_warnerr(const char *format, ...) { +default_warnerr(const char *format, ...) +{ va_list args; printf(";; "); @@ -203,7 +196,8 @@ default_warnerr(const char *format, ...) { }; static void -default_comments(dig_lookup_t *lookup, const char *format, ...) { +default_comments(dig_lookup_t *lookup, const char *format, ...) +{ va_list args; if (lookup->comments) { @@ -217,28 +211,23 @@ default_comments(dig_lookup_t *lookup, const char *format, ...) { /* dynamic callbacks */ -isc_result_t -(*dighost_printmessage)(dig_query_t *query, const isc_buffer_t *msgbuf, - dns_message_t *msg, bool headers); +isc_result_t (*dighost_printmessage)(dig_query_t * query, + const isc_buffer_t *msgbuf, + dns_message_t *msg, bool headers); -void -(*dighost_error)(const char *format, ...) = default_warnerr; +void (*dighost_error)(const char *format, ...) = default_warnerr; -void -(*dighost_warning)(const char *format, ...) = default_warnerr; +void (*dighost_warning)(const char *format, ...) = default_warnerr; -void -(*dighost_comments)(dig_lookup_t *lookup, const char *format, ...) = default_comments; +void (*dighost_comments)(dig_lookup_t *lookup, const char *format, + ...) = default_comments; -void -(*dighost_received)(unsigned int bytes, isc_sockaddr_t *from, - dig_query_t *query); +void (*dighost_received)(unsigned int bytes, isc_sockaddr_t *from, + dig_query_t *query); -void -(*dighost_trying)(char *frm, dig_lookup_t *lookup); +void (*dighost_trying)(char *frm, dig_lookup_t *lookup); -void -(*dighost_shutdown)(void); +void (*dighost_shutdown)(void); /* forward declarations */ @@ -264,9 +253,10 @@ static bool next_origin(dig_lookup_t *oldlookup); static int -count_dots(char *string) { +count_dots(char *string) +{ char *s; - int i = 0; + int i = 0; s = string; while (*s != '\0') { @@ -278,7 +268,8 @@ count_dots(char *string) { } static void -hex_dump(isc_buffer_t *b) { +hex_dump(isc_buffer_t *b) +{ unsigned int len, i; isc_region_t r; @@ -302,7 +293,7 @@ hex_dump(isc_buffer_t *b) { for (i = len; (i % 16) != 0; i++) fputs(" ", stdout); fputs(" ", stdout); - for (i = ((len>>4)<<4); i < len; i++) { + for (i = ((len >> 4) << 4); i < len; i++) { if (r.base[i] >= '!' && r.base[i] <= '}') putchar(r.base[i]); else @@ -317,7 +308,8 @@ hex_dump(isc_buffer_t *b) { * ISC_R_NOSPACE if that would advance p past 'end'. */ static isc_result_t -append(const char *text, size_t len, char **p, char *end) { +append(const char *text, size_t len, char **p, char *end) +{ if (*p + len > end) return (ISC_R_NOSPACE); memmove(*p, text, len); @@ -326,9 +318,10 @@ append(const char *text, size_t len, char **p, char *end) { } static isc_result_t -reverse_octets(const char *in, char **p, char *end) { +reverse_octets(const char *in, char **p, char *end) +{ const char *dot = strchr(in, '.'); - size_t len; + size_t len; if (dot != NULL) { isc_result_t result; result = reverse_octets(dot + 1, p, end); @@ -337,9 +330,9 @@ reverse_octets(const char *in, char **p, char *end) { result = append(".", 1, p, end); if (result != ISC_R_SUCCESS) return (result); - len = (int) (dot - in); + len = (int)(dot - in); } else { - len = (int) strlen(in); + len = (int)strlen(in); } return (append(in, len, p, end)); } @@ -347,8 +340,8 @@ reverse_octets(const char *in, char **p, char *end) { isc_result_t get_reverse(char *reverse, size_t len, char *value, bool strict) { - int r; - isc_result_t result; + int r; + isc_result_t result; isc_netaddr_t addr; addr.family = AF_INET6; @@ -356,8 +349,8 @@ get_reverse(char *reverse, size_t len, char *value, bool strict) if (r > 0) { /* This is a valid IPv6 address. */ dns_fixedname_t fname; - dns_name_t *name; - unsigned int options = 0; + dns_name_t * name; + unsigned int options = 0; name = dns_fixedname_initname(&fname); result = dns_byaddr_createptrname(&addr, options, name); @@ -393,7 +386,8 @@ void (*dighost_pre_exit_hook)(void) = NULL; #if TARGET_OS_IPHONE void -warn(const char *format, ...) { +warn(const char *format, ...) +{ va_list args; fflush(stdout); @@ -405,7 +399,8 @@ warn(const char *format, ...) { } #else void -warn(const char *format, ...) { +warn(const char *format, ...) +{ va_list args; fflush(stdout); @@ -418,7 +413,8 @@ warn(const char *format, ...) { #endif void -digexit(void) { +digexit(void) +{ if (exitcode < 10) exitcode = 10; if (fatalexit != 0) @@ -430,7 +426,8 @@ digexit(void) { } void -fatal(const char *format, ...) { +fatal(const char *format, ...) +{ va_list args; fflush(stdout); @@ -443,8 +440,9 @@ fatal(const char *format, ...) { } void -debug(const char *format, ...) { - va_list args; +debug(const char *format, ...) +{ + va_list args; isc_time_t t; if (debugging) { @@ -462,7 +460,8 @@ debug(const char *format, ...) { } void -check_result(isc_result_t result, const char *msg) { +check_result(isc_result_t result, const char *msg) +{ if (result != ISC_R_SUCCESS) { fatal("%s: %s", msg, isc_result_totext(result)); } @@ -474,7 +473,8 @@ check_result(isc_result_t result, const char *msg) { * of finding the answer the user is looking for */ dig_server_t * -make_server(const char *servname, const char *userarg) { +make_server(const char *servname, const char *userarg) +{ dig_server_t *srv; REQUIRE(servname != NULL); @@ -492,22 +492,21 @@ make_server(const char *servname, const char *userarg) { * The dest list must have already had ISC_LIST_INIT applied. */ static void -get_server_list(irs_resconf_t *resconf) { +get_server_list(irs_resconf_t *resconf) +{ isc_sockaddrlist_t *servers; - isc_sockaddr_t *sa; - dig_server_t *newsrv; + isc_sockaddr_t * sa; + dig_server_t * newsrv; char tmp[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255") + sizeof("%4000000000")]; debug("get_server_list()"); servers = irs_resconf_getnameservers(resconf); - for (sa = ISC_LIST_HEAD(*servers); - sa != NULL; - sa = ISC_LIST_NEXT(sa, link)) - { - int pf = isc_sockaddr_pf(sa); + for (sa = ISC_LIST_HEAD(*servers); sa != NULL; + sa = ISC_LIST_NEXT(sa, link)) { + int pf = isc_sockaddr_pf(sa); isc_netaddr_t na; - isc_result_t result; - isc_buffer_t b; + isc_result_t result; + isc_buffer_t b; if (pf == AF_INET && !have_ipv4) continue; @@ -532,7 +531,8 @@ get_server_list(irs_resconf_t *resconf) { } void -flush_server_list(void) { +flush_server_list(void) +{ dig_server_t *s, *ps; debug("flush_server_list()"); @@ -546,22 +546,23 @@ flush_server_list(void) { } void -set_nameserver(char *opt) { - isc_result_t result; +set_nameserver(char *opt) +{ + isc_result_t result; isc_sockaddr_t sockaddrs[DIG_MAX_ADDRESSES]; - isc_netaddr_t netaddr; - int count, i; - dig_server_t *srv; - char tmp[ISC_NETADDR_FORMATSIZE]; + isc_netaddr_t netaddr; + int count, i; + dig_server_t * srv; + char tmp[ISC_NETADDR_FORMATSIZE]; if (opt == NULL) return; - result = bind9_getaddresses(opt, 0, sockaddrs, - DIG_MAX_ADDRESSES, &count); + result = bind9_getaddresses(opt, 0, sockaddrs, DIG_MAX_ADDRESSES, + &count); if (result != ISC_R_SUCCESS) - fatal("couldn't get address for '%s': %s", - opt, isc_result_totext(result)); + fatal("couldn't get address for '%s': %s", opt, + isc_result_totext(result)); flush_server_list(); @@ -580,7 +581,8 @@ set_nameserver(char *opt) { * ISC_LIST_INIT applied. */ void -clone_server_list(dig_serverlist_t src, dig_serverlist_t *dest) { +clone_server_list(dig_serverlist_t src, dig_serverlist_t *dest) +{ dig_server_t *srv, *newsrv; debug("clone_server_list()"); @@ -600,7 +602,8 @@ clone_server_list(dig_serverlist_t src, dig_serverlist_t *dest) { * (outstanding queries which have been made to the listed servers). */ dig_lookup_t * -make_empty_lookup(void) { +make_empty_lookup(void) +{ dig_lookup_t *looknew; debug("make_empty_lookup()"); @@ -653,7 +656,7 @@ make_empty_lookup(void) { looknew->qr = false; looknew->accept_reply_unexpected_src = false; #ifdef HAVE_LIBIDN2 - looknew->idnin = isatty(1)?(getenv("IDN_DISABLE") == NULL):false; + looknew->idnin = isatty(1) ? (getenv("IDN_DISABLE") == NULL) : false; looknew->idnout = looknew->idnin; #else looknew->idnin = false; @@ -706,7 +709,8 @@ make_empty_lookup(void) { #define EDNSOPT_OPTIONS 100U static void -cloneopts(dig_lookup_t *looknew, dig_lookup_t *lookold) { +cloneopts(dig_lookup_t *looknew, dig_lookup_t *lookold) +{ size_t len = sizeof(looknew->ednsopts[0]) * EDNSOPT_OPTIONS; size_t i; looknew->ednsopts = isc_mem_allocate(mctx, len); @@ -723,8 +727,8 @@ cloneopts(dig_lookup_t *looknew, dig_lookup_t *lookold) { len = lookold->ednsopts[i].length; if (len != 0) { INSIST(lookold->ednsopts[i].value != NULL); - looknew->ednsopts[i].value = isc_mem_allocate(mctx, - len); + looknew->ednsopts[i].value = + isc_mem_allocate(mctx, len); memmove(looknew->ednsopts[i].value, lookold->ednsopts[i].value, len); } @@ -742,7 +746,8 @@ cloneopts(dig_lookup_t *looknew, dig_lookup_t *lookold) { * list separately from somewhere else, or construct it by hand. */ dig_lookup_t * -clone_lookup(dig_lookup_t *lookold, bool servers) { +clone_lookup(dig_lookup_t *lookold, bool servers) +{ dig_lookup_t *looknew; debug("clone_lookup()"); @@ -753,7 +758,7 @@ clone_lookup(dig_lookup_t *lookold, bool servers) { INSIST(looknew != NULL); strlcpy(looknew->textname, lookold->textname, MXNAME); strlcpy(looknew->cmdline, lookold->cmdline, MXNAME); - looknew->textname[MXNAME-1] = 0; + looknew->textname[MXNAME - 1] = 0; looknew->rdtype = lookold->rdtype; looknew->qrdtype = lookold->qrdtype; looknew->rdclass = lookold->rdclass; @@ -836,7 +841,7 @@ clone_lookup(dig_lookup_t *lookold, bool servers) { } dns_name_copynf(dns_fixedname_name(&lookold->fdomain), - dns_fixedname_name(&looknew->fdomain)); + dns_fixedname_name(&looknew->fdomain)); if (servers) clone_server_list(lookold->my_server_list, @@ -853,7 +858,8 @@ clone_lookup(dig_lookup_t *lookold, bool servers) { * queue getting run. */ dig_lookup_t * -requeue_lookup(dig_lookup_t *lookold, bool servers) { +requeue_lookup(dig_lookup_t *lookold, bool servers) +{ dig_lookup_t *looknew; debug("requeue_lookup()"); @@ -865,28 +871,28 @@ requeue_lookup(dig_lookup_t *lookold, bool servers) { looknew = clone_lookup(lookold, servers); INSIST(looknew != NULL); - debug("before insertion, init@%p -> %p, new@%p -> %p", - lookold, lookold->link.next, looknew, looknew->link.next); + debug("before insertion, init@%p -> %p, new@%p -> %p", lookold, + lookold->link.next, looknew, looknew->link.next); ISC_LIST_PREPEND(lookup_list, looknew, link); - debug("after insertion, init -> %p, new = %p, new -> %p", - lookold, looknew, looknew->link.next); + debug("after insertion, init -> %p, new = %p, new -> %p", lookold, + looknew, looknew->link.next); return (looknew); } - void -setup_text_key(void) { - isc_result_t result; - dns_name_t keyname; - isc_buffer_t secretbuf; - unsigned int secretsize; +setup_text_key(void) +{ + isc_result_t result; + dns_name_t keyname; + isc_buffer_t secretbuf; + unsigned int secretsize; unsigned char *secretstore; debug("setup_text_key()"); isc_buffer_allocate(mctx, &namebuf, MXNAME); dns_name_init(&keyname, NULL); isc_buffer_putstr(namebuf, keynametext); - secretsize = (unsigned int) strlen(keysecret) * 3 / 4; + secretsize = (unsigned int)strlen(keysecret) * 3 / 4; secretstore = isc_mem_allocate(mctx, secretsize); isc_buffer_init(&secretbuf, secretstore, secretsize); result = isc_base64_decodestring(keysecret, &secretbuf); @@ -905,12 +911,12 @@ setup_text_key(void) { goto failure; result = dns_tsigkey_create(&keyname, hmacname, secretstore, - (int)secretsize, false, NULL, 0, 0, - mctx, NULL, &tsigkey); - failure: + (int)secretsize, false, NULL, 0, 0, mctx, + NULL, &tsigkey); +failure: if (result != ISC_R_SUCCESS) - printf(";; Couldn't create key %s: %s\n", - keynametext, isc_result_totext(result)); + printf(";; Couldn't create key %s: %s\n", keynametext, + isc_result_totext(result)); else dst_key_setbits(tsigkey->key, digestbits); @@ -921,14 +927,15 @@ setup_text_key(void) { static isc_result_t parse_uint_helper(uint32_t *uip, const char *value, uint32_t max, - const char *desc, int base) { - uint32_t n; + const char *desc, int base) +{ + uint32_t n; isc_result_t result = isc_parse_uint32(&n, value, base); if (result == ISC_R_SUCCESS && n > max) result = ISC_R_RANGE; if (result != ISC_R_SUCCESS) { - printf("invalid %s '%s': %s\n", desc, - value, isc_result_totext(result)); + printf("invalid %s '%s': %s\n", desc, value, + isc_result_totext(result)); return (result); } *uip = n; @@ -936,21 +943,22 @@ parse_uint_helper(uint32_t *uip, const char *value, uint32_t max, } isc_result_t -parse_uint(uint32_t *uip, const char *value, uint32_t max, - const char *desc) { +parse_uint(uint32_t *uip, const char *value, uint32_t max, const char *desc) +{ return (parse_uint_helper(uip, value, max, desc, 10)); } isc_result_t -parse_xint(uint32_t *uip, const char *value, uint32_t max, - const char *desc) { +parse_xint(uint32_t *uip, const char *value, uint32_t max, const char *desc) +{ return (parse_uint_helper(uip, value, max, desc, 0)); } static uint32_t -parse_bits(char *arg, const char *desc, uint32_t max) { +parse_bits(char *arg, const char *desc, uint32_t max) +{ isc_result_t result; - uint32_t tmp; + uint32_t tmp; result = parse_uint(&tmp, arg, max, desc); if (result != ISC_R_SUCCESS) @@ -960,15 +968,16 @@ parse_bits(char *arg, const char *desc, uint32_t max) { } isc_result_t -parse_netprefix(isc_sockaddr_t **sap, const char *value) { - isc_result_t result = ISC_R_SUCCESS; +parse_netprefix(isc_sockaddr_t **sap, const char *value) +{ + isc_result_t result = ISC_R_SUCCESS; isc_sockaddr_t *sa = NULL; - struct in_addr in4; + struct in_addr in4; struct in6_addr in6; - uint32_t prefix_length = 0xffffffff; - char *slash = NULL; - bool parsed = false; - bool prefix_parsed = false; + uint32_t prefix_length = 0xffffffff; + char * slash = NULL; + bool parsed = false; + bool prefix_parsed = false; char buf[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:XXX.XXX.XXX.XXX/128")]; REQUIRE(sap != NULL && *sap == NULL); @@ -990,8 +999,8 @@ parse_netprefix(isc_sockaddr_t **sap, const char *value) { *slash = '\0'; result = isc_parse_uint32(&prefix_length, slash + 1, 10); if (result != ISC_R_SUCCESS) { - fatal("invalid prefix length in '%s': %s\n", - value, isc_result_totext(result)); + fatal("invalid prefix length in '%s': %s\n", value, + isc_result_totext(result)); } prefix_parsed = true; } @@ -1036,8 +1045,9 @@ done: * Parse HMAC algorithm specification */ void -parse_hmac(const char *hmac) { - char buf[20]; +parse_hmac(const char *hmac) +{ + char buf[20]; size_t len; REQUIRE(hmac != NULL); @@ -1054,8 +1064,7 @@ parse_hmac(const char *hmac) { } else if (strncasecmp(buf, "hmac-md5-", 9) == 0) { hmacname = DNS_TSIG_HMACMD5_NAME; digestbits = parse_bits(&buf[9], "digest-bits [0..128]", 128); - } else - if (strcasecmp(buf, "hmac-sha1") == 0) { + } else if (strcasecmp(buf, "hmac-sha1") == 0) { hmacname = DNS_TSIG_HMACSHA1_NAME; digestbits = 0; } else if (strncasecmp(buf, "hmac-sha1-", 10) == 0) { @@ -1082,8 +1091,10 @@ parse_hmac(const char *hmac) { hmacname = DNS_TSIG_HMACSHA512_NAME; digestbits = parse_bits(&buf[12], "digest-bits [0..512]", 512); } else { - fprintf(stderr, ";; Warning, ignoring " - "invalid TSIG algorithm %s\n", buf); + fprintf(stderr, + ";; Warning, ignoring " + "invalid TSIG algorithm %s\n", + buf); } } @@ -1091,26 +1102,26 @@ parse_hmac(const char *hmac) { * Get a key from a named.conf format keyfile */ static isc_result_t -read_confkey(void) { - cfg_parser_t *pctx = NULL; - cfg_obj_t *file = NULL; +read_confkey(void) +{ + cfg_parser_t * pctx = NULL; + cfg_obj_t * file = NULL; const cfg_obj_t *keyobj = NULL; const cfg_obj_t *secretobj = NULL; const cfg_obj_t *algorithmobj = NULL; - const char *keyname; - const char *secretstr; - const char *algorithm; - isc_result_t result; + const char * keyname; + const char * secretstr; + const char * algorithm; + isc_result_t result; - if (! isc_file_exists(keyfile)) + if (!isc_file_exists(keyfile)) return (ISC_R_FILENOTFOUND); result = cfg_parser_create(mctx, NULL, &pctx); if (result != ISC_R_SUCCESS) goto cleanup; - result = cfg_parse_file(pctx, keyfile, &cfg_type_sessionkey, - &file); + result = cfg_parse_file(pctx, keyfile, &cfg_type_sessionkey, &file); if (result != ISC_R_SUCCESS) goto cleanup; @@ -1118,8 +1129,8 @@ read_confkey(void) { if (result != ISC_R_SUCCESS) goto cleanup; - (void) cfg_map_get(keyobj, "secret", &secretobj); - (void) cfg_map_get(keyobj, "algorithm", &algorithmobj); + (void)cfg_map_get(keyobj, "secret", &secretobj); + (void)cfg_map_get(keyobj, "algorithm", &algorithmobj); if (secretobj == NULL || algorithmobj == NULL) fatal("key must have algorithm and secret"); @@ -1132,7 +1143,7 @@ read_confkey(void) { parse_hmac(algorithm); setup_text_key(); - cleanup: +cleanup: if (pctx != NULL) { if (file != NULL) cfg_obj_destroy(pctx, &file); @@ -1143,16 +1154,16 @@ read_confkey(void) { } void -setup_file_key(void) { +setup_file_key(void) +{ isc_result_t result; - dst_key_t *dstkey = NULL; + dst_key_t * dstkey = NULL; debug("setup_file_key()"); /* Try reading the key from a K* pair */ - result = dst_key_fromnamedfile(keyfile, NULL, - DST_TYPE_PRIVATE | DST_TYPE_KEY, mctx, - &dstkey); + result = dst_key_fromnamedfile( + keyfile, NULL, DST_TYPE_PRIVATE | DST_TYPE_KEY, mctx, &dstkey); /* If that didn't work, try reading it as a session.key keyfile */ if (result != ISC_R_SUCCESS) { @@ -1162,8 +1173,8 @@ setup_file_key(void) { } if (result != ISC_R_SUCCESS) { - fprintf(stderr, "Couldn't read key from %s: %s\n", - keyfile, isc_result_totext(result)); + fprintf(stderr, "Couldn't read key from %s: %s\n", keyfile, + isc_result_totext(result)); goto failure; } @@ -1192,30 +1203,32 @@ setup_file_key(void) { goto failure; } result = dns_tsigkey_createfromkey(dst_key_name(dstkey), hmacname, - dstkey, false, NULL, 0, 0, - mctx, NULL, &tsigkey); + dstkey, false, NULL, 0, 0, mctx, + NULL, &tsigkey); if (result != ISC_R_SUCCESS) { - printf(";; Couldn't create key %s: %s\n", - keynametext, isc_result_totext(result)); + printf(";; Couldn't create key %s: %s\n", keynametext, + isc_result_totext(result)); goto failure; } - failure: +failure: if (dstkey != NULL) dst_key_free(&dstkey); } static dig_searchlist_t * -make_searchlist_entry(char *domain) { +make_searchlist_entry(char *domain) +{ dig_searchlist_t *search; search = isc_mem_allocate(mctx, sizeof(*search)); strlcpy(search->origin, domain, MXNAME); - search->origin[MXNAME-1] = 0; + search->origin[MXNAME - 1] = 0; ISC_LINK_INIT(search, link); return (search); } static void -clear_searchlist(void) { +clear_searchlist(void) +{ dig_searchlist_t *search; while ((search = ISC_LIST_HEAD(search_list)) != NULL) { ISC_LIST_UNLINK(search_list, search, link); @@ -1224,19 +1237,18 @@ clear_searchlist(void) { } static void -create_search_list(irs_resconf_t *resconf) { +create_search_list(irs_resconf_t *resconf) +{ irs_resconf_searchlist_t *list; - irs_resconf_search_t *entry; - dig_searchlist_t *search; + irs_resconf_search_t * entry; + dig_searchlist_t * search; debug("create_search_list()"); clear_searchlist(); list = irs_resconf_getsearchlist(resconf); - for (entry = ISC_LIST_HEAD(*list); - entry != NULL; - entry = ISC_LIST_NEXT(entry, link)) - { + for (entry = ISC_LIST_HEAD(*list); entry != NULL; + entry = ISC_LIST_NEXT(entry, link)) { search = make_searchlist_entry(entry->domain); ISC_LIST_APPEND(search_list, search, link); } @@ -1249,7 +1261,8 @@ create_search_list(irs_resconf_t *resconf) { * libirs are usable due to the specified address family restrictions. */ static void -add_fallback_nameserver(const char *addr) { +add_fallback_nameserver(const char *addr) +{ dig_server_t *server = make_server(addr, addr); ISC_LINK_INIT(server, link); ISC_LIST_APPEND(server_list, server, link); @@ -1260,9 +1273,10 @@ add_fallback_nameserver(const char *addr) { * settings. */ void -setup_system(bool ipv4only, bool ipv6only) { +setup_system(bool ipv4only, bool ipv6only) +{ irs_resconf_t *resconf = NULL; - isc_result_t result; + isc_result_t result; debug("setup_system()"); @@ -1329,7 +1343,8 @@ setup_system(bool ipv4only, bool ipv6only) { * Override the search list derived from resolv.conf by 'domain'. */ void -set_search_domain(char *domain) { +set_search_domain(char *domain) +{ dig_searchlist_t *search; clear_searchlist(); @@ -1341,8 +1356,9 @@ set_search_domain(char *domain) { * Setup the ISC and DNS libraries for use by the system. */ void -setup_libs(void) { - isc_result_t result; +setup_libs(void) +{ + isc_result_t result; isc_logconfig_t *logconfig = NULL; debug("setup_libs()"); @@ -1407,37 +1423,38 @@ setup_libs(void) { } typedef struct dig_ednsoptname { - uint32_t code; - const char *name; + uint32_t code; + const char *name; } dig_ednsoptname_t; dig_ednsoptname_t optnames[] = { - { 1, "LLQ" }, /* draft-sekar-dns-llq */ - { 3, "NSID" }, /* RFC 5001 */ - { 5, "DAU" }, /* RFC 6975 */ - { 6, "DHU" }, /* RFC 6975 */ - { 7, "N3U" }, /* RFC 6975 */ - { 8, "ECS" }, /* RFC 7871 */ - { 9, "EXPIRE" }, /* RFC 7314 */ - { 10, "COOKIE" }, /* RFC 7873 */ - { 11, "KEEPALIVE" }, /* RFC 7828 */ - { 12, "PADDING" }, /* RFC 7830 */ - { 12, "PAD" }, /* shorthand */ - { 13, "CHAIN" }, /* RFC 7901 */ - { 14, "KEY-TAG" }, /* RFC 8145 */ - { 16, "CLIENT-TAG" }, /* draft-bellis-dnsop-edns-tags */ - { 17, "SERVER-TAG" }, /* draft-bellis-dnsop-edns-tags */ - { 26946, "DEVICEID" }, /* Brian Hartvigsen */ + { 1, "LLQ" }, /* draft-sekar-dns-llq */ + { 3, "NSID" }, /* RFC 5001 */ + { 5, "DAU" }, /* RFC 6975 */ + { 6, "DHU" }, /* RFC 6975 */ + { 7, "N3U" }, /* RFC 6975 */ + { 8, "ECS" }, /* RFC 7871 */ + { 9, "EXPIRE" }, /* RFC 7314 */ + { 10, "COOKIE" }, /* RFC 7873 */ + { 11, "KEEPALIVE" }, /* RFC 7828 */ + { 12, "PADDING" }, /* RFC 7830 */ + { 12, "PAD" }, /* shorthand */ + { 13, "CHAIN" }, /* RFC 7901 */ + { 14, "KEY-TAG" }, /* RFC 8145 */ + { 16, "CLIENT-TAG" }, /* draft-bellis-dnsop-edns-tags */ + { 17, "SERVER-TAG" }, /* draft-bellis-dnsop-edns-tags */ + { 26946, "DEVICEID" }, /* Brian Hartvigsen */ }; -#define N_EDNS_OPTNAMES (sizeof(optnames) / sizeof(optnames[0])) +#define N_EDNS_OPTNAMES (sizeof(optnames) / sizeof(optnames[0])) void -save_opt(dig_lookup_t *lookup, char *code, char *value) { +save_opt(dig_lookup_t *lookup, char *code, char *value) +{ isc_result_t result; - uint32_t num = 0; + uint32_t num = 0; isc_buffer_t b; - bool found = false; + bool found = false; unsigned int i; if (lookup->ednsoptscnt >= EDNSOPT_OPTIONS) @@ -1471,13 +1488,13 @@ save_opt(dig_lookup_t *lookup, char *code, char *value) { if (value != NULL) { char *buf; buf = isc_mem_allocate(mctx, strlen(value) / 2 + 1); - isc_buffer_init(&b, buf, (unsigned int) strlen(value)/2 + 1); + isc_buffer_init(&b, buf, (unsigned int)strlen(value) / 2 + 1); result = isc_hex_decodestring(value, &b); check_result(result, "isc_hex_decodestring"); lookup->ednsopts[lookup->ednsoptscnt].value = - isc_buffer_base(&b); + isc_buffer_base(&b); lookup->ednsopts[lookup->ednsoptscnt].length = - isc_buffer_usedlength(&b); + isc_buffer_usedlength(&b); } lookup->ednsoptscnt++; @@ -1489,11 +1506,11 @@ save_opt(dig_lookup_t *lookup, char *code, char *value) { * (e.g., NSID, COOKIE, client-subnet) */ static void -add_opt(dns_message_t *msg, uint16_t udpsize, uint16_t edns, - unsigned int flags, dns_ednsopt_t *opts, size_t count) +add_opt(dns_message_t *msg, uint16_t udpsize, uint16_t edns, unsigned int flags, + dns_ednsopt_t *opts, size_t count) { dns_rdataset_t *rdataset = NULL; - isc_result_t result; + isc_result_t result; debug("add_opt()"); result = dns_message_buildopt(msg, &rdataset, edns, udpsize, flags, @@ -1508,11 +1525,11 @@ add_opt(dns_message_t *msg, uint16_t udpsize, uint16_t edns, * type, and class. */ static void -add_question(dns_message_t *message, dns_name_t *name, - dns_rdataclass_t rdclass, dns_rdatatype_t rdtype) +add_question(dns_message_t *message, dns_name_t *name, dns_rdataclass_t rdclass, + dns_rdatatype_t rdtype) { dns_rdataset_t *rdataset; - isc_result_t result; + isc_result_t result; debug("add_question()"); rdataset = NULL; @@ -1531,7 +1548,8 @@ add_question(dns_message_t *message, dns_name_t *name, * a whole or reseed the lookup list. */ static void -check_if_done(void) { +check_if_done(void) +{ debug("check_if_done()"); debug("list %s", ISC_LIST_EMPTY(lookup_list) ? "empty" : "full"); if (ISC_LIST_EMPTY(lookup_list) && current_lookup == NULL && @@ -1548,7 +1566,8 @@ check_if_done(void) { * WILL invalidate the query pointer. */ static void -clear_query(dig_query_t *query) { +clear_query(dig_query_t *query) +{ dig_lookup_t *lookup; REQUIRE(query != NULL); @@ -1596,7 +1615,8 @@ clear_query(dig_query_t *query) { * lookup pointer has been invalidated. */ static bool -try_clear_lookup(dig_lookup_t *lookup) { +try_clear_lookup(dig_lookup_t *lookup) +{ dig_query_t *q; REQUIRE(lookup != NULL); @@ -1604,8 +1624,7 @@ try_clear_lookup(dig_lookup_t *lookup) { debug("try_clear_lookup(%p)", lookup); if (ISC_LIST_HEAD(lookup->q) != NULL || - ISC_LIST_HEAD(lookup->connecting) != NULL) - { + ISC_LIST_HEAD(lookup->connecting) != NULL) { if (debugging) { q = ISC_LIST_HEAD(lookup->q); while (q != NULL) { @@ -1632,9 +1651,10 @@ try_clear_lookup(dig_lookup_t *lookup) { } void -destroy_lookup(dig_lookup_t *lookup) { +destroy_lookup(dig_lookup_t *lookup) +{ dig_server_t *s; - void *ptr; + void * ptr; debug("destroy"); s = ISC_LIST_HEAD(lookup->my_server_list); @@ -1642,8 +1662,8 @@ destroy_lookup(dig_lookup_t *lookup) { debug("freeing server %p belonging to %p", s, lookup); ptr = s; s = ISC_LIST_NEXT(s, link); - ISC_LIST_DEQUEUE(lookup->my_server_list, - (dig_server_t *)ptr, link); + ISC_LIST_DEQUEUE(lookup->my_server_list, (dig_server_t *)ptr, + link); isc_mem_free(mctx, ptr); } if (lookup->sendmsg != NULL) @@ -1680,7 +1700,8 @@ destroy_lookup(dig_lookup_t *lookup) { * setting the current_lookup pointer pointing to it. */ void -start_lookup(void) { +start_lookup(void) +{ debug("start_lookup()"); if (cancel_now) return; @@ -1711,8 +1732,8 @@ start_lookup(void) { * This calls try_clear_lookup, so may invalidate the lookup pointer. */ static void -check_next_lookup(dig_lookup_t *lookup) { - +check_next_lookup(dig_lookup_t *lookup) +{ INSIST(!free_now); debug("check_next_lookup(%p)", lookup); @@ -1736,19 +1757,19 @@ check_next_lookup(dig_lookup_t *lookup) { static int followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section) { - dig_lookup_t *lookup = NULL; - dig_server_t *srv = NULL; + dig_lookup_t * lookup = NULL; + dig_server_t * srv = NULL; dns_rdataset_t *rdataset = NULL; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_name_t *name = NULL; - isc_result_t result; - bool success = false; - int numLookups = 0; - int num; - isc_result_t lresult, addresses_result; - char bad_namestr[DNS_NAME_FORMATSIZE]; - dns_name_t *domain; - bool horizontal = false, bad = false; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_name_t * name = NULL; + isc_result_t result; + bool success = false; + int numLookups = 0; + int num; + isc_result_t lresult, addresses_result; + char bad_namestr[DNS_NAME_FORMATSIZE]; + dns_name_t * domain; + bool horizontal = false, bad = false; INSIST(!free_now); @@ -1779,12 +1800,12 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section) if (query->lookup->trace && !query->lookup->trace_root) { dns_namereln_t namereln; - unsigned int nlabels; - int order; + unsigned int nlabels; + int order; domain = dns_fixedname_name(&query->lookup->fdomain); - namereln = dns_name_fullcompare(name, domain, - &order, &nlabels); + namereln = dns_name_fullcompare(name, domain, &order, + &nlabels); if (namereln == dns_namereln_equal) { if (!horizontal) { dighost_warning("BAD (HORIZONTAL) " @@ -1793,7 +1814,7 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section) horizontal = true; } else if (namereln != dns_namereln_subdomain) { if (!bad) { - dighost_warning( "BAD REFERRAL"); + dighost_warning("BAD REFERRAL"); } bad = true; continue; @@ -1803,7 +1824,7 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section) for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(rdataset)) { - char namestr[DNS_NAME_FORMATSIZE]; + char namestr[DNS_NAME_FORMATSIZE]; dns_rdata_ns_t ns; if (query->lookup->trace_root && @@ -1823,8 +1844,7 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section) if (!success) { success = true; lookup_counter++; - lookup = requeue_lookup(query->lookup, - false); + lookup = requeue_lookup(query->lookup, false); cancel_lookup(query->lookup); lookup->doing_xfr = false; if (!lookup->trace_root && @@ -1856,12 +1876,11 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section) } } if (numLookups == 0 && addresses_result != ISC_R_SUCCESS) { - fatal("couldn't get address for '%s': %s", - bad_namestr, isc_result_totext(result)); + fatal("couldn't get address for '%s': %s", bad_namestr, + isc_result_totext(result)); } - if (lookup == NULL && - section == DNS_SECTION_ANSWER && + if (lookup == NULL && section == DNS_SECTION_ANSWER && (query->lookup->trace || query->lookup->ns_search_only)) return (followup_lookup(msg, query, DNS_SECTION_AUTHORITY)); @@ -1869,15 +1888,14 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section) * Randomize the order the nameserver will be tried. */ if (numLookups > 1) { - uint32_t i, j; + uint32_t i, j; dig_serverlist_t my_server_list; - dig_server_t *next; + dig_server_t * next; ISC_LIST_INIT(my_server_list); i = numLookups; - for (srv = ISC_LIST_HEAD(lookup->my_server_list); - srv != NULL; + for (srv = ISC_LIST_HEAD(lookup->my_server_list); srv != NULL; srv = ISC_LIST_HEAD(lookup->my_server_list)) { INSIST(i > 0); j = isc_random_uniform(i); @@ -1890,8 +1908,8 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section) ISC_LIST_APPEND(my_server_list, srv, link); i--; } - ISC_LIST_APPENDLIST(lookup->my_server_list, - my_server_list, link); + ISC_LIST_APPENDLIST(lookup->my_server_list, my_server_list, + link); } return (numLookups); @@ -1904,12 +1922,13 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section) * Return true iff there was another searchlist entry. */ static bool -next_origin(dig_lookup_t *oldlookup) { - dig_lookup_t *newlookup; +next_origin(dig_lookup_t *oldlookup) +{ + dig_lookup_t * newlookup; dig_searchlist_t *search; - dns_fixedname_t fixed; - dns_name_t *name; - isc_result_t result; + dns_fixedname_t fixed; + dns_name_t * name; + isc_result_t result; INSIST(!free_now); @@ -1927,8 +1946,7 @@ next_origin(dig_lookup_t *oldlookup) { * Check for a absolute name or ndots being met. */ name = dns_fixedname_initname(&fixed); - result = dns_name_fromstring2(name, oldlookup->textname, NULL, - 0, NULL); + result = dns_name_fromstring2(name, oldlookup->textname, NULL, 0, NULL); if (result == ISC_R_SUCCESS && (dns_name_isabsolute(name) || (int)dns_name_countlabels(name) > ndots)) @@ -1959,13 +1977,14 @@ next_origin(dig_lookup_t *oldlookup) { * creating IXFR queries. */ static void -insert_soa(dig_lookup_t *lookup) { - isc_result_t result; - dns_rdata_soa_t soa; - dns_rdata_t *rdata = NULL; +insert_soa(dig_lookup_t *lookup) +{ + isc_result_t result; + dns_rdata_soa_t soa; + dns_rdata_t * rdata = NULL; dns_rdatalist_t *rdatalist = NULL; - dns_rdataset_t *rdataset = NULL; - dns_name_t *soaname = NULL; + dns_rdataset_t * rdataset = NULL; + dns_name_t * soaname = NULL; debug("insert_soa()"); soa.mctx = mctx; @@ -1989,9 +2008,8 @@ insert_soa(dig_lookup_t *lookup) { result = dns_message_gettemprdata(lookup->sendmsg, &rdata); check_result(result, "dns_message_gettemprdata"); - result = dns_rdata_fromstruct(rdata, lookup->rdclass, - dns_rdatatype_soa, &soa, - &lookup->rdatabuf); + result = dns_rdata_fromstruct(rdata, lookup->rdclass, dns_rdatatype_soa, + &soa, &lookup->rdatabuf); check_result(result, "isc_rdata_fromstruct"); result = dns_message_gettemprdatalist(lookup->sendmsg, &rdatalist); @@ -2017,7 +2035,8 @@ insert_soa(dig_lookup_t *lookup) { } static void -compute_cookie(unsigned char *clientcookie, size_t len) { +compute_cookie(unsigned char *clientcookie, size_t len) +{ /* XXXMPA need to fix, should be per server. */ INSIST(len >= 8U); memmove(clientcookie, cookie_secret, 8); @@ -2030,26 +2049,27 @@ compute_cookie(unsigned char *clientcookie, size_t len) { * server list is empty, clone it from the system default list. */ bool -setup_lookup(dig_lookup_t *lookup) { - isc_result_t result; - unsigned int len; - dig_server_t *serv; - dig_query_t *query; - isc_buffer_t b; +setup_lookup(dig_lookup_t *lookup) +{ + isc_result_t result; + unsigned int len; + dig_server_t * serv; + dig_query_t * query; + isc_buffer_t b; dns_compress_t cctx; - char store[MXNAME]; - char ecsbuf[20]; - char cookiebuf[256]; - char *origin = NULL; - char *textname = NULL; + char store[MXNAME]; + char ecsbuf[20]; + char cookiebuf[256]; + char * origin = NULL; + char * textname = NULL; REQUIRE(lookup != NULL); #ifdef HAVE_LIBIDN2 char idn_origin[MXNAME], idn_textname[MXNAME]; - result = dns_name_settotextfilter(lookup->idnout ? - idn_output_filter : NULL); + result = dns_name_settotextfilter(lookup->idnout ? idn_output_filter + : NULL); check_result(result, "dns_name_settotextfilter"); #endif /* HAVE_LIBIDN2 */ @@ -2101,8 +2121,7 @@ setup_lookup(dig_lookup_t *lookup) { * is TRUE or we got a domain line in the resolv.conf file. */ if (lookup->new_search) { - if ((count_dots(textname) >= ndots) || !usesearch) - { + if ((count_dots(textname) >= ndots) || !usesearch) { lookup->origin = NULL; /* Force abs lookup */ lookup->done_as_is = true; lookup->need_search = usesearch; @@ -2128,41 +2147,38 @@ setup_lookup(dig_lookup_t *lookup) { origin = idn_origin; } #endif /* HAVE_LIBIDN2 */ - len = (unsigned int) strlen(origin); + len = (unsigned int)strlen(origin); isc_buffer_init(&b, origin, len); isc_buffer_add(&b, len); - result = dns_name_fromtext(lookup->oname, &b, dns_rootname, - 0, &lookup->onamebuf); + result = dns_name_fromtext(lookup->oname, &b, dns_rootname, 0, + &lookup->onamebuf); if (result != ISC_R_SUCCESS) { - dns_message_puttempname(lookup->sendmsg, - &lookup->name); + dns_message_puttempname(lookup->sendmsg, &lookup->name); dns_message_puttempname(lookup->sendmsg, &lookup->oname); - fatal("'%s' is not in legal name syntax (%s)", - origin, + fatal("'%s' is not in legal name syntax (%s)", origin, isc_result_totext(result)); } if (lookup->trace && lookup->trace_root) { dns_name_clone(dns_rootname, lookup->name); } else { dns_fixedname_t fixed; - dns_name_t *name; + dns_name_t * name; name = dns_fixedname_initname(&fixed); - len = (unsigned int) strlen(textname); + len = (unsigned int)strlen(textname); isc_buffer_init(&b, textname, len); isc_buffer_add(&b, len); result = dns_name_fromtext(name, &b, NULL, 0, NULL); if (result == ISC_R_SUCCESS) { if (!dns_name_isabsolute(name)) { - result = dns_name_concatenate(name, - lookup->oname, - lookup->name, - &lookup->namebuf); + result = dns_name_concatenate( + name, lookup->oname, + lookup->name, &lookup->namebuf); } else { - result = dns_name_copy(name, - lookup->name, - &lookup->namebuf); + result = dns_name_copy( + name, lookup->name, + &lookup->namebuf); } } if (result != ISC_R_SUCCESS) { @@ -2184,7 +2200,7 @@ setup_lookup(dig_lookup_t *lookup) { if (lookup->trace && lookup->trace_root) dns_name_clone(dns_rootname, lookup->name); else { - len = (unsigned int) strlen(textname); + len = (unsigned int)strlen(textname); isc_buffer_init(&b, textname, len); isc_buffer_add(&b, len); result = dns_name_fromtext(lookup->name, &b, @@ -2192,11 +2208,10 @@ setup_lookup(dig_lookup_t *lookup) { &lookup->namebuf); } if (result != ISC_R_SUCCESS) { - dns_message_puttempname(lookup->sendmsg, - &lookup->name); + dns_message_puttempname(lookup->sendmsg, &lookup->name); warn("'%s' is not a legal name " - "(%s)", lookup->textname, - isc_result_totext(result)); + "(%s)", + lookup->textname, isc_result_totext(result)); #if TARGET_OS_IPHONE check_next_lookup(current_lookup); return (false); @@ -2221,8 +2236,7 @@ setup_lookup(dig_lookup_t *lookup) { lookup->recurse = false; } - if (lookup->recurse && - lookup->rdtype != dns_rdatatype_axfr && + if (lookup->recurse && lookup->rdtype != dns_rdatatype_axfr && lookup->rdtype != dns_rdatatype_ixfr) { debug("recursive query"); lookup->sendmsg->flags |= DNS_MESSAGEFLAG_RD; @@ -2309,13 +2323,12 @@ setup_lookup(dig_lookup_t *lookup) { result = dns_message_renderbegin(lookup->sendmsg, &cctx, &lookup->renderbuf); check_result(result, "dns_message_renderbegin"); - if (lookup->udpsize > 0 || lookup->dnssec || - lookup->edns > -1 || lookup->ecs_addr != NULL) - { + if (lookup->udpsize > 0 || lookup->dnssec || lookup->edns > -1 || + lookup->ecs_addr != NULL) { #define MAXOPTS (EDNSOPT_OPTIONS + DNS_EDNSOPTIONS) dns_ednsopt_t opts[MAXOPTS]; - unsigned int flags; - unsigned int i = 0; + unsigned int flags; + unsigned int i = 0; /* * There can't be more than MAXOPTS options to send: @@ -2337,13 +2350,13 @@ setup_lookup(dig_lookup_t *lookup) { } if (lookup->ecs_addr != NULL) { - uint8_t addr[16]; - uint16_t family = 0; - uint32_t plen; - struct sockaddr *sa; - struct sockaddr_in *sin; + uint8_t addr[16]; + uint16_t family = 0; + uint32_t plen; + struct sockaddr * sa; + struct sockaddr_in * sin; struct sockaddr_in6 *sin6; - size_t addrl; + size_t addrl; sa = &lookup->ecs_addr->type.sa; plen = lookup->ecs_addr->length; @@ -2353,7 +2366,7 @@ setup_lookup(dig_lookup_t *lookup) { INSIST(i < MAXOPTS); opts[i].code = DNS_OPT_CLIENT_SUBNET; - opts[i].length = (uint16_t) addrl + 4; + opts[i].length = (uint16_t)addrl + 4; check_result(result, "isc_buffer_allocate"); /* @@ -2384,13 +2397,13 @@ setup_lookup(dig_lookup_t *lookup) { case AF_INET: INSIST(plen <= 32); family = 1; - sin = (struct sockaddr_in *) sa; + sin = (struct sockaddr_in *)sa; memmove(addr, &sin->sin_addr, addrl); break; case AF_INET6: INSIST(plen <= 128); family = 2; - sin6 = (struct sockaddr_in6 *) sa; + sin6 = (struct sockaddr_in6 *)sa; memmove(addr, &sin6->sin6_addr, addrl); break; default: @@ -2410,13 +2423,12 @@ setup_lookup(dig_lookup_t *lookup) { if (addrl > 0) { /* Mask off last address byte */ if ((plen % 8) != 0) - addr[addrl - 1] &= - ~0U << (8 - (plen % 8)); - isc_buffer_putmem(&b, addr, - (unsigned)addrl); + addr[addrl - 1] &= ~0U + << (8 - (plen % 8)); + isc_buffer_putmem(&b, addr, (unsigned)addrl); } - opts[i].value = (uint8_t *) ecsbuf; + opts[i].value = (uint8_t *)ecsbuf; i++; } @@ -2481,8 +2493,8 @@ setup_lookup(dig_lookup_t *lookup) { flags &= ~DNS_MESSAGEEXTFLAG_DO; if (lookup->dnssec) flags |= DNS_MESSAGEEXTFLAG_DO; - add_opt(lookup->sendmsg, lookup->udpsize, - lookup->edns, flags, opts, i); + add_opt(lookup->sendmsg, lookup->udpsize, lookup->edns, flags, + opts, i); } result = dns_message_rendersection(lookup->sendmsg, @@ -2505,10 +2517,8 @@ setup_lookup(dig_lookup_t *lookup) { lookup->pending = false; - for (serv = ISC_LIST_HEAD(lookup->my_server_list); - serv != NULL; - serv = ISC_LIST_NEXT(serv, link)) - { + for (serv = ISC_LIST_HEAD(lookup->my_server_list); serv != NULL; + serv = ISC_LIST_NEXT(serv, link)) { query = isc_mem_allocate(mctx, sizeof(dig_query_t)); debug("create query %p linked to lookup %p", query, lookup); query->lookup = lookup; @@ -2563,8 +2573,9 @@ setup_lookup(dig_lookup_t *lookup) { * the query if the send was canceled. */ static void -send_done(isc_task_t *_task, isc_event_t *event) { - dig_query_t *query, *next; +send_done(isc_task_t *_task, isc_event_t *event) +{ + dig_query_t * query, *next; dig_lookup_t *l; REQUIRE(event->ev_type == ISC_SOCKEVENT_SENDDONE); @@ -2583,9 +2594,8 @@ send_done(isc_task_t *_task, isc_event_t *event) { query->waiting_senddone = false; l = query->lookup; - if (!query->pending_free && l->ns_search_only && - !l->trace_root && !l->tcp_mode) - { + if (!query->pending_free && l->ns_search_only && !l->trace_root && + !l->tcp_mode) { debug("sending next, since searching"); next = ISC_LIST_NEXT(query, link); if (next != NULL) { @@ -2610,7 +2620,8 @@ send_done(isc_task_t *_task, isc_event_t *event) { * query and lookup structures */ static void -cancel_lookup(dig_lookup_t *lookup) { +cancel_lookup(dig_lookup_t *lookup) +{ dig_query_t *query, *next; debug("cancel_lookup()"); @@ -2632,10 +2643,11 @@ cancel_lookup(dig_lookup_t *lookup) { } static void -bringup_timer(dig_query_t *query, unsigned int default_timeout) { +bringup_timer(dig_query_t *query, unsigned int default_timeout) +{ dig_lookup_t *l; - unsigned int local_timeout; - isc_result_t result; + unsigned int local_timeout; + isc_result_t result; REQUIRE(DIG_VALID_QUERY(query)); debug("bringup_timer()"); @@ -2664,13 +2676,13 @@ bringup_timer(dig_query_t *query, unsigned int default_timeout) { } static void -force_timeout(dig_query_t *query) { +force_timeout(dig_query_t *query) +{ isc_event_t *event; debug("force_timeout ()"); event = isc_event_allocate(mctx, query, ISC_TIMEREVENT_IDLE, - connect_timeout, query, - sizeof(isc_event_t)); + connect_timeout, query, sizeof(isc_event_t)); isc_task_send(global_task, &event); /* @@ -2683,7 +2695,6 @@ force_timeout(dig_query_t *query) { isc_timer_detach(&query->timer); } - static void connect_done(isc_task_t *task, isc_event_t *event); @@ -2693,9 +2704,10 @@ connect_done(isc_task_t *task, isc_event_t *event); * start anew. */ static void -send_tcp_connect(dig_query_t *query) { - isc_result_t result; - dig_query_t *next; +send_tcp_connect(dig_query_t *query) +{ + isc_result_t result; + dig_query_t * next; dig_lookup_t *l; REQUIRE(DIG_VALID_QUERY(query)); @@ -2718,7 +2730,7 @@ send_tcp_connect(dig_query_t *query) { if (!l->mapped && isc_sockaddr_pf(&query->sockaddr) == AF_INET6 && IN6_IS_ADDR_V4MAPPED(&query->sockaddr.type.sin6.sin6_addr)) { isc_netaddr_t netaddr; - char buf[ISC_NETADDR_FORMATSIZE]; + char buf[ISC_NETADDR_FORMATSIZE]; isc_netaddr_fromsockaddr(&netaddr, &query->sockaddr); isc_netaddr_format(&netaddr, buf, sizeof(buf)); @@ -2750,8 +2762,7 @@ send_tcp_connect(dig_query_t *query) { goto search; } - result = isc_socket_create(socketmgr, - isc_sockaddr_pf(&query->sockaddr), + result = isc_socket_create(socketmgr, isc_sockaddr_pf(&query->sockaddr), isc_sockettype_tcp, &query->sock); check_result(result, "isc_socket_create"); sockcount++; @@ -2763,8 +2774,7 @@ send_tcp_connect(dig_query_t *query) { result = isc_socket_bind(query->sock, &bind_address, ISC_SOCKET_REUSEADDRESS); else { - if ((isc_sockaddr_pf(&query->sockaddr) == AF_INET) && - have_ipv4) + if ((isc_sockaddr_pf(&query->sockaddr) == AF_INET) && have_ipv4) isc_sockaddr_any(&bind_any); else isc_sockaddr_any6(&bind_any); @@ -2772,10 +2782,10 @@ send_tcp_connect(dig_query_t *query) { } check_result(result, "isc_socket_bind"); bringup_timer(query, TCP_TIMEOUT); - result = isc_socket_connect(query->sock, &query->sockaddr, - global_task, connect_done, query); + result = isc_socket_connect(query->sock, &query->sockaddr, global_task, + connect_done, query); check_result(result, "isc_socket_connect"); - search: +search: /* * If we're at the endgame of a nameserver search, we need to * immediately bring up all the queries. Do it here. @@ -2794,7 +2804,8 @@ send_tcp_connect(dig_query_t *query) { } static void -print_query_size(dig_query_t *query) { +print_query_size(dig_query_t *query) +{ if (!yaml) { printf(";; QUERY SIZE: %u\n\n", isc_buffer_usedlength(&query->lookup->renderbuf)); @@ -2807,11 +2818,12 @@ print_query_size(dig_query_t *query) { * is properly reset. */ static void -send_udp(dig_query_t *query) { - dig_lookup_t *l = NULL; - isc_result_t result; - dig_query_t *next; - isc_region_t r; +send_udp(dig_query_t *query) +{ + dig_lookup_t * l = NULL; + isc_result_t result; + dig_query_t * next; + isc_region_t r; isc_socketevent_t *sevent; REQUIRE(DIG_VALID_QUERY(query)); @@ -2833,9 +2845,10 @@ send_udp(dig_query_t *query) { if (!l->mapped && isc_sockaddr_pf(&query->sockaddr) == AF_INET6 && - IN6_IS_ADDR_V4MAPPED(&query->sockaddr.type.sin6.sin6_addr)) { + IN6_IS_ADDR_V4MAPPED( + &query->sockaddr.type.sin6.sin6_addr)) { isc_netaddr_t netaddr; - char buf[ISC_NETADDR_FORMATSIZE]; + char buf[ISC_NETADDR_FORMATSIZE]; isc_netaddr_fromsockaddr(&netaddr, &query->sockaddr); isc_netaddr_format(&netaddr, buf, sizeof(buf)); @@ -2860,14 +2873,13 @@ send_udp(dig_query_t *query) { debug("sockcount=%d", sockcount); if (query->lookup->dscp != -1) isc_socket_dscp(query->sock, query->lookup->dscp); - isc_socket_ipv6only(query->sock, - !query->lookup->mapped); + isc_socket_ipv6only(query->sock, !query->lookup->mapped); if (specified_source) { result = isc_socket_bind(query->sock, &bind_address, ISC_SOCKET_REUSEADDRESS); } else { isc_sockaddr_anyofpf(&bind_any, - isc_sockaddr_pf(&query->sockaddr)); + isc_sockaddr_pf(&query->sockaddr)); result = isc_socket_bind(query->sock, &bind_any, 0); } check_result(result, "isc_socket_bind"); @@ -2876,8 +2888,8 @@ send_udp(dig_query_t *query) { isc_buffer_availableregion(&query->recvbuf, &r); debug("recving with lookup=%p, query=%p, sock=%p", query->lookup, query, query->sock); - result = isc_socket_recv(query->sock, &r, 1, - global_task, recv_done, query); + result = isc_socket_recv(query->sock, &r, 1, global_task, + recv_done, query); check_result(result, "isc_socket_recv"); recvcount++; debug("recvcount=%d", recvcount); @@ -2887,12 +2899,11 @@ send_udp(dig_query_t *query) { TIME_NOW(&query->time_sent); INSIST(query->sock != NULL); query->waiting_senddone = true; - sevent = isc_socket_socketevent(mctx, query->sock, - ISC_SOCKEVENT_SENDDONE, - send_done, query); - result = isc_socket_sendto2(query->sock, &r, - global_task, &query->sockaddr, NULL, - sevent, ISC_SOCKFLAG_NORETRY); + sevent = isc_socket_socketevent( + mctx, query->sock, ISC_SOCKEVENT_SENDDONE, send_done, query); + result = isc_socket_sendto2(query->sock, &r, global_task, + &query->sockaddr, NULL, sevent, + ISC_SOCKFLAG_NORETRY); check_result(result, "isc_socket_sendto2"); sendcount++; @@ -2914,7 +2925,8 @@ send_udp(dig_query_t *query) { * return false. */ static bool -try_next_server(dig_lookup_t *lookup) { +try_next_server(dig_lookup_t *lookup) +{ dig_query_t *current_query, *next_query; current_query = lookup->current_query; @@ -2944,9 +2956,10 @@ try_next_server(dig_lookup_t *lookup) { * new TCP lookup. Otherwise, cancel the lookup. */ static void -connect_timeout(isc_task_t *task, isc_event_t *event) { +connect_timeout(isc_task_t *task, isc_event_t *event) +{ dig_lookup_t *l = NULL; - dig_query_t *query = NULL; + dig_query_t * query = NULL; UNUSED(task); REQUIRE(event->ev_type == ISC_TIMEREVENT_IDLE); @@ -3000,7 +3013,7 @@ connect_timeout(isc_task_t *task, isc_event_t *event) { } else { if (l->ns_search_only) { isc_netaddr_t netaddr; - char buf[ISC_NETADDR_FORMATSIZE]; + char buf[ISC_NETADDR_FORMATSIZE]; isc_netaddr_fromsockaddr(&netaddr, &query->sockaddr); isc_netaddr_format(&netaddr, buf, sizeof(buf)); @@ -3023,7 +3036,8 @@ connect_timeout(isc_task_t *task, isc_event_t *event) { * Called when a peer closes a TCP socket prematurely. */ static void -requeue_or_update_exitcode(dig_lookup_t *lookup) { +requeue_or_update_exitcode(dig_lookup_t *lookup) +{ if (lookup->eoferr == 0U) { /* * Peer closed the connection prematurely for the first time @@ -3045,14 +3059,15 @@ requeue_or_update_exitcode(dig_lookup_t *lookup) { * packets. Start the next recv of length bytes. */ static void -tcp_length_done(isc_task_t *task, isc_event_t *event) { +tcp_length_done(isc_task_t *task, isc_event_t *event) +{ isc_socketevent_t *sevent; - isc_buffer_t b; - isc_region_t r; - isc_result_t result; - dig_query_t *query = NULL; - dig_lookup_t *l; - uint16_t length; + isc_buffer_t b; + isc_region_t r; + isc_result_t result; + dig_query_t * query = NULL; + dig_lookup_t * l; + uint16_t length; REQUIRE(event->ev_type == ISC_SOCKEVENT_RECVDONE); INSIST(!free_now); @@ -3079,10 +3094,9 @@ tcp_length_done(isc_task_t *task, isc_event_t *event) { } if (sevent->result != ISC_R_SUCCESS) { char sockstr[ISC_SOCKADDR_FORMATSIZE]; - isc_sockaddr_format(&query->sockaddr, sockstr, - sizeof(sockstr)); - dighost_error("communications error to %s: %s\n", - sockstr, isc_result_totext(sevent->result)); + isc_sockaddr_format(&query->sockaddr, sockstr, sizeof(sockstr)); + dighost_error("communications error to %s: %s\n", sockstr, + isc_result_totext(sevent->result)); if (keep != NULL) isc_socket_detach(&keep); l = query->lookup; @@ -3119,12 +3133,12 @@ tcp_length_done(isc_task_t *task, isc_event_t *event) { isc_buffer_init(&query->recvbuf, query->recvspace, length); isc_buffer_availableregion(&query->recvbuf, &r); debug("recving with lookup=%p, query=%p", query->lookup, query); - result = isc_socket_recv(query->sock, &r, length, task, - recv_done, query); + result = isc_socket_recv(query->sock, &r, length, task, recv_done, + query); check_result(result, "isc_socket_recv"); recvcount++; - debug("resubmitted recv request with length %d, recvcount=%d", - length, recvcount); + debug("resubmitted recv request with length %d, recvcount=%d", length, + recvcount); isc_event_free(&event); UNLOCK_LOOKUP; } @@ -3134,10 +3148,11 @@ tcp_length_done(isc_task_t *task, isc_event_t *event) { * launch the next recv. */ static void -launch_next_query(dig_query_t *query, bool include_question) { - isc_result_t result; +launch_next_query(dig_query_t *query, bool include_question) +{ + isc_result_t result; dig_lookup_t *l; - isc_region_t r; + isc_region_t r; REQUIRE(DIG_VALID_QUERY(query)); INSIST(!free_now); @@ -3159,8 +3174,8 @@ launch_next_query(dig_query_t *query, bool include_question) { isc_buffer_clear(&query->lengthbuf); isc_buffer_availableregion(&query->lengthbuf, &r); - result = isc_socket_recv(query->sock, &r, 0, - global_task, tcp_length_done, query); + result = isc_socket_recv(query->sock, &r, 0, global_task, + tcp_length_done, query); check_result(result, "isc_socket_recv"); recvcount++; debug("recvcount=%d", recvcount); @@ -3176,8 +3191,8 @@ launch_next_query(dig_query_t *query, bool include_question) { isc_buffer_copyregion(&query->tmpsendbuf, &r); } isc_buffer_usedregion(&query->tmpsendbuf, &r); - result = isc_socket_send(query->sock, &r, - global_task, send_done, query); + result = isc_socket_send(query->sock, &r, global_task, + send_done, query); check_result(result, "isc_socket_send"); sendcount++; debug("sendcount=%d", sendcount); @@ -3206,11 +3221,12 @@ launch_next_query(dig_query_t *query, bool include_question) { * question. */ static void -connect_done(isc_task_t *task, isc_event_t *event) { - char sockstr[ISC_SOCKADDR_FORMATSIZE]; +connect_done(isc_task_t *task, isc_event_t *event) +{ + char sockstr[ISC_SOCKADDR_FORMATSIZE]; isc_socketevent_t *sevent = NULL; - dig_query_t *query = NULL, *next; - dig_lookup_t *l; + dig_query_t * query = NULL, *next; + dig_lookup_t * l; UNUSED(task); @@ -3233,7 +3249,8 @@ connect_done(isc_task_t *task, isc_event_t *event) { isc_sockaddr_format(&query->sockaddr, sockstr, sizeof(sockstr)); if (query->timedout) { dighost_warning("Connection to %s(%s) for %s failed: " - "%s.", sockstr, query->servname, + "%s.", + sockstr, query->servname, query->lookup->textname, isc_result_totext(ISC_R_TIMEDOUT)); } @@ -3250,15 +3267,15 @@ connect_done(isc_task_t *task, isc_event_t *event) { return; } if (sevent->result != ISC_R_SUCCESS) { - debug("unsuccessful connection: %s", isc_result_totext(sevent->result)); isc_sockaddr_format(&query->sockaddr, sockstr, sizeof(sockstr)); if (sevent->result != ISC_R_CANCELED) { dighost_warning("Connection to %s(%s) for %s failed: " - "%s.", sockstr, query->servname, - query->lookup->textname, - isc_result_totext(sevent->result)); + "%s.", + sockstr, query->servname, + query->lookup->textname, + isc_result_totext(sevent->result)); } isc_socket_detach(&query->sock); INSIST(sockcount > 0); @@ -3307,12 +3324,12 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg, isc_socketevent_t *sevent) { dns_rdataset_t *rdataset = NULL; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_soa_t soa; - uint32_t ixfr_serial = query->lookup->ixfr_serial, serial; - isc_result_t result; - bool ixfr = query->lookup->rdtype == dns_rdatatype_ixfr; - bool axfr = query->lookup->rdtype == dns_rdatatype_axfr; + uint32_t ixfr_serial = query->lookup->ixfr_serial, serial; + isc_result_t result; + bool ixfr = query->lookup->rdtype == dns_rdatatype_ixfr; + bool axfr = query->lookup->rdtype == dns_rdatatype_axfr; if (ixfr) axfr = query->ixfr_axfr; @@ -3338,10 +3355,8 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg, do { dns_name_t *name; name = NULL; - dns_message_currentname(msg, DNS_SECTION_ANSWER, - &name); - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + dns_message_currentname(msg, DNS_SECTION_ANSWER, &name); + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { result = dns_rdataset_first(rdataset); if (result != ISC_R_SUCCESS) @@ -3419,8 +3434,7 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg, if (query->first_rr_serial == serial) { debug("got a match for ixfr"); if (!query->first_repeat_rcvd) { - query->first_repeat_rcvd = - true; + query->first_repeat_rcvd = true; goto next_rdata; } debug("done with ixfr"); @@ -3435,21 +3449,21 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg, } while (result == ISC_R_SUCCESS); launch_next_query(query, false); return (false); - doexit: +doexit: dighost_received(sevent->n, &sevent->address, query); return (true); } static void -process_cookie(dig_lookup_t *l, dns_message_t *msg, - isc_buffer_t *optbuf, size_t optlen) +process_cookie(dig_lookup_t *l, dns_message_t *msg, isc_buffer_t *optbuf, + size_t optlen) { - char bb[256]; - isc_buffer_t hexbuf; - size_t len; + char bb[256]; + isc_buffer_t hexbuf; + size_t len; const unsigned char *sent; - bool copy = true; - isc_result_t result; + bool copy = true; + isc_result_t result; if (l->cookie != NULL) { isc_buffer_init(&hexbuf, bb, sizeof(bb)); @@ -3493,13 +3507,14 @@ process_cookie(dig_lookup_t *l, dns_message_t *msg, } static void -process_opt(dig_lookup_t *l, dns_message_t *msg) { - dns_rdata_t rdata; - isc_result_t result; - isc_buffer_t optbuf; - uint16_t optcode, optlen; +process_opt(dig_lookup_t *l, dns_message_t *msg) +{ + dns_rdata_t rdata; + isc_result_t result; + isc_buffer_t optbuf; + uint16_t optcode, optlen; dns_rdataset_t *opt = msg->opt; - bool seen_cookie = false; + bool seen_cookie = false; result = dns_rdataset_first(opt); if (result == ISC_R_SUCCESS) { @@ -3531,7 +3546,8 @@ process_opt(dig_lookup_t *l, dns_message_t *msg) { } static int -ednsvers(dns_rdataset_t *opt) { +ednsvers(dns_rdataset_t *opt) +{ return ((opt->ttl >> 16) & 0xff); } @@ -3540,21 +3556,22 @@ ednsvers(dns_rdataset_t *opt) { * based on the specifics of the user's request. */ static void -recv_done(isc_task_t *task, isc_event_t *event) { +recv_done(isc_task_t *task, isc_event_t *event) +{ isc_socketevent_t *sevent = NULL; - isc_region_t r; - dig_query_t *query = NULL; - isc_buffer_t b; - dns_message_t *msg = NULL; - isc_result_t result; - dig_lookup_t *n, *l; - bool docancel = false; - bool match = true; - bool done_process_opt = false; - unsigned int parseflags; - dns_messageid_t id; - unsigned int msgflags; - int newedns; + isc_region_t r; + dig_query_t * query = NULL; + isc_buffer_t b; + dns_message_t * msg = NULL; + isc_result_t result; + dig_lookup_t * n, *l; + bool docancel = false; + bool match = true; + bool done_process_opt = false; + unsigned int parseflags; + dns_messageid_t id; + unsigned int msgflags; + int newedns; UNUSED(task); INSIST(!free_now); @@ -3581,7 +3598,7 @@ recv_done(isc_task_t *task, isc_event_t *event) { isc_timer_touch(query->timer); if ((!l->pending && !l->ns_search_only) || cancel_now) { debug("no longer pending. Got %s", - isc_result_totext(sevent->result)); + isc_result_totext(sevent->result)); query->waiting_connect = false; isc_event_free(&event); @@ -3618,12 +3635,11 @@ recv_done(isc_task_t *task, isc_event_t *event) { if (!l->tcp_mode && !isc_sockaddr_compare(&sevent->address, &query->sockaddr, - ISC_SOCKADDR_CMPADDR| - ISC_SOCKADDR_CMPPORT| - ISC_SOCKADDR_CMPSCOPE| - ISC_SOCKADDR_CMPSCOPEZERO)) { - char buf1[ISC_SOCKADDR_FORMATSIZE]; - char buf2[ISC_SOCKADDR_FORMATSIZE]; + ISC_SOCKADDR_CMPADDR | ISC_SOCKADDR_CMPPORT | + ISC_SOCKADDR_CMPSCOPE | + ISC_SOCKADDR_CMPSCOPEZERO)) { + char buf1[ISC_SOCKADDR_FORMATSIZE]; + char buf2[ISC_SOCKADDR_FORMATSIZE]; isc_sockaddr_t any; if (isc_sockaddr_pf(&query->sockaddr) == AF_INET) @@ -3632,20 +3648,21 @@ recv_done(isc_task_t *task, isc_event_t *event) { isc_sockaddr_any6(&any); /* - * We don't expect a match when the packet is - * sent to 0.0.0.0, :: or to a multicast addresses. - * XXXMPA broadcast needs to be handled here as well. - */ + * We don't expect a match when the packet is + * sent to 0.0.0.0, :: or to a multicast addresses. + * XXXMPA broadcast needs to be handled here as well. + */ if ((!isc_sockaddr_eqaddr(&query->sockaddr, &any) && !isc_sockaddr_ismulticast(&query->sockaddr)) || isc_sockaddr_getport(&query->sockaddr) != - isc_sockaddr_getport(&sevent->address)) { + isc_sockaddr_getport(&sevent->address)) { isc_sockaddr_format(&sevent->address, buf1, - sizeof(buf1)); + sizeof(buf1)); isc_sockaddr_format(&query->sockaddr, buf2, - sizeof(buf2)); + sizeof(buf2)); dighost_warning("reply from unexpected source: %s," - " expected %s\n", buf1, buf2); + " expected %s\n", + buf1, buf2); if (!l->accept_reply_unexpected_src) { match = false; } @@ -3658,13 +3675,14 @@ recv_done(isc_task_t *task, isc_event_t *event) { if (l->tcp_mode) { bool fail = true; if (result == ISC_R_SUCCESS) { - if ((!query->first_soa_rcvd || query->warn_id)) - { + if ((!query->first_soa_rcvd || + query->warn_id)) { dighost_warning("%s: ID mismatch: " "expected ID %u, got " "%u", - query->first_soa_rcvd ? - "WARNING" : "ERROR", + query->first_soa_rcvd + ? "WARNING" + : "ERROR", l->sendmsg->id, id); } if (query->first_soa_rcvd) @@ -3685,7 +3703,8 @@ recv_done(isc_task_t *task, isc_event_t *event) { match = true; } else if (result == ISC_R_SUCCESS) { dighost_warning("Warning: ID mismatch: expected ID %u," - " got %u", l->sendmsg->id, id); + " got %u", + l->sendmsg->id, id); } else { dighost_warning("Warning: short (< header size) " "message received"); @@ -3752,7 +3771,7 @@ recv_done(isc_task_t *task, isc_event_t *event) { for (result = dns_message_firstname(msg, DNS_SECTION_QUESTION); result == ISC_R_SUCCESS && match; result = dns_message_nextname(msg, DNS_SECTION_QUESTION)) { - dns_name_t *name = NULL; + dns_name_t * name = NULL; dns_rdataset_t *rdataset; dns_message_currentname(msg, DNS_SECTION_QUESTION, @@ -3776,8 +3795,9 @@ recv_done(isc_task_t *task, isc_event_t *event) { sizeof(classbuf)); dighost_warning(";; Question section " "mismatch: got " - "%s/%s/%s", namestr, - typebuf, classbuf); + "%s/%s/%s", + namestr, typebuf, + classbuf); match = false; } } @@ -3814,8 +3834,8 @@ recv_done(isc_task_t *task, isc_event_t *event) { UNLOCK_LOOKUP; return; } - if ((msg->flags & DNS_MESSAGEFLAG_TC) != 0 && - !l->ignore && !l->tcp_mode) { + if ((msg->flags & DNS_MESSAGEFLAG_TC) != 0 && !l->ignore && + !l->tcp_mode) { if (l->cookie == NULL && l->sendcookie && msg->opt != NULL) process_opt(l, msg); dighost_comments(l, "Truncated, retrying in TCP mode."); @@ -3836,8 +3856,8 @@ recv_done(isc_task_t *task, isc_event_t *event) { process_opt(l, msg); if (msg->cc_ok) { dighost_comments(l, "BADCOOKIE, retrying%s.", - l->seenbadcookie ? - " in TCP mode" : ""); + l->seenbadcookie ? " in TCP mode" + : ""); n = requeue_lookup(l, true); if (l->seenbadcookie) n->tcp_mode = true; @@ -3855,8 +3875,8 @@ recv_done(isc_task_t *task, isc_event_t *event) { done_process_opt = true; } if ((msg->rcode == dns_rcode_servfail && !l->servfail_stops) || - (check_ra && (msg->flags & DNS_MESSAGEFLAG_RA) == 0 && l->recurse)) - { + (check_ra && (msg->flags & DNS_MESSAGEFLAG_RA) == 0 && + l->recurse)) { dig_query_t *next = ISC_LIST_NEXT(query, link); if (l->current_query == query) l->current_query = NULL; @@ -3874,11 +3894,12 @@ recv_done(isc_task_t *task, isc_event_t *event) { */ if ((ISC_LIST_HEAD(l->q) != query) || (ISC_LIST_NEXT(query, link) != NULL)) { - dighost_comments(l, "Got %s from %s, trying next " + dighost_comments(l, + "Got %s from %s, trying next " "server", - msg->rcode == dns_rcode_servfail ? - "SERVFAIL reply" : - "recursion not available", + msg->rcode == dns_rcode_servfail + ? "SERVFAIL reply" + : "recursion not available", query->servname); clear_query(query); check_next_lookup(l); @@ -3903,7 +3924,7 @@ recv_done(isc_task_t *task, isc_event_t *event) { isc_buffer_free(&l->querysig); } result = dns_message_getquerytsig(msg, mctx, &l->querysig); - check_result(result,"dns_message_getquerytsig"); + check_result(result, "dns_message_getquerytsig"); } extrabytes = isc_buffer_remaininglength(&b); @@ -3933,10 +3954,8 @@ recv_done(isc_task_t *task, isc_event_t *event) { debug("have local timeout of %d", local_timeout); isc_interval_set(&l->interval, local_timeout, 0); result = isc_timer_reset(query->timer, - isc_timertype_once, - NULL, - &l->interval, - false); + isc_timertype_once, NULL, + &l->interval, false); check_result(result, "isc_timer_reset"); } } @@ -4024,7 +4043,6 @@ recv_done(isc_task_t *task, isc_event_t *event) { check_next_lookup(l); } } else { - if (msg->rcode == dns_rcode_noerror || l->origin == NULL) { dighost_received(isc_buffer_usedlength(&b), &sevent->address, query); @@ -4033,8 +4051,7 @@ recv_done(isc_task_t *task, isc_event_t *event) { if (!query->lookup->ns_search_only) query->lookup->pending = false; if (!query->lookup->ns_search_only || - query->lookup->trace_root || docancel) - { + query->lookup->trace_root || docancel) { dns_message_destroy(&msg); cancel_lookup(l); } @@ -4048,12 +4065,12 @@ recv_done(isc_task_t *task, isc_event_t *event) { UNLOCK_LOOKUP; return; - udp_mismatch: +udp_mismatch: isc_buffer_invalidate(&query->recvbuf); isc_buffer_init(&query->recvbuf, query->recvspace, COMMSIZE); isc_buffer_availableregion(&query->recvbuf, &r); - result = isc_socket_recv(query->sock, &r, 1, - global_task, recv_done, query); + result = isc_socket_recv(query->sock, &r, 1, global_task, recv_done, + query); check_result(result, "isc_socket_recv"); recvcount++; isc_event_free(&event); @@ -4067,10 +4084,11 @@ recv_done(isc_task_t *task, isc_event_t *event) { * routines, since they may be using a non-DNS system for these lookups. */ isc_result_t -get_address(char *host, in_port_t myport, isc_sockaddr_t *sockaddr) { - int count; +get_address(char *host, in_port_t myport, isc_sockaddr_t *sockaddr) +{ + int count; isc_result_t result; - bool is_running; + bool is_running; is_running = isc_app_isrunning(); if (is_running) @@ -4087,22 +4105,23 @@ get_address(char *host, in_port_t myport, isc_sockaddr_t *sockaddr) { } int -getaddresses(dig_lookup_t *lookup, const char *host, isc_result_t *resultp) { - isc_result_t result; +getaddresses(dig_lookup_t *lookup, const char *host, isc_result_t *resultp) +{ + isc_result_t result; isc_sockaddr_t sockaddrs[DIG_MAX_ADDRESSES]; - isc_netaddr_t netaddr; - int count, i; - dig_server_t *srv; - char tmp[ISC_NETADDR_FORMATSIZE]; + isc_netaddr_t netaddr; + int count, i; + dig_server_t * srv; + char tmp[ISC_NETADDR_FORMATSIZE]; - result = bind9_getaddresses(host, 0, sockaddrs, - DIG_MAX_ADDRESSES, &count); + result = bind9_getaddresses(host, 0, sockaddrs, DIG_MAX_ADDRESSES, + &count); if (resultp != NULL) *resultp = result; if (result != ISC_R_SUCCESS) { if (resultp == NULL) - fatal("couldn't get address for '%s': %s", - host, isc_result_totext(result)); + fatal("couldn't get address for '%s': %s", host, + isc_result_totext(result)); return (0); } @@ -4120,7 +4139,8 @@ getaddresses(dig_lookup_t *lookup, const char *host, isc_result_t *resultp) { * Initiate either a TCP or UDP lookup */ void -do_lookup(dig_lookup_t *lookup) { +do_lookup(dig_lookup_t *lookup) +{ dig_query_t *query; REQUIRE(lookup != NULL); @@ -4141,7 +4161,8 @@ do_lookup(dig_lookup_t *lookup) { * Start everything in action upon task startup. */ void -onrun_callback(isc_task_t *task, isc_event_t *event) { +onrun_callback(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); isc_event_free(&event); @@ -4155,9 +4176,10 @@ onrun_callback(isc_task_t *task, isc_event_t *event) { * SIGINT handler. */ void -cancel_all(void) { +cancel_all(void) +{ dig_lookup_t *l, *n; - dig_query_t *q, *nq; + dig_query_t * q, *nq; debug("cancel_all()"); @@ -4168,23 +4190,18 @@ cancel_all(void) { } cancel_now = true; if (current_lookup != NULL) { - for (q = ISC_LIST_HEAD(current_lookup->q); - q != NULL; - q = nq) - { + for (q = ISC_LIST_HEAD(current_lookup->q); q != NULL; q = nq) { nq = ISC_LIST_NEXT(q, link); - debug("canceling pending query %p, belonging to %p", - q, current_lookup); + debug("canceling pending query %p, belonging to %p", q, + current_lookup); if (q->sock != NULL) isc_socket_cancel(q->sock, NULL, ISC_SOCKCANCEL_ALL); else clear_query(q); } - for (q = ISC_LIST_HEAD(current_lookup->connecting); - q != NULL; - q = nq) - { + for (q = ISC_LIST_HEAD(current_lookup->connecting); q != NULL; + q = nq) { nq = ISC_LIST_NEXT(q, clink); debug("canceling connecting query %p, belonging to %p", q, current_lookup); @@ -4210,7 +4227,8 @@ cancel_all(void) { * clean shutdown. */ void -destroy_libs(void) { +destroy_libs(void) +{ #ifdef HAVE_LIBIDN2 isc_result_t result; #endif /* HAVE_LIBIDN2 */ @@ -4289,8 +4307,9 @@ destroy_libs(void) { #ifdef HAVE_LIBIDN2 static isc_result_t -idn_output_filter(isc_buffer_t *buffer, unsigned int used_org) { - char src[MXNAME], *dst; +idn_output_filter(isc_buffer_t *buffer, unsigned int used_org) +{ + char src[MXNAME], *dst; size_t srclen, dstlen; /* @@ -4341,10 +4360,11 @@ idn_output_filter(isc_buffer_t *buffer, unsigned int used_org) { * 'dst' MUST be large enough to hold any valid domain name. */ static void -idn_locale_to_ace(const char *src, char *dst, size_t dstlen) { +idn_locale_to_ace(const char *src, char *dst, size_t dstlen) +{ const char *final_src; - char *ascii_src; - int res; + char * ascii_src; + int res; /* * We trust libidn2 to return an error if 'src' is too large to be a @@ -4376,9 +4396,10 @@ idn_locale_to_ace(const char *src, char *dst, size_t dstlen) { * The caller MUST subsequently release 'dst' using idn2_free(). */ static void -idn_ace_to_locale(const char *src, char **dst) { +idn_ace_to_locale(const char *src, char **dst) +{ char *local_src, *utf8_src; - int res; + int res; /* * We need to: @@ -4403,8 +4424,8 @@ idn_ace_to_locale(const char *src, char **dst) { */ res = idn2_to_unicode_8z8z(src, &utf8_src, 0); if (res != IDN2_OK) { - fatal("Bad ACE string '%s' (%s), use +noidnout", - src, idn2_strerror(res)); + fatal("Bad ACE string '%s' (%s), use +noidnout", src, + idn2_strerror(res)); } /* @@ -4431,9 +4452,10 @@ idn_ace_to_locale(const char *src, char **dst) { "use +noidnout or a different locale", src, idn2_strerror(res)); } else if (!warned) { - fprintf(stderr, ";; Warning: cannot represent '%s' " - "in the current locale", - local_src); + fprintf(stderr, + ";; Warning: cannot represent '%s' " + "in the current locale", + local_src); warned = true; } } diff --git a/bin/dig/host.c b/bin/dig/host.c index 53a3a5fc8b..444e9bbeea 100644 --- a/bin/dig/host.c +++ b/bin/dig/host.c @@ -12,9 +12,9 @@ /*! \file */ #include +#include #include #include -#include #ifdef HAVE_LOCALE_H #include @@ -25,8 +25,8 @@ #include #include #include -#include #include +#include #include #include @@ -35,81 +35,54 @@ #include #include #include -#include #include +#include #include -static bool short_form = true, listed_server = false; -static bool default_lookups = true; -static int seen_error = -1; -static bool list_addresses = true; -static bool list_almost_all = false; +static bool short_form = true, listed_server = false; +static bool default_lookups = true; +static int seen_error = -1; +static bool list_addresses = true; +static bool list_almost_all = false; static dns_rdatatype_t list_type = dns_rdatatype_a; -static bool printed_server = false; -static bool ipv4only = false, ipv6only = false; +static bool printed_server = false; +static bool ipv4only = false, ipv6only = false; -static const char *opcodetext[] = { - "QUERY", - "IQUERY", - "STATUS", - "RESERVED3", - "NOTIFY", - "UPDATE", - "RESERVED6", - "RESERVED7", - "RESERVED8", - "RESERVED9", - "RESERVED10", - "RESERVED11", - "RESERVED12", - "RESERVED13", - "RESERVED14", - "RESERVED15" -}; +static const char *opcodetext[] = { "QUERY", "IQUERY", "STATUS", + "RESERVED3", "NOTIFY", "UPDATE", + "RESERVED6", "RESERVED7", "RESERVED8", + "RESERVED9", "RESERVED10", "RESERVED11", + "RESERVED12", "RESERVED13", "RESERVED14", + "RESERVED15" }; -static const char *rcodetext[] = { - "NOERROR", - "FORMERR", - "SERVFAIL", - "NXDOMAIN", - "NOTIMP", - "REFUSED", - "YXDOMAIN", - "YXRRSET", - "NXRRSET", - "NOTAUTH", - "NOTZONE", - "RESERVED11", - "RESERVED12", - "RESERVED13", - "RESERVED14", - "RESERVED15", - "BADVERS" -}; +static const char *rcodetext[] = { "NOERROR", "FORMERR", "SERVFAIL", + "NXDOMAIN", "NOTIMP", "REFUSED", + "YXDOMAIN", "YXRRSET", "NXRRSET", + "NOTAUTH", "NOTZONE", "RESERVED11", + "RESERVED12", "RESERVED13", "RESERVED14", + "RESERVED15", "BADVERS" }; struct rtype { unsigned int type; - const char *text; + const char * text; }; -struct rtype rtypes[] = { - { 1, "has address" }, - { 2, "name server" }, - { 5, "is an alias for" }, - { 11, "has well known services" }, - { 12, "domain name pointer" }, - { 13, "host information" }, - { 15, "mail is handled by" }, - { 16, "descriptive text" }, - { 19, "x25 address" }, - { 20, "ISDN address" }, - { 24, "has signature" }, - { 25, "has key" }, - { 28, "has IPv6 address" }, - { 29, "location" }, - { 0, NULL } -}; +struct rtype rtypes[] = { { 1, "has address" }, + { 2, "name server" }, + { 5, "is an alias for" }, + { 11, "has well known services" }, + { 12, "domain name pointer" }, + { 13, "host information" }, + { 15, "mail is handled by" }, + { 16, "descriptive text" }, + { 19, "x25 address" }, + { 20, "ISDN address" }, + { 24, "has signature" }, + { 25, "has key" }, + { 28, "has IPv6 address" }, + { 29, "location" }, + { 0, NULL } }; static char * rcode_totext(dns_rcode_t rcode) @@ -117,10 +90,10 @@ rcode_totext(dns_rcode_t rcode) static char buf[sizeof("?65535")]; union { const char *consttext; - char *deconsttext; + char * deconsttext; } totext; - if (rcode >= (sizeof(rcodetext)/sizeof(rcodetext[0]))) { + if (rcode >= (sizeof(rcodetext) / sizeof(rcodetext[0]))) { snprintf(buf, sizeof(buf), "?%u", rcode); totext.deconsttext = buf; } else @@ -132,55 +105,61 @@ ISC_PLATFORM_NORETURN_PRE static void show_usage(void) ISC_PLATFORM_NORETURN_POST; static void -show_usage(void) { - fputs( -"Usage: host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W time]\n" -" [-R number] [-m flag] hostname [server]\n" -" -a is equivalent to -v -t ANY\n" -" -A is like -a but omits RRSIG, NSEC, NSEC3\n" -" -c specifies query class for non-IN data\n" -" -C compares SOA records on authoritative nameservers\n" -" -d is equivalent to -v\n" -" -l lists all hosts in a domain, using AXFR\n" -" -m set memory debugging flag (trace|record|usage)\n" -" -N changes the number of dots allowed before root lookup is done\n" -" -r disables recursive processing\n" -" -R specifies number of retries for UDP packets\n" -" -s a SERVFAIL response should stop query\n" -" -t specifies the query type\n" -" -T enables TCP/IP mode\n" -" -U enables UDP mode\n" -" -v enables verbose output\n" -" -V print version number and exit\n" -" -w specifies to wait forever for a reply\n" -" -W specifies how long to wait for a reply\n" -" -4 use IPv4 query transport only\n" -" -6 use IPv6 query transport only\n", stderr); +show_usage(void) +{ + fputs("Usage: host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W " + "time]\n" + " [-R number] [-m flag] hostname [server]\n" + " -a is equivalent to -v -t ANY\n" + " -A is like -a but omits RRSIG, NSEC, NSEC3\n" + " -c specifies query class for non-IN data\n" + " -C compares SOA records on authoritative nameservers\n" + " -d is equivalent to -v\n" + " -l lists all hosts in a domain, using AXFR\n" + " -m set memory debugging flag (trace|record|usage)\n" + " -N changes the number of dots allowed before root lookup " + "is done\n" + " -r disables recursive processing\n" + " -R specifies number of retries for UDP packets\n" + " -s a SERVFAIL response should stop query\n" + " -t specifies the query type\n" + " -T enables TCP/IP mode\n" + " -U enables UDP mode\n" + " -v enables verbose output\n" + " -V print version number and exit\n" + " -w specifies to wait forever for a reply\n" + " -W specifies how long to wait for a reply\n" + " -4 use IPv4 query transport only\n" + " -6 use IPv6 query transport only\n", + stderr); exit(1); } static void -host_shutdown(void) { - (void) isc_app_shutdown(); +host_shutdown(void) +{ + (void)isc_app_shutdown(); } static void -received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) { +received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) +{ isc_time_t now; - int diff; + int diff; if (!short_form) { char fromtext[ISC_SOCKADDR_FORMATSIZE]; isc_sockaddr_format(from, fromtext, sizeof(fromtext)); TIME_NOW(&now); - diff = (int) isc_time_microdiff(&now, &query->time_sent); - printf("Received %u bytes from %s in %d ms\n", - bytes, fromtext, diff/1000); + diff = (int)isc_time_microdiff(&now, &query->time_sent); + printf("Received %u bytes from %s in %d ms\n", bytes, fromtext, + diff / 1000); } } static void -trying(char *frm, dig_lookup_t *lookup) { +trying(char *frm, dig_lookup_t *lookup) +{ UNUSED(lookup); if (!short_form) @@ -192,13 +171,13 @@ say_message(dns_name_t *name, const char *msg, dns_rdata_t *rdata, dig_query_t *query) { isc_buffer_t *b = NULL; - char namestr[DNS_NAME_FORMATSIZE]; - isc_region_t r; - isc_result_t result; - unsigned int bufsize = BUFSIZ; + char namestr[DNS_NAME_FORMATSIZE]; + isc_region_t r; + isc_result_t result; + unsigned int bufsize = BUFSIZ; dns_name_format(name, namestr, sizeof(namestr)); - retry: +retry: isc_buffer_allocate(mctx, &b, bufsize); result = dns_rdata_totext(rdata, NULL, b); if (result == ISC_R_NOSPACE) { @@ -209,11 +188,9 @@ say_message(dns_name_t *name, const char *msg, dns_rdata_t *rdata, check_result(result, "dns_rdata_totext"); isc_buffer_usedregion(b, &r); if (query->lookup->identify_previous_line) { - printf("Nameserver %s:\n\t", - query->servname); + printf("Nameserver %s:\n\t", query->servname); } - printf("%s %s %.*s", namestr, - msg, (int)r.length, (char *)r.base); + printf("%s %s %.*s", namestr, msg, (int)r.length, (char *)r.base); if (query->lookup->identify) { printf(" on server %s", query->servname); } @@ -223,19 +200,18 @@ say_message(dns_name_t *name, const char *msg, dns_rdata_t *rdata, static isc_result_t printsection(dns_message_t *msg, dns_section_t sectionid, - const char *section_name, bool headers, - dig_query_t *query) + const char *section_name, bool headers, dig_query_t *query) { - dns_name_t *name, *print_name; + dns_name_t * name, *print_name; dns_rdataset_t *rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_buffer_t target; - isc_result_t result, loopresult; - isc_region_t r; - dns_name_t empty_name; - char tbuf[4096]; - bool first; - bool no_rdata; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_buffer_t target; + isc_result_t result, loopresult; + isc_region_t r; + dns_name_t empty_name; + char tbuf[4096]; + bool first; + bool no_rdata; if (sectionid == DNS_SECTION_QUESTION) no_rdata = true; @@ -261,8 +237,7 @@ printsection(dns_message_t *msg, dns_section_t sectionid, first = true; print_name = name; - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { if (query->lookup->rdtype == dns_rdatatype_axfr && !((!list_addresses && @@ -275,16 +250,14 @@ printsection(dns_message_t *msg, dns_section_t sectionid, rdataset->type == dns_rdatatype_ptr)))) continue; if (list_almost_all && - (rdataset->type == dns_rdatatype_rrsig || - rdataset->type == dns_rdatatype_nsec || - rdataset->type == dns_rdatatype_nsec3)) + (rdataset->type == dns_rdatatype_rrsig || + rdataset->type == dns_rdatatype_nsec || + rdataset->type == dns_rdatatype_nsec3)) continue; if (!short_form) { result = dns_rdataset_totext(rdataset, - print_name, - false, - no_rdata, - &target); + print_name, false, + no_rdata, &target); if (result != ISC_R_SUCCESS) return (result); #ifdef USEINITALWS @@ -299,10 +272,10 @@ printsection(dns_message_t *msg, dns_section_t sectionid, loopresult = dns_rdataset_first(rdataset); while (loopresult == ISC_R_SUCCESS) { struct rtype *t; - const char *rtt; + const char * rtt; char typebuf[DNS_RDATATYPE_FORMATSIZE]; - char typebuf2[DNS_RDATATYPE_FORMATSIZE - + 20]; + char typebuf2[DNS_RDATATYPE_FORMATSIZE + + 20]; dns_rdataset_current(rdataset, &rdata); for (t = rtypes; t->text != NULL; t++) { @@ -319,8 +292,8 @@ printsection(dns_message_t *msg, dns_section_t sectionid, "has %s record", typebuf); rtt = typebuf2; found: - say_message(print_name, rtt, - &rdata, query); + say_message(print_name, rtt, &rdata, + query); dns_rdata_reset(&rdata); loopresult = dns_rdataset_next(rdataset); @@ -330,8 +303,7 @@ printsection(dns_message_t *msg, dns_section_t sectionid, if (!short_form) { isc_buffer_usedregion(&target, &r); if (no_rdata) - printf(";%.*s", (int)r.length, - (char *)r.base); + printf(";%.*s", (int)r.length, (char *)r.base); else printf("%.*s", (int)r.length, (char *)r.base); } @@ -348,13 +320,12 @@ printsection(dns_message_t *msg, dns_section_t sectionid, static isc_result_t printrdata(dns_message_t *msg, dns_rdataset_t *rdataset, - const dns_name_t *owner, const char *set_name, - bool headers) + const dns_name_t *owner, const char *set_name, bool headers) { isc_buffer_t target; isc_result_t result; isc_region_t r; - char tbuf[4096]; + char tbuf[4096]; UNUSED(msg); if (headers) @@ -362,8 +333,7 @@ printrdata(dns_message_t *msg, dns_rdataset_t *rdataset, isc_buffer_init(&target, tbuf, sizeof(tbuf)); - result = dns_rdataset_totext(rdataset, owner, false, false, - &target); + result = dns_rdataset_totext(rdataset, owner, false, false, &target); if (result != ISC_R_SUCCESS) return (result); isc_buffer_usedregion(&target, &r); @@ -373,12 +343,13 @@ printrdata(dns_message_t *msg, dns_rdataset_t *rdataset, } static void -chase_cnamechain(dns_message_t *msg, dns_name_t *qname) { - isc_result_t result; - dns_rdataset_t *rdataset; +chase_cnamechain(dns_message_t *msg, dns_name_t *qname) +{ + isc_result_t result; + dns_rdataset_t * rdataset; dns_rdata_cname_t cname; - dns_rdata_t rdata = DNS_RDATA_INIT; - unsigned int i = msg->counts[DNS_SECTION_ANSWER]; + dns_rdata_t rdata = DNS_RDATA_INIT; + unsigned int i = msg->counts[DNS_SECTION_ANSWER]; while (i-- > 0) { rdataset = NULL; @@ -399,14 +370,14 @@ chase_cnamechain(dns_message_t *msg, dns_name_t *qname) { } static isc_result_t -printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, - dns_message_t *msg, bool headers) +printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, dns_message_t *msg, + bool headers) { - bool did_flag = false; - dns_rdataset_t *opt, *tsig = NULL; + bool did_flag = false; + dns_rdataset_t * opt, *tsig = NULL; const dns_name_t *tsigname; - isc_result_t result = ISC_R_SUCCESS; - int force_error; + isc_result_t result = ISC_R_SUCCESS; + int force_error; UNUSED(msgbuf); UNUSED(headers); @@ -422,8 +393,7 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, printf("Using domain server:\n"); printf("Name: %s\n", query->userarg); - isc_sockaddr_format(&query->sockaddr, sockstr, - sizeof(sockstr)); + isc_sockaddr_format(&query->sockaddr, sockstr, sizeof(sockstr)); printf("Address: %s\n", sockstr); printf("Aliases: \n\n"); printed_server = true; @@ -436,22 +406,24 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, if (query->lookup->identify_previous_line) printf("Nameserver %s:\n\t%s not found: %d(%s)\n", query->servname, - (msg->rcode != dns_rcode_nxdomain) ? namestr : - query->lookup->textname, msg->rcode, - rcode_totext(msg->rcode)); + (msg->rcode != dns_rcode_nxdomain) + ? namestr + : query->lookup->textname, + msg->rcode, rcode_totext(msg->rcode)); else printf("Host %s not found: %d(%s)\n", - (msg->rcode != dns_rcode_nxdomain) ? namestr : - query->lookup->textname, msg->rcode, - rcode_totext(msg->rcode)); + (msg->rcode != dns_rcode_nxdomain) + ? namestr + : query->lookup->textname, + msg->rcode, rcode_totext(msg->rcode)); return (ISC_R_SUCCESS); } if (default_lookups && query->lookup->rdtype == dns_rdatatype_a) { - char namestr[DNS_NAME_FORMATSIZE]; - dig_lookup_t *lookup; + char namestr[DNS_NAME_FORMATSIZE]; + dig_lookup_t * lookup; dns_fixedname_t fixed; - dns_name_t *name; + dns_name_t * name; /* Add AAAA and MX lookups. */ name = dns_fixedname_initname(&fixed); @@ -530,7 +502,7 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, if (tsig != NULL) printf(";; PSEUDOSECTIONS: TSIG\n"); } - if (! ISC_LIST_EMPTY(msg->sections[DNS_SECTION_QUESTION]) && + if (!ISC_LIST_EMPTY(msg->sections[DNS_SECTION_QUESTION]) && !short_form) { printf("\n"); result = printsection(msg, DNS_SECTION_QUESTION, "QUESTION", @@ -538,7 +510,7 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, if (result != ISC_R_SUCCESS) return (result); } - if (! ISC_LIST_EMPTY(msg->sections[DNS_SECTION_ANSWER])) { + if (!ISC_LIST_EMPTY(msg->sections[DNS_SECTION_ANSWER])) { if (!short_form) printf("\n"); result = printsection(msg, DNS_SECTION_ANSWER, "ANSWER", @@ -547,7 +519,7 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, return (result); } - if (! ISC_LIST_EMPTY(msg->sections[DNS_SECTION_AUTHORITY]) && + if (!ISC_LIST_EMPTY(msg->sections[DNS_SECTION_AUTHORITY]) && !short_form) { printf("\n"); result = printsection(msg, DNS_SECTION_AUTHORITY, "AUTHORITY", @@ -555,18 +527,18 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, if (result != ISC_R_SUCCESS) return (result); } - if (! ISC_LIST_EMPTY(msg->sections[DNS_SECTION_ADDITIONAL]) && + if (!ISC_LIST_EMPTY(msg->sections[DNS_SECTION_ADDITIONAL]) && !short_form) { printf("\n"); - result = printsection(msg, DNS_SECTION_ADDITIONAL, - "ADDITIONAL", true, query); + result = printsection(msg, DNS_SECTION_ADDITIONAL, "ADDITIONAL", + true, query); if (result != ISC_R_SUCCESS) return (result); } if ((tsig != NULL) && !short_form) { printf("\n"); - result = printrdata(msg, tsig, tsigname, - "PSEUDOSECTION TSIG", true); + result = printrdata(msg, tsig, tsigname, "PSEUDOSECTION TSIG", + true); if (result != ISC_R_SUCCESS) return (result); } @@ -586,16 +558,18 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, return (result); } -static const char * optstring = "46aAc:dilnm:rst:vVwCDN:R:TUW:"; +static const char *optstring = "46aAc:dilnm:rst:vVwCDN:R:TUW:"; /*% version */ static void -version(void) { +version(void) +{ fputs("host " VERSION "\n", stderr); } static void -pre_parse_args(int argc, char **argv) { +pre_parse_args(int argc, char **argv) +{ int c; while ((c = isc_commandline_parse(argc, argv, optstring)) != -1) { @@ -622,33 +596,51 @@ pre_parse_args(int argc, char **argv) { fatal("only one of -4 and -6 allowed"); ipv6only = true; break; - case 'a': break; - case 'A': break; - case 'c': break; - case 'C': break; - case 'd': break; + case 'a': + break; + case 'A': + break; + case 'c': + break; + case 'C': + break; + case 'd': + break; case 'D': if (debugging) debugtiming = true; debugging = true; break; - case 'i': break; - case 'l': break; - case 'n': break; - case 'N': break; - case 'r': break; - case 'R': break; - case 's': break; - case 't': break; - case 'T': break; - case 'U': break; - case 'v': break; + case 'i': + break; + case 'l': + break; + case 'n': + break; + case 'N': + break; + case 'r': + break; + case 'R': + break; + case 's': + break; + case 't': + break; + case 'T': + break; + case 'U': + break; + case 'v': + break; case 'V': - version(); - exit(0); - break; - case 'w': break; - case 'W': break; + version(); + exit(0); + break; + case 'w': + break; + case 'W': + break; default: show_usage(); } @@ -658,16 +650,17 @@ pre_parse_args(int argc, char **argv) { } static void -parse_args(bool is_batchfile, int argc, char **argv) { - char hostname[MXNAME]; - dig_lookup_t *lookup; - int c; - char store[MXNAME]; +parse_args(bool is_batchfile, int argc, char **argv) +{ + char hostname[MXNAME]; + dig_lookup_t * lookup; + int c; + char store[MXNAME]; isc_textregion_t tr; - isc_result_t result = ISC_R_SUCCESS; - dns_rdatatype_t rdtype; + isc_result_t result = ISC_R_SUCCESS; + dns_rdatatype_t rdtype; dns_rdataclass_t rdclass; - uint32_t serial = 0; + uint32_t serial = 0; UNUSED(is_batchfile); @@ -693,8 +686,8 @@ parse_args(bool is_batchfile, int argc, char **argv) { lookup->recurse = false; break; case 't': - if (strncasecmp(isc_commandline_argument, - "ixfr=", 5) == 0) { + if (strncasecmp(isc_commandline_argument, "ixfr=", 5) == + 0) { rdtype = dns_rdatatype_ixfr; /* XXXMPA add error checking */ serial = strtoul(isc_commandline_argument + 5, @@ -703,8 +696,8 @@ parse_args(bool is_batchfile, int argc, char **argv) { } else { tr.base = isc_commandline_argument; tr.length = strlen(isc_commandline_argument); - result = dns_rdatatype_fromtext(&rdtype, - (isc_textregion_t *)&tr); + result = dns_rdatatype_fromtext( + &rdtype, (isc_textregion_t *)&tr); } if (result != ISC_R_SUCCESS) { @@ -736,8 +729,8 @@ parse_args(bool is_batchfile, int argc, char **argv) { case 'c': tr.base = isc_commandline_argument; tr.length = strlen(isc_commandline_argument); - result = dns_rdataclass_fromtext(&rdclass, - (isc_textregion_t *)&tr); + result = dns_rdataclass_fromtext( + &rdclass, (isc_textregion_t *)&tr); if (result != ISC_R_SUCCESS) { fatalexit = 2; @@ -808,8 +801,7 @@ parse_args(bool is_batchfile, int argc, char **argv) { default_lookups = false; break; case 'N': - debug("setting NDOTS to %s", - isc_commandline_argument); + debug("setting NDOTS to %s", isc_commandline_argument); ndots = atoi(isc_commandline_argument); break; case 'D': @@ -835,15 +827,15 @@ parse_args(bool is_batchfile, int argc, char **argv) { strlcpy(hostname, argv[isc_commandline_index], sizeof(hostname)); if (argc > isc_commandline_index + 1) { - set_nameserver(argv[isc_commandline_index+1]); - debug("server is %s", argv[isc_commandline_index+1]); + set_nameserver(argv[isc_commandline_index + 1]); + debug("server is %s", argv[isc_commandline_index + 1]); listed_server = true; } else check_ra = true; lookup->pending = false; - if (get_reverse(store, sizeof(store), hostname, true) - == ISC_R_SUCCESS) { + if (get_reverse(store, sizeof(store), hostname, true) == + ISC_R_SUCCESS) { strlcpy(lookup->textname, store, sizeof(lookup->textname)); lookup->rdtype = dns_rdatatype_ptr; lookup->rdtypeset = true; @@ -857,7 +849,8 @@ parse_args(bool is_batchfile, int argc, char **argv) { } int -main(int argc, char **argv) { +main(int argc, char **argv) +{ isc_result_t result; tries = 2; diff --git a/bin/dig/include/dig/dig.h b/bin/dig/include/dig/dig.h index a68bde01da..05e038aa5d 100644 --- a/bin/dig/include/dig/dig.h +++ b/bin/dig/include/dig/dig.h @@ -17,10 +17,6 @@ #include #include -#include - -#include - #include #include #include @@ -32,12 +28,16 @@ #include #include +#include + +#include + #ifdef __APPLE__ #include #endif #define MXSERV 20 -#define MXNAME (DNS_NAME_MAXTEXT+1) +#define MXNAME (DNS_NAME_MAXTEXT + 1) #define MXRD 32 /*% Buffer Size */ #define BUFSIZE 512 @@ -77,155 +77,107 @@ ISC_LANG_BEGINDECLS typedef struct dig_lookup dig_lookup_t; -typedef struct dig_query dig_query_t; +typedef struct dig_query dig_query_t; typedef struct dig_server dig_server_t; typedef ISC_LIST(dig_server_t) dig_serverlist_t; typedef struct dig_searchlist dig_searchlist_t; -#define DIG_QUERY_MAGIC ISC_MAGIC('D','i','g','q') - -#define DIG_VALID_QUERY(x) ISC_MAGIC_VALID((x), DIG_QUERY_MAGIC) +#define DIG_QUERY_MAGIC ISC_MAGIC('D', 'i', 'g', 'q') +#define DIG_VALID_QUERY(x) ISC_MAGIC_VALID((x), DIG_QUERY_MAGIC) /*% The dig_lookup structure */ struct dig_lookup { - bool - pending, /*%< Pending a successful answer */ - waiting_connect, - doing_xfr, - ns_search_only, /*%< dig +nssearch, host -C */ + bool pending, /*%< Pending a successful answer */ + waiting_connect, doing_xfr, ns_search_only, /*%< dig +nssearch, + host -C */ identify, /*%< Append an "on server " message */ identify_previous_line, /*% Prepend a "Nameserver :" message, with newline and tab */ - ignore, - recurse, - aaonly, - adflag, - cdflag, - raflag, - tcflag, - zflag, - trace, /*% dig +trace */ + ignore, recurse, aaonly, adflag, cdflag, raflag, tcflag, zflag, + trace, /*% dig +trace */ trace_root, /*% initial query for either +trace or +nssearch */ - tcp_mode, - tcp_mode_set, - comments, - stats, - section_question, - section_answer, - section_authority, - section_additional, - servfail_stops, - new_search, - need_search, - done_as_is, - besteffort, - dnssec, - expire, - sendcookie, - seenbadcookie, - badcookie, - nsid, /*% Name Server ID (RFC 5001) */ - tcp_keepalive, - header_only, - ednsneg, - mapped, - print_unknown_format, - multiline, - nottl, - noclass, - onesoa, - use_usec, - nocrypto, - ttlunits, - idnin, - idnout, - expandaaaa, - qr, - accept_reply_unexpected_src; /*% print replies from unexpected - sources. */ + tcp_mode, tcp_mode_set, comments, stats, section_question, + section_answer, section_authority, section_additional, + servfail_stops, new_search, need_search, done_as_is, besteffort, + dnssec, expire, sendcookie, seenbadcookie, badcookie, + nsid, /*% Name Server ID (RFC 5001) */ + tcp_keepalive, header_only, ednsneg, mapped, + print_unknown_format, multiline, nottl, noclass, onesoa, + use_usec, nocrypto, ttlunits, idnin, idnout, expandaaaa, qr, + accept_reply_unexpected_src; /*% print replies from unexpected + sources. */ char textname[MXNAME]; /*% Name we're going to be looking up */ char cmdline[MXNAME]; - dns_rdatatype_t rdtype; - dns_rdatatype_t qrdtype; + dns_rdatatype_t rdtype; + dns_rdatatype_t qrdtype; dns_rdataclass_t rdclass; - bool rdtypeset; - bool rdclassset; - char name_space[BUFSIZE]; - char oname_space[BUFSIZE]; - isc_buffer_t namebuf; - isc_buffer_t onamebuf; - isc_buffer_t renderbuf; - char *sendspace; - dns_name_t *name; - isc_interval_t interval; - dns_message_t *sendmsg; - dns_name_t *oname; + bool rdtypeset; + bool rdclassset; + char name_space[BUFSIZE]; + char oname_space[BUFSIZE]; + isc_buffer_t namebuf; + isc_buffer_t onamebuf; + isc_buffer_t renderbuf; + char * sendspace; + dns_name_t * name; + isc_interval_t interval; + dns_message_t * sendmsg; + dns_name_t * oname; ISC_LINK(dig_lookup_t) link; ISC_LIST(dig_query_t) q; ISC_LIST(dig_query_t) connecting; - dig_query_t *current_query; - dig_serverlist_t my_server_list; + dig_query_t * current_query; + dig_serverlist_t my_server_list; dig_searchlist_t *origin; - dig_query_t *xfr_q; - uint32_t retries; - int nsfound; - uint16_t udpsize; - int16_t edns; - int16_t padding; - uint32_t ixfr_serial; - isc_buffer_t rdatabuf; - char rdatastore[MXNAME]; - dst_context_t *tsigctx; - isc_buffer_t *querysig; - uint32_t msgcounter; - dns_fixedname_t fdomain; - isc_sockaddr_t *ecs_addr; - char *cookie; - dns_ednsopt_t *ednsopts; - unsigned int ednsoptscnt; - isc_dscp_t dscp; - unsigned int ednsflags; - dns_opcode_t opcode; - int rrcomments; - unsigned int eoferr; + dig_query_t * xfr_q; + uint32_t retries; + int nsfound; + uint16_t udpsize; + int16_t edns; + int16_t padding; + uint32_t ixfr_serial; + isc_buffer_t rdatabuf; + char rdatastore[MXNAME]; + dst_context_t * tsigctx; + isc_buffer_t * querysig; + uint32_t msgcounter; + dns_fixedname_t fdomain; + isc_sockaddr_t * ecs_addr; + char * cookie; + dns_ednsopt_t * ednsopts; + unsigned int ednsoptscnt; + isc_dscp_t dscp; + unsigned int ednsflags; + dns_opcode_t opcode; + int rrcomments; + unsigned int eoferr; }; /*% The dig_query structure */ struct dig_query { - unsigned int magic; + unsigned int magic; dig_lookup_t *lookup; - bool waiting_connect, - pending_free, - waiting_senddone, - first_pass, - first_soa_rcvd, - second_rr_rcvd, - first_repeat_rcvd, - recv_made, - warn_id, - timedout; - uint32_t first_rr_serial; - uint32_t second_rr_serial; - uint32_t msg_count; - uint32_t rr_count; - bool ixfr_axfr; - char *servname; - char *userarg; - isc_buffer_t recvbuf, - lengthbuf, - tmpsendbuf, - sendbuf; - char *recvspace, *tmpsendspace, - lengthspace[4]; + bool waiting_connect, pending_free, waiting_senddone, first_pass, + first_soa_rcvd, second_rr_rcvd, first_repeat_rcvd, recv_made, + warn_id, timedout; + uint32_t first_rr_serial; + uint32_t second_rr_serial; + uint32_t msg_count; + uint32_t rr_count; + bool ixfr_axfr; + char * servname; + char * userarg; + isc_buffer_t recvbuf, lengthbuf, tmpsendbuf, sendbuf; + char * recvspace, *tmpsendspace, lengthspace[4]; isc_socket_t *sock; ISC_LINK(dig_query_t) link; ISC_LINK(dig_query_t) clink; isc_sockaddr_t sockaddr; - isc_time_t time_sent; - isc_time_t time_recv; - uint64_t byte_count; - isc_timer_t *timer; + isc_time_t time_sent; + isc_time_t time_recv; + uint64_t byte_count; + isc_timer_t * timer; }; struct dig_server { @@ -246,38 +198,38 @@ typedef ISC_LIST(dig_lookup_t) dig_lookuplist_t; * Externals from dighost.c */ -extern dig_lookuplist_t lookup_list; -extern dig_serverlist_t server_list; +extern dig_lookuplist_t lookup_list; +extern dig_serverlist_t server_list; extern dig_searchlistlist_t search_list; -extern unsigned int extrabytes; +extern unsigned int extrabytes; -extern bool check_ra, have_ipv4, have_ipv6, specified_source, - usesearch, showsearch, yaml; -extern in_port_t port; -extern unsigned int timeout; -extern isc_mem_t *mctx; -extern int sendcount; -extern int ndots; -extern int lookup_counter; -extern int exitcode; -extern isc_sockaddr_t bind_address; -extern char keynametext[MXNAME]; -extern char keyfile[MXNAME]; -extern char keysecret[MXNAME]; +extern bool check_ra, have_ipv4, have_ipv6, specified_source, usesearch, + showsearch, yaml; +extern in_port_t port; +extern unsigned int timeout; +extern isc_mem_t * mctx; +extern int sendcount; +extern int ndots; +extern int lookup_counter; +extern int exitcode; +extern isc_sockaddr_t bind_address; +extern char keynametext[MXNAME]; +extern char keyfile[MXNAME]; +extern char keysecret[MXNAME]; extern const dns_name_t *hmacname; -extern unsigned int digestbits; -extern dns_tsigkey_t *tsigkey; -extern bool validated; -extern isc_taskmgr_t *taskmgr; -extern isc_task_t *global_task; -extern bool free_now; -extern bool debugging, debugtiming, memdebugging; -extern bool keep_open; +extern unsigned int digestbits; +extern dns_tsigkey_t * tsigkey; +extern bool validated; +extern isc_taskmgr_t * taskmgr; +extern isc_task_t * global_task; +extern bool free_now; +extern bool debugging, debugtiming, memdebugging; +extern bool keep_open; extern char *progname; -extern int tries; -extern int fatalexit; -extern bool verbose; +extern int tries; +extern int fatalexit; +extern bool verbose; /* * Routines in dighost.c. @@ -293,14 +245,13 @@ get_reverse(char *reverse, size_t len, char *value, bool strict); ISC_PLATFORM_NORETURN_PRE void fatal(const char *format, ...) -ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST; + ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST; void warn(const char *format, ...) ISC_FORMAT_PRINTF(1, 2); ISC_PLATFORM_NORETURN_PRE void -digexit(void) -ISC_PLATFORM_NORETURN_POST; +digexit(void) ISC_PLATFORM_NORETURN_POST; void debug(const char *format, ...) ISC_FORMAT_PRINTF(1, 2); @@ -333,12 +284,10 @@ void setup_system(bool ipv4only, bool ipv6only); isc_result_t -parse_uint(uint32_t *uip, const char *value, uint32_t max, - const char *desc); +parse_uint(uint32_t *uip, const char *value, uint32_t max, const char *desc); isc_result_t -parse_xint(uint32_t *uip, const char *value, uint32_t max, - const char *desc); +parse_xint(uint32_t *uip, const char *value, uint32_t max, const char *desc); isc_result_t parse_netprefix(isc_sockaddr_t **sap, const char *value); @@ -365,8 +314,7 @@ void set_nameserver(char *opt); void -clone_server_list(dig_serverlist_t src, - dig_serverlist_t *dest); +clone_server_list(dig_serverlist_t src, dig_serverlist_t *dest); void cancel_all(void); @@ -381,54 +329,50 @@ set_search_domain(char *domain); * Routines to be defined in dig.c, host.c, and nslookup.c. and * then assigned to the appropriate function pointer */ -extern isc_result_t -(*dighost_printmessage)(dig_query_t *query, const isc_buffer_t *msgbuf, - dns_message_t *msg, bool headers); +extern isc_result_t (*dighost_printmessage)(dig_query_t * query, + const isc_buffer_t *msgbuf, + dns_message_t *msg, bool headers); /* * Print an error message in the appropriate format. */ -extern void -(*dighost_error)(const char *format, ...); +extern void (*dighost_error)(const char *format, ...); /* * Print a warning message in the appropriate format. */ -extern void -(*dighost_warning)(const char *format, ...); +extern void (*dighost_warning)(const char *format, ...); /* * Print a comment in the appropriate format. */ -extern void -(*dighost_comments)(dig_lookup_t *lookup, const char *format, ...); +extern void (*dighost_comments)(dig_lookup_t *lookup, const char *format, ...); /*%< * Print the final result of the lookup. */ -extern void -(*dighost_received)(unsigned int bytes, isc_sockaddr_t *from, - dig_query_t *query); +extern void (*dighost_received)(unsigned int bytes, isc_sockaddr_t *from, + dig_query_t *query); /*%< * Print a message about where and when the response * was received from, like the final comment in the * output of "dig". */ -extern void -(*dighost_trying)(char *frm, dig_lookup_t *lookup); +extern void (*dighost_trying)(char *frm, dig_lookup_t *lookup); -extern void -(*dighost_shutdown)(void); +extern void (*dighost_shutdown)(void); -extern void -(*dighost_pre_exit_hook)(void); +extern void (*dighost_pre_exit_hook)(void); -void save_opt(dig_lookup_t *lookup, char *code, char *value); +void +save_opt(dig_lookup_t *lookup, char *code, char *value); -void setup_file_key(void); -void setup_text_key(void); +void +setup_file_key(void); +void +setup_text_key(void); /* * Routines exported from dig.c for use by dig for iOS diff --git a/bin/dig/nslookup.c b/bin/dig/nslookup.c index eb81658b27..f74a41f44c 100644 --- a/bin/dig/nslookup.c +++ b/bin/dig/nslookup.c @@ -18,22 +18,22 @@ #include #include #include +#include #include #include #include -#include #include -#include +#include +#include +#include #include #include -#include #include #include #include #include #include -#include #include @@ -47,100 +47,87 @@ #include #elif defined(HAVE_READLINE_READLINE_H) #include -#if defined (HAVE_READLINE_HISTORY_H) +#if defined(HAVE_READLINE_HISTORY_H) #include #endif #endif #endif -static bool short_form = true, - tcpmode = false, tcpmode_set = false, - identify = false, stats = true, - comments = true, section_question = true, - section_answer = true, section_authority = true, - section_additional = true, recurse = true, - aaonly = false, nofail = true, - default_lookups = true, a_noanswer = false; +static bool short_form = true, tcpmode = false, tcpmode_set = false, + identify = false, stats = true, comments = true, + section_question = true, section_answer = true, + section_authority = true, section_additional = true, recurse = true, + aaonly = false, nofail = true, default_lookups = true, + a_noanswer = false; static bool interactive; -static bool in_use = false; -static char defclass[MXRD] = "IN"; -static char deftype[MXRD] = "A"; +static bool in_use = false; +static char defclass[MXRD] = "IN"; +static char deftype[MXRD] = "A"; static isc_event_t *global_event = NULL; -static int query_error = 1, print_error = 0; +static int query_error = 1, print_error = 0; static char domainopt[DNS_NAME_MAXTEXT]; -static const char *rcodetext[] = { - "NOERROR", - "FORMERR", - "SERVFAIL", - "NXDOMAIN", - "NOTIMP", - "REFUSED", - "YXDOMAIN", - "YXRRSET", - "NXRRSET", - "NOTAUTH", - "NOTZONE", - "RESERVED11", - "RESERVED12", - "RESERVED13", - "RESERVED14", - "RESERVED15", - "BADVERS" -}; +static const char *rcodetext[] = { "NOERROR", "FORMERR", "SERVFAIL", + "NXDOMAIN", "NOTIMP", "REFUSED", + "YXDOMAIN", "YXRRSET", "NXRRSET", + "NOTAUTH", "NOTZONE", "RESERVED11", + "RESERVED12", "RESERVED13", "RESERVED14", + "RESERVED15", "BADVERS" }; static const char *rtypetext[] = { - "rtype_0 = ", /* 0 */ - "internet address = ", /* 1 */ - "nameserver = ", /* 2 */ - "md = ", /* 3 */ - "mf = ", /* 4 */ - "canonical name = ", /* 5 */ - "soa = ", /* 6 */ - "mb = ", /* 7 */ - "mg = ", /* 8 */ - "mr = ", /* 9 */ - "rtype_10 = ", /* 10 */ - "protocol = ", /* 11 */ - "name = ", /* 12 */ - "hinfo = ", /* 13 */ - "minfo = ", /* 14 */ - "mail exchanger = ", /* 15 */ - "text = ", /* 16 */ - "rp = ", /* 17 */ - "afsdb = ", /* 18 */ - "x25 address = ", /* 19 */ - "isdn address = ", /* 20 */ - "rt = ", /* 21 */ - "nsap = ", /* 22 */ - "nsap_ptr = ", /* 23 */ - "signature = ", /* 24 */ - "key = ", /* 25 */ - "px = ", /* 26 */ - "gpos = ", /* 27 */ - "has AAAA address ", /* 28 */ - "loc = ", /* 29 */ - "next = ", /* 30 */ - "rtype_31 = ", /* 31 */ - "rtype_32 = ", /* 32 */ - "service = ", /* 33 */ - "rtype_34 = ", /* 34 */ - "naptr = ", /* 35 */ - "kx = ", /* 36 */ - "cert = ", /* 37 */ - "v6 address = ", /* 38 */ - "dname = ", /* 39 */ - "rtype_40 = ", /* 40 */ - "optional = " /* 41 */ + "rtype_0 = ", /* 0 */ + "internet address = ", /* 1 */ + "nameserver = ", /* 2 */ + "md = ", /* 3 */ + "mf = ", /* 4 */ + "canonical name = ", /* 5 */ + "soa = ", /* 6 */ + "mb = ", /* 7 */ + "mg = ", /* 8 */ + "mr = ", /* 9 */ + "rtype_10 = ", /* 10 */ + "protocol = ", /* 11 */ + "name = ", /* 12 */ + "hinfo = ", /* 13 */ + "minfo = ", /* 14 */ + "mail exchanger = ", /* 15 */ + "text = ", /* 16 */ + "rp = ", /* 17 */ + "afsdb = ", /* 18 */ + "x25 address = ", /* 19 */ + "isdn address = ", /* 20 */ + "rt = ", /* 21 */ + "nsap = ", /* 22 */ + "nsap_ptr = ", /* 23 */ + "signature = ", /* 24 */ + "key = ", /* 25 */ + "px = ", /* 26 */ + "gpos = ", /* 27 */ + "has AAAA address ", /* 28 */ + "loc = ", /* 29 */ + "next = ", /* 30 */ + "rtype_31 = ", /* 31 */ + "rtype_32 = ", /* 32 */ + "service = ", /* 33 */ + "rtype_34 = ", /* 34 */ + "naptr = ", /* 35 */ + "kx = ", /* 36 */ + "cert = ", /* 37 */ + "v6 address = ", /* 38 */ + "dname = ", /* 39 */ + "rtype_40 = ", /* 40 */ + "optional = " /* 41 */ }; #define N_KNOWN_RRTYPES (sizeof(rtypetext) / sizeof(rtypetext[0])) -static void flush_lookup_list(void); -static void getinput(isc_task_t *task, isc_event_t *event); +static void +flush_lookup_list(void); +static void +getinput(isc_task_t *task, isc_event_t *event); static char * rcode_totext(dns_rcode_t rcode) @@ -148,10 +135,10 @@ rcode_totext(dns_rcode_t rcode) static char buf[sizeof("?65535")]; union { const char *consttext; - char *deconsttext; + char * deconsttext; } totext; - if (rcode >= (sizeof(rcodetext)/sizeof(rcodetext[0]))) { + if (rcode >= (sizeof(rcodetext) / sizeof(rcodetext[0]))) { snprintf(buf, sizeof(buf), "?%u", rcode); totext.deconsttext = buf; } else @@ -160,7 +147,8 @@ rcode_totext(dns_rcode_t rcode) } static void -query_finished(void) { +query_finished(void) +{ isc_event_t *event = global_event; flush_lookup_list(); @@ -175,10 +163,11 @@ query_finished(void) { } static void -printsoa(dns_rdata_t *rdata) { +printsoa(dns_rdata_t *rdata) +{ dns_rdata_soa_t soa; - isc_result_t result; - char namebuf[DNS_NAME_FORMATSIZE]; + isc_result_t result; + char namebuf[DNS_NAME_FORMATSIZE]; result = dns_rdata_tostruct(rdata, &soa, NULL); check_result(result, "dns_rdata_tostruct"); @@ -196,7 +185,8 @@ printsoa(dns_rdata_t *rdata) { } static void -printaddr(dns_rdata_t *rdata) { +printaddr(dns_rdata_t *rdata) +{ isc_result_t result; char text[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")]; isc_buffer_t b; @@ -209,11 +199,12 @@ printaddr(dns_rdata_t *rdata) { } static void -printrdata(dns_rdata_t *rdata) { - isc_result_t result; +printrdata(dns_rdata_t *rdata) +{ + isc_result_t result; isc_buffer_t *b = NULL; - unsigned int size = 1024; - bool done = false; + unsigned int size = 1024; + bool done = false; if (rdata->type < N_KNOWN_RRTYPES) printf("%s", rtypetext[rdata->type]); @@ -236,12 +227,13 @@ printrdata(dns_rdata_t *rdata) { static isc_result_t printsection(dig_query_t *query, dns_message_t *msg, bool headers, - dns_section_t section) { - isc_result_t result, loopresult; - dns_name_t *name; + dns_section_t section) +{ + isc_result_t result, loopresult; + dns_name_t * name; dns_rdataset_t *rdataset = NULL; - dns_rdata_t rdata = DNS_RDATA_INIT; - char namebuf[DNS_NAME_FORMATSIZE]; + dns_rdata_t rdata = DNS_RDATA_INIT; + char namebuf[DNS_NAME_FORMATSIZE]; UNUSED(query); UNUSED(headers); @@ -255,10 +247,8 @@ printsection(dig_query_t *query, dns_message_t *msg, bool headers, return (result); for (;;) { name = NULL; - dns_message_currentname(msg, section, - &name); - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + dns_message_currentname(msg, section, &name); + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { loopresult = dns_rdataset_first(rdataset); while (loopresult == ISC_R_SUCCESS) { @@ -303,12 +293,13 @@ printsection(dig_query_t *query, dns_message_t *msg, bool headers, static isc_result_t detailsection(dig_query_t *query, dns_message_t *msg, bool headers, - dns_section_t section) { - isc_result_t result, loopresult; - dns_name_t *name; + dns_section_t section) +{ + isc_result_t result, loopresult; + dns_name_t * name; dns_rdataset_t *rdataset = NULL; - dns_rdata_t rdata = DNS_RDATA_INIT; - char namebuf[DNS_NAME_FORMATSIZE]; + dns_rdata_t rdata = DNS_RDATA_INIT; + char namebuf[DNS_NAME_FORMATSIZE]; UNUSED(query); @@ -338,30 +329,24 @@ detailsection(dig_query_t *query, dns_message_t *msg, bool headers, return (result); for (;;) { name = NULL; - dns_message_currentname(msg, section, - &name); - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + dns_message_currentname(msg, section, &name); + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { if (section == DNS_SECTION_QUESTION) { - dns_name_format(name, namebuf, - sizeof(namebuf)); + dns_name_format(name, namebuf, sizeof(namebuf)); printf("\t%s, ", namebuf); - dns_rdatatype_format(rdataset->type, - namebuf, + dns_rdatatype_format(rdataset->type, namebuf, sizeof(namebuf)); printf("type = %s, ", namebuf); dns_rdataclass_format(rdataset->rdclass, - namebuf, - sizeof(namebuf)); + namebuf, sizeof(namebuf)); printf("class = %s\n", namebuf); } loopresult = dns_rdataset_first(rdataset); while (loopresult == ISC_R_SUCCESS) { dns_rdataset_current(rdataset, &rdata); - dns_name_format(name, namebuf, - sizeof(namebuf)); + dns_name_format(name, namebuf, sizeof(namebuf)); printf(" -> %s\n", namebuf); switch (rdata.type) { @@ -396,23 +381,26 @@ received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) } static void -trying(char *frm, dig_lookup_t *lookup) { +trying(char *frm, dig_lookup_t *lookup) +{ UNUSED(frm); UNUSED(lookup); } static void -chase_cnamechain(dns_message_t *msg, dns_name_t *qname) { - isc_result_t result; - dns_rdataset_t *rdataset; +chase_cnamechain(dns_message_t *msg, dns_name_t *qname) +{ + isc_result_t result; + dns_rdataset_t * rdataset; dns_rdata_cname_t cname; - dns_rdata_t rdata = DNS_RDATA_INIT; - unsigned int i = msg->counts[DNS_SECTION_ANSWER]; + dns_rdata_t rdata = DNS_RDATA_INIT; + unsigned int i = msg->counts[DNS_SECTION_ANSWER]; while (i-- > 0) { rdataset = NULL; result = dns_message_findname(msg, DNS_SECTION_ANSWER, qname, - dns_rdatatype_cname, 0, NULL, &rdataset); + dns_rdatatype_cname, 0, NULL, + &rdataset); if (result != ISC_R_SUCCESS) return; result = dns_rdataset_first(rdataset); @@ -427,8 +415,8 @@ chase_cnamechain(dns_message_t *msg, dns_name_t *qname) { } static isc_result_t -printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, - dns_message_t *msg, bool headers) +printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, dns_message_t *msg, + bool headers) { char servtext[ISC_SOCKADDR_FORMATSIZE]; @@ -439,7 +427,7 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, debug("printmessage()"); - if(!default_lookups || query->lookup->rdtype == dns_rdatatype_a) { + if (!default_lookups || query->lookup->rdtype == dns_rdatatype_a) { isc_sockaddr_format(&query->sockaddr, servtext, sizeof(servtext)); printf("Server:\t\t%s\n", query->userarg); @@ -460,10 +448,10 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, if (msg->rcode != 0) { char nametext[DNS_NAME_FORMATSIZE]; - dns_name_format(query->lookup->name, - nametext, sizeof(nametext)); - printf("** server can't find %s: %s\n", - nametext, rcode_totext(msg->rcode)); + dns_name_format(query->lookup->name, nametext, + sizeof(nametext)); + printf("** server can't find %s: %s\n", nametext, + rcode_totext(msg->rcode)); debug("returning with rcode == 0"); /* the lookup failed */ @@ -471,11 +459,11 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, return (ISC_R_SUCCESS); } - if ( default_lookups && query->lookup->rdtype == dns_rdatatype_a) { - char namestr[DNS_NAME_FORMATSIZE]; - dig_lookup_t *lookup; + if (default_lookups && query->lookup->rdtype == dns_rdatatype_a) { + char namestr[DNS_NAME_FORMATSIZE]; + dig_lookup_t * lookup; dns_fixedname_t fixed; - dns_name_t *name; + dns_name_t * name; /* Add AAAA lookup. */ name = dns_fixedname_initname(&fixed); @@ -495,7 +483,7 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, } if ((msg->flags & DNS_MESSAGEFLAG_AA) == 0 && - ( !default_lookups || query->lookup->rdtype == dns_rdatatype_a) ) + (!default_lookups || query->lookup->rdtype == dns_rdatatype_a)) puts("Non-authoritative answer:"); if (!ISC_LIST_EMPTY(msg->sections[DNS_SECTION_ANSWER])) printsection(query, msg, headers, DNS_SECTION_ANSWER); @@ -505,29 +493,28 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, else if (!default_lookups || (query->lookup->rdtype == dns_rdatatype_aaaa && - a_noanswer ) ) + a_noanswer)) printf("*** Can't find %s: No answer\n", - query->lookup->textname); + query->lookup->textname); } if (((msg->flags & DNS_MESSAGEFLAG_AA) == 0) && (query->lookup->rdtype != dns_rdatatype_a) && - (query->lookup->rdtype != dns_rdatatype_aaaa) ) { + (query->lookup->rdtype != dns_rdatatype_aaaa)) { puts("\nAuthoritative answers can be found from:"); - printsection(query, msg, headers, - DNS_SECTION_AUTHORITY); - printsection(query, msg, headers, - DNS_SECTION_ADDITIONAL); + printsection(query, msg, headers, DNS_SECTION_AUTHORITY); + printsection(query, msg, headers, DNS_SECTION_ADDITIONAL); } return (ISC_R_SUCCESS); } static void -show_settings(bool full, bool serv_only) { - dig_server_t *srv; - isc_sockaddr_t sockaddr; +show_settings(bool full, bool serv_only) +{ + dig_server_t * srv; + isc_sockaddr_t sockaddr; dig_searchlist_t *listent; - isc_result_t result; + isc_result_t result; srv = ISC_LIST_HEAD(server_list); @@ -538,8 +525,8 @@ show_settings(bool full, bool serv_only) { check_result(result, "get_address"); isc_sockaddr_format(&sockaddr, sockstr, sizeof(sockstr)); - printf("Default server: %s\nAddress: %s\n", - srv->userarg, sockstr); + printf("Default server: %s\nAddress: %s\n", srv->userarg, + sockstr); if (!full) return; srv = ISC_LIST_NEXT(srv, link); @@ -547,32 +534,29 @@ show_settings(bool full, bool serv_only) { if (serv_only) return; printf("\nSet options:\n"); - printf(" %s\t\t\t%s\t\t%s\n", - tcpmode ? "vc" : "novc", - short_form ? "nodebug" : "debug", - debugging ? "d2" : "nod2"); - printf(" %s\t\t%s\n", - usesearch ? "search" : "nosearch", + printf(" %s\t\t\t%s\t\t%s\n", tcpmode ? "vc" : "novc", + short_form ? "nodebug" : "debug", debugging ? "d2" : "nod2"); + printf(" %s\t\t%s\n", usesearch ? "search" : "nosearch", recurse ? "recurse" : "norecurse"); - printf(" timeout = %u\t\tretry = %d\tport = %u\tndots = %d\n", - timeout, tries, port, ndots); + printf(" timeout = %u\t\tretry = %d\tport = %u\tndots = %d\n", timeout, + tries, port, ndots); printf(" querytype = %-8s\tclass = %s\n", deftype, defclass); printf(" srchlist = "); - for (listent = ISC_LIST_HEAD(search_list); - listent != NULL; + for (listent = ISC_LIST_HEAD(search_list); listent != NULL; listent = ISC_LIST_NEXT(listent, link)) { - printf("%s", listent->origin); - if (ISC_LIST_NEXT(listent, link) != NULL) - printf("/"); + printf("%s", listent->origin); + if (ISC_LIST_NEXT(listent, link) != NULL) + printf("/"); } printf("\n"); } static bool -testtype(char *typetext) { - isc_result_t result; +testtype(char *typetext) +{ + isc_result_t result; isc_textregion_t tr; - dns_rdatatype_t rdtype; + dns_rdatatype_t rdtype; tr.base = typetext; tr.length = strlen(typetext); @@ -586,8 +570,9 @@ testtype(char *typetext) { } static bool -testclass(char *typetext) { - isc_result_t result; +testclass(char *typetext) +{ + isc_result_t result; isc_textregion_t tr; dns_rdataclass_t rdclass; @@ -603,44 +588,50 @@ testclass(char *typetext) { } static void -set_port(const char *value) { - uint32_t n; +set_port(const char *value) +{ + uint32_t n; isc_result_t result = parse_uint(&n, value, 65535, "port"); if (result == ISC_R_SUCCESS) - port = (uint16_t) n; + port = (uint16_t)n; } static void -set_timeout(const char *value) { - uint32_t n; +set_timeout(const char *value) +{ + uint32_t n; isc_result_t result = parse_uint(&n, value, UINT_MAX, "timeout"); if (result == ISC_R_SUCCESS) timeout = n; } static void -set_tries(const char *value) { - uint32_t n; +set_tries(const char *value) +{ + uint32_t n; isc_result_t result = parse_uint(&n, value, INT_MAX, "tries"); if (result == ISC_R_SUCCESS) tries = n; } static void -set_ndots(const char *value) { - uint32_t n; +set_ndots(const char *value) +{ + uint32_t n; isc_result_t result = parse_uint(&n, value, 128, "ndots"); if (result == ISC_R_SUCCESS) ndots = n; } static void -version(void) { +version(void) +{ fputs("nslookup " VERSION "\n", stderr); } static void -setoption(char *opt) { +setoption(char *opt) +{ size_t l = strlen(opt); #define CHECKOPT(A, N) \ @@ -735,9 +726,9 @@ setoption(char *opt) { } else if (CHECKOPT("sil", 3)) { /* deprecation_msg = false; */ } else if (CHECKOPT("fail", 3)) { - nofail=false; + nofail = false; } else if (CHECKOPT("nofail", 5)) { - nofail=true; + nofail = true; } else if (strncasecmp(opt, "ndots=", 6) == 0) { set_ndots(&opt[6]); } else { @@ -746,13 +737,14 @@ setoption(char *opt) { } static void -addlookup(char *opt) { - dig_lookup_t *lookup; - isc_result_t result; +addlookup(char *opt) +{ + dig_lookup_t * lookup; + isc_result_t result; isc_textregion_t tr; - dns_rdatatype_t rdtype; + dns_rdatatype_t rdtype; dns_rdataclass_t rdclass; - char store[MXNAME]; + char store[MXNAME]; debug("addlookup()"); @@ -773,8 +765,7 @@ addlookup(char *opt) { rdclass = dns_rdataclass_in; } lookup = make_empty_lookup(); - if (get_reverse(store, sizeof(store), opt, true) - == ISC_R_SUCCESS) { + if (get_reverse(store, sizeof(store), opt, true) == ISC_R_SUCCESS) { strlcpy(lookup->textname, store, sizeof(lookup->textname)); lookup->rdtype = dns_rdatatype_ptr; lookup->rdtypeset = true; @@ -815,15 +806,15 @@ addlookup(char *opt) { } static void -do_next_command(char *input) { +do_next_command(char *input) +{ char *ptr, *arg, *last; if ((ptr = strtok_r(input, " \t\r\n", &last)) == NULL) { return; } arg = strtok_r(NULL, " \t\r\n", &last); - if ((strcasecmp(ptr, "set") == 0) && - (arg != NULL)) + if ((strcasecmp(ptr, "set") == 0) && (arg != NULL)) setoption(arg); else if ((strcasecmp(ptr, "server") == 0) || (strcasecmp(ptr, "lserver") == 0)) { @@ -834,12 +825,10 @@ do_next_command(char *input) { show_settings(true, true); } else if (strcasecmp(ptr, "exit") == 0) { in_use = false; - } else if (strcasecmp(ptr, "help") == 0 || - strcasecmp(ptr, "?") == 0) { + } else if (strcasecmp(ptr, "help") == 0 || strcasecmp(ptr, "?") == 0) { printf("The '%s' command is not yet implemented.\n", ptr); } else if (strcasecmp(ptr, "finger") == 0 || - strcasecmp(ptr, "root") == 0 || - strcasecmp(ptr, "ls") == 0 || + strcasecmp(ptr, "root") == 0 || strcasecmp(ptr, "ls") == 0 || strcasecmp(ptr, "view") == 0) { printf("The '%s' command is not implemented.\n", ptr); } else @@ -847,7 +836,8 @@ do_next_command(char *input) { } static void -get_next_command(void) { +get_next_command(void) +{ char *buf; char *ptr; @@ -882,21 +872,23 @@ ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { - fprintf(stderr, "Usage:\n"); - fprintf(stderr, -" nslookup [-opt ...] # interactive mode using default server\n"); - fprintf(stderr, -" nslookup [-opt ...] - server # interactive mode using 'server'\n"); - fprintf(stderr, -" nslookup [-opt ...] host # just look up 'host' using default server\n"); - fprintf(stderr, -" nslookup [-opt ...] host server # just look up 'host' using 'server'\n"); - exit(1); +usage(void) +{ + fprintf(stderr, "Usage:\n"); + fprintf(stderr, " nslookup [-opt ...] # interactive mode " + "using default server\n"); + fprintf(stderr, " nslookup [-opt ...] - server # interactive mode " + "using 'server'\n"); + fprintf(stderr, " nslookup [-opt ...] host # just look up " + "'host' using default server\n"); + fprintf(stderr, " nslookup [-opt ...] host server # just look up " + "'host' using 'server'\n"); + exit(1); } static void -parse_args(int argc, char **argv) { +parse_args(int argc, char **argv) +{ bool have_lookup = false; usesearch = true; @@ -927,9 +919,10 @@ parse_args(int argc, char **argv) { } static void -flush_lookup_list(void) { +flush_lookup_list(void) +{ dig_lookup_t *l, *lp; - dig_query_t *q, *qp; + dig_query_t * q, *qp; dig_server_t *s, *sp; lookup_counter = 0; @@ -955,7 +948,6 @@ flush_lookup_list(void) { s = ISC_LIST_NEXT(s, link); ISC_LIST_DEQUEUE(l->my_server_list, sp, link); isc_mem_free(mctx, sp); - } if (l->sendmsg != NULL) dns_message_destroy(&l->sendmsg); @@ -967,7 +959,8 @@ flush_lookup_list(void) { } static void -getinput(isc_task_t *task, isc_event_t *event) { +getinput(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); if (global_event == NULL) global_event = event; @@ -982,7 +975,8 @@ getinput(isc_task_t *task, isc_event_t *event) { } int -main(int argc, char **argv) { +main(int argc, char **argv) +{ isc_result_t result; interactive = isatty(0); @@ -1014,8 +1008,7 @@ main(int argc, char **argv) { if (domainopt[0] != '\0') set_search_domain(domainopt); if (in_use) - result = isc_app_onrun(mctx, global_task, onrun_callback, - NULL); + result = isc_app_onrun(mctx, global_task, onrun_callback, NULL); else result = isc_app_onrun(mctx, global_task, getinput, NULL); check_result(result, "isc_app_onrun"); diff --git a/bin/dnssec/dnssec-cds.c b/bin/dnssec/dnssec-cds.c index 57c34d9e63..b92557ca6b 100644 --- a/bin/dnssec/dnssec-cds.c +++ b/bin/dnssec/dnssec-cds.c @@ -70,14 +70,14 @@ static isc_mem_t *mctx = NULL; /* * The domain we are working on */ -static const char *namestr = NULL; -static dns_fixedname_t fixed; -static dns_name_t *name = NULL; +static const char * namestr = NULL; +static dns_fixedname_t fixed; +static dns_name_t * name = NULL; static dns_rdataclass_t rdclass = dns_rdataclass_in; -static const char *startstr = NULL; /* from which we derive notbefore */ -static isc_stdtime_t notbefore = 0; /* restrict sig inception times */ -static dns_rdata_rrsig_t oldestsig; /* for recording inception time */ +static const char * startstr = NULL; /* from which we derive notbefore */ +static isc_stdtime_t notbefore = 0; /* restrict sig inception times */ +static dns_rdata_rrsig_t oldestsig; /* for recording inception time */ static int nkey; /* number of child zone DNSKEY records */ @@ -114,8 +114,8 @@ static int nkey; /* number of child zone DNSKEY records */ * match. */ typedef struct keyinfo { - dns_rdata_t rdata; - dst_key_t *dst; + dns_rdata_t rdata; + dst_key_t * dst; dns_secalg_t algo; dns_keytag_t tag; } keyinfo_t; @@ -131,13 +131,14 @@ static dns_rdataset_t old_ds_set, new_ds_set; static keyinfo_t *old_key_tbl, *new_key_tbl; -isc_buffer_t *new_ds_buf = NULL; /* backing store for new_ds_set */ +isc_buffer_t *new_ds_buf = NULL; /* backing store for new_ds_set */ static void -verbose_time(int level, const char *msg, isc_stdtime_t time) { +verbose_time(int level, const char *msg, isc_stdtime_t time) +{ isc_result_t result; isc_buffer_t timebuf; - char timestr[32]; + char timestr[32]; if (verbose < level) { return; @@ -150,13 +151,13 @@ verbose_time(int level, const char *msg, isc_stdtime_t time) { if (verbose < 3) { vbprintf(level, "%s %s\n", msg, timestr); } else { - vbprintf(level, "%s %s (%" PRIu32 ")\n", - msg, timestr, time); + vbprintf(level, "%s %s (%" PRIu32 ")\n", msg, timestr, time); } } static void -initname(char *setname) { +initname(char *setname) +{ isc_result_t result; isc_buffer_t buf; @@ -181,24 +182,26 @@ findset(dns_db_t *db, dns_dbnode_t *node, dns_rdatatype_t type, if (sigrdataset != NULL) { dns_rdataset_init(sigrdataset); } - result = dns_db_findrdataset(db, node, NULL, type, 0, 0, - rdataset, sigrdataset); + result = dns_db_findrdataset(db, node, NULL, type, 0, 0, rdataset, + sigrdataset); if (result != ISC_R_NOTFOUND) { check_result(result, "dns_db_findrdataset()"); } } static void -freeset(dns_rdataset_t *rdataset) { +freeset(dns_rdataset_t *rdataset) +{ if (dns_rdataset_isassociated(rdataset)) { dns_rdataset_disassociate(rdataset); } } static void -freelist(dns_rdataset_t *rdataset) { +freelist(dns_rdataset_t *rdataset) +{ dns_rdatalist_t *rdlist; - dns_rdata_t *rdata; + dns_rdata_t * rdata; if (!dns_rdataset_isassociated(rdataset)) { return; @@ -206,10 +209,8 @@ freelist(dns_rdataset_t *rdataset) { dns_rdatalist_fromrdataset(rdataset, &rdlist); - for (rdata = ISC_LIST_HEAD(rdlist->rdata); - rdata != NULL; - rdata = ISC_LIST_HEAD(rdlist->rdata)) - { + for (rdata = ISC_LIST_HEAD(rdlist->rdata); rdata != NULL; + rdata = ISC_LIST_HEAD(rdlist->rdata)) { ISC_LIST_UNLINK(rdlist->rdata, rdata, link); isc_mem_put(mctx, rdata, sizeof(*rdata)); } @@ -218,7 +219,8 @@ freelist(dns_rdataset_t *rdataset) { } static void -free_all_sets(void) { +free_all_sets(void) +{ freeset(&cdnskey_set); freeset(&cdnskey_sig); freeset(&cds_set); @@ -233,18 +235,18 @@ free_all_sets(void) { } static void -load_db(const char *filename, dns_db_t **dbp, dns_dbnode_t **nodep) { +load_db(const char *filename, dns_db_t **dbp, dns_dbnode_t **nodep) +{ isc_result_t result; - result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, - rdclass, 0, NULL, dbp); + result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, rdclass, 0, + NULL, dbp); check_result(result, "dns_db_create()"); - result = dns_db_load(*dbp, filename, - dns_masterformat_text, DNS_MASTER_HINT); + result = dns_db_load(*dbp, filename, dns_masterformat_text, + DNS_MASTER_HINT); if (result != ISC_R_SUCCESS && result != DNS_R_SEENINCLUDE) { - fatal("can't load %s: %s", filename, - isc_result_totext(result)); + fatal("can't load %s: %s", filename, isc_result_totext(result)); } result = dns_db_findnode(*dbp, name, false, nodep); @@ -254,14 +256,16 @@ load_db(const char *filename, dns_db_t **dbp, dns_dbnode_t **nodep) { } static void -free_db(dns_db_t **dbp, dns_dbnode_t **nodep) { +free_db(dns_db_t **dbp, dns_dbnode_t **nodep) +{ dns_db_detachnode(*dbp, nodep); dns_db_detach(dbp); } static void -load_child_sets(const char *file) { - dns_db_t *db = NULL; +load_child_sets(const char *file) +{ + dns_db_t * db = NULL; dns_dbnode_t *node = NULL; load_db(file, &db, &node); @@ -272,12 +276,12 @@ load_child_sets(const char *file) { } static void -get_dsset_name(char *filename, size_t size, - const char *path, const char *suffix) +get_dsset_name(char *filename, size_t size, const char *path, + const char *suffix) { isc_result_t result; isc_buffer_t buf; - size_t len; + size_t len; isc_buffer_init(&buf, filename, size); @@ -316,19 +320,20 @@ get_dsset_name(char *filename, size_t size, } static void -load_parent_set(const char *path) { - isc_result_t result; - dns_db_t *db = NULL; +load_parent_set(const char *path) +{ + isc_result_t result; + dns_db_t * db = NULL; dns_dbnode_t *node = NULL; - isc_time_t modtime; - char filename[PATH_MAX + 1]; + isc_time_t modtime; + char filename[PATH_MAX + 1]; get_dsset_name(filename, sizeof(filename), path, ""); result = isc_file_getmodtime(filename, &modtime); if (result != ISC_R_SUCCESS) { - fatal("could not get modification time of %s: %s", - filename, isc_result_totext(result)); + fatal("could not get modification time of %s: %s", filename, + isc_result_totext(result)); } notbefore = isc_time_seconds(&modtime); if (startstr != NULL) { @@ -342,8 +347,8 @@ load_parent_set(const char *path) { findset(db, node, dns_rdatatype_ds, &old_ds_set, NULL); if (!dns_rdataset_isassociated(&old_ds_set)) { - fatal("could not find DS records for %s in %s", - namestr, filename); + fatal("could not find DS records for %s in %s", namestr, + filename); } free_db(&db, &node); @@ -352,11 +357,12 @@ load_parent_set(const char *path) { #define MAX_CDS_RDATA_TEXT_SIZE DNS_RDATA_MAXLENGTH * 2 static isc_buffer_t * -formatset(dns_rdataset_t *rdataset) { - isc_result_t result; - isc_buffer_t *buf = NULL; +formatset(dns_rdataset_t *rdataset) +{ + isc_result_t result; + isc_buffer_t * buf = NULL; dns_master_style_t *style = NULL; - unsigned int styleflags; + unsigned int styleflags; styleflags = (rdataset->ttl == 0) ? DNS_STYLEFLAG_NO_TTL : 0; @@ -365,9 +371,8 @@ formatset(dns_rdataset_t *rdataset) { * which just separates fields with spaces. The huge tab stop width * eliminates any tab characters. */ - result = dns_master_stylecreate(&style, styleflags, - 0, 0, 0, 0, 0, 1000000, 0, - mctx); + result = dns_master_stylecreate(&style, styleflags, 0, 0, 0, 0, 0, + 1000000, 0, mctx); check_result(result, "dns_master_stylecreate2 failed"); isc_buffer_allocate(mctx, &buf, MAX_CDS_RDATA_TEXT_SIZE); @@ -387,17 +392,17 @@ formatset(dns_rdataset_t *rdataset) { } static void -write_parent_set(const char *path, const char *inplace, - bool nsupdate, dns_rdataset_t *rdataset) +write_parent_set(const char *path, const char *inplace, bool nsupdate, + dns_rdataset_t *rdataset) { - isc_result_t result; + isc_result_t result; isc_buffer_t *buf = NULL; - isc_region_t r; - isc_time_t filetime; - char backname[PATH_MAX + 1]; - char filename[PATH_MAX + 1]; - char tmpname[PATH_MAX + 1]; - FILE *fp = NULL; + isc_region_t r; + isc_time_t filetime; + char backname[PATH_MAX + 1]; + char filename[PATH_MAX + 1]; + char tmpname[PATH_MAX + 1]; + FILE * fp = NULL; if (nsupdate && inplace == NULL) { return; @@ -440,8 +445,8 @@ write_parent_set(const char *path, const char *inplace, result = isc_file_settime(tmpname, &filetime); if (result != ISC_R_SUCCESS) { isc_file_remove(tmpname); - fatal("can't set modification time of %s: %s", - tmpname, isc_result_totext(result)); + fatal("can't set modification time of %s: %s", tmpname, + isc_result_totext(result)); } if (inplace[0] != '\0') { @@ -458,17 +463,15 @@ typedef enum { LOOSE, TIGHT } strictness_t; static bool match_key_dsset(keyinfo_t *ki, dns_rdataset_t *dsset, strictness_t strictness) { - isc_result_t result; + isc_result_t result; unsigned char dsbuf[DNS_DS_BUFFERSIZE]; - for (result = dns_rdataset_first(dsset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(dsset)) - { + for (result = dns_rdataset_first(dsset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(dsset)) { dns_rdata_ds_t ds; - dns_rdata_t dsrdata = DNS_RDATA_INIT; - dns_rdata_t newdsrdata = DNS_RDATA_INIT; - bool c; + dns_rdata_t dsrdata = DNS_RDATA_INIT; + dns_rdata_t newdsrdata = DNS_RDATA_INIT; + bool c; dns_rdataset_current(dsset, &dsrdata); result = dns_rdata_tostruct(&dsrdata, &ds, NULL); @@ -481,7 +484,8 @@ match_key_dsset(keyinfo_t *ki, dns_rdataset_t *dsset, strictness_t strictness) result = dns_ds_buildrdata(name, &ki->rdata, ds.digest_type, dsbuf, &newdsrdata); if (result != ISC_R_SUCCESS) { - vbprintf(3, "dns_ds_buildrdata(" + vbprintf(3, + "dns_ds_buildrdata(" "keytag=%d, algo=%d, digest=%d): %s\n", ds.key_tag, ds.algorithm, ds.digest_type, dns_result_totext(result)); @@ -492,23 +496,22 @@ match_key_dsset(keyinfo_t *ki, dns_rdataset_t *dsset, strictness_t strictness) dsrdata.type = dns_rdatatype_ds; if (dns_rdata_compare(&dsrdata, &newdsrdata) == 0) { vbprintf(1, "found matching %s %d %d %d\n", - c ? "CDS" : "DS", - ds.key_tag, ds.algorithm, ds.digest_type); + c ? "CDS" : "DS", ds.key_tag, ds.algorithm, + ds.digest_type); return (true); } else if (strictness == TIGHT) { - vbprintf(0, "key does not match %s %d %d %d " - "when it looks like it should\n", - c ? "CDS" : "DS", - ds.key_tag, ds.algorithm, ds.digest_type); + vbprintf(0, + "key does not match %s %d %d %d " + "when it looks like it should\n", + c ? "CDS" : "DS", ds.key_tag, ds.algorithm, + ds.digest_type); return (false); } } vbprintf(1, "no matching %s for %s %d %d\n", - dsset->type == dns_rdatatype_cds - ? "CDS" : "DS", - ki->rdata.type == dns_rdatatype_cdnskey - ? "CDNSKEY" : "DNSKEY", + dsset->type == dns_rdatatype_cds ? "CDS" : "DS", + ki->rdata.type == dns_rdatatype_cdnskey ? "CDNSKEY" : "DNSKEY", ki->tag, ki->algo); return (false); @@ -523,21 +526,19 @@ match_keyset_dsset(dns_rdataset_t *keyset, dns_rdataset_t *dsset, strictness_t strictness) { isc_result_t result; - keyinfo_t *keytable; - int i; + keyinfo_t * keytable; + int i; nkey = dns_rdataset_count(keyset); keytable = isc_mem_get(mctx, sizeof(keyinfo_t) * nkey); for (result = dns_rdataset_first(keyset), i = 0; - result == ISC_R_SUCCESS; - result = dns_rdataset_next(keyset), i++) - { - keyinfo_t *ki; + result == ISC_R_SUCCESS; result = dns_rdataset_next(keyset), i++) { + keyinfo_t * ki; dns_rdata_dnskey_t dnskey; - dns_rdata_t *keyrdata; - isc_region_t r; + dns_rdata_t * keyrdata; + isc_region_t r; INSIST(i < nkey); ki = &keytable[i]; @@ -558,13 +559,13 @@ match_keyset_dsset(dns_rdataset_t *keyset, dns_rdataset_t *dsset, continue; } - result = dns_dnssec_keyfromrdata(name, keyrdata, - mctx, &ki->dst); + result = + dns_dnssec_keyfromrdata(name, keyrdata, mctx, &ki->dst); if (result != ISC_R_SUCCESS) { - vbprintf(3, "dns_dnssec_keyfromrdata(" + vbprintf(3, + "dns_dnssec_keyfromrdata(" "keytag=%d, algo=%d): %s\n", - ki->tag, ki->algo, - dns_result_totext(result)); + ki->tag, ki->algo, dns_result_totext(result)); } } @@ -572,11 +573,12 @@ match_keyset_dsset(dns_rdataset_t *keyset, dns_rdataset_t *dsset, } static void -free_keytable(keyinfo_t **keytable_p) { +free_keytable(keyinfo_t **keytable_p) +{ keyinfo_t *keytable = *keytable_p; *keytable_p = NULL; keyinfo_t *ki; - int i; + int i; for (i = 0; i < nkey; i++) { ki = &keytable[i]; @@ -601,18 +603,16 @@ static dns_secalg_t * matching_sigs(keyinfo_t *keytbl, dns_rdataset_t *rdataset, dns_rdataset_t *sigset) { - isc_result_t result; + isc_result_t result; dns_secalg_t *algo; - int i; + int i; algo = isc_mem_get(mctx, nkey); memset(algo, 0, nkey); - for (result = dns_rdataset_first(sigset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(sigset)) - { - dns_rdata_t sigrdata = DNS_RDATA_INIT; + for (result = dns_rdataset_first(sigset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(sigset)) { + dns_rdata_t sigrdata = DNS_RDATA_INIT; dns_rdata_rrsig_t sig; dns_rdataset_current(sigset, &sigrdata); @@ -630,26 +630,26 @@ matching_sigs(keyinfo_t *keytbl, dns_rdataset_t *rdataset, for (i = 0; i < nkey; i++) { keyinfo_t *ki = &keytbl[i]; - if (sig.keyid != ki->tag || - sig.algorithm != ki->algo || - !dns_name_equal(&sig.signer, name)) - { + if (sig.keyid != ki->tag || sig.algorithm != ki->algo || + !dns_name_equal(&sig.signer, name)) { continue; } if (ki->dst == NULL) { - vbprintf(1, "skip RRSIG by key %d:" + vbprintf(1, + "skip RRSIG by key %d:" " no matching (C)DS\n", sig.keyid); continue; } result = dns_dnssec_verify(name, rdataset, ki->dst, - false, 0, mctx, - &sigrdata, NULL); + false, 0, mctx, &sigrdata, + NULL); if (result != ISC_R_SUCCESS && result != DNS_R_FROMWILDCARD) { - vbprintf(1, "skip RRSIG by key %d:" + vbprintf(1, + "skip RRSIG by key %d:" " verification failed: %s\n", sig.keyid, isc_result_totext(result)); continue; @@ -664,8 +664,7 @@ matching_sigs(keyinfo_t *keytbl, dns_rdataset_t *rdataset, */ if (oldestsig.timesigned == 0 || isc_serial_lt(sig.timesigned, - oldestsig.timesigned)) - { + oldestsig.timesigned)) { verbose_time(2, "this is the oldest so far", sig.timesigned); oldestsig = sig; @@ -681,9 +680,10 @@ matching_sigs(keyinfo_t *keytbl, dns_rdataset_t *rdataset, * fetched from the child zone, any working signature is enough. */ static bool -signed_loose(dns_secalg_t *algo) { +signed_loose(dns_secalg_t *algo) +{ bool ok = false; - int i; + int i; for (i = 0; i < nkey; i++) { if (algo[i] != 0) { ok = true; @@ -700,18 +700,17 @@ signed_loose(dns_secalg_t *algo) { * RRset. */ static bool -signed_strict(dns_rdataset_t *dsset, dns_secalg_t *algo) { +signed_strict(dns_rdataset_t *dsset, dns_secalg_t *algo) +{ isc_result_t result; - bool all_ok = true; + bool all_ok = true; - for (result = dns_rdataset_first(dsset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(dsset)) - { - dns_rdata_t dsrdata = DNS_RDATA_INIT; + for (result = dns_rdataset_first(dsset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(dsset)) { + dns_rdata_t dsrdata = DNS_RDATA_INIT; dns_rdata_ds_t ds; - bool ds_ok; - int i; + bool ds_ok; + int i; dns_rdataset_current(dsset, &dsrdata); result = dns_rdata_tostruct(&dsrdata, &ds, NULL); @@ -724,8 +723,10 @@ signed_strict(dns_rdataset_t *dsset, dns_secalg_t *algo) { } } if (!ds_ok) { - vbprintf(0, "missing signature for algorithm %d " - "(key %d)\n", ds.algorithm, ds.key_tag); + vbprintf(0, + "missing signature for algorithm %d " + "(key %d)\n", + ds.algorithm, ds.key_tag); all_ok = false; } } @@ -735,7 +736,8 @@ signed_strict(dns_rdataset_t *dsset, dns_secalg_t *algo) { } static dns_rdata_t * -rdata_get(void) { +rdata_get(void) +{ dns_rdata_t *rdata; rdata = isc_mem_get(mctx, sizeof(*rdata)); @@ -745,7 +747,8 @@ rdata_get(void) { } static isc_result_t -rdata_put(isc_result_t result, dns_rdatalist_t *rdlist, dns_rdata_t *rdata) { +rdata_put(isc_result_t result, dns_rdatalist_t *rdlist, dns_rdata_t *rdata) +{ if (result == ISC_R_SUCCESS) { ISC_LIST_APPEND(rdlist->rdata, rdata, link); } else { @@ -761,10 +764,11 @@ rdata_put(isc_result_t result, dns_rdatalist_t *rdlist, dns_rdata_t *rdata) { * dns_rdata_cds_t and dns_rdata_ds_t types are aliases. */ static isc_result_t -ds_from_cds(dns_rdatalist_t *dslist, isc_buffer_t *buf, dns_rdata_t *cds) { - isc_result_t result; +ds_from_cds(dns_rdatalist_t *dslist, isc_buffer_t *buf, dns_rdata_t *cds) +{ + isc_result_t result; dns_rdata_ds_t ds; - dns_rdata_t *rdata; + dns_rdata_t * rdata; rdata = rdata_get(); @@ -772,20 +776,20 @@ ds_from_cds(dns_rdatalist_t *dslist, isc_buffer_t *buf, dns_rdata_t *cds) { check_result(result, "dns_rdata_tostruct(CDS)"); ds.common.rdtype = dns_rdatatype_ds; - result = dns_rdata_fromstruct(rdata, rdclass, dns_rdatatype_ds, - &ds, buf); + result = dns_rdata_fromstruct(rdata, rdclass, dns_rdatatype_ds, &ds, + buf); return (rdata_put(result, dslist, rdata)); } static isc_result_t ds_from_cdnskey(dns_rdatalist_t *dslist, isc_buffer_t *buf, - dns_rdata_t *cdnskey) + dns_rdata_t *cdnskey) { isc_result_t result; - unsigned i, n; + unsigned i, n; - n = sizeof(dtype)/sizeof(dtype[0]); + n = sizeof(dtype) / sizeof(dtype[0]); for (i = 0; i < n; i++) { if (dtype[i] != 0) { dns_rdata_t *rdata; @@ -814,12 +818,12 @@ ds_from_cdnskey(dns_rdatalist_t *dslist, isc_buffer_t *buf, } static void -make_new_ds_set(ds_maker_func_t *ds_from_rdata, - uint32_t ttl, dns_rdataset_t *rdset) +make_new_ds_set(ds_maker_func_t *ds_from_rdata, uint32_t ttl, + dns_rdataset_t *rdset) { unsigned int size = 16; for (;;) { - isc_result_t result; + isc_result_t result; dns_rdatalist_t *dslist; dslist = isc_mem_get(mctx, sizeof(*dslist)); @@ -837,10 +841,9 @@ make_new_ds_set(ds_maker_func_t *ds_from_rdata, for (result = dns_rdataset_first(rdset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(rdset)) - { + result = dns_rdataset_next(rdset)) { isc_result_t tresult; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(rdset, &rdata); @@ -863,7 +866,8 @@ make_new_ds_set(ds_maker_func_t *ds_from_rdata, } static inline int -rdata_cmp(const void *rdata1, const void *rdata2) { +rdata_cmp(const void *rdata1, const void *rdata2) +{ return (dns_rdata_compare((const dns_rdata_t *)rdata1, (const dns_rdata_t *)rdata2)); } @@ -873,14 +877,15 @@ rdata_cmp(const void *rdata1, const void *rdata2) { * digest types. */ static bool -consistent_digests(dns_rdataset_t *dsset) { - isc_result_t result; - dns_rdata_t *arrdata; +consistent_digests(dns_rdataset_t *dsset) +{ + isc_result_t result; + dns_rdata_t * arrdata; dns_rdata_ds_t *ds; - dns_keytag_t key_tag; - dns_secalg_t algorithm; - bool match; - int i, j, n, d; + dns_keytag_t key_tag; + dns_secalg_t algorithm; + bool match; + int i, j, n, d; /* * First sort the dsset. DS rdata fields are tag, algorithm, digest, @@ -891,10 +896,8 @@ consistent_digests(dns_rdataset_t *dsset) { arrdata = isc_mem_get(mctx, n * sizeof(dns_rdata_t)); - for (result = dns_rdataset_first(dsset), i = 0; - result == ISC_R_SUCCESS; - result = dns_rdataset_next(dsset), i++) - { + for (result = dns_rdataset_first(dsset), i = 0; result == ISC_R_SUCCESS; + result = dns_rdataset_next(dsset), i++) { dns_rdata_init(&arrdata[i]); dns_rdataset_current(dsset, &arrdata[i]); } @@ -929,11 +932,10 @@ consistent_digests(dns_rdataset_t *dsset) { while (i < n) { key_tag = ds[i].key_tag; algorithm = ds[i].algorithm; - for (j = 0; j < d && i+j < n; j++) { - if (ds[i+j].key_tag != key_tag || - ds[i+j].algorithm != algorithm || - ds[i+j].digest_type != ds[j].digest_type) - { + for (j = 0; j < d && i + j < n; j++) { + if (ds[i + j].key_tag != key_tag || + ds[i + j].algorithm != algorithm || + ds[i + j].digest_type != ds[j].digest_type) { match = false; } } @@ -950,11 +952,12 @@ consistent_digests(dns_rdataset_t *dsset) { } static void -print_diff(const char *cmd, dns_rdataset_t *rdataset) { - isc_buffer_t *buf; - isc_region_t r; +print_diff(const char *cmd, dns_rdataset_t *rdataset) +{ + isc_buffer_t * buf; + isc_region_t r; unsigned char *nl; - size_t len; + size_t len; buf = formatset(rdataset); isc_buffer_usedregion(buf, &r); @@ -969,19 +972,19 @@ print_diff(const char *cmd, dns_rdataset_t *rdataset) { } static void -update_diff(const char *cmd, uint32_t ttl, - dns_rdataset_t *addset, dns_rdataset_t *delset) +update_diff(const char *cmd, uint32_t ttl, dns_rdataset_t *addset, + dns_rdataset_t *delset) { - isc_result_t result; - dns_db_t *db; - dns_dbnode_t *node; + isc_result_t result; + dns_db_t * db; + dns_dbnode_t * node; dns_dbversion_t *ver; - dns_rdataset_t diffset; - uint32_t save; + dns_rdataset_t diffset; + uint32_t save; db = NULL; - result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, - rdclass, 0, NULL, &db); + result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, rdclass, 0, + NULL, &db); check_result(result, "dns_db_create()"); ver = NULL; @@ -994,12 +997,11 @@ update_diff(const char *cmd, uint32_t ttl, dns_rdataset_init(&diffset); - result = dns_db_addrdataset(db, node, ver, 0, addset, - DNS_DBADD_MERGE, NULL); + result = dns_db_addrdataset(db, node, ver, 0, addset, DNS_DBADD_MERGE, + NULL); check_result(result, "dns_db_addrdataset()"); - result = dns_db_subtractrdataset(db, node, ver, delset, - 0, &diffset); + result = dns_db_subtractrdataset(db, node, ver, delset, 0, &diffset); if (result == DNS_R_UNCHANGED) { save = addset->ttl; addset->ttl = ttl; @@ -1018,7 +1020,8 @@ update_diff(const char *cmd, uint32_t ttl, } static void -nsdiff(uint32_t ttl, dns_rdataset_t *oldset, dns_rdataset_t *newset) { +nsdiff(uint32_t ttl, dns_rdataset_t *oldset, dns_rdataset_t *newset) +{ if (ttl == 0) { vbprintf(1, "warning: no TTL in nsupdate script\n"); } @@ -1038,39 +1041,45 @@ ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { +usage(void) +{ fprintf(stderr, "Usage:\n"); fprintf(stderr, " %s options [options] -f -d \n", program); fprintf(stderr, "Version: %s\n", VERSION); fprintf(stderr, "Options:\n" -" -a digest algorithm (SHA-1 / SHA-256 / SHA-384)\n" -" -c of domain (default IN)\n" -" -D prefer CDNSKEY records instead of CDS\n" -" -d where to find parent dsset- file\n" -" -f child DNSKEY+CDNSKEY+CDS+RRSIG records\n" -" -i[extension] update dsset- file in place\n" -" -s oldest permitted child signatures\n" -" -u emit nsupdate script\n" -" -T TTL of DS records\n" -" -V print version\n" -" -v \n" - ); + " -a digest algorithm (SHA-1 / " + "SHA-256 / SHA-384)\n" + " -c of domain (default IN)\n" + " -D prefer CDNSKEY records instead " + "of CDS\n" + " -d where to find parent dsset- " + "file\n" + " -f child DNSKEY+CDNSKEY+CDS+RRSIG " + "records\n" + " -i[extension] update dsset- file in place\n" + " -s oldest permitted child " + "signatures\n" + " -u emit nsupdate script\n" + " -T TTL of DS records\n" + " -V print version\n" + " -v \n"); exit(1); } int -main(int argc, char *argv[]) { - const char *child_path = NULL; - const char *ds_path = NULL; - const char *inplace = NULL; +main(int argc, char *argv[]) +{ + const char * child_path = NULL; + const char * ds_path = NULL; + const char * inplace = NULL; isc_result_t result; - bool prefer_cdnskey = false; - bool nsupdate = false; - uint32_t ttl = 0; - int ch; - char *endp; + bool prefer_cdnskey = false; + bool nsupdate = false; + uint32_t ttl = 0; + int ch; + char * endp; isc_mem_create(&mctx); @@ -1105,8 +1114,7 @@ main(int argc, char *argv[]) { * so that it works just like sed(1). */ if (isc_commandline_argument == - argv[isc_commandline_index - 1]) - { + argv[isc_commandline_index - 1]) { isc_commandline_index--; inplace = ""; } else { @@ -1115,7 +1123,7 @@ main(int argc, char *argv[]) { break; case 'm': isc_mem_debugging = ISC_MEM_DEBUGTRACE | - ISC_MEM_DEBUGRECORD; + ISC_MEM_DEBUGRECORD; break; case 's': startstr = isc_commandline_argument; @@ -1187,19 +1195,16 @@ main(int argc, char *argv[]) { */ if (!dns_rdataset_isassociated(&dnskey_set) || - !dns_rdataset_isassociated(&dnskey_sig)) - { + !dns_rdataset_isassociated(&dnskey_sig)) { fatal("could not find signed DNSKEY RRset for %s", namestr); } if (dns_rdataset_isassociated(&cdnskey_set) && - !dns_rdataset_isassociated(&cdnskey_sig)) - { + !dns_rdataset_isassociated(&cdnskey_sig)) { fatal("missing RRSIG CDNSKEY records for %s", namestr); } if (dns_rdataset_isassociated(&cds_set) && - !dns_rdataset_isassociated(&cds_sig)) - { + !dns_rdataset_isassociated(&cds_sig)) { fatal("missing RRSIG CDS records for %s", namestr); } @@ -1213,25 +1218,23 @@ main(int argc, char *argv[]) { */ vbprintf(1, "verify DNSKEY signature(s)\n"); - if (!signed_loose(matching_sigs(old_key_tbl, &dnskey_set, &dnskey_sig))) - { + if (!signed_loose( + matching_sigs(old_key_tbl, &dnskey_set, &dnskey_sig))) { fatal("could not validate child DNSKEY RRset for %s", namestr); } if (dns_rdataset_isassociated(&cdnskey_set)) { vbprintf(1, "verify CDNSKEY signature(s)\n"); - if (!signed_loose(matching_sigs(old_key_tbl, - &cdnskey_set, &cdnskey_sig))) - { + if (!signed_loose(matching_sigs(old_key_tbl, &cdnskey_set, + &cdnskey_sig))) { fatal("could not validate child CDNSKEY RRset for %s", namestr); } } if (dns_rdataset_isassociated(&cds_set)) { vbprintf(1, "verify CDS signature(s)\n"); - if (!signed_loose(matching_sigs(old_key_tbl, - &cds_set, &cds_sig))) - { + if (!signed_loose( + matching_sigs(old_key_tbl, &cds_set, &cds_sig))) { fatal("could not validate child CDS RRset for %s", namestr); } @@ -1248,8 +1251,7 @@ main(int argc, char *argv[]) { dns_rdatatype_format(oldestsig.covered, type, sizeof(type)); verbose_time(1, "child signature inception time", oldestsig.timesigned); - vbprintf(2, "from RRSIG %s by key %d\n", - type, oldestsig.keyid); + vbprintf(2, "from RRSIG %s by key %d\n", type, oldestsig.keyid); } /* @@ -1257,8 +1259,7 @@ main(int argc, char *argv[]) { * RFC 7344 section 4.1 first paragraph */ if (!dns_rdataset_isassociated(&cdnskey_set) && - !dns_rdataset_isassociated(&cds_set)) - { + !dns_rdataset_isassociated(&cds_set)) { vbprintf(1, "%s has neither CDS nor CDNSKEY records\n", namestr); write_parent_set(ds_path, inplace, nsupdate, &old_ds_set); @@ -1286,16 +1287,16 @@ main(int argc, char *argv[]) { if (!consistent_digests(&new_ds_set)) { fatal("CDS records at %s do not cover each key " - "with the same set of digest types", namestr); + "with the same set of digest types", + namestr); } vbprintf(1, "verify DNSKEY signature(s)\n"); - if (!signed_strict(&new_ds_set, - matching_sigs(new_key_tbl, - &dnskey_set, &dnskey_sig))) - { + if (!signed_strict(&new_ds_set, matching_sigs(new_key_tbl, &dnskey_set, + &dnskey_sig))) { fatal("could not validate child DNSKEY RRset " - "with new DS records for %s", namestr); + "with new DS records for %s", + namestr); } free_keytable(&new_key_tbl); diff --git a/bin/dnssec/dnssec-dsfromkey.c b/bin/dnssec/dnssec-dsfromkey.c index 95ba8e9e7e..745fd22592 100644 --- a/bin/dnssec/dnssec-dsfromkey.c +++ b/bin/dnssec/dnssec-dsfromkey.c @@ -51,13 +51,14 @@ const char *program = "dnssec-dsfromkey"; static dns_rdataclass_t rdclass; static dns_fixedname_t fixed; -static dns_name_t *name = NULL; -static isc_mem_t *mctx = NULL; -static uint32_t ttl; -static bool emitttl = false; +static dns_name_t * name = NULL; +static isc_mem_t * mctx = NULL; +static uint32_t ttl; +static bool emitttl = false; static isc_result_t -initname(char *setname) { +initname(char *setname) +{ isc_result_t result; isc_buffer_t buf; @@ -70,8 +71,9 @@ initname(char *setname) { } static void -db_load_from_stream(dns_db_t *db, FILE *fp) { - isc_result_t result; +db_load_from_stream(dns_db_t *db, FILE *fp) +{ + isc_result_t result; dns_rdatacallbacks_t callbacks; dns_rdatacallbacks_init(&callbacks); @@ -79,8 +81,8 @@ db_load_from_stream(dns_db_t *db, FILE *fp) { if (result != ISC_R_SUCCESS) fatal("dns_db_beginload failed: %s", isc_result_totext(result)); - result = dns_master_loadstream(fp, name, name, rdclass, 0, - &callbacks, mctx); + result = dns_master_loadstream(fp, name, name, rdclass, 0, &callbacks, + mctx); if (result != ISC_R_SUCCESS) fatal("can't load from input: %s", isc_result_totext(result)); @@ -90,16 +92,17 @@ db_load_from_stream(dns_db_t *db, FILE *fp) { } static isc_result_t -loadset(const char *filename, dns_rdataset_t *rdataset) { - isc_result_t result; - dns_db_t *db = NULL; - dns_dbnode_t *node = NULL; - char setname[DNS_NAME_FORMATSIZE]; +loadset(const char *filename, dns_rdataset_t *rdataset) +{ + isc_result_t result; + dns_db_t * db = NULL; + dns_dbnode_t *node = NULL; + char setname[DNS_NAME_FORMATSIZE]; dns_name_format(name, setname, sizeof(setname)); - result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, - rdclass, 0, NULL, &db); + result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, rdclass, 0, + NULL, &db); if (result != ISC_R_SUCCESS) fatal("can't create database"); @@ -117,8 +120,8 @@ loadset(const char *filename, dns_rdataset_t *rdataset) { if (result != ISC_R_SUCCESS) fatal("can't find %s node in %s", setname, filename); - result = dns_db_findrdataset(db, node, NULL, dns_rdatatype_dnskey, - 0, 0, rdataset, NULL); + result = dns_db_findrdataset(db, node, NULL, dns_rdatatype_dnskey, 0, 0, + rdataset, NULL); if (result == ISC_R_NOTFOUND) fatal("no DNSKEY RR for %s in %s", setname, filename); @@ -133,10 +136,11 @@ loadset(const char *filename, dns_rdataset_t *rdataset) { } static isc_result_t -loadkeyset(char *dirname, dns_rdataset_t *rdataset) { - isc_result_t result; - char filename[PATH_MAX + 1]; - isc_buffer_t buf; +loadkeyset(char *dirname, dns_rdataset_t *rdataset) +{ + isc_result_t result; + char filename[PATH_MAX + 1]; + isc_buffer_t buf; dns_rdataset_init(rdataset); @@ -167,20 +171,20 @@ static void loadkey(char *filename, unsigned char *key_buf, unsigned int key_buf_size, dns_rdata_t *rdata) { - isc_result_t result; - dst_key_t *key = NULL; - isc_buffer_t keyb; - isc_region_t r; + isc_result_t result; + dst_key_t * key = NULL; + isc_buffer_t keyb; + isc_region_t r; dns_rdata_init(rdata); isc_buffer_init(&keyb, key_buf, key_buf_size); - result = dst_key_fromnamedfile(filename, NULL, DST_TYPE_PUBLIC, - mctx, &key); + result = dst_key_fromnamedfile(filename, NULL, DST_TYPE_PUBLIC, mctx, + &key); if (result != ISC_R_SUCCESS) - fatal("can't load %s.key: %s", - filename, isc_result_totext(result)); + fatal("can't load %s.key: %s", filename, + isc_result_totext(result)); if (verbose > 2) { char keystr[DST_KEY_FORMATSIZE]; @@ -194,8 +198,8 @@ loadkey(char *filename, unsigned char *key_buf, unsigned int key_buf_size, fatal("can't decode key"); isc_buffer_usedregion(&keyb, &r); - dns_rdata_fromregion(rdata, dst_key_class(key), - dns_rdatatype_dnskey, &r); + dns_rdata_fromregion(rdata, dst_key_class(key), dns_rdatatype_dnskey, + &r); rdclass = dst_key_class(key); @@ -206,9 +210,10 @@ loadkey(char *filename, unsigned char *key_buf, unsigned int key_buf_size, } static void -logkey(dns_rdata_t *rdata) { +logkey(dns_rdata_t *rdata) +{ isc_result_t result; - dst_key_t *key = NULL; + dst_key_t * key = NULL; isc_buffer_t buf; char keystr[DST_KEY_FORMATSIZE]; @@ -225,15 +230,16 @@ logkey(dns_rdata_t *rdata) { } static void -emit(dns_dsdigest_t dt, bool showall, bool cds, dns_rdata_t *rdata) { - isc_result_t result; - unsigned char buf[DNS_DS_BUFFERSIZE]; - char text_buf[DST_KEY_MAXTEXTSIZE]; - char name_buf[DNS_NAME_MAXWIRE]; - char class_buf[10]; - isc_buffer_t textb, nameb, classb; - isc_region_t r; - dns_rdata_t ds; +emit(dns_dsdigest_t dt, bool showall, bool cds, dns_rdata_t *rdata) +{ + isc_result_t result; + unsigned char buf[DNS_DS_BUFFERSIZE]; + char text_buf[DST_KEY_MAXTEXTSIZE]; + char name_buf[DNS_NAME_MAXWIRE]; + char class_buf[10]; + isc_buffer_t textb, nameb, classb; + isc_region_t r; + dns_rdata_t ds; dns_rdata_dnskey_t dnskey; isc_buffer_init(&textb, text_buf, sizeof(text_buf)); @@ -257,7 +263,7 @@ emit(dns_dsdigest_t dt, bool showall, bool cds, dns_rdata_t *rdata) { if (result != ISC_R_SUCCESS) fatal("can't print name"); - result = dns_rdata_tofmttext(&ds, (dns_name_t *) NULL, 0, 0, 0, "", + result = dns_rdata_tofmttext(&ds, (dns_name_t *)NULL, 0, 0, 0, "", &textb); if (result != ISC_R_SUCCESS) @@ -287,10 +293,11 @@ emit(dns_dsdigest_t dt, bool showall, bool cds, dns_rdata_t *rdata) { } static void -emits(bool showall, bool cds, dns_rdata_t *rdata) { +emits(bool showall, bool cds, dns_rdata_t *rdata) +{ unsigned i, n; - n = sizeof(dtype)/sizeof(dtype[0]); + n = sizeof(dtype) / sizeof(dtype[0]); for (i = 0; i < n; i++) { if (dtype[i] != 0) { emit(dtype[i], showall, cds, rdata); @@ -302,45 +309,50 @@ ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { +usage(void) +{ fprintf(stderr, "Usage:\n"); - fprintf(stderr, " %s [options] keyfile\n\n", program); + fprintf(stderr, " %s [options] keyfile\n\n", program); fprintf(stderr, " %s [options] -f zonefile [zonename]\n\n", program); fprintf(stderr, " %s [options] -s dnsname\n\n", program); fprintf(stderr, " %s [-h|-V]\n\n", program); fprintf(stderr, "Version: %s\n", VERSION); fprintf(stderr, "Options:\n" -" -1: digest algorithm SHA-1\n" -" -2: digest algorithm SHA-256\n" -" -a algorithm: digest algorithm (SHA-1, SHA-256 or SHA-384)\n" -" -A: include all keys in DS set, not just KSKs (-f only)\n" -" -c class: rdata class for DS set (default IN) (-f or -s only)\n" -" -C: print CDS records\n" -" -f zonefile: read keys from a zone file\n" -" -h: print help information\n" -" -K directory: where to find key or keyset files\n" -" -s: read keys from keyset- file\n" -" -T: TTL of output records (omitted by default)\n" -" -v level: verbosity\n" -" -V: print version information\n"); + " -1: digest algorithm SHA-1\n" + " -2: digest algorithm SHA-256\n" + " -a algorithm: digest algorithm (SHA-1, SHA-256 or " + "SHA-384)\n" + " -A: include all keys in DS set, not just KSKs (-f " + "only)\n" + " -c class: rdata class for DS set (default IN) (-f " + "or -s only)\n" + " -C: print CDS records\n" + " -f zonefile: read keys from a zone file\n" + " -h: print help information\n" + " -K directory: where to find key or keyset files\n" + " -s: read keys from keyset- file\n" + " -T: TTL of output records (omitted by default)\n" + " -v level: verbosity\n" + " -V: print version information\n"); fprintf(stderr, "Output: DS or CDS RRs\n"); - exit (-1); + exit(-1); } int -main(int argc, char **argv) { - char *classname = NULL; - char *filename = NULL, *dir = NULL, *namestr; - char *endp, *arg1; - int ch; - bool cds = false; - bool usekeyset = false; - bool showall = false; - isc_result_t result; - isc_log_t *log = NULL; - dns_rdataset_t rdataset; - dns_rdata_t rdata; +main(int argc, char **argv) +{ + char * classname = NULL; + char * filename = NULL, *dir = NULL, *namestr; + char * endp, *arg1; + int ch; + bool cds = false; + bool usekeyset = false; + bool showall = false; + isc_result_t result; + isc_log_t * log = NULL; + dns_rdataset_t rdataset; + dns_rdata_t rdata; dns_rdata_init(&rdata); @@ -379,8 +391,10 @@ main(int argc, char **argv) { classname = isc_commandline_argument; break; case 'd': - fprintf(stderr, "%s: the -d option is deprecated; " - "use -K\n", program); + fprintf(stderr, + "%s: the -d option is deprecated; " + "use -K\n", + program); /* fall through */ case 'K': dir = isc_commandline_argument; @@ -422,8 +436,8 @@ main(int argc, char **argv) { version(program); default: - fprintf(stderr, "%s: unhandled option -%c\n", - program, isc_commandline_option); + fprintf(stderr, "%s: unhandled option -%c\n", program, + isc_commandline_option); exit(1); } } @@ -493,8 +507,7 @@ main(int argc, char **argv) { for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(&rdataset)) - { + result = dns_rdataset_next(&rdataset)) { dns_rdata_init(&rdata); dns_rdataset_current(&rdataset, &rdata); diff --git a/bin/dnssec/dnssec-importkey.c b/bin/dnssec/dnssec-importkey.c index 4a4684d741..42ecf5fc77 100644 --- a/bin/dnssec/dnssec-importkey.c +++ b/bin/dnssec/dnssec-importkey.c @@ -50,18 +50,19 @@ const char *program = "dnssec-importkey"; static dns_rdataclass_t rdclass; static dns_fixedname_t fixed; -static dns_name_t *name = NULL; -static isc_mem_t *mctx = NULL; -static bool setpub = false, setdel = false; -static bool setttl = false; +static dns_name_t * name = NULL; +static isc_mem_t * mctx = NULL; +static bool setpub = false, setdel = false; +static bool setttl = false; static isc_stdtime_t pub = 0, del = 0; static dns_ttl_t ttl = 0; static isc_stdtime_t syncadd = 0, syncdel = 0; -static bool setsyncadd = false; -static bool setsyncdel = false; +static bool setsyncadd = false; +static bool setsyncdel = false; static isc_result_t -initname(char *setname) { +initname(char *setname) +{ isc_result_t result; isc_buffer_t buf; @@ -74,8 +75,9 @@ initname(char *setname) { } static void -db_load_from_stream(dns_db_t *db, FILE *fp) { - isc_result_t result; +db_load_from_stream(dns_db_t *db, FILE *fp) +{ + isc_result_t result; dns_rdatacallbacks_t callbacks; dns_rdatacallbacks_init(&callbacks); @@ -83,8 +85,8 @@ db_load_from_stream(dns_db_t *db, FILE *fp) { if (result != ISC_R_SUCCESS) fatal("dns_db_beginload failed: %s", isc_result_totext(result)); - result = dns_master_loadstream(fp, name, name, rdclass, 0, - &callbacks, mctx); + result = dns_master_loadstream(fp, name, name, rdclass, 0, &callbacks, + mctx); if (result != ISC_R_SUCCESS) fatal("can't load from input: %s", isc_result_totext(result)); @@ -94,16 +96,17 @@ db_load_from_stream(dns_db_t *db, FILE *fp) { } static isc_result_t -loadset(const char *filename, dns_rdataset_t *rdataset) { - isc_result_t result; - dns_db_t *db = NULL; - dns_dbnode_t *node = NULL; - char setname[DNS_NAME_FORMATSIZE]; +loadset(const char *filename, dns_rdataset_t *rdataset) +{ + isc_result_t result; + dns_db_t * db = NULL; + dns_dbnode_t *node = NULL; + char setname[DNS_NAME_FORMATSIZE]; dns_name_format(name, setname, sizeof(setname)); - result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, - rdclass, 0, NULL, &db); + result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, rdclass, 0, + NULL, &db); if (result != ISC_R_SUCCESS) fatal("can't create database"); @@ -122,8 +125,8 @@ loadset(const char *filename, dns_rdataset_t *rdataset) { if (result != ISC_R_SUCCESS) fatal("can't find %s node in %s", setname, filename); - result = dns_db_findrdataset(db, node, NULL, dns_rdatatype_dnskey, - 0, 0, rdataset, NULL); + result = dns_db_findrdataset(db, node, NULL, dns_rdatatype_dnskey, 0, 0, + rdataset, NULL); if (result == ISC_R_NOTFOUND) fatal("no DNSKEY RR for %s in %s", setname, filename); @@ -141,20 +144,20 @@ static void loadkey(char *filename, unsigned char *key_buf, unsigned int key_buf_size, dns_rdata_t *rdata) { - isc_result_t result; - dst_key_t *key = NULL; - isc_buffer_t keyb; - isc_region_t r; + isc_result_t result; + dst_key_t * key = NULL; + isc_buffer_t keyb; + isc_region_t r; dns_rdata_init(rdata); isc_buffer_init(&keyb, key_buf, key_buf_size); - result = dst_key_fromnamedfile(filename, NULL, DST_TYPE_PUBLIC, - mctx, &key); + result = dst_key_fromnamedfile(filename, NULL, DST_TYPE_PUBLIC, mctx, + &key); if (result != ISC_R_SUCCESS) - fatal("invalid keyfile name %s: %s", - filename, isc_result_totext(result)); + fatal("invalid keyfile name %s: %s", filename, + isc_result_totext(result)); if (verbose > 2) { char keystr[DST_KEY_FORMATSIZE]; @@ -168,8 +171,8 @@ loadkey(char *filename, unsigned char *key_buf, unsigned int key_buf_size, fatal("can't decode key"); isc_buffer_usedregion(&keyb, &r); - dns_rdata_fromregion(rdata, dst_key_class(key), - dns_rdatatype_dnskey, &r); + dns_rdata_fromregion(rdata, dst_key_class(key), dns_rdatatype_dnskey, + &r); rdclass = dst_key_class(key); @@ -180,13 +183,14 @@ loadkey(char *filename, unsigned char *key_buf, unsigned int key_buf_size, } static void -emit(const char *dir, dns_rdata_t *rdata) { +emit(const char *dir, dns_rdata_t *rdata) +{ isc_result_t result; - char keystr[DST_KEY_FORMATSIZE]; - char pubname[1024]; - char priname[1024]; + char keystr[DST_KEY_FORMATSIZE]; + char pubname[1024]; + char priname[1024]; isc_buffer_t buf; - dst_key_t *key = NULL, *tmp = NULL; + dst_key_t * key = NULL, *tmp = NULL; isc_buffer_init(&buf, rdata->data, rdata->length); isc_buffer_add(&buf, rdata->length); @@ -208,10 +212,9 @@ emit(const char *dir, dns_rdata_t *rdata) { isc_result_totext(result)); } - result = dst_key_fromfile(dst_key_name(key), dst_key_id(key), - dst_key_alg(key), - DST_TYPE_PUBLIC | DST_TYPE_PRIVATE, - dir, mctx, &tmp); + result = dst_key_fromfile( + dst_key_name(key), dst_key_id(key), dst_key_alg(key), + DST_TYPE_PUBLIC | DST_TYPE_PRIVATE, dir, mctx, &tmp); if (result == ISC_R_SUCCESS) { if (dst_key_isprivate(tmp) && !dst_key_isexternal(tmp)) fatal("Private key already exists in %s", priname); @@ -231,8 +234,7 @@ emit(const char *dir, dns_rdata_t *rdata) { if (setttl) dst_key_setttl(key, ttl); - result = dst_key_tofile(key, DST_TYPE_PUBLIC|DST_TYPE_PRIVATE, - dir); + result = dst_key_tofile(key, DST_TYPE_PUBLIC | DST_TYPE_PRIVATE, dir); if (result != ISC_R_SUCCESS) { dst_key_format(key, keystr, sizeof(keystr)); fatal("Failed to write key %s: %s", keystr, @@ -254,43 +256,45 @@ ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { +usage(void) +{ fprintf(stderr, "Usage:\n"); - fprintf(stderr, " %s options [-K dir] keyfile\n\n", program); + fprintf(stderr, " %s options [-K dir] keyfile\n\n", program); fprintf(stderr, " %s options -f file [keyname]\n\n", program); fprintf(stderr, "Version: %s\n", VERSION); fprintf(stderr, "Options:\n"); fprintf(stderr, " -f file: read key from zone file\n"); fprintf(stderr, " -K : directory in which to store " - "the key files\n"); + "the key files\n"); fprintf(stderr, " -L ttl: set default key TTL\n"); fprintf(stderr, " -v \n"); fprintf(stderr, " -V: print version information\n"); fprintf(stderr, " -h: print usage and exit\n"); fprintf(stderr, "Timing options:\n"); fprintf(stderr, " -P date/[+-]offset/none: set/unset key " - "publication date\n"); + "publication date\n"); fprintf(stderr, " -P sync date/[+-]offset/none: set/unset " - "CDS and CDNSKEY publication date\n"); + "CDS and CDNSKEY publication date\n"); fprintf(stderr, " -D date/[+-]offset/none: set/unset key " - "deletion date\n"); + "deletion date\n"); fprintf(stderr, " -D sync date/[+-]offset/none: set/unset " - "CDS and CDNSKEY deletion date\n"); + "CDS and CDNSKEY deletion date\n"); - exit (-1); + exit(-1); } int -main(int argc, char **argv) { - char *classname = NULL; - char *filename = NULL, *dir = NULL, *namestr; - char *endp; - int ch; - isc_result_t result; - isc_log_t *log = NULL; - dns_rdataset_t rdataset; - dns_rdata_t rdata; - isc_stdtime_t now; +main(int argc, char **argv) +{ + char * classname = NULL; + char * filename = NULL, *dir = NULL, *namestr; + char * endp; + int ch; + isc_result_t result; + isc_log_t * log = NULL; + dns_rdataset_t rdataset; + dns_rdata_t rdata; + isc_stdtime_t now; dns_rdata_init(&rdata); isc_stdtime_get(&now); @@ -318,7 +322,7 @@ main(int argc, char **argv) { "once"); syncdel = strtotime(isc_commandline_argument, - now, now, &setsyncdel); + now, now, &setsyncdel); break; } /* -Ddnskey ? */ @@ -326,8 +330,8 @@ main(int argc, char **argv) { if (setdel) fatal("-D specified more than once"); - del = strtotime(isc_commandline_argument, - now, now, &setdel); + del = strtotime(isc_commandline_argument, now, now, + &setdel); break; case 'K': dir = isc_commandline_argument; @@ -346,7 +350,7 @@ main(int argc, char **argv) { "once"); syncadd = strtotime(isc_commandline_argument, - now, now, &setsyncadd); + now, now, &setsyncadd); break; } /* -Pdnskey ? */ @@ -354,8 +358,8 @@ main(int argc, char **argv) { if (setpub) fatal("-P specified more than once"); - pub = strtotime(isc_commandline_argument, - now, now, &setpub); + pub = strtotime(isc_commandline_argument, now, now, + &setpub); break; case 'f': filename = isc_commandline_argument; @@ -379,8 +383,8 @@ main(int argc, char **argv) { version(program); default: - fprintf(stderr, "%s: unhandled option -%c\n", - program, isc_commandline_option); + fprintf(stderr, "%s: unhandled option -%c\n", program, + isc_commandline_option); exit(1); } } @@ -421,7 +425,6 @@ main(int argc, char **argv) { for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { - dns_rdata_init(&rdata); dns_rdataset_current(&rdataset, &rdata); emit(dir, &rdata); @@ -429,8 +432,8 @@ main(int argc, char **argv) { } else { unsigned char key_buf[DST_KEY_MAXSIZE]; - loadkey(argv[isc_commandline_index], key_buf, - DST_KEY_MAXSIZE, &rdata); + loadkey(argv[isc_commandline_index], key_buf, DST_KEY_MAXSIZE, + &rdata); emit(dir, &rdata); } diff --git a/bin/dnssec/dnssec-keyfromlabel.c b/bin/dnssec/dnssec-keyfromlabel.c index 4bc653f3a5..361f46bfa3 100644 --- a/bin/dnssec/dnssec-keyfromlabel.c +++ b/bin/dnssec/dnssec-keyfromlabel.c @@ -19,13 +19,11 @@ #include #include #include -#include #include +#include #include #include -#include - #include #include #include @@ -36,6 +34,7 @@ #include #include +#include #if USE_PKCS11 #include @@ -51,10 +50,10 @@ ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { +usage(void) +{ fprintf(stderr, "Usage:\n"); - fprintf(stderr, " %s -l label [options] name\n\n", - program); + fprintf(stderr, " %s -l label [options] name\n\n", program); fprintf(stderr, "Version: %s\n", VERSION); fprintf(stderr, "Required options:\n"); fprintf(stderr, " -l label: label of the key pair\n"); @@ -69,8 +68,10 @@ usage(void) { fprintf(stderr, " -c class (default: IN)\n"); fprintf(stderr, " -E :\n"); #if USE_PKCS11 - fprintf(stderr, " path to PKCS#11 provider library " - "(default is %s)\n", PK11_LIB_LOCATION); + fprintf(stderr, + " path to PKCS#11 provider library " + "(default is %s)\n", + PK11_LIB_LOCATION); #else fprintf(stderr, " name of an OpenSSL engine to use\n"); #endif @@ -79,12 +80,13 @@ usage(void) { "key files\n"); fprintf(stderr, " -k: generate a TYPE=KEY key\n"); fprintf(stderr, " -L ttl: default key TTL\n"); - fprintf(stderr, " -n nametype: ZONE | HOST | ENTITY | USER | OTHER\n"); + fprintf(stderr, " -n nametype: ZONE | HOST | ENTITY | USER | " + "OTHER\n"); fprintf(stderr, " (DNSKEY generation defaults to ZONE\n"); fprintf(stderr, " -p protocol: default: 3 [dnssec]\n"); fprintf(stderr, " -t type: " - "AUTHCONF | NOAUTHCONF | NOAUTH | NOCONF " - "(default: AUTHCONF)\n"); + "AUTHCONF | NOAUTHCONF | NOAUTH | NOCONF " + "(default: AUTHCONF)\n"); fprintf(stderr, " -y: permit keys that might collide\n"); fprintf(stderr, " -v verbose level\n"); fprintf(stderr, " -V: print version information\n"); @@ -102,63 +104,64 @@ usage(void) { fprintf(stderr, " -C: generate a backward-compatible key, omitting" " all dates\n"); fprintf(stderr, " -S : generate a successor to an existing " - "key\n"); + "key\n"); fprintf(stderr, " -i : prepublication interval for " - "successor key " - "(default: 30 days)\n"); + "successor key " + "(default: 30 days)\n"); fprintf(stderr, "Output:\n"); fprintf(stderr, " K++.key, " "K++.private\n"); - exit (-1); + exit(-1); } int -main(int argc, char **argv) { - char *algname = NULL, *freeit = NULL; - char *nametype = NULL, *type = NULL; - const char *directory = NULL; - const char *predecessor = NULL; - dst_key_t *prevkey = NULL; - const char *engine = NULL; - char *classname = NULL; - char *endp; - dst_key_t *key = NULL; - dns_fixedname_t fname; - dns_name_t *name; - uint16_t flags = 0, kskflag = 0, revflag = 0; - dns_secalg_t alg; - bool oldstyle = false; - isc_mem_t *mctx = NULL; - int ch; - int protocol = -1, signatory = 0; - isc_result_t ret; +main(int argc, char **argv) +{ + char * algname = NULL, *freeit = NULL; + char * nametype = NULL, *type = NULL; + const char * directory = NULL; + const char * predecessor = NULL; + dst_key_t * prevkey = NULL; + const char * engine = NULL; + char * classname = NULL; + char * endp; + dst_key_t * key = NULL; + dns_fixedname_t fname; + dns_name_t * name; + uint16_t flags = 0, kskflag = 0, revflag = 0; + dns_secalg_t alg; + bool oldstyle = false; + isc_mem_t * mctx = NULL; + int ch; + int protocol = -1, signatory = 0; + isc_result_t ret; isc_textregion_t r; - char filename[255]; - isc_buffer_t buf; - isc_log_t *log = NULL; + char filename[255]; + isc_buffer_t buf; + isc_log_t * log = NULL; dns_rdataclass_t rdclass; - int options = DST_TYPE_PRIVATE | DST_TYPE_PUBLIC; - char *label = NULL; - dns_ttl_t ttl = 0; - isc_stdtime_t publish = 0, activate = 0, revoke = 0; - isc_stdtime_t inactive = 0, deltime = 0; - isc_stdtime_t now; - int prepub = -1; - bool setpub = false, setact = false; - bool setrev = false, setinact = false; - bool setdel = false, setttl = false; - bool unsetpub = false, unsetact = false; - bool unsetrev = false, unsetinact = false; - bool unsetdel = false; - bool genonly = false; - bool use_nsec3 = false; - bool avoid_collisions = true; - bool exact; - unsigned char c; - isc_stdtime_t syncadd = 0, syncdel = 0; - bool unsetsyncadd = false, setsyncadd = false; - bool unsetsyncdel = false, setsyncdel = false; + int options = DST_TYPE_PRIVATE | DST_TYPE_PUBLIC; + char * label = NULL; + dns_ttl_t ttl = 0; + isc_stdtime_t publish = 0, activate = 0, revoke = 0; + isc_stdtime_t inactive = 0, deltime = 0; + isc_stdtime_t now; + int prepub = -1; + bool setpub = false, setact = false; + bool setrev = false, setinact = false; + bool setdel = false, setttl = false; + bool unsetpub = false, unsetact = false; + bool unsetrev = false, unsetinact = false; + bool unsetdel = false; + bool genonly = false; + bool use_nsec3 = false; + bool avoid_collisions = true; + bool exact; + unsigned char c; + isc_stdtime_t syncadd = 0, syncdel = 0; + bool unsetsyncadd = false, setsyncadd = false; + bool unsetsyncdel = false, setsyncdel = false; if (argc == 1) usage(); @@ -176,7 +179,7 @@ main(int argc, char **argv) { #define CMDLINE_FLAGS "3A:a:Cc:D:E:Ff:GhI:i:kK:L:l:n:P:p:R:S:t:v:Vy" while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) { - switch (ch) { + switch (ch) { case '3': use_nsec3 = true; break; @@ -206,8 +209,8 @@ main(int argc, char **argv) { directory = isc_commandline_argument; ret = try_dir(directory); if (ret != ISC_R_SUCCESS) - fatal("cannot open directory %s: %s", - directory, isc_result_totext(ret)); + fatal("cannot open directory %s: %s", directory, + isc_result_totext(ret)); break; case 'k': options |= DST_TYPE_KEY; @@ -250,7 +253,7 @@ main(int argc, char **argv) { "once"); syncadd = strtotime(isc_commandline_argument, - now, now, &setsyncadd); + now, now, &setsyncadd); unsetsyncadd = !setsyncadd; break; } @@ -259,32 +262,32 @@ main(int argc, char **argv) { if (setpub || unsetpub) fatal("-P specified more than once"); - publish = strtotime(isc_commandline_argument, - now, now, &setpub); + publish = strtotime(isc_commandline_argument, now, now, + &setpub); unsetpub = !setpub; break; case 'A': if (setact || unsetact) fatal("-A specified more than once"); - activate = strtotime(isc_commandline_argument, - now, now, &setact); + activate = strtotime(isc_commandline_argument, now, now, + &setact); unsetact = !setact; break; case 'R': if (setrev || unsetrev) fatal("-R specified more than once"); - revoke = strtotime(isc_commandline_argument, - now, now, &setrev); + revoke = strtotime(isc_commandline_argument, now, now, + &setrev); unsetrev = !setrev; break; case 'I': if (setinact || unsetinact) fatal("-I specified more than once"); - inactive = strtotime(isc_commandline_argument, - now, now, &setinact); + inactive = strtotime(isc_commandline_argument, now, now, + &setinact); unsetinact = !setinact; break; case 'D': @@ -295,7 +298,7 @@ main(int argc, char **argv) { "once"); syncdel = strtotime(isc_commandline_argument, - now, now, &setsyncdel); + now, now, &setsyncdel); unsetsyncdel = !setsyncdel; break; } @@ -304,8 +307,8 @@ main(int argc, char **argv) { if (setdel || unsetdel) fatal("-D specified more than once"); - deltime = strtotime(isc_commandline_argument, - now, now, &setdel); + deltime = strtotime(isc_commandline_argument, now, now, + &setdel); unsetdel = !setdel; break; case 'S': @@ -331,16 +334,15 @@ main(int argc, char **argv) { version(program); default: - fprintf(stderr, "%s: unhandled option -%c\n", - program, isc_commandline_option); + fprintf(stderr, "%s: unhandled option -%c\n", program, + isc_commandline_option); exit(1); } } ret = dst_lib_init(mctx, engine); if (ret != ISC_R_SUCCESS) - fatal("could not initialize dst: %s", - isc_result_totext(ret)); + fatal("could not initialize dst: %s", isc_result_totext(ret)); setup_logging(mctx, &log); @@ -364,7 +366,7 @@ main(int argc, char **argv) { if (strchr(label, ':') == NULL) { char *l; - int len; + int len; len = strlen(label) + 8; l = isc_mem_allocate(mctx, len); @@ -402,7 +404,8 @@ main(int argc, char **argv) { break; default: fatal("%s is incompatible with NSEC3; " - "do not use the -3 option", algname); + "do not use the -3 option", + algname); } } @@ -443,9 +446,9 @@ main(int argc, char **argv) { "than the\n\tprepublication interval."); } } else { - char keystr[DST_KEY_FORMATSIZE]; + char keystr[DST_KEY_FORMATSIZE]; isc_stdtime_t when; - int major, minor; + int major, minor; if (prepub == -1) prepub = (30 * 86400); @@ -471,8 +474,8 @@ main(int argc, char **argv) { DST_TYPE_PUBLIC | DST_TYPE_PRIVATE, mctx, &prevkey); if (ret != ISC_R_SUCCESS) - fatal("Invalid keyfile %s: %s", - predecessor, isc_result_totext(ret)); + fatal("Invalid keyfile %s: %s", predecessor, + isc_result_totext(ret)); if (!dst_key_isprivate(prevkey)) fatal("%s is not a private key", predecessor); @@ -491,13 +494,15 @@ main(int argc, char **argv) { if (ret != ISC_R_SUCCESS) fatal("Key %s has no activation date.\n\t" "You must use dnssec-settime -A to set one " - "before generating a successor.", keystr); + "before generating a successor.", + keystr); ret = dst_key_gettime(prevkey, DST_TIME_INACTIVE, &activate); if (ret != ISC_R_SUCCESS) fatal("Key %s has no inactivation date.\n\t" "You must use dnssec-settime -I to set one " - "before generating a successor.", keystr); + "before generating a successor.", + keystr); publish = activate - prepub; if (publish < now) @@ -507,15 +512,18 @@ main(int argc, char **argv) { "Either change the inactivation date with " "dnssec-settime -I,\n\t" "or use the -i option to set a shorter " - "prepublication interval.", keystr); + "prepublication interval.", + keystr); ret = dst_key_gettime(prevkey, DST_TIME_DELETE, &when); if (ret != ISC_R_SUCCESS) - fprintf(stderr, "%s: WARNING: Key %s has no removal " - "date;\n\t it will remain in the zone " - "indefinitely after rollover.\n\t " - "You can use dnssec-settime -D to " - "change this.\n", program, keystr); + fprintf(stderr, + "%s: WARNING: Key %s has no removal " + "date;\n\t it will remain in the zone " + "indefinitely after rollover.\n\t " + "You can use dnssec-settime -D to " + "change this.\n", + program, keystr); setpub = setact = true; } @@ -523,12 +531,12 @@ main(int argc, char **argv) { if (nametype == NULL) { if ((options & DST_TYPE_KEY) != 0) /* KEY */ fatal("no nametype specified"); - flags |= DNS_KEYOWNER_ZONE; /* DNSKEY */ + flags |= DNS_KEYOWNER_ZONE; /* DNSKEY */ } else if (strcasecmp(nametype, "zone") == 0) flags |= DNS_KEYOWNER_ZONE; - else if ((options & DST_TYPE_KEY) != 0) { /* KEY */ + else if ((options & DST_TYPE_KEY) != 0) { /* KEY */ if (strcasecmp(nametype, "host") == 0 || - strcasecmp(nametype, "entity") == 0) + strcasecmp(nametype, "entity") == 0) flags |= DNS_KEYOWNER_ENTITY; else if (strcasecmp(nametype, "user") == 0) flags |= DNS_KEYOWNER_USER; @@ -542,7 +550,7 @@ main(int argc, char **argv) { if (directory == NULL) directory = "."; - if ((options & DST_TYPE_KEY) != 0) /* KEY */ + if ((options & DST_TYPE_KEY) != 0) /* KEY */ flags |= signatory; else if ((flags & DNS_KEYOWNER_ZONE) != 0) { /* DNSKEY */ flags |= kskflag; @@ -581,8 +589,8 @@ main(int argc, char **argv) { char algstr[DNS_SECALG_FORMATSIZE]; dns_name_format(name, namestr, sizeof(namestr)); dns_secalg_format(alg, algstr, sizeof(algstr)); - fatal("failed to get key %s/%s: %s", - namestr, algstr, isc_result_totext(ret)); + fatal("failed to get key %s/%s: %s", namestr, algstr, + isc_result_totext(ret)); /* NOTREACHED */ exit(-1); } @@ -613,7 +621,8 @@ main(int argc, char **argv) { if (setrev) { if (kskflag == 0) - fprintf(stderr, "%s: warning: Key is " + fprintf(stderr, + "%s: warning: Key is " "not flagged as a KSK, but -R " "was used. Revoking a ZSK is " "legal, but undefined.\n", @@ -632,10 +641,9 @@ main(int argc, char **argv) { dst_key_settime(key, DST_TIME_SYNCDELETE, syncdel); } else { - if (setpub || setact || setrev || setinact || - setdel || unsetpub || unsetact || - unsetrev || unsetinact || unsetdel || genonly || - setsyncadd || setsyncdel) + if (setpub || setact || setrev || setinact || setdel || + unsetpub || unsetact || unsetrev || unsetinact || + unsetdel || genonly || setsyncadd || setsyncdel) fatal("cannot use -C together with " "-P, -A, -R, -I, -D, or -G options"); /* @@ -665,13 +673,15 @@ main(int argc, char **argv) { if (avoid_collisions) fatal("%s: %s could collide with another key upon " - "revokation\n", program, filename); + "revokation\n", + program, filename); - fprintf(stderr, "%s: WARNING: Key %s could collide with " - "another key upon revokation. If you plan " - "to revoke keys, destroy this key and " - "generate a different one.\n", - program, filename); + fprintf(stderr, + "%s: WARNING: Key %s could collide with " + "another key upon revokation. If you plan " + "to revoke keys, destroy this key and " + "generate a different one.\n", + program, filename); } ret = dst_key_tofile(key, options, directory); diff --git a/bin/dnssec/dnssec-keygen.c b/bin/dnssec/dnssec-keygen.c index 7d12aa7546..7af52a7563 100644 --- a/bin/dnssec/dnssec-keygen.c +++ b/bin/dnssec/dnssec-keygen.c @@ -39,13 +39,6 @@ #include #include -#include -#include -#include -#include - -#include - #include #include #include @@ -56,7 +49,13 @@ #include #include +#include +#include +#include +#include + #include +#include #if USE_PKCS11 #include @@ -73,66 +72,68 @@ isc_log_t *lctx = NULL; ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; -static void progress(int p); +static void +progress(int p); struct keygen_ctx { - const char *predecessor; - const char *policy; - const char *configfile; - const char *directory; - char *algname; - char *nametype; - char *type; - int generator; - int protocol; - int size; - int signatory; + const char * predecessor; + const char * policy; + const char * configfile; + const char * directory; + char * algname; + char * nametype; + char * type; + int generator; + int protocol; + int size; + int signatory; dns_rdataclass_t rdclass; - int options; - int dbits; - dns_ttl_t ttl; - uint16_t kskflag; - uint16_t revflag; + int options; + int dbits; + dns_ttl_t ttl; + uint16_t kskflag; + uint16_t revflag; dns_secalg_t alg; /* timing data */ - int prepub; - isc_stdtime_t now; - isc_stdtime_t publish; - isc_stdtime_t activate; - isc_stdtime_t inactive; - isc_stdtime_t revokekey; - isc_stdtime_t deltime; - isc_stdtime_t syncadd; - isc_stdtime_t syncdel; - bool setpub; - bool setact; - bool setinact; - bool setrev; - bool setdel; - bool setsyncadd; - bool setsyncdel; - bool unsetpub; - bool unsetact; - bool unsetinact; - bool unsetrev; - bool unsetdel; + int prepub; + isc_stdtime_t now; + isc_stdtime_t publish; + isc_stdtime_t activate; + isc_stdtime_t inactive; + isc_stdtime_t revokekey; + isc_stdtime_t deltime; + isc_stdtime_t syncadd; + isc_stdtime_t syncdel; + bool setpub; + bool setact; + bool setinact; + bool setrev; + bool setdel; + bool setsyncadd; + bool setsyncdel; + bool unsetpub; + bool unsetact; + bool unsetinact; + bool unsetrev; + bool unsetdel; /* how to generate the key */ - bool setttl; - bool use_nsec3; - bool genonly; - bool showprogress; - bool quiet; - bool oldstyle; + bool setttl; + bool use_nsec3; + bool genonly; + bool showprogress; + bool quiet; + bool oldstyle; /* state */ - time_t lifetime; - bool ksk; - bool zsk; + time_t lifetime; + bool ksk; + bool zsk; }; typedef struct keygen_ctx keygen_ctx_t; static void -usage(void) { +usage(void) +{ fprintf(stderr, "Usage:\n"); fprintf(stderr, " %s [options] name\n\n", program); fprintf(stderr, "Version: %s\n", VERSION); @@ -141,7 +142,7 @@ usage(void) { fprintf(stderr, " -K : write keys into directory\n"); fprintf(stderr, " -k : generate keys for dnssec-policy\n"); fprintf(stderr, " -l : configuration file with dnssec-policy " - "statement\n"); + "statement\n"); fprintf(stderr, " -a :\n"); fprintf(stderr, " RSASHA1 | NSEC3RSASHA1 |\n"); fprintf(stderr, " RSASHA256 | RSASHA512 |\n"); @@ -161,14 +162,16 @@ usage(void) { fprintf(stderr, " (key size defaults are set according to\n" " algorithm and usage (ZSK or KSK)\n"); fprintf(stderr, " -n : ZONE | HOST | ENTITY | " - "USER | OTHER\n"); + "USER | OTHER\n"); fprintf(stderr, " (DNSKEY generation defaults to ZONE)\n"); fprintf(stderr, " -c : (default: IN)\n"); fprintf(stderr, " -d (0 => max, default)\n"); fprintf(stderr, " -E :\n"); #if USE_PKCS11 - fprintf(stderr, " path to PKCS#11 provider library " - "(default is %s)\n", PK11_LIB_LOCATION); + fprintf(stderr, + " path to PKCS#11 provider library " + "(default is %s)\n", + PK11_LIB_LOCATION); #else fprintf(stderr, " name of an OpenSSL engine to use\n"); #endif @@ -191,32 +194,32 @@ usage(void) { fprintf(stderr, " -V: print version information\n"); fprintf(stderr, "Timing options:\n"); fprintf(stderr, " -P date/[+-]offset/none: set key publication date " - "(default: now)\n"); + "(default: now)\n"); fprintf(stderr, " -P sync date/[+-]offset/none: set CDS and CDNSKEY " - "publication date\n"); + "publication date\n"); fprintf(stderr, " -A date/[+-]offset/none: set key activation date " - "(default: now)\n"); + "(default: now)\n"); fprintf(stderr, " -R date/[+-]offset/none: set key " - "revocation date\n"); + "revocation date\n"); fprintf(stderr, " -I date/[+-]offset/none: set key " - "inactivation date\n"); + "inactivation date\n"); fprintf(stderr, " -D date/[+-]offset/none: set key deletion date\n"); fprintf(stderr, " -D sync date/[+-]offset/none: set CDS and CDNSKEY " - "deletion date\n"); + "deletion date\n"); fprintf(stderr, " -G: generate key only; do not set -P or -A\n"); fprintf(stderr, " -C: generate a backward-compatible key, omitting " "all dates\n"); fprintf(stderr, " -S : generate a successor to an existing " - "key\n"); + "key\n"); fprintf(stderr, " -i : prepublication interval for " - "successor key " - "(default: 30 days)\n"); + "successor key " + "(default: 30 days)\n"); fprintf(stderr, "Output:\n"); fprintf(stderr, " K++.key, " "K++.private\n"); - exit (-1); + exit(-1); } static void @@ -240,31 +243,29 @@ progress(int p) default: break; } - (void) putc(c, stderr); - (void) fflush(stderr); + (void)putc(c, stderr); + (void)fflush(stderr); } static void -kasp_from_conf(cfg_obj_t* config, isc_mem_t* mctx, const char* name, - dns_kasp_t** kaspp) +kasp_from_conf(cfg_obj_t *config, isc_mem_t *mctx, const char *name, + dns_kasp_t **kaspp) { const cfg_listelt_t *element; - const cfg_obj_t *kasps = NULL; - dns_kasp_t *kasp = NULL, *kasp_next; - isc_result_t result = ISC_R_NOTFOUND; - dns_kasplist_t kasplist; + const cfg_obj_t * kasps = NULL; + dns_kasp_t * kasp = NULL, *kasp_next; + isc_result_t result = ISC_R_NOTFOUND; + dns_kasplist_t kasplist; ISC_LIST_INIT(kasplist); (void)cfg_map_get(config, "dnssec-policy", &kasps); for (element = cfg_list_first(kasps); element != NULL; - element = cfg_list_next(element)) - { + element = cfg_list_next(element)) { cfg_obj_t *kconfig = cfg_listelt_value(element); kasp = NULL; if (strcmp(cfg_obj_asstring(cfg_tuple_get(kconfig, "name")), - name) != 0) - { + name) != 0) { continue; } @@ -295,19 +296,19 @@ kasp_from_conf(cfg_obj_t* config, isc_mem_t* mctx, const char* name, static void keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv) { - char filename[255]; - char algstr[DNS_SECALG_FORMATSIZE]; - uint16_t flags = 0; - int param = 0; - bool null_key = false; - bool conflict = false; - bool show_progress = false; - isc_buffer_t buf; - dns_name_t *name; - dns_fixedname_t fname; - isc_result_t ret; - dst_key_t* key = NULL; - dst_key_t* prevkey = NULL; + char filename[255]; + char algstr[DNS_SECALG_FORMATSIZE]; + uint16_t flags = 0; + int param = 0; + bool null_key = false; + bool conflict = false; + bool show_progress = false; + isc_buffer_t buf; + dns_name_t * name; + dns_fixedname_t fname; + isc_result_t ret; + dst_key_t * key = NULL; + dst_key_t * prevkey = NULL; UNUSED(argc); @@ -351,7 +352,8 @@ keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv) break; default: fatal("algorithm %s is incompatible with NSEC3" - ", do not use the -3 option", algstr); + ", do not use the -3 option", + algstr); } } @@ -380,9 +382,11 @@ keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv) case DST_ALG_RSASHA512: ctx->size = 2048; if (verbose > 0) { - fprintf(stderr, "key size not " - "specified; defaulting" - " to %d\n", ctx->size); + fprintf(stderr, + "key size not " + "specified; defaulting" + " to %d\n", + ctx->size); } break; case DST_ALG_ECDSA256: @@ -397,8 +401,7 @@ keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv) if (!ctx->oldstyle && ctx->prepub > 0) { if (ctx->setpub && ctx->setact && - (ctx->activate - ctx->prepub) < ctx->publish) - { + (ctx->activate - ctx->prepub) < ctx->publish) { fatal("Activation and publication dates " "are closer together than the\n\t" "prepublication interval."); @@ -421,9 +424,9 @@ keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv) "than the\n\tprepublication interval."); } } else { - char keystr[DST_KEY_FORMATSIZE]; + char keystr[DST_KEY_FORMATSIZE]; isc_stdtime_t when; - int major, minor; + int major, minor; if (ctx->prepub == -1) ctx->prepub = (30 * 86400); @@ -447,13 +450,13 @@ keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv) if (ctx->genonly) fatal("-S and -G cannot be used together"); - ret = dst_key_fromnamedfile(ctx->predecessor, ctx->directory, - (DST_TYPE_PUBLIC| - DST_TYPE_PRIVATE|DST_TYPE_STATE), - mctx, &prevkey); + ret = dst_key_fromnamedfile( + ctx->predecessor, ctx->directory, + (DST_TYPE_PUBLIC | DST_TYPE_PRIVATE | DST_TYPE_STATE), + mctx, &prevkey); if (ret != ISC_R_SUCCESS) - fatal("Invalid keyfile %s: %s", - ctx->predecessor, isc_result_totext(ret)); + fatal("Invalid keyfile %s: %s", ctx->predecessor, + isc_result_totext(ret)); if (!dst_key_isprivate(prevkey)) fatal("%s is not a private key", ctx->predecessor); @@ -473,14 +476,16 @@ keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv) if (ret != ISC_R_SUCCESS) fatal("Key %s has no activation date.\n\t" "You must use dnssec-settime -A to set one " - "before generating a successor.", keystr); + "before generating a successor.", + keystr); ret = dst_key_gettime(prevkey, DST_TIME_INACTIVE, &ctx->activate); if (ret != ISC_R_SUCCESS) fatal("Key %s has no inactivation date.\n\t" "You must use dnssec-settime -I to set one " - "before generating a successor.", keystr); + "before generating a successor.", + keystr); ctx->publish = ctx->activate - ctx->prepub; if (ctx->publish < ctx->now) @@ -490,15 +495,18 @@ keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv) "Either change the inactivation date with " "dnssec-settime -I,\n\t" "or use the -i option to set a shorter " - "prepublication interval.", keystr); + "prepublication interval.", + keystr); ret = dst_key_gettime(prevkey, DST_TIME_DELETE, &when); if (ret != ISC_R_SUCCESS) - fprintf(stderr, "%s: WARNING: Key %s has no removal " - "date;\n\t it will remain in the zone " - "indefinitely after rollover.\n\t " - "You can use dnssec-settime -D to " - "change this.\n", program, keystr); + fprintf(stderr, + "%s: WARNING: Key %s has no removal " + "date;\n\t it will remain in the zone " + "indefinitely after rollover.\n\t " + "You can use dnssec-settime -D to " + "change this.\n", + program, keystr); ctx->setpub = ctx->setact = true; } @@ -538,12 +546,12 @@ keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv) if (ctx->nametype == NULL) { if ((ctx->options & DST_TYPE_KEY) != 0) /* KEY */ fatal("no nametype specified"); - flags |= DNS_KEYOWNER_ZONE; /* DNSKEY */ + flags |= DNS_KEYOWNER_ZONE; /* DNSKEY */ } else if (strcasecmp(ctx->nametype, "zone") == 0) flags |= DNS_KEYOWNER_ZONE; - else if ((ctx->options & DST_TYPE_KEY) != 0) { /* KEY */ + else if ((ctx->options & DST_TYPE_KEY) != 0) { /* KEY */ if (strcasecmp(ctx->nametype, "host") == 0 || - strcasecmp(ctx->nametype, "entity") == 0) + strcasecmp(ctx->nametype, "entity") == 0) flags |= DNS_KEYOWNER_ENTITY; else if (strcasecmp(ctx->nametype, "user") == 0) flags |= DNS_KEYOWNER_USER; @@ -555,7 +563,7 @@ keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv) if (ctx->directory == NULL) ctx->directory = "."; - if ((ctx->options & DST_TYPE_KEY) != 0) /* KEY */ + if ((ctx->options & DST_TYPE_KEY) != 0) /* KEY */ flags |= ctx->signatory; else if ((flags & DNS_KEYOWNER_ZONE) != 0) { /* DNSKEY */ flags |= ctx->kskflag; @@ -576,12 +584,11 @@ keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv) } if ((flags & DNS_KEYFLAG_OWNERMASK) == DNS_KEYOWNER_ZONE && - ctx->alg == DNS_KEYALG_DH) - { + ctx->alg == DNS_KEYALG_DH) { fatal("a key with algorithm %s cannot be a zone key", algstr); } - switch(ctx->alg) { + switch (ctx->alg) { case DNS_KEYALG_RSASHA1: case DNS_KEYALG_NSEC3RSASHA1: case DNS_KEYALG_RSASHA256: @@ -611,23 +618,23 @@ keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv) if (!ctx->quiet && show_progress) { fprintf(stderr, "Generating key pair."); - ret = dst_key_generate(name, ctx->alg, ctx->size, - param, flags, ctx->protocol, + ret = dst_key_generate(name, ctx->alg, ctx->size, param, + flags, ctx->protocol, ctx->rdclass, mctx, &key, &progress); putc('\n', stderr); fflush(stderr); } else { - ret = dst_key_generate(name, ctx->alg, ctx->size, - param, flags, ctx->protocol, + ret = dst_key_generate(name, ctx->alg, ctx->size, param, + flags, ctx->protocol, ctx->rdclass, mctx, &key, NULL); } if (ret != ISC_R_SUCCESS) { char namestr[DNS_NAME_FORMATSIZE]; dns_name_format(name, namestr, sizeof(namestr)); - fatal("failed to generate key %s/%s: %s\n", - namestr, algstr, isc_result_totext(ret)); + fatal("failed to generate key %s/%s: %s\n", namestr, + algstr, isc_result_totext(ret)); } dst_key_setbits(key, ctx->dbits); @@ -674,7 +681,8 @@ keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv) if (ctx->setrev) { if (ctx->kskflag == 0) - fprintf(stderr, "%s: warning: Key is " + fprintf(stderr, + "%s: warning: Key is " "not flagged as a KSK, but -R " "was used. Revoking a ZSK is " "legal, but undefined.\n", @@ -689,9 +697,9 @@ keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv) if (ctx->setdel) { if (ctx->setinact && - ctx->deltime < ctx->inactive) - { - fprintf(stderr, "%s: warning: Key is " + ctx->deltime < ctx->inactive) { + fprintf(stderr, + "%s: warning: Key is " "scheduled to be deleted " "before it is scheduled to be " "made inactive.\n", @@ -711,10 +719,9 @@ keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv) } else { if (ctx->setpub || ctx->setact || ctx->setrev || ctx->setinact || ctx->setdel || ctx->unsetpub || - ctx->unsetact || ctx->unsetrev || - ctx->unsetinact || ctx->unsetdel || ctx->genonly || - ctx->setsyncadd || ctx->setsyncdel) - { + ctx->unsetact || ctx->unsetrev || ctx->unsetinact || + ctx->unsetdel || ctx->genonly || ctx->setsyncadd || + ctx->setsyncdel) { fatal("cannot use -C together with " "-P, -A, -R, -I, -D, or -G options"); } @@ -750,9 +757,8 @@ keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv) if (verbose > 0) { isc_buffer_clear(&buf); - ret = dst_key_buildfilename(key, 0, - ctx->directory, - &buf); + ret = dst_key_buildfilename( + key, 0, ctx->directory, &buf); if (ret == ISC_R_SUCCESS) fprintf(stderr, "%s: %s already exists, or " @@ -805,16 +811,17 @@ keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv) } int -main(int argc, char **argv) { - char *algname = NULL, *freeit = NULL; - char *classname = NULL; - char *endp; - isc_mem_t *mctx = NULL; - isc_result_t ret; +main(int argc, char **argv) +{ + char * algname = NULL, *freeit = NULL; + char * classname = NULL; + char * endp; + isc_mem_t * mctx = NULL; + isc_result_t ret; isc_textregion_t r; - const char *engine = NULL; - unsigned char c; - int ch; + const char * engine = NULL; + unsigned char c; + int ch; keygen_ctx_t ctx = { .options = DST_TYPE_PRIVATE | DST_TYPE_PUBLIC, @@ -837,8 +844,9 @@ main(int argc, char **argv) { /* * Process memory debugging argument first. */ -#define CMDLINE_FLAGS "3A:a:b:Cc:D:d:E:eFf:Gg:hI:i:K:k:L:l:m:n:P:p:qR:r:S:s:" \ - "T:t:v:V" +#define CMDLINE_FLAGS \ + "3A:a:b:Cc:D:d:E:eFf:Gg:hI:i:K:k:L:l:m:n:P:p:qR:r:S:s:" \ + "T:t:v:V" while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) { switch (ch) { case 'm': @@ -863,7 +871,7 @@ main(int argc, char **argv) { isc_stdtime_get(&ctx.now); while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) { - switch (ch) { + switch (ch) { case '3': ctx.use_nsec3 = true; break; @@ -890,9 +898,8 @@ main(int argc, char **argv) { engine = isc_commandline_argument; break; case 'e': - fprintf(stderr, - "phased-out option -e " - "(was 'use (RSA) large exponent')\n"); + fprintf(stderr, "phased-out option -e " + "(was 'use (RSA) large exponent')\n"); break; case 'f': c = (unsigned char)(isc_commandline_argument[0]); @@ -905,8 +912,8 @@ main(int argc, char **argv) { isc_commandline_argument); break; case 'g': - ctx.generator = strtol(isc_commandline_argument, - &endp, 10); + ctx.generator = + strtol(isc_commandline_argument, &endp, 10); if (*endp != '\0' || ctx.generator <= 0) fatal("-g requires a positive number"); break; @@ -933,11 +940,10 @@ main(int argc, char **argv) { case 'm': break; case 'p': - ctx.protocol = strtol(isc_commandline_argument, &endp, - 10); + ctx.protocol = + strtol(isc_commandline_argument, &endp, 10); if (*endp != '\0' || ctx.protocol < 0 || - ctx.protocol > 255) - { + ctx.protocol > 255) { fatal("-p must be followed by a number " "[0..255]"); } @@ -950,11 +956,10 @@ main(int argc, char **argv) { "System random data is always used.\n"); break; case 's': - ctx.signatory = strtol(isc_commandline_argument, - &endp, 10); + ctx.signatory = + strtol(isc_commandline_argument, &endp, 10); if (*endp != '\0' || ctx.signatory < 0 || - ctx.signatory > 15) - { + ctx.signatory > 15) { fatal("-s must be followed by a number " "[0..15]"); } @@ -962,8 +967,8 @@ main(int argc, char **argv) { case 'T': if (strcasecmp(isc_commandline_argument, "KEY") == 0) ctx.options |= DST_TYPE_KEY; - else if (strcasecmp(isc_commandline_argument, - "DNSKEY") == 0) + else if (strcasecmp(isc_commandline_argument, "DNSKE" + "Y") == 0) /* default behavior */ ; else @@ -990,9 +995,8 @@ main(int argc, char **argv) { "once"); ctx.syncadd = strtotime( - isc_commandline_argument, - ctx.now, ctx.now, - &ctx.setsyncadd); + isc_commandline_argument, ctx.now, + ctx.now, &ctx.setsyncadd); break; } (void)isoptarg("dnskey", argv, usage); @@ -1016,7 +1020,8 @@ main(int argc, char **argv) { fatal("-R specified more than once"); ctx.revokekey = strtotime(isc_commandline_argument, - ctx.now, ctx.now, &ctx.setrev); + ctx.now, ctx.now, + &ctx.setrev); ctx.unsetrev = !ctx.setrev; break; case 'I': @@ -1024,7 +1029,8 @@ main(int argc, char **argv) { fatal("-I specified more than once"); ctx.inactive = strtotime(isc_commandline_argument, - ctx.now, ctx.now, &ctx.setinact); + ctx.now, ctx.now, + &ctx.setinact); ctx.unsetinact = !ctx.setinact; break; case 'D': @@ -1035,9 +1041,8 @@ main(int argc, char **argv) { "once"); ctx.syncdel = strtotime( - isc_commandline_argument, - ctx.now, ctx.now, - &ctx.setsyncdel); + isc_commandline_argument, ctx.now, + ctx.now, &ctx.setsyncdel); break; } (void)isoptarg("dnskey", argv, usage); @@ -1071,8 +1076,8 @@ main(int argc, char **argv) { version(program); default: - fprintf(stderr, "%s: unhandled option -%c\n", - program, isc_commandline_option); + fprintf(stderr, "%s: unhandled option -%c\n", program, + isc_commandline_option); exit(1); } } @@ -1082,8 +1087,7 @@ main(int argc, char **argv) { ret = dst_lib_init(mctx, engine); if (ret != ISC_R_SUCCESS) - fatal("could not initialize dst: %s", - isc_result_totext(ret)); + fatal("could not initialize dst: %s", isc_result_totext(ret)); setup_logging(mctx, &lctx); @@ -1147,8 +1151,7 @@ main(int argc, char **argv) { if (ctx.setpub || ctx.setact || ctx.setrev || ctx.setinact || ctx.setdel || ctx.unsetpub || ctx.unsetact || ctx.unsetrev || ctx.unsetinact || ctx.unsetdel || - ctx.setsyncadd || ctx.setsyncdel) - { + ctx.setsyncadd || ctx.setsyncdel) { fatal("cannot use -k together with " "-P, -A, -R, -I, or -D options " "(use dnssec-settime on keys afterwards)"); @@ -1170,18 +1173,19 @@ main(int argc, char **argv) { keygen(&ctx, mctx, argc, argv); } else { - cfg_parser_t *parser = NULL; - cfg_obj_t *config = NULL; - dns_kasp_t* kasp = NULL; - dns_kasp_key_t* kaspkey = NULL; + cfg_parser_t * parser = NULL; + cfg_obj_t * config = NULL; + dns_kasp_t * kasp = NULL; + dns_kasp_key_t *kaspkey = NULL; - RUNTIME_CHECK(cfg_parser_create(mctx, lctx, &parser) - == ISC_R_SUCCESS); + RUNTIME_CHECK(cfg_parser_create(mctx, lctx, &parser) == + ISC_R_SUCCESS); if (cfg_parse_file(parser, ctx.configfile, - &cfg_type_namedconf, &config) != ISC_R_SUCCESS) - { + &cfg_type_namedconf, + &config) != ISC_R_SUCCESS) { fatal("unable to load dnssec-policy '%s' from " - "'%s'", ctx.policy, ctx.configfile); + "'%s'", + ctx.policy, ctx.configfile); } kasp_from_conf(config, mctx, ctx.policy, &kasp); @@ -1191,7 +1195,8 @@ main(int argc, char **argv) { } if (ISC_LIST_EMPTY(dns_kasp_keys(kasp))) { fatal("dnssec-policy '%s' has no keys " - "configured", ctx.policy); + "configured", + ctx.policy); } ctx.ttl = dns_kasp_dnskeyttl(kasp); @@ -1203,8 +1208,9 @@ main(int argc, char **argv) { ctx.use_nsec3 = false; ctx.alg = dns_kasp_key_algorithm(kaspkey); ctx.size = dns_kasp_key_size(kaspkey); - ctx.kskflag = dns_kasp_key_ksk(kaspkey) ? - DNS_KEYFLAG_KSK : 0; + ctx.kskflag = dns_kasp_key_ksk(kaspkey) + ? DNS_KEYFLAG_KSK + : 0; ctx.ksk = dns_kasp_key_ksk(kaspkey); ctx.zsk = dns_kasp_key_zsk(kaspkey); ctx.lifetime = dns_kasp_key_lifetime(kaspkey); diff --git a/bin/dnssec/dnssec-revoke.c b/bin/dnssec/dnssec-revoke.c index 1d9fa1680a..4465e0b943 100644 --- a/bin/dnssec/dnssec-revoke.c +++ b/bin/dnssec/dnssec-revoke.c @@ -38,19 +38,22 @@ const char *program = "dnssec-revoke"; -static isc_mem_t *mctx = NULL; +static isc_mem_t *mctx = NULL; ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { +usage(void) +{ fprintf(stderr, "Usage:\n"); - fprintf(stderr, " %s [options] keyfile\n\n", program); + fprintf(stderr, " %s [options] keyfile\n\n", program); fprintf(stderr, "Version: %s\n", VERSION); #if USE_PKCS11 - fprintf(stderr, " -E engine: specify PKCS#11 provider " - "(default: %s)\n", PK11_LIB_LOCATION); + fprintf(stderr, + " -E engine: specify PKCS#11 provider " + "(default: %s)\n", + PK11_LIB_LOCATION); #else fprintf(stderr, " -E engine: specify OpenSSL engine\n"); #endif @@ -58,32 +61,33 @@ usage(void) { fprintf(stderr, " -h: help\n"); fprintf(stderr, " -K directory: use directory for key files\n"); fprintf(stderr, " -r: remove old keyfiles after " - "creating revoked version\n"); + "creating revoked version\n"); fprintf(stderr, " -v level: set level of verbosity\n"); fprintf(stderr, " -V: print version information\n"); fprintf(stderr, "Output:\n"); fprintf(stderr, " K++.key, " - "K++.private\n"); + "K++.private\n"); - exit (-1); + exit(-1); } int -main(int argc, char **argv) { +main(int argc, char **argv) +{ isc_result_t result; - const char *engine = NULL; - char const *filename = NULL; - char *dir = NULL; - char newname[1024], oldname[1024]; - char keystr[DST_KEY_FORMATSIZE]; - char *endp; - int ch; - dst_key_t *key = NULL; - uint32_t flags; + const char * engine = NULL; + char const * filename = NULL; + char * dir = NULL; + char newname[1024], oldname[1024]; + char keystr[DST_KEY_FORMATSIZE]; + char * endp; + int ch; + dst_key_t * key = NULL; + uint32_t flags; isc_buffer_t buf; - bool force = false; - bool removefile = false; - bool id = false; + bool force = false; + bool removefile = false; + bool id = false; if (argc == 1) usage(); @@ -99,46 +103,46 @@ main(int argc, char **argv) { while ((ch = isc_commandline_parse(argc, argv, "E:fK:rRhv:V")) != -1) { switch (ch) { - case 'E': + case 'E': engine = isc_commandline_argument; break; - case 'f': + case 'f': force = true; break; - case 'K': + case 'K': /* * We don't have to copy it here, but do it to * simplify cleanup later */ dir = isc_mem_strdup(mctx, isc_commandline_argument); break; - case 'r': + case 'r': removefile = true; break; - case 'R': + case 'R': id = true; break; - case 'v': + case 'v': verbose = strtol(isc_commandline_argument, &endp, 0); if (*endp != '\0') fatal("-v must be followed by a number"); break; - case '?': + case '?': if (isc_commandline_option != '?') fprintf(stderr, "%s: invalid argument -%c\n", program, isc_commandline_option); /* FALLTHROUGH */ - case 'h': + case 'h': /* Does not return. */ usage(); - case 'V': + case 'V': /* Does not return. */ version(program); - default: - fprintf(stderr, "%s: unhandled option -%c\n", - program, isc_commandline_option); + default: + fprintf(stderr, "%s: unhandled option -%c\n", program, + isc_commandline_option); exit(1); } } @@ -169,12 +173,11 @@ main(int argc, char **argv) { fatal("Could not initialize dst: %s", isc_result_totext(result)); - result = dst_key_fromnamedfile(filename, dir, - DST_TYPE_PUBLIC|DST_TYPE_PRIVATE, - mctx, &key); + result = dst_key_fromnamedfile( + filename, dir, DST_TYPE_PUBLIC | DST_TYPE_PRIVATE, mctx, &key); if (result != ISC_R_SUCCESS) - fatal("Invalid keyfile name %s: %s", - filename, isc_result_totext(result)); + fatal("Invalid keyfile name %s: %s", filename, + isc_result_totext(result)); if (id) { fprintf(stdout, "%u\n", dst_key_rid(key)); @@ -190,16 +193,16 @@ main(int argc, char **argv) { else check_keyversion(key, keystr); - flags = dst_key_flags(key); if ((flags & DNS_KEYFLAG_REVOKE) == 0) { isc_stdtime_t now; if ((flags & DNS_KEYFLAG_KSK) == 0) - fprintf(stderr, "%s: warning: Key is not flagged " - "as a KSK. Revoking a ZSK is " - "legal, but undefined.\n", - program); + fprintf(stderr, + "%s: warning: Key is not flagged " + "as a KSK. Revoking a ZSK is " + "legal, but undefined.\n", + program); isc_stdtime_get(&now); dst_key_settime(key, DST_TIME_REVOKE, now); @@ -211,10 +214,11 @@ main(int argc, char **argv) { if (access(newname, F_OK) == 0 && !force) { fatal("Key file %s already exists; " - "use -f to force overwrite", newname); + "use -f to force overwrite", + newname); } - result = dst_key_tofile(key, DST_TYPE_PUBLIC|DST_TYPE_PRIVATE, + result = dst_key_tofile(key, DST_TYPE_PUBLIC | DST_TYPE_PRIVATE, dir); if (result != ISC_R_SUCCESS) { dst_key_format(key, keystr, sizeof(keystr)); diff --git a/bin/dnssec/dnssec-settime.c b/bin/dnssec/dnssec-settime.c index 9e999166df..a8655c7876 100644 --- a/bin/dnssec/dnssec-settime.c +++ b/bin/dnssec/dnssec-settime.c @@ -11,12 +11,12 @@ /*! \file */ +#include #include #include #include -#include -#include #include +#include #include #include @@ -28,8 +28,8 @@ #include #include -#include #include +#include #include @@ -41,28 +41,31 @@ const char *program = "dnssec-settime"; -static isc_mem_t *mctx = NULL; +static isc_mem_t *mctx = NULL; ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { +usage(void) +{ fprintf(stderr, "Usage:\n"); - fprintf(stderr, " %s [options] keyfile\n\n", program); + fprintf(stderr, " %s [options] keyfile\n\n", program); fprintf(stderr, "Version: %s\n", VERSION); fprintf(stderr, "General options:\n"); #if USE_PKCS11 - fprintf(stderr, " -E engine: specify PKCS#11 provider " - "(default: %s)\n", PK11_LIB_LOCATION); + fprintf(stderr, + " -E engine: specify PKCS#11 provider " + "(default: %s)\n", + PK11_LIB_LOCATION); #elif defined(USE_PKCS11) fprintf(stderr, " -E engine: specify OpenSSL engine " - "(default \"pkcs11\")\n"); + "(default \"pkcs11\")\n"); #else fprintf(stderr, " -E engine: specify OpenSSL engine\n"); #endif fprintf(stderr, " -f: force update of old-style " - "keys\n"); + "keys\n"); fprintf(stderr, " -K directory: set key file location\n"); fprintf(stderr, " -L ttl: set default key TTL\n"); fprintf(stderr, " -v level: set level of verbosity\n"); @@ -70,51 +73,50 @@ usage(void) { fprintf(stderr, " -h: help\n"); fprintf(stderr, "Timing options:\n"); fprintf(stderr, " -P date/[+-]offset/none: set/unset key " - "publication date\n"); + "publication date\n"); fprintf(stderr, " -P sync date/[+-]offset/none: set/unset " - "CDS and CDNSKEY publication date\n"); + "CDS and CDNSKEY publication date\n"); fprintf(stderr, " -A date/[+-]offset/none: set/unset key " - "activation date\n"); + "activation date\n"); fprintf(stderr, " -R date/[+-]offset/none: set/unset key " - "revocation date\n"); + "revocation date\n"); fprintf(stderr, " -I date/[+-]offset/none: set/unset key " - "inactivation date\n"); + "inactivation date\n"); fprintf(stderr, " -D date/[+-]offset/none: set/unset key " - "deletion date\n"); + "deletion date\n"); fprintf(stderr, " -D sync date/[+-]offset/none: set/unset " - "CDS and CDNSKEY deletion date\n"); + "CDS and CDNSKEY deletion date\n"); fprintf(stderr, " -S : generate a successor to an existing " - "key\n"); + "key\n"); fprintf(stderr, " -i : prepublication interval for " - "successor key " - "(default: 30 days)\n"); + "successor key " + "(default: 30 days)\n"); fprintf(stderr, "Key state options:\n"); fprintf(stderr, " -s: update key state file (default no)\n"); fprintf(stderr, " -g state: set the goal state for this key\n"); fprintf(stderr, " -d state date/[+-]offset: set the DS state\n"); fprintf(stderr, " -k state date/[+-]offset: set the DNSKEY state\n"); fprintf(stderr, " -r state date/[+-]offset: set the RRSIG (KSK) " - "state\n"); + "state\n"); fprintf(stderr, " -z state date/[+-]offset: set the RRSIG (ZSK) " - "state\n"); + "state\n"); fprintf(stderr, "Printing options:\n"); fprintf(stderr, " -p C/P/Psync/A/R/I/D/Dsync/all: print a " - "particular time value or values\n"); + "particular time value or values\n"); fprintf(stderr, " -u: print times in unix epoch " - "format\n"); + "format\n"); fprintf(stderr, "Output:\n"); fprintf(stderr, " K++.key, " - "K++.private\n"); + "K++.private\n"); - exit (-1); + exit(-1); } static void -printtime(dst_key_t *key, int type, const char *tag, bool epoch, - FILE *stream) +printtime(dst_key_t *key, int type, const char *tag, bool epoch, FILE *stream) { - isc_result_t result; - const char *output = NULL; + isc_result_t result; + const char * output = NULL; isc_stdtime_t when; if (tag != NULL) @@ -124,7 +126,7 @@ printtime(dst_key_t *key, int type, const char *tag, bool epoch, if (result == ISC_R_NOTFOUND) { fprintf(stream, "UNSET\n"); } else if (epoch) { - fprintf(stream, "%d\n", (int) when); + fprintf(stream, "%d\n", (int)when); } else { time_t timet = when; output = ctime(&timet); @@ -135,11 +137,11 @@ printtime(dst_key_t *key, int type, const char *tag, bool epoch, static void writekey(dst_key_t *key, const char *directory, bool write_state) { - char newname[1024]; - char keystr[DST_KEY_FORMATSIZE]; + char newname[1024]; + char keystr[DST_KEY_FORMATSIZE]; isc_buffer_t buf; isc_result_t result; - int options = DST_TYPE_PUBLIC|DST_TYPE_PRIVATE; + int options = DST_TYPE_PUBLIC | DST_TYPE_PRIVATE; if (write_state) { options |= DST_TYPE_STATE; @@ -181,20 +183,21 @@ writekey(dst_key_t *key, const char *directory, bool write_state) } int -main(int argc, char **argv) { +main(int argc, char **argv) +{ isc_result_t result; - const char *engine = NULL; - const char *filename = NULL; - char *directory = NULL; + const char * engine = NULL; + const char * filename = NULL; + char * directory = NULL; char keystr[DST_KEY_FORMATSIZE]; - char *endp, *p; + char * endp, *p; int ch; - const char *predecessor = NULL; - dst_key_t *prevkey = NULL; - dst_key_t *key = NULL; - dns_name_t *name = NULL; - dns_secalg_t alg = 0; - unsigned int size = 0; + const char * predecessor = NULL; + dst_key_t * prevkey = NULL; + dst_key_t * key = NULL; + dns_name_t * name = NULL; + dns_secalg_t alg = 0; + unsigned int size = 0; uint16_t flags = 0; int prepub = -1; int options; @@ -204,35 +207,35 @@ main(int argc, char **argv) { isc_stdtime_t krrsigtime = 0, zrrsigtime = 0; isc_stdtime_t pub = 0, act = 0, rev = 0, inact = 0, del = 0; isc_stdtime_t prevact = 0, previnact = 0, prevdel = 0; - dst_key_state_t goal = DST_KEY_STATE_NA; - dst_key_state_t ds = DST_KEY_STATE_NA; - dst_key_state_t dnskey = DST_KEY_STATE_NA; - dst_key_state_t krrsig = DST_KEY_STATE_NA; - dst_key_state_t zrrsig = DST_KEY_STATE_NA; - bool setgoal = false, setds = false, setdnskey = false; - bool setkrrsig = false, setzrrsig = false; - bool setdstime = false, setdnskeytime = false; - bool setkrrsigtime = false, setzrrsigtime = false; - bool setpub = false, setact = false; - bool setrev = false, setinact = false; - bool setdel = false, setttl = false; - bool unsetpub = false, unsetact = false; - bool unsetrev = false, unsetinact = false; - bool unsetdel = false; - bool printcreate = false, printpub = false; - bool printact = false, printrev = false; - bool printinact = false, printdel = false; - bool force = false; - bool epoch = false; - bool changed = false; - bool write_state = false; - isc_log_t *log = NULL; + dst_key_state_t goal = DST_KEY_STATE_NA; + dst_key_state_t ds = DST_KEY_STATE_NA; + dst_key_state_t dnskey = DST_KEY_STATE_NA; + dst_key_state_t krrsig = DST_KEY_STATE_NA; + dst_key_state_t zrrsig = DST_KEY_STATE_NA; + bool setgoal = false, setds = false, setdnskey = false; + bool setkrrsig = false, setzrrsig = false; + bool setdstime = false, setdnskeytime = false; + bool setkrrsigtime = false, setzrrsigtime = false; + bool setpub = false, setact = false; + bool setrev = false, setinact = false; + bool setdel = false, setttl = false; + bool unsetpub = false, unsetact = false; + bool unsetrev = false, unsetinact = false; + bool unsetdel = false; + bool printcreate = false, printpub = false; + bool printact = false, printrev = false; + bool printinact = false, printdel = false; + bool force = false; + bool epoch = false; + bool changed = false; + bool write_state = false; + isc_log_t * log = NULL; isc_stdtime_t syncadd = 0, syncdel = 0; - bool unsetsyncadd = false, setsyncadd = false; - bool unsetsyncdel = false, setsyncdel = false; - bool printsyncadd = false, printsyncdel = false; + bool unsetsyncadd = false, setsyncadd = false; + bool unsetsyncdel = false, setsyncdel = false; + bool printsyncadd = false, printsyncdel = false; - options = DST_TYPE_PUBLIC|DST_TYPE_PRIVATE|DST_TYPE_STATE; + options = DST_TYPE_PUBLIC | DST_TYPE_PRIVATE | DST_TYPE_STATE; if (argc == 1) usage(); @@ -258,8 +261,8 @@ main(int argc, char **argv) { fatal("-A specified more than once"); changed = true; - act = strtotime(isc_commandline_argument, - now, now, &setact); + act = strtotime(isc_commandline_argument, now, now, + &setact); unsetact = !setact; break; case 'D': @@ -271,7 +274,7 @@ main(int argc, char **argv) { changed = true; syncdel = strtotime(isc_commandline_argument, - now, now, &setsyncdel); + now, now, &setsyncdel); unsetsyncdel = !setsyncdel; break; } @@ -281,8 +284,8 @@ main(int argc, char **argv) { fatal("-D specified more than once"); changed = true; - del = strtotime(isc_commandline_argument, - now, now, &setdel); + del = strtotime(isc_commandline_argument, now, now, + &setdel); unsetdel = !setdel; break; case 'd': @@ -294,8 +297,8 @@ main(int argc, char **argv) { setds = true; /* time */ (void)isoptarg(isc_commandline_argument, argv, usage); - dstime = strtotime(isc_commandline_argument, - now, now, &setdstime); + dstime = strtotime(isc_commandline_argument, now, now, + &setdstime); break; case 'E': engine = isc_commandline_argument; @@ -330,8 +333,8 @@ main(int argc, char **argv) { fatal("-I specified more than once"); changed = true; - inact = strtotime(isc_commandline_argument, - now, now, &setinact); + inact = strtotime(isc_commandline_argument, now, now, + &setinact); unsetinact = !setinact; break; case 'i': @@ -342,8 +345,8 @@ main(int argc, char **argv) { * We don't have to copy it here, but do it to * simplify cleanup later */ - directory = isc_mem_strdup(mctx, - isc_commandline_argument); + directory = + isc_mem_strdup(mctx, isc_commandline_argument); break; case 'k': if (setdnskey) { @@ -354,8 +357,8 @@ main(int argc, char **argv) { setdnskey = true; /* time */ (void)isoptarg(isc_commandline_argument, argv, usage); - dnskeytime = strtotime(isc_commandline_argument, - now, now, &setdnskeytime); + dnskeytime = strtotime(isc_commandline_argument, now, + now, &setdnskeytime); break; case 'L': ttl = strtottl(isc_commandline_argument); @@ -370,7 +373,7 @@ main(int argc, char **argv) { changed = true; syncadd = strtotime(isc_commandline_argument, - now, now, &setsyncadd); + now, now, &setsyncadd); unsetsyncadd = !setsyncadd; break; } @@ -379,8 +382,8 @@ main(int argc, char **argv) { fatal("-P specified more than once"); changed = true; - pub = strtotime(isc_commandline_argument, - now, now, &setpub); + pub = strtotime(isc_commandline_argument, now, now, + &setpub); unsetpub = !setpub; break; case 'p': @@ -440,8 +443,8 @@ main(int argc, char **argv) { fatal("-R specified more than once"); changed = true; - rev = strtotime(isc_commandline_argument, - now, now, &setrev); + rev = strtotime(isc_commandline_argument, now, now, + &setrev); unsetrev = !setrev; break; case 'r': @@ -453,8 +456,8 @@ main(int argc, char **argv) { setkrrsig = true; /* time */ (void)isoptarg(isc_commandline_argument, argv, usage); - krrsigtime = strtotime(isc_commandline_argument, - now, now, &setkrrsigtime); + krrsigtime = strtotime(isc_commandline_argument, now, + now, &setkrrsigtime); break; case 'S': predecessor = isc_commandline_argument; @@ -481,13 +484,13 @@ main(int argc, char **argv) { zrrsig = strtokeystate(isc_commandline_argument); setzrrsig = true; (void)isoptarg(isc_commandline_argument, argv, usage); - zrrsigtime = strtotime(isc_commandline_argument, - now, now, &setzrrsigtime); + zrrsigtime = strtotime(isc_commandline_argument, now, + now, &setzrrsigtime); break; default: - fprintf(stderr, "%s: unhandled option -%c\n", - program, isc_commandline_option); + fprintf(stderr, "%s: unhandled option -%c\n", program, + isc_commandline_option); exit(1); } } @@ -499,8 +502,7 @@ main(int argc, char **argv) { fatal("Extraneous arguments"); if ((setgoal || setds || setdnskey || setkrrsig || setzrrsig) && - !write_state) - { + !write_state) { fatal("Options -g, -d, -k, -r and -z require -s to be set"); } @@ -523,8 +525,8 @@ main(int argc, char **argv) { result = dst_key_fromnamedfile(predecessor, directory, options, mctx, &prevkey); if (result != ISC_R_SUCCESS) - fatal("Invalid keyfile %s: %s", - filename, isc_result_totext(result)); + fatal("Invalid keyfile %s: %s", filename, + isc_result_totext(result)); if (!dst_key_isprivate(prevkey) && !dst_key_isexternal(prevkey)) fatal("%s is not a private key", filename); @@ -537,7 +539,8 @@ main(int argc, char **argv) { dst_key_getprivateformat(prevkey, &major, &minor); if (major != DST_MAJOR_VERSION || minor < DST_MINOR_VERSION) fatal("Predecessor has incompatible format " - "version %d.%d\n\t", major, minor); + "version %d.%d\n\t", + major, minor); result = dst_key_gettime(prevkey, DST_TIME_ACTIVATE, &prevact); if (result != ISC_R_SUCCESS) @@ -545,8 +548,8 @@ main(int argc, char **argv) { "You must set one before\n\t" "generating a successor."); - result = dst_key_gettime(prevkey, DST_TIME_INACTIVE, - &previnact); + result = + dst_key_gettime(prevkey, DST_TIME_INACTIVE, &previnact); if (result != ISC_R_SUCCESS) fatal("Predecessor has no inactivation date. " "You must set one before\n\t" @@ -565,16 +568,19 @@ main(int argc, char **argv) { result = dst_key_gettime(prevkey, DST_TIME_DELETE, &prevdel); if (result != ISC_R_SUCCESS) - fprintf(stderr, "%s: warning: Predecessor has no " - "removal date;\n\t" - "it will remain in the zone " - "indefinitely after rollover.\n", - program); + fprintf(stderr, + "%s: warning: Predecessor has no " + "removal date;\n\t" + "it will remain in the zone " + "indefinitely after rollover.\n", + program); else if (prevdel < previnact) - fprintf(stderr, "%s: warning: Predecessor is " - "scheduled to be deleted\n\t" - "before it is scheduled to be " - "inactive.\n", program); + fprintf(stderr, + "%s: warning: Predecessor is " + "scheduled to be deleted\n\t" + "before it is scheduled to be " + "inactive.\n", + program); changed = setpub = setact = true; } else { @@ -612,11 +618,11 @@ main(int argc, char **argv) { isc_result_totext(result)); } - result = dst_key_fromnamedfile(filename, directory, options, mctx, - &key); + result = + dst_key_fromnamedfile(filename, directory, options, mctx, &key); if (result != ISC_R_SUCCESS) - fatal("Invalid keyfile %s: %s", - filename, isc_result_totext(result)); + fatal("Invalid keyfile %s: %s", filename, + isc_result_totext(result)); if (!dst_key_isprivate(key) && !dst_key_isexternal(key)) fatal("%s is not a private key", filename); @@ -636,17 +642,17 @@ main(int argc, char **argv) { prevdel = previnact = 0; if ((setdel && setinact && del < inact) || - (dst_key_gettime(key, DST_TIME_INACTIVE, - &previnact) == ISC_R_SUCCESS && + (dst_key_gettime(key, DST_TIME_INACTIVE, &previnact) == + ISC_R_SUCCESS && setdel && !setinact && !unsetinact && del < previnact) || - (dst_key_gettime(key, DST_TIME_DELETE, - &prevdel) == ISC_R_SUCCESS && + (dst_key_gettime(key, DST_TIME_DELETE, &prevdel) == ISC_R_SUCCESS && setinact && !setdel && !unsetdel && prevdel < inact) || - (!setdel && !unsetdel && !setinact && !unsetinact && - prevdel != 0 && prevdel < previnact)) - fprintf(stderr, "%s: warning: Key is scheduled to " - "be deleted before it is\n\t" - "scheduled to be inactive.\n", + (!setdel && !unsetdel && !setinact && !unsetinact && prevdel != 0 && + prevdel < previnact)) + fprintf(stderr, + "%s: warning: Key is scheduled to " + "be deleted before it is\n\t" + "scheduled to be inactive.\n", program); if (force) @@ -672,22 +678,25 @@ main(int argc, char **argv) { if (setrev) { if ((dst_key_flags(key) & DNS_KEYFLAG_REVOKE) != 0) - fprintf(stderr, "%s: warning: Key %s is already " - "revoked; changing the revocation date " - "will not affect this.\n", - program, keystr); + fprintf(stderr, + "%s: warning: Key %s is already " + "revoked; changing the revocation date " + "will not affect this.\n", + program, keystr); if ((dst_key_flags(key) & DNS_KEYFLAG_KSK) == 0) - fprintf(stderr, "%s: warning: Key %s is not flagged as " - "a KSK, but -R was used. Revoking a " - "ZSK is legal, but undefined.\n", - program, keystr); + fprintf(stderr, + "%s: warning: Key %s is not flagged as " + "a KSK, but -R was used. Revoking a " + "ZSK is legal, but undefined.\n", + program, keystr); dst_key_settime(key, DST_TIME_REVOKE, rev); } else if (unsetrev) { if ((dst_key_flags(key) & DNS_KEYFLAG_REVOKE) != 0) - fprintf(stderr, "%s: warning: Key %s is already " - "revoked; removing the revocation date " - "will not affect this.\n", - program, keystr); + fprintf(stderr, + "%s: warning: Key %s is already " + "revoked; removing the revocation date " + "will not affect this.\n", + program, keystr); dst_key_unsettime(key, DST_TIME_REVOKE); } @@ -811,12 +820,12 @@ main(int argc, char **argv) { printtime(key, DST_TIME_DELETE, "Delete", epoch, stdout); if (printsyncadd) - printtime(key, DST_TIME_SYNCPUBLISH, "SYNC Publish", - epoch, stdout); + printtime(key, DST_TIME_SYNCPUBLISH, "SYNC Publish", epoch, + stdout); if (printsyncdel) - printtime(key, DST_TIME_SYNCDELETE, "SYNC Delete", - epoch, stdout); + printtime(key, DST_TIME_SYNCDELETE, "SYNC Delete", epoch, + stdout); if (changed) { writekey(key, directory, write_state); diff --git a/bin/dnssec/dnssec-signzone.c b/bin/dnssec/dnssec-signzone.c index e11ef49afb..0d5391f80a 100644 --- a/bin/dnssec/dnssec-signzone.c +++ b/bin/dnssec/dnssec-signzone.c @@ -67,9 +67,9 @@ #include #include #include +#include #include #include -#include #include #include #include @@ -93,97 +93,97 @@ typedef struct hashlist hashlist_t; static int nsec_datatype = dns_rdatatype_nsec; -#define check_dns_dbiterator_current(result) \ +#define check_dns_dbiterator_current(result) \ check_result((result == DNS_R_NEWORIGIN) ? ISC_R_SUCCESS : result, \ "dns_dbiterator_current()") -#define IS_NSEC3 (nsec_datatype == dns_rdatatype_nsec3) -#define OPTOUT(x) (((x) & DNS_NSEC3FLAG_OPTOUT) != 0) +#define IS_NSEC3 (nsec_datatype == dns_rdatatype_nsec3) +#define OPTOUT(x) (((x)&DNS_NSEC3FLAG_OPTOUT) != 0) #define REVOKE(x) ((dst_key_flags(x) & DNS_KEYFLAG_REVOKE) != 0) #define BUFSIZE 2048 #define MAXDSKEYS 8 -#define SIGNER_EVENTCLASS ISC_EVENTCLASS(0x4453) -#define SIGNER_EVENT_WRITE (SIGNER_EVENTCLASS + 0) -#define SIGNER_EVENT_WORK (SIGNER_EVENTCLASS + 1) +#define SIGNER_EVENTCLASS ISC_EVENTCLASS(0x4453) +#define SIGNER_EVENT_WRITE (SIGNER_EVENTCLASS + 0) +#define SIGNER_EVENT_WORK (SIGNER_EVENTCLASS + 1) -#define SOA_SERIAL_KEEP 0 -#define SOA_SERIAL_INCREMENT 1 -#define SOA_SERIAL_UNIXTIME 2 -#define SOA_SERIAL_DATE 3 +#define SOA_SERIAL_KEEP 0 +#define SOA_SERIAL_INCREMENT 1 +#define SOA_SERIAL_UNIXTIME 2 +#define SOA_SERIAL_DATE 3 typedef struct signer_event sevent_t; struct signer_event { ISC_EVENT_COMMON(sevent_t); dns_fixedname_t *fname; - dns_dbnode_t *node; + dns_dbnode_t * node; }; static dns_dnsseckeylist_t keylist; -static unsigned int keycount = 0; -isc_rwlock_t keylist_lock; -static isc_stdtime_t starttime = 0, endtime = 0, dnskey_endtime = 0, now; -static int cycle = -1; -static int jitter = 0; -static bool tryverify = false; -static bool printstats = false; -static isc_mem_t *mctx = NULL; -static dns_ttl_t zone_soa_min_ttl; -static dns_ttl_t soa_ttl; -static FILE *outfp = NULL; -static char *tempfile = NULL; +static unsigned int keycount = 0; +isc_rwlock_t keylist_lock; +static isc_stdtime_t starttime = 0, endtime = 0, dnskey_endtime = 0, now; +static int cycle = -1; +static int jitter = 0; +static bool tryverify = false; +static bool printstats = false; +static isc_mem_t * mctx = NULL; +static dns_ttl_t zone_soa_min_ttl; +static dns_ttl_t soa_ttl; +static FILE * outfp = NULL; +static char * tempfile = NULL; static const dns_master_style_t *masterstyle; -static dns_masterformat_t inputformat = dns_masterformat_text; -static dns_masterformat_t outputformat = dns_masterformat_text; -static uint32_t rawversion = 1, serialnum = 0; -static bool snset = false; -static unsigned int nsigned = 0, nretained = 0, ndropped = 0; -static unsigned int nverified = 0, nverifyfailed = 0; -static const char *directory = NULL, *dsdir = NULL; -static isc_mutex_t namelock, statslock; -static isc_taskmgr_t *taskmgr = NULL; -static dns_db_t *gdb; /* The database */ -static dns_dbversion_t *gversion; /* The database version */ -static dns_dbiterator_t *gdbiter; /* The database iterator */ -static dns_rdataclass_t gclass; /* The class */ -static dns_name_t *gorigin; /* The database origin */ -static int nsec3flags = 0; -static dns_iterations_t nsec3iter = 10U; -static unsigned char saltbuf[255]; -static unsigned char *gsalt = saltbuf; -static size_t salt_length = 0; -static isc_task_t *master = NULL; -static unsigned int ntasks = 0; -static atomic_bool shuttingdown; -static atomic_bool finished; -static bool nokeys = false; -static bool removefile = false; -static bool generateds = false; -static bool ignore_kskflag = false; -static bool keyset_kskonly = false; -static dns_master_style_t *dsstyle = NULL; -static unsigned int serialformat = SOA_SERIAL_KEEP; -static unsigned int hash_length = 0; -static bool unknownalg = false; -static bool disable_zone_check = false; -static bool update_chain = false; -static bool set_keyttl = false; -static dns_ttl_t keyttl; -static bool smartsign = false; -static bool remove_orphansigs = false; -static bool remove_inactkeysigs = false; -static bool output_dnssec_only = false; -static bool output_stdout = false; -bool set_maxttl = false; -static dns_ttl_t maxttl = 0; +static dns_masterformat_t inputformat = dns_masterformat_text; +static dns_masterformat_t outputformat = dns_masterformat_text; +static uint32_t rawversion = 1, serialnum = 0; +static bool snset = false; +static unsigned int nsigned = 0, nretained = 0, ndropped = 0; +static unsigned int nverified = 0, nverifyfailed = 0; +static const char * directory = NULL, *dsdir = NULL; +static isc_mutex_t namelock, statslock; +static isc_taskmgr_t * taskmgr = NULL; +static dns_db_t * gdb; /* The database */ +static dns_dbversion_t * gversion; /* The database version */ +static dns_dbiterator_t * gdbiter; /* The database iterator */ +static dns_rdataclass_t gclass; /* The class */ +static dns_name_t * gorigin; /* The database origin */ +static int nsec3flags = 0; +static dns_iterations_t nsec3iter = 10U; +static unsigned char saltbuf[255]; +static unsigned char * gsalt = saltbuf; +static size_t salt_length = 0; +static isc_task_t * master = NULL; +static unsigned int ntasks = 0; +static atomic_bool shuttingdown; +static atomic_bool finished; +static bool nokeys = false; +static bool removefile = false; +static bool generateds = false; +static bool ignore_kskflag = false; +static bool keyset_kskonly = false; +static dns_master_style_t * dsstyle = NULL; +static unsigned int serialformat = SOA_SERIAL_KEEP; +static unsigned int hash_length = 0; +static bool unknownalg = false; +static bool disable_zone_check = false; +static bool update_chain = false; +static bool set_keyttl = false; +static dns_ttl_t keyttl; +static bool smartsign = false; +static bool remove_orphansigs = false; +static bool remove_inactkeysigs = false; +static bool output_dnssec_only = false; +static bool output_stdout = false; +bool set_maxttl = false; +static dns_ttl_t maxttl = 0; -#define INCSTAT(counter) \ - if (printstats) { \ - LOCK(&statslock); \ - counter++; \ - UNLOCK(&statslock); \ +#define INCSTAT(counter) \ + if (printstats) { \ + LOCK(&statslock); \ + counter++; \ + UNLOCK(&statslock); \ } static void @@ -193,7 +193,8 @@ sign(isc_task_t *task, isc_event_t *event); * Store a copy of 'name' in 'fzonecut' and return a pointer to that copy. */ static dns_name_t * -savezonecut(dns_fixedname_t *fzonecut, dns_name_t *name) { +savezonecut(dns_fixedname_t *fzonecut, dns_name_t *name) +{ dns_name_t *result; result = dns_fixedname_initname(fzonecut); @@ -203,13 +204,14 @@ savezonecut(dns_fixedname_t *fzonecut, dns_name_t *name) { } static void -dumpnode(dns_name_t *name, dns_dbnode_t *node) { - dns_rdataset_t rds; +dumpnode(dns_name_t *name, dns_dbnode_t *node) +{ + dns_rdataset_t rds; dns_rdatasetiter_t *iter = NULL; - isc_buffer_t *buffer = NULL; - isc_region_t r; - isc_result_t result; - unsigned bufsize = 4096; + isc_buffer_t * buffer = NULL; + isc_region_t r; + isc_result_t result; + unsigned bufsize = 4096; if (outputformat != dns_masterformat_text) return; @@ -228,10 +230,8 @@ dumpnode(dns_name_t *name, dns_dbnode_t *node) { isc_buffer_allocate(mctx, &buffer, bufsize); - for (result = dns_rdatasetiter_first(iter); - result == ISC_R_SUCCESS; + for (result = dns_rdatasetiter_first(iter); result == ISC_R_SUCCESS; result = dns_rdatasetiter_next(iter)) { - dns_rdatasetiter_current(iter, &rds); if (rds.type != dns_rdatatype_rrsig && @@ -244,9 +244,8 @@ dumpnode(dns_name_t *name, dns_dbnode_t *node) { } for (;;) { - result = dns_master_rdatasettotext(name, &rds, - masterstyle, NULL, - buffer); + result = dns_master_rdatasettotext( + name, &rds, masterstyle, NULL, buffer); if (result != ISC_R_NOSPACE) break; @@ -276,12 +275,12 @@ static void signwithkey(dns_name_t *name, dns_rdataset_t *rdataset, dst_key_t *key, dns_ttl_t ttl, dns_diff_t *add, const char *logmsg) { - isc_result_t result; - isc_stdtime_t jendtime, expiry; - char keystr[DST_KEY_FORMATSIZE]; - dns_rdata_t trdata = DNS_RDATA_INIT; - unsigned char array[BUFSIZE]; - isc_buffer_t b; + isc_result_t result; + isc_stdtime_t jendtime, expiry; + char keystr[DST_KEY_FORMATSIZE]; + dns_rdata_t trdata = DNS_RDATA_INIT; + unsigned char array[BUFSIZE]; + isc_buffer_t b; dns_difftuple_t *tuple; dst_key_format(key, keystr, sizeof(keystr)); @@ -297,14 +296,14 @@ signwithkey(dns_name_t *name, dns_rdataset_t *rdataset, dst_key_t *key, result = dns_dnssec_sign(name, rdataset, key, &starttime, &jendtime, mctx, &b, &trdata); if (result != ISC_R_SUCCESS) { - fatal("dnskey '%s' failed to sign data: %s", - keystr, isc_result_totext(result)); + fatal("dnskey '%s' failed to sign data: %s", keystr, + isc_result_totext(result)); } INCSTAT(nsigned); if (tryverify) { - result = dns_dnssec_verify(name, rdataset, key, - true, 0, mctx, &trdata, NULL); + result = dns_dnssec_verify(name, rdataset, key, true, 0, mctx, + &trdata, NULL); if (result == ISC_R_SUCCESS || result == DNS_R_FROMWILDCARD) { vbprintf(3, "\tsignature verified\n"); INCSTAT(nverified); @@ -315,36 +314,40 @@ signwithkey(dns_name_t *name, dns_rdataset_t *rdataset, dst_key_t *key, } tuple = NULL; - result = dns_difftuple_create(mctx, DNS_DIFFOP_ADDRESIGN, - name, ttl, &trdata, &tuple); + result = dns_difftuple_create(mctx, DNS_DIFFOP_ADDRESIGN, name, ttl, + &trdata, &tuple); check_result(result, "dns_difftuple_create"); dns_diff_append(add, &tuple); } static inline bool -issigningkey(dns_dnsseckey_t *key) { +issigningkey(dns_dnsseckey_t *key) +{ return (key->force_sign || key->hint_sign); } static inline bool -ispublishedkey(dns_dnsseckey_t *key) { - return ((key->force_publish || key->hint_publish) && - !key->hint_remove); +ispublishedkey(dns_dnsseckey_t *key) +{ + return ((key->force_publish || key->hint_publish) && !key->hint_remove); } static inline bool -iszonekey(dns_dnsseckey_t *key) { +iszonekey(dns_dnsseckey_t *key) +{ return (dns_name_equal(dst_key_name(key->key), gorigin) && dst_key_iszonekey(key->key)); } static inline bool -isksk(dns_dnsseckey_t *key) { +isksk(dns_dnsseckey_t *key) +{ return (key->ksk); } static inline bool -iszsk(dns_dnsseckey_t *key) { +iszsk(dns_dnsseckey_t *key) +{ return (ignore_kskflag || !key->ksk); } @@ -355,11 +358,11 @@ iszsk(dns_dnsseckey_t *key) { * No locking is performed here, this must be done by the caller. */ static dns_dnsseckey_t * -keythatsigned_unlocked(dns_rdata_rrsig_t *rrsig) { +keythatsigned_unlocked(dns_rdata_rrsig_t *rrsig) +{ dns_dnsseckey_t *key; - for (key = ISC_LIST_HEAD(keylist); - key != NULL; + for (key = ISC_LIST_HEAD(keylist); key != NULL; key = ISC_LIST_NEXT(key, link)) { if (rrsig->keyid == dst_key_id(key->key) && rrsig->algorithm == dst_key_alg(key->key) && @@ -374,9 +377,10 @@ keythatsigned_unlocked(dns_rdata_rrsig_t *rrsig) { * that we've loaded already, and then see if there's a key on disk. */ static dns_dnsseckey_t * -keythatsigned(dns_rdata_rrsig_t *rrsig) { - isc_result_t result; - dst_key_t *pubkey = NULL, *privkey = NULL; +keythatsigned(dns_rdata_rrsig_t *rrsig) +{ + isc_result_t result; + dst_key_t * pubkey = NULL, *privkey = NULL; dns_dnsseckey_t *key = NULL; isc_rwlock_lock(&keylist_lock, isc_rwlocktype_read); @@ -400,17 +404,16 @@ keythatsigned(dns_rdata_rrsig_t *rrsig) { } result = dst_key_fromfile(&rrsig->signer, rrsig->keyid, - rrsig->algorithm, DST_TYPE_PUBLIC, - directory, mctx, &pubkey); + rrsig->algorithm, DST_TYPE_PUBLIC, directory, + mctx, &pubkey); if (result != ISC_R_SUCCESS) { isc_rwlock_unlock(&keylist_lock, isc_rwlocktype_write); return (NULL); } - result = dst_key_fromfile(&rrsig->signer, rrsig->keyid, - rrsig->algorithm, - DST_TYPE_PUBLIC | DST_TYPE_PRIVATE, - directory, mctx, &privkey); + result = dst_key_fromfile( + &rrsig->signer, rrsig->keyid, rrsig->algorithm, + DST_TYPE_PUBLIC | DST_TYPE_PRIVATE, directory, mctx, &privkey); if (result == ISC_R_SUCCESS) { dst_key_free(&pubkey); result = dns_dnsseckey_create(mctx, &privkey, &key); @@ -434,11 +437,12 @@ keythatsigned(dns_rdata_rrsig_t *rrsig) { * I'm not sure if this is completely correct, but it seems to work. */ static bool -expecttofindkey(dns_name_t *name) { - unsigned int options = DNS_DBFIND_NOWILD; +expecttofindkey(dns_name_t *name) +{ + unsigned int options = DNS_DBFIND_NOWILD; dns_fixedname_t fname; - isc_result_t result; - char namestr[DNS_NAME_FORMATSIZE]; + isc_result_t result; + char namestr[DNS_NAME_FORMATSIZE]; dns_fixedname_init(&fname); result = dns_db_find(gdb, name, gversion, dns_rdatatype_dnskey, options, @@ -454,8 +458,8 @@ expecttofindkey(dns_name_t *name) { return (false); } dns_name_format(name, namestr, sizeof(namestr)); - fatal("failure looking for '%s DNSKEY' in database: %s", - namestr, isc_result_totext(result)); + fatal("failure looking for '%s DNSKEY' in database: %s", namestr, + isc_result_totext(result)); /* NOTREACHED */ return (false); /* removes a warning */ } @@ -465,8 +469,7 @@ setverifies(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, dns_rdata_t *rrsig) { isc_result_t result; - result = dns_dnssec_verify(name, set, key, false, 0, mctx, rrsig, - NULL); + result = dns_dnssec_verify(name, set, key, false, 0, mctx, rrsig, NULL); if (result == ISC_R_SUCCESS || result == DNS_R_FROMWILDCARD) { INCSTAT(nverified); return (true); @@ -485,20 +488,20 @@ static void signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name, dns_rdataset_t *set) { - dns_rdataset_t sigset; - dns_rdata_t sigrdata = DNS_RDATA_INIT; + dns_rdataset_t sigset; + dns_rdata_t sigrdata = DNS_RDATA_INIT; dns_rdata_rrsig_t rrsig; - dns_dnsseckey_t *key; - isc_result_t result; - bool nosigs = false; - bool *wassignedby, *nowsignedby; - int arraysize; - dns_difftuple_t *tuple; - dns_ttl_t ttl; - int i; - char namestr[DNS_NAME_FORMATSIZE]; - char typestr[DNS_RDATATYPE_FORMATSIZE]; - char sigstr[SIG_FORMATSIZE]; + dns_dnsseckey_t * key; + isc_result_t result; + bool nosigs = false; + bool * wassignedby, *nowsignedby; + int arraysize; + dns_difftuple_t * tuple; + dns_ttl_t ttl; + int i; + char namestr[DNS_NAME_FORMATSIZE]; + char typestr[DNS_RDATATYPE_FORMATSIZE]; + char sigstr[SIG_FORMATSIZE]; dns_name_format(name, namestr, sizeof(namestr)); dns_rdatatype_format(set->type, typestr, sizeof(typestr)); @@ -509,14 +512,14 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name, result = dns_db_findrdataset(gdb, node, gversion, dns_rdatatype_rrsig, set->type, 0, &sigset, NULL); if (result == ISC_R_NOTFOUND) { - vbprintf(2, "no existing signatures for %s/%s\n", - namestr, typestr); + vbprintf(2, "no existing signatures for %s/%s\n", namestr, + typestr); result = ISC_R_SUCCESS; nosigs = true; } if (result != ISC_R_SUCCESS) - fatal("failed while looking for '%s RRSIG %s': %s", - namestr, typestr, isc_result_totext(result)); + fatal("failed while looking for '%s RRSIG %s': %s", namestr, + typestr, isc_result_totext(result)); vbprintf(1, "%s/%s:\n", namestr, typestr); @@ -554,13 +557,15 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name, if (isc_serial_gt(rrsig.timesigned, rrsig.timeexpire)) { /* rrsig is dropped and not replaced */ - vbprintf(2, "\trrsig by %s dropped - " + vbprintf(2, + "\trrsig by %s dropped - " "invalid validity period\n", sigstr); } else if (key == NULL && !future && expecttofindkey(&rrsig.signer)) { /* rrsig is dropped and not replaced */ - vbprintf(2, "\trrsig by %s dropped - " + vbprintf(2, + "\trrsig by %s dropped - " "private dnskey not found\n", sigstr); } else if (key == NULL || future) { @@ -581,9 +586,12 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name, keep = true; } else { vbprintf(2, "\trrsig by %s dropped - %s\n", - sigstr, expired ? "expired" : - rrsig.originalttl != set->ttl ? - "ttl change" : "failed to verify"); + sigstr, + expired ? "expired" + : rrsig.originalttl != set->ttl + ? "ttl change" + : "failed to " + "verify"); resign = true; } } else if (!ispublishedkey(key) && remove_orphansigs) { @@ -598,9 +606,12 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name, keep = true; } else { vbprintf(2, "\trrsig by %s dropped - %s\n", - sigstr, expired ? "expired" : - rrsig.originalttl != set->ttl ? - "ttl change" : "failed to verify"); + sigstr, + expired ? "expired" + : rrsig.originalttl != set->ttl + ? "ttl change" + : "failed to " + "verify"); } } else if (!expired) { vbprintf(2, "\trrsig by %s retained\n", sigstr); @@ -616,26 +627,23 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name, if (sigset.ttl != ttl) { vbprintf(2, "\tfixing ttl %s\n", sigstr); tuple = NULL; - result = dns_difftuple_create(mctx, - DNS_DIFFOP_DELRESIGN, - name, sigset.ttl, - &sigrdata, &tuple); + result = dns_difftuple_create( + mctx, DNS_DIFFOP_DELRESIGN, name, + sigset.ttl, &sigrdata, &tuple); check_result(result, "dns_difftuple_create"); dns_diff_append(del, &tuple); - result = dns_difftuple_create(mctx, - DNS_DIFFOP_ADDRESIGN, - name, ttl, - &sigrdata, &tuple); + result = dns_difftuple_create( + mctx, DNS_DIFFOP_ADDRESIGN, name, ttl, + &sigrdata, &tuple); check_result(result, "dns_difftuple_create"); dns_diff_append(add, &tuple); } } else { tuple = NULL; vbprintf(2, "removing signature by %s\n", sigstr); - result = dns_difftuple_create(mctx, - DNS_DIFFOP_DELRESIGN, - name, sigset.ttl, - &sigrdata, &tuple); + result = dns_difftuple_create( + mctx, DNS_DIFFOP_DELRESIGN, name, sigset.ttl, + &sigrdata, &tuple); check_result(result, "dns_difftuple_create"); dns_diff_append(del, &tuple); INCSTAT(ndropped); @@ -660,10 +668,8 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name, if (dns_rdataset_isassociated(&sigset)) dns_rdataset_disassociate(&sigset); - for (key = ISC_LIST_HEAD(keylist); - key != NULL; - key = ISC_LIST_NEXT(key, link)) - { + for (key = ISC_LIST_HEAD(keylist); key != NULL; + key = ISC_LIST_NEXT(key, link)) { if (nowsignedby[key->index]) continue; @@ -673,13 +679,12 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name, if ((set->type == dns_rdatatype_cds || set->type == dns_rdatatype_cdnskey || set->type == dns_rdatatype_dnskey) && - dns_name_equal(name, gorigin)) { - bool have_ksk; + dns_name_equal(name, gorigin)) { + bool have_ksk; dns_dnsseckey_t *tmpkey; have_ksk = isksk(key); - for (tmpkey = ISC_LIST_HEAD(keylist); - tmpkey != NULL; + for (tmpkey = ISC_LIST_HEAD(keylist); tmpkey != NULL; tmpkey = ISC_LIST_NEXT(tmpkey, link)) { if (dst_key_alg(key->key) != dst_key_alg(tmpkey->key)) @@ -705,14 +710,14 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name, struct hashlist { unsigned char *hashbuf; - size_t entries; - size_t size; - size_t length; + size_t entries; + size_t size; + size_t length; }; static void -hashlist_init(hashlist_t *l, unsigned int nodes, unsigned int length) { - +hashlist_init(hashlist_t *l, unsigned int nodes, unsigned int length) +{ l->entries = 0; l->length = length + 1; @@ -728,7 +733,8 @@ hashlist_init(hashlist_t *l, unsigned int nodes, unsigned int length) { } static void -hashlist_free(hashlist_t *l) { +hashlist_free(hashlist_t *l) +{ if (l->hashbuf) { free(l->hashbuf); l->hashbuf = NULL; @@ -741,7 +747,6 @@ hashlist_free(hashlist_t *l) { static void hashlist_add(hashlist_t *l, const unsigned char *hash, size_t len) { - REQUIRE(len <= l->length); if (l->entries == l->size) { @@ -761,17 +766,16 @@ hashlist_add_dns_name(hashlist_t *l, /*const*/ dns_name_t *name, const unsigned char *salt, size_t salt_len, bool speculative) { - char nametext[DNS_NAME_FORMATSIZE]; + char nametext[DNS_NAME_FORMATSIZE]; unsigned char hash[NSEC3_MAX_HASH_LENGTH + 1]; - unsigned int len; - size_t i; + unsigned int len; + size_t i; - len = isc_iterated_hash(hash, hashalg, iterations, - salt, (int)salt_len, + len = isc_iterated_hash(hash, hashalg, iterations, salt, (int)salt_len, name->ndata, name->length); if (verbose) { dns_name_format(name, nametext, sizeof nametext); - for (i = 0 ; i < len; i++) + for (i = 0; i < len; i++) fprintf(stderr, "%02x", hash[i]); fprintf(stderr, " %s\n", nametext); } @@ -780,12 +784,14 @@ hashlist_add_dns_name(hashlist_t *l, /*const*/ dns_name_t *name, } static int -hashlist_comp(const void *a, const void *b) { +hashlist_comp(const void *a, const void *b) +{ return (memcmp(a, b, hash_length + 1)); } static void -hashlist_sort(hashlist_t *l) { +hashlist_sort(hashlist_t *l) +{ INSIST(l->hashbuf != NULL || l->length == 0); if (l->length > 0) { qsort(l->hashbuf, l->entries, l->length, hashlist_comp); @@ -793,15 +799,16 @@ hashlist_sort(hashlist_t *l) { } static bool -hashlist_hasdup(hashlist_t *l) { +hashlist_hasdup(hashlist_t *l) +{ unsigned char *current; unsigned char *next = l->hashbuf; - size_t entries = l->entries; + size_t entries = l->entries; /* * Skip initial speculative wild card hashs. */ - while (entries > 0U && next[l->length-1] != 0U) { + while (entries > 0U && next[l->length - 1] != 0U) { next += l->length; entries--; } @@ -809,7 +816,7 @@ hashlist_hasdup(hashlist_t *l) { current = next; while (entries-- > 1U) { next += l->length; - if (next[l->length-1] != 0) + if (next[l->length - 1] != 0) continue; if (isc_safe_memequal(current, next, l->length - 1)) return (true); @@ -819,12 +826,12 @@ hashlist_hasdup(hashlist_t *l) { } static const unsigned char * -hashlist_findnext(const hashlist_t *l, +hashlist_findnext(const hashlist_t * l, const unsigned char hash[NSEC3_MAX_HASH_LENGTH]) { - size_t entries = l->entries; - const unsigned char *next = bsearch(hash, l->hashbuf, l->entries, - l->length, hashlist_comp); + size_t entries = l->entries; + const unsigned char *next = + bsearch(hash, l->hashbuf, l->entries, l->length, hashlist_comp); INSIST(next != NULL); do { @@ -840,7 +847,7 @@ hashlist_findnext(const hashlist_t *l, } static bool -hashlist_exists(const hashlist_t *l, +hashlist_exists(const hashlist_t * l, const unsigned char hash[NSEC3_MAX_HASH_LENGTH]) { if (bsearch(hash, l->hashbuf, l->entries, l->length, hashlist_comp)) @@ -855,17 +862,17 @@ addnowildcardhash(hashlist_t *l, /*const*/ dns_name_t *name, const unsigned char *salt, size_t salt_len) { dns_fixedname_t fixed; - dns_name_t *wild; - dns_dbnode_t *node = NULL; - isc_result_t result; - char namestr[DNS_NAME_FORMATSIZE]; + dns_name_t * wild; + dns_dbnode_t * node = NULL; + isc_result_t result; + char namestr[DNS_NAME_FORMATSIZE]; wild = dns_fixedname_initname(&fixed); result = dns_name_concatenate(dns_wildcardname, name, wild, NULL); if (result == ISC_R_NOSPACE) return; - check_result(result,"addnowildcardhash: dns_name_concatenate()"); + check_result(result, "addnowildcardhash: dns_name_concatenate()"); result = dns_db_findnode(gdb, wild, false, &node); if (result == ISC_R_SUCCESS) { @@ -886,7 +893,7 @@ static void opendb(const char *prefix, dns_name_t *name, dns_rdataclass_t rdclass, dns_db_t **dbp) { - char filename[PATH_MAX]; + char filename[PATH_MAX]; isc_buffer_t b; isc_result_t result; @@ -926,15 +933,16 @@ opendb(const char *prefix, dns_name_t *name, dns_rdataclass_t rdclass, * dnssec-signzone, and build DS records from that. */ static isc_result_t -loadds(dns_name_t *name, uint32_t ttl, dns_rdataset_t *dsset) { - dns_db_t *db = NULL; +loadds(dns_name_t *name, uint32_t ttl, dns_rdataset_t *dsset) +{ + dns_db_t * db = NULL; dns_dbversion_t *ver = NULL; - dns_dbnode_t *node = NULL; - isc_result_t result; - dns_rdataset_t keyset; - dns_rdata_t key, ds; - unsigned char dsbuf[DNS_DS_BUFFERSIZE]; - dns_diff_t diff; + dns_dbnode_t * node = NULL; + isc_result_t result; + dns_rdataset_t keyset; + dns_rdata_t key, ds; + unsigned char dsbuf[DNS_DS_BUFFERSIZE]; + dns_diff_t diff; dns_difftuple_t *tuple = NULL; opendb("dsset-", name, gclass, &db); @@ -982,10 +990,8 @@ loadds(dns_name_t *name, uint32_t ttl, dns_rdataset_t *dsset) { check_result(result, "dns_db_newversion"); dns_diff_init(mctx, &diff); - for (result = dns_rdataset_first(&keyset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(&keyset)) - { + for (result = dns_rdataset_first(&keyset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(&keyset)) { dns_rdata_init(&key); dns_rdata_init(&ds); dns_rdataset_current(&keyset, &key); @@ -1016,16 +1022,17 @@ loadds(dns_name_t *name, uint32_t ttl, dns_rdataset_t *dsset) { } static bool -secure(dns_name_t *name, dns_dbnode_t *node) { +secure(dns_name_t *name, dns_dbnode_t *node) +{ dns_rdataset_t dsset; - isc_result_t result; + isc_result_t result; if (dns_name_equal(name, gorigin)) return (false); dns_rdataset_init(&dsset); - result = dns_db_findrdataset(gdb, node, gversion, dns_rdatatype_ds, - 0, 0, &dsset, NULL); + result = dns_db_findrdataset(gdb, node, gversion, dns_rdatatype_ds, 0, + 0, &dsset, NULL); if (dns_rdataset_isassociated(&dsset)) dns_rdataset_disassociate(&dsset); @@ -1037,14 +1044,14 @@ is_delegation(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin, dns_name_t *name, dns_dbnode_t *node, uint32_t *ttlp) { dns_rdataset_t nsset; - isc_result_t result; + isc_result_t result; if (dns_name_equal(name, origin)) return (false); dns_rdataset_init(&nsset); - result = dns_db_findrdataset(db, node, ver, dns_rdatatype_ns, - 0, 0, &nsset, NULL); + result = dns_db_findrdataset(db, node, ver, dns_rdatatype_ns, 0, 0, + &nsset, NULL); if (dns_rdataset_isassociated(&nsset)) { if (ttlp != NULL) *ttlp = nsset.ttl; @@ -1059,9 +1066,10 @@ is_delegation(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin, * 'node'; return false otherwise. */ static bool -has_dname(dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node) { +has_dname(dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node) +{ dns_rdataset_t dnameset; - isc_result_t result; + isc_result_t result; dns_rdataset_init(&dnameset); result = dns_db_findrdataset(db, node, ver, dns_rdatatype_dname, 0, 0, @@ -1077,13 +1085,14 @@ has_dname(dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node) { * Signs all records at a name. */ static void -signname(dns_dbnode_t *node, dns_name_t *name) { - isc_result_t result; - dns_rdataset_t rdataset; +signname(dns_dbnode_t *node, dns_name_t *name) +{ + isc_result_t result; + dns_rdataset_t rdataset; dns_rdatasetiter_t *rdsiter; - bool isdelegation = false; - dns_diff_t del, add; - char namestr[DNS_NAME_FORMATSIZE]; + bool isdelegation = false; + dns_diff_t del, add; + char namestr[DNS_NAME_FORMATSIZE]; dns_rdataset_init(&rdataset); dns_name_format(name, namestr, sizeof(namestr)); @@ -1128,25 +1137,25 @@ signname(dns_dbnode_t *node, dns_name_t *name) { signset(&del, &add, node, name, &rdataset); - skip: + skip: dns_rdataset_disassociate(&rdataset); result = dns_rdatasetiter_next(rdsiter); } if (result != ISC_R_NOMORE) - fatal("rdataset iteration for name '%s' failed: %s", - namestr, isc_result_totext(result)); + fatal("rdataset iteration for name '%s' failed: %s", namestr, + isc_result_totext(result)); dns_rdatasetiter_destroy(&rdsiter); result = dns_diff_applysilently(&del, gdb, gversion); if (result != ISC_R_SUCCESS) - fatal("failed to delete SIGs at node '%s': %s", - namestr, isc_result_totext(result)); + fatal("failed to delete SIGs at node '%s': %s", namestr, + isc_result_totext(result)); result = dns_diff_applysilently(&add, gdb, gversion); if (result != ISC_R_SUCCESS) - fatal("failed to add SIGs at node '%s': %s", - namestr, isc_result_totext(result)); + fatal("failed to add SIGs at node '%s': %s", namestr, + isc_result_totext(result)); dns_diff_clear(&del); dns_diff_clear(&add); @@ -1157,15 +1166,16 @@ signname(dns_dbnode_t *node, dns_name_t *name) { * caller. Clean out extranous RRSIG records for node. */ static inline bool -active_node(dns_dbnode_t *node) { +active_node(dns_dbnode_t *node) +{ dns_rdatasetiter_t *rdsiter = NULL; dns_rdatasetiter_t *rdsiter2 = NULL; - bool active = false; - isc_result_t result; - dns_rdataset_t rdataset; - dns_rdatatype_t type; - dns_rdatatype_t covers; - bool found; + bool active = false; + isc_result_t result; + dns_rdataset_t rdataset; + dns_rdatatype_t type; + dns_rdatatype_t covers; + bool found; dns_rdataset_init(&rdataset); result = dns_db_allrdatasets(gdb, node, gversion, 0, &rdsiter); @@ -1224,11 +1234,10 @@ active_node(dns_dbnode_t *node) { if (nsec_datatype == dns_rdatatype_nsec3 && (type == dns_rdatatype_nsec || covers == dns_rdatatype_nsec)) { - result = dns_db_deleterdataset(gdb, node, - gversion, type, - covers); - check_result(result, - "dns_db_deleterdataset(nsec/rrsig)"); + result = dns_db_deleterdataset( + gdb, node, gversion, type, covers); + check_result(result, "dns_db_deleterdataset(" + "nsec/rrsig)"); continue; } if (type != dns_rdatatype_rrsig) @@ -1246,11 +1255,10 @@ active_node(dns_dbnode_t *node) { if (result != ISC_R_NOMORE) fatal("rdataset iteration failed: %s", isc_result_totext(result)); - result = dns_db_deleterdataset(gdb, node, - gversion, type, - covers); - check_result(result, - "dns_db_deleterdataset(rrsig)"); + result = dns_db_deleterdataset( + gdb, node, gversion, type, covers); + check_result(result, "dns_db_deleterdataset(" + "rrsig)"); } else if (result != ISC_R_NOMORE && result != ISC_R_SUCCESS) fatal("rdataset iteration failed: %s", @@ -1270,17 +1278,18 @@ active_node(dns_dbnode_t *node) { * Extracts the minimum TTL from the SOA record, and the SOA record's TTL. */ static void -get_soa_ttls(void) { - dns_rdataset_t soaset; +get_soa_ttls(void) +{ + dns_rdataset_t soaset; dns_fixedname_t fname; - dns_name_t *name; - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_name_t * name; + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; name = dns_fixedname_initname(&fname); dns_rdataset_init(&soaset); - result = dns_db_find(gdb, gorigin, gversion, dns_rdatatype_soa, - 0, 0, NULL, name, &soaset, NULL); + result = dns_db_find(gdb, gorigin, gversion, dns_rdatatype_soa, 0, 0, + NULL, name, &soaset, NULL); if (result != ISC_R_SUCCESS) fatal("failed to find an SOA at the zone apex: %s", isc_result_totext(result)); @@ -1301,12 +1310,13 @@ get_soa_ttls(void) { * Increment (or set if nonzero) the SOA serial */ static isc_result_t -setsoaserial(uint32_t serial, dns_updatemethod_t method) { - isc_result_t result; - dns_dbnode_t *node = NULL; +setsoaserial(uint32_t serial, dns_updatemethod_t method) +{ + isc_result_t result; + dns_dbnode_t * node = NULL; dns_rdataset_t rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; - uint32_t old_serial, new_serial; + dns_rdata_t rdata = DNS_RDATA_INIT; + uint32_t old_serial, new_serial; result = dns_db_getoriginnode(gdb, &node); if (result != ISC_R_SUCCESS) @@ -1314,8 +1324,7 @@ setsoaserial(uint32_t serial, dns_updatemethod_t method) { dns_rdataset_init(&rdataset); - result = dns_db_findrdataset(gdb, node, gversion, - dns_rdatatype_soa, 0, + result = dns_db_findrdataset(gdb, node, gversion, dns_rdatatype_soa, 0, 0, &rdataset, NULL); if (result != ISC_R_SUCCESS) goto cleanup; @@ -1347,21 +1356,21 @@ setsoaserial(uint32_t serial, dns_updatemethod_t method) { * (2^(32-1))-1. Using u_int32_t arithmetic, we can do a single * comparison. (5 - 6 == (2^32)-1, not negative-one) */ - if (new_serial == old_serial || - (new_serial - old_serial) > 0x7fffffffU) - fprintf(stderr, "%s: warning: Serial number not advanced, " - "zone may not transfer\n", program); + if (new_serial == old_serial || (new_serial - old_serial) > 0x7fffffffU) + fprintf(stderr, + "%s: warning: Serial number not advanced, " + "zone may not transfer\n", + program); dns_soa_setserial(new_serial, &rdata); - result = dns_db_deleterdataset(gdb, node, gversion, - dns_rdatatype_soa, 0); + result = dns_db_deleterdataset(gdb, node, gversion, dns_rdatatype_soa, + 0); check_result(result, "dns_db_deleterdataset"); if (result != ISC_R_SUCCESS) goto cleanup; - result = dns_db_addrdataset(gdb, node, gversion, - 0, &rdataset, 0, NULL); + result = dns_db_addrdataset(gdb, node, gversion, 0, &rdataset, 0, NULL); check_result(result, "dns_db_addrdataset"); if (result != ISC_R_SUCCESS) goto cleanup; @@ -1379,10 +1388,11 @@ cleanup: * Delete any RRSIG records at a node. */ static void -cleannode(dns_db_t *db, dns_dbversion_t *dbversion, dns_dbnode_t *node) { +cleannode(dns_db_t *db, dns_dbversion_t *dbversion, dns_dbnode_t *node) +{ dns_rdatasetiter_t *rdsiter = NULL; - dns_rdataset_t set; - isc_result_t result, dresult; + dns_rdataset_t set; + isc_result_t result, dresult; if (outputformat != dns_masterformat_text || !disable_zone_check) return; @@ -1392,7 +1402,7 @@ cleannode(dns_db_t *db, dns_dbversion_t *dbversion, dns_dbnode_t *node) { check_result(result, "dns_db_allrdatasets"); result = dns_rdatasetiter_first(rdsiter); while (result == ISC_R_SUCCESS) { - bool destroy = false; + bool destroy = false; dns_rdatatype_t covers = 0; dns_rdatasetiter_current(rdsiter, &set); if (set.type == dns_rdatatype_rrsig) { @@ -1418,7 +1428,8 @@ cleannode(dns_db_t *db, dns_dbversion_t *dbversion, dns_dbnode_t *node) { * Set up the iterator and global state before starting the tasks. */ static void -presign(void) { +presign(void) +{ isc_result_t result; gdbiter = NULL; @@ -1430,7 +1441,8 @@ presign(void) { * Clean up the iterator and global state after the tasks complete. */ static void -postsign(void) { +postsign(void) +{ dns_dbiterator_destroy(&gdbiter); } @@ -1440,11 +1452,12 @@ postsign(void) { * records. */ static void -signapex(void) { - dns_dbnode_t *node = NULL; +signapex(void) +{ + dns_dbnode_t * node = NULL; dns_fixedname_t fixed; - dns_name_t *name; - isc_result_t result; + dns_name_t * name; + isc_result_t result; name = dns_fixedname_initname(&fixed); result = dns_dbiterator_seek(gdbiter, gorigin); @@ -1469,17 +1482,18 @@ signapex(void) { * lock. */ static void -assignwork(isc_task_t *task, isc_task_t *worker) { - dns_fixedname_t *fname; - dns_name_t *name; - dns_dbnode_t *node; - sevent_t *sevent; - dns_rdataset_t nsec; - bool found; - isc_result_t result; - static dns_name_t *zonecut = NULL; /* Protected by namelock. */ - static dns_fixedname_t fzonecut; /* Protected by namelock. */ - static unsigned int ended = 0; /* Protected by namelock. */ +assignwork(isc_task_t *task, isc_task_t *worker) +{ + dns_fixedname_t * fname; + dns_name_t * name; + dns_dbnode_t * node; + sevent_t * sevent; + dns_rdataset_t nsec; + bool found; + isc_result_t result; + static dns_name_t * zonecut = NULL; /* Protected by namelock. */ + static dns_fixedname_t fzonecut; /* Protected by namelock. */ + static unsigned int ended = 0; /* Protected by namelock. */ if (atomic_load(&shuttingdown)) { return; @@ -1518,9 +1532,8 @@ assignwork(isc_task_t *task, isc_task_t *worker) { * Nodes which don't need to be signed are dumped here. */ dns_rdataset_init(&nsec); - result = dns_db_findrdataset(gdb, node, gversion, - nsec_datatype, 0, 0, - &nsec, NULL); + result = dns_db_findrdataset(gdb, node, gversion, nsec_datatype, + 0, 0, &nsec, NULL); if (dns_rdataset_isassociated(&nsec)) dns_rdataset_disassociate(&nsec); if (result == ISC_R_SUCCESS) { @@ -1529,9 +1542,8 @@ assignwork(isc_task_t *task, isc_task_t *worker) { if (dns_name_issubdomain(name, gorigin) && (zonecut == NULL || !dns_name_issubdomain(name, zonecut))) { - if (is_delegation(gdb, gversion, gorigin, - name, node, NULL)) - { + if (is_delegation(gdb, gversion, gorigin, name, + node, NULL)) { zonecut = savezonecut(&fzonecut, name); if (!OPTOUT(nsec3flags) || secure(name, node)) { @@ -1551,7 +1563,7 @@ assignwork(isc_task_t *task, isc_task_t *worker) { dns_db_detachnode(gdb, &node); } - next: + next: result = dns_dbiterator_next(gdbiter); if (result == ISC_R_NOMORE) { atomic_store(&finished, true); @@ -1569,14 +1581,13 @@ assignwork(isc_task_t *task, isc_task_t *worker) { isc_mem_put(mctx, fname, sizeof(dns_fixedname_t)); goto unlock; } - sevent = (sevent_t *) - isc_event_allocate(mctx, task, SIGNER_EVENT_WORK, - sign, NULL, sizeof(sevent_t)); + sevent = (sevent_t *)isc_event_allocate(mctx, task, SIGNER_EVENT_WORK, + sign, NULL, sizeof(sevent_t)); sevent->node = node; sevent->fname = fname; isc_task_send(worker, ISC_EVENT_PTR(&sevent)); - unlock: +unlock: UNLOCK(&namelock); } @@ -1584,7 +1595,8 @@ assignwork(isc_task_t *task, isc_task_t *worker) { * Start a worker task */ static void -startworker(isc_task_t *task, isc_event_t *event) { +startworker(isc_task_t *task, isc_event_t *event) +{ isc_task_t *worker; worker = (isc_task_t *)event->ev_arg; @@ -1596,9 +1608,10 @@ startworker(isc_task_t *task, isc_event_t *event) { * Write a node to the output file, and restart the worker task. */ static void -writenode(isc_task_t *task, isc_event_t *event) { +writenode(isc_task_t *task, isc_event_t *event) +{ isc_task_t *worker; - sevent_t *sevent = (sevent_t *)event; + sevent_t * sevent = (sevent_t *)event; worker = (isc_task_t *)event->ev_sender; dumpnode(dns_fixedname_name(sevent->fname), sevent->node); @@ -1613,10 +1626,11 @@ writenode(isc_task_t *task, isc_event_t *event) { * Sign a database node. */ static void -sign(isc_task_t *task, isc_event_t *event) { +sign(isc_task_t *task, isc_event_t *event) +{ dns_fixedname_t *fname; - dns_dbnode_t *node; - sevent_t *sevent, *wevent; + dns_dbnode_t * node; + sevent_t * sevent, *wevent; sevent = (sevent_t *)event; node = sevent->node; @@ -1624,9 +1638,9 @@ sign(isc_task_t *task, isc_event_t *event) { isc_event_free(&event); signname(node, dns_fixedname_name(fname)); - wevent = (sevent_t *) - isc_event_allocate(mctx, task, SIGNER_EVENT_WRITE, - writenode, NULL, sizeof(sevent_t)); + wevent = (sevent_t *)isc_event_allocate(mctx, task, SIGNER_EVENT_WRITE, + writenode, NULL, + sizeof(sevent_t)); wevent->node = node; wevent->fname = fname; isc_task_send(master, ISC_EVENT_PTR(&wevent)); @@ -1636,16 +1650,16 @@ sign(isc_task_t *task, isc_event_t *event) { * Update / remove the DS RRset. Preserve RRSIG(DS) if possible. */ static void -add_ds(dns_name_t *name, dns_dbnode_t *node, uint32_t nsttl) { +add_ds(dns_name_t *name, dns_dbnode_t *node, uint32_t nsttl) +{ dns_rdataset_t dsset; dns_rdataset_t sigdsset; - isc_result_t result; + isc_result_t result; dns_rdataset_init(&dsset); dns_rdataset_init(&sigdsset); - result = dns_db_findrdataset(gdb, node, gversion, - dns_rdatatype_ds, - 0, 0, &dsset, &sigdsset); + result = dns_db_findrdataset(gdb, node, gversion, dns_rdatatype_ds, 0, + 0, &dsset, &sigdsset); if (result == ISC_R_SUCCESS) { dns_rdataset_disassociate(&dsset); result = dns_db_deleterdataset(gdb, node, gversion, @@ -1655,8 +1669,8 @@ add_ds(dns_name_t *name, dns_dbnode_t *node, uint32_t nsttl) { result = loadds(name, nsttl, &dsset); if (result == ISC_R_SUCCESS) { - result = dns_db_addrdataset(gdb, node, gversion, 0, - &dsset, 0, NULL); + result = dns_db_addrdataset(gdb, node, gversion, 0, &dsset, 0, + NULL); check_result(result, "dns_db_addrdataset"); dns_rdataset_disassociate(&dsset); if (dns_rdataset_isassociated(&sigdsset)) @@ -1674,13 +1688,12 @@ add_ds(dns_name_t *name, dns_dbnode_t *node, uint32_t nsttl) { * Remove records of the given type and their signatures. */ static void -remove_records(dns_dbnode_t *node, dns_rdatatype_t which, - bool checknsec) +remove_records(dns_dbnode_t *node, dns_rdatatype_t which, bool checknsec) { - isc_result_t result; - dns_rdatatype_t type, covers; + isc_result_t result; + dns_rdatatype_t type, covers; dns_rdatasetiter_t *rdsiter = NULL; - dns_rdataset_t rdataset; + dns_rdataset_t rdataset; dns_rdataset_init(&rdataset); @@ -1689,20 +1702,19 @@ remove_records(dns_dbnode_t *node, dns_rdatatype_t which, */ result = dns_db_allrdatasets(gdb, node, gversion, 0, &rdsiter); check_result(result, "dns_db_allrdatasets()"); - for (result = dns_rdatasetiter_first(rdsiter); - result == ISC_R_SUCCESS; + for (result = dns_rdatasetiter_first(rdsiter); result == ISC_R_SUCCESS; result = dns_rdatasetiter_next(rdsiter)) { dns_rdatasetiter_current(rdsiter, &rdataset); type = rdataset.type; covers = rdataset.covers; dns_rdataset_disassociate(&rdataset); if (type == which || covers == which) { - if (which == dns_rdatatype_nsec && - checknsec && !update_chain) + if (which == dns_rdatatype_nsec && checknsec && + !update_chain) fatal("Zone contains NSEC records. Use -u " "to update to NSEC3."); - if (which == dns_rdatatype_nsec3param && - checknsec && !update_chain) + if (which == dns_rdatatype_nsec3param && checknsec && + !update_chain) fatal("Zone contains NSEC3 chains. Use -u " "to update to NSEC."); result = dns_db_deleterdataset(gdb, node, gversion, @@ -1719,19 +1731,17 @@ remove_records(dns_dbnode_t *node, dns_rdatatype_t which, * which case remove all signatures except for DS or nsec_datatype */ static void -remove_sigs(dns_dbnode_t *node, bool delegation, - dns_rdatatype_t which) +remove_sigs(dns_dbnode_t *node, bool delegation, dns_rdatatype_t which) { - isc_result_t result; - dns_rdatatype_t type, covers; + isc_result_t result; + dns_rdatatype_t type, covers; dns_rdatasetiter_t *rdsiter = NULL; - dns_rdataset_t rdataset; + dns_rdataset_t rdataset; dns_rdataset_init(&rdataset); result = dns_db_allrdatasets(gdb, node, gversion, 0, &rdsiter); check_result(result, "dns_db_allrdatasets()"); - for (result = dns_rdatasetiter_first(rdsiter); - result == ISC_R_SUCCESS; + for (result = dns_rdatasetiter_first(rdsiter); result == ISC_R_SUCCESS; result = dns_rdatasetiter_next(rdsiter)) { dns_rdatasetiter_current(rdsiter, &rdataset); type = rdataset.type; @@ -1750,8 +1760,8 @@ remove_sigs(dns_dbnode_t *node, bool delegation, if (which != 0 && covers != which) continue; - result = dns_db_deleterdataset(gdb, node, gversion, - type, covers); + result = dns_db_deleterdataset(gdb, node, gversion, type, + covers); check_result(result, "dns_db_deleterdataset()"); } dns_rdatasetiter_destroy(&rdsiter); @@ -1761,17 +1771,18 @@ remove_sigs(dns_dbnode_t *node, bool delegation, * Generate NSEC records for the zone and remove NSEC3/NSEC3PARAM records. */ static void -nsecify(void) { - dns_dbiterator_t *dbiter = NULL; - dns_dbnode_t *node = NULL, *nextnode = NULL; - dns_fixedname_t fname, fnextname, fzonecut; - dns_name_t *name, *nextname, *zonecut; - dns_rdataset_t rdataset; +nsecify(void) +{ + dns_dbiterator_t * dbiter = NULL; + dns_dbnode_t * node = NULL, *nextnode = NULL; + dns_fixedname_t fname, fnextname, fzonecut; + dns_name_t * name, *nextname, *zonecut; + dns_rdataset_t rdataset; dns_rdatasetiter_t *rdsiter = NULL; - dns_rdatatype_t type, covers; - bool done = false; - isc_result_t result; - uint32_t nsttl = 0; + dns_rdatatype_t type, covers; + bool done = false; + isc_result_t result; + uint32_t nsttl = 0; dns_rdataset_init(&rdataset); name = dns_fixedname_initname(&fname); @@ -1783,8 +1794,7 @@ nsecify(void) { */ result = dns_db_createiterator(gdb, DNS_DB_NSEC3ONLY, &dbiter); check_result(result, "dns_db_createiterator()"); - for (result = dns_dbiterator_first(dbiter); - result == ISC_R_SUCCESS; + for (result = dns_dbiterator_first(dbiter); result == ISC_R_SUCCESS; result = dns_dbiterator_next(dbiter)) { result = dns_dbiterator_current(dbiter, &node, name); check_dns_dbiterator_current(result); @@ -1799,8 +1809,8 @@ nsecify(void) { dns_rdataset_disassociate(&rdataset); result = dns_db_deleterdataset(gdb, node, gversion, type, covers); - check_result(result, - "dns_db_deleterdataset(nsec3param/rrsig)"); + check_result(result, "dns_db_deleterdataset(nsec3param/" + "rrsig)"); } dns_rdatasetiter_destroy(&rdsiter); dns_db_detachnode(gdb, &node); @@ -1830,8 +1840,7 @@ nsecify(void) { } if (dns_name_equal(name, gorigin)) { - remove_records(node, dns_rdatatype_nsec3param, - true); + remove_records(node, dns_rdatatype_nsec3param, true); /* Clean old rrsigs at apex. */ (void)active_node(node); } @@ -1860,8 +1869,7 @@ nsecify(void) { } if (!dns_name_issubdomain(nextname, gorigin) || (zonecut != NULL && - dns_name_issubdomain(nextname, zonecut))) - { + dns_name_issubdomain(nextname, zonecut))) { remove_sigs(nextnode, false, 0); remove_records(nextnode, dns_rdatatype_nsec, false); @@ -1892,14 +1900,14 @@ static void addnsec3param(const unsigned char *salt, size_t salt_len, dns_iterations_t iterations) { - dns_dbnode_t *node = NULL; + dns_dbnode_t * node = NULL; dns_rdata_nsec3param_t nsec3param; - unsigned char nsec3parambuf[5 + 255]; - dns_rdatalist_t rdatalist; - dns_rdataset_t rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_buffer_t b; - isc_result_t result; + unsigned char nsec3parambuf[5 + 255]; + dns_rdatalist_t rdatalist; + dns_rdataset_t rdataset; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_buffer_t b; + isc_result_t result; dns_rdataset_init(&rdataset); @@ -1914,8 +1922,7 @@ addnsec3param(const unsigned char *salt, size_t salt_len, DE_CONST(salt, nsec3param.salt); isc_buffer_init(&b, nsec3parambuf, sizeof(nsec3parambuf)); - result = dns_rdata_fromstruct(&rdata, gclass, - dns_rdatatype_nsec3param, + result = dns_rdata_fromstruct(&rdata, gclass, dns_rdatatype_nsec3param, &nsec3param, &b); check_result(result, "dns_rdata_fromstruct()"); dns_rdatalist_init(&rdatalist); @@ -1946,22 +1953,21 @@ addnsec3param(const unsigned char *salt, size_t salt_len, } static void -addnsec3(dns_name_t *name, dns_dbnode_t *node, - const unsigned char *salt, size_t salt_len, - unsigned int iterations, hashlist_t *hashlist, +addnsec3(dns_name_t *name, dns_dbnode_t *node, const unsigned char *salt, + size_t salt_len, unsigned int iterations, hashlist_t *hashlist, dns_ttl_t ttl) { - unsigned char hash[NSEC3_MAX_HASH_LENGTH]; + unsigned char hash[NSEC3_MAX_HASH_LENGTH]; const unsigned char *nexthash; - unsigned char nsec3buffer[DNS_NSEC3_BUFFERSIZE]; - dns_fixedname_t hashname; - dns_rdatalist_t rdatalist; - dns_rdataset_t rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_result_t result; - dns_dbnode_t *nsec3node = NULL; - char namebuf[DNS_NAME_FORMATSIZE]; - size_t hash_len; + unsigned char nsec3buffer[DNS_NSEC3_BUFFERSIZE]; + dns_fixedname_t hashname; + dns_rdatalist_t rdatalist; + dns_rdataset_t rdataset; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + dns_dbnode_t * nsec3node = NULL; + char namebuf[DNS_NAME_FORMATSIZE]; + size_t hash_len; dns_name_format(name, namebuf, sizeof(namebuf)); @@ -1969,18 +1975,15 @@ addnsec3(dns_name_t *name, dns_dbnode_t *node, dns_rdataset_init(&rdataset); dns_name_downcase(name, name, NULL); - result = dns_nsec3_hashname(&hashname, hash, &hash_len, - name, gorigin, dns_hash_sha1, iterations, - salt, salt_len); + result = dns_nsec3_hashname(&hashname, hash, &hash_len, name, gorigin, + dns_hash_sha1, iterations, salt, salt_len); check_result(result, "addnsec3: dns_nsec3_hashname()"); nexthash = hashlist_findnext(hashlist, hash); - result = dns_nsec3_buildrdata(gdb, gversion, node, - unknownalg ? - DNS_NSEC3_UNKNOWNALG : dns_hash_sha1, - nsec3flags, iterations, - salt, salt_len, - nexthash, ISC_SHA1_DIGESTLENGTH, - nsec3buffer, &rdata); + result = dns_nsec3_buildrdata( + gdb, gversion, node, + unknownalg ? DNS_NSEC3_UNKNOWNALG : dns_hash_sha1, nsec3flags, + iterations, salt, salt_len, nexthash, ISC_SHA1_DIGESTLENGTH, + nsec3buffer, &rdata); check_result(result, "addnsec3: dns_nsec3_buildrdata()"); dns_rdatalist_init(&rdatalist); rdatalist.rdclass = rdata.rdclass; @@ -1989,11 +1992,11 @@ addnsec3(dns_name_t *name, dns_dbnode_t *node, ISC_LIST_APPEND(rdatalist.rdata, &rdata, link); result = dns_rdatalist_tordataset(&rdatalist, &rdataset); check_result(result, "dns_rdatalist_tordataset()"); - result = dns_db_findnsec3node(gdb, dns_fixedname_name(&hashname), - true, &nsec3node); + result = dns_db_findnsec3node(gdb, dns_fixedname_name(&hashname), true, + &nsec3node); check_result(result, "addnsec3: dns_db_findnode()"); - result = dns_db_addrdataset(gdb, nsec3node, gversion, 0, &rdataset, - 0, NULL); + result = dns_db_addrdataset(gdb, nsec3node, gversion, 0, &rdataset, 0, + NULL); if (result == DNS_R_UNCHANGED) result = ISC_R_SUCCESS; check_result(result, "addnsec3: dns_db_addrdataset()"); @@ -2011,20 +2014,20 @@ addnsec3(dns_name_t *name, dns_dbnode_t *node, * XXXMPA Should we also check that it of the form <hash>.<origin>? */ static void -nsec3clean(dns_name_t *name, dns_dbnode_t *node, - unsigned int hashalg, unsigned int iterations, - const unsigned char *salt, size_t salt_len, hashlist_t *hashlist) +nsec3clean(dns_name_t *name, dns_dbnode_t *node, unsigned int hashalg, + unsigned int iterations, const unsigned char *salt, size_t salt_len, + hashlist_t *hashlist) { - dns_label_t label; + dns_label_t label; dns_rdata_nsec3_t nsec3; - dns_rdata_t rdata, delrdata; - dns_rdatalist_t rdatalist; - dns_rdataset_t rdataset, delrdataset; - bool delete_rrsigs = false; - isc_buffer_t target; - isc_result_t result; - unsigned char hash[NSEC3_MAX_HASH_LENGTH + 1]; - bool exists; + dns_rdata_t rdata, delrdata; + dns_rdatalist_t rdatalist; + dns_rdataset_t rdataset, delrdataset; + bool delete_rrsigs = false; + isc_buffer_t target; + isc_result_t result; + unsigned char hash[NSEC3_MAX_HASH_LENGTH + 1]; + bool exists; /* * Get the first label. @@ -2064,8 +2067,7 @@ nsec3clean(dns_name_t *name, dns_dbnode_t *node, * Delete any NSEC3 records which are not part of the current * NSEC3 chain. */ - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdata_init(&rdata); dns_rdataset_current(&rdataset, &rdata); @@ -2102,31 +2104,29 @@ nsec3clean(dns_name_t *name, dns_dbnode_t *node, /* * Delete the NSEC3 RRSIGs */ - result = dns_db_deleterdataset(gdb, node, gversion, - dns_rdatatype_rrsig, + result = dns_db_deleterdataset(gdb, node, gversion, dns_rdatatype_rrsig, dns_rdatatype_nsec3); if (result != ISC_R_SUCCESS && result != DNS_R_UNCHANGED) check_result(result, "dns_db_deleterdataset(RRSIG(NSEC3))"); } static void -rrset_cleanup(dns_name_t *name, dns_rdataset_t *rdataset, - dns_diff_t *add, dns_diff_t *del) +rrset_cleanup(dns_name_t *name, dns_rdataset_t *rdataset, dns_diff_t *add, + dns_diff_t *del) { - isc_result_t result; - unsigned int count1 = 0; + isc_result_t result; + unsigned int count1 = 0; dns_rdataset_t tmprdataset; - char namestr[DNS_NAME_FORMATSIZE]; - char typestr[DNS_RDATATYPE_FORMATSIZE]; + char namestr[DNS_NAME_FORMATSIZE]; + char typestr[DNS_RDATATYPE_FORMATSIZE]; dns_name_format(name, namestr, sizeof(namestr)); dns_rdatatype_format(rdataset->type, typestr, sizeof(typestr)); dns_rdataset_init(&tmprdataset); - for (result = dns_rdataset_first(rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(rdataset)) { - dns_rdata_t rdata1 = DNS_RDATA_INIT; + dns_rdata_t rdata1 = DNS_RDATA_INIT; unsigned int count2 = 0; count1++; @@ -2135,37 +2135,34 @@ rrset_cleanup(dns_name_t *name, dns_rdataset_t *rdataset, for (result = dns_rdataset_first(&tmprdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&tmprdataset)) { - dns_rdata_t rdata2 = DNS_RDATA_INIT; + dns_rdata_t rdata2 = DNS_RDATA_INIT; dns_difftuple_t *tuple = NULL; count2++; dns_rdataset_current(&tmprdataset, &rdata2); if (count1 < count2 && - dns_rdata_casecompare(&rdata1, &rdata2) == 0) - { + dns_rdata_casecompare(&rdata1, &rdata2) == 0) { vbprintf(2, "removing duplicate at %s/%s\n", - namestr, typestr); - result = dns_difftuple_create(mctx, - DNS_DIFFOP_DELRESIGN, - name, rdataset->ttl, - &rdata2, &tuple); + namestr, typestr); + result = dns_difftuple_create( + mctx, DNS_DIFFOP_DELRESIGN, name, + rdataset->ttl, &rdata2, &tuple); check_result(result, "dns_difftuple_create"); dns_diff_append(del, &tuple); } else if (set_maxttl && rdataset->ttl > maxttl) { - vbprintf(2, "reducing ttl of %s/%s " - "from %d to %d\n", - namestr, typestr, - rdataset->ttl, maxttl); - result = dns_difftuple_create(mctx, - DNS_DIFFOP_DELRESIGN, - name, rdataset->ttl, - &rdata2, &tuple); + vbprintf(2, + "reducing ttl of %s/%s " + "from %d to %d\n", + namestr, typestr, rdataset->ttl, + maxttl); + result = dns_difftuple_create( + mctx, DNS_DIFFOP_DELRESIGN, name, + rdataset->ttl, &rdata2, &tuple); check_result(result, "dns_difftuple_create"); dns_diff_append(del, &tuple); tuple = NULL; - result = dns_difftuple_create(mctx, - DNS_DIFFOP_ADDRESIGN, - name, maxttl, - &rdata2, &tuple); + result = dns_difftuple_create( + mctx, DNS_DIFFOP_ADDRESIGN, name, + maxttl, &rdata2, &tuple); check_result(result, "dns_difftuple_create"); dns_diff_append(add, &tuple); } @@ -2175,15 +2172,16 @@ rrset_cleanup(dns_name_t *name, dns_rdataset_t *rdataset, } static void -cleanup_zone(void) { - isc_result_t result; - dns_dbiterator_t *dbiter = NULL; +cleanup_zone(void) +{ + isc_result_t result; + dns_dbiterator_t * dbiter = NULL; dns_rdatasetiter_t *rdsiter = NULL; - dns_diff_t add, del; - dns_dbnode_t *node = NULL; - dns_rdataset_t rdataset; - dns_fixedname_t fname; - dns_name_t *name; + dns_diff_t add, del; + dns_dbnode_t * node = NULL; + dns_rdataset_t rdataset; + dns_fixedname_t fname; + dns_name_t * name; dns_diff_init(mctx, &add); dns_diff_init(mctx, &del); @@ -2193,10 +2191,8 @@ cleanup_zone(void) { result = dns_db_createiterator(gdb, 0, &dbiter); check_result(result, "dns_db_createiterator()"); - for (result = dns_dbiterator_first(dbiter); - result == ISC_R_SUCCESS; + for (result = dns_dbiterator_first(dbiter); result == ISC_R_SUCCESS; result = dns_dbiterator_next(dbiter)) { - result = dns_dbiterator_current(dbiter, &node, name); check_dns_dbiterator_current(result); result = dns_db_allrdatasets(gdb, node, gversion, 0, &rdsiter); @@ -2235,16 +2231,16 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations, const unsigned char *salt, size_t salt_len, hashlist_t *hashlist) { dns_dbiterator_t *dbiter = NULL; - dns_dbnode_t *node = NULL, *nextnode = NULL; - dns_fixedname_t fname, fnextname, fzonecut; - dns_name_t *name, *nextname, *zonecut; - dns_rdataset_t rdataset; - int order; - bool active; - bool done = false; - isc_result_t result; - uint32_t nsttl = 0; - unsigned int count, nlabels; + dns_dbnode_t * node = NULL, *nextnode = NULL; + dns_fixedname_t fname, fnextname, fzonecut; + dns_name_t * name, *nextname, *zonecut; + dns_rdataset_t rdataset; + int order; + bool active; + bool done = false; + isc_result_t result; + uint32_t nsttl = 0; + unsigned int count, nlabels; dns_rdataset_init(&rdataset); name = dns_fixedname_initname(&fname); @@ -2306,9 +2302,8 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations, result = dns_dbiterator_next(dbiter); continue; } - if (is_delegation(gdb, gversion, gorigin, - nextname, nextnode, &nsttl)) - { + if (is_delegation(gdb, gversion, gorigin, nextname, + nextnode, &nsttl)) { zonecut = savezonecut(&fzonecut, nextname); remove_sigs(nextnode, true, 0); if (generateds) @@ -2332,8 +2327,8 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations, fatal("iterating through the database failed: %s", isc_result_totext(result)); dns_name_downcase(name, name, NULL); - hashlist_add_dns_name(hashlist, name, hashalg, iterations, - salt, salt_len, false); + hashlist_add_dns_name(hashlist, name, hashalg, iterations, salt, + salt_len, false); dns_db_detachnode(gdb, &node); /* * Add hashs for empty nodes. Use closest encloser logic. @@ -2343,8 +2338,8 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations, */ dns_name_downcase(nextname, nextname, NULL); dns_name_fullcompare(name, nextname, &order, &nlabels); - addnowildcardhash(hashlist, name, hashalg, iterations, - salt, salt_len); + addnowildcardhash(hashlist, name, hashalg, iterations, salt, + salt_len); count = dns_name_countlabels(nextname); while (count > nlabels + 1) { count--; @@ -2384,8 +2379,7 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations, result = dns_db_createiterator(gdb, DNS_DB_NSEC3ONLY, &dbiter); check_result(result, "dns_db_createiterator()"); - for (result = dns_dbiterator_first(dbiter); - result == ISC_R_SUCCESS; + for (result = dns_dbiterator_first(dbiter); result == ISC_R_SUCCESS; result = dns_dbiterator_next(dbiter)) { result = dns_dbiterator_current(dbiter, &node, name); check_dns_dbiterator_current(result); @@ -2443,9 +2437,8 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations, result = dns_dbiterator_next(dbiter); continue; } - if (is_delegation(gdb, gversion, gorigin, - nextname, nextnode, NULL)) - { + if (is_delegation(gdb, gversion, gorigin, nextname, + nextnode, NULL)) { zonecut = savezonecut(&fzonecut, nextname); if (OPTOUT(nsec3flags) && !secure(nextname, nextnode)) { @@ -2469,8 +2462,8 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations, * We need to pause here to release the lock on the database. */ dns_dbiterator_pause(dbiter); - addnsec3(name, node, salt, salt_len, iterations, - hashlist, zone_soa_min_ttl); + addnsec3(name, node, salt, salt_len, iterations, hashlist, + zone_soa_min_ttl); dns_db_detachnode(gdb, &node); /* * Add NSEC3's for empty nodes. Use closest encloser logic. @@ -2480,8 +2473,8 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations, while (count > nlabels + 1) { count--; dns_name_split(nextname, count, NULL, nextname); - addnsec3(nextname, NULL, salt, salt_len, - iterations, hashlist, zone_soa_min_ttl); + addnsec3(nextname, NULL, salt, salt_len, iterations, + hashlist, zone_soa_min_ttl); } } dns_dbiterator_destroy(&dbiter); @@ -2491,12 +2484,13 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations, * Load the zone file from disk */ static void -loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) { - isc_buffer_t b; - int len; +loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) +{ + isc_buffer_t b; + int len; dns_fixedname_t fname; - dns_name_t *name; - isc_result_t result; + dns_name_t * name; + isc_result_t result; len = strlen(origin); isc_buffer_init(&b, origin, len); @@ -2505,17 +2499,17 @@ loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) { name = dns_fixedname_initname(&fname); result = dns_name_fromtext(name, &b, dns_rootname, 0, NULL); if (result != ISC_R_SUCCESS) - fatal("failed converting name '%s' to dns format: %s", - origin, isc_result_totext(result)); + fatal("failed converting name '%s' to dns format: %s", origin, + isc_result_totext(result)); - result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, - rdclass, 0, NULL, db); + result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, rdclass, 0, + NULL, db); check_result(result, "dns_db_create()"); result = dns_db_load(*db, file, inputformat, 0); if (result != ISC_R_SUCCESS && result != DNS_R_SEENINCLUDE) - fatal("failed loading zone from '%s': %s", - file, isc_result_totext(result)); + fatal("failed loading zone from '%s': %s", file, + isc_result_totext(result)); } /*% @@ -2523,11 +2517,12 @@ loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) { * private keys from disk. */ static void -loadzonekeys(bool preserve_keys, bool load_public) { - dns_dbnode_t *node; +loadzonekeys(bool preserve_keys, bool load_public) +{ + dns_dbnode_t * node; dns_dbversion_t *currentversion = NULL; - isc_result_t result; - dns_rdataset_t rdataset, keysigs, soasigs; + isc_result_t result; + dns_rdataset_t rdataset, keysigs, soasigs; node = NULL; result = dns_db_findnode(gdb, gorigin, false, &node); @@ -2543,40 +2538,41 @@ loadzonekeys(bool preserve_keys, bool load_public) { /* Make note of the keys which signed the SOA, if any */ result = dns_db_findrdataset(gdb, node, currentversion, - dns_rdatatype_soa, 0, 0, - &rdataset, &soasigs); + dns_rdatatype_soa, 0, 0, &rdataset, + &soasigs); if (result != ISC_R_SUCCESS) goto cleanup; /* Preserve the TTL of the DNSKEY RRset, if any */ dns_rdataset_disassociate(&rdataset); result = dns_db_findrdataset(gdb, node, currentversion, - dns_rdatatype_dnskey, 0, 0, - &rdataset, &keysigs); + dns_rdatatype_dnskey, 0, 0, &rdataset, + &keysigs); if (result != ISC_R_SUCCESS) goto cleanup; if (set_keyttl && keyttl != rdataset.ttl) { - fprintf(stderr, "User-specified TTL %u conflicts " - "with existing DNSKEY RRset TTL.\n", - keyttl); - fprintf(stderr, "Imported keys will use the RRSet " - "TTL %u instead.\n", - rdataset.ttl); + fprintf(stderr, + "User-specified TTL %u conflicts " + "with existing DNSKEY RRset TTL.\n", + keyttl); + fprintf(stderr, + "Imported keys will use the RRSet " + "TTL %u instead.\n", + rdataset.ttl); } keyttl = rdataset.ttl; /* Load keys corresponding to the existing DNSKEY RRset. */ - result = dns_dnssec_keylistfromrdataset(gorigin, directory, mctx, - &rdataset, &keysigs, &soasigs, - preserve_keys, load_public, - &keylist); + result = dns_dnssec_keylistfromrdataset( + gorigin, directory, mctx, &rdataset, &keysigs, &soasigs, + preserve_keys, load_public, &keylist); if (result != ISC_R_SUCCESS) fatal("failed to load the zone keys: %s", isc_result_totext(result)); - cleanup: +cleanup: if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); if (dns_rdataset_isassociated(&keysigs)) @@ -2588,18 +2584,18 @@ loadzonekeys(bool preserve_keys, bool load_public) { } static void -loadexplicitkeys(char *keyfiles[], int n, bool setksk) { +loadexplicitkeys(char *keyfiles[], int n, bool setksk) +{ isc_result_t result; - int i; + int i; for (i = 0; i < n; i++) { dns_dnsseckey_t *key = NULL; - dst_key_t *newkey = NULL; + dst_key_t * newkey = NULL; - result = dst_key_fromnamedfile(keyfiles[i], directory, - DST_TYPE_PUBLIC | - DST_TYPE_PRIVATE, - mctx, &newkey); + result = dst_key_fromnamedfile( + keyfiles[i], directory, + DST_TYPE_PUBLIC | DST_TYPE_PRIVATE, mctx, &newkey); if (result != ISC_R_SUCCESS) fatal("cannot load dnskey %s: %s", keyfiles[i], isc_result_totext(result)); @@ -2612,8 +2608,7 @@ loadexplicitkeys(char *keyfiles[], int n, bool setksk) { keyfiles[i]); /* Skip any duplicates */ - for (key = ISC_LIST_HEAD(keylist); - key != NULL; + for (key = ISC_LIST_HEAD(keylist); key != NULL; key = ISC_LIST_NEXT(key, link)) { if (dst_key_id(key->key) == dst_key_id(newkey) && dst_key_alg(key->key) == dst_key_alg(newkey)) @@ -2639,9 +2634,10 @@ loadexplicitkeys(char *keyfiles[], int n, bool setksk) { } static void -report(const char *format, ...) { +report(const char *format, ...) +{ if (!quiet) { - FILE *out = output_stdout ? stderr : stdout; + FILE * out = output_stdout ? stderr : stdout; va_list args; va_start(args, format); vfprintf(out, format, args); @@ -2650,7 +2646,8 @@ report(const char *format, ...) { } static void -clear_keylist(dns_dnsseckeylist_t *list) { +clear_keylist(dns_dnsseckeylist_t *list) +{ dns_dnsseckey_t *key; while (!ISC_LIST_EMPTY(*list)) { key = ISC_LIST_HEAD(*list); @@ -2660,14 +2657,15 @@ clear_keylist(dns_dnsseckeylist_t *list) { } static void -build_final_keylist(void) { - isc_result_t result; - dns_dbnode_t *node = NULL; - dns_dbversion_t *ver = NULL; - dns_diff_t diff; +build_final_keylist(void) +{ + isc_result_t result; + dns_dbnode_t * node = NULL; + dns_dbversion_t * ver = NULL; + dns_diff_t diff; dns_dnsseckeylist_t rmkeys, matchkeys; - char name[DNS_NAME_FORMATSIZE]; - dns_rdataset_t cdsset, cdnskeyset, soaset; + char name[DNS_NAME_FORMATSIZE]; + dns_rdataset_t cdsset, cdnskeyset, soaset; ISC_LIST_INIT(rmkeys); ISC_LIST_INIT(matchkeys); @@ -2679,8 +2677,8 @@ build_final_keylist(void) { /* * Find keys that match this zone in the key repository. */ - result = dns_dnssec_findmatchingkeys(gorigin, directory, - now, mctx, &matchkeys); + result = dns_dnssec_findmatchingkeys(gorigin, directory, now, mctx, + &matchkeys); if (result == ISC_R_NOTFOUND) { result = ISC_R_SUCCESS; } @@ -2695,18 +2693,14 @@ build_final_keylist(void) { /* Get the CDS rdataset */ result = dns_db_findrdataset(gdb, node, ver, dns_rdatatype_cds, dns_rdatatype_none, 0, &cdsset, NULL); - if (result != ISC_R_SUCCESS && - dns_rdataset_isassociated(&cdsset)) - { + if (result != ISC_R_SUCCESS && dns_rdataset_isassociated(&cdsset)) { dns_rdataset_disassociate(&cdsset); } /* Get the CDNSKEY rdataset */ result = dns_db_findrdataset(gdb, node, ver, dns_rdatatype_cdnskey, dns_rdatatype_none, 0, &cdnskeyset, NULL); - if (result != ISC_R_SUCCESS && - dns_rdataset_isassociated(&cdnskeyset)) - { + if (result != ISC_R_SUCCESS && dns_rdataset_isassociated(&cdnskeyset)) { dns_rdataset_disassociate(&cdnskeyset); } @@ -2721,15 +2715,15 @@ build_final_keylist(void) { /* * Update keylist with sync records. */ - dns_dnssec_syncupdate(&keylist, &rmkeys, &cdsset, &cdnskeyset, - now, keyttl, &diff, mctx); + dns_dnssec_syncupdate(&keylist, &rmkeys, &cdsset, &cdnskeyset, now, + keyttl, &diff, mctx); dns_name_format(gorigin, name, sizeof(name)); result = dns_diff_applysilently(&diff, gdb, ver); if (result != ISC_R_SUCCESS) { - fatal("failed to update DNSKEY RRset at node '%s': %s", - name, isc_result_totext(result)); + fatal("failed to update DNSKEY RRset at node '%s': %s", name, + isc_result_totext(result)); } dns_db_detachnode(gdb, &node); @@ -2749,14 +2743,15 @@ build_final_keylist(void) { } static void -warnifallksk(dns_db_t *db) { - dns_dbversion_t *currentversion = NULL; - dns_dbnode_t *node = NULL; - dns_rdataset_t rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_result_t result; +warnifallksk(dns_db_t *db) +{ + dns_dbversion_t * currentversion = NULL; + dns_dbnode_t * node = NULL; + dns_rdataset_t rdataset; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; dns_rdata_dnskey_t dnskey; - bool have_non_ksk = false; + bool have_non_ksk = false; dns_db_currentversion(db, ¤tversion); @@ -2791,7 +2786,8 @@ warnifallksk(dns_db_t *db) { dns_db_closeversion(db, ¤tversion, false); if (!have_non_ksk && !ignore_kskflag) { if (disable_zone_check) - fprintf(stderr, "%s: warning: No non-KSK DNSKEY found; " + fprintf(stderr, + "%s: warning: No non-KSK DNSKEY found; " "supply a ZSK or use '-z'.\n", program); else @@ -2801,21 +2797,20 @@ warnifallksk(dns_db_t *db) { } static void -set_nsec3params(bool update, bool set_salt, - bool set_optout, bool set_iter) +set_nsec3params(bool update, bool set_salt, bool set_optout, bool set_iter) { - isc_result_t result; - dns_dbversion_t *ver = NULL; - dns_dbnode_t *node = NULL; - dns_rdataset_t rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + dns_dbversion_t * ver = NULL; + dns_dbnode_t * node = NULL; + dns_rdataset_t rdataset; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_nsec3_t nsec3; - dns_fixedname_t fname; - dns_name_t *hashname; - unsigned char orig_salt[255]; - size_t orig_saltlen; - dns_hash_t orig_hash; - uint16_t orig_iter; + dns_fixedname_t fname; + dns_name_t * hashname; + unsigned char orig_salt[255]; + size_t orig_saltlen; + dns_hash_t orig_hash; + uint16_t orig_iter; dns_db_currentversion(gdb, &ver); dns_rdataset_init(&rdataset); @@ -2853,17 +2848,17 @@ set_nsec3params(bool update, bool set_salt, */ hashname = dns_fixedname_initname(&fname); - result = dns_nsec3_hashname(&fname, NULL, NULL, - gorigin, gorigin, dns_hash_sha1, - orig_iter, orig_salt, orig_saltlen); + result = dns_nsec3_hashname(&fname, NULL, NULL, gorigin, gorigin, + dns_hash_sha1, orig_iter, orig_salt, + orig_saltlen); check_result(result, "dns_nsec3_hashname"); result = dns_db_findnsec3node(gdb, hashname, false, &node); if (result != ISC_R_SUCCESS) goto cleanup; - result = dns_db_findrdataset(gdb, node, ver, dns_rdatatype_nsec3, - 0, 0, &rdataset, NULL); + result = dns_db_findrdataset(gdb, node, ver, dns_rdatatype_nsec3, 0, 0, + &rdataset, NULL); if (result != ISC_R_SUCCESS) goto cleanup; @@ -2885,7 +2880,7 @@ set_nsec3params(bool update, bool set_salt, dns_rdata_freestruct(&nsec3); - cleanup: +cleanup: if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); if (node != NULL) @@ -2894,25 +2889,26 @@ set_nsec3params(bool update, bool set_salt, } static void -writeset(const char *prefix, dns_rdatatype_t type) { - char *filename; - char namestr[DNS_NAME_FORMATSIZE]; - dns_db_t *db = NULL; - dns_dbversion_t *dbversion = NULL; - dns_diff_t diff; - dns_difftuple_t *tuple = NULL; - dns_name_t *name; - dns_rdata_t rdata, ds; - bool have_ksk = false; - bool have_non_ksk = false; - isc_buffer_t b; - isc_buffer_t namebuf; - isc_region_t r; - isc_result_t result; - dns_dnsseckey_t *key, *tmpkey; - unsigned char dsbuf[DNS_DS_BUFFERSIZE]; - unsigned char keybuf[DST_KEY_MAXSIZE]; - unsigned int filenamelen; +writeset(const char *prefix, dns_rdatatype_t type) +{ + char * filename; + char namestr[DNS_NAME_FORMATSIZE]; + dns_db_t * db = NULL; + dns_dbversion_t * dbversion = NULL; + dns_diff_t diff; + dns_difftuple_t * tuple = NULL; + dns_name_t * name; + dns_rdata_t rdata, ds; + bool have_ksk = false; + bool have_non_ksk = false; + isc_buffer_t b; + isc_buffer_t namebuf; + isc_region_t r; + isc_result_t result; + dns_dnsseckey_t * key, *tmpkey; + unsigned char dsbuf[DNS_DS_BUFFERSIZE]; + unsigned char keybuf[DST_KEY_MAXSIZE]; + unsigned int filenamelen; const dns_master_style_t *style = (type == dns_rdatatype_dnskey) ? masterstyle : dsstyle; @@ -2935,10 +2931,8 @@ writeset(const char *prefix, dns_rdatatype_t type) { name = gorigin; - for (key = ISC_LIST_HEAD(keylist); - key != NULL; - key = ISC_LIST_NEXT(key, link)) - { + for (key = ISC_LIST_HEAD(keylist); key != NULL; + key = ISC_LIST_NEXT(key, link)) { if (REVOKE(key->key)) continue; if (isksk(key)) { @@ -2948,8 +2942,7 @@ writeset(const char *prefix, dns_rdatatype_t type) { have_ksk = false; have_non_ksk = true; } - for (tmpkey = ISC_LIST_HEAD(keylist); - tmpkey != NULL; + for (tmpkey = ISC_LIST_HEAD(keylist); tmpkey != NULL; tmpkey = ISC_LIST_NEXT(tmpkey, link)) { if (dst_key_alg(key->key) != dst_key_alg(tmpkey->key)) continue; @@ -2971,18 +2964,17 @@ writeset(const char *prefix, dns_rdatatype_t type) { dns_rdata_fromregion(&rdata, gclass, dns_rdatatype_dnskey, &r); if (type != dns_rdatatype_dnskey) { result = dns_ds_buildrdata(gorigin, &rdata, - DNS_DSDIGEST_SHA256, - dsbuf, &ds); + DNS_DSDIGEST_SHA256, dsbuf, + &ds); check_result(result, "dns_ds_buildrdata"); result = dns_difftuple_create(mctx, DNS_DIFFOP_ADDRESIGN, name, 0, &ds, &tuple); } else { - result = dns_difftuple_create(mctx, - DNS_DIFFOP_ADDRESIGN, - gorigin, zone_soa_min_ttl, - &rdata, &tuple); + result = dns_difftuple_create( + mctx, DNS_DIFFOP_ADDRESIGN, gorigin, + zone_soa_min_ttl, &rdata, &tuple); } check_result(result, "dns_difftuple_create"); dns_diff_append(&diff, &tuple); @@ -3010,7 +3002,8 @@ writeset(const char *prefix, dns_rdatatype_t type) { } static void -print_time(FILE *fp) { +print_time(FILE *fp) +{ time_t currenttime; if (outputformat != dns_masterformat_text) @@ -3021,7 +3014,8 @@ print_time(FILE *fp) { } static void -print_version(FILE *fp) { +print_version(FILE *fp) +{ if (outputformat != dns_masterformat_text) return; @@ -3032,7 +3026,8 @@ ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { +usage(void) +{ fprintf(stderr, "Usage:\n"); fprintf(stderr, "\t%s [options] zonefile [keys]\n", program); @@ -3053,20 +3048,21 @@ usage(void) { "dsset-* files\n"); fprintf(stderr, "\t-s [YYYYMMDDHHMMSS|+offset]:\n"); fprintf(stderr, "\t\tRRSIG start time " - "- absolute|offset (now - 1 hour)\n"); + "- absolute|offset (now - 1 hour)\n"); fprintf(stderr, "\t-e [YYYYMMDDHHMMSS|+offset|\"now\"+offset]:\n"); fprintf(stderr, "\t\tRRSIG end time " - "- absolute|from start|from now " - "(now + 30 days)\n"); + "- absolute|from start|from now " + "(now + 30 days)\n"); fprintf(stderr, "\t-X [YYYYMMDDHHMMSS|+offset|\"now\"+offset]:\n"); fprintf(stderr, "\t\tDNSKEY RRSIG end " - "- absolute|from start|from now " - "(matches -e)\n"); + "- absolute|from start|from now " + "(matches -e)\n"); fprintf(stderr, "\t-i interval:\n"); fprintf(stderr, "\t\tcycle interval - resign " - "if < interval from end ( (end-start)/4 )\n"); + "if < interval from end ( (end-start)/4 )\n"); fprintf(stderr, "\t-j jitter:\n"); - fprintf(stderr, "\t\trandomize signature end time up to jitter seconds\n"); + fprintf(stderr, "\t\trandomize signature end time up to jitter " + "seconds\n"); fprintf(stderr, "\t-v debuglevel (0)\n"); fprintf(stderr, "\t-q quiet\n"); fprintf(stderr, "\t-V:\tprint version information\n"); @@ -3074,7 +3070,7 @@ usage(void) { fprintf(stderr, "\t\tzone origin (name of zonefile)\n"); fprintf(stderr, "\t-f outfile:\n"); fprintf(stderr, "\t\tfile the signed zone is written in " - "(zonefile + .signed)\n"); + "(zonefile + .signed)\n"); fprintf(stderr, "\t-I format:\n"); fprintf(stderr, "\t\tfile format of input zonefile (text)\n"); fprintf(stderr, "\t-O format:\n"); @@ -3088,8 +3084,10 @@ usage(void) { fprintf(stderr, "\t-c class (IN)\n"); fprintf(stderr, "\t-E engine:\n"); #if USE_PKCS11 - fprintf(stderr, "\t\tpath to PKCS#11 provider library " - "(default is %s)\n", PK11_LIB_LOCATION); + fprintf(stderr, + "\t\tpath to PKCS#11 provider library " + "(default is %s)\n", + PK11_LIB_LOCATION); #else fprintf(stderr, "\t\tname of an OpenSSL engine to use\n"); #endif @@ -3097,7 +3095,7 @@ usage(void) { fprintf(stderr, "disable post-sign verification\n"); fprintf(stderr, "\t-Q:\t"); fprintf(stderr, "remove signatures from keys that are no " - "longer active\n"); + "longer active\n"); fprintf(stderr, "\t-R:\t"); fprintf(stderr, "remove signatures from keys that no longer exist\n"); fprintf(stderr, "\t-T TTL:\tTTL for newly added DNSKEYs\n"); @@ -3125,7 +3123,8 @@ usage(void) { } static void -removetempfile(void) { +removetempfile(void) +{ if (removefile) isc_file_remove(tempfile); } @@ -3134,71 +3133,73 @@ static void print_stats(isc_time_t *timer_start, isc_time_t *timer_finish, isc_time_t *sign_start, isc_time_t *sign_finish) { - uint64_t time_us; /* Time in microseconds */ - uint64_t time_ms; /* Time in milliseconds */ - uint64_t sig_ms; /* Signatures per millisecond */ - FILE *out = output_stdout ? stderr : stdout; + uint64_t time_us; /* Time in microseconds */ + uint64_t time_ms; /* Time in milliseconds */ + uint64_t sig_ms; /* Signatures per millisecond */ + FILE * out = output_stdout ? stderr : stdout; fprintf(out, "Signatures generated: %10u\n", nsigned); fprintf(out, "Signatures retained: %10u\n", nretained); fprintf(out, "Signatures dropped: %10u\n", ndropped); fprintf(out, "Signatures successfully verified: %10u\n", nverified); - fprintf(out, "Signatures unsuccessfully " - "verified: %10u\n", nverifyfailed); + fprintf(out, + "Signatures unsuccessfully " + "verified: %10u\n", + nverifyfailed); time_us = isc_time_microdiff(sign_finish, sign_start); time_ms = time_us / 1000; fprintf(out, "Signing time in seconds: %7u.%03u\n", - (unsigned int) (time_ms / 1000), - (unsigned int) (time_ms % 1000)); + (unsigned int)(time_ms / 1000), (unsigned int)(time_ms % 1000)); if (time_us > 0) { sig_ms = ((uint64_t)nsigned * 1000000000) / time_us; fprintf(out, "Signatures per second: %7u.%03u\n", - (unsigned int) sig_ms / 1000, - (unsigned int) sig_ms % 1000); + (unsigned int)sig_ms / 1000, + (unsigned int)sig_ms % 1000); } time_us = isc_time_microdiff(timer_finish, timer_start); time_ms = time_us / 1000; fprintf(out, "Runtime in seconds: %7u.%03u\n", - (unsigned int) (time_ms / 1000), - (unsigned int) (time_ms % 1000)); + (unsigned int)(time_ms / 1000), (unsigned int)(time_ms % 1000)); } int -main(int argc, char *argv[]) { - int i, ch; - char *startstr = NULL, *endstr = NULL, *classname = NULL; - char *dnskey_endstr = NULL; - char *origin = NULL, *file = NULL, *output = NULL; - char *inputformatstr = NULL, *outputformatstr = NULL; - char *serialformatstr = NULL; - char *dskeyfile[MAXDSKEYS]; - int ndskeys = 0; - char *endp; - isc_time_t timer_start, timer_finish; - isc_time_t sign_start, sign_finish; +main(int argc, char *argv[]) +{ + int i, ch; + char * startstr = NULL, *endstr = NULL, *classname = NULL; + char * dnskey_endstr = NULL; + char * origin = NULL, *file = NULL, *output = NULL; + char * inputformatstr = NULL, *outputformatstr = NULL; + char * serialformatstr = NULL; + char * dskeyfile[MAXDSKEYS]; + int ndskeys = 0; + char * endp; + isc_time_t timer_start, timer_finish; + isc_time_t sign_start, sign_finish; dns_dnsseckey_t *key; - isc_result_t result, vresult; - isc_log_t *log = NULL; - const char *engine = NULL; - bool free_output = false; - int tempfilelen = 0; + isc_result_t result, vresult; + isc_log_t * log = NULL; + const char * engine = NULL; + bool free_output = false; + int tempfilelen = 0; dns_rdataclass_t rdclass; - isc_task_t **tasks = NULL; - hashlist_t hashlist; - bool make_keyset = false; - bool set_salt = false; - bool set_optout = false; - bool set_iter = false; - bool nonsecify = false; + isc_task_t ** tasks = NULL; + hashlist_t hashlist; + bool make_keyset = false; + bool set_salt = false; + bool set_optout = false; + bool set_iter = false; + bool nonsecify = false; atomic_init(&shuttingdown, false); atomic_init(&finished, false); /* Unused letters: Bb G J q Yy (and F is reserved). */ -#define CMDLINE_FLAGS \ - "3:AaCc:Dd:E:e:f:FghH:i:I:j:K:k:L:l:m:M:n:N:o:O:PpQqRr:s:ST:tuUv:VX:xzZ:" +#define CMDLINE_FLAGS \ + "3:AaCc:Dd:E:e:f:FghH:i:I:j:K:k:L:l:m:M:n:N:o:O:PpQqRr:s:ST:tuUv:VX:" \ + "xzZ:" /* * Process memory debugging argument first. @@ -3247,14 +3248,14 @@ main(int argc, char *argv[]) { nsec_datatype = dns_rdatatype_nsec3; if (strcmp(isc_commandline_argument, "-") != 0) { isc_buffer_t target; - char *sarg; + char * sarg; sarg = isc_commandline_argument; isc_buffer_init(&target, saltbuf, sizeof(saltbuf)); result = isc_hex_decodestring(sarg, &target); - check_result(result, - "isc_hex_decodestring(salt)"); + check_result(result, "isc_hex_decodestring(" + "salt)"); salt_length = isc_buffer_usedlength(&target); } break; @@ -3285,8 +3286,8 @@ main(int argc, char *argv[]) { fatal("DS directory must be non-empty string"); result = try_dir(dsdir); if (result != ISC_R_SUCCESS) - fatal("cannot open directory %s: %s", - dsdir, isc_result_totext(result)); + fatal("cannot open directory %s: %s", dsdir, + isc_result_totext(result)); break; case 'D': @@ -3316,7 +3317,7 @@ main(int argc, char *argv[]) { nsec3iter = strtoul(isc_commandline_argument, &endp, 0); if (*endp != '\0') fatal("iterations must be numeric"); - if (nsec3iter > 0xffffU) + if (nsec3iter > 0xffffU) fatal("iterations too big"); break; @@ -3435,7 +3436,7 @@ main(int argc, char *argv[]) { printstats = true; break; - case 'U': /* Undocumented for testing only. */ + case 'U': /* Undocumented for testing only. */ unknownalg = true; break; @@ -3482,14 +3483,14 @@ main(int argc, char *argv[]) { /* Does not return. */ version(program); - case 'Z': /* Undocumented test options */ + case 'Z': /* Undocumented test options */ if (!strcmp(isc_commandline_argument, "nonsecify")) nonsecify = true; break; default: - fprintf(stderr, "%s: unhandled option -%c\n", - program, isc_commandline_option); + fprintf(stderr, "%s: unhandled option -%c\n", program, + isc_commandline_option); exit(1); } } @@ -3504,7 +3505,7 @@ main(int argc, char *argv[]) { if (startstr != NULL) { starttime = strtotime(startstr, now, now, NULL); } else - starttime = now - 3600; /* Allow for some clock skew. */ + starttime = now - 3600; /* Allow for some clock skew. */ if (endstr != NULL) endtime = strtotime(endstr, now, starttime, NULL); @@ -3512,8 +3513,7 @@ main(int argc, char *argv[]) { endtime = starttime + (30 * 24 * 60 * 60); if (dnskey_endstr != NULL) { - dnskey_endtime = strtotime(dnskey_endstr, now, starttime, - NULL); + dnskey_endtime = strtotime(dnskey_endstr, now, starttime, NULL); if (endstr != NULL && dnskey_endtime == endtime) fprintf(stderr, "WARNING: -e and -X were both set, " "but have identical values.\n"); @@ -3565,11 +3565,10 @@ main(int argc, char *argv[]) { inputformat = dns_masterformat_raw; else if (strncasecmp(inputformatstr, "raw=", 4) == 0) { inputformat = dns_masterformat_raw; - fprintf(stderr, - "WARNING: input format version ignored\n"); + fprintf(stderr, "WARNING: input format version " + "ignored\n"); } else fatal("unknown file format: %s", inputformatstr); - } if (outputformatstr != NULL) { @@ -3589,8 +3588,7 @@ main(int argc, char *argv[]) { rawversion = strtol(outputformatstr + 4, &end, 10); if (end == outputformatstr + 4 || *end != '\0' || rawversion > 1U) { - fprintf(stderr, - "unknown raw format version\n"); + fprintf(stderr, "unknown raw format version\n"); exit(1); } } else @@ -3608,8 +3606,7 @@ main(int argc, char *argv[]) { else if (strcasecmp(serialformatstr, "date") == 0) serialformat = SOA_SERIAL_DATE; else - fatal("unknown soa serial format: %s", - serialformatstr); + fatal("unknown soa serial format: %s", serialformatstr); } if (output_dnssec_only && outputformat != dns_masterformat_text) @@ -3621,8 +3618,8 @@ main(int argc, char *argv[]) { if (output_dnssec_only && set_maxttl) fatal("option -D cannot be used with -M"); - result = dns_master_stylecreate(&dsstyle, DNS_STYLEFLAG_NO_TTL, - 0, 24, 0, 0, 0, 8, 0xffffffff, mctx); + result = dns_master_stylecreate(&dsstyle, DNS_STYLEFLAG_NO_TTL, 0, 24, + 0, 0, 0, 8, 0xffffffff, mctx); check_result(result, "dns_master_stylecreate"); gdb = NULL; @@ -3633,7 +3630,8 @@ main(int argc, char *argv[]) { get_soa_ttls(); if (set_maxttl && set_keyttl && keyttl > maxttl) { - fprintf(stderr, "%s: warning: Specified key TTL %u " + fprintf(stderr, + "%s: warning: Specified key TTL %u " "exceeds maximum zone TTL; reducing to %u\n", program, keyttl, maxttl); keyttl = maxttl; @@ -3689,16 +3687,17 @@ main(int argc, char *argv[]) { } /* Now enumerate the key list */ - for (key = ISC_LIST_HEAD(keylist); - key != NULL; + for (key = ISC_LIST_HEAD(keylist); key != NULL; key = ISC_LIST_NEXT(key, link)) { key->index = keycount++; } if (keycount == 0) { if (disable_zone_check) - fprintf(stderr, "%s: warning: No keys specified " - "or found\n", program); + fprintf(stderr, + "%s: warning: No keys specified " + "or found\n", + program); else fatal("No signing keys specified or found."); nokeys = true; @@ -3708,14 +3707,15 @@ main(int argc, char *argv[]) { if (IS_NSEC3) { unsigned int max; - bool answer; + bool answer; hash_length = dns_nsec3_hashlength(dns_hash_sha1); hashlist_init(&hashlist, dns_db_nodecount(gdb) * 2, hash_length); result = dns_nsec_nseconly(gdb, gversion, &answer); if (result == ISC_R_NOTFOUND) - fprintf(stderr, "%s: warning: NSEC3 generation " + fprintf(stderr, + "%s: warning: NSEC3 generation " "requested with no DNSKEY; ignoring\n", program); else if (result != ISC_R_SUCCESS) @@ -3728,9 +3728,10 @@ main(int argc, char *argv[]) { check_result(result, "dns_nsec3_maxiterations()"); if (nsec3iter > max) fatal("NSEC3 iterations too big for weakest DNSKEY " - "strength. Maximum iterations allowed %u.", max); + "strength. Maximum iterations allowed %u.", + max); } else { - hashlist_init(&hashlist, 0, 0); /* silence clang */ + hashlist_init(&hashlist, 0, 0); /* silence clang */ } gversion = NULL; @@ -3738,19 +3739,19 @@ main(int argc, char *argv[]) { check_result(result, "dns_db_newversion()"); switch (serialformat) { - case SOA_SERIAL_INCREMENT: - setsoaserial(0, dns_updatemethod_increment); - break; - case SOA_SERIAL_UNIXTIME: - setsoaserial(now, dns_updatemethod_unixtime); - break; - case SOA_SERIAL_DATE: - setsoaserial(now, dns_updatemethod_date); - break; - case SOA_SERIAL_KEEP: - default: - /* do nothing */ - break; + case SOA_SERIAL_INCREMENT: + setsoaserial(0, dns_updatemethod_increment); + break; + case SOA_SERIAL_UNIXTIME: + setsoaserial(now, dns_updatemethod_unixtime); + break; + case SOA_SERIAL_DATE: + setsoaserial(now, dns_updatemethod_date); + break; + case SOA_SERIAL_KEEP: + default: + /* do nothing */ + break; } /* Remove duplicates and cap TTLs at maxttl */ @@ -3842,7 +3843,8 @@ main(int argc, char *argv[]) { } } else isc_task_detach(&master); - atomic_store(&shuttingdown, true);; + atomic_store(&shuttingdown, true); + ; for (i = 0; i < (int)ntasks; i++) isc_task_detach(&tasks[i]); isc_taskmgr_destroy(&taskmgr); @@ -3924,12 +3926,12 @@ main(int argc, char *argv[]) { isc_mem_stats(mctx, stdout); isc_mem_destroy(&mctx); - (void) isc_app_finish(); + (void)isc_app_finish(); if (printstats) { TIME_NOW(&timer_finish); - print_stats(&timer_start, &timer_finish, - &sign_start, &sign_finish); + print_stats(&timer_start, &timer_finish, &sign_start, + &sign_finish); } #ifdef _WIN32 diff --git a/bin/dnssec/dnssec-verify.c b/bin/dnssec/dnssec-verify.c index 29894c9e81..a2232baf34 100644 --- a/bin/dnssec/dnssec-verify.c +++ b/bin/dnssec/dnssec-verify.c @@ -47,9 +47,9 @@ #include #include #include +#include #include #include -#include #include #include #include @@ -68,18 +68,19 @@ const char *program = "dnssec-verify"; -static isc_stdtime_t now; -static isc_mem_t *mctx = NULL; +static isc_stdtime_t now; +static isc_mem_t * mctx = NULL; static dns_masterformat_t inputformat = dns_masterformat_text; -static dns_db_t *gdb; /* The database */ -static dns_dbversion_t *gversion; /* The database version */ -static dns_rdataclass_t gclass; /* The class */ -static dns_name_t *gorigin; /* The database origin */ -static bool ignore_kskflag = false; -static bool keyset_kskonly = false; +static dns_db_t * gdb; /* The database */ +static dns_dbversion_t * gversion; /* The database version */ +static dns_rdataclass_t gclass; /* The class */ +static dns_name_t * gorigin; /* The database origin */ +static bool ignore_kskflag = false; +static bool keyset_kskonly = false; static void -report(const char *format, ...) { +report(const char *format, ...) +{ if (!quiet) { va_list args; va_start(args, format); @@ -92,12 +93,13 @@ report(const char *format, ...) { * Load the zone file from disk */ static void -loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) { - isc_buffer_t b; - int len; +loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) +{ + isc_buffer_t b; + int len; dns_fixedname_t fname; - dns_name_t *name; - isc_result_t result; + dns_name_t * name; + isc_result_t result; len = strlen(origin); isc_buffer_init(&b, origin, len); @@ -106,11 +108,11 @@ loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) { name = dns_fixedname_initname(&fname); result = dns_name_fromtext(name, &b, dns_rootname, 0, NULL); if (result != ISC_R_SUCCESS) - fatal("failed converting name '%s' to dns format: %s", - origin, isc_result_totext(result)); + fatal("failed converting name '%s' to dns format: %s", origin, + isc_result_totext(result)); - result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, - rdclass, 0, NULL, db); + result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, rdclass, 0, + NULL, db); check_result(result, "dns_db_create()"); result = dns_db_load(*db, file, inputformat, 0); @@ -131,8 +133,8 @@ loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) { } /* FALLTHROUGH */ default: - fatal("failed loading zone from '%s': %s", - file, isc_result_totext(result)); + fatal("failed loading zone from '%s': %s", file, + isc_result_totext(result)); } } @@ -140,7 +142,8 @@ ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { +usage(void) +{ fprintf(stderr, "Usage:\n"); fprintf(stderr, "\t%s [options] zonefile [keys]\n", program); @@ -159,8 +162,10 @@ usage(void) { fprintf(stderr, "\t-c class (IN)\n"); fprintf(stderr, "\t-E engine:\n"); #if USE_PKCS11 - fprintf(stderr, "\t\tpath to PKCS#11 provider library " - "(default is %s)\n", PK11_LIB_LOCATION); + fprintf(stderr, + "\t\tpath to PKCS#11 provider library " + "(default is %s)\n", + PK11_LIB_LOCATION); #else fprintf(stderr, "\t\tname of an OpenSSL engine to use\n"); #endif @@ -171,19 +176,19 @@ usage(void) { } int -main(int argc, char *argv[]) { - char *origin = NULL, *file = NULL; - char *inputformatstr = NULL; - isc_result_t result; - isc_log_t *log = NULL; - const char *engine = NULL; - char *classname = NULL; +main(int argc, char *argv[]) +{ + char * origin = NULL, *file = NULL; + char * inputformatstr = NULL; + isc_result_t result; + isc_log_t * log = NULL; + const char * engine = NULL; + char * classname = NULL; dns_rdataclass_t rdclass; - char *endp; - int ch; + char * endp; + int ch; -#define CMDLINE_FLAGS \ - "c:E:hm:o:I:qv:Vxz" +#define CMDLINE_FLAGS "c:E:hm:o:I:qv:Vxz" /* * Process memory debugging argument first. @@ -273,8 +278,8 @@ main(int argc, char *argv[]) { version(program); default: - fprintf(stderr, "%s: unhandled option -%c\n", - program, isc_commandline_option); + fprintf(stderr, "%s: unhandled option -%c\n", program, + isc_commandline_option); exit(1); } } @@ -326,9 +331,8 @@ main(int argc, char *argv[]) { result = dns_db_newversion(gdb, &gversion); check_result(result, "dns_db_newversion()"); - result = dns_zoneverify_dnssec(NULL, gdb, gversion, gorigin, NULL, - mctx, ignore_kskflag, keyset_kskonly, - report); + result = dns_zoneverify_dnssec(NULL, gdb, gversion, gorigin, NULL, mctx, + ignore_kskflag, keyset_kskonly, report); dns_db_closeversion(gdb, &gversion, false); dns_db_detach(&gdb); @@ -339,7 +343,7 @@ main(int argc, char *argv[]) { isc_mem_stats(mctx, stdout); isc_mem_destroy(&mctx); - (void) isc_app_finish(); + (void)isc_app_finish(); return (result == ISC_R_SUCCESS ? 0 : 1); } diff --git a/bin/dnssec/dnssectool.c b/bin/dnssec/dnssectool.c index aadd2ee39c..b771e2be69 100644 --- a/bin/dnssec/dnssectool.c +++ b/bin/dnssec/dnssectool.c @@ -46,10 +46,10 @@ #include #include #include -#include #include #include #include +#include #include #include #include @@ -59,17 +59,21 @@ #define KEYSTATES_NVALUES 4 static const char *keystates[KEYSTATES_NVALUES] = { - "hidden", "rumoured", "omnipresent", "unretentive", + "hidden", + "rumoured", + "omnipresent", + "unretentive", }; -int verbose = 0; -bool quiet = false; +int verbose = 0; +bool quiet = false; uint8_t dtype[8]; static fatalcallback_t *fatalcallback = NULL; void -fatal(const char *format, ...) { +fatal(const char *format, ...) +{ va_list args; fprintf(stderr, "%s: fatal: ", program); @@ -83,18 +87,21 @@ fatal(const char *format, ...) { } void -setfatalcallback(fatalcallback_t *callback) { +setfatalcallback(fatalcallback_t *callback) +{ fatalcallback = callback; } void -check_result(isc_result_t result, const char *message) { +check_result(isc_result_t result, const char *message) +{ if (result != ISC_R_SUCCESS) fatal("%s: %s", message, isc_result_totext(result)); } void -vbprintf(int level, const char *fmt, ...) { +vbprintf(int level, const char *fmt, ...) +{ va_list ap; if (level > verbose) return; @@ -105,13 +112,15 @@ vbprintf(int level, const char *fmt, ...) { } void -version(const char *name) { +version(const char *name) +{ fprintf(stderr, "%s %s\n", name, VERSION); exit(0); } void -sig_format(dns_rdata_rrsig_t *sig, char *cp, unsigned int size) { +sig_format(dns_rdata_rrsig_t *sig, char *cp, unsigned int size) +{ char namestr[DNS_NAME_FORMATSIZE]; char algstr[DNS_NAME_FORMATSIZE]; @@ -121,12 +130,13 @@ sig_format(dns_rdata_rrsig_t *sig, char *cp, unsigned int size) { } void -setup_logging(isc_mem_t *mctx, isc_log_t **logp) { - isc_result_t result; +setup_logging(isc_mem_t *mctx, isc_log_t **logp) +{ + isc_result_t result; isc_logdestination_t destination; - isc_logconfig_t *logconfig = NULL; - isc_log_t *log = NULL; - int level; + isc_logconfig_t * logconfig = NULL; + isc_log_t * log = NULL; + int level; if (verbose < 0) verbose = 0; @@ -163,21 +173,20 @@ setup_logging(isc_mem_t *mctx, isc_log_t **logp) { destination.file.name = NULL; destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.maximum_size = 0; - result = isc_log_createchannel(logconfig, "stderr", - ISC_LOG_TOFILEDESC, - level, - &destination, - ISC_LOG_PRINTTAG|ISC_LOG_PRINTLEVEL); + result = isc_log_createchannel(logconfig, "stderr", ISC_LOG_TOFILEDESC, + level, &destination, + ISC_LOG_PRINTTAG | ISC_LOG_PRINTLEVEL); check_result(result, "isc_log_createchannel()"); - RUNTIME_CHECK(isc_log_usechannel(logconfig, "stderr", - NULL, NULL) == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_log_usechannel(logconfig, "stderr", NULL, NULL) == + ISC_R_SUCCESS); *logp = log; } void -cleanup_logging(isc_log_t **logp) { +cleanup_logging(isc_log_t **logp) +{ isc_log_t *log; REQUIRE(logp != NULL); @@ -194,53 +203,66 @@ cleanup_logging(isc_log_t **logp) { } static isc_stdtime_t -time_units(isc_stdtime_t offset, char *suffix, const char *str) { +time_units(isc_stdtime_t offset, char *suffix, const char *str) +{ switch (suffix[0]) { - case 'Y': case 'y': + case 'Y': + case 'y': return (offset * (365 * 24 * 3600)); - case 'M': case 'm': + case 'M': + case 'm': switch (suffix[1]) { - case 'O': case 'o': + case 'O': + case 'o': return (offset * (30 * 24 * 3600)); - case 'I': case 'i': + case 'I': + case 'i': return (offset * 60); - case '\0': + case '\0': fatal("'%s' ambiguous: use 'mi' for minutes " - "or 'mo' for months", str); - default: + "or 'mo' for months", + str); + default: fatal("time value %s is invalid", str); } /* NOTREACHED */ break; - case 'W': case 'w': + case 'W': + case 'w': return (offset * (7 * 24 * 3600)); - case 'D': case 'd': + case 'D': + case 'd': return (offset * (24 * 3600)); - case 'H': case 'h': + case 'H': + case 'h': return (offset * 3600); - case 'S': case 's': case '\0': + case 'S': + case 's': + case '\0': return (offset); - default: + default: fatal("time value %s is invalid", str); } /* NOTREACHED */ - return(0); /* silence compiler warning */ + return (0); /* silence compiler warning */ } static inline bool -isnone(const char *str) { +isnone(const char *str) +{ return ((strcasecmp(str, "none") == 0) || (strcasecmp(str, "never") == 0)); } dns_ttl_t -strtottl(const char *str) { +strtottl(const char *str) +{ const char *orig = str; - dns_ttl_t ttl; - char *endp; + dns_ttl_t ttl; + char * endp; if (isnone(str)) - return ((dns_ttl_t) 0); + return ((dns_ttl_t)0); ttl = strtol(str, &endp, 0); if (ttl == 0 && endp == str) @@ -250,7 +272,8 @@ strtottl(const char *str) { } dst_key_state_t -strtokeystate(const char *str) { +strtokeystate(const char *str) +{ if (isnone(str)) { return (DST_KEY_STATE_NA); } @@ -258,33 +281,32 @@ strtokeystate(const char *str) { for (int i = 0; i < KEYSTATES_NVALUES; i++) { if (keystates[i] != NULL && strcasecmp(str, keystates[i]) == 0) { - return (dst_key_state_t) i; + return (dst_key_state_t)i; } } fatal("unknown key state"); } isc_stdtime_t -strtotime(const char *str, int64_t now, int64_t base, - bool *setp) +strtotime(const char *str, int64_t now, int64_t base, bool *setp) { - int64_t val, offset; + int64_t val, offset; isc_result_t result; - const char *orig = str; - char *endp; - size_t n; + const char * orig = str; + char * endp; + size_t n; if (isnone(str)) { if (setp != NULL) *setp = false; - return ((isc_stdtime_t) 0); + return ((isc_stdtime_t)0); } if (setp != NULL) *setp = true; if ((str[0] == '0' || str[0] == '-') && str[1] == '\0') - return ((isc_stdtime_t) 0); + return ((isc_stdtime_t)0); /* * We accept times in the following formats: @@ -295,8 +317,7 @@ strtotime(const char *str, int64_t now, int64_t base, */ n = strspn(str, "0123456789"); if ((n == 8u || n == 14u) && - (str[n] == '\0' || str[n] == '-' || str[n] == '+')) - { + (str[n] == '\0' || str[n] == '-' || str[n] == '+')) { char timestr[15]; strlcpy(timestr, str, sizeof(timestr)); @@ -315,26 +336,27 @@ strtotime(const char *str, int64_t now, int64_t base, } if (str[0] == '\0') - return ((isc_stdtime_t) base); + return ((isc_stdtime_t)base); else if (str[0] == '+') { offset = strtol(str + 1, &endp, 0); - offset = time_units((isc_stdtime_t) offset, endp, orig); + offset = time_units((isc_stdtime_t)offset, endp, orig); val = base + offset; } else if (str[0] == '-') { offset = strtol(str + 1, &endp, 0); - offset = time_units((isc_stdtime_t) offset, endp, orig); + offset = time_units((isc_stdtime_t)offset, endp, orig); val = base - offset; } else fatal("time value %s is invalid", orig); - return ((isc_stdtime_t) val); + return ((isc_stdtime_t)val); } dns_rdataclass_t -strtoclass(const char *str) { +strtoclass(const char *str) +{ isc_textregion_t r; dns_rdataclass_t rdclass; - isc_result_t result; + isc_result_t result; if (str == NULL) return dns_rdataclass_in; @@ -347,10 +369,11 @@ strtoclass(const char *str) { } unsigned int -strtodsdigest(const char *str) { +strtodsdigest(const char *str) +{ isc_textregion_t r; - dns_dsdigest_t alg; - isc_result_t result; + dns_dsdigest_t alg; + isc_result_t result; DE_CONST(str, r.base); r.length = strlen(str); @@ -361,25 +384,27 @@ strtodsdigest(const char *str) { } static int -cmp_dtype(const void *ap, const void *bp) { +cmp_dtype(const void *ap, const void *bp) +{ int a = *(const uint8_t *)ap; int b = *(const uint8_t *)bp; return (a - b); } void -add_dtype(unsigned int dt) { +add_dtype(unsigned int dt) +{ unsigned i, n; /* ensure there is space for a zero terminator */ - n = sizeof(dtype)/sizeof(dtype[0]) - 1; + n = sizeof(dtype) / sizeof(dtype[0]) - 1; for (i = 0; i < n; i++) { if (dtype[i] == dt) { return; } if (dtype[i] == 0) { dtype[i] = dt; - qsort(dtype, i+1, 1, cmp_dtype); + qsort(dtype, i + 1, 1, cmp_dtype); return; } } @@ -387,9 +412,10 @@ add_dtype(unsigned int dt) { } isc_result_t -try_dir(const char *dirname) { +try_dir(const char *dirname) +{ isc_result_t result; - isc_dir_t d; + isc_dir_t d; isc_dir_init(&d); result = isc_dir_open(&d, dirname); @@ -403,7 +429,8 @@ try_dir(const char *dirname) { * Check private key version compatibility. */ void -check_keyversion(dst_key_t *key, char *keystr) { +check_keyversion(dst_key_t *key, char *keystr) +{ int major, minor; dst_key_getprivateformat(key, &major, &minor); INSIST(major <= DST_MAJOR_VERSION); /* invalid private key */ @@ -419,7 +446,8 @@ check_keyversion(dst_key_t *key, char *keystr) { } void -set_keyversion(dst_key_t *key) { +set_keyversion(dst_key_t *key) +{ int major, minor; dst_key_getprivateformat(key, &major, &minor); INSIST(major <= DST_MAJOR_VERSION); @@ -443,16 +471,16 @@ bool key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir, isc_mem_t *mctx, bool *exact) { - isc_result_t result; - bool conflict = false; + isc_result_t result; + bool conflict = false; dns_dnsseckeylist_t matchkeys; - dns_dnsseckey_t *key = NULL; - uint16_t id, oldid; - uint32_t rid, roldid; - dns_secalg_t alg; - char filename[NAME_MAX]; - isc_buffer_t fileb; - isc_stdtime_t now; + dns_dnsseckey_t * key = NULL; + uint16_t id, oldid; + uint32_t rid, roldid; + dns_secalg_t alg; + char filename[NAME_MAX]; + isc_buffer_t fileb; + isc_stdtime_t now; if (exact != NULL) *exact = false; @@ -468,8 +496,8 @@ key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir, */ if (alg == DST_ALG_DH) { isc_buffer_init(&fileb, filename, sizeof(filename)); - result = dst_key_buildfilename(dstkey, DST_TYPE_PRIVATE, - dir, &fileb); + result = dst_key_buildfilename(dstkey, DST_TYPE_PRIVATE, dir, + &fileb); if (result != ISC_R_SUCCESS) return (true); return (isc_file_exists(filename)); @@ -493,7 +521,8 @@ key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir, conflict = true; if (id != oldid) { if (verbose > 1) - fprintf(stderr, "Key ID %d could " + fprintf(stderr, + "Key ID %d could " "collide with %d\n", id, oldid); } else { @@ -505,7 +534,7 @@ key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir, } } - next: + next: ISC_LIST_UNLINK(matchkeys, key, link); dns_dnsseckey_destroy(mctx, &key); } @@ -521,7 +550,8 @@ key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir, } bool -isoptarg(const char *arg, char **argv, void(*usage)(void)) { +isoptarg(const char *arg, char **argv, void (*usage)(void)) +{ if (!strcasecmp(isc_commandline_argument, arg)) { if (argv[isc_commandline_index] == NULL) { fprintf(stderr, "%s: missing argument -%c %s\n", @@ -539,14 +569,15 @@ isoptarg(const char *arg, char **argv, void(*usage)(void)) { #ifdef _WIN32 void -InitSockets(void) { - WORD wVersionRequested; +InitSockets(void) +{ + WORD wVersionRequested; WSADATA wsaData; - int err; + int err; wVersionRequested = MAKEWORD(2, 0); - err = WSAStartup( wVersionRequested, &wsaData ); + err = WSAStartup(wVersionRequested, &wsaData); if (err != 0) { fprintf(stderr, "WSAStartup() failed: %d\n", err); exit(1); @@ -554,7 +585,8 @@ InitSockets(void) { } void -DestroySockets(void) { +DestroySockets(void) +{ WSACleanup(); } #endif diff --git a/bin/dnssec/dnssectool.h b/bin/dnssec/dnssectool.h index 4ba56d10e0..bd60b12ba7 100644 --- a/bin/dnssec/dnssectool.h +++ b/bin/dnssec/dnssectool.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNSSECTOOL_H #define DNSSECTOOL_H 1 @@ -19,11 +18,14 @@ #include #include #include + #include + #include -/*! verbosity: set by -v and -q option in each program, defined in dnssectool.c */ -extern int verbose; +/*! verbosity: set by -v and -q option in each program, defined in dnssectool.c + */ +extern int verbose; extern bool quiet; /*! program name, statically initialized in each program */ @@ -38,11 +40,11 @@ extern const char *program; */ extern uint8_t dtype[8]; -typedef void (fatalcallback_t)(void); +typedef void(fatalcallback_t)(void); ISC_PLATFORM_NORETURN_PRE void fatal(const char *format, ...) -ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST; + ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST; void setfatalcallback(fatalcallback_t *callback); @@ -58,7 +60,8 @@ version(const char *program) ISC_PLATFORM_NORETURN_POST; void sig_format(dns_rdata_rrsig_t *sig, char *cp, unsigned int size); -#define SIG_FORMATSIZE (DNS_NAME_FORMATSIZE + DNS_SECALG_FORMATSIZE + sizeof("65535")) +#define SIG_FORMATSIZE \ + (DNS_NAME_FORMATSIZE + DNS_SECALG_FORMATSIZE + sizeof("65535")) void setup_logging(isc_mem_t *mctx, isc_log_t **logp); @@ -66,13 +69,14 @@ setup_logging(isc_mem_t *mctx, isc_log_t **logp); void cleanup_logging(isc_log_t **logp); -dns_ttl_t strtottl(const char *str); +dns_ttl_t +strtottl(const char *str); -dst_key_state_t strtokeystate(const char *str); +dst_key_state_t +strtokeystate(const char *str); isc_stdtime_t -strtotime(const char *str, int64_t now, int64_t base, - bool *setp); +strtotime(const char *str, int64_t now, int64_t base, bool *setp); dns_rdataclass_t strtoclass(const char *str); @@ -100,8 +104,10 @@ bool isoptarg(const char *arg, char **argv, void (*usage)(void)); #ifdef _WIN32 -void InitSockets(void); -void DestroySockets(void); +void +InitSockets(void); +void +DestroySockets(void); #endif #endif /* DNSSEC_DNSSECTOOL_H */ diff --git a/bin/named/bind9.xsl.h b/bin/named/bind9.xsl.h index c6e250dcc1..2769147be5 100644 --- a/bin/named/bind9.xsl.h +++ b/bin/named/bind9.xsl.h @@ -1,5 +1,5 @@ /* - * Generated by convertxsl.pl 1.14 2008/07/17 23:43:26 jinmei Exp + * Generated by convertxsl.pl 1.14 2008/07/17 23:43:26 jinmei Exp * From unknown */ static char xslmsg[] = @@ -7,26 +7,34 @@ static char xslmsg[] = "\n" "\n" - "\n" + "\n" " \n" " \n" " \n" " \n" - " \n" + " \n" " \n" " \n" @@ -361,7 +379,8 @@ static char xslmsg[] = " \n" " \n" "
\n" - " \n" + " \n" " \n" "

Incoming Requests by DNS Opcode

\n" " \n" @@ -370,7 +389,9 @@ static char xslmsg[] = " \n" "
\n" " \n" - " \n" + " \n" " \n" " \n" " \n" @@ -390,7 +411,8 @@ static char xslmsg[] = " \n" " \n" " \n" " \n" "
Total:\n" - " \n" + " \n" "
\n" @@ -405,7 +427,8 @@ static char xslmsg[] = " \n" "
\n" " \n" - " \n" + " \n" " \n" " \n" " \n" @@ -425,33 +448,45 @@ static char xslmsg[] = " \n" " \n" " \n" " \n" "
Total:\n" - " \n" + " \n" "
\n" "
\n" "
\n" - " \n" + " \n" "

Outgoing Queries per view

\n" - " \n" + " \n" "

View

\n" " \n" " \n" " \n" " \n" " \n" " \n" - "
[no data to display]
\n" + "
[no " + "data to display]
\n" "
\n" " \n" - " \n" + " \n" " \n" " \n" " \n" @@ -472,7 +507,8 @@ static char xslmsg[] = "
\n" "
\n" " \n" - " \n" + " \n" "

Server Statistics

\n" " \n" " \n" @@ -481,13 +517,19 @@ static char xslmsg[] = " 'title' : \"Server Counters\",\n" " 'target': 'chart_server_nsstat_restype',\n" " 'style': 'barchart',\n" - " 'data': [['Type','Counter'],['',],]\n" + " 'data': [['Type','Counter'],['',],]\n" " });\n" " \n" - "
[no data to display]
\n" + "
[no data to " + "display]
\n" "
\n" "
\n" - " \n" + " \n" " \n" " \n" " \n" @@ -507,7 +549,9 @@ static char xslmsg[] = "
\n" "
\n" "
\n" - " \n" + " \n" " \n" "

Zone Maintenance Statistics

\n" " \n" " \n" - "
[no data to display]
\n" + "
[no data to " + "display]
\n" "
\n" " \n" - " \n" + " \n" " \n" " \n" " \n" @@ -541,10 +590,12 @@ static char xslmsg[] = " \n" "
\n" "
\n" - " \n" + " \n" "

Resolver Statistics (Common)

\n" " \n" - " \n" + " \n" " \n" " \n" " \n" @@ -564,10 +615,13 @@ static char xslmsg[] = "
\n" "
\n" " \n" - " \n" - "

Resolver Statistics for View

\n" + " \n" + "

Resolver Statistics for View

\n" " \n" - " \n" + " \n" " \n" " \n" " \n" @@ -588,10 +642,12 @@ static char xslmsg[] = " \n" " \n" " \n" - " \n" + " \n" "

ADB Statistics for View

\n" "
\n" - " \n" + " \n" " \n" " \n" " \n" @@ -612,10 +668,12 @@ static char xslmsg[] = " \n" " \n" " \n" - " \n" + " \n" "

Cache Statistics for View

\n" "
\n" - " \n" + " \n" " \n" " \n" " \n" @@ -659,13 +717,25 @@ static char xslmsg[] = "
\n" " \n" "
\n" - " \n" + " \n" "

Traffic Size Statistics

\n" "
\n" - " \n" + " \n" "

UDP Requests Received

\n" "
\n" - " \n" + " \n" " \n" " \n" " even\n" @@ -685,10 +755,14 @@ static char xslmsg[] = "
\n" "
\n" "
\n" - " \n" + " \n" "

UDP Responses Sent

\n" " \n" - " \n" + " \n" " \n" " \n" " even\n" @@ -708,10 +782,14 @@ static char xslmsg[] = "
\n" "
\n" "
\n" - " \n" + " \n" "

TCP Requests Received

\n" " \n" - " \n" + " \n" " \n" " \n" " even\n" @@ -731,10 +809,14 @@ static char xslmsg[] = "
\n" "
\n" "
\n" - " \n" + " \n" "

TCP Responses Sent

\n" " \n" - " \n" + " \n" " \n" " \n" " even\n" @@ -754,10 +836,14 @@ static char xslmsg[] = "
\n" "
\n" "
\n" - " \n" + " \n" "

Socket I/O Statistics

\n" " \n" - " \n" + " \n" " \n" " \n" " even\n" @@ -780,7 +866,8 @@ static char xslmsg[] = " \n" "

Zones for View

\n" "
\n" - " \n" + " \n" " \n" " \n" " \n" @@ -799,31 +886,41 @@ static char xslmsg[] = "
NameClassTypeSerial
NameClassTypeSerial
\n" "
\n" "
\n" - " \n" + " \n" "

Received QTYPES per view/zone

\n" - " \n" + " \n" "

View

\n" " \n" " \n" " \n" " \n" - " \n" + " \n" "

Zone

\n" " \n" " \n" " \n" " \n" " \n" " \n" - "
[no data to display]
\n" + "
[no data " + "to display]
\n" "
\n" " \n" " \n" @@ -848,34 +945,47 @@ static char xslmsg[] = " \n" " \n" " \n" - " \n" + " \n" "

Response Codes per view/zone

\n" - " \n" + " \n" "

View

\n" " \n" " \n" " \n" " \n" - " \n" + " \n" "

Zone

\n" " \n" " \n" " \n" " \n" " \n" " \n" - "
[no data to display]
\n" + "
[no " + "data to display]
\n" "
\n" "
\n" - " \n" + " \n" " \n" " \n" " \n" @@ -897,18 +1007,24 @@ static char xslmsg[] = " \n" " \n" " \n" - " \n" + " \n" "

Glue cache statistics

\n" - " \n" + " \n" "

View

\n" " \n" " \n" " \n" " \n" - " \n" + " \n" "

Zone

\n" "
\n" - " \n" + " \n" " \n" " \n" " \n" @@ -1098,7 +1214,8 @@ static char xslmsg[] = " \n" " \n" " \n" - " \n" + " \n" " \n" " \n" " even\n" @@ -1147,7 +1264,8 @@ static char xslmsg[] = "
LoWater
\n" "
\n" "
\n" - "

Internet Systems Consortium Inc.
http://www.isc.org

\n" + "

Internet Systems Consortium Inc.
http://www.isc.org

\n" " \n" " \n" "
\n" diff --git a/bin/named/builtin.c b/bin/named/builtin.c index be0409f3f6..93ee8878ee 100644 --- a/bin/named/builtin.c +++ b/bin/named/builtin.c @@ -9,14 +9,13 @@ * information regarding copyright ownership. */ - /*! \file * \brief * The built-in "version", "hostname", "id", "authors" and "empty" databases. */ -#include #include +#include #include #include @@ -28,17 +27,23 @@ #include #include -#include #include +#include typedef struct builtin builtin_t; -static isc_result_t do_version_lookup(dns_sdblookup_t *lookup); -static isc_result_t do_hostname_lookup(dns_sdblookup_t *lookup); -static isc_result_t do_authors_lookup(dns_sdblookup_t *lookup); -static isc_result_t do_id_lookup(dns_sdblookup_t *lookup); -static isc_result_t do_empty_lookup(dns_sdblookup_t *lookup); -static isc_result_t do_dns64_lookup(dns_sdblookup_t *lookup); +static isc_result_t +do_version_lookup(dns_sdblookup_t *lookup); +static isc_result_t +do_hostname_lookup(dns_sdblookup_t *lookup); +static isc_result_t +do_authors_lookup(dns_sdblookup_t *lookup); +static isc_result_t +do_id_lookup(dns_sdblookup_t *lookup); +static isc_result_t +do_empty_lookup(dns_sdblookup_t *lookup); +static isc_result_t +do_dns64_lookup(dns_sdblookup_t *lookup); /* * We can't use function pointers as the db_data directly @@ -52,7 +57,7 @@ struct builtin { char *contact; }; -static builtin_t version_builtin = { do_version_lookup, NULL, NULL }; +static builtin_t version_builtin = { do_version_lookup, NULL, NULL }; static builtin_t hostname_builtin = { do_hostname_lookup, NULL, NULL }; static builtin_t authors_builtin = { do_authors_lookup, NULL, NULL }; static builtin_t id_builtin = { do_id_lookup, NULL, NULL }; @@ -66,28 +71,29 @@ static dns_sdbimplementation_t *dns64_impl; * Pre computed HEX * 16 or 1 table. */ static const unsigned char hex16[256] = { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*00*/ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*10*/ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*20*/ - 0, 16, 32, 48, 64, 80, 96,112,128,144, 1, 1, 1, 1, 1, 1, /*30*/ - 1,160,176,192,208,224,240, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*40*/ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*50*/ - 1,160,176,192,208,224,240, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*60*/ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*70*/ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*80*/ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*90*/ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*A0*/ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*B0*/ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*C0*/ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*D0*/ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*E0*/ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 /*F0*/ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*00*/ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*10*/ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*20*/ + 0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 1, 1, 1, 1, 1, 1, /*30*/ + 1, 160, 176, 192, 208, 224, 240, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*40*/ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*50*/ + 1, 160, 176, 192, 208, 224, 240, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*60*/ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*70*/ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*80*/ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*90*/ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*A0*/ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*B0*/ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*C0*/ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*D0*/ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*E0*/ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 /*F0*/ }; const unsigned char decimal[] = "0123456789"; static size_t -dns64_rdata(unsigned char *v, size_t start, unsigned char *rdata) { +dns64_rdata(unsigned char *v, size_t start, unsigned char *rdata) +{ size_t i, j = 0; for (i = 0; i < 4U; i++) { @@ -96,12 +102,15 @@ dns64_rdata(unsigned char *v, size_t start, unsigned char *rdata) { start++; if (c > 99) { rdata[j++] = 3; - rdata[j++] = decimal[c/100]; c = c % 100; - rdata[j++] = decimal[c/10]; c = c % 10; + rdata[j++] = decimal[c / 100]; + c = c % 100; + rdata[j++] = decimal[c / 10]; + c = c % 10; rdata[j++] = decimal[c]; } else if (c > 9) { rdata[j++] = 2; - rdata[j++] = decimal[c/10]; c = c % 10; + rdata[j++] = decimal[c / 10]; + c = c % 10; rdata[j++] = decimal[c]; } else { rdata[j++] = 1; @@ -116,10 +125,10 @@ static isc_result_t dns64_cname(const dns_name_t *zone, const dns_name_t *name, dns_sdblookup_t *lookup) { - size_t zlen, nlen, j, len; - unsigned char v[16], n; - unsigned int i; - unsigned char rdata[sizeof("123.123.123.123.in-addr.arpa.")]; + size_t zlen, nlen, j, len; + unsigned char v[16], n; + unsigned int i; + unsigned char rdata[sizeof("123.123.123.123.in-addr.arpa.")]; unsigned char *ndata; /* @@ -156,13 +165,13 @@ dns64_cname(const dns_name_t *zone, const dns_name_t *name, j = nlen; memset(v, 0, sizeof(v)); while (j != 0U) { - INSIST((i/2) < sizeof(v)); + INSIST((i / 2) < sizeof(v)); if (ndata[0] != 1) return (ISC_R_NOTFOUND); - n = hex16[ndata[1]&0xff]; + n = hex16[ndata[1] & 0xff]; if (n == 1) return (ISC_R_NOTFOUND); - v[i/2] = n | (v[i/2]>>4); + v[i / 2] = n | (v[i / 2] >> 4); j -= 2; ndata += 2; i++; @@ -174,14 +183,14 @@ dns64_cname(const dns_name_t *zone, const dns_name_t *name, * it corresponds to a empty node in the zone or there should be * a CNAME. */ -#define ZLEN(x) (10 + (x)/2) +#define ZLEN(x) (10 + (x) / 2) switch (zlen) { - case ZLEN(32): /* prefix len 32 */ + case ZLEN(32): /* prefix len 32 */ /* * The nibbles that map to this byte must be zero for 'name' * to exist in the zone. */ - if (nlen > 16U && v[(nlen-1)/4 - 4] != 0) + if (nlen > 16U && v[(nlen - 1) / 4 - 4] != 0) return (ISC_R_NOTFOUND); /* * If the total length is not 74 then this is a empty node @@ -191,12 +200,12 @@ dns64_cname(const dns_name_t *zone, const dns_name_t *name, return (ISC_R_SUCCESS); len = dns64_rdata(v, 8, rdata); break; - case ZLEN(40): /* prefix len 40 */ + case ZLEN(40): /* prefix len 40 */ /* * The nibbles that map to this byte must be zero for 'name' * to exist in the zone. */ - if (nlen > 12U && v[(nlen-1)/4 - 3] != 0) + if (nlen > 12U && v[(nlen - 1) / 4 - 3] != 0) return (ISC_R_NOTFOUND); /* * If the total length is not 74 then this is a empty node @@ -206,12 +215,12 @@ dns64_cname(const dns_name_t *zone, const dns_name_t *name, return (ISC_R_SUCCESS); len = dns64_rdata(v, 6, rdata); break; - case ZLEN(48): /* prefix len 48 */ + case ZLEN(48): /* prefix len 48 */ /* * The nibbles that map to this byte must be zero for 'name' * to exist in the zone. */ - if (nlen > 8U && v[(nlen-1)/4 - 2] != 0) + if (nlen > 8U && v[(nlen - 1) / 4 - 2] != 0) return (ISC_R_NOTFOUND); /* * If the total length is not 74 then this is a empty node @@ -221,12 +230,12 @@ dns64_cname(const dns_name_t *zone, const dns_name_t *name, return (ISC_R_SUCCESS); len = dns64_rdata(v, 5, rdata); break; - case ZLEN(56): /* prefix len 56 */ + case ZLEN(56): /* prefix len 56 */ /* * The nibbles that map to this byte must be zero for 'name' * to exist in the zone. */ - if (nlen > 4U && v[(nlen-1)/4 - 1] != 0) + if (nlen > 4U && v[(nlen - 1) / 4 - 1] != 0) return (ISC_R_NOTFOUND); /* * If the total length is not 74 then this is a empty node @@ -236,12 +245,12 @@ dns64_cname(const dns_name_t *zone, const dns_name_t *name, return (ISC_R_SUCCESS); len = dns64_rdata(v, 4, rdata); break; - case ZLEN(64): /* prefix len 64 */ + case ZLEN(64): /* prefix len 64 */ /* * The nibbles that map to this byte must be zero for 'name' * to exist in the zone. */ - if (v[(nlen-1)/4] != 0) + if (v[(nlen - 1) / 4] != 0) return (ISC_R_NOTFOUND); /* * If the total length is not 74 then this is a empty node @@ -251,7 +260,7 @@ dns64_cname(const dns_name_t *zone, const dns_name_t *name, return (ISC_R_SUCCESS); len = dns64_rdata(v, 3, rdata); break; - case ZLEN(96): /* prefix len 96 */ + case ZLEN(96): /* prefix len 96 */ /* * If the total length is not 74 then this is a empty node * so return success. @@ -267,8 +276,8 @@ dns64_cname(const dns_name_t *zone, const dns_name_t *name, */ return (ISC_R_NOTFOUND); } - return (dns_sdb_putrdata(lookup, dns_rdatatype_cname, 600, - rdata, (unsigned int)len)); + return (dns_sdb_putrdata(lookup, dns_rdatatype_cname, 600, rdata, + (unsigned int)len)); } static isc_result_t @@ -276,7 +285,7 @@ builtin_lookup(const char *zone, const char *name, void *dbdata, dns_sdblookup_t *lookup, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) { - builtin_t *b = (builtin_t *) dbdata; + builtin_t *b = (builtin_t *)dbdata; UNUSED(zone); UNUSED(methods); @@ -293,7 +302,7 @@ dns64_lookup(const dns_name_t *zone, const dns_name_t *name, void *dbdata, dns_sdblookup_t *lookup, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) { - builtin_t *b = (builtin_t *) dbdata; + builtin_t *b = (builtin_t *)dbdata; UNUSED(methods); UNUSED(clientinfo); @@ -305,9 +314,10 @@ dns64_lookup(const dns_name_t *zone, const dns_name_t *name, void *dbdata, } static isc_result_t -put_txt(dns_sdblookup_t *lookup, const char *text) { +put_txt(dns_sdblookup_t *lookup, const char *text) +{ unsigned char buf[256]; - unsigned int len = strlen(text); + unsigned int len = strlen(text); if (len > 255) len = 255; /* Silently truncate */ buf[0] = len; @@ -316,7 +326,8 @@ put_txt(dns_sdblookup_t *lookup, const char *text) { } static isc_result_t -do_version_lookup(dns_sdblookup_t *lookup) { +do_version_lookup(dns_sdblookup_t *lookup) +{ if (named_g_server->version_set) { if (named_g_server->version == NULL) return (ISC_R_SUCCESS); @@ -328,14 +339,15 @@ do_version_lookup(dns_sdblookup_t *lookup) { } static isc_result_t -do_hostname_lookup(dns_sdblookup_t *lookup) { +do_hostname_lookup(dns_sdblookup_t *lookup) +{ if (named_g_server->hostname_set) { if (named_g_server->hostname == NULL) return (ISC_R_SUCCESS); else return (put_txt(lookup, named_g_server->hostname)); } else { - char buf[256]; + char buf[256]; isc_result_t result = named_os_gethostname(buf, sizeof(buf)); if (result != ISC_R_SUCCESS) return (result); @@ -344,31 +356,18 @@ do_hostname_lookup(dns_sdblookup_t *lookup) { } static isc_result_t -do_authors_lookup(dns_sdblookup_t *lookup) { - isc_result_t result; - const char **p; +do_authors_lookup(dns_sdblookup_t *lookup) +{ + isc_result_t result; + const char ** p; static const char *authors[] = { - "Mark Andrews", - "Curtis Blackburn", - "James Brister", - "Ben Cottrell", - "John H. DuBois III", - "Francis Dupont", - "Michael Graff", - "Andreas Gustafsson", - "Bob Halley", - "Evan Hunt", - "JINMEI Tatuya", - "Witold Krecicki", - "David Lawrence", - "Scott Mann", - "Danny Mayer", - "Damien Neil", - "Matt Nelson", - "Jeremy C. Reed", - "Michael Sawyer", - "Brian Wellington", - NULL + "Mark Andrews", "Curtis Blackburn", "James Brister", + "Ben Cottrell", "John H. DuBois III", "Francis Dupont", + "Michael Graff", "Andreas Gustafsson", "Bob Halley", + "Evan Hunt", "JINMEI Tatuya", "Witold Krecicki", + "David Lawrence", "Scott Mann", "Danny Mayer", + "Damien Neil", "Matt Nelson", "Jeremy C. Reed", + "Michael Sawyer", "Brian Wellington", NULL }; /* @@ -386,9 +385,10 @@ do_authors_lookup(dns_sdblookup_t *lookup) { } static isc_result_t -do_id_lookup(dns_sdblookup_t *lookup) { +do_id_lookup(dns_sdblookup_t *lookup) +{ if (named_g_server->sctx->gethostname != NULL) { - char buf[256]; + char buf[256]; isc_result_t result; result = named_g_server->sctx->gethostname(buf, sizeof(buf)); @@ -402,24 +402,26 @@ do_id_lookup(dns_sdblookup_t *lookup) { } static isc_result_t -do_dns64_lookup(dns_sdblookup_t *lookup) { +do_dns64_lookup(dns_sdblookup_t *lookup) +{ UNUSED(lookup); return (ISC_R_SUCCESS); } static isc_result_t -do_empty_lookup(dns_sdblookup_t *lookup) { - +do_empty_lookup(dns_sdblookup_t *lookup) +{ UNUSED(lookup); return (ISC_R_SUCCESS); } static isc_result_t -builtin_authority(const char *zone, void *dbdata, dns_sdblookup_t *lookup) { +builtin_authority(const char *zone, void *dbdata, dns_sdblookup_t *lookup) +{ isc_result_t result; - const char *contact = "hostmaster"; - const char *server = "@"; - builtin_t *b = (builtin_t *) dbdata; + const char * contact = "hostmaster"; + const char * server = "@"; + builtin_t * b = (builtin_t *)dbdata; UNUSED(zone); UNUSED(dbdata); @@ -446,8 +448,8 @@ builtin_authority(const char *zone, void *dbdata, dns_sdblookup_t *lookup) { } static isc_result_t -builtin_create(const char *zone, int argc, char **argv, - void *driverdata, void **dbdata) +builtin_create(const char *zone, int argc, char **argv, void *driverdata, + void **dbdata) { REQUIRE(argc >= 1); @@ -471,8 +473,8 @@ builtin_create(const char *zone, int argc, char **argv, else if (strcmp(argv[0], "empty") == 0 || strcmp(argv[0], "dns64") == 0) { builtin_t *empty; - char *server; - char *contact; + char * server; + char * contact; /* * We don't want built-in zones to fail. Fallback to * the static configuration if memory allocation fails. @@ -491,14 +493,14 @@ builtin_create(const char *zone, int argc, char **argv, isc_mem_free(named_g_mctx, contact); if (empty != NULL) isc_mem_put(named_g_mctx, empty, - sizeof (*empty)); + sizeof(*empty)); } else { if (strcmp(argv[0], "empty") == 0) memmove(empty, &empty_builtin, - sizeof (empty_builtin)); + sizeof(empty_builtin)); else memmove(empty, &dns64_builtin, - sizeof (empty_builtin)); + sizeof(empty_builtin)); empty->server = server; empty->contact = contact; *dbdata = empty; @@ -509,8 +511,9 @@ builtin_create(const char *zone, int argc, char **argv, } static void -builtin_destroy(const char *zone, void *driverdata, void **dbdata) { - builtin_t *b = (builtin_t *) *dbdata; +builtin_destroy(const char *zone, void *driverdata, void **dbdata) +{ + builtin_t *b = (builtin_t *)*dbdata; UNUSED(zone); UNUSED(driverdata); @@ -525,45 +528,39 @@ builtin_destroy(const char *zone, void *driverdata, void **dbdata) { isc_mem_free(named_g_mctx, b->server); isc_mem_free(named_g_mctx, b->contact); - isc_mem_put(named_g_mctx, b, sizeof (*b)); + isc_mem_put(named_g_mctx, b, sizeof(*b)); } static dns_sdbmethods_t builtin_methods = { - builtin_lookup, - builtin_authority, - NULL, /* allnodes */ - builtin_create, - builtin_destroy, - NULL + builtin_lookup, builtin_authority, NULL, /* allnodes */ + builtin_create, builtin_destroy, NULL }; static dns_sdbmethods_t dns64_methods = { - NULL, - builtin_authority, - NULL, /* allnodes */ - builtin_create, - builtin_destroy, - dns64_lookup, + NULL, builtin_authority, NULL, /* allnodes */ + builtin_create, builtin_destroy, dns64_lookup, }; isc_result_t -named_builtin_init(void) { +named_builtin_init(void) +{ RUNTIME_CHECK(dns_sdb_register("_builtin", &builtin_methods, NULL, DNS_SDBFLAG_RELATIVEOWNER | - DNS_SDBFLAG_RELATIVERDATA, - named_g_mctx, &builtin_impl) - == ISC_R_SUCCESS); + DNS_SDBFLAG_RELATIVERDATA, + named_g_mctx, + &builtin_impl) == ISC_R_SUCCESS); RUNTIME_CHECK(dns_sdb_register("_dns64", &dns64_methods, NULL, DNS_SDBFLAG_RELATIVEOWNER | - DNS_SDBFLAG_RELATIVERDATA | - DNS_SDBFLAG_DNS64, - named_g_mctx, &dns64_impl) - == ISC_R_SUCCESS); + DNS_SDBFLAG_RELATIVERDATA | + DNS_SDBFLAG_DNS64, + named_g_mctx, + &dns64_impl) == ISC_R_SUCCESS); return (ISC_R_SUCCESS); } void -named_builtin_deinit(void) { +named_builtin_deinit(void) +{ dns_sdb_unregister(&builtin_impl); dns_sdb_unregister(&dns64_impl); } diff --git a/bin/named/config.c b/bin/named/config.c index e124a78970..c18b0cddf0 100644 --- a/bin/named/config.c +++ b/bin/named/config.c @@ -11,6 +11,7 @@ /*! \file */ +#include #include #include @@ -24,11 +25,6 @@ #include #include -#include - -#include -#include - #include #include #include @@ -36,12 +32,13 @@ #include #include -#include +#include +#include +#include #include #include - -#include +#include /*% default configuration */ static char defaultconf[] = "\ @@ -50,12 +47,12 @@ options {\n\ automatic-interface-scan yes;\n\ bindkeys-file \"" NAMED_SYSCONFDIR "/bind.keys\";\n\ # blackhole {none;};\n" -" cookie-algorithm siphash24;\n" + " cookie-algorithm siphash24;\n" #ifndef WIN32 -" coresize default;\n\ + " coresize default;\n\ datasize default;\n" #endif -"\ + "\ # deallocate-on-exit ;\n\ # directory \n\ dnssec-policy \"none\";\n\ @@ -63,14 +60,16 @@ options {\n\ edns-udp-size 4096;\n\ # fake-iquery ;\n" #ifndef WIN32 -" files unlimited;\n" + " files unlimited;\n" #endif #if defined(HAVE_GEOIP2) && !defined(WIN32) -" geoip-directory \"" MAXMINDDB_PREFIX "/share/GeoIP\";\n" + " geoip-directory \"" MAXMINDDB_PREFIX "/share/" + "GeoIP\";" + "\n" #elif defined(HAVE_GEOIP2) -" geoip-directory \".\";\n" + " geoip-directory \".\";\n" #endif -"\ + "\ # has-old-clients ;\n\ heartbeat-interval 60;\n\ # host-statistics ;\n\ @@ -107,9 +106,9 @@ options {\n\ # session-keyfile \"" NAMED_LOCALSTATEDIR "/run/named/session.key\";\n\ session-keyname local-ddns;\n" #ifndef WIN32 -" stacksize default;\n" + " stacksize default;\n" #endif -" startup-notify-rate 20;\n\ + " startup-notify-rate 20;\n\ statistics-file \"named.stats\";\n\ # statistics-interval ;\n\ tcp-advertised-timeout 300;\n\ @@ -150,9 +149,9 @@ options {\n\ dnssec-accept-expired no;\n\ dnssec-validation " VALIDATION_DEFAULT "; \n" #ifdef HAVE_DNSTAP -" dnstap-identity hostname;\n" + " dnstap-identity hostname;\n" #endif -"\ + "\ # fetch-glue ;\n\ fetch-quota-params 100 0.1 0.3 0.7;\n\ fetches-per-server 0;\n\ @@ -160,9 +159,9 @@ options {\n\ glue-cache yes;\n\ lame-ttl 600;\n" #ifdef HAVE_LMDB -" lmdb-mapsize 32M;\n" + " lmdb-mapsize 32M;\n" #endif -" max-cache-size 90%;\n\ + " max-cache-size 90%;\n\ max-cache-ttl 604800; /* 1 week */\n\ max-clients-per-query 100;\n\ max-ncache-ttl 10800; /* 3 hours */\n\ @@ -252,7 +251,7 @@ options {\n\ };\n\ " -"#\n\ + "#\n\ # Zones in the \"_bind\" view are NOT counted in the count of zones.\n\ #\n\ view \"_bind\" chaos {\n\ @@ -288,17 +287,17 @@ view \"_bind\" chaos {\n\ };\n\ };\n\ " -"#\n\ + "#\n\ # Default trusted key(s), used if \n\ # \"dnssec-validation auto;\" is set and\n\ # sysconfdir/bind.keys doesn't exist).\n\ #\n\ # BEGIN DNSSEC KEYS\n" -/* Imported from bind.keys.h: */ -TRUST_ANCHORS + /* Imported from bind.keys.h: */ + TRUST_ANCHORS -"# END MANAGED KEYS\n\ + "# END MANAGED KEYS\n\ \n\ masters " DEFAULT_IANA_ROOT_ZONE_MASTERS " {\n\ 2001:500:84::b; # b.root-servers.net\n\ @@ -317,18 +316,18 @@ masters " DEFAULT_IANA_ROOT_ZONE_MASTERS " {\n\ "; isc_result_t -named_config_parsedefaults(cfg_parser_t *parser, cfg_obj_t **conf) { +named_config_parsedefaults(cfg_parser_t *parser, cfg_obj_t **conf) +{ isc_buffer_t b; isc_buffer_init(&b, defaultconf, sizeof(defaultconf) - 1); isc_buffer_add(&b, sizeof(defaultconf) - 1); - return (cfg_parse_buffer(parser, &b, __FILE__, 0, - &cfg_type_namedconf, + return (cfg_parse_buffer(parser, &b, __FILE__, 0, &cfg_type_namedconf, CFG_PCTX_NODEPRECATED, conf)); } isc_result_t -named_config_get(cfg_obj_t const * const *maps, const char *name, +named_config_get(cfg_obj_t const *const *maps, const char *name, const cfg_obj_t **obj) { int i; @@ -346,17 +345,17 @@ named_checknames_get(const cfg_obj_t **maps, const char *which, const cfg_obj_t **obj) { const cfg_listelt_t *element; - const cfg_obj_t *checknames; - const cfg_obj_t *type; - const cfg_obj_t *value; - int i; + const cfg_obj_t * checknames; + const cfg_obj_t * type; + const cfg_obj_t * value; + int i; for (i = 0;; i++) { if (maps[i] == NULL) return (ISC_R_NOTFOUND); checknames = NULL; - if (cfg_map_get(maps[i], "check-names", - &checknames) == ISC_R_SUCCESS) { + if (cfg_map_get(maps[i], "check-names", &checknames) == + ISC_R_SUCCESS) { /* * Zone map entry is not a list. */ @@ -369,21 +368,21 @@ named_checknames_get(const cfg_obj_t **maps, const char *which, element = cfg_list_next(element)) { value = cfg_listelt_value(element); type = cfg_tuple_get(value, "type"); - if (strcasecmp(cfg_obj_asstring(type), - which) == 0) { + if (strcasecmp(cfg_obj_asstring(type), which) == + 0) { *obj = cfg_tuple_get(value, "mode"); return (ISC_R_SUCCESS); } } - } } } int -named_config_listcount(const cfg_obj_t *list) { +named_config_listcount(const cfg_obj_t *list) +{ const cfg_listelt_t *e; - int i = 0; + int i = 0; for (e = cfg_list_first(list); e != NULL; e = cfg_list_next(e)) i++; @@ -396,7 +395,7 @@ named_config_getclass(const cfg_obj_t *classobj, dns_rdataclass_t defclass, dns_rdataclass_t *classp) { isc_textregion_t r; - isc_result_t result; + isc_result_t result; if (!cfg_obj_isstring(classobj)) { *classp = defclass; @@ -416,7 +415,7 @@ named_config_gettype(const cfg_obj_t *typeobj, dns_rdatatype_t deftype, dns_rdatatype_t *typep) { isc_textregion_t r; - isc_result_t result; + isc_result_t result; if (!cfg_obj_isstring(typeobj)) { *typep = deftype; @@ -432,18 +431,16 @@ named_config_gettype(const cfg_obj_t *typeobj, dns_rdatatype_t deftype, } dns_zonetype_t -named_config_getzonetype(const cfg_obj_t *zonetypeobj) { +named_config_getzonetype(const cfg_obj_t *zonetypeobj) +{ dns_zonetype_t ztype = dns_zone_none; - const char *str; + const char * str; str = cfg_obj_asstring(zonetypeobj); - if (strcasecmp(str, "primary") == 0 || - strcasecmp(str, "master") == 0) - { + if (strcasecmp(str, "primary") == 0 || strcasecmp(str, "master") == 0) { ztype = dns_zone_master; } else if (strcasecmp(str, "secondary") == 0 || - strcasecmp(str, "slave") == 0) - { + strcasecmp(str, "slave") == 0) { ztype = dns_zone_slave; } else if (strcasecmp(str, "mirror") == 0) { ztype = dns_zone_mirror; @@ -462,18 +459,18 @@ named_config_getzonetype(const cfg_obj_t *zonetypeobj) { isc_result_t named_config_getiplist(const cfg_obj_t *config, const cfg_obj_t *list, - in_port_t defport, isc_mem_t *mctx, - isc_sockaddr_t **addrsp, isc_dscp_t **dscpsp, - uint32_t *countp) + in_port_t defport, isc_mem_t *mctx, + isc_sockaddr_t **addrsp, isc_dscp_t **dscpsp, + uint32_t *countp) { - int count, i = 0; - const cfg_obj_t *addrlist; - const cfg_obj_t *portobj, *dscpobj; + int count, i = 0; + const cfg_obj_t * addrlist; + const cfg_obj_t * portobj, *dscpobj; const cfg_listelt_t *element; - isc_sockaddr_t *addrs; - in_port_t port; - isc_dscp_t dscp = -1, *dscps = NULL; - isc_result_t result; + isc_sockaddr_t * addrs; + in_port_t port; + isc_dscp_t dscp = -1, *dscps = NULL; + isc_result_t result; INSIST(addrsp != NULL && *addrsp == NULL); INSIST(dscpsp == NULL || *dscpsp == NULL); @@ -490,7 +487,7 @@ named_config_getiplist(const cfg_obj_t *config, const cfg_obj_t *list, "port '%u' out of range", val); return (ISC_R_RANGE); } - port = (in_port_t) val; + port = (in_port_t)val; } else if (defport != 0) port = defport; else { @@ -517,10 +514,8 @@ named_config_getiplist(const cfg_obj_t *config, const cfg_obj_t *list, addrs = isc_mem_get(mctx, count * sizeof(isc_sockaddr_t)); - for (element = cfg_list_first(addrlist); - element != NULL; - element = cfg_list_next(element), i++) - { + for (element = cfg_list_first(addrlist); element != NULL; + element = cfg_list_next(element), i++) { const cfg_obj_t *addr; INSIST(i < count); addr = cfg_listelt_value(element); @@ -566,18 +561,17 @@ isc_result_t named_config_getmastersdef(const cfg_obj_t *cctx, const char *name, const cfg_obj_t **ret) { - isc_result_t result; - const cfg_obj_t *masters = NULL; + isc_result_t result; + const cfg_obj_t * masters = NULL; const cfg_listelt_t *elt; result = cfg_map_get(cctx, "masters", &masters); if (result != ISC_R_SUCCESS) return (result); - for (elt = cfg_list_first(masters); - elt != NULL; + for (elt = cfg_list_first(masters); elt != NULL; elt = cfg_list_next(elt)) { const cfg_obj_t *list; - const char *listname; + const char * listname; list = cfg_listelt_value(elt); listname = cfg_obj_asstring(cfg_tuple_get(list, "name")); @@ -592,27 +586,29 @@ named_config_getmastersdef(const cfg_obj_t *cctx, const char *name, isc_result_t named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, - isc_mem_t *mctx, dns_ipkeylist_t *ipkl) + isc_mem_t *mctx, dns_ipkeylist_t *ipkl) { - uint32_t addrcount = 0, dscpcount = 0, keycount = 0, i = 0; - uint32_t listcount = 0, l = 0, j; - uint32_t stackcount = 0, pushed = 0; - isc_result_t result; + uint32_t addrcount = 0, dscpcount = 0, keycount = 0, i = 0; + uint32_t listcount = 0, l = 0, j; + uint32_t stackcount = 0, pushed = 0; + isc_result_t result; const cfg_listelt_t *element; - const cfg_obj_t *addrlist; - const cfg_obj_t *portobj; - const cfg_obj_t *dscpobj; - in_port_t port; - isc_dscp_t dscp = -1; - dns_fixedname_t fname; - isc_sockaddr_t *addrs = NULL; - isc_dscp_t *dscps = NULL; - dns_name_t **keys = NULL; - struct { const char *name; } *lists = NULL; + const cfg_obj_t * addrlist; + const cfg_obj_t * portobj; + const cfg_obj_t * dscpobj; + in_port_t port; + isc_dscp_t dscp = -1; + dns_fixedname_t fname; + isc_sockaddr_t * addrs = NULL; + isc_dscp_t * dscps = NULL; + dns_name_t ** keys = NULL; + struct { + const char *name; + } *lists = NULL; struct { const cfg_listelt_t *element; - in_port_t port; - isc_dscp_t dscp; + in_port_t port; + isc_dscp_t dscp; } *stack = NULL; REQUIRE(ipkl != NULL); @@ -634,7 +630,7 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, if (result != ISC_R_SUCCESS) goto cleanup; - newlist: +newlist: addrlist = cfg_tuple_get(list, "addresses"); portobj = cfg_tuple_get(list, "port"); dscpobj = cfg_tuple_get(list, "dscp"); @@ -647,7 +643,7 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, result = ISC_R_RANGE; goto cleanup; } - port = (in_port_t) val; + port = (in_port_t)val; } if (dscpobj != NULL && cfg_obj_isuint32(dscpobj)) { @@ -664,29 +660,26 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, result = ISC_R_NOMEMORY; element = cfg_list_first(addrlist); - resume: - for ( ; - element != NULL; - element = cfg_list_next(element)) - { +resume: + for (; element != NULL; element = cfg_list_next(element)) { const cfg_obj_t *addr; const cfg_obj_t *key; - const char *keystr; - isc_buffer_t b; + const char * keystr; + isc_buffer_t b; - addr = cfg_tuple_get(cfg_listelt_value(element), - "masterselement"); + addr = cfg_tuple_get(cfg_listelt_value(element), "masterselemen" + "t"); key = cfg_tuple_get(cfg_listelt_value(element), "key"); if (!cfg_obj_issockaddr(addr)) { - const char *listname = cfg_obj_asstring(addr); + const char * listname = cfg_obj_asstring(addr); isc_result_t tresult; /* Grow lists? */ if (listcount == l) { - void * tmp; + void * tmp; uint32_t newlen = listcount + 16; - size_t newsize, oldsize; + size_t newsize, oldsize; newsize = newlen * sizeof(*lists); oldsize = listcount * sizeof(*lists); @@ -708,7 +701,8 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, &list); if (tresult == ISC_R_NOTFOUND) { cfg_obj_log(addr, named_g_lctx, ISC_LOG_ERROR, - "masters \"%s\" not found", listname); + "masters \"%s\" not found", + listname); result = tresult; goto cleanup; @@ -718,9 +712,9 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, lists[l++].name = listname; /* Grow stack? */ if (stackcount == pushed) { - void * tmp; + void * tmp; uint32_t newlen = stackcount + 16; - size_t newsize, oldsize; + size_t newsize, oldsize; newsize = newlen * sizeof(*stack); oldsize = stackcount * sizeof(*stack); @@ -744,9 +738,9 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, } if (i == addrcount) { - void * tmp; + void * tmp; uint32_t newlen = addrcount + 16; - size_t newsize, oldsize; + size_t newsize, oldsize; newsize = newlen * sizeof(isc_sockaddr_t); oldsize = addrcount * sizeof(isc_sockaddr_t); @@ -786,7 +780,7 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, if (dscps[i] == -1) dscps[i] = dscp; keys[i] = NULL; - i++; /* Increment here so that cleanup on error works. */ + i++; /* Increment here so that cleanup on error works. */ if (!cfg_obj_isstring(key)) continue; keys[i - 1] = isc_mem_get(mctx, sizeof(dns_name_t)); @@ -839,7 +833,7 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, oldsize = keycount * sizeof(dns_name_t *); if (i != 0) { tmp = isc_mem_get(mctx, newsize); - memmove(tmp, keys, newsize); + memmove(tmp, keys, newsize); } else tmp = NULL; isc_mem_put(mctx, keys, oldsize); @@ -864,7 +858,7 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, return (ISC_R_SUCCESS); - cleanup: +cleanup: if (addrs != NULL) isc_mem_put(mctx, addrs, addrcount * sizeof(isc_sockaddr_t)); if (dscps != NULL) @@ -887,12 +881,13 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, } isc_result_t -named_config_getport(const cfg_obj_t *config, in_port_t *portp) { +named_config_getport(const cfg_obj_t *config, in_port_t *portp) +{ const cfg_obj_t *maps[3]; const cfg_obj_t *options = NULL; const cfg_obj_t *portobj = NULL; - isc_result_t result; - int i; + isc_result_t result; + int i; (void)cfg_map_get(config, "options", &options); i = 0; @@ -914,10 +909,11 @@ named_config_getport(const cfg_obj_t *config, in_port_t *portp) { } isc_result_t -named_config_getdscp(const cfg_obj_t *config, isc_dscp_t *dscpp) { +named_config_getdscp(const cfg_obj_t *config, isc_dscp_t *dscpp) +{ const cfg_obj_t *options = NULL; const cfg_obj_t *dscpobj = NULL; - isc_result_t result; + isc_result_t result; (void)cfg_map_get(config, "options", &options); if (options == NULL) @@ -940,21 +936,24 @@ named_config_getdscp(const cfg_obj_t *config, isc_dscp_t *dscpp) { struct keyalgorithms { const char *str; - enum { hmacnone, hmacmd5, hmacsha1, hmacsha224, - hmacsha256, hmacsha384, hmacsha512 } hmac; + enum { hmacnone, + hmacmd5, + hmacsha1, + hmacsha224, + hmacsha256, + hmacsha384, + hmacsha512 } hmac; unsigned int type; - uint16_t size; -} algorithms[] = { - { "hmac-md5", hmacmd5, DST_ALG_HMACMD5, 128 }, - { "hmac-md5.sig-alg.reg.int", hmacmd5, DST_ALG_HMACMD5, 0 }, - { "hmac-md5.sig-alg.reg.int.", hmacmd5, DST_ALG_HMACMD5, 0 }, - { "hmac-sha1", hmacsha1, DST_ALG_HMACSHA1, 160 }, - { "hmac-sha224", hmacsha224, DST_ALG_HMACSHA224, 224 }, - { "hmac-sha256", hmacsha256, DST_ALG_HMACSHA256, 256 }, - { "hmac-sha384", hmacsha384, DST_ALG_HMACSHA384, 384 }, - { "hmac-sha512", hmacsha512, DST_ALG_HMACSHA512, 512 }, - { NULL, hmacnone, DST_ALG_UNKNOWN, 0 } -}; + uint16_t size; +} algorithms[] = { { "hmac-md5", hmacmd5, DST_ALG_HMACMD5, 128 }, + { "hmac-md5.sig-alg.reg.int", hmacmd5, DST_ALG_HMACMD5, 0 }, + { "hmac-md5.sig-alg.reg.int.", hmacmd5, DST_ALG_HMACMD5, 0 }, + { "hmac-sha1", hmacsha1, DST_ALG_HMACSHA1, 160 }, + { "hmac-sha224", hmacsha224, DST_ALG_HMACSHA224, 224 }, + { "hmac-sha256", hmacsha256, DST_ALG_HMACSHA256, 256 }, + { "hmac-sha384", hmacsha384, DST_ALG_HMACSHA384, 384 }, + { "hmac-sha512", hmacsha512, DST_ALG_HMACSHA512, 512 }, + { NULL, hmacnone, DST_ALG_UNKNOWN, 0 } }; isc_result_t named_config_getkeyalgorithm(const char *str, const dns_name_t **name, @@ -967,9 +966,9 @@ isc_result_t named_config_getkeyalgorithm2(const char *str, const dns_name_t **name, unsigned int *typep, uint16_t *digestbits) { - int i; - size_t len = 0; - uint16_t bits; + int i; + size_t len = 0; + uint16_t bits; isc_result_t result; for (i = 0; algorithms[i].str != NULL; i++) { @@ -994,12 +993,24 @@ named_config_getkeyalgorithm2(const char *str, const dns_name_t **name, if (name != NULL) { switch (algorithms[i].hmac) { - case hmacmd5: *name = dns_tsig_hmacmd5_name; break; - case hmacsha1: *name = dns_tsig_hmacsha1_name; break; - case hmacsha224: *name = dns_tsig_hmacsha224_name; break; - case hmacsha256: *name = dns_tsig_hmacsha256_name; break; - case hmacsha384: *name = dns_tsig_hmacsha384_name; break; - case hmacsha512: *name = dns_tsig_hmacsha512_name; break; + case hmacmd5: + *name = dns_tsig_hmacmd5_name; + break; + case hmacsha1: + *name = dns_tsig_hmacsha1_name; + break; + case hmacsha224: + *name = dns_tsig_hmacsha224_name; + break; + case hmacsha256: + *name = dns_tsig_hmacsha256_name; + break; + case hmacsha384: + *name = dns_tsig_hmacsha384_name; + break; + case hmacsha512: + *name = dns_tsig_hmacsha512_name; + break; default: INSIST(0); ISC_UNREACHABLE(); diff --git a/bin/named/control.c b/bin/named/control.c index e8638f54e4..9af553eacb 100644 --- a/bin/named/control.c +++ b/bin/named/control.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -27,7 +26,6 @@ #include #include #include - #include #include #include @@ -38,9 +36,10 @@ #endif static isc_result_t -getcommand(isc_lex_t *lex, char **cmdp) { +getcommand(isc_lex_t *lex, char **cmdp) +{ isc_result_t result; - isc_token_t token; + isc_token_t token; REQUIRE(cmdp != NULL && *cmdp == NULL); @@ -59,7 +58,8 @@ getcommand(isc_lex_t *lex, char **cmdp) { } static inline bool -command_compare(const char *str, const char *command) { +command_compare(const char *str, const char *command) +{ return (strcasecmp(str, command) == 0); } @@ -72,12 +72,12 @@ named_control_docommand(isccc_sexpr_t *message, bool readonly, isc_buffer_t **text) { isccc_sexpr_t *data; - char *cmdline = NULL; - char *command = NULL; - isc_result_t result; - int log_level; - isc_buffer_t src; - isc_lex_t *lex = NULL; + char * cmdline = NULL; + char * command = NULL; + isc_result_t result; + int log_level; + isc_buffer_t src; + isc_lex_t * lex = NULL; #ifdef HAVE_LIBSCF named_smf_want_disable = 0; #endif @@ -117,8 +117,7 @@ named_control_docommand(isccc_sexpr_t *message, bool readonly, */ if ((command_compare(command, NAMED_COMMAND_NULL) && strlen(cmdline) == 4) || - command_compare(command, NAMED_COMMAND_STATUS)) - { + command_compare(command, NAMED_COMMAND_STATUS)) { log_level = ISC_LOG_DEBUG(1); } else { log_level = ISC_LOG_INFO; @@ -129,26 +128,24 @@ named_control_docommand(isccc_sexpr_t *message, bool readonly, * restricted commands here. rndc nta is handled specially * below. */ - if (readonly && - !command_compare(command, NAMED_COMMAND_NTA) && + if (readonly && !command_compare(command, NAMED_COMMAND_NTA) && !command_compare(command, NAMED_COMMAND_NULL) && !command_compare(command, NAMED_COMMAND_STATUS) && !command_compare(command, NAMED_COMMAND_SHOWZONE) && !command_compare(command, NAMED_COMMAND_TESTGEN) && - !command_compare(command, NAMED_COMMAND_ZONESTATUS)) - { + !command_compare(command, NAMED_COMMAND_ZONESTATUS)) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_CONTROL, log_level, "rejecting restricted control channel " - "command '%s'", cmdline); + "command '%s'", + cmdline); result = ISC_R_FAILURE; goto cleanup; } isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_CONTROL, log_level, - "received control channel command '%s'", - cmdline); + "received control channel command '%s'", cmdline); /* * After the lengthy "halt" and "stop", the commands are @@ -171,11 +168,11 @@ named_control_docommand(isccc_sexpr_t *message, bool readonly, */ if (named_smf_got_instance == 1 && named_smf_chroot == 0) named_smf_want_disable = 1; - /* - * If named_smf_got_instance = 0, named_smf_chroot - * is not relevant and we fall through to - * isc_app_shutdown below. - */ + /* + * If named_smf_got_instance = 0, named_smf_chroot + * is not relevant and we fall through to + * isc_app_shutdown below. + */ #endif /* Do not flush master files */ named_server_flushonshutdown(named_g_server, false); @@ -246,8 +243,8 @@ named_control_docommand(isccc_sexpr_t *message, bool readonly, } else if (command_compare(command, NAMED_COMMAND_RELOAD)) { result = named_server_reloadcommand(named_g_server, lex, text); } else if (command_compare(command, NAMED_COMMAND_RETRANSFER)) { - result = named_server_retransfercommand(named_g_server, - lex, text); + result = named_server_retransfercommand(named_g_server, lex, + text); } else if (command_compare(command, NAMED_COMMAND_SCAN)) { named_server_scan_interfaces(named_g_server); result = ISC_R_SUCCESS; @@ -286,12 +283,11 @@ named_control_docommand(isccc_sexpr_t *message, bool readonly, } else { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_CONTROL, ISC_LOG_WARNING, - "unknown control channel command '%s'", - command); + "unknown control channel command '%s'", command); result = DNS_R_UNKNOWNCOMMAND; } - cleanup: +cleanup: if (lex != NULL) isc_lex_destroy(&lex); diff --git a/bin/named/controlconf.c b/bin/named/controlconf.c index 41fd61a4ee..08b9367726 100644 --- a/bin/named/controlconf.c +++ b/bin/named/controlconf.c @@ -29,10 +29,11 @@ #include #include +#include + #include #include - #include #include #include @@ -41,9 +42,6 @@ #include #include #include - -#include - #include #include #include @@ -65,57 +63,60 @@ typedef struct controllistener controllistener_t; typedef ISC_LIST(controllistener_t) controllistenerlist_t; struct controlkey { - char * keyname; - uint32_t algorithm; - isc_region_t secret; - ISC_LINK(controlkey_t) link; + char * keyname; + uint32_t algorithm; + isc_region_t secret; + ISC_LINK(controlkey_t) link; }; struct controlconnection { - isc_socket_t * sock; - isccc_ccmsg_t ccmsg; - bool ccmsg_valid; - bool sending; - isc_timer_t * timer; - isc_buffer_t * buffer; - controllistener_t * listener; - uint32_t nonce; - ISC_LINK(controlconnection_t) link; + isc_socket_t * sock; + isccc_ccmsg_t ccmsg; + bool ccmsg_valid; + bool sending; + isc_timer_t * timer; + isc_buffer_t * buffer; + controllistener_t *listener; + uint32_t nonce; + ISC_LINK(controlconnection_t) link; }; struct controllistener { - named_controls_t * controls; - isc_mem_t * mctx; - isc_task_t * task; - isc_sockaddr_t address; - isc_socket_t * sock; - dns_acl_t * acl; + named_controls_t * controls; + isc_mem_t * mctx; + isc_task_t * task; + isc_sockaddr_t address; + isc_socket_t * sock; + dns_acl_t * acl; bool listening; bool exiting; - controlkeylist_t keys; - controlconnectionlist_t connections; - isc_sockettype_t type; - uint32_t perm; - uint32_t owner; - uint32_t group; + controlkeylist_t keys; + controlconnectionlist_t connections; + isc_sockettype_t type; + uint32_t perm; + uint32_t owner; + uint32_t group; bool readonly; - ISC_LINK(controllistener_t) link; + ISC_LINK(controllistener_t) link; }; struct named_controls { - named_server_t *server; - controllistenerlist_t listeners; - bool shuttingdown; - isccc_symtab_t *symtab; + named_server_t * server; + controllistenerlist_t listeners; + bool shuttingdown; + isccc_symtab_t * symtab; }; -static void control_newconn(isc_task_t *task, isc_event_t *event); -static void control_recvmessage(isc_task_t *task, isc_event_t *event); +static void +control_newconn(isc_task_t *task, isc_event_t *event); +static void +control_recvmessage(isc_task_t *task, isc_event_t *event); #define CLOCKSKEW 300 static void -free_controlkey(controlkey_t *key, isc_mem_t *mctx) { +free_controlkey(controlkey_t *key, isc_mem_t *mctx) +{ if (key->keyname != NULL) isc_mem_free(mctx, key->keyname); if (key->secret.base != NULL) @@ -124,7 +125,8 @@ free_controlkey(controlkey_t *key, isc_mem_t *mctx) { } static void -free_controlkeylist(controlkeylist_t *keylist, isc_mem_t *mctx) { +free_controlkeylist(controlkeylist_t *keylist, isc_mem_t *mctx) +{ while (!ISC_LIST_EMPTY(*keylist)) { controlkey_t *key = ISC_LIST_HEAD(*keylist); ISC_LIST_UNLINK(*keylist, key, link); @@ -133,7 +135,8 @@ free_controlkeylist(controlkeylist_t *keylist, isc_mem_t *mctx) { } static void -free_listener(controllistener_t *listener) { +free_listener(controllistener_t *listener) +{ INSIST(listener->exiting); INSIST(!listener->listening); INSIST(ISC_LIST_EMPTY(listener->connections)); @@ -150,15 +153,16 @@ free_listener(controllistener_t *listener) { } static void -maybe_free_listener(controllistener_t *listener) { - if (listener->exiting && - !listener->listening && +maybe_free_listener(controllistener_t *listener) +{ + if (listener->exiting && !listener->listening && ISC_LIST_EMPTY(listener->connections)) free_listener(listener); } static void -maybe_free_connection(controlconnection_t *conn) { +maybe_free_connection(controlconnection_t *conn) +{ controllistener_t *listener = conn->listener; if (conn->buffer != NULL) @@ -188,7 +192,8 @@ maybe_free_connection(controlconnection_t *conn) { } static void -shutdown_listener(controllistener_t *listener) { +shutdown_listener(controllistener_t *listener) +{ controlconnection_t *conn; controlconnection_t *next; @@ -207,10 +212,8 @@ shutdown_listener(controllistener_t *listener) { listener->exiting = true; } - for (conn = ISC_LIST_HEAD(listener->connections); - conn != NULL; - conn = next) - { + for (conn = ISC_LIST_HEAD(listener->connections); conn != NULL; + conn = next) { next = ISC_LIST_NEXT(conn, link); maybe_free_connection(conn); } @@ -223,12 +226,13 @@ shutdown_listener(controllistener_t *listener) { } static bool -address_ok(isc_sockaddr_t *sockaddr, dns_acl_t *acl) { +address_ok(isc_sockaddr_t *sockaddr, dns_acl_t *acl) +{ dns_aclenv_t *env = ns_interfacemgr_getaclenv(named_g_server->interfacemgr); isc_netaddr_t netaddr; - isc_result_t result; - int match; + isc_result_t result; + int match; isc_netaddr_fromsockaddr(&netaddr, sockaddr); @@ -237,10 +241,10 @@ address_ok(isc_sockaddr_t *sockaddr, dns_acl_t *acl) { } static isc_result_t -control_accept(controllistener_t *listener) { +control_accept(controllistener_t *listener) +{ isc_result_t result; - result = isc_socket_accept(listener->sock, - listener->task, + result = isc_socket_accept(listener->sock, listener->task, control_newconn, listener); if (result != ISC_R_SUCCESS) UNEXPECTED_ERROR(__FILE__, __LINE__, @@ -252,7 +256,8 @@ control_accept(controllistener_t *listener) { } static isc_result_t -control_listen(controllistener_t *listener) { +control_listen(controllistener_t *listener) +{ isc_result_t result; result = isc_socket_listen(listener->sock, 0); @@ -264,17 +269,19 @@ control_listen(controllistener_t *listener) { } static void -control_next(controllistener_t *listener) { +control_next(controllistener_t *listener) +{ (void)control_accept(listener); } static void -control_senddone(isc_task_t *task, isc_event_t *event) { - isc_socketevent_t *sevent = (isc_socketevent_t *) event; +control_senddone(isc_task_t *task, isc_event_t *event) +{ + isc_socketevent_t * sevent = (isc_socketevent_t *)event; controlconnection_t *conn = event->ev_arg; - controllistener_t *listener = conn->listener; - isc_socket_t *sock = (isc_socket_t *)sevent->ev_sender; - isc_result_t result; + controllistener_t * listener = conn->listener; + isc_socket_t * sock = (isc_socket_t *)sevent->ev_sender; + isc_result_t result; REQUIRE(conn->sending); @@ -283,9 +290,8 @@ control_senddone(isc_task_t *task, isc_event_t *event) { conn->sending = false; if (sevent->result != ISC_R_SUCCESS && - sevent->result != ISC_R_CANCELED) - { - char socktext[ISC_SOCKADDR_FORMATSIZE]; + sevent->result != ISC_R_CANCELED) { + char socktext[ISC_SOCKADDR_FORMATSIZE]; isc_sockaddr_t peeraddr; (void)isc_socket_getpeername(sock, &peeraddr); @@ -307,38 +313,40 @@ control_senddone(isc_task_t *task, isc_event_t *event) { } static inline void -log_invalid(isccc_ccmsg_t *ccmsg, isc_result_t result) { - char socktext[ISC_SOCKADDR_FORMATSIZE]; +log_invalid(isccc_ccmsg_t *ccmsg, isc_result_t result) +{ + char socktext[ISC_SOCKADDR_FORMATSIZE]; isc_sockaddr_t peeraddr; (void)isc_socket_getpeername(ccmsg->sock, &peeraddr); isc_sockaddr_format(&peeraddr, socktext, sizeof(socktext)); isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_CONTROL, ISC_LOG_ERROR, - "invalid command from %s: %s", - socktext, isc_result_totext(result)); + "invalid command from %s: %s", socktext, + isc_result_totext(result)); } static void -control_recvmessage(isc_task_t *task, isc_event_t *event) { +control_recvmessage(isc_task_t *task, isc_event_t *event) +{ controlconnection_t *conn = NULL; - controllistener_t *listener = NULL; - controlkey_t *key = NULL; - isccc_sexpr_t *request = NULL; - isccc_sexpr_t *response = NULL; - uint32_t algorithm; - isccc_region_t secret; - isc_stdtime_t now; - isc_buffer_t b; - isc_region_t r; - isc_buffer_t *text; - isc_result_t result; - isc_result_t eresult; - isccc_sexpr_t *_ctrl = NULL; - isccc_time_t sent; - isccc_time_t exp; - uint32_t nonce; - isccc_sexpr_t *data = NULL; + controllistener_t * listener = NULL; + controlkey_t * key = NULL; + isccc_sexpr_t * request = NULL; + isccc_sexpr_t * response = NULL; + uint32_t algorithm; + isccc_region_t secret; + isc_stdtime_t now; + isc_buffer_t b; + isc_region_t r; + isc_buffer_t * text; + isc_result_t result; + isc_result_t eresult; + isccc_sexpr_t * _ctrl = NULL; + isccc_time_t sent; + isccc_time_t exp; + uint32_t nonce; + isccc_sexpr_t * data = NULL; REQUIRE(event->ev_type == ISCCC_EVENT_CCMSG); @@ -361,21 +369,18 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) { request = NULL; - for (key = ISC_LIST_HEAD(listener->keys); - key != NULL; - key = ISC_LIST_NEXT(key, link)) - { + for (key = ISC_LIST_HEAD(listener->keys); key != NULL; + key = ISC_LIST_NEXT(key, link)) { isccc_region_t ccregion; ccregion.rstart = isc_buffer_base(&conn->ccmsg.buffer); ccregion.rend = isc_buffer_used(&conn->ccmsg.buffer); - secret.rstart = isc_mem_get(listener->mctx, - key->secret.length); + secret.rstart = isc_mem_get(listener->mctx, key->secret.length); memmove(secret.rstart, key->secret.base, key->secret.length); secret.rend = secret.rstart + key->secret.length; algorithm = key->algorithm; - result = isccc_cc_fromwire(&ccregion, &request, - algorithm, &secret); + result = isccc_cc_fromwire(&ccregion, &request, algorithm, + &secret); if (result == ISC_R_SUCCESS) break; isc_mem_put(listener->mctx, secret.rstart, REGION_SIZE(secret)); @@ -519,16 +524,16 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) { isc_buffer_free(&text); return; - cleanup_response: +cleanup_response: isccc_sexpr_free(&response); - cleanup_request: +cleanup_request: isccc_sexpr_free(&request); isc_mem_put(listener->mctx, secret.rstart, REGION_SIZE(secret)); if (text != NULL) isc_buffer_free(&text); - cleanup: +cleanup: isc_socket_detach(&conn->sock); isccc_ccmsg_invalidate(&conn->ccmsg); conn->ccmsg_valid = false; @@ -537,7 +542,8 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) { } static void -control_timeout(isc_task_t *task, isc_event_t *event) { +control_timeout(isc_task_t *task, isc_event_t *event) +{ controlconnection_t *conn = event->ev_arg; UNUSED(task); @@ -549,10 +555,11 @@ control_timeout(isc_task_t *task, isc_event_t *event) { } static isc_result_t -newconnection(controllistener_t *listener, isc_socket_t *sock) { +newconnection(controllistener_t *listener, isc_socket_t *sock) +{ controlconnection_t *conn; - isc_interval_t interval; - isc_result_t result; + isc_interval_t interval; + isc_result_t result; conn = isc_mem_get(listener->mctx, sizeof(*conn)); @@ -567,9 +574,9 @@ newconnection(controllistener_t *listener, isc_socket_t *sock) { conn->buffer = NULL; conn->timer = NULL; isc_interval_set(&interval, 60, 0); - result = isc_timer_create(named_g_timermgr, isc_timertype_once, - NULL, &interval, listener->task, - control_timeout, conn, &conn->timer); + result = isc_timer_create(named_g_timermgr, isc_timertype_once, NULL, + &interval, listener->task, control_timeout, + conn, &conn->timer); if (result != ISC_R_SUCCESS) goto cleanup; @@ -585,7 +592,7 @@ newconnection(controllistener_t *listener, isc_socket_t *sock) { ISC_LIST_APPEND(listener->connections, conn, link); return (ISC_R_SUCCESS); - cleanup: +cleanup: if (conn->buffer != NULL) isc_buffer_free(&conn->buffer); isccc_ccmsg_invalidate(&conn->ccmsg); @@ -601,12 +608,13 @@ newconnection(controllistener_t *listener, isc_socket_t *sock) { } static void -control_newconn(isc_task_t *task, isc_event_t *event) { +control_newconn(isc_task_t *task, isc_event_t *event) +{ isc_socket_newconnev_t *nevent = (isc_socket_newconnev_t *)event; - controllistener_t *listener = event->ev_arg; - isc_socket_t *sock; - isc_sockaddr_t peeraddr; - isc_result_t result; + controllistener_t * listener = event->ev_arg; + isc_socket_t * sock; + isc_sockaddr_t peeraddr; + isc_result_t result; UNUSED(task); @@ -641,27 +649,26 @@ control_newconn(isc_task_t *task, isc_event_t *event) { isc_sockaddr_format(&peeraddr, socktext, sizeof(socktext)); isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_CONTROL, ISC_LOG_WARNING, - "dropped command channel from %s: %s", - socktext, isc_result_totext(result)); + "dropped command channel from %s: %s", socktext, + isc_result_totext(result)); isc_socket_detach(&sock); goto restart; } - restart: +restart: control_next(listener); - cleanup: +cleanup: isc_event_free(&event); } static void -controls_shutdown(named_controls_t *controls) { +controls_shutdown(named_controls_t *controls) +{ controllistener_t *listener; controllistener_t *next; - for (listener = ISC_LIST_HEAD(controls->listeners); - listener != NULL; - listener = next) - { + for (listener = ISC_LIST_HEAD(controls->listeners); listener != NULL; + listener = next) { /* * This is asynchronous. As listeners shut down, they will * call their callbacks. @@ -672,7 +679,8 @@ controls_shutdown(named_controls_t *controls) { } void -named_controls_shutdown(named_controls_t *controls) { +named_controls_shutdown(named_controls_t *controls) +{ controls_shutdown(controls); controls->shuttingdown = true; } @@ -682,13 +690,11 @@ cfgkeylist_find(const cfg_obj_t *keylist, const char *keyname, const cfg_obj_t **objp) { const cfg_listelt_t *element; - const char *str; - const cfg_obj_t *obj; + const char * str; + const cfg_obj_t * obj; - for (element = cfg_list_first(keylist); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(keylist); element != NULL; + element = cfg_list_next(element)) { obj = cfg_listelt_value(element); str = cfg_obj_asstring(cfg_map_getname(obj)); if (strcasecmp(str, keyname) == 0) @@ -706,15 +712,13 @@ controlkeylist_fromcfg(const cfg_obj_t *keylist, isc_mem_t *mctx, controlkeylist_t *keyids) { const cfg_listelt_t *element; - char *newstr = NULL; - const char *str; - const cfg_obj_t *obj; - controlkey_t *key; + char * newstr = NULL; + const char * str; + const cfg_obj_t * obj; + controlkey_t * key; - for (element = cfg_list_first(keylist); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(keylist); element != NULL; + element = cfg_list_next(element)) { obj = cfg_listelt_value(element); str = cfg_obj_asstring(obj); newstr = isc_mem_strdup(mctx, str); @@ -733,11 +737,11 @@ static void register_keys(const cfg_obj_t *control, const cfg_obj_t *keylist, controlkeylist_t *keyids, isc_mem_t *mctx, const char *socktext) { - controlkey_t *keyid, *next; + controlkey_t * keyid, *next; const cfg_obj_t *keydef; - char secret[1024]; - isc_buffer_t b; - isc_result_t result; + char secret[1024]; + isc_buffer_t b; + isc_result_t result; /* * Find the keys corresponding to the keyids used by this listener. @@ -756,9 +760,9 @@ register_keys(const cfg_obj_t *control, const cfg_obj_t *keylist, } else { const cfg_obj_t *algobj = NULL; const cfg_obj_t *secretobj = NULL; - const char *algstr = NULL; - const char *secretstr = NULL; - unsigned int algtype; + const char * algstr = NULL; + const char * secretstr = NULL; + unsigned int algtype; (void)cfg_map_get(keydef, "algorithm", &algobj); (void)cfg_map_get(keydef, "secret", &secretobj); @@ -768,8 +772,8 @@ register_keys(const cfg_obj_t *control, const cfg_obj_t *keylist, secretstr = cfg_obj_asstring(secretobj); if (named_config_getkeyalgorithm2(algstr, NULL, - &algtype, NULL) != ISC_R_SUCCESS) - { + &algtype, NULL) != + ISC_R_SUCCESS) { cfg_obj_log(control, named_g_lctx, ISC_LOG_WARNING, "unsupported algorithm '%s' in " @@ -798,50 +802,51 @@ register_keys(const cfg_obj_t *control, const cfg_obj_t *keylist, } keyid->secret.length = isc_buffer_usedlength(&b); - keyid->secret.base = isc_mem_get(mctx, - keyid->secret.length); + keyid->secret.base = + isc_mem_get(mctx, keyid->secret.length); memmove(keyid->secret.base, isc_buffer_base(&b), keyid->secret.length); } } } -#define CHECK(x) \ - do { \ - result = (x); \ - if (result != ISC_R_SUCCESS) \ - goto cleanup; \ +#define CHECK(x) \ + do { \ + result = (x); \ + if (result != ISC_R_SUCCESS) \ + goto cleanup; \ } while (0) static isc_result_t -get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) { - isc_result_t result; - cfg_parser_t *pctx = NULL; - cfg_obj_t *config = NULL; +get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) +{ + isc_result_t result; + cfg_parser_t * pctx = NULL; + cfg_obj_t * config = NULL; const cfg_obj_t *key = NULL; const cfg_obj_t *algobj = NULL; const cfg_obj_t *secretobj = NULL; - const char *algstr = NULL; - const char *secretstr = NULL; - controlkey_t *keyid = NULL; - char secret[1024]; - unsigned int algtype; - isc_buffer_t b; + const char * algstr = NULL; + const char * secretstr = NULL; + controlkey_t * keyid = NULL; + char secret[1024]; + unsigned int algtype; + isc_buffer_t b; isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_CONTROL, ISC_LOG_INFO, - "configuring command channel from '%s'", - named_g_keyfile); - if (! isc_file_exists(named_g_keyfile)) + "configuring command channel from '%s'", named_g_keyfile); + if (!isc_file_exists(named_g_keyfile)) return (ISC_R_FILENOTFOUND); CHECK(cfg_parser_create(mctx, named_g_lctx, &pctx)); - CHECK(cfg_parse_file(pctx, named_g_keyfile, &cfg_type_rndckey, &config)); + CHECK(cfg_parse_file(pctx, named_g_keyfile, &cfg_type_rndckey, + &config)); CHECK(cfg_map_get(config, "key", &key)); keyid = isc_mem_get(mctx, sizeof(*keyid)); - keyid->keyname = isc_mem_strdup(mctx, - cfg_obj_asstring(cfg_map_getname(key))); + keyid->keyname = + isc_mem_strdup(mctx, cfg_obj_asstring(cfg_map_getname(key))); keyid->secret.base = NULL; keyid->secret.length = 0; keyid->algorithm = DST_ALG_UNKNOWN; @@ -858,10 +863,9 @@ get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) { algstr = cfg_obj_asstring(algobj); secretstr = cfg_obj_asstring(secretobj); - if (named_config_getkeyalgorithm2(algstr, NULL, - &algtype, NULL) != ISC_R_SUCCESS) { - cfg_obj_log(key, named_g_lctx, - ISC_LOG_WARNING, + if (named_config_getkeyalgorithm2(algstr, NULL, &algtype, NULL) != + ISC_R_SUCCESS) { + cfg_obj_log(key, named_g_lctx, ISC_LOG_WARNING, "unsupported algorithm '%s' in " "key '%s' for use with command " "channel", @@ -882,13 +886,12 @@ get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) { keyid->secret.length = isc_buffer_usedlength(&b); keyid->secret.base = isc_mem_get(mctx, keyid->secret.length); - memmove(keyid->secret.base, isc_buffer_base(&b), - keyid->secret.length); + memmove(keyid->secret.base, isc_buffer_base(&b), keyid->secret.length); ISC_LIST_APPEND(*keyids, keyid, link); keyid = NULL; result = ISC_R_SUCCESS; - cleanup: +cleanup: if (keyid != NULL) free_controlkey(keyid, mctx); if (config != NULL) @@ -907,7 +910,7 @@ get_key_info(const cfg_obj_t *config, const cfg_obj_t *control, const cfg_obj_t **global_keylistp, const cfg_obj_t **control_keylistp) { - isc_result_t result; + isc_result_t result; const cfg_obj_t *control_keylist = NULL; const cfg_obj_t *global_keylist = NULL; @@ -934,15 +937,14 @@ update_listener(named_controls_t *cp, controllistener_t **listenerp, const char *socktext, isc_sockettype_t type) { controllistener_t *listener; - const cfg_obj_t *allow; - const cfg_obj_t *global_keylist = NULL; - const cfg_obj_t *control_keylist = NULL; - dns_acl_t *new_acl = NULL; - controlkeylist_t keys; - isc_result_t result = ISC_R_SUCCESS; + const cfg_obj_t * allow; + const cfg_obj_t * global_keylist = NULL; + const cfg_obj_t * control_keylist = NULL; + dns_acl_t * new_acl = NULL; + controlkeylist_t keys; + isc_result_t result = ISC_R_SUCCESS; - for (listener = ISC_LIST_HEAD(cp->listeners); - listener != NULL; + for (listener = ISC_LIST_HEAD(cp->listeners); listener != NULL; listener = ISC_LIST_NEXT(listener, link)) if (isc_sockaddr_equal(addr, &listener->address)) break; @@ -1049,7 +1051,7 @@ update_listener(named_controls_t *cp, controllistener_t **listenerp, if (result == ISC_R_SUCCESS && type == isc_sockettype_unix) { uint32_t perm, owner, group; - perm = cfg_obj_asuint32(cfg_tuple_get(control, "perm")); + perm = cfg_obj_asuint32(cfg_tuple_get(control, "perm")); owner = cfg_obj_asuint32(cfg_tuple_get(control, "owner")); group = cfg_obj_asuint32(cfg_tuple_get(control, "group")); result = ISC_R_SUCCESS; @@ -1064,7 +1066,8 @@ update_listener(named_controls_t *cp, controllistener_t **listenerp, } else if (control != NULL) cfg_obj_log(control, named_g_lctx, ISC_LOG_WARNING, "couldn't update ownership/permission for " - "command channel %s", socktext); + "command channel %s", + socktext); } *listenerp = listener; @@ -1076,13 +1079,13 @@ add_listener(named_controls_t *cp, controllistener_t **listenerp, isc_sockaddr_t *addr, cfg_aclconfctx_t *aclconfctx, const char *socktext, isc_sockettype_t type) { - isc_mem_t *mctx = cp->server->mctx; + isc_mem_t * mctx = cp->server->mctx; controllistener_t *listener; - const cfg_obj_t *allow; - const cfg_obj_t *global_keylist = NULL; - const cfg_obj_t *control_keylist = NULL; - dns_acl_t *new_acl = NULL; - isc_result_t result = ISC_R_SUCCESS; + const cfg_obj_t * allow; + const cfg_obj_t * global_keylist = NULL; + const cfg_obj_t * control_keylist = NULL; + dns_acl_t * new_acl = NULL; + isc_result_t result = ISC_R_SUCCESS; listener = isc_mem_get(mctx, sizeof(*listener)); @@ -1136,7 +1139,7 @@ add_listener(named_controls_t *cp, controllistener_t **listenerp, if (control_keylist != NULL) { controlkeylist_fromcfg(control_keylist, listener->mctx, - &listener->keys); + &listener->keys); register_keys(control, global_keylist, &listener->keys, listener->mctx, socktext); } else { @@ -1180,12 +1183,12 @@ add_listener(named_controls_t *cp, controllistener_t **listenerp, ISC_SOCKET_REUSEADDRESS); if (result == ISC_R_SUCCESS && type == isc_sockettype_unix) { - listener->perm = cfg_obj_asuint32(cfg_tuple_get(control, - "perm")); - listener->owner = cfg_obj_asuint32(cfg_tuple_get(control, - "owner")); - listener->group = cfg_obj_asuint32(cfg_tuple_get(control, - "group")); + listener->perm = cfg_obj_asuint32(cfg_tuple_get(control, "per" + "m")); + listener->owner = cfg_obj_asuint32(cfg_tuple_get(control, "owne" + "r")); + listener->group = cfg_obj_asuint32(cfg_tuple_get(control, "grou" + "p")); result = isc_socket_permunix(&listener->address, listener->perm, listener->owner, listener->group); } @@ -1227,11 +1230,11 @@ isc_result_t named_controls_configure(named_controls_t *cp, const cfg_obj_t *config, cfg_aclconfctx_t *aclconfctx) { - controllistener_t *listener; + controllistener_t * listener; controllistenerlist_t new_listeners; - const cfg_obj_t *controlslist = NULL; - const cfg_listelt_t *element, *element2; - char socktext[ISC_SOCKADDR_FORMATSIZE]; + const cfg_obj_t * controlslist = NULL; + const cfg_listelt_t * element, *element2; + char socktext[ISC_SOCKADDR_FORMATSIZE]; ISC_LIST_INIT(new_listeners); @@ -1249,8 +1252,7 @@ named_controls_configure(named_controls_t *cp, const cfg_obj_t *config, * address-in-use error. */ if (controlslist != NULL) { - for (element = cfg_list_first(controlslist); - element != NULL; + for (element = cfg_list_first(controlslist); element != NULL; element = cfg_list_next(element)) { const cfg_obj_t *controls; const cfg_obj_t *inetcontrols = NULL; @@ -1265,7 +1267,7 @@ named_controls_configure(named_controls_t *cp, const cfg_obj_t *config, element2 = cfg_list_next(element2)) { const cfg_obj_t *control; const cfg_obj_t *obj; - isc_sockaddr_t addr; + isc_sockaddr_t addr; /* * The parser handles BIND 8 configuration file @@ -1277,8 +1279,8 @@ named_controls_configure(named_controls_t *cp, const cfg_obj_t *config, obj = cfg_tuple_get(control, "address"); addr = *cfg_obj_assockaddr(obj); if (isc_sockaddr_getport(&addr) == 0) - isc_sockaddr_setport(&addr, - NAMED_CONTROL_PORT); + isc_sockaddr_setport( + &addr, NAMED_CONTROL_PORT); isc_sockaddr_format(&addr, socktext, sizeof(socktext)); @@ -1299,8 +1301,8 @@ named_controls_configure(named_controls_t *cp, const cfg_obj_t *config, * Remove the listener from the old * list, so it won't be shut down. */ - ISC_LIST_UNLINK(cp->listeners, - listener, link); + ISC_LIST_UNLINK(cp->listeners, listener, + link); else /* * This is a new listener. @@ -1311,12 +1313,11 @@ named_controls_configure(named_controls_t *cp, const cfg_obj_t *config, isc_sockettype_tcp); if (listener != NULL) - ISC_LIST_APPEND(new_listeners, - listener, link); + ISC_LIST_APPEND(new_listeners, listener, + link); } } - for (element = cfg_list_first(controlslist); - element != NULL; + for (element = cfg_list_first(controlslist); element != NULL; element = cfg_list_next(element)) { const cfg_obj_t *controls; const cfg_obj_t *unixcontrols = NULL; @@ -1331,8 +1332,8 @@ named_controls_configure(named_controls_t *cp, const cfg_obj_t *config, element2 = cfg_list_next(element2)) { const cfg_obj_t *control; const cfg_obj_t *path; - isc_sockaddr_t addr; - isc_result_t result; + isc_sockaddr_t addr; + isc_result_t result; /* * The parser handles BIND 8 configuration file @@ -1342,16 +1343,17 @@ named_controls_configure(named_controls_t *cp, const cfg_obj_t *config, control = cfg_listelt_value(element2); path = cfg_tuple_get(control, "path"); - result = isc_sockaddr_frompath(&addr, - cfg_obj_asstring(path)); + result = isc_sockaddr_frompath( + &addr, cfg_obj_asstring(path)); if (result != ISC_R_SUCCESS) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_CONTROL, - ISC_LOG_DEBUG(9), - "control channel '%s': %s", - cfg_obj_asstring(path), - isc_result_totext(result)); + isc_log_write( + named_g_lctx, + NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_CONTROL, + ISC_LOG_DEBUG(9), + "control channel '%s': %s", + cfg_obj_asstring(path), + isc_result_totext(result)); continue; } @@ -1372,8 +1374,8 @@ named_controls_configure(named_controls_t *cp, const cfg_obj_t *config, * Remove the listener from the old * list, so it won't be shut down. */ - ISC_LIST_UNLINK(cp->listeners, - listener, link); + ISC_LIST_UNLINK(cp->listeners, listener, + link); else /* * This is a new listener. @@ -1384,8 +1386,8 @@ named_controls_configure(named_controls_t *cp, const cfg_obj_t *config, isc_sockettype_unix); if (listener != NULL) - ISC_LIST_APPEND(new_listeners, - listener, link); + ISC_LIST_APPEND(new_listeners, listener, + link); } } } else { @@ -1404,35 +1406,32 @@ named_controls_configure(named_controls_t *cp, const cfg_obj_t *config, } else { if (isc_net_probeipv6() != ISC_R_SUCCESS) continue; - isc_sockaddr_fromin6(&addr, - &in6addr_loopback, 0); + isc_sockaddr_fromin6(&addr, &in6addr_loopback, + 0); } isc_sockaddr_setport(&addr, NAMED_CONTROL_PORT); isc_sockaddr_format(&addr, socktext, sizeof(socktext)); - update_listener(cp, &listener, NULL, NULL, - &addr, NULL, socktext, - isc_sockettype_tcp); + update_listener(cp, &listener, NULL, NULL, &addr, NULL, + socktext, isc_sockettype_tcp); if (listener != NULL) /* * Remove the listener from the old * list, so it won't be shut down. */ - ISC_LIST_UNLINK(cp->listeners, - listener, link); + ISC_LIST_UNLINK(cp->listeners, listener, link); else /* * This is a new listener. */ - add_listener(cp, &listener, NULL, NULL, - &addr, NULL, socktext, + add_listener(cp, &listener, NULL, NULL, &addr, + NULL, socktext, isc_sockettype_tcp); if (listener != NULL) - ISC_LIST_APPEND(new_listeners, - listener, link); + ISC_LIST_APPEND(new_listeners, listener, link); } } @@ -1454,9 +1453,10 @@ named_controls_configure(named_controls_t *cp, const cfg_obj_t *config, } isc_result_t -named_controls_create(named_server_t *server, named_controls_t **ctrlsp) { - isc_mem_t *mctx = server->mctx; - isc_result_t result; +named_controls_create(named_server_t *server, named_controls_t **ctrlsp) +{ + isc_mem_t * mctx = server->mctx; + isc_result_t result; named_controls_t *controls = isc_mem_get(mctx, sizeof(*controls)); if (controls == NULL) @@ -1475,7 +1475,8 @@ named_controls_create(named_server_t *server, named_controls_t **ctrlsp) { } void -named_controls_destroy(named_controls_t **ctrlsp) { +named_controls_destroy(named_controls_t **ctrlsp) +{ named_controls_t *controls = *ctrlsp; *ctrlsp = NULL; diff --git a/bin/named/fuzz.c b/bin/named/fuzz.c index 0064d92075..84b0e332d4 100644 --- a/bin/named/fuzz.c +++ b/bin/named/fuzz.c @@ -15,33 +15,34 @@ #include #ifdef ENABLE_AFL -#include -#include #include +#include +#include +#include +#include +#include #include #include #include #include #include -#include + #include -#include -#include -#include #include -#include -#include +#include +#include +#include /* * We are using pthreads directly because we might be using it with * unthreaded version of BIND, where all thread functions are * mocks. Since AFL for now only works on Linux it's not a problem. */ -static pthread_cond_t cond; +static pthread_cond_t cond; static pthread_mutex_t mutex; -static bool ready; +static bool ready; /* * In "client:" mode, this thread reads fuzzed query messages from AFL @@ -50,12 +51,13 @@ static bool ready; * test named from the client side. */ static void * -fuzz_thread_client(void *arg) { - char *host; - char *port; +fuzz_thread_client(void *arg) +{ + char * host; + char * port; struct sockaddr_in servaddr; - int sockfd; - void *buf; + int sockfd; + void * buf; UNUSED(arg); @@ -71,7 +73,7 @@ fuzz_thread_client(void *arg) { *port = 0; ++port; - memset(&servaddr, 0, sizeof (servaddr)); + memset(&servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; RUNTIME_CHECK(inet_pton(AF_INET, host, &servaddr.sin_addr) == 1); servaddr.sin_port = htons(atoi(port)); @@ -135,7 +137,7 @@ fuzz_thread_client(void *arg) { ready = false; sent = sendto(sockfd, buf, length, 0, - (struct sockaddr *) &servaddr, sizeof(servaddr)); + (struct sockaddr *)&servaddr, sizeof(servaddr)); RUNTIME_CHECK(sent == length); /* @@ -148,7 +150,7 @@ fuzz_thread_client(void *arg) { pthread_cond_wait(&cond, &mutex); RUNTIME_CHECK(pthread_mutex_unlock(&mutex) == 0); - next: ; + next:; } free(buf); @@ -177,22 +179,21 @@ fuzz_thread_client(void *arg) { * named(resolver) when being fuzzed will not cache answers. */ static void * -fuzz_thread_resolver(void *arg) { - char *sqtype, *shost, *sport, *rhost, *rport; +fuzz_thread_resolver(void *arg) +{ + char * sqtype, *shost, *sport, *rhost, *rport; struct sockaddr_in servaddr, recaddr, recvaddr; /* * Query for aaaaaaaaaa.example./A in wire format with RD=1, * EDNS and DO=1. 0x88, 0x0c at the start is the ID field which * will be updated for each query. */ - char respacket[] = { - 0x88, 0x0c, 0x01, 0x20, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x0a, 0x61, 0x61, 0x61, - 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x07, - 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x00, - 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x29, 0x10, - 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 - }; + char respacket[] = { 0x88, 0x0c, 0x01, 0x20, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x0a, 0x61, 0x61, 0x61, + 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x07, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x00, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x29, 0x10, + 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 }; /* * Response for example./DNSKEY in wire format. Note that RRSIGs * were generated with this DNSKEY that are used as seeds for @@ -202,93 +203,78 @@ fuzz_thread_resolver(void *arg) { * which will be made to match the query. */ const uint8_t dnskey_wf[] = { - 0x8d, 0xf6, 0x84, 0x00, 0x00, 0x01, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x01, 0x07, 0x65, 0x78, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x00, 0x00, 0x30, 0x00, - 0x01, 0xc0, 0x0c, 0x00, 0x30, 0x00, 0x01, 0x00, - 0x00, 0x01, 0x2c, 0x01, 0x08, 0x01, 0x00, 0x03, - 0x08, 0x03, 0x01, 0x00, 0x01, 0xbd, 0x81, 0xdc, - 0x7f, 0x16, 0xd4, 0x81, 0x7c, 0x1f, 0x9f, 0x6a, - 0x68, 0xdd, 0xd4, 0xda, 0x48, 0xd9, 0x1c, 0xbd, - 0xa6, 0x46, 0x1a, 0xf0, 0xb4, 0xb9, 0xec, 0x3d, - 0x6c, 0x0b, 0x57, 0xc7, 0xd6, 0x54, 0x66, 0xe6, - 0x6c, 0xd5, 0x90, 0x3a, 0x78, 0x7d, 0x7f, 0x78, - 0x80, 0xa2, 0x89, 0x61, 0x6d, 0x8a, 0x2b, 0xcd, - 0x0a, 0x77, 0x7a, 0xad, 0xc9, 0x61, 0x53, 0x53, - 0x8c, 0x99, 0x72, 0x86, 0x14, 0x74, 0x9c, 0x49, - 0x2a, 0x47, 0x23, 0xf7, 0x02, 0x07, 0x73, 0x1c, - 0x5c, 0x2e, 0xb4, 0x9a, 0xa4, 0xd7, 0x98, 0x42, - 0xc3, 0xd2, 0xfe, 0xbf, 0xf3, 0xb3, 0x6a, 0x52, - 0x92, 0xd5, 0xfa, 0x47, 0x00, 0xe3, 0xd9, 0x59, - 0x31, 0x95, 0x48, 0x40, 0xfc, 0x06, 0x73, 0x90, - 0xc6, 0x73, 0x96, 0xba, 0x29, 0x91, 0xe2, 0xac, - 0xa3, 0xa5, 0x6d, 0x91, 0x6d, 0x52, 0xb9, 0x34, - 0xba, 0x68, 0x4f, 0xad, 0xf0, 0xc3, 0xf3, 0x1d, - 0x6d, 0x61, 0x76, 0xe5, 0x3d, 0xa3, 0x9b, 0x2a, - 0x0c, 0x92, 0xb3, 0x78, 0x6b, 0xf1, 0x20, 0xd6, - 0x90, 0xb7, 0xac, 0xe2, 0xf8, 0x2b, 0x94, 0x10, - 0x79, 0xce, 0xa8, 0x60, 0x42, 0xea, 0x6a, 0x18, - 0x2f, 0xc0, 0xd8, 0x05, 0x0a, 0x3b, 0x06, 0x0f, - 0x02, 0x7e, 0xff, 0x33, 0x46, 0xee, 0xb6, 0x21, - 0x25, 0x90, 0x63, 0x4b, 0x3b, 0x5e, 0xb2, 0x72, - 0x3a, 0xcb, 0x91, 0x41, 0xf4, 0x20, 0x50, 0x78, - 0x1c, 0x93, 0x95, 0xda, 0xfa, 0xae, 0x85, 0xc5, - 0xd7, 0x6b, 0x92, 0x0c, 0x70, 0x6b, 0xe4, 0xb7, - 0x29, 0x3a, 0x2e, 0x18, 0x88, 0x82, 0x33, 0x7c, - 0xa8, 0xea, 0xb8, 0x31, 0x8f, 0xaf, 0x50, 0xc5, - 0x9c, 0x08, 0x56, 0x8f, 0x09, 0x76, 0x4e, 0xdf, - 0x97, 0x75, 0x9d, 0x00, 0x52, 0x7f, 0xdb, 0xec, - 0x30, 0xcb, 0x1c, 0x4c, 0x2a, 0x21, 0x93, 0xc4, - 0x6d, 0x85, 0xa9, 0x40, 0x3b, 0xc0, 0x0c, 0x00, - 0x2e, 0x00, 0x01, 0x00, 0x00, 0x01, 0x2c, 0x01, - 0x1b, 0x00, 0x30, 0x08, 0x01, 0x00, 0x00, 0x01, - 0x2c, 0x67, 0x74, 0x85, 0x80, 0x58, 0xb3, 0xc5, - 0x17, 0x36, 0x90, 0x07, 0x65, 0x78, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x00, 0x45, 0xac, 0xd3, 0x82, - 0x69, 0xf3, 0x10, 0x3a, 0x97, 0x2c, 0x6a, 0xa9, - 0x78, 0x99, 0xea, 0xb0, 0xcc, 0xf7, 0xaf, 0x33, - 0x51, 0x5b, 0xdf, 0x77, 0x04, 0x18, 0x14, 0x99, - 0x61, 0xeb, 0x8d, 0x76, 0x3f, 0xd1, 0x71, 0x14, - 0x43, 0x80, 0x53, 0xc2, 0x3b, 0x9f, 0x09, 0x4f, - 0xb3, 0x51, 0x04, 0x89, 0x0e, 0xc8, 0x54, 0x12, - 0xcd, 0x07, 0x20, 0xbe, 0x94, 0xc2, 0xda, 0x99, - 0xdd, 0x1e, 0xf8, 0xb0, 0x84, 0x2e, 0xf9, 0x19, - 0x35, 0x36, 0xf5, 0xd0, 0x5d, 0x82, 0x18, 0x74, - 0xa0, 0x00, 0xb6, 0x15, 0x57, 0x40, 0x5f, 0x78, - 0x2d, 0x27, 0xac, 0xc7, 0x8a, 0x29, 0x55, 0xa9, - 0xcd, 0xbc, 0xf7, 0x3e, 0xff, 0xae, 0x1a, 0x5a, - 0x1d, 0xac, 0x0d, 0x78, 0x0e, 0x08, 0x33, 0x6c, - 0x59, 0x70, 0x40, 0xb9, 0x65, 0xbd, 0x35, 0xbb, - 0x9a, 0x70, 0xdc, 0x93, 0x66, 0xb0, 0xef, 0xfe, - 0xf0, 0x32, 0xa6, 0xee, 0xb7, 0x03, 0x89, 0xa2, - 0x4d, 0xe0, 0xf1, 0x20, 0xdf, 0x39, 0xe8, 0xe3, - 0xcc, 0x95, 0xe9, 0x9a, 0xad, 0xbf, 0xbd, 0x7c, - 0xf7, 0xd7, 0xde, 0x47, 0x9e, 0xf6, 0x17, 0xbb, - 0x84, 0xa9, 0xed, 0xf2, 0x45, 0x61, 0x6d, 0x13, - 0x0b, 0x06, 0x29, 0x50, 0xde, 0xfd, 0x42, 0xb0, - 0x66, 0x2c, 0x1c, 0x2b, 0x63, 0xcb, 0x4e, 0xb9, - 0x31, 0xc4, 0xea, 0xd2, 0x07, 0x3a, 0x08, 0x79, - 0x19, 0x4b, 0x4c, 0x50, 0x97, 0x02, 0xd7, 0x26, - 0x41, 0x2f, 0xdd, 0x57, 0xaa, 0xb0, 0xa0, 0x21, - 0x4e, 0x74, 0xb6, 0x97, 0x4b, 0x8b, 0x09, 0x9c, - 0x3d, 0x29, 0xfb, 0x12, 0x27, 0x47, 0x8f, 0xb8, - 0xc5, 0x8e, 0x65, 0xcd, 0xca, 0x2f, 0xba, 0xf5, - 0x3e, 0xec, 0x56, 0xc3, 0xc9, 0xa1, 0x62, 0x7d, - 0xf2, 0x9f, 0x90, 0x16, 0x1d, 0xbf, 0x97, 0x28, - 0xe1, 0x92, 0xb1, 0x53, 0xab, 0xc4, 0xe0, 0x99, - 0xbb, 0x19, 0x90, 0x7c, 0x00, 0x00, 0x29, 0x10, + 0x8d, 0xf6, 0x84, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x01, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x00, 0x00, 0x30, 0x00, 0x01, 0xc0, 0x0c, 0x00, 0x30, 0x00, + 0x01, 0x00, 0x00, 0x01, 0x2c, 0x01, 0x08, 0x01, 0x00, 0x03, + 0x08, 0x03, 0x01, 0x00, 0x01, 0xbd, 0x81, 0xdc, 0x7f, 0x16, + 0xd4, 0x81, 0x7c, 0x1f, 0x9f, 0x6a, 0x68, 0xdd, 0xd4, 0xda, + 0x48, 0xd9, 0x1c, 0xbd, 0xa6, 0x46, 0x1a, 0xf0, 0xb4, 0xb9, + 0xec, 0x3d, 0x6c, 0x0b, 0x57, 0xc7, 0xd6, 0x54, 0x66, 0xe6, + 0x6c, 0xd5, 0x90, 0x3a, 0x78, 0x7d, 0x7f, 0x78, 0x80, 0xa2, + 0x89, 0x61, 0x6d, 0x8a, 0x2b, 0xcd, 0x0a, 0x77, 0x7a, 0xad, + 0xc9, 0x61, 0x53, 0x53, 0x8c, 0x99, 0x72, 0x86, 0x14, 0x74, + 0x9c, 0x49, 0x2a, 0x47, 0x23, 0xf7, 0x02, 0x07, 0x73, 0x1c, + 0x5c, 0x2e, 0xb4, 0x9a, 0xa4, 0xd7, 0x98, 0x42, 0xc3, 0xd2, + 0xfe, 0xbf, 0xf3, 0xb3, 0x6a, 0x52, 0x92, 0xd5, 0xfa, 0x47, + 0x00, 0xe3, 0xd9, 0x59, 0x31, 0x95, 0x48, 0x40, 0xfc, 0x06, + 0x73, 0x90, 0xc6, 0x73, 0x96, 0xba, 0x29, 0x91, 0xe2, 0xac, + 0xa3, 0xa5, 0x6d, 0x91, 0x6d, 0x52, 0xb9, 0x34, 0xba, 0x68, + 0x4f, 0xad, 0xf0, 0xc3, 0xf3, 0x1d, 0x6d, 0x61, 0x76, 0xe5, + 0x3d, 0xa3, 0x9b, 0x2a, 0x0c, 0x92, 0xb3, 0x78, 0x6b, 0xf1, + 0x20, 0xd6, 0x90, 0xb7, 0xac, 0xe2, 0xf8, 0x2b, 0x94, 0x10, + 0x79, 0xce, 0xa8, 0x60, 0x42, 0xea, 0x6a, 0x18, 0x2f, 0xc0, + 0xd8, 0x05, 0x0a, 0x3b, 0x06, 0x0f, 0x02, 0x7e, 0xff, 0x33, + 0x46, 0xee, 0xb6, 0x21, 0x25, 0x90, 0x63, 0x4b, 0x3b, 0x5e, + 0xb2, 0x72, 0x3a, 0xcb, 0x91, 0x41, 0xf4, 0x20, 0x50, 0x78, + 0x1c, 0x93, 0x95, 0xda, 0xfa, 0xae, 0x85, 0xc5, 0xd7, 0x6b, + 0x92, 0x0c, 0x70, 0x6b, 0xe4, 0xb7, 0x29, 0x3a, 0x2e, 0x18, + 0x88, 0x82, 0x33, 0x7c, 0xa8, 0xea, 0xb8, 0x31, 0x8f, 0xaf, + 0x50, 0xc5, 0x9c, 0x08, 0x56, 0x8f, 0x09, 0x76, 0x4e, 0xdf, + 0x97, 0x75, 0x9d, 0x00, 0x52, 0x7f, 0xdb, 0xec, 0x30, 0xcb, + 0x1c, 0x4c, 0x2a, 0x21, 0x93, 0xc4, 0x6d, 0x85, 0xa9, 0x40, + 0x3b, 0xc0, 0x0c, 0x00, 0x2e, 0x00, 0x01, 0x00, 0x00, 0x01, + 0x2c, 0x01, 0x1b, 0x00, 0x30, 0x08, 0x01, 0x00, 0x00, 0x01, + 0x2c, 0x67, 0x74, 0x85, 0x80, 0x58, 0xb3, 0xc5, 0x17, 0x36, + 0x90, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x00, + 0x45, 0xac, 0xd3, 0x82, 0x69, 0xf3, 0x10, 0x3a, 0x97, 0x2c, + 0x6a, 0xa9, 0x78, 0x99, 0xea, 0xb0, 0xcc, 0xf7, 0xaf, 0x33, + 0x51, 0x5b, 0xdf, 0x77, 0x04, 0x18, 0x14, 0x99, 0x61, 0xeb, + 0x8d, 0x76, 0x3f, 0xd1, 0x71, 0x14, 0x43, 0x80, 0x53, 0xc2, + 0x3b, 0x9f, 0x09, 0x4f, 0xb3, 0x51, 0x04, 0x89, 0x0e, 0xc8, + 0x54, 0x12, 0xcd, 0x07, 0x20, 0xbe, 0x94, 0xc2, 0xda, 0x99, + 0xdd, 0x1e, 0xf8, 0xb0, 0x84, 0x2e, 0xf9, 0x19, 0x35, 0x36, + 0xf5, 0xd0, 0x5d, 0x82, 0x18, 0x74, 0xa0, 0x00, 0xb6, 0x15, + 0x57, 0x40, 0x5f, 0x78, 0x2d, 0x27, 0xac, 0xc7, 0x8a, 0x29, + 0x55, 0xa9, 0xcd, 0xbc, 0xf7, 0x3e, 0xff, 0xae, 0x1a, 0x5a, + 0x1d, 0xac, 0x0d, 0x78, 0x0e, 0x08, 0x33, 0x6c, 0x59, 0x70, + 0x40, 0xb9, 0x65, 0xbd, 0x35, 0xbb, 0x9a, 0x70, 0xdc, 0x93, + 0x66, 0xb0, 0xef, 0xfe, 0xf0, 0x32, 0xa6, 0xee, 0xb7, 0x03, + 0x89, 0xa2, 0x4d, 0xe0, 0xf1, 0x20, 0xdf, 0x39, 0xe8, 0xe3, + 0xcc, 0x95, 0xe9, 0x9a, 0xad, 0xbf, 0xbd, 0x7c, 0xf7, 0xd7, + 0xde, 0x47, 0x9e, 0xf6, 0x17, 0xbb, 0x84, 0xa9, 0xed, 0xf2, + 0x45, 0x61, 0x6d, 0x13, 0x0b, 0x06, 0x29, 0x50, 0xde, 0xfd, + 0x42, 0xb0, 0x66, 0x2c, 0x1c, 0x2b, 0x63, 0xcb, 0x4e, 0xb9, + 0x31, 0xc4, 0xea, 0xd2, 0x07, 0x3a, 0x08, 0x79, 0x19, 0x4b, + 0x4c, 0x50, 0x97, 0x02, 0xd7, 0x26, 0x41, 0x2f, 0xdd, 0x57, + 0xaa, 0xb0, 0xa0, 0x21, 0x4e, 0x74, 0xb6, 0x97, 0x4b, 0x8b, + 0x09, 0x9c, 0x3d, 0x29, 0xfb, 0x12, 0x27, 0x47, 0x8f, 0xb8, + 0xc5, 0x8e, 0x65, 0xcd, 0xca, 0x2f, 0xba, 0xf5, 0x3e, 0xec, + 0x56, 0xc3, 0xc9, 0xa1, 0x62, 0x7d, 0xf2, 0x9f, 0x90, 0x16, + 0x1d, 0xbf, 0x97, 0x28, 0xe1, 0x92, 0xb1, 0x53, 0xab, 0xc4, + 0xe0, 0x99, 0xbb, 0x19, 0x90, 0x7c, 0x00, 0x00, 0x29, 0x10, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 }; - int sockfd; - int listenfd; - int loop; - uint16_t qtype; - char *buf, *rbuf; - char *nameptr; + int sockfd; + int listenfd; + int loop; + uint16_t qtype; + char * buf, *rbuf; + char * nameptr; unsigned int i; - uint8_t llen; - uint64_t seed; + uint8_t llen; + uint64_t seed; UNUSED(arg); @@ -326,12 +312,12 @@ fuzz_thread_resolver(void *arg) { respacket[32] = (qtype >> 8) & 0xff; respacket[33] = qtype & 0xff; - memset(&servaddr, 0, sizeof (servaddr)); + memset(&servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; RUNTIME_CHECK(inet_pton(AF_INET, shost, &servaddr.sin_addr) == 1); servaddr.sin_port = htons(atoi(sport)); - memset(&recaddr, 0, sizeof (recaddr)); + memset(&recaddr, 0, sizeof(recaddr)); recaddr.sin_family = AF_INET; RUNTIME_CHECK(inet_pton(AF_INET, rhost, &recaddr.sin_addr) == 1); recaddr.sin_port = htons(atoi(rport)); @@ -367,10 +353,10 @@ fuzz_thread_resolver(void *arg) { * the app. */ for (loop = 0; loop < 100000; loop++) { - ssize_t length; - ssize_t sent; + ssize_t length; + ssize_t sent; unsigned short id; - socklen_t socklen; + socklen_t socklen; memset(buf, 0, 12); length = read(0, buf, 65536); @@ -395,7 +381,7 @@ fuzz_thread_resolver(void *arg) { } if (length < 12) { - length = 12; + length = 12; } RUNTIME_CHECK(pthread_mutex_lock(&mutex) == 0); @@ -413,7 +399,7 @@ fuzz_thread_resolver(void *arg) { */ socklen = sizeof(recvaddr); (void)recvfrom(listenfd, rbuf, 65536, MSG_DONTWAIT, - (struct sockaddr *) &recvaddr, &socklen); + (struct sockaddr *)&recvaddr, &socklen); /* * Send a fixed client query to named(resolver) of @@ -421,7 +407,7 @@ fuzz_thread_resolver(void *arg) { * driver. */ sent = sendto(sockfd, respacket, sizeof(respacket), 0, - (struct sockaddr *) &servaddr, sizeof(servaddr)); + (struct sockaddr *)&servaddr, sizeof(servaddr)); RUNTIME_CHECK(sent == sizeof(respacket)); /* @@ -432,7 +418,7 @@ fuzz_thread_resolver(void *arg) { */ socklen = sizeof(recvaddr); sent = recvfrom(listenfd, rbuf, 65536, 0, - (struct sockaddr *) &recvaddr, &socklen); + (struct sockaddr *)&recvaddr, &socklen); RUNTIME_CHECK(sent > 0); /* @@ -462,8 +448,7 @@ fuzz_thread_resolver(void *arg) { /* Skip the name to get to the qtype */ i = 0; - while (((llen = nameptr[i]) != 0) && - (i < 255) && + while (((llen = nameptr[i]) != 0) && (i < 255) && (((nameptr + i + 1 + llen) - buf) < length)) i += 1 + llen; @@ -485,22 +470,22 @@ fuzz_thread_resolver(void *arg) { * Send the reply to named(resolver). */ sent = sendto(listenfd, buf, length, 0, - (struct sockaddr *) &recvaddr, sizeof(recvaddr)); + (struct sockaddr *)&recvaddr, sizeof(recvaddr)); RUNTIME_CHECK(sent == length); /* We might get additional questions here (e.g. for CNAME). */ for (;;) { - fd_set fds; + fd_set fds; struct timeval tv; - int rv; - int max; + int rv; + int max; FD_ZERO(&fds); FD_SET(listenfd, &fds); FD_SET(sockfd, &fds); tv.tv_sec = 10; tv.tv_usec = 0; - max = (listenfd > sockfd ? listenfd : sockfd)+1; + max = (listenfd > sockfd ? listenfd : sockfd) + 1; rv = select(max, &fds, NULL, NULL, &tv); RUNTIME_CHECK(rv > 0); @@ -522,7 +507,8 @@ fuzz_thread_resolver(void *arg) { * NOERROR rcode and sending it back. */ length = recvfrom(listenfd, buf, 65536, 0, - (struct sockaddr *) &recvaddr, &socklen); + (struct sockaddr *)&recvaddr, + &socklen); /* * If this is a DNSKEY query, send the DNSKEY, @@ -534,8 +520,7 @@ fuzz_thread_resolver(void *arg) { /* Skip the name to get to the qtype */ i = 0; - while (((llen = nameptr[i]) != 0) && - (i < 255) && + while (((llen = nameptr[i]) != 0) && (i < 255) && (((nameptr + i + 1 + llen) - buf) < length)) i += 1 + llen; @@ -558,8 +543,8 @@ fuzz_thread_resolver(void *arg) { if (qtype == 48) { memmove(buf + 2, dnskey_wf + 2, - sizeof (dnskey_wf) - 2); - length = sizeof (dnskey_wf); + sizeof(dnskey_wf) - 2); + length = sizeof(dnskey_wf); } } } @@ -567,7 +552,7 @@ fuzz_thread_resolver(void *arg) { buf[2] |= 0x80; buf[3] &= 0xF0; sent = sendto(listenfd, buf, length, 0, - (struct sockaddr *) &recvaddr, + (struct sockaddr *)&recvaddr, sizeof(recvaddr)); RUNTIME_CHECK(sent == length); } @@ -608,13 +593,14 @@ fuzz_thread_resolver(void *arg) { * client side. */ static void * -fuzz_thread_tcp(void *arg) { - char *host; - char *port; +fuzz_thread_tcp(void *arg) +{ + char * host; + char * port; struct sockaddr_in servaddr; - int sockfd; - char *buf; - int loop; + int sockfd; + char * buf; + int loop; UNUSED(arg); @@ -630,7 +616,7 @@ fuzz_thread_tcp(void *arg) { *port = 0; ++port; - memset(&servaddr, 0, sizeof (servaddr)); + memset(&servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; RUNTIME_CHECK(inet_pton(AF_INET, host, &servaddr.sin_addr) == 1); servaddr.sin_port = htons(atoi(port)); @@ -655,15 +641,15 @@ fuzz_thread_tcp(void *arg) { for (loop = 0; loop < 100000; loop++) { ssize_t length; ssize_t sent; - int yes; - int r; + int yes; + int r; if (named_g_fuzz_type == isc_fuzz_tcpclient) { /* * To fuzz DNS TCP client we have to put 16-bit * message length preceding the start of packet. */ - length = read(0, buf+2, 65535); + length = read(0, buf + 2, 65535); buf[0] = (length >> 8) & 0xff; buf[1] = length & 0xff; length += 2; @@ -683,10 +669,10 @@ fuzz_thread_tcp(void *arg) { * processed. */ INSIST(length <= 65535); - buf[length++]='\r'; - buf[length++]='\n'; - buf[length++]='\r'; - buf[length++]='\n'; + buf[length++] = '\r'; + buf[length++] = '\n'; + buf[length++] = '\r'; + buf[length++] = '\n'; } RUNTIME_CHECK(pthread_mutex_lock(&mutex) == 0); @@ -696,11 +682,11 @@ fuzz_thread_tcp(void *arg) { sockfd = socket(AF_INET, SOCK_STREAM, 0); RUNTIME_CHECK(sockfd != -1); - RUNTIME_CHECK(setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, - &yes, sizeof(int)) == 0); + RUNTIME_CHECK(setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &yes, + sizeof(int)) == 0); do { - r = connect(sockfd, (struct sockaddr*)&servaddr, + r = connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)); if (r != 0) usleep(10000); @@ -736,7 +722,8 @@ fuzz_thread_tcp(void *arg) { * and process the next item from AFL. */ void -named_fuzz_notify(void) { +named_fuzz_notify(void) +{ #ifdef ENABLE_AFL if (getenv("AFL_CMIN")) { named_server_flushonshutdown(named_g_server, false); @@ -756,7 +743,8 @@ named_fuzz_notify(void) { } void -named_fuzz_setup(void) { +named_fuzz_setup(void) +{ #ifdef ENABLE_AFL if (getenv("__AFL_PERSISTENT") || getenv("AFL_CMIN")) { pthread_t thread; diff --git a/bin/named/geoip.c b/bin/named/geoip.c index d1824579e1..04814a6d70 100644 --- a/bin/named/geoip.c +++ b/bin/named/geoip.c @@ -21,8 +21,8 @@ #include -#include #include +#include static dns_geoip_databases_t geoip_table; @@ -30,17 +30,18 @@ static dns_geoip_databases_t geoip_table; static MMDB_s geoip_country, geoip_city, geoip_as, geoip_isp, geoip_domain; static MMDB_s * -open_geoip2(const char *dir, const char *dbfile, MMDB_s *mmdb) { - char pathbuf[PATH_MAX]; +open_geoip2(const char *dir, const char *dbfile, MMDB_s *mmdb) +{ + char pathbuf[PATH_MAX]; unsigned int n; - int ret; + int ret; n = snprintf(pathbuf, sizeof(pathbuf), "%s/%s", dir, dbfile); if (n >= sizeof(pathbuf)) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, - "GeoIP2 database '%s/%s': path too long", - dir, dbfile); + "GeoIP2 database '%s/%s': path too long", dir, + dbfile); return (NULL); } @@ -61,9 +62,9 @@ open_geoip2(const char *dir, const char *dbfile, MMDB_s *mmdb) { } #endif /* HAVE_GEOIP2 */ - void -named_geoip_init(void) { +named_geoip_init(void) +{ #if defined(HAVE_GEOIP2) if (named_g_geoip == NULL) { named_g_geoip = &geoip_table; @@ -74,7 +75,8 @@ named_geoip_init(void) { } void -named_geoip_load(char *dir) { +named_geoip_load(char *dir) +{ #if defined(HAVE_GEOIP2) REQUIRE(dir != NULL); @@ -82,30 +84,28 @@ named_geoip_load(char *dir) { NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, "looking for GeoIP2 databases in '%s'", dir); - named_g_geoip->country = open_geoip2(dir, "GeoIP2-Country.mmdb", - &geoip_country); + named_g_geoip->country = + open_geoip2(dir, "GeoIP2-Country.mmdb", &geoip_country); if (named_g_geoip->country == NULL) { - named_g_geoip->country = open_geoip2(dir, - "GeoLite2-Country.mmdb", - &geoip_country); + named_g_geoip->country = open_geoip2( + dir, "GeoLite2-Country.mmdb", &geoip_country); } - named_g_geoip->city = open_geoip2(dir, "GeoIP2-City.mmdb", - &geoip_city); + named_g_geoip->city = open_geoip2(dir, "GeoIP2-City.mmdb", &geoip_city); if (named_g_geoip->city == NULL) { - named_g_geoip->city = open_geoip2(dir, "GeoLite2-City.mmdb", - &geoip_city); + named_g_geoip->city = + open_geoip2(dir, "GeoLite2-City.mmdb", &geoip_city); } named_g_geoip->as = open_geoip2(dir, "GeoIP2-ASN.mmdb", &geoip_as); if (named_g_geoip->as == NULL) { - named_g_geoip->as = open_geoip2(dir, "GeoLite2-ASN.mmdb", - &geoip_as); + named_g_geoip->as = + open_geoip2(dir, "GeoLite2-ASN.mmdb", &geoip_as); } named_g_geoip->isp = open_geoip2(dir, "GeoIP2-ISP.mmdb", &geoip_isp); - named_g_geoip->domain = open_geoip2(dir, "GeoIP2-Domain.mmdb", - &geoip_domain); + named_g_geoip->domain = + open_geoip2(dir, "GeoIP2-Domain.mmdb", &geoip_domain); #else UNUSED(dir); @@ -113,7 +113,9 @@ named_geoip_load(char *dir) { #endif } -void named_geoip_unload(void) { +void +named_geoip_unload(void) +{ #ifdef HAVE_GEOIP2 if (named_g_geoip->country != NULL) { MMDB_close(named_g_geoip->country); @@ -139,7 +141,8 @@ void named_geoip_unload(void) { } void -named_geoip_shutdown(void) { +named_geoip_shutdown(void) +{ #ifdef HAVE_GEOIP2 named_geoip_unload(); #endif /* HAVE_GEOIP2 */ diff --git a/bin/named/include/dlz/dlz_dlopen_driver.h b/bin/named/include/dlz/dlz_dlopen_driver.h index 14a637bc06..8e260cb122 100644 --- a/bin/named/include/dlz/dlz_dlopen_driver.h +++ b/bin/named/include/dlz/dlz_dlopen_driver.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DLZ_DLOPEN_DRIVER_H #define DLZ_DLOPEN_DRIVER_H diff --git a/bin/named/include/named/builtin.h b/bin/named/include/named/builtin.h index 720eee634a..003f7d76d6 100644 --- a/bin/named/include/named/builtin.h +++ b/bin/named/include/named/builtin.h @@ -16,8 +16,10 @@ #include -isc_result_t named_builtin_init(void); +isc_result_t +named_builtin_init(void); -void named_builtin_deinit(void); +void +named_builtin_deinit(void); #endif /* NAMED_BUILTIN_H */ diff --git a/bin/named/include/named/config.h b/bin/named/include/named/config.h index a3e3ae241d..fa68917545 100644 --- a/bin/named/include/named/config.h +++ b/bin/named/include/named/config.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef NAMED_CONFIG_H #define NAMED_CONFIG_H 1 @@ -17,47 +16,47 @@ #include -#include - #include #include +#include + #define DEFAULT_IANA_ROOT_ZONE_MASTERS "_default_iana_root_zone_masters" isc_result_t named_config_parsedefaults(cfg_parser_t *parser, cfg_obj_t **conf); isc_result_t -named_config_get(cfg_obj_t const * const *maps, const char *name, - const cfg_obj_t **obj); +named_config_get(cfg_obj_t const *const *maps, const char *name, + const cfg_obj_t **obj); isc_result_t named_checknames_get(const cfg_obj_t **maps, const char *name, - const cfg_obj_t **obj); + const cfg_obj_t **obj); int named_config_listcount(const cfg_obj_t *list); isc_result_t named_config_getclass(const cfg_obj_t *classobj, dns_rdataclass_t defclass, - dns_rdataclass_t *classp); + dns_rdataclass_t *classp); isc_result_t named_config_gettype(const cfg_obj_t *typeobj, dns_rdatatype_t deftype, - dns_rdatatype_t *typep); + dns_rdatatype_t *typep); dns_zonetype_t named_config_getzonetype(const cfg_obj_t *zonetypeobj); isc_result_t named_config_getiplist(const cfg_obj_t *config, const cfg_obj_t *list, - in_port_t defport, isc_mem_t *mctx, - isc_sockaddr_t **addrsp, isc_dscp_t **dscpsp, - uint32_t *countp); + in_port_t defport, isc_mem_t *mctx, + isc_sockaddr_t **addrsp, isc_dscp_t **dscpsp, + uint32_t *countp); void named_config_putiplist(isc_mem_t *mctx, isc_sockaddr_t **addrsp, - isc_dscp_t **dscpsp, uint32_t count); + isc_dscp_t **dscpsp, uint32_t count); isc_result_t named_config_getmastersdef(const cfg_obj_t *cctx, const char *name, @@ -65,17 +64,17 @@ named_config_getmastersdef(const cfg_obj_t *cctx, const char *name, isc_result_t named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, - isc_mem_t *mctx, dns_ipkeylist_t *ipkl); + isc_mem_t *mctx, dns_ipkeylist_t *ipkl); isc_result_t named_config_getport(const cfg_obj_t *config, in_port_t *portp); isc_result_t named_config_getkeyalgorithm(const char *str, const dns_name_t **name, - uint16_t *digestbits); + uint16_t *digestbits); isc_result_t named_config_getkeyalgorithm2(const char *str, const dns_name_t **name, - unsigned int *typep, uint16_t *digestbits); + unsigned int *typep, uint16_t *digestbits); isc_result_t named_config_getdscp(const cfg_obj_t *config, isc_dscp_t *dscpp); diff --git a/bin/named/include/named/control.h b/bin/named/include/named/control.h index ac48741d2a..1bf7750cf1 100644 --- a/bin/named/include/named/control.h +++ b/bin/named/include/named/control.h @@ -19,57 +19,56 @@ #include -#include - #include +#include #include -#define NAMED_CONTROL_PORT 953 +#define NAMED_CONTROL_PORT 953 -#define NAMED_COMMAND_STOP "stop" -#define NAMED_COMMAND_HALT "halt" -#define NAMED_COMMAND_RELOAD "reload" -#define NAMED_COMMAND_RECONFIG "reconfig" -#define NAMED_COMMAND_REFRESH "refresh" -#define NAMED_COMMAND_RETRANSFER "retransfer" -#define NAMED_COMMAND_DUMPSTATS "stats" -#define NAMED_COMMAND_QUERYLOG "querylog" -#define NAMED_COMMAND_DUMPDB "dumpdb" -#define NAMED_COMMAND_SECROOTS "secroots" -#define NAMED_COMMAND_TRACE "trace" -#define NAMED_COMMAND_NOTRACE "notrace" -#define NAMED_COMMAND_FLUSH "flush" -#define NAMED_COMMAND_FLUSHNAME "flushname" -#define NAMED_COMMAND_FLUSHTREE "flushtree" -#define NAMED_COMMAND_STATUS "status" -#define NAMED_COMMAND_TSIGLIST "tsig-list" -#define NAMED_COMMAND_TSIGDELETE "tsig-delete" -#define NAMED_COMMAND_FREEZE "freeze" -#define NAMED_COMMAND_UNFREEZE "unfreeze" -#define NAMED_COMMAND_THAW "thaw" -#define NAMED_COMMAND_TIMERPOKE "timerpoke" -#define NAMED_COMMAND_RECURSING "recursing" -#define NAMED_COMMAND_NULL "null" -#define NAMED_COMMAND_NOTIFY "notify" -#define NAMED_COMMAND_VALIDATION "validation" -#define NAMED_COMMAND_SCAN "scan" -#define NAMED_COMMAND_SIGN "sign" -#define NAMED_COMMAND_LOADKEYS "loadkeys" -#define NAMED_COMMAND_ADDZONE "addzone" -#define NAMED_COMMAND_MODZONE "modzone" -#define NAMED_COMMAND_DELZONE "delzone" -#define NAMED_COMMAND_SHOWZONE "showzone" -#define NAMED_COMMAND_SYNC "sync" -#define NAMED_COMMAND_SIGNING "signing" -#define NAMED_COMMAND_ZONESTATUS "zonestatus" -#define NAMED_COMMAND_NTA "nta" -#define NAMED_COMMAND_TESTGEN "testgen" -#define NAMED_COMMAND_MKEYS "managed-keys" -#define NAMED_COMMAND_DNSTAPREOPEN "dnstap-reopen" -#define NAMED_COMMAND_DNSTAP "dnstap" -#define NAMED_COMMAND_TCPTIMEOUTS "tcp-timeouts" -#define NAMED_COMMAND_SERVESTALE "serve-stale" +#define NAMED_COMMAND_STOP "stop" +#define NAMED_COMMAND_HALT "halt" +#define NAMED_COMMAND_RELOAD "reload" +#define NAMED_COMMAND_RECONFIG "reconfig" +#define NAMED_COMMAND_REFRESH "refresh" +#define NAMED_COMMAND_RETRANSFER "retransfer" +#define NAMED_COMMAND_DUMPSTATS "stats" +#define NAMED_COMMAND_QUERYLOG "querylog" +#define NAMED_COMMAND_DUMPDB "dumpdb" +#define NAMED_COMMAND_SECROOTS "secroots" +#define NAMED_COMMAND_TRACE "trace" +#define NAMED_COMMAND_NOTRACE "notrace" +#define NAMED_COMMAND_FLUSH "flush" +#define NAMED_COMMAND_FLUSHNAME "flushname" +#define NAMED_COMMAND_FLUSHTREE "flushtree" +#define NAMED_COMMAND_STATUS "status" +#define NAMED_COMMAND_TSIGLIST "tsig-list" +#define NAMED_COMMAND_TSIGDELETE "tsig-delete" +#define NAMED_COMMAND_FREEZE "freeze" +#define NAMED_COMMAND_UNFREEZE "unfreeze" +#define NAMED_COMMAND_THAW "thaw" +#define NAMED_COMMAND_TIMERPOKE "timerpoke" +#define NAMED_COMMAND_RECURSING "recursing" +#define NAMED_COMMAND_NULL "null" +#define NAMED_COMMAND_NOTIFY "notify" +#define NAMED_COMMAND_VALIDATION "validation" +#define NAMED_COMMAND_SCAN "scan" +#define NAMED_COMMAND_SIGN "sign" +#define NAMED_COMMAND_LOADKEYS "loadkeys" +#define NAMED_COMMAND_ADDZONE "addzone" +#define NAMED_COMMAND_MODZONE "modzone" +#define NAMED_COMMAND_DELZONE "delzone" +#define NAMED_COMMAND_SHOWZONE "showzone" +#define NAMED_COMMAND_SYNC "sync" +#define NAMED_COMMAND_SIGNING "signing" +#define NAMED_COMMAND_ZONESTATUS "zonestatus" +#define NAMED_COMMAND_NTA "nta" +#define NAMED_COMMAND_TESTGEN "testgen" +#define NAMED_COMMAND_MKEYS "managed-keys" +#define NAMED_COMMAND_DNSTAPREOPEN "dnstap-reopen" +#define NAMED_COMMAND_DNSTAP "dnstap" +#define NAMED_COMMAND_TCPTIMEOUTS "tcp-timeouts" +#define NAMED_COMMAND_SERVESTALE "serve-stale" isc_result_t named_controls_create(named_server_t *server, named_controls_t **ctrlsp); diff --git a/bin/named/include/named/globals.h b/bin/named/include/named/globals.h index 7d5877c8ac..1329b5039b 100644 --- a/bin/named/include/named/globals.h +++ b/bin/named/include/named/globals.h @@ -16,27 +16,26 @@ #include -#include #include #include #include - -#include -#include +#include #include #include -#include +#include +#include -#include +#include #include +#include #undef EXTERN #undef INIT #ifdef NAMED_MAIN #define EXTERN -#define INIT(v) = (v) +#define INIT(v) = (v) #else #define EXTERN extern #define INIT(v) @@ -46,116 +45,113 @@ #define NAMED_RUN_PID_DIR 1 #endif -EXTERN isc_mem_t * named_g_mctx INIT(NULL); -EXTERN unsigned int named_g_cpus INIT(0); -EXTERN unsigned int named_g_udpdisp INIT(0); -EXTERN isc_taskmgr_t * named_g_taskmgr INIT(NULL); -EXTERN dns_dispatchmgr_t * named_g_dispatchmgr INIT(NULL); -EXTERN unsigned int named_g_cpus_detected INIT(1); +EXTERN isc_mem_t *named_g_mctx INIT(NULL); +EXTERN unsigned int named_g_cpus INIT(0); +EXTERN unsigned int named_g_udpdisp INIT(0); +EXTERN isc_taskmgr_t *named_g_taskmgr INIT(NULL); +EXTERN dns_dispatchmgr_t *named_g_dispatchmgr INIT(NULL); +EXTERN unsigned int named_g_cpus_detected INIT(1); #ifdef ENABLE_AFL -EXTERN bool named_g_run_done INIT(false); +EXTERN bool named_g_run_done INIT(false); #endif /* * XXXRTH We're going to want multiple timer managers eventually. One * for really short timers, another for client timers, and one * for zone timers. */ -EXTERN isc_timermgr_t * named_g_timermgr INIT(NULL); -EXTERN isc_socketmgr_t * named_g_socketmgr INIT(NULL); -EXTERN isc_nm_t * named_g_nm INIT(NULL); -EXTERN cfg_parser_t * named_g_parser INIT(NULL); -EXTERN cfg_parser_t * named_g_addparser INIT(NULL); -EXTERN const char * named_g_version INIT(VERSION); -EXTERN const char * named_g_product INIT(PRODUCT); -EXTERN const char * named_g_description INIT(DESCRIPTION); -EXTERN const char * named_g_srcid INIT(SRCID); -EXTERN const char * named_g_configargs INIT(CONFIGARGS); -EXTERN const char * named_g_builder INIT(BUILDER); -EXTERN in_port_t named_g_port INIT(0); -EXTERN isc_dscp_t named_g_dscp INIT(-1); +EXTERN isc_timermgr_t *named_g_timermgr INIT(NULL); +EXTERN isc_socketmgr_t *named_g_socketmgr INIT(NULL); +EXTERN isc_nm_t *named_g_nm INIT(NULL); +EXTERN cfg_parser_t *named_g_parser INIT(NULL); +EXTERN cfg_parser_t *named_g_addparser INIT(NULL); +EXTERN const char *named_g_version INIT(VERSION); +EXTERN const char *named_g_product INIT(PRODUCT); +EXTERN const char *named_g_description INIT(DESCRIPTION); +EXTERN const char *named_g_srcid INIT(SRCID); +EXTERN const char *named_g_configargs INIT(CONFIGARGS); +EXTERN const char *named_g_builder INIT(BUILDER); +EXTERN in_port_t named_g_port INIT(0); +EXTERN isc_dscp_t named_g_dscp INIT(-1); -EXTERN named_server_t * named_g_server INIT(NULL); +EXTERN named_server_t *named_g_server INIT(NULL); /* * Logging. */ -EXTERN isc_log_t * named_g_lctx INIT(NULL); -EXTERN isc_logcategory_t * named_g_categories INIT(NULL); -EXTERN isc_logmodule_t * named_g_modules INIT(NULL); -EXTERN unsigned int named_g_debuglevel INIT(0); +EXTERN isc_log_t *named_g_lctx INIT(NULL); +EXTERN isc_logcategory_t *named_g_categories INIT(NULL); +EXTERN isc_logmodule_t *named_g_modules INIT(NULL); +EXTERN unsigned int named_g_debuglevel INIT(0); /* * Current configuration information. */ -EXTERN cfg_obj_t * named_g_config INIT(NULL); -EXTERN const cfg_obj_t * named_g_defaults INIT(NULL); -EXTERN const char * named_g_conffile INIT(NAMED_SYSCONFDIR - "/named.conf"); -EXTERN const char * named_g_defaultbindkeys INIT(NAMED_SYSCONFDIR - "/bind.keys"); -EXTERN const char * named_g_keyfile INIT(NAMED_SYSCONFDIR - "/rndc.key"); +EXTERN cfg_obj_t *named_g_config INIT(NULL); +EXTERN const cfg_obj_t *named_g_defaults INIT(NULL); +EXTERN const char *named_g_conffile INIT(NAMED_SYSCONFDIR "/named.conf"); +EXTERN const char *named_g_defaultbindkeys INIT(NAMED_SYSCONFDIR "/bind.keys"); +EXTERN const char *named_g_keyfile INIT(NAMED_SYSCONFDIR "/rndc.key"); -EXTERN dns_tsigkey_t * named_g_sessionkey INIT(NULL); -EXTERN dns_name_t named_g_sessionkeyname; -EXTERN bool named_g_conffileset INIT(false); -EXTERN cfg_aclconfctx_t * named_g_aclconfctx INIT(NULL); +EXTERN dns_tsigkey_t *named_g_sessionkey INIT(NULL); +EXTERN dns_name_t named_g_sessionkeyname; +EXTERN bool named_g_conffileset INIT(false); +EXTERN cfg_aclconfctx_t *named_g_aclconfctx INIT(NULL); /* * Initial resource limits. */ -EXTERN isc_resourcevalue_t named_g_initstacksize INIT(0); -EXTERN isc_resourcevalue_t named_g_initdatasize INIT(0); -EXTERN isc_resourcevalue_t named_g_initcoresize INIT(0); -EXTERN isc_resourcevalue_t named_g_initopenfiles INIT(0); +EXTERN isc_resourcevalue_t named_g_initstacksize INIT(0); +EXTERN isc_resourcevalue_t named_g_initdatasize INIT(0); +EXTERN isc_resourcevalue_t named_g_initcoresize INIT(0); +EXTERN isc_resourcevalue_t named_g_initopenfiles INIT(0); /* * Misc. */ -EXTERN bool named_g_coreok INIT(true); -EXTERN const char * named_g_chrootdir INIT(NULL); -EXTERN bool named_g_foreground INIT(false); -EXTERN bool named_g_logstderr INIT(false); -EXTERN bool named_g_nosyslog INIT(false); -EXTERN const char * named_g_logfile INIT(NULL); +EXTERN bool named_g_coreok INIT(true); +EXTERN const char *named_g_chrootdir INIT(NULL); +EXTERN bool named_g_foreground INIT(false); +EXTERN bool named_g_logstderr INIT(false); +EXTERN bool named_g_nosyslog INIT(false); +EXTERN const char *named_g_logfile INIT(NULL); -EXTERN const char * named_g_defaultsessionkeyfile - INIT(NAMED_LOCALSTATEDIR "/run/named/" - "session.key"); -EXTERN const char * named_g_defaultlockfile INIT(NAMED_LOCALSTATEDIR - "/run/named/" - "named.lock"); -EXTERN bool named_g_forcelock INIT(false); +EXTERN const char *named_g_defaultsessionkeyfile INIT(NAMED_LOCALSTATEDIR + "/run/named/" + "session.key"); +EXTERN const char *named_g_defaultlockfile INIT(NAMED_LOCALSTATEDIR "/run/" + "named/" + "named." + "lock"); +EXTERN bool named_g_forcelock INIT(false); #if NAMED_RUN_PID_DIR -EXTERN const char * named_g_defaultpidfile INIT(NAMED_LOCALSTATEDIR - "/run/named/" - "named.pid"); +EXTERN const char *named_g_defaultpidfile INIT(NAMED_LOCALSTATEDIR "/run/named/" + "named.pid"); #else -EXTERN const char * named_g_defaultpidfile INIT(NAMED_LOCALSTATEDIR - "/run/named.pid"); +EXTERN const char *named_g_defaultpidfile INIT(NAMED_LOCALSTATEDIR "/run/" + "named.pid"); #endif -EXTERN const char * named_g_username INIT(NULL); +EXTERN const char *named_g_username INIT(NULL); -EXTERN const char * named_g_engine INIT(NULL); +EXTERN const char *named_g_engine INIT(NULL); -EXTERN isc_time_t named_g_boottime; -EXTERN isc_time_t named_g_configtime; -EXTERN bool named_g_memstatistics INIT(false); -EXTERN bool named_g_keepstderr INIT(false); +EXTERN isc_time_t named_g_boottime; +EXTERN isc_time_t named_g_configtime; +EXTERN bool named_g_memstatistics INIT(false); +EXTERN bool named_g_keepstderr INIT(false); -EXTERN unsigned int named_g_tat_interval INIT(24*3600); +EXTERN unsigned int named_g_tat_interval INIT(24 * 3600); #if defined(HAVE_GEOIP2) -EXTERN dns_geoip_databases_t *named_g_geoip INIT(NULL); +EXTERN dns_geoip_databases_t *named_g_geoip INIT(NULL); #endif -EXTERN const char * named_g_fuzz_addr INIT(NULL); -EXTERN isc_fuzztype_t named_g_fuzz_type INIT(isc_fuzz_none); +EXTERN const char *named_g_fuzz_addr INIT(NULL); +EXTERN isc_fuzztype_t named_g_fuzz_type INIT(isc_fuzz_none); -EXTERN dns_acl_t * named_g_mapped INIT(NULL); +EXTERN dns_acl_t *named_g_mapped INIT(NULL); #undef EXTERN #undef INIT diff --git a/bin/named/include/named/log.h b/bin/named/include/named/log.h index 403e11e88a..7245130bbc 100644 --- a/bin/named/include/named/log.h +++ b/bin/named/include/named/log.h @@ -19,19 +19,19 @@ #include -#include /* Required for named_g_(categories|modules). */ +#include /* Required for named_g_(categories|modules). */ /* Unused slot 0. */ -#define NAMED_LOGCATEGORY_UNMATCHED (&named_g_categories[1]) +#define NAMED_LOGCATEGORY_UNMATCHED (&named_g_categories[1]) /* * Backwards compatibility. */ -#define NAMED_LOGCATEGORY_GENERAL ISC_LOGCATEGORY_GENERAL +#define NAMED_LOGCATEGORY_GENERAL ISC_LOGCATEGORY_GENERAL -#define NAMED_LOGMODULE_MAIN (&named_g_modules[0]) -#define NAMED_LOGMODULE_SERVER (&named_g_modules[1]) -#define NAMED_LOGMODULE_CONTROL (&named_g_modules[2]) +#define NAMED_LOGMODULE_MAIN (&named_g_modules[0]) +#define NAMED_LOGMODULE_SERVER (&named_g_modules[1]) +#define NAMED_LOGMODULE_CONTROL (&named_g_modules[2]) isc_result_t named_log_init(bool safe); diff --git a/bin/named/include/named/logconf.h b/bin/named/include/named/logconf.h index 047e85d88b..22b8212148 100644 --- a/bin/named/include/named/logconf.h +++ b/bin/named/include/named/logconf.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef NAMED_LOGCONF_H #define NAMED_LOGCONF_H 1 diff --git a/bin/named/include/named/main.h b/bin/named/include/named/main.h index a126e935c8..ff77ca9e6c 100644 --- a/bin/named/include/named/main.h +++ b/bin/named/include/named/main.h @@ -25,7 +25,7 @@ ISC_PLATFORM_NORETURN_PRE void named_main_earlyfatal(const char *format, ...) -ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST; + ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST; void named_main_earlywarning(const char *format, ...) ISC_FORMAT_PRINTF(1, 2); diff --git a/bin/named/include/named/server.h b/bin/named/include/named/server.h index 97e0082ee3..842e82ee6e 100644 --- a/bin/named/include/named/server.h +++ b/bin/named/include/named/server.h @@ -35,80 +35,80 @@ #include -#define NAMED_EVENTCLASS ISC_EVENTCLASS(0x4E43) -#define NAMED_EVENT_RELOAD (NAMED_EVENTCLASS + 0) -#define NAMED_EVENT_DELZONE (NAMED_EVENTCLASS + 1) +#define NAMED_EVENTCLASS ISC_EVENTCLASS(0x4E43) +#define NAMED_EVENT_RELOAD (NAMED_EVENTCLASS + 0) +#define NAMED_EVENT_DELZONE (NAMED_EVENTCLASS + 1) /*% * Name server state. Better here than in lots of separate global variables. */ struct named_server { - unsigned int magic; - isc_mem_t * mctx; + unsigned int magic; + isc_mem_t * mctx; - ns_server_t * sctx; + ns_server_t *sctx; - isc_task_t * task; + isc_task_t *task; - char * statsfile; /*%< Statistics file name */ - char * dumpfile; /*%< Dump file name */ - char * secrootsfile; /*%< Secroots file name */ - char * bindkeysfile; /*%< bind.keys file name */ - char * recfile; /*%< Recursive file name */ - bool version_set; /*%< User has set version */ - char * version; /*%< User-specified version */ - bool hostname_set; /*%< User has set hostname */ - char * hostname; /*%< User-specified hostname */ + char *statsfile; /*%< Statistics file name */ + char *dumpfile; /*%< Dump file name */ + char *secrootsfile; /*%< Secroots file name */ + char *bindkeysfile; /*%< bind.keys file name */ + char *recfile; /*%< Recursive file name */ + bool version_set; /*%< User has set version */ + char *version; /*%< User-specified version */ + bool hostname_set; /*%< User has set hostname */ + char *hostname; /*%< User-specified hostname */ /* Server data structures. */ - dns_loadmgr_t * loadmgr; - dns_zonemgr_t * zonemgr; - dns_viewlist_t viewlist; - dns_kasplist_t kasplist; - ns_interfacemgr_t * interfacemgr; - dns_db_t * in_roothints; + dns_loadmgr_t * loadmgr; + dns_zonemgr_t * zonemgr; + dns_viewlist_t viewlist; + dns_kasplist_t kasplist; + ns_interfacemgr_t *interfacemgr; + dns_db_t * in_roothints; - isc_timer_t * interface_timer; - isc_timer_t * heartbeat_timer; - isc_timer_t * pps_timer; - isc_timer_t * tat_timer; + isc_timer_t *interface_timer; + isc_timer_t *heartbeat_timer; + isc_timer_t *pps_timer; + isc_timer_t *tat_timer; - uint32_t interface_interval; - uint32_t heartbeat_interval; + uint32_t interface_interval; + uint32_t heartbeat_interval; - isc_mutex_t reload_event_lock; - isc_event_t * reload_event; - named_reload_t reload_status; + isc_mutex_t reload_event_lock; + isc_event_t * reload_event; + named_reload_t reload_status; - bool flushonshutdown; + bool flushonshutdown; - named_cachelist_t cachelist; /*%< Possibly shared caches */ - isc_stats_t * zonestats; /*% Zone management stats */ - isc_stats_t * resolverstats; /*% Resolver stats */ - isc_stats_t * sockstats; /*%< Socket stats */ + named_cachelist_t cachelist; /*%< Possibly shared caches */ + isc_stats_t * zonestats; /*% Zone management stats */ + isc_stats_t * resolverstats; /*% Resolver stats */ + isc_stats_t * sockstats; /*%< Socket stats */ - named_controls_t * controls; /*%< Control channels */ - unsigned int dispatchgen; - named_dispatchlist_t dispatches; + named_controls_t * controls; /*%< Control channels */ + unsigned int dispatchgen; + named_dispatchlist_t dispatches; named_statschannellist_t statschannels; - dns_tsigkey_t *sessionkey; - char *session_keyfile; - dns_name_t *session_keyname; - unsigned int session_keyalg; - uint16_t session_keybits; - bool interface_auto; - unsigned char secret[32]; /*%< Server Cookie Secret */ - ns_cookiealg_t cookiealg; + dns_tsigkey_t *sessionkey; + char * session_keyfile; + dns_name_t * session_keyname; + unsigned int session_keyalg; + uint16_t session_keybits; + bool interface_auto; + unsigned char secret[32]; /*%< Server Cookie Secret */ + ns_cookiealg_t cookiealg; - dns_dtenv_t *dtenv; /*%< Dnstap environment */ + dns_dtenv_t *dtenv; /*%< Dnstap environment */ - char * lockfile; + char *lockfile; }; -#define NAMED_SERVER_MAGIC ISC_MAGIC('S','V','E','R') -#define NAMED_SERVER_VALID(s) ISC_MAGIC_VALID(s, NAMED_SERVER_MAGIC) +#define NAMED_SERVER_MAGIC ISC_MAGIC('S', 'V', 'E', 'R') +#define NAMED_SERVER_VALID(s) ISC_MAGIC_VALID(s, NAMED_SERVER_MAGIC) void named_server_create(isc_mem_t *mctx, named_server_t **serverp); @@ -148,7 +148,7 @@ named_server_flushonshutdown(named_server_t *server, bool flush); isc_result_t named_server_reloadcommand(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text); + isc_buffer_t **text); /*%< * Act on a "reload" command from the command channel. */ @@ -161,21 +161,21 @@ named_server_reconfigcommand(named_server_t *server); isc_result_t named_server_notifycommand(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text); + isc_buffer_t **text); /*%< * Act on a "notify" command from the command channel. */ isc_result_t named_server_refreshcommand(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text); + isc_buffer_t **text); /*%< * Act on a "refresh" command from the command channel. */ isc_result_t named_server_retransfercommand(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text); + isc_buffer_t **text); /*%< * Act on a "retransfer" command from the command channel. */ @@ -217,7 +217,7 @@ named_server_dumpdb(named_server_t *server, isc_lex_t *lex, */ isc_result_t named_server_dumpsecroots(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text); + isc_buffer_t **text); /*% * Change or increment the server debug level. @@ -237,8 +237,7 @@ named_server_flushcache(named_server_t *server, isc_lex_t *lex); * flush all the names under the specified name. */ isc_result_t -named_server_flushnode(named_server_t *server, isc_lex_t *lex, - bool tree); +named_server_flushnode(named_server_t *server, isc_lex_t *lex, bool tree); /*% * Report the server's status. @@ -257,14 +256,14 @@ named_server_tsiglist(named_server_t *server, isc_buffer_t **text); */ isc_result_t named_server_tsigdelete(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text); + isc_buffer_t **text); /*% * Enable or disable updates for a zone. */ isc_result_t -named_server_freeze(named_server_t *server, bool freeze, - isc_lex_t *lex, isc_buffer_t **text); +named_server_freeze(named_server_t *server, bool freeze, isc_lex_t *lex, + isc_buffer_t **text); /*% * Dump zone updates to disk, optionally removing the journal file @@ -342,8 +341,8 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex, * duration, in a particular view if specified, or in all views. */ isc_result_t -named_server_nta(named_server_t *server, isc_lex_t *lex, - bool readonly, isc_buffer_t **text); +named_server_nta(named_server_t *server, isc_lex_t *lex, bool readonly, + isc_buffer_t **text); /*% * Generates a test sequence that is only for use in system tests. The diff --git a/bin/named/include/named/smf_globals.h b/bin/named/include/named/smf_globals.h index e06823654b..bf3fa63da5 100644 --- a/bin/named/include/named/smf_globals.h +++ b/bin/named/include/named/smf_globals.h @@ -24,12 +24,14 @@ #define INIT(v) #endif -EXTERN unsigned int named_smf_got_instance INIT(0); -EXTERN unsigned int named_smf_chroot INIT(0); -EXTERN unsigned int named_smf_want_disable INIT(0); +EXTERN unsigned int named_smf_got_instance INIT(0); +EXTERN unsigned int named_smf_chroot INIT(0); +EXTERN unsigned int named_smf_want_disable INIT(0); -isc_result_t named_smf_add_message(isc_buffer_t **text); -isc_result_t named_smf_get_instance(char **name, int debug, isc_mem_t *mctx); +isc_result_t +named_smf_add_message(isc_buffer_t **text); +isc_result_t +named_smf_get_instance(char **name, int debug, isc_mem_t *mctx); #undef EXTERN #undef INIT diff --git a/bin/named/include/named/statschannel.h b/bin/named/include/named/statschannel.h index dff0088c36..74614c623b 100644 --- a/bin/named/include/named/statschannel.h +++ b/bin/named/include/named/statschannel.h @@ -17,13 +17,12 @@ * The statistics channels built-in the name server. */ -#include - #include +#include #include -#define NAMED_STATSCHANNEL_HTTPPORT 80 +#define NAMED_STATSCHANNEL_HTTPPORT 80 isc_result_t named_statschannels_configure(named_server_t *server, const cfg_obj_t *config, @@ -38,7 +37,6 @@ named_statschannels_configure(named_server_t *server, const cfg_obj_t *config, * and create a new one. */ - void named_statschannels_shutdown(named_server_t *server); /*%< @@ -51,4 +49,4 @@ named_stats_dump(named_server_t *server, FILE *fp); * Dump statistics counters managed by the server to the file fp. */ -#endif /* NAMED_STATSCHANNEL_H */ +#endif /* NAMED_STATSCHANNEL_H */ diff --git a/bin/named/include/named/tkeyconf.h b/bin/named/include/named/tkeyconf.h index 2e66e301e2..996a5d941b 100644 --- a/bin/named/include/named/tkeyconf.h +++ b/bin/named/include/named/tkeyconf.h @@ -14,8 +14,8 @@ /*! \file */ -#include #include +#include #include diff --git a/bin/named/include/named/tsigconf.h b/bin/named/include/named/tsigconf.h index 9c49ba72b0..0481e665d0 100644 --- a/bin/named/include/named/tsigconf.h +++ b/bin/named/include/named/tsigconf.h @@ -14,8 +14,8 @@ /*! \file */ -#include #include +#include ISC_LANG_BEGINDECLS diff --git a/bin/named/include/named/types.h b/bin/named/include/named/types.h index 234724a25c..33fab2fd30 100644 --- a/bin/named/include/named/types.h +++ b/bin/named/include/named/types.h @@ -16,16 +16,16 @@ #include -typedef struct named_cache named_cache_t; -typedef ISC_LIST(named_cache_t) named_cachelist_t; -typedef struct named_server named_server_t; -typedef struct named_xmld named_xmld_t; -typedef struct named_xmldmgr named_xmldmgr_t; -typedef struct named_controls named_controls_t; -typedef struct named_dispatch named_dispatch_t; -typedef ISC_LIST(named_dispatch_t) named_dispatchlist_t; -typedef struct named_statschannel named_statschannel_t; -typedef ISC_LIST(named_statschannel_t) named_statschannellist_t; +typedef struct named_cache named_cache_t; +typedef ISC_LIST(named_cache_t) named_cachelist_t; +typedef struct named_server named_server_t; +typedef struct named_xmld named_xmld_t; +typedef struct named_xmldmgr named_xmldmgr_t; +typedef struct named_controls named_controls_t; +typedef struct named_dispatch named_dispatch_t; +typedef ISC_LIST(named_dispatch_t) named_dispatchlist_t; +typedef struct named_statschannel named_statschannel_t; +typedef ISC_LIST(named_statschannel_t) named_statschannellist_t; /*% * Used for server->reload_status as printed by `rndc status` diff --git a/bin/named/include/named/zoneconf.h b/bin/named/include/named/zoneconf.h index 88633b24f4..51641c7724 100644 --- a/bin/named/include/named/zoneconf.h +++ b/bin/named/include/named/zoneconf.h @@ -27,7 +27,7 @@ ISC_LANG_BEGINDECLS isc_result_t named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, const cfg_obj_t *zconfig, cfg_aclconfctx_t *ac, - dns_kasplist_t* kasplist, dns_zone_t *zone, + dns_kasplist_t *kasplist, dns_zone_t *zone, dns_zone_t *raw); /*%< * Configure or reconfigure a zone according to the named.conf @@ -52,10 +52,8 @@ named_zone_reusable(dns_zone_t *zone, const cfg_obj_t *zconfig); */ isc_result_t -named_zone_configure_writeable_dlz(dns_dlzdb_t *dlzdatabase, - dns_zone_t *zone, - dns_rdataclass_t rdclass, - dns_name_t *name); +named_zone_configure_writeable_dlz(dns_dlzdb_t *dlzdatabase, dns_zone_t *zone, + dns_rdataclass_t rdclass, dns_name_t *name); /*%> * configure a DLZ zone, setting up the database methods and calling * postload to load the origin values diff --git a/bin/named/log.c b/bin/named/log.c index 515c205108..0bb3068413 100644 --- a/bin/named/log.c +++ b/bin/named/log.c @@ -15,10 +15,10 @@ #include -#include - #include +#include + #include #ifndef ISC_FACILITY @@ -30,26 +30,22 @@ * \#define to and to update the list in * bin/check/check-tool.c. */ -static isc_logcategory_t categories[] = { - { "", 0 }, - { "unmatched", 0 }, - { NULL, 0 } -}; +static isc_logcategory_t categories[] = { { "", 0 }, + { "unmatched", 0 }, + { NULL, 0 } }; /*% * When adding a new module, be sure to add the appropriate * \#define to . */ static isc_logmodule_t modules[] = { - { "main", 0 }, - { "server", 0 }, - { "control", 0 }, - { NULL, 0 } + { "main", 0 }, { "server", 0 }, { "control", 0 }, { NULL, 0 } }; isc_result_t -named_log_init(bool safe) { - isc_result_t result; +named_log_init(bool safe) +{ + isc_result_t result; isc_logconfig_t *lcfg = NULL; named_g_categories = categories; @@ -87,7 +83,7 @@ named_log_init(bool safe) { return (ISC_R_SUCCESS); - cleanup: +cleanup: isc_log_destroy(&named_g_lctx); isc_log_setcontext(NULL); dns_log_setcontext(NULL); @@ -96,8 +92,9 @@ named_log_init(bool safe) { } isc_result_t -named_log_setdefaultchannels(isc_logconfig_t *lcfg) { - isc_result_t result; +named_log_setdefaultchannels(isc_logconfig_t *lcfg) +{ + isc_result_t result; isc_logdestination_t destination; /* @@ -105,17 +102,14 @@ named_log_setdefaultchannels(isc_logconfig_t *lcfg) { * stderr. In BIND, we want to override this and log to named.run * instead, unless the -g option was given. */ - if (! named_g_logstderr) { + if (!named_g_logstderr) { destination.file.stream = NULL; destination.file.name = "named.run"; destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.maximum_size = 0; - result = isc_log_createchannel(lcfg, "default_debug", - ISC_LOG_TOFILE, - ISC_LOG_DYNAMIC, - &destination, - ISC_LOG_PRINTTIME| - ISC_LOG_DEBUGONLY); + result = isc_log_createchannel( + lcfg, "default_debug", ISC_LOG_TOFILE, ISC_LOG_DYNAMIC, + &destination, ISC_LOG_PRINTTIME | ISC_LOG_DEBUGONLY); if (result != ISC_R_SUCCESS) goto cleanup; } @@ -125,22 +119,19 @@ named_log_setdefaultchannels(isc_logconfig_t *lcfg) { destination.file.name = named_g_logfile; destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.maximum_size = 0; - result = isc_log_createchannel(lcfg, "default_logfile", - ISC_LOG_TOFILE, - ISC_LOG_DYNAMIC, - &destination, - ISC_LOG_PRINTTIME| - ISC_LOG_PRINTCATEGORY| - ISC_LOG_PRINTLEVEL); + result = isc_log_createchannel( + lcfg, "default_logfile", ISC_LOG_TOFILE, + ISC_LOG_DYNAMIC, &destination, + ISC_LOG_PRINTTIME | ISC_LOG_PRINTCATEGORY | + ISC_LOG_PRINTLEVEL); if (result != ISC_R_SUCCESS) goto cleanup; } #if ISC_FACILITY != LOG_DAEMON destination.facility = ISC_FACILITY; - result = isc_log_createchannel(lcfg, "default_syslog", - ISC_LOG_TOSYSLOG, ISC_LOG_INFO, - &destination, 0); + result = isc_log_createchannel(lcfg, "default_syslog", ISC_LOG_TOSYSLOG, + ISC_LOG_INFO, &destination, 0); if (result != ISC_R_SUCCESS) goto cleanup; #endif @@ -152,19 +143,19 @@ named_log_setdefaultchannels(isc_logconfig_t *lcfg) { result = ISC_R_SUCCESS; - cleanup: +cleanup: return (result); } isc_result_t -named_log_setsafechannels(isc_logconfig_t *lcfg) { - isc_result_t result; +named_log_setsafechannels(isc_logconfig_t *lcfg) +{ + isc_result_t result; isc_logdestination_t destination; - if (! named_g_logstderr) { + if (!named_g_logstderr) { result = isc_log_createchannel(lcfg, "default_debug", - ISC_LOG_TONULL, - ISC_LOG_DYNAMIC, + ISC_LOG_TONULL, ISC_LOG_DYNAMIC, NULL, 0); if (result != ISC_R_SUCCESS) goto cleanup; @@ -183,34 +174,32 @@ named_log_setsafechannels(isc_logconfig_t *lcfg) { destination.file.name = named_g_logfile; destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.maximum_size = 0; - result = isc_log_createchannel(lcfg, "default_logfile", - ISC_LOG_TOFILE, - ISC_LOG_DYNAMIC, - &destination, - ISC_LOG_PRINTTIME| - ISC_LOG_PRINTCATEGORY| - ISC_LOG_PRINTLEVEL); + result = isc_log_createchannel( + lcfg, "default_logfile", ISC_LOG_TOFILE, + ISC_LOG_DYNAMIC, &destination, + ISC_LOG_PRINTTIME | ISC_LOG_PRINTCATEGORY | + ISC_LOG_PRINTLEVEL); if (result != ISC_R_SUCCESS) goto cleanup; } #if ISC_FACILITY != LOG_DAEMON destination.facility = ISC_FACILITY; - result = isc_log_createchannel(lcfg, "default_syslog", - ISC_LOG_TOSYSLOG, ISC_LOG_INFO, - &destination, 0); + result = isc_log_createchannel(lcfg, "default_syslog", ISC_LOG_TOSYSLOG, + ISC_LOG_INFO, &destination, 0); if (result != ISC_R_SUCCESS) goto cleanup; #endif result = ISC_R_SUCCESS; - cleanup: +cleanup: return (result); } isc_result_t -named_log_setdefaultcategory(isc_logconfig_t *lcfg) { +named_log_setdefaultcategory(isc_logconfig_t *lcfg) +{ isc_result_t result = ISC_R_SUCCESS; result = isc_log_usechannel(lcfg, "default_debug", @@ -218,32 +207,34 @@ named_log_setdefaultcategory(isc_logconfig_t *lcfg) { if (result != ISC_R_SUCCESS) goto cleanup; - if (! named_g_logstderr) { + if (!named_g_logstderr) { if (named_g_logfile != NULL) result = isc_log_usechannel(lcfg, "default_logfile", ISC_LOGCATEGORY_DEFAULT, NULL); - else if (! named_g_nosyslog) + else if (!named_g_nosyslog) result = isc_log_usechannel(lcfg, "default_syslog", ISC_LOGCATEGORY_DEFAULT, NULL); } - cleanup: +cleanup: return (result); } isc_result_t -named_log_setunmatchedcategory(isc_logconfig_t *lcfg) { +named_log_setunmatchedcategory(isc_logconfig_t *lcfg) +{ isc_result_t result; - result = isc_log_usechannel(lcfg, "null", - NAMED_LOGCATEGORY_UNMATCHED, NULL); + result = isc_log_usechannel(lcfg, "null", NAMED_LOGCATEGORY_UNMATCHED, + NULL); return (result); } void -named_log_shutdown(void) { +named_log_shutdown(void) +{ isc_log_destroy(&named_g_lctx); isc_log_setcontext(NULL); dns_log_setcontext(NULL); diff --git a/bin/named/logconf.c b/bin/named/logconf.c index 37f5e248d6..5a56539d78 100644 --- a/bin/named/logconf.c +++ b/bin/named/logconf.c @@ -29,9 +29,11 @@ #include #include -#define CHECK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) goto cleanup; \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto cleanup; \ } while (0) /*% @@ -39,20 +41,20 @@ * in 'ccat' and add it to 'logconfig'. */ static isc_result_t -category_fromconf(const cfg_obj_t *ccat, isc_logconfig_t *logconfig) { - isc_result_t result; - const char *catname; - isc_logcategory_t *category; - isc_logmodule_t *module; - const cfg_obj_t *destinations = NULL; +category_fromconf(const cfg_obj_t *ccat, isc_logconfig_t *logconfig) +{ + isc_result_t result; + const char * catname; + isc_logcategory_t * category; + isc_logmodule_t * module; + const cfg_obj_t * destinations = NULL; const cfg_listelt_t *element = NULL; catname = cfg_obj_asstring(cfg_tuple_get(ccat, "name")); category = isc_log_categorybyname(named_g_lctx, catname); if (category == NULL) { cfg_obj_log(ccat, named_g_lctx, ISC_LOG_ERROR, - "unknown logging category '%s' ignored", - catname); + "unknown logging category '%s' ignored", catname); /* * Allow further processing by returning success. */ @@ -65,12 +67,10 @@ category_fromconf(const cfg_obj_t *ccat, isc_logconfig_t *logconfig) { module = NULL; destinations = cfg_tuple_get(ccat, "destinations"); - for (element = cfg_list_first(destinations); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(destinations); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *channel = cfg_listelt_value(element); - const char *channelname = cfg_obj_asstring(channel); + const char * channelname = cfg_obj_asstring(channel); result = isc_log_usechannel(logconfig, channelname, category, module); @@ -90,19 +90,20 @@ category_fromconf(const cfg_obj_t *ccat, isc_logconfig_t *logconfig) { * in 'cchan' and add it to 'logconfig'. */ static isc_result_t -channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t *logconfig) { - isc_result_t result; +channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t *logconfig) +{ + isc_result_t result; isc_logdestination_t dest; - unsigned int type; - unsigned int flags = 0; - int level; - const char *channelname; - const cfg_obj_t *fileobj = NULL; - const cfg_obj_t *syslogobj = NULL; - const cfg_obj_t *nullobj = NULL; - const cfg_obj_t *stderrobj = NULL; - const cfg_obj_t *severity = NULL; - int i; + unsigned int type; + unsigned int flags = 0; + int level; + const char * channelname; + const cfg_obj_t * fileobj = NULL; + const cfg_obj_t * syslogobj = NULL; + const cfg_obj_t * nullobj = NULL; + const cfg_obj_t * stderrobj = NULL; + const cfg_obj_t * severity = NULL; + int i; channelname = cfg_obj_asstring(cfg_map_getname(channel)); @@ -123,8 +124,9 @@ channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t *logconfig) { if (i != 1) { cfg_obj_log(channel, named_g_lctx, ISC_LOG_ERROR, - "channel '%s': exactly one of file, syslog, " - "null, and stderr must be present", channelname); + "channel '%s': exactly one of file, syslog, " + "null, and stderr must be present", + channelname); return (ISC_R_FAILURE); } @@ -133,14 +135,13 @@ channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t *logconfig) { if (fileobj != NULL) { const cfg_obj_t *pathobj = cfg_tuple_get(fileobj, "file"); const cfg_obj_t *sizeobj = cfg_tuple_get(fileobj, "size"); - const cfg_obj_t *versionsobj = - cfg_tuple_get(fileobj, "versions"); - const cfg_obj_t *suffixobj = - cfg_tuple_get(fileobj, "suffix"); - int32_t versions = ISC_LOG_ROLLNEVER; + const cfg_obj_t *versionsobj = cfg_tuple_get(fileobj, "version" + "s"); + const cfg_obj_t *suffixobj = cfg_tuple_get(fileobj, "suffix"); + int32_t versions = ISC_LOG_ROLLNEVER; isc_log_rollsuffix_t suffix = isc_log_rollsuffix_increment; - isc_offset_t size = 0; - uint64_t maxoffset; + isc_offset_t size = 0; + uint64_t maxoffset; /* * isc_offset_t is a signed integer type, so the maximum @@ -163,10 +164,10 @@ channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t *logconfig) { if (versionsobj != NULL && cfg_obj_isuint32(versionsobj)) versions = cfg_obj_asuint32(versionsobj); else if (versionsobj != NULL && cfg_obj_isstring(versionsobj) && - strcasecmp(cfg_obj_asstring(versionsobj), "unlimited") == 0) + strcasecmp(cfg_obj_asstring(versionsobj), "unlimite" + "d") == 0) versions = ISC_LOG_ROLLINFINITE; - if (sizeobj != NULL && - cfg_obj_isuint64(sizeobj) && + if (sizeobj != NULL && cfg_obj_isuint64(sizeobj) && cfg_obj_asuint64(sizeobj) < maxoffset) size = (isc_offset_t)cfg_obj_asuint64(sizeobj); if (suffixobj != NULL && cfg_obj_isstring(suffixobj) && @@ -221,7 +222,7 @@ channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t *logconfig) { if (printtime != NULL && cfg_obj_isboolean(printtime)) { if (cfg_obj_asboolean(printtime)) flags |= ISC_LOG_PRINTTIME; - } else if (printtime != NULL) { /* local/iso8601/iso8601-utc */ + } else if (printtime != NULL) { /* local/iso8601/iso8601-utc */ const char *s = cfg_obj_asstring(printtime); flags |= ISC_LOG_PRINTTIME; if (strcasecmp(s, "iso8601") == 0) @@ -255,8 +256,8 @@ channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t *logconfig) { if (logconfig == NULL) result = ISC_R_SUCCESS; else - result = isc_log_createchannel(logconfig, channelname, - type, level, &dest, flags); + result = isc_log_createchannel(logconfig, channelname, type, + level, &dest, flags); if (result == ISC_R_SUCCESS && type == ISC_LOG_TOFILE) { FILE *fp; @@ -264,7 +265,7 @@ channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t *logconfig) { /* * Test to make sure that file is a plain file. * Fix defect #22771 - */ + */ result = isc_file_isplainfile(dest.file.name); if (result == ISC_R_SUCCESS || result == ISC_R_FILENOTFOUND) { /* @@ -276,9 +277,10 @@ channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t *logconfig) { if (result != ISC_R_SUCCESS) { if (logconfig != NULL && !named_g_nosyslog) syslog(LOG_ERR, - "isc_stdio_open '%s' failed: " - "%s", dest.file.name, - isc_result_totext(result)); + "isc_stdio_open '%s' failed: " + "%s", + dest.file.name, + isc_result_totext(result)); fprintf(stderr, "isc_stdio_open '%s' failed: %s\n", dest.file.name, @@ -294,37 +296,34 @@ channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t *logconfig) { dest.file.name, isc_result_totext(result)); } - done: +done: return (result); } isc_result_t -named_logconfig(isc_logconfig_t *logconfig, const cfg_obj_t *logstmt) { - isc_result_t result; - const cfg_obj_t *channels = NULL; - const cfg_obj_t *categories = NULL; +named_logconfig(isc_logconfig_t *logconfig, const cfg_obj_t *logstmt) +{ + isc_result_t result; + const cfg_obj_t * channels = NULL; + const cfg_obj_t * categories = NULL; const cfg_listelt_t *element; - bool default_set = false; - bool unmatched_set = false; - const cfg_obj_t *catname; + bool default_set = false; + bool unmatched_set = false; + const cfg_obj_t * catname; if (logconfig != NULL) CHECK(named_log_setdefaultchannels(logconfig)); (void)cfg_map_get(logstmt, "channel", &channels); - for (element = cfg_list_first(channels); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(channels); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *channel = cfg_listelt_value(element); CHECK(channel_fromconf(channel, logconfig)); } (void)cfg_map_get(logstmt, "category", &categories); - for (element = cfg_list_first(categories); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(categories); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *category = cfg_listelt_value(element); CHECK(category_fromconf(category, logconfig)); if (!default_set) { @@ -347,6 +346,6 @@ named_logconfig(isc_logconfig_t *logconfig, const cfg_obj_t *logstmt) { return (ISC_R_SUCCESS); - cleanup: +cleanup: return (result); } diff --git a/bin/named/main.c b/bin/named/main.c index aeae3c688b..6a95f1e05d 100644 --- a/bin/named/main.c +++ b/bin/named/main.c @@ -36,16 +36,15 @@ #include #include -#include - #include #include #include -#include #include +#include #include #include +#include #if USE_PKCS11 #include #endif @@ -76,20 +75,20 @@ #include #include #include -#include /* Explicit, though named/log.h includes it. */ +#include /* Explicit, though named/log.h includes it. */ #include +#include #include #include -#include #ifdef HAVE_LIBSCF #include #endif -#include #include +#include #ifdef HAVE_LIBXML2 -#include #include +#include #endif #ifdef HAVE_ZLIB #include @@ -113,19 +112,19 @@ #define BACKTRACE_MAXFRAME 128 #endif -LIBISC_EXTERNAL_DATA extern int isc_dscp_check_value; +LIBISC_EXTERNAL_DATA extern int isc_dscp_check_value; LIBDNS_EXTERNAL_DATA extern unsigned int dns_zone_mkey_hour; LIBDNS_EXTERNAL_DATA extern unsigned int dns_zone_mkey_day; LIBDNS_EXTERNAL_DATA extern unsigned int dns_zone_mkey_month; -static bool want_stats = false; -static char program_name[NAME_MAX] = "named"; -static char absolute_conffile[PATH_MAX]; -static char saved_command_line[4096] = { 0 }; -static char ellipsis[5] = { 0 }; -static char version[512]; -static unsigned int maxsocks = 0; -static int maxudp = 0; +static bool want_stats = false; +static char program_name[NAME_MAX] = "named"; +static char absolute_conffile[PATH_MAX]; +static char saved_command_line[4096] = { 0 }; +static char ellipsis[5] = { 0 }; +static char version[512]; +static unsigned int maxsocks = 0; +static int maxudp = 0; /* * -T options: @@ -149,14 +148,15 @@ static bool disable6 = false; static bool disable4 = false; void -named_main_earlywarning(const char *format, ...) { +named_main_earlywarning(const char *format, ...) +{ va_list args; va_start(args, format); if (named_g_lctx != NULL) { isc_log_vwrite(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_MAIN, ISC_LOG_WARNING, - format, args); + NAMED_LOGMODULE_MAIN, ISC_LOG_WARNING, format, + args); } else { fprintf(stderr, "%s: ", program_name); vfprintf(stderr, format, args); @@ -167,17 +167,18 @@ named_main_earlywarning(const char *format, ...) { } void -named_main_earlyfatal(const char *format, ...) { +named_main_earlyfatal(const char *format, ...) +{ va_list args; va_start(args, format); if (named_g_lctx != NULL) { isc_log_vwrite(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_MAIN, ISC_LOG_CRITICAL, - format, args); + NAMED_LOGMODULE_MAIN, ISC_LOG_CRITICAL, format, + args); isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_MAIN, ISC_LOG_CRITICAL, - "exiting (due to early fatal error)"); + NAMED_LOGMODULE_MAIN, ISC_LOG_CRITICAL, + "exiting (due to early fatal error)"); } else { fprintf(stderr, "%s: ", program_name); vfprintf(stderr, format, args); @@ -197,11 +198,11 @@ static void assertion_failed(const char *file, int line, isc_assertiontype_t type, const char *cond) { - void *tracebuf[BACKTRACE_MAXFRAME]; - int i, nframes; + void * tracebuf[BACKTRACE_MAXFRAME]; + int i, nframes; isc_result_t result; - const char *logsuffix = ""; - const char *fname; + const char * logsuffix = ""; + const char * fname; /* * Handle assertion failures. @@ -227,9 +228,8 @@ assertion_failed(const char *file, int line, isc_assertiontype_t type, unsigned long offset; fname = NULL; - result = isc_backtrace_getsymbol(tracebuf[i], - &fname, - &offset); + result = isc_backtrace_getsymbol( + tracebuf[i], &fname, &offset); if (result == ISC_R_SUCCESS) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, @@ -252,8 +252,8 @@ assertion_failed(const char *file, int line, isc_assertiontype_t type, NAMED_LOGMODULE_MAIN, ISC_LOG_CRITICAL, "exiting (due to assertion failure)"); } else { - fprintf(stderr, "%s:%d: %s(%s) failed\n", - file, line, isc_assertion_typetotext(type), cond); + fprintf(stderr, "%s:%d: %s(%s) failed\n", file, line, + isc_assertion_typetotext(type), cond); fflush(stderr); } @@ -265,7 +265,7 @@ assertion_failed(const char *file, int line, isc_assertiontype_t type, ISC_PLATFORM_NORETURN_PRE static void library_fatal_error(const char *file, int line, const char *format, va_list args) -ISC_FORMAT_PRINTF(3, 0) ISC_PLATFORM_NORETURN_POST; + ISC_FORMAT_PRINTF(3, 0) ISC_PLATFORM_NORETURN_POST; static void library_fatal_error(const char *file, int line, const char *format, @@ -286,8 +286,8 @@ library_fatal_error(const char *file, int line, const char *format, NAMED_LOGMODULE_MAIN, ISC_LOG_CRITICAL, "%s:%d: fatal error:", file, line); isc_log_vwrite(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_MAIN, ISC_LOG_CRITICAL, - format, args); + NAMED_LOGMODULE_MAIN, ISC_LOG_CRITICAL, format, + args); isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_MAIN, ISC_LOG_CRITICAL, "exiting (due to fatal error in library)"); @@ -320,8 +320,8 @@ library_unexpected_error(const char *file, int line, const char *format, NAMED_LOGMODULE_MAIN, ISC_LOG_ERROR, "%s:%d: unexpected error:", file, line); isc_log_vwrite(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_MAIN, ISC_LOG_ERROR, - format, args); + NAMED_LOGMODULE_MAIN, ISC_LOG_ERROR, format, + args); } else { fprintf(stderr, "%s:%d: fatal error: ", file, line); vfprintf(stderr, format, args); @@ -331,36 +331,35 @@ library_unexpected_error(const char *file, int line, const char *format, } static void -usage(void) { - fprintf(stderr, - "usage: named [-4|-6] [-c conffile] [-d debuglevel] " - "[-E engine] [-f|-g]\n" - " [-n number_of_cpus] [-p port] [-s] " - "[-S sockets] [-t chrootdir]\n" - " [-u username] [-U listeners] " - "[-m {usage|trace|record|size|mctx}]\n" - "usage: named [-v|-V]\n"); +usage(void) +{ + fprintf(stderr, "usage: named [-4|-6] [-c conffile] [-d debuglevel] " + "[-E engine] [-f|-g]\n" + " [-n number_of_cpus] [-p port] [-s] " + "[-S sockets] [-t chrootdir]\n" + " [-u username] [-U listeners] " + "[-m {usage|trace|record|size|mctx}]\n" + "usage: named [-v|-V]\n"); } static void -save_command_line(int argc, char *argv[]) { - int i; +save_command_line(int argc, char *argv[]) +{ + int i; char *dst = saved_command_line; char *eob = saved_command_line + sizeof(saved_command_line) - 1; char *rollback = dst; for (i = 1; i < argc && dst < eob; i++) { char *src = argv[i]; - bool quoted = false; + bool quoted = false; rollback = dst; *dst++ = ' '; while (*src != '\0' && dst < eob) { - if (isalnum(*src) || *src == ',' || - *src == '-' || *src == '_' || - *src == '.' || *src == '/') - { + if (isalnum(*src) || *src == ',' || *src == '-' || + *src == '_' || *src == '.' || *src == '/') { *dst++ = *src++; } else if (isprint(*src)) { if (dst + 2 >= eob) { @@ -389,8 +388,8 @@ save_command_line(int argc, char *argv[]) { continue; } else { char tmp[5]; - int c = snprintf(tmp, sizeof(tmp), - "\\%03o", *src++); + int c = snprintf(tmp, sizeof(tmp), + "\\%03o", *src++); if (dst + c >= eob) { goto add_ellipsis; } @@ -405,7 +404,6 @@ save_command_line(int argc, char *argv[]) { } *dst++ = '\''; } - } if (dst < eob) { @@ -418,13 +416,14 @@ add_ellipsis: } static int -parse_int(char *arg, const char *desc) { - char *endp; - int tmp; +parse_int(char *arg, const char *desc) +{ + char * endp; + int tmp; long int ltmp; ltmp = strtol(arg, &endp, 10); - tmp = (int) ltmp; + tmp = (int)ltmp; if (*endp != '\0') named_main_earlyfatal("%s '%s' must be numeric", desc, arg); if (tmp < 0 || tmp != ltmp) @@ -433,32 +432,30 @@ parse_int(char *arg, const char *desc) { } static struct flag_def { - const char *name; + const char * name; unsigned int value; - bool negate; -} mem_debug_flags[] = { - { "none", 0, false }, - { "trace", ISC_MEM_DEBUGTRACE, false }, - { "record", ISC_MEM_DEBUGRECORD, false }, - { "usage", ISC_MEM_DEBUGUSAGE, false }, - { "size", ISC_MEM_DEBUGSIZE, false }, - { "mctx", ISC_MEM_DEBUGCTX, false }, - { NULL, 0, false } -}, mem_context_flags[] = { - { "external", ISC_MEMFLAG_INTERNAL, true }, - { "fill", ISC_MEMFLAG_FILL, false }, - { "nofill", ISC_MEMFLAG_FILL, true }, - { NULL, 0, false } -}; + bool negate; +} mem_debug_flags[] = { { "none", 0, false }, + { "trace", ISC_MEM_DEBUGTRACE, false }, + { "record", ISC_MEM_DEBUGRECORD, false }, + { "usage", ISC_MEM_DEBUGUSAGE, false }, + { "size", ISC_MEM_DEBUGSIZE, false }, + { "mctx", ISC_MEM_DEBUGCTX, false }, + { NULL, 0, false } }, + mem_context_flags[] = { { "external", ISC_MEMFLAG_INTERNAL, true }, + { "fill", ISC_MEMFLAG_FILL, false }, + { "nofill", ISC_MEMFLAG_FILL, true }, + { NULL, 0, false } }; static void -set_flags(const char *arg, struct flag_def *defs, unsigned int *ret) { +set_flags(const char *arg, struct flag_def *defs, unsigned int *ret) +{ bool clear = false; for (;;) { const struct flag_def *def; - const char *end = strchr(arg, ','); - int arglen; + const char * end = strchr(arg, ','); + int arglen; if (end == NULL) end = arg + strlen(arg); arglen = (int)(end - arg); @@ -475,7 +472,7 @@ set_flags(const char *arg, struct flag_def *defs, unsigned int *ret) { } } named_main_earlyfatal("unrecognized flag '%.*s'", arglen, arg); - found: + found: if (clear || (*end == '\0')) break; arg = end + 1; @@ -486,27 +483,26 @@ set_flags(const char *arg, struct flag_def *defs, unsigned int *ret) { } static void -printversion(bool verbose) { +printversion(bool verbose) +{ char rndcconf[PATH_MAX], *dot = NULL; #if defined(HAVE_GEOIP2) - isc_mem_t *mctx = NULL; - cfg_parser_t *parser = NULL; - cfg_obj_t *config = NULL; + isc_mem_t * mctx = NULL; + cfg_parser_t * parser = NULL; + cfg_obj_t * config = NULL; const cfg_obj_t *defaults = NULL, *obj = NULL; #endif - printf("%s %s%s%s \n", - named_g_product, named_g_version, - (*named_g_description != '\0') ? " " : "", - named_g_description, named_g_srcid); + printf("%s %s%s%s \n", named_g_product, named_g_version, + (*named_g_description != '\0') ? " " : "", named_g_description, + named_g_srcid); if (!verbose) { return; } printf("running on %s\n", named_os_uname()); - printf("built by %s with %s\n", - named_g_builder, named_g_configargs); + printf("built by %s with %s\n", named_g_builder, named_g_configargs); #ifdef __clang__ printf("compiled by CLANG %s\n", __VERSION__); #else @@ -524,10 +520,9 @@ printversion(bool verbose) { #ifdef __SUNPRO_C printf("compiled by Solaris Studio %x\n", __SUNPRO_C); #endif - printf("compiled with OpenSSL version: %s\n", - OPENSSL_VERSION_TEXT); + printf("compiled with OpenSSL version: %s\n", OPENSSL_VERSION_TEXT); #if !defined(LIBRESSL_VERSION_NUMBER) && \ -OPENSSL_VERSION_NUMBER >= 0x10100000L /* 1.1.0 or higher */ + OPENSSL_VERSION_NUMBER >= 0x10100000L /* 1.1.0 or higher */ printf("linked to OpenSSL version: %s\n", OpenSSL_version(OPENSSL_VERSION)); @@ -536,37 +531,27 @@ OPENSSL_VERSION_NUMBER >= 0x10100000L /* 1.1.0 or higher */ SSLeay_version(SSLEAY_VERSION)); #endif /* OPENSSL_VERSION_NUMBER >= 0x10100000L */ #ifdef HAVE_LIBXML2 - printf("compiled with libxml2 version: %s\n", - LIBXML_DOTTED_VERSION); - printf("linked to libxml2 version: %s\n", - xmlParserVersion); + printf("compiled with libxml2 version: %s\n", LIBXML_DOTTED_VERSION); + printf("linked to libxml2 version: %s\n", xmlParserVersion); #endif #if defined(HAVE_JSON_C) - printf("compiled with json-c version: %s\n", - JSON_C_VERSION); - printf("linked to json-c version: %s\n", - json_c_version()); + printf("compiled with json-c version: %s\n", JSON_C_VERSION); + printf("linked to json-c version: %s\n", json_c_version()); #endif #if defined(HAVE_ZLIB) && defined(ZLIB_VERSION) - printf("compiled with zlib version: %s\n", - ZLIB_VERSION); - printf("linked to zlib version: %s\n", - zlibVersion()); + printf("compiled with zlib version: %s\n", ZLIB_VERSION); + printf("linked to zlib version: %s\n", zlibVersion()); #endif #if defined(HAVE_GEOIP2) /* Unfortunately, no version define on link time */ - printf("linked to maxminddb version: %s\n", - MMDB_lib_version()); + printf("linked to maxminddb version: %s\n", MMDB_lib_version()); #endif #if defined(HAVE_DNSTAP) - printf("compiled with protobuf-c version: %s\n", - PROTOBUF_C_VERSION); - printf("linked to protobuf-c version: %s\n", - protobuf_c_version()); + printf("compiled with protobuf-c version: %s\n", PROTOBUF_C_VERSION); + printf("linked to protobuf-c version: %s\n", protobuf_c_version()); #endif printf("threads support is enabled\n\n"); - /* * The default rndc.conf and rndc.key paths are in the same * directory, but named only has rndc.key defined internally. @@ -608,7 +593,8 @@ OPENSSL_VERSION_NUMBER >= 0x10100000L /* 1.1.0 or higher */ } static void -parse_fuzz_arg(void) { +parse_fuzz_arg(void) +{ if (!strncmp(isc_commandline_argument, "client:", 7)) { named_g_fuzz_addr = isc_commandline_argument + 7; named_g_fuzz_type = isc_fuzz_client; @@ -626,14 +612,15 @@ parse_fuzz_arg(void) { named_g_fuzz_type = isc_fuzz_rndc; } else { named_main_earlyfatal("unknown fuzzing type '%s'", - isc_commandline_argument); + isc_commandline_argument); } } static void -parse_T_opt(char *option) { +parse_T_opt(char *option) +{ const char *p; - char *last = NULL; + char * last = NULL; /* * force the server to behave (or misbehave) in * specified ways for testing purposes. @@ -717,9 +704,10 @@ parse_T_opt(char *option) { } static void -parse_command_line(int argc, char *argv[]) { - int ch; - int port; +parse_command_line(int argc, char *argv[]) +{ + int ch; + int port; const char *p; save_command_line(argc, argv); @@ -729,9 +717,8 @@ parse_command_line(int argc, char *argv[]) { * both by named and by ntservice hooks. */ isc_commandline_errprint = false; - while ((ch = isc_commandline_parse(argc, argv, - NAMED_MAIN_ARGS)) != -1) - { + while ((ch = isc_commandline_parse(argc, argv, NAMED_MAIN_ARGS)) != + -1) { switch (ch) { case '4': if (disable4) @@ -762,7 +749,8 @@ parse_command_line(int argc, char *argv[]) { break; case 'd': named_g_debuglevel = parse_int(isc_commandline_argument, - "debug level"); + "debug " + "level"); break; case 'D': /* Descriptive comment for 'ps'. */ @@ -790,8 +778,12 @@ parse_command_line(int argc, char *argv[]) { break; case 'N': /* Deprecated. */ case 'n': - named_g_cpus = parse_int(isc_commandline_argument, - "number of cpus"); + named_g_cpus = parse_int(isc_commandline_argument, "num" + "ber" + " of" + " cp" + "u" + "s"); if (named_g_cpus == 0) named_g_cpus = 1; break; @@ -799,7 +791,7 @@ parse_command_line(int argc, char *argv[]) { port = parse_int(isc_commandline_argument, "port"); if (port < 1 || port > 65535) named_main_earlyfatal("port '%s' out of range", - isc_commandline_argument); + isc_commandline_argument); named_g_port = port; break; case 's': @@ -807,14 +799,17 @@ parse_command_line(int argc, char *argv[]) { want_stats = true; break; case 'S': - maxsocks = parse_int(isc_commandline_argument, - "max number of sockets"); + maxsocks = parse_int(isc_commandline_argument, "max " + "number " + "of " + "socket" + "s"); break; case 't': /* XXXJAB should we make a copy? */ named_g_chrootdir = isc_commandline_argument; break; - case 'T': /* NOT DOCUMENTED */ + case 'T': /* NOT DOCUMENTED */ parse_T_opt(isc_commandline_argument); break; case 'U': @@ -852,11 +847,11 @@ parse_command_line(int argc, char *argv[]) { p = strchr(NAMED_MAIN_ARGS, isc_commandline_option); if (p == NULL || *++p != ':') named_main_earlyfatal("unknown option '-%c'", - isc_commandline_option); + isc_commandline_option); else named_main_earlyfatal("option '-%c' requires " - "an argument", - isc_commandline_option); + "an argument", + isc_commandline_option); /* FALLTHROUGH */ default: named_main_earlyfatal("parsing options returned %d", @@ -875,7 +870,8 @@ parse_command_line(int argc, char *argv[]) { } static isc_result_t -create_managers(void) { +create_managers(void) +{ isc_result_t result; unsigned int socks; @@ -883,12 +879,11 @@ create_managers(void) { if (named_g_cpus == 0) named_g_cpus = named_g_cpus_detected; - isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, - "found %u CPU%s, using %u worker thread%s", - named_g_cpus_detected, - named_g_cpus_detected == 1 ? "" : "s", - named_g_cpus, named_g_cpus == 1 ? "" : "s"); + isc_log_write( + named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, + ISC_LOG_INFO, "found %u CPU%s, using %u worker thread%s", + named_g_cpus_detected, named_g_cpus_detected == 1 ? "" : "s", + named_g_cpus, named_g_cpus == 1 ? "" : "s"); #ifdef WIN32 named_g_udpdisp = 1; #else @@ -900,24 +895,23 @@ create_managers(void) { #endif isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, - "using %u UDP listener%s per interface", - named_g_udpdisp, named_g_udpdisp == 1 ? "" : "s"); + "using %u UDP listener%s per interface", named_g_udpdisp, + named_g_udpdisp == 1 ? "" : "s"); /* * We have ncpus network threads, ncpus worker threads, ncpus * old network threads - make it 4x just to be safe. The memory * impact is neglible. */ - isc_hp_init(4*named_g_cpus); + isc_hp_init(4 * named_g_cpus); named_g_nm = isc_nm_start(named_g_mctx, named_g_cpus); if (named_g_nm == NULL) { - UNEXPECTED_ERROR(__FILE__, __LINE__, - "isc_nm_start() failed"); + UNEXPECTED_ERROR(__FILE__, __LINE__, "isc_nm_start() failed"); return (ISC_R_UNEXPECTED); } - result = isc_taskmgr_create(named_g_mctx, named_g_cpus, 0, - named_g_nm, &named_g_taskmgr); + result = isc_taskmgr_create(named_g_mctx, named_g_cpus, 0, named_g_nm, + &named_g_taskmgr); if (result != ISC_R_SUCCESS) { UNEXPECTED_ERROR(__FILE__, __LINE__, "isc_taskmgr_create() failed: %s", @@ -946,15 +940,16 @@ create_managers(void) { result = isc_socketmgr_getmaxsockets(named_g_socketmgr, &socks); if (result == ISC_R_SUCCESS) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_INFO, "using up to %u sockets", socks); + NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, + "using up to %u sockets", socks); } return (ISC_R_SUCCESS); } static void -destroy_managers(void) { +destroy_managers(void) +{ /* * isc_nm_closedown() closes all active connections, freeing * attached clients and other resources and preventing new @@ -977,11 +972,12 @@ destroy_managers(void) { } static void -dump_symboltable(void) { - int i; +dump_symboltable(void) +{ + int i; isc_result_t result; - const char *fname; - const void *addr; + const char * fname; + const void * addr; if (isc__backtrace_nsymbols == 0) return; @@ -990,8 +986,7 @@ dump_symboltable(void) { return; isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_MAIN, ISC_LOG_DEBUG(99), - "Symbol table:"); + NAMED_LOGMODULE_MAIN, ISC_LOG_DEBUG(99), "Symbol table:"); for (i = 0, result = ISC_R_SUCCESS; result == ISC_R_SUCCESS; i++) { addr = NULL; @@ -1006,10 +1001,11 @@ dump_symboltable(void) { } static void -setup(void) { - isc_result_t result; +setup(void) +{ + isc_result_t result; isc_resourcevalue_t old_openfiles; - ns_server_t *sctx; + ns_server_t * sctx; #ifdef HAVE_LIBSCF char *instance = NULL; #endif @@ -1060,7 +1056,7 @@ setup(void) { result = named_log_init(named_g_username != NULL); if (result != ISC_R_SUCCESS) named_main_earlyfatal("named_log_init() failed: %s", - isc_result_totext(result)); + isc_result_totext(result)); /* * Now is the time to daemonize (if we're not running in the @@ -1079,27 +1075,26 @@ setup(void) { result = isc_app_start(); if (result != ISC_R_SUCCESS) named_main_earlyfatal("isc_app_start() failed: %s", - isc_result_totext(result)); + isc_result_totext(result)); isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_MAIN, ISC_LOG_NOTICE, - "starting %s %s%s%s ", - named_g_product, named_g_version, - *named_g_description ? " " : "", named_g_description, - named_g_srcid); + "starting %s %s%s%s ", named_g_product, + named_g_version, *named_g_description ? " " : "", + named_g_description, named_g_srcid); + + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_MAIN, ISC_LOG_NOTICE, "running on %s", + named_os_uname()); + + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_MAIN, ISC_LOG_NOTICE, "built with %s", + named_g_configargs); isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_MAIN, ISC_LOG_NOTICE, - "running on %s", named_os_uname()); - - isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_MAIN, ISC_LOG_NOTICE, - "built with %s", named_g_configargs); - - isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_MAIN, ISC_LOG_NOTICE, - "running as: %s%s%s", - program_name, saved_command_line, ellipsis); + "running as: %s%s%s", program_name, saved_command_line, + ellipsis); #ifdef __clang__ isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_MAIN, ISC_LOG_NOTICE, @@ -1132,7 +1127,7 @@ setup(void) { "compiled with OpenSSL version: %s", OPENSSL_VERSION_TEXT); #if !defined(LIBRESSL_VERSION_NUMBER) && \ - OPENSSL_VERSION_NUMBER >= 0x10100000L /* 1.1.0 or higher */ + OPENSSL_VERSION_NUMBER >= 0x10100000L /* 1.1.0 or higher */ isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_MAIN, ISC_LOG_NOTICE, "linked to OpenSSL version: %s", @@ -1194,18 +1189,18 @@ setup(void) { */ #ifndef WIN32 RUNTIME_CHECK(isc_resource_getlimit(isc_resource_stacksize, - &named_g_initstacksize) - == ISC_R_SUCCESS); + &named_g_initstacksize) == + ISC_R_SUCCESS); RUNTIME_CHECK(isc_resource_getlimit(isc_resource_datasize, - &named_g_initdatasize) - == ISC_R_SUCCESS); + &named_g_initdatasize) == + ISC_R_SUCCESS); RUNTIME_CHECK(isc_resource_getlimit(isc_resource_coresize, - &named_g_initcoresize) - == ISC_R_SUCCESS); + &named_g_initcoresize) == + ISC_R_SUCCESS); #endif RUNTIME_CHECK(isc_resource_getlimit(isc_resource_openfiles, - &named_g_initopenfiles) - == ISC_R_SUCCESS); + &named_g_initopenfiles) == + ISC_R_SUCCESS); /* * System resources cannot effectively be tuned on some systems. @@ -1214,8 +1209,8 @@ setup(void) { old_openfiles = named_g_initopenfiles; named_os_adjustnofile(); RUNTIME_CHECK(isc_resource_getlimit(isc_resource_openfiles, - &named_g_initopenfiles) - == ISC_R_SUCCESS); + &named_g_initopenfiles) == + ISC_R_SUCCESS); if (old_openfiles != named_g_initopenfiles) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_MAIN, ISC_LOG_NOTICE, @@ -1229,7 +1224,7 @@ setup(void) { * If the named configuration filename is relative, prepend the current * directory's name before possibly changing to another directory. */ - if (! isc_file_isabsolute(named_g_conffile)) { + if (!isc_file_isabsolute(named_g_conffile)) { result = isc_file_absolutepath(named_g_conffile, absolute_conffile, sizeof(absolute_conffile)); @@ -1247,12 +1242,12 @@ setup(void) { result = isc_time_now(&named_g_boottime); if (result != ISC_R_SUCCESS) named_main_earlyfatal("isc_time_now() failed: %s", - isc_result_totext(result)); + isc_result_totext(result)); result = create_managers(); if (result != ISC_R_SUCCESS) named_main_earlyfatal("create_managers() failed: %s", - isc_result_totext(result)); + isc_result_totext(result)); named_builtin_init(); @@ -1268,7 +1263,7 @@ setup(void) { result = dlz_dlopen_init(named_g_mctx); if (result != ISC_R_SUCCESS) named_main_earlyfatal("dlz_dlopen_init() failed: %s", - isc_result_totext(result)); + isc_result_totext(result)); #endif #if CONTRIB_DLZ @@ -1278,7 +1273,7 @@ setup(void) { result = dlz_drivers_init(); if (result != ISC_R_SUCCESS) named_main_earlyfatal("dlz_drivers_init() failed: %s", - isc_result_totext(result)); + isc_result_totext(result)); #endif named_server_create(named_g_mctx, &named_g_server); @@ -1293,7 +1288,7 @@ setup(void) { ns_server_setoption(sctx, NS_SERVER_DISABLE6, true); if (dropedns) ns_server_setoption(sctx, NS_SERVER_DROPEDNS, true); - if (ednsformerr) /* STD13 server */ + if (ednsformerr) /* STD13 server */ ns_server_setoption(sctx, NS_SERVER_EDNSFORMERR, true); if (ednsnotimp) ns_server_setoption(sctx, NS_SERVER_EDNSNOTIMP, true); @@ -1316,7 +1311,8 @@ setup(void) { } static void -cleanup(void) { +cleanup(void) +{ destroy_managers(); if (named_g_mapped != NULL) @@ -1345,15 +1341,15 @@ cleanup(void) { #endif isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_MAIN, - ISC_LOG_NOTICE, "exiting"); + NAMED_LOGMODULE_MAIN, ISC_LOG_NOTICE, "exiting"); named_log_shutdown(); } static char *memstats = NULL; void -named_main_setmemstats(const char *filename) { +named_main_setmemstats(const char *filename) +{ /* * Caller has to ensure locking. */ @@ -1374,10 +1370,11 @@ named_main_setmemstats(const char *filename) { * Get FMRI for the named process. */ isc_result_t -named_smf_get_instance(char **ins_name, int debug, isc_mem_t *mctx) { +named_smf_get_instance(char **ins_name, int debug, isc_mem_t *mctx) +{ scf_handle_t *h = NULL; - int namelen; - char *instance; + int namelen; + char * instance; REQUIRE(ins_name != NULL && *ins_name == NULL); @@ -1435,14 +1432,15 @@ named_smf_get_instance(char **ins_name, int debug, isc_mem_t *mctx) { /* main entry point, possibly hooked */ int -main(int argc, char *argv[]) { +main(int argc, char *argv[]) +{ isc_result_t result; #ifdef HAVE_LIBSCF char *instance = NULL; #endif #ifdef HAVE_GPERFTOOLS_PROFILER - (void) ProfilerStart(NULL); + (void)ProfilerStart(NULL); #endif #ifdef WIN32 @@ -1452,7 +1450,7 @@ main(int argc, char *argv[]) { * buffering (_IOFBF) as line buffering (_IOLBF) is unavailable on * Windows and fflush() is called anyway after each log message gets * written to the default stderr logging channels created by libisc. - */ + */ setvbuf(stderr, NULL, _IOFBF, BUFSIZ); #endif @@ -1578,7 +1576,7 @@ main(int argc, char *argv[]) { if (result == ISC_R_SUCCESS) { isc_mem_stats(named_g_mctx, fp); isc_mutex_stats(fp); - (void) isc_stdio_close(fp); + (void)isc_stdio_close(fp); } } isc_mem_destroy(&named_g_mctx); diff --git a/bin/named/server.c b/bin/named/server.c index e01c4e78e4..aaaa269453 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -11,14 +11,12 @@ /*! \file */ +#include #include +#include #include #include #include -#include -#include -#include -#include #include #include @@ -49,12 +47,6 @@ #include #include -#include -#include -#include - -#include - #include #include #include @@ -62,12 +54,12 @@ #include #include #include -#include #include +#include #include #include -#include #include +#include #include #include #include @@ -99,16 +91,22 @@ #include #include -#include -#include +#include +#include +#include #include #include -#include #include +#include +#include +#include +#include #include #include +#include +#include #if defined(HAVE_GEOIP2) #include #endif /* HAVE_GEOIP2 */ @@ -122,8 +120,9 @@ #include #include #ifdef HAVE_LIBSCF -#include #include + +#include #endif #ifdef HAVE_LMDB @@ -131,7 +130,7 @@ #define count_newzones count_newzones_db #define configure_newzones configure_newzones_db #define dumpzone dumpzone_db -#else /* HAVE_LMDB */ +#else /* HAVE_LMDB */ #define count_newzones count_newzones_file #define configure_newzones configure_newzones_file #define dumpzone dumpzone_file @@ -161,50 +160,52 @@ * Check an operation for failure. Assumes that the function * using it has a 'result' variable and a 'cleanup' label. */ -#define CHECK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) goto cleanup; \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto cleanup; \ } while (0) -#define TCHECK(op) \ - do { tresult = (op); \ - if (tresult != ISC_R_SUCCESS) { \ - isc_buffer_clear(*text); \ - goto cleanup; \ - } \ +#define TCHECK(op) \ + do { \ + tresult = (op); \ + if (tresult != ISC_R_SUCCESS) { \ + isc_buffer_clear(*text); \ + goto cleanup; \ + } \ } while (0) -#define CHECKM(op, msg) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) { \ - isc_log_write(named_g_lctx, \ - NAMED_LOGCATEGORY_GENERAL, \ - NAMED_LOGMODULE_SERVER, \ - ISC_LOG_ERROR, \ - "%s: %s", msg, \ - isc_result_totext(result)); \ - goto cleanup; \ - } \ - } while (0) \ +#define CHECKM(op, msg) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) { \ + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, \ + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, \ + "%s: %s", msg, \ + isc_result_totext(result)); \ + goto cleanup; \ + } \ + } while (0) -#define CHECKMF(op, msg, file) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) { \ - isc_log_write(named_g_lctx, \ - NAMED_LOGCATEGORY_GENERAL, \ - NAMED_LOGMODULE_SERVER, \ - ISC_LOG_ERROR, \ - "%s '%s': %s", msg, file, \ - isc_result_totext(result)); \ - goto cleanup; \ - } \ - } while (0) \ +#define CHECKMF(op, msg, file) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) { \ + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, \ + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, \ + "%s '%s': %s", msg, file, \ + isc_result_totext(result)); \ + goto cleanup; \ + } \ + } while (0) -#define CHECKFATAL(op, msg) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) \ - fatal(server, msg, result); \ - } while (0) \ +#define CHECKFATAL(op, msg) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + fatal(server, msg, result); \ + } while (0) /*% * Maximum ADB size for views that share a cache. Use this limit to suppress @@ -212,51 +213,51 @@ * a cache. Only effective when a finite max-cache-size is specified. * This is currently defined to be 8MB. */ -#define MAX_ADB_SIZE_FOR_CACHESHARE 8388608U +#define MAX_ADB_SIZE_FOR_CACHESHARE 8388608U struct named_dispatch { - isc_sockaddr_t addr; - unsigned int dispatchgen; - dns_dispatch_t *dispatch; - ISC_LINK(struct named_dispatch) link; + isc_sockaddr_t addr; + unsigned int dispatchgen; + dns_dispatch_t *dispatch; + ISC_LINK(struct named_dispatch) link; }; struct named_cache { - dns_cache_t *cache; - dns_view_t *primaryview; - bool needflush; - bool adbsizeadjusted; - dns_rdataclass_t rdclass; - ISC_LINK(named_cache_t) link; + dns_cache_t * cache; + dns_view_t * primaryview; + bool needflush; + bool adbsizeadjusted; + dns_rdataclass_t rdclass; + ISC_LINK(named_cache_t) link; }; struct dumpcontext { - isc_mem_t *mctx; - bool dumpcache; - bool dumpzones; - bool dumpadb; - bool dumpbad; - bool dumpfail; - FILE *fp; - ISC_LIST(struct viewlistentry) viewlist; - struct viewlistentry *view; - struct zonelistentry *zone; - dns_dumpctx_t *mdctx; - dns_db_t *db; - dns_db_t *cache; - isc_task_t *task; - dns_dbversion_t *version; + isc_mem_t *mctx; + bool dumpcache; + bool dumpzones; + bool dumpadb; + bool dumpbad; + bool dumpfail; + FILE * fp; + ISC_LIST(struct viewlistentry) viewlist; + struct viewlistentry *view; + struct zonelistentry *zone; + dns_dumpctx_t * mdctx; + dns_db_t * db; + dns_db_t * cache; + isc_task_t * task; + dns_dbversion_t * version; }; struct viewlistentry { - dns_view_t *view; - ISC_LINK(struct viewlistentry) link; - ISC_LIST(struct zonelistentry) zonelist; + dns_view_t *view; + ISC_LINK(struct viewlistentry) link; + ISC_LIST(struct zonelistentry) zonelist; }; struct zonelistentry { - dns_zone_t *zone; - ISC_LINK(struct zonelistentry) link; + dns_zone_t *zone; + ISC_LINK(struct zonelistentry) link; }; /*% @@ -264,13 +265,13 @@ struct zonelistentry { * new zones to be added at runtime. */ typedef struct ns_cfgctx { - isc_mem_t * mctx; - cfg_parser_t * conf_parser; - cfg_parser_t * add_parser; - cfg_obj_t * config; - cfg_obj_t * vconfig; - cfg_obj_t * nzf_config; - cfg_aclconfctx_t * actx; + isc_mem_t * mctx; + cfg_parser_t * conf_parser; + cfg_parser_t * add_parser; + cfg_obj_t * config; + cfg_obj_t * vconfig; + cfg_obj_t * nzf_config; + cfg_aclconfctx_t *actx; } ns_cfgctx_t; /*% @@ -285,9 +286,9 @@ typedef isc_result_t (*nzfwriter_t)(const cfg_obj_t *config, dns_view_t *view); * with pending zone loads, dereferencing as each view finishes. */ typedef struct { - named_server_t *server; - bool reconfig; - isc_refcount_t refs; + named_server_t *server; + bool reconfig; + isc_refcount_t refs; } ns_zoneload_t; typedef struct { @@ -297,17 +298,17 @@ typedef struct { typedef struct catz_chgzone_event { ISC_EVENT_COMMON(struct catz_chgzone_event); dns_catz_entry_t *entry; - dns_catz_zone_t *origin; - dns_view_t *view; - catz_cb_data_t *cbd; - bool mod; + dns_catz_zone_t * origin; + dns_view_t * view; + catz_cb_data_t * cbd; + bool mod; } catz_chgzone_event_t; typedef struct { unsigned int magic; -#define DZARG_MAGIC ISC_MAGIC('D', 'z', 'a', 'r') +#define DZARG_MAGIC ISC_MAGIC('D', 'z', 'a', 'r') isc_buffer_t **text; - isc_result_t result; + isc_result_t result; } ns_dzarg_t; /* @@ -315,109 +316,56 @@ typedef struct { */ const char *empty_zones[] = { /* RFC 1918 */ - "10.IN-ADDR.ARPA", - "16.172.IN-ADDR.ARPA", - "17.172.IN-ADDR.ARPA", - "18.172.IN-ADDR.ARPA", - "19.172.IN-ADDR.ARPA", - "20.172.IN-ADDR.ARPA", - "21.172.IN-ADDR.ARPA", - "22.172.IN-ADDR.ARPA", - "23.172.IN-ADDR.ARPA", - "24.172.IN-ADDR.ARPA", - "25.172.IN-ADDR.ARPA", - "26.172.IN-ADDR.ARPA", - "27.172.IN-ADDR.ARPA", - "28.172.IN-ADDR.ARPA", - "29.172.IN-ADDR.ARPA", - "30.172.IN-ADDR.ARPA", - "31.172.IN-ADDR.ARPA", - "168.192.IN-ADDR.ARPA", + "10.IN-ADDR.ARPA", "16.172.IN-ADDR.ARPA", "17.172.IN-ADDR.ARPA", + "18.172.IN-ADDR.ARPA", "19.172.IN-ADDR.ARPA", "20.172.IN-ADDR.ARPA", + "21.172.IN-ADDR.ARPA", "22.172.IN-ADDR.ARPA", "23.172.IN-ADDR.ARPA", + "24.172.IN-ADDR.ARPA", "25.172.IN-ADDR.ARPA", "26.172.IN-ADDR.ARPA", + "27.172.IN-ADDR.ARPA", "28.172.IN-ADDR.ARPA", "29.172.IN-ADDR.ARPA", + "30.172.IN-ADDR.ARPA", "31.172.IN-ADDR.ARPA", "168.192.IN-ADDR.ARPA", /* RFC 6598 */ - "64.100.IN-ADDR.ARPA", - "65.100.IN-ADDR.ARPA", - "66.100.IN-ADDR.ARPA", - "67.100.IN-ADDR.ARPA", - "68.100.IN-ADDR.ARPA", - "69.100.IN-ADDR.ARPA", - "70.100.IN-ADDR.ARPA", - "71.100.IN-ADDR.ARPA", - "72.100.IN-ADDR.ARPA", - "73.100.IN-ADDR.ARPA", - "74.100.IN-ADDR.ARPA", - "75.100.IN-ADDR.ARPA", - "76.100.IN-ADDR.ARPA", - "77.100.IN-ADDR.ARPA", - "78.100.IN-ADDR.ARPA", - "79.100.IN-ADDR.ARPA", - "80.100.IN-ADDR.ARPA", - "81.100.IN-ADDR.ARPA", - "82.100.IN-ADDR.ARPA", - "83.100.IN-ADDR.ARPA", - "84.100.IN-ADDR.ARPA", - "85.100.IN-ADDR.ARPA", - "86.100.IN-ADDR.ARPA", - "87.100.IN-ADDR.ARPA", - "88.100.IN-ADDR.ARPA", - "89.100.IN-ADDR.ARPA", - "90.100.IN-ADDR.ARPA", - "91.100.IN-ADDR.ARPA", - "92.100.IN-ADDR.ARPA", - "93.100.IN-ADDR.ARPA", - "94.100.IN-ADDR.ARPA", - "95.100.IN-ADDR.ARPA", - "96.100.IN-ADDR.ARPA", - "97.100.IN-ADDR.ARPA", - "98.100.IN-ADDR.ARPA", - "99.100.IN-ADDR.ARPA", - "100.100.IN-ADDR.ARPA", - "101.100.IN-ADDR.ARPA", - "102.100.IN-ADDR.ARPA", - "103.100.IN-ADDR.ARPA", - "104.100.IN-ADDR.ARPA", - "105.100.IN-ADDR.ARPA", - "106.100.IN-ADDR.ARPA", - "107.100.IN-ADDR.ARPA", - "108.100.IN-ADDR.ARPA", - "109.100.IN-ADDR.ARPA", - "110.100.IN-ADDR.ARPA", - "111.100.IN-ADDR.ARPA", - "112.100.IN-ADDR.ARPA", - "113.100.IN-ADDR.ARPA", - "114.100.IN-ADDR.ARPA", - "115.100.IN-ADDR.ARPA", - "116.100.IN-ADDR.ARPA", - "117.100.IN-ADDR.ARPA", - "118.100.IN-ADDR.ARPA", - "119.100.IN-ADDR.ARPA", - "120.100.IN-ADDR.ARPA", - "121.100.IN-ADDR.ARPA", - "122.100.IN-ADDR.ARPA", - "123.100.IN-ADDR.ARPA", - "124.100.IN-ADDR.ARPA", - "125.100.IN-ADDR.ARPA", - "126.100.IN-ADDR.ARPA", + "64.100.IN-ADDR.ARPA", "65.100.IN-ADDR.ARPA", "66.100.IN-ADDR.ARPA", + "67.100.IN-ADDR.ARPA", "68.100.IN-ADDR.ARPA", "69.100.IN-ADDR.ARPA", + "70.100.IN-ADDR.ARPA", "71.100.IN-ADDR.ARPA", "72.100.IN-ADDR.ARPA", + "73.100.IN-ADDR.ARPA", "74.100.IN-ADDR.ARPA", "75.100.IN-ADDR.ARPA", + "76.100.IN-ADDR.ARPA", "77.100.IN-ADDR.ARPA", "78.100.IN-ADDR.ARPA", + "79.100.IN-ADDR.ARPA", "80.100.IN-ADDR.ARPA", "81.100.IN-ADDR.ARPA", + "82.100.IN-ADDR.ARPA", "83.100.IN-ADDR.ARPA", "84.100.IN-ADDR.ARPA", + "85.100.IN-ADDR.ARPA", "86.100.IN-ADDR.ARPA", "87.100.IN-ADDR.ARPA", + "88.100.IN-ADDR.ARPA", "89.100.IN-ADDR.ARPA", "90.100.IN-ADDR.ARPA", + "91.100.IN-ADDR.ARPA", "92.100.IN-ADDR.ARPA", "93.100.IN-ADDR.ARPA", + "94.100.IN-ADDR.ARPA", "95.100.IN-ADDR.ARPA", "96.100.IN-ADDR.ARPA", + "97.100.IN-ADDR.ARPA", "98.100.IN-ADDR.ARPA", "99.100.IN-ADDR.ARPA", + "100.100.IN-ADDR.ARPA", "101.100.IN-ADDR.ARPA", "102.100.IN-ADDR.ARPA", + "103.100.IN-ADDR.ARPA", "104.100.IN-ADDR.ARPA", "105.100.IN-ADDR.ARPA", + "106.100.IN-ADDR.ARPA", "107.100.IN-ADDR.ARPA", "108.100.IN-ADDR.ARPA", + "109.100.IN-ADDR.ARPA", "110.100.IN-ADDR.ARPA", "111.100.IN-ADDR.ARPA", + "112.100.IN-ADDR.ARPA", "113.100.IN-ADDR.ARPA", "114.100.IN-ADDR.ARPA", + "115.100.IN-ADDR.ARPA", "116.100.IN-ADDR.ARPA", "117.100.IN-ADDR.ARPA", + "118.100.IN-ADDR.ARPA", "119.100.IN-ADDR.ARPA", "120.100.IN-ADDR.ARPA", + "121.100.IN-ADDR.ARPA", "122.100.IN-ADDR.ARPA", "123.100.IN-ADDR.ARPA", + "124.100.IN-ADDR.ARPA", "125.100.IN-ADDR.ARPA", "126.100.IN-ADDR.ARPA", "127.100.IN-ADDR.ARPA", /* RFC 5735 and RFC 5737 */ - "0.IN-ADDR.ARPA", /* THIS NETWORK */ - "127.IN-ADDR.ARPA", /* LOOPBACK */ - "254.169.IN-ADDR.ARPA", /* LINK LOCAL */ - "2.0.192.IN-ADDR.ARPA", /* TEST NET */ + "0.IN-ADDR.ARPA", /* THIS NETWORK */ + "127.IN-ADDR.ARPA", /* LOOPBACK */ + "254.169.IN-ADDR.ARPA", /* LINK LOCAL */ + "2.0.192.IN-ADDR.ARPA", /* TEST NET */ "100.51.198.IN-ADDR.ARPA", /* TEST NET 2 */ "113.0.203.IN-ADDR.ARPA", /* TEST NET 3 */ - "255.255.255.255.IN-ADDR.ARPA", /* BROADCAST */ + "255.255.255.255.IN-ADDR.ARPA", /* BROADCAST */ /* Local IPv6 Unicast Addresses */ - "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA", - "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA", + "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6." + "ARPA", + "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6." + "ARPA", /* LOCALLY ASSIGNED LOCAL ADDRESS SCOPE */ - "D.F.IP6.ARPA", - "8.E.F.IP6.ARPA", /* LINK LOCAL */ - "9.E.F.IP6.ARPA", /* LINK LOCAL */ - "A.E.F.IP6.ARPA", /* LINK LOCAL */ - "B.E.F.IP6.ARPA", /* LINK LOCAL */ + "D.F.IP6.ARPA", "8.E.F.IP6.ARPA", /* LINK LOCAL */ + "9.E.F.IP6.ARPA", /* LINK LOCAL */ + "A.E.F.IP6.ARPA", /* LINK LOCAL */ + "B.E.F.IP6.ARPA", /* LINK LOCAL */ /* Example Prefix, RFC 3849. */ "8.B.D.0.1.0.0.2.IP6.ARPA", @@ -432,8 +380,8 @@ const char *empty_zones[] = { }; ISC_PLATFORM_NORETURN_PRE static void -fatal(named_server_t *server,const char *msg, isc_result_t result) -ISC_PLATFORM_NORETURN_POST; +fatal(named_server_t *server, const char *msg, + isc_result_t result) ISC_PLATFORM_NORETURN_POST; static void named_server_reload(isc_task_t *task, isc_event_t *event); @@ -459,7 +407,7 @@ configure_alternates(const cfg_obj_t *config, dns_view_t *view, static isc_result_t configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig, const cfg_obj_t *vconfig, isc_mem_t *mctx, dns_view_t *view, - dns_viewlist_t *viewlist, dns_kasplist_t* kasplist, + dns_viewlist_t *viewlist, dns_kasplist_t *kasplist, cfg_aclconfctx_t *aclconf, bool added, bool old_rpz_ok, bool modify); @@ -527,10 +475,10 @@ configure_view_acl(const cfg_obj_t *vconfig, const cfg_obj_t *config, const char *acltuplename, cfg_aclconfctx_t *actx, isc_mem_t *mctx, dns_acl_t **aclp) { - isc_result_t result; + isc_result_t result; const cfg_obj_t *maps[4]; const cfg_obj_t *aclobj = NULL; - int i = 0; + int i = 0; if (*aclp != NULL) { dns_acl_detach(aclp); @@ -571,8 +519,8 @@ configure_view_acl(const cfg_obj_t *vconfig, const cfg_obj_t *config, aclobj = cfg_tuple_get(aclobj, acltuplename); } - result = cfg_acl_fromconfig(aclobj, config, named_g_lctx, - actx, mctx, 0, aclp); + result = cfg_acl_fromconfig(aclobj, config, named_g_lctx, actx, mctx, 0, + aclp); return (result); } @@ -587,10 +535,10 @@ configure_view_sortlist(const cfg_obj_t *vconfig, const cfg_obj_t *config, cfg_aclconfctx_t *actx, isc_mem_t *mctx, dns_acl_t **aclp) { - isc_result_t result; + isc_result_t result; const cfg_obj_t *maps[3]; const cfg_obj_t *aclobj = NULL; - int i = 0; + int i = 0; if (*aclp != NULL) dns_acl_detach(aclp); @@ -614,8 +562,8 @@ configure_view_sortlist(const cfg_obj_t *vconfig, const cfg_obj_t *config, * as lists of separate, nested ACLs, rather than merged together * into IP tables as is usually done with ACLs. */ - result = cfg_acl_fromconfig(aclobj, config, named_g_lctx, - actx, mctx, 3, aclp); + result = cfg_acl_fromconfig(aclobj, config, named_g_lctx, actx, mctx, 3, + aclp); return (result); } @@ -625,16 +573,16 @@ configure_view_nametable(const cfg_obj_t *vconfig, const cfg_obj_t *config, const char *confname, const char *conftuplename, isc_mem_t *mctx, dns_rbt_t **rbtp) { - isc_result_t result; - const cfg_obj_t *maps[3]; - const cfg_obj_t *obj = NULL; + isc_result_t result; + const cfg_obj_t * maps[3]; + const cfg_obj_t * obj = NULL; const cfg_listelt_t *element; - int i = 0; - dns_fixedname_t fixed; - dns_name_t *name; - isc_buffer_t b; - const char *str; - const cfg_obj_t *nameobj; + int i = 0; + dns_fixedname_t fixed; + dns_name_t * name; + isc_buffer_t b; + const char * str; + const cfg_obj_t * nameobj; if (*rbtp != NULL) dns_rbt_destroy(rbtp); @@ -666,8 +614,7 @@ configure_view_nametable(const cfg_obj_t *vconfig, const cfg_obj_t *config, return (result); name = dns_fixedname_initname(&fixed); - for (element = cfg_list_first(obj); - element != NULL; + for (element = cfg_list_first(obj); element != NULL; element = cfg_list_next(element)) { nameobj = cfg_listelt_value(element); str = cfg_obj_asstring(nameobj); @@ -684,46 +631,42 @@ configure_view_nametable(const cfg_obj_t *vconfig, const cfg_obj_t *config, result = dns_rbt_addname(*rbtp, name, (void *)1); if (result != ISC_R_SUCCESS) { cfg_obj_log(nameobj, named_g_lctx, ISC_LOG_ERROR, - "failed to add %s for %s: %s", - str, confname, isc_result_totext(result)); + "failed to add %s for %s: %s", str, + confname, isc_result_totext(result)); goto cleanup; } - } return (result); - cleanup: +cleanup: dns_rbt_destroy(rbtp); return (result); - } static isc_result_t ta_fromconfig(const cfg_obj_t *key, bool *initialp, const char **namestrp, unsigned char *digest, dns_rdata_ds_t *ds) { - isc_result_t result; + isc_result_t result; dns_rdata_dnskey_t keystruct; - dns_rdata_t rdata = DNS_RDATA_INIT; - uint32_t rdata1, rdata2, rdata3; - const char *datastr = NULL, *namestr = NULL; - unsigned char data[4096]; - isc_buffer_t databuf; - unsigned char rrdata[4096]; - isc_buffer_t rrdatabuf; - isc_region_t r; - dns_fixedname_t fname; - dns_name_t *name = NULL; - isc_buffer_t namebuf; - const char *atstr = NULL; - enum { - INIT_DNSKEY, - STATIC_DNSKEY, - INIT_DS, - STATIC_DS, - TRUSTED - } anchortype; + dns_rdata_t rdata = DNS_RDATA_INIT; + uint32_t rdata1, rdata2, rdata3; + const char * datastr = NULL, *namestr = NULL; + unsigned char data[4096]; + isc_buffer_t databuf; + unsigned char rrdata[4096]; + isc_buffer_t rrdatabuf; + isc_region_t r; + dns_fixedname_t fname; + dns_name_t * name = NULL; + isc_buffer_t namebuf; + const char * atstr = NULL; + enum { INIT_DNSKEY, + STATIC_DNSKEY, + INIT_DS, + STATIC_DS, + TRUSTED } anchortype; REQUIRE(namestrp != NULL && *namestrp == NULL); REQUIRE(ds != NULL); @@ -773,14 +716,12 @@ ta_fromconfig(const cfg_obj_t *key, bool *initialp, const char **namestrp, isc_buffer_init(&databuf, data, sizeof(data)); isc_buffer_init(&rrdatabuf, rrdata, sizeof(rrdata)); - *ds = (dns_rdata_ds_t){ - .common.rdclass = dns_rdataclass_in, - .common.rdtype = dns_rdatatype_ds - }; + *ds = (dns_rdata_ds_t){ .common.rdclass = dns_rdataclass_in, + .common.rdtype = dns_rdatatype_ds }; ISC_LINK_INIT(&ds->common, link); - switch(anchortype) { + switch (anchortype) { case INIT_DNSKEY: case STATIC_DNSKEY: case TRUSTED: @@ -826,8 +767,8 @@ ta_fromconfig(const cfg_obj_t *key, bool *initialp, const char **namestrp, keystruct.data = r.base; CHECK(dns_rdata_fromstruct(&rdata, keystruct.common.rdclass, - keystruct.common.rdtype, - &keystruct, &rrdatabuf)); + keystruct.common.rdtype, &keystruct, + &rrdatabuf)); CHECK(dns_ds_fromkeyrdata(name, &rdata, DNS_DSDIGEST_SHA256, digest, ds)); break; @@ -891,7 +832,7 @@ ta_fromconfig(const cfg_obj_t *key, bool *initialp, const char **namestrp, return (ISC_R_SUCCESS); - cleanup: +cleanup: return (result); } @@ -912,13 +853,13 @@ process_key(const cfg_obj_t *key, dns_keytable_t *secroots, bool managed) { dns_fixedname_t fkeyname; - dns_name_t *keyname = NULL; - const char *namestr = NULL; - dns_rdata_ds_t ds; - isc_result_t result; - bool initializing = managed; - unsigned char digest[ISC_MAX_MD_SIZE]; - isc_buffer_t b; + dns_name_t * keyname = NULL; + const char * namestr = NULL; + dns_rdata_ds_t ds; + isc_result_t result; + bool initializing = managed; + unsigned char digest[ISC_MAX_MD_SIZE]; + isc_buffer_t b; result = ta_fromconfig(key, &initializing, &namestr, digest, &ds); @@ -983,8 +924,8 @@ process_key(const cfg_obj_t *key, dns_keytable_t *secroots, * its owner name. If it does not, do not load the key and log a * warning, but do not prevent further keys from being processed. */ - if (!dns_resolver_algorithm_supported(resolver, keyname, ds.algorithm)) - { + if (!dns_resolver_algorithm_supported(resolver, keyname, + ds.algorithm)) { cfg_obj_log(key, named_g_lctx, ISC_LOG_WARNING, "ignoring %s for '%s': algorithm is disabled", initializing ? "initial-key" : "static-key", @@ -999,10 +940,10 @@ process_key(const cfg_obj_t *key, dns_keytable_t *secroots, * managed, so we use 'initializing' twice here, for both the * 'managed' and 'initializing' arguments to dns_keytable_add(). */ - result = dns_keytable_add(secroots, initializing, initializing, - keyname, &ds); + result = dns_keytable_add(secroots, initializing, initializing, keyname, + &ds); - done: +done: return (result); } @@ -1016,28 +957,24 @@ load_view_keys(const cfg_obj_t *keys, dns_view_t *view, bool managed, const dns_name_t *keyname) { const cfg_listelt_t *elt, *elt2; - const cfg_obj_t *keylist; - isc_result_t result; - dns_keytable_t *secroots = NULL; + const cfg_obj_t * keylist; + isc_result_t result; + dns_keytable_t * secroots = NULL; CHECK(dns_view_getsecroots(view, &secroots)); - for (elt = cfg_list_first(keys); - elt != NULL; - elt = cfg_list_next(elt)) - { + for (elt = cfg_list_first(keys); elt != NULL; + elt = cfg_list_next(elt)) { keylist = cfg_listelt_value(elt); - for (elt2 = cfg_list_first(keylist); - elt2 != NULL; - elt2 = cfg_list_next(elt2)) - { + for (elt2 = cfg_list_first(keylist); elt2 != NULL; + elt2 = cfg_list_next(elt2)) { CHECK(process_key(cfg_listelt_value(elt2), secroots, keyname, view->resolver, managed)); } } - cleanup: +cleanup: if (secroots != NULL) { dns_keytable_detach(&secroots); } @@ -1051,10 +988,11 @@ load_view_keys(const cfg_obj_t *keys, dns_view_t *view, bool managed, * Check whether a key has been successfully loaded. */ static bool -keyloaded(dns_view_t *view, const dns_name_t *name) { - isc_result_t result; +keyloaded(dns_view_t *view, const dns_name_t *name) +{ + isc_result_t result; dns_keytable_t *secroots = NULL; - dns_keynode_t *keynode = NULL; + dns_keynode_t * keynode = NULL; result = dns_view_getsecroots(view, &secroots); if (result != ISC_R_SUCCESS) @@ -1081,7 +1019,7 @@ configure_view_dnsseckeys(dns_view_t *view, const cfg_obj_t *vconfig, const cfg_obj_t *config, const cfg_obj_t *bindkeys, bool auto_root, isc_mem_t *mctx) { - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; const cfg_obj_t *view_keys = NULL; const cfg_obj_t *global_keys = NULL; const cfg_obj_t *view_managed_keys = NULL; @@ -1092,27 +1030,25 @@ configure_view_dnsseckeys(dns_view_t *view, const cfg_obj_t *vconfig, const cfg_obj_t *voptions = NULL; const cfg_obj_t *options = NULL; const cfg_obj_t *obj = NULL; - const char *directory; - int i = 0; + const char * directory; + int i = 0; /* We don't need trust anchors for the _bind view */ if (strcmp(view->name, "_bind") == 0 && - view->rdclass == dns_rdataclass_chaos) - { + view->rdclass == dns_rdataclass_chaos) { return (ISC_R_SUCCESS); } if (vconfig != NULL) { voptions = cfg_tuple_get(vconfig, "options"); if (voptions != NULL) { - (void) cfg_map_get(voptions, "trusted-keys", - &view_keys); + (void)cfg_map_get(voptions, "trusted-keys", &view_keys); /* managed-keys and trust-anchors are synonyms. */ - (void) cfg_map_get(voptions, "managed-keys", - &view_managed_keys); - (void) cfg_map_get(voptions, "trust-anchors", - &view_trust_anchors); + (void)cfg_map_get(voptions, "managed-keys", + &view_managed_keys); + (void)cfg_map_get(voptions, "trust-anchors", + &view_trust_anchors); maps[i++] = voptions; } @@ -1169,13 +1105,12 @@ configure_view_dnsseckeys(dns_view_t *view, const cfg_obj_t *vconfig, &builtin_keys); if (builtin_keys == NULL) { - isc_log_write(named_g_lctx, - DNS_LOGCATEGORY_SECURITY, - NAMED_LOGMODULE_SERVER, - ISC_LOG_WARNING, - "dnssec-validation auto: " - "WARNING: root zone key " - "not found"); + isc_log_write( + named_g_lctx, DNS_LOGCATEGORY_SECURITY, + NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, + "dnssec-validation auto: " + "WARNING: root zone key " + "not found"); } } @@ -1233,7 +1168,8 @@ configure_view_dnsseckeys(dns_view_t *view, const cfg_obj_t *vconfig, isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "managed-keys-directory '%s' " - "is not writable", directory); + "is not writable", + directory); result = ISC_R_NOPERM; goto cleanup; } @@ -1241,26 +1177,25 @@ configure_view_dnsseckeys(dns_view_t *view, const cfg_obj_t *vconfig, CHECK(add_keydata_zone(view, directory, named_g_mctx)); - cleanup: +cleanup: return (result); } static isc_result_t -mustbesecure(const cfg_obj_t *mbs, dns_resolver_t *resolver) { +mustbesecure(const cfg_obj_t *mbs, dns_resolver_t *resolver) +{ const cfg_listelt_t *element; - const cfg_obj_t *obj; - const char *str; - dns_fixedname_t fixed; - dns_name_t *name; - bool value; - isc_result_t result; - isc_buffer_t b; + const cfg_obj_t * obj; + const char * str; + dns_fixedname_t fixed; + dns_name_t * name; + bool value; + isc_result_t result; + isc_buffer_t b; name = dns_fixedname_initname(&fixed); - for (element = cfg_list_first(mbs); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(mbs); element != NULL; + element = cfg_list_next(element)) { obj = cfg_listelt_value(element); str = cfg_obj_asstring(cfg_tuple_get(obj, "name")); isc_buffer_constinit(&b, str, strlen(str)); @@ -1272,7 +1207,7 @@ mustbesecure(const cfg_obj_t *mbs, dns_resolver_t *resolver) { result = ISC_R_SUCCESS; - cleanup: +cleanup: return (result); } @@ -1284,13 +1219,13 @@ get_view_querysource_dispatch(const cfg_obj_t **maps, int af, dns_dispatch_t **dispatchp, isc_dscp_t *dscpp, bool is_firstview) { - isc_result_t result = ISC_R_FAILURE; - dns_dispatch_t *disp; - isc_sockaddr_t sa; - unsigned int attrs, attrmask; + isc_result_t result = ISC_R_FAILURE; + dns_dispatch_t * disp; + isc_sockaddr_t sa; + unsigned int attrs, attrmask; const cfg_obj_t *obj = NULL; - unsigned int maxdispatchbuffers = UDPBUFFERS; - isc_dscp_t dscp = -1; + unsigned int maxdispatchbuffers = UDPBUFFERS; + isc_dscp_t dscp = -1; switch (af) { case AF_INET: @@ -1369,7 +1304,7 @@ get_view_querysource_dispatch(const cfg_obj_t **maps, int af, attrs, attrmask, &disp); if (result != ISC_R_SUCCESS) { isc_sockaddr_t any; - char buf[ISC_SOCKADDR_FORMATSIZE]; + char buf[ISC_SOCKADDR_FORMATSIZE]; switch (af) { case AF_INET: @@ -1395,24 +1330,25 @@ get_view_querysource_dispatch(const cfg_obj_t **maps, int af, } static isc_result_t -configure_order(dns_order_t *order, const cfg_obj_t *ent) { +configure_order(dns_order_t *order, const cfg_obj_t *ent) +{ dns_rdataclass_t rdclass; - dns_rdatatype_t rdtype; + dns_rdatatype_t rdtype; const cfg_obj_t *obj; - dns_fixedname_t fixed; - unsigned int mode = 0; - const char *str; - isc_buffer_t b; - isc_result_t result; - bool addroot; + dns_fixedname_t fixed; + unsigned int mode = 0; + const char * str; + isc_buffer_t b; + isc_result_t result; + bool addroot; result = named_config_getclass(cfg_tuple_get(ent, "class"), - dns_rdataclass_any, &rdclass); + dns_rdataclass_any, &rdclass); if (result != ISC_R_SUCCESS) return (result); result = named_config_gettype(cfg_tuple_get(ent, "type"), - dns_rdatatype_any, &rdtype); + dns_rdatatype_any, &rdtype); if (result != ISC_R_SUCCESS) return (result); @@ -1425,8 +1361,8 @@ configure_order(dns_order_t *order, const cfg_obj_t *ent) { isc_buffer_constinit(&b, str, strlen(str)); isc_buffer_add(&b, strlen(str)); dns_fixedname_init(&fixed); - result = dns_name_fromtext(dns_fixedname_name(&fixed), &b, - dns_rootname, 0, NULL); + result = dns_name_fromtext(dns_fixedname_name(&fixed), &b, dns_rootname, + 0, NULL); if (result != ISC_R_SUCCESS) return (result); @@ -1456,24 +1392,25 @@ configure_order(dns_order_t *order, const cfg_obj_t *ent) { * explicit entry for "." when the name is "*". */ if (addroot) { - result = dns_order_add(order, dns_rootname, - rdtype, rdclass, mode); + result = dns_order_add(order, dns_rootname, rdtype, rdclass, + mode); if (result != ISC_R_SUCCESS) return (result); } - return (dns_order_add(order, dns_fixedname_name(&fixed), - rdtype, rdclass, mode)); + return (dns_order_add(order, dns_fixedname_name(&fixed), rdtype, + rdclass, mode)); } static isc_result_t -configure_peer(const cfg_obj_t *cpeer, isc_mem_t *mctx, dns_peer_t **peerp) { - isc_netaddr_t na; - dns_peer_t *peer; +configure_peer(const cfg_obj_t *cpeer, isc_mem_t *mctx, dns_peer_t **peerp) +{ + isc_netaddr_t na; + dns_peer_t * peer; const cfg_obj_t *obj; - const char *str; - isc_result_t result; - unsigned int prefixlen; + const char * str; + isc_result_t result; + unsigned int prefixlen; cfg_obj_asnetprefix(cfg_map_getname(cpeer), &na, &prefixlen); @@ -1584,8 +1521,7 @@ configure_peer(const cfg_obj_t *cpeer, isc_mem_t *mctx, dns_peer_t **peerp) { CHECK(dns_peer_settransferformat(peer, dns_many_answers)); } else if (strcasecmp(str, "one-answer") == 0) { - CHECK(dns_peer_settransferformat(peer, - dns_one_answer)); + CHECK(dns_peer_settransferformat(peer, dns_one_answer)); } else { INSIST(0); ISC_UNREACHABLE(); @@ -1623,8 +1559,8 @@ configure_peer(const cfg_obj_t *cpeer, isc_mem_t *mctx, dns_peer_t **peerp) { else (void)cfg_map_get(cpeer, "notify-source-v6", &obj); if (obj != NULL) { - result = dns_peer_setnotifysource(peer, - cfg_obj_assockaddr(obj)); + result = + dns_peer_setnotifysource(peer, cfg_obj_assockaddr(obj)); if (result != ISC_R_SUCCESS) goto cleanup; result = dns_peer_setnotifydscp(peer, cfg_obj_getdscp(obj)); @@ -1640,8 +1576,7 @@ configure_peer(const cfg_obj_t *cpeer, isc_mem_t *mctx, dns_peer_t **peerp) { else (void)cfg_map_get(cpeer, "query-source-v6", &obj); if (obj != NULL) { - result = dns_peer_setquerysource(peer, - cfg_obj_assockaddr(obj)); + result = dns_peer_setquerysource(peer, cfg_obj_assockaddr(obj)); if (result != ISC_R_SUCCESS) goto cleanup; result = dns_peer_setquerydscp(peer, cfg_obj_getdscp(obj)); @@ -1654,7 +1589,7 @@ configure_peer(const cfg_obj_t *cpeer, isc_mem_t *mctx, dns_peer_t **peerp) { *peerp = peer; return (ISC_R_SUCCESS); - cleanup: +cleanup: dns_peer_detach(&peer); return (result); } @@ -1664,9 +1599,9 @@ static isc_result_t configure_dyndb(const cfg_obj_t *dyndb, isc_mem_t *mctx, const dns_dyndbctx_t *dctx) { - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; const cfg_obj_t *obj; - const char *name, *library; + const char * name, *library; /* Get the name of the dyndb instance and the library path . */ name = cfg_obj_asstring(cfg_tuple_get(dyndb, "name")); @@ -1687,16 +1622,16 @@ configure_dyndb(const cfg_obj_t *dyndb, isc_mem_t *mctx, } #endif - static isc_result_t -disable_algorithms(const cfg_obj_t *disabled, dns_resolver_t *resolver) { - isc_result_t result; - const cfg_obj_t *algorithms; +disable_algorithms(const cfg_obj_t *disabled, dns_resolver_t *resolver) +{ + isc_result_t result; + const cfg_obj_t * algorithms; const cfg_listelt_t *element; - const char *str; - dns_fixedname_t fixed; - dns_name_t *name; - isc_buffer_t b; + const char * str; + dns_fixedname_t fixed; + dns_name_t * name; + isc_buffer_t b; name = dns_fixedname_initname(&fixed); str = cfg_obj_asstring(cfg_tuple_get(disabled, "name")); @@ -1705,12 +1640,10 @@ disable_algorithms(const cfg_obj_t *disabled, dns_resolver_t *resolver) { CHECK(dns_name_fromtext(name, &b, dns_rootname, 0, NULL)); algorithms = cfg_tuple_get(disabled, "algorithms"); - for (element = cfg_list_first(algorithms); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(algorithms); element != NULL; + element = cfg_list_next(element)) { isc_textregion_t r; - dns_secalg_t alg; + dns_secalg_t alg; DE_CONST(cfg_obj_asstring(cfg_listelt_value(element)), r.base); r.length = strlen(r.base); @@ -1722,26 +1655,26 @@ disable_algorithms(const cfg_obj_t *disabled, dns_resolver_t *resolver) { alg = ui; } if (result != ISC_R_SUCCESS) { - cfg_obj_log(cfg_listelt_value(element), - named_g_lctx, ISC_LOG_ERROR, - "invalid algorithm"); + cfg_obj_log(cfg_listelt_value(element), named_g_lctx, + ISC_LOG_ERROR, "invalid algorithm"); CHECK(result); } CHECK(dns_resolver_disable_algorithm(resolver, name, alg)); } - cleanup: +cleanup: return (result); } static isc_result_t -disable_ds_digests(const cfg_obj_t *disabled, dns_resolver_t *resolver) { - isc_result_t result; - const cfg_obj_t *digests; +disable_ds_digests(const cfg_obj_t *disabled, dns_resolver_t *resolver) +{ + isc_result_t result; + const cfg_obj_t * digests; const cfg_listelt_t *element; - const char *str; - dns_fixedname_t fixed; - dns_name_t *name; - isc_buffer_t b; + const char * str; + dns_fixedname_t fixed; + dns_name_t * name; + isc_buffer_t b; name = dns_fixedname_initname(&fixed); str = cfg_obj_asstring(cfg_tuple_get(disabled, "name")); @@ -1750,12 +1683,10 @@ disable_ds_digests(const cfg_obj_t *disabled, dns_resolver_t *resolver) { CHECK(dns_name_fromtext(name, &b, dns_rootname, 0, NULL)); digests = cfg_tuple_get(disabled, "digests"); - for (element = cfg_list_first(digests); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(digests); element != NULL; + element = cfg_list_next(element)) { isc_textregion_t r; - dns_dsdigest_t digest; + dns_dsdigest_t digest; DE_CONST(cfg_obj_asstring(cfg_listelt_value(element)), r.base); r.length = strlen(r.base); @@ -1763,39 +1694,36 @@ disable_ds_digests(const cfg_obj_t *disabled, dns_resolver_t *resolver) { /* disable_ds_digests handles numeric values. */ result = dns_dsdigest_fromtext(&digest, &r); if (result != ISC_R_SUCCESS) { - cfg_obj_log(cfg_listelt_value(element), - named_g_lctx, ISC_LOG_ERROR, - "invalid algorithm"); + cfg_obj_log(cfg_listelt_value(element), named_g_lctx, + ISC_LOG_ERROR, "invalid algorithm"); CHECK(result); } CHECK(dns_resolver_disable_ds_digest(resolver, name, digest)); } - cleanup: +cleanup: return (result); } static bool -on_disable_list(const cfg_obj_t *disablelist, dns_name_t *zonename) { +on_disable_list(const cfg_obj_t *disablelist, dns_name_t *zonename) +{ const cfg_listelt_t *element; - dns_fixedname_t fixed; - dns_name_t *name; - isc_result_t result; - const cfg_obj_t *value; - const char *str; - isc_buffer_t b; + dns_fixedname_t fixed; + dns_name_t * name; + isc_result_t result; + const cfg_obj_t * value; + const char * str; + isc_buffer_t b; name = dns_fixedname_initname(&fixed); - for (element = cfg_list_first(disablelist); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(disablelist); element != NULL; + element = cfg_list_next(element)) { value = cfg_listelt_value(element); str = cfg_obj_asstring(value); isc_buffer_constinit(&b, str, strlen(str)); isc_buffer_add(&b, strlen(str)); - result = dns_name_fromtext(name, &b, dns_rootname, - 0, NULL); + result = dns_name_fromtext(name, &b, dns_rootname, 0, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); if (dns_name_equal(name, zonename)) return (true); @@ -1807,7 +1735,7 @@ static isc_result_t check_dbtype(dns_zone_t *zone, unsigned int dbtypec, const char **dbargv, isc_mem_t *mctx) { - char **argv = NULL; + char ** argv = NULL; unsigned int i; isc_result_t result = ISC_R_SUCCESS; @@ -1826,13 +1754,14 @@ check_dbtype(dns_zone_t *zone, unsigned int dbtypec, const char **dbargv, if (i == dbtypec && argv[i] != NULL) result = ISC_R_FAILURE; - cleanup: +cleanup: isc_mem_free(mctx, argv); return (result); } static isc_result_t -setquerystats(dns_zone_t *zone, isc_mem_t *mctx, dns_zonestat_level_t level) { +setquerystats(dns_zone_t *zone, isc_mem_t *mctx, dns_zonestat_level_t level) +{ isc_result_t result; isc_stats_t *zoneqrystats; @@ -1858,8 +1787,7 @@ cachelist_find(named_cachelist_t *cachelist, const char *cachename, { named_cache_t *nsc; - for (nsc = ISC_LIST_HEAD(*cachelist); - nsc != NULL; + for (nsc = ISC_LIST_HEAD(*cachelist); nsc != NULL; nsc = ISC_LIST_NEXT(nsc, link)) { if (nsc->rdclass == rdclass && strcmp(dns_cache_getname(nsc->cache), cachename) == 0) @@ -1876,7 +1804,7 @@ cache_reusable(dns_view_t *originview, dns_view_t *view, if (originview->rdclass != view->rdclass || originview->checknames != view->checknames || dns_resolver_getzeronosoattl(originview->resolver) != - new_zero_no_soattl || + new_zero_no_soattl || originview->acceptexpired != view->acceptexpired || originview->enablevalidation != view->enablevalidation || originview->maxcachettl != view->maxcachettl || @@ -1889,8 +1817,7 @@ cache_reusable(dns_view_t *originview, dns_view_t *view, static bool cache_sharable(dns_view_t *originview, dns_view_t *view, - bool new_zero_no_soattl, - uint64_t new_max_cache_size, + bool new_zero_no_soattl, uint64_t new_max_cache_size, uint32_t new_stale_ttl) { /* @@ -1916,37 +1843,37 @@ cache_sharable(dns_view_t *originview, dns_view_t *view, * Callback from DLZ configure when the driver sets up a writeable zone */ static isc_result_t -dlzconfigure_callback(dns_view_t *view, dns_dlzdb_t *dlzdb, dns_zone_t *zone) { - dns_name_t *origin = dns_zone_getorigin(zone); +dlzconfigure_callback(dns_view_t *view, dns_dlzdb_t *dlzdb, dns_zone_t *zone) +{ + dns_name_t * origin = dns_zone_getorigin(zone); dns_rdataclass_t zclass = view->rdclass; - isc_result_t result; + isc_result_t result; result = dns_zonemgr_managezone(named_g_server->zonemgr, zone); if (result != ISC_R_SUCCESS) return (result); dns_zone_setstats(zone, named_g_server->zonestats); - return (named_zone_configure_writeable_dlz(dlzdb, zone, - zclass, origin)); + return (named_zone_configure_writeable_dlz(dlzdb, zone, zclass, + origin)); } static isc_result_t dns64_reverse(dns_view_t *view, isc_mem_t *mctx, isc_netaddr_t *na, - unsigned int prefixlen, const char *server, - const char *contact) + unsigned int prefixlen, const char *server, const char *contact) { - char reverse[48+sizeof("ip6.arpa.")] = { 0 }; - char buf[sizeof("x.x.")]; - const char *dns64_dbtype[4] = { "_dns64", "dns64", ".", "." }; - const char *sep = ": view "; - const char *viewname = view->name; + char reverse[48 + sizeof("ip6.arpa.")] = { 0 }; + char buf[sizeof("x.x.")]; + const char * dns64_dbtype[4] = { "_dns64", "dns64", ".", "." }; + const char * sep = ": view "; + const char * viewname = view->name; const unsigned char *s6; - dns_fixedname_t fixed; - dns_name_t *name; - dns_zone_t *zone = NULL; - int dns64_dbtypec = 4; - isc_buffer_t b; - isc_result_t result; + dns_fixedname_t fixed; + dns_name_t * name; + dns_zone_t * zone = NULL; + int dns64_dbtypec = 4; + isc_buffer_t b; + isc_result_t result; REQUIRE(prefixlen == 32 || prefixlen == 40 || prefixlen == 48 || prefixlen == 56 || prefixlen == 64 || prefixlen == 96); @@ -1962,8 +1889,8 @@ dns64_reverse(dns_view_t *view, isc_mem_t *mctx, isc_netaddr_t *na, s6 = na->type.in6.s6_addr; while (prefixlen > 0) { prefixlen -= 8; - snprintf(buf, sizeof(buf), "%x.%x.", s6[prefixlen/8] & 0xf, - (s6[prefixlen/8] >> 4) & 0xf); + snprintf(buf, sizeof(buf), "%x.%x.", s6[prefixlen / 8] & 0xf, + (s6[prefixlen / 8] >> 4) & 0xf); strlcat(reverse, buf, sizeof(reverse)); } strlcat(reverse, "ip6.arpa.", sizeof(reverse)); @@ -1994,12 +1921,11 @@ dns64_reverse(dns_view_t *view, isc_mem_t *mctx, isc_netaddr_t *na, dns_zone_setdialup(zone, dns_dialuptype_no); dns_zone_setnotifytype(zone, dns_notifytype_no); dns_zone_setoption(zone, DNS_ZONEOPT_NOCHECKNS, true); - CHECK(setquerystats(zone, mctx, dns_zonestat_none)); /* XXXMPA */ + CHECK(setquerystats(zone, mctx, dns_zonestat_none)); /* XXXMPA */ CHECK(dns_view_addzone(view, zone)); isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, - "dns64 reverse zone%s%s: %s", sep, - viewname, reverse); + "dns64 reverse zone%s%s: %s", sep, viewname, reverse); cleanup: if (zone != NULL) @@ -2010,19 +1936,20 @@ cleanup: #ifdef USE_DNSRPS typedef struct conf_dnsrps_ctx conf_dnsrps_ctx_t; struct conf_dnsrps_ctx { - isc_result_t result; - char *cstr; - size_t cstr_size; - isc_mem_t *mctx; + isc_result_t result; + char * cstr; + size_t cstr_size; + isc_mem_t * mctx; }; /* * Add to the DNSRPS configuration string. */ static bool -conf_dnsrps_sadd(conf_dnsrps_ctx_t *ctx, const char *p, ...) { - size_t new_len, cur_len, new_cstr_size; - char *new_cstr; +conf_dnsrps_sadd(conf_dnsrps_ctx_t *ctx, const char *p, ...) +{ + size_t new_len, cur_len, new_cstr_size; + char * new_cstr; va_list args; if (ctx->cstr == NULL) { @@ -2033,14 +1960,15 @@ conf_dnsrps_sadd(conf_dnsrps_ctx_t *ctx, const char *p, ...) { cur_len = strlen(ctx->cstr); va_start(args, p); - new_len = vsnprintf(ctx->cstr + cur_len, ctx->cstr_size - cur_len, - p, args) + 1; + new_len = vsnprintf(ctx->cstr + cur_len, ctx->cstr_size - cur_len, p, + args) + + 1; va_end(args); if (cur_len + new_len <= ctx->cstr_size) return (true); - new_cstr_size = ((cur_len + new_len)/256 + 1) * 256; + new_cstr_size = ((cur_len + new_len) / 256 + 1) * 256; new_cstr = isc_mem_get(ctx->mctx, new_cstr_size); memmove(new_cstr, ctx->cstr, cur_len); @@ -2060,9 +1988,8 @@ conf_dnsrps_sadd(conf_dnsrps_ctx_t *ctx, const char *p, ...) { * for the default. Return false upon failure. */ static bool -conf_dnsrps_get(const cfg_obj_t **sub_obj, - const cfg_obj_t **maps ,const cfg_obj_t *obj, - const char *name, conf_dnsrps_ctx_t *ctx) +conf_dnsrps_get(const cfg_obj_t **sub_obj, const cfg_obj_t **maps, + const cfg_obj_t *obj, const char *name, conf_dnsrps_ctx_t *ctx) { if (ctx != NULL && ctx->result != ISC_R_SUCCESS) { *sub_obj = NULL; @@ -2084,7 +2011,7 @@ conf_dnsrps_get(const cfg_obj_t **sub_obj, * options providing the default. */ static void -conf_dnsrps_yes_no(const cfg_obj_t *obj, const char* name, +conf_dnsrps_yes_no(const cfg_obj_t *obj, const char *name, conf_dnsrps_ctx_t *ctx) { const cfg_obj_t *sub_obj; @@ -2095,8 +2022,7 @@ conf_dnsrps_yes_no(const cfg_obj_t *obj, const char* name, return; if (ctx == NULL) { cfg_obj_log(obj, named_g_lctx, ISC_LOG_ERROR, - "\"%s\" without \"dnsrps-enable yes\"", - name); + "\"%s\" without \"dnsrps-enable yes\"", name); return; } @@ -2105,8 +2031,7 @@ conf_dnsrps_yes_no(const cfg_obj_t *obj, const char* name, } static void -conf_dnsrps_num(const cfg_obj_t *obj, const char *name, - conf_dnsrps_ctx_t *ctx) +conf_dnsrps_num(const cfg_obj_t *obj, const char *name, conf_dnsrps_ctx_t *ctx) { const cfg_obj_t *sub_obj; @@ -2116,8 +2041,7 @@ conf_dnsrps_num(const cfg_obj_t *obj, const char *name, return; if (ctx == NULL) { cfg_obj_log(obj, named_g_lctx, ISC_LOG_ERROR, - "\"%s\" without \"dnsrps-enable yes\"", - name); + "\"%s\" without \"dnsrps-enable yes\"", name); return; } @@ -2135,24 +2059,22 @@ conf_dnsrps_num(const cfg_obj_t *obj, const char *name, * dns_rpz_new_zones(). */ static isc_result_t -conf_dnsrps(dns_view_t *view, const cfg_obj_t **maps, - bool nsip_enabled, bool nsdname_enabled, - dns_rpz_zbits_t *nsip_on, dns_rpz_zbits_t *nsdname_on, - char **rps_cstr, size_t *rps_cstr_size, +conf_dnsrps(dns_view_t *view, const cfg_obj_t **maps, bool nsip_enabled, + bool nsdname_enabled, dns_rpz_zbits_t *nsip_on, + dns_rpz_zbits_t *nsdname_on, char **rps_cstr, size_t *rps_cstr_size, const cfg_obj_t *rpz_obj, const cfg_listelt_t *zone_element) { conf_dnsrps_ctx_t ctx; - const cfg_obj_t *zone_obj, *obj; - dns_rpz_num_t rpz_num; - bool on; - const char *s; + const cfg_obj_t * zone_obj, *obj; + dns_rpz_num_t rpz_num; + bool on; + const char * s; memset(&ctx, 0, sizeof(ctx)); ctx.result = ISC_R_SUCCESS; ctx.mctx = view->mctx; - for (rpz_num = 0; - zone_element != NULL && ctx.result == ISC_R_SUCCESS; + for (rpz_num = 0; zone_element != NULL && ctx.result == ISC_R_SUCCESS; ++rpz_num) { zone_obj = cfg_listelt_value(zone_element); @@ -2164,8 +2086,8 @@ conf_dnsrps(dns_view_t *view, const cfg_obj_t **maps, s = cfg_obj_asstring(cfg_tuple_get(obj, "policy name")); conf_dnsrps_sadd(&ctx, " policy %s", s); if (strcasecmp(s, "cname") == 0) { - s = cfg_obj_asstring(cfg_tuple_get(obj, - "cname")); + s = cfg_obj_asstring(cfg_tuple_get(obj, "cnam" + "e")); conf_dnsrps_sadd(&ctx, " %s", s); } } @@ -2182,8 +2104,8 @@ conf_dnsrps(dns_view_t *view, const cfg_obj_t **maps, } on = ((*nsip_on & DNS_RPZ_ZBIT(rpz_num)) != 0); if (nsip_enabled != on) - conf_dnsrps_sadd(&ctx, on ? " nsip-enable yes " : - " nsip-enable no "); + conf_dnsrps_sadd(&ctx, on ? " nsip-enable yes " + : " nsip-enable no "); obj = cfg_tuple_get(rpz_obj, "nsdname-enable"); if (!cfg_obj_isvoid(obj)) { if (cfg_obj_asboolean(obj)) @@ -2193,22 +2115,21 @@ conf_dnsrps(dns_view_t *view, const cfg_obj_t **maps, } on = ((*nsdname_on & DNS_RPZ_ZBIT(rpz_num)) != 0); if (nsdname_enabled != on) - conf_dnsrps_sadd(&ctx, on - ? " nsdname-enable yes " - : " nsdname-enable no "); + conf_dnsrps_sadd(&ctx, on ? " nsdname-enable yes " + : " nsdname-enable no "); conf_dnsrps_sadd(&ctx, ";\n"); zone_element = cfg_list_next(zone_element); } - conf_dnsrps_yes_no(rpz_obj, "recursive-only", &ctx); - conf_dnsrps_num(rpz_obj, "max-policy-ttl", &ctx); - conf_dnsrps_num(rpz_obj, "min-ns-dots", &ctx); - conf_dnsrps_yes_no(rpz_obj, "qname-wait-recurse", &ctx); - conf_dnsrps_yes_no(rpz_obj, "break-dnssec", &ctx); + conf_dnsrps_yes_no(rpz_obj, "recursive-only", &ctx); + conf_dnsrps_num(rpz_obj, "max-policy-ttl", &ctx); + conf_dnsrps_num(rpz_obj, "min-ns-dots", &ctx); + conf_dnsrps_yes_no(rpz_obj, "qname-wait-recurse", &ctx); + conf_dnsrps_yes_no(rpz_obj, "break-dnssec", &ctx); if (!nsip_enabled) conf_dnsrps_sadd(&ctx, " nsip-enable no "); if (!nsdname_enabled) - conf_dnsrps_sadd(&ctx, " nsdname-enable no "); + conf_dnsrps_sadd(&ctx, " nsdname-enable no "); /* * Get the general dnsrpzd parameters from the response-policy @@ -2260,18 +2181,15 @@ configure_rpz_name2(dns_view_t *view, const cfg_obj_t *obj, dns_name_t *name, static isc_result_t configure_rpz_zone(dns_view_t *view, const cfg_listelt_t *element, - bool recursive_only_default, - bool add_soa_default, - dns_ttl_t ttl_default, - uint32_t minupdateinterval_default, - const dns_rpz_zone_t *old, - bool *old_rpz_okp) + bool recursive_only_default, bool add_soa_default, + dns_ttl_t ttl_default, uint32_t minupdateinterval_default, + const dns_rpz_zone_t *old, bool *old_rpz_okp) { const cfg_obj_t *rpz_obj, *obj; - const char *str; - dns_rpz_zone_t *zone = NULL; - isc_result_t result; - dns_rpz_num_t rpz_num; + const char * str; + dns_rpz_zone_t * zone = NULL; + isc_result_t result; + dns_rpz_num_t rpz_num; REQUIRE(old != NULL || !*old_rpz_okp); @@ -2293,9 +2211,8 @@ configure_rpz_zone(dns_view_t *view, const cfg_listelt_t *element, } obj = cfg_tuple_get(rpz_obj, "recursive-only"); - if (cfg_obj_isvoid(obj) ? - recursive_only_default : cfg_obj_asboolean(obj)) - { + if (cfg_obj_isvoid(obj) ? recursive_only_default + : cfg_obj_asboolean(obj)) { view->rpzs->p.no_rd_ok &= ~DNS_RPZ_ZBIT(zone->num); } else { view->rpzs->p.no_rd_ok |= DNS_RPZ_ZBIT(zone->num); @@ -2335,10 +2252,8 @@ configure_rpz_zone(dns_view_t *view, const cfg_listelt_t *element, return (DNS_R_EMPTYLABEL); } if (!view->rpzs->p.dnsrps_enabled) { - for (rpz_num = 0; - rpz_num < view->rpzs->p.num_zones - 1; - ++rpz_num) - { + for (rpz_num = 0; rpz_num < view->rpzs->p.num_zones - 1; + ++rpz_num) { if (dns_name_equal(&view->rpzs->zones[rpz_num]->origin, &zone->origin)) { cfg_obj_log(rpz_obj, named_g_lctx, @@ -2357,8 +2272,8 @@ configure_rpz_zone(dns_view_t *view, const cfg_listelt_t *element, if (result != ISC_R_SUCCESS) return (result); - result = configure_rpz_name2(view, rpz_obj, &zone->ip, - DNS_RPZ_IP_ZONE, &zone->origin); + result = configure_rpz_name2(view, rpz_obj, &zone->ip, DNS_RPZ_IP_ZONE, + &zone->origin); if (result != ISC_R_SUCCESS) return (result); @@ -2420,22 +2335,22 @@ static isc_result_t configure_rpz(dns_view_t *view, const cfg_obj_t **maps, const cfg_obj_t *rpz_obj, bool *old_rpz_okp) { - bool dnsrps_enabled; - const cfg_listelt_t *zone_element; - char *rps_cstr; - size_t rps_cstr_size; - const cfg_obj_t *sub_obj; - bool recursive_only_default, add_soa_default; - bool nsip_enabled, nsdname_enabled; - dns_rpz_zbits_t nsip_on, nsdname_on; - dns_ttl_t ttl_default; - uint32_t minupdateinterval_default; - dns_rpz_zones_t *zones; + bool dnsrps_enabled; + const cfg_listelt_t * zone_element; + char * rps_cstr; + size_t rps_cstr_size; + const cfg_obj_t * sub_obj; + bool recursive_only_default, add_soa_default; + bool nsip_enabled, nsdname_enabled; + dns_rpz_zbits_t nsip_on, nsdname_on; + dns_ttl_t ttl_default; + uint32_t minupdateinterval_default; + dns_rpz_zones_t * zones; const dns_rpz_zones_t *old; - dns_view_t *pview; - const dns_rpz_zone_t *old_zone; - isc_result_t result; - int i; + dns_view_t * pview; + const dns_rpz_zone_t * old_zone; + isc_result_t result; + int i; *old_rpz_okp = false; @@ -2493,19 +2408,17 @@ configure_rpz(dns_view_t *view, const cfg_obj_t **maps, * Generate the DNS Response Policy Service * configuration string. */ - result = conf_dnsrps(view, maps, - nsip_enabled, nsdname_enabled, - &nsip_on, &nsdname_on, - &rps_cstr, &rps_cstr_size, - rpz_obj, zone_element); + result = conf_dnsrps(view, maps, nsip_enabled, nsdname_enabled, + &nsip_on, &nsdname_on, &rps_cstr, + &rps_cstr_size, rpz_obj, zone_element); if (result != ISC_R_SUCCESS) return (result); } #endif - result = dns_rpz_new_zones(&view->rpzs, rps_cstr, - rps_cstr_size, view->mctx, - named_g_taskmgr, named_g_timermgr); + result = dns_rpz_new_zones(&view->rpzs, rps_cstr, rps_cstr_size, + view->mctx, named_g_taskmgr, + named_g_timermgr); if (result != ISC_R_SUCCESS) return (result); @@ -2566,8 +2479,8 @@ configure_rpz(dns_view_t *view, const cfg_obj_t **maps, zones->p.nsip_wait_recurse = false; pview = NULL; - result = dns_viewlist_find(&named_g_server->viewlist, - view->name, view->rdclass, &pview); + result = dns_viewlist_find(&named_g_server->viewlist, view->name, + view->rdclass, &pview); if (result == ISC_R_SUCCESS) { old = pview->rpzs; } else { @@ -2579,10 +2492,8 @@ configure_rpz(dns_view_t *view, const cfg_obj_t **maps, *old_rpz_okp = true; } - for (i = 0; - zone_element != NULL; - ++i, zone_element = cfg_list_next(zone_element)) - { + for (i = 0; zone_element != NULL; + ++i, zone_element = cfg_list_next(zone_element)) { INSIST(!*old_rpz_okp || old != NULL); if (*old_rpz_okp && i < old->p.num_zones) { old_zone = old->zones[i]; @@ -2590,12 +2501,10 @@ configure_rpz(dns_view_t *view, const cfg_obj_t **maps, *old_rpz_okp = false; old_zone = NULL; } - result = configure_rpz_zone(view, zone_element, - recursive_only_default, - add_soa_default, - ttl_default, - minupdateinterval_default, - old_zone, old_rpz_okp); + result = configure_rpz_zone( + view, zone_element, recursive_only_default, + add_soa_default, ttl_default, minupdateinterval_default, + old_zone, old_rpz_okp); if (result != ISC_R_SUCCESS) { if (pview != NULL) dns_view_detach(&pview); @@ -2610,17 +2519,13 @@ configure_rpz(dns_view_t *view, const cfg_obj_t **maps, */ if (*old_rpz_okp) { if (old != NULL && - memcmp(&old->p, &zones->p, sizeof(zones->p)) != 0) - { + memcmp(&old->p, &zones->p, sizeof(zones->p)) != 0) { *old_rpz_okp = false; } else if ((old == NULL || old->rps_cstr == NULL) != - (zones->rps_cstr == NULL)) - { + (zones->rps_cstr == NULL)) { *old_rpz_okp = false; - } else if (old != NULL && - zones->rps_cstr != NULL && - strcmp(old->rps_cstr, zones->rps_cstr) != 0) - { + } else if (old != NULL && zones->rps_cstr != NULL && + strcmp(old->rps_cstr, zones->rps_cstr) != 0) { *old_rpz_okp = false; } } @@ -2644,19 +2549,20 @@ configure_rpz(dns_view_t *view, const cfg_obj_t **maps, } static void -catz_addmodzone_taskaction(isc_task_t *task, isc_event_t *event0) { - catz_chgzone_event_t *ev = (catz_chgzone_event_t *) event0; - isc_result_t result; - isc_buffer_t namebuf; - isc_buffer_t *confbuf; - char nameb[DNS_NAME_FORMATSIZE]; - const cfg_obj_t *zlist = NULL; - cfg_obj_t *zoneconf = NULL; - cfg_obj_t *zoneobj = NULL; - ns_cfgctx_t *cfg; - dns_zone_t *zone = NULL; +catz_addmodzone_taskaction(isc_task_t *task, isc_event_t *event0) +{ + catz_chgzone_event_t *ev = (catz_chgzone_event_t *)event0; + isc_result_t result; + isc_buffer_t namebuf; + isc_buffer_t * confbuf; + char nameb[DNS_NAME_FORMATSIZE]; + const cfg_obj_t * zlist = NULL; + cfg_obj_t * zoneconf = NULL; + cfg_obj_t * zoneobj = NULL; + ns_cfgctx_t * cfg; + dns_zone_t * zone = NULL; - cfg = (ns_cfgctx_t *) ev->view->new_zone_config; + cfg = (ns_cfgctx_t *)ev->view->new_zone_config; if (cfg == NULL) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, @@ -2679,31 +2585,28 @@ catz_addmodzone_taskaction(isc_task_t *task, isc_event_t *event0) { NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, "catz: error \"%s\" while trying to " "modify zone \"%s\"", - isc_result_totext(result), - nameb); + isc_result_totext(result), nameb); goto cleanup; } else { if (!dns_zone_getadded(zone)) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_WARNING, - "catz: " - "catz_addmodzone_taskaction: " - "zone '%s' is not a dynamically " - "added zone", - nameb); + isc_log_write( + named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, + "catz: " + "catz_addmodzone_taskaction: " + "zone '%s' is not a dynamically " + "added zone", + nameb); goto cleanup; } if (dns_zone_get_parentcatz(zone) != ev->origin) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_WARNING, - "catz: catz_delzone_taskaction: " - "zone '%s' exists in multiple " - "catalog zones", - nameb); + isc_log_write( + named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, + "catz: catz_delzone_taskaction: " + "zone '%s' exists in multiple " + "catalog zones", + nameb); goto cleanup; } dns_zone_detach(&zone); @@ -2723,8 +2626,7 @@ catz_addmodzone_taskaction(isc_task_t *task, isc_event_t *event0) { NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, "catz: error \"%s\" while trying to " "add zone \"%s\"", - isc_result_totext(result), - nameb); + isc_result_totext(result), nameb); goto cleanup; } else { /* this can happen in case of DNS_R_PARTIALMATCH */ if (zone != NULL) @@ -2765,11 +2667,10 @@ catz_addmodzone_taskaction(isc_task_t *task, isc_event_t *event0) { result = isc_task_beginexclusive(task); RUNTIME_CHECK(result == ISC_R_SUCCESS); dns_view_thaw(ev->view); - result = configure_zone(cfg->config, zoneobj, cfg->vconfig, - ev->cbd->server->mctx, ev->view, - &ev->cbd->server->viewlist, - &ev->cbd->server->kasplist, cfg->actx, - true, false, ev->mod); + result = configure_zone( + cfg->config, zoneobj, cfg->vconfig, ev->cbd->server->mctx, + ev->view, &ev->cbd->server->viewlist, + &ev->cbd->server->kasplist, cfg->actx, true, false, ev->mod); dns_view_freeze(ev->view); isc_task_endexclusive(task); @@ -2783,7 +2684,7 @@ catz_addmodzone_taskaction(isc_task_t *task, isc_event_t *event0) { /* Is it there yet? */ CHECK(dns_zt_find(ev->view->zonetable, - dns_catz_entry_getname(ev->entry), 0, NULL, &zone)); + dns_catz_entry_getname(ev->entry), 0, NULL, &zone)); /* * Load the zone from the master file. If this fails, we'll @@ -2813,7 +2714,7 @@ catz_addmodzone_taskaction(isc_task_t *task, isc_event_t *event0) { dns_zone_setadded(zone, true); dns_zone_set_parentcatz(zone, ev->origin); - cleanup: +cleanup: if (zone != NULL) dns_zone_detach(&zone); if (zoneconf != NULL) @@ -2825,13 +2726,14 @@ catz_addmodzone_taskaction(isc_task_t *task, isc_event_t *event0) { } static void -catz_delzone_taskaction(isc_task_t *task, isc_event_t *event0) { - catz_chgzone_event_t *ev = (catz_chgzone_event_t *) event0; - isc_result_t result; - dns_zone_t *zone = NULL; - dns_db_t *dbp = NULL; - char cname[DNS_NAME_FORMATSIZE]; - const char * file; +catz_delzone_taskaction(isc_task_t *task, isc_event_t *event0) +{ + catz_chgzone_event_t *ev = (catz_chgzone_event_t *)event0; + isc_result_t result; + dns_zone_t * zone = NULL; + dns_db_t * dbp = NULL; + char cname[DNS_NAME_FORMATSIZE]; + const char * file; result = isc_task_beginexclusive(task); RUNTIME_CHECK(result == ISC_R_SUCCESS); @@ -2844,7 +2746,8 @@ catz_delzone_taskaction(isc_task_t *task, isc_event_t *event0) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, "catz: catz_delzone_taskaction: " - "zone '%s' not found", cname); + "zone '%s' not found", + cname); goto cleanup; } @@ -2880,8 +2783,9 @@ catz_delzone_taskaction(isc_task_t *task, isc_event_t *event0) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, "catz: catz_delzone_taskaction: " - "zone '%s' deleted", cname); - cleanup: + "zone '%s' deleted", + cname); +cleanup: isc_task_endexclusive(task); if (zone != NULL) dns_zone_detach(&zone); @@ -2897,9 +2801,9 @@ catz_create_chg_task(dns_catz_entry_t *entry, dns_catz_zone_t *origin, isc_eventtype_t type) { catz_chgzone_event_t *event; - isc_task_t *task; - isc_result_t result; - isc_taskaction_t action = NULL; + isc_task_t * task; + isc_result_t result; + isc_taskaction_t action = NULL; switch (type) { case DNS_EVENT_CATZADDZONE: @@ -2913,11 +2817,10 @@ catz_create_chg_task(dns_catz_entry_t *entry, dns_catz_zone_t *origin, REQUIRE(0); } - event = (catz_chgzone_event_t *) isc_event_allocate(view->mctx, origin, - type, action, NULL, - sizeof(*event)); + event = (catz_chgzone_event_t *)isc_event_allocate( + view->mctx, origin, type, action, NULL, sizeof(*event)); - event->cbd = (catz_cb_data_t *) udata; + event->cbd = (catz_cb_data_t *)udata; event->entry = NULL; event->origin = NULL; event->view = NULL; @@ -2936,24 +2839,24 @@ catz_create_chg_task(dns_catz_entry_t *entry, dns_catz_zone_t *origin, } static isc_result_t -catz_addzone(dns_catz_entry_t *entry, dns_catz_zone_t *origin, - dns_view_t *view, isc_taskmgr_t *taskmgr, void *udata) +catz_addzone(dns_catz_entry_t *entry, dns_catz_zone_t *origin, dns_view_t *view, + isc_taskmgr_t *taskmgr, void *udata) { return (catz_create_chg_task(entry, origin, view, taskmgr, udata, DNS_EVENT_CATZADDZONE)); } static isc_result_t -catz_delzone(dns_catz_entry_t *entry, dns_catz_zone_t *origin, - dns_view_t *view, isc_taskmgr_t *taskmgr, void *udata) +catz_delzone(dns_catz_entry_t *entry, dns_catz_zone_t *origin, dns_view_t *view, + isc_taskmgr_t *taskmgr, void *udata) { return (catz_create_chg_task(entry, origin, view, taskmgr, udata, DNS_EVENT_CATZDELZONE)); } static isc_result_t -catz_modzone(dns_catz_entry_t *entry, dns_catz_zone_t *origin, - dns_view_t *view, isc_taskmgr_t *taskmgr, void *udata) +catz_modzone(dns_catz_entry_t *entry, dns_catz_zone_t *origin, dns_view_t *view, + isc_taskmgr_t *taskmgr, void *udata) { return (catz_create_chg_task(entry, origin, view, taskmgr, udata, DNS_EVENT_CATZMODZONE)); @@ -2963,13 +2866,13 @@ static isc_result_t configure_catz_zone(dns_view_t *view, const cfg_obj_t *config, const cfg_listelt_t *element) { - const cfg_obj_t *catz_obj, *obj; - dns_catz_zone_t *zone = NULL; - const char *str; - isc_result_t result; - dns_name_t origin; + const cfg_obj_t * catz_obj, *obj; + dns_catz_zone_t * zone = NULL; + const char * str; + isc_result_t result; + dns_name_t origin; dns_catz_options_t *opts; - dns_view_t *pview = NULL; + dns_view_t * pview = NULL; dns_name_init(&origin, NULL); catz_obj = cfg_listelt_value(element); @@ -3000,8 +2903,7 @@ configure_catz_zone(dns_view_t *view, const cfg_obj_t *config, isc_ht_iter_t *it = NULL; result = dns_viewlist_find(&named_g_server->viewlist, - view->name, - view->rdclass, &pview); + view->name, view->rdclass, &pview); RUNTIME_CHECK(result == ISC_R_SUCCESS); /* @@ -3022,16 +2924,14 @@ configure_catz_zone(dns_view_t *view, const cfg_obj_t *config, goto cleanup; } - for (result = isc_ht_iter_first(it); - result == ISC_R_SUCCESS; - result = isc_ht_iter_next(it)) - { - dns_name_t *name = NULL; - dns_zone_t *dnszone = NULL; + for (result = isc_ht_iter_first(it); result == ISC_R_SUCCESS; + result = isc_ht_iter_next(it)) { + dns_name_t * name = NULL; + dns_zone_t * dnszone = NULL; dns_catz_entry_t *entry = NULL; - isc_result_t tresult; + isc_result_t tresult; - isc_ht_iter_current(it, (void **) &entry); + isc_ht_iter_current(it, (void **)&entry); name = dns_catz_entry_getname(entry); tresult = dns_view_findzone(pview, name, &dnszone); @@ -3060,8 +2960,8 @@ configure_catz_zone(dns_view_t *view, const cfg_obj_t *config, obj = cfg_tuple_get(catz_obj, "default-masters"); if (obj != NULL && cfg_obj_istuple(obj)) - result = named_config_getipandkeylist(config, obj, - view->mctx, &opts->masters); + result = named_config_getipandkeylist(config, obj, view->mctx, + &opts->masters); obj = cfg_tuple_get(catz_obj, "in-memory"); if (obj != NULL && cfg_obj_isboolean(obj)) @@ -3069,13 +2969,14 @@ configure_catz_zone(dns_view_t *view, const cfg_obj_t *config, obj = cfg_tuple_get(catz_obj, "zone-directory"); if (!opts->in_memory && obj != NULL && cfg_obj_isstring(obj)) { - opts->zonedir = isc_mem_strdup(view->mctx, - cfg_obj_asstring(obj)); + opts->zonedir = + isc_mem_strdup(view->mctx, cfg_obj_asstring(obj)); if (isc_file_isdirectory(opts->zonedir) != ISC_R_SUCCESS) { cfg_obj_log(obj, named_g_lctx, DNS_CATZ_ERROR_LEVEL, "catz: zone-directory '%s' " "not found; zone files will not be " - "saved", opts->zonedir); + "saved", + opts->zonedir); opts->in_memory = true; } } @@ -3084,7 +2985,7 @@ configure_catz_zone(dns_view_t *view, const cfg_obj_t *config, if (obj != NULL && cfg_obj_isduration(obj)) opts->min_update_interval = cfg_obj_asduration(obj); - cleanup: +cleanup: if (pview != NULL) dns_view_detach(&pview); dns_name_free(&origin, view->mctx); @@ -3092,22 +2993,19 @@ configure_catz_zone(dns_view_t *view, const cfg_obj_t *config, return (result); } -static catz_cb_data_t ns_catz_cbdata; +static catz_cb_data_t ns_catz_cbdata; static dns_catz_zonemodmethods_t ns_catz_zonemodmethods = { - catz_addzone, - catz_modzone, - catz_delzone, - &ns_catz_cbdata + catz_addzone, catz_modzone, catz_delzone, &ns_catz_cbdata }; static isc_result_t configure_catz(dns_view_t *view, const cfg_obj_t *config, const cfg_obj_t *catz_obj) { - const cfg_listelt_t *zone_element; + const cfg_listelt_t * zone_element; const dns_catz_zones_t *old = NULL; - dns_view_t *pview = NULL; - isc_result_t result; + dns_view_t * pview = NULL; + isc_result_t result; /* xxxwpk TODO do it cleaner, once, somewhere */ ns_catz_cbdata.server = named_g_server; @@ -3141,45 +3039,45 @@ configure_catz(dns_view_t *view, const cfg_obj_t *config, result = ISC_R_SUCCESS; - cleanup: +cleanup: if (pview != NULL) dns_view_detach(&pview); return (result); } -#define CHECK_RRL(cond, pat, val1, val2) \ - do { \ - if (!(cond)) { \ - cfg_obj_log(obj, named_g_lctx, ISC_LOG_ERROR, \ - pat, val1, val2); \ - result = ISC_R_RANGE; \ - goto cleanup; \ - } \ +#define CHECK_RRL(cond, pat, val1, val2) \ + do { \ + if (!(cond)) { \ + cfg_obj_log(obj, named_g_lctx, ISC_LOG_ERROR, pat, \ + val1, val2); \ + result = ISC_R_RANGE; \ + goto cleanup; \ + } \ } while (0) -#define CHECK_RRL_RATE(rate, def, max_rate, name) \ - do { \ - obj = NULL; \ - rrl->rate.str = name; \ - result = cfg_map_get(map, name, &obj); \ - if (result == ISC_R_SUCCESS) { \ - rrl->rate.r = cfg_obj_asuint32(obj); \ - CHECK_RRL(rrl->rate.r <= max_rate, \ - name" %d > %d", \ - rrl->rate.r, max_rate); \ - } else { \ - rrl->rate.r = def; \ - } \ - rrl->rate.scaled = rrl->rate.r; \ +#define CHECK_RRL_RATE(rate, def, max_rate, name) \ + do { \ + obj = NULL; \ + rrl->rate.str = name; \ + result = cfg_map_get(map, name, &obj); \ + if (result == ISC_R_SUCCESS) { \ + rrl->rate.r = cfg_obj_asuint32(obj); \ + CHECK_RRL(rrl->rate.r <= max_rate, name " %d > %d", \ + rrl->rate.r, max_rate); \ + } else { \ + rrl->rate.r = def; \ + } \ + rrl->rate.scaled = rrl->rate.r; \ } while (0) static isc_result_t -configure_rrl(dns_view_t *view, const cfg_obj_t *config, const cfg_obj_t *map) { +configure_rrl(dns_view_t *view, const cfg_obj_t *config, const cfg_obj_t *map) +{ const cfg_obj_t *obj; - dns_rrl_t *rrl; - isc_result_t result; - int min_entries, i, j; + dns_rrl_t * rrl; + isc_result_t result; + int min_entries, i, j; /* * Most DNS servers have few clients, but intentinally open @@ -3205,31 +3103,25 @@ configure_rrl(dns_view_t *view, const cfg_obj_t *config, const cfg_obj_t *map) { if (result == ISC_R_SUCCESS) { i = cfg_obj_asuint32(obj); CHECK_RRL(i >= min_entries, - "max-table-size %d < min-table-size %d", - i, min_entries); + "max-table-size %d < min-table-size %d", i, + min_entries); } rrl->max_entries = i; CHECK_RRL_RATE(responses_per_second, 0, DNS_RRL_MAX_RATE, "responses-per-second"); - CHECK_RRL_RATE(referrals_per_second, - rrl->responses_per_second.r, DNS_RRL_MAX_RATE, - "referrals-per-second"); - CHECK_RRL_RATE(nodata_per_second, - rrl->responses_per_second.r, DNS_RRL_MAX_RATE, - "nodata-per-second"); - CHECK_RRL_RATE(nxdomains_per_second, - rrl->responses_per_second.r, DNS_RRL_MAX_RATE, - "nxdomains-per-second"); - CHECK_RRL_RATE(errors_per_second, - rrl->responses_per_second.r, DNS_RRL_MAX_RATE, - "errors-per-second"); + CHECK_RRL_RATE(referrals_per_second, rrl->responses_per_second.r, + DNS_RRL_MAX_RATE, "referrals-per-second"); + CHECK_RRL_RATE(nodata_per_second, rrl->responses_per_second.r, + DNS_RRL_MAX_RATE, "nodata-per-second"); + CHECK_RRL_RATE(nxdomains_per_second, rrl->responses_per_second.r, + DNS_RRL_MAX_RATE, "nxdomains-per-second"); + CHECK_RRL_RATE(errors_per_second, rrl->responses_per_second.r, + DNS_RRL_MAX_RATE, "errors-per-second"); - CHECK_RRL_RATE(all_per_second, 0, DNS_RRL_MAX_RATE, - "all-per-second"); + CHECK_RRL_RATE(all_per_second, 0, DNS_RRL_MAX_RATE, "all-per-second"); - CHECK_RRL_RATE(slip, 2, DNS_RRL_MAX_SLIP, - "slip"); + CHECK_RRL_RATE(slip, 2, DNS_RRL_MAX_SLIP, "slip"); i = 15; obj = NULL; @@ -3263,7 +3155,7 @@ configure_rrl(dns_view_t *view, const cfg_obj_t *config, const cfg_obj_t *map) { if (i == 32) rrl->ipv4_mask = 0xffffffff; else - rrl->ipv4_mask = htonl(0xffffffff << (32-i)); + rrl->ipv4_mask = htonl(0xffffffff << (32 - i)); i = 56; obj = NULL; @@ -3271,15 +3163,15 @@ configure_rrl(dns_view_t *view, const cfg_obj_t *config, const cfg_obj_t *map) { if (result == ISC_R_SUCCESS) { i = cfg_obj_asuint32(obj); CHECK_RRL(i >= 16 && i <= DNS_RRL_MAX_PREFIX, - "ipv6-prefix-length %d < 16 or > %d", - i, DNS_RRL_MAX_PREFIX); + "ipv6-prefix-length %d < 16 or > %d", i, + DNS_RRL_MAX_PREFIX); } rrl->ipv6_prefixlen = i; for (j = 0; j < 4; ++j) { if (i <= 0) { rrl->ipv6_mask[j] = 0; } else if (i < 32) { - rrl->ipv6_mask[j] = htonl(0xffffffff << (32-i)); + rrl->ipv6_mask[j] = htonl(0xffffffff << (32 - i)); } else { rrl->ipv6_mask[j] = 0xffffffff; } @@ -3290,10 +3182,10 @@ configure_rrl(dns_view_t *view, const cfg_obj_t *config, const cfg_obj_t *map) { result = cfg_map_get(map, "exempt-clients", &obj); if (result == ISC_R_SUCCESS) { result = cfg_acl_fromconfig(obj, config, named_g_lctx, - named_g_aclconfctx, named_g_mctx, - 0, &rrl->exempt); - CHECK_RRL(result == ISC_R_SUCCESS, - "invalid %s%s", "address match list", ""); + named_g_aclconfctx, named_g_mctx, 0, + &rrl->exempt); + CHECK_RRL(result == ISC_R_SUCCESS, "invalid %s%s", + "address match list", ""); } obj = NULL; @@ -3305,7 +3197,7 @@ configure_rrl(dns_view_t *view, const cfg_obj_t *config, const cfg_obj_t *map) { return (ISC_R_SUCCESS); - cleanup: +cleanup: dns_rrl_view_destroy(view); return (result); } @@ -3314,15 +3206,15 @@ static isc_result_t add_soa(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, const dns_name_t *origin, const dns_name_t *contact) { - dns_dbnode_t *node = NULL; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_dbnode_t * node = NULL; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdatalist_t rdatalist; - dns_rdataset_t rdataset; - isc_result_t result; - unsigned char buf[DNS_SOA_BUFFERSIZE]; + dns_rdataset_t rdataset; + isc_result_t result; + unsigned char buf[DNS_SOA_BUFFERSIZE]; - CHECK(dns_soa_buildrdata(origin, contact, dns_db_class(db), - 0, 28800, 7200, 604800, 86400, buf, &rdata)); + CHECK(dns_soa_buildrdata(origin, contact, dns_db_class(db), 0, 28800, + 7200, 604800, 86400, buf, &rdata)); dns_rdatalist_init(&rdatalist); rdatalist.type = rdata.type; @@ -3335,7 +3227,7 @@ add_soa(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, CHECK(dns_db_findnode(db, name, true, &node)); CHECK(dns_db_addrdataset(db, node, version, 0, &rdataset, 0, NULL)); - cleanup: +cleanup: if (node != NULL) dns_db_detachnode(db, &node); return (result); @@ -3345,14 +3237,14 @@ static isc_result_t add_ns(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, const dns_name_t *nsname) { - dns_dbnode_t *node = NULL; - dns_rdata_ns_t ns; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_dbnode_t * node = NULL; + dns_rdata_ns_t ns; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdatalist_t rdatalist; - dns_rdataset_t rdataset; - isc_result_t result; - isc_buffer_t b; - unsigned char buf[DNS_NAME_MAXWIRE]; + dns_rdataset_t rdataset; + isc_result_t result; + isc_buffer_t b; + unsigned char buf[DNS_NAME_MAXWIRE]; isc_buffer_init(&b, buf, sizeof(buf)); @@ -3375,7 +3267,7 @@ add_ns(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, CHECK(dns_db_findnode(db, name, true, &node)); CHECK(dns_db_addrdataset(db, node, version, 0, &rdataset, 0, NULL)); - cleanup: +cleanup: if (node != NULL) dns_db_detachnode(db, &node); return (result); @@ -3386,29 +3278,29 @@ create_empty_zone(dns_zone_t *zone, dns_name_t *name, dns_view_t *view, const cfg_obj_t *zonelist, const char **empty_dbtype, int empty_dbtypec, dns_zonestat_level_t statlevel) { - char namebuf[DNS_NAME_FORMATSIZE]; + char namebuf[DNS_NAME_FORMATSIZE]; const cfg_listelt_t *element; - const cfg_obj_t *obj; - const cfg_obj_t *zconfig; - const cfg_obj_t *zoptions; - const char *rbt_dbtype[4] = { "rbt" }; - const char *sep = ": view "; - const char *str; - const char *viewname = view->name; - dns_db_t *db = NULL; - dns_dbversion_t *version = NULL; - dns_fixedname_t cfixed; - dns_fixedname_t fixed; - dns_fixedname_t nsfixed; - dns_name_t *contact; - dns_name_t *ns; - dns_name_t *zname; - dns_zone_t *myzone = NULL; - int rbt_dbtypec = 1; - isc_result_t result; - dns_namereln_t namereln; - int order; - unsigned int nlabels; + const cfg_obj_t * obj; + const cfg_obj_t * zconfig; + const cfg_obj_t * zoptions; + const char * rbt_dbtype[4] = { "rbt" }; + const char * sep = ": view "; + const char * str; + const char * viewname = view->name; + dns_db_t * db = NULL; + dns_dbversion_t * version = NULL; + dns_fixedname_t cfixed; + dns_fixedname_t fixed; + dns_fixedname_t nsfixed; + dns_name_t * contact; + dns_name_t * ns; + dns_name_t * zname; + dns_zone_t * myzone = NULL; + int rbt_dbtypec = 1; + isc_result_t result; + dns_namereln_t namereln; + int order; + unsigned int nlabels; zname = dns_fixedname_initname(&fixed); ns = dns_fixedname_initname(&nsfixed); @@ -3418,10 +3310,8 @@ create_empty_zone(dns_zone_t *zone, dns_name_t *name, dns_view_t *view, * Look for forward "zones" beneath this empty zone and if so * create a custom db for the empty zone. */ - for (element = cfg_list_first(zonelist); - element != NULL; + for (element = cfg_list_first(zonelist); element != NULL; element = cfg_list_next(element)) { - zconfig = cfg_listelt_value(element); str = cfg_obj_asstring(cfg_tuple_get(zconfig, "name")); CHECK(dns_name_fromstring(zname, str, 0, NULL)); @@ -3444,16 +3334,16 @@ create_empty_zone(dns_zone_t *zone, dns_name_t *name, dns_view_t *view, } if (db == NULL) { CHECK(dns_db_create(view->mctx, "rbt", name, - dns_dbtype_zone, view->rdclass, - 0, NULL, &db)); + dns_dbtype_zone, view->rdclass, 0, + NULL, &db)); CHECK(dns_db_newversion(db, &version)); if (strcmp(empty_dbtype[2], "@") == 0) dns_name_clone(name, ns); else CHECK(dns_name_fromstring(ns, empty_dbtype[2], 0, NULL)); - CHECK(dns_name_fromstring(contact, empty_dbtype[3], - 0, NULL)); + CHECK(dns_name_fromstring(contact, empty_dbtype[3], 0, + NULL)); CHECK(add_soa(db, version, name, ns, contact)); CHECK(add_ns(db, version, name, ns)); } @@ -3540,10 +3430,9 @@ create_empty_zone(dns_zone_t *zone, dns_name_t *name, dns_view_t *view, dns_name_format(name, namebuf, sizeof(namebuf)); isc_log_write(named_g_lctx, DNS_LOGCATEGORY_ZONELOAD, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, - "automatic empty zone%s%s: %s", - sep, viewname, namebuf); + "automatic empty zone%s%s: %s", sep, viewname, namebuf); - cleanup: +cleanup: if (myzone != NULL) dns_zone_detach(&myzone); if (version != NULL) @@ -3558,46 +3447,44 @@ create_empty_zone(dns_zone_t *zone, dns_name_t *name, dns_view_t *view, #ifdef HAVE_DNSTAP static isc_result_t -configure_dnstap(const cfg_obj_t **maps, dns_view_t *view) { - isc_result_t result; - const cfg_obj_t *obj, *obj2; - const cfg_listelt_t *element; - const char *dpath; - const cfg_obj_t *dlist = NULL; - dns_dtmsgtype_t dttypes = 0; - unsigned int i; +configure_dnstap(const cfg_obj_t **maps, dns_view_t *view) +{ + isc_result_t result; + const cfg_obj_t * obj, *obj2; + const cfg_listelt_t * element; + const char * dpath; + const cfg_obj_t * dlist = NULL; + dns_dtmsgtype_t dttypes = 0; + unsigned int i; struct fstrm_iothr_options *fopt = NULL; result = named_config_get(maps, "dnstap", &dlist); if (result != ISC_R_SUCCESS) return (ISC_R_SUCCESS); - for (element = cfg_list_first(dlist); - element != NULL; - element = cfg_list_next(element)) - { - const char *str; + for (element = cfg_list_first(dlist); element != NULL; + element = cfg_list_next(element)) { + const char * str; dns_dtmsgtype_t dt = 0; obj = cfg_listelt_value(element); obj2 = cfg_tuple_get(obj, "type"); str = cfg_obj_asstring(obj2); if (strcasecmp(str, "client") == 0) { - dt |= DNS_DTTYPE_CQ|DNS_DTTYPE_CR; + dt |= DNS_DTTYPE_CQ | DNS_DTTYPE_CR; } else if (strcasecmp(str, "auth") == 0) { - dt |= DNS_DTTYPE_AQ|DNS_DTTYPE_AR; + dt |= DNS_DTTYPE_AQ | DNS_DTTYPE_AR; } else if (strcasecmp(str, "resolver") == 0) { - dt |= DNS_DTTYPE_RQ|DNS_DTTYPE_RR; + dt |= DNS_DTTYPE_RQ | DNS_DTTYPE_RR; } else if (strcasecmp(str, "forwarder") == 0) { - dt |= DNS_DTTYPE_FQ|DNS_DTTYPE_FR; + dt |= DNS_DTTYPE_FQ | DNS_DTTYPE_FR; } else if (strcasecmp(str, "update") == 0) { - dt |= DNS_DTTYPE_UQ|DNS_DTTYPE_UR; + dt |= DNS_DTTYPE_UQ | DNS_DTTYPE_UR; } else if (strcasecmp(str, "all") == 0) { - dt |= DNS_DTTYPE_CQ|DNS_DTTYPE_CR| - DNS_DTTYPE_AQ|DNS_DTTYPE_AR| - DNS_DTTYPE_RQ|DNS_DTTYPE_RR| - DNS_DTTYPE_FQ|DNS_DTTYPE_FR| - DNS_DTTYPE_UQ|DNS_DTTYPE_UR; + dt |= DNS_DTTYPE_CQ | DNS_DTTYPE_CR | DNS_DTTYPE_AQ | + DNS_DTTYPE_AR | DNS_DTTYPE_RQ | DNS_DTTYPE_RR | + DNS_DTTYPE_FQ | DNS_DTTYPE_FR | DNS_DTTYPE_UQ | + DNS_DTTYPE_UR; } obj2 = cfg_tuple_get(obj, "mode"); @@ -3617,9 +3504,9 @@ configure_dnstap(const cfg_obj_t **maps, dns_view_t *view) { } if (named_g_server->dtenv == NULL && dttypes != 0) { - dns_dtmode_t dmode; - uint64_t max_size = 0; - uint32_t rolls = 0; + dns_dtmode_t dmode; + uint64_t max_size = 0; + uint32_t rolls = 0; isc_log_rollsuffix_t suffix = isc_log_rollsuffix_increment; obj = NULL; @@ -3644,13 +3531,12 @@ configure_dnstap(const cfg_obj_t **maps, dns_view_t *view) { if (obj2 != NULL && cfg_obj_isuint64(obj2)) { max_size = cfg_obj_asuint64(obj2); if (max_size > SIZE_MAX) { - cfg_obj_log(obj2, named_g_lctx, - ISC_LOG_WARNING, - "'dnstap-output size " - "%" PRIu64 "' " - "is too large for this " - "system; reducing to %lu", - max_size, (unsigned long)SIZE_MAX); + cfg_obj_log(obj2, named_g_lctx, ISC_LOG_WARNING, + "'dnstap-output size " + "%" PRIu64 "' " + "is too large for this " + "system; reducing to %lu", + max_size, (unsigned long)SIZE_MAX); max_size = SIZE_MAX; } } @@ -3664,15 +3550,14 @@ configure_dnstap(const cfg_obj_t **maps, dns_view_t *view) { obj2 = cfg_tuple_get(obj, "suffix"); if (obj2 != NULL && cfg_obj_isstring(obj2) && - strcasecmp(cfg_obj_asstring(obj2), "timestamp") == 0) - { + strcasecmp(cfg_obj_asstring(obj2), "timestamp") == 0) { suffix = isc_log_rollsuffix_timestamp; } fopt = fstrm_iothr_options_init(); fstrm_iothr_options_set_num_input_queues(fopt, named_g_cpus); - fstrm_iothr_options_set_queue_model(fopt, - FSTRM_IOTHR_QUEUE_MODEL_MPSC); + fstrm_iothr_options_set_queue_model( + fopt, FSTRM_IOTHR_QUEUE_MODEL_MPSC); obj = NULL; result = named_config_get(maps, "fstrm-set-buffer-hint", &obj); @@ -3682,8 +3567,8 @@ configure_dnstap(const cfg_obj_t **maps, dns_view_t *view) { } obj = NULL; - result = named_config_get(maps, "fstrm-set-flush-timeout", - &obj); + result = + named_config_get(maps, "fstrm-set-flush-timeout", &obj); if (result == ISC_R_SUCCESS) { i = cfg_obj_asuint32(obj); fstrm_iothr_options_set_flush_timeout(fopt, i); @@ -3691,25 +3576,23 @@ configure_dnstap(const cfg_obj_t **maps, dns_view_t *view) { obj = NULL; result = named_config_get(maps, "fstrm-set-input-queue-size", - &obj); + &obj); if (result == ISC_R_SUCCESS) { i = cfg_obj_asuint32(obj); fstrm_iothr_options_set_input_queue_size(fopt, i); } obj = NULL; - result = named_config_get(maps, - "fstrm-set-output-notify-threshold", - &obj); + result = named_config_get( + maps, "fstrm-set-output-notify-threshold", &obj); if (result == ISC_R_SUCCESS) { i = cfg_obj_asuint32(obj); - fstrm_iothr_options_set_queue_notify_threshold(fopt, - i); + fstrm_iothr_options_set_queue_notify_threshold(fopt, i); } obj = NULL; result = named_config_get(maps, "fstrm-set-output-queue-model", - &obj); + &obj); if (result == ISC_R_SUCCESS) { if (strcasecmp(cfg_obj_asstring(obj), "spsc") == 0) i = FSTRM_IOTHR_QUEUE_MODEL_SPSC; @@ -3720,7 +3603,7 @@ configure_dnstap(const cfg_obj_t **maps, dns_view_t *view) { obj = NULL; result = named_config_get(maps, "fstrm-set-output-queue-size", - &obj); + &obj); if (result == ISC_R_SUCCESS) { i = cfg_obj_asuint32(obj); fstrm_iothr_options_set_output_queue_size(fopt, i); @@ -3728,19 +3611,19 @@ configure_dnstap(const cfg_obj_t **maps, dns_view_t *view) { obj = NULL; result = named_config_get(maps, "fstrm-set-reopen-interval", - &obj); + &obj); if (result == ISC_R_SUCCESS) { i = cfg_obj_asduration(obj); fstrm_iothr_options_set_reopen_interval(fopt, i); } - CHECKM(dns_dt_create(named_g_mctx, dmode, dpath, - &fopt, named_g_server->task, - &named_g_server->dtenv), + CHECKM(dns_dt_create(named_g_mctx, dmode, dpath, &fopt, + named_g_server->task, + &named_g_server->dtenv), "unable to create dnstap environment"); - CHECKM(dns_dt_setupfile(named_g_server->dtenv, - max_size, rolls, suffix), + CHECKM(dns_dt_setupfile(named_g_server->dtenv, max_size, rolls, + suffix), "unable to set up dnstap logfile"); } @@ -3776,7 +3659,7 @@ configure_dnstap(const cfg_obj_t **maps, dns_view_t *view) { result = ISC_R_SUCCESS; - cleanup: +cleanup: if (fopt != NULL) fstrm_iothr_options_destroy(&fopt); @@ -3785,11 +3668,12 @@ configure_dnstap(const cfg_obj_t **maps, dns_view_t *view) { #endif /* HAVE_DNSTAP */ static isc_result_t -create_mapped_acl(void) { - isc_result_t result; - dns_acl_t *acl = NULL; +create_mapped_acl(void) +{ + isc_result_t result; + dns_acl_t * acl = NULL; struct in6_addr in6 = IN6ADDR_V4MAPPED_INIT; - isc_netaddr_t addr; + isc_netaddr_t addr; isc_netaddr_fromin6(&addr, &in6); @@ -3815,12 +3699,12 @@ register_one_plugin(const cfg_obj_t *config, const cfg_obj_t *obj, const char *plugin_path, const char *parameters, void *callback_data) { - dns_view_t *view = callback_data; - char full_path[PATH_MAX]; + dns_view_t * view = callback_data; + char full_path[PATH_MAX]; isc_result_t result; - result = ns_plugin_expandpath(plugin_path, - full_path, sizeof(full_path)); + result = + ns_plugin_expandpath(plugin_path, full_path, sizeof(full_path)); if (result != ISC_R_SUCCESS) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, @@ -3837,8 +3721,8 @@ register_one_plugin(const cfg_obj_t *config, const cfg_obj_t *obj, if (result != ISC_R_SUCCESS) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, - "%s: plugin configuration failed: %s", - full_path, isc_result_totext(result)); + "%s: plugin configuration failed: %s", full_path, + isc_result_totext(result)); } return (result); @@ -3858,62 +3742,62 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, dns_kasplist_t *kasplist, const cfg_obj_t *bindkeys, isc_mem_t *mctx, cfg_aclconfctx_t *actx, bool need_hints) { - const cfg_obj_t *maps[4]; - const cfg_obj_t *cfgmaps[3]; - const cfg_obj_t *optionmaps[3]; - const cfg_obj_t *options = NULL; - const cfg_obj_t *voptions = NULL; - const cfg_obj_t *forwardtype; - const cfg_obj_t *forwarders; - const cfg_obj_t *alternates; - const cfg_obj_t *zonelist; - const cfg_obj_t *dlzlist; - const cfg_obj_t *dlz; - unsigned int dlzargc; - char **dlzargv; - const cfg_obj_t *dyndb_list, *plugin_list; - const cfg_obj_t *disabled; - const cfg_obj_t *obj, *obj2; + const cfg_obj_t * maps[4]; + const cfg_obj_t * cfgmaps[3]; + const cfg_obj_t * optionmaps[3]; + const cfg_obj_t * options = NULL; + const cfg_obj_t * voptions = NULL; + const cfg_obj_t * forwardtype; + const cfg_obj_t * forwarders; + const cfg_obj_t * alternates; + const cfg_obj_t * zonelist; + const cfg_obj_t * dlzlist; + const cfg_obj_t * dlz; + unsigned int dlzargc; + char ** dlzargv; + const cfg_obj_t * dyndb_list, *plugin_list; + const cfg_obj_t * disabled; + const cfg_obj_t * obj, *obj2; const cfg_listelt_t *element; - in_port_t port; - dns_cache_t *cache = NULL; - isc_result_t result; - size_t max_cache_size; - uint32_t max_cache_size_percent = 0; - size_t max_adb_size; - uint32_t lame_ttl, fail_ttl; - uint32_t max_stale_ttl; - dns_tsig_keyring_t *ring = NULL; - dns_view_t *pview = NULL; /* Production view */ - isc_mem_t *cmctx = NULL, *hmctx = NULL; - dns_dispatch_t *dispatch4 = NULL; - dns_dispatch_t *dispatch6 = NULL; - bool reused_cache = false; - bool shared_cache = false; - int i = 0, j = 0, k = 0; - const char *str; - const char *cachename = NULL; - dns_order_t *order = NULL; - uint32_t udpsize; - uint32_t maxbits; - unsigned int resopts = 0; - dns_zone_t *zone = NULL; - uint32_t max_clients_per_query; - bool empty_zones_enable; - const cfg_obj_t *disablelist = NULL; - isc_stats_t *resstats = NULL; - dns_stats_t *resquerystats = NULL; - bool auto_root = false; - named_cache_t *nsc; - bool zero_no_soattl; - dns_acl_t *clients = NULL, *mapped = NULL, *excluded = NULL; - unsigned int query_timeout, ndisp; - bool old_rpz_ok = false; - isc_dscp_t dscp4 = -1, dscp6 = -1; - dns_dyndbctx_t *dctx = NULL; - unsigned int resolver_param; - dns_ntatable_t *ntatable = NULL; - const char *qminmode = NULL; + in_port_t port; + dns_cache_t * cache = NULL; + isc_result_t result; + size_t max_cache_size; + uint32_t max_cache_size_percent = 0; + size_t max_adb_size; + uint32_t lame_ttl, fail_ttl; + uint32_t max_stale_ttl; + dns_tsig_keyring_t * ring = NULL; + dns_view_t * pview = NULL; /* Production view */ + isc_mem_t * cmctx = NULL, *hmctx = NULL; + dns_dispatch_t * dispatch4 = NULL; + dns_dispatch_t * dispatch6 = NULL; + bool reused_cache = false; + bool shared_cache = false; + int i = 0, j = 0, k = 0; + const char * str; + const char * cachename = NULL; + dns_order_t * order = NULL; + uint32_t udpsize; + uint32_t maxbits; + unsigned int resopts = 0; + dns_zone_t * zone = NULL; + uint32_t max_clients_per_query; + bool empty_zones_enable; + const cfg_obj_t * disablelist = NULL; + isc_stats_t * resstats = NULL; + dns_stats_t * resquerystats = NULL; + bool auto_root = false; + named_cache_t * nsc; + bool zero_no_soattl; + dns_acl_t * clients = NULL, *mapped = NULL, *excluded = NULL; + unsigned int query_timeout, ndisp; + bool old_rpz_ok = false; + isc_dscp_t dscp4 = -1, dscp6 = -1; + dns_dyndbctx_t * dctx = NULL; + unsigned int resolver_param; + dns_ntatable_t * ntatable = NULL; + const char * qminmode = NULL; REQUIRE(DNS_VIEW_VALID(view)); @@ -3977,10 +3861,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, /* * Load zone configuration */ - for (element = cfg_list_first(zonelist); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(zonelist); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *zconfig = cfg_listelt_value(element); CHECK(configure_zone(config, zconfig, vconfig, mctx, view, viewlist, kasplist, actx, false, @@ -4004,7 +3886,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, - DNS_RPZ_ERROR_LEVEL, "rpz '%s'" + DNS_RPZ_ERROR_LEVEL, + "rpz '%s'" " is not a master or slave zone", namebuf); result = ISC_R_NOTFOUND; @@ -4029,16 +3912,14 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, else (void)cfg_map_get(config, "dlz", &dlzlist); - for (element = cfg_list_first(dlzlist); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(dlzlist); element != NULL; + element = cfg_list_next(element)) { dlz = cfg_listelt_value(element); obj = NULL; (void)cfg_map_get(dlz, "database", &obj); if (obj != NULL) { - dns_dlzdb_t *dlzdb = NULL; + dns_dlzdb_t * dlzdb = NULL; const cfg_obj_t *name, *search = NULL; char *s = isc_mem_strdup(mctx, cfg_obj_asstring(obj)); @@ -4072,18 +3953,17 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, (void)cfg_map_get(dlz, "search", &search); if (search == NULL || cfg_obj_asboolean(search)) { dlzdb->search = true; - result = dns_dlzconfigure(view, dlzdb, - dlzconfigure_callback); + result = dns_dlzconfigure( + view, dlzdb, dlzconfigure_callback); if (result != ISC_R_SUCCESS) goto cleanup; - ISC_LIST_APPEND(view->dlz_searched, - dlzdb, link); + ISC_LIST_APPEND(view->dlz_searched, dlzdb, + link); } else { dlzdb->search = false; - ISC_LIST_APPEND(view->dlz_unsearched, - dlzdb, link); + ISC_LIST_APPEND(view->dlz_unsearched, dlzdb, + link); } - } } @@ -4105,8 +3985,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, isc_resourcevalue_t value; value = cfg_obj_asuint64(obj); if (value > SIZE_MAX) { - cfg_obj_log(obj, named_g_lctx, - ISC_LOG_WARNING, + cfg_obj_log(obj, named_g_lctx, ISC_LOG_WARNING, "'max-cache-size " "%" PRIu64 "' " "is too large for this " @@ -4114,29 +3993,27 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, value, (unsigned long)SIZE_MAX); value = SIZE_MAX; } - max_cache_size = (size_t) value; + max_cache_size = (size_t)value; } if (max_cache_size == SIZE_AS_PERCENT) { uint64_t totalphys = isc_meminfo_totalphys(); max_cache_size = - (size_t) (totalphys * max_cache_size_percent/100); + (size_t)(totalphys * max_cache_size_percent / 100); if (totalphys == 0) { - cfg_obj_log(obj, named_g_lctx, - ISC_LOG_WARNING, - "Unable to determine amount of physical " - "memory, setting 'max-cache-size' to " - "unlimited"); + cfg_obj_log(obj, named_g_lctx, ISC_LOG_WARNING, + "Unable to determine amount of physical " + "memory, setting 'max-cache-size' to " + "unlimited"); } else { - cfg_obj_log(obj, named_g_lctx, - ISC_LOG_INFO, - "'max-cache-size %d%%' " - "- setting to %" PRIu64 "MB " - "(out of %" PRIu64 "MB)", - max_cache_size_percent, - (uint64_t)(max_cache_size / (1024*1024)), - totalphys / (1024*1024)); + cfg_obj_log(obj, named_g_lctx, ISC_LOG_INFO, + "'max-cache-size %d%%' " + "- setting to %" PRIu64 "MB " + "(out of %" PRIu64 "MB)", + max_cache_size_percent, + (uint64_t)(max_cache_size / (1024 * 1024)), + totalphys / (1024 * 1024)); } } @@ -4148,7 +4025,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, str = cfg_obj_asstring(obj); if (strcasecmp(str, "fail") == 0) { resopts |= DNS_RESOLVER_CHECKNAMES | - DNS_RESOLVER_CHECKNAMESFAIL; + DNS_RESOLVER_CHECKNAMESFAIL; view->checknames = true; } else if (strcasecmp(str, "warn") == 0) { resopts |= DNS_RESOLVER_CHECKNAMES; @@ -4169,9 +4046,9 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, result = named_config_get(maps, "dns64", &obj); if (result == ISC_R_SUCCESS && strcmp(view->name, "_bind") && strcmp(view->name, "_meta")) { - isc_netaddr_t na, suffix, *sp; - unsigned int prefixlen; - const char *server, *contact; + isc_netaddr_t na, suffix, *sp; + unsigned int prefixlen; + const char * server, *contact; const cfg_obj_t *myobj; myobj = NULL; @@ -4188,13 +4065,11 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, else contact = NULL; - for (element = cfg_list_first(obj); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(obj); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *map = cfg_listelt_value(element); - dns_dns64_t *dns64 = NULL; - unsigned int dns64options = 0; + dns_dns64_t * dns64 = NULL; + unsigned int dns64options = 0; cfg_obj_asnetprefix(cfg_map_getname(map), &na, &prefixlen); @@ -4203,8 +4078,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, (void)cfg_map_get(map, "suffix", &obj); if (obj != NULL) { sp = &suffix; - isc_netaddr_fromsockaddr(sp, - cfg_obj_assockaddr(obj)); + isc_netaddr_fromsockaddr( + sp, cfg_obj_assockaddr(obj)); } else sp = NULL; @@ -4378,8 +4253,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, nsc = cachelist_find(cachelist, cachename, view->rdclass); if (nsc != NULL) { if (!cache_sharable(nsc->primaryview, view, zero_no_soattl, - max_cache_size, max_stale_ttl)) - { + max_cache_size, max_stale_ttl)) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "views %s and %s can't share the cache " @@ -4407,7 +4281,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, "cache cannot be reused " "for view %s due to " "configuration parameter " - "mismatch", view->name); + "mismatch", + view->name); } else { INSIST(pview->cache != NULL); isc_log_write(named_g_lctx, @@ -4487,10 +4362,12 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, * * XXXRTH Hardwired number of tasks. */ - CHECK(get_view_querysource_dispatch(maps, AF_INET, &dispatch4, &dscp4, - (ISC_LIST_PREV(view, link) == NULL))); - CHECK(get_view_querysource_dispatch(maps, AF_INET6, &dispatch6, &dscp6, - (ISC_LIST_PREV(view, link) == NULL))); + CHECK(get_view_querysource_dispatch( + maps, AF_INET, &dispatch4, &dscp4, + (ISC_LIST_PREV(view, link) == NULL))); + CHECK(get_view_querysource_dispatch( + maps, AF_INET6, &dispatch6, &dscp6, + (ISC_LIST_PREV(view, link) == NULL))); if (dispatch4 == NULL && dispatch6 == NULL) { UNEXPECTED_ERROR(__FILE__, __LINE__, "unable to obtain neither an IPv4 nor" @@ -4509,11 +4386,10 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, dns_view_setresquerystats(view, resquerystats); ndisp = 4 * ISC_MIN(named_g_udpdisp, MAX_UDP_DISPATCH); - CHECK(dns_view_createresolver(view, named_g_taskmgr, RESOLVER_NTASKS, - ndisp, named_g_socketmgr, - named_g_timermgr, resopts, - named_g_dispatchmgr, - dispatch4, dispatch6)); + CHECK(dns_view_createresolver( + view, named_g_taskmgr, RESOLVER_NTASKS, ndisp, + named_g_socketmgr, named_g_timermgr, resopts, + named_g_dispatchmgr, dispatch4, dispatch6)); if (dscp4 == -1) dscp4 = named_g_dscp; @@ -4532,7 +4408,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, if (max_cache_size != 0U) { max_adb_size = max_cache_size / 8; if (max_adb_size == 0U) - max_adb_size = 1; /* Force minimum. */ + max_adb_size = 1; /* Force minimum. */ if (view != nsc->primaryview && max_adb_size > MAX_ADB_SIZE_FOR_CACHESHARE) { max_adb_size = MAX_ADB_SIZE_FOR_CACHESHARE; @@ -4550,7 +4426,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, */ { uint32_t fps, freq; - double low, high, discount; + double low, high, discount; obj = NULL; result = named_config_get(maps, "fetches-per-server", &obj); @@ -4559,7 +4435,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, fps = cfg_obj_asuint32(obj2); obj2 = cfg_tuple_get(obj, "response"); if (!cfg_obj_isvoid(obj2)) { - const char *resp = cfg_obj_asstring(obj2); + const char * resp = cfg_obj_asstring(obj2); isc_result_t r = DNS_R_SERVFAIL; if (strcasecmp(resp, "drop") == 0) { @@ -4583,13 +4459,13 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, freq = cfg_obj_asuint32(obj2); obj2 = cfg_tuple_get(obj, "low"); - low = (double) cfg_obj_asfixedpoint(obj2) / 100.0; + low = (double)cfg_obj_asfixedpoint(obj2) / 100.0; obj2 = cfg_tuple_get(obj, "high"); - high = (double) cfg_obj_asfixedpoint(obj2) / 100.0; + high = (double)cfg_obj_asfixedpoint(obj2) / 100.0; obj2 = cfg_tuple_get(obj, "discount"); - discount = (double) cfg_obj_asfixedpoint(obj2) / 100.0; + discount = (double)cfg_obj_asfixedpoint(obj2) / 100.0; dns_adb_setquota(view->adb, fps, freq, low, high, discount); } @@ -4691,8 +4567,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, disabled = NULL; (void)named_config_get(maps, "disable-algorithms", &disabled); if (disabled != NULL) { - for (element = cfg_list_first(disabled); - element != NULL; + for (element = cfg_list_first(disabled); element != NULL; element = cfg_list_next(element)) CHECK(disable_algorithms(cfg_listelt_value(element), view->resolver)); @@ -4705,8 +4580,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, disabled = NULL; (void)named_config_get(maps, "disable-ds-digests", &disabled); if (disabled != NULL) { - for (element = cfg_list_first(disabled); - element != NULL; + for (element = cfg_list_first(disabled); element != NULL; element = cfg_list_next(element)) CHECK(disable_ds_digests(cfg_listelt_value(element), view->resolver)); @@ -4721,8 +4595,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, (void)named_config_get(maps, "forward", &forwardtype); (void)named_config_get(maps, "forwarders", &forwarders); if (forwarders != NULL) - CHECK(configure_forward(config, view, dns_rootname, - forwarders, forwardtype)); + CHECK(configure_forward(config, view, dns_rootname, forwarders, + forwardtype)); /* * Dual Stack Servers. @@ -4762,11 +4636,9 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, /* * Configure the view's TSIG keys. */ - CHECK(named_tsigkeyring_fromconfig(config, vconfig, - view->mctx, &ring)); + CHECK(named_tsigkeyring_fromconfig(config, vconfig, view->mctx, &ring)); if (named_g_server->sessionkey != NULL) { - CHECK(dns_tsigkeyring_add(ring, - named_g_server->session_keyname, + CHECK(dns_tsigkeyring_add(ring, named_g_server->session_keyname, named_g_server->sessionkey)); } dns_view_setkeyring(view, ring); @@ -4793,16 +4665,14 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, */ { const cfg_obj_t *peers = NULL; - dns_peerlist_t *newpeers = NULL; + dns_peerlist_t * newpeers = NULL; (void)named_config_get(cfgmaps, "server", &peers); CHECK(dns_peerlist_new(mctx, &newpeers)); - for (element = cfg_list_first(peers); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(peers); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *cpeer = cfg_listelt_value(element); - dns_peer_t *peer; + dns_peer_t * peer; CHECK(configure_peer(cpeer, mctx, &peer)); dns_peerlist_addpeer(newpeers, peer); @@ -4820,10 +4690,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, (void)named_config_get(maps, "rrset-order", &rrsetorder); CHECK(dns_order_create(mctx, &order)); - for (element = cfg_list_first(rrsetorder); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(rrsetorder); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *ent = cfg_listelt_value(element); CHECK(configure_order(order, ent)); @@ -4836,8 +4704,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, /* * Copy the aclenv object. */ - dns_aclenv_copy(&view->aclenv, - ns_interfacemgr_getaclenv(named_g_server->interfacemgr)); + dns_aclenv_copy(&view->aclenv, ns_interfacemgr_getaclenv( + named_g_server->interfacemgr)); /* * Configure the "match-clients" and "match-destinations" ACL. @@ -4845,9 +4713,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, * must be passed so that named ACLs defined at the global level * can be retrieved.) */ - CHECK(configure_view_acl(vconfig, config, NULL, "match-clients", - NULL, actx, named_g_mctx, - &view->matchclients)); + CHECK(configure_view_acl(vconfig, config, NULL, "match-clients", NULL, + actx, named_g_mctx, &view->matchclients)); CHECK(configure_view_acl(vconfig, config, NULL, "match-destinations", NULL, actx, named_g_mctx, &view->matchdestinations)); @@ -4958,22 +4825,18 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, */ /* named.conf only */ - CHECK(configure_view_acl(vconfig, config, NULL, - "allow-query", NULL, actx, - named_g_mctx, &view->queryacl)); + CHECK(configure_view_acl(vconfig, config, NULL, "allow-query", NULL, + actx, named_g_mctx, &view->queryacl)); /* named.conf only */ - CHECK(configure_view_acl(vconfig, config, NULL, - "allow-query-cache", NULL, actx, - named_g_mctx, &view->cacheacl)); + CHECK(configure_view_acl(vconfig, config, NULL, "allow-query-cache", + NULL, actx, named_g_mctx, &view->cacheacl)); /* named.conf only */ - CHECK(configure_view_acl(vconfig, config, NULL, - "allow-query-cache-on", NULL, actx, - named_g_mctx, &view->cacheonacl)); + CHECK(configure_view_acl(vconfig, config, NULL, "allow-query-cache-on", + NULL, actx, named_g_mctx, &view->cacheonacl)); if (strcmp(view->name, "_bind") != 0 && - view->rdclass != dns_rdataclass_chaos) - { + view->rdclass != dns_rdataclass_chaos) { /* named.conf only */ CHECK(configure_view_acl(vconfig, config, NULL, "allow-recursion", NULL, actx, @@ -4994,8 +4857,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, dns_acl_attach(view->recursionacl, &view->cacheacl); } else if (view->queryacl != NULL) { - dns_acl_attach(view->queryacl, - &view->cacheacl); + dns_acl_attach(view->queryacl, &view->cacheacl); } } @@ -5042,10 +4904,9 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, if (view->recursionacl == NULL) { /* global default only */ - CHECK(configure_view_acl(NULL, NULL, named_g_config, - "allow-recursion", NULL, - actx, named_g_mctx, - &view->recursionacl)); + CHECK(configure_view_acl( + NULL, NULL, named_g_config, "allow-recursion", + NULL, actx, named_g_mctx, &view->recursionacl)); } if (view->recursiononacl == NULL) { /* global default only */ @@ -5056,10 +4917,9 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, } if (view->cacheacl == NULL) { /* global default only */ - CHECK(configure_view_acl(NULL, NULL, named_g_config, - "allow-query-cache", NULL, - actx, named_g_mctx, - &view->cacheacl)); + CHECK(configure_view_acl( + NULL, NULL, named_g_config, "allow-query-cache", + NULL, actx, named_g_mctx, &view->cacheacl)); } if (view->cacheonacl == NULL) { /* global default only */ @@ -5088,9 +4948,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, if (view->queryacl == NULL) { /* global default only */ CHECK(configure_view_acl(NULL, NULL, named_g_config, - "allow-query", NULL, - actx, named_g_mctx, - &view->queryacl)); + "allow-query", NULL, actx, + named_g_mctx, &view->queryacl)); } /* @@ -5099,8 +4958,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, * and is needed by some broken clients. */ CHECK(configure_view_acl(vconfig, config, named_g_config, - "no-case-compress", NULL, actx, - named_g_mctx, &view->nocasecompress)); + "no-case-compress", NULL, actx, named_g_mctx, + &view->nocasecompress)); /* * Disable name compression completely, this is a tradeoff @@ -5115,9 +4974,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, * Filter setting on addresses in the answer section. */ CHECK(configure_view_acl(vconfig, config, named_g_config, - "deny-answer-addresses", "acl", - actx, named_g_mctx, - &view->denyansweracl)); + "deny-answer-addresses", "acl", actx, + named_g_mctx, &view->denyansweracl)); CHECK(configure_view_nametable(vconfig, config, "deny-answer-addresses", "except-from", named_g_mctx, &view->answeracl_exclude)); @@ -5192,7 +5050,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, if (result == ISC_R_SUCCESS) { const cfg_obj_t *padobj = cfg_tuple_get(obj, "block-size"); const cfg_obj_t *aclobj = cfg_tuple_get(obj, "acl"); - uint32_t padding = cfg_obj_asuint32(padobj); + uint32_t padding = cfg_obj_asuint32(padobj); if (padding > 512U) { cfg_obj_log(obj, named_g_lctx, ISC_LOG_WARNING, @@ -5201,9 +5059,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, padding = 512U; } view->padding = (uint16_t)padding; - CHECK(cfg_acl_fromconfig(aclobj, config, named_g_lctx, - actx, named_g_mctx, 0, - &view->pad_acl)); + CHECK(cfg_acl_fromconfig(aclobj, config, named_g_lctx, actx, + named_g_mctx, 0, &view->pad_acl)); } obj = NULL; @@ -5224,8 +5081,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, obj = NULL; result = named_config_get(maps, "clients-per-query", &obj); INSIST(result == ISC_R_SUCCESS); - dns_resolver_setclientsperquery(view->resolver, - cfg_obj_asuint32(obj), + dns_resolver_setclientsperquery(view->resolver, cfg_obj_asuint32(obj), max_clients_per_query); obj = NULL; @@ -5245,7 +5101,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, dns_resolver_setfetchesperzone(view->resolver, cfg_obj_asuint32(obj2)); obj2 = cfg_tuple_get(obj, "response"); if (!cfg_obj_isvoid(obj2)) { - const char *resp = cfg_obj_asstring(obj2); + const char * resp = cfg_obj_asstring(obj2); isc_result_t r = DNS_R_SERVFAIL; if (strcasecmp(resp, "drop") == 0) { @@ -5275,8 +5131,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, int m; for (m = 1; maps[m] != NULL; m++) { obj = NULL; - result = named_config_get(&maps[m], - "prefetch", &obj); + result = named_config_get(&maps[m], "prefetch", + &obj); INSIST(result == ISC_R_SUCCESS); eligible = cfg_tuple_get(obj, "eligible"); if (cfg_obj_isuint32(eligible)) @@ -5328,20 +5184,17 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, result = named_config_get(maps, "root-delegation-only", &obj); if (result == ISC_R_SUCCESS) dns_view_setrootdelonly(view, true); - if (result == ISC_R_SUCCESS && ! cfg_obj_isvoid(obj)) { + if (result == ISC_R_SUCCESS && !cfg_obj_isvoid(obj)) { const cfg_obj_t *exclude; - dns_fixedname_t fixed; - dns_name_t *name; + dns_fixedname_t fixed; + dns_name_t * name; name = dns_fixedname_initname(&fixed); - for (element = cfg_list_first(obj); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(obj); element != NULL; + element = cfg_list_next(element)) { exclude = cfg_listelt_value(element); - CHECK(dns_name_fromstring(name, - cfg_obj_asstring(exclude), - 0, NULL)); + CHECK(dns_name_fromstring( + name, cfg_obj_asstring(exclude), 0, NULL)); CHECK(dns_view_excludedelegationonly(view, name)); } } else @@ -5358,17 +5211,14 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, } #ifdef HAVE_DLOPEN - for (element = cfg_list_first(dyndb_list); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(dyndb_list); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *dyndb = cfg_listelt_value(element); if (dctx == NULL) { const void *hashinit = isc_hash_get_initializer(); - CHECK(dns_dyndb_createctx(mctx, hashinit, - named_g_lctx, view, - named_g_server->zonemgr, + CHECK(dns_dyndb_createctx(mctx, hashinit, named_g_lctx, + view, named_g_server->zonemgr, named_g_server->task, named_g_timermgr, &dctx)); } @@ -5391,7 +5241,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, if (plugin_list != NULL) { INSIST(view->hooktable == NULL); CHECK(ns_hooktable_create(view->mctx, - (ns_hooktable_t **) &view->hooktable)); + (ns_hooktable_t **)&view->hooktable)); view->hooktable_free = ns_hooktable_free; ns_plugins_create(view->mctx, (ns_plugins_t **)&view->plugins); @@ -5422,16 +5272,16 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, } if (empty_zones_enable) { - const char *empty; - int empty_zone = 0; + const char * empty; + int empty_zone = 0; dns_fixedname_t fixed; - dns_name_t *name; - isc_buffer_t buffer; - char server[DNS_NAME_FORMATSIZE + 1]; - char contact[DNS_NAME_FORMATSIZE + 1]; - const char *empty_dbtype[4] = - { "_builtin", "empty", NULL, NULL }; - int empty_dbtypec = 4; + dns_name_t * name; + isc_buffer_t buffer; + char server[DNS_NAME_FORMATSIZE + 1]; + char contact[DNS_NAME_FORMATSIZE + 1]; + const char * empty_dbtype[4] = { "_builtin", "empty", NULL, + NULL }; + int empty_dbtypec = 4; dns_zonestat_level_t statlevel = dns_zonestat_none; name = dns_fixedname_initname(&fixed); @@ -5452,7 +5302,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, result = named_config_get(maps, "empty-contact", &obj); if (result == ISC_R_SUCCESS) { CHECK(dns_name_fromstring(name, cfg_obj_asstring(obj), - 0, NULL)); + 0, NULL)); isc_buffer_init(&buffer, contact, sizeof(contact) - 1); CHECK(dns_name_totext(name, false, &buffer)); contact[isc_buffer_usedlength(&buffer)] = 0; @@ -5482,10 +5332,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, } } - for (empty = empty_zones[empty_zone]; - empty != NULL; - empty = empty_zones[++empty_zone]) - { + for (empty = empty_zones[empty_zone]; empty != NULL; + empty = empty_zones[++empty_zone]) { dns_forwarders_t *dnsforwarders = NULL; /* @@ -5509,8 +5357,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, * If we would forward this name don't add a * empty zone for it. */ - result = dns_fwdtable_find(view->fwdtable, name, - NULL, &dnsforwarders); + result = dns_fwdtable_find(view->fwdtable, name, NULL, + &dnsforwarders); if (result == ISC_R_SUCCESS && dnsforwarders->fwdpolicy == dns_fwdpolicy_only) continue; @@ -5521,8 +5369,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, result = dns_viewlist_find(&named_g_server->viewlist, view->name, view->rdclass, &pview); - if (result != ISC_R_NOTFOUND && - result != ISC_R_SUCCESS) + if (result != ISC_R_NOTFOUND && result != ISC_R_SUCCESS) goto cleanup; if (pview != NULL) { @@ -5552,7 +5399,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, obj = NULL; result = named_config_get(maps, "servfail-ttl", &obj); INSIST(result == ISC_R_SUCCESS); - fail_ttl = cfg_obj_asduration(obj); + fail_ttl = cfg_obj_asduration(obj); if (fail_ttl > 30) fail_ttl = 30; dns_view_setfailttl(view, fail_ttl); @@ -5580,20 +5427,17 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, result = dns_view_getntatable(view, &ntatable); } if (result == ISC_R_SUCCESS) { - for (element = cfg_list_first(obj); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(obj); element != NULL; + element = cfg_list_next(element)) { dns_fixedname_t fntaname; - dns_name_t *ntaname; + dns_name_t * ntaname; ntaname = dns_fixedname_initname(&fntaname); obj = cfg_listelt_value(element); - CHECK(dns_name_fromstring(ntaname, - cfg_obj_asstring(obj), - 0, NULL)); - CHECK(dns_ntatable_add(ntatable, ntaname, - true, 0, 0xffffffffU)); + CHECK(dns_name_fromstring( + ntaname, cfg_obj_asstring(obj), 0, NULL)); + CHECK(dns_ntatable_add(ntatable, ntaname, true, 0, + 0xffffffffU)); } } @@ -5607,7 +5451,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, result = ISC_R_SUCCESS; - cleanup: +cleanup: if (ntatable != NULL) { dns_ntatable_detach(&ntatable); } @@ -5658,9 +5502,10 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, } static isc_result_t -configure_hints(dns_view_t *view, const char *filename) { +configure_hints(dns_view_t *view, const char *filename) +{ isc_result_t result; - dns_db_t *db; + dns_db_t * db; db = NULL; result = dns_rootns_create(view->mctx, view->rdclass, filename, &db); @@ -5676,11 +5521,11 @@ static isc_result_t configure_alternates(const cfg_obj_t *config, dns_view_t *view, const cfg_obj_t *alternates) { - const cfg_obj_t *portobj; - const cfg_obj_t *addresses; + const cfg_obj_t * portobj; + const cfg_obj_t * addresses; const cfg_listelt_t *element; - isc_result_t result = ISC_R_SUCCESS; - in_port_t port; + isc_result_t result = ISC_R_SUCCESS; + in_port_t port; /* * Determine which port to send requests to. @@ -5697,7 +5542,7 @@ configure_alternates(const cfg_obj_t *config, dns_view_t *view, "port '%u' out of range", val); return (ISC_R_RANGE); } - port = (in_port_t) val; + port = (in_port_t)val; } } @@ -5705,20 +5550,19 @@ configure_alternates(const cfg_obj_t *config, dns_view_t *view, if (alternates != NULL) addresses = cfg_tuple_get(alternates, "addresses"); - for (element = cfg_list_first(addresses); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(addresses); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *alternate = cfg_listelt_value(element); - isc_sockaddr_t sa; + isc_sockaddr_t sa; if (!cfg_obj_issockaddr(alternate)) { dns_fixedname_t fixed; - dns_name_t *name; - const char *str = cfg_obj_asstring(cfg_tuple_get( - alternate, "name")); + dns_name_t * name; + const char * str = + cfg_obj_asstring(cfg_tuple_get(alternate, "nam" + "e")); isc_buffer_t buffer; - in_port_t myport = port; + in_port_t myport = port; isc_buffer_constinit(&buffer, str, strlen(str)); isc_buffer_add(&buffer, strlen(str)); @@ -5733,10 +5577,10 @@ configure_alternates(const cfg_obj_t *config, dns_view_t *view, cfg_obj_log(portobj, named_g_lctx, ISC_LOG_ERROR, "port '%u' out of range", - val); + val); return (ISC_R_RANGE); } - myport = (in_port_t) val; + myport = (in_port_t)val; } CHECK(dns_resolver_addalternate(view->resolver, NULL, name, myport)); @@ -5746,28 +5590,27 @@ configure_alternates(const cfg_obj_t *config, dns_view_t *view, sa = *cfg_obj_assockaddr(alternate); if (isc_sockaddr_getport(&sa) == 0) isc_sockaddr_setport(&sa, port); - CHECK(dns_resolver_addalternate(view->resolver, &sa, - NULL, 0)); + CHECK(dns_resolver_addalternate(view->resolver, &sa, NULL, 0)); } - cleanup: +cleanup: return (result); } static isc_result_t configure_forward(const cfg_obj_t *config, dns_view_t *view, const dns_name_t *origin, const cfg_obj_t *forwarders, - const cfg_obj_t *forwardtype) + const cfg_obj_t *forwardtype) { - const cfg_obj_t *portobj, *dscpobj; - const cfg_obj_t *faddresses; + const cfg_obj_t * portobj, *dscpobj; + const cfg_obj_t * faddresses; const cfg_listelt_t *element; - dns_fwdpolicy_t fwdpolicy = dns_fwdpolicy_none; - dns_forwarderlist_t fwdlist; - dns_forwarder_t *fwd; - isc_result_t result; - in_port_t port; - isc_dscp_t dscp = -1; + dns_fwdpolicy_t fwdpolicy = dns_fwdpolicy_none; + dns_forwarderlist_t fwdlist; + dns_forwarder_t * fwd; + isc_result_t result; + in_port_t port; + isc_dscp_t dscp = -1; ISC_LIST_INIT(fwdlist); @@ -5786,7 +5629,7 @@ configure_forward(const cfg_obj_t *config, dns_view_t *view, "port '%u' out of range", val); return (ISC_R_RANGE); } - port = (in_port_t) val; + port = (in_port_t)val; } } @@ -5812,10 +5655,8 @@ configure_forward(const cfg_obj_t *config, dns_view_t *view, if (forwarders != NULL) faddresses = cfg_tuple_get(forwarders, "addresses"); - for (element = cfg_list_first(faddresses); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(faddresses); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *forwarder = cfg_listelt_value(element); fwd = isc_mem_get(view->mctx, sizeof(dns_forwarder_t)); fwd->addr = *cfg_obj_assockaddr(forwarder); @@ -5863,7 +5704,7 @@ configure_forward(const cfg_obj_t *config, dns_view_t *view, result = ISC_R_SUCCESS; - cleanup: +cleanup: while (!ISC_LIST_EMPTY(fwdlist)) { fwd = ISC_LIST_HEAD(fwdlist); @@ -5878,8 +5719,8 @@ static isc_result_t get_viewinfo(const cfg_obj_t *vconfig, const char **namep, dns_rdataclass_t *classp) { - isc_result_t result = ISC_R_SUCCESS; - const char *viewname; + isc_result_t result = ISC_R_SUCCESS; + const char * viewname; dns_rdataclass_t viewclass; REQUIRE(namep != NULL && *namep == NULL); @@ -5891,7 +5732,7 @@ get_viewinfo(const cfg_obj_t *vconfig, const char **namep, viewname = cfg_obj_asstring(cfg_tuple_get(vconfig, "name")); classobj = cfg_tuple_get(vconfig, "class"); CHECK(named_config_getclass(classobj, dns_rdataclass_in, - &viewclass)); + &viewclass)); if (dns_rdataclass_ismeta(viewclass)) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, @@ -5920,10 +5761,10 @@ static isc_result_t find_view(const cfg_obj_t *vconfig, dns_viewlist_t *viewlist, dns_view_t **viewp) { - isc_result_t result; - const char *viewname = NULL; + isc_result_t result; + const char * viewname = NULL; dns_rdataclass_t viewclass; - dns_view_t *view = NULL; + dns_view_t * view = NULL; result = get_viewinfo(vconfig, &viewname, &viewclass); if (result != ISC_R_SUCCESS) @@ -5948,10 +5789,10 @@ static isc_result_t create_view(const cfg_obj_t *vconfig, dns_viewlist_t *viewlist, dns_view_t **viewp) { - isc_result_t result; - const char *viewname = NULL; + isc_result_t result; + const char * viewname = NULL; dns_rdataclass_t viewclass; - dns_view_t *view = NULL; + dns_view_t * view = NULL; result = get_viewinfo(vconfig, &viewname, &viewclass); if (result != ISC_R_SUCCESS) @@ -5985,10 +5826,10 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig, cfg_aclconfctx_t *aclconf, bool added, bool old_rpz_ok, bool modify) { - dns_view_t *pview = NULL; /* Production view */ - dns_zone_t *zone = NULL; /* New or reused zone */ - dns_zone_t *raw = NULL; /* New or reused raw zone */ - dns_zone_t *dupzone = NULL; + dns_view_t * pview = NULL; /* Production view */ + dns_zone_t * zone = NULL; /* New or reused zone */ + dns_zone_t * raw = NULL; /* New or reused raw zone */ + dns_zone_t * dupzone = NULL; const cfg_obj_t *options = NULL; const cfg_obj_t *zoptions = NULL; const cfg_obj_t *typeobj = NULL; @@ -5998,16 +5839,16 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig, const cfg_obj_t *only = NULL; const cfg_obj_t *signing = NULL; const cfg_obj_t *viewobj = NULL; - isc_result_t result; - isc_result_t tresult; - isc_buffer_t buffer; - dns_fixedname_t fixorigin; - dns_name_t *origin; - const char *zname; + isc_result_t result; + isc_result_t tresult; + isc_buffer_t buffer; + dns_fixedname_t fixorigin; + dns_name_t * origin; + const char * zname; dns_rdataclass_t zclass; - const char *ztypestr; - dns_rpz_num_t rpz_num; - bool zone_is_catz = false; + const char * ztypestr; + dns_rpz_num_t rpz_num; + bool zone_is_catz = false; options = NULL; (void)cfg_map_get(config, "options", &options); @@ -6021,24 +5862,24 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig, isc_buffer_constinit(&buffer, zname, strlen(zname)); isc_buffer_add(&buffer, strlen(zname)); dns_fixedname_init(&fixorigin); - CHECK(dns_name_fromtext(dns_fixedname_name(&fixorigin), - &buffer, dns_rootname, 0, NULL)); + CHECK(dns_name_fromtext(dns_fixedname_name(&fixorigin), &buffer, + dns_rootname, 0, NULL)); origin = dns_fixedname_name(&fixorigin); CHECK(named_config_getclass(cfg_tuple_get(zconfig, "class"), - view->rdclass, &zclass)); + view->rdclass, &zclass)); if (zclass != view->rdclass) { const char *vname = NULL; if (vconfig != NULL) - vname = cfg_obj_asstring(cfg_tuple_get(vconfig, - "name")); + vname = cfg_obj_asstring(cfg_tuple_get(vconfig, "nam" + "e")); else vname = ""; isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, - "zone '%s': wrong class for view '%s'", - zname, vname); + "zone '%s': wrong class for view '%s'", zname, + vname); result = ISC_R_FAILURE; goto cleanup; } @@ -6069,8 +5910,8 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig, dns_view_detach(&otherview); if (result != ISC_R_SUCCESS) { cfg_obj_log(zconfig, named_g_lctx, ISC_LOG_ERROR, - "zone '%s' not defined in view '%s'", - zname, inview); + "zone '%s' not defined in view '%s'", zname, + inview); result = ISC_R_FAILURE; goto cleanup; } @@ -6113,8 +5954,7 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig, if (cfg_map_get(zoptions, "file", &fileobj) != ISC_R_SUCCESS) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, - "zone '%s': 'file' not specified", - zname); + "zone '%s': 'file' not specified", zname); result = ISC_R_FAILURE; goto cleanup; } @@ -6127,8 +5967,8 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig, * Hint zones may also refer to delegation only points. */ only = NULL; - tresult = cfg_map_get(zoptions, "delegation-only", - &only); + tresult = + cfg_map_get(zoptions, "delegation-only", &only); if (tresult == ISC_R_SUCCESS && cfg_obj_asboolean(only)) CHECK(dns_view_adddelegationonly(view, origin)); } else { @@ -6183,8 +6023,8 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig, result = ISC_R_EXISTS; goto cleanup; } - result = dns_viewlist_find(viewlist, view->name, - view->rdclass, &pview); + result = dns_viewlist_find(viewlist, view->name, view->rdclass, + &pview); if (result != ISC_R_NOTFOUND && result != ISC_R_SUCCESS) goto cleanup; if (pview != NULL && pview->redirect != NULL) { @@ -6228,10 +6068,9 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig, * unless we are using RPZ service interface. In that case, the * BIND zone database has nothing to do with rpz and so we don't care. */ - for (rpz_num = 0; ; ++rpz_num) { + for (rpz_num = 0;; ++rpz_num) { if (view->rpzs == NULL || rpz_num >= view->rpzs->p.num_zones || - view->rpzs->p.dnsrps_enabled) - { + view->rpzs->p.dnsrps_enabled) { rpz_num = DNS_RPZ_INVALID_NUM; break; } @@ -6309,8 +6148,7 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig, * selective forwarding. */ forwarders = NULL; - if (cfg_map_get(zoptions, "forwarders", &forwarders) == ISC_R_SUCCESS) - { + if (cfg_map_get(zoptions, "forwarders", &forwarders) == ISC_R_SUCCESS) { forwardtype = NULL; (void)cfg_map_get(zoptions, "forward", &forwardtype); CHECK(configure_forward(config, view, origin, forwarders, @@ -6321,8 +6159,7 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig, * Stub and forward zones may also refer to delegation only points. */ only = NULL; - if (cfg_map_get(zoptions, "delegation-only", &only) == ISC_R_SUCCESS) - { + if (cfg_map_get(zoptions, "delegation-only", &only) == ISC_R_SUCCESS) { if (cfg_obj_asboolean(only)) CHECK(dns_view_adddelegationonly(view, origin)); } @@ -6338,11 +6175,12 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig, strcasecmp(ztypestr, "secondary") == 0 || strcasecmp(ztypestr, "slave") == 0) && ((cfg_map_get(zoptions, "inline-signing", &signing) == - ISC_R_SUCCESS && cfg_obj_asboolean(signing)) || + ISC_R_SUCCESS && + cfg_obj_asboolean(signing)) || (cfg_map_get(zoptions, "dnssec-policy", &signing) == - ISC_R_SUCCESS && signing != NULL && - strcmp(cfg_obj_asstring(signing), "none") != 0))) - { + ISC_R_SUCCESS && + signing != NULL && + strcmp(cfg_obj_asstring(signing), "none") != 0))) { dns_zone_getraw(zone, &raw); if (raw == NULL) { CHECK(dns_zone_create(&raw, mctx)); @@ -6352,8 +6190,7 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig, CHECK(dns_zone_link(zone, raw)); } if (cfg_map_get(zoptions, "ixfr-from-differences", - &ixfrfromdiffs) == ISC_R_SUCCESS) - { + &ixfrfromdiffs) == ISC_R_SUCCESS) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, "zone '%s': 'ixfr-from-differences' is " @@ -6386,7 +6223,6 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig, dns_catz_dbupdate_callback(db, view->catzs); dns_db_detach(&db); } - } /* @@ -6395,7 +6231,7 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig, if ((dns_zone_getkeyopts(zone) & DNS_ZONEKEY_MAINTAIN) != 0) dns_zone_rekey(zone, false); - cleanup: +cleanup: if (zone != NULL) dns_zone_detach(&zone); if (raw != NULL) @@ -6410,19 +6246,20 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig, * Configure built-in zone for storing managed-key data. */ static isc_result_t -add_keydata_zone(dns_view_t *view, const char *directory, isc_mem_t *mctx) { +add_keydata_zone(dns_view_t *view, const char *directory, isc_mem_t *mctx) +{ isc_result_t result; - dns_view_t *pview = NULL; - dns_zone_t *zone = NULL; - dns_acl_t *none = NULL; - char filename[PATH_MAX]; - bool defaultview; + dns_view_t * pview = NULL; + dns_zone_t * zone = NULL; + dns_acl_t * none = NULL; + char filename[PATH_MAX]; + bool defaultview; REQUIRE(view != NULL); /* See if we can re-use an existing keydata zone. */ - result = dns_viewlist_find(&named_g_server->viewlist, - view->name, view->rdclass, &pview); + result = dns_viewlist_find(&named_g_server->viewlist, view->name, + view->rdclass, &pview); if (result != ISC_R_NOTFOUND && result != ISC_R_SUCCESS) { return (result); } @@ -6445,10 +6282,9 @@ add_keydata_zone(dns_view_t *view, const char *directory, isc_mem_t *mctx) { CHECK(dns_zone_setorigin(zone, dns_rootname)); defaultview = (strcmp(view->name, "_default") == 0); - CHECK(isc_file_sanitize(directory, - defaultview ? "managed-keys" : view->name, - defaultview ? "bind" : "mkeys", - filename, sizeof(filename))); + CHECK(isc_file_sanitize( + directory, defaultview ? "managed-keys" : view->name, + defaultview ? "bind" : "mkeys", filename, sizeof(filename))); CHECK(dns_zone_setfile(zone, filename, dns_masterformat_text, &dns_master_style_default)); @@ -6500,7 +6336,7 @@ configure_server_quota(const cfg_obj_t **maps, const char *name, isc_quota_t *quota) { const cfg_obj_t *obj = NULL; - isc_result_t result; + isc_result_t result; result = named_config_get(maps, name, &obj); INSIST(result == ISC_R_SUCCESS); @@ -6512,9 +6348,10 @@ configure_server_quota(const cfg_obj_t **maps, const char *name, * parsed. This can be extended to support other options if necessary. */ static isc_result_t -directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) { +directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) +{ isc_result_t result; - const char *directory; + const char * directory; REQUIRE(strcasecmp("directory", clausename) == 0); @@ -6526,7 +6363,7 @@ directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) { */ directory = cfg_obj_asstring(obj); - if (! isc_file_ischdiridempotent(directory)) + if (!isc_file_ischdiridempotent(directory)) cfg_obj_log(obj, named_g_lctx, ISC_LOG_WARNING, "option 'directory' contains relative path '%s'", directory); @@ -6534,16 +6371,15 @@ directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) { if (!isc_file_isdirwritable(directory)) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, - "directory '%s' is not writable", - directory); + "directory '%s' is not writable", directory); return (ISC_R_NOPERM); } result = isc_dir_chdir(directory); if (result != ISC_R_SUCCESS) { cfg_obj_log(obj, named_g_lctx, ISC_LOG_ERROR, - "change directory to '%s' failed: %s", - directory, isc_result_totext(result)); + "change directory to '%s' failed: %s", directory, + isc_result_totext(result)); return (result); } @@ -6555,10 +6391,10 @@ add_listenelt(isc_mem_t *mctx, ns_listenlist_t *list, isc_sockaddr_t *addr, isc_dscp_t dscp, bool wcardport_ok) { ns_listenelt_t *lelt = NULL; - dns_acl_t *src_acl = NULL; - isc_result_t result; - isc_sockaddr_t any_sa6; - isc_netaddr_t netaddr; + dns_acl_t * src_acl = NULL; + isc_result_t result; + isc_sockaddr_t any_sa6; + isc_netaddr_t netaddr; REQUIRE(isc_sockaddr_pf(addr) == AF_INET6); @@ -6571,8 +6407,8 @@ add_listenelt(isc_mem_t *mctx, ns_listenlist_t *list, isc_sockaddr_t *addr, if (result != ISC_R_SUCCESS) return (result); - result = dns_iptable_addprefix(src_acl->iptable, &netaddr, - 128, true); + result = dns_iptable_addprefix(src_acl->iptable, &netaddr, 128, + true); if (result != ISC_R_SUCCESS) goto clean; @@ -6585,7 +6421,7 @@ add_listenelt(isc_mem_t *mctx, ns_listenlist_t *list, isc_sockaddr_t *addr, return (ISC_R_SUCCESS); - clean: +clean: INSIST(lelt == NULL); dns_acl_detach(&src_acl); @@ -6599,20 +6435,20 @@ add_listenelt(isc_mem_t *mctx, ns_listenlist_t *list, isc_sockaddr_t *addr, * sockets. */ static void -adjust_interfaces(named_server_t *server, isc_mem_t *mctx) { - isc_result_t result; +adjust_interfaces(named_server_t *server, isc_mem_t *mctx) +{ + isc_result_t result; ns_listenlist_t *list = NULL; - dns_view_t *view; - dns_zone_t *zone, *next; - isc_sockaddr_t addr, *addrp; - isc_dscp_t dscp = -1; + dns_view_t * view; + dns_zone_t * zone, *next; + isc_sockaddr_t addr, *addrp; + isc_dscp_t dscp = -1; result = ns_listenlist_create(mctx, &list); if (result != ISC_R_SUCCESS) return; - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; view = ISC_LIST_NEXT(view, link)) { dns_dispatch_t *dispatch6; @@ -6676,11 +6512,11 @@ adjust_interfaces(named_server_t *server, isc_mem_t *mctx) { ns_interfacemgr_adjust(server->interfacemgr, list, true); - clean: +clean: ns_listenlist_detach(&list); return; - fail: +fail: /* * Even when we failed the procedure, most of other interfaces * should work correctly. We therefore just warn it. @@ -6698,8 +6534,9 @@ adjust_interfaces(named_server_t *server, isc_mem_t *mctx) { */ static void -interface_timer_tick(isc_task_t *task, isc_event_t *event) { - named_server_t *server = (named_server_t *) event->ev_arg; +interface_timer_tick(isc_task_t *task, isc_event_t *event) +{ + named_server_t *server = (named_server_t *)event->ev_arg; INSIST(task == server->task); UNUSED(task); @@ -6708,9 +6545,10 @@ interface_timer_tick(isc_task_t *task, isc_event_t *event) { } static void -heartbeat_timer_tick(isc_task_t *task, isc_event_t *event) { - named_server_t *server = (named_server_t *) event->ev_arg; - dns_view_t *view; +heartbeat_timer_tick(isc_task_t *task, isc_event_t *event) +{ + named_server_t *server = (named_server_t *)event->ev_arg; + dns_view_t * view; UNUSED(task); isc_event_free(&event); @@ -6722,15 +6560,16 @@ heartbeat_timer_tick(isc_task_t *task, isc_event_t *event) { } typedef struct { - isc_mem_t *mctx; - isc_task_t *task; - dns_rdataset_t rdataset; - dns_rdataset_t sigrdataset; - dns_fetch_t *fetch; + isc_mem_t * mctx; + isc_task_t * task; + dns_rdataset_t rdataset; + dns_rdataset_t sigrdataset; + dns_fetch_t * fetch; } ns_tat_t; static int -cid(const void *a, const void *b) { +cid(const void *a, const void *b) +{ const uint16_t ida = *(const uint16_t *)a; const uint16_t idb = *(const uint16_t *)b; if (ida < idb) @@ -6742,16 +6581,17 @@ cid(const void *a, const void *b) { } static void -tat_done(isc_task_t *task, isc_event_t *event) { +tat_done(isc_task_t *task, isc_event_t *event) +{ dns_fetchevent_t *devent; - ns_tat_t *tat; + ns_tat_t * tat; UNUSED(task); INSIST(event != NULL && event->ev_type == DNS_EVENT_FETCHDONE); INSIST(event->ev_arg != NULL); tat = event->ev_arg; - devent = (dns_fetchevent_t *) event; + devent = (dns_fetchevent_t *)event; /* Free resources which are not of interest */ if (devent->node != NULL) @@ -6784,29 +6624,29 @@ struct dotat_arg { * reported in the TAT query. */ static isc_result_t -get_tat_qname(dns_name_t *target, dns_name_t *keyname, dns_keynode_t *keynode) { - dns_rdataset_t *dsset = NULL; - unsigned int i, n = 0; - uint16_t ids[12]; +get_tat_qname(dns_name_t *target, dns_name_t *keyname, dns_keynode_t *keynode) +{ + dns_rdataset_t * dsset = NULL; + unsigned int i, n = 0; + uint16_t ids[12]; isc_textregion_t r; - char label[64]; - int m; + char label[64]; + int m; if ((dsset = dns_keynode_dsset(keynode)) != NULL) { isc_result_t result; for (result = dns_rdataset_first(dsset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(dsset)) - { - dns_rdata_t rdata = DNS_RDATA_INIT; + result = dns_rdataset_next(dsset)) { + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_ds_t ds; dns_rdata_reset(&rdata); dns_rdataset_current(dsset, &rdata); result = dns_rdata_tostruct(&rdata, &ds, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); - if (n < (sizeof(ids)/sizeof(ids[0]))) { + if (n < (sizeof(ids) / sizeof(ids[0]))) { ids[n] = ds.key_tag; n++; } @@ -6845,18 +6685,18 @@ get_tat_qname(dns_name_t *target, dns_name_t *keyname, dns_keynode_t *keynode) { } static void -dotat(dns_keytable_t *keytable, dns_keynode_t *keynode, - dns_name_t *keyname, void *arg) +dotat(dns_keytable_t *keytable, dns_keynode_t *keynode, dns_name_t *keyname, + void *arg) { struct dotat_arg *dotat_arg = arg; - char namebuf[DNS_NAME_FORMATSIZE]; - dns_fixedname_t fixed, fdomain; - dns_name_t *tatname, *domain; - dns_rdataset_t nameservers; - isc_result_t result; - dns_view_t *view; - isc_task_t *task; - ns_tat_t *tat; + char namebuf[DNS_NAME_FORMATSIZE]; + dns_fixedname_t fixed, fdomain; + dns_name_t * tatname, *domain; + dns_rdataset_t nameservers; + isc_result_t result; + dns_view_t * view; + isc_task_t * task; + ns_tat_t * tat; REQUIRE(keytable != NULL); REQUIRE(keynode != NULL); @@ -6874,8 +6714,8 @@ dotat(dns_keytable_t *keytable, dns_keynode_t *keynode, dns_name_format(tatname, namebuf, sizeof(namebuf)); isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, - "%s: sending trust-anchor-telemetry query '%s/NULL'", - view->name, namebuf); + "%s: sending trust-anchor-telemetry query '%s/NULL'", + view->name, namebuf); tat = isc_mem_get(dotat_arg->view->mctx, sizeof(*tat)); @@ -6910,17 +6750,14 @@ dotat(dns_keytable_t *keytable, dns_keynode_t *keynode, */ domain = dns_fixedname_initname(&fdomain); dns_rdataset_init(&nameservers); - result = dns_view_findzonecut(view, keyname, domain, NULL, 0, 0, - true, true, &nameservers, NULL); + result = dns_view_findzonecut(view, keyname, domain, NULL, 0, 0, true, + true, &nameservers, NULL); if (result == ISC_R_SUCCESS) { - result = dns_resolver_createfetch(view->resolver, tatname, - dns_rdatatype_null, domain, - &nameservers, NULL, NULL, 0, - 0, 0, NULL, tat->task, - tat_done, tat, - &tat->rdataset, - &tat->sigrdataset, - &tat->fetch); + result = dns_resolver_createfetch( + view->resolver, tatname, dns_rdatatype_null, domain, + &nameservers, NULL, NULL, 0, 0, 0, NULL, tat->task, + tat_done, tat, &tat->rdataset, &tat->sigrdataset, + &tat->fetch); } /* @@ -6945,22 +6782,19 @@ dotat(dns_keytable_t *keytable, dns_keynode_t *keynode, } static void -tat_timer_tick(isc_task_t *task, isc_event_t *event) { - isc_result_t result; - named_server_t *server = (named_server_t *) event->ev_arg; +tat_timer_tick(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result; + named_server_t * server = (named_server_t *)event->ev_arg; struct dotat_arg arg; - dns_view_t *view; - dns_keytable_t *secroots = NULL; + dns_view_t * view; + dns_keytable_t * secroots = NULL; isc_event_free(&event); - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { - if (!view->trust_anchor_telemetry || - !view->enablevalidation) - { + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { + if (!view->trust_anchor_telemetry || !view->enablevalidation) { continue; } @@ -6977,9 +6811,10 @@ tat_timer_tick(isc_task_t *task, isc_event_t *event) { } static void -pps_timer_tick(isc_task_t *task, isc_event_t *event) { +pps_timer_tick(isc_task_t *task, isc_event_t *event) +{ static unsigned int oldrequests = 0; - unsigned int requests = atomic_load_relaxed(&ns_client_requests); + unsigned int requests = atomic_load_relaxed(&ns_client_requests); UNUSED(task); isc_event_free(&event); @@ -6997,7 +6832,8 @@ pps_timer_tick(isc_task_t *task, isc_event_t *event) { * null-terminated string pointed to by 'value', or NULL. */ static isc_result_t -setstring(named_server_t *server, char **field, const char *value) { +setstring(named_server_t *server, char **field, const char *value) +{ char *copy; if (value != NULL) { @@ -7019,7 +6855,8 @@ setstring(named_server_t *server, char **field, const char *value) { * or NULL if whether 'obj' is a string or void value, respectively. */ static isc_result_t -setoptstring(named_server_t *server, char **field, const cfg_obj_t *obj) { +setoptstring(named_server_t *server, char **field, const cfg_obj_t *obj) +{ if (cfg_obj_isvoid(obj)) return (setstring(server, field, NULL)); else @@ -7031,10 +6868,10 @@ set_limit(const cfg_obj_t **maps, const char *configname, const char *description, isc_resource_t resourceid, isc_resourcevalue_t defaultvalue) { - const cfg_obj_t *obj = NULL; - const char *resource; + const cfg_obj_t * obj = NULL; + const char * resource; isc_resourcevalue_t value; - isc_result_t result; + isc_result_t result; if (named_config_get(maps, configname, &obj) != ISC_R_SUCCESS) return; @@ -7051,20 +6888,20 @@ set_limit(const cfg_obj_t **maps, const char *configname, value = cfg_obj_asuint64(obj); result = isc_resource_setlimit(resourceid, value); - isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - result == ISC_R_SUCCESS ? - ISC_LOG_DEBUG(3) : ISC_LOG_WARNING, - "set maximum %s to %" PRIu64 ": %s", - description, value, isc_result_totext(result)); + isc_log_write( + named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, + result == ISC_R_SUCCESS ? ISC_LOG_DEBUG(3) : ISC_LOG_WARNING, + "set maximum %s to %" PRIu64 ": %s", description, value, + isc_result_totext(result)); } -#define SETLIMIT(cfgvar, resource, description) \ - set_limit(maps, cfgvar, description, isc_resource_ ## resource, \ - named_g_init ## resource) +#define SETLIMIT(cfgvar, resource, description) \ + set_limit(maps, cfgvar, description, isc_resource_##resource, \ + named_g_init##resource) static void -set_limits(const cfg_obj_t **maps) { +set_limits(const cfg_obj_t **maps) +{ SETLIMIT("stacksize", stacksize, "stack size"); SETLIMIT("datasize", datasize, "data size"); SETLIMIT("coresize", coresize, "core size"); @@ -7072,13 +6909,11 @@ set_limits(const cfg_obj_t **maps) { } static void -portset_fromconf(isc_portset_t *portset, const cfg_obj_t *ports, - bool positive) +portset_fromconf(isc_portset_t *portset, const cfg_obj_t *ports, bool positive) { const cfg_listelt_t *element; - for (element = cfg_list_first(ports); - element != NULL; + for (element = cfg_list_first(ports); element != NULL; element = cfg_list_next(element)) { const cfg_obj_t *obj = cfg_listelt_value(element); @@ -7091,7 +6926,7 @@ portset_fromconf(isc_portset_t *portset, const cfg_obj_t *ports, isc_portset_remove(portset, port); } else { const cfg_obj_t *obj_loport, *obj_hiport; - in_port_t loport, hiport; + in_port_t loport, hiport; obj_loport = cfg_tuple_get(obj, "loport"); loport = (in_port_t)cfg_obj_asuint32(obj_loport); @@ -7109,7 +6944,8 @@ portset_fromconf(isc_portset_t *portset, const cfg_obj_t *ports, } static isc_result_t -removed(dns_zone_t *zone, void *uap) { +removed(dns_zone_t *zone, void *uap) +{ const char *type; if (dns_zone_getview(zone) != uap) @@ -7143,7 +6979,8 @@ removed(dns_zone_t *zone, void *uap) { } static void -cleanup_session_key(named_server_t *server, isc_mem_t *mctx) { +cleanup_session_key(named_server_t *server, isc_mem_t *mctx) +{ if (server->session_keyfile != NULL) { isc_file_remove(server->session_keyfile); isc_mem_free(mctx, server->session_keyfile); @@ -7168,19 +7005,18 @@ static isc_result_t generate_session_key(const char *filename, const char *keynamestr, const dns_name_t *keyname, const char *algstr, const dns_name_t *algname, unsigned int algtype, - uint16_t bits, isc_mem_t *mctx, - dns_tsigkey_t **tsigkeyp) + uint16_t bits, isc_mem_t *mctx, dns_tsigkey_t **tsigkeyp) { - isc_result_t result = ISC_R_SUCCESS; - dst_key_t *key = NULL; - isc_buffer_t key_txtbuffer; - isc_buffer_t key_rawbuffer; - char key_txtsecret[256]; - char key_rawsecret[64]; - isc_region_t key_rawregion; - isc_stdtime_t now; + isc_result_t result = ISC_R_SUCCESS; + dst_key_t * key = NULL; + isc_buffer_t key_txtbuffer; + isc_buffer_t key_rawbuffer; + char key_txtsecret[256]; + char key_rawsecret[64]; + isc_region_t key_rawregion; + isc_stdtime_t now; dns_tsigkey_t *tsigkey = NULL; - FILE *fp = NULL; + FILE * fp = NULL; isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, @@ -7188,8 +7024,8 @@ generate_session_key(const char *filename, const char *keynamestr, /* generate key */ result = dst_key_generate(keyname, algtype, bits, 1, 0, - DNS_KEYPROTO_ANY, dns_rdataclass_in, - mctx, &key, NULL); + DNS_KEYPROTO_ANY, dns_rdataclass_in, mctx, + &key, NULL); if (result != ISC_R_SUCCESS) return (result); @@ -7206,12 +7042,11 @@ generate_session_key(const char *filename, const char *keynamestr, /* Store the key in tsigkey. */ isc_stdtime_get(&now); - CHECK(dns_tsigkey_createfromkey(dst_key_name(key), algname, key, - false, NULL, now, now, mctx, NULL, - &tsigkey)); + CHECK(dns_tsigkey_createfromkey(dst_key_name(key), algname, key, false, + NULL, now, now, mctx, NULL, &tsigkey)); /* Dump the key to the key file. */ - fp = named_os_openfile(filename, S_IRUSR|S_IWUSR, true); + fp = named_os_openfile(filename, S_IRUSR | S_IWUSR, true); if (fp == NULL) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, @@ -7220,11 +7055,12 @@ generate_session_key(const char *filename, const char *keynamestr, goto cleanup; } - fprintf(fp, "key \"%s\" {\n" + fprintf(fp, + "key \"%s\" {\n" "\talgorithm %s;\n" - "\tsecret \"%.*s\";\n};\n", keynamestr, algstr, - (int) isc_buffer_usedlength(&key_txtbuffer), - (char*) isc_buffer_base(&key_txtbuffer)); + "\tsecret \"%.*s\";\n};\n", + keynamestr, algstr, (int)isc_buffer_usedlength(&key_txtbuffer), + (char *)isc_buffer_base(&key_txtbuffer)); CHECK(isc_stdio_flush(fp)); result = isc_stdio_close(fp); @@ -7238,11 +7074,12 @@ generate_session_key(const char *filename, const char *keynamestr, return (ISC_R_SUCCESS); - cleanup: +cleanup: isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "failed to generate session key " - "for dynamic DNS: %s", isc_result_totext(result)); + "for dynamic DNS: %s", + isc_result_totext(result)); if (fp != NULL) { (void)isc_stdio_close(fp); (void)isc_file_remove(filename); @@ -7259,17 +7096,17 @@ static isc_result_t configure_session_key(const cfg_obj_t **maps, named_server_t *server, isc_mem_t *mctx) { - const char *keyfile, *keynamestr, *algstr; - unsigned int algtype; - dns_fixedname_t fname; - dns_name_t *keyname; + const char * keyfile, *keynamestr, *algstr; + unsigned int algtype; + dns_fixedname_t fname; + dns_name_t * keyname; const dns_name_t *algname; - isc_buffer_t buffer; - uint16_t bits; - const cfg_obj_t *obj; - bool need_deleteold = false; - bool need_createnew = false; - isc_result_t result; + isc_buffer_t buffer; + uint16_t bits; + const cfg_obj_t * obj; + bool need_deleteold = false; + bool need_createnew = false; + isc_result_t result; obj = NULL; result = named_config_get(maps, "session-keyfile", &obj); @@ -7302,10 +7139,10 @@ configure_session_key(const cfg_obj_t **maps, named_server_t *server, if (result != ISC_R_SUCCESS) { const char *s = " (keeping current key)"; - cfg_obj_log(obj, named_g_lctx, ISC_LOG_ERROR, "session-keyalg: " + cfg_obj_log(obj, named_g_lctx, ISC_LOG_ERROR, + "session-keyalg: " "unsupported or unknown algorithm '%s'%s", - algstr, - server->session_keyfile != NULL ? s : ""); + algstr, server->session_keyfile != NULL ? s : ""); return (result); } @@ -7338,8 +7175,7 @@ configure_session_key(const cfg_obj_t **maps, named_server_t *server, INSIST(server->session_keyalg == DST_ALG_UNKNOWN); INSIST(server->session_keybits == 0); - server->session_keyname = isc_mem_get(mctx, - sizeof(dns_name_t)); + server->session_keyname = isc_mem_get(mctx, sizeof(dns_name_t)); dns_name_init(server->session_keyname, NULL); dns_name_dup(keyname, mctx, server->session_keyname); @@ -7355,14 +7191,15 @@ configure_session_key(const cfg_obj_t **maps, named_server_t *server, return (result); - cleanup: +cleanup: cleanup_session_key(server, mctx); return (result); } #ifndef HAVE_LMDB static isc_result_t -count_newzones(dns_view_t *view, ns_cfgctx_t *nzcfg, int *num_zonesp) { +count_newzones(dns_view_t *view, ns_cfgctx_t *nzcfg, int *num_zonesp) +{ isc_result_t result; /* The new zone file may not exist. That is OK. */ @@ -7385,20 +7222,17 @@ count_newzones(dns_view_t *view, ns_cfgctx_t *nzcfg, int *num_zonesp) { int num_zones; num_zones = count_zones(nzcfg->nzf_config); - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, - ISC_LOG_INFO, + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, "NZF file '%s' contains %d zones", view->new_zone_file, num_zones); if (num_zonesp != NULL) *num_zonesp = num_zones; } else { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, - ISC_LOG_ERROR, + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "Error parsing NZF file '%s': %s", - view->new_zone_file, - isc_result_totext(result)); + view->new_zone_file, isc_result_totext(result)); } return (result); @@ -7407,9 +7241,10 @@ count_newzones(dns_view_t *view, ns_cfgctx_t *nzcfg, int *num_zonesp) { #else /* HAVE_LMDB */ static isc_result_t -count_newzones(dns_view_t *view, ns_cfgctx_t *nzcfg, int *num_zonesp) { +count_newzones(dns_view_t *view, ns_cfgctx_t *nzcfg, int *num_zonesp) +{ isc_result_t result; - int n; + int n; UNUSED(nzcfg); @@ -7417,9 +7252,9 @@ count_newzones(dns_view_t *view, ns_cfgctx_t *nzcfg, int *num_zonesp) { CHECK(migrate_nzf(view)); - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, - ISC_LOG_INFO, "loading NZD zone count from '%s' " + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, + "loading NZD zone count from '%s' " "for view '%s'", view->new_zone_db, view->name); @@ -7427,13 +7262,12 @@ count_newzones(dns_view_t *view, ns_cfgctx_t *nzcfg, int *num_zonesp) { *num_zonesp = n; - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, - ISC_LOG_INFO, - "NZD database '%s' contains %d zones", - view->new_zone_db, n); + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, + "NZD database '%s' contains %d zones", view->new_zone_db, + n); - cleanup: +cleanup: if (result != ISC_R_SUCCESS) *num_zonesp = 0; @@ -7447,17 +7281,17 @@ setup_newzones(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig, cfg_parser_t *conf_parser, cfg_aclconfctx_t *actx, int *num_zones) { - isc_result_t result = ISC_R_SUCCESS; - bool allow = false; - ns_cfgctx_t *nzcfg = NULL; + isc_result_t result = ISC_R_SUCCESS; + bool allow = false; + ns_cfgctx_t * nzcfg = NULL; const cfg_obj_t *maps[4]; const cfg_obj_t *options = NULL, *voptions = NULL; const cfg_obj_t *nz = NULL; const cfg_obj_t *nzdir = NULL; - const char *dir = NULL; + const char * dir = NULL; const cfg_obj_t *obj = NULL; - int i = 0; - uint64_t mapsize = 0ULL; + int i = 0; + uint64_t mapsize = 0ULL; REQUIRE(config != NULL); @@ -7483,15 +7317,16 @@ setup_newzones(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig, if (result != ISC_R_SUCCESS) { isc_log_write(named_g_lctx, DNS_LOGCATEGORY_SECURITY, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, - "invalid new-zones-directory %s: %s", - dir, isc_result_totext(result)); + "invalid new-zones-directory %s: %s", dir, + isc_result_totext(result)); return (result); } if (!isc_file_isdirwritable(dir)) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "new-zones-directory '%s' " - "is not writable", dir); + "is not writable", + dir); return (ISC_R_NOPERM); } @@ -7503,16 +7338,14 @@ setup_newzones(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig, if (result == ISC_R_SUCCESS && obj != NULL) { mapsize = cfg_obj_asuint64(obj); if (mapsize < (1ULL << 20)) { /* 1 megabyte */ - cfg_obj_log(obj, named_g_lctx, - ISC_LOG_ERROR, + cfg_obj_log(obj, named_g_lctx, ISC_LOG_ERROR, "'lmdb-mapsize " "%" PRId64 "' " "is too small", mapsize); return (ISC_R_FAILURE); } else if (mapsize > (1ULL << 40)) { /* 1 terabyte */ - cfg_obj_log(obj, named_g_lctx, - ISC_LOG_ERROR, + cfg_obj_log(obj, named_g_lctx, ISC_LOG_ERROR, "'lmdb-mapsize " "%" PRId64 "' " "is too large", @@ -7558,8 +7391,8 @@ setup_newzones(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig, isc_mem_attach(view->mctx, &nzcfg->mctx); cfg_aclconfctx_attach(actx, &nzcfg->actx); - result = dns_view_setnewzones(view, true, nzcfg, - newzone_cfgctx_destroy, mapsize); + result = dns_view_setnewzones(view, true, nzcfg, newzone_cfgctx_destroy, + mapsize); if (result != ISC_R_SUCCESS) { dns_view_setnewzones(view, false, NULL, NULL, 0ULL); return (result); @@ -7577,13 +7410,13 @@ static void configure_zone_setviewcommit(isc_result_t result, const cfg_obj_t *zconfig, dns_view_t *view) { - const char *zname; + const char * zname; dns_fixedname_t fixorigin; - dns_name_t *origin; - isc_result_t result2; - dns_view_t *pview = NULL; - dns_zone_t *zone = NULL; - dns_zone_t *raw = NULL; + dns_name_t * origin; + isc_result_t result2; + dns_view_t * pview = NULL; + dns_zone_t * zone = NULL; + dns_zone_t * raw = NULL; zname = cfg_obj_asstring(cfg_tuple_get(zconfig, "name")); origin = dns_fixedname_initname(&fixorigin); @@ -7631,9 +7464,9 @@ static isc_result_t configure_newzones(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig, isc_mem_t *mctx, cfg_aclconfctx_t *actx) { - isc_result_t result; - ns_cfgctx_t *nzctx; - const cfg_obj_t *zonelist; + isc_result_t result; + ns_cfgctx_t * nzctx; + const cfg_obj_t * zonelist; const cfg_listelt_t *element; nzctx = view->new_zone_config; @@ -7643,16 +7476,13 @@ configure_newzones(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig, isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, - "loading additional zones for view '%s'", - view->name); + "loading additional zones for view '%s'", view->name); zonelist = NULL; cfg_map_get(nzctx->nzf_config, "zone", &zonelist); - for (element = cfg_list_first(zonelist); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(zonelist); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *zconfig = cfg_listelt_value(element); CHECK(configure_zone(config, zconfig, vconfig, mctx, view, &named_g_server->viewlist, @@ -7662,11 +7492,9 @@ configure_newzones(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig, result = ISC_R_SUCCESS; - cleanup: - for (element = cfg_list_first(zonelist); - element != NULL; - element = cfg_list_next(element)) - { +cleanup: + for (element = cfg_list_first(zonelist); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *zconfig = cfg_listelt_value(element); configure_zone_setviewcommit(result, zconfig, view); } @@ -7677,15 +7505,15 @@ configure_newzones(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig, #else /* HAVE_LMDB */ static isc_result_t -data_to_cfg(dns_view_t *view, MDB_val *key, MDB_val *data, - isc_buffer_t **text, cfg_obj_t **zoneconfig) +data_to_cfg(dns_view_t *view, MDB_val *key, MDB_val *data, isc_buffer_t **text, + cfg_obj_t **zoneconfig) { isc_result_t result; - const char *zone_name; - size_t zone_name_len; - const char *zone_config; - size_t zone_config_len; - cfg_obj_t *zoneconf = NULL; + const char * zone_name; + size_t zone_name_len; + const char * zone_config; + size_t zone_config_len; + cfg_obj_t * zoneconf = NULL; REQUIRE(view != NULL); REQUIRE(key != NULL); @@ -7699,25 +7527,25 @@ data_to_cfg(dns_view_t *view, MDB_val *key, MDB_val *data, isc_buffer_clear(*text); } - zone_name = (const char *) key->mv_data; + zone_name = (const char *)key->mv_data; zone_name_len = key->mv_size; INSIST(zone_name != NULL && zone_name_len > 0); - zone_config = (const char *) data->mv_data; + zone_config = (const char *)data->mv_data; zone_config_len = data->mv_size; INSIST(zone_config != NULL && zone_config_len > 0); /* zone zonename { config; }; */ result = isc_buffer_reserve(text, 5 + zone_name_len + 1 + - zone_config_len + 2); + zone_config_len + 2); if (result != ISC_R_SUCCESS) { goto cleanup; } CHECK(putstr(text, "zone ")); - CHECK(putmem(text, (const void *) zone_name, zone_name_len)); + CHECK(putmem(text, (const void *)zone_name, zone_name_len)); CHECK(putstr(text, " ")); - CHECK(putmem(text, (const void *) zone_config, zone_config_len)); + CHECK(putmem(text, (const void *)zone_config, zone_config_len)); CHECK(putstr(text, ";\n")); cfg_parser_reset(named_g_addparser); @@ -7728,8 +7556,7 @@ data_to_cfg(dns_view_t *view, MDB_val *key, MDB_val *data, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "parsing config for zone '%.*s' in " "NZD database '%s' failed", - (int) zone_name_len, zone_name, - view->new_zone_db); + (int)zone_name_len, zone_name, view->new_zone_db); goto cleanup; } @@ -7737,7 +7564,7 @@ data_to_cfg(dns_view_t *view, MDB_val *key, MDB_val *data, zoneconf = NULL; result = ISC_R_SUCCESS; - cleanup: +cleanup: if (zoneconf != NULL) { cfg_obj_destroy(named_g_addparser, &zoneconf); } @@ -7768,12 +7595,12 @@ for_all_newzone_cfgs(newzone_cfg_cb_t callback, cfg_obj_t *config, cfg_aclconfctx_t *actx, MDB_txn *txn, MDB_dbi dbi) { const cfg_obj_t *zconfig, *zlist; - isc_result_t result = ISC_R_SUCCESS; - cfg_obj_t *zconfigobj = NULL; - isc_buffer_t *text = NULL; - MDB_cursor *cursor = NULL; - MDB_val data, key; - int status; + isc_result_t result = ISC_R_SUCCESS; + cfg_obj_t * zconfigobj = NULL; + isc_buffer_t * text = NULL; + MDB_cursor * cursor = NULL; + MDB_val data, key; + int status; status = mdb_cursor_open(txn, dbi, &cursor); if (status != MDB_SUCCESS) { @@ -7782,8 +7609,7 @@ for_all_newzone_cfgs(newzone_cfg_cb_t callback, cfg_obj_t *config, for (status = mdb_cursor_get(cursor, &key, &data, MDB_FIRST); status == MDB_SUCCESS; - status = mdb_cursor_get(cursor, &key, &data, MDB_NEXT)) - { + status = mdb_cursor_get(cursor, &key, &data, MDB_NEXT)) { /* * Create a configuration object from data fetched from NZD. */ @@ -7838,10 +7664,9 @@ configure_newzone(const cfg_obj_t *zconfig, cfg_obj_t *config, cfg_obj_t *vconfig, isc_mem_t *mctx, dns_view_t *view, cfg_aclconfctx_t *actx) { - return (configure_zone(config, zconfig, vconfig, mctx, view, - &named_g_server->viewlist, - &named_g_server->kasplist, actx, true, false, - false)); + return (configure_zone( + config, zconfig, vconfig, mctx, view, &named_g_server->viewlist, + &named_g_server->kasplist, actx, true, false, false)); } /*% @@ -7867,8 +7692,8 @@ configure_newzones(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig, isc_mem_t *mctx, cfg_aclconfctx_t *actx) { isc_result_t result; - MDB_txn *txn = NULL; - MDB_dbi dbi; + MDB_txn * txn = NULL; + MDB_dbi dbi; if (view->new_zone_config == NULL) { return (ISC_R_SUCCESS); @@ -7879,9 +7704,9 @@ configure_newzones(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig, return (ISC_R_SUCCESS); } - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, - ISC_LOG_INFO, "loading NZD configs from '%s' " + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, + "loading NZD configs from '%s' " "for view '%s'", view->new_zone_db, view->name); @@ -7896,12 +7721,11 @@ configure_newzones(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig, * this also fails, too bad, there is nothing more we can do in * terms of trying to make things right. */ - (void) for_all_newzone_cfgs(configure_newzone_revert, config, - vconfig, mctx, view, actx, txn, - dbi); + (void)for_all_newzone_cfgs(configure_newzone_revert, config, + vconfig, mctx, view, actx, txn, dbi); } - (void) nzd_close(&txn, false); + (void)nzd_close(&txn, false); return (result); } @@ -7909,25 +7733,25 @@ static isc_result_t get_newzone_config(dns_view_t *view, const char *zonename, cfg_obj_t **zoneconfig) { - isc_result_t result; - int status; - cfg_obj_t *zoneconf = NULL; - isc_buffer_t *text = NULL; - MDB_txn *txn = NULL; - MDB_dbi dbi; - MDB_val key, data; - char zname[DNS_NAME_FORMATSIZE]; + isc_result_t result; + int status; + cfg_obj_t * zoneconf = NULL; + isc_buffer_t * text = NULL; + MDB_txn * txn = NULL; + MDB_dbi dbi; + MDB_val key, data; + char zname[DNS_NAME_FORMATSIZE]; dns_fixedname_t fname; - dns_name_t *name; - isc_buffer_t b; + dns_name_t * name; + isc_buffer_t b; INSIST(zoneconfig != NULL && *zoneconfig == NULL); CHECK(nzd_open(view, MDB_RDONLY, &txn, &dbi)); - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, - ISC_LOG_INFO, "loading NZD config from '%s' " + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, + "loading NZD config from '%s' " "for zone '%s'", view->new_zone_db, zonename); @@ -7935,8 +7759,8 @@ get_newzone_config(dns_view_t *view, const char *zonename, isc_buffer_constinit(&b, zonename, strlen(zonename)); isc_buffer_add(&b, strlen(zonename)); name = dns_fixedname_initname(&fname); - CHECK(dns_name_fromtext(name, &b, dns_rootname, - DNS_NAME_DOWNCASE, NULL)); + CHECK(dns_name_fromtext(name, &b, dns_rootname, DNS_NAME_DOWNCASE, + NULL)); dns_name_format(name, zname, sizeof(zname)); key.mv_data = zname; @@ -7953,8 +7777,8 @@ get_newzone_config(dns_view_t *view, const char *zonename, zoneconf = NULL; result = ISC_R_SUCCESS; - cleanup: - (void) nzd_close(&txn, false); +cleanup: + (void)nzd_close(&txn, false); if (zoneconf != NULL) { cfg_obj_destroy(named_g_addparser, &zoneconf); @@ -7969,16 +7793,16 @@ get_newzone_config(dns_view_t *view, const char *zonename, #endif /* HAVE_LMDB */ static int -count_zones(const cfg_obj_t *conf) { - const cfg_obj_t *zonelist = NULL; +count_zones(const cfg_obj_t *conf) +{ + const cfg_obj_t * zonelist = NULL; const cfg_listelt_t *element; - int n = 0; + int n = 0; REQUIRE(conf != NULL); cfg_map_get(conf, "zone", &zonelist); - for (element = cfg_list_first(zonelist); - element != NULL; + for (element = cfg_list_first(zonelist); element != NULL; element = cfg_list_next(element)) n++; @@ -7986,15 +7810,14 @@ count_zones(const cfg_obj_t *conf) { } static isc_result_t -check_lockfile(named_server_t *server, const cfg_obj_t *config, - bool first_time) +check_lockfile(named_server_t *server, const cfg_obj_t *config, bool first_time) { - isc_result_t result; - const char *filename = NULL; + isc_result_t result; + const char * filename = NULL; const cfg_obj_t *maps[3]; const cfg_obj_t *options; const cfg_obj_t *obj; - int i; + int i; i = 0; options = NULL; @@ -8005,16 +7828,14 @@ check_lockfile(named_server_t *server, const cfg_obj_t *config, maps[i] = NULL; obj = NULL; - (void) named_config_get(maps, "lock-file", &obj); + (void)named_config_get(maps, "lock-file", &obj); if (!first_time) { if (obj != NULL && !cfg_obj_isstring(obj) && server->lockfile != NULL && strcmp(cfg_obj_asstring(obj), server->lockfile) != 0) - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_WARNING, + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, "changing 'lock-file' " "has no effect until the " "server is restarted"); @@ -8033,12 +7854,12 @@ check_lockfile(named_server_t *server, const cfg_obj_t *config, NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, "'lock-file' has no effect " "because the server was run with -X"); - server->lockfile = isc_mem_strdup(server->mctx, - named_g_defaultlockfile); + server->lockfile = isc_mem_strdup( + server->mctx, named_g_defaultlockfile); } else { filename = cfg_obj_asstring(obj); - server->lockfile = isc_mem_strdup(server->mctx, - filename); + server->lockfile = + isc_mem_strdup(server->mctx, filename); } if (server->lockfile == NULL) @@ -8047,8 +7868,8 @@ check_lockfile(named_server_t *server, const cfg_obj_t *config, if (named_g_forcelock && named_g_defaultlockfile != NULL) { INSIST(server->lockfile == NULL); - server->lockfile = isc_mem_strdup(server->mctx, - named_g_defaultlockfile); + server->lockfile = + isc_mem_strdup(server->mctx, named_g_defaultlockfile); } if (server->lockfile == NULL) @@ -8060,7 +7881,8 @@ check_lockfile(named_server_t *server, const cfg_obj_t *config, isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "could not lock %s; another named " - "process may be running", server->lockfile); + "process may be running", + server->lockfile); return (ISC_R_FAILURE); } @@ -8068,47 +7890,47 @@ static isc_result_t load_configuration(const char *filename, named_server_t *server, bool first_time) { - cfg_obj_t *config = NULL, *bindkeys = NULL; - cfg_parser_t *conf_parser = NULL, *bindkeys_parser = NULL; + cfg_obj_t * config = NULL, *bindkeys = NULL; + cfg_parser_t * conf_parser = NULL, *bindkeys_parser = NULL; const cfg_listelt_t *element; - const cfg_obj_t *builtin_views; - const cfg_obj_t *maps[3]; - const cfg_obj_t *obj; - const cfg_obj_t *options; + const cfg_obj_t * builtin_views; + const cfg_obj_t * maps[3]; + const cfg_obj_t * obj; + const cfg_obj_t * options; const cfg_obj_t *usev4ports, *avoidv4ports, *usev6ports, *avoidv6ports; const cfg_obj_t *kasps; - dns_kasp_t *kasp = NULL; - dns_kasp_t *kasp_next = NULL; - dns_kasplist_t tmpkasplist, kasplist; + dns_kasp_t * kasp = NULL; + dns_kasp_t * kasp_next = NULL; + dns_kasplist_t tmpkasplist, kasplist; const cfg_obj_t *views; - dns_view_t *view = NULL; - dns_view_t *view_next = NULL; - dns_viewlist_t tmpviewlist; - dns_viewlist_t viewlist, builtin_viewlist; - in_port_t listen_port, udpport_low, udpport_high; - int i, backlog; - int num_zones = 0; - bool exclusive = false; - isc_interval_t interval; + dns_view_t * view = NULL; + dns_view_t * view_next = NULL; + dns_viewlist_t tmpviewlist; + dns_viewlist_t viewlist, builtin_viewlist; + in_port_t listen_port, udpport_low, udpport_high; + int i, backlog; + int num_zones = 0; + bool exclusive = false; + isc_interval_t interval; isc_logconfig_t *logc = NULL; - isc_portset_t *v4portset = NULL; - isc_portset_t *v6portset = NULL; + isc_portset_t * v4portset = NULL; + isc_portset_t * v6portset = NULL; isc_resourcevalue_t nfiles; - isc_result_t result, tresult; - uint32_t heartbeat_interval; - uint32_t interface_interval; - uint32_t reserved; - uint32_t udpsize; - uint32_t transfer_message_size; - named_cache_t *nsc; - named_cachelist_t cachelist, tmpcachelist; - ns_altsecret_t *altsecret; - ns_altsecretlist_t altsecrets, tmpaltsecrets; - unsigned int maxsocks; - uint32_t softquota = 0; - uint32_t max; - unsigned int initial, idle, keepalive, advertised; - dns_aclenv_t *env = + isc_result_t result, tresult; + uint32_t heartbeat_interval; + uint32_t interface_interval; + uint32_t reserved; + uint32_t udpsize; + uint32_t transfer_message_size; + named_cache_t * nsc; + named_cachelist_t cachelist, tmpcachelist; + ns_altsecret_t * altsecret; + ns_altsecretlist_t altsecrets, tmpaltsecrets; + unsigned int maxsocks; + uint32_t softquota = 0; + uint32_t max; + unsigned int initial, idle, keepalive, advertised; + dns_aclenv_t * env = ns_interfacemgr_getaclenv(named_g_server->interfacemgr); ISC_LIST_INIT(kasplist); @@ -8147,15 +7969,13 @@ load_configuration(const char *filename, named_server_t *server, * Parse the configuration file using the new config code. */ config = NULL; - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, - ISC_LOG_INFO, "loading configuration from '%s'", - filename); - CHECK(cfg_parser_create(named_g_mctx, named_g_lctx, - &conf_parser)); + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, + "loading configuration from '%s'", filename); + CHECK(cfg_parser_create(named_g_mctx, named_g_lctx, &conf_parser)); cfg_parser_setcallback(conf_parser, directory_callback, NULL); - result = cfg_parse_file(conf_parser, filename, - &cfg_type_namedconf, &config); + result = cfg_parse_file(conf_parser, filename, &cfg_type_namedconf, + &config); CHECK(result); @@ -8188,15 +8008,16 @@ load_configuration(const char *filename, named_server_t *server, obj = NULL; result = named_config_get(maps, "bindkeys-file", &obj); INSIST(result == ISC_R_SUCCESS); - CHECKM(setstring(server, &server->bindkeysfile, - cfg_obj_asstring(obj)), "strdup"); + CHECKM(setstring(server, &server->bindkeysfile, cfg_obj_asstring(obj)), + "strdup"); INSIST(server->bindkeysfile != NULL); if (access(server->bindkeysfile, R_OK) == 0) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, "reading built-in trust anchors " - "from file '%s'", server->bindkeysfile); + "from file '%s'", + server->bindkeysfile); CHECK(cfg_parser_create(named_g_mctx, named_g_lctx, &bindkeys_parser)); @@ -8208,7 +8029,8 @@ load_configuration(const char *filename, named_server_t *server, isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, "unable to open '%s'; using built-in keys " - "instead", server->bindkeysfile); + "instead", + server->bindkeysfile); } /* Ensure exclusive access to configuration data. */ @@ -8255,9 +8077,10 @@ load_configuration(const char *filename, named_server_t *server, INSIST(result == ISC_R_SUCCESS); reserved = cfg_obj_asuint32(obj); if (maxsocks != 0) { - if (maxsocks < 128U) { /* Prevent underflow. */ + if (maxsocks < 128U) { /* Prevent underflow. */ reserved = 0; - } else if (reserved > maxsocks - 128U) { /* Minimum UDP space. */ + } else if (reserved > maxsocks - 128U) { /* Minimum UDP space. + */ reserved = maxsocks - 128; } } @@ -8392,7 +8215,8 @@ load_configuration(const char *filename, named_server_t *server, if (keepalive > MAX_TCP_TIMEOUT) { cfg_obj_log(obj, named_g_lctx, ISC_LOG_WARNING, "tcp-keepalive-timeout value is out of range: " - "lowering to %u", MAX_TCP_TIMEOUT); + "lowering to %u", + MAX_TCP_TIMEOUT); keepalive = MAX_TCP_TIMEOUT; } else if (keepalive < 1) { cfg_obj_log(obj, named_g_lctx, ISC_LOG_WARNING, @@ -8408,20 +8232,21 @@ load_configuration(const char *filename, named_server_t *server, if (advertised > MAX_TCP_TIMEOUT) { cfg_obj_log(obj, named_g_lctx, ISC_LOG_WARNING, "tcp-advertized-timeout value is out of range: " - "lowering to %u", MAX_TCP_TIMEOUT); + "lowering to %u", + MAX_TCP_TIMEOUT); advertised = MAX_TCP_TIMEOUT; } - isc_nm_tcp_settimeouts(named_g_nm, initial, idle, - keepalive, advertised); + isc_nm_tcp_settimeouts(named_g_nm, initial, idle, keepalive, + advertised); /* * Configure sets of UDP query source ports. */ - CHECKM(isc_portset_create(named_g_mctx, &v4portset), - "creating UDP port set"); - CHECKM(isc_portset_create(named_g_mctx, &v6portset), - "creating UDP port set"); + CHECKM(isc_portset_create(named_g_mctx, &v4portset), "creating UDP " + "port set"); + CHECKM(isc_portset_create(named_g_mctx, &v6portset), "creating UDP " + "port set"); usev4ports = NULL; usev6ports = NULL; @@ -8445,7 +8270,8 @@ load_configuration(const char *filename, named_server_t *server, isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, "using default UDP/IPv4 port range: " - "[%d, %d]", udpport_low, udpport_high); + "[%d, %d]", + udpport_low, udpport_high); } } (void)named_config_get(maps, "avoid-v4-udp-ports", &avoidv4ports); @@ -8470,7 +8296,8 @@ load_configuration(const char *filename, named_server_t *server, isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, "using default UDP/IPv6 port range: " - "[%d, %d]", udpport_low, udpport_high); + "[%d, %d]", + udpport_low, udpport_high); } } (void)named_config_get(maps, "avoid-v6-udp-ports", &avoidv6ports); @@ -8507,7 +8334,7 @@ load_configuration(const char *filename, named_server_t *server, transfer_message_size = 65535; } server->sctx->transfer_tcp_message_size = - (uint16_t) transfer_message_size; + (uint16_t)transfer_message_size; /* * Configure the zone manager. @@ -8582,10 +8409,9 @@ load_configuration(const char *filename, named_server_t *server, } if (clistenon != NULL) { /* check return code? */ - (void)ns_listenlist_fromconfig(clistenon, config, - named_g_aclconfctx, - named_g_mctx, AF_INET, - &listenon); + (void)ns_listenlist_fromconfig( + clistenon, config, named_g_aclconfctx, + named_g_mctx, AF_INET, &listenon); } else { /* * Not specified, use default. @@ -8611,10 +8437,9 @@ load_configuration(const char *filename, named_server_t *server, } if (clistenon != NULL) { /* check return code? */ - (void)ns_listenlist_fromconfig(clistenon, config, - named_g_aclconfctx, - named_g_mctx, AF_INET6, - &listenon); + (void)ns_listenlist_fromconfig( + clistenon, config, named_g_aclconfctx, + named_g_mctx, AF_INET6, &listenon); } else { /* * Not specified, use default. @@ -8660,13 +8485,13 @@ load_configuration(const char *filename, named_server_t *server, interface_interval = cfg_obj_asduration(obj); if (interface_interval == 0) { CHECK(isc_timer_reset(server->interface_timer, - isc_timertype_inactive, - NULL, NULL, true)); + isc_timertype_inactive, NULL, NULL, + true)); } else if (server->interface_interval != interface_interval) { isc_interval_set(&interval, interface_interval, 0); CHECK(isc_timer_reset(server->interface_timer, - isc_timertype_ticker, - NULL, &interval, false)); + isc_timertype_ticker, NULL, &interval, + false)); } server->interface_interval = interface_interval; @@ -8687,13 +8512,13 @@ load_configuration(const char *filename, named_server_t *server, heartbeat_interval = cfg_obj_asuint32(obj) * 60; if (heartbeat_interval == 0) { CHECK(isc_timer_reset(server->heartbeat_timer, - isc_timertype_inactive, - NULL, NULL, true)); + isc_timertype_inactive, NULL, NULL, + true)); } else if (server->heartbeat_interval != heartbeat_interval) { isc_interval_set(&interval, heartbeat_interval, 0); CHECK(isc_timer_reset(server->heartbeat_timer, - isc_timertype_ticker, - NULL, &interval, false)); + isc_timertype_ticker, NULL, &interval, + false)); } server->heartbeat_interval = heartbeat_interval; @@ -8736,10 +8561,8 @@ load_configuration(const char *filename, named_server_t *server, */ kasps = NULL; (void)cfg_map_get(config, "dnssec-policy", &kasps); - for (element = cfg_list_first(kasps); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(kasps); element != NULL; + element = cfg_list_next(element)) { cfg_obj_t *kconfig = cfg_listelt_value(element); kasp = NULL; CHECK(cfg_kasp_fromconfig(kconfig, named_g_mctx, named_g_lctx, @@ -8780,13 +8603,11 @@ load_configuration(const char *filename, named_server_t *server, * zone configuration context, but otherwise view configuration * waits until after the zone manager's task list has been sized. */ - for (element = cfg_list_first(views); - element != NULL; - element = cfg_list_next(element)) - { - cfg_obj_t *vconfig = cfg_listelt_value(element); + for (element = cfg_list_first(views); element != NULL; + element = cfg_list_next(element)) { + cfg_obj_t * vconfig = cfg_listelt_value(element); const cfg_obj_t *voptions = cfg_tuple_get(vconfig, "options"); - int nzf_num_zones; + int nzf_num_zones; view = NULL; @@ -8834,10 +8655,8 @@ load_configuration(const char *filename, named_server_t *server, * views that have zones were already created at parsing * time, but views with no zones must be created here. */ - for (element = cfg_list_first(views); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(views); element != NULL; + element = cfg_list_next(element)) { cfg_obj_t *vconfig = cfg_listelt_value(element); view = NULL; @@ -8856,9 +8675,9 @@ load_configuration(const char *filename, named_server_t *server, if (views == NULL) { view = NULL; CHECK(find_view(NULL, &viewlist, &view)); - CHECK(configure_view(view, &viewlist, config, NULL, - &cachelist, &server->kasplist, bindkeys, - named_g_mctx, named_g_aclconfctx, true)); + CHECK(configure_view(view, &viewlist, config, NULL, &cachelist, + &server->kasplist, bindkeys, named_g_mctx, + named_g_aclconfctx, true)); dns_view_freeze(view); dns_view_detach(&view); } @@ -8867,12 +8686,10 @@ load_configuration(const char *filename, named_server_t *server, * Create (or recreate) the built-in views. */ builtin_views = NULL; - RUNTIME_CHECK(cfg_map_get(named_g_config, "view", - &builtin_views) == ISC_R_SUCCESS); - for (element = cfg_list_first(builtin_views); - element != NULL; - element = cfg_list_next(element)) - { + RUNTIME_CHECK(cfg_map_get(named_g_config, "view", &builtin_views) == + ISC_R_SUCCESS); + for (element = cfg_list_first(builtin_views); element != NULL; + element = cfg_list_next(element)) { cfg_obj_t *vconfig = cfg_listelt_value(element); CHECK(create_view(vconfig, &builtin_viewlist, &view)); @@ -8891,10 +8708,8 @@ load_configuration(const char *filename, named_server_t *server, * Commit any dns_zone_setview() calls on all zones in the new * view. */ - for (view = ISC_LIST_HEAD(viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { + for (view = ISC_LIST_HEAD(viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { dns_view_setviewcommit(view); } @@ -8941,10 +8756,8 @@ load_configuration(const char *filename, named_server_t *server, * after relinquishing privileges them. */ if (first_time) { - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { nzd_env_close(view); } } @@ -8973,10 +8786,8 @@ load_configuration(const char *filename, named_server_t *server, * Reopen NZD databases. */ if (first_time) { - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { nzd_env_reopen(view); } } @@ -9002,38 +8813,48 @@ load_configuration(const char *filename, named_server_t *server, if (logobj != NULL) { result = named_logconfig(NULL, logobj); if (result != ISC_R_SUCCESS) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_ERROR, - "checking logging configuration " - "failed: %s", - isc_result_totext(result)); + isc_log_write( + named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, + "checking logging configuration " + "failed: %s", + isc_result_totext(result)); goto cleanup; } } } else { const cfg_obj_t *logobj = NULL; - CHECKM(isc_logconfig_create(named_g_lctx, &logc), - "creating new logging configuration"); + CHECKM(isc_logconfig_create(named_g_lctx, &logc), "creating " + "new logging " + "configuratio" + "n"); logobj = NULL; (void)cfg_map_get(config, "logging", &logobj); if (logobj != NULL) { - CHECKM(named_logconfig(logc, logobj), - "configuring logging"); + CHECKM(named_logconfig(logc, logobj), "configuring " + "logging"); } else { - CHECKM(named_log_setdefaultchannels(logc), - "setting up default logging channels"); - CHECKM(named_log_setunmatchedcategory(logc), - "setting up default 'category unmatched'"); - CHECKM(named_log_setdefaultcategory(logc), - "setting up default 'category default'"); + CHECKM(named_log_setdefaultchannels(logc), "setting up " + "default " + "logging " + "channels"); + CHECKM(named_log_setunmatchedcategory(logc), "setting " + "up " + "default " + "'category" + " unmatche" + "d'"); + CHECKM(named_log_setdefaultcategory(logc), "setting up " + "default " + "'category " + "default'"); } - CHECKM(isc_logconfig_use(named_g_lctx, logc), - "installing logging configuration"); + CHECKM(isc_logconfig_use(named_g_lctx, logc), "installing " + "logging " + "configuration"); logc = NULL; isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, @@ -9054,11 +8875,9 @@ load_configuration(const char *filename, named_server_t *server, obj = NULL; if (named_config_get(maps, "querylog", &obj) == ISC_R_SUCCESS) { - ns_server_setoption(server->sctx, - NS_SERVER_LOGQUERIES, + ns_server_setoption(server->sctx, NS_SERVER_LOGQUERIES, cfg_obj_asboolean(obj)); } else { - (void)cfg_map_get(config, "logging", &logobj); if (logobj != NULL) (void)cfg_map_get(logobj, "category", @@ -9066,19 +8885,18 @@ load_configuration(const char *filename, named_server_t *server, if (categories != NULL) { for (element = cfg_list_first(categories); element != NULL; - element = cfg_list_next(element)) - { + element = cfg_list_next(element)) { const cfg_obj_t *catobj; - const char *str; + const char * str; obj = cfg_listelt_value(element); catobj = cfg_tuple_get(obj, "name"); str = cfg_obj_asstring(catobj); if (strcasecmp(str, "queries") == 0) ns_server_setoption( - server->sctx, - NS_SERVER_LOGQUERIES, - true); + server->sctx, + NS_SERVER_LOGQUERIES, + true); } } } @@ -9086,8 +8904,7 @@ load_configuration(const char *filename, named_server_t *server, obj = NULL; if (options != NULL && - cfg_map_get(options, "memstatistics", &obj) == ISC_R_SUCCESS) - { + cfg_map_get(options, "memstatistics", &obj) == ISC_R_SUCCESS) { named_g_memstatistics = cfg_obj_asboolean(obj); } else { named_g_memstatistics = @@ -9095,8 +8912,8 @@ load_configuration(const char *filename, named_server_t *server, } obj = NULL; - if (named_config_get(maps, "memstatistics-file", &obj) == ISC_R_SUCCESS) - { + if (named_config_get(maps, "memstatistics-file", &obj) == + ISC_R_SUCCESS) { named_main_setmemstats(cfg_obj_asstring(obj)); } else if (named_g_memstatistics) { named_main_setmemstats("named.memstats"); @@ -9125,8 +8942,9 @@ load_configuration(const char *filename, named_server_t *server, obj = NULL; result = named_config_get(maps, "recursing-file", &obj); INSIST(result == ISC_R_SUCCESS); - CHECKM(setstring(server, &server->recfile, cfg_obj_asstring(obj)), - "strdup"); + CHECKM(setstring(server, &server->recfile, cfg_obj_asstring(obj)), "str" + "du" + "p"); obj = NULL; result = named_config_get(maps, "version", &obj); @@ -9190,16 +9008,14 @@ load_configuration(const char *filename, named_server_t *server, obj = NULL; result = named_config_get(maps, "cookie-secret", &obj); if (result == ISC_R_SUCCESS) { - const char *str; - bool first = true; + const char * str; + bool first = true; isc_buffer_t b; unsigned int usedlength; unsigned int expectedlength; - for (element = cfg_list_first(obj); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(obj); element != NULL; + element = cfg_list_next(element)) { obj = cfg_listelt_value(element); str = cfg_obj_asstring(obj); @@ -9210,8 +9026,7 @@ load_configuration(const char *filename, named_server_t *server, sizeof(server->sctx->secret)); result = isc_hex_decodestring(str, &b); if (result != ISC_R_SUCCESS && - result != ISC_R_NOSPACE) - { + result != ISC_R_NOSPACE) { goto cleanup; } first = false; @@ -9222,15 +9037,14 @@ load_configuration(const char *filename, named_server_t *server, sizeof(altsecret->secret)); result = isc_hex_decodestring(str, &b); if (result != ISC_R_SUCCESS && - result != ISC_R_NOSPACE) - { + result != ISC_R_NOSPACE) { isc_mem_put(server->sctx->mctx, altsecret, sizeof(*altsecret)); goto cleanup; } - ISC_LIST_INITANDAPPEND(altsecrets, - altsecret, link); + ISC_LIST_INITANDAPPEND(altsecrets, altsecret, + link); } usedlength = isc_buffer_usedlength(&b); @@ -9238,15 +9052,16 @@ load_configuration(const char *filename, named_server_t *server, case ns_cookiealg_siphash24: expectedlength = ISC_SIPHASH24_KEY_LENGTH; if (usedlength != expectedlength) { - CHECKM(ISC_R_RANGE, - "SipHash-2-4 cookie-secret must be 128 bits"); + CHECKM(ISC_R_RANGE, "SipHash-2-4 " + "cookie-secret " + "must be 128 bits"); } break; case ns_cookiealg_aes: expectedlength = ISC_AES128_KEYLENGTH; if (usedlength != expectedlength) { - CHECKM(ISC_R_RANGE, - "AES cookie-secret must be 128 bits"); + CHECKM(ISC_R_RANGE, "AES cookie-secret " + "must be 128 bits"); } break; } @@ -9263,15 +9078,14 @@ load_configuration(const char *filename, named_server_t *server, server->sctx->altsecrets = altsecrets; altsecrets = tmpaltsecrets; - (void) named_server_loadnta(server); + (void)named_server_loadnta(server); #ifdef USE_DNSRPS /* * Start and connect to the DNS Response Policy Service * daemon, dnsrpzd, for each view that uses DNSRPS. */ - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; view = ISC_LIST_NEXT(view, link)) { result = dns_dnsrps_connect(view->rpzs); if (result != ISC_R_SUCCESS) { @@ -9283,7 +9097,7 @@ load_configuration(const char *filename, named_server_t *server, result = ISC_R_SUCCESS; - cleanup: +cleanup: if (logc != NULL) { isc_logconfig_destroy(&logc); } @@ -9325,17 +9139,14 @@ load_configuration(const char *filename, named_server_t *server, * or our temporary list depending on whether they * were swapped above or not. */ - for (view = ISC_LIST_HEAD(viewlist); - view != NULL; - view = view_next) { + for (view = ISC_LIST_HEAD(viewlist); view != NULL; view = view_next) { view_next = ISC_LIST_NEXT(view, link); ISC_LIST_UNLINK(viewlist, view, link); if (result == ISC_R_SUCCESS && - strcmp(view->name, "_bind") != 0) - { + strcmp(view->name, "_bind") != 0) { dns_view_setviewrevert(view); - (void)dns_zt_apply(view->zonetable, false, - NULL, removed, view); + (void)dns_zt_apply(view->zonetable, false, NULL, + removed, view); } dns_view_detach(&view); } @@ -9386,19 +9197,18 @@ load_configuration(const char *filename, named_server_t *server, isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_DEBUG(1), - "load_configuration: %s", - isc_result_totext(result)); + "load_configuration: %s", isc_result_totext(result)); return (result); } static isc_result_t -view_loaded(void *arg) { - isc_result_t result; - ns_zoneload_t *zl = (ns_zoneload_t *) arg; +view_loaded(void *arg) +{ + isc_result_t result; + ns_zoneload_t * zl = (ns_zoneload_t *)arg; named_server_t *server = zl->server; - bool reconfig = zl->reconfig; - + bool reconfig = zl->reconfig; /* * Force zone maintenance. Do this after loading @@ -9409,9 +9219,8 @@ view_loaded(void *arg) { * know when all views are finished. */ if (isc_refcount_decrement(&zl->refs) == 1) { - isc_refcount_destroy(&zl->refs); - isc_mem_put(server->mctx, zl, sizeof (*zl)); + isc_mem_put(server->mctx, zl, sizeof(*zl)); /* * To maintain compatibility with log parsing tools that might @@ -9421,15 +9230,18 @@ view_loaded(void *arg) { if (reconfig) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, - "any newly configured zones are now loaded"); + "any newly configured zones are now " + "loaded"); } else { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_NOTICE, "all zones loaded"); } - CHECKFATAL(dns_zonemgr_forcemaint(server->zonemgr), - "forcing zone maintenance"); + CHECKFATAL(dns_zonemgr_forcemaint(server->zonemgr), "forcing " + "zone " + "maintenanc" + "e"); named_os_started(); @@ -9450,9 +9262,10 @@ view_loaded(void *arg) { } static isc_result_t -load_zones(named_server_t *server, bool init, bool reconfig) { - isc_result_t result; - dns_view_t *view; +load_zones(named_server_t *server, bool init, bool reconfig) +{ + isc_result_t result; + dns_view_t * view; ns_zoneload_t *zl; zl = isc_mem_get(server->mctx, sizeof(*zl)); @@ -9467,10 +9280,8 @@ load_zones(named_server_t *server, bool init, bool reconfig) { /* * Schedule zones to be loaded from disk. */ - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { if (view->managed_keys != NULL) { result = dns_zone_load(view->managed_keys, false); if (result != ISC_R_SUCCESS && @@ -9498,10 +9309,10 @@ load_zones(named_server_t *server, bool init, bool reconfig) { } } - cleanup: +cleanup: if (isc_refcount_decrement(&zl->refs) == 1) { isc_refcount_destroy(&zl->refs); - isc_mem_put(server->mctx, zl, sizeof (*zl)); + isc_mem_put(server->mctx, zl, sizeof(*zl)); } else if (init) { /* * Place the task manager into privileged mode. This @@ -9519,9 +9330,10 @@ load_zones(named_server_t *server, bool init, bool reconfig) { } static void -run_server(isc_task_t *task, isc_event_t *event) { - isc_result_t result; - named_server_t *server = (named_server_t *)event->ev_arg; +run_server(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result; + named_server_t * server = (named_server_t *)event->ev_arg; dns_geoip_databases_t *geoip; INSIST(task == server->task); @@ -9539,25 +9351,23 @@ run_server(isc_task_t *task, isc_event_t *event) { geoip = NULL; #endif - CHECKFATAL(ns_interfacemgr_create(named_g_mctx, server->sctx, - named_g_taskmgr, named_g_timermgr, - named_g_socketmgr, - named_g_nm, - named_g_dispatchmgr, - server->task, named_g_udpdisp, geoip, - &server->interfacemgr), + CHECKFATAL(ns_interfacemgr_create( + named_g_mctx, server->sctx, named_g_taskmgr, + named_g_timermgr, named_g_socketmgr, named_g_nm, + named_g_dispatchmgr, server->task, named_g_udpdisp, + geoip, &server->interfacemgr), "creating interface manager"); CHECKFATAL(isc_timer_create(named_g_timermgr, isc_timertype_inactive, NULL, NULL, server->task, - interface_timer_tick, - server, &server->interface_timer), + interface_timer_tick, server, + &server->interface_timer), "creating interface timer"); CHECKFATAL(isc_timer_create(named_g_timermgr, isc_timertype_inactive, NULL, NULL, server->task, - heartbeat_timer_tick, - server, &server->heartbeat_timer), + heartbeat_timer_tick, server, + &server->heartbeat_timer), "creating heartbeat timer"); CHECKFATAL(isc_timer_create(named_g_timermgr, isc_timertype_inactive, @@ -9570,16 +9380,18 @@ run_server(isc_task_t *task, isc_event_t *event) { server, &server->pps_timer), "creating pps timer"); - CHECKFATAL(cfg_parser_create(named_g_mctx, named_g_lctx, - &named_g_parser), - "creating default configuration parser"); + CHECKFATAL( + cfg_parser_create(named_g_mctx, named_g_lctx, &named_g_parser), + "creating default configuration parser"); CHECKFATAL(cfg_parser_create(named_g_mctx, named_g_lctx, &named_g_addparser), "creating additional configuration parser"); - CHECKFATAL(load_configuration(named_g_conffile, server, true), - "loading configuration"); + CHECKFATAL(load_configuration(named_g_conffile, server, true), "loading" + " config" + "uratio" + "n"); CHECKFATAL(load_zones(server, true, false), "loading zones"); #ifdef ENABLE_AFL @@ -9588,20 +9400,22 @@ run_server(isc_task_t *task, isc_event_t *event) { } void -named_server_flushonshutdown(named_server_t *server, bool flush) { +named_server_flushonshutdown(named_server_t *server, bool flush) +{ REQUIRE(NAMED_SERVER_VALID(server)); server->flushonshutdown = flush; } static void -shutdown_server(isc_task_t *task, isc_event_t *event) { - isc_result_t result; - dns_view_t *view, *view_next = NULL; - dns_kasp_t *kasp, *kasp_next = NULL; +shutdown_server(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result; + dns_view_t * view, *view_next = NULL; + dns_kasp_t * kasp, *kasp_next = NULL; named_server_t *server = (named_server_t *)event->ev_arg; - bool flush = server->flushonshutdown; - named_cache_t *nsc; + bool flush = server->flushonshutdown; + named_cache_t * nsc; UNUSED(task); INSIST(task == server->task); @@ -9616,8 +9430,7 @@ shutdown_server(isc_task_t *task, isc_event_t *event) { RUNTIME_CHECK(result == ISC_R_SUCCESS); isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, - "shutting down%s", + NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, "shutting down%s", flush ? ": flushing changes" : ""); named_statschannels_shutdown(server); @@ -9632,19 +9445,17 @@ shutdown_server(isc_task_t *task, isc_event_t *event) { cfg_parser_destroy(&named_g_parser); cfg_parser_destroy(&named_g_addparser); - (void) named_server_saventa(server); + (void)named_server_saventa(server); for (kasp = ISC_LIST_HEAD(server->kasplist); kasp != NULL; - kasp = kasp_next) - { + kasp = kasp_next) { kasp_next = ISC_LIST_NEXT(kasp, link); ISC_LIST_UNLINK(server->kasplist, kasp, link); dns_kasp_detach(&kasp); } for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; - view = view_next) - { + view = view_next) { view_next = ISC_LIST_NEXT(view, link); ISC_LIST_UNLINK(server->viewlist, view, link); if (flush) @@ -9706,13 +9517,10 @@ get_matching_view(isc_netaddr_t *srcaddr, isc_netaddr_t *destaddr, REQUIRE(sigresult != NULL); REQUIRE(viewp != NULL && *viewp == NULL); - for (view = ISC_LIST_HEAD(named_g_server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { + for (view = ISC_LIST_HEAD(named_g_server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { if (message->rdclass == view->rdclass || - message->rdclass == dns_rdataclass_any) - { + message->rdclass == dns_rdataclass_any) { const dns_name_t *tsig = NULL; *sigresult = dns_message_rechecksig(message, view); @@ -9723,13 +9531,12 @@ get_matching_view(isc_netaddr_t *srcaddr, isc_netaddr_t *destaddr, tsig = dns_tsigkey_identity(tsigkey); } - if (dns_acl_allowed(srcaddr, tsig, - view->matchclients, env) && + if (dns_acl_allowed(srcaddr, tsig, view->matchclients, + env) && dns_acl_allowed(destaddr, tsig, view->matchdestinations, env) && !(view->matchrecursiveonly && - (message->flags & DNS_MESSAGEFLAG_RD) == 0)) - { + (message->flags & DNS_MESSAGEFLAG_RD) == 0)) { dns_view_attach(view, viewp); return (ISC_R_SUCCESS); } @@ -9740,8 +9547,9 @@ get_matching_view(isc_netaddr_t *srcaddr, isc_netaddr_t *destaddr, } void -named_server_create(isc_mem_t *mctx, named_server_t **serverp) { - isc_result_t result; +named_server_create(isc_mem_t *mctx, named_server_t **serverp) +{ + isc_result_t result; named_server_t *server = isc_mem_get(mctx, sizeof(*server)); if (server == NULL) @@ -9752,8 +9560,8 @@ named_server_create(isc_mem_t *mctx, named_server_t **serverp) { server->zonemgr = NULL; #ifdef USE_DNSRPS - CHECKFATAL(dns_dnsrps_server_create(), - "initializing RPZ service interface"); + CHECKFATAL(dns_dnsrps_server_create(), "initializing RPZ service " + "interface"); #endif /* Initialize server data structures. */ @@ -9763,8 +9571,8 @@ named_server_create(isc_mem_t *mctx, named_server_t **serverp) { server->in_roothints = NULL; /* Must be first. */ - CHECKFATAL(dst_lib_init(named_g_mctx, named_g_engine), - "initializing DST"); + CHECKFATAL(dst_lib_init(named_g_mctx, named_g_engine), "initializing " + "DST"); CHECKFATAL(dns_rootns_create(mctx, dns_rdataclass_in, NULL, &server->in_roothints), @@ -9772,14 +9580,11 @@ named_server_create(isc_mem_t *mctx, named_server_t **serverp) { isc_mutex_init(&server->reload_event_lock); - server->reload_event = - isc_event_allocate(named_g_mctx, server, - NAMED_EVENT_RELOAD, - named_server_reload, - server, - sizeof(isc_event_t)); - CHECKFATAL(server->reload_event == NULL ? - ISC_R_NOMEMORY : ISC_R_SUCCESS, + server->reload_event = isc_event_allocate( + named_g_mctx, server, NAMED_EVENT_RELOAD, named_server_reload, + server, sizeof(isc_event_t)); + CHECKFATAL(server->reload_event == NULL ? ISC_R_NOMEMORY + : ISC_R_SUCCESS, "allocating reload event"); server->reload_status = NAMED_RELOAD_IN_PROGRESS; @@ -9788,14 +9593,15 @@ named_server_create(isc_mem_t *mctx, named_server_t **serverp) { * startup and shutdown of the server, as well as all exclusive * tasks. */ - CHECKFATAL(isc_task_create(named_g_taskmgr, 0, &server->task), - "creating server task"); + CHECKFATAL(isc_task_create(named_g_taskmgr, 0, &server->task), "creatin" + "g " + "server " + "task"); isc_task_setname(server->task, "server", server); isc_taskmgr_setexcltask(named_g_taskmgr, server->task); server->sctx = NULL; - CHECKFATAL(ns_server_create(mctx, get_matching_view, - &server->sctx), + CHECKFATAL(ns_server_create(mctx, get_matching_view, &server->sctx), "creating server context"); #if defined(HAVE_GEOIP2) @@ -9814,9 +9620,9 @@ named_server_create(isc_mem_t *mctx, named_server_t **serverp) { CHECKFATAL(isc_task_onshutdown(server->task, shutdown_server, server), "isc_task_onshutdown"); - CHECKFATAL(isc_app_onrun(named_g_mctx, server->task, - run_server, server), - "isc_app_onrun"); + CHECKFATAL( + isc_app_onrun(named_g_mctx, server->task, run_server, server), + "isc_app_onrun"); server->interface_timer = NULL; server->heartbeat_timer = NULL; @@ -9830,17 +9636,17 @@ named_server_create(isc_mem_t *mctx, named_server_t **serverp) { named_g_timermgr, named_g_socketmgr, &server->zonemgr), "dns_zonemgr_create"); - CHECKFATAL(dns_zonemgr_setsize(server->zonemgr, 1000), - "dns_zonemgr_setsize"); + CHECKFATAL(dns_zonemgr_setsize(server->zonemgr, 1000), "dns_zonemgr_" + "setsize"); server->statsfile = isc_mem_strdup(server->mctx, "named.stats"); CHECKFATAL(server->statsfile == NULL ? ISC_R_NOMEMORY : ISC_R_SUCCESS, "isc_mem_strdup"); - server->bindkeysfile = isc_mem_strdup(server->mctx, - named_g_defaultbindkeys); - CHECKFATAL(server->bindkeysfile == NULL ? ISC_R_NOMEMORY : - ISC_R_SUCCESS, + server->bindkeysfile = + isc_mem_strdup(server->mctx, named_g_defaultbindkeys); + CHECKFATAL(server->bindkeysfile == NULL ? ISC_R_NOMEMORY + : ISC_R_SUCCESS, "isc_mem_strdup"); server->dumpfile = isc_mem_strdup(server->mctx, "named_dump.db"); @@ -9848,8 +9654,8 @@ named_server_create(isc_mem_t *mctx, named_server_t **serverp) { "isc_mem_strdup"); server->secrootsfile = isc_mem_strdup(server->mctx, "named.secroots"); - CHECKFATAL(server->secrootsfile == NULL ? ISC_R_NOMEMORY : - ISC_R_SUCCESS, + CHECKFATAL(server->secrootsfile == NULL ? ISC_R_NOMEMORY + : ISC_R_SUCCESS, "isc_mem_strdup"); server->recfile = isc_mem_strdup(server->mctx, "named.recursing"); @@ -9881,8 +9687,9 @@ named_server_create(isc_mem_t *mctx, named_server_t **serverp) { server->flushonshutdown = false; server->controls = NULL; - CHECKFATAL(named_controls_create(server, &server->controls), - "named_controls_create"); + CHECKFATAL(named_controls_create(server, &server->controls), "named_" + "controls_" + "create"); server->dispatchgen = 0; ISC_LIST_INIT(server->dispatches); @@ -9905,7 +9712,8 @@ named_server_create(isc_mem_t *mctx, named_server_t **serverp) { } void -named_server_destroy(named_server_t **serverp) { +named_server_destroy(named_server_t **serverp) +{ named_server_t *server = *serverp; REQUIRE(NAMED_SERVER_VALID(server)); @@ -9957,7 +9765,8 @@ named_server_destroy(named_server_t **serverp) { } static void -fatal(named_server_t *server, const char *msg, isc_result_t result) { +fatal(named_server_t *server, const char *msg, isc_result_t result) +{ if (server != NULL) { /* * Prevent races between the OpenSSL on_exit registered @@ -9967,8 +9776,8 @@ fatal(named_server_t *server, const char *msg, isc_result_t result) { (void)isc_task_beginexclusive(server->task); } isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, ISC_LOG_CRITICAL, - "%s: %s", msg, isc_result_totext(result)); + NAMED_LOGMODULE_SERVER, ISC_LOG_CRITICAL, "%s: %s", msg, + isc_result_totext(result)); isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_CRITICAL, "exiting (due to fatal error)"); @@ -9977,24 +9786,24 @@ fatal(named_server_t *server, const char *msg, isc_result_t result) { } static void -start_reserved_dispatches(named_server_t *server) { - +start_reserved_dispatches(named_server_t *server) +{ REQUIRE(NAMED_SERVER_VALID(server)); server->dispatchgen++; } static void -end_reserved_dispatches(named_server_t *server, bool all) { +end_reserved_dispatches(named_server_t *server, bool all) +{ named_dispatch_t *dispatch, *nextdispatch; REQUIRE(NAMED_SERVER_VALID(server)); - for (dispatch = ISC_LIST_HEAD(server->dispatches); - dispatch != NULL; + for (dispatch = ISC_LIST_HEAD(server->dispatches); dispatch != NULL; dispatch = nextdispatch) { nextdispatch = ISC_LIST_NEXT(dispatch, link); - if (!all && server->dispatchgen == dispatch-> dispatchgen) + if (!all && server->dispatchgen == dispatch->dispatchgen) continue; ISC_LIST_UNLINK(server->dispatches, dispatch, link); dns_dispatch_detach(&dispatch->dispatch); @@ -10003,14 +9812,13 @@ end_reserved_dispatches(named_server_t *server, bool all) { } void -named_add_reserved_dispatch(named_server_t *server, - const isc_sockaddr_t *addr) +named_add_reserved_dispatch(named_server_t *server, const isc_sockaddr_t *addr) { named_dispatch_t *dispatch; - in_port_t port; - char addrbuf[ISC_SOCKADDR_FORMATSIZE]; - isc_result_t result; - unsigned int attrs, attrmask; + in_port_t port; + char addrbuf[ISC_SOCKADDR_FORMATSIZE]; + isc_result_t result; + unsigned int attrs, attrmask; REQUIRE(NAMED_SERVER_VALID(server)); @@ -10018,8 +9826,7 @@ named_add_reserved_dispatch(named_server_t *server, if (port == 0 || port >= 1024) return; - for (dispatch = ISC_LIST_HEAD(server->dispatches); - dispatch != NULL; + for (dispatch = ISC_LIST_HEAD(server->dispatches); dispatch != NULL; dispatch = ISC_LIST_NEXT(dispatch, link)) { if (isc_sockaddr_equal(&dispatch->addr, addr)) break; @@ -10056,8 +9863,8 @@ named_add_reserved_dispatch(named_server_t *server, result = dns_dispatch_getudp(named_g_dispatchmgr, named_g_socketmgr, named_g_taskmgr, &dispatch->addr, 4096, - UDPBUFFERS, 32768, 16411, 16433, - attrs, attrmask, &dispatch->dispatch); + UDPBUFFERS, 32768, 16411, 16433, attrs, + attrmask, &dispatch->dispatch); if (result != ISC_R_SUCCESS) goto cleanup; @@ -10065,7 +9872,7 @@ named_add_reserved_dispatch(named_server_t *server, return; - cleanup: +cleanup: isc_mem_put(server->mctx, dispatch, sizeof(*dispatch)); isc_sockaddr_format(addr, addrbuf, sizeof(addrbuf)); isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, @@ -10074,9 +9881,9 @@ named_add_reserved_dispatch(named_server_t *server, addrbuf, isc_result_totext(result)); } - static isc_result_t -loadconfig(named_server_t *server) { +loadconfig(named_server_t *server) +{ isc_result_t result; start_reserved_dispatches(server); result = load_configuration(named_g_conffile, server, false); @@ -10097,7 +9904,8 @@ loadconfig(named_server_t *server) { } static isc_result_t -reload(named_server_t *server) { +reload(named_server_t *server) +{ isc_result_t result; server->reload_status = NAMED_RELOAD_IN_PROGRESS; CHECK(loadconfig(server)); @@ -10114,7 +9922,7 @@ reload(named_server_t *server) { isc_result_totext(result)); server->reload_status = NAMED_RELOAD_FAILED; } - cleanup: +cleanup: return (result); } @@ -10122,7 +9930,8 @@ reload(named_server_t *server) { * Handle a reload event (from SIGHUP). */ static void -named_server_reload(isc_task_t *task, isc_event_t *event) { +named_server_reload(isc_task_t *task, isc_event_t *event) +{ named_server_t *server = (named_server_t *)event->ev_arg; INSIST(task == server->task); @@ -10140,7 +9949,8 @@ named_server_reload(isc_task_t *task, isc_event_t *event) { } void -named_server_reloadwanted(named_server_t *server) { +named_server_reloadwanted(named_server_t *server) +{ LOCK(&server->reload_event_lock); if (server->reload_event != NULL) isc_task_send(server->task, &server->reload_event); @@ -10148,7 +9958,8 @@ named_server_reloadwanted(named_server_t *server) { } void -named_server_scan_interfaces(named_server_t *server) { +named_server_scan_interfaces(named_server_t *server) +{ isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_DEBUG(1), "automatic interface rescan"); @@ -10166,32 +9977,33 @@ named_server_scan_interfaces(named_server_t *server) { * call to next_token(). */ static char * -next_token(isc_lex_t *lex, isc_buffer_t **text) { +next_token(isc_lex_t *lex, isc_buffer_t **text) +{ isc_result_t result; - isc_token_t token; + isc_token_t token; token.type = isc_tokentype_unknown; - result = isc_lex_gettoken(lex, ISC_LEXOPT_EOF|ISC_LEXOPT_QSTRING, + result = isc_lex_gettoken(lex, ISC_LEXOPT_EOF | ISC_LEXOPT_QSTRING, &token); switch (result) { case ISC_R_NOMORE: - (void) isc_lex_close(lex); + (void)isc_lex_close(lex); break; case ISC_R_SUCCESS: if (token.type == isc_tokentype_eof) - (void) isc_lex_close(lex); + (void)isc_lex_close(lex); break; case ISC_R_NOSPACE: if (text != NULL) { - (void) putstr(text, "token too large"); - (void) putnull(text); + (void)putstr(text, "token too large"); + (void)putnull(text); } return (NULL); default: if (text != NULL) { - (void) putstr(text, isc_result_totext(result)); - (void) putnull(text); + (void)putstr(text, isc_result_totext(result)); + (void)putnull(text); } return (NULL); } @@ -10217,20 +10029,20 @@ next_token(isc_lex_t *lex, isc_buffer_t **text) { */ static isc_result_t zone_from_args(named_server_t *server, isc_lex_t *lex, const char *zonetxt, - dns_zone_t **zonep, char *zonename, - isc_buffer_t **text, bool skip) + dns_zone_t **zonep, char *zonename, isc_buffer_t **text, + bool skip) { - char *ptr; - char *classtxt; - const char *viewtxt = NULL; - dns_fixedname_t fname; - dns_name_t *name; - isc_result_t result; - dns_view_t *view = NULL; + char * ptr; + char * classtxt; + const char * viewtxt = NULL; + dns_fixedname_t fname; + dns_name_t * name; + isc_result_t result; + dns_view_t * view = NULL; dns_rdataclass_t rdclass; - char problem[DNS_NAME_FORMATSIZE + 500] = ""; - char zonebuf[DNS_NAME_FORMATSIZE]; - bool redirect = false; + char problem[DNS_NAME_FORMATSIZE + 500] = ""; + char zonebuf[DNS_NAME_FORMATSIZE]; + bool redirect = false; REQUIRE(zonep != NULL && *zonep == NULL); @@ -10278,11 +10090,8 @@ zone_from_args(named_server_t *server, isc_lex_t *lex, const char *zonetxt, if (redirect) { result = dns_viewlist_find(&server->viewlist, "_default", - dns_rdataclass_in, - &view); - if (result != ISC_R_SUCCESS || - view->redirect == NULL) - { + dns_rdataclass_in, &view); + if (result != ISC_R_SUCCESS || view->redirect == NULL) { result = ISC_R_NOTFOUND; snprintf(problem, sizeof(problem), "redirect zone not found in " @@ -10292,9 +10101,9 @@ zone_from_args(named_server_t *server, isc_lex_t *lex, const char *zonetxt, result = ISC_R_SUCCESS; } } else { - result = dns_viewlist_findzone(&server->viewlist, - name, (classtxt == NULL), - rdclass, zonep); + result = dns_viewlist_findzone(&server->viewlist, name, + (classtxt == NULL), + rdclass, zonep); if (result == ISC_R_NOTFOUND) snprintf(problem, sizeof(problem), "no matching zone '%s' in any view", @@ -10302,11 +10111,12 @@ zone_from_args(named_server_t *server, isc_lex_t *lex, const char *zonetxt, else if (result == ISC_R_MULTIPLE) snprintf(problem, sizeof(problem), "zone '%s' was found in multiple " - "views", zonebuf); + "views", + zonebuf); } } else { - result = dns_viewlist_find(&server->viewlist, viewtxt, - rdclass, &view); + result = dns_viewlist_find(&server->viewlist, viewtxt, rdclass, + &view); if (result != ISC_R_SUCCESS) { snprintf(problem, sizeof(problem), "no matching view '%s'", viewtxt); @@ -10320,12 +10130,12 @@ zone_from_args(named_server_t *server, isc_lex_t *lex, const char *zonetxt, } else result = ISC_R_NOTFOUND; } else - result = dns_zt_find(view->zonetable, name, 0, - NULL, zonep); + result = dns_zt_find(view->zonetable, name, 0, NULL, + zonep); if (result != ISC_R_SUCCESS) snprintf(problem, sizeof(problem), - "no matching zone '%s' in view '%s'", - zonebuf, viewtxt); + "no matching zone '%s' in view '%s'", zonebuf, + viewtxt); } /* Partial match? */ @@ -10333,16 +10143,16 @@ zone_from_args(named_server_t *server, isc_lex_t *lex, const char *zonetxt, dns_zone_detach(zonep); if (result == DNS_R_PARTIALMATCH) result = ISC_R_NOTFOUND; - report: +report: if (result != ISC_R_SUCCESS) { isc_result_t tresult; tresult = putstr(text, problem); if (tresult == ISC_R_SUCCESS) - (void) putnull(text); + (void)putnull(text); } - cleanup: +cleanup: if (view != NULL) dns_view_detach(&view); @@ -10356,13 +10166,12 @@ isc_result_t named_server_retransfercommand(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { - isc_result_t result; - dns_zone_t *zone = NULL; - dns_zone_t *raw = NULL; + isc_result_t result; + dns_zone_t * zone = NULL; + dns_zone_t * raw = NULL; dns_zonetype_t type; - result = zone_from_args(server, lex, NULL, &zone, NULL, - text, true); + result = zone_from_args(server, lex, NULL, &zone, NULL, text, true); if (result != ISC_R_SUCCESS) return (result); if (zone == NULL) @@ -10392,13 +10201,12 @@ isc_result_t named_server_reloadcommand(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { - isc_result_t result; - dns_zone_t *zone = NULL; + isc_result_t result; + dns_zone_t * zone = NULL; dns_zonetype_t type; - const char *msg = NULL; + const char * msg = NULL; - result = zone_from_args(server, lex, NULL, &zone, NULL, - text, true); + result = zone_from_args(server, lex, NULL, &zone, NULL, text, true); if (result != ISC_R_SUCCESS) return (result); if (zone == NULL) { @@ -10408,8 +10216,7 @@ named_server_reloadcommand(named_server_t *server, isc_lex_t *lex, } else { type = dns_zone_gettype(zone); if (type == dns_zone_slave || type == dns_zone_mirror || - type == dns_zone_stub) - { + type == dns_zone_stub) { dns_zone_refresh(zone); dns_zone_detach(&zone); msg = "zone refresh queued"; @@ -10418,8 +10225,8 @@ named_server_reloadcommand(named_server_t *server, isc_lex_t *lex, dns_zone_detach(&zone); switch (result) { case ISC_R_SUCCESS: - msg = "zone reload successful"; - break; + msg = "zone reload successful"; + break; case DNS_R_CONTINUE: msg = "zone reload queued"; result = ISC_R_SUCCESS; @@ -10435,8 +10242,8 @@ named_server_reloadcommand(named_server_t *server, isc_lex_t *lex, } } if (msg != NULL) { - (void) putstr(text, msg); - (void) putnull(text); + (void)putstr(text, msg); + (void)putnull(text); } return (result); } @@ -10445,7 +10252,8 @@ named_server_reloadcommand(named_server_t *server, isc_lex_t *lex, * Act on a "reconfig" command from the command channel. */ isc_result_t -named_server_reconfigcommand(named_server_t *server) { +named_server_reconfigcommand(named_server_t *server) +{ isc_result_t result; server->reload_status = NAMED_RELOAD_IN_PROGRESS; @@ -10475,11 +10283,10 @@ named_server_notifycommand(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { isc_result_t result; - dns_zone_t *zone = NULL; - const char msg[] = "zone notify queued"; + dns_zone_t * zone = NULL; + const char msg[] = "zone notify queued"; - result = zone_from_args(server, lex, NULL, &zone, NULL, - text, true); + result = zone_from_args(server, lex, NULL, &zone, NULL, text, true); if (result != ISC_R_SUCCESS) return (result); if (zone == NULL) @@ -10487,8 +10294,8 @@ named_server_notifycommand(named_server_t *server, isc_lex_t *lex, dns_zone_notify(zone); dns_zone_detach(&zone); - (void) putstr(text, msg); - (void) putnull(text); + (void)putstr(text, msg); + (void)putnull(text); return (ISC_R_SUCCESS); } @@ -10500,14 +10307,13 @@ isc_result_t named_server_refreshcommand(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { - isc_result_t result; - dns_zone_t *zone = NULL, *raw = NULL; - const char msg1[] = "zone refresh queued"; - const char msg2[] = "not a slave, mirror, or stub zone"; + isc_result_t result; + dns_zone_t * zone = NULL, *raw = NULL; + const char msg1[] = "zone refresh queued"; + const char msg2[] = "not a slave, mirror, or stub zone"; dns_zonetype_t type; - result = zone_from_args(server, lex, NULL, &zone, NULL, - text, true); + result = zone_from_args(server, lex, NULL, &zone, NULL, text, true); if (result != ISC_R_SUCCESS) return (result); if (zone == NULL) @@ -10522,24 +10328,24 @@ named_server_refreshcommand(named_server_t *server, isc_lex_t *lex, type = dns_zone_gettype(zone); if (type == dns_zone_slave || type == dns_zone_mirror || - type == dns_zone_stub) - { + type == dns_zone_stub) { dns_zone_refresh(zone); dns_zone_detach(&zone); - (void) putstr(text, msg1); - (void) putnull(text); + (void)putstr(text, msg1); + (void)putnull(text); return (ISC_R_SUCCESS); } dns_zone_detach(&zone); - (void) putstr(text, msg2); - (void) putnull(text); + (void)putstr(text, msg2); + (void)putnull(text); return (ISC_R_FAILURE); } isc_result_t -named_server_togglequerylog(named_server_t *server, isc_lex_t *lex) { - bool prev, value; +named_server_togglequerylog(named_server_t *server, isc_lex_t *lex) +{ + bool prev, value; char *ptr; /* Skip the command name. */ @@ -10578,9 +10384,9 @@ ns_listenlist_fromconfig(const cfg_obj_t *listenlist, const cfg_obj_t *config, cfg_aclconfctx_t *actx, isc_mem_t *mctx, uint16_t family, ns_listenlist_t **target) { - isc_result_t result; + isc_result_t result; const cfg_listelt_t *element; - ns_listenlist_t *dlist = NULL; + ns_listenlist_t * dlist = NULL; REQUIRE(target != NULL && *target == NULL); @@ -10588,14 +10394,12 @@ ns_listenlist_fromconfig(const cfg_obj_t *listenlist, const cfg_obj_t *config, if (result != ISC_R_SUCCESS) return (result); - for (element = cfg_list_first(listenlist); - element != NULL; - element = cfg_list_next(element)) - { - ns_listenelt_t *delt = NULL; + for (element = cfg_list_first(listenlist); element != NULL; + element = cfg_list_next(element)) { + ns_listenelt_t * delt = NULL; const cfg_obj_t *listener = cfg_listelt_value(element); - result = ns_listenelt_fromconfig(listener, config, actx, - mctx, family, &delt); + result = ns_listenelt_fromconfig(listener, config, actx, mctx, + family, &delt); if (result != ISC_R_SUCCESS) goto cleanup; ISC_LIST_APPEND(dlist->elts, delt, link); @@ -10603,7 +10407,7 @@ ns_listenlist_fromconfig(const cfg_obj_t *listenlist, const cfg_obj_t *config, *target = dlist; return (ISC_R_SUCCESS); - cleanup: +cleanup: ns_listenlist_detach(&dlist); return (result); } @@ -10617,11 +10421,11 @@ ns_listenelt_fromconfig(const cfg_obj_t *listener, const cfg_obj_t *config, cfg_aclconfctx_t *actx, isc_mem_t *mctx, uint16_t family, ns_listenelt_t **target) { - isc_result_t result; + isc_result_t result; const cfg_obj_t *portobj, *dscpobj; - in_port_t port; - isc_dscp_t dscp = -1; - ns_listenelt_t *delt = NULL; + in_port_t port; + isc_dscp_t dscp = -1; + ns_listenelt_t * delt = NULL; REQUIRE(target != NULL && *target == NULL); portobj = cfg_tuple_get(listener, "port"); @@ -10660,9 +10464,9 @@ ns_listenelt_fromconfig(const cfg_obj_t *listener, const cfg_obj_t *config, if (result != ISC_R_SUCCESS) return (result); - result = cfg_acl_fromconfig2(cfg_tuple_get(listener, "acl"), - config, named_g_lctx, actx, mctx, 0, - family, &delt->acl); + result = cfg_acl_fromconfig2(cfg_tuple_get(listener, "acl"), config, + named_g_lctx, actx, mctx, 0, family, + &delt->acl); if (result != ISC_R_SUCCESS) { ns_listenelt_destroy(delt); return (result); @@ -10672,16 +10476,17 @@ ns_listenelt_fromconfig(const cfg_obj_t *listener, const cfg_obj_t *config, } isc_result_t -named_server_dumpstats(named_server_t *server) { +named_server_dumpstats(named_server_t *server) +{ isc_result_t result; - FILE *fp = NULL; + FILE * fp = NULL; CHECKMF(isc_stdio_open(server->statsfile, "a", &fp), "could not open statistics dump file", server->statsfile); result = named_stats_dump(server, fp); - cleanup: +cleanup: if (fp != NULL) (void)isc_stdio_close(fp); if (result == ISC_R_SUCCESS) @@ -10697,8 +10502,9 @@ named_server_dumpstats(named_server_t *server) { } static isc_result_t -add_zone_tolist(dns_zone_t *zone, void *uap) { - struct dumpcontext *dctx = uap; +add_zone_tolist(dns_zone_t *zone, void *uap) +{ + struct dumpcontext * dctx = uap; struct zonelistentry *zle; zle = isc_mem_get(dctx->mctx, sizeof *zle); @@ -10710,15 +10516,15 @@ add_zone_tolist(dns_zone_t *zone, void *uap) { } static isc_result_t -add_view_tolist(struct dumpcontext *dctx, dns_view_t *view) { +add_view_tolist(struct dumpcontext *dctx, dns_view_t *view) +{ struct viewlistentry *vle; - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; /* * Prevent duplicate views. */ - for (vle = ISC_LIST_HEAD(dctx->viewlist); - vle != NULL; + for (vle = ISC_LIST_HEAD(dctx->viewlist); vle != NULL; vle = ISC_LIST_NEXT(vle, link)) if (vle->view == view) return (ISC_R_SUCCESS); @@ -10736,7 +10542,8 @@ add_view_tolist(struct dumpcontext *dctx, dns_view_t *view) { } static void -dumpcontext_destroy(struct dumpcontext *dctx) { +dumpcontext_destroy(struct dumpcontext *dctx) +{ struct viewlistentry *vle; struct zonelistentry *zle; @@ -10770,9 +10577,10 @@ dumpcontext_destroy(struct dumpcontext *dctx) { } static void -dumpdone(void *arg, isc_result_t result) { - struct dumpcontext *dctx = arg; - char buf[1024+32]; +dumpdone(void *arg, isc_result_t result) +{ + struct dumpcontext * dctx = arg; + char buf[1024 + 32]; const dns_master_style_t *style; if (result != ISC_R_SUCCESS) { @@ -10790,17 +10598,15 @@ dumpdone(void *arg, isc_result_t result) { } else { goto resume; } - nextview: +nextview: fprintf(dctx->fp, ";\n; Start view %s\n;\n", dctx->view->view->name); - resume: +resume: if (dctx->dumpcache && dns_view_iscacheshared(dctx->view->view)) { - fprintf(dctx->fp, - ";\n; Cache of view '%s' is shared as '%s'\n", + fprintf(dctx->fp, ";\n; Cache of view '%s' is shared as '%s'\n", dctx->view->view->name, dns_cache_getname(dctx->view->view->cache)); } else if (dctx->zone == NULL && dctx->cache == NULL && - dctx->dumpcache) - { + dctx->dumpcache) { style = &dns_master_style_cache; /* start cache dump */ if (dctx->view->view->cachedb != NULL) { @@ -10811,12 +10617,9 @@ dumpdone(void *arg, isc_result_t result) { ";\n; Cache dump of view '%s' (cache %s)\n;\n", dctx->view->view->name, dns_cache_getname(dctx->view->view->cache)); - result = dns_master_dumptostreaminc(dctx->mctx, - dctx->cache, NULL, - style, dctx->fp, - dctx->task, - dumpdone, dctx, - &dctx->mdctx); + result = dns_master_dumptostreaminc( + dctx->mctx, dctx->cache, NULL, style, dctx->fp, + dctx->task, dumpdone, dctx, &dctx->mdctx); if (result == DNS_R_CONTINUE) { return; } @@ -10850,10 +10653,9 @@ dumpdone(void *arg, isc_result_t result) { } if (dctx->dumpzones) { style = &dns_master_style_full; - nextzone: + nextzone: if (dctx->version != NULL) { - dns_db_closeversion(dctx->db, &dctx->version, - false); + dns_db_closeversion(dctx->db, &dctx->version, false); } if (dctx->db != NULL) { dns_db_detach(&dctx->db); @@ -10874,13 +10676,10 @@ dumpdone(void *arg, isc_result_t result) { goto nextzone; } dns_db_currentversion(dctx->db, &dctx->version); - result = dns_master_dumptostreaminc(dctx->mctx, - dctx->db, - dctx->version, - style, dctx->fp, - dctx->task, - dumpdone, dctx, - &dctx->mdctx); + result = dns_master_dumptostreaminc( + dctx->mctx, dctx->db, dctx->version, style, + dctx->fp, dctx->task, dumpdone, dctx, + &dctx->mdctx); if (result == DNS_R_CONTINUE) { return; } @@ -10902,7 +10701,7 @@ dumpdone(void *arg, isc_result_t result) { goto nextview; } } - done: +done: fprintf(dctx->fp, "; Dump complete\n"); result = isc_stdio_flush(dctx->fp); if (result == ISC_R_SUCCESS) { @@ -10910,7 +10709,7 @@ dumpdone(void *arg, isc_result_t result) { NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, "dumpdb complete"); } - cleanup: +cleanup: if (result != ISC_R_SUCCESS) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, @@ -10920,15 +10719,14 @@ dumpdone(void *arg, isc_result_t result) { } isc_result_t -named_server_dumpdb(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) +named_server_dumpdb(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { struct dumpcontext *dctx = NULL; - dns_view_t *view; - isc_result_t result; - char *ptr; - const char *sep; - bool found; + dns_view_t * view; + isc_result_t result; + char * ptr; + const char * sep; + bool found; /* Skip the command name. */ ptr = next_token(lex, NULL); @@ -10999,12 +10797,10 @@ named_server_dumpdb(named_server_t *server, isc_lex_t *lex, ptr = next_token(lex, NULL); } - nextview: +nextview: found = false; - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { if (ptr != NULL && strcmp(view->name, ptr) != 0) continue; found = true; @@ -11027,7 +10823,7 @@ named_server_dumpdb(named_server_t *server, isc_lex_t *lex, dumpdone(dctx, ISC_R_SUCCESS); return (ISC_R_SUCCESS); - cleanup: +cleanup: dumpcontext_destroy(dctx); return (result); } @@ -11036,16 +10832,16 @@ isc_result_t named_server_dumpsecroots(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { - dns_view_t *view; + dns_view_t * view; dns_keytable_t *secroots = NULL; dns_ntatable_t *ntatable = NULL; - isc_result_t result; - char *ptr; - FILE *fp = NULL; - isc_time_t now; - char tbuf[64]; - unsigned int used = isc_buffer_usedlength(*text); - bool first = true; + isc_result_t result; + char * ptr; + FILE * fp = NULL; + isc_time_t now; + char tbuf[64]; + unsigned int used = isc_buffer_usedlength(*text); + bool first = true; /* Skip the command name. */ ptr = next_token(lex, text); @@ -11060,8 +10856,8 @@ named_server_dumpsecroots(named_server_t *server, isc_lex_t *lex, } else { result = isc_stdio_open(server->secrootsfile, "w", &fp); if (result != ISC_R_SUCCESS) { - (void) putstr(text, "could not open "); - (void) putstr(text, server->secrootsfile); + (void)putstr(text, "could not open "); + (void)putstr(text, server->secrootsfile); CHECKMF(result, "could not open secroots dump file", server->secrootsfile); } @@ -11075,10 +10871,8 @@ named_server_dumpsecroots(named_server_t *server, isc_lex_t *lex, used = isc_buffer_usedlength(*text); do { - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { if (ptr != NULL && strcmp(view->name, ptr) != 0) { continue; } @@ -11121,7 +10915,7 @@ named_server_dumpsecroots(named_server_t *server, isc_lex_t *lex, } } while (ptr != NULL); - cleanup: +cleanup: if (secroots != NULL) { dns_keytable_detach(&secroots); } @@ -11133,8 +10927,8 @@ named_server_dumpsecroots(named_server_t *server, isc_lex_t *lex, if (used != isc_buffer_usedlength(*text)) { (void)putstr(text, "\n"); } - fprintf(fp, "%.*s", (int) isc_buffer_usedlength(*text), - (char *) isc_buffer_base(*text)); + fprintf(fp, "%.*s", (int)isc_buffer_usedlength(*text), + (char *)isc_buffer_base(*text)); isc_buffer_clear(*text); (void)isc_stdio_close(fp); } else if (isc_buffer_usedlength(*text) > 0) { @@ -11155,9 +10949,10 @@ named_server_dumpsecroots(named_server_t *server, isc_lex_t *lex, } isc_result_t -named_server_dumprecursing(named_server_t *server) { - FILE *fp = NULL; - dns_view_t *view; +named_server_dumprecursing(named_server_t *server) +{ + FILE * fp = NULL; + dns_view_t * view; isc_result_t result; CHECKMF(isc_stdio_open(server->recfile, "w", &fp), @@ -11165,19 +10960,17 @@ named_server_dumprecursing(named_server_t *server) { fprintf(fp, ";\n; Recursing Queries\n;\n"); ns_interfacemgr_dumprecursing(fp, server->interfacemgr); - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { fprintf(fp, ";\n; Active fetch domains [view: %s]\n;\n", view->name); - dns_resolver_dumpfetches(view->resolver, - isc_statsformat_file, fp); + dns_resolver_dumpfetches(view->resolver, isc_statsformat_file, + fp); } fprintf(fp, "; Dump complete\n"); - cleanup: +cleanup: if (fp != NULL) result = isc_stdio_close(fp); if (result == ISC_R_SUCCESS) @@ -11193,10 +10986,11 @@ named_server_dumprecursing(named_server_t *server) { } isc_result_t -named_server_setdebuglevel(named_server_t *server, isc_lex_t *lex) { +named_server_setdebuglevel(named_server_t *server, isc_lex_t *lex) +{ char *ptr; char *endp; - long newlevel; + long newlevel; UNUSED(server); @@ -11227,11 +11021,11 @@ isc_result_t named_server_validation(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { - char *ptr; - dns_view_t *view; - bool changed = false; + char * ptr; + dns_view_t * view; + bool changed = false; isc_result_t result; - bool enable = true, set = true, first = true; + bool enable = true, set = true, first = true; /* Skip the command name. */ ptr = next_token(lex, text); @@ -11260,12 +11054,10 @@ named_server_validation(named_server_t *server, isc_lex_t *lex, result = isc_task_beginexclusive(server->task); RUNTIME_CHECK(result == ISC_R_SUCCESS); - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { - if ((ptr != NULL && strcasecmp(ptr, view->name) != 0) - || strcasecmp("_bind", view->name) == 0) + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { + if ((ptr != NULL && strcasecmp(ptr, view->name) != 0) || + strcasecmp("_bind", view->name) == 0) continue; if (set) { @@ -11276,8 +11068,9 @@ named_server_validation(named_server_t *server, isc_lex_t *lex, if (!first) CHECK(putstr(text, "\n")); CHECK(putstr(text, "DNSSEC validation is ")); - CHECK(putstr(text, view->enablevalidation - ? "enabled" : "disabled")); + CHECK(putstr(text, view->enablevalidation ? "enabled" + : "disable" + "d")); CHECK(putstr(text, " (view ")); CHECK(putstr(text, view->name)); CHECK(putstr(text, ")")); @@ -11292,18 +11085,19 @@ named_server_validation(named_server_t *server, isc_lex_t *lex, result = ISC_R_SUCCESS; else result = ISC_R_FAILURE; - cleanup: +cleanup: isc_task_endexclusive(server->task); return (result); } isc_result_t -named_server_flushcache(named_server_t *server, isc_lex_t *lex) { - char *ptr; - dns_view_t *view; - bool flushed; - bool found; - isc_result_t result; +named_server_flushcache(named_server_t *server, isc_lex_t *lex) +{ + char * ptr; + dns_view_t * view; + bool flushed; + bool found; + isc_result_t result; named_cache_t *nsc; /* Skip the command name. */ @@ -11332,16 +11126,13 @@ named_server_flushcache(named_server_t *server, isc_lex_t *lex) { * much more lightweight because only a few (most typically just * one) views will match. */ - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { if (strcasecmp(ptr, view->name) != 0) continue; found = true; for (nsc = ISC_LIST_HEAD(server->cachelist); - nsc != NULL; - nsc = ISC_LIST_NEXT(nsc, link)) { + nsc != NULL; nsc = ISC_LIST_NEXT(nsc, link)) { if (nsc->cache == view->cache) break; } @@ -11352,8 +11143,7 @@ named_server_flushcache(named_server_t *server, isc_lex_t *lex) { found = true; /* Perform flush */ - for (nsc = ISC_LIST_HEAD(server->cachelist); - nsc != NULL; + for (nsc = ISC_LIST_HEAD(server->cachelist); nsc != NULL; nsc = ISC_LIST_NEXT(nsc, link)) { if (ptr != NULL && !nsc->needflush) continue; @@ -11378,34 +11168,29 @@ named_server_flushcache(named_server_t *server, isc_lex_t *lex) { * A worst case is that we have n views and n/2 caches, each shared by * two views. Then this will be a O(n^2/4) operation. */ - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { if (!dns_view_iscacheshared(view)) continue; - for (nsc = ISC_LIST_HEAD(server->cachelist); - nsc != NULL; + for (nsc = ISC_LIST_HEAD(server->cachelist); nsc != NULL; nsc = ISC_LIST_NEXT(nsc, link)) { if (!nsc->needflush || nsc->cache != view->cache) continue; result = dns_view_flushcache(view, true); if (result != ISC_R_SUCCESS) { flushed = false; - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_ERROR, - "fixing cache in view '%s' " - "failed: %s", view->name, - isc_result_totext(result)); + isc_log_write( + named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, + "fixing cache in view '%s' " + "failed: %s", + view->name, isc_result_totext(result)); } } } /* Cleanup the cache list. */ - for (nsc = ISC_LIST_HEAD(server->cachelist); - nsc != NULL; + for (nsc = ISC_LIST_HEAD(server->cachelist); nsc != NULL; nsc = ISC_LIST_NEXT(nsc, link)) { nsc->needflush = false; } @@ -11426,7 +11211,8 @@ named_server_flushcache(named_server_t *server, isc_lex_t *lex) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "flushing cache in view '%s' failed: " - "view not found", ptr); + "view not found", + ptr); result = ISC_R_NOTFOUND; } else result = ISC_R_FAILURE; @@ -11436,18 +11222,17 @@ named_server_flushcache(named_server_t *server, isc_lex_t *lex) { } isc_result_t -named_server_flushnode(named_server_t *server, isc_lex_t *lex, - bool tree) +named_server_flushnode(named_server_t *server, isc_lex_t *lex, bool tree) { - char *ptr, *viewname; - char target[DNS_NAME_FORMATSIZE]; - dns_view_t *view; - bool flushed; - bool found; - isc_result_t result; - isc_buffer_t b; + char * ptr, *viewname; + char target[DNS_NAME_FORMATSIZE]; + dns_view_t * view; + bool flushed; + bool found; + isc_result_t result; + isc_buffer_t b; dns_fixedname_t fixed; - dns_name_t *name; + dns_name_t * name; /* Skip the command name. */ ptr = next_token(lex, NULL); @@ -11474,10 +11259,8 @@ named_server_flushnode(named_server_t *server, isc_lex_t *lex, RUNTIME_CHECK(result == ISC_R_SUCCESS); flushed = true; found = false; - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { if (viewname != NULL && strcasecmp(viewname, view->name) != 0) continue; found = true; @@ -11493,9 +11276,8 @@ named_server_flushnode(named_server_t *server, isc_lex_t *lex, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "flushing %s '%s' in cache view '%s' " "failed: %s", - tree ? "tree" : "name", - target, view->name, - isc_result_totext(result)); + tree ? "tree" : "name", target, + view->name, isc_result_totext(result)); } } if (flushed && found) { @@ -11504,15 +11286,13 @@ named_server_flushnode(named_server_t *server, isc_lex_t *lex, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, "flushing %s '%s' in cache view '%s' " "succeeded", - tree ? "tree" : "name", - target, viewname); + tree ? "tree" : "name", target, viewname); else isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, "flushing %s '%s' in all cache views " "succeeded", - tree ? "tree" : "name", - target); + tree ? "tree" : "name", target); result = ISC_R_SUCCESS; } else { if (!found) @@ -11520,8 +11300,7 @@ named_server_flushnode(named_server_t *server, isc_lex_t *lex, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "flushing %s '%s' in cache view '%s' " "failed: view not found", - tree ? "tree" : "name", - target, viewname); + tree ? "tree" : "name", target, viewname); result = ISC_R_FAILURE; } isc_task_endexclusive(server->task); @@ -11529,14 +11308,15 @@ named_server_flushnode(named_server_t *server, isc_lex_t *lex, } isc_result_t -named_server_status(named_server_t *server, isc_buffer_t **text) { +named_server_status(named_server_t *server, isc_buffer_t **text) +{ isc_result_t result; unsigned int zonecount, xferrunning, xferdeferred, soaqueries; unsigned int automatic; - const char *ob = "", *cb = "", *alt = ""; - char boottime[ISC_FORMATHTTPTIMESTAMP_SIZE]; - char configtime[ISC_FORMATHTTPTIMESTAMP_SIZE]; - char line[1024], hostname[256]; + const char * ob = "", *cb = "", *alt = ""; + char boottime[ISC_FORMATHTTPTIMESTAMP_SIZE]; + char configtime[ISC_FORMATHTTPTIMESTAMP_SIZE]; + char line[1024], hostname[256]; if (named_g_server->version_set) { ob = " ("; @@ -11551,10 +11331,10 @@ named_server_status(named_server_t *server, isc_buffer_t **text) { DNS_ZONESTATE_XFERRUNNING); xferdeferred = dns_zonemgr_getcount(server->zonemgr, DNS_ZONESTATE_XFERDEFERRED); - soaqueries = dns_zonemgr_getcount(server->zonemgr, - DNS_ZONESTATE_SOAQUERY); - automatic = dns_zonemgr_getcount(server->zonemgr, - DNS_ZONESTATE_AUTOMATIC); + soaqueries = + dns_zonemgr_getcount(server->zonemgr, DNS_ZONESTATE_SOAQUERY); + automatic = + dns_zonemgr_getcount(server->zonemgr, DNS_ZONESTATE_AUTOMATIC); isc_time_formathttptimestamp(&named_g_boottime, boottime, sizeof(boottime)); @@ -11563,15 +11343,15 @@ named_server_status(named_server_t *server, isc_buffer_t **text) { snprintf(line, sizeof(line), "version: %s %s%s%s %s%s%s\n", named_g_product, named_g_version, - (*named_g_description != '\0') ? " " : "", - named_g_description, named_g_srcid, ob, alt, cb); + (*named_g_description != '\0') ? " " : "", named_g_description, + named_g_srcid, ob, alt, cb); CHECK(putstr(text, line)); result = named_os_gethostname(hostname, sizeof(hostname)); if (result != ISC_R_SUCCESS) strlcpy(hostname, "localhost", sizeof(hostname)); - snprintf(line, sizeof(line), "running on %s: %s\n", - hostname, named_os_uname()); + snprintf(line, sizeof(line), "running on %s: %s\n", hostname, + named_os_uname()); CHECK(putstr(text, line)); snprintf(line, sizeof(line), "boot time: %s\n", boottime); @@ -11600,7 +11380,7 @@ named_server_status(named_server_t *server, isc_buffer_t **text) { CHECK(putstr(text, line)); snprintf(line, sizeof(line), "number of zones: %u (%u automatic)\n", - zonecount, automatic); + zonecount, automatic); CHECK(putstr(text, line)); snprintf(line, sizeof(line), "debug level: %u\n", named_g_debuglevel); @@ -11613,34 +11393,37 @@ named_server_status(named_server_t *server, isc_buffer_t **text) { CHECK(putstr(text, line)); snprintf(line, sizeof(line), "soa queries in progress: %u\n", - soaqueries); + soaqueries); CHECK(putstr(text, line)); snprintf(line, sizeof(line), "query logging is %s\n", - ns_server_getoption(server->sctx, NS_SERVER_LOGQUERIES) - ? "ON" : "OFF"); + ns_server_getoption(server->sctx, NS_SERVER_LOGQUERIES) ? "ON" + : "OF" + "F"); CHECK(putstr(text, line)); snprintf(line, sizeof(line), "recursive clients: %u/%u/%u\n", - isc_quota_getused(&server->sctx->recursionquota), - isc_quota_getsoft(&server->sctx->recursionquota), - isc_quota_getmax(&server->sctx->recursionquota)); + isc_quota_getused(&server->sctx->recursionquota), + isc_quota_getsoft(&server->sctx->recursionquota), + isc_quota_getmax(&server->sctx->recursionquota)); CHECK(putstr(text, line)); snprintf(line, sizeof(line), "tcp clients: %u/%u\n", - isc_quota_getused(&server->sctx->tcpquota), - isc_quota_getmax(&server->sctx->tcpquota)); + isc_quota_getused(&server->sctx->tcpquota), + isc_quota_getmax(&server->sctx->tcpquota)); CHECK(putstr(text, line)); snprintf(line, sizeof(line), "TCP high-water: %u\n", - (unsigned)ns_stats_get_counter(server->sctx->nsstats, - ns_statscounter_tcphighwater)); + (unsigned)ns_stats_get_counter(server->sctx->nsstats, + ns_statscounter_tcphighwater)); CHECK(putstr(text, line)); if (server->reload_status != NAMED_RELOAD_DONE) { snprintf(line, sizeof(line), "reload/reconfig %s\n", - server->reload_status == NAMED_RELOAD_FAILED - ? "failed" : "in progress"); + server->reload_status == NAMED_RELOAD_FAILED ? "failed" + : "in " + "progre" + "ss"); CHECK(putstr(text, line)); } @@ -11648,16 +11431,17 @@ named_server_status(named_server_t *server, isc_buffer_t **text) { CHECK(putnull(text)); return (ISC_R_SUCCESS); - cleanup: +cleanup: return (result); } isc_result_t -named_server_testgen(isc_lex_t *lex, isc_buffer_t **text) { - isc_result_t result; - char *ptr; - unsigned long count; - unsigned long i; +named_server_testgen(isc_lex_t *lex, isc_buffer_t **text) +{ + isc_result_t result; + char * ptr; + unsigned long count; + unsigned long i; const unsigned char chars[] = "abcdefghijklmnopqrstuvwxyz0123456789"; /* Skip the command name. */ @@ -11677,30 +11461,28 @@ named_server_testgen(isc_lex_t *lex, isc_buffer_t **text) { CHECK(putnull(text)); - cleanup: +cleanup: return (result); } static isc_result_t -delete_keynames(dns_tsig_keyring_t *ring, char *target, - unsigned int *foundkeys) +delete_keynames(dns_tsig_keyring_t *ring, char *target, unsigned int *foundkeys) { - char namestr[DNS_NAME_FORMATSIZE]; - isc_result_t result; + char namestr[DNS_NAME_FORMATSIZE]; + isc_result_t result; dns_rbtnodechain_t chain; - dns_name_t foundname; - dns_fixedname_t fixedorigin; - dns_name_t *origin; - dns_rbtnode_t *node; - dns_tsigkey_t *tkey; + dns_name_t foundname; + dns_fixedname_t fixedorigin; + dns_name_t * origin; + dns_rbtnode_t * node; + dns_tsigkey_t * tkey; dns_name_init(&foundname, NULL); origin = dns_fixedname_initname(&fixedorigin); - again: +again: dns_rbtnodechain_init(&chain); - result = dns_rbtnodechain_first(&chain, ring->keys, &foundname, - origin); + result = dns_rbtnodechain_first(&chain, ring->keys, &foundname, origin); if (result == ISC_R_NOTFOUND) { dns_rbtnodechain_invalidate(&chain); return (ISC_R_SUCCESS); @@ -11724,8 +11506,7 @@ delete_keynames(dns_tsig_keyring_t *ring, char *target, (*foundkeys)++; dns_rbtnodechain_invalidate(&chain); (void)dns_rbt_deletename(ring->keys, - &tkey->name, - false); + &tkey->name, false); goto again; } } @@ -11748,13 +11529,13 @@ named_server_tsigdelete(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { isc_result_t result; - dns_view_t *view; + dns_view_t * view; unsigned int foundkeys = 0; - char *ptr, *viewname; - char target[DNS_NAME_FORMATSIZE]; - char fbuf[16]; + char * ptr, *viewname; + char target[DNS_NAME_FORMATSIZE]; + char fbuf[16]; - (void)next_token(lex, text); /* skip command name */ + (void)next_token(lex, text); /* skip command name */ ptr = next_token(lex, text); if (ptr == NULL) @@ -11765,8 +11546,7 @@ named_server_tsigdelete(named_server_t *server, isc_lex_t *lex, result = isc_task_beginexclusive(server->task); RUNTIME_CHECK(result == ISC_R_SUCCESS); - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; view = ISC_LIST_NEXT(view, link)) { if (viewname == NULL || strcmp(view->name, viewname) == 0) { RWLOCK(&view->dynamickeys->lock, isc_rwlocktype_write); @@ -11788,7 +11568,7 @@ named_server_tsigdelete(named_server_t *server, isc_lex_t *lex, CHECK(putstr(text, " tsig keys deleted.")); CHECK(putnull(text)); - cleanup: +cleanup: return (result); } @@ -11796,16 +11576,16 @@ static isc_result_t list_keynames(dns_view_t *view, dns_tsig_keyring_t *ring, isc_buffer_t **text, unsigned int *foundkeys) { - char namestr[DNS_NAME_FORMATSIZE]; - char creatorstr[DNS_NAME_FORMATSIZE]; - isc_result_t result; + char namestr[DNS_NAME_FORMATSIZE]; + char creatorstr[DNS_NAME_FORMATSIZE]; + isc_result_t result; dns_rbtnodechain_t chain; - dns_name_t foundname; - dns_fixedname_t fixedorigin; - dns_name_t *origin; - dns_rbtnode_t *node; - dns_tsigkey_t *tkey; - const char *viewname; + dns_name_t foundname; + dns_fixedname_t fixedorigin; + dns_name_t * origin; + dns_rbtnode_t * node; + dns_tsigkey_t * tkey; + const char * viewname; if (view != NULL) viewname = view->name; @@ -11815,8 +11595,7 @@ list_keynames(dns_view_t *view, dns_tsig_keyring_t *ring, isc_buffer_t **text, dns_name_init(&foundname, NULL); origin = dns_fixedname_initname(&fixedorigin); dns_rbtnodechain_init(&chain); - result = dns_rbtnodechain_first(&chain, ring->keys, &foundname, - origin); + result = dns_rbtnodechain_first(&chain, ring->keys, &foundname, origin); if (result == ISC_R_NOTFOUND) { dns_rbtnodechain_invalidate(&chain); return (ISC_R_SUCCESS); @@ -11840,8 +11619,8 @@ list_keynames(dns_view_t *view, dns_tsig_keyring_t *ring, isc_buffer_t **text, CHECK(putstr(text, "\n")); CHECK(putstr(text, "view \"")); CHECK(putstr(text, viewname)); - CHECK(putstr(text, - "\"; type \"dynamic\"; key \"")); + CHECK(putstr(text, "\"; type \"dynamic\"; key " + "\"")); CHECK(putstr(text, namestr)); CHECK(putstr(text, "\"; creator \"")); CHECK(putstr(text, creatorstr)); @@ -11851,8 +11630,8 @@ list_keynames(dns_view_t *view, dns_tsig_keyring_t *ring, isc_buffer_t **text, CHECK(putstr(text, "\n")); CHECK(putstr(text, "view \"")); CHECK(putstr(text, viewname)); - CHECK(putstr(text, - "\"; type \"static\"; key \"")); + CHECK(putstr(text, "\"; type \"static\"; key " + "\"")); CHECK(putstr(text, namestr)); CHECK(putstr(text, "\";")); } @@ -11864,25 +11643,25 @@ list_keynames(dns_view_t *view, dns_tsig_keyring_t *ring, isc_buffer_t **text, } return (ISC_R_SUCCESS); - cleanup: +cleanup: dns_rbtnodechain_invalidate(&chain); return (result); } isc_result_t -named_server_tsiglist(named_server_t *server, isc_buffer_t **text) { +named_server_tsiglist(named_server_t *server, isc_buffer_t **text) +{ isc_result_t result; - dns_view_t *view; + dns_view_t * view; unsigned int foundkeys = 0; result = isc_task_beginexclusive(server->task); RUNTIME_CHECK(result == ISC_R_SUCCESS); - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; view = ISC_LIST_NEXT(view, link)) { RWLOCK(&view->statickeys->lock, isc_rwlocktype_read); - result = list_keynames(view, view->statickeys, text, - &foundkeys); + result = + list_keynames(view, view->statickeys, text, &foundkeys); RWUNLOCK(&view->statickeys->lock, isc_rwlocktype_read); if (result != ISC_R_SUCCESS) { isc_task_endexclusive(server->task); @@ -11905,7 +11684,7 @@ named_server_tsiglist(named_server_t *server, isc_buffer_t **text) { if (isc_buffer_usedlength(*text) > 0) CHECK(putnull(text)); - cleanup: +cleanup: return (result); } @@ -11913,15 +11692,14 @@ named_server_tsiglist(named_server_t *server, isc_buffer_t **text) { * Act on a "sign" or "loadkeys" command from the command channel. */ isc_result_t -named_server_rekey(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) +named_server_rekey(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { - isc_result_t result; - dns_zone_t *zone = NULL; + isc_result_t result; + dns_zone_t * zone = NULL; dns_zonetype_t type; - uint16_t keyopts; - bool fullsign = false; - char *ptr; + uint16_t keyopts; + bool fullsign = false; + char * ptr; ptr = next_token(lex, text); if (ptr == NULL) @@ -11930,12 +11708,11 @@ named_server_rekey(named_server_t *server, isc_lex_t *lex, if (strcasecmp(ptr, NAMED_COMMAND_SIGN) == 0) fullsign = true; - result = zone_from_args(server, lex, NULL, &zone, NULL, - text, false); + result = zone_from_args(server, lex, NULL, &zone, NULL, text, false); if (result != ISC_R_SUCCESS) return (result); if (zone == NULL) - return (ISC_R_UNEXPECTEDEND); /* XXX: or do all zones? */ + return (ISC_R_UNEXPECTEDEND); /* XXX: or do all zones? */ type = dns_zone_gettype(zone); if (type != dns_zone_master) { @@ -11962,13 +11739,14 @@ named_server_rekey(named_server_t *server, isc_lex_t *lex, /* * Act on a "sync" command from the command channel. -*/ + */ static isc_result_t -synczone(dns_zone_t *zone, void *uap) { - bool cleanup = *(bool *)uap; +synczone(dns_zone_t *zone, void *uap) +{ + bool cleanup = *(bool *)uap; isc_result_t result; - dns_zone_t *raw = NULL; - char *journal; + dns_zone_t * raw = NULL; + char * journal; dns_zone_getraw(zone, &raw); if (raw != NULL) { @@ -11989,16 +11767,17 @@ synczone(dns_zone_t *zone, void *uap) { } isc_result_t -named_server_sync(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { +named_server_sync(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) +{ isc_result_t result, tresult; - dns_view_t *view; - dns_zone_t *zone = NULL; - char classstr[DNS_RDATACLASS_FORMATSIZE]; - char zonename[DNS_NAME_FORMATSIZE]; - const char *vname, *sep, *arg; - bool cleanup = false; + dns_view_t * view; + dns_zone_t * zone = NULL; + char classstr[DNS_RDATACLASS_FORMATSIZE]; + char zonename[DNS_NAME_FORMATSIZE]; + const char * vname, *sep, *arg; + bool cleanup = false; - (void) next_token(lex, text); + (void)next_token(lex, text); arg = next_token(lex, text); if (arg != NULL && @@ -12007,8 +11786,7 @@ named_server_sync(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { arg = next_token(lex, text); } - result = zone_from_args(server, lex, arg, &zone, NULL, - text, false); + result = zone_from_args(server, lex, arg, &zone, NULL, text, false); if (result != ISC_R_SUCCESS) return (result); @@ -12016,13 +11794,11 @@ named_server_sync(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { result = isc_task_beginexclusive(server->task); RUNTIME_CHECK(result == ISC_R_SUCCESS); tresult = ISC_R_SUCCESS; - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; view = ISC_LIST_NEXT(view, link)) { - result = dns_zt_apply(view->zonetable, false, - NULL, synczone, &cleanup); - if (result != ISC_R_SUCCESS && - tresult == ISC_R_SUCCESS) + result = dns_zt_apply(view->zonetable, false, NULL, + synczone, &cleanup); + if (result != ISC_R_SUCCESS && tresult == ISC_R_SUCCESS) tresult = result; } isc_task_endexclusive(server->task); @@ -12041,8 +11817,7 @@ named_server_sync(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { view = dns_zone_getview(zone); if (strcmp(view->name, "_default") == 0 || - strcmp(view->name, "_bind") == 0) - { + strcmp(view->name, "_bind") == 0) { vname = ""; sep = ""; } else { @@ -12051,14 +11826,12 @@ named_server_sync(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { } dns_rdataclass_format(dns_zone_getclass(zone), classstr, sizeof(classstr)); - dns_name_format(dns_zone_getorigin(zone), - zonename, sizeof(zonename)); - isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, - "sync: dumping zone '%s/%s'%s%s%s: %s", - zonename, classstr, sep, vname, - cleanup ? ", removing journal file" : "", - isc_result_totext(result)); + dns_name_format(dns_zone_getorigin(zone), zonename, sizeof(zonename)); + isc_log_write( + named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, + ISC_LOG_INFO, "sync: dumping zone '%s/%s'%s%s%s: %s", zonename, + classstr, sep, vname, cleanup ? ", removing journal file" : "", + isc_result_totext(result)); dns_zone_detach(&zone); return (result); } @@ -12067,33 +11840,30 @@ named_server_sync(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { * Act on a "freeze" or "thaw" command from the command channel. */ isc_result_t -named_server_freeze(named_server_t *server, bool freeze, - isc_lex_t *lex, isc_buffer_t **text) +named_server_freeze(named_server_t *server, bool freeze, isc_lex_t *lex, + isc_buffer_t **text) { - isc_result_t result, tresult; - dns_zone_t *mayberaw = NULL, *raw = NULL; + isc_result_t result, tresult; + dns_zone_t * mayberaw = NULL, *raw = NULL; dns_zonetype_t type; - char classstr[DNS_RDATACLASS_FORMATSIZE]; - char zonename[DNS_NAME_FORMATSIZE]; - dns_view_t *view; - const char *vname, *sep; - bool frozen; - const char *msg = NULL; + char classstr[DNS_RDATACLASS_FORMATSIZE]; + char zonename[DNS_NAME_FORMATSIZE]; + dns_view_t * view; + const char * vname, *sep; + bool frozen; + const char * msg = NULL; - result = zone_from_args(server, lex, NULL, &mayberaw, NULL, - text, true); + result = zone_from_args(server, lex, NULL, &mayberaw, NULL, text, true); if (result != ISC_R_SUCCESS) return (result); if (mayberaw == NULL) { result = isc_task_beginexclusive(server->task); RUNTIME_CHECK(result == ISC_R_SUCCESS); tresult = ISC_R_SUCCESS; - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; view = ISC_LIST_NEXT(view, link)) { result = dns_view_freezezones(view, freeze); - if (result != ISC_R_SUCCESS && - tresult == ISC_R_SUCCESS) + if (result != ISC_R_SUCCESS && tresult == ISC_R_SUCCESS) tresult = result; } isc_task_endexclusive(server->task); @@ -12160,14 +11930,13 @@ named_server_freeze(named_server_t *server, bool freeze, isc_task_endexclusive(server->task); if (msg != NULL) { - (void) putstr(text, msg); - (void) putnull(text); + (void)putstr(text, msg); + (void)putnull(text); } view = dns_zone_getview(mayberaw); if (strcmp(view->name, "_default") == 0 || - strcmp(view->name, "_bind") == 0) - { + strcmp(view->name, "_bind") == 0) { vname = ""; sep = ""; } else { @@ -12176,14 +11945,13 @@ named_server_freeze(named_server_t *server, bool freeze, } dns_rdataclass_format(dns_zone_getclass(mayberaw), classstr, sizeof(classstr)); - dns_name_format(dns_zone_getorigin(mayberaw), - zonename, sizeof(zonename)); + dns_name_format(dns_zone_getorigin(mayberaw), zonename, + sizeof(zonename)); isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, "%s zone '%s/%s'%s%s: %s", - freeze ? "freezing" : "thawing", - zonename, classstr, sep, vname, - isc_result_totext(result)); + freeze ? "freezing" : "thawing", zonename, classstr, sep, + vname, isc_result_totext(result)); dns_zone_detach(&mayberaw); return (result); } @@ -12194,7 +11962,8 @@ named_server_freeze(named_server_t *server, bool freeze, * is managed by smf and is also running chroot. */ isc_result_t -named_smf_add_message(isc_buffer_t **text) { +named_smf_add_message(isc_buffer_t **text) +{ return (putstr(text, "use svcadm(1M) to manage named")); } #endif /* HAVE_LIBSCF */ @@ -12206,31 +11975,35 @@ named_smf_add_message(isc_buffer_t **text) { * Expects the fp to already be open for writing */ #define HEADER1 "# New zone file for view: " -#define HEADER2 "\n# This file contains configuration for zones added by\n" \ - "# the 'rndc addzone' command. DO NOT EDIT BY HAND.\n" +#define HEADER2 \ + "\n# This file contains configuration for zones added by\n" \ + "# the 'rndc addzone' command. DO NOT EDIT BY HAND.\n" static isc_result_t -add_comment(FILE *fp, const char *viewname) { +add_comment(FILE *fp, const char *viewname) +{ isc_result_t result; CHECK(isc_stdio_write(HEADER1, sizeof(HEADER1) - 1, 1, fp, NULL)); CHECK(isc_stdio_write(viewname, strlen(viewname), 1, fp, NULL)); CHECK(isc_stdio_write(HEADER2, sizeof(HEADER2) - 1, 1, fp, NULL)); - cleanup: +cleanup: return (result); } static void -dumpzone(void *arg, const char *buf, int len) { +dumpzone(void *arg, const char *buf, int len) +{ FILE *fp = arg; - (void) isc_stdio_write(buf, len, 1, fp, NULL); + (void)isc_stdio_write(buf, len, 1, fp, NULL); } static isc_result_t -nzf_append(dns_view_t *view, const cfg_obj_t *zconfig) { +nzf_append(dns_view_t *view, const cfg_obj_t *zconfig) +{ isc_result_t result; - off_t offset; - FILE *fp = NULL; - bool offsetok = false; + off_t offset; + FILE * fp = NULL; + bool offsetok = false; LOCK(&view->new_zone_lock); @@ -12249,24 +12022,23 @@ nzf_append(dns_view_t *view, const cfg_obj_t *zconfig) { result = isc_stdio_close(fp); fp = NULL; - cleanup: +cleanup: if (fp != NULL) { (void)isc_stdio_close(fp); if (offsetok) { isc_result_t result2; - result2 = isc_file_truncate(view->new_zone_file, - offset); + result2 = + isc_file_truncate(view->new_zone_file, offset); if (result2 != ISC_R_SUCCESS) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_ERROR, - "Error truncating NZF file '%s' " - "during rollback from append: " - "%s", - view->new_zone_file, - isc_result_totext(result2)); + isc_log_write( + named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, + "Error truncating NZF file '%s' " + "during rollback from append: " + "%s", + view->new_zone_file, + isc_result_totext(result2)); } } } @@ -12275,17 +12047,18 @@ nzf_append(dns_view_t *view, const cfg_obj_t *zconfig) { } static isc_result_t -nzf_writeconf(const cfg_obj_t *config, dns_view_t *view) { - const cfg_obj_t *zl = NULL; - cfg_list_t *list; +nzf_writeconf(const cfg_obj_t *config, dns_view_t *view) +{ + const cfg_obj_t * zl = NULL; + cfg_list_t * list; const cfg_listelt_t *elt; - FILE *fp = NULL; - char tmp[1024]; + FILE * fp = NULL; + char tmp[1024]; isc_result_t result; - result = isc_file_template(view->new_zone_file, "nzf-XXXXXXXX", - tmp, sizeof(tmp)); + result = isc_file_template(view->new_zone_file, "nzf-XXXXXXXX", tmp, + sizeof(tmp)); if (result == ISC_R_SUCCESS) result = isc_file_openunique(tmp, &fp); if (result != ISC_R_SUCCESS) @@ -12297,12 +12070,10 @@ nzf_writeconf(const cfg_obj_t *config, dns_view_t *view) { DE_CONST(&zl->value.list, list); - CHECK(add_comment(fp, view->name)); /* force a comment */ + CHECK(add_comment(fp, view->name)); /* force a comment */ - for (elt = ISC_LIST_HEAD(*list); - elt != NULL; - elt = ISC_LIST_NEXT(elt, link)) - { + for (elt = ISC_LIST_HEAD(*list); elt != NULL; + elt = ISC_LIST_NEXT(elt, link)) { const cfg_obj_t *zconfig = cfg_listelt_value(elt); CHECK(isc_stdio_write("zone ", 5, 1, fp, NULL)); @@ -12318,7 +12089,7 @@ nzf_writeconf(const cfg_obj_t *config, dns_view_t *view) { CHECK(isc_file_rename(tmp, view->new_zone_file)); return (result); - cleanup: +cleanup: if (fp != NULL) (void)isc_stdio_close(fp); (void)isc_file_remove(tmp); @@ -12328,7 +12099,8 @@ nzf_writeconf(const cfg_obj_t *config, dns_view_t *view) { #else /* HAVE_LMDB */ static void -nzd_setkey(MDB_val *key, dns_name_t *name, char *namebuf, size_t buflen) { +nzd_setkey(MDB_val *key, dns_name_t *name, char *namebuf, size_t buflen) +{ dns_fixedname_t fixed; dns_fixedname_init(&fixed); @@ -12340,8 +12112,9 @@ nzd_setkey(MDB_val *key, dns_name_t *name, char *namebuf, size_t buflen) { } static void -dumpzone(void *arg, const char *buf, int len) { - ns_dzarg_t *dzarg = arg; +dumpzone(void *arg, const char *buf, int len) +{ + ns_dzarg_t * dzarg = arg; isc_result_t result; REQUIRE(dzarg != NULL && ISC_MAGIC_VALID(dzarg, DZARG_MAGIC)); @@ -12356,14 +12129,14 @@ static isc_result_t nzd_save(MDB_txn **txnp, MDB_dbi dbi, dns_zone_t *zone, const cfg_obj_t *zconfig) { - isc_result_t result; - int status; - dns_view_t *view; - bool commit = false; + isc_result_t result; + int status; + dns_view_t * view; + bool commit = false; isc_buffer_t *text = NULL; - char namebuf[1024]; - MDB_val key, data; - ns_dzarg_t dzarg; + char namebuf[1024]; + MDB_val key, data; + ns_dzarg_t dzarg; view = dns_zone_getview(zone); @@ -12375,10 +12148,8 @@ nzd_save(MDB_txn **txnp, MDB_dbi dbi, dns_zone_t *zone, /* We're deleting the zone from the database */ status = mdb_del(*txnp, dbi, &key, NULL); if (status != MDB_SUCCESS && status != MDB_NOTFOUND) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_ERROR, + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "Error deleting zone %s " "from NZD database: %s", namebuf, mdb_strerror(status)); @@ -12395,10 +12166,8 @@ nzd_save(MDB_txn **txnp, MDB_dbi dbi, dns_zone_t *zone, zoptions = cfg_tuple_get(zconfig, "options"); if (zoptions == NULL) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_ERROR, + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "Unable to get options from config in " "nzd_save()"); result = ISC_R_FAILURE; @@ -12410,10 +12179,8 @@ nzd_save(MDB_txn **txnp, MDB_dbi dbi, dns_zone_t *zone, dzarg.result = ISC_R_SUCCESS; cfg_printx(zoptions, CFG_PRINTER_ONELINE, dumpzone, &dzarg); if (dzarg.result != ISC_R_SUCCESS) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_ERROR, + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "Error writing zone config to " "buffer in nzd_save(): %s", isc_result_totext(dzarg.result)); @@ -12426,10 +12193,8 @@ nzd_save(MDB_txn **txnp, MDB_dbi dbi, dns_zone_t *zone, status = mdb_put(*txnp, dbi, &key, &data, 0); if (status != MDB_SUCCESS) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_ERROR, + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "Error inserting zone in " "NZD database: %s", mdb_strerror(status)); @@ -12442,16 +12207,14 @@ nzd_save(MDB_txn **txnp, MDB_dbi dbi, dns_zone_t *zone, result = ISC_R_SUCCESS; - cleanup: +cleanup: if (!commit || result != ISC_R_SUCCESS) { - (void) mdb_txn_abort(*txnp); + (void)mdb_txn_abort(*txnp); } else { status = mdb_txn_commit(*txnp); if (status != MDB_SUCCESS) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_ERROR, + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "Error committing " "NZD database: %s", mdb_strerror(status)); @@ -12470,20 +12233,20 @@ nzd_save(MDB_txn **txnp, MDB_dbi dbi, dns_zone_t *zone, } static isc_result_t -nzd_writable(dns_view_t *view) { +nzd_writable(dns_view_t *view) +{ isc_result_t result = ISC_R_SUCCESS; - int status; - MDB_dbi dbi; - MDB_txn *txn = NULL; + int status; + MDB_dbi dbi; + MDB_txn * txn = NULL; REQUIRE(view != NULL); - status = mdb_txn_begin((MDB_env *) view->new_zone_dbenv, 0, 0, &txn); + status = mdb_txn_begin((MDB_env *)view->new_zone_dbenv, 0, 0, &txn); if (status != MDB_SUCCESS) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, - "mdb_txn_begin: %s", - mdb_strerror(status)); + "mdb_txn_begin: %s", mdb_strerror(status)); return (ISC_R_FAILURE); } @@ -12491,8 +12254,7 @@ nzd_writable(dns_view_t *view) { if (status != MDB_SUCCESS) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, - "mdb_dbi_open: %s", - mdb_strerror(status)); + "mdb_dbi_open: %s", mdb_strerror(status)); result = ISC_R_FAILURE; } @@ -12501,36 +12263,34 @@ nzd_writable(dns_view_t *view) { } static isc_result_t -nzd_open(dns_view_t *view, unsigned int flags, MDB_txn **txnp, MDB_dbi *dbi) { - int status; +nzd_open(dns_view_t *view, unsigned int flags, MDB_txn **txnp, MDB_dbi *dbi) +{ + int status; MDB_txn *txn = NULL; REQUIRE(view != NULL); REQUIRE(txnp != NULL && *txnp == NULL); REQUIRE(dbi != NULL); - status = mdb_txn_begin((MDB_env *) view->new_zone_dbenv, 0, - flags, &txn); + status = mdb_txn_begin((MDB_env *)view->new_zone_dbenv, 0, flags, &txn); if (status != MDB_SUCCESS) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, - ISC_LOG_WARNING, "mdb_txn_begin: %s", - mdb_strerror(status)); + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, + "mdb_txn_begin: %s", mdb_strerror(status)); goto cleanup; } status = mdb_dbi_open(txn, NULL, 0, dbi); if (status != MDB_SUCCESS) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, - ISC_LOG_WARNING, "mdb_dbi_open: %s", - mdb_strerror(status)); + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, + "mdb_dbi_open: %s", mdb_strerror(status)); goto cleanup; } *txnp = txn; - cleanup: +cleanup: if (status != MDB_SUCCESS) { if (txn != NULL) { mdb_txn_abort(txn); @@ -12547,11 +12307,12 @@ nzd_open(dns_view_t *view, unsigned int flags, MDB_txn **txnp, MDB_dbi *dbi) { * root privileges. */ static void -nzd_env_close(dns_view_t *view) { +nzd_env_close(dns_view_t *view) +{ const char *dbpath = NULL; - char dbpath_copy[PATH_MAX]; - char lockpath[PATH_MAX]; - int status, ret; + char dbpath_copy[PATH_MAX]; + char lockpath[PATH_MAX]; + int status, ret; if (view->new_zone_dbenv == NULL) { return; @@ -12561,7 +12322,7 @@ nzd_env_close(dns_view_t *view) { INSIST(status == MDB_SUCCESS); snprintf(lockpath, sizeof(lockpath), "%s-lock", dbpath); strlcpy(dbpath_copy, dbpath, sizeof(dbpath_copy)); - mdb_env_close((MDB_env *) view->new_zone_dbenv); + mdb_env_close((MDB_env *)view->new_zone_dbenv); /* * Database files must be owned by the eventual user, not by root. @@ -12573,16 +12334,17 @@ nzd_env_close(dns_view_t *view) { * Some platforms need the lockfile not to exist when we reopen the * environment. */ - (void) isc_file_remove(lockpath); + (void)isc_file_remove(lockpath); view->new_zone_dbenv = NULL; } static isc_result_t -nzd_env_reopen(dns_view_t *view) { +nzd_env_reopen(dns_view_t *view) +{ isc_result_t result; - MDB_env *env = NULL; - int status; + MDB_env * env = NULL; + int status; if (view->new_zone_db == NULL) { return (ISC_R_SUCCESS); @@ -12623,7 +12385,7 @@ nzd_env_reopen(dns_view_t *view) { env = NULL; result = ISC_R_SUCCESS; - cleanup: +cleanup: if (env != NULL) { mdb_env_close(env); } @@ -12631,9 +12393,10 @@ nzd_env_reopen(dns_view_t *view) { } static isc_result_t -nzd_close(MDB_txn **txnp, bool commit) { +nzd_close(MDB_txn **txnp, bool commit) +{ isc_result_t result = ISC_R_SUCCESS; - int status; + int status; REQUIRE(txnp != NULL); @@ -12653,12 +12416,13 @@ nzd_close(MDB_txn **txnp, bool commit) { } static isc_result_t -nzd_count(dns_view_t *view, int *countp) { +nzd_count(dns_view_t *view, int *countp) +{ isc_result_t result; - int status; - MDB_txn *txn = NULL; - MDB_dbi dbi; - MDB_stat statbuf; + int status; + MDB_txn * txn = NULL; + MDB_dbi dbi; + MDB_stat statbuf; REQUIRE(countp != NULL); @@ -12669,36 +12433,36 @@ nzd_count(dns_view_t *view, int *countp) { status = mdb_stat(txn, dbi, &statbuf); if (status != MDB_SUCCESS) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, - ISC_LOG_WARNING, "mdb_stat: %s", - mdb_strerror(status)); + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, + "mdb_stat: %s", mdb_strerror(status)); result = ISC_R_FAILURE; goto cleanup; } *countp = statbuf.ms_entries; - cleanup: - (void) nzd_close(&txn, false); +cleanup: + (void)nzd_close(&txn, false); return (result); } static isc_result_t -migrate_nzf(dns_view_t *view) { - isc_result_t result; - cfg_obj_t *nzf_config = NULL; - int status, n; - isc_buffer_t *text = NULL; - bool commit = false; - const cfg_obj_t *zonelist; +migrate_nzf(dns_view_t *view) +{ + isc_result_t result; + cfg_obj_t * nzf_config = NULL; + int status, n; + isc_buffer_t * text = NULL; + bool commit = false; + const cfg_obj_t * zonelist; const cfg_listelt_t *element; - char tempname[PATH_MAX]; - MDB_txn *txn = NULL; - MDB_dbi dbi; - MDB_val key, data; - ns_dzarg_t dzarg; + char tempname[PATH_MAX]; + MDB_txn * txn = NULL; + MDB_dbi dbi; + MDB_val key, data; + ns_dzarg_t dzarg; /* * If NZF file doesn't exist, or NZD DB exists and already @@ -12715,9 +12479,8 @@ migrate_nzf(dns_view_t *view) { goto cleanup; } - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, - ISC_LOG_INFO, + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, "Migrating zones from NZF file '%s' to " "NZD database '%s'", view->new_zone_file, view->new_zone_db); @@ -12731,12 +12494,10 @@ migrate_nzf(dns_view_t *view) { result = cfg_parse_file(named_g_addparser, view->new_zone_file, &cfg_type_addzoneconf, &nzf_config); if (result != ISC_R_SUCCESS) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, - ISC_LOG_ERROR, + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "Error parsing NZF file '%s': %s", - view->new_zone_file, - isc_result_totext(result)); + view->new_zone_file, isc_result_totext(result)); goto cleanup; } @@ -12750,17 +12511,15 @@ migrate_nzf(dns_view_t *view) { isc_buffer_allocate(view->mctx, &text, 256); - for (element = cfg_list_first(zonelist); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(zonelist); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *zconfig; const cfg_obj_t *zoptions; - char zname[DNS_NAME_FORMATSIZE]; - dns_fixedname_t fname; - dns_name_t *name; - const char *origin; - isc_buffer_t b; + char zname[DNS_NAME_FORMATSIZE]; + dns_fixedname_t fname; + dns_name_t * name; + const char * origin; + isc_buffer_t b; zconfig = cfg_listelt_value(element); @@ -12793,10 +12552,8 @@ migrate_nzf(dns_view_t *view) { dzarg.result = ISC_R_SUCCESS; cfg_printx(zoptions, CFG_PRINTER_ONELINE, dumpzone, &dzarg); if (dzarg.result != ISC_R_SUCCESS) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_ERROR, + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "Error writing zone config to " "buffer in migrate_nzf(): %s", isc_result_totext(result)); @@ -12809,10 +12566,8 @@ migrate_nzf(dns_view_t *view) { status = mdb_put(txn, dbi, &key, &data, MDB_NOOVERWRITE); if (status != MDB_SUCCESS) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_ERROR, + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "Error inserting zone in " "NZD database: %s", mdb_strerror(status)); @@ -12836,9 +12591,9 @@ migrate_nzf(dns_view_t *view) { isc_file_rename(view->new_zone_file, tempname); } - cleanup: +cleanup: if (result != ISC_R_SUCCESS) { - (void) nzd_close(&txn, false); + (void)nzd_close(&txn, false); } else { result = nzd_close(&txn, commit); } @@ -12861,18 +12616,18 @@ newzone_parse(named_server_t *server, char *command, dns_view_t **viewp, cfg_obj_t **zoneconfp, const cfg_obj_t **zoneobjp, bool *redirectp, isc_buffer_t **text) { - isc_result_t result; - isc_buffer_t argbuf; - bool redirect = false; - cfg_obj_t *zoneconf = NULL; + isc_result_t result; + isc_buffer_t argbuf; + bool redirect = false; + cfg_obj_t * zoneconf = NULL; const cfg_obj_t *zlist = NULL; const cfg_obj_t *zoneobj = NULL; const cfg_obj_t *zoptions = NULL; const cfg_obj_t *obj = NULL; - const char *viewname = NULL; + const char * viewname = NULL; dns_rdataclass_t rdclass; - dns_view_t *view = NULL; - const char *bn = NULL; + dns_view_t * view = NULL; + const char * bn = NULL; REQUIRE(viewp != NULL && *viewp == NULL); REQUIRE(zoneobjp != NULL && *zoneobjp == NULL); @@ -12880,7 +12635,7 @@ newzone_parse(named_server_t *server, char *command, dns_view_t **viewp, REQUIRE(redirectp != NULL); /* Try to parse the argument string */ - isc_buffer_init(&argbuf, command, (unsigned int) strlen(command)); + isc_buffer_init(&argbuf, command, (unsigned int)strlen(command)); isc_buffer_add(&argbuf, strlen(command)); if (strncasecmp(command, "add", 3) == 0) { @@ -12914,24 +12669,22 @@ newzone_parse(named_server_t *server, char *command, dns_view_t **viewp, obj = NULL; (void)cfg_map_get(zoptions, "type", &obj); if (obj == NULL) { - (void) cfg_map_get(zoptions, "in-view", &obj); + (void)cfg_map_get(zoptions, "in-view", &obj); if (obj != NULL) { - (void) putstr(text, - "'in-view' zones not supported by "); - (void) putstr(text, bn); + (void)putstr(text, "'in-view' zones not supported by "); + (void)putstr(text, bn); } else - (void) putstr(text, "zone type not specified"); + (void)putstr(text, "zone type not specified"); CHECK(ISC_R_FAILURE); } if (strcasecmp(cfg_obj_asstring(obj), "hint") == 0 || strcasecmp(cfg_obj_asstring(obj), "forward") == 0 || - strcasecmp(cfg_obj_asstring(obj), "delegation-only") == 0) - { - (void) putstr(text, "'"); - (void) putstr(text, cfg_obj_asstring(obj)); - (void) putstr(text, "' zones not supported by "); - (void) putstr(text, bn); + strcasecmp(cfg_obj_asstring(obj), "delegation-only") == 0) { + (void)putstr(text, "'"); + (void)putstr(text, cfg_obj_asstring(obj)); + (void)putstr(text, "' zones not supported by "); + (void)putstr(text, bn); CHECK(ISC_R_FAILURE); } @@ -12948,12 +12701,11 @@ newzone_parse(named_server_t *server, char *command, dns_view_t **viewp, viewname = cfg_obj_asstring(obj); if (viewname == NULL || *viewname == '\0') viewname = "_default"; - result = dns_viewlist_find(&server->viewlist, viewname, rdclass, - &view); + result = dns_viewlist_find(&server->viewlist, viewname, rdclass, &view); if (result == ISC_R_NOTFOUND) { - (void) putstr(text, "no matching view found for '"); - (void) putstr(text, viewname); - (void) putstr(text, "'"); + (void)putstr(text, "no matching view found for '"); + (void)putstr(text, viewname); + (void)putstr(text, "'"); goto cleanup; } else if (result != ISC_R_SUCCESS) { goto cleanup; @@ -12966,7 +12718,7 @@ newzone_parse(named_server_t *server, char *command, dns_view_t **viewp, return (ISC_R_SUCCESS); - cleanup: +cleanup: if (zoneconf != NULL) cfg_obj_destroy(named_g_addparser, &zoneconf); if (view != NULL) @@ -12976,16 +12728,15 @@ newzone_parse(named_server_t *server, char *command, dns_view_t **viewp, } static isc_result_t -delete_zoneconf(dns_view_t *view, cfg_parser_t *pctx, - const cfg_obj_t *config, const dns_name_t *zname, - nzfwriter_t nzfwriter) +delete_zoneconf(dns_view_t *view, cfg_parser_t *pctx, const cfg_obj_t *config, + const dns_name_t *zname, nzfwriter_t nzfwriter) { - isc_result_t result = ISC_R_NOTFOUND; + isc_result_t result = ISC_R_NOTFOUND; const cfg_listelt_t *elt = NULL; - const cfg_obj_t *zl = NULL; - cfg_list_t *list; - dns_fixedname_t myfixed; - dns_name_t *myname; + const cfg_obj_t * zl = NULL; + cfg_list_t * list; + dns_fixedname_t myfixed; + dns_name_t * myname; REQUIRE(view != NULL); REQUIRE(pctx != NULL); @@ -13003,18 +12754,15 @@ delete_zoneconf(dns_view_t *view, cfg_parser_t *pctx, myname = dns_fixedname_initname(&myfixed); - for (elt = ISC_LIST_HEAD(*list); - elt != NULL; - elt = ISC_LIST_NEXT(elt, link)) - { + for (elt = ISC_LIST_HEAD(*list); elt != NULL; + elt = ISC_LIST_NEXT(elt, link)) { const cfg_obj_t *zconf = cfg_listelt_value(elt); - const char *zn; - cfg_listelt_t *e; + const char * zn; + cfg_listelt_t * e; zn = cfg_obj_asstring(cfg_tuple_get(zconf, "name")); result = dns_name_fromstring(myname, zn, 0, NULL); - if (result != ISC_R_SUCCESS || - !dns_name_equal(zname, myname)) + if (result != ISC_R_SUCCESS || !dns_name_equal(zname, myname)) continue; DE_CONST(elt, e); @@ -13031,7 +12779,7 @@ delete_zoneconf(dns_view_t *view, cfg_parser_t *pctx, if (nzfwriter != NULL && view->new_zone_file != NULL) result = nzfwriter(config, view); - cleanup: +cleanup: UNLOCK(&view->new_zone_lock); return (result); } @@ -13042,21 +12790,21 @@ do_addzone(named_server_t *server, ns_cfgctx_t *cfg, dns_view_t *view, bool redirect, isc_buffer_t **text) { isc_result_t result, tresult; - dns_zone_t *zone = NULL; + dns_zone_t * zone = NULL; #ifndef HAVE_LMDB FILE *fp = NULL; - bool cleanup_config = false; -#else /* HAVE_LMDB */ + bool cleanup_config = false; +#else /* HAVE_LMDB */ MDB_txn *txn = NULL; - MDB_dbi dbi; + MDB_dbi dbi; UNUSED(zoneconf); #endif /* HAVE_LMDB */ /* Zone shouldn't already exist */ if (redirect) { - result = (view->redirect != NULL) ? ISC_R_SUCCESS : - ISC_R_NOTFOUND; + result = (view->redirect != NULL) ? ISC_R_SUCCESS + : ISC_R_NOTFOUND; } else result = dns_zt_find(view->zonetable, name, 0, NULL, &zone); if (result == ISC_R_SUCCESS) { @@ -13084,7 +12832,7 @@ do_addzone(named_server_t *server, ns_cfgctx_t *cfg, dns_view_t *view, (void)isc_stdio_close(fp); fp = NULL; -#else /* HAVE_LMDB */ +#else /* HAVE_LMDB */ /* Make sure we can open the NZD database */ result = nzd_writable(view); if (result != ISC_R_SUCCESS) { @@ -13123,10 +12871,8 @@ do_addzone(named_server_t *server, ns_cfgctx_t *cfg, dns_view_t *view, } else { result = dns_zt_find(view->zonetable, name, 0, NULL, &zone); if (result != ISC_R_SUCCESS) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_ERROR, + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "added new zone was not found: %s", isc_result_totext(result)); goto cleanup; @@ -13144,8 +12890,8 @@ do_addzone(named_server_t *server, ns_cfgctx_t *cfg, dns_view_t *view, } else { cfg_obj_t *z; DE_CONST(zoneobj, z); - CHECK(cfg_parser_mapadd(cfg->add_parser, - cfg->nzf_config, z, "zone")); + CHECK(cfg_parser_mapadd(cfg->add_parser, cfg->nzf_config, z, + "zone")); } cleanup_config = true; #endif /* HAVE_LMDB */ @@ -13188,20 +12934,19 @@ do_addzone(named_server_t *server, ns_cfgctx_t *cfg, dns_view_t *view, result = nzf_append(view, zoneobj); #endif /* HAVE_LMDB */ - cleanup: +cleanup: #ifndef HAVE_LMDB if (fp != NULL) (void)isc_stdio_close(fp); if (result != ISC_R_SUCCESS && cleanup_config) { tresult = delete_zoneconf(view, cfg->add_parser, - cfg->nzf_config, name, - NULL); + cfg->nzf_config, name, NULL); RUNTIME_CHECK(tresult == ISC_R_SUCCESS); } -#else /* HAVE_LMDB */ +#else /* HAVE_LMDB */ if (txn != NULL) - (void) nzd_close(&txn, false); + (void)nzd_close(&txn, false); #endif /* HAVE_LMDB */ if (zone != NULL) @@ -13216,15 +12961,15 @@ do_modzone(named_server_t *server, ns_cfgctx_t *cfg, dns_view_t *view, bool redirect, isc_buffer_t **text) { isc_result_t result, tresult; - dns_zone_t *zone = NULL; - bool added; - bool exclusive = false; + dns_zone_t * zone = NULL; + bool added; + bool exclusive = false; #ifndef HAVE_LMDB - FILE *fp = NULL; + FILE * fp = NULL; cfg_obj_t *z; -#else /* HAVE_LMDB */ +#else /* HAVE_LMDB */ MDB_txn *txn = NULL; - MDB_dbi dbi; + MDB_dbi dbi; #endif /* HAVE_LMDB */ /* Zone must already exist */ @@ -13243,7 +12988,7 @@ do_modzone(named_server_t *server, ns_cfgctx_t *cfg, dns_view_t *view, dns_zone_detach(&zone); #ifndef HAVE_LMDB - cfg = (ns_cfgctx_t *) view->new_zone_config; + cfg = (ns_cfgctx_t *)view->new_zone_config; if (cfg == NULL) { TCHECK(putstr(text, "new zone config is not set")); CHECK(ISC_R_FAILURE); @@ -13266,7 +13011,7 @@ do_modzone(named_server_t *server, ns_cfgctx_t *cfg, dns_view_t *view, } (void)isc_stdio_close(fp); fp = NULL; -#else /* HAVE_LMDB */ +#else /* HAVE_LMDB */ /* Make sure we can open the NZD database */ result = nzd_writable(view); if (result != ISC_R_SUCCESS) { @@ -13303,13 +13048,10 @@ do_modzone(named_server_t *server, ns_cfgctx_t *cfg, dns_view_t *view, } else CHECK(dns_zt_find(view->zonetable, name, 0, NULL, &zone)); - - #ifndef HAVE_LMDB /* Remove old zone from configuration (and NZF file if applicable) */ if (added) { - result = delete_zoneconf(view, cfg->add_parser, - cfg->nzf_config, + result = delete_zoneconf(view, cfg->add_parser, cfg->nzf_config, dns_zone_getorigin(zone), nzf_writeconf); if (result != ISC_R_SUCCESS) { @@ -13323,17 +13065,15 @@ do_modzone(named_server_t *server, ns_cfgctx_t *cfg, dns_view_t *view, if (!added) { if (cfg->vconfig == NULL) { - result = delete_zoneconf(view, cfg->conf_parser, - cfg->config, - dns_zone_getorigin(zone), - NULL); + result = delete_zoneconf( + view, cfg->conf_parser, cfg->config, + dns_zone_getorigin(zone), NULL); } else { const cfg_obj_t *voptions = cfg_tuple_get(cfg->vconfig, "options"); - result = delete_zoneconf(view, cfg->conf_parser, - voptions, - dns_zone_getorigin(zone), - NULL); + result = delete_zoneconf( + view, cfg->conf_parser, voptions, + dns_zone_getorigin(zone), NULL); } if (result != ISC_R_SUCCESS) { @@ -13409,16 +13149,16 @@ do_modzone(named_server_t *server, ns_cfgctx_t *cfg, dns_view_t *view, TCHECK(putstr(text, "named.conf to make changes permanent.")); } - cleanup: +cleanup: if (exclusive) isc_task_endexclusive(server->task); #ifndef HAVE_LMDB if (fp != NULL) (void)isc_stdio_close(fp); -#else /* HAVE_LMDB */ +#else /* HAVE_LMDB */ if (txn != NULL) - (void) nzd_close(&txn, false); + (void)nzd_close(&txn, false); #endif /* HAVE_LMDB */ if (zone != NULL) @@ -13434,17 +13174,17 @@ isc_result_t named_server_changezone(named_server_t *server, char *command, isc_buffer_t **text) { - isc_result_t result; - bool addzone; - bool redirect = false; - ns_cfgctx_t *cfg = NULL; - cfg_obj_t *zoneconf = NULL; + isc_result_t result; + bool addzone; + bool redirect = false; + ns_cfgctx_t * cfg = NULL; + cfg_obj_t * zoneconf = NULL; const cfg_obj_t *zoneobj = NULL; - const char *zonename; - dns_view_t *view = NULL; - isc_buffer_t buf; - dns_fixedname_t fname; - dns_name_t *dnsname; + const char * zonename; + dns_view_t * view = NULL; + isc_buffer_t buf; + dns_fixedname_t fname; + dns_name_t * dnsname; if (strncasecmp(command, "add", 3) == 0) addzone = true; @@ -13453,8 +13193,8 @@ named_server_changezone(named_server_t *server, char *command, addzone = false; } - CHECK(newzone_parse(server, command, &view, &zoneconf, - &zoneobj, &redirect, text)); + CHECK(newzone_parse(server, command, &view, &zoneconf, &zoneobj, + &redirect, text)); /* Are we accepting new zones in this view? */ #ifdef HAVE_LMDB @@ -13463,14 +13203,14 @@ named_server_changezone(named_server_t *server, char *command, if (view->new_zone_file == NULL) #endif /* HAVE_LMDB */ { - (void) putstr(text, "Not allowing new zones in view '"); - (void) putstr(text, view->name); - (void) putstr(text, "'"); + (void)putstr(text, "Not allowing new zones in view '"); + (void)putstr(text, view->name); + (void)putstr(text, "'"); result = ISC_R_NOPERM; goto cleanup; } - cfg = (ns_cfgctx_t *) view->new_zone_config; + cfg = (ns_cfgctx_t *)view->new_zone_config; if (cfg == NULL) { result = ISC_R_FAILURE; goto cleanup; @@ -13485,32 +13225,31 @@ named_server_changezone(named_server_t *server, char *command, if (redirect) { if (!dns_name_equal(dnsname, dns_rootname)) { - (void) putstr(text, - "redirect zones must be called \".\""); + (void)putstr(text, "redirect zones must be called " + "\".\""); CHECK(ISC_R_FAILURE); } } if (addzone) - CHECK(do_addzone(server, cfg, view, dnsname, zoneconf, - zoneobj, redirect, text)); + CHECK(do_addzone(server, cfg, view, dnsname, zoneconf, zoneobj, + redirect, text)); else - CHECK(do_modzone(server, cfg, view, dnsname, zonename, - zoneobj, redirect, text)); + CHECK(do_modzone(server, cfg, view, dnsname, zonename, zoneobj, + redirect, text)); isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, "%s zone %s in view %s via %s", - addzone ? "added" : "updated", - zonename, view->name, + addzone ? "added" : "updated", zonename, view->name, addzone ? NAMED_COMMAND_ADDZONE : NAMED_COMMAND_MODZONE); /* Changing a zone counts as reconfiguration */ CHECK(isc_time_now(&named_g_configtime)); - cleanup: +cleanup: if (isc_buffer_usedlength(*text) > 0) - (void) putnull(text); + (void)putnull(text); if (zoneconf != NULL) cfg_obj_destroy(named_g_addparser, &zoneconf); if (view != NULL) @@ -13520,16 +13259,16 @@ named_server_changezone(named_server_t *server, char *command, } static bool -inuse(const char* file, bool first, isc_buffer_t **text) { +inuse(const char *file, bool first, isc_buffer_t **text) +{ if (file != NULL && isc_file_exists(file)) { if (first) - (void) putstr(text, - "The following files were in use " - "and may now be removed:\n"); + (void)putstr(text, "The following files were in use " + "and may now be removed:\n"); else - (void) putstr(text, "\n"); - (void) putstr(text, file); - (void) putnull(text); + (void)putstr(text, "\n"); + (void)putstr(text, file); + (void)putnull(text); return (false); } return (first); @@ -13537,25 +13276,26 @@ inuse(const char* file, bool first, isc_buffer_t **text) { typedef struct { dns_zone_t *zone; - bool cleanup; + bool cleanup; } ns_dzctx_t; /* * Carry out a zone deletion scheduled by named_server_delzone(). */ static void -rmzone(isc_task_t *task, isc_event_t *event) { - ns_dzctx_t *dz = (ns_dzctx_t *)event->ev_arg; - dns_zone_t *zone, *raw = NULL, *mayberaw; - char zonename[DNS_NAME_FORMATSIZE]; - dns_view_t *view; +rmzone(isc_task_t *task, isc_event_t *event) +{ + ns_dzctx_t * dz = (ns_dzctx_t *)event->ev_arg; + dns_zone_t * zone, *raw = NULL, *mayberaw; + char zonename[DNS_NAME_FORMATSIZE]; + dns_view_t * view; ns_cfgctx_t *cfg; - dns_db_t *dbp = NULL; - bool added; + dns_db_t * dbp = NULL; + bool added; isc_result_t result; #ifdef HAVE_LMDB MDB_txn *txn = NULL; - MDB_dbi dbi; + MDB_dbi dbi; #endif REQUIRE(dz != NULL); @@ -13565,13 +13305,13 @@ rmzone(isc_task_t *task, isc_event_t *event) { /* Dig out configuration for this zone */ zone = dz->zone; view = dns_zone_getview(zone); - cfg = (ns_cfgctx_t *) view->new_zone_config; + cfg = (ns_cfgctx_t *)view->new_zone_config; dns_name_format(dns_zone_getorigin(zone), zonename, sizeof(zonename)); isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, - "deleting zone %s in view %s via delzone", - zonename, view->name); + "deleting zone %s in view %s via delzone", zonename, + view->name); /* Remove the zone from configuration (and NZF file if applicable) */ added = dns_zone_getadded(zone); @@ -13582,8 +13322,7 @@ rmzone(isc_task_t *task, isc_event_t *event) { result = nzd_open(view, 0, &txn, &dbi); if (result != ISC_R_SUCCESS) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_ERROR, + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "unable to open NZD database for '%s'", view->new_zone_db); } else { @@ -13592,20 +13331,19 @@ rmzone(isc_task_t *task, isc_event_t *event) { if (result != ISC_R_SUCCESS) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_ERROR, "unable to " + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, + "unable to " "delete zone configuration: %s", isc_result_totext(result)); } #else - result = delete_zoneconf(view, cfg->add_parser, - cfg->nzf_config, + result = delete_zoneconf(view, cfg->add_parser, cfg->nzf_config, dns_zone_getorigin(zone), nzf_writeconf); if (result != ISC_R_SUCCESS) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_ERROR, "unable to " + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, + "unable to " "delete zone configuration: %s", isc_result_totext(result)); } @@ -13616,20 +13354,18 @@ rmzone(isc_task_t *task, isc_event_t *event) { if (cfg->vconfig != NULL) { const cfg_obj_t *voptions = cfg_tuple_get(cfg->vconfig, "options"); - result = delete_zoneconf(view, cfg->conf_parser, - voptions, - dns_zone_getorigin(zone), - NULL); + result = delete_zoneconf( + view, cfg->conf_parser, voptions, + dns_zone_getorigin(zone), NULL); } else { - result = delete_zoneconf(view, cfg->conf_parser, - cfg->config, - dns_zone_getorigin(zone), - NULL); + result = delete_zoneconf( + view, cfg->conf_parser, cfg->config, + dns_zone_getorigin(zone), NULL); } - if (result != ISC_R_SUCCESS){ + if (result != ISC_R_SUCCESS) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_ERROR, "unable to " + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, + "unable to " "delete zone configuration: %s", isc_result_totext(result)); } @@ -13653,8 +13389,8 @@ rmzone(isc_task_t *task, isc_event_t *event) { if (result != ISC_R_SUCCESS) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, - "file %s not removed: %s", - file, isc_result_totext(result)); + "file %s not removed: %s", file, + isc_result_totext(result)); } file = dns_zone_getjournal(mayberaw); @@ -13662,38 +13398,36 @@ rmzone(isc_task_t *task, isc_event_t *event) { if (result != ISC_R_SUCCESS) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, - "file %s not removed: %s", - file, isc_result_totext(result)); + "file %s not removed: %s", file, + isc_result_totext(result)); } if (zone != mayberaw) { file = dns_zone_getfile(zone); result = isc_file_remove(file); if (result != ISC_R_SUCCESS) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_WARNING, - "file %s not removed: %s", - file, isc_result_totext(result)); + isc_log_write( + named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, + "file %s not removed: %s", file, + isc_result_totext(result)); } file = dns_zone_getjournal(zone); result = isc_file_remove(file); if (result != ISC_R_SUCCESS) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_WARNING, - "file %s not removed: %s", - file, isc_result_totext(result)); + isc_log_write( + named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, + "file %s not removed: %s", file, + isc_result_totext(result)); } } } #ifdef HAVE_LMDB if (txn != NULL) - (void) nzd_close(&txn, false); + (void)nzd_close(&txn, false); #endif if (raw != NULL) dns_zone_detach(&raw); @@ -13710,17 +13444,17 @@ named_server_delzone(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { isc_result_t result, tresult; - dns_zone_t *zone = NULL; - dns_zone_t *raw = NULL; - dns_zone_t *mayberaw; - dns_view_t *view = NULL; - char zonename[DNS_NAME_FORMATSIZE]; - bool cleanup = false; - const char *ptr; - bool added; - ns_dzctx_t *dz = NULL; + dns_zone_t * zone = NULL; + dns_zone_t * raw = NULL; + dns_zone_t * mayberaw; + dns_view_t * view = NULL; + char zonename[DNS_NAME_FORMATSIZE]; + bool cleanup = false; + const char * ptr; + bool added; + ns_dzctx_t * dz = NULL; isc_event_t *dzevent = NULL; - isc_task_t *task = NULL; + isc_task_t * task = NULL; /* Skip the command name. */ ptr = next_token(lex, text); @@ -13737,8 +13471,7 @@ named_server_delzone(named_server_t *server, isc_lex_t *lex, ptr = next_token(lex, text); } - CHECK(zone_from_args(server, lex, ptr, &zone, zonename, - text, false)); + CHECK(zone_from_args(server, lex, ptr, &zone, zonename, text, false)); if (zone == NULL) { result = ISC_R_UNEXPECTEDEND; goto cleanup; @@ -13750,8 +13483,8 @@ named_server_delzone(named_server_t *server, isc_lex_t *lex, if (dns_zone_get_rpz_num(zone) != DNS_RPZ_INVALID_NUM) { TCHECK(putstr(text, "zone '")); TCHECK(putstr(text, zonename)); - TCHECK(putstr(text, - "' cannot be deleted: response-policy zone.")); + TCHECK(putstr(text, "' cannot be deleted: response-policy " + "zone.")); result = ISC_R_FAILURE; goto cleanup; } @@ -13783,8 +13516,8 @@ named_server_delzone(named_server_t *server, isc_lex_t *lex, if (!added) { TCHECK(putstr(text, "zone '")); TCHECK(putstr(text, zonename)); - TCHECK(putstr(text, - "' is no longer active and will be deleted.\n")); + TCHECK(putstr(text, "' is no longer active and will be " + "deleted.\n")); TCHECK(putstr(text, "To keep it from returning ")); TCHECK(putstr(text, "when the server is restarted, it\n")); TCHECK(putstr(text, "must also be removed from named.conf.")); @@ -13794,9 +13527,8 @@ named_server_delzone(named_server_t *server, isc_lex_t *lex, TCHECK(putstr(text, "' and associated files will be deleted.")); } else if (dns_zone_gettype(mayberaw) == dns_zone_slave || dns_zone_gettype(mayberaw) == dns_zone_mirror || - dns_zone_gettype(mayberaw) == dns_zone_stub) - { - bool first; + dns_zone_gettype(mayberaw) == dns_zone_stub) { + bool first; const char *file; TCHECK(putstr(text, "zone '")); @@ -13814,7 +13546,7 @@ named_server_delzone(named_server_t *server, isc_lex_t *lex, first = inuse(file, first, text); file = dns_zone_getjournal(zone); - (void) inuse(file, first, text); + (void)inuse(file, first, text); } } @@ -13827,9 +13559,9 @@ named_server_delzone(named_server_t *server, isc_lex_t *lex, result = ISC_R_SUCCESS; - cleanup: +cleanup: if (isc_buffer_usedlength(*text) > 0) - (void) putnull(text); + (void)putnull(text); if (raw != NULL) dns_zone_detach(&raw); if (zone != NULL) @@ -13840,15 +13572,15 @@ named_server_delzone(named_server_t *server, isc_lex_t *lex, static const cfg_obj_t * find_name_in_list_from_map(const cfg_obj_t *config, - const char *map_key_for_list, - const char *name, bool redirect) + const char *map_key_for_list, const char *name, + bool redirect) { - const cfg_obj_t *list = NULL; + const cfg_obj_t * list = NULL; const cfg_listelt_t *element; - const cfg_obj_t *obj = NULL; - dns_fixedname_t fixed1, fixed2; - dns_name_t *name1 = NULL, *name2 = NULL; - isc_result_t result; + const cfg_obj_t * obj = NULL; + dns_fixedname_t fixed1, fixed2; + dns_name_t * name1 = NULL, *name2 = NULL; + isc_result_t result; if (strcmp(map_key_for_list, "zone") == 0) { name1 = dns_fixedname_initname(&fixed1); @@ -13858,10 +13590,8 @@ find_name_in_list_from_map(const cfg_obj_t *config, } cfg_map_get(config, map_key_for_list, &list); - for (element = cfg_list_first(list); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(list); element != NULL; + element = cfg_list_next(element)) { const char *vname; obj = cfg_listelt_value(element); @@ -13899,8 +13629,9 @@ find_name_in_list_from_map(const cfg_obj_t *config, } static void -emitzone(void *arg, const char *buf, int len) { - ns_dzarg_t *dzarg = arg; +emitzone(void *arg, const char *buf, int len) +{ + ns_dzarg_t * dzarg = arg; isc_result_t result; REQUIRE(dzarg != NULL && ISC_MAGIC_VALID(dzarg, DZARG_MAGIC)); @@ -13917,23 +13648,22 @@ isc_result_t named_server_showzone(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { - isc_result_t result; - const cfg_obj_t *vconfig = NULL, *zconfig = NULL; - char zonename[DNS_NAME_FORMATSIZE]; + isc_result_t result; + const cfg_obj_t *vconfig = NULL, *zconfig = NULL; + char zonename[DNS_NAME_FORMATSIZE]; const cfg_obj_t *map; - dns_view_t *view = NULL; - dns_zone_t *zone = NULL; - ns_cfgctx_t *cfg = NULL; - bool exclusive = false; + dns_view_t * view = NULL; + dns_zone_t * zone = NULL; + ns_cfgctx_t * cfg = NULL; + bool exclusive = false; #ifdef HAVE_LMDB cfg_obj_t *nzconfig = NULL; #endif /* HAVE_LMDB */ - bool added, redirect; + bool added, redirect; ns_dzarg_t dzarg; /* Parse parameters */ - CHECK(zone_from_args(server, lex, NULL, &zone, zonename, - text, true)); + CHECK(zone_from_args(server, lex, NULL, &zone, zonename, text, true)); if (zone == NULL) { result = ISC_R_UNEXPECTEDEND; goto cleanup; @@ -13944,7 +13674,7 @@ named_server_showzone(named_server_t *server, isc_lex_t *lex, view = dns_zone_getview(zone); dns_zone_detach(&zone); - cfg = (ns_cfgctx_t *) view->new_zone_config; + cfg = (ns_cfgctx_t *)view->new_zone_config; if (cfg == NULL) { result = ISC_R_FAILURE; goto cleanup; @@ -13971,10 +13701,9 @@ named_server_showzone(named_server_t *server, isc_lex_t *lex, #ifndef HAVE_LMDB if (zconfig == NULL && cfg->nzf_config != NULL) - zconfig = find_name_in_list_from_map(cfg->nzf_config, - "zone", zonename, - redirect); -#else /* HAVE_LMDB */ + zconfig = find_name_in_list_from_map(cfg->nzf_config, "zone", + zonename, redirect); +#else /* HAVE_LMDB */ if (zconfig == NULL) { const cfg_obj_t *zlist = NULL; CHECK(get_newzone_config(view, zonename, &nzconfig)); @@ -14000,13 +13729,13 @@ named_server_showzone(named_server_t *server, isc_lex_t *lex, result = ISC_R_SUCCESS; - cleanup: +cleanup: #ifdef HAVE_LMDB if (nzconfig != NULL) cfg_obj_destroy(named_g_addparser, &nzconfig); #endif /* HAVE_LMDB */ if (isc_buffer_usedlength(*text) > 0) - (void) putnull(text); + (void)putnull(text); if (exclusive) isc_task_endexclusive(server->task); @@ -14014,7 +13743,8 @@ named_server_showzone(named_server_t *server, isc_lex_t *lex, } static void -newzone_cfgctx_destroy(void **cfgp) { +newzone_cfgctx_destroy(void **cfgp) +{ ns_cfgctx_t *cfg; REQUIRE(cfgp != NULL && *cfgp != NULL); @@ -14042,11 +13772,12 @@ newzone_cfgctx_destroy(void **cfgp) { } static isc_result_t -generate_salt(unsigned char *salt, size_t saltlen) { +generate_salt(unsigned char *salt, size_t saltlen) +{ unsigned char text[512 + 1]; - isc_region_t r; - isc_buffer_t buf; - isc_result_t result; + isc_region_t r; + isc_buffer_t buf; + isc_result_t result; if (saltlen > 256U) return (ISC_R_RANGE); @@ -14054,7 +13785,7 @@ generate_salt(unsigned char *salt, size_t saltlen) { isc_nonce_buf(salt, saltlen); r.base = salt; - r.length = (unsigned int) saltlen; + r.length = (unsigned int)saltlen; isc_buffer_init(&buf, text, sizeof(text)); result = isc_hex_totext(&r, 2, "", &buf); @@ -14072,24 +13803,24 @@ isc_result_t named_server_signing(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { - isc_result_t result = ISC_R_SUCCESS; - dns_zone_t *zone = NULL; - dns_name_t *origin; - dns_db_t *db = NULL; - dns_dbnode_t *node = NULL; + isc_result_t result = ISC_R_SUCCESS; + dns_zone_t * zone = NULL; + dns_name_t * origin; + dns_db_t * db = NULL; + dns_dbnode_t * node = NULL; dns_dbversion_t *version = NULL; - dns_rdatatype_t privatetype; - dns_rdataset_t privset; - bool first = true; - bool list = false, clear = false; - bool chain = false; - bool setserial = false; - uint32_t serial = 0; + dns_rdatatype_t privatetype; + dns_rdataset_t privset; + bool first = true; + bool list = false, clear = false; + bool chain = false; + bool setserial = false; + uint32_t serial = 0; char keystr[DNS_SECALG_FORMATSIZE + 7]; /* <5-digit keyid>/ */ unsigned short hash = 0, flags = 0, iter = 0, saltlen = 0; - unsigned char salt[255]; - const char *ptr; - size_t n; + unsigned char salt[255]; + const char * ptr; + size_t n; dns_rdataset_init(&privset); @@ -14105,9 +13836,8 @@ named_server_signing(named_server_t *server, isc_lex_t *lex, if (strcasecmp(ptr, "-list") == 0) list = true; - else if ((strcasecmp(ptr, "-clear") == 0) || - (strcasecmp(ptr, "-clean") == 0)) - { + else if ((strcasecmp(ptr, "-clear") == 0) || + (strcasecmp(ptr, "-clean") == 0)) { clear = true; ptr = next_token(lex, text); if (ptr == NULL) @@ -14137,8 +13867,8 @@ named_server_signing(named_server_t *server, isc_lex_t *lex, return (ISC_R_UNEXPECTEDEND); strlcpy(iterbuf, ptr, sizeof(iterbuf)); - n = snprintf(nbuf, sizeof(nbuf), "%s %s %s", - hashbuf, flagbuf, iterbuf); + n = snprintf(nbuf, sizeof(nbuf), "%s %s %s", hashbuf, + flagbuf, iterbuf); if (n == sizeof(nbuf)) return (ISC_R_NOSPACE); n = sscanf(nbuf, "%hu %hu %hu", &hash, &flags, &iter); @@ -14177,26 +13907,24 @@ named_server_signing(named_server_t *server, isc_lex_t *lex, } else CHECK(DNS_R_SYNTAX); - CHECK(zone_from_args(server, lex, NULL, &zone, NULL, - text, false)); + CHECK(zone_from_args(server, lex, NULL, &zone, NULL, text, false)); if (zone == NULL) CHECK(ISC_R_UNEXPECTEDEND); if (clear) { CHECK(dns_zone_keydone(zone, keystr)); - (void) putstr(text, "request queued"); - (void) putnull(text); + (void)putstr(text, "request queued"); + (void)putnull(text); } else if (chain) { CHECK(dns_zone_setnsec3param(zone, (uint8_t)hash, (uint8_t)flags, iter, - (uint8_t)saltlen, salt, - true)); - (void) putstr(text, "nsec3param request queued"); - (void) putnull(text); + (uint8_t)saltlen, salt, true)); + (void)putstr(text, "nsec3param request queued"); + (void)putnull(text); } else if (setserial) { CHECK(dns_zone_setserial(zone, serial)); - (void) putstr(text, "serial request queued"); - (void) putnull(text); + (void)putstr(text, "serial request queued"); + (void)putnull(text); } else if (list) { privatetype = dns_zone_getprivatetype(zone); origin = dns_zone_getorigin(zone); @@ -14205,21 +13933,20 @@ named_server_signing(named_server_t *server, isc_lex_t *lex, dns_db_currentversion(db, &version); result = dns_db_findrdataset(db, node, version, privatetype, - dns_rdatatype_none, 0, - &privset, NULL); + dns_rdatatype_none, 0, &privset, + NULL); if (result == ISC_R_NOTFOUND) { - (void) putstr(text, "No signing records found"); - (void) putnull(text); + (void)putstr(text, "No signing records found"); + (void)putnull(text); result = ISC_R_SUCCESS; goto cleanup; } for (result = dns_rdataset_first(&privset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(&privset)) - { - dns_rdata_t priv = DNS_RDATA_INIT; - char output[BUFSIZ]; + result = dns_rdataset_next(&privset)) { + dns_rdata_t priv = DNS_RDATA_INIT; + char output[BUFSIZ]; isc_buffer_t buf; dns_rdataset_current(&privset, &priv); @@ -14238,7 +13965,7 @@ named_server_signing(named_server_t *server, isc_lex_t *lex, result = ISC_R_SUCCESS; } - cleanup: +cleanup: if (dns_rdataset_isassociated(&privset)) dns_rdataset_disassociate(&privset); if (node != NULL) @@ -14254,7 +13981,8 @@ named_server_signing(named_server_t *server, isc_lex_t *lex, } static isc_result_t -putmem(isc_buffer_t **b, const char *str, size_t len) { +putmem(isc_buffer_t **b, const char *str, size_t len) +{ isc_result_t result; result = isc_buffer_reserve(b, (unsigned int)len); @@ -14266,12 +13994,14 @@ putmem(isc_buffer_t **b, const char *str, size_t len) { } static inline isc_result_t -putstr(isc_buffer_t **b, const char *str) { +putstr(isc_buffer_t **b, const char *str) +{ return (putmem(b, str, strlen(str))); } static isc_result_t -putuint8(isc_buffer_t **b, uint8_t val) { +putuint8(isc_buffer_t **b, uint8_t val) +{ isc_result_t result; result = isc_buffer_reserve(b, 1); @@ -14283,7 +14013,8 @@ putuint8(isc_buffer_t **b, uint8_t val) { } static inline isc_result_t -putnull(isc_buffer_t **b) { +putnull(isc_buffer_t **b) +{ return (putuint8(b, 0)); } @@ -14292,26 +14023,26 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { isc_result_t result = ISC_R_SUCCESS; - dns_zone_t *zone = NULL, *raw = NULL, *mayberaw = NULL; - const char *type, *file; - char zonename[DNS_NAME_FORMATSIZE]; - uint32_t serial, signed_serial, nodes; - char serbuf[16], sserbuf[16], nodebuf[16]; + dns_zone_t * zone = NULL, *raw = NULL, *mayberaw = NULL; + const char * type, *file; + char zonename[DNS_NAME_FORMATSIZE]; + uint32_t serial, signed_serial, nodes; + char serbuf[16], sserbuf[16], nodebuf[16]; char resignbuf[DNS_NAME_FORMATSIZE + DNS_RDATATYPE_FORMATSIZE + 2]; char lbuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; char xbuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; char rbuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; char kbuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; char rtbuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; - isc_time_t loadtime, expiretime, refreshtime; - isc_time_t refreshkeytime, resigntime; + isc_time_t loadtime, expiretime, refreshtime; + isc_time_t refreshkeytime, resigntime; dns_zonetype_t zonetype; - bool dynamic = false, frozen = false; - bool hasraw = false; - bool secure, maintain, allow; - dns_db_t *db = NULL, *rawdb = NULL; - char **incfiles = NULL; - int nfiles = 0; + bool dynamic = false, frozen = false; + bool hasraw = false; + bool secure, maintain, allow; + dns_db_t * db = NULL, *rawdb = NULL; + char ** incfiles = NULL; + int nfiles = 0; isc_time_settoepoch(&loadtime); isc_time_settoepoch(&refreshtime); @@ -14319,8 +14050,7 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex, isc_time_settoepoch(&refreshkeytime); isc_time_settoepoch(&resigntime); - CHECK(zone_from_args(server, lex, NULL, &zone, zonename, - text, true)); + CHECK(zone_from_args(server, lex, NULL, &zone, zonename, text, true)); if (zone == NULL) { result = ISC_R_UNEXPECTEDEND; goto cleanup; @@ -14402,11 +14132,8 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex, isc_time_formathttptimestamp(&loadtime, lbuf, sizeof(lbuf)); /* Refresh/expire times */ - if (zonetype == dns_zone_slave || - zonetype == dns_zone_mirror || - zonetype == dns_zone_stub || - zonetype == dns_zone_redirect) - { + if (zonetype == dns_zone_slave || zonetype == dns_zone_mirror || + zonetype == dns_zone_stub || zonetype == dns_zone_redirect) { dns_zone_getexpiretime(mayberaw, &expiretime); isc_time_formathttptimestamp(&expiretime, xbuf, sizeof(xbuf)); dns_zone_getrefreshtime(mayberaw, &refreshtime); @@ -14415,8 +14142,7 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex, /* Key refresh time */ if (zonetype == dns_zone_master || - (zonetype == dns_zone_slave && hasraw)) - { + (zonetype == dns_zone_slave && hasraw)) { dns_zone_getrefreshkeytime(zone, &refreshkeytime); isc_time_formathttptimestamp(&refreshkeytime, kbuf, sizeof(kbuf)); @@ -14429,13 +14155,13 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex, } /* Next resign event */ - if (secure && (zonetype == dns_zone_master || + if (secure && + (zonetype == dns_zone_master || (zonetype == dns_zone_slave && hasraw)) && - ((dns_zone_getkeyopts(zone) & DNS_ZONEKEY_NORESIGN) == 0)) - { - dns_name_t *name; + ((dns_zone_getkeyopts(zone) & DNS_ZONEKEY_NORESIGN) == 0)) { + dns_name_t * name; dns_fixedname_t fixed; - dns_rdataset_t next; + dns_rdataset_t next; dns_rdataset_init(&next); name = dns_fixedname_initname(&fixed); @@ -14443,17 +14169,20 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex, result = dns_db_getsigningtime(db, &next, name); if (result == ISC_R_SUCCESS) { isc_stdtime_t timenow; - char namebuf[DNS_NAME_FORMATSIZE]; - char typebuf[DNS_RDATATYPE_FORMATSIZE]; + char namebuf[DNS_NAME_FORMATSIZE]; + char typebuf[DNS_RDATATYPE_FORMATSIZE]; isc_stdtime_get(&timenow); dns_name_format(name, namebuf, sizeof(namebuf)); - dns_rdatatype_format(next.covers, - typebuf, sizeof(typebuf)); - snprintf(resignbuf, sizeof(resignbuf), - "%s/%s", namebuf, typebuf); - isc_time_set(&resigntime, next.resign - - dns_zone_getsigresigninginterval(zone), 0); + dns_rdatatype_format(next.covers, typebuf, + sizeof(typebuf)); + snprintf(resignbuf, sizeof(resignbuf), "%s/%s", namebuf, + typebuf); + isc_time_set( + &resigntime, + next.resign - + dns_zone_getsigresigninginterval(zone), + 0); isc_time_formathttptimestamp(&resigntime, rtbuf, sizeof(rtbuf)); dns_rdataset_disassociate(&next); @@ -14489,17 +14218,17 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex, CHECK(putstr(text, "\nnodes: ")); CHECK(putstr(text, nodebuf)); - if (! isc_time_isepoch(&loadtime)) { + if (!isc_time_isepoch(&loadtime)) { CHECK(putstr(text, "\nlast loaded: ")); CHECK(putstr(text, lbuf)); } - if (! isc_time_isepoch(&refreshtime)) { + if (!isc_time_isepoch(&refreshtime)) { CHECK(putstr(text, "\nnext refresh: ")); CHECK(putstr(text, rbuf)); } - if (! isc_time_isepoch(&expiretime)) { + if (!isc_time_isepoch(&expiretime)) { CHECK(putstr(text, "\nexpires: ")); CHECK(putstr(text, xbuf)); } @@ -14517,7 +14246,7 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex, if (maintain) { CHECK(putstr(text, "\nkey maintenance: automatic")); - if (! isc_time_isepoch(&refreshkeytime)) { + if (!isc_time_isepoch(&refreshkeytime)) { CHECK(putstr(text, "\nnext key event: ")); CHECK(putstr(text, kbuf)); } @@ -14548,13 +14277,13 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex, CHECK(putstr(text, "\nreconfigurable via modzone: ")); CHECK(putstr(text, dns_zone_getadded(zone) ? "yes" : "no")); - cleanup: +cleanup: /* Indicate truncated output if possible. */ if (result == ISC_R_NOSPACE) { - (void) putstr(text, "\n..."); + (void)putstr(text, "\n..."); } if ((result == ISC_R_SUCCESS || result == ISC_R_NOSPACE)) { - (void) putnull(text); + (void)putnull(text); } if (db != NULL) { @@ -14564,7 +14293,7 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex, dns_db_detach(&rawdb); } if (incfiles != NULL && mayberaw != NULL) { - int i; + int i; isc_mem_t *mctx = dns_zone_getmctx(mayberaw); for (i = 0; i < nfiles; i++) { @@ -14584,7 +14313,8 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex, } static inline bool -argcheck(char *cmd, const char *full) { +argcheck(char *cmd, const char *full) +{ size_t l; if (cmd == NULL || cmd[0] != '-') @@ -14599,27 +14329,27 @@ argcheck(char *cmd, const char *full) { } isc_result_t -named_server_nta(named_server_t *server, isc_lex_t *lex, - bool readonly, isc_buffer_t **text) +named_server_nta(named_server_t *server, isc_lex_t *lex, bool readonly, + isc_buffer_t **text) { - dns_view_t *view; - dns_ntatable_t *ntatable = NULL; - isc_result_t result = ISC_R_SUCCESS; - char *ptr, *nametext = NULL, *viewname; - char namebuf[DNS_NAME_FORMATSIZE]; - char viewbuf[DNS_NAME_FORMATSIZE]; - isc_stdtime_t now, when; - isc_time_t t; - char tbuf[64]; - const char *msg = NULL; - bool dump = false, force = false; - dns_fixedname_t fn; + dns_view_t * view; + dns_ntatable_t * ntatable = NULL; + isc_result_t result = ISC_R_SUCCESS; + char * ptr, *nametext = NULL, *viewname; + char namebuf[DNS_NAME_FORMATSIZE]; + char viewbuf[DNS_NAME_FORMATSIZE]; + isc_stdtime_t now, when; + isc_time_t t; + char tbuf[64]; + const char * msg = NULL; + bool dump = false, force = false; + dns_fixedname_t fn; const dns_name_t *ntaname; - dns_name_t *fname; - dns_ttl_t ntattl; - bool ttlset = false, excl = false, viewfound = false; - dns_rdataclass_t rdclass = dns_rdataclass_in; - bool first = true; + dns_name_t * fname; + dns_ttl_t ntattl; + bool ttlset = false, excl = false, viewfound = false; + dns_rdataclass_t rdclass = dns_rdataclass_in; + bool first = true; UNUSED(force); @@ -14632,7 +14362,6 @@ named_server_nta(named_server_t *server, isc_lex_t *lex, } for (;;) { - /* Check for options */ ptr = next_token(lex, text); if (ptr == NULL) { @@ -14700,10 +14429,8 @@ named_server_nta(named_server_t *server, isc_lex_t *lex, * If -dump was specified, list NTA's and return */ if (dump) { - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { if (ntatable != NULL) { dns_ntatable_detach(&ntatable); } @@ -14764,10 +14491,8 @@ named_server_nta(named_server_t *server, isc_lex_t *lex, result = isc_task_beginexclusive(server->task); RUNTIME_CHECK(result == ISC_R_SUCCESS); excl = true; - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { if (viewname != NULL && strcmp(view->name, viewname) != 0) { continue; } @@ -14798,13 +14523,12 @@ named_server_nta(named_server_t *server, isc_lex_t *lex, result = dns_view_flushnode(view, ntaname, true); isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, - "flush tree '%s' in cache view '%s': %s", - namebuf, view->name, - isc_result_totext(result)); + "flush tree '%s' in cache view '%s': %s", namebuf, + view->name, isc_result_totext(result)); if (ntattl != 0) { - CHECK(dns_ntatable_add(ntatable, ntaname, - force, now, ntattl)); + CHECK(dns_ntatable_add(ntatable, ntaname, force, now, + ntattl)); when = now + ntattl; isc_time_set(&t, when, 0); @@ -14844,19 +14568,18 @@ named_server_nta(named_server_t *server, isc_lex_t *lex, first = false; CHECK(putstr(text, "Negative trust anchor ")); - CHECK(putstr(text, wasremoved ? "removed: " - : "not found: ")); + CHECK(putstr(text, + wasremoved ? "removed: " : "not found: ")); CHECK(putstr(text, namebuf)); CHECK(putstr(text, "/")); CHECK(putstr(text, view->name)); if (wasremoved) { - isc_log_write(named_g_lctx, - NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, - ISC_LOG_INFO, - "removed NTA '%s' in view %s", - namebuf, view->name); + isc_log_write( + named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, + "removed NTA '%s' in view %s", namebuf, + view->name); } } @@ -14875,12 +14598,12 @@ named_server_nta(named_server_t *server, isc_lex_t *lex, CHECK(ISC_R_NOTFOUND); } - (void) putnull(text); + (void)putnull(text); - cleanup: +cleanup: if (msg != NULL) { - (void) putstr(text, msg); - (void) putnull(text); + (void)putstr(text, msg); + (void)putnull(text); } if (excl) { @@ -14893,13 +14616,12 @@ named_server_nta(named_server_t *server, isc_lex_t *lex, } isc_result_t -named_server_saventa(named_server_t *server) { +named_server_saventa(named_server_t *server) +{ dns_view_t *view; - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { isc_result_t result = dns_view_saventa(view); if (result != ISC_R_SUCCESS) { @@ -14915,19 +14637,17 @@ named_server_saventa(named_server_t *server) { } isc_result_t -named_server_loadnta(named_server_t *server) { +named_server_loadnta(named_server_t *server) +{ dns_view_t *view; - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { isc_result_t result = dns_view_loadnta(view); if ((result != ISC_R_SUCCESS) && (result != ISC_R_FILENOTFOUND) && - (result != ISC_R_NOTFOUND)) - { + (result != ISC_R_NOTFOUND)) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "error loading NTA file " @@ -14940,35 +14660,37 @@ named_server_loadnta(named_server_t *server) { } static isc_result_t -mkey_refresh(dns_view_t *view, isc_buffer_t **text) { +mkey_refresh(dns_view_t *view, isc_buffer_t **text) +{ isc_result_t result; - char msg[DNS_NAME_FORMATSIZE + 500] = ""; + char msg[DNS_NAME_FORMATSIZE + 500] = ""; - snprintf(msg, sizeof(msg), - "refreshing managed keys for '%s'", view->name); + snprintf(msg, sizeof(msg), "refreshing managed keys for '%s'", + view->name); CHECK(putstr(text, msg)); CHECK(dns_zone_synckeyzone(view->managed_keys)); - cleanup: +cleanup: return (result); } static isc_result_t -mkey_destroy(named_server_t *server, dns_view_t *view, isc_buffer_t **text) { +mkey_destroy(named_server_t *server, dns_view_t *view, isc_buffer_t **text) +{ isc_result_t result; - char msg[DNS_NAME_FORMATSIZE + 500] = ""; - bool exclusive = false; - const char *file = NULL; - dns_db_t *dbp = NULL; - dns_zone_t *mkzone = NULL; - bool removed_a_file = false; + char msg[DNS_NAME_FORMATSIZE + 500] = ""; + bool exclusive = false; + const char * file = NULL; + dns_db_t * dbp = NULL; + dns_zone_t * mkzone = NULL; + bool removed_a_file = false; if (view->managed_keys == NULL) { CHECK(ISC_R_NOTFOUND); } - snprintf(msg, sizeof(msg), - "destroying managed-keys database for '%s'", view->name); + snprintf(msg, sizeof(msg), "destroying managed-keys database for '%s'", + view->name); CHECK(putstr(text, msg)); result = isc_task_beginexclusive(server->task); @@ -14994,8 +14716,8 @@ mkey_destroy(named_server_t *server, dns_view_t *view, isc_buffer_t **text) { } else { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, - "file %s not removed: %s", - file, isc_result_totext(result)); + "file %s not removed: %s", file, + isc_result_totext(result)); } file = dns_zone_getjournal(mkzone); @@ -15005,8 +14727,8 @@ mkey_destroy(named_server_t *server, dns_view_t *view, isc_buffer_t **text) { } else { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, - "file %s not removed: %s", - file, isc_result_totext(result)); + "file %s not removed: %s", file, + isc_result_totext(result)); } if (!removed_a_file) { @@ -15017,7 +14739,7 @@ mkey_destroy(named_server_t *server, dns_view_t *view, isc_buffer_t **text) { dns_zone_detach(&mkzone); result = ISC_R_SUCCESS; - cleanup: +cleanup: if (exclusive) { isc_task_endexclusive(server->task); } @@ -15025,29 +14747,28 @@ mkey_destroy(named_server_t *server, dns_view_t *view, isc_buffer_t **text) { } static isc_result_t -mkey_dumpzone(dns_view_t *view, isc_buffer_t **text) { - isc_result_t result; - dns_db_t *db = NULL; +mkey_dumpzone(dns_view_t *view, isc_buffer_t **text) +{ + isc_result_t result; + dns_db_t * db = NULL; dns_dbversion_t *ver = NULL; dns_rriterator_t rrit; - isc_stdtime_t now; - dns_name_t *prevname = NULL; + isc_stdtime_t now; + dns_name_t * prevname = NULL; isc_stdtime_get(&now); CHECK(dns_zone_getdb(view->managed_keys, &db)); dns_db_currentversion(db, &ver); dns_rriterator_init(&rrit, db, ver, 0); - for (result = dns_rriterator_first(&rrit); - result == ISC_R_SUCCESS; - result = dns_rriterator_nextrrset(&rrit)) - { - char buf[DNS_NAME_FORMATSIZE + 500]; - dns_name_t *name = NULL; - dns_rdataset_t *kdset = NULL; - dns_rdata_t rdata = DNS_RDATA_INIT; + for (result = dns_rriterator_first(&rrit); result == ISC_R_SUCCESS; + result = dns_rriterator_nextrrset(&rrit)) { + char buf[DNS_NAME_FORMATSIZE + 500]; + dns_name_t * name = NULL; + dns_rdataset_t * kdset = NULL; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_keydata_t kd; - uint32_t ttl; + uint32_t ttl; dns_rriterator_current(&rrit, &name, &ttl, &kdset, NULL); if (kdset == NULL || kdset->type != dns_rdatatype_keydata || @@ -15061,17 +14782,15 @@ mkey_dumpzone(dns_view_t *view, isc_buffer_t **text) { CHECK(putstr(text, buf)); } - for (result = dns_rdataset_first(kdset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(kdset)) - { - char alg[DNS_SECALG_FORMATSIZE]; - char tbuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; + result = dns_rdataset_next(kdset)) { + char alg[DNS_SECALG_FORMATSIZE]; + char tbuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; dns_keytag_t keyid; isc_region_t r; - isc_time_t t; - bool revoked; + isc_time_t t; + bool revoked; dns_rdata_reset(&rdata); dns_rdataset_current(kdset, &rdata); @@ -15092,23 +14811,23 @@ mkey_dumpzone(dns_view_t *view, isc_buffer_t **text) { revoked = ((kd.flags & DNS_KEYFLAG_REVOKE) != 0); snprintf(buf, sizeof(buf), "\n\tflags:%s%s%s", revoked ? " REVOKE" : "", - ((kd.flags & DNS_KEYFLAG_KSK) != 0) - ? " SEP" : "", + ((kd.flags & DNS_KEYFLAG_KSK) != 0) ? " SEP" + : "", (kd.flags == 0) ? " (none)" : ""); CHECK(putstr(text, buf)); isc_time_set(&t, kd.refresh, 0); isc_time_formathttptimestamp(&t, tbuf, sizeof(tbuf)); - snprintf(buf, sizeof(buf), - "\n\tnext refresh: %s", tbuf); + snprintf(buf, sizeof(buf), "\n\tnext refresh: %s", + tbuf); CHECK(putstr(text, buf)); if (kd.removehd != 0) { isc_time_set(&t, kd.removehd, 0); isc_time_formathttptimestamp(&t, tbuf, sizeof(tbuf)); - snprintf(buf, sizeof(buf), - "\n\tremove at: %s", tbuf); + snprintf(buf, sizeof(buf), "\n\tremove at: %s", + tbuf); CHECK(putstr(text, buf)); } @@ -15117,8 +14836,7 @@ mkey_dumpzone(dns_view_t *view, isc_buffer_t **text) { if (kd.addhd == 0) snprintf(buf, sizeof(buf), "\n\tno trust"); else if (revoked) - snprintf(buf, sizeof(buf), - "\n\ttrust revoked"); + snprintf(buf, sizeof(buf), "\n\ttrust revoked"); else if (kd.addhd <= now) snprintf(buf, sizeof(buf), "\n\ttrusted since: %s", tbuf); @@ -15132,7 +14850,7 @@ mkey_dumpzone(dns_view_t *view, isc_buffer_t **text) { if (result == ISC_R_NOMORE) result = ISC_R_SUCCESS; - cleanup: +cleanup: if (ver != NULL) { dns_rriterator_destroy(&rrit); dns_db_closeversion(db, &ver, false); @@ -15144,10 +14862,11 @@ mkey_dumpzone(dns_view_t *view, isc_buffer_t **text) { } static isc_result_t -mkey_status(dns_view_t *view, isc_buffer_t **text) { +mkey_status(dns_view_t *view, isc_buffer_t **text) +{ isc_result_t result; - char msg[ISC_FORMATHTTPTIMESTAMP_SIZE]; - isc_time_t t; + char msg[ISC_FORMATHTTPTIMESTAMP_SIZE]; + isc_time_t t; CHECK(putstr(text, "view: ")); CHECK(putstr(text, view->name)); @@ -15164,19 +14883,18 @@ mkey_status(dns_view_t *view, isc_buffer_t **text) { CHECK(mkey_dumpzone(view, text)); - cleanup: +cleanup: return (result); } isc_result_t -named_server_mkeys(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) +named_server_mkeys(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { - char *cmd, *classtxt, *viewtxt = NULL; - isc_result_t result = ISC_R_SUCCESS; - dns_view_t *view = NULL; + char * cmd, *classtxt, *viewtxt = NULL; + isc_result_t result = ISC_R_SUCCESS; + dns_view_t * view = NULL; dns_rdataclass_t rdclass; - char msg[DNS_NAME_FORMATSIZE + 500] = ""; + char msg[DNS_NAME_FORMATSIZE + 500] = ""; enum { NONE, STATUS, REFRESH, SYNC, DESTROY } opt = NONE; bool found = false; bool first = true; @@ -15203,7 +14921,7 @@ named_server_mkeys(named_server_t *server, isc_lex_t *lex, opt = DESTROY; } else { snprintf(msg, sizeof(msg), "unknown command '%s'", cmd); - (void) putstr(text, msg); + (void)putstr(text, msg); result = ISC_R_UNEXPECTED; goto cleanup; } @@ -15216,22 +14934,18 @@ named_server_mkeys(named_server_t *server, isc_lex_t *lex, r.length = strlen(classtxt); result = dns_rdataclass_fromtext(&rdclass, &r); if (result != ISC_R_SUCCESS) { - snprintf(msg, sizeof(msg), - "unknown class '%s'", classtxt); - (void) putstr(text, msg); + snprintf(msg, sizeof(msg), "unknown class '%s'", + classtxt); + (void)putstr(text, msg); goto cleanup; } viewtxt = next_token(lex, text); } - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { - if (viewtxt != NULL && - (rdclass != view->rdclass || - strcmp(view->name, viewtxt) != 0)) - { + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { + if (viewtxt != NULL && (rdclass != view->rdclass || + strcmp(view->name, viewtxt) != 0)) { continue; } @@ -15285,23 +14999,22 @@ named_server_mkeys(named_server_t *server, isc_lex_t *lex, CHECK(putstr(text, "no views with managed keys")); } - cleanup: +cleanup: if (isc_buffer_usedlength(*text) > 0) { - (void) putnull(text); + (void)putnull(text); } return (result); } isc_result_t -named_server_dnstap(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) +named_server_dnstap(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { #ifdef HAVE_DNSTAP - char *ptr; + char * ptr; isc_result_t result; - bool reopen = false; - int backups = 0; + bool reopen = false; + int backups = 0; if (server->dtenv == NULL) return (ISC_R_NOTFOUND); @@ -15349,19 +15062,20 @@ named_server_dnstap(named_server_t *server, isc_lex_t *lex, } isc_result_t -named_server_tcptimeouts(isc_lex_t *lex, isc_buffer_t **text) { - char *ptr; +named_server_tcptimeouts(isc_lex_t *lex, isc_buffer_t **text) +{ + char * ptr; isc_result_t result = ISC_R_SUCCESS; unsigned int initial, idle, keepalive, advertised; - char msg[128]; + char msg[128]; /* Skip the command name. */ ptr = next_token(lex, text); if (ptr == NULL) return (ISC_R_UNEXPECTEDEND); - isc_nm_tcp_gettimeouts(named_g_nm, &initial, &idle, - &keepalive, &advertised); + isc_nm_tcp_gettimeouts(named_g_nm, &initial, &idle, &keepalive, + &advertised); /* Look for optional arguments. */ ptr = next_token(lex, NULL); @@ -15400,8 +15114,8 @@ named_server_tcptimeouts(isc_lex_t *lex, isc_buffer_t **text) { result = isc_task_beginexclusive(named_g_server->task); RUNTIME_CHECK(result == ISC_R_SUCCESS); - isc_nm_tcp_settimeouts(named_g_nm, initial, idle, - keepalive, advertised); + isc_nm_tcp_settimeouts(named_g_nm, initial, idle, keepalive, + advertised); isc_task_endexclusive(named_g_server->task); } @@ -15415,9 +15129,9 @@ named_server_tcptimeouts(isc_lex_t *lex, isc_buffer_t **text) { snprintf(msg, sizeof(msg), "tcp-advertised-timeout=%u", advertised); CHECK(putstr(text, msg)); - cleanup: +cleanup: if (isc_buffer_usedlength(*text) > 0) - (void) putnull(text); + (void)putnull(text); return (result); } @@ -15426,15 +15140,15 @@ isc_result_t named_server_servestale(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { - char *ptr, *classtxt, *viewtxt = NULL; - char msg[128]; - dns_rdataclass_t rdclass = dns_rdataclass_in; - dns_view_t *view; - bool found = false; + char * ptr, *classtxt, *viewtxt = NULL; + char msg[128]; + dns_rdataclass_t rdclass = dns_rdataclass_in; + dns_view_t * view; + bool found = false; dns_stale_answer_t staleanswersok = dns_stale_answer_conf; - bool wantstatus = false; - isc_result_t result = ISC_R_SUCCESS; - bool exclusive = false; + bool wantstatus = false; + isc_result_t result = ISC_R_SUCCESS; + bool exclusive = false; /* Skip the command name. */ ptr = next_token(lex, text); @@ -15474,9 +15188,9 @@ named_server_servestale(named_server_t *server, isc_lex_t *lex, result = dns_rdataclass_fromtext(&rdclass, &r); if (result != ISC_R_SUCCESS) { if (viewtxt != NULL) { - snprintf(msg, sizeof(msg), - "unknown class '%s'", classtxt); - (void) putstr(text, msg); + snprintf(msg, sizeof(msg), "unknown class '%s'", + classtxt); + (void)putstr(text, msg); goto cleanup; } @@ -15489,10 +15203,8 @@ named_server_servestale(named_server_t *server, isc_lex_t *lex, RUNTIME_CHECK(result == ISC_R_SUCCESS); exclusive = true; - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { dns_ttl_t stale_ttl = 0; dns_db_t *db = NULL; @@ -15552,7 +15264,7 @@ cleanup: isc_task_endexclusive(named_g_server->task); if (isc_buffer_usedlength(*text) > 0) - (void) putnull(text); + (void)putnull(text); return (result); } diff --git a/bin/named/statschannel.c b/bin/named/statschannel.c index 841741a943..9d39c8a8d7 100644 --- a/bin/named/statschannel.c +++ b/bin/named/statschannel.c @@ -43,8 +43,9 @@ #include #if HAVE_JSON_C -#include #include + +#include #endif /* HAVE_JSON_C */ #if HAVE_LIBXML2 @@ -56,29 +57,28 @@ struct named_statschannel { /* Unlocked */ - isc_httpdmgr_t *httpdmgr; - isc_sockaddr_t address; - isc_mem_t *mctx; + isc_httpdmgr_t *httpdmgr; + isc_sockaddr_t address; + isc_mem_t * mctx; /* * Locked by channel lock: can be referenced and modified by both * the server task and the channel task. */ - isc_mutex_t lock; - dns_acl_t *acl; + isc_mutex_t lock; + dns_acl_t * acl; /* Locked by server task */ - ISC_LINK(struct named_statschannel) link; + ISC_LINK(struct named_statschannel) link; }; -typedef struct -stats_dumparg { - isc_statsformat_t type; - void *arg; /* type dependent argument */ - int ncounters; /* for general statistics */ - int *counterindices; /* for general statistics */ - uint64_t *countervalues; /* for general statistics */ - isc_result_t result; +typedef struct stats_dumparg { + isc_statsformat_t type; + void * arg; /* type dependent argument */ + int ncounters; /* for general statistics */ + int * counterindices; /* for general statistics */ + uint64_t * countervalues; /* for general statistics */ + isc_result_t result; } stats_dumparg_t; static isc_once_t once = ISC_ONCE_INIT; @@ -91,24 +91,23 @@ static isc_once_t once = ISC_ONCE_INIT; #ifdef EXTENDED_STATS static const char * -user_zonetype( dns_zone_t *zone ) { +user_zonetype(dns_zone_t *zone) +{ dns_zonetype_t ztype; - dns_view_t *view; + dns_view_t * view; static const struct zt { const dns_zonetype_t type; - const char *const string; - } typemap[] = { - { dns_zone_none, "none" }, - { dns_zone_master, "master" }, - { dns_zone_slave, "slave" }, - { dns_zone_mirror, "mirror" }, - { dns_zone_stub, "stub" }, - { dns_zone_staticstub, "static-stub" }, - { dns_zone_key, "key" }, - { dns_zone_dlz, "dlz" }, - { dns_zone_redirect, "redirect" }, - { 0, NULL } - }; + const char *const string; + } typemap[] = { { dns_zone_none, "none" }, + { dns_zone_master, "master" }, + { dns_zone_slave, "slave" }, + { dns_zone_mirror, "mirror" }, + { dns_zone_stub, "stub" }, + { dns_zone_staticstub, "static-stub" }, + { dns_zone_key, "key" }, + { dns_zone_dlz, "dlz" }, + { dns_zone_redirect, "redirect" }, + { 0, NULL } }; const struct zt *tp; if ((dns_zone_getoptions(zone) & DNS_ZONEOPT_AUTOEMPTY) != 0) @@ -119,7 +118,7 @@ user_zonetype( dns_zone_t *zone ) { return ("builtin"); ztype = dns_zone_gettype(zone); - for (tp = typemap; tp->string != NULL && tp->type != ztype; tp++) + for (tp = typemap; tp->string != NULL && tp->type != ztype; tp++) /* empty */; return (tp->string); } @@ -168,9 +167,14 @@ static const char *gluecachestats_xmldesc[dns_gluecachestatscounter_max]; #define tcpoutsizestats_xmldesc NULL #define dnstapstats_xmldesc NULL #define gluecachestats_xmldesc NULL -#endif /* EXTENDED_STATS */ +#endif /* EXTENDED_STATS */ -#define TRY0(a) do { xmlrc = (a); if (xmlrc < 0) goto error; } while(0) +#define TRY0(a) \ + do { \ + xmlrc = (a); \ + if (xmlrc < 0) \ + goto error; \ + } while (0) /*% * Mapping arrays to represent statistics counters in the order of our @@ -210,7 +214,8 @@ set_desc(int counter, int maxcounter, const char *fdesc, const char **fdescs, } static void -init_desc(void) { +init_desc(void) +{ int i; /* Initialize name server statistics */ @@ -221,12 +226,11 @@ init_desc(void) { nsstats_xmldesc[i] = NULL; #endif -#define SET_NSSTATDESC(counterid, desc, xmldesc) \ - do { \ - set_desc(ns_statscounter_ ## counterid, \ - ns_statscounter_max, \ - desc, nsstats_desc, xmldesc, nsstats_xmldesc); \ - nsstats_index[i++] = ns_statscounter_ ## counterid; \ +#define SET_NSSTATDESC(counterid, desc, xmldesc) \ + do { \ + set_desc(ns_statscounter_##counterid, ns_statscounter_max, \ + desc, nsstats_desc, xmldesc, nsstats_xmldesc); \ + nsstats_index[i++] = ns_statscounter_##counterid; \ } while (0) i = 0; @@ -281,8 +285,7 @@ init_desc(void) { SET_NSSTATDESC(updatebadprereq, "updates rejected due to prerequisite failure", "UpdateBadPrereq"); - SET_NSSTATDESC(recursclients, "recursing clients", - "RecursClients"); + SET_NSSTATDESC(recursclients, "recursing clients", "RecursClients"); SET_NSSTATDESC(dns64, "queries answered by DNS64", "DNS64"); SET_NSSTATDESC(ratedropped, "responses dropped for rate limits", "RateDropped"); @@ -306,21 +309,25 @@ init_desc(void) { SET_NSSTATDESC(cookiematch, "COOKIE - match", "CookieMatch"); SET_NSSTATDESC(ecsopt, "EDNS client subnet option received", "ECSOpt"); SET_NSSTATDESC(nxdomainredirect, - "queries resulted in NXDOMAIN that were redirected", - "QryNXRedir"); + "queries resulted in NXDOMAIN that were redirected", + "QryNXRedir"); SET_NSSTATDESC(nxdomainredirect_rlookup, - "queries resulted in NXDOMAIN that were redirected and " - "resulted in a successful remote lookup", - "QryNXRedirRLookup"); + "queries resulted in NXDOMAIN that were redirected and " + "resulted in a successful remote lookup", + "QryNXRedirRLookup"); SET_NSSTATDESC(badcookie, "sent badcookie response", "QryBADCOOKIE"); - SET_NSSTATDESC(nxdomainsynth, "synthesized a NXDOMAIN response", "SynthNXDOMAIN"); - SET_NSSTATDESC(nodatasynth, "syththesized a no-data response", "SynthNODATA"); - SET_NSSTATDESC(wildcardsynth, "synthesized a wildcard response", "SynthWILDCARD"); + SET_NSSTATDESC(nxdomainsynth, "synthesized a NXDOMAIN response", + "SynthNXDOMAIN"); + SET_NSSTATDESC(nodatasynth, "syththesized a no-data response", + "SynthNODATA"); + SET_NSSTATDESC(wildcardsynth, "synthesized a wildcard response", + "SynthWILDCARD"); SET_NSSTATDESC(trystale, "attempts to use stale cache data after lookup failure", "QryTryStale"); SET_NSSTATDESC(usedstale, - "successful uses of stale cache data after lookup failure", + "successful uses of stale cache data after lookup " + "failure", "QryUsedStale"); SET_NSSTATDESC(prefetch, "queries triggered prefetch", "Prefetch"); SET_NSSTATDESC(keytagopt, "Keytag option received", "KeyTagOpt"); @@ -338,12 +345,12 @@ init_desc(void) { resstats_xmldesc[i] = NULL; #endif -#define SET_RESSTATDESC(counterid, desc, xmldesc) \ - do { \ - set_desc(dns_resstatscounter_ ## counterid, \ - dns_resstatscounter_max, \ - desc, resstats_desc, xmldesc, resstats_xmldesc); \ - resstats_index[i++] = dns_resstatscounter_ ## counterid; \ +#define SET_RESSTATDESC(counterid, desc, xmldesc) \ + do { \ + set_desc(dns_resstatscounter_##counterid, \ + dns_resstatscounter_max, desc, resstats_desc, \ + xmldesc, resstats_xmldesc); \ + resstats_index[i++] = dns_resstatscounter_##counterid; \ } while (0) i = 0; @@ -378,27 +385,27 @@ init_desc(void) { SET_RESSTATDESC(valnegsuccess, "DNSSEC NX validation succeeded", "ValNegOk"); SET_RESSTATDESC(valfail, "DNSSEC validation failed", "ValFail"); - SET_RESSTATDESC(queryrtt0, "queries with RTT < " - DNS_RESOLVER_QRYRTTCLASS0STR "ms", + SET_RESSTATDESC(queryrtt0, + "queries with RTT < " DNS_RESOLVER_QRYRTTCLASS0STR "ms", "QryRTT" DNS_RESOLVER_QRYRTTCLASS0STR); - SET_RESSTATDESC(queryrtt1, "queries with RTT " - DNS_RESOLVER_QRYRTTCLASS0STR "-" - DNS_RESOLVER_QRYRTTCLASS1STR "ms", + SET_RESSTATDESC(queryrtt1, + "queries with RTT " DNS_RESOLVER_QRYRTTCLASS0STR + "-" DNS_RESOLVER_QRYRTTCLASS1STR "ms", "QryRTT" DNS_RESOLVER_QRYRTTCLASS1STR); - SET_RESSTATDESC(queryrtt2, "queries with RTT " - DNS_RESOLVER_QRYRTTCLASS1STR "-" - DNS_RESOLVER_QRYRTTCLASS2STR "ms", + SET_RESSTATDESC(queryrtt2, + "queries with RTT " DNS_RESOLVER_QRYRTTCLASS1STR + "-" DNS_RESOLVER_QRYRTTCLASS2STR "ms", "QryRTT" DNS_RESOLVER_QRYRTTCLASS2STR); - SET_RESSTATDESC(queryrtt3, "queries with RTT " - DNS_RESOLVER_QRYRTTCLASS2STR "-" - DNS_RESOLVER_QRYRTTCLASS3STR "ms", + SET_RESSTATDESC(queryrtt3, + "queries with RTT " DNS_RESOLVER_QRYRTTCLASS2STR + "-" DNS_RESOLVER_QRYRTTCLASS3STR "ms", "QryRTT" DNS_RESOLVER_QRYRTTCLASS3STR); - SET_RESSTATDESC(queryrtt4, "queries with RTT " - DNS_RESOLVER_QRYRTTCLASS3STR "-" - DNS_RESOLVER_QRYRTTCLASS4STR "ms", + SET_RESSTATDESC(queryrtt4, + "queries with RTT " DNS_RESOLVER_QRYRTTCLASS3STR + "-" DNS_RESOLVER_QRYRTTCLASS4STR "ms", "QryRTT" DNS_RESOLVER_QRYRTTCLASS4STR); - SET_RESSTATDESC(queryrtt5, "queries with RTT > " - DNS_RESOLVER_QRYRTTCLASS4STR "ms", + SET_RESSTATDESC(queryrtt5, + "queries with RTT > " DNS_RESOLVER_QRYRTTCLASS4STR "ms", "QryRTT" DNS_RESOLVER_QRYRTTCLASS4STR "+"); SET_RESSTATDESC(nfetch, "active fetches", "NumFetch"); SET_RESSTATDESC(buckets, "bucket size", "BucketSize"); @@ -427,11 +434,11 @@ init_desc(void) { adbstats_xmldesc[i] = NULL; #endif -#define SET_ADBSTATDESC(id, desc, xmldesc) \ - do { \ - set_desc(dns_adbstats_ ## id, dns_adbstats_max, \ - desc, adbstats_desc, xmldesc, adbstats_xmldesc); \ - adbstats_index[i++] = dns_adbstats_ ## id; \ +#define SET_ADBSTATDESC(id, desc, xmldesc) \ + do { \ + set_desc(dns_adbstats_##id, dns_adbstats_max, desc, \ + adbstats_desc, xmldesc, adbstats_xmldesc); \ + adbstats_index[i++] = dns_adbstats_##id; \ } while (0) i = 0; SET_ADBSTATDESC(nentries, "Address hash table size", "nentries"); @@ -449,12 +456,12 @@ init_desc(void) { zonestats_xmldesc[i] = NULL; #endif -#define SET_ZONESTATDESC(counterid, desc, xmldesc) \ - do { \ - set_desc(dns_zonestatscounter_ ## counterid, \ - dns_zonestatscounter_max, \ - desc, zonestats_desc, xmldesc, zonestats_xmldesc); \ - zonestats_index[i++] = dns_zonestatscounter_ ## counterid; \ +#define SET_ZONESTATDESC(counterid, desc, xmldesc) \ + do { \ + set_desc(dns_zonestatscounter_##counterid, \ + dns_zonestatscounter_max, desc, zonestats_desc, \ + xmldesc, zonestats_xmldesc); \ + zonestats_index[i++] = dns_zonestatscounter_##counterid; \ } while (0) i = 0; @@ -482,12 +489,12 @@ init_desc(void) { sockstats_xmldesc[i] = NULL; #endif -#define SET_SOCKSTATDESC(counterid, desc, xmldesc) \ - do { \ - set_desc(isc_sockstatscounter_ ## counterid, \ - isc_sockstatscounter_max, \ - desc, sockstats_desc, xmldesc, sockstats_xmldesc); \ - sockstats_index[i++] = isc_sockstatscounter_ ## counterid; \ +#define SET_SOCKSTATDESC(counterid, desc, xmldesc) \ + do { \ + set_desc(isc_sockstatscounter_##counterid, \ + isc_sockstatscounter_max, desc, sockstats_desc, \ + xmldesc, sockstats_xmldesc); \ + sockstats_index[i++] = isc_sockstatscounter_##counterid; \ } while (0) i = 0; @@ -601,20 +608,23 @@ init_desc(void) { dnssecstats_xmldesc[i] = NULL; #endif -#define SET_DNSSECSTATDESC(counterid, desc, xmldesc) \ - do { \ - set_desc(dns_dnssecstats_ ## counterid, \ - dns_dnssecstats_max, \ - desc, dnssecstats_desc, \ - xmldesc, dnssecstats_xmldesc); \ - dnssecstats_index[i++] = dns_dnssecstats_ ## counterid; \ +#define SET_DNSSECSTATDESC(counterid, desc, xmldesc) \ + do { \ + set_desc(dns_dnssecstats_##counterid, dns_dnssecstats_max, \ + desc, dnssecstats_desc, xmldesc, \ + dnssecstats_xmldesc); \ + dnssecstats_index[i++] = dns_dnssecstats_##counterid; \ } while (0) i = 0; - SET_DNSSECSTATDESC(asis, "dnssec validation success with signer " - "\"as is\"", "DNSSECasis"); - SET_DNSSECSTATDESC(downcase, "dnssec validation success with signer " - "lower cased", "DNSSECdowncase"); + SET_DNSSECSTATDESC(asis, + "dnssec validation success with signer " + "\"as is\"", + "DNSSECasis"); + SET_DNSSECSTATDESC(downcase, + "dnssec validation success with signer " + "lower cased", + "DNSSECdowncase"); SET_DNSSECSTATDESC(wildcard, "dnssec validation of wildcard signature", "DNSSECwild"); SET_DNSSECSTATDESC(fail, "dnssec validation failures", "DNSSECfail"); @@ -628,31 +638,29 @@ init_desc(void) { dnstapstats_xmldesc[i] = NULL; #endif -#define SET_DNSTAPSTATDESC(counterid, desc, xmldesc) \ - do { \ - set_desc(dns_dnstapcounter_ ## counterid, \ - dns_dnstapcounter_max, \ - desc, dnstapstats_desc, \ - xmldesc, dnstapstats_xmldesc); \ - dnstapstats_index[i++] = dns_dnstapcounter_ ## counterid; \ +#define SET_DNSTAPSTATDESC(counterid, desc, xmldesc) \ + do { \ + set_desc(dns_dnstapcounter_##counterid, dns_dnstapcounter_max, \ + desc, dnstapstats_desc, xmldesc, \ + dnstapstats_xmldesc); \ + dnstapstats_index[i++] = dns_dnstapcounter_##counterid; \ } while (0) i = 0; SET_DNSTAPSTATDESC(success, "dnstap messges written", "DNSTAPsuccess"); SET_DNSTAPSTATDESC(drop, "dnstap messages dropped", "DNSTAPdropped"); INSIST(i == dns_dnstapcounter_max); -#define SET_GLUECACHESTATDESC(counterid, desc, xmldesc) \ - do { \ - set_desc(dns_gluecachestatscounter_ ## counterid, \ - dns_gluecachestatscounter_max, \ - desc, gluecachestats_desc, \ - xmldesc, gluecachestats_xmldesc); \ - gluecachestats_index[i++] = \ - dns_gluecachestatscounter_ ## counterid; \ +#define SET_GLUECACHESTATDESC(counterid, desc, xmldesc) \ + do { \ + set_desc(dns_gluecachestatscounter_##counterid, \ + dns_gluecachestatscounter_max, desc, \ + gluecachestats_desc, xmldesc, \ + gluecachestats_xmldesc); \ + gluecachestats_index[i++] = \ + dns_gluecachestatscounter_##counterid; \ } while (0) i = 0; - SET_GLUECACHESTATDESC(hits_present, - "Hits for present glue (cached)", + SET_GLUECACHESTATDESC(hits_present, "Hits for present glue (cached)", "GLUECACHEhitspresent"); SET_GLUECACHESTATDESC(hits_absent, "Hits for non-existent glue (cached)", @@ -719,19 +727,21 @@ init_desc(void) { #endif } -#define SET_SIZESTATDESC(counterid, desc, xmldesc, inout) \ - do { \ - set_desc(dns_sizecounter_ ## inout ## _ ## counterid, \ - dns_sizecounter_ ## inout ## _max, \ - desc, udp ## inout ## sizestats_desc, \ - xmldesc, udp ## inout ## sizestats_xmldesc); \ - set_desc(dns_sizecounter_ ## inout ## _ ## counterid, \ - dns_sizecounter_ ## inout ## _max, \ - desc, tcp ## inout ## sizestats_desc, \ - xmldesc, tcp ## inout ## sizestats_xmldesc); \ - udp ## inout ## sizestats_index[i] = dns_sizecounter_ ## inout ## _ ## counterid; \ - tcp ## inout ## sizestats_index[i] = dns_sizecounter_ ## inout ## _ ## counterid; \ - i++; \ +#define SET_SIZESTATDESC(counterid, desc, xmldesc, inout) \ + do { \ + set_desc(dns_sizecounter_##inout##_##counterid, \ + dns_sizecounter_##inout##_max, desc, \ + udp##inout##sizestats_desc, xmldesc, \ + udp##inout##sizestats_xmldesc); \ + set_desc(dns_sizecounter_##inout##_##counterid, \ + dns_sizecounter_##inout##_max, desc, \ + tcp##inout##sizestats_desc, xmldesc, \ + tcp##inout##sizestats_xmldesc); \ + udp##inout##sizestats_index[i] = \ + dns_sizecounter_##inout##_##counterid; \ + tcp##inout##sizestats_index[i] = \ + dns_sizecounter_##inout##_##counterid; \ + i++; \ } while (0) i = 0; @@ -820,199 +830,392 @@ init_desc(void) { SET_SIZESTATDESC(960, "responses sent 960-975 bytes", "960-975", out); SET_SIZESTATDESC(976, "responses sent 976-991 bytes", "976-991", out); SET_SIZESTATDESC(992, "responses sent 992-1007 bytes", "992-1007", out); - SET_SIZESTATDESC(1008, "responses sent 1008-1023 bytes", "1008-1023", out); - SET_SIZESTATDESC(1024, "responses sent 1024-1039 bytes", "1024-1039", out); - SET_SIZESTATDESC(1040, "responses sent 1040-1055 bytes", "1040-1055", out); - SET_SIZESTATDESC(1056, "responses sent 1056-1071 bytes", "1056-1071", out); - SET_SIZESTATDESC(1072, "responses sent 1072-1087 bytes", "1072-1087", out); - SET_SIZESTATDESC(1088, "responses sent 1088-1103 bytes", "1088-1103", out); - SET_SIZESTATDESC(1104, "responses sent 1104-1119 bytes", "1104-1119", out); - SET_SIZESTATDESC(1120, "responses sent 1120-1135 bytes", "1120-1135", out); - SET_SIZESTATDESC(1136, "responses sent 1136-1151 bytes", "1136-1151", out); - SET_SIZESTATDESC(1152, "responses sent 1152-1167 bytes", "1152-1167", out); - SET_SIZESTATDESC(1168, "responses sent 1168-1183 bytes", "1168-1183", out); - SET_SIZESTATDESC(1184, "responses sent 1184-1199 bytes", "1184-1199", out); - SET_SIZESTATDESC(1200, "responses sent 1200-1215 bytes", "1200-1215", out); - SET_SIZESTATDESC(1216, "responses sent 1216-1231 bytes", "1216-1231", out); - SET_SIZESTATDESC(1232, "responses sent 1232-1247 bytes", "1232-1247", out); - SET_SIZESTATDESC(1248, "responses sent 1248-1263 bytes", "1248-1263", out); - SET_SIZESTATDESC(1264, "responses sent 1264-1279 bytes", "1264-1279", out); - SET_SIZESTATDESC(1280, "responses sent 1280-1295 bytes", "1280-1295", out); - SET_SIZESTATDESC(1296, "responses sent 1296-1311 bytes", "1296-1311", out); - SET_SIZESTATDESC(1312, "responses sent 1312-1327 bytes", "1312-1327", out); - SET_SIZESTATDESC(1328, "responses sent 1328-1343 bytes", "1328-1343", out); - SET_SIZESTATDESC(1344, "responses sent 1344-1359 bytes", "1344-1359", out); - SET_SIZESTATDESC(1360, "responses sent 1360-1375 bytes", "1360-1375", out); - SET_SIZESTATDESC(1376, "responses sent 1376-1391 bytes", "1376-1391", out); - SET_SIZESTATDESC(1392, "responses sent 1392-1407 bytes", "1392-1407", out); - SET_SIZESTATDESC(1408, "responses sent 1408-1423 bytes", "1408-1423", out); - SET_SIZESTATDESC(1424, "responses sent 1424-1439 bytes", "1424-1439", out); - SET_SIZESTATDESC(1440, "responses sent 1440-1455 bytes", "1440-1455", out); - SET_SIZESTATDESC(1456, "responses sent 1456-1471 bytes", "1456-1471", out); - SET_SIZESTATDESC(1472, "responses sent 1472-1487 bytes", "1472-1487", out); - SET_SIZESTATDESC(1488, "responses sent 1488-1503 bytes", "1488-1503", out); - SET_SIZESTATDESC(1504, "responses sent 1504-1519 bytes", "1504-1519", out); - SET_SIZESTATDESC(1520, "responses sent 1520-1535 bytes", "1520-1535", out); - SET_SIZESTATDESC(1536, "responses sent 1536-1551 bytes", "1536-1551", out); - SET_SIZESTATDESC(1552, "responses sent 1552-1567 bytes", "1552-1567", out); - SET_SIZESTATDESC(1568, "responses sent 1568-1583 bytes", "1568-1583", out); - SET_SIZESTATDESC(1584, "responses sent 1584-1599 bytes", "1584-1599", out); - SET_SIZESTATDESC(1600, "responses sent 1600-1615 bytes", "1600-1615", out); - SET_SIZESTATDESC(1616, "responses sent 1616-1631 bytes", "1616-1631", out); - SET_SIZESTATDESC(1632, "responses sent 1632-1647 bytes", "1632-1647", out); - SET_SIZESTATDESC(1648, "responses sent 1648-1663 bytes", "1648-1663", out); - SET_SIZESTATDESC(1664, "responses sent 1664-1679 bytes", "1664-1679", out); - SET_SIZESTATDESC(1680, "responses sent 1680-1695 bytes", "1680-1695", out); - SET_SIZESTATDESC(1696, "responses sent 1696-1711 bytes", "1696-1711", out); - SET_SIZESTATDESC(1712, "responses sent 1712-1727 bytes", "1712-1727", out); - SET_SIZESTATDESC(1728, "responses sent 1728-1743 bytes", "1728-1743", out); - SET_SIZESTATDESC(1744, "responses sent 1744-1759 bytes", "1744-1759", out); - SET_SIZESTATDESC(1760, "responses sent 1760-1775 bytes", "1760-1775", out); - SET_SIZESTATDESC(1776, "responses sent 1776-1791 bytes", "1776-1791", out); - SET_SIZESTATDESC(1792, "responses sent 1792-1807 bytes", "1792-1807", out); - SET_SIZESTATDESC(1808, "responses sent 1808-1823 bytes", "1808-1823", out); - SET_SIZESTATDESC(1824, "responses sent 1824-1839 bytes", "1824-1839", out); - SET_SIZESTATDESC(1840, "responses sent 1840-1855 bytes", "1840-1855", out); - SET_SIZESTATDESC(1856, "responses sent 1856-1871 bytes", "1856-1871", out); - SET_SIZESTATDESC(1872, "responses sent 1872-1887 bytes", "1872-1887", out); - SET_SIZESTATDESC(1888, "responses sent 1888-1903 bytes", "1888-1903", out); - SET_SIZESTATDESC(1904, "responses sent 1904-1919 bytes", "1904-1919", out); - SET_SIZESTATDESC(1920, "responses sent 1920-1935 bytes", "1920-1935", out); - SET_SIZESTATDESC(1936, "responses sent 1936-1951 bytes", "1936-1951", out); - SET_SIZESTATDESC(1952, "responses sent 1952-1967 bytes", "1952-1967", out); - SET_SIZESTATDESC(1968, "responses sent 1968-1983 bytes", "1968-1983", out); - SET_SIZESTATDESC(1984, "responses sent 1984-1999 bytes", "1984-1999", out); - SET_SIZESTATDESC(2000, "responses sent 2000-2015 bytes", "2000-2015", out); - SET_SIZESTATDESC(2016, "responses sent 2016-2031 bytes", "2016-2031", out); - SET_SIZESTATDESC(2032, "responses sent 2032-2047 bytes", "2032-2047", out); - SET_SIZESTATDESC(2048, "responses sent 2048-2063 bytes", "2048-2063", out); - SET_SIZESTATDESC(2064, "responses sent 2064-2079 bytes", "2064-2079", out); - SET_SIZESTATDESC(2080, "responses sent 2080-2095 bytes", "2080-2095", out); - SET_SIZESTATDESC(2096, "responses sent 2096-2111 bytes", "2096-2111", out); - SET_SIZESTATDESC(2112, "responses sent 2112-2127 bytes", "2112-2127", out); - SET_SIZESTATDESC(2128, "responses sent 2128-2143 bytes", "2128-2143", out); - SET_SIZESTATDESC(2144, "responses sent 2144-2159 bytes", "2144-2159", out); - SET_SIZESTATDESC(2160, "responses sent 2160-2175 bytes", "2160-2175", out); - SET_SIZESTATDESC(2176, "responses sent 2176-2191 bytes", "2176-2191", out); - SET_SIZESTATDESC(2192, "responses sent 2192-2207 bytes", "2192-2207", out); - SET_SIZESTATDESC(2208, "responses sent 2208-2223 bytes", "2208-2223", out); - SET_SIZESTATDESC(2224, "responses sent 2224-2239 bytes", "2224-2239", out); - SET_SIZESTATDESC(2240, "responses sent 2240-2255 bytes", "2240-2255", out); - SET_SIZESTATDESC(2256, "responses sent 2256-2271 bytes", "2256-2271", out); - SET_SIZESTATDESC(2272, "responses sent 2272-2287 bytes", "2272-2287", out); - SET_SIZESTATDESC(2288, "responses sent 2288-2303 bytes", "2288-2303", out); - SET_SIZESTATDESC(2304, "responses sent 2304-2319 bytes", "2304-2319", out); - SET_SIZESTATDESC(2320, "responses sent 2320-2335 bytes", "2320-2335", out); - SET_SIZESTATDESC(2336, "responses sent 2336-2351 bytes", "2336-2351", out); - SET_SIZESTATDESC(2352, "responses sent 2352-2367 bytes", "2352-2367", out); - SET_SIZESTATDESC(2368, "responses sent 2368-2383 bytes", "2368-2383", out); - SET_SIZESTATDESC(2384, "responses sent 2384-2399 bytes", "2384-2399", out); - SET_SIZESTATDESC(2400, "responses sent 2400-2415 bytes", "2400-2415", out); - SET_SIZESTATDESC(2416, "responses sent 2416-2431 bytes", "2416-2431", out); - SET_SIZESTATDESC(2432, "responses sent 2432-2447 bytes", "2432-2447", out); - SET_SIZESTATDESC(2448, "responses sent 2448-2463 bytes", "2448-2463", out); - SET_SIZESTATDESC(2464, "responses sent 2464-2479 bytes", "2464-2479", out); - SET_SIZESTATDESC(2480, "responses sent 2480-2495 bytes", "2480-2495", out); - SET_SIZESTATDESC(2496, "responses sent 2496-2511 bytes", "2496-2511", out); - SET_SIZESTATDESC(2512, "responses sent 2512-2527 bytes", "2512-2527", out); - SET_SIZESTATDESC(2528, "responses sent 2528-2543 bytes", "2528-2543", out); - SET_SIZESTATDESC(2544, "responses sent 2544-2559 bytes", "2544-2559", out); - SET_SIZESTATDESC(2560, "responses sent 2560-2575 bytes", "2560-2575", out); - SET_SIZESTATDESC(2576, "responses sent 2576-2591 bytes", "2576-2591", out); - SET_SIZESTATDESC(2592, "responses sent 2592-2607 bytes", "2592-2607", out); - SET_SIZESTATDESC(2608, "responses sent 2608-2623 bytes", "2608-2623", out); - SET_SIZESTATDESC(2624, "responses sent 2624-2639 bytes", "2624-2639", out); - SET_SIZESTATDESC(2640, "responses sent 2640-2655 bytes", "2640-2655", out); - SET_SIZESTATDESC(2656, "responses sent 2656-2671 bytes", "2656-2671", out); - SET_SIZESTATDESC(2672, "responses sent 2672-2687 bytes", "2672-2687", out); - SET_SIZESTATDESC(2688, "responses sent 2688-2703 bytes", "2688-2703", out); - SET_SIZESTATDESC(2704, "responses sent 2704-2719 bytes", "2704-2719", out); - SET_SIZESTATDESC(2720, "responses sent 2720-2735 bytes", "2720-2735", out); - SET_SIZESTATDESC(2736, "responses sent 2736-2751 bytes", "2736-2751", out); - SET_SIZESTATDESC(2752, "responses sent 2752-2767 bytes", "2752-2767", out); - SET_SIZESTATDESC(2768, "responses sent 2768-2783 bytes", "2768-2783", out); - SET_SIZESTATDESC(2784, "responses sent 2784-2799 bytes", "2784-2799", out); - SET_SIZESTATDESC(2800, "responses sent 2800-2815 bytes", "2800-2815", out); - SET_SIZESTATDESC(2816, "responses sent 2816-2831 bytes", "2816-2831", out); - SET_SIZESTATDESC(2832, "responses sent 2832-2847 bytes", "2832-2847", out); - SET_SIZESTATDESC(2848, "responses sent 2848-2863 bytes", "2848-2863", out); - SET_SIZESTATDESC(2864, "responses sent 2864-2879 bytes", "2864-2879", out); - SET_SIZESTATDESC(2880, "responses sent 2880-2895 bytes", "2880-2895", out); - SET_SIZESTATDESC(2896, "responses sent 2896-2911 bytes", "2896-2911", out); - SET_SIZESTATDESC(2912, "responses sent 2912-2927 bytes", "2912-2927", out); - SET_SIZESTATDESC(2928, "responses sent 2928-2943 bytes", "2928-2943", out); - SET_SIZESTATDESC(2944, "responses sent 2944-2959 bytes", "2944-2959", out); - SET_SIZESTATDESC(2960, "responses sent 2960-2975 bytes", "2960-2975", out); - SET_SIZESTATDESC(2976, "responses sent 2976-2991 bytes", "2976-2991", out); - SET_SIZESTATDESC(2992, "responses sent 2992-3007 bytes", "2992-3007", out); - SET_SIZESTATDESC(3008, "responses sent 3008-3023 bytes", "3008-3023", out); - SET_SIZESTATDESC(3024, "responses sent 3024-3039 bytes", "3024-3039", out); - SET_SIZESTATDESC(3040, "responses sent 3040-3055 bytes", "3040-3055", out); - SET_SIZESTATDESC(3056, "responses sent 3056-3071 bytes", "3056-3071", out); - SET_SIZESTATDESC(3072, "responses sent 3072-3087 bytes", "3072-3087", out); - SET_SIZESTATDESC(3088, "responses sent 3088-3103 bytes", "3088-3103", out); - SET_SIZESTATDESC(3104, "responses sent 3104-3119 bytes", "3104-3119", out); - SET_SIZESTATDESC(3120, "responses sent 3120-3135 bytes", "3120-3135", out); - SET_SIZESTATDESC(3136, "responses sent 3136-3151 bytes", "3136-3151", out); - SET_SIZESTATDESC(3152, "responses sent 3152-3167 bytes", "3152-3167", out); - SET_SIZESTATDESC(3168, "responses sent 3168-3183 bytes", "3168-3183", out); - SET_SIZESTATDESC(3184, "responses sent 3184-3199 bytes", "3184-3199", out); - SET_SIZESTATDESC(3200, "responses sent 3200-3215 bytes", "3200-3215", out); - SET_SIZESTATDESC(3216, "responses sent 3216-3231 bytes", "3216-3231", out); - SET_SIZESTATDESC(3232, "responses sent 3232-3247 bytes", "3232-3247", out); - SET_SIZESTATDESC(3248, "responses sent 3248-3263 bytes", "3248-3263", out); - SET_SIZESTATDESC(3264, "responses sent 3264-3279 bytes", "3264-3279", out); - SET_SIZESTATDESC(3280, "responses sent 3280-3295 bytes", "3280-3295", out); - SET_SIZESTATDESC(3296, "responses sent 3296-3311 bytes", "3296-3311", out); - SET_SIZESTATDESC(3312, "responses sent 3312-3327 bytes", "3312-3327", out); - SET_SIZESTATDESC(3328, "responses sent 3328-3343 bytes", "3328-3343", out); - SET_SIZESTATDESC(3344, "responses sent 3344-3359 bytes", "3344-3359", out); - SET_SIZESTATDESC(3360, "responses sent 3360-3375 bytes", "3360-3375", out); - SET_SIZESTATDESC(3376, "responses sent 3376-3391 bytes", "3376-3391", out); - SET_SIZESTATDESC(3392, "responses sent 3392-3407 bytes", "3392-3407", out); - SET_SIZESTATDESC(3408, "responses sent 3408-3423 bytes", "3408-3423", out); - SET_SIZESTATDESC(3424, "responses sent 3424-3439 bytes", "3424-3439", out); - SET_SIZESTATDESC(3440, "responses sent 3440-3455 bytes", "3440-3455", out); - SET_SIZESTATDESC(3456, "responses sent 3456-3471 bytes", "3456-3471", out); - SET_SIZESTATDESC(3472, "responses sent 3472-3487 bytes", "3472-3487", out); - SET_SIZESTATDESC(3488, "responses sent 3488-3503 bytes", "3488-3503", out); - SET_SIZESTATDESC(3504, "responses sent 3504-3519 bytes", "3504-3519", out); - SET_SIZESTATDESC(3520, "responses sent 3520-3535 bytes", "3520-3535", out); - SET_SIZESTATDESC(3536, "responses sent 3536-3551 bytes", "3536-3551", out); - SET_SIZESTATDESC(3552, "responses sent 3552-3567 bytes", "3552-3567", out); - SET_SIZESTATDESC(3568, "responses sent 3568-3583 bytes", "3568-3583", out); - SET_SIZESTATDESC(3584, "responses sent 3584-3599 bytes", "3584-3599", out); - SET_SIZESTATDESC(3600, "responses sent 3600-3615 bytes", "3600-3615", out); - SET_SIZESTATDESC(3616, "responses sent 3616-3631 bytes", "3616-3631", out); - SET_SIZESTATDESC(3632, "responses sent 3632-3647 bytes", "3632-3647", out); - SET_SIZESTATDESC(3648, "responses sent 3648-3663 bytes", "3648-3663", out); - SET_SIZESTATDESC(3664, "responses sent 3664-3679 bytes", "3664-3679", out); - SET_SIZESTATDESC(3680, "responses sent 3680-3695 bytes", "3680-3695", out); - SET_SIZESTATDESC(3696, "responses sent 3696-3711 bytes", "3696-3711", out); - SET_SIZESTATDESC(3712, "responses sent 3712-3727 bytes", "3712-3727", out); - SET_SIZESTATDESC(3728, "responses sent 3728-3743 bytes", "3728-3743", out); - SET_SIZESTATDESC(3744, "responses sent 3744-3759 bytes", "3744-3759", out); - SET_SIZESTATDESC(3760, "responses sent 3760-3775 bytes", "3760-3775", out); - SET_SIZESTATDESC(3776, "responses sent 3776-3791 bytes", "3776-3791", out); - SET_SIZESTATDESC(3792, "responses sent 3792-3807 bytes", "3792-3807", out); - SET_SIZESTATDESC(3808, "responses sent 3808-3823 bytes", "3808-3823", out); - SET_SIZESTATDESC(3824, "responses sent 3824-3839 bytes", "3824-3839", out); - SET_SIZESTATDESC(3840, "responses sent 3840-3855 bytes", "3840-3855", out); - SET_SIZESTATDESC(3856, "responses sent 3856-3871 bytes", "3856-3871", out); - SET_SIZESTATDESC(3872, "responses sent 3872-3887 bytes", "3872-3887", out); - SET_SIZESTATDESC(3888, "responses sent 3888-3903 bytes", "3888-3903", out); - SET_SIZESTATDESC(3904, "responses sent 3904-3919 bytes", "3904-3919", out); - SET_SIZESTATDESC(3920, "responses sent 3920-3935 bytes", "3920-3935", out); - SET_SIZESTATDESC(3936, "responses sent 3936-3951 bytes", "3936-3951", out); - SET_SIZESTATDESC(3952, "responses sent 3952-3967 bytes", "3952-3967", out); - SET_SIZESTATDESC(3968, "responses sent 3968-3983 bytes", "3968-3983", out); - SET_SIZESTATDESC(3984, "responses sent 3984-3999 bytes", "3984-3999", out); - SET_SIZESTATDESC(4000, "responses sent 4000-4015 bytes", "4000-4015", out); - SET_SIZESTATDESC(4016, "responses sent 4016-4031 bytes", "4016-4031", out); - SET_SIZESTATDESC(4032, "responses sent 4032-4047 bytes", "4032-4047", out); - SET_SIZESTATDESC(4048, "responses sent 4048-4063 bytes", "4048-4063", out); - SET_SIZESTATDESC(4064, "responses sent 4064-4079 bytes", "4064-4079", out); - SET_SIZESTATDESC(4080, "responses sent 4080-4095 bytes", "4080-4095", out); + SET_SIZESTATDESC(1008, "responses sent 1008-1023 bytes", "1008-1023", + out); + SET_SIZESTATDESC(1024, "responses sent 1024-1039 bytes", "1024-1039", + out); + SET_SIZESTATDESC(1040, "responses sent 1040-1055 bytes", "1040-1055", + out); + SET_SIZESTATDESC(1056, "responses sent 1056-1071 bytes", "1056-1071", + out); + SET_SIZESTATDESC(1072, "responses sent 1072-1087 bytes", "1072-1087", + out); + SET_SIZESTATDESC(1088, "responses sent 1088-1103 bytes", "1088-1103", + out); + SET_SIZESTATDESC(1104, "responses sent 1104-1119 bytes", "1104-1119", + out); + SET_SIZESTATDESC(1120, "responses sent 1120-1135 bytes", "1120-1135", + out); + SET_SIZESTATDESC(1136, "responses sent 1136-1151 bytes", "1136-1151", + out); + SET_SIZESTATDESC(1152, "responses sent 1152-1167 bytes", "1152-1167", + out); + SET_SIZESTATDESC(1168, "responses sent 1168-1183 bytes", "1168-1183", + out); + SET_SIZESTATDESC(1184, "responses sent 1184-1199 bytes", "1184-1199", + out); + SET_SIZESTATDESC(1200, "responses sent 1200-1215 bytes", "1200-1215", + out); + SET_SIZESTATDESC(1216, "responses sent 1216-1231 bytes", "1216-1231", + out); + SET_SIZESTATDESC(1232, "responses sent 1232-1247 bytes", "1232-1247", + out); + SET_SIZESTATDESC(1248, "responses sent 1248-1263 bytes", "1248-1263", + out); + SET_SIZESTATDESC(1264, "responses sent 1264-1279 bytes", "1264-1279", + out); + SET_SIZESTATDESC(1280, "responses sent 1280-1295 bytes", "1280-1295", + out); + SET_SIZESTATDESC(1296, "responses sent 1296-1311 bytes", "1296-1311", + out); + SET_SIZESTATDESC(1312, "responses sent 1312-1327 bytes", "1312-1327", + out); + SET_SIZESTATDESC(1328, "responses sent 1328-1343 bytes", "1328-1343", + out); + SET_SIZESTATDESC(1344, "responses sent 1344-1359 bytes", "1344-1359", + out); + SET_SIZESTATDESC(1360, "responses sent 1360-1375 bytes", "1360-1375", + out); + SET_SIZESTATDESC(1376, "responses sent 1376-1391 bytes", "1376-1391", + out); + SET_SIZESTATDESC(1392, "responses sent 1392-1407 bytes", "1392-1407", + out); + SET_SIZESTATDESC(1408, "responses sent 1408-1423 bytes", "1408-1423", + out); + SET_SIZESTATDESC(1424, "responses sent 1424-1439 bytes", "1424-1439", + out); + SET_SIZESTATDESC(1440, "responses sent 1440-1455 bytes", "1440-1455", + out); + SET_SIZESTATDESC(1456, "responses sent 1456-1471 bytes", "1456-1471", + out); + SET_SIZESTATDESC(1472, "responses sent 1472-1487 bytes", "1472-1487", + out); + SET_SIZESTATDESC(1488, "responses sent 1488-1503 bytes", "1488-1503", + out); + SET_SIZESTATDESC(1504, "responses sent 1504-1519 bytes", "1504-1519", + out); + SET_SIZESTATDESC(1520, "responses sent 1520-1535 bytes", "1520-1535", + out); + SET_SIZESTATDESC(1536, "responses sent 1536-1551 bytes", "1536-1551", + out); + SET_SIZESTATDESC(1552, "responses sent 1552-1567 bytes", "1552-1567", + out); + SET_SIZESTATDESC(1568, "responses sent 1568-1583 bytes", "1568-1583", + out); + SET_SIZESTATDESC(1584, "responses sent 1584-1599 bytes", "1584-1599", + out); + SET_SIZESTATDESC(1600, "responses sent 1600-1615 bytes", "1600-1615", + out); + SET_SIZESTATDESC(1616, "responses sent 1616-1631 bytes", "1616-1631", + out); + SET_SIZESTATDESC(1632, "responses sent 1632-1647 bytes", "1632-1647", + out); + SET_SIZESTATDESC(1648, "responses sent 1648-1663 bytes", "1648-1663", + out); + SET_SIZESTATDESC(1664, "responses sent 1664-1679 bytes", "1664-1679", + out); + SET_SIZESTATDESC(1680, "responses sent 1680-1695 bytes", "1680-1695", + out); + SET_SIZESTATDESC(1696, "responses sent 1696-1711 bytes", "1696-1711", + out); + SET_SIZESTATDESC(1712, "responses sent 1712-1727 bytes", "1712-1727", + out); + SET_SIZESTATDESC(1728, "responses sent 1728-1743 bytes", "1728-1743", + out); + SET_SIZESTATDESC(1744, "responses sent 1744-1759 bytes", "1744-1759", + out); + SET_SIZESTATDESC(1760, "responses sent 1760-1775 bytes", "1760-1775", + out); + SET_SIZESTATDESC(1776, "responses sent 1776-1791 bytes", "1776-1791", + out); + SET_SIZESTATDESC(1792, "responses sent 1792-1807 bytes", "1792-1807", + out); + SET_SIZESTATDESC(1808, "responses sent 1808-1823 bytes", "1808-1823", + out); + SET_SIZESTATDESC(1824, "responses sent 1824-1839 bytes", "1824-1839", + out); + SET_SIZESTATDESC(1840, "responses sent 1840-1855 bytes", "1840-1855", + out); + SET_SIZESTATDESC(1856, "responses sent 1856-1871 bytes", "1856-1871", + out); + SET_SIZESTATDESC(1872, "responses sent 1872-1887 bytes", "1872-1887", + out); + SET_SIZESTATDESC(1888, "responses sent 1888-1903 bytes", "1888-1903", + out); + SET_SIZESTATDESC(1904, "responses sent 1904-1919 bytes", "1904-1919", + out); + SET_SIZESTATDESC(1920, "responses sent 1920-1935 bytes", "1920-1935", + out); + SET_SIZESTATDESC(1936, "responses sent 1936-1951 bytes", "1936-1951", + out); + SET_SIZESTATDESC(1952, "responses sent 1952-1967 bytes", "1952-1967", + out); + SET_SIZESTATDESC(1968, "responses sent 1968-1983 bytes", "1968-1983", + out); + SET_SIZESTATDESC(1984, "responses sent 1984-1999 bytes", "1984-1999", + out); + SET_SIZESTATDESC(2000, "responses sent 2000-2015 bytes", "2000-2015", + out); + SET_SIZESTATDESC(2016, "responses sent 2016-2031 bytes", "2016-2031", + out); + SET_SIZESTATDESC(2032, "responses sent 2032-2047 bytes", "2032-2047", + out); + SET_SIZESTATDESC(2048, "responses sent 2048-2063 bytes", "2048-2063", + out); + SET_SIZESTATDESC(2064, "responses sent 2064-2079 bytes", "2064-2079", + out); + SET_SIZESTATDESC(2080, "responses sent 2080-2095 bytes", "2080-2095", + out); + SET_SIZESTATDESC(2096, "responses sent 2096-2111 bytes", "2096-2111", + out); + SET_SIZESTATDESC(2112, "responses sent 2112-2127 bytes", "2112-2127", + out); + SET_SIZESTATDESC(2128, "responses sent 2128-2143 bytes", "2128-2143", + out); + SET_SIZESTATDESC(2144, "responses sent 2144-2159 bytes", "2144-2159", + out); + SET_SIZESTATDESC(2160, "responses sent 2160-2175 bytes", "2160-2175", + out); + SET_SIZESTATDESC(2176, "responses sent 2176-2191 bytes", "2176-2191", + out); + SET_SIZESTATDESC(2192, "responses sent 2192-2207 bytes", "2192-2207", + out); + SET_SIZESTATDESC(2208, "responses sent 2208-2223 bytes", "2208-2223", + out); + SET_SIZESTATDESC(2224, "responses sent 2224-2239 bytes", "2224-2239", + out); + SET_SIZESTATDESC(2240, "responses sent 2240-2255 bytes", "2240-2255", + out); + SET_SIZESTATDESC(2256, "responses sent 2256-2271 bytes", "2256-2271", + out); + SET_SIZESTATDESC(2272, "responses sent 2272-2287 bytes", "2272-2287", + out); + SET_SIZESTATDESC(2288, "responses sent 2288-2303 bytes", "2288-2303", + out); + SET_SIZESTATDESC(2304, "responses sent 2304-2319 bytes", "2304-2319", + out); + SET_SIZESTATDESC(2320, "responses sent 2320-2335 bytes", "2320-2335", + out); + SET_SIZESTATDESC(2336, "responses sent 2336-2351 bytes", "2336-2351", + out); + SET_SIZESTATDESC(2352, "responses sent 2352-2367 bytes", "2352-2367", + out); + SET_SIZESTATDESC(2368, "responses sent 2368-2383 bytes", "2368-2383", + out); + SET_SIZESTATDESC(2384, "responses sent 2384-2399 bytes", "2384-2399", + out); + SET_SIZESTATDESC(2400, "responses sent 2400-2415 bytes", "2400-2415", + out); + SET_SIZESTATDESC(2416, "responses sent 2416-2431 bytes", "2416-2431", + out); + SET_SIZESTATDESC(2432, "responses sent 2432-2447 bytes", "2432-2447", + out); + SET_SIZESTATDESC(2448, "responses sent 2448-2463 bytes", "2448-2463", + out); + SET_SIZESTATDESC(2464, "responses sent 2464-2479 bytes", "2464-2479", + out); + SET_SIZESTATDESC(2480, "responses sent 2480-2495 bytes", "2480-2495", + out); + SET_SIZESTATDESC(2496, "responses sent 2496-2511 bytes", "2496-2511", + out); + SET_SIZESTATDESC(2512, "responses sent 2512-2527 bytes", "2512-2527", + out); + SET_SIZESTATDESC(2528, "responses sent 2528-2543 bytes", "2528-2543", + out); + SET_SIZESTATDESC(2544, "responses sent 2544-2559 bytes", "2544-2559", + out); + SET_SIZESTATDESC(2560, "responses sent 2560-2575 bytes", "2560-2575", + out); + SET_SIZESTATDESC(2576, "responses sent 2576-2591 bytes", "2576-2591", + out); + SET_SIZESTATDESC(2592, "responses sent 2592-2607 bytes", "2592-2607", + out); + SET_SIZESTATDESC(2608, "responses sent 2608-2623 bytes", "2608-2623", + out); + SET_SIZESTATDESC(2624, "responses sent 2624-2639 bytes", "2624-2639", + out); + SET_SIZESTATDESC(2640, "responses sent 2640-2655 bytes", "2640-2655", + out); + SET_SIZESTATDESC(2656, "responses sent 2656-2671 bytes", "2656-2671", + out); + SET_SIZESTATDESC(2672, "responses sent 2672-2687 bytes", "2672-2687", + out); + SET_SIZESTATDESC(2688, "responses sent 2688-2703 bytes", "2688-2703", + out); + SET_SIZESTATDESC(2704, "responses sent 2704-2719 bytes", "2704-2719", + out); + SET_SIZESTATDESC(2720, "responses sent 2720-2735 bytes", "2720-2735", + out); + SET_SIZESTATDESC(2736, "responses sent 2736-2751 bytes", "2736-2751", + out); + SET_SIZESTATDESC(2752, "responses sent 2752-2767 bytes", "2752-2767", + out); + SET_SIZESTATDESC(2768, "responses sent 2768-2783 bytes", "2768-2783", + out); + SET_SIZESTATDESC(2784, "responses sent 2784-2799 bytes", "2784-2799", + out); + SET_SIZESTATDESC(2800, "responses sent 2800-2815 bytes", "2800-2815", + out); + SET_SIZESTATDESC(2816, "responses sent 2816-2831 bytes", "2816-2831", + out); + SET_SIZESTATDESC(2832, "responses sent 2832-2847 bytes", "2832-2847", + out); + SET_SIZESTATDESC(2848, "responses sent 2848-2863 bytes", "2848-2863", + out); + SET_SIZESTATDESC(2864, "responses sent 2864-2879 bytes", "2864-2879", + out); + SET_SIZESTATDESC(2880, "responses sent 2880-2895 bytes", "2880-2895", + out); + SET_SIZESTATDESC(2896, "responses sent 2896-2911 bytes", "2896-2911", + out); + SET_SIZESTATDESC(2912, "responses sent 2912-2927 bytes", "2912-2927", + out); + SET_SIZESTATDESC(2928, "responses sent 2928-2943 bytes", "2928-2943", + out); + SET_SIZESTATDESC(2944, "responses sent 2944-2959 bytes", "2944-2959", + out); + SET_SIZESTATDESC(2960, "responses sent 2960-2975 bytes", "2960-2975", + out); + SET_SIZESTATDESC(2976, "responses sent 2976-2991 bytes", "2976-2991", + out); + SET_SIZESTATDESC(2992, "responses sent 2992-3007 bytes", "2992-3007", + out); + SET_SIZESTATDESC(3008, "responses sent 3008-3023 bytes", "3008-3023", + out); + SET_SIZESTATDESC(3024, "responses sent 3024-3039 bytes", "3024-3039", + out); + SET_SIZESTATDESC(3040, "responses sent 3040-3055 bytes", "3040-3055", + out); + SET_SIZESTATDESC(3056, "responses sent 3056-3071 bytes", "3056-3071", + out); + SET_SIZESTATDESC(3072, "responses sent 3072-3087 bytes", "3072-3087", + out); + SET_SIZESTATDESC(3088, "responses sent 3088-3103 bytes", "3088-3103", + out); + SET_SIZESTATDESC(3104, "responses sent 3104-3119 bytes", "3104-3119", + out); + SET_SIZESTATDESC(3120, "responses sent 3120-3135 bytes", "3120-3135", + out); + SET_SIZESTATDESC(3136, "responses sent 3136-3151 bytes", "3136-3151", + out); + SET_SIZESTATDESC(3152, "responses sent 3152-3167 bytes", "3152-3167", + out); + SET_SIZESTATDESC(3168, "responses sent 3168-3183 bytes", "3168-3183", + out); + SET_SIZESTATDESC(3184, "responses sent 3184-3199 bytes", "3184-3199", + out); + SET_SIZESTATDESC(3200, "responses sent 3200-3215 bytes", "3200-3215", + out); + SET_SIZESTATDESC(3216, "responses sent 3216-3231 bytes", "3216-3231", + out); + SET_SIZESTATDESC(3232, "responses sent 3232-3247 bytes", "3232-3247", + out); + SET_SIZESTATDESC(3248, "responses sent 3248-3263 bytes", "3248-3263", + out); + SET_SIZESTATDESC(3264, "responses sent 3264-3279 bytes", "3264-3279", + out); + SET_SIZESTATDESC(3280, "responses sent 3280-3295 bytes", "3280-3295", + out); + SET_SIZESTATDESC(3296, "responses sent 3296-3311 bytes", "3296-3311", + out); + SET_SIZESTATDESC(3312, "responses sent 3312-3327 bytes", "3312-3327", + out); + SET_SIZESTATDESC(3328, "responses sent 3328-3343 bytes", "3328-3343", + out); + SET_SIZESTATDESC(3344, "responses sent 3344-3359 bytes", "3344-3359", + out); + SET_SIZESTATDESC(3360, "responses sent 3360-3375 bytes", "3360-3375", + out); + SET_SIZESTATDESC(3376, "responses sent 3376-3391 bytes", "3376-3391", + out); + SET_SIZESTATDESC(3392, "responses sent 3392-3407 bytes", "3392-3407", + out); + SET_SIZESTATDESC(3408, "responses sent 3408-3423 bytes", "3408-3423", + out); + SET_SIZESTATDESC(3424, "responses sent 3424-3439 bytes", "3424-3439", + out); + SET_SIZESTATDESC(3440, "responses sent 3440-3455 bytes", "3440-3455", + out); + SET_SIZESTATDESC(3456, "responses sent 3456-3471 bytes", "3456-3471", + out); + SET_SIZESTATDESC(3472, "responses sent 3472-3487 bytes", "3472-3487", + out); + SET_SIZESTATDESC(3488, "responses sent 3488-3503 bytes", "3488-3503", + out); + SET_SIZESTATDESC(3504, "responses sent 3504-3519 bytes", "3504-3519", + out); + SET_SIZESTATDESC(3520, "responses sent 3520-3535 bytes", "3520-3535", + out); + SET_SIZESTATDESC(3536, "responses sent 3536-3551 bytes", "3536-3551", + out); + SET_SIZESTATDESC(3552, "responses sent 3552-3567 bytes", "3552-3567", + out); + SET_SIZESTATDESC(3568, "responses sent 3568-3583 bytes", "3568-3583", + out); + SET_SIZESTATDESC(3584, "responses sent 3584-3599 bytes", "3584-3599", + out); + SET_SIZESTATDESC(3600, "responses sent 3600-3615 bytes", "3600-3615", + out); + SET_SIZESTATDESC(3616, "responses sent 3616-3631 bytes", "3616-3631", + out); + SET_SIZESTATDESC(3632, "responses sent 3632-3647 bytes", "3632-3647", + out); + SET_SIZESTATDESC(3648, "responses sent 3648-3663 bytes", "3648-3663", + out); + SET_SIZESTATDESC(3664, "responses sent 3664-3679 bytes", "3664-3679", + out); + SET_SIZESTATDESC(3680, "responses sent 3680-3695 bytes", "3680-3695", + out); + SET_SIZESTATDESC(3696, "responses sent 3696-3711 bytes", "3696-3711", + out); + SET_SIZESTATDESC(3712, "responses sent 3712-3727 bytes", "3712-3727", + out); + SET_SIZESTATDESC(3728, "responses sent 3728-3743 bytes", "3728-3743", + out); + SET_SIZESTATDESC(3744, "responses sent 3744-3759 bytes", "3744-3759", + out); + SET_SIZESTATDESC(3760, "responses sent 3760-3775 bytes", "3760-3775", + out); + SET_SIZESTATDESC(3776, "responses sent 3776-3791 bytes", "3776-3791", + out); + SET_SIZESTATDESC(3792, "responses sent 3792-3807 bytes", "3792-3807", + out); + SET_SIZESTATDESC(3808, "responses sent 3808-3823 bytes", "3808-3823", + out); + SET_SIZESTATDESC(3824, "responses sent 3824-3839 bytes", "3824-3839", + out); + SET_SIZESTATDESC(3840, "responses sent 3840-3855 bytes", "3840-3855", + out); + SET_SIZESTATDESC(3856, "responses sent 3856-3871 bytes", "3856-3871", + out); + SET_SIZESTATDESC(3872, "responses sent 3872-3887 bytes", "3872-3887", + out); + SET_SIZESTATDESC(3888, "responses sent 3888-3903 bytes", "3888-3903", + out); + SET_SIZESTATDESC(3904, "responses sent 3904-3919 bytes", "3904-3919", + out); + SET_SIZESTATDESC(3920, "responses sent 3920-3935 bytes", "3920-3935", + out); + SET_SIZESTATDESC(3936, "responses sent 3936-3951 bytes", "3936-3951", + out); + SET_SIZESTATDESC(3952, "responses sent 3952-3967 bytes", "3952-3967", + out); + SET_SIZESTATDESC(3968, "responses sent 3968-3983 bytes", "3968-3983", + out); + SET_SIZESTATDESC(3984, "responses sent 3984-3999 bytes", "3984-3999", + out); + SET_SIZESTATDESC(4000, "responses sent 4000-4015 bytes", "4000-4015", + out); + SET_SIZESTATDESC(4016, "responses sent 4016-4031 bytes", "4016-4031", + out); + SET_SIZESTATDESC(4032, "responses sent 4032-4047 bytes", "4032-4047", + out); + SET_SIZESTATDESC(4048, "responses sent 4048-4063 bytes", "4048-4063", + out); + SET_SIZESTATDESC(4064, "responses sent 4064-4079 bytes", "4064-4079", + out); + SET_SIZESTATDESC(4080, "responses sent 4080-4095 bytes", "4080-4095", + out); SET_SIZESTATDESC(4096, "responses sent 4096+ bytes", "4096+", out); INSIST(i == dns_sizecounter_out_max); @@ -1065,7 +1268,8 @@ init_desc(void) { * Dump callback functions. */ static void -generalstat_dump(isc_statscounter_t counter, uint64_t val, void *arg) { +generalstat_dump(isc_statscounter_t counter, uint64_t val, void *arg) +{ stats_dumparg_t *dumparg = arg; REQUIRE(counter < dumparg->ncounters); @@ -1077,13 +1281,13 @@ dump_counters(isc_stats_t *stats, isc_statsformat_t type, void *arg, const char *category, const char **desc, int ncounters, int *indices, uint64_t *values, int options) { - int i, idx; - uint64_t value; + int i, idx; + uint64_t value; stats_dumparg_t dumparg; - FILE *fp; + FILE * fp; #ifdef HAVE_LIBXML2 void *writer; - int xmlrc; + int xmlrc; #endif #ifdef HAVE_JSON_C json_object *job, *cat, *counter; @@ -1102,7 +1306,7 @@ dump_counters(isc_stats_t *stats, isc_statsformat_t type, void *arg, isc_stats_dump(stats, generalstat_dump, &dumparg, options); #ifdef HAVE_JSON_C - cat = job = (json_object *) arg; + cat = job = (json_object *)arg; if (ncounters > 0 && type == isc_statsformat_json) { if (category != NULL) { cat = json_object_new_object(); @@ -1123,8 +1327,7 @@ dump_counters(isc_stats_t *stats, isc_statsformat_t type, void *arg, switch (dumparg.type) { case isc_statsformat_file: fp = arg; - fprintf(fp, "%20" PRIu64 " %s\n", - value, desc[idx]); + fprintf(fp, "%20" PRIu64 " %s\n", value, desc[idx]); break; case isc_statsformat_xml: #ifdef HAVE_LIBXML2 @@ -1132,26 +1335,22 @@ dump_counters(isc_stats_t *stats, isc_statsformat_t type, void *arg, if (category != NULL) { /* */ - TRY0(xmlTextWriterStartElement(writer, - ISC_XMLCHAR - category)); + TRY0(xmlTextWriterStartElement( + writer, ISC_XMLCHAR category)); /* inside category */ - TRY0(xmlTextWriterStartElement(writer, - ISC_XMLCHAR - "name")); - TRY0(xmlTextWriterWriteString(writer, - ISC_XMLCHAR - desc[idx])); + TRY0(xmlTextWriterStartElement( + writer, ISC_XMLCHAR "name")); + TRY0(xmlTextWriterWriteString( + writer, ISC_XMLCHAR desc[idx])); TRY0(xmlTextWriterEndElement(writer)); /* */ /* */ - TRY0(xmlTextWriterStartElement(writer, - ISC_XMLCHAR - "counter")); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64, value)); + TRY0(xmlTextWriterStartElement( + writer, ISC_XMLCHAR "counter")); + TRY0(xmlTextWriterWriteFormatString( + writer, "%" PRIu64, value)); TRY0(xmlTextWriterEndElement(writer)); /* */ @@ -1159,16 +1358,13 @@ dump_counters(isc_stats_t *stats, isc_statsformat_t type, void *arg, /* */ } else { - TRY0(xmlTextWriterStartElement(writer, - ISC_XMLCHAR - "counter")); - TRY0(xmlTextWriterWriteAttribute(writer, - ISC_XMLCHAR - "name", - ISC_XMLCHAR - desc[idx])); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64, value)); + TRY0(xmlTextWriterStartElement( + writer, ISC_XMLCHAR "counter")); + TRY0(xmlTextWriterWriteAttribute( + writer, ISC_XMLCHAR "name", + ISC_XMLCHAR desc[idx])); + TRY0(xmlTextWriterWriteFormatString( + writer, "%" PRIu64, value)); TRY0(xmlTextWriterEndElement(writer)); /* counter */ } @@ -1187,7 +1383,7 @@ dump_counters(isc_stats_t *stats, isc_statsformat_t type, void *arg, } return (ISC_R_SUCCESS); #ifdef HAVE_LIBXML2 - error: +error: isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "failed at dump_counters()"); @@ -1196,21 +1392,22 @@ dump_counters(isc_stats_t *stats, isc_statsformat_t type, void *arg, } static void -rdtypestat_dump(dns_rdatastatstype_t type, uint64_t val, void *arg) { - char typebuf[64]; - const char *typestr; +rdtypestat_dump(dns_rdatastatstype_t type, uint64_t val, void *arg) +{ + char typebuf[64]; + const char * typestr; stats_dumparg_t *dumparg = arg; - FILE *fp; + FILE * fp; #ifdef HAVE_LIBXML2 void *writer; - int xmlrc; + int xmlrc; #endif #ifdef HAVE_JSON_C json_object *zoneobj, *obj; #endif - if ((DNS_RDATASTATSTYPE_ATTR(type) & DNS_RDATASTATSTYPE_ATTR_OTHERTYPE) - == 0) { + if ((DNS_RDATASTATSTYPE_ATTR(type) & + DNS_RDATASTATSTYPE_ATTR_OTHERTYPE) == 0) { dns_rdatatype_format(DNS_RDATASTATSTYPE_BASE(type), typebuf, sizeof(typebuf)); typestr = typebuf; @@ -1226,21 +1423,18 @@ rdtypestat_dump(dns_rdatastatstype_t type, uint64_t val, void *arg) { #ifdef HAVE_LIBXML2 writer = dumparg->arg; - TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "counter")); TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "name", ISC_XMLCHAR typestr)); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64, - val)); + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64, val)); TRY0(xmlTextWriterEndElement(writer)); /* type */ #endif break; case isc_statsformat_json: #ifdef HAVE_JSON_C - zoneobj = (json_object *) dumparg->arg; + zoneobj = (json_object *)dumparg->arg; obj = json_object_new_int64(val); if (obj == NULL) return; @@ -1250,7 +1444,7 @@ rdtypestat_dump(dns_rdatastatstype_t type, uint64_t val, void *arg) { } return; #ifdef HAVE_LIBXML2 - error: +error: isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "failed at rdtypestat_dump()"); @@ -1266,25 +1460,26 @@ rdatastatstype_attr(dns_rdatastatstype_t type, unsigned int attr) } static void -rdatasetstats_dump(dns_rdatastatstype_t type, uint64_t val, void *arg) { +rdatasetstats_dump(dns_rdatastatstype_t type, uint64_t val, void *arg) +{ stats_dumparg_t *dumparg = arg; - FILE *fp; - char typebuf[64]; - const char *typestr; - bool nxrrset = false; - bool stale = false; - bool ancient = false; + FILE * fp; + char typebuf[64]; + const char * typestr; + bool nxrrset = false; + bool stale = false; + bool ancient = false; #ifdef HAVE_LIBXML2 void *writer; - int xmlrc; + int xmlrc; #endif #ifdef HAVE_JSON_C json_object *zoneobj, *obj; - char buf[1024]; + char buf[1024]; #endif - if ((DNS_RDATASTATSTYPE_ATTR(type) & DNS_RDATASTATSTYPE_ATTR_NXDOMAIN) - != 0) { + if ((DNS_RDATASTATSTYPE_ATTR(type) & + DNS_RDATASTATSTYPE_ATTR_NXDOMAIN) != 0) { typestr = "NXDOMAIN"; } else if ((DNS_RDATASTATSTYPE_ATTR(type) & DNS_RDATASTATSTYPE_ATTR_OTHERTYPE) != 0) { @@ -1302,9 +1497,8 @@ rdatasetstats_dump(dns_rdatastatstype_t type, uint64_t val, void *arg) { switch (dumparg->type) { case isc_statsformat_file: fp = dumparg->arg; - fprintf(fp, "%20" PRIu64 " %s%s%s%s\n", val, - ancient ? "~" : "", stale ? "#" : "", - nxrrset ? "!" : "", typestr); + fprintf(fp, "%20" PRIu64 " %s%s%s%s\n", val, ancient ? "~" : "", + stale ? "#" : "", nxrrset ? "!" : "", typestr); break; case isc_statsformat_xml: #ifdef HAVE_LIBXML2 @@ -1312,16 +1506,13 @@ rdatasetstats_dump(dns_rdatastatstype_t type, uint64_t val, void *arg) { TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "rrset")); TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "name")); - TRY0(xmlTextWriterWriteFormatString(writer, "%s%s%s%s", - ancient ? "~" : "", - stale ? "#" : "", - nxrrset ? "!" : "", typestr)); + TRY0(xmlTextWriterWriteFormatString( + writer, "%s%s%s%s", ancient ? "~" : "", + stale ? "#" : "", nxrrset ? "!" : "", typestr)); TRY0(xmlTextWriterEndElement(writer)); /* name */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "counter")); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64, - val)); + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64, val)); TRY0(xmlTextWriterEndElement(writer)); /* counter */ TRY0(xmlTextWriterEndElement(writer)); /* rrset */ @@ -1329,7 +1520,7 @@ rdatasetstats_dump(dns_rdatastatstype_t type, uint64_t val, void *arg) { break; case isc_statsformat_json: #ifdef HAVE_JSON_C - zoneobj = (json_object *) dumparg->arg; + zoneobj = (json_object *)dumparg->arg; snprintf(buf, sizeof(buf), "%s%s%s%s", ancient ? "~" : "", stale ? "#" : "", nxrrset ? "!" : "", typestr); obj = json_object_new_int64(val); @@ -1341,24 +1532,24 @@ rdatasetstats_dump(dns_rdatastatstype_t type, uint64_t val, void *arg) { } return; #ifdef HAVE_LIBXML2 - error: +error: isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "failed at rdatasetstats_dump()"); dumparg->result = ISC_R_FAILURE; #endif - } static void -opcodestat_dump(dns_opcode_t code, uint64_t val, void *arg) { - FILE *fp; - isc_buffer_t b; - char codebuf[64]; +opcodestat_dump(dns_opcode_t code, uint64_t val, void *arg) +{ + FILE * fp; + isc_buffer_t b; + char codebuf[64]; stats_dumparg_t *dumparg = arg; #ifdef HAVE_LIBXML2 void *writer; - int xmlrc; + int xmlrc; #endif #ifdef HAVE_JSON_C json_object *zoneobj, *obj; @@ -1378,16 +1569,14 @@ opcodestat_dump(dns_opcode_t code, uint64_t val, void *arg) { writer = dumparg->arg; TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "counter")); TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "name", - ISC_XMLCHAR codebuf )); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64, - val)); + ISC_XMLCHAR codebuf)); + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64, val)); TRY0(xmlTextWriterEndElement(writer)); /* counter */ #endif break; case isc_statsformat_json: #ifdef HAVE_JSON_C - zoneobj = (json_object *) dumparg->arg; + zoneobj = (json_object *)dumparg->arg; obj = json_object_new_int64(val); if (obj == NULL) return; @@ -1398,7 +1587,7 @@ opcodestat_dump(dns_opcode_t code, uint64_t val, void *arg) { return; #ifdef HAVE_LIBXML2 - error: +error: isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "failed at opcodestat_dump()"); @@ -1408,14 +1597,15 @@ opcodestat_dump(dns_opcode_t code, uint64_t val, void *arg) { } static void -rcodestat_dump(dns_rcode_t code, uint64_t val, void *arg) { - FILE *fp; - isc_buffer_t b; - char codebuf[64]; +rcodestat_dump(dns_rcode_t code, uint64_t val, void *arg) +{ + FILE * fp; + isc_buffer_t b; + char codebuf[64]; stats_dumparg_t *dumparg = arg; #ifdef HAVE_LIBXML2 void *writer; - int xmlrc; + int xmlrc; #endif #ifdef HAVE_JSON_C json_object *zoneobj, *obj; @@ -1435,16 +1625,14 @@ rcodestat_dump(dns_rcode_t code, uint64_t val, void *arg) { writer = dumparg->arg; TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "counter")); TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "name", - ISC_XMLCHAR codebuf )); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64, - val)); + ISC_XMLCHAR codebuf)); + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64, val)); TRY0(xmlTextWriterEndElement(writer)); /* counter */ #endif break; case isc_statsformat_json: #ifdef HAVE_JSON_C - zoneobj = (json_object *) dumparg->arg; + zoneobj = (json_object *)dumparg->arg; obj = json_object_new_int64(val); if (obj == NULL) return; @@ -1455,7 +1643,7 @@ rcodestat_dump(dns_rcode_t code, uint64_t val, void *arg) { return; #ifdef HAVE_LIBXML2 - error: +error: isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "failed at rcodestat_dump()"); @@ -1466,13 +1654,14 @@ rcodestat_dump(dns_rcode_t code, uint64_t val, void *arg) { #if defined(EXTENDED_STATS) static void -dnssecsignstat_dump(dns_keytag_t tag, uint64_t val, void *arg) { - FILE *fp; - char tagbuf[64]; +dnssecsignstat_dump(dns_keytag_t tag, uint64_t val, void *arg) +{ + FILE * fp; + char tagbuf[64]; stats_dumparg_t *dumparg = arg; #ifdef HAVE_LIBXML2 xmlTextWriterPtr writer; - int xmlrc; + int xmlrc; #endif #ifdef HAVE_JSON_C json_object *zoneobj, *obj; @@ -1490,16 +1679,14 @@ dnssecsignstat_dump(dns_keytag_t tag, uint64_t val, void *arg) { writer = dumparg->arg; TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "counter")); TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "name", - ISC_XMLCHAR tagbuf )); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64, - val)); + ISC_XMLCHAR tagbuf)); + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64, val)); TRY0(xmlTextWriterEndElement(writer)); /* counter */ #endif break; case isc_statsformat_json: #ifdef HAVE_JSON_C - zoneobj = (json_object *) dumparg->arg; + zoneobj = (json_object *)dumparg->arg; obj = json_object_new_int64(val); if (obj == NULL) { return; @@ -1510,7 +1697,7 @@ dnssecsignstat_dump(dns_keytag_t tag, uint64_t val, void *arg) { } return; #ifdef HAVE_LIBXML2 - error: +error: isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "failed at dnssecsignstat_dump()"); @@ -1524,26 +1711,27 @@ dnssecsignstat_dump(dns_keytag_t tag, uint64_t val, void *arg) { /* * Which statistics to include when rendering to XML */ -#define STATS_XML_STATUS 0x00 /* display only common statistics */ -#define STATS_XML_SERVER 0x01 -#define STATS_XML_ZONES 0x02 -#define STATS_XML_TASKS 0x04 -#define STATS_XML_NET 0x08 -#define STATS_XML_MEM 0x10 -#define STATS_XML_TRAFFIC 0x20 -#define STATS_XML_ALL 0xff +#define STATS_XML_STATUS 0x00 /* display only common statistics */ +#define STATS_XML_SERVER 0x01 +#define STATS_XML_ZONES 0x02 +#define STATS_XML_TASKS 0x04 +#define STATS_XML_NET 0x08 +#define STATS_XML_MEM 0x10 +#define STATS_XML_TRAFFIC 0x20 +#define STATS_XML_ALL 0xff static isc_result_t -zone_xmlrender(dns_zone_t *zone, void *arg) { +zone_xmlrender(dns_zone_t *zone, void *arg) +{ isc_result_t result; - char buf[1024 + 32]; /* sufficiently large for zone name and class */ - dns_rdataclass_t rdclass; - uint32_t serial; - xmlTextWriterPtr writer = arg; + char buf[1024 + 32]; /* sufficiently large for zone name and class */ + dns_rdataclass_t rdclass; + uint32_t serial; + xmlTextWriterPtr writer = arg; dns_zonestat_level_t statlevel; - int xmlrc; - stats_dumparg_t dumparg; - const char *ztype; + int xmlrc; + stats_dumparg_t dumparg; + const char * ztype; statlevel = dns_zone_getstatlevel(zone); if (statlevel == dns_zonestat_none) @@ -1584,7 +1772,7 @@ zone_xmlrender(dns_zone_t *zone, void *arg) { dns_stats_t *rcvquerystats; dns_stats_t *dnssecsignstats; dns_stats_t *dnssecrefreshstats; - uint64_t nsstat_values[ns_statscounter_max]; + uint64_t nsstat_values[ns_statscounter_max]; uint64_t gluecachestats_values[dns_gluecachestatscounter_max]; zonestats = dns_zone_getrequeststats(zone); @@ -1611,17 +1799,16 @@ zone_xmlrender(dns_zone_t *zone, void *arg) { TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "counters")); TRY0(xmlTextWriterWriteAttribute(writer, - ISC_XMLCHAR "type", - ISC_XMLCHAR "gluecache")); + ISC_XMLCHAR "type", + ISC_XMLCHAR "gluecach" + "e")); - result = dump_counters(gluecachestats, - isc_statsformat_xml, - writer, NULL, - gluecachestats_xmldesc, - dns_gluecachestatscounter_max, - gluecachestats_index, - gluecachestats_values, - ISC_STATSDUMP_VERBOSE); + result = dump_counters( + gluecachestats, isc_statsformat_xml, writer, + NULL, gluecachestats_xmldesc, + dns_gluecachestatscounter_max, + gluecachestats_index, gluecachestats_values, + ISC_STATSDUMP_VERBOSE); if (result != ISC_R_SUCCESS) goto error; /* counters type="rcode"*/ @@ -1639,7 +1826,7 @@ zone_xmlrender(dns_zone_t *zone, void *arg) { dumparg.result = ISC_R_SUCCESS; dns_rdatatypestats_dump(rcvquerystats, rdtypestat_dump, &dumparg, 0); - if(dumparg.result != ISC_R_SUCCESS) + if (dumparg.result != ISC_R_SUCCESS) goto error; /* counters type="qtype"*/ @@ -1651,14 +1838,15 @@ zone_xmlrender(dns_zone_t *zone, void *arg) { TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "counters")); TRY0(xmlTextWriterWriteAttribute(writer, - ISC_XMLCHAR "type", - ISC_XMLCHAR "dnssec-sign")); + ISC_XMLCHAR "type", + ISC_XMLCHAR "dnssec-" + "sign")); dumparg.result = ISC_R_SUCCESS; dns_dnssecsignstats_dump(dnssecsignstats, - dnssecsignstat_dump, - &dumparg, 0); - if(dumparg.result != ISC_R_SUCCESS) { + dnssecsignstat_dump, &dumparg, + 0); + if (dumparg.result != ISC_R_SUCCESS) { goto error; } @@ -1671,14 +1859,16 @@ zone_xmlrender(dns_zone_t *zone, void *arg) { TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "counters")); TRY0(xmlTextWriterWriteAttribute(writer, - ISC_XMLCHAR "type", - ISC_XMLCHAR "dnssec-refresh")); + ISC_XMLCHAR "type", + ISC_XMLCHAR "dnssec-" + "refres" + "h")); dumparg.result = ISC_R_SUCCESS; dns_dnssecsignstats_dump(dnssecrefreshstats, - dnssecsignstat_dump, - &dumparg, 0); - if(dumparg.result != ISC_R_SUCCESS) { + dnssecsignstat_dump, &dumparg, + 0); + if (dumparg.result != ISC_R_SUCCESS) { goto error; } @@ -1690,7 +1880,7 @@ zone_xmlrender(dns_zone_t *zone, void *arg) { TRY0(xmlTextWriterEndElement(writer)); /* zone */ return (ISC_R_SUCCESS); - error: +error: isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "Failed at zone_xmlrender()"); @@ -1698,28 +1888,27 @@ zone_xmlrender(dns_zone_t *zone, void *arg) { } static isc_result_t -generatexml(named_server_t *server, uint32_t flags, - int *buflen, xmlChar **buf) +generatexml(named_server_t *server, uint32_t flags, int *buflen, xmlChar **buf) { - char boottime[sizeof "yyyy-mm-ddThh:mm:ss.sssZ"]; - char configtime[sizeof "yyyy-mm-ddThh:mm:ss.sssZ"]; - char nowstr[sizeof "yyyy-mm-ddThh:mm:ss.sssZ"]; - isc_time_t now; + char boottime[sizeof "yyyy-mm-ddThh:mm:ss.sssZ"]; + char configtime[sizeof "yyyy-mm-ddThh:mm:ss.sssZ"]; + char nowstr[sizeof "yyyy-mm-ddThh:mm:ss.sssZ"]; + isc_time_t now; xmlTextWriterPtr writer = NULL; - xmlDocPtr doc = NULL; - int xmlrc; - dns_view_t *view; - stats_dumparg_t dumparg; - dns_stats_t *cacherrstats; - uint64_t nsstat_values[ns_statscounter_max]; - uint64_t resstat_values[dns_resstatscounter_max]; - uint64_t adbstat_values[dns_adbstats_max]; - uint64_t zonestat_values[dns_zonestatscounter_max]; - uint64_t sockstat_values[isc_sockstatscounter_max]; - uint64_t udpinsizestat_values[dns_sizecounter_in_max]; - uint64_t udpoutsizestat_values[dns_sizecounter_out_max]; - uint64_t tcpinsizestat_values[dns_sizecounter_in_max]; - uint64_t tcpoutsizestat_values[dns_sizecounter_out_max]; + xmlDocPtr doc = NULL; + int xmlrc; + dns_view_t * view; + stats_dumparg_t dumparg; + dns_stats_t * cacherrstats; + uint64_t nsstat_values[ns_statscounter_max]; + uint64_t resstat_values[dns_resstatscounter_max]; + uint64_t adbstat_values[dns_adbstats_max]; + uint64_t zonestat_values[dns_zonestatscounter_max]; + uint64_t sockstat_values[isc_sockstatscounter_max]; + uint64_t udpinsizestat_values[dns_sizecounter_in_max]; + uint64_t udpoutsizestat_values[dns_sizecounter_out_max]; + uint64_t tcpinsizestat_values[dns_sizecounter_in_max]; + uint64_t tcpoutsizestat_values[dns_sizecounter_out_max]; #ifdef HAVE_DNSTAP uint64_t dnstapstat_values[dns_dnstapcounter_max]; #endif @@ -1736,7 +1925,8 @@ generatexml(named_server_t *server, uint32_t flags, goto error; TRY0(xmlTextWriterStartDocument(writer, NULL, "UTF-8", NULL)); TRY0(xmlTextWriterWritePI(writer, ISC_XMLCHAR "xml-stylesheet", - ISC_XMLCHAR "type=\"text/xsl\" href=\"/bind9.xsl\"")); + ISC_XMLCHAR "type=\"text/xsl\" " + "href=\"/bind9.xsl\"")); TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "statistics")); TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "version", ISC_XMLCHAR "3.11")); @@ -1755,10 +1945,10 @@ generatexml(named_server_t *server, uint32_t flags, TRY0(xmlTextWriterEndElement(writer)); /* config-time */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "current-time")); TRY0(xmlTextWriterWriteString(writer, ISC_XMLCHAR nowstr)); - TRY0(xmlTextWriterEndElement(writer)); /* current-time */ + TRY0(xmlTextWriterEndElement(writer)); /* current-time */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "version")); TRY0(xmlTextWriterWriteString(writer, ISC_XMLCHAR named_g_version)); - TRY0(xmlTextWriterEndElement(writer)); /* version */ + TRY0(xmlTextWriterEndElement(writer)); /* version */ if ((flags & STATS_XML_SERVER) != 0) { dumparg.result = ISC_R_SUCCESS; @@ -1767,9 +1957,8 @@ generatexml(named_server_t *server, uint32_t flags, TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "type", ISC_XMLCHAR "opcode")); - dns_opcodestats_dump(server->sctx->opcodestats, - opcodestat_dump, &dumparg, - ISC_STATSDUMP_VERBOSE); + dns_opcodestats_dump(server->sctx->opcodestats, opcodestat_dump, + &dumparg, ISC_STATSDUMP_VERBOSE); if (dumparg.result != ISC_R_SUCCESS) goto error; @@ -1779,9 +1968,8 @@ generatexml(named_server_t *server, uint32_t flags, TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "type", ISC_XMLCHAR "rcode")); - dns_rcodestats_dump(server->sctx->rcodestats, - rcodestat_dump, &dumparg, - ISC_STATSDUMP_VERBOSE); + dns_rcodestats_dump(server->sctx->rcodestats, rcodestat_dump, + &dumparg, ISC_STATSDUMP_VERBOSE); if (dumparg.result != ISC_R_SUCCESS) goto error; @@ -1803,9 +1991,8 @@ generatexml(named_server_t *server, uint32_t flags, ISC_XMLCHAR "nsstat")); result = dump_counters(ns_stats_get(server->sctx->nsstats), - isc_statsformat_xml, - writer, NULL, nsstats_xmldesc, - ns_statscounter_max, + isc_statsformat_xml, writer, NULL, + nsstats_xmldesc, ns_statscounter_max, nsstats_index, nsstat_values, ISC_STATSDUMP_VERBOSE); if (result != ISC_R_SUCCESS) @@ -1834,11 +2021,10 @@ generatexml(named_server_t *server, uint32_t flags, TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "counters")); TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "type", ISC_XMLCHAR "resstat")); - result = dump_counters(server->resolverstats, - isc_statsformat_xml, writer, - NULL, resstats_xmldesc, - dns_resstatscounter_max, - resstats_index, resstat_values, 0); + result = dump_counters( + server->resolverstats, isc_statsformat_xml, writer, + NULL, resstats_xmldesc, dns_resstatscounter_max, + resstats_index, resstat_values, 0); if (result != ISC_R_SUCCESS) goto error; TRY0(xmlTextWriterEndElement(writer)); /* resstat */ @@ -1852,12 +2038,10 @@ generatexml(named_server_t *server, uint32_t flags, ISC_XMLCHAR "type", ISC_XMLCHAR "dnstap")); dns_dt_getstats(named_g_server->dtenv, &dnstapstats); - result = dump_counters(dnstapstats, - isc_statsformat_xml, writer, - NULL, dnstapstats_xmldesc, - dns_dnstapcounter_max, - dnstapstats_index, - dnstapstat_values, 0); + result = dump_counters( + dnstapstats, isc_statsformat_xml, writer, NULL, + dnstapstats_xmldesc, dns_dnstapcounter_max, + dnstapstats_index, dnstapstat_values, 0); isc_stats_detach(&dnstapstats); if (result != ISC_R_SUCCESS) goto error; @@ -1891,12 +2075,10 @@ generatexml(named_server_t *server, uint32_t flags, TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "type", ISC_XMLCHAR "request-size")); - result = dump_counters(server->sctx->udpinstats4, - isc_statsformat_xml, writer, - NULL, udpinsizestats_xmldesc, - dns_sizecounter_in_max, - udpinsizestats_index, - udpinsizestat_values, 0); + result = dump_counters( + server->sctx->udpinstats4, isc_statsformat_xml, writer, + NULL, udpinsizestats_xmldesc, dns_sizecounter_in_max, + udpinsizestats_index, udpinsizestat_values, 0); if (result != ISC_R_SUCCESS) goto error; @@ -1906,12 +2088,10 @@ generatexml(named_server_t *server, uint32_t flags, TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "type", ISC_XMLCHAR "response-size")); - result = dump_counters(server->sctx->udpoutstats4, - isc_statsformat_xml, writer, - NULL, udpoutsizestats_xmldesc, - dns_sizecounter_out_max, - udpoutsizestats_index, - udpoutsizestat_values, 0); + result = dump_counters( + server->sctx->udpoutstats4, isc_statsformat_xml, writer, + NULL, udpoutsizestats_xmldesc, dns_sizecounter_out_max, + udpoutsizestats_index, udpoutsizestat_values, 0); if (result != ISC_R_SUCCESS) goto error; @@ -1923,12 +2103,10 @@ generatexml(named_server_t *server, uint32_t flags, TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "type", ISC_XMLCHAR "request-size")); - result = dump_counters(server->sctx->tcpinstats4, - isc_statsformat_xml, writer, - NULL, tcpinsizestats_xmldesc, - dns_sizecounter_in_max, - tcpinsizestats_index, - tcpinsizestat_values, 0); + result = dump_counters( + server->sctx->tcpinstats4, isc_statsformat_xml, writer, + NULL, tcpinsizestats_xmldesc, dns_sizecounter_in_max, + tcpinsizestats_index, tcpinsizestat_values, 0); if (result != ISC_R_SUCCESS) goto error; @@ -1938,12 +2116,10 @@ generatexml(named_server_t *server, uint32_t flags, TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "type", ISC_XMLCHAR "response-size")); - result = dump_counters(server->sctx->tcpoutstats4, - isc_statsformat_xml, writer, - NULL, tcpoutsizestats_xmldesc, - dns_sizecounter_out_max, - tcpoutsizestats_index, - tcpoutsizestat_values, 0); + result = dump_counters( + server->sctx->tcpoutstats4, isc_statsformat_xml, writer, + NULL, tcpoutsizestats_xmldesc, dns_sizecounter_out_max, + tcpoutsizestats_index, tcpoutsizestat_values, 0); if (result != ISC_R_SUCCESS) goto error; @@ -1957,12 +2133,10 @@ generatexml(named_server_t *server, uint32_t flags, TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "type", ISC_XMLCHAR "request-size")); - result = dump_counters(server->sctx->udpinstats6, - isc_statsformat_xml, writer, - NULL, udpinsizestats_xmldesc, - dns_sizecounter_in_max, - udpinsizestats_index, - udpinsizestat_values, 0); + result = dump_counters( + server->sctx->udpinstats6, isc_statsformat_xml, writer, + NULL, udpinsizestats_xmldesc, dns_sizecounter_in_max, + udpinsizestats_index, udpinsizestat_values, 0); if (result != ISC_R_SUCCESS) goto error; @@ -1972,12 +2146,10 @@ generatexml(named_server_t *server, uint32_t flags, TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "type", ISC_XMLCHAR "response-size")); - result = dump_counters(server->sctx->udpoutstats6, - isc_statsformat_xml, writer, - NULL, udpoutsizestats_xmldesc, - dns_sizecounter_out_max, - udpoutsizestats_index, - udpoutsizestat_values, 0); + result = dump_counters( + server->sctx->udpoutstats6, isc_statsformat_xml, writer, + NULL, udpoutsizestats_xmldesc, dns_sizecounter_out_max, + udpoutsizestats_index, udpoutsizestat_values, 0); if (result != ISC_R_SUCCESS) goto error; @@ -1989,12 +2161,10 @@ generatexml(named_server_t *server, uint32_t flags, TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "type", ISC_XMLCHAR "request-size")); - result = dump_counters(server->sctx->tcpinstats6, - isc_statsformat_xml, writer, - NULL, tcpinsizestats_xmldesc, - dns_sizecounter_in_max, - tcpinsizestats_index, - tcpinsizestat_values, 0); + result = dump_counters( + server->sctx->tcpinstats6, isc_statsformat_xml, writer, + NULL, tcpinsizestats_xmldesc, dns_sizecounter_in_max, + tcpinsizestats_index, tcpinsizestat_values, 0); if (result != ISC_R_SUCCESS) goto error; @@ -2004,12 +2174,10 @@ generatexml(named_server_t *server, uint32_t flags, TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "type", ISC_XMLCHAR "response-size")); - result = dump_counters(server->sctx->tcpoutstats6, - isc_statsformat_xml, writer, - NULL, tcpoutsizestats_xmldesc, - dns_sizecounter_out_max, - tcpoutsizestats_index, - tcpoutsizestat_values, 0); + result = dump_counters( + server->sctx->tcpoutstats6, isc_statsformat_xml, writer, + NULL, tcpoutsizestats_xmldesc, dns_sizecounter_out_max, + tcpoutsizestats_index, tcpoutsizestat_values, 0); if (result != ISC_R_SUCCESS) goto error; @@ -2026,8 +2194,7 @@ generatexml(named_server_t *server, uint32_t flags, view = ISC_LIST_HEAD(server->viewlist); TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "views")); while (view != NULL && - ((flags & (STATS_XML_SERVER | STATS_XML_ZONES)) != 0)) - { + ((flags & (STATS_XML_SERVER | STATS_XML_ZONES)) != 0)) { TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "view")); TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "name", ISC_XMLCHAR view->name)); @@ -2035,8 +2202,8 @@ generatexml(named_server_t *server, uint32_t flags, if ((flags & STATS_XML_ZONES) != 0) { TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "zones")); - result = dns_zt_apply(view->zonetable, true, - NULL, zone_xmlrender, writer); + result = dns_zt_apply(view->zonetable, true, NULL, + zone_xmlrender, writer); if (result != ISC_R_SUCCESS) goto error; TRY0(xmlTextWriterEndElement(writer)); /* /zones */ @@ -2048,8 +2215,7 @@ generatexml(named_server_t *server, uint32_t flags, continue; } - TRY0(xmlTextWriterStartElement(writer, - ISC_XMLCHAR "counters")); + TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "counters")); TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "type", ISC_XMLCHAR "resqtype")); @@ -2067,12 +2233,11 @@ generatexml(named_server_t *server, uint32_t flags, TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "type", ISC_XMLCHAR "resstats")); if (view->resstats != NULL) { - result = dump_counters(view->resstats, - isc_statsformat_xml, writer, - NULL, resstats_xmldesc, - dns_resstatscounter_max, - resstats_index, resstat_values, - ISC_STATSDUMP_VERBOSE); + result = dump_counters( + view->resstats, isc_statsformat_xml, writer, + NULL, resstats_xmldesc, dns_resstatscounter_max, + resstats_index, resstat_values, + ISC_STATSDUMP_VERBOSE); if (result != ISC_R_SUCCESS) goto error; } @@ -2082,10 +2247,9 @@ generatexml(named_server_t *server, uint32_t flags, if (cacherrstats != NULL) { TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "cache")); - TRY0(xmlTextWriterWriteAttribute(writer, - ISC_XMLCHAR "name", - ISC_XMLCHAR - dns_cache_getname(view->cache))); + TRY0(xmlTextWriterWriteAttribute( + writer, ISC_XMLCHAR "name", + ISC_XMLCHAR dns_cache_getname(view->cache))); dumparg.result = ISC_R_SUCCESS; dns_rdatasetstats_dump(cacherrstats, rdatasetstats_dump, &dumparg, 0); @@ -2099,12 +2263,11 @@ generatexml(named_server_t *server, uint32_t flags, TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "type", ISC_XMLCHAR "adbstat")); if (view->adbstats != NULL) { - result = dump_counters(view->adbstats, - isc_statsformat_xml, writer, - NULL, adbstats_xmldesc, - dns_adbstats_max, - adbstats_index, adbstat_values, - ISC_STATSDUMP_VERBOSE); + result = dump_counters( + view->adbstats, isc_statsformat_xml, writer, + NULL, adbstats_xmldesc, dns_adbstats_max, + adbstats_index, adbstat_values, + ISC_STATSDUMP_VERBOSE); if (result != ISC_R_SUCCESS) goto error; } @@ -2124,8 +2287,8 @@ generatexml(named_server_t *server, uint32_t flags, TRY0(xmlTextWriterEndElement(writer)); /* /views */ if ((flags & STATS_XML_NET) != 0) { - TRY0(xmlTextWriterStartElement(writer, - ISC_XMLCHAR "socketmgr")); + TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "socketmg" + "r")); TRY0(isc_socketmgr_renderxml(named_g_socketmgr, writer)); TRY0(xmlTextWriterEndElement(writer)); /* /socketmgr */ } @@ -2142,7 +2305,6 @@ generatexml(named_server_t *server, uint32_t flags, TRY0(xmlTextWriterEndElement(writer)); /* /memory */ } - TRY0(xmlTextWriterEndElement(writer)); /* /statistics */ TRY0(xmlTextWriterEndDocument(writer)); @@ -2154,7 +2316,7 @@ generatexml(named_server_t *server, uint32_t flags, xmlFreeDoc(doc); return (ISC_R_SUCCESS); - error: +error: isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "failed generating XML response"); @@ -2166,7 +2328,8 @@ generatexml(named_server_t *server, uint32_t flags, } static void -wrap_xmlfree(isc_buffer_t *buffer, void *arg) { +wrap_xmlfree(isc_buffer_t *buffer, void *arg) +{ UNUSED(arg); xmlFree(isc_buffer_base(buffer)); @@ -2175,14 +2338,13 @@ wrap_xmlfree(isc_buffer_t *buffer, void *arg) { static isc_result_t render_xml(uint32_t flags, const char *url, isc_httpdurl_t *urlinfo, const char *querystring, const char *headers, void *arg, - unsigned int *retcode, const char **retmsg, - const char **mimetype, isc_buffer_t *b, - isc_httpdfree_t **freecb, void **freecb_args) + unsigned int *retcode, const char **retmsg, const char **mimetype, + isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { - unsigned char *msg = NULL; - int msglen; + unsigned char * msg = NULL; + int msglen; named_server_t *server = arg; - isc_result_t result; + isc_result_t result; UNUSED(url); UNUSED(urlinfo); @@ -2211,13 +2373,12 @@ static isc_result_t render_xml_all(const char *url, isc_httpdurl_t *urlinfo, const char *querystring, const char *headers, void *arg, unsigned int *retcode, const char **retmsg, - const char **mimetype, isc_buffer_t *b, - isc_httpdfree_t **freecb, void **freecb_args) + const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, + void **freecb_args) { - return (render_xml(STATS_XML_ALL, url, urlinfo, - querystring, headers, arg, - retcode, retmsg, mimetype, b, - freecb, freecb_args)); + return (render_xml(STATS_XML_ALL, url, urlinfo, querystring, headers, + arg, retcode, retmsg, mimetype, b, freecb, + freecb_args)); } static isc_result_t @@ -2227,10 +2388,9 @@ render_xml_status(const char *url, isc_httpdurl_t *urlinfo, const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { - return (render_xml(STATS_XML_STATUS, url, urlinfo, - querystring, headers, arg, - retcode, retmsg, mimetype, b, - freecb, freecb_args)); + return (render_xml(STATS_XML_STATUS, url, urlinfo, querystring, headers, + arg, retcode, retmsg, mimetype, b, freecb, + freecb_args)); } static isc_result_t @@ -2240,10 +2400,9 @@ render_xml_server(const char *url, isc_httpdurl_t *urlinfo, const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { - return (render_xml(STATS_XML_SERVER, url, urlinfo, - querystring, headers, arg, - retcode, retmsg, mimetype, b, - freecb, freecb_args)); + return (render_xml(STATS_XML_SERVER, url, urlinfo, querystring, headers, + arg, retcode, retmsg, mimetype, b, freecb, + freecb_args)); } static isc_result_t @@ -2253,23 +2412,21 @@ render_xml_zones(const char *url, isc_httpdurl_t *urlinfo, const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { - return (render_xml(STATS_XML_ZONES, url, urlinfo, - querystring, headers, arg, - retcode, retmsg, mimetype, b, - freecb, freecb_args)); + return (render_xml(STATS_XML_ZONES, url, urlinfo, querystring, headers, + arg, retcode, retmsg, mimetype, b, freecb, + freecb_args)); } static isc_result_t render_xml_net(const char *url, isc_httpdurl_t *urlinfo, const char *querystring, const char *headers, void *arg, unsigned int *retcode, const char **retmsg, - const char **mimetype, isc_buffer_t *b, - isc_httpdfree_t **freecb, void **freecb_args) + const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, + void **freecb_args) { - return (render_xml(STATS_XML_NET, url, urlinfo, - querystring, headers, arg, - retcode, retmsg, mimetype, b, - freecb, freecb_args)); + return (render_xml(STATS_XML_NET, url, urlinfo, querystring, headers, + arg, retcode, retmsg, mimetype, b, freecb, + freecb_args)); } static isc_result_t @@ -2279,23 +2436,21 @@ render_xml_tasks(const char *url, isc_httpdurl_t *urlinfo, const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { - return (render_xml(STATS_XML_TASKS, url, urlinfo, - querystring, headers, arg, - retcode, retmsg, mimetype, b, - freecb, freecb_args)); + return (render_xml(STATS_XML_TASKS, url, urlinfo, querystring, headers, + arg, retcode, retmsg, mimetype, b, freecb, + freecb_args)); } static isc_result_t render_xml_mem(const char *url, isc_httpdurl_t *urlinfo, const char *querystring, const char *headers, void *arg, unsigned int *retcode, const char **retmsg, - const char **mimetype, isc_buffer_t *b, - isc_httpdfree_t **freecb, void **freecb_args) + const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, + void **freecb_args) { - return (render_xml(STATS_XML_MEM, url, urlinfo, - querystring, headers, arg, - retcode, retmsg, mimetype, b, - freecb, freecb_args)); + return (render_xml(STATS_XML_MEM, url, urlinfo, querystring, headers, + arg, retcode, retmsg, mimetype, b, freecb, + freecb_args)); } static isc_result_t @@ -2305,50 +2460,52 @@ render_xml_traffic(const char *url, isc_httpdurl_t *urlinfo, const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { - return (render_xml(STATS_XML_TRAFFIC, url, urlinfo, - querystring, headers, arg, - retcode, retmsg, mimetype, b, - freecb, freecb_args)); + return (render_xml(STATS_XML_TRAFFIC, url, urlinfo, querystring, + headers, arg, retcode, retmsg, mimetype, b, freecb, + freecb_args)); } -#endif /* HAVE_LIBXML2 */ +#endif /* HAVE_LIBXML2 */ #ifdef HAVE_JSON_C /* * Which statistics to include when rendering to JSON */ -#define STATS_JSON_STATUS 0x00 /* display only common statistics */ -#define STATS_JSON_SERVER 0x01 -#define STATS_JSON_ZONES 0x02 -#define STATS_JSON_TASKS 0x04 -#define STATS_JSON_NET 0x08 -#define STATS_JSON_MEM 0x10 -#define STATS_JSON_TRAFFIC 0x20 -#define STATS_JSON_ALL 0xff +#define STATS_JSON_STATUS 0x00 /* display only common statistics */ +#define STATS_JSON_SERVER 0x01 +#define STATS_JSON_ZONES 0x02 +#define STATS_JSON_TASKS 0x04 +#define STATS_JSON_NET 0x08 +#define STATS_JSON_MEM 0x10 +#define STATS_JSON_TRAFFIC 0x20 +#define STATS_JSON_ALL 0xff -#define CHECK(m) do { \ - result = (m); \ - if (result != ISC_R_SUCCESS) \ - goto error; \ -} while (0) +#define CHECK(m) \ + do { \ + result = (m); \ + if (result != ISC_R_SUCCESS) \ + goto error; \ + } while (0) -#define CHECKMEM(m) do { \ - if (m == NULL) { \ - result = ISC_R_NOMEMORY;\ - goto error;\ - } \ -} while(0) +#define CHECKMEM(m) \ + do { \ + if (m == NULL) { \ + result = ISC_R_NOMEMORY; \ + goto error; \ + } \ + } while (0) static void -wrap_jsonfree(isc_buffer_t *buffer, void *arg) { +wrap_jsonfree(isc_buffer_t *buffer, void *arg) +{ json_object_put(isc_buffer_base(buffer)); if (arg != NULL) - json_object_put((json_object *) arg); + json_object_put((json_object *)arg); } static json_object * -addzone(char *name, char *classname, const char *ztype, - uint32_t serial, bool add_serial) +addzone(char *name, char *classname, const char *ztype, uint32_t serial, + bool add_serial) { json_object *node = json_object_new_object(); @@ -2368,16 +2525,17 @@ addzone(char *name, char *classname, const char *ztype, } static isc_result_t -zone_jsonrender(dns_zone_t *zone, void *arg) { +zone_jsonrender(dns_zone_t *zone, void *arg) +{ isc_result_t result = ISC_R_SUCCESS; - char buf[1024 + 32]; /* sufficiently large for zone name and class */ - char classbuf[64]; /* sufficiently large for class */ + char buf[1024 + 32]; /* sufficiently large for zone name and class */ + char classbuf[64]; /* sufficiently large for class */ char *zone_name_only = NULL; char *class_only = NULL; - dns_rdataclass_t rdclass; - uint32_t serial; - json_object *zonearray = (json_object *) arg; - json_object *zoneobj = NULL; + dns_rdataclass_t rdclass; + uint32_t serial; + json_object * zonearray = (json_object *)arg; + json_object * zoneobj = NULL; dns_zonestat_level_t statlevel; statlevel = dns_zone_getstatlevel(zone); @@ -2407,7 +2565,7 @@ zone_jsonrender(dns_zone_t *zone, void *arg) { dns_stats_t *rcvquerystats; dns_stats_t *dnssecsignstats; dns_stats_t *dnssecrefreshstats; - uint64_t nsstat_values[ns_statscounter_max]; + uint64_t nsstat_values[ns_statscounter_max]; uint64_t gluecachestats_values[dns_gluecachestatscounter_max]; zonestats = dns_zone_getrequeststats(zone); @@ -2421,16 +2579,15 @@ zone_jsonrender(dns_zone_t *zone, void *arg) { result = dump_counters(zonestats, isc_statsformat_json, counters, NULL, nsstats_xmldesc, ns_statscounter_max, - nsstats_index, - nsstat_values, 0); + nsstats_index, nsstat_values, 0); if (result != ISC_R_SUCCESS) { json_object_put(counters); goto error; } if (json_object_get_object(counters)->count != 0) - json_object_object_add(zoneobj, - "rcodes", counters); + json_object_object_add(zoneobj, "rcodes", + counters); else json_object_put(counters); } @@ -2443,21 +2600,19 @@ zone_jsonrender(dns_zone_t *zone, void *arg) { goto error; } - result = dump_counters(gluecachestats, - isc_statsformat_json, - counters, NULL, - gluecachestats_xmldesc, - dns_gluecachestatscounter_max, - gluecachestats_index, - gluecachestats_values, 0); + result = dump_counters( + gluecachestats, isc_statsformat_json, counters, + NULL, gluecachestats_xmldesc, + dns_gluecachestatscounter_max, + gluecachestats_index, gluecachestats_values, 0); if (result != ISC_R_SUCCESS) { json_object_put(counters); goto error; } if (json_object_get_object(counters)->count != 0) - json_object_object_add(zoneobj, - "gluecache", counters); + json_object_object_add(zoneobj, "gluecache", + counters); else json_object_put(counters); } @@ -2465,7 +2620,7 @@ zone_jsonrender(dns_zone_t *zone, void *arg) { rcvquerystats = dns_zone_getrcvquerystats(zone); if (rcvquerystats != NULL) { stats_dumparg_t dumparg; - json_object *counters = json_object_new_object(); + json_object * counters = json_object_new_object(); CHECKMEM(counters); dumparg.type = isc_statsformat_json; @@ -2479,8 +2634,8 @@ zone_jsonrender(dns_zone_t *zone, void *arg) { } if (json_object_get_object(counters)->count != 0) - json_object_object_add(zoneobj, - "qtypes", counters); + json_object_object_add(zoneobj, "qtypes", + counters); else json_object_put(counters); } @@ -2488,23 +2643,22 @@ zone_jsonrender(dns_zone_t *zone, void *arg) { dnssecsignstats = dns_zone_getdnssecsignstats(zone); if (dnssecsignstats != NULL) { stats_dumparg_t dumparg; - json_object *counters = json_object_new_object(); + json_object * counters = json_object_new_object(); CHECKMEM(counters); dumparg.type = isc_statsformat_json; dumparg.arg = counters; dumparg.result = ISC_R_SUCCESS; dns_dnssecsignstats_dump(dnssecsignstats, - dnssecsignstat_dump, - &dumparg, 0); + dnssecsignstat_dump, &dumparg, + 0); if (dumparg.result != ISC_R_SUCCESS) { json_object_put(counters); goto error; } if (json_object_get_object(counters)->count != 0) { - json_object_object_add(zoneobj, - "dnssec-sign", + json_object_object_add(zoneobj, "dnssec-sign", counters); } else { json_object_put(counters); @@ -2514,24 +2668,23 @@ zone_jsonrender(dns_zone_t *zone, void *arg) { dnssecrefreshstats = dns_zone_getdnssecrefreshstats(zone); if (dnssecrefreshstats != NULL) { stats_dumparg_t dumparg; - json_object *counters = json_object_new_object(); + json_object * counters = json_object_new_object(); CHECKMEM(counters); dumparg.type = isc_statsformat_json; dumparg.arg = counters; dumparg.result = ISC_R_SUCCESS; dns_dnssecsignstats_dump(dnssecrefreshstats, - dnssecsignstat_dump, - &dumparg, 0); + dnssecsignstat_dump, &dumparg, + 0); if (dumparg.result != ISC_R_SUCCESS) { json_object_put(counters); goto error; } if (json_object_get_object(counters)->count != 0) { - json_object_object_add(zoneobj, - "dnssec-refresh", - counters); + json_object_object_add( + zoneobj, "dnssec-refresh", counters); } else { json_object_put(counters); } @@ -2542,17 +2695,17 @@ zone_jsonrender(dns_zone_t *zone, void *arg) { zoneobj = NULL; result = ISC_R_SUCCESS; - error: +error: if (zoneobj != NULL) json_object_put(zoneobj); return (result); } static isc_result_t -generatejson(named_server_t *server, size_t *msglen, - const char **msg, json_object **rootp, uint32_t flags) +generatejson(named_server_t *server, size_t *msglen, const char **msg, + json_object **rootp, uint32_t flags) { - dns_view_t *view; + dns_view_t * view; isc_result_t result = ISC_R_SUCCESS; json_object *bindstats, *viewlist, *counters, *obj; json_object *traffic = NULL; @@ -2560,23 +2713,23 @@ generatejson(named_server_t *server, size_t *msglen, json_object *tcpreq4 = NULL, *tcpresp4 = NULL; json_object *udpreq6 = NULL, *udpresp6 = NULL; json_object *tcpreq6 = NULL, *tcpresp6 = NULL; - uint64_t nsstat_values[ns_statscounter_max]; - uint64_t resstat_values[dns_resstatscounter_max]; - uint64_t adbstat_values[dns_adbstats_max]; - uint64_t zonestat_values[dns_zonestatscounter_max]; - uint64_t sockstat_values[isc_sockstatscounter_max]; - uint64_t udpinsizestat_values[dns_sizecounter_in_max]; - uint64_t udpoutsizestat_values[dns_sizecounter_out_max]; - uint64_t tcpinsizestat_values[dns_sizecounter_in_max]; - uint64_t tcpoutsizestat_values[dns_sizecounter_out_max]; + uint64_t nsstat_values[ns_statscounter_max]; + uint64_t resstat_values[dns_resstatscounter_max]; + uint64_t adbstat_values[dns_adbstats_max]; + uint64_t zonestat_values[dns_zonestatscounter_max]; + uint64_t sockstat_values[isc_sockstatscounter_max]; + uint64_t udpinsizestat_values[dns_sizecounter_in_max]; + uint64_t udpoutsizestat_values[dns_sizecounter_out_max]; + uint64_t tcpinsizestat_values[dns_sizecounter_in_max]; + uint64_t tcpoutsizestat_values[dns_sizecounter_out_max]; #ifdef HAVE_DNSTAP uint64_t dnstapstat_values[dns_dnstapcounter_max]; #endif stats_dumparg_t dumparg; - char boottime[sizeof "yyyy-mm-ddThh:mm:ss.sssZ"]; - char configtime[sizeof "yyyy-mm-ddThh:mm:ss.sssZ"]; - char nowstr[sizeof "yyyy-mm-ddThh:mm:ss.sssZ"]; - isc_time_t now; + char boottime[sizeof "yyyy-mm-ddThh:mm:ss.sssZ"]; + char configtime[sizeof "yyyy-mm-ddThh:mm:ss.sssZ"]; + char nowstr[sizeof "yyyy-mm-ddThh:mm:ss.sssZ"]; + isc_time_t now; REQUIRE(msglen != NULL); REQUIRE(msg != NULL && *msg == NULL); @@ -2594,10 +2747,9 @@ generatejson(named_server_t *server, size_t *msglen, json_object_object_add(bindstats, "json-stats-version", obj); isc_time_now(&now); - isc_time_formatISO8601ms(&named_g_boottime, - boottime, sizeof(boottime)); - isc_time_formatISO8601ms(&named_g_configtime, - configtime, sizeof configtime); + isc_time_formatISO8601ms(&named_g_boottime, boottime, sizeof(boottime)); + isc_time_formatISO8601ms(&named_g_configtime, configtime, + sizeof configtime); isc_time_formatISO8601ms(&now, nowstr, sizeof(nowstr)); obj = json_object_new_string(boottime); @@ -2623,9 +2775,8 @@ generatejson(named_server_t *server, size_t *msglen, dumparg.type = isc_statsformat_json; dumparg.arg = counters; - dns_opcodestats_dump(server->sctx->opcodestats, - opcodestat_dump, &dumparg, - ISC_STATSDUMP_VERBOSE); + dns_opcodestats_dump(server->sctx->opcodestats, opcodestat_dump, + &dumparg, ISC_STATSDUMP_VERBOSE); if (dumparg.result != ISC_R_SUCCESS) { json_object_put(counters); goto error; @@ -2679,9 +2830,8 @@ generatejson(named_server_t *server, size_t *msglen, dumparg.arg = counters; result = dump_counters(ns_stats_get(server->sctx->nsstats), - isc_statsformat_json, - counters, NULL, nsstats_xmldesc, - ns_statscounter_max, + isc_statsformat_json, counters, NULL, + nsstats_xmldesc, ns_statscounter_max, nsstats_index, nsstat_values, 0); if (result != ISC_R_SUCCESS) { json_object_put(counters); @@ -2699,8 +2849,7 @@ generatejson(named_server_t *server, size_t *msglen, dumparg.result = ISC_R_SUCCESS; dumparg.arg = counters; - result = dump_counters(server->zonestats, - isc_statsformat_json, + result = dump_counters(server->zonestats, isc_statsformat_json, counters, NULL, zonestats_xmldesc, dns_zonestatscounter_max, zonestats_index, zonestat_values, 0); @@ -2721,11 +2870,10 @@ generatejson(named_server_t *server, size_t *msglen, dumparg.result = ISC_R_SUCCESS; dumparg.arg = counters; - result = dump_counters(server->resolverstats, - isc_statsformat_json, counters, NULL, - resstats_xmldesc, - dns_resstatscounter_max, - resstats_index, resstat_values, 0); + result = dump_counters( + server->resolverstats, isc_statsformat_json, counters, + NULL, resstats_xmldesc, dns_resstatscounter_max, + resstats_index, resstat_values, 0); if (result != ISC_R_SUCCESS) { json_object_put(counters); goto error; @@ -2744,12 +2892,11 @@ generatejson(named_server_t *server, size_t *msglen, counters = json_object_new_object(); dumparg.result = ISC_R_SUCCESS; dumparg.arg = counters; - result = dump_counters(dnstapstats, - isc_statsformat_json, counters, - NULL, dnstapstats_xmldesc, - dns_dnstapcounter_max, - dnstapstats_index, - dnstapstat_values, 0); + result = dump_counters( + dnstapstats, isc_statsformat_json, counters, + NULL, dnstapstats_xmldesc, + dns_dnstapcounter_max, dnstapstats_index, + dnstapstat_values, 0); isc_stats_detach(&dnstapstats); if (result != ISC_R_SUCCESS) { json_object_put(counters); @@ -2757,8 +2904,7 @@ generatejson(named_server_t *server, size_t *msglen, } if (json_object_get_object(counters)->count != 0) - json_object_object_add(bindstats, - "dnstapstats", + json_object_object_add(bindstats, "dnstapstats", counters); else json_object_put(counters); @@ -2783,8 +2929,7 @@ generatejson(named_server_t *server, size_t *msglen, CHECKMEM(za); if ((flags & STATS_JSON_ZONES) != 0) { - result = dns_zt_apply(view->zonetable, - true, + result = dns_zt_apply(view->zonetable, true, NULL, zone_jsonrender, za); if (result != ISC_R_SUCCESS) { @@ -2811,13 +2956,13 @@ generatejson(named_server_t *server, size_t *msglen, counters = json_object_new_object(); CHECKMEM(counters); - result = dump_counters(istats, - isc_statsformat_json, - counters, NULL, - resstats_xmldesc, - dns_resstatscounter_max, - resstats_index, - resstat_values, 0); + result = dump_counters( + istats, isc_statsformat_json, + counters, NULL, + resstats_xmldesc, + dns_resstatscounter_max, + resstats_index, resstat_values, + 0); if (result != ISC_R_SUCCESS) { json_object_put(counters); result = dumparg.result; @@ -2855,17 +3000,16 @@ generatejson(named_server_t *server, size_t *msglen, dumparg.arg = counters; dumparg.result = ISC_R_SUCCESS; - dns_rdatasetstats_dump(dstats, - rdatasetstats_dump, - &dumparg, 0); + dns_rdatasetstats_dump( + dstats, rdatasetstats_dump, + &dumparg, 0); if (dumparg.result != ISC_R_SUCCESS) { json_object_put(counters); result = dumparg.result; goto error; } - json_object_object_add(res, - "cache", + json_object_object_add(res, "cache", counters); } @@ -2887,13 +3031,13 @@ generatejson(named_server_t *server, size_t *msglen, counters = json_object_new_object(); CHECKMEM(counters); - result = dump_counters(istats, - isc_statsformat_json, - counters, NULL, - adbstats_xmldesc, - dns_adbstats_max, - adbstats_index, - adbstat_values, 0); + result = dump_counters( + istats, isc_statsformat_json, + counters, NULL, + adbstats_xmldesc, + dns_adbstats_max, + adbstats_index, adbstat_values, + 0); if (result != ISC_R_SUCCESS) { json_object_put(counters); result = dumparg.result; @@ -2917,9 +3061,8 @@ generatejson(named_server_t *server, size_t *msglen, dumparg.result = ISC_R_SUCCESS; dumparg.arg = counters; - result = dump_counters(server->sockstats, - isc_statsformat_json, counters, - NULL, sockstats_xmldesc, + result = dump_counters(server->sockstats, isc_statsformat_json, + counters, NULL, sockstats_xmldesc, isc_sockstatscounter_max, sockstats_index, sockstat_values, 0); if (result != ISC_R_SUCCESS) { @@ -2972,7 +3115,6 @@ generatejson(named_server_t *server, size_t *msglen, } if ((flags & STATS_JSON_TRAFFIC) != 0) { - traffic = json_object_new_object(); CHECKMEM(traffic); @@ -3000,86 +3142,74 @@ generatejson(named_server_t *server, size_t *msglen, tcpresp6 = json_object_new_object(); CHECKMEM(tcpresp6); - CHECK(dump_counters(server->sctx->udpinstats4, - isc_statsformat_json, udpreq4, NULL, - udpinsizestats_xmldesc, - dns_sizecounter_in_max, - udpinsizestats_index, - udpinsizestat_values, 0)); + CHECK(dump_counters( + server->sctx->udpinstats4, isc_statsformat_json, + udpreq4, NULL, udpinsizestats_xmldesc, + dns_sizecounter_in_max, udpinsizestats_index, + udpinsizestat_values, 0)); - CHECK(dump_counters(server->sctx->udpoutstats4, - isc_statsformat_json, udpresp4, NULL, - udpoutsizestats_xmldesc, - dns_sizecounter_out_max, - udpoutsizestats_index, - udpoutsizestat_values, 0)); + CHECK(dump_counters( + server->sctx->udpoutstats4, isc_statsformat_json, + udpresp4, NULL, udpoutsizestats_xmldesc, + dns_sizecounter_out_max, udpoutsizestats_index, + udpoutsizestat_values, 0)); - CHECK(dump_counters(server->sctx->tcpinstats4, - isc_statsformat_json, tcpreq4, NULL, - tcpinsizestats_xmldesc, - dns_sizecounter_in_max, - tcpinsizestats_index, - tcpinsizestat_values, 0)); + CHECK(dump_counters( + server->sctx->tcpinstats4, isc_statsformat_json, + tcpreq4, NULL, tcpinsizestats_xmldesc, + dns_sizecounter_in_max, tcpinsizestats_index, + tcpinsizestat_values, 0)); - CHECK(dump_counters(server->sctx->tcpoutstats4, - isc_statsformat_json, tcpresp4, NULL, - tcpoutsizestats_xmldesc, - dns_sizecounter_out_max, - tcpoutsizestats_index, - tcpoutsizestat_values, 0)); + CHECK(dump_counters( + server->sctx->tcpoutstats4, isc_statsformat_json, + tcpresp4, NULL, tcpoutsizestats_xmldesc, + dns_sizecounter_out_max, tcpoutsizestats_index, + tcpoutsizestat_values, 0)); - CHECK(dump_counters(server->sctx->udpinstats6, - isc_statsformat_json, udpreq6, NULL, - udpinsizestats_xmldesc, - dns_sizecounter_in_max, - udpinsizestats_index, - udpinsizestat_values, 0)); + CHECK(dump_counters( + server->sctx->udpinstats6, isc_statsformat_json, + udpreq6, NULL, udpinsizestats_xmldesc, + dns_sizecounter_in_max, udpinsizestats_index, + udpinsizestat_values, 0)); - CHECK(dump_counters(server->sctx->udpoutstats6, - isc_statsformat_json, udpresp6, NULL, - udpoutsizestats_xmldesc, - dns_sizecounter_out_max, - udpoutsizestats_index, - udpoutsizestat_values, 0)); + CHECK(dump_counters( + server->sctx->udpoutstats6, isc_statsformat_json, + udpresp6, NULL, udpoutsizestats_xmldesc, + dns_sizecounter_out_max, udpoutsizestats_index, + udpoutsizestat_values, 0)); - CHECK(dump_counters(server->sctx->tcpinstats6, - isc_statsformat_json, tcpreq6, NULL, - tcpinsizestats_xmldesc, - dns_sizecounter_in_max, - tcpinsizestats_index, - tcpinsizestat_values, 0)); + CHECK(dump_counters( + server->sctx->tcpinstats6, isc_statsformat_json, + tcpreq6, NULL, tcpinsizestats_xmldesc, + dns_sizecounter_in_max, tcpinsizestats_index, + tcpinsizestat_values, 0)); - CHECK(dump_counters(server->sctx->tcpoutstats6, - isc_statsformat_json, tcpresp6, NULL, - tcpoutsizestats_xmldesc, - dns_sizecounter_out_max, - tcpoutsizestats_index, - tcpoutsizestat_values, 0)); + CHECK(dump_counters( + server->sctx->tcpoutstats6, isc_statsformat_json, + tcpresp6, NULL, tcpoutsizestats_xmldesc, + dns_sizecounter_out_max, tcpoutsizestats_index, + tcpoutsizestat_values, 0)); json_object_object_add(traffic, "dns-udp-requests-sizes-received-ipv4", udpreq4); - json_object_object_add(traffic, - "dns-udp-responses-sizes-sent-ipv4", - udpresp4); + json_object_object_add( + traffic, "dns-udp-responses-sizes-sent-ipv4", udpresp4); json_object_object_add(traffic, "dns-tcp-requests-sizes-received-ipv4", tcpreq4); - json_object_object_add(traffic, - "dns-tcp-responses-sizes-sent-ipv4", - tcpresp4); + json_object_object_add( + traffic, "dns-tcp-responses-sizes-sent-ipv4", tcpresp4); json_object_object_add(traffic, "dns-udp-requests-sizes-received-ipv6", udpreq6); - json_object_object_add(traffic, - "dns-udp-responses-sizes-sent-ipv6", - udpresp6); + json_object_object_add( + traffic, "dns-udp-responses-sizes-sent-ipv6", udpresp6); json_object_object_add(traffic, "dns-tcp-requests-sizes-received-ipv6", tcpreq6); - json_object_object_add(traffic, - "dns-tcp-responses-sizes-sent-ipv6", - tcpresp6); + json_object_object_add( + traffic, "dns-tcp-responses-sizes-sent-ipv6", tcpresp6); json_object_object_add(bindstats, "traffic", traffic); udpreq4 = NULL; udpresp4 = NULL; @@ -3103,7 +3233,7 @@ generatejson(named_server_t *server, size_t *msglen, result = ISC_R_SUCCESS; - error: +error: if (udpreq4 != NULL) json_object_put(udpreq4); if (udpresp4 != NULL) @@ -3129,19 +3259,17 @@ generatejson(named_server_t *server, size_t *msglen, } static isc_result_t -render_json(uint32_t flags, - const char *url, isc_httpdurl_t *urlinfo, - const char *querystring, const char *headers, - void *arg, unsigned int *retcode, const char **retmsg, - const char **mimetype, isc_buffer_t *b, - isc_httpdfree_t **freecb, void **freecb_args) +render_json(uint32_t flags, const char *url, isc_httpdurl_t *urlinfo, + const char *querystring, const char *headers, void *arg, + unsigned int *retcode, const char **retmsg, const char **mimetype, + isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { - isc_result_t result; - json_object *bindstats = NULL; + isc_result_t result; + json_object * bindstats = NULL; named_server_t *server = arg; - const char *msg = NULL; - size_t msglen = 0; - char *p; + const char * msg = NULL; + size_t msglen = 0; + char * p; UNUSED(url); UNUSED(urlinfo); @@ -3173,10 +3301,9 @@ render_json_all(const char *url, isc_httpdurl_t *urlinfo, const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { - return (render_json(STATS_JSON_ALL, url, urlinfo, - querystring, headers, arg, - retcode, retmsg, mimetype, b, - freecb, freecb_args)); + return (render_json(STATS_JSON_ALL, url, urlinfo, querystring, headers, + arg, retcode, retmsg, mimetype, b, freecb, + freecb_args)); } static isc_result_t @@ -3186,10 +3313,9 @@ render_json_status(const char *url, isc_httpdurl_t *urlinfo, const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { - return (render_json(STATS_JSON_STATUS, url, urlinfo, - querystring, headers, arg, - retcode, retmsg, mimetype, b, - freecb, freecb_args)); + return (render_json(STATS_JSON_STATUS, url, urlinfo, querystring, + headers, arg, retcode, retmsg, mimetype, b, freecb, + freecb_args)); } static isc_result_t @@ -3199,10 +3325,9 @@ render_json_server(const char *url, isc_httpdurl_t *urlinfo, const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { - return (render_json(STATS_JSON_SERVER, url, urlinfo, - querystring, headers, arg, - retcode, retmsg, mimetype, b, - freecb, freecb_args)); + return (render_json(STATS_JSON_SERVER, url, urlinfo, querystring, + headers, arg, retcode, retmsg, mimetype, b, freecb, + freecb_args)); } static isc_result_t @@ -3212,10 +3337,9 @@ render_json_zones(const char *url, isc_httpdurl_t *urlinfo, const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { - return (render_json(STATS_JSON_ZONES, url, urlinfo, - querystring, headers, arg, - retcode, retmsg, mimetype, b, - freecb, freecb_args)); + return (render_json(STATS_JSON_ZONES, url, urlinfo, querystring, + headers, arg, retcode, retmsg, mimetype, b, freecb, + freecb_args)); } static isc_result_t @@ -3225,10 +3349,9 @@ render_json_mem(const char *url, isc_httpdurl_t *urlinfo, const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { - return (render_json(STATS_JSON_MEM, url, urlinfo, - querystring, headers, arg, - retcode, retmsg, mimetype, b, - freecb, freecb_args)); + return (render_json(STATS_JSON_MEM, url, urlinfo, querystring, headers, + arg, retcode, retmsg, mimetype, b, freecb, + freecb_args)); } static isc_result_t @@ -3238,10 +3361,9 @@ render_json_tasks(const char *url, isc_httpdurl_t *urlinfo, const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { - return (render_json(STATS_JSON_TASKS, url, urlinfo, - querystring, headers, arg, - retcode, retmsg, mimetype, b, - freecb, freecb_args)); + return (render_json(STATS_JSON_TASKS, url, urlinfo, querystring, + headers, arg, retcode, retmsg, mimetype, b, freecb, + freecb_args)); } static isc_result_t @@ -3251,10 +3373,9 @@ render_json_net(const char *url, isc_httpdurl_t *urlinfo, const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { - return (render_json(STATS_JSON_NET, url, urlinfo, - querystring, headers, arg, - retcode, retmsg, mimetype, b, - freecb, freecb_args)); + return (render_json(STATS_JSON_NET, url, urlinfo, querystring, headers, + arg, retcode, retmsg, mimetype, b, freecb, + freecb_args)); } static isc_result_t @@ -3264,23 +3385,21 @@ render_json_traffic(const char *url, isc_httpdurl_t *urlinfo, const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { - return (render_json(STATS_JSON_TRAFFIC, url, urlinfo, - querystring, headers, arg, - retcode, retmsg, mimetype, b, - freecb, freecb_args)); + return (render_json(STATS_JSON_TRAFFIC, url, urlinfo, querystring, + headers, arg, retcode, retmsg, mimetype, b, freecb, + freecb_args)); } #endif /* HAVE_JSON_C */ static isc_result_t -render_xsl(const char *url, isc_httpdurl_t *urlinfo, - const char *querystring, const char *headers, - void *args, unsigned int *retcode, const char **retmsg, - const char **mimetype, isc_buffer_t *b, +render_xsl(const char *url, isc_httpdurl_t *urlinfo, const char *querystring, + const char *headers, void *args, unsigned int *retcode, + const char **retmsg, const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { isc_result_t result; - char *_headers = NULL; + char * _headers = NULL; UNUSED(url); UNUSED(querystring); @@ -3291,8 +3410,8 @@ render_xsl(const char *url, isc_httpdurl_t *urlinfo, *mimetype = "text/xslt+xml"; if (urlinfo->isstatic) { - isc_time_t when; - char *line, *saveptr; + isc_time_t when; + char * line, *saveptr; const char *if_modified_since = "If-Modified-Since: "; _headers = strdup(headers); @@ -3301,14 +3420,14 @@ render_xsl(const char *url, isc_httpdurl_t *urlinfo, } saveptr = NULL; - for (line = strtok_r(_headers, "\n", &saveptr); - line; + for (line = strtok_r(_headers, "\n", &saveptr); line; line = strtok_r(NULL, "\n", &saveptr)) { if (strncasecmp(line, if_modified_since, strlen(if_modified_since)) == 0) { time_t t1, t2; line += strlen(if_modified_since); - result = isc_time_parsehttptimestamp(line, &when); + result = isc_time_parsehttptimestamp(line, + &when); if (result != ISC_R_SUCCESS) { goto send; } @@ -3318,7 +3437,8 @@ render_xsl(const char *url, isc_httpdurl_t *urlinfo, goto send; } - result = isc_time_secondsastimet(&urlinfo->loadtime, &t2); + result = isc_time_secondsastimet( + &urlinfo->loadtime, &t2); if (result != ISC_R_SUCCESS) { goto send; } @@ -3334,7 +3454,7 @@ render_xsl(const char *url, isc_httpdurl_t *urlinfo, } } - send: +send: *retcode = 200; *retmsg = "OK"; isc_buffer_reinit(b, xslmsg, strlen(xslmsg)); @@ -3345,34 +3465,35 @@ end: } static void -shutdown_listener(named_statschannel_t *listener) { +shutdown_listener(named_statschannel_t *listener) +{ char socktext[ISC_SOCKADDR_FORMATSIZE]; isc_sockaddr_format(&listener->address, socktext, sizeof(socktext)); isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_NOTICE, - "stopping statistics channel on %s", - socktext); + "stopping statistics channel on %s", socktext); isc_httpdmgr_shutdown(&listener->httpdmgr); } static bool -client_ok(const isc_sockaddr_t *fromaddr, void *arg) { +client_ok(const isc_sockaddr_t *fromaddr, void *arg) +{ named_statschannel_t *listener = arg; - dns_aclenv_t *env = + dns_aclenv_t * env = ns_interfacemgr_getaclenv(named_g_server->interfacemgr); isc_netaddr_t netaddr; - char socktext[ISC_SOCKADDR_FORMATSIZE]; - int match; + char socktext[ISC_SOCKADDR_FORMATSIZE]; + int match; REQUIRE(listener != NULL); isc_netaddr_fromsockaddr(&netaddr, fromaddr); LOCK(&listener->lock); - if ((dns_acl_match(&netaddr, NULL, listener->acl, env, - &match, NULL) == ISC_R_SUCCESS) && match > 0) - { + if ((dns_acl_match(&netaddr, NULL, listener->acl, env, &match, NULL) == + ISC_R_SUCCESS) && + match > 0) { UNLOCK(&listener->lock); return (true); } @@ -3387,7 +3508,8 @@ client_ok(const isc_sockaddr_t *fromaddr, void *arg) { } static void -destroy_listener(void *arg) { +destroy_listener(void *arg) +{ named_statschannel_t *listener = arg; REQUIRE(listener != NULL); @@ -3406,12 +3528,12 @@ add_listener(named_server_t *server, named_statschannel_t **listenerp, isc_sockaddr_t *addr, cfg_aclconfctx_t *aclconfctx, const char *socktext) { - isc_result_t result; + isc_result_t result; named_statschannel_t *listener; - isc_task_t *task = NULL; - isc_socket_t *sock = NULL; - const cfg_obj_t *allow; - dns_acl_t *new_acl = NULL; + isc_task_t * task = NULL; + isc_socket_t * sock = NULL; + const cfg_obj_t * allow; + dns_acl_t * new_acl = NULL; listener = isc_mem_get(server->mctx, sizeof(*listener)); @@ -3463,32 +3585,30 @@ add_listener(named_server_t *server, named_statschannel_t **listenerp, goto cleanup; #ifdef HAVE_LIBXML2 - isc_httpdmgr_addurl(listener->httpdmgr, "/", - render_xml_all, server); - isc_httpdmgr_addurl(listener->httpdmgr, "/xml", - render_xml_all, server); - isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3", - render_xml_all, server); + isc_httpdmgr_addurl(listener->httpdmgr, "/", render_xml_all, server); + isc_httpdmgr_addurl(listener->httpdmgr, "/xml", render_xml_all, server); + isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3", render_xml_all, + server); isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3/status", render_xml_status, server); isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3/server", render_xml_server, server); isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3/zones", render_xml_zones, server); - isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3/net", - render_xml_net, server); + isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3/net", render_xml_net, + server); isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3/tasks", render_xml_tasks, server); - isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3/mem", - render_xml_mem, server); + isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3/mem", render_xml_mem, + server); isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3/traffic", render_xml_traffic, server); #endif #ifdef HAVE_JSON_C - isc_httpdmgr_addurl(listener->httpdmgr, "/json", - render_json_all, server); - isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1", - render_json_all, server); + isc_httpdmgr_addurl(listener->httpdmgr, "/json", render_json_all, + server); + isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1", render_json_all, + server); isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1/status", render_json_status, server); isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1/server", @@ -3497,15 +3617,15 @@ add_listener(named_server_t *server, named_statschannel_t **listenerp, render_json_zones, server); isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1/tasks", render_json_tasks, server); - isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1/net", - render_json_net, server); - isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1/mem", - render_json_mem, server); + isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1/net", render_json_net, + server); + isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1/mem", render_json_mem, + server); isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1/traffic", render_json_traffic, server); #endif - isc_httpdmgr_addurl2(listener->httpdmgr, "/bind9.xsl", true, - render_xsl, server); + isc_httpdmgr_addurl2(listener->httpdmgr, "/bind9.xsl", true, render_xsl, + server); *listenerp = listener; isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, @@ -3535,12 +3655,11 @@ update_listener(named_server_t *server, named_statschannel_t **listenerp, const char *socktext) { named_statschannel_t *listener; - const cfg_obj_t *allow = NULL; - dns_acl_t *new_acl = NULL; - isc_result_t result = ISC_R_SUCCESS; + const cfg_obj_t * allow = NULL; + dns_acl_t * new_acl = NULL; + isc_result_t result = ISC_R_SUCCESS; - for (listener = ISC_LIST_HEAD(server->statschannels); - listener != NULL; + for (listener = ISC_LIST_HEAD(server->statschannels); listener != NULL; listener = ISC_LIST_NEXT(listener, link)) if (isc_sockaddr_equal(addr, &listener->address)) break; @@ -3583,11 +3702,11 @@ isc_result_t named_statschannels_configure(named_server_t *server, const cfg_obj_t *config, cfg_aclconfctx_t *aclconfctx) { - named_statschannel_t *listener, *listener_next; + named_statschannel_t * listener, *listener_next; named_statschannellist_t new_listeners; - const cfg_obj_t *statschannellist = NULL; - const cfg_listelt_t *element, *element2; - char socktext[ISC_SOCKADDR_FORMATSIZE]; + const cfg_obj_t * statschannellist = NULL; + const cfg_listelt_t * element, *element2; + char socktext[ISC_SOCKADDR_FORMATSIZE]; RUNTIME_CHECK(isc_once_do(&once, init_desc) == ISC_R_SUCCESS); @@ -3628,14 +3747,12 @@ named_statschannels_configure(named_server_t *server, const cfg_obj_t *config, #endif /* EXTENDED_STATS */ for (element = cfg_list_first(statschannellist); - element != NULL; - element = cfg_list_next(element)) { + element != NULL; element = cfg_list_next(element)) { const cfg_obj_t *statschannel; const cfg_obj_t *listenercfg = NULL; statschannel = cfg_listelt_value(element); - (void)cfg_map_get(statschannel, "inet", - &listenercfg); + (void)cfg_map_get(statschannel, "inet", &listenercfg); if (listenercfg == NULL) continue; @@ -3644,15 +3761,16 @@ named_statschannels_configure(named_server_t *server, const cfg_obj_t *config, element2 = cfg_list_next(element2)) { const cfg_obj_t *listen_params; const cfg_obj_t *obj; - isc_sockaddr_t addr; + isc_sockaddr_t addr; listen_params = cfg_listelt_value(element2); obj = cfg_tuple_get(listen_params, "address"); addr = *cfg_obj_assockaddr(obj); if (isc_sockaddr_getport(&addr) == 0) - isc_sockaddr_setport(&addr, - NAMED_STATSCHANNEL_HTTPPORT); + isc_sockaddr_setport( + &addr, + NAMED_STATSCHANNEL_HTTPPORT); isc_sockaddr_format(&addr, socktext, sizeof(socktext)); @@ -3687,14 +3805,15 @@ named_statschannels_configure(named_server_t *server, const cfg_obj_t *config, &addr, aclconfctx, socktext); if (r != ISC_R_SUCCESS) { - cfg_obj_log(listen_params, - named_g_lctx, - ISC_LOG_WARNING, - "couldn't allocate " - "statistics channel" - " %s: %s", - socktext, - isc_result_totext(r)); + cfg_obj_log( + listen_params, + named_g_lctx, + ISC_LOG_WARNING, + "couldn't allocate " + "statistics channel" + " %s: %s", + socktext, + isc_result_totext(r)); } } @@ -3705,8 +3824,7 @@ named_statschannels_configure(named_server_t *server, const cfg_obj_t *config, } } - for (listener = ISC_LIST_HEAD(server->statschannels); - listener != NULL; + for (listener = ISC_LIST_HEAD(server->statschannels); listener != NULL; listener = listener_next) { listener_next = ISC_LIST_NEXT(listener, link); ISC_LIST_UNLINK(server->statschannels, listener, link); @@ -3718,7 +3836,8 @@ named_statschannels_configure(named_server_t *server, const cfg_obj_t *config, } void -named_statschannels_shutdown(named_server_t *server) { +named_statschannels_shutdown(named_server_t *server) +{ named_statschannel_t *listener; while ((listener = ISC_LIST_HEAD(server->statschannels)) != NULL) { @@ -3728,18 +3847,19 @@ named_statschannels_shutdown(named_server_t *server) { } isc_result_t -named_stats_dump(named_server_t *server, FILE *fp) { - isc_stdtime_t now; - isc_result_t result; - dns_view_t *view; - dns_zone_t *zone, *next; +named_stats_dump(named_server_t *server, FILE *fp) +{ + isc_stdtime_t now; + isc_result_t result; + dns_view_t * view; + dns_zone_t * zone, *next; stats_dumparg_t dumparg; - uint64_t nsstat_values[ns_statscounter_max]; - uint64_t resstat_values[dns_resstatscounter_max]; - uint64_t adbstat_values[dns_adbstats_max]; - uint64_t zonestat_values[dns_zonestatscounter_max]; - uint64_t sockstat_values[isc_sockstatscounter_max]; - uint64_t gluecachestats_values[dns_gluecachestatscounter_max]; + uint64_t nsstat_values[ns_statscounter_max]; + uint64_t resstat_values[dns_resstatscounter_max]; + uint64_t adbstat_values[dns_adbstats_max]; + uint64_t zonestat_values[dns_zonestatscounter_max]; + uint64_t sockstat_values[isc_sockstatscounter_max]; + uint64_t gluecachestats_values[dns_gluecachestatscounter_max]; RUNTIME_CHECK(isc_once_do(&once, init_desc) == ISC_R_SUCCESS); @@ -3751,20 +3871,19 @@ named_stats_dump(named_server_t *server, FILE *fp) { fprintf(fp, "+++ Statistics Dump +++ (%lu)\n", (unsigned long)now); fprintf(fp, "++ Incoming Requests ++\n"); - dns_opcodestats_dump(server->sctx->opcodestats, - opcodestat_dump, &dumparg, 0); + dns_opcodestats_dump(server->sctx->opcodestats, opcodestat_dump, + &dumparg, 0); fprintf(fp, "++ Incoming Queries ++\n"); - dns_rdatatypestats_dump(server->sctx->rcvquerystats, - rdtypestat_dump, &dumparg, 0); + dns_rdatatypestats_dump(server->sctx->rcvquerystats, rdtypestat_dump, + &dumparg, 0); fprintf(fp, "++ Outgoing Rcodes ++\n"); - dns_rcodestats_dump(server->sctx->rcodestats, - rcodestat_dump, &dumparg, 0); + dns_rcodestats_dump(server->sctx->rcodestats, rcodestat_dump, &dumparg, + 0); fprintf(fp, "++ Outgoing Queries ++\n"); - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; view = ISC_LIST_NEXT(view, link)) { if (view->resquerystats == NULL) continue; @@ -3777,23 +3896,22 @@ named_stats_dump(named_server_t *server, FILE *fp) { } fprintf(fp, "++ Name Server Statistics ++\n"); - (void) dump_counters(ns_stats_get(server->sctx->nsstats), - isc_statsformat_file, fp, NULL, - nsstats_desc, ns_statscounter_max, - nsstats_index, nsstat_values, 0); + (void)dump_counters(ns_stats_get(server->sctx->nsstats), + isc_statsformat_file, fp, NULL, nsstats_desc, + ns_statscounter_max, nsstats_index, nsstat_values, + 0); fprintf(fp, "++ Zone Maintenance Statistics ++\n"); - (void) dump_counters(server->zonestats, isc_statsformat_file, fp, NULL, - zonestats_desc, dns_zonestatscounter_max, - zonestats_index, zonestat_values, 0); + (void)dump_counters(server->zonestats, isc_statsformat_file, fp, NULL, + zonestats_desc, dns_zonestatscounter_max, + zonestats_index, zonestat_values, 0); fprintf(fp, "++ Resolver Statistics ++\n"); fprintf(fp, "[Common]\n"); - (void) dump_counters(server->resolverstats, isc_statsformat_file, fp, - NULL, resstats_desc, dns_resstatscounter_max, - resstats_index, resstat_values, 0); - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; + (void)dump_counters(server->resolverstats, isc_statsformat_file, fp, + NULL, resstats_desc, dns_resstatscounter_max, + resstats_index, resstat_values, 0); + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; view = ISC_LIST_NEXT(view, link)) { if (view->resstats == NULL) continue; @@ -3801,15 +3919,14 @@ named_stats_dump(named_server_t *server, FILE *fp) { fprintf(fp, "[View: default]\n"); else fprintf(fp, "[View: %s]\n", view->name); - (void) dump_counters(view->resstats, isc_statsformat_file, fp, - NULL, resstats_desc, - dns_resstatscounter_max, resstats_index, - resstat_values, 0); + (void)dump_counters(view->resstats, isc_statsformat_file, fp, + NULL, resstats_desc, + dns_resstatscounter_max, resstats_index, + resstat_values, 0); } fprintf(fp, "++ Cache Statistics ++\n"); - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; view = ISC_LIST_NEXT(view, link)) { if (strcmp(view->name, "_default") == 0) fprintf(fp, "[View: default]\n"); @@ -3825,8 +3942,7 @@ named_stats_dump(named_server_t *server, FILE *fp) { } fprintf(fp, "++ Cache DB RRsets ++\n"); - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; view = ISC_LIST_NEXT(view, link)) { dns_stats_t *cacherrstats; @@ -3850,8 +3966,7 @@ named_stats_dump(named_server_t *server, FILE *fp) { } fprintf(fp, "++ ADB stats ++\n"); - for (view = ISC_LIST_HEAD(server->viewlist); - view != NULL; + for (view = ISC_LIST_HEAD(server->viewlist); view != NULL; view = ISC_LIST_NEXT(view, link)) { if (view->adbstats == NULL) continue; @@ -3859,22 +3974,21 @@ named_stats_dump(named_server_t *server, FILE *fp) { fprintf(fp, "[View: default]\n"); else fprintf(fp, "[View: %s]\n", view->name); - (void) dump_counters(view->adbstats, isc_statsformat_file, fp, - NULL, adbstats_desc, dns_adbstats_max, - adbstats_index, adbstat_values, 0); + (void)dump_counters(view->adbstats, isc_statsformat_file, fp, + NULL, adbstats_desc, dns_adbstats_max, + adbstats_index, adbstat_values, 0); } fprintf(fp, "++ Socket I/O Statistics ++\n"); - (void) dump_counters(server->sockstats, isc_statsformat_file, fp, NULL, - sockstats_desc, isc_sockstatscounter_max, - sockstats_index, sockstat_values, 0); + (void)dump_counters(server->sockstats, isc_statsformat_file, fp, NULL, + sockstats_desc, isc_sockstatscounter_max, + sockstats_index, sockstat_values, 0); fprintf(fp, "++ Per Zone Query Statistics ++\n"); zone = NULL; for (result = dns_zone_first(server->zonemgr, &zone); result == ISC_R_SUCCESS; - next = NULL, result = dns_zone_next(zone, &next), zone = next) - { + next = NULL, result = dns_zone_next(zone, &next), zone = next) { isc_stats_t *zonestats = dns_zone_getrequeststats(zone); if (zonestats != NULL) { char zonename[DNS_NAME_FORMATSIZE]; @@ -3883,17 +3997,17 @@ named_stats_dump(named_server_t *server, FILE *fp) { if (view == NULL) continue; - dns_name_format(dns_zone_getorigin(zone), - zonename, sizeof(zonename)); + dns_name_format(dns_zone_getorigin(zone), zonename, + sizeof(zonename)); fprintf(fp, "[%s", zonename); if (strcmp(view->name, "_default") != 0) fprintf(fp, " (view: %s)", view->name); fprintf(fp, "]\n"); - (void) dump_counters(zonestats, isc_statsformat_file, - fp, NULL, nsstats_desc, - ns_statscounter_max, - nsstats_index, nsstat_values, 0); + (void)dump_counters(zonestats, isc_statsformat_file, fp, + NULL, nsstats_desc, + ns_statscounter_max, nsstats_index, + nsstat_values, 0); } } @@ -3901,8 +4015,7 @@ named_stats_dump(named_server_t *server, FILE *fp) { zone = NULL; for (result = dns_zone_first(server->zonemgr, &zone); result == ISC_R_SUCCESS; - next = NULL, result = dns_zone_next(zone, &next), zone = next) - { + next = NULL, result = dns_zone_next(zone, &next), zone = next) { isc_stats_t *gluecachestats = dns_zone_getgluecachestats(zone); if (gluecachestats != NULL) { char zonename[DNS_NAME_FORMATSIZE]; @@ -3911,23 +4024,22 @@ named_stats_dump(named_server_t *server, FILE *fp) { if (view == NULL) continue; - dns_name_format(dns_zone_getorigin(zone), - zonename, sizeof(zonename)); + dns_name_format(dns_zone_getorigin(zone), zonename, + sizeof(zonename)); fprintf(fp, "[%s", zonename); if (strcmp(view->name, "_default") != 0) fprintf(fp, " (view: %s)", view->name); fprintf(fp, "]\n"); - (void) dump_counters(gluecachestats, - isc_statsformat_file, - fp, NULL, gluecachestats_desc, - dns_gluecachestatscounter_max, - gluecachestats_index, - gluecachestats_values, 0); + (void)dump_counters( + gluecachestats, isc_statsformat_file, fp, NULL, + gluecachestats_desc, + dns_gluecachestatscounter_max, + gluecachestats_index, gluecachestats_values, 0); } } fprintf(fp, "--- Statistics Dump --- (%lu)\n", (unsigned long)now); - return (ISC_R_SUCCESS); /* this function currently always succeeds */ + return (ISC_R_SUCCESS); /* this function currently always succeeds */ } diff --git a/bin/named/tkeyconf.c b/bin/named/tkeyconf.c index 51c4935086..c08c08aca3 100644 --- a/bin/named/tkeyconf.c +++ b/bin/named/tkeyconf.c @@ -9,53 +9,49 @@ * information regarding copyright ownership. */ - /*! \file */ #include #include -#include /* Required for HP/UX (and others?) */ #include - -#include +#include /* Required for HP/UX (and others?) */ #include #include #include #include -#include +#include +#include #include -#define RETERR(x) do { \ - result = (x); \ - if (result != ISC_R_SUCCESS) \ - goto failure; \ +#define RETERR(x) \ + do { \ + result = (x); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) -#include -#define LOG(msg) \ - isc_log_write(named_g_lctx, \ - NAMED_LOGCATEGORY_GENERAL, \ - NAMED_LOGMODULE_SERVER, \ - ISC_LOG_ERROR, \ - "%s", msg) +#include +#define LOG(msg) \ + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, \ + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "%s", msg) isc_result_t named_tkeyctx_fromconfig(const cfg_obj_t *options, isc_mem_t *mctx, dns_tkeyctx_t **tctxp) { - isc_result_t result; - dns_tkeyctx_t *tctx = NULL; - const char *s; - uint32_t n; - dns_fixedname_t fname; - dns_name_t *name; - isc_buffer_t b; + isc_result_t result; + dns_tkeyctx_t * tctx = NULL; + const char * s; + uint32_t n; + dns_fixedname_t fname; + dns_name_t * name; + isc_buffer_t b; const cfg_obj_t *obj; - int type; + int type; result = dns_tkeyctx_create(mctx, &tctx); if (result != ISC_R_SUCCESS) @@ -70,8 +66,8 @@ named_tkeyctx_fromconfig(const cfg_obj_t *options, isc_mem_t *mctx, isc_buffer_add(&b, strlen(s)); name = dns_fixedname_initname(&fname); RETERR(dns_name_fromtext(name, &b, dns_rootname, 0, NULL)); - type = DST_TYPE_PUBLIC|DST_TYPE_PRIVATE|DST_TYPE_KEY; - RETERR(dst_key_fromfile(name, (dns_keytag_t) n, DNS_KEYALG_DH, + type = DST_TYPE_PUBLIC | DST_TYPE_PRIVATE | DST_TYPE_KEY; + RETERR(dst_key_fromfile(name, (dns_keytag_t)n, DNS_KEYALG_DH, type, NULL, mctx, &tctx->dhkey)); } @@ -110,7 +106,7 @@ named_tkeyctx_fromconfig(const cfg_obj_t *options, isc_mem_t *mctx, *tctxp = tctx; return (ISC_R_SUCCESS); - failure: +failure: dns_tkeyctx_destroy(&tctx); return (result); } diff --git a/bin/named/tsigconf.c b/bin/named/tsigconf.c index cffd6d3788..5483b8a0f7 100644 --- a/bin/named/tsigconf.c +++ b/bin/named/tsigconf.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -20,44 +19,41 @@ #include #include +#include +#include + #include -#include -#include - -#include - #include +#include #include static isc_result_t add_initial_keys(const cfg_obj_t *list, dns_tsig_keyring_t *ring, isc_mem_t *mctx) { - dns_tsigkey_t *tsigkey = NULL; + dns_tsigkey_t * tsigkey = NULL; const cfg_listelt_t *element; - const cfg_obj_t *key = NULL; - const char *keyid = NULL; - unsigned char *secret = NULL; - int secretalloc = 0; - int secretlen = 0; - isc_result_t ret; - isc_stdtime_t now; - uint16_t bits; + const cfg_obj_t * key = NULL; + const char * keyid = NULL; + unsigned char * secret = NULL; + int secretalloc = 0; + int secretlen = 0; + isc_result_t ret; + isc_stdtime_t now; + uint16_t bits; - for (element = cfg_list_first(list); - element != NULL; - element = cfg_list_next(element)) - { - const cfg_obj_t *algobj = NULL; - const cfg_obj_t *secretobj = NULL; - dns_name_t keyname; + for (element = cfg_list_first(list); element != NULL; + element = cfg_list_next(element)) { + const cfg_obj_t * algobj = NULL; + const cfg_obj_t * secretobj = NULL; + dns_name_t keyname; const dns_name_t *alg; - const char *algstr; - char keynamedata[1024]; - isc_buffer_t keynamesrc, keynamebuf; - const char *secretstr; - isc_buffer_t secretbuf; + const char * algstr; + char keynamedata[1024]; + isc_buffer_t keynamesrc, keynamebuf; + const char * secretstr; + isc_buffer_t secretbuf; key = cfg_listelt_value(element); keyid = cfg_obj_asstring(cfg_map_getname(key)); @@ -84,8 +80,8 @@ add_initial_keys(const cfg_obj_t *list, dns_tsig_keyring_t *ring, * Create the algorithm. */ algstr = cfg_obj_asstring(algobj); - if (named_config_getkeyalgorithm(algstr, &alg, &bits) - != ISC_R_SUCCESS) { + if (named_config_getkeyalgorithm(algstr, &alg, &bits) != + ISC_R_SUCCESS) { cfg_obj_log(algobj, named_g_lctx, ISC_LOG_ERROR, "key '%s': has a " "unsupported algorithm '%s'", @@ -105,8 +101,8 @@ add_initial_keys(const cfg_obj_t *list, dns_tsig_keyring_t *ring, isc_stdtime_get(&now); ret = dns_tsigkey_create(&keyname, alg, secret, secretlen, - false, NULL, now, now, - mctx, ring, &tsigkey); + false, NULL, now, now, mctx, ring, + &tsigkey); isc_mem_put(mctx, secret, secretalloc); secret = NULL; if (ret != ISC_R_SUCCESS) @@ -120,10 +116,9 @@ add_initial_keys(const cfg_obj_t *list, dns_tsig_keyring_t *ring, return (ISC_R_SUCCESS); - failure: +failure: cfg_obj_log(key, named_g_lctx, ISC_LOG_ERROR, - "configuring key '%s': %s", keyid, - isc_result_totext(ret)); + "configuring key '%s': %s", keyid, isc_result_totext(ret)); if (secret != NULL) isc_mem_put(mctx, secret, secretalloc); @@ -134,11 +129,11 @@ isc_result_t named_tsigkeyring_fromconfig(const cfg_obj_t *config, const cfg_obj_t *vconfig, isc_mem_t *mctx, dns_tsig_keyring_t **ringp) { - const cfg_obj_t *maps[3]; - const cfg_obj_t *keylist; + const cfg_obj_t * maps[3]; + const cfg_obj_t * keylist; dns_tsig_keyring_t *ring = NULL; - isc_result_t result; - int i; + isc_result_t result; + int i; REQUIRE(ringp != NULL && *ringp == NULL); @@ -153,7 +148,7 @@ named_tsigkeyring_fromconfig(const cfg_obj_t *config, const cfg_obj_t *vconfig, if (result != ISC_R_SUCCESS) return (result); - for (i = 0; ; i++) { + for (i = 0;; i++) { if (maps[i] == NULL) break; keylist = NULL; @@ -168,7 +163,7 @@ named_tsigkeyring_fromconfig(const cfg_obj_t *config, const cfg_obj_t *vconfig, *ringp = ring; return (ISC_R_SUCCESS); - failure: +failure: dns_tsigkeyring_detach(&ring); return (result); } diff --git a/bin/named/unix/dlz_dlopen_driver.c b/bin/named/unix/dlz_dlopen_driver.c index 3b3682e46d..c3ae24af44 100644 --- a/bin/named/unix/dlz_dlopen_driver.c +++ b/bin/named/unix/dlz_dlopen_driver.c @@ -9,85 +9,83 @@ * information regarding copyright ownership. */ +#include #include #include -#include #include #include #if HAVE_DLFCN_H #include #endif -#include -#include -#include - #include #include #include #include -#include +#include +#include +#include #include +#include #ifdef ISC_DLZ_DLOPEN static dns_sdlzimplementation_t *dlz_dlopen = NULL; - typedef struct dlopen_data { - isc_mem_t *mctx; - char *dl_path; - char *dlzname; - void *dl_handle; - void *dbdata; + isc_mem_t * mctx; + char * dl_path; + char * dlzname; + void * dl_handle; + void * dbdata; unsigned int flags; - isc_mutex_t lock; - int version; - bool in_configure; + isc_mutex_t lock; + int version; + bool in_configure; - dlz_dlopen_version_t *dlz_version; - dlz_dlopen_create_t *dlz_create; - dlz_dlopen_findzonedb_t *dlz_findzonedb; - dlz_dlopen_lookup_t *dlz_lookup; - dlz_dlopen_authority_t *dlz_authority; - dlz_dlopen_allnodes_t *dlz_allnodes; + dlz_dlopen_version_t * dlz_version; + dlz_dlopen_create_t * dlz_create; + dlz_dlopen_findzonedb_t * dlz_findzonedb; + dlz_dlopen_lookup_t * dlz_lookup; + dlz_dlopen_authority_t * dlz_authority; + dlz_dlopen_allnodes_t * dlz_allnodes; dlz_dlopen_allowzonexfr_t *dlz_allowzonexfr; - dlz_dlopen_newversion_t *dlz_newversion; + dlz_dlopen_newversion_t * dlz_newversion; dlz_dlopen_closeversion_t *dlz_closeversion; - dlz_dlopen_configure_t *dlz_configure; - dlz_dlopen_ssumatch_t *dlz_ssumatch; - dlz_dlopen_addrdataset_t *dlz_addrdataset; - dlz_dlopen_subrdataset_t *dlz_subrdataset; - dlz_dlopen_delrdataset_t *dlz_delrdataset; - dlz_dlopen_destroy_t *dlz_destroy; + dlz_dlopen_configure_t * dlz_configure; + dlz_dlopen_ssumatch_t * dlz_ssumatch; + dlz_dlopen_addrdataset_t * dlz_addrdataset; + dlz_dlopen_subrdataset_t * dlz_subrdataset; + dlz_dlopen_delrdataset_t * dlz_delrdataset; + dlz_dlopen_destroy_t * dlz_destroy; } dlopen_data_t; /* Modules can choose whether they are lock-safe or not. */ -#define MAYBE_LOCK(cd) \ - do { \ +#define MAYBE_LOCK(cd) \ + do { \ if ((cd->flags & DNS_SDLZFLAG_THREADSAFE) == 0 && \ - cd->in_configure == false) \ - LOCK(&cd->lock); \ + cd->in_configure == false) \ + LOCK(&cd->lock); \ } while (0) -#define MAYBE_UNLOCK(cd) \ - do { \ +#define MAYBE_UNLOCK(cd) \ + do { \ if ((cd->flags & DNS_SDLZFLAG_THREADSAFE) == 0 && \ - cd->in_configure == false) \ - UNLOCK(&cd->lock); \ + cd->in_configure == false) \ + UNLOCK(&cd->lock); \ } while (0) /* * Log a message at the given level. */ -static void dlopen_log(int level, const char *fmt, ...) +static void +dlopen_log(int level, const char *fmt, ...) { va_list ap; va_start(ap, fmt); - isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(level), - fmt, ap); + isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(level), fmt, ap); va_end(ap); } @@ -99,9 +97,8 @@ static isc_result_t dlopen_dlz_allnodes(const char *zone, void *driverarg, void *dbdata, dns_sdlzallnodes_t *allnodes) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; - + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); @@ -115,17 +112,15 @@ dlopen_dlz_allnodes(const char *zone, void *driverarg, void *dbdata, return (result); } - static isc_result_t dlopen_dlz_allowzonexfr(void *driverarg, void *dbdata, const char *name, const char *client) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); - if (cd->dlz_allowzonexfr == NULL) { return (ISC_R_NOPERM); } @@ -140,8 +135,8 @@ static isc_result_t dlopen_dlz_authority(const char *zone, void *driverarg, void *dbdata, dns_sdlzlookup_t *lookup) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); @@ -158,10 +153,10 @@ dlopen_dlz_authority(const char *zone, void *driverarg, void *dbdata, static isc_result_t dlopen_dlz_findzonedb(void *driverarg, void *dbdata, const char *name, dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo) + dns_clientinfo_t * clientinfo) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); @@ -171,21 +166,20 @@ dlopen_dlz_findzonedb(void *driverarg, void *dbdata, const char *name, return (result); } - static isc_result_t dlopen_dlz_lookup(const char *zone, const char *name, void *driverarg, void *dbdata, dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo) + dns_clientinfo_t * clientinfo) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); MAYBE_LOCK(cd); - result = cd->dlz_lookup(zone, name, cd->dbdata, lookup, - methods, clientinfo); + result = cd->dlz_lookup(zone, name, cd->dbdata, lookup, methods, + clientinfo); MAYBE_UNLOCK(cd); return (result); } @@ -194,12 +188,14 @@ dlopen_dlz_lookup(const char *zone, const char *name, void *driverarg, * Load a symbol from the library */ static void * -dl_load_symbol(dlopen_data_t *cd, const char *symbol, bool mandatory) { +dl_load_symbol(dlopen_data_t *cd, const char *symbol, bool mandatory) +{ void *ptr = dlsym(cd->dl_handle, symbol); if (ptr == NULL && mandatory) { dlopen_log(ISC_LOG_ERROR, "dlz_dlopen: library '%s' is missing " - "required symbol '%s'", cd->dl_path, symbol); + "required symbol '%s'", + cd->dl_path, symbol); } return (ptr); } @@ -212,16 +208,17 @@ dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[], void *driverarg, void **dbdata) { dlopen_data_t *cd; - isc_mem_t *mctx = NULL; - isc_result_t result = ISC_R_FAILURE; - int dlopen_flags = 0; + isc_mem_t * mctx = NULL; + isc_result_t result = ISC_R_FAILURE; + int dlopen_flags = 0; UNUSED(driverarg); if (argc < 2) { dlopen_log(ISC_LOG_ERROR, "dlz_dlopen driver for '%s' needs a path to " - "the shared library", dlzname); + "the shared library", + dlzname); return (ISC_R_FAILURE); } @@ -240,7 +237,7 @@ dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[], isc_mutex_init(&cd->lock); /* Open the library */ - dlopen_flags = RTLD_NOW|RTLD_GLOBAL; + dlopen_flags = RTLD_NOW | RTLD_GLOBAL; #if defined(RTLD_DEEPBIND) && !__SANITIZE_ADDRESS__ /* @@ -265,55 +262,49 @@ dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[], } /* Find the symbols */ - cd->dlz_version = (dlz_dlopen_version_t *) - dl_load_symbol(cd, "dlz_version", true); - cd->dlz_create = (dlz_dlopen_create_t *) - dl_load_symbol(cd, "dlz_create", true); - cd->dlz_lookup = (dlz_dlopen_lookup_t *) - dl_load_symbol(cd, "dlz_lookup", true); - cd->dlz_findzonedb = (dlz_dlopen_findzonedb_t *) - dl_load_symbol(cd, "dlz_findzonedb", true); + cd->dlz_version = + (dlz_dlopen_version_t *)dl_load_symbol(cd, "dlz_version", true); + cd->dlz_create = + (dlz_dlopen_create_t *)dl_load_symbol(cd, "dlz_create", true); + cd->dlz_lookup = + (dlz_dlopen_lookup_t *)dl_load_symbol(cd, "dlz_lookup", true); + cd->dlz_findzonedb = (dlz_dlopen_findzonedb_t *)dl_load_symbol( + cd, "dlz_findzonedb", true); - if (cd->dlz_create == NULL || - cd->dlz_version == NULL || - cd->dlz_lookup == NULL || - cd->dlz_findzonedb == NULL) - { + if (cd->dlz_create == NULL || cd->dlz_version == NULL || + cd->dlz_lookup == NULL || cd->dlz_findzonedb == NULL) { /* We're missing a required symbol */ result = ISC_R_FAILURE; goto failed; } - cd->dlz_allowzonexfr = (dlz_dlopen_allowzonexfr_t *) - dl_load_symbol(cd, "dlz_allowzonexfr", false); - cd->dlz_allnodes = (dlz_dlopen_allnodes_t *) - dl_load_symbol(cd, "dlz_allnodes", - (cd->dlz_allowzonexfr != NULL)); - cd->dlz_authority = (dlz_dlopen_authority_t *) - dl_load_symbol(cd, "dlz_authority", false); - cd->dlz_newversion = (dlz_dlopen_newversion_t *) - dl_load_symbol(cd, "dlz_newversion", false); - cd->dlz_closeversion = (dlz_dlopen_closeversion_t *) - dl_load_symbol(cd, "dlz_closeversion", - (cd->dlz_newversion != NULL)); - cd->dlz_configure = (dlz_dlopen_configure_t *) - dl_load_symbol(cd, "dlz_configure", false); - cd->dlz_ssumatch = (dlz_dlopen_ssumatch_t *) - dl_load_symbol(cd, "dlz_ssumatch", false); - cd->dlz_addrdataset = (dlz_dlopen_addrdataset_t *) - dl_load_symbol(cd, "dlz_addrdataset", false); - cd->dlz_subrdataset = (dlz_dlopen_subrdataset_t *) - dl_load_symbol(cd, "dlz_subrdataset", false); - cd->dlz_delrdataset = (dlz_dlopen_delrdataset_t *) - dl_load_symbol(cd, "dlz_delrdataset", false); - cd->dlz_destroy = (dlz_dlopen_destroy_t *) - dl_load_symbol(cd, "dlz_destroy", false); + cd->dlz_allowzonexfr = (dlz_dlopen_allowzonexfr_t *)dl_load_symbol( + cd, "dlz_allowzonexfr", false); + cd->dlz_allnodes = (dlz_dlopen_allnodes_t *)dl_load_symbol( + cd, "dlz_allnodes", (cd->dlz_allowzonexfr != NULL)); + cd->dlz_authority = (dlz_dlopen_authority_t *)dl_load_symbol( + cd, "dlz_authority", false); + cd->dlz_newversion = (dlz_dlopen_newversion_t *)dl_load_symbol( + cd, "dlz_newversion", false); + cd->dlz_closeversion = (dlz_dlopen_closeversion_t *)dl_load_symbol( + cd, "dlz_closeversion", (cd->dlz_newversion != NULL)); + cd->dlz_configure = (dlz_dlopen_configure_t *)dl_load_symbol( + cd, "dlz_configure", false); + cd->dlz_ssumatch = (dlz_dlopen_ssumatch_t *)dl_load_symbol( + cd, "dlz_ssumatch", false); + cd->dlz_addrdataset = (dlz_dlopen_addrdataset_t *)dl_load_symbol( + cd, "dlz_addrdataset", false); + cd->dlz_subrdataset = (dlz_dlopen_subrdataset_t *)dl_load_symbol( + cd, "dlz_subrdataset", false); + cd->dlz_delrdataset = (dlz_dlopen_delrdataset_t *)dl_load_symbol( + cd, "dlz_delrdataset", false); + cd->dlz_destroy = (dlz_dlopen_destroy_t *)dl_load_symbol( + cd, "dlz_destroy", false); /* Check the version of the API is the same */ cd->version = cd->dlz_version(&cd->flags); if (cd->version < (DLZ_DLOPEN_VERSION - DLZ_DLOPEN_AGE) || - cd->version > DLZ_DLOPEN_VERSION) - { + cd->version > DLZ_DLOPEN_VERSION) { dlopen_log(ISC_LOG_ERROR, "dlz_dlopen: %s: incorrect driver API version %d, " "requires %d", @@ -330,13 +321,10 @@ dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[], * link the BIND9 libraries */ MAYBE_LOCK(cd); - result = cd->dlz_create(dlzname, argc-1, argv+1, - &cd->dbdata, - "log", dlopen_log, - "putrr", dns_sdlz_putrr, + result = cd->dlz_create(dlzname, argc - 1, argv + 1, &cd->dbdata, "log", + dlopen_log, "putrr", dns_sdlz_putrr, "putnamedrr", dns_sdlz_putnamedrr, - "writeable_zone", dns_dlz_writeablezone, - NULL); + "writeable_zone", dns_dlz_writeablezone, NULL); MAYBE_UNLOCK(cd); if (result != ISC_R_SUCCESS) goto failed; @@ -370,9 +358,10 @@ failed: * Called when bind is shutting down */ static void -dlopen_dlz_destroy(void *driverarg, void *dbdata) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_mem_t *mctx; +dlopen_dlz_destroy(void *driverarg, void *dbdata) +{ + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_mem_t * mctx; UNUSED(driverarg); @@ -409,8 +398,8 @@ static isc_result_t dlopen_dlz_newversion(const char *zone, void *driverarg, void *dbdata, void **versionp) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); @@ -427,10 +416,10 @@ dlopen_dlz_newversion(const char *zone, void *driverarg, void *dbdata, * Called to end a transaction */ static void -dlopen_dlz_closeversion(const char *zone, bool commit, - void *driverarg, void *dbdata, void **versionp) +dlopen_dlz_closeversion(const char *zone, bool commit, void *driverarg, + void *dbdata, void **versionp) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; UNUSED(driverarg); @@ -448,11 +437,11 @@ dlopen_dlz_closeversion(const char *zone, bool commit, * Called on startup to configure any writeable zones */ static isc_result_t -dlopen_dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb, - void *driverarg, void *dbdata) +dlopen_dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb, void *driverarg, + void *dbdata) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); @@ -468,7 +457,6 @@ dlopen_dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb, return (result); } - /* * Check for authority to change a name. */ @@ -477,8 +465,8 @@ dlopen_dlz_ssumatch(const char *signer, const char *name, const char *tcpaddr, const char *type, const char *key, uint32_t keydatalen, unsigned char *keydata, void *driverarg, void *dbdata) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - bool ret; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + bool ret; UNUSED(driverarg); @@ -493,16 +481,15 @@ dlopen_dlz_ssumatch(const char *signer, const char *name, const char *tcpaddr, return (ret); } - /* * Add an rdataset. */ static isc_result_t -dlopen_dlz_addrdataset(const char *name, const char *rdatastr, - void *driverarg, void *dbdata, void *version) +dlopen_dlz_addrdataset(const char *name, const char *rdatastr, void *driverarg, + void *dbdata, void *version) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); @@ -520,11 +507,11 @@ dlopen_dlz_addrdataset(const char *name, const char *rdatastr, * Subtract an rdataset. */ static isc_result_t -dlopen_dlz_subrdataset(const char *name, const char *rdatastr, - void *driverarg, void *dbdata, void *version) +dlopen_dlz_subrdataset(const char *name, const char *rdatastr, void *driverarg, + void *dbdata, void *version) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); @@ -542,11 +529,11 @@ dlopen_dlz_subrdataset(const char *name, const char *rdatastr, * Delete a rdataset. */ static isc_result_t -dlopen_dlz_delrdataset(const char *name, const char *type, - void *driverarg, void *dbdata, void *version) +dlopen_dlz_delrdataset(const char *name, const char *type, void *driverarg, + void *dbdata, void *version) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); @@ -560,22 +547,12 @@ dlopen_dlz_delrdataset(const char *name, const char *type, return (result); } - static dns_sdlzmethods_t dlz_dlopen_methods = { - dlopen_dlz_create, - dlopen_dlz_destroy, - dlopen_dlz_findzonedb, - dlopen_dlz_lookup, - dlopen_dlz_authority, - dlopen_dlz_allnodes, - dlopen_dlz_allowzonexfr, - dlopen_dlz_newversion, - dlopen_dlz_closeversion, - dlopen_dlz_configure, - dlopen_dlz_ssumatch, - dlopen_dlz_addrdataset, - dlopen_dlz_subrdataset, - dlopen_dlz_delrdataset + dlopen_dlz_create, dlopen_dlz_destroy, dlopen_dlz_findzonedb, + dlopen_dlz_lookup, dlopen_dlz_authority, dlopen_dlz_allnodes, + dlopen_dlz_allowzonexfr, dlopen_dlz_newversion, dlopen_dlz_closeversion, + dlopen_dlz_configure, dlopen_dlz_ssumatch, dlopen_dlz_addrdataset, + dlopen_dlz_subrdataset, dlopen_dlz_delrdataset }; #endif @@ -583,7 +560,8 @@ static dns_sdlzmethods_t dlz_dlopen_methods = { * Register driver with BIND */ isc_result_t -dlz_dlopen_init(isc_mem_t *mctx) { +dlz_dlopen_init(isc_mem_t *mctx) +{ #ifndef ISC_DLZ_DLOPEN UNUSED(mctx); return (ISC_R_NOTIMPLEMENTED); @@ -594,8 +572,8 @@ dlz_dlopen_init(isc_mem_t *mctx) { result = dns_sdlzregister("dlopen", &dlz_dlopen_methods, NULL, DNS_SDLZFLAG_RELATIVEOWNER | - DNS_SDLZFLAG_RELATIVERDATA | - DNS_SDLZFLAG_THREADSAFE, + DNS_SDLZFLAG_RELATIVERDATA | + DNS_SDLZFLAG_THREADSAFE, mctx, &dlz_dlopen); if (result != ISC_R_SUCCESS) { @@ -609,12 +587,12 @@ dlz_dlopen_init(isc_mem_t *mctx) { #endif } - /* * Unregister the driver */ void -dlz_dlopen_clear(void) { +dlz_dlopen_clear(void) +{ #ifdef ISC_DLZ_DLOPEN dlopen_log(2, "Unregistering DLZ_dlopen driver"); if (dlz_dlopen != NULL) diff --git a/bin/named/unix/os.c b/bin/named/unix/os.c index 622e488497..14f6815689 100644 --- a/bin/named/unix/os.c +++ b/bin/named/unix/os.c @@ -13,20 +13,20 @@ #include #include -#include /* dev_t FreeBSD 2.1 */ #include +#include /* dev_t FreeBSD 2.1 */ #ifdef HAVE_UNAME #include #endif #include #include -#include #include +#include #include +#include #include #include -#include #include #ifdef HAVE_TZSET #include @@ -50,16 +50,16 @@ static char *pidfile = NULL; static char *lockfile = NULL; -static int devnullfd = -1; -static int singletonfd = -1; +static int devnullfd = -1; +static int singletonfd = -1; #ifndef ISC_FACILITY #define ISC_FACILITY LOG_DAEMON #endif static struct passwd *runas_pw = NULL; -static bool done_setuid = false; -static int dfd[2] = { -1, -1 }; +static bool done_setuid = false; +static int dfd[2] = { -1, -1 }; #ifdef HAVE_SYS_CAPABILITY_H @@ -70,7 +70,8 @@ static bool non_root_caps = false; #include static void -linux_setcaps(cap_t caps) { +linux_setcaps(cap_t caps) +{ char strbuf[ISC_STRERRORSIZE]; if ((getuid() != 0 && !non_root_caps) || non_root) { @@ -85,51 +86,60 @@ linux_setcaps(cap_t caps) { } } -#define SET_CAP(flag) \ - do { \ - cap_flag_value_t curval; \ - capval = (flag); \ - err = cap_get_flag(curcaps, capval, CAP_PERMITTED, &curval); \ - if (err != -1 && curval) { \ - err = cap_set_flag(caps, CAP_EFFECTIVE, 1, &capval, CAP_SET); \ - if (err == -1) { \ - strerror_r(errno, strbuf, sizeof(strbuf)); \ - named_main_earlyfatal("cap_set_proc failed: %s", strbuf); \ - } \ - \ - err = cap_set_flag(caps, CAP_PERMITTED, 1, &capval, CAP_SET); \ - if (err == -1) { \ - strerror_r(errno, strbuf, sizeof(strbuf)); \ - named_main_earlyfatal("cap_set_proc failed: %s", strbuf); \ - } \ - } \ +#define SET_CAP(flag) \ + do { \ + cap_flag_value_t curval; \ + capval = (flag); \ + err = cap_get_flag(curcaps, capval, CAP_PERMITTED, &curval); \ + if (err != -1 && curval) { \ + err = cap_set_flag(caps, CAP_EFFECTIVE, 1, &capval, \ + CAP_SET); \ + if (err == -1) { \ + strerror_r(errno, strbuf, sizeof(strbuf)); \ + named_main_earlyfatal("cap_set_proc failed: " \ + "%s", \ + strbuf); \ + } \ + \ + err = cap_set_flag(caps, CAP_PERMITTED, 1, &capval, \ + CAP_SET); \ + if (err == -1) { \ + strerror_r(errno, strbuf, sizeof(strbuf)); \ + named_main_earlyfatal("cap_set_proc failed: " \ + "%s", \ + strbuf); \ + } \ + } \ } while (0) -#define INIT_CAP \ - do { \ - caps = cap_init(); \ - if (caps == NULL) { \ - strerror_r(errno, strbuf, sizeof(strbuf)); \ +#define INIT_CAP \ + do { \ + caps = cap_init(); \ + if (caps == NULL) { \ + strerror_r(errno, strbuf, sizeof(strbuf)); \ named_main_earlyfatal("cap_init failed: %s", strbuf); \ - } \ - curcaps = cap_get_proc(); \ - if (curcaps == NULL) { \ - strerror_r(errno, strbuf, sizeof(strbuf)); \ - named_main_earlyfatal("cap_get_proc failed: %s", strbuf); \ - } \ + } \ + curcaps = cap_get_proc(); \ + if (curcaps == NULL) { \ + strerror_r(errno, strbuf, sizeof(strbuf)); \ + named_main_earlyfatal("cap_get_proc failed: %s", \ + strbuf); \ + } \ } while (0) -#define FREE_CAP \ - { \ - cap_free(caps); \ +#define FREE_CAP \ + { \ + cap_free(caps); \ cap_free(curcaps); \ - } while (0) + } \ + while (0) static void -linux_initialprivs(void) { - cap_t caps; - cap_t curcaps; +linux_initialprivs(void) +{ + cap_t caps; + cap_t curcaps; cap_value_t capval; - char strbuf[ISC_STRERRORSIZE]; - int err; + char strbuf[ISC_STRERRORSIZE]; + int err; /*% * We don't need most privileges, so we drop them right away. @@ -186,12 +196,13 @@ linux_initialprivs(void) { } static void -linux_minprivs(void) { - cap_t caps; - cap_t curcaps; +linux_minprivs(void) +{ + cap_t caps; + cap_t curcaps; cap_value_t capval; - char strbuf[ISC_STRERRORSIZE]; - int err; + char strbuf[ISC_STRERRORSIZE]; + int err; INIT_CAP; /*% @@ -219,7 +230,8 @@ linux_minprivs(void) { } static void -linux_keepcaps(void) { +linux_keepcaps(void) +{ char strbuf[ISC_STRERRORSIZE]; /*% * Ask the kernel to allow us to keep our capabilities after we @@ -238,10 +250,11 @@ linux_keepcaps(void) { } } -#endif /* HAVE_SYS_CAPABILITY_H */ +#endif /* HAVE_SYS_CAPABILITY_H */ static void -setup_syslog(const char *progname) { +setup_syslog(const char *progname) +{ int options; options = LOG_PID; @@ -252,7 +265,8 @@ setup_syslog(const char *progname) { } void -named_os_init(const char *progname) { +named_os_init(const char *progname) +{ setup_syslog(progname); #ifdef HAVE_SYS_CAPABILITY_H linux_initialprivs(); @@ -263,9 +277,10 @@ named_os_init(const char *progname) { } void -named_os_daemonize(void) { +named_os_daemonize(void) +{ pid_t pid; - char strbuf[ISC_STRERRORSIZE]; + char strbuf[ISC_STRERRORSIZE]; if (pipe(dfd) == -1) { strerror_r(errno, strbuf, sizeof(strbuf)); @@ -331,7 +346,8 @@ named_os_daemonize(void) { } void -named_os_started(void) { +named_os_started(void) +{ char buf = 0; /* @@ -348,14 +364,15 @@ named_os_started(void) { } void -named_os_opendevnull(void) { +named_os_opendevnull(void) +{ devnullfd = open("/dev/null", O_RDWR, 0); } void -named_os_closedevnull(void) { - if (devnullfd != STDIN_FILENO && - devnullfd != STDOUT_FILENO && +named_os_closedevnull(void) +{ + if (devnullfd != STDIN_FILENO && devnullfd != STDOUT_FILENO && devnullfd != STDERR_FILENO) { close(devnullfd); devnullfd = -1; @@ -363,11 +380,12 @@ named_os_closedevnull(void) { } static bool -all_digits(const char *s) { +all_digits(const char *s) +{ if (*s == '\0') return (false); while (*s != '\0') { - if (!isdigit((*s)&0xff)) + if (!isdigit((*s) & 0xff)) return (false); s++; } @@ -375,7 +393,8 @@ all_digits(const char *s) { } void -named_os_chroot(const char *root) { +named_os_chroot(const char *root) +{ char strbuf[ISC_STRERRORSIZE]; #ifdef HAVE_LIBSCF named_smf_chroot = 0; @@ -401,7 +420,8 @@ named_os_chroot(const char *root) { } void -named_os_inituserinfo(const char *username) { +named_os_inituserinfo(const char *username) +{ char strbuf[ISC_STRERRORSIZE]; if (username == NULL) return; @@ -421,11 +441,11 @@ named_os_inituserinfo(const char *username) { named_main_earlyfatal("initgroups(): %s", strbuf); } } - } void -named_os_changeuser(void) { +named_os_changeuser(void) +{ char strbuf[ISC_STRERRORSIZE]; if (runas_pw == NULL || done_setuid) return; @@ -447,7 +467,7 @@ named_os_changeuser(void) { * Restore the ability of named to drop core after the setuid() * call has disabled it. */ - if (prctl(PR_SET_DUMPABLE,1,0,0,0) < 0) { + if (prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) < 0) { strerror_r(errno, strbuf, sizeof(strbuf)); named_main_earlywarning("prctl(PR_SET_DUMPABLE) failed: %s", strbuf); @@ -458,16 +478,18 @@ named_os_changeuser(void) { } uid_t -ns_os_uid(void) { +ns_os_uid(void) +{ if (runas_pw == NULL) return (0); return (runas_pw->pw_uid); } void -named_os_adjustnofile(void) { +named_os_adjustnofile(void) +{ #if defined(__linux__) - isc_result_t result; + isc_result_t result; isc_resourcevalue_t newvalue; /* @@ -483,7 +505,8 @@ named_os_adjustnofile(void) { } void -named_os_minprivs(void) { +named_os_minprivs(void) +{ #if defined(HAVE_SYS_CAPABILITY_H) linux_keepcaps(); named_os_changeuser(); @@ -492,8 +515,9 @@ named_os_minprivs(void) { } static int -safe_open(const char *filename, mode_t mode, bool append) { - int fd; +safe_open(const char *filename, mode_t mode, bool append) +{ + int fd; struct stat sb; if (stat(filename, &sb) == -1) { @@ -505,17 +529,18 @@ safe_open(const char *filename, mode_t mode, bool append) { } if (append) - fd = open(filename, O_WRONLY|O_CREAT|O_APPEND, mode); + fd = open(filename, O_WRONLY | O_CREAT | O_APPEND, mode); else { if (unlink(filename) < 0 && errno != ENOENT) return (-1); - fd = open(filename, O_WRONLY|O_CREAT|O_EXCL, mode); + fd = open(filename, O_WRONLY | O_CREAT | O_EXCL, mode); } return (fd); } static void -cleanup_pidfile(void) { +cleanup_pidfile(void) +{ int n; if (pidfile != NULL) { n = unlink(pidfile); @@ -527,7 +552,8 @@ cleanup_pidfile(void) { } static void -cleanup_lockfile(void) { +cleanup_lockfile(void) +{ if (singletonfd != -1) { close(singletonfd); singletonfd = -1; @@ -549,9 +575,10 @@ cleanup_lockfile(void) { * nulls. The caller should copy the filename to a fresh buffer first. */ static int -mkdirpath(char *filename, void (*report)(const char *, ...)) { - char *slash = strrchr(filename, '/'); - char strbuf[ISC_STRERRORSIZE]; +mkdirpath(char *filename, void (*report)(const char *, ...)) +{ + char * slash = strrchr(filename, '/'); + char strbuf[ISC_STRERRORSIZE]; unsigned int mode; if (slash != NULL && slash != filename) { @@ -570,15 +597,14 @@ mkdirpath(char *filename, void (*report)(const char *, ...)) { /* * Handle "//", "/./" and "/../" in path. */ - if (!strcmp(slash + 1, "") || - !strcmp(slash + 1, ".") || + if (!strcmp(slash + 1, "") || !strcmp(slash + 1, ".") || !strcmp(slash + 1, "..")) { *slash = '/'; return (0); } - mode = S_IRUSR | S_IWUSR | S_IXUSR; /* u=rwx */ - mode |= S_IRGRP | S_IXGRP; /* g=rx */ - mode |= S_IROTH | S_IXOTH; /* o=rx */ + mode = S_IRUSR | S_IWUSR | S_IXUSR; /* u=rwx */ + mode |= S_IRGRP | S_IXGRP; /* g=rx */ + mode |= S_IROTH | S_IXOTH; /* o=rx */ if (mkdir(filename, mode) == -1) { strerror_r(errno, strbuf, sizeof(strbuf)); (*report)("couldn't mkdir '%s': %s", filename, @@ -597,13 +623,14 @@ mkdirpath(char *filename, void (*report)(const char *, ...)) { } return (0); - error: +error: *slash = '/'; return (-1); } static void -setperms(uid_t uid, gid_t gid) { +setperms(uid_t uid, gid_t gid) +{ #if defined(HAVE_SETEGID) || defined(HAVE_SETRESGID) char strbuf[ISC_STRERRORSIZE]; #endif @@ -625,7 +652,8 @@ setperms(uid_t uid, gid_t gid) { if (setresgid(-1, gid, -1) == -1) { strerror_r(errno, strbuf, sizeof(strbuf)); named_main_earlywarning("unable to set effective " - "gid to %d: %s", gid, strbuf); + "gid to %d: %s", + gid, strbuf); } } #endif @@ -642,17 +670,19 @@ setperms(uid_t uid, gid_t gid) { if (setresuid(-1, uid, -1) == -1) { strerror_r(errno, strbuf, sizeof(strbuf)); named_main_earlywarning("unable to set effective " - "uid to %d: %s", uid, strbuf); + "uid to %d: %s", + uid, strbuf); } } #endif } FILE * -named_os_openfile(const char *filename, mode_t mode, bool switch_user) { - char strbuf[ISC_STRERRORSIZE], *f; +named_os_openfile(const char *filename, mode_t mode, bool switch_user) +{ + char strbuf[ISC_STRERRORSIZE], *f; FILE *fp; - int fd; + int fd; /* * Make the containing directory if it doesn't exist. @@ -660,8 +690,8 @@ named_os_openfile(const char *filename, mode_t mode, bool switch_user) { f = strdup(filename); if (f == NULL) { strerror_r(errno, strbuf, sizeof(strbuf)); - named_main_earlywarning("couldn't strdup() '%s': %s", - filename, strbuf); + named_main_earlywarning("couldn't strdup() '%s': %s", filename, + strbuf); return (NULL); } if (mkdirpath(f, named_main_earlywarning) == -1) { @@ -685,10 +715,12 @@ named_os_openfile(const char *filename, mode_t mode, bool switch_user) { if (fd != -1) { named_main_earlywarning("Required root " "permissions to open " - "'%s'.", filename); + "'%s'.", + filename); } else { named_main_earlywarning("Could not open " - "'%s'.", filename); + "'%s'.", + filename); } named_main_earlywarning("Please check file and " "directory permissions " @@ -716,10 +748,11 @@ named_os_openfile(const char *filename, mode_t mode, bool switch_user) { } void -named_os_writepidfile(const char *filename, bool first_time) { +named_os_writepidfile(const char *filename, bool first_time) +{ FILE *fh; pid_t pid; - char strbuf[ISC_STRERRORSIZE]; + char strbuf[ISC_STRERRORSIZE]; void (*report)(const char *, ...); /* @@ -740,7 +773,7 @@ named_os_writepidfile(const char *filename, bool first_time) { return; } - fh = named_os_openfile(filename, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH, + fh = named_os_openfile(filename, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH, first_time); if (fh == NULL) { cleanup_pidfile(); @@ -763,8 +796,9 @@ named_os_writepidfile(const char *filename, bool first_time) { } bool -named_os_issingleton(const char *filename) { - char strbuf[ISC_STRERRORSIZE]; +named_os_issingleton(const char *filename) +{ + char strbuf[ISC_STRERRORSIZE]; struct flock lock; if (singletonfd != -1) @@ -796,7 +830,7 @@ named_os_issingleton(const char *filename) { * files. We can't use that here. */ singletonfd = open(filename, O_WRONLY | O_CREAT, - S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH); + S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); if (singletonfd == -1) { cleanup_lockfile(); return (false); @@ -819,14 +853,16 @@ named_os_issingleton(const char *filename) { } void -named_os_shutdown(void) { +named_os_shutdown(void) +{ closelog(); cleanup_pidfile(); cleanup_lockfile(); } isc_result_t -named_os_gethostname(char *buf, size_t len) { +named_os_gethostname(char *buf, size_t len) +{ int n; n = gethostname(buf, len); @@ -834,11 +870,11 @@ named_os_gethostname(char *buf, size_t len) { } void -named_os_shutdownmsg(char *command, isc_buffer_t *text) { +named_os_shutdownmsg(char *command, isc_buffer_t *text) +{ char *last, *ptr; pid_t pid; - /* Skip the command name. */ if ((ptr = strtok_r(command, " \t", &last)) == NULL) { return; @@ -858,17 +894,19 @@ named_os_shutdownmsg(char *command, isc_buffer_t *text) { } void -named_os_tzset(void) { +named_os_tzset(void) +{ #ifdef HAVE_TZSET tzset(); #endif } -static char unamebuf[BUFSIZ]; +static char unamebuf[BUFSIZ]; static char *unamep = NULL; static void -getuname(void) { +getuname(void) +{ #ifdef HAVE_UNAME struct utsname uts; @@ -878,9 +916,8 @@ getuname(void) { return; } - snprintf(unamebuf, sizeof(unamebuf), - "%s %s %s %s", - uts.sysname, uts.machine, uts.release, uts.version); + snprintf(unamebuf, sizeof(unamebuf), "%s %s %s %s", uts.sysname, + uts.machine, uts.release, uts.version); #else snprintf(unamebuf, sizeof(unamebuf), "unknown architecture"); #endif @@ -888,7 +925,8 @@ getuname(void) { } char * -named_os_uname(void) { +named_os_uname(void) +{ if (unamep == NULL) getuname(); return (unamep); diff --git a/bin/named/win32/dlz_dlopen_driver.c b/bin/named/win32/dlz_dlopen_driver.c index d981aaf585..57d94222ee 100644 --- a/bin/named/win32/dlz_dlopen_driver.c +++ b/bin/named/win32/dlz_dlopen_driver.c @@ -9,84 +9,81 @@ * information regarding copyright ownership. */ -#include - +#include #include #include -#include #include #include - -#include -#include -#include +#include #include #include #include #include -#include +#include +#include +#include #include +#include #ifdef ISC_DLZ_DLOPEN static dns_sdlzimplementation_t *dlz_dlopen = NULL; - typedef struct dlopen_data { - isc_mem_t *mctx; - char *dl_path; - char *dlzname; - HMODULE dl_handle; - void *dbdata; + isc_mem_t * mctx; + char * dl_path; + char * dlzname; + HMODULE dl_handle; + void * dbdata; unsigned int flags; - isc_mutex_t lock; - int version; - bool in_configure; + isc_mutex_t lock; + int version; + bool in_configure; - dlz_dlopen_version_t *dlz_version; - dlz_dlopen_create_t *dlz_create; - dlz_dlopen_findzonedb_t *dlz_findzonedb; - dlz_dlopen_lookup_t *dlz_lookup; - dlz_dlopen_authority_t *dlz_authority; - dlz_dlopen_allnodes_t *dlz_allnodes; + dlz_dlopen_version_t * dlz_version; + dlz_dlopen_create_t * dlz_create; + dlz_dlopen_findzonedb_t * dlz_findzonedb; + dlz_dlopen_lookup_t * dlz_lookup; + dlz_dlopen_authority_t * dlz_authority; + dlz_dlopen_allnodes_t * dlz_allnodes; dlz_dlopen_allowzonexfr_t *dlz_allowzonexfr; - dlz_dlopen_newversion_t *dlz_newversion; + dlz_dlopen_newversion_t * dlz_newversion; dlz_dlopen_closeversion_t *dlz_closeversion; - dlz_dlopen_configure_t *dlz_configure; - dlz_dlopen_ssumatch_t *dlz_ssumatch; - dlz_dlopen_addrdataset_t *dlz_addrdataset; - dlz_dlopen_subrdataset_t *dlz_subrdataset; - dlz_dlopen_delrdataset_t *dlz_delrdataset; - dlz_dlopen_destroy_t *dlz_destroy; + dlz_dlopen_configure_t * dlz_configure; + dlz_dlopen_ssumatch_t * dlz_ssumatch; + dlz_dlopen_addrdataset_t * dlz_addrdataset; + dlz_dlopen_subrdataset_t * dlz_subrdataset; + dlz_dlopen_delrdataset_t * dlz_delrdataset; + dlz_dlopen_destroy_t * dlz_destroy; } dlopen_data_t; /* Modules can choose whether they are lock-safe or not. */ -#define MAYBE_LOCK(cd) \ - do { \ +#define MAYBE_LOCK(cd) \ + do { \ if ((cd->flags & DNS_SDLZFLAG_THREADSAFE) == 0 && \ - cd->in_configure == false) \ - LOCK(&cd->lock); \ + cd->in_configure == false) \ + LOCK(&cd->lock); \ } while (0) -#define MAYBE_UNLOCK(cd) \ - do { \ +#define MAYBE_UNLOCK(cd) \ + do { \ if ((cd->flags & DNS_SDLZFLAG_THREADSAFE) == 0 && \ - cd->in_configure == false) \ - UNLOCK(&cd->lock); \ + cd->in_configure == false) \ + UNLOCK(&cd->lock); \ } while (0) /* * Log a message at the given level. */ -static void dlopen_log(int level, const char *fmt, ...) +static void +dlopen_log(int level, const char *fmt, ...) { va_list ap; va_start(ap, fmt); - isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(level), - fmt, ap); + isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(level), fmt, ap); va_end(ap); } @@ -98,9 +95,8 @@ static isc_result_t dlopen_dlz_allnodes(const char *zone, void *driverarg, void *dbdata, dns_sdlzallnodes_t *allnodes) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; - + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); @@ -114,17 +110,15 @@ dlopen_dlz_allnodes(const char *zone, void *driverarg, void *dbdata, return (result); } - static isc_result_t dlopen_dlz_allowzonexfr(void *driverarg, void *dbdata, const char *name, const char *client) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); - if (cd->dlz_allowzonexfr == NULL) { return (ISC_R_NOPERM); } @@ -137,10 +131,10 @@ dlopen_dlz_allowzonexfr(void *driverarg, void *dbdata, const char *name, static isc_result_t dlopen_dlz_authority(const char *zone, void *driverarg, void *dbdata, - dns_sdlzlookup_t *lookup) + dns_sdlzlookup_t *lookup) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); @@ -157,10 +151,10 @@ dlopen_dlz_authority(const char *zone, void *driverarg, void *dbdata, static isc_result_t dlopen_dlz_findzonedb(void *driverarg, void *dbdata, const char *name, dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo) + dns_clientinfo_t * clientinfo) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); @@ -170,21 +164,20 @@ dlopen_dlz_findzonedb(void *driverarg, void *dbdata, const char *name, return (result); } - static isc_result_t dlopen_dlz_lookup(const char *zone, const char *name, void *driverarg, void *dbdata, dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo) + dns_clientinfo_t * clientinfo) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); MAYBE_LOCK(cd); - result = cd->dlz_lookup(zone, name, cd->dbdata, lookup, - methods, clientinfo); + result = cd->dlz_lookup(zone, name, cd->dbdata, lookup, methods, + clientinfo); MAYBE_UNLOCK(cd); return (result); } @@ -193,12 +186,14 @@ dlopen_dlz_lookup(const char *zone, const char *name, void *driverarg, * Load a symbol from the library */ static void * -dl_load_symbol(dlopen_data_t *cd, const char *symbol, bool mandatory) { +dl_load_symbol(dlopen_data_t *cd, const char *symbol, bool mandatory) +{ void *ptr = GetProcAddress(cd->dl_handle, symbol); if (ptr == NULL && mandatory) { dlopen_log(ISC_LOG_ERROR, "dlz_dlopen: library '%s' is missing " - "required symbol '%s'", cd->dl_path, symbol); + "required symbol '%s'", + cd->dl_path, symbol); } return (ptr); } @@ -211,16 +206,17 @@ dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[], void *driverarg, void **dbdata) { dlopen_data_t *cd; - isc_mem_t *mctx = NULL; - isc_result_t result = ISC_R_FAILURE; - bool triedload = false; + isc_mem_t * mctx = NULL; + isc_result_t result = ISC_R_FAILURE; + bool triedload = false; UNUSED(driverarg); if (argc < 2) { dlopen_log(ISC_LOG_ERROR, "dlz_dlopen driver for '%s' needs a path to " - "the shared library", dlzname); + "the shared library", + dlzname); return (ISC_R_FAILURE); } @@ -253,53 +249,47 @@ dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[], } /* Find the symbols */ - cd->dlz_version = (dlz_dlopen_version_t *) - dl_load_symbol(cd, "dlz_version", true); - cd->dlz_create = (dlz_dlopen_create_t *) - dl_load_symbol(cd, "dlz_create", true); - cd->dlz_lookup = (dlz_dlopen_lookup_t *) - dl_load_symbol(cd, "dlz_lookup", true); - cd->dlz_findzonedb = (dlz_dlopen_findzonedb_t *) - dl_load_symbol(cd, "dlz_findzonedb", true); + cd->dlz_version = + (dlz_dlopen_version_t *)dl_load_symbol(cd, "dlz_version", true); + cd->dlz_create = + (dlz_dlopen_create_t *)dl_load_symbol(cd, "dlz_create", true); + cd->dlz_lookup = + (dlz_dlopen_lookup_t *)dl_load_symbol(cd, "dlz_lookup", true); + cd->dlz_findzonedb = (dlz_dlopen_findzonedb_t *)dl_load_symbol( + cd, "dlz_findzonedb", true); - if (cd->dlz_create == NULL || - cd->dlz_version == NULL || - cd->dlz_lookup == NULL || - cd->dlz_findzonedb == NULL) - { + if (cd->dlz_create == NULL || cd->dlz_version == NULL || + cd->dlz_lookup == NULL || cd->dlz_findzonedb == NULL) { /* We're missing a required symbol */ result = ISC_R_FAILURE; goto cleanup_lock; } - cd->dlz_allowzonexfr = (dlz_dlopen_allowzonexfr_t *) - dl_load_symbol(cd, "dlz_allowzonexfr", false); - cd->dlz_allnodes = (dlz_dlopen_allnodes_t *) - dl_load_symbol(cd, "dlz_allnodes", - (cd->dlz_allowzonexfr != NULL)); - cd->dlz_authority = (dlz_dlopen_authority_t *) - dl_load_symbol(cd, "dlz_authority", false); - cd->dlz_newversion = (dlz_dlopen_newversion_t *) - dl_load_symbol(cd, "dlz_newversion", false); - cd->dlz_closeversion = (dlz_dlopen_closeversion_t *) - dl_load_symbol(cd, "dlz_closeversion", - (cd->dlz_newversion != NULL)); - cd->dlz_configure = (dlz_dlopen_configure_t *) - dl_load_symbol(cd, "dlz_configure", false); - cd->dlz_ssumatch = (dlz_dlopen_ssumatch_t *) - dl_load_symbol(cd, "dlz_ssumatch", false); - cd->dlz_addrdataset = (dlz_dlopen_addrdataset_t *) - dl_load_symbol(cd, "dlz_addrdataset", false); - cd->dlz_subrdataset = (dlz_dlopen_subrdataset_t *) - dl_load_symbol(cd, "dlz_subrdataset", false); - cd->dlz_delrdataset = (dlz_dlopen_delrdataset_t *) - dl_load_symbol(cd, "dlz_delrdataset", false); + cd->dlz_allowzonexfr = (dlz_dlopen_allowzonexfr_t *)dl_load_symbol( + cd, "dlz_allowzonexfr", false); + cd->dlz_allnodes = (dlz_dlopen_allnodes_t *)dl_load_symbol( + cd, "dlz_allnodes", (cd->dlz_allowzonexfr != NULL)); + cd->dlz_authority = (dlz_dlopen_authority_t *)dl_load_symbol( + cd, "dlz_authority", false); + cd->dlz_newversion = (dlz_dlopen_newversion_t *)dl_load_symbol( + cd, "dlz_newversion", false); + cd->dlz_closeversion = (dlz_dlopen_closeversion_t *)dl_load_symbol( + cd, "dlz_closeversion", (cd->dlz_newversion != NULL)); + cd->dlz_configure = (dlz_dlopen_configure_t *)dl_load_symbol( + cd, "dlz_configure", false); + cd->dlz_ssumatch = (dlz_dlopen_ssumatch_t *)dl_load_symbol( + cd, "dlz_ssumatch", false); + cd->dlz_addrdataset = (dlz_dlopen_addrdataset_t *)dl_load_symbol( + cd, "dlz_addrdataset", false); + cd->dlz_subrdataset = (dlz_dlopen_subrdataset_t *)dl_load_symbol( + cd, "dlz_subrdataset", false); + cd->dlz_delrdataset = (dlz_dlopen_delrdataset_t *)dl_load_symbol( + cd, "dlz_delrdataset", false); /* Check the version of the API is the same */ cd->version = cd->dlz_version(&cd->flags); if (cd->version < (DLZ_DLOPEN_VERSION - DLZ_DLOPEN_AGE) || - cd->version > DLZ_DLOPEN_VERSION) - { + cd->version > DLZ_DLOPEN_VERSION) { dlopen_log(ISC_LOG_ERROR, "dlz_dlopen: %s: incorrect driver API version %d, " "requires %d", @@ -316,13 +306,10 @@ dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[], * link the BIND9 libraries */ MAYBE_LOCK(cd); - result = cd->dlz_create(dlzname, argc-1, argv+1, - &cd->dbdata, - "log", dlopen_log, - "putrr", dns_sdlz_putrr, + result = cd->dlz_create(dlzname, argc - 1, argv + 1, &cd->dbdata, "log", + dlopen_log, "putrr", dns_sdlz_putrr, "putnamedrr", dns_sdlz_putnamedrr, - "writeable_zone", dns_dlz_writeablezone, - NULL); + "writeable_zone", dns_dlz_writeablezone, NULL); MAYBE_UNLOCK(cd); if (result != ISC_R_SUCCESS) goto cleanup_lock; @@ -352,14 +339,14 @@ failed: return (result); } - /* * Called when bind is shutting down */ static void -dlopen_dlz_destroy(void *driverarg, void *dbdata) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_mem_t *mctx; +dlopen_dlz_destroy(void *driverarg, void *dbdata) +{ + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_mem_t * mctx; UNUSED(driverarg); @@ -391,8 +378,8 @@ static isc_result_t dlopen_dlz_newversion(const char *zone, void *driverarg, void *dbdata, void **versionp) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); @@ -409,10 +396,10 @@ dlopen_dlz_newversion(const char *zone, void *driverarg, void *dbdata, * Called to end a transaction */ static void -dlopen_dlz_closeversion(const char *zone, bool commit, - void *driverarg, void *dbdata, void **versionp) +dlopen_dlz_closeversion(const char *zone, bool commit, void *driverarg, + void *dbdata, void **versionp) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; UNUSED(driverarg); @@ -430,11 +417,11 @@ dlopen_dlz_closeversion(const char *zone, bool commit, * Called on startup to configure any writeable zones */ static isc_result_t -dlopen_dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb, - void *driverarg, void *dbdata) +dlopen_dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb, void *driverarg, + void *dbdata) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); @@ -450,7 +437,6 @@ dlopen_dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb, return (result); } - /* * Check for authority to change a name */ @@ -459,8 +445,8 @@ dlopen_dlz_ssumatch(const char *signer, const char *name, const char *tcpaddr, const char *type, const char *key, uint32_t keydatalen, unsigned char *keydata, void *driverarg, void *dbdata) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - bool ret; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + bool ret; UNUSED(driverarg); @@ -475,16 +461,15 @@ dlopen_dlz_ssumatch(const char *signer, const char *name, const char *tcpaddr, return (ret); } - /* * Add an rdataset */ static isc_result_t -dlopen_dlz_addrdataset(const char *name, const char *rdatastr, - void *driverarg, void *dbdata, void *version) +dlopen_dlz_addrdataset(const char *name, const char *rdatastr, void *driverarg, + void *dbdata, void *version) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); @@ -502,11 +487,11 @@ dlopen_dlz_addrdataset(const char *name, const char *rdatastr, * Subtract an rdataset */ static isc_result_t -dlopen_dlz_subrdataset(const char *name, const char *rdatastr, - void *driverarg, void *dbdata, void *version) +dlopen_dlz_subrdataset(const char *name, const char *rdatastr, void *driverarg, + void *dbdata, void *version) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); @@ -524,11 +509,11 @@ dlopen_dlz_subrdataset(const char *name, const char *rdatastr, delete a rdataset */ static isc_result_t -dlopen_dlz_delrdataset(const char *name, const char *type, - void *driverarg, void *dbdata, void *version) +dlopen_dlz_delrdataset(const char *name, const char *type, void *driverarg, + void *dbdata, void *version) { - dlopen_data_t *cd = (dlopen_data_t *) dbdata; - isc_result_t result; + dlopen_data_t *cd = (dlopen_data_t *)dbdata; + isc_result_t result; UNUSED(driverarg); @@ -542,22 +527,12 @@ dlopen_dlz_delrdataset(const char *name, const char *type, return (result); } - static dns_sdlzmethods_t dlz_dlopen_methods = { - dlopen_dlz_create, - dlopen_dlz_destroy, - dlopen_dlz_findzonedb, - dlopen_dlz_lookup, - dlopen_dlz_authority, - dlopen_dlz_allnodes, - dlopen_dlz_allowzonexfr, - dlopen_dlz_newversion, - dlopen_dlz_closeversion, - dlopen_dlz_configure, - dlopen_dlz_ssumatch, - dlopen_dlz_addrdataset, - dlopen_dlz_subrdataset, - dlopen_dlz_delrdataset + dlopen_dlz_create, dlopen_dlz_destroy, dlopen_dlz_findzonedb, + dlopen_dlz_lookup, dlopen_dlz_authority, dlopen_dlz_allnodes, + dlopen_dlz_allowzonexfr, dlopen_dlz_newversion, dlopen_dlz_closeversion, + dlopen_dlz_configure, dlopen_dlz_ssumatch, dlopen_dlz_addrdataset, + dlopen_dlz_subrdataset, dlopen_dlz_delrdataset }; #endif @@ -565,7 +540,8 @@ static dns_sdlzmethods_t dlz_dlopen_methods = { * Register driver with BIND */ isc_result_t -dlz_dlopen_init(isc_mem_t *mctx) { +dlz_dlopen_init(isc_mem_t *mctx) +{ #ifndef ISC_DLZ_DLOPEN UNUSED(mctx); return (ISC_R_NOTIMPLEMENTED); @@ -576,8 +552,8 @@ dlz_dlopen_init(isc_mem_t *mctx) { result = dns_sdlzregister("dlopen", &dlz_dlopen_methods, NULL, DNS_SDLZFLAG_RELATIVEOWNER | - DNS_SDLZFLAG_RELATIVERDATA | - DNS_SDLZFLAG_THREADSAFE, + DNS_SDLZFLAG_RELATIVERDATA | + DNS_SDLZFLAG_THREADSAFE, mctx, &dlz_dlopen); if (result != ISC_R_SUCCESS) { @@ -591,12 +567,12 @@ dlz_dlopen_init(isc_mem_t *mctx) { #endif } - /* * Unregister the driver */ void -dlz_dlopen_clear(void) { +dlz_dlopen_clear(void) +{ #ifdef ISC_DLZ_DLOPEN dlopen_log(2, "Unregistering DLZ_dlopen driver"); if (dlz_dlopen != NULL) diff --git a/bin/named/win32/include/named/ntservice.h b/bin/named/win32/include/named/ntservice.h index 38732fb2a6..c4c0ed0a3d 100644 --- a/bin/named/win32/include/named/ntservice.h +++ b/bin/named/win32/include/named/ntservice.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef NTSERVICE_H #define NTSERVICE_H @@ -19,10 +18,12 @@ #define BIND_SERVICE_NAME "named" void -ntservice_init(); + ntservice_init(); void UpdateSCM(DWORD); -void ServiceControl(DWORD dwCtrlCode); +void +ServiceControl(DWORD dwCtrlCode); void ntservice_shutdown(); -BOOL ntservice_isservice(); +BOOL +ntservice_isservice(); #endif diff --git a/bin/named/win32/ntservice.c b/bin/named/win32/ntservice.c index 986993f4f1..70ced86569 100644 --- a/bin/named/win32/ntservice.c +++ b/bin/named/win32/ntservice.c @@ -18,33 +18,36 @@ #include #include -#include #include +#include #include /* Handle to SCM for updating service status */ static SERVICE_STATUS_HANDLE hServiceStatus = 0; -static BOOL foreground = FALSE; -static char ConsoleTitle[128]; +static BOOL foreground = FALSE; +static char ConsoleTitle[128]; /* * Forward declarations */ -void ServiceControl(DWORD dwCtrlCode); -int bindmain(int, char *[]); /* From main.c */ +void +ServiceControl(DWORD dwCtrlCode); +int +bindmain(int, char *[]); /* From main.c */ /* * Initialize the Service by registering it. */ void -ntservice_init(void) { +ntservice_init(void) +{ if (!foreground) { /* Register handler with the SCM */ - hServiceStatus = RegisterServiceCtrlHandler(BIND_SERVICE_NAME, - (LPHANDLER_FUNCTION)ServiceControl); + hServiceStatus = RegisterServiceCtrlHandler( + BIND_SERVICE_NAME, (LPHANDLER_FUNCTION)ServiceControl); if (!hServiceStatus) { - named_main_earlyfatal( - "could not register service control handler"); + named_main_earlyfatal("could not register service " + "control handler"); } UpdateSCM(SERVICE_RUNNING); } else { @@ -55,24 +58,27 @@ ntservice_init(void) { } void -ntservice_shutdown(void) { +ntservice_shutdown(void) +{ UpdateSCM(SERVICE_STOPPED); } /* * Routine to check if this is a service or a foreground program */ BOOL -ntservice_isservice(void) { - return(!foreground); +ntservice_isservice(void) +{ + return (!foreground); } /* * ServiceControl(): Handles requests from the SCM and passes them on * to named. */ void -ServiceControl(DWORD dwCtrlCode) { +ServiceControl(DWORD dwCtrlCode) +{ /* Handle the requested control code */ - switch(dwCtrlCode) { + switch (dwCtrlCode) { case SERVICE_CONTROL_INTERROGATE: UpdateSCM(0); break; @@ -91,9 +97,11 @@ ServiceControl(DWORD dwCtrlCode) { /* * Tell the Service Control Manager the state of the service. */ -void UpdateSCM(DWORD state) { +void +UpdateSCM(DWORD state) +{ SERVICE_STATUS ss; - static DWORD dwState = SERVICE_STOPPED; + static DWORD dwState = SERVICE_STOPPED; if (hServiceStatus) { if (state) @@ -125,15 +133,15 @@ void UpdateSCM(DWORD state) { * We can now call bindmain() explicitly or via StartServiceCtrlDispatcher() * as we need to. */ -int main(int argc, char *argv[]) +int +main(int argc, char *argv[]) { int rc, ch; /* Command line users should put -f in the options. */ isc_commandline_errprint = false; - while ((ch = isc_commandline_parse(argc, argv, - NAMED_MAIN_ARGS)) != -1) - { + while ((ch = isc_commandline_parse(argc, argv, NAMED_MAIN_ARGS)) != + -1) { switch (ch) { case 'f': case 'g': @@ -162,8 +170,8 @@ int main(int argc, char *argv[]) rc = StartServiceCtrlDispatcher(dispatchTable); if (!rc) { - fprintf(stderr, - "Use -f to run from the command line.\n"); + fprintf(stderr, "Use -f to run from the command " + "line.\n"); /* will be 1063 when launched as a console app */ exit(GetLastError()); } diff --git a/bin/named/win32/os.c b/bin/named/win32/os.c index 2365a6cc0a..963e6388ff 100644 --- a/bin/named/win32/os.c +++ b/bin/named/win32/os.c @@ -9,47 +9,45 @@ * information regarding copyright ownership. */ -#include - -#include -#include - #include #include +#include #include #include -#include +#include #include #include #include #include +#include #include #include #include -#include #include #include -#include -#include -#include #include +#include +#include #include - +#include +#include +#include static char *lockfile = NULL; static char *pidfile = NULL; -static int devnullfd = -1; -static int lockfilefd = -1; +static int devnullfd = -1; +static int lockfilefd = -1; static BOOL Initialized = FALSE; -static char *version_error = - "named requires Windows 2000 Service Pack 2 or later to run correctly"; +static char *version_error = "named requires Windows 2000 Service Pack 2 or " + "later to run correctly"; void -named_paths_init(void) { +named_paths_init(void) +{ if (!Initialized) isc_ntpaths_init(); @@ -69,11 +67,11 @@ named_paths_init(void) { * warn when it isn't. */ static void -version_check(const char *progname) { - +version_check(const char *progname) +{ if ((isc_win32os_versioncheck(4, 0, 0, 0) >= 0) && (isc_win32os_versioncheck(5, 0, 0, 0) < 0)) - return; /* No problem with Version 4.0 */ + return; /* No problem with Version 4.0 */ if (isc_win32os_versioncheck(5, 0, 2, 0) < 0) if (ntservice_isservice()) NTReportError(progname, version_error); @@ -82,7 +80,8 @@ version_check(const char *progname) { } static void -setup_syslog(const char *progname) { +setup_syslog(const char *progname) +{ int options; options = LOG_PID; @@ -94,7 +93,8 @@ setup_syslog(const char *progname) { } void -named_os_init(const char *progname) { +named_os_init(const char *progname) +{ named_paths_init(); setup_syslog(progname); /* @@ -121,7 +121,8 @@ named_os_init(const char *progname) { } void -named_os_daemonize(void) { +named_os_daemonize(void) +{ /* * Try to set stdin, stdout, and stderr to /dev/null, but press * on even if it fails. @@ -143,14 +144,15 @@ named_os_daemonize(void) { } void -named_os_opendevnull(void) { +named_os_opendevnull(void) +{ devnullfd = open("NUL", O_RDWR, 0); } void -named_os_closedevnull(void) { - if (devnullfd != _fileno(stdin) && - devnullfd != _fileno(stdout) && +named_os_closedevnull(void) +{ + if (devnullfd != _fileno(stdin) && devnullfd != _fileno(stdout) && devnullfd != _fileno(stderr)) { close(devnullfd); devnullfd = -1; @@ -158,35 +160,42 @@ named_os_closedevnull(void) { } void -named_os_chroot(const char *root) { +named_os_chroot(const char *root) +{ if (root != NULL) named_main_earlyfatal("chroot(): isn't supported by Win32 API"); } void -named_os_inituserinfo(const char *username) { +named_os_inituserinfo(const char *username) +{ } void -named_os_changeuser(void) { +named_os_changeuser(void) +{ } unsigned int -ns_os_uid(void) { +ns_os_uid(void) +{ return (0); } void -named_os_adjustnofile(void) { +named_os_adjustnofile(void) +{ } void -named_os_minprivs(void) { +named_os_minprivs(void) +{ } static int -safe_open(const char *filename, int mode, bool append) { - int fd; +safe_open(const char *filename, int mode, bool append) +{ + int fd; struct stat sb; if (stat(filename, &sb) == -1) { @@ -196,16 +205,17 @@ safe_open(const char *filename, int mode, bool append) { return (-1); if (append) - fd = open(filename, O_WRONLY|O_CREAT|O_APPEND, mode); + fd = open(filename, O_WRONLY | O_CREAT | O_APPEND, mode); else { (void)unlink(filename); - fd = open(filename, O_WRONLY|O_CREAT|O_EXCL, mode); + fd = open(filename, O_WRONLY | O_CREAT | O_EXCL, mode); } return (fd); } static void -cleanup_pidfile(void) { +cleanup_pidfile(void) +{ if (pidfile != NULL) { (void)unlink(pidfile); free(pidfile); @@ -214,7 +224,8 @@ cleanup_pidfile(void) { } static void -cleanup_lockfile(void) { +cleanup_lockfile(void) +{ if (lockfilefd != -1) { close(lockfilefd); lockfilefd = -1; @@ -231,10 +242,11 @@ cleanup_lockfile(void) { } FILE * -named_os_openfile(const char *filename, int mode, bool switch_user) { - char strbuf[ISC_STRERRORSIZE]; +named_os_openfile(const char *filename, int mode, bool switch_user) +{ + char strbuf[ISC_STRERRORSIZE]; FILE *fp; - int fd; + int fd; UNUSED(switch_user); fd = safe_open(filename, mode, false); @@ -257,10 +269,11 @@ named_os_openfile(const char *filename, int mode, bool switch_user) { } void -named_os_writepidfile(const char *filename, bool first_time) { +named_os_writepidfile(const char *filename, bool first_time) +{ FILE *pidlockfile; pid_t pid; - char strbuf[ISC_STRERRORSIZE]; + char strbuf[ISC_STRERRORSIZE]; void (*report)(const char *, ...); /* @@ -281,9 +294,8 @@ named_os_writepidfile(const char *filename, bool first_time) { return; } - pidlockfile = named_os_openfile(filename, - S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH, - false); + pidlockfile = named_os_openfile( + filename, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH, false); if (pidlockfile == NULL) { free(pidfile); pidfile = NULL; @@ -308,8 +320,9 @@ named_os_writepidfile(const char *filename, bool first_time) { } bool -named_os_issingleton(const char *filename) { - char strbuf[ISC_STRERRORSIZE]; +named_os_issingleton(const char *filename) +{ + char strbuf[ISC_STRERRORSIZE]; OVERLAPPED o; if (lockfilefd != -1) @@ -330,7 +343,7 @@ named_os_issingleton(const char *filename) { * files. We can't use that here. */ lockfilefd = open(filename, O_WRONLY | O_CREAT, - S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH); + S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); if (lockfilefd == -1) { cleanup_lockfile(); return (false); @@ -338,9 +351,9 @@ named_os_issingleton(const char *filename) { memset(&o, 0, sizeof(o)); /* Expect ERROR_LOCK_VIOLATION if already locked */ - if (!LockFileEx((HANDLE) _get_osfhandle(lockfilefd), - LOCKFILE_EXCLUSIVE_LOCK | LOCKFILE_FAIL_IMMEDIATELY, - 0, 0, 1, &o)) { + if (!LockFileEx((HANDLE)_get_osfhandle(lockfilefd), + LOCKFILE_EXCLUSIVE_LOCK | LOCKFILE_FAIL_IMMEDIATELY, 0, + 0, 1, &o)) { cleanup_lockfile(); return (false); } @@ -348,23 +361,24 @@ named_os_issingleton(const char *filename) { return (true); } - void -named_os_shutdown(void) { +named_os_shutdown(void) +{ closelog(); cleanup_pidfile(); if (lockfilefd != -1) { - (void) UnlockFile((HANDLE) _get_osfhandle(lockfilefd), - 0, 0, 0, 1); + (void)UnlockFile((HANDLE)_get_osfhandle(lockfilefd), 0, 0, 0, + 1); } cleanup_lockfile(); - ntservice_shutdown(); /* This MUST be the last thing done */ + ntservice_shutdown(); /* This MUST be the last thing done */ } isc_result_t -named_os_gethostname(char *buf, size_t len) { +named_os_gethostname(char *buf, size_t len) +{ int n; n = gethostname(buf, (int)len); @@ -372,34 +386,38 @@ named_os_gethostname(char *buf, size_t len) { } void -named_os_shutdownmsg(char *command, isc_buffer_t *text) { +named_os_shutdownmsg(char *command, isc_buffer_t *text) +{ UNUSED(command); UNUSED(text); } void -named_os_tzset(void) { +named_os_tzset(void) +{ #ifdef HAVE_TZSET tzset(); #endif } void -named_os_started(void) { +named_os_started(void) +{ ntservice_init(); } -static char unamebuf[BUFSIZ]; +static char unamebuf[BUFSIZ]; static char *unamep = NULL; static void -getuname(void) { - DWORD fvilen; - char *fvi; +getuname(void) +{ + DWORD fvilen; + char * fvi; VS_FIXEDFILEINFO *ffi; - UINT ffilen; - SYSTEM_INFO sysinfo; - char *arch; + UINT ffilen; + SYSTEM_INFO sysinfo; + char * arch; fvi = NULL; fvilen = GetFileVersionInfoSize("kernel32.dll", 0); @@ -416,8 +434,8 @@ getuname(void) { } ffi = NULL; ffilen = 0; - if ((VerQueryValue(fvi, "\\", &ffi, &ffilen) == 0) || - (ffi == NULL) || (ffilen == 0)) { + if ((VerQueryValue(fvi, "\\", &ffi, &ffilen) == 0) || (ffi == NULL) || + (ffilen == 0)) { goto err; } memset(&sysinfo, 0, sizeof(sysinfo)); @@ -445,10 +463,9 @@ getuname(void) { (ffi->dwProductVersionMS >> 16) & 0xffff, ffi->dwProductVersionMS & 0xffff, (ffi->dwProductVersionLS >> 16) & 0xffff, - ffi->dwProductVersionLS & 0xffff, - arch); + ffi->dwProductVersionLS & 0xffff, arch); - err: +err: if (fvi != NULL) { free(fvi); } @@ -460,7 +477,8 @@ getuname(void) { * so we had to switch to the recommended way to get the Windows version. */ char * -named_os_uname(void) { +named_os_uname(void) +{ if (unamep == NULL) getuname(); return (unamep); diff --git a/bin/named/zoneconf.c b/bin/named/zoneconf.c index cb0ec51fcf..b3f938246f 100644 --- a/bin/named/zoneconf.c +++ b/bin/named/zoneconf.c @@ -17,22 +17,22 @@ #include #include #include -#include /* Required for HP/UX (and others?) */ +#include /* Required for HP/UX (and others?) */ #include #include #include -#include #include +#include #include #include #include -#include #include +#include #include -#include -#include #include +#include +#include #include #include #include @@ -59,16 +59,18 @@ typedef enum { allow_update_forwarding } acl_type_t; -#define RETERR(x) do { \ - isc_result_t _r = (x); \ - if (_r != ISC_R_SUCCESS) \ - return (_r); \ +#define RETERR(x) \ + do { \ + isc_result_t _r = (x); \ + if (_r != ISC_R_SUCCESS) \ + return (_r); \ } while (0) -#define CHECK(x) do { \ - result = (x); \ - if (result != ISC_R_SUCCESS) \ - goto cleanup; \ +#define CHECK(x) \ + do { \ + result = (x); \ + if (result != ISC_R_SUCCESS) \ + goto cleanup; \ } while (0) /*% @@ -81,48 +83,48 @@ configure_zone_acl(const cfg_obj_t *zconfig, const cfg_obj_t *vconfig, void (*setzacl)(dns_zone_t *, dns_acl_t *), void (*clearzacl)(dns_zone_t *)) { - isc_result_t result; - const cfg_obj_t *maps[5] = {NULL, NULL, NULL, NULL, NULL}; + isc_result_t result; + const cfg_obj_t *maps[5] = { NULL, NULL, NULL, NULL, NULL }; const cfg_obj_t *aclobj = NULL; - int i = 0; - dns_acl_t **aclp = NULL, *acl = NULL; - const char *aclname; - dns_view_t *view; + int i = 0; + dns_acl_t ** aclp = NULL, *acl = NULL; + const char * aclname; + dns_view_t * view; view = dns_zone_getview(zone); switch (acltype) { - case allow_notify: + case allow_notify: if (view != NULL) aclp = &view->notifyacl; aclname = "allow-notify"; break; - case allow_query: + case allow_query: if (view != NULL) aclp = &view->queryacl; aclname = "allow-query"; break; - case allow_query_on: + case allow_query_on: if (view != NULL) aclp = &view->queryonacl; aclname = "allow-query-on"; break; - case allow_transfer: + case allow_transfer: if (view != NULL) aclp = &view->transferacl; aclname = "allow-transfer"; break; - case allow_update: + case allow_update: if (view != NULL) aclp = &view->updateacl; aclname = "allow-update"; break; - case allow_update_forwarding: + case allow_update_forwarding: if (view != NULL) aclp = &view->upfwdacl; aclname = "allow-update-forwarding"; break; - default: + default: INSIST(0); ISC_UNREACHABLE(); } @@ -186,12 +188,12 @@ static isc_result_t configure_zone_ssutable(const cfg_obj_t *zconfig, dns_zone_t *zone, const char *zname) { - const cfg_obj_t *updatepolicy = NULL; + const cfg_obj_t * updatepolicy = NULL; const cfg_listelt_t *element, *element2; - dns_ssutable_t *table = NULL; - isc_mem_t *mctx = dns_zone_getmctx(zone); - bool autoddns = false; - isc_result_t result; + dns_ssutable_t * table = NULL; + isc_mem_t * mctx = dns_zone_getmctx(zone); + bool autoddns = false; + isc_result_t result; (void)cfg_map_get(zconfig, "update-policy", &updatepolicy); @@ -210,24 +212,22 @@ configure_zone_ssutable(const cfg_obj_t *zconfig, dns_zone_t *zone, if (result != ISC_R_SUCCESS) return (result); - for (element = cfg_list_first(updatepolicy); - element != NULL; - element = cfg_list_next(element)) - { - const cfg_obj_t *stmt = cfg_listelt_value(element); - const cfg_obj_t *mode = cfg_tuple_get(stmt, "mode"); - const cfg_obj_t *identity = cfg_tuple_get(stmt, "identity"); - const cfg_obj_t *matchtype = cfg_tuple_get(stmt, "matchtype"); - const cfg_obj_t *dname = cfg_tuple_get(stmt, "name"); - const cfg_obj_t *typelist = cfg_tuple_get(stmt, "types"); - const char *str; - bool grant = false; - bool usezone = false; + for (element = cfg_list_first(updatepolicy); element != NULL; + element = cfg_list_next(element)) { + const cfg_obj_t * stmt = cfg_listelt_value(element); + const cfg_obj_t * mode = cfg_tuple_get(stmt, "mode"); + const cfg_obj_t * identity = cfg_tuple_get(stmt, "identity"); + const cfg_obj_t * matchtype = cfg_tuple_get(stmt, "matchtype"); + const cfg_obj_t * dname = cfg_tuple_get(stmt, "name"); + const cfg_obj_t * typelist = cfg_tuple_get(stmt, "types"); + const char * str; + bool grant = false; + bool usezone = false; dns_ssumatchtype_t mtype = dns_ssumatchtype_name; - dns_fixedname_t fname, fident; - isc_buffer_t b; - dns_rdatatype_t *types; - unsigned int i, n; + dns_fixedname_t fname, fident; + isc_buffer_t b; + dns_rdatatype_t * types; + unsigned int i, n; str = cfg_obj_asstring(mode); if (strcasecmp(str, "grant") == 0) { @@ -260,7 +260,7 @@ configure_zone_ssutable(const cfg_obj_t *zconfig, dns_zone_t *zone, dns_fixedname_init(&fname); if (usezone) { dns_name_copynf(dns_zone_getorigin(zone), - dns_fixedname_name(&fname)); + dns_fixedname_name(&fname)); } else { str = cfg_obj_asstring(dname); isc_buffer_constinit(&b, str, strlen(str)); @@ -283,10 +283,8 @@ configure_zone_ssutable(const cfg_obj_t *zconfig, dns_zone_t *zone, } i = 0; - for (element2 = cfg_list_first(typelist); - element2 != NULL; - element2 = cfg_list_next(element2)) - { + for (element2 = cfg_list_first(typelist); element2 != NULL; + element2 = cfg_list_next(element2)) { const cfg_obj_t *typeobj; isc_textregion_t r; @@ -309,11 +307,9 @@ configure_zone_ssutable(const cfg_obj_t *zconfig, dns_zone_t *zone, } INSIST(i == n); - result = dns_ssutable_addrule(table, grant, - dns_fixedname_name(&fident), - mtype, - dns_fixedname_name(&fname), - n, types); + result = dns_ssutable_addrule( + table, grant, dns_fixedname_name(&fident), mtype, + dns_fixedname_name(&fname), n, types); if (types != NULL) isc_mem_put(mctx, types, n * sizeof(dns_rdatatype_t)); if (result != ISC_R_SUCCESS) { @@ -339,11 +335,10 @@ configure_zone_ssutable(const cfg_obj_t *zconfig, dns_zone_t *zone, goto cleanup; } - result = dns_ssutable_addrule(table, true, - named_g_server->session_keyname, - dns_ssumatchtype_local, - dns_zone_getorigin(zone), - 1, &any); + result = dns_ssutable_addrule( + table, true, named_g_server->session_keyname, + dns_ssumatchtype_local, dns_zone_getorigin(zone), 1, + &any); if (result != ISC_R_SUCCESS) goto cleanup; @@ -352,7 +347,7 @@ configure_zone_ssutable(const cfg_obj_t *zconfig, dns_zone_t *zone, result = ISC_R_SUCCESS; dns_zone_setssutable(zone, table); - cleanup: +cleanup: dns_ssutable_detach(&table); return (result); } @@ -379,19 +374,17 @@ configure_staticstub_serveraddrs(const cfg_obj_t *zconfig, dns_zone_t *zone, dns_rdatalist_t *rdatalist_aaaa) { const cfg_listelt_t *element; - isc_mem_t *mctx = dns_zone_getmctx(zone); - isc_region_t region, sregion; - dns_rdata_t *rdata; - isc_result_t result = ISC_R_SUCCESS; + isc_mem_t * mctx = dns_zone_getmctx(zone); + isc_region_t region, sregion; + dns_rdata_t * rdata; + isc_result_t result = ISC_R_SUCCESS; - for (element = cfg_list_first(zconfig); - element != NULL; - element = cfg_list_next(element)) - { - const isc_sockaddr_t* sa; - isc_netaddr_t na; - const cfg_obj_t *address = cfg_listelt_value(element); - dns_rdatalist_t *rdatalist; + for (element = cfg_list_first(zconfig); element != NULL; + element = cfg_list_next(element)) { + const isc_sockaddr_t *sa; + isc_netaddr_t na; + const cfg_obj_t * address = cfg_listelt_value(element); + dns_rdatalist_t * rdatalist; sa = cfg_obj_assockaddr(address); if (isc_sockaddr_getport(sa) != 0) { @@ -403,9 +396,9 @@ configure_staticstub_serveraddrs(const cfg_obj_t *zconfig, dns_zone_t *zone, isc_netaddr_fromsockaddr(&na, sa); if (isc_netaddr_getzone(&na) != 0) { cfg_obj_log(zconfig, named_g_lctx, ISC_LOG_ERROR, - "scoped address is not allowed " - "for static stub " - "server-addresses"); + "scoped address is not allowed " + "for static stub " + "server-addresses"); return (ISC_R_FAILURE); } @@ -446,8 +439,8 @@ configure_staticstub_serveraddrs(const cfg_obj_t *zconfig, dns_zone_t *zone, region.base = (unsigned char *)(rdata + 1); memmove(region.base, sregion.base, region.length); dns_rdata_init(rdata); - dns_rdata_fromregion(rdata, dns_zone_getclass(zone), - dns_rdatatype_ns, ®ion); + dns_rdata_fromregion(rdata, dns_zone_getclass(zone), dns_rdatatype_ns, + ®ion); ISC_LIST_APPEND(rdatalist_ns->rdata, rdata, link); return (result); @@ -464,20 +457,18 @@ configure_staticstub_servernames(const cfg_obj_t *zconfig, dns_zone_t *zone, dns_rdatalist_t *rdatalist, const char *zname) { const cfg_listelt_t *element; - isc_mem_t *mctx = dns_zone_getmctx(zone); - dns_rdata_t *rdata; - isc_region_t sregion, region; - isc_result_t result = ISC_R_SUCCESS; + isc_mem_t * mctx = dns_zone_getmctx(zone); + dns_rdata_t * rdata; + isc_region_t sregion, region; + isc_result_t result = ISC_R_SUCCESS; - for (element = cfg_list_first(zconfig); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(zconfig); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *obj; - const char *str; - dns_fixedname_t fixed_name; - dns_name_t *nsname; - isc_buffer_t b; + const char * str; + dns_fixedname_t fixed_name; + dns_name_t * nsname; + isc_buffer_t b; obj = cfg_listelt_value(element); str = cfg_obj_asstring(obj); @@ -489,8 +480,9 @@ configure_staticstub_servernames(const cfg_obj_t *zconfig, dns_zone_t *zone, result = dns_name_fromtext(nsname, &b, dns_rootname, 0, NULL); if (result != ISC_R_SUCCESS) { cfg_obj_log(zconfig, named_g_lctx, ISC_LOG_ERROR, - "server-name '%s' is not a valid " - "name", str); + "server-name '%s' is not a valid " + "name", + str); return (result); } if (dns_name_issubdomain(nsname, dns_zone_getorigin(zone))) { @@ -522,26 +514,25 @@ static isc_result_t configure_staticstub(const cfg_obj_t *zconfig, dns_zone_t *zone, const char *zname, const char *dbtype) { - int i = 0; + int i = 0; const cfg_obj_t *obj; - isc_mem_t *mctx = dns_zone_getmctx(zone); - dns_db_t *db = NULL; + isc_mem_t * mctx = dns_zone_getmctx(zone); + dns_db_t * db = NULL; dns_dbversion_t *dbversion = NULL; - dns_dbnode_t *apexnode = NULL; - dns_name_t apexname; - isc_result_t result; - dns_rdataset_t rdataset; - dns_rdatalist_t rdatalist_ns, rdatalist_a, rdatalist_aaaa; - dns_rdatalist_t* rdatalists[] = { - &rdatalist_ns, &rdatalist_a, &rdatalist_aaaa, NULL - }; - dns_rdata_t *rdata; - isc_region_t region; + dns_dbnode_t * apexnode = NULL; + dns_name_t apexname; + isc_result_t result; + dns_rdataset_t rdataset; + dns_rdatalist_t rdatalist_ns, rdatalist_a, rdatalist_aaaa; + dns_rdatalist_t *rdatalists[] = { &rdatalist_ns, &rdatalist_a, + &rdatalist_aaaa, NULL }; + dns_rdata_t * rdata; + isc_region_t region; /* Create the DB beforehand */ RETERR(dns_db_create(mctx, dbtype, dns_zone_getorigin(zone), - dns_dbtype_stub, dns_zone_getclass(zone), - 0, NULL, &db)); + dns_dbtype_stub, dns_zone_getclass(zone), 0, NULL, + &db)); dns_rdataset_init(&rdataset); @@ -565,8 +556,7 @@ configure_staticstub(const cfg_obj_t *zconfig, dns_zone_t *zone, result = cfg_map_get(zconfig, "server-addresses", &obj); if (result == ISC_R_SUCCESS) { INSIST(obj != NULL); - CHECK(configure_staticstub_serveraddrs(obj, zone, - &rdatalist_ns, + CHECK(configure_staticstub_serveraddrs(obj, zone, &rdatalist_ns, &rdatalist_a, &rdatalist_aaaa)); } @@ -575,8 +565,7 @@ configure_staticstub(const cfg_obj_t *zconfig, dns_zone_t *zone, result = cfg_map_get(zconfig, "server-names", &obj); if (result == ISC_R_SUCCESS) { INSIST(obj != NULL); - CHECK(configure_staticstub_servernames(obj, zone, - &rdatalist_ns, + CHECK(configure_staticstub_servernames(obj, zone, &rdatalist_ns, zname)); } @@ -588,7 +577,8 @@ configure_staticstub(const cfg_obj_t *zconfig, dns_zone_t *zone, isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "No NS record is configured for a " - "static-stub zone '%s'", zname); + "static-stub zone '%s'", + zname); result = ISC_R_FAILURE; goto cleanup; } @@ -605,28 +595,29 @@ configure_staticstub(const cfg_obj_t *zconfig, dns_zone_t *zone, CHECK(dns_db_findnode(db, &apexname, false, &apexnode)); /* Add NS RRset */ - RUNTIME_CHECK(dns_rdatalist_tordataset(&rdatalist_ns, &rdataset) - == ISC_R_SUCCESS); - CHECK(dns_db_addrdataset(db, apexnode, dbversion, 0, &rdataset, - 0, NULL)); + RUNTIME_CHECK(dns_rdatalist_tordataset(&rdatalist_ns, &rdataset) == + ISC_R_SUCCESS); + CHECK(dns_db_addrdataset(db, apexnode, dbversion, 0, &rdataset, 0, + NULL)); dns_rdataset_disassociate(&rdataset); /* Add glue A RRset, if any */ if (!ISC_LIST_EMPTY(rdatalist_a.rdata)) { - RUNTIME_CHECK(dns_rdatalist_tordataset(&rdatalist_a, &rdataset) - == ISC_R_SUCCESS); - CHECK(dns_db_addrdataset(db, apexnode, dbversion, 0, - &rdataset, 0, NULL)); + RUNTIME_CHECK( + dns_rdatalist_tordataset(&rdatalist_a, &rdataset) == + ISC_R_SUCCESS); + CHECK(dns_db_addrdataset(db, apexnode, dbversion, 0, &rdataset, + 0, NULL)); dns_rdataset_disassociate(&rdataset); } /* Add glue AAAA RRset, if any */ if (!ISC_LIST_EMPTY(rdatalist_aaaa.rdata)) { - RUNTIME_CHECK(dns_rdatalist_tordataset(&rdatalist_aaaa, - &rdataset) - == ISC_R_SUCCESS); - CHECK(dns_db_addrdataset(db, apexnode, dbversion, 0, - &rdataset, 0, NULL)); + RUNTIME_CHECK( + dns_rdatalist_tordataset(&rdatalist_aaaa, &rdataset) == + ISC_R_SUCCESS); + CHECK(dns_db_addrdataset(db, apexnode, dbversion, 0, &rdataset, + 0, NULL)); dns_rdataset_disassociate(&rdataset); } @@ -635,7 +626,7 @@ configure_staticstub(const cfg_obj_t *zconfig, dns_zone_t *zone, result = ISC_R_SUCCESS; - cleanup: +cleanup: if (dns_rdataset_isassociated(&rdataset)) { dns_rdataset_disassociate(&rdataset); } @@ -666,9 +657,10 @@ configure_staticstub(const cfg_obj_t *zconfig, dns_zone_t *zone, * Convert a config file zone type into a server zone type. */ static inline dns_zonetype_t -zonetype_fromconfig(const cfg_obj_t *map) { +zonetype_fromconfig(const cfg_obj_t *map) +{ const cfg_obj_t *obj = NULL; - isc_result_t result; + isc_result_t result; result = cfg_map_get(map, "type", &obj); INSIST(result == ISC_R_SUCCESS && obj != NULL); @@ -679,8 +671,8 @@ zonetype_fromconfig(const cfg_obj_t *map) { * Helper function for strtoargv(). Pardon the gratuitous recursion. */ static isc_result_t -strtoargvsub(isc_mem_t *mctx, char *s, unsigned int *argcp, - char ***argvp, unsigned int n) +strtoargvsub(isc_mem_t *mctx, char *s, unsigned int *argcp, char ***argvp, + unsigned int n) { isc_result_t result; @@ -715,15 +707,15 @@ strtoargvsub(isc_mem_t *mctx, char *s, unsigned int *argcp, * is modified in-place. */ static isc_result_t -strtoargv(isc_mem_t *mctx, char *s, unsigned int *argcp, char ***argvp) { +strtoargv(isc_mem_t *mctx, char *s, unsigned int *argcp, char ***argvp) +{ return (strtoargvsub(mctx, s, argcp, argvp, 0)); } static void -checknames(dns_zonetype_t ztype, const cfg_obj_t **maps, - const cfg_obj_t **objp) +checknames(dns_zonetype_t ztype, const cfg_obj_t **maps, const cfg_obj_t **objp) { - const char *zone = NULL; + const char * zone = NULL; isc_result_t result; switch (ztype) { @@ -751,16 +743,15 @@ checknames(dns_zonetype_t ztype, const cfg_obj_t **maps, * are updated when the appropriate task has exclusivity. */ static bool -isself(dns_view_t *myview, dns_tsigkey_t *mykey, - const isc_sockaddr_t *srcaddr, const isc_sockaddr_t *dstaddr, - dns_rdataclass_t rdclass, void *arg) +isself(dns_view_t *myview, dns_tsigkey_t *mykey, const isc_sockaddr_t *srcaddr, + const isc_sockaddr_t *dstaddr, dns_rdataclass_t rdclass, void *arg) { - ns_interfacemgr_t *interfacemgr = (ns_interfacemgr_t *) arg; - dns_aclenv_t *env = ns_interfacemgr_getaclenv(interfacemgr); - dns_view_t *view; - dns_tsigkey_t *key = NULL; - isc_netaddr_t netsrc; - isc_netaddr_t netdst; + ns_interfacemgr_t *interfacemgr = (ns_interfacemgr_t *)arg; + dns_aclenv_t * env = ns_interfacemgr_getaclenv(interfacemgr); + dns_view_t * view; + dns_tsigkey_t * key = NULL; + isc_netaddr_t netsrc; + isc_netaddr_t netdst; if (interfacemgr == NULL) return (true); @@ -771,10 +762,8 @@ isself(dns_view_t *myview, dns_tsigkey_t *mykey, isc_netaddr_fromsockaddr(&netsrc, srcaddr); isc_netaddr_fromsockaddr(&netdst, dstaddr); - for (view = ISC_LIST_HEAD(named_g_server->viewlist); - view != NULL; - view = ISC_LIST_NEXT(view, link)) - { + for (view = ISC_LIST_HEAD(named_g_server->viewlist); view != NULL; + view = ISC_LIST_NEXT(view, link)) { const dns_name_t *tsig = NULL; if (view->matchrecursiveonly) @@ -784,7 +773,7 @@ isself(dns_view_t *myview, dns_tsigkey_t *mykey, continue; if (mykey != NULL) { - bool match; + bool match; isc_result_t result; result = dns_view_gettsig(view, &mykey->name, &key); @@ -799,8 +788,7 @@ isself(dns_view_t *myview, dns_tsigkey_t *mykey, if (dns_acl_allowed(&netsrc, tsig, view->matchclients, env) && dns_acl_allowed(&netdst, tsig, view->matchdestinations, - env)) - { + env)) { break; } } @@ -833,7 +821,8 @@ process_notifytype(dns_notifytype_t ntype, dns_zonetype_t ztype, if (named_config_get(maps, "notify", &obj) == ISC_R_SUCCESS) { cfg_obj_log(obj, named_g_lctx, ISC_LOG_INFO, "'notify explicit;' will be used for mirror zone " - "'%s'", zname); + "'%s'", + zname); } return (dns_notifytype_explicit); @@ -845,47 +834,47 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, dns_kasplist_t *kasplist, dns_zone_t *zone, dns_zone_t *raw) { - isc_result_t result; - const char *zname; - dns_rdataclass_t zclass; - dns_rdataclass_t vclass; - const cfg_obj_t *maps[5]; - const cfg_obj_t *nodefault[4]; - const cfg_obj_t *zoptions = NULL; - const cfg_obj_t *options = NULL; - const cfg_obj_t *obj; - const char *filename = NULL; - const char *kaspname = NULL; - const char *dupcheck; - dns_notifytype_t notifytype = dns_notifytype_yes; - uint32_t count; - unsigned int dbargc; - char **dbargv; - static char default_dbtype[] = "rbt"; - static char dlz_dbtype[] = "dlz"; - char *cpval = default_dbtype; - isc_mem_t *mctx = dns_zone_getmctx(zone); - dns_dialuptype_t dialup = dns_dialuptype_no; - dns_zonetype_t ztype; - int i; - int32_t journal_size; - bool multi; - bool alt; - dns_view_t *view = NULL; - dns_kasp_t *kasp = NULL; - bool check = false, fail = false; - bool warn = false, ignore = false; - bool ixfrdiff; - dns_masterformat_t masterformat; + isc_result_t result; + const char * zname; + dns_rdataclass_t zclass; + dns_rdataclass_t vclass; + const cfg_obj_t * maps[5]; + const cfg_obj_t * nodefault[4]; + const cfg_obj_t * zoptions = NULL; + const cfg_obj_t * options = NULL; + const cfg_obj_t * obj; + const char * filename = NULL; + const char * kaspname = NULL; + const char * dupcheck; + dns_notifytype_t notifytype = dns_notifytype_yes; + uint32_t count; + unsigned int dbargc; + char ** dbargv; + static char default_dbtype[] = "rbt"; + static char dlz_dbtype[] = "dlz"; + char * cpval = default_dbtype; + isc_mem_t * mctx = dns_zone_getmctx(zone); + dns_dialuptype_t dialup = dns_dialuptype_no; + dns_zonetype_t ztype; + int i; + int32_t journal_size; + bool multi; + bool alt; + dns_view_t * view = NULL; + dns_kasp_t * kasp = NULL; + bool check = false, fail = false; + bool warn = false, ignore = false; + bool ixfrdiff; + dns_masterformat_t masterformat; const dns_master_style_t *masterstyle = &dns_master_style_default; - isc_stats_t *zoneqrystats; - dns_stats_t *rcvquerystats; - dns_stats_t *dnssecsignstats; - dns_stats_t *dnssecrefreshstats; - dns_zonestat_level_t statlevel = dns_zonestat_none; - int seconds; - dns_zone_t *mayberaw = (raw != NULL) ? raw : zone; - isc_dscp_t dscp; + isc_stats_t * zoneqrystats; + dns_stats_t * rcvquerystats; + dns_stats_t * dnssecsignstats; + dns_stats_t * dnssecrefreshstats; + dns_zonestat_level_t statlevel = dns_zonestat_none; + int seconds; + dns_zone_t * mayberaw = (raw != NULL) ? raw : zone; + isc_dscp_t dscp; i = 0; if (zconfig != NULL) { @@ -910,7 +899,7 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, if (vconfig != NULL) RETERR(named_config_getclass(cfg_tuple_get(vconfig, "class"), - dns_rdataclass_in, &vclass)); + dns_rdataclass_in, &vclass)); else vclass = dns_rdataclass_in; @@ -920,8 +909,8 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, zname = cfg_obj_asstring(cfg_tuple_get(zconfig, "name")); - RETERR(named_config_getclass(cfg_tuple_get(zconfig, "class"), - vclass, &zclass)); + RETERR(named_config_getclass(cfg_tuple_get(zconfig, "class"), vclass, + &zclass)); dns_zone_setclass(zone, zclass); if (raw != NULL) dns_zone_setclass(raw, zclass); @@ -938,20 +927,21 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, if (result == ISC_R_SUCCESS) cpval = isc_mem_strdup(mctx, cfg_obj_asstring(obj)); if (cpval == NULL) - return(ISC_R_NOMEMORY); + return (ISC_R_NOMEMORY); obj = NULL; result = cfg_map_get(zoptions, "dlz", &obj); if (result == ISC_R_SUCCESS) { const char *dlzname = cfg_obj_asstring(obj); - size_t len; + size_t len; if (cpval != default_dbtype) { - isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, - NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, - "zone '%s': both 'database' and 'dlz' " - "specified", zname); - return (ISC_R_FAILURE); + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, + "zone '%s': both 'database' and 'dlz' " + "specified", + zname); + return (ISC_R_FAILURE); } len = strlen(dlzname) + 5; @@ -970,7 +960,7 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, * cannot be promoted automatically to (const char * const *) by the * compiler w/o generating a warning. */ - dns_zone_setdbtype(zone, dbargc, (const char * const *)dbargv); + dns_zone_setdbtype(zone, dbargc, (const char *const *)dbargv); isc_mem_put(mctx, dbargv, dbargc * sizeof(*dbargv)); if (cpval != default_dbtype && cpval != dlz_dbtype) { isc_mem_free(mctx, cpval); @@ -989,8 +979,7 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, filename == NULL) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, - "zone '%s': 'file' not specified", - zname); + "zone '%s': 'file' not specified", zname); return (ISC_R_FAILURE); } @@ -1024,7 +1013,8 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, cfg_obj_log(obj, named_g_lctx, ISC_LOG_ERROR, "zone '%s': 'masterfile-style' " "can only be used with " - "'masterfile-format text'", zname); + "'masterfile-format text'", + zname); return (ISC_R_FAILURE); } @@ -1044,10 +1034,11 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR, "zone '%s': 'max-zone-ttl' is not compatible " - "with 'masterfile-format map'", zname); + "with 'masterfile-format map'", + zname); return (ISC_R_FAILURE); } else if (result == ISC_R_SUCCESS) { - dns_ttl_t maxttl = 0; /* unlimited */ + dns_ttl_t maxttl = 0; /* unlimited */ if (cfg_obj_isduration(obj)) maxttl = cfg_obj_asduration(obj); @@ -1066,10 +1057,10 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, if (raw != NULL && filename != NULL) { #define SIGNED ".signed" size_t signedlen = strlen(filename) + sizeof(SIGNED); - char *signedname; + char * signedname; - RETERR(dns_zone_setfile(raw, filename, - masterformat, masterstyle)); + RETERR(dns_zone_setfile(raw, filename, masterformat, + masterstyle)); signedname = isc_mem_get(mctx, signedlen); (void)snprintf(signedname, signedlen, "%s" SIGNED, filename); @@ -1079,8 +1070,8 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, if (result != ISC_R_SUCCESS) return (result); } else - RETERR(dns_zone_setfile(zone, filename, - masterformat, masterstyle)); + RETERR(dns_zone_setfile(zone, filename, masterformat, + masterstyle)); obj = NULL; result = cfg_map_get(zoptions, "journal", &obj); @@ -1091,22 +1082,19 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, * Notify messages are processed by the raw zone if it exists. */ if (ztype == dns_zone_slave || ztype == dns_zone_mirror) - RETERR(configure_zone_acl(zconfig, vconfig, config, - allow_notify, ac, mayberaw, - dns_zone_setnotifyacl, - dns_zone_clearnotifyacl)); + RETERR(configure_zone_acl( + zconfig, vconfig, config, allow_notify, ac, mayberaw, + dns_zone_setnotifyacl, dns_zone_clearnotifyacl)); /* * XXXAG This probably does not make sense for stubs. */ - RETERR(configure_zone_acl(zconfig, vconfig, config, - allow_query, ac, zone, - dns_zone_setqueryacl, + RETERR(configure_zone_acl(zconfig, vconfig, config, allow_query, ac, + zone, dns_zone_setqueryacl, dns_zone_clearqueryacl)); - RETERR(configure_zone_acl(zconfig, vconfig, config, - allow_query_on, ac, zone, - dns_zone_setqueryonacl, + RETERR(configure_zone_acl(zconfig, vconfig, config, allow_query_on, ac, + zone, dns_zone_setqueryonacl, dns_zone_clearqueryonacl)); obj = NULL; @@ -1159,7 +1147,7 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, } dns_zone_setstatlevel(zone, statlevel); - zoneqrystats = NULL; + zoneqrystats = NULL; rcvquerystats = NULL; dnssecsignstats = NULL; dnssecrefreshstats = NULL; @@ -1170,7 +1158,7 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, RETERR(dns_dnssecsignstats_create(mctx, &dnssecsignstats)); RETERR(dns_dnssecsignstats_create(mctx, &dnssecrefreshstats)); } - dns_zone_setrequeststats(zone, zoneqrystats); + dns_zone_setrequeststats(zone, zoneqrystats); dns_zone_setrcvquerystats(zone, rcvquerystats); dns_zone_setdnssecsignstats(zone, dnssecsignstats); dns_zone_setdnssecrefreshstats(zone, dnssecrefreshstats); @@ -1178,14 +1166,14 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, if (zoneqrystats != NULL) isc_stats_detach(&zoneqrystats); - if(rcvquerystats != NULL) + if (rcvquerystats != NULL) dns_stats_detach(&rcvquerystats); - if(dnssecsignstats != NULL) { + if (dnssecsignstats != NULL) { dns_stats_detach(&dnssecsignstats); } - if(dnssecrefreshstats != NULL) { + if (dnssecrefreshstats != NULL) { dns_stats_detach(&dnssecrefreshstats); } @@ -1207,7 +1195,8 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, cfg_obj_log(obj, named_g_lctx, ISC_LOG_ERROR, "'dnssec-policy '%s' not " - "found ", kaspname); + "found ", + kaspname); RETERR(result); } dns_zone_setkasp(zone, kasp); @@ -1233,8 +1222,8 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, ISC_UNREACHABLE(); } } - notifytype = process_notifytype(notifytype, ztype, zname, - nodefault); + notifytype = + process_notifytype(notifytype, ztype, zname, nodefault); if (raw != NULL) dns_zone_setnotifytype(raw, dns_notifytype_no); dns_zone_setnotifytype(zone, notifytype); @@ -1245,18 +1234,15 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, (notifytype == dns_notifytype_yes || notifytype == dns_notifytype_explicit || (notifytype == dns_notifytype_masteronly && - ztype == dns_zone_master))) - { + ztype == dns_zone_master))) { dns_ipkeylist_t ipkl; dns_ipkeylist_init(&ipkl); RETERR(named_config_getipandkeylist(config, obj, mctx, - &ipkl)); - result = dns_zone_setalsonotifydscpkeys(zone, - ipkl.addrs, - ipkl.dscps, - ipkl.keys, - ipkl.count); + &ipkl)); + result = dns_zone_setalsonotifydscpkeys( + zone, ipkl.addrs, ipkl.dscps, ipkl.keys, + ipkl.count); dns_ipkeylist_clear(mctx, &ipkl); RETERR(result); } else @@ -1292,10 +1278,9 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, dns_zone_setisself(zone, isself, named_g_server->interfacemgr); - RETERR(configure_zone_acl(zconfig, vconfig, config, - allow_transfer, ac, zone, - dns_zone_setxfracl, - dns_zone_clearxfracl)); + RETERR(configure_zone_acl( + zconfig, vconfig, config, allow_transfer, ac, zone, + dns_zone_setxfracl, dns_zone_clearxfracl)); obj = NULL; result = named_config_get(maps, "max-transfer-time-out", &obj); @@ -1325,8 +1310,7 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, isc_resourcevalue_t value; value = cfg_obj_asuint64(obj); if (value > DNS_JOURNAL_SIZE_MAX) { - cfg_obj_log(obj, named_g_lctx, - ISC_LOG_ERROR, + cfg_obj_log(obj, named_g_lctx, ISC_LOG_ERROR, "'max-journal-size " "%" PRId64 "' " "is too large", @@ -1344,19 +1328,14 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, INSIST(result == ISC_R_SUCCESS && obj != NULL); if (cfg_obj_isboolean(obj)) { ixfrdiff = cfg_obj_asboolean(obj); - } else if ((strcasecmp(cfg_obj_asstring(obj), - "primary") == 0 || - strcasecmp(cfg_obj_asstring(obj), - "master") == 0) && - ztype == dns_zone_master) - { + } else if ((strcasecmp(cfg_obj_asstring(obj), "primary") == 0 || + strcasecmp(cfg_obj_asstring(obj), "master") == 0) && + ztype == dns_zone_master) { ixfrdiff = true; - } else if ((strcasecmp(cfg_obj_asstring(obj), - "secondary") == 0 || - strcasecmp(cfg_obj_asstring(obj), - "slave") == 0) && - ztype == dns_zone_slave) - { + } else if ((strcasecmp(cfg_obj_asstring(obj), "secondary") == + 0 || + strcasecmp(cfg_obj_asstring(obj), "slave") == 0) && + ztype == dns_zone_slave) { ixfrdiff = true; } else { ixfrdiff = false; @@ -1394,17 +1373,14 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, ISC_UNREACHABLE(); } if (raw != NULL) { - dns_zone_setoption(raw, DNS_ZONEOPT_CHECKNAMES, - check); + dns_zone_setoption(raw, DNS_ZONEOPT_CHECKNAMES, check); dns_zone_setoption(raw, DNS_ZONEOPT_CHECKNAMESFAIL, fail); - dns_zone_setoption(zone, DNS_ZONEOPT_CHECKNAMES, - false); + dns_zone_setoption(zone, DNS_ZONEOPT_CHECKNAMES, false); dns_zone_setoption(zone, DNS_ZONEOPT_CHECKNAMESFAIL, false); } else { - dns_zone_setoption(zone, DNS_ZONEOPT_CHECKNAMES, - check); + dns_zone_setoption(zone, DNS_ZONEOPT_CHECKNAMES, check); dns_zone_setoption(zone, DNS_ZONEOPT_CHECKNAMESFAIL, fail); } @@ -1462,8 +1438,7 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, isc_resourcevalue_t value; value = cfg_obj_asuint64(obj); if (value > DNS_JOURNAL_SIZE_MAX) { - cfg_obj_log(obj, named_g_lctx, - ISC_LOG_ERROR, + cfg_obj_log(obj, named_g_lctx, ISC_LOG_ERROR, "'max-journal-size " "%" PRId64 "' " "is too large", @@ -1482,13 +1457,12 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, if (ztype == dns_zone_master) { dns_acl_t *updateacl; - RETERR(configure_zone_acl(zconfig, vconfig, config, - allow_update, ac, mayberaw, - dns_zone_setupdateacl, - dns_zone_clearupdateacl)); + RETERR(configure_zone_acl( + zconfig, vconfig, config, allow_update, ac, mayberaw, + dns_zone_setupdateacl, dns_zone_clearupdateacl)); updateacl = dns_zone_getupdateacl(mayberaw); - if (updateacl != NULL && dns_acl_isinsecure(updateacl)) + if (updateacl != NULL && dns_acl_isinsecure(updateacl)) isc_log_write(named_g_lctx, DNS_LOGCATEGORY_SECURITY, NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING, "zone '%s' allows unsigned updates " @@ -1500,11 +1474,11 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, if (ztype == dns_zone_master || raw != NULL) { const cfg_obj_t *validity, *resign; - bool allow = false, maint = false; - bool sigvalinsecs; + bool allow = false, maint = false; + bool sigvalinsecs; if (kasp) { - seconds = (uint32_t) dns_kasp_sigvalidity_dnskey(kasp); + seconds = (uint32_t)dns_kasp_sigvalidity_dnskey(kasp); } else { obj = NULL; result = named_config_get(maps, "dnskey-sig-validity", @@ -1515,18 +1489,18 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, dns_zone_setkeyvalidityinterval(zone, seconds); if (kasp) { - seconds = (uint32_t) dns_kasp_sigvalidity(kasp); + seconds = (uint32_t)dns_kasp_sigvalidity(kasp); dns_zone_setsigvalidityinterval(zone, seconds); - seconds = (uint32_t) dns_kasp_sigrefresh(kasp); + seconds = (uint32_t)dns_kasp_sigrefresh(kasp); dns_zone_setsigresigninginterval(zone, seconds); } else { obj = NULL; result = named_config_get(maps, "sig-validity-interval", - &obj); + &obj); INSIST(result == ISC_R_SUCCESS && obj != NULL); - sigvalinsecs = ns_server_getoption(named_g_server->sctx, - NS_SERVER_SIGVALINSECS); + sigvalinsecs = ns_server_getoption( + named_g_server->sctx, NS_SERVER_SIGVALINSECS); validity = cfg_tuple_get(obj, "validity"); seconds = cfg_obj_asuint32(validity); if (!sigvalinsecs) { @@ -1625,8 +1599,8 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, if (ztype == dns_zone_slave || ztype == dns_zone_mirror) { RETERR(configure_zone_acl(zconfig, vconfig, config, - allow_update_forwarding, ac, - mayberaw, dns_zone_setforwardacl, + allow_update_forwarding, ac, mayberaw, + dns_zone_setforwardacl, dns_zone_clearforwardacl)); } @@ -1655,13 +1629,11 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, dupcheck = cfg_obj_asstring(obj); } else { result = named_config_get(nodefault, - "check-dup-records", - &obj); + "check-dup-records", &obj); if (result == ISC_R_SUCCESS) dupcheck = cfg_obj_asstring(obj); else dupcheck = "ignore"; - } if (strcasecmp(dupcheck, "warn") == 0) { fail = false; @@ -1701,15 +1673,15 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, */ obj = NULL; if (masterformat != dns_masterformat_map) { - result = named_config_get(maps, "check-integrity", - &obj); + result = + named_config_get(maps, "check-integrity", &obj); INSIST(result == ISC_R_SUCCESS && obj != NULL); dns_zone_setoption(mayberaw, DNS_ZONEOPT_CHECKINTEGRITY, cfg_obj_asboolean(obj)); } else { check = false; result = named_config_get(nodefault, "check-integrity", - &obj); + &obj); if (result == ISC_R_SUCCESS) check = cfg_obj_asboolean(obj); dns_zone_setoption(mayberaw, DNS_ZONEOPT_CHECKINTEGRITY, @@ -1777,14 +1749,14 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, result = named_config_get(maps, "serial-update-method", &obj); INSIST(result == ISC_R_SUCCESS && obj != NULL); if (strcasecmp(cfg_obj_asstring(obj), "unixtime") == 0) - dns_zone_setserialupdatemethod(zone, - dns_updatemethod_unixtime); + dns_zone_setserialupdatemethod( + zone, dns_updatemethod_unixtime); else if (strcasecmp(cfg_obj_asstring(obj), "date") == 0) dns_zone_setserialupdatemethod(zone, dns_updatemethod_date); else - dns_zone_setserialupdatemethod(zone, - dns_updatemethod_increment); + dns_zone_setserialupdatemethod( + zone, dns_updatemethod_increment); } /* @@ -1816,11 +1788,10 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, * explicitly specified and this is a root zone mirror. */ if (obj == NULL && ztype == dns_zone_mirror && - dns_name_equal(dns_zone_getorigin(zone), dns_rootname)) - { - result = named_config_getmastersdef(named_g_config, - DEFAULT_IANA_ROOT_ZONE_MASTERS, - &obj); + dns_name_equal(dns_zone_getorigin(zone), dns_rootname)) { + result = named_config_getmastersdef( + named_g_config, DEFAULT_IANA_ROOT_ZONE_MASTERS, + &obj); RETERR(result); } if (obj != NULL) { @@ -1828,11 +1799,9 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, dns_ipkeylist_init(&ipkl); RETERR(named_config_getipandkeylist(config, obj, mctx, - &ipkl)); - result = dns_zone_setmasterswithkeys(mayberaw, - ipkl.addrs, - ipkl.keys, - ipkl.count); + &ipkl)); + result = dns_zone_setmasterswithkeys( + mayberaw, ipkl.addrs, ipkl.keys, ipkl.count); count = ipkl.count; dns_ipkeylist_clear(mctx, &ipkl); RETERR(result); @@ -1961,13 +1930,11 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, * Set up a DLZ zone as writeable */ isc_result_t -named_zone_configure_writeable_dlz(dns_dlzdb_t *dlzdatabase, - dns_zone_t *zone, - dns_rdataclass_t rdclass, - dns_name_t *name) +named_zone_configure_writeable_dlz(dns_dlzdb_t *dlzdatabase, dns_zone_t *zone, + dns_rdataclass_t rdclass, dns_name_t *name) { - dns_db_t *db = NULL; - isc_time_t now; + dns_db_t * db = NULL; + isc_time_t now; isc_result_t result; TIME_NOW(&now); @@ -1982,14 +1949,15 @@ named_zone_configure_writeable_dlz(dns_dlzdb_t *dlzdatabase, } bool -named_zone_reusable(dns_zone_t *zone, const cfg_obj_t *zconfig) { +named_zone_reusable(dns_zone_t *zone, const cfg_obj_t *zconfig) +{ const cfg_obj_t *zoptions = NULL; const cfg_obj_t *obj = NULL; - const char *cfilename; - const char *zfilename; - dns_zone_t *raw = NULL; - bool has_raw; - dns_zonetype_t ztype; + const char * cfilename; + const char * zfilename; + dns_zone_t * raw = NULL; + bool has_raw; + dns_zonetype_t ztype; zoptions = cfg_tuple_get(zconfig, "options"); @@ -2042,8 +2010,7 @@ named_zone_reusable(dns_zone_t *zone, const cfg_obj_t *zconfig) { cfilename = NULL; if (!((cfilename == NULL && zfilename == NULL) || (cfilename != NULL && zfilename != NULL && - strcmp(cfilename, zfilename) == 0))) - { + strcmp(cfilename, zfilename) == 0))) { dns_zone_log(zone, ISC_LOG_DEBUG(1), "not reusable: filename mismatch"); return (false); diff --git a/bin/nsupdate/nsupdate.c b/bin/nsupdate/nsupdate.c index 687fc3b0f0..fa4b12e36e 100644 --- a/bin/nsupdate/nsupdate.c +++ b/bin/nsupdate/nsupdate.c @@ -13,8 +13,8 @@ #include #include -#include #include +#include #include #include #include @@ -31,9 +31,9 @@ #include #include #include +#include #include #include -#include #include #include #include @@ -45,10 +45,6 @@ #include #include -#include - -#include - #include #include #include @@ -70,9 +66,11 @@ #include #include -#include +#include +#include #include +#include #ifdef GSSAPI #include @@ -93,8 +91,8 @@ #elif defined(HAVE_EDITLINE_READLINE_H) #include #else -#include #include +#include #endif #endif @@ -104,7 +102,7 @@ #define INITTEXT (2 * 1024) #define MAXTEXT (128 * 1024) #define FIND_TIMEOUT 5 -#define TTL_MAX 2147483647U /* Maximum signed 32 bit integer. */ +#define TTL_MAX 2147483647U /* Maximum signed 32 bit integer. */ #define DNSDEFAULTPORT 53 @@ -117,69 +115,69 @@ static uint16_t dnsport = DNSDEFAULTPORT; #define RESOLV_CONF "/etc/resolv.conf" #endif -static bool debugging = false, ddebugging = false; -static bool memdebugging = false; -static bool have_ipv4 = false; -static bool have_ipv6 = false; -static bool is_dst_up = false; -static bool usevc = false; -static bool usegsstsig = false; -static bool use_win2k_gsstsig = false; -static bool tried_other_gsstsig = false; -static bool local_only = false; -static isc_taskmgr_t *taskmgr = NULL; -static isc_task_t *global_task = NULL; -static isc_event_t *global_event = NULL; -static isc_log_t *glctx = NULL; -static isc_mem_t *gmctx = NULL; -static dns_dispatchmgr_t *dispatchmgr = NULL; -static dns_requestmgr_t *requestmgr = NULL; -static isc_socketmgr_t *socketmgr = NULL; -static isc_timermgr_t *timermgr = NULL; -static dns_dispatch_t *dispatchv4 = NULL; -static dns_dispatch_t *dispatchv6 = NULL; -static dns_message_t *updatemsg = NULL; -static dns_fixedname_t fuserzone; -static dns_fixedname_t fzname; -static dns_name_t *userzone = NULL; -static dns_name_t *zname = NULL; -static dns_name_t tmpzonename = DNS_NAME_INITEMPTY; -static dns_name_t restart_master = DNS_NAME_INITEMPTY; -static dns_tsig_keyring_t *gssring = NULL; -static dns_tsigkey_t *tsigkey = NULL; -static dst_key_t *sig0key = NULL; -static isc_sockaddr_t *servers = NULL; -static isc_sockaddr_t *master_servers = NULL; -static bool default_servers = true; -static int ns_inuse = 0; -static int master_inuse = 0; -static int ns_total = 0; -static int ns_alloc = 0; -static int master_total = 0; -static int master_alloc = 0; -static isc_sockaddr_t *localaddr4 = NULL; -static isc_sockaddr_t *localaddr6 = NULL; -static const char *keyfile = NULL; -static char *keystr = NULL; -static bool shuttingdown = false; -static FILE *input; -static bool interactive = true; -static bool seenerror = false; +static bool debugging = false, ddebugging = false; +static bool memdebugging = false; +static bool have_ipv4 = false; +static bool have_ipv6 = false; +static bool is_dst_up = false; +static bool usevc = false; +static bool usegsstsig = false; +static bool use_win2k_gsstsig = false; +static bool tried_other_gsstsig = false; +static bool local_only = false; +static isc_taskmgr_t * taskmgr = NULL; +static isc_task_t * global_task = NULL; +static isc_event_t * global_event = NULL; +static isc_log_t * glctx = NULL; +static isc_mem_t * gmctx = NULL; +static dns_dispatchmgr_t * dispatchmgr = NULL; +static dns_requestmgr_t * requestmgr = NULL; +static isc_socketmgr_t * socketmgr = NULL; +static isc_timermgr_t * timermgr = NULL; +static dns_dispatch_t * dispatchv4 = NULL; +static dns_dispatch_t * dispatchv6 = NULL; +static dns_message_t * updatemsg = NULL; +static dns_fixedname_t fuserzone; +static dns_fixedname_t fzname; +static dns_name_t * userzone = NULL; +static dns_name_t * zname = NULL; +static dns_name_t tmpzonename = DNS_NAME_INITEMPTY; +static dns_name_t restart_master = DNS_NAME_INITEMPTY; +static dns_tsig_keyring_t * gssring = NULL; +static dns_tsigkey_t * tsigkey = NULL; +static dst_key_t * sig0key = NULL; +static isc_sockaddr_t * servers = NULL; +static isc_sockaddr_t * master_servers = NULL; +static bool default_servers = true; +static int ns_inuse = 0; +static int master_inuse = 0; +static int ns_total = 0; +static int ns_alloc = 0; +static int master_total = 0; +static int master_alloc = 0; +static isc_sockaddr_t * localaddr4 = NULL; +static isc_sockaddr_t * localaddr6 = NULL; +static const char * keyfile = NULL; +static char * keystr = NULL; +static bool shuttingdown = false; +static FILE * input; +static bool interactive = true; +static bool seenerror = false; static const dns_master_style_t *style; -static int requests = 0; -static unsigned int logdebuglevel = 0; -static unsigned int timeout = 300; -static unsigned int udp_timeout = 3; -static unsigned int udp_retries = 3; -static dns_rdataclass_t defaultclass = dns_rdataclass_in; -static dns_rdataclass_t zoneclass = dns_rdataclass_none; -static dns_message_t *answer = NULL; -static uint32_t default_ttl = 0; -static bool default_ttl_set = false; -static bool checknames = true; +static int requests = 0; +static unsigned int logdebuglevel = 0; +static unsigned int timeout = 300; +static unsigned int udp_timeout = 3; +static unsigned int udp_retries = 3; +static dns_rdataclass_t defaultclass = dns_rdataclass_in; +static dns_rdataclass_t zoneclass = dns_rdataclass_none; +static dns_message_t * answer = NULL; +static uint32_t default_ttl = 0; +static bool default_ttl_set = false; +static bool checknames = true; typedef struct nsu_requestinfo { - dns_message_t *msg; + dns_message_t * msg; isc_sockaddr_t *addr; } nsu_requestinfo_t; @@ -191,7 +189,7 @@ send_update(dns_name_t *zonename, isc_sockaddr_t *master); ISC_PLATFORM_NORETURN_PRE static void fatal(const char *format, ...) -ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST; + ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST; static void debug(const char *format, ...) ISC_FORMAT_PRINTF(1, 2); @@ -202,13 +200,13 @@ ddebug(const char *format, ...) ISC_FORMAT_PRINTF(1, 2); #ifdef GSSAPI static dns_fixedname_t fkname; static isc_sockaddr_t *kserver = NULL; -static char *realm = NULL; -static char servicename[DNS_NAME_FORMATSIZE]; -static dns_name_t *keyname; +static char * realm = NULL; +static char servicename[DNS_NAME_FORMATSIZE]; +static dns_name_t * keyname; typedef struct nsu_gssinfo { - dns_message_t *msg; + dns_message_t * msg; isc_sockaddr_t *addr; - gss_ctx_id_t context; + gss_ctx_id_t context; } nsu_gssinfo_t; static void @@ -225,14 +223,14 @@ recvgss(isc_task_t *task, isc_event_t *event); static void error(const char *format, ...) ISC_FORMAT_PRINTF(1, 2); -#define STATUS_MORE (uint16_t)0 -#define STATUS_SEND (uint16_t)1 -#define STATUS_QUIT (uint16_t)2 -#define STATUS_SYNTAX (uint16_t)3 +#define STATUS_MORE (uint16_t)0 +#define STATUS_SEND (uint16_t)1 +#define STATUS_QUIT (uint16_t)2 +#define STATUS_SYNTAX (uint16_t)3 static void -master_from_servers(void) { - +master_from_servers(void) +{ if (master_servers != NULL && master_servers != servers) isc_mem_put(gmctx, master_servers, master_alloc * sizeof(isc_sockaddr_t)); @@ -243,16 +241,17 @@ master_from_servers(void) { } static dns_rdataclass_t -getzoneclass(void) { +getzoneclass(void) +{ if (zoneclass == dns_rdataclass_none) zoneclass = defaultclass; return (zoneclass); } static bool -setzoneclass(dns_rdataclass_t rdclass) { - if (zoneclass == dns_rdataclass_none || - rdclass == dns_rdataclass_none) +setzoneclass(dns_rdataclass_t rdclass) +{ + if (zoneclass == dns_rdataclass_none || rdclass == dns_rdataclass_none) zoneclass = rdclass; if (zoneclass != rdclass) return (false); @@ -260,7 +259,8 @@ setzoneclass(dns_rdataclass_t rdclass) { } static void -fatal(const char *format, ...) { +fatal(const char *format, ...) +{ va_list args; va_start(args, format); @@ -271,7 +271,8 @@ fatal(const char *format, ...) { } static void -error(const char *format, ...) { +error(const char *format, ...) +{ va_list args; va_start(args, format); @@ -281,7 +282,8 @@ error(const char *format, ...) { } static void -debug(const char *format, ...) { +debug(const char *format, ...) +{ va_list args; if (debugging) { @@ -293,7 +295,8 @@ debug(const char *format, ...) { } static void -ddebug(const char *format, ...) { +ddebug(const char *format, ...) +{ va_list args; if (ddebugging) { @@ -305,18 +308,20 @@ ddebug(const char *format, ...) { } static inline void -check_result(isc_result_t result, const char *msg) { +check_result(isc_result_t result, const char *msg) +{ if (result != ISC_R_SUCCESS) fatal("%s: %s", msg, isc_result_totext(result)); } static char * -nsu_strsep(char **stringp, const char *delim) { +nsu_strsep(char **stringp, const char *delim) +{ char *string = *stringp; *stringp = NULL; - char *s; + char * s; const char *d; - char sc, dc; + char sc, dc; if (string == NULL) return (NULL); @@ -345,7 +350,8 @@ nsu_strsep(char **stringp, const char *delim) { } static void -reset_system(void) { +reset_system(void) +{ isc_result_t result; ddebug("reset_system()"); @@ -371,9 +377,9 @@ static bool parse_hmac(const dns_name_t **hmac, const char *hmacstr, size_t len, uint16_t *digestbitsp) { - uint16_t digestbits = 0; + uint16_t digestbits = 0; isc_result_t result; - char buf[20]; + char buf[20]; REQUIRE(hmac != NULL && *hmac == NULL); REQUIRE(hmacstr != NULL); @@ -454,7 +460,8 @@ parse_hmac(const dns_name_t **hmac, const char *hmacstr, size_t len, } static int -basenamelen(const char *file) { +basenamelen(const char *file) +{ int len = strlen(file); if (len > 1 && file[len - 1] == '.') @@ -467,19 +474,20 @@ basenamelen(const char *file) { } static void -setup_keystr(void) { - unsigned char *secret = NULL; - int secretlen; - isc_buffer_t secretbuf; - isc_result_t result; - isc_buffer_t keynamesrc; - char *secretstr; - char *s, *n; - dns_fixedname_t fkeyname; - dns_name_t *mykeyname; - char *name; +setup_keystr(void) +{ + unsigned char * secret = NULL; + int secretlen; + isc_buffer_t secretbuf; + isc_result_t result; + isc_buffer_t keynamesrc; + char * secretstr; + char * s, *n; + dns_fixedname_t fkeyname; + dns_name_t * mykeyname; + char * name; const dns_name_t *hmacname = NULL; - uint16_t digestbits = 0; + uint16_t digestbits = 0; mykeyname = dns_fixedname_initname(&fkeyname); @@ -518,8 +526,8 @@ setup_keystr(void) { isc_buffer_init(&secretbuf, secret, secretlen); result = isc_base64_decodestring(secretstr, &secretbuf); if (result != ISC_R_SUCCESS) { - fprintf(stderr, "could not create key from %s: %s\n", - keystr, isc_result_totext(result)); + fprintf(stderr, "could not create key from %s: %s\n", keystr, + isc_result_totext(result)); goto failure; } @@ -527,14 +535,13 @@ setup_keystr(void) { debug("keycreate"); result = dns_tsigkey_create(mykeyname, hmacname, secret, secretlen, - false, NULL, 0, 0, gmctx, NULL, - &tsigkey); + false, NULL, 0, 0, gmctx, NULL, &tsigkey); if (result != ISC_R_SUCCESS) - fprintf(stderr, "could not create key from %s: %s\n", - keystr, dns_result_totext(result)); + fprintf(stderr, "could not create key from %s: %s\n", keystr, + dns_result_totext(result)); else dst_key_setbits(tsigkey->key, digestbits); - failure: +failure: if (secret != NULL) isc_mem_free(gmctx, secret); } @@ -543,19 +550,20 @@ setup_keystr(void) { * Get a key from a named.conf format keyfile */ static isc_result_t -read_sessionkey(isc_mem_t *mctx, isc_log_t *lctx) { - cfg_parser_t *pctx = NULL; - cfg_obj_t *sessionkey = NULL; +read_sessionkey(isc_mem_t *mctx, isc_log_t *lctx) +{ + cfg_parser_t * pctx = NULL; + cfg_obj_t * sessionkey = NULL; const cfg_obj_t *key = NULL; const cfg_obj_t *secretobj = NULL; const cfg_obj_t *algorithmobj = NULL; - const char *mykeyname; - const char *secretstr; - const char *algorithm; - isc_result_t result; - int len; + const char * mykeyname; + const char * secretstr; + const char * algorithm; + isc_result_t result; + int len; - if (! isc_file_exists(keyfile)) + if (!isc_file_exists(keyfile)) return (ISC_R_FILENOTFOUND); result = cfg_parser_create(mctx, lctx, &pctx); @@ -571,8 +579,8 @@ read_sessionkey(isc_mem_t *mctx, isc_log_t *lctx) { if (result != ISC_R_SUCCESS) goto cleanup; - (void) cfg_map_get(key, "secret", &secretobj); - (void) cfg_map_get(key, "algorithm", &algorithmobj); + (void)cfg_map_get(key, "secret", &secretobj); + (void)cfg_map_get(key, "algorithm", &algorithmobj); if (secretobj == NULL || algorithmobj == NULL) fatal("key must have algorithm and secret"); @@ -585,7 +593,7 @@ read_sessionkey(isc_mem_t *mctx, isc_log_t *lctx) { snprintf(keystr, len, "%s:%s:%s", algorithm, mykeyname, secretstr); setup_keystr(); - cleanup: +cleanup: if (pctx != NULL) { if (sessionkey != NULL) cfg_obj_destroy(pctx, &sessionkey); @@ -599,9 +607,10 @@ read_sessionkey(isc_mem_t *mctx, isc_log_t *lctx) { } static void -setup_keyfile(isc_mem_t *mctx, isc_log_t *lctx) { - dst_key_t *dstkey = NULL; - isc_result_t result; +setup_keyfile(isc_mem_t *mctx, isc_log_t *lctx) +{ + dst_key_t * dstkey = NULL; + isc_result_t result; const dns_name_t *hmacname = NULL; debug("Creating key..."); @@ -610,9 +619,8 @@ setup_keyfile(isc_mem_t *mctx, isc_log_t *lctx) { dst_key_free(&sig0key); /* Try reading the key from a K* pair */ - result = dst_key_fromnamedfile(keyfile, NULL, - DST_TYPE_PRIVATE | DST_TYPE_KEY, mctx, - &dstkey); + result = dst_key_fromnamedfile( + keyfile, NULL, DST_TYPE_PRIVATE | DST_TYPE_KEY, mctx, &dstkey); /* If that didn't work, try reading it as a session.key keyfile */ if (result != ISC_R_SUCCESS) { @@ -622,9 +630,11 @@ setup_keyfile(isc_mem_t *mctx, isc_log_t *lctx) { } if (result != ISC_R_SUCCESS) { - fprintf(stderr, "could not read key from %.*s.{private,key}: " - "%s\n", basenamelen(keyfile), keyfile, - isc_result_totext(result)); + fprintf(stderr, + "could not read key from %.*s.{private,key}: " + "%s\n", + basenamelen(keyfile), keyfile, + isc_result_totext(result)); return; } @@ -649,10 +659,9 @@ setup_keyfile(isc_mem_t *mctx, isc_log_t *lctx) { break; } if (hmacname != NULL) { - result = dns_tsigkey_createfromkey(dst_key_name(dstkey), - hmacname, dstkey, false, - NULL, 0, 0, mctx, NULL, - &tsigkey); + result = dns_tsigkey_createfromkey( + dst_key_name(dstkey), hmacname, dstkey, false, NULL, 0, + 0, mctx, NULL, &tsigkey); dst_key_free(&dstkey); if (result != ISC_R_SUCCESS) { fprintf(stderr, "could not create key from %s: %s\n", @@ -666,7 +675,8 @@ setup_keyfile(isc_mem_t *mctx, isc_log_t *lctx) { } static void -doshutdown(void) { +doshutdown(void) +{ isc_task_detach(&global_task); /* @@ -717,11 +727,11 @@ doshutdown(void) { ddebug("Shutting down dispatch manager"); dns_dispatchmgr_destroy(&dispatchmgr); - } static void -maybeshutdown(void) { +maybeshutdown(void) +{ ddebug("Shutting down request manager"); dns_requestmgr_shutdown(requestmgr); @@ -732,7 +742,8 @@ maybeshutdown(void) { } static void -shutdown_program(isc_task_t *task, isc_event_t *event) { +shutdown_program(isc_task_t *task, isc_event_t *event) +{ REQUIRE(task == global_task); UNUSED(task); @@ -747,10 +758,11 @@ shutdown_program(isc_task_t *task, isc_event_t *event) { * Try honoring the operating system's preferred ephemeral port range. */ static void -set_source_ports(dns_dispatchmgr_t *manager) { +set_source_ports(dns_dispatchmgr_t *manager) +{ isc_portset_t *v4portset = NULL, *v6portset = NULL; - in_port_t udpport_low, udpport_high; - isc_result_t result; + in_port_t udpport_low, udpport_high; + isc_result_t result; result = isc_portset_create(gmctx, &v4portset); check_result(result, "isc_portset_create (v4)"); @@ -772,13 +784,14 @@ set_source_ports(dns_dispatchmgr_t *manager) { } static void -setup_system(void) { - isc_result_t result; - isc_sockaddr_t bind_any, bind_any6; - unsigned int attrs, attrmask; +setup_system(void) +{ + isc_result_t result; + isc_sockaddr_t bind_any, bind_any6; + unsigned int attrs, attrmask; isc_sockaddrlist_t *nslist; - isc_logconfig_t *logconfig = NULL; - irs_resconf_t *resconf = NULL; + isc_logconfig_t * logconfig = NULL; + irs_resconf_t * resconf = NULL; ddebug("setup_system()"); @@ -811,7 +824,7 @@ setup_system(void) { ns_inuse = 0; if (local_only || ISC_LIST_EMPTY(*nslist)) { - struct in_addr in; + struct in_addr in; struct in6_addr in6; if (local_only && keyfile == NULL) @@ -820,8 +833,7 @@ setup_system(void) { default_servers = !local_only; ns_total = ns_alloc = (have_ipv4 ? 1 : 0) + (have_ipv6 ? 1 : 0); - servers = isc_mem_get(gmctx, - ns_alloc * sizeof(isc_sockaddr_t)); + servers = isc_mem_get(gmctx, ns_alloc * sizeof(isc_sockaddr_t)); if (have_ipv6) { memset(&in6, 0, sizeof(in6)); @@ -830,12 +842,12 @@ setup_system(void) { } if (have_ipv4) { in.s_addr = htonl(INADDR_LOOPBACK); - isc_sockaddr_fromin(&servers[(have_ipv6 ? 1 : 0)], - &in, dnsport); + isc_sockaddr_fromin(&servers[(have_ipv6 ? 1 : 0)], &in, + dnsport); } } else { isc_sockaddr_t *sa; - int i; + int i; /* * Count the nameservers (skipping any that we can't use @@ -843,10 +855,8 @@ setup_system(void) { * the servers array. */ ns_total = 0; - for (sa = ISC_LIST_HEAD(*nslist); - sa != NULL; - sa = ISC_LIST_NEXT(sa, link)) - { + for (sa = ISC_LIST_HEAD(*nslist); sa != NULL; + sa = ISC_LIST_NEXT(sa, link)) { switch (sa->type.sa.sa_family) { case AF_INET: if (have_ipv4) { @@ -864,14 +874,11 @@ setup_system(void) { } ns_alloc = ns_total; - servers = isc_mem_get(gmctx, - ns_alloc * sizeof(isc_sockaddr_t)); + servers = isc_mem_get(gmctx, ns_alloc * sizeof(isc_sockaddr_t)); i = 0; - for (sa = ISC_LIST_HEAD(*nslist); - sa != NULL; - sa = ISC_LIST_NEXT(sa, link)) - { + for (sa = ISC_LIST_HEAD(*nslist); sa != NULL; + sa = ISC_LIST_NEXT(sa, link)) { switch (sa->type.sa.sa_family) { case AF_INET: if (have_ipv4) { @@ -882,7 +889,8 @@ setup_system(void) { break; case AF_INET6: if (have_ipv6) { - sa->type.sin6.sin6_port = htons(dnsport); + sa->type.sin6.sin6_port = + htons(dnsport); } else { continue; } @@ -930,8 +938,7 @@ setup_system(void) { attrs |= DNS_DISPATCHATTR_IPV6; isc_sockaddr_any6(&bind_any6); result = dns_dispatch_getudp(dispatchmgr, socketmgr, taskmgr, - &bind_any6, PACKETSIZE, - 4, 2, 3, 5, + &bind_any6, PACKETSIZE, 4, 2, 3, 5, attrs, attrmask, &dispatchv6); check_result(result, "dns_dispatch_getudp (v6)"); } @@ -942,15 +949,14 @@ setup_system(void) { attrs |= DNS_DISPATCHATTR_IPV4; isc_sockaddr_any(&bind_any); result = dns_dispatch_getudp(dispatchmgr, socketmgr, taskmgr, - &bind_any, PACKETSIZE, - 4, 2, 3, 5, + &bind_any, PACKETSIZE, 4, 2, 3, 5, attrs, attrmask, &dispatchv4); check_result(result, "dns_dispatch_getudp (v4)"); } - result = dns_requestmgr_create(gmctx, timermgr, - socketmgr, taskmgr, dispatchmgr, - dispatchv4, dispatchv6, &requestmgr); + result = dns_requestmgr_create(gmctx, timermgr, socketmgr, taskmgr, + dispatchmgr, dispatchv4, dispatchv6, + &requestmgr); check_result(result, "dns_requestmgr_create"); if (keystr != NULL) @@ -958,42 +964,43 @@ setup_system(void) { else if (local_only) { result = read_sessionkey(gmctx, glctx); if (result != ISC_R_SUCCESS) - fatal("can't read key from %s: %s\n", - keyfile, isc_result_totext(result)); + fatal("can't read key from %s: %s\n", keyfile, + isc_result_totext(result)); } else if (keyfile != NULL) setup_keyfile(gmctx, glctx); } static int -get_addresses(char *host, in_port_t port, - isc_sockaddr_t *sockaddr, int naddrs) +get_addresses(char *host, in_port_t port, isc_sockaddr_t *sockaddr, int naddrs) { - int count = 0; + int count = 0; isc_result_t result; isc_app_block(); result = bind9_getaddresses(host, port, sockaddr, naddrs, &count); isc_app_unblock(); if (result != ISC_R_SUCCESS) - error("couldn't get address for '%s': %s", - host, isc_result_totext(result)); + error("couldn't get address for '%s': %s", host, + isc_result_totext(result)); return (count); } static void -version(void) { +version(void) +{ fputs("nsupdate " VERSION "\n", stderr); } #define PARSE_ARGS_FMT "46dDML:y:ghilovk:p:Pr:R::t:Tu:V" static void -pre_parse_args(int argc, char **argv) { +pre_parse_args(int argc, char **argv) +{ dns_rdatatype_t t; - int ch; - char buf[100]; - bool doexit = false; - bool ipv4only = false, ipv6only = false; + int ch; + char buf[100]; + bool doexit = false; + bool ipv4only = false, ipv6only = false; while ((ch = isc_commandline_parse(argc, argv, PARSE_ARGS_FMT)) != -1) { switch (ch) { @@ -1025,8 +1032,10 @@ pre_parse_args(int argc, char **argv) { fprintf(stderr, "%s: invalid argument -%c\n", argv[0], isc_commandline_option); fprintf(stderr, "usage: nsupdate [-dDi] [-L level] [-l]" - "[-g | -o | -y keyname:secret | -k keyfile] " - "[-v] [-V] [-P] [-T] [-4 | -6] [filename]\n"); + "[-g | -o | -y keyname:secret | -k " + "keyfile] " + "[-v] [-V] [-P] [-T] [-4 | -6] " + "[filename]\n"); exit(1); case 'P': @@ -1067,11 +1076,12 @@ pre_parse_args(int argc, char **argv) { } static void -parse_args(int argc, char **argv) { - int ch; - uint32_t i; +parse_args(int argc, char **argv) +{ + int ch; + uint32_t i; isc_result_t result; - bool force_interactive = false; + bool force_interactive = false; debug("parse_args"); while ((ch = isc_commandline_parse(argc, argv, PARSE_ARGS_FMT)) != -1) { @@ -1112,8 +1122,10 @@ parse_args(int argc, char **argv) { result = isc_parse_uint32(&i, isc_commandline_argument, 10); if (result != ISC_R_SUCCESS) { - fprintf(stderr, "bad library debug value " - "'%s'\n", isc_commandline_argument); + fprintf(stderr, + "bad library debug value " + "'%s'\n", + isc_commandline_argument); exit(1); } logdebuglevel = i; @@ -1139,8 +1151,10 @@ parse_args(int argc, char **argv) { result = isc_parse_uint16(&dnsport, isc_commandline_argument, 10); if (result != ISC_R_SUCCESS) { - fprintf(stderr, "bad port number " - "'%s'\n", isc_commandline_argument); + fprintf(stderr, + "bad port number " + "'%s'\n", + isc_commandline_argument); exit(1); } break; @@ -1148,7 +1162,8 @@ parse_args(int argc, char **argv) { result = isc_parse_uint32(&timeout, isc_commandline_argument, 10); if (result != ISC_R_SUCCESS) { - fprintf(stderr, "bad timeout '%s'\n", isc_commandline_argument); + fprintf(stderr, "bad timeout '%s'\n", + isc_commandline_argument); exit(1); } if (timeout == 0) @@ -1158,7 +1173,8 @@ parse_args(int argc, char **argv) { result = isc_parse_uint32(&udp_timeout, isc_commandline_argument, 10); if (result != ISC_R_SUCCESS) { - fprintf(stderr, "bad udp timeout '%s'\n", isc_commandline_argument); + fprintf(stderr, "bad udp timeout '%s'\n", + isc_commandline_argument); exit(1); } if (udp_timeout == 0) @@ -1168,7 +1184,8 @@ parse_args(int argc, char **argv) { result = isc_parse_uint32(&udp_retries, isc_commandline_argument, 10); if (result != ISC_R_SUCCESS) { - fprintf(stderr, "bad udp retries '%s'\n", isc_commandline_argument); + fprintf(stderr, "bad udp retries '%s'\n", + isc_commandline_argument); exit(1); } break; @@ -1178,14 +1195,13 @@ parse_args(int argc, char **argv) { break; default: - fprintf(stderr, "%s: unhandled option: %c\n", - argv[0], isc_commandline_option); + fprintf(stderr, "%s: unhandled option: %c\n", argv[0], + isc_commandline_option); exit(1); } } if (keyfile != NULL && keystr != NULL) { - fprintf(stderr, "%s: cannot specify both -k and -y\n", - argv[0]); + fprintf(stderr, "%s: cannot specify both -k and -y\n", argv[0]); exit(1); } @@ -1197,7 +1213,8 @@ parse_args(int argc, char **argv) { } #else if (usegsstsig) { - fprintf(stderr, "%s: cannot specify -g or -o, " \ + fprintf(stderr, + "%s: cannot specify -g or -o, " "program not linked with GSS API Library\n", argv[0]); exit(1); @@ -1224,11 +1241,12 @@ parse_args(int argc, char **argv) { } static uint16_t -parse_name(char **cmdlinep, dns_message_t *msg, dns_name_t **namep) { - isc_result_t result; - char *word; +parse_name(char **cmdlinep, dns_message_t *msg, dns_name_t **namep) +{ + isc_result_t result; + char * word; isc_buffer_t *namebuf = NULL; - isc_buffer_t source; + isc_buffer_t source; word = nsu_strsep(cmdlinep, " \t\r\n"); if (word == NULL || *word == 0) { @@ -1257,15 +1275,14 @@ parse_name(char **cmdlinep, dns_message_t *msg, dns_name_t **namep) { static uint16_t parse_rdata(char **cmdlinep, dns_rdataclass_t rdataclass, - dns_rdatatype_t rdatatype, dns_message_t *msg, - dns_rdata_t *rdata) + dns_rdatatype_t rdatatype, dns_message_t *msg, dns_rdata_t *rdata) { - char *cmdline = *cmdlinep; - isc_buffer_t source, *buf = NULL, *newbuf = NULL; - isc_region_t r; - isc_lex_t *lex = NULL; + char * cmdline = *cmdlinep; + isc_buffer_t source, *buf = NULL, *newbuf = NULL; + isc_region_t r; + isc_lex_t * lex = NULL; dns_rdatacallbacks_t callbacks; - isc_result_t result; + isc_result_t result; if (cmdline == NULL) { rdata->flags = DNS_RDATA_UPDATE; @@ -1310,17 +1327,18 @@ parse_rdata(char **cmdlinep, dns_rdataclass_t rdataclass, } static uint16_t -make_prereq(char *cmdline, bool ispositive, bool isrrset) { - isc_result_t result; - char *word; - dns_name_t *name = NULL; +make_prereq(char *cmdline, bool ispositive, bool isrrset) +{ + isc_result_t result; + char * word; + dns_name_t * name = NULL; isc_textregion_t region; - dns_rdataset_t *rdataset = NULL; + dns_rdataset_t * rdataset = NULL; dns_rdatalist_t *rdatalist = NULL; dns_rdataclass_t rdataclass; - dns_rdatatype_t rdatatype; - dns_rdata_t *rdata = NULL; - uint16_t retval; + dns_rdatatype_t rdatatype; + dns_rdata_t * rdata = NULL; + uint16_t retval; ddebug("make_prereq()"); @@ -1380,8 +1398,8 @@ make_prereq(char *cmdline, bool ispositive, bool isrrset) { dns_rdata_init(rdata); if (isrrset && ispositive) { - retval = parse_rdata(&cmdline, rdataclass, rdatatype, - updatemsg, rdata); + retval = parse_rdata(&cmdline, rdataclass, rdatatype, updatemsg, + rdata); if (retval != STATUS_MORE) goto failure; } else @@ -1408,16 +1426,17 @@ make_prereq(char *cmdline, bool ispositive, bool isrrset) { dns_message_addname(updatemsg, name, DNS_SECTION_PREREQUISITE); return (STATUS_MORE); - failure: +failure: if (name != NULL) dns_message_puttempname(updatemsg, &name); return (STATUS_SYNTAX); } static uint16_t -evaluate_prereq(char *cmdline) { +evaluate_prereq(char *cmdline) +{ char *word; - bool ispositive, isrrset; + bool ispositive, isrrset; ddebug("evaluate_prereq()"); word = nsu_strsep(&cmdline, " \t\r\n"); @@ -1445,9 +1464,10 @@ evaluate_prereq(char *cmdline) { } static uint16_t -evaluate_server(char *cmdline) { +evaluate_server(char *cmdline) +{ char *word, *server; - long port; + long port; if (local_only) { fprintf(stderr, "cannot reset server in localhost-only mode\n"); @@ -1471,8 +1491,10 @@ evaluate_server(char *cmdline) { fprintf(stderr, "port '%s' is not numeric\n", word); return (STATUS_SYNTAX); } else if (port < 1 || port > 65535) { - fprintf(stderr, "port '%s' is out of range " - "(1 to 65535)\n", word); + fprintf(stderr, + "port '%s' is out of range " + "(1 to 65535)\n", + word); return (STATUS_SYNTAX); } } @@ -1499,10 +1521,11 @@ evaluate_server(char *cmdline) { } static uint16_t -evaluate_local(char *cmdline) { - char *word, *local; - long port; - struct in_addr in4; +evaluate_local(char *cmdline) +{ + char * word, *local; + long port; + struct in_addr in4; struct in6_addr in6; word = nsu_strsep(&cmdline, " \t\r\n"); @@ -1522,21 +1545,21 @@ evaluate_local(char *cmdline) { fprintf(stderr, "port '%s' is not numeric\n", word); return (STATUS_SYNTAX); } else if (port < 1 || port > 65535) { - fprintf(stderr, "port '%s' is out of range " - "(1 to 65535)\n", word); + fprintf(stderr, + "port '%s' is out of range " + "(1 to 65535)\n", + word); return (STATUS_SYNTAX); } } if (have_ipv6 && inet_pton(AF_INET6, local, &in6) == 1) { if (localaddr6 == NULL) - localaddr6 = isc_mem_get(gmctx, - sizeof(isc_sockaddr_t)); + localaddr6 = isc_mem_get(gmctx, sizeof(isc_sockaddr_t)); isc_sockaddr_fromin6(localaddr6, &in6, (in_port_t)port); } else if (have_ipv4 && inet_pton(AF_INET, local, &in4) == 1) { if (localaddr4 == NULL) - localaddr4 = isc_mem_get(gmctx, - sizeof(isc_sockaddr_t)); + localaddr4 = isc_mem_get(gmctx, sizeof(isc_sockaddr_t)); isc_sockaddr_fromin(localaddr4, &in4, (in_port_t)port); } else { fprintf(stderr, "invalid address %s", local); @@ -1547,19 +1570,20 @@ evaluate_local(char *cmdline) { } static uint16_t -evaluate_key(char *cmdline) { - char *namestr; - char *secretstr; - isc_buffer_t b; - isc_result_t result; - dns_fixedname_t fkeyname; - dns_name_t *mykeyname; - int secretlen; - unsigned char *secret = NULL; - isc_buffer_t secretbuf; +evaluate_key(char *cmdline) +{ + char * namestr; + char * secretstr; + isc_buffer_t b; + isc_result_t result; + dns_fixedname_t fkeyname; + dns_name_t * mykeyname; + int secretlen; + unsigned char * secret = NULL; + isc_buffer_t secretbuf; const dns_name_t *hmacname = NULL; - uint16_t digestbits = 0; - char *n; + uint16_t digestbits = 0; + char * n; namestr = nsu_strsep(&cmdline, " \t\r\n"); if (namestr == NULL || *namestr == 0) { @@ -1571,8 +1595,7 @@ evaluate_key(char *cmdline) { n = strchr(namestr, ':'); if (n != NULL) { - if (!parse_hmac(&hmacname, namestr, n - namestr, - &digestbits)) { + if (!parse_hmac(&hmacname, namestr, n - namestr, &digestbits)) { return (STATUS_SYNTAX); } namestr = n + 1; @@ -1599,8 +1622,8 @@ evaluate_key(char *cmdline) { isc_buffer_init(&secretbuf, secret, secretlen); result = isc_base64_decodestring(secretstr, &secretbuf); if (result != ISC_R_SUCCESS) { - fprintf(stderr, "could not create key from %s: %s\n", - secretstr, isc_result_totext(result)); + fprintf(stderr, "could not create key from %s: %s\n", secretstr, + isc_result_totext(result)); isc_mem_free(gmctx, secret); return (STATUS_SYNTAX); } @@ -1609,8 +1632,7 @@ evaluate_key(char *cmdline) { if (tsigkey != NULL) dns_tsigkey_detach(&tsigkey); result = dns_tsigkey_create(mykeyname, hmacname, secret, secretlen, - false, NULL, 0, 0, gmctx, NULL, - &tsigkey); + false, NULL, 0, 0, gmctx, NULL, &tsigkey); isc_mem_free(gmctx, secret); if (result != ISC_R_SUCCESS) { fprintf(stderr, "could not create key from %s %s: %s\n", @@ -1622,8 +1644,9 @@ evaluate_key(char *cmdline) { } static uint16_t -evaluate_zone(char *cmdline) { - char *word; +evaluate_zone(char *cmdline) +{ + char * word; isc_buffer_t b; isc_result_t result; @@ -1647,11 +1670,12 @@ evaluate_zone(char *cmdline) { } static uint16_t -evaluate_realm(char *cmdline) { +evaluate_realm(char *cmdline) +{ #ifdef GSSAPI char *word; - char buf[1024]; - int n; + char buf[1024]; + int n; if (realm != NULL) { isc_mem_free(gmctx, realm); @@ -1676,10 +1700,11 @@ evaluate_realm(char *cmdline) { } static uint16_t -evaluate_ttl(char *cmdline) { - char *word; +evaluate_ttl(char *cmdline) +{ + char * word; isc_result_t result; - uint32_t ttl; + uint32_t ttl; word = nsu_strsep(&cmdline, " \t\r\n"); if (word == NULL || *word == 0) { @@ -1698,8 +1723,8 @@ evaluate_ttl(char *cmdline) { return (STATUS_SYNTAX); if (ttl > TTL_MAX) { - fprintf(stderr, "ttl '%s' is out of range (0 to %u)\n", - word, TTL_MAX); + fprintf(stderr, "ttl '%s' is out of range (0 to %u)\n", word, + TTL_MAX); return (STATUS_SYNTAX); } default_ttl = ttl; @@ -1709,10 +1734,11 @@ evaluate_ttl(char *cmdline) { } static uint16_t -evaluate_class(char *cmdline) { - char *word; +evaluate_class(char *cmdline) +{ + char * word; isc_textregion_t r; - isc_result_t result; + isc_result_t result; dns_rdataclass_t rdclass; word = nsu_strsep(&cmdline, " \t\r\n"); @@ -1742,18 +1768,19 @@ evaluate_class(char *cmdline) { } static uint16_t -update_addordelete(char *cmdline, bool isdelete) { - isc_result_t result; - dns_name_t *name = NULL; - uint32_t ttl; - char *word; +update_addordelete(char *cmdline, bool isdelete) +{ + isc_result_t result; + dns_name_t * name = NULL; + uint32_t ttl; + char * word; dns_rdataclass_t rdataclass; - dns_rdatatype_t rdatatype; - dns_rdata_t *rdata = NULL; + dns_rdatatype_t rdatatype; + dns_rdata_t * rdata = NULL; dns_rdatalist_t *rdatalist = NULL; - dns_rdataset_t *rdataset = NULL; + dns_rdataset_t * rdataset = NULL; isc_textregion_t region; - uint16_t retval; + uint16_t retval; ddebug("update_addordelete()"); @@ -1778,8 +1805,7 @@ update_addordelete(char *cmdline, bool isdelete) { if (!isdelete) { fprintf(stderr, "could not read owner ttl\n"); goto failure; - } - else { + } else { ttl = 0; rdataclass = dns_rdataclass_any; rdatatype = dns_rdatatype_any; @@ -1805,8 +1831,8 @@ update_addordelete(char *cmdline, bool isdelete) { if (isdelete) ttl = 0; else if (ttl > TTL_MAX) { - fprintf(stderr, "ttl '%s' is out of range (0 to %u)\n", - word, TTL_MAX); + fprintf(stderr, "ttl '%s' is out of range (0 to %u)\n", word, + TTL_MAX); goto failure; } @@ -1814,7 +1840,7 @@ update_addordelete(char *cmdline, bool isdelete) { * Read the class or type. */ word = nsu_strsep(&cmdline, " \t\r\n"); - parseclass: +parseclass: if (word == NULL || *word == 0) { if (isdelete) { rdataclass = dns_rdataclass_any; @@ -1854,22 +1880,23 @@ update_addordelete(char *cmdline, bool isdelete) { region.length = strlen(word); result = dns_rdatatype_fromtext(&rdatatype, ®ion); if (result != ISC_R_SUCCESS) { - fprintf(stderr, "'%s' is not a valid type: %s\n", - word, isc_result_totext(result)); + fprintf(stderr, "'%s' is not a valid type: %s\n", word, + isc_result_totext(result)); goto failure; } } else { rdataclass = getzoneclass(); result = dns_rdatatype_fromtext(&rdatatype, ®ion); if (result != ISC_R_SUCCESS) { - fprintf(stderr, "'%s' is not a valid class or type: " - "%s\n", word, isc_result_totext(result)); + fprintf(stderr, + "'%s' is not a valid class or type: " + "%s\n", + word, isc_result_totext(result)); goto failure; } } - retval = parse_rdata(&cmdline, rdataclass, rdatatype, updatemsg, - rdata); + retval = parse_rdata(&cmdline, rdataclass, rdatatype, updatemsg, rdata); if (retval != STATUS_MORE) goto failure; @@ -1887,11 +1914,10 @@ update_addordelete(char *cmdline, bool isdelete) { if (!isdelete && checknames) { dns_fixedname_t fixed; - dns_name_t *bad; + dns_name_t * bad; if (!dns_rdata_checkowner(name, rdata->rdclass, rdata->type, - true)) - { + true)) { char namebuf[DNS_NAME_FORMATSIZE]; dns_name_format(name, namebuf, sizeof(namebuf)); @@ -1911,7 +1937,7 @@ update_addordelete(char *cmdline, bool isdelete) { } } - doneparsing: +doneparsing: result = dns_message_gettemprdatalist(updatemsg, &rdatalist); check_result(result, "dns_message_gettemprdatalist"); @@ -1928,7 +1954,7 @@ update_addordelete(char *cmdline, bool isdelete) { dns_message_addname(updatemsg, name, DNS_SECTION_UPDATE); return (STATUS_MORE); - failure: +failure: if (name != NULL) dns_message_puttempname(updatemsg, &name); dns_message_puttemprdata(updatemsg, &rdata); @@ -1936,9 +1962,10 @@ update_addordelete(char *cmdline, bool isdelete) { } static uint16_t -evaluate_update(char *cmdline) { +evaluate_update(char *cmdline) +{ char *word; - bool isdelete; + bool isdelete; ddebug("evaluate_update()"); word = nsu_strsep(&cmdline, " \t\r\n"); @@ -1960,7 +1987,8 @@ evaluate_update(char *cmdline) { } static uint16_t -evaluate_checknames(char *cmdline) { +evaluate_checknames(char *cmdline) +{ char *word; ddebug("evaluate_checknames()"); @@ -1969,13 +1997,12 @@ evaluate_checknames(char *cmdline) { fprintf(stderr, "could not read check-names directive\n"); return (STATUS_SYNTAX); } - if (strcasecmp(word, "yes") == 0 || - strcasecmp(word, "true") == 0 || + if (strcasecmp(word, "yes") == 0 || strcasecmp(word, "true") == 0 || strcasecmp(word, "on") == 0) { checknames = true; } else if (strcasecmp(word, "no") == 0 || - strcasecmp(word, "false") == 0 || - strcasecmp(word, "off") == 0) { + strcasecmp(word, "false") == 0 || + strcasecmp(word, "off") == 0) { checknames = false; } else { fprintf(stderr, "incorrect check-names directive: %s\n", word); @@ -1985,17 +2012,17 @@ evaluate_checknames(char *cmdline) { } static void -setzone(dns_name_t *zonename) { - isc_result_t result; - dns_name_t *name = NULL; +setzone(dns_name_t *zonename) +{ + isc_result_t result; + dns_name_t * name = NULL; dns_rdataset_t *rdataset = NULL; result = dns_message_firstname(updatemsg, DNS_SECTION_ZONE); if (result == ISC_R_SUCCESS) { dns_message_currentname(updatemsg, DNS_SECTION_ZONE, &name); dns_message_removename(updatemsg, name, DNS_SECTION_ZONE); - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_HEAD(name->list)) { ISC_LIST_UNLINK(name->list, rdataset, link); dns_rdataset_disassociate(rdataset); @@ -2020,10 +2047,11 @@ setzone(dns_name_t *zonename) { } static void -show_message(FILE *stream, dns_message_t *msg, const char *description) { - isc_result_t result; +show_message(FILE *stream, dns_message_t *msg, const char *description) +{ + isc_result_t result; isc_buffer_t *buf = NULL; - int bufsz; + int bufsz; ddebug("show_message()"); @@ -2033,7 +2061,7 @@ show_message(FILE *stream, dns_message_t *msg, const char *description) { do { if (bufsz > MAXTEXT) { fprintf(stderr, "could not allocate large enough " - "buffer to display message\n"); + "buffer to display message\n"); exit(1); } if (buf != NULL) @@ -2048,13 +2076,14 @@ show_message(FILE *stream, dns_message_t *msg, const char *description) { return; } fprintf(stream, "%s\n%.*s", description, - (int)isc_buffer_usedlength(buf), (char*)isc_buffer_base(buf)); + (int)isc_buffer_usedlength(buf), (char *)isc_buffer_base(buf)); fflush(stream); isc_buffer_free(&buf); } static uint16_t -do_next_command(char *cmdline) { +do_next_command(char *cmdline) +{ char *word; ddebug("do_next_command()"); @@ -2118,8 +2147,8 @@ do_next_command(char *cmdline) { } if (strcasecmp(word, "realm") == 0) return (evaluate_realm(cmdline)); - if (strcasecmp(word, "check-names") == 0 || - strcasecmp(word, "checknames") == 0) + if (strcasecmp(word, "check-names") == 0 || strcasecmp(word, "checkname" + "s") == 0) return (evaluate_checknames(cmdline)); if (strcasecmp(word, "gsstsig") == 0) { #ifdef GSSAPI @@ -2140,27 +2169,45 @@ do_next_command(char *cmdline) { return (STATUS_MORE); } if (strcasecmp(word, "help") == 0) { - fprintf(stdout, -"nsupdate " VERSION ":\n" -"local address [port] (set local resolver)\n" -"server address [port] (set master server for zone)\n" -"send (send the update request)\n" -"show (show the update request)\n" -"answer (show the answer to the last request)\n" -"quit (quit, any pending update is not sent\n" -"help (display this message_\n" -"key [hmac:]keyname secret (use TSIG to sign the request)\n" -"gsstsig (use GSS_TSIG to sign the request)\n" -"oldgsstsig (use Microsoft's GSS_TSIG to sign the request)\n" -"zone name (set the zone to be updated)\n" -"class CLASS (set the zone's DNS class, e.g. IN (default), CH)\n" -"check-names { on | off } (enable / disable check-names)\n" -"[prereq] nxdomain name (require that this name does not exist)\n" -"[prereq] yxdomain name (require that this name exists)\n" -"[prereq] nxrrset .... (require that this RRset does not exist)\n" -"[prereq] yxrrset .... (require that this RRset exists)\n" -"[update] add .... (add the given record to the zone)\n" -"[update] del[ete] .... (remove the given record(s) from the zone)\n"); + fprintf(stdout, "nsupdate " VERSION ":\n" + "local address [port] (set local " + "resolver)\n" + "server address [port] (set master server " + "for zone)\n" + "send (send the update " + "request)\n" + "show (show the update " + "request)\n" + "answer (show the answer to " + "the last request)\n" + "quit (quit, any pending " + "update is not sent\n" + "help (display this " + "message_\n" + "key [hmac:]keyname secret (use TSIG to sign " + "the request)\n" + "gsstsig (use GSS_TSIG to " + "sign the request)\n" + "oldgsstsig (use Microsoft's " + "GSS_TSIG to sign the request)\n" + "zone name (set the zone to be " + "updated)\n" + "class CLASS (set the zone's DNS " + "class, e.g. IN (default), CH)\n" + "check-names { on | off } (enable / disable " + "check-names)\n" + "[prereq] nxdomain name (require that this " + "name does not exist)\n" + "[prereq] yxdomain name (require that this " + "name exists)\n" + "[prereq] nxrrset .... (require that this " + "RRset does not exist)\n" + "[prereq] yxrrset .... (require that this " + "RRset exists)\n" + "[update] add .... (add the given " + "record to the zone)\n" + "[update] del[ete] .... (remove the given " + "record(s) from the zone)\n"); return (STATUS_MORE); } if (strcasecmp(word, "version") == 0) { @@ -2172,10 +2219,11 @@ do_next_command(char *cmdline) { } static uint16_t -get_next_command(void) { +get_next_command(void) +{ uint16_t result = STATUS_QUIT; - char cmdlinebuf[MAXCMD]; - char *cmdline; + char cmdlinebuf[MAXCMD]; + char * cmdline; isc_app_block(); if (interactive) { @@ -2210,7 +2258,8 @@ get_next_command(void) { } static bool -user_interaction(void) { +user_interaction(void) +{ uint16_t result = STATUS_MORE; ddebug("user_interaction()"); @@ -2222,20 +2271,21 @@ user_interaction(void) { if (result == STATUS_SEND) return (true); return (false); - } static void -done_update(void) { +done_update(void) +{ isc_event_t *event = global_event; ddebug("done_update()"); isc_task_send(global_task, &event); } static void -check_tsig_error(dns_rdataset_t *rdataset, isc_buffer_t *b) { - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; +check_tsig_error(dns_rdataset_t *rdataset, isc_buffer_t *b) +{ + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_any_tsig_t tsig; result = dns_rdataset_first(rdataset); @@ -2245,23 +2295,26 @@ check_tsig_error(dns_rdataset_t *rdataset, isc_buffer_t *b) { check_result(result, "dns_rdata_tostruct"); if (tsig.error != 0) { if (isc_buffer_remaininglength(b) < 1) - check_result(ISC_R_NOSPACE, "isc_buffer_remaininglength"); + check_result(ISC_R_NOSPACE, "isc_buffer_" + "remaininglength"); isc_buffer_putstr(b, "(" /*)*/); result = dns_tsigrcode_totext(tsig.error, b); check_result(result, "dns_tsigrcode_totext"); if (isc_buffer_remaininglength(b) < 1) - check_result(ISC_R_NOSPACE, "isc_buffer_remaininglength"); - isc_buffer_putstr(b, /*(*/ ")"); + check_result(ISC_R_NOSPACE, "isc_buffer_" + "remaininglength"); + isc_buffer_putstr(b, /*(*/ ")"); } } static bool -next_master(const char *caller, isc_sockaddr_t *addr, isc_result_t eresult) { +next_master(const char *caller, isc_sockaddr_t *addr, isc_result_t eresult) +{ char addrbuf[ISC_SOCKADDR_FORMATSIZE]; isc_sockaddr_format(addr, addrbuf, sizeof(addrbuf)); - fprintf(stderr, "; Communication with %s failed: %s\n", - addrbuf, isc_result_totext(eresult)); + fprintf(stderr, "; Communication with %s failed: %s\n", addrbuf, + isc_result_totext(eresult)); if (++master_inuse >= master_total) return (false); ddebug("%s: trying next server", caller); @@ -2269,10 +2322,11 @@ next_master(const char *caller, isc_sockaddr_t *addr, isc_result_t eresult) { } static void -update_completed(isc_task_t *task, isc_event_t *event) { +update_completed(isc_task_t *task, isc_event_t *event) +{ dns_requestevent_t *reqev = NULL; - isc_result_t result; - dns_request_t *request; + isc_result_t result; + dns_request_t * request; UNUSED(task); @@ -2294,8 +2348,7 @@ update_completed(isc_task_t *task, isc_event_t *event) { if (reqev->result != ISC_R_SUCCESS) { if (!next_master("update_completed", &master_servers[master_inuse], - reqev->result)) - { + reqev->result)) { seenerror = true; goto done; } @@ -2343,8 +2396,8 @@ update_completed(isc_task_t *task, isc_event_t *event) { if (answer->rcode != dns_rcode_noerror) { seenerror = true; if (!debugging) { - char buf[64]; - isc_buffer_t b; + char buf[64]; + isc_buffer_t b; dns_rdataset_t *rds; isc_buffer_init(&b, buf, sizeof(buf) - 1); @@ -2360,7 +2413,7 @@ update_completed(isc_task_t *task, isc_event_t *event) { if (debugging) show_message(stderr, answer, "\nReply from update query:"); - done: +done: dns_request_destroy(&request); if (usegsstsig) { dns_name_free(&tmpzonename, gmctx); @@ -2373,10 +2426,11 @@ update_completed(isc_task_t *task, isc_event_t *event) { } static void -send_update(dns_name_t *zone, isc_sockaddr_t *master) { - isc_result_t result; - dns_request_t *request = NULL; - unsigned int options = DNS_REQUESTOPT_CASE; +send_update(dns_name_t *zone, isc_sockaddr_t *master) +{ + isc_result_t result; + dns_request_t * request = NULL; + unsigned int options = DNS_REQUESTOPT_CASE; isc_sockaddr_t *srcaddr; ddebug("send_update()"); @@ -2405,8 +2459,8 @@ send_update(dns_name_t *zone, isc_sockaddr_t *master) { if (updatemsg->tsigname) updatemsg->tsigname->attributes |= DNS_NAMEATTR_NOCOMPRESS; - result = dns_request_createvia(requestmgr, updatemsg, srcaddr, - master, -1, options, tsigkey, timeout, + result = dns_request_createvia(requestmgr, updatemsg, srcaddr, master, + -1, options, tsigkey, timeout, udp_timeout, udp_retries, global_task, update_completed, NULL, &request); check_result(result, "dns_request_createvia"); @@ -2418,12 +2472,13 @@ send_update(dns_name_t *zone, isc_sockaddr_t *master) { } static void -next_server(const char *caller, isc_sockaddr_t *addr, isc_result_t eresult) { +next_server(const char *caller, isc_sockaddr_t *addr, isc_result_t eresult) +{ char addrbuf[ISC_SOCKADDR_FORMATSIZE]; isc_sockaddr_format(addr, addrbuf, sizeof(addrbuf)); - fprintf(stderr, "; Communication with %s failed: %s\n", - addrbuf, isc_result_totext(eresult)); + fprintf(stderr, "; Communication with %s failed: %s\n", addrbuf, + isc_result_totext(eresult)); if (++ns_inuse >= ns_total) fatal("could not reach any name server"); else @@ -2431,25 +2486,26 @@ next_server(const char *caller, isc_sockaddr_t *addr, isc_result_t eresult) { } static void -recvsoa(isc_task_t *task, isc_event_t *event) { +recvsoa(isc_task_t *task, isc_event_t *event) +{ dns_requestevent_t *reqev = NULL; - dns_request_t *request = NULL; - isc_result_t result, eresult; - dns_message_t *rcvmsg = NULL; - dns_section_t section; - dns_name_t *name = NULL; - dns_rdataset_t *soaset = NULL; - dns_rdata_soa_t soa; - dns_rdata_t soarr = DNS_RDATA_INIT; - int pass = 0; - dns_name_t master; - nsu_requestinfo_t *reqinfo; - dns_message_t *soaquery = NULL; - isc_sockaddr_t *addr; - isc_sockaddr_t *srcaddr; - bool seencname = false; - dns_name_t tname; - unsigned int nlabels; + dns_request_t * request = NULL; + isc_result_t result, eresult; + dns_message_t * rcvmsg = NULL; + dns_section_t section; + dns_name_t * name = NULL; + dns_rdataset_t * soaset = NULL; + dns_rdata_soa_t soa; + dns_rdata_t soarr = DNS_RDATA_INIT; + int pass = 0; + dns_name_t master; + nsu_requestinfo_t * reqinfo; + dns_message_t * soaquery = NULL; + isc_sockaddr_t * addr; + isc_sockaddr_t * srcaddr; + bool seencname = false; + dns_name_t tname; + unsigned int nlabels; UNUSED(task); @@ -2512,12 +2568,10 @@ recvsoa(isc_task_t *task, isc_event_t *event) { else srcaddr = localaddr4; - result = dns_request_createvia(requestmgr, soaquery, srcaddr, - addr, -1, 0, NULL, - FIND_TIMEOUT * 20, - FIND_TIMEOUT, 3, - global_task, recvsoa, reqinfo, - &request); + result = dns_request_createvia( + requestmgr, soaquery, srcaddr, addr, -1, 0, NULL, + FIND_TIMEOUT * 20, FIND_TIMEOUT, 3, global_task, + recvsoa, reqinfo, &request); check_result(result, "dns_request_createvia"); requests++; return; @@ -2535,8 +2589,7 @@ recvsoa(isc_task_t *task, isc_event_t *event) { if (userzone != NULL && rcvmsg->rcode == dns_rcode_nxdomain) { char namebuf[DNS_NAME_FORMATSIZE]; dns_name_format(userzone, namebuf, sizeof(namebuf)); - error("specified zone '%s' does not exist (NXDOMAIN)", - namebuf); + error("specified zone '%s' does not exist (NXDOMAIN)", namebuf); dns_message_destroy(&rcvmsg); dns_request_destroy(&request); dns_message_destroy(&soaquery); @@ -2546,7 +2599,7 @@ recvsoa(isc_task_t *task, isc_event_t *event) { return; } - lookforsoa: +lookforsoa: if (pass == 0) section = DNS_SECTION_ANSWER; else if (pass == 1) @@ -2572,7 +2625,7 @@ recvsoa(isc_task_t *task, isc_event_t *event) { if (dns_message_findtype(name, dns_rdatatype_cname, 0, &tset) == ISC_R_SUCCESS || dns_message_findtype(name, dns_rdatatype_dname, 0, - &tset) == ISC_R_SUCCESS ) { + &tset) == ISC_R_SUCCESS) { seencname = true; break; } @@ -2624,9 +2677,9 @@ recvsoa(isc_task_t *task, isc_event_t *event) { } if (default_servers) { - char serverstr[DNS_NAME_MAXTEXT+1]; + char serverstr[DNS_NAME_MAXTEXT + 1]; isc_buffer_t buf; - size_t size; + size_t size; isc_buffer_init(&buf, serverstr, sizeof(serverstr)); result = dns_name_totext(&master, true, &buf); @@ -2641,8 +2694,8 @@ recvsoa(isc_task_t *task, isc_event_t *event) { master_servers = isc_mem_get(gmctx, size); memset(master_servers, 0, size); - master_total = get_addresses(serverstr, dnsport, - master_servers, master_alloc); + master_total = get_addresses(serverstr, dnsport, master_servers, + master_alloc); if (master_total == 0) { exit(1); } @@ -2670,12 +2723,12 @@ recvsoa(isc_task_t *task, isc_event_t *event) { dns_message_destroy(&soaquery); dns_request_destroy(&request); - out: +out: dns_message_destroy(&rcvmsg); ddebug("Out of recvsoa"); return; - droplabel: +droplabel: result = dns_message_firstname(soaquery, DNS_SECTION_QUESTION); INSIST(result == ISC_R_SUCCESS); name = NULL; @@ -2697,9 +2750,9 @@ static void sendrequest(isc_sockaddr_t *destaddr, dns_message_t *msg, dns_request_t **request) { - isc_result_t result; + isc_result_t result; nsu_requestinfo_t *reqinfo; - isc_sockaddr_t *srcaddr; + isc_sockaddr_t * srcaddr; reqinfo = isc_mem_get(gmctx, sizeof(nsu_requestinfo_t)); reqinfo->msg = msg; @@ -2724,13 +2777,14 @@ sendrequest(isc_sockaddr_t *destaddr, dns_message_t *msg, * Get the realm from the users kerberos ticket if possible */ static void -get_ticket_realm(isc_mem_t *mctx) { - krb5_context ctx; +get_ticket_realm(isc_mem_t *mctx) +{ + krb5_context ctx; krb5_error_code rc; - krb5_ccache ccache; - krb5_principal princ; - char *name; - const char * ticket_realm; + krb5_ccache ccache; + krb5_principal princ; + char * name; + const char * ticket_realm; rc = krb5_init_context(&ctx); if (rc != 0) @@ -2767,11 +2821,12 @@ get_ticket_realm(isc_mem_t *mctx) { krb5_cc_close(ctx, ccache); krb5_free_context(ctx); if (realm != NULL && debugging) - fprintf(stderr, "Found realm from ticket: %s\n", realm+1); + fprintf(stderr, "Found realm from ticket: %s\n", realm + 1); } static void -failed_gssrequest() { +failed_gssrequest() +{ seenerror = true; dns_name_free(&tmpzonename, gmctx); @@ -2783,18 +2838,19 @@ failed_gssrequest() { } static void -start_gssrequest(dns_name_t *master) { - gss_ctx_id_t context; - isc_buffer_t buf; - isc_result_t result; - uint32_t val = 0; - dns_message_t *rmsg = NULL; - dns_request_t *request = NULL; - dns_name_t *servname; +start_gssrequest(dns_name_t *master) +{ + gss_ctx_id_t context; + isc_buffer_t buf; + isc_result_t result; + uint32_t val = 0; + dns_message_t * rmsg = NULL; + dns_request_t * request = NULL; + dns_name_t * servname; dns_fixedname_t fname; - char namestr[DNS_NAME_FORMATSIZE]; - char mykeystr[DNS_NAME_FORMATSIZE]; - char *err_message = NULL; + char namestr[DNS_NAME_FORMATSIZE]; + char mykeystr[DNS_NAME_FORMATSIZE]; + char * err_message = NULL; debug("start_gssrequest"); usevc = true; @@ -2813,16 +2869,15 @@ start_gssrequest(dns_name_t *master) { kserver = isc_mem_get(gmctx, sizeof(isc_sockaddr_t)); } - memmove(kserver, &master_servers[master_inuse], - sizeof(isc_sockaddr_t)); + memmove(kserver, &master_servers[master_inuse], sizeof(isc_sockaddr_t)); servname = dns_fixedname_initname(&fname); if (realm == NULL) get_ticket_realm(gmctx); - result = snprintf(servicename, sizeof(servicename), "DNS/%s%s", - namestr, realm ? realm : ""); + result = snprintf(servicename, sizeof(servicename), "DNS/%s%s", namestr, + realm ? realm : ""); RUNTIME_CHECK(result < sizeof(servicename)); isc_buffer_init(&buf, servicename, strlen(servicename)); isc_buffer_add(&buf, strlen(servicename)); @@ -2836,8 +2891,8 @@ start_gssrequest(dns_name_t *master) { isc_nonce_buf(&val, sizeof(val)); - result = snprintf(mykeystr, sizeof(mykeystr), "%u.sig-%s", val, - namestr); + result = + snprintf(mykeystr, sizeof(mykeystr), "%u.sig-%s", val, namestr); RUNTIME_CHECK(result <= sizeof(mykeystr)); isc_buffer_init(&buf, mykeystr, strlen(mykeystr)); @@ -2861,8 +2916,8 @@ start_gssrequest(dns_name_t *master) { /* Build first request. */ context = GSS_C_NO_CONTEXT; result = dns_tkey_buildgssquery(rmsg, keyname, servname, NULL, 0, - &context, use_win2k_gsstsig, - gmctx, &err_message); + &context, use_win2k_gsstsig, gmctx, + &err_message); if (result == ISC_R_FAILURE) { fprintf(stderr, "tkey query failed: %s\n", err_message != NULL ? err_message : "unknown error"); @@ -2887,9 +2942,9 @@ static void send_gssrequest(isc_sockaddr_t *destaddr, dns_message_t *msg, dns_request_t **request, gss_ctx_id_t context) { - isc_result_t result; - nsu_gssinfo_t *reqinfo; - unsigned int options = 0; + isc_result_t result; + nsu_gssinfo_t * reqinfo; + unsigned int options = 0; isc_sockaddr_t *srcaddr; debug("send_gssrequest"); @@ -2905,8 +2960,8 @@ send_gssrequest(isc_sockaddr_t *destaddr, dns_message_t *msg, else srcaddr = localaddr4; - result = dns_request_createvia(requestmgr, msg, srcaddr, destaddr, - -1, options, tsigkey, FIND_TIMEOUT * 20, + result = dns_request_createvia(requestmgr, msg, srcaddr, destaddr, -1, + options, tsigkey, FIND_TIMEOUT * 20, FIND_TIMEOUT, 3, global_task, recvgss, reqinfo, request); check_result(result, "dns_request_createvia"); @@ -2916,19 +2971,20 @@ send_gssrequest(isc_sockaddr_t *destaddr, dns_message_t *msg, } static void -recvgss(isc_task_t *task, isc_event_t *event) { +recvgss(isc_task_t *task, isc_event_t *event) +{ dns_requestevent_t *reqev = NULL; - dns_request_t *request = NULL; - isc_result_t result, eresult; - dns_message_t *rcvmsg = NULL; - nsu_gssinfo_t *reqinfo; - dns_message_t *tsigquery = NULL; - isc_sockaddr_t *addr; - gss_ctx_id_t context; - isc_buffer_t buf; - dns_name_t *servname; - dns_fixedname_t fname; - char *err_message = NULL; + dns_request_t * request = NULL; + isc_result_t result, eresult; + dns_message_t * rcvmsg = NULL; + nsu_gssinfo_t * reqinfo; + dns_message_t * tsigquery = NULL; + isc_sockaddr_t * addr; + gss_ctx_id_t context; + isc_buffer_t buf; + dns_name_t * servname; + dns_fixedname_t fname; + char * err_message = NULL; UNUSED(task); @@ -3003,7 +3059,6 @@ recvgss(isc_task_t *task, isc_event_t *event) { rcvmsg->rcode != dns_rcode_nxdomain) fatal("response to GSS-TSIG query was unsuccessful"); - servname = dns_fixedname_initname(&fname); isc_buffer_init(&buf, servicename, strlen(servicename)); isc_buffer_add(&buf, strlen(servicename)); @@ -3011,11 +3066,10 @@ recvgss(isc_task_t *task, isc_event_t *event) { check_result(result, "dns_name_fromtext"); tsigkey = NULL; - result = dns_tkey_gssnegotiate(tsigquery, rcvmsg, servname, - &context, &tsigkey, gssring, - use_win2k_gsstsig, &err_message); + result = dns_tkey_gssnegotiate(tsigquery, rcvmsg, servname, &context, + &tsigkey, gssring, use_win2k_gsstsig, + &err_message); switch (result) { - case DNS_R_CONTINUE: dns_message_destroy(&rcvmsg); dns_request_destroy(&request); @@ -3058,12 +3112,11 @@ recvgss(isc_task_t *task, isc_event_t *event) { break; default: - fatal("dns_tkey_gssnegotiate: %s %s", - isc_result_totext(result), + fatal("dns_tkey_gssnegotiate: %s %s", isc_result_totext(result), err_message != NULL ? err_message : ""); } - done: +done: dns_request_destroy(&request); dns_message_destroy(&tsigquery); @@ -3073,14 +3126,15 @@ recvgss(isc_task_t *task, isc_event_t *event) { #endif static void -start_update(void) { - isc_result_t result; +start_update(void) +{ + isc_result_t result; dns_rdataset_t *rdataset = NULL; - dns_name_t *name = NULL; - dns_request_t *request = NULL; - dns_message_t *soaquery = NULL; - dns_name_t *firstname; - dns_section_t section = DNS_SECTION_UPDATE; + dns_name_t * name = NULL; + dns_request_t * request = NULL; + dns_message_t * soaquery = NULL; + dns_name_t * firstname; + dns_section_t section = DNS_SECTION_UPDATE; ddebug("start_update()"); @@ -3099,8 +3153,7 @@ start_update(void) { return; } - result = dns_message_create(gmctx, DNS_MESSAGE_INTENTRENDER, - &soaquery); + result = dns_message_create(gmctx, DNS_MESSAGE_INTENTRENDER, &soaquery); check_result(result, "dns_message_create"); if (default_servers) @@ -3146,8 +3199,8 @@ start_update(void) { if (section == DNS_SECTION_UPDATE && !dns_name_equal(firstname, dns_rootname) && tmprdataset->type == dns_rdatatype_ds) { - unsigned int labels = dns_name_countlabels(name); - dns_name_getlabelsequence(name, 1, labels - 1, name); + unsigned int labels = dns_name_countlabels(name); + dns_name_getlabelsequence(name, 1, labels - 1, name); } } @@ -3160,7 +3213,8 @@ start_update(void) { } static void -cleanup(void) { +cleanup(void) +{ ddebug("cleanup()"); if (answer != NULL) @@ -3216,7 +3270,8 @@ cleanup(void) { } static void -getinput(isc_task_t *task, isc_event_t *event) { +getinput(isc_task_t *task, isc_event_t *event) +{ bool more; UNUSED(task); @@ -3240,7 +3295,8 @@ getinput(isc_task_t *task, isc_event_t *event) { } int -main(int argc, char **argv) { +main(int argc, char **argv) +{ isc_result_t result; style = &dns_master_style_debug; diff --git a/bin/pkcs11/pkcs11-destroy.c b/bin/pkcs11/pkcs11-destroy.c index 1d0eb21dea..60d8f6487c 100644 --- a/bin/pkcs11/pkcs11-destroy.c +++ b/bin/pkcs11/pkcs11-destroy.c @@ -38,7 +38,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - /* * pkcs11-destroy [-m module] [-s $slot] [-i $id | -l $label] * [-p $pin] [ -w $wait ] @@ -46,12 +45,11 @@ /*! \file */ +#include +#include #include #include -#include -#include #include -#include #include #include @@ -60,31 +58,32 @@ #include #include +#include #ifdef WIN32 -#define sleep(x) Sleep(x) +#define sleep(x) Sleep(x) #endif int -main(int argc, char *argv[]) { - isc_result_t result; - CK_RV rv; - CK_SLOT_ID slot = 0; +main(int argc, char *argv[]) +{ + isc_result_t result; + CK_RV rv; + CK_SLOT_ID slot = 0; CK_SESSION_HANDLE hSession; - CK_BYTE attr_id[2]; - CK_OBJECT_HANDLE akey[50]; - pk11_context_t pctx; - char *lib_name = NULL; - char *label = NULL; - char *pin = NULL; - int error = 0; - unsigned int id = 0, i = 0, wait = 5; - int c, errflg = 0; - CK_ULONG ulObjectCount; - CK_ATTRIBUTE search_template[] = { - {CKA_ID, &attr_id, sizeof(attr_id)} - }; - unsigned int j, len; + CK_BYTE attr_id[2]; + CK_OBJECT_HANDLE akey[50]; + pk11_context_t pctx; + char * lib_name = NULL; + char * label = NULL; + char * pin = NULL; + int error = 0; + unsigned int id = 0, i = 0, wait = 5; + int c, errflg = 0; + CK_ULONG ulObjectCount; + CK_ATTRIBUTE search_template[] = { { CKA_ID, &attr_id, + sizeof(attr_id) } }; + unsigned int j, len; while ((c = isc_commandline_parse(argc, argv, ":m:s:i:l:p:w:")) != -1) { switch (c) { @@ -108,8 +107,7 @@ main(int argc, char *argv[]) { wait = atoi(isc_commandline_argument); break; case ':': - fprintf(stderr, - "Option -%c requires an operand\n", + fprintf(stderr, "Option -%c requires an operand\n", isc_commandline_option); errflg++; break; @@ -147,17 +145,18 @@ main(int argc, char *argv[]) { pin = getpass("Enter Pin: "); } - result = pk11_get_session(&pctx, OP_ANY, false, true, - true, (const char *) pin, slot); + result = pk11_get_session(&pctx, OP_ANY, false, true, true, + (const char *)pin, slot); if (result == PK11_R_NORANDOMSERVICE || - result == PK11_R_NODIGESTSERVICE || - result == PK11_R_NOAESSERVICE) { + result == PK11_R_NODIGESTSERVICE || result == PK11_R_NOAESSERVICE) { fprintf(stderr, "Warning: %s\n", isc_result_totext(result)); fprintf(stderr, "This HSM will not work with BIND 9 " "using native PKCS#11.\n"); } else if (result != ISC_R_SUCCESS) { - fprintf(stderr, "Unrecoverable error initializing " - "PKCS#11: %s\n", isc_result_totext(result)); + fprintf(stderr, + "Unrecoverable error initializing " + "PKCS#11: %s\n", + isc_result_totext(result)); exit(1); } @@ -166,14 +165,14 @@ main(int argc, char *argv[]) { hSession = pctx.session; rv = pkcs_C_FindObjectsInit(hSession, search_template, - ((id != 0) || (label != NULL)) ? 1 : 0); + ((id != 0) || (label != NULL)) ? 1 : 0); if (rv != CKR_OK) { fprintf(stderr, "C_FindObjectsInit: Error = 0x%.8lX\n", rv); error = 1; goto exit_session; } - + rv = pkcs_C_FindObjects(hSession, akey, 50, &ulObjectCount); if (rv != CKR_OK) { fprintf(stderr, "C_FindObjects: Error = 0x%.8lX\n", rv); @@ -189,29 +188,29 @@ main(int argc, char *argv[]) { for (i = 0; i < ulObjectCount; i++) { CK_OBJECT_CLASS oclass = 0; - CK_BYTE labelbuf[64 + 1]; - CK_BYTE idbuf[64]; - CK_ATTRIBUTE attr_template[] = { - {CKA_CLASS, &oclass, sizeof(oclass)}, - {CKA_LABEL, labelbuf, sizeof(labelbuf) - 1}, - {CKA_ID, idbuf, sizeof(idbuf)} + CK_BYTE labelbuf[64 + 1]; + CK_BYTE idbuf[64]; + CK_ATTRIBUTE attr_template[] = { + { CKA_CLASS, &oclass, sizeof(oclass) }, + { CKA_LABEL, labelbuf, sizeof(labelbuf) - 1 }, + { CKA_ID, idbuf, sizeof(idbuf) } }; memset(labelbuf, 0, sizeof(labelbuf)); memset(idbuf, 0, sizeof(idbuf)); - rv = pkcs_C_GetAttributeValue(hSession, akey[i], - attr_template, 3); + rv = pkcs_C_GetAttributeValue(hSession, akey[i], attr_template, + 3); if (rv != CKR_OK) { fprintf(stderr, - "C_GetAttributeValue[%u]: rv = 0x%.8lX\n", - i, rv); + "C_GetAttributeValue[%u]: rv = 0x%.8lX\n", i, + rv); error = 1; goto exit_search; } len = attr_template[2].ulValueLen; - printf(" object[%u]: class %lu, label '%s', id[%lu] ", - i, oclass, labelbuf, attr_template[2].ulValueLen); + printf(" object[%u]: class %lu, label '%s', id[%lu] ", i, + oclass, labelbuf, attr_template[2].ulValueLen); if (len > 4) len = 4; if (len > 0) @@ -226,7 +225,8 @@ main(int argc, char *argv[]) { if (wait != 0) { printf("WARNING: This action is irreversible! " - "Destroying key objects in %u seconds\n ", wait); + "Destroying key objects in %u seconds\n ", + wait); for (i = 0; i < wait; i++) { printf("."); fflush(stdout); @@ -239,8 +239,8 @@ main(int argc, char *argv[]) { rv = pkcs_C_DestroyObject(hSession, akey[i]); if (rv != CKR_OK) { fprintf(stderr, - "C_DestroyObject[%u] failed: rv = 0x%.8lX\n", - i, rv); + "C_DestroyObject[%u] failed: rv = 0x%.8lX\n", i, + rv); error = 1; } } @@ -248,16 +248,16 @@ main(int argc, char *argv[]) { if (error == 0) printf("Destruction complete.\n"); - exit_search: +exit_search: rv = pkcs_C_FindObjectsFinal(hSession); if (rv != CKR_OK) { fprintf(stderr, "C_FindObjectsFinal: Error = 0x%.8lX\n", rv); error = 1; } - exit_session: +exit_session: pk11_return_session(&pctx); - (void) pk11_finalize(); + (void)pk11_finalize(); exit(error); } diff --git a/bin/pkcs11/pkcs11-keygen.c b/bin/pkcs11/pkcs11-keygen.c index f7cb295d8e..902391299c 100644 --- a/bin/pkcs11/pkcs11-keygen.c +++ b/bin/pkcs11/pkcs11-keygen.c @@ -54,12 +54,11 @@ /*! \file */ +#include +#include #include #include -#include -#include #include -#include #include #include @@ -67,22 +66,18 @@ #include #include +#include #include #include -#include #include +#include /* Define static key template values */ static CK_BBOOL truevalue = TRUE; static CK_BBOOL falsevalue = FALSE; /* Key class: RSA, ECC, ECX, or unknown */ -typedef enum { - key_unknown, - key_rsa, - key_ecc, - key_ecx -} key_class_t; +typedef enum { key_unknown, key_rsa, key_ecc, key_ecx } key_class_t; /* * Private key template: usable for most key classes without @@ -98,13 +93,13 @@ typedef enum { #define PRIVATE_ID 6 #define PRIVATE_ATTRS 7 static CK_ATTRIBUTE private_template[] = { - {CKA_LABEL, NULL_PTR, 0}, - {CKA_SIGN, &truevalue, sizeof(truevalue)}, - {CKA_TOKEN, &truevalue, sizeof(truevalue)}, - {CKA_PRIVATE, &truevalue, sizeof(truevalue)}, - {CKA_SENSITIVE, &truevalue, sizeof(truevalue)}, - {CKA_EXTRACTABLE, &falsevalue, sizeof(falsevalue)}, - {CKA_ID, NULL_PTR, 0} + { CKA_LABEL, NULL_PTR, 0 }, + { CKA_SIGN, &truevalue, sizeof(truevalue) }, + { CKA_TOKEN, &truevalue, sizeof(truevalue) }, + { CKA_PRIVATE, &truevalue, sizeof(truevalue) }, + { CKA_SENSITIVE, &truevalue, sizeof(truevalue) }, + { CKA_EXTRACTABLE, &falsevalue, sizeof(falsevalue) }, + { CKA_ID, NULL_PTR, 0 } }; /* @@ -119,13 +114,13 @@ static CK_ATTRIBUTE private_template[] = { #define RSA_ID 6 #define RSA_ATTRS 7 static CK_ATTRIBUTE rsa_template[] = { - {CKA_LABEL, NULL_PTR, 0}, - {CKA_VERIFY, &truevalue, sizeof(truevalue)}, - {CKA_TOKEN, &truevalue, sizeof(truevalue)}, - {CKA_PRIVATE, &falsevalue, sizeof(falsevalue)}, - {CKA_MODULUS_BITS, NULL_PTR, 0}, - {CKA_PUBLIC_EXPONENT, NULL_PTR, 0}, - {CKA_ID, NULL_PTR, 0} + { CKA_LABEL, NULL_PTR, 0 }, + { CKA_VERIFY, &truevalue, sizeof(truevalue) }, + { CKA_TOKEN, &truevalue, sizeof(truevalue) }, + { CKA_PRIVATE, &falsevalue, sizeof(falsevalue) }, + { CKA_MODULUS_BITS, NULL_PTR, 0 }, + { CKA_PUBLIC_EXPONENT, NULL_PTR, 0 }, + { CKA_ID, NULL_PTR, 0 } }; /* @@ -139,12 +134,12 @@ static CK_ATTRIBUTE rsa_template[] = { #define ECC_ID 5 #define ECC_ATTRS 6 static CK_ATTRIBUTE ecc_template[] = { - {CKA_LABEL, NULL_PTR, 0}, - {CKA_VERIFY, &truevalue, sizeof(truevalue)}, - {CKA_TOKEN, &truevalue, sizeof(truevalue)}, - {CKA_PRIVATE, &falsevalue, sizeof(falsevalue)}, - {CKA_EC_PARAMS, NULL_PTR, 0}, - {CKA_ID, NULL_PTR, 0} + { CKA_LABEL, NULL_PTR, 0 }, + { CKA_VERIFY, &truevalue, sizeof(truevalue) }, + { CKA_TOKEN, &truevalue, sizeof(truevalue) }, + { CKA_PRIVATE, &falsevalue, sizeof(falsevalue) }, + { CKA_EC_PARAMS, NULL_PTR, 0 }, + { CKA_ID, NULL_PTR, 0 } }; /* @@ -153,7 +148,8 @@ static CK_ATTRIBUTE ecc_template[] = { * NSEC3RSASHA1 maps to RSA. */ static key_class_t -keyclass_fromtext(const char *name) { +keyclass_fromtext(const char *name) +{ if (name == NULL) return (key_unknown); @@ -171,44 +167,43 @@ keyclass_fromtext(const char *name) { } static void -usage(void) { - fprintf(stderr, - "Usage:\n" - "\tpkcs11-keygen -a algorithm -b keysize -l label\n" - "\t [-P] [-m module] " +usage(void) +{ + fprintf(stderr, "Usage:\n" + "\tpkcs11-keygen -a algorithm -b keysize -l label\n" + "\t [-P] [-m module] " "[-s slot] [-e] [-S] [-i id] [-p PIN]\n"); exit(2); } int -main(int argc, char *argv[]) { - isc_result_t result; - CK_RV rv; - CK_SLOT_ID slot = 0; - CK_MECHANISM mech; +main(int argc, char *argv[]) +{ + isc_result_t result; + CK_RV rv; + CK_SLOT_ID slot = 0; + CK_MECHANISM mech; CK_SESSION_HANDLE hSession; - char *lib_name = NULL; - char *pin = NULL; - CK_ULONG bits = 0; - CK_CHAR *label = NULL; - CK_OBJECT_HANDLE privatekey, publickey; - CK_BYTE exponent[5]; - CK_ULONG expsize = 0; - pk11_context_t pctx; - int error = 0; - int c, errflg = 0; - int hide = 1, quiet = 0; - int idlen = 0, id_offset = 0; - unsigned long id = 0; - CK_BYTE idbuf[4]; - CK_ULONG ulObjectCount; - CK_ATTRIBUTE search_template[] = { - {CKA_LABEL, NULL_PTR, 0} - }; - CK_ATTRIBUTE *public_template = NULL; - CK_ULONG public_attrcnt = 0, private_attrcnt = PRIVATE_ATTRS; - key_class_t keyclass = key_rsa; - pk11_optype_t op_type = OP_ANY; + char * lib_name = NULL; + char * pin = NULL; + CK_ULONG bits = 0; + CK_CHAR * label = NULL; + CK_OBJECT_HANDLE privatekey, publickey; + CK_BYTE exponent[5]; + CK_ULONG expsize = 0; + pk11_context_t pctx; + int error = 0; + int c, errflg = 0; + int hide = 1, quiet = 0; + int idlen = 0, id_offset = 0; + unsigned long id = 0; + CK_BYTE idbuf[4]; + CK_ULONG ulObjectCount; + CK_ATTRIBUTE search_template[] = { { CKA_LABEL, NULL_PTR, 0 } }; + CK_ATTRIBUTE * public_template = NULL; + CK_ULONG public_attrcnt = 0, private_attrcnt = PRIVATE_ATTRS; + key_class_t keyclass = key_rsa; + pk11_optype_t op_type = OP_ANY; #define OPTIONS ":a:b:ei:l:m:Pp:qSs:" while ((c = isc_commandline_parse(argc, argv, OPTIONS)) != -1) { @@ -246,8 +241,7 @@ main(int argc, char *argv[]) { quiet = 1; break; case ':': - fprintf(stderr, - "Option -%c requires an operand\n", + fprintf(stderr, "Option -%c requires an operand\n", isc_commandline_option); errflg++; break; @@ -360,8 +354,7 @@ main(int argc, char *argv[]) { sizeof(pk11_ecc_ed25519); } else { public_template[4].pValue = pk11_ecc_ed448; - public_template[4].ulValueLen = - sizeof(pk11_ecc_ed448); + public_template[4].ulValueLen = sizeof(pk11_ecc_ed448); } #endif @@ -408,17 +401,18 @@ main(int argc, char *argv[]) { pin = getpass("Enter Pin: "); } - result = pk11_get_session(&pctx, op_type, false, true, - true, (const char *) pin, slot); + result = pk11_get_session(&pctx, op_type, false, true, true, + (const char *)pin, slot); if (result == PK11_R_NORANDOMSERVICE || - result == PK11_R_NODIGESTSERVICE || - result == PK11_R_NOAESSERVICE) { + result == PK11_R_NODIGESTSERVICE || result == PK11_R_NOAESSERVICE) { fprintf(stderr, "Warning: %s\n", isc_result_totext(result)); fprintf(stderr, "This HSM will not work with BIND 9 " "using native PKCS#11.\n"); } else if (result != ISC_R_SUCCESS) { - fprintf(stderr, "Unrecoverable error initializing " - "PKCS#11: %s\n", isc_result_totext(result)); + fprintf(stderr, + "Unrecoverable error initializing " + "PKCS#11: %s\n", + isc_result_totext(result)); exit(1); } @@ -452,10 +446,9 @@ main(int argc, char *argv[]) { } /* Generate Key pair for signing/verifying */ - rv = pkcs_C_GenerateKeyPair(hSession, &mech, - public_template, public_attrcnt, - private_template, private_attrcnt, - &publickey, &privatekey); + rv = pkcs_C_GenerateKeyPair(hSession, &mech, public_template, + public_attrcnt, private_template, + private_attrcnt, &publickey, &privatekey); if (rv != CKR_OK) { fprintf(stderr, "C_GenerateKeyPair: Error = 0x%.8lX\n", rv); @@ -464,16 +457,16 @@ main(int argc, char *argv[]) { printf("Key pair generation complete.\n"); } - exit_search: +exit_search: rv = pkcs_C_FindObjectsFinal(hSession); if (rv != CKR_OK) { fprintf(stderr, "C_FindObjectsFinal: Error = 0x%.8lX\n", rv); error = 1; } - exit_session: +exit_session: pk11_return_session(&pctx); - (void) pk11_finalize(); + (void)pk11_finalize(); exit(error); } diff --git a/bin/pkcs11/pkcs11-list.c b/bin/pkcs11/pkcs11-list.c index 865d13a186..2735cea912 100644 --- a/bin/pkcs11/pkcs11-list.c +++ b/bin/pkcs11/pkcs11-list.c @@ -33,18 +33,16 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - /* pkcs11-list [-P] [-m module] [-s slot] [-i $id | -l $label] [-p $pin] */ /*! \file */ -#include -#include -#include -#include #include +#include +#include +#include +#include #include -#include #include #include @@ -53,26 +51,27 @@ #include #include +#include int -main(int argc, char *argv[]) { - isc_result_t result; - CK_RV rv; - CK_SLOT_ID slot = 0; +main(int argc, char *argv[]) +{ + isc_result_t result; + CK_RV rv; + CK_SLOT_ID slot = 0; CK_SESSION_HANDLE hSession; - CK_BYTE attr_id[2]; - CK_OBJECT_HANDLE akey[50]; - pk11_context_t pctx; - char *lib_name = NULL; - char *label = NULL; - char *pin = NULL; - bool error = false, logon = true, all = false; - unsigned int i = 0, id = 0; - int c, errflg = 0; - CK_ULONG ulObjectCount; - CK_ATTRIBUTE search_template[] = { - {CKA_ID, &attr_id, sizeof(attr_id)} - }; + CK_BYTE attr_id[2]; + CK_OBJECT_HANDLE akey[50]; + pk11_context_t pctx; + char * lib_name = NULL; + char * label = NULL; + char * pin = NULL; + bool error = false, logon = true, all = false; + unsigned int i = 0, id = 0; + int c, errflg = 0; + CK_ULONG ulObjectCount; + CK_ATTRIBUTE search_template[] = { { CKA_ID, &attr_id, + sizeof(attr_id) } }; while ((c = isc_commandline_parse(argc, argv, ":m:s:i:l:p:P")) != -1) { switch (c) { @@ -142,19 +141,22 @@ main(int argc, char *argv[]) { pin = getpass("Enter Pin: "); } - result = pk11_get_session(&pctx, OP_ANY, false, false, - logon, pin, slot); + result = + pk11_get_session(&pctx, OP_ANY, false, false, logon, pin, slot); if (result == PK11_R_NORANDOMSERVICE || - result == PK11_R_NODIGESTSERVICE || - result == PK11_R_NOAESSERVICE) { + result == PK11_R_NODIGESTSERVICE || result == PK11_R_NOAESSERVICE) { fprintf(stderr, "Warning: %s\n", isc_result_totext(result)); fprintf(stderr, "This HSM will not work with BIND 9 " "using native PKCS#11.\n"); } else if (result != ISC_R_SUCCESS) { - fprintf(stderr, "Unrecoverable error initializing " - "PKCS#11: %s\n", isc_result_totext(result)); - fprintf(stderr, "Unrecoverable error initializing " - "PKCS#11: %s\n", isc_result_totext(result)); + fprintf(stderr, + "Unrecoverable error initializing " + "PKCS#11: %s\n", + isc_result_totext(result)); + fprintf(stderr, + "Unrecoverable error initializing " + "PKCS#11: %s\n", + isc_result_totext(result)); exit(1); } @@ -174,9 +176,7 @@ main(int argc, char *argv[]) { while (ulObjectCount) { rv = pkcs_C_FindObjects(hSession, akey, 50, &ulObjectCount); if (rv != CKR_OK) { - fprintf(stderr, - "C_FindObjects: Error = 0x%.8lX\n", - rv); + fprintf(stderr, "C_FindObjects: Error = 0x%.8lX\n", rv); error = 1; goto exit_search; } @@ -184,25 +184,25 @@ main(int argc, char *argv[]) { unsigned int j, len; CK_OBJECT_CLASS oclass = 0; - CK_BYTE labelbuf[64 + 1]; - CK_BYTE idbuf[64]; - CK_BBOOL extract = TRUE; - CK_BBOOL never = FALSE; + CK_BYTE labelbuf[64 + 1]; + CK_BYTE idbuf[64]; + CK_BBOOL extract = TRUE; + CK_BBOOL never = FALSE; CK_ATTRIBUTE template[] = { - {CKA_CLASS, &oclass, sizeof(oclass)}, - {CKA_LABEL, labelbuf, sizeof(labelbuf) - 1}, - {CKA_ID, idbuf, sizeof(idbuf)} + { CKA_CLASS, &oclass, sizeof(oclass) }, + { CKA_LABEL, labelbuf, sizeof(labelbuf) - 1 }, + { CKA_ID, idbuf, sizeof(idbuf) } }; CK_ATTRIBUTE priv_template[] = { - {CKA_EXTRACTABLE, &extract, sizeof(extract)}, - {CKA_NEVER_EXTRACTABLE, &never, sizeof(never)} + { CKA_EXTRACTABLE, &extract, sizeof(extract) }, + { CKA_NEVER_EXTRACTABLE, &never, sizeof(never) } }; memset(labelbuf, 0, sizeof(labelbuf)); memset(idbuf, 0, sizeof(idbuf)); rv = pkcs_C_GetAttributeValue(hSession, akey[i], - template, 3); + template, 3); if (rv != CKR_OK) { fprintf(stderr, "C_GetAttributeValue[%u]: " @@ -211,8 +211,7 @@ main(int argc, char *argv[]) { if (rv == CKR_BUFFER_TOO_SMALL) fprintf(stderr, "%u too small: %lu %lu %lu\n", - i, - template[0].ulValueLen, + i, template[0].ulValueLen, template[1].ulValueLen, template[2].ulValueLen); error = 1; @@ -222,10 +221,8 @@ main(int argc, char *argv[]) { len = template[2].ulValueLen; printf("object[%u]: handle %lu class %lu " "label[%lu] '%s' id[%lu] ", - i, akey[i], oclass, - template[1].ulValueLen, - labelbuf, - template[2].ulValueLen); + i, akey[i], oclass, template[1].ulValueLen, + labelbuf, template[2].ulValueLen); if (len == 2) { id = (idbuf[0] << 8) & 0xff00; id |= idbuf[1] & 0xff; @@ -243,25 +240,26 @@ main(int argc, char *argv[]) { if ((oclass == CKO_PRIVATE_KEY || oclass == CKO_SECRET_KEY) && pkcs_C_GetAttributeValue(hSession, akey[i], - priv_template, 2) == CKR_OK) { + priv_template, + 2) == CKR_OK) { printf(" E:%s", - extract ? "true" : - (never ? "never" : "false")); + extract ? "true" + : (never ? "never" : "false")); } printf("\n"); } } - exit_search: +exit_search: rv = pkcs_C_FindObjectsFinal(hSession); if (rv != CKR_OK) { fprintf(stderr, "C_FindObjectsFinal: Error = 0x%.8lX\n", rv); error = 1; } - exit_session: +exit_session: pk11_return_session(&pctx); - (void) pk11_finalize(); + (void)pk11_finalize(); exit(error); } diff --git a/bin/pkcs11/pkcs11-tokens.c b/bin/pkcs11/pkcs11-tokens.c index 82584e1a84..70709138c6 100644 --- a/bin/pkcs11/pkcs11-tokens.c +++ b/bin/pkcs11/pkcs11-tokens.c @@ -9,17 +9,15 @@ * information regarding copyright ownership. */ - /* pkcs11-tokens [-m module] */ /*! \file */ +#include +#include #include #include -#include -#include #include -#include #include #include @@ -29,13 +27,15 @@ #include #include +#include int -main(int argc, char *argv[]) { - isc_result_t result; - char *lib_name = NULL; - int c, errflg = 0; - isc_mem_t *mctx = NULL; +main(int argc, char *argv[]) +{ + isc_result_t result; + char * lib_name = NULL; + int c, errflg = 0; + isc_mem_t * mctx = NULL; pk11_context_t pctx; while ((c = isc_commandline_parse(argc, argv, ":m:v")) != -1) { @@ -73,17 +73,17 @@ main(int argc, char *argv[]) { if (lib_name != NULL) pk11_set_lib_name(lib_name); - result = pk11_get_session(&pctx, OP_ANY, true, false, - false, NULL, 0); + result = pk11_get_session(&pctx, OP_ANY, true, false, false, NULL, 0); if (result == PK11_R_NORANDOMSERVICE || - result == PK11_R_NODIGESTSERVICE || - result == PK11_R_NOAESSERVICE) { + result == PK11_R_NODIGESTSERVICE || result == PK11_R_NOAESSERVICE) { fprintf(stderr, "Warning: %s\n", isc_result_totext(result)); fprintf(stderr, "This HSM will not work with BIND 9 " "using native PKCS#11.\n\n"); } else if ((result != ISC_R_SUCCESS) && (result != ISC_R_NOTFOUND)) { - fprintf(stderr, "Unrecoverable error initializing " - "PKCS#11: %s\n", isc_result_totext(result)); + fprintf(stderr, + "Unrecoverable error initializing " + "PKCS#11: %s\n", + isc_result_totext(result)); exit(1); } @@ -91,7 +91,7 @@ main(int argc, char *argv[]) { if (pctx.handle != NULL) pk11_return_session(&pctx); - (void) pk11_finalize(); + (void)pk11_finalize(); isc_mem_destroy(&mctx); diff --git a/bin/plugins/filter-aaaa.c b/bin/plugins/filter-aaaa.c index 5a647e57b1..3044584371 100644 --- a/bin/plugins/filter-aaaa.c +++ b/bin/plugins/filter-aaaa.c @@ -26,16 +26,6 @@ #include #include -#include -#include -#include - -#include -#include -#include -#include -#include - #include #include #include @@ -46,12 +36,22 @@ #include #include -#define CHECK(op) \ - do { \ - result = (op); \ - if (result != ISC_R_SUCCESS) { \ - goto cleanup; \ - } \ +#include +#include +#include + +#include +#include +#include +#include +#include + +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) { \ + goto cleanup; \ + } \ } while (0) /* @@ -59,11 +59,7 @@ * filter-aaaa-on-v6: "no" is NONE, "yes" is FILTER, "break-dnssec" * is BREAK_DNSSEC. */ -typedef enum { - NONE = 0, - FILTER = 1, - BREAK_DNSSEC = 2 -} filter_aaaa_t; +typedef enum { NONE = 0, FILTER = 1, BREAK_DNSSEC = 2 } filter_aaaa_t; /* * Persistent data for use by this module. This will be associated @@ -72,23 +68,23 @@ typedef enum { */ typedef struct filter_data { filter_aaaa_t mode; - uint32_t flags; + uint32_t flags; } filter_data_t; typedef struct filter_instance { ns_plugin_t *module; - isc_mem_t *mctx; + isc_mem_t * mctx; /* * Memory pool for use with persistent data. */ isc_mempool_t *datapool; - isc_mutex_t plock; + isc_mutex_t plock; /* * Hash table associating a client object with its persistent data. */ - isc_ht_t *ht; + isc_ht_t * ht; isc_mutex_t hlock; /* @@ -96,21 +92,20 @@ typedef struct filter_instance { */ filter_aaaa_t v4_aaaa; filter_aaaa_t v6_aaaa; - dns_acl_t *aaaa_acl; + dns_acl_t * aaaa_acl; } filter_instance_t; /* * Per-client flags set by this module */ -#define FILTER_AAAA_RECURSING 0x0001 /* Recursing for A */ -#define FILTER_AAAA_FILTERED 0x0002 /* AAAA was removed from answer */ +#define FILTER_AAAA_RECURSING 0x0001 /* Recursing for A */ +#define FILTER_AAAA_FILTERED 0x0002 /* AAAA was removed from answer */ /* * Client attribute tests. */ -#define WANTDNSSEC(c) (((c)->attributes & NS_CLIENTATTR_WANTDNSSEC) != 0) -#define RECURSIONOK(c) (((c)->query.attributes & \ - NS_QUERYATTR_RECURSIONOK) != 0) +#define WANTDNSSEC(c) (((c)->attributes & NS_CLIENTATTR_WANTDNSSEC) != 0) +#define RECURSIONOK(c) (((c)->query.attributes & NS_QUERYATTR_RECURSIONOK) != 0) /* * Forward declarations of functions referenced in install_hooks(). @@ -168,18 +163,14 @@ install_hooks(ns_hooktable_t *hooktable, isc_mem_t *mctx, .action_data = inst, }; - ns_hook_add(hooktable, mctx, - - NS_QUERY_QCTX_INITIALIZED, &filter_init); - ns_hook_add(hooktable, mctx, - NS_QUERY_RESPOND_BEGIN, &filter_respbegin); - ns_hook_add(hooktable, mctx, - NS_QUERY_RESPOND_ANY_FOUND, &filter_respanyfound); - ns_hook_add(hooktable, mctx, - NS_QUERY_PREP_RESPONSE_BEGIN, &filter_prepresp); - ns_hook_add(hooktable, mctx, - NS_QUERY_DONE_SEND, &filter_donesend); - ns_hook_add(hooktable, mctx, - NS_QUERY_QCTX_DESTROYED, &filter_destroy); + ns_hook_add(hooktable, mctx, -NS_QUERY_QCTX_INITIALIZED, &filter_init); + ns_hook_add(hooktable, mctx, NS_QUERY_RESPOND_BEGIN, &filter_respbegin); + ns_hook_add(hooktable, mctx, NS_QUERY_RESPOND_ANY_FOUND, + &filter_respanyfound); + ns_hook_add(hooktable, mctx, NS_QUERY_PREP_RESPONSE_BEGIN, + &filter_prepresp); + ns_hook_add(hooktable, mctx, NS_QUERY_DONE_SEND, &filter_donesend); + ns_hook_add(hooktable, mctx, NS_QUERY_QCTX_DESTROYED, &filter_destroy); } /** @@ -192,18 +183,20 @@ install_hooks(ns_hooktable_t *hooktable, isc_mem_t *mctx, static const char *filter_aaaa_enums[] = { "break-dnssec", NULL }; static isc_result_t -parse_filter_aaaa(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +parse_filter_aaaa(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ return (cfg_parse_enum_or_other(pctx, type, &cfg_type_boolean, ret)); } static void -doc_filter_aaaa(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_filter_aaaa(cfg_printer_t *pctx, const cfg_type_t *type) +{ cfg_doc_enum_or_other(pctx, type, &cfg_type_boolean); } static cfg_type_t cfg_type_filter_aaaa = { - "filter_aaaa", parse_filter_aaaa, cfg_print_ustring, - doc_filter_aaaa, &cfg_rep_string, filter_aaaa_enums, + "filter_aaaa", parse_filter_aaaa, cfg_print_ustring, + doc_filter_aaaa, &cfg_rep_string, filter_aaaa_enums, }; static cfg_clausedef_t param_clauses[] = { @@ -212,14 +205,11 @@ static cfg_clausedef_t param_clauses[] = { { "filter-aaaa-on-v6", &cfg_type_filter_aaaa, 0 }, }; -static cfg_clausedef_t *param_clausesets[] = { - param_clauses, - NULL -}; +static cfg_clausedef_t *param_clausesets[] = { param_clauses, NULL }; static cfg_type_t cfg_type_parameters = { "filter-aaaa-params", cfg_parse_mapbody, cfg_print_mapbody, - cfg_doc_mapbody, &cfg_rep_map, param_clausesets + cfg_doc_mapbody, &cfg_rep_map, param_clausesets }; static isc_result_t @@ -227,7 +217,7 @@ parse_filter_aaaa_on(const cfg_obj_t *param_obj, const char *param_name, filter_aaaa_t *dstp) { const cfg_obj_t *obj = NULL; - isc_result_t result; + isc_result_t result; result = cfg_map_get(param_obj, param_name, &obj); if (result != ISC_R_SUCCESS) { @@ -250,22 +240,21 @@ parse_filter_aaaa_on(const cfg_obj_t *param_obj, const char *param_name, } static isc_result_t -check_syntax(cfg_obj_t *fmap, const void *cfg, - isc_mem_t *mctx, isc_log_t *lctx, void *actx) +check_syntax(cfg_obj_t *fmap, const void *cfg, isc_mem_t *mctx, isc_log_t *lctx, + void *actx) { - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; const cfg_obj_t *aclobj = NULL; - dns_acl_t *acl = NULL; - filter_aaaa_t f4 = NONE, f6 = NONE; + dns_acl_t * acl = NULL; + filter_aaaa_t f4 = NONE, f6 = NONE; cfg_map_get(fmap, "filter-aaaa", &aclobj); if (aclobj == NULL) { return (result); } - CHECK(cfg_acl_fromconfig(aclobj, (const cfg_obj_t *) cfg, - lctx, (cfg_aclconfctx_t *) actx, - mctx, 0, &acl)); + CHECK(cfg_acl_fromconfig(aclobj, (const cfg_obj_t *)cfg, lctx, + (cfg_aclconfctx_t *)actx, mctx, 0, &acl)); CHECK(parse_filter_aaaa_on(fmap, "filter-aaaa-on-v4", &f4)); CHECK(parse_filter_aaaa_on(fmap, "filter-aaaa-on-v6", &f6)); @@ -284,7 +273,7 @@ check_syntax(cfg_obj_t *fmap, const void *cfg, result = ISC_R_FAILURE; } - cleanup: +cleanup: if (acl != NULL) { dns_acl_detach(&acl); } @@ -297,11 +286,11 @@ parse_parameters(filter_instance_t *inst, const char *parameters, const void *cfg, const char *cfg_file, unsigned long cfg_line, isc_mem_t *mctx, isc_log_t *lctx, void *actx) { - isc_result_t result = ISC_R_SUCCESS; - cfg_parser_t *parser = NULL; - cfg_obj_t *param_obj = NULL; + isc_result_t result = ISC_R_SUCCESS; + cfg_parser_t * parser = NULL; + cfg_obj_t * param_obj = NULL; const cfg_obj_t *obj = NULL; - isc_buffer_t b; + isc_buffer_t b; CHECK(cfg_parser_create(mctx, lctx, &parser)); @@ -319,14 +308,14 @@ parse_parameters(filter_instance_t *inst, const char *parameters, result = cfg_map_get(param_obj, "filter-aaaa", &obj); if (result == ISC_R_SUCCESS) { - CHECK(cfg_acl_fromconfig(obj, (const cfg_obj_t *) cfg, - lctx, (cfg_aclconfctx_t *) actx, - mctx, 0, &inst->aaaa_acl)); + CHECK(cfg_acl_fromconfig(obj, (const cfg_obj_t *)cfg, lctx, + (cfg_aclconfctx_t *)actx, mctx, 0, + &inst->aaaa_acl)); } else { CHECK(dns_acl_any(mctx, &inst->aaaa_acl)); } - cleanup: +cleanup: if (param_obj != NULL) { cfg_obj_destroy(parser, ¶m_obj); } @@ -350,17 +339,15 @@ parse_parameters(filter_instance_t *inst, const char *parameters, * register hook functions into the view hook table. */ isc_result_t -plugin_register(const char *parameters, - const void *cfg, const char *cfg_file, unsigned long cfg_line, - isc_mem_t *mctx, isc_log_t *lctx, void *actx, - ns_hooktable_t *hooktable, void **instp) +plugin_register(const char *parameters, const void *cfg, const char *cfg_file, + unsigned long cfg_line, isc_mem_t *mctx, isc_log_t *lctx, + void *actx, ns_hooktable_t *hooktable, void **instp) { filter_instance_t *inst = NULL; - isc_result_t result; + isc_result_t result; - - isc_log_write(lctx, NS_LOGCATEGORY_GENERAL, - NS_LOGMODULE_HOOKS, ISC_LOG_INFO, + isc_log_write(lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_HOOKS, + ISC_LOG_INFO, "registering 'filter-aaaa' " "module from %s:%lu, %s parameters", cfg_file, cfg_line, parameters != NULL ? "with" : "no"); @@ -374,8 +361,7 @@ plugin_register(const char *parameters, cfg_line, mctx, lctx, actx)); } - isc_mempool_create(mctx, sizeof(filter_data_t), - &inst->datapool); + isc_mempool_create(mctx, sizeof(filter_data_t), &inst->datapool); CHECK(isc_ht_init(&inst->ht, mctx, 16)); isc_mutex_init(&inst->hlock); @@ -401,23 +387,23 @@ plugin_register(const char *parameters, *instp = inst; - cleanup: +cleanup: if (result != ISC_R_SUCCESS && inst != NULL) { - plugin_destroy((void **) &inst); + plugin_destroy((void **)&inst); } return (result); } isc_result_t -plugin_check(const char *parameters, - const void *cfg, const char *cfg_file, unsigned long cfg_line, - isc_mem_t *mctx, isc_log_t *lctx, void *actx) +plugin_check(const char *parameters, const void *cfg, const char *cfg_file, + unsigned long cfg_line, isc_mem_t *mctx, isc_log_t *lctx, + void *actx) { - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; cfg_parser_t *parser = NULL; - cfg_obj_t *param_obj = NULL; - isc_buffer_t b; + cfg_obj_t * param_obj = NULL; + isc_buffer_t b; CHECK(cfg_parser_create(mctx, lctx, &parser)); @@ -428,7 +414,7 @@ plugin_check(const char *parameters, CHECK(check_syntax(param_obj, cfg, mctx, lctx, actx)); - cleanup: +cleanup: if (param_obj != NULL) { cfg_obj_destroy(parser, ¶m_obj); } @@ -443,8 +429,9 @@ plugin_check(const char *parameters, * the module when it was registered. */ void -plugin_destroy(void **instp) { - filter_instance_t *inst = (filter_instance_t *) *instp; +plugin_destroy(void **instp) +{ + filter_instance_t *inst = (filter_instance_t *)*instp; if (inst->ht != NULL) { isc_ht_destroy(&inst->ht); @@ -468,7 +455,8 @@ plugin_destroy(void **instp) { * Returns plugin API version for compatibility checks. */ int -plugin_version(void) { +plugin_version(void) +{ return (NS_PLUGIN_VERSION); } @@ -480,25 +468,25 @@ plugin_version(void) { * Structure describing the filtering to be applied by process_section(). */ typedef struct section_filter { - query_ctx_t * qctx; - filter_aaaa_t mode; - dns_section_t section; - const dns_name_t * name; - dns_rdatatype_t type; - bool only_if_a_exists; + query_ctx_t * qctx; + filter_aaaa_t mode; + dns_section_t section; + const dns_name_t *name; + dns_rdatatype_t type; + bool only_if_a_exists; } section_filter_t; /* * Check whether this is an IPv4 client. */ static bool -is_v4_client(ns_client_t *client) { +is_v4_client(ns_client_t *client) +{ if (isc_sockaddr_pf(&client->peeraddr) == AF_INET) { return (true); } if (isc_sockaddr_pf(&client->peeraddr) == AF_INET6 && - IN6_IS_ADDR_V4MAPPED(&client->peeraddr.type.sin6.sin6_addr)) - { + IN6_IS_ADDR_V4MAPPED(&client->peeraddr.type.sin6.sin6_addr)) { return (true); } return (false); @@ -508,19 +496,20 @@ is_v4_client(ns_client_t *client) { * Check whether this is an IPv6 client. */ static bool -is_v6_client(ns_client_t *client) { +is_v6_client(ns_client_t *client) +{ if (isc_sockaddr_pf(&client->peeraddr) == AF_INET6 && - !IN6_IS_ADDR_V4MAPPED(&client->peeraddr.type.sin6.sin6_addr)) - { + !IN6_IS_ADDR_V4MAPPED(&client->peeraddr.type.sin6.sin6_addr)) { return (true); } return (false); } static filter_data_t * -client_state_get(const query_ctx_t *qctx, filter_instance_t *inst) { +client_state_get(const query_ctx_t *qctx, filter_instance_t *inst) +{ filter_data_t *client_state = NULL; - isc_result_t result; + isc_result_t result; LOCK(&inst->hlock); result = isc_ht_find(inst->ht, (const unsigned char *)&qctx->client, @@ -531,9 +520,10 @@ client_state_get(const query_ctx_t *qctx, filter_instance_t *inst) { } static void -client_state_create(const query_ctx_t *qctx, filter_instance_t *inst) { +client_state_create(const query_ctx_t *qctx, filter_instance_t *inst) +{ filter_data_t *client_state; - isc_result_t result; + isc_result_t result; client_state = isc_mempool_get(inst->datapool); if (client_state == NULL) { @@ -551,9 +541,10 @@ client_state_create(const query_ctx_t *qctx, filter_instance_t *inst) { } static void -client_state_destroy(const query_ctx_t *qctx, filter_instance_t *inst) { +client_state_destroy(const query_ctx_t *qctx, filter_instance_t *inst) +{ filter_data_t *client_state = client_state_get(qctx, inst); - isc_result_t result; + isc_result_t result; if (client_state == NULL) { return; @@ -573,7 +564,8 @@ client_state_destroy(const query_ctx_t *qctx, filter_instance_t *inst) { * pointers and non-associated rdatasets. */ static void -mark_as_rendered(dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { +mark_as_rendered(dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) +{ if (rdataset != NULL && dns_rdataset_isassociated(rdataset)) { rdataset->attributes |= DNS_RDATASETATTR_RENDERED; } @@ -596,8 +588,8 @@ process_name(query_ctx_t *qctx, filter_aaaa_t mode, const dns_name_t *name, dns_rdatatype_t type, bool only_if_a_exists) { dns_rdataset_t *rdataset = NULL, *sigrdataset = NULL; - isc_result_t result; - bool modified = false; + isc_result_t result; + bool modified = false; if (only_if_a_exists) { CHECK(dns_message_findtype(name, dns_rdatatype_a, 0, NULL)); @@ -609,8 +601,7 @@ process_name(query_ctx_t *qctx, filter_aaaa_t mode, const dns_name_t *name, if (rdataset != NULL && (sigrdataset == NULL || !WANTDNSSEC(qctx->client) || - mode == BREAK_DNSSEC)) - { + mode == BREAK_DNSSEC)) { /* * An RRset of given 'type' was found at 'name' and at least * one of the following is true: @@ -626,7 +617,7 @@ process_name(query_ctx_t *qctx, filter_aaaa_t mode, const dns_name_t *name, modified = true; } - cleanup: +cleanup: return (modified); } @@ -640,21 +631,21 @@ process_name(query_ctx_t *qctx, filter_aaaa_t mode, const dns_name_t *name, * process_name(). */ static void -process_section(const section_filter_t *filter) { - query_ctx_t *qctx = filter->qctx; - filter_aaaa_t mode = filter->mode; - dns_section_t section = filter->section; +process_section(const section_filter_t *filter) +{ + query_ctx_t * qctx = filter->qctx; + filter_aaaa_t mode = filter->mode; + dns_section_t section = filter->section; const dns_name_t *name = filter->name; - dns_rdatatype_t type = filter->type; - bool only_if_a_exists = filter->only_if_a_exists; + dns_rdatatype_t type = filter->type; + bool only_if_a_exists = filter->only_if_a_exists; dns_message_t *message = qctx->client->message; - isc_result_t result; + isc_result_t result; for (result = dns_message_firstname(message, section); result == ISC_R_SUCCESS; - result = dns_message_nextname(message, section)) - { + result = dns_message_nextname(message, section)) { dns_name_t *cur = NULL; dns_message_currentname(message, section, &cur); if (name != NULL && !dns_name_equal(name, cur)) { @@ -672,8 +663,7 @@ process_section(const section_filter_t *filter) { } if (section == DNS_SECTION_ANSWER || - section == DNS_SECTION_AUTHORITY) - { + section == DNS_SECTION_AUTHORITY) { message->flags &= ~DNS_MESSAGEFLAG_AD; } } @@ -686,10 +676,11 @@ process_section(const section_filter_t *filter) { * object persists. */ static ns_hookresult_t -filter_qctx_initialize(void *arg, void *cbdata, isc_result_t *resp) { - query_ctx_t *qctx = (query_ctx_t *) arg; - filter_instance_t *inst = (filter_instance_t *) cbdata; - filter_data_t *client_state; +filter_qctx_initialize(void *arg, void *cbdata, isc_result_t *resp) +{ + query_ctx_t * qctx = (query_ctx_t *)arg; + filter_instance_t *inst = (filter_instance_t *)cbdata; + filter_data_t * client_state; *resp = ISC_R_UNSET; @@ -707,11 +698,12 @@ filter_qctx_initialize(void *arg, void *cbdata, isc_result_t *resp) { * filter-aaaa-on-v6. */ static ns_hookresult_t -filter_prep_response_begin(void *arg, void *cbdata, isc_result_t *resp) { - query_ctx_t *qctx = (query_ctx_t *) arg; - filter_instance_t *inst = (filter_instance_t *) cbdata; - filter_data_t *client_state = client_state_get(qctx, inst); - isc_result_t result; +filter_prep_response_begin(void *arg, void *cbdata, isc_result_t *resp) +{ + query_ctx_t * qctx = (query_ctx_t *)arg; + filter_instance_t *inst = (filter_instance_t *)cbdata; + filter_data_t * client_state = client_state_get(qctx, inst); + isc_result_t result; *resp = ISC_R_UNSET; @@ -722,15 +714,11 @@ filter_prep_response_begin(void *arg, void *cbdata, isc_result_t *resp) { if (inst->v4_aaaa != NONE || inst->v6_aaaa != NONE) { result = ns_client_checkaclsilent(qctx->client, NULL, inst->aaaa_acl, true); - if (result == ISC_R_SUCCESS && - inst->v4_aaaa != NONE && - is_v4_client(qctx->client)) - { + if (result == ISC_R_SUCCESS && inst->v4_aaaa != NONE && + is_v4_client(qctx->client)) { client_state->mode = inst->v4_aaaa; - } else if (result == ISC_R_SUCCESS && - inst->v6_aaaa != NONE && - is_v6_client(qctx->client)) - { + } else if (result == ISC_R_SUCCESS && inst->v6_aaaa != NONE && + is_v6_client(qctx->client)) { client_state->mode = inst->v6_aaaa; } } @@ -746,11 +734,12 @@ filter_prep_response_begin(void *arg, void *cbdata, isc_result_t *resp) { * queries are handled in filter_respond_any_found().) */ static ns_hookresult_t -filter_respond_begin(void *arg, void *cbdata, isc_result_t *resp) { - query_ctx_t *qctx = (query_ctx_t *) arg; - filter_instance_t *inst = (filter_instance_t *) cbdata; - filter_data_t *client_state = client_state_get(qctx, inst); - isc_result_t result = ISC_R_UNSET; +filter_respond_begin(void *arg, void *cbdata, isc_result_t *resp) +{ + query_ctx_t * qctx = (query_ctx_t *)arg; + filter_instance_t *inst = (filter_instance_t *)cbdata; + filter_data_t * client_state = client_state_get(qctx, inst); + isc_result_t result = ISC_R_UNSET; *resp = ISC_R_UNSET; @@ -761,19 +750,16 @@ filter_respond_begin(void *arg, void *cbdata, isc_result_t *resp) { if (client_state->mode != BREAK_DNSSEC && (client_state->mode != FILTER || (WANTDNSSEC(qctx->client) && qctx->sigrdataset != NULL && - dns_rdataset_isassociated(qctx->sigrdataset)))) - { + dns_rdataset_isassociated(qctx->sigrdataset)))) { return (NS_HOOK_CONTINUE); } if (qctx->qtype == dns_rdatatype_aaaa) { dns_rdataset_t *trdataset; trdataset = ns_client_newrdataset(qctx->client); - result = dns_db_findrdataset(qctx->db, qctx->node, - qctx->version, - dns_rdatatype_a, 0, - qctx->client->now, - trdataset, NULL); + result = dns_db_findrdataset( + qctx->db, qctx->node, qctx->version, dns_rdatatype_a, 0, + qctx->client->now, trdataset, NULL); if (dns_rdataset_isassociated(trdataset)) { dns_rdataset_disassociate(trdataset); } @@ -798,11 +784,9 @@ filter_respond_begin(void *arg, void *cbdata, isc_result_t *resp) { mark_as_rendered(qctx->rdataset, qctx->sigrdataset); qctx->client->message->flags &= ~DNS_MESSAGEFLAG_AD; client_state->flags |= FILTER_AAAA_FILTERED; - } else if (!qctx->authoritative && - RECURSIONOK(qctx->client) && + } else if (!qctx->authoritative && RECURSIONOK(qctx->client) && (result == DNS_R_DELEGATION || - result == ISC_R_NOTFOUND)) - { + result == ISC_R_NOTFOUND)) { /* * This is an ugly kludge to recurse * for the A and discard the result. @@ -811,8 +795,7 @@ filter_respond_begin(void *arg, void *cbdata, isc_result_t *resp) { * We'll make a note to not render it * if the recursion for the A succeeds. */ - result = ns_query_recurse(qctx->client, - dns_rdatatype_a, + result = ns_query_recurse(qctx->client, dns_rdatatype_a, qctx->client->query.qname, NULL, NULL, qctx->resuming); if (result == ISC_R_SUCCESS) { @@ -822,8 +805,7 @@ filter_respond_begin(void *arg, void *cbdata, isc_result_t *resp) { } } } else if (qctx->qtype == dns_rdatatype_a && - (client_state->flags & FILTER_AAAA_RECURSING) != 0) - { + (client_state->flags & FILTER_AAAA_RECURSING) != 0) { const section_filter_t filter_answer = { .qctx = qctx, .mode = client_state->mode, @@ -850,10 +832,11 @@ filter_respond_begin(void *arg, void *cbdata, isc_result_t *resp) { * When answering an ANY query, remove AAAA if A is present. */ static ns_hookresult_t -filter_respond_any_found(void *arg, void *cbdata, isc_result_t *resp) { - query_ctx_t *qctx = (query_ctx_t *) arg; - filter_instance_t *inst = (filter_instance_t *) cbdata; - filter_data_t *client_state = client_state_get(qctx, inst); +filter_respond_any_found(void *arg, void *cbdata, isc_result_t *resp) +{ + query_ctx_t * qctx = (query_ctx_t *)arg; + filter_instance_t *inst = (filter_instance_t *)cbdata; + filter_data_t * client_state = client_state_get(qctx, inst); *resp = ISC_R_UNSET; @@ -885,10 +868,11 @@ filter_respond_any_found(void *arg, void *cbdata, isc_result_t *resp) { * section. */ static ns_hookresult_t -filter_query_done_send(void *arg, void *cbdata, isc_result_t *resp) { - query_ctx_t *qctx = (query_ctx_t *) arg; - filter_instance_t *inst = (filter_instance_t *) cbdata; - filter_data_t *client_state = client_state_get(qctx, inst); +filter_query_done_send(void *arg, void *cbdata, isc_result_t *resp) +{ + query_ctx_t * qctx = (query_ctx_t *)arg; + filter_instance_t *inst = (filter_instance_t *)cbdata; + filter_data_t * client_state = client_state_get(qctx, inst); *resp = ISC_R_UNSET; @@ -921,9 +905,10 @@ filter_query_done_send(void *arg, void *cbdata, isc_result_t *resp) { * from hash table and return it to the memory pool. */ static ns_hookresult_t -filter_qctx_destroy(void *arg, void *cbdata, isc_result_t *resp) { - query_ctx_t *qctx = (query_ctx_t *) arg; - filter_instance_t *inst = (filter_instance_t *) cbdata; +filter_qctx_destroy(void *arg, void *cbdata, isc_result_t *resp) +{ + query_ctx_t * qctx = (query_ctx_t *)arg; + filter_instance_t *inst = (filter_instance_t *)cbdata; *resp = ISC_R_UNSET; diff --git a/bin/rndc/include/rndc/os.h b/bin/rndc/include/rndc/os.h index 6346b2b490..9c2a585ff2 100644 --- a/bin/rndc/include/rndc/os.h +++ b/bin/rndc/include/rndc/os.h @@ -9,18 +9,19 @@ * information regarding copyright ownership. */ - /*! \file */ #ifndef RNDC_OS_H #define RNDC_OS_H 1 -#include #include +#include + ISC_LANG_BEGINDECLS -int set_user(FILE *fd, const char *user); +int +set_user(FILE *fd, const char *user); /*%< * Set the owner of the file referenced by 'fd' to 'user'. * Returns: diff --git a/bin/rndc/rndc.c b/bin/rndc/rndc.c index baa7194580..324c3bdf02 100644 --- a/bin/rndc/rndc.c +++ b/bin/rndc/rndc.c @@ -21,8 +21,8 @@ #include #include #include -#include #include +#include #include #include #include @@ -33,10 +33,13 @@ #include #include -#include +#include #include +#include "util.h" + +#include #include #include #include @@ -45,54 +48,51 @@ #include #include #include - -#include - -#include - -#include "util.h" +#include #define SERVERADDRS 10 const char *progname; -bool verbose; +bool verbose; -static const char *admin_conffile; -static const char *admin_keyfile; -static const char *version = VERSION; -static const char *servername = NULL; -static isc_sockaddr_t serveraddrs[SERVERADDRS]; -static isc_sockaddr_t local4, local6; -static bool local4set = false, local6set = false; -static int nserveraddrs; -static int currentaddr = 0; -static unsigned int remoteport = 0; -static isc_socketmgr_t *socketmgr = NULL; -static isc_buffer_t *databuf; -static isccc_ccmsg_t ccmsg; -static uint32_t algorithm; -static isccc_region_t secret; -static bool failed = false; -static bool c_flag = false; -static isc_mem_t *rndc_mctx; +static const char * admin_conffile; +static const char * admin_keyfile; +static const char * version = VERSION; +static const char * servername = NULL; +static isc_sockaddr_t serveraddrs[SERVERADDRS]; +static isc_sockaddr_t local4, local6; +static bool local4set = false, local6set = false; +static int nserveraddrs; +static int currentaddr = 0; +static unsigned int remoteport = 0; +static isc_socketmgr_t * socketmgr = NULL; +static isc_buffer_t * databuf; +static isccc_ccmsg_t ccmsg; +static uint32_t algorithm; +static isccc_region_t secret; +static bool failed = false; +static bool c_flag = false; +static isc_mem_t * rndc_mctx; static atomic_uint_fast32_t sends = ATOMIC_VAR_INIT(0); static atomic_uint_fast32_t recvs = ATOMIC_VAR_INIT(0); static atomic_uint_fast32_t connects = ATOMIC_VAR_INIT(0); -static char *command; -static char *args; -static char program[256]; -static isc_socket_t *sock = NULL; -static uint32_t serial; -static bool quiet = false; -static bool showresult = false; +static char * command; +static char * args; +static char program[256]; +static isc_socket_t * sock = NULL; +static uint32_t serial; +static bool quiet = false; +static bool showresult = false; -static void rndc_startconnect(isc_sockaddr_t *addr, isc_task_t *task); +static void +rndc_startconnect(isc_sockaddr_t *addr, isc_task_t *task); ISC_PLATFORM_NORETURN_PRE static void usage(int status) ISC_PLATFORM_NORETURN_POST; static void -usage(int status) { +usage(int status) +{ fprintf(stderr, "\ Usage: %s [-b address] [-c config] [-s server] [-p port]\n\ [-k key-file ] [-y key] [-r] [-V] [-4 | -6] command\n\ @@ -219,9 +219,10 @@ Version: %s\n", #define CMDLINE_FLAGS "46b:c:hk:Mmp:qrs:Vy:" static void -preparse_args(int argc, char **argv) { +preparse_args(int argc, char **argv) +{ bool ipv4only = false, ipv6only = false; - int ch; + int ch; while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) { switch (ch) { @@ -247,30 +248,31 @@ preparse_args(int argc, char **argv) { } static void -get_addresses(const char *host, in_port_t port) { +get_addresses(const char *host, in_port_t port) +{ isc_result_t result; - int found = 0, count; + int found = 0, count; if (*host == '/') { - result = isc_sockaddr_frompath(&serveraddrs[nserveraddrs], - host); + result = + isc_sockaddr_frompath(&serveraddrs[nserveraddrs], host); if (result == ISC_R_SUCCESS) nserveraddrs++; } else { count = SERVERADDRS - nserveraddrs; - result = bind9_getaddresses(host, port, - &serveraddrs[nserveraddrs], - count, &found); + result = bind9_getaddresses( + host, port, &serveraddrs[nserveraddrs], count, &found); nserveraddrs += found; } if (result != ISC_R_SUCCESS) - fatal("couldn't get address for '%s': %s", - host, isc_result_totext(result)); + fatal("couldn't get address for '%s': %s", host, + isc_result_totext(result)); INSIST(nserveraddrs > 0); } static void -rndc_senddone(isc_task_t *task, isc_event_t *event) { +rndc_senddone(isc_task_t *task, isc_event_t *event) +{ isc_socketevent_t *sevent = (isc_socketevent_t *)event; UNUSED(task); @@ -280,8 +282,7 @@ rndc_senddone(isc_task_t *task, isc_event_t *event) { } isc_event_free(&event); if (atomic_fetch_sub_release(&sends, 1) == 1 && - atomic_load_acquire(&recvs) == 0) - { + atomic_load_acquire(&recvs) == 0) { isc_socket_detach(&sock); isc_task_shutdown(task); isc_app_shutdown(); @@ -289,13 +290,14 @@ rndc_senddone(isc_task_t *task, isc_event_t *event) { } static void -rndc_recvdone(isc_task_t *task, isc_event_t *event) { +rndc_recvdone(isc_task_t *task, isc_event_t *event) +{ isccc_sexpr_t *response = NULL; isccc_sexpr_t *data; isccc_region_t source; - char *errormsg = NULL; - char *textmsg = NULL; - isc_result_t result; + char * errormsg = NULL; + char * textmsg = NULL; + isc_result_t result; atomic_fetch_sub_release(&recvs, 1); @@ -323,20 +325,19 @@ rndc_recvdone(isc_task_t *task, isc_event_t *event) { result = isccc_cc_lookupstring(data, "err", &errormsg); if (result == ISC_R_SUCCESS) { failed = true; - fprintf(stderr, "%s: '%s' failed: %s\n", - progname, command, errormsg); - } - else if (result != ISC_R_NOTFOUND) - fprintf(stderr, "%s: parsing response failed: %s\n", - progname, isc_result_totext(result)); + fprintf(stderr, "%s: '%s' failed: %s\n", progname, command, + errormsg); + } else if (result != ISC_R_NOTFOUND) + fprintf(stderr, "%s: parsing response failed: %s\n", progname, + isc_result_totext(result)); result = isccc_cc_lookupstring(data, "text", &textmsg); if (result == ISC_R_SUCCESS) { if ((!quiet || failed) && strlen(textmsg) != 0U) fprintf(failed ? stderr : stdout, "%s\n", textmsg); } else if (result != ISC_R_NOTFOUND) - fprintf(stderr, "%s: parsing response failed: %s\n", - progname, isc_result_totext(result)); + fprintf(stderr, "%s: parsing response failed: %s\n", progname, + isc_result_totext(result)); if (showresult) { isc_result_t eresult; @@ -350,8 +351,8 @@ rndc_recvdone(isc_task_t *task, isc_event_t *event) { isc_event_free(&event); isccc_sexpr_free(&response); - if (atomic_load_acquire(&sends) == 0 - && atomic_load_acquire(&recvs) == 0) { + if (atomic_load_acquire(&sends) == 0 && + atomic_load_acquire(&recvs) == 0) { isc_socket_detach(&sock); isc_task_shutdown(task); isc_app_shutdown(); @@ -359,17 +360,18 @@ rndc_recvdone(isc_task_t *task, isc_event_t *event) { } static void -rndc_recvnonce(isc_task_t *task, isc_event_t *event) { +rndc_recvnonce(isc_task_t *task, isc_event_t *event) +{ isccc_sexpr_t *response = NULL; isccc_sexpr_t *_ctrl; isccc_region_t source; - isc_result_t result; - uint32_t nonce; + isc_result_t result; + uint32_t nonce; isccc_sexpr_t *request = NULL; - isccc_time_t now; - isc_region_t r; + isccc_time_t now; + isc_region_t r; isccc_sexpr_t *data; - isc_buffer_t b; + isc_buffer_t b; atomic_fetch_sub_release(&recvs, 1); @@ -430,11 +432,11 @@ rndc_recvnonce(isc_task_t *task, isc_event_t *event) { r.length = databuf->used; isccc_ccmsg_cancelread(&ccmsg); - DO("schedule recv", isccc_ccmsg_readmessage(&ccmsg, task, - rndc_recvdone, NULL)); + DO("schedule recv", + isccc_ccmsg_readmessage(&ccmsg, task, rndc_recvdone, NULL)); atomic_fetch_add_relaxed(&recvs, 1); - DO("send message", isc_socket_send(sock, &r, task, rndc_senddone, - NULL)); + DO("send message", + isc_socket_send(sock, &r, task, rndc_senddone, NULL)); atomic_fetch_add_relaxed(&sends, 1); isc_event_free(&event); @@ -444,15 +446,16 @@ rndc_recvnonce(isc_task_t *task, isc_event_t *event) { } static void -rndc_connected(isc_task_t *task, isc_event_t *event) { - char socktext[ISC_SOCKADDR_FORMATSIZE]; +rndc_connected(isc_task_t *task, isc_event_t *event) +{ + char socktext[ISC_SOCKADDR_FORMATSIZE]; isc_socketevent_t *sevent = (isc_socketevent_t *)event; - isccc_sexpr_t *request = NULL; - isccc_sexpr_t *data; - isccc_time_t now; - isc_region_t r; - isc_buffer_t b; - isc_result_t result; + isccc_sexpr_t * request = NULL; + isccc_sexpr_t * data; + isccc_time_t now; + isc_region_t r; + isc_buffer_t b; + isc_result_t result; atomic_fetch_sub_release(&connects, 1); @@ -460,8 +463,7 @@ rndc_connected(isc_task_t *task, isc_event_t *event) { isc_sockaddr_format(&serveraddrs[currentaddr], socktext, sizeof(socktext)); if (sevent->result != ISC_R_CANCELED && - ++currentaddr < nserveraddrs) - { + ++currentaddr < nserveraddrs) { notify("connection failed: %s: %s", socktext, isc_result_totext(sevent->result)); isc_socket_detach(&sock); @@ -498,20 +500,21 @@ rndc_connected(isc_task_t *task, isc_event_t *event) { isccc_ccmsg_init(rndc_mctx, sock, &ccmsg); isccc_ccmsg_setmaxsize(&ccmsg, 1024 * 1024); - DO("schedule recv", isccc_ccmsg_readmessage(&ccmsg, task, - rndc_recvnonce, NULL)); + DO("schedule recv", + isccc_ccmsg_readmessage(&ccmsg, task, rndc_recvnonce, NULL)); atomic_fetch_add_relaxed(&recvs, 1); - DO("send message", isc_socket_send(sock, &r, task, rndc_senddone, - NULL)); + DO("send message", + isc_socket_send(sock, &r, task, rndc_senddone, NULL)); atomic_fetch_add_relaxed(&sends, 1); isc_event_free(&event); isccc_sexpr_free(&request); } static void -rndc_startconnect(isc_sockaddr_t *addr, isc_task_t *task) { - isc_result_t result; - int pf; +rndc_startconnect(isc_sockaddr_t *addr, isc_task_t *task) +{ + isc_result_t result; + int pf; isc_sockettype_t type; char socktext[ISC_SOCKADDR_FORMATSIZE]; @@ -536,13 +539,14 @@ rndc_startconnect(isc_sockaddr_t *addr, isc_task_t *task) { default: break; } - DO("connect", isc_socket_connect(sock, addr, task, rndc_connected, - NULL)); + DO("connect", + isc_socket_connect(sock, addr, task, rndc_connected, NULL)); atomic_fetch_add_relaxed(&connects, 1); } static void -rndc_start(isc_task_t *task, isc_event_t *event) { +rndc_start(isc_task_t *task, isc_event_t *event) +{ isc_event_free(&event); currentaddr = 0; @@ -553,41 +557,42 @@ static void parse_config(isc_mem_t *mctx, isc_log_t *log, const char *keyname, cfg_parser_t **pctxp, cfg_obj_t **configp) { - isc_result_t result; - const char *conffile = admin_conffile; - const cfg_obj_t *addresses = NULL; - const cfg_obj_t *defkey = NULL; - const cfg_obj_t *options = NULL; - const cfg_obj_t *servers = NULL; - const cfg_obj_t *server = NULL; - const cfg_obj_t *keys = NULL; - const cfg_obj_t *key = NULL; - const cfg_obj_t *defport = NULL; - const cfg_obj_t *secretobj = NULL; - const cfg_obj_t *algorithmobj = NULL; - cfg_obj_t *config = NULL; - const cfg_obj_t *address = NULL; + isc_result_t result; + const char * conffile = admin_conffile; + const cfg_obj_t * addresses = NULL; + const cfg_obj_t * defkey = NULL; + const cfg_obj_t * options = NULL; + const cfg_obj_t * servers = NULL; + const cfg_obj_t * server = NULL; + const cfg_obj_t * keys = NULL; + const cfg_obj_t * key = NULL; + const cfg_obj_t * defport = NULL; + const cfg_obj_t * secretobj = NULL; + const cfg_obj_t * algorithmobj = NULL; + cfg_obj_t * config = NULL; + const cfg_obj_t * address = NULL; const cfg_listelt_t *elt; - const char *secretstr; - const char *algorithmstr; - static char secretarray[1024]; - const cfg_type_t *conftype = &cfg_type_rndcconf; - bool key_only = false; + const char * secretstr; + const char * algorithmstr; + static char secretarray[1024]; + const cfg_type_t * conftype = &cfg_type_rndcconf; + bool key_only = false; const cfg_listelt_t *element; - if (! isc_file_exists(conffile)) { + if (!isc_file_exists(conffile)) { conffile = admin_keyfile; conftype = &cfg_type_rndckey; if (c_flag) fatal("%s does not exist", admin_conffile); - if (! isc_file_exists(conffile)) - fatal("neither %s nor %s was found", - admin_conffile, admin_keyfile); + if (!isc_file_exists(conffile)) + fatal("neither %s nor %s was found", admin_conffile, + admin_keyfile); key_only = true; - } else if (! c_flag && isc_file_exists(admin_keyfile)) { - fprintf(stderr, "WARNING: key file (%s) exists, but using " + } else if (!c_flag && isc_file_exists(admin_keyfile)) { + fprintf(stderr, + "WARNING: key file (%s) exists, but using " "default configuration file (%s)\n", admin_keyfile, admin_conffile); } @@ -619,13 +624,12 @@ parse_config(isc_mem_t *mctx, isc_log_t *log, const char *keyname, if (!key_only) { (void)cfg_map_get(config, "server", &servers); if (servers != NULL) { - for (elt = cfg_list_first(servers); - elt != NULL; - elt = cfg_list_next(elt)) - { + for (elt = cfg_list_first(servers); elt != NULL; + elt = cfg_list_next(elt)) { const char *name; server = cfg_listelt_value(elt); - name = cfg_obj_asstring(cfg_map_getname(server)); + name = cfg_obj_asstring( + cfg_map_getname(server)); if (strcasecmp(name, servername) == 0) break; server = NULL; @@ -637,13 +641,13 @@ parse_config(isc_mem_t *mctx, isc_log_t *log, const char *keyname, * Look for the name of the key to use. */ if (keyname != NULL) - ; /* Was set on command line, do nothing. */ + ; /* Was set on command line, do nothing. */ else if (server != NULL) { DO("get key for server", cfg_map_get(server, "key", &defkey)); keyname = cfg_obj_asstring(defkey); } else if (options != NULL) { - DO("get default key", cfg_map_get(options, "default-key", - &defkey)); + DO("get default key", + cfg_map_get(options, "default-key", &defkey)); keyname = cfg_obj_asstring(defkey); } else if (!key_only) fatal("no key for server and no default"); @@ -655,10 +659,8 @@ parse_config(isc_mem_t *mctx, isc_log_t *log, const char *keyname, DO("get key", cfg_map_get(config, "key", &key)); else { DO("get config key list", cfg_map_get(config, "key", &keys)); - for (elt = cfg_list_first(keys); - elt != NULL; - elt = cfg_list_next(elt)) - { + for (elt = cfg_list_first(keys); elt != NULL; + elt = cfg_list_next(elt)) { key = cfg_listelt_value(elt); if (strcasecmp(cfg_obj_asstring(cfg_map_getname(key)), keyname) == 0) @@ -701,7 +703,7 @@ parse_config(isc_mem_t *mctx, isc_log_t *log, const char *keyname, * Find the port to connect to. */ if (remoteport != 0) - ; /* Was set on command line, do nothing. */ + ; /* Was set on command line, do nothing. */ else { if (server != NULL) (void)cfg_map_get(server, "port", &defport); @@ -720,16 +722,14 @@ parse_config(isc_mem_t *mctx, isc_log_t *log, const char *keyname, else result = ISC_R_NOTFOUND; if (result == ISC_R_SUCCESS) { - for (element = cfg_list_first(addresses); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(addresses); element != NULL; + element = cfg_list_next(element)) { isc_sockaddr_t sa; address = cfg_listelt_value(element); if (!cfg_obj_issockaddr(address)) { - unsigned int myport; - const char *name; + unsigned int myport; + const char * name; const cfg_obj_t *obj; obj = cfg_tuple_get(address, "name"); @@ -737,17 +737,18 @@ parse_config(isc_mem_t *mctx, isc_log_t *log, const char *keyname, obj = cfg_tuple_get(address, "port"); if (cfg_obj_isuint32(obj)) { myport = cfg_obj_asuint32(obj); - if (myport > UINT16_MAX || - myport == 0) + if (myport > UINT16_MAX || myport == 0) fatal("port %u out of range", myport); } else myport = remoteport; if (nserveraddrs < SERVERADDRS) - get_addresses(name, (in_port_t) myport); + get_addresses(name, (in_port_t)myport); else - fprintf(stderr, "too many address: " - "%s: dropped\n", name); + fprintf(stderr, + "too many address: " + "%s: dropped\n", + name); continue; } sa = *cfg_obj_assockaddr(address); @@ -805,23 +806,24 @@ parse_config(isc_mem_t *mctx, isc_log_t *log, const char *keyname, } int -main(int argc, char **argv) { - isc_result_t result = ISC_R_SUCCESS; - bool show_final_mem = false; - isc_taskmgr_t *taskmgr = NULL; - isc_task_t *task = NULL; - isc_log_t *log = NULL; - isc_logconfig_t *logconfig = NULL; +main(int argc, char **argv) +{ + isc_result_t result = ISC_R_SUCCESS; + bool show_final_mem = false; + isc_taskmgr_t * taskmgr = NULL; + isc_task_t * task = NULL; + isc_log_t * log = NULL; + isc_logconfig_t * logconfig = NULL; isc_logdestination_t logdest; - cfg_parser_t *pctx = NULL; - cfg_obj_t *config = NULL; - const char *keyname = NULL; - struct in_addr in; - struct in6_addr in6; - char *p; - size_t argslen; - int ch; - int i; + cfg_parser_t * pctx = NULL; + cfg_obj_t * config = NULL; + const char * keyname = NULL; + struct in_addr in; + struct in6_addr in6; + char * p; + size_t argslen; + int ch; + int i; result = isc_file_progname(*argv, program, sizeof(program)); if (result != ISC_R_SUCCESS) @@ -857,8 +859,8 @@ main(int argc, char **argv) { isc_net_disableipv4(); break; case 'b': - if (inet_pton(AF_INET, isc_commandline_argument, - &in) == 1) { + if (inet_pton(AF_INET, isc_commandline_argument, &in) == + 1) { isc_sockaddr_fromin(&local4, &in, 0); local4set = true; } else if (inet_pton(AF_INET6, isc_commandline_argument, @@ -923,8 +925,8 @@ main(int argc, char **argv) { usage(0); break; default: - fprintf(stderr, "%s: unhandled option -%c\n", - program, isc_commandline_option); + fprintf(stderr, "%s: unhandled option -%c\n", program, + isc_commandline_option); exit(1); } } @@ -938,14 +940,14 @@ main(int argc, char **argv) { serial = isc_random32(); isc_mem_create(&rndc_mctx); - DO("create socket manager", isc_socketmgr_create(rndc_mctx, - &socketmgr)); - DO("create task manager", isc_taskmgr_create(rndc_mctx, 1, 0, - NULL, &taskmgr)); + DO("create socket manager", + isc_socketmgr_create(rndc_mctx, &socketmgr)); + DO("create task manager", + isc_taskmgr_create(rndc_mctx, 1, 0, NULL, &taskmgr)); DO("create task", isc_task_create(taskmgr, 0, &task)); - DO("create logging context", isc_log_create(rndc_mctx, &log, - &logconfig)); + DO("create logging context", + isc_log_create(rndc_mctx, &log, &logconfig)); isc_log_setcontext(log); DO("setting log tag", isc_log_settag(logconfig, progname)); logdest.file.stream = stderr; @@ -953,11 +955,11 @@ main(int argc, char **argv) { logdest.file.versions = ISC_LOG_ROLLNEVER; logdest.file.maximum_size = 0; DO("creating log channel", - isc_log_createchannel(logconfig, "stderr", - ISC_LOG_TOFILEDESC, ISC_LOG_INFO, &logdest, - ISC_LOG_PRINTTAG|ISC_LOG_PRINTLEVEL)); - DO("enabling log channel", isc_log_usechannel(logconfig, "stderr", - NULL, NULL)); + isc_log_createchannel(logconfig, "stderr", ISC_LOG_TOFILEDESC, + ISC_LOG_INFO, &logdest, + ISC_LOG_PRINTTAG | ISC_LOG_PRINTLEVEL)); + DO("enabling log channel", + isc_log_usechannel(logconfig, "stderr", NULL, NULL)); parse_config(rndc_mctx, log, keyname, &pctx, &config); @@ -996,7 +998,7 @@ main(int argc, char **argv) { fatal("'%s' is not implemented", command); if (nserveraddrs == 0) - get_addresses(servername, (in_port_t) remoteport); + get_addresses(servername, (in_port_t)remoteport); DO("post event", isc_app_onrun(rndc_mctx, task, rndc_start, NULL)); @@ -1006,8 +1008,7 @@ main(int argc, char **argv) { if (atomic_load_acquire(&connects) > 0 || atomic_load_acquire(&sends) > 0 || - atomic_load_acquire(&recvs) > 0) - { + atomic_load_acquire(&recvs) > 0) { isc_socket_cancel(sock, task, ISC_SOCKCANCEL_ALL); } diff --git a/bin/rndc/util.c b/bin/rndc/util.c index f1d5bc062c..5b89bc3e4f 100644 --- a/bin/rndc/util.c +++ b/bin/rndc/util.c @@ -9,23 +9,23 @@ * information regarding copyright ownership. */ - /*! \file */ -#include -#include -#include -#include - -#include - #include "util.h" -extern bool verbose; +#include +#include +#include +#include + +#include + +extern bool verbose; extern const char *progname; void -notify(const char *fmt, ...) { +notify(const char *fmt, ...) +{ va_list ap; if (verbose) { @@ -37,7 +37,8 @@ notify(const char *fmt, ...) { } void -fatal(const char *format, ...) { +fatal(const char *format, ...) +{ va_list args; fprintf(stderr, "%s: ", progname); diff --git a/bin/rndc/util.h b/bin/rndc/util.h index fa4a62b023..ec9b181780 100644 --- a/bin/rndc/util.h +++ b/bin/rndc/util.h @@ -9,27 +9,25 @@ * information regarding copyright ownership. */ - #ifndef RNDC_UTIL_H #define RNDC_UTIL_H 1 /*! \file */ +#include #include #include -#include - -#define NS_CONTROL_PORT 953 +#define NS_CONTROL_PORT 953 #undef DO -#define DO(name, function) \ - do { \ - result = function; \ - if (result != ISC_R_SUCCESS) \ +#define DO(name, function) \ + do { \ + result = function; \ + if (result != ISC_R_SUCCESS) \ fatal("%s: %s", name, isc_result_totext(result)); \ - else \ - notify("%s", name); \ + else \ + notify("%s", name); \ } while (0) ISC_LANG_BEGINDECLS @@ -39,7 +37,7 @@ notify(const char *fmt, ...) ISC_FORMAT_PRINTF(1, 2); ISC_PLATFORM_NORETURN_PRE void fatal(const char *format, ...) -ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST; + ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST; ISC_LANG_ENDDECLS diff --git a/bin/tests/cfg_test.c b/bin/tests/cfg_test.c index 349c07eb1b..7b496182b0 100644 --- a/bin/tests/cfg_test.c +++ b/bin/tests/cfg_test.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -21,13 +20,14 @@ #include #include +#include + #include #include -#include - static void -check_result(isc_result_t result, const char *format, ...) { +check_result(isc_result_t result, const char *format, ...) +{ va_list args; if (result == ISC_R_SUCCESS) @@ -41,34 +41,37 @@ check_result(isc_result_t result, const char *format, ...) { } static void -output(void *closure, const char *text, int textlen) { +output(void *closure, const char *text, int textlen) +{ UNUSED(closure); - (void) fwrite(text, 1, textlen, stdout); + (void)fwrite(text, 1, textlen, stdout); } static void -usage(void) { +usage(void) +{ fprintf(stderr, "usage: cfg_test --rndc|--named " - "[--grammar] [--zonegrammar] [--active] " - "[--memstats] conffile\n"); + "[--grammar] [--zonegrammar] [--active] " + "[--memstats] conffile\n"); exit(1); } int -main(int argc, char **argv) { - isc_result_t result; - isc_mem_t *mctx = NULL; - isc_log_t *lctx = NULL; - isc_logconfig_t *lcfg = NULL; +main(int argc, char **argv) +{ + isc_result_t result; + isc_mem_t * mctx = NULL; + isc_log_t * lctx = NULL; + isc_logconfig_t * lcfg = NULL; isc_logdestination_t destination; - cfg_parser_t *pctx = NULL; - cfg_obj_t *cfg = NULL; - cfg_type_t *type = NULL; - bool grammar = false; - bool memstats = false; - char *filename = NULL; - unsigned int zonetype = 0; - unsigned int pflags = 0; + cfg_parser_t * pctx = NULL; + cfg_obj_t * cfg = NULL; + cfg_type_t * type = NULL; + bool grammar = false; + bool memstats = false; + char * filename = NULL; + unsigned int zonetype = 0; + unsigned int pflags = 0; isc_mem_create(&mctx); @@ -83,10 +86,9 @@ main(int argc, char **argv) { destination.file.name = NULL; destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.maximum_size = 0; - result = isc_log_createchannel(lcfg, "_default", - ISC_LOG_TOFILEDESC, - ISC_LOG_DYNAMIC, - &destination, ISC_LOG_PRINTTIME); + result = isc_log_createchannel(lcfg, "_default", ISC_LOG_TOFILEDESC, + ISC_LOG_DYNAMIC, &destination, + ISC_LOG_PRINTTIME); check_result(result, "isc_log_createchannel()"); result = isc_log_usechannel(lcfg, "_default", NULL, NULL); check_result(result, "isc_log_usechannel()"); @@ -106,16 +108,14 @@ main(int argc, char **argv) { grammar = true; } else if (strcmp(argv[1], "--zonegrammar") == 0) { argv++, argc--; - if (argc <= 1) { + if (argc <= 1) { usage(); } if (strcmp(argv[1], "master") == 0 || - strcmp(argv[1], "primary") == 0) - { + strcmp(argv[1], "primary") == 0) { zonetype = CFG_ZONE_MASTER; } else if (strcmp(argv[1], "slave") == 0 || - strcmp(argv[1], "seconary") == 0) - { + strcmp(argv[1], "seconary") == 0) { zonetype = CFG_ZONE_SLAVE; } else if (strcmp(argv[1], "mirror") == 0) { zonetype = CFG_ZONE_MIRROR; diff --git a/bin/tests/makejournal.c b/bin/tests/makejournal.c index 95a6609bb3..57d314e531 100644 --- a/bin/tests/makejournal.c +++ b/bin/tests/makejournal.c @@ -12,10 +12,12 @@ /*! \file */ #include +#include #include #include #include +#include #include #include @@ -23,17 +25,14 @@ #include #include #include -#include #include #include -#include - -#define CHECK(r) \ - do { \ - result = (r); \ +#define CHECK(r) \ + do { \ + result = (r); \ if (result != ISC_R_SUCCESS) \ - goto cleanup; \ + goto cleanup; \ } while (0) isc_mem_t *mctx = NULL; @@ -44,29 +43,28 @@ static bool dst_active = false; /* * Logging categories: this needs to match the list in bin/named/log.c. */ -static isc_logcategory_t categories[] = { - { "", 0 }, - { "client", 0 }, - { "network", 0 }, - { "update", 0 }, - { "queries", 0 }, - { "unmatched", 0 }, - { "update-security", 0 }, - { "query-errors", 0 }, - { NULL, 0 } -}; +static isc_logcategory_t categories[] = { { "", 0 }, + { "client", 0 }, + { "network", 0 }, + { "update", 0 }, + { "queries", 0 }, + { "unmatched", 0 }, + { "update-security", 0 }, + { "query-errors", 0 }, + { NULL, 0 } }; static isc_result_t -loadzone(dns_db_t **db, const char *origin, const char *filename) { - isc_result_t result; +loadzone(dns_db_t **db, const char *origin, const char *filename) +{ + isc_result_t result; dns_fixedname_t fixed; - dns_name_t *name; + dns_name_t * name; name = dns_fixedname_initname(&fixed); result = dns_name_fromstring(name, origin, 0, NULL); if (result != ISC_R_SUCCESS) - return(result); + return (result); result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, dns_rdataclass_in, 0, NULL, db); @@ -78,12 +76,13 @@ loadzone(dns_db_t **db, const char *origin, const char *filename) { } int -main(int argc, char **argv) { - isc_result_t result; - char *origin, *file1, *file2, *journal; - dns_db_t *olddb = NULL, *newdb = NULL; +main(int argc, char **argv) +{ + isc_result_t result; + char * origin, *file1, *file2, *journal; + dns_db_t * olddb = NULL, *newdb = NULL; isc_logdestination_t destination; - isc_logconfig_t *logconfig = NULL; + isc_logconfig_t * logconfig = NULL; if (argc != 5) { printf("usage: %s origin file1 file2 journal\n", argv[0]); @@ -111,9 +110,8 @@ main(int argc, char **argv) { destination.file.name = NULL; destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.maximum_size = 0; - CHECK(isc_log_createchannel(logconfig, "stderr", - ISC_LOG_TOFILEDESC, ISC_LOG_DYNAMIC, - &destination, 0)); + CHECK(isc_log_createchannel(logconfig, "stderr", ISC_LOG_TOFILEDESC, + ISC_LOG_DYNAMIC, &destination, 0)); CHECK(isc_log_usechannel(logconfig, "stderr", NULL, NULL)); dns_result_register(); @@ -132,7 +130,7 @@ main(int argc, char **argv) { result = dns_db_diff(mctx, newdb, NULL, olddb, NULL, journal); - cleanup: +cleanup: if (result != ISC_R_SUCCESS) fprintf(stderr, "%s\n", isc_result_totext(result)); @@ -150,6 +148,5 @@ main(int argc, char **argv) { if (mctx != NULL) isc_mem_destroy(&mctx); - return(result != ISC_R_SUCCESS ? 1 : 0); + return (result != ISC_R_SUCCESS ? 1 : 0); } - diff --git a/bin/tests/optional/adb_test.c b/bin/tests/optional/adb_test.c index 4129587438..1fb631745e 100644 --- a/bin/tests/optional/adb_test.c +++ b/bin/tests/optional/adb_test.c @@ -26,42 +26,43 @@ #include #include -#include #include +#include #include -#include #include +#include typedef struct client client_t; struct client { - dns_name_t name; - const char *target; - ISC_LINK(client_t) link; - dns_adbfind_t *find; + dns_name_t name; + const char *target; + ISC_LINK(client_t) link; + dns_adbfind_t *find; }; -static isc_mem_t *mctx = NULL; -static isc_mempool_t *cmp; -static isc_log_t *lctx; -static isc_logconfig_t *lcfg; -static isc_taskmgr_t *taskmgr; -static isc_socketmgr_t *socketmgr; -static isc_timermgr_t *timermgr; +static isc_mem_t * mctx = NULL; +static isc_mempool_t * cmp; +static isc_log_t * lctx; +static isc_logconfig_t * lcfg; +static isc_taskmgr_t * taskmgr; +static isc_socketmgr_t * socketmgr; +static isc_timermgr_t * timermgr; static dns_dispatchmgr_t *dispatchmgr; -static isc_task_t *t1, *t2; -static dns_view_t *view; -static dns_db_t *rootdb; +static isc_task_t * t1, *t2; +static dns_view_t * view; +static dns_db_t * rootdb; static ISC_LIST(client_t) clients; -static isc_mutex_t client_lock; +static isc_mutex_t client_lock; static isc_stdtime_t now; -static dns_adb_t *adb; +static dns_adb_t * adb; static void check_result(isc_result_t result, const char *format, ...) - ISC_FORMAT_PRINTF(2, 3); + ISC_FORMAT_PRINTF(2, 3); static void -check_result(isc_result_t result, const char *format, ...) { +check_result(isc_result_t result, const char *format, ...) +{ va_list args; if (result == ISC_R_SUCCESS) @@ -75,7 +76,8 @@ check_result(isc_result_t result, const char *format, ...) { } static client_t * -new_client(void) { +new_client(void) +{ client_t *client; client = isc_mempool_get(cmp); @@ -88,7 +90,8 @@ new_client(void) { } static void -free_client(client_t **c) { +free_client(client_t **c) +{ client_t *client; INSIST(c != NULL); @@ -103,25 +106,28 @@ free_client(client_t **c) { } static inline void -CLOCK(void) { +CLOCK(void) +{ RUNTIME_CHECK(isc_mutex_lock(&client_lock) == ISC_R_SUCCESS); } static inline void -CUNLOCK(void) { +CUNLOCK(void) +{ RUNTIME_CHECK(isc_mutex_unlock(&client_lock) == ISC_R_SUCCESS); } static void -lookup_callback(isc_task_t *task, isc_event_t *ev) { +lookup_callback(isc_task_t *task, isc_event_t *ev) +{ client_t *client; client = ev->ev_arg; INSIST(client->find == ev->ev_sender); - printf("NAME %s:\n\tTask %p got event %p type %08x from %p, client %p\n\terr4: %s err6: %s\n", - client->target, - task, ev, ev->ev_type, client->find, client, + printf("NAME %s:\n\tTask %p got event %p type %08x from %p, client " + "%p\n\terr4: %s err6: %s\n", + client->target, task, ev, ev->ev_type, client->find, client, isc_result_totext(client->find->result_v4), isc_result_totext(client->find->result_v6)); @@ -140,7 +146,8 @@ lookup_callback(isc_task_t *task, isc_event_t *ev) { } static void -create_managers(void) { +create_managers(void) +{ isc_result_t result; taskmgr = NULL; @@ -161,7 +168,8 @@ create_managers(void) { } static void -create_view(void) { +create_view(void) +{ dns_cache_t *cache; isc_result_t result; @@ -184,8 +192,8 @@ create_view(void) { dns_cache_detach(&cache); { - unsigned int attrs; - isc_sockaddr_t any4, any6; + unsigned int attrs; + isc_sockaddr_t any4, any6; dns_dispatch_t *disp4 = NULL; dns_dispatch_t *disp6 = NULL; @@ -194,26 +202,22 @@ create_view(void) { attrs = DNS_DISPATCHATTR_IPV4 | DNS_DISPATCHATTR_UDP; RUNTIME_CHECK(dns_dispatch_getudp(dispatchmgr, socketmgr, - taskmgr, &any4, - 512, 6, 1024, 17, 19, - attrs, attrs, &disp4) - == ISC_R_SUCCESS); + taskmgr, &any4, 512, 6, 1024, + 17, 19, attrs, attrs, + &disp4) == ISC_R_SUCCESS); INSIST(disp4 != NULL); attrs = DNS_DISPATCHATTR_IPV6 | DNS_DISPATCHATTR_UDP; RUNTIME_CHECK(dns_dispatch_getudp(dispatchmgr, socketmgr, - taskmgr, &any6, - 512, 6, 1024, 17, 19, - attrs, attrs, &disp6) - == ISC_R_SUCCESS); + taskmgr, &any6, 512, 6, 1024, + 17, 19, attrs, attrs, + &disp6) == ISC_R_SUCCESS); INSIST(disp6 != NULL); RUNTIME_CHECK(dns_view_createresolver(view, taskmgr, 10, 1, - socketmgr, - timermgr, 0, - dispatchmgr, - disp4, disp6) == - ISC_R_SUCCESS); + socketmgr, timermgr, 0, + dispatchmgr, disp4, + disp6) == ISC_R_SUCCESS); } rootdb = NULL; @@ -226,13 +230,14 @@ create_view(void) { } static void -lookup(const char *target) { - dns_name_t name; +lookup(const char *target) +{ + dns_name_t name; unsigned char namedata[256]; - client_t *client; - isc_buffer_t t, namebuf; - isc_result_t result; - unsigned int options; + client_t * client; + isc_buffer_t t, namebuf; + isc_result_t result; + unsigned int options; INSIST(target != NULL); @@ -252,10 +257,9 @@ lookup(const char *target) { options |= DNS_ADBFIND_WANTEVENT; options |= DNS_ADBFIND_HINTOK; options |= DNS_ADBFIND_GLUEOK; - result = dns_adb_createfind(adb, t2, lookup_callback, client, - &client->name, dns_rootname, 0, options, - now, NULL, view->dstport, 0, NULL, - &client->find); + result = dns_adb_createfind( + adb, t2, lookup_callback, client, &client->name, dns_rootname, + 0, options, now, NULL, view->dstport, 0, NULL, &client->find); if (result != ISC_R_SUCCESS) printf("DNS_ADB_CREATEFIND -> %s\n", dns_result_totext(result)); dns_adb_dumpfind(client->find, stderr); @@ -264,8 +268,8 @@ lookup(const char *target) { client->target = target; ISC_LIST_APPEND(clients, client, link); } else { - printf("NAME %s: err4 %s, err6 %s\n", - target, isc_result_totext(client->find->result_v4), + printf("NAME %s: err4 %s, err6 %s\n", target, + isc_result_totext(client->find->result_v4), isc_result_totext(client->find->result_v6)); dns_adb_destroyfind(&client->find); @@ -274,8 +278,9 @@ lookup(const char *target) { } int -main(int argc, char **argv) { - isc_result_t result; +main(int argc, char **argv) +{ + isc_result_t result; isc_logdestination_t destination; UNUSED(argc); @@ -297,8 +302,7 @@ main(int argc, char **argv) { isc_mem_create(&mctx); cmp = NULL; - isc_mempool_create(mctx, sizeof(client_t), &cmp) - ; + isc_mempool_create(mctx, sizeof(client_t), &cmp); isc_mempool_setname(cmp, "adb test clients"); result = isc_log_create(mctx, &lctx, &lcfg); @@ -314,10 +318,9 @@ main(int argc, char **argv) { destination.file.name = NULL; destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.maximum_size = 0; - result = isc_log_createchannel(lcfg, "_default", - ISC_LOG_TOFILEDESC, - ISC_LOG_DYNAMIC, - &destination, ISC_LOG_PRINTTIME); + result = isc_log_createchannel(lcfg, "_default", ISC_LOG_TOFILEDESC, + ISC_LOG_DYNAMIC, &destination, + ISC_LOG_PRINTTIME); check_result(result, "isc_log_createchannel()"); result = isc_log_usechannel(lcfg, "_default", NULL, NULL); check_result(result, "isc_log_usechannel()"); @@ -348,17 +351,17 @@ main(int argc, char **argv) { * for found names to block as well. */ CLOCK(); - lookup("f.root-servers.net."); /* Should be in hints */ - lookup("www.iengines.com"); /* should fetch */ - lookup("www.isc.org"); /* should fetch */ - lookup("www.flame.org"); /* should fetch */ - lookup("kechara.flame.org."); /* should fetch */ - lookup("moghedien.flame.org."); /* should fetch */ - lookup("mailrelay.flame.org."); /* should fetch */ - lookup("ipv4v6.flame.org."); /* should fetch */ - lookup("nonexistant.flame.org."); /* should fail to be found */ - lookup("foobar.badns.flame.org."); /* should fail utterly (NS) */ - lookup("i.root-servers.net."); /* Should be in hints */ + lookup("f.root-servers.net."); /* Should be in hints */ + lookup("www.iengines.com"); /* should fetch */ + lookup("www.isc.org"); /* should fetch */ + lookup("www.flame.org"); /* should fetch */ + lookup("kechara.flame.org."); /* should fetch */ + lookup("moghedien.flame.org."); /* should fetch */ + lookup("mailrelay.flame.org."); /* should fetch */ + lookup("ipv4v6.flame.org."); /* should fetch */ + lookup("nonexistant.flame.org."); /* should fail to be found */ + lookup("foobar.badns.flame.org."); /* should fail utterly (NS) */ + lookup("i.root-servers.net."); /* Should be in hints */ lookup("www.firstcard.com."); lookup("dns04.flame.org."); CUNLOCK(); @@ -370,17 +373,17 @@ main(int argc, char **argv) { sleep(10); CLOCK(); - lookup("f.root-servers.net."); /* Should be in hints */ - lookup("www.iengines.com"); /* should fetch */ - lookup("www.isc.org"); /* should fetch */ - lookup("www.flame.org"); /* should fetch */ - lookup("kechara.flame.org."); /* should fetch */ - lookup("moghedien.flame.org."); /* should fetch */ - lookup("mailrelay.flame.org."); /* should fetch */ - lookup("ipv4v6.flame.org."); /* should fetch */ - lookup("nonexistant.flame.org."); /* should fail to be found */ - lookup("foobar.badns.flame.org."); /* should fail utterly (NS) */ - lookup("i.root-servers.net."); /* Should be in hints */ + lookup("f.root-servers.net."); /* Should be in hints */ + lookup("www.iengines.com"); /* should fetch */ + lookup("www.isc.org"); /* should fetch */ + lookup("www.flame.org"); /* should fetch */ + lookup("kechara.flame.org."); /* should fetch */ + lookup("moghedien.flame.org."); /* should fetch */ + lookup("mailrelay.flame.org."); /* should fetch */ + lookup("ipv4v6.flame.org."); /* should fetch */ + lookup("nonexistant.flame.org."); /* should fail to be found */ + lookup("foobar.badns.flame.org."); /* should fail utterly (NS) */ + lookup("i.root-servers.net."); /* Should be in hints */ CUNLOCK(); sleep(20); diff --git a/bin/tests/optional/backtrace_test.c b/bin/tests/optional/backtrace_test.c index c6553916c2..98501db906 100644 --- a/bin/tests/optional/backtrace_test.c +++ b/bin/tests/optional/backtrace_test.c @@ -16,20 +16,16 @@ #include #include -const char *expected_symbols[] = { - "func3", - "func2", - "func1", - "main" -}; +const char *expected_symbols[] = { "func3", "func2", "func1", "main" }; static int -func3() { - void *tracebuf[16]; - int i, nframes; - int error = 0; - const char *fname; - isc_result_t result; +func3() +{ + void * tracebuf[16]; + int i, nframes; + int error = 0; + const char * fname; + isc_result_t result; unsigned long offset; result = isc_backtrace_gettrace(tracebuf, 16, &nframes); @@ -74,16 +70,19 @@ func3() { } static int -func2() { +func2() +{ return (func3()); } static int -func1() { +func1() +{ return (func2()); } int -main() { +main() +{ return (func1()); } diff --git a/bin/tests/optional/byaddr_test.c b/bin/tests/optional/byaddr_test.c index 036ee961bd..154732c59c 100644 --- a/bin/tests/optional/byaddr_test.c +++ b/bin/tests/optional/byaddr_test.c @@ -34,22 +34,21 @@ #include static void -done(isc_task_t *task, isc_event_t *event) { +done(isc_task_t *task, isc_event_t *event) +{ dns_byaddrevent_t *bevent; - dns_byaddr_t *byaddr; - dns_name_t *name; + dns_byaddr_t * byaddr; + dns_name_t * name; REQUIRE(event->ev_type == DNS_EVENT_BYADDRDONE); bevent = (dns_byaddrevent_t *)event; UNUSED(task); - printf("byaddr event result = %s\n", - isc_result_totext(bevent->result)); + printf("byaddr event result = %s\n", isc_result_totext(bevent->result)); if (bevent->result == ISC_R_SUCCESS) { - for (name = ISC_LIST_HEAD(bevent->names); - name != NULL; + for (name = ISC_LIST_HEAD(bevent->names); name != NULL; name = ISC_LIST_NEXT(name, link)) { char text[DNS_NAME_FORMATSIZE]; dns_name_format(name, text, sizeof(text)); @@ -65,22 +64,23 @@ done(isc_task_t *task, isc_event_t *event) { } int -main(int argc, char *argv[]) { - isc_mem_t *mctx; - bool verbose = false; - unsigned int workers = 2; - isc_taskmgr_t *taskmgr; - isc_task_t *task; - isc_timermgr_t *timermgr; - dns_view_t *view; - int ch; - isc_socketmgr_t *socketmgr; +main(int argc, char *argv[]) +{ + isc_mem_t * mctx; + bool verbose = false; + unsigned int workers = 2; + isc_taskmgr_t * taskmgr; + isc_task_t * task; + isc_timermgr_t * timermgr; + dns_view_t * view; + int ch; + isc_socketmgr_t * socketmgr; dns_dispatchmgr_t *dispatchmgr; - isc_netaddr_t na; - dns_byaddr_t *byaddr; - isc_result_t result; - unsigned int options = 0; - dns_cache_t *cache; + isc_netaddr_t na; + dns_byaddr_t * byaddr; + isc_result_t result; + unsigned int options = 0; + dns_cache_t * cache; RUNTIME_CHECK(isc_app_start() == ISC_R_SUCCESS); @@ -112,16 +112,15 @@ main(int argc, char *argv[]) { } taskmgr = NULL; - RUNTIME_CHECK(isc_taskmgr_create(mctx, workers, 0, NULL, &taskmgr) - == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_taskmgr_create(mctx, workers, 0, NULL, &taskmgr) == + ISC_R_SUCCESS); task = NULL; - RUNTIME_CHECK(isc_task_create(taskmgr, 0, &task) - == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_task_create(taskmgr, 0, &task) == ISC_R_SUCCESS); isc_task_setname(task, "byaddr", NULL); dispatchmgr = NULL; - RUNTIME_CHECK(dns_dispatchmgr_create(mctx, &dispatchmgr) - == ISC_R_SUCCESS); + RUNTIME_CHECK(dns_dispatchmgr_create(mctx, &dispatchmgr) == + ISC_R_SUCCESS); timermgr = NULL; RUNTIME_CHECK(isc_timermgr_create(mctx, &timermgr) == ISC_R_SUCCESS); @@ -138,7 +137,7 @@ main(int argc, char *argv[]) { &view) == ISC_R_SUCCESS); { - unsigned int attrs; + unsigned int attrs; dns_dispatch_t *disp4 = NULL; dns_dispatch_t *disp6 = NULL; @@ -148,13 +147,11 @@ main(int argc, char *argv[]) { isc_sockaddr_any(&any4); attrs = DNS_DISPATCHATTR_IPV4 | DNS_DISPATCHATTR_UDP; - RUNTIME_CHECK(dns_dispatch_getudp(dispatchmgr, - socketmgr, - taskmgr, &any4, - 512, 6, 1024, - 17, 19, attrs, - attrs, &disp4) - == ISC_R_SUCCESS); + RUNTIME_CHECK( + dns_dispatch_getudp(dispatchmgr, socketmgr, + taskmgr, &any4, 512, 6, + 1024, 17, 19, attrs, attrs, + &disp4) == ISC_R_SUCCESS); INSIST(disp4 != NULL); } @@ -164,32 +161,28 @@ main(int argc, char *argv[]) { isc_sockaddr_any6(&any6); attrs = DNS_DISPATCHATTR_IPV6 | DNS_DISPATCHATTR_UDP; - RUNTIME_CHECK(dns_dispatch_getudp(dispatchmgr, - socketmgr, - taskmgr, &any6, - 512, 6, 1024, - 17, 19, attrs, - attrs, &disp6) - == ISC_R_SUCCESS); + RUNTIME_CHECK( + dns_dispatch_getudp(dispatchmgr, socketmgr, + taskmgr, &any6, 512, 6, + 1024, 17, 19, attrs, attrs, + &disp6) == ISC_R_SUCCESS); INSIST(disp6 != NULL); } RUNTIME_CHECK(dns_view_createresolver(view, taskmgr, 10, 1, - socketmgr, - timermgr, 0, - dispatchmgr, - disp4, disp6) == - ISC_R_SUCCESS); + socketmgr, timermgr, 0, + dispatchmgr, disp4, + disp6) == ISC_R_SUCCESS); if (disp4 != NULL) - dns_dispatch_detach(&disp4); + dns_dispatch_detach(&disp4); if (disp6 != NULL) - dns_dispatch_detach(&disp6); + dns_dispatch_detach(&disp6); } { - struct in_addr ina; - isc_sockaddr_t sa; + struct in_addr ina; + isc_sockaddr_t sa; isc_sockaddrlist_t sal; ISC_LIST_INIT(sal); @@ -198,8 +191,8 @@ main(int argc, char *argv[]) { ISC_LIST_APPEND(sal, &sa, link); RUNTIME_CHECK(dns_fwdtable_add(view->fwdtable, dns_rootname, - &sal, dns_fwdpolicy_only) - == ISC_R_SUCCESS); + &sal, dns_fwdpolicy_only) == + ISC_R_SUCCESS); } dns_view_setcache(view, cache, false); @@ -219,8 +212,8 @@ main(int argc, char *argv[]) { } } - result = dns_byaddr_create(mctx, &na, view, options, task, - done, NULL, &byaddr); + result = dns_byaddr_create(mctx, &na, view, options, task, done, NULL, + &byaddr); if (result != ISC_R_SUCCESS) { printf("dns_byaddr_create() returned %s\n", isc_result_totext(result)); diff --git a/bin/tests/optional/byname_test.c b/bin/tests/optional/byname_test.c index fe0d2d7b5a..640b4f23bf 100644 --- a/bin/tests/optional/byname_test.c +++ b/bin/tests/optional/byname_test.c @@ -34,23 +34,25 @@ #include #include -static isc_mem_t *mctx = NULL; -static isc_taskmgr_t *taskmgr; -static dns_view_t *view = NULL; -static dns_adbfind_t *find = NULL; -static isc_task_t *task = NULL; -static dns_fixedname_t fixed; -static dns_fixedname_t target; -static isc_log_t *lctx; +static isc_mem_t * mctx = NULL; +static isc_taskmgr_t * taskmgr; +static dns_view_t * view = NULL; +static dns_adbfind_t * find = NULL; +static isc_task_t * task = NULL; +static dns_fixedname_t fixed; +static dns_fixedname_t target; +static isc_log_t * lctx; static isc_logconfig_t *lcfg; -static unsigned int level = 0; - -static void adb_callback(isc_task_t *task, isc_event_t *event); +static unsigned int level = 0; static void -log_init(void) { +adb_callback(isc_task_t *task, isc_event_t *event); + +static void +log_init(void) +{ isc_logdestination_t destination; - unsigned int flags; + unsigned int flags; /* * Setup a logging context. @@ -69,24 +71,23 @@ log_init(void) { destination.file.maximum_size = 0; flags = ISC_LOG_PRINTTIME; RUNTIME_CHECK(isc_log_createchannel(lcfg, "_default", - ISC_LOG_TOFILEDESC, - ISC_LOG_DYNAMIC, - &destination, flags) == - ISC_R_SUCCESS); + ISC_LOG_TOFILEDESC, ISC_LOG_DYNAMIC, + &destination, + flags) == ISC_R_SUCCESS); RUNTIME_CHECK(isc_log_usechannel(lcfg, "_default", NULL, NULL) == ISC_R_SUCCESS); isc_log_setdebuglevel(lctx, level); } static void -print_addresses(dns_adbfind_t *adbfind) { +print_addresses(dns_adbfind_t *adbfind) +{ dns_adbaddrinfo_t *address; - for (address = ISC_LIST_HEAD(adbfind->list); - address != NULL; + for (address = ISC_LIST_HEAD(adbfind->list); address != NULL; address = ISC_LIST_NEXT(address, publink)) { isc_netaddr_t netaddr; - char text[ISC_NETADDR_FORMATSIZE]; + char text[ISC_NETADDR_FORMATSIZE]; isc_netaddr_fromsockaddr(&netaddr, &address->sockaddr); isc_netaddr_format(&netaddr, text, sizeof(text)); printf("%s\n", text); @@ -94,7 +95,8 @@ print_addresses(dns_adbfind_t *adbfind) { } static void -print_name(dns_name_t *name) { +print_name(dns_name_t *name) +{ char text[DNS_NAME_FORMATSIZE]; dns_name_format(name, text, sizeof(text)); @@ -102,9 +104,10 @@ print_name(dns_name_t *name) { } static void -do_find(bool want_event) { +do_find(bool want_event) +{ isc_result_t result; - bool done = false; + bool done = false; unsigned int options; options = DNS_ADBFIND_INET | DNS_ADBFIND_INET6; @@ -112,9 +115,8 @@ do_find(bool want_event) { options |= DNS_ADBFIND_WANTEVENT | DNS_ADBFIND_EMPTYEVENT; dns_fixedname_init(&target); result = dns_adb_createfind(view->adb, task, adb_callback, NULL, - dns_fixedname_name(&fixed), - dns_rootname, 0, options, 0, - dns_fixedname_name(&target), 0, + dns_fixedname_name(&fixed), dns_rootname, 0, + options, 0, dns_fixedname_name(&target), 0, 0, NULL, &find); if (result == ISC_R_SUCCESS) { if (!ISC_LIST_EMPTY(find->list)) { @@ -159,7 +161,8 @@ do_find(bool want_event) { } static void -adb_callback(isc_task_t *etask, isc_event_t *event) { +adb_callback(isc_task_t *etask, isc_event_t *event) +{ unsigned int type = event->ev_type; REQUIRE(etask == task); @@ -179,22 +182,24 @@ adb_callback(isc_task_t *etask, isc_event_t *event) { } static void -run(isc_task_t *xtask, isc_event_t *event) { +run(isc_task_t *xtask, isc_event_t *event) +{ UNUSED(xtask); do_find(true); isc_event_free(&event); } int -main(int argc, char *argv[]) { - bool verbose = false; - unsigned int workers = 2; - isc_timermgr_t *timermgr; - int ch; - isc_socketmgr_t *socketmgr; +main(int argc, char *argv[]) +{ + bool verbose = false; + unsigned int workers = 2; + isc_timermgr_t * timermgr; + int ch; + isc_socketmgr_t * socketmgr; dns_dispatchmgr_t *dispatchmgr; - dns_cache_t *cache; - isc_buffer_t b; + dns_cache_t * cache; + isc_buffer_t b; RUNTIME_CHECK(isc_app_start() == ISC_R_SUCCESS); @@ -229,13 +234,12 @@ main(int argc, char *argv[]) { RUNTIME_CHECK(isc_taskmgr_create(mctx, workers, 0, NULL, &taskmgr) == ISC_R_SUCCESS); task = NULL; - RUNTIME_CHECK(isc_task_create(taskmgr, 0, &task) == - ISC_R_SUCCESS); + RUNTIME_CHECK(isc_task_create(taskmgr, 0, &task) == ISC_R_SUCCESS); isc_task_setname(task, "byname", NULL); dispatchmgr = NULL; - RUNTIME_CHECK(dns_dispatchmgr_create(mctx, &dispatchmgr) - == ISC_R_SUCCESS); + RUNTIME_CHECK(dns_dispatchmgr_create(mctx, &dispatchmgr) == + ISC_R_SUCCESS); timermgr = NULL; RUNTIME_CHECK(isc_timermgr_create(mctx, &timermgr) == ISC_R_SUCCESS); @@ -252,7 +256,7 @@ main(int argc, char *argv[]) { &view) == ISC_R_SUCCESS); { - unsigned int attrs; + unsigned int attrs; dns_dispatch_t *disp4 = NULL; dns_dispatch_t *disp6 = NULL; @@ -261,13 +265,11 @@ main(int argc, char *argv[]) { isc_sockaddr_any(&any4); attrs = DNS_DISPATCHATTR_IPV4 | DNS_DISPATCHATTR_UDP; - RUNTIME_CHECK(dns_dispatch_getudp(dispatchmgr, - socketmgr, - taskmgr, &any4, - 512, 6, 1024, - 17, 19, attrs, - attrs, &disp4) - == ISC_R_SUCCESS); + RUNTIME_CHECK( + dns_dispatch_getudp(dispatchmgr, socketmgr, + taskmgr, &any4, 512, 6, + 1024, 17, 19, attrs, attrs, + &disp4) == ISC_R_SUCCESS); INSIST(disp4 != NULL); } @@ -277,22 +279,18 @@ main(int argc, char *argv[]) { isc_sockaddr_any6(&any6); attrs = DNS_DISPATCHATTR_IPV6 | DNS_DISPATCHATTR_UDP; - RUNTIME_CHECK(dns_dispatch_getudp(dispatchmgr, - socketmgr, - taskmgr, &any6, - 512, 6, 1024, - 17, 19, attrs, - attrs, &disp6) - == ISC_R_SUCCESS); + RUNTIME_CHECK( + dns_dispatch_getudp(dispatchmgr, socketmgr, + taskmgr, &any6, 512, 6, + 1024, 17, 19, attrs, attrs, + &disp6) == ISC_R_SUCCESS); INSIST(disp6 != NULL); } RUNTIME_CHECK(dns_view_createresolver(view, taskmgr, 10, 1, - socketmgr, - timermgr, 0, - dispatchmgr, - disp4, disp6) == - ISC_R_SUCCESS); + socketmgr, timermgr, 0, + dispatchmgr, disp4, + disp6) == ISC_R_SUCCESS); if (disp4 != NULL) dns_dispatch_detach(&disp4); @@ -301,8 +299,8 @@ main(int argc, char *argv[]) { } { - struct in_addr ina; - isc_sockaddr_t sa; + struct in_addr ina; + isc_sockaddr_t sa; isc_sockaddrlist_t sal; ISC_LIST_INIT(sal); @@ -311,8 +309,8 @@ main(int argc, char *argv[]) { ISC_LIST_APPEND(sal, &sa, link); RUNTIME_CHECK(dns_fwdtable_add(view->fwdtable, dns_rootname, - &sal, dns_fwdpolicy_only) - == ISC_R_SUCCESS); + &sal, dns_fwdpolicy_only) == + ISC_R_SUCCESS); } dns_view_setcache(view, cache, false); @@ -327,8 +325,8 @@ main(int argc, char *argv[]) { dns_fixedname_init(&fixed); dns_fixedname_init(&target); RUNTIME_CHECK(dns_name_fromtext(dns_fixedname_name(&fixed), &b, - dns_rootname, 0, NULL) == - ISC_R_SUCCESS); + dns_rootname, 0, + NULL) == ISC_R_SUCCESS); RUNTIME_CHECK(isc_app_onrun(mctx, task, run, NULL) == ISC_R_SUCCESS); diff --git a/bin/tests/optional/db_test.c b/bin/tests/optional/db_test.c index af3dd9cc43..4edd174c2f 100644 --- a/bin/tests/optional/db_test.c +++ b/bin/tests/optional/db_test.c @@ -20,8 +20,8 @@ #include #include #include -#include #include +#include #include #include @@ -33,35 +33,35 @@ #include #include -#define MAXHOLD 100 -#define MAXVERSIONS 100 +#define MAXHOLD 100 +#define MAXVERSIONS 100 typedef struct dbinfo { - dns_db_t * db; - dns_dbversion_t * version; - dns_dbversion_t * wversion; - dns_dbversion_t * rversions[MAXVERSIONS]; - int rcount; - dns_dbnode_t * hold_nodes[MAXHOLD]; - int hold_count; - dns_dbiterator_t * dbiterator; - dns_dbversion_t * iversion; - int pause_every; - bool ascending; - ISC_LINK(struct dbinfo) link; + dns_db_t * db; + dns_dbversion_t * version; + dns_dbversion_t * wversion; + dns_dbversion_t * rversions[MAXVERSIONS]; + int rcount; + dns_dbnode_t * hold_nodes[MAXHOLD]; + int hold_count; + dns_dbiterator_t *dbiterator; + dns_dbversion_t * iversion; + int pause_every; + bool ascending; + ISC_LINK(struct dbinfo) link; } dbinfo; -static isc_mem_t * mctx = NULL; -static char dbtype[128]; -static dns_dbtable_t * dbtable; -static ISC_LIST(dbinfo) dbs; -static dbinfo * cache_dbi = NULL; -static int pause_every = 0; -static bool ascending = true; +static isc_mem_t * mctx = NULL; +static char dbtype[128]; +static dns_dbtable_t *dbtable; +static ISC_LIST(dbinfo) dbs; +static dbinfo *cache_dbi = NULL; +static int pause_every = 0; +static bool ascending = true; static void -print_result(const char *message, isc_result_t result) { - +print_result(const char *message, isc_result_t result) +{ if (message == NULL) message = ""; printf("%s%sresult %08x: %s\n", message, (*message == '\0') ? "" : " ", @@ -69,15 +69,15 @@ print_result(const char *message, isc_result_t result) { } static void -print_rdataset(dns_name_t *name, dns_rdataset_t *rdataset) { +print_rdataset(dns_name_t *name, dns_rdataset_t *rdataset) +{ isc_buffer_t text; - char t[1000]; + char t[1000]; isc_result_t result; isc_region_t r; isc_buffer_init(&text, t, sizeof(t)); - result = dns_rdataset_totext(rdataset, name, false, false, - &text); + result = dns_rdataset_totext(rdataset, name, false, false, &text); isc_buffer_usedregion(&text, &r); if (result == ISC_R_SUCCESS) printf("%.*s", (int)r.length, (char *)r.base); @@ -86,8 +86,9 @@ print_rdataset(dns_name_t *name, dns_rdataset_t *rdataset) { } static void -print_rdatasets(dns_name_t *name, dns_rdatasetiter_t *rdsiter) { - isc_result_t result; +print_rdatasets(dns_name_t *name, dns_rdatasetiter_t *rdsiter) +{ + isc_result_t result; dns_rdataset_t rdataset; dns_rdataset_init(&rdataset); @@ -103,13 +104,14 @@ print_rdatasets(dns_name_t *name, dns_rdatasetiter_t *rdsiter) { } static dbinfo * -select_db(char *origintext) { +select_db(char *origintext) +{ dns_fixedname_t forigin; - dns_name_t *origin; - isc_buffer_t source; - size_t len; - dbinfo *dbi; - isc_result_t result; + dns_name_t * origin; + isc_buffer_t source; + size_t len; + dbinfo * dbi; + isc_result_t result; if (strcasecmp(origintext, "cache") == 0) { if (cache_dbi == NULL) @@ -126,8 +128,7 @@ select_db(char *origintext) { return (NULL); } - for (dbi = ISC_LIST_HEAD(dbs); - dbi != NULL; + for (dbi = ISC_LIST_HEAD(dbs); dbi != NULL; dbi = ISC_LIST_NEXT(dbi, link)) { if (dns_name_compare(dns_db_origin(dbi->db), origin) == 0) break; @@ -137,17 +138,18 @@ select_db(char *origintext) { } static void -list(dbinfo *dbi, char *seektext) { - dns_fixedname_t fname; - dns_name_t *name; - dns_dbnode_t *node; +list(dbinfo *dbi, char *seektext) +{ + dns_fixedname_t fname; + dns_name_t * name; + dns_dbnode_t * node; dns_rdatasetiter_t *rdsiter; - isc_result_t result; - int i; - size_t len; - dns_fixedname_t fseekname; - dns_name_t *seekname; - isc_buffer_t source; + isc_result_t result; + int i; + size_t len; + dns_fixedname_t fseekname; + dns_name_t * seekname; + isc_buffer_t source; name = dns_fixedname_initname(&fname); @@ -168,14 +170,12 @@ list(dbinfo *dbi, char *seektext) { isc_buffer_init(&source, seektext, len); isc_buffer_add(&source, len); seekname = dns_fixedname_initname(&fseekname); - result = dns_name_fromtext(seekname, &source, - dns_db_origin( - dbi->db), - 0, NULL); + result = dns_name_fromtext( + seekname, &source, + dns_db_origin(dbi->db), 0, NULL); if (result == ISC_R_SUCCESS) result = dns_dbiterator_seek( - dbi->dbiterator, - seekname); + dbi->dbiterator, seekname); } else if (dbi->ascending) result = dns_dbiterator_first(dbi->dbiterator); else @@ -221,14 +221,15 @@ list(dbinfo *dbi, char *seektext) { } static isc_result_t -load(const char *filename, const char *origintext, bool cache) { +load(const char *filename, const char *origintext, bool cache) +{ dns_fixedname_t forigin; - dns_name_t *origin; - isc_result_t result; - isc_buffer_t source; - size_t len; - dbinfo *dbi; - unsigned int i; + dns_name_t * origin; + isc_result_t result; + isc_buffer_t source; + size_t len; + dbinfo * dbi; + unsigned int i; dbi = isc_mem_get(mctx, sizeof(*dbi)); @@ -258,8 +259,7 @@ load(const char *filename, const char *origintext, bool cache) { result = dns_db_create(mctx, dbtype, origin, cache ? dns_dbtype_cache : dns_dbtype_zone, - dns_rdataclass_in, - 0, NULL, &dbi->db); + dns_rdataclass_in, 0, NULL, &dbi->db); if (result != ISC_R_SUCCESS) { isc_mem_put(mctx, dbi, sizeof(*dbi)); return (result); @@ -292,7 +292,8 @@ load(const char *filename, const char *origintext, bool cache) { } static void -unload_all(void) { +unload_all(void) +{ dbinfo *dbi, *dbi_next; for (dbi = ISC_LIST_HEAD(dbs); dbi != NULL; dbi = dbi_next) { @@ -310,55 +311,56 @@ unload_all(void) { } } -#define DBI_CHECK(dbi) \ -if ((dbi) == NULL) { \ - printf("You must first select a database with !DB\n"); \ - continue; \ -} +#define DBI_CHECK(dbi) \ + if ((dbi) == NULL) { \ + printf("You must first select a database with !DB\n"); \ + continue; \ + } int -main(int argc, char *argv[]) { - dns_db_t *db; - dns_dbnode_t *node; - isc_result_t result; - dns_name_t name; - dns_offsets_t offsets; - size_t len; - isc_buffer_t source, target; - char s[1000]; - char b[255]; - dns_rdataset_t rdataset, sigrdataset; - int ch; - dns_rdatatype_t type = 1; - bool printnode = false; - bool addmode = false; - bool delmode = false; - bool holdmode = false; - bool verbose = false; - bool done = false; - bool quiet = false; - bool time_lookups = false; - bool found_as; - bool find_zonecut = false; - bool noexact_zonecut = false; - int i, v; +main(int argc, char *argv[]) +{ + dns_db_t * db; + dns_dbnode_t * node; + isc_result_t result; + dns_name_t name; + dns_offsets_t offsets; + size_t len; + isc_buffer_t source, target; + char s[1000]; + char b[255]; + dns_rdataset_t rdataset, sigrdataset; + int ch; + dns_rdatatype_t type = 1; + bool printnode = false; + bool addmode = false; + bool delmode = false; + bool holdmode = false; + bool verbose = false; + bool done = false; + bool quiet = false; + bool time_lookups = false; + bool found_as; + bool find_zonecut = false; + bool noexact_zonecut = false; + int i, v; dns_rdatasetiter_t *rdsiter; - char t1[256]; - char t2[256]; - isc_buffer_t tb1, tb2; - isc_region_t r1, r2; - dns_fixedname_t foundname; - dns_name_t *fname; - unsigned int options = 0, zcoptions; - isc_time_t start, finish; - const char *origintext; - dbinfo *dbi; - dns_dbversion_t *version; - const dns_name_t *origin; - dns_trust_t trust = 0; - unsigned int addopts; - isc_log_t *lctx = NULL; - size_t n; + char t1[256]; + char t2[256]; + isc_buffer_t tb1, tb2; + isc_region_t r1, r2; + dns_fixedname_t foundname; + dns_name_t * fname; + unsigned int options = 0, zcoptions; + isc_time_t start, finish; + const char * origintext; + dbinfo * dbi; + dns_dbversion_t * version; + const dns_name_t * origin; + dns_trust_t trust = 0; + unsigned int addopts; + isc_log_t * lctx = NULL; + size_t n; dns_result_register(); @@ -367,8 +369,8 @@ main(int argc, char *argv[]) { ISC_R_SUCCESS); snprintf(dbtype, sizeof(dbtype), "rbt"); - while ((ch = isc_commandline_parse(argc, argv, "c:d:t:z:P:Q:glpqvT")) - != -1) { + while ((ch = isc_commandline_parse(argc, argv, "c:d:t:z:P:Q:glpqvT")) != + -1) { switch (ch) { case 'c': result = load(isc_commandline_argument, ".", true); @@ -387,11 +389,12 @@ main(int argc, char *argv[]) { } break; case 'g': - options |= (DNS_DBFIND_GLUEOK|DNS_DBFIND_VALIDATEGLUE); + options |= + (DNS_DBFIND_GLUEOK | DNS_DBFIND_VALIDATEGLUE); break; case 'l': - RUNTIME_CHECK(isc_log_create(mctx, &lctx, - NULL) == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_log_create(mctx, &lctx, NULL) == + ISC_R_SUCCESS); isc_log_setcontext(lctx); dns_log_init(lctx); dns_log_setcontext(lctx); @@ -420,7 +423,7 @@ main(int argc, char *argv[]) { if (origintext == NULL) origintext = isc_commandline_argument; else - origintext++; /* Skip '/'. */ + origintext++; /* Skip '/'. */ result = load(isc_commandline_argument, origintext, false); if (result != ISC_R_SUCCESS) @@ -511,11 +514,11 @@ main(int argc, char *argv[]) { dbi->wversion = NULL; } else { for (i = 0; i < dbi->rcount; i++) { - if (dbi->version == - dbi->rversions[i]) { + if (dbi->version == dbi->rversions[i]) { dbi->rversions[i] = NULL; - printf("closing open version %d\n", - i); + printf("closing open version " + "%d\n", + i); break; } } @@ -534,11 +537,11 @@ main(int argc, char *argv[]) { dbi->wversion = NULL; } else { for (i = 0; i < dbi->rcount; i++) { - if (dbi->version == - dbi->rversions[i]) { + if (dbi->version == dbi->rversions[i]) { dbi->rversions[i] = NULL; - printf("closing open version %d\n", - i); + printf("closing open version " + "%d\n", + i); break; } } @@ -575,8 +578,7 @@ main(int argc, char *argv[]) { } else if (strcmp(s, "!HR") == 0) { DBI_CHECK(dbi); for (i = 0; i < dbi->hold_count; i++) - dns_db_detachnode(dbi->db, - &dbi->hold_nodes[i]); + dns_db_detachnode(dbi->db, &dbi->hold_nodes[i]); dbi->hold_count = 0; holdmode = false; printf("held nodes have been detached\n"); @@ -616,8 +618,8 @@ main(int argc, char *argv[]) { else options |= DNS_DBFIND_GLUEOK; printf("glue ok = %s\n", - ((options & DNS_DBFIND_GLUEOK) != 0) ? - "TRUE" : "FALSE"); + ((options & DNS_DBFIND_GLUEOK) != 0) ? "TRUE" + : "FALSE"); continue; } else if (strcmp(s, "!GV") == 0) { if ((options & DNS_DBFIND_VALIDATEGLUE) != 0) @@ -625,8 +627,9 @@ main(int argc, char *argv[]) { else options |= DNS_DBFIND_VALIDATEGLUE; printf("validate glue = %s\n", - ((options & DNS_DBFIND_VALIDATEGLUE) != 0) ? - "TRUE" : "FALSE"); + ((options & DNS_DBFIND_VALIDATEGLUE) != 0) + ? "TRUE" + : "FALSE"); continue; } else if (strcmp(s, "!WC") == 0) { if ((options & DNS_DBFIND_NOWILD) != 0) @@ -634,8 +637,8 @@ main(int argc, char *argv[]) { else options |= DNS_DBFIND_NOWILD; printf("wildcard matching = %s\n", - ((options & DNS_DBFIND_NOWILD) == 0) ? - "TRUE" : "FALSE"); + ((options & DNS_DBFIND_NOWILD) == 0) ? "TRUE" + : "FALSE"); continue; } else if (strstr(s, "!LS ") == s) { DBI_CHECK(dbi); @@ -647,7 +650,7 @@ main(int argc, char *argv[]) { continue; } else if (strstr(s, "!DU ") == s) { DBI_CHECK(dbi); - result = dns_db_dump(dbi->db, dbi->version, s+4); + result = dns_db_dump(dbi->db, dbi->version, s + 4); if (result != ISC_R_SUCCESS) { printf("\n"); print_result("", result); @@ -681,7 +684,7 @@ main(int argc, char *argv[]) { printf("now searching all databases\n"); continue; } else if (strncmp(s, "!DB ", 4) == 0) { - dbi = select_db(s+4); + dbi = select_db(s + 4); if (dbi != NULL) { db = dbi->db; origin = dns_db_origin(dbi->db); @@ -740,8 +743,8 @@ main(int argc, char *argv[]) { continue; } isc_buffer_init(&tb1, t1, sizeof(t1)); - result = dns_name_totext(dns_db_origin(db), false, - &tb1); + result = + dns_name_totext(dns_db_origin(db), false, &tb1); if (result != ISC_R_SUCCESS) { printf("\n"); print_result("", result); @@ -749,9 +752,8 @@ main(int argc, char *argv[]) { continue; } isc_buffer_usedregion(&tb1, &r1); - printf("\ndatabase = %.*s (%s)\n", - (int)r1.length, r1.base, - (dns_db_iszone(db)) ? "zone" : "cache"); + printf("\ndatabase = %.*s (%s)\n", (int)r1.length, + r1.base, (dns_db_iszone(db)) ? "zone" : "cache"); } node = NULL; dns_rdataset_init(&rdataset); @@ -761,13 +763,13 @@ main(int argc, char *argv[]) { zcoptions = options; if (noexact_zonecut) zcoptions |= DNS_DBFIND_NOEXACT; - result = dns_db_findzonecut(db, &name, zcoptions, - 0, &node, fname, NULL, + result = dns_db_findzonecut(db, &name, zcoptions, 0, + &node, fname, NULL, &rdataset, &sigrdataset); } else { - result = dns_db_find(db, &name, version, type, - options, 0, &node, fname, - &rdataset, &sigrdataset); + result = dns_db_find(db, &name, version, type, options, + 0, &node, fname, &rdataset, + &sigrdataset); } if (!quiet) { @@ -836,8 +838,7 @@ main(int argc, char *argv[]) { } isc_buffer_usedregion(&tb1, &r1); isc_buffer_usedregion(&tb2, &r2); - printf("found %.*s as %.*s\n", - (int)r1.length, r1.base, + printf("found %.*s as %.*s\n", (int)r1.length, r1.base, (int)r2.length, r2.base); } @@ -877,9 +878,8 @@ main(int argc, char *argv[]) { if (printnode) dns_db_printnode(db, node, stdout); } else if (dbi != NULL && delmode && !found_as) { - result = dns_db_deleterdataset(db, node, - version, type, - 0); + result = dns_db_deleterdataset( + db, node, version, type, 0); if (result != ISC_R_SUCCESS) print_result("", result); if (printnode) diff --git a/bin/tests/optional/fsaccess_test.c b/bin/tests/optional/fsaccess_test.c index c3c61e2494..4baea111ee 100644 --- a/bin/tests/optional/fsaccess_test.c +++ b/bin/tests/optional/fsaccess_test.c @@ -11,25 +11,26 @@ /*! \file */ +#include #include #include -#include - -#include /* Non-portable. */ -#include /* Non-portable. */ #include #include #include +#include /* Non-portable. */ +#include /* Non-portable. */ + #define PATH "/tmp/fsaccess" int -main(void) { +main(void) +{ isc_fsaccess_t access; - isc_result_t result; - FILE *fp; - int n; + isc_result_t result; + FILE * fp; + int n; n = remove(PATH); if (n != 0 && errno != ENOENT) { @@ -50,8 +51,7 @@ main(void) { access = 0; isc_fsaccess_add(ISC_FSACCESS_OWNER | ISC_FSACCESS_GROUP, - ISC_FSACCESS_READ | ISC_FSACCESS_WRITE, - &access); + ISC_FSACCESS_READ | ISC_FSACCESS_WRITE, &access); printf("fsaccess=%u\n", access); diff --git a/bin/tests/optional/gsstest.c b/bin/tests/optional/gsstest.c index f708316a00..a4178d2a76 100644 --- a/bin/tests/optional/gsstest.c +++ b/bin/tests/optional/gsstest.c @@ -25,61 +25,65 @@ #include #include +#include +#include #include #include #include +#include #include #include +#include #include +#include #include #include #include -#include - -#include -#include -#include -#include -#include #include +#include #include #ifdef GSSAPI #include ISC_PLATFORM_GSSAPIHEADER -#define CHECK(str, x) { \ - if ((x) != ISC_R_SUCCESS) { \ - fprintf(stderr, "I:%d:%s: %s\n", __LINE__, (str), isc_result_totext(x)); \ - goto end; \ - } \ -} +#define CHECK(str, x) \ + { \ + if ((x) != ISC_R_SUCCESS) { \ + fprintf(stderr, "I:%d:%s: %s\n", __LINE__, (str), \ + isc_result_totext(x)); \ + goto end; \ + } \ + } static dns_fixedname_t servername, gssname; -static isc_mem_t *mctx; +static isc_mem_t * mctx; static dns_requestmgr_t *requestmgr; -static isc_sockaddr_t address; +static isc_sockaddr_t address; static dns_tsig_keyring_t *ring; -static dns_tsigkey_t *tsigkey = NULL; -static gss_ctx_id_t gssctx; -static gss_ctx_id_t *gssctxp = &gssctx; +static dns_tsigkey_t * tsigkey = NULL; +static gss_ctx_id_t gssctx; +static gss_ctx_id_t * gssctxp = &gssctx; #define RUNCHECK(x) RUNTIME_CHECK((x) == ISC_R_SUCCESS) #define PORT 53 #define TIMEOUT 30 -static void initctx1(isc_task_t *task, isc_event_t *event); -static void sendquery(isc_task_t *task, isc_event_t *event); -static void setup(); +static void +initctx1(isc_task_t *task, isc_event_t *event); +static void +sendquery(isc_task_t *task, isc_event_t *event); +static void +setup(); static void console(isc_task_t *task, isc_event_t *event) { char buf[32]; - int c; + int c; isc_event_t *ev = NULL; @@ -113,13 +117,14 @@ console(isc_task_t *task, isc_event_t *event) } static void -recvresponse(isc_task_t *task, isc_event_t *event) { +recvresponse(isc_task_t *task, isc_event_t *event) +{ dns_requestevent_t *reqev = (dns_requestevent_t *)event; - isc_result_t result, result2; - dns_message_t *query = NULL, *response = NULL; - isc_buffer_t outtoken; - isc_buffer_t outbuf; - char output[10 * 1024]; + isc_result_t result, result2; + dns_message_t * query = NULL, *response = NULL; + isc_buffer_t outtoken; + isc_buffer_t outbuf; + char output[10 * 1024]; unsigned char array[DNS_NAME_MAXTEXT + 1]; isc_buffer_init(&outtoken, array, sizeof(array)); @@ -143,7 +148,7 @@ recvresponse(isc_task_t *task, isc_event_t *event) { printf("\nReceived Response:\n"); result2 = dns_request_getresponse(reqev->request, response, - DNS_MESSAGEPARSE_PRESERVEORDER); + DNS_MESSAGEPARSE_PRESERVEORDER); isc_buffer_init(&outbuf, output, sizeof(output)); result = dns_message_totext(response, &dns_master_style_debug, 0, &outbuf); @@ -156,7 +161,7 @@ recvresponse(isc_task_t *task, isc_event_t *event) { if (response != NULL) dns_message_destroy(&response); - end: +end: if (query != NULL) dns_message_destroy(&query); @@ -171,21 +176,20 @@ recvresponse(isc_task_t *task, isc_event_t *event) { return; } - static void sendquery(isc_task_t *task, isc_event_t *event) { - dns_request_t *request = NULL; - dns_message_t *message = NULL; - dns_name_t *qname = NULL; + dns_request_t * request = NULL; + dns_message_t * message = NULL; + dns_name_t * qname = NULL; dns_rdataset_t *qrdataset = NULL; - isc_result_t result; + isc_result_t result; dns_fixedname_t queryname; - isc_buffer_t buf; - isc_buffer_t outbuf; - char output[10 * 1024]; - static char host[256]; - int c; + isc_buffer_t buf; + isc_buffer_t outbuf; + char output[10 * 1024]; + static char host[256]; + int c; isc_event_free(&event); @@ -225,8 +229,8 @@ sendquery(isc_task_t *task, isc_event_t *event) dns_message_addname(message, qname, DNS_SECTION_QUESTION); result = dns_request_create(requestmgr, message, &address, 0, tsigkey, - TIMEOUT, task, recvresponse, - message, &request); + TIMEOUT, task, recvresponse, message, + &request); CHECK("dns_request_create", result); printf("Submitting query:\n"); @@ -239,7 +243,7 @@ sendquery(isc_task_t *task, isc_event_t *event) return; - end: +end: if (qname != NULL) dns_message_puttempname(message, &qname); if (qrdataset != NULL) @@ -249,15 +253,16 @@ sendquery(isc_task_t *task, isc_event_t *event) } static void -initctx2(isc_task_t *task, isc_event_t *event) { +initctx2(isc_task_t *task, isc_event_t *event) +{ dns_requestevent_t *reqev = (dns_requestevent_t *)event; - isc_result_t result; - dns_message_t *query = NULL, *response = NULL; - isc_buffer_t outtoken; - unsigned char array[DNS_NAME_MAXTEXT + 1]; - dns_rdataset_t *rdataset; - dns_rdatatype_t qtype; - dns_name_t *question_name; + isc_result_t result; + dns_message_t * query = NULL, *response = NULL; + isc_buffer_t outtoken; + unsigned char array[DNS_NAME_MAXTEXT + 1]; + dns_rdataset_t * rdataset; + dns_rdatatype_t qtype; + dns_name_t * question_name; UNUSED(task); @@ -288,10 +293,9 @@ initctx2(isc_task_t *task, isc_event_t *event) { printf("Received token from server, calling gss_init_sec_context()\n"); isc_buffer_init(&outtoken, array, DNS_NAME_MAXTEXT + 1); - result = dns_tkey_processgssresponse(query, response, - dns_fixedname_name(&gssname), - &gssctx, &outtoken, - &tsigkey, ring, NULL); + result = dns_tkey_processgssresponse( + query, response, dns_fixedname_name(&gssname), &gssctx, + &outtoken, &tsigkey, ring, NULL); gssctx = *gssctxp; CHECK("dns_tkey_processgssresponse", result); printf("Context accepted\n"); @@ -313,7 +317,7 @@ initctx2(isc_task_t *task, isc_event_t *event) { dns_message_destroy(&response); - end: +end: if (query != NULL) dns_message_destroy(&query); @@ -329,14 +333,15 @@ initctx2(isc_task_t *task, isc_event_t *event) { } static void -initctx1(isc_task_t *task, isc_event_t *event) { - char gssid[512]; - char contextname[512]; - isc_result_t result; - isc_buffer_t buf; +initctx1(isc_task_t *task, isc_event_t *event) +{ + char gssid[512]; + char contextname[512]; + isc_result_t result; + isc_buffer_t buf; dns_message_t *query; dns_request_t *request; - int c; + int c; isc_event_free(&event); @@ -345,8 +350,8 @@ initctx1(isc_task_t *task, isc_event_t *event) { if (c == EOF) return; - snprintf(contextname, sizeof(contextname), - "gsstest.context.%d.", (int)time(NULL)); + snprintf(contextname, sizeof(contextname), "gsstest.context.%d.", + (int)time(NULL)); printf("Initctx - context name we're using: %s\n", contextname); @@ -379,9 +384,8 @@ initctx1(isc_task_t *task, isc_event_t *event) { printf("Calling gss_init_sec_context()\n"); gssctx = GSS_C_NO_CONTEXT; result = dns_tkey_buildgssquery(query, dns_fixedname_name(&servername), - dns_fixedname_name(&gssname), - NULL, 36000, &gssctx, true, - mctx, NULL); + dns_fixedname_name(&gssname), NULL, + 36000, &gssctx, true, mctx, NULL); CHECK("dns_tkey_buildgssquery", result); printf("Sending context token to server\n"); @@ -391,19 +395,20 @@ initctx1(isc_task_t *task, isc_event_t *event) { CHECK("dns_request_create", result); return; - end: +end: event = isc_event_allocate(mctx, (void *)1, 1, console, NULL, sizeof(*event)); - isc_task_send(task, &event);return; + isc_task_send(task, &event); + return; } static void setup(void) { for (;;) { - char serveraddress[512]; + char serveraddress[512]; struct in_addr inaddr; - int c; + int c; printf("Server IP => "); c = scanf("%511s", serveraddress); @@ -417,24 +422,24 @@ setup(void) isc_sockaddr_fromin(&address, &inaddr, PORT); return; } - } } int -main(int argc, char *argv[]) { - isc_taskmgr_t *taskmgr; - isc_timermgr_t *timermgr; - isc_socketmgr_t *socketmgr; - isc_socket_t *sock; - unsigned int attrs, attrmask; - isc_sockaddr_t bind_any; - dns_dispatchmgr_t *dispatchmgr; - dns_dispatch_t *dispatchv4; - dns_view_t *view; - isc_task_t *task; - isc_log_t *lctx = NULL; - isc_logconfig_t *lcfg = NULL; +main(int argc, char *argv[]) +{ + isc_taskmgr_t * taskmgr; + isc_timermgr_t * timermgr; + isc_socketmgr_t * socketmgr; + isc_socket_t * sock; + unsigned int attrs, attrmask; + isc_sockaddr_t bind_any; + dns_dispatchmgr_t * dispatchmgr; + dns_dispatch_t * dispatchv4; + dns_view_t * view; + isc_task_t * task; + isc_log_t * lctx = NULL; + isc_logconfig_t * lcfg = NULL; isc_logdestination_t destination; UNUSED(argv); @@ -459,10 +464,9 @@ main(int argc, char *argv[]) { destination.file.name = NULL; destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.maximum_size = 0; - RUNCHECK(isc_log_createchannel(lcfg, "_default", - ISC_LOG_TOFILEDESC, - ISC_LOG_DYNAMIC, - &destination, ISC_LOG_PRINTTIME)); + RUNCHECK(isc_log_createchannel(lcfg, "_default", ISC_LOG_TOFILEDESC, + ISC_LOG_DYNAMIC, &destination, + ISC_LOG_PRINTTIME)); RUNCHECK(isc_log_usechannel(lcfg, "_default", NULL, NULL)); isc_log_setdebuglevel(lctx, 9); @@ -480,21 +484,18 @@ main(int argc, char *argv[]) { dispatchmgr = NULL; RUNCHECK(dns_dispatchmgr_create(mctx, &dispatchmgr)); isc_sockaddr_any(&bind_any); - attrs = DNS_DISPATCHATTR_UDP | - DNS_DISPATCHATTR_MAKEQUERY | + attrs = DNS_DISPATCHATTR_UDP | DNS_DISPATCHATTR_MAKEQUERY | DNS_DISPATCHATTR_IPV4; - attrmask = DNS_DISPATCHATTR_UDP | - DNS_DISPATCHATTR_TCP | - DNS_DISPATCHATTR_IPV4 | - DNS_DISPATCHATTR_IPV6; + attrmask = DNS_DISPATCHATTR_UDP | DNS_DISPATCHATTR_TCP | + DNS_DISPATCHATTR_IPV4 | DNS_DISPATCHATTR_IPV6; dispatchv4 = NULL; - RUNCHECK(dns_dispatch_getudp(dispatchmgr, socketmgr, taskmgr, - &bind_any, 4096, 4, 2, 3, 5, - attrs, attrmask, &dispatchv4)); + RUNCHECK(dns_dispatch_getudp(dispatchmgr, socketmgr, taskmgr, &bind_any, + 4096, 4, 2, 3, 5, attrs, attrmask, + &dispatchv4)); requestmgr = NULL; RUNCHECK(dns_requestmgr_create(mctx, timermgr, socketmgr, taskmgr, - dispatchmgr, dispatchv4, NULL, - &requestmgr)); + dispatchmgr, dispatchv4, NULL, + &requestmgr)); ring = NULL; RUNCHECK(dns_tsigkeyring_create(mctx, &ring)); @@ -545,7 +546,8 @@ main(int argc, char *argv[]) { } #else int -main(int argc, char *argv[]) { +main(int argc, char *argv[]) +{ UNUSED(argc); UNUSED(argv); fprintf(stderr, "R:GSSAPIONLY\n"); diff --git a/bin/tests/optional/inter_test.c b/bin/tests/optional/inter_test.c index a054eba31d..57986d4cb1 100644 --- a/bin/tests/optional/inter_test.c +++ b/bin/tests/optional/inter_test.c @@ -19,13 +19,14 @@ #include int -main(int argc, char **argv) { - isc_mem_t *mctx = NULL; +main(int argc, char **argv) +{ + isc_mem_t * mctx = NULL; isc_interfaceiter_t *iter = NULL; - isc_interface_t ifdata; - isc_result_t result; - const char * res; - char buf[128]; + isc_interface_t ifdata; + isc_result_t result; + const char * res; + char buf[128]; UNUSED(argc); UNUSED(argv); @@ -49,8 +50,7 @@ main(int argc, char **argv) { sizeof(buf)); if (ifdata.address.zone != 0) fprintf(stdout, "address = %s (zone %u)\n", - res == NULL ? "BAD" : res, - ifdata.address.zone); + res == NULL ? "BAD" : res, ifdata.address.zone); else fprintf(stdout, "address = %s\n", res == NULL ? "BAD" : res); @@ -60,8 +60,8 @@ main(int argc, char **argv) { fprintf(stdout, "netmask = %s\n", res == NULL ? "BAD" : res); INSIST(ifdata.netmask.family == ifdata.af); if ((ifdata.flags & INTERFACE_F_POINTTOPOINT) != 0) { - res = inet_ntop(ifdata.af, &ifdata.dstaddress.type, - buf, sizeof(buf)); + res = inet_ntop(ifdata.af, &ifdata.dstaddress.type, buf, + sizeof(buf)); fprintf(stdout, "dstaddress = %s\n", res == NULL ? "BAD" : res); @@ -96,8 +96,7 @@ main(int argc, char **argv) { sizeof(buf)); if (ifdata.address.zone != 0) fprintf(stdout, "address = %s (zone %u)\n", - res == NULL ? "BAD" : res, - ifdata.address.zone); + res == NULL ? "BAD" : res, ifdata.address.zone); else fprintf(stdout, "address = %s\n", res == NULL ? "BAD" : res); @@ -107,8 +106,8 @@ main(int argc, char **argv) { fprintf(stdout, "netmask = %s\n", res == NULL ? "BAD" : res); INSIST(ifdata.netmask.family == ifdata.af); if ((ifdata.flags & INTERFACE_F_POINTTOPOINT) != 0) { - res = inet_ntop(ifdata.af, &ifdata.dstaddress.type, - buf, sizeof(buf)); + res = inet_ntop(ifdata.af, &ifdata.dstaddress.type, buf, + sizeof(buf)); fprintf(stdout, "dstaddress = %s\n", res == NULL ? "BAD" : res); @@ -122,7 +121,7 @@ main(int argc, char **argv) { } } isc_interfaceiter_destroy(&iter); - cleanup: +cleanup: isc_mem_destroy(&mctx); return (0); diff --git a/bin/tests/optional/lex_test.c b/bin/tests/optional/lex_test.c index 93b4baa608..f707f403d3 100644 --- a/bin/tests/optional/lex_test.c +++ b/bin/tests/optional/lex_test.c @@ -23,7 +23,8 @@ isc_lex_t *lex; isc_lexspecials_t specials; static void -print_token(isc_token_t *tokenp, FILE *stream) { +print_token(isc_token_t *tokenp, FILE *stream) +{ switch (tokenp->type) { case isc_tokentype_unknown: fprintf(stream, "UNKNOWN"); @@ -63,15 +64,16 @@ print_token(isc_token_t *tokenp, FILE *stream) { } int -main(int argc, char *argv[]) { - isc_token_t token; +main(int argc, char *argv[]) +{ + isc_token_t token; isc_result_t result; - int quiet = 0; - int c; - int masterfile = 1; - int stats = 0; + int quiet = 0; + int c; + int masterfile = 1; + int stats = 0; unsigned int options = 0; - int done = 0; + int done = 0; while ((c = isc_commandline_parse(argc, argv, "qmcs")) != -1) { switch (c) { @@ -101,8 +103,8 @@ main(int argc, char *argv[]) { specials['"'] = 1; isc_lex_setspecials(lex, specials); options = ISC_LEXOPT_DNSMULTILINE | ISC_LEXOPT_ESCAPE | - ISC_LEXOPT_EOF | - ISC_LEXOPT_QSTRING | ISC_LEXOPT_NOMORE; + ISC_LEXOPT_EOF | ISC_LEXOPT_QSTRING | + ISC_LEXOPT_NOMORE; isc_lex_setcomments(lex, ISC_LEXCOMMENT_DNSMASTERFILE); } else { /* Set up to lex DNS config file. */ @@ -115,24 +117,24 @@ main(int argc, char *argv[]) { specials['!'] = 1; specials['*'] = 1; isc_lex_setspecials(lex, specials); - options = ISC_LEXOPT_EOF | - ISC_LEXOPT_QSTRING | - ISC_LEXOPT_NUMBER | ISC_LEXOPT_NOMORE; - isc_lex_setcomments(lex, (ISC_LEXCOMMENT_C| - ISC_LEXCOMMENT_CPLUSPLUS| + options = ISC_LEXOPT_EOF | ISC_LEXOPT_QSTRING | + ISC_LEXOPT_NUMBER | ISC_LEXOPT_NOMORE; + isc_lex_setcomments(lex, (ISC_LEXCOMMENT_C | + ISC_LEXCOMMENT_CPLUSPLUS | ISC_LEXCOMMENT_SHELL)); } RUNTIME_CHECK(isc_lex_openstream(lex, stdin) == ISC_R_SUCCESS); while ((result = isc_lex_gettoken(lex, options, &token)) == - ISC_R_SUCCESS && !done) { + ISC_R_SUCCESS && + !done) { if (!quiet) { char *name = isc_lex_getsourcename(lex); print_token(&token, stdout); printf(" line = %lu file = %s\n", - isc_lex_getsourceline(lex), - (name == NULL) ? "" : name); + isc_lex_getsourceline(lex), + (name == NULL) ? "" : name); } if (token.type == isc_tokentype_eof) isc_lex_close(lex); diff --git a/bin/tests/optional/lfsr_test.c b/bin/tests/optional/lfsr_test.c index 88820613aa..371ddd3305 100644 --- a/bin/tests/optional/lfsr_test.c +++ b/bin/tests/optional/lfsr_test.c @@ -11,8 +11,8 @@ /*! \file */ -#include #include +#include #include #include @@ -21,10 +21,11 @@ uint32_t state[1024 * 64]; int -main(int argc, char **argv) { +main(int argc, char **argv) +{ isc_lfsr_t lfsr1, lfsr2; - int i; - uint32_t temp; + int i; + uint32_t temp; UNUSED(argc); UNUSED(argv); diff --git a/bin/tests/optional/log_test.c b/bin/tests/optional/log_test.c index 23ee80323f..bb6a061e5c 100644 --- a/bin/tests/optional/log_test.c +++ b/bin/tests/optional/log_test.c @@ -27,24 +27,26 @@ char usage[] = "Usage: %s [-m] [-s syslog_logfile] [-r file_versions]\n"; -#define CHECK(expr) result = expr; \ - if (result != ISC_R_SUCCESS) { \ - fprintf(stderr, "%s: " #expr "%s: exiting\n", \ - progname, isc_result_totext(result)); \ +#define CHECK(expr) \ + result = expr; \ + if (result != ISC_R_SUCCESS) { \ + fprintf(stderr, "%s: " #expr "%s: exiting\n", progname, \ + isc_result_totext(result)); \ } int -main(int argc, char **argv) { - const char *progname, *syslog_file, *message; - int ch, i, file_versions, stderr_line; - bool show_final_mem = false; - isc_log_t *lctx; - isc_logconfig_t *lcfg; - isc_mem_t *mctx; - isc_result_t result; - isc_logdestination_t destination; +main(int argc, char **argv) +{ + const char * progname, *syslog_file, *message; + int ch, i, file_versions, stderr_line; + bool show_final_mem = false; + isc_log_t * lctx; + isc_logconfig_t * lcfg; + isc_mem_t * mctx; + isc_result_t result; + isc_logdestination_t destination; const isc_logcategory_t *category; - const isc_logmodule_t *module; + const isc_logmodule_t * module; progname = strrchr(*argv, '/'); if (progname != NULL) @@ -68,11 +70,12 @@ main(int argc, char **argv) { if (file_versions < 0 && file_versions != ISC_LOG_ROLLNEVER && file_versions != ISC_LOG_ROLLINFINITE) { - fprintf(stderr, "%s: file rotations must be " + fprintf(stderr, + "%s: file rotations must be " "%d (ISC_LOG_ROLLNEVER),\n\t" "%d (ISC_LOG_ROLLINFINITE) " - "or > 0\n", progname, - ISC_LOG_ROLLNEVER, + "or > 0\n", + progname, ISC_LOG_ROLLNEVER, ISC_LOG_ROLLINFINITE); exit(1); } @@ -94,10 +97,11 @@ main(int argc, char **argv) { fprintf(stderr, "EXPECT:\n%s%d%s%s%s", "8 lines to stderr (first 4 numbered, #3 repeated)\n", - file_versions == 0 || file_versions == ISC_LOG_ROLLNEVER ? 1 : - file_versions > 0 ? file_versions + 1 : FILE_VERSIONS + 1, - " " TEST_FILE " files, and\n", - "2 lines to syslog\n", + file_versions == 0 || file_versions == ISC_LOG_ROLLNEVER + ? 1 + : file_versions > 0 ? file_versions + 1 + : FILE_VERSIONS + 1, + " " TEST_FILE " files, and\n", "2 lines to syslog\n", "lines ending with exclamation marks are errors\n\n"); isc_log_opensyslog(progname, LOG_PID, LOG_DAEMON); @@ -140,13 +144,10 @@ main(int argc, char **argv) { destination.file.maximum_size = 1; destination.file.versions = file_versions; - CHECK(isc_log_createchannel(lcfg, "file_test", ISC_LOG_TOFILE, - ISC_LOG_INFO, &destination, - ISC_LOG_PRINTTIME| - ISC_LOG_PRINTTAG| - ISC_LOG_PRINTLEVEL| - ISC_LOG_PRINTCATEGORY| - ISC_LOG_PRINTMODULE)); + CHECK(isc_log_createchannel( + lcfg, "file_test", ISC_LOG_TOFILE, ISC_LOG_INFO, &destination, + ISC_LOG_PRINTTIME | ISC_LOG_PRINTTAG | ISC_LOG_PRINTLEVEL | + ISC_LOG_PRINTCATEGORY | ISC_LOG_PRINTMODULE)); /* * Create a dynamic debugging channel to a file descriptor. @@ -155,9 +156,8 @@ main(int argc, char **argv) { CHECK(isc_log_createchannel(lcfg, "debug_test", ISC_LOG_TOFILEDESC, ISC_LOG_DYNAMIC, &destination, - ISC_LOG_PRINTTIME| - ISC_LOG_PRINTLEVEL| - ISC_LOG_DEBUGONLY)); + ISC_LOG_PRINTTIME | ISC_LOG_PRINTLEVEL | + ISC_LOG_DEBUGONLY)); /* * Test the usability of the four predefined logging channels. @@ -171,19 +171,15 @@ main(int argc, char **argv) { CHECK(isc_log_usechannel(lcfg, "default_debug", DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_CACHE)); - CHECK(isc_log_usechannel(lcfg, "null", - DNS_LOGCATEGORY_DATABASE, - NULL)); + CHECK(isc_log_usechannel(lcfg, "null", DNS_LOGCATEGORY_DATABASE, NULL)); /* * Use the custom channels. */ - CHECK(isc_log_usechannel(lcfg, "file_test", - DNS_LOGCATEGORY_GENERAL, + CHECK(isc_log_usechannel(lcfg, "file_test", DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_DB)); - CHECK(isc_log_usechannel(lcfg, "debug_test", - DNS_LOGCATEGORY_GENERAL, + CHECK(isc_log_usechannel(lcfg, "debug_test", DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_RBTDB)); fprintf(stderr, "\n==> stderr begin\n"); @@ -232,7 +228,6 @@ main(int argc, char **argv) { * Write to the file channel. */ if (file_versions >= 0 || file_versions == ISC_LOG_ROLLINFINITE) { - /* * If file_versions is 0 or ISC_LOG_ROLLINFINITE, write * the "should not appear" and "should be in file" messages @@ -253,9 +248,8 @@ main(int argc, char **argv) { "should be in file %d/%d", i, file_versions - 1); - isc_log_write(lctx, DNS_LOGCATEGORY_GENERAL, - DNS_LOGMODULE_DB, ISC_LOG_NOTICE, - "should be in base file"); + isc_log_write(lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_DB, + ISC_LOG_NOTICE, "should be in base file"); } else { file_versions = FILE_VERSIONS; for (i = 1; i <= file_versions; i++) @@ -264,7 +258,6 @@ main(int argc, char **argv) { "This is message %d in the log file", i); } - /* * Write a debugging message to a category that has no * debugging channels for the named module. @@ -277,7 +270,8 @@ main(int argc, char **argv) { * Write debugging messages to a dynamic debugging channel. */ isc_log_write(lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_RBTDB, - ISC_LOG_CRITICAL, "This critical message should " + ISC_LOG_CRITICAL, + "This critical message should " "not appear because the debug level is 0!"); isc_log_setdebuglevel(lctx, 3); @@ -315,8 +309,8 @@ main(int argc, char **argv) { */ fputc('\n', stderr); if (system("head " TEST_FILE "*; rm -f " TEST_FILE "*") != 0) { - fprintf(stderr, "system(\"head " TEST_FILE "*; rm -f " - TEST_FILE "*\") failed\n"); + fprintf(stderr, "system(\"head " TEST_FILE "*; rm -f " TEST_FILE + "*\") failed\n"); goto cleanup; } @@ -333,7 +327,7 @@ main(int argc, char **argv) { } fputc('\n', stderr); - cleanup: +cleanup: isc_log_destroy(&lctx); if (show_final_mem) diff --git a/bin/tests/optional/master_test.c b/bin/tests/optional/master_test.c index 7806ded6ec..12fe4b3144 100644 --- a/bin/tests/optional/master_test.c +++ b/bin/tests/optional/master_test.c @@ -26,19 +26,19 @@ isc_mem_t *mctx; static isc_result_t -print_dataset(void *arg, const dns_name_t *owner, dns_rdataset_t *dataset) { - char buf[64*1024]; +print_dataset(void *arg, const dns_name_t *owner, dns_rdataset_t *dataset) +{ + char buf[64 * 1024]; isc_buffer_t target; isc_result_t result; UNUSED(arg); - isc_buffer_init(&target, buf, 64*1024); - result = dns_rdataset_totext(dataset, owner, false, false, - &target); + isc_buffer_init(&target, buf, 64 * 1024); + result = dns_rdataset_totext(dataset, owner, false, false, &target); if (result == ISC_R_SUCCESS) fprintf(stdout, "%.*s\n", (int)target.used, - (char*)target.base); + (char *)target.base); else fprintf(stdout, "dns_rdataset_totext: %s\n", dns_result_totext(result)); @@ -47,12 +47,13 @@ print_dataset(void *arg, const dns_name_t *owner, dns_rdataset_t *dataset) { } int -main(int argc, char *argv[]) { - isc_result_t result; - dns_name_t origin; - isc_buffer_t source; - isc_buffer_t target; - unsigned char name_buf[255]; +main(int argc, char *argv[]) +{ + isc_result_t result; + dns_name_t origin; + isc_buffer_t source; + isc_buffer_t target; + unsigned char name_buf[255]; dns_rdatacallbacks_t callbacks; UNUSED(argc); @@ -65,8 +66,8 @@ main(int argc, char *argv[]) { isc_buffer_setactive(&source, strlen(argv[1])); isc_buffer_init(&target, name_buf, 255); dns_name_init(&origin, NULL); - result = dns_name_fromtext(&origin, &source, dns_rootname, - 0, &target); + result = dns_name_fromtext(&origin, &source, dns_rootname, 0, + &target); if (result != ISC_R_SUCCESS) { fprintf(stdout, "dns_name_fromtext: %s\n", dns_result_totext(result)); @@ -76,10 +77,9 @@ main(int argc, char *argv[]) { dns_rdatacallbacks_init_stdio(&callbacks); callbacks.add = print_dataset; - result = dns_master_loadfile(argv[1], &origin, &origin, - dns_rdataclass_in, 0, 0, - &callbacks, NULL, NULL, mctx, - dns_masterformat_text, 0); + result = dns_master_loadfile( + argv[1], &origin, &origin, dns_rdataclass_in, 0, 0, + &callbacks, NULL, NULL, mctx, dns_masterformat_text, 0); fprintf(stdout, "dns_master_loadfile: %s\n", dns_result_totext(result)); } diff --git a/bin/tests/optional/mempool_test.c b/bin/tests/optional/mempool_test.c index 485443c909..4c06dfba7e 100644 --- a/bin/tests/optional/mempool_test.c +++ b/bin/tests/optional/mempool_test.c @@ -15,13 +15,14 @@ isc_mem_t *mctx; int -main(int argc, char *argv[]) { - void *items1[50]; - void *items2[50]; - void *tmp; +main(int argc, char *argv[]) +{ + void * items1[50]; + void * items2[50]; + void * tmp; isc_mempool_t *mp1, *mp2; - unsigned int i, j; - isc_mutex_t lock; + unsigned int i, j; + isc_mutex_t lock; UNUSED(argc); UNUSED(argv); diff --git a/bin/tests/optional/name_test.c b/bin/tests/optional/name_test.c index ea13353419..21e6974a2d 100644 --- a/bin/tests/optional/name_test.c +++ b/bin/tests/optional/name_test.c @@ -21,7 +21,8 @@ #include static void -print_wirename(isc_region_t *name) { +print_wirename(isc_region_t *name) +{ unsigned char *ccurr, *cend; if (name->length == 0) { @@ -36,11 +37,12 @@ print_wirename(isc_region_t *name) { } static void -print_name(dns_name_t *name) { +print_name(dns_name_t *name) +{ isc_result_t result; isc_buffer_t source; isc_region_t r; - char s[1000]; + char s[1000]; isc_buffer_init(&source, s, sizeof(s)); if (dns_name_countlabels(name) > 0) @@ -58,28 +60,29 @@ print_name(dns_name_t *name) { } int -main(int argc, char *argv[]) { - char s[1000]; - isc_result_t result; - dns_fixedname_t wname, wname2, oname, compname, downname; - isc_buffer_t source; - isc_region_t r; - dns_name_t *name, *comp, *down; +main(int argc, char *argv[]) +{ + char s[1000]; + isc_result_t result; + dns_fixedname_t wname, wname2, oname, compname, downname; + isc_buffer_t source; + isc_region_t r; + dns_name_t * name, *comp, *down; const dns_name_t *origin; - unsigned int downcase = 0; - size_t len; - bool quiet = false; - bool concatenate = false; - bool got_name = false; - bool check_absolute = false; - bool check_wildcard = false; - bool test_downcase = false; - bool inplace = false; - bool want_split = false; - unsigned int labels, split_label = 0; - dns_fixedname_t fprefix, fsuffix; - dns_name_t *prefix, *suffix; - int ch; + unsigned int downcase = 0; + size_t len; + bool quiet = false; + bool concatenate = false; + bool got_name = false; + bool check_absolute = false; + bool check_wildcard = false; + bool test_downcase = false; + bool inplace = false; + bool want_split = false; + unsigned int labels, split_label = 0; + dns_fixedname_t fprefix, fsuffix; + dns_name_t * prefix, *suffix; + int ch; while ((ch = isc_commandline_parse(argc, argv, "acdiqs:w")) != -1) { switch (ch) { @@ -143,8 +146,8 @@ main(int argc, char *argv[]) { isc_buffer_init(&source, argv[1], len); isc_buffer_add(&source, len); comp = dns_fixedname_initname(&compname); - result = dns_name_fromtext(comp, &source, origin, - 0, NULL); + result = dns_name_fromtext(comp, &source, origin, 0, + NULL); if (result != 0) { fprintf(stderr, "dns_name_fromtext() failed: %s\n", @@ -209,10 +212,9 @@ main(int argc, char *argv[]) { if (got_name) { printf("Concatenating.\n"); result = dns_name_concatenate( - dns_fixedname_name(&wname), - dns_fixedname_name(&wname2), - dns_fixedname_name(&wname2), - NULL); + dns_fixedname_name(&wname), + dns_fixedname_name(&wname2), + dns_fixedname_name(&wname2), NULL); name = dns_fixedname_name(&wname2); if (result == ISC_R_SUCCESS) { if (check_absolute && @@ -235,7 +237,8 @@ main(int argc, char *argv[]) { print_wirename(&r); printf("%u labels, " "%u bytes.\n", - dns_name_countlabels(name), + dns_name_countlabels( + name), r.length); } } else @@ -274,16 +277,15 @@ main(int argc, char *argv[]) { dns_name_toregion(down, &r); print_wirename(&r); printf("%u labels, %u bytes.\n", - dns_name_countlabels(down), - r.length); + dns_name_countlabels(down), r.length); } isc_buffer_init(&source, s, sizeof(s)); print_name(down); } if (comp != NULL && dns_name_countlabels(name) > 0) { - int order; - unsigned int nlabels; + int order; + unsigned int nlabels; dns_namereln_t namereln; namereln = dns_name_fullcompare(name, comp, &order, diff --git a/bin/tests/optional/nsecify.c b/bin/tests/optional/nsecify.c index 784be63696..d977b32b70 100644 --- a/bin/tests/optional/nsecify.c +++ b/bin/tests/optional/nsecify.c @@ -30,26 +30,28 @@ ISC_PLATFORM_NORETURN_PRE static inline void fatal(const char *message) ISC_PLATFORM_NORETURN_POST; static inline void -fatal(const char *message) { +fatal(const char *message) +{ fprintf(stderr, "%s\n", message); exit(1); } static inline void -check_result(isc_result_t result, const char *message) { +check_result(isc_result_t result, const char *message) +{ if (result != ISC_R_SUCCESS) { - fprintf(stderr, "%s: %s\n", message, - isc_result_totext(result)); + fprintf(stderr, "%s: %s\n", message, isc_result_totext(result)); exit(1); } } static inline bool -active_node(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node) { +active_node(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node) +{ dns_rdatasetiter_t *rdsiter; - bool active = false; - isc_result_t result; - dns_rdataset_t rdataset; + bool active = false; + isc_result_t result; + dns_rdataset_t rdataset; dns_rdataset_init(&rdataset); rdsiter = NULL; @@ -89,7 +91,7 @@ next_active(dns_db_t *db, dns_dbversion_t *version, dns_dbiterator_t *dbiter, dns_name_t *name, dns_dbnode_t **nodep) { isc_result_t result; - bool active; + bool active; do { active = false; @@ -107,18 +109,19 @@ next_active(dns_db_t *db, dns_dbversion_t *version, dns_dbiterator_t *dbiter, } static void -nsecify(char *filename) { - isc_result_t result; - dns_db_t *db; - dns_dbversion_t *wversion; - dns_dbnode_t *node, *nextnode; - const char *origintext; - dns_fixedname_t fname, fnextname; - dns_name_t *name, *nextname, *target; - isc_buffer_t b; - size_t len; +nsecify(char *filename) +{ + isc_result_t result; + dns_db_t * db; + dns_dbversion_t * wversion; + dns_dbnode_t * node, *nextnode; + const char * origintext; + dns_fixedname_t fname, fnextname; + dns_name_t * name, *nextname, *target; + isc_buffer_t b; + size_t len; dns_dbiterator_t *dbiter; - char newfilename[1024]; + char newfilename[1024]; name = dns_fixedname_initname(&fname); nextname = dns_fixedname_initname(&fnextname); @@ -127,7 +130,7 @@ nsecify(char *filename) { if (origintext == NULL) origintext = filename; else - origintext++; /* Skip '/'. */ + origintext++; /* Skip '/'. */ len = strlen(origintext); isc_buffer_constinit(&b, origintext, len); isc_buffer_add(&b, len); @@ -163,7 +166,7 @@ nsecify(char *filename) { else if (result == ISC_R_NOMORE) target = dns_db_origin(db); else { - target = NULL; /* Make compiler happy. */ + target = NULL; /* Make compiler happy. */ fatal("db iteration failed"); } dns_nsec_build(db, wversion, node, target, 3600); /* XXX BEW */ @@ -187,7 +190,8 @@ nsecify(char *filename) { } int -main(int argc, char *argv[]) { +main(int argc, char *argv[]) +{ int i; dns_result_register(); diff --git a/bin/tests/optional/ratelimiter_test.c b/bin/tests/optional/ratelimiter_test.c index 59c1698295..9667d6a6d4 100644 --- a/bin/tests/optional/ratelimiter_test.c +++ b/bin/tests/optional/ratelimiter_test.c @@ -12,65 +12,66 @@ #include #include #include +#include #include #include #include -#include #include isc_ratelimiter_t *rlim = NULL; -isc_taskmgr_t *taskmgr = NULL; -isc_timermgr_t *timermgr = NULL; -isc_task_t *g_task = NULL; -isc_mem_t *mctx = NULL; +isc_taskmgr_t * taskmgr = NULL; +isc_timermgr_t * timermgr = NULL; +isc_task_t * g_task = NULL; +isc_mem_t * mctx = NULL; -static void utick(isc_task_t *task, isc_event_t *event); -static void shutdown_rl(isc_task_t *task, isc_event_t *event); -static void shutdown_all(isc_task_t *task, isc_event_t *event); +static void +utick(isc_task_t *task, isc_event_t *event); +static void +shutdown_rl(isc_task_t *task, isc_event_t *event); +static void +shutdown_all(isc_task_t *task, isc_event_t *event); typedef struct { int milliseconds; void (*fun)(isc_task_t *, isc_event_t *); } schedule_t; -schedule_t schedule[] = { - { 100, utick }, - { 200, utick }, - { 300, utick }, - { 3000, utick }, - { 3100, utick }, - { 3200, utick }, - { 3300, shutdown_rl }, - { 5000, utick }, - { 6000, shutdown_all } -}; +schedule_t schedule[] = { { 100, utick }, { 200, utick }, + { 300, utick }, { 3000, utick }, + { 3100, utick }, { 3200, utick }, + { 3300, shutdown_rl }, { 5000, utick }, + { 6000, shutdown_all } }; -#define NEVENTS (int)(sizeof(schedule)/sizeof(schedule[0])) +#define NEVENTS (int)(sizeof(schedule) / sizeof(schedule[0])) isc_timer_t *timers[NEVENTS]; static void -ltick(isc_task_t *task, isc_event_t *event) { +ltick(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); printf("** ltick%s **\n", - (event->ev_attributes & ISC_EVENTATTR_CANCELED) != 0 ? - " (canceled)" : ""); + (event->ev_attributes & ISC_EVENTATTR_CANCELED) != 0 ? " (" + "canceled" + ")" + : ""); isc_event_free(&event); } static void -utick(isc_task_t *task, isc_event_t *event) { +utick(isc_task_t *task, isc_event_t *event) +{ isc_result_t result; UNUSED(task); event->ev_action = ltick; event->ev_sender = NULL; result = isc_ratelimiter_enqueue(rlim, g_task, &event); - printf("enqueue: %s\n", - result == ISC_R_SUCCESS ? "ok" : "failed"); + printf("enqueue: %s\n", result == ISC_R_SUCCESS ? "ok" : "failed"); } static void -shutdown_rl(isc_task_t *task, isc_event_t *event) { +shutdown_rl(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); UNUSED(event); printf("shutdown ratelimiter\n"); @@ -78,7 +79,8 @@ shutdown_rl(isc_task_t *task, isc_event_t *event) { } static void -shutdown_all(isc_task_t *task, isc_event_t *event) { +shutdown_all(isc_task_t *task, isc_event_t *event) +{ int i; UNUSED(task); UNUSED(event); @@ -91,9 +93,10 @@ shutdown_all(isc_task_t *task, isc_event_t *event) { } int -main(int argc, char *argv[]) { +main(int argc, char *argv[]) +{ isc_interval_t linterval; - int i; + int i; UNUSED(argc); UNUSED(argv); @@ -104,27 +107,23 @@ main(int argc, char *argv[]) { isc_mem_create(&mctx); RUNTIME_CHECK(isc_taskmgr_create(mctx, 3, 0, NULL, &taskmgr) == ISC_R_SUCCESS); - RUNTIME_CHECK(isc_timermgr_create(mctx, &timermgr) == - ISC_R_SUCCESS); - RUNTIME_CHECK(isc_task_create(taskmgr, 0, &g_task) == - ISC_R_SUCCESS); + RUNTIME_CHECK(isc_timermgr_create(mctx, &timermgr) == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_task_create(taskmgr, 0, &g_task) == ISC_R_SUCCESS); - RUNTIME_CHECK(isc_ratelimiter_create(mctx, timermgr, g_task, - &rlim) == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_ratelimiter_create(mctx, timermgr, g_task, &rlim) == + ISC_R_SUCCESS); RUNTIME_CHECK(isc_ratelimiter_setinterval(rlim, &linterval) == ISC_R_SUCCESS); for (i = 0; i < NEVENTS; i++) { isc_interval_t uinterval; - int ms = schedule[i].milliseconds; - isc_interval_set(&uinterval, ms / 1000, - (ms % 1000) * 1000000); + int ms = schedule[i].milliseconds; + isc_interval_set(&uinterval, ms / 1000, (ms % 1000) * 1000000); timers[i] = NULL; - RUNTIME_CHECK(isc_timer_create(timermgr, - isc_timertype_once, NULL, - &uinterval, - g_task, schedule[i].fun, NULL, + RUNTIME_CHECK(isc_timer_create(timermgr, isc_timertype_once, + NULL, &uinterval, g_task, + schedule[i].fun, NULL, &timers[i]) == ISC_R_SUCCESS); } diff --git a/bin/tests/optional/rbt_test.c b/bin/tests/optional/rbt_test.c index 0fdd5ab5e6..98b3f44b17 100644 --- a/bin/tests/optional/rbt_test.c +++ b/bin/tests/optional/rbt_test.c @@ -18,20 +18,21 @@ #include #include -#include #include +#include #include const char *progname; -isc_mem_t *mctx; +isc_mem_t * mctx; #define DNSNAMELEN 255 static dns_name_t * -create_name(char *s) { - int length; - isc_result_t result; - isc_buffer_t source, target; +create_name(char *s) +{ + int length; + isc_result_t result; + isc_buffer_t source, target; static dns_name_t *name; if (s == NULL || *s == '\0') { @@ -62,8 +63,8 @@ create_name(char *s) { result = dns_name_fromtext(name, &source, dns_rootname, 0, &target); if (result != ISC_R_SUCCESS) { - printf("dns_name_fromtext(%s) failed: %s\n", - s, dns_result_totext(result)); + printf("dns_name_fromtext(%s) failed: %s\n", s, + dns_result_totext(result)); return (NULL); } @@ -71,7 +72,8 @@ create_name(char *s) { } static void -delete_name(void *data, void *arg) { +delete_name(void *data, void *arg) +{ dns_name_t *name; UNUSED(arg); @@ -80,9 +82,10 @@ delete_name(void *data, void *arg) { } static void -print_name(dns_name_t *name) { +print_name(dns_name_t *name) +{ isc_buffer_t target; - char buffer[1024]; + char buffer[1024]; isc_buffer_init(&target, buffer, sizeof(buffer)); @@ -95,13 +98,14 @@ print_name(dns_name_t *name) { } static void -detail(dns_rbt_t *rbt, dns_name_t *name) { - dns_name_t *foundname, *origin, *fullname; - dns_fixedname_t fixedfoundname, fixedorigin, fixedfullname; - dns_rbtnode_t *node1, *node2; +detail(dns_rbt_t *rbt, dns_name_t *name) +{ + dns_name_t * foundname, *origin, *fullname; + dns_fixedname_t fixedfoundname, fixedorigin, fixedfullname; + dns_rbtnode_t * node1, *node2; dns_rbtnodechain_t chain; - isc_result_t result; - bool nodes_should_match = false; + isc_result_t result; + bool nodes_should_match = false; dns_rbtnodechain_init(&chain); @@ -150,8 +154,8 @@ detail(dns_rbt_t *rbt, dns_name_t *name) { if (result == ISC_R_SUCCESS) { printf("\n name from dns_rbtnodechain_current: "); - result = dns_name_concatenate(foundname, origin, - fullname, NULL); + result = + dns_name_concatenate(foundname, origin, fullname, NULL); if (result == ISC_R_SUCCESS) print_name(fullname); else @@ -169,18 +173,19 @@ detail(dns_rbt_t *rbt, dns_name_t *name) { printf("\n result from dns_rbtnodechain_current: %s\n", dns_result_totext(result)); - printf(" level_matches = %u, level_count = %u\n", - chain.level_matches, chain.level_count); + printf(" level_matches = %u, level_count = %u\n", chain.level_matches, + chain.level_count); } static void -iterate(dns_rbt_t *rbt, bool forward) { - dns_name_t foundname, *origin; +iterate(dns_rbt_t *rbt, bool forward) +{ + dns_name_t foundname, *origin; dns_rbtnodechain_t chain; - dns_fixedname_t fixedorigin; - isc_result_t result; - isc_result_t (*move)(dns_rbtnodechain_t *chain, dns_name_t *name, - dns_name_t *origin); + dns_fixedname_t fixedorigin; + isc_result_t result; + isc_result_t (*move)(dns_rbtnodechain_t * chain, dns_name_t * name, + dns_name_t * origin); dns_rbtnodechain_init(&chain); @@ -188,18 +193,17 @@ iterate(dns_rbt_t *rbt, bool forward) { origin = dns_fixedname_initname(&fixedorigin); if (forward) { - printf("iterating forward\n" ); + printf("iterating forward\n"); move = dns_rbtnodechain_next; - result = dns_rbtnodechain_first(&chain, rbt, &foundname, - origin); + result = + dns_rbtnodechain_first(&chain, rbt, &foundname, origin); } else { - printf("iterating backward\n" ); + printf("iterating backward\n"); move = dns_rbtnodechain_prev; - result = dns_rbtnodechain_last(&chain, rbt, &foundname, - origin); + result = dns_rbtnodechain_last(&chain, rbt, &foundname, origin); } if (result != ISC_R_SUCCESS && result != DNS_R_NEWORIGIN) @@ -220,8 +224,8 @@ iterate(dns_rbt_t *rbt, bool forward) { } else { if (result != ISC_R_NOMORE) - printf("UNEXEPCTED ITERATION ERROR: %s", - dns_result_totext(result)); + printf("UNEXEPCTED ITERATION ERROR: %s", + dns_result_totext(result)); break; } @@ -230,22 +234,23 @@ iterate(dns_rbt_t *rbt, bool forward) { } } - -#define CMDCHECK(s) (strncasecmp(command, (s), length) == 0) -#define PRINTERR(r) if (r != ISC_R_SUCCESS) \ - printf("... %s\n", dns_result_totext(r)); +#define CMDCHECK(s) (strncasecmp(command, (s), length) == 0) +#define PRINTERR(r) \ + if (r != ISC_R_SUCCESS) \ + printf("... %s\n", dns_result_totext(r)); int -main(int argc, char **argv) { - char *command, *arg, buffer[1024]; - const char *whitespace; - dns_name_t *name, *foundname; +main(int argc, char **argv) +{ + char * command, *arg, buffer[1024]; + const char * whitespace; + dns_name_t * name, *foundname; dns_fixedname_t fixedname; - dns_rbt_t *rbt = NULL; - int length, ch; - bool show_final_mem = false; - isc_result_t result; - void *data; + dns_rbt_t * rbt = NULL; + int length, ch; + bool show_final_mem = false; + isc_result_t result; + void * data; progname = strrchr(*argv, '/'); if (progname != NULL) @@ -316,8 +321,8 @@ main(int argc, char **argv) { name = create_name(arg); if (name != NULL) { printf("adding name %s\n", arg); - result = dns_rbt_addname(rbt, - name, name); + result = dns_rbt_addname(rbt, name, + name); PRINTERR(result); } @@ -335,7 +340,8 @@ main(int argc, char **argv) { name = create_name(arg); if (name != NULL) { printf("nuking name %s " - "and its descendants\n", arg); + "and its descendants\n", + arg); result = dns_rbt_deletename(rbt, name, true); PRINTERR(result); @@ -348,13 +354,12 @@ main(int argc, char **argv) { printf("searching for name %s ... ", arg); - foundname = - dns_fixedname_initname(&fixedname); + foundname = dns_fixedname_initname( + &fixedname); data = NULL; - result = dns_rbt_findname(rbt, name, 0, - foundname, - &data); + result = dns_rbt_findname( + rbt, name, 0, foundname, &data); switch (result) { case ISC_R_SUCCESS: printf("found exact: "); @@ -419,10 +424,8 @@ main(int argc, char **argv) { } else { printf("a(dd) NAME, d(elete) NAME, " "s(earch) NAME, p(rint), or q(uit)\n"); - } } - } dns_rbt_destroy(&rbt); diff --git a/bin/tests/optional/rwlock_test.c b/bin/tests/optional/rwlock_test.c index 4d42ac4338..b3698230ec 100644 --- a/bin/tests/optional/rwlock_test.c +++ b/bin/tests/optional/rwlock_test.c @@ -14,22 +14,23 @@ #include #include -#include #include #include +#include #include #ifdef WIN32 -#define sleep(x) Sleep(1000 * x) +#define sleep(x) Sleep(1000 * x) #endif isc_rwlock_t lock; static isc_threadresult_t #ifdef WIN32 -WINAPI + WINAPI #endif -run1(void *arg) { + run1(void *arg) +{ char *message = arg; RUNTIME_CHECK(isc_rwlock_lock(&lock, isc_rwlocktype_read) == @@ -38,29 +39,30 @@ run1(void *arg) { sleep(1); printf("%s giving up READ lock\n", message); RUNTIME_CHECK(isc_rwlock_unlock(&lock, isc_rwlocktype_read) == - ISC_R_SUCCESS); + ISC_R_SUCCESS); RUNTIME_CHECK(isc_rwlock_lock(&lock, isc_rwlocktype_read) == ISC_R_SUCCESS); printf("%s got READ lock\n", message); sleep(1); printf("%s giving up READ lock\n", message); RUNTIME_CHECK(isc_rwlock_unlock(&lock, isc_rwlocktype_read) == - ISC_R_SUCCESS); + ISC_R_SUCCESS); RUNTIME_CHECK(isc_rwlock_lock(&lock, isc_rwlocktype_write) == ISC_R_SUCCESS); printf("%s got WRITE lock\n", message); sleep(1); printf("%s giving up WRITE lock\n", message); RUNTIME_CHECK(isc_rwlock_unlock(&lock, isc_rwlocktype_write) == - ISC_R_SUCCESS); + ISC_R_SUCCESS); return ((isc_threadresult_t)0); } static isc_threadresult_t #ifdef WIN32 -WINAPI + WINAPI #endif -run2(void *arg) { + run2(void *arg) +{ char *message = arg; RUNTIME_CHECK(isc_rwlock_lock(&lock, isc_rwlocktype_write) == @@ -69,31 +71,32 @@ run2(void *arg) { sleep(1); printf("%s giving up WRITE lock\n", message); RUNTIME_CHECK(isc_rwlock_unlock(&lock, isc_rwlocktype_write) == - ISC_R_SUCCESS); + ISC_R_SUCCESS); RUNTIME_CHECK(isc_rwlock_lock(&lock, isc_rwlocktype_write) == ISC_R_SUCCESS); printf("%s got WRITE lock\n", message); sleep(1); printf("%s giving up WRITE lock\n", message); RUNTIME_CHECK(isc_rwlock_unlock(&lock, isc_rwlocktype_write) == - ISC_R_SUCCESS); + ISC_R_SUCCESS); RUNTIME_CHECK(isc_rwlock_lock(&lock, isc_rwlocktype_read) == ISC_R_SUCCESS); printf("%s got READ lock\n", message); sleep(1); printf("%s giving up READ lock\n", message); RUNTIME_CHECK(isc_rwlock_unlock(&lock, isc_rwlocktype_read) == - ISC_R_SUCCESS); + ISC_R_SUCCESS); return ((isc_threadresult_t)0); } int -main(int argc, char *argv[]) { +main(int argc, char *argv[]) +{ unsigned int nworkers; unsigned int i; isc_thread_t workers[100]; - char name[100]; - void *dupname; + char name[100]; + void * dupname; if (argc > 1) nworkers = atoi(argv[1]); diff --git a/bin/tests/optional/serial_test.c b/bin/tests/optional/serial_test.c index b7e61ec0d0..7d0655e5e2 100644 --- a/bin/tests/optional/serial_test.c +++ b/bin/tests/optional/serial_test.c @@ -9,18 +9,19 @@ * information regarding copyright ownership. */ +#include #include #include -#include #include #include int -main() { +main() +{ uint32_t a, b; - char buf[1024]; - char *s, *e; + char buf[1024]; + char * s, *e; while (fgets(buf, sizeof(buf), stdin) != NULL) { buf[sizeof(buf) - 1] = '\0'; @@ -33,10 +34,9 @@ main() { if (s == e) continue; fprintf(stdout, "%u %u gt:%d lt:%d ge:%d le:%d eq:%d ne:%d\n", - a, b, - isc_serial_gt(a,b), isc_serial_lt(a,b), - isc_serial_ge(a,b), isc_serial_le(a,b), - isc_serial_eq(a,b), isc_serial_ne(a,b)); + a, b, isc_serial_gt(a, b), isc_serial_lt(a, b), + isc_serial_ge(a, b), isc_serial_le(a, b), + isc_serial_eq(a, b), isc_serial_ne(a, b)); } return (0); } diff --git a/bin/tests/optional/shutdown_test.c b/bin/tests/optional/shutdown_test.c index 63331c4360..0d09a6fa5d 100644 --- a/bin/tests/optional/shutdown_test.c +++ b/bin/tests/optional/shutdown_test.c @@ -23,27 +23,28 @@ #include typedef struct { - isc_mem_t * mctx; - isc_task_t * task; - isc_timer_t * timer; - unsigned int ticks; - char name[16]; - bool exiting; - isc_task_t * peer; + isc_mem_t * mctx; + isc_task_t * task; + isc_timer_t *timer; + unsigned int ticks; + char name[16]; + bool exiting; + isc_task_t * peer; } t_info; -#define MAX_TASKS 3 -#define T2_SHUTDOWNOK (ISC_EVENTCLASS(1024) + 0) -#define T2_SHUTDOWNDONE (ISC_EVENTCLASS(1024) + 1) -#define FOO_EVENT (ISC_EVENTCLASS(1024) + 2) +#define MAX_TASKS 3 +#define T2_SHUTDOWNOK (ISC_EVENTCLASS(1024) + 0) +#define T2_SHUTDOWNDONE (ISC_EVENTCLASS(1024) + 1) +#define FOO_EVENT (ISC_EVENTCLASS(1024) + 2) -static t_info tasks[MAX_TASKS]; -static unsigned int task_count; -static isc_taskmgr_t * task_manager; -static isc_timermgr_t * timer_manager; +static t_info tasks[MAX_TASKS]; +static unsigned int task_count; +static isc_taskmgr_t * task_manager; +static isc_timermgr_t *timer_manager; static void -t1_shutdown(isc_task_t *task, isc_event_t *event) { +t1_shutdown(isc_task_t *task, isc_event_t *event) +{ t_info *info = event->ev_arg; printf("task %s (%p) t1_shutdown\n", info->name, task); @@ -52,7 +53,8 @@ t1_shutdown(isc_task_t *task, isc_event_t *event) { } static void -t2_shutdown(isc_task_t *task, isc_event_t *event) { +t2_shutdown(isc_task_t *task, isc_event_t *event) +{ t_info *info = event->ev_arg; printf("task %s (%p) t2_shutdown\n", info->name, task); @@ -61,8 +63,9 @@ t2_shutdown(isc_task_t *task, isc_event_t *event) { } static void -shutdown_action(isc_task_t *task, isc_event_t *event) { - t_info *info = event->ev_arg; +shutdown_action(isc_task_t *task, isc_event_t *event) +{ + t_info * info = event->ev_arg; isc_event_t *nevent; INSIST(event->ev_type == ISC_TASKEVENT_SHUTDOWN); @@ -81,14 +84,16 @@ shutdown_action(isc_task_t *task, isc_event_t *event) { } static void -foo_event(isc_task_t *task, isc_event_t *event) { +foo_event(isc_task_t *task, isc_event_t *event) +{ printf("task(%p) foo\n", task); isc_event_free(&event); } static void -tick(isc_task_t *task, isc_event_t *event) { - t_info *info = event->ev_arg; +tick(isc_task_t *task, isc_event_t *event) +{ + t_info * info = event->ev_arg; isc_event_t *nevent; INSIST(event->ev_type == ISC_TIMEREVENT_TICK); @@ -102,20 +107,17 @@ tick(isc_task_t *task, isc_event_t *event) { } else if (info->ticks >= 15 && info->exiting) { isc_timer_detach(&info->timer); isc_task_detach(&info->task); - nevent = isc_event_allocate(info->mctx, info, - T2_SHUTDOWNDONE, - t1_shutdown, &tasks[0], - sizeof(*event)); + nevent = isc_event_allocate( + info->mctx, info, T2_SHUTDOWNDONE, t1_shutdown, + &tasks[0], sizeof(*event)); RUNTIME_CHECK(nevent != NULL); isc_task_send(info->peer, &nevent); isc_task_detach(&info->peer); } } else if (strcmp(info->name, "foo") == 0) { isc_timer_detach(&info->timer); - nevent = isc_event_allocate(info->mctx, info, - FOO_EVENT, - foo_event, task, - sizeof(*event)); + nevent = isc_event_allocate(info->mctx, info, FOO_EVENT, + foo_event, task, sizeof(*event)); RUNTIME_CHECK(nevent != NULL); isc_task_sendanddetach(&task, &nevent); } @@ -124,9 +126,10 @@ tick(isc_task_t *task, isc_event_t *event) { } static t_info * -new_task(isc_mem_t *mctx, const char *name) { - t_info *ti; - isc_time_t expires; +new_task(isc_mem_t *mctx, const char *name) +{ + t_info * ti; + isc_time_t expires; isc_interval_t interval; RUNTIME_CHECK(task_count < MAX_TASKS); @@ -149,9 +152,8 @@ new_task(isc_mem_t *mctx, const char *name) { isc_time_settoepoch(&expires); isc_interval_set(&interval, 1, 0); RUNTIME_CHECK(isc_timer_create(timer_manager, isc_timertype_ticker, - &expires, &interval, ti->task, - tick, ti, &ti->timer) == - ISC_R_SUCCESS); + &expires, &interval, ti->task, tick, ti, + &ti->timer) == ISC_R_SUCCESS); task_count++; @@ -159,11 +161,12 @@ new_task(isc_mem_t *mctx, const char *name) { } int -main(int argc, char *argv[]) { +main(int argc, char *argv[]) +{ unsigned int workers; - t_info *t1, *t2; - isc_task_t *task; - isc_mem_t *mctx, *mctx2; + t_info * t1, *t2; + isc_task_t * task; + isc_mem_t * mctx, *mctx2; RUNTIME_CHECK(isc_app_start() == ISC_R_SUCCESS); @@ -181,8 +184,8 @@ main(int argc, char *argv[]) { isc_mem_create(&mctx); mctx2 = NULL; isc_mem_create(&mctx2); - RUNTIME_CHECK(isc_taskmgr_create(mctx, workers, 0, NULL, &task_manager) == - ISC_R_SUCCESS); + RUNTIME_CHECK(isc_taskmgr_create(mctx, workers, 0, NULL, + &task_manager) == ISC_R_SUCCESS); RUNTIME_CHECK(isc_timermgr_create(mctx, &timer_manager) == ISC_R_SUCCESS); @@ -200,15 +203,13 @@ main(int argc, char *argv[]) { * Test implicit shutdown. */ task = NULL; - RUNTIME_CHECK(isc_task_create(task_manager, 0, &task) == - ISC_R_SUCCESS); + RUNTIME_CHECK(isc_task_create(task_manager, 0, &task) == ISC_R_SUCCESS); isc_task_detach(&task); /* * Test anti-zombie code. */ - RUNTIME_CHECK(isc_task_create(task_manager, 0, &task) == - ISC_R_SUCCESS); + RUNTIME_CHECK(isc_task_create(task_manager, 0, &task) == ISC_R_SUCCESS); isc_task_detach(&task); RUNTIME_CHECK(isc_app_run() == ISC_R_SUCCESS); diff --git a/bin/tests/optional/sig0_test.c b/bin/tests/optional/sig0_test.c index 72c5c23db1..4075b28932 100644 --- a/bin/tests/optional/sig0_test.c +++ b/bin/tests/optional/sig0_test.c @@ -23,9 +23,9 @@ #include #include #include +#include #include #include -#include #include #include @@ -40,33 +40,35 @@ #include #include -#include #include +#include -#define CHECK(str, x) { \ - if ((x) != ISC_R_SUCCESS) { \ - printf("%s: %s\n", (str), isc_result_totext(x)); \ - exit(-1); \ - } \ -} +#define CHECK(str, x) \ + { \ + if ((x) != ISC_R_SUCCESS) { \ + printf("%s: %s\n", (str), isc_result_totext(x)); \ + exit(-1); \ + } \ + } -isc_mutex_t lock; -dst_key_t *key; -isc_mem_t *mctx; -unsigned char qdata[1024], rdata[1024]; -isc_buffer_t qbuffer, rbuffer; -isc_taskmgr_t *taskmgr; -isc_task_t *task1; -isc_log_t *lctx = NULL; -isc_logconfig_t *logconfig = NULL; -isc_socket_t *s; -isc_sockaddr_t address; -char output[10 * 1024]; -isc_buffer_t outbuf; +isc_mutex_t lock; +dst_key_t * key; +isc_mem_t * mctx; +unsigned char qdata[1024], rdata[1024]; +isc_buffer_t qbuffer, rbuffer; +isc_taskmgr_t * taskmgr; +isc_task_t * task1; +isc_log_t * lctx = NULL; +isc_logconfig_t * logconfig = NULL; +isc_socket_t * s; +isc_sockaddr_t address; +char output[10 * 1024]; +isc_buffer_t outbuf; static const dns_master_style_t *style = &dns_master_style_debug; static void -senddone(isc_task_t *task, isc_event_t *event) { +senddone(isc_task_t *task, isc_event_t *event) +{ isc_socketevent_t *sevent = (isc_socketevent_t *)event; REQUIRE(sevent != NULL); @@ -79,11 +81,12 @@ senddone(isc_task_t *task, isc_event_t *event) { } static void -recvdone(isc_task_t *task, isc_event_t *event) { +recvdone(isc_task_t *task, isc_event_t *event) +{ isc_socketevent_t *sevent = (isc_socketevent_t *)event; - isc_buffer_t source; - isc_result_t result; - dns_message_t *response; + isc_buffer_t source; + isc_result_t result; + dns_message_t * response; REQUIRE(sevent != NULL); REQUIRE(sevent->ev_type == ISC_SOCKEVENT_RECVDONE); @@ -117,17 +120,18 @@ recvdone(isc_task_t *task, isc_event_t *event) { } static void -buildquery(void) { - isc_result_t result; +buildquery(void) +{ + isc_result_t result; dns_rdataset_t *question = NULL; - dns_name_t *qname = NULL; - isc_region_t r, inr; - dns_message_t *query; - char nametext[] = "host.example"; - isc_buffer_t namesrc, namedst; - unsigned char namedata[256]; - isc_sockaddr_t sa; - dns_compress_t cctx; + dns_name_t * qname = NULL; + isc_region_t r, inr; + dns_message_t * query; + char nametext[] = "host.example"; + isc_buffer_t namesrc, namedst; + unsigned char namedata[256]; + isc_sockaddr_t sa; + dns_compress_t cctx; query = NULL; result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &query); @@ -137,8 +141,7 @@ buildquery(void) { result = dns_message_gettemprdataset(query, &question); CHECK("dns_message_gettemprdataset", result); - dns_rdataset_makequestion(question, dns_rdataclass_in, - dns_rdatatype_a); + dns_rdataset_makequestion(question, dns_rdataclass_in, dns_rdatatype_a); result = dns_message_gettempname(query, &qname); CHECK("dns_message_gettempname", result); isc_buffer_init(&namesrc, nametext, strlen(nametext)); @@ -178,8 +181,8 @@ buildquery(void) { isc_sockaddr_any(&sa); result = isc_socket_bind(s, &sa, 0); CHECK("isc_socket_bind", result); - result = isc_socket_sendto(s, &r, task1, senddone, NULL, &address, - NULL); + result = + isc_socket_sendto(s, &r, task1, senddone, NULL, &address, NULL); CHECK("isc_socket_sendto", result); inr.base = rdata; @@ -190,17 +193,18 @@ buildquery(void) { } int -main(int argc, char *argv[]) { - bool verbose = false; +main(int argc, char *argv[]) +{ + bool verbose = false; isc_socketmgr_t *socketmgr; - isc_timermgr_t *timermgr; - struct in_addr inaddr; - dns_fixedname_t fname; - dns_name_t *name; - isc_buffer_t b; - int ch; - isc_result_t result; - in_port_t port = 53; + isc_timermgr_t * timermgr; + struct in_addr inaddr; + dns_fixedname_t fname; + dns_name_t * name; + isc_buffer_t b; + int ch; + isc_result_t result; + in_port_t port = 53; RUNTIME_CHECK(isc_app_start() == ISC_R_SUCCESS); @@ -239,9 +243,8 @@ main(int argc, char *argv[]) { RUNTIME_CHECK(isc_log_create(mctx, &lctx, &logconfig) == ISC_R_SUCCESS); s = NULL; - RUNTIME_CHECK(isc_socket_create(socketmgr, PF_INET, - isc_sockettype_udp, &s) == - ISC_R_SUCCESS); + RUNTIME_CHECK(isc_socket_create(socketmgr, PF_INET, isc_sockettype_udp, + &s) == ISC_R_SUCCESS); inaddr.s_addr = htonl(INADDR_LOOPBACK); isc_sockaddr_fromin(&address, &inaddr, port); @@ -254,8 +257,8 @@ main(int argc, char *argv[]) { key = NULL; result = dst_key_fromfile(name, 33180, DNS_KEYALG_RSASHA1, - DST_TYPE_PUBLIC | DST_TYPE_PRIVATE, - NULL, mctx, &key); + DST_TYPE_PUBLIC | DST_TYPE_PRIVATE, NULL, + mctx, &key); CHECK("dst_key_fromfile", result); buildquery(); diff --git a/bin/tests/optional/sock_test.c b/bin/tests/optional/sock_test.c index f242638bad..8d7686c72c 100644 --- a/bin/tests/optional/sock_test.c +++ b/bin/tests/optional/sock_test.c @@ -21,11 +21,12 @@ #include #include -isc_mem_t *mctx; +isc_mem_t * mctx; isc_taskmgr_t *manager; static void -my_shutdown(isc_task_t *task, isc_event_t *event) { +my_shutdown(isc_task_t *task, isc_event_t *event) +{ char *name = event->ev_arg; printf("shutdown %s (%p)\n", name, task); @@ -34,8 +35,9 @@ my_shutdown(isc_task_t *task, isc_event_t *event) { } static void -my_send(isc_task_t *task, isc_event_t *event) { - isc_socket_t *sock; +my_send(isc_task_t *task, isc_event_t *event) +{ + isc_socket_t * sock; isc_socketevent_t *dev; sock = event->ev_sender; @@ -43,9 +45,8 @@ my_send(isc_task_t *task, isc_event_t *event) { printf("my_send: %s task %p\n\t(sock %p, base %p, length %u, n %u, " "result %u)\n", - (char *)(event->ev_arg), task, sock, - dev->region.base, dev->region.length, - dev->n, dev->result); + (char *)(event->ev_arg), task, sock, dev->region.base, + dev->region.length, dev->n, dev->result); if (dev->result != ISC_R_SUCCESS) { isc_socket_detach(&sock); @@ -59,28 +60,28 @@ my_send(isc_task_t *task, isc_event_t *event) { } static void -my_recv(isc_task_t *task, isc_event_t *event) { - isc_socket_t *sock; +my_recv(isc_task_t *task, isc_event_t *event) +{ + isc_socket_t * sock; isc_socketevent_t *dev; - isc_region_t region; - char buf[1024]; - char host[256]; + isc_region_t region; + char buf[1024]; + char host[256]; sock = event->ev_sender; dev = (isc_socketevent_t *)event; printf("Socket %s (sock %p, base %p, length %u, n %u, result %u)\n", - (char *)(event->ev_arg), sock, - dev->region.base, dev->region.length, - dev->n, dev->result); + (char *)(event->ev_arg), sock, dev->region.base, + dev->region.length, dev->n, dev->result); if (dev->address.type.sa.sa_family == AF_INET6) { - inet_ntop(AF_INET6, &dev->address.type.sin6.sin6_addr, - host, sizeof(host)); + inet_ntop(AF_INET6, &dev->address.type.sin6.sin6_addr, host, + sizeof(host)); printf("\tFrom: %s port %d\n", host, ntohs(dev->address.type.sin6.sin6_port)); } else { - inet_ntop(AF_INET, &dev->address.type.sin.sin_addr, - host, sizeof(host)); + inet_ntop(AF_INET, &dev->address.type.sin.sin_addr, host, + sizeof(host)); printf("\tFrom: %s port %d\n", host, ntohs(dev->address.type.sin.sin_port)); } @@ -111,8 +112,8 @@ my_recv(isc_task_t *task, isc_event_t *event) { isc_socket_send(sock, ®ion, task, my_send, event->ev_arg); } else { region = dev->region; - printf("\r\nReceived: %.*s\r\n\r\n", - (int)dev->n, (char *)region.base); + printf("\r\nReceived: %.*s\r\n\r\n", (int)dev->n, + (char *)region.base); } isc_socket_recv(sock, &dev->region, 1, task, my_recv, event->ev_arg); @@ -121,8 +122,9 @@ my_recv(isc_task_t *task, isc_event_t *event) { } static void -my_http_get(isc_task_t *task, isc_event_t *event) { - isc_socket_t *sock; +my_http_get(isc_task_t *task, isc_event_t *event) +{ + isc_socket_t * sock; isc_socketevent_t *dev; sock = event->ev_sender; @@ -130,9 +132,8 @@ my_http_get(isc_task_t *task, isc_event_t *event) { printf("my_http_get: %s task %p\n\t(sock %p, base %p, length %u, " "n %u, result %u)\n", - (char *)(event->ev_arg), task, sock, - dev->region.base, dev->region.length, - dev->n, dev->result); + (char *)(event->ev_arg), task, sock, dev->region.base, + dev->region.length, dev->n, dev->result); if (dev->result != ISC_R_SUCCESS) { isc_socket_detach(&sock); @@ -149,11 +150,12 @@ my_http_get(isc_task_t *task, isc_event_t *event) { } static void -my_connect(isc_task_t *task, isc_event_t *event) { - isc_socket_t *sock; +my_connect(isc_task_t *task, isc_event_t *event) +{ + isc_socket_t * sock; isc_socket_connev_t *dev; - isc_region_t region; - char buf[1024]; + isc_region_t region; + char buf[1024]; sock = event->ev_sender; dev = (isc_socket_connev_t *)event; @@ -187,17 +189,18 @@ my_connect(isc_task_t *task, isc_event_t *event) { } static void -my_listen(isc_task_t *task, isc_event_t *event) { - char *name = event->ev_arg; +my_listen(isc_task_t *task, isc_event_t *event) +{ + char * name = event->ev_arg; isc_socket_newconnev_t *dev; - isc_region_t region; - isc_socket_t *oldsock; - isc_task_t *newtask; + isc_region_t region; + isc_socket_t * oldsock; + isc_task_t * newtask; dev = (isc_socket_newconnev_t *)event; - printf("newcon %s (task %p, oldsock %p, newsock %p, result %u)\n", - name, task, event->ev_sender, dev->newsocket, dev->result); + printf("newcon %s (task %p, oldsock %p, newsock %p, result %u)\n", name, + task, event->ev_sender, dev->newsocket, dev->result); fflush(stdout); if (dev->result == ISC_R_SUCCESS) { @@ -205,8 +208,8 @@ my_listen(isc_task_t *task, isc_event_t *event) { * Queue another listen on this socket. */ RUNTIME_CHECK(isc_socket_accept(event->ev_sender, task, - my_listen, event->ev_arg) - == ISC_R_SUCCESS); + my_listen, event->ev_arg) == + ISC_R_SUCCESS); region.base = isc_mem_get(mctx, 20); region.length = 20; @@ -216,10 +219,10 @@ my_listen(isc_task_t *task, isc_event_t *event) { * recv on it. */ newtask = NULL; - RUNTIME_CHECK(isc_task_create(manager, 0, &newtask) - == ISC_R_SUCCESS); - isc_socket_recv(dev->newsocket, ®ion, 1, - newtask, my_recv, event->ev_arg); + RUNTIME_CHECK(isc_task_create(manager, 0, &newtask) == + ISC_R_SUCCESS); + isc_socket_recv(dev->newsocket, ®ion, 1, newtask, my_recv, + event->ev_arg); isc_task_detach(&newtask); } else { printf("detaching from socket %p\n", event->ev_sender); @@ -236,7 +239,8 @@ my_listen(isc_task_t *task, isc_event_t *event) { } static void -timeout(isc_task_t *task, isc_event_t *event) { +timeout(isc_task_t *task, isc_event_t *event) +{ isc_socket_t *sock = event->ev_arg; printf("Timeout, canceling IO on socket %p (task %p)\n", sock, task); @@ -252,20 +256,21 @@ static char xso1[] = "so1"; static char xso2[] = "so2"; int -main(int argc, char *argv[]) { - isc_task_t *t1, *t2; - isc_timermgr_t *timgr; - isc_time_t expires; - isc_interval_t interval; - isc_timer_t *ti1; - unsigned int workers; +main(int argc, char *argv[]) +{ + isc_task_t * t1, *t2; + isc_timermgr_t * timgr; + isc_time_t expires; + isc_interval_t interval; + isc_timer_t * ti1; + unsigned int workers; isc_socketmgr_t *socketmgr; - isc_socket_t *so1, *so2; - isc_sockaddr_t sockaddr; - struct in_addr ina; - struct in6_addr in6a; - isc_result_t result; - int pf; + isc_socket_t * so1, *so2; + isc_sockaddr_t sockaddr; + struct in_addr ina; + struct in6_addr in6a; + isc_result_t result; + int pf; if (argc > 1) { workers = atoi(argv[1]); @@ -337,14 +342,14 @@ main(int argc, char *argv[]) { /* * Queue up the first accept event. */ - RUNTIME_CHECK(isc_socket_accept(so1, t1, my_listen, xso1) - == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_socket_accept(so1, t1, my_listen, xso1) == + ISC_R_SUCCESS); isc_time_settoepoch(&expires); isc_interval_set(&interval, 10, 0); ti1 = NULL; RUNTIME_CHECK(isc_timer_create(timgr, isc_timertype_once, &expires, - &interval, t1, timeout, so1, &ti1) == - ISC_R_SUCCESS); + &interval, t1, timeout, so1, + &ti1) == ISC_R_SUCCESS); /* * Open up a socket that will connect to www.flame.org, port 80. @@ -360,8 +365,8 @@ main(int argc, char *argv[]) { isc_sockettype_tcp, &so2) == ISC_R_SUCCESS); - RUNTIME_CHECK(isc_socket_connect(so2, &sockaddr, t2, - my_connect, xso2) == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_socket_connect(so2, &sockaddr, t2, my_connect, + xso2) == ISC_R_SUCCESS); /* * Detaching these is safe, since the socket will attach to the diff --git a/bin/tests/optional/sym_test.c b/bin/tests/optional/sym_test.c index aec15f25f4..3a7be0e5eb 100644 --- a/bin/tests/optional/sym_test.c +++ b/bin/tests/optional/sym_test.c @@ -18,7 +18,7 @@ #include #include -isc_mem_t *mctx; +isc_mem_t * mctx; isc_symtab_t *st; static void @@ -32,15 +32,16 @@ undefine_action(char *key, unsigned int type, isc_symvalue_t value, void *arg) } int -main(int argc, char *argv[]) { - char s[1000], *cp, *key; - size_t len; - isc_result_t result; - isc_symvalue_t value; - int trace = 0; - int c; +main(int argc, char *argv[]) +{ + char s[1000], *cp, *key; + size_t len; + isc_result_t result; + isc_symvalue_t value; + int trace = 0; + int c; isc_symexists_t exists_policy = isc_symexists_reject; - bool case_sensitive = false; + bool case_sensitive = false; while ((c = isc_commandline_parse(argc, argv, "tarc")) != -1) { switch (c) { @@ -100,12 +101,11 @@ main(int argc, char *argv[]) { result = isc_symtab_define(st, key, 1, value, exists_policy); if (trace || result != ISC_R_SUCCESS) { - printf("define('%s', '%s'): %s\n", - key, cp, - isc_result_totext(result)); + printf("define('%s', '%s'): %s\n", key, + cp, isc_result_totext(result)); if (result != ISC_R_SUCCESS) - undefine_action(key, 1, - value, NULL); + undefine_action(key, 1, value, + NULL); } } } diff --git a/bin/tests/optional/task_test.c b/bin/tests/optional/task_test.c index 0e848aeda7..1db1a9a2cb 100644 --- a/bin/tests/optional/task_test.c +++ b/bin/tests/optional/task_test.c @@ -22,8 +22,9 @@ isc_mem_t *mctx = NULL; static void -my_callback(isc_task_t *task, isc_event_t *event) { - int i, j; +my_callback(isc_task_t *task, isc_event_t *event) +{ + int i, j; char *name = event->ev_arg; j = 0; @@ -34,7 +35,8 @@ my_callback(isc_task_t *task, isc_event_t *event) { } static void -my_shutdown(isc_task_t *task, isc_event_t *event) { +my_shutdown(isc_task_t *task, isc_event_t *event) +{ char *name = event->ev_arg; printf("shutdown %s (%p)\n", name, task); @@ -42,7 +44,8 @@ my_shutdown(isc_task_t *task, isc_event_t *event) { } static void -my_tick(isc_task_t *task, isc_event_t *event) { +my_tick(isc_task_t *task, isc_event_t *event) +{ char *name = event->ev_arg; printf("task %p tick %s\n", task, name); @@ -57,14 +60,15 @@ static char foo[] = "foo"; static char bar[] = "bar"; int -main(int argc, char *argv[]) { - isc_taskmgr_t *manager = NULL; - isc_task_t *t1 = NULL, *t2 = NULL; - isc_task_t *t3 = NULL, *t4 = NULL; - isc_event_t *event; - unsigned int workers; - isc_timermgr_t *timgr; - isc_timer_t *ti1, *ti2; +main(int argc, char *argv[]) +{ + isc_taskmgr_t * manager = NULL; + isc_task_t * t1 = NULL, *t2 = NULL; + isc_task_t * t3 = NULL, *t4 = NULL; + isc_event_t * event; + unsigned int workers; + isc_timermgr_t * timgr; + isc_timer_t * ti1, *ti2; struct isc_interval interval; if (argc > 1) { @@ -102,14 +106,14 @@ main(int argc, char *argv[]) { isc_interval_set(&interval, 1, 0); RUNTIME_CHECK(isc_timer_create(timgr, isc_timertype_ticker, NULL, - &interval, t1, my_tick, foo, &ti1) == - ISC_R_SUCCESS); + &interval, t1, my_tick, foo, + &ti1) == ISC_R_SUCCESS); ti2 = NULL; isc_interval_set(&interval, 1, 0); RUNTIME_CHECK(isc_timer_create(timgr, isc_timertype_ticker, NULL, - &interval, t2, my_tick, bar, &ti2) == - ISC_R_SUCCESS); + &interval, t2, my_tick, bar, + &ti2) == ISC_R_SUCCESS); printf("task 1 = %p\n", t1); printf("task 2 = %p\n", t2); @@ -172,9 +176,7 @@ main(int argc, char *argv[]) { event = isc_event_allocate(mctx, (void *)1, 1, my_callback, four, sizeof(*event)); isc_task_send(t4, &event); - isc_task_purgerange(t3, - NULL, - ISC_EVENTTYPE_FIRSTEVENT, + isc_task_purgerange(t3, NULL, ISC_EVENTTYPE_FIRSTEVENT, ISC_EVENTTYPE_LASTEVENT, NULL); isc_task_detach(&t1); diff --git a/bin/tests/optional/timer_test.c b/bin/tests/optional/timer_test.c index 61f7b64a8f..aff62caf2c 100644 --- a/bin/tests/optional/timer_test.c +++ b/bin/tests/optional/timer_test.c @@ -20,13 +20,14 @@ #include #include -isc_mem_t *mctx1, *mctx2, *mctx3; -isc_task_t *t1, *t2, *t3; +isc_mem_t * mctx1, *mctx2, *mctx3; +isc_task_t * t1, *t2, *t3; isc_timer_t *ti1, *ti2, *ti3; -int tick_count = 0; +int tick_count = 0; static void -shutdown_task(isc_task_t *task, isc_event_t *event) { +shutdown_task(isc_task_t *task, isc_event_t *event) +{ char *name = event->ev_arg; printf("task %p shutdown %s\n", task, name); @@ -34,7 +35,8 @@ shutdown_task(isc_task_t *task, isc_event_t *event) { } static void -tick(isc_task_t *task, isc_event_t *event) { +tick(isc_task_t *task, isc_event_t *event) +{ char *name = event->ev_arg; INSIST(event->ev_type == ISC_TIMEREVENT_TICK); @@ -46,24 +48,25 @@ tick(isc_task_t *task, isc_event_t *event) { isc_timer_touch(ti3); if (ti3 != NULL && tick_count == 7) { - isc_time_t expires; + isc_time_t expires; isc_interval_t interval; isc_interval_set(&interval, 5, 0); (void)isc_time_nowplusinterval(&expires, &interval); isc_interval_set(&interval, 4, 0); printf("*** resetting ti3 ***\n"); - RUNTIME_CHECK(isc_timer_reset(ti3, isc_timertype_once, - &expires, &interval, true) == - ISC_R_SUCCESS); + RUNTIME_CHECK(isc_timer_reset(ti3, isc_timertype_once, &expires, + &interval, + true) == ISC_R_SUCCESS); } isc_event_free(&event); } static void -timeout(isc_task_t *task, isc_event_t *event) { - char *name = event->ev_arg; +timeout(isc_task_t *task, isc_event_t *event) +{ + char * name = event->ev_arg; const char *type; INSIST(event->ev_type == ISC_TIMEREVENT_IDLE || @@ -90,12 +93,13 @@ static char two[] = "2"; static char three[] = "3"; int -main(int argc, char *argv[]) { - isc_taskmgr_t *manager = NULL; +main(int argc, char *argv[]) +{ + isc_taskmgr_t * manager = NULL; isc_timermgr_t *timgr = NULL; - unsigned int workers; - isc_time_t expires, now; - isc_interval_t interval; + unsigned int workers; + isc_time_t expires, now; + isc_interval_t interval; if (argc > 1) { workers = atoi(argv[1]); @@ -112,12 +116,9 @@ main(int argc, char *argv[]) { ISC_R_SUCCESS); RUNTIME_CHECK(isc_timermgr_create(mctx1, &timgr) == ISC_R_SUCCESS); - RUNTIME_CHECK(isc_task_create(manager, 0, &t1) == - ISC_R_SUCCESS); - RUNTIME_CHECK(isc_task_create(manager, 0, &t2) == - ISC_R_SUCCESS); - RUNTIME_CHECK(isc_task_create(manager, 0, &t3) == - ISC_R_SUCCESS); + RUNTIME_CHECK(isc_task_create(manager, 0, &t1) == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_task_create(manager, 0, &t2) == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_task_create(manager, 0, &t3) == ISC_R_SUCCESS); RUNTIME_CHECK(isc_task_onshutdown(t1, shutdown_task, one) == ISC_R_SUCCESS); RUNTIME_CHECK(isc_task_onshutdown(t2, shutdown_task, two) == @@ -133,21 +134,20 @@ main(int argc, char *argv[]) { isc_interval_set(&interval, 2, 0); RUNTIME_CHECK(isc_timer_create(timgr, isc_timertype_once, NULL, - &interval, t2, timeout, two, &ti2) == - ISC_R_SUCCESS); + &interval, t2, timeout, two, + &ti2) == ISC_R_SUCCESS); isc_interval_set(&interval, 1, 0); RUNTIME_CHECK(isc_timer_create(timgr, isc_timertype_ticker, NULL, - &interval, t1, tick, one, &ti1) == - ISC_R_SUCCESS); + &interval, t1, tick, one, + &ti1) == ISC_R_SUCCESS); isc_interval_set(&interval, 10, 0); - RUNTIME_CHECK(isc_time_add(&now, &interval, &expires) == - ISC_R_SUCCESS); + RUNTIME_CHECK(isc_time_add(&now, &interval, &expires) == ISC_R_SUCCESS); isc_interval_set(&interval, 2, 0); RUNTIME_CHECK(isc_timer_create(timgr, isc_timertype_once, &expires, - &interval, t3, timeout, three, &ti3) == - ISC_R_SUCCESS); + &interval, t3, timeout, three, + &ti3) == ISC_R_SUCCESS); isc_task_detach(&t1); isc_task_detach(&t2); diff --git a/bin/tests/optional/zone_test.c b/bin/tests/optional/zone_test.c index 641533c8f5..d6a1b7e594 100644 --- a/bin/tests/optional/zone_test.c +++ b/bin/tests/optional/zone_test.c @@ -9,13 +9,8 @@ * information regarding copyright ownership. */ -#include -#include -#include -#include - -#include #include +#include #include #include @@ -34,51 +29,58 @@ #include #include -static int debug = 0; -static int quiet = 0; -static int stats = 0; -static isc_mem_t *mctx = NULL; -dns_zone_t *zone = NULL; -isc_taskmgr_t *taskmgr = NULL; -isc_timermgr_t *timermgr = NULL; -isc_socketmgr_t *socketmgr = NULL; -dns_zonemgr_t *zonemgr = NULL; -dns_zonetype_t zonetype = dns_zone_master; -isc_sockaddr_t addr; +#include +#include +#include +#include -#define ERRRET(result, function) \ - do { \ - if (result != ISC_R_SUCCESS) { \ - fprintf(stderr, "%s() returned %s\n", \ - function, dns_result_totext(result)); \ - return; \ - } \ +static int debug = 0; +static int quiet = 0; +static int stats = 0; +static isc_mem_t *mctx = NULL; +dns_zone_t * zone = NULL; +isc_taskmgr_t * taskmgr = NULL; +isc_timermgr_t * timermgr = NULL; +isc_socketmgr_t * socketmgr = NULL; +dns_zonemgr_t * zonemgr = NULL; +dns_zonetype_t zonetype = dns_zone_master; +isc_sockaddr_t addr; + +#define ERRRET(result, function) \ + do { \ + if (result != ISC_R_SUCCESS) { \ + fprintf(stderr, "%s() returned %s\n", function, \ + dns_result_totext(result)); \ + return; \ + } \ } while (0) -#define ERRCONT(result, function) \ - if (result != ISC_R_SUCCESS) { \ - fprintf(stderr, "%s() returned %s\n", \ - function, dns_result_totext(result)); \ - continue; \ - } else \ - (void)NULL +#define ERRCONT(result, function) \ + if (result != ISC_R_SUCCESS) { \ + fprintf(stderr, "%s() returned %s\n", function, \ + dns_result_totext(result)); \ + continue; \ + } else \ + (void)NULL static void -usage(void) { - fprintf(stderr, - "usage: zone_test [-dqsSM] [-c class] [-f file] zone\n"); +usage(void) +{ + fprintf(stderr, "usage: zone_test [-dqsSM] [-c class] [-f file] " + "zone\n"); exit(1); } static void -setup(const char *zonename, const char *filename, const char *classname) { - isc_result_t result; - dns_rdataclass_t rdclass; +setup(const char *zonename, const char *filename, const char *classname) +{ + isc_result_t result; + dns_rdataclass_t rdclass; isc_consttextregion_t region; - isc_buffer_t buffer; - dns_fixedname_t fixorigin; - dns_name_t *origin; - const char *rbt = "rbt"; + isc_buffer_t buffer; + dns_fixedname_t fixorigin; + dns_name_t * origin; + const char * rbt = "rbt"; if (debug) fprintf(stderr, "loading \"%s\" from \"%s\" class \"%s\"\n", @@ -91,8 +93,8 @@ setup(const char *zonename, const char *filename, const char *classname) { isc_buffer_constinit(&buffer, zonename, strlen(zonename)); isc_buffer_add(&buffer, strlen(zonename)); dns_fixedname_init(&fixorigin); - result = dns_name_fromtext(dns_fixedname_name(&fixorigin), - &buffer, dns_rootname, 0, NULL); + result = dns_name_fromtext(dns_fixedname_name(&fixorigin), &buffer, + dns_rootname, 0, NULL); ERRRET(result, "dns_name_fromtext"); origin = dns_fixedname_name(&fixorigin); @@ -108,7 +110,7 @@ setup(const char *zonename, const char *filename, const char *classname) { region.base = classname; region.length = strlen(classname); result = dns_rdataclass_fromtext(&rdclass, - (isc_textregion_t *)(void*)®ion); + (isc_textregion_t *)(void *)®ion); ERRRET(result, "dns_rdataclass_fromtext"); dns_zone_setclass(zone, rdclass); @@ -124,15 +126,15 @@ setup(const char *zonename, const char *filename, const char *classname) { } static void -print_rdataset(dns_name_t *name, dns_rdataset_t *rdataset) { +print_rdataset(dns_name_t *name, dns_rdataset_t *rdataset) +{ isc_buffer_t text; - char t[1000]; + char t[1000]; isc_result_t result; isc_region_t r; isc_buffer_init(&text, t, sizeof(t)); - result = dns_rdataset_totext(rdataset, name, false, false, - &text); + result = dns_rdataset_totext(rdataset, name, false, false, &text); isc_buffer_usedregion(&text, &r); if (result == ISC_R_SUCCESS) printf("%.*s", (int)r.length, (char *)r.base); @@ -141,16 +143,17 @@ print_rdataset(dns_name_t *name, dns_rdataset_t *rdataset) { } static void -query(void) { - char buf[1024]; +query(void) +{ + char buf[1024]; dns_fixedname_t name; dns_fixedname_t found; - dns_db_t *db; - isc_buffer_t buffer; - isc_result_t result; - dns_rdataset_t rdataset; - dns_rdataset_t sigset; - fd_set rfdset = { { 0 } }; + dns_db_t * db; + isc_buffer_t buffer; + isc_result_t result; + dns_rdataset_t rdataset; + dns_rdataset_t sigset; + fd_set rfdset = { { 0 } }; db = NULL; result = dns_zone_getdb(zone, &db); @@ -194,18 +197,15 @@ query(void) { dns_fixedname_init(&name); isc_buffer_init(&buffer, buf, strlen(buf)); isc_buffer_add(&buffer, strlen(buf)); - result = dns_name_fromtext(dns_fixedname_name(&name), - &buffer, dns_rootname, 0, NULL); + result = dns_name_fromtext(dns_fixedname_name(&name), &buffer, + dns_rootname, 0, NULL); ERRCONT(result, "dns_name_fromtext"); result = dns_db_find(db, dns_fixedname_name(&name), - NULL /*vesion*/, - dns_rdatatype_a, - 0 /*options*/, - 0 /*time*/, - NULL /*nodep*/, - dns_fixedname_name(&found), - &rdataset, &sigset); + NULL /*vesion*/, dns_rdatatype_a, + 0 /*options*/, 0 /*time*/, NULL /*nodep*/, + dns_fixedname_name(&found), &rdataset, + &sigset); fprintf(stderr, "%s() returned %s\n", "dns_db_find", dns_result_totext(result)); switch (result) { @@ -229,9 +229,10 @@ query(void) { } int -main(int argc, char **argv) { - int c; - char *filename = NULL; +main(int argc, char **argv) +{ + int c; + char * filename = NULL; const char *classname = "IN"; while ((c = isc_commandline_parse(argc, argv, "cdf:m:qsMS")) != EOF) { diff --git a/bin/tests/pkcs11/benchmarks/create.c b/bin/tests/pkcs11/benchmarks/create.c index 3348b3428c..439f7027d1 100644 --- a/bin/tests/pkcs11/benchmarks/create.c +++ b/bin/tests/pkcs11/benchmarks/create.c @@ -33,13 +33,12 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - /* create [-m module] [-s $slot] [-p pin] [-t] [-n count] */ /*! \file */ -#include #include +#include #include #include #include @@ -62,56 +61,57 @@ #define CLOCK_REALTIME 0 #endif -static int clock_gettime(int32_t id, struct timespec *tp); +static int +clock_gettime(int32_t id, struct timespec *tp); static int clock_gettime(int32_t id, struct timespec *tp) { struct timeval tv; - int result; + int result; UNUSED(id); result = gettimeofday(&tv, NULL); if (result == 0) { tp->tv_sec = tv.tv_sec; - tp->tv_nsec = (long) tv.tv_usec * 1000; + tp->tv_nsec = (long)tv.tv_usec * 1000; } return (result); } #endif CK_BYTE buf[1024]; -char label[16]; +char label[16]; static CK_BBOOL truevalue = TRUE; static CK_BBOOL falsevalue = FALSE; int -main(int argc, char *argv[]) { - isc_result_t result; - CK_RV rv; - CK_SLOT_ID slot = 0; +main(int argc, char *argv[]) +{ + isc_result_t result; + CK_RV rv; + CK_SLOT_ID slot = 0; CK_SESSION_HANDLE hSession = CK_INVALID_HANDLE; CK_OBJECT_HANDLE *hKey; - CK_OBJECT_CLASS kClass = CKO_DATA; - CK_ULONG len = sizeof(buf); - CK_ATTRIBUTE kTemplate[] = - { - { CKA_CLASS, &kClass, (CK_ULONG) sizeof(kClass) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_LABEL, (CK_BYTE_PTR) label, (CK_ULONG) sizeof(label) }, - { CKA_VALUE, buf, (CK_ULONG) sizeof(buf) } + CK_OBJECT_CLASS kClass = CKO_DATA; + CK_ULONG len = sizeof(buf); + CK_ATTRIBUTE kTemplate[] = { + { CKA_CLASS, &kClass, (CK_ULONG)sizeof(kClass) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_LABEL, (CK_BYTE_PTR)label, (CK_ULONG)sizeof(label) }, + { CKA_VALUE, buf, (CK_ULONG)sizeof(buf) } }; - pk11_context_t pctx; - char *lib_name = NULL; - char *pin = NULL; - int error = 0; - int c, errflg = 0; - int ontoken = 0; - unsigned int count = 1000; - unsigned int i; + pk11_context_t pctx; + char * lib_name = NULL; + char * pin = NULL; + int error = 0; + int c, errflg = 0; + int ontoken = 0; + unsigned int count = 1000; + unsigned int i; struct timespec starttime; struct timespec endtime; @@ -133,8 +133,7 @@ main(int argc, char *argv[]) { count = atoi(isc_commandline_argument); break; case ':': - fprintf(stderr, - "Option -%c requires an operand\n", + fprintf(stderr, "Option -%c requires an operand\n", isc_commandline_option); errflg++; break; @@ -148,16 +147,15 @@ main(int argc, char *argv[]) { if (errflg) { fprintf(stderr, "Usage:\n"); - fprintf(stderr, - "\tcreate [-m module] [-s slot] [-t] [-n count]\n"); + fprintf(stderr, "\tcreate [-m module] [-s slot] [-t] [-n " + "count]\n"); exit(1); } pk11_result_register(); /* Allocate hanles */ - hKey = (CK_SESSION_HANDLE *) - malloc(count * sizeof(CK_SESSION_HANDLE)); + hKey = (CK_SESSION_HANDLE *)malloc(count * sizeof(CK_SESSION_HANDLE)); if (hKey == NULL) { perror("malloc"); exit(1); @@ -172,10 +170,9 @@ main(int argc, char *argv[]) { if (pin == NULL) pin = getpass("Enter Pin: "); - result = pk11_get_session(&pctx, OP_ANY, true, true, - true, (const char *) pin, slot); - if ((result != ISC_R_SUCCESS) && - (result != PK11_R_NORANDOMSERVICE) && + result = pk11_get_session(&pctx, OP_ANY, true, true, true, + (const char *)pin, slot); + if ((result != ISC_R_SUCCESS) && (result != PK11_R_NORANDOMSERVICE) && (result != PK11_R_NODIGESTSERVICE) && (result != PK11_R_NOAESSERVICE)) { fprintf(stderr, "Error initializing PKCS#11: %s\n", @@ -204,12 +201,11 @@ main(int argc, char *argv[]) { } for (i = 0; i < count; i++) { - (void) snprintf(label, sizeof(label), "obj%u", i); + (void)snprintf(label, sizeof(label), "obj%u", i); kTemplate[3].ulValueLen = strlen(label); rv = pkcs_C_CreateObject(hSession, kTemplate, 5, &hKey[i]); if (rv != CKR_OK) { - fprintf(stderr, - "C_CreateObject[%u]: Error = 0x%.8lX\n", + fprintf(stderr, "C_CreateObject[%u]: Error = 0x%.8lX\n", i, rv); error = 1; if (i == 0) @@ -229,14 +225,15 @@ main(int argc, char *argv[]) { endtime.tv_sec -= 1; endtime.tv_nsec += 1000000000; } - printf("%u created objects in %ld.%09lds\n", i, - endtime.tv_sec, endtime.tv_nsec); + printf("%u created objects in %ld.%09lds\n", i, endtime.tv_sec, + endtime.tv_nsec); if (i > 0) printf("%g created objects/s\n", - 1024 * i / ((double) endtime.tv_sec + - (double) endtime.tv_nsec / 1000000000.)); + 1024 * i / + ((double)endtime.tv_sec + + (double)endtime.tv_nsec / 1000000000.)); - exit_objects: +exit_objects: for (i = 0; i < count; i++) { /* Destroy objects */ if (hKey[i] == CK_INVALID_HANDLE) @@ -244,15 +241,15 @@ main(int argc, char *argv[]) { rv = pkcs_C_DestroyObject(hSession, hKey[i]); if ((rv != CKR_OK) && !errflg) { fprintf(stderr, - "C_DestroyObject[%u]: Error = 0x%.8lX\n", - i, rv); + "C_DestroyObject[%u]: Error = 0x%.8lX\n", i, + rv); errflg = 1; } } free(hKey); pk11_return_session(&pctx); - (void) pk11_finalize(); + (void)pk11_finalize(); exit(error); } diff --git a/bin/tests/pkcs11/benchmarks/find.c b/bin/tests/pkcs11/benchmarks/find.c index 1231c41bcd..a97a9c8b5d 100644 --- a/bin/tests/pkcs11/benchmarks/find.c +++ b/bin/tests/pkcs11/benchmarks/find.c @@ -37,8 +37,8 @@ /*! \file */ -#include #include +#include #include #include #include @@ -61,20 +61,21 @@ #define CLOCK_REALTIME 0 #endif -static int clock_gettime(int32_t id, struct timespec *tp); +static int +clock_gettime(int32_t id, struct timespec *tp); static int clock_gettime(int32_t id, struct timespec *tp) { struct timeval tv; - int result; + int result; UNUSED(id); result = gettimeofday(&tv, NULL); if (result == 0) { tp->tv_sec = tv.tv_sec; - tp->tv_nsec = (long) tv.tv_usec * 1000; + tp->tv_nsec = (long)tv.tv_usec * 1000; } return (result); } @@ -83,27 +84,27 @@ clock_gettime(int32_t id, struct timespec *tp) CK_BYTE label[] = "foo??bar!!"; int -main(int argc, char *argv[]) { - isc_result_t result; - CK_RV rv; - CK_SLOT_ID slot = 0; +main(int argc, char *argv[]) +{ + isc_result_t result; + CK_RV rv; + CK_SLOT_ID slot = 0; CK_SESSION_HANDLE hSession = CK_INVALID_HANDLE; - CK_ATTRIBUTE sTemplate[] = - { - { CKA_LABEL, label, (CK_ULONG) sizeof(label) }, + CK_ATTRIBUTE sTemplate[] = { + { CKA_LABEL, label, (CK_ULONG)sizeof(label) }, }; CK_OBJECT_HANDLE sKey = CK_INVALID_HANDLE; - CK_ULONG found = 0; - pk11_context_t pctx; - pk11_optype_t op_type = OP_RSA; - char *lib_name = NULL; - char *pin = NULL; - int error = 0; - int c, errflg = 0; - unsigned int count = 1000; - unsigned int i; - struct timespec starttime; - struct timespec endtime; + CK_ULONG found = 0; + pk11_context_t pctx; + pk11_optype_t op_type = OP_RSA; + char * lib_name = NULL; + char * pin = NULL; + int error = 0; + int c, errflg = 0; + unsigned int count = 1000; + unsigned int i; + struct timespec starttime; + struct timespec endtime; while ((c = isc_commandline_parse(argc, argv, ":m:s:p:n:")) != -1) { switch (c) { @@ -121,8 +122,7 @@ main(int argc, char *argv[]) { count = atoi(isc_commandline_argument); break; case ':': - fprintf(stderr, - "Option -%c requires an operand\n", + fprintf(stderr, "Option -%c requires an operand\n", isc_commandline_option); errflg++; break; @@ -136,8 +136,8 @@ main(int argc, char *argv[]) { if (errflg) { fprintf(stderr, "Usage:\n"); - fprintf(stderr, - "\tfind [-m module] [-s slot] [-p pin] [-n count]\n"); + fprintf(stderr, "\tfind [-m module] [-s slot] [-p pin] [-n " + "count]\n"); exit(1); } @@ -151,10 +151,9 @@ main(int argc, char *argv[]) { pin = getpass("Enter Pin: "); } - result = pk11_get_session(&pctx, op_type, false, false, - true, (const char *) pin, slot); - if ((result != ISC_R_SUCCESS) && - (result != PK11_R_NORANDOMSERVICE) && + result = pk11_get_session(&pctx, op_type, false, false, true, + (const char *)pin, slot); + if ((result != ISC_R_SUCCESS) && (result != PK11_R_NORANDOMSERVICE) && (result != PK11_R_NODIGESTSERVICE) && (result != PK11_R_NOAESSERVICE)) { fprintf(stderr, "Error initializing PKCS#11: %s\n", @@ -176,16 +175,15 @@ main(int argc, char *argv[]) { rv = pkcs_C_FindObjectsInit(hSession, sTemplate, 1); if (rv != CKR_OK) { fprintf(stderr, - "C_FindObjectsInit[%u]: Error = 0x%.8lX\n", - i, rv); + "C_FindObjectsInit[%u]: Error = 0x%.8lX\n", i, + rv); error = 1; break; } rv = pkcs_C_FindObjects(hSession, &sKey, 1, &found); if (rv != CKR_OK) { - fprintf(stderr, - "C_FindObjects[%u]: Error = 0x%.8lX\n", + fprintf(stderr, "C_FindObjects[%u]: Error = 0x%.8lX\n", i, rv); error = 1; /* no break here! */ @@ -194,8 +192,8 @@ main(int argc, char *argv[]) { rv = pkcs_C_FindObjectsFinal(hSession); if (rv != CKR_OK) { fprintf(stderr, - "C_FindObjectsFinal[%u]: Error = 0x%.8lX\n", - i, rv); + "C_FindObjectsFinal[%u]: Error = 0x%.8lX\n", i, + rv); error = 1; break; } @@ -212,16 +210,17 @@ main(int argc, char *argv[]) { endtime.tv_sec -= 1; endtime.tv_nsec += 1000000000; } - printf("%u object searches in %ld.%09lds\n", i, - endtime.tv_sec, endtime.tv_nsec); + printf("%u object searches in %ld.%09lds\n", i, endtime.tv_sec, + endtime.tv_nsec); if (i > 0) printf("%g object searches/s\n", - 1024 * i / ((double) endtime.tv_sec + - (double) endtime.tv_nsec / 1000000000.)); + 1024 * i / + ((double)endtime.tv_sec + + (double)endtime.tv_nsec / 1000000000.)); - exit_objects: +exit_objects: pk11_return_session(&pctx); - (void) pk11_finalize(); + (void)pk11_finalize(); exit(error); } diff --git a/bin/tests/pkcs11/benchmarks/genrsa.c b/bin/tests/pkcs11/benchmarks/genrsa.c index c89c47cc22..e957c840dc 100644 --- a/bin/tests/pkcs11/benchmarks/genrsa.c +++ b/bin/tests/pkcs11/benchmarks/genrsa.c @@ -33,13 +33,12 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - /* genrsa [-m module] [-s $slot] [-p pin] [-t] [-b bits] [-n count] */ /*! \file */ -#include #include +#include #include #include #include @@ -62,20 +61,21 @@ #define CLOCK_REALTIME 0 #endif -static int clock_gettime(int32_t id, struct timespec *tp); +static int +clock_gettime(int32_t id, struct timespec *tp); static int clock_gettime(int32_t id, struct timespec *tp) { struct timeval tv; - int result; + int result; UNUSED(id); result = gettimeofday(&tv, NULL); if (result == 0) { tp->tv_sec = tv.tv_sec; - tp->tv_nsec = (long) tv.tv_usec * 1000; + tp->tv_nsec = (long)tv.tv_usec * 1000; } return (result); } @@ -85,46 +85,45 @@ static CK_BBOOL truevalue = TRUE; static CK_BBOOL falsevalue = FALSE; int -main(int argc, char *argv[]) { - isc_result_t result; - CK_RV rv; - CK_SLOT_ID slot = 0; +main(int argc, char *argv[]) +{ + isc_result_t result; + CK_RV rv; + CK_SLOT_ID slot = 0; CK_SESSION_HANDLE hSession = CK_INVALID_HANDLE; - CK_MECHANISM mech = { CKM_RSA_PKCS_KEY_PAIR_GEN, NULL, 0 }; + CK_MECHANISM mech = { CKM_RSA_PKCS_KEY_PAIR_GEN, NULL, 0 }; CK_OBJECT_HANDLE *pubKey; CK_OBJECT_HANDLE *privKey; - CK_OBJECT_CLASS pubClass = CKO_PUBLIC_KEY; - CK_OBJECT_CLASS privClass = CKO_PRIVATE_KEY; - CK_KEY_TYPE kType = CKK_RSA; - CK_ULONG bits = 1024; - CK_BYTE exponent[] = { 0x01, 0x00, 0x01 }; - CK_ATTRIBUTE pubTemplate[] = - { - { CKA_CLASS, &pubClass, (CK_ULONG) sizeof(pubClass) }, - { CKA_KEY_TYPE, &kType, (CK_ULONG) sizeof(kType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_VERIFY, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_MODULUS_BITS, &bits, (CK_ULONG) sizeof(bits) }, - { CKA_PUBLIC_EXPONENT, exponent, (CK_ULONG) sizeof(exponent) } + CK_OBJECT_CLASS pubClass = CKO_PUBLIC_KEY; + CK_OBJECT_CLASS privClass = CKO_PRIVATE_KEY; + CK_KEY_TYPE kType = CKK_RSA; + CK_ULONG bits = 1024; + CK_BYTE exponent[] = { 0x01, 0x00, 0x01 }; + CK_ATTRIBUTE pubTemplate[] = { + { CKA_CLASS, &pubClass, (CK_ULONG)sizeof(pubClass) }, + { CKA_KEY_TYPE, &kType, (CK_ULONG)sizeof(kType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_VERIFY, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_MODULUS_BITS, &bits, (CK_ULONG)sizeof(bits) }, + { CKA_PUBLIC_EXPONENT, exponent, (CK_ULONG)sizeof(exponent) } }; - CK_ATTRIBUTE privTemplate[] = - { - { CKA_CLASS, &privClass, (CK_ULONG) sizeof(privClass) }, - { CKA_KEY_TYPE, &kType, (CK_ULONG) sizeof(kType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_SIGN, &truevalue, (CK_ULONG) sizeof(truevalue) }, + CK_ATTRIBUTE privTemplate[] = { + { CKA_CLASS, &privClass, (CK_ULONG)sizeof(privClass) }, + { CKA_KEY_TYPE, &kType, (CK_ULONG)sizeof(kType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_SIGN, &truevalue, (CK_ULONG)sizeof(truevalue) }, }; - pk11_context_t pctx; - pk11_optype_t op_type = OP_RSA; - char *lib_name = NULL; - char *pin = NULL; - int error = 0; - int c, errflg = 0; - int ontoken = 0; - unsigned int count = 1000; - unsigned int i; + pk11_context_t pctx; + pk11_optype_t op_type = OP_RSA; + char * lib_name = NULL; + char * pin = NULL; + int error = 0; + int c, errflg = 0; + int ontoken = 0; + unsigned int count = 1000; + unsigned int i; struct timespec starttime; struct timespec endtime; @@ -150,8 +149,7 @@ main(int argc, char *argv[]) { count = atoi(isc_commandline_argument); break; case ':': - fprintf(stderr, - "Option -%c requires an operand\n", + fprintf(stderr, "Option -%c requires an operand\n", isc_commandline_option); errflg++; break; @@ -165,23 +163,21 @@ main(int argc, char *argv[]) { if (errflg) { fprintf(stderr, "Usage:\n"); - fprintf(stderr, - "\tgenrsa [-m module] [-s slot] [-p pin] " - "[-t] [-b bits] [-n count]\n"); + fprintf(stderr, "\tgenrsa [-m module] [-s slot] [-p pin] " + "[-t] [-b bits] [-n count]\n"); exit(1); } pk11_result_register(); /* Allocate hanles */ - pubKey = (CK_SESSION_HANDLE *) - malloc(count * sizeof(CK_SESSION_HANDLE)); + pubKey = (CK_SESSION_HANDLE *)malloc(count * sizeof(CK_SESSION_HANDLE)); if (pubKey == NULL) { perror("malloc"); exit(1); } - privKey = (CK_SESSION_HANDLE *) - malloc(count * sizeof(CK_SESSION_HANDLE)); + privKey = + (CK_SESSION_HANDLE *)malloc(count * sizeof(CK_SESSION_HANDLE)); if (privKey == NULL) { free(pubKey); perror("malloc"); @@ -200,10 +196,9 @@ main(int argc, char *argv[]) { pin = getpass("Enter Pin: "); } - result = pk11_get_session(&pctx, op_type, false, true, - true, (const char *) pin, slot); - if ((result != ISC_R_SUCCESS) && - (result != PK11_R_NORANDOMSERVICE) && + result = pk11_get_session(&pctx, op_type, false, true, true, + (const char *)pin, slot); + if ((result != ISC_R_SUCCESS) && (result != PK11_R_NORANDOMSERVICE) && (result != PK11_R_NODIGESTSERVICE) && (result != PK11_R_NOAESSERVICE)) { fprintf(stderr, "Error initializing PKCS#11: %s\n", @@ -227,14 +222,13 @@ main(int argc, char *argv[]) { } for (i = 0; i < count; i++) { - rv = pkcs_C_GenerateKeyPair(hSession, &mech, - pubTemplate, 7, - privTemplate, 5, - &pubKey[i], &privKey[i]); + rv = pkcs_C_GenerateKeyPair(hSession, &mech, pubTemplate, 7, + privTemplate, 5, &pubKey[i], + &privKey[i]); if (rv != CKR_OK) { fprintf(stderr, - "C_GenerateKeyPair[%u]: Error = 0x%.8lX\n", - i, rv); + "C_GenerateKeyPair[%u]: Error = 0x%.8lX\n", i, + rv); error = 1; if (i == 0) goto exit_keys; @@ -253,14 +247,15 @@ main(int argc, char *argv[]) { endtime.tv_sec -= 1; endtime.tv_nsec += 1000000000; } - printf("%u generated RSA in %ld.%09lds\n", i, - endtime.tv_sec, endtime.tv_nsec); + printf("%u generated RSA in %ld.%09lds\n", i, endtime.tv_sec, + endtime.tv_nsec); if (i > 0) printf("%g generated RSA/s\n", - 1024 * i / ((double) endtime.tv_sec + - (double) endtime.tv_nsec / 1000000000.)); + 1024 * i / + ((double)endtime.tv_sec + + (double)endtime.tv_nsec / 1000000000.)); - exit_keys: +exit_keys: for (i = 0; i < count; i++) { /* Destroy keys */ if (pubKey[i] == CK_INVALID_HANDLE) @@ -268,18 +263,18 @@ main(int argc, char *argv[]) { rv = pkcs_C_DestroyObject(hSession, pubKey[i]); if ((rv != CKR_OK) && !errflg) { fprintf(stderr, - "C_DestroyObject[pub%u]: Error = 0x%.8lX\n", - i, rv); + "C_DestroyObject[pub%u]: Error = 0x%.8lX\n", i, + rv); errflg = 1; } - destroy_priv: + destroy_priv: if (privKey[i] == CK_INVALID_HANDLE) continue; rv = pkcs_C_DestroyObject(hSession, privKey[i]); if ((rv != CKR_OK) && !errflg) { fprintf(stderr, - "C_DestroyObject[priv%u]: Error = 0x%.8lX\n", - i, rv); + "C_DestroyObject[priv%u]: Error = 0x%.8lX\n", i, + rv); errflg = 1; } } @@ -288,7 +283,7 @@ main(int argc, char *argv[]) { free(privKey); pk11_return_session(&pctx); - (void) pk11_finalize(); + (void)pk11_finalize(); exit(error); } diff --git a/bin/tests/pkcs11/benchmarks/login.c b/bin/tests/pkcs11/benchmarks/login.c index 64a80bb289..5a0c361a90 100644 --- a/bin/tests/pkcs11/benchmarks/login.c +++ b/bin/tests/pkcs11/benchmarks/login.c @@ -33,13 +33,12 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - /* login [-m module] [-s $slot] [-p pin] [-n count] */ /*! \file */ -#include #include +#include #include #include #include @@ -51,8 +50,8 @@ #include #include -#include #include +#include #ifndef HAVE_CLOCK_GETTIME @@ -62,38 +61,40 @@ #define CLOCK_REALTIME 0 #endif -static int clock_gettime(int32_t id, struct timespec *tp); +static int +clock_gettime(int32_t id, struct timespec *tp); static int clock_gettime(int32_t id, struct timespec *tp) { struct timeval tv; - int result; + int result; UNUSED(id); result = gettimeofday(&tv, NULL); if (result == 0) { tp->tv_sec = tv.tv_sec; - tp->tv_nsec = (long) tv.tv_usec * 1000; + tp->tv_nsec = (long)tv.tv_usec * 1000; } return (result); } #endif int -main(int argc, char *argv[]) { - CK_RV rv; - CK_SLOT_ID slot = 0; +main(int argc, char *argv[]) +{ + CK_RV rv; + CK_SLOT_ID slot = 0; CK_SESSION_HANDLE *hSession; - CK_UTF8CHAR *pin = NULL; - char *lib_name = NULL; - int error = 0; - int c, errflg = 0; - unsigned int count = 1000; - unsigned int i, j; - struct timespec starttime; - struct timespec endtime; + CK_UTF8CHAR * pin = NULL; + char * lib_name = NULL; + int error = 0; + int c, errflg = 0; + unsigned int count = 1000; + unsigned int i, j; + struct timespec starttime; + struct timespec endtime; while ((c = isc_commandline_parse(argc, argv, ":m:s:p:n:")) != -1) { switch (c) { @@ -110,8 +111,7 @@ main(int argc, char *argv[]) { count = atoi(isc_commandline_argument); break; case ':': - fprintf(stderr, - "Option -%c requires an operand\n", + fprintf(stderr, "Option -%c requires an operand\n", isc_commandline_option); errflg++; break; @@ -125,14 +125,14 @@ main(int argc, char *argv[]) { if (errflg) { fprintf(stderr, "Usage:\n"); - fprintf(stderr, - "\tlogin [-m module] [-s slot] [-p pin] [-n count]\n"); + fprintf(stderr, "\tlogin [-m module] [-s slot] [-p pin] [-n " + "count]\n"); exit(1); } /* allocate sessions */ - hSession = (CK_SESSION_HANDLE *) - malloc(count * sizeof(CK_SESSION_HANDLE)); + hSession = + (CK_SESSION_HANDLE *)malloc(count * sizeof(CK_SESSION_HANDLE)); if (hSession == NULL) { perror("malloc"); exit(1); @@ -151,8 +151,7 @@ main(int argc, char *argv[]) { rv = pkcs_C_Initialize(NULL_PTR); if (rv != CKR_OK) { if (rv == 0xfe) - fprintf(stderr, - "Can't load or link module \"%s\"\n", + fprintf(stderr, "Can't load or link module \"%s\"\n", pk11_get_lib_name()); else fprintf(stderr, "C_Initialize: Error = 0x%.8lX\n", rv); @@ -168,11 +167,10 @@ main(int argc, char *argv[]) { /* loop */ for (i = 0; i < count; i++) { /* Open sessions */ - rv = pkcs_C_OpenSession(slot, CKF_SERIAL_SESSION, - NULL_PTR, NULL_PTR, &hSession[i]); + rv = pkcs_C_OpenSession(slot, CKF_SERIAL_SESSION, NULL_PTR, + NULL_PTR, &hSession[i]); if (rv != CKR_OK) { - fprintf(stderr, - "C_OpenSession[%u]: Error = 0x%.8lX\n", + fprintf(stderr, "C_OpenSession[%u]: Error = 0x%.8lX\n", i, rv); error = 1; if (i == 0) @@ -181,12 +179,11 @@ main(int argc, char *argv[]) { } /* Logon */ - rv = pkcs_C_Login(hSession[i], CKU_USER, - pin, strlen((char *)pin)); + rv = pkcs_C_Login(hSession[i], CKU_USER, pin, + strlen((char *)pin)); if (rv != CKR_OK) { - fprintf(stderr, - "C_Login[%u]: Error = 0x%.8lX\n", - i, rv); + fprintf(stderr, "C_Login[%u]: Error = 0x%.8lX\n", i, + rv); error = 1; if (i == 0) goto exit_program; @@ -196,9 +193,8 @@ main(int argc, char *argv[]) { /* Logoff */ rv = pkcs_C_Logout(hSession[i]); if (rv != CKR_OK) { - fprintf(stderr, - "C_Logout[%u]: Error = 0x%.8lX\n", - i, rv); + fprintf(stderr, "C_Logout[%u]: Error = 0x%.8lX\n", i, + rv); error = 1; if (i == 0) goto exit_program; @@ -217,12 +213,11 @@ main(int argc, char *argv[]) { endtime.tv_sec -= 1; endtime.tv_nsec += 1000000000; } - printf("%u logins in %ld.%09lds\n", i, - endtime.tv_sec, endtime.tv_nsec); + printf("%u logins in %ld.%09lds\n", i, endtime.tv_sec, endtime.tv_nsec); if (i > 0) printf("%g logins/s\n", - i / ((double) endtime.tv_sec + - (double) endtime.tv_nsec / 1000000000.)); + i / ((double)endtime.tv_sec + + (double)endtime.tv_nsec / 1000000000.)); for (j = 0; j < i; j++) { if (hSession[j] == CK_INVALID_HANDLE) @@ -230,14 +225,13 @@ main(int argc, char *argv[]) { /* Close sessions */ rv = pkcs_C_CloseSession(hSession[j]); if ((rv != CKR_OK) && !errflg) { - fprintf(stderr, - "C_CloseSession[%u]: Error = 0x%.8lX\n", + fprintf(stderr, "C_CloseSession[%u]: Error = 0x%.8lX\n", j, rv); errflg = 1; } } - exit_program: +exit_program: free(hSession); rv = pkcs_C_Finalize(NULL_PTR); diff --git a/bin/tests/pkcs11/benchmarks/privrsa.c b/bin/tests/pkcs11/benchmarks/privrsa.c index 181075efa8..2491d95ecc 100644 --- a/bin/tests/pkcs11/benchmarks/privrsa.c +++ b/bin/tests/pkcs11/benchmarks/privrsa.c @@ -33,13 +33,12 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - /* privrsa [-m module] [-s $slot] [-p pin] [-t] [-n count] */ /*! \file */ -#include #include +#include #include #include #include @@ -62,118 +61,88 @@ #define CLOCK_REALTIME 0 #endif -static int clock_gettime(int32_t id, struct timespec *tp); +static int +clock_gettime(int32_t id, struct timespec *tp); static int clock_gettime(int32_t id, struct timespec *tp) { struct timeval tv; - int result; + int result; UNUSED(id); result = gettimeofday(&tv, NULL); if (result == 0) { tp->tv_sec = tv.tv_sec; - tp->tv_nsec = (long) tv.tv_usec * 1000; + tp->tv_nsec = (long)tv.tv_usec * 1000; } return (result); } #endif CK_BYTE modulus[] = { - 0x00, 0xb7, 0x9c, 0x1f, 0x05, 0xa3, 0xc2, 0x99, - 0x44, 0x82, 0x20, 0x78, 0x43, 0x7f, 0x5f, 0x3b, - 0x10, 0xd7, 0x9e, 0x61, 0x42, 0xd2, 0x7a, 0x90, - 0x50, 0x8a, 0x99, 0x33, 0xe7, 0xca, 0xc8, 0x5f, - 0x16, 0x1c, 0x56, 0xf8, 0xc1, 0x06, 0x2f, 0x96, - 0xe7, 0x54, 0xf2, 0x85, 0x89, 0x41, 0x36, 0xf5, - 0x4c, 0xa4, 0x0d, 0x62, 0xd3, 0x42, 0x51, 0x6b, - 0x9f, 0xdc, 0x36, 0xcb, 0xad, 0x56, 0xf4, 0xbd, - 0x2a, 0x60, 0x33, 0xb1, 0x7a, 0x99, 0xad, 0x08, - 0x9f, 0x95, 0xe8, 0xe5, 0x14, 0xd9, 0x68, 0x79, - 0xca, 0x4e, 0x72, 0xeb, 0xfb, 0x2c, 0xf1, 0x45, - 0xd3, 0x33, 0x65, 0xe7, 0xc5, 0x11, 0xdd, 0xe7, - 0x09, 0x83, 0x13, 0xd5, 0x17, 0x1b, 0xf4, 0xbd, - 0x49, 0xdd, 0x8a, 0x3c, 0x3c, 0xf7, 0xa1, 0x5d, - 0x7b, 0xb4, 0xd3, 0x80, 0x25, 0xf4, 0x05, 0x8f, - 0xbc, 0x2c, 0x2a, 0x47, 0xff, 0xd1, 0xc8, 0x34, - 0xbf + 0x00, 0xb7, 0x9c, 0x1f, 0x05, 0xa3, 0xc2, 0x99, 0x44, 0x82, 0x20, 0x78, + 0x43, 0x7f, 0x5f, 0x3b, 0x10, 0xd7, 0x9e, 0x61, 0x42, 0xd2, 0x7a, 0x90, + 0x50, 0x8a, 0x99, 0x33, 0xe7, 0xca, 0xc8, 0x5f, 0x16, 0x1c, 0x56, 0xf8, + 0xc1, 0x06, 0x2f, 0x96, 0xe7, 0x54, 0xf2, 0x85, 0x89, 0x41, 0x36, 0xf5, + 0x4c, 0xa4, 0x0d, 0x62, 0xd3, 0x42, 0x51, 0x6b, 0x9f, 0xdc, 0x36, 0xcb, + 0xad, 0x56, 0xf4, 0xbd, 0x2a, 0x60, 0x33, 0xb1, 0x7a, 0x99, 0xad, 0x08, + 0x9f, 0x95, 0xe8, 0xe5, 0x14, 0xd9, 0x68, 0x79, 0xca, 0x4e, 0x72, 0xeb, + 0xfb, 0x2c, 0xf1, 0x45, 0xd3, 0x33, 0x65, 0xe7, 0xc5, 0x11, 0xdd, 0xe7, + 0x09, 0x83, 0x13, 0xd5, 0x17, 0x1b, 0xf4, 0xbd, 0x49, 0xdd, 0x8a, 0x3c, + 0x3c, 0xf7, 0xa1, 0x5d, 0x7b, 0xb4, 0xd3, 0x80, 0x25, 0xf4, 0x05, 0x8f, + 0xbc, 0x2c, 0x2a, 0x47, 0xff, 0xd1, 0xc8, 0x34, 0xbf }; CK_BYTE pubexp[] = { 0x01, 0x00, 0x01 }; CK_BYTE privexp[] = { - 0x00, 0xae, 0x02, 0xf1, 0x47, 0xa8, 0x07, 0x02, - 0xb8, 0xf1, 0xd6, 0x92, 0x03, 0xee, 0x50, 0x33, - 0xab, 0x67, 0x9e, 0x3b, 0xb1, 0x57, 0xc7, 0x3e, - 0xc4, 0x86, 0x46, 0x61, 0xf1, 0xf8, 0xb6, 0x63, - 0x9f, 0x91, 0xe6, 0x3f, 0x44, 0xb8, 0x77, 0x1b, - 0xbe, 0x4c, 0x3c, 0xb8, 0x9f, 0xf7, 0x45, 0x7d, - 0xbf, 0x4f, 0xef, 0x3b, 0xcc, 0xda, 0x1a, 0x4e, - 0x34, 0xa8, 0x40, 0xea, 0x51, 0x72, 0x8a, 0xea, - 0x47, 0x06, 0x04, 0xd0, 0x62, 0x31, 0xa0, 0x6c, - 0x09, 0x60, 0xf9, 0xc7, 0x95, 0x88, 0x4a, 0xd7, - 0x19, 0xce, 0x89, 0x08, 0x87, 0x14, 0xef, 0xcc, - 0x0a, 0xef, 0x72, 0xb9, 0x21, 0xf5, 0xf0, 0xcd, - 0x6d, 0xe5, 0xfa, 0x15, 0x7f, 0xae, 0x33, 0x9f, - 0x26, 0xac, 0x2e, 0x52, 0x02, 0x07, 0xfb, 0x1d, - 0x4b, 0xec, 0x9a, 0x6b, 0x3b, 0x26, 0x1f, 0x52, - 0xfc, 0x47, 0xf8, 0x66, 0x33, 0xfa, 0x50, 0x6c, - 0x41 -}; -CK_BYTE prime1[] = { - 0x00, 0xe8, 0x98, 0xeb, 0xa1, 0xf0, 0xce, 0xde, - 0xc2, 0x74, 0x01, 0x18, 0x2b, 0xd3, 0x8f, 0x58, - 0xcd, 0xe9, 0x8e, 0x97, 0xbe, 0xfe, 0xe8, 0x6f, - 0xd6, 0x0c, 0x0a, 0x47, 0xf8, 0x56, 0x84, 0x36, - 0x15, 0xe6, 0x75, 0x1c, 0x69, 0x48, 0x8b, 0xf5, - 0x0f, 0x84, 0xd2, 0x60, 0x8b, 0xa2, 0x2a, 0xa1, - 0xeb, 0xed, 0xbe, 0x2d, 0xe9, 0x41, 0x0b, 0xed, - 0x17, 0x7c, 0xd3, 0xa6, 0x35, 0x6e, 0xa6, 0xd8, - 0x21 -}; -CK_BYTE prime2[] = { - 0x00, 0xca, 0x15, 0x6a, 0x43, 0x5e, 0x83, 0xc9, - 0x09, 0xeb, 0x14, 0x1e, 0x46, 0x46, 0x97, 0xfa, - 0xfa, 0x3c, 0x61, 0x7e, 0xc1, 0xf8, 0x8c, 0x5e, - 0xcb, 0xbf, 0xe4, 0xb9, 0x78, 0x7f, 0x4f, 0xab, - 0x82, 0x15, 0x53, 0xaa, 0x04, 0xee, 0x11, 0x21, - 0x2e, 0x23, 0x08, 0xa0, 0x14, 0x6d, 0x3a, 0x88, - 0xe6, 0xf8, 0xbe, 0x61, 0x38, 0x99, 0xca, 0x36, - 0x0d, 0x3e, 0x42, 0x0f, 0x63, 0x4d, 0x73, 0xf0, - 0xdf -}; -CK_BYTE exp_1[] = { - 0x66, 0x2d, 0xb7, 0x65, 0xbe, 0x99, 0xc2, 0x35, - 0xfe, 0x2b, 0xf4, 0xe8, 0x5b, 0xd9, 0xdf, 0x13, - 0x26, 0x04, 0xe4, 0x18, 0x9d, 0x76, 0x92, 0x9a, - 0x9f, 0x53, 0x6c, 0xe6, 0x65, 0x6b, 0x53, 0x2f, - 0x2f, 0xbc, 0x46, 0xac, 0xe1, 0x97, 0xca, 0x21, - 0xf5, 0x21, 0x4e, 0x14, 0x49, 0x3b, 0x1d, 0x42, - 0xbd, 0x80, 0x0c, 0x3f, 0x29, 0xba, 0x09, 0x7f, - 0x85, 0xf0, 0x9c, 0x55, 0x60, 0xb4, 0x9e, 0xc1 -}; -CK_BYTE exp_2[] = { - 0x00, 0x87, 0x22, 0x74, 0xf1, 0xe2, 0x15, 0x3c, - 0x6d, 0xde, 0x7e, 0x90, 0x94, 0x2c, 0x06, 0xdb, - 0xb5, 0x54, 0x85, 0x59, 0xcf, 0x7a, 0x56, 0xdb, - 0xd9, 0x62, 0x54, 0x20, 0x56, 0xdc, 0xc3, 0xb9, - 0x0b, 0xff, 0x18, 0xf8, 0x7b, 0xdd, 0x7b, 0x24, - 0xf6, 0x06, 0x45, 0x71, 0x4e, 0xd7, 0x90, 0x2a, - 0x16, 0x52, 0x46, 0x75, 0x1a, 0xf5, 0x74, 0x8c, - 0x5a, 0xa4, 0xc4, 0x66, 0x27, 0xe0, 0x96, 0x64, - 0x7f -}; -CK_BYTE coeff[] = { - 0x00, 0xd0, 0x1f, 0xb3, 0x47, 0x40, 0x93, 0x8b, - 0x99, 0xd7, 0xb5, 0xc6, 0x09, 0x82, 0x65, 0x94, - 0x9d, 0x56, 0x0a, 0x05, 0x55, 0x7d, 0x93, 0x04, - 0xa4, 0x26, 0xee, 0x42, 0x86, 0xa3, 0xf1, 0xd5, - 0x7a, 0x42, 0x84, 0x3c, 0x21, 0x96, 0x9a, 0xd9, - 0x36, 0xd4, 0x62, 0x01, 0xb0, 0x8b, 0x77, 0xe5, - 0xcc, 0x1b, 0xd2, 0x12, 0xd2, 0x9c, 0x89, 0x67, - 0x0c, 0x00, 0x09, 0x56, 0x8c, 0x33, 0x57, 0xf9, - 0x8c + 0x00, 0xae, 0x02, 0xf1, 0x47, 0xa8, 0x07, 0x02, 0xb8, 0xf1, 0xd6, 0x92, + 0x03, 0xee, 0x50, 0x33, 0xab, 0x67, 0x9e, 0x3b, 0xb1, 0x57, 0xc7, 0x3e, + 0xc4, 0x86, 0x46, 0x61, 0xf1, 0xf8, 0xb6, 0x63, 0x9f, 0x91, 0xe6, 0x3f, + 0x44, 0xb8, 0x77, 0x1b, 0xbe, 0x4c, 0x3c, 0xb8, 0x9f, 0xf7, 0x45, 0x7d, + 0xbf, 0x4f, 0xef, 0x3b, 0xcc, 0xda, 0x1a, 0x4e, 0x34, 0xa8, 0x40, 0xea, + 0x51, 0x72, 0x8a, 0xea, 0x47, 0x06, 0x04, 0xd0, 0x62, 0x31, 0xa0, 0x6c, + 0x09, 0x60, 0xf9, 0xc7, 0x95, 0x88, 0x4a, 0xd7, 0x19, 0xce, 0x89, 0x08, + 0x87, 0x14, 0xef, 0xcc, 0x0a, 0xef, 0x72, 0xb9, 0x21, 0xf5, 0xf0, 0xcd, + 0x6d, 0xe5, 0xfa, 0x15, 0x7f, 0xae, 0x33, 0x9f, 0x26, 0xac, 0x2e, 0x52, + 0x02, 0x07, 0xfb, 0x1d, 0x4b, 0xec, 0x9a, 0x6b, 0x3b, 0x26, 0x1f, 0x52, + 0xfc, 0x47, 0xf8, 0x66, 0x33, 0xfa, 0x50, 0x6c, 0x41 }; +CK_BYTE prime1[] = { 0x00, 0xe8, 0x98, 0xeb, 0xa1, 0xf0, 0xce, 0xde, 0xc2, 0x74, + 0x01, 0x18, 0x2b, 0xd3, 0x8f, 0x58, 0xcd, 0xe9, 0x8e, 0x97, + 0xbe, 0xfe, 0xe8, 0x6f, 0xd6, 0x0c, 0x0a, 0x47, 0xf8, 0x56, + 0x84, 0x36, 0x15, 0xe6, 0x75, 0x1c, 0x69, 0x48, 0x8b, 0xf5, + 0x0f, 0x84, 0xd2, 0x60, 0x8b, 0xa2, 0x2a, 0xa1, 0xeb, 0xed, + 0xbe, 0x2d, 0xe9, 0x41, 0x0b, 0xed, 0x17, 0x7c, 0xd3, 0xa6, + 0x35, 0x6e, 0xa6, 0xd8, 0x21 }; +CK_BYTE prime2[] = { 0x00, 0xca, 0x15, 0x6a, 0x43, 0x5e, 0x83, 0xc9, 0x09, 0xeb, + 0x14, 0x1e, 0x46, 0x46, 0x97, 0xfa, 0xfa, 0x3c, 0x61, 0x7e, + 0xc1, 0xf8, 0x8c, 0x5e, 0xcb, 0xbf, 0xe4, 0xb9, 0x78, 0x7f, + 0x4f, 0xab, 0x82, 0x15, 0x53, 0xaa, 0x04, 0xee, 0x11, 0x21, + 0x2e, 0x23, 0x08, 0xa0, 0x14, 0x6d, 0x3a, 0x88, 0xe6, 0xf8, + 0xbe, 0x61, 0x38, 0x99, 0xca, 0x36, 0x0d, 0x3e, 0x42, 0x0f, + 0x63, 0x4d, 0x73, 0xf0, 0xdf }; +CK_BYTE exp_1[] = { 0x66, 0x2d, 0xb7, 0x65, 0xbe, 0x99, 0xc2, 0x35, 0xfe, 0x2b, + 0xf4, 0xe8, 0x5b, 0xd9, 0xdf, 0x13, 0x26, 0x04, 0xe4, 0x18, + 0x9d, 0x76, 0x92, 0x9a, 0x9f, 0x53, 0x6c, 0xe6, 0x65, 0x6b, + 0x53, 0x2f, 0x2f, 0xbc, 0x46, 0xac, 0xe1, 0x97, 0xca, 0x21, + 0xf5, 0x21, 0x4e, 0x14, 0x49, 0x3b, 0x1d, 0x42, 0xbd, 0x80, + 0x0c, 0x3f, 0x29, 0xba, 0x09, 0x7f, 0x85, 0xf0, 0x9c, 0x55, + 0x60, 0xb4, 0x9e, 0xc1 }; +CK_BYTE exp_2[] = { 0x00, 0x87, 0x22, 0x74, 0xf1, 0xe2, 0x15, 0x3c, 0x6d, 0xde, + 0x7e, 0x90, 0x94, 0x2c, 0x06, 0xdb, 0xb5, 0x54, 0x85, 0x59, + 0xcf, 0x7a, 0x56, 0xdb, 0xd9, 0x62, 0x54, 0x20, 0x56, 0xdc, + 0xc3, 0xb9, 0x0b, 0xff, 0x18, 0xf8, 0x7b, 0xdd, 0x7b, 0x24, + 0xf6, 0x06, 0x45, 0x71, 0x4e, 0xd7, 0x90, 0x2a, 0x16, 0x52, + 0x46, 0x75, 0x1a, 0xf5, 0x74, 0x8c, 0x5a, 0xa4, 0xc4, 0x66, + 0x27, 0xe0, 0x96, 0x64, 0x7f }; +CK_BYTE coeff[] = { 0x00, 0xd0, 0x1f, 0xb3, 0x47, 0x40, 0x93, 0x8b, 0x99, 0xd7, + 0xb5, 0xc6, 0x09, 0x82, 0x65, 0x94, 0x9d, 0x56, 0x0a, 0x05, + 0x55, 0x7d, 0x93, 0x04, 0xa4, 0x26, 0xee, 0x42, 0x86, 0xa3, + 0xf1, 0xd5, 0x7a, 0x42, 0x84, 0x3c, 0x21, 0x96, 0x9a, 0xd9, + 0x36, 0xd4, 0x62, 0x01, 0xb0, 0x8b, 0x77, 0xe5, 0xcc, 0x1b, + 0xd2, 0x12, 0xd2, 0x9c, 0x89, 0x67, 0x0c, 0x00, 0x09, 0x56, + 0x8c, 0x33, 0x57, 0xf9, 0x8c }; char label[16]; @@ -181,40 +150,40 @@ static CK_BBOOL truevalue = TRUE; static CK_BBOOL falsevalue = FALSE; int -main(int argc, char *argv[]) { - isc_result_t result; - CK_RV rv; - CK_SLOT_ID slot = 0; +main(int argc, char *argv[]) +{ + isc_result_t result; + CK_RV rv; + CK_SLOT_ID slot = 0; CK_SESSION_HANDLE hSession = CK_INVALID_HANDLE; CK_OBJECT_HANDLE *hKey; - CK_OBJECT_CLASS kClass = CKO_PRIVATE_KEY; - CK_KEY_TYPE kType = CKK_RSA; - CK_ATTRIBUTE kTemplate[] = - { - { CKA_CLASS, &kClass, (CK_ULONG) sizeof(kClass) }, - { CKA_KEY_TYPE, &kType, (CK_ULONG) sizeof(kType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_LABEL, (CK_BYTE_PTR) label, (CK_ULONG) sizeof(label) }, - { CKA_SIGN, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_MODULUS, modulus, (CK_ULONG) sizeof(modulus) }, - { CKA_PUBLIC_EXPONENT, pubexp, (CK_ULONG) sizeof(pubexp) }, - { CKA_PRIVATE_EXPONENT, privexp, (CK_ULONG) sizeof(privexp) }, - { CKA_PRIME_1, prime1, (CK_ULONG) sizeof(prime1) }, - { CKA_PRIME_2, prime2, (CK_ULONG) sizeof(prime2) }, - { CKA_EXPONENT_1, exp_1, (CK_ULONG) sizeof(exp_1) }, - { CKA_EXPONENT_2, exp_2, (CK_ULONG) sizeof(exp_2) }, - { CKA_COEFFICIENT, coeff, (CK_ULONG) sizeof(coeff) } + CK_OBJECT_CLASS kClass = CKO_PRIVATE_KEY; + CK_KEY_TYPE kType = CKK_RSA; + CK_ATTRIBUTE kTemplate[] = { + { CKA_CLASS, &kClass, (CK_ULONG)sizeof(kClass) }, + { CKA_KEY_TYPE, &kType, (CK_ULONG)sizeof(kType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_LABEL, (CK_BYTE_PTR)label, (CK_ULONG)sizeof(label) }, + { CKA_SIGN, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_MODULUS, modulus, (CK_ULONG)sizeof(modulus) }, + { CKA_PUBLIC_EXPONENT, pubexp, (CK_ULONG)sizeof(pubexp) }, + { CKA_PRIVATE_EXPONENT, privexp, (CK_ULONG)sizeof(privexp) }, + { CKA_PRIME_1, prime1, (CK_ULONG)sizeof(prime1) }, + { CKA_PRIME_2, prime2, (CK_ULONG)sizeof(prime2) }, + { CKA_EXPONENT_1, exp_1, (CK_ULONG)sizeof(exp_1) }, + { CKA_EXPONENT_2, exp_2, (CK_ULONG)sizeof(exp_2) }, + { CKA_COEFFICIENT, coeff, (CK_ULONG)sizeof(coeff) } }; - pk11_context_t pctx; - pk11_optype_t op_type = OP_RSA; - char *lib_name = NULL; - char *pin = NULL; - int error = 0; - int c, errflg = 0; - int ontoken = 0; - unsigned int count = 1000; - unsigned int i; + pk11_context_t pctx; + pk11_optype_t op_type = OP_RSA; + char * lib_name = NULL; + char * pin = NULL; + int error = 0; + int c, errflg = 0; + int ontoken = 0; + unsigned int count = 1000; + unsigned int i; struct timespec starttime; struct timespec endtime; @@ -237,8 +206,7 @@ main(int argc, char *argv[]) { count = atoi(isc_commandline_argument); break; case ':': - fprintf(stderr, - "Option -%c requires an operand\n", + fprintf(stderr, "Option -%c requires an operand\n", isc_commandline_option); errflg++; break; @@ -252,17 +220,15 @@ main(int argc, char *argv[]) { if (errflg) { fprintf(stderr, "Usage:\n"); - fprintf(stderr, - "\tprivrsa [-m module] [-s slot] [-p pin] " - "[-t] [-n count]\n"); + fprintf(stderr, "\tprivrsa [-m module] [-s slot] [-p pin] " + "[-t] [-n count]\n"); exit(1); } pk11_result_register(); /* Allocate hanles */ - hKey = (CK_SESSION_HANDLE *) - malloc(count * sizeof(CK_SESSION_HANDLE)); + hKey = (CK_SESSION_HANDLE *)malloc(count * sizeof(CK_SESSION_HANDLE)); if (hKey == NULL) { perror("malloc"); exit(1); @@ -278,10 +244,9 @@ main(int argc, char *argv[]) { pin = getpass("Enter Pin: "); } - result = pk11_get_session(&pctx, op_type, false, true, - true, (const char *) pin, slot); - if ((result != ISC_R_SUCCESS) && - (result != PK11_R_NORANDOMSERVICE) && + result = pk11_get_session(&pctx, op_type, false, true, true, + (const char *)pin, slot); + if ((result != ISC_R_SUCCESS) && (result != PK11_R_NORANDOMSERVICE) && (result != PK11_R_NODIGESTSERVICE) && (result != PK11_R_NOAESSERVICE)) { fprintf(stderr, "Error initializing PKCS#11: %s\n", @@ -304,12 +269,11 @@ main(int argc, char *argv[]) { } for (i = 0; i < count; i++) { - (void) snprintf(label, sizeof(label), "obj%u", i); + (void)snprintf(label, sizeof(label), "obj%u", i); kTemplate[4].ulValueLen = strlen(label); rv = pkcs_C_CreateObject(hSession, kTemplate, 14, &hKey[i]); if (rv != CKR_OK) { - fprintf(stderr, - "C_CreateObject[%u]: Error = 0x%.8lX\n", + fprintf(stderr, "C_CreateObject[%u]: Error = 0x%.8lX\n", i, rv); error = 1; if (i == 0) @@ -329,14 +293,15 @@ main(int argc, char *argv[]) { endtime.tv_sec -= 1; endtime.tv_nsec += 1000000000; } - printf("%u private RSA keys in %ld.%09lds\n", i, - endtime.tv_sec, endtime.tv_nsec); + printf("%u private RSA keys in %ld.%09lds\n", i, endtime.tv_sec, + endtime.tv_nsec); if (i > 0) printf("%g private RSA keys/s\n", - 1024 * i / ((double) endtime.tv_sec + - (double) endtime.tv_nsec / 1000000000.)); + 1024 * i / + ((double)endtime.tv_sec + + (double)endtime.tv_nsec / 1000000000.)); - exit_objects: +exit_objects: for (i = 0; i < count; i++) { /* Destroy objects */ if (hKey[i] == CK_INVALID_HANDLE) @@ -344,8 +309,8 @@ main(int argc, char *argv[]) { rv = pkcs_C_DestroyObject(hSession, hKey[i]); if ((rv != CKR_OK) && !errflg) { fprintf(stderr, - "C_DestroyObject[%u]: Error = 0x%.8lX\n", - i, rv); + "C_DestroyObject[%u]: Error = 0x%.8lX\n", i, + rv); errflg = 1; } } @@ -353,7 +318,7 @@ main(int argc, char *argv[]) { free(hKey); pk11_return_session(&pctx); - (void) pk11_finalize(); + (void)pk11_finalize(); exit(error); } diff --git a/bin/tests/pkcs11/benchmarks/pubrsa.c b/bin/tests/pkcs11/benchmarks/pubrsa.c index 6edf643b16..e576049d46 100644 --- a/bin/tests/pkcs11/benchmarks/pubrsa.c +++ b/bin/tests/pkcs11/benchmarks/pubrsa.c @@ -33,13 +33,12 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - /* pubrsa [-m module] [-s $slot] [-p pin] [-t] [-n count] */ /*! \file */ -#include #include +#include #include #include #include @@ -62,43 +61,38 @@ #define CLOCK_REALTIME 0 #endif -static int clock_gettime(int32_t id, struct timespec *tp); +static int +clock_gettime(int32_t id, struct timespec *tp); static int clock_gettime(int32_t id, struct timespec *tp) { struct timeval tv; - int result; + int result; UNUSED(id); result = gettimeofday(&tv, NULL); if (result == 0) { tp->tv_sec = tv.tv_sec; - tp->tv_nsec = (long) tv.tv_usec * 1000; + tp->tv_nsec = (long)tv.tv_usec * 1000; } return (result); } #endif CK_BYTE modulus[] = { - 0x00, 0xb7, 0x9c, 0x1f, 0x05, 0xa3, 0xc2, 0x99, - 0x44, 0x82, 0x20, 0x78, 0x43, 0x7f, 0x5f, 0x3b, - 0x10, 0xd7, 0x9e, 0x61, 0x42, 0xd2, 0x7a, 0x90, - 0x50, 0x8a, 0x99, 0x33, 0xe7, 0xca, 0xc8, 0x5f, - 0x16, 0x1c, 0x56, 0xf8, 0xc1, 0x06, 0x2f, 0x96, - 0xe7, 0x54, 0xf2, 0x85, 0x89, 0x41, 0x36, 0xf5, - 0x4c, 0xa4, 0x0d, 0x62, 0xd3, 0x42, 0x51, 0x6b, - 0x9f, 0xdc, 0x36, 0xcb, 0xad, 0x56, 0xf4, 0xbd, - 0x2a, 0x60, 0x33, 0xb1, 0x7a, 0x99, 0xad, 0x08, - 0x9f, 0x95, 0xe8, 0xe5, 0x14, 0xd9, 0x68, 0x79, - 0xca, 0x4e, 0x72, 0xeb, 0xfb, 0x2c, 0xf1, 0x45, - 0xd3, 0x33, 0x65, 0xe7, 0xc5, 0x11, 0xdd, 0xe7, - 0x09, 0x83, 0x13, 0xd5, 0x17, 0x1b, 0xf4, 0xbd, - 0x49, 0xdd, 0x8a, 0x3c, 0x3c, 0xf7, 0xa1, 0x5d, - 0x7b, 0xb4, 0xd3, 0x80, 0x25, 0xf4, 0x05, 0x8f, - 0xbc, 0x2c, 0x2a, 0x47, 0xff, 0xd1, 0xc8, 0x34, - 0xbf + 0x00, 0xb7, 0x9c, 0x1f, 0x05, 0xa3, 0xc2, 0x99, 0x44, 0x82, 0x20, 0x78, + 0x43, 0x7f, 0x5f, 0x3b, 0x10, 0xd7, 0x9e, 0x61, 0x42, 0xd2, 0x7a, 0x90, + 0x50, 0x8a, 0x99, 0x33, 0xe7, 0xca, 0xc8, 0x5f, 0x16, 0x1c, 0x56, 0xf8, + 0xc1, 0x06, 0x2f, 0x96, 0xe7, 0x54, 0xf2, 0x85, 0x89, 0x41, 0x36, 0xf5, + 0x4c, 0xa4, 0x0d, 0x62, 0xd3, 0x42, 0x51, 0x6b, 0x9f, 0xdc, 0x36, 0xcb, + 0xad, 0x56, 0xf4, 0xbd, 0x2a, 0x60, 0x33, 0xb1, 0x7a, 0x99, 0xad, 0x08, + 0x9f, 0x95, 0xe8, 0xe5, 0x14, 0xd9, 0x68, 0x79, 0xca, 0x4e, 0x72, 0xeb, + 0xfb, 0x2c, 0xf1, 0x45, 0xd3, 0x33, 0x65, 0xe7, 0xc5, 0x11, 0xdd, 0xe7, + 0x09, 0x83, 0x13, 0xd5, 0x17, 0x1b, 0xf4, 0xbd, 0x49, 0xdd, 0x8a, 0x3c, + 0x3c, 0xf7, 0xa1, 0x5d, 0x7b, 0xb4, 0xd3, 0x80, 0x25, 0xf4, 0x05, 0x8f, + 0xbc, 0x2c, 0x2a, 0x47, 0xff, 0xd1, 0xc8, 0x34, 0xbf }; CK_BYTE exponent[] = { 0x01, 0x00, 0x01 }; @@ -108,34 +102,34 @@ static CK_BBOOL truevalue = TRUE; static CK_BBOOL falsevalue = FALSE; int -main(int argc, char *argv[]) { - isc_result_t result; - CK_RV rv; - CK_SLOT_ID slot = 0; +main(int argc, char *argv[]) +{ + isc_result_t result; + CK_RV rv; + CK_SLOT_ID slot = 0; CK_SESSION_HANDLE hSession = CK_INVALID_HANDLE; CK_OBJECT_HANDLE *hKey; - CK_OBJECT_CLASS kClass = CKO_PUBLIC_KEY; - CK_KEY_TYPE kType = CKK_RSA; - CK_ATTRIBUTE kTemplate[] = - { - { CKA_CLASS, &kClass, (CK_ULONG) sizeof(kClass) }, - { CKA_KEY_TYPE, &kType, (CK_ULONG) sizeof(kType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_LABEL, (CK_BYTE_PTR) label, (CK_ULONG) sizeof(label) }, - { CKA_VERIFY, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_MODULUS, modulus, (CK_ULONG) sizeof(modulus) }, - { CKA_PUBLIC_EXPONENT, exponent, (CK_ULONG) sizeof(exponent) } + CK_OBJECT_CLASS kClass = CKO_PUBLIC_KEY; + CK_KEY_TYPE kType = CKK_RSA; + CK_ATTRIBUTE kTemplate[] = { + { CKA_CLASS, &kClass, (CK_ULONG)sizeof(kClass) }, + { CKA_KEY_TYPE, &kType, (CK_ULONG)sizeof(kType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_LABEL, (CK_BYTE_PTR)label, (CK_ULONG)sizeof(label) }, + { CKA_VERIFY, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_MODULUS, modulus, (CK_ULONG)sizeof(modulus) }, + { CKA_PUBLIC_EXPONENT, exponent, (CK_ULONG)sizeof(exponent) } }; - pk11_context_t pctx; - pk11_optype_t op_type = OP_RSA; - char *lib_name = NULL; - char *pin = NULL; - int error = 0; - int c, errflg = 0; - int ontoken = 0; - unsigned int count = 1000; - unsigned int i; + pk11_context_t pctx; + pk11_optype_t op_type = OP_RSA; + char * lib_name = NULL; + char * pin = NULL; + int error = 0; + int c, errflg = 0; + int ontoken = 0; + unsigned int count = 1000; + unsigned int i; struct timespec starttime; struct timespec endtime; @@ -158,8 +152,7 @@ main(int argc, char *argv[]) { count = atoi(isc_commandline_argument); break; case ':': - fprintf(stderr, - "Option -%c requires an operand\n", + fprintf(stderr, "Option -%c requires an operand\n", isc_commandline_option); errflg++; break; @@ -173,17 +166,15 @@ main(int argc, char *argv[]) { if (errflg) { fprintf(stderr, "Usage:\n"); - fprintf(stderr, - "\tpubrsa [-m module] [-s slot] [-p pin] " - "[-t] [-n count]\n"); + fprintf(stderr, "\tpubrsa [-m module] [-s slot] [-p pin] " + "[-t] [-n count]\n"); exit(1); } pk11_result_register(); /* Allocate hanles */ - hKey = (CK_SESSION_HANDLE *) - malloc(count * sizeof(CK_SESSION_HANDLE)); + hKey = (CK_SESSION_HANDLE *)malloc(count * sizeof(CK_SESSION_HANDLE)); if (hKey == NULL) { perror("malloc"); exit(1); @@ -199,10 +190,9 @@ main(int argc, char *argv[]) { pin = getpass("Enter Pin: "); } - result = pk11_get_session(&pctx, op_type, false, true, - true, (const char *) pin, slot); - if ((result != ISC_R_SUCCESS) && - (result != PK11_R_NORANDOMSERVICE) && + result = pk11_get_session(&pctx, op_type, false, true, true, + (const char *)pin, slot); + if ((result != ISC_R_SUCCESS) && (result != PK11_R_NORANDOMSERVICE) && (result != PK11_R_NODIGESTSERVICE) && (result != PK11_R_NOAESSERVICE)) { fprintf(stderr, "Error initializing PKCS#11: %s\n", @@ -225,12 +215,11 @@ main(int argc, char *argv[]) { } for (i = 0; i < count; i++) { - (void) snprintf(label, sizeof(label), "obj%u", i); + (void)snprintf(label, sizeof(label), "obj%u", i); kTemplate[4].ulValueLen = strlen(label); rv = pkcs_C_CreateObject(hSession, kTemplate, 8, &hKey[i]); if (rv != CKR_OK) { - fprintf(stderr, - "C_CreateObject[%u]: Error = 0x%.8lX\n", + fprintf(stderr, "C_CreateObject[%u]: Error = 0x%.8lX\n", i, rv); error = 1; if (i == 0) @@ -250,14 +239,15 @@ main(int argc, char *argv[]) { endtime.tv_sec -= 1; endtime.tv_nsec += 1000000000; } - printf("%u public RSA keys in %ld.%09lds\n", i, - endtime.tv_sec, endtime.tv_nsec); + printf("%u public RSA keys in %ld.%09lds\n", i, endtime.tv_sec, + endtime.tv_nsec); if (i > 0) printf("%g public RSA keys/s\n", - 1024 * i / ((double) endtime.tv_sec + - (double) endtime.tv_nsec / 1000000000.)); + 1024 * i / + ((double)endtime.tv_sec + + (double)endtime.tv_nsec / 1000000000.)); - exit_objects: +exit_objects: for (i = 0; i < count; i++) { /* Destroy objects */ if (hKey[i] == CK_INVALID_HANDLE) @@ -265,8 +255,8 @@ main(int argc, char *argv[]) { rv = pkcs_C_DestroyObject(hSession, hKey[i]); if ((rv != CKR_OK) && !errflg) { fprintf(stderr, - "C_DestroyObject[%u]: Error = 0x%.8lX\n", - i, rv); + "C_DestroyObject[%u]: Error = 0x%.8lX\n", i, + rv); errflg = 1; } } @@ -274,7 +264,7 @@ main(int argc, char *argv[]) { free(hKey); pk11_return_session(&pctx); - (void) pk11_finalize(); + (void)pk11_finalize(); exit(error); } diff --git a/bin/tests/pkcs11/benchmarks/session.c b/bin/tests/pkcs11/benchmarks/session.c index 41f37204ae..648cec2964 100644 --- a/bin/tests/pkcs11/benchmarks/session.c +++ b/bin/tests/pkcs11/benchmarks/session.c @@ -33,13 +33,12 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - /* session [-m module] [-s $slot] [-n count] */ /*! \file */ -#include #include +#include #include #include #include @@ -51,8 +50,8 @@ #include #include -#include #include +#include #ifndef HAVE_CLOCK_GETTIME @@ -62,37 +61,39 @@ #define CLOCK_REALTIME 0 #endif -static int clock_gettime(int32_t id, struct timespec *tp); +static int +clock_gettime(int32_t id, struct timespec *tp); static int clock_gettime(int32_t id, struct timespec *tp) { struct timeval tv; - int result; + int result; UNUSED(id); result = gettimeofday(&tv, NULL); if (result == 0) { tp->tv_sec = tv.tv_sec; - tp->tv_nsec = (long) tv.tv_usec * 1000; + tp->tv_nsec = (long)tv.tv_usec * 1000; } return (result); } #endif int -main(int argc, char *argv[]) { - CK_RV rv; - CK_SLOT_ID slot = 0; +main(int argc, char *argv[]) +{ + CK_RV rv; + CK_SLOT_ID slot = 0; CK_SESSION_HANDLE *hSession; - char *lib_name = NULL; - int error = 0; - int c, errflg = 0; - unsigned int count = 1000; - unsigned int i; - struct timespec starttime; - struct timespec endtime; + char * lib_name = NULL; + int error = 0; + int c, errflg = 0; + unsigned int count = 1000; + unsigned int i; + struct timespec starttime; + struct timespec endtime; while ((c = isc_commandline_parse(argc, argv, ":m:s:n:")) != -1) { switch (c) { @@ -106,8 +107,7 @@ main(int argc, char *argv[]) { count = atoi(isc_commandline_argument); break; case ':': - fprintf(stderr, - "Option -%c requires an operand\n", + fprintf(stderr, "Option -%c requires an operand\n", isc_commandline_option); errflg++; break; @@ -121,14 +121,13 @@ main(int argc, char *argv[]) { if (errflg) { fprintf(stderr, "Usage:\n"); - fprintf(stderr, - "\tsession [-m module] [-s slot] [-n count]\n"); + fprintf(stderr, "\tsession [-m module] [-s slot] [-n count]\n"); exit(1); } /* Allocate sessions */ - hSession = (CK_SESSION_HANDLE *) - malloc(count * sizeof(CK_SESSION_HANDLE)); + hSession = + (CK_SESSION_HANDLE *)malloc(count * sizeof(CK_SESSION_HANDLE)); if (hSession == NULL) { perror("malloc"); exit(1); @@ -143,8 +142,7 @@ main(int argc, char *argv[]) { rv = pkcs_C_Initialize(NULL_PTR); if (rv != CKR_OK) { if (rv == 0xfe) - fprintf(stderr, - "Can't load or link module \"%s\"\n", + fprintf(stderr, "Can't load or link module \"%s\"\n", pk11_get_lib_name()); else fprintf(stderr, "C_Initialize: Error = 0x%.8lX\n", rv); @@ -160,11 +158,10 @@ main(int argc, char *argv[]) { /* loop */ for (i = 0; i < count; i++) { /* Open sessions */ - rv = pkcs_C_OpenSession(slot, CKF_SERIAL_SESSION, - NULL_PTR, NULL_PTR, &hSession[i]); + rv = pkcs_C_OpenSession(slot, CKF_SERIAL_SESSION, NULL_PTR, + NULL_PTR, &hSession[i]); if (rv != CKR_OK) { - fprintf(stderr, - "C_OpenSession[%u]: Error = 0x%.8lX\n", + fprintf(stderr, "C_OpenSession[%u]: Error = 0x%.8lX\n", i, rv); error = 1; if (i == 0) @@ -184,12 +181,12 @@ main(int argc, char *argv[]) { endtime.tv_sec -= 1; endtime.tv_nsec += 1000000000; } - printf("%u sessions in %ld.%09lds\n", i, - endtime.tv_sec, endtime.tv_nsec); + printf("%u sessions in %ld.%09lds\n", i, endtime.tv_sec, + endtime.tv_nsec); if (i > 0) printf("%g sessions/s\n", - i / ((double) endtime.tv_sec + - (double) endtime.tv_nsec / 1000000000.)); + i / ((double)endtime.tv_sec + + (double)endtime.tv_nsec / 1000000000.)); for (i = 0; i < count; i++) { /* Close sessions */ @@ -197,14 +194,13 @@ main(int argc, char *argv[]) { continue; rv = pkcs_C_CloseSession(hSession[i]); if ((rv != CKR_OK) && !errflg) { - fprintf(stderr, - "C_CloseSession[%u]: Error = 0x%.8lX\n", + fprintf(stderr, "C_CloseSession[%u]: Error = 0x%.8lX\n", i, rv); errflg = 1; } } - exit_program: +exit_program: free(hSession); rv = pkcs_C_Finalize(NULL_PTR); diff --git a/bin/tests/pkcs11/benchmarks/sha1.c b/bin/tests/pkcs11/benchmarks/sha1.c index 9a73ce1c3d..f052e670e0 100644 --- a/bin/tests/pkcs11/benchmarks/sha1.c +++ b/bin/tests/pkcs11/benchmarks/sha1.c @@ -33,13 +33,12 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - /* sha1 [-m module] [-s $slot] [-n count] */ /*! \file */ -#include #include +#include #include #include #include @@ -62,20 +61,21 @@ #define CLOCK_REALTIME 0 #endif -static int clock_gettime(int32_t id, struct timespec *tp); +static int +clock_gettime(int32_t id, struct timespec *tp); static int clock_gettime(int32_t id, struct timespec *tp) { struct timeval tv; - int result; + int result; UNUSED(id); result = gettimeofday(&tv, NULL); if (result == 0) { tp->tv_sec = tv.tv_sec; - tp->tv_nsec = (long) tv.tv_usec * 1000; + tp->tv_nsec = (long)tv.tv_usec * 1000; } return (result); } @@ -84,22 +84,23 @@ clock_gettime(int32_t id, struct timespec *tp) CK_BYTE buf[1024]; int -main(int argc, char *argv[]) { - isc_result_t result; - CK_RV rv; - CK_SLOT_ID slot = 0; +main(int argc, char *argv[]) +{ + isc_result_t result; + CK_RV rv; + CK_SLOT_ID slot = 0; CK_SESSION_HANDLE hSession = CK_INVALID_HANDLE; - CK_MECHANISM mech = { CKM_SHA_1, NULL, 0 }; - CK_ULONG len = sizeof(buf); - pk11_context_t pctx; - pk11_optype_t op_type = OP_DIGEST; - char *lib_name = NULL; - int error = 0; - int c, errflg = 0; - unsigned int count = 1000; - unsigned int i; - struct timespec starttime; - struct timespec endtime; + CK_MECHANISM mech = { CKM_SHA_1, NULL, 0 }; + CK_ULONG len = sizeof(buf); + pk11_context_t pctx; + pk11_optype_t op_type = OP_DIGEST; + char * lib_name = NULL; + int error = 0; + int c, errflg = 0; + unsigned int count = 1000; + unsigned int i; + struct timespec starttime; + struct timespec endtime; while ((c = isc_commandline_parse(argc, argv, ":m:s:n:")) != -1) { switch (c) { @@ -114,8 +115,7 @@ main(int argc, char *argv[]) { count = atoi(isc_commandline_argument); break; case ':': - fprintf(stderr, - "Option -%c requires an operand\n", + fprintf(stderr, "Option -%c requires an operand\n", isc_commandline_option); errflg++; break; @@ -129,8 +129,7 @@ main(int argc, char *argv[]) { if (errflg) { fprintf(stderr, "Usage:\n"); - fprintf(stderr, - "\tssha1 [-m module] [-s slot] [-n count]\n"); + fprintf(stderr, "\tssha1 [-m module] [-s slot] [-n count]\n"); exit(1); } @@ -140,10 +139,9 @@ main(int argc, char *argv[]) { if (lib_name != NULL) pk11_set_lib_name(lib_name); - result = pk11_get_session(&pctx, op_type, false, false, - false, NULL, slot); - if ((result != ISC_R_SUCCESS) && - (result != PK11_R_NORANDOMSERVICE) && + result = pk11_get_session(&pctx, op_type, false, false, false, NULL, + slot); + if ((result != ISC_R_SUCCESS) && (result != PK11_R_NORANDOMSERVICE) && (result != PK11_R_NOAESSERVICE)) { fprintf(stderr, "Error initializing PKCS#11: %s\n", isc_result_totext(result)); @@ -171,13 +169,11 @@ main(int argc, char *argv[]) { goto exit_session; } - for (i = 0; i < count; i++) { /* Digest buffer */ rv = pkcs_C_DigestUpdate(hSession, buf, len); if (rv != CKR_OK) { - fprintf(stderr, - "C_DigestUpdate[%u]: Error = 0x%.8lX\n", + fprintf(stderr, "C_DigestUpdate[%u]: Error = 0x%.8lX\n", i, rv); error = 1; break; @@ -201,16 +197,17 @@ main(int argc, char *argv[]) { endtime.tv_sec -= 1; endtime.tv_nsec += 1000000000; } - printf("%uK digested bytes in %ld.%09lds\n", i, - endtime.tv_sec, endtime.tv_nsec); + printf("%uK digested bytes in %ld.%09lds\n", i, endtime.tv_sec, + endtime.tv_nsec); if (i > 0) printf("%g digested bytes/s\n", - 1024 * i / ((double) endtime.tv_sec + - (double) endtime.tv_nsec / 1000000000.)); + 1024 * i / + ((double)endtime.tv_sec + + (double)endtime.tv_nsec / 1000000000.)); - exit_session: +exit_session: pk11_return_session(&pctx); - (void) pk11_finalize(); + (void)pk11_finalize(); exit(error); } diff --git a/bin/tests/pkcs11/benchmarks/sign.c b/bin/tests/pkcs11/benchmarks/sign.c index f767226866..d1d7efd66c 100644 --- a/bin/tests/pkcs11/benchmarks/sign.c +++ b/bin/tests/pkcs11/benchmarks/sign.c @@ -33,13 +33,12 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - /* signrsa [-m module] [-s $slot] [-p pin] [-t] [-n count] */ /*! \file */ -#include #include +#include #include #include #include @@ -62,118 +61,88 @@ #define CLOCK_REALTIME 0 #endif -static int clock_gettime(int32_t id, struct timespec *tp); +static int +clock_gettime(int32_t id, struct timespec *tp); static int clock_gettime(int32_t id, struct timespec *tp) { struct timeval tv; - int result; + int result; UNUSED(id); result = gettimeofday(&tv, NULL); if (result == 0) { tp->tv_sec = tv.tv_sec; - tp->tv_nsec = (long) tv.tv_usec * 1000; + tp->tv_nsec = (long)tv.tv_usec * 1000; } return (result); } #endif CK_BYTE modulus[] = { - 0x00, 0xb7, 0x9c, 0x1f, 0x05, 0xa3, 0xc2, 0x99, - 0x44, 0x82, 0x20, 0x78, 0x43, 0x7f, 0x5f, 0x3b, - 0x10, 0xd7, 0x9e, 0x61, 0x42, 0xd2, 0x7a, 0x90, - 0x50, 0x8a, 0x99, 0x33, 0xe7, 0xca, 0xc8, 0x5f, - 0x16, 0x1c, 0x56, 0xf8, 0xc1, 0x06, 0x2f, 0x96, - 0xe7, 0x54, 0xf2, 0x85, 0x89, 0x41, 0x36, 0xf5, - 0x4c, 0xa4, 0x0d, 0x62, 0xd3, 0x42, 0x51, 0x6b, - 0x9f, 0xdc, 0x36, 0xcb, 0xad, 0x56, 0xf4, 0xbd, - 0x2a, 0x60, 0x33, 0xb1, 0x7a, 0x99, 0xad, 0x08, - 0x9f, 0x95, 0xe8, 0xe5, 0x14, 0xd9, 0x68, 0x79, - 0xca, 0x4e, 0x72, 0xeb, 0xfb, 0x2c, 0xf1, 0x45, - 0xd3, 0x33, 0x65, 0xe7, 0xc5, 0x11, 0xdd, 0xe7, - 0x09, 0x83, 0x13, 0xd5, 0x17, 0x1b, 0xf4, 0xbd, - 0x49, 0xdd, 0x8a, 0x3c, 0x3c, 0xf7, 0xa1, 0x5d, - 0x7b, 0xb4, 0xd3, 0x80, 0x25, 0xf4, 0x05, 0x8f, - 0xbc, 0x2c, 0x2a, 0x47, 0xff, 0xd1, 0xc8, 0x34, - 0xbf + 0x00, 0xb7, 0x9c, 0x1f, 0x05, 0xa3, 0xc2, 0x99, 0x44, 0x82, 0x20, 0x78, + 0x43, 0x7f, 0x5f, 0x3b, 0x10, 0xd7, 0x9e, 0x61, 0x42, 0xd2, 0x7a, 0x90, + 0x50, 0x8a, 0x99, 0x33, 0xe7, 0xca, 0xc8, 0x5f, 0x16, 0x1c, 0x56, 0xf8, + 0xc1, 0x06, 0x2f, 0x96, 0xe7, 0x54, 0xf2, 0x85, 0x89, 0x41, 0x36, 0xf5, + 0x4c, 0xa4, 0x0d, 0x62, 0xd3, 0x42, 0x51, 0x6b, 0x9f, 0xdc, 0x36, 0xcb, + 0xad, 0x56, 0xf4, 0xbd, 0x2a, 0x60, 0x33, 0xb1, 0x7a, 0x99, 0xad, 0x08, + 0x9f, 0x95, 0xe8, 0xe5, 0x14, 0xd9, 0x68, 0x79, 0xca, 0x4e, 0x72, 0xeb, + 0xfb, 0x2c, 0xf1, 0x45, 0xd3, 0x33, 0x65, 0xe7, 0xc5, 0x11, 0xdd, 0xe7, + 0x09, 0x83, 0x13, 0xd5, 0x17, 0x1b, 0xf4, 0xbd, 0x49, 0xdd, 0x8a, 0x3c, + 0x3c, 0xf7, 0xa1, 0x5d, 0x7b, 0xb4, 0xd3, 0x80, 0x25, 0xf4, 0x05, 0x8f, + 0xbc, 0x2c, 0x2a, 0x47, 0xff, 0xd1, 0xc8, 0x34, 0xbf }; CK_BYTE pubexp[] = { 0x01, 0x00, 0x01 }; CK_BYTE privexp[] = { - 0x00, 0xae, 0x02, 0xf1, 0x47, 0xa8, 0x07, 0x02, - 0xb8, 0xf1, 0xd6, 0x92, 0x03, 0xee, 0x50, 0x33, - 0xab, 0x67, 0x9e, 0x3b, 0xb1, 0x57, 0xc7, 0x3e, - 0xc4, 0x86, 0x46, 0x61, 0xf1, 0xf8, 0xb6, 0x63, - 0x9f, 0x91, 0xe6, 0x3f, 0x44, 0xb8, 0x77, 0x1b, - 0xbe, 0x4c, 0x3c, 0xb8, 0x9f, 0xf7, 0x45, 0x7d, - 0xbf, 0x4f, 0xef, 0x3b, 0xcc, 0xda, 0x1a, 0x4e, - 0x34, 0xa8, 0x40, 0xea, 0x51, 0x72, 0x8a, 0xea, - 0x47, 0x06, 0x04, 0xd0, 0x62, 0x31, 0xa0, 0x6c, - 0x09, 0x60, 0xf9, 0xc7, 0x95, 0x88, 0x4a, 0xd7, - 0x19, 0xce, 0x89, 0x08, 0x87, 0x14, 0xef, 0xcc, - 0x0a, 0xef, 0x72, 0xb9, 0x21, 0xf5, 0xf0, 0xcd, - 0x6d, 0xe5, 0xfa, 0x15, 0x7f, 0xae, 0x33, 0x9f, - 0x26, 0xac, 0x2e, 0x52, 0x02, 0x07, 0xfb, 0x1d, - 0x4b, 0xec, 0x9a, 0x6b, 0x3b, 0x26, 0x1f, 0x52, - 0xfc, 0x47, 0xf8, 0x66, 0x33, 0xfa, 0x50, 0x6c, - 0x41 -}; -CK_BYTE prime1[] = { - 0x00, 0xe8, 0x98, 0xeb, 0xa1, 0xf0, 0xce, 0xde, - 0xc2, 0x74, 0x01, 0x18, 0x2b, 0xd3, 0x8f, 0x58, - 0xcd, 0xe9, 0x8e, 0x97, 0xbe, 0xfe, 0xe8, 0x6f, - 0xd6, 0x0c, 0x0a, 0x47, 0xf8, 0x56, 0x84, 0x36, - 0x15, 0xe6, 0x75, 0x1c, 0x69, 0x48, 0x8b, 0xf5, - 0x0f, 0x84, 0xd2, 0x60, 0x8b, 0xa2, 0x2a, 0xa1, - 0xeb, 0xed, 0xbe, 0x2d, 0xe9, 0x41, 0x0b, 0xed, - 0x17, 0x7c, 0xd3, 0xa6, 0x35, 0x6e, 0xa6, 0xd8, - 0x21 -}; -CK_BYTE prime2[] = { - 0x00, 0xca, 0x15, 0x6a, 0x43, 0x5e, 0x83, 0xc9, - 0x09, 0xeb, 0x14, 0x1e, 0x46, 0x46, 0x97, 0xfa, - 0xfa, 0x3c, 0x61, 0x7e, 0xc1, 0xf8, 0x8c, 0x5e, - 0xcb, 0xbf, 0xe4, 0xb9, 0x78, 0x7f, 0x4f, 0xab, - 0x82, 0x15, 0x53, 0xaa, 0x04, 0xee, 0x11, 0x21, - 0x2e, 0x23, 0x08, 0xa0, 0x14, 0x6d, 0x3a, 0x88, - 0xe6, 0xf8, 0xbe, 0x61, 0x38, 0x99, 0xca, 0x36, - 0x0d, 0x3e, 0x42, 0x0f, 0x63, 0x4d, 0x73, 0xf0, - 0xdf -}; -CK_BYTE exp_1[] = { - 0x66, 0x2d, 0xb7, 0x65, 0xbe, 0x99, 0xc2, 0x35, - 0xfe, 0x2b, 0xf4, 0xe8, 0x5b, 0xd9, 0xdf, 0x13, - 0x26, 0x04, 0xe4, 0x18, 0x9d, 0x76, 0x92, 0x9a, - 0x9f, 0x53, 0x6c, 0xe6, 0x65, 0x6b, 0x53, 0x2f, - 0x2f, 0xbc, 0x46, 0xac, 0xe1, 0x97, 0xca, 0x21, - 0xf5, 0x21, 0x4e, 0x14, 0x49, 0x3b, 0x1d, 0x42, - 0xbd, 0x80, 0x0c, 0x3f, 0x29, 0xba, 0x09, 0x7f, - 0x85, 0xf0, 0x9c, 0x55, 0x60, 0xb4, 0x9e, 0xc1 -}; -CK_BYTE exp_2[] = { - 0x00, 0x87, 0x22, 0x74, 0xf1, 0xe2, 0x15, 0x3c, - 0x6d, 0xde, 0x7e, 0x90, 0x94, 0x2c, 0x06, 0xdb, - 0xb5, 0x54, 0x85, 0x59, 0xcf, 0x7a, 0x56, 0xdb, - 0xd9, 0x62, 0x54, 0x20, 0x56, 0xdc, 0xc3, 0xb9, - 0x0b, 0xff, 0x18, 0xf8, 0x7b, 0xdd, 0x7b, 0x24, - 0xf6, 0x06, 0x45, 0x71, 0x4e, 0xd7, 0x90, 0x2a, - 0x16, 0x52, 0x46, 0x75, 0x1a, 0xf5, 0x74, 0x8c, - 0x5a, 0xa4, 0xc4, 0x66, 0x27, 0xe0, 0x96, 0x64, - 0x7f -}; -CK_BYTE coeff[] = { - 0x00, 0xd0, 0x1f, 0xb3, 0x47, 0x40, 0x93, 0x8b, - 0x99, 0xd7, 0xb5, 0xc6, 0x09, 0x82, 0x65, 0x94, - 0x9d, 0x56, 0x0a, 0x05, 0x55, 0x7d, 0x93, 0x04, - 0xa4, 0x26, 0xee, 0x42, 0x86, 0xa3, 0xf1, 0xd5, - 0x7a, 0x42, 0x84, 0x3c, 0x21, 0x96, 0x9a, 0xd9, - 0x36, 0xd4, 0x62, 0x01, 0xb0, 0x8b, 0x77, 0xe5, - 0xcc, 0x1b, 0xd2, 0x12, 0xd2, 0x9c, 0x89, 0x67, - 0x0c, 0x00, 0x09, 0x56, 0x8c, 0x33, 0x57, 0xf9, - 0x8c + 0x00, 0xae, 0x02, 0xf1, 0x47, 0xa8, 0x07, 0x02, 0xb8, 0xf1, 0xd6, 0x92, + 0x03, 0xee, 0x50, 0x33, 0xab, 0x67, 0x9e, 0x3b, 0xb1, 0x57, 0xc7, 0x3e, + 0xc4, 0x86, 0x46, 0x61, 0xf1, 0xf8, 0xb6, 0x63, 0x9f, 0x91, 0xe6, 0x3f, + 0x44, 0xb8, 0x77, 0x1b, 0xbe, 0x4c, 0x3c, 0xb8, 0x9f, 0xf7, 0x45, 0x7d, + 0xbf, 0x4f, 0xef, 0x3b, 0xcc, 0xda, 0x1a, 0x4e, 0x34, 0xa8, 0x40, 0xea, + 0x51, 0x72, 0x8a, 0xea, 0x47, 0x06, 0x04, 0xd0, 0x62, 0x31, 0xa0, 0x6c, + 0x09, 0x60, 0xf9, 0xc7, 0x95, 0x88, 0x4a, 0xd7, 0x19, 0xce, 0x89, 0x08, + 0x87, 0x14, 0xef, 0xcc, 0x0a, 0xef, 0x72, 0xb9, 0x21, 0xf5, 0xf0, 0xcd, + 0x6d, 0xe5, 0xfa, 0x15, 0x7f, 0xae, 0x33, 0x9f, 0x26, 0xac, 0x2e, 0x52, + 0x02, 0x07, 0xfb, 0x1d, 0x4b, 0xec, 0x9a, 0x6b, 0x3b, 0x26, 0x1f, 0x52, + 0xfc, 0x47, 0xf8, 0x66, 0x33, 0xfa, 0x50, 0x6c, 0x41 }; +CK_BYTE prime1[] = { 0x00, 0xe8, 0x98, 0xeb, 0xa1, 0xf0, 0xce, 0xde, 0xc2, 0x74, + 0x01, 0x18, 0x2b, 0xd3, 0x8f, 0x58, 0xcd, 0xe9, 0x8e, 0x97, + 0xbe, 0xfe, 0xe8, 0x6f, 0xd6, 0x0c, 0x0a, 0x47, 0xf8, 0x56, + 0x84, 0x36, 0x15, 0xe6, 0x75, 0x1c, 0x69, 0x48, 0x8b, 0xf5, + 0x0f, 0x84, 0xd2, 0x60, 0x8b, 0xa2, 0x2a, 0xa1, 0xeb, 0xed, + 0xbe, 0x2d, 0xe9, 0x41, 0x0b, 0xed, 0x17, 0x7c, 0xd3, 0xa6, + 0x35, 0x6e, 0xa6, 0xd8, 0x21 }; +CK_BYTE prime2[] = { 0x00, 0xca, 0x15, 0x6a, 0x43, 0x5e, 0x83, 0xc9, 0x09, 0xeb, + 0x14, 0x1e, 0x46, 0x46, 0x97, 0xfa, 0xfa, 0x3c, 0x61, 0x7e, + 0xc1, 0xf8, 0x8c, 0x5e, 0xcb, 0xbf, 0xe4, 0xb9, 0x78, 0x7f, + 0x4f, 0xab, 0x82, 0x15, 0x53, 0xaa, 0x04, 0xee, 0x11, 0x21, + 0x2e, 0x23, 0x08, 0xa0, 0x14, 0x6d, 0x3a, 0x88, 0xe6, 0xf8, + 0xbe, 0x61, 0x38, 0x99, 0xca, 0x36, 0x0d, 0x3e, 0x42, 0x0f, + 0x63, 0x4d, 0x73, 0xf0, 0xdf }; +CK_BYTE exp_1[] = { 0x66, 0x2d, 0xb7, 0x65, 0xbe, 0x99, 0xc2, 0x35, 0xfe, 0x2b, + 0xf4, 0xe8, 0x5b, 0xd9, 0xdf, 0x13, 0x26, 0x04, 0xe4, 0x18, + 0x9d, 0x76, 0x92, 0x9a, 0x9f, 0x53, 0x6c, 0xe6, 0x65, 0x6b, + 0x53, 0x2f, 0x2f, 0xbc, 0x46, 0xac, 0xe1, 0x97, 0xca, 0x21, + 0xf5, 0x21, 0x4e, 0x14, 0x49, 0x3b, 0x1d, 0x42, 0xbd, 0x80, + 0x0c, 0x3f, 0x29, 0xba, 0x09, 0x7f, 0x85, 0xf0, 0x9c, 0x55, + 0x60, 0xb4, 0x9e, 0xc1 }; +CK_BYTE exp_2[] = { 0x00, 0x87, 0x22, 0x74, 0xf1, 0xe2, 0x15, 0x3c, 0x6d, 0xde, + 0x7e, 0x90, 0x94, 0x2c, 0x06, 0xdb, 0xb5, 0x54, 0x85, 0x59, + 0xcf, 0x7a, 0x56, 0xdb, 0xd9, 0x62, 0x54, 0x20, 0x56, 0xdc, + 0xc3, 0xb9, 0x0b, 0xff, 0x18, 0xf8, 0x7b, 0xdd, 0x7b, 0x24, + 0xf6, 0x06, 0x45, 0x71, 0x4e, 0xd7, 0x90, 0x2a, 0x16, 0x52, + 0x46, 0x75, 0x1a, 0xf5, 0x74, 0x8c, 0x5a, 0xa4, 0xc4, 0x66, + 0x27, 0xe0, 0x96, 0x64, 0x7f }; +CK_BYTE coeff[] = { 0x00, 0xd0, 0x1f, 0xb3, 0x47, 0x40, 0x93, 0x8b, 0x99, 0xd7, + 0xb5, 0xc6, 0x09, 0x82, 0x65, 0x94, 0x9d, 0x56, 0x0a, 0x05, + 0x55, 0x7d, 0x93, 0x04, 0xa4, 0x26, 0xee, 0x42, 0x86, 0xa3, + 0xf1, 0xd5, 0x7a, 0x42, 0x84, 0x3c, 0x21, 0x96, 0x9a, 0xd9, + 0x36, 0xd4, 0x62, 0x01, 0xb0, 0x8b, 0x77, 0xe5, 0xcc, 0x1b, + 0xd2, 0x12, 0xd2, 0x9c, 0x89, 0x67, 0x0c, 0x00, 0x09, 0x56, + 0x8c, 0x33, 0x57, 0xf9, 0x8c }; CK_BYTE buf[1024]; CK_BYTE sig[128]; @@ -182,42 +151,42 @@ static CK_BBOOL truevalue = TRUE; static CK_BBOOL falsevalue = FALSE; int -main(int argc, char *argv[]) { - isc_result_t result; - CK_RV rv; - CK_SLOT_ID slot = 0; +main(int argc, char *argv[]) +{ + isc_result_t result; + CK_RV rv; + CK_SLOT_ID slot = 0; CK_SESSION_HANDLE hSession = CK_INVALID_HANDLE; - CK_ULONG len; - CK_ULONG slen; - CK_OBJECT_HANDLE hKey = CK_INVALID_HANDLE; - CK_OBJECT_CLASS kClass = CKO_PRIVATE_KEY; - CK_KEY_TYPE kType = CKK_RSA; - CK_ATTRIBUTE kTemplate[] = - { - { CKA_CLASS, &kClass, (CK_ULONG) sizeof(kClass) }, - { CKA_KEY_TYPE, &kType, (CK_ULONG) sizeof(kType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_SIGN, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_MODULUS, modulus, (CK_ULONG) sizeof(modulus) }, - { CKA_PUBLIC_EXPONENT, pubexp, (CK_ULONG) sizeof(pubexp) }, - { CKA_PRIVATE_EXPONENT, privexp, (CK_ULONG) sizeof(privexp) }, - { CKA_PRIME_1, prime1, (CK_ULONG) sizeof(prime1) }, - { CKA_PRIME_2, prime2, (CK_ULONG) sizeof(prime2) }, - { CKA_EXPONENT_1, exp_1, (CK_ULONG) sizeof(exp_1) }, - { CKA_EXPONENT_2, exp_2, (CK_ULONG) sizeof(exp_2) }, - { CKA_COEFFICIENT, coeff, (CK_ULONG) sizeof(coeff) } + CK_ULONG len; + CK_ULONG slen; + CK_OBJECT_HANDLE hKey = CK_INVALID_HANDLE; + CK_OBJECT_CLASS kClass = CKO_PRIVATE_KEY; + CK_KEY_TYPE kType = CKK_RSA; + CK_ATTRIBUTE kTemplate[] = { + { CKA_CLASS, &kClass, (CK_ULONG)sizeof(kClass) }, + { CKA_KEY_TYPE, &kType, (CK_ULONG)sizeof(kType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_SIGN, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_MODULUS, modulus, (CK_ULONG)sizeof(modulus) }, + { CKA_PUBLIC_EXPONENT, pubexp, (CK_ULONG)sizeof(pubexp) }, + { CKA_PRIVATE_EXPONENT, privexp, (CK_ULONG)sizeof(privexp) }, + { CKA_PRIME_1, prime1, (CK_ULONG)sizeof(prime1) }, + { CKA_PRIME_2, prime2, (CK_ULONG)sizeof(prime2) }, + { CKA_EXPONENT_1, exp_1, (CK_ULONG)sizeof(exp_1) }, + { CKA_EXPONENT_2, exp_2, (CK_ULONG)sizeof(exp_2) }, + { CKA_COEFFICIENT, coeff, (CK_ULONG)sizeof(coeff) } }; - CK_MECHANISM mech = { CKM_SHA1_RSA_PKCS, NULL, 0 }; - pk11_context_t pctx; - pk11_optype_t op_type = OP_RSA; - char *lib_name = NULL; - char *pin = NULL; - int error = 0; - int c, errflg = 0; - int ontoken = 0; - unsigned int count = 1000; - unsigned int i; + CK_MECHANISM mech = { CKM_SHA1_RSA_PKCS, NULL, 0 }; + pk11_context_t pctx; + pk11_optype_t op_type = OP_RSA; + char * lib_name = NULL; + char * pin = NULL; + int error = 0; + int c, errflg = 0; + int ontoken = 0; + unsigned int count = 1000; + unsigned int i; struct timespec starttime; struct timespec endtime; @@ -240,8 +209,7 @@ main(int argc, char *argv[]) { count = atoi(isc_commandline_argument); break; case ':': - fprintf(stderr, - "Option -%c requires an operand\n", + fprintf(stderr, "Option -%c requires an operand\n", isc_commandline_option); errflg++; break; @@ -255,9 +223,8 @@ main(int argc, char *argv[]) { if (errflg) { fprintf(stderr, "Usage:\n"); - fprintf(stderr, - "\tsign [-m module] [-s slot] [-p pin] " - "[-t] [-n count]\n"); + fprintf(stderr, "\tsign [-m module] [-s slot] [-p pin] " + "[-t] [-n count]\n"); exit(1); } @@ -271,10 +238,9 @@ main(int argc, char *argv[]) { pin = getpass("Enter Pin: "); } - result = pk11_get_session(&pctx, op_type, false, true, - true, (const char *) pin, slot); - if ((result != ISC_R_SUCCESS) && - (result != PK11_R_NORANDOMSERVICE) && + result = pk11_get_session(&pctx, op_type, false, true, true, + (const char *)pin, slot); + if ((result != ISC_R_SUCCESS) && (result != PK11_R_NORANDOMSERVICE) && (result != PK11_R_NODIGESTSERVICE) && (result != PK11_R_NOAESSERVICE)) { fprintf(stderr, "Error initializing PKCS#11: %s\n", @@ -298,7 +264,7 @@ main(int argc, char *argv[]) { } /* Randomize the buffer */ - len = (CK_ULONG) sizeof(buf); + len = (CK_ULONG)sizeof(buf); rv = pkcs_C_GenerateRandom(hSession, buf, len); if (rv != CKR_OK) { fprintf(stderr, "C_GenerateRandom: Error = 0x%.8lX\n", rv); @@ -314,20 +280,17 @@ main(int argc, char *argv[]) { /* Initialize Sign */ rv = pkcs_C_SignInit(hSession, &mech, hKey); if (rv != CKR_OK) { - fprintf(stderr, - "C_SignInit[%u]: Error = 0x%.8lX\n", - i, rv); + fprintf(stderr, "C_SignInit[%u]: Error = 0x%.8lX\n", i, + rv); error = 1; break; } /* Perform Sign */ - slen = (CK_ULONG) sizeof(sig); + slen = (CK_ULONG)sizeof(sig); rv = pkcs_C_Sign(hSession, buf, len, sig, &slen); if (rv != CKR_OK) { - fprintf(stderr, - "C_Sign[%u]: Error = 0x%.8lX\n", - i, rv); + fprintf(stderr, "C_Sign[%u]: Error = 0x%.8lX\n", i, rv); error = 1; break; } @@ -344,24 +307,24 @@ main(int argc, char *argv[]) { endtime.tv_sec -= 1; endtime.tv_nsec += 1000000000; } - printf("%u RSA signs in %ld.%09lds\n", i, - endtime.tv_sec, endtime.tv_nsec); + printf("%u RSA signs in %ld.%09lds\n", i, endtime.tv_sec, + endtime.tv_nsec); if (i > 0) printf("%g RSA signs/s\n", - 1024 * i / ((double) endtime.tv_sec + - (double) endtime.tv_nsec / 1000000000.)); + 1024 * i / + ((double)endtime.tv_sec + + (double)endtime.tv_nsec / 1000000000.)); - exit_key: +exit_key: if (hKey != CK_INVALID_HANDLE) { rv = pkcs_C_DestroyObject(hSession, hKey); if (rv != CKR_OK) - fprintf(stderr, - "C_DestroyObject: Error = 0x%.8lX\n", + fprintf(stderr, "C_DestroyObject: Error = 0x%.8lX\n", rv); } pk11_return_session(&pctx); - (void) pk11_finalize(); + (void)pk11_finalize(); exit(error); } diff --git a/bin/tests/pkcs11/benchmarks/verify.c b/bin/tests/pkcs11/benchmarks/verify.c index 11d2549ca7..af9e621d0f 100644 --- a/bin/tests/pkcs11/benchmarks/verify.c +++ b/bin/tests/pkcs11/benchmarks/verify.c @@ -33,13 +33,12 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - /* verify [-m module] [-s $slot] [-p pin] [-t] [-n count] */ /*! \file */ -#include #include +#include #include #include #include @@ -62,43 +61,38 @@ #define CLOCK_REALTIME 0 #endif -static int clock_gettime(int32_t id, struct timespec *tp); +static int +clock_gettime(int32_t id, struct timespec *tp); static int clock_gettime(int32_t id, struct timespec *tp) { struct timeval tv; - int result; + int result; UNUSED(id); result = gettimeofday(&tv, NULL); if (result == 0) { tp->tv_sec = tv.tv_sec; - tp->tv_nsec = (long) tv.tv_usec * 1000; + tp->tv_nsec = (long)tv.tv_usec * 1000; } return (result); } #endif CK_BYTE modulus[] = { - 0x00, 0xb7, 0x9c, 0x1f, 0x05, 0xa3, 0xc2, 0x99, - 0x44, 0x82, 0x20, 0x78, 0x43, 0x7f, 0x5f, 0x3b, - 0x10, 0xd7, 0x9e, 0x61, 0x42, 0xd2, 0x7a, 0x90, - 0x50, 0x8a, 0x99, 0x33, 0xe7, 0xca, 0xc8, 0x5f, - 0x16, 0x1c, 0x56, 0xf8, 0xc1, 0x06, 0x2f, 0x96, - 0xe7, 0x54, 0xf2, 0x85, 0x89, 0x41, 0x36, 0xf5, - 0x4c, 0xa4, 0x0d, 0x62, 0xd3, 0x42, 0x51, 0x6b, - 0x9f, 0xdc, 0x36, 0xcb, 0xad, 0x56, 0xf4, 0xbd, - 0x2a, 0x60, 0x33, 0xb1, 0x7a, 0x99, 0xad, 0x08, - 0x9f, 0x95, 0xe8, 0xe5, 0x14, 0xd9, 0x68, 0x79, - 0xca, 0x4e, 0x72, 0xeb, 0xfb, 0x2c, 0xf1, 0x45, - 0xd3, 0x33, 0x65, 0xe7, 0xc5, 0x11, 0xdd, 0xe7, - 0x09, 0x83, 0x13, 0xd5, 0x17, 0x1b, 0xf4, 0xbd, - 0x49, 0xdd, 0x8a, 0x3c, 0x3c, 0xf7, 0xa1, 0x5d, - 0x7b, 0xb4, 0xd3, 0x80, 0x25, 0xf4, 0x05, 0x8f, - 0xbc, 0x2c, 0x2a, 0x47, 0xff, 0xd1, 0xc8, 0x34, - 0xbf + 0x00, 0xb7, 0x9c, 0x1f, 0x05, 0xa3, 0xc2, 0x99, 0x44, 0x82, 0x20, 0x78, + 0x43, 0x7f, 0x5f, 0x3b, 0x10, 0xd7, 0x9e, 0x61, 0x42, 0xd2, 0x7a, 0x90, + 0x50, 0x8a, 0x99, 0x33, 0xe7, 0xca, 0xc8, 0x5f, 0x16, 0x1c, 0x56, 0xf8, + 0xc1, 0x06, 0x2f, 0x96, 0xe7, 0x54, 0xf2, 0x85, 0x89, 0x41, 0x36, 0xf5, + 0x4c, 0xa4, 0x0d, 0x62, 0xd3, 0x42, 0x51, 0x6b, 0x9f, 0xdc, 0x36, 0xcb, + 0xad, 0x56, 0xf4, 0xbd, 0x2a, 0x60, 0x33, 0xb1, 0x7a, 0x99, 0xad, 0x08, + 0x9f, 0x95, 0xe8, 0xe5, 0x14, 0xd9, 0x68, 0x79, 0xca, 0x4e, 0x72, 0xeb, + 0xfb, 0x2c, 0xf1, 0x45, 0xd3, 0x33, 0x65, 0xe7, 0xc5, 0x11, 0xdd, 0xe7, + 0x09, 0x83, 0x13, 0xd5, 0x17, 0x1b, 0xf4, 0xbd, 0x49, 0xdd, 0x8a, 0x3c, + 0x3c, 0xf7, 0xa1, 0x5d, 0x7b, 0xb4, 0xd3, 0x80, 0x25, 0xf4, 0x05, 0x8f, + 0xbc, 0x2c, 0x2a, 0x47, 0xff, 0xd1, 0xc8, 0x34, 0xbf }; CK_BYTE exponent[] = { 0x01, 0x00, 0x01 }; @@ -109,36 +103,36 @@ static CK_BBOOL truevalue = TRUE; static CK_BBOOL falsevalue = FALSE; int -main(int argc, char *argv[]) { - isc_result_t result; - CK_RV rv; - CK_SLOT_ID slot = 0; +main(int argc, char *argv[]) +{ + isc_result_t result; + CK_RV rv; + CK_SLOT_ID slot = 0; CK_SESSION_HANDLE hSession = CK_INVALID_HANDLE; - CK_ULONG len; - CK_ULONG slen; - CK_OBJECT_HANDLE hKey = CK_INVALID_HANDLE; - CK_OBJECT_CLASS kClass = CKO_PUBLIC_KEY; - CK_KEY_TYPE kType = CKK_RSA; - CK_ATTRIBUTE kTemplate[] = - { - { CKA_CLASS, &kClass, (CK_ULONG) sizeof(kClass) }, - { CKA_KEY_TYPE, &kType, (CK_ULONG) sizeof(kType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_VERIFY, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_MODULUS, modulus, (CK_ULONG) sizeof(modulus) }, - { CKA_PUBLIC_EXPONENT, exponent, (CK_ULONG) sizeof(exponent) } + CK_ULONG len; + CK_ULONG slen; + CK_OBJECT_HANDLE hKey = CK_INVALID_HANDLE; + CK_OBJECT_CLASS kClass = CKO_PUBLIC_KEY; + CK_KEY_TYPE kType = CKK_RSA; + CK_ATTRIBUTE kTemplate[] = { + { CKA_CLASS, &kClass, (CK_ULONG)sizeof(kClass) }, + { CKA_KEY_TYPE, &kType, (CK_ULONG)sizeof(kType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_VERIFY, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_MODULUS, modulus, (CK_ULONG)sizeof(modulus) }, + { CKA_PUBLIC_EXPONENT, exponent, (CK_ULONG)sizeof(exponent) } }; - CK_MECHANISM mech = { CKM_SHA1_RSA_PKCS, NULL, 0 }; - pk11_context_t pctx; - pk11_optype_t op_type = OP_RSA; - char *lib_name = NULL; - char *pin = NULL; - int error = 0; - int c, errflg = 0; - int ontoken = 0; - unsigned int count = 1000; - unsigned int i; + CK_MECHANISM mech = { CKM_SHA1_RSA_PKCS, NULL, 0 }; + pk11_context_t pctx; + pk11_optype_t op_type = OP_RSA; + char * lib_name = NULL; + char * pin = NULL; + int error = 0; + int c, errflg = 0; + int ontoken = 0; + unsigned int count = 1000; + unsigned int i; struct timespec starttime; struct timespec endtime; @@ -161,8 +155,7 @@ main(int argc, char *argv[]) { count = atoi(isc_commandline_argument); break; case ':': - fprintf(stderr, - "Option -%c requires an operand\n", + fprintf(stderr, "Option -%c requires an operand\n", isc_commandline_option); errflg++; break; @@ -176,9 +169,8 @@ main(int argc, char *argv[]) { if (errflg) { fprintf(stderr, "Usage:\n"); - fprintf(stderr, - "\tverify [-m module] [-s slot] [-p pin] " - "[-t] [-n count]\n"); + fprintf(stderr, "\tverify [-m module] [-s slot] [-p pin] " + "[-t] [-n count]\n"); exit(1); } @@ -192,10 +184,9 @@ main(int argc, char *argv[]) { pin = getpass("Enter Pin: "); } - result = pk11_get_session(&pctx, op_type, false, true, - true, (const char *) pin, slot); - if ((result != ISC_R_SUCCESS) && - (result != PK11_R_NORANDOMSERVICE) && + result = pk11_get_session(&pctx, op_type, false, true, true, + (const char *)pin, slot); + if ((result != ISC_R_SUCCESS) && (result != PK11_R_NORANDOMSERVICE) && (result != PK11_R_NODIGESTSERVICE) && (result != PK11_R_NOAESSERVICE)) { fprintf(stderr, "Error initializing PKCS#11: %s\n", @@ -220,7 +211,7 @@ main(int argc, char *argv[]) { } /* Randomize the buffer */ - len = (CK_ULONG) sizeof(buf); + len = (CK_ULONG)sizeof(buf); rv = pkcs_C_GenerateRandom(hSession, buf, len); if (rv != CKR_OK) { fprintf(stderr, "C_GenerateRandom: Error = 0x%.8lX\n", rv); @@ -236,20 +227,18 @@ main(int argc, char *argv[]) { /* Initialize Verify */ rv = pkcs_C_VerifyInit(hSession, &mech, hKey); if (rv != CKR_OK) { - fprintf(stderr, - "C_VerifyInit[%u]: Error = 0x%.8lX\n", + fprintf(stderr, "C_VerifyInit[%u]: Error = 0x%.8lX\n", i, rv); error = 1; break; } /* Perform Verify */ - slen = (CK_ULONG) sizeof(sig); + slen = (CK_ULONG)sizeof(sig); rv = pkcs_C_Verify(hSession, buf, len, sig, slen); if ((rv != CKR_OK) && (rv != CKR_SIGNATURE_INVALID)) { - fprintf(stderr, - "C_Verify[%u]: Error = 0x%.8lX\n", - i, rv); + fprintf(stderr, "C_Verify[%u]: Error = 0x%.8lX\n", i, + rv); error = 1; break; } @@ -266,26 +255,26 @@ main(int argc, char *argv[]) { endtime.tv_sec -= 1; endtime.tv_nsec += 1000000000; } - printf("%u RSA verify in %ld.%09lds\n", i, - endtime.tv_sec, endtime.tv_nsec); + printf("%u RSA verify in %ld.%09lds\n", i, endtime.tv_sec, + endtime.tv_nsec); if (i > 0) printf("%g RSA verify/s\n", - 1024 * i / ((double) endtime.tv_sec + - (double) endtime.tv_nsec / 1000000000.)); + 1024 * i / + ((double)endtime.tv_sec + + (double)endtime.tv_nsec / 1000000000.)); - exit_key: +exit_key: if (hKey != CK_INVALID_HANDLE) { rv = pkcs_C_DestroyObject(hSession, hKey); if (rv != CKR_OK) { - fprintf(stderr, - "C_DestroyObject: Error = 0x%.8lX\n", + fprintf(stderr, "C_DestroyObject: Error = 0x%.8lX\n", rv); error = 1; } } pk11_return_session(&pctx); - (void) pk11_finalize(); + (void)pk11_finalize(); exit(error); } diff --git a/bin/tests/system/dlzexternal/driver.c b/bin/tests/system/dlzexternal/driver.c index 4774118a0b..5d79015b7a 100644 --- a/bin/tests/system/dlzexternal/driver.c +++ b/bin/tests/system/dlzexternal/driver.c @@ -14,11 +14,13 @@ * driver, with update support. */ +#include "driver.h" + +#include +#include #include #include -#include #include -#include #include #include @@ -26,36 +28,39 @@ #include #include -#include #include +#include -#include "driver.h" - -#define CHECK(x) \ - do { \ - result = (x); \ +#define CHECK(x) \ + do { \ + result = (x); \ if (result != ISC_R_SUCCESS) \ - goto failure; \ + goto failure; \ } while (0) -#define loginfo(...) \ - ({ if ((state != NULL) && (state->log != NULL)) \ - state->log(ISC_LOG_INFO, __VA_ARGS__); }) -#define logerr(...) \ - ({ if ((state != NULL) && (state->log != NULL)) \ - state->log(ISC_LOG_ERROR, __VA_ARGS__); }) +#define loginfo(...) \ + ({ \ + if ((state != NULL) && (state->log != NULL)) \ + state->log(ISC_LOG_INFO, __VA_ARGS__); \ + }) +#define logerr(...) \ + ({ \ + if ((state != NULL) && (state->log != NULL)) \ + state->log(ISC_LOG_ERROR, __VA_ARGS__); \ + }) /* For this simple example, use fixed sized strings */ struct record { - char name[100]; - char type[10]; - char data[200]; + char name[100]; + char type[10]; + char data[200]; dns_ttl_t ttl; }; #define MAX_RECORDS 100 -typedef void log_t(int level, const char *fmt, ...); +typedef void +log_t(int level, const char *fmt, ...); struct dlz_example_data { char *zone_name; @@ -68,16 +73,17 @@ struct dlz_example_data { bool transaction_started; /* Helper functions from the dlz_dlopen driver */ - log_t *log; - dns_sdlz_putrr_t *putrr; - dns_sdlz_putnamedrr_t *putnamedrr; + log_t * log; + dns_sdlz_putrr_t * putrr; + dns_sdlz_putnamedrr_t * putnamedrr; dns_dlz_writeablezone_t *writeable_zone; }; static bool -single_valued(const char *type) { +single_valued(const char *type) +{ const char *single[] = { "soa", "cname", NULL }; - int i; + int i; for (i = 0; single[i]; i++) { if (strcasecmp(single[i], type) == 0) { @@ -91,12 +97,12 @@ single_valued(const char *type) { * Add a record to a list */ static isc_result_t -add_name(struct dlz_example_data *state, struct record *list, - const char *name, const char *type, dns_ttl_t ttl, const char *data) +add_name(struct dlz_example_data *state, struct record *list, const char *name, + const char *type, dns_ttl_t ttl, const char *data) { - int i; + int i; bool single = single_valued(type); - int first_empty = -1; + int first_empty = -1; for (i = 0; i < MAX_RECORDS; i++) { INSIST(list[i].name != NULL); @@ -142,9 +148,8 @@ add_name(struct dlz_example_data *state, struct record *list, * Delete a record from a list */ static isc_result_t -del_name(struct dlz_example_data *state, struct record *list, - const char *name, const char *type, dns_ttl_t ttl, - const char *data) +del_name(struct dlz_example_data *state, struct record *list, const char *name, + const char *type, dns_ttl_t ttl, const char *data) { int i; @@ -153,8 +158,7 @@ del_name(struct dlz_example_data *state, struct record *list, for (i = 0; i < MAX_RECORDS; i++) { if (strcasecmp(name, list[i].name) == 0 && strcasecmp(type, list[i].type) == 0 && - strcasecmp(data, list[i].data) == 0 && - ttl == list[i].ttl) { + strcasecmp(data, list[i].data) == 0 && ttl == list[i].ttl) { break; } } @@ -166,10 +170,11 @@ del_name(struct dlz_example_data *state, struct record *list, } static isc_result_t -fmt_address(isc_sockaddr_t *addr, char *buffer, size_t size) { - char addr_buf[INET6_ADDRSTRLEN]; +fmt_address(isc_sockaddr_t *addr, char *buffer, size_t size) +{ + char addr_buf[INET6_ADDRSTRLEN]; const char *ret; - uint16_t port = 0; + uint16_t port = 0; switch (addr->type.sa.sa_family) { case AF_INET: @@ -197,7 +202,8 @@ fmt_address(isc_sockaddr_t *addr, char *buffer, size_t size) { * Return the version of the API */ int -dlz_version(unsigned int *flags) { +dlz_version(unsigned int *flags) +{ UNUSED(flags); return (DLZ_DLOPEN_VERSION); } @@ -206,8 +212,8 @@ dlz_version(unsigned int *flags) { * Remember a helper function from the bind9 dlz_dlopen driver */ static void -b9_add_helper(struct dlz_example_data *state, - const char *helper_name, void *ptr) +b9_add_helper(struct dlz_example_data *state, const char *helper_name, + void *ptr) { if (strcmp(helper_name, "log") == 0) state->log = (log_t *)ptr; @@ -223,16 +229,16 @@ b9_add_helper(struct dlz_example_data *state, * Called to initialize the driver */ isc_result_t -dlz_create(const char *dlzname, unsigned int argc, char *argv[], - void **dbdata, ...) +dlz_create(const char *dlzname, unsigned int argc, char *argv[], void **dbdata, + ...) { struct dlz_example_data *state; - const char *helper_name; - va_list ap; - char soa_data[1024]; - const char *extra; - isc_result_t result; - int n; + const char * helper_name; + va_list ap; + char soa_data[1024]; + const char * extra; + isc_result_t result; + int n; UNUSED(dlzname); @@ -277,29 +283,29 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], if ((unsigned)n >= sizeof(soa_data)) CHECK(ISC_R_NOSPACE); - add_name(state, &state->current[0], state->zone_name, - "soa", 3600, soa_data); - add_name(state, &state->current[0], state->zone_name, - "ns", 3600, state->zone_name); - add_name(state, &state->current[0], state->zone_name, - "a", 1800, "10.53.0.1"); + add_name(state, &state->current[0], state->zone_name, "soa", 3600, + soa_data); + add_name(state, &state->current[0], state->zone_name, "ns", 3600, + state->zone_name); + add_name(state, &state->current[0], state->zone_name, "a", 1800, + "10.53.0.1"); loginfo("dlz_example: started for zone %s", state->zone_name); *dbdata = state; return (ISC_R_SUCCESS); - failure: +failure: free(state); return (result); - } /* * Shut down the backend */ void -dlz_destroy(void *dbdata) { +dlz_destroy(void *dbdata) +{ struct dlz_example_data *state = (struct dlz_example_data *)dbdata; loginfo("dlz_example: shutting down zone %s", state->zone_name); @@ -311,27 +317,25 @@ dlz_destroy(void *dbdata) { * See if we handle a given zone */ isc_result_t -dlz_findzonedb(void *dbdata, const char *name, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo) +dlz_findzonedb(void *dbdata, const char *name, dns_clientinfomethods_t *methods, + dns_clientinfo_t *clientinfo) { struct dlz_example_data *state = (struct dlz_example_data *)dbdata; - isc_sockaddr_t *src; - char addrbuf[100]; - char absolute[1024]; + isc_sockaddr_t * src; + char addrbuf[100]; + char absolute[1024]; strcpy(addrbuf, "unknown"); - if (methods != NULL && - methods->sourceip != NULL && + if (methods != NULL && methods->sourceip != NULL && methods->version - methods->age <= DNS_CLIENTINFOMETHODS_VERSION && - DNS_CLIENTINFOMETHODS_VERSION <= methods->version) - { + DNS_CLIENTINFOMETHODS_VERSION <= methods->version) { methods->sourceip(clientinfo, &src); fmt_address(src, addrbuf, sizeof(addrbuf)); } loginfo("dlz_example: dlz_findzonedb called with name '%s' " - "in zone DB '%s' from %s", name, state->zone_name, addrbuf); + "in zone DB '%s' from %s", + name, state->zone_name, addrbuf); /* * Returning ISC_R_NOTFOUND will cause the query logic to @@ -387,16 +391,16 @@ dlz_lookup(const char *zone, const char *name, void *dbdata, dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) { - isc_result_t result; + isc_result_t result; struct dlz_example_data *state = (struct dlz_example_data *)dbdata; - bool found = false; - void *dbversion = NULL; - isc_sockaddr_t *src; - char full_name[256]; - char buf[512]; - static char last[256]; - static int count = 0; - int i, size; + bool found = false; + void * dbversion = NULL; + isc_sockaddr_t * src; + char full_name[256]; + char buf[512]; + static char last[256]; + static int count = 0; + int i, size; UNUSED(zone); @@ -405,20 +409,17 @@ dlz_lookup(const char *zone, const char *name, void *dbdata, } if (strcmp(name, "@") == 0) { - size = snprintf(full_name, sizeof(full_name), - "%s", state->zone_name); + size = snprintf(full_name, sizeof(full_name), "%s", + state->zone_name); } else if (strcmp(state->zone_name, ".") == 0) { - size = snprintf(full_name, sizeof(full_name), - "%s.", name); + size = snprintf(full_name, sizeof(full_name), "%s.", name); } else { - size = snprintf(full_name, sizeof(full_name), - "%s.%s", name, state->zone_name); + size = snprintf(full_name, sizeof(full_name), "%s.%s", name, + state->zone_name); } - if (size < 0 || - (size_t)size >= sizeof(full_name) || - (size_t)size >= sizeof(last)) - { + if (size < 0 || (size_t)size >= sizeof(full_name) || + (size_t)size >= sizeof(last)) { return (ISC_R_NOSPACE); } @@ -458,12 +459,10 @@ dlz_lookup(const char *zone, const char *name, void *dbdata, if (strcmp(name, "source-addr") == 0) { strncpy(buf, "unknown", sizeof(buf)); - if (methods != NULL && - methods->sourceip != NULL && + if (methods != NULL && methods->sourceip != NULL && (methods->version - methods->age <= DNS_CLIENTINFOMETHODS_VERSION) && - DNS_CLIENTINFOMETHODS_VERSION <= methods->version) - { + DNS_CLIENTINFOMETHODS_VERSION <= methods->version) { methods->sourceip(clientinfo, &src); fmt_address(src, buf, sizeof(buf)); } @@ -477,8 +476,7 @@ dlz_lookup(const char *zone, const char *name, void *dbdata, } if (strcmp(name, "too-long") == 0 || - strcmp(zone, "bigcname.domain") == 0) - { + strcmp(zone, "bigcname.domain") == 0) { for (i = 0; i < 511; i++) buf[i] = 'x'; buf[i] = '\0'; @@ -497,8 +495,7 @@ dlz_lookup(const char *zone, const char *name, void *dbdata, } if (strcmp(name, "long.name.is.not.there") == 0 && - strcmp(zone, ".") == 0) - { + strcmp(zone, ".") == 0) { result = state->putrr(lookup, "A", 0, "100.100.100.3"); found = true; if (result != ISC_R_SUCCESS) @@ -523,14 +520,14 @@ dlz_lookup(const char *zone, const char *name, void *dbdata, return (ISC_R_SUCCESS); } - /* * See if a zone transfer is allowed */ isc_result_t -dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { +dlz_allowzonexfr(void *dbdata, const char *name, const char *client) +{ struct dlz_example_data *state = (struct dlz_example_data *)dbdata; - isc_result_t result; + isc_result_t result; loginfo("dlz_example: dlz_allowzonexfr called for %s", name); @@ -568,9 +565,10 @@ dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { * Perform a zone transfer */ isc_result_t -dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { +dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) +{ struct dlz_example_data *state = (struct dlz_example_data *)dbdata; - int i; + int i; UNUSED(zone); @@ -593,12 +591,12 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { return (ISC_R_SUCCESS); } - /* * Start a transaction */ isc_result_t -dlz_newversion(const char *zone, void *dbdata, void **versionp) { +dlz_newversion(const char *zone, void *dbdata, void **versionp) +{ struct dlz_example_data *state = (struct dlz_example_data *)dbdata; if (state->transaction_started) { @@ -608,7 +606,7 @@ dlz_newversion(const char *zone, void *dbdata, void **versionp) { } state->transaction_started = true; - *versionp = (void *) &state->transaction_started; + *versionp = (void *)&state->transaction_started; return (ISC_R_SUCCESS); } @@ -617,8 +615,7 @@ dlz_newversion(const char *zone, void *dbdata, void **versionp) { * End a transaction */ void -dlz_closeversion(const char *zone, bool commit, - void *dbdata, void **versionp) +dlz_closeversion(const char *zone, bool commit, void *dbdata, void **versionp) { struct dlz_example_data *state = (struct dlz_example_data *)dbdata; @@ -661,14 +658,14 @@ dlz_closeversion(const char *zone, bool commit, memset(state->deletes, 0, sizeof(state->deletes)); } - /* * Configure a writeable zone */ isc_result_t -dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb, void *dbdata) { +dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb, void *dbdata) +{ struct dlz_example_data *state = (struct dlz_example_data *)dbdata; - isc_result_t result; + isc_result_t result; loginfo("dlz_example: starting configure"); @@ -705,23 +702,22 @@ dlz_ssumatch(const char *signer, const char *name, const char *tcpaddr, UNUSED(keydata); if (strncmp(name, "deny.", 5) == 0) { - loginfo("dlz_example: denying update of name=%s by %s", - name, signer); + loginfo("dlz_example: denying update of name=%s by %s", name, + signer); return (false); } loginfo("dlz_example: allowing update of name=%s by %s", name, signer); return (true); } - static isc_result_t modrdataset(struct dlz_example_data *state, const char *name, const char *rdatastr, struct record *list) { - char *full_name, *dclass, *type, *data, *ttlstr, *buf; - char absolute[1024]; + char * full_name, *dclass, *type, *data, *ttlstr, *buf; + char absolute[1024]; isc_result_t result; - char *saveptr = NULL; + char * saveptr = NULL; buf = strdup(rdatastr); if (buf == NULL) @@ -760,24 +756,23 @@ modrdataset(struct dlz_example_data *state, const char *name, name = absolute; } - result = add_name(state, list, name, type, - strtoul(ttlstr, NULL, 10), data); + result = add_name(state, list, name, type, strtoul(ttlstr, NULL, 10), + data); free(buf); return (result); - error: +error: free(buf); return (ISC_R_FAILURE); } - isc_result_t -dlz_addrdataset(const char *name, const char *rdatastr, - void *dbdata, void *version) +dlz_addrdataset(const char *name, const char *rdatastr, void *dbdata, + void *version) { struct dlz_example_data *state = (struct dlz_example_data *)dbdata; - if (version != (void *) &state->transaction_started) + if (version != (void *)&state->transaction_started) return (ISC_R_FAILURE); loginfo("dlz_example: adding rdataset %s '%s'", name, rdatastr); @@ -786,12 +781,12 @@ dlz_addrdataset(const char *name, const char *rdatastr, } isc_result_t -dlz_subrdataset(const char *name, const char *rdatastr, - void *dbdata, void *version) +dlz_subrdataset(const char *name, const char *rdatastr, void *dbdata, + void *version) { struct dlz_example_data *state = (struct dlz_example_data *)dbdata; - if (version != (void *) &state->transaction_started) + if (version != (void *)&state->transaction_started) return (ISC_R_FAILURE); loginfo("dlz_example: subtracting rdataset %s '%s'", name, rdatastr); @@ -800,12 +795,11 @@ dlz_subrdataset(const char *name, const char *rdatastr, } isc_result_t -dlz_delrdataset(const char *name, const char *type, - void *dbdata, void *version) +dlz_delrdataset(const char *name, const char *type, void *dbdata, void *version) { struct dlz_example_data *state = (struct dlz_example_data *)dbdata; - if (version != (void *) &state->transaction_started) + if (version != (void *)&state->transaction_started) return (ISC_R_FAILURE); loginfo("dlz_example: deleting rdataset %s of type %s", name, type); diff --git a/bin/tests/system/dlzexternal/driver.h b/bin/tests/system/dlzexternal/driver.h index 7a0ec612cd..d603151bbe 100644 --- a/bin/tests/system/dlzexternal/driver.h +++ b/bin/tests/system/dlzexternal/driver.h @@ -9,22 +9,25 @@ * information regarding copyright ownership. */ +#pragma once + +#include /* * This header includes the declarations of entry points. */ -dlz_dlopen_version_t dlz_version; -dlz_dlopen_create_t dlz_create; -dlz_dlopen_destroy_t dlz_destroy; -dlz_dlopen_findzonedb_t dlz_findzonedb; -dlz_dlopen_lookup_t dlz_lookup; +dlz_dlopen_version_t dlz_version; +dlz_dlopen_create_t dlz_create; +dlz_dlopen_destroy_t dlz_destroy; +dlz_dlopen_findzonedb_t dlz_findzonedb; +dlz_dlopen_lookup_t dlz_lookup; dlz_dlopen_allowzonexfr_t dlz_allowzonexfr; -dlz_dlopen_allnodes_t dlz_allnodes; -dlz_dlopen_newversion_t dlz_newversion; +dlz_dlopen_allnodes_t dlz_allnodes; +dlz_dlopen_newversion_t dlz_newversion; dlz_dlopen_closeversion_t dlz_closeversion; -dlz_dlopen_configure_t dlz_configure; -dlz_dlopen_ssumatch_t dlz_ssumatch; -dlz_dlopen_addrdataset_t dlz_addrdataset; -dlz_dlopen_subrdataset_t dlz_subrdataset; -dlz_dlopen_delrdataset_t dlz_delrdataset; +dlz_dlopen_configure_t dlz_configure; +dlz_dlopen_ssumatch_t dlz_ssumatch; +dlz_dlopen_addrdataset_t dlz_addrdataset; +dlz_dlopen_subrdataset_t dlz_subrdataset; +dlz_dlopen_delrdataset_t dlz_delrdataset; diff --git a/bin/tests/system/dyndb/driver/db.c b/bin/tests/system/dyndb/driver/db.c index f5e5e645ed..48909e91e6 100644 --- a/bin/tests/system/dyndb/driver/db.c +++ b/bin/tests/system/dyndb/driver/db.c @@ -11,6 +11,8 @@ * Copyright (C) 2009-2015 Red Hat ; see COPYRIGHT for license */ +#include "db.h" + #include #include @@ -26,26 +28,25 @@ #include #include -#include "db.h" #include "instance.h" #include "syncptr.h" #include "util.h" -#define SAMPLEDB_MAGIC ISC_MAGIC('S', 'M', 'D', 'B') +#define SAMPLEDB_MAGIC ISC_MAGIC('S', 'M', 'D', 'B') #define VALID_SAMPLEDB(sampledb) \ ((sampledb) != NULL && (sampledb)->common.impmagic == SAMPLEDB_MAGIC) struct sampledb { - dns_db_t common; - isc_refcount_t refs; - sample_instance_t *inst; + dns_db_t common; + isc_refcount_t refs; + sample_instance_t *inst; /* * Internal RBT database implementation provided by BIND. * Most dns_db_* calls (find(), createiterator(), etc.) * are blindly forwarded to this RBT DB. */ - dns_db_t *rbtdb; + dns_db_t *rbtdb; }; typedef struct sampledb sampledb_t; @@ -60,13 +61,15 @@ typedef struct sampledb sampledb_t; * This should work as long as we use only RBTDB and nothing else. */ static isc_result_t -sample_name_fromnode(dns_dbnode_t *node, dns_name_t *name) { - dns_rbtnode_t *rbtnode = (dns_rbtnode_t *) node; +sample_name_fromnode(dns_dbnode_t *node, dns_name_t *name) +{ + dns_rbtnode_t *rbtnode = (dns_rbtnode_t *)node; return (dns_rbt_fullnamefromnode(rbtnode, name)); } static void -attach(dns_db_t *source, dns_db_t **targetp) { +attach(dns_db_t *source, dns_db_t **targetp) +{ sampledb_t *sampledb = (sampledb_t *)source; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -76,16 +79,19 @@ attach(dns_db_t *source, dns_db_t **targetp) { } static void -free_sampledb(sampledb_t *sampledb) { +free_sampledb(sampledb_t *sampledb) +{ REQUIRE(VALID_SAMPLEDB(sampledb)); dns_db_detach(&sampledb->rbtdb); dns_name_free(&sampledb->common.origin, sampledb->common.mctx); - isc_mem_putanddetach(&sampledb->common.mctx, sampledb, sizeof(*sampledb)); + isc_mem_putanddetach(&sampledb->common.mctx, sampledb, + sizeof(*sampledb)); } static void -detach(dns_db_t **dbp) { +detach(dns_db_t **dbp) +{ REQUIRE(dbp != NULL && VALID_SAMPLEDB((sampledb_t *)(*dbp))); sampledb_t *sampledb = (sampledb_t *)(*dbp); *dbp = NULL; @@ -101,7 +107,8 @@ detach(dns_db_t **dbp) { * loaded in the usual sense. */ static isc_result_t -beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { +beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) +{ UNUSED(db); UNUSED(callbacks); @@ -117,7 +124,8 @@ beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { * loaded in the usual sense. */ static isc_result_t -endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { +endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) +{ UNUSED(db); UNUSED(callbacks); @@ -128,8 +136,9 @@ endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { } static isc_result_t -serialize(dns_db_t *db, dns_dbversion_t *version, FILE *file) { - sampledb_t *sampledb = (sampledb_t *) db; +serialize(dns_db_t *db, dns_dbversion_t *version, FILE *file) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -140,7 +149,6 @@ static isc_result_t dump(dns_db_t *db, dns_dbversion_t *version, const char *filename, dns_masterformat_t masterformat) { - UNUSED(db); UNUSED(version); UNUSED(filename); @@ -153,7 +161,8 @@ dump(dns_db_t *db, dns_dbversion_t *version, const char *filename, } static void -currentversion(dns_db_t *db, dns_dbversion_t **versionp) { +currentversion(dns_db_t *db, dns_dbversion_t **versionp) +{ sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -162,7 +171,8 @@ currentversion(dns_db_t *db, dns_dbversion_t **versionp) { } static isc_result_t -newversion(dns_db_t *db, dns_dbversion_t **versionp) { +newversion(dns_db_t *db, dns_dbversion_t **versionp) +{ sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -171,8 +181,7 @@ newversion(dns_db_t *db, dns_dbversion_t **versionp) { } static void -attachversion(dns_db_t *db, dns_dbversion_t *source, - dns_dbversion_t **targetp) +attachversion(dns_db_t *db, dns_dbversion_t *source, dns_dbversion_t **targetp) { sampledb_t *sampledb = (sampledb_t *)db; @@ -182,7 +191,8 @@ attachversion(dns_db_t *db, dns_dbversion_t *source, } static void -closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { +closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) +{ sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -194,7 +204,7 @@ static isc_result_t findnode(dns_db_t *db, const dns_name_t *name, bool create, dns_dbnode_t **nodep) { - sampledb_t *sampledb = (sampledb_t *) db; + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -207,13 +217,12 @@ find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, dns_dbnode_t **nodep, dns_name_t *foundname, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - sampledb_t *sampledb = (sampledb_t *) db; + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); - return (dns_db_find(sampledb->rbtdb, name, version, type, - options, now, nodep, foundname, - rdataset, sigrdataset)); + return (dns_db_find(sampledb->rbtdb, name, version, type, options, now, + nodep, foundname, rdataset, sigrdataset)); } static isc_result_t @@ -222,28 +231,28 @@ findzonecut(dns_db_t *db, const dns_name_t *name, unsigned int options, dns_name_t *dcname, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - sampledb_t *sampledb = (sampledb_t *) db; + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); - return (dns_db_findzonecut(sampledb->rbtdb, name, options, - now, nodep, foundname, dcname, rdataset, - sigrdataset)); + return (dns_db_findzonecut(sampledb->rbtdb, name, options, now, nodep, + foundname, dcname, rdataset, sigrdataset)); } static void -attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) { - sampledb_t *sampledb = (sampledb_t *) db; +attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); dns_db_attachnode(sampledb->rbtdb, source, targetp); - } static void -detachnode(dns_db_t *db, dns_dbnode_t **targetp) { - sampledb_t *sampledb = (sampledb_t *) db; +detachnode(dns_db_t *db, dns_dbnode_t **targetp) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -251,8 +260,9 @@ detachnode(dns_db_t *db, dns_dbnode_t **targetp) { } static isc_result_t -expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) { - sampledb_t *sampledb = (sampledb_t *) db; +expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -260,8 +270,9 @@ expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) { } static void -printnode(dns_db_t *db, dns_dbnode_t *node, FILE *out) { - sampledb_t *sampledb = (sampledb_t *) db; +printnode(dns_db_t *db, dns_dbnode_t *node, FILE *out) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -269,10 +280,9 @@ printnode(dns_db_t *db, dns_dbnode_t *node, FILE *out) { } static isc_result_t -createiterator(dns_db_t *db, unsigned int options, - dns_dbiterator_t **iteratorp) +createiterator(dns_db_t *db, unsigned int options, dns_dbiterator_t **iteratorp) { - sampledb_t *sampledb = (sampledb_t *) db; + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -284,7 +294,7 @@ findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, dns_rdatatype_t type, dns_rdatatype_t covers, isc_stdtime_t now, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - sampledb_t *sampledb = (sampledb_t *) db; + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -296,12 +306,12 @@ static isc_result_t allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, isc_stdtime_t now, dns_rdatasetiter_t **iteratorp) { - sampledb_t *sampledb = (sampledb_t *) db; + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); - return (dns_db_allrdatasets(sampledb->rbtdb, node, version, - now, iteratorp)); + return (dns_db_allrdatasets(sampledb->rbtdb, node, version, now, + iteratorp)); } static isc_result_t @@ -309,15 +319,15 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, isc_stdtime_t now, dns_rdataset_t *rdataset, unsigned int options, dns_rdataset_t *addedrdataset) { - sampledb_t *sampledb = (sampledb_t *) db; - isc_result_t result; + sampledb_t * sampledb = (sampledb_t *)db; + isc_result_t result; dns_fixedname_t name; REQUIRE(VALID_SAMPLEDB(sampledb)); dns_fixedname_init(&name); - CHECK(dns_db_addrdataset(sampledb->rbtdb, node, version, now, - rdataset, options, addedrdataset)); + CHECK(dns_db_addrdataset(sampledb->rbtdb, node, version, now, rdataset, + options, addedrdataset)); if (rdataset->type == dns_rdatatype_a || rdataset->type == dns_rdatatype_aaaa) { CHECK(sample_name_fromnode(node, dns_fixedname_name(&name))); @@ -334,8 +344,8 @@ subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, dns_rdataset_t *rdataset, unsigned int options, dns_rdataset_t *newrdataset) { - sampledb_t *sampledb = (sampledb_t *) db; - isc_result_t result; + sampledb_t * sampledb = (sampledb_t *)db; + isc_result_t result; dns_fixedname_t name; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -365,17 +375,18 @@ static isc_result_t deleterdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, dns_rdatatype_t type, dns_rdatatype_t covers) { - sampledb_t *sampledb = (sampledb_t *) db; + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); - return (dns_db_deleterdataset(sampledb->rbtdb, node, version, - type, covers)); + return (dns_db_deleterdataset(sampledb->rbtdb, node, version, type, + covers)); } static bool -issecure(dns_db_t *db) { - sampledb_t *sampledb = (sampledb_t *) db; +issecure(dns_db_t *db) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -383,8 +394,9 @@ issecure(dns_db_t *db) { } static unsigned int -nodecount(dns_db_t *db) { - sampledb_t *sampledb = (sampledb_t *) db; +nodecount(dns_db_t *db) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -396,15 +408,17 @@ nodecount(dns_db_t *db) { * Always return true. */ static bool -ispersistent(dns_db_t *db) { +ispersistent(dns_db_t *db) +{ UNUSED(db); return (true); } static void -overmem(dns_db_t *db, bool over) { - sampledb_t *sampledb = (sampledb_t *) db; +overmem(dns_db_t *db, bool over) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -412,8 +426,9 @@ overmem(dns_db_t *db, bool over) { } static void -settask(dns_db_t *db, isc_task_t *task) { - sampledb_t *sampledb = (sampledb_t *) db; +settask(dns_db_t *db, isc_task_t *task) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -421,8 +436,9 @@ settask(dns_db_t *db, isc_task_t *task) { } static isc_result_t -getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) { - sampledb_t *sampledb = (sampledb_t *) db; +getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -430,36 +446,33 @@ getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) { } static void -transfernode(dns_db_t *db, dns_dbnode_t **sourcep, dns_dbnode_t **targetp) { - sampledb_t *sampledb = (sampledb_t *) db; +transfernode(dns_db_t *db, dns_dbnode_t **sourcep, dns_dbnode_t **targetp) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); dns_db_transfernode(sampledb->rbtdb, sourcep, targetp); - } static isc_result_t -getnsec3parameters(dns_db_t *db, dns_dbversion_t *version, - dns_hash_t *hash, uint8_t *flags, - uint16_t *iterations, - unsigned char *salt, size_t *salt_length) +getnsec3parameters(dns_db_t *db, dns_dbversion_t *version, dns_hash_t *hash, + uint8_t *flags, uint16_t *iterations, unsigned char *salt, + size_t *salt_length) { - sampledb_t *sampledb = (sampledb_t *) db; + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); - return (dns_db_getnsec3parameters(sampledb->rbtdb, version, - hash, flags, iterations, - salt, salt_length)); - + return (dns_db_getnsec3parameters(sampledb->rbtdb, version, hash, flags, + iterations, salt, salt_length)); } static isc_result_t findnsec3node(dns_db_t *db, const dns_name_t *name, bool create, dns_dbnode_t **nodep) { - sampledb_t *sampledb = (sampledb_t *) db; + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -467,8 +480,9 @@ findnsec3node(dns_db_t *db, const dns_name_t *name, bool create, } static isc_result_t -setsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, isc_stdtime_t resign) { - sampledb_t *sampledb = (sampledb_t *) db; +setsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, isc_stdtime_t resign) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -476,8 +490,9 @@ setsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, isc_stdtime_t resign) { } static isc_result_t -getsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, dns_name_t *name) { - sampledb_t *sampledb = (sampledb_t *) db; +getsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, dns_name_t *name) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -485,8 +500,9 @@ getsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, dns_name_t *name) { } static void -resigned(dns_db_t *db, dns_rdataset_t *rdataset, dns_dbversion_t *version) { - sampledb_t *sampledb = (sampledb_t *) db; +resigned(dns_db_t *db, dns_rdataset_t *rdataset, dns_dbversion_t *version) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -494,8 +510,9 @@ resigned(dns_db_t *db, dns_rdataset_t *rdataset, dns_dbversion_t *version) { } static bool -isdnssec(dns_db_t *db) { - sampledb_t *sampledb = (sampledb_t *) db; +isdnssec(dns_db_t *db) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -503,26 +520,26 @@ isdnssec(dns_db_t *db) { } static dns_stats_t * -getrrsetstats(dns_db_t *db) { - sampledb_t *sampledb = (sampledb_t *) db; +getrrsetstats(dns_db_t *db) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); return (dns_db_getrrsetstats(sampledb->rbtdb)); - } static isc_result_t -findnodeext(dns_db_t *db, const dns_name_t *name, - bool create, dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo, dns_dbnode_t **nodep) +findnodeext(dns_db_t *db, const dns_name_t *name, bool create, + dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, + dns_dbnode_t **nodep) { - sampledb_t *sampledb = (sampledb_t *) db; + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); - return (dns_db_findnodeext(sampledb->rbtdb, name, create, - methods, clientinfo, nodep)); + return (dns_db_findnodeext(sampledb->rbtdb, name, create, methods, + clientinfo, nodep)); } static isc_result_t @@ -532,18 +549,19 @@ findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - sampledb_t *sampledb = (sampledb_t *) db; + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); - return (dns_db_findext(sampledb->rbtdb, name, version, type, - options, now, nodep, foundname, methods, - clientinfo, rdataset, sigrdataset)); + return (dns_db_findext(sampledb->rbtdb, name, version, type, options, + now, nodep, foundname, methods, clientinfo, + rdataset, sigrdataset)); } static isc_result_t -setcachestats(dns_db_t *db, isc_stats_t *stats) { - sampledb_t *sampledb = (sampledb_t *) db; +setcachestats(dns_db_t *db, isc_stats_t *stats) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -551,8 +569,9 @@ setcachestats(dns_db_t *db, isc_stats_t *stats) { } static size_t -hashsize(dns_db_t *db) { - sampledb_t *sampledb = (sampledb_t *) db; +hashsize(dns_db_t *db) +{ + sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); @@ -601,17 +620,17 @@ static dns_dbmethods_t sampledb_methods = { resigned, isdnssec, getrrsetstats, - NULL, /* rpz_attach */ - NULL, /* rpz_ready */ + NULL, /* rpz_attach */ + NULL, /* rpz_ready */ findnodeext, findext, setcachestats, hashsize, - NULL, /* nodefullname */ - NULL, /* getsize */ - NULL, /* setservestalettl */ - NULL, /* getservestalettl */ - NULL /* setgluecachestats */ + NULL, /* nodefullname */ + NULL, /* getsize */ + NULL, /* setservestalettl */ + NULL, /* getservestalettl */ + NULL /* setgluecachestats */ }; /* Auxiliary driver functions. */ @@ -629,17 +648,17 @@ static isc_result_t add_soa(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, const dns_name_t *origin, const dns_name_t *contact) { - dns_dbnode_t *node = NULL; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_dbnode_t * node = NULL; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdatalist_t rdatalist; - dns_rdataset_t rdataset; - isc_result_t result; - unsigned char buf[DNS_SOA_BUFFERSIZE]; + dns_rdataset_t rdataset; + isc_result_t result; + unsigned char buf[DNS_SOA_BUFFERSIZE]; dns_rdataset_init(&rdataset); dns_rdatalist_init(&rdatalist); - CHECK(dns_soa_buildrdata(origin, contact, dns_db_class(db), - 0, 28800, 7200, 604800, 86400, buf, &rdata)); + CHECK(dns_soa_buildrdata(origin, contact, dns_db_class(db), 0, 28800, + 7200, 604800, 86400, buf, &rdata)); rdatalist.type = rdata.type; rdatalist.covers = 0; rdatalist.rdclass = rdata.rdclass; @@ -648,25 +667,24 @@ add_soa(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, CHECK(dns_rdatalist_tordataset(&rdatalist, &rdataset)); CHECK(dns_db_findnode(db, name, true, &node)); CHECK(dns_db_addrdataset(db, node, version, 0, &rdataset, 0, NULL)); - cleanup: +cleanup: if (node != NULL) dns_db_detachnode(db, &node); return (result); } - static isc_result_t add_ns(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, const dns_name_t *nsname) { - dns_dbnode_t *node = NULL; - dns_rdata_ns_t ns; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_dbnode_t * node = NULL; + dns_rdata_ns_t ns; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdatalist_t rdatalist; - dns_rdataset_t rdataset; - isc_result_t result; - isc_buffer_t b; - unsigned char buf[DNS_NAME_MAXWIRE]; + dns_rdataset_t rdataset; + isc_result_t result; + isc_buffer_t b; + unsigned char buf[DNS_NAME_MAXWIRE]; isc_buffer_init(&b, buf, sizeof(buf)); @@ -687,7 +705,7 @@ add_ns(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, CHECK(dns_rdatalist_tordataset(&rdatalist, &rdataset)); CHECK(dns_db_findnode(db, name, true, &node)); CHECK(dns_db_addrdataset(db, node, version, 0, &rdataset, 0, NULL)); - cleanup: +cleanup: if (node != NULL) dns_db_detachnode(db, &node); return (result); @@ -697,14 +715,14 @@ static isc_result_t add_a(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, struct in_addr addr) { - dns_dbnode_t *node = NULL; + dns_dbnode_t * node = NULL; dns_rdata_in_a_t a; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdatalist_t rdatalist; - dns_rdataset_t rdataset; - isc_result_t result; - isc_buffer_t b; - unsigned char buf[DNS_NAME_MAXWIRE]; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdatalist_t rdatalist; + dns_rdataset_t rdataset; + isc_result_t result; + isc_buffer_t b; + unsigned char buf[DNS_NAME_MAXWIRE]; isc_buffer_init(&b, buf, sizeof(buf)); @@ -723,7 +741,7 @@ add_a(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, CHECK(dns_rdatalist_tordataset(&rdatalist, &rdataset)); CHECK(dns_db_findnode(db, name, true, &node)); CHECK(dns_db_addrdataset(db, node, version, 0, &rdataset, 0, NULL)); - cleanup: +cleanup: if (node != NULL) dns_db_detachnode(db, &node); return (result); @@ -740,10 +758,10 @@ create_db(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, dns_rdataclass_t rdclass, unsigned int argc, char *argv[], void *driverarg, dns_db_t **dbp) { - sampledb_t *sampledb = NULL; - isc_result_t result; + sampledb_t * sampledb = NULL; + isc_result_t result; dns_dbversion_t *version = NULL; - struct in_addr a_addr; + struct in_addr a_addr; REQUIRE(type == dns_dbtype_zone); REQUIRE(rdclass == dns_rdataclass_in); diff --git a/bin/tests/system/dyndb/driver/db.h b/bin/tests/system/dyndb/driver/db.h index fc284d7738..85c15939ab 100644 --- a/bin/tests/system/dyndb/driver/db.h +++ b/bin/tests/system/dyndb/driver/db.h @@ -4,12 +4,17 @@ * Copyright (C) 2015 Red Hat ; see COPYRIGHT for license */ -#ifndef DB_H_ -#define DB_H_ +#pragma once + +#include +#include + +#include +#include +#include +#include isc_result_t create_db(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, dns_rdataclass_t rdclass, unsigned int argc, char *argv[], void *driverarg, dns_db_t **dbp); - -#endif /* DB_H_ */ diff --git a/bin/tests/system/dyndb/driver/driver.c b/bin/tests/system/dyndb/driver/driver.c index 27b8a8fc44..f890ac0edd 100644 --- a/bin/tests/system/dyndb/driver/driver.c +++ b/bin/tests/system/dyndb/driver/driver.c @@ -17,8 +17,8 @@ #include #include -#include #include +#include #include #include @@ -27,13 +27,13 @@ #include #include "db.h" -#include "log.h" #include "instance.h" +#include "log.h" #include "util.h" -dns_dyndb_destroy_t dyndb_destroy; +dns_dyndb_destroy_t dyndb_destroy; dns_dyndb_register_t dyndb_init; -dns_dyndb_version_t dyndb_version; +dns_dyndb_version_t dyndb_version; /* * Driver init is called for each dyndb section in named.conf @@ -57,13 +57,13 @@ dns_dyndb_version_t dyndb_version; */ isc_result_t dyndb_init(isc_mem_t *mctx, const char *name, const char *parameters, - const char *file, unsigned long line, - const dns_dyndbctx_t *dctx, void **instp) + const char *file, unsigned long line, const dns_dyndbctx_t *dctx, + void **instp) { - isc_result_t result; - unsigned int argc; - char **argv = NULL; - char *s = NULL; + isc_result_t result; + unsigned int argc; + char ** argv = NULL; + char * s = NULL; sample_instance_t *sample_inst = NULL; REQUIRE(name != NULL); @@ -91,13 +91,12 @@ dyndb_init(isc_mem_t *mctx, const char *name, const char *parameters, goto cleanup; } - log_write(ISC_LOG_DEBUG(9), - "loading params for dyndb '%s' from %s:%lu", + log_write(ISC_LOG_DEBUG(9), "loading params for dyndb '%s' from %s:%lu", name, file, line); /* Finally, create the instance. */ - result = new_sample_instance(mctx, name, argc, argv, dctx, - &sample_inst); + result = + new_sample_instance(mctx, name, argc, argv, dctx, &sample_inst); if (result != ISC_R_SUCCESS) { log_write(ISC_LOG_ERROR, "dyndb_init: new_sample_instance -> %s\n", @@ -119,7 +118,7 @@ dyndb_init(isc_mem_t *mctx, const char *name, const char *parameters, *instp = sample_inst; - cleanup: +cleanup: isc_mem_free(mctx, s); if (argv != NULL) isc_mem_put(mctx, argv, argc * sizeof(*argv)); @@ -134,7 +133,8 @@ dyndb_init(isc_mem_t *mctx, const char *name, const char *parameters, * @param[out] instp Pointer to instance-specific data (for one dyndb section). */ void -dyndb_destroy(void **instp) { +dyndb_destroy(void **instp) +{ destroy_sample_instance((sample_instance_t **)instp); } @@ -143,7 +143,8 @@ dyndb_destroy(void **instp) { * is no API mismatch betwen the driver and the caller. */ int -dyndb_version(unsigned int *flags) { +dyndb_version(unsigned int *flags) +{ UNUSED(flags); return (DNS_DYNDB_VERSION); diff --git a/bin/tests/system/dyndb/driver/instance.c b/bin/tests/system/dyndb/driver/instance.c index 962df342e2..347115c39c 100644 --- a/bin/tests/system/dyndb/driver/instance.c +++ b/bin/tests/system/dyndb/driver/instance.c @@ -8,6 +8,8 @@ * Copyright (C) 2008-2015 Red Hat ; see COPYRIGHT for license */ +#include "instance.h" + #include #include @@ -19,9 +21,8 @@ #include #include "db.h" -#include "util.h" -#include "instance.h" #include "log.h" +#include "util.h" #include "zone.h" /* @@ -34,11 +35,11 @@ * @param[out] z2 Zone name from argv[1] */ static isc_result_t -parse_params(isc_mem_t *mctx, int argc, char **argv, - dns_name_t *z1, dns_name_t *z2) +parse_params(isc_mem_t *mctx, int argc, char **argv, dns_name_t *z1, + dns_name_t *z2) { isc_result_t result; - int i; + int i; REQUIRE(argv != NULL); REQUIRE(z1 != NULL); @@ -58,15 +59,15 @@ parse_params(isc_mem_t *mctx, int argc, char **argv, result = dns_name_fromstring2(z1, argv[0], dns_rootname, 0, mctx); if (result != ISC_R_SUCCESS) { log_write(ISC_LOG_ERROR, - "parse_params: dns_name_fromstring2 -> %s", - isc_result_totext(result)); + "parse_params: dns_name_fromstring2 -> %s", + isc_result_totext(result)); goto cleanup; } result = dns_name_fromstring2(z2, argv[1], dns_rootname, 0, mctx); if (result != ISC_R_SUCCESS) { log_write(ISC_LOG_ERROR, - "parse_params: dns_name_fromstring2 -> %s", - isc_result_totext(result)); + "parse_params: dns_name_fromstring2 -> %s", + isc_result_totext(result)); goto cleanup; } @@ -81,11 +82,11 @@ cleanup: * load_sample_instance_zones() is called. */ isc_result_t -new_sample_instance(isc_mem_t *mctx, const char *db_name, - int argc, char **argv, const dns_dyndbctx_t *dctx, - sample_instance_t **sample_instp) +new_sample_instance(isc_mem_t *mctx, const char *db_name, int argc, char **argv, + const dns_dyndbctx_t *dctx, + sample_instance_t ** sample_instp) { - isc_result_t result; + isc_result_t result; sample_instance_t *inst = NULL; REQUIRE(sample_instp != NULL && *sample_instp == NULL); @@ -99,12 +100,12 @@ new_sample_instance(isc_mem_t *mctx, const char *db_name, inst->zone1_name = dns_fixedname_initname(&inst->zone1_fn); inst->zone2_name = dns_fixedname_initname(&inst->zone2_fn); - result = parse_params(mctx, argc, argv, - inst->zone1_name, inst->zone2_name); + result = parse_params(mctx, argc, argv, inst->zone1_name, + inst->zone2_name); if (result != ISC_R_SUCCESS) { log_write(ISC_LOG_ERROR, - "new_sample_instance: parse_params -> %s", - isc_result_totext(result)); + "new_sample_instance: parse_params -> %s", + isc_result_totext(result)); goto cleanup; } @@ -116,8 +117,8 @@ new_sample_instance(isc_mem_t *mctx, const char *db_name, result = dns_db_register(db_name, create_db, inst, mctx, &inst->db_imp); if (result != ISC_R_SUCCESS) { log_write(ISC_LOG_ERROR, - "new_sample_instance: dns_db_register -> %s", - isc_result_totext(result)); + "new_sample_instance: dns_db_register -> %s", + isc_result_totext(result)); goto cleanup; } @@ -135,36 +136,37 @@ cleanup: * and add them to inst->view. */ isc_result_t -load_sample_instance_zones(sample_instance_t *inst) { +load_sample_instance_zones(sample_instance_t *inst) +{ isc_result_t result; result = create_zone(inst, inst->zone1_name, &inst->zone1); if (result != ISC_R_SUCCESS) { log_write(ISC_LOG_ERROR, - "load_sample_instance_zones: create_zone -> %s", - isc_result_totext(result)); + "load_sample_instance_zones: create_zone -> %s", + isc_result_totext(result)); goto cleanup; } result = activate_zone(inst, inst->zone1); if (result != ISC_R_SUCCESS) { log_write(ISC_LOG_ERROR, - "load_sample_instance_zones: activate_zone -> %s", - isc_result_totext(result)); + "load_sample_instance_zones: activate_zone -> %s", + isc_result_totext(result)); goto cleanup; } result = create_zone(inst, inst->zone2_name, &inst->zone2); if (result != ISC_R_SUCCESS) { log_write(ISC_LOG_ERROR, - "load_sample_instance_zones: create_zone -> %s", - isc_result_totext(result)); + "load_sample_instance_zones: create_zone -> %s", + isc_result_totext(result)); goto cleanup; } result = activate_zone(inst, inst->zone2); if (result != ISC_R_SUCCESS) { log_write(ISC_LOG_ERROR, - "load_sample_instance_zones: activate_zone -> %s", - isc_result_totext(result)); + "load_sample_instance_zones: activate_zone -> %s", + isc_result_totext(result)); goto cleanup; } @@ -173,7 +175,8 @@ cleanup: } void -destroy_sample_instance(sample_instance_t **instp) { +destroy_sample_instance(sample_instance_t **instp) +{ sample_instance_t *inst; REQUIRE(instp != NULL); diff --git a/bin/tests/system/dyndb/driver/instance.h b/bin/tests/system/dyndb/driver/instance.h index 6658cbbcdc..8e36335c26 100644 --- a/bin/tests/system/dyndb/driver/instance.h +++ b/bin/tests/system/dyndb/driver/instance.h @@ -14,31 +14,31 @@ #include struct sample_instance { - isc_mem_t *mctx; - char *db_name; - dns_dbimplementation_t *db_imp; + isc_mem_t * mctx; + char * db_name; + dns_dbimplementation_t *db_imp; /* These are needed for zone creation. */ - dns_view_t *view; - dns_zonemgr_t *zmgr; - isc_task_t *task; - bool exiting; + dns_view_t * view; + dns_zonemgr_t *zmgr; + isc_task_t * task; + bool exiting; - dns_zone_t *zone1; - dns_fixedname_t zone1_fn; - dns_name_t *zone1_name; + dns_zone_t * zone1; + dns_fixedname_t zone1_fn; + dns_name_t * zone1_name; - dns_zone_t *zone2; - dns_fixedname_t zone2_fn; - dns_name_t *zone2_name; + dns_zone_t * zone2; + dns_fixedname_t zone2_fn; + dns_name_t * zone2_name; }; typedef struct sample_instance sample_instance_t; isc_result_t -new_sample_instance(isc_mem_t *mctx, const char *db_name, - int argc, char **argv, const dns_dyndbctx_t *dctx, - sample_instance_t **sample_instp); +new_sample_instance(isc_mem_t *mctx, const char *db_name, int argc, char **argv, + const dns_dyndbctx_t *dctx, + sample_instance_t ** sample_instp); isc_result_t load_sample_instance_zones(sample_instance_t *inst); diff --git a/bin/tests/system/dyndb/driver/lock.c b/bin/tests/system/dyndb/driver/lock.c index e77c8e39c9..6423805151 100644 --- a/bin/tests/system/dyndb/driver/lock.c +++ b/bin/tests/system/dyndb/driver/lock.c @@ -2,11 +2,11 @@ * Copyright (C) 2014-2015 Red Hat ; see COPYRIGHT for license */ +#include "lock.h" + #include #include -#include "lock.h" - /* * Lock BIND dispatcher and allow only single task to run. * @@ -24,11 +24,13 @@ * The pair (inst, state) used for run_exclusive_enter() has to be * used for run_exclusive_exit(). * - * @param[in] inst The instance with the only task which is allowed to run. + * @param[in] inst The instance with the only task which is allowed to + * run. * @param[in,out] statep Lock state: ISC_R_SUCCESS or ISC_R_LOCKBUSY */ void -run_exclusive_enter(sample_instance_t *inst, isc_result_t *statep) { +run_exclusive_enter(sample_instance_t *inst, isc_result_t *statep) +{ REQUIRE(statep != NULL); REQUIRE(*statep == ISC_R_IGNORE); @@ -43,7 +45,8 @@ run_exclusive_enter(sample_instance_t *inst, isc_result_t *statep) { * @param[in] state Lock state as returned by run_exclusive_enter(). */ void -run_exclusive_exit(sample_instance_t *inst, isc_result_t state) { +run_exclusive_exit(sample_instance_t *inst, isc_result_t state) +{ if (state == ISC_R_SUCCESS) isc_task_endexclusive(inst->task); else diff --git a/bin/tests/system/dyndb/driver/log.c b/bin/tests/system/dyndb/driver/log.c index f13ce141bc..8a0d6c4764 100644 --- a/bin/tests/system/dyndb/driver/log.c +++ b/bin/tests/system/dyndb/driver/log.c @@ -2,14 +2,15 @@ * Copyright (C) 2009-2015 Red Hat ; see COPYRIGHT for license */ +#include "log.h" + #include #include -#include "log.h" - void -log_write(int level, const char *format, ...) { +log_write(int level, const char *format, ...) +{ va_list args; va_start(args, format); diff --git a/bin/tests/system/dyndb/driver/log.h b/bin/tests/system/dyndb/driver/log.h index 27b38c87b8..1a73ea36ab 100644 --- a/bin/tests/system/dyndb/driver/log.h +++ b/bin/tests/system/dyndb/driver/log.h @@ -6,20 +6,18 @@ #define _LD_LOG_H_ #include + #include #include -#define fatal_error(...) \ - isc_error_fatal(__FILE__, __LINE__, __VA_ARGS__) +#define fatal_error(...) isc_error_fatal(__FILE__, __LINE__, __VA_ARGS__) #define log_error_r(fmt, ...) \ log_error(fmt ": %s", ##__VA_ARGS__, dns_result_totext(result)) -#define log_error(format, ...) \ - log_write(ISC_LOG_ERROR, format, ##__VA_ARGS__) +#define log_error(format, ...) log_write(ISC_LOG_ERROR, format, ##__VA_ARGS__) -#define log_info(format, ...) \ - log_write(ISC_LOG_INFO, format, ##__VA_ARGS__) +#define log_info(format, ...) log_write(ISC_LOG_INFO, format, ##__VA_ARGS__) void log_write(int level, const char *format, ...) ISC_FORMAT_PRINTF(2, 3); diff --git a/bin/tests/system/dyndb/driver/syncptr.c b/bin/tests/system/dyndb/driver/syncptr.c index 8833b13b20..d9ebccb3bf 100644 --- a/bin/tests/system/dyndb/driver/syncptr.c +++ b/bin/tests/system/dyndb/driver/syncptr.c @@ -4,6 +4,8 @@ * Copyright (C) 2009-2015 Red Hat ; see COPYRIGHT for license */ +#include "syncptr.h" + #include #include #include @@ -17,7 +19,6 @@ #include #include "instance.h" -#include "syncptr.h" #include "util.h" /* Almost random value. See eventclass.h */ @@ -29,12 +30,12 @@ typedef struct syncptrevent syncptrevent_t; struct syncptrevent { ISC_EVENT_COMMON(syncptrevent_t); - isc_mem_t *mctx; - dns_zone_t *zone; - dns_diff_t diff; + isc_mem_t * mctx; + dns_zone_t * zone; + dns_diff_t diff; dns_fixedname_t ptr_target_name; /* referenced by owner name in tuple */ - isc_buffer_t b; /* referenced by target name in tuple */ - unsigned char buf[DNS_NAME_MAXWIRE]; + isc_buffer_t b; /* referenced by target name in tuple */ + unsigned char buf[DNS_NAME_MAXWIRE]; }; /* @@ -45,11 +46,12 @@ struct syncptrevent { * */ static void -syncptr_write(isc_task_t *task, isc_event_t *event) { - syncptrevent_t *pevent = (syncptrevent_t *)event; +syncptr_write(isc_task_t *task, isc_event_t *event) +{ + syncptrevent_t * pevent = (syncptrevent_t *)event; dns_dbversion_t *version = NULL; - dns_db_t *db = NULL; - isc_result_t result; + dns_db_t * db = NULL; + isc_result_t result; REQUIRE(event->ev_type == SYNCPTR_WRITE_EVENT); @@ -105,12 +107,12 @@ cleanup: * does not exist or is not managed by this driver. */ static isc_result_t -syncptr_find_zone(sample_instance_t *inst, dns_rdata_t *rdata, - dns_name_t *name, dns_zone_t **zone) +syncptr_find_zone(sample_instance_t *inst, dns_rdata_t *rdata, dns_name_t *name, + dns_zone_t **zone) { - isc_result_t result; - isc_netaddr_t isc_ip; /* internal net address representation */ - dns_rdata_in_a_t ipv4; + isc_result_t result; + isc_netaddr_t isc_ip; /* internal net address representation */ + dns_rdata_in_a_t ipv4; dns_rdata_in_aaaa_t ipv6; REQUIRE(inst != NULL); @@ -160,8 +162,7 @@ syncptr_find_zone(sample_instance_t *inst, dns_rdata_t *rdata, /* Make sure that the zone is managed by this driver. */ if (*zone != inst->zone1 && *zone != inst->zone2) { dns_zone_detach(zone); - log_write(ISC_LOG_INFO, - "syncptr_find_zone: zone not managed"); + log_write(ISC_LOG_INFO, "syncptr_find_zone: zone not managed"); result = ISC_R_NOTFOUND; } @@ -192,27 +193,26 @@ cleanup: * memory allocation error, etc. */ static isc_result_t -syncptr(sample_instance_t *inst, dns_name_t *name, - dns_rdata_t *addr_rdata, dns_ttl_t ttl, dns_diffop_t op) +syncptr(sample_instance_t *inst, dns_name_t *name, dns_rdata_t *addr_rdata, + dns_ttl_t ttl, dns_diffop_t op) { - isc_result_t result; - isc_mem_t *mctx = inst->mctx; - dns_fixedname_t ptr_name; - dns_zone_t *ptr_zone = NULL; - dns_rdata_ptr_t ptr_struct; - dns_rdata_t ptr_rdata = DNS_RDATA_INIT; + isc_result_t result; + isc_mem_t * mctx = inst->mctx; + dns_fixedname_t ptr_name; + dns_zone_t * ptr_zone = NULL; + dns_rdata_ptr_t ptr_struct; + dns_rdata_t ptr_rdata = DNS_RDATA_INIT; dns_difftuple_t *tp = NULL; - isc_task_t *task = NULL; - syncptrevent_t *pevent = NULL; + isc_task_t * task = NULL; + syncptrevent_t * pevent = NULL; dns_fixedname_init(&ptr_name); DNS_RDATACOMMON_INIT(&ptr_struct, dns_rdatatype_ptr, dns_rdataclass_in); dns_name_init(&ptr_struct.ptr, NULL); - pevent = (syncptrevent_t *)isc_event_allocate(inst->mctx, inst, - SYNCPTR_WRITE_EVENT, - syncptr_write, NULL, - sizeof(syncptrevent_t)); + pevent = (syncptrevent_t *)isc_event_allocate( + inst->mctx, inst, SYNCPTR_WRITE_EVENT, syncptr_write, NULL, + sizeof(syncptrevent_t)); isc_buffer_init(&pevent->b, pevent->buf, sizeof(pevent->buf)); dns_fixedname_init(&pevent->ptr_target_name); @@ -283,14 +283,13 @@ cleanup: * the rdata */ isc_result_t -syncptrs(sample_instance_t *inst, dns_name_t *name, - dns_rdataset_t *rdataset, dns_diffop_t op) +syncptrs(sample_instance_t *inst, dns_name_t *name, dns_rdataset_t *rdataset, + dns_diffop_t op) { isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; - for (result = dns_rdataset_first(rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(rdataset)) { dns_rdataset_current(rdataset, &rdata); result = syncptr(inst, name, &rdata, rdataset->ttl, op); diff --git a/bin/tests/system/dyndb/driver/syncptr.h b/bin/tests/system/dyndb/driver/syncptr.h index 2f9b3a6eca..de96ca175f 100644 --- a/bin/tests/system/dyndb/driver/syncptr.h +++ b/bin/tests/system/dyndb/driver/syncptr.h @@ -4,12 +4,16 @@ * Copyright (C) 2014-2015 Red Hat ; see COPYRIGHT for license */ -#ifndef SYNCPTR_H_ -#define SYNCPTR_H_ +#pragma once + +#include #include +#include +#include + +#include "instance.h" + isc_result_t syncptrs(sample_instance_t *inst, dns_name_t *name, dns_rdataset_t *rdataset, dns_diffop_t op); - -#endif /* SYNCPTR_H_ */ diff --git a/bin/tests/system/dyndb/driver/util.h b/bin/tests/system/dyndb/driver/util.h index 2a00fe37a0..5bc3b5058b 100644 --- a/bin/tests/system/dyndb/driver/util.h +++ b/bin/tests/system/dyndb/driver/util.h @@ -8,50 +8,51 @@ #define _LD_UTIL_H_ #include + #include #include "log.h" -#define CLEANUP_WITH(result_code) \ - do { \ - result = (result_code); \ - goto cleanup; \ - } while(0) - -#define CHECK(op) \ - do { \ - result = (op); \ - if (result != ISC_R_SUCCESS) \ - goto cleanup; \ +#define CLEANUP_WITH(result_code) \ + do { \ + result = (result_code); \ + goto cleanup; \ } while (0) -#define CHECKED_MEM_GET(m, target_ptr, s) \ - do { \ - (target_ptr) = isc_mem_get((m), (s)); \ - if ((target_ptr) == NULL) { \ - result = ISC_R_NOMEMORY; \ - log_error("Memory allocation failed"); \ - goto cleanup; \ - } \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto cleanup; \ } while (0) -#define CHECKED_MEM_GET_PTR(m, target_ptr) \ +#define CHECKED_MEM_GET(m, target_ptr, s) \ + do { \ + (target_ptr) = isc_mem_get((m), (s)); \ + if ((target_ptr) == NULL) { \ + result = ISC_R_NOMEMORY; \ + log_error("Memory allocation failed"); \ + goto cleanup; \ + } \ + } while (0) + +#define CHECKED_MEM_GET_PTR(m, target_ptr) \ CHECKED_MEM_GET(m, target_ptr, sizeof(*(target_ptr))) -#define CHECKED_MEM_STRDUP(m, source, target) \ - do { \ - (target) = isc_mem_strdup((m), (source)); \ - if ((target) == NULL) { \ - result = ISC_R_NOMEMORY; \ - log_error("Memory allocation failed"); \ - goto cleanup; \ - } \ +#define CHECKED_MEM_STRDUP(m, source, target) \ + do { \ + (target) = isc_mem_strdup((m), (source)); \ + if ((target) == NULL) { \ + result = ISC_R_NOMEMORY; \ + log_error("Memory allocation failed"); \ + goto cleanup; \ + } \ } while (0) #define ZERO_PTR(ptr) memset((ptr), 0, sizeof(*(ptr))) -#define MEM_PUT_AND_DETACH(target_ptr) \ - isc_mem_putanddetach(&(target_ptr)->mctx, target_ptr, \ +#define MEM_PUT_AND_DETACH(target_ptr) \ + isc_mem_putanddetach(&(target_ptr)->mctx, target_ptr, \ sizeof(*(target_ptr))) #endif /* !_LD_UTIL_H_ */ diff --git a/bin/tests/system/dyndb/driver/zone.c b/bin/tests/system/dyndb/driver/zone.c index 07c56cb298..c714ea8cf7 100644 --- a/bin/tests/system/dyndb/driver/zone.c +++ b/bin/tests/system/dyndb/driver/zone.c @@ -4,6 +4,8 @@ * Copyright (C) 2009-2015 Red Hat ; see COPYRIGHT for license */ +#include "zone.h" + #include #include @@ -13,11 +15,10 @@ #include #include -#include "util.h" #include "instance.h" #include "lock.h" #include "log.h" -#include "zone.h" +#include "util.h" extern const char *impname; @@ -26,14 +27,14 @@ extern const char *impname; * until it is explicitly added to a view. */ isc_result_t -create_zone(sample_instance_t * const inst, dns_name_t * const name, - dns_zone_t ** const rawp) +create_zone(sample_instance_t *const inst, dns_name_t *const name, + dns_zone_t **const rawp) { isc_result_t result; - dns_zone_t *raw = NULL; - const char *zone_argv[1]; - char zone_name[DNS_NAME_FORMATSIZE]; - dns_acl_t *acl_any = NULL; + dns_zone_t * raw = NULL; + const char * zone_argv[1]; + char zone_name[DNS_NAME_FORMATSIZE]; + dns_acl_t * acl_any = NULL; REQUIRE(inst != NULL); REQUIRE(name != NULL); @@ -43,8 +44,7 @@ create_zone(sample_instance_t * const inst, dns_name_t * const name, result = dns_zone_create(&raw, inst->mctx); if (result != ISC_R_SUCCESS) { - log_write(ISC_LOG_ERROR, - "create_zone: dns_zone_create -> %s\n", + log_write(ISC_LOG_ERROR, "create_zone: dns_zone_create -> %s\n", isc_result_totext(result)); goto cleanup; } @@ -70,8 +70,7 @@ create_zone(sample_instance_t * const inst, dns_name_t * const name, /* This is completely insecure - use some sensible values instead! */ result = dns_acl_any(inst->mctx, &acl_any); if (result != ISC_R_SUCCESS) { - log_write(ISC_LOG_ERROR, - "create_zone: dns_acl_any -> %s\n", + log_write(ISC_LOG_ERROR, "create_zone: dns_acl_any -> %s\n", isc_result_totext(result)); goto cleanup; } @@ -103,11 +102,12 @@ cleanup: * to clients. */ static isc_result_t -publish_zone(sample_instance_t *inst, dns_zone_t *zone) { +publish_zone(sample_instance_t *inst, dns_zone_t *zone) +{ isc_result_t result; - bool freeze = false; - dns_zone_t *zone_in_view = NULL; - dns_view_t *view_in_zone = NULL; + bool freeze = false; + dns_zone_t * zone_in_view = NULL; + dns_view_t * view_in_zone = NULL; isc_result_t lock_state = ISC_R_IGNORE; REQUIRE(inst != NULL); @@ -175,14 +175,15 @@ cleanup: * on the secure zone! */ static isc_result_t -load_zone(dns_zone_t *zone) { +load_zone(dns_zone_t *zone) +{ isc_result_t result; - bool zone_dynamic; - uint32_t serial; + bool zone_dynamic; + uint32_t serial; result = dns_zone_load(zone, false); - if (result != ISC_R_SUCCESS && result != DNS_R_UPTODATE - && result != DNS_R_DYNAMIC && result != DNS_R_CONTINUE) + if (result != ISC_R_SUCCESS && result != DNS_R_UPTODATE && + result != DNS_R_DYNAMIC && result != DNS_R_CONTINUE) goto cleanup; zone_dynamic = (result == DNS_R_DYNAMIC); @@ -206,7 +207,8 @@ cleanup: * Add zone to view and call dns_zone_load(). */ isc_result_t -activate_zone(sample_instance_t *inst, dns_zone_t *raw) { +activate_zone(sample_instance_t *inst, dns_zone_t *raw) +{ isc_result_t result; /* @@ -216,16 +218,14 @@ activate_zone(sample_instance_t *inst, dns_zone_t *raw) { */ result = publish_zone(inst, raw); if (result != ISC_R_SUCCESS) { - dns_zone_log(raw, ISC_LOG_ERROR, - "cannot add zone to view: %s", + dns_zone_log(raw, ISC_LOG_ERROR, "cannot add zone to view: %s", dns_result_totext(result)); goto cleanup; } result = load_zone(raw); if (result != ISC_R_SUCCESS) { - log_write(ISC_LOG_ERROR, - "activate_zone: load_zone -> %s\n", + log_write(ISC_LOG_ERROR, "activate_zone: load_zone -> %s\n", isc_result_totext(result)); goto cleanup; } diff --git a/bin/tests/system/dyndb/driver/zone.h b/bin/tests/system/dyndb/driver/zone.h index a862691941..8a21c236f0 100644 --- a/bin/tests/system/dyndb/driver/zone.h +++ b/bin/tests/system/dyndb/driver/zone.h @@ -2,14 +2,17 @@ * Copyright (C) 2014-2015 Red Hat ; see COPYRIGHT for license */ -#ifndef ZONE_H_ -#define ZONE_H_ +#pragma once + +#include + +#include + +#include "instance.h" isc_result_t -create_zone(sample_instance_t * const inst, dns_name_t * const name, - dns_zone_t ** const rawp); +create_zone(sample_instance_t *const inst, dns_name_t *const name, + dns_zone_t **const rawp); isc_result_t activate_zone(sample_instance_t *inst, dns_zone_t *raw); - -#endif /* ZONE_H_ */ diff --git a/bin/tests/system/feature-test.c b/bin/tests/system/feature-test.c index 1c6486f802..38b1128492 100644 --- a/bin/tests/system/feature-test.c +++ b/bin/tests/system/feature-test.c @@ -9,14 +9,15 @@ * information regarding copyright ownership. */ -#include #include #include #include +#include +#include #include #include -#include + #include #ifdef WIN32 @@ -32,7 +33,8 @@ #endif static void -usage() { +usage() +{ fprintf(stderr, "usage: feature-test \n"); fprintf(stderr, "args:\n"); fprintf(stderr, " --edns-version\n"); @@ -49,7 +51,8 @@ usage() { } int -main(int argc, char **argv) { +main(int argc, char **argv) +{ if (argc != 2) { usage(); return (1); @@ -74,15 +77,15 @@ main(int argc, char **argv) { if (strcmp(argv[1], "--gethostname") == 0) { char hostname[MAXHOSTNAMELEN]; - int n; + int n; #ifdef WIN32 /* From InitSocket() */ - WORD wVersionRequested; + WORD wVersionRequested; WSADATA wsaData; - int err; + int err; wVersionRequested = MAKEWORD(2, 0); - err = WSAStartup( wVersionRequested, &wsaData ); + err = WSAStartup(wVersionRequested, &wsaData); if (err != 0) { fprintf(stderr, "WSAStartup() failed: %d\n", err); exit(1); @@ -92,7 +95,7 @@ main(int argc, char **argv) { n = gethostname(hostname, sizeof(hostname)); if (n == -1) { perror("gethostname"); - return(1); + return (1); } fprintf(stdout, "%s\n", hostname); #ifdef WIN32 @@ -161,9 +164,9 @@ main(int argc, char **argv) { #ifdef WIN32 return (0); #elif defined(IPPROTO_IPV6) && defined(IPV6_V6ONLY) - int s; - int n = -1; - int v6only = -1; + int s; + int n = -1; + int v6only = -1; socklen_t len = sizeof(v6only); s = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP); diff --git a/bin/tests/system/pipelined/pipequeries.c b/bin/tests/system/pipelined/pipequeries.c index 8af1b8985e..93f4674a15 100644 --- a/bin/tests/system/pipelined/pipequeries.c +++ b/bin/tests/system/pipelined/pipequeries.c @@ -32,46 +32,48 @@ #include #include +#include #include #include #include -#include -#include -#include - -#include #include +#include #include +#include #include +#include #include -#define CHECK(str, x) { \ - if ((x) != ISC_R_SUCCESS) { \ - fprintf(stderr, "I:%s: %s\n", (str), isc_result_totext(x)); \ - exit(-1); \ - } \ -} +#define CHECK(str, x) \ + { \ + if ((x) != ISC_R_SUCCESS) { \ + fprintf(stderr, "I:%s: %s\n", (str), \ + isc_result_totext(x)); \ + exit(-1); \ + } \ + } #define RUNCHECK(x) RUNTIME_CHECK((x) == ISC_R_SUCCESS) #define PORT 5300 #define TIMEOUT 30 -static isc_mem_t *mctx; +static isc_mem_t * mctx; static dns_requestmgr_t *requestmgr; -static bool have_src = false; -static isc_sockaddr_t srcaddr; -static isc_sockaddr_t dstaddr; -static int onfly; +static bool have_src = false; +static isc_sockaddr_t srcaddr; +static isc_sockaddr_t dstaddr; +static int onfly; static void -recvresponse(isc_task_t *task, isc_event_t *event) { +recvresponse(isc_task_t *task, isc_event_t *event) +{ dns_requestevent_t *reqev = (dns_requestevent_t *)event; - isc_result_t result; - dns_message_t *query, *response; - isc_buffer_t outbuf; - char output[1024]; + isc_result_t result; + dns_message_t * query, *response; + isc_buffer_t outbuf; + char output[1024]; UNUSED(task); @@ -97,7 +99,7 @@ recvresponse(isc_task_t *task, isc_event_t *event) { result = ISC_RESULTCLASS_DNSRCODE + response->rcode; fprintf(stderr, "I:response rcode: %s\n", isc_result_totext(result)); - exit(-1); + exit(-1); } if (response->counts[DNS_SECTION_ANSWER] != 1U) { fprintf(stderr, "I:response answer count (%u!=1)\n", @@ -105,10 +107,9 @@ recvresponse(isc_task_t *task, isc_event_t *event) { } isc_buffer_init(&outbuf, output, sizeof(output)); - result = dns_message_sectiontotext(response, DNS_SECTION_ANSWER, - &dns_master_style_simple, - DNS_MESSAGETEXTFLAG_NOCOMMENTS, - &outbuf); + result = dns_message_sectiontotext( + response, DNS_SECTION_ANSWER, &dns_master_style_simple, + DNS_MESSAGETEXTFLAG_NOCOMMENTS, &outbuf); CHECK("dns_message_sectiontotext", result); printf("%.*s", (int)isc_buffer_usedlength(&outbuf), (char *)isc_buffer_base(&outbuf)); @@ -125,16 +126,17 @@ recvresponse(isc_task_t *task, isc_event_t *event) { } static isc_result_t -sendquery(isc_task_t *task) { - dns_request_t *request; - dns_message_t *message; - dns_name_t *qname; +sendquery(isc_task_t *task) +{ + dns_request_t * request; + dns_message_t * message; + dns_name_t * qname; dns_rdataset_t *qrdataset; - isc_result_t result; + isc_result_t result; dns_fixedname_t queryname; - isc_buffer_t buf; - static char host[256]; - int c; + isc_buffer_t buf; + static char host[256]; + int c; c = scanf("%255s", host); if (c == EOF) @@ -174,20 +176,18 @@ sendquery(isc_task_t *task) { dns_message_addname(message, qname, DNS_SECTION_QUESTION); request = NULL; - result = dns_request_createvia(requestmgr, message, - have_src ? &srcaddr : NULL, &dstaddr, - -1, - DNS_REQUESTOPT_TCP | - DNS_REQUESTOPT_SHARE, - NULL, TIMEOUT, 0, 0, task, recvresponse, - message, &request); + result = dns_request_createvia( + requestmgr, message, have_src ? &srcaddr : NULL, &dstaddr, -1, + DNS_REQUESTOPT_TCP | DNS_REQUESTOPT_SHARE, NULL, TIMEOUT, 0, 0, + task, recvresponse, message, &request); CHECK("dns_request_create", result); return ISC_R_SUCCESS; } static void -sendqueries(isc_task_t *task, isc_event_t *event) { +sendqueries(isc_task_t *task, isc_event_t *event) +{ isc_result_t result; isc_event_free(&event); @@ -202,22 +202,23 @@ sendqueries(isc_task_t *task, isc_event_t *event) { } int -main(int argc, char *argv[]) { - isc_sockaddr_t bind_any; - struct in_addr inaddr; - isc_result_t result; - isc_log_t *lctx; - isc_logconfig_t *lcfg; - isc_taskmgr_t *taskmgr; - isc_task_t *task; - isc_timermgr_t *timermgr; - isc_socketmgr_t *socketmgr; +main(int argc, char *argv[]) +{ + isc_sockaddr_t bind_any; + struct in_addr inaddr; + isc_result_t result; + isc_log_t * lctx; + isc_logconfig_t * lcfg; + isc_taskmgr_t * taskmgr; + isc_task_t * task; + isc_timermgr_t * timermgr; + isc_socketmgr_t * socketmgr; dns_dispatchmgr_t *dispatchmgr; - unsigned int attrs, attrmask; - dns_dispatch_t *dispatchv4; - dns_view_t *view; - uint16_t port = PORT; - int c; + unsigned int attrs, attrmask; + dns_dispatch_t * dispatchv4; + dns_view_t * view; + uint16_t port = PORT; + int c; RUNCHECK(isc_app_start()); @@ -237,8 +238,8 @@ main(int argc, char *argv[]) { fprintf(stderr, "The -r option has been deprecated.\n"); break; case '?': - fprintf(stderr, "%s: invalid argument '%c'", - argv[0], c); + fprintf(stderr, "%s: invalid argument '%c'", argv[0], + c); break; default: break; @@ -288,22 +289,18 @@ main(int argc, char *argv[]) { dispatchmgr = NULL; RUNCHECK(dns_dispatchmgr_create(mctx, &dispatchmgr)); - attrs = DNS_DISPATCHATTR_UDP | - DNS_DISPATCHATTR_MAKEQUERY | + attrs = DNS_DISPATCHATTR_UDP | DNS_DISPATCHATTR_MAKEQUERY | DNS_DISPATCHATTR_IPV4; - attrmask = DNS_DISPATCHATTR_UDP | - DNS_DISPATCHATTR_TCP | - DNS_DISPATCHATTR_IPV4 | - DNS_DISPATCHATTR_IPV6; + attrmask = DNS_DISPATCHATTR_UDP | DNS_DISPATCHATTR_TCP | + DNS_DISPATCHATTR_IPV4 | DNS_DISPATCHATTR_IPV6; dispatchv4 = NULL; RUNCHECK(dns_dispatch_getudp(dispatchmgr, socketmgr, taskmgr, - have_src ? &srcaddr : &bind_any, - 4096, 4, 2, 3, 5, - attrs, attrmask, &dispatchv4)); + have_src ? &srcaddr : &bind_any, 4096, 4, + 2, 3, 5, attrs, attrmask, &dispatchv4)); requestmgr = NULL; RUNCHECK(dns_requestmgr_create(mctx, timermgr, socketmgr, taskmgr, - dispatchmgr, dispatchv4, NULL, - &requestmgr)); + dispatchmgr, dispatchv4, NULL, + &requestmgr)); view = NULL; RUNCHECK(dns_view_create(mctx, 0, "_test", &view)); @@ -337,4 +334,3 @@ main(int argc, char *argv[]) { return (0); } - diff --git a/bin/tests/system/rndc/gencheck.c b/bin/tests/system/rndc/gencheck.c index f058e51e55..6338a63512 100644 --- a/bin/tests/system/rndc/gencheck.c +++ b/bin/tests/system/rndc/gencheck.c @@ -9,27 +9,26 @@ * information regarding copyright ownership. */ -#include -#include -#include - -#include #include +#include +#include +#include #include #include +#include + #define USAGE "usage: gencheck \n" static int -check(const char *buf, ssize_t count, size_t *start) { +check(const char *buf, ssize_t count, size_t *start) +{ const char chars[] = "abcdefghijklmnopqrstuvwxyz0123456789"; - ssize_t i; + ssize_t i; - for (i = 0; - i < count; - i++, *start = (*start + 1) % (sizeof(chars) - 1)) - { + for (i = 0; i < count; + i++, *start = (*start + 1) % (sizeof(chars) - 1)) { /* Just ignore the trailing newline */ if (buf[i] == '\n') continue; @@ -43,12 +42,12 @@ check(const char *buf, ssize_t count, size_t *start) { int main(int argc, char **argv) { - int ret; - int fd; + int ret; + int fd; ssize_t count; - char buf[1024]; - size_t start; - size_t length; + char buf[1024]; + size_t start; + size_t length; ret = EXIT_FAILURE; fd = -1; @@ -76,7 +75,7 @@ main(int argc, char **argv) ret = EXIT_SUCCESS; - out: +out: printf("%lu\n", (unsigned long)length); if (fd != -1) diff --git a/bin/tests/system/rpz/dnsrps.c b/bin/tests/system/rpz/dnsrps.c index 634f2b2d70..1aa056a3e1 100644 --- a/bin/tests/system/rpz/dnsrps.c +++ b/bin/tests/system/rpz/dnsrps.c @@ -20,49 +20,51 @@ * -w sec.ond wait for seconds, because `sleep 0.1` is not portable */ -#include - #include +#include #include -#include -#include #include +#include +#include #include -#include -#include #include #include #include +#include +#include + #ifdef USE_DNSRPS #define LIBRPZ_LIB_OPEN DNSRPS_LIB_OPEN #include librpz_t *librpz; #else -typedef struct {char c[120];} librpz_emsg_t; +typedef struct { + char c[120]; +} librpz_emsg_t; #endif - -static bool link_dnsrps(librpz_emsg_t *emsg); - +static bool +link_dnsrps(librpz_emsg_t *emsg); #define USAGE "usage: [-ap] [-n domain] [-w sec.onds]\n" int -main(int argc, char **argv) { +main(int argc, char **argv) +{ #ifdef USE_DNSRPS - char cstr[sizeof("zone ")+1024+10]; - librpz_clist_t *clist; + char cstr[sizeof("zone ") + 1024 + 10]; + librpz_clist_t * clist; librpz_client_t *client; - librpz_rsp_t *rsp; - uint32_t serial; + librpz_rsp_t * rsp; + uint32_t serial; #endif - double seconds; + double seconds; librpz_emsg_t emsg; - char *p; - int i; + char * p; + int i; while ((i = getopt(argc, argv, "apn:w:")) != -1) { switch (i) { @@ -96,8 +98,8 @@ main(int argc, char **argv) { * Get the serial number of a policy zone from * a running dnsrpzd daemon. */ - clist = librpz->clist_create(&emsg, NULL, NULL, - NULL, NULL, NULL); + clist = librpz->clist_create(&emsg, NULL, NULL, NULL, + NULL, NULL); if (clist == NULL) { fprintf(stderr, "## %s: %s\n", optarg, emsg.c); return (1); @@ -107,16 +109,16 @@ main(int argc, char **argv) { " dnsrpzd-sock dnsrpzd.sock;" " dnsrpzd-rpzf dnsrpzd.rpzf", optarg); - client = librpz->client_create(&emsg, clist, - cstr, true); + client = + librpz->client_create(&emsg, clist, cstr, true); if (client == NULL) { fprintf(stderr, "## %s\n", emsg.c); return (1); } rsp = NULL; - if (!librpz->rsp_create(&emsg, &rsp, NULL, - client, true, false) || + if (!librpz->rsp_create(&emsg, &rsp, NULL, client, true, + false) || rsp == NULL) { fprintf(stderr, "## %s\n", emsg.c); librpz->client_detach(&client); @@ -143,7 +145,7 @@ main(int argc, char **argv) { fputs(USAGE, stderr); return (1); } - usleep((int)(seconds*1000.0*1000.0)); + usleep((int)(seconds * 1000.0 * 1000.0)); return (0); default: @@ -155,9 +157,9 @@ main(int argc, char **argv) { return (1); } - static bool -link_dnsrps(librpz_emsg_t *emsg) { +link_dnsrps(librpz_emsg_t *emsg) +{ #ifdef USE_DNSRPS librpz = librpz_lib_open(emsg, NULL, DNSRPS_LIBRPZ_PATH); if (librpz == NULL) diff --git a/bin/tests/system/rsabigexponent/bigkey.c b/bin/tests/system/rsabigexponent/bigkey.c index a1c4a01c4f..3e9a3ca56f 100644 --- a/bin/tests/system/rsabigexponent/bigkey.c +++ b/bin/tests/system/rsabigexponent/bigkey.c @@ -34,41 +34,44 @@ #include #include - +#include #include +#include #include #include -#include -#include -dst_key_t *key; -dns_fixedname_t fname; -dns_name_t *name; -unsigned int bits = 1024U; -isc_mem_t *mctx; -isc_log_t *log_; -isc_logconfig_t *logconfig; -int level = ISC_LOG_WARNING; +dst_key_t * key; +dns_fixedname_t fname; +dns_name_t * name; +unsigned int bits = 1024U; +isc_mem_t * mctx; +isc_log_t * log_; +isc_logconfig_t * logconfig; +int level = ISC_LOG_WARNING; isc_logdestination_t destination; -char filename[255]; -isc_result_t result; -isc_buffer_t buf; -RSA *rsa; -BIGNUM *e; -EVP_PKEY *pkey; +char filename[255]; +isc_result_t result; +isc_buffer_t buf; +RSA * rsa; +BIGNUM * e; +EVP_PKEY * pkey; -#define CHECK(op, msg) \ -do { result = (op); \ - if (result != ISC_R_SUCCESS) { \ - fprintf(stderr, \ - "fatal error: %s returns %s at file %s line %d\n", \ - msg, isc_result_totext(result), __FILE__, __LINE__); \ - exit(1); \ - } \ -} while (0) +#define CHECK(op, msg) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) { \ + fprintf(stderr, \ + "fatal error: %s returns %s at file %s line " \ + "%d\n", \ + msg, isc_result_totext(result), __FILE__, \ + __LINE__); \ + exit(1); \ + } \ + } while (0) int -main(int argc, char **argv) { +main(int argc, char **argv) +{ UNUSED(argc); UNUSED(argv); @@ -112,32 +115,32 @@ main(int argc, char **argv) { destination.file.name = NULL; destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.maximum_size = 0; - CHECK(isc_log_createchannel(logconfig, "stderr", - ISC_LOG_TOFILEDESC, - level, - &destination, + CHECK(isc_log_createchannel(logconfig, "stderr", ISC_LOG_TOFILEDESC, + level, &destination, ISC_LOG_PRINTTAG | ISC_LOG_PRINTLEVEL), "isc_log_createchannel()"); - CHECK(isc_log_usechannel(logconfig, "stderr", NULL, NULL), - "isc_log_usechannel()"); + CHECK(isc_log_usechannel(logconfig, "stderr", NULL, NULL), "isc_log_" + "usechannel(" + ")"); name = dns_fixedname_initname(&fname); isc_buffer_constinit(&buf, "example.", strlen("example.")); isc_buffer_add(&buf, strlen("example.")); - CHECK(dns_name_fromtext(name, &buf, dns_rootname, 0, NULL), - "dns_name_fromtext(\"example.\")"); + CHECK(dns_name_fromtext(name, &buf, dns_rootname, 0, NULL), "dns_name_" + "fromtext(" + "\"example." + "\")"); - CHECK(dst_key_buildinternal(name, DNS_KEYALG_RSASHA1, - bits, DNS_KEYOWNER_ZONE, - DNS_KEYPROTO_DNSSEC, dns_rdataclass_in, - pkey, mctx, &key), + CHECK(dst_key_buildinternal(name, DNS_KEYALG_RSASHA1, bits, + DNS_KEYOWNER_ZONE, DNS_KEYPROTO_DNSSEC, + dns_rdataclass_in, pkey, mctx, &key), "dst_key_buildinternal(...)"); CHECK(dst_key_tofile(key, DST_TYPE_PRIVATE | DST_TYPE_PUBLIC, NULL), "dst_key_tofile()"); isc_buffer_init(&buf, filename, sizeof(filename) - 1); isc_buffer_clear(&buf); - CHECK(dst_key_buildfilename(key, 0, NULL, &buf), - "dst_key_buildfilename()"); + CHECK(dst_key_buildfilename(key, 0, NULL, &buf), "dst_key_" + "buildfilename()"); printf("%s\n", filename); dst_key_free(&key); @@ -147,7 +150,7 @@ main(int argc, char **argv) { dst_lib_destroy(); isc_mem_destroy(&mctx); return (0); -#else /* !USE_PKCS11 */ +#else /* !USE_PKCS11 */ return (1); #endif /* !USE_PKC11 */ } diff --git a/bin/tests/system/tkey/keycreate.c b/bin/tests/system/tkey/keycreate.c index e8c8811655..45bdf9ff93 100644 --- a/bin/tests/system/tkey/keycreate.c +++ b/bin/tests/system/tkey/keycreate.c @@ -26,8 +26,6 @@ #include #include -#include - #include #include #include @@ -40,36 +38,40 @@ #include #include +#include -#define CHECK(str, x) { \ - if ((x) != ISC_R_SUCCESS) { \ - fprintf(stderr, "I:%s: %s\n", (str), isc_result_totext(x)); \ - exit(-1); \ - } \ -} +#define CHECK(str, x) \ + { \ + if ((x) != ISC_R_SUCCESS) { \ + fprintf(stderr, "I:%s: %s\n", (str), \ + isc_result_totext(x)); \ + exit(-1); \ + } \ + } #define RUNCHECK(x) RUNTIME_CHECK((x) == ISC_R_SUCCESS) #define PORT 5300 #define TIMEOUT 30 -static dst_key_t *ourkey; -static isc_mem_t *mctx; -static dns_tsigkey_t *tsigkey, *initialkey; +static dst_key_t * ourkey; +static isc_mem_t * mctx; +static dns_tsigkey_t * tsigkey, *initialkey; static dns_tsig_keyring_t *ring; -static unsigned char noncedata[16]; -static isc_buffer_t nonce; -static dns_requestmgr_t *requestmgr; -static const char *ownername_str = "."; +static unsigned char noncedata[16]; +static isc_buffer_t nonce; +static dns_requestmgr_t * requestmgr; +static const char * ownername_str = "."; static void -recvquery(isc_task_t *task, isc_event_t *event) { +recvquery(isc_task_t *task, isc_event_t *event) +{ dns_requestevent_t *reqev = (dns_requestevent_t *)event; - isc_result_t result; - dns_message_t *query, *response; - char keyname[256]; - isc_buffer_t keynamebuf; - int type; + isc_result_t result; + dns_message_t * query, *response; + char keyname[256]; + isc_buffer_t keynamebuf; + int type; UNUSED(task); @@ -95,7 +97,7 @@ recvquery(isc_task_t *task, isc_event_t *event) { result = ISC_RESULTCLASS_DNSRCODE + response->rcode; fprintf(stderr, "I:response rcode: %s\n", isc_result_totext(result)); - exit(-1); + exit(-1); } result = dns_tkey_processdhresponse(query, response, ourkey, &nonce, @@ -123,18 +125,19 @@ recvquery(isc_task_t *task, isc_event_t *event) { } static void -sendquery(isc_task_t *task, isc_event_t *event) { - struct in_addr inaddr; - isc_sockaddr_t address; - isc_region_t r; - isc_result_t result; +sendquery(isc_task_t *task, isc_event_t *event) +{ + struct in_addr inaddr; + isc_sockaddr_t address; + isc_region_t r; + isc_result_t result; dns_fixedname_t keyname; dns_fixedname_t ownername; - isc_buffer_t namestr, keybuf; - unsigned char keydata[9]; - dns_message_t *query; - dns_request_t *request; - static char keystr[] = "0123456789ab"; + isc_buffer_t namestr, keybuf; + unsigned char keydata[9]; + dns_message_t * query; + dns_request_t * request; + static char keystr[] = "0123456789ab"; isc_event_free(&event); @@ -146,8 +149,8 @@ sendquery(isc_task_t *task, isc_event_t *event) { dns_fixedname_init(&keyname); isc_buffer_constinit(&namestr, "tkeytest.", 9); isc_buffer_add(&namestr, 9); - result = dns_name_fromtext(dns_fixedname_name(&keyname), &namestr, - NULL, 0, NULL); + result = dns_name_fromtext(dns_fixedname_name(&keyname), &namestr, NULL, + 0, NULL); CHECK("dns_name_fromtext", result); dns_fixedname_init(&ownername); @@ -164,12 +167,10 @@ sendquery(isc_task_t *task, isc_event_t *event) { isc_buffer_usedregion(&keybuf, &r); initialkey = NULL; - result = dns_tsigkey_create(dns_fixedname_name(&keyname), - DNS_TSIG_HMACMD5_NAME, - isc_buffer_base(&keybuf), - isc_buffer_usedlength(&keybuf), - false, NULL, 0, 0, mctx, ring, - &initialkey); + result = dns_tsigkey_create( + dns_fixedname_name(&keyname), DNS_TSIG_HMACMD5_NAME, + isc_buffer_base(&keybuf), isc_buffer_usedlength(&keybuf), false, + NULL, 0, 0, mctx, ring, &initialkey); CHECK("dns_tsigkey_create", result); query = NULL; @@ -183,30 +184,30 @@ sendquery(isc_task_t *task, isc_event_t *event) { request = NULL; result = dns_request_create(requestmgr, query, &address, - DNS_REQUESTOPT_TCP, initialkey, - TIMEOUT, task, recvquery, query, - &request); + DNS_REQUESTOPT_TCP, initialkey, TIMEOUT, + task, recvquery, query, &request); CHECK("dns_request_create", result); } int -main(int argc, char *argv[]) { - char *ourkeyname; - isc_taskmgr_t *taskmgr; - isc_timermgr_t *timermgr; - isc_socketmgr_t *socketmgr; - isc_socket_t *sock; - unsigned int attrs, attrmask; - isc_sockaddr_t bind_any; +main(int argc, char *argv[]) +{ + char * ourkeyname; + isc_taskmgr_t * taskmgr; + isc_timermgr_t * timermgr; + isc_socketmgr_t * socketmgr; + isc_socket_t * sock; + unsigned int attrs, attrmask; + isc_sockaddr_t bind_any; dns_dispatchmgr_t *dispatchmgr; - dns_dispatch_t *dispatchv4; - dns_view_t *view; - dns_tkeyctx_t *tctx; - isc_log_t *log; - isc_logconfig_t *logconfig; - isc_task_t *task; - isc_result_t result; - int type; + dns_dispatch_t * dispatchv4; + dns_view_t * view; + dns_tkeyctx_t * tctx; + isc_log_t * log; + isc_logconfig_t * logconfig; + isc_task_t * task; + isc_result_t result; + int type; RUNCHECK(isc_app_start()); @@ -246,21 +247,18 @@ main(int argc, char *argv[]) { dispatchmgr = NULL; RUNCHECK(dns_dispatchmgr_create(mctx, &dispatchmgr)); isc_sockaddr_any(&bind_any); - attrs = DNS_DISPATCHATTR_UDP | - DNS_DISPATCHATTR_MAKEQUERY | + attrs = DNS_DISPATCHATTR_UDP | DNS_DISPATCHATTR_MAKEQUERY | DNS_DISPATCHATTR_IPV4; - attrmask = DNS_DISPATCHATTR_UDP | - DNS_DISPATCHATTR_TCP | - DNS_DISPATCHATTR_IPV4 | - DNS_DISPATCHATTR_IPV6; + attrmask = DNS_DISPATCHATTR_UDP | DNS_DISPATCHATTR_TCP | + DNS_DISPATCHATTR_IPV4 | DNS_DISPATCHATTR_IPV6; dispatchv4 = NULL; - RUNCHECK(dns_dispatch_getudp(dispatchmgr, socketmgr, taskmgr, - &bind_any, 4096, 4, 2, 3, 5, - attrs, attrmask, &dispatchv4)); + RUNCHECK(dns_dispatch_getudp(dispatchmgr, socketmgr, taskmgr, &bind_any, + 4096, 4, 2, 3, 5, attrs, attrmask, + &dispatchv4)); requestmgr = NULL; RUNCHECK(dns_requestmgr_create(mctx, timermgr, socketmgr, taskmgr, - dispatchmgr, dispatchv4, NULL, - &requestmgr)); + dispatchmgr, dispatchv4, NULL, + &requestmgr)); ring = NULL; RUNCHECK(dns_tsigkeyring_create(mctx, &ring)); diff --git a/bin/tests/system/tkey/keydelete.c b/bin/tests/system/tkey/keydelete.c index bc3a8d5539..b8031788db 100644 --- a/bin/tests/system/tkey/keydelete.c +++ b/bin/tests/system/tkey/keydelete.c @@ -25,8 +25,6 @@ #include #include -#include - #include #include #include @@ -39,29 +37,33 @@ #include #include +#include -#define CHECK(str, x) { \ - if ((x) != ISC_R_SUCCESS) { \ - fprintf(stderr, "I:%s: %s\n", (str), isc_result_totext(x)); \ - exit(-1); \ - } \ -} +#define CHECK(str, x) \ + { \ + if ((x) != ISC_R_SUCCESS) { \ + fprintf(stderr, "I:%s: %s\n", (str), \ + isc_result_totext(x)); \ + exit(-1); \ + } \ + } #define RUNCHECK(x) RUNTIME_CHECK((x) == ISC_R_SUCCESS) #define PORT 5300 #define TIMEOUT 30 -static isc_mem_t *mctx; -static dns_tsigkey_t *tsigkey; +static isc_mem_t * mctx; +static dns_tsigkey_t * tsigkey; static dns_tsig_keyring_t *ring; -static dns_requestmgr_t *requestmgr; +static dns_requestmgr_t * requestmgr; static void -recvquery(isc_task_t *task, isc_event_t *event) { +recvquery(isc_task_t *task, isc_event_t *event) +{ dns_requestevent_t *reqev = (dns_requestevent_t *)event; - isc_result_t result; - dns_message_t *query, *response; + isc_result_t result; + dns_message_t * query, *response; UNUSED(task); @@ -87,7 +89,7 @@ recvquery(isc_task_t *task, isc_event_t *event) { result = ISC_RESULTCLASS_DNSRCODE + response->rcode; fprintf(stderr, "I:response rcode: %s\n", isc_result_totext(result)); - exit(-1); + exit(-1); } result = dns_tkey_processdeleteresponse(query, response, ring); @@ -102,10 +104,11 @@ recvquery(isc_task_t *task, isc_event_t *event) { } static void -sendquery(isc_task_t *task, isc_event_t *event) { +sendquery(isc_task_t *task, isc_event_t *event) +{ struct in_addr inaddr; isc_sockaddr_t address; - isc_result_t result; + isc_result_t result; dns_message_t *query; dns_request_t *request; @@ -125,34 +128,34 @@ sendquery(isc_task_t *task, isc_event_t *event) { request = NULL; result = dns_request_create(requestmgr, query, &address, - DNS_REQUESTOPT_TCP, tsigkey, TIMEOUT, - task, recvquery, query, &request); + DNS_REQUESTOPT_TCP, tsigkey, TIMEOUT, task, + recvquery, query, &request); CHECK("dns_request_create", result); } int -main(int argc, char **argv) { - char *keyname; - isc_taskmgr_t *taskmgr; - isc_timermgr_t *timermgr; - isc_socketmgr_t *socketmgr; - isc_socket_t *sock; - unsigned int attrs, attrmask; - isc_sockaddr_t bind_any; +main(int argc, char **argv) +{ + char * keyname; + isc_taskmgr_t * taskmgr; + isc_timermgr_t * timermgr; + isc_socketmgr_t * socketmgr; + isc_socket_t * sock; + unsigned int attrs, attrmask; + isc_sockaddr_t bind_any; dns_dispatchmgr_t *dispatchmgr; - dns_dispatch_t *dispatchv4; - dns_view_t *view; - dns_tkeyctx_t *tctx; - dst_key_t *dstkey; - isc_log_t *log; - isc_logconfig_t *logconfig; - isc_task_t *task; - isc_result_t result; - int type; + dns_dispatch_t * dispatchv4; + dns_view_t * view; + dns_tkeyctx_t * tctx; + dst_key_t * dstkey; + isc_log_t * log; + isc_logconfig_t * logconfig; + isc_task_t * task; + isc_result_t result; + int type; RUNCHECK(isc_app_start()); - if (argc < 2) { fprintf(stderr, "I:no key to delete\n"); exit(-1); @@ -185,21 +188,18 @@ main(int argc, char **argv) { dispatchmgr = NULL; RUNCHECK(dns_dispatchmgr_create(mctx, &dispatchmgr)); isc_sockaddr_any(&bind_any); - attrs = DNS_DISPATCHATTR_UDP | - DNS_DISPATCHATTR_MAKEQUERY | + attrs = DNS_DISPATCHATTR_UDP | DNS_DISPATCHATTR_MAKEQUERY | DNS_DISPATCHATTR_IPV4; - attrmask = DNS_DISPATCHATTR_UDP | - DNS_DISPATCHATTR_TCP | - DNS_DISPATCHATTR_IPV4 | - DNS_DISPATCHATTR_IPV6; + attrmask = DNS_DISPATCHATTR_UDP | DNS_DISPATCHATTR_TCP | + DNS_DISPATCHATTR_IPV4 | DNS_DISPATCHATTR_IPV6; dispatchv4 = NULL; - RUNCHECK(dns_dispatch_getudp(dispatchmgr, socketmgr, taskmgr, - &bind_any, 4096, 4, 2, 3, 5, - attrs, attrmask, &dispatchv4)); + RUNCHECK(dns_dispatch_getudp(dispatchmgr, socketmgr, taskmgr, &bind_any, + 4096, 4, 2, 3, 5, attrs, attrmask, + &dispatchv4)); requestmgr = NULL; RUNCHECK(dns_requestmgr_create(mctx, timermgr, socketmgr, taskmgr, - dispatchmgr, dispatchv4, NULL, - &requestmgr)); + dispatchmgr, dispatchv4, NULL, + &requestmgr)); ring = NULL; RUNCHECK(dns_tsigkeyring_create(mctx, &ring)); @@ -221,9 +221,8 @@ main(int argc, char **argv) { result = dst_key_fromnamedfile(keyname, NULL, type, mctx, &dstkey); CHECK("dst_key_fromnamedfile", result); result = dns_tsigkey_createfromkey(dst_key_name(dstkey), - DNS_TSIG_HMACMD5_NAME, - dstkey, true, NULL, 0, 0, - mctx, ring, &tsigkey); + DNS_TSIG_HMACMD5_NAME, dstkey, true, + NULL, 0, 0, mctx, ring, &tsigkey); dst_key_free(&dstkey); CHECK("dns_tsigkey_createfromkey", result); diff --git a/bin/tests/wire_test.c b/bin/tests/wire_test.c index 963b503c28..ca8b600f48 100644 --- a/bin/tests/wire_test.c +++ b/bin/tests/wire_test.c @@ -24,10 +24,10 @@ #include #include -int parseflags = 0; +int parseflags = 0; isc_mem_t *mctx = NULL; -bool printmemstats = false; -bool dorender = false; +bool printmemstats = false; +bool dorender = false; static void process_message(isc_buffer_t *source); @@ -36,7 +36,8 @@ static isc_result_t printmessage(dns_message_t *msg); static inline void -CHECKRESULT(isc_result_t result, const char *msg) { +CHECKRESULT(isc_result_t result, const char *msg) +{ if (result != ISC_R_SUCCESS) { printf("%s: %s\n", msg, dns_result_totext(result)); @@ -45,7 +46,8 @@ CHECKRESULT(isc_result_t result, const char *msg) { } static int -fromhex(char c) { +fromhex(char c) +{ if (c >= '0' && c <= '9') return (c - '0'); else if (c >= 'a' && c <= 'f') @@ -59,7 +61,8 @@ fromhex(char c) { } static void -usage(void) { +usage(void) +{ fprintf(stderr, "wire_test [-b] [-d] [-p] [-r] [-s]\n"); fprintf(stderr, " [-m {usage|trace|record|size|mctx}]\n"); fprintf(stderr, " [filename]\n\n"); @@ -72,23 +75,24 @@ usage(void) { } static isc_result_t -printmessage(dns_message_t *msg) { +printmessage(dns_message_t *msg) +{ isc_buffer_t b; - char *buf = NULL; - int len = 1024; + char * buf = NULL; + int len = 1024; isc_result_t result = ISC_R_SUCCESS; do { buf = isc_mem_get(mctx, len); isc_buffer_init(&b, buf, len); - result = dns_message_totext(msg, &dns_master_style_debug, - 0, &b); + result = + dns_message_totext(msg, &dns_master_style_debug, 0, &b); if (result == ISC_R_NOSPACE) { isc_mem_put(mctx, buf, len); len *= 2; } else if (result == ISC_R_SUCCESS) - printf("%.*s\n", (int) isc_buffer_usedlength(&b), buf); + printf("%.*s\n", (int)isc_buffer_usedlength(&b), buf); } while (result == ISC_R_NOSPACE); if (buf != NULL) @@ -98,15 +102,16 @@ printmessage(dns_message_t *msg) { } int -main(int argc, char *argv[]) { +main(int argc, char *argv[]) +{ isc_buffer_t *input = NULL; - bool need_close = false; - bool tcp = false; - bool rawdata = false; - isc_result_t result; - uint8_t c; - FILE *f; - int ch; + bool need_close = false; + bool tcp = false; + bool rawdata = false; + isc_result_t result; + uint8_t c; + FILE * f; + int ch; #define CMDLINE_FLAGS "bdm:prst" /* @@ -136,29 +141,29 @@ main(int argc, char *argv[]) { while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) { switch (ch) { - case 'b': - parseflags |= DNS_MESSAGEPARSE_BESTEFFORT; - break; - case 'd': - rawdata = true; - break; - case 'm': - break; - case 'p': - parseflags |= DNS_MESSAGEPARSE_PRESERVEORDER; - break; - case 'r': - dorender = true; - break; - case 's': - printmemstats = true; - break; - case 't': - tcp = true; - break; - default: - usage(); - exit(1); + case 'b': + parseflags |= DNS_MESSAGEPARSE_BESTEFFORT; + break; + case 'd': + rawdata = true; + break; + case 'm': + break; + case 'p': + parseflags |= DNS_MESSAGEPARSE_PRESERVEORDER; + break; + case 'r': + dorender = true; + break; + case 's': + printmemstats = true; + break; + case 't': + tcp = true; + break; + default: + usage(); + exit(1); } } @@ -181,20 +186,20 @@ main(int argc, char *argv[]) { while (fread(&c, 1, 1, f) != 0) { result = isc_buffer_reserve(&input, 1); RUNTIME_CHECK(result == ISC_R_SUCCESS); - isc_buffer_putuint8(input, (uint8_t) c); + isc_buffer_putuint8(input, (uint8_t)c); } } else { char s[BUFSIZ]; while (fgets(s, sizeof(s), f) != NULL) { - char *rp = s, *wp = s; + char * rp = s, *wp = s; size_t i, len = 0; while (*rp != '\0') { if (*rp == '#') break; - if (*rp != ' ' && *rp != '\t' && - *rp != '\r' && *rp != '\n') { + if (*rp != ' ' && *rp != '\t' && *rp != '\r' && + *rp != '\n') { *wp++ = *rp; len++; } @@ -204,7 +209,7 @@ main(int argc, char *argv[]) { continue; if (len % 2 != 0U) { fprintf(stderr, "bad input format: %lu\n", - (unsigned long)len); + (unsigned long)len); exit(1); } @@ -215,7 +220,7 @@ main(int argc, char *argv[]) { c += fromhex(*rp++); result = isc_buffer_reserve(&input, 1); RUNTIME_CHECK(result == ISC_R_SUCCESS); - isc_buffer_putuint8(input, (uint8_t) c); + isc_buffer_putuint8(input, (uint8_t)c); } } } @@ -253,10 +258,11 @@ main(int argc, char *argv[]) { } static void -process_message(isc_buffer_t *source) { +process_message(isc_buffer_t *source) +{ dns_message_t *message; - isc_result_t result; - int i; + isc_result_t result; + int i; message = NULL; result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &message); @@ -274,8 +280,8 @@ process_message(isc_buffer_t *source) { isc_mem_stats(mctx, stdout); if (dorender) { - unsigned char b2[64 * 1024]; - isc_buffer_t buffer; + unsigned char b2[64 * 1024]; + isc_buffer_t buffer; dns_compress_t cctx; isc_buffer_init(&buffer, b2, sizeof(b2)); @@ -284,11 +290,11 @@ process_message(isc_buffer_t *source) { * XXXMLG * Changing this here is a hack, and should not be done in * reasonable application code, ever. - */ + */ message->from_to_wire = DNS_MESSAGE_INTENTRENDER; for (i = 0; i < DNS_SECTION_MAX; i++) - message->counts[i] = 0; /* Another hack XXX */ + message->counts[i] = 0; /* Another hack XXX */ result = dns_compress_init(&cctx, -1, mctx); CHECKRESULT(result, "dns_compress_init() failed"); @@ -298,23 +304,22 @@ process_message(isc_buffer_t *source) { result = dns_message_rendersection(message, DNS_SECTION_QUESTION, 0); - CHECKRESULT(result, - "dns_message_rendersection(QUESTION) failed"); + CHECKRESULT(result, "dns_message_rendersection(QUESTION) " + "failed"); - result = dns_message_rendersection(message, - DNS_SECTION_ANSWER, 0); - CHECKRESULT(result, - "dns_message_rendersection(ANSWER) failed"); + result = dns_message_rendersection(message, DNS_SECTION_ANSWER, + 0); + CHECKRESULT(result, "dns_message_rendersection(ANSWER) failed"); result = dns_message_rendersection(message, DNS_SECTION_AUTHORITY, 0); - CHECKRESULT(result, - "dns_message_rendersection(AUTHORITY) failed"); + CHECKRESULT(result, "dns_message_rendersection(AUTHORITY) " + "failed"); result = dns_message_rendersection(message, DNS_SECTION_ADDITIONAL, 0); - CHECKRESULT(result, - "dns_message_rendersection(ADDITIONAL) failed"); + CHECKRESULT(result, "dns_message_rendersection(ADDITIONAL) " + "failed"); dns_message_renderend(message); diff --git a/bin/tools/arpaname.c b/bin/tools/arpaname.c index 987be5e359..d93ecbf34e 100644 --- a/bin/tools/arpaname.c +++ b/bin/tools/arpaname.c @@ -9,17 +9,18 @@ * information regarding copyright ownership. */ +#include + #include #include -#include - #define UNUSED(x) (void)(x) int -main(int argc, char *argv[]) { +main(int argc, char *argv[]) +{ unsigned char buf[16]; - int i; + int i; UNUSED(argc); @@ -33,13 +34,13 @@ main(int argc, char *argv[]) { continue; } if (inet_pton(AF_INET, argv[1], buf) == 1) { - fprintf(stdout, "%u.%u.%u.%u.IN-ADDR.ARPA\n", - buf[3], buf[2], buf[1], buf[0]); + fprintf(stdout, "%u.%u.%u.%u.IN-ADDR.ARPA\n", buf[3], + buf[2], buf[1], buf[0]); argv++; continue; } return (1); } fflush(stdout); - return(ferror(stdout)); + return (ferror(stdout)); } diff --git a/bin/tools/dnstap-read.c b/bin/tools/dnstap-read.c index 4a6cca1d90..18262ee8da 100644 --- a/bin/tools/dnstap-read.c +++ b/bin/tools/dnstap-read.c @@ -46,32 +46,34 @@ #include #include -#include #include "lib/dns/dnstap.pb-c.h" +#include + isc_mem_t *mctx = NULL; -bool memrecord = false; -bool printmessage = false; -bool hexmessage = false; -bool yaml = false; +bool memrecord = false; +bool printmessage = false; +bool hexmessage = false; +bool yaml = false; const char *program = "dnstap-read"; -#define CHECKM(op, msg) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) { \ - fprintf(stderr, \ - "%s: %s: %s\n", program, msg, \ - isc_result_totext(result)); \ - goto cleanup; \ - } \ +#define CHECKM(op, msg) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) { \ + fprintf(stderr, "%s: %s: %s\n", program, msg, \ + isc_result_totext(result)); \ + goto cleanup; \ + } \ } while (0) ISC_PLATFORM_NORETURN_PRE static void fatal(const char *format, ...) ISC_PLATFORM_NORETURN_POST; static void -fatal(const char *format, ...) { +fatal(const char *format, ...) +{ va_list args; fprintf(stderr, "%s: fatal: ", program); @@ -83,7 +85,8 @@ fatal(const char *format, ...) { } static void -usage(void) { +usage(void) +{ fprintf(stderr, "dnstap-read [-mpxy] [filename]\n"); fprintf(stderr, "\t-m\ttrace memory allocations\n"); fprintf(stderr, "\t-p\tprint the full DNS message\n"); @@ -92,8 +95,9 @@ usage(void) { } static void -print_dtdata(dns_dtdata_t *dt) { - isc_result_t result; +print_dtdata(dns_dtdata_t *dt) +{ + isc_result_t result; isc_buffer_t *b = NULL; isc_buffer_allocate(mctx, &b, 2048); @@ -101,19 +105,20 @@ print_dtdata(dns_dtdata_t *dt) { fatal("out of memory"); CHECKM(dns_dt_datatotext(dt, &b), "dns_dt_datatotext"); - printf("%.*s\n", (int) isc_buffer_usedlength(b), - (char *) isc_buffer_base(b)); + printf("%.*s\n", (int)isc_buffer_usedlength(b), + (char *)isc_buffer_base(b)); - cleanup: +cleanup: if (b != NULL) isc_buffer_free(&b); } static void -print_hex(dns_dtdata_t *dt) { +print_hex(dns_dtdata_t *dt) +{ isc_buffer_t *b = NULL; - isc_result_t result; - size_t textlen; + isc_result_t result; + size_t textlen; if (dt->msg == NULL) { return; @@ -128,18 +133,19 @@ print_hex(dns_dtdata_t *dt) { result = isc_hex_totext(&dt->msgdata, 0, "", b); CHECKM(result, "isc_hex_totext"); - printf("%.*s\n", (int) isc_buffer_usedlength(b), - (char *) isc_buffer_base(b)); + printf("%.*s\n", (int)isc_buffer_usedlength(b), + (char *)isc_buffer_base(b)); - cleanup: +cleanup: if (b != NULL) isc_buffer_free(&b); } static void -print_packet(dns_dtdata_t *dt, const dns_master_style_t *style) { +print_packet(dns_dtdata_t *dt, const dns_master_style_t *style) +{ isc_buffer_t *b = NULL; - isc_result_t result; + isc_result_t result; if (dt->msg != NULL) { size_t textlen = 2048; @@ -159,9 +165,8 @@ print_packet(dns_dtdata_t *dt, const dns_master_style_t *style) { textlen *= 2; continue; } else if (result == ISC_R_SUCCESS) { - printf("%.*s", - (int) isc_buffer_usedlength(b), - (char *) isc_buffer_base(b)); + printf("%.*s", (int)isc_buffer_usedlength(b), + (char *)isc_buffer_base(b)); isc_buffer_free(&b); } else { isc_buffer_free(&b); @@ -171,21 +176,21 @@ print_packet(dns_dtdata_t *dt, const dns_master_style_t *style) { } } - cleanup: +cleanup: if (b != NULL) isc_buffer_free(&b); } static void -print_yaml(dns_dtdata_t *dt) { - Dnstap__Dnstap *frame = dt->frame; - Dnstap__Message *m = frame->message; +print_yaml(dns_dtdata_t *dt) +{ + Dnstap__Dnstap * frame = dt->frame; + Dnstap__Message * m = frame->message; const ProtobufCEnumValue *ftype, *mtype; - static bool first = true; + static bool first = true; ftype = protobuf_c_enum_descriptor_get_value( - &dnstap__dnstap__type__descriptor, - frame->type); + &dnstap__dnstap__type__descriptor, frame->type); if (ftype == NULL) return; @@ -197,11 +202,11 @@ print_yaml(dns_dtdata_t *dt) { printf("type: %s\n", ftype->name); if (frame->has_identity) - printf("identity: %.*s\n", (int) frame->identity.len, + printf("identity: %.*s\n", (int)frame->identity.len, frame->identity.data); if (frame->has_version) - printf("version: %.*s\n", (int) frame->version.len, + printf("version: %.*s\n", (int)frame->version.len, frame->version.data); if (frame->type != DNSTAP__DNSTAP__TYPE__MESSAGE) @@ -210,8 +215,7 @@ print_yaml(dns_dtdata_t *dt) { printf("message:\n"); mtype = protobuf_c_enum_descriptor_get_value( - &dnstap__message__type__descriptor, - m->type); + &dnstap__message__type__descriptor, m->type); if (mtype == NULL) return; @@ -230,7 +234,7 @@ print_yaml(dns_dtdata_t *dt) { } if (dt->msgdata.base != NULL) { - printf(" message_size: %zub\n", (size_t) dt->msgdata.length); + printf(" message_size: %zub\n", (size_t)dt->msgdata.length); } else printf(" message_size: 0b\n"); @@ -247,19 +251,19 @@ print_yaml(dns_dtdata_t *dt) { if (m->has_query_address) { ProtobufCBinaryData *ip = &m->query_address; - char buf[100]; + char buf[100]; - (void)inet_ntop(ip->len == 4 ? AF_INET : AF_INET6, - ip->data, buf, sizeof(buf)); + (void)inet_ntop(ip->len == 4 ? AF_INET : AF_INET6, ip->data, + buf, sizeof(buf)); printf(" query_address: %s\n", buf); } if (m->has_response_address) { ProtobufCBinaryData *ip = &m->response_address; - char buf[100]; + char buf[100]; - (void)inet_ntop(ip->len == 4 ? AF_INET : AF_INET6, - ip->data, buf, sizeof(buf)); + (void)inet_ntop(ip->len == 4 ? AF_INET : AF_INET6, ip->data, + buf, sizeof(buf)); printf(" response_address: %s\n", buf); } @@ -270,10 +274,10 @@ print_yaml(dns_dtdata_t *dt) { printf(" response_port: %u\n", m->response_port); if (m->has_query_zone) { - isc_result_t result; - dns_fixedname_t fn; - dns_name_t *name; - isc_buffer_t b; + isc_result_t result; + dns_fixedname_t fn; + dns_name_t * name; + isc_buffer_t b; dns_decompress_t dctx; name = dns_fixedname_initname(&fn); @@ -294,45 +298,46 @@ print_yaml(dns_dtdata_t *dt) { dt->msg->indent.count = 2; dt->msg->indent.string = " "; printf(" %s:\n", ((dt->type & DNS_DTTYPE_QUERY) != 0) - ? "query_message_data" - : "response_message_data"); + ? "query_message_data" + : "response_message_data"); print_packet(dt, &dns_master_style_yaml); printf(" %s: |\n", ((dt->type & DNS_DTTYPE_QUERY) != 0) - ? "query_message" - : "response_message"); + ? "query_message" + : "response_message"); print_packet(dt, &dns_master_style_indent); } }; int -main(int argc, char *argv[]) { - isc_result_t result; - dns_message_t *message = NULL; - isc_buffer_t *b = NULL; - dns_dtdata_t *dt = NULL; +main(int argc, char *argv[]) +{ + isc_result_t result; + dns_message_t * message = NULL; + isc_buffer_t * b = NULL; + dns_dtdata_t * dt = NULL; dns_dthandle_t *handle = NULL; - int rv = 0, ch; + int rv = 0, ch; while ((ch = isc_commandline_parse(argc, argv, "mpxy")) != -1) { switch (ch) { - case 'm': - isc_mem_debugging |= ISC_MEM_DEBUGRECORD; - memrecord = true; - break; - case 'p': - printmessage = true; - break; - case 'x': - hexmessage = true; - break; - case 'y': - yaml = true; - break; - default: - usage(); - exit(1); + case 'm': + isc_mem_debugging |= ISC_MEM_DEBUGRECORD; + memrecord = true; + break; + case 'p': + printmessage = true; + break; + case 'x': + hexmessage = true; + break; + case 'y': + yaml = true; + break; + default: + usage(); + exit(1); } } @@ -346,13 +351,14 @@ main(int argc, char *argv[]) { dns_result_register(); - CHECKM(dns_dt_open(argv[0], dns_dtmode_file, mctx, &handle), - "dns_dt_openfile"); + CHECKM(dns_dt_open(argv[0], dns_dtmode_file, mctx, &handle), "dns_dt_" + "openfil" + "e"); for (;;) { isc_region_t input; - uint8_t *data; - size_t datalen; + uint8_t * data; + size_t datalen; result = dns_dt_getframe(handle, &data, &datalen); if (result == ISC_R_NOMORE) @@ -390,7 +396,7 @@ main(int argc, char *argv[]) { dns_dtdata_free(&dt); } - cleanup: +cleanup: if (dt != NULL) dns_dtdata_free(&dt); if (handle != NULL) diff --git a/bin/tools/mdig.c b/bin/tools/mdig.c index c72aba65c1..7460884c75 100644 --- a/bin/tools/mdig.c +++ b/bin/tools/mdig.c @@ -35,42 +35,41 @@ #include #include +#include #include #include #include #include +#include #include #include -#include #include +#include #include +#include #include -#include -#include -#include -#include - +#include #include -#include - -#define CHECK(str, x) { \ - if ((x) != ISC_R_SUCCESS) { \ - fprintf(stderr, "mdig: %s failed with %s\n", \ - (str), isc_result_totext(x)); \ - exit(-1); \ - } \ -} +#define CHECK(str, x) \ + { \ + if ((x) != ISC_R_SUCCESS) { \ + fprintf(stderr, "mdig: %s failed with %s\n", (str), \ + isc_result_totext(x)); \ + exit(-1); \ + } \ + } #define RUNCHECK(x) RUNTIME_CHECK((x) == ISC_R_SUCCESS) -#define ADD_STRING(b, s) { \ - if (strlen(s) >= isc_buffer_availablelength(b)) \ - return (ISC_R_NOSPACE); \ - else \ - isc_buffer_putstr(b, s); \ -} +#define ADD_STRING(b, s) \ + { \ + if (strlen(s) >= isc_buffer_availablelength(b)) \ + return (ISC_R_NOSPACE); \ + else \ + isc_buffer_putstr(b, s); \ + } #define MXNAME (DNS_NAME_MAXTEXT + 1) #define COMMSIZE 0xffff @@ -82,64 +81,64 @@ #define UDPTIMEOUT 5 #define MAXTRIES 0xffffffff -static isc_mem_t *mctx; +static isc_mem_t * mctx; static dns_requestmgr_t *requestmgr; -static const char *batchname; -static FILE *batchfp; -static bool have_ipv4 = false; -static bool have_ipv6 = false; -static bool have_src = false; -static bool tcp_mode = false; -static bool besteffort = true; -static bool display_short_form = false; -static bool display_headers = true; -static bool display_comments = true; -static int display_rrcomments = 0; -static bool display_ttlunits = true; -static bool display_ttl = true; -static bool display_class = true; -static bool display_crypto = true; -static bool display_multiline = false; -static bool display_question = true; -static bool display_answer = true; -static bool display_authority = true; -static bool display_additional = true; -static bool display_unknown_format = false; -static bool yaml = false; -static bool continue_on_error = false; -static uint32_t display_splitwidth = 0xffffffff; -static isc_sockaddr_t srcaddr; -static char *server; -static isc_sockaddr_t dstaddr; -static in_port_t port = 53; -static isc_dscp_t dscp = -1; -static unsigned char cookie_secret[33]; -static int onfly = 0; -static char hexcookie[81]; +static const char * batchname; +static FILE * batchfp; +static bool have_ipv4 = false; +static bool have_ipv6 = false; +static bool have_src = false; +static bool tcp_mode = false; +static bool besteffort = true; +static bool display_short_form = false; +static bool display_headers = true; +static bool display_comments = true; +static int display_rrcomments = 0; +static bool display_ttlunits = true; +static bool display_ttl = true; +static bool display_class = true; +static bool display_crypto = true; +static bool display_multiline = false; +static bool display_question = true; +static bool display_answer = true; +static bool display_authority = true; +static bool display_additional = true; +static bool display_unknown_format = false; +static bool yaml = false; +static bool continue_on_error = false; +static uint32_t display_splitwidth = 0xffffffff; +static isc_sockaddr_t srcaddr; +static char * server; +static isc_sockaddr_t dstaddr; +static in_port_t port = 53; +static isc_dscp_t dscp = -1; +static unsigned char cookie_secret[33]; +static int onfly = 0; +static char hexcookie[81]; struct query { - char textname[MXNAME]; /*% Name we're going to be looking up */ - bool recurse; - bool have_aaonly; - bool have_adflag; - bool have_cdflag; - bool have_zflag; - bool dnssec; - bool expire; - bool send_cookie; + char textname[MXNAME]; /*% Name we're going to be looking up */ + bool recurse; + bool have_aaonly; + bool have_adflag; + bool have_cdflag; + bool have_zflag; + bool dnssec; + bool expire; + bool send_cookie; char *cookie; - bool nsid; - dns_rdatatype_t rdtype; + bool nsid; + dns_rdatatype_t rdtype; dns_rdataclass_t rdclass; - uint16_t udpsize; - int16_t edns; - dns_ednsopt_t *ednsopts; - unsigned int ednsoptscnt; - unsigned int ednsflags; - isc_sockaddr_t *ecs_addr; - unsigned int timeout; - unsigned int udptimeout; - unsigned int udpretries; + uint16_t udpsize; + int16_t edns; + dns_ednsopt_t * ednsopts; + unsigned int ednsoptscnt; + unsigned int ednsflags; + isc_sockaddr_t * ecs_addr; + unsigned int timeout; + unsigned int udptimeout; + unsigned int udpretries; ISC_LINK(struct query) link; }; static struct query default_query; @@ -147,44 +146,19 @@ static ISC_LIST(struct query) queries; #define EDNSOPTS 100U /*% opcode text */ -static const char * const opcodetext[] = { - "QUERY", - "IQUERY", - "STATUS", - "RESERVED3", - "NOTIFY", - "UPDATE", - "RESERVED6", - "RESERVED7", - "RESERVED8", - "RESERVED9", - "RESERVED10", - "RESERVED11", - "RESERVED12", - "RESERVED13", - "RESERVED14", - "RESERVED15" +static const char *const opcodetext[] = { + "QUERY", "IQUERY", "STATUS", "RESERVED3", + "NOTIFY", "UPDATE", "RESERVED6", "RESERVED7", + "RESERVED8", "RESERVED9", "RESERVED10", "RESERVED11", + "RESERVED12", "RESERVED13", "RESERVED14", "RESERVED15" }; /*% return code text */ -static const char * const rcodetext[] = { - "NOERROR", - "FORMERR", - "SERVFAIL", - "NXDOMAIN", - "NOTIMP", - "REFUSED", - "YXDOMAIN", - "YXRRSET", - "NXRRSET", - "NOTAUTH", - "NOTZONE", - "RESERVED11", - "RESERVED12", - "RESERVED13", - "RESERVED14", - "RESERVED15", - "BADVERS" +static const char *const rcodetext[] = { + "NOERROR", "FORMERR", "SERVFAIL", "NXDOMAIN", "NOTIMP", + "REFUSED", "YXDOMAIN", "YXRRSET", "NXRRSET", "NOTAUTH", + "NOTZONE", "RESERVED11", "RESERVED12", "RESERVED13", "RESERVED14", + "RESERVED15", "BADVERS" }; /*% safe rcodetext[] */ @@ -194,10 +168,10 @@ rcode_totext(dns_rcode_t rcode) static char buf[sizeof("?65535")]; union { const char *consttext; - char *deconsttext; + char * deconsttext; } totext; - if (rcode >= (sizeof(rcodetext)/sizeof(rcodetext[0]))) { + if (rcode >= (sizeof(rcodetext) / sizeof(rcodetext[0]))) { snprintf(buf, sizeof(buf), "?%u", rcode); totext.deconsttext = buf; } else @@ -207,15 +181,16 @@ rcode_totext(dns_rcode_t rcode) /* receive response event handler */ static void -recvresponse(isc_task_t *task, isc_event_t *event) { - dns_requestevent_t *reqev = (dns_requestevent_t *)event; - isc_result_t result; - dns_message_t *query = NULL, *response = NULL; - unsigned int parseflags = 0; - isc_buffer_t *msgbuf = NULL, *buf = NULL; - unsigned int len = OUTPUTBUF; - dns_master_style_t *style = NULL; - unsigned int styleflags = 0; +recvresponse(isc_task_t *task, isc_event_t *event) +{ + dns_requestevent_t * reqev = (dns_requestevent_t *)event; + isc_result_t result; + dns_message_t * query = NULL, *response = NULL; + unsigned int parseflags = 0; + isc_buffer_t * msgbuf = NULL, *buf = NULL; + unsigned int len = OUTPUTBUF; + dns_master_style_t * style = NULL; + unsigned int styleflags = 0; dns_messagetextflag_t flags; UNUSED(task); @@ -241,7 +216,6 @@ recvresponse(isc_task_t *task, isc_event_t *event) { parseflags |= DNS_MESSAGEPARSE_IGNORETRUNCATION; } - msgbuf = dns_request_getanswer(reqev->request); result = dns_request_getresponse(reqev->request, response, parseflags); CHECK("dns_request_getresponse", result); @@ -288,17 +262,17 @@ recvresponse(isc_task_t *task, isc_event_t *event) { } } if (display_multiline || (!display_ttl && !display_class)) - result = dns_master_stylecreate(&style, styleflags, - 24, 24, 24, 32, 80, 8, - display_splitwidth, mctx); + result = dns_master_stylecreate(&style, styleflags, 24, 24, 24, + 32, 80, 8, display_splitwidth, + mctx); else if (!display_ttl || !display_class) - result = dns_master_stylecreate(&style, styleflags, - 24, 24, 32, 40, 80, 8, - display_splitwidth, mctx); + result = dns_master_stylecreate(&style, styleflags, 24, 24, 32, + 40, 80, 8, display_splitwidth, + mctx); else - result = dns_master_stylecreate(&style, styleflags, - 24, 32, 40, 48, 80, 8, - display_splitwidth, mctx); + result = dns_master_stylecreate(&style, styleflags, 24, 32, 40, + 48, 80, 8, display_splitwidth, + mctx); CHECK("dns_master_stylecreate2", result); flags = 0; @@ -312,18 +286,17 @@ recvresponse(isc_task_t *task, isc_event_t *event) { isc_buffer_allocate(mctx, &buf, len); if (yaml) { - char sockstr[ISC_SOCKADDR_FORMATSIZE]; + char sockstr[ISC_SOCKADDR_FORMATSIZE]; uint16_t sport; - char *hash; - int pf; + char * hash; + int pf; printf("-\n"); printf(" type: MESSAGE\n"); printf(" message:\n"); if (((response->flags & DNS_MESSAGEFLAG_RD) != 0) && - ((response->flags & DNS_MESSAGEFLAG_RA) != 0)) - { + ((response->flags & DNS_MESSAGEFLAG_RA) != 0)) { printf(" type: RECURSIVE_RESPONSE\n"); } else { printf(" type: AUTH_RESPONSE\n"); @@ -371,8 +344,7 @@ recvresponse(isc_task_t *task, isc_event_t *event) { printf(";; ->>HEADER<<- opcode: %s, status: %s, " "id: %u\n", opcodetext[response->opcode], - rcode_totext(response->rcode), - response->id); + rcode_totext(response->rcode), response->id); printf(";; flags:"); if ((response->flags & DNS_MESSAGEFLAG_QR) != 0) printf(" qr"); @@ -408,11 +380,10 @@ recvresponse(isc_task_t *task, isc_event_t *event) { repopulate_buffer: if (display_comments && display_headers && !display_short_form) { - result = dns_message_pseudosectiontotext(response, - DNS_PSEUDOSECTION_OPT, - style, flags, buf); + result = dns_message_pseudosectiontotext( + response, DNS_PSEUDOSECTION_OPT, style, flags, buf); if (result == ISC_R_NOSPACE) { -buftoosmall: + buftoosmall: len += OUTPUTBUF; isc_buffer_free(&buf); isc_buffer_allocate(mctx, &buf, len); @@ -422,28 +393,26 @@ buftoosmall: } if (display_question && display_headers && !display_short_form) { - result = dns_message_sectiontotext(response, - DNS_SECTION_QUESTION, - style, flags, buf); + result = dns_message_sectiontotext( + response, DNS_SECTION_QUESTION, style, flags, buf); if (result == ISC_R_NOSPACE) goto buftoosmall; CHECK("dns_message_sectiontotext", result); } if (display_answer && !display_short_form) { - result = dns_message_sectiontotext(response, - DNS_SECTION_ANSWER, + result = dns_message_sectiontotext(response, DNS_SECTION_ANSWER, style, flags, buf); if (result == ISC_R_NOSPACE) goto buftoosmall; CHECK("dns_message_sectiontotext", result); } else if (display_answer) { - dns_name_t *name; + dns_name_t * name; dns_rdataset_t *rdataset; - isc_result_t loopresult; - dns_name_t empty_name; - dns_rdata_t rdata = DNS_RDATA_INIT; - unsigned int answerstyleflags = 0; + isc_result_t loopresult; + dns_name_t empty_name; + dns_rdata_t rdata = DNS_RDATA_INIT; + unsigned int answerstyleflags = 0; if (!display_crypto) answerstyleflags |= DNS_STYLEFLAG_NOCRYPTO; @@ -460,8 +429,7 @@ buftoosmall: break; CHECK("dns_message_nextname", result); name = NULL; - dns_message_currentname(response, - DNS_SECTION_ANSWER, + dns_message_currentname(response, DNS_SECTION_ANSWER, &name); for (rdataset = ISC_LIST_HEAD(name->list); @@ -471,15 +439,13 @@ buftoosmall: while (loopresult == ISC_R_SUCCESS) { dns_rdataset_current(rdataset, &rdata); result = dns_rdata_tofmttext( - &rdata, - NULL, - answerstyleflags, - 0, 60, " ", buf); + &rdata, NULL, answerstyleflags, + 0, 60, " ", buf); if (result == ISC_R_NOSPACE) goto buftoosmall; CHECK("dns_rdata_tofmttext", result); loopresult = - dns_rdataset_next(rdataset); + dns_rdataset_next(rdataset); dns_rdata_reset(&rdata); if (strlen("\n") >= isc_buffer_availablelength(buf)) @@ -493,47 +459,39 @@ buftoosmall: } if (display_authority && !display_short_form) { - result = dns_message_sectiontotext(response, - DNS_SECTION_AUTHORITY, - style, flags, buf); + result = dns_message_sectiontotext( + response, DNS_SECTION_AUTHORITY, style, flags, buf); if (result == ISC_R_NOSPACE) goto buftoosmall; CHECK("dns_message_sectiontotext", result); } if (display_additional && !display_short_form) { - result = dns_message_sectiontotext(response, - DNS_SECTION_ADDITIONAL, - style, flags, buf); + result = dns_message_sectiontotext( + response, DNS_SECTION_ADDITIONAL, style, flags, buf); if (result == ISC_R_NOSPACE) goto buftoosmall; CHECK("dns_message_sectiontotext", result); } - if (display_additional && !display_short_form && display_headers) { /* * Only print the signature on the first record. */ - result = - dns_message_pseudosectiontotext(response, - DNS_PSEUDOSECTION_TSIG, - style, flags, buf); + result = dns_message_pseudosectiontotext( + response, DNS_PSEUDOSECTION_TSIG, style, flags, buf); if (result == ISC_R_NOSPACE) goto buftoosmall; CHECK("dns_message_pseudosectiontotext", result); - result = - dns_message_pseudosectiontotext(response, - DNS_PSEUDOSECTION_SIG0, - style, flags, buf); + result = dns_message_pseudosectiontotext( + response, DNS_PSEUDOSECTION_SIG0, style, flags, buf); if (result == ISC_R_NOSPACE) goto buftoosmall; CHECK("dns_message_pseudosectiontotext", result); } - if (display_headers && display_comments && - !display_short_form && !yaml) - { + if (display_headers && display_comments && !display_short_form && + !yaml) { printf("\n"); } @@ -563,11 +521,11 @@ cleanup: * (e.g., NSID, COOKIE, client-subnet) */ static void -add_opt(dns_message_t *msg, uint16_t udpsize, uint16_t edns, - unsigned int flags, dns_ednsopt_t *opts, size_t count) +add_opt(dns_message_t *msg, uint16_t udpsize, uint16_t edns, unsigned int flags, + dns_ednsopt_t *opts, size_t count) { dns_rdataset_t *rdataset = NULL; - isc_result_t result; + isc_result_t result; result = dns_message_buildopt(msg, &rdataset, edns, udpsize, flags, opts, count); @@ -577,22 +535,24 @@ add_opt(dns_message_t *msg, uint16_t udpsize, uint16_t edns, } static void -compute_cookie(unsigned char *cookie, size_t len) { +compute_cookie(unsigned char *cookie, size_t len) +{ /* XXXMPA need to fix, should be per server. */ INSIST(len >= 8U); memmove(cookie, cookie_secret, 8); } static isc_result_t -sendquery(struct query *query, isc_task_t *task) { - dns_request_t *request; - dns_message_t *message; - dns_name_t *qname; +sendquery(struct query *query, isc_task_t *task) +{ + dns_request_t * request; + dns_message_t * message; + dns_name_t * qname; dns_rdataset_t *qrdataset; - isc_result_t result; + isc_result_t result; dns_fixedname_t queryname; - isc_buffer_t buf; - unsigned int options; + isc_buffer_t buf; + unsigned int options; onfly++; @@ -631,18 +591,16 @@ sendquery(struct query *query, isc_task_t *task) { dns_name_init(qname, NULL); dns_name_clone(dns_fixedname_name(&queryname), qname); - dns_rdataset_makequestion(qrdataset, query->rdclass, - query->rdtype); + dns_rdataset_makequestion(qrdataset, query->rdclass, query->rdtype); ISC_LIST_APPEND(qname->list, qrdataset, link); dns_message_addname(message, qname, DNS_SECTION_QUESTION); - if (query->udpsize > 0 || query->dnssec || - query->edns > -1 || query->ecs_addr != NULL) - { + if (query->udpsize > 0 || query->dnssec || query->edns > -1 || + query->ecs_addr != NULL) { dns_ednsopt_t opts[EDNSOPTS + DNS_EDNSOPTIONS]; - unsigned int flags; - int i = 0; - char ecsbuf[20]; + unsigned int flags; + int i = 0; + char ecsbuf[20]; unsigned char cookie[40]; if (query->udpsize == 0) @@ -659,13 +617,13 @@ sendquery(struct query *query, isc_task_t *task) { } if (query->ecs_addr != NULL) { - uint8_t addr[16], family; - uint32_t plen; - struct sockaddr *sa; - struct sockaddr_in *sin; + uint8_t addr[16], family; + uint32_t plen; + struct sockaddr * sa; + struct sockaddr_in * sin; struct sockaddr_in6 *sin6; - size_t addrl; - isc_buffer_t b; + size_t addrl; + isc_buffer_t b; sa = &query->ecs_addr->type.sa; plen = query->ecs_addr->length; @@ -675,19 +633,19 @@ sendquery(struct query *query, isc_task_t *task) { INSIST(i < DNS_EDNSOPTIONS); opts[i].code = DNS_OPT_CLIENT_SUBNET; - opts[i].length = (uint16_t) addrl + 4; + opts[i].length = (uint16_t)addrl + 4; CHECK("isc_buffer_allocate", result); isc_buffer_init(&b, ecsbuf, sizeof(ecsbuf)); if (sa->sa_family == AF_INET) { family = 1; - sin = (struct sockaddr_in *) sa; + sin = (struct sockaddr_in *)sa; memmove(addr, &sin->sin_addr, 4); if ((plen % 8) != 0) - addr[addrl-1] &= - ~0U << (8 - (plen % 8)); + addr[addrl - 1] &= ~0U + << (8 - (plen % 8)); } else { family = 2; - sin6 = (struct sockaddr_in6 *) sa; + sin6 = (struct sockaddr_in6 *)sa; memmove(addr, &sin6->sin6_addr, 16); } @@ -703,10 +661,9 @@ sendquery(struct query *query, isc_task_t *task) { isc_buffer_putuint8(&b, 0); /* address */ if (addrl > 0) - isc_buffer_putmem(&b, addr, - (unsigned)addrl); + isc_buffer_putmem(&b, addr, (unsigned)addrl); - opts[i].value = (uint8_t *) ecsbuf; + opts[i].value = (uint8_t *)ecsbuf; i++; } @@ -717,8 +674,8 @@ sendquery(struct query *query, isc_task_t *task) { isc_buffer_t b; isc_buffer_init(&b, cookie, sizeof(cookie)); - result = isc_hex_decodestring(query->cookie, - &b); + result = + isc_hex_decodestring(query->cookie, &b); CHECK("isc_hex_decodestring", result); opts[i].value = isc_buffer_base(&b); opts[i].length = isc_buffer_usedlength(&b); @@ -755,19 +712,18 @@ sendquery(struct query *query, isc_task_t *task) { if (tcp_mode) options |= DNS_REQUESTOPT_TCP | DNS_REQUESTOPT_SHARE; request = NULL; - result = dns_request_createvia(requestmgr, message, - have_src ? &srcaddr : NULL, &dstaddr, - dscp, options, NULL, - query->timeout, query->udptimeout, - query->udpretries, task, - recvresponse, message, &request); + result = dns_request_createvia( + requestmgr, message, have_src ? &srcaddr : NULL, &dstaddr, dscp, + options, NULL, query->timeout, query->udptimeout, + query->udpretries, task, recvresponse, message, &request); CHECK("dns_request_createvia4", result); return ISC_R_SUCCESS; } static void -sendqueries(isc_task_t *task, isc_event_t *event) { +sendqueries(isc_task_t *task, isc_event_t *event) +{ struct query *query = (struct query *)event->ev_arg; isc_event_free(&event); @@ -788,7 +744,8 @@ ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { +usage(void) +{ fputs("Usage: mdig @server {global-opt} host\n" " {local-opt} [ host {local-opt} [...]]\n", stderr); @@ -800,76 +757,109 @@ usage(void) { /*% help */ static void -help(void) { +help(void) +{ fputs("Usage: mdig @server {global-opt} host\n" " {local-opt} [ host {local-opt} [...]]\n", stdout); - fputs( -"Where:\n" -" anywhere opt is one of:\n" -" -f filename (batch mode)\n" -" -h (print help and exit)\n" -" -v (print version and exit)\n" -" global opt is one of:\n" -" -4 (use IPv4 query transport only)\n" -" -6 (use IPv6 query transport only)\n" -" -b address[#port] (bind to source address/port)\n" -" -p port (specify port number)\n" -" -m (enable memory usage debugging)\n" -" +[no]dscp[=###] (Set the DSCP value to ### [0..63])\n" -" +[no]vc (TCP mode)\n" -" +[no]tcp (TCP mode, alternate syntax)\n" -" +[no]besteffort (Try to parse even illegal messages)\n" -" +[no]cl (Control display of class in records)\n" -" +[no]comments (Control display of comment lines)\n" -" +[no]rrcomments (Control display of per-record " - "comments)\n" -" +[no]crypto (Control display of cryptographic " - "fields in records)\n" -" +[no]question (Control display of question)\n" -" +[no]answer (Control display of answer)\n" -" +[no]authority (Control display of authority)\n" -" +[no]additional (Control display of additional)\n" -" +[no]short (Disable everything except short\n" -" form of answer)\n" -" +[no]ttlid (Control display of ttls in records)\n" -" +[no]ttlunits (Display TTLs in human-readable units)\n" -" +[no]unknownformat (Print RDATA in RFC 3597 \"unknown\" format)\n" -" +[no]all (Set or clear all display flags)\n" -" +[no]multiline (Print records in an expanded format)\n" -" +[no]split=## (Split hex/base64 fields into chunks)\n" -" local opt is one of:\n" -" -c class (specify query class)\n" -" -t type (specify query type)\n" -" -x dot-notation (shortcut for reverse lookups)\n" -" +timeout=### (Set query timeout) [UDP=5,TCP=10]\n" -" +udptimeout=### (Set timeout before UDP retry)\n" -" +tries=### (Set number of UDP attempts) [3]\n" -" +retry=### (Set number of UDP retries) [2]\n" -" +bufsize=### (Set EDNS0 Max UDP packet size)\n" -" +subnet=addr (Set edns-client-subnet option)\n" -" +[no]edns[=###] (Set EDNS version) [0]\n" -" +ednsflags=### (Set EDNS flag bits)\n" -" +ednsopt=###[:value] (Send specified EDNS option)\n" -" +noednsopt (Clear list of +ednsopt options)\n" -" +[no]recurse (Recursive mode)\n" -" +[no]aaonly (Set AA flag in query (+[no]aaflag))\n" -" +[no]adflag (Set AD flag in query)\n" -" +[no]cdflag (Set CD flag in query)\n" -" +[no]zflag (Set Z flag in query)\n" -" +[no]dnssec (Request DNSSEC records)\n" -" +[no]expire (Request time to expire)\n" -" +[no]cookie[=###] (Send a COOKIE option)\n" -" +[no]nsid (Request Name Server ID)\n", - stdout); + fputs("Where:\n" + " anywhere opt is one of:\n" + " -f filename (batch mode)\n" + " -h (print help and exit)\n" + " -v (print version and exit)\n" + " global opt is one of:\n" + " -4 (use IPv4 query transport " + "only)\n" + " -6 (use IPv6 query transport " + "only)\n" + " -b address[#port] (bind to source " + "address/port)\n" + " -p port (specify port number)\n" + " -m (enable memory usage " + "debugging)\n" + " +[no]dscp[=###] (Set the DSCP value to ### " + "[0..63])\n" + " +[no]vc (TCP mode)\n" + " +[no]tcp (TCP mode, alternate " + "syntax)\n" + " +[no]besteffort (Try to parse even illegal " + "messages)\n" + " +[no]cl (Control display of class " + "in records)\n" + " +[no]comments (Control display of " + "comment lines)\n" + " +[no]rrcomments (Control display of " + "per-record " + "comments)\n" + " +[no]crypto (Control display of " + "cryptographic " + "fields in records)\n" + " +[no]question (Control display of " + "question)\n" + " +[no]answer (Control display of " + "answer)\n" + " +[no]authority (Control display of " + "authority)\n" + " +[no]additional (Control display of " + "additional)\n" + " +[no]short (Disable everything except " + "short\n" + " form of answer)\n" + " +[no]ttlid (Control display of ttls " + "in records)\n" + " +[no]ttlunits (Display TTLs in " + "human-readable units)\n" + " +[no]unknownformat (Print RDATA in RFC 3597 " + "\"unknown\" format)\n" + " +[no]all (Set or clear all display " + "flags)\n" + " +[no]multiline (Print records in an " + "expanded format)\n" + " +[no]split=## (Split hex/base64 fields " + "into chunks)\n" + " local opt is one of:\n" + " -c class (specify query class)\n" + " -t type (specify query type)\n" + " -x dot-notation (shortcut for reverse " + "lookups)\n" + " +timeout=### (Set query timeout) " + "[UDP=5,TCP=10]\n" + " +udptimeout=### (Set timeout before UDP " + "retry)\n" + " +tries=### (Set number of UDP " + "attempts) [3]\n" + " +retry=### (Set number of UDP " + "retries) [2]\n" + " +bufsize=### (Set EDNS0 Max UDP packet " + "size)\n" + " +subnet=addr (Set edns-client-subnet " + "option)\n" + " +[no]edns[=###] (Set EDNS version) [0]\n" + " +ednsflags=### (Set EDNS flag bits)\n" + " +ednsopt=###[:value] (Send specified EDNS " + "option)\n" + " +noednsopt (Clear list of +ednsopt " + "options)\n" + " +[no]recurse (Recursive mode)\n" + " +[no]aaonly (Set AA flag in query " + "(+[no]aaflag))\n" + " +[no]adflag (Set AD flag in query)\n" + " +[no]cdflag (Set CD flag in query)\n" + " +[no]zflag (Set Z flag in query)\n" + " +[no]dnssec (Request DNSSEC records)\n" + " +[no]expire (Request time to expire)\n" + " +[no]cookie[=###] (Send a COOKIE option)\n" + " +[no]nsid (Request Name Server ID)\n", + stdout); } ISC_PLATFORM_NORETURN_PRE static void fatal(const char *format, ...) -ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST; + ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST; static void -fatal(const char *format, ...) { +fatal(const char *format, ...) +{ va_list args; fflush(stdout); @@ -883,14 +873,15 @@ fatal(const char *format, ...) { static isc_result_t parse_uint_helper(uint32_t *uip, const char *value, uint32_t max, - const char *desc, int base) { - uint32_t n; + const char *desc, int base) +{ + uint32_t n; isc_result_t result = isc_parse_uint32(&n, value, base); if (result == ISC_R_SUCCESS && n > max) result = ISC_R_RANGE; if (result != ISC_R_SUCCESS) { - printf("invalid %s '%s': %s\n", desc, - value, isc_result_totext(result)); + printf("invalid %s '%s': %s\n", desc, value, + isc_result_totext(result)); return (result); } *uip = n; @@ -898,19 +889,20 @@ parse_uint_helper(uint32_t *uip, const char *value, uint32_t max, } static isc_result_t -parse_uint(uint32_t *uip, const char *value, uint32_t max, - const char *desc) { +parse_uint(uint32_t *uip, const char *value, uint32_t max, const char *desc) +{ return (parse_uint_helper(uip, value, max, desc, 10)); } static isc_result_t -parse_xint(uint32_t *uip, const char *value, uint32_t max, - const char *desc) { +parse_xint(uint32_t *uip, const char *value, uint32_t max, const char *desc) +{ return (parse_uint_helper(uip, value, max, desc, 0)); } static void -newopts(struct query *query) { +newopts(struct query *query) +{ size_t len = sizeof(query->ednsopts[0]) * EDNSOPTS; size_t i; @@ -924,8 +916,9 @@ newopts(struct query *query) { } static void -save_opt(struct query *query, char *code, char *value) { - uint32_t num; +save_opt(struct query *query, char *code, char *value) +{ + uint32_t num; isc_buffer_t b; isc_result_t result; @@ -949,26 +942,26 @@ save_opt(struct query *query, char *code, char *value) { if (value != NULL) { char *buf; buf = isc_mem_allocate(mctx, strlen(value) / 2 + 1); - isc_buffer_init(&b, buf, strlen(value)/2 + 1); + isc_buffer_init(&b, buf, strlen(value) / 2 + 1); result = isc_hex_decodestring(value, &b); CHECK("isc_hex_decodestring", result); - query->ednsopts[query->ednsoptscnt].value = - isc_buffer_base(&b); + query->ednsopts[query->ednsoptscnt].value = isc_buffer_base(&b); query->ednsopts[query->ednsoptscnt].length = - isc_buffer_usedlength(&b); + isc_buffer_usedlength(&b); } query->ednsoptscnt++; } static isc_result_t -parse_netprefix(isc_sockaddr_t **sap, const char *value) { +parse_netprefix(isc_sockaddr_t **sap, const char *value) +{ isc_sockaddr_t *sa = NULL; - struct in_addr in4; + struct in_addr in4; struct in6_addr in6; - uint32_t netmask = 0xffffffff; - char *slash = NULL; - bool parsed = false; + uint32_t netmask = 0xffffffff; + char * slash = NULL; + bool parsed = false; char buf[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:XXX.XXX.XXX.XXX/128")]; if (strlcpy(buf, value, sizeof(buf)) >= sizeof(buf)) @@ -980,8 +973,8 @@ parse_netprefix(isc_sockaddr_t **sap, const char *value) { *slash = '\0'; result = isc_parse_uint32(&netmask, slash + 1, 10); if (result != ISC_R_SUCCESS) { - fatal("invalid prefix length in '%s': %s\n", - value, isc_result_totext(result)); + fatal("invalid prefix length in '%s': %s\n", value, + isc_result_totext(result)); } } else if (strcmp(value, "0") == 0) { netmask = 0; @@ -1028,7 +1021,8 @@ parse_netprefix(isc_sockaddr_t **sap, const char *value) { * ISC_R_NOSPACE if that would advance p past 'end'. */ static isc_result_t -append(const char *text, int len, char **p, char *end) { +append(const char *text, int len, char **p, char *end) +{ if (len > end - *p) return (ISC_R_NOSPACE); memmove(*p, text, len); @@ -1037,9 +1031,10 @@ append(const char *text, int len, char **p, char *end) { } static isc_result_t -reverse_octets(const char *in, char **p, char *end) { +reverse_octets(const char *in, char **p, char *end) +{ const char *dot = strchr(in, '.'); - int len; + int len; if (dot != NULL) { isc_result_t result; result = reverse_octets(dot + 1, p, end); @@ -1056,8 +1051,8 @@ reverse_octets(const char *in, char **p, char *end) { static void get_reverse(char *reverse, size_t len, const char *value) { - int r; - isc_result_t result; + int r; + isc_result_t result; isc_netaddr_t addr; addr.family = AF_INET6; @@ -1065,8 +1060,8 @@ get_reverse(char *reverse, size_t len, const char *value) if (r > 0) { /* This is a valid IPv6 address. */ dns_fixedname_t fname; - dns_name_t *name; - unsigned int options = 0; + dns_name_t * name; + unsigned int options = 0; name = dns_fixedname_initname(&fname); result = dns_byaddr_createptrname(&addr, options, name); @@ -1103,10 +1098,10 @@ static void plus_option(char *option, struct query *query, bool global) { isc_result_t result; - char *cmd, *value, *last = NULL, *code; - uint32_t num; - bool state = true; - size_t n; + char * cmd, *value, *last = NULL, *code; + uint32_t num; + bool state = true; + size_t n; INSIST(option != NULL); @@ -1121,22 +1116,22 @@ plus_option(char *option, struct query *query, bool global) /* parse the rest of the string */ value = strtok_r(NULL, "", &last); -#define FULLCHECK(A) \ - do { \ - size_t _l = strlen(cmd); \ +#define FULLCHECK(A) \ + do { \ + size_t _l = strlen(cmd); \ if (_l >= sizeof(A) || strncasecmp(cmd, A, _l) != 0) \ - goto invalid_option; \ + goto invalid_option; \ } while (0) -#define FULLCHECK2(A, B) \ - do { \ - size_t _l = strlen(cmd); \ +#define FULLCHECK2(A, B) \ + do { \ + size_t _l = strlen(cmd); \ if ((_l >= sizeof(A) || strncasecmp(cmd, A, _l) != 0) && \ - (_l >= sizeof(B) || strncasecmp(cmd, B, _l) != 0)) \ - goto invalid_option; \ + (_l >= sizeof(B) || strncasecmp(cmd, B, _l) != 0)) \ + goto invalid_option; \ } while (0) -#define GLOBAL() \ - do { \ - if (!global) \ +#define GLOBAL() \ + do { \ + if (!global) \ goto global_option; \ } while (0) @@ -1153,7 +1148,7 @@ plus_option(char *option, struct query *query, bool global) FULLCHECK("additional"); display_additional = state; break; - case 'f': /* adflag */ + case 'f': /* adflag */ case '\0': /* +ad is a synonym for +adflag */ FULLCHECK("adflag"); query->have_adflag = state; @@ -1188,12 +1183,12 @@ plus_option(char *option, struct query *query, bool global) break; case 'b': switch (cmd[1]) { - case 'e':/* besteffort */ + case 'e': /* besteffort */ FULLCHECK("besteffort"); GLOBAL(); besteffort = state; break; - case 'u':/* bufsize */ + case 'u': /* bufsize */ FULLCHECK("bufsize"); if (value == NULL) goto need_value; @@ -1210,9 +1205,9 @@ plus_option(char *option, struct query *query, bool global) break; case 'c': switch (cmd[1]) { - case 'd':/* cdflag */ + case 'd': /* cdflag */ switch (cmd[2]) { - case 'f': /* cdflag */ + case 'f': /* cdflag */ case '\0': /* +cd is a synonym for +cdflag */ FULLCHECK("cdflag"); query->have_cdflag = state; @@ -1293,7 +1288,7 @@ plus_option(char *option, struct query *query, bool global) case 'e': switch (cmd[1]) { case 'd': - switch(cmd[2]) { + switch (cmd[2]) { case 'n': switch (cmd[3]) { case 's': @@ -1308,8 +1303,7 @@ plus_option(char *option, struct query *query, bool global) query->edns = 0; break; } - result = parse_uint(&num, - value, + result = parse_uint(&num, value, 255, "edns"); CHECK("parse_uint(edns)", @@ -1326,10 +1320,10 @@ plus_option(char *option, struct query *query, bool global) query->ednsflags = 0; break; } - result = parse_xint(&num, - value, + result = parse_xint(&num, value, 0xffff, - "ednsflags"); + "ednsflag" + "s"); CHECK("parse_xint(ednsflags)", result); query->ednsflags = num; @@ -1405,10 +1399,8 @@ plus_option(char *option, struct query *query, bool global) goto need_value; if (!state) goto invalid_option; - result = parse_uint(&query->udpretries, - value, - MAXTRIES - 1, - "udpretries"); + result = parse_uint(&query->udpretries, value, + MAXTRIES - 1, "udpretries"); CHECK("parse_uint(udpretries)", result); query->udpretries++; break; @@ -1451,14 +1443,15 @@ plus_option(char *option, struct query *query, bool global) } else if (value == NULL) break; - result = parse_uint(&display_splitwidth, value, - 1023, "split"); + result = parse_uint(&display_splitwidth, value, 1023, + "split"); if ((display_splitwidth % 4) != 0) { display_splitwidth = - ((display_splitwidth + 3) / 4) * 4; - fprintf(stderr, ";; Warning, split must be " - "a multiple of 4; adjusting " - "to %u\n", + ((display_splitwidth + 3) / 4) * 4; + fprintf(stderr, + ";; Warning, split must be " + "a multiple of 4; adjusting " + "to %u\n", display_splitwidth); } /* @@ -1505,8 +1498,8 @@ plus_option(char *option, struct query *query, bool global) goto need_value; if (!state) goto invalid_option; - result = parse_uint(&query->timeout, value, - MAXTIMEOUT, "timeout"); + result = parse_uint(&query->timeout, value, MAXTIMEOUT, + "timeout"); CHECK("parse_uint(timeout)", result); if (query->timeout == 0) query->timeout = 1; @@ -1517,8 +1510,8 @@ plus_option(char *option, struct query *query, bool global) goto need_value; if (!state) goto invalid_option; - result = parse_uint(&query->udpretries, value, - MAXTRIES, "udpretries"); + result = parse_uint(&query->udpretries, value, MAXTRIES, + "udpretries"); CHECK("parse_uint(udpretries)", result); if (query->udpretries == 0) query->udpretries = 1; @@ -1605,22 +1598,22 @@ plus_option(char *option, struct query *query, bool global) static const char *single_dash_opts = "46himv"; static const char *dash_opts = "46bcfhiptvx"; static bool -dash_option(const char *option, char *next, struct query *query, - bool global, bool *setname) +dash_option(const char *option, char *next, struct query *query, bool global, + bool *setname) { - char opt; - const char *value; - isc_result_t result; - bool value_from_next; + char opt; + const char * value; + isc_result_t result; + bool value_from_next; isc_consttextregion_t tr; - dns_rdatatype_t rdtype; - dns_rdataclass_t rdclass; - char textname[MXNAME]; - struct in_addr in4; - struct in6_addr in6; - in_port_t srcport; - char *hash; - uint32_t num; + dns_rdatatype_t rdtype; + dns_rdataclass_t rdclass; + char textname[MXNAME]; + struct in_addr in4; + struct in6_addr in6; + in_port_t srcport; + char * hash; + uint32_t num; while (strpbrk(option, single_dash_opts) == &option[0]) { /* @@ -1756,7 +1749,8 @@ dash_option(const char *option, char *next, struct query *query, } static struct query * -clone_default_query() { +clone_default_query() +{ struct query *query; query = isc_mem_allocate(mctx, sizeof(struct query)); @@ -1784,11 +1778,12 @@ clone_default_query() { * by its nature, so it can't be done in the main argument parser. */ static void -preparse_args(int argc, char **argv) { - int rc; +preparse_args(int argc, char **argv) +{ + int rc; char **rv; - char *option; - bool ipv4only = false, ipv6only = false; + char * option; + bool ipv4only = false, ipv6only = false; rc = argc; rv = argv; @@ -1800,7 +1795,7 @@ preparse_args(int argc, char **argv) { switch (option[0]) { case 'm': isc_mem_debugging = ISC_MEM_DEBUGTRACE | - ISC_MEM_DEBUGRECORD; + ISC_MEM_DEBUGRECORD; break; case '4': if (ipv6only) { @@ -1838,13 +1833,13 @@ static void parse_args(bool is_batchfile, int argc, char **argv) { struct query *query = NULL; - char batchline[MXNAME]; - int bargc; - char *bargv[64]; - int rc; - char **rv; - bool global = true; - char *last; + char batchline[MXNAME]; + int bargc; + char * bargv[64]; + int rc; + char ** rv; + bool global = true; + char * last; /* * The semantics for parsing the args is a bit complex; if @@ -1905,14 +1900,14 @@ parse_args(bool is_batchfile, int argc, char **argv) bool setname = false; if (rc <= 1) { - if (dash_option(&rv[0][1], NULL, query, - global, &setname)) { + if (dash_option(&rv[0][1], NULL, query, global, + &setname)) { rc--; rv++; } } else { - if (dash_option(&rv[0][1], rv[1], query, - global, &setname)) { + if (dash_option(&rv[0][1], rv[1], query, global, + &setname)) { rc--; rv++; } @@ -1955,13 +1950,13 @@ parse_args(bool is_batchfile, int argc, char **argv) fatal("couldn't open batch file '%s'", batchname); } while (fgets(batchline, sizeof(batchline), batchfp) != 0) { - if (batchline[0] == '\r' || batchline[0] == '\n' - || batchline[0] == '#' || batchline[0] == ';') + if (batchline[0] == '\r' || batchline[0] == '\n' || + batchline[0] == '#' || batchline[0] == ';') continue; - for (bargc = 1, bargv[bargc] = strtok_r(batchline, " \t\r\n", &last); - (bargc < 14) && bargv[bargc]; - bargc++, bargv[bargc] = strtok_r(NULL, " \t\r\n", &last)) - { + for (bargc = 1, bargv[bargc] = strtok_r( + batchline, " \t\r\n", &last); + (bargc < 14) && bargv[bargc]; bargc++, + bargv[bargc] = strtok_r(NULL, " \t\r\n", &last)) { /* empty body */ } @@ -1980,22 +1975,23 @@ parse_args(bool is_batchfile, int argc, char **argv) /*% Main processing routine for mdig */ int -main(int argc, char *argv[]) { - struct query *query; - isc_result_t result; - isc_sockaddr_t bind_any; - isc_log_t *lctx; - isc_logconfig_t *lcfg; - isc_taskmgr_t *taskmgr; - isc_task_t *task; - isc_timermgr_t *timermgr; - isc_socketmgr_t *socketmgr; +main(int argc, char *argv[]) +{ + struct query * query; + isc_result_t result; + isc_sockaddr_t bind_any; + isc_log_t * lctx; + isc_logconfig_t * lcfg; + isc_taskmgr_t * taskmgr; + isc_task_t * task; + isc_timermgr_t * timermgr; + isc_socketmgr_t * socketmgr; dns_dispatchmgr_t *dispatchmgr; - unsigned int attrs, attrmask; - dns_dispatch_t *dispatchvx; - dns_view_t *view; - int ns; - unsigned int i; + unsigned int attrs, attrmask; + dns_dispatch_t * dispatchvx; + dns_view_t * view; + int ns; + unsigned int i; RUNCHECK(isc_app_start()); @@ -2028,8 +2024,8 @@ main(int argc, char *argv[]) { ns = 0; result = bind9_getaddresses(server, port, &dstaddr, 1, &ns); if (result != ISC_R_SUCCESS) { - fatal("couldn't get address for '%s': %s", - server, isc_result_totext(result)); + fatal("couldn't get address for '%s': %s", server, + isc_result_totext(result)); } if (isc_sockaddr_pf(&dstaddr) == PF_INET && have_ipv6) { @@ -2054,8 +2050,7 @@ main(int argc, char *argv[]) { dispatchmgr = NULL; RUNCHECK(dns_dispatchmgr_create(mctx, &dispatchmgr)); - attrs = DNS_DISPATCHATTR_UDP | - DNS_DISPATCHATTR_MAKEQUERY; + attrs = DNS_DISPATCHATTR_UDP | DNS_DISPATCHATTR_MAKEQUERY; if (have_ipv4) { isc_sockaddr_any(&bind_any); attrs |= DNS_DISPATCHATTR_IPV4; @@ -2063,21 +2058,18 @@ main(int argc, char *argv[]) { isc_sockaddr_any6(&bind_any); attrs |= DNS_DISPATCHATTR_IPV6; } - attrmask = DNS_DISPATCHATTR_UDP | - DNS_DISPATCHATTR_TCP | - DNS_DISPATCHATTR_IPV4 | - DNS_DISPATCHATTR_IPV6; + attrmask = DNS_DISPATCHATTR_UDP | DNS_DISPATCHATTR_TCP | + DNS_DISPATCHATTR_IPV4 | DNS_DISPATCHATTR_IPV6; dispatchvx = NULL; RUNCHECK(dns_dispatch_getudp(dispatchmgr, socketmgr, taskmgr, - have_src ? &srcaddr : &bind_any, - 4096, 100, 100, 17, 19, - attrs, attrmask, &dispatchvx)); + have_src ? &srcaddr : &bind_any, 4096, 100, + 100, 17, 19, attrs, attrmask, + &dispatchvx)); requestmgr = NULL; - RUNCHECK(dns_requestmgr_create(mctx, timermgr, socketmgr, - taskmgr, dispatchmgr, - have_ipv4 ? dispatchvx : NULL, - have_ipv6 ? dispatchvx : NULL, - &requestmgr)); + RUNCHECK(dns_requestmgr_create( + mctx, timermgr, socketmgr, taskmgr, dispatchmgr, + have_ipv4 ? dispatchvx : NULL, have_ipv6 ? dispatchvx : NULL, + &requestmgr)); view = NULL; RUNCHECK(dns_view_create(mctx, 0, "_test", &view)); diff --git a/bin/tools/named-journalprint.c b/bin/tools/named-journalprint.c index 15d63aca98..11c2e4bbd2 100644 --- a/bin/tools/named-journalprint.c +++ b/bin/tools/named-journalprint.c @@ -9,9 +9,10 @@ * information regarding copyright ownership. */ - /*! \file */ +#include + #include #include #include @@ -22,16 +23,15 @@ #include #include -#include - /* * Setup logging to use stderr. */ static isc_result_t -setup_logging(isc_mem_t *mctx, FILE *errout, isc_log_t **logp) { +setup_logging(isc_mem_t *mctx, FILE *errout, isc_log_t **logp) +{ isc_logdestination_t destination; - isc_logconfig_t *logconfig = NULL; - isc_log_t *log = NULL; + isc_logconfig_t * logconfig = NULL; + isc_log_t * log = NULL; RUNTIME_CHECK(isc_log_create(mctx, &log, &logconfig) == ISC_R_SUCCESS); isc_log_setcontext(log); @@ -43,26 +43,26 @@ setup_logging(isc_mem_t *mctx, FILE *errout, isc_log_t **logp) { destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.maximum_size = 0; RUNTIME_CHECK(isc_log_createchannel(logconfig, "stderr", - ISC_LOG_TOFILEDESC, - ISC_LOG_DYNAMIC, + ISC_LOG_TOFILEDESC, ISC_LOG_DYNAMIC, &destination, 0) == ISC_R_SUCCESS); - RUNTIME_CHECK(isc_log_usechannel(logconfig, "stderr", - NULL, NULL) == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_log_usechannel(logconfig, "stderr", NULL, NULL) == + ISC_R_SUCCESS); *logp = log; return (ISC_R_SUCCESS); } int -main(int argc, char **argv) { - char *file; - isc_mem_t *mctx = NULL; +main(int argc, char **argv) +{ + char * file; + isc_mem_t * mctx = NULL; isc_result_t result; - isc_log_t *lctx = NULL; + isc_log_t * lctx = NULL; if (argc != 2) { printf("usage: %s journal\n", argv[0]); - return(1); + return (1); } file = argv[1]; @@ -75,5 +75,5 @@ main(int argc, char **argv) { fprintf(stderr, "%s\n", dns_result_totext(result)); isc_log_destroy(&lctx); isc_mem_detach(&mctx); - return(result != ISC_R_SUCCESS ? 1 : 0); + return (result != ISC_R_SUCCESS ? 1 : 0); } diff --git a/bin/tools/named-nzd2nzf.c b/bin/tools/named-nzd2nzf.c index 2cd3a93022..92fc1c8f88 100644 --- a/bin/tools/named-nzd2nzf.c +++ b/bin/tools/named-nzd2nzf.c @@ -13,23 +13,24 @@ #error This program requires the LMDB library. #endif +#include #include #include -#include - -#include #include +#include + int -main (int argc, char *argv[]) { - int status; +main(int argc, char *argv[]) +{ + int status; const char *path; - MDB_env *env = NULL; - MDB_txn *txn = NULL; + MDB_env * env = NULL; + MDB_txn * txn = NULL; MDB_cursor *cursor = NULL; - MDB_dbi dbi; - MDB_val key, data; + MDB_dbi dbi; + MDB_val key, data; if (argc != 2) { fprintf(stderr, "Usage: named-nzd2nzf \n"); @@ -75,21 +76,20 @@ main (int argc, char *argv[]) { for (status = mdb_cursor_get(cursor, &key, &data, MDB_FIRST); status == MDB_SUCCESS; - status = mdb_cursor_get(cursor, &key, &data, MDB_NEXT)) - { + status = mdb_cursor_get(cursor, &key, &data, MDB_NEXT)) { if (key.mv_data == NULL || key.mv_size == 0 || - data.mv_data == NULL || data.mv_size == 0) - { + data.mv_data == NULL || data.mv_size == 0) { fprintf(stderr, "named-nzd2nzf: empty column found in " - "database '%s'", path); + "database '%s'", + path); exit(1); } /* zone zonename { config; }; */ - printf("zone \"%.*s\" %.*s;\n", - (int) key.mv_size, (char *) key.mv_data, - (int) data.mv_size, (char *) data.mv_data); + printf("zone \"%.*s\" %.*s;\n", (int)key.mv_size, + (char *)key.mv_data, (int)data.mv_size, + (char *)data.mv_data); } mdb_cursor_close(cursor); diff --git a/bin/tools/named-rrchecker.c b/bin/tools/named-rrchecker.c index c9f9b4a595..19f567ece7 100644 --- a/bin/tools/named-rrchecker.c +++ b/bin/tools/named-rrchecker.c @@ -36,7 +36,8 @@ ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { +usage(void) +{ fprintf(stderr, "usage: named-rrchecker [-o origin] [-hpCPTu]\n"); fprintf(stderr, "\t-h: print this help message\n"); fprintf(stderr, "\t-o origin: set origin to be used when " @@ -53,7 +54,8 @@ ISC_PLATFORM_NORETURN_PRE static void fatal(const char *format, ...) ISC_PLATFORM_NORETURN_POST; static void -fatal(const char *format, ...) { +fatal(const char *format, ...) +{ va_list args; fprintf(stderr, "named-rrchecker: "); @@ -65,26 +67,27 @@ fatal(const char *format, ...) { } int -main(int argc, char *argv[]) { - isc_token_t token; - isc_result_t result; - int c; - unsigned int options = 0; - dns_rdatatype_t rdtype; +main(int argc, char *argv[]) +{ + isc_token_t token; + isc_result_t result; + int c; + unsigned int options = 0; + dns_rdatatype_t rdtype; dns_rdataclass_t rdclass; - char text[256*1024]; - char data[64*1024]; - isc_buffer_t tbuf; - isc_buffer_t dbuf; - dns_rdata_t rdata = DNS_RDATA_INIT; - bool doexit = false; - bool once = false; - bool print = false; - bool unknown = false; - unsigned int t; - char *origin = NULL; - dns_fixedname_t fixed; - dns_name_t *name = NULL; + char text[256 * 1024]; + char data[64 * 1024]; + isc_buffer_t tbuf; + isc_buffer_t dbuf; + dns_rdata_t rdata = DNS_RDATA_INIT; + bool doexit = false; + bool once = false; + bool print = false; + bool unknown = false; + unsigned int t; + char * origin = NULL; + dns_fixedname_t fixed; + dns_name_t * name = NULL; while ((c = isc_commandline_parse(argc, argv, "ho:puCPT")) != -1) { switch (c) { @@ -138,8 +141,8 @@ main(int argc, char *argv[]) { usage(); default: - fprintf(stderr, "%s: unhandled option -%c\n", - argv[0], isc_commandline_option); + fprintf(stderr, "%s: unhandled option -%c\n", argv[0], + isc_commandline_option); exit(1); } } @@ -184,7 +187,7 @@ main(int argc, char *argv[]) { * Get class. */ if (token.type == isc_tokentype_number) { - rdclass = (dns_rdataclass_t) token.value.as_ulong; + rdclass = (dns_rdataclass_t)token.value.as_ulong; if (token.value.as_ulong > 0xffffu) { fatal("class value too big %lu", token.value.as_ulong); @@ -194,8 +197,8 @@ main(int argc, char *argv[]) { token.value.as_ulong); } } else if (token.type == isc_tokentype_string) { - result = dns_rdataclass_fromtext(&rdclass, - &token.value.as_textregion); + result = dns_rdataclass_fromtext( + &rdclass, &token.value.as_textregion); if (result != ISC_R_SUCCESS) { fatal("dns_rdataclass_fromtext: %s", dns_result_totext(result)); @@ -222,7 +225,7 @@ main(int argc, char *argv[]) { * Get type. */ if (token.type == isc_tokentype_number) { - rdtype = (dns_rdatatype_t) token.value.as_ulong; + rdtype = (dns_rdatatype_t)token.value.as_ulong; if (token.value.as_ulong > 0xffffu) { fatal("type value too big %lu", token.value.as_ulong); @@ -232,8 +235,8 @@ main(int argc, char *argv[]) { token.value.as_ulong); } } else if (token.type == isc_tokentype_string) { - result = dns_rdatatype_fromtext(&rdtype, - &token.value.as_textregion); + result = dns_rdatatype_fromtext( + &rdtype, &token.value.as_textregion); if (result != ISC_R_SUCCESS) { fatal("dns_rdatatype_fromtext: %s", dns_result_totext(result)); @@ -248,8 +251,8 @@ main(int argc, char *argv[]) { } isc_buffer_init(&dbuf, data, sizeof(data)); - result = dns_rdata_fromtext(&rdata, rdclass, rdtype, lex, - name, 0, mctx, &dbuf, NULL); + result = dns_rdata_fromtext(&rdata, rdclass, rdtype, lex, name, + 0, mctx, &dbuf, NULL); if (result != ISC_R_SUCCESS) { fatal("dns_rdata_fromtext: %s", dns_result_totext(result)); @@ -283,7 +286,7 @@ main(int argc, char *argv[]) { dns_result_totext(result)); } - printf("%.*s\n", (int)tbuf.used, (char*)tbuf.base); + printf("%.*s\n", (int)tbuf.used, (char *)tbuf.base); fflush(stdout); } @@ -302,14 +305,14 @@ main(int argc, char *argv[]) { } isc_buffer_putstr(&tbuf, "\t"); result = dns_rdata_tofmttext(&rdata, NULL, - DNS_STYLEFLAG_UNKNOWNFORMAT, - 0, 0, "", &tbuf); + DNS_STYLEFLAG_UNKNOWNFORMAT, 0, 0, + "", &tbuf); if (result != ISC_R_SUCCESS) { fatal("dns_rdata_tofmttext: %sn", dns_result_totext(result)); } - printf("%.*s\n", (int)tbuf.used, (char*)tbuf.base); + printf("%.*s\n", (int)tbuf.used, (char *)tbuf.base); fflush(stdout); } diff --git a/bin/tools/nsec3hash.c b/bin/tools/nsec3hash.c index 95361526ff..59aa9e31a0 100644 --- a/bin/tools/nsec3hash.c +++ b/bin/tools/nsec3hash.c @@ -9,9 +9,9 @@ * information regarding copyright ownership. */ +#include #include #include -#include #include #include @@ -36,7 +36,8 @@ ISC_PLATFORM_NORETURN_PRE static void fatal(const char *format, ...) ISC_PLATFORM_NORETURN_POST; static void -fatal(const char *format, ...) { +fatal(const char *format, ...) +{ va_list args; fprintf(stderr, "%s: ", program); @@ -48,13 +49,15 @@ fatal(const char *format, ...) { } static void -check_result(isc_result_t result, const char *message) { +check_result(isc_result_t result, const char *message) +{ if (result != ISC_R_SUCCESS) fatal("%s: %s", message, isc_result_totext(result)); } static void -usage() { +usage() +{ fprintf(stderr, "Usage: %s salt algorithm iterations domain\n", program); fprintf(stderr, " %s -r algorithm flags iterations salt domain\n", @@ -62,28 +65,28 @@ usage() { exit(1); } -typedef void nsec3printer(unsigned algo, unsigned flags, unsigned iters, - const char *saltstr, const char *domain, - const char *digest); +typedef void +nsec3printer(unsigned algo, unsigned flags, unsigned iters, const char *saltstr, + const char *domain, const char *digest); static void nsec3hash(nsec3printer *nsec3print, const char *algostr, const char *flagstr, const char *iterstr, const char *saltstr, const char *domain) { dns_fixedname_t fixed; - dns_name_t *name; - isc_buffer_t buffer; - isc_region_t region; - isc_result_t result; - unsigned char hash[NSEC3_MAX_HASH_LENGTH]; - unsigned char salt[DNS_NSEC3_SALTSIZE]; - unsigned char text[1024]; - unsigned int hash_alg; - unsigned int flags; - unsigned int length; - unsigned int iterations; - unsigned int salt_length; - const char dash[] = "-"; + dns_name_t * name; + isc_buffer_t buffer; + isc_region_t region; + isc_result_t result; + unsigned char hash[NSEC3_MAX_HASH_LENGTH]; + unsigned char salt[DNS_NSEC3_SALTSIZE]; + unsigned char text[1024]; + unsigned int hash_alg; + unsigned int flags; + unsigned int length; + unsigned int iterations; + unsigned int salt_length; + const char dash[] = "-"; if (strcmp(saltstr, "-") == 0) { salt_length = 0; @@ -115,7 +118,7 @@ nsec3hash(nsec3printer *nsec3print, const char *algostr, const char *flagstr, check_result(result, "dns_name_fromtext() failed"); dns_name_downcase(name, name, NULL); - length = isc_iterated_hash(hash, hash_alg, iterations, salt, + length = isc_iterated_hash(hash, hash_alg, iterations, salt, salt_length, name->ndata, name->length); if (length == 0) fatal("isc_iterated_hash failed"); @@ -135,8 +138,8 @@ nsec3hash_print(unsigned algo, unsigned flags, unsigned iters, UNUSED(flags); UNUSED(domain); - fprintf(stdout, "%s (salt=%s, hash=%u, iterations=%u)\n", - digest, saltstr, algo, iters); + fprintf(stdout, "%s (salt=%s, hash=%u, iterations=%u)\n", digest, + saltstr, algo, iters); } static void @@ -144,14 +147,15 @@ nsec3hash_rdata_print(unsigned algo, unsigned flags, unsigned iters, const char *saltstr, const char *domain, const char *digest) { - fprintf(stdout, "%s NSEC3 %u %u %u %s %s\n", - domain, algo, flags, iters, saltstr, digest); + fprintf(stdout, "%s NSEC3 %u %u %u %s %s\n", domain, algo, flags, iters, + saltstr, digest); } int -main(int argc, char *argv[]) { +main(int argc, char *argv[]) +{ bool rdata_format = false; - int ch; + int ch; while ((ch = isc_commandline_parse(argc, argv, "-r")) != -1) { switch (ch) { @@ -166,7 +170,7 @@ main(int argc, char *argv[]) { } } - skip: +skip: argc -= isc_commandline_index; argv += isc_commandline_index; @@ -174,14 +178,14 @@ main(int argc, char *argv[]) { if (argc != 5) { usage(); } - nsec3hash(nsec3hash_rdata_print, - argv[0], argv[1], argv[2], argv[3], argv[4]); + nsec3hash(nsec3hash_rdata_print, argv[0], argv[1], argv[2], + argv[3], argv[4]); } else { if (argc != 4) { usage(); } - nsec3hash(nsec3hash_print, - argv[1], NULL, argv[2], argv[0], argv[3]); + nsec3hash(nsec3hash_print, argv[1], NULL, argv[2], argv[0], + argv[3]); } - return(0); + return (0); } diff --git a/bin/win32/BINDInstall/AccountInfo.h b/bin/win32/BINDInstall/AccountInfo.h index 1eb684d331..ab7c784a6b 100644 --- a/bin/win32/BINDInstall/AccountInfo.h +++ b/bin/win32/BINDInstall/AccountInfo.h @@ -9,28 +9,26 @@ * information regarding copyright ownership. */ +#define RTN_OK 0 +#define RTN_NOACCOUNT 1 +#define RTN_NOMEMORY 2 +#define RTN_ERROR 10 - -#define RTN_OK 0 -#define RTN_NOACCOUNT 1 -#define RTN_NOMEMORY 2 -#define RTN_ERROR 10 - -#define SE_SERVICE_LOGON_PRIV L"SeServiceLogonRight" +#define SE_SERVICE_LOGON_PRIV L"SeServiceLogonRight" /* * This routine retrieves the list of all Privileges associated with * a given account as well as the groups to which it beongs */ int -GetAccountPrivileges( - char *name, /* Name of Account */ - wchar_t **PrivList, /* List of Privileges returned */ - unsigned int *PrivCount, /* Count of Privileges returned */ - char **Groups, /* List of Groups to which account belongs */ - unsigned int *totalGroups, /* Count of Groups returned */ - int maxGroups /* Maximum number of Groups to return */ - ); +GetAccountPrivileges(char * name, /* Name of Account */ + wchar_t ** PrivList, /* List of Privileges returned */ + unsigned int *PrivCount, /* Count of Privileges returned */ + char **Groups, /* List of Groups to which account belongs + */ + unsigned int *totalGroups, /* Count of Groups returned */ + int maxGroups /* Maximum number of Groups to return */ +); /* * This routine creates an account with the given name which has just diff --git a/bin/win32/BINDInstall/BINDInstall.h b/bin/win32/BINDInstall/BINDInstall.h index 1d12d5ede1..cc5a1acaf5 100644 --- a/bin/win32/BINDInstall/BINDInstall.h +++ b/bin/win32/BINDInstall/BINDInstall.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* * Copyright (c) 1999-2000 by Nortel Networks Corporation * @@ -31,25 +30,26 @@ #define BINDINSTALL_H #ifndef __AFXWIN_H__ - #error include 'stdafx.h' before including this file for PCH +#error include 'stdafx.h' before including this file for PCH #endif -#include "resource.h" // main symbols +#include "resource.h" // main symbols class CBINDInstallApp : public CWinApp { -public: + public: CBINDInstallApp(); // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CBINDInstallApp) - public: - virtual BOOL InitInstance(); + public: + virtual BOOL + InitInstance(); //}}AFX_VIRTUAL //{{AFX_MSG(CBINDInstallApp) - // NOTE - the ClassWizard will add and remove member functions here. - // DO NOT EDIT what you see in these blocks of generated code ! + // NOTE - the ClassWizard will add and remove member functions here. + // DO NOT EDIT what you see in these blocks of generated code ! //}}AFX_MSG DECLARE_MESSAGE_MAP() }; diff --git a/bin/win32/BINDInstall/BINDInstallDlg.h b/bin/win32/BINDInstall/BINDInstallDlg.h index cdc3a4321d..20b352c376 100644 --- a/bin/win32/BINDInstall/BINDInstallDlg.h +++ b/bin/win32/BINDInstall/BINDInstallDlg.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* * Copyright (c) 1999-2000 by Nortel Networks Corporation * @@ -32,75 +31,105 @@ class CBINDInstallDlg : public CDialog { -public: - CBINDInstallDlg(CWnd* pParent = NULL); // standard constructor + public: + CBINDInstallDlg(CWnd *pParent = NULL); // standard constructor //{{AFX_DATA(CBINDInstallDlg) enum { IDD = IDD_BINDINSTALL_DIALOG }; - CString m_targetDir; - CString m_version; + CString m_targetDir; + CString m_version; BOOL m_autoStart; BOOL m_keepFiles; BOOL m_toolsOnly; - CString m_current; + CString m_current; BOOL m_startOnInstall; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CBINDInstallDlg) - protected: - virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support - //}}AFX_VIRTUAL + protected: + virtual void + DoDataExchange(CDataExchange *pDX); // DDX/DDV support + //}}AFX_VIRTUAL -protected: - void StartBINDService(); - void StopBINDService(); + protected: + void + StartBINDService(); + void + StopBINDService(); - void InstallTags(); - void UninstallTags(); + void + InstallTags(); + void + UninstallTags(); - void CreateDirs(); - void RemoveDirs(BOOL uninstall); + void + CreateDirs(); + void + RemoveDirs(BOOL uninstall); - void ReadInstallFlags(); - void ReadInstallFileList(); + void + ReadInstallFlags(); + void + ReadInstallFileList(); - void CopyFiles(); - void DeleteFiles(BOOL uninstall); + void + CopyFiles(); + void + DeleteFiles(BOOL uninstall); - void RegisterService(); - void UpdateService(CString StartName); - void UnregisterService(BOOL uninstall); + void + RegisterService(); + void + UpdateService(CString StartName); + void + UnregisterService(BOOL uninstall); - void RegisterMessages(); - void UnregisterMessages(BOOL uninstall); + void + RegisterMessages(); + void + UnregisterMessages(BOOL uninstall); - void FailedInstall(); - void SetItemStatus(UINT nID, BOOL bSuccess = TRUE); + void + FailedInstall(); + void + SetItemStatus(UINT nID, BOOL bSuccess = TRUE); - void GetCurrentServiceAccountName(); - BOOL ValidateServiceAccount(); -protected: - CString DestDir(int destination); - int MsgBox(int id, ...); - int MsgBox(int id, UINT type, ...); - CString GetErrMessage(DWORD err = -1); - BOOL CheckBINDService(); - void SetCurrent(int id, ...); - void ProgramGroup(BOOL create = TRUE); - void ProgramGroupCreate(TCHAR *commonPath); - void ProgramGroupRemove(TCHAR *commonPath); + void + GetCurrentServiceAccountName(); + BOOL + ValidateServiceAccount(); - HICON m_hIcon; + protected: + CString + DestDir(int destination); + int + MsgBox(int id, ...); + int + MsgBox(int id, UINT type, ...); + CString + GetErrMessage(DWORD err = -1); + BOOL + CheckBINDService(); + void + SetCurrent(int id, ...); + void + ProgramGroup(BOOL create = TRUE); + void + ProgramGroupCreate(TCHAR *commonPath); + void + ProgramGroupRemove(TCHAR *commonPath); + + HICON m_hIcon; CString m_defaultDir; CString m_etcDir; CString m_binDir; CString m_winSysDir; - BOOL m_installed; + BOOL m_installed; CString m_currentDir; BOOL m_accountExists; BOOL m_accountUsed; - CString m_currentAccount; + CString m_currentAccount; CString m_accountName; CString m_accountPasswordConfirm; CString m_accountPassword; @@ -108,17 +137,28 @@ protected: // Generated message map functions //{{AFX_MSG(CBINDInstallDlg) - virtual BOOL OnInitDialog(); - afx_msg void OnPaint(); - afx_msg HCURSOR OnQueryDragIcon(); - afx_msg void OnBrowse(); - afx_msg void OnChangeTargetdir(); - afx_msg void OnInstall(); - afx_msg void OnExit(); - afx_msg void OnUninstall(); - afx_msg void OnAutoStart(); - afx_msg void OnKeepFiles(); - afx_msg void OnStartOnInstall(); + virtual BOOL + OnInitDialog(); + afx_msg void + OnPaint(); + afx_msg HCURSOR + OnQueryDragIcon(); + afx_msg void + OnBrowse(); + afx_msg void + OnChangeTargetdir(); + afx_msg void + OnInstall(); + afx_msg void + OnExit(); + afx_msg void + OnUninstall(); + afx_msg void + OnAutoStart(); + afx_msg void + OnKeepFiles(); + afx_msg void + OnStartOnInstall(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; diff --git a/bin/win32/BINDInstall/DirBrowse.h b/bin/win32/BINDInstall/DirBrowse.h index 080cacfa51..13319d15df 100644 --- a/bin/win32/BINDInstall/DirBrowse.h +++ b/bin/win32/BINDInstall/DirBrowse.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* * Copyright (c) 1999-2000 by Nortel Networks Corporation * @@ -32,32 +31,41 @@ class CDirBrowse : public CDialog { -// Construction -public: - CDirBrowse(CString initialDir = "\\", CWnd* pParent = NULL); // standard constructor - CString GetSelectedDir() {return(m_selectedDir);} + // Construction + public: + CDirBrowse(CString initialDir = "\\", + CWnd * pParent = NULL); // standard constructor + CString + GetSelectedDir() + { + return (m_selectedDir); + } //{{AFX_DATA(CDirBrowse) enum { IDD = IDD_BROWSE }; - // NOTE: the ClassWizard will add data members here + // NOTE: the ClassWizard will add data members here //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CDirBrowse) - protected: - virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support - //}}AFX_VIRTUAL + protected: + virtual void + DoDataExchange(CDataExchange *pDX); // DDX/DDV support + //}}AFX_VIRTUAL -protected: + protected: // Generated message map functions //{{AFX_MSG(CDirBrowse) - virtual BOOL OnInitDialog(); - afx_msg void OnDblclkDirlist(); - afx_msg void OnSelchangeDirlist(); + virtual BOOL + OnInitDialog(); + afx_msg void + OnDblclkDirlist(); + afx_msg void + OnSelchangeDirlist(); //}}AFX_MSG DECLARE_MESSAGE_MAP() -private: + private: CString m_selectedDir; }; diff --git a/bin/win32/BINDInstall/StdAfx.h b/bin/win32/BINDInstall/StdAfx.h index 67c9da8e35..c2f36aee6c 100644 --- a/bin/win32/BINDInstall/StdAfx.h +++ b/bin/win32/BINDInstall/StdAfx.h @@ -20,17 +20,17 @@ #pragma once #endif // _MSC_VER > 1000 -#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers +#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers -#include // MFC core and standard components -#include // MFC extensions -#include // MFC support for Internet Explorer 4 Common Controls +#include // MFC support for Internet Explorer 4 Common Controls +#include // MFC extensions +#include // MFC core and standard components #ifndef _AFX_NO_AFXCMN_SUPPORT -#include // MFC support for Windows Common Controls -#endif // _AFX_NO_AFXCMN_SUPPORT - +#include // MFC support for Windows Common Controls +#endif // _AFX_NO_AFXCMN_SUPPORT //{{AFX_INSERT_LOCATION}} -// Microsoft Visual C++ will insert additional declarations immediately before the previous line. +// Microsoft Visual C++ will insert additional declarations immediately before +// the previous line. #endif // !defined(AFX_STDAFX_H__61537819_39FC_11D3_A97A_00105A12BD65__INCLUDED_) diff --git a/bin/win32/BINDInstall/VersionInfo.h b/bin/win32/BINDInstall/VersionInfo.h index ec215401fb..c505205706 100644 --- a/bin/win32/BINDInstall/VersionInfo.h +++ b/bin/win32/BINDInstall/VersionInfo.h @@ -9,54 +9,88 @@ #pragma once #endif // _MSC_VER > 1000 -class CVersionInfo +class CVersionInfo { -public: + public: CVersionInfo(CString filename); virtual ~CVersionInfo(); - BOOL IsValid() {return m_isValid;} - DWORD GetStatus() {return m_status;} + BOOL + IsValid() + { + return m_isValid; + } + DWORD + GetStatus() + { + return m_status; + } - BOOL CopyFileCheckVersion(CVersionInfo &originalFile); - BOOL CopyFileNoVersion(CVersionInfo &originalFile); + BOOL + CopyFileCheckVersion(CVersionInfo &originalFile); + BOOL + CopyFileNoVersion(CVersionInfo &originalFile); - const CString &GetFilename() {return m_filename;} + const CString & + GetFilename() + { + return m_filename; + } // Extract the elements of the file's string info block - CString GetFileVersionString(); - CString GetProductVersionString(); - CString GetComments(); - CString GetFileDescription(); - CString GetInternalName(); - CString GetLegalCopyright(); - CString GetLegalTrademarks(); - CString GetOriginalFileName(); - CString GetProductName(); - CString GetSpecialBuildString(); - CString GetPrivateBuildString(); - CString GetCompanyName(); - + CString + GetFileVersionString(); + CString + GetProductVersionString(); + CString + GetComments(); + CString + GetFileDescription(); + CString + GetInternalName(); + CString + GetLegalCopyright(); + CString + GetLegalTrademarks(); + CString + GetOriginalFileName(); + CString + GetProductName(); + CString + GetSpecialBuildString(); + CString + GetPrivateBuildString(); + CString + GetCompanyName(); // Extract the elements of the file's VS_FIXEDFILEINFO block - _int64 GetFileVersion(); - _int64 GetProductVersion(); - _int64 GetFileDate(); + _int64 + GetFileVersion(); + _int64 + GetProductVersion(); + _int64 + GetFileDate(); - DWORD GetFileFlagMask(); - DWORD GetFileFlags(); - DWORD GetFileOS(); - DWORD GetFileType(); - DWORD GetFileSubType(); + DWORD + GetFileFlagMask(); + DWORD + GetFileFlags(); + DWORD + GetFileOS(); + DWORD + GetFileType(); + DWORD + GetFileSubType(); -private: - CString m_filename; - BOOL m_isValid; - LPVOID m_versionInfo; + private: + CString m_filename; + BOOL m_isValid; + LPVOID m_versionInfo; VS_FIXEDFILEINFO *m_fixedInfo; - DWORD m_codePage; - DWORD m_status; + DWORD m_codePage; + DWORD m_status; - CString QueryStringValue(CString value); + CString + QueryStringValue(CString value); }; #endif // !defined(AFX_VERSIONINFO_H__F82E9FF3_5298_11D4_AB87_00C04F789BA0__INCLUDED_) diff --git a/bin/win32/BINDInstall/resource.h b/bin/win32/BINDInstall/resource.h index 6551205f54..11cb75b3ea 100644 --- a/bin/win32/BINDInstall/resource.h +++ b/bin/win32/BINDInstall/resource.h @@ -2,104 +2,104 @@ // Microsoft Developer Studio generated include file. // Used by BINDInstall.rc // -#define IDS_MAINFRAME 1 -#define IDS_CREATEDIR 2 -#define IDS_SUCCESS 3 -#define IDS_FAIL 4 -#define IDS_DIREXIST 5 -#define IDS_INSTALL_DIR 6 -#define IDS_INSTALL_FILE 7 -#define IDS_INSTALL_SERVICE 8 -#define IDS_INSTALL_MESSAGE 9 -#define IDS_UNINSTALL 14 -#define IDS_UNINSTALL_DONE 15 -#define IDS_CREATE_KEY 16 -#define IDS_ADD_REMOVE 17 -#define IDS_CLEANUP 18 -#define IDS_INSTALL_DONE 19 -#define IDS_CREATE_DIR 20 -#define IDS_REMOVE_DIR 21 -#define IDS_COPY_FILE 22 -#define IDS_DELETE_FILE 23 -#define IDS_OPEN_SCM 24 -#define IDS_CREATE_SERVICE 25 -#define IDS_OPEN_SERVICE 26 -#define IDS_REMOVE_SERVICE 27 -#define IDS_REGISTER_MESSAGES 28 -#define IDS_UNREGISTER_MESSAGES 29 -#define IDS_STOP_SERVICE 30 -#define IDS_START_SERVICE 31 -#define IDS_UNINSTALL_DIR 32 -#define IDS_UNINSTALL_FILES 33 -#define IDS_UNINSTALL_SERVICE 34 -#define IDS_UNINSTALL_MESSAGE 35 -#define IDS_ERR_OPEN_SCM 36 -#define IDS_ERR_OPEN_SERVICE 37 -#define IDS_ERR_STOP_SERVICE 38 -#define IDS_ERR_NONCRIT_FILE 39 -#define IDS_ERR_CRITICAL_FILE 40 -#define IDS_ERR_COPY_FILE 40 -#define IDS_ERR_CREATE_SERVICE 41 -#define IDS_ERR_REMOVE_SERVICE 42 -#define IDS_REBOOT 43 -#define IDS_BAD_PRIVILEGES 44 -#define IDS_ERR_CREATE_DIR 45 -#define IDS_VERSION 46 -#define IDS_ERR_CREATE_KEY 47 -#define IDS_ERR_SET_VALUE 48 -#define IDS_NO_VERSION 49 -#define IDS_EXISTING_NEWER 50 -#define IDS_FILE_BAD 51 -#define IDS_ERR_TOOPRIVED 52 -#define IDS_ERR_BADACCOUNT 53 -#define IDS_ERR_WRONGPRIV 54 -#define IDS_CREATEACCOUNT_FAILED 55 -#define IDS_ERR_PASSWORD 56 -#define IDS_ERR_UPDATE_SERVICE 57 -#define IDS_ERR_NULLPASSWORD 58 -#define IDS_ERR_WHITESPACE 59 -#define IDD_BINDINSTALL_DIALOG 102 -#define IDR_MAINFRAME 128 -#define IDD_BROWSE 129 -#define IDI_CHECK 130 -#define IDI_X 132 -#define IDC_CURSOR1 142 -#define IDD_DIALOG1 143 -#define IDC_TARGETDIR 1001 -#define IDC_BROWSE 1002 -#define IDC_DIRLIST 1004 -#define IDC_CURDIR 1005 -#define IDC_INSTALL 1006 -#define IDC_COPY_FILE 1007 -#define IDC_REG_SERVICE 1008 -#define IDC_REG_MESSAGE 1009 -#define IDC_CREATE_DIR 1010 -#define IDC_EXIT 1011 -#define IDC_DIR_TAG 1012 -#define IDC_COPY_TAG 1013 -#define IDC_SERVICE_TAG 1014 -#define IDC_MESSAGE_TAG 1015 -#define IDC_AUTO_START 1016 -#define IDC_UNINSTALL 1017 -#define IDC_VERSION 1018 -#define IDC_KEEP_FILES 1019 -#define IDC_CURRENT_TAG 1020 -#define IDC_DRIVES 1021 -#define IDC_CURRENT 1021 -#define IDC_START 1022 -#define IDC_ACCOUNT_NAME 1030 -#define IDC_ACCOUNT_PASSWORD 1031 -#define IDC_ACCOUNT_PASSWORD_CONFIRM 1032 -#define IDC_TOOLS_ONLY 1033 -#define IDS_ERR_START_SERVICE 1034 +#define IDS_MAINFRAME 1 +#define IDS_CREATEDIR 2 +#define IDS_SUCCESS 3 +#define IDS_FAIL 4 +#define IDS_DIREXIST 5 +#define IDS_INSTALL_DIR 6 +#define IDS_INSTALL_FILE 7 +#define IDS_INSTALL_SERVICE 8 +#define IDS_INSTALL_MESSAGE 9 +#define IDS_UNINSTALL 14 +#define IDS_UNINSTALL_DONE 15 +#define IDS_CREATE_KEY 16 +#define IDS_ADD_REMOVE 17 +#define IDS_CLEANUP 18 +#define IDS_INSTALL_DONE 19 +#define IDS_CREATE_DIR 20 +#define IDS_REMOVE_DIR 21 +#define IDS_COPY_FILE 22 +#define IDS_DELETE_FILE 23 +#define IDS_OPEN_SCM 24 +#define IDS_CREATE_SERVICE 25 +#define IDS_OPEN_SERVICE 26 +#define IDS_REMOVE_SERVICE 27 +#define IDS_REGISTER_MESSAGES 28 +#define IDS_UNREGISTER_MESSAGES 29 +#define IDS_STOP_SERVICE 30 +#define IDS_START_SERVICE 31 +#define IDS_UNINSTALL_DIR 32 +#define IDS_UNINSTALL_FILES 33 +#define IDS_UNINSTALL_SERVICE 34 +#define IDS_UNINSTALL_MESSAGE 35 +#define IDS_ERR_OPEN_SCM 36 +#define IDS_ERR_OPEN_SERVICE 37 +#define IDS_ERR_STOP_SERVICE 38 +#define IDS_ERR_NONCRIT_FILE 39 +#define IDS_ERR_CRITICAL_FILE 40 +#define IDS_ERR_COPY_FILE 40 +#define IDS_ERR_CREATE_SERVICE 41 +#define IDS_ERR_REMOVE_SERVICE 42 +#define IDS_REBOOT 43 +#define IDS_BAD_PRIVILEGES 44 +#define IDS_ERR_CREATE_DIR 45 +#define IDS_VERSION 46 +#define IDS_ERR_CREATE_KEY 47 +#define IDS_ERR_SET_VALUE 48 +#define IDS_NO_VERSION 49 +#define IDS_EXISTING_NEWER 50 +#define IDS_FILE_BAD 51 +#define IDS_ERR_TOOPRIVED 52 +#define IDS_ERR_BADACCOUNT 53 +#define IDS_ERR_WRONGPRIV 54 +#define IDS_CREATEACCOUNT_FAILED 55 +#define IDS_ERR_PASSWORD 56 +#define IDS_ERR_UPDATE_SERVICE 57 +#define IDS_ERR_NULLPASSWORD 58 +#define IDS_ERR_WHITESPACE 59 +#define IDD_BINDINSTALL_DIALOG 102 +#define IDR_MAINFRAME 128 +#define IDD_BROWSE 129 +#define IDI_CHECK 130 +#define IDI_X 132 +#define IDC_CURSOR1 142 +#define IDD_DIALOG1 143 +#define IDC_TARGETDIR 1001 +#define IDC_BROWSE 1002 +#define IDC_DIRLIST 1004 +#define IDC_CURDIR 1005 +#define IDC_INSTALL 1006 +#define IDC_COPY_FILE 1007 +#define IDC_REG_SERVICE 1008 +#define IDC_REG_MESSAGE 1009 +#define IDC_CREATE_DIR 1010 +#define IDC_EXIT 1011 +#define IDC_DIR_TAG 1012 +#define IDC_COPY_TAG 1013 +#define IDC_SERVICE_TAG 1014 +#define IDC_MESSAGE_TAG 1015 +#define IDC_AUTO_START 1016 +#define IDC_UNINSTALL 1017 +#define IDC_VERSION 1018 +#define IDC_KEEP_FILES 1019 +#define IDC_CURRENT_TAG 1020 +#define IDC_DRIVES 1021 +#define IDC_CURRENT 1021 +#define IDC_START 1022 +#define IDC_ACCOUNT_NAME 1030 +#define IDC_ACCOUNT_PASSWORD 1031 +#define IDC_ACCOUNT_PASSWORD_CONFIRM 1032 +#define IDC_TOOLS_ONLY 1033 +#define IDS_ERR_START_SERVICE 1034 // Next default values for new objects -// +// #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 144 -#define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1027 -#define _APS_NEXT_SYMED_VALUE 104 +#define _APS_NEXT_RESOURCE_VALUE 144 +#define _APS_NEXT_COMMAND_VALUE 32771 +#define _APS_NEXT_CONTROL_VALUE 1027 +#define _APS_NEXT_SYMED_VALUE 104 #endif #endif diff --git a/bind.keys.h b/bind.keys.h index 8e83c13fd0..4d156dac4e 100644 --- a/bind.keys.h +++ b/bind.keys.h @@ -1,6 +1,7 @@ #ifndef BIND_KEYS_H #define BIND_KEYS_H 1 -#define TRUST_ANCHORS "\ +#define TRUST_ANCHORS \ + "\ # The bind.keys file is used to override the built-in DNSSEC trust anchors\n\ # which are included as part of BIND 9. The only trust anchors it contains\n\ # are for the DNS root zone (\".\"). Trust anchors for any other zones MUST\n\ diff --git a/conftools/perllib/dnsconf/DNSConf-macros.h b/conftools/perllib/dnsconf/DNSConf-macros.h index 730dcb0161..c91f5683d3 100644 --- a/conftools/perllib/dnsconf/DNSConf-macros.h +++ b/conftools/perllib/dnsconf/DNSConf-macros.h @@ -9,41 +9,40 @@ * information regarding copyright ownership. */ +#define CONCAT(a, b) a##b +#define DNSCONF_SET_STRING(FIELD) \ + void CONCAT(DNSConf_set, FIELD)(DNSConf * cfg, const char *arg) \ + { \ + DBGPRINT("inside DNSConf_set" #FIELD "\n"); \ + \ + if (!DNSConf_initctx(cfg)) \ + return; \ + \ + if (arg == NULL) { \ + DBGPRINT("null pointer\n"); \ + CONCAT(dns_c_ctx_unset, FIELD)(cfg->confctx); \ + } else if (*arg == '\0') { \ + DBGPRINT("empty string\n"); \ + CONCAT(dns_c_ctx_unset, FIELD)(cfg->confctx); \ + } else \ + CONCAT(dns_c_ctx_set, FIELD)(cfg->confctx, arg); \ + } -#define CONCAT(a,b) a ## b -#define DNSCONF_SET_STRING(FIELD) \ -void CONCAT(DNSConf_set, FIELD)(DNSConf *cfg, const char *arg) { \ - \ - DBGPRINT("inside DNSConf_set" #FIELD "\n"); \ - \ - if (!DNSConf_initctx(cfg)) \ - return; \ - \ - if (arg == NULL) { \ - DBGPRINT("null pointer\n"); \ - CONCAT(dns_c_ctx_unset, FIELD)(cfg->confctx); \ - } else if (*arg == '\0') { \ - DBGPRINT("empty string\n"); \ - CONCAT(dns_c_ctx_unset, FIELD)(cfg->confctx); \ - } else \ - CONCAT(dns_c_ctx_set, FIELD)(cfg->confctx, arg); \ -} - -#define DNSCONF_GET_STRING(FIELD) \ -char * CONCAT(DNSConf_get, FIELD)(DNSConf *cfg) { \ - char *result = NULL; \ - isc_result_t tmpres; \ - \ - if (cfg == NULL || cfg->confctx == NULL) \ - return NULL; \ - \ - tmpres = CONCAT(dns_c_ctx_get, FIELD)(cfg->confctx, &result); \ - if (tmpres == ISC_R_NOTFOUND) \ - return NULL; \ - \ - return result; \ -} \ - +#define DNSCONF_GET_STRING(FIELD) \ + char *CONCAT(DNSConf_get, FIELD)(DNSConf * cfg) \ + { \ + char * result = NULL; \ + isc_result_t tmpres; \ + \ + if (cfg == NULL || cfg->confctx == NULL) \ + return NULL; \ + \ + tmpres = CONCAT(dns_c_ctx_get, FIELD)(cfg->confctx, &result); \ + if (tmpres == ISC_R_NOTFOUND) \ + return NULL; \ + \ + return result; \ + } #define STRING_FIELD_DEFS(FIELD) \ DNSCONF_GET_STRING(FIELD) DNSCONF_SET_STRING(FIELD) diff --git a/contrib/dlz/bin/dlzbdb/dlzbdb.c b/contrib/dlz/bin/dlzbdb/dlzbdb.c index d01a50a34b..94633b421d 100644 --- a/contrib/dlz/bin/dlzbdb/dlzbdb.c +++ b/contrib/dlz/bin/dlzbdb/dlzbdb.c @@ -1,11 +1,11 @@ /* * Copyright (C) 2002 Stichting NLnet, Netherlands, stichting@nlnet.nl. - * + * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the * above copyright notice and this permission notice appear in all * copies. - * + * * THE SOFTWARE IS PROVIDED "AS IS" AND STICHTING NLNET * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL @@ -14,15 +14,15 @@ * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE * USE OR PERFORMANCE OF THIS SOFTWARE. - * + * * The development of Dynamically Loadable Zones (DLZ) for Bind 9 was * conceived and contributed by Rob Butler. - * + * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the * above copyright notice and this permission notice appear in all * copies. - * + * * THE SOFTWARE IS PROVIDED "AS IS" AND ROB BUTLER * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL @@ -52,10 +52,11 @@ * 4 Unable to allocate memory for, or create lexer. * 5 unable to perform BDB cursor operation */ +#include #include #include -#include #include +#include #include #include @@ -66,8 +67,6 @@ #include #include -#include - /* shut up compiler warnings about no previous prototype */ static void @@ -112,9 +111,8 @@ operation_bulk(void); void operation_listOrDelete(bool dlt); - /*% - * Maximum length of a single data line that + * Maximum length of a single data line that * may be inserted into database by this program. * If you need to insert a line of data that is more * than 10,000 characters change this definition. @@ -124,7 +122,7 @@ operation_listOrDelete(bool dlt); /*% * BDB database names. If you want to use different - * database names change them here. + * database names change them here. */ #define dlz_data "dns_data" @@ -132,7 +130,6 @@ operation_listOrDelete(bool dlt); #define dlz_host "dns_host" #define dlz_client "dns_client" - /*% * Error code returned by BDB secondary index callback functions. * This error is returned if the callback function could not create @@ -144,31 +141,33 @@ operation_listOrDelete(bool dlt); /* A struct to hold all the relevant info about the database */ typedef struct bdb_instance { - DB_ENV *dbenv; /* BDB environment */ - DB *data; /* dns_data database handle */ - DBC *cursor; /* database cursor */ - DBC *cursor2; /* second cursor used during list operation. */ - DBC *cursor3; /* third cursor used during list operation */ - DBC *cursor4; /* fourth cursor used during list operation */ - DB *zone; /* zone database handle */ - DB *host; /* host database handle */ - DB *client; /* client database handle */ + DB_ENV *dbenv; /* BDB environment */ + DB * data; /* dns_data database handle */ + DBC * cursor; /* database cursor */ + DBC * cursor2; /* second cursor used during list operation. */ + DBC * cursor3; /* third cursor used during list operation */ + DBC * cursor4; /* fourth cursor used during list operation */ + DB * zone; /* zone database handle */ + DB * host; /* host database handle */ + DB * client; /* client database handle */ } bdb_instance_t; /* Possible operations */ -#define list 1 /* list data */ -#define dele 2 /* delete data */ -#define add 3 /* add a single piece of data */ -#define bulk 4 /* bulk load data */ - +#define list 1 /* list data */ +#define dele 2 /* delete data */ +#define add 3 /* add a single piece of data */ +#define bulk 4 /* bulk load data */ /*% * quit macro is used instead of exit. quit always trys to close the lexer * and the BDB database before exiting. */ -#define quit(i) close_lexer(); bdb_cleanup(); exit(i); +#define quit(i) \ + close_lexer(); \ + bdb_cleanup(); \ + exit(i); /*% * checkOp is used to verify that only one operation (list, del, add, @@ -177,8 +176,12 @@ typedef struct bdb_instance { * line, which would make no sense anyway. */ -#define checkOp(x) if (x != 0) {fprintf(stderr, "\nonly one operation "\ - "(l e d a f s) may be specified\n"); quit(2);} +#define checkOp(x) \ + if (x != 0) { \ + fprintf(stderr, "\nonly one operation " \ + "(l e d a f s) may be specified\n"); \ + quit(2); \ + } /*% * checkParam is used to only allow a parameter to be specified once. @@ -186,8 +189,14 @@ typedef struct bdb_instance { * any attempt to use it twice causes an error. */ -#define checkParam(x, y) if (x != NULL) {fprintf(stderr, "\n%s may only "\ - "be specified once\n", y); quit(2);} +#define checkParam(x, y) \ + if (x != NULL) { \ + fprintf(stderr, \ + "\n%s may only " \ + "be specified once\n", \ + y); \ + quit(2); \ + } /*% * checkInvalidParam is used to only allow paramters which make sense for @@ -195,8 +204,14 @@ typedef struct bdb_instance { * for the add operation, and thus it isn't allowed. */ -#define checkInvalidParam(x, y, z) if (x != NULL) {fprintf(stderr, "\n%s "\ - "may not be specified %s\n", y, z); quit(2);} +#define checkInvalidParam(x, y, z) \ + if (x != NULL) { \ + fprintf(stderr, \ + "\n%s " \ + "may not be specified %s\n", \ + y, z); \ + quit(2); \ + } /*% * checkInvalidOption is used to only allow paramters which make sense for @@ -206,40 +221,46 @@ typedef struct bdb_instance { * if w == x then output error message "flag", "message" */ -#define checkInvalidOption(w, x, y, z) if (w == x) {fprintf(stderr, "\n%s "\ - "may not be specified %s\n", y, z); quit(2);} +#define checkInvalidOption(w, x, y, z) \ + if (w == x) { \ + fprintf(stderr, \ + "\n%s " \ + "may not be specified %s\n", \ + y, z); \ + quit(2); \ + } /* Global Variables */ -int operation = 0; /*%< operation to perform. */ +int operation = 0; /*%< operation to perform. */ /*% allow new lock files or DB to be created. */ -bool create_allowed = false; -char *key = NULL; /*%< key to use in list & del operations */ +bool create_allowed = false; +char *key = NULL; /*%< key to use in list & del operations */ /*% dump DB in DLZBDB bulk format */ -bool list_everything = false; +bool list_everything = false; unsigned int key_val; /*%< key as unsigned int used in list & del operations */ -char *zone = NULL; /*%< zone to use in list operations */ -char *host = NULL; /*%< host to use in list operations */ -char *c_zone = NULL; /*%< client zone to use in list operations */ -char *c_ip = NULL; /*%< client IP to use in list operations */ -char *a_data = NULL; /*%< data in add operation */ -char *bulk_file = NULL; /*%< bulk data file to load */ -char *db_envdir = NULL; /*%< BDB environment location */ -char *db_file = NULL; /*%< BDB database file location. */ -bdb_instance_t db; /* BDB instance we are operating on */ -isc_lex_t *lexer = NULL; /*%< lexer for use to use in parsing input */ -isc_mem_t *lex_mctx = NULL; /*%< memory context for lexer */ +char * zone = NULL; /*%< zone to use in list operations */ +char * host = NULL; /*%< host to use in list operations */ +char * c_zone = NULL; /*%< client zone to use in list operations */ +char * c_ip = NULL; /*%< client IP to use in list operations */ +char * a_data = NULL; /*%< data in add operation */ +char * bulk_file = NULL; /*%< bulk data file to load */ +char * db_envdir = NULL; /*%< BDB environment location */ +char * db_file = NULL; /*%< BDB database file location. */ +bdb_instance_t db; /* BDB instance we are operating on */ +isc_lex_t * lexer = NULL; /*%< lexer for use to use in parsing input */ +isc_mem_t * lex_mctx = NULL; /*%< memory context for lexer */ char lex_data_buf[max_data_len]; /*%< data array to use for lex_buffer below */ -isc_buffer_t lex_buffer; /*%< buffer for lexer during add operation */ - +isc_buffer_t lex_buffer; /*%< buffer for lexer during add operation */ /*% * Displays usage message */ static void -show_usage(void) { +show_usage(void) +{ fprintf(stderr, "\n\n\ ---Usage:---------------------------------------------------------------------\ \n\n\ @@ -277,14 +298,14 @@ d mynm.com @ SOA 10 ns1.mynm.com. root.mynm.com. 2 28800 7200 604800 86400\n\ c mynm.com 127.0.0.1\n\ c mynm.com 192.168.0.10\n\ "); -quit(1); + quit(1); } - /*% BDB callback to create zone secondary index */ int -getzone(DB *dbp, const DBT *pkey, const DBT *pdata, DBT *skey) { +getzone(DB *dbp, const DBT *pkey, const DBT *pdata, DBT *skey) +{ char *token, *last; UNUSED(dbp); @@ -310,7 +331,8 @@ getzone(DB *dbp, const DBT *pkey, const DBT *pdata, DBT *skey) { */ int -gethost(DB *dbp, const DBT *pkey, const DBT *pdata, DBT *skey) { +gethost(DB *dbp, const DBT *pkey, const DBT *pdata, DBT *skey) +{ char *token, *last; UNUSED(dbp); @@ -325,7 +347,7 @@ gethost(DB *dbp, const DBT *pkey, const DBT *pdata, DBT *skey) { if ((token = strtok_r(NULL, " ", &last)) == NULL) { return BDBparseErr; } - + /* copy string for "host" secondary index */ if ((skey->data = strdup(token)) == NULL) { return BDBparseErr; @@ -344,8 +366,8 @@ gethost(DB *dbp, const DBT *pkey, const DBT *pdata, DBT *skey) { */ void -bdb_cleanup(void) { - +bdb_cleanup(void) +{ /* close cursors */ if (db.cursor4 != NULL) { db.cursor4->c_close(db.cursor4); @@ -395,21 +417,24 @@ bdb_cleanup(void) { /*% Initializes, sets flags and then opens Berkeley databases. */ isc_result_t -bdb_opendb(DBTYPE db_type, DB **db_out, const char *db_name, int flags) { - +bdb_opendb(DBTYPE db_type, DB **db_out, const char *db_name, int flags) +{ int result; int createFlag = 0; /* Initialize the database. */ if ((result = db_create(db_out, db.dbenv, 0)) != 0) { - fprintf(stderr, "BDB could not initialize %s database. BDB error: %s", + fprintf(stderr, + "BDB could not initialize %s database. BDB error: %s", db_name, db_strerror(result)); return ISC_R_FAILURE; } /* set database flags. */ if ((result = (*db_out)->set_flags(*db_out, flags)) != 0) { - fprintf(stderr, "BDB could not set flags for %s database. BDB error: %s", + fprintf(stderr, + "BDB could not set flags for %s database. BDB error: " + "%s", db_name, db_strerror(result)); return ISC_R_FAILURE; } @@ -420,7 +445,8 @@ bdb_opendb(DBTYPE db_type, DB **db_out, const char *db_name, int flags) { /* open the database. */ if ((result = (*db_out)->open(*db_out, NULL, db_file, db_name, db_type, createFlag, 0)) != 0) { - fprintf(stderr, "BDB could not open %s database in %s. BDB error: %s", + fprintf(stderr, + "BDB could not open %s database in %s. BDB error: %s", db_name, db_file, db_strerror(result)); return ISC_R_FAILURE; } @@ -436,8 +462,8 @@ bdb_opendb(DBTYPE db_type, DB **db_out, const char *db_name, int flags) { */ void -put_data(bool dns_data, char *input_key, char *input_data) { - +put_data(bool dns_data, char *input_key, char *input_data) +{ int bdbres; DBT key, data; @@ -472,51 +498,57 @@ put_data(bool dns_data, char *input_key, char *input_data) { } void -insert_data(void) { - unsigned int opt = - ISC_LEXOPT_EOL | /* Want end-of-line token. */ - ISC_LEXOPT_EOF | /* Want end-of-file token. */ - ISC_LEXOPT_QSTRING | /* Recognize qstrings. */ - ISC_LEXOPT_QSTRINGMULTILINE; /* Allow multiline "" strings */ +insert_data(void) +{ + unsigned int opt = ISC_LEXOPT_EOL | /* Want end-of-line token. */ + ISC_LEXOPT_EOF | /* Want end-of-file token. */ + ISC_LEXOPT_QSTRING | /* Recognize qstrings. */ + ISC_LEXOPT_QSTRINGMULTILINE; /* Allow multiline "" + strings */ isc_result_t result; - isc_token_t token; /* token from lexer */ - bool loop = true; - bool have_czone = false; - char data_arr[max_data_len]; + isc_token_t token; /* token from lexer */ + bool loop = true; + bool have_czone = false; + char data_arr[max_data_len]; isc_buffer_t buf; - char data_arr2[max_data_len]; + char data_arr2[max_data_len]; isc_buffer_t buf2; - char data_type = 'u'; /* u =unknown, b =bad token, d/D =DNS, c/C =client IP */ + char data_type = 'u'; /* u =unknown, b =bad token, d/D =DNS, c/C =client + IP */ /* Initialize buffers */ isc_buffer_init(&buf, &data_arr, max_data_len); isc_buffer_init(&buf2, &data_arr2, max_data_len); while (loop) { - result = isc_lex_gettoken(lexer, opt, &token); - if (result != ISC_R_SUCCESS) + result = isc_lex_gettoken(lexer, opt, &token); + if (result != ISC_R_SUCCESS) goto data_cleanup; - switch(token.type) { + switch (token.type) { case isc_tokentype_string: if (data_type == 'u') { /* store data_type */ strncpy(&data_type, token.value.as_pointer, 1); - /* verify data_type was specified correctly on input */ - if (strlen(token.value.as_pointer) > 1 || ( - data_type != 'd' && data_type != 'D' && - data_type != 'c' && data_type != 'C') ) { - /* if not, set to 'b' so this line is ignored. */ + /* verify data_type was specified correctly on + * input */ + if (strlen(token.value.as_pointer) > 1 || + (data_type != 'd' && data_type != 'D' && + data_type != 'c' && data_type != 'C')) { + /* if not, set to 'b' so this line is + * ignored. */ data_type = 'b'; } } else if (data_type == 'c' || data_type == 'C') { if (have_czone == true) { - isc_buffer_putstr(&buf2, token.value.as_pointer); + isc_buffer_putstr( + &buf2, token.value.as_pointer); /* add string terminator to buffer */ isc_buffer_putmem(&buf2, "\0", 1); } else { - isc_buffer_putstr(&buf, token.value.as_pointer); + isc_buffer_putstr( + &buf, token.value.as_pointer); /* add string terminator to buffer */ isc_buffer_putmem(&buf, "\0", 1); have_czone = true; @@ -533,34 +565,45 @@ insert_data(void) { break; case isc_tokentype_eol: case isc_tokentype_eof: - - if ((data_type != 'u' && isc_buffer_usedlength(&buf) > 0) || data_type == 'b') { + + if ((data_type != 'u' && + isc_buffer_usedlength(&buf) > 0) || + data_type == 'b') { /* perform insert operation */ if (data_type == 'd' || data_type == 'D') { /* add string terminator to buffer */ isc_buffer_putmem(&buf, "\0", 1); - put_data(true, NULL, (char *) &data_arr); - } else if (data_type == 'c' || data_type == 'C') { - put_data(false, (char *) &data_arr, - (char *) &data_arr2); + put_data(true, NULL, (char *)&data_arr); + } else if (data_type == 'c' || + data_type == 'C') { + put_data(false, (char *)&data_arr, + (char *)&data_arr2); } else if (data_type == 'b') { - fprintf(stderr, "Bad / unknown token encountered on line %lu."\ - " Skipping line.", isc_lex_getsourceline(lexer) - 1); + fprintf(stderr, + "Bad / unknown token " + "encountered on line %lu." + " Skipping line.", + isc_lex_getsourceline(lexer) - + 1); } else { - fprintf(stderr, "Bad / unknown db data type encountered on " \ - "line %lu. Skipping line\n", isc_lex_getsourceline(lexer) - 1); + fprintf(stderr, + "Bad / unknown db data type " + "encountered on " + "line %lu. Skipping line\n", + isc_lex_getsourceline(lexer) - + 1); } } if (token.type == isc_tokentype_eof) { loop = false; - } + } /* reset buffer for next insert */ isc_buffer_clear(&buf); isc_buffer_clear(&buf2); have_czone = false; - data_type ='u'; + data_type = 'u'; break; default: data_type = 'b'; @@ -570,25 +613,26 @@ insert_data(void) { return; - data_cleanup: +data_cleanup: /* let user know we had problems */ - fprintf(stderr, "Unknown error processing tokens during \"add\" or " \ - "\"bulk\" operation.\nStoped processing on line %lu.", + fprintf(stderr, + "Unknown error processing tokens during \"add\" or " + "\"bulk\" operation.\nStoped processing on line %lu.", isc_lex_getsourceline(lexer)); } - isc_result_t -openBDB(void) { - - int bdbres; +openBDB(void) +{ + int bdbres; isc_result_t result; /* create BDB environment */ /* Basically BDB allocates and assigns memory to db->dbenv */ bdbres = db_env_create(&db.dbenv, 0); if (bdbres != 0) { - fprintf(stderr, "BDB environment could not be created. BDB error: %s", + fprintf(stderr, + "BDB environment could not be created. BDB error: %s", db_strerror(bdbres)); result = ISC_R_FAILURE; goto openBDB_cleanup; @@ -597,15 +641,18 @@ openBDB(void) { /* open BDB environment */ if (create_allowed == true) { /* allowed to create new files */ - bdbres = db.dbenv->open(db.dbenv, db_envdir, - DB_INIT_CDB | DB_INIT_MPOOL | DB_CREATE, 0); - } else { /* not allowed to create new files. */ - bdbres = db.dbenv->open(db.dbenv, db_envdir, + bdbres = db.dbenv->open(db.dbenv, db_envdir, + DB_INIT_CDB | DB_INIT_MPOOL | DB_CREATE, + 0); + } else { /* not allowed to create new files. */ + bdbres = db.dbenv->open(db.dbenv, db_envdir, DB_INIT_CDB | DB_INIT_MPOOL, 0); } if (bdbres != 0) { - fprintf(stderr, "BDB environment at '%s' could not be opened. BDB " \ - "error: %s", db_envdir, db_strerror(bdbres)); + fprintf(stderr, + "BDB environment at '%s' could not be opened. BDB " + "error: %s", + db_envdir, db_strerror(bdbres)); result = ISC_R_FAILURE; goto openBDB_cleanup; } @@ -615,7 +662,7 @@ openBDB(void) { result = bdb_opendb(DB_RECNO, &db.data, dlz_data, 0); if (result != ISC_R_SUCCESS) goto openBDB_cleanup; - + /* open dlz_host database */ result = bdb_opendb(DB_BTREE, &db.host, dlz_host, DB_DUP | DB_DUPSORT); if (result != ISC_R_SUCCESS) @@ -627,15 +674,18 @@ openBDB(void) { goto openBDB_cleanup; /* open dlz_client database. */ - result = bdb_opendb(DB_BTREE, &db.client, dlz_client, DB_DUP | DB_DUPSORT); + result = bdb_opendb(DB_BTREE, &db.client, dlz_client, + DB_DUP | DB_DUPSORT); if (result != ISC_R_SUCCESS) goto openBDB_cleanup; /* associate the host secondary database with the primary database */ bdbres = db.data->associate(db.data, NULL, db.host, gethost, 0); if (bdbres != 0) { - fprintf(stderr, "BDB could not associate %s database with %s. BDB "\ - "error: %s", dlz_host, dlz_data, db_strerror(bdbres)); + fprintf(stderr, + "BDB could not associate %s database with %s. BDB " + "error: %s", + dlz_host, dlz_data, db_strerror(bdbres)); result = ISC_R_FAILURE; goto openBDB_cleanup; } @@ -643,15 +693,17 @@ openBDB(void) { /* associate the zone secondary database with the primary database */ bdbres = db.data->associate(db.data, NULL, db.zone, getzone, 0); if (bdbres != 0) { - fprintf(stderr, "BDB could not associate %s database with %s. BDB "\ - "error: %s", dlz_zone, dlz_data, db_strerror(bdbres)); + fprintf(stderr, + "BDB could not associate %s database with %s. BDB " + "error: %s", + dlz_zone, dlz_data, db_strerror(bdbres)); result = ISC_R_FAILURE; goto openBDB_cleanup; } return result; - openBDB_cleanup: +openBDB_cleanup: bdb_cleanup(); return result; @@ -660,7 +712,8 @@ openBDB(void) { /*% Create & open lexer to parse input data */ isc_result_t -open_lexer(void) { +open_lexer(void) +{ isc_result_t result; /* check if we already opened the lexer, if we did, return success */ @@ -676,9 +729,15 @@ open_lexer(void) { fprintf(stderr, "unexpected error creating lexer\n"); /* set allowed commenting style */ - isc_lex_setcomments(lexer, ISC_LEXCOMMENT_C | /* Allow C comments */ - ISC_LEXCOMMENT_CPLUSPLUS | /* Allow C++ comments */ - ISC_LEXCOMMENT_SHELL); /* Allow shellcomments */ + isc_lex_setcomments(lexer, + ISC_LEXCOMMENT_C | /* Allow C comments */ + ISC_LEXCOMMENT_CPLUSPLUS | /* Allow + C++ + comments + */ + ISC_LEXCOMMENT_SHELL); /* Allow + shellcomments + */ isc_buffer_init(&lex_buffer, &lex_data_buf, max_data_len); @@ -688,8 +747,8 @@ open_lexer(void) { /*% Close the lexer, and cleanup memory */ void -close_lexer(void) { - +close_lexer(void) +{ /* If lexer is still open, close it & destroy it. */ if (lexer != NULL) { isc_lex_close(lexer); @@ -704,38 +763,40 @@ close_lexer(void) { /*% Perform add operation */ void -operation_add(void) { +operation_add(void) +{ /* check for any parameters that are not allowed during add */ checkInvalidParam(key, "k", "for add operation"); checkInvalidParam(zone, "z", "for add operation"); checkInvalidParam(host, "h", "for add operation"); checkInvalidParam(c_zone, "c", "for add operation"); checkInvalidParam(c_ip, "i", "for add operation"); - checkInvalidOption(list_everything, true, "e", - "for add operation"); + checkInvalidOption(list_everything, true, "e", "for add operation"); /* if open lexer fails it alread prints error messages. */ if (open_lexer() != ISC_R_SUCCESS) { quit(4); } - + /* copy input data to buffer */ isc_buffer_putstr(&lex_buffer, a_data); - + /* tell lexer to use buffer as input */ if (isc_lex_openbuffer(lexer, &lex_buffer) != ISC_R_SUCCESS) { fprintf(stderr, "unexpected error opening lexer buffer"); quit(4); } - /*common logic for "add" & "bulk" operations are handled by insert_data */ + /*common logic for "add" & "bulk" operations are handled by insert_data + */ insert_data(); } /*% Perform bulk insert operation */ void -operation_bulk(void) { +operation_bulk(void) +{ /* check for any parameters that are not allowed during bulk */ checkInvalidParam(key, "k", "for bulk load operation"); checkInvalidParam(zone, "z", "for bulk load operation"); @@ -752,35 +813,38 @@ operation_bulk(void) { if (bulk_file == NULL) { if (isc_lex_openstream(lexer, stdin) != ISC_R_SUCCESS) { - fprintf(stderr, "unexpected error opening stdin by lexer."); - quit(4); + fprintf(stderr, "unexpected error opening stdin by " + "lexer."); + quit(4); } } else if (isc_lex_openfile(lexer, bulk_file) != ISC_R_SUCCESS) { - fprintf(stderr, "unexpected error opening %s by lexer.", bulk_file); + fprintf(stderr, "unexpected error opening %s by lexer.", + bulk_file); quit(4); } - /* common logic for "add" & "bulk" operations are handled by insert_data */ - insert_data(); + /* common logic for "add" & "bulk" operations are handled by insert_data + */ + insert_data(); } isc_result_t -bulk_write(char type, DB *database, DBC *dbcursor, DBT *bdbkey, DBT *bdbdata) { - - int bdbres; +bulk_write(char type, DB *database, DBC *dbcursor, DBT *bdbkey, DBT *bdbdata) +{ + int bdbres; db_recno_t recNum; - char *retkey = NULL, *retdata; - size_t retklen = 0, retdlen; - void *p; + char * retkey = NULL, *retdata; + size_t retklen = 0, retdlen; + void * p; /* use a 5MB buffer for the bulk dump */ int buffer_size = 5 * 1024 * 1024; - + /* try to allocate a 5 MB buffer, if we fail write err msg, die. */ bdbdata->data = malloc(buffer_size); if (bdbdata->data == NULL) { - fprintf(stderr, - "Unable to allocate 5 MB buffer for bulk database dump\n"); + fprintf(stderr, "Unable to allocate 5 MB buffer for bulk " + "database dump\n"); return ISC_R_FAILURE; } bdbdata->ulen = buffer_size; @@ -789,22 +853,23 @@ bulk_write(char type, DB *database, DBC *dbcursor, DBT *bdbkey, DBT *bdbdata) { /* get a cursor, make sure it worked. */ bdbres = database->cursor(database, NULL, &dbcursor, 0); if (bdbres != 0) { - fprintf(stderr, "Unexpected error. BDB Error: %s\n",db_strerror(bdbres)); + fprintf(stderr, "Unexpected error. BDB Error: %s\n", + db_strerror(bdbres)); free(bdbdata->data); return ISC_R_FAILURE; } /* loop and dump all data */ for (;;) { - /* loop through data until DB_NOTFOUND is returned */ - bdbres = dbcursor->c_get(dbcursor, bdbkey, bdbdata, + bdbres = dbcursor->c_get(dbcursor, bdbkey, bdbdata, DB_MULTIPLE_KEY | DB_NEXT); /* if not successful did we encounter DB_NOTFOUND, or */ /* have a different problem. */ if (bdbres != 0) { if (bdbres != DB_NOTFOUND) { - fprintf(stderr, "Unexpected error. BDB Error: %s\n", + fprintf(stderr, + "Unexpected error. BDB Error: %s\n", db_strerror(bdbres)); free(bdbdata->data); return ISC_R_FAILURE; @@ -815,16 +880,19 @@ bulk_write(char type, DB *database, DBC *dbcursor, DBT *bdbkey, DBT *bdbdata) { for (DB_MULTIPLE_INIT(p, bdbdata);;) { if (type == 'c') - DB_MULTIPLE_KEY_NEXT(p, bdbdata, retkey, retklen, retdata, retdlen); + DB_MULTIPLE_KEY_NEXT(p, bdbdata, retkey, + retklen, retdata, retdlen); else - DB_MULTIPLE_RECNO_NEXT(p, bdbdata, recNum, retdata, retdlen); + DB_MULTIPLE_RECNO_NEXT(p, bdbdata, recNum, + retdata, retdlen); if (p == NULL) break; if (type == 'c') - printf("c %.*s %.*s\n",(int)retklen, retkey,(int)retdlen, retdata); + printf("c %.*s %.*s\n", (int)retklen, retkey, + (int)retdlen, retdata); else - printf("d %.*s\n", (int)retdlen, retdata); + printf("d %.*s\n", (int)retdlen, retdata); } /* end of for (DB_MULTIPLE_INIT....) */ } /* end of for (;;) */ @@ -842,14 +910,13 @@ bulk_write(char type, DB *database, DBC *dbcursor, DBT *bdbkey, DBT *bdbdata) { */ void -operation_listOrDelete(bool dlt) { - - int bdbres = 0; - DBC *curList[3]; - DBT bdbkey, bdbdata; +operation_listOrDelete(bool dlt) +{ + int bdbres = 0; + DBC * curList[3]; + DBT bdbkey, bdbdata; db_recno_t recno; - int curIndex = 0; - + int curIndex = 0; /* verify that only allowed parameters were passed. */ if (dlt == true) { @@ -860,8 +927,10 @@ operation_listOrDelete(bool dlt) { checkInvalidOption(create_allowed, true, "n", "for delete operation"); } else if (key != NULL || zone != NULL || host != NULL) { - checkInvalidParam(c_zone, "c", "for list when k, z or h are specified"); - checkInvalidParam(c_ip, "i", "for list when k, z, or h are specified"); + checkInvalidParam(c_zone, "c", + "for list when k, z or h are specified"); + checkInvalidParam(c_ip, "i", + "for list when k, z, or h are specified"); checkInvalidOption(list_everything, true, "e", "for list when k, z, or h are specified"); checkInvalidOption(create_allowed, true, "n", @@ -878,8 +947,8 @@ operation_listOrDelete(bool dlt) { /* Dump database in "dlzbdb" bulk format */ if (list_everything == true) { - if (bulk_write('c', db.client, db.cursor, &bdbkey, &bdbdata) - != ISC_R_SUCCESS) + if (bulk_write('c', db.client, db.cursor, &bdbkey, &bdbdata) != + ISC_R_SUCCESS) return; memset(&bdbkey, 0, sizeof(bdbkey)); memset(&bdbdata, 0, sizeof(bdbdata)); @@ -905,20 +974,21 @@ operation_listOrDelete(bool dlt) { bdbres = db.data->del(db.data, NULL, &bdbkey, 0); } else { bdbdata.flags = DB_DBT_REALLOC; - bdbres = db.data->get(db.data, NULL, &bdbkey, &bdbdata, 0); + bdbres = db.data->get(db.data, NULL, &bdbkey, &bdbdata, + 0); if (bdbres == 0) { printf("KEY | DATA\n"); - printf("%lu | %.*s\n", *(u_long *) bdbkey.data, + printf("%lu | %.*s\n", *(u_long *)bdbkey.data, (int)bdbdata.size, (char *)bdbdata.data); } } /* closes else of if (dlt == true) */ if (bdbres == DB_NOTFOUND) { printf("Key not found in database"); } - } /* closes if (key != NULL) */ + } /* closes if (key != NULL) */ - /* if zone is passed */ + /* if zone is passed */ if (zone != NULL) { /* create a cursor and make sure it worked */ bdbres = db.zone->cursor(db.zone, NULL, &db.cursor2, 0); @@ -930,10 +1000,12 @@ operation_listOrDelete(bool dlt) { bdbkey.data = zone; bdbkey.size = strlen(zone); - bdbres = db.cursor2->c_get(db.cursor2, &bdbkey, &bdbdata, DB_SET); + bdbres = db.cursor2->c_get(db.cursor2, &bdbkey, &bdbdata, + DB_SET); if (bdbres != 0) { if (bdbres != DB_NOTFOUND) { - fprintf(stderr, "Unexpected error. BDB Error: %s\n", + fprintf(stderr, + "Unexpected error. BDB Error: %s\n", db_strerror(bdbres)); } else { printf("Zone not found in database"); @@ -947,7 +1019,6 @@ operation_listOrDelete(bool dlt) { /* if host is passed */ if (host != NULL) { - /* create a cursor and make sure it worked. */ bdbres = db.host->cursor(db.host, NULL, &db.cursor3, 0); if (bdbres != 0) { @@ -957,10 +1028,12 @@ operation_listOrDelete(bool dlt) { } bdbkey.data = host; bdbkey.size = strlen(host); - bdbres = db.cursor3->c_get(db.cursor3, &bdbkey, &bdbdata, DB_SET); + bdbres = db.cursor3->c_get(db.cursor3, &bdbkey, &bdbdata, + DB_SET); if (bdbres != 0) { if (bdbres != DB_NOTFOUND) { - fprintf(stderr, "Unexpected error. BDB Error: %s\n", + fprintf(stderr, + "Unexpected error. BDB Error: %s\n", db_strerror(bdbres)); } else { printf("Host not found in database"); @@ -972,9 +1045,7 @@ operation_listOrDelete(bool dlt) { curList[curIndex++] = db.cursor3; } - if (zone != NULL || host != NULL) { - /* join any cursors */ bdbres = db.data->join(db.data, curList, &db.cursor4, 0); if (bdbres != 0) { @@ -991,25 +1062,26 @@ operation_listOrDelete(bool dlt) { /* print a header to explain the output */ printf("KEY | DATA\n"); /* loop and list all results. */ - while (bdbres == 0) { + while (bdbres == 0) { /* get data */ - bdbres = db.cursor4->c_get(db.cursor4, &bdbkey, &bdbdata, 0); + bdbres = db.cursor4->c_get(db.cursor4, &bdbkey, + &bdbdata, 0); /* verify call had no errors */ if (bdbres != 0) { break; } - printf("%lu | %.*s\n", *(u_long *) bdbkey.data, + printf("%lu | %.*s\n", *(u_long *)bdbkey.data, (int)bdbdata.size, (char *)bdbdata.data); } /* closes while loop */ } if (c_ip != NULL && c_zone == NULL) { - fprintf(stderr, "i may only be specified when c is also specified\n"); + fprintf(stderr, "i may only be specified when c is also " + "specified\n"); quit(2); } /* if client_zone was passed */ if (c_zone != NULL) { - /* create a cursor and make sure it worked. */ if (dlt == true) { /* open read-write cursor */ @@ -1017,7 +1089,8 @@ operation_listOrDelete(bool dlt) { DB_WRITECURSOR); } else { /* open read only cursor */ - bdbres = db.client->cursor(db.client, NULL, &db.cursor, 0); + bdbres = db.client->cursor(db.client, NULL, &db.cursor, + 0); /* print a header to explain the output */ printf("CLIENT_ZONE | CLIENT_IP\n"); } @@ -1028,13 +1101,16 @@ operation_listOrDelete(bool dlt) { if (c_ip != NULL) { bdbdata.data = c_ip; bdbdata.size = strlen(c_ip); - bdbres = db.cursor->c_get(db.cursor, &bdbkey, &bdbdata, DB_GET_BOTH); + bdbres = db.cursor->c_get(db.cursor, &bdbkey, &bdbdata, + DB_GET_BOTH); if (bdbres == DB_NOTFOUND) { - printf("Client zone & IP not found in database"); + printf("Client zone & IP not found in " + "database"); } } else { bdbdata.flags = DB_DBT_REALLOC; - bdbres = db.cursor->c_get(db.cursor, &bdbkey, &bdbdata, DB_SET); + bdbres = db.cursor->c_get(db.cursor, &bdbkey, &bdbdata, + DB_SET); if (bdbres == DB_NOTFOUND) { printf("Client zone not found in database"); } @@ -1042,13 +1118,16 @@ operation_listOrDelete(bool dlt) { while (bdbres == 0) { if (dlt == false) { - printf("%.*s | %.*s\n", (int)bdbkey.size, (char *) bdbkey.data, - (int)bdbdata.size, (char *) bdbdata.data); + printf("%.*s | %.*s\n", (int)bdbkey.size, + (char *)bdbkey.data, (int)bdbdata.size, + (char *)bdbdata.data); } else { /* delete record. */ bdbres = db.cursor->c_del(db.cursor, 0); if (bdbres != 0) { - fprintf(stderr, "Unexpected error. BDB Error: %s\n", + fprintf(stderr, + "Unexpected error. BDB Error: " + "%s\n", db_strerror(bdbres)); break; } @@ -1056,17 +1135,19 @@ operation_listOrDelete(bool dlt) { if (c_ip != NULL) { break; } - bdbres = db.cursor->c_get(db.cursor, &bdbkey, &bdbdata, DB_NEXT_DUP); + bdbres = db.cursor->c_get(db.cursor, &bdbkey, &bdbdata, + DB_NEXT_DUP); if (bdbres != 0) { break; } } /* end while loop */ } - if (bdbres != 0 && bdbres != DB_NOTFOUND) { - fprintf(stderr, "Unexpected error during list operation " \ - "BDB error: %s", db_strerror(bdbres)); + fprintf(stderr, + "Unexpected error during list operation " + "BDB error: %s", + db_strerror(bdbres)); } if (bdbkey.flags == DB_DBT_REALLOC && bdbkey.data != NULL) { @@ -1077,11 +1158,10 @@ operation_listOrDelete(bool dlt) { } } - int -main(int argc, char **argv) { - - int ch; +main(int argc, char **argv) +{ + int ch; char *endp; /* there has to be at least 2 args, some operations require more */ @@ -1089,7 +1169,8 @@ main(int argc, char **argv) { show_usage(); /* use the ISC commandline parser to get all the program arguments */ - while ((ch= isc_commandline_parse(argc, argv, "ldesna:f:k:z:h:c:i:")) != -1) { + while ((ch = isc_commandline_parse(argc, argv, + "ldesna:f:k:z:h:c:i:")) != -1) { switch (ch) { case 'n': create_allowed = true; @@ -1105,7 +1186,7 @@ main(int argc, char **argv) { case 'a': checkOp(operation); operation = add; - a_data = isc_commandline_argument; + a_data = isc_commandline_argument; break; case 'f': checkOp(operation); @@ -1121,7 +1202,8 @@ main(int argc, char **argv) { key = isc_commandline_argument; key_val = strtoul(key, &endp, 10); if (*endp != '\0' || key_val < 1) { - fprintf(stderr, "Error converting key to integer"); + fprintf(stderr, "Error converting key to " + "integer"); } break; case 'z': @@ -1150,7 +1232,8 @@ main(int argc, char **argv) { break; default: /* should never reach this point */ - fprintf(stderr, "unexpected error parsing command arguments\n"); + fprintf(stderr, "unexpected error parsing command " + "arguments\n"); quit(1); break; } @@ -1160,17 +1243,21 @@ main(int argc, char **argv) { argv += isc_commandline_index; /* argc & argv have been modified, so now only "extra" parameters are */ - /* left in argc & argv. "Extra" parameters are any parameters that were */ - /* not passed using a command line flag. Exactly 2 args should be left. */ - /* The first should be the BDB environment path, the second should be the */ + /* left in argc & argv. "Extra" parameters are any parameters that were + */ + /* not passed using a command line flag. Exactly 2 args should be left. + */ + /* The first should be the BDB environment path, the second should be + * the */ /* BDB database. The BDB database path can be either relative to the */ /* BDB environment path, or absolute. */ if (argc < 2) { - fprintf(stderr, "Both a Berkeley DB environment and file "\ - "must be specified"); + fprintf(stderr, "Both a Berkeley DB environment and file " + "must be specified"); quit(2); } else if (argc > 2) { - fprintf(stderr, "Too many parameters. Check command line for errors."); + fprintf(stderr, "Too many parameters. Check command line for " + "errors."); quit(2); } @@ -1184,7 +1271,7 @@ main(int argc, char **argv) { quit(3); } - switch(operation) { + switch (operation) { case list: operation_listOrDelete(false); break; @@ -1198,8 +1285,8 @@ main(int argc, char **argv) { operation_bulk(); break; default: - fprintf(stderr, "\nNo operation was selected. "\ - "Select an operation (l d a f)"); + fprintf(stderr, "\nNo operation was selected. " + "Select an operation (l d a f)"); quit(2); break; } @@ -1207,4 +1294,3 @@ main(int argc, char **argv) { quit(0); } #endif - diff --git a/contrib/dlz/drivers/dlz_bdb_driver.c b/contrib/dlz/drivers/dlz_bdb_driver.c index ddfefd6d8f..03df9f8508 100644 --- a/contrib/dlz/drivers/dlz_bdb_driver.c +++ b/contrib/dlz/drivers/dlz_bdb_driver.c @@ -35,31 +35,29 @@ /* * Copyright (C) 1999-2001, 2016 Internet Systems Consortium, Inc. ("ISC") - * + * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifdef DLZ_BDB +#include #include -#include #include - -#include -#include -#include +#include #include #include #include #include -#include +#include +#include +#include #include - -#include +#include static dns_sdlzimplementation_t *dlz_bdb = NULL; @@ -78,12 +76,12 @@ static dns_sdlzimplementation_t *dlz_bdb = NULL; */ typedef struct bdb_instance { - DB_ENV *dbenv; /*%< BDB environment */ - DB *data; /*%< dns_data database handle */ - DB *zone; /*%< zone database handle */ - DB *host; /*%< host database handle */ - DB *client; /*%< client database handle */ - isc_mem_t *mctx; /*%< memory context */ + DB_ENV * dbenv; /*%< BDB environment */ + DB * data; /*%< dns_data database handle */ + DB * zone; /*%< zone database handle */ + DB * host; /*%< host database handle */ + DB * client; /*%< client database handle */ + isc_mem_t *mctx; /*%< memory context */ } bdb_instance_t; @@ -91,11 +89,10 @@ typedef struct parsed_data { char *zone; char *host; char *type; - int ttl; + int ttl; char *data; } parsed_data_t; - /* forward reference */ static isc_result_t @@ -111,11 +108,11 @@ bdb_findzone(void *driverarg, void *dbdata, const char *name, */ static isc_result_t -bdb_parse_data(char *in, parsed_data_t *pd) { - +bdb_parse_data(char *in, parsed_data_t *pd) +{ char *endp, *ttlStr; char *tmp = in; - char *lastchar = (char *) &tmp[strlen(tmp) + 1]; + char *lastchar = (char *)&tmp[strlen(tmp) + 1]; /*% * String should be formated as: @@ -206,10 +203,10 @@ static isc_result_t bdb_allowzonexfr(void *driverarg, void *dbdata, const char *name, const char *client) { - isc_result_t result; - bdb_instance_t *db = (bdb_instance_t *) dbdata; - DBC *client_cursor = NULL; - DBT key, data; + isc_result_t result; + bdb_instance_t *db = (bdb_instance_t *)dbdata; + DBC * client_cursor = NULL; + DBT key, data; /* check to see if we are authoritative for the zone first. */ result = bdb_findzone(driverarg, dbdata, name, NULL, NULL); @@ -240,7 +237,7 @@ bdb_allowzonexfr(void *driverarg, void *dbdata, const char *name, goto xfr_cleanup; } - switch(client_cursor->c_get(client_cursor, &key, &data, DB_GET_BOTH)) { + switch (client_cursor->c_get(client_cursor, &key, &data, DB_GET_BOTH)) { case DB_NOTFOUND: case DB_SECONDARY_BAD: result = ISC_R_NOTFOUND; @@ -252,7 +249,7 @@ bdb_allowzonexfr(void *driverarg, void *dbdata, const char *name, result = ISC_R_FAILURE; } - xfr_cleanup: +xfr_cleanup: /* free any memory duplicate string in the key field */ if (key.data != NULL) @@ -267,22 +264,20 @@ bdb_allowzonexfr(void *driverarg, void *dbdata, const char *name, client_cursor->c_close(client_cursor); return result; - } static isc_result_t bdb_allnodes(const char *zone, void *driverarg, void *dbdata, dns_sdlzallnodes_t *allnodes) { - - isc_result_t result = ISC_R_NOTFOUND; - bdb_instance_t *db = (bdb_instance_t *) dbdata; - DBC *zone_cursor = NULL; - DBT key, data; - int flags; - int bdbres; - parsed_data_t pd; - char *tmp = NULL, *tmp_zone; + isc_result_t result = ISC_R_NOTFOUND; + bdb_instance_t *db = (bdb_instance_t *)dbdata; + DBC * zone_cursor = NULL; + DBT key, data; + int flags; + int bdbres; + parsed_data_t pd; + char * tmp = NULL, *tmp_zone; UNUSED(driverarg); @@ -304,9 +299,8 @@ bdb_allnodes(const char *zone, void *driverarg, void *dbdata, flags = DB_SET; - while ((bdbres = zone_cursor->c_get(zone_cursor, &key, &data, - flags)) == 0) { - + while ((bdbres = zone_cursor->c_get(zone_cursor, &key, &data, flags)) == + 0) { flags = DB_NEXT_DUP; tmp = realloc(tmp, data.size + 1); @@ -319,14 +313,14 @@ bdb_allnodes(const char *zone, void *driverarg, void *dbdata, if (bdb_parse_data(tmp, &pd) != ISC_R_SUCCESS) goto allnodes_cleanup; - result = dns_sdlz_putnamedrr(allnodes, pd.host, pd.type, - pd.ttl, pd.data); + result = dns_sdlz_putnamedrr(allnodes, pd.host, pd.type, pd.ttl, + pd.data); if (result != ISC_R_SUCCESS) goto allnodes_cleanup; } /* end while loop */ - allnodes_cleanup: +allnodes_cleanup: if (tmp != NULL) free(tmp); @@ -340,7 +334,6 @@ bdb_allnodes(const char *zone, void *driverarg, void *dbdata, zone_cursor->c_close(zone_cursor); return result; - } /*% @@ -350,8 +343,8 @@ bdb_allnodes(const char *zone, void *driverarg, void *dbdata, */ static void -bdb_cleanup(bdb_instance_t *db) { - +bdb_cleanup(bdb_instance_t *db) +{ isc_mem_t *mctx; /* close databases */ @@ -381,11 +374,10 @@ static isc_result_t bdb_findzone(void *driverarg, void *dbdata, const char *name, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) { - - isc_result_t result; - bdb_instance_t *db = (bdb_instance_t *) dbdata; - DBC *zone_cursor = NULL; - DBT key, data; + isc_result_t result; + bdb_instance_t *db = (bdb_instance_t *)dbdata; + DBC * zone_cursor = NULL; + DBT key, data; UNUSED(driverarg); UNUSED(methods); @@ -408,7 +400,7 @@ bdb_findzone(void *driverarg, void *dbdata, const char *name, goto findzone_cleanup; } - switch(zone_cursor->c_get(zone_cursor, &key, &data, DB_SET)) { + switch (zone_cursor->c_get(zone_cursor, &key, &data, DB_SET)) { case DB_NOTFOUND: case DB_SECONDARY_BAD: result = ISC_R_NOTFOUND; @@ -420,7 +412,7 @@ bdb_findzone(void *driverarg, void *dbdata, const char *name, result = ISC_R_FAILURE; } - findzone_cleanup: +findzone_cleanup: /* free any memory duplicate string in the key field */ if (key.data != NULL) @@ -438,22 +430,21 @@ bdb_findzone(void *driverarg, void *dbdata, const char *name, } static isc_result_t -bdb_lookup(const char *zone, const char *name, void *driverarg, - void *dbdata, dns_sdlzlookup_t *lookup, - dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) +bdb_lookup(const char *zone, const char *name, void *driverarg, void *dbdata, + dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, + dns_clientinfo_t *clientinfo) { - - isc_result_t result = ISC_R_NOTFOUND; - bdb_instance_t *db = (bdb_instance_t *) dbdata; - DBC *zone_cursor = NULL; - DBC *host_cursor = NULL; - DBC *join_cursor = NULL; - DBT key, data; - DBC *cur_arr[3]; - int bdbres; - parsed_data_t pd; - char *tmp_zone, *tmp_host = NULL; - char *tmp = NULL; + isc_result_t result = ISC_R_NOTFOUND; + bdb_instance_t *db = (bdb_instance_t *)dbdata; + DBC * zone_cursor = NULL; + DBC * host_cursor = NULL; + DBC * join_cursor = NULL; + DBT key, data; + DBC * cur_arr[3]; + int bdbres; + parsed_data_t pd; + char * tmp_zone, *tmp_host = NULL; + char * tmp = NULL; UNUSED(driverarg); UNUSED(methods); @@ -508,9 +499,8 @@ bdb_lookup(const char *zone, const char *name, void *driverarg, db->data->join(db->data, cur_arr, &join_cursor, 0); - while ((bdbres = join_cursor->c_get(join_cursor, &key, - &data, 0)) == 0) { - + while ((bdbres = join_cursor->c_get(join_cursor, &key, &data, 0)) == + 0) { tmp = realloc(tmp, data.size + 1); if (tmp == NULL) goto lookup_cleanup; @@ -527,7 +517,7 @@ bdb_lookup(const char *zone, const char *name, void *driverarg, goto lookup_cleanup; } /* end while loop */ - lookup_cleanup: +lookup_cleanup: if (tmp != NULL) free(tmp); @@ -551,13 +541,12 @@ bdb_lookup(const char *zone, const char *name, void *driverarg, return result; } - /*% Initializes, sets flags and then opens Berkeley databases. */ static isc_result_t bdb_opendb(DB_ENV *db_env, DBTYPE db_type, DB **db, const char *db_name, - char *db_file, int flags) { - + char *db_file, int flags) +{ int result; /* Initialize the database. */ @@ -598,8 +587,8 @@ static isc_result_t bdb_create(const char *dlzname, unsigned int argc, char *argv[], void *driverarg, void **dbdata) { - isc_result_t result; - int bdbres; + isc_result_t result; + int bdbres; bdb_instance_t *db = NULL; UNUSED(dlzname); @@ -636,10 +625,9 @@ bdb_create(const char *dlzname, unsigned int argc, char *argv[], } /* open BDB environment */ - bdbres = db->dbenv->open(db->dbenv, argv[1], - DB_INIT_CDB | DB_INIT_MPOOL | - bdb_threads | DB_CREATE, - 0); + bdbres = db->dbenv->open( + db->dbenv, argv[1], + DB_INIT_CDB | DB_INIT_MPOOL | bdb_threads | DB_CREATE, 0); if (bdbres != 0) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, @@ -651,28 +639,26 @@ bdb_create(const char *dlzname, unsigned int argc, char *argv[], } /* open dlz_data database. */ - result = bdb_opendb(db->dbenv, DB_UNKNOWN, &db->data, - dlz_data, argv[2], 0); + result = bdb_opendb(db->dbenv, DB_UNKNOWN, &db->data, dlz_data, argv[2], + 0); if (result != ISC_R_SUCCESS) goto init_cleanup; /* open dlz_host database. */ - result = bdb_opendb(db->dbenv, DB_UNKNOWN, &db->host, - dlz_host, argv[2], + result = bdb_opendb(db->dbenv, DB_UNKNOWN, &db->host, dlz_host, argv[2], DB_DUP | DB_DUPSORT); if (result != ISC_R_SUCCESS) goto init_cleanup; /* open dlz_zone database. */ - result = bdb_opendb(db->dbenv, DB_UNKNOWN, &db->zone, - dlz_zone, argv[2], + result = bdb_opendb(db->dbenv, DB_UNKNOWN, &db->zone, dlz_zone, argv[2], DB_DUP | DB_DUPSORT); if (result != ISC_R_SUCCESS) goto init_cleanup; /* open dlz_client database. */ - result = bdb_opendb(db->dbenv, DB_UNKNOWN, &db->client, - dlz_client, argv[2], DB_DUP | DB_DUPSORT); + result = bdb_opendb(db->dbenv, DB_UNKNOWN, &db->client, dlz_client, + argv[2], DB_DUP | DB_DUPSORT); if (result != ISC_R_SUCCESS) goto init_cleanup; @@ -702,9 +688,9 @@ bdb_create(const char *dlzname, unsigned int argc, char *argv[], *dbdata = db; - return(ISC_R_SUCCESS); + return (ISC_R_SUCCESS); - init_cleanup: +init_cleanup: bdb_cleanup(db); return result; @@ -715,7 +701,7 @@ bdb_destroy(void *driverarg, void *dbdata) { UNUSED(driverarg); - bdb_cleanup((bdb_instance_t *) dbdata); + bdb_cleanup((bdb_instance_t *)dbdata); } /* bdb_authority not needed as authority data is returned by lookup */ @@ -740,20 +726,20 @@ static dns_sdlzmethods_t dlz_bdb_methods = { * Wrapper around dns_sdlzregister(). */ isc_result_t -dlz_bdb_init(void) { +dlz_bdb_init(void) +{ isc_result_t result; /* * Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Registering DLZ bdb driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Registering DLZ bdb driver."); result = dns_sdlzregister("bdb", &dlz_bdb_methods, NULL, DNS_SDLZFLAG_RELATIVEOWNER | - DNS_SDLZFLAG_RELATIVERDATA | - DNS_SDLZFLAG_THREADSAFE, + DNS_SDLZFLAG_RELATIVERDATA | + DNS_SDLZFLAG_THREADSAFE, named_g_mctx, &dlz_bdb); if (result != ISC_R_SUCCESS) { UNEXPECTED_ERROR(__FILE__, __LINE__, @@ -762,7 +748,6 @@ dlz_bdb_init(void) { result = ISC_R_UNEXPECTED; } - return result; } @@ -770,14 +755,13 @@ dlz_bdb_init(void) { * Wrapper around dns_sdlzunregister(). */ void -dlz_bdb_clear(void) { - +dlz_bdb_clear(void) +{ /* * Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Unregistering DLZ bdb driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Unregistering DLZ bdb driver."); if (dlz_bdb != NULL) dns_sdlzunregister(&dlz_bdb); diff --git a/contrib/dlz/drivers/dlz_bdbhpt_driver.c b/contrib/dlz/drivers/dlz_bdbhpt_driver.c index 03a3a3d0db..47b1772d5d 100644 --- a/contrib/dlz/drivers/dlz_bdbhpt_driver.c +++ b/contrib/dlz/drivers/dlz_bdbhpt_driver.c @@ -42,24 +42,22 @@ */ #ifdef DLZ_BDB +#include #include -#include #include - -#include -#include -#include +#include #include #include #include #include -#include +#include +#include +#include #include - -#include +#include static dns_sdlzimplementation_t *dlz_bdbhpt = NULL; @@ -72,28 +70,27 @@ static dns_sdlzimplementation_t *dlz_bdbhpt = NULL; #define dlz_xfr "dns_xfr" #define dlz_client "dns_client" - /* This structure contains all the Berkeley DB handles - * for this instance of the bdbhpt driver. - */ +/* This structure contains all the Berkeley DB handles + * for this instance of the bdbhpt driver. + */ typedef struct bdbhpt_instance { - DB_ENV *dbenv; /*%< bdbhpt environment */ - DB *data; /*%< dns_data database handle */ - DB *zone; /*%< zone database handle */ - DB *xfr; /*%< zone xfr database handle */ - DB *client; /*%< client database handle */ - isc_mem_t *mctx; /*%< memory context */ + DB_ENV * dbenv; /*%< bdbhpt environment */ + DB * data; /*%< dns_data database handle */ + DB * zone; /*%< zone database handle */ + DB * xfr; /*%< zone xfr database handle */ + DB * client; /*%< client database handle */ + isc_mem_t *mctx; /*%< memory context */ } bdbhpt_instance_t; typedef struct bdbhpt_parsed_data { char *host; char *type; - int ttl; + int ttl; char *data; } bdbhpt_parsed_data_t; - /* forward reference */ static isc_result_t @@ -104,14 +101,14 @@ bdbhpt_findzone(void *driverarg, void *dbdata, const char *name, * Reverses a string in place. */ -static char *bdbhpt_strrev(char *str) +static char * +bdbhpt_strrev(char *str) { char *p1, *p2; - if (! str || ! *str) + if (!str || !*str) return str; - for (p1 = str, p2 = str + strlen(str) - 1; p2 > p1; ++p1, --p2) - { + for (p1 = str, p2 = str + strlen(str) - 1; p2 > p1; ++p1, --p2) { *p1 ^= *p2; *p2 ^= *p1; *p1 ^= *p2; @@ -128,11 +125,11 @@ static char *bdbhpt_strrev(char *str) */ static isc_result_t -bdbhpt_parse_data(char *in, bdbhpt_parsed_data_t *pd) { - +bdbhpt_parse_data(char *in, bdbhpt_parsed_data_t *pd) +{ char *endp, *ttlStr; char *tmp = in; - char *lastchar = (char *) &tmp[strlen(tmp)]; + char *lastchar = (char *)&tmp[strlen(tmp)]; /*% * String should be formated as: @@ -233,9 +230,9 @@ static isc_result_t bdbhpt_allowzonexfr(void *driverarg, void *dbdata, const char *name, const char *client) { - isc_result_t result; - bdbhpt_instance_t *db = (bdbhpt_instance_t *) dbdata; - DBT key, data; + isc_result_t result; + bdbhpt_instance_t *db = (bdbhpt_instance_t *)dbdata; + DBT key, data; /* check to see if we are authoritative for the zone first. */ result = bdbhpt_findzone(driverarg, dbdata, name, NULL, NULL); @@ -260,7 +257,7 @@ bdbhpt_allowzonexfr(void *driverarg, void *dbdata, const char *name, } data.size = strlen(data.data); - switch(db->client->get(db->client, NULL, &key, &data, DB_GET_BOTH)) { + switch (db->client->get(db->client, NULL, &key, &data, DB_GET_BOTH)) { case DB_NOTFOUND: result = ISC_R_NOTFOUND; break; @@ -271,7 +268,7 @@ bdbhpt_allowzonexfr(void *driverarg, void *dbdata, const char *name, result = ISC_R_FAILURE; } - xfr_cleanup: +xfr_cleanup: /* free any memory duplicate string in the key field */ if (key.data != NULL) @@ -282,7 +279,6 @@ bdbhpt_allowzonexfr(void *driverarg, void *dbdata, const char *name, free(data.data); return result; - } /*% @@ -315,17 +311,16 @@ static isc_result_t bdbhpt_allnodes(const char *zone, void *driverarg, void *dbdata, dns_sdlzallnodes_t *allnodes) { - - isc_result_t result = ISC_R_NOTFOUND; - bdbhpt_instance_t *db = (bdbhpt_instance_t *) dbdata; - DBC *xfr_cursor = NULL; - DBC *dns_cursor = NULL; - DBT xfr_key, xfr_data, dns_key, dns_data; - int xfr_flags; - int dns_flags; - int bdbhptres; + isc_result_t result = ISC_R_NOTFOUND; + bdbhpt_instance_t * db = (bdbhpt_instance_t *)dbdata; + DBC * xfr_cursor = NULL; + DBC * dns_cursor = NULL; + DBT xfr_key, xfr_data, dns_key, dns_data; + int xfr_flags; + int dns_flags; + int bdbhptres; bdbhpt_parsed_data_t pd; - char *tmp = NULL, *tmp_zone, *tmp_zone_host = NULL; + char * tmp = NULL, *tmp_zone, *tmp_zone_host = NULL; UNUSED(driverarg); @@ -357,7 +352,6 @@ bdbhpt_allnodes(const char *zone, void *driverarg, void *dbdata, /* loop through xfr table for specified zone. */ while ((bdbhptres = xfr_cursor->c_get(xfr_cursor, &xfr_key, &xfr_data, xfr_flags)) == 0) { - xfr_flags = DB_NEXT_DUP; /* +1 to allow for space between zone and host names */ @@ -379,9 +373,8 @@ bdbhpt_allnodes(const char *zone, void *driverarg, void *dbdata, dns_flags = DB_SET; while ((bdbhptres = dns_cursor->c_get(dns_cursor, &dns_key, - &dns_data, - dns_flags)) == 0) { - + &dns_data, dns_flags)) == + 0) { dns_flags = DB_NEXT_DUP; /* +1 to allow for null term at end of string. */ @@ -397,12 +390,12 @@ bdbhpt_allnodes(const char *zone, void *driverarg, void *dbdata, if (bdbhpt_parse_data(tmp, &pd) != ISC_R_SUCCESS) goto allnodes_cleanup; - result = dns_sdlz_putnamedrr(allnodes, pd.host, - pd.type, pd.ttl, pd.data); + result = dns_sdlz_putnamedrr(allnodes, pd.host, pd.type, + pd.ttl, pd.data); if (result != ISC_R_SUCCESS) goto allnodes_cleanup; - } /* end inner while loop */ + } /* end inner while loop */ /* clean up memory */ if (tmp_zone_host != NULL) { @@ -411,7 +404,7 @@ bdbhpt_allnodes(const char *zone, void *driverarg, void *dbdata, } } /* end outer while loop */ - allnodes_cleanup: +allnodes_cleanup: /* free any memory */ if (tmp != NULL) @@ -440,8 +433,8 @@ bdbhpt_allnodes(const char *zone, void *driverarg, void *dbdata, */ static void -bdbhpt_cleanup(bdbhpt_instance_t *db) { - +bdbhpt_cleanup(bdbhpt_instance_t *db) +{ isc_mem_t *mctx; /* close databases */ @@ -471,10 +464,9 @@ static isc_result_t bdbhpt_findzone(void *driverarg, void *dbdata, const char *name, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) { - - isc_result_t result; - bdbhpt_instance_t *db = (bdbhpt_instance_t *) dbdata; - DBT key, data; + isc_result_t result; + bdbhpt_instance_t *db = (bdbhpt_instance_t *)dbdata; + DBT key, data; UNUSED(driverarg); UNUSED(methods); @@ -497,7 +489,7 @@ bdbhpt_findzone(void *driverarg, void *dbdata, const char *name, key.data = bdbhpt_strrev(key.data); key.size = strlen(key.data); - switch(db->zone->get(db->zone, NULL, &key, &data, 0)) { + switch (db->zone->get(db->zone, NULL, &key, &data, 0)) { case DB_NOTFOUND: result = ISC_R_NOTFOUND; break; @@ -520,21 +512,20 @@ bdbhpt_findzone(void *driverarg, void *dbdata, const char *name, } static isc_result_t -bdbhpt_lookup(const char *zone, const char *name, void *driverarg, - void *dbdata, dns_sdlzlookup_t *lookup, - dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) +bdbhpt_lookup(const char *zone, const char *name, void *driverarg, void *dbdata, + dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, + dns_clientinfo_t *clientinfo) { - - isc_result_t result = ISC_R_NOTFOUND; - bdbhpt_instance_t *db = (bdbhpt_instance_t *) dbdata; - DBC *data_cursor = NULL; - DBT key, data; - int bdbhptres; - int flags; + isc_result_t result = ISC_R_NOTFOUND; + bdbhpt_instance_t *db = (bdbhpt_instance_t *)dbdata; + DBC * data_cursor = NULL; + DBT key, data; + int bdbhptres; + int flags; bdbhpt_parsed_data_t pd; - char *tmp = NULL; - char *keyStr = NULL; + char * tmp = NULL; + char * keyStr = NULL; UNUSED(driverarg); UNUSED(methods); @@ -566,7 +557,6 @@ bdbhpt_lookup(const char *zone, const char *name, void *driverarg, flags = DB_SET; while ((bdbhptres = data_cursor->c_get(data_cursor, &key, &data, flags)) == 0) { - flags = DB_NEXT_DUP; tmp = realloc(tmp, data.size + 1); if (tmp == NULL) @@ -584,7 +574,7 @@ bdbhpt_lookup(const char *zone, const char *name, void *driverarg, goto lookup_cleanup; } /* end while loop */ - lookup_cleanup: +lookup_cleanup: /* get rid of cursor */ if (data_cursor != NULL) @@ -601,8 +591,8 @@ bdbhpt_lookup(const char *zone, const char *name, void *driverarg, static isc_result_t bdbhpt_opendb(DB_ENV *db_env, DBTYPE db_type, DB **db, const char *db_name, - char *db_file, int flags) { - + char *db_file, int flags) +{ int result; /* Initialize the database. */ @@ -643,9 +633,9 @@ static isc_result_t bdbhpt_create(const char *dlzname, unsigned int argc, char *argv[], void *driverarg, void **dbdata) { - isc_result_t result; - int bdbhptres; - int bdbFlags = 0; + isc_result_t result; + int bdbhptres; + int bdbFlags = 0; bdbhpt_instance_t *db = NULL; UNUSED(dlzname); @@ -660,14 +650,14 @@ bdbhpt_create(const char *dlzname, unsigned int argc, char *argv[], return (ISC_R_FAILURE); } - switch((char) *argv[1]) { + switch ((char)*argv[1]) { /* * Transactional mode. Highest safety - lowest speed. */ case 'T': case 't': - bdbFlags = DB_INIT_MPOOL | DB_INIT_LOCK | - DB_INIT_LOG | DB_INIT_TXN; + bdbFlags = DB_INIT_MPOOL | DB_INIT_LOCK | DB_INIT_LOG | + DB_INIT_TXN; isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(1), "bdbhpt driver using transactional mode."); @@ -739,34 +729,34 @@ bdbhpt_create(const char *dlzname, unsigned int argc, char *argv[], } /* open dlz_data database. */ - result = bdbhpt_opendb(db->dbenv, DB_UNKNOWN, &db->data, - dlz_data, argv[3], DB_DUP | DB_DUPSORT); + result = bdbhpt_opendb(db->dbenv, DB_UNKNOWN, &db->data, dlz_data, + argv[3], DB_DUP | DB_DUPSORT); if (result != ISC_R_SUCCESS) goto init_cleanup; /* open dlz_xfr database. */ - result = bdbhpt_opendb(db->dbenv, DB_UNKNOWN, &db->xfr, - dlz_xfr, argv[3], DB_DUP | DB_DUPSORT); + result = bdbhpt_opendb(db->dbenv, DB_UNKNOWN, &db->xfr, dlz_xfr, + argv[3], DB_DUP | DB_DUPSORT); if (result != ISC_R_SUCCESS) goto init_cleanup; /* open dlz_zone database. */ - result = bdbhpt_opendb(db->dbenv, DB_UNKNOWN, &db->zone, - dlz_zone, argv[3], 0); + result = bdbhpt_opendb(db->dbenv, DB_UNKNOWN, &db->zone, dlz_zone, + argv[3], 0); if (result != ISC_R_SUCCESS) goto init_cleanup; /* open dlz_client database. */ - result = bdbhpt_opendb(db->dbenv, DB_UNKNOWN, &db->client, - dlz_client, argv[3], DB_DUP | DB_DUPSORT); + result = bdbhpt_opendb(db->dbenv, DB_UNKNOWN, &db->client, dlz_client, + argv[3], DB_DUP | DB_DUPSORT); if (result != ISC_R_SUCCESS) goto init_cleanup; *dbdata = db; - return(ISC_R_SUCCESS); + return (ISC_R_SUCCESS); - init_cleanup: +init_cleanup: bdbhpt_cleanup(db); return result; @@ -777,7 +767,7 @@ bdbhpt_destroy(void *driverarg, void *dbdata) { UNUSED(driverarg); - bdbhpt_cleanup((bdbhpt_instance_t *) dbdata); + bdbhpt_cleanup((bdbhpt_instance_t *)dbdata); } /* @@ -804,20 +794,20 @@ static dns_sdlzmethods_t dlz_bdbhpt_methods = { * Wrapper around dns_sdlzregister(). */ isc_result_t -dlz_bdbhpt_init(void) { +dlz_bdbhpt_init(void) +{ isc_result_t result; /* * Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Registering DLZ bdbhpt driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Registering DLZ bdbhpt driver."); result = dns_sdlzregister("bdbhpt", &dlz_bdbhpt_methods, NULL, DNS_SDLZFLAG_RELATIVEOWNER | - DNS_SDLZFLAG_RELATIVERDATA | - DNS_SDLZFLAG_THREADSAFE, + DNS_SDLZFLAG_RELATIVERDATA | + DNS_SDLZFLAG_THREADSAFE, named_g_mctx, &dlz_bdbhpt); if (result != ISC_R_SUCCESS) { UNEXPECTED_ERROR(__FILE__, __LINE__, @@ -826,7 +816,6 @@ dlz_bdbhpt_init(void) { result = ISC_R_UNEXPECTED; } - return result; } @@ -834,14 +823,13 @@ dlz_bdbhpt_init(void) { * Wrapper around dns_sdlzunregister(). */ void -dlz_bdbhpt_clear(void) { - +dlz_bdbhpt_clear(void) +{ /* * Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Unregistering DLZ bdbhpt driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Unregistering DLZ bdbhpt driver."); if (dlz_bdbhpt != NULL) dns_sdlzunregister(&dlz_bdbhpt); diff --git a/contrib/dlz/drivers/dlz_drivers.c b/contrib/dlz/drivers/dlz_drivers.c index 79b0a0a5c5..778de82010 100644 --- a/contrib/dlz/drivers/dlz_drivers.c +++ b/contrib/dlz/drivers/dlz_drivers.c @@ -14,7 +14,6 @@ * PERFORMANCE OF THIS SOFTWARE. */ - /*! \file */ #include @@ -63,8 +62,8 @@ */ isc_result_t -dlz_drivers_init(void) { - +dlz_drivers_init(void) +{ isc_result_t result = ISC_R_SUCCESS; #ifdef DLZ_STUB @@ -120,35 +119,34 @@ dlz_drivers_init(void) { */ void -dlz_drivers_clear(void) { - +dlz_drivers_clear(void) +{ #ifdef DLZ_STUB dlz_stub_clear(); #endif #ifdef DLZ_POSTGRES - dlz_postgres_clear(); + dlz_postgres_clear(); #endif #ifdef DLZ_MYSQL - dlz_mysql_clear(); + dlz_mysql_clear(); #endif #ifdef DLZ_FILESYSTEM - dlz_fs_clear(); + dlz_fs_clear(); #endif #ifdef DLZ_BDB - dlz_bdb_clear(); - dlz_bdbhpt_clear(); + dlz_bdb_clear(); + dlz_bdbhpt_clear(); #endif #ifdef DLZ_LDAP - dlz_ldap_clear(); + dlz_ldap_clear(); #endif #ifdef DLZ_ODBC - dlz_odbc_clear(); + dlz_odbc_clear(); #endif - } diff --git a/contrib/dlz/drivers/dlz_filesystem_driver.c b/contrib/dlz/drivers/dlz_filesystem_driver.c index c7383d5b47..242a60fe73 100644 --- a/contrib/dlz/drivers/dlz_filesystem_driver.c +++ b/contrib/dlz/drivers/dlz_filesystem_driver.c @@ -47,12 +47,6 @@ #include #include -#include - -#include -#include -#include - #include #include #include @@ -61,30 +55,34 @@ #include #include -#include +#include +#include +#include #include +#include +#include static dns_sdlzimplementation_t *dlz_fs = NULL; typedef struct config_data { - char *basedir; - int basedirsize; - char *datadir; - int datadirsize; - char *xfrdir; - int xfrdirsize; - int splitcnt; - char separator; - char pathsep; - isc_mem_t *mctx; + char * basedir; + int basedirsize; + char * datadir; + int datadirsize; + char * xfrdir; + int xfrdirsize; + int splitcnt; + char separator; + char pathsep; + isc_mem_t *mctx; } config_data_t; typedef struct dir_entry dir_entry_t; struct dir_entry { char dirpath[PATH_MAX]; - ISC_LINK(dir_entry_t) link; + ISC_LINK(dir_entry_t) link; }; typedef ISC_LIST(dir_entry_t) dlist_t; @@ -99,19 +97,20 @@ fs_destroy(void *driverarg, void *dbdata); */ static bool -is_safe(const char *input) { +is_safe(const char *input) +{ unsigned int i; unsigned int len = strlen(input); - /* check that only allowed characters are in the domain name */ - for (i=0; i < len; i++) { + /* check that only allowed characters are in the domain name */ + for (i = 0; i < len; i++) { /* '.' is allowed, but has special requirements */ if (input[i] == '.') { /* '.' is not allowed as first char */ if (i == 0) return (false); /* '..', two dots together is not allowed. */ - if (input[i-1] == '.') + if (input[i - 1] == '.') return (false); /* '.' is not allowed as last char */ if (i == len - 1) @@ -153,15 +152,16 @@ is_safe(const char *input) { */ return (false); } - /* everything ok. */ + /* everything ok. */ return (true); } static void -create_path_helper(char *out, const char *in, config_data_t *cd) { +create_path_helper(char *out, const char *in, config_data_t *cd) +{ char *tmpString; char *tmpPtr; - int i; + int i; tmpString = isc_mem_strdup(named_g_mctx, in); @@ -171,17 +171,17 @@ create_path_helper(char *out, const char *in, config_data_t *cd) { */ while ((tmpPtr = strrchr(tmpString, '.')) != NULL) { i = 0; - while (tmpPtr[i+1] != '\0') { + while (tmpPtr[i + 1] != '\0') { if (cd->splitcnt < 1) - strcat(out, (char *) &tmpPtr[i+1]); + strcat(out, (char *)&tmpPtr[i + 1]); else - strncat(out, (char *) &tmpPtr[i+1], + strncat(out, (char *)&tmpPtr[i + 1], cd->splitcnt); - strncat(out, (char *) &cd->pathsep, 1); + strncat(out, (char *)&cd->pathsep, 1); if (cd->splitcnt == 0) break; - if (strlen((char *) &tmpPtr[i+1]) <= - (unsigned int) cd->splitcnt) + if (strlen((char *)&tmpPtr[i + 1]) <= + (unsigned int)cd->splitcnt) break; i += cd->splitcnt; } @@ -189,18 +189,17 @@ create_path_helper(char *out, const char *in, config_data_t *cd) { } /* handle the "first" label properly */ - i=0; + i = 0; tmpPtr = tmpString; while (tmpPtr[i] != '\0') { if (cd->splitcnt < 1) - strcat(out, (char *) &tmpPtr[i]); + strcat(out, (char *)&tmpPtr[i]); else - strncat(out, (char *) &tmpPtr[i], cd->splitcnt); - strncat(out, (char *) &cd->pathsep, 1); + strncat(out, (char *)&tmpPtr[i], cd->splitcnt); + strncat(out, (char *)&cd->pathsep, 1); if (cd->splitcnt == 0) break; - if (strlen((char *) &tmpPtr[i]) <= - (unsigned int) cd->splitcnt) + if (strlen((char *)&tmpPtr[i]) <= (unsigned int)cd->splitcnt) break; i += cd->splitcnt; } @@ -218,11 +217,10 @@ static isc_result_t create_path(const char *zone, const char *host, const char *client, config_data_t *cd, char **path) { - char *tmpPath; - int pathsize; - int len; - bool isroot = false; + int pathsize; + int len; + bool isroot = false; /* we require a zone & cd parameter */ REQUIRE(zone != NULL); @@ -233,9 +231,9 @@ create_path(const char *zone, const char *host, const char *client, * client and host may both be NULL, but they can't both be * NON-NULL */ - REQUIRE( (host == NULL && client == NULL) || - (host != NULL && client == NULL) || - (host == NULL && client != NULL) ); + REQUIRE((host == NULL && client == NULL) || + (host != NULL && client == NULL) || + (host == NULL && client != NULL)); /* special case for root zone */ if (strcmp(zone, ".") == 0) @@ -266,12 +264,11 @@ create_path(const char *zone, const char *host, const char *client, * string we only waste a few bytes by allocating for both, * and then we are safe from buffer overruns. */ - pathsize = len + cd->basedirsize + - cd->datadirsize + cd->xfrdirsize + 4; + pathsize = len + cd->basedirsize + cd->datadirsize + cd->xfrdirsize + 4; /* if we are splitting names, we will need extra space. */ if (cd->splitcnt > 0) - pathsize += len/cd->splitcnt; + pathsize += len / cd->splitcnt; tmpPath = isc_mem_allocate(named_g_mctx, pathsize * sizeof(char)); @@ -309,7 +306,7 @@ create_path(const char *zone, const char *host, const char *client, /* if client is passed append xfr dir, otherwise append data dir */ if (client != NULL) { strcat(tmpPath, cd->xfrdir); - strncat(tmpPath, (char *) &cd->pathsep, 1); + strncat(tmpPath, (char *)&cd->pathsep, 1); strcat(tmpPath, client); } else { strcat(tmpPath, cd->datadir); @@ -317,7 +314,7 @@ create_path(const char *zone, const char *host, const char *client, /* if host not null, add it. */ if (host != NULL) { - strncat(tmpPath, (char *) &cd->pathsep, 1); + strncat(tmpPath, (char *)&cd->pathsep, 1); create_path_helper(tmpPath, host, cd); } @@ -331,23 +328,22 @@ static isc_result_t process_dir(isc_dir_t *dir, void *passback, config_data_t *cd, dlist_t *dir_list, unsigned int basedirlen) { - - char tmp[PATH_MAX + NAME_MAX]; - int astPos; - struct stat sb; + char tmp[PATH_MAX + NAME_MAX]; + int astPos; + struct stat sb; isc_result_t result = ISC_R_FAILURE; - char *endp; - char *type; - char *ttlStr; - char *data; - char host[NAME_MAX]; - char *tmpString; - char *tmpPtr; - int ttl; - int i; - int len; + char * endp; + char * type; + char * ttlStr; + char * data; + char host[NAME_MAX]; + char * tmpString; + char * tmpPtr; + int ttl; + int i; + int len; dir_entry_t *direntry; - bool foundHost; + bool foundHost; tmp[0] = '\0'; /* set 1st byte to '\0' so strcpy works right. */ host[0] = '\0'; @@ -364,8 +360,8 @@ process_dir(isc_dir_t *dir, void *passback, config_data_t *cd, /* if splitcnt == 0, determine host from path. */ if (cd->splitcnt == 0) { if (strlen(tmp) - 3 > basedirlen) { - tmp[astPos-1] = '\0'; - tmpString = (char *) &tmp[basedirlen+1]; + tmp[astPos - 1] = '\0'; + tmpString = (char *)&tmp[basedirlen + 1]; /* handle filesystem's special wildcard "-" */ if (strcmp(tmpString, "-") == 0) { strcpy(host, "*"); @@ -373,21 +369,19 @@ process_dir(isc_dir_t *dir, void *passback, config_data_t *cd, /* * not special wildcard -- normal name */ - while ((tmpPtr = strrchr(tmpString, - cd->pathsep)) - != NULL) - { + while ((tmpPtr = strrchr( + tmpString, + cd->pathsep)) != NULL) { if ((strlen(host) + - strlen(tmpPtr + 1) + 2) - > NAME_MAX) + strlen(tmpPtr + 1) + 2) > + NAME_MAX) continue; strcat(host, tmpPtr + 1); strcat(host, "."); tmpPtr[0] = '\0'; } - if ((strlen(host) + - strlen(tmpString) + 1) - <= NAME_MAX) + if ((strlen(host) + strlen(tmpString) + + 1) <= NAME_MAX) strcat(host, tmpString); } @@ -401,20 +395,21 @@ process_dir(isc_dir_t *dir, void *passback, config_data_t *cd, * ".host" directory entry */ while (isc_dir_read(dir) == ISC_R_SUCCESS) { - if (strncasecmp(".host", - dir->entry.name, 5) == 0) { + if (strncasecmp(".host", dir->entry.name, 5) == + 0) { /* * handle filesystem's special * wildcard "-" */ - if (strcmp((char *) &dir->entry.name[6], - "-") == 0) - { - strlcpy(host, "*", sizeof(host)); + if (strcmp((char *)&dir->entry.name[6], + "-") == 0) { + strlcpy(host, "*", + sizeof(host)); } else { strlcpy(host, - (char *) &dir->entry.name[6], - sizeof(host)); + (char *)&dir->entry + .name[6], + sizeof(host)); } foundHost = true; break; @@ -426,7 +421,6 @@ process_dir(isc_dir_t *dir, void *passback, config_data_t *cd, } while (isc_dir_read(dir) == ISC_R_SUCCESS) { - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(1), "Filesystem driver Dir name:" @@ -450,7 +444,7 @@ process_dir(isc_dir_t *dir, void *passback, config_data_t *cd, strcat(tmp, dir->entry.name); /* make sure we can stat entry */ - if (stat(tmp, &sb) == 0 ) { + if (stat(tmp, &sb) == 0) { /* if entry is a directory */ if ((sb.st_mode & S_IFDIR) != 0) { /* @@ -458,8 +452,9 @@ process_dir(isc_dir_t *dir, void *passback, config_data_t *cd, * dir list */ if (dir_list != NULL) { - direntry = isc_mem_get(named_g_mctx, - sizeof(dir_entry_t)); + direntry = isc_mem_get( + named_g_mctx, + sizeof(dir_entry_t)); strcpy(direntry->dirpath, tmp); ISC_LINK_INIT(direntry, link); ISC_LIST_APPEND(*dir_list, direntry, @@ -475,15 +470,14 @@ process_dir(isc_dir_t *dir, void *passback, config_data_t *cd, * could not find a host entry. */ - } else if (dir_list != NULL && - foundHost == false) { + } else if (dir_list != NULL && foundHost == false) { continue; } } else /* if we cannot stat entry, skip it. */ continue; type = dir->entry.name; - ttlStr = strchr(type, cd->separator); + ttlStr = strchr(type, cd->separator); if (ttlStr == NULL) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, @@ -496,7 +490,7 @@ process_dir(isc_dir_t *dir, void *passback, config_data_t *cd, /* replace separator char with NULL to split string */ ttlStr[0] = '\0'; /* start string after NULL of previous string */ - ttlStr = (char *) &ttlStr[1]; + ttlStr = (char *)&ttlStr[1]; data = strchr(ttlStr, cd->separator); if (data == NULL) { @@ -512,12 +506,12 @@ process_dir(isc_dir_t *dir, void *passback, config_data_t *cd, data[0] = '\0'; /* start string after NULL of previous string */ - data = (char *) &data[1]; + data = (char *)&data[1]; /* replace all cd->separator chars with a space. */ len = strlen(data); - for (i=0; i < len; i++) { + for (i = 0; i < len; i++) { if (data[i] == cd->separator) data[i] = ' '; } @@ -533,13 +527,12 @@ process_dir(isc_dir_t *dir, void *passback, config_data_t *cd, /* pass data back to Bind */ if (dir_list == NULL) - result = dns_sdlz_putrr((dns_sdlzlookup_t *) passback, + result = dns_sdlz_putrr((dns_sdlzlookup_t *)passback, type, ttl, data); else - result = dns_sdlz_putnamedrr((dns_sdlzallnodes_t *) - passback, - (char *) host, - type, ttl, data); + result = dns_sdlz_putnamedrr( + (dns_sdlzallnodes_t *)passback, (char *)host, + type, ttl, data); /* if error, return error right away */ if (result != ISC_R_SUCCESS) @@ -557,16 +550,15 @@ static isc_result_t fs_allowzonexfr(void *driverarg, void *dbdata, const char *name, const char *client) { - - isc_result_t result; - char *path; - struct stat sb; + isc_result_t result; + char * path; + struct stat sb; config_data_t *cd; path = NULL; UNUSED(driverarg); - cd = (config_data_t *) dbdata; + cd = (config_data_t *)dbdata; if (create_path(name, NULL, client, cd, &path) != ISC_R_SUCCESS) { return (ISC_R_NOTFOUND); @@ -584,7 +576,7 @@ fs_allowzonexfr(void *driverarg, void *dbdata, const char *name, result = ISC_R_NOTFOUND; - complete_AXFR: +complete_AXFR: isc_mem_free(named_g_mctx, path); return (result); } @@ -593,16 +585,15 @@ static isc_result_t fs_allnodes(const char *zone, void *driverarg, void *dbdata, dns_sdlzallnodes_t *allnodes) { - - isc_result_t result; - dlist_t *dir_list; + isc_result_t result; + dlist_t * dir_list; config_data_t *cd; - char *basepath; - unsigned int basepathlen; - struct stat sb; - isc_dir_t dir; - dir_entry_t *dir_entry; - dir_entry_t *next_de; + char * basepath; + unsigned int basepathlen; + struct stat sb; + isc_dir_t dir; + dir_entry_t * dir_entry; + dir_entry_t * next_de; basepath = NULL; dir_list = NULL; @@ -610,7 +601,7 @@ fs_allnodes(const char *zone, void *driverarg, void *dbdata, UNUSED(driverarg); UNUSED(allnodes); - cd = (config_data_t *) dbdata; + cd = (config_data_t *)dbdata; /* allocate memory for list */ dir_list = isc_mem_get(named_g_mctx, sizeof(dlist_t)); @@ -662,7 +653,6 @@ fs_allnodes(const char *zone, void *driverarg, void *dbdata, /* get first dir entry from list. */ dir_entry = ISC_LIST_HEAD(*dir_list); while (dir_entry != NULL) { - result = isc_dir_open(&dir, dir_entry->dirpath); /* if directory open failed, return error. */ if (result != ISC_R_SUCCESS) { @@ -687,7 +677,7 @@ fs_allnodes(const char *zone, void *driverarg, void *dbdata, dir_entry = ISC_LIST_NEXT(dir_entry, link); } /* end while */ - complete_allnds: +complete_allnds: /* clean up entries from list. */ dir_entry = ISC_LIST_HEAD(*dir_list); while (dir_entry != NULL) { @@ -708,23 +698,22 @@ static isc_result_t fs_findzone(void *driverarg, void *dbdata, const char *name, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) { - isc_result_t result; - char *path; - struct stat sb; + char * path; + struct stat sb; path = NULL; UNUSED(driverarg); UNUSED(methods); UNUSED(clientinfo); - if (create_path(name, NULL, NULL, (config_data_t *) dbdata, - &path) != ISC_R_SUCCESS) { + if (create_path(name, NULL, NULL, (config_data_t *)dbdata, &path) != + ISC_R_SUCCESS) { return (ISC_R_NOTFOUND); } - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(1), + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(1), "Filesystem driver Findzone() Checking for path: '%s'\n", path); @@ -740,21 +729,21 @@ fs_findzone(void *driverarg, void *dbdata, const char *name, result = ISC_R_NOTFOUND; - complete_FZ: +complete_FZ: isc_mem_free(named_g_mctx, path); return (result); } static isc_result_t -fs_lookup(const char *zone, const char *name, void *driverarg, - void *dbdata, dns_sdlzlookup_t *lookup, - dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) +fs_lookup(const char *zone, const char *name, void *driverarg, void *dbdata, + dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, + dns_clientinfo_t *clientinfo) { isc_result_t result; - char *path; - struct stat sb; - isc_dir_t dir; + char * path; + struct stat sb; + isc_dir_t dir; path = NULL; UNUSED(driverarg); @@ -766,25 +755,24 @@ fs_lookup(const char *zone, const char *name, void *driverarg, /* * handle filesystem's special wildcard "-" */ - result = create_path(zone, "-", NULL, - (config_data_t *) dbdata, &path); + result = create_path(zone, "-", NULL, (config_data_t *)dbdata, + &path); else - result = create_path(zone, name, NULL, - (config_data_t *) dbdata, &path); + result = create_path(zone, name, NULL, (config_data_t *)dbdata, + &path); - if ( result != ISC_R_SUCCESS) { + if (result != ISC_R_SUCCESS) { return (ISC_R_NOTFOUND); } /* remove path separator at end of path so stat works properly */ - path[strlen(path)-1] = '\0'; + path[strlen(path) - 1] = '\0'; - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(1), + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(1), "Filesystem driver lookup() Checking for path: '%s'\n", path); - if (stat(path, &sb) != 0) { result = ISC_R_NOTFOUND; goto complete_lkup; @@ -810,25 +798,25 @@ fs_lookup(const char *zone, const char *name, void *driverarg, } /* process any records in the directory */ - result = process_dir(&dir, lookup, (config_data_t *) dbdata, NULL, 0); + result = process_dir(&dir, lookup, (config_data_t *)dbdata, NULL, 0); /* close the directory */ isc_dir_close(&dir); - complete_lkup: +complete_lkup: isc_mem_free(named_g_mctx, path); return (result); } static isc_result_t -fs_create(const char *dlzname, unsigned int argc, char *argv[], - void *driverarg, void **dbdata) +fs_create(const char *dlzname, unsigned int argc, char *argv[], void *driverarg, + void **dbdata) { config_data_t *cd; - char *endp; - int len; - char pathsep; + char * endp; + int len; + char pathsep; UNUSED(driverarg); UNUSED(dlzname); @@ -852,7 +840,7 @@ fs_create(const char *dlzname, unsigned int argc, char *argv[], /* verify base dir ends with '/' or '\' */ len = strlen(argv[1]); - if (argv[1][len-1] != '\\' && argv[1][len-1] != '/') { + if (argv[1][len - 1] != '\\' && argv[1][len - 1] != '/') { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "Base dir parameter for filesystem driver " @@ -862,7 +850,7 @@ fs_create(const char *dlzname, unsigned int argc, char *argv[], } /* determine and save path separator for later */ - if (argv[1][len-1] == '\\') + if (argv[1][len - 1] == '\\') pathsep = '\\'; else pathsep = '/'; @@ -912,12 +900,12 @@ fs_create(const char *dlzname, unsigned int argc, char *argv[], static void fs_destroy(void *driverarg, void *dbdata) { - isc_mem_t *mctx; + isc_mem_t * mctx; config_data_t *cd; UNUSED(driverarg); - cd = (config_data_t *) dbdata; + cd = (config_data_t *)dbdata; /* * free memory for each section of config data that was @@ -967,13 +955,12 @@ dlz_fs_init(void) /* * Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Registering DLZ filesystem driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Registering DLZ filesystem driver."); result = dns_sdlzregister("filesystem", &dlz_fs_methods, NULL, DNS_SDLZFLAG_RELATIVEOWNER | - DNS_SDLZFLAG_RELATIVERDATA, + DNS_SDLZFLAG_RELATIVERDATA, named_g_mctx, &dlz_fs); if (result != ISC_R_SUCCESS) { UNEXPECTED_ERROR(__FILE__, __LINE__, @@ -989,14 +976,13 @@ dlz_fs_init(void) * Wrapper around dns_sdlzunregister(). */ void -dlz_fs_clear(void) { - +dlz_fs_clear(void) +{ /* * Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Unregistering DLZ filesystem driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Unregistering DLZ filesystem driver."); if (dlz_fs != NULL) dns_sdlzunregister(&dlz_fs); diff --git a/contrib/dlz/drivers/dlz_ldap_driver.c b/contrib/dlz/drivers/dlz_ldap_driver.c index a9ea337e88..15d263fe0b 100644 --- a/contrib/dlz/drivers/dlz_ldap_driver.c +++ b/contrib/dlz/drivers/dlz_ldap_driver.c @@ -35,7 +35,7 @@ /* * Copyright (C) 1999-2001, 2016 Internet Systems Consortium, Inc. ("ISC") - * + * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. @@ -47,10 +47,6 @@ #include #include -#include -#include -#include - #include #include #include @@ -58,10 +54,13 @@ #include #include -#include +#include +#include +#include -#include #include +#include +#include /* * Need older API functions from ldap.h. @@ -92,12 +91,12 @@ static dns_sdlzimplementation_t *dlz_ldap = NULL; */ typedef struct { - db_list_t *db; /*%< handle to a list of DB */ - int method; /*%< security authentication method */ - char *user; /*%< who is authenticating */ - char *cred; /*%< password for simple authentication method */ - int protocol; /*%< LDAP communication protocol version */ - char *hosts; /*%< LDAP server hosts */ + db_list_t *db; /*%< handle to a list of DB */ + int method; /*%< security authentication method */ + char * user; /*%< who is authenticating */ + char * cred; /*%< password for simple authentication method */ + int protocol; /*%< LDAP communication protocol version */ + char * hosts; /*%< LDAP server hosts */ } ldap_instance_t; /* forward references */ @@ -105,7 +104,7 @@ typedef struct { static isc_result_t dlz_ldap_findzone(void *driverarg, void *dbdata, const char *name, dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo); + dns_clientinfo_t * clientinfo); static void dlz_ldap_destroy(void *driverarg, void *dbdata); @@ -116,9 +115,10 @@ dlz_ldap_destroy(void *driverarg, void *dbdata); /*% checks that the LDAP URL parameters make sense */ static isc_result_t -dlz_ldap_checkURL(char *URL, int attrCnt, const char *msg) { +dlz_ldap_checkURL(char *URL, int attrCnt, const char *msg) +{ isc_result_t result = ISC_R_SUCCESS; - int ldap_result; + int ldap_result; LDAPURLDesc *ldap_url = NULL; if (!ldap_is_ldap_url(URL)) { @@ -164,7 +164,7 @@ dlz_ldap_checkURL(char *URL, int attrCnt, const char *msg) { goto cleanup; } - if (ldap_url->lud_dn == NULL || strlen (ldap_url->lud_dn) < 1) { + if (ldap_url->lud_dn == NULL || strlen(ldap_url->lud_dn) < 1) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "%s query must specify a search base", msg); @@ -182,7 +182,7 @@ dlz_ldap_checkURL(char *URL, int attrCnt, const char *msg) { goto cleanup; } - cleanup: +cleanup: if (ldap_url != NULL) ldap_free_urldesc(ldap_url); @@ -191,13 +191,14 @@ dlz_ldap_checkURL(char *URL, int attrCnt, const char *msg) { /*% Connects / reconnects to LDAP server */ static isc_result_t -dlz_ldap_connect(ldap_instance_t *dbi, dbinstance_t *dbc) { +dlz_ldap_connect(ldap_instance_t *dbi, dbinstance_t *dbc) +{ isc_result_t result; - int ldap_result; + int ldap_result; /* if we have a connection, get ride of it. */ if (dbc->dbconn != NULL) { - ldap_unbind_s((LDAP *) dbc->dbconn); + ldap_unbind_s((LDAP *)dbc->dbconn); dbc->dbconn = NULL; } @@ -209,7 +210,7 @@ dlz_ldap_connect(ldap_instance_t *dbi, dbinstance_t *dbc) { return (ISC_R_NOMEMORY); /* set protocol version. */ - ldap_result = ldap_set_option((LDAP *) dbc->dbconn, + ldap_result = ldap_set_option((LDAP *)dbc->dbconn, LDAP_OPT_PROTOCOL_VERSION, &(dbi->protocol)); if (ldap_result != LDAP_SUCCESS) { @@ -218,8 +219,8 @@ dlz_ldap_connect(ldap_instance_t *dbi, dbinstance_t *dbc) { } /* "bind" to server. i.e. send username / pass */ - ldap_result = ldap_bind_s((LDAP *) dbc->dbconn, dbi->user, - dbi->cred, dbi->method); + ldap_result = ldap_bind_s((LDAP *)dbc->dbconn, dbi->user, dbi->cred, + dbi->method); if (ldap_result != LDAP_SUCCESS) { result = ISC_R_FAILURE; goto cleanup; @@ -227,11 +228,11 @@ dlz_ldap_connect(ldap_instance_t *dbi, dbinstance_t *dbc) { return (ISC_R_SUCCESS); - cleanup: +cleanup: /* cleanup if failure. */ if (dbc->dbconn != NULL) { - ldap_unbind_s((LDAP *) dbc->dbconn); + ldap_unbind_s((LDAP *)dbc->dbconn); dbc->dbconn = NULL; } @@ -244,7 +245,8 @@ dlz_ldap_connect(ldap_instance_t *dbi, dbinstance_t *dbc) { * multithreaded operation. */ static void -ldap_destroy_dblist(db_list_t *dblist) { +ldap_destroy_dblist(db_list_t *dblist) +{ dbinstance_t *ndbi = NULL; dbinstance_t *dbi = NULL; @@ -258,7 +260,7 @@ ldap_destroy_dblist(db_list_t *dblist) { ndbi = ISC_LIST_NEXT(dbi, link); /* release DB connection */ if (dbi->dbconn != NULL) - ldap_unbind_s((LDAP *) dbi->dbconn); + ldap_unbind_s((LDAP *)dbi->dbconn); /* release all memory that comprised a DBI */ destroy_sqldbinstance(dbi); } @@ -277,10 +279,11 @@ ldap_destroy_dblist(db_list_t *dblist) { * multithreaded operation. */ static dbinstance_t * -ldap_find_avail_conn(db_list_t *dblist) { +ldap_find_avail_conn(db_list_t *dblist) +{ dbinstance_t *dbi = NULL; dbinstance_t *head; - int count = 0; + int count = 0; /* get top of list */ head = dbi = ISC_LIST_HEAD(*dblist); @@ -300,8 +303,8 @@ ldap_find_avail_conn(db_list_t *dblist) { dbi = head; } } - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_INFO, + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_INFO, "LDAP driver unable to find available connection " "after searching %d times", count); @@ -309,21 +312,21 @@ ldap_find_avail_conn(db_list_t *dblist) { } static isc_result_t -ldap_process_results(LDAP *dbc, LDAPMessage *msg, char ** attrs, - void *ptr, bool allnodes) +ldap_process_results(LDAP *dbc, LDAPMessage *msg, char **attrs, void *ptr, + bool allnodes) { isc_result_t result = ISC_R_SUCCESS; - int i = 0; - int j; - int len; - char *attribute = NULL; + int i = 0; + int j; + int len; + char * attribute = NULL; LDAPMessage *entry; - char *endp = NULL; - char *host = NULL; - char *type = NULL; - char *data = NULL; - char **vals = NULL; - int ttl; + char * endp = NULL; + char * host = NULL; + char * type = NULL; + char * data = NULL; + char ** vals = NULL; + int ttl; /* make sure there are at least some attributes to process. */ REQUIRE(attrs != NULL || attrs[0] != NULL); @@ -391,7 +394,7 @@ ldap_process_results(LDAP *dbc, LDAPMessage *msg, char ** attrs, * set a field that way next loop will set * next field. */ - switch(j) { + switch (j) { case 0: j++; /* @@ -442,7 +445,7 @@ ldap_process_results(LDAP *dbc, LDAPMessage *msg, char ** attrs, /* increment attibute pointer */ attribute = attrs[++i]; - } /* end while (attribute != NULL) */ + } /* end while (attribute != NULL) */ if (type == NULL) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, @@ -465,31 +468,31 @@ ldap_process_results(LDAP *dbc, LDAPMessage *msg, char ** attrs, if (allnodes && host != NULL) { if (strcasecmp(host, "~") == 0) result = dns_sdlz_putnamedrr( - (dns_sdlzallnodes_t *) ptr, - "*", type, ttl, data); + (dns_sdlzallnodes_t *)ptr, "*", type, + ttl, data); else result = dns_sdlz_putnamedrr( - (dns_sdlzallnodes_t *) ptr, - host, type, ttl, data); + (dns_sdlzallnodes_t *)ptr, host, type, + ttl, data); if (result != ISC_R_SUCCESS) isc_log_write(dns_lctx, - DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, - "dlz-ldap: putnamedrr failed " - "for \"%s %s %u %s\", %s", - host, type, ttl, data, - isc_result_totext(result)); + DNS_LOGCATEGORY_DATABASE, + DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, + "dlz-ldap: putnamedrr failed " + "for \"%s %s %u %s\", %s", + host, type, ttl, data, + isc_result_totext(result)); } else { - result = dns_sdlz_putrr((dns_sdlzlookup_t *) ptr, - type, ttl, data); + result = dns_sdlz_putrr((dns_sdlzlookup_t *)ptr, type, + ttl, data); if (result != ISC_R_SUCCESS) isc_log_write(dns_lctx, - DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, - "dlz-ldap: putrr failed " - "for \"%s %u %s\", %s", - type, ttl, data, - isc_result_totext(result)); + DNS_LOGCATEGORY_DATABASE, + DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, + "dlz-ldap: putrr failed " + "for \"%s %u %s\", %s", + type, ttl, data, + isc_result_totext(result)); } if (result != ISC_R_SUCCESS) { @@ -510,7 +513,7 @@ ldap_process_results(LDAP *dbc, LDAPMessage *msg, char ** attrs, entry = ldap_next_entry(dbc, entry); } /* end while (entry != NULL) */ - cleanup: +cleanup: /* de-allocate memory */ if (vals != NULL) ldap_value_free(vals); @@ -537,23 +540,22 @@ ldap_process_results(LDAP *dbc, LDAPMessage *msg, char ** attrs, * obtain a result set. */ static isc_result_t -ldap_get_results(const char *zone, const char *record, - const char *client, unsigned int query, - void *dbdata, void *ptr) +ldap_get_results(const char *zone, const char *record, const char *client, + unsigned int query, void *dbdata, void *ptr) { - isc_result_t result; + isc_result_t result; dbinstance_t *dbi = NULL; - char *querystring = NULL; - LDAPURLDesc *ldap_url = NULL; - int ldap_result = 0; - LDAPMessage *ldap_msg = NULL; - int i; - int entries; + char * querystring = NULL; + LDAPURLDesc * ldap_url = NULL; + int ldap_result = 0; + LDAPMessage * ldap_msg = NULL; + int i; + int entries; /* get db instance / connection */ /* find an available DBI from the list */ - dbi = ldap_find_avail_conn((db_list_t *) - ((ldap_instance_t *)dbdata)->db); + dbi = ldap_find_avail_conn( + (db_list_t *)((ldap_instance_t *)dbdata)->db); /* if DBI is null, can't do anything else */ if (dbi == NULL) @@ -577,7 +579,7 @@ ldap_get_results(const char *zone, const char *record, } /* what type of query are we going to run? */ - switch(query) { + switch (query) { case ALLNODES: /* * if the query was not passed in from the config file @@ -590,7 +592,7 @@ ldap_get_results(const char *zone, const char *record, goto cleanup; } else { querystring = build_querystring(named_g_mctx, - dbi->allnodes_q); + dbi->allnodes_q); } break; case ALLOWXFR: @@ -600,7 +602,7 @@ ldap_get_results(const char *zone, const char *record, goto cleanup; } else { querystring = build_querystring(named_g_mctx, - dbi->allowxfr_q); + dbi->allowxfr_q); } break; case AUTHORITY: @@ -610,7 +612,7 @@ ldap_get_results(const char *zone, const char *record, goto cleanup; } else { querystring = build_querystring(named_g_mctx, - dbi->authority_q); + dbi->authority_q); } break; case FINDZONE: @@ -624,7 +626,7 @@ ldap_get_results(const char *zone, const char *record, goto cleanup; } else { querystring = build_querystring(named_g_mctx, - dbi->findzone_q); + dbi->findzone_q); } break; case LOOKUP: @@ -637,8 +639,8 @@ ldap_get_results(const char *zone, const char *record, result = ISC_R_FAILURE; goto cleanup; } else { - querystring = build_querystring(named_g_mctx, - dbi->lookup_q); + querystring = + build_querystring(named_g_mctx, dbi->lookup_q); } break; default: @@ -654,7 +656,7 @@ ldap_get_results(const char *zone, const char *record, } /* if the querystring is null, Bummer, outta RAM. UPGRADE TIME!!! */ - if (querystring == NULL) { + if (querystring == NULL) { result = ISC_R_NOMEMORY; goto cleanup; } @@ -663,11 +665,10 @@ ldap_get_results(const char *zone, const char *record, * output the full query string during debug so we can see * what lame error the query has. */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(1), - "\nQuery String: %s\n", querystring); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(1), "\nQuery String: %s\n", querystring); - /* break URL down into it's component parts, if error cleanup */ + /* break URL down into it's component parts, if error cleanup */ ldap_result = ldap_url_parse(querystring, &ldap_url); if (ldap_result != LDAP_SUCCESS || ldap_url == NULL) { result = ISC_R_FAILURE; @@ -675,7 +676,6 @@ ldap_get_results(const char *zone, const char *record, } for (i = 0; i < 3; i++) { - /* * dbi->dbconn may be null if trying to reconnect on a * previous query failed. @@ -685,7 +685,7 @@ ldap_get_results(const char *zone, const char *record, DNS_LOGMODULE_DLZ, ISC_LOG_INFO, "LDAP driver attempting to re-connect"); - result = dlz_ldap_connect((ldap_instance_t *) dbdata, + result = dlz_ldap_connect((ldap_instance_t *)dbdata, dbi); if (result != ISC_R_SUCCESS) { result = ISC_R_FAILURE; @@ -694,26 +694,25 @@ ldap_get_results(const char *zone, const char *record, } /* perform ldap search syncronously */ - ldap_result = ldap_search_s((LDAP *) dbi->dbconn, - ldap_url->lud_dn, - ldap_url->lud_scope, - ldap_url->lud_filter, - ldap_url->lud_attrs, 0, &ldap_msg); + ldap_result = + ldap_search_s((LDAP *)dbi->dbconn, ldap_url->lud_dn, + ldap_url->lud_scope, ldap_url->lud_filter, + ldap_url->lud_attrs, 0, &ldap_msg); /* * check return code. No such object is ok, just * didn't find what we wanted */ - switch(ldap_result) { + switch (ldap_result) { case LDAP_NO_SUCH_OBJECT: - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(1), "No object found matching " "query requirements"); result = ISC_R_NOTFOUND; goto cleanup; break; - case LDAP_SUCCESS: /* on success do nothing */ + case LDAP_SUCCESS: /* on success do nothing */ result = ISC_R_SUCCESS; i = 3; break; @@ -721,7 +720,7 @@ ldap_get_results(const char *zone, const char *record, isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_INFO, "LDAP driver attempting to re-connect"); - result = dlz_ldap_connect((ldap_instance_t *) dbdata, + result = dlz_ldap_connect((ldap_instance_t *)dbdata, dbi); if (result != ISC_R_SUCCESS) result = ISC_R_FAILURE; @@ -731,7 +730,7 @@ ldap_get_results(const char *zone, const char *record, * other errors not ok. Log error message and * get out */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "LDAP error: %s", ldap_err2string(ldap_result)); @@ -739,25 +738,23 @@ ldap_get_results(const char *zone, const char *record, goto cleanup; break; } /* close switch(ldap_result) */ - } /* end for (int i = 0 i < 3; i++) */ + } /* end for (int i = 0 i < 3; i++) */ if (result != ISC_R_SUCCESS) goto cleanup; - switch(query) { + switch (query) { case ALLNODES: - result = ldap_process_results((LDAP *) dbi->dbconn, ldap_msg, - ldap_url->lud_attrs, - ptr, true); + result = ldap_process_results((LDAP *)dbi->dbconn, ldap_msg, + ldap_url->lud_attrs, ptr, true); break; case AUTHORITY: case LOOKUP: - result = ldap_process_results((LDAP *) dbi->dbconn, ldap_msg, - ldap_url->lud_attrs, - ptr, false); + result = ldap_process_results((LDAP *)dbi->dbconn, ldap_msg, + ldap_url->lud_attrs, ptr, false); break; case ALLOWXFR: - entries = ldap_count_entries((LDAP *) dbi->dbconn, ldap_msg); + entries = ldap_count_entries((LDAP *)dbi->dbconn, ldap_msg); if (entries == 0) result = ISC_R_NOPERM; else if (entries > 0) @@ -766,7 +763,7 @@ ldap_get_results(const char *zone, const char *record, result = ISC_R_FAILURE; break; case FINDZONE: - entries = ldap_count_entries((LDAP *) dbi->dbconn, ldap_msg); + entries = ldap_count_entries((LDAP *)dbi->dbconn, ldap_msg); if (entries == 0) result = ISC_R_NOTFOUND; else if (entries > 0) @@ -785,10 +782,10 @@ ldap_get_results(const char *zone, const char *record, result = ISC_R_UNEXPECTED; } - cleanup: +cleanup: /* it's always good to cleanup after yourself */ - /* if we retrieved results, free them */ + /* if we retrieved results, free them */ if (ldap_msg != NULL) ldap_msgfree(ldap_msg); @@ -806,9 +803,9 @@ ldap_get_results(const char *zone, const char *record, /* release the lock so another thread can use this dbi */ isc_mutex_unlock(&dbi->instance_lock); - /* release query string */ - if (querystring != NULL) - isc_mem_free(named_g_mctx, querystring ); + /* release query string */ + if (querystring != NULL) + isc_mem_free(named_g_mctx, querystring); /* return result */ return (result); @@ -831,7 +828,7 @@ dlz_ldap_allowzonexfr(void *driverarg, void *dbdata, const char *name, return (result); } - /* get all the zone data */ + /* get all the zone data */ result = ldap_get_results(name, NULL, client, ALLOWXFR, dbdata, NULL); return (result); } @@ -855,7 +852,7 @@ dlz_ldap_authority(const char *zone, void *driverarg, void *dbdata, static isc_result_t dlz_ldap_findzone(void *driverarg, void *dbdata, const char *name, dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo) + dns_clientinfo_t * clientinfo) { UNUSED(driverarg); UNUSED(methods); @@ -875,37 +872,34 @@ dlz_ldap_lookup(const char *zone, const char *name, void *driverarg, UNUSED(clientinfo); if (strcmp(name, "*") == 0) - result = ldap_get_results(zone, "~", NULL, LOOKUP, - dbdata, lookup); + result = ldap_get_results(zone, "~", NULL, LOOKUP, dbdata, + lookup); else - result = ldap_get_results(zone, name, NULL, LOOKUP, - dbdata, lookup); + result = ldap_get_results(zone, name, NULL, LOOKUP, dbdata, + lookup); return (result); } - static isc_result_t dlz_ldap_create(const char *dlzname, unsigned int argc, char *argv[], void *driverarg, void **dbdata) { - isc_result_t result; + isc_result_t result; ldap_instance_t *ldap_inst = NULL; - dbinstance_t *dbi = NULL; - int protocol; - int method; - int dbcount; - char *endp; -/* db_list_t *dblist = NULL; */ + dbinstance_t * dbi = NULL; + int protocol; + int method; + int dbcount; + char * endp; + /* db_list_t *dblist = NULL; */ int i; - UNUSED(dlzname); UNUSED(driverarg); /* if debugging, let user know we are multithreaded. */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(1), - "LDAP driver running multithreaded"); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(1), "LDAP driver running multithreaded"); if (argc < 9) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, @@ -964,7 +958,7 @@ dlz_ldap_create(const char *dlzname, unsigned int argc, char *argv[], } /* check that LDAP URL parameters make sense */ - switch(argc) { + switch (argc) { case 12: result = dlz_ldap_checkURL(argv[11], 0, "allow zone transfer"); if (result != ISC_R_SUCCESS) @@ -1014,9 +1008,8 @@ dlz_ldap_create(const char *dlzname, unsigned int argc, char *argv[], * append each new DBI to the end of the list */ for (i = 0; i < dbcount; i++) { - /* how many queries were passed in from config file? */ - switch(argc) { + switch (argc) { case 9: result = build_sqldbinstance(named_g_mctx, NULL, NULL, NULL, argv[7], argv[8], @@ -1028,15 +1021,14 @@ dlz_ldap_create(const char *dlzname, unsigned int argc, char *argv[], NULL, &dbi); break; case 11: - result = build_sqldbinstance(named_g_mctx, argv[10], NULL, - argv[9], argv[7], argv[8], - NULL, &dbi); + result = build_sqldbinstance(named_g_mctx, argv[10], + NULL, argv[9], argv[7], + argv[8], NULL, &dbi); break; case 12: result = build_sqldbinstance(named_g_mctx, argv[10], - argv[11], argv[9], - argv[7], argv[8], - NULL, &dbi); + argv[11], argv[9], argv[7], + argv[8], NULL, &dbi); break; default: /* not really needed, should shut up compiler. */ @@ -1066,7 +1058,7 @@ dlz_ldap_create(const char *dlzname, unsigned int argc, char *argv[], * if db connection cannot be created, log err msg and * cleanup. */ - switch(result) { + switch (result) { /* success, do nothing */ case ISC_R_SUCCESS: break; @@ -1079,7 +1071,7 @@ dlz_ldap_create(const char *dlzname, unsigned int argc, char *argv[], DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "LDAP driver could not allocate memory " "for connection number %u", - i+1); + i + 1); goto cleanup; break; /* @@ -1100,7 +1092,7 @@ dlz_ldap_create(const char *dlzname, unsigned int argc, char *argv[], DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "LDAP driver could not " "bind connection number %u to server.", - i+1); + i + 1); goto cleanup; break; /* @@ -1118,29 +1110,29 @@ dlz_ldap_create(const char *dlzname, unsigned int argc, char *argv[], /* set DBI = null for next loop through. */ dbi = NULL; - } /* end for loop */ - + } /* end for loop */ /* set dbdata to the ldap_instance we created. */ *dbdata = ldap_inst; /* hey, we got through all of that ok, return success. */ - return(ISC_R_SUCCESS); + return (ISC_R_SUCCESS); - cleanup: +cleanup: dlz_ldap_destroy(NULL, ldap_inst); - return(ISC_R_FAILURE); + return (ISC_R_FAILURE); } void -dlz_ldap_destroy(void *driverarg, void *dbdata) { +dlz_ldap_destroy(void *driverarg, void *dbdata) +{ UNUSED(driverarg); if (dbdata != NULL) { /* cleanup the list of DBI's */ - ldap_destroy_dblist((db_list_t *) - ((ldap_instance_t *)dbdata)->db); + ldap_destroy_dblist( + (db_list_t *)((ldap_instance_t *)dbdata)->db); if (((ldap_instance_t *)dbdata)->hosts != NULL) isc_mem_free(named_g_mctx, @@ -1179,19 +1171,19 @@ static dns_sdlzmethods_t dlz_ldap_methods = { * Wrapper around dns_sdlzregister(). */ isc_result_t -dlz_ldap_init(void) { +dlz_ldap_init(void) +{ isc_result_t result; /* * Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Registering DLZ ldap driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Registering DLZ ldap driver."); result = dns_sdlzregister("ldap", &dlz_ldap_methods, NULL, DNS_SDLZFLAG_RELATIVEOWNER | - DNS_SDLZFLAG_RELATIVERDATA, + DNS_SDLZFLAG_RELATIVERDATA, named_g_mctx, &dlz_ldap); if (result != ISC_R_SUCCESS) { UNEXPECTED_ERROR(__FILE__, __LINE__, @@ -1207,13 +1199,13 @@ dlz_ldap_init(void) { * Wrapper around dns_sdlzunregister(). */ void -dlz_ldap_clear(void) { +dlz_ldap_clear(void) +{ /* * Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Unregistering DLZ ldap driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Unregistering DLZ ldap driver."); if (dlz_ldap != NULL) dns_sdlzunregister(&dlz_ldap); diff --git a/contrib/dlz/drivers/dlz_mysql_driver.c b/contrib/dlz/drivers/dlz_mysql_driver.c index 5e4366dac5..1f97f30cae 100644 --- a/contrib/dlz/drivers/dlz_mysql_driver.c +++ b/contrib/dlz/drivers/dlz_mysql_driver.c @@ -42,13 +42,10 @@ */ #ifdef DLZ_MYSQL +#include #include -#include #include - -#include -#include -#include +#include #include #include @@ -57,12 +54,13 @@ #include #include -#include +#include +#include +#include -#include #include - -#include +#include +#include static dns_sdlzimplementation_t *dlz_mysql = NULL; @@ -89,9 +87,9 @@ static dns_sdlzimplementation_t *dlz_mysql = NULL; */ static char * -mysqldrv_escape_string(MYSQL *mysql, const char *instr) { - - char *outstr; +mysqldrv_escape_string(MYSQL *mysql, const char *instr) +{ + char * outstr; unsigned int len; if (instr == NULL) @@ -117,16 +115,15 @@ mysqldrv_escape_string(MYSQL *mysql, const char *instr) { */ static isc_result_t -mysql_get_resultset(const char *zone, const char *record, - const char *client, unsigned int query, - void *dbdata, MYSQL_RES **rs) +mysql_get_resultset(const char *zone, const char *record, const char *client, + unsigned int query, void *dbdata, MYSQL_RES **rs) { - isc_result_t result; + isc_result_t result; dbinstance_t *dbi = NULL; - char *querystring = NULL; - unsigned int i = 0; - unsigned int j = 0; - int qres = 0; + char * querystring = NULL; + unsigned int i = 0; + unsigned int j = 0; + int qres = 0; if (query != COUNTZONE) REQUIRE(*rs == NULL); @@ -134,7 +131,7 @@ mysql_get_resultset(const char *zone, const char *record, REQUIRE(rs == NULL); /* get db instance / connection */ - dbi = (dbinstance_t *) dbdata; + dbi = (dbinstance_t *)dbdata; /* if DBI is null, can't do anything else */ if (dbi == NULL) { @@ -142,7 +139,7 @@ mysql_get_resultset(const char *zone, const char *record, } /* what type of query are we going to run? */ - switch(query) { + switch (query) { case ALLNODES: /* * if the query was not passed in from the config file @@ -210,19 +207,17 @@ mysql_get_resultset(const char *zone, const char *record, goto cleanup; } - /* * was a zone string passed? If so, make it safe for use in * queries. */ if (zone != NULL) { - dbi->zone = mysqldrv_escape_string((MYSQL *) dbi->dbconn, - zone); + dbi->zone = mysqldrv_escape_string((MYSQL *)dbi->dbconn, zone); if (dbi->zone == NULL) { result = ISC_R_NOMEMORY; goto cleanup; } - } else { /* no string passed, set the string pointer to NULL */ + } else { /* no string passed, set the string pointer to NULL */ dbi->zone = NULL; } @@ -231,13 +226,13 @@ mysql_get_resultset(const char *zone, const char *record, * queries. */ if (record != NULL) { - dbi->record = mysqldrv_escape_string((MYSQL *) dbi->dbconn, - record); + dbi->record = + mysqldrv_escape_string((MYSQL *)dbi->dbconn, record); if (dbi->record == NULL) { result = ISC_R_NOMEMORY; goto cleanup; } - } else { /* no string passed, set the string pointer to NULL */ + } else { /* no string passed, set the string pointer to NULL */ dbi->record = NULL; } @@ -246,13 +241,13 @@ mysql_get_resultset(const char *zone, const char *record, * queries. */ if (client != NULL) { - dbi->client = mysqldrv_escape_string((MYSQL *) dbi->dbconn, - client); + dbi->client = + mysqldrv_escape_string((MYSQL *)dbi->dbconn, client); if (dbi->client == NULL) { result = ISC_R_NOMEMORY; goto cleanup; } - } else { /* no string passed, set the string pointer to NULL */ + } else { /* no string passed, set the string pointer to NULL */ dbi->client = NULL; } @@ -260,7 +255,7 @@ mysql_get_resultset(const char *zone, const char *record, * what type of query are we going to run? this time we build * the actual query to run. */ - switch(query) { + switch (query) { case ALLNODES: querystring = build_querystring(named_g_mctx, dbi->allnodes_q); break; @@ -301,23 +296,22 @@ mysql_get_resultset(const char *zone, const char *record, * output the full query string during debug so we can see * what lame error the query has. */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(1), - "\nQuery String: %s\n", querystring); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(1), "\nQuery String: %s\n", querystring); /* attempt query up to 3 times. */ - for (i=0; i < 3; i++) { - qres = mysql_query((MYSQL *) dbi->dbconn, querystring); + for (i = 0; i < 3; i++) { + qres = mysql_query((MYSQL *)dbi->dbconn, querystring); if (qres == 0) break; - for (j=0; mysql_ping((MYSQL *) dbi->dbconn) != 0 && j < 4; j++) + for (j = 0; mysql_ping((MYSQL *)dbi->dbconn) != 0 && j < 4; j++) ; } if (qres == 0) { result = ISC_R_SUCCESS; if (query != COUNTZONE) { - *rs = mysql_store_result((MYSQL *) dbi->dbconn); + *rs = mysql_store_result((MYSQL *)dbi->dbconn); if (*rs == NULL) result = ISC_R_FAILURE; } @@ -325,8 +319,7 @@ mysql_get_resultset(const char *zone, const char *record, result = ISC_R_FAILURE; } - - cleanup: +cleanup: /* it's always good to cleanup after yourself */ /* free dbi->zone string */ @@ -342,7 +335,7 @@ mysql_get_resultset(const char *zone, const char *record, isc_mem_free(named_g_mctx, dbi->client); /* release query string */ - if (querystring != NULL) + if (querystring != NULL) isc_mem_free(named_g_mctx, querystring); /* return result */ @@ -359,18 +352,18 @@ static isc_result_t mysql_process_rs(dns_sdlzlookup_t *lookup, MYSQL_RES *rs) { isc_result_t result = ISC_R_NOTFOUND; - MYSQL_ROW row; + MYSQL_ROW row; unsigned int fields; unsigned int j; unsigned int len; - char *tmpString; - char *endp; - int ttl; + char * tmpString; + char * endp; + int ttl; - row = mysql_fetch_row(rs); /* get a row from the result set */ - fields = mysql_num_fields(rs); /* how many columns in result set */ + row = mysql_fetch_row(rs); /* get a row from the result set */ + fields = mysql_num_fields(rs); /* how many columns in result set */ while (row != NULL) { - switch(fields) { + switch (fields) { case 1: /* * one column in rs, it's the data field. use @@ -411,7 +404,7 @@ mysql_process_rs(dns_sdlzlookup_t *lookup, MYSQL_RES *rs) * ones together. figure out how long to make * string. */ - for (j=2, len=0; j < fields; j++) { + for (j = 2, len = 0; j < fields; j++) { len += strlen(safeGet(row[j])) + 1; } /* @@ -422,12 +415,11 @@ mysql_process_rs(dns_sdlzlookup_t *lookup, MYSQL_RES *rs) /* copy field to tmpString */ strcpy(tmpString, safeGet(row[2])); - /* * concat the rest of fields together, space * between each one. */ - for (j=3; j < fields; j++) { + for (j = 3; j < fields; j++) { strcat(tmpString, " "); strcat(tmpString, safeGet(row[j])); } @@ -441,8 +433,8 @@ mysql_process_rs(dns_sdlzlookup_t *lookup, MYSQL_RES *rs) "a postive number"); } /* ok, now tell Bind about it. */ - result = dns_sdlz_putrr(lookup, safeGet(row[1]), - ttl, tmpString); + result = dns_sdlz_putrr(lookup, safeGet(row[1]), ttl, + tmpString); /* done, get rid of this thing. */ isc_mem_free(named_g_mctx, tmpString); } @@ -457,7 +449,7 @@ mysql_process_rs(dns_sdlzlookup_t *lookup, MYSQL_RES *rs) isc_result_totext(result)); return (ISC_R_FAILURE); } - row = mysql_fetch_row(rs); /* get next row */ + row = mysql_fetch_row(rs); /* get next row */ } /* free result set memory */ @@ -478,7 +470,7 @@ mysql_findzone(void *driverarg, void *dbdata, const char *name, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) { isc_result_t result; - MYSQL_RES *rs = NULL; + MYSQL_RES * rs = NULL; my_ulonglong rows; UNUSED(driverarg); @@ -518,7 +510,7 @@ mysql_allowzonexfr(void *driverarg, void *dbdata, const char *name, const char *client) { isc_result_t result; - MYSQL_RES *rs = NULL; + MYSQL_RES * rs = NULL; my_ulonglong rows; UNUSED(driverarg); @@ -536,8 +528,7 @@ mysql_allowzonexfr(void *driverarg, void *dbdata, const char *name, * * Run our query, and get a result set from the database. */ - result = mysql_get_resultset(name, NULL, client, ALLOWXFR, - dbdata, &rs); + result = mysql_get_resultset(name, NULL, client, ALLOWXFR, dbdata, &rs); /* if we get "not implemented", send it along. */ if (result == ISC_R_NOTIMPLEMENTED) return result; @@ -574,14 +565,14 @@ mysql_allnodes(const char *zone, void *driverarg, void *dbdata, dns_sdlzallnodes_t *allnodes) { isc_result_t result; - MYSQL_RES *rs = NULL; - MYSQL_ROW row; + MYSQL_RES * rs = NULL; + MYSQL_ROW row; unsigned int fields; unsigned int j; unsigned int len; - char *tmpString; - char *endp; - int ttl; + char * tmpString; + char * endp; + int ttl; UNUSED(driverarg); @@ -603,10 +594,10 @@ mysql_allnodes(const char *zone, void *driverarg, void *dbdata, result = ISC_R_NOTFOUND; - row = mysql_fetch_row(rs); /* get a row from the result set */ - fields = mysql_num_fields(rs); /* how many columns in result set */ + row = mysql_fetch_row(rs); /* get a row from the result set */ + fields = mysql_num_fields(rs); /* how many columns in result set */ while (row != NULL) { - if (fields < 4) { /* gotta have at least 4 columns */ + if (fields < 4) { /* gotta have at least 4 columns */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "mysql driver too few fields returned " @@ -631,7 +622,7 @@ mysql_allnodes(const char *zone, void *driverarg, void *dbdata, * ones together. figure out how long to make * string. */ - for (j=3, len=0; j < fields; j++) { + for (j = 3, len = 0; j < fields; j++) { len += strlen(safeGet(row[j])) + 1; } /* allocate memory, allow for NULL to term string */ @@ -639,14 +630,14 @@ mysql_allnodes(const char *zone, void *driverarg, void *dbdata, /* copy this field to tmpString */ strcpy(tmpString, safeGet(row[3])); /* concatonate the rest, with spaces between */ - for (j=4; j < fields; j++) { + for (j = 4; j < fields; j++) { strcat(tmpString, " "); strcat(tmpString, safeGet(row[j])); } /* tell Bind about it. */ result = dns_sdlz_putnamedrr(allnodes, safeGet(row[2]), - safeGet(row[1]), - ttl, tmpString); + safeGet(row[1]), ttl, + tmpString); isc_mem_free(named_g_mctx, tmpString); } /* if we weren't successful, log err msg */ @@ -678,7 +669,7 @@ mysql_authority(const char *zone, void *driverarg, void *dbdata, dns_sdlzlookup_t *lookup) { isc_result_t result; - MYSQL_RES *rs = NULL; + MYSQL_RES * rs = NULL; UNUSED(driverarg); @@ -706,12 +697,12 @@ mysql_authority(const char *zone, void *driverarg, void *dbdata, /*% if zone is supported, lookup up a (or multiple) record(s) in it */ static isc_result_t -mysql_lookup(const char *zone, const char *name, void *driverarg, - void *dbdata, dns_sdlzlookup_t *lookup, - dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) +mysql_lookup(const char *zone, const char *name, void *driverarg, void *dbdata, + dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, + dns_clientinfo_t *clientinfo) { isc_result_t result; - MYSQL_RES *rs = NULL; + MYSQL_RES * rs = NULL; UNUSED(driverarg); UNUSED(methods); @@ -746,21 +737,21 @@ static isc_result_t mysql_create(const char *dlzname, unsigned int argc, char *argv[], void *driverarg, void **dbdata) { - isc_result_t result; + isc_result_t result; dbinstance_t *dbi = NULL; - char *tmp = NULL; - char *dbname = NULL; - char *host = NULL; - char *user = NULL; - char *pass = NULL; - char *socket = NULL; - int port; - MYSQL *dbc; - char *endp; - int j; - unsigned int flags = 0; + char * tmp = NULL; + char * dbname = NULL; + char * host = NULL; + char * user = NULL; + char * pass = NULL; + char * socket = NULL; + int port; + MYSQL * dbc; + char * endp; + int j; + unsigned int flags = 0; #if MYSQL_VERSION_ID >= 50000 - my_bool auto_reconnect = 1; + my_bool auto_reconnect = 1; #endif UNUSED(driverarg); @@ -815,7 +806,7 @@ mysql_create(const char *dlzname, unsigned int argc, char *argv[], } /* how many queries were passed in from config file? */ - switch(argc) { + switch (argc) { case 4: result = build_sqldbinstance(named_g_mctx, NULL, NULL, NULL, argv[2], argv[3], NULL, &dbi); @@ -825,18 +816,19 @@ mysql_create(const char *dlzname, unsigned int argc, char *argv[], argv[2], argv[3], NULL, &dbi); break; case 6: - result = build_sqldbinstance(named_g_mctx, argv[5], NULL, argv[4], - argv[2], argv[3], NULL, &dbi); + result = build_sqldbinstance(named_g_mctx, argv[5], NULL, + argv[4], argv[2], argv[3], NULL, + &dbi); break; case 7: - result = build_sqldbinstance(named_g_mctx, argv[5], - argv[6], argv[4], - argv[2], argv[3], NULL, &dbi); + result = build_sqldbinstance(named_g_mctx, argv[5], argv[6], + argv[4], argv[2], argv[3], NULL, + &dbi); break; case 8: - result = build_sqldbinstance(named_g_mctx, argv[5], - argv[6], argv[4], - argv[2], argv[3], argv[7], &dbi); + result = build_sqldbinstance(named_g_mctx, argv[5], argv[6], + argv[4], argv[2], argv[3], argv[7], + &dbi); break; default: /* not really needed, should shut up compiler. */ @@ -895,7 +887,7 @@ mysql_create(const char *dlzname, unsigned int argc, char *argv[], #if MYSQL_VERSION_ID >= 50000 /* enable automatic reconnection. */ - if (mysql_options((MYSQL *) dbi->dbconn, MYSQL_OPT_RECONNECT, + if (mysql_options((MYSQL *)dbi->dbconn, MYSQL_OPT_RECONNECT, &auto_reconnect) != 0) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_WARNING, @@ -904,10 +896,9 @@ mysql_create(const char *dlzname, unsigned int argc, char *argv[], } #endif - for (j=0; dbc == NULL && j < 4; j++) - dbc = mysql_real_connect((MYSQL *) dbi->dbconn, host, - user, pass, dbname, port, socket, - flags); + for (j = 0; dbc == NULL && j < 4; j++) + dbc = mysql_real_connect((MYSQL *)dbi->dbconn, host, user, pass, + dbname, port, socket, flags); /* let user know if we couldn't connect. */ if (dbc == NULL) { @@ -925,12 +916,12 @@ mysql_create(const char *dlzname, unsigned int argc, char *argv[], result = ISC_R_SUCCESS; goto cleanup; - full_cleanup: +full_cleanup: if (dbi != NULL) destroy_sqldbinstance(dbi); - cleanup: +cleanup: if (dbname != NULL) isc_mem_free(named_g_mctx, dbname); @@ -943,7 +934,6 @@ mysql_create(const char *dlzname, unsigned int argc, char *argv[], if (socket != NULL) isc_mem_free(named_g_mctx, socket); - return result; } @@ -961,11 +951,11 @@ mysql_destroy(void *driverarg, void *dbdata) UNUSED(driverarg); - dbi = (dbinstance_t *) dbdata; + dbi = (dbinstance_t *)dbdata; /* release DB connection */ if (dbi->dbconn != NULL) - mysql_close((MYSQL *) dbi->dbconn); + mysql_close((MYSQL *)dbi->dbconn); /* destroy DB instance */ destroy_sqldbinstance(dbi); @@ -995,26 +985,26 @@ static dns_sdlzmethods_t dlz_mysql_methods = { * Wrapper around dns_sdlzregister(). */ isc_result_t -dlz_mysql_init(void) { +dlz_mysql_init(void) +{ isc_result_t result; /* * Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Registering DLZ mysql driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Registering DLZ mysql driver."); /* Driver is always threadsafe. Because of the way MySQL handles - * threads the MySQL driver can only be used when bind is run single - * threaded. Using MySQL with Bind running multi-threaded is not - * allowed. When using the MySQL driver "-n1" should always be - * passed to Bind to guarantee single threaded operation. + * threads the MySQL driver can only be used when bind is run single + * threaded. Using MySQL with Bind running multi-threaded is not + * allowed. When using the MySQL driver "-n1" should always be + * passed to Bind to guarantee single threaded operation. */ result = dns_sdlzregister("mysql", &dlz_mysql_methods, NULL, DNS_SDLZFLAG_RELATIVEOWNER | - DNS_SDLZFLAG_RELATIVERDATA | - DNS_SDLZFLAG_THREADSAFE, + DNS_SDLZFLAG_RELATIVERDATA | + DNS_SDLZFLAG_THREADSAFE, named_g_mctx, &dlz_mysql); /* if we can't register the driver, there are big problems. */ if (result != ISC_R_SUCCESS) { @@ -1024,7 +1014,6 @@ dlz_mysql_init(void) { result = ISC_R_UNEXPECTED; } - return result; } @@ -1032,14 +1021,13 @@ dlz_mysql_init(void) { * Wrapper around dns_sdlzunregister(). */ void -dlz_mysql_clear(void) { - +dlz_mysql_clear(void) +{ /* * Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Unregistering DLZ mysql driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Unregistering DLZ mysql driver."); /* unregister the driver. */ if (dlz_mysql != NULL) diff --git a/contrib/dlz/drivers/dlz_odbc_driver.c b/contrib/dlz/drivers/dlz_odbc_driver.c index 59e31441e0..2114e52b63 100644 --- a/contrib/dlz/drivers/dlz_odbc_driver.c +++ b/contrib/dlz/drivers/dlz_odbc_driver.c @@ -42,13 +42,12 @@ */ #ifdef DLZ_ODBC +#include +#include +#include #include -#include #include - -#include -#include -#include +#include #include #include @@ -57,14 +56,13 @@ #include #include -#include +#include +#include +#include -#include #include - -#include -#include -#include +#include +#include static dns_sdlzimplementation_t *dlz_odbc = NULL; @@ -85,9 +83,9 @@ static dns_sdlzimplementation_t *dlz_odbc = NULL; * structure to hold ODBC connection & statement */ -typedef struct{ - SQLHDBC dbc; - SQLHSTMT stmnt; +typedef struct { + SQLHDBC dbc; + SQLHSTMT stmnt; } odbc_db_t; /* @@ -97,11 +95,11 @@ typedef struct{ */ typedef struct { - db_list_t *db; /* handle to a list of DB */ - SQLHENV sql_env; /* handle to SQL environment */ - SQLCHAR *dsn; - SQLCHAR *user; - SQLCHAR *pass; + db_list_t *db; /* handle to a list of DB */ + SQLHENV sql_env; /* handle to SQL environment */ + SQLCHAR * dsn; + SQLCHAR * user; + SQLCHAR * pass; } odbc_instance_t; /* forward reference */ @@ -114,16 +112,18 @@ odbc_makesafe(char *to, const char *from, size_t length); */ static SQLSMALLINT -safeLen(void *a) { +safeLen(void *a) +{ if (a == NULL) return 0; - return strlen((char *) a); + return strlen((char *)a); } /*% propertly cleans up an odbc_instance_t */ static void -destroy_odbc_instance(odbc_instance_t *odbc_inst) { +destroy_odbc_instance(odbc_instance_t *odbc_inst) +{ dbinstance_t *ndbi = NULL; dbinstance_t *dbi = NULL; @@ -139,21 +139,20 @@ destroy_odbc_instance(odbc_instance_t *odbc_inst) { /* if we have a connection / statement object in memory */ if (dbi->dbconn != NULL) { /* free statement handle */ - if (((odbc_db_t *) (dbi->dbconn))->stmnt != NULL) { - SQLFreeHandle(SQL_HANDLE_STMT, - ((odbc_db_t *) - (dbi->dbconn))->stmnt); - ((odbc_db_t *) (dbi->dbconn))->stmnt = NULL; + if (((odbc_db_t *)(dbi->dbconn))->stmnt != NULL) { + SQLFreeHandle( + SQL_HANDLE_STMT, + ((odbc_db_t *)(dbi->dbconn))->stmnt); + ((odbc_db_t *)(dbi->dbconn))->stmnt = NULL; } /* disconnect from database & free connection handle */ - if (((odbc_db_t *) (dbi->dbconn))->dbc != NULL) { - SQLDisconnect(((odbc_db_t *) - dbi->dbconn)->dbc); - SQLFreeHandle(SQL_HANDLE_DBC, - ((odbc_db_t *) - (dbi->dbconn))->dbc); - ((odbc_db_t *) (dbi->dbconn))->dbc = NULL; + if (((odbc_db_t *)(dbi->dbconn))->dbc != NULL) { + SQLDisconnect(((odbc_db_t *)dbi->dbconn)->dbc); + SQLFreeHandle( + SQL_HANDLE_DBC, + ((odbc_db_t *)(dbi->dbconn))->dbc); + ((odbc_db_t *)(dbi->dbconn))->dbc = NULL; } /* free memory that held connection & statement. */ @@ -180,16 +179,15 @@ destroy_odbc_instance(odbc_instance_t *odbc_inst) { /* free memory for odbc_inst */ if (odbc_inst != NULL) isc_mem_put(named_g_mctx, odbc_inst, sizeof(odbc_instance_t)); - } /*% Connects to database, and creates ODBC statements */ static isc_result_t -odbc_connect(odbc_instance_t *dbi, odbc_db_t **dbc) { - - odbc_db_t *ndb = *dbc; - SQLRETURN sqlRes; +odbc_connect(odbc_instance_t *dbi, odbc_db_t **dbc) +{ + odbc_db_t * ndb = *dbc; + SQLRETURN sqlRes; isc_result_t result = ISC_R_SUCCESS; if (ndb != NULL) { @@ -244,10 +242,9 @@ odbc_connect(odbc_instance_t *dbi, odbc_db_t **dbc) { return ISC_R_SUCCESS; - cleanup: +cleanup: if (ndb != NULL) { - /* if statement handle != null free it */ if (ndb->stmnt != NULL) { SQLFreeHandle(SQL_HANDLE_STMT, ndb->stmnt); @@ -283,7 +280,7 @@ odbc_find_avail_conn(db_list_t *dblist) { dbinstance_t *dbi = NULL; dbinstance_t *head; - int count = 0; + int count = 0; /* get top of list */ head = dbi = ISC_LIST_HEAD(*dblist); @@ -303,8 +300,8 @@ odbc_find_avail_conn(db_list_t *dblist) dbi = head; } } - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_INFO, + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_INFO, "Odbc driver unable to find available " "connection after searching %d times", count); @@ -319,9 +316,9 @@ odbc_find_avail_conn(db_list_t *dblist) */ static char * -odbc_escape_string(const char *instr) { - - char *outstr; +odbc_escape_string(const char *instr) +{ + char * outstr; unsigned int len; if (instr == NULL) @@ -357,31 +354,29 @@ odbc_escape_string(const char *instr) { static size_t odbc_makesafe(char *to, const char *from, size_t length) { - const char *source = from; - char *target = to; + const char * source = from; + char * target = to; unsigned int remaining = length; - while (remaining > 0) - { - switch (*source) - { - case '\\': - *target = '\\'; - target++; - *target = '\\'; - /* target and remaining are updated below. */ - break; + while (remaining > 0) { + switch (*source) { + case '\\': + *target = '\\'; + target++; + *target = '\\'; + /* target and remaining are updated below. */ + break; - case '\'': - *target = '\''; - target++; - *target = '\''; - /* target and remaining are updated below. */ - break; + case '\'': + *target = '\''; + target++; + *target = '\''; + /* target and remaining are updated below. */ + break; - default: - *target = *source; - /* target and remaining are updated below. */ + default: + *target = *source; + /* target and remaining are updated below. */ } source++; target++; @@ -411,25 +406,22 @@ odbc_makesafe(char *to, const char *from, size_t length) * If not successfull, this function will perform all the cleanup. */ - static isc_result_t -odbc_get_resultset(const char *zone, const char *record, - const char *client, unsigned int query, - void *dbdata, dbinstance_t **r_dbi) +odbc_get_resultset(const char *zone, const char *record, const char *client, + unsigned int query, void *dbdata, dbinstance_t **r_dbi) { - - isc_result_t result; + isc_result_t result; dbinstance_t *dbi = NULL; - char *querystring = NULL; - unsigned int j = 0; - SQLRETURN sqlRes; + char * querystring = NULL; + unsigned int j = 0; + SQLRETURN sqlRes; REQUIRE(*r_dbi == NULL); /* get db instance / connection */ /* find an available DBI from the list */ - dbi = odbc_find_avail_conn(((odbc_instance_t *) dbdata)->db); + dbi = odbc_find_avail_conn(((odbc_instance_t *)dbdata)->db); /* if DBI is null, can't do anything else */ if (dbi == NULL) { @@ -437,7 +429,7 @@ odbc_get_resultset(const char *zone, const char *record, } /* what type of query are we going to run? */ - switch(query) { + switch (query) { case ALLNODES: /* * if the query was not passed in from the config file @@ -498,7 +490,6 @@ odbc_get_resultset(const char *zone, const char *record, goto cleanup; } - /* * was a zone string passed? If so, make it safe for use in * queries. @@ -509,7 +500,7 @@ odbc_get_resultset(const char *zone, const char *record, result = ISC_R_NOMEMORY; goto cleanup; } - } else { /* no string passed, set the string pointer to NULL */ + } else { /* no string passed, set the string pointer to NULL */ dbi->zone = NULL; } @@ -523,7 +514,7 @@ odbc_get_resultset(const char *zone, const char *record, result = ISC_R_NOMEMORY; goto cleanup; } - } else { /* no string passed, set the string pointer to NULL */ + } else { /* no string passed, set the string pointer to NULL */ dbi->record = NULL; } @@ -537,7 +528,7 @@ odbc_get_resultset(const char *zone, const char *record, result = ISC_R_NOMEMORY; goto cleanup; } - } else { /* no string passed, set the string pointer to NULL */ + } else { /* no string passed, set the string pointer to NULL */ dbi->client = NULL; } @@ -545,7 +536,7 @@ odbc_get_resultset(const char *zone, const char *record, * what type of query are we going to run? * this time we build the actual query to run. */ - switch(query) { + switch (query) { case ALLNODES: querystring = build_querystring(named_g_mctx, dbi->allnodes_q); break; @@ -574,31 +565,30 @@ odbc_get_resultset(const char *zone, const char *record, } /* if the querystring is null, Bummer, outta RAM. UPGRADE TIME!!! */ - if (querystring == NULL) { + if (querystring == NULL) { result = ISC_R_NOMEMORY; goto cleanup; } /* output the full query string during debug so we can see */ /* what lame error the query has. */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(1), - "\nQuery String: %s\n", querystring); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(1), "\nQuery String: %s\n", querystring); /* attempt query up to 3 times. */ - for (j=0; j < 3; j++) { + for (j = 0; j < 3; j++) { /* try to get result set */ - sqlRes = SQLExecDirect(((odbc_db_t *) dbi->dbconn)->stmnt, - (SQLCHAR *) querystring, - (SQLINTEGER) strlen(querystring)); + sqlRes = SQLExecDirect(((odbc_db_t *)dbi->dbconn)->stmnt, + (SQLCHAR *)querystring, + (SQLINTEGER)strlen(querystring)); /* if error, reset DB connection */ if (!sqlOK(sqlRes)) { /* close cursor */ - SQLCloseCursor(((odbc_db_t *) dbi->dbconn)->stmnt); + SQLCloseCursor(((odbc_db_t *)dbi->dbconn)->stmnt); /* attempt to reconnect */ - result = odbc_connect((odbc_instance_t *) dbdata, - (odbc_db_t **) &(dbi->dbconn)); + result = odbc_connect((odbc_instance_t *)dbdata, + (odbc_db_t **)&(dbi->dbconn)); /* check if we reconnected */ if (result != ISC_R_SUCCESS) break; @@ -611,9 +601,9 @@ odbc_get_resultset(const char *zone, const char *record, /* result set ok, break loop */ break; } - } /* end for loop */ + } /* end for loop */ - cleanup: /* it's always good to cleanup after yourself */ +cleanup: /* it's always good to cleanup after yourself */ /* free dbi->zone string */ if (dbi->zone != NULL) @@ -632,12 +622,11 @@ odbc_get_resultset(const char *zone, const char *record, isc_mutex_unlock(&dbi->instance_lock); /* release query string */ - if (querystring != NULL) - isc_mem_free(named_g_mctx, querystring ); + if (querystring != NULL) + isc_mem_free(named_g_mctx, querystring); /* return result */ return result; - } /*% @@ -648,18 +637,19 @@ odbc_get_resultset(const char *zone, const char *record, */ static isc_result_t -odbc_getField(SQLHSTMT *stmnt, SQLSMALLINT field, char **data) { - +odbc_getField(SQLHSTMT *stmnt, SQLSMALLINT field, char **data) +{ SQLLEN size; REQUIRE(data != NULL && *data == NULL); - if (sqlOK(SQLColAttribute(stmnt, field, SQL_DESC_DISPLAY_SIZE, - NULL, 0, NULL, &size)) && size > 0) { + if (sqlOK(SQLColAttribute(stmnt, field, SQL_DESC_DISPLAY_SIZE, NULL, 0, + NULL, &size)) && + size > 0) { *data = isc_mem_allocate(named_g_mctx, size + 1); if (data != NULL) { - if (sqlOK(SQLGetData(stmnt, field, SQL_C_CHAR, - *data, size + 1,&size))) + if (sqlOK(SQLGetData(stmnt, field, SQL_C_CHAR, *data, + size + 1, &size))) return ISC_R_SUCCESS; isc_mem_free(named_g_mctx, *data); } @@ -676,22 +666,23 @@ odbc_getField(SQLHSTMT *stmnt, SQLSMALLINT field, char **data) { static isc_result_t odbc_getManyFields(SQLHSTMT *stmnt, SQLSMALLINT startField, - SQLSMALLINT endField, char **retData) { - + SQLSMALLINT endField, char **retData) +{ isc_result_t result; - SQLLEN size; - int totSize = 0; - SQLSMALLINT i; - int j = 0; - char *data; + SQLLEN size; + int totSize = 0; + SQLSMALLINT i; + int j = 0; + char * data; REQUIRE(retData != NULL && *retData == NULL); REQUIRE(startField > 0 && startField <= endField); /* determine how large the data is */ - for (i=startField; i <= endField; i++) - if (sqlOK(SQLColAttribute(stmnt, i, SQL_DESC_DISPLAY_SIZE, - NULL, 0, NULL, &size)) && size > 0) { + for (i = startField; i <= endField; i++) + if (sqlOK(SQLColAttribute(stmnt, i, SQL_DESC_DISPLAY_SIZE, NULL, + 0, NULL, &size)) && + size > 0) { /* always allow for a " " (space) character */ totSize += (size + 1); /* after the data item */ @@ -706,7 +697,7 @@ odbc_getManyFields(SQLHSTMT *stmnt, SQLSMALLINT startField, result = ISC_R_FAILURE; /* get the data and concat all fields into a large string */ - for (i=startField; i <= endField; i++) { + for (i = startField; i <= endField; i++) { if (sqlOK(SQLGetData(stmnt, i, SQL_C_CHAR, &(data[j]), totSize - j, &size))) { if (size > 0) { @@ -728,7 +719,6 @@ odbc_getManyFields(SQLHSTMT *stmnt, SQLSMALLINT startField, *retData = data; return ISC_R_SUCCESS; - } /*% @@ -740,20 +730,18 @@ odbc_getManyFields(SQLHSTMT *stmnt, SQLSMALLINT startField, static isc_result_t odbc_process_rs(dns_sdlzlookup_t *lookup, dbinstance_t *dbi) { - - isc_result_t result; - SQLSMALLINT fields; - SQLHSTMT *stmnt; - char *ttl_s; - char *type; - char *data; - char *endp; - int ttl; + SQLSMALLINT fields; + SQLHSTMT * stmnt; + char * ttl_s; + char * type; + char * data; + char * endp; + int ttl; REQUIRE(dbi != NULL); - stmnt = ((odbc_db_t *) (dbi->dbconn))->stmnt; + stmnt = ((odbc_db_t *)(dbi->dbconn))->stmnt; /* get number of columns */ if (!sqlOK(SQLNumResultCols(stmnt, &fields))) { @@ -768,11 +756,10 @@ odbc_process_rs(dns_sdlzlookup_t *lookup, dbinstance_t *dbi) result = ISC_R_FAILURE; while (sqlOK(SQLFetch(stmnt))) { - /* set to null for next pass through */ data = type = ttl_s = NULL; - switch(fields) { + switch (fields) { case 1: /* * one column in rs, it's the data field. use @@ -780,10 +767,10 @@ odbc_process_rs(dns_sdlzlookup_t *lookup, dbinstance_t *dbi) * of 86400. attempt to get data, & tell bind * about it. */ - if ((result = odbc_getField(stmnt, 1, - &data)) == ISC_R_SUCCESS) { - result = dns_sdlz_putrr(lookup, "a", - 86400, data); + if ((result = odbc_getField(stmnt, 1, &data)) == + ISC_R_SUCCESS) { + result = dns_sdlz_putrr(lookup, "a", 86400, + data); } break; case 2: @@ -792,12 +779,12 @@ odbc_process_rs(dns_sdlzlookup_t *lookup, dbinstance_t *dbi) * use default TTL of 86400. attempt to get * DNS type & data, then tell bind about it. */ - if ((result = odbc_getField(stmnt, 1, - &type)) == ISC_R_SUCCESS && - (result = odbc_getField(stmnt, 2, - &data)) == ISC_R_SUCCESS) { - result = dns_sdlz_putrr(lookup, type, - 86400, data); + if ((result = odbc_getField(stmnt, 1, &type)) == + ISC_R_SUCCESS && + (result = odbc_getField(stmnt, 2, &data)) == + ISC_R_SUCCESS) { + result = dns_sdlz_putrr(lookup, type, 86400, + data); } break; default: @@ -806,13 +793,13 @@ odbc_process_rs(dns_sdlzlookup_t *lookup, dbinstance_t *dbi) * together. attempt to get DNS ttl, type, * data then tell Bind about them. */ - if ((result = odbc_getField(stmnt, 1, &ttl_s)) - == ISC_R_SUCCESS && - (result = odbc_getField(stmnt, 2, &type)) - == ISC_R_SUCCESS && - (result = odbc_getManyFields(stmnt, 3, - fields, &data)) - == ISC_R_SUCCESS) { + if ((result = odbc_getField(stmnt, 1, &ttl_s)) == + ISC_R_SUCCESS && + (result = odbc_getField(stmnt, 2, &type)) == + ISC_R_SUCCESS && + (result = odbc_getManyFields(stmnt, 3, fields, + &data)) == + ISC_R_SUCCESS) { /* try to convert ttl string to int */ ttl = strtol(ttl_s, &endp, 10); /* failure converting ttl. */ @@ -833,7 +820,7 @@ odbc_process_rs(dns_sdlzlookup_t *lookup, dbinstance_t *dbi) ttl, data); } } /* closes bid if () */ - } /* closes switch(fields) */ + } /* closes switch(fields) */ /* clean up mem */ if (ttl_s != NULL) @@ -855,10 +842,10 @@ odbc_process_rs(dns_sdlzlookup_t *lookup, dbinstance_t *dbi) } } /* closes while loop */ - process_rs_cleanup: +process_rs_cleanup: /* close cursor */ - SQLCloseCursor(((odbc_db_t *) (dbi->dbconn))->stmnt); + SQLCloseCursor(((odbc_db_t *)(dbi->dbconn))->stmnt); /* free lock on dbi so someone else can use it. */ isc_mutex_unlock(&dbi->instance_lock); @@ -876,8 +863,7 @@ static isc_result_t odbc_findzone(void *driverarg, void *dbdata, const char *name, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) { - - isc_result_t result; + isc_result_t result; dbinstance_t *dbi = NULL; UNUSED(driverarg); @@ -891,13 +877,13 @@ odbc_findzone(void *driverarg, void *dbdata, const char *name, /* Check that we got a result set with data */ if (result == ISC_R_SUCCESS && - !sqlOK(SQLFetch(((odbc_db_t *) (dbi->dbconn))->stmnt))) { + !sqlOK(SQLFetch(((odbc_db_t *)(dbi->dbconn))->stmnt))) { result = ISC_R_NOTFOUND; } if (dbi != NULL) { /* get rid of result set, we are done with it. */ - SQLCloseCursor(((odbc_db_t *) (dbi->dbconn))->stmnt); + SQLCloseCursor(((odbc_db_t *)(dbi->dbconn))->stmnt); /* free lock on dbi so someone else can use it. */ isc_mutex_unlock(&dbi->instance_lock); @@ -911,7 +897,7 @@ static isc_result_t odbc_allowzonexfr(void *driverarg, void *dbdata, const char *name, const char *client) { - isc_result_t result; + isc_result_t result; dbinstance_t *dbi = NULL; UNUSED(driverarg); @@ -931,8 +917,7 @@ odbc_allowzonexfr(void *driverarg, void *dbdata, const char *name, * result != ISC_R_SUCCESS cursor and mutex already cleaned * up, so we don't have to do it here. */ - result = odbc_get_resultset(name, NULL, client, ALLOWXFR, - dbdata, &dbi); + result = odbc_get_resultset(name, NULL, client, ALLOWXFR, dbdata, &dbi); /* if we get "not implemented", send it along. */ if (result == ISC_R_NOTIMPLEMENTED) @@ -940,17 +925,16 @@ odbc_allowzonexfr(void *driverarg, void *dbdata, const char *name, /* Check that we got a result set with data */ if (result == ISC_R_SUCCESS && - !sqlOK(SQLFetch(((odbc_db_t *) (dbi->dbconn))->stmnt))) { + !sqlOK(SQLFetch(((odbc_db_t *)(dbi->dbconn))->stmnt))) { result = ISC_R_NOPERM; } if (dbi != NULL) { /* get rid of result set, we are done with it. */ - SQLCloseCursor(((odbc_db_t *) (dbi->dbconn))->stmnt); + SQLCloseCursor(((odbc_db_t *)(dbi->dbconn))->stmnt); /* free lock on dbi so someone else can use it. */ isc_mutex_unlock(&dbi->instance_lock); - } return result; @@ -966,17 +950,16 @@ static isc_result_t odbc_allnodes(const char *zone, void *driverarg, void *dbdata, dns_sdlzallnodes_t *allnodes) { - - isc_result_t result; + isc_result_t result; dbinstance_t *dbi = NULL; - SQLHSTMT *stmnt; - SQLSMALLINT fields; - char *data; - char *type; - char *ttl_s; - int ttl; - char *host; - char *endp; + SQLHSTMT * stmnt; + SQLSMALLINT fields; + char * data; + char * type; + char * ttl_s; + int ttl; + char * host; + char * endp; UNUSED(driverarg); @@ -996,7 +979,7 @@ odbc_allnodes(const char *zone, void *driverarg, void *dbdata, return (ISC_R_FAILURE); } - stmnt = ((odbc_db_t *) (dbi->dbconn))->stmnt; + stmnt = ((odbc_db_t *)(dbi->dbconn))->stmnt; /* get number of columns */ if (!sqlOK(SQLNumResultCols(stmnt, &fields))) { @@ -1007,7 +990,7 @@ odbc_allnodes(const char *zone, void *driverarg, void *dbdata, goto allnodes_cleanup; } - if (fields < 4) { /* gotta have at least 4 columns */ + if (fields < 4) { /* gotta have at least 4 columns */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "Odbc driver too few fields returned by " @@ -1020,7 +1003,6 @@ odbc_allnodes(const char *zone, void *driverarg, void *dbdata, result = ISC_R_FAILURE; while (sqlOK(SQLFetch(stmnt))) { - /* set to null for next pass through */ data = host = type = ttl_s = NULL; @@ -1028,14 +1010,14 @@ odbc_allnodes(const char *zone, void *driverarg, void *dbdata, * attempt to get DNS ttl, type, host, data then tell * Bind about them */ - if ((result = odbc_getField(stmnt, 1, - &ttl_s)) == ISC_R_SUCCESS && - (result = odbc_getField(stmnt, 2, - &type)) == ISC_R_SUCCESS && - (result = odbc_getField(stmnt, 3, - &host)) == ISC_R_SUCCESS && - (result = odbc_getManyFields(stmnt, 4, fields, - &data)) == ISC_R_SUCCESS) { + if ((result = odbc_getField(stmnt, 1, &ttl_s)) == + ISC_R_SUCCESS && + (result = odbc_getField(stmnt, 2, &type)) == + ISC_R_SUCCESS && + (result = odbc_getField(stmnt, 3, &host)) == + ISC_R_SUCCESS && + (result = odbc_getManyFields(stmnt, 4, fields, &data)) == + ISC_R_SUCCESS) { /* convert ttl string to int */ ttl = strtol(ttl_s, &endp, 10); /* failure converting ttl. */ @@ -1075,10 +1057,10 @@ odbc_allnodes(const char *zone, void *driverarg, void *dbdata, } } /* closes while loop */ - allnodes_cleanup: +allnodes_cleanup: /* close cursor */ - SQLCloseCursor(((odbc_db_t *) (dbi->dbconn))->stmnt); + SQLCloseCursor(((odbc_db_t *)(dbi->dbconn))->stmnt); /* free lock on dbi so someone else can use it. */ isc_mutex_unlock(&dbi->instance_lock); @@ -1095,7 +1077,7 @@ static isc_result_t odbc_authority(const char *zone, void *driverarg, void *dbdata, dns_sdlzlookup_t *lookup) { - isc_result_t result; + isc_result_t result; dbinstance_t *dbi = NULL; UNUSED(driverarg); @@ -1121,11 +1103,11 @@ odbc_authority(const char *zone, void *driverarg, void *dbdata, /*% if zone is supported, lookup up a (or multiple) record(s) in it */ static isc_result_t -odbc_lookup(const char *zone, const char *name, void *driverarg, - void *dbdata, dns_sdlzlookup_t *lookup, - dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) +odbc_lookup(const char *zone, const char *name, void *driverarg, void *dbdata, + dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, + dns_clientinfo_t *clientinfo) { - isc_result_t result; + isc_result_t result; dbinstance_t *dbi = NULL; UNUSED(driverarg); @@ -1157,21 +1139,20 @@ static isc_result_t odbc_create(const char *dlzname, unsigned int argc, char *argv[], void *driverarg, void **dbdata) { - isc_result_t result; + isc_result_t result; odbc_instance_t *odbc_inst = NULL; - dbinstance_t *db = NULL; - SQLRETURN sqlRes; - int dbcount; - int i; - char *endp; + dbinstance_t * db = NULL; + SQLRETURN sqlRes; + int dbcount; + int i; + char * endp; UNUSED(dlzname); UNUSED(driverarg); /* if debugging, let user know we are multithreaded. */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(1), - "Odbc driver running multithreaded"); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(1), "Odbc driver running multithreaded"); /* verify we have at least 5 arg's passed to the driver */ if (argc < 5) { @@ -1209,8 +1190,7 @@ odbc_create(const char *dlzname, unsigned int argc, char *argv[], /* parse connection string and get paramters. */ /* get odbc database dsn - required */ - odbc_inst->dsn = (SQLCHAR *) getParameterValue(argv[2], - "dsn="); + odbc_inst->dsn = (SQLCHAR *)getParameterValue(argv[2], "dsn="); if (odbc_inst->dsn == NULL) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, @@ -1220,12 +1200,11 @@ odbc_create(const char *dlzname, unsigned int argc, char *argv[], } /* get odbc database username */ /* if no username was passed, set odbc_inst.user = NULL; */ - odbc_inst->user = (SQLCHAR *) getParameterValue(argv[2], - "user="); + odbc_inst->user = (SQLCHAR *)getParameterValue(argv[2], "user="); /* get odbc database password */ /* if no password was passed, set odbc_inst.pass = NULL; */ - odbc_inst->pass = (SQLCHAR *) getParameterValue(argv[2], "pass="); + odbc_inst->pass = (SQLCHAR *)getParameterValue(argv[2], "pass="); /* create odbc environment & set environment to ODBC V3 */ if (odbc_inst->sql_env == NULL) { @@ -1242,7 +1221,7 @@ odbc_create(const char *dlzname, unsigned int argc, char *argv[], /*set ODBC version = 3 */ sqlRes = SQLSetEnvAttr(odbc_inst->sql_env, SQL_ATTR_ODBC_VERSION, - (void *) SQL_OV_ODBC3, 0); + (void *)SQL_OV_ODBC3, 0); if (!sqlOK(sqlRes)) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_INFO, @@ -1255,16 +1234,14 @@ odbc_create(const char *dlzname, unsigned int argc, char *argv[], /* allocate memory for database connection list */ odbc_inst->db = isc_mem_get(named_g_mctx, sizeof(db_list_t)); - /* initialize DB connection list */ ISC_LIST_INIT(*odbc_inst->db); /* create the appropriate number of database instances (DBI) */ /* append each new DBI to the end of the list */ - for (i=0; i < dbcount; i++) { - + for (i = 0; i < dbcount; i++) { /* how many queries were passed in from config file? */ - switch(argc) { + switch (argc) { case 5: result = build_sqldbinstance(named_g_mctx, NULL, NULL, NULL, argv[3], argv[4], @@ -1276,9 +1253,9 @@ odbc_create(const char *dlzname, unsigned int argc, char *argv[], NULL, &db); break; case 7: - result = build_sqldbinstance(named_g_mctx, argv[6], NULL, - argv[5], argv[3], argv[4], - NULL, &db); + result = build_sqldbinstance(named_g_mctx, argv[6], + NULL, argv[5], argv[3], + argv[4], NULL, &db); break; case 8: result = build_sqldbinstance(named_g_mctx, argv[6], @@ -1303,10 +1280,9 @@ odbc_create(const char *dlzname, unsigned int argc, char *argv[], ISC_LINK_INIT(db, link); ISC_LIST_APPEND(*odbc_inst->db, db, link); - result = odbc_connect(odbc_inst, (odbc_db_t **) &(db->dbconn)); + result = odbc_connect(odbc_inst, (odbc_db_t **)&(db->dbconn)); if (result != ISC_R_SUCCESS) { - /* * if multi threaded, let user know which * connection failed. user could be @@ -1318,22 +1294,22 @@ odbc_create(const char *dlzname, unsigned int argc, char *argv[], DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "Odbc driver failed to create database " "connection number %u after 3 attempts", - i+1); + i + 1); goto cleanup; } /* set DB = null for next loop through. */ db = NULL; - } /* end for loop */ + } /* end for loop */ /* set dbdata to the odbc_instance we created. */ *dbdata = odbc_inst; /* hey, we got through all of that ok, return success. */ - return(ISC_R_SUCCESS); + return (ISC_R_SUCCESS); - cleanup: +cleanup: destroy_odbc_instance(odbc_inst); @@ -1352,10 +1328,9 @@ odbc_destroy(void *driverarg, void *dbdata) { UNUSED(driverarg); - destroy_odbc_instance((odbc_instance_t *) dbdata); + destroy_odbc_instance((odbc_instance_t *)dbdata); } - /* pointers to all our runtime methods. */ /* this is used during driver registration */ /* i.e. in dlz_odbc_init below. */ @@ -1380,15 +1355,15 @@ static dns_sdlzmethods_t dlz_odbc_methods = { * Wrapper around dns_sdlzregister(). */ isc_result_t -dlz_odbc_init(void) { +dlz_odbc_init(void) +{ isc_result_t result; /* * Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Registering DLZ odbc driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Registering DLZ odbc driver."); /* * Driver is always threadsafe. When multithreaded all @@ -1399,8 +1374,8 @@ dlz_odbc_init(void) { */ result = dns_sdlzregister("odbc", &dlz_odbc_methods, NULL, DNS_SDLZFLAG_RELATIVEOWNER | - DNS_SDLZFLAG_RELATIVERDATA | - DNS_SDLZFLAG_THREADSAFE, + DNS_SDLZFLAG_RELATIVERDATA | + DNS_SDLZFLAG_THREADSAFE, named_g_mctx, &dlz_odbc); /* if we can't register the driver, there are big problems. */ if (result != ISC_R_SUCCESS) { @@ -1410,7 +1385,6 @@ dlz_odbc_init(void) { result = ISC_R_UNEXPECTED; } - return result; } @@ -1418,14 +1392,13 @@ dlz_odbc_init(void) { * Wrapper around dns_sdlzunregister(). */ void -dlz_odbc_clear(void) { - +dlz_odbc_clear(void) +{ /* * Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Unregistering DLZ odbc driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Unregistering DLZ odbc driver."); /* unregister the driver. */ if (dlz_odbc != NULL) diff --git a/contrib/dlz/drivers/dlz_postgres_driver.c b/contrib/dlz/drivers/dlz_postgres_driver.c index ec6fd93686..db343c54ea 100644 --- a/contrib/dlz/drivers/dlz_postgres_driver.c +++ b/contrib/dlz/drivers/dlz_postgres_driver.c @@ -43,12 +43,8 @@ #ifdef DLZ_POSTGRES #include -#include #include - -#include -#include -#include +#include #include #include @@ -57,10 +53,13 @@ #include #include -#include +#include +#include +#include -#include #include +#include +#include /* temporarily include time. */ #include @@ -110,14 +109,12 @@ static dns_sdlzimplementation_t *dlz_postgres = NULL; static size_t postgres_makesafe(char *to, const char *from, size_t length) { - const char *source = from; - char *target = to; + const char * source = from; + char * target = to; unsigned int remaining = length; - while (remaining > 0) - { - switch (*source) - { + while (remaining > 0) { + switch (*source) { case '\\': *target = '\\'; target++; @@ -155,7 +152,6 @@ postgres_makesafe(char *to, const char *from, size_t length) static void postgres_destroy_dblist(db_list_t *dblist) { - dbinstance_t *ndbi = NULL; dbinstance_t *dbi = NULL; @@ -169,7 +165,7 @@ postgres_destroy_dblist(db_list_t *dblist) ndbi = ISC_LIST_NEXT(dbi, link); /* release DB connection */ if (dbi->dbconn != NULL) - PQfinish((PGconn *) dbi->dbconn); + PQfinish((PGconn *)dbi->dbconn); /* release all memory that comprised a DBI */ destroy_sqldbinstance(dbi); } @@ -193,7 +189,7 @@ postgres_find_avail_conn(db_list_t *dblist) { dbinstance_t *dbi = NULL; dbinstance_t *head; - int count = 0; + int count = 0; /* get top of list */ head = dbi = ISC_LIST_HEAD(*dblist); @@ -213,8 +209,8 @@ postgres_find_avail_conn(db_list_t *dblist) dbi = head; } } - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_INFO, + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_INFO, "Postgres driver unable to find available connection " "after searching %d times", count); @@ -230,9 +226,9 @@ postgres_find_avail_conn(db_list_t *dblist) */ static char * -postgres_escape_string(const char *instr) { - - char *outstr; +postgres_escape_string(const char *instr) +{ + char * outstr; unsigned int len; if (instr == NULL) @@ -265,15 +261,14 @@ postgres_escape_string(const char *instr) { * it up properly. */ static isc_result_t -postgres_get_resultset(const char *zone, const char *record, - const char *client, unsigned int query, - void *dbdata, PGresult **rs) +postgres_get_resultset(const char *zone, const char *record, const char *client, + unsigned int query, void *dbdata, PGresult **rs) { - isc_result_t result; + isc_result_t result; dbinstance_t *dbi = NULL; - char *querystring = NULL; - unsigned int i = 0; - unsigned int j = 0; + char * querystring = NULL; + unsigned int i = 0; + unsigned int j = 0; #if 0 /* temporarily get a unique thread # */ @@ -292,7 +287,7 @@ postgres_get_resultset(const char *zone, const char *record, /* get db instance / connection */ /* find an available DBI from the list */ - dbi = postgres_find_avail_conn((db_list_t *) dbdata); + dbi = postgres_find_avail_conn((db_list_t *)dbdata); #if 0 /* temporary logging message */ @@ -307,7 +302,7 @@ postgres_get_resultset(const char *zone, const char *record, } /* what type of query are we going to run? */ - switch(query) { + switch (query) { case ALLNODES: /* * if the query was not passed in from the config file @@ -385,7 +380,7 @@ postgres_get_resultset(const char *zone, const char *record, result = ISC_R_NOMEMORY; goto cleanup; } - } else { /* no string passed, set the string pointer to NULL */ + } else { /* no string passed, set the string pointer to NULL */ dbi->zone = NULL; } @@ -406,11 +401,10 @@ postgres_get_resultset(const char *zone, const char *record, result = ISC_R_NOMEMORY; goto cleanup; } - } else { /* no string passed, set the string pointer to NULL */ + } else { /* no string passed, set the string pointer to NULL */ dbi->record = NULL; } - #if 0 /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, @@ -428,7 +422,7 @@ postgres_get_resultset(const char *zone, const char *record, result = ISC_R_NOMEMORY; goto cleanup; } - } else { /* no string passed, set the string pointer to NULL */ + } else { /* no string passed, set the string pointer to NULL */ dbi->client = NULL; } @@ -443,7 +437,7 @@ postgres_get_resultset(const char *zone, const char *record, * what type of query are we going to run? * this time we build the actual query to run. */ - switch(query) { + switch (query) { case ALLNODES: querystring = build_querystring(named_g_mctx, dbi->allnodes_q); break; @@ -479,7 +473,7 @@ postgres_get_resultset(const char *zone, const char *record, #endif /* if the querystring is null, Bummer, outta RAM. UPGRADE TIME!!! */ - if (querystring == NULL) { + if (querystring == NULL) { result = ISC_R_NOMEMORY; goto cleanup; } @@ -495,12 +489,11 @@ postgres_get_resultset(const char *zone, const char *record, * output the full query string during debug so we can see * what lame error the query has. */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(1), - "\nQuery String: %s\n", querystring); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(1), "\nQuery String: %s\n", querystring); /* attempt query up to 3 times. */ - for (j=0; j < 3; j++) { + for (j = 0; j < 3; j++) { #if 0 /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, @@ -509,13 +502,13 @@ postgres_get_resultset(const char *zone, const char *record, dlz_thread_num, j); #endif /* try to get result set */ - *rs = PQexec((PGconn *)dbi->dbconn, querystring ); + *rs = PQexec((PGconn *)dbi->dbconn, querystring); result = ISC_R_SUCCESS; /* * if result set is null, reset DB connection, max 3 * attempts. */ - for (i=0; *rs == NULL && i < 3; i++) { + for (i = 0; *rs == NULL && i < 3; i++) { #if 0 /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, @@ -524,9 +517,9 @@ postgres_get_resultset(const char *zone, const char *record, dlz_thread_num); #endif result = ISC_R_FAILURE; - PQreset((PGconn *) dbi->dbconn); + PQreset((PGconn *)dbi->dbconn); /* connection ok, break inner loop */ - if (PQstatus((PGconn *) dbi->dbconn) == CONNECTION_OK) + if (PQstatus((PGconn *)dbi->dbconn) == CONNECTION_OK) break; } /* result set ok, break outter loop */ @@ -546,14 +539,14 @@ postgres_get_resultset(const char *zone, const char *record, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "%d clearing rs", dlz_thread_num); #endif - PQclear(*rs); /* get rid of it */ + PQclear(*rs); /* get rid of it */ /* in case this was the last attempt */ *rs = NULL; result = ISC_R_FAILURE; } } - cleanup: +cleanup: /* it's always good to cleanup after yourself */ #if 0 @@ -586,8 +579,8 @@ postgres_get_resultset(const char *zone, const char *record, isc_mutex_unlock(&dbi->instance_lock); /* release query string */ - if (querystring != NULL) - isc_mem_free(named_g_mctx, querystring ); + if (querystring != NULL) + isc_mem_free(named_g_mctx, querystring); #if 0 /* temporary logging message */ @@ -615,14 +608,14 @@ postgres_process_rs(dns_sdlzlookup_t *lookup, PGresult *rs) unsigned int fields; unsigned int j; unsigned int len; - char *tmpString; - char *endp; - int ttl; + char * tmpString; + char * endp; + int ttl; rows = PQntuples(rs); /* how many rows in result set */ - fields = PQnfields(rs); /* how many columns in result set */ - for (i=0; i < rows; i++) { - switch(fields) { + fields = PQnfields(rs); /* how many columns in result set */ + for (i = 0; i < rows; i++) { + switch (fields) { case 1: /* * one column in rs, it's the data field. use @@ -656,12 +649,12 @@ postgres_process_rs(dns_sdlzlookup_t *lookup, PGresult *rs) ttl, PQgetvalue(rs, i, 2)); break; default: - /* + /* * more than 3 fields, concatenate the last * ones together. figure out how long to make * string */ - for (j=2, len=0; j < fields; j++) { + for (j = 2, len = 0; j < fields; j++) { len += strlen(PQgetvalue(rs, i, j)) + 1; } /* @@ -675,7 +668,7 @@ postgres_process_rs(dns_sdlzlookup_t *lookup, PGresult *rs) * concat the rest of fields together, space * between each one. */ - for (j=3; j < fields; j++) { + for (j = 3; j < fields; j++) { strcat(tmpString, " "); strcat(tmpString, PQgetvalue(rs, i, j)); } @@ -727,10 +720,10 @@ postgres_process_rs(dns_sdlzlookup_t *lookup, PGresult *rs) static isc_result_t postgres_findzone(void *driverarg, void *dbdata, const char *name, dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo) + dns_clientinfo_t * clientinfo) { isc_result_t result; - PGresult *rs = NULL; + PGresult * rs = NULL; unsigned int rows; UNUSED(driverarg); @@ -738,8 +731,8 @@ postgres_findzone(void *driverarg, void *dbdata, const char *name, UNUSED(clientinfo); /* run the query and get the result set from the database. */ - result = postgres_get_resultset(name, NULL, NULL, - FINDZONE, dbdata, &rs); + result = + postgres_get_resultset(name, NULL, NULL, FINDZONE, dbdata, &rs); /* if we didn't get a result set, log an err msg. */ if (result != ISC_R_SUCCESS) { if (rs != NULL) @@ -769,7 +762,7 @@ postgres_allowzonexfr(void *driverarg, void *dbdata, const char *name, const char *client) { isc_result_t result; - PGresult *rs = NULL; + PGresult * rs = NULL; unsigned int rows; UNUSED(driverarg); @@ -786,8 +779,8 @@ postgres_allowzonexfr(void *driverarg, void *dbdata, const char *name, * * Run our query, and get a result set from the database. */ - result = postgres_get_resultset(name, NULL, client, - ALLOWXFR, dbdata, &rs); + result = postgres_get_resultset(name, NULL, client, ALLOWXFR, dbdata, + &rs); /* if we get "not implemented", send it along. */ if (result == ISC_R_NOTIMPLEMENTED) return result; @@ -824,21 +817,21 @@ postgres_allnodes(const char *zone, void *driverarg, void *dbdata, dns_sdlzallnodes_t *allnodes) { isc_result_t result; - PGresult *rs = NULL; + PGresult * rs = NULL; unsigned int i; unsigned int rows; unsigned int fields; unsigned int j; unsigned int len; - char *tmpString; - char *endp; - int ttl; + char * tmpString; + char * endp; + int ttl; UNUSED(driverarg); /* run the query and get the result set from the database. */ - result = postgres_get_resultset(zone, NULL, NULL, - ALLNODES, dbdata, &rs); + result = + postgres_get_resultset(zone, NULL, NULL, ALLNODES, dbdata, &rs); /* if we get "not implemented", send it along */ if (result == ISC_R_NOTIMPLEMENTED) return result; @@ -854,9 +847,9 @@ postgres_allnodes(const char *zone, void *driverarg, void *dbdata, } rows = PQntuples(rs); /* how many rows in result set */ - fields = PQnfields(rs); /* how many columns in result set */ - for (i=0; i < rows; i++) { - if (fields < 4) { /* gotta have at least 4 columns */ + fields = PQnfields(rs); /* how many columns in result set */ + for (i = 0; i < rows; i++) { + if (fields < 4) { /* gotta have at least 4 columns */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "Postgres driver too few fields " @@ -874,8 +867,7 @@ postgres_allnodes(const char *zone, void *driverarg, void *dbdata, /* tell Bind about it. */ result = dns_sdlz_putnamedrr(allnodes, PQgetvalue(rs, i, 2), - PQgetvalue(rs, i, 1), - ttl, + PQgetvalue(rs, i, 1), ttl, PQgetvalue(rs, i, 3)); } else { /* @@ -883,7 +875,7 @@ postgres_allnodes(const char *zone, void *driverarg, void *dbdata, * ones together. figure out how long to make * string */ - for (j=3, len=0; j < fields; j++) { + for (j = 3, len = 0; j < fields; j++) { len += strlen(PQgetvalue(rs, i, j)) + 1; } /* allocate memory, allow for NULL to term string */ @@ -891,15 +883,14 @@ postgres_allnodes(const char *zone, void *driverarg, void *dbdata, /* copy this field to tmpString */ strcpy(tmpString, PQgetvalue(rs, i, 3)); /* concatonate the rest, with spaces between */ - for (j=4; j < fields; j++) { + for (j = 4; j < fields; j++) { strcat(tmpString, " "); strcat(tmpString, PQgetvalue(rs, i, j)); } /* tell Bind about it. */ - result = dns_sdlz_putnamedrr(allnodes, - PQgetvalue(rs, i, 2), - PQgetvalue(rs, i, 1), - ttl, tmpString); + result = dns_sdlz_putnamedrr( + allnodes, PQgetvalue(rs, i, 2), + PQgetvalue(rs, i, 1), ttl, tmpString); isc_mem_free(named_g_mctx, tmpString); } /* if we weren't successful, log err msg */ @@ -935,13 +926,13 @@ postgres_authority(const char *zone, void *driverarg, void *dbdata, dns_sdlzlookup_t *lookup) { isc_result_t result; - PGresult *rs = NULL; + PGresult * rs = NULL; UNUSED(driverarg); /* run the query and get the result set from the database. */ - result = postgres_get_resultset(zone, NULL, NULL, - AUTHORITY, dbdata, &rs); + result = postgres_get_resultset(zone, NULL, NULL, AUTHORITY, dbdata, + &rs); /* if we get "not implemented", send it along */ if (result == ISC_R_NOTIMPLEMENTED) return result; @@ -970,7 +961,7 @@ postgres_lookup(const char *zone, const char *name, void *driverarg, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) { isc_result_t result; - PGresult *rs = NULL; + PGresult * rs = NULL; UNUSED(driverarg); UNUSED(methods); @@ -1005,26 +996,25 @@ static isc_result_t postgres_create(const char *dlzname, unsigned int argc, char *argv[], void *driverarg, void **dbdata) { - isc_result_t result; + isc_result_t result; dbinstance_t *dbi = NULL; - unsigned int j; + unsigned int j; /* if multi-threaded, we need a few extra variables. */ - int dbcount; + int dbcount; db_list_t *dblist = NULL; - int i; - char *endp; + int i; + char * endp; UNUSED(driverarg); UNUSED(dlzname); -/* seed random # generator */ - srand( (unsigned)time( NULL ) ); - + /* seed random # generator */ + srand((unsigned)time(NULL)); /* if debugging, let user know we are multithreaded. */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(1), + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(1), "Postgres driver running multithreaded"); /* verify we have at least 5 arg's passed to the driver */ @@ -1067,10 +1057,9 @@ postgres_create(const char *dlzname, unsigned int argc, char *argv[], * create the appropriate number of database instances (DBI) * append each new DBI to the end of the list */ - for (i=0; i < dbcount; i++) { - + for (i = 0; i < dbcount; i++) { /* how many queries were passed in from config file? */ - switch(argc) { + switch (argc) { case 5: result = build_sqldbinstance(named_g_mctx, NULL, NULL, NULL, argv[3], argv[4], @@ -1082,9 +1071,9 @@ postgres_create(const char *dlzname, unsigned int argc, char *argv[], NULL, &dbi); break; case 7: - result = build_sqldbinstance(named_g_mctx, argv[6], NULL, - argv[5], argv[3], argv[4], - NULL, &dbi); + result = build_sqldbinstance(named_g_mctx, argv[6], + NULL, argv[5], argv[3], + argv[4], NULL, &dbi); break; case 8: result = build_sqldbinstance(named_g_mctx, argv[6], @@ -1096,7 +1085,6 @@ postgres_create(const char *dlzname, unsigned int argc, char *argv[], result = ISC_R_FAILURE; } - if (result == ISC_R_SUCCESS) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), @@ -1130,11 +1118,9 @@ postgres_create(const char *dlzname, unsigned int argc, char *argv[], /* if we cannot connect the first time, try 3 more times. */ for (j = 0; - PQstatus((PGconn *) dbi->dbconn) != CONNECTION_OK && - j < 3; + PQstatus((PGconn *)dbi->dbconn) != CONNECTION_OK && j < 3; j++) - PQreset((PGconn *) dbi->dbconn); - + PQreset((PGconn *)dbi->dbconn); /* * if multi threaded, let user know which connection @@ -1142,7 +1128,7 @@ postgres_create(const char *dlzname, unsigned int argc, char *argv[], * connections and for some reason the db backend only * allows 9 */ - if (PQstatus((PGconn *) dbi->dbconn) != CONNECTION_OK) { + if (PQstatus((PGconn *)dbi->dbconn) != CONNECTION_OK) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "Postgres driver failed to create " @@ -1154,15 +1140,15 @@ postgres_create(const char *dlzname, unsigned int argc, char *argv[], /* set DBI = null for next loop through. */ dbi = NULL; - } /* end for loop */ + } /* end for loop */ - /* set dbdata to the list we created. */ + /* set dbdata to the list we created. */ *dbdata = dblist; /* hey, we got through all of that ok, return success. */ - return(ISC_R_SUCCESS); + return (ISC_R_SUCCESS); - cleanup: +cleanup: /* * if multithreaded, we could fail because only 1 connection @@ -1171,7 +1157,7 @@ postgres_create(const char *dlzname, unsigned int argc, char *argv[], */ postgres_destroy_dblist(dblist); - return(ISC_R_FAILURE); + return (ISC_R_FAILURE); } /*% @@ -1185,7 +1171,7 @@ postgres_destroy(void *driverarg, void *dbdata) { UNUSED(driverarg); /* cleanup the list of DBI's */ - postgres_destroy_dblist((db_list_t *) dbdata); + postgres_destroy_dblist((db_list_t *)dbdata); } /* pointers to all our runtime methods. */ @@ -1212,15 +1198,15 @@ static dns_sdlzmethods_t dlz_postgres_methods = { * Wrapper around dns_sdlzregister(). */ isc_result_t -dlz_postgres_init(void) { +dlz_postgres_init(void) +{ isc_result_t result; /* * Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Registering DLZ postgres driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Registering DLZ postgres driver."); /* * Driver is always threadsafe. When multithreaded all @@ -1231,8 +1217,8 @@ dlz_postgres_init(void) { */ result = dns_sdlzregister("postgres", &dlz_postgres_methods, NULL, DNS_SDLZFLAG_RELATIVEOWNER | - DNS_SDLZFLAG_RELATIVERDATA | - DNS_SDLZFLAG_THREADSAFE, + DNS_SDLZFLAG_RELATIVERDATA | + DNS_SDLZFLAG_THREADSAFE, named_g_mctx, &dlz_postgres); /* if we can't register the driver, there are big problems. */ if (result != ISC_R_SUCCESS) { @@ -1242,7 +1228,6 @@ dlz_postgres_init(void) { result = ISC_R_UNEXPECTED; } - return result; } @@ -1250,14 +1235,13 @@ dlz_postgres_init(void) { * Wrapper around dns_sdlzunregister(). */ void -dlz_postgres_clear(void) { - +dlz_postgres_clear(void) +{ /* * Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Unregistering DLZ postgres driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Unregistering DLZ postgres driver."); /* unregister the driver. */ if (dlz_postgres != NULL) diff --git a/contrib/dlz/drivers/dlz_stub_driver.c b/contrib/dlz/drivers/dlz_stub_driver.c index 6d16f2a318..3be8592d70 100644 --- a/contrib/dlz/drivers/dlz_stub_driver.c +++ b/contrib/dlz/drivers/dlz_stub_driver.c @@ -43,29 +43,28 @@ #ifdef DLZ_STUB #include -#include #include - -#include -#include -#include +#include #include #include #include #include -#include +#include +#include +#include #include +#include static dns_sdlzimplementation_t *dlz_stub = NULL; typedef struct config_data { - char *myzone; - char *myname; - char *myip; - isc_mem_t *mctx; + char * myzone; + char * myname; + char * myip; + isc_mem_t *mctx; } config_data_t; /* @@ -77,12 +76,12 @@ stub_dlz_allnodes(const char *zone, void *driverarg, void *dbdata, dns_sdlzallnodes_t *allnodes) { config_data_t *cd; - isc_result_t result; + isc_result_t result; UNUSED(zone); UNUSED(driverarg); - cd = (config_data_t *) dbdata; + cd = (config_data_t *)dbdata; result = dns_sdlz_putnamedrr(allnodes, cd->myname, "soa", 86400, "web root.localhost. " @@ -107,7 +106,7 @@ stub_dlz_allowzonexfr(void *driverarg, void *dbdata, const char *name, UNUSED(driverarg); UNUSED(client); - cd = (config_data_t *) dbdata; + cd = (config_data_t *)dbdata; if (strcmp(name, cd->myname) == 0) { return (ISC_R_SUCCESS); @@ -119,16 +118,16 @@ static isc_result_t stub_dlz_authority(const char *zone, void *driverarg, void *dbdata, dns_sdlzlookup_t *lookup) { - isc_result_t result; + isc_result_t result; config_data_t *cd; UNUSED(driverarg); - cd = (config_data_t *) dbdata; + cd = (config_data_t *)dbdata; if (strcmp(zone, cd->myzone) == 0) { - result = dns_sdlz_putsoa(lookup, cd->myname, - "root.localhost.", 0); + result = dns_sdlz_putsoa(lookup, cd->myname, "root.localhost.", + 0); if (result != ISC_R_SUCCESS) return (ISC_R_FAILURE); @@ -144,21 +143,20 @@ stub_dlz_authority(const char *zone, void *driverarg, void *dbdata, static isc_result_t stub_dlz_findzonedb(void *driverarg, void *dbdata, const char *name, dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo) + dns_clientinfo_t * clientinfo) { - config_data_t *cd; UNUSED(driverarg); UNUSED(methods); UNUSED(clientinfo); - cd = (config_data_t *) dbdata; + cd = (config_data_t *)dbdata; /* Write info message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "dlz_stub findzone looking for '%s'", name); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "dlz_stub findzone looking for '%s'", + name); if (strcmp(cd->myzone, name) == 0) return (ISC_R_SUCCESS); @@ -166,13 +164,12 @@ stub_dlz_findzonedb(void *driverarg, void *dbdata, const char *name, return (ISC_R_NOTFOUND); } - static isc_result_t stub_dlz_lookup(const char *zone, const char *name, void *driverarg, void *dbdata, dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) { - isc_result_t result; + isc_result_t result; config_data_t *cd; UNUSED(zone); @@ -180,7 +177,7 @@ stub_dlz_lookup(const char *zone, const char *name, void *driverarg, UNUSED(methods); UNUSED(clientinfo); - cd = (config_data_t *) dbdata; + cd = (config_data_t *)dbdata; if (strcmp(name, cd->myname) == 0) { result = dns_sdlz_putrr(lookup, "a", 1, cd->myip); @@ -190,15 +187,12 @@ stub_dlz_lookup(const char *zone, const char *name, void *driverarg, return (ISC_R_SUCCESS); } return (ISC_R_FAILURE); - } - static isc_result_t stub_dlz_create(const char *dlzname, unsigned int argc, char *argv[], void *driverarg, void **dbdata) { - config_data_t *cd; UNUSED(driverarg); @@ -208,8 +202,8 @@ stub_dlz_create(const char *dlzname, unsigned int argc, char *argv[], /* * Write info message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_INFO, + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_INFO, "Loading '%s' using DLZ_stub driver. " "Zone: %s, Name: %s IP: %s", dlzname, argv[1], argv[2], argv[3]); @@ -231,25 +225,24 @@ stub_dlz_create(const char *dlzname, unsigned int argc, char *argv[], *dbdata = cd; - return(ISC_R_SUCCESS); + return (ISC_R_SUCCESS); } static void stub_dlz_destroy(void *driverarg, void *dbdata) { config_data_t *cd; - isc_mem_t *mctx; + isc_mem_t * mctx; UNUSED(driverarg); - cd = (config_data_t *) dbdata; + cd = (config_data_t *)dbdata; /* * Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Unloading DLZ_stub driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Unloading DLZ_stub driver."); isc_mem_free(named_g_mctx, cd->myzone); isc_mem_free(named_g_mctx, cd->myname); @@ -279,19 +272,19 @@ static dns_sdlzmethods_t dlz_stub_methods = { * Wrapper around dns_sdlzregister(). */ isc_result_t -dlz_stub_init(void) { +dlz_stub_init(void) +{ isc_result_t result; /* * Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Registering DLZ_stub driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Registering DLZ_stub driver."); result = dns_sdlzregister("dlz_stub", &dlz_stub_methods, NULL, DNS_SDLZFLAG_RELATIVEOWNER | - DNS_SDLZFLAG_RELATIVERDATA, + DNS_SDLZFLAG_RELATIVERDATA, named_g_mctx, &dlz_stub); if (result != ISC_R_SUCCESS) { UNEXPECTED_ERROR(__FILE__, __LINE__, @@ -300,7 +293,6 @@ dlz_stub_init(void) { result = ISC_R_UNEXPECTED; } - return result; } @@ -308,14 +300,13 @@ dlz_stub_init(void) { * Wrapper around dns_sdlzunregister(). */ void -dlz_stub_clear(void) { - +dlz_stub_clear(void) +{ /* * Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Unregistering DLZ_stub driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Unregistering DLZ_stub driver."); if (dlz_stub != NULL) dns_sdlzunregister(&dlz_stub); diff --git a/contrib/dlz/drivers/include/dlz/dlz_drivers.h b/contrib/dlz/drivers/include/dlz/dlz_drivers.h index 58ffadad57..483285c66f 100644 --- a/contrib/dlz/drivers/include/dlz/dlz_drivers.h +++ b/contrib/dlz/drivers/include/dlz/dlz_drivers.h @@ -14,7 +14,6 @@ * PERFORMANCE OF THIS SOFTWARE. */ - #ifndef DLZ_DRIVERS_H #define DLZ_DRIVERS_H 1 diff --git a/contrib/dlz/drivers/include/dlz/sdlz_helper.h b/contrib/dlz/drivers/include/dlz/sdlz_helper.h index b6add3f1a0..a170292c4c 100644 --- a/contrib/dlz/drivers/include/dlz/sdlz_helper.h +++ b/contrib/dlz/drivers/include/dlz/sdlz_helper.h @@ -41,10 +41,10 @@ /* * Types */ -#define SDLZH_REQUIRE_CLIENT 0x01 -#define SDLZH_REQUIRE_QUERY 0x02 -#define SDLZH_REQUIRE_RECORD 0x04 -#define SDLZH_REQUIRE_ZONE 0x08 +#define SDLZH_REQUIRE_CLIENT 0x01 +#define SDLZH_REQUIRE_QUERY 0x02 +#define SDLZH_REQUIRE_RECORD 0x04 +#define SDLZH_REQUIRE_ZONE 0x08 typedef struct query_segment query_segment_t; typedef ISC_LIST(query_segment_t) query_list_t; @@ -57,10 +57,10 @@ typedef struct driverinstance driverinstance_t; * special tokens are %zone%, %record%, %client% */ struct query_segment { - void *sql; - unsigned int strlen; - bool direct; - ISC_LINK(query_segment_t) link; + void * sql; + unsigned int strlen; + bool direct; + ISC_LINK(query_segment_t) link; }; /*% @@ -71,20 +71,20 @@ struct query_segment { * make sure no two threads try to use the same DBI at a time. */ struct dbinstance { - void *dbconn; - query_list_t *allnodes_q; - query_list_t *allowxfr_q; - query_list_t *authority_q; - query_list_t *findzone_q; - query_list_t *lookup_q; - query_list_t *countzone_q; - char *query_buf; - char *zone; - char *record; - char *client; - isc_mem_t *mctx; - isc_mutex_t instance_lock; - ISC_LINK(dbinstance_t) link; + void * dbconn; + query_list_t *allnodes_q; + query_list_t *allowxfr_q; + query_list_t *authority_q; + query_list_t *findzone_q; + query_list_t *lookup_q; + query_list_t *countzone_q; + char * query_buf; + char * zone; + char * record; + char * client; + isc_mem_t * mctx; + isc_mutex_t instance_lock; + ISC_LINK(dbinstance_t) link; }; /* @@ -106,14 +106,15 @@ void sdlzh_destroy_sqldbinstance(dbinstance_t *dbi); char * -sdlzh_get_parameter_value(isc_mem_t *mctx, const char *input, const char* key); +sdlzh_get_parameter_value(isc_mem_t *mctx, const char *input, const char *key); /* Compatability with existing DLZ drivers */ -#define build_querystring sdlzh_build_querystring -#define build_sqldbinstance sdlzh_build_sqldbinstance -#define destroy_sqldbinstance sdlzh_destroy_sqldbinstance +#define build_querystring sdlzh_build_querystring +#define build_sqldbinstance sdlzh_build_sqldbinstance +#define destroy_sqldbinstance sdlzh_destroy_sqldbinstance -#define getParameterValue(x,y) sdlzh_get_parameter_value(named_g_mctx, (x), (y)) +#define getParameterValue(x, y) \ + sdlzh_get_parameter_value(named_g_mctx, (x), (y)) #endif /* SDLZHELPER_H */ diff --git a/contrib/dlz/drivers/sdlz_helper.c b/contrib/dlz/drivers/sdlz_helper.c index c8708c52e8..a743e5fe28 100644 --- a/contrib/dlz/drivers/sdlz_helper.c +++ b/contrib/dlz/drivers/sdlz_helper.c @@ -43,14 +43,14 @@ #include -#include -#include - #include #include #include #include +#include +#include + #include /* @@ -76,13 +76,13 @@ destroy_querylist(isc_mem_t *mctx, query_list_t **querylist) /* start at the top of the list */ nseg = ISC_LIST_HEAD(**querylist); - while (nseg != NULL) { /* loop, until end of list */ + while (nseg != NULL) { /* loop, until end of list */ tseg = nseg; /* * free the query segment's text string but only if it * was really a query segment, and not a pointer to * %zone%, or %record%, or %client% - */ + */ if (tseg->sql != NULL && tseg->direct == true) isc_mem_free(mctx, tseg->sql); /* get the next query segment, before we destroy this one. */ @@ -100,15 +100,15 @@ build_querylist(isc_mem_t *mctx, const char *query_str, char **zone, char **record, char **client, query_list_t **querylist, unsigned int flags) { - isc_result_t result; - bool foundzone = false; - bool foundrecord = false; - bool foundclient = false; - char *free_me = NULL; - char *temp_str = NULL; - query_list_t *tql; + isc_result_t result; + bool foundzone = false; + bool foundrecord = false; + bool foundclient = false; + char * free_me = NULL; + char * temp_str = NULL; + query_list_t * tql; query_segment_t *tseg = NULL; - char *last = NULL; + char * last = NULL; REQUIRE(querylist != NULL && *querylist == NULL); REQUIRE(mctx != NULL); @@ -212,7 +212,7 @@ build_querylist(isc_mem_t *mctx, const char *query_str, char **zone, */ /* if this query requires %client%, make sure we found it */ - if (((flags & SDLZH_REQUIRE_CLIENT) != 0) && (!foundclient) ) { + if (((flags & SDLZH_REQUIRE_CLIENT) != 0) && (!foundclient)) { /* Write error message to log */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, @@ -222,7 +222,7 @@ build_querylist(isc_mem_t *mctx, const char *query_str, char **zone, } /* if this query requires %record%, make sure we found it */ - if (((flags & SDLZH_REQUIRE_RECORD) != 0) && (!foundrecord) ) { + if (((flags & SDLZH_REQUIRE_RECORD) != 0) && (!foundrecord)) { /* Write error message to log */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, @@ -232,7 +232,7 @@ build_querylist(isc_mem_t *mctx, const char *query_str, char **zone, } /* if this query requires %zone%, make sure we found it */ - if (((flags & SDLZH_REQUIRE_ZONE) != 0) && (!foundzone) ) { + if (((flags & SDLZH_REQUIRE_ZONE) != 0) && (!foundzone)) { /* Write error message to log */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, @@ -242,17 +242,17 @@ build_querylist(isc_mem_t *mctx, const char *query_str, char **zone, } /* pass back the query list */ - *querylist = (query_list_t *) tql; + *querylist = (query_list_t *)tql; /* return success */ return (ISC_R_SUCCESS); - cleanup: +cleanup: /* get rid of free_me */ if (free_me != NULL) isc_mem_free(mctx, free_me); - flag_fail: +flag_fail: /* get rid of what was build of the query list */ destroy_querylist(mctx, &tql); return result; @@ -267,8 +267,8 @@ char * sdlzh_build_querystring(isc_mem_t *mctx, query_list_t *querylist) { query_segment_t *tseg = NULL; - unsigned int length = 0; - char *qs = NULL; + unsigned int length = 0; + char * qs = NULL; REQUIRE(mctx != NULL); REQUIRE(querylist != NULL); @@ -282,8 +282,8 @@ sdlzh_build_querystring(isc_mem_t *mctx, query_list_t *querylist) */ if (tseg->direct == true) length += tseg->strlen; - else /* calculate string length for dynamic segments. */ - length += strlen(* (char**) tseg->sql); + else /* calculate string length for dynamic segments. */ + length += strlen(*(char **)tseg->sql); /* get the next segment */ tseg = ISC_LIST_NEXT(tseg, link); } @@ -300,7 +300,7 @@ sdlzh_build_querystring(isc_mem_t *mctx, query_list_t *querylist) strcat(qs, tseg->sql); else /* dynamic segments */ - strcat(qs, * (char**) tseg->sql); + strcat(qs, *(char **)tseg->sql); /* get the next segment */ tseg = ISC_LIST_NEXT(tseg, link); } @@ -311,12 +311,11 @@ sdlzh_build_querystring(isc_mem_t *mctx, query_list_t *querylist) /*% constructs a sql dbinstance (DBI) */ isc_result_t sdlzh_build_sqldbinstance(isc_mem_t *mctx, const char *allnodes_str, - const char *allowxfr_str, const char *authority_str, - const char *findzone_str, const char *lookup_str, - const char *countzone_str, dbinstance_t **dbi) + const char *allowxfr_str, const char *authority_str, + const char *findzone_str, const char *lookup_str, + const char *countzone_str, dbinstance_t **dbi) { - - isc_result_t result; + isc_result_t result; dbinstance_t *db = NULL; REQUIRE(dbi != NULL && *dbi == NULL); @@ -345,9 +344,9 @@ sdlzh_build_sqldbinstance(isc_mem_t *mctx, const char *allnodes_str, isc_mutex_init(&db->instance_lock); /* build the all nodes query list */ - result = build_querylist(mctx, allnodes_str, &db->zone, - &db->record, &db->client, - &db->allnodes_q, SDLZH_REQUIRE_ZONE); + result = build_querylist(mctx, allnodes_str, &db->zone, &db->record, + &db->client, &db->allnodes_q, + SDLZH_REQUIRE_ZONE); /* if unsuccessful, log err msg and cleanup */ if (result != ISC_R_SUCCESS) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, @@ -357,9 +356,8 @@ sdlzh_build_sqldbinstance(isc_mem_t *mctx, const char *allnodes_str, } /* build the allow zone transfer query list */ - result = build_querylist(mctx, allowxfr_str, &db->zone, - &db->record, &db->client, - &db->allowxfr_q, + result = build_querylist(mctx, allowxfr_str, &db->zone, &db->record, + &db->client, &db->allowxfr_q, SDLZH_REQUIRE_ZONE | SDLZH_REQUIRE_CLIENT); /* if unsuccessful, log err msg and cleanup */ if (result != ISC_R_SUCCESS) { @@ -370,9 +368,9 @@ sdlzh_build_sqldbinstance(isc_mem_t *mctx, const char *allnodes_str, } /* build the authority query, query list */ - result = build_querylist(mctx, authority_str, &db->zone, - &db->record, &db->client, - &db->authority_q, SDLZH_REQUIRE_ZONE); + result = build_querylist(mctx, authority_str, &db->zone, &db->record, + &db->client, &db->authority_q, + SDLZH_REQUIRE_ZONE); /* if unsuccessful, log err msg and cleanup */ if (result != ISC_R_SUCCESS) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, @@ -382,9 +380,9 @@ sdlzh_build_sqldbinstance(isc_mem_t *mctx, const char *allnodes_str, } /* build findzone query, query list */ - result = build_querylist(mctx, findzone_str, &db->zone, - &db->record, &db->client, - &db->findzone_q, SDLZH_REQUIRE_ZONE); + result = build_querylist(mctx, findzone_str, &db->zone, &db->record, + &db->client, &db->findzone_q, + SDLZH_REQUIRE_ZONE); /* if unsuccessful, log err msg and cleanup */ if (result != ISC_R_SUCCESS) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, @@ -394,9 +392,9 @@ sdlzh_build_sqldbinstance(isc_mem_t *mctx, const char *allnodes_str, } /* build countzone query, query list */ - result = build_querylist(mctx, countzone_str, &db->zone, - &db->record, &db->client, - &db->countzone_q, SDLZH_REQUIRE_ZONE); + result = build_querylist(mctx, countzone_str, &db->zone, &db->record, + &db->client, &db->countzone_q, + SDLZH_REQUIRE_ZONE); /* if unsuccessful, log err msg and cleanup */ if (result != ISC_R_SUCCESS) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, @@ -406,9 +404,9 @@ sdlzh_build_sqldbinstance(isc_mem_t *mctx, const char *allnodes_str, } /* build lookup query, query list */ - result = build_querylist(mctx, lookup_str, &db->zone, - &db->record, &db->client, - &db->lookup_q, SDLZH_REQUIRE_RECORD); + result = build_querylist(mctx, lookup_str, &db->zone, &db->record, + &db->client, &db->lookup_q, + SDLZH_REQUIRE_RECORD); /* if unsuccessful, log err msg and cleanup */ if (result != ISC_R_SUCCESS) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, @@ -418,12 +416,12 @@ sdlzh_build_sqldbinstance(isc_mem_t *mctx, const char *allnodes_str, } /* pass back the db instance */ - *dbi = (dbinstance_t *) db; + *dbi = (dbinstance_t *)db; /* return success */ return (ISC_R_SUCCESS); - cleanup: +cleanup: /* destroy whatever was build of the db instance */ destroy_sqldbinstance(db); /* return failure */ @@ -447,19 +445,19 @@ sdlzh_destroy_sqldbinstance(dbinstance_t *dbi) destroy_querylist(mctx, &dbi->lookup_q); /* get rid of the mutex */ - (void) isc_mutex_destroy(&dbi->instance_lock); + (void)isc_mutex_destroy(&dbi->instance_lock); /* return, and detach the memory */ isc_mem_putanddetach(&mctx, dbi, sizeof(dbinstance_t)); } char * -sdlzh_get_parameter_value(isc_mem_t *mctx, const char *input, const char* key) +sdlzh_get_parameter_value(isc_mem_t *mctx, const char *input, const char *key) { - int keylen; + int keylen; char *keystart; - char value[255]; - int i; + char value[255]; + int i; if (key == NULL || input == NULL || strlen(input) < 1) return NULL; diff --git a/contrib/dlz/example/dlz_example.c b/contrib/dlz/example/dlz_example.c index db19a8c4e4..5eef71192e 100644 --- a/contrib/dlz/example/dlz_example.c +++ b/contrib/dlz/example/dlz_example.c @@ -19,27 +19,27 @@ * driver, with update support. */ +#include +#include #include #include -#include #include #include -#include #include "../modules/include/dlz_minimal.h" -#define CHECK(x) \ - do { \ - result = (x); \ +#define CHECK(x) \ + do { \ + result = (x); \ if (result != ISC_R_SUCCESS) \ - goto failure; \ + goto failure; \ } while (0) /* For this simple example, use fixed sized strings */ struct record { - char name[100]; - char type[10]; - char data[200]; + char name[100]; + char type[10]; + char data[200]; dns_ttl_t ttl; }; @@ -56,16 +56,17 @@ struct dlz_example_data { bool transaction_started; /* Helper functions from the dlz_dlopen driver */ - log_t *log; - dns_sdlz_putrr_t *putrr; - dns_sdlz_putnamedrr_t *putnamedrr; + log_t * log; + dns_sdlz_putrr_t * putrr; + dns_sdlz_putnamedrr_t * putnamedrr; dns_dlz_writeablezone_t *writeable_zone; }; static bool -single_valued(const char *type) { +single_valued(const char *type) +{ const char *single[] = { "soa", "cname", NULL }; - int i; + int i; for (i = 0; single[i]; i++) { if (strcasecmp(single[i], type) == 0) { @@ -79,12 +80,12 @@ single_valued(const char *type) { * Add a record to a list */ static isc_result_t -add_name(struct dlz_example_data *state, struct record *list, - const char *name, const char *type, dns_ttl_t ttl, const char *data) +add_name(struct dlz_example_data *state, struct record *list, const char *name, + const char *type, dns_ttl_t ttl, const char *data) { - int i; + int i; bool single = single_valued(type); - int first_empty = -1; + int first_empty = -1; for (i = 0; i < MAX_RECORDS; i++) { if (first_empty == -1 && strlen(list[i].name) == 0U) { @@ -103,8 +104,8 @@ add_name(struct dlz_example_data *state, struct record *list, } if (i == MAX_RECORDS) { if (state->log != NULL) - state->log(ISC_LOG_ERROR, - "dlz_example: out of record space"); + state->log(ISC_LOG_ERROR, "dlz_example: out of record " + "space"); return (ISC_R_FAILURE); } @@ -131,9 +132,8 @@ add_name(struct dlz_example_data *state, struct record *list, * Delete a record from a list */ static isc_result_t -del_name(struct dlz_example_data *state, struct record *list, - const char *name, const char *type, dns_ttl_t ttl, - const char *data) +del_name(struct dlz_example_data *state, struct record *list, const char *name, + const char *type, dns_ttl_t ttl, const char *data) { int i; @@ -142,8 +142,7 @@ del_name(struct dlz_example_data *state, struct record *list, for (i = 0; i < MAX_RECORDS; i++) { if (strcasecmp(name, list[i].name) == 0 && strcasecmp(type, list[i].type) == 0 && - strcasecmp(data, list[i].data) == 0 && - ttl == list[i].ttl) { + strcasecmp(data, list[i].data) == 0 && ttl == list[i].ttl) { break; } } @@ -155,10 +154,11 @@ del_name(struct dlz_example_data *state, struct record *list, } static isc_result_t -fmt_address(isc_sockaddr_t *addr, char *buffer, size_t size) { - char addr_buf[100]; +fmt_address(isc_sockaddr_t *addr, char *buffer, size_t size) +{ + char addr_buf[100]; const char *ret; - uint16_t port = 0; + uint16_t port = 0; switch (addr->type.sa.sa_family) { case AF_INET: @@ -186,7 +186,8 @@ fmt_address(isc_sockaddr_t *addr, char *buffer, size_t size) { * Return the version of the API */ int -dlz_version(unsigned int *flags) { +dlz_version(unsigned int *flags) +{ UNUSED(flags); return (DLZ_DLOPEN_VERSION); } @@ -195,8 +196,8 @@ dlz_version(unsigned int *flags) { * Remember a helper function from the bind9 dlz_dlopen driver */ static void -b9_add_helper(struct dlz_example_data *state, - const char *helper_name, void *ptr) +b9_add_helper(struct dlz_example_data *state, const char *helper_name, + void *ptr) { if (strcmp(helper_name, "log") == 0) state->log = (log_t *)ptr; @@ -212,16 +213,16 @@ b9_add_helper(struct dlz_example_data *state, * Called to initialize the driver */ isc_result_t -dlz_create(const char *dlzname, unsigned int argc, char *argv[], - void **dbdata, ...) +dlz_create(const char *dlzname, unsigned int argc, char *argv[], void **dbdata, + ...) { struct dlz_example_data *state; - const char *helper_name; - va_list ap; - char soa_data[200]; - const char *extra; - isc_result_t result; - int n; + const char * helper_name; + va_list ap; + char soa_data[200]; + const char * extra; + isc_result_t result; + int n; UNUSED(dlzname); @@ -238,8 +239,8 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], if (argc < 2 || argv[1][0] == '\0') { if (state->log != NULL) - state->log(ISC_LOG_ERROR, - "dlz_example: please specify a zone name"); + state->log(ISC_LOG_ERROR, "dlz_example: please specify " + "a zone name"); dlz_destroy(state); return (ISC_R_FAILURE); } @@ -268,12 +269,12 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], if ((unsigned)n >= sizeof(soa_data)) CHECK(ISC_R_NOSPACE); - add_name(state, &state->current[0], state->zone_name, - "soa", 3600, soa_data); - add_name(state, &state->current[0], state->zone_name, - "ns", 3600, state->zone_name); - add_name(state, &state->current[0], state->zone_name, - "a", 1800, "10.53.0.1"); + add_name(state, &state->current[0], state->zone_name, "soa", 3600, + soa_data); + add_name(state, &state->current[0], state->zone_name, "ns", 3600, + state->zone_name); + add_name(state, &state->current[0], state->zone_name, "a", 1800, + "10.53.0.1"); if (state->log != NULL) state->log(ISC_LOG_INFO, "dlz_example: started for zone %s", @@ -282,22 +283,21 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], *dbdata = state; return (ISC_R_SUCCESS); - failure: +failure: free(state); return (result); - } /* * Shut down the backend */ void -dlz_destroy(void *dbdata) { +dlz_destroy(void *dbdata) +{ struct dlz_example_data *state = (struct dlz_example_data *)dbdata; if (state->log != NULL) - state->log(ISC_LOG_INFO, - "dlz_example: shutting down zone %s", + state->log(ISC_LOG_INFO, "dlz_example: shutting down zone %s", state->zone_name); free(state->zone_name); free(state); @@ -307,30 +307,28 @@ dlz_destroy(void *dbdata) { * See if we handle a given zone */ isc_result_t -dlz_findzonedb(void *dbdata, const char *name, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo) +dlz_findzonedb(void *dbdata, const char *name, dns_clientinfomethods_t *methods, + dns_clientinfo_t *clientinfo) { struct dlz_example_data *state = (struct dlz_example_data *)dbdata; - isc_sockaddr_t *src; - char addrbuf[100]; - char absolute[1024]; + isc_sockaddr_t * src; + char addrbuf[100]; + char absolute[1024]; strcpy(addrbuf, "unknown"); - if (methods != NULL && - methods->sourceip != NULL && + if (methods != NULL && methods->sourceip != NULL && methods->version - methods->age <= DNS_CLIENTINFOMETHODS_VERSION && - DNS_CLIENTINFOMETHODS_VERSION <= methods->version) - { + DNS_CLIENTINFOMETHODS_VERSION <= methods->version) { methods->sourceip(clientinfo, &src); fmt_address(src, addrbuf, sizeof(addrbuf)); } - state->log(ISC_LOG_INFO, - "dlz_example: findzonedb connection from: %s", addrbuf); + state->log(ISC_LOG_INFO, "dlz_example: findzonedb connection from: %s", + addrbuf); state->log(ISC_LOG_INFO, "dlz_example: dlz_findzonedb called with name '%s' " - "in zone DB '%s'", name, state->zone_name); + "in zone DB '%s'", + name, state->zone_name); /* * Returning ISC_R_NOTFOUND will cause the query logic to @@ -375,14 +373,14 @@ dlz_lookup(const char *zone, const char *name, void *dbdata, dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) { - isc_result_t result; + isc_result_t result; struct dlz_example_data *state = (struct dlz_example_data *)dbdata; - bool found = false; - void *dbversion = NULL; - isc_sockaddr_t *src; - char full_name[256]; - char buf[512]; - int i; + bool found = false; + void * dbversion = NULL; + isc_sockaddr_t * src; + char full_name[256]; + char buf[512]; + int i; UNUSED(zone); @@ -414,19 +412,17 @@ dlz_lookup(const char *zone, const char *name, void *dbdata, clientinfo->version >= DNS_CLIENTINFO_VERSION) { dbversion = clientinfo->dbversion; if (dbversion != NULL && *(bool *)dbversion) - state->log(ISC_LOG_INFO, - "dlz_example: lookup against live " - "transaction\n"); + state->log(ISC_LOG_INFO, "dlz_example: lookup against " + "live " + "transaction\n"); } if (strcmp(name, "source-addr") == 0) { strcpy(buf, "unknown"); - if (methods != NULL && - methods->sourceip != NULL && + if (methods != NULL && methods->sourceip != NULL && (methods->version - methods->age <= DNS_CLIENTINFOMETHODS_VERSION) && - DNS_CLIENTINFOMETHODS_VERSION <= methods->version) - { + DNS_CLIENTINFOMETHODS_VERSION <= methods->version) { methods->sourceip(clientinfo, &src); fmt_address(src, buf, sizeof(buf)); } @@ -467,12 +463,12 @@ dlz_lookup(const char *zone, const char *name, void *dbdata, return (ISC_R_SUCCESS); } - /* * See if a zone transfer is allowed */ isc_result_t -dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { +dlz_allowzonexfr(void *dbdata, const char *name, const char *client) +{ UNUSED(client); /* Just say yes for all our zones */ @@ -483,9 +479,10 @@ dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { * Perform a zone transfer */ isc_result_t -dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { +dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) +{ struct dlz_example_data *state = (struct dlz_example_data *)dbdata; - int i; + int i; UNUSED(zone); @@ -508,24 +505,25 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { return (ISC_R_SUCCESS); } - /* * Start a transaction */ isc_result_t -dlz_newversion(const char *zone, void *dbdata, void **versionp) { +dlz_newversion(const char *zone, void *dbdata, void **versionp) +{ struct dlz_example_data *state = (struct dlz_example_data *)dbdata; if (state->transaction_started) { if (state->log != NULL) state->log(ISC_LOG_INFO, "dlz_example: transaction already " - "started for zone %s", zone); + "started for zone %s", + zone); return (ISC_R_FAILURE); } state->transaction_started = true; - *versionp = (void *) &state->transaction_started; + *versionp = (void *)&state->transaction_started; return (ISC_R_SUCCESS); } @@ -534,15 +532,16 @@ dlz_newversion(const char *zone, void *dbdata, void **versionp) { * End a transaction */ void -dlz_closeversion(const char *zone, bool commit, - void *dbdata, void **versionp) +dlz_closeversion(const char *zone, bool commit, void *dbdata, void **versionp) { struct dlz_example_data *state = (struct dlz_example_data *)dbdata; if (!state->transaction_started) { if (state->log != NULL) - state->log(ISC_LOG_INFO, "dlz_example: transaction not " - "started for zone %s", zone); + state->log(ISC_LOG_INFO, + "dlz_example: transaction not " + "started for zone %s", + zone); *versionp = NULL; return; } @@ -554,8 +553,10 @@ dlz_closeversion(const char *zone, bool commit, if (commit) { int i; if (state->log != NULL) - state->log(ISC_LOG_INFO, "dlz_example: committing " - "transaction on zone %s", zone); + state->log(ISC_LOG_INFO, + "dlz_example: committing " + "transaction on zone %s", + zone); for (i = 0; i < MAX_RECORDS; i++) { if (strlen(state->deletes[i].name) > 0U) { (void)del_name(state, &state->current[0], @@ -576,21 +577,23 @@ dlz_closeversion(const char *zone, bool commit, } } else { if (state->log != NULL) - state->log(ISC_LOG_INFO, "dlz_example: cancelling " - "transaction on zone %s", zone); + state->log(ISC_LOG_INFO, + "dlz_example: cancelling " + "transaction on zone %s", + zone); } memset(state->adds, 0, sizeof(state->adds)); memset(state->deletes, 0, sizeof(state->deletes)); } - /* * Configure a writeable zone */ isc_result_t -dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb, void *dbdata) { +dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb, void *dbdata) +{ struct dlz_example_data *state = (struct dlz_example_data *)dbdata; - isc_result_t result; + isc_result_t result; if (state->log != NULL) state->log(ISC_LOG_INFO, "dlz_example: starting configure"); @@ -598,21 +601,26 @@ dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb, void *dbdata) { if (state->writeable_zone == NULL) { if (state->log != NULL) state->log(ISC_LOG_INFO, "dlz_example: no " - "writeable_zone method available"); + "writeable_zone method " + "available"); return (ISC_R_FAILURE); } result = state->writeable_zone(view, dlzdb, state->zone_name); if (result != ISC_R_SUCCESS) { if (state->log != NULL) - state->log(ISC_LOG_ERROR, "dlz_example: failed to " - "configure zone %s", state->zone_name); + state->log(ISC_LOG_ERROR, + "dlz_example: failed to " + "configure zone %s", + state->zone_name); return (result); } if (state->log != NULL) - state->log(ISC_LOG_INFO, "dlz_example: configured writeable " - "zone %s", state->zone_name); + state->log(ISC_LOG_INFO, + "dlz_example: configured writeable " + "zone %s", + state->zone_name); return (ISC_R_SUCCESS); } @@ -634,23 +642,26 @@ dlz_ssumatch(const char *signer, const char *name, const char *tcpaddr, if (strncmp(name, "deny.", 5) == 0) { if (state->log != NULL) - state->log(ISC_LOG_INFO, "dlz_example: denying update " - "of name=%s by %s", name, signer); + state->log(ISC_LOG_INFO, + "dlz_example: denying update " + "of name=%s by %s", + name, signer); return (false); } if (state->log != NULL) - state->log(ISC_LOG_INFO, "dlz_example: allowing update of " - "name=%s by %s", name, signer); + state->log(ISC_LOG_INFO, + "dlz_example: allowing update of " + "name=%s by %s", + name, signer); return (true); } - static isc_result_t modrdataset(struct dlz_example_data *state, const char *name, const char *rdatastr, struct record *list) { - char *full_name, *dclass, *type, *data, *ttlstr, *buf; - char absolute[1024]; + char * full_name, *dclass, *type, *data, *ttlstr, *buf; + char absolute[1024]; isc_result_t result; #if defined(WIN32) || defined(_REENTRANT) char *saveptr = NULL; @@ -693,24 +704,23 @@ modrdataset(struct dlz_example_data *state, const char *name, name = absolute; } - result = add_name(state, list, name, type, - strtoul(ttlstr, NULL, 10), data); + result = add_name(state, list, name, type, strtoul(ttlstr, NULL, 10), + data); free(buf); return (result); - error: +error: free(buf); return (ISC_R_FAILURE); } - isc_result_t -dlz_addrdataset(const char *name, const char *rdatastr, - void *dbdata, void *version) +dlz_addrdataset(const char *name, const char *rdatastr, void *dbdata, + void *version) { struct dlz_example_data *state = (struct dlz_example_data *)dbdata; - if (version != (void *) &state->transaction_started) + if (version != (void *)&state->transaction_started) return (ISC_R_FAILURE); if (state->log != NULL) @@ -721,33 +731,36 @@ dlz_addrdataset(const char *name, const char *rdatastr, } isc_result_t -dlz_subrdataset(const char *name, const char *rdatastr, - void *dbdata, void *version) +dlz_subrdataset(const char *name, const char *rdatastr, void *dbdata, + void *version) { struct dlz_example_data *state = (struct dlz_example_data *)dbdata; - if (version != (void *) &state->transaction_started) + if (version != (void *)&state->transaction_started) return (ISC_R_FAILURE); if (state->log != NULL) - state->log(ISC_LOG_INFO, "dlz_example: subtracting rdataset " - "%s '%s'", name, rdatastr); + state->log(ISC_LOG_INFO, + "dlz_example: subtracting rdataset " + "%s '%s'", + name, rdatastr); return (modrdataset(state, name, rdatastr, &state->deletes[0])); } isc_result_t -dlz_delrdataset(const char *name, const char *type, - void *dbdata, void *version) +dlz_delrdataset(const char *name, const char *type, void *dbdata, void *version) { struct dlz_example_data *state = (struct dlz_example_data *)dbdata; - if (version != (void *) &state->transaction_started) + if (version != (void *)&state->transaction_started) return (ISC_R_FAILURE); if (state->log != NULL) - state->log(ISC_LOG_INFO, "dlz_example: deleting rdataset %s " - "of type %s", name, type); + state->log(ISC_LOG_INFO, + "dlz_example: deleting rdataset %s " + "of type %s", + name, type); return (ISC_R_SUCCESS); } diff --git a/contrib/dlz/example/win32/DLLMain.c b/contrib/dlz/example/win32/DLLMain.c index 445905f3f4..90da75aa93 100644 --- a/contrib/dlz/example/win32/DLLMain.c +++ b/contrib/dlz/example/win32/DLLMain.c @@ -1,47 +1,46 @@ /* - * Copyright (C) 2001, 2004, 2007, 2016 Internet Systems Consortium, Inc. ("ISC") - * + * Copyright (C) 2001, 2004, 2007, 2016 Internet Systems Consortium, Inc. + * ("ISC") + * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include #include +#include /* * Called when we enter the DLL */ -__declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, - DWORD fdwReason, LPVOID lpvReserved) +__declspec(dllexport) BOOL WINAPI + DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { - switch (fdwReason) { + switch (fdwReason) { /* - * The DLL is loading due to process - * initialization or a call to LoadLibrary. + * The DLL is loading due to process + * initialization or a call to LoadLibrary. */ - case DLL_PROCESS_ATTACH: - break; - - /* The attached process creates a new thread. */ - case DLL_THREAD_ATTACH: - break; - - /* The thread of the attached process terminates. */ - case DLL_THREAD_DETACH: - break; - - /* - * The DLL is unloading from a process due to - * process termination or a call to FreeLibrary. - */ - case DLL_PROCESS_DETACH: - break; + case DLL_PROCESS_ATTACH: + break; - default: - break; - } + /* The attached process creates a new thread. */ + case DLL_THREAD_ATTACH: + break; + + /* The thread of the attached process terminates. */ + case DLL_THREAD_DETACH: + break; + + /* + * The DLL is unloading from a process due to + * process termination or a call to FreeLibrary. + */ + case DLL_PROCESS_DETACH: + break; + + default: + break; + } return (TRUE); } - diff --git a/contrib/dlz/modules/bdbhpt/dlz_bdbhpt_dynamic.c b/contrib/dlz/modules/bdbhpt/dlz_bdbhpt_dynamic.c index 859605f63c..9f1f24fc84 100644 --- a/contrib/dlz/modules/bdbhpt/dlz_bdbhpt_dynamic.c +++ b/contrib/dlz/modules/bdbhpt/dlz_bdbhpt_dynamic.c @@ -58,12 +58,11 @@ * */ +#include +#include #include #include #include -#include - -#include #include "dlz_minimal.h" @@ -71,9 +70,9 @@ #define bdbhpt_threads DB_THREAD /* bdbhpt database names */ -#define dlz_data "dns_data" -#define dlz_zone "dns_zone" -#define dlz_xfr "dns_xfr" +#define dlz_data "dns_data" +#define dlz_zone "dns_zone" +#define dlz_xfr "dns_xfr" #define dlz_client "dns_client" #define dlz_bdbhpt_dynamic_version "0.1" @@ -84,23 +83,23 @@ * */ typedef struct bdbhpt_instance { - DB_ENV *dbenv; /* bdbhpt environment */ - DB *data; /* dns_data database handle */ - DB *zone; /* zone database handle */ - DB *xfr; /* zone xfr database handle */ - DB *client; /* client database handle */ + DB_ENV *dbenv; /* bdbhpt environment */ + DB * data; /* dns_data database handle */ + DB * zone; /* zone database handle */ + DB * xfr; /* zone xfr database handle */ + DB * client; /* client database handle */ /* Helper functions from the dlz_dlopen driver */ - log_t *log; - dns_sdlz_putrr_t *putrr; - dns_sdlz_putnamedrr_t *putnamedrr; + log_t * log; + dns_sdlz_putrr_t * putrr; + dns_sdlz_putnamedrr_t * putnamedrr; dns_dlz_writeablezone_t *writeable_zone; } bdbhpt_instance_t; typedef struct bdbhpt_parsed_data { char *host; char *type; - int ttl; + int ttl; char *data; } bdbhpt_parsed_data_t; @@ -110,11 +109,12 @@ b9_add_helper(struct bdbhpt_instance *db, const char *helper_name, void *ptr); /*% * Reverses a string in place. */ -static char -*bdbhpt_strrev(char *str) { +static char * +bdbhpt_strrev(char *str) +{ char *p1, *p2; - if (! str || ! *str) + if (!str || !*str) return str; for (p1 = str, p2 = str + strlen(str) - 1; p2 > p1; ++p1, --p2) { *p1 ^= *p2; @@ -133,12 +133,12 @@ static char */ static isc_result_t -bdbhpt_parse_data(log_t *log, char *in, bdbhpt_parsed_data_t *pd) { - +bdbhpt_parse_data(log_t *log, char *in, bdbhpt_parsed_data_t *pd) +{ char *endp, *ttlStr; char *tmp = in; - char *lastchar = (char *) &tmp[strlen(tmp)]; - + char *lastchar = (char *)&tmp[strlen(tmp)]; + /*% * String should be formatted as: * replication_id @@ -157,12 +157,12 @@ bdbhpt_parse_data(log_t *log, char *in, bdbhpt_parsed_data_t *pd) { * server1_212 host 10 A 127.0.0.2 * {xxxx-xxxx-xxxx-xxxx-xxxx} host 10 MX 20 mail.example.com */ - + /* * we don't need the replication id, so don't * bother saving a pointer to it. */ - + /* find space after replication id */ tmp = strchr(tmp, ' '); /* verify we found a space */ @@ -185,10 +185,10 @@ bdbhpt_parse_data(log_t *log, char *in, bdbhpt_parsed_data_t *pd) { /* make sure it is safe to increment pointer */ if (++tmp > lastchar) return ISC_R_FAILURE; - + /* save pointer to ttl string */ ttlStr = tmp; - + /* find space after ttl and change it to a '\0' */ tmp = strchr(tmp, ' '); /* verify we found a space */ @@ -199,10 +199,10 @@ bdbhpt_parse_data(log_t *log, char *in, bdbhpt_parsed_data_t *pd) { /* make sure it is safe to increment pointer */ if (++tmp > lastchar) return ISC_R_FAILURE; - + /* save pointer to dns type */ pd->type = tmp; - + /* find space after type and change it to a '\0' */ tmp = strchr(tmp, ' '); /* verify we found a space */ @@ -213,19 +213,18 @@ bdbhpt_parse_data(log_t *log, char *in, bdbhpt_parsed_data_t *pd) { /* make sure it is safe to increment pointer */ if (++tmp > lastchar) return ISC_R_FAILURE; - + /* save pointer to remainder of DNS data */ pd->data = tmp; - + /* convert ttl string to integer */ pd->ttl = strtol(ttlStr, &endp, 10); if (*endp != '\0' || pd->ttl < 0) { - log(ISC_LOG_ERROR, - "bdbhpt_dynamic: " - "ttl must be a positive number"); + log(ISC_LOG_ERROR, "bdbhpt_dynamic: " + "ttl must be a positive number"); return ISC_R_FAILURE; } - + /* if we get this far everything should have worked. */ return ISC_R_SUCCESS; } @@ -234,11 +233,12 @@ bdbhpt_parse_data(log_t *log, char *in, bdbhpt_parsed_data_t *pd) { * See if a zone transfer is allowed */ isc_result_t -dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { - isc_result_t result; - bdbhpt_instance_t *db = (bdbhpt_instance_t *) dbdata; - DBT key, data; - +dlz_allowzonexfr(void *dbdata, const char *name, const char *client) +{ + isc_result_t result; + bdbhpt_instance_t *db = (bdbhpt_instance_t *)dbdata; + DBT key, data; + /* check to see if we are authoritative for the zone first. */ #if DLZ_DLOPEN_VERSION >= 3 result = dlz_findzonedb(dbdata, name, NULL, NULL); @@ -247,7 +247,7 @@ dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { #endif if (result != ISC_R_SUCCESS) return (ISC_R_NOTFOUND); - + memset(&key, 0, sizeof(DBT)); key.flags = DB_DBT_MALLOC; key.data = strdup(name); @@ -256,7 +256,7 @@ dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { goto xfr_cleanup; } key.size = strlen(key.data); - + memset(&data, 0, sizeof(DBT)); data.flags = DB_DBT_MALLOC; data.data = strdup(client); @@ -265,8 +265,8 @@ dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { goto xfr_cleanup; } data.size = strlen(data.data); - - switch(db->client->get(db->client, NULL, &key, &data, DB_GET_BOTH)) { + + switch (db->client->get(db->client, NULL, &key, &data, DB_GET_BOTH)) { case DB_NOTFOUND: result = ISC_R_NOTFOUND; break; @@ -277,15 +277,15 @@ dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { result = ISC_R_FAILURE; } - xfr_cleanup: +xfr_cleanup: /* free any memory duplicate string in the key field */ if (key.data != NULL) free(key.data); - + /* free any memory allocated to the data field. */ if (data.data != NULL) free(data.data); - + return result; } @@ -317,57 +317,57 @@ dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { * updates by a separate process). */ isc_result_t -dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { - isc_result_t result = ISC_R_NOTFOUND; - bdbhpt_instance_t *db = (bdbhpt_instance_t *) dbdata; - DBC *xfr_cursor = NULL; - DBC *dns_cursor = NULL; - DBT xfr_key, xfr_data, dns_key, dns_data; - int xfr_flags; - int dns_flags; - int bdbhptres; +dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) +{ + isc_result_t result = ISC_R_NOTFOUND; + bdbhpt_instance_t * db = (bdbhpt_instance_t *)dbdata; + DBC * xfr_cursor = NULL; + DBC * dns_cursor = NULL; + DBT xfr_key, xfr_data, dns_key, dns_data; + int xfr_flags; + int dns_flags; + int bdbhptres; bdbhpt_parsed_data_t pd; - char *tmp = NULL, *tmp_zone, *tmp_zone_host = NULL; - + char * tmp = NULL, *tmp_zone, *tmp_zone_host = NULL; + memset(&xfr_key, 0, sizeof(DBT)); memset(&xfr_data, 0, sizeof(DBT)); memset(&dns_key, 0, sizeof(DBT)); memset(&dns_data, 0, sizeof(DBT)); - + xfr_key.data = tmp_zone = strdup(zone); if (xfr_key.data == NULL) return (ISC_R_NOMEMORY); - + xfr_key.size = strlen(xfr_key.data); - + /* get a cursor to loop through dns_xfr table */ if (db->xfr->cursor(db->xfr, NULL, &xfr_cursor, 0) != 0) { result = ISC_R_FAILURE; goto allnodes_cleanup; } - + /* get a cursor to loop through dns_data table */ if (db->data->cursor(db->data, NULL, &dns_cursor, 0) != 0) { result = ISC_R_FAILURE; goto allnodes_cleanup; } - + xfr_flags = DB_SET; - + /* loop through xfr table for specified zone. */ - while ((bdbhptres = xfr_cursor->c_get(xfr_cursor, &xfr_key, - &xfr_data, xfr_flags)) == 0) - { + while ((bdbhptres = xfr_cursor->c_get(xfr_cursor, &xfr_key, &xfr_data, + xfr_flags)) == 0) { xfr_flags = DB_NEXT_DUP; - + /* +1 to allow for space between zone and host names */ dns_key.size = xfr_data.size + xfr_key.size + 1; - + /* +1 to allow for null term at end of string. */ dns_key.data = tmp_zone_host = malloc(dns_key.size + 1); if (dns_key.data == NULL) goto allnodes_cleanup; - + /* * construct search key for dns_data. * zone_name(a space)host_name @@ -375,61 +375,59 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { strcpy(dns_key.data, zone); strcat(dns_key.data, " "); strncat(dns_key.data, xfr_data.data, xfr_data.size); - + dns_flags = DB_SET; - - while ((bdbhptres = dns_cursor->c_get(dns_cursor, - &dns_key, - &dns_data, - dns_flags)) == 0) - { + + while ((bdbhptres = dns_cursor->c_get(dns_cursor, &dns_key, + &dns_data, dns_flags)) == + 0) { dns_flags = DB_NEXT_DUP; - + /* +1 to allow for null term at end of string. */ tmp = realloc(tmp, dns_data.size + 1); if (tmp == NULL) goto allnodes_cleanup; - + /* copy data to tmp string, and append null term. */ strncpy(tmp, dns_data.data, dns_data.size); tmp[dns_data.size] = '\0'; - + /* split string into dns data parts. */ - if (bdbhpt_parse_data(db->log, - tmp, &pd) != ISC_R_SUCCESS) + if (bdbhpt_parse_data(db->log, tmp, &pd) != + ISC_R_SUCCESS) goto allnodes_cleanup; - result = db->putnamedrr(allnodes, pd.host, - pd.type, pd.ttl, pd.data); + result = db->putnamedrr(allnodes, pd.host, pd.type, + pd.ttl, pd.data); if (result != ISC_R_SUCCESS) goto allnodes_cleanup; - - } /* end inner while loop */ - + + } /* end inner while loop */ + /* clean up memory */ if (tmp_zone_host != NULL) { free(tmp_zone_host); tmp_zone_host = NULL; } } /* end outer while loop */ - - allnodes_cleanup: + +allnodes_cleanup: /* free any memory */ if (tmp != NULL) free(tmp); - + if (tmp_zone_host != NULL) free(tmp_zone_host); - + if (tmp_zone != NULL) free(tmp_zone); - + /* get rid of cursors */ if (xfr_cursor != NULL) xfr_cursor->c_close(xfr_cursor); - + if (dns_cursor != NULL) dns_cursor->c_close(dns_cursor); - + return result; } @@ -439,7 +437,8 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { * Used by bdbhpt_destroy when the driver is shutting down. */ static void -bdbhpt_cleanup(bdbhpt_instance_t *db) { +bdbhpt_cleanup(bdbhpt_instance_t *db) +{ /* close databases */ if (db->data != NULL) db->data->close(db->data, 0); @@ -449,7 +448,7 @@ bdbhpt_cleanup(bdbhpt_instance_t *db) { db->zone->close(db->zone, 0); if (db->client != NULL) db->client->close(db->client, 0); - + /* close environment */ if (db->dbenv != NULL) db->dbenv->close(db->dbenv, 0); @@ -463,15 +462,14 @@ isc_result_t dlz_findzonedb(void *dbdata, const char *name) #else isc_result_t -dlz_findzonedb(void *dbdata, const char *name, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo) +dlz_findzonedb(void *dbdata, const char *name, dns_clientinfomethods_t *methods, + dns_clientinfo_t *clientinfo) #endif { - isc_result_t result; - bdbhpt_instance_t *db = (bdbhpt_instance_t *) dbdata; - DBT key, data; - + isc_result_t result; + bdbhpt_instance_t *db = (bdbhpt_instance_t *)dbdata; + DBT key, data; + memset(&key, 0, sizeof(DBT)); memset(&data, 0, sizeof(DBT)); data.flags = DB_DBT_MALLOC; @@ -494,7 +492,7 @@ dlz_findzonedb(void *dbdata, const char *name, key.data = bdbhpt_strrev(key.data); key.size = strlen(key.data); - switch(db->zone->get(db->zone, NULL, &key, &data, 0)) { + switch (db->zone->get(db->zone, NULL, &key, &data, 0)) { case DB_NOTFOUND: result = ISC_R_NOTFOUND; break; @@ -504,15 +502,15 @@ dlz_findzonedb(void *dbdata, const char *name, default: result = ISC_R_FAILURE; } - + /* free any memory duplicate string in the key field */ if (key.data != NULL) free(key.data); - + /* free any memory allocated to the data field. */ if (data.data != NULL) free(data.data); - + return result; } @@ -521,26 +519,27 @@ dlz_findzonedb(void *dbdata, const char *name, * */ #if DLZ_DLOPEN_VERSION == 1 -isc_result_t dlz_lookup(const char *zone, const char *name, - void *dbdata, dns_sdlzlookup_t *lookup) +isc_result_t +dlz_lookup(const char *zone, const char *name, void *dbdata, + dns_sdlzlookup_t *lookup) #else -isc_result_t dlz_lookup(const char *zone, const char *name, void *dbdata, - dns_sdlzlookup_t *lookup, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo) +isc_result_t +dlz_lookup(const char *zone, const char *name, void *dbdata, + dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, + dns_clientinfo_t *clientinfo) #endif { - isc_result_t result = ISC_R_NOTFOUND; - bdbhpt_instance_t *db = (bdbhpt_instance_t *) dbdata; - DBC *data_cursor = NULL; - DBT key, data; - int bdbhptres; - int flags; + isc_result_t result = ISC_R_NOTFOUND; + bdbhpt_instance_t *db = (bdbhpt_instance_t *)dbdata; + DBC * data_cursor = NULL; + DBT key, data; + int bdbhptres; + int flags; bdbhpt_parsed_data_t pd; - char *tmp = NULL; - char *keyStr = NULL; - + char * tmp = NULL; + char * keyStr = NULL; + #if DLZ_DLOPEN_VERSION >= 2 UNUSED(methods); UNUSED(clientinfo); @@ -548,19 +547,19 @@ isc_result_t dlz_lookup(const char *zone, const char *name, void *dbdata, memset(&key, 0, sizeof(DBT)); memset(&data, 0, sizeof(DBT)); - + key.size = strlen(zone) + strlen(name) + 1; /* allocate mem for key */ key.data = keyStr = malloc((key.size + 1) * sizeof(char)); - + if (keyStr == NULL) return ISC_R_NOMEMORY; - + strcpy(keyStr, zone); strcat(keyStr, " "); strcat(keyStr, name); - + /* get a cursor to loop through data */ if (db->data->cursor(db->data, NULL, &data_cursor, 0) != 0) { result = ISC_R_FAILURE; @@ -571,33 +570,32 @@ isc_result_t dlz_lookup(const char *zone, const char *name, void *dbdata, flags = DB_SET; while ((bdbhptres = data_cursor->c_get(data_cursor, &key, &data, - flags)) == 0) - { + flags)) == 0) { flags = DB_NEXT_DUP; tmp = realloc(tmp, data.size + 1); if (tmp == NULL) goto lookup_cleanup; - + strncpy(tmp, data.data, data.size); tmp[data.size] = '\0'; - + if (bdbhpt_parse_data(db->log, tmp, &pd) != ISC_R_SUCCESS) goto lookup_cleanup; - + result = db->putrr(lookup, pd.type, pd.ttl, pd.data); if (result != ISC_R_SUCCESS) goto lookup_cleanup; } /* end while loop */ - - lookup_cleanup: + +lookup_cleanup: /* get rid of cursor */ if (data_cursor != NULL) data_cursor->c_close(data_cursor); - + free(keyStr); if (tmp != NULL) free(tmp); - + return result; } @@ -637,25 +635,24 @@ bdbhpt_opendb(log_t *log, DB_ENV *db_env, DBTYPE db_type, DB **db, db_name, db_file, db_strerror(result)); return ISC_R_FAILURE; } - + return ISC_R_SUCCESS; } - /* * Called to initialize the driver */ isc_result_t -dlz_create(const char *dlzname, unsigned int argc, char *argv[], - void **dbdata, ...) +dlz_create(const char *dlzname, unsigned int argc, char *argv[], void **dbdata, + ...) { - isc_result_t result; - int bdbhptres; - int bdbFlags = 0; + isc_result_t result; + int bdbhptres; + int bdbFlags = 0; bdbhpt_instance_t *db = NULL; - + const char *helper_name; - va_list ap; + va_list ap; UNUSED(dlzname); @@ -667,27 +664,28 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], /* Fill in the helper functions */ va_start(ap, dbdata); while ((helper_name = va_arg(ap, const char *)) != NULL) - b9_add_helper(db, helper_name, va_arg(ap, void*)); + b9_add_helper(db, helper_name, va_arg(ap, void *)); va_end(ap); /* verify we have 4 arg's passed to the driver */ if (argc != 4) { db->log(ISC_LOG_ERROR, "bdbhpt_dynamic: please supply 3 command line args. " - "You supplied: %s", argc); + "You supplied: %s", + argc); return (ISC_R_FAILURE); } - switch((char) *argv[1]) { + switch ((char)*argv[1]) { /* * Transactional mode. Highest safety - lowest speed. */ case 'T': case 't': - bdbFlags = DB_INIT_MPOOL | DB_INIT_LOCK | - DB_INIT_LOG | DB_INIT_TXN; - db->log(ISC_LOG_INFO, - "bdbhpt_dynamic: using transactional mode."); + bdbFlags = DB_INIT_MPOOL | DB_INIT_LOCK | DB_INIT_LOG | + DB_INIT_TXN; + db->log(ISC_LOG_INFO, "bdbhpt_dynamic: using transactional " + "mode."); break; /* @@ -697,8 +695,7 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], case 'C': case 'c': bdbFlags = DB_INIT_CDB | DB_INIT_MPOOL; - db->log(ISC_LOG_INFO, - "bdbhpt_dynamic: using concurrent mode."); + db->log(ISC_LOG_INFO, "bdbhpt_dynamic: using concurrent mode."); break; /* @@ -708,17 +705,17 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], case 'P': case 'p': bdbFlags = DB_PRIVATE | DB_INIT_MPOOL; - db->log(ISC_LOG_INFO, - "bdbhpt_dynamic: using private mode."); + db->log(ISC_LOG_INFO, "bdbhpt_dynamic: using private mode."); break; default: db->log(ISC_LOG_ERROR, "bdbhpt_dynamic: " "operating mode must be set to P or C or T. " - "You specified '%s'", argv[1]); + "You specified '%s'", + argv[1]); return (ISC_R_FAILURE); } - + /* * create bdbhpt environment * Basically bdbhpt allocates and assigns memory to db->dbenv @@ -727,11 +724,12 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], if (bdbhptres != 0) { db->log(ISC_LOG_ERROR, "bdbhpt_dynamic: db environment could not be created. " - "BerkeleyDB error: %s", db_strerror(bdbhptres)); + "BerkeleyDB error: %s", + db_strerror(bdbhptres)); result = ISC_R_FAILURE; goto init_cleanup; } - + /* open bdbhpt environment */ bdbhptres = db->dbenv->open(db->dbenv, argv[2], bdbFlags | bdbhpt_threads | DB_CREATE, 0); @@ -756,27 +754,26 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], dlz_xfr, argv[3], DB_DUP | DB_DUPSORT); if (result != ISC_R_SUCCESS) goto init_cleanup; - + /* open dlz_zone database. */ result = bdbhpt_opendb(db->log, db->dbenv, DB_UNKNOWN, &db->zone, dlz_zone, argv[3], 0); if (result != ISC_R_SUCCESS) goto init_cleanup; - + /* open dlz_client database. */ result = bdbhpt_opendb(db->log, db->dbenv, DB_UNKNOWN, &db->client, dlz_client, argv[3], DB_DUP | DB_DUPSORT); if (result != ISC_R_SUCCESS) goto init_cleanup; - + *dbdata = db; - db->log(ISC_LOG_INFO, - "bdbhpt_dynamic: version %s, started", + db->log(ISC_LOG_INFO, "bdbhpt_dynamic: version %s, started", dlz_bdbhpt_dynamic_version); - return(ISC_R_SUCCESS); - - init_cleanup: + return (ISC_R_SUCCESS); + +init_cleanup: bdbhpt_cleanup(db); return result; } @@ -785,13 +782,13 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], * Shut down the backend */ void -dlz_destroy(void *dbdata) { +dlz_destroy(void *dbdata) +{ struct bdbhpt_instance *db = (struct bdbhpt_instance *)dbdata; - - db->log(ISC_LOG_INFO, - "dlz_bdbhpt_dynamic (%s): shutting down", + + db->log(ISC_LOG_INFO, "dlz_bdbhpt_dynamic (%s): shutting down", dlz_bdbhpt_dynamic_version); - bdbhpt_cleanup((bdbhpt_instance_t *) dbdata); + bdbhpt_cleanup((bdbhpt_instance_t *)dbdata); free(db); } @@ -799,7 +796,8 @@ dlz_destroy(void *dbdata) { * Return the version of the API */ int -dlz_version(unsigned int *flags) { +dlz_version(unsigned int *flags) +{ UNUSED(flags); return (DLZ_DLOPEN_VERSION); } @@ -808,7 +806,8 @@ dlz_version(unsigned int *flags) { * Register a helper function from the bind9 dlz_dlopen driver */ static void -b9_add_helper(struct bdbhpt_instance *db, const char *helper_name, void *ptr) { +b9_add_helper(struct bdbhpt_instance *db, const char *helper_name, void *ptr) +{ if (strcmp(helper_name, "log") == 0) db->log = (log_t *)ptr; if (strcmp(helper_name, "putrr") == 0) @@ -818,4 +817,3 @@ b9_add_helper(struct bdbhpt_instance *db, const char *helper_name, void *ptr) { if (strcmp(helper_name, "writeable_zone") == 0) db->writeable_zone = (dns_dlz_writeablezone_t *)ptr; } - diff --git a/contrib/dlz/modules/common/dlz_dbi.c b/contrib/dlz/modules/common/dlz_dbi.c index e4c27bb746..fa0f573ba5 100644 --- a/contrib/dlz/modules/common/dlz_dbi.c +++ b/contrib/dlz/modules/common/dlz_dbi.c @@ -34,24 +34,25 @@ */ /* - * Copyright (C) 1999-2001, 2013, 2016 Internet Systems Consortium, Inc. ("ISC") - * + * Copyright (C) 1999-2001, 2013, 2016 Internet Systems Consortium, Inc. + * ("ISC") + * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#include #include +#include #include #include -#include -#include #include -#include +#include -#include -#include #include +#include +#include #include /*% @@ -60,7 +61,8 @@ */ void -destroy_querylist(query_list_t **querylist) { +destroy_querylist(query_list_t **querylist) +{ query_segment_t *tseg = NULL; query_segment_t *nseg = NULL; @@ -70,13 +72,13 @@ destroy_querylist(query_list_t **querylist) { /* start at the top of the list */ nseg = DLZ_LIST_HEAD(**querylist); - while (nseg != NULL) { /* loop, until end of list */ + while (nseg != NULL) { /* loop, until end of list */ tseg = nseg; /* * free the query segment's text string but only if it * was really a query segment, and not a pointer to * %zone%, or %record%, or %client% - */ + */ if (tseg->cmd != NULL && tseg->direct == true) free(tseg->cmd); /* get the next query segment, before we destroy this one. */ @@ -91,17 +93,17 @@ destroy_querylist(query_list_t **querylist) { /*% constructs a query list by parsing a string into query segments */ isc_result_t build_querylist(const char *query_str, char **zone, char **record, - char **client, query_list_t **querylist, unsigned int flags, + char **client, query_list_t **querylist, unsigned int flags, log_t log) { - isc_result_t result; - bool foundzone = false; - bool foundrecord = false; - bool foundclient = false; - char *temp_str = NULL; - char *right_str = NULL; - char *token = NULL; - query_list_t *tql; + isc_result_t result; + bool foundzone = false; + bool foundrecord = false; + bool foundclient = false; + char * temp_str = NULL; + char * right_str = NULL; + char * token = NULL; + query_list_t * tql; query_segment_t *tseg = NULL; /* if query string is null, or zero length */ @@ -132,13 +134,11 @@ build_querylist(const char *query_str, char **zone, char **record, } /* loop through the string and chop it up */ - for (token = strtok_r(right_str, "$", &temp_str); - token; - token = strtok_r(NULL, "$", &temp_str)) - { + for (token = strtok_r(right_str, "$", &temp_str); token; + token = strtok_r(NULL, "$", &temp_str)) { /* allocate memory for tseg */ tseg = calloc(1, sizeof(query_segment_t)); - if (tseg == NULL) { /* no memory, clean everything up. */ + if (tseg == NULL) { /* no memory, clean everything up. */ result = ISC_R_NOMEMORY; goto cleanup; } @@ -170,7 +170,7 @@ build_querylist(const char *query_str, char **zone, char **record, */ free(tseg->cmd); /* set tseg->cmd to in-direct zone string */ - tseg->cmd = (char**) zone; + tseg->cmd = (char **)zone; tseg->strlen = 0; /* tseg->cmd points in-directly to a string */ tseg->direct = false; @@ -183,7 +183,7 @@ build_querylist(const char *query_str, char **zone, char **record, */ free(tseg->cmd); /* set tseg->cmd to in-direct record string */ - tseg->cmd = (char**) record; + tseg->cmd = (char **)record; tseg->strlen = 0; /* tseg->cmd points in-directly poinsts to a string */ tseg->direct = false; @@ -196,7 +196,7 @@ build_querylist(const char *query_str, char **zone, char **record, */ free(tseg->cmd); /* set tseg->cmd to in-direct record string */ - tseg->cmd = (char**) client; + tseg->cmd = (char **)client; tseg->strlen = 0; /* tseg->cmd points in-directly poinsts to a string */ tseg->direct = false; @@ -213,27 +213,27 @@ build_querylist(const char *query_str, char **zone, char **record, */ /* if this query requires %client%, make sure we found it */ - if (((flags & REQUIRE_CLIENT) != 0) && (!foundclient) ) { + if (((flags & REQUIRE_CLIENT) != 0) && (!foundclient)) { /* Write error message to log */ if (log != NULL) - log(ISC_LOG_ERROR, - "Required token $client$ not found."); + log(ISC_LOG_ERROR, "Required token $client$ not " + "found."); result = ISC_R_FAILURE; goto flag_fail; } /* if this query requires %record%, make sure we found it */ - if (((flags & REQUIRE_RECORD) != 0) && (!foundrecord) ) { + if (((flags & REQUIRE_RECORD) != 0) && (!foundrecord)) { /* Write error message to log */ if (log != NULL) - log(ISC_LOG_ERROR, - "Required token $record$ not found."); + log(ISC_LOG_ERROR, "Required token $record$ not " + "found."); result = ISC_R_FAILURE; goto flag_fail; } /* if this query requires %zone%, make sure we found it */ - if (((flags & REQUIRE_ZONE) != 0) && (!foundzone) ) { + if (((flags & REQUIRE_ZONE) != 0) && (!foundzone)) { /* Write error message to log */ if (log != NULL) log(ISC_LOG_ERROR, "Required token $zone$ not found."); @@ -242,18 +242,18 @@ build_querylist(const char *query_str, char **zone, char **record, } /* pass back the query list */ - *querylist = (query_list_t *) tql; + *querylist = (query_list_t *)tql; /* return success */ return (ISC_R_SUCCESS); - cleanup: +cleanup: /* get rid of temp_str */ if (right_str != NULL) { free(right_str); } - flag_fail: +flag_fail: /* get rid of what was build of the query list */ destroy_querylist(&tql); return (result); @@ -265,10 +265,11 @@ build_querylist(const char *query_str, char **zone, char **record, * used to be in our queries from named.conf */ char * -build_querystring(query_list_t *querylist) { +build_querystring(query_list_t *querylist) +{ query_segment_t *tseg = NULL; - unsigned int length = 0; - char *qs = NULL; + unsigned int length = 0; + char * qs = NULL; /* start at the top of the list */ tseg = DLZ_LIST_HEAD(*querylist); @@ -279,8 +280,8 @@ build_querystring(query_list_t *querylist) { */ if (tseg->direct == true) length += tseg->strlen; - else /* calculate string length for dynamic segments. */ - length += strlen(* (char**) tseg->cmd); + else /* calculate string length for dynamic segments. */ + length += strlen(*(char **)tseg->cmd); /* get the next segment */ tseg = DLZ_LIST_NEXT(tseg, link); } @@ -298,7 +299,7 @@ build_querystring(query_list_t *querylist) { strcat(qs, tseg->cmd); else /* dynamic segments */ - strcat(qs, * (char**) tseg->cmd); + strcat(qs, *(char **)tseg->cmd); /* get the next segment */ tseg = DLZ_LIST_NEXT(tseg, link); } @@ -313,18 +314,16 @@ build_dbinstance(const char *allnodes_str, const char *allowxfr_str, const char *lookup_str, const char *countzone_str, dbinstance_t **dbi, log_t log) { - - isc_result_t result; + isc_result_t result; dbinstance_t *db = NULL; - int err; + int err; /* allocate and zero memory for driver structure */ db = calloc(1, sizeof(dbinstance_t)); if (db == NULL) { if (log != NULL) - log(ISC_LOG_ERROR, - "Could not allocate memory for " - "database instance object."); + log(ISC_LOG_ERROR, "Could not allocate memory for " + "database instance object."); return (ISC_R_NOMEMORY); } memset(db, 0, sizeof(dbinstance_t)); @@ -352,84 +351,82 @@ build_dbinstance(const char *allnodes_str, const char *allowxfr_str, /* build the all nodes query list */ result = build_querylist(allnodes_str, &db->zone, &db->record, - &db->client, &db->allnodes_q, - REQUIRE_ZONE, log); + &db->client, &db->allnodes_q, REQUIRE_ZONE, + log); /* if unsuccessful, log err msg and cleanup */ if (result != ISC_R_SUCCESS) { if (log != NULL) - log(ISC_LOG_ERROR, - "Could not build all nodes query list"); + log(ISC_LOG_ERROR, "Could not build all nodes query " + "list"); goto cleanup; } /* build the allow zone transfer query list */ result = build_querylist(allowxfr_str, &db->zone, &db->record, &db->client, &db->allowxfr_q, - REQUIRE_ZONE | REQUIRE_CLIENT, - log); + REQUIRE_ZONE | REQUIRE_CLIENT, log); /* if unsuccessful, log err msg and cleanup */ if (result != ISC_R_SUCCESS) { if (log != NULL) - log(ISC_LOG_ERROR, - "Could not build allow xfr query list"); + log(ISC_LOG_ERROR, "Could not build allow xfr query " + "list"); goto cleanup; } /* build the authority query, query list */ result = build_querylist(authority_str, &db->zone, &db->record, - &db->client, &db->authority_q, - REQUIRE_ZONE, log); + &db->client, &db->authority_q, REQUIRE_ZONE, + log); /* if unsuccessful, log err msg and cleanup */ if (result != ISC_R_SUCCESS) { if (log != NULL) - log(ISC_LOG_ERROR, - "Could not build authority query list"); + log(ISC_LOG_ERROR, "Could not build authority query " + "list"); goto cleanup; } /* build findzone query, query list */ result = build_querylist(findzone_str, &db->zone, &db->record, - &db->client, &db->findzone_q, - REQUIRE_ZONE, log); + &db->client, &db->findzone_q, REQUIRE_ZONE, + log); /* if unsuccessful, log err msg and cleanup */ if (result != ISC_R_SUCCESS) { if (log != NULL) - log(ISC_LOG_ERROR, - "Could not build find zone query list"); + log(ISC_LOG_ERROR, "Could not build find zone query " + "list"); goto cleanup; } /* build countzone query, query list */ result = build_querylist(countzone_str, &db->zone, &db->record, - &db->client, &db->countzone_q, - REQUIRE_ZONE, log); + &db->client, &db->countzone_q, REQUIRE_ZONE, + log); /* if unsuccessful, log err msg and cleanup */ if (result != ISC_R_SUCCESS) { if (log != NULL) - log(ISC_LOG_ERROR, - "Could not build count zone query list"); + log(ISC_LOG_ERROR, "Could not build count zone query " + "list"); goto cleanup; } /* build lookup query, query list */ result = build_querylist(lookup_str, &db->zone, &db->record, - &db->client, &db->lookup_q, - REQUIRE_RECORD, log); + &db->client, &db->lookup_q, REQUIRE_RECORD, + log); /* if unsuccessful, log err msg and cleanup */ if (result != ISC_R_SUCCESS) { if (log != NULL) - log(ISC_LOG_ERROR, - "Could not build lookup query list"); + log(ISC_LOG_ERROR, "Could not build lookup query list"); goto cleanup; } /* pass back the db instance */ - *dbi = (dbinstance_t *) db; + *dbi = (dbinstance_t *)db; /* return success */ return (ISC_R_SUCCESS); - cleanup: +cleanup: /* destroy whatever was build of the db instance */ destroy_dbinstance(db); /* return failure */ @@ -437,7 +434,8 @@ build_dbinstance(const char *allnodes_str, const char *allowxfr_str, } void -destroy_dbinstance(dbinstance_t *dbi) { +destroy_dbinstance(dbinstance_t *dbi) +{ /* destroy any query lists we created */ destroy_querylist(&dbi->allnodes_q); destroy_querylist(&dbi->allowxfr_q); @@ -447,18 +445,19 @@ destroy_dbinstance(dbinstance_t *dbi) { destroy_querylist(&dbi->lookup_q); /* get rid of the mutex */ - (void) dlz_mutex_destroy(&dbi->lock); + (void)dlz_mutex_destroy(&dbi->lock); /* return, and detach the memory */ free(dbi); } char * -get_parameter_value(const char *input, const char* key) { - int keylen; +get_parameter_value(const char *input, const char *key) +{ + int keylen; char *keystart; - char value[255]; - int i; + char value[255]; + int i; if (key == NULL || input == NULL || *input == '\0') return (NULL); diff --git a/contrib/dlz/modules/filesystem/dir.c b/contrib/dlz/modules/filesystem/dir.c index 5d0a200c43..dbec24edfe 100644 --- a/contrib/dlz/modules/filesystem/dir.c +++ b/contrib/dlz/modules/filesystem/dir.c @@ -14,19 +14,21 @@ * PERFORMANCE OF THIS SOFTWARE. */ -#include -#include +#include "dir.h" #include #include -#include #include +#include #include "dlz_minimal.h" -#include "dir.h" + +#include +#include void -dir_init(dir_t *dir) { +dir_init(dir_t *dir) +{ dir->entry.name[0] = '\0'; dir->entry.length = 0; @@ -34,8 +36,9 @@ dir_init(dir_t *dir) { } isc_result_t -dir_open(dir_t *dir, const char *dirname) { - char *p; +dir_open(dir_t *dir, const char *dirname) +{ + char * p; isc_result_t result = ISC_R_SUCCESS; if (strlen(dirname) + 3 > sizeof(dir->dirname)) @@ -85,7 +88,8 @@ dir_open(dir_t *dir, const char *dirname) { * the dir stream and reads the first file in one operation. */ isc_result_t -dir_read(dir_t *dir) { +dir_read(dir_t *dir) +{ struct dirent *entry; entry = readdir(dir->handle); @@ -93,7 +97,7 @@ dir_read(dir_t *dir) { return (ISC_R_NOMORE); if (sizeof(dir->entry.name) <= strlen(entry->d_name)) - return (ISC_R_UNEXPECTED); + return (ISC_R_UNEXPECTED); strcpy(dir->entry.name, entry->d_name); @@ -105,16 +109,18 @@ dir_read(dir_t *dir) { * \brief Close directory stream. */ void -dir_close(dir_t *dir) { - (void)closedir(dir->handle); - dir->handle = NULL; +dir_close(dir_t *dir) +{ + (void)closedir(dir->handle); + dir->handle = NULL; } /*! * \brief Reposition directory stream at start. */ isc_result_t -dir_reset(dir_t *dir) { +dir_reset(dir_t *dir) +{ rewinddir(dir->handle); return (ISC_R_SUCCESS); diff --git a/contrib/dlz/modules/filesystem/dir.h b/contrib/dlz/modules/filesystem/dir.h index 66041fac52..eeb64bf064 100644 --- a/contrib/dlz/modules/filesystem/dir.h +++ b/contrib/dlz/modules/filesystem/dir.h @@ -14,21 +14,22 @@ * PERFORMANCE OF THIS SOFTWARE. */ -#include #include +#include + #define DIR_NAMEMAX 256 #define DIR_PATHMAX 1024 typedef struct direntry { - char name[DIR_NAMEMAX]; - unsigned int length; + char name[DIR_NAMEMAX]; + unsigned int length; } direntry_t; typedef struct dir { - char dirname[DIR_PATHMAX]; - direntry_t entry; - DIR * handle; + char dirname[DIR_PATHMAX]; + direntry_t entry; + DIR * handle; } dir_t; void diff --git a/contrib/dlz/modules/filesystem/dlz_filesystem_dynamic.c b/contrib/dlz/modules/filesystem/dlz_filesystem_dynamic.c index a143fd5e96..a002d99176 100644 --- a/contrib/dlz/modules/filesystem/dlz_filesystem_dynamic.c +++ b/contrib/dlz/modules/filesystem/dlz_filesystem_dynamic.c @@ -34,7 +34,8 @@ */ /* - * Copyright (C) 1999-2001, 2013, 2016 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 1999-2001, 2013, 2016 Internet Systems Consortium, Inc. + * ("ISC") * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -46,33 +47,33 @@ * update support */ +#include #include #include -#include -#include #include +#include + +#include "dir.h" +#include "dlz_list.h" +#include "dlz_minimal.h" #include -#include "dlz_minimal.h" -#include "dlz_list.h" -#include "dir.h" - typedef struct config_data { - char *basedir; - int basedirsize; - char *datadir; - int datadirsize; - char *xfrdir; - int xfrdirsize; - int splitcnt; - char separator; - char pathsep; + char *basedir; + int basedirsize; + char *datadir; + int datadirsize; + char *xfrdir; + int xfrdirsize; + int splitcnt; + char separator; + char pathsep; /* Helper functions from the dlz_dlopen driver */ - log_t *log; - dns_sdlz_putrr_t *putrr; - dns_sdlz_putnamedrr_t *putnamedrr; + log_t * log; + dns_sdlz_putrr_t * putrr; + dns_sdlz_putnamedrr_t * putnamedrr; dns_dlz_writeablezone_t *writeable_zone; } config_data_t; @@ -80,7 +81,7 @@ typedef struct dir_entry dir_entry_t; struct dir_entry { char dirpath[DIR_PATHMAX]; - DLZ_LINK(dir_entry_t) link; + DLZ_LINK(dir_entry_t) link; }; typedef DLZ_LIST(dir_entry_t) dlist_t; @@ -94,11 +95,12 @@ b9_add_helper(struct config_data *cd, const char *helper_name, void *ptr); * Private methods */ static bool -is_safe(const char *input) { +is_safe(const char *input) +{ unsigned int i; unsigned int len = strlen(input); - /* check that only allowed characters are in the domain name */ + /* check that only allowed characters are in the domain name */ for (i = 0; i < len; i++) { /* '.' is allowed, but has special requirements */ if (input[i] == '.') { @@ -106,7 +108,7 @@ is_safe(const char *input) { if (i == 0) return (false); /* '..', two dots together is not allowed. */ - if (input[i-1] == '.') + if (input[i - 1] == '.') return (false); /* '.' is not allowed as last char */ if (i == len - 1) @@ -148,15 +150,16 @@ is_safe(const char *input) { */ return (false); } - /* everything ok. */ + /* everything ok. */ return (true); } static isc_result_t -create_path_helper(char *out, const char *in, config_data_t *cd) { +create_path_helper(char *out, const char *in, config_data_t *cd) +{ char *tmpString; char *tmpPtr; - int i; + int i; tmpString = strdup(in); if (tmpString == NULL) @@ -168,17 +171,17 @@ create_path_helper(char *out, const char *in, config_data_t *cd) { */ while ((tmpPtr = strrchr(tmpString, '.')) != NULL) { i = 0; - while (tmpPtr[i+1] != '\0') { + while (tmpPtr[i + 1] != '\0') { if (cd->splitcnt < 1) - strcat(out, (char *) &tmpPtr[i+1]); + strcat(out, (char *)&tmpPtr[i + 1]); else - strncat(out, (char *) &tmpPtr[i+1], + strncat(out, (char *)&tmpPtr[i + 1], cd->splitcnt); - strncat(out, (char *) &cd->pathsep, 1); + strncat(out, (char *)&cd->pathsep, 1); if (cd->splitcnt == 0) break; - if (strlen((char *) &tmpPtr[i+1]) <= - (unsigned int) cd->splitcnt) + if (strlen((char *)&tmpPtr[i + 1]) <= + (unsigned int)cd->splitcnt) break; i += cd->splitcnt; } @@ -186,18 +189,17 @@ create_path_helper(char *out, const char *in, config_data_t *cd) { } /* handle the "first" label properly */ - i=0; + i = 0; tmpPtr = tmpString; while (tmpPtr[i] != '\0') { if (cd->splitcnt < 1) - strcat(out, (char *) &tmpPtr[i]); + strcat(out, (char *)&tmpPtr[i]); else - strncat(out, (char *) &tmpPtr[i], cd->splitcnt); - strncat(out, (char *) &cd->pathsep, 1); + strncat(out, (char *)&tmpPtr[i], cd->splitcnt); + strncat(out, (char *)&cd->pathsep, 1); if (cd->splitcnt == 0) break; - if (strlen((char *) &tmpPtr[i]) <= - (unsigned int) cd->splitcnt) + if (strlen((char *)&tmpPtr[i]) <= (unsigned int)cd->splitcnt) break; i += cd->splitcnt; } @@ -216,12 +218,11 @@ static isc_result_t create_path(const char *zone, const char *host, const char *client, config_data_t *cd, char **path) { - - char *tmpPath; - int pathsize; - int len; + char * tmpPath; + int pathsize; + int len; isc_result_t result; - bool isroot = false; + bool isroot = false; /* special case for root zone */ if (strcmp(zone, ".") == 0) @@ -252,19 +253,17 @@ create_path(const char *zone, const char *host, const char *client, * string we only waste a few bytes by allocating for both, * and then we are safe from buffer overruns. */ - pathsize = len + cd->basedirsize + - cd->datadirsize + cd->xfrdirsize + 4; + pathsize = len + cd->basedirsize + cd->datadirsize + cd->xfrdirsize + 4; /* if we are splitting names, we will need extra space. */ if (cd->splitcnt > 0) - pathsize += len/cd->splitcnt; + pathsize += len / cd->splitcnt; tmpPath = malloc(pathsize * sizeof(char)); if (tmpPath == NULL) { /* write error message */ - cd->log(ISC_LOG_ERROR, - "Filesystem driver unable to " - "allocate memory in create_path()."); + cd->log(ISC_LOG_ERROR, "Filesystem driver unable to " + "allocate memory in create_path()."); result = ISC_R_NOMEMORY; goto cleanup_mem; } @@ -305,14 +304,14 @@ create_path(const char *zone, const char *host, const char *client, /* if client is passed append xfr dir, otherwise append data dir */ if (client != NULL) { strcat(tmpPath, cd->xfrdir); - strncat(tmpPath, (char *) &cd->pathsep, 1); + strncat(tmpPath, (char *)&cd->pathsep, 1); strcat(tmpPath, client); } else strcat(tmpPath, cd->datadir); /* if host not null, add it. */ if (host != NULL) { - strncat(tmpPath, (char *) &cd->pathsep, 1); + strncat(tmpPath, (char *)&cd->pathsep, 1); result = create_path_helper(tmpPath, host, cd); if (result != ISC_R_SUCCESS) goto cleanup_mem; @@ -324,7 +323,7 @@ create_path(const char *zone, const char *host, const char *client, /* return success */ result = ISC_R_SUCCESS; - cleanup_mem: +cleanup_mem: /* cleanup memory */ /* free tmpPath memory */ @@ -335,26 +334,25 @@ create_path(const char *zone, const char *host, const char *client, } static isc_result_t -process_dir(dir_t *dir, void *passback, config_data_t *cd, - dlist_t *dir_list, unsigned int basedirlen) +process_dir(dir_t *dir, void *passback, config_data_t *cd, dlist_t *dir_list, + unsigned int basedirlen) { - - char tmp[DIR_PATHMAX + DIR_NAMEMAX]; - int astPos; - struct stat sb; + char tmp[DIR_PATHMAX + DIR_NAMEMAX]; + int astPos; + struct stat sb; isc_result_t result = ISC_R_FAILURE; - char *endp; - char *type; - char *ttlStr; - char *data; - char host[DIR_NAMEMAX]; - char *tmpString; - char *tmpPtr; - int ttl; - int i; - int len; + char * endp; + char * type; + char * ttlStr; + char * data; + char host[DIR_NAMEMAX]; + char * tmpString; + char * tmpPtr; + int ttl; + int i; + int len; dir_entry_t *direntry; - bool foundHost; + bool foundHost; tmp[0] = '\0'; /* set 1st byte to '\0' so strcpy works right. */ host[0] = '\0'; @@ -371,8 +369,8 @@ process_dir(dir_t *dir, void *passback, config_data_t *cd, /* if splitcnt == 0, determine host from path. */ if (cd->splitcnt == 0) { if (strlen(tmp) - 3 > basedirlen) { - tmp[astPos-1] = '\0'; - tmpString = (char *) &tmp[basedirlen+1]; + tmp[astPos - 1] = '\0'; + tmpString = (char *)&tmp[basedirlen + 1]; /* handle filesystem's special wildcard "-" */ if (strcmp(tmpString, "-") == 0) { strcpy(host, "*"); @@ -380,21 +378,19 @@ process_dir(dir_t *dir, void *passback, config_data_t *cd, /* * not special wildcard -- normal name */ - while ((tmpPtr = strrchr(tmpString, - cd->pathsep)) - != NULL) - { + while ((tmpPtr = strrchr( + tmpString, + cd->pathsep)) != NULL) { if ((strlen(host) + - strlen(tmpPtr + 1) + 2) - > DIR_NAMEMAX) + strlen(tmpPtr + 1) + 2) > + DIR_NAMEMAX) continue; strcat(host, tmpPtr + 1); strcat(host, "."); tmpPtr[0] = '\0'; } - if ((strlen(host) + - strlen(tmpString) + 1) - <= DIR_NAMEMAX) + if ((strlen(host) + strlen(tmpString) + + 1) <= DIR_NAMEMAX) strcat(host, tmpString); } @@ -408,19 +404,20 @@ process_dir(dir_t *dir, void *passback, config_data_t *cd, * ".host" directory entry */ while (dir_read(dir) == ISC_R_SUCCESS) { - if (strncasecmp(".host", - dir->entry.name, 5) == 0) { + if (strncasecmp(".host", dir->entry.name, 5) == + 0) { /* * handle filesystem's special * wildcard "-" */ - if (strcmp((char *) &dir->entry.name[6], + if (strcmp((char *)&dir->entry.name[6], "-") == 0) strcpy(host, "*"); else { strncpy(host, - (char *) &dir->entry.name[6], - sizeof(host) - 1); + (char *)&dir->entry + .name[6], + sizeof(host) - 1); host[255] = '\0'; } foundHost = true; @@ -455,7 +452,7 @@ process_dir(dir_t *dir, void *passback, config_data_t *cd, strcat(tmp, dir->entry.name); /* make sure we can stat entry */ - if (stat(tmp, &sb) == 0 ) { + if (stat(tmp, &sb) == 0) { /* if entry is a directory */ if ((sb.st_mode & S_IFDIR) != 0) { /* @@ -481,32 +478,33 @@ process_dir(dir_t *dir, void *passback, config_data_t *cd, * could not find a host entry. */ - } else if (dir_list != NULL && - foundHost == false) { + } else if (dir_list != NULL && foundHost == false) { continue; } } else /* if we cannot stat entry, skip it. */ continue; type = dir->entry.name; - ttlStr = strchr(type, cd->separator); + ttlStr = strchr(type, cd->separator); if (ttlStr == NULL) { cd->log(ISC_LOG_ERROR, "Filesystem driver: " - "%s could not be parsed properly", tmp); + "%s could not be parsed properly", + tmp); return (ISC_R_FAILURE); } /* replace separator char with NULL to split string */ ttlStr[0] = '\0'; /* start string after NULL of previous string */ - ttlStr = (char *) &ttlStr[1]; + ttlStr = (char *)&ttlStr[1]; data = strchr(ttlStr, cd->separator); if (data == NULL) { cd->log(ISC_LOG_ERROR, "Filesystem driver: " - "%s could not be parsed properly", tmp); + "%s could not be parsed properly", + tmp); return (ISC_R_FAILURE); } @@ -514,12 +512,12 @@ process_dir(dir_t *dir, void *passback, config_data_t *cd, data[0] = '\0'; /* start string after NULL of previous string */ - data = (char *) &data[1]; + data = (char *)&data[1]; /* replace all cd->separator chars with a space. */ len = strlen(data); - for (i=0; i < len; i++) { + for (i = 0; i < len; i++) { if (data[i] == cd->separator) data[i] = ' '; } @@ -527,18 +525,16 @@ process_dir(dir_t *dir, void *passback, config_data_t *cd, /* convert text to int, make sure it worked right */ ttl = strtol(ttlStr, &endp, 10); if (*endp != '\0' || ttl < 0) - cd->log(ISC_LOG_ERROR, - "Filesystem driver " - "ttl must be a postive number"); + cd->log(ISC_LOG_ERROR, "Filesystem driver " + "ttl must be a postive number"); /* pass data back to Bind */ if (dir_list == NULL) - result = cd->putrr((dns_sdlzlookup_t *) passback, - type, ttl, data); + result = cd->putrr((dns_sdlzlookup_t *)passback, type, + ttl, data); else - result = cd->putnamedrr((dns_sdlzallnodes_t *) passback, - (char *) host, - type, ttl, data); + result = cd->putnamedrr((dns_sdlzallnodes_t *)passback, + (char *)host, type, ttl, data); /* if error, return error right away */ if (result != ISC_R_SUCCESS) @@ -552,14 +548,15 @@ process_dir(dir_t *dir, void *passback, config_data_t *cd, * DLZ methods */ isc_result_t -dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { - isc_result_t result; - char *path; - struct stat sb; +dlz_allowzonexfr(void *dbdata, const char *name, const char *client) +{ + isc_result_t result; + char * path; + struct stat sb; config_data_t *cd; path = NULL; - cd = (config_data_t *) dbdata; + cd = (config_data_t *)dbdata; if (create_path(name, NULL, client, cd, &path) != ISC_R_SUCCESS) { return (ISC_R_NOTFOUND); @@ -577,22 +574,23 @@ dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { result = ISC_R_NOTFOUND; - complete_AXFR: +complete_AXFR: free(path); return (result); } isc_result_t -dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { - isc_result_t result; - dlist_t *dir_list; - config_data_t *cd = (config_data_t *) dbdata; - char *basepath; - unsigned int basepathlen; - struct stat sb; - dir_t dir; - dir_entry_t *dir_entry; - dir_entry_t *next_de; +dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) +{ + isc_result_t result; + dlist_t * dir_list; + config_data_t *cd = (config_data_t *)dbdata; + char * basepath; + unsigned int basepathlen; + struct stat sb; + dir_t dir; + dir_entry_t * dir_entry; + dir_entry_t * next_de; basepath = NULL; @@ -654,7 +652,8 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { if (result != ISC_R_SUCCESS) { cd->log(ISC_LOG_ERROR, "Unable to open %s " - "directory to read entries.", basepath); + "directory to read entries.", + basepath); result = ISC_R_FAILURE; goto complete_allnds; } @@ -671,7 +670,7 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { dir_entry = DLZ_LIST_NEXT(dir_entry, link); } /* end while */ - complete_allnds: +complete_allnds: if (dir_list != NULL) { /* clean up entries from list. */ dir_entry = DLZ_LIST_HEAD(*dir_list); @@ -694,16 +693,14 @@ isc_result_t dlz_findzonedb(void *dbdata, const char *name) #else isc_result_t -dlz_findzonedb(void *dbdata, const char *name, - dns_clientinfomethods_t *methods, +dlz_findzonedb(void *dbdata, const char *name, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) #endif { - - isc_result_t result; - config_data_t *cd = (config_data_t *) dbdata; - char *path; - struct stat sb; + isc_result_t result; + config_data_t *cd = (config_data_t *)dbdata; + char * path; + struct stat sb; path = NULL; #if DLZ_DLOPEN_VERSION >= 3 @@ -729,7 +726,7 @@ dlz_findzonedb(void *dbdata, const char *name, result = ISC_R_NOTFOUND; - complete_FZ: +complete_FZ: free(path); return (result); @@ -737,21 +734,20 @@ dlz_findzonedb(void *dbdata, const char *name, #if DLZ_DLOPEN_VERSION == 1 isc_result_t -dlz_lookup(const char *zone, const char *name, - void *dbdata, dns_sdlzlookup_t *lookup) +dlz_lookup(const char *zone, const char *name, void *dbdata, + dns_sdlzlookup_t *lookup) #else isc_result_t -dlz_lookup(const char *zone, const char *name, - void *dbdata, dns_sdlzlookup_t *lookup, - dns_clientinfomethods_t *methods, +dlz_lookup(const char *zone, const char *name, void *dbdata, + dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) #endif { - isc_result_t result = ISC_R_NOTFOUND; - config_data_t *cd = (config_data_t *) dbdata; - char *path; - struct stat sb; - dir_t dir; + isc_result_t result = ISC_R_NOTFOUND; + config_data_t *cd = (config_data_t *)dbdata; + char * path; + struct stat sb; + dir_t dir; path = NULL; UNUSED(lookup); @@ -772,7 +768,7 @@ dlz_lookup(const char *zone, const char *name, return (ISC_R_NOTFOUND); /* remove path separator at end of path so stat works properly */ - path[strlen(path)-1] = '\0'; + path[strlen(path) - 1] = '\0'; cd->log(ISC_LOG_DEBUG(1), "Filesystem driver lookup() Checking for path: '%s'\n", path); @@ -805,23 +801,23 @@ dlz_lookup(const char *zone, const char *name, /* close the directory */ dir_close(&dir); - complete_lkup: +complete_lkup: free(path); return (result); } isc_result_t -dlz_create(const char *dlzname, unsigned int argc, char *argv[], - void **dbdata, ...) +dlz_create(const char *dlzname, unsigned int argc, char *argv[], void **dbdata, + ...) { - isc_result_t result = ISC_R_NOMEMORY; + isc_result_t result = ISC_R_NOMEMORY; config_data_t *cd; - char *endp; - int len; - char pathsep; - const char *helper_name; - va_list ap; + char * endp; + int len; + char pathsep; + const char * helper_name; + va_list ap; UNUSED(dlzname); @@ -835,30 +831,29 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], /* Fill in the helper functions */ va_start(ap, dbdata); - while ((helper_name = va_arg(ap, const char*)) != NULL) - b9_add_helper(cd, helper_name, va_arg(ap, void*)); + while ((helper_name = va_arg(ap, const char *)) != NULL) + b9_add_helper(cd, helper_name, va_arg(ap, void *)); va_end(ap); /* we require 5 command line args. */ if (argc != 6) { - cd->log(ISC_LOG_ERROR, - "Filesystem driver requires " - "6 command line args."); + cd->log(ISC_LOG_ERROR, "Filesystem driver requires " + "6 command line args."); result = ISC_R_FAILURE; goto free_cd; } if (strlen(argv[5]) > 1) { - cd->log(ISC_LOG_ERROR, - "Filesystem driver can only " - "accept a single character for separator."); + cd->log(ISC_LOG_ERROR, "Filesystem driver can only " + "accept a single character for " + "separator."); result = ISC_R_FAILURE; goto free_cd; } /* verify base dir ends with '/' or '\' */ len = strlen(argv[1]); - if (argv[1][len-1] != '\\' && argv[1][len-1] != '/') { + if (argv[1][len - 1] != '\\' && argv[1][len - 1] != '/') { cd->log(ISC_LOG_ERROR, "Base dir parameter for filesystem driver " "should end with %s", @@ -868,7 +863,7 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], } /* determine and save path separator for later */ - if (argv[1][len-1] == '\\') + if (argv[1][len - 1] == '\\') pathsep = '\\'; else pathsep = '/'; @@ -896,9 +891,8 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], /* get and store our directory split count */ cd->splitcnt = strtol(argv[4], &endp, 10); if (*endp != '\0' || cd->splitcnt < 0) - cd->log(ISC_LOG_ERROR, - "Directory split count must be zero (0) " - "or a postive number"); + cd->log(ISC_LOG_ERROR, "Directory split count must be zero (0) " + "or a postive number"); /* get and store our separator character */ cd->separator = *argv[5]; @@ -910,15 +904,15 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], return (ISC_R_SUCCESS); /* handle no memory error */ - no_mem: +no_mem: /* write error message */ if (cd != NULL && cd->log != NULL) - cd->log(ISC_LOG_ERROR, - "filesystem_dynamic: Filesystem driver unable to " - "allocate memory for config data."); + cd->log(ISC_LOG_ERROR, "filesystem_dynamic: Filesystem driver " + "unable to " + "allocate memory for config data."); - free_cd: +free_cd: /* if we allocated a config data object clean it up */ if (cd != NULL) dlz_destroy(cd); @@ -928,10 +922,11 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], } void -dlz_destroy(void *dbdata) { +dlz_destroy(void *dbdata) +{ config_data_t *cd; - cd = (config_data_t *) dbdata; + cd = (config_data_t *)dbdata; /* * free memory for each section of config data that was @@ -954,7 +949,8 @@ dlz_destroy(void *dbdata) { * Return the version of the API */ int -dlz_version(unsigned int *flags) { +dlz_version(unsigned int *flags) +{ UNUSED(flags); return (DLZ_DLOPEN_VERSION); } @@ -963,7 +959,8 @@ dlz_version(unsigned int *flags) { * Register a helper function from the bind9 dlz_dlopen driver */ static void -b9_add_helper(struct config_data *cd, const char *helper_name, void *ptr) { +b9_add_helper(struct config_data *cd, const char *helper_name, void *ptr) +{ if (strcmp(helper_name, "log") == 0) cd->log = (log_t *)ptr; if (strcmp(helper_name, "putrr") == 0) diff --git a/contrib/dlz/modules/include/dlz_dbi.h b/contrib/dlz/modules/include/dlz_dbi.h index b0714d3528..bda147cb69 100644 --- a/contrib/dlz/modules/include/dlz_dbi.h +++ b/contrib/dlz/modules/include/dlz_dbi.h @@ -35,8 +35,8 @@ #include -#include #include +#include #include #ifndef DLZ_DBI_H @@ -45,10 +45,10 @@ /* * Types */ -#define REQUIRE_CLIENT 0x01 -#define REQUIRE_QUERY 0x02 -#define REQUIRE_RECORD 0x04 -#define REQUIRE_ZONE 0x08 +#define REQUIRE_CLIENT 0x01 +#define REQUIRE_QUERY 0x02 +#define REQUIRE_RECORD 0x04 +#define REQUIRE_ZONE 0x08 typedef struct query_segment query_segment_t; typedef DLZ_LIST(query_segment_t) query_list_t; @@ -61,10 +61,10 @@ typedef struct driverinstance driverinstance_t; * special tokens are %zone%, %record%, %client% */ struct query_segment { - void *cmd; - unsigned int strlen; - bool direct; - DLZ_LINK(query_segment_t) link; + void * cmd; + unsigned int strlen; + bool direct; + DLZ_LINK(query_segment_t) link; }; /*% @@ -75,19 +75,19 @@ struct query_segment { * make sure no two threads try to use the same DBI at a time. */ struct dbinstance { - void *dbconn; - query_list_t *allnodes_q; - query_list_t *allowxfr_q; - query_list_t *authority_q; - query_list_t *findzone_q; - query_list_t *lookup_q; - query_list_t *countzone_q; - char *query_buf; - char *zone; - char *record; - char *client; - dlz_mutex_t lock; - DLZ_LINK(dbinstance_t) link; + void * dbconn; + query_list_t *allnodes_q; + query_list_t *allowxfr_q; + query_list_t *authority_q; + query_list_t *findzone_q; + query_list_t *lookup_q; + query_list_t *countzone_q; + char * query_buf; + char * zone; + char * record; + char * client; + dlz_mutex_t lock; + DLZ_LINK(dbinstance_t) link; }; /* @@ -99,7 +99,7 @@ destroy_querylist(query_list_t **querylist); isc_result_t build_querylist(const char *query_str, char **zone, char **record, - char **client, query_list_t **querylist, unsigned int flags, + char **client, query_list_t **querylist, unsigned int flags, log_t log); char * @@ -115,6 +115,6 @@ void destroy_dbinstance(dbinstance_t *dbi); char * -get_parameter_value(const char *input, const char* key); +get_parameter_value(const char *input, const char *key); #endif /* DLZ_DBI_H */ diff --git a/contrib/dlz/modules/include/dlz_list.h b/contrib/dlz/modules/include/dlz_list.h index d236105fca..74940d0254 100644 --- a/contrib/dlz/modules/include/dlz_list.h +++ b/contrib/dlz/modules/include/dlz_list.h @@ -1,5 +1,6 @@ /* - * Copyright (C) 1997-2002, 2004, 2006, 2007, 2011-2013, 2016 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 1997-2002, 2004, 2006, 2007, 2011-2013, 2016 Internet Systems + * Consortium, Inc. ("ISC") * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -9,13 +10,22 @@ #ifndef DLZ_LIST_H #define DLZ_LIST_H 1 -#define DLZ_LIST(type) struct { type *head, *tail; } -#define DLZ_LIST_INIT(list) \ - do { (list).head = NULL; (list).tail = NULL; } while (0) +#define DLZ_LIST(type) \ + struct { \ + type *head, *tail; \ + } +#define DLZ_LIST_INIT(list) \ + do { \ + (list).head = NULL; \ + (list).tail = NULL; \ + } while (0) -#define DLZ_LINK(type) struct { type *prev, *next; } -#define DLZ_LINK_INIT(elt, link) \ - do { \ +#define DLZ_LINK(type) \ + struct { \ + type *prev, *next; \ + } +#define DLZ_LINK_INIT(elt, link) \ + do { \ (elt)->link.prev = (void *)(-1); \ (elt)->link.next = (void *)(-1); \ } while (0) @@ -23,15 +33,15 @@ #define DLZ_LIST_HEAD(list) ((list).head) #define DLZ_LIST_TAIL(list) ((list).tail) -#define DLZ_LIST_APPEND(list, elt, link) \ - do { \ - if ((list).tail != NULL) \ +#define DLZ_LIST_APPEND(list, elt, link) \ + do { \ + if ((list).tail != NULL) \ (list).tail->link.next = (elt); \ - else \ - (list).head = (elt); \ - (elt)->link.prev = (list).tail; \ - (elt)->link.next = NULL; \ - (list).tail = (elt); \ + else \ + (list).head = (elt); \ + (elt)->link.prev = (list).tail; \ + (elt)->link.next = NULL; \ + (list).tail = (elt); \ } while (0) #define DLZ_LIST_PREV(elt, link) ((elt)->link.prev) diff --git a/contrib/dlz/modules/include/dlz_minimal.h b/contrib/dlz/modules/include/dlz_minimal.h index 05ae3b271a..415500f064 100644 --- a/contrib/dlz/modules/include/dlz_minimal.h +++ b/contrib/dlz/modules/include/dlz_minimal.h @@ -28,17 +28,18 @@ #include #include -#include + #include +#include #ifdef ISC_PLATFORM_HAVESYSUNH #include #endif +#include #include #include -#include typedef unsigned int isc_result_t; -typedef uint32_t dns_ttl_t; +typedef uint32_t dns_ttl_t; /* * Define DLZ_DLOPEN_VERSION to different values to use older versions @@ -50,38 +51,41 @@ typedef uint32_t dns_ttl_t; #endif /* return these in flags from dlz_version() */ -#define DNS_SDLZFLAG_THREADSAFE 0x00000001U -#define DNS_SDLZFLAG_RELATIVEOWNER 0x00000002U -#define DNS_SDLZFLAG_RELATIVERDATA 0x00000004U +#define DNS_SDLZFLAG_THREADSAFE 0x00000001U +#define DNS_SDLZFLAG_RELATIVEOWNER 0x00000002U +#define DNS_SDLZFLAG_RELATIVERDATA 0x00000004U /* result codes */ -#define ISC_R_SUCCESS 0 -#define ISC_R_NOMEMORY 1 -#define ISC_R_NOPERM 6 -#define ISC_R_NOSPACE 19 -#define ISC_R_NOTFOUND 23 -#define ISC_R_FAILURE 25 -#define ISC_R_NOTIMPLEMENTED 27 -#define ISC_R_NOMORE 29 -#define ISC_R_INVALIDFILE 30 -#define ISC_R_UNEXPECTED 34 -#define ISC_R_FILENOTFOUND 38 +#define ISC_R_SUCCESS 0 +#define ISC_R_NOMEMORY 1 +#define ISC_R_NOPERM 6 +#define ISC_R_NOSPACE 19 +#define ISC_R_NOTFOUND 23 +#define ISC_R_FAILURE 25 +#define ISC_R_NOTIMPLEMENTED 27 +#define ISC_R_NOMORE 29 +#define ISC_R_INVALIDFILE 30 +#define ISC_R_UNEXPECTED 34 +#define ISC_R_FILENOTFOUND 38 /* log levels */ -#define ISC_LOG_INFO (-1) -#define ISC_LOG_NOTICE (-2) -#define ISC_LOG_WARNING (-3) -#define ISC_LOG_ERROR (-4) -#define ISC_LOG_CRITICAL (-5) -#define ISC_LOG_DEBUG(level) (level) +#define ISC_LOG_INFO (-1) +#define ISC_LOG_NOTICE (-2) +#define ISC_LOG_WARNING (-3) +#define ISC_LOG_ERROR (-4) +#define ISC_LOG_CRITICAL (-5) +#define ISC_LOG_DEBUG(level) (level) /* other useful definitions */ #define UNUSED(x) (void)(x) -#define DE_CONST(konst, var) \ - do { \ - union { const void *k; void *v; } _u; \ - _u.k = konst; \ - var = _u.v; \ +#define DE_CONST(konst, var) \ + do { \ + union { \ + const void *k; \ + void * v; \ + } _u; \ + _u.k = konst; \ + var = _u.v; \ } while (0) /* opaque structures */ @@ -97,63 +101,61 @@ typedef void *dns_dlzdb_t; */ typedef struct isc_sockaddr { union { - struct sockaddr sa; - struct sockaddr_in sin; - struct sockaddr_in6 sin6; + struct sockaddr sa; + struct sockaddr_in sin; + struct sockaddr_in6 sin6; #ifdef ISC_PLATFORM_HAVESYSUNH - struct sockaddr_un sunix; + struct sockaddr_un sunix; #endif - } type; - unsigned int length; - void * link; + } type; + unsigned int length; + void * link; } isc_sockaddr_t; #define DNS_CLIENTINFO_VERSION 2 typedef struct dns_clientinfo { uint16_t version; - void *data; - void *dbversion; + void * data; + void * dbversion; } dns_clientinfo_t; typedef isc_result_t (*dns_clientinfo_sourceip_t)(dns_clientinfo_t *client, - isc_sockaddr_t **addrp); + isc_sockaddr_t ** addrp); typedef isc_result_t (*dns_clientinfo_version_t)(dns_clientinfo_t *client, - void **addrp); + void ** addrp); #define DNS_CLIENTINFOMETHODS_VERSION 2 #define DNS_CLIENTINFOMETHODS_AGE 1 typedef struct dns_clientinfomethods { - uint16_t version; - uint16_t age; + uint16_t version; + uint16_t age; dns_clientinfo_sourceip_t sourceip; - dns_clientinfo_version_t dbversion; + dns_clientinfo_version_t dbversion; } dns_clientinfomethods_t; #endif /* DLZ_DLOPEN_VERSION > 1 */ /* * Method definitions for callbacks provided by the dlopen driver */ -typedef void log_t(int level, const char *fmt, ...); +typedef void +log_t(int level, const char *fmt, ...); -typedef isc_result_t dns_sdlz_putrr_t(dns_sdlzlookup_t *lookup, - const char *type, - dns_ttl_t ttl, - const char *data); +typedef isc_result_t +dns_sdlz_putrr_t(dns_sdlzlookup_t *lookup, const char *type, dns_ttl_t ttl, + const char *data); -typedef isc_result_t dns_sdlz_putnamedrr_t(dns_sdlzallnodes_t *allnodes, - const char *name, - const char *type, - dns_ttl_t ttl, - const char *data); +typedef isc_result_t +dns_sdlz_putnamedrr_t(dns_sdlzallnodes_t *allnodes, const char *name, + const char *type, dns_ttl_t ttl, const char *data); #if DLZ_DLOPEN_VERSION < 3 -typedef isc_result_t dns_dlz_writeablezone_t(dns_view_t *view, - const char *zone_name); -#else /* DLZ_DLOPEN_VERSION >= 3 */ -typedef isc_result_t dns_dlz_writeablezone_t(dns_view_t *view, - dns_dlzdb_t *dlzdb, - const char *zone_name); +typedef isc_result_t +dns_dlz_writeablezone_t(dns_view_t *view, const char *zone_name); +#else /* DLZ_DLOPEN_VERSION >= 3 */ +typedef isc_result_t +dns_dlz_writeablezone_t(dns_view_t *view, dns_dlzdb_t *dlzdb, + const char *zone_name); #endif /* DLZ_DLOPEN_VERSION */ /* @@ -174,8 +176,8 @@ dlz_version(unsigned int *flags); * dlz_create() is required for all DLZ external drivers. */ isc_result_t -dlz_create(const char *dlzname, unsigned int argc, char *argv[], - void **dbdata, ...); +dlz_create(const char *dlzname, unsigned int argc, char *argv[], void **dbdata, + ...); /* * dlz_destroy() is optional, and will be called when the driver is @@ -190,10 +192,9 @@ dlz_destroy(void *dbdata); #if DLZ_DLOPEN_VERSION < 3 isc_result_t dlz_findzonedb(void *dbdata, const char *name); -#else /* DLZ_DLOPEN_VERSION >= 3 */ +#else /* DLZ_DLOPEN_VERSION >= 3 */ isc_result_t -dlz_findzonedb(void *dbdata, const char *name, - dns_clientinfomethods_t *methods, +dlz_findzonedb(void *dbdata, const char *name, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo); #endif /* DLZ_DLOPEN_VERSION */ @@ -204,11 +205,10 @@ dlz_findzonedb(void *dbdata, const char *name, isc_result_t dlz_lookup(const char *zone, const char *name, void *dbdata, dns_sdlzlookup_t *lookup); -#else /* DLZ_DLOPEN_VERSION > 1 */ +#else /* DLZ_DLOPEN_VERSION > 1 */ isc_result_t dlz_lookup(const char *zone, const char *name, void *dbdata, - dns_sdlzlookup_t *lookup, - dns_clientinfomethods_t *methods, + dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo); #endif /* DLZ_DLOPEN_VERSION */ @@ -240,13 +240,12 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes); isc_result_t dlz_newversion(const char *zone, void *dbdata, void **versionp); -/* +/* * dlz_closeversion() is optional, but must be supplied if you supply a * dlz_newversion() function */ void -dlz_closeversion(const char *zone, bool commit, void *dbdata, - void **versionp); +dlz_closeversion(const char *zone, bool commit, void *dbdata, void **versionp); /* * dlz_configure() is optional, but must be supplied if you want to support @@ -255,7 +254,7 @@ dlz_closeversion(const char *zone, bool commit, void *dbdata, #if DLZ_DLOPEN_VERSION < 3 isc_result_t dlz_configure(dns_view_t *view, void *dbdata); -#else /* DLZ_DLOPEN_VERSION >= 3 */ +#else /* DLZ_DLOPEN_VERSION >= 3 */ isc_result_t dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb, void *dbdata); #endif /* DLZ_DLOPEN_VERSION */ diff --git a/contrib/dlz/modules/ldap/dlz_ldap_dynamic.c b/contrib/dlz/modules/ldap/dlz_ldap_dynamic.c index 0915d04a99..6e58dd6f38 100644 --- a/contrib/dlz/modules/ldap/dlz_ldap_dynamic.c +++ b/contrib/dlz/modules/ldap/dlz_ldap_dynamic.c @@ -34,7 +34,8 @@ */ /* - * Copyright (C) 1999-2001, 2013, 2016 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 1999-2001, 2013, 2016 Internet Systems Consortium, Inc. + * ("ISC") * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -46,15 +47,15 @@ * update support */ +#include #include #include -#include -#include #include +#include -#include -#include #include +#include +#include #include /* @@ -84,20 +85,20 @@ */ typedef struct { #if PTHREADS - db_list_t *db; /*%< handle to a list of DB */ + db_list_t *db; /*%< handle to a list of DB */ #else dbinstance_t *db; /*%< handle to db */ #endif - int method; /*%< security authentication method */ + int method; /*%< security authentication method */ char *user; /*%< who is authenticating */ char *cred; /*%< password for simple authentication method */ - int protocol; /*%< LDAP communication protocol version */ + int protocol; /*%< LDAP communication protocol version */ char *hosts; /*%< LDAP server hosts */ /* Helper functions from the dlz_dlopen driver */ - log_t *log; - dns_sdlz_putrr_t *putrr; - dns_sdlz_putnamedrr_t *putnamedrr; + log_t * log; + dns_sdlz_putrr_t * putrr; + dns_sdlz_putnamedrr_t * putnamedrr; dns_dlz_writeablezone_t *writeable_zone; } ldap_instance_t; @@ -108,9 +109,8 @@ isc_result_t dlz_findzonedb(void *dbdata, const char *name); #else isc_result_t -dlz_findzonedb(void *dbdata, const char *name, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo); +dlz_findzonedb(void *dbdata, const char *name, dns_clientinfomethods_t *methods, + dns_clientinfo_t *clientinfo); #endif void @@ -125,14 +125,14 @@ b9_add_helper(ldap_instance_t *db, const char *helper_name, void *ptr); /*% checks that the LDAP URL parameters make sense */ static isc_result_t -ldap_checkURL(ldap_instance_t *db, char *URL, int attrCnt, const char *msg) { +ldap_checkURL(ldap_instance_t *db, char *URL, int attrCnt, const char *msg) +{ isc_result_t result = ISC_R_SUCCESS; - int ldap_result; + int ldap_result; LDAPURLDesc *ldap_url = NULL; if (!ldap_is_ldap_url(URL)) { - db->log(ISC_LOG_ERROR, - "%s query is not a valid LDAP URL", msg); + db->log(ISC_LOG_ERROR, "%s query is not a valid LDAP URL", msg); result = ISC_R_FAILURE; goto cleanup; } @@ -147,28 +147,27 @@ ldap_checkURL(ldap_instance_t *db, char *URL, int attrCnt, const char *msg) { if (ldap_count_values(ldap_url->lud_attrs) < attrCnt) { db->log(ISC_LOG_ERROR, "%s query must specify at least " - "%d attributes to return", msg, attrCnt); + "%d attributes to return", + msg, attrCnt); result = ISC_R_FAILURE; goto cleanup; } if (ldap_url->lud_host != NULL) { - db->log(ISC_LOG_ERROR, - "%s query must not specify a host", msg); + db->log(ISC_LOG_ERROR, "%s query must not specify a host", msg); result = ISC_R_FAILURE; goto cleanup; } if (ldap_url->lud_port != 389) { - db->log(ISC_LOG_ERROR, - "%s query must not specify a port", msg); + db->log(ISC_LOG_ERROR, "%s query must not specify a port", msg); result = ISC_R_FAILURE; goto cleanup; } - if (ldap_url->lud_dn == NULL || strlen (ldap_url->lud_dn) < 1) { - db->log(ISC_LOG_ERROR, - "%s query must specify a search base", msg); + if (ldap_url->lud_dn == NULL || strlen(ldap_url->lud_dn) < 1) { + db->log(ISC_LOG_ERROR, "%s query must specify a search base", + msg); result = ISC_R_FAILURE; goto cleanup; } @@ -176,12 +175,13 @@ ldap_checkURL(ldap_instance_t *db, char *URL, int attrCnt, const char *msg) { if (ldap_url->lud_exts != NULL || ldap_url->lud_crit_exts != 0) { db->log(ISC_LOG_ERROR, "%s uses extensions. " - "The driver does not support LDAP extensions.", msg); + "The driver does not support LDAP extensions.", + msg); result = ISC_R_FAILURE; goto cleanup; } - cleanup: +cleanup: if (ldap_url != NULL) ldap_free_urldesc(ldap_url); @@ -190,13 +190,14 @@ ldap_checkURL(ldap_instance_t *db, char *URL, int attrCnt, const char *msg) { /*% Connects / reconnects to LDAP server */ static isc_result_t -ldap_connect(ldap_instance_t *dbi, dbinstance_t *dbc) { +ldap_connect(ldap_instance_t *dbi, dbinstance_t *dbc) +{ isc_result_t result; - int ldap_result; + int ldap_result; /* if we have a connection, get ride of it. */ if (dbc->dbconn != NULL) { - ldap_unbind_s((LDAP *) dbc->dbconn); + ldap_unbind_s((LDAP *)dbc->dbconn); dbc->dbconn = NULL; } @@ -208,7 +209,7 @@ ldap_connect(ldap_instance_t *dbi, dbinstance_t *dbc) { return (ISC_R_NOMEMORY); /* set protocol version. */ - ldap_result = ldap_set_option((LDAP *) dbc->dbconn, + ldap_result = ldap_set_option((LDAP *)dbc->dbconn, LDAP_OPT_PROTOCOL_VERSION, &(dbi->protocol)); if (ldap_result != LDAP_SUCCESS) { @@ -217,8 +218,8 @@ ldap_connect(ldap_instance_t *dbi, dbinstance_t *dbc) { } /* "bind" to server. i.e. send username / pass */ - ldap_result = ldap_bind_s((LDAP *) dbc->dbconn, dbi->user, - dbi->cred, dbi->method); + ldap_result = ldap_bind_s((LDAP *)dbc->dbconn, dbi->user, dbi->cred, + dbi->method); if (ldap_result != LDAP_SUCCESS) { result = ISC_R_FAILURE; goto cleanup; @@ -226,11 +227,11 @@ ldap_connect(ldap_instance_t *dbi, dbinstance_t *dbc) { return (ISC_R_SUCCESS); - cleanup: +cleanup: /* cleanup if failure. */ if (dbc->dbconn != NULL) { - ldap_unbind_s((LDAP *) dbc->dbconn); + ldap_unbind_s((LDAP *)dbc->dbconn); dbc->dbconn = NULL; } @@ -244,7 +245,8 @@ ldap_connect(ldap_instance_t *dbi, dbinstance_t *dbc) { * multithreaded operation. */ static void -ldap_destroy_dblist(db_list_t *dblist) { +ldap_destroy_dblist(db_list_t *dblist) +{ dbinstance_t *ndbi = NULL; dbinstance_t *dbi = NULL; @@ -258,7 +260,7 @@ ldap_destroy_dblist(db_list_t *dblist) { ndbi = DLZ_LIST_NEXT(dbi, link); /* release DB connection */ if (dbi->dbconn != NULL) - ldap_unbind_s((LDAP *) dbi->dbconn); + ldap_unbind_s((LDAP *)dbi->dbconn); /* release all memory that comprised a DBI */ destroy_dbinstance(dbi); } @@ -277,10 +279,11 @@ ldap_destroy_dblist(db_list_t *dblist) { * multithreaded operation. */ static dbinstance_t * -ldap_find_avail_conn(ldap_instance_t *ldap) { +ldap_find_avail_conn(ldap_instance_t *ldap) +{ dbinstance_t *dbi = NULL; dbinstance_t *head; - int count = 0; + int count = 0; /* get top of list */ head = dbi = DLZ_LIST_HEAD(*ldap->db); @@ -302,8 +305,9 @@ ldap_find_avail_conn(ldap_instance_t *ldap) { } ldap->log(ISC_LOG_INFO, - "LDAP driver unable to find available connection " - "after searching %d times", count); + "LDAP driver unable to find available connection " + "after searching %d times", + count); return (NULL); } #endif /* PTHREADS */ @@ -313,17 +317,17 @@ ldap_process_results(ldap_instance_t *db, LDAP *dbc, LDAPMessage *msg, char **attrs, void *ptr, bool allnodes) { isc_result_t result = ISC_R_SUCCESS; - int i = 0; - int j; - int len; - char *attribute = NULL; + int i = 0; + int j; + int len; + char * attribute = NULL; LDAPMessage *entry; - char *endp = NULL; - char *host = NULL; - char *type = NULL; - char *data = NULL; - char **vals = NULL; - int ttl; + char * endp = NULL; + char * host = NULL; + char * type = NULL; + char * data = NULL; + char ** vals = NULL; + int ttl; /* get the first entry to process */ entry = ldap_first_entry(dbc, msg); @@ -359,9 +363,9 @@ ldap_process_results(ldap_instance_t *db, LDAP *dbc, LDAPMessage *msg, /* allocate memory for data string */ data = malloc(len + 1); if (data == NULL) { - db->log(ISC_LOG_ERROR, - "LDAP driver unable to allocate memory " - "while processing results"); + db->log(ISC_LOG_ERROR, "LDAP driver unable to allocate " + "memory " + "while processing results"); result = ISC_R_FAILURE; goto cleanup; } @@ -402,9 +406,10 @@ ldap_process_results(ldap_instance_t *db, LDAP *dbc, LDAPMessage *msg, */ ttl = strtol(vals[0], &endp, 10); if (*endp != '\0' || ttl < 0) { - db->log(ISC_LOG_ERROR, - "LDAP driver ttl must " - "be a postive number"); + db->log(ISC_LOG_ERROR, "LDAP driver " + "ttl must " + "be a postive " + "number"); goto cleanup; } break; @@ -443,34 +448,34 @@ ldap_process_results(ldap_instance_t *db, LDAP *dbc, LDAPMessage *msg, } if (type == NULL) { - db->log(ISC_LOG_ERROR, - "LDAP driver unable to retrieve DNS type"); + db->log(ISC_LOG_ERROR, "LDAP driver unable to retrieve " + "DNS type"); result = ISC_R_FAILURE; goto cleanup; } if (strlen(data) < 1) { - db->log(ISC_LOG_ERROR, - "LDAP driver unable to retrieve DNS data"); + db->log(ISC_LOG_ERROR, "LDAP driver unable to retrieve " + "DNS data"); result = ISC_R_FAILURE; goto cleanup; } if (allnodes && host != NULL) { - dns_sdlzallnodes_t *an = (dns_sdlzallnodes_t *) ptr; + dns_sdlzallnodes_t *an = (dns_sdlzallnodes_t *)ptr; if (strcasecmp(host, "~") == 0) - result = db->putnamedrr(an, "*", type, - ttl, data); + result = db->putnamedrr(an, "*", type, ttl, + data); else - result = db->putnamedrr(an, host, type, - ttl, data); + result = db->putnamedrr(an, host, type, ttl, + data); if (result != ISC_R_SUCCESS) db->log(ISC_LOG_ERROR, "ldap_dynamic: putnamedrr failed " "for \"%s %s %u %s\" (%d)", host, type, ttl, data, result); } else { - dns_sdlzlookup_t *lookup = (dns_sdlzlookup_t *) ptr; + dns_sdlzlookup_t *lookup = (dns_sdlzlookup_t *)ptr; result = db->putrr(lookup, type, ttl, data); if (result != ISC_R_SUCCESS) db->log(ISC_LOG_ERROR, @@ -480,9 +485,8 @@ ldap_process_results(ldap_instance_t *db, LDAP *dbc, LDAPMessage *msg, } if (result != ISC_R_SUCCESS) { - db->log(ISC_LOG_ERROR, - "LDAP driver failed " - "while sending data to BIND."); + db->log(ISC_LOG_ERROR, "LDAP driver failed " + "while sending data to BIND."); goto cleanup; } @@ -502,7 +506,7 @@ ldap_process_results(ldap_instance_t *db, LDAP *dbc, LDAPMessage *msg, entry = ldap_next_entry(dbc, entry); } - cleanup: +cleanup: /* de-allocate memory */ if (vals != NULL) ldap_value_free(vals); @@ -529,25 +533,24 @@ ldap_process_results(ldap_instance_t *db, LDAP *dbc, LDAPMessage *msg, * obtain a result set. */ static isc_result_t -ldap_get_results(const char *zone, const char *record, - const char *client, unsigned int query, - void *dbdata, void *ptr) +ldap_get_results(const char *zone, const char *record, const char *client, + unsigned int query, void *dbdata, void *ptr) { - isc_result_t result; + isc_result_t result; ldap_instance_t *db = (ldap_instance_t *)dbdata; - dbinstance_t *dbi = NULL; - char *querystring = NULL; - LDAPURLDesc *ldap_url = NULL; - int ldap_result = 0; - LDAPMessage *ldap_msg = NULL; - int i; - int entries; + dbinstance_t * dbi = NULL; + char * querystring = NULL; + LDAPURLDesc * ldap_url = NULL; + int ldap_result = 0; + LDAPMessage * ldap_msg = NULL; + int i; + int entries; /* get db instance / connection */ #if PTHREADS /* find an available DBI from the list */ dbi = ldap_find_avail_conn(db); -#else /* PTHREADS */ +#else /* PTHREADS */ /* * only 1 DBI - no need to lock instance lock either * only 1 thread in the whole process, no possible contention. @@ -587,7 +590,6 @@ ldap_get_results(const char *zone, const char *record, } else dbi->client = NULL; - /* what type of query are we going to run? */ switch (query) { case ALLNODES: @@ -622,9 +624,9 @@ ldap_get_results(const char *zone, const char *record, case FINDZONE: /* this is required. It's the whole point of DLZ! */ if (dbi->findzone_q == NULL) { - db->log(ISC_LOG_DEBUG(2), - "No query specified for findzone. " - "Findzone requires a query"); + db->log(ISC_LOG_DEBUG(2), "No query specified for " + "findzone. " + "Findzone requires a query"); result = ISC_R_FAILURE; goto cleanup; } else @@ -633,9 +635,9 @@ ldap_get_results(const char *zone, const char *record, case LOOKUP: /* this is required. It's also a major point of DLZ! */ if (dbi->lookup_q == NULL) { - db->log(ISC_LOG_DEBUG(2), - "No query specified for lookup. " - "Lookup requires a query"); + db->log(ISC_LOG_DEBUG(2), "No query specified for " + "lookup. " + "Lookup requires a query"); result = ISC_R_FAILURE; goto cleanup; } else @@ -646,14 +648,14 @@ ldap_get_results(const char *zone, const char *record, * this should never happen. If it does, the code is * screwed up! */ - db->log(ISC_LOG_ERROR, - "Incorrect query flag passed to ldap_get_results"); + db->log(ISC_LOG_ERROR, "Incorrect query flag passed to " + "ldap_get_results"); result = ISC_R_UNEXPECTED; goto cleanup; } /* if the querystring is null, Bummer, outta RAM. UPGRADE TIME!!! */ - if (querystring == NULL) { + if (querystring == NULL) { result = ISC_R_NOMEMORY; goto cleanup; } @@ -677,10 +679,10 @@ ldap_get_results(const char *zone, const char *record, * previous query failed. */ if (dbi->dbconn == NULL) { - db->log(ISC_LOG_INFO, - "LDAP driver attempting to re-connect"); + db->log(ISC_LOG_INFO, "LDAP driver attempting to " + "re-connect"); - result = ldap_connect((ldap_instance_t *) dbdata, dbi); + result = ldap_connect((ldap_instance_t *)dbdata, dbi); if (result != ISC_R_SUCCESS) { result = ISC_R_FAILURE; continue; @@ -688,11 +690,10 @@ ldap_get_results(const char *zone, const char *record, } /* perform ldap search syncronously */ - ldap_result = ldap_search_s((LDAP *) dbi->dbconn, - ldap_url->lud_dn, - ldap_url->lud_scope, - ldap_url->lud_filter, - ldap_url->lud_attrs, 0, &ldap_msg); + ldap_result = + ldap_search_s((LDAP *)dbi->dbconn, ldap_url->lud_dn, + ldap_url->lud_scope, ldap_url->lud_filter, + ldap_url->lud_attrs, 0, &ldap_msg); /* * check return code. No such object is ok, just @@ -700,19 +701,19 @@ ldap_get_results(const char *zone, const char *record, */ switch (ldap_result) { case LDAP_NO_SUCH_OBJECT: - db->log(ISC_LOG_DEBUG(1), - "No object found matching query requirements"); + db->log(ISC_LOG_DEBUG(1), "No object found matching " + "query requirements"); result = ISC_R_NOTFOUND; goto cleanup; break; - case LDAP_SUCCESS: /* on success do nothing */ + case LDAP_SUCCESS: /* on success do nothing */ result = ISC_R_SUCCESS; i = 3; break; case LDAP_SERVER_DOWN: - db->log(ISC_LOG_INFO, - "LDAP driver attempting to re-connect"); - result = ldap_connect((ldap_instance_t *) dbdata, dbi); + db->log(ISC_LOG_INFO, "LDAP driver attempting to " + "re-connect"); + result = ldap_connect((ldap_instance_t *)dbdata, dbi); if (result != ISC_R_SUCCESS) result = ISC_R_FAILURE; break; @@ -721,7 +722,7 @@ ldap_get_results(const char *zone, const char *record, * other errors not ok. Log error message and * get out */ - db->log(ISC_LOG_ERROR, "LDAP error: %s", + db->log(ISC_LOG_ERROR, "LDAP error: %s", ldap_err2string(ldap_result)); result = ISC_R_FAILURE; goto cleanup; @@ -734,18 +735,16 @@ ldap_get_results(const char *zone, const char *record, switch (query) { case ALLNODES: - result = ldap_process_results(db, (LDAP *) dbi->dbconn, - ldap_msg, ldap_url->lud_attrs, - ptr, true); + result = ldap_process_results(db, (LDAP *)dbi->dbconn, ldap_msg, + ldap_url->lud_attrs, ptr, true); break; case AUTHORITY: case LOOKUP: - result = ldap_process_results(db, (LDAP *) dbi->dbconn, - ldap_msg, ldap_url->lud_attrs, - ptr, false); + result = ldap_process_results(db, (LDAP *)dbi->dbconn, ldap_msg, + ldap_url->lud_attrs, ptr, false); break; case ALLOWXFR: - entries = ldap_count_entries((LDAP *) dbi->dbconn, ldap_msg); + entries = ldap_count_entries((LDAP *)dbi->dbconn, ldap_msg); if (entries == 0) result = ISC_R_NOPERM; else if (entries > 0) @@ -754,7 +753,7 @@ ldap_get_results(const char *zone, const char *record, result = ISC_R_FAILURE; break; case FINDZONE: - entries = ldap_count_entries((LDAP *) dbi->dbconn, ldap_msg); + entries = ldap_count_entries((LDAP *)dbi->dbconn, ldap_msg); if (entries == 0) result = ISC_R_NOTFOUND; else if (entries > 0) @@ -767,12 +766,12 @@ ldap_get_results(const char *zone, const char *record, * this should never happen. If it does, the code is * screwed up! */ - db->log(ISC_LOG_ERROR, - "Incorrect query flag passed to ldap_get_results"); + db->log(ISC_LOG_ERROR, "Incorrect query flag passed to " + "ldap_get_results"); result = ISC_R_UNEXPECTED; } - cleanup: +cleanup: /* it's always good to cleanup after yourself */ /* if we retrieved results, free them */ @@ -792,7 +791,7 @@ ldap_get_results(const char *zone, const char *record, dbi->zone = dbi->record = dbi->client = NULL; /* release the lock so another thread can use this dbi */ - (void) dlz_mutex_unlock(&dbi->lock); + (void)dlz_mutex_unlock(&dbi->lock); /* release query string */ if (querystring != NULL) @@ -806,7 +805,8 @@ ldap_get_results(const char *zone, const char *record, * DLZ methods */ isc_result_t -dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { +dlz_allowzonexfr(void *dbdata, const char *name, const char *client) +{ isc_result_t result; /* check to see if we are authoritative for the zone first */ @@ -831,7 +831,8 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) } isc_result_t -dlz_authority(const char *zone, void *dbdata, dns_sdlzlookup_t *lookup) { +dlz_authority(const char *zone, void *dbdata, dns_sdlzlookup_t *lookup) +{ return (ldap_get_results(zone, NULL, NULL, AUTHORITY, dbdata, lookup)); } @@ -840,8 +841,7 @@ isc_result_t dlz_findzonedb(void *dbdata, const char *name) #else isc_result_t -dlz_findzonedb(void *dbdata, const char *name, - dns_clientinfomethods_t *methods, +dlz_findzonedb(void *dbdata, const char *name, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) #endif { @@ -853,13 +853,14 @@ dlz_findzonedb(void *dbdata, const char *name, } #if DLZ_DLOPEN_VERSION == 1 -isc_result_t dlz_lookup(const char *zone, const char *name, - void *dbdata, dns_sdlzlookup_t *lookup) +isc_result_t +dlz_lookup(const char *zone, const char *name, void *dbdata, + dns_sdlzlookup_t *lookup) #else -isc_result_t dlz_lookup(const char *zone, const char *name, - void *dbdata, dns_sdlzlookup_t *lookup, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo) +isc_result_t +dlz_lookup(const char *zone, const char *name, void *dbdata, + dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, + dns_clientinfo_t *clientinfo) #endif { isc_result_t result; @@ -870,29 +871,28 @@ isc_result_t dlz_lookup(const char *zone, const char *name, #endif if (strcmp(name, "*") == 0) - result = ldap_get_results(zone, "~", NULL, LOOKUP, - dbdata, lookup); + result = ldap_get_results(zone, "~", NULL, LOOKUP, dbdata, + lookup); else - result = ldap_get_results(zone, name, NULL, LOOKUP, - dbdata, lookup); + result = ldap_get_results(zone, name, NULL, LOOKUP, dbdata, + lookup); return (result); } - isc_result_t -dlz_create(const char *dlzname, unsigned int argc, char *argv[], - void **dbdata, ...) +dlz_create(const char *dlzname, unsigned int argc, char *argv[], void **dbdata, + ...) { - isc_result_t result = ISC_R_FAILURE; + isc_result_t result = ISC_R_FAILURE; ldap_instance_t *ldap = NULL; - dbinstance_t *dbi = NULL; - const char *helper_name; - int protocol; - int method; + dbinstance_t * dbi = NULL; + const char * helper_name; + int protocol; + int method; #if PTHREADS - int dbcount; + int dbcount; char *endp; - int i; + int i; #endif /* PTHREADS */ va_list ap; @@ -906,30 +906,28 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], /* Fill in the helper functions */ va_start(ap, dbdata); - while ((helper_name = va_arg(ap, const char*)) != NULL) - b9_add_helper(ldap, helper_name, va_arg(ap, void*)); + while ((helper_name = va_arg(ap, const char *)) != NULL) + b9_add_helper(ldap, helper_name, va_arg(ap, void *)); va_end(ap); #if PTHREADS /* if debugging, let user know we are multithreaded. */ ldap->log(ISC_LOG_DEBUG(1), "LDAP driver running multithreaded"); -#else /* PTHREADS */ +#else /* PTHREADS */ /* if debugging, let user know we are single threaded. */ ldap->log(ISC_LOG_DEBUG(1), "LDAP driver running single threaded"); #endif /* PTHREADS */ if (argc < 9) { - ldap->log(ISC_LOG_ERROR, - "LDAP driver requires at least " - "8 command line args."); + ldap->log(ISC_LOG_ERROR, "LDAP driver requires at least " + "8 command line args."); goto cleanup; } /* no more than 13 arg's should be passed to the driver */ if (argc > 12) { - ldap->log(ISC_LOG_ERROR, - "LDAP driver cannot accept more than " - "11 command line args."); + ldap->log(ISC_LOG_ERROR, "LDAP driver cannot accept more than " + "11 command line args."); goto cleanup; } @@ -940,8 +938,8 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], protocol = 3; else { ldap->log(ISC_LOG_ERROR, - "LDAP driver protocol must be either %s or %s", - V2, V3); + "LDAP driver protocol must be either %s or %s", V2, + V3); goto cleanup; } @@ -955,7 +953,8 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], else { ldap->log(ISC_LOG_ERROR, "LDAP driver authentication method must be " - "one of %s, %s or %s", SIMPLE, KRB41, KRB42); + "one of %s, %s or %s", + SIMPLE, KRB41, KRB42); goto cleanup; } @@ -964,9 +963,9 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], /* check how many db connections we should create */ dbcount = strtol(argv[1], &endp, 10); if (*endp != '\0' || dbcount < 0) { - ldap->log(ISC_LOG_ERROR, - "LDAP driver database connection count " - "must be positive."); + ldap->log(ISC_LOG_ERROR, "LDAP driver database connection " + "count " + "must be positive."); goto cleanup; } #endif @@ -974,8 +973,8 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], /* check that LDAP URL parameters make sense */ switch (argc) { case 12: - result = ldap_checkURL(ldap, argv[11], 0, - "allow zone transfer"); + result = + ldap_checkURL(ldap, argv[11], 0, "allow zone transfer"); if (result != ISC_R_SUCCESS) goto cleanup; case 11: @@ -1045,19 +1044,18 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], ldap->log); break; case 10: - result = build_dbinstance(NULL, NULL, argv[9], - argv[7], argv[8], - NULL, &dbi, ldap->log); + result = build_dbinstance(NULL, NULL, argv[9], argv[7], + argv[8], NULL, &dbi, + ldap->log); break; case 11: result = build_dbinstance(argv[10], NULL, argv[9], - argv[7], argv[8], - NULL, &dbi, ldap->log); + argv[7], argv[8], NULL, &dbi, + ldap->log); break; case 12: - result = build_dbinstance(argv[10], argv[11], - argv[9], argv[7], - argv[8], NULL, &dbi, + result = build_dbinstance(argv[10], argv[11], argv[9], + argv[7], argv[8], NULL, &dbi, ldap->log); break; default: @@ -1066,13 +1064,12 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], } if (result == ISC_R_SUCCESS) { - ldap->log(ISC_LOG_DEBUG(2), - "LDAP driver created " - "database instance object."); + ldap->log(ISC_LOG_DEBUG(2), "LDAP driver created " + "database instance " + "object."); } else { /* unsuccessful?, log err msg and cleanup. */ - ldap->log(ISC_LOG_ERROR, - "LDAP driver could not create " - "database instance object."); + ldap->log(ISC_LOG_ERROR, "LDAP driver could not create " + "database instance object."); goto cleanup; } @@ -1081,11 +1078,11 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], DLZ_LINK_INIT(dbi, link); DLZ_LIST_APPEND(*(ldap->db), dbi, link); #else - /* - * when single threaded, hold onto the one connection - * instance. - */ - ldap->db = dbi; + /* + * when single threaded, hold onto the one connection + * instance. + */ + ldap->db = dbi; #endif /* attempt to connect */ result = ldap_connect(ldap, dbi); @@ -1106,11 +1103,12 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], #if PTHREADS ldap->log(ISC_LOG_ERROR, "LDAP driver could not allocate memory " - "for connection number %u", i + 1); + "for connection number %u", + i + 1); #else - ldap->log(ISC_LOG_ERROR, - "LDAP driver could not allocate memory " - "for connection"); + ldap->log(ISC_LOG_ERROR, "LDAP driver could not allocate " + "memory " + "for connection"); #endif goto cleanup; /* @@ -1118,9 +1116,8 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], * protocol version */ case ISC_R_NOPERM: - ldap->log(ISC_LOG_ERROR, - "LDAP driver could not " - "set protocol version."); + ldap->log(ISC_LOG_ERROR, "LDAP driver could not " + "set protocol version."); result = ISC_R_FAILURE; goto cleanup; /* failure means couldn't connect to ldap server */ @@ -1128,11 +1125,11 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], #if PTHREADS ldap->log(ISC_LOG_ERROR, "LDAP driver could not bind " - "connection number %u to server.", i + 1); + "connection number %u to server.", + i + 1); #else - ldap->log(ISC_LOG_ERROR, - "LDAP driver could not " - "bind connection to server."); + ldap->log(ISC_LOG_ERROR, "LDAP driver could not " + "bind connection to server."); #endif goto cleanup; /* @@ -1140,8 +1137,8 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], * major errors. */ default: - ldap->log(ISC_LOG_ERROR, - "dlz_create() failed (%d)", result); + ldap->log(ISC_LOG_ERROR, "dlz_create() failed (%d)", + result); result = ISC_R_UNEXPECTED; goto cleanup; } @@ -1157,21 +1154,22 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], return (ISC_R_SUCCESS); - cleanup: +cleanup: dlz_destroy(ldap); return (result); } void -dlz_destroy(void *dbdata) { +dlz_destroy(void *dbdata) +{ if (dbdata != NULL) { ldap_instance_t *db = (ldap_instance_t *)dbdata; #if PTHREADS /* cleanup the list of DBI's */ if (db->db != NULL) ldap_destroy_dblist((db_list_t *)(db->db)); -#else /* PTHREADS */ +#else /* PTHREADS */ if (db->db->dbconn != NULL) ldap_unbind_s((LDAP *)(db->db->dbconn)); @@ -1193,7 +1191,8 @@ dlz_destroy(void *dbdata) { * Return the version of the API */ int -dlz_version(unsigned int *flags) { +dlz_version(unsigned int *flags) +{ *flags |= DNS_SDLZFLAG_RELATIVERDATA; #if PTHREADS *flags |= DNS_SDLZFLAG_THREADSAFE; @@ -1207,7 +1206,8 @@ dlz_version(unsigned int *flags) { * Register a helper function from the bind9 dlz_dlopen driver */ static void -b9_add_helper(ldap_instance_t *db, const char *helper_name, void *ptr) { +b9_add_helper(ldap_instance_t *db, const char *helper_name, void *ptr) +{ if (strcmp(helper_name, "log") == 0) db->log = (log_t *)ptr; if (strcmp(helper_name, "putrr") == 0) diff --git a/contrib/dlz/modules/mysql/dlz_mysql_dynamic.c b/contrib/dlz/modules/mysql/dlz_mysql_dynamic.c index 84ab45f6e0..e975038492 100644 --- a/contrib/dlz/modules/mysql/dlz_mysql_dynamic.c +++ b/contrib/dlz/modules/mysql/dlz_mysql_dynamic.c @@ -34,7 +34,8 @@ */ /* - * Copyright (C) 1999-2001, 2013, 2016 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 1999-2001, 2013, 2016 Internet Systems Consortium, Inc. + * ("ISC") * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -46,16 +47,15 @@ * update support */ -#include -#include #include +#include #include +#include -#include -#include #include +#include +#include #include - #include #define dbc_search_limit 30 @@ -75,31 +75,30 @@ */ typedef struct { #if PTHREADS - db_list_t *db; /*%< handle to a list of DB */ - int dbcount; + db_list_t *db; /*%< handle to a list of DB */ + int dbcount; #else dbinstance_t *db; /*%< handle to DB */ #endif unsigned int flags; - char *dbname; - char *host; - char *user; - char *pass; - char *socket; - int port; + char * dbname; + char * host; + char * user; + char * pass; + char * socket; + int port; /* Helper functions from the dlz_dlopen driver */ - log_t *log; - dns_sdlz_putrr_t *putrr; - dns_sdlz_putnamedrr_t *putnamedrr; + log_t * log; + dns_sdlz_putrr_t * putrr; + dns_sdlz_putnamedrr_t * putnamedrr; dns_dlz_writeablezone_t *writeable_zone; } mysql_instance_t; /* forward references */ isc_result_t -dlz_findzonedb(void *dbdata, const char *name, - dns_clientinfomethods_t *methods, +dlz_findzonedb(void *dbdata, const char *name, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo); void @@ -113,10 +112,11 @@ b9_add_helper(mysql_instance_t *db, const char *helper_name, void *ptr); */ void -mysql_destroy(dbinstance_t *db) { +mysql_destroy(dbinstance_t *db) +{ /* release DB connection */ if (db->dbconn != NULL) - mysql_close((MYSQL *) db->dbconn); + mysql_close((MYSQL *)db->dbconn); /* destroy DB instance */ destroy_dbinstance(db); @@ -129,7 +129,8 @@ mysql_destroy(dbinstance_t *db) { * multithreaded operation. */ static void -mysql_destroy_dblist(db_list_t *dblist) { +mysql_destroy_dblist(db_list_t *dblist) +{ dbinstance_t *ndbi = NULL; dbinstance_t *dbi = NULL; @@ -156,9 +157,10 @@ mysql_destroy_dblist(db_list_t *dblist) { * multithreaded operation. */ static dbinstance_t * -mysql_find_avail_conn(mysql_instance_t *mysql) { +mysql_find_avail_conn(mysql_instance_t *mysql) +{ dbinstance_t *dbi = NULL, *head; - int count = 0; + int count = 0; /* get top of list */ head = dbi = DLZ_LIST_HEAD(*(mysql->db)); @@ -181,7 +183,8 @@ mysql_find_avail_conn(mysql_instance_t *mysql) { mysql->log(ISC_LOG_INFO, "MySQL module unable to find available connection " - "after searching %d times", count); + "after searching %d times", + count); return (NULL); } #endif /* PTHREADS */ @@ -194,9 +197,9 @@ mysql_find_avail_conn(mysql_instance_t *mysql) { * want special characters in the string causing problems. */ static char * -mysqldrv_escape_string(MYSQL *mysql, const char *instr) { - - char *outstr; +mysqldrv_escape_string(MYSQL *mysql, const char *instr) +{ + char * outstr; unsigned int len; if (instr == NULL) @@ -222,22 +225,21 @@ mysqldrv_escape_string(MYSQL *mysql, const char *instr) { * a result set. */ static isc_result_t -mysql_get_resultset(const char *zone, const char *record, - const char *client, unsigned int query, - void *dbdata, MYSQL_RES **rs) +mysql_get_resultset(const char *zone, const char *record, const char *client, + unsigned int query, void *dbdata, MYSQL_RES **rs) { - isc_result_t result; - dbinstance_t *dbi = NULL; + isc_result_t result; + dbinstance_t * dbi = NULL; mysql_instance_t *db = (mysql_instance_t *)dbdata; - char *querystring = NULL; - unsigned int i = 0; - unsigned int j = 0; - int qres = 0; + char * querystring = NULL; + unsigned int i = 0; + unsigned int j = 0; + int qres = 0; #if PTHREADS /* find an available DBI from the list */ dbi = mysql_find_avail_conn(db); -#else /* PTHREADS */ +#else /* PTHREADS */ /* * only 1 DBI - no need to lock instance lock either * only 1 thread in the whole process, no possible contention. @@ -250,7 +252,7 @@ mysql_get_resultset(const char *zone, const char *record, } /* what type of query are we going to run? */ - switch(query) { + switch (query) { case ALLNODES: if (dbi->allnodes_q == NULL) { result = ISC_R_NOTIMPLEMENTED; @@ -271,9 +273,9 @@ mysql_get_resultset(const char *zone, const char *record, break; case FINDZONE: if (dbi->findzone_q == NULL) { - db->log(ISC_LOG_DEBUG(2), - "No query specified for findzone. " - "Findzone requires a query"); + db->log(ISC_LOG_DEBUG(2), "No query specified for " + "findzone. " + "Findzone requires a query"); result = ISC_R_FAILURE; goto cleanup; } @@ -286,28 +288,25 @@ mysql_get_resultset(const char *zone, const char *record, break; case LOOKUP: if (dbi->lookup_q == NULL) { - db->log(ISC_LOG_DEBUG(2), - "No query specified for lookup. " - "Lookup requires a query"); + db->log(ISC_LOG_DEBUG(2), "No query specified for " + "lookup. " + "Lookup requires a query"); result = ISC_R_FAILURE; goto cleanup; } break; default: - db->log(ISC_LOG_ERROR, - "Incorrect query flag passed to " - "mysql_get_resultset"); + db->log(ISC_LOG_ERROR, "Incorrect query flag passed to " + "mysql_get_resultset"); result = ISC_R_UNEXPECTED; goto cleanup; } - if (zone != NULL) { if (dbi->zone != NULL) free(dbi->zone); - dbi->zone = mysqldrv_escape_string((MYSQL *) dbi->dbconn, - zone); + dbi->zone = mysqldrv_escape_string((MYSQL *)dbi->dbconn, zone); if (dbi->zone == NULL) { result = ISC_R_NOMEMORY; goto cleanup; @@ -319,8 +318,8 @@ mysql_get_resultset(const char *zone, const char *record, if (dbi->record != NULL) free(dbi->record); - dbi->record = mysqldrv_escape_string((MYSQL *) dbi->dbconn, - record); + dbi->record = + mysqldrv_escape_string((MYSQL *)dbi->dbconn, record); if (dbi->record == NULL) { result = ISC_R_NOMEMORY; goto cleanup; @@ -332,8 +331,8 @@ mysql_get_resultset(const char *zone, const char *record, if (dbi->client != NULL) free(dbi->client); - dbi->client = mysqldrv_escape_string((MYSQL *) dbi->dbconn, - client); + dbi->client = + mysqldrv_escape_string((MYSQL *)dbi->dbconn, client); if (dbi->client == NULL) { result = ISC_R_NOMEMORY; goto cleanup; @@ -345,7 +344,7 @@ mysql_get_resultset(const char *zone, const char *record, * what type of query are we going to run? this time we build * the actual query to run. */ - switch(query) { + switch (query) { case ALLNODES: querystring = build_querystring(dbi->allnodes_q); break; @@ -365,10 +364,10 @@ mysql_get_resultset(const char *zone, const char *record, querystring = build_querystring(dbi->lookup_q); break; default: - db->log(ISC_LOG_ERROR, - "Incorrect query flag passed to " - "mysql_get_resultset"); - result = ISC_R_UNEXPECTED; goto cleanup; + db->log(ISC_LOG_ERROR, "Incorrect query flag passed to " + "mysql_get_resultset"); + result = ISC_R_UNEXPECTED; + goto cleanup; } if (querystring == NULL) { @@ -381,25 +380,25 @@ mysql_get_resultset(const char *zone, const char *record, /* attempt query up to 3 times. */ for (i = 0; i < 3; i++) { - qres = mysql_query((MYSQL *) dbi->dbconn, querystring); + qres = mysql_query((MYSQL *)dbi->dbconn, querystring); if (qres == 0) break; for (j = 0; j < 4; j++) - if (mysql_ping((MYSQL *) dbi->dbconn) == 0) - break; + if (mysql_ping((MYSQL *)dbi->dbconn) == 0) + break; } if (qres == 0) { result = ISC_R_SUCCESS; if (query != COUNTZONE) { - *rs = mysql_store_result((MYSQL *) dbi->dbconn); + *rs = mysql_store_result((MYSQL *)dbi->dbconn); if (*rs == NULL) result = ISC_R_FAILURE; } } else result = ISC_R_FAILURE; - cleanup: +cleanup: if (dbi->zone != NULL) { free(dbi->zone); dbi->zone = NULL; @@ -414,7 +413,7 @@ mysql_get_resultset(const char *zone, const char *record, } /* release the lock so another thread can use this dbi */ - (void) dlz_mutex_unlock(&dbi->lock); + (void)dlz_mutex_unlock(&dbi->lock); if (querystring != NULL) free(querystring); @@ -428,23 +427,22 @@ mysql_get_resultset(const char *zone, const char *record, * into this function to minimize code. */ static isc_result_t -mysql_process_rs(mysql_instance_t *db, dns_sdlzlookup_t *lookup, - MYSQL_RES *rs) +mysql_process_rs(mysql_instance_t *db, dns_sdlzlookup_t *lookup, MYSQL_RES *rs) { isc_result_t result = ISC_R_NOTFOUND; - MYSQL_ROW row; + MYSQL_ROW row; unsigned int fields; unsigned int j; - char *tmpString; - char *endp; - int ttl; + char * tmpString; + char * endp; + int ttl; - fields = mysql_num_fields(rs); /* how many columns in result set */ - row = mysql_fetch_row(rs); /* get a row from the result set */ + fields = mysql_num_fields(rs); /* how many columns in result set */ + row = mysql_fetch_row(rs); /* get a row from the result set */ while (row != NULL) { unsigned int len = 0; - switch(fields) { + switch (fields) { case 1: /* * one column in rs, it's the data field. use @@ -469,14 +467,14 @@ mysql_process_rs(mysql_instance_t *db, dns_sdlzlookup_t *lookup, */ ttl = strtol(safeGet(row[0]), &endp, 10); if (*endp != '\0' || ttl < 0) { - db->log(ISC_LOG_ERROR, - "MySQL module ttl must be " - "a postive number"); + db->log(ISC_LOG_ERROR, "MySQL module ttl must " + "be " + "a postive number"); return (ISC_R_FAILURE); } result = db->putrr(lookup, safeGet(row[1]), ttl, - safeGet(row[2])); + safeGet(row[2])); break; default: /* @@ -493,9 +491,10 @@ mysql_process_rs(mysql_instance_t *db, dns_sdlzlookup_t *lookup, */ tmpString = malloc(len + 1); if (tmpString == NULL) { - db->log(ISC_LOG_ERROR, - "MySQL module unable to allocate " - "memory for temporary string"); + db->log(ISC_LOG_ERROR, "MySQL module unable to " + "allocate " + "memory for temporary " + "string"); mysql_free_result(rs); return (ISC_R_FAILURE); } @@ -508,22 +507,22 @@ mysql_process_rs(mysql_instance_t *db, dns_sdlzlookup_t *lookup, ttl = strtol(safeGet(row[0]), &endp, 10); if (*endp != '\0' || ttl < 0) { - db->log(ISC_LOG_ERROR, - "MySQL module ttl must be " - "a postive number"); + db->log(ISC_LOG_ERROR, "MySQL module ttl must " + "be " + "a postive number"); free(tmpString); return (ISC_R_FAILURE); } - result = db->putrr(lookup, safeGet(row[1]), - ttl, tmpString); + result = db->putrr(lookup, safeGet(row[1]), ttl, + tmpString); free(tmpString); } if (result != ISC_R_SUCCESS) { mysql_free_result(rs); - db->log(ISC_LOG_ERROR, - "putrr returned error: %d", result); + db->log(ISC_LOG_ERROR, "putrr returned error: %d", + result); return (ISC_R_FAILURE); } @@ -540,13 +539,12 @@ mysql_process_rs(mysql_instance_t *db, dns_sdlzlookup_t *lookup, /*% determine if the zone is supported by (in) the database */ isc_result_t -dlz_findzonedb(void *dbdata, const char *name, - dns_clientinfomethods_t *methods, +dlz_findzonedb(void *dbdata, const char *name, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) { - isc_result_t result; - MYSQL_RES *rs = NULL; - my_ulonglong rows; + isc_result_t result; + MYSQL_RES * rs = NULL; + my_ulonglong rows; mysql_instance_t *db = (mysql_instance_t *)dbdata; UNUSED(methods); @@ -557,9 +555,8 @@ dlz_findzonedb(void *dbdata, const char *name, if (rs != NULL) mysql_free_result(rs); - db->log(ISC_LOG_ERROR, - "MySQL module unable to return " - "result set for findzone query"); + db->log(ISC_LOG_ERROR, "MySQL module unable to return " + "result set for findzone query"); return (ISC_R_FAILURE); } @@ -579,11 +576,12 @@ dlz_findzonedb(void *dbdata, const char *name, /*% Determine if the client is allowed to perform a zone transfer */ isc_result_t -dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { - isc_result_t result; +dlz_allowzonexfr(void *dbdata, const char *name, const char *client) +{ + isc_result_t result; mysql_instance_t *db = (mysql_instance_t *)dbdata; - MYSQL_RES *rs = NULL; - my_ulonglong rows; + MYSQL_RES * rs = NULL; + my_ulonglong rows; /* first check if the zone is supported by the database. */ result = dlz_findzonedb(dbdata, name, NULL, NULL); @@ -596,17 +594,15 @@ dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { * transfer is allowed for this client and did the config file * have an allow zone xfr query. */ - result = mysql_get_resultset(name, NULL, client, ALLOWXFR, - dbdata, &rs); + result = mysql_get_resultset(name, NULL, client, ALLOWXFR, dbdata, &rs); if (result == ISC_R_NOTIMPLEMENTED) return (result); if (result != ISC_R_SUCCESS || rs == NULL) { if (rs != NULL) mysql_free_result(rs); - db->log(ISC_LOG_ERROR, - "MySQL module unable to return " - "result set for allow xfr query"); + db->log(ISC_LOG_ERROR, "MySQL module unable to return " + "result set for allow xfr query"); return (ISC_R_FAILURE); } @@ -628,16 +624,17 @@ dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { * query. */ isc_result_t -dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { - isc_result_t result; +dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) +{ + isc_result_t result; mysql_instance_t *db = (mysql_instance_t *)dbdata; - MYSQL_RES *rs = NULL; - MYSQL_ROW row; - unsigned int fields; - unsigned int j; - char *tmpString; - char *endp; - int ttl; + MYSQL_RES * rs = NULL; + MYSQL_ROW row; + unsigned int fields; + unsigned int j; + char * tmpString; + char * endp; + int ttl; result = mysql_get_resultset(zone, NULL, NULL, ALLNODES, dbdata, &rs); if (result == ISC_R_NOTIMPLEMENTED) @@ -645,30 +642,28 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { /* if we didn't get a result set, log an err msg. */ if (result != ISC_R_SUCCESS) { - db->log(ISC_LOG_ERROR, - "MySQL module unable to return " - "result set for all nodes query"); + db->log(ISC_LOG_ERROR, "MySQL module unable to return " + "result set for all nodes query"); goto cleanup; } result = ISC_R_NOTFOUND; - fields = mysql_num_fields(rs); /* how many columns in result set */ - row = mysql_fetch_row(rs); /* get a row from the result set */ + fields = mysql_num_fields(rs); /* how many columns in result set */ + row = mysql_fetch_row(rs); /* get a row from the result set */ while (row != NULL) { if (fields < 4) { - db->log(ISC_LOG_ERROR, - "MySQL module too few fields returned " - "by all nodes query"); + db->log(ISC_LOG_ERROR, "MySQL module too few fields " + "returned " + "by all nodes query"); result = ISC_R_FAILURE; goto cleanup; } ttl = strtol(safeGet(row[0]), &endp, 10); if (*endp != '\0' || ttl < 0) { - db->log(ISC_LOG_ERROR, - "MySQL module ttl must be " - "a postive number"); + db->log(ISC_LOG_ERROR, "MySQL module ttl must be " + "a postive number"); result = ISC_R_FAILURE; goto cleanup; } @@ -689,9 +684,10 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { tmpString = malloc(len + 1); if (tmpString == NULL) { - db->log(ISC_LOG_ERROR, - "MySQL module unable to allocate " - "memory for temporary string"); + db->log(ISC_LOG_ERROR, "MySQL module unable to " + "allocate " + "memory for temporary " + "string"); result = ISC_R_FAILURE; goto cleanup; } @@ -703,14 +699,14 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { } result = db->putnamedrr(allnodes, safeGet(row[2]), - safeGet(row[1]), - ttl, tmpString); + safeGet(row[1]), ttl, + tmpString); free(tmpString); } if (result != ISC_R_SUCCESS) { - db->log(ISC_LOG_ERROR, - "putnamedrr returned error: %s", result); + db->log(ISC_LOG_ERROR, "putnamedrr returned error: %s", + result); result = ISC_R_FAILURE; break; } @@ -718,7 +714,7 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { row = mysql_fetch_row(rs); } - cleanup: +cleanup: if (rs != NULL) mysql_free_result(rs); @@ -730,9 +726,10 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { * use this function to get that information for named. */ isc_result_t -dlz_authority(const char *zone, void *dbdata, dns_sdlzlookup_t *lookup) { - isc_result_t result; - MYSQL_RES *rs = NULL; +dlz_authority(const char *zone, void *dbdata, dns_sdlzlookup_t *lookup) +{ + isc_result_t result; + MYSQL_RES * rs = NULL; mysql_instance_t *db = (mysql_instance_t *)dbdata; result = mysql_get_resultset(zone, NULL, NULL, AUTHORITY, dbdata, &rs); @@ -742,9 +739,8 @@ dlz_authority(const char *zone, void *dbdata, dns_sdlzlookup_t *lookup) { if (result != ISC_R_SUCCESS) { if (rs != NULL) mysql_free_result(rs); - db->log(ISC_LOG_ERROR, - "MySQL module unable to return " - "result set for authority query"); + db->log(ISC_LOG_ERROR, "MySQL module unable to return " + "result set for authority query"); return (ISC_R_FAILURE); } @@ -757,13 +753,12 @@ dlz_authority(const char *zone, void *dbdata, dns_sdlzlookup_t *lookup) { /*% If zone is supported, lookup up a (or multiple) record(s) in it */ isc_result_t -dlz_lookup(const char *zone, const char *name, - void *dbdata, dns_sdlzlookup_t *lookup, - dns_clientinfomethods_t *methods, +dlz_lookup(const char *zone, const char *name, void *dbdata, + dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) { - isc_result_t result; - MYSQL_RES *rs = NULL; + isc_result_t result; + MYSQL_RES * rs = NULL; mysql_instance_t *db = (mysql_instance_t *)dbdata; UNUSED(methods); @@ -775,9 +770,8 @@ dlz_lookup(const char *zone, const char *name, if (result != ISC_R_SUCCESS) { if (rs != NULL) mysql_free_result(rs); - db->log(ISC_LOG_ERROR, - "MySQL module unable to return " - "result set for lookup query"); + db->log(ISC_LOG_ERROR, "MySQL module unable to return " + "result set for lookup query"); return (ISC_R_FAILURE); } @@ -792,19 +786,19 @@ dlz_lookup(const char *zone, const char *name, * Create an instance of the module. */ isc_result_t -dlz_create(const char *dlzname, unsigned int argc, char *argv[], - void **dbdata, ...) +dlz_create(const char *dlzname, unsigned int argc, char *argv[], void **dbdata, + ...) { - isc_result_t result = ISC_R_FAILURE; + isc_result_t result = ISC_R_FAILURE; mysql_instance_t *mysql = NULL; - dbinstance_t *dbi = NULL; - MYSQL *dbc; - char *tmp = NULL; - char *endp; - int j; - const char *helper_name; + dbinstance_t * dbi = NULL; + MYSQL * dbc; + char * tmp = NULL; + char * endp; + int j; + const char * helper_name; #if MYSQL_VERSION_ID >= 50000 - my_bool auto_reconnect = 1; + my_bool auto_reconnect = 1; #endif #if PTHREADS int dbcount; @@ -822,39 +816,37 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], /* Fill in the helper functions */ va_start(ap, dbdata); - while ((helper_name = va_arg(ap, const char*)) != NULL) - b9_add_helper(mysql, helper_name, va_arg(ap, void*)); + while ((helper_name = va_arg(ap, const char *)) != NULL) + b9_add_helper(mysql, helper_name, va_arg(ap, void *)); va_end(ap); #if PTHREADS /* if debugging, let user know we are multithreaded. */ mysql->log(ISC_LOG_DEBUG(1), "MySQL module running multithreaded"); -#else /* PTHREADS */ +#else /* PTHREADS */ /* if debugging, let user know we are single threaded. */ mysql->log(ISC_LOG_DEBUG(1), "MySQL module running single threaded"); #endif /* PTHREADS */ /* verify we have at least 4 arg's passed to the module */ if (argc < 4) { - mysql->log(ISC_LOG_ERROR, - "MySQL module requires " - "at least 4 command line args."); + mysql->log(ISC_LOG_ERROR, "MySQL module requires " + "at least 4 command line args."); return (ISC_R_FAILURE); } /* no more than 8 arg's should be passed to the module */ if (argc > 8) { - mysql->log(ISC_LOG_ERROR, - "MySQL module cannot accept " - "more than 7 command line args."); + mysql->log(ISC_LOG_ERROR, "MySQL module cannot accept " + "more than 7 command line args."); return (ISC_R_FAILURE); } /* get db name - required */ mysql->dbname = get_parameter_value(argv[1], "dbname="); if (mysql->dbname == NULL) { - mysql->log(ISC_LOG_ERROR, - "MySQL module requires a dbname parameter."); + mysql->log(ISC_LOG_ERROR, "MySQL module requires a dbname " + "parameter."); result = ISC_R_FAILURE; goto cleanup; } @@ -866,9 +858,8 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], else { mysql->port = strtol(tmp, &endp, 10); if (*endp != '\0' || mysql->port < 0) { - mysql->log(ISC_LOG_ERROR, - "Mysql module: port " - "must be a positive number."); + mysql->log(ISC_LOG_ERROR, "Mysql module: port " + "must be a positive number."); free(tmp); result = ISC_R_FAILURE; goto cleanup; @@ -912,9 +903,9 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], else { dbcount = strtol(tmp, &endp, 10); if (*endp != '\0' || dbcount < 1) { - mysql->log(ISC_LOG_ERROR, - "MySQL database connection count " - "must be positive."); + mysql->log(ISC_LOG_ERROR, "MySQL database connection " + "count " + "must be positive."); free(tmp); result = ISC_R_FAILURE; goto cleanup; @@ -938,26 +929,26 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], */ for (i = 0; i < dbcount; i++) { #endif /* PTHREADS */ - switch(argc) { + switch (argc) { case 4: - result = build_dbinstance(NULL, NULL, NULL, - argv[2], argv[3], NULL, - &dbi, mysql->log); + result = build_dbinstance(NULL, NULL, NULL, argv[2], + argv[3], NULL, &dbi, + mysql->log); break; case 5: - result = build_dbinstance(NULL, NULL, argv[4], - argv[2], argv[3], NULL, - &dbi, mysql->log); + result = build_dbinstance(NULL, NULL, argv[4], argv[2], + argv[3], NULL, &dbi, + mysql->log); break; case 6: result = build_dbinstance(argv[5], NULL, argv[4], - argv[2], argv[3], NULL, - &dbi, mysql->log); + argv[2], argv[3], NULL, &dbi, + mysql->log); break; case 7: result = build_dbinstance(argv[5], argv[6], argv[4], - argv[2], argv[3], NULL, - &dbi, mysql->log); + argv[2], argv[3], NULL, &dbi, + mysql->log); break; case 8: result = build_dbinstance(argv[5], argv[6], argv[4], @@ -968,11 +959,10 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], result = ISC_R_FAILURE; } - if (result != ISC_R_SUCCESS) { - mysql->log(ISC_LOG_ERROR, - "MySQL module could not create " - "database instance object."); + mysql->log(ISC_LOG_ERROR, "MySQL module could not " + "create " + "database instance object."); result = ISC_R_FAILURE; goto cleanup; } @@ -982,19 +972,20 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], DLZ_LINK_INIT(dbi, link); DLZ_LIST_APPEND(*(mysql->db), dbi, link); #else - /* - * when single threaded, hold onto the one connection - * instance. - */ - mysql->db = dbi; + /* + * when single threaded, hold onto the one connection + * instance. + */ + mysql->db = dbi; #endif /* create and set db connection */ dbi->dbconn = mysql_init(NULL); if (dbi->dbconn == NULL) { - mysql->log(ISC_LOG_ERROR, - "MySQL module could not allocate " - "memory for database connection"); + mysql->log(ISC_LOG_ERROR, "MySQL module could not " + "allocate " + "memory for database " + "connection"); result = ISC_R_FAILURE; goto cleanup; } @@ -1003,30 +994,31 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], #if MYSQL_VERSION_ID >= 50000 /* enable automatic reconnection. */ - if (mysql_options((MYSQL *) dbi->dbconn, MYSQL_OPT_RECONNECT, + if (mysql_options((MYSQL *)dbi->dbconn, MYSQL_OPT_RECONNECT, &auto_reconnect) != 0) { - mysql->log(ISC_LOG_WARNING, - "MySQL module failed to set " - "MYSQL_OPT_RECONNECT option, continuing"); + mysql->log(ISC_LOG_WARNING, "MySQL module failed to " + "set " + "MYSQL_OPT_RECONNECT " + "option, continuing"); } #endif for (j = 0; dbc == NULL && j < 4; j++) { - dbc = mysql_real_connect((MYSQL *) dbi->dbconn, - mysql->host, mysql->user, - mysql->pass, mysql->dbname, - mysql->port, mysql->socket, - mysql->flags); + dbc = mysql_real_connect( + (MYSQL *)dbi->dbconn, mysql->host, mysql->user, + mysql->pass, mysql->dbname, mysql->port, + mysql->socket, mysql->flags); if (dbc == NULL) mysql->log(ISC_LOG_ERROR, "MySQL connection failed: %s", - mysql_error((MYSQL *) dbi->dbconn)); + mysql_error((MYSQL *)dbi->dbconn)); } if (dbc == NULL) { - mysql->log(ISC_LOG_ERROR, - "MySQL module failed to create " - "database connection after 4 attempts"); + mysql->log(ISC_LOG_ERROR, "MySQL module failed to " + "create " + "database connection after 4 " + "attempts"); result = ISC_R_FAILURE; goto cleanup; } @@ -1041,7 +1033,7 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], return (ISC_R_SUCCESS); - cleanup: +cleanup: dlz_destroy(mysql); return (result); @@ -1051,13 +1043,14 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], * Destroy the module. */ void -dlz_destroy(void *dbdata) { +dlz_destroy(void *dbdata) +{ mysql_instance_t *db = (mysql_instance_t *)dbdata; #if PTHREADS /* cleanup the list of DBI's */ if (db->db != NULL) mysql_destroy_dblist((db_list_t *)(db->db)); -#else /* PTHREADS */ +#else /* PTHREADS */ mysql_destroy(db); #endif /* PTHREADS */ @@ -1077,9 +1070,9 @@ dlz_destroy(void *dbdata) { * Return the version of the API */ int -dlz_version(unsigned int *flags) { - *flags |= (DNS_SDLZFLAG_RELATIVEOWNER | - DNS_SDLZFLAG_RELATIVERDATA | +dlz_version(unsigned int *flags) +{ + *flags |= (DNS_SDLZFLAG_RELATIVEOWNER | DNS_SDLZFLAG_RELATIVERDATA | DNS_SDLZFLAG_THREADSAFE); return (DLZ_DLOPEN_VERSION); } @@ -1088,7 +1081,8 @@ dlz_version(unsigned int *flags) { * Register a helper function from the bind9 dlz_dlopen driver */ static void -b9_add_helper(mysql_instance_t *db, const char *helper_name, void *ptr) { +b9_add_helper(mysql_instance_t *db, const char *helper_name, void *ptr) +{ if (strcmp(helper_name, "log") == 0) db->log = (log_t *)ptr; if (strcmp(helper_name, "putrr") == 0) diff --git a/contrib/dlz/modules/mysqldyn/dlz_mysqldyn_mod.c b/contrib/dlz/modules/mysqldyn/dlz_mysqldyn_mod.c index 6ce095e941..5a70b252f9 100644 --- a/contrib/dlz/modules/mysqldyn/dlz_mysqldyn_mod.c +++ b/contrib/dlz/modules/mysqldyn/dlz_mysqldyn_mod.c @@ -40,26 +40,25 @@ * See README for database schema and usage details. */ +#include +#include +#include +#include +#include #include #include #include #include -#include #include + +#include +#include +#include +#include +#include +#include #include #include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include /* * The SQL queries that will be used for lookups and updates are defined @@ -74,8 +73,8 @@ * Get the NS RRset for a zone * Arguments: zone-name */ -#define Q_GETNS \ - "SELECT d.data FROM ZoneData d, Zones z " \ +#define Q_GETNS \ + "SELECT d.data FROM ZoneData d, Zones z " \ "WHERE UPPER(d.type) = 'NS' AND LOWER(z.domain) = LOWER('%s') " \ "AND z.id = d.zone_id" @@ -89,14 +88,13 @@ * Find a specific zone * Arguments: zone-name */ -#define Q_FINDZONE \ - "SELECT id FROM Zones WHERE LOWER(domain) = LOWER('%s')" +#define Q_FINDZONE "SELECT id FROM Zones WHERE LOWER(domain) = LOWER('%s')" /* * Get SOA data from zone apex * Arguments: zone-name */ -#define Q_GETSOA \ +#define Q_GETSOA \ "SELECT host, admin, serial, refresh, retry, expire, minimum, ttl " \ "FROM Zones WHERE LOWER(domain) = LOWER('%s')" @@ -104,27 +102,27 @@ * Get other data from zone apex * Arguments: zone-name, zone-name (repeated) */ -#define Q_GETAPEX \ - "SELECT d.type, d.data, d.ttl FROM ZoneData d, Zones z " \ +#define Q_GETAPEX \ + "SELECT d.type, d.data, d.ttl FROM ZoneData d, Zones z " \ "WHERE LOWER(z.domain) = LOWER('%s') AND z.id = d.zone_id " \ - "AND LOWER(d.name) IN (LOWER('%s'), '', '@') "\ + "AND LOWER(d.name) IN (LOWER('%s'), '', '@') " \ "ORDER BY UPPER(d.type) ASC" /* * Get data from non-apex nodes * Arguments: zone-name, node-name (relative to zone name) */ -#define Q_GETNODE \ - "SELECT d.type, d.data, d.ttl FROM ZoneData d, Zones z " \ +#define Q_GETNODE \ + "SELECT d.type, d.data, d.ttl FROM ZoneData d, Zones z " \ "WHERE LOWER(z.domain) = LOWER('%s') AND z.id = d.zone_id " \ - "AND LOWER(d.name) = LOWER('%s') " \ + "AND LOWER(d.name) = LOWER('%s') " \ "ORDER BY UPPER(d.type) ASC" /* * Get all data from a zone, for AXFR * Arguments: zone-name */ -#define Q_GETALL \ +#define Q_GETALL \ "SELECT d.name, d.type, d.data, d.ttl FROM ZoneData d, Zones z " \ "WHERE LOWER(z.domain) = LOWER('%s') AND z.id = d.zone_id" @@ -132,14 +130,13 @@ * Get SOA serial number for a zone. * Arguments: zone-name */ -#define Q_GETSERIAL \ - "SELECT serial FROM Zones WHERE domain = '%s'" +#define Q_GETSERIAL "SELECT serial FROM Zones WHERE domain = '%s'" /* * Determine whether a zone is writeable, and if so, retrieve zone_id * Arguments: zone-name */ -#define Q_WRITEABLE \ +#define Q_WRITEABLE \ "SELECT id FROM Zones WHERE " \ "LOWER(domain) = LOWER('%s') AND writeable = 1" @@ -148,7 +145,7 @@ * Arguments: zone-id (from Q_WRITEABLE), node-name (relative to zone-name), * rrtype, rdata text, TTL (in text format) */ -#define I_DATA \ +#define I_DATA \ "INSERT INTO ZoneData (zone_id, name, type, data, ttl) " \ "VALUES (%s, LOWER('%s'), UPPER('%s'), '%s', %s)" @@ -156,8 +153,7 @@ * Update SOA serial number for a zone * Arguments: new serial number (in text format), zone-id (from Q_WRITEABLE) */ -#define U_SERIAL \ - "UPDATE Zones SET serial = %s WHERE id = %s" +#define U_SERIAL "UPDATE Zones SET serial = %s WHERE id = %s" /* * Delete a specific record (non-SOA) from a zone @@ -165,8 +161,8 @@ * Arguments: node-name (relative to zone-name), zone-id (from Q_WRITEABLE), * rrtype, rdata text, TTL (in text format). */ -#define D_RECORD \ - "DELETE FROM ZoneData WHERE zone_id = %s AND " \ +#define D_RECORD \ + "DELETE FROM ZoneData WHERE zone_id = %s AND " \ "LOWER(name) = LOWER('%s') AND UPPER(type) = UPPER('%s') AND " \ "data = '%s' AND ttl = %s" @@ -175,7 +171,7 @@ * Arguments: node-name (relative to zone-name), zone-id (from Q_WRITEABLE), * rrtype. */ -#define D_RRSET \ +#define D_RRSET \ "DELETE FROM ZoneData WHERE zone_id = %s AND " \ "LOWER(name) = LOWER('%s') AND UPPER(type) = UPPER('%s')" @@ -195,17 +191,17 @@ typedef struct mysql_record { } mysql_record_t; typedef struct mysql_instance { - int id; - MYSQL *sock; - int connected; + int id; + MYSQL * sock; + int connected; dlz_mutex_t mutex; } mysql_instance_t; typedef struct mysql_transaction mysql_transaction_t; struct mysql_transaction { - char *zone; - char *zone_id; - mysql_instance_t *dbi; + char * zone; + char * zone_id; + mysql_instance_t * dbi; mysql_transaction_t *next; }; @@ -236,9 +232,9 @@ typedef struct mysql_data { dlz_mutex_t tx_mutex; /* Helper functions from the dlz_dlopen driver */ - log_t *log; - dns_sdlz_putrr_t *putrr; - dns_sdlz_putnamedrr_t *putnamedrr; + log_t * log; + dns_sdlz_putrr_t * putrr; + dns_sdlz_putnamedrr_t * putnamedrr; dns_dlz_writeablezone_t *writeable_zone; } mysql_data_t; @@ -255,7 +251,8 @@ static const char *modname = "dlz_mysqldyn"; * Local functions */ static bool -db_connect(mysql_data_t *state, mysql_instance_t *dbi) { +db_connect(mysql_data_t *state, mysql_instance_t *dbi) +{ MYSQL *conn; /* * Make sure this thread has been through 'init' @@ -266,12 +263,11 @@ db_connect(mysql_data_t *state, mysql_instance_t *dbi) { return (true); if (state->log != NULL) - state->log(ISC_LOG_INFO, "%s: init connection %d ", - modname, dbi->id); + state->log(ISC_LOG_INFO, "%s: init connection %d ", modname, + dbi->id); - conn = mysql_real_connect(dbi->sock, state->db_host, - state->db_user, state->db_pass, - state->db_name, 0, NULL, + conn = mysql_real_connect(dbi->sock, state->db_host, state->db_user, + state->db_pass, state->db_name, 0, NULL, CLIENT_REMEMBER_OPTIONS); if (conn == NULL) { if (state->log != NULL) @@ -288,7 +284,8 @@ db_connect(mysql_data_t *state, mysql_instance_t *dbi) { } static mysql_instance_t * -get_dbi(mysql_data_t *state) { +get_dbi(mysql_data_t *state) +{ int i; /* @@ -313,13 +310,14 @@ get_dbi(mysql_data_t *state) { * of string 'original' */ static char * -sanitize(mysql_instance_t *dbi, const char *original) { +sanitize(mysql_instance_t *dbi, const char *original) +{ char *s; if (original == NULL) return (NULL); - s = (char *) malloc((strlen(original) * 2) + 1); + s = (char *)malloc((strlen(original) * 2) + 1); if (s != NULL) { memset(s, 0, (strlen(original) * 2) + 1); @@ -335,7 +333,8 @@ sanitize(mysql_instance_t *dbi, const char *original) { * and add the string length to the running total pointed to by 'len'. */ static isc_result_t -additem(mysql_arglist_t *arglist, char **s, size_t *len) { +additem(mysql_arglist_t *arglist, char **s, size_t *len) +{ mysql_arg_t *item; item = malloc(sizeof(*item)); @@ -362,17 +361,17 @@ additem(mysql_arglist_t *arglist, char **s, size_t *len) { * otherwise we use the existing one. */ static char * -build_query(mysql_data_t *state, mysql_instance_t *dbi, - const char *command, ...) +build_query(mysql_data_t *state, mysql_instance_t *dbi, const char *command, + ...) { - isc_result_t result; - bool localdbi = false; + isc_result_t result; + bool localdbi = false; mysql_arglist_t arglist; - mysql_arg_t *item; - char *p, *q, *tmp = NULL, *querystr = NULL; - char *query = NULL; - size_t len = 0; - va_list ap1; + mysql_arg_t * item; + char * p, *q, *tmp = NULL, *querystr = NULL; + char * query = NULL; + size_t len = 0; + va_list ap1; /* Get a DB instance if needed */ if (dbi == NULL) { @@ -437,19 +436,16 @@ build_query(mysql_data_t *state, mysql_instance_t *dbi, goto fail; *query = '\0'; - for (item = DLZ_LIST_HEAD(arglist); - item != NULL; + for (item = DLZ_LIST_HEAD(arglist); item != NULL; item = DLZ_LIST_NEXT(item, link)) if (item->arg != NULL) strcat(query, item->arg); - fail: +fail: va_end(ap1); - for (item = DLZ_LIST_HEAD(arglist); - item != NULL; - item = DLZ_LIST_NEXT(item, link)) - { + for (item = DLZ_LIST_HEAD(arglist); item != NULL; + item = DLZ_LIST_NEXT(item, link)) { if (item->arg != NULL) free(item->arg); free(item); @@ -458,7 +454,7 @@ build_query(mysql_data_t *state, mysql_instance_t *dbi, if (tmp != NULL) free(tmp); if (querystr != NULL) - free (querystr); + free(querystr); if (dbi != NULL && localdbi) dlz_mutex_unlock(&dbi->mutex); @@ -468,7 +464,8 @@ build_query(mysql_data_t *state, mysql_instance_t *dbi, /* Does this name end in a dot? */ static bool -isrelative(const char *s) { +isrelative(const char *s) +{ if (s == NULL || s[strlen(s) - 1] == '.') return (false); return (true); @@ -476,7 +473,8 @@ isrelative(const char *s) { /* Return a dot if 's' doesn't already end with one */ static inline const char * -dot(const char *s) { +dot(const char *s) +{ return (isrelative(s) ? "." : ""); } @@ -486,7 +484,8 @@ dot(const char *s) { * enough space). */ static void -fqhn(const char *name, const char *zone, char *dest) { +fqhn(const char *name, const char *zone, char *dest) +{ if (dest == NULL) return; @@ -505,12 +504,13 @@ fqhn(const char *name, const char *zone, char *dest) { * removes labels matching 'zone' from the end of 'name'. */ static char * -relname(const char *name, const char *zone) { - size_t nlen, zlen; +relname(const char *name, const char *zone) +{ + size_t nlen, zlen; const char *p; char *new; - new = (char *) malloc(strlen(name) + 1); + new = (char *)malloc(strlen(name) + 1); if (new == NULL) return (NULL); @@ -527,9 +527,7 @@ relname(const char *name, const char *zone) { p = name + nlen - zlen; if (strcasecmp(p, zone) != 0 && - (zone[zlen - 1] != '.' || - strncasecmp(p, zone, zlen - 1) != 0)) - { + (zone[zlen - 1] != '.' || strncasecmp(p, zone, zlen - 1) != 0)) { strcpy(new, name); return (new); } @@ -540,8 +538,9 @@ relname(const char *name, const char *zone) { } static isc_result_t -validate_txn(mysql_data_t *state, mysql_transaction_t *txn) { - isc_result_t result = ISC_R_FAILURE; +validate_txn(mysql_data_t *state, mysql_transaction_t *txn) +{ + isc_result_t result = ISC_R_FAILURE; mysql_transaction_t *txp; dlz_mutex_lock(&state->tx_mutex); @@ -560,7 +559,8 @@ validate_txn(mysql_data_t *state, mysql_transaction_t *txn) { } static isc_result_t -db_execute(mysql_data_t *state, mysql_instance_t *dbi, const char *query) { +db_execute(mysql_data_t *state, mysql_instance_t *dbi, const char *query) +{ int ret; /* Make sure this instance is connected. */ @@ -570,24 +570,24 @@ db_execute(mysql_data_t *state, mysql_instance_t *dbi, const char *query) { ret = mysql_real_query(dbi->sock, query, strlen(query)); if (ret != 0) { if (state->debug && state->log != NULL) - state->log(ISC_LOG_ERROR, - "%s: query '%s' failed: %s", + state->log(ISC_LOG_ERROR, "%s: query '%s' failed: %s", modname, query, mysql_error(dbi->sock)); return (ISC_R_FAILURE); } if (state->debug && state->log != NULL) - state->log(ISC_LOG_INFO, "%s: execute(%d) %s", - modname, dbi->id, query); + state->log(ISC_LOG_INFO, "%s: execute(%d) %s", modname, dbi->id, + query); return (ISC_R_SUCCESS); } static MYSQL_RES * -db_query(mysql_data_t *state, mysql_instance_t *dbi, const char *query) { +db_query(mysql_data_t *state, mysql_instance_t *dbi, const char *query) +{ isc_result_t result; - bool localdbi = false; - MYSQL_RES *res = NULL; + bool localdbi = false; + MYSQL_RES * res = NULL; if (query == NULL) return (NULL); @@ -612,17 +612,16 @@ db_query(mysql_data_t *state, mysql_instance_t *dbi, const char *query) { if (res == NULL) { if (state->log != NULL) state->log(ISC_LOG_ERROR, - "%s: unable to store result: %s", - modname, mysql_error(dbi->sock)); + "%s: unable to store result: %s", modname, + mysql_error(dbi->sock)); goto fail; } if (state->debug && state->log != NULL) - state->log(ISC_LOG_INFO, - "%s: query(%d) returned %d rows", + state->log(ISC_LOG_INFO, "%s: query(%d) returned %d rows", modname, dbi->id, mysql_num_rows(res)); - fail: +fail: if (dbi != NULL && localdbi) dlz_mutex_unlock(&dbi->mutex); return (res); @@ -642,9 +641,10 @@ db_query(mysql_data_t *state, mysql_instance_t *dbi, const char *query) { * values to the 'on the wire' packet values. */ static unsigned char * -make_notify(const char *zone, int *packetlen) { - int i, j; - unsigned char *packet = (unsigned char *) malloc(strlen(zone) + 18); +make_notify(const char *zone, int *packetlen) +{ + int i, j; + unsigned char *packet = (unsigned char *)malloc(strlen(zone) + 18); if (packet == NULL) return (NULL); @@ -675,7 +675,8 @@ make_notify(const char *zone, int *packetlen) { /* Make the question into labels */ j = 12; while (packet[j]) { - for (i = j + 1; packet[i] != '\0' && packet[i] != '.'; i++); + for (i = j + 1; packet[i] != '\0' && packet[i] != '.'; i++) + ; packet[j] = i - j - 1; j = i; } @@ -694,7 +695,8 @@ make_notify(const char *zone, int *packetlen) { } static void -send_notify(struct sockaddr_in *addr, const unsigned char *p, const int plen) { +send_notify(struct sockaddr_in *addr, const unsigned char *p, const int plen) +{ int s; addr->sin_family = AF_INET; @@ -712,20 +714,21 @@ send_notify(struct sockaddr_in *addr, const unsigned char *p, const int plen) { * Generate and send a DNS NOTIFY packet */ static void -notify(mysql_data_t *state, const char *zone, int sn) { - MYSQL_RES *res; - MYSQL_ROW row; - char *query; - unsigned char *packet; - int packetlen; +notify(mysql_data_t *state, const char *zone, int sn) +{ + MYSQL_RES * res; + MYSQL_ROW row; + char * query; + unsigned char * packet; + int packetlen; struct ifaddrs *ifap, *ifa; - char zaddr[INET_ADDRSTRLEN]; - void *addrp = NULL; + char zaddr[INET_ADDRSTRLEN]; + void * addrp = NULL; /* Get the name servers from the NS rrset */ query = build_query(state, NULL, Q_GETNS, zone); res = db_query(state, NULL, query); - free (query); + free(query); if (res == NULL) return; @@ -742,8 +745,8 @@ notify(mysql_data_t *state, const char *zone, int sn) { /* Tell each nameserver of the update */ while ((row = mysql_fetch_row(res)) != NULL) { - bool local = false; - struct hostent *h; + bool local = false; + struct hostent * h; struct sockaddr_in addr, *sin; /* @@ -767,7 +770,7 @@ notify(mysql_data_t *state, const char *zone, int sn) { continue; /* Get local address into a string */ - sin = (struct sockaddr_in *) ifa->ifa_addr; + sin = (struct sockaddr_in *)ifa->ifa_addr; addrp = &sin->sin_addr; inet_ntop(AF_INET, addrp, ifaddr, INET_ADDRSTRLEN); @@ -796,13 +799,13 @@ notify(mysql_data_t *state, const char *zone, int sn) { * used in the dlz_{add,sub,del}rdataset functions below. */ static mysql_record_t * -makerecord(mysql_data_t *state, const char *name, const char *rdatastr) { +makerecord(mysql_data_t *state, const char *name, const char *rdatastr) +{ mysql_record_t *new_record; - char *real_name, *dclass, *type, *data, *ttlstr, *buf; - dns_ttl_t ttlvalue; + char * real_name, *dclass, *type, *data, *ttlstr, *buf; + dns_ttl_t ttlvalue; - new_record = (mysql_record_t *) - malloc(sizeof(mysql_record_t)); + new_record = (mysql_record_t *)malloc(sizeof(mysql_record_t)); if (new_record == NULL) { if (state->log != NULL) @@ -857,7 +860,7 @@ makerecord(mysql_data_t *state, const char *name, const char *rdatastr) { free(buf); return (new_record); - error: +error: free(buf); free(new_record); return (NULL); @@ -867,7 +870,8 @@ makerecord(mysql_data_t *state, const char *name, const char *rdatastr) { * Remember a helper function from the bind9 dlz_dlopen driver */ static void -b9_add_helper(mysql_data_t *state, const char *helper_name, void *ptr) { +b9_add_helper(mysql_data_t *state, const char *helper_name, void *ptr) +{ if (strcmp(helper_name, "log") == 0) state->log = (log_t *)ptr; if (strcmp(helper_name, "putrr") == 0) @@ -886,7 +890,8 @@ b9_add_helper(mysql_data_t *state, const char *helper_name, void *ptr) { * Return the version of the API */ int -dlz_version(unsigned int *flags) { +dlz_version(unsigned int *flags) +{ UNUSED(flags); *flags |= DNS_SDLZFLAG_THREADSAFE; return (DLZ_DLOPEN_VERSION); @@ -896,13 +901,13 @@ dlz_version(unsigned int *flags) { * Called to initialize the driver */ isc_result_t -dlz_create(const char *dlzname, unsigned int argc, char *argv[], - void **dbdata, ...) +dlz_create(const char *dlzname, unsigned int argc, char *argv[], void **dbdata, + ...) { mysql_data_t *state; - const char *helper_name; - va_list ap; - int n; + const char * helper_name; + va_list ap; + int n; UNUSED(dlzname); @@ -926,7 +931,8 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], if (state->log != NULL) state->log(ISC_LOG_ERROR, "%s: missing args " - "[ [ ]]", modname); + "[ [ ]]", + modname); dlz_destroy(state); return (ISC_R_FAILURE); } @@ -948,16 +954,13 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], } if (state->log != NULL) - state->log(ISC_LOG_INFO, - "%s: DB=%s, Host=%s, User=%s", - modname, state->db_name, - state->db_host, state->db_user); + state->log(ISC_LOG_INFO, "%s: DB=%s, Host=%s, User=%s", modname, + state->db_name, state->db_host, state->db_user); /* * Assign the 'state' to dbdata so we get it in our callbacks */ - dlz_mutex_lock(&state->tx_mutex); /* @@ -972,10 +975,9 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], state->db[n].connected = 0; state->db[n].sock = mysql_init(NULL); mysql_options(state->db[n].sock, - MYSQL_READ_DEFAULT_GROUP, - modname); - mysql_options(state->db[n].sock, - MYSQL_OPT_RECONNECT, &opt); + MYSQL_READ_DEFAULT_GROUP, modname); + mysql_options(state->db[n].sock, MYSQL_OPT_RECONNECT, + &opt); dlz_mutex_unlock(&state->db[n].mutex); } @@ -997,9 +999,10 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], * Shut down the backend */ void -dlz_destroy(void *dbdata) { +dlz_destroy(void *dbdata) +{ mysql_data_t *state = (mysql_data_t *)dbdata; - int i; + int i; if (state->debug && state->log != NULL) state->log(ISC_LOG_INFO, "%s: shutting down", modname); @@ -1007,7 +1010,7 @@ dlz_destroy(void *dbdata) { for (i = 0; i < MAX_DBI; i++) { if (state->db[i].sock) { mysql_close(state->db[i].sock); - state->db[i].sock=NULL; + state->db[i].sock = NULL; } } free(state->db_name); @@ -1022,14 +1025,13 @@ dlz_destroy(void *dbdata) { * See if we handle a given zone */ isc_result_t -dlz_findzonedb(void *dbdata, const char *name, - dns_clientinfomethods_t *methods, +dlz_findzonedb(void *dbdata, const char *name, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) { - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; mysql_data_t *state = (mysql_data_t *)dbdata; - MYSQL_RES *res; - char *query; + MYSQL_RES * res; + char * query; /* Query the Zones table to see if this zone is present */ query = build_query(state, NULL, Q_FINDZONE, name); @@ -1056,27 +1058,27 @@ dlz_lookup(const char *zone, const char *name, void *dbdata, dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) { - isc_result_t result; - mysql_data_t *state = (mysql_data_t *)dbdata; - bool found = false; - char *real_name; - MYSQL_RES *res; - MYSQL_ROW row; - char *query; + isc_result_t result; + mysql_data_t * state = (mysql_data_t *)dbdata; + bool found = false; + char * real_name; + MYSQL_RES * res; + MYSQL_ROW row; + char * query; mysql_transaction_t *txn = NULL; - mysql_instance_t *dbi = NULL; + mysql_instance_t * dbi = NULL; if (state->putrr == NULL) { if (state->log != NULL) - state->log(ISC_LOG_ERROR, - "%s: dlz_lookup - no putrr", modname); + state->log(ISC_LOG_ERROR, "%s: dlz_lookup - no putrr", + modname); return (ISC_R_NOTIMPLEMENTED); } /* Are we okay to try to find the txn version? */ if (clientinfo != NULL && clientinfo->version >= DNS_CLIENTINFO_VERSION) { - txn = (mysql_transaction_t *) clientinfo->dbversion; + txn = (mysql_transaction_t *)clientinfo->dbversion; if (txn != NULL && validate_txn(state, txn) == ISC_R_SUCCESS) dbi = txn->dbi; if (dbi != NULL) { @@ -1087,12 +1089,12 @@ dlz_lookup(const char *zone, const char *name, void *dbdata, } if (strcmp(name, "@") == 0) { - real_name = (char *) malloc(strlen(zone) + 1); + real_name = (char *)malloc(strlen(zone) + 1); if (real_name == NULL) return (ISC_R_NOMEMORY); strcpy(real_name, zone); } else { - real_name = (char *) malloc(strlen(name) + 1); + real_name = (char *)malloc(strlen(name) + 1); if (real_name == NULL) return (ISC_R_NOMEMORY); strcpy(real_name, name); @@ -1110,7 +1112,7 @@ dlz_lookup(const char *zone, const char *name, void *dbdata, } res = db_query(state, dbi, query); - free (query); + free(query); if (res == NULL) { free(real_name); @@ -1119,16 +1121,16 @@ dlz_lookup(const char *zone, const char *name, void *dbdata, while ((row = mysql_fetch_row(res)) != NULL) { char host[1024], admin[1024], data[1024]; - int ttl; + int ttl; sscanf(row[7], "%d", &ttl); fqhn(row[0], zone, host); fqhn(row[1], zone, admin); /* zone admin serial refresh retry expire min */ - sprintf(data, "%s%s %s%s %s %s %s %s %s", - host, dot(host), admin, dot(admin), - row[2], row[3], row[4], row[5], row[6]); + sprintf(data, "%s%s %s%s %s %s %s %s %s", host, + dot(host), admin, dot(admin), row[2], row[3], + row[4], row[5], row[6]); result = state->putrr(lookup, "soa", ttl, data); if (result != ISC_R_SUCCESS) { @@ -1169,10 +1171,8 @@ dlz_lookup(const char *zone, const char *name, void *dbdata, } if (state->debug && state->log != NULL) - state->log(ISC_LOG_INFO, - "%s: dlz_lookup %s/%s/%s - (%d rows)", - modname, name, real_name, zone, - mysql_num_rows(res)); + state->log(ISC_LOG_INFO, "%s: dlz_lookup %s/%s/%s - (%d rows)", + modname, name, real_name, zone, mysql_num_rows(res)); mysql_free_result(res); free(real_name); @@ -1187,12 +1187,13 @@ dlz_lookup(const char *zone, const char *name, void *dbdata, * See if a zone transfer is allowed */ isc_result_t -dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { +dlz_allowzonexfr(void *dbdata, const char *name, const char *client) +{ mysql_data_t *state = (mysql_data_t *)dbdata; if (state->debug && state->log != NULL) - state->log(ISC_LOG_INFO, - "dlz_allowzonexfr: %s %s", name, client); + state->log(ISC_LOG_INFO, "dlz_allowzonexfr: %s %s", name, + client); /* Just say yes for all our zones */ return (dlz_findzonedb(dbdata, name, NULL, NULL)); @@ -1202,12 +1203,13 @@ dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { * Perform a zone transfer */ isc_result_t -dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { - isc_result_t result = ISC_R_SUCCESS; +dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) +{ + isc_result_t result = ISC_R_SUCCESS; mysql_data_t *state = (mysql_data_t *)dbdata; - MYSQL_RES *res; - MYSQL_ROW row; - char *query; + MYSQL_RES * res; + MYSQL_ROW row; + char * query; UNUSED(zone); @@ -1231,12 +1233,12 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { while ((row = mysql_fetch_row(res)) != NULL) { char hostname[1024]; - int ttl; + int ttl; sscanf(row[3], "%d", &ttl); fqhn(row[0], zone, hostname); - result = state->putnamedrr(allnodes, hostname, - row[1], ttl, row[2]); + result = state->putnamedrr(allnodes, hostname, row[1], ttl, + row[2]); if (result != ISC_R_SUCCESS) break; } @@ -1249,13 +1251,14 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { * Start a transaction */ isc_result_t -dlz_newversion(const char *zone, void *dbdata, void **versionp) { - isc_result_t result = ISC_R_FAILURE; - mysql_data_t *state = (mysql_data_t *) dbdata; - MYSQL_RES *res; - MYSQL_ROW row; - char *query; - char zone_id[16]; +dlz_newversion(const char *zone, void *dbdata, void **versionp) +{ + isc_result_t result = ISC_R_FAILURE; + mysql_data_t * state = (mysql_data_t *)dbdata; + MYSQL_RES * res; + MYSQL_ROW row; + char * query; + char zone_id[16]; mysql_transaction_t *txn = NULL, *newtx = NULL; /* @@ -1286,8 +1289,9 @@ dlz_newversion(const char *zone, void *dbdata, void **versionp) { if (strcmp(txn->zone, zone) == 0) { if (state->log != NULL) state->log(ISC_LOG_ERROR, - "%s: transaction already " - "started for zone %s", modname, zone); + "%s: transaction already " + "started for zone %s", + modname, zone); dlz_mutex_unlock(&state->tx_mutex); return (ISC_R_FAILURE); } @@ -1296,8 +1300,7 @@ dlz_newversion(const char *zone, void *dbdata, void **versionp) { /* * Create new transaction */ - newtx = (mysql_transaction_t *) - calloc(1, sizeof(mysql_transaction_t)); + newtx = (mysql_transaction_t *)calloc(1, sizeof(mysql_transaction_t)); if (newtx == NULL) { result = ISC_R_NOMEMORY; goto cleanup; @@ -1335,10 +1338,10 @@ dlz_newversion(const char *zone, void *dbdata, void **versionp) { if (state->debug && (state->log != NULL)) state->log(ISC_LOG_INFO, "%s: New tx %x", modname, newtx); - cleanup: +cleanup: dlz_mutex_unlock(&state->tx_mutex); if (result == ISC_R_SUCCESS) { - *versionp = (void *) newtx; + *versionp = (void *)newtx; } else { dlz_mutex_unlock(&state->tx_mutex); if (newtx != NULL) { @@ -1359,16 +1362,15 @@ dlz_newversion(const char *zone, void *dbdata, void **versionp) { * End a transaction */ void -dlz_closeversion(const char *zone, bool commit, - void *dbdata, void **versionp) +dlz_closeversion(const char *zone, bool commit, void *dbdata, void **versionp) { - isc_result_t result; - mysql_data_t *state = (mysql_data_t *)dbdata; + isc_result_t result; + mysql_data_t * state = (mysql_data_t *)dbdata; mysql_transaction_t *txn = (mysql_transaction_t *)*versionp; mysql_transaction_t *txp; - char *query; - MYSQL_RES *res; - MYSQL_ROW row; + char * query; + MYSQL_RES * res; + MYSQL_ROW row; /* * Find the transaction @@ -1485,16 +1487,16 @@ dlz_closeversion(const char *zone, bool commit, #if DLZ_DLOPEN_VERSION < 3 isc_result_t dlz_configure(dns_view_t *view, void *dbdata) -#else /* DLZ_DLOPEN_VERSION >= 3 */ +#else /* DLZ_DLOPEN_VERSION >= 3 */ isc_result_t dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb, void *dbdata) #endif /* DLZ_DLOPEN_VERSION */ { mysql_data_t *state = (mysql_data_t *)dbdata; - isc_result_t result; - MYSQL_RES *res; - MYSQL_ROW row; - int count; + isc_result_t result; + MYSQL_RES * res; + MYSQL_ROW row; + int count; /* * Seed PRNG (used by Notify code) @@ -1542,8 +1544,8 @@ dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb, void *dbdata) mysql_free_result(res); if (state->debug && state->log != NULL) - state->log(ISC_LOG_INFO, - "%s: configured %d zones", modname, count); + state->log(ISC_LOG_INFO, "%s: configured %d zones", modname, + count); return (ISC_R_SUCCESS); } @@ -1564,21 +1566,20 @@ dlz_ssumatch(const char *signer, const char *name, const char *tcpaddr, UNUSED(key); if (state->debug && state->log != NULL) - state->log(ISC_LOG_INFO, - "%s: allowing update of %s by key %s", + state->log(ISC_LOG_INFO, "%s: allowing update of %s by key %s", modname, name, signer); return (true); } isc_result_t -dlz_addrdataset(const char *name, const char *rdatastr, - void *dbdata, void *version) +dlz_addrdataset(const char *name, const char *rdatastr, void *dbdata, + void *version) { - mysql_data_t *state = (mysql_data_t *)dbdata; + mysql_data_t * state = (mysql_data_t *)dbdata; mysql_transaction_t *txn = (mysql_transaction_t *)version; - char *new_name, *query; - mysql_record_t *record; - isc_result_t result; + char * new_name, *query; + mysql_record_t * record; + isc_result_t result; if (txn == NULL) return (ISC_R_FAILURE); @@ -1588,8 +1589,8 @@ dlz_addrdataset(const char *name, const char *rdatastr, return (ISC_R_NOMEMORY); if (state->debug && (state->log != NULL)) - state->log(ISC_LOG_INFO, "%s: add (%x) %s (as %s) %s", - modname, version, name, new_name, rdatastr); + state->log(ISC_LOG_INFO, "%s: add (%x) %s (as %s) %s", modname, + version, name, new_name, rdatastr); record = makerecord(state, new_name, rdatastr); free(new_name); @@ -1598,9 +1599,8 @@ dlz_addrdataset(const char *name, const char *rdatastr, /* Write out data to database */ if (strcasecmp(record->type, "SOA") != 0) { - query = build_query(state, txn->dbi, I_DATA, - txn->zone_id, record->name, - record->type, record->data, + query = build_query(state, txn->dbi, I_DATA, txn->zone_id, + record->name, record->type, record->data, record->ttl); if (query == NULL) { result = ISC_R_FAILURE; @@ -1626,20 +1626,20 @@ dlz_addrdataset(const char *name, const char *rdatastr, free(query); } - cleanup: +cleanup: free(record); return (result); } isc_result_t -dlz_subrdataset(const char *name, const char *rdatastr, - void *dbdata, void *version) +dlz_subrdataset(const char *name, const char *rdatastr, void *dbdata, + void *version) { - mysql_data_t *state = (mysql_data_t *)dbdata; + mysql_data_t * state = (mysql_data_t *)dbdata; mysql_transaction_t *txn = (mysql_transaction_t *)version; - char *new_name, *query; - mysql_record_t *record; - isc_result_t result; + char * new_name, *query; + mysql_record_t * record; + isc_result_t result; if (txn == NULL) return (ISC_R_FAILURE); @@ -1649,8 +1649,8 @@ dlz_subrdataset(const char *name, const char *rdatastr, return (ISC_R_NOMEMORY); if (state->debug && (state->log != NULL)) - state->log(ISC_LOG_INFO, "%s: sub (%x) %s %s", - modname, version, name, rdatastr); + state->log(ISC_LOG_INFO, "%s: sub (%x) %s %s", modname, version, + name, rdatastr); record = makerecord(state, new_name, rdatastr); free(new_name); @@ -1662,9 +1662,8 @@ dlz_subrdataset(const char *name, const char *rdatastr, if (strcasecmp(record->type, "SOA") == 0) result = ISC_R_SUCCESS; else { - query = build_query(state, txn->dbi, D_RECORD, - txn->zone_id, record->name, - record->type, record->data, + query = build_query(state, txn->dbi, D_RECORD, txn->zone_id, + record->name, record->type, record->data, record->ttl); if (query == NULL) { result = ISC_R_NOMEMORY; @@ -1675,19 +1674,18 @@ dlz_subrdataset(const char *name, const char *rdatastr, free(query); } - cleanup: +cleanup: free(record); return (result); } isc_result_t -dlz_delrdataset(const char *name, const char *type, - void *dbdata, void *version) +dlz_delrdataset(const char *name, const char *type, void *dbdata, void *version) { - mysql_data_t *state = (mysql_data_t *)dbdata; + mysql_data_t * state = (mysql_data_t *)dbdata; mysql_transaction_t *txn = (mysql_transaction_t *)version; - char *new_name, *query; - isc_result_t result; + char * new_name, *query; + isc_result_t result; if (txn == NULL) return (ISC_R_FAILURE); @@ -1697,11 +1695,11 @@ dlz_delrdataset(const char *name, const char *type, return (ISC_R_NOMEMORY); if (state->debug && (state->log != NULL)) - state->log(ISC_LOG_INFO, "%s: del (%x) %s %s", - modname, version, name, type); + state->log(ISC_LOG_INFO, "%s: del (%x) %s %s", modname, version, + name, type); - query = build_query(state, txn->dbi, D_RRSET, - txn->zone_id, new_name, type); + query = build_query(state, txn->dbi, D_RRSET, txn->zone_id, new_name, + type); if (query == NULL) { result = ISC_R_NOMEMORY; goto cleanup; @@ -1710,7 +1708,7 @@ dlz_delrdataset(const char *name, const char *type, result = db_execute(state, txn->dbi, query); free(query); - cleanup: +cleanup: free(new_name); return (result); } diff --git a/contrib/dlz/modules/perl/dlz_perl_driver.c b/contrib/dlz/modules/perl/dlz_perl_driver.c index ef0be37636..12b678aa8b 100644 --- a/contrib/dlz/modules/perl/dlz_perl_driver.c +++ b/contrib/dlz/modules/perl/dlz_perl_driver.c @@ -57,20 +57,19 @@ * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include -#include -#include +#include "dlz_perl_driver.h" #include #include +#include +#include +#include #include -#include "dlz_perl_driver.h" - /* Enable debug logging? */ #if 0 -#define carp(...) cd->log(ISC_LOG_INFO, __VA_ARGS__); +#define carp(...) cd->log(ISC_LOG_INFO, __VA_ARGS__); #else #define carp(...) #endif @@ -82,18 +81,18 @@ * serious problems arise. We can hack around this, but it's much better to do * it properly and link against a perl compiled with multiplicity. */ static PerlInterpreter *global_perl = NULL; -static int global_perl_dont_free = 0; +static int global_perl_dont_free = 0; #endif typedef struct config_data { - PerlInterpreter *perl; - char *perl_source; - SV *perl_class; + PerlInterpreter *perl; + char * perl_source; + SV * perl_class; /* Functions given to us by bind9 */ - log_t *log; - dns_sdlz_putrr_t *putrr; - dns_sdlz_putnamedrr_t *putnamedrr; + log_t * log; + dns_sdlz_putrr_t * putrr; + dns_sdlz_putnamedrr_t * putnamedrr; dns_dlz_writeablezone_t *writeable_zone; } config_data_t; @@ -101,20 +100,23 @@ typedef struct config_data { * is (almost) verbatim from perlembed, and is known to work correctly despite * the warnings. */ -EXTERN_C void xs_init (pTHX); -EXTERN_C void boot_DynaLoader (pTHX_ CV* cv); -EXTERN_C void boot_DLZ_Perl__clientinfo (pTHX_ CV* cv); -EXTERN_C void boot_DLZ_Perl (pTHX_ CV* cv); +EXTERN_C void xs_init(pTHX); EXTERN_C void -xs_init(pTHX) +boot_DynaLoader(pTHX_ CV *cv); +EXTERN_C void +boot_DLZ_Perl__clientinfo(pTHX_ CV *cv); +EXTERN_C void + boot_DLZ_Perl(pTHX_ CV *cv); +EXTERN_C void xs_init(pTHX) { - char *file = __FILE__; - dXSUB_SYS; + char *file = __FILE__; + dXSUB_SYS; - /* DynaLoader is a special case */ - newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file); - newXS("DLZ_Perl::clientinfo::bootstrap", boot_DLZ_Perl__clientinfo, file); - newXS("DLZ_Perl::bootstrap", boot_DLZ_Perl, file); + /* DynaLoader is a special case */ + newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file); + newXS("DLZ_Perl::clientinfo::bootstrap", boot_DLZ_Perl__clientinfo, + file); + newXS("DLZ_Perl::bootstrap", boot_DLZ_Perl, file); } /* @@ -124,8 +126,8 @@ xs_init(pTHX) /* * remember a helper function, from the bind9 dlz_dlopen driver */ -static void b9_add_helper(config_data_t *state, - const char *helper_name, void *ptr) +static void +b9_add_helper(config_data_t *state, const char *helper_name, void *ptr) { if (strcmp(helper_name, "log") == 0) state->log = ptr; @@ -137,21 +139,23 @@ static void b9_add_helper(config_data_t *state, state->writeable_zone = ptr; } -int dlz_version(unsigned int *flags) { +int +dlz_version(unsigned int *flags) +{ return DLZ_DLOPEN_VERSION; } -isc_result_t dlz_allnodes(const char *zone, void *dbdata, - dns_sdlzallnodes_t *allnodes) +isc_result_t +dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { - config_data_t *cd = (config_data_t *) dbdata; - isc_result_t retval; - int rrcount, r; - SV *record_ref; - SV **rr_name; - SV **rr_type; - SV **rr_ttl; - SV **rr_data; + config_data_t *cd = (config_data_t *)dbdata; + isc_result_t retval; + int rrcount, r; + SV * record_ref; + SV ** rr_name; + SV ** rr_type; + SV ** rr_ttl; + SV ** rr_data; #ifdef MULTIPLICITY PerlInterpreter *my_perl = cd->perl; #endif @@ -160,21 +164,23 @@ isc_result_t dlz_allnodes(const char *zone, void *dbdata, PERL_SET_CONTEXT(cd->perl); ENTER; SAVETMPS; - + PUSHMARK(SP); XPUSHs(cd->perl_class); XPUSHs(sv_2mortal(newSVpv(zone, 0))); PUTBACK; carp("DLZ Perl: Calling allnodes for zone %s", zone); - rrcount = call_method("allnodes", G_ARRAY|G_EVAL); + rrcount = call_method("allnodes", G_ARRAY | G_EVAL); carp("DLZ Perl: Call to allnodes returned rrcount of %i", rrcount); SPAGAIN; if (SvTRUE(ERRSV)) { POPs; - cd->log(ISC_LOG_ERROR, "DLZ Perl: allnodes for zone %s died in eval: %s", zone, SvPV_nolen(ERRSV)); + cd->log(ISC_LOG_ERROR, + "DLZ Perl: allnodes for zone %s died in eval: %s", zone, + SvPV_nolen(ERRSV)); retval = ISC_R_FAILURE; goto CLEAN_UP_AND_RETURN; } @@ -188,10 +194,8 @@ isc_result_t dlz_allnodes(const char *zone, void *dbdata, r = 0; while (r++ < rrcount) { record_ref = POPs; - if ( - (!SvROK(record_ref)) || - (SvTYPE(SvRV(record_ref)) != SVt_PVAV) - ) { + if ((!SvROK(record_ref)) || + (SvTYPE(SvRV(record_ref)) != SVt_PVAV)) { cd->log(ISC_LOG_ERROR, "DLZ Perl: allnodes for zone %s " "returned an invalid value " @@ -203,14 +207,13 @@ isc_result_t dlz_allnodes(const char *zone, void *dbdata, record_ref = SvRV(record_ref); - rr_name = av_fetch((AV *) record_ref, 0, 0); - rr_type = av_fetch((AV *) record_ref, 1, 0); - rr_ttl = av_fetch((AV *) record_ref, 2, 0); - rr_data = av_fetch((AV *) record_ref, 3, 0); + rr_name = av_fetch((AV *)record_ref, 0, 0); + rr_type = av_fetch((AV *)record_ref, 1, 0); + rr_ttl = av_fetch((AV *)record_ref, 2, 0); + rr_data = av_fetch((AV *)record_ref, 3, 0); - if (rr_name == NULL || rr_type == NULL || - rr_ttl == NULL || rr_data == NULL) - { + if (rr_name == NULL || rr_type == NULL || rr_ttl == NULL || + rr_data == NULL) { cd->log(ISC_LOG_ERROR, "DLZ Perl: allnodes for zone %s " "returned an array that was missing data", @@ -219,13 +222,11 @@ isc_result_t dlz_allnodes(const char *zone, void *dbdata, break; } - carp("DLZ Perl: Got record %s/%s = %s", - SvPV_nolen(*rr_name), SvPV_nolen(*rr_type), - SvPV_nolen(*rr_data)); - retval = cd->putnamedrr(allnodes, - SvPV_nolen(*rr_name), - SvPV_nolen(*rr_type), - SvIV(*rr_ttl), SvPV_nolen(*rr_data)); + carp("DLZ Perl: Got record %s/%s = %s", SvPV_nolen(*rr_name), + SvPV_nolen(*rr_type), SvPV_nolen(*rr_data)); + retval = cd->putnamedrr(allnodes, SvPV_nolen(*rr_name), + SvPV_nolen(*rr_type), SvIV(*rr_ttl), + SvPV_nolen(*rr_data)); if (retval != ISC_R_SUCCESS) { cd->log(ISC_LOG_ERROR, "DLZ Perl: putnamedrr in allnodes " @@ -241,17 +242,18 @@ CLEAN_UP_AND_RETURN: FREETMPS; LEAVE; - carp("DLZ Perl: Returning from allnodes, r = %i, retval = %i", - r, retval); + carp("DLZ Perl: Returning from allnodes, r = %i, retval = %i", r, + retval); return (retval); } isc_result_t -dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { - config_data_t *cd = (config_data_t *) dbdata; - int r; - isc_result_t retval; +dlz_allowzonexfr(void *dbdata, const char *name, const char *client) +{ + config_data_t *cd = (config_data_t *)dbdata; + int r; + isc_result_t retval; #ifdef MULTIPLICITY PerlInterpreter *my_perl = cd->perl; #endif @@ -260,14 +262,14 @@ dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { PERL_SET_CONTEXT(cd->perl); ENTER; SAVETMPS; - + PUSHMARK(SP); XPUSHs(cd->perl_class); XPUSHs(sv_2mortal(newSVpv(name, 0))); XPUSHs(sv_2mortal(newSVpv(client, 0))); PUTBACK; - r = call_method("allowzonexfr", G_SCALAR|G_EVAL); + r = call_method("allowzonexfr", G_SCALAR | G_EVAL); SPAGAIN; if (SvTRUE(ERRSV)) { @@ -283,12 +285,13 @@ dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { retval = ISC_R_FAILURE; } else if (r == 0) { /* Client returned nothing -- zone not found. */ - retval = ISC_R_NOTFOUND; + retval = ISC_R_NOTFOUND; } else if (r > 1) { /* Once again, clean out the stack when possible. */ - while (r--) POPi; - cd->log(ISC_LOG_ERROR, - "DLZ Perl: allowzonexfr returned too many parameters!"); + while (r--) + POPi; + cd->log(ISC_LOG_ERROR, "DLZ Perl: allowzonexfr returned too " + "many parameters!"); retval = ISC_R_FAILURE; } else { /* @@ -313,14 +316,13 @@ isc_result_t dlz_findzonedb(void *dbdata, const char *name) #else isc_result_t -dlz_findzonedb(void *dbdata, const char *name, - dns_clientinfomethods_t *methods, +dlz_findzonedb(void *dbdata, const char *name, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) #endif { - config_data_t *cd = (config_data_t *) dbdata; - int r; - isc_result_t retval; + config_data_t *cd = (config_data_t *)dbdata; + int r; + isc_result_t retval; #ifdef MULTIPLICITY PerlInterpreter *my_perl = cd->perl; #endif @@ -336,13 +338,13 @@ dlz_findzonedb(void *dbdata, const char *name, PERL_SET_CONTEXT(cd->perl); ENTER; SAVETMPS; - + PUSHMARK(SP); XPUSHs(cd->perl_class); XPUSHs(sv_2mortal(newSVpv(name, 0))); PUTBACK; - r = call_method("findzone", G_SCALAR|G_EVAL); + r = call_method("findzone", G_SCALAR | G_EVAL); SPAGAIN; if (SvTRUE(ERRSV)) { @@ -352,17 +354,17 @@ dlz_findzonedb(void *dbdata, const char *name, * caller. */ POPs; - cd->log(ISC_LOG_ERROR, - "DLZ Perl: findzone died in eval: %s", + cd->log(ISC_LOG_ERROR, "DLZ Perl: findzone died in eval: %s", SvPV_nolen(ERRSV)); retval = ISC_R_FAILURE; } else if (r == 0) { - retval = ISC_R_FAILURE; + retval = ISC_R_FAILURE; } else if (r > 1) { /* Once again, clean out the stack when possible. */ - while (r--) POPi; - cd->log(ISC_LOG_ERROR, - "DLZ Perl: findzone returned too many parameters!"); + while (r--) + POPi; + cd->log(ISC_LOG_ERROR, "DLZ Perl: findzone returned too many " + "parameters!"); retval = ISC_R_FAILURE; } else { r = POPi; @@ -378,27 +380,25 @@ dlz_findzonedb(void *dbdata, const char *name, return (retval); } - #if DLZ_DLOPEN_VERSION == 1 isc_result_t -dlz_lookup(const char *zone, const char *name, - void *dbdata, dns_sdlzlookup_t *lookup) +dlz_lookup(const char *zone, const char *name, void *dbdata, + dns_sdlzlookup_t *lookup) #else isc_result_t -dlz_lookup(const char *zone, const char *name, - void *dbdata, dns_sdlzlookup_t *lookup, - dns_clientinfomethods_t *methods, +dlz_lookup(const char *zone, const char *name, void *dbdata, + dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) #endif { - isc_result_t retval; - config_data_t *cd = (config_data_t *) dbdata; - int rrcount, r; + isc_result_t retval; + config_data_t * cd = (config_data_t *)dbdata; + int rrcount, r; dlz_perl_clientinfo_opaque opaque; - SV *record_ref; - SV **rr_type; - SV **rr_ttl; - SV **rr_data; + SV * record_ref; + SV ** rr_type; + SV ** rr_ttl; + SV ** rr_data; #ifdef MULTIPLICITY PerlInterpreter *my_perl = cd->perl; #endif @@ -424,7 +424,7 @@ dlz_lookup(const char *zone, const char *name, PUTBACK; carp("DLZ Perl: Searching for name %s in zone %s", name, zone); - rrcount = call_method("lookup", G_ARRAY|G_EVAL); + rrcount = call_method("lookup", G_ARRAY | G_EVAL); carp("DLZ Perl: Call to lookup returned %i", rrcount); SPAGAIN; @@ -447,34 +447,34 @@ dlz_lookup(const char *zone, const char *name, while (r++ < rrcount) { record_ref = POPs; if ((!SvROK(record_ref)) || - (SvTYPE(SvRV(record_ref)) != SVt_PVAV)) - { - cd->log(ISC_LOG_ERROR, - "DLZ Perl: lookup returned an " - "invalid value (expected array of arrayrefs)!"); + (SvTYPE(SvRV(record_ref)) != SVt_PVAV)) { + cd->log(ISC_LOG_ERROR, "DLZ Perl: lookup returned an " + "invalid value (expected array " + "of arrayrefs)!"); retval = ISC_R_FAILURE; break; } record_ref = SvRV(record_ref); - rr_type = av_fetch((AV *) record_ref, 0, 0); - rr_ttl = av_fetch((AV *) record_ref, 1, 0); - rr_data = av_fetch((AV *) record_ref, 2, 0); + rr_type = av_fetch((AV *)record_ref, 0, 0); + rr_ttl = av_fetch((AV *)record_ref, 1, 0); + rr_data = av_fetch((AV *)record_ref, 2, 0); if (rr_type == NULL || rr_ttl == NULL || rr_data == NULL) { cd->log(ISC_LOG_ERROR, "DLZ Perl: lookup for record %s in " "zone %s returned an array that was " - "missing data", name, zone); + "missing data", + name, zone); retval = ISC_R_FAILURE; break; } - carp("DLZ Perl: Got record %s = %s", - SvPV_nolen(*rr_type), SvPV_nolen(*rr_data)); - retval = cd->putrr(lookup, SvPV_nolen(*rr_type), - SvIV(*rr_ttl), SvPV_nolen(*rr_data)); + carp("DLZ Perl: Got record %s = %s", SvPV_nolen(*rr_type), + SvPV_nolen(*rr_data)); + retval = cd->putrr(lookup, SvPV_nolen(*rr_type), SvIV(*rr_ttl), + SvPV_nolen(*rr_data)); if (retval != ISC_R_SUCCESS) { cd->log(ISC_LOG_ERROR, @@ -503,14 +503,14 @@ missing_perl_method(const char *perl_class_name, PerlInterpreter *my_perl) missing_perl_method(const char *perl_class_name) #endif { - const int BUF_LEN = 64; /* Should be big enough, right? hah */ - char full_name[BUF_LEN]; + const int BUF_LEN = 64; /* Should be big enough, right? hah */ + char full_name[BUF_LEN]; const char *methods[] = { "new", "findzone", "lookup", NULL }; - int i = 0; + int i = 0; - while( methods[i] != NULL ) { - snprintf(full_name, BUF_LEN, "%s::%s", - perl_class_name, methods[i]); + while (methods[i] != NULL) { + snprintf(full_name, BUF_LEN, "%s::%s", perl_class_name, + methods[i]); if (get_cv(full_name, 0) == NULL) { return methods[i]; @@ -522,18 +522,18 @@ missing_perl_method(const char *perl_class_name) } isc_result_t -dlz_create(const char *dlzname, unsigned int argc, char *argv[], - void **dbdata, ...) +dlz_create(const char *dlzname, unsigned int argc, char *argv[], void **dbdata, + ...) { config_data_t *cd; - char *init_args[] = { NULL, NULL }; - char *perlrun[] = { "", NULL, "dlz perl", NULL }; - char *perl_class_name; - int r; - va_list ap; - const char *helper_name; - const char *missing_method_name; - char *call_argv_args = NULL; + char * init_args[] = { NULL, NULL }; + char * perlrun[] = { "", NULL, "dlz perl", NULL }; + char * perl_class_name; + int r; + va_list ap; + const char * helper_name; + const char * missing_method_name; + char * call_argv_args = NULL; #ifdef MULTIPLICITY PerlInterpreter *my_perl; #endif @@ -547,29 +547,27 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], /* fill in the helper functions */ va_start(ap, dbdata); while ((helper_name = va_arg(ap, const char *)) != NULL) { - b9_add_helper(cd, helper_name, va_arg(ap, void*)); + b9_add_helper(cd, helper_name, va_arg(ap, void *)); } va_end(ap); if (argc < 2) { cd->log(ISC_LOG_ERROR, - "DLZ Perl '%s': Missing script argument.", - dlzname); + "DLZ Perl '%s': Missing script argument.", dlzname); free(cd); return (ISC_R_FAILURE); } if (argc < 3) { cd->log(ISC_LOG_ERROR, - "DLZ Perl '%s': Missing class name argument.", - dlzname); + "DLZ Perl '%s': Missing class name argument.", dlzname); free(cd); return (ISC_R_FAILURE); } perl_class_name = argv[2]; cd->log(ISC_LOG_INFO, "DLZ Perl '%s': Loading '%s' from location '%s'", - dlzname, perl_class_name, argv[1], argc); + dlzname, perl_class_name, argv[1], argc); #ifndef MULTIPLICITY if (global_perl) { @@ -595,7 +593,7 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], my_perl = cd->perl; #endif PERL_SET_CONTEXT(cd->perl); - + /* * We will re-create the interpreter during an rndc reconfig, so we * must set this variable per perlembed in order to insure we can @@ -622,10 +620,9 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], } /* Let Perl know about our callbacks. */ - call_argv("DLZ_Perl::clientinfo::bootstrap", - G_DISCARD|G_NOARGS, &call_argv_args); - call_argv("DLZ_Perl::bootstrap", - G_DISCARD|G_NOARGS, &call_argv_args); + call_argv("DLZ_Perl::clientinfo::bootstrap", G_DISCARD | G_NOARGS, + &call_argv_args); + call_argv("DLZ_Perl::bootstrap", G_DISCARD | G_NOARGS, &call_argv_args); /* * Run the script. We don't really need to do this since we have @@ -646,7 +643,8 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], { cd->log(ISC_LOG_ERROR, "DLZ Perl '%s': Missing required function '%s', " - "aborting", dlzname, missing_method_name); + "aborting", + dlzname, missing_method_name); goto CLEAN_UP_PERL_AND_FAIL; } @@ -669,11 +667,12 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], PUTBACK; - r = call_method("new", G_EVAL|G_SCALAR); + r = call_method("new", G_EVAL | G_SCALAR); SPAGAIN; - if (r) cd->perl_class = SvREFCNT_inc(POPs); + if (r) + cd->perl_class = SvREFCNT_inc(POPs); PUTBACK; FREETMPS; @@ -681,8 +680,7 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], if (SvTRUE(ERRSV)) { POPs; - cd->log(ISC_LOG_ERROR, - "DLZ Perl '%s': new died in eval: %s", + cd->log(ISC_LOG_ERROR, "DLZ Perl '%s': new died in eval: %s", dlzname, SvPV_nolen(ERRSV)); goto CLEAN_UP_PERL_AND_FAIL; } @@ -710,8 +708,10 @@ CLEAN_UP_PERL_AND_FAIL: return (ISC_R_FAILURE); } -void dlz_destroy(void *dbdata) { - config_data_t *cd = (config_data_t *) dbdata; +void +dlz_destroy(void *dbdata) +{ + config_data_t *cd = (config_data_t *)dbdata; #ifdef MULTIPLICITY PerlInterpreter *my_perl = cd->perl; #endif diff --git a/contrib/dlz/modules/perl/dlz_perl_driver.h b/contrib/dlz/modules/perl/dlz_perl_driver.h index 1db8e2833d..513cbe957d 100644 --- a/contrib/dlz/modules/perl/dlz_perl_driver.h +++ b/contrib/dlz/modules/perl/dlz_perl_driver.h @@ -20,5 +20,5 @@ /* This is the only part that differs from dlz_minimal.h. */ typedef struct dlz_perl_clientinfo_opaque { dns_clientinfomethods_t *methods; - dns_clientinfo_t *clientinfo; + dns_clientinfo_t * clientinfo; } dlz_perl_clientinfo_opaque; diff --git a/contrib/dlz/modules/sqlite3/dlz_sqlite3_dynamic.c b/contrib/dlz/modules/sqlite3/dlz_sqlite3_dynamic.c index caf519f5d5..dbde56bcd5 100644 --- a/contrib/dlz/modules/sqlite3/dlz_sqlite3_dynamic.c +++ b/contrib/dlz/modules/sqlite3/dlz_sqlite3_dynamic.c @@ -34,7 +34,8 @@ */ /* - * Copyright (C) 1999-2001, 2013-2014, 2016 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 1999-2001, 2013-2014, 2016 Internet Systems Consortium, Inc. + * ("ISC") * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -46,17 +47,16 @@ * update support. Based in part on SQLite code contributed by Tim Tessier. */ -#include -#include -#include -#include - -#include -#include -#include -#include - #include +#include +#include +#include +#include + +#include +#include +#include +#include #define dbc_search_limit 30 #define ALLNODES 1 @@ -75,8 +75,8 @@ */ typedef struct { #if PTHREADS - db_list_t *db; /*%< handle to a list of DB */ - int dbcount; + db_list_t *db; /*%< handle to a list of DB */ + int dbcount; #else dbinstance_t *db; /*%< handle to DB */ #endif @@ -84,9 +84,9 @@ typedef struct { char *dbname; /* Helper functions from the dlz_dlopen driver */ - log_t *log; - dns_sdlz_putrr_t *putrr; - dns_sdlz_putnamedrr_t *putnamedrr; + log_t * log; + dns_sdlz_putrr_t * putrr; + dns_sdlz_putnamedrr_t * putnamedrr; dns_dlz_writeablezone_t *writeable_zone; } sqlite3_instance_t; @@ -94,17 +94,16 @@ typedef struct { * SQLite3 result set */ typedef struct { - char **pazResult; /* Result of the query */ + char ** pazResult; /* Result of the query */ unsigned int pnRow; /* Number of result rows */ unsigned int pnColumn; /* Number of result columns */ unsigned int curRow; /* Current row */ - char *pzErrmsg; /* Error message */ + char * pzErrmsg; /* Error message */ } sqlite3_res_t; /* forward references */ isc_result_t -dlz_findzonedb(void *dbdata, const char *name, - dns_clientinfomethods_t *methods, +dlz_findzonedb(void *dbdata, const char *name, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo); void @@ -118,10 +117,11 @@ b9_add_helper(sqlite3_instance_t *db, const char *helper_name, void *ptr); */ void -sqlite3_destroy(dbinstance_t *db) { +sqlite3_destroy(dbinstance_t *db) +{ /* release DB connection */ if (db->dbconn != NULL) - sqlite3_close((sqlite3 *) db->dbconn); + sqlite3_close((sqlite3 *)db->dbconn); sqlite3_shutdown(); /* destroy DB instance */ @@ -135,7 +135,8 @@ sqlite3_destroy(dbinstance_t *db) { * multithreaded operation. */ static void -sqlite3_destroy_dblist(db_list_t *dblist) { +sqlite3_destroy_dblist(db_list_t *dblist) +{ dbinstance_t *ndbi = NULL; dbinstance_t *dbi = NULL; @@ -162,9 +163,10 @@ sqlite3_destroy_dblist(db_list_t *dblist) { * multithreaded operation. */ static dbinstance_t * -sqlite3_find_avail(sqlite3_instance_t *sqlite3) { +sqlite3_find_avail(sqlite3_instance_t *sqlite3) +{ dbinstance_t *dbi = NULL, *head; - int count = 0; + int count = 0; /* get top of list */ head = dbi = DLZ_LIST_HEAD(*(sqlite3->db)); @@ -186,8 +188,9 @@ sqlite3_find_avail(sqlite3_instance_t *sqlite3) { } sqlite3->log(ISC_LOG_INFO, - "SQLite3 module: unable to find available connection " - "after searching %d times", count); + "SQLite3 module: unable to find available connection " + "after searching %d times", + count); return (NULL); } #endif /* PTHREADS */ @@ -200,9 +203,10 @@ sqlite3_find_avail(sqlite3_instance_t *sqlite3) { * want special characters in the string causing problems. */ static char * -escape_string(const char *instr) { - char *outstr; - char *ptr; +escape_string(const char *instr) +{ + char * outstr; + char * ptr; unsigned int len; unsigned int tlen = 0; unsigned int atlen = 0; @@ -221,7 +225,7 @@ escape_string(const char *instr) { if (tlen > atlen || instr[i] == '\0') break; - if (instr[i] == '\'') { + if (instr[i] == '\'') { *ptr++ = '\''; tlen++; } @@ -244,22 +248,20 @@ escape_string(const char *instr) { * a result set. */ static isc_result_t -sqlite3_get_resultset(const char *zone, const char *record, - const char *client, unsigned int query, - void *dbdata, sqlite3_res_t **rsp) +sqlite3_get_resultset(const char *zone, const char *record, const char *client, + unsigned int query, void *dbdata, sqlite3_res_t **rsp) { - isc_result_t result; - dbinstance_t *dbi = NULL; + isc_result_t result; + dbinstance_t * dbi = NULL; sqlite3_instance_t *db = (sqlite3_instance_t *)dbdata; - char *querystring = NULL; - sqlite3_res_t *rs = NULL; - unsigned int i = 0; - unsigned int j = 0; - int qres = 0; + char * querystring = NULL; + sqlite3_res_t * rs = NULL; + unsigned int i = 0; + unsigned int j = 0; + int qres = 0; if ((query == COUNTZONE && rsp != NULL) || - (query != COUNTZONE && (rsp == NULL || *rsp != NULL))) - { + (query != COUNTZONE && (rsp == NULL || *rsp != NULL))) { db->log(ISC_LOG_DEBUG(2), "Invalid result set pointer."); result = ISC_R_FAILURE; goto cleanup; @@ -268,7 +270,7 @@ sqlite3_get_resultset(const char *zone, const char *record, #if PTHREADS /* find an available DBI from the list */ dbi = sqlite3_find_avail(db); -#else /* PTHREADS */ +#else /* PTHREADS */ /* * only 1 DBI - no need to lock instance lock either * only 1 thread in the whole process, no possible contention. @@ -281,7 +283,7 @@ sqlite3_get_resultset(const char *zone, const char *record, } /* what type of query are we going to run? */ - switch(query) { + switch (query) { case ALLNODES: if (dbi->allnodes_q == NULL) { result = ISC_R_NOTIMPLEMENTED; @@ -302,9 +304,9 @@ sqlite3_get_resultset(const char *zone, const char *record, break; case FINDZONE: if (dbi->findzone_q == NULL) { - db->log(ISC_LOG_DEBUG(2), - "No query specified for findzone. " - "Findzone requires a query"); + db->log(ISC_LOG_DEBUG(2), "No query specified for " + "findzone. " + "Findzone requires a query"); result = ISC_R_FAILURE; goto cleanup; } @@ -317,22 +319,20 @@ sqlite3_get_resultset(const char *zone, const char *record, break; case LOOKUP: if (dbi->lookup_q == NULL) { - db->log(ISC_LOG_DEBUG(2), - "No query specified for lookup. " - "Lookup requires a query"); + db->log(ISC_LOG_DEBUG(2), "No query specified for " + "lookup. " + "Lookup requires a query"); result = ISC_R_FAILURE; goto cleanup; } break; default: - db->log(ISC_LOG_ERROR, - "Incorrect query flag passed to " - "sqlite3_get_resultset"); + db->log(ISC_LOG_ERROR, "Incorrect query flag passed to " + "sqlite3_get_resultset"); result = ISC_R_UNEXPECTED; goto cleanup; } - if (zone != NULL) { if (dbi->zone != NULL) free(dbi->zone); @@ -373,7 +373,7 @@ sqlite3_get_resultset(const char *zone, const char *record, * what type of query are we going to run? this time we build * the actual query to run. */ - switch(query) { + switch (query) { case ALLNODES: querystring = build_querystring(dbi->allnodes_q); break; @@ -393,9 +393,8 @@ sqlite3_get_resultset(const char *zone, const char *record, querystring = build_querystring(dbi->lookup_q); break; default: - db->log(ISC_LOG_ERROR, - "Incorrect query flag passed to " - "sqlite3_get_resultset"); + db->log(ISC_LOG_ERROR, "Incorrect query flag passed to " + "sqlite3_get_resultset"); result = ISC_R_UNEXPECTED; goto cleanup; } @@ -436,7 +435,7 @@ sqlite3_get_resultset(const char *zone, const char *record, *rsp = rs; } - cleanup: +cleanup: if (dbi->zone != NULL) { free(dbi->zone); dbi->zone = NULL; @@ -451,7 +450,7 @@ sqlite3_get_resultset(const char *zone, const char *record, } /* release the lock so another thread can use this dbi */ - (void) dlz_mutex_unlock(&dbi->lock); + (void)dlz_mutex_unlock(&dbi->lock); if (querystring != NULL) free(querystring); @@ -466,7 +465,8 @@ sqlite3_get_resultset(const char *zone, const char *record, */ char ** -sqlite3_fetch_row(sqlite3_res_t *rs) { +sqlite3_fetch_row(sqlite3_res_t *rs) +{ char **retval = NULL; if (rs != NULL) { if (rs->pnRow > 0U && rs->curRow < rs->pnRow) { @@ -479,7 +479,8 @@ sqlite3_fetch_row(sqlite3_res_t *rs) { } unsigned int -sqlite3_num_fields(sqlite3_res_t *rs) { +sqlite3_num_fields(sqlite3_res_t *rs) +{ unsigned int retval = 0; if (rs != NULL) retval = rs->pnColumn; @@ -487,7 +488,8 @@ sqlite3_num_fields(sqlite3_res_t *rs) { } unsigned int -sqlite3_num_rows(sqlite3_res_t *rs) { +sqlite3_num_rows(sqlite3_res_t *rs) +{ unsigned int retval = 0; if (rs != NULL) retval = rs->pnRow; @@ -495,7 +497,8 @@ sqlite3_num_rows(sqlite3_res_t *rs) { } void -sqlite3_free_result(sqlite3_res_t *rs) { +sqlite3_free_result(sqlite3_res_t *rs) +{ if (rs != NULL) { sqlite3_free_table(rs->pazResult); free(rs); @@ -507,19 +510,19 @@ sqlite3_process_rs(sqlite3_instance_t *db, dns_sdlzlookup_t *lookup, sqlite3_res_t *rs) { isc_result_t result = ISC_R_NOTFOUND; - char **row; + char ** row; unsigned int fields; unsigned int i, j; - char *tmpString; - char *endp; - int ttl; + char * tmpString; + char * endp; + int ttl; - row = sqlite3_fetch_row(rs); /* get a row from the result set */ + row = sqlite3_fetch_row(rs); /* get a row from the result set */ fields = sqlite3_num_fields(rs); /* how many columns in result set */ while (row != NULL) { unsigned int len = 0; - switch(fields) { + switch (fields) { case 1: /* * one column in rs, it's the data field. use @@ -544,14 +547,14 @@ sqlite3_process_rs(sqlite3_instance_t *db, dns_sdlzlookup_t *lookup, */ ttl = strtol(safeGet(row[0]), &endp, 10); if (*endp != '\0' || ttl < 0) { - db->log(ISC_LOG_ERROR, - "SQLite3 module: TTL must be " - "a postive number"); + db->log(ISC_LOG_ERROR, "SQLite3 module: TTL " + "must be " + "a postive number"); return (ISC_R_FAILURE); } result = db->putrr(lookup, safeGet(row[1]), ttl, - safeGet(row[2])); + safeGet(row[2])); break; default: /* @@ -568,9 +571,10 @@ sqlite3_process_rs(sqlite3_instance_t *db, dns_sdlzlookup_t *lookup, */ tmpString = malloc(len + 1); if (tmpString == NULL) { - db->log(ISC_LOG_ERROR, - "SQLite3 module: unable to allocate " - "memory for temporary string"); + db->log(ISC_LOG_ERROR, "SQLite3 module: unable " + "to allocate " + "memory for temporary " + "string"); sqlite3_free_result(rs); return (ISC_R_FAILURE); } @@ -583,22 +587,22 @@ sqlite3_process_rs(sqlite3_instance_t *db, dns_sdlzlookup_t *lookup, ttl = strtol(safeGet(row[0]), &endp, 10); if (*endp != '\0' || ttl < 0) { - db->log(ISC_LOG_ERROR, - "SQLite3 module: TTL must be " - "a postive number"); + db->log(ISC_LOG_ERROR, "SQLite3 module: TTL " + "must be " + "a postive number"); free(tmpString); return (ISC_R_FAILURE); } - result = db->putrr(lookup, safeGet(row[1]), - ttl, tmpString); + result = db->putrr(lookup, safeGet(row[1]), ttl, + tmpString); free(tmpString); } if (result != ISC_R_SUCCESS) { sqlite3_free_result(rs); - db->log(ISC_LOG_ERROR, - "putrr returned error: %d", result); + db->log(ISC_LOG_ERROR, "putrr returned error: %d", + result); return (ISC_R_FAILURE); } @@ -615,13 +619,12 @@ sqlite3_process_rs(sqlite3_instance_t *db, dns_sdlzlookup_t *lookup, /*% determine if the zone is supported by (in) the database */ isc_result_t -dlz_findzonedb(void *dbdata, const char *name, - dns_clientinfomethods_t *methods, +dlz_findzonedb(void *dbdata, const char *name, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) { - isc_result_t result; - sqlite3_res_t *rs = NULL; - sqlite3_uint64 rows; + isc_result_t result; + sqlite3_res_t * rs = NULL; + sqlite3_uint64 rows; sqlite3_instance_t *db = (sqlite3_instance_t *)dbdata; UNUSED(methods); @@ -632,9 +635,8 @@ dlz_findzonedb(void *dbdata, const char *name, if (rs != NULL) sqlite3_free_result(rs); - db->log(ISC_LOG_ERROR, - "SQLite3 module: unable to return " - "result set for FINDZONE query"); + db->log(ISC_LOG_ERROR, "SQLite3 module: unable to return " + "result set for FINDZONE query"); return (ISC_R_FAILURE); } @@ -645,8 +647,8 @@ dlz_findzonedb(void *dbdata, const char *name, rows = sqlite3_num_rows(rs); sqlite3_free_result(rs); if (rows > 0) { - sqlite3_get_resultset(name, NULL, NULL, COUNTZONE, - dbdata, NULL); + sqlite3_get_resultset(name, NULL, NULL, COUNTZONE, dbdata, + NULL); return (ISC_R_SUCCESS); } @@ -655,11 +657,12 @@ dlz_findzonedb(void *dbdata, const char *name, /*% Determine if the client is allowed to perform a zone transfer */ isc_result_t -dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { - isc_result_t result; +dlz_allowzonexfr(void *dbdata, const char *name, const char *client) +{ + isc_result_t result; sqlite3_instance_t *db = (sqlite3_instance_t *)dbdata; - sqlite3_res_t *rs = NULL; - sqlite3_uint64 rows; + sqlite3_res_t * rs = NULL; + sqlite3_uint64 rows; /* first check if the zone is supported by the database. */ result = dlz_findzonedb(dbdata, name, NULL, NULL); @@ -672,17 +675,16 @@ dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { * transfer is allowed for this client and did the config file * have an allow zone xfr query. */ - result = sqlite3_get_resultset(name, NULL, client, ALLOWXFR, - dbdata, &rs); + result = sqlite3_get_resultset(name, NULL, client, ALLOWXFR, dbdata, + &rs); if (result == ISC_R_NOTIMPLEMENTED) return (result); if (result != ISC_R_SUCCESS || rs == NULL) { if (rs != NULL) sqlite3_free_result(rs); - db->log(ISC_LOG_ERROR, - "SQLite3 module: unable to return " - "result set for ALLOWXFR query"); + db->log(ISC_LOG_ERROR, "SQLite3 module: unable to return " + "result set for ALLOWXFR query"); return (ISC_R_FAILURE); } @@ -704,16 +706,17 @@ dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { * query. */ isc_result_t -dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { - isc_result_t result; +dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) +{ + isc_result_t result; sqlite3_instance_t *db = (sqlite3_instance_t *)dbdata; - sqlite3_res_t *rs = NULL; - char **row; - unsigned int fields; - unsigned int j; - char *tmpString; - char *endp; - int ttl; + sqlite3_res_t * rs = NULL; + char ** row; + unsigned int fields; + unsigned int j; + char * tmpString; + char * endp; + int ttl; result = sqlite3_get_resultset(zone, NULL, NULL, ALLNODES, dbdata, &rs); if (result == ISC_R_NOTIMPLEMENTED) @@ -721,9 +724,8 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { /* if we didn't get a result set, log an err msg. */ if (result != ISC_R_SUCCESS) { - db->log(ISC_LOG_ERROR, - "SQLite3 module: unable to return " - "result set for all nodes query"); + db->log(ISC_LOG_ERROR, "SQLite3 module: unable to return " + "result set for all nodes query"); goto cleanup; } @@ -733,18 +735,17 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { row = sqlite3_fetch_row(rs); while (row != NULL) { if (fields < 4) { - db->log(ISC_LOG_ERROR, - "SQLite3 module: too few fields returned " - "by ALLNODES query"); + db->log(ISC_LOG_ERROR, "SQLite3 module: too few fields " + "returned " + "by ALLNODES query"); result = ISC_R_FAILURE; goto cleanup; } ttl = strtol(safeGet(row[0]), &endp, 10); if (*endp != '\0' || ttl < 0) { - db->log(ISC_LOG_ERROR, - "SQLite3 module: TTL must be " - "a postive number"); + db->log(ISC_LOG_ERROR, "SQLite3 module: TTL must be " + "a postive number"); result = ISC_R_FAILURE; goto cleanup; } @@ -765,9 +766,10 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { tmpString = malloc(len + 1); if (tmpString == NULL) { - db->log(ISC_LOG_ERROR, - "SQLite3 module: unable to allocate " - "memory for temporary string"); + db->log(ISC_LOG_ERROR, "SQLite3 module: unable " + "to allocate " + "memory for temporary " + "string"); result = ISC_R_FAILURE; goto cleanup; } @@ -779,14 +781,14 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { } result = db->putnamedrr(allnodes, safeGet(row[2]), - safeGet(row[1]), - ttl, tmpString); + safeGet(row[1]), ttl, + tmpString); free(tmpString); } if (result != ISC_R_SUCCESS) { - db->log(ISC_LOG_ERROR, - "putnamedrr returned error: %s", result); + db->log(ISC_LOG_ERROR, "putnamedrr returned error: %s", + result); result = ISC_R_FAILURE; break; } @@ -794,7 +796,7 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { row = sqlite3_fetch_row(rs); } - cleanup: +cleanup: if (rs != NULL) sqlite3_free_result(rs); @@ -806,22 +808,22 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { * use this function to get that information for named. */ isc_result_t -dlz_authority(const char *zone, void *dbdata, dns_sdlzlookup_t *lookup) { - isc_result_t result; - sqlite3_res_t *rs = NULL; - sqlite3_instance_t *db = (sqlite3_instance_t *) dbdata; +dlz_authority(const char *zone, void *dbdata, dns_sdlzlookup_t *lookup) +{ + isc_result_t result; + sqlite3_res_t * rs = NULL; + sqlite3_instance_t *db = (sqlite3_instance_t *)dbdata; - result = sqlite3_get_resultset(zone, NULL, NULL, AUTHORITY, - dbdata, &rs); + result = + sqlite3_get_resultset(zone, NULL, NULL, AUTHORITY, dbdata, &rs); if (result == ISC_R_NOTIMPLEMENTED) return (result); if (result != ISC_R_SUCCESS) { if (rs != NULL) sqlite3_free_result(rs); - db->log(ISC_LOG_ERROR, - "SQLite3 module: unable to return " - "result set for AUTHORITY query"); + db->log(ISC_LOG_ERROR, "SQLite3 module: unable to return " + "result set for AUTHORITY query"); return (ISC_R_FAILURE); } @@ -834,14 +836,13 @@ dlz_authority(const char *zone, void *dbdata, dns_sdlzlookup_t *lookup) { /*% If zone is supported, lookup up a (or multiple) record(s) in it */ isc_result_t -dlz_lookup(const char *zone, const char *name, - void *dbdata, dns_sdlzlookup_t *lookup, - dns_clientinfomethods_t *methods, +dlz_lookup(const char *zone, const char *name, void *dbdata, + dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) { - isc_result_t result; - sqlite3_res_t *rs = NULL; - sqlite3_instance_t *db = (sqlite3_instance_t *) dbdata; + isc_result_t result; + sqlite3_res_t * rs = NULL; + sqlite3_instance_t *db = (sqlite3_instance_t *)dbdata; UNUSED(methods); UNUSED(clientinfo); @@ -852,9 +853,8 @@ dlz_lookup(const char *zone, const char *name, if (result != ISC_R_SUCCESS) { if (rs != NULL) sqlite3_free_result(rs); - db->log(ISC_LOG_ERROR, - "SQLite3 module: unable to return " - "result set for LOOKUP query"); + db->log(ISC_LOG_ERROR, "SQLite3 module: unable to return " + "result set for LOOKUP query"); return (ISC_R_FAILURE); } @@ -869,18 +869,18 @@ dlz_lookup(const char *zone, const char *name, * Create an instance of the module. */ isc_result_t -dlz_create(const char *dlzname, unsigned int argc, char *argv[], - void **dbdata, ...) +dlz_create(const char *dlzname, unsigned int argc, char *argv[], void **dbdata, + ...) { - isc_result_t result = ISC_R_FAILURE; + isc_result_t result = ISC_R_FAILURE; sqlite3_instance_t *s3 = NULL; - dbinstance_t *dbi = NULL; - sqlite3 *dbc = NULL; - char *tmp = NULL; - char *endp; - const char *helper_name; + dbinstance_t * dbi = NULL; + sqlite3 * dbc = NULL; + char * tmp = NULL; + char * endp; + const char * helper_name; #if SQLITE3_VERSION_ID >= 50000 - my_bool auto_reconnect = 1; + my_bool auto_reconnect = 1; #endif #if PTHREADS int dbcount; @@ -898,39 +898,37 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], /* Fill in the helper functions */ va_start(ap, dbdata); - while ((helper_name = va_arg(ap, const char*)) != NULL) - b9_add_helper(s3, helper_name, va_arg(ap, void*)); + while ((helper_name = va_arg(ap, const char *)) != NULL) + b9_add_helper(s3, helper_name, va_arg(ap, void *)); va_end(ap); #if PTHREADS /* if debugging, let user know we are multithreaded. */ s3->log(ISC_LOG_DEBUG(1), "SQLite3 module: running multithreaded"); -#else /* PTHREADS */ +#else /* PTHREADS */ /* if debugging, let user know we are single threaded. */ s3->log(ISC_LOG_DEBUG(1), "SQLite3 module: running single threaded"); #endif /* PTHREADS */ /* verify we have at least 4 arg's passed to the module */ if (argc < 4) { - s3->log(ISC_LOG_ERROR, - "SQLite3 module requires " - "at least 4 command line args."); + s3->log(ISC_LOG_ERROR, "SQLite3 module requires " + "at least 4 command line args."); return (ISC_R_FAILURE); } /* no more than 8 arg's should be passed to the module */ if (argc > 8) { - s3->log(ISC_LOG_ERROR, - "SQLite3 module cannot accept " - "more than 8 command line args."); + s3->log(ISC_LOG_ERROR, "SQLite3 module cannot accept " + "more than 8 command line args."); return (ISC_R_FAILURE); } /* get db name - required */ s3->dbname = get_parameter_value(argv[1], "dbname="); if (s3->dbname == NULL) { - s3->log(ISC_LOG_ERROR, - "SQLite3 module requires a dbname parameter."); + s3->log(ISC_LOG_ERROR, "SQLite3 module requires a dbname " + "parameter."); result = ISC_R_FAILURE; goto cleanup; } @@ -943,9 +941,9 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], else { dbcount = strtol(tmp, &endp, 10); if (*endp != '\0' || dbcount < 1) { - s3->log(ISC_LOG_ERROR, - "SQLite3 module: database connection count " - "must be positive."); + s3->log(ISC_LOG_ERROR, "SQLite3 module: database " + "connection count " + "must be positive."); free(tmp); result = ISC_R_FAILURE; goto cleanup; @@ -969,26 +967,24 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], */ for (i = 0; i < dbcount; i++) { #endif /* PTHREADS */ - switch(argc) { + switch (argc) { case 4: - result = build_dbinstance(NULL, NULL, NULL, - argv[2], argv[3], NULL, - &dbi, s3->log); + result = build_dbinstance(NULL, NULL, NULL, argv[2], + argv[3], NULL, &dbi, s3->log); break; case 5: - result = build_dbinstance(NULL, NULL, argv[4], - argv[2], argv[3], NULL, - &dbi, s3->log); + result = build_dbinstance(NULL, NULL, argv[4], argv[2], + argv[3], NULL, &dbi, s3->log); break; case 6: result = build_dbinstance(argv[5], NULL, argv[4], - argv[2], argv[3], NULL, - &dbi, s3->log); + argv[2], argv[3], NULL, &dbi, + s3->log); break; case 7: result = build_dbinstance(argv[5], argv[6], argv[4], - argv[2], argv[3], NULL, - &dbi, s3->log); + argv[2], argv[3], NULL, &dbi, + s3->log); break; case 8: result = build_dbinstance(argv[5], argv[6], argv[4], @@ -999,11 +995,10 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], result = ISC_R_FAILURE; } - if (result != ISC_R_SUCCESS) { - s3->log(ISC_LOG_ERROR, - "SQLite3 module: could not create " - "database instance object."); + s3->log(ISC_LOG_ERROR, "SQLite3 module: could not " + "create " + "database instance object."); result = ISC_R_FAILURE; goto cleanup; } @@ -1011,9 +1006,8 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], /* create and set db connection */ ret = sqlite3_initialize(); if (ret != SQLITE_OK) { - s3->log(ISC_LOG_ERROR, - "SQLite3 module: could not " - "initialize database object."); + s3->log(ISC_LOG_ERROR, "SQLite3 module: could not " + "initialize database object."); result = ISC_R_FAILURE; goto cleanup; } @@ -1021,8 +1015,9 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], ret = sqlite3_open(s3->dbname, &dbc); if (ret != SQLITE_OK) { s3->log(ISC_LOG_ERROR, - "SQLite3 module: could not " - "open '%s'.", s3->dbname); + "SQLite3 module: could not " + "open '%s'.", + s3->dbname); result = ISC_R_FAILURE; goto cleanup; } @@ -1032,11 +1027,11 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], DLZ_LINK_INIT(dbi, link); DLZ_LIST_APPEND(*(s3->db), dbi, link); #else - /* - * when single threaded, hold onto the one connection - * instance. - */ - s3->db = dbi; + /* + * when single threaded, hold onto the one connection + * instance. + */ + s3->db = dbi; #endif dbi->dbconn = dbc; @@ -1050,7 +1045,7 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], *dbdata = s3; return (ISC_R_SUCCESS); - cleanup: +cleanup: dlz_destroy(s3); return (result); @@ -1060,13 +1055,14 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], * Destroy the module. */ void -dlz_destroy(void *dbdata) { +dlz_destroy(void *dbdata) +{ sqlite3_instance_t *db = (sqlite3_instance_t *)dbdata; #if PTHREADS /* cleanup the list of DBI's */ if (db->db != NULL) sqlite3_destroy_dblist((db_list_t *)(db->db)); -#else /* PTHREADS */ +#else /* PTHREADS */ sqlite3_destroy(db); #endif /* PTHREADS */ @@ -1078,9 +1074,9 @@ dlz_destroy(void *dbdata) { * Return the version of the API */ int -dlz_version(unsigned int *flags) { - *flags |= (DNS_SDLZFLAG_RELATIVEOWNER | - DNS_SDLZFLAG_RELATIVERDATA | +dlz_version(unsigned int *flags) +{ + *flags |= (DNS_SDLZFLAG_RELATIVEOWNER | DNS_SDLZFLAG_RELATIVERDATA | DNS_SDLZFLAG_THREADSAFE); return (DLZ_DLOPEN_VERSION); } @@ -1089,7 +1085,8 @@ dlz_version(unsigned int *flags) { * Register a helper function from the bind9 dlz_dlopen driver */ static void -b9_add_helper(sqlite3_instance_t *db, const char *helper_name, void *ptr) { +b9_add_helper(sqlite3_instance_t *db, const char *helper_name, void *ptr) +{ if (strcmp(helper_name, "log") == 0) db->log = (log_t *)ptr; if (strcmp(helper_name, "putrr") == 0) diff --git a/contrib/dlz/modules/wildcard/dlz_wildcard_dynamic.c b/contrib/dlz/modules/wildcard/dlz_wildcard_dynamic.c index 2678584651..9146b0fb86 100644 --- a/contrib/dlz/modules/wildcard/dlz_wildcard_dynamic.c +++ b/contrib/dlz/modules/wildcard/dlz_wildcard_dynamic.c @@ -35,7 +35,8 @@ */ /* - * Copyright (C) 1999-2001, 2013, 2016 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 1999-2001, 2013, 2016 Internet Systems Consortium, Inc. + * ("ISC") * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -46,37 +47,39 @@ * This provides the externally loadable wildcard DLZ module. */ +#include #include +#include #include #include -#include -#include #include +#include -#include -#include #include +#include +#include -#include - -#define DE_CONST(konst, var) \ - do { \ - union { const void *k; void *v; } _u; \ - _u.k = konst; \ - var = _u.v; \ +#define DE_CONST(konst, var) \ + do { \ + union { \ + const void *k; \ + void * v; \ + } _u; \ + _u.k = konst; \ + var = _u.v; \ } while (0) /* fnmatch() return values. */ -#define FNM_NOMATCH 1 /* Match failed. */ +#define FNM_NOMATCH 1 /* Match failed. */ /* fnmatch() flags. */ -#define FNM_NOESCAPE 0x01 /* Disable backslash escaping. */ -#define FNM_PATHNAME 0x02 /* Slash must be matched by slash. */ -#define FNM_PERIOD 0x04 /* Period must be matched by period. */ -#define FNM_LEADING_DIR 0x08 /* Ignore / after Imatch. */ -#define FNM_CASEFOLD 0x10 /* Case insensitive search. */ -#define FNM_IGNORECASE FNM_CASEFOLD -#define FNM_FILE_NAME FNM_PATHNAME +#define FNM_NOESCAPE 0x01 /* Disable backslash escaping. */ +#define FNM_PATHNAME 0x02 /* Slash must be matched by slash. */ +#define FNM_PERIOD 0x04 /* Period must be matched by period. */ +#define FNM_LEADING_DIR 0x08 /* Ignore / after Imatch. */ +#define FNM_CASEFOLD 0x10 /* Case insensitive search. */ +#define FNM_IGNORECASE FNM_CASEFOLD +#define FNM_FILE_NAME FNM_PATHNAME /* * Our data structures. @@ -86,26 +89,26 @@ typedef struct named_rr nrr_t; typedef DLZ_LIST(nrr_t) rr_list_t; typedef struct config_data { - char *zone_pattern; - char *axfr_pattern; - rr_list_t rrs_list; - char *zone; - char *record; - char *client; + char * zone_pattern; + char * axfr_pattern; + rr_list_t rrs_list; + char * zone; + char * record; + char * client; /* Helper functions from the dlz_dlopen driver */ - log_t *log; - dns_sdlz_putrr_t *putrr; - dns_sdlz_putnamedrr_t *putnamedrr; + log_t * log; + dns_sdlz_putrr_t * putrr; + dns_sdlz_putnamedrr_t * putnamedrr; dns_dlz_writeablezone_t *writeable_zone; } config_data_t; struct named_rr { - char *name; - char *type; - int ttl; - query_list_t *data; - DLZ_LINK(nrr_t) link; + char * name; + char * type; + int ttl; + query_list_t *data; + DLZ_LINK(nrr_t) link; }; /* @@ -124,18 +127,19 @@ static const char * shortest_match(const char *pattern, const char *string); isc_result_t -dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) { - config_data_t *cd = (config_data_t *) dbdata; - isc_result_t result; - char *querystring = NULL; - nrr_t *nrec; - int i = 0; +dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) +{ + config_data_t *cd = (config_data_t *)dbdata; + isc_result_t result; + char * querystring = NULL; + nrr_t * nrec; + int i = 0; DE_CONST(zone, cd->zone); /* Write info message to log */ - cd->log(ISC_LOG_DEBUG(1), - "dlz_wildcard allnodes called for zone '%s'", zone); + cd->log(ISC_LOG_DEBUG(1), "dlz_wildcard allnodes called for zone '%s'", + zone); result = ISC_R_FAILURE; @@ -173,8 +177,9 @@ done: } isc_result_t -dlz_allowzonexfr(void *dbdata, const char *name, const char *client) { - config_data_t *cd = (config_data_t *) dbdata; +dlz_allowzonexfr(void *dbdata, const char *name, const char *client) +{ + config_data_t *cd = (config_data_t *)dbdata; UNUSED(name); @@ -193,13 +198,12 @@ isc_result_t dlz_findzonedb(void *dbdata, const char *name) #else isc_result_t -dlz_findzonedb(void *dbdata, const char *name, - dns_clientinfomethods_t *methods, +dlz_findzonedb(void *dbdata, const char *name, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) #endif { - config_data_t *cd = (config_data_t *) dbdata; - const char *p; + config_data_t *cd = (config_data_t *)dbdata; + const char * p; #if DLZ_DLOPEN_VERSION >= 3 UNUSED(methods); @@ -211,31 +215,29 @@ dlz_findzonedb(void *dbdata, const char *name, return (ISC_R_NOTFOUND); /* Write info message to log */ - cd->log(ISC_LOG_DEBUG(1), - "dlz_wildcard findzonedb matched '%s'", p); + cd->log(ISC_LOG_DEBUG(1), "dlz_wildcard findzonedb matched '%s'", p); return (ISC_R_SUCCESS); } #if DLZ_DLOPEN_VERSION == 1 isc_result_t -dlz_lookup(const char *zone, const char *name, - void *dbdata, dns_sdlzlookup_t *lookup) +dlz_lookup(const char *zone, const char *name, void *dbdata, + dns_sdlzlookup_t *lookup) #else isc_result_t -dlz_lookup(const char *zone, const char *name, - void *dbdata, dns_sdlzlookup_t *lookup, - dns_clientinfomethods_t *methods, +dlz_lookup(const char *zone, const char *name, void *dbdata, + dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo) #endif { - isc_result_t result; - config_data_t *cd = (config_data_t *) dbdata; - char *querystring = NULL; - const char *p; - char *namebuf; - nrr_t *nrec; - bool origin = true; + isc_result_t result; + config_data_t *cd = (config_data_t *)dbdata; + char * querystring = NULL; + const char * p; + char * namebuf; + nrr_t * nrec; + bool origin = true; #if DLZ_DLOPEN_VERSION >= 2 UNUSED(methods); @@ -249,8 +251,8 @@ dlz_lookup(const char *zone, const char *name, DE_CONST(name, cd->record); DE_CONST(p, cd->zone); - if ((p != zone) && (strcmp(name, "@") == 0 || strcmp(name, zone) == 0)) - { + if ((p != zone) && + (strcmp(name, "@") == 0 || strcmp(name, zone) == 0)) { size_t len = p - zone; namebuf = malloc(len); if (namebuf == NULL) @@ -275,8 +277,7 @@ dlz_lookup(const char *zone, const char *name, if (strcmp(cd->record, nrec->name) == 0) { /* We handle authority data in dlz_authority() */ if (strcmp(nrec->type, "SOA") == 0 || - strcmp(nrec->type, "NS") == 0) - { + strcmp(nrec->type, "NS") == 0) { nrec = next; continue; } @@ -287,8 +288,8 @@ dlz_lookup(const char *zone, const char *name, goto done; } - result = cd->putrr(lookup, nrec->type, - nrec->ttl, querystring); + result = cd->putrr(lookup, nrec->type, nrec->ttl, + querystring); if (result != ISC_R_SUCCESS) goto done; @@ -311,12 +312,13 @@ done: } isc_result_t -dlz_authority(const char *zone, void *dbdata, dns_sdlzlookup_t *lookup) { - isc_result_t result; - config_data_t *cd = (config_data_t *) dbdata; - char *querystring = NULL; - nrr_t *nrec; - const char *p, *name = "@"; +dlz_authority(const char *zone, void *dbdata, dns_sdlzlookup_t *lookup) +{ + isc_result_t result; + config_data_t *cd = (config_data_t *)dbdata; + char * querystring = NULL; + nrr_t * nrec; + const char * p, *name = "@"; p = shortest_match(cd->zone_pattern, zone); if (p == NULL) @@ -325,8 +327,8 @@ dlz_authority(const char *zone, void *dbdata, dns_sdlzlookup_t *lookup) { DE_CONST(p, cd->zone); /* Write info message to log */ - cd->log(ISC_LOG_DEBUG(1), - "dlz_wildcard_dynamic: authority for '%s'", zone); + cd->log(ISC_LOG_DEBUG(1), "dlz_wildcard_dynamic: authority for '%s'", + zone); result = ISC_R_NOTFOUND; nrec = DLZ_LIST_HEAD(cd->rrs_list); @@ -341,8 +343,8 @@ dlz_authority(const char *zone, void *dbdata, dns_sdlzlookup_t *lookup) { goto done; } - presult = cd->putrr(lookup, nrec->type, - nrec->ttl, querystring); + presult = cd->putrr(lookup, nrec->type, nrec->ttl, + querystring); if (presult != ISC_R_SUCCESS) { result = presult; goto done; @@ -366,7 +368,8 @@ done: } static void -destroy_rrlist(config_data_t *cd) { +destroy_rrlist(config_data_t *cd) +{ nrr_t *trec, *nrec; nrec = DLZ_LIST_HEAD(cd->rrs_list); @@ -390,16 +393,16 @@ destroy_rrlist(config_data_t *cd) { } isc_result_t -dlz_create(const char *dlzname, unsigned int argc, char *argv[], - void **dbdata, ...) +dlz_create(const char *dlzname, unsigned int argc, char *argv[], void **dbdata, + ...) { config_data_t *cd; - char *endp; - int i, def_ttl; - nrr_t *trec = NULL; - isc_result_t result; - const char *helper_name; - va_list ap; + char * endp; + int i, def_ttl; + nrr_t * trec = NULL; + isc_result_t result; + const char * helper_name; + va_list ap; if (argc < 8 || argc % 4 != 0) return (ISC_R_FAILURE); @@ -411,8 +414,8 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], /* Fill in the helper functions */ va_start(ap, dbdata); - while ((helper_name = va_arg(ap, const char*)) != NULL) - b9_add_helper(cd, helper_name, va_arg(ap, void*)); + while ((helper_name = va_arg(ap, const char *)) != NULL) + b9_add_helper(cd, helper_name, va_arg(ap, void *)); va_end(ap); /* @@ -465,9 +468,8 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], if (argv[i + 1][0] == '\0' || *endp != '\0' || trec->ttl < 0) trec->ttl = def_ttl; - result = build_querylist(argv[i + 3], &cd->zone, - &cd->record, &cd->client, - &trec->data, 0, cd->log); + result = build_querylist(argv[i + 3], &cd->zone, &cd->record, + &cd->client, &trec->data, 0, cd->log); /* If unsuccessful, log err msg and cleanup */ if (result != ISC_R_SUCCESS) { cd->log(ISC_LOG_ERROR, @@ -495,8 +497,9 @@ cleanup: } void -dlz_destroy(void *dbdata) { - config_data_t *cd = (config_data_t *) dbdata; +dlz_destroy(void *dbdata) +{ + config_data_t *cd = (config_data_t *)dbdata; /* * Write debugging message to log @@ -510,12 +513,12 @@ dlz_destroy(void *dbdata) { free(cd); } - /* * Return the version of the API */ int -dlz_version(unsigned int *flags) { +dlz_version(unsigned int *flags) +{ UNUSED(flags); /* XXX: ok to set DNS_SDLZFLAG_THREADSAFE here? */ return (DLZ_DLOPEN_VERSION); @@ -525,7 +528,8 @@ dlz_version(unsigned int *flags) { * Register a helper function from the bind9 dlz_dlopen driver */ static void -b9_add_helper(struct config_data *cd, const char *helper_name, void *ptr) { +b9_add_helper(struct config_data *cd, const char *helper_name, void *ptr) +{ if (strcmp(helper_name, "log") == 0) cd->log = (log_t *)ptr; if (strcmp(helper_name, "putrr") == 0) @@ -537,7 +541,8 @@ b9_add_helper(struct config_data *cd, const char *helper_name, void *ptr) { } static const char * -shortest_match(const char *pattern, const char *string) { +shortest_match(const char *pattern, const char *string) +{ const char *p = string; if (pattern == NULL || p == NULL || *p == '\0') return (NULL); @@ -563,17 +568,18 @@ shortest_match(const char *pattern, const char *string) { * in BIND, we want to be thread-safe and don't need multibyte - DNS names are * always ASCII. */ -#define EOS '\0' +#define EOS '\0' -#define RANGE_MATCH 1 -#define RANGE_NOMATCH 0 -#define RANGE_ERROR (-1) +#define RANGE_MATCH 1 +#define RANGE_NOMATCH 0 +#define RANGE_ERROR (-1) static int -fnmatch(const char *pattern, const char *string, int flags) { +fnmatch(const char *pattern, const char *string, int flags) +{ const char *stringstart; - char *newp; - char c, test; + char * newp; + char c, test; for (stringstart = string;;) switch (c = *pattern++) { @@ -588,7 +594,7 @@ fnmatch(const char *pattern, const char *string, int flags) { return (FNM_NOMATCH); if (*string == '.' && (flags & FNM_PERIOD) && (string == stringstart || - ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) + ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) return (FNM_NOMATCH); ++string; break; @@ -600,15 +606,18 @@ fnmatch(const char *pattern, const char *string, int flags) { if (*string == '.' && (flags & FNM_PERIOD) && (string == stringstart || - ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) + ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) return (FNM_NOMATCH); /* Optimize for pattern with * at end or before /. */ if (c == EOS) if (flags & FNM_PATHNAME) return ((flags & FNM_LEADING_DIR) || - index(string, '/') == NULL ? - 0 : FNM_NOMATCH); + index(string, + '/') == + NULL + ? 0 + : FNM_NOMATCH); else return (0); else if (c == '/' && flags & FNM_PATHNAME) { @@ -634,7 +643,7 @@ fnmatch(const char *pattern, const char *string, int flags) { return (FNM_NOMATCH); if (*string == '.' && (flags & FNM_PERIOD) && (string == stringstart || - ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) + ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) return (FNM_NOMATCH); switch (rangematch(pattern, *string, flags, &newp)) { @@ -673,8 +682,9 @@ fnmatch(const char *pattern, const char *string, int flags) { } static int -rangematch(const char *pattern, char test, int flags, char **newp) { - int negate, ok; +rangematch(const char *pattern, char test, int flags, char **newp) +{ + int negate, ok; char c, c2; /* @@ -684,7 +694,7 @@ rangematch(const char *pattern, char test, int flags, char **newp) { * consistency with the regular expression syntax. * J.T. Conklin (conklin@ngai.kaleida.com) */ - if ( (negate = (*pattern == '!' || *pattern == '^')) ) + if ((negate = (*pattern == '!' || *pattern == '^'))) ++pattern; if (flags & FNM_CASEFOLD) @@ -709,8 +719,8 @@ rangematch(const char *pattern, char test, int flags, char **newp) { if (flags & FNM_CASEFOLD) c = tolower((unsigned char)c); - if (*pattern == '-' - && (c2 = *(pattern+1)) != EOS && c2 != ']') { + if (*pattern == '-' && (c2 = *(pattern + 1)) != EOS && + c2 != ']') { pattern += 2; if (c2 == '\\' && !(flags & FNM_NOESCAPE)) c2 = *pattern++; diff --git a/fuzz/dns_name_fromtext_target.c b/fuzz/dns_name_fromtext_target.c index 9fe52bfa85..3c884b9231 100644 --- a/fuzz/dns_name_fromtext_target.c +++ b/fuzz/dns_name_fromtext_target.c @@ -11,29 +11,34 @@ #include #include + #include #include + #include #include -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); -int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - isc_buffer_t buf; - isc_result_t result; - dns_fixedname_t origin; - char *de_const; + isc_buffer_t buf; + isc_result_t result; + dns_fixedname_t origin; + char * de_const; - if (size < 5) { - return 0; - } + if (size < 5) { + return 0; + } - dns_fixedname_init(&origin); - DE_CONST(data, de_const); - isc_buffer_init(&buf, (void *)de_const, size); - isc_buffer_add(&buf, size); - result = dns_name_fromtext(dns_fixedname_name(&origin), &buf, dns_rootname, 0, NULL); - UNUSED(result); - return 0; + dns_fixedname_init(&origin); + DE_CONST(data, de_const); + isc_buffer_init(&buf, (void *)de_const, size); + isc_buffer_add(&buf, size); + result = dns_name_fromtext(dns_fixedname_name(&origin), &buf, + dns_rootname, 0, NULL); + UNUSED(result); + return 0; } diff --git a/fuzz/dns_rdata_fromwire_text.c b/fuzz/dns_rdata_fromwire_text.c index 425638abbf..a387aa733b 100644 --- a/fuzz/dns_rdata_fromwire_text.c +++ b/fuzz/dns_rdata_fromwire_text.c @@ -26,7 +26,11 @@ #include #include -#define CHECK(x) ({ if ((result = (x)) != ISC_R_SUCCESS) goto done; }) +#define CHECK(x) \ + ({ \ + if ((result = (x)) != ISC_R_SUCCESS) \ + goto done; \ + }) /* * Fuzz input to dns_rdata_fromwire(). Then convert the result @@ -34,41 +38,40 @@ * format again, checking for consistency throughout the sequence. */ -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); static void -nullmsg(dns_rdatacallbacks_t *cb, const char *fmt, ...) { - +nullmsg(dns_rdatacallbacks_t *cb, const char *fmt, ...) +{ UNUSED(cb); UNUSED(fmt); } int -LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - char totext[1024]; - dns_compress_t cctx; +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + char totext[1024]; + dns_compress_t cctx; dns_decompress_t dctx; - dns_rdatatype_t rdtype; + dns_rdatatype_t rdtype; dns_rdataclass_t rdclass; - dns_rdatatype_t typelist[256] = { 1000 }; /* unknown */ - dns_rdataclass_t classlist[] = { dns_rdataclass_in, - dns_rdataclass_hs, - dns_rdataclass_ch, - dns_rdataclass_any, + dns_rdatatype_t typelist[256] = { 1000 }; /* unknown */ + dns_rdataclass_t classlist[] = { dns_rdataclass_in, dns_rdataclass_hs, + dns_rdataclass_ch, dns_rdataclass_any, 60 }; - dns_rdata_t rdata1 = DNS_RDATA_INIT, - rdata2 = DNS_RDATA_INIT, + dns_rdata_t rdata1 = DNS_RDATA_INIT, rdata2 = DNS_RDATA_INIT, rdata3 = DNS_RDATA_INIT; dns_rdatacallbacks_t callbacks; - isc_buffer_t source, target; - isc_lex_t *lex = NULL; - isc_lexspecials_t specials; - isc_mem_t *mctx = NULL; - isc_result_t result; - unsigned char fromtext[1024]; - unsigned char fromwire[1024]; - unsigned char towire[1024]; - unsigned int classes = (sizeof(classlist)/sizeof(classlist[0])); + isc_buffer_t source, target; + isc_lex_t * lex = NULL; + isc_lexspecials_t specials; + isc_mem_t * mctx = NULL; + isc_result_t result; + unsigned char fromtext[1024]; + unsigned char fromwire[1024]; + unsigned char towire[1024]; + unsigned int classes = (sizeof(classlist) / sizeof(classlist[0])); unsigned int types = 1, flags, t; if (size < 2) { @@ -86,7 +89,7 @@ LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { dns_rdatatype_format(t, typebuf, sizeof(typebuf)); if (strncmp(typebuf, "TYPE", 4) != 0) { /* Assert when we need to grow typelist. */ - assert(types < sizeof(typelist)/sizeof(typelist[0])); + assert(types < sizeof(typelist) / sizeof(typelist[0])); typelist[types++] = t; } } @@ -94,8 +97,10 @@ LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { /* * Random type and class from a limited set. */ - rdtype = typelist[(*data++) % types]; size--; - rdclass = classlist[(*data++) % classes]; size--; + rdtype = typelist[(*data++) % types]; + size--; + rdclass = classlist[(*data++) % classes]; + size--; isc_mem_create(&mctx); @@ -122,8 +127,8 @@ LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { /* * Reject invalid rdata. */ - CHECK(dns_rdata_fromwire(&rdata1, rdclass, rdtype, &source, &dctx, - 0, &target)); + CHECK(dns_rdata_fromwire(&rdata1, rdclass, rdtype, &source, &dctx, 0, + &target)); /* * Convert to text from wire. @@ -140,9 +145,8 @@ LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { CHECK(isc_lex_openbuffer(lex, &source)); isc_buffer_init(&target, fromtext, sizeof(fromtext)); - result = dns_rdata_fromtext(&rdata2, rdclass, rdtype, lex, - dns_rootname, 0, mctx, &target, - &callbacks); + result = dns_rdata_fromtext(&rdata2, rdclass, rdtype, lex, dns_rootname, + 0, mctx, &target, &callbacks); assert(result == ISC_R_SUCCESS); assert(rdata2.length == size); assert(!memcmp(rdata2.data, data, size)); @@ -152,8 +156,8 @@ LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { */ isc_buffer_init(&target, totext, sizeof(totext)); flags = dns_master_styleflags(&dns_master_style_default); - result = dns_rdata_tofmttext(&rdata1, dns_rootname, flags, - 80 - 32, 4, "\n", &target); + result = dns_rdata_tofmttext(&rdata1, dns_rootname, flags, 80 - 32, 4, + "\n", &target); assert(result == ISC_R_SUCCESS); /* @@ -164,9 +168,8 @@ LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { CHECK(isc_lex_openbuffer(lex, &source)); isc_buffer_init(&target, fromtext, sizeof(fromtext)); - result = dns_rdata_fromtext(&rdata3, rdclass, rdtype, lex, - dns_rootname, 0, mctx, &target, - &callbacks); + result = dns_rdata_fromtext(&rdata3, rdclass, rdtype, lex, dns_rootname, + 0, mctx, &target, &callbacks); assert(result == ISC_R_SUCCESS); assert(rdata3.length == size); assert(!memcmp(rdata3.data, data, size)); @@ -183,7 +186,7 @@ LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { assert(target.used == size); assert(!memcmp(target.base, data, size)); - done: +done: if (lex != NULL) { isc_lex_destroy(&lex); } diff --git a/fuzz/fuzz.h b/fuzz/fuzz.h index 1db7b18f82..b8cee8b09d 100644 --- a/fuzz/fuzz.h +++ b/fuzz/fuzz.h @@ -23,11 +23,13 @@ ISC_LANG_BEGINDECLS -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); static isc_mem_t *mctx = NULL; -static void __attribute__((constructor)) init(void) { +static void __attribute__((constructor)) init(void) +{ isc_mem_create(&mctx); RUNTIME_CHECK(dst_lib_init(mctx, NULL) == ISC_R_SUCCESS); } diff --git a/fuzz/main.c b/fuzz/main.c index ae409b38d1..c109874555 100644 --- a/fuzz/main.c +++ b/fuzz/main.c @@ -9,24 +9,26 @@ * information regarding copyright ownership. */ -#include -#include -#include -#include -#include -#include #include -#include +#include +#include +#include +#include +#include +#include #include "fuzz.h" +#include + #ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION #include -static void test_all_from(const char *dirname) +static void +test_all_from(const char *dirname) { - DIR *dirp; + DIR * dirp; struct dirent *dp; dirp = opendir(dirname); @@ -35,17 +37,17 @@ static void test_all_from(const char *dirname) } while ((dp = readdir(dirp)) != NULL) { - char filename[strlen(dirname) + strlen(dp->d_name) + 2]; - int fd; + char filename[strlen(dirname) + strlen(dp->d_name) + 2]; + int fd; struct stat st; - char *data; - ssize_t n; + char * data; + ssize_t n; if (dp->d_name[0] == '.') { continue; } - snprintf(filename, sizeof(filename), "%s/%s", - dirname, dp->d_name); + snprintf(filename, sizeof(filename), "%s/%s", dirname, + dp->d_name); if ((fd = open(filename, O_RDONLY)) == -1) { fprintf(stderr, "Failed to open %s: %s\n", filename, @@ -62,23 +64,22 @@ static void test_all_from(const char *dirname) data = malloc(st.st_size); n = read(fd, data, st.st_size); if (n == st.st_size) { - printf("testing %zd bytes from %s\n", - n, filename); + printf("testing %zd bytes from %s\n", n, filename); fflush(stdout); LLVMFuzzerTestOneInput((const uint8_t *)data, n); fflush(stderr); } else { if (n < 0) { fprintf(stderr, - "Failed to read %zd bytes from %s: %s\n", - (ssize_t) st.st_size, filename, + "Failed to read %zd bytes from %s: " + "%s\n", + (ssize_t)st.st_size, filename, strerror(errno)); } else { fprintf(stderr, "Failed to read %zd bytes from %s" ", got %zd\n", - (ssize_t) st.st_size, filename, - n); + (ssize_t)st.st_size, filename, n); } } free(data); @@ -89,9 +90,10 @@ static void test_all_from(const char *dirname) closedir(dirp); } -int main(int argc, char **argv) +int +main(int argc, char **argv) { - char corpusdir[PATH_MAX]; + char corpusdir[PATH_MAX]; const char *target = strrchr(argv[0], '/'); UNUSED(argc); @@ -111,9 +113,10 @@ int main(int argc, char **argv) #elif __AFL_COMPILER -int main(int argc, char **argv) +int +main(int argc, char **argv) { - int ret; + int ret; unsigned char buf[64 * 1024]; UNUSED(argc); diff --git a/lib/bind9/check.c b/lib/bind9/check.c index 4331a3341f..926eb12379 100644 --- a/lib/bind9/check.c +++ b/lib/bind9/check.c @@ -35,8 +35,6 @@ #include #include -#include - #include #include #include @@ -49,9 +47,6 @@ #include #include -#include -#include - #include #include #include @@ -61,41 +56,44 @@ #include #include +#include +#include +#include static isc_result_t fileexist(const cfg_obj_t *obj, isc_symtab_t *symtab, bool writeable, isc_log_t *logctxlogc); static void -freekey(char *key, unsigned int type, isc_symvalue_t value, void *userarg) { +freekey(char *key, unsigned int type, isc_symvalue_t value, void *userarg) +{ UNUSED(type); UNUSED(value); isc_mem_free(userarg, key); } static isc_result_t -check_orderent(const cfg_obj_t *ent, isc_log_t *logctx) { - isc_result_t result = ISC_R_SUCCESS; - isc_result_t tresult; +check_orderent(const cfg_obj_t *ent, isc_log_t *logctx) +{ + isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; isc_textregion_t r; - dns_fixedname_t fixed; + dns_fixedname_t fixed; const cfg_obj_t *obj; dns_rdataclass_t rdclass; - dns_rdatatype_t rdtype; - isc_buffer_t b; - const char *str; + dns_rdatatype_t rdtype; + isc_buffer_t b; + const char * str; dns_fixedname_init(&fixed); obj = cfg_tuple_get(ent, "class"); if (cfg_obj_isstring(obj)) { - DE_CONST(cfg_obj_asstring(obj), r.base); r.length = strlen(r.base); tresult = dns_rdataclass_fromtext(&rdclass, &r); if (tresult != ISC_R_SUCCESS) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, - "rrset-order: invalid class '%s'", - r.base); + "rrset-order: invalid class '%s'", r.base); if (result == ISC_R_SUCCESS) result = ISC_R_FAILURE; } @@ -108,8 +106,7 @@ check_orderent(const cfg_obj_t *ent, isc_log_t *logctx) { tresult = dns_rdatatype_fromtext(&rdtype, &r); if (tresult != ISC_R_SUCCESS) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, - "rrset-order: invalid type '%s'", - r.base); + "rrset-order: invalid type '%s'", r.base); if (result == ISC_R_SUCCESS) result = ISC_R_FAILURE; } @@ -141,8 +138,8 @@ check_orderent(const cfg_obj_t *ent, isc_log_t *logctx) { obj = cfg_tuple_get(ent, "ordering"); if (!cfg_obj_isstring(obj)) { - cfg_obj_log(ent, logctx, ISC_LOG_ERROR, - "rrset-order: missing ordering"); + cfg_obj_log(ent, logctx, ISC_LOG_ERROR, + "rrset-order: missing ordering"); if (result == ISC_R_SUCCESS) result = ISC_R_FAILURE; } else if (strcasecmp(cfg_obj_asstring(obj), "fixed") == 0) { @@ -164,19 +161,18 @@ check_orderent(const cfg_obj_t *ent, isc_log_t *logctx) { } static isc_result_t -check_order(const cfg_obj_t *options, isc_log_t *logctx) { - isc_result_t result = ISC_R_SUCCESS; - isc_result_t tresult; +check_order(const cfg_obj_t *options, isc_log_t *logctx) +{ + isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; const cfg_listelt_t *element; - const cfg_obj_t *obj = NULL; + const cfg_obj_t * obj = NULL; if (cfg_map_get(options, "rrset-order", &obj) != ISC_R_SUCCESS) return (result); - for (element = cfg_list_first(obj); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(obj); element != NULL; + element = cfg_list_next(element)) { tresult = check_orderent(cfg_listelt_value(element), logctx); if (result == ISC_R_SUCCESS && tresult != ISC_R_SUCCESS) result = tresult; @@ -185,17 +181,18 @@ check_order(const cfg_obj_t *options, isc_log_t *logctx) { } static isc_result_t -check_dual_stack(const cfg_obj_t *options, isc_log_t *logctx) { +check_dual_stack(const cfg_obj_t *options, isc_log_t *logctx) +{ const cfg_listelt_t *element; - const cfg_obj_t *alternates = NULL; - const cfg_obj_t *value; - const cfg_obj_t *obj; - const char *str; - dns_fixedname_t fixed; - dns_name_t *name; - isc_buffer_t buffer; - isc_result_t result = ISC_R_SUCCESS; - isc_result_t tresult; + const cfg_obj_t * alternates = NULL; + const cfg_obj_t * value; + const cfg_obj_t * obj; + const char * str; + dns_fixedname_t fixed; + dns_name_t * name; + isc_buffer_t buffer; + isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; (void)cfg_map_get(options, "dual-stack-servers", &alternates); @@ -213,8 +210,7 @@ check_dual_stack(const cfg_obj_t *options, isc_log_t *logctx) { } } obj = cfg_tuple_get(alternates, "addresses"); - for (element = cfg_list_first(obj); - element != NULL; + for (element = cfg_list_first(obj); element != NULL; element = cfg_list_next(element)) { value = cfg_listelt_value(element); if (cfg_obj_issockaddr(value)) @@ -224,11 +220,11 @@ check_dual_stack(const cfg_obj_t *options, isc_log_t *logctx) { isc_buffer_constinit(&buffer, str, strlen(str)); isc_buffer_add(&buffer, strlen(str)); name = dns_fixedname_initname(&fixed); - tresult = dns_name_fromtext(name, &buffer, dns_rootname, - 0, NULL); + tresult = + dns_name_fromtext(name, &buffer, dns_rootname, 0, NULL); if (tresult != ISC_R_SUCCESS) { - cfg_obj_log(obj, logctx, ISC_LOG_ERROR, - "bad name '%s'", str); + cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "bad name '%s'", + str); if (result == ISC_R_SUCCESS) result = tresult; } @@ -247,7 +243,7 @@ check_dual_stack(const cfg_obj_t *options, isc_log_t *logctx) { } static isc_result_t -check_forward(const cfg_obj_t *options, const cfg_obj_t *global, +check_forward(const cfg_obj_t *options, const cfg_obj_t *global, isc_log_t *logctx) { const cfg_obj_t *forward = NULL; @@ -257,7 +253,7 @@ check_forward(const cfg_obj_t *options, const cfg_obj_t *global, (void)cfg_map_get(options, "forwarders", &forwarders); if (forwarders != NULL && global != NULL) { - const char *file = cfg_obj_file(global); + const char * file = cfg_obj_file(global); unsigned int line = cfg_obj_line(global); cfg_obj_log(forwarders, logctx, ISC_LOG_ERROR, "forwarders declared in root zone and " @@ -274,15 +270,16 @@ check_forward(const cfg_obj_t *options, const cfg_obj_t *global, } static isc_result_t -disabled_algorithms(const cfg_obj_t *disabled, isc_log_t *logctx) { - isc_result_t result = ISC_R_SUCCESS; - isc_result_t tresult; +disabled_algorithms(const cfg_obj_t *disabled, isc_log_t *logctx) +{ + isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; const cfg_listelt_t *element; - const char *str; - isc_buffer_t b; - dns_fixedname_t fixed; - dns_name_t *name; - const cfg_obj_t *obj; + const char * str; + isc_buffer_t b; + dns_fixedname_t fixed; + dns_name_t * name; + const cfg_obj_t * obj; name = dns_fixedname_initname(&fixed); obj = cfg_tuple_get(disabled, "name"); @@ -291,19 +288,17 @@ disabled_algorithms(const cfg_obj_t *disabled, isc_log_t *logctx) { isc_buffer_add(&b, strlen(str)); tresult = dns_name_fromtext(name, &b, dns_rootname, 0, NULL); if (tresult != ISC_R_SUCCESS) { - cfg_obj_log(obj, logctx, ISC_LOG_ERROR, - "bad domain name '%s'", str); + cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "bad domain name '%s'", + str); result = tresult; } obj = cfg_tuple_get(disabled, "algorithms"); - for (element = cfg_list_first(obj); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(obj); element != NULL; + element = cfg_list_next(element)) { isc_textregion_t r; - dns_secalg_t alg; + dns_secalg_t alg; DE_CONST(cfg_obj_asstring(cfg_listelt_value(element)), r.base); r.length = strlen(r.base); @@ -320,15 +315,16 @@ disabled_algorithms(const cfg_obj_t *disabled, isc_log_t *logctx) { } static isc_result_t -disabled_ds_digests(const cfg_obj_t *disabled, isc_log_t *logctx) { - isc_result_t result = ISC_R_SUCCESS; - isc_result_t tresult; +disabled_ds_digests(const cfg_obj_t *disabled, isc_log_t *logctx) +{ + isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; const cfg_listelt_t *element; - const char *str; - isc_buffer_t b; - dns_fixedname_t fixed; - dns_name_t *name; - const cfg_obj_t *obj; + const char * str; + isc_buffer_t b; + dns_fixedname_t fixed; + dns_name_t * name; + const cfg_obj_t * obj; name = dns_fixedname_initname(&fixed); obj = cfg_tuple_get(disabled, "name"); @@ -337,19 +333,17 @@ disabled_ds_digests(const cfg_obj_t *disabled, isc_log_t *logctx) { isc_buffer_add(&b, strlen(str)); tresult = dns_name_fromtext(name, &b, dns_rootname, 0, NULL); if (tresult != ISC_R_SUCCESS) { - cfg_obj_log(obj, logctx, ISC_LOG_ERROR, - "bad domain name '%s'", str); + cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "bad domain name '%s'", + str); result = tresult; } obj = cfg_tuple_get(disabled, "digests"); - for (element = cfg_list_first(obj); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(obj); element != NULL; + element = cfg_list_next(element)) { isc_textregion_t r; - dns_dsdigest_t digest; + dns_dsdigest_t digest; DE_CONST(cfg_obj_asstring(cfg_listelt_value(element)), r.base); r.length = strlen(r.base); @@ -371,10 +365,10 @@ nameexist(const cfg_obj_t *obj, const char *name, int value, isc_symtab_t *symtab, const char *fmt, isc_log_t *logctx, isc_mem_t *mctx) { - char *key; - const char *file; - unsigned int line; - isc_result_t result; + char * key; + const char * file; + unsigned int line; + isc_result_t result; isc_symvalue_t symvalue; key = isc_mem_strdup(mctx, name); @@ -403,12 +397,12 @@ mustbesecure(const cfg_obj_t *secure, isc_symtab_t *symtab, isc_log_t *logctx, isc_mem_t *mctx) { const cfg_obj_t *obj; - char namebuf[DNS_NAME_FORMATSIZE]; - const char *str; - dns_fixedname_t fixed; - dns_name_t *name; - isc_buffer_t b; - isc_result_t result = ISC_R_SUCCESS; + char namebuf[DNS_NAME_FORMATSIZE]; + const char * str; + dns_fixedname_t fixed; + dns_name_t * name; + isc_buffer_t b; + isc_result_t result = ISC_R_SUCCESS; name = dns_fixedname_initname(&fixed); obj = cfg_tuple_get(secure, "name"); @@ -417,8 +411,8 @@ mustbesecure(const cfg_obj_t *secure, isc_symtab_t *symtab, isc_log_t *logctx, isc_buffer_add(&b, strlen(str)); result = dns_name_fromtext(name, &b, dns_rootname, 0, NULL); if (result != ISC_R_SUCCESS) { - cfg_obj_log(obj, logctx, ISC_LOG_ERROR, - "bad domain name '%s'", str); + cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "bad domain name '%s'", + str); } else { dns_name_format(name, namebuf, sizeof(namebuf)); result = nameexist(secure, namebuf, 1, symtab, @@ -431,13 +425,13 @@ mustbesecure(const cfg_obj_t *secure, isc_symtab_t *symtab, isc_log_t *logctx, static isc_result_t checkacl(const char *aclname, cfg_aclconfctx_t *actx, const cfg_obj_t *zconfig, - const cfg_obj_t *voptions, const cfg_obj_t *config, - isc_log_t *logctx, isc_mem_t *mctx) + const cfg_obj_t *voptions, const cfg_obj_t *config, isc_log_t *logctx, + isc_mem_t *mctx) { - isc_result_t result; + isc_result_t result; const cfg_obj_t *aclobj = NULL; const cfg_obj_t *options; - dns_acl_t *acl = NULL; + dns_acl_t * acl = NULL; if (zconfig != NULL) { options = cfg_tuple_get(zconfig, "options"); @@ -453,8 +447,8 @@ checkacl(const char *aclname, cfg_aclconfctx_t *actx, const cfg_obj_t *zconfig, } if (aclobj == NULL) return (ISC_R_SUCCESS); - result = cfg_acl_fromconfig(aclobj, config, logctx, - actx, mctx, 0, &acl); + result = + cfg_acl_fromconfig(aclobj, config, logctx, actx, mctx, 0, &acl); if (acl != NULL) dns_acl_detach(&acl); return (result); @@ -465,12 +459,15 @@ check_viewacls(cfg_aclconfctx_t *actx, const cfg_obj_t *voptions, const cfg_obj_t *config, isc_log_t *logctx, isc_mem_t *mctx) { isc_result_t result = ISC_R_SUCCESS, tresult; - int i = 0; + int i = 0; - static const char *acls[] = { "allow-query", "allow-query-on", + static const char *acls[] = { + "allow-query", "allow-query-on", "allow-query-cache", "allow-query-cache-on", - "blackhole", "keep-response-order", "match-clients", - "match-destinations", "sortlist", NULL }; + "blackhole", "keep-response-order", + "match-clients", "match-destinations", + "sortlist", NULL + }; while (acls[i] != NULL) { tresult = checkacl(acls[i++], actx, NULL, voptions, config, @@ -487,17 +484,17 @@ static isc_result_t check_dns64(cfg_aclconfctx_t *actx, const cfg_obj_t *voptions, const cfg_obj_t *config, isc_log_t *logctx, isc_mem_t *mctx) { - isc_result_t result = ISC_R_SUCCESS; - const cfg_obj_t *dns64 = NULL; - const cfg_obj_t *options; + isc_result_t result = ISC_R_SUCCESS; + const cfg_obj_t * dns64 = NULL; + const cfg_obj_t * options; const cfg_listelt_t *element; - const cfg_obj_t *map, *obj; - isc_netaddr_t na, sa; - unsigned int prefixlen; - int nbytes; - int i; + const cfg_obj_t * map, *obj; + isc_netaddr_t na, sa; + unsigned int prefixlen; + int nbytes; + int i; - static const char *acls[] = { "clients", "exclude", "mapped", NULL}; + static const char *acls[] = { "clients", "exclude", "mapped", NULL }; if (voptions != NULL) cfg_map_get(voptions, "dns64", &dns64); @@ -510,10 +507,8 @@ check_dns64(cfg_aclconfctx_t *actx, const cfg_obj_t *voptions, if (dns64 == NULL) return (ISC_R_SUCCESS); - for (element = cfg_list_first(dns64); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(dns64); element != NULL; + element = cfg_list_next(element)) { map = cfg_listelt_value(element); obj = cfg_map_getname(map); @@ -527,7 +522,8 @@ check_dns64(cfg_aclconfctx_t *actx, const cfg_obj_t *voptions, if (na.type.in6.s6_addr[8] != 0) { cfg_obj_log(map, logctx, ISC_LOG_ERROR, - "invalid prefix, bits [64..71] must be zero"); + "invalid prefix, bits [64..71] must be " + "zero"); result = ISC_R_FAILURE; continue; } @@ -545,12 +541,12 @@ check_dns64(cfg_aclconfctx_t *actx, const cfg_obj_t *voptions, obj = NULL; (void)cfg_map_get(map, acls[i], &obj); if (obj != NULL) { - dns_acl_t *acl = NULL; + dns_acl_t * acl = NULL; isc_result_t tresult; tresult = cfg_acl_fromconfig(obj, config, - logctx, actx, - mctx, 0, &acl); + logctx, actx, mctx, + 0, &acl); if (acl != NULL) dns_acl_detach(&acl); if (tresult != ISC_R_SUCCESS) @@ -587,44 +583,44 @@ check_dns64(cfg_aclconfctx_t *actx, const cfg_obj_t *voptions, return (result); } -#define CHECK_RRL(cond, pat, val1, val2) \ - do { \ - if (!(cond)) { \ - cfg_obj_log(obj, logctx, ISC_LOG_ERROR, \ - pat, val1, val2); \ - if (result == ISC_R_SUCCESS) \ - result = ISC_R_RANGE; \ - } \ +#define CHECK_RRL(cond, pat, val1, val2) \ + do { \ + if (!(cond)) { \ + cfg_obj_log(obj, logctx, ISC_LOG_ERROR, pat, val1, \ + val2); \ + if (result == ISC_R_SUCCESS) \ + result = ISC_R_RANGE; \ + } \ } while (0) -#define CHECK_RRL_RATE(rate, def, max_rate, name) \ - do { \ - obj = NULL; \ - mresult = cfg_map_get(map, name, &obj); \ - if (mresult == ISC_R_SUCCESS) { \ - rate = cfg_obj_asuint32(obj); \ - CHECK_RRL(rate <= max_rate, name" %d > %d", \ - rate, max_rate); \ - } \ +#define CHECK_RRL_RATE(rate, def, max_rate, name) \ + do { \ + obj = NULL; \ + mresult = cfg_map_get(map, name, &obj); \ + if (mresult == ISC_R_SUCCESS) { \ + rate = cfg_obj_asuint32(obj); \ + CHECK_RRL(rate <= max_rate, name " %d > %d", rate, \ + max_rate); \ + } \ } while (0) static isc_result_t check_ratelimit(cfg_aclconfctx_t *actx, const cfg_obj_t *voptions, const cfg_obj_t *config, isc_log_t *logctx, isc_mem_t *mctx) { - isc_result_t result = ISC_R_SUCCESS; - isc_result_t mresult; + isc_result_t result = ISC_R_SUCCESS; + isc_result_t mresult; const cfg_obj_t *map = NULL; const cfg_obj_t *options; const cfg_obj_t *obj; - int min_entries, i; - int all_per_second; - int errors_per_second; - int nodata_per_second; - int nxdomains_per_second; - int referrals_per_second; - int responses_per_second; - int slip; + int min_entries, i; + int all_per_second; + int errors_per_second; + int nodata_per_second; + int nxdomains_per_second; + int referrals_per_second; + int responses_per_second; + int slip; if (voptions != NULL) cfg_map_get(voptions, "rate-limit", &map); @@ -651,8 +647,8 @@ check_ratelimit(cfg_aclconfctx_t *actx, const cfg_obj_t *voptions, if (mresult == ISC_R_SUCCESS) { i = cfg_obj_asuint32(obj); CHECK_RRL(i >= min_entries, - "max-table-size %d < min-table-size %d", - i, min_entries); + "max-table-size %d < min-table-size %d", i, + min_entries); } CHECK_RRL_RATE(responses_per_second, 0, DNS_RRL_MAX_RATE, @@ -699,18 +695,18 @@ check_ratelimit(cfg_aclconfctx_t *actx, const cfg_obj_t *voptions, if (mresult == ISC_R_SUCCESS) { i = cfg_obj_asuint32(obj); CHECK_RRL(i >= 16 && i <= DNS_RRL_MAX_PREFIX, - "ipv6-prefix-length %d < 16 or > %d", - i, DNS_RRL_MAX_PREFIX); + "ipv6-prefix-length %d < 16 or > %d", i, + DNS_RRL_MAX_PREFIX); } obj = NULL; (void)cfg_map_get(map, "exempt-clients", &obj); if (obj != NULL) { - dns_acl_t *acl = NULL; + dns_acl_t * acl = NULL; isc_result_t tresult; - tresult = cfg_acl_fromconfig(obj, config, logctx, actx, - mctx, 0, &acl); + tresult = cfg_acl_fromconfig(obj, config, logctx, actx, mctx, 0, + &acl); if (acl != NULL) dns_acl_detach(&acl); if (result == ISC_R_SUCCESS) @@ -730,11 +726,11 @@ check_recursionacls(cfg_aclconfctx_t *actx, const cfg_obj_t *voptions, isc_log_t *logctx, isc_mem_t *mctx) { const cfg_obj_t *options, *aclobj, *obj = NULL; - dns_acl_t *acl = NULL; - isc_result_t result = ISC_R_SUCCESS, tresult; - bool recursion; - const char *forview = " for view "; - int i = 0; + dns_acl_t * acl = NULL; + isc_result_t result = ISC_R_SUCCESS, tresult; + bool recursion; + const char * forview = " for view "; + int i = 0; static const char *acls[] = { "allow-recursion", "allow-recursion-on", NULL }; @@ -772,8 +768,8 @@ check_recursionacls(cfg_aclconfctx_t *actx, const cfg_obj_t *voptions, if (aclobj == NULL) continue; - tresult = cfg_acl_fromconfig(aclobj, config, logctx, - actx, mctx, 0, &acl); + tresult = cfg_acl_fromconfig(aclobj, config, logctx, actx, mctx, + 0, &acl); if (tresult != ISC_R_SUCCESS) result = tresult; @@ -796,14 +792,14 @@ check_recursionacls(cfg_aclconfctx_t *actx, const cfg_obj_t *voptions, } typedef struct { - const char *name; + const char * name; unsigned int scale; unsigned int max; } intervaltable; #ifdef HAVE_DNSTAP typedef struct { - const char *name; + const char * name; unsigned int min; unsigned int max; } fstrmtable; @@ -817,29 +813,31 @@ typedef enum { } optlevel_t; static isc_result_t -check_dscp(const cfg_obj_t *options, isc_log_t *logctx) { - isc_result_t result = ISC_R_SUCCESS; - const cfg_obj_t *obj = NULL; +check_dscp(const cfg_obj_t *options, isc_log_t *logctx) +{ + isc_result_t result = ISC_R_SUCCESS; + const cfg_obj_t *obj = NULL; - /* - * Check that DSCP setting is within range - */ - obj = NULL; - (void)cfg_map_get(options, "dscp", &obj); - if (obj != NULL) { - uint32_t dscp = cfg_obj_asuint32(obj); - if (dscp >= 64) { - cfg_obj_log(obj, logctx, ISC_LOG_ERROR, - "'dscp' out of range (0-63)"); - result = ISC_R_FAILURE; - } - } + /* + * Check that DSCP setting is within range + */ + obj = NULL; + (void)cfg_map_get(options, "dscp", &obj); + if (obj != NULL) { + uint32_t dscp = cfg_obj_asuint32(obj); + if (dscp >= 64) { + cfg_obj_log(obj, logctx, ISC_LOG_ERROR, + "'dscp' out of range (0-63)"); + result = ISC_R_FAILURE; + } + } - return (result); + return (result); } static isc_result_t -check_name(const char *str) { +check_name(const char *str) +{ dns_fixedname_t fixed; dns_fixedname_init(&fixed); @@ -849,8 +847,8 @@ check_name(const char *str) { static bool kasp_name_allowed(const cfg_listelt_t *element) { - const char* name = cfg_obj_asstring(cfg_tuple_get( - cfg_listelt_value(element), "name")); + const char *name = cfg_obj_asstring( + cfg_tuple_get(cfg_listelt_value(element), "name")); if (strcmp("none", name) == 0) { return false; @@ -865,77 +863,59 @@ static isc_result_t check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, optlevel_t optlevel) { - isc_result_t result = ISC_R_SUCCESS; - isc_result_t tresult; - unsigned int i; - const cfg_obj_t *obj = NULL; - const cfg_obj_t *resignobj = NULL; + isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; + unsigned int i; + const cfg_obj_t * obj = NULL; + const cfg_obj_t * resignobj = NULL; const cfg_listelt_t *element; - isc_symtab_t *symtab = NULL; - const char *str; - isc_buffer_t b; - uint32_t lifetime = 3600; - bool has_dnssecpolicy = false; - const char *ccalg = "siphash24"; + isc_symtab_t * symtab = NULL; + const char * str; + isc_buffer_t b; + uint32_t lifetime = 3600; + bool has_dnssecpolicy = false; + const char * ccalg = "siphash24"; /* * { "name", scale, value } * (scale * value) <= UINT32_MAX */ static intervaltable intervals[] = { - { "heartbeat-interval", 60, 28 * 24 * 60 }, /* 28 days */ - { "interface-interval", 60, 28 * 24 * 60 }, /* 28 days */ - { "max-transfer-idle-in", 60, 28 * 24 * 60 }, /* 28 days */ - { "max-transfer-idle-out", 60, 28 * 24 * 60 }, /* 28 days */ - { "max-transfer-time-in", 60, 28 * 24 * 60 }, /* 28 days */ - { "max-transfer-time-out", 60, 28 * 24 * 60 }, /* 28 days */ - { "statistics-interval", 60, 28 * 24 * 60 }, /* 28 days */ + { "heartbeat-interval", 60, 28 * 24 * 60 }, /* 28 days */ + { "interface-interval", 60, 28 * 24 * 60 }, /* 28 days */ + { "max-transfer-idle-in", 60, 28 * 24 * 60 }, /* 28 days */ + { "max-transfer-idle-out", 60, 28 * 24 * 60 }, /* 28 days */ + { "max-transfer-time-in", 60, 28 * 24 * 60 }, /* 28 days */ + { "max-transfer-time-out", 60, 28 * 24 * 60 }, /* 28 days */ + { "statistics-interval", 60, 28 * 24 * 60 }, /* 28 days */ /* minimum and maximum cache and negative cache TTLs */ - { "min-cache-ttl", 1, MAX_MIN_CACHE_TTL }, /* 90 secs */ - { "max-cache-ttl", 1, UINT32_MAX }, /* no limit */ - { "min-ncache-ttl", 1, MAX_MIN_NCACHE_TTL}, /* 90 secs */ - { "max-ncache-ttl", 1, MAX_MAX_NCACHE_TTL }, /* 7 days */ + { "min-cache-ttl", 1, MAX_MIN_CACHE_TTL }, /* 90 secs */ + { "max-cache-ttl", 1, UINT32_MAX }, /* no limit */ + { "min-ncache-ttl", 1, MAX_MIN_NCACHE_TTL }, /* 90 secs */ + { "max-ncache-ttl", 1, MAX_MAX_NCACHE_TTL }, /* 7 days */ }; - static const char *server_contact[] = { - "empty-server", "empty-contact", - "dns64-server", "dns64-contact", - NULL - }; + static const char *server_contact[] = { "empty-server", "empty-contact", + "dns64-server", "dns64-contact", + NULL }; #ifdef HAVE_DNSTAP static fstrmtable fstrm[] = { - { - "fstrm-set-buffer-hint", - FSTRM_IOTHR_BUFFER_HINT_MIN, - FSTRM_IOTHR_BUFFER_HINT_MAX - }, - { - "fstrm-set-flush-timeout", - FSTRM_IOTHR_FLUSH_TIMEOUT_MIN, - FSTRM_IOTHR_FLUSH_TIMEOUT_MAX - }, - { - "fstrm-set-input-queue-size", - FSTRM_IOTHR_INPUT_QUEUE_SIZE_MIN, - FSTRM_IOTHR_INPUT_QUEUE_SIZE_MAX - }, - { - "fstrm-set-output-notify-threshold", - FSTRM_IOTHR_QUEUE_NOTIFY_THRESHOLD_MIN, - 0 - }, - { - "fstrm-set-output-queue-size", - FSTRM_IOTHR_OUTPUT_QUEUE_SIZE_MIN, - FSTRM_IOTHR_OUTPUT_QUEUE_SIZE_MAX - }, - { - "fstrm-set-reopen-interval", - FSTRM_IOTHR_REOPEN_INTERVAL_MIN, - FSTRM_IOTHR_REOPEN_INTERVAL_MAX - } + { "fstrm-set-buffer-hint", FSTRM_IOTHR_BUFFER_HINT_MIN, + FSTRM_IOTHR_BUFFER_HINT_MAX }, + { "fstrm-set-flush-timeout", FSTRM_IOTHR_FLUSH_TIMEOUT_MIN, + FSTRM_IOTHR_FLUSH_TIMEOUT_MAX }, + { "fstrm-set-input-queue-size", + FSTRM_IOTHR_INPUT_QUEUE_SIZE_MIN, + FSTRM_IOTHR_INPUT_QUEUE_SIZE_MAX }, + { "fstrm-set-output-notify-threshold", + FSTRM_IOTHR_QUEUE_NOTIFY_THRESHOLD_MIN, 0 }, + { "fstrm-set-output-queue-size", + FSTRM_IOTHR_OUTPUT_QUEUE_SIZE_MIN, + FSTRM_IOTHR_OUTPUT_QUEUE_SIZE_MAX }, + { "fstrm-set-reopen-interval", FSTRM_IOTHR_REOPEN_INTERVAL_MIN, + FSTRM_IOTHR_REOPEN_INTERVAL_MAX } }; #endif @@ -957,8 +937,7 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, if (val > intervals[i].max) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "%s '%u' is out of range (0..%u)", - intervals[i].name, val, - intervals[i].max); + intervals[i].name, val, intervals[i].max); result = ISC_R_RANGE; } else if (val > (UINT32_MAX / intervals[i].scale)) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, @@ -981,18 +960,17 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, bad_kasp = true; } else if (optlevel == optlevel_config) { dns_kasplist_t list; - dns_kasp_t *kasp = NULL, *kasp_next = NULL; + dns_kasp_t * kasp = NULL, *kasp_next = NULL; ISC_LIST_INIT(list); if (cfg_obj_islist(obj)) { for (element = cfg_list_first(obj); element != NULL; - element = cfg_list_next(element)) - { + element = cfg_list_next(element)) { isc_result_t ret; - cfg_obj_t *kconfig = - cfg_listelt_value(element); + cfg_obj_t * kconfig = + cfg_listelt_value(element); if (!cfg_obj_istuple(kconfig)) { bad_kasp = true; @@ -1004,8 +982,8 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, } ret = cfg_kasp_fromconfig(kconfig, mctx, - logctx, - &list, &kasp); + logctx, &list, + &kasp); if (ret != ISC_R_SUCCESS) { if (result == ISC_R_SUCCESS) { result = ret; @@ -1018,10 +996,8 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, } } - for (kasp = ISC_LIST_HEAD(list); - kasp != NULL; - kasp = kasp_next) - { + for (kasp = ISC_LIST_HEAD(list); kasp != NULL; + kasp = kasp_next) { kasp_next = ISC_LIST_NEXT(kasp, link); ISC_LIST_UNLINK(list, kasp, link); dns_kasp_detach(&kasp); @@ -1059,7 +1035,8 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, if (val != 0 && (val < 35 || val > 4096)) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "max-rsa-exponent-size '%u' is out of " - "range (35..4096)", val); + "range (35..4096)", + val); result = ISC_R_RANGE; } } @@ -1093,7 +1070,8 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "validity interval (%u days) " "less than re-signing interval " - "(%u %s)", validity, resign, + "(%u %s)", + validity, resign, (validity > 7) ? "days" : "hours"); result = ISC_R_RANGE; } @@ -1113,11 +1091,10 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, uint32_t keyvalidity; keyvalidity = cfg_obj_asuint32(obj); - if (keyvalidity > 3660) { /* 10 years */ + if (keyvalidity > 3660) { /* 10 years */ cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "%s '%u' is out of range (0..3660)", - "dnskey-sig-validity", - keyvalidity); + "dnskey-sig-validity", keyvalidity); result = ISC_R_RANGE; } @@ -1133,8 +1110,7 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, (void)cfg_map_get(options, "preferred-glue", &obj); if (obj != NULL) { str = cfg_obj_asstring(obj); - if (strcasecmp(str, "a") != 0 && - strcasecmp(str, "aaaa") != 0 && + if (strcasecmp(str, "a") != 0 && strcasecmp(str, "aaaa") != 0 && strcasecmp(str, "none") != 0) cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "preferred-glue unexpected value '%s'", @@ -1145,8 +1121,7 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, (void)cfg_map_get(options, "root-delegation-only", &obj); if (obj != NULL) { if (!cfg_obj_isvoid(obj)) { - for (element = cfg_list_first(obj); - element != NULL; + for (element = cfg_list_first(obj); element != NULL; element = cfg_list_next(element)) { const cfg_obj_t *exclude; @@ -1169,10 +1144,8 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, obj = NULL; (void)cfg_map_get(options, "disable-algorithms", &obj); if (obj != NULL) { - for (element = cfg_list_first(obj); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(obj); element != NULL; + element = cfg_list_next(element)) { obj = cfg_listelt_value(element); tresult = disabled_algorithms(obj, logctx); if (tresult != ISC_R_SUCCESS) @@ -1186,10 +1159,8 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, obj = NULL; (void)cfg_map_get(options, "disable-ds-digests", &obj); if (obj != NULL) { - for (element = cfg_list_first(obj); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(obj); element != NULL; + element = cfg_list_next(element)) { obj = cfg_listelt_value(element); tresult = disabled_ds_digests(obj, logctx); if (tresult != ISC_R_SUCCESS) @@ -1219,14 +1190,12 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, obj = NULL; (void)cfg_map_get(options, "dnssec-must-be-secure", &obj); if (obj != NULL) { - tresult = isc_symtab_create(mctx, 100, freekey, mctx, - false, &symtab); + tresult = isc_symtab_create(mctx, 100, freekey, mctx, false, + &symtab); if (tresult != ISC_R_SUCCESS) result = tresult; - for (element = cfg_list_first(obj); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(obj); element != NULL; + element = cfg_list_next(element)) { obj = cfg_listelt_value(element); tresult = mustbesecure(obj, symtab, logctx, mctx); if (result == ISC_R_SUCCESS && tresult != ISC_R_SUCCESS) @@ -1240,7 +1209,7 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, /* * Check server/contacts for syntactic validity. */ - for (i= 0; server_contact[i] != NULL; i++) { + for (i = 0; server_contact[i] != NULL; i++) { obj = NULL; (void)cfg_map_get(options, server_contact[i], &obj); if (obj != NULL) { @@ -1260,10 +1229,8 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, */ obj = NULL; (void)cfg_map_get(options, "disable-empty-zone", &obj); - for (element = cfg_list_first(obj); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(obj); element != NULL; + element = cfg_list_next(element)) { obj = cfg_listelt_value(element); str = cfg_obj_asstring(obj); if (check_name(str) != ISC_R_SUCCESS) { @@ -1297,7 +1264,7 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, (void)cfg_map_get(options, "nta-lifetime", &obj); if (obj != NULL) { lifetime = cfg_obj_asduration(obj); - if (lifetime > 604800) { /* 7 days */ + if (lifetime > 604800) { /* 7 days */ cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "'nta-lifetime' cannot exceed one week"); if (result == ISC_R_SUCCESS) @@ -1314,7 +1281,7 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, (void)cfg_map_get(options, "nta-recheck", &obj); if (obj != NULL) { uint32_t recheck = cfg_obj_asduration(obj); - if (recheck > 604800) { /* 7 days */ + if (recheck > 604800) { /* 7 days */ cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "'nta-recheck' cannot exceed one week"); if (result == ISC_R_SUCCESS) @@ -1325,22 +1292,22 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, cfg_obj_log(obj, logctx, ISC_LOG_WARNING, "'nta-recheck' (%d seconds) is " "greater than 'nta-lifetime' " - "(%d seconds)", recheck, lifetime); + "(%d seconds)", + recheck, lifetime); } obj = NULL; - (void) cfg_map_get(options, "cookie-algorithm", &obj); + (void)cfg_map_get(options, "cookie-algorithm", &obj); if (obj != NULL) { ccalg = cfg_obj_asstring(obj); } obj = NULL; - (void) cfg_map_get(options, "cookie-secret", &obj); + (void)cfg_map_get(options, "cookie-secret", &obj); if (obj != NULL) { unsigned char secret[32]; - for (element = cfg_list_first(obj); - element != NULL; + for (element = cfg_list_first(obj); element != NULL; element = cfg_list_next(element)) { unsigned int usedlength; @@ -1368,14 +1335,16 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, if (strcasecmp(ccalg, "aes") == 0 && usedlength != ISC_AES128_KEYLENGTH) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, - "AES cookie-secret must be 128 bits"); + "AES cookie-secret must be 128 " + "bits"); if (result == ISC_R_SUCCESS) result = ISC_R_RANGE; } if (strcasecmp(ccalg, "siphash24") == 0 && usedlength != ISC_SIPHASH24_KEY_LENGTH) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, - "SipHash-2-4 cookie-secret must be 128 bits"); + "SipHash-2-4 cookie-secret must be " + "128 bits"); if (result == ISC_R_SUCCESS) result = ISC_R_RANGE; } @@ -1387,7 +1356,7 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, uint32_t value; obj = NULL; - (void) cfg_map_get(options, fstrm[i].name, &obj); + (void)cfg_map_get(options, fstrm[i].name, &obj); if (obj == NULL) continue; @@ -1401,8 +1370,8 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, if (fstrm[i].max != 0U) cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "%s '%u' out of range (%u..%u)", - fstrm[i].name, value, - fstrm[i].min, fstrm[i].max); + fstrm[i].name, value, fstrm[i].min, + fstrm[i].max); else cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "%s out of range (%u < %u)", @@ -1430,10 +1399,10 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, /* Check that dnstap-ouput values are consistent */ obj = NULL; - (void) cfg_map_get(options, "dnstap-output", &obj); + (void)cfg_map_get(options, "dnstap-output", &obj); if (obj != NULL) { const cfg_obj_t *obj2; - dns_dtmode_t dmode; + dns_dtmode_t dmode; obj2 = cfg_tuple_get(obj, "mode"); if (obj2 == NULL) { @@ -1449,8 +1418,7 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, obj2 = cfg_tuple_get(obj, "size"); if (obj2 != NULL && !cfg_obj_isvoid(obj2) && - dmode == dns_dtmode_unix) - { + dmode == dns_dtmode_unix) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "dnstap-output size " "cannot be set with mode unix"); @@ -1460,8 +1428,7 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, obj2 = cfg_tuple_get(obj, "versions"); if (obj2 != NULL && !cfg_obj_isvoid(obj2) && - dmode == dns_dtmode_unix) - { + dmode == dns_dtmode_unix) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "dnstap-output versions " "cannot be set with mode unix"); @@ -1471,8 +1438,7 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, obj2 = cfg_tuple_get(obj, "suffix"); if (obj2 != NULL && !cfg_obj_isvoid(obj2) && - dmode == dns_dtmode_unix) - { + dmode == dns_dtmode_unix) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "dnstap-output suffix " "cannot be set with mode unix"); @@ -1489,8 +1455,7 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, uint64_t mapsize = cfg_obj_asuint64(obj); if (mapsize < (1ULL << 20)) { /* 1 megabyte */ - cfg_obj_log(obj, logctx, - ISC_LOG_ERROR, + cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "'lmdb-mapsize " "%" PRId64 "' " "is too small", @@ -1498,8 +1463,7 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, if (result == ISC_R_SUCCESS) result = ISC_R_RANGE; } else if (mapsize > (1ULL << 40)) { /* 1 terabyte */ - cfg_obj_log(obj, logctx, - ISC_LOG_ERROR, + cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "'lmdb-mapsize " "%" PRId64 "' " "is too large", @@ -1533,19 +1497,19 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, } static isc_result_t -get_masters_def(const cfg_obj_t *cctx, const char *name, const cfg_obj_t **ret) { - isc_result_t result; - const cfg_obj_t *masters = NULL; +get_masters_def(const cfg_obj_t *cctx, const char *name, const cfg_obj_t **ret) +{ + isc_result_t result; + const cfg_obj_t * masters = NULL; const cfg_listelt_t *elt; result = cfg_map_get(cctx, "masters", &masters); if (result != ISC_R_SUCCESS) return (result); - for (elt = cfg_list_first(masters); - elt != NULL; + for (elt = cfg_list_first(masters); elt != NULL; elt = cfg_list_next(elt)) { const cfg_obj_t *list; - const char *listname; + const char * listname; list = cfg_listelt_value(elt); listname = cfg_obj_asstring(cfg_tuple_get(list, "name")); @@ -1562,15 +1526,15 @@ static isc_result_t validate_masters(const cfg_obj_t *obj, const cfg_obj_t *config, uint32_t *countp, isc_log_t *logctx, isc_mem_t *mctx) { - isc_result_t result = ISC_R_SUCCESS; - isc_result_t tresult; - uint32_t count = 0; - isc_symtab_t *symtab = NULL; - isc_symvalue_t symvalue; - const cfg_listelt_t *element; + isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; + uint32_t count = 0; + isc_symtab_t * symtab = NULL; + isc_symvalue_t symvalue; + const cfg_listelt_t * element; const cfg_listelt_t **stack = NULL; - uint32_t stackcount = 0, pushed = 0; - const cfg_obj_t *list; + uint32_t stackcount = 0, pushed = 0; + const cfg_obj_t * list; REQUIRE(countp != NULL); result = isc_symtab_create(mctx, 100, NULL, NULL, false, &symtab); @@ -1579,20 +1543,17 @@ validate_masters(const cfg_obj_t *obj, const cfg_obj_t *config, return (result); } - newlist: +newlist: list = cfg_tuple_get(obj, "addresses"); element = cfg_list_first(list); - resume: - for ( ; - element != NULL; - element = cfg_list_next(element)) - { - const char *listname; +resume: + for (; element != NULL; element = cfg_list_next(element)) { + const char * listname; const cfg_obj_t *addr; const cfg_obj_t *key; - addr = cfg_tuple_get(cfg_listelt_value(element), - "masterselement"); + addr = cfg_tuple_get(cfg_listelt_value(element), "masterselemen" + "t"); key = cfg_tuple_get(cfg_listelt_value(element), "key"); if (cfg_obj_issockaddr(addr)) { @@ -1623,9 +1584,9 @@ validate_masters(const cfg_obj_t *obj, const cfg_obj_t *config, } /* Grow stack? */ if (stackcount == pushed) { - void * newstack; + void * newstack; uint32_t newlen = stackcount + 16; - size_t newsize, oldsize; + size_t newsize, oldsize; newsize = newlen * sizeof(*stack); oldsize = stackcount * sizeof(*stack); @@ -1659,16 +1620,17 @@ validate_masters(const cfg_obj_t *obj, const cfg_obj_t *config, } static isc_result_t -check_update_policy(const cfg_obj_t *policy, isc_log_t *logctx) { - isc_result_t result = ISC_R_SUCCESS; - isc_result_t tresult; +check_update_policy(const cfg_obj_t *policy, isc_log_t *logctx) +{ + isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; const cfg_listelt_t *element; const cfg_listelt_t *element2; - dns_fixedname_t fixed_id, fixed_name; - dns_name_t *id, *name; - const char *str; - isc_textregion_t r; - dns_rdatatype_t type; + dns_fixedname_t fixed_id, fixed_name; + dns_name_t * id, *name; + const char * str; + isc_textregion_t r; + dns_rdatatype_t type; /* Check for "update-policy local;" */ if (cfg_obj_isstring(policy) && @@ -1676,15 +1638,13 @@ check_update_policy(const cfg_obj_t *policy, isc_log_t *logctx) { return (ISC_R_SUCCESS); /* Now check the grant policy */ - for (element = cfg_list_first(policy); - element != NULL; - element = cfg_list_next(element)) - { - const cfg_obj_t *stmt = cfg_listelt_value(element); - const cfg_obj_t *identity = cfg_tuple_get(stmt, "identity"); - const cfg_obj_t *matchtype = cfg_tuple_get(stmt, "matchtype"); - const cfg_obj_t *dname = cfg_tuple_get(stmt, "name"); - const cfg_obj_t *typelist = cfg_tuple_get(stmt, "types"); + for (element = cfg_list_first(policy); element != NULL; + element = cfg_list_next(element)) { + const cfg_obj_t * stmt = cfg_listelt_value(element); + const cfg_obj_t * identity = cfg_tuple_get(stmt, "identity"); + const cfg_obj_t * matchtype = cfg_tuple_get(stmt, "matchtype"); + const cfg_obj_t * dname = cfg_tuple_get(stmt, "name"); + const cfg_obj_t * typelist = cfg_tuple_get(stmt, "types"); dns_ssumatchtype_t mtype; id = dns_fixedname_initname(&fixed_id); @@ -1709,9 +1669,8 @@ check_update_policy(const cfg_obj_t *policy, isc_log_t *logctx) { * There is no name field for subzone and dname is void */ if (mtype == dns_ssumatchtype_subdomain && - cfg_obj_isvoid(dname)) - { - str = "."; /* Use "." as a replacement. */ + cfg_obj_isvoid(dname)) { + str = "."; /* Use "." as a replacement. */ } else { str = cfg_obj_asstring(dname); } @@ -1726,8 +1685,7 @@ check_update_policy(const cfg_obj_t *policy, isc_log_t *logctx) { if (tresult == ISC_R_SUCCESS && mtype == dns_ssumatchtype_wildcard && - !dns_name_iswildcard(name)) - { + !dns_name_iswildcard(name)) { cfg_obj_log(identity, logctx, ISC_LOG_ERROR, "'%s' is not a wildcard", str); result = ISC_R_FAILURE; @@ -1779,7 +1737,8 @@ check_update_policy(const cfg_obj_t *policy, isc_log_t *logctx) { if (tresult == ISC_R_SUCCESS) { cfg_obj_log(identity, logctx, ISC_LOG_ERROR, "missing name field type '%s' " - "found", str); + "found", + str); result = ISC_R_FAILURE; break; } @@ -1789,10 +1748,8 @@ check_update_policy(const cfg_obj_t *policy, isc_log_t *logctx) { ISC_UNREACHABLE(); } - for (element2 = cfg_list_first(typelist); - element2 != NULL; - element2 = cfg_list_next(element2)) - { + for (element2 = cfg_list_first(typelist); element2 != NULL; + element2 = cfg_list_next(element2)) { const cfg_obj_t *typeobj; typeobj = cfg_listelt_value(element2); @@ -1811,18 +1768,20 @@ check_update_policy(const cfg_obj_t *policy, isc_log_t *logctx) { } typedef struct { - const char *name; + const char * name; unsigned int allowed; } optionstable; static isc_result_t -check_nonzero(const cfg_obj_t *options, isc_log_t *logctx) { - isc_result_t result = ISC_R_SUCCESS; +check_nonzero(const cfg_obj_t *options, isc_log_t *logctx) +{ + isc_result_t result = ISC_R_SUCCESS; const cfg_obj_t *obj = NULL; - unsigned int i; + unsigned int i; static const char *nonzero[] = { "max-retry-time", "min-retry-time", - "max-refresh-time", "min-refresh-time" }; + "max-refresh-time", + "min-refresh-time" }; /* * Check if value is zero. */ @@ -1846,7 +1805,7 @@ static bool check_mirror_zone_notify(const cfg_obj_t *zoptions, const char *znamestr, isc_log_t *logctx) { - bool notify_configuration_ok = true; + bool notify_configuration_ok = true; const cfg_obj_t *obj = NULL; (void)cfg_map_get(zoptions, "notify", &obj); @@ -1878,7 +1837,8 @@ check_mirror_zone_notify(const cfg_obj_t *zoptions, const char *znamestr, if (!notify_configuration_ok) { cfg_obj_log(zoptions, logctx, ISC_LOG_ERROR, "zone '%s': mirror zones can only be used with " - "'notify no;' or 'notify explicit;'", znamestr); + "'notify no;' or 'notify explicit;'", + znamestr); } return (notify_configuration_ok); @@ -1896,10 +1856,10 @@ check_recursion(const cfg_obj_t *config, const cfg_obj_t *voptions, const cfg_obj_t *goptions, isc_log_t *logctx, cfg_aclconfctx_t *actx, isc_mem_t *mctx) { - dns_acl_t *acl = NULL; + dns_acl_t * acl = NULL; const cfg_obj_t *obj; - isc_result_t result; - bool retval = true; + isc_result_t result; + bool retval = true; /* * Check the "recursion" option first. @@ -1938,7 +1898,7 @@ check_recursion(const cfg_obj_t *config, const cfg_obj_t *voptions, retval = !dns_acl_isnone(acl); } - cleanup: +cleanup: if (acl != NULL) { dns_acl_detach(&acl); } @@ -1949,39 +1909,39 @@ check_recursion(const cfg_obj_t *config, const cfg_obj_t *voptions, static isc_result_t check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, const cfg_obj_t *config, isc_symtab_t *symtab, - isc_symtab_t *files, isc_symtab_t *inview, - const char *viewname, dns_rdataclass_t defclass, - cfg_aclconfctx_t *actx, isc_log_t *logctx, isc_mem_t *mctx) + isc_symtab_t *files, isc_symtab_t *inview, const char *viewname, + dns_rdataclass_t defclass, cfg_aclconfctx_t *actx, + isc_log_t *logctx, isc_mem_t *mctx) { - const char *znamestr; - const char *typestr = NULL; - const char *target = NULL; - unsigned int ztype; + const char * znamestr; + const char * typestr = NULL; + const char * target = NULL; + unsigned int ztype; const cfg_obj_t *zoptions, *goptions = NULL; const cfg_obj_t *obj = NULL; const cfg_obj_t *inviewobj = NULL; - isc_result_t result = ISC_R_SUCCESS; - isc_result_t tresult; - unsigned int i; + isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; + unsigned int i; dns_rdataclass_t zclass; - dns_fixedname_t fixedname; - dns_name_t *zname = NULL; /* NULL if parsing of zone name fails. */ - isc_buffer_t b; - bool root = false; - bool rfc1918 = false; - bool ula = false; + dns_fixedname_t fixedname; + dns_name_t * zname = NULL; /* NULL if parsing of zone name fails. */ + isc_buffer_t b; + bool root = false; + bool rfc1918 = false; + bool ula = false; const cfg_listelt_t *element; - bool dlz; - dns_masterformat_t masterformat; - bool ddns = false; - bool has_dnssecpolicy = false; - const void *clauses = NULL; - const char *option = NULL; - static const char *acls[] = { - "allow-notify", - "allow-transfer", - "allow-update", - "allow-update-forwarding", + bool dlz; + dns_masterformat_t masterformat; + bool ddns = false; + bool has_dnssecpolicy = false; + const void * clauses = NULL; + const char * option = NULL; + static const char * acls[] = { + "allow-notify", + "allow-transfer", + "allow-update", + "allow-update-forwarding", }; static optionstable dialups[] = { @@ -2014,12 +1974,10 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, typestr = cfg_obj_asstring(obj); if (strcasecmp(typestr, "master") == 0 || - strcasecmp(typestr, "primary") == 0) - { + strcasecmp(typestr, "primary") == 0) { ztype = CFG_ZONE_MASTER; } else if (strcasecmp(typestr, "slave") == 0 || - strcasecmp(typestr, "secondary") == 0) - { + strcasecmp(typestr, "secondary") == 0) { ztype = CFG_ZONE_SLAVE; } else if (strcasecmp(typestr, "mirror") == 0) { ztype = CFG_ZONE_MIRROR; @@ -2037,8 +1995,8 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, ztype = CFG_ZONE_REDIRECT; } else { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, - "zone '%s': invalid type %s", - znamestr, typestr); + "zone '%s': invalid type %s", znamestr, + typestr); return (ISC_R_FAILURE); } @@ -2058,8 +2016,8 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, result = dns_rdataclass_fromtext(&zclass, &r); if (result != ISC_R_SUCCESS) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, - "zone '%s': invalid class %s", - znamestr, r.base); + "zone '%s': invalid class %s", znamestr, + r.base); return (ISC_R_FAILURE); } if (zclass != defclass) { @@ -2088,17 +2046,21 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, "zone '%s': is not a valid name", znamestr); result = ISC_R_FAILURE; } else { - char namebuf[DNS_NAME_FORMATSIZE + 128]; - char *tmp = namebuf; + char namebuf[DNS_NAME_FORMATSIZE + 128]; + char * tmp = namebuf; size_t len = sizeof(namebuf); zname = dns_fixedname_name(&fixedname); dns_name_format(zname, namebuf, sizeof(namebuf)); - tresult = nameexist(zconfig, namebuf, - ztype == CFG_ZONE_HINT ? 1 : - ztype == CFG_ZONE_REDIRECT ? 2 : 3, - symtab, "zone '%s': already exists " - "previous definition: %s:%u", logctx, mctx); + tresult = + nameexist(zconfig, namebuf, + ztype == CFG_ZONE_HINT + ? 1 + : ztype == CFG_ZONE_REDIRECT ? 2 : 3, + symtab, + "zone '%s': already exists " + "previous definition: %s:%u", + logctx, mctx); if (tresult != ISC_R_SUCCESS) result = tresult; if (dns_name_equal(zname, dns_rootname)) @@ -2110,8 +2072,10 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, tmp += strlen(tmp); len -= strlen(tmp); (void)snprintf(tmp, len, "%u/%s", zclass, - (ztype == CFG_ZONE_INVIEW) ? target : - (viewname != NULL) ? viewname : "_default"); + (ztype == CFG_ZONE_INVIEW) + ? target + : (viewname != NULL) ? viewname + : "_default"); switch (ztype) { case CFG_ZONE_INVIEW: tresult = isc_symtab_lookup(inview, namebuf, 0, NULL); @@ -2142,13 +2106,14 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, { isc_symvalue_t symvalue; symvalue.as_cpointer = NULL; - tresult = isc_symtab_define(inview, tmp, 1, - symvalue, - isc_symexists_replace); + tresult = isc_symtab_define( + inview, tmp, 1, symvalue, + isc_symexists_replace); if (tresult == ISC_R_NOMEMORY) { isc_mem_free(mctx, tmp); } - if (result == ISC_R_SUCCESS && tresult != ISC_R_SUCCESS) + if (result == ISC_R_SUCCESS && + tresult != ISC_R_SUCCESS) result = tresult; } break; @@ -2161,7 +2126,7 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, if (ztype == CFG_ZONE_INVIEW) { const cfg_obj_t *fwd = NULL; - unsigned int maxopts = 1; + unsigned int maxopts = 1; (void)cfg_map_get(zoptions, "forward", &fwd); if (fwd != NULL) @@ -2194,7 +2159,7 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, (void)cfg_map_get(zoptions, "dnssec-policy", &obj); if (obj != NULL) { const cfg_obj_t *kasps = NULL; - const char* kaspname = cfg_obj_asstring(obj); + const char * kaspname = cfg_obj_asstring(obj); if (strcmp(kaspname, "default") == 0) { has_dnssecpolicy = true; @@ -2203,11 +2168,9 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, } else { (void)cfg_map_get(config, "dnssec-policy", &kasps); for (element = cfg_list_first(kasps); element != NULL; - element = cfg_list_next(element)) - { - const char *kn = cfg_obj_asstring( - cfg_tuple_get(cfg_listelt_value(element), - "name")); + element = cfg_list_next(element)) { + const char *kn = cfg_obj_asstring(cfg_tuple_get( + cfg_listelt_value(element), "name")); if (strcmp(kaspname, kn) == 0) { has_dnssecpolicy = true; } @@ -2233,8 +2196,7 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, while (option != NULL) { obj = NULL; if (cfg_map_get(zoptions, option, &obj) == ISC_R_SUCCESS && - obj != NULL && !cfg_clause_validforzone(option, ztype)) - { + obj != NULL && !cfg_clause_validforzone(option, ztype)) { cfg_obj_log(obj, logctx, ISC_LOG_WARNING, "option '%s' is not allowed " "in '%s' zone '%s'", @@ -2248,8 +2210,8 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, * Check that ACLs expand correctly. */ for (i = 0; i < (sizeof(acls) / sizeof(acls[0])); i++) { - tresult = checkacl(acls[i], actx, zconfig, - voptions, config, logctx, mctx); + tresult = checkacl(acls[i], actx, zconfig, voptions, config, + logctx, mctx); if (tresult != ISC_R_SUCCESS) { result = tresult; } @@ -2260,8 +2222,7 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, * at the zone level for mirror zones. */ if (ztype == CFG_ZONE_MIRROR && - !check_mirror_zone_notify(zoptions, znamestr, logctx)) - { + !check_mirror_zone_notify(zoptions, znamestr, logctx)) { result = ISC_R_FAILURE; } @@ -2270,8 +2231,7 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, * shouldn't if notify is disabled. */ if (ztype == CFG_ZONE_MASTER || ztype == CFG_ZONE_SLAVE || - ztype == CFG_ZONE_MIRROR) - { + ztype == CFG_ZONE_MIRROR) { bool donotify = true; obj = NULL; @@ -2296,7 +2256,8 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, if (tresult == ISC_R_SUCCESS && !donotify) { cfg_obj_log(zoptions, logctx, ISC_LOG_WARNING, "zone '%s': 'also-notify' set but " - "'notify' is disabled", znamestr); + "'notify' is disabled", + znamestr); } if (tresult != ISC_R_SUCCESS && voptions != NULL) tresult = cfg_map_get(voptions, "also-notify", &obj); @@ -2304,8 +2265,8 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, tresult = cfg_map_get(goptions, "also-notify", &obj); if (tresult == ISC_R_SUCCESS && donotify) { uint32_t count; - tresult = validate_masters(obj, config, &count, - logctx, mctx); + tresult = validate_masters(obj, config, &count, logctx, + mctx); if (tresult != ISC_R_SUCCESS && result == ISC_R_SUCCESS) result = tresult; } @@ -2318,8 +2279,7 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, */ if (ztype == CFG_ZONE_SLAVE || ztype == CFG_ZONE_STUB || (ztype == CFG_ZONE_MIRROR && zname != NULL && - !dns_name_equal(zname, dns_rootname))) - { + !dns_name_equal(zname, dns_rootname))) { obj = NULL; if (cfg_map_get(zoptions, "masters", &obj) != ISC_R_SUCCESS) { cfg_obj_log(zoptions, logctx, ISC_LOG_ERROR, @@ -2328,8 +2288,8 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, result = ISC_R_FAILURE; } else { uint32_t count; - tresult = validate_masters(obj, config, &count, - logctx, mctx); + tresult = validate_masters(obj, config, &count, logctx, + mctx); if (tresult != ISC_R_SUCCESS && result == ISC_R_SUCCESS) result = tresult; if (tresult == ISC_R_SUCCESS && count == 0) { @@ -2346,11 +2306,11 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, * contradicts the purpose of the former. */ if (ztype == CFG_ZONE_MIRROR && - !check_recursion(config, voptions, goptions, logctx, actx, mctx)) - { + !check_recursion(config, voptions, goptions, logctx, actx, mctx)) { cfg_obj_log(zoptions, logctx, ISC_LOG_ERROR, "zone '%s': mirror zones cannot be used if " - "recursion is disabled", znamestr); + "recursion is disabled", + znamestr); result = ISC_R_FAILURE; } @@ -2358,10 +2318,10 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, * Master zones can't have both "allow-update" and "update-policy". */ if (ztype == CFG_ZONE_MASTER || ztype == CFG_ZONE_SLAVE) { - bool signing = false; - isc_result_t res1, res2, res3; + bool signing = false; + isc_result_t res1, res2, res3; const cfg_obj_t *au = NULL; - const char *arg; + const char * arg; obj = NULL; res1 = cfg_map_get(zoptions, "allow-update", &au); @@ -2393,8 +2353,8 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, ddns = true; else if (res1 == ISC_R_SUCCESS) { dns_acl_t *acl = NULL; - res1 = cfg_acl_fromconfig(au, config, logctx, - actx, mctx, 0, &acl); + res1 = cfg_acl_fromconfig(au, config, logctx, actx, + mctx, 0, &acl); if (res1 != ISC_R_SUCCESS) { cfg_obj_log(au, logctx, ISC_LOG_ERROR, "acl expansion failed: %s", @@ -2430,16 +2390,21 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "'auto-dnssec %s;' requires%s " "inline-signing to be configured " - "for the zone", arg, - (ztype == CFG_ZONE_MASTER) ? - " dynamic DNS or" : ""); + "for the zone", + arg, + (ztype == CFG_ZONE_MASTER) ? " dyna" + "mic " + "DNS " + "or" + : ""); result = ISC_R_FAILURE; } if (has_dnssecpolicy) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "'auto-dnssec %s;' cannot be " "configured if dnssec-policy is " - "also set", arg); + "also set", + arg); result = ISC_R_FAILURE; } } @@ -2451,16 +2416,15 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, if (type < 0xff00U || type > 0xffffU) cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "sig-signing-type: %u out of " - "range [%u..%u]", type, - 0xff00U, 0xffffU); + "range [%u..%u]", + type, 0xff00U, 0xffffU); result = ISC_R_FAILURE; } obj = NULL; res1 = cfg_map_get(zoptions, "dnssec-dnskey-kskonly", &obj); if (res1 == ISC_R_SUCCESS && ztype == CFG_ZONE_SLAVE && - !signing) - { + !signing) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "dnssec-dnskey-kskonly: requires " "inline-signing when used in slave zone"); @@ -2485,8 +2449,7 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, obj = NULL; res1 = cfg_map_get(zoptions, "dnssec-loadkeys-interval", &obj); if (res1 == ISC_R_SUCCESS && ztype == CFG_ZONE_SLAVE && - !signing) - { + !signing) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "dnssec-loadkeys-interval: requires " "inline-signing when used in slave zone"); @@ -2496,8 +2459,7 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, obj = NULL; res1 = cfg_map_get(zoptions, "update-check-ksk", &obj); if (res1 == ISC_R_SUCCESS && ztype == CFG_ZONE_SLAVE && - !signing) - { + !signing) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "update-check-ksk: requires " "inline-signing when used in slave zone"); @@ -2524,21 +2486,17 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, * Check the excessively complicated "dialup" option. */ if (ztype == CFG_ZONE_MASTER || ztype == CFG_ZONE_SLAVE || - ztype == CFG_ZONE_STUB) - { + ztype == CFG_ZONE_STUB) { obj = NULL; (void)cfg_map_get(zoptions, "dialup", &obj); if (obj != NULL && cfg_obj_isstring(obj)) { const char *str = cfg_obj_asstring(obj); - for (i = 0; - i < sizeof(dialups) / sizeof(dialups[0]); - i++) - { + for (i = 0; i < sizeof(dialups) / sizeof(dialups[0]); + i++) { if (strcasecmp(dialups[i].name, str) != 0) continue; if ((dialups[i].allowed & ztype) == 0) { - cfg_obj_log(obj, logctx, - ISC_LOG_ERROR, + cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "dialup type '%s' is not " "allowed in '%s' " "zone '%s'", @@ -2550,7 +2508,8 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, if (i == sizeof(dialups) / sizeof(dialups[0])) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "invalid dialup type '%s' in zone " - "'%s'", str, znamestr); + "'%s'", + str, znamestr); result = ISC_R_FAILURE; } } @@ -2601,12 +2560,10 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, obj = NULL; (void)cfg_map_get(zoptions, "server-addresses", &obj); if (ztype == CFG_ZONE_STATICSTUB && obj != NULL) { - for (element = cfg_list_first(obj); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(obj); element != NULL; + element = cfg_list_next(element)) { isc_sockaddr_t sa; - isc_netaddr_t na; + isc_netaddr_t na; obj = cfg_listelt_value(element); sa = *cfg_obj_assockaddr(obj); @@ -2627,14 +2584,12 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, obj = NULL; (void)cfg_map_get(zoptions, "server-names", &obj); if (zname != NULL && ztype == CFG_ZONE_STATICSTUB && obj != NULL) { - for (element = cfg_list_first(obj); - element != NULL; - element = cfg_list_next(element)) - { - const char *snamestr; + for (element = cfg_list_first(obj); element != NULL; + element = cfg_list_next(element)) { + const char * snamestr; dns_fixedname_t fixed_sname; - isc_buffer_t b2; - dns_name_t *sname; + isc_buffer_t b2; + dns_name_t * sname; obj = cfg_listelt_value(element); snamestr = cfg_obj_asstring(obj); @@ -2642,12 +2597,13 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, isc_buffer_constinit(&b2, snamestr, strlen(snamestr)); isc_buffer_add(&b2, strlen(snamestr)); sname = dns_fixedname_initname(&fixed_sname); - tresult = dns_name_fromtext(sname, &b2, dns_rootname, - 0, NULL); + tresult = dns_name_fromtext(sname, &b2, dns_rootname, 0, + NULL); if (tresult != ISC_R_SUCCESS) { cfg_obj_log(zconfig, logctx, ISC_LOG_ERROR, "server-name '%s' is not a valid " - "name", snamestr); + "name", + snamestr); result = ISC_R_FAILURE; } else if (dns_name_issubdomain(sname, zname)) { cfg_obj_log(zconfig, logctx, ISC_LOG_ERROR, @@ -2684,7 +2640,7 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, (void)cfg_map_get(zoptions, "max-zone-ttl", &obj); if (obj == NULL && voptions != NULL) (void)cfg_map_get(voptions, "max-zone-ttl", &obj); - if (obj == NULL && goptions !=NULL) + if (obj == NULL && goptions != NULL) (void)cfg_map_get(goptions, "max-zone-ttl", &obj); if (obj != NULL) { cfg_obj_log(zconfig, logctx, ISC_LOG_ERROR, @@ -2708,8 +2664,7 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, break; case ISC_R_FILENOTFOUND: cfg_obj_log(obj, logctx, ISC_LOG_WARNING, - "key-directory: '%s' does not exist", - dir); + "key-directory: '%s' does not exist", dir); break; case ISC_R_INVALIDFILE: cfg_obj_log(obj, logctx, ISC_LOG_WARNING, @@ -2718,8 +2673,8 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, break; default: cfg_obj_log(obj, logctx, ISC_LOG_WARNING, - "key-directory: '%s' %s", - dir, isc_result_totext(tresult)); + "key-directory: '%s' %s", dir, + isc_result_totext(tresult)); result = tresult; } } @@ -2747,40 +2702,36 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, tresult = cfg_map_get(zoptions, "database", &obj); if (dlz && tresult == ISC_R_SUCCESS) { cfg_obj_log(zconfig, logctx, ISC_LOG_ERROR, - "zone '%s': cannot specify both 'dlz' " - "and 'database'", znamestr); + "zone '%s': cannot specify both 'dlz' " + "and 'database'", + znamestr); result = ISC_R_FAILURE; - } else if (!dlz && - (tresult == ISC_R_NOTFOUND || - (tresult == ISC_R_SUCCESS && - (strcmp("rbt", cfg_obj_asstring(obj)) == 0 || - strcmp("rbt64", cfg_obj_asstring(obj)) == 0)))) - { - isc_result_t res1; + } else if (!dlz && (tresult == ISC_R_NOTFOUND || + (tresult == ISC_R_SUCCESS && + (strcmp("rbt", cfg_obj_asstring(obj)) == 0 || + strcmp("rbt64", cfg_obj_asstring(obj)) == 0)))) { + isc_result_t res1; const cfg_obj_t *fileobj = NULL; tresult = cfg_map_get(zoptions, "file", &fileobj); obj = NULL; res1 = cfg_map_get(zoptions, "inline-signing", &obj); if ((tresult != ISC_R_SUCCESS && - (ztype == CFG_ZONE_MASTER || ztype == CFG_ZONE_HINT || - (ztype == CFG_ZONE_SLAVE && res1 == ISC_R_SUCCESS && - cfg_obj_asboolean(obj))))) - { + (ztype == CFG_ZONE_MASTER || ztype == CFG_ZONE_HINT || + (ztype == CFG_ZONE_SLAVE && res1 == ISC_R_SUCCESS && + cfg_obj_asboolean(obj))))) { cfg_obj_log(zconfig, logctx, ISC_LOG_ERROR, - "zone '%s': missing 'file' entry", - znamestr); + "zone '%s': missing 'file' entry", + znamestr); result = tresult; } else if (tresult == ISC_R_SUCCESS && (ztype == CFG_ZONE_SLAVE || - ztype == CFG_ZONE_MIRROR || ddns)) - { + ztype == CFG_ZONE_MIRROR || ddns)) { tresult = fileexist(fileobj, files, true, logctx); if (tresult != ISC_R_SUCCESS) result = tresult; } else if (tresult == ISC_R_SUCCESS && (ztype == CFG_ZONE_MASTER || - ztype == CFG_ZONE_HINT)) - { + ztype == CFG_ZONE_HINT)) { tresult = fileexist(fileobj, files, false, logctx); if (tresult != ISC_R_SUCCESS) result = tresult; @@ -2790,23 +2741,23 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, return (result); } - typedef struct keyalgorithms { const char *name; - uint16_t size; + uint16_t size; } algorithmtable; isc_result_t -bind9_check_key(const cfg_obj_t *key, isc_log_t *logctx) { +bind9_check_key(const cfg_obj_t *key, isc_log_t *logctx) +{ const cfg_obj_t *algobj = NULL; const cfg_obj_t *secretobj = NULL; - const char *keyname = cfg_obj_asstring(cfg_map_getname(key)); - const char *algorithm; - int i; - size_t len = 0; - isc_result_t result; - isc_buffer_t buf; - unsigned char secretbuf[1024]; + const char * keyname = cfg_obj_asstring(cfg_map_getname(key)); + const char * algorithm; + int i; + size_t len = 0; + isc_result_t result; + isc_buffer_t buf; + unsigned char secretbuf[1024]; static const algorithmtable algorithms[] = { { "hmac-md5", 128 }, { "hmac-md5.sig-alg.reg.int", 0 }, @@ -2816,7 +2767,7 @@ bind9_check_key(const cfg_obj_t *key, isc_log_t *logctx) { { "hmac-sha256", 256 }, { "hmac-sha384", 384 }, { "hmac-sha512", 512 }, - { NULL, 0 } + { NULL, 0 } }; (void)cfg_map_get(key, "algorithm", &algobj); @@ -2832,8 +2783,8 @@ bind9_check_key(const cfg_obj_t *key, isc_log_t *logctx) { isc_buffer_init(&buf, secretbuf, sizeof(secretbuf)); result = isc_base64_decodestring(cfg_obj_asstring(secretobj), &buf); if (result != ISC_R_SUCCESS) { - cfg_obj_log(secretobj, logctx, ISC_LOG_ERROR, - "bad secret '%s'", isc_result_totext(result)); + cfg_obj_log(secretobj, logctx, ISC_LOG_ERROR, "bad secret '%s'", + isc_result_totext(result)); return (result); } @@ -2858,15 +2809,16 @@ bind9_check_key(const cfg_obj_t *key, isc_log_t *logctx) { digestbits > algorithms[i].size) { cfg_obj_log(algobj, logctx, ISC_LOG_ERROR, "key '%s' digest-bits too large " - "[%u..%u]", keyname, - algorithms[i].size / 2, + "[%u..%u]", + keyname, algorithms[i].size / 2, algorithms[i].size); return (ISC_R_RANGE); } if ((digestbits % 8) != 0) { cfg_obj_log(algobj, logctx, ISC_LOG_ERROR, "key '%s' digest-bits not multiple" - " of 8", keyname); + " of 8", + keyname); return (ISC_R_RANGE); } /* @@ -2876,8 +2828,8 @@ bind9_check_key(const cfg_obj_t *key, isc_log_t *logctx) { (digestbits < 80U))) cfg_obj_log(algobj, logctx, ISC_LOG_WARNING, "key '%s' digest-bits too small " - "[<%u]", keyname, - algorithms[i].size/2); + "[<%u]", + keyname, algorithms[i].size / 2); } else { cfg_obj_log(algobj, logctx, ISC_LOG_ERROR, "key '%s': unable to parse digest-bits", @@ -2892,10 +2844,10 @@ static isc_result_t fileexist(const cfg_obj_t *obj, isc_symtab_t *symtab, bool writeable, isc_log_t *logctx) { - isc_result_t result; + isc_result_t result; isc_symvalue_t symvalue; - unsigned int line; - const char *file; + unsigned int line; + const char * file; result = isc_symtab_lookup(symtab, cfg_obj_asstring(obj), 0, &symvalue); if (result == ISC_R_SUCCESS) { @@ -2904,8 +2856,8 @@ fileexist(const cfg_obj_t *obj, isc_symtab_t *symtab, bool writeable, line = cfg_obj_line(symvalue.as_cpointer); cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "writeable file '%s': already in use: " - "%s:%u", cfg_obj_asstring(obj), - file, line); + "%s:%u", + cfg_obj_asstring(obj), file, line); return (ISC_R_EXISTS); } result = isc_symtab_lookup(symtab, cfg_obj_asstring(obj), 2, @@ -2915,8 +2867,8 @@ fileexist(const cfg_obj_t *obj, isc_symtab_t *symtab, bool writeable, line = cfg_obj_line(symvalue.as_cpointer); cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "writeable file '%s': already in use: " - "%s:%u", cfg_obj_asstring(obj), - file, line); + "%s:%u", + cfg_obj_asstring(obj), file, line); return (ISC_R_EXISTS); } return (ISC_R_SUCCESS); @@ -2936,31 +2888,28 @@ fileexist(const cfg_obj_t *obj, isc_symtab_t *symtab, bool writeable, * Check the key contents for validity. */ static isc_result_t -check_keylist(const cfg_obj_t *keys, isc_symtab_t *symtab, - isc_mem_t *mctx, isc_log_t *logctx) +check_keylist(const cfg_obj_t *keys, isc_symtab_t *symtab, isc_mem_t *mctx, + isc_log_t *logctx) { - char namebuf[DNS_NAME_FORMATSIZE]; - dns_fixedname_t fname; - dns_name_t *name; - isc_result_t result = ISC_R_SUCCESS; - isc_result_t tresult; + char namebuf[DNS_NAME_FORMATSIZE]; + dns_fixedname_t fname; + dns_name_t * name; + isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; const cfg_listelt_t *element; name = dns_fixedname_initname(&fname); - for (element = cfg_list_first(keys); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(keys); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *key = cfg_listelt_value(element); - const char *keyid = cfg_obj_asstring(cfg_map_getname(key)); - isc_symvalue_t symvalue; - isc_buffer_t b; - char *keyname; + const char * keyid = cfg_obj_asstring(cfg_map_getname(key)); + isc_symvalue_t symvalue; + isc_buffer_t b; + char * keyname; isc_buffer_constinit(&b, keyid, strlen(keyid)); isc_buffer_add(&b, strlen(keyid)); - tresult = dns_name_fromtext(name, &b, dns_rootname, - 0, NULL); + tresult = dns_name_fromtext(name, &b, dns_rootname, 0, NULL); if (tresult != ISC_R_SUCCESS) { cfg_obj_log(key, logctx, ISC_LOG_ERROR, "key '%s': bad key name", keyid); @@ -2977,11 +2926,12 @@ check_keylist(const cfg_obj_t *keys, isc_symtab_t *symtab, tresult = isc_symtab_define(symtab, keyname, 1, symvalue, isc_symexists_reject); if (tresult == ISC_R_EXISTS) { - const char *file; + const char * file; unsigned int line; - RUNTIME_CHECK(isc_symtab_lookup(symtab, keyname, - 1, &symvalue) == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_symtab_lookup(symtab, keyname, 1, + &symvalue) == + ISC_R_SUCCESS); file = cfg_obj_file(symvalue.as_cpointer); line = cfg_obj_line(symvalue.as_cpointer); @@ -3004,12 +2954,10 @@ check_keylist(const cfg_obj_t *keys, isc_symtab_t *symtab, static struct { const char *v4; const char *v6; -} sources[] = { - { "transfer-source", "transfer-source-v6" }, - { "notify-source", "notify-source-v6" }, - { "query-source", "query-source-v6" }, - { NULL, NULL } -}; +} sources[] = { { "transfer-source", "transfer-source-v6" }, + { "notify-source", "notify-source-v6" }, + { "query-source", "query-source-v6" }, + { NULL, NULL } }; /* * RNDC keys are not normalised unlike TSIG keys. @@ -3017,18 +2965,17 @@ static struct { * "foo." is different to "foo". */ static bool -rndckey_exists(const cfg_obj_t *keylist, const char *keyname) { +rndckey_exists(const cfg_obj_t *keylist, const char *keyname) +{ const cfg_listelt_t *element; - const cfg_obj_t *obj; - const char *str; + const cfg_obj_t * obj; + const char * str; if (keylist == NULL) return (false); - for (element = cfg_list_first(keylist); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(keylist); element != NULL; + element = cfg_list_next(element)) { obj = cfg_listelt_value(element); str = cfg_obj_asstring(cfg_map_getname(obj)); if (!strcasecmp(str, keyname)) @@ -3041,22 +2988,22 @@ static isc_result_t check_servers(const cfg_obj_t *config, const cfg_obj_t *voptions, isc_symtab_t *symtab, isc_log_t *logctx) { - dns_fixedname_t fname; - isc_result_t result = ISC_R_SUCCESS; - isc_result_t tresult; + dns_fixedname_t fname; + isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; const cfg_listelt_t *e1, *e2; - const cfg_obj_t *v1, *v2, *keys; - const cfg_obj_t *servers; - isc_netaddr_t n1, n2; - unsigned int p1, p2; - const cfg_obj_t *obj; - char buf[ISC_NETADDR_FORMATSIZE]; - char namebuf[DNS_NAME_FORMATSIZE]; - const char *xfr; - const char *keyval; - isc_buffer_t b; - int source; - dns_name_t *keyname; + const cfg_obj_t * v1, *v2, *keys; + const cfg_obj_t * servers; + isc_netaddr_t n1, n2; + unsigned int p1, p2; + const cfg_obj_t * obj; + char buf[ISC_NETADDR_FORMATSIZE]; + char namebuf[DNS_NAME_FORMATSIZE]; + const char * xfr; + const char * keyval; + isc_buffer_t b; + int source; + dns_name_t * keyname; servers = NULL; if (voptions != NULL) @@ -3078,7 +3025,8 @@ check_servers(const cfg_obj_t *config, const cfg_obj_t *voptions, isc_netaddr_format(&n1, buf, sizeof(buf)); cfg_obj_log(v1, logctx, ISC_LOG_ERROR, "server '%s/%u': invalid prefix " - "(extra bits specified)", buf, p1); + "(extra bits specified)", + buf, p1); result = tresult; } source = 0; @@ -3092,8 +3040,8 @@ check_servers(const cfg_obj_t *config, const cfg_obj_t *voptions, if (obj != NULL) { isc_netaddr_format(&n1, buf, sizeof(buf)); cfg_obj_log(v1, logctx, ISC_LOG_ERROR, - "server '%s/%u': %s not legal", - buf, p1, xfr); + "server '%s/%u': %s not legal", buf, + p1, xfr); result = ISC_R_FAILURE; } } while (sources[++source].v4 != NULL); @@ -3102,7 +3050,7 @@ check_servers(const cfg_obj_t *config, const cfg_obj_t *voptions, v2 = cfg_listelt_value(e2); cfg_obj_asnetprefix(cfg_map_getname(v2), &n2, &p2); if (p1 == p2 && isc_netaddr_equal(&n1, &n2)) { - const char *file = cfg_obj_file(v1); + const char * file = cfg_obj_file(v1); unsigned int line = cfg_obj_line(v1); if (file == NULL) @@ -3146,33 +3094,31 @@ check_servers(const cfg_obj_t *config, const cfg_obj_t *voptions, return (result); } -#define ROOT_KSK_STATIC 0x01 -#define ROOT_KSK_MANAGED 0x02 -#define ROOT_KSK_ANY 0x03 -#define ROOT_KSK_2010 0x04 -#define ROOT_KSK_2017 0x08 +#define ROOT_KSK_STATIC 0x01 +#define ROOT_KSK_MANAGED 0x02 +#define ROOT_KSK_ANY 0x03 +#define ROOT_KSK_2010 0x04 +#define ROOT_KSK_2017 0x08 static isc_result_t -check_trust_anchor(const cfg_obj_t *key, bool managed, - unsigned int *flagsp, isc_log_t *logctx) +check_trust_anchor(const cfg_obj_t *key, bool managed, unsigned int *flagsp, + isc_log_t *logctx) { - const char *str = NULL, *namestr = NULL; + const char * str = NULL, *namestr = NULL; dns_fixedname_t fkeyname; - dns_name_t *keyname = NULL; - isc_buffer_t b; - isc_region_t r; - isc_result_t result = ISC_R_SUCCESS; - isc_result_t tresult; - uint32_t rdata1, rdata2, rdata3; - unsigned char data[4096]; - const char *atstr = NULL; - enum { - INIT_DNSKEY, - STATIC_DNSKEY, - INIT_DS, - STATIC_DS, - TRUSTED - } anchortype; + dns_name_t * keyname = NULL; + isc_buffer_t b; + isc_region_t r; + isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; + uint32_t rdata1, rdata2, rdata3; + unsigned char data[4096]; + const char * atstr = NULL; + enum { INIT_DNSKEY, + STATIC_DNSKEY, + INIT_DS, + STATIC_DS, + TRUSTED } anchortype; /* * The 2010 and 2017 IANA root keys - these are used below @@ -3180,79 +3126,64 @@ check_trust_anchor(const cfg_obj_t *key, bool managed, * static trust anchor configurations. */ static const unsigned char root_ksk_2010[] = { - 0x03, 0x01, 0x00, 0x01, 0xa8, 0x00, 0x20, 0xa9, - 0x55, 0x66, 0xba, 0x42, 0xe8, 0x86, 0xbb, 0x80, - 0x4c, 0xda, 0x84, 0xe4, 0x7e, 0xf5, 0x6d, 0xbd, - 0x7a, 0xec, 0x61, 0x26, 0x15, 0x55, 0x2c, 0xec, - 0x90, 0x6d, 0x21, 0x16, 0xd0, 0xef, 0x20, 0x70, - 0x28, 0xc5, 0x15, 0x54, 0x14, 0x4d, 0xfe, 0xaf, - 0xe7, 0xc7, 0xcb, 0x8f, 0x00, 0x5d, 0xd1, 0x82, - 0x34, 0x13, 0x3a, 0xc0, 0x71, 0x0a, 0x81, 0x18, - 0x2c, 0xe1, 0xfd, 0x14, 0xad, 0x22, 0x83, 0xbc, - 0x83, 0x43, 0x5f, 0x9d, 0xf2, 0xf6, 0x31, 0x32, - 0x51, 0x93, 0x1a, 0x17, 0x6d, 0xf0, 0xda, 0x51, - 0xe5, 0x4f, 0x42, 0xe6, 0x04, 0x86, 0x0d, 0xfb, - 0x35, 0x95, 0x80, 0x25, 0x0f, 0x55, 0x9c, 0xc5, - 0x43, 0xc4, 0xff, 0xd5, 0x1c, 0xbe, 0x3d, 0xe8, - 0xcf, 0xd0, 0x67, 0x19, 0x23, 0x7f, 0x9f, 0xc4, - 0x7e, 0xe7, 0x29, 0xda, 0x06, 0x83, 0x5f, 0xa4, - 0x52, 0xe8, 0x25, 0xe9, 0xa1, 0x8e, 0xbc, 0x2e, - 0xcb, 0xcf, 0x56, 0x34, 0x74, 0x65, 0x2c, 0x33, - 0xcf, 0x56, 0xa9, 0x03, 0x3b, 0xcd, 0xf5, 0xd9, - 0x73, 0x12, 0x17, 0x97, 0xec, 0x80, 0x89, 0x04, - 0x1b, 0x6e, 0x03, 0xa1, 0xb7, 0x2d, 0x0a, 0x73, - 0x5b, 0x98, 0x4e, 0x03, 0x68, 0x73, 0x09, 0x33, - 0x23, 0x24, 0xf2, 0x7c, 0x2d, 0xba, 0x85, 0xe9, - 0xdb, 0x15, 0xe8, 0x3a, 0x01, 0x43, 0x38, 0x2e, - 0x97, 0x4b, 0x06, 0x21, 0xc1, 0x8e, 0x62, 0x5e, - 0xce, 0xc9, 0x07, 0x57, 0x7d, 0x9e, 0x7b, 0xad, - 0xe9, 0x52, 0x41, 0xa8, 0x1e, 0xbb, 0xe8, 0xa9, - 0x01, 0xd4, 0xd3, 0x27, 0x6e, 0x40, 0xb1, 0x14, - 0xc0, 0xa2, 0xe6, 0xfc, 0x38, 0xd1, 0x9c, 0x2e, - 0x6a, 0xab, 0x02, 0x64, 0x4b, 0x28, 0x13, 0xf5, - 0x75, 0xfc, 0x21, 0x60, 0x1e, 0x0d, 0xee, 0x49, - 0xcd, 0x9e, 0xe9, 0x6a, 0x43, 0x10, 0x3e, 0x52, - 0x4d, 0x62, 0x87, 0x3d + 0x03, 0x01, 0x00, 0x01, 0xa8, 0x00, 0x20, 0xa9, 0x55, 0x66, + 0xba, 0x42, 0xe8, 0x86, 0xbb, 0x80, 0x4c, 0xda, 0x84, 0xe4, + 0x7e, 0xf5, 0x6d, 0xbd, 0x7a, 0xec, 0x61, 0x26, 0x15, 0x55, + 0x2c, 0xec, 0x90, 0x6d, 0x21, 0x16, 0xd0, 0xef, 0x20, 0x70, + 0x28, 0xc5, 0x15, 0x54, 0x14, 0x4d, 0xfe, 0xaf, 0xe7, 0xc7, + 0xcb, 0x8f, 0x00, 0x5d, 0xd1, 0x82, 0x34, 0x13, 0x3a, 0xc0, + 0x71, 0x0a, 0x81, 0x18, 0x2c, 0xe1, 0xfd, 0x14, 0xad, 0x22, + 0x83, 0xbc, 0x83, 0x43, 0x5f, 0x9d, 0xf2, 0xf6, 0x31, 0x32, + 0x51, 0x93, 0x1a, 0x17, 0x6d, 0xf0, 0xda, 0x51, 0xe5, 0x4f, + 0x42, 0xe6, 0x04, 0x86, 0x0d, 0xfb, 0x35, 0x95, 0x80, 0x25, + 0x0f, 0x55, 0x9c, 0xc5, 0x43, 0xc4, 0xff, 0xd5, 0x1c, 0xbe, + 0x3d, 0xe8, 0xcf, 0xd0, 0x67, 0x19, 0x23, 0x7f, 0x9f, 0xc4, + 0x7e, 0xe7, 0x29, 0xda, 0x06, 0x83, 0x5f, 0xa4, 0x52, 0xe8, + 0x25, 0xe9, 0xa1, 0x8e, 0xbc, 0x2e, 0xcb, 0xcf, 0x56, 0x34, + 0x74, 0x65, 0x2c, 0x33, 0xcf, 0x56, 0xa9, 0x03, 0x3b, 0xcd, + 0xf5, 0xd9, 0x73, 0x12, 0x17, 0x97, 0xec, 0x80, 0x89, 0x04, + 0x1b, 0x6e, 0x03, 0xa1, 0xb7, 0x2d, 0x0a, 0x73, 0x5b, 0x98, + 0x4e, 0x03, 0x68, 0x73, 0x09, 0x33, 0x23, 0x24, 0xf2, 0x7c, + 0x2d, 0xba, 0x85, 0xe9, 0xdb, 0x15, 0xe8, 0x3a, 0x01, 0x43, + 0x38, 0x2e, 0x97, 0x4b, 0x06, 0x21, 0xc1, 0x8e, 0x62, 0x5e, + 0xce, 0xc9, 0x07, 0x57, 0x7d, 0x9e, 0x7b, 0xad, 0xe9, 0x52, + 0x41, 0xa8, 0x1e, 0xbb, 0xe8, 0xa9, 0x01, 0xd4, 0xd3, 0x27, + 0x6e, 0x40, 0xb1, 0x14, 0xc0, 0xa2, 0xe6, 0xfc, 0x38, 0xd1, + 0x9c, 0x2e, 0x6a, 0xab, 0x02, 0x64, 0x4b, 0x28, 0x13, 0xf5, + 0x75, 0xfc, 0x21, 0x60, 0x1e, 0x0d, 0xee, 0x49, 0xcd, 0x9e, + 0xe9, 0x6a, 0x43, 0x10, 0x3e, 0x52, 0x4d, 0x62, 0x87, 0x3d }; static const unsigned char root_ksk_2017[] = { - 0x03, 0x01, 0x00, 0x01, 0xac, 0xff, 0xb4, 0x09, - 0xbc, 0xc9, 0x39, 0xf8, 0x31, 0xf7, 0xa1, 0xe5, - 0xec, 0x88, 0xf7, 0xa5, 0x92, 0x55, 0xec, 0x53, - 0x04, 0x0b, 0xe4, 0x32, 0x02, 0x73, 0x90, 0xa4, - 0xce, 0x89, 0x6d, 0x6f, 0x90, 0x86, 0xf3, 0xc5, - 0xe1, 0x77, 0xfb, 0xfe, 0x11, 0x81, 0x63, 0xaa, - 0xec, 0x7a, 0xf1, 0x46, 0x2c, 0x47, 0x94, 0x59, - 0x44, 0xc4, 0xe2, 0xc0, 0x26, 0xbe, 0x5e, 0x98, - 0xbb, 0xcd, 0xed, 0x25, 0x97, 0x82, 0x72, 0xe1, - 0xe3, 0xe0, 0x79, 0xc5, 0x09, 0x4d, 0x57, 0x3f, - 0x0e, 0x83, 0xc9, 0x2f, 0x02, 0xb3, 0x2d, 0x35, - 0x13, 0xb1, 0x55, 0x0b, 0x82, 0x69, 0x29, 0xc8, - 0x0d, 0xd0, 0xf9, 0x2c, 0xac, 0x96, 0x6d, 0x17, - 0x76, 0x9f, 0xd5, 0x86, 0x7b, 0x64, 0x7c, 0x3f, - 0x38, 0x02, 0x9a, 0xbd, 0xc4, 0x81, 0x52, 0xeb, - 0x8f, 0x20, 0x71, 0x59, 0xec, 0xc5, 0xd2, 0x32, - 0xc7, 0xc1, 0x53, 0x7c, 0x79, 0xf4, 0xb7, 0xac, - 0x28, 0xff, 0x11, 0x68, 0x2f, 0x21, 0x68, 0x1b, - 0xf6, 0xd6, 0xab, 0xa5, 0x55, 0x03, 0x2b, 0xf6, - 0xf9, 0xf0, 0x36, 0xbe, 0xb2, 0xaa, 0xa5, 0xb3, - 0x77, 0x8d, 0x6e, 0xeb, 0xfb, 0xa6, 0xbf, 0x9e, - 0xa1, 0x91, 0xbe, 0x4a, 0xb0, 0xca, 0xea, 0x75, - 0x9e, 0x2f, 0x77, 0x3a, 0x1f, 0x90, 0x29, 0xc7, - 0x3e, 0xcb, 0x8d, 0x57, 0x35, 0xb9, 0x32, 0x1d, - 0xb0, 0x85, 0xf1, 0xb8, 0xe2, 0xd8, 0x03, 0x8f, - 0xe2, 0x94, 0x19, 0x92, 0x54, 0x8c, 0xee, 0x0d, - 0x67, 0xdd, 0x45, 0x47, 0xe1, 0x1d, 0xd6, 0x3a, - 0xf9, 0xc9, 0xfc, 0x1c, 0x54, 0x66, 0xfb, 0x68, - 0x4c, 0xf0, 0x09, 0xd7, 0x19, 0x7c, 0x2c, 0xf7, - 0x9e, 0x79, 0x2a, 0xb5, 0x01, 0xe6, 0xa8, 0xa1, - 0xca, 0x51, 0x9a, 0xf2, 0xcb, 0x9b, 0x5f, 0x63, - 0x67, 0xe9, 0x4c, 0x0d, 0x47, 0x50, 0x24, 0x51, - 0x35, 0x7b, 0xe1, 0xb5 + 0x03, 0x01, 0x00, 0x01, 0xac, 0xff, 0xb4, 0x09, 0xbc, 0xc9, + 0x39, 0xf8, 0x31, 0xf7, 0xa1, 0xe5, 0xec, 0x88, 0xf7, 0xa5, + 0x92, 0x55, 0xec, 0x53, 0x04, 0x0b, 0xe4, 0x32, 0x02, 0x73, + 0x90, 0xa4, 0xce, 0x89, 0x6d, 0x6f, 0x90, 0x86, 0xf3, 0xc5, + 0xe1, 0x77, 0xfb, 0xfe, 0x11, 0x81, 0x63, 0xaa, 0xec, 0x7a, + 0xf1, 0x46, 0x2c, 0x47, 0x94, 0x59, 0x44, 0xc4, 0xe2, 0xc0, + 0x26, 0xbe, 0x5e, 0x98, 0xbb, 0xcd, 0xed, 0x25, 0x97, 0x82, + 0x72, 0xe1, 0xe3, 0xe0, 0x79, 0xc5, 0x09, 0x4d, 0x57, 0x3f, + 0x0e, 0x83, 0xc9, 0x2f, 0x02, 0xb3, 0x2d, 0x35, 0x13, 0xb1, + 0x55, 0x0b, 0x82, 0x69, 0x29, 0xc8, 0x0d, 0xd0, 0xf9, 0x2c, + 0xac, 0x96, 0x6d, 0x17, 0x76, 0x9f, 0xd5, 0x86, 0x7b, 0x64, + 0x7c, 0x3f, 0x38, 0x02, 0x9a, 0xbd, 0xc4, 0x81, 0x52, 0xeb, + 0x8f, 0x20, 0x71, 0x59, 0xec, 0xc5, 0xd2, 0x32, 0xc7, 0xc1, + 0x53, 0x7c, 0x79, 0xf4, 0xb7, 0xac, 0x28, 0xff, 0x11, 0x68, + 0x2f, 0x21, 0x68, 0x1b, 0xf6, 0xd6, 0xab, 0xa5, 0x55, 0x03, + 0x2b, 0xf6, 0xf9, 0xf0, 0x36, 0xbe, 0xb2, 0xaa, 0xa5, 0xb3, + 0x77, 0x8d, 0x6e, 0xeb, 0xfb, 0xa6, 0xbf, 0x9e, 0xa1, 0x91, + 0xbe, 0x4a, 0xb0, 0xca, 0xea, 0x75, 0x9e, 0x2f, 0x77, 0x3a, + 0x1f, 0x90, 0x29, 0xc7, 0x3e, 0xcb, 0x8d, 0x57, 0x35, 0xb9, + 0x32, 0x1d, 0xb0, 0x85, 0xf1, 0xb8, 0xe2, 0xd8, 0x03, 0x8f, + 0xe2, 0x94, 0x19, 0x92, 0x54, 0x8c, 0xee, 0x0d, 0x67, 0xdd, + 0x45, 0x47, 0xe1, 0x1d, 0xd6, 0x3a, 0xf9, 0xc9, 0xfc, 0x1c, + 0x54, 0x66, 0xfb, 0x68, 0x4c, 0xf0, 0x09, 0xd7, 0x19, 0x7c, + 0x2c, 0xf7, 0x9e, 0x79, 0x2a, 0xb5, 0x01, 0xe6, 0xa8, 0xa1, + 0xca, 0x51, 0x9a, 0xf2, 0xcb, 0x9b, 0x5f, 0x63, 0x67, 0xe9, + 0x4c, 0x0d, 0x47, 0x50, 0x24, 0x51, 0x35, 0x7b, 0xe1, 0xb5 }; static const unsigned char root_ds_1_2017[] = { - 0xae, 0x1e, 0xa5, 0xb9, 0x74, 0xd4, 0xc8, 0x58, - 0xb7, 0x40, 0xbd, 0x03, 0xe3, 0xce, 0xd7, 0xeb, - 0xfc, 0xbd, 0x17, 0x24 + 0xae, 0x1e, 0xa5, 0xb9, 0x74, 0xd4, 0xc8, 0x58, 0xb7, 0x40, + 0xbd, 0x03, 0xe3, 0xce, 0xd7, 0xeb, 0xfc, 0xbd, 0x17, 0x24 }; static const unsigned char root_ds_2_2017[] = { 0xe0, 0x6d, 0x44, 0xb8, 0x0b, 0x8f, 0x1d, 0x39, @@ -3313,7 +3244,7 @@ check_trust_anchor(const cfg_obj_t *key, bool managed, anchortype = TRUSTED; } - switch(anchortype) { + switch (anchortype) { case INIT_DNSKEY: case STATIC_DNSKEY: case TRUSTED: @@ -3326,7 +3257,7 @@ check_trust_anchor(const cfg_obj_t *key, bool managed, cfg_obj_log(key, logctx, ISC_LOG_WARNING, "key flags revoke bit set"); } - if (rdata2 > 0xff) { + if (rdata2 > 0xff) { cfg_obj_log(key, logctx, ISC_LOG_ERROR, "protocol too big: %u", rdata2); result = ISC_R_RANGE; @@ -3343,15 +3274,14 @@ check_trust_anchor(const cfg_obj_t *key, bool managed, tresult = isc_base64_decodestring(str, &b); if (tresult != ISC_R_SUCCESS) { - cfg_obj_log(key, logctx, ISC_LOG_ERROR, - "%s", isc_result_totext(tresult)); + cfg_obj_log(key, logctx, ISC_LOG_ERROR, "%s", + isc_result_totext(tresult)); result = ISC_R_FAILURE; } else { isc_buffer_usedregion(&b, &r); - if ((rdata3 == DST_ALG_RSASHA1) && - r.length > 1 && r.base[0] == 1 && r.base[1] == 3) - { + if ((rdata3 == DST_ALG_RSASHA1) && r.length > 1 && + r.base[0] == 1 && r.base[1] == 3) { cfg_obj_log(key, logctx, ISC_LOG_WARNING, "%s '%s' has a weak exponent", atstr, namestr); @@ -3366,13 +3296,11 @@ check_trust_anchor(const cfg_obj_t *key, bool managed, *flagsp |= (managed ? ROOT_KSK_MANAGED : ROOT_KSK_STATIC); - if (rdata1 == 257 && rdata2 == 3 && rdata3 == 8 && (isc_buffer_usedlength(&b) == sizeof(root_ksk_2010)) && memcmp(data, root_ksk_2010, - sizeof(root_ksk_2010)) == 0) - { + sizeof(root_ksk_2010)) == 0) { *flagsp |= ROOT_KSK_2010; } @@ -3380,8 +3308,7 @@ check_trust_anchor(const cfg_obj_t *key, bool managed, (isc_buffer_usedlength(&b) == sizeof(root_ksk_2017)) && memcmp(data, root_ksk_2017, - sizeof(root_ksk_2017)) == 0) - { + sizeof(root_ksk_2017)) == 0) { *flagsp |= ROOT_KSK_2017; } } @@ -3411,8 +3338,8 @@ check_trust_anchor(const cfg_obj_t *key, bool managed, tresult = isc_hex_decodestring(str, &b); if (tresult != ISC_R_SUCCESS) { - cfg_obj_log(key, logctx, ISC_LOG_ERROR, - "%s", isc_result_totext(tresult)); + cfg_obj_log(key, logctx, ISC_LOG_ERROR, "%s", + isc_result_totext(tresult)); result = ISC_R_FAILURE; } if (result == ISC_R_SUCCESS && @@ -3427,8 +3354,7 @@ check_trust_anchor(const cfg_obj_t *key, bool managed, (isc_buffer_usedlength(&b) == sizeof(root_ds_1_2017)) && memcmp(data, root_ds_1_2017, - sizeof(root_ds_1_2017)) == 0) - { + sizeof(root_ds_1_2017)) == 0) { *flagsp |= ROOT_KSK_2017; } @@ -3436,15 +3362,14 @@ check_trust_anchor(const cfg_obj_t *key, bool managed, (isc_buffer_usedlength(&b) == sizeof(root_ds_2_2017)) && memcmp(data, root_ds_2_2017, - sizeof(root_ds_2_2017)) == 0) - { + sizeof(root_ds_2_2017)) == 0) { *flagsp |= ROOT_KSK_2017; } } break; } - cleanup: +cleanup: return (result); } @@ -3453,19 +3378,17 @@ record_static_keys(isc_symtab_t *symtab, isc_mem_t *mctx, const cfg_obj_t *keylist, isc_log_t *logctx, bool autovalidation) { - isc_result_t result, ret = ISC_R_SUCCESS; + isc_result_t result, ret = ISC_R_SUCCESS; const cfg_listelt_t *elt; - dns_fixedname_t fixed; - dns_name_t *name; - char namebuf[DNS_NAME_FORMATSIZE], *p = NULL; + dns_fixedname_t fixed; + dns_name_t * name; + char namebuf[DNS_NAME_FORMATSIZE], *p = NULL; name = dns_fixedname_initname(&fixed); - for (elt = cfg_list_first(keylist); - elt != NULL; - elt = cfg_list_next(elt)) - { - const char *initmethod; + for (elt = cfg_list_first(keylist); elt != NULL; + elt = cfg_list_next(elt)) { + const char * initmethod; const cfg_obj_t *init = NULL; const cfg_obj_t *obj = cfg_listelt_value(elt); const char *str = cfg_obj_asstring(cfg_tuple_get(obj, "name")); @@ -3519,28 +3442,25 @@ static isc_result_t check_initializing_keys(isc_symtab_t *symtab, const cfg_obj_t *keylist, isc_log_t *logctx) { - isc_result_t result, ret = ISC_R_SUCCESS; + isc_result_t result, ret = ISC_R_SUCCESS; const cfg_listelt_t *elt; - dns_fixedname_t fixed; - dns_name_t *name; - char namebuf[DNS_NAME_FORMATSIZE]; + dns_fixedname_t fixed; + dns_name_t * name; + char namebuf[DNS_NAME_FORMATSIZE]; name = dns_fixedname_initname(&fixed); - for (elt = cfg_list_first(keylist); - elt != NULL; - elt = cfg_list_next(elt)) - { + for (elt = cfg_list_first(keylist); elt != NULL; + elt = cfg_list_next(elt)) { const cfg_obj_t *obj = cfg_listelt_value(elt); const cfg_obj_t *init = NULL; - const char *str; - isc_symvalue_t symvalue; + const char * str; + isc_symvalue_t symvalue; init = cfg_tuple_get(obj, "anchortype"); if (cfg_obj_isvoid(init) || strcasecmp(cfg_obj_asstring(init), "static-key") == 0 || - strcasecmp(cfg_obj_asstring(init), "static-ds") == 0) - { + strcasecmp(cfg_obj_asstring(init), "static-ds") == 0) { /* static key, skip it */ continue; } @@ -3554,7 +3474,7 @@ check_initializing_keys(isc_symtab_t *symtab, const cfg_obj_t *keylist, dns_name_format(name, namebuf, sizeof(namebuf)); result = isc_symtab_lookup(symtab, namebuf, 1, &symvalue); if (result == ISC_R_SUCCESS) { - const char *file = cfg_obj_file(symvalue.as_cpointer); + const char * file = cfg_obj_file(symvalue.as_cpointer); unsigned int line = cfg_obj_line(symvalue.as_cpointer); if (file == NULL) { file = ""; @@ -3564,7 +3484,8 @@ check_initializing_keys(isc_symtab_t *symtab, const cfg_obj_t *keylist, "cannot be used for the " "same domain. " "static key defined at " - "%s:%u", file, line); + "%s:%u", + file, line); ret = ISC_R_FAILURE; } @@ -3576,19 +3497,17 @@ check_initializing_keys(isc_symtab_t *symtab, const cfg_obj_t *keylist, static isc_result_t record_ds_keys(isc_symtab_t *symtab, isc_mem_t *mctx, const cfg_obj_t *keylist) { - isc_result_t result, ret = ISC_R_SUCCESS; + isc_result_t result, ret = ISC_R_SUCCESS; const cfg_listelt_t *elt; - dns_fixedname_t fixed; - dns_name_t *name; - char namebuf[DNS_NAME_FORMATSIZE], *p = NULL; + dns_fixedname_t fixed; + dns_name_t * name; + char namebuf[DNS_NAME_FORMATSIZE], *p = NULL; name = dns_fixedname_initname(&fixed); - for (elt = cfg_list_first(keylist); - elt != NULL; - elt = cfg_list_next(elt)) - { - const char *initmethod; + for (elt = cfg_list_first(keylist); elt != NULL; + elt = cfg_list_next(elt)) { + const char * initmethod; const cfg_obj_t *init = NULL; const cfg_obj_t *obj = cfg_listelt_value(elt); const char *str = cfg_obj_asstring(cfg_tuple_get(obj, "name")); @@ -3603,8 +3522,7 @@ record_ds_keys(isc_symtab_t *symtab, isc_mem_t *mctx, const cfg_obj_t *keylist) if (!cfg_obj_isvoid(init)) { initmethod = cfg_obj_asstring(init); if (strcasecmp(initmethod, "initial-key") == 0 || - strcasecmp(initmethod, "static-key") == 0) - { + strcasecmp(initmethod, "static-key") == 0) { /* Key-style key, skip it */ continue; } @@ -3635,10 +3553,10 @@ check_ta_conflicts(const cfg_obj_t *global_ta, const cfg_obj_t *view_ta, const cfg_obj_t *global_tkeys, const cfg_obj_t *view_tkeys, bool autovalidation, isc_mem_t *mctx, isc_log_t *logctx) { - isc_result_t result, tresult; + isc_result_t result, tresult; const cfg_listelt_t *elt = NULL; - const cfg_obj_t *keylist = NULL; - isc_symtab_t *statictab = NULL, *dstab = NULL; + const cfg_obj_t * keylist = NULL; + isc_symtab_t * statictab = NULL, *dstab = NULL; result = isc_symtab_create(mctx, 100, freekey, mctx, false, &statictab); if (result != ISC_R_SUCCESS) { @@ -3655,13 +3573,11 @@ check_ta_conflicts(const cfg_obj_t *global_ta, const cfg_obj_t *view_ta, * trusted-keys and trust-anchors configured with "static-key"), * and all the DS-style trust anchors. */ - for (elt = cfg_list_first(global_ta); - elt != NULL; - elt = cfg_list_next(elt)) - { + for (elt = cfg_list_first(global_ta); elt != NULL; + elt = cfg_list_next(elt)) { keylist = cfg_listelt_value(elt); - tresult = record_static_keys(statictab, mctx, keylist, - logctx, autovalidation); + tresult = record_static_keys(statictab, mctx, keylist, logctx, + autovalidation); if (result == ISC_R_SUCCESS) { result = tresult; } @@ -3672,13 +3588,11 @@ check_ta_conflicts(const cfg_obj_t *global_ta, const cfg_obj_t *view_ta, } } - for (elt = cfg_list_first(view_ta); - elt != NULL; - elt = cfg_list_next(elt)) - { + for (elt = cfg_list_first(view_ta); elt != NULL; + elt = cfg_list_next(elt)) { keylist = cfg_listelt_value(elt); - tresult = record_static_keys(statictab, mctx, keylist, - logctx, autovalidation); + tresult = record_static_keys(statictab, mctx, keylist, logctx, + autovalidation); if (result == ISC_R_SUCCESS) { result = tresult; } @@ -3689,25 +3603,21 @@ check_ta_conflicts(const cfg_obj_t *global_ta, const cfg_obj_t *view_ta, } } - for (elt = cfg_list_first(global_tkeys); - elt != NULL; - elt = cfg_list_next(elt)) - { + for (elt = cfg_list_first(global_tkeys); elt != NULL; + elt = cfg_list_next(elt)) { keylist = cfg_listelt_value(elt); - tresult = record_static_keys(statictab, mctx, keylist, - logctx, autovalidation); + tresult = record_static_keys(statictab, mctx, keylist, logctx, + autovalidation); if (result == ISC_R_SUCCESS) { result = tresult; } } - for (elt = cfg_list_first(view_tkeys); - elt != NULL; - elt = cfg_list_next(elt)) - { + for (elt = cfg_list_first(view_tkeys); elt != NULL; + elt = cfg_list_next(elt)) { keylist = cfg_listelt_value(elt); - tresult = record_static_keys(statictab, mctx, keylist, - logctx, autovalidation); + tresult = record_static_keys(statictab, mctx, keylist, logctx, + autovalidation); if (result == ISC_R_SUCCESS) { result = tresult; } @@ -3717,10 +3627,8 @@ check_ta_conflicts(const cfg_obj_t *global_ta, const cfg_obj_t *view_ta, * Next, ensure that there's no conflict between the * static keys and the trust-anchors configured with "initial-key". */ - for (elt = cfg_list_first(global_ta); - elt != NULL; - elt = cfg_list_next(elt)) - { + for (elt = cfg_list_first(global_ta); elt != NULL; + elt = cfg_list_next(elt)) { keylist = cfg_listelt_value(elt); tresult = check_initializing_keys(statictab, keylist, logctx); if (result == ISC_R_SUCCESS) { @@ -3728,10 +3636,8 @@ check_ta_conflicts(const cfg_obj_t *global_ta, const cfg_obj_t *view_ta, } } - for (elt = cfg_list_first(view_ta); - elt != NULL; - elt = cfg_list_next(elt)) - { + for (elt = cfg_list_first(view_ta); elt != NULL; + elt = cfg_list_next(elt)) { keylist = cfg_listelt_value(elt); tresult = check_initializing_keys(statictab, keylist, logctx); if (result == ISC_R_SUCCESS) { @@ -3739,7 +3645,7 @@ check_ta_conflicts(const cfg_obj_t *global_ta, const cfg_obj_t *view_ta, } } - cleanup: +cleanup: if (statictab != NULL) { isc_symtab_destroy(&statictab); } @@ -3749,10 +3655,7 @@ check_ta_conflicts(const cfg_obj_t *global_ta, const cfg_obj_t *view_ta, return (result); } -typedef enum { - special_zonetype_rpz, - special_zonetype_catz -} special_zonetype_t; +typedef enum { special_zonetype_rpz, special_zonetype_catz } special_zonetype_t; static isc_result_t check_rpz_catz(const char *rpz_catz, const cfg_obj_t *rpz_obj, @@ -3760,15 +3663,15 @@ check_rpz_catz(const char *rpz_catz, const cfg_obj_t *rpz_obj, special_zonetype_t specialzonetype) { const cfg_listelt_t *element; - const cfg_obj_t *obj, *nameobj, *zoneobj; - const char *zonename, *zonetype; - const char *forview = " for view "; - isc_symvalue_t value; - isc_result_t result, tresult; - dns_fixedname_t fixed; - dns_name_t *name; - char namebuf[DNS_NAME_FORMATSIZE]; - unsigned int num_zones = 0; + const cfg_obj_t * obj, *nameobj, *zoneobj; + const char * zonename, *zonetype; + const char * forview = " for view "; + isc_symvalue_t value; + isc_result_t result, tresult; + dns_fixedname_t fixed; + dns_name_t * name; + char namebuf[DNS_NAME_FORMATSIZE]; + unsigned int num_zones = 0; if (viewname == NULL) { viewname = ""; @@ -3779,10 +3682,8 @@ check_rpz_catz(const char *rpz_catz, const cfg_obj_t *rpz_obj, name = dns_fixedname_initname(&fixed); obj = cfg_tuple_get(rpz_obj, "zone list"); - for (element = cfg_list_first(obj); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(obj); element != NULL; + element = cfg_list_next(element)) { obj = cfg_listelt_value(element); nameobj = cfg_tuple_get(obj, "zone name"); zonename = cfg_obj_asstring(nameobj); @@ -3792,7 +3693,8 @@ check_rpz_catz(const char *rpz_catz, const cfg_obj_t *rpz_obj, if (++num_zones > 64) { cfg_obj_log(nameobj, logctx, ISC_LOG_ERROR, "more than 64 response policy " - "zones in view '%s'", viewname); + "zones in view '%s'", + viewname); return (ISC_R_FAILURE); } } @@ -3800,7 +3702,7 @@ check_rpz_catz(const char *rpz_catz, const cfg_obj_t *rpz_obj, tresult = dns_name_fromstring(name, zonename, 0, NULL); if (tresult != ISC_R_SUCCESS) { cfg_obj_log(nameobj, logctx, ISC_LOG_ERROR, - "bad domain name '%s'", zonename); + "bad domain name '%s'", zonename); if (result == ISC_R_SUCCESS) result = tresult; continue; @@ -3820,8 +3722,7 @@ check_rpz_catz(const char *rpz_catz, const cfg_obj_t *rpz_obj, if (strcasecmp(zonetype, "primary") != 0 && strcasecmp(zonetype, "master") != 0 && strcasecmp(zonetype, "secondary") != 0 && - strcasecmp(zonetype, "slave") != 0) - { + strcasecmp(zonetype, "slave") != 0) { cfg_obj_log(nameobj, logctx, ISC_LOG_ERROR, "%s '%s'%s%s is not a master or slave zone", rpz_catz, zonename, forview, viewname); @@ -3837,10 +3738,10 @@ check_rpz_catz(const char *rpz_catz, const cfg_obj_t *rpz_obj, * Data structure used for the 'callback_data' argument to check_one_plugin(). */ struct check_one_plugin_data { - isc_mem_t *mctx; - isc_log_t *lctx; + isc_mem_t * mctx; + isc_log_t * lctx; cfg_aclconfctx_t *actx; - isc_result_t *check_result; + isc_result_t * check_result; }; /*% @@ -3856,11 +3757,11 @@ check_one_plugin(const cfg_obj_t *config, const cfg_obj_t *obj, void *callback_data) { struct check_one_plugin_data *data = callback_data; - char full_path[PATH_MAX]; - isc_result_t result; + char full_path[PATH_MAX]; + isc_result_t result; - result = ns_plugin_expandpath(plugin_path, - full_path, sizeof(full_path)); + result = + ns_plugin_expandpath(plugin_path, full_path, sizeof(full_path)); if (result != ISC_R_SUCCESS) { cfg_obj_log(obj, data->lctx, ISC_LOG_ERROR, "%s: plugin check failed: " @@ -3874,8 +3775,8 @@ check_one_plugin(const cfg_obj_t *config, const cfg_obj_t *obj, data->mctx, data->lctx, data->actx); if (result != ISC_R_SUCCESS) { cfg_obj_log(obj, data->lctx, ISC_LOG_ERROR, - "%s: plugin check failed: %s", - full_path, isc_result_totext(result)); + "%s: plugin check failed: %s", full_path, + isc_result_totext(result)); *data->check_result = result; } @@ -3892,17 +3793,17 @@ check_dnstap(const cfg_obj_t *voptions, const cfg_obj_t *config, const cfg_obj_t *obj = NULL; if (config != NULL) { - (void) cfg_map_get(config, "options", &options); + (void)cfg_map_get(config, "options", &options); } if (options != NULL) { - (void) cfg_map_get(options, "dnstap-output", &obj); + (void)cfg_map_get(options, "dnstap-output", &obj); } if (obj == NULL) { if (voptions != NULL) { - (void) cfg_map_get(voptions, "dnstap", &obj); + (void)cfg_map_get(voptions, "dnstap", &obj); } if (options != NULL && obj == NULL) { - (void) cfg_map_get(options, "dnstap", &obj); + (void)cfg_map_get(options, "dnstap", &obj); } if (obj != NULL) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, @@ -3937,17 +3838,17 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, const cfg_obj_t *dyndb = NULL; #endif const cfg_listelt_t *element, *element2; - isc_symtab_t *symtab = NULL; - isc_result_t result = ISC_R_SUCCESS; - isc_result_t tresult = ISC_R_SUCCESS; - cfg_aclconfctx_t *actx = NULL; - const cfg_obj_t *obj; - const cfg_obj_t *options = NULL; - const cfg_obj_t *opts = NULL; - const cfg_obj_t *plugin_list = NULL; - bool autovalidation = false; - unsigned int tflags = 0, dflags = 0; - int i; + isc_symtab_t * symtab = NULL; + isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult = ISC_R_SUCCESS; + cfg_aclconfctx_t * actx = NULL; + const cfg_obj_t * obj; + const cfg_obj_t * options = NULL; + const cfg_obj_t * opts = NULL; + const cfg_obj_t * plugin_list = NULL; + bool autovalidation = false; + unsigned int tflags = 0, dflags = 0; + int i; /* * Get global options block @@ -3966,8 +3867,7 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, * Check that all zone statements are syntactically correct and * there are no duplicate zones. */ - tresult = isc_symtab_create(mctx, 1000, freekey, mctx, - false, &symtab); + tresult = isc_symtab_create(mctx, 1000, freekey, mctx, false, &symtab); if (tresult != ISC_R_SUCCESS) return (ISC_R_NOMEMORY); @@ -3978,15 +3878,13 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, else (void)cfg_map_get(config, "zone", &zones); - for (element = cfg_list_first(zones); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(zones); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *zone = cfg_listelt_value(element); - tresult = check_zoneconf(zone, voptions, config, symtab, - files, inview, viewname, vclass, - actx, logctx, mctx); + tresult = check_zoneconf(zone, voptions, config, symtab, files, + inview, viewname, vclass, actx, logctx, + mctx); if (tresult != ISC_R_SUCCESS) result = ISC_R_FAILURE; } @@ -4011,22 +3909,20 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, */ if (opts != NULL) { obj = NULL; - if ((cfg_map_get(opts, "response-policy", - &obj) == ISC_R_SUCCESS) && - (check_rpz_catz("response-policy zone", obj, - viewname, symtab, logctx, - special_zonetype_rpz) != ISC_R_SUCCESS)) - { + if ((cfg_map_get(opts, "response-policy", &obj) == + ISC_R_SUCCESS) && + (check_rpz_catz("response-policy zone", obj, viewname, + symtab, logctx, + special_zonetype_rpz) != ISC_R_SUCCESS)) { result = ISC_R_FAILURE; } obj = NULL; - if ((cfg_map_get(opts, "catalog-zones", - &obj) == ISC_R_SUCCESS) && - (check_rpz_catz("catalog zone", obj, - viewname, symtab, logctx, - special_zonetype_catz) != ISC_R_SUCCESS)) - { + if ((cfg_map_get(opts, "catalog-zones", &obj) == + ISC_R_SUCCESS) && + (check_rpz_catz("catalog zone", obj, viewname, symtab, + logctx, + special_zonetype_catz) != ISC_R_SUCCESS)) { result = ISC_R_FAILURE; } } @@ -4044,7 +3940,8 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, */ if (options != NULL && check_nonzero(options, logctx) != ISC_R_SUCCESS) result = ISC_R_FAILURE; - if (voptions != NULL &&check_nonzero(voptions, logctx) != ISC_R_SUCCESS) + if (voptions != NULL && + check_nonzero(voptions, logctx) != ISC_R_SUCCESS) result = ISC_R_FAILURE; /* @@ -4063,8 +3960,7 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, * Check that all key statements are syntactically correct and * there are no duplicate keys. */ - tresult = isc_symtab_create(mctx, 1000, freekey, mctx, - false, &symtab); + tresult = isc_symtab_create(mctx, 1000, freekey, mctx, false, &symtab); if (tresult != ISC_R_SUCCESS) goto cleanup; @@ -4120,18 +4016,15 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, for (element = cfg_list_first(check_keys[i]); element != NULL; - element = cfg_list_next(element)) - { + element = cfg_list_next(element)) { const cfg_obj_t *keylist = cfg_listelt_value(element); for (element2 = cfg_list_first(keylist); element2 != NULL; - element2 = cfg_list_next(element2)) - { + element2 = cfg_list_next(element2)) { obj = cfg_listelt_value(element2); - tresult = check_trust_anchor(obj, false, - &flags, - logctx); + tresult = check_trust_anchor( + obj, false, &flags, logctx); if (tresult != ISC_R_SUCCESS) { result = tresult; } @@ -4156,15 +4049,13 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, * Check dnssec/managed-keys. (Only one or the other can be used.) */ if ((view_mkeys != NULL || global_mkeys != NULL) && - (view_ta != NULL || global_ta != NULL)) - { + (view_ta != NULL || global_ta != NULL)) { keys = (view_mkeys != NULL) ? view_mkeys : global_mkeys; cfg_obj_log(keys, logctx, ISC_LOG_ERROR, "use of managed-keys is not allowed when " "trust-anchors is also in use"); result = ISC_R_FAILURE; - } if (view_ta == NULL && global_ta == NULL) { @@ -4180,18 +4071,15 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, for (element = cfg_list_first(check_keys[i]); element != NULL; - element = cfg_list_next(element)) - { + element = cfg_list_next(element)) { const cfg_obj_t *keylist = cfg_listelt_value(element); for (element2 = cfg_list_first(keylist); element2 != NULL; - element2 = cfg_list_next(element2)) - { + element2 = cfg_list_next(element2)) { obj = cfg_listelt_value(element2); - tresult = check_trust_anchor(obj, true, - &flags, - logctx); + tresult = check_trust_anchor( + obj, true, &flags, logctx); if (tresult != ISC_R_SUCCESS) { result = tresult; } @@ -4209,8 +4097,7 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, } if ((flags & ROOT_KSK_2010) != 0 && - (flags & ROOT_KSK_2017) == 0) - { + (flags & ROOT_KSK_2017) == 0) { cfg_obj_log(check_keys[i], logctx, ISC_LOG_WARNING, "initial-key entry for the root " @@ -4247,9 +4134,8 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, autovalidation = true; } - tresult = check_ta_conflicts(global_ta, view_ta, - global_tkeys, view_tkeys, - autovalidation, mctx, logctx); + tresult = check_ta_conflicts(global_ta, view_ta, global_tkeys, + view_tkeys, autovalidation, mctx, logctx); if (tresult != ISC_R_SUCCESS) { result = tresult; } @@ -4258,11 +4144,9 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, * Check options. */ if (voptions != NULL) { - tresult = check_options(voptions, logctx, mctx, - optlevel_view); + tresult = check_options(voptions, logctx, mctx, optlevel_view); } else { - tresult = check_options(config, logctx, mctx, - optlevel_config); + tresult = check_options(config, logctx, mctx, optlevel_config); } if (tresult != ISC_R_SUCCESS) { result = tresult; @@ -4278,8 +4162,8 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, result = tresult; } - tresult = check_recursionacls(actx, voptions, viewname, - config, logctx, mctx); + tresult = check_recursionacls(actx, voptions, viewname, config, logctx, + mctx); if (tresult != ISC_R_SUCCESS) { result = tresult; } @@ -4323,7 +4207,7 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, } #endif /* HAVE_DLOPEN */ - cleanup: +cleanup: if (symtab != NULL) isc_symtab_destroy(&symtab); if (actx != NULL) @@ -4332,37 +4216,30 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, return (result); } -static const char * -default_channels[] = { - "default_syslog", - "default_stderr", - "default_debug", - "null", - NULL -}; +static const char *default_channels[] = { "default_syslog", "default_stderr", + "default_debug", "null", NULL }; static isc_result_t -bind9_check_logging(const cfg_obj_t *config, isc_log_t *logctx, - isc_mem_t *mctx) +bind9_check_logging(const cfg_obj_t *config, isc_log_t *logctx, isc_mem_t *mctx) { - const cfg_obj_t *categories = NULL; - const cfg_obj_t *category; - const cfg_obj_t *channels = NULL; - const cfg_obj_t *channel; + const cfg_obj_t * categories = NULL; + const cfg_obj_t * category; + const cfg_obj_t * channels = NULL; + const cfg_obj_t * channel; const cfg_listelt_t *element; const cfg_listelt_t *delement; - const char *channelname; - const char *catname; - const cfg_obj_t *fileobj = NULL; - const cfg_obj_t *syslogobj = NULL; - const cfg_obj_t *nullobj = NULL; - const cfg_obj_t *stderrobj = NULL; - const cfg_obj_t *logobj = NULL; - isc_result_t result = ISC_R_SUCCESS; - isc_result_t tresult; - isc_symtab_t *symtab = NULL; - isc_symvalue_t symvalue; - int i; + const char * channelname; + const char * catname; + const cfg_obj_t * fileobj = NULL; + const cfg_obj_t * syslogobj = NULL; + const cfg_obj_t * nullobj = NULL; + const cfg_obj_t * stderrobj = NULL; + const cfg_obj_t * logobj = NULL; + isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; + isc_symtab_t * symtab = NULL; + isc_symvalue_t symvalue; + int i; (void)cfg_map_get(config, "logging", &logobj); if (logobj == NULL) @@ -4382,10 +4259,8 @@ bind9_check_logging(const cfg_obj_t *config, isc_log_t *logctx, cfg_map_get(logobj, "channel", &channels); - for (element = cfg_list_first(channels); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(channels); element != NULL; + element = cfg_list_next(element)) { channel = cfg_listelt_value(element); channelname = cfg_obj_asstring(cfg_map_getname(channel)); fileobj = syslogobj = nullobj = stderrobj = NULL; @@ -4404,23 +4279,22 @@ bind9_check_logging(const cfg_obj_t *config, isc_log_t *logctx, i++; if (i != 1) { cfg_obj_log(channel, logctx, ISC_LOG_ERROR, - "channel '%s': exactly one of file, syslog, " + "channel '%s': exactly one of file, " + "syslog, " "null, and stderr must be present", - channelname); + channelname); result = ISC_R_FAILURE; } - tresult = isc_symtab_define(symtab, channelname, 1, - symvalue, isc_symexists_replace); + tresult = isc_symtab_define(symtab, channelname, 1, symvalue, + isc_symexists_replace); if (tresult != ISC_R_SUCCESS) result = tresult; } cfg_map_get(logobj, "category", &categories); - for (element = cfg_list_first(categories); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(categories); element != NULL; + element = cfg_list_next(element)) { category = cfg_listelt_value(element); catname = cfg_obj_asstring(cfg_tuple_get(category, "name")); if (isc_log_categorybyname(logctx, catname) == NULL) { @@ -4429,10 +4303,8 @@ bind9_check_logging(const cfg_obj_t *config, isc_log_t *logctx, result = ISC_R_FAILURE; } channels = cfg_tuple_get(category, "destinations"); - for (delement = cfg_list_first(channels); - delement != NULL; - delement = cfg_list_next(delement)) - { + for (delement = cfg_list_first(channels); delement != NULL; + delement = cfg_list_next(delement)) { channel = cfg_listelt_value(delement); channelname = cfg_obj_asstring(channel); tresult = isc_symtab_lookup(symtab, channelname, 1, @@ -4453,20 +4325,18 @@ static isc_result_t bind9_check_controlskeys(const cfg_obj_t *control, const cfg_obj_t *keylist, isc_log_t *logctx) { - isc_result_t result = ISC_R_SUCCESS; - const cfg_obj_t *control_keylist; + isc_result_t result = ISC_R_SUCCESS; + const cfg_obj_t * control_keylist; const cfg_listelt_t *element; - const cfg_obj_t *key; - const char *keyval; + const cfg_obj_t * key; + const char * keyval; control_keylist = cfg_tuple_get(control, "keys"); if (cfg_obj_isvoid(control_keylist)) return (ISC_R_SUCCESS); - for (element = cfg_list_first(control_keylist); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(control_keylist); element != NULL; + element = cfg_list_next(element)) { key = cfg_listelt_value(element); keyval = cfg_obj_asstring(key); @@ -4483,21 +4353,21 @@ static isc_result_t bind9_check_controls(const cfg_obj_t *config, isc_log_t *logctx, isc_mem_t *mctx) { - isc_result_t result = ISC_R_SUCCESS, tresult; - cfg_aclconfctx_t *actx = NULL; + isc_result_t result = ISC_R_SUCCESS, tresult; + cfg_aclconfctx_t * actx = NULL; const cfg_listelt_t *element, *element2; - const cfg_obj_t *allow; - const cfg_obj_t *control; - const cfg_obj_t *controls; - const cfg_obj_t *controlslist = NULL; - const cfg_obj_t *inetcontrols; - const cfg_obj_t *unixcontrols; - const cfg_obj_t *keylist = NULL; - const char *path; - uint32_t perm, mask; - dns_acl_t *acl = NULL; - isc_sockaddr_t addr; - int i; + const cfg_obj_t * allow; + const cfg_obj_t * control; + const cfg_obj_t * controls; + const cfg_obj_t * controlslist = NULL; + const cfg_obj_t * inetcontrols; + const cfg_obj_t * unixcontrols; + const cfg_obj_t * keylist = NULL; + const char * path; + uint32_t perm, mask; + dns_acl_t * acl = NULL; + isc_sockaddr_t addr; + int i; (void)cfg_map_get(config, "controls", &controlslist); if (controlslist == NULL) @@ -4511,16 +4381,14 @@ bind9_check_controls(const cfg_obj_t *config, isc_log_t *logctx, * INET: Check allow clause. * UNIX: Check "perm" for sanity, check path length. */ - for (element = cfg_list_first(controlslist); - element != NULL; + for (element = cfg_list_first(controlslist); element != NULL; element = cfg_list_next(element)) { controls = cfg_listelt_value(element); unixcontrols = NULL; inetcontrols = NULL; (void)cfg_map_get(controls, "unix", &unixcontrols); (void)cfg_map_get(controls, "inet", &inetcontrols); - for (element2 = cfg_list_first(inetcontrols); - element2 != NULL; + for (element2 = cfg_list_first(inetcontrols); element2 != NULL; element2 = cfg_list_next(element2)) { control = cfg_listelt_value(element2); allow = cfg_tuple_get(control, "allow"); @@ -4535,8 +4403,7 @@ bind9_check_controls(const cfg_obj_t *config, isc_log_t *logctx, if (tresult != ISC_R_SUCCESS) result = tresult; } - for (element2 = cfg_list_first(unixcontrols); - element2 != NULL; + for (element2 = cfg_list_first(unixcontrols); element2 != NULL; element2 = cfg_list_next(element2)) { control = cfg_listelt_value(element2); path = cfg_obj_asstring(cfg_tuple_get(control, "path")); @@ -4550,9 +4417,9 @@ bind9_check_controls(const cfg_obj_t *config, isc_log_t *logctx, perm = cfg_obj_asuint32(cfg_tuple_get(control, "perm")); for (i = 0; i < 3; i++) { #ifdef NEED_SECURE_DIRECTORY - mask = (0x1 << (i*3)); /* SEARCH */ + mask = (0x1 << (i * 3)); /* SEARCH */ #else - mask = (0x6 << (i*3)); /* READ + WRITE */ + mask = (0x6 << (i * 3)); /* READ + WRITE */ #endif if ((perm & mask) == mask) break; @@ -4560,11 +4427,13 @@ bind9_check_controls(const cfg_obj_t *config, isc_log_t *logctx, if (i == 0) { cfg_obj_log(control, logctx, ISC_LOG_WARNING, "unix control '%s' allows access " - "to everyone", path); + "to everyone", + path); } else if (i == 3) { cfg_obj_log(control, logctx, ISC_LOG_WARNING, "unix control '%s' allows access " - "to nobody", path); + "to nobody", + path); } tresult = bind9_check_controlskeys(control, keylist, logctx); @@ -4580,26 +4449,25 @@ isc_result_t bind9_check_namedconf(const cfg_obj_t *config, bool check_plugins, isc_log_t *logctx, isc_mem_t *mctx) { - const cfg_obj_t *options = NULL; - const cfg_obj_t *views = NULL; - const cfg_obj_t *acls = NULL; - const cfg_obj_t *kals = NULL; - const cfg_obj_t *obj; + const cfg_obj_t * options = NULL; + const cfg_obj_t * views = NULL; + const cfg_obj_t * acls = NULL; + const cfg_obj_t * kals = NULL; + const cfg_obj_t * obj; const cfg_listelt_t *velement; - isc_result_t result = ISC_R_SUCCESS; - isc_result_t tresult; - isc_symtab_t *symtab = NULL; - isc_symtab_t *files = NULL; - isc_symtab_t *inview = NULL; + isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; + isc_symtab_t * symtab = NULL; + isc_symtab_t * files = NULL; + isc_symtab_t * inview = NULL; - static const char *builtin[] = { "localhost", "localnets", - "any", "none"}; + static const char *builtin[] = { "localhost", "localnets", "any", + "none" }; (void)cfg_map_get(config, "options", &options); - if (options != NULL && - check_options(options, logctx, mctx, - optlevel_options) != ISC_R_SUCCESS) + if (options != NULL && check_options(options, logctx, mctx, + optlevel_options) != ISC_R_SUCCESS) result = ISC_R_FAILURE; if (bind9_check_logging(config, logctx, mctx) != ISC_R_SUCCESS) @@ -4619,24 +4487,22 @@ bind9_check_namedconf(const cfg_obj_t *config, bool check_plugins, * case sensitive. This will prevent people using FOO.DB and foo.db * on case sensitive file systems but that shouldn't be a major issue. */ - tresult = isc_symtab_create(mctx, 100, NULL, NULL, false, - &files); + tresult = isc_symtab_create(mctx, 100, NULL, NULL, false, &files); if (tresult != ISC_R_SUCCESS) { result = tresult; goto cleanup; } - tresult = isc_symtab_create(mctx, 100, freekey, mctx, - true, &inview); + tresult = isc_symtab_create(mctx, 100, freekey, mctx, true, &inview); if (tresult != ISC_R_SUCCESS) { result = tresult; goto cleanup; } if (views == NULL) { - tresult = check_viewconf(config, NULL, NULL, - dns_rdataclass_in, files, - check_plugins, inview, logctx, mctx); + tresult = check_viewconf(config, NULL, NULL, dns_rdataclass_in, + files, check_plugins, inview, logctx, + mctx); if (result == ISC_R_SUCCESS && tresult != ISC_R_SUCCESS) { result = ISC_R_FAILURE; } @@ -4666,18 +4532,16 @@ bind9_check_namedconf(const cfg_obj_t *config, bool check_plugins, result = tresult; goto cleanup; } - for (velement = cfg_list_first(views); - velement != NULL; - velement = cfg_list_next(velement)) - { + for (velement = cfg_list_first(views); velement != NULL; + velement = cfg_list_next(velement)) { const cfg_obj_t *view = cfg_listelt_value(velement); const cfg_obj_t *vname = cfg_tuple_get(view, "name"); const cfg_obj_t *voptions = cfg_tuple_get(view, "options"); const cfg_obj_t *vclassobj = cfg_tuple_get(view, "class"); dns_rdataclass_t vclass = dns_rdataclass_in; - const char *key = cfg_obj_asstring(vname); - isc_symvalue_t symvalue; - unsigned int symtype; + const char * key = cfg_obj_asstring(vname); + isc_symvalue_t symvalue; + unsigned int symtype; tresult = ISC_R_SUCCESS; if (cfg_obj_isstring(vclassobj)) { @@ -4698,10 +4562,12 @@ bind9_check_namedconf(const cfg_obj_t *config, bool check_plugins, symvalue, isc_symexists_reject); if (tresult == ISC_R_EXISTS) { - const char *file; + const char * file; unsigned int line; RUNTIME_CHECK(isc_symtab_lookup(symtab, key, - symtype, &symvalue) == ISC_R_SUCCESS); + symtype, + &symvalue) == + ISC_R_SUCCESS); file = cfg_obj_file(symvalue.as_cpointer); line = cfg_obj_line(symvalue.as_cpointer); cfg_obj_log(view, logctx, ISC_LOG_ERROR, @@ -4717,14 +4583,15 @@ bind9_check_namedconf(const cfg_obj_t *config, bool check_plugins, vclass == dns_rdataclass_in)) { cfg_obj_log(view, logctx, ISC_LOG_ERROR, "attempt to redefine builtin view " - "'%s'", key); + "'%s'", + key); result = ISC_R_EXISTS; } } if (tresult == ISC_R_SUCCESS) - tresult = check_viewconf(config, voptions, key, - vclass, files, check_plugins, - inview, logctx, mctx); + tresult = check_viewconf(config, voptions, key, vclass, + files, check_plugins, inview, + logctx, mctx); if (tresult != ISC_R_SUCCESS) result = ISC_R_FAILURE; } @@ -4745,18 +4612,16 @@ bind9_check_namedconf(const cfg_obj_t *config, bool check_plugins, if (acls != NULL) { const cfg_listelt_t *elt; const cfg_listelt_t *elt2; - const char *aclname; + const char * aclname; - for (elt = cfg_list_first(acls); - elt != NULL; + for (elt = cfg_list_first(acls); elt != NULL; elt = cfg_list_next(elt)) { const cfg_obj_t *acl = cfg_listelt_value(elt); - unsigned int line = cfg_obj_line(acl); - unsigned int i; + unsigned int line = cfg_obj_line(acl); + unsigned int i; aclname = cfg_obj_asstring(cfg_tuple_get(acl, "name")); - for (i = 0; - i < sizeof(builtin) / sizeof(builtin[0]); + for (i = 0; i < sizeof(builtin) / sizeof(builtin[0]); i++) if (strcasecmp(aclname, builtin[i]) == 0) { cfg_obj_log(acl, logctx, ISC_LOG_ERROR, @@ -4767,13 +4632,12 @@ bind9_check_namedconf(const cfg_obj_t *config, bool check_plugins, break; } - for (elt2 = cfg_list_next(elt); - elt2 != NULL; + for (elt2 = cfg_list_next(elt); elt2 != NULL; elt2 = cfg_list_next(elt2)) { const cfg_obj_t *acl2 = cfg_listelt_value(elt2); - const char *name; - name = cfg_obj_asstring(cfg_tuple_get(acl2, - "name")); + const char * name; + name = cfg_obj_asstring( + cfg_tuple_get(acl2, "name")); if (strcasecmp(aclname, name) == 0) { const char *file = cfg_obj_file(acl); @@ -4784,7 +4648,7 @@ bind9_check_namedconf(const cfg_obj_t *config, bool check_plugins, "attempt to redefine " "acl '%s' previous " "definition: %s:%u", - name, file, line); + name, file, line); result = ISC_R_FAILURE; } } @@ -4795,24 +4659,22 @@ bind9_check_namedconf(const cfg_obj_t *config, bool check_plugins, if (tresult == ISC_R_SUCCESS) { const cfg_listelt_t *elt; const cfg_listelt_t *elt2; - const char *aclname; + const char * aclname; - for (elt = cfg_list_first(kals); - elt != NULL; + for (elt = cfg_list_first(kals); elt != NULL; elt = cfg_list_next(elt)) { const cfg_obj_t *acl = cfg_listelt_value(elt); aclname = cfg_obj_asstring(cfg_tuple_get(acl, "name")); - for (elt2 = cfg_list_next(elt); - elt2 != NULL; + for (elt2 = cfg_list_next(elt); elt2 != NULL; elt2 = cfg_list_next(elt2)) { const cfg_obj_t *acl2 = cfg_listelt_value(elt2); - const char *name; - name = cfg_obj_asstring(cfg_tuple_get(acl2, - "name")); + const char * name; + name = cfg_obj_asstring( + cfg_tuple_get(acl2, "name")); if (strcasecmp(aclname, name) == 0) { - const char *file = cfg_obj_file(acl); + const char * file = cfg_obj_file(acl); unsigned int line = cfg_obj_line(acl); if (file == NULL) @@ -4822,7 +4684,7 @@ bind9_check_namedconf(const cfg_obj_t *config, bool check_plugins, "attempt to redefine " "kal '%s' previous " "definition: %s:%u", - name, file, line); + name, file, line); result = ISC_R_FAILURE; } } diff --git a/lib/bind9/getaddresses.c b/lib/bind9/getaddresses.c index 342eb622c0..012a9a9c4f 100644 --- a/lib/bind9/getaddresses.c +++ b/lib/bind9/getaddresses.c @@ -27,16 +27,16 @@ #include isc_result_t -bind9_getaddresses(const char *hostname, in_port_t port, - isc_sockaddr_t *addrs, int addrsize, int *addrcount) +bind9_getaddresses(const char *hostname, in_port_t port, isc_sockaddr_t *addrs, + int addrsize, int *addrcount) { - struct in_addr in4; + struct in_addr in4; struct in6_addr in6; - bool have_ipv4, have_ipv6; - int i; + bool have_ipv4, have_ipv6; + int i; struct addrinfo *ai = NULL, *tmpai, hints; - int result; + int result; REQUIRE(hostname != NULL); REQUIRE(addrs != NULL); @@ -63,7 +63,7 @@ bind9_getaddresses(const char *hostname, in_port_t port, *addrcount = 1; return (ISC_R_SUCCESS); } else if (strlen(hostname) <= 127U) { - char tmpbuf[128], *d; + char tmpbuf[128], *d; uint32_t zone = 0; strlcpy(tmpbuf, hostname, sizeof(tmpbuf)); @@ -89,9 +89,8 @@ bind9_getaddresses(const char *hostname, in_port_t port, isc_netaddr_fromin6(&na, &in6); isc_netaddr_setzone(&na, zone); - isc_sockaddr_fromnetaddr(&addrs[0], - (const isc_netaddr_t *)&na, - port); + isc_sockaddr_fromnetaddr( + &addrs[0], (const isc_netaddr_t *)&na, port); *addrcount = 1; return (ISC_R_SUCCESS); @@ -110,7 +109,7 @@ bind9_getaddresses(const char *hostname, in_port_t port, } hints.ai_socktype = SOCK_STREAM; #ifdef AI_ADDRCONFIG - again: +again: #endif result = getaddrinfo(hostname, NULL, &hints, &ai); switch (result) { @@ -132,12 +131,9 @@ bind9_getaddresses(const char *hostname, in_port_t port, default: return (ISC_R_FAILURE); } - for (tmpai = ai, i = 0; - tmpai != NULL && i < addrsize; - tmpai = tmpai->ai_next) - { - if (tmpai->ai_family != AF_INET && - tmpai->ai_family != AF_INET6) + for (tmpai = ai, i = 0; tmpai != NULL && i < addrsize; + tmpai = tmpai->ai_next) { + if (tmpai->ai_family != AF_INET && tmpai->ai_family != AF_INET6) continue; if (tmpai->ai_family == AF_INET) { struct sockaddr_in *sin; @@ -146,11 +142,9 @@ bind9_getaddresses(const char *hostname, in_port_t port, } else { struct sockaddr_in6 *sin6; sin6 = (struct sockaddr_in6 *)tmpai->ai_addr; - isc_sockaddr_fromin6(&addrs[i], &sin6->sin6_addr, - port); + isc_sockaddr_fromin6(&addrs[i], &sin6->sin6_addr, port); } i++; - } freeaddrinfo(ai); *addrcount = i; diff --git a/lib/bind9/include/bind9/check.h b/lib/bind9/include/bind9/check.h index 0cac2e189c..e62d079d37 100644 --- a/lib/bind9/include/bind9/check.h +++ b/lib/bind9/include/bind9/check.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef BIND9_CHECK_H #define BIND9_CHECK_H 1 diff --git a/lib/bind9/include/bind9/getaddresses.h b/lib/bind9/include/bind9/getaddresses.h index 2ffbf9f070..b9e6658269 100644 --- a/lib/bind9/include/bind9/getaddresses.h +++ b/lib/bind9/include/bind9/getaddresses.h @@ -9,22 +9,20 @@ * information regarding copyright ownership. */ - #ifndef BIND9_GETADDRESSES_H #define BIND9_GETADDRESSES_H 1 /*! \file bind9/getaddresses.h */ #include -#include - #include +#include ISC_LANG_BEGINDECLS isc_result_t -bind9_getaddresses(const char *hostname, in_port_t port, - isc_sockaddr_t *addrs, int addrsize, int *addrcount); +bind9_getaddresses(const char *hostname, in_port_t port, isc_sockaddr_t *addrs, + int addrsize, int *addrcount); /*%< * Use the system resolver to get the addresses associated with a hostname. * If successful, the number of addresses found is returned in 'addrcount'. diff --git a/lib/bind9/include/bind9/version.h b/lib/bind9/include/bind9/version.h index fcc0879016..aa48b897f9 100644 --- a/lib/bind9/include/bind9/version.h +++ b/lib/bind9/include/bind9/version.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file bind9/version.h */ #include diff --git a/lib/bind9/version.c b/lib/bind9/version.c index 89003c73db..6b25b6afbb 100644 --- a/lib/bind9/version.c +++ b/lib/bind9/version.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include diff --git a/lib/bind9/win32/DLLMain.c b/lib/bind9/win32/DLLMain.c index 842ca74d1e..69e68ca22a 100644 --- a/lib/bind9/win32/DLLMain.c +++ b/lib/bind9/win32/DLLMain.c @@ -9,14 +9,14 @@ * information regarding copyright ownership. */ -#include #include +#include /* * Called when we enter the DLL */ -__declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, - DWORD fdwReason, LPVOID lpvReserved) +__declspec(dllexport) BOOL WINAPI + DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { switch (fdwReason) { /* @@ -46,4 +46,3 @@ __declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, } return (TRUE); } - diff --git a/lib/dns/acl.c b/lib/dns/acl.c index f6cc4c1d73..4b1f0d7557 100644 --- a/lib/dns/acl.c +++ b/lib/dns/acl.c @@ -22,16 +22,16 @@ #include #include - /* * Create a new ACL, including an IP table and an array with room * for 'n' ACL elements. The elements are uninitialized and the * length is 0. */ isc_result_t -dns_acl_create(isc_mem_t *mctx, int n, dns_acl_t **target) { +dns_acl_create(isc_mem_t *mctx, int n, dns_acl_t **target) +{ isc_result_t result; - dns_acl_t *acl; + dns_acl_t * acl; /* * Work around silly limitation of isc_mem_get(). @@ -79,9 +79,10 @@ dns_acl_create(isc_mem_t *mctx, int n, dns_acl_t **target) { * "none" is the same as "!any". */ static isc_result_t -dns_acl_anyornone(isc_mem_t *mctx, bool neg, dns_acl_t **target) { +dns_acl_anyornone(isc_mem_t *mctx, bool neg, dns_acl_t **target) +{ isc_result_t result; - dns_acl_t *acl = NULL; + dns_acl_t * acl = NULL; result = dns_acl_create(mctx, 0, &acl); if (result != ISC_R_SUCCESS) @@ -101,7 +102,8 @@ dns_acl_anyornone(isc_mem_t *mctx, bool neg, dns_acl_t **target) { * Create a new ACL that matches everything. */ isc_result_t -dns_acl_any(isc_mem_t *mctx, dns_acl_t **target) { +dns_acl_any(isc_mem_t *mctx, dns_acl_t **target) +{ return (dns_acl_anyornone(mctx, false, target)); } @@ -109,7 +111,8 @@ dns_acl_any(isc_mem_t *mctx, dns_acl_t **target) { * Create a new ACL that matches nothing. */ isc_result_t -dns_acl_none(isc_mem_t *mctx, dns_acl_t **target) { +dns_acl_none(isc_mem_t *mctx, dns_acl_t **target) +{ return (dns_acl_anyornone(mctx, true, target)); } @@ -121,10 +124,8 @@ static bool dns_acl_isanyornone(dns_acl_t *acl, bool pos) { /* Should never happen but let's be safe */ - if (acl == NULL || - acl->iptable == NULL || - acl->iptable->radix == NULL || - acl->iptable->radix->head == NULL || + if (acl == NULL || acl->iptable == NULL || + acl->iptable->radix == NULL || acl->iptable->radix->head == NULL || acl->iptable->radix->head->prefix == NULL) return (false); @@ -135,7 +136,7 @@ dns_acl_isanyornone(dns_acl_t *acl, bool pos) acl->iptable->radix->head->data[0] != NULL && acl->iptable->radix->head->data[0] == acl->iptable->radix->head->data[1] && - *(bool *) (acl->iptable->radix->head->data[0]) == pos) + *(bool *)(acl->iptable->radix->head->data[0]) == pos) return (true); return (false); /* All others */ @@ -167,29 +168,24 @@ dns_acl_isnone(dns_acl_t *acl) */ isc_result_t -dns_acl_match(const isc_netaddr_t *reqaddr, - const dns_name_t *reqsigner, - const dns_acl_t *acl, - const dns_aclenv_t *env, - int *match, +dns_acl_match(const isc_netaddr_t *reqaddr, const dns_name_t *reqsigner, + const dns_acl_t *acl, const dns_aclenv_t *env, int *match, const dns_aclelement_t **matchelt) { - uint16_t bitlen; - isc_prefix_t pfx; - isc_radix_node_t *node = NULL; + uint16_t bitlen; + isc_prefix_t pfx; + isc_radix_node_t * node = NULL; const isc_netaddr_t *addr = reqaddr; - isc_netaddr_t v4addr; - isc_result_t result; - int match_num = -1; - unsigned int i; + isc_netaddr_t v4addr; + isc_result_t result; + int match_num = -1; + unsigned int i; REQUIRE(reqaddr != NULL); REQUIRE(matchelt == NULL || *matchelt == NULL); - if (env != NULL && env->match_mapped && - addr->family == AF_INET6 && - IN6_IS_ADDR_V4MAPPED(&addr->type.in6)) - { + if (env != NULL && env->match_mapped && addr->family == AF_INET6 && + IN6_IS_ADDR_V4MAPPED(&addr->type.in6)) { isc_netaddr_fromv4mapped(&v4addr, addr); addr = &v4addr; } @@ -208,7 +204,7 @@ dns_acl_match(const isc_netaddr_t *reqaddr, if (result == ISC_R_SUCCESS && node != NULL) { int fam = ISC_RADIX_FAMILY(&pfx); match_num = node->node_num[fam]; - if (*(bool *) node->data[fam]) { + if (*(bool *)node->data[fam]) { *match = match_num; } else { *match = -match_num; @@ -226,8 +222,8 @@ dns_acl_match(const isc_netaddr_t *reqaddr, break; } - if (dns_aclelement_match(reqaddr, reqsigner, e, env, matchelt)) - { + if (dns_aclelement_match(reqaddr, reqsigner, e, env, + matchelt)) { if (match_num == -1 || e->node_num < match_num) { if (e->negative) *match = -e->node_num; @@ -255,7 +251,7 @@ dns_acl_merge(dns_acl_t *dest, dns_acl_t *source, bool pos) { isc_result_t result; unsigned int newalloc, nelem, i; - int max_node = 0, nodes; + int max_node = 0, nodes; /* Resize the element array if needed. */ if (dest->length + source->length > dest->alloc) { @@ -303,13 +299,13 @@ dns_acl_merge(dns_acl_t *dest, dns_acl_t *source, bool pos) /* Duplicate nested acl. */ if (source->elements[i].type == dns_aclelementtype_nestedacl && - source->elements[i].nestedacl != NULL) + source->elements[i].nestedacl != NULL) dns_acl_attach(source->elements[i].nestedacl, &dest->elements[nelem + i].nestedacl); /* Duplicate key name. */ if (source->elements[i].type == dns_aclelementtype_keyname) { - dns_name_init(&dest->elements[nelem+i].keyname, NULL); + dns_name_init(&dest->elements[nelem + i].keyname, NULL); dns_name_dup(&source->elements[i].keyname, dest->mctx, &dest->elements[nelem + i].keyname); } @@ -356,14 +352,12 @@ dns_acl_merge(dns_acl_t *dest, dns_acl_t *source, bool pos) */ bool -dns_aclelement_match(const isc_netaddr_t *reqaddr, - const dns_name_t *reqsigner, - const dns_aclelement_t *e, - const dns_aclenv_t *env, +dns_aclelement_match(const isc_netaddr_t *reqaddr, const dns_name_t *reqsigner, + const dns_aclelement_t *e, const dns_aclenv_t *env, const dns_aclelement_t **matchelt) { - dns_acl_t *inner = NULL; - int indirectmatch; + dns_acl_t * inner = NULL; + int indirectmatch; isc_result_t result; switch (e->type) { @@ -403,8 +397,8 @@ dns_aclelement_match(const isc_netaddr_t *reqaddr, ISC_UNREACHABLE(); } - result = dns_acl_match(reqaddr, reqsigner, inner, env, - &indirectmatch, matchelt); + result = dns_acl_match(reqaddr, reqsigner, inner, env, &indirectmatch, + matchelt); INSIST(result == ISC_R_SUCCESS); /* @@ -430,7 +424,8 @@ dns_aclelement_match(const isc_netaddr_t *reqaddr, } void -dns_acl_attach(dns_acl_t *source, dns_acl_t **target) { +dns_acl_attach(dns_acl_t *source, dns_acl_t **target) +{ REQUIRE(DNS_ACL_VALID(source)); isc_refcount_increment(&source->refcount); @@ -438,7 +433,8 @@ dns_acl_attach(dns_acl_t *source, dns_acl_t **target) { } static void -destroy(dns_acl_t *dacl) { +destroy(dns_acl_t *dacl) +{ unsigned int i; INSIST(!ISC_LINK_LINKED(dacl, nextincache)); @@ -464,7 +460,8 @@ destroy(dns_acl_t *dacl) { } void -dns_acl_detach(dns_acl_t **aclp) { +dns_acl_detach(dns_acl_t **aclp) +{ REQUIRE(aclp != NULL && DNS_ACL_VALID(*aclp)); dns_acl_t *acl = *aclp; *aclp = NULL; @@ -474,13 +471,13 @@ dns_acl_detach(dns_acl_t **aclp) { } } - -static isc_once_t insecure_prefix_once = ISC_ONCE_INIT; -static isc_mutex_t insecure_prefix_lock; -static bool insecure_prefix_found; +static isc_once_t insecure_prefix_once = ISC_ONCE_INIT; +static isc_mutex_t insecure_prefix_lock; +static bool insecure_prefix_found; static void -initialize_action(void) { +initialize_action(void) +{ isc_mutex_init(&insecure_prefix_lock); } @@ -489,13 +486,13 @@ initialize_action(void) { * insecure. */ static void -is_insecure(isc_prefix_t *prefix, void **data) { +is_insecure(isc_prefix_t *prefix, void **data) +{ /* * If all nonexistent or negative then this node is secure. */ - if ((data[0] == NULL || !* (bool *) data[0]) && - (data[1] == NULL || !* (bool *) data[1])) - { + if ((data[0] == NULL || !*(bool *)data[0]) && + (data[1] == NULL || !*(bool *)data[1])) { return; } @@ -505,20 +502,17 @@ is_insecure(isc_prefix_t *prefix, void **data) { */ if (prefix->bitlen == 32 && htonl(prefix->add.sin.s_addr) == INADDR_LOOPBACK && - (data[1] == NULL || !* (bool *) data[1])) - { + (data[1] == NULL || !*(bool *)data[1])) { return; } - if (prefix->bitlen == 128 && - IN6_IS_ADDR_LOOPBACK(&prefix->add.sin6) && - (data[0] == NULL || !* (bool *) data[0])) - { + if (prefix->bitlen == 128 && IN6_IS_ADDR_LOOPBACK(&prefix->add.sin6) && + (data[0] == NULL || !*(bool *)data[0])) { return; } /* Non-negated, non-loopback */ - insecure_prefix_found = true; /* LOCKED */ + insecure_prefix_found = true; /* LOCKED */ return; } @@ -531,12 +525,13 @@ is_insecure(isc_prefix_t *prefix, void **data) { * this function returns false is safe. */ bool -dns_acl_isinsecure(const dns_acl_t *a) { +dns_acl_isinsecure(const dns_acl_t *a) +{ unsigned int i; - bool insecure; + bool insecure; - RUNTIME_CHECK(isc_once_do(&insecure_prefix_once, - initialize_action) == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_once_do(&insecure_prefix_once, initialize_action) == + ISC_R_SUCCESS); /* * Walk radix tree to find out if there are any non-negated, @@ -584,15 +579,14 @@ dns_acl_isinsecure(const dns_acl_t *a) { return (false); } - /*% * Check whether an address/signer is allowed by a given acl/aclenv. */ bool -dns_acl_allowed(isc_netaddr_t *addr, const dns_name_t *signer, - dns_acl_t *acl, dns_aclenv_t *aclenv) +dns_acl_allowed(isc_netaddr_t *addr, const dns_name_t *signer, dns_acl_t *acl, + dns_aclenv_t *aclenv) { - int match; + int match; isc_result_t result; if (acl == NULL) { @@ -609,7 +603,8 @@ dns_acl_allowed(isc_netaddr_t *addr, const dns_name_t *signer, * Initialize ACL environment, setting up localhost and localnets ACLs */ isc_result_t -dns_aclenv_init(isc_mem_t *mctx, dns_aclenv_t *env) { +dns_aclenv_init(isc_mem_t *mctx, dns_aclenv_t *env) +{ isc_result_t result; env->localhost = NULL; @@ -626,14 +621,15 @@ dns_aclenv_init(isc_mem_t *mctx, dns_aclenv_t *env) { #endif return (ISC_R_SUCCESS); - cleanup_localhost: +cleanup_localhost: dns_acl_detach(&env->localhost); - cleanup_nothing: +cleanup_nothing: return (result); } void -dns_aclenv_copy(dns_aclenv_t *t, dns_aclenv_t *s) { +dns_aclenv_copy(dns_aclenv_t *t, dns_aclenv_t *s) +{ dns_acl_detach(&t->localhost); dns_acl_attach(s->localhost, &t->localhost); dns_acl_detach(&t->localnets); @@ -645,7 +641,8 @@ dns_aclenv_copy(dns_aclenv_t *t, dns_aclenv_t *s) { } void -dns_aclenv_destroy(dns_aclenv_t *env) { +dns_aclenv_destroy(dns_aclenv_t *env) +{ if (env->localhost != NULL) dns_acl_detach(&env->localhost); if (env->localnets != NULL) diff --git a/lib/dns/adb.c b/lib/dns/adb.c index d6b7658db3..6ada67b44d 100644 --- a/lib/dns/adb.c +++ b/lib/dns/adb.c @@ -18,8 +18,8 @@ * */ -#include #include +#include #include #include @@ -27,7 +27,7 @@ #include #include #include -#include /* Required for HP/UX (and others?) */ +#include /* Required for HP/UX (and others?) */ #include #include @@ -43,20 +43,20 @@ #include #include -#define DNS_ADB_MAGIC ISC_MAGIC('D', 'a', 'd', 'b') -#define DNS_ADB_VALID(x) ISC_MAGIC_VALID(x, DNS_ADB_MAGIC) -#define DNS_ADBNAME_MAGIC ISC_MAGIC('a', 'd', 'b', 'N') -#define DNS_ADBNAME_VALID(x) ISC_MAGIC_VALID(x, DNS_ADBNAME_MAGIC) -#define DNS_ADBNAMEHOOK_MAGIC ISC_MAGIC('a', 'd', 'N', 'H') -#define DNS_ADBNAMEHOOK_VALID(x) ISC_MAGIC_VALID(x, DNS_ADBNAMEHOOK_MAGIC) -#define DNS_ADBLAMEINFO_MAGIC ISC_MAGIC('a', 'd', 'b', 'Z') -#define DNS_ADBLAMEINFO_VALID(x) ISC_MAGIC_VALID(x, DNS_ADBLAMEINFO_MAGIC) -#define DNS_ADBENTRY_MAGIC ISC_MAGIC('a', 'd', 'b', 'E') -#define DNS_ADBENTRY_VALID(x) ISC_MAGIC_VALID(x, DNS_ADBENTRY_MAGIC) -#define DNS_ADBFETCH_MAGIC ISC_MAGIC('a', 'd', 'F', '4') -#define DNS_ADBFETCH_VALID(x) ISC_MAGIC_VALID(x, DNS_ADBFETCH_MAGIC) -#define DNS_ADBFETCH6_MAGIC ISC_MAGIC('a', 'd', 'F', '6') -#define DNS_ADBFETCH6_VALID(x) ISC_MAGIC_VALID(x, DNS_ADBFETCH6_MAGIC) +#define DNS_ADB_MAGIC ISC_MAGIC('D', 'a', 'd', 'b') +#define DNS_ADB_VALID(x) ISC_MAGIC_VALID(x, DNS_ADB_MAGIC) +#define DNS_ADBNAME_MAGIC ISC_MAGIC('a', 'd', 'b', 'N') +#define DNS_ADBNAME_VALID(x) ISC_MAGIC_VALID(x, DNS_ADBNAME_MAGIC) +#define DNS_ADBNAMEHOOK_MAGIC ISC_MAGIC('a', 'd', 'N', 'H') +#define DNS_ADBNAMEHOOK_VALID(x) ISC_MAGIC_VALID(x, DNS_ADBNAMEHOOK_MAGIC) +#define DNS_ADBLAMEINFO_MAGIC ISC_MAGIC('a', 'd', 'b', 'Z') +#define DNS_ADBLAMEINFO_VALID(x) ISC_MAGIC_VALID(x, DNS_ADBLAMEINFO_MAGIC) +#define DNS_ADBENTRY_MAGIC ISC_MAGIC('a', 'd', 'b', 'E') +#define DNS_ADBENTRY_VALID(x) ISC_MAGIC_VALID(x, DNS_ADBENTRY_MAGIC) +#define DNS_ADBFETCH_MAGIC ISC_MAGIC('a', 'd', 'F', '4') +#define DNS_ADBFETCH_VALID(x) ISC_MAGIC_VALID(x, DNS_ADBFETCH_MAGIC) +#define DNS_ADBFETCH6_MAGIC ISC_MAGIC('a', 'd', 'F', '6') +#define DNS_ADBFETCH6_VALID(x) ISC_MAGIC_VALID(x, DNS_ADBFETCH6_MAGIC) /*! * For type 3 negative cache entries, we will remember that the address is @@ -64,9 +64,9 @@ * The intent is to keep us from constantly asking about A/AAAA records * if the zone has extremely low TTLs. */ -#define ADB_CACHE_MINIMUM 10 /*%< seconds */ -#define ADB_CACHE_MAXIMUM 86400 /*%< seconds (86400 = 24 hours) */ -#define ADB_ENTRY_WINDOW 1800 /*%< seconds */ +#define ADB_CACHE_MINIMUM 10 /*%< seconds */ +#define ADB_CACHE_MAXIMUM 86400 /*%< seconds (86400 = 24 hours) */ +#define ADB_ENTRY_WINDOW 1800 /*%< seconds */ /*% * The period in seconds after which an ADB name entry is regarded as stale @@ -74,95 +74,95 @@ * TODO: This should probably be configurable at run-time. */ #ifndef ADB_STALE_MARGIN -#define ADB_STALE_MARGIN 1800 +#define ADB_STALE_MARGIN 1800 #endif -#define FREE_ITEMS 64 /*%< free count for memory pools */ -#define FILL_COUNT 16 /*%< fill count for memory pools */ +#define FREE_ITEMS 64 /*%< free count for memory pools */ +#define FILL_COUNT 16 /*%< fill count for memory pools */ -#define DNS_ADB_INVALIDBUCKET (-1) /*%< invalid bucket address */ +#define DNS_ADB_INVALIDBUCKET (-1) /*%< invalid bucket address */ -#define DNS_ADB_MINADBSIZE (1024U*1024U) /*%< 1 Megabyte */ +#define DNS_ADB_MINADBSIZE (1024U * 1024U) /*%< 1 Megabyte */ typedef ISC_LIST(dns_adbname_t) dns_adbnamelist_t; typedef struct dns_adbnamehook dns_adbnamehook_t; typedef ISC_LIST(dns_adbnamehook_t) dns_adbnamehooklist_t; typedef struct dns_adblameinfo dns_adblameinfo_t; typedef ISC_LIST(dns_adbentry_t) dns_adbentrylist_t; -typedef struct dns_adbfetch dns_adbfetch_t; +typedef struct dns_adbfetch dns_adbfetch_t; typedef struct dns_adbfetch6 dns_adbfetch6_t; /*% dns adb structure */ struct dns_adb { - unsigned int magic; + unsigned int magic; - isc_mutex_t lock; - isc_mutex_t reflock; /*%< Covers irefcnt, erefcnt */ - isc_mutex_t overmemlock; /*%< Covers overmem */ - isc_mem_t *mctx; - dns_view_t *view; + isc_mutex_t lock; + isc_mutex_t reflock; /*%< Covers irefcnt, erefcnt */ + isc_mutex_t overmemlock; /*%< Covers overmem */ + isc_mem_t * mctx; + dns_view_t *view; - isc_taskmgr_t *taskmgr; - isc_task_t *task; - isc_task_t *excl; + isc_taskmgr_t *taskmgr; + isc_task_t * task; + isc_task_t * excl; - isc_interval_t tick_interval; - int next_cleanbucket; + isc_interval_t tick_interval; + int next_cleanbucket; - unsigned int irefcnt; - unsigned int erefcnt; + unsigned int irefcnt; + unsigned int erefcnt; - isc_mutex_t mplock; - isc_mempool_t *nmp; /*%< dns_adbname_t */ - isc_mempool_t *nhmp; /*%< dns_adbnamehook_t */ - isc_mempool_t *limp; /*%< dns_adblameinfo_t */ - isc_mempool_t *emp; /*%< dns_adbentry_t */ - isc_mempool_t *ahmp; /*%< dns_adbfind_t */ - isc_mempool_t *aimp; /*%< dns_adbaddrinfo_t */ - isc_mempool_t *afmp; /*%< dns_adbfetch_t */ + isc_mutex_t mplock; + isc_mempool_t *nmp; /*%< dns_adbname_t */ + isc_mempool_t *nhmp; /*%< dns_adbnamehook_t */ + isc_mempool_t *limp; /*%< dns_adblameinfo_t */ + isc_mempool_t *emp; /*%< dns_adbentry_t */ + isc_mempool_t *ahmp; /*%< dns_adbfind_t */ + isc_mempool_t *aimp; /*%< dns_adbaddrinfo_t */ + isc_mempool_t *afmp; /*%< dns_adbfetch_t */ /*! * Bucketized locks and lists for names. * * XXXRTH Have a per-bucket structure that contains all of these? */ - unsigned int nnames; - isc_mutex_t namescntlock; - unsigned int namescnt; - dns_adbnamelist_t *names; - dns_adbnamelist_t *deadnames; - isc_mutex_t *namelocks; - bool *name_sd; - unsigned int *name_refcnt; + unsigned int nnames; + isc_mutex_t namescntlock; + unsigned int namescnt; + dns_adbnamelist_t *names; + dns_adbnamelist_t *deadnames; + isc_mutex_t * namelocks; + bool * name_sd; + unsigned int * name_refcnt; /*! * Bucketized locks and lists for entries. * * XXXRTH Have a per-bucket structure that contains all of these? */ - unsigned int nentries; - isc_mutex_t entriescntlock; - unsigned int entriescnt; - dns_adbentrylist_t *entries; - dns_adbentrylist_t *deadentries; - isc_mutex_t *entrylocks; - bool *entry_sd; /*%< shutting down */ - unsigned int *entry_refcnt; + unsigned int nentries; + isc_mutex_t entriescntlock; + unsigned int entriescnt; + dns_adbentrylist_t *entries; + dns_adbentrylist_t *deadentries; + isc_mutex_t * entrylocks; + bool * entry_sd; /*%< shutting down */ + unsigned int * entry_refcnt; - isc_event_t cevent; - bool cevent_out; - bool shutting_down; - isc_eventlist_t whenshutdown; - isc_event_t growentries; - bool growentries_sent; - isc_event_t grownames; - bool grownames_sent; + isc_event_t cevent; + bool cevent_out; + bool shutting_down; + isc_eventlist_t whenshutdown; + isc_event_t growentries; + bool growentries_sent; + isc_event_t grownames; + bool grownames_sent; - uint32_t quota; - uint32_t atr_freq; - double atr_low; - double atr_high; - double atr_discount; + uint32_t quota; + uint32_t atr_freq; + double atr_low; + double atr_high; + double atr_discount; }; /* @@ -171,36 +171,36 @@ struct dns_adb { /*% dns_adbname structure */ struct dns_adbname { - unsigned int magic; - dns_name_t name; - dns_adb_t *adb; - unsigned int partial_result; - unsigned int flags; - int lock_bucket; - dns_name_t target; - isc_stdtime_t expire_target; - isc_stdtime_t expire_v4; - isc_stdtime_t expire_v6; - unsigned int chains; - dns_adbnamehooklist_t v4; - dns_adbnamehooklist_t v6; - dns_adbfetch_t *fetch_a; - dns_adbfetch_t *fetch_aaaa; - unsigned int fetch_err; - unsigned int fetch6_err; - dns_adbfindlist_t finds; + unsigned int magic; + dns_name_t name; + dns_adb_t * adb; + unsigned int partial_result; + unsigned int flags; + int lock_bucket; + dns_name_t target; + isc_stdtime_t expire_target; + isc_stdtime_t expire_v4; + isc_stdtime_t expire_v6; + unsigned int chains; + dns_adbnamehooklist_t v4; + dns_adbnamehooklist_t v6; + dns_adbfetch_t * fetch_a; + dns_adbfetch_t * fetch_aaaa; + unsigned int fetch_err; + unsigned int fetch6_err; + dns_adbfindlist_t finds; /* for LRU-based management */ - isc_stdtime_t last_used; + isc_stdtime_t last_used; - ISC_LINK(dns_adbname_t) plink; + ISC_LINK(dns_adbname_t) plink; }; /*% The adbfetch structure */ struct dns_adbfetch { - unsigned int magic; - dns_fetch_t *fetch; - dns_rdataset_t rdataset; - unsigned int depth; + unsigned int magic; + dns_fetch_t * fetch; + dns_rdataset_t rdataset; + unsigned int depth; }; /*% @@ -209,9 +209,9 @@ struct dns_adbfetch { * namehook that will contain the next address this host has. */ struct dns_adbnamehook { - unsigned int magic; - dns_adbentry_t *entry; - ISC_LINK(dns_adbnamehook_t) plink; + unsigned int magic; + dns_adbentry_t *entry; + ISC_LINK(dns_adbnamehook_t) plink; }; /*% @@ -220,13 +220,13 @@ struct dns_adbnamehook { * extended to other types of information about zones. */ struct dns_adblameinfo { - unsigned int magic; + unsigned int magic; - dns_name_t qname; - dns_rdatatype_t qtype; - isc_stdtime_t lame_timer; + dns_name_t qname; + dns_rdatatype_t qtype; + isc_stdtime_t lame_timer; - ISC_LINK(dns_adblameinfo_t) plink; + ISC_LINK(dns_adblameinfo_t) plink; }; /*% @@ -235,40 +235,40 @@ struct dns_adblameinfo { * the host. */ struct dns_adbentry { - unsigned int magic; + unsigned int magic; - int lock_bucket; - unsigned int refcnt; - unsigned int nh; + int lock_bucket; + unsigned int refcnt; + unsigned int nh; - unsigned int flags; - unsigned int srtt; - uint16_t udpsize; - unsigned int completed; - unsigned int timeouts; - unsigned char plain; - unsigned char plainto; - unsigned char edns; - unsigned char to4096; /* Our max. */ + unsigned int flags; + unsigned int srtt; + uint16_t udpsize; + unsigned int completed; + unsigned int timeouts; + unsigned char plain; + unsigned char plainto; + unsigned char edns; + unsigned char to4096; /* Our max. */ - uint8_t mode; - atomic_uint_fast32_t quota; - atomic_uint_fast32_t active; - double atr; + uint8_t mode; + atomic_uint_fast32_t quota; + atomic_uint_fast32_t active; + double atr; /* * Allow for encapsulated IPv4/IPv6 UDP packet over ethernet. * Ethernet 1500 - IP(20) - IP6(40) - UDP(8) = 1432. */ - unsigned char to1432; /* Ethernet */ - unsigned char to1232; /* IPv6 nofrag */ - unsigned char to512; /* plain DNS */ - isc_sockaddr_t sockaddr; - unsigned char * cookie; - uint16_t cookielen; + unsigned char to1432; /* Ethernet */ + unsigned char to1232; /* IPv6 nofrag */ + unsigned char to512; /* plain DNS */ + isc_sockaddr_t sockaddr; + unsigned char *cookie; + uint16_t cookielen; - isc_stdtime_t expires; - isc_stdtime_t lastage; + isc_stdtime_t expires; + isc_stdtime_t lastage; /*%< * A nonzero 'expires' field indicates that the entry should * persist until that time. This allows entries found @@ -277,114 +277,144 @@ struct dns_adbentry { * name. */ - ISC_LIST(dns_adblameinfo_t) lameinfo; - ISC_LINK(dns_adbentry_t) plink; + ISC_LIST(dns_adblameinfo_t) lameinfo; + ISC_LINK(dns_adbentry_t) plink; }; /* * Internal functions (and prototypes). */ -static inline dns_adbname_t *new_adbname(dns_adb_t *, const dns_name_t *); -static inline void free_adbname(dns_adb_t *, dns_adbname_t **); -static inline dns_adbnamehook_t *new_adbnamehook(dns_adb_t *, - dns_adbentry_t *); -static inline void free_adbnamehook(dns_adb_t *, dns_adbnamehook_t **); -static inline dns_adblameinfo_t *new_adblameinfo(dns_adb_t *, - const dns_name_t *, - dns_rdatatype_t); -static inline void free_adblameinfo(dns_adb_t *, dns_adblameinfo_t **); -static inline dns_adbentry_t *new_adbentry(dns_adb_t *); -static inline void free_adbentry(dns_adb_t *, dns_adbentry_t **); -static inline dns_adbfind_t *new_adbfind(dns_adb_t *); -static inline bool free_adbfind(dns_adb_t *, dns_adbfind_t **); -static inline dns_adbaddrinfo_t *new_adbaddrinfo(dns_adb_t *, dns_adbentry_t *, - in_port_t); -static inline dns_adbfetch_t *new_adbfetch(dns_adb_t *); -static inline void free_adbfetch(dns_adb_t *, dns_adbfetch_t **); -static inline dns_adbname_t *find_name_and_lock(dns_adb_t *, - const dns_name_t *, - unsigned int, int *); -static inline dns_adbentry_t *find_entry_and_lock(dns_adb_t *, - const isc_sockaddr_t *, - int *, isc_stdtime_t); -static void dump_adb(dns_adb_t *, FILE *, bool debug, isc_stdtime_t); -static void print_dns_name(FILE *, const dns_name_t *); -static void print_namehook_list(FILE *, const char *legend, - dns_adb_t *adb, - dns_adbnamehooklist_t *list, - bool debug, - isc_stdtime_t now); -static void print_find_list(FILE *, dns_adbname_t *); -static void print_fetch_list(FILE *, dns_adbname_t *); -static inline bool dec_adb_irefcnt(dns_adb_t *); -static inline void inc_adb_irefcnt(dns_adb_t *); -static inline void inc_adb_erefcnt(dns_adb_t *); -static inline void inc_entry_refcnt(dns_adb_t *, dns_adbentry_t *, - bool); -static inline bool dec_entry_refcnt(dns_adb_t *, bool, - dns_adbentry_t *, bool); -static inline void violate_locking_hierarchy(isc_mutex_t *, isc_mutex_t *); -static bool clean_namehooks(dns_adb_t *, dns_adbnamehooklist_t *); -static void clean_target(dns_adb_t *, dns_name_t *); -static void clean_finds_at_name(dns_adbname_t *, isc_eventtype_t, unsigned int); -static bool check_expire_namehooks(dns_adbname_t *, isc_stdtime_t); -static bool check_expire_entry(dns_adb_t *, dns_adbentry_t **, - isc_stdtime_t); -static void cancel_fetches_at_name(dns_adbname_t *); -static isc_result_t dbfind_name(dns_adbname_t *, isc_stdtime_t, - dns_rdatatype_t); -static isc_result_t fetch_name(dns_adbname_t *, bool, - unsigned int, isc_counter_t *qc, - dns_rdatatype_t); -static inline void check_exit(dns_adb_t *); -static void destroy(dns_adb_t *); -static bool shutdown_names(dns_adb_t *); -static bool shutdown_entries(dns_adb_t *); -static inline void link_name(dns_adb_t *, int, dns_adbname_t *); -static inline bool unlink_name(dns_adb_t *, dns_adbname_t *); -static inline void link_entry(dns_adb_t *, int, dns_adbentry_t *); -static inline bool unlink_entry(dns_adb_t *, dns_adbentry_t *); -static bool kill_name(dns_adbname_t **, isc_eventtype_t); -static void water(void *, int); -static void dump_entry(FILE *, dns_adb_t *, dns_adbentry_t *, - bool, isc_stdtime_t); -static void adjustsrtt(dns_adbaddrinfo_t *addr, unsigned int rtt, - unsigned int factor, isc_stdtime_t now); -static void shutdown_task(isc_task_t *task, isc_event_t *ev); -static void log_quota(dns_adbentry_t *entry, const char *fmt, ...) - ISC_FORMAT_PRINTF(2, 3); +static inline dns_adbname_t * +new_adbname(dns_adb_t *, const dns_name_t *); +static inline void +free_adbname(dns_adb_t *, dns_adbname_t **); +static inline dns_adbnamehook_t * +new_adbnamehook(dns_adb_t *, dns_adbentry_t *); +static inline void +free_adbnamehook(dns_adb_t *, dns_adbnamehook_t **); +static inline dns_adblameinfo_t * +new_adblameinfo(dns_adb_t *, const dns_name_t *, dns_rdatatype_t); +static inline void +free_adblameinfo(dns_adb_t *, dns_adblameinfo_t **); +static inline dns_adbentry_t * +new_adbentry(dns_adb_t *); +static inline void +free_adbentry(dns_adb_t *, dns_adbentry_t **); +static inline dns_adbfind_t * +new_adbfind(dns_adb_t *); +static inline bool +free_adbfind(dns_adb_t *, dns_adbfind_t **); +static inline dns_adbaddrinfo_t * +new_adbaddrinfo(dns_adb_t *, dns_adbentry_t *, in_port_t); +static inline dns_adbfetch_t * +new_adbfetch(dns_adb_t *); +static inline void +free_adbfetch(dns_adb_t *, dns_adbfetch_t **); +static inline dns_adbname_t * +find_name_and_lock(dns_adb_t *, const dns_name_t *, unsigned int, int *); +static inline dns_adbentry_t * +find_entry_and_lock(dns_adb_t *, const isc_sockaddr_t *, int *, isc_stdtime_t); +static void +dump_adb(dns_adb_t *, FILE *, bool debug, isc_stdtime_t); +static void +print_dns_name(FILE *, const dns_name_t *); +static void +print_namehook_list(FILE *, const char *legend, dns_adb_t *adb, + dns_adbnamehooklist_t *list, bool debug, isc_stdtime_t now); +static void +print_find_list(FILE *, dns_adbname_t *); +static void +print_fetch_list(FILE *, dns_adbname_t *); +static inline bool +dec_adb_irefcnt(dns_adb_t *); +static inline void +inc_adb_irefcnt(dns_adb_t *); +static inline void +inc_adb_erefcnt(dns_adb_t *); +static inline void +inc_entry_refcnt(dns_adb_t *, dns_adbentry_t *, bool); +static inline bool +dec_entry_refcnt(dns_adb_t *, bool, dns_adbentry_t *, bool); +static inline void +violate_locking_hierarchy(isc_mutex_t *, isc_mutex_t *); +static bool +clean_namehooks(dns_adb_t *, dns_adbnamehooklist_t *); +static void +clean_target(dns_adb_t *, dns_name_t *); +static void +clean_finds_at_name(dns_adbname_t *, isc_eventtype_t, unsigned int); +static bool +check_expire_namehooks(dns_adbname_t *, isc_stdtime_t); +static bool +check_expire_entry(dns_adb_t *, dns_adbentry_t **, isc_stdtime_t); +static void +cancel_fetches_at_name(dns_adbname_t *); +static isc_result_t +dbfind_name(dns_adbname_t *, isc_stdtime_t, dns_rdatatype_t); +static isc_result_t +fetch_name(dns_adbname_t *, bool, unsigned int, isc_counter_t *qc, + dns_rdatatype_t); +static inline void +check_exit(dns_adb_t *); +static void +destroy(dns_adb_t *); +static bool +shutdown_names(dns_adb_t *); +static bool +shutdown_entries(dns_adb_t *); +static inline void +link_name(dns_adb_t *, int, dns_adbname_t *); +static inline bool +unlink_name(dns_adb_t *, dns_adbname_t *); +static inline void +link_entry(dns_adb_t *, int, dns_adbentry_t *); +static inline bool +unlink_entry(dns_adb_t *, dns_adbentry_t *); +static bool +kill_name(dns_adbname_t **, isc_eventtype_t); +static void +water(void *, int); +static void +dump_entry(FILE *, dns_adb_t *, dns_adbentry_t *, bool, isc_stdtime_t); +static void +adjustsrtt(dns_adbaddrinfo_t *addr, unsigned int rtt, unsigned int factor, + isc_stdtime_t now); +static void +shutdown_task(isc_task_t *task, isc_event_t *ev); +static void +log_quota(dns_adbentry_t *entry, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3); /* * MUST NOT overlap DNS_ADBFIND_* flags! */ -#define FIND_EVENT_SENT 0x40000000 -#define FIND_EVENT_FREED 0x80000000 -#define FIND_EVENTSENT(h) (((h)->flags & FIND_EVENT_SENT) != 0) -#define FIND_EVENTFREED(h) (((h)->flags & FIND_EVENT_FREED) != 0) +#define FIND_EVENT_SENT 0x40000000 +#define FIND_EVENT_FREED 0x80000000 +#define FIND_EVENTSENT(h) (((h)->flags & FIND_EVENT_SENT) != 0) +#define FIND_EVENTFREED(h) (((h)->flags & FIND_EVENT_FREED) != 0) -#define NAME_NEEDS_POKE 0x80000000 -#define NAME_IS_DEAD 0x40000000 -#define NAME_HINT_OK DNS_ADBFIND_HINTOK -#define NAME_GLUE_OK DNS_ADBFIND_GLUEOK -#define NAME_STARTATZONE DNS_ADBFIND_STARTATZONE -#define NAME_DEAD(n) (((n)->flags & NAME_IS_DEAD) != 0) -#define NAME_NEEDSPOKE(n) (((n)->flags & NAME_NEEDS_POKE) != 0) -#define NAME_GLUEOK(n) (((n)->flags & NAME_GLUE_OK) != 0) -#define NAME_HINTOK(n) (((n)->flags & NAME_HINT_OK) != 0) +#define NAME_NEEDS_POKE 0x80000000 +#define NAME_IS_DEAD 0x40000000 +#define NAME_HINT_OK DNS_ADBFIND_HINTOK +#define NAME_GLUE_OK DNS_ADBFIND_GLUEOK +#define NAME_STARTATZONE DNS_ADBFIND_STARTATZONE +#define NAME_DEAD(n) (((n)->flags & NAME_IS_DEAD) != 0) +#define NAME_NEEDSPOKE(n) (((n)->flags & NAME_NEEDS_POKE) != 0) +#define NAME_GLUEOK(n) (((n)->flags & NAME_GLUE_OK) != 0) +#define NAME_HINTOK(n) (((n)->flags & NAME_HINT_OK) != 0) /* * Private flag(s) for entries. * MUST NOT overlap FCTX_ADDRINFO_xxx and DNS_FETCHOPT_NOEDNS0. */ -#define ENTRY_IS_DEAD 0x00400000 +#define ENTRY_IS_DEAD 0x00400000 /* * To the name, address classes are all that really exist. If it has a * V6 address it doesn't care if it came from a AAAA query. */ -#define NAME_HAS_V4(n) (!ISC_LIST_EMPTY((n)->v4)) -#define NAME_HAS_V6(n) (!ISC_LIST_EMPTY((n)->v6)) -#define NAME_HAS_ADDRS(n) (NAME_HAS_V4(n) || NAME_HAS_V6(n)) +#define NAME_HAS_V4(n) (!ISC_LIST_EMPTY((n)->v4)) +#define NAME_HAS_V6(n) (!ISC_LIST_EMPTY((n)->v6)) +#define NAME_HAS_ADDRS(n) (NAME_HAS_V4(n) || NAME_HAS_V6(n)) /* * Fetches are broken out into A and AAAA types. In some cases, @@ -393,107 +423,93 @@ static void log_quota(dns_adbentry_t *entry, const char *fmt, ...) * Note: since we have removed the support of A6 in adb, FETCH_A and FETCH_AAAA * are now equal to FETCH_V4 and FETCH_V6, respectively. */ -#define NAME_FETCH_A(n) ((n)->fetch_a != NULL) -#define NAME_FETCH_AAAA(n) ((n)->fetch_aaaa != NULL) -#define NAME_FETCH_V4(n) (NAME_FETCH_A(n)) -#define NAME_FETCH_V6(n) (NAME_FETCH_AAAA(n)) -#define NAME_FETCH(n) (NAME_FETCH_V4(n) || NAME_FETCH_V6(n)) +#define NAME_FETCH_A(n) ((n)->fetch_a != NULL) +#define NAME_FETCH_AAAA(n) ((n)->fetch_aaaa != NULL) +#define NAME_FETCH_V4(n) (NAME_FETCH_A(n)) +#define NAME_FETCH_V6(n) (NAME_FETCH_AAAA(n)) +#define NAME_FETCH(n) (NAME_FETCH_V4(n) || NAME_FETCH_V6(n)) /* * Find options and tests to see if there are addresses on the list. */ -#define FIND_WANTEVENT(fn) (((fn)->options & DNS_ADBFIND_WANTEVENT) != 0) +#define FIND_WANTEVENT(fn) (((fn)->options & DNS_ADBFIND_WANTEVENT) != 0) #define FIND_WANTEMPTYEVENT(fn) (((fn)->options & DNS_ADBFIND_EMPTYEVENT) != 0) -#define FIND_AVOIDFETCHES(fn) (((fn)->options & DNS_ADBFIND_AVOIDFETCHES) \ - != 0) -#define FIND_STARTATZONE(fn) (((fn)->options & DNS_ADBFIND_STARTATZONE) \ - != 0) -#define FIND_HINTOK(fn) (((fn)->options & DNS_ADBFIND_HINTOK) != 0) -#define FIND_GLUEOK(fn) (((fn)->options & DNS_ADBFIND_GLUEOK) != 0) -#define FIND_HAS_ADDRS(fn) (!ISC_LIST_EMPTY((fn)->list)) -#define FIND_RETURNLAME(fn) (((fn)->options & DNS_ADBFIND_RETURNLAME) != 0) +#define FIND_AVOIDFETCHES(fn) (((fn)->options & DNS_ADBFIND_AVOIDFETCHES) != 0) +#define FIND_STARTATZONE(fn) (((fn)->options & DNS_ADBFIND_STARTATZONE) != 0) +#define FIND_HINTOK(fn) (((fn)->options & DNS_ADBFIND_HINTOK) != 0) +#define FIND_GLUEOK(fn) (((fn)->options & DNS_ADBFIND_GLUEOK) != 0) +#define FIND_HAS_ADDRS(fn) (!ISC_LIST_EMPTY((fn)->list)) +#define FIND_RETURNLAME(fn) (((fn)->options & DNS_ADBFIND_RETURNLAME) != 0) /* * These are currently used on simple unsigned ints, so they are * not really associated with any particular type. */ -#define WANT_INET(x) (((x) & DNS_ADBFIND_INET) != 0) -#define WANT_INET6(x) (((x) & DNS_ADBFIND_INET6) != 0) +#define WANT_INET(x) (((x)&DNS_ADBFIND_INET) != 0) +#define WANT_INET6(x) (((x)&DNS_ADBFIND_INET6) != 0) -#define EXPIRE_OK(exp, now) ((exp == INT_MAX) || (exp < now)) +#define EXPIRE_OK(exp, now) ((exp == INT_MAX) || (exp < now)) /* * Find out if the flags on a name (nf) indicate if it is a hint or * glue, and compare this to the appropriate bits set in o, to see if * this is ok. */ -#define GLUE_OK(nf, o) (!NAME_GLUEOK(nf) || (((o) & DNS_ADBFIND_GLUEOK) != 0)) -#define HINT_OK(nf, o) (!NAME_HINTOK(nf) || (((o) & DNS_ADBFIND_HINTOK) != 0)) +#define GLUE_OK(nf, o) (!NAME_GLUEOK(nf) || (((o)&DNS_ADBFIND_GLUEOK) != 0)) +#define HINT_OK(nf, o) (!NAME_HINTOK(nf) || (((o)&DNS_ADBFIND_HINTOK) != 0)) #define GLUEHINT_OK(nf, o) (GLUE_OK(nf, o) || HINT_OK(nf, o)) -#define STARTATZONE_MATCHES(nf, o) (((nf)->flags & NAME_STARTATZONE) == \ - ((o) & DNS_ADBFIND_STARTATZONE)) +#define STARTATZONE_MATCHES(nf, o) \ + (((nf)->flags & NAME_STARTATZONE) == ((o)&DNS_ADBFIND_STARTATZONE)) -#define ENTER_LEVEL ISC_LOG_DEBUG(50) -#define EXIT_LEVEL ENTER_LEVEL -#define CLEAN_LEVEL ISC_LOG_DEBUG(100) -#define DEF_LEVEL ISC_LOG_DEBUG(5) -#define NCACHE_LEVEL ISC_LOG_DEBUG(20) +#define ENTER_LEVEL ISC_LOG_DEBUG(50) +#define EXIT_LEVEL ENTER_LEVEL +#define CLEAN_LEVEL ISC_LOG_DEBUG(100) +#define DEF_LEVEL ISC_LOG_DEBUG(5) +#define NCACHE_LEVEL ISC_LOG_DEBUG(20) -#define NCACHE_RESULT(r) ((r) == DNS_R_NCACHENXDOMAIN || \ - (r) == DNS_R_NCACHENXRRSET) -#define AUTH_NX(r) ((r) == DNS_R_NXDOMAIN || \ - (r) == DNS_R_NXRRSET) -#define NXDOMAIN_RESULT(r) ((r) == DNS_R_NXDOMAIN || \ - (r) == DNS_R_NCACHENXDOMAIN) -#define NXRRSET_RESULT(r) ((r) == DNS_R_NCACHENXRRSET || \ - (r) == DNS_R_NXRRSET || \ - (r) == DNS_R_HINTNXRRSET) +#define NCACHE_RESULT(r) \ + ((r) == DNS_R_NCACHENXDOMAIN || (r) == DNS_R_NCACHENXRRSET) +#define AUTH_NX(r) ((r) == DNS_R_NXDOMAIN || (r) == DNS_R_NXRRSET) +#define NXDOMAIN_RESULT(r) \ + ((r) == DNS_R_NXDOMAIN || (r) == DNS_R_NCACHENXDOMAIN) +#define NXRRSET_RESULT(r) \ + ((r) == DNS_R_NCACHENXRRSET || (r) == DNS_R_NXRRSET || \ + (r) == DNS_R_HINTNXRRSET) /* * Error state rankings. */ -#define FIND_ERR_SUCCESS 0 /* highest rank */ -#define FIND_ERR_CANCELED 1 -#define FIND_ERR_FAILURE 2 -#define FIND_ERR_NXDOMAIN 3 -#define FIND_ERR_NXRRSET 4 -#define FIND_ERR_UNEXPECTED 5 -#define FIND_ERR_NOTFOUND 6 -#define FIND_ERR_MAX 7 +#define FIND_ERR_SUCCESS 0 /* highest rank */ +#define FIND_ERR_CANCELED 1 +#define FIND_ERR_FAILURE 2 +#define FIND_ERR_NXDOMAIN 3 +#define FIND_ERR_NXRRSET 4 +#define FIND_ERR_UNEXPECTED 5 +#define FIND_ERR_NOTFOUND 6 +#define FIND_ERR_MAX 7 -static const char *errnames[] = { - "success", - "canceled", - "failure", - "nxdomain", - "nxrrset", - "unexpected", - "not_found" -}; +static const char *errnames[] = { "success", "canceled", "failure", + "nxdomain", "nxrrset", "unexpected", + "not_found" }; -#define NEWERR(old, new) (ISC_MIN((old), (new))) +#define NEWERR(old, new) (ISC_MIN((old), (new))) static isc_result_t find_err_map[FIND_ERR_MAX] = { - ISC_R_SUCCESS, - ISC_R_CANCELED, - ISC_R_FAILURE, - DNS_R_NXDOMAIN, - DNS_R_NXRRSET, - ISC_R_UNEXPECTED, - ISC_R_NOTFOUND /* not YET found */ + ISC_R_SUCCESS, ISC_R_CANCELED, ISC_R_FAILURE, DNS_R_NXDOMAIN, + DNS_R_NXRRSET, ISC_R_UNEXPECTED, ISC_R_NOTFOUND /* not YET found */ }; static void DP(int level, const char *format, ...) ISC_FORMAT_PRINTF(2, 3); static void -DP(int level, const char *format, ...) { +DP(int level, const char *format, ...) +{ va_list args; va_start(args, format); - isc_log_vwrite(dns_lctx, - DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_ADB, + isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_ADB, level, format, args); va_end(args); } @@ -502,7 +518,8 @@ DP(int level, const char *format, ...) { * Increment resolver-related statistics counters. */ static inline void -inc_stats(dns_adb_t *adb, isc_statscounter_t counter) { +inc_stats(dns_adb_t *adb, isc_statscounter_t counter) +{ if (adb->view->resstats != NULL) isc_stats_increment(adb->view->resstats, counter); } @@ -511,25 +528,29 @@ inc_stats(dns_adb_t *adb, isc_statscounter_t counter) { * Set adb-related statistics counters. */ static inline void -set_adbstat(dns_adb_t *adb, uint64_t val, isc_statscounter_t counter) { +set_adbstat(dns_adb_t *adb, uint64_t val, isc_statscounter_t counter) +{ if (adb->view->adbstats != NULL) isc_stats_set(adb->view->adbstats, val, counter); } static inline void -dec_adbstats(dns_adb_t *adb, isc_statscounter_t counter) { +dec_adbstats(dns_adb_t *adb, isc_statscounter_t counter) +{ if (adb->view->adbstats != NULL) isc_stats_decrement(adb->view->adbstats, counter); } static inline void -inc_adbstats(dns_adb_t *adb, isc_statscounter_t counter) { +inc_adbstats(dns_adb_t *adb, isc_statscounter_t counter) +{ if (adb->view->adbstats != NULL) isc_stats_increment(adb->view->adbstats, counter); } static inline dns_ttl_t -ttlclamp(dns_ttl_t ttl) { +ttlclamp(dns_ttl_t ttl) +{ if (ttl < ADB_CACHE_MINIMUM) ttl = ADB_CACHE_MINIMUM; if (ttl > ADB_CACHE_MAXIMUM) @@ -544,27 +565,28 @@ ttlclamp(dns_ttl_t ttl) { * 1.5 * 2^n, for values of n from 10 to 28. (The tables will * no longer grow beyond 2^28 entries.) */ -static const unsigned nbuckets[] = { 1021, 1531, 2039, 3067, 4093, 6143, - 8191, 12281, 16381, 24571, 32749, - 49193, 65521, 98299, 131071, 199603, - 262139, 393209, 524287, 768431, 1048573, - 1572853, 2097143, 3145721, 4194301, - 6291449, 8388593, 12582893, 16777213, - 25165813, 33554393, 50331599, 67108859, - 100663291, 134217689, 201326557, - 268535431, 0 }; +static const unsigned nbuckets[] = { + 1021, 1531, 2039, 3067, 4093, 6143, + 8191, 12281, 16381, 24571, 32749, 49193, + 65521, 98299, 131071, 199603, 262139, 393209, + 524287, 768431, 1048573, 1572853, 2097143, 3145721, + 4194301, 6291449, 8388593, 12582893, 16777213, 25165813, + 33554393, 50331599, 67108859, 100663291, 134217689, 201326557, + 268535431, 0 +}; static void -grow_entries(isc_task_t *task, isc_event_t *ev) { - dns_adb_t *adb; - dns_adbentry_t *e; +grow_entries(isc_task_t *task, isc_event_t *ev) +{ + dns_adb_t * adb; + dns_adbentry_t * e; dns_adbentrylist_t *newdeadentries = NULL; dns_adbentrylist_t *newentries = NULL; - bool *newentry_sd = NULL; - isc_mutex_t *newentrylocks = NULL; - isc_result_t result; - unsigned int *newentry_refcnt = NULL; - unsigned int i, n, bucket; + bool * newentry_sd = NULL; + isc_mutex_t * newentrylocks = NULL; + isc_result_t result; + unsigned int * newentry_refcnt = NULL; + unsigned int i, n, bucket; adb = ev->ev_arg; INSIST(DNS_ADB_VALID(adb)); @@ -682,10 +704,9 @@ grow_entries(isc_task_t *task, isc_event_t *ev) { adb->growentries_sent = false; goto done; - cleanup: +cleanup: if (newentries != NULL) - isc_mem_put(adb->mctx, newentries, - sizeof(*newentries) * n); + isc_mem_put(adb->mctx, newentries, sizeof(*newentries) * n); if (newdeadentries != NULL) isc_mem_put(adb->mctx, newdeadentries, sizeof(*newdeadentries) * n); @@ -693,15 +714,14 @@ grow_entries(isc_task_t *task, isc_event_t *ev) { isc_mem_put(adb->mctx, newentrylocks, sizeof(*newentrylocks) * n); if (newentry_sd != NULL) - isc_mem_put(adb->mctx, newentry_sd, - sizeof(*newentry_sd) * n); + isc_mem_put(adb->mctx, newentry_sd, sizeof(*newentry_sd) * n); if (newentry_refcnt != NULL) isc_mem_put(adb->mctx, newentry_refcnt, - sizeof(*newentry_refcnt) * n); - done: + sizeof(*newentry_refcnt) * n); +done: isc_task_endexclusive(task); - check_exit: +check_exit: LOCK(&adb->lock); if (dec_adb_irefcnt(adb)) check_exit(adb); @@ -710,16 +730,17 @@ grow_entries(isc_task_t *task, isc_event_t *ev) { } static void -grow_names(isc_task_t *task, isc_event_t *ev) { - dns_adb_t *adb; - dns_adbname_t *name; +grow_names(isc_task_t *task, isc_event_t *ev) +{ + dns_adb_t * adb; + dns_adbname_t * name; dns_adbnamelist_t *newdeadnames = NULL; dns_adbnamelist_t *newnames = NULL; - bool *newname_sd = NULL; - isc_mutex_t *newnamelocks = NULL; - isc_result_t result; - unsigned int *newname_refcnt = NULL; - unsigned int i, n, bucket; + bool * newname_sd = NULL; + isc_mutex_t * newnamelocks = NULL; + isc_result_t result; + unsigned int * newname_refcnt = NULL; + unsigned int i, n, bucket; adb = ev->ev_arg; INSIST(DNS_ADB_VALID(adb)); @@ -755,9 +776,8 @@ grow_names(isc_task_t *task, isc_event_t *ev) { newnamelocks = isc_mem_get(adb->mctx, sizeof(*newnamelocks) * n); newname_sd = isc_mem_get(adb->mctx, sizeof(*newname_sd) * n); newname_refcnt = isc_mem_get(adb->mctx, sizeof(*newname_refcnt) * n); - if (newnames == NULL || newdeadnames == NULL || - newnamelocks == NULL || newname_sd == NULL || - newname_refcnt == NULL) + if (newnames == NULL || newdeadnames == NULL || newnamelocks == NULL || + newname_sd == NULL || newname_refcnt == NULL) goto cleanup; /* @@ -807,8 +827,7 @@ grow_names(isc_task_t *task, isc_event_t *ev) { * Cleanup old resources. */ isc_mutexblock_destroy(adb->namelocks, adb->nnames); - isc_mem_put(adb->mctx, adb->names, - sizeof(*adb->names) * adb->nnames); + isc_mem_put(adb->mctx, adb->names, sizeof(*adb->names) * adb->nnames); isc_mem_put(adb->mctx, adb->deadnames, sizeof(*adb->deadnames) * adb->nnames); isc_mem_put(adb->mctx, adb->namelocks, @@ -837,7 +856,7 @@ grow_names(isc_task_t *task, isc_event_t *ev) { adb->grownames_sent = false; goto done; - cleanup: +cleanup: if (newnames != NULL) isc_mem_put(adb->mctx, newnames, sizeof(*newnames) * n); if (newdeadnames != NULL) @@ -848,11 +867,11 @@ grow_names(isc_task_t *task, isc_event_t *ev) { isc_mem_put(adb->mctx, newname_sd, sizeof(*newname_sd) * n); if (newname_refcnt != NULL) isc_mem_put(adb->mctx, newname_refcnt, - sizeof(*newname_refcnt) * n); - done: + sizeof(*newname_refcnt) * n); +done: isc_task_endexclusive(task); - check_exit: +check_exit: LOCK(&adb->lock); if (dec_adb_irefcnt(adb)) check_exit(adb); @@ -869,19 +888,19 @@ static isc_result_t import_rdataset(dns_adbname_t *adbname, dns_rdataset_t *rdataset, isc_stdtime_t now) { - isc_result_t result; - dns_adb_t *adb; - dns_adbnamehook_t *nh; - dns_adbnamehook_t *anh; - dns_rdata_t rdata = DNS_RDATA_INIT; - struct in_addr ina; - struct in6_addr in6a; - isc_sockaddr_t sockaddr; - dns_adbentry_t *foundentry; /* NO CLEAN UP! */ - int addr_bucket; - bool new_addresses_added; - dns_rdatatype_t rdtype; - unsigned int findoptions; + isc_result_t result; + dns_adb_t * adb; + dns_adbnamehook_t * nh; + dns_adbnamehook_t * anh; + dns_rdata_t rdata = DNS_RDATA_INIT; + struct in_addr ina; + struct in6_addr in6a; + isc_sockaddr_t sockaddr; + dns_adbentry_t * foundentry; /* NO CLEAN UP! */ + int addr_bucket; + bool new_addresses_added; + dns_rdatatype_t rdtype; + unsigned int findoptions; dns_adbnamehooklist_t *hookhead; INSIST(DNS_ADBNAME_VALID(adbname)); @@ -923,8 +942,8 @@ import_rdataset(dns_adbname_t *adbname, dns_rdataset_t *rdataset, goto fail; } - foundentry = find_entry_and_lock(adb, &sockaddr, &addr_bucket, - now); + foundentry = + find_entry_and_lock(adb, &sockaddr, &addr_bucket, now); if (foundentry == NULL) { dns_adbentry_t *entry; @@ -943,8 +962,7 @@ import_rdataset(dns_adbname_t *adbname, dns_rdataset_t *rdataset, link_entry(adb, addr_bucket, entry); } else { - for (anh = ISC_LIST_HEAD(*hookhead); - anh != NULL; + for (anh = ISC_LIST_HEAD(*hookhead); anh != NULL; anh = ISC_LIST_NEXT(anh, plink)) if (anh->entry == foundentry) break; @@ -963,7 +981,7 @@ import_rdataset(dns_adbname_t *adbname, dns_rdataset_t *rdataset, result = dns_rdataset_next(rdataset); } - fail: +fail: if (nh != NULL) free_adbnamehook(adb, &nh); @@ -981,15 +999,15 @@ import_rdataset(dns_adbname_t *adbname, dns_rdataset_t *rdataset, if (rdtype == dns_rdatatype_a) { DP(NCACHE_LEVEL, "expire_v4 set to MIN(%u,%u) import_rdataset", adbname->expire_v4, now + rdataset->ttl); - adbname->expire_v4 = ISC_MIN(adbname->expire_v4, - ISC_MIN(now + ADB_ENTRY_WINDOW, - now + rdataset->ttl)); + adbname->expire_v4 = ISC_MIN( + adbname->expire_v4, + ISC_MIN(now + ADB_ENTRY_WINDOW, now + rdataset->ttl)); } else { DP(NCACHE_LEVEL, "expire_v6 set to MIN(%u,%u) import_rdataset", adbname->expire_v6, now + rdataset->ttl); - adbname->expire_v6 = ISC_MIN(adbname->expire_v6, - ISC_MIN(now + ADB_ENTRY_WINDOW, - now + rdataset->ttl)); + adbname->expire_v6 = ISC_MIN( + adbname->expire_v6, + ISC_MIN(now + ADB_ENTRY_WINDOW, now + rdataset->ttl)); } if (new_addresses_added) { @@ -1007,12 +1025,13 @@ import_rdataset(dns_adbname_t *adbname, dns_rdataset_t *rdataset, * Requires the name's bucket be locked. */ static bool -kill_name(dns_adbname_t **n, isc_eventtype_t ev) { +kill_name(dns_adbname_t **n, isc_eventtype_t ev) +{ dns_adbname_t *name; - bool result = false; - bool result4, result6; - int bucket; - dns_adb_t *adb; + bool result = false; + bool result4, result6; + int bucket; + dns_adb_t * adb; INSIST(n != NULL); name = *n; @@ -1071,10 +1090,11 @@ kill_name(dns_adbname_t **n, isc_eventtype_t ev) { * Requires the name's bucket be locked and no entry buckets be locked. */ static bool -check_expire_namehooks(dns_adbname_t *name, isc_stdtime_t now) { +check_expire_namehooks(dns_adbname_t *name, isc_stdtime_t now) +{ dns_adb_t *adb; - bool result4 = false; - bool result6 = false; + bool result4 = false; + bool result6 = false; INSIST(DNS_ADBNAME_VALID(name)); adb = name->adb; @@ -1120,7 +1140,8 @@ check_expire_namehooks(dns_adbname_t *name, isc_stdtime_t now) { * Requires the name's bucket be locked. */ static inline void -link_name(dns_adb_t *adb, int bucket, dns_adbname_t *name) { +link_name(dns_adb_t *adb, int bucket, dns_adbname_t *name) +{ INSIST(name->lock_bucket == DNS_ADB_INVALIDBUCKET); ISC_LIST_PREPEND(adb->names[bucket], name, plink); @@ -1132,8 +1153,9 @@ link_name(dns_adb_t *adb, int bucket, dns_adbname_t *name) { * Requires the name's bucket be locked. */ static inline bool -unlink_name(dns_adb_t *adb, dns_adbname_t *name) { - int bucket; +unlink_name(dns_adb_t *adb, dns_adbname_t *name) +{ + int bucket; bool result = false; bucket = name->lock_bucket; @@ -1155,8 +1177,9 @@ unlink_name(dns_adb_t *adb, dns_adbname_t *name) { * Requires the entry's bucket be locked. */ static inline void -link_entry(dns_adb_t *adb, int bucket, dns_adbentry_t *entry) { - int i; +link_entry(dns_adb_t *adb, int bucket, dns_adbentry_t *entry) +{ + int i; dns_adbentry_t *e; if (isc_mem_isovermem(adb->mctx)) { @@ -1185,8 +1208,9 @@ link_entry(dns_adb_t *adb, int bucket, dns_adbentry_t *entry) { * Requires the entry's bucket be locked. */ static inline bool -unlink_entry(dns_adb_t *adb, dns_adbentry_t *entry) { - int bucket; +unlink_entry(dns_adb_t *adb, dns_adbentry_t *entry) +{ + int bucket; bool result = false; bucket = entry->lock_bucket; @@ -1205,7 +1229,8 @@ unlink_entry(dns_adb_t *adb, dns_adbentry_t *entry) { } static inline void -violate_locking_hierarchy(isc_mutex_t *have, isc_mutex_t *want) { +violate_locking_hierarchy(isc_mutex_t *have, isc_mutex_t *want) +{ if (isc_mutex_trylock(want) != ISC_R_SUCCESS) { UNLOCK(have); LOCK(want); @@ -1218,9 +1243,10 @@ violate_locking_hierarchy(isc_mutex_t *have, isc_mutex_t *want) { * checked after calling this function. */ static bool -shutdown_names(dns_adb_t *adb) { - unsigned int bucket; - bool result = false; +shutdown_names(dns_adb_t *adb) +{ + unsigned int bucket; + bool result = false; dns_adbname_t *name; dns_adbname_t *next_name; @@ -1247,8 +1273,8 @@ shutdown_names(dns_adb_t *adb) { while (name != NULL) { next_name = ISC_LIST_NEXT(name, plink); INSIST(result == false); - result = kill_name(&name, - DNS_EVENT_ADBSHUTDOWN); + result = + kill_name(&name, DNS_EVENT_ADBSHUTDOWN); name = next_name; } } @@ -1263,9 +1289,10 @@ shutdown_names(dns_adb_t *adb) { * checked after calling this function. */ static bool -shutdown_entries(dns_adb_t *adb) { - unsigned int bucket; - bool result = false; +shutdown_entries(dns_adb_t *adb) +{ + unsigned int bucket; + bool result = false; dns_adbentry_t *entry; dns_adbentry_t *next_entry; @@ -1288,8 +1315,7 @@ shutdown_entries(dns_adb_t *adb) { */ while (entry != NULL) { next_entry = ISC_LIST_NEXT(entry, plink); - if (entry->refcnt == 0 && - entry->expires != 0) { + if (entry->refcnt == 0 && entry->expires != 0) { result = unlink_entry(adb, entry); free_adbentry(adb, &entry); if (result) @@ -1308,24 +1334,26 @@ shutdown_entries(dns_adb_t *adb) { * Name bucket must be locked */ static void -cancel_fetches_at_name(dns_adbname_t *name) { +cancel_fetches_at_name(dns_adbname_t *name) +{ if (NAME_FETCH_A(name)) - dns_resolver_cancelfetch(name->fetch_a->fetch); + dns_resolver_cancelfetch(name->fetch_a->fetch); if (NAME_FETCH_AAAA(name)) - dns_resolver_cancelfetch(name->fetch_aaaa->fetch); + dns_resolver_cancelfetch(name->fetch_aaaa->fetch); } /* * Assumes the name bucket is locked. */ static bool -clean_namehooks(dns_adb_t *adb, dns_adbnamehooklist_t *namehooks) { - dns_adbentry_t *entry; +clean_namehooks(dns_adb_t *adb, dns_adbnamehooklist_t *namehooks) +{ + dns_adbentry_t * entry; dns_adbnamehook_t *namehook; - int addr_bucket; - bool result = false; - bool overmem = isc_mem_isovermem(adb->mctx); + int addr_bucket; + bool result = false; + bool overmem = isc_mem_isovermem(adb->mctx); addr_bucket = DNS_ADB_INVALIDBUCKET; namehook = ISC_LIST_HEAD(*namehooks); @@ -1348,8 +1376,7 @@ clean_namehooks(dns_adb_t *adb, dns_adbnamehooklist_t *namehooks) { } entry->nh--; - result = dec_entry_refcnt(adb, overmem, entry, - false); + result = dec_entry_refcnt(adb, overmem, entry, false); } /* @@ -1368,7 +1395,8 @@ clean_namehooks(dns_adb_t *adb, dns_adbnamehooklist_t *namehooks) { } static void -clean_target(dns_adb_t *adb, dns_name_t *target) { +clean_target(dns_adb_t *adb, dns_name_t *target) +{ if (dns_name_countlabels(target) > 0) { dns_name_free(target, adb->mctx); dns_name_init(target, NULL); @@ -1379,13 +1407,13 @@ static isc_result_t set_target(dns_adb_t *adb, const dns_name_t *name, const dns_name_t *fname, dns_rdataset_t *rdataset, dns_name_t *target) { - isc_result_t result; - dns_namereln_t namereln; - unsigned int nlabels; - int order; - dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + dns_namereln_t namereln; + unsigned int nlabels; + int order; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_fixedname_t fixed1, fixed2; - dns_name_t *prefix, *new_target; + dns_name_t * prefix, *new_target; REQUIRE(dns_name_countlabels(target) == 0); @@ -1441,7 +1469,8 @@ set_target(dns_adb_t *adb, const dns_name_t *name, const dns_name_t *fname, * Assumes nothing is locked, since this is called by the client. */ static void -event_free(isc_event_t *event) { +event_free(isc_event_t *event) +{ dns_adbfind_t *find; INSIST(event != NULL); @@ -1461,16 +1490,16 @@ static void clean_finds_at_name(dns_adbname_t *name, isc_eventtype_t evtype, unsigned int addrs) { - isc_event_t *ev; - isc_task_t *task; + isc_event_t * ev; + isc_task_t * task; dns_adbfind_t *find; dns_adbfind_t *next_find; - bool process; - unsigned int wanted, notify; + bool process; + unsigned int wanted, notify; DP(ENTER_LEVEL, - "ENTER clean_finds_at_name, name %p, evtype %08x, addrs %08x", - name, evtype, addrs); + "ENTER clean_finds_at_name, name %p, evtype %08x, addrs %08x", name, + evtype, addrs); find = ISC_LIST_HEAD(name->finds); while (find != NULL) { @@ -1523,8 +1552,7 @@ clean_finds_at_name(dns_adbname_t *name, isc_eventtype_t evtype, ev->ev_destroy = event_free; ev->ev_destroy_arg = find; - DP(DEF_LEVEL, - "sending event %p to task %p for find %p", + DP(DEF_LEVEL, "sending event %p to task %p for find %p", ev, task, find); isc_task_sendanddetach(&task, (isc_event_t **)&ev); @@ -1540,7 +1568,8 @@ clean_finds_at_name(dns_adbname_t *name, isc_eventtype_t evtype, } static inline void -check_exit(dns_adb_t *adb) { +check_exit(dns_adb_t *adb) +{ isc_event_t *event; /* * The caller must be holding the adb lock. @@ -1550,10 +1579,10 @@ check_exit(dns_adb_t *adb) { * If there aren't any external references either, we're * done. Send the control event to initiate shutdown. */ - INSIST(!adb->cevent_out); /* Sanity check. */ + INSIST(!adb->cevent_out); /* Sanity check. */ ISC_EVENT_INIT(&adb->cevent, sizeof(adb->cevent), 0, NULL, - DNS_EVENT_ADBCONTROL, shutdown_task, adb, - adb, NULL, NULL); + DNS_EVENT_ADBCONTROL, shutdown_task, adb, adb, + NULL, NULL); event = &adb->cevent; isc_task_send(adb->task, &event); adb->cevent_out = true; @@ -1561,10 +1590,11 @@ check_exit(dns_adb_t *adb) { } static inline bool -dec_adb_irefcnt(dns_adb_t *adb) { +dec_adb_irefcnt(dns_adb_t *adb) +{ isc_event_t *event; - isc_task_t *etask; - bool result = false; + isc_task_t * etask; + bool result = false; LOCK(&adb->reflock); @@ -1589,21 +1619,24 @@ dec_adb_irefcnt(dns_adb_t *adb) { } static inline void -inc_adb_irefcnt(dns_adb_t *adb) { +inc_adb_irefcnt(dns_adb_t *adb) +{ LOCK(&adb->reflock); adb->irefcnt++; UNLOCK(&adb->reflock); } static inline void -inc_adb_erefcnt(dns_adb_t *adb) { +inc_adb_erefcnt(dns_adb_t *adb) +{ LOCK(&adb->reflock); adb->erefcnt++; UNLOCK(&adb->reflock); } static inline void -inc_entry_refcnt(dns_adb_t *adb, dns_adbentry_t *entry, bool lock) { +inc_entry_refcnt(dns_adb_t *adb, dns_adbentry_t *entry, bool lock) +{ int bucket; bucket = entry->lock_bucket; @@ -1618,10 +1651,9 @@ inc_entry_refcnt(dns_adb_t *adb, dns_adbentry_t *entry, bool lock) { } static inline bool -dec_entry_refcnt(dns_adb_t *adb, bool overmem, dns_adbentry_t *entry, - bool lock) +dec_entry_refcnt(dns_adb_t *adb, bool overmem, dns_adbentry_t *entry, bool lock) { - int bucket; + int bucket; bool destroy_entry; bool result = false; @@ -1657,7 +1689,8 @@ dec_entry_refcnt(dns_adb_t *adb, bool overmem, dns_adbentry_t *entry, } static inline dns_adbname_t * -new_adbname(dns_adb_t *adb, const dns_name_t *dnsname) { +new_adbname(dns_adb_t *adb, const dns_name_t *dnsname) +{ dns_adbname_t *name; name = isc_mempool_get(adb->nmp); @@ -1689,8 +1722,7 @@ new_adbname(dns_adb_t *adb, const dns_name_t *dnsname) { adb->namescnt++; inc_adbstats(adb, dns_adbstats_namescnt); if (!adb->grownames_sent && adb->excl != NULL && - adb->namescnt > (adb->nnames * 8)) - { + adb->namescnt > (adb->nnames * 8)) { isc_event_t *event = &adb->grownames; inc_adb_irefcnt(adb); isc_task_send(adb->excl, &event); @@ -1702,7 +1734,8 @@ new_adbname(dns_adb_t *adb, const dns_name_t *dnsname) { } static inline void -free_adbname(dns_adb_t *adb, dns_adbname_t **name) { +free_adbname(dns_adb_t *adb, dns_adbname_t **name) +{ dns_adbname_t *n; INSIST(name != NULL && DNS_ADBNAME_VALID(*name)); @@ -1728,7 +1761,8 @@ free_adbname(dns_adb_t *adb, dns_adbname_t **name) { } static inline dns_adbnamehook_t * -new_adbnamehook(dns_adb_t *adb, dns_adbentry_t *entry) { +new_adbnamehook(dns_adb_t *adb, dns_adbentry_t *entry) +{ dns_adbnamehook_t *nh; nh = isc_mempool_get(adb->nhmp); @@ -1743,7 +1777,8 @@ new_adbnamehook(dns_adb_t *adb, dns_adbentry_t *entry) { } static inline void -free_adbnamehook(dns_adb_t *adb, dns_adbnamehook_t **namehook) { +free_adbnamehook(dns_adb_t *adb, dns_adbnamehook_t **namehook) +{ dns_adbnamehook_t *nh; INSIST(namehook != NULL && DNS_ADBNAMEHOOK_VALID(*namehook)); @@ -1758,8 +1793,7 @@ free_adbnamehook(dns_adb_t *adb, dns_adbnamehook_t **namehook) { } static inline dns_adblameinfo_t * -new_adblameinfo(dns_adb_t *adb, const dns_name_t *qname, - dns_rdatatype_t qtype) +new_adblameinfo(dns_adb_t *adb, const dns_name_t *qname, dns_rdatatype_t qtype) { dns_adblameinfo_t *li; @@ -1778,7 +1812,8 @@ new_adblameinfo(dns_adb_t *adb, const dns_name_t *qname, } static inline void -free_adblameinfo(dns_adb_t *adb, dns_adblameinfo_t **lameinfo) { +free_adblameinfo(dns_adb_t *adb, dns_adblameinfo_t **lameinfo) +{ dns_adblameinfo_t *li; INSIST(lameinfo != NULL && DNS_ADBLAMEINFO_VALID(*lameinfo)); @@ -1795,7 +1830,8 @@ free_adblameinfo(dns_adb_t *adb, dns_adblameinfo_t **lameinfo) { } static inline dns_adbentry_t * -new_adbentry(dns_adb_t *adb) { +new_adbentry(dns_adb_t *adb) +{ dns_adbentry_t *e; e = isc_mempool_get(adb->emp); @@ -1832,8 +1868,7 @@ new_adbentry(dns_adb_t *adb) { adb->entriescnt++; inc_adbstats(adb, dns_adbstats_entriescnt); if (!adb->growentries_sent && adb->excl != NULL && - adb->entriescnt > (adb->nentries * 8)) - { + adb->entriescnt > (adb->nentries * 8)) { isc_event_t *event = &adb->growentries; inc_adb_irefcnt(adb); isc_task_send(adb->excl, &event); @@ -1845,8 +1880,9 @@ new_adbentry(dns_adb_t *adb) { } static inline void -free_adbentry(dns_adb_t *adb, dns_adbentry_t **entry) { - dns_adbentry_t *e; +free_adbentry(dns_adb_t *adb, dns_adbentry_t **entry) +{ + dns_adbentry_t * e; dns_adblameinfo_t *li; INSIST(entry != NULL && DNS_ADBENTRY_VALID(*entry)); @@ -1877,7 +1913,8 @@ free_adbentry(dns_adb_t *adb, dns_adbentry_t **entry) { } static inline dns_adbfind_t * -new_adbfind(dns_adb_t *adb) { +new_adbfind(dns_adb_t *adb) +{ dns_adbfind_t *h; h = isc_mempool_get(adb->ahmp); @@ -1914,7 +1951,8 @@ new_adbfind(dns_adb_t *adb) { } static inline dns_adbfetch_t * -new_adbfetch(dns_adb_t *adb) { +new_adbfetch(dns_adb_t *adb) +{ dns_adbfetch_t *f; f = isc_mempool_get(adb->afmp); @@ -1932,7 +1970,8 @@ new_adbfetch(dns_adb_t *adb) { } static inline void -free_adbfetch(dns_adb_t *adb, dns_adbfetch_t **fetch) { +free_adbfetch(dns_adb_t *adb, dns_adbfetch_t **fetch) +{ dns_adbfetch_t *f; INSIST(fetch != NULL && DNS_ADBFETCH_VALID(*fetch)); @@ -1948,7 +1987,8 @@ free_adbfetch(dns_adb_t *adb, dns_adbfetch_t **fetch) { } static inline bool -free_adbfind(dns_adb_t *adb, dns_adbfind_t **findp) { +free_adbfind(dns_adb_t *adb, dns_adbfind_t **findp) +{ dns_adbfind_t *find; INSIST(findp != NULL && DNS_ADBFIND_VALID(*findp)); @@ -1974,7 +2014,8 @@ free_adbfind(dns_adb_t *adb, dns_adbfind_t **findp) { * if this function returns a valid pointer. */ static inline dns_adbaddrinfo_t * -new_adbaddrinfo(dns_adb_t *adb, dns_adbentry_t *entry, in_port_t port) { +new_adbaddrinfo(dns_adb_t *adb, dns_adbentry_t *entry, in_port_t port) +{ dns_adbaddrinfo_t *ai; ai = isc_mempool_get(adb->aimp); @@ -1994,7 +2035,8 @@ new_adbaddrinfo(dns_adb_t *adb, dns_adbentry_t *entry, in_port_t port) { } static inline void -free_adbaddrinfo(dns_adb_t *adb, dns_adbaddrinfo_t **ainfo) { +free_adbaddrinfo(dns_adb_t *adb, dns_adbaddrinfo_t **ainfo) +{ dns_adbaddrinfo_t *ai; INSIST(ainfo != NULL && DNS_ADBADDRINFO_VALID(*ainfo)); @@ -2017,11 +2059,11 @@ free_adbaddrinfo(dns_adb_t *adb, dns_adbaddrinfo_t **ainfo) { * DNS_ADB_INVALIDBUCKET. */ static inline dns_adbname_t * -find_name_and_lock(dns_adb_t *adb, const dns_name_t *name, - unsigned int options, int *bucketp) +find_name_and_lock(dns_adb_t *adb, const dns_name_t *name, unsigned int options, + int *bucketp) { dns_adbname_t *adbname; - int bucket; + int bucket; bucket = dns_name_fullhash(name, false) % adb->nnames; @@ -2037,9 +2079,9 @@ find_name_and_lock(dns_adb_t *adb, const dns_name_t *name, adbname = ISC_LIST_HEAD(adb->names[bucket]); while (adbname != NULL) { if (!NAME_DEAD(adbname)) { - if (dns_name_equal(name, &adbname->name) - && GLUEHINT_OK(adbname, options) - && STARTATZONE_MATCHES(adbname, options)) + if (dns_name_equal(name, &adbname->name) && + GLUEHINT_OK(adbname, options) && + STARTATZONE_MATCHES(adbname, options)) return (adbname); } adbname = ISC_LIST_NEXT(adbname, plink); @@ -2060,10 +2102,10 @@ find_name_and_lock(dns_adb_t *adb, const dns_name_t *name, */ static inline dns_adbentry_t * find_entry_and_lock(dns_adb_t *adb, const isc_sockaddr_t *addr, int *bucketp, - isc_stdtime_t now) + isc_stdtime_t now) { dns_adbentry_t *entry, *entry_next; - int bucket; + int bucket; bucket = isc_sockaddr_hash(addr, true) % adb->nentries; @@ -2077,8 +2119,7 @@ find_entry_and_lock(dns_adb_t *adb, const isc_sockaddr_t *addr, int *bucketp, } /* Search the list, while cleaning up expired entries. */ - for (entry = ISC_LIST_HEAD(adb->entries[bucket]); - entry != NULL; + for (entry = ISC_LIST_HEAD(adb->entries[bucket]); entry != NULL; entry = entry_next) { entry_next = ISC_LIST_NEXT(entry, plink); (void)check_expire_entry(adb, &entry, now); @@ -2102,7 +2143,7 @@ entry_is_lame(dns_adb_t *adb, dns_adbentry_t *entry, const dns_name_t *qname, dns_rdatatype_t qtype, isc_stdtime_t now) { dns_adblameinfo_t *li, *next_li; - bool is_bad; + bool is_bad; is_bad = false; @@ -2137,10 +2178,11 @@ entry_is_lame(dns_adb_t *adb, dns_adbentry_t *entry, const dns_name_t *qname, } static void -log_quota(dns_adbentry_t *entry, const char *fmt, ...) { - va_list ap; - char msgbuf[2048]; - char addrbuf[ISC_NETADDR_FORMATSIZE]; +log_quota(dns_adbentry_t *entry, const char *fmt, ...) +{ + va_list ap; + char msgbuf[2048]; + char addrbuf[ISC_NETADDR_FORMATSIZE]; isc_netaddr_t netaddr; va_start(ap, fmt); @@ -2164,8 +2206,8 @@ copy_namehook_lists(dns_adb_t *adb, dns_adbfind_t *find, { dns_adbnamehook_t *namehook; dns_adbaddrinfo_t *addrinfo; - dns_adbentry_t *entry; - int bucket; + dns_adbentry_t * entry; + int bucket; bucket = DNS_ADB_INVALIDBUCKET; @@ -2178,14 +2220,13 @@ copy_namehook_lists(dns_adb_t *adb, dns_adbfind_t *find, LOCK(&adb->entrylocks[bucket]); if (dns_adbentry_overquota(entry)) { - find->options |= - (DNS_ADBFIND_LAMEPRUNED| - DNS_ADBFIND_OVERQUOTA); + find->options |= (DNS_ADBFIND_LAMEPRUNED | + DNS_ADBFIND_OVERQUOTA); goto nextv4; } - if (!FIND_RETURNLAME(find) - && entry_is_lame(adb, entry, qname, qtype, now)) { + if (!FIND_RETURNLAME(find) && + entry_is_lame(adb, entry, qname, qtype, now)) { find->options |= DNS_ADBFIND_LAMEPRUNED; goto nextv4; } @@ -2216,14 +2257,13 @@ copy_namehook_lists(dns_adb_t *adb, dns_adbfind_t *find, LOCK(&adb->entrylocks[bucket]); if (dns_adbentry_overquota(entry)) { - find->options |= - (DNS_ADBFIND_LAMEPRUNED| - DNS_ADBFIND_OVERQUOTA); + find->options |= (DNS_ADBFIND_LAMEPRUNED | + DNS_ADBFIND_OVERQUOTA); goto nextv6; } - if (!FIND_RETURNLAME(find) - && entry_is_lame(adb, entry, qname, qtype, now)) { + if (!FIND_RETURNLAME(find) && + entry_is_lame(adb, entry, qname, qtype, now)) { find->options |= DNS_ADBFIND_LAMEPRUNED; goto nextv6; } @@ -2245,13 +2285,14 @@ copy_namehook_lists(dns_adb_t *adb, dns_adbfind_t *find, } } - out: +out: if (bucket != DNS_ADB_INVALIDBUCKET) UNLOCK(&adb->entrylocks[bucket]); } static void -shutdown_task(isc_task_t *task, isc_event_t *ev) { +shutdown_task(isc_task_t *task, isc_event_t *ev) +{ dns_adb_t *adb; UNUSED(task); @@ -2272,9 +2313,10 @@ shutdown_task(isc_task_t *task, isc_event_t *ev) { * Name bucket must be locked; adb may be locked; no other locks held. */ static bool -check_expire_name(dns_adbname_t **namep, isc_stdtime_t now) { +check_expire_name(dns_adbname_t **namep, isc_stdtime_t now) +{ dns_adbname_t *name; - bool result = false; + bool result = false; INSIST(namep != NULL && DNS_ADBNAME_VALID(*namep)); name = *namep; @@ -2315,11 +2357,12 @@ check_expire_name(dns_adbname_t **namep, isc_stdtime_t now) { * Name bucket must be locked; adb may be locked; no other locks held. */ static void -check_stale_name(dns_adb_t *adb, int bucket, isc_stdtime_t now) { - int victims, max_victims; +check_stale_name(dns_adb_t *adb, int bucket, isc_stdtime_t now) +{ + int victims, max_victims; dns_adbname_t *victim, *next_victim; - bool overmem = isc_mem_isovermem(adb->mctx); - int scans = 0; + bool overmem = isc_mem_isovermem(adb->mctx); + int scans = 0; INSIST(bucket != DNS_ADB_INVALIDBUCKET); @@ -2332,8 +2375,7 @@ check_stale_name(dns_adb_t *adb, int bucket, isc_stdtime_t now) { * happen). */ victim = ISC_LIST_TAIL(adb->names[bucket]); - for (victims = 0; - victim != NULL && victims < max_victims && scans < 10; + for (victims = 0; victim != NULL && victims < max_victims && scans < 10; victim = next_victim) { INSIST(!NAME_DEAD(victim)); scans++; @@ -2346,9 +2388,9 @@ check_stale_name(dns_adb_t *adb, int bucket, isc_stdtime_t now) { if (!NAME_FETCH(victim) && (overmem || victim->last_used + ADB_STALE_MARGIN <= now)) { - RUNTIME_CHECK(kill_name(&victim, - DNS_EVENT_ADBCANCELED) == - false); + RUNTIME_CHECK( + kill_name(&victim, DNS_EVENT_ADBCANCELED) == + false); victims++; } @@ -2365,7 +2407,7 @@ static bool check_expire_entry(dns_adb_t *adb, dns_adbentry_t **entryp, isc_stdtime_t now) { dns_adbentry_t *entry; - bool result = false; + bool result = false; INSIST(entryp != NULL && DNS_ADBENTRY_VALID(*entryp)); entry = *entryp; @@ -2393,10 +2435,11 @@ check_expire_entry(dns_adb_t *adb, dns_adbentry_t **entryp, isc_stdtime_t now) * ADB must be locked, and no other locks held. */ static bool -cleanup_names(dns_adb_t *adb, int bucket, isc_stdtime_t now) { +cleanup_names(dns_adb_t *adb, int bucket, isc_stdtime_t now) +{ dns_adbname_t *name; dns_adbname_t *next_name; - bool result = false; + bool result = false; DP(CLEAN_LEVEL, "cleaning name bucket %d", bucket); @@ -2423,9 +2466,10 @@ cleanup_names(dns_adb_t *adb, int bucket, isc_stdtime_t now) { * ADB must be locked, and no other locks held. */ static bool -cleanup_entries(dns_adb_t *adb, int bucket, isc_stdtime_t now) { +cleanup_entries(dns_adb_t *adb, int bucket, isc_stdtime_t now) +{ dns_adbentry_t *entry, *next_entry; - bool result = false; + bool result = false; DP(CLEAN_LEVEL, "cleaning entry bucket %d", bucket); @@ -2442,7 +2486,8 @@ cleanup_entries(dns_adb_t *adb, int bucket, isc_stdtime_t now) { } static void -destroy(dns_adb_t *adb) { +destroy(dns_adb_t *adb) +{ adb->magic = 0; isc_task_detach(&adb->task); @@ -2470,8 +2515,7 @@ destroy(dns_adb_t *adb) { sizeof(*adb->entry_refcnt) * adb->nentries); isc_mutexblock_destroy(adb->namelocks, adb->nnames); - isc_mem_put(adb->mctx, adb->names, - sizeof(*adb->names) * adb->nnames); + isc_mem_put(adb->mctx, adb->names, sizeof(*adb->names) * adb->nnames); isc_mem_put(adb->mctx, adb->deadnames, sizeof(*adb->deadnames) * adb->nnames); isc_mem_put(adb->mctx, adb->namelocks, @@ -2491,7 +2535,6 @@ destroy(dns_adb_t *adb) { isc_mem_putanddetach(&adb->mctx, adb, sizeof(dns_adb_t)); } - /* * Public functions. */ @@ -2500,7 +2543,7 @@ isc_result_t dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *timermgr, isc_taskmgr_t *taskmgr, dns_adb_t **newadb) { - dns_adb_t *adb; + dns_adb_t * adb; isc_result_t result; unsigned int i; @@ -2534,8 +2577,8 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *timermgr, adb->view = view; adb->taskmgr = taskmgr; adb->next_cleanbucket = 0; - ISC_EVENT_INIT(&adb->cevent, sizeof(adb->cevent), - 0, NULL, 0, NULL, NULL, NULL, NULL, NULL); + ISC_EVENT_INIT(&adb->cevent, sizeof(adb->cevent), 0, NULL, 0, NULL, + NULL, NULL, NULL, NULL); adb->cevent_out = false; adb->shutting_down = false; ISC_LIST_INIT(adb->whenshutdown); @@ -2548,8 +2591,8 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *timermgr, adb->entry_refcnt = NULL; adb->entrylocks = NULL; ISC_EVENT_INIT(&adb->growentries, sizeof(adb->growentries), 0, NULL, - DNS_EVENT_ADBGROWENTRIES, grow_entries, adb, - adb, NULL, NULL); + DNS_EVENT_ADBGROWENTRIES, grow_entries, adb, adb, NULL, + NULL); adb->growentries_sent = false; adb->quota = 0; @@ -2566,15 +2609,16 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *timermgr, adb->name_refcnt = NULL; adb->namelocks = NULL; ISC_EVENT_INIT(&adb->grownames, sizeof(adb->grownames), 0, NULL, - DNS_EVENT_ADBGROWNAMES, grow_names, adb, - adb, NULL, NULL); + DNS_EVENT_ADBGROWNAMES, grow_names, adb, adb, NULL, + NULL); adb->grownames_sent = false; result = isc_taskmgr_excltask(adb->taskmgr, &adb->excl); if (result != ISC_R_SUCCESS) { - DP(DEF_LEVEL, "adb: task-exclusive mode unavailable, " - "initializing table sizes to %u\n", - nbuckets[11]); + DP(DEF_LEVEL, + "adb: task-exclusive mode unavailable, " + "initializing table sizes to %u\n", + nbuckets[11]); adb->nentries = nbuckets[11]; adb->nnames = nbuckets[11]; } @@ -2588,14 +2632,14 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *timermgr, isc_mutex_init(&adb->entriescntlock); isc_mutex_init(&adb->namescntlock); -#define ALLOCENTRY(adb, el) \ - do { \ - (adb)->el = isc_mem_get((adb)->mctx, \ - sizeof(*(adb)->el) * (adb)->nentries); \ - if ((adb)->el == NULL) { \ - result = ISC_R_NOMEMORY; \ - goto fail1; \ - }\ +#define ALLOCENTRY(adb, el) \ + do { \ + (adb)->el = isc_mem_get((adb)->mctx, \ + sizeof(*(adb)->el) * (adb)->nentries); \ + if ((adb)->el == NULL) { \ + result = ISC_R_NOMEMORY; \ + goto fail1; \ + } \ } while (0) ALLOCENTRY(adb, entries); ALLOCENTRY(adb, deadentries); @@ -2604,14 +2648,14 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *timermgr, ALLOCENTRY(adb, entry_refcnt); #undef ALLOCENTRY -#define ALLOCNAME(adb, el) \ - do { \ - (adb)->el = isc_mem_get((adb)->mctx, \ - sizeof(*(adb)->el) * (adb)->nnames); \ - if ((adb)->el == NULL) { \ - result = ISC_R_NOMEMORY; \ - goto fail1; \ - }\ +#define ALLOCNAME(adb, el) \ + do { \ + (adb)->el = isc_mem_get((adb)->mctx, \ + sizeof(*(adb)->el) * (adb)->nnames); \ + if ((adb)->el == NULL) { \ + result = ISC_R_NOMEMORY; \ + goto fail1; \ + } \ } while (0) ALLOCNAME(adb, names); ALLOCNAME(adb, deadnames); @@ -2645,12 +2689,13 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *timermgr, /* * Memory pools */ -#define MPINIT(t, p, n) do { \ - isc_mempool_create(mem, sizeof(t), &(p)); \ - isc_mempool_setfreemax((p), FREE_ITEMS); \ - isc_mempool_setfillcount((p), FILL_COUNT); \ - isc_mempool_setname((p), n); \ - isc_mempool_associatelock((p), &adb->mplock); \ +#define MPINIT(t, p, n) \ + do { \ + isc_mempool_create(mem, sizeof(t), &(p)); \ + isc_mempool_setfreemax((p), FREE_ITEMS); \ + isc_mempool_setfillcount((p), FILL_COUNT); \ + isc_mempool_setname((p), n); \ + isc_mempool_associatelock((p), &adb->mplock); \ } while (0) MPINIT(dns_adbname_t, adb->nmp, "adbname"); @@ -2686,7 +2731,7 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *timermgr, *newadb = adb; return (ISC_R_SUCCESS); - fail2: +fail2: if (adb->task != NULL) isc_task_detach(&adb->task); @@ -2694,7 +2739,7 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *timermgr, isc_mutexblock_destroy(adb->entrylocks, adb->nentries); isc_mutexblock_destroy(adb->namelocks, adb->nnames); - fail1: /* clean up only allocated memory */ +fail1: /* clean up only allocated memory */ if (adb->entries != NULL) isc_mem_put(adb->mctx, adb->entries, sizeof(*adb->entries) * adb->nentries); @@ -2754,8 +2799,8 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *timermgr, } void -dns_adb_attach(dns_adb_t *adb, dns_adb_t **adbx) { - +dns_adb_attach(dns_adb_t *adb, dns_adb_t **adbx) +{ REQUIRE(DNS_ADB_VALID(adb)); REQUIRE(adbx != NULL && *adbx == NULL); @@ -2764,9 +2809,10 @@ dns_adb_attach(dns_adb_t *adb, dns_adb_t **adbx) { } void -dns_adb_detach(dns_adb_t **adbx) { +dns_adb_detach(dns_adb_t **adbx) +{ dns_adb_t *adb; - bool need_exit_check; + bool need_exit_check; REQUIRE(adbx != NULL && DNS_ADB_VALID(*adbx)); @@ -2788,10 +2834,11 @@ dns_adb_detach(dns_adb_t **adbx) { } void -dns_adb_whenshutdown(dns_adb_t *adb, isc_task_t *task, isc_event_t **eventp) { - isc_task_t *tclone; +dns_adb_whenshutdown(dns_adb_t *adb, isc_task_t *task, isc_event_t **eventp) +{ + isc_task_t * tclone; isc_event_t *event; - bool zeroirefcnt; + bool zeroirefcnt; /* * Send '*eventp' to 'task' when 'adb' has shutdown. @@ -2827,7 +2874,8 @@ dns_adb_whenshutdown(dns_adb_t *adb, isc_task_t *task, isc_event_t **eventp) { } static void -shutdown_stage2(isc_task_t *task, isc_event_t *event) { +shutdown_stage2(isc_task_t *task, isc_event_t *event) +{ dns_adb_t *adb; UNUSED(task); @@ -2846,7 +2894,8 @@ shutdown_stage2(isc_task_t *task, isc_event_t *event) { } void -dns_adb_shutdown(dns_adb_t *adb) { +dns_adb_shutdown(dns_adb_t *adb) +{ isc_event_t *event; /* @@ -2863,8 +2912,8 @@ dns_adb_shutdown(dns_adb_t *adb) { */ inc_adb_irefcnt(adb); ISC_EVENT_INIT(&adb->cevent, sizeof(adb->cevent), 0, NULL, - DNS_EVENT_ADBCONTROL, shutdown_stage2, adb, - adb, NULL, NULL); + DNS_EVENT_ADBCONTROL, shutdown_stage2, adb, adb, + NULL, NULL); adb->cevent_out = true; event = &adb->cevent; isc_task_send(adb->task, &event); @@ -2877,19 +2926,18 @@ isc_result_t dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action, void *arg, const dns_name_t *name, const dns_name_t *qname, dns_rdatatype_t qtype, unsigned int options, - isc_stdtime_t now, dns_name_t *target, - in_port_t port, unsigned int depth, isc_counter_t *qc, - dns_adbfind_t **findp) + isc_stdtime_t now, dns_name_t *target, in_port_t port, + unsigned int depth, isc_counter_t *qc, dns_adbfind_t **findp) { dns_adbfind_t *find; dns_adbname_t *adbname; - int bucket; - bool want_event, start_at_zone, alias, have_address; - isc_result_t result; - unsigned int wanted_addresses; - unsigned int wanted_fetches; - unsigned int query_pending; - char namebuf[DNS_NAME_FORMATSIZE]; + int bucket; + bool want_event, start_at_zone, alias, have_address; + isc_result_t result; + unsigned int wanted_addresses; + unsigned int wanted_fetches; + unsigned int query_pending; + char namebuf[DNS_NAME_FORMATSIZE]; REQUIRE(DNS_ADB_VALID(adb)); if (task != NULL) { @@ -2962,8 +3010,8 @@ dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action, adbname = find_name_and_lock(adb, name, find->options, &bucket); INSIST(bucket != DNS_ADB_INVALIDBUCKET); if (adb->name_sd[bucket]) { - DP(DEF_LEVEL, - "dns_adb_createfind: returning ISC_R_SHUTTINGDOWN"); + DP(DEF_LEVEL, "dns_adb_createfind: returning " + "ISC_R_SHUTTINGDOWN"); RUNTIME_CHECK(free_adbfind(adb, &find) == false); result = ISC_R_SHUTTINGDOWN; goto out; @@ -3023,8 +3071,8 @@ dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action, * start fetches. First try looking for an A record * in the database. */ - if (!NAME_HAS_V4(adbname) && EXPIRE_OK(adbname->expire_v4, now) - && WANT_INET(wanted_addresses)) { + if (!NAME_HAS_V4(adbname) && EXPIRE_OK(adbname->expire_v4, now) && + WANT_INET(wanted_addresses)) { result = dbfind_name(adbname, now, dns_rdatatype_a); if (result == ISC_R_SUCCESS) { DP(DEF_LEVEL, @@ -3062,9 +3110,9 @@ dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action, wanted_fetches |= DNS_ADBFIND_INET; } - v6: - if (!NAME_HAS_V6(adbname) && EXPIRE_OK(adbname->expire_v6, now) - && WANT_INET6(wanted_addresses)) { +v6: + if (!NAME_HAS_V6(adbname) && EXPIRE_OK(adbname->expire_v6, now) && + WANT_INET6(wanted_addresses)) { result = dbfind_name(adbname, now, dns_rdatatype_aaaa); if (result == ISC_R_SUCCESS) { DP(DEF_LEVEL, @@ -3095,14 +3143,13 @@ dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action, wanted_fetches |= DNS_ADBFIND_INET6; } - fetch: +fetch: if ((WANT_INET(wanted_addresses) && NAME_HAS_V4(adbname)) || (WANT_INET6(wanted_addresses) && NAME_HAS_V6(adbname))) have_address = true; else have_address = false; - if (wanted_fetches != 0 && - ! (FIND_AVOIDFETCHES(find) && have_address)) { + if (wanted_fetches != 0 && !(FIND_AVOIDFETCHES(find) && have_address)) { /* * We're missing at least one address family. Either the * caller hasn't instructed us to avoid fetches, or we don't @@ -3119,7 +3166,8 @@ dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action, if (WANT_INET(wanted_fetches) && fetch_name(adbname, start_at_zone, depth, qc, dns_rdatatype_a) == ISC_R_SUCCESS) { - DP(DEF_LEVEL, "dns_adb_createfind: " + DP(DEF_LEVEL, + "dns_adb_createfind: " "started A fetch for name %s (%p)", namebuf, adbname); } @@ -3130,7 +3178,8 @@ dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action, if (WANT_INET6(wanted_fetches) && fetch_name(adbname, start_at_zone, depth, qc, dns_rdatatype_aaaa) == ISC_R_SUCCESS) { - DP(DEF_LEVEL, "dns_adb_createfind: " + DP(DEF_LEVEL, + "dns_adb_createfind: " "started AAAA fetch for name %s (%p)", namebuf, adbname); } @@ -3142,7 +3191,7 @@ dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action, */ copy_namehook_lists(adb, find, qname, qtype, adbname, now); - post_copy: +post_copy: if (NAME_FETCH_V4(adbname)) query_pending |= DNS_ADBFIND_INET; if (NAME_FETCH_V6(adbname)) @@ -3169,8 +3218,9 @@ dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action, find->query_pending = (query_pending & wanted_addresses); find->flags &= ~DNS_ADBFIND_ADDRESSMASK; find->flags |= (find->query_pending & DNS_ADBFIND_ADDRESSMASK); - DP(DEF_LEVEL, "createfind: attaching find %p to adbname " - "%p %d", + DP(DEF_LEVEL, + "createfind: attaching find %p to adbname " + "%p %d", find, adbname, empty); } else { /* @@ -3200,7 +3250,7 @@ dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action, find->result_v4 = find_err_map[adbname->fetch_err]; find->result_v6 = find_err_map[adbname->fetch6_err]; - out: +out: if (find != NULL) { *findp = find; @@ -3222,13 +3272,14 @@ dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action, } void -dns_adb_destroyfind(dns_adbfind_t **findp) { - dns_adbfind_t *find; - dns_adbentry_t *entry; +dns_adb_destroyfind(dns_adbfind_t **findp) +{ + dns_adbfind_t * find; + dns_adbentry_t * entry; dns_adbaddrinfo_t *ai; - int bucket; - dns_adb_t *adb; - bool overmem; + int bucket; + dns_adb_t * adb; + bool overmem; REQUIRE(findp != NULL && DNS_ADBFIND_VALID(*findp)); find = *findp; @@ -3280,12 +3331,13 @@ dns_adb_destroyfind(dns_adbfind_t **findp) { } void -dns_adb_cancelfind(dns_adbfind_t *find) { +dns_adb_cancelfind(dns_adbfind_t *find) +{ isc_event_t *ev; - isc_task_t *task; - dns_adb_t *adb; - int bucket; - int unlock_bucket; + isc_task_t * task; + dns_adb_t * adb; + int bucket; + int unlock_bucket; LOCK(&find->lock); @@ -3316,7 +3368,7 @@ dns_adb_cancelfind(dns_adbfind_t *find) { bucket = DNS_ADB_INVALIDBUCKET; POST(bucket); - cleanup: +cleanup: if (!FIND_EVENTSENT(find)) { ev = &find->event; @@ -3328,8 +3380,8 @@ dns_adb_cancelfind(dns_adbfind_t *find) { find->result_v4 = ISC_R_CANCELED; find->result_v6 = ISC_R_CANCELED; - DP(DEF_LEVEL, "sending event %p to task %p for find %p", - ev, task, find); + DP(DEF_LEVEL, "sending event %p to task %p for find %p", ev, + task, find); isc_task_sendanddetach(&task, (isc_event_t **)&ev); } @@ -3338,8 +3390,9 @@ dns_adb_cancelfind(dns_adbfind_t *find) { } void -dns_adb_dump(dns_adb_t *adb, FILE *f) { - unsigned int i; +dns_adb_dump(dns_adb_t *adb, FILE *f) +{ + unsigned int i; isc_stdtime_t now; REQUIRE(DNS_ADB_VALID(adb)); @@ -3365,20 +3418,22 @@ dns_adb_dump(dns_adb_t *adb, FILE *f) { } static void -dump_ttl(FILE *f, const char *legend, isc_stdtime_t value, isc_stdtime_t now) { +dump_ttl(FILE *f, const char *legend, isc_stdtime_t value, isc_stdtime_t now) +{ if (value == INT_MAX) return; fprintf(f, " [%s TTL %d]", legend, (int)(value - now)); } static void -dump_adb(dns_adb_t *adb, FILE *f, bool debug, isc_stdtime_t now) { - dns_adbname_t *name; +dump_adb(dns_adb_t *adb, FILE *f, bool debug, isc_stdtime_t now) +{ + dns_adbname_t * name; dns_adbentry_t *entry; fprintf(f, ";\n; Address database dump\n;\n"); fprintf(f, "; [edns success/4096 timeout/1432 timeout/1232 timeout/" - "512 timeout]\n"); + "512 timeout]\n"); fprintf(f, "; [plain success/timeout]\n;\n"); if (debug) { LOCK(&adb->reflock); @@ -3420,13 +3475,10 @@ dump_adb(dns_adb_t *adb, FILE *f, bool debug, isc_stdtime_t now) { if (debug) { fprintf(f, "; bucket %zu\n", i); } - for (; - name != NULL; - name = ISC_LIST_NEXT(name, plink)) - { + for (; name != NULL; name = ISC_LIST_NEXT(name, plink)) { if (debug) { - fprintf(f, "; name %p (flags %08x)\n", - name, name->flags); + fprintf(f, "; name %p (flags %08x)\n", name, + name->flags); } fprintf(f, "; "); print_dns_name(f, &name->name); @@ -3445,10 +3497,10 @@ dump_adb(dns_adb_t *adb, FILE *f, bool debug, isc_stdtime_t now) { fprintf(f, "\n"); - print_namehook_list(f, "v4", adb, - &name->v4, debug, now); - print_namehook_list(f, "v6", adb, - &name->v6, debug, now); + print_namehook_list(f, "v4", adb, &name->v4, debug, + now); + print_namehook_list(f, "v6", adb, &name->v6, debug, + now); if (debug) { print_fetch_list(f, name); @@ -3481,22 +3533,22 @@ dump_adb(dns_adb_t *adb, FILE *f, bool debug, isc_stdtime_t now) { /* * Unlock everything */ - for (ssize_t i = adb->nentries-1; i >= 0; i--) { + for (ssize_t i = adb->nentries - 1; i >= 0; i--) { UNLOCK(&adb->entrylocks[i]); } - for (ssize_t i = adb->nnames-1; i >= 0; i--) { + for (ssize_t i = adb->nnames - 1; i >= 0; i--) { UNLOCK(&adb->namelocks[i]); } #endif } static void -dump_entry(FILE *f, dns_adb_t *adb, dns_adbentry_t *entry, - bool debug, isc_stdtime_t now) +dump_entry(FILE *f, dns_adb_t *adb, dns_adbentry_t *entry, bool debug, + isc_stdtime_t now) { - char addrbuf[ISC_NETADDR_FORMATSIZE]; - char typebuf[DNS_RDATATYPE_FORMATSIZE]; - isc_netaddr_t netaddr; + char addrbuf[ISC_NETADDR_FORMATSIZE]; + char typebuf[DNS_RDATATYPE_FORMATSIZE]; + isc_netaddr_t netaddr; dns_adblameinfo_t *li; isc_netaddr_fromsockaddr(&netaddr, &entry->sockaddr); @@ -3505,10 +3557,12 @@ dump_entry(FILE *f, dns_adb_t *adb, dns_adbentry_t *entry, if (debug) fprintf(f, ";\t%p: refcnt %u\n", entry, entry->refcnt); - fprintf(f, ";\t%s [srtt %u] [flags %08x] [edns %u/%u/%u/%u/%u] " - "[plain %u/%u]", addrbuf, entry->srtt, entry->flags, - entry->edns, entry->to4096, entry->to1432, entry->to1232, - entry->to512, entry->plain, entry->plainto); + fprintf(f, + ";\t%s [srtt %u] [flags %08x] [edns %u/%u/%u/%u/%u] " + "[plain %u/%u]", + addrbuf, entry->srtt, entry->flags, entry->edns, entry->to4096, + entry->to1432, entry->to1232, entry->to512, entry->plain, + entry->plainto); if (entry->udpsize != 0U) fprintf(f, " [udpsize %u]", entry->udpsize); if (entry->cookie != NULL) { @@ -3522,15 +3576,13 @@ dump_entry(FILE *f, dns_adb_t *adb, dns_adbentry_t *entry, fprintf(f, " [ttl %d]", (int)(entry->expires - now)); if (adb != NULL && adb->quota != 0 && adb->atr_freq != 0) { - fprintf(f, " [atr %0.2f] [quota %" PRIuFAST32 "]", - entry->atr, atomic_load_relaxed(&entry->quota)); + fprintf(f, " [atr %0.2f] [quota %" PRIuFAST32 "]", entry->atr, + atomic_load_relaxed(&entry->quota)); } fprintf(f, "\n"); - for (li = ISC_LIST_HEAD(entry->lameinfo); - li != NULL; - li = ISC_LIST_NEXT(li, plink)) - { + for (li = ISC_LIST_HEAD(entry->lameinfo); li != NULL; + li = ISC_LIST_NEXT(li, plink)) { fprintf(f, ";\t\t"); print_dns_name(f, &li->qname); dns_rdatatype_format(li->qtype, typebuf, sizeof(typebuf)); @@ -3540,11 +3592,12 @@ dump_entry(FILE *f, dns_adb_t *adb, dns_adbentry_t *entry, } void -dns_adb_dumpfind(dns_adbfind_t *find, FILE *f) { - char tmp[512]; - const char *tmpp; +dns_adb_dumpfind(dns_adbfind_t *find, FILE *f) +{ + char tmp[512]; + const char * tmpp; dns_adbaddrinfo_t *ai; - isc_sockaddr_t *sa; + isc_sockaddr_t * sa; /* * Not used currently, in the API Just In Case we @@ -3555,8 +3608,8 @@ dns_adb_dumpfind(dns_adbfind_t *find, FILE *f) { fprintf(f, ";Find %p\n", find); fprintf(f, ";\tqpending %08x partial %08x options %08x flags %08x\n", - find->query_pending, find->partial_result, - find->options, find->flags); + find->query_pending, find->partial_result, find->options, + find->flags); fprintf(f, ";\tname_bucket %d, name %p, event sender %p\n", find->name_bucket, find->adbname, find->event.ev_sender); @@ -3567,8 +3620,8 @@ dns_adb_dumpfind(dns_adbfind_t *find, FILE *f) { sa = &ai->sockaddr; switch (sa->type.sa.sa_family) { case AF_INET: - tmpp = inet_ntop(AF_INET, &sa->type.sin.sin_addr, - tmp, sizeof(tmp)); + tmpp = inet_ntop(AF_INET, &sa->type.sin.sin_addr, tmp, + sizeof(tmp)); break; case AF_INET6: tmpp = inet_ntop(AF_INET6, &sa->type.sin6.sin6_addr, @@ -3581,7 +3634,8 @@ dns_adb_dumpfind(dns_adbfind_t *find, FILE *f) { if (tmpp == NULL) tmpp = "BadAddress"; - fprintf(f, "\t\tentry %p, flags %08x" + fprintf(f, + "\t\tentry %p, flags %08x" " srtt %u addr %s\n", ai->entry, ai->flags, ai->srtt, tmpp); @@ -3592,7 +3646,8 @@ dns_adb_dumpfind(dns_adbfind_t *find, FILE *f) { } static void -print_dns_name(FILE *f, const dns_name_t *name) { +print_dns_name(FILE *f, const dns_name_t *name) +{ char buf[DNS_NAME_FORMATSIZE]; INSIST(f != NULL); @@ -3602,16 +3657,13 @@ print_dns_name(FILE *f, const dns_name_t *name) { } static void -print_namehook_list(FILE *f, const char *legend, - dns_adb_t *adb, dns_adbnamehooklist_t *list, - bool debug, isc_stdtime_t now) +print_namehook_list(FILE *f, const char *legend, dns_adb_t *adb, + dns_adbnamehooklist_t *list, bool debug, isc_stdtime_t now) { dns_adbnamehook_t *nh; - for (nh = ISC_LIST_HEAD(*list); - nh != NULL; - nh = ISC_LIST_NEXT(nh, plink)) - { + for (nh = ISC_LIST_HEAD(*list); nh != NULL; + nh = ISC_LIST_NEXT(nh, plink)) { if (debug) fprintf(f, ";\tHook(%s) %p\n", legend, nh); dump_entry(f, adb, nh->entry, debug, now); @@ -3619,13 +3671,14 @@ print_namehook_list(FILE *f, const char *legend, } static inline void -print_fetch(FILE *f, dns_adbfetch_t *ft, const char *type) { - fprintf(f, "\t\tFetch(%s): %p -> { fetch %p }\n", - type, ft, ft->fetch); +print_fetch(FILE *f, dns_adbfetch_t *ft, const char *type) +{ + fprintf(f, "\t\tFetch(%s): %p -> { fetch %p }\n", type, ft, ft->fetch); } static void -print_fetch_list(FILE *f, dns_adbname_t *n) { +print_fetch_list(FILE *f, dns_adbname_t *n) +{ if (NAME_FETCH_A(n)) print_fetch(f, n->fetch_a, "A"); if (NAME_FETCH_AAAA(n)) @@ -3633,7 +3686,8 @@ print_fetch_list(FILE *f, dns_adbname_t *n) { } static void -print_find_list(FILE *f, dns_adbname_t *name) { +print_find_list(FILE *f, dns_adbname_t *name) +{ dns_adbfind_t *find; find = ISC_LIST_HEAD(name->finds); @@ -3646,11 +3700,11 @@ print_find_list(FILE *f, dns_adbname_t *name) { static isc_result_t dbfind_name(dns_adbname_t *adbname, isc_stdtime_t now, dns_rdatatype_t rdtype) { - isc_result_t result; - dns_rdataset_t rdataset; - dns_adb_t *adb; + isc_result_t result; + dns_rdataset_t rdataset; + dns_adb_t * adb; dns_fixedname_t foundname; - dns_name_t *fname; + dns_name_t * fname; INSIST(DNS_ADBNAME_VALID(adbname)); adb = adbname->adb; @@ -3676,8 +3730,8 @@ dbfind_name(dns_adbname_t *adbname, isc_stdtime_t now, dns_rdatatype_t rdtype) result = dns_view_find(adb->view, &adbname->name, rdtype, now, NAME_GLUEOK(adbname) ? DNS_DBFIND_GLUEOK : 0, NAME_HINTOK(adbname), - ((adbname->flags & NAME_STARTATZONE) != 0), - NULL, NULL, fname, &rdataset, NULL); + ((adbname->flags & NAME_STARTATZONE) != 0), NULL, + NULL, fname, &rdataset, NULL); /* XXXVIX this switch statement is too sparse to gen a jump table. */ switch (result) { @@ -3739,11 +3793,12 @@ dbfind_name(dns_adbname_t *adbname, isc_stdtime_t now, dns_rdatatype_t rdtype) else adbname->fetch_err = FIND_ERR_NXRRSET; DP(NCACHE_LEVEL, - "adb name %p: Caching negative entry for A (ttl %u)", + "adb name %p: Caching negative entry for A (ttl %u)", adbname, rdataset.ttl); } else { DP(NCACHE_LEVEL, - "adb name %p: Caching negative entry for AAAA (ttl %u)", + "adb name %p: Caching negative entry for AAAA (ttl " + "%u)", adbname, rdataset.ttl); adbname->expire_v6 = rdataset.ttl + now; if (result == DNS_R_NCACHENXDOMAIN) @@ -3767,8 +3822,7 @@ dbfind_name(dns_adbname_t *adbname, isc_stdtime_t now, dns_rdatatype_t rdtype) &adbname->target); if (result == ISC_R_SUCCESS) { result = DNS_R_ALIAS; - DP(NCACHE_LEVEL, - "adb name %p: caching alias target", + DP(NCACHE_LEVEL, "adb name %p: caching alias target", adbname); adbname->expire_target = rdataset.ttl + now; } @@ -3786,17 +3840,18 @@ dbfind_name(dns_adbname_t *adbname, isc_stdtime_t now, dns_rdatatype_t rdtype) } static void -fetch_callback(isc_task_t *task, isc_event_t *ev) { +fetch_callback(isc_task_t *task, isc_event_t *ev) +{ dns_fetchevent_t *dev; - dns_adbname_t *name; - dns_adb_t *adb; - dns_adbfetch_t *fetch; - int bucket; - isc_eventtype_t ev_status; - isc_stdtime_t now; - isc_result_t result; - unsigned int address_type; - bool want_check_exit = false; + dns_adbname_t * name; + dns_adb_t * adb; + dns_adbfetch_t * fetch; + int bucket; + isc_eventtype_t ev_status; + isc_stdtime_t now; + isc_result_t result; + unsigned int address_type; + bool want_check_exit = false; UNUSED(task); @@ -3816,8 +3871,8 @@ fetch_callback(isc_task_t *task, isc_event_t *ev) { address_type = DNS_ADBFIND_INET; fetch = name->fetch_a; name->fetch_a = NULL; - } else if (NAME_FETCH_AAAA(name) - && (name->fetch_aaaa->fetch == dev->fetch)) { + } else if (NAME_FETCH_AAAA(name) && + (name->fetch_aaaa->fetch == dev->fetch)) { address_type = DNS_ADBFIND_INET6; fetch = name->fetch_aaaa; name->fetch_aaaa = NULL; @@ -3868,7 +3923,8 @@ fetch_callback(isc_task_t *task, isc_event_t *ev) { if (NCACHE_RESULT(dev->result)) { dev->rdataset->ttl = ttlclamp(dev->rdataset->ttl); if (address_type == DNS_ADBFIND_INET) { - DP(NCACHE_LEVEL, "adb fetch name %p: " + DP(NCACHE_LEVEL, + "adb fetch name %p: " "caching negative entry for A (ttl %u)", name, dev->rdataset->ttl); name->expire_v4 = ISC_MIN(name->expire_v4, @@ -3879,7 +3935,8 @@ fetch_callback(isc_task_t *task, isc_event_t *ev) { name->fetch_err = FIND_ERR_NXRRSET; inc_stats(adb, dns_resstatscounter_gluefetchv4fail); } else { - DP(NCACHE_LEVEL, "adb fetch name %p: " + DP(NCACHE_LEVEL, + "adb fetch name %p: " "caching negative entry for AAAA (ttl %u)", name, dev->rdataset->ttl); name->expire_v6 = ISC_MIN(name->expire_v6, @@ -3902,12 +3959,10 @@ fetch_callback(isc_task_t *task, isc_event_t *ev) { name->expire_target = INT_MAX; result = set_target(adb, &name->name, dns_fixedname_name(&dev->foundname), - dev->rdataset, - &name->target); + dev->rdataset, &name->target); if (result == ISC_R_SUCCESS) { DP(NCACHE_LEVEL, - "adb fetch name %p: caching alias target", - name); + "adb fetch name %p: caching alias target", name); name->expire_target = dev->rdataset->ttl + now; } goto check_result; @@ -3921,8 +3976,8 @@ fetch_callback(isc_task_t *task, isc_event_t *ev) { char buf[DNS_NAME_FORMATSIZE]; dns_name_format(&name->name, buf, sizeof(buf)); - DP(DEF_LEVEL, "adb: fetch of '%s' %s failed: %s", - buf, address_type == DNS_ADBFIND_INET ? "A" : "AAAA", + DP(DEF_LEVEL, "adb: fetch of '%s' %s failed: %s", buf, + address_type == DNS_ADBFIND_INET ? "A" : "AAAA", dns_result_totext(dev->result)); /* * Don't record a failure unless this is the initial @@ -3948,7 +4003,7 @@ fetch_callback(isc_task_t *task, isc_event_t *ev) { */ result = import_rdataset(name, &fetch->rdataset, now); - check_result: +check_result: if (result == ISC_R_SUCCESS) { ev_status = DNS_EVENT_ADBMOREADDRESSES; if (address_type == DNS_ADBFIND_INET) @@ -3957,7 +4012,7 @@ fetch_callback(isc_task_t *task, isc_event_t *ev) { name->fetch6_err = FIND_ERR_SUCCESS; } - out: +out: free_adbfetch(adb, &fetch); isc_event_free(&ev); @@ -3967,17 +4022,17 @@ fetch_callback(isc_task_t *task, isc_event_t *ev) { } static isc_result_t -fetch_name(dns_adbname_t *adbname, bool start_at_zone, - unsigned int depth, isc_counter_t *qc, dns_rdatatype_t type) +fetch_name(dns_adbname_t *adbname, bool start_at_zone, unsigned int depth, + isc_counter_t *qc, dns_rdatatype_t type) { - isc_result_t result; + isc_result_t result; dns_adbfetch_t *fetch = NULL; - dns_adb_t *adb; + dns_adb_t * adb; dns_fixedname_t fixed; - dns_name_t *name; - dns_rdataset_t rdataset; + dns_name_t * name; + dns_rdataset_t rdataset; dns_rdataset_t *nameservers; - unsigned int options; + unsigned int options; INSIST(DNS_ADBNAME_VALID(adbname)); adb = adbname->adb; @@ -3994,8 +4049,7 @@ fetch_name(dns_adbname_t *adbname, bool start_at_zone, options = DNS_FETCHOPT_NOVALIDATE; if (start_at_zone) { - DP(ENTER_LEVEL, - "fetch_name: starting at zone for name %p", + DP(ENTER_LEVEL, "fetch_name: starting at zone for name %p", adbname); name = dns_fixedname_initname(&fixed); result = dns_view_findzonecut(adb->view, &adbname->name, name, @@ -4021,15 +4075,12 @@ fetch_name(dns_adbname_t *adbname, bool start_at_zone, * createfetch to find deepest cached name when we're providing * domain and nameservers. */ - result = dns_resolver_createfetch(adb->view->resolver, &adbname->name, - type, name, nameservers, NULL, - NULL, 0, options, depth, qc, - adb->task, fetch_callback, adbname, - &fetch->rdataset, NULL, - &fetch->fetch); + result = dns_resolver_createfetch( + adb->view->resolver, &adbname->name, type, name, nameservers, + NULL, NULL, 0, options, depth, qc, adb->task, fetch_callback, + adbname, &fetch->rdataset, NULL, &fetch->fetch); if (result != ISC_R_SUCCESS) { - DP(ENTER_LEVEL, - "fetch_name: createfetch failed with %s", + DP(ENTER_LEVEL, "fetch_name: createfetch failed with %s", isc_result_totext(result)); goto cleanup; } @@ -4041,9 +4092,9 @@ fetch_name(dns_adbname_t *adbname, bool start_at_zone, adbname->fetch_aaaa = fetch; inc_stats(adb, dns_resstatscounter_gluefetchv6); } - fetch = NULL; /* Keep us from cleaning this up below. */ + fetch = NULL; /* Keep us from cleaning this up below. */ - cleanup: +cleanup: if (fetch != NULL) free_adbfetch(adb, &fetch); if (dns_rdataset_isassociated(&rdataset)) @@ -4062,8 +4113,8 @@ dns_adb_marklame(dns_adb_t *adb, dns_adbaddrinfo_t *addr, isc_stdtime_t expire_time) { dns_adblameinfo_t *li; - int bucket; - isc_result_t result = ISC_R_SUCCESS; + int bucket; + isc_result_t result = ISC_R_SUCCESS; REQUIRE(DNS_ADB_VALID(adb)); REQUIRE(DNS_ADBADDRINFO_VALID(addr)); @@ -4089,17 +4140,17 @@ dns_adb_marklame(dns_adb_t *adb, dns_adbaddrinfo_t *addr, li->lame_timer = expire_time; ISC_LIST_PREPEND(addr->entry->lameinfo, li, plink); - unlock: +unlock: UNLOCK(&adb->entrylocks[bucket]); return (result); } void -dns_adb_adjustsrtt(dns_adb_t *adb, dns_adbaddrinfo_t *addr, - unsigned int rtt, unsigned int factor) +dns_adb_adjustsrtt(dns_adb_t *adb, dns_adbaddrinfo_t *addr, unsigned int rtt, + unsigned int factor) { - int bucket; + int bucket; isc_stdtime_t now = 0; REQUIRE(DNS_ADB_VALID(adb)); @@ -4117,7 +4168,8 @@ dns_adb_adjustsrtt(dns_adb_t *adb, dns_adbaddrinfo_t *addr, } void -dns_adb_agesrtt(dns_adb_t *adb, dns_adbaddrinfo_t *addr, isc_stdtime_t now) { +dns_adb_agesrtt(dns_adb_t *adb, dns_adbaddrinfo_t *addr, isc_stdtime_t now) +{ int bucket; REQUIRE(DNS_ADB_VALID(adb)); @@ -4147,21 +4199,21 @@ adjustsrtt(dns_adbaddrinfo_t *addr, unsigned int rtt, unsigned int factor, } else new_srtt = addr->entry->srtt; } else - new_srtt = ((uint64_t)addr->entry->srtt / 10 * factor) - + ((uint64_t)rtt / 10 * (10 - factor)); + new_srtt = ((uint64_t)addr->entry->srtt / 10 * factor) + + ((uint64_t)rtt / 10 * (10 - factor)); - addr->entry->srtt = (unsigned int) new_srtt; - addr->srtt = (unsigned int) new_srtt; + addr->entry->srtt = (unsigned int)new_srtt; + addr->srtt = (unsigned int)new_srtt; if (addr->entry->expires == 0) addr->entry->expires = now + ADB_ENTRY_WINDOW; } void -dns_adb_changeflags(dns_adb_t *adb, dns_adbaddrinfo_t *addr, - unsigned int bits, unsigned int mask) +dns_adb_changeflags(dns_adb_t *adb, dns_adbaddrinfo_t *addr, unsigned int bits, + unsigned int mask) { - int bucket; + int bucket; isc_stdtime_t now; REQUIRE(DNS_ADB_VALID(adb)); @@ -4195,26 +4247,24 @@ dns_adb_changeflags(dns_adb_t *adb, dns_adbaddrinfo_t *addr, * These will be used to make quota adjustments. */ static int quota_adj[] = { - 10000, 8668, 7607, 6747, 6037, 5443, 4941, 4512, 4141, - 3818, 3536, 3286, 3065, 2867, 2690, 2530, 2385, 2254, - 2134, 2025, 1925, 1832, 1747, 1668, 1595, 1527, 1464, - 1405, 1350, 1298, 1250, 1205, 1162, 1121, 1083, 1048, - 1014, 981, 922, 894, 868, 843, 820, 797, 775, 755, - 735, 716, 698, 680, 664, 648, 632, 618, 603, 590, 577, - 564, 552, 540, 529, 518, 507, 497, 487, 477, 468, 459, - 450, 442, 434, 426, 418, 411, 404, 397, 390, 383, 377, - 370, 364, 358, 353, 347, 342, 336, 331, 326, 321, 316, - 312, 307, 303, 298, 294, 290, 286, 282, 278 + 10000, 8668, 7607, 6747, 6037, 5443, 4941, 4512, 4141, 3818, 3536, + 3286, 3065, 2867, 2690, 2530, 2385, 2254, 2134, 2025, 1925, 1832, + 1747, 1668, 1595, 1527, 1464, 1405, 1350, 1298, 1250, 1205, 1162, + 1121, 1083, 1048, 1014, 981, 922, 894, 868, 843, 820, 797, + 775, 755, 735, 716, 698, 680, 664, 648, 632, 618, 603, + 590, 577, 564, 552, 540, 529, 518, 507, 497, 487, 477, + 468, 459, 450, 442, 434, 426, 418, 411, 404, 397, 390, + 383, 377, 370, 364, 358, 353, 347, 342, 336, 331, 326, + 321, 316, 312, 307, 303, 298, 294, 290, 286, 282, 278 }; -#define QUOTA_ADJ_SIZE (sizeof(quota_adj)/sizeof(quota_adj[0])) +#define QUOTA_ADJ_SIZE (sizeof(quota_adj) / sizeof(quota_adj[0])) /* * Caller must hold adbentry lock */ static void -maybe_adjust_quota(dns_adb_t *adb, dns_adbaddrinfo_t *addr, - bool timeout) +maybe_adjust_quota(dns_adb_t *adb, dns_adbaddrinfo_t *addr, bool timeout) { double tr; @@ -4234,7 +4284,7 @@ maybe_adjust_quota(dns_adb_t *adb, dns_adbaddrinfo_t *addr, * * XXX: Integer arithmetic might be better than floating point */ - tr = (double) addr->entry->timeouts / addr->entry->completed; + tr = (double)addr->entry->timeouts / addr->entry->completed; addr->entry->timeouts = addr->entry->completed = 0; INSIST(addr->entry->atr >= 0.0); INSIST(addr->entry->atr <= 1.0); @@ -4249,27 +4299,26 @@ maybe_adjust_quota(dns_adb_t *adb, dns_adbaddrinfo_t *addr, adb->quota * quota_adj[--addr->entry->mode] / 10000; atomic_store_release(&addr->entry->quota, ISC_MIN(1, new_quota)); - log_quota(addr->entry, "atr %0.2f, quota increased to %" - PRIuFAST32, - addr->entry->atr, - new_quota); + log_quota(addr->entry, + "atr %0.2f, quota increased to %" PRIuFAST32, + addr->entry->atr, new_quota); } else if (addr->entry->atr > adb->atr_high && addr->entry->mode < (QUOTA_ADJ_SIZE - 1)) { uint_fast32_t new_quota = adb->quota * quota_adj[++addr->entry->mode] / 10000; atomic_store_release(&addr->entry->quota, ISC_MIN(1, new_quota)); - log_quota(addr->entry, "atr %0.2f, quota decreased to %" - PRIuFAST32, - addr->entry->atr, - new_quota); + log_quota(addr->entry, + "atr %0.2f, quota decreased to %" PRIuFAST32, + addr->entry->atr, new_quota); } } #define EDNSTOS 3U bool -dns_adb_noedns(dns_adb_t *adb, dns_adbaddrinfo_t *addr) { - int bucket; +dns_adb_noedns(dns_adb_t *adb, dns_adbaddrinfo_t *addr) +{ + int bucket; bool noedns = false; REQUIRE(DNS_ADB_VALID(adb)); @@ -4296,14 +4345,15 @@ dns_adb_noedns(dns_adb_t *adb, dns_adbaddrinfo_t *addr) { addr->entry->plain >>= 1; addr->entry->plainto >>= 1; } - } + } } UNLOCK(&adb->entrylocks[bucket]); return (noedns); } void -dns_adb_plainresponse(dns_adb_t *adb, dns_adbaddrinfo_t *addr) { +dns_adb_plainresponse(dns_adb_t *adb, dns_adbaddrinfo_t *addr) +{ int bucket; REQUIRE(DNS_ADB_VALID(adb)); @@ -4328,7 +4378,8 @@ dns_adb_plainresponse(dns_adb_t *adb, dns_adbaddrinfo_t *addr) { } void -dns_adb_timeout(dns_adb_t *adb, dns_adbaddrinfo_t *addr) { +dns_adb_timeout(dns_adb_t *adb, dns_adbaddrinfo_t *addr) +{ int bucket; REQUIRE(DNS_ADB_VALID(adb)); @@ -4365,7 +4416,8 @@ dns_adb_timeout(dns_adb_t *adb, dns_adbaddrinfo_t *addr) { } void -dns_adb_ednsto(dns_adb_t *adb, dns_adbaddrinfo_t *addr, unsigned int size) { +dns_adb_ednsto(dns_adb_t *adb, dns_adbaddrinfo_t *addr, unsigned int size) +{ int bucket; REQUIRE(DNS_ADB_VALID(adb)); @@ -4412,7 +4464,8 @@ dns_adb_ednsto(dns_adb_t *adb, dns_adbaddrinfo_t *addr, unsigned int size) { } void -dns_adb_setudpsize(dns_adb_t *adb, dns_adbaddrinfo_t *addr, unsigned int size) { +dns_adb_setudpsize(dns_adb_t *adb, dns_adbaddrinfo_t *addr, unsigned int size) +{ int bucket; REQUIRE(DNS_ADB_VALID(adb)); @@ -4441,8 +4494,9 @@ dns_adb_setudpsize(dns_adb_t *adb, dns_adbaddrinfo_t *addr, unsigned int size) { } unsigned int -dns_adb_getudpsize(dns_adb_t *adb, dns_adbaddrinfo_t *addr) { - int bucket; +dns_adb_getudpsize(dns_adb_t *adb, dns_adbaddrinfo_t *addr) +{ + int bucket; unsigned int size; REQUIRE(DNS_ADB_VALID(adb)); @@ -4457,8 +4511,9 @@ dns_adb_getudpsize(dns_adb_t *adb, dns_adbaddrinfo_t *addr) { } unsigned int -dns_adb_probesize(dns_adb_t *adb, dns_adbaddrinfo_t *addr, int lookups) { - int bucket; +dns_adb_probesize(dns_adb_t *adb, dns_adbaddrinfo_t *addr, int lookups) +{ + int bucket; unsigned int size; REQUIRE(DNS_ADB_VALID(adb)); @@ -4478,8 +4533,8 @@ dns_adb_probesize(dns_adb_t *adb, dns_adbaddrinfo_t *addr, int lookups) { * Don't shrink probe size below what we have seen due to multiple * lookups. */ - if (lookups > 0 && - size < addr->entry->udpsize && addr->entry->udpsize < 4096) + if (lookups > 0 && size < addr->entry->udpsize && + addr->entry->udpsize < 4096) size = addr->entry->udpsize; UNLOCK(&adb->entrylocks[bucket]); @@ -4528,8 +4583,7 @@ dns_adb_getcookie(dns_adb_t *adb, dns_adbaddrinfo_t *addr, bucket = addr->entry->lock_bucket; LOCK(&adb->entrylocks[bucket]); if (cookie != NULL && addr->entry->cookie != NULL && - len >= addr->entry->cookielen) - { + len >= addr->entry->cookielen) { memmove(cookie, addr->entry->cookie, addr->entry->cookielen); len = addr->entry->cookielen; } else @@ -4543,11 +4597,11 @@ isc_result_t dns_adb_findaddrinfo(dns_adb_t *adb, const isc_sockaddr_t *sa, dns_adbaddrinfo_t **addrp, isc_stdtime_t now) { - int bucket; - dns_adbentry_t *entry; + int bucket; + dns_adbentry_t * entry; dns_adbaddrinfo_t *addr; - isc_result_t result; - in_port_t port; + isc_result_t result; + in_port_t port; REQUIRE(DNS_ADB_VALID(adb)); REQUIRE(addrp != NULL && *addrp == NULL); @@ -4586,20 +4640,21 @@ dns_adb_findaddrinfo(dns_adb_t *adb, const isc_sockaddr_t *sa, *addrp = addr; } - unlock: +unlock: UNLOCK(&adb->entrylocks[bucket]); return (result); } void -dns_adb_freeaddrinfo(dns_adb_t *adb, dns_adbaddrinfo_t **addrp) { +dns_adb_freeaddrinfo(dns_adb_t *adb, dns_adbaddrinfo_t **addrp) +{ dns_adbaddrinfo_t *addr; - dns_adbentry_t *entry; - int bucket; - isc_stdtime_t now; - bool want_check_exit = false; - bool overmem; + dns_adbentry_t * entry; + int bucket; + isc_stdtime_t now; + bool want_check_exit = false; + bool overmem; REQUIRE(DNS_ADB_VALID(adb)); REQUIRE(addrp != NULL); @@ -4634,7 +4689,8 @@ dns_adb_freeaddrinfo(dns_adb_t *adb, dns_adbaddrinfo_t **addrp) { } void -dns_adb_flush(dns_adb_t *adb) { +dns_adb_flush(dns_adb_t *adb) +{ unsigned int i; INSIST(DNS_ADB_VALID(adb)); @@ -4657,10 +4713,11 @@ dns_adb_flush(dns_adb_t *adb) { } void -dns_adb_flushname(dns_adb_t *adb, const dns_name_t *name) { +dns_adb_flushname(dns_adb_t *adb, const dns_name_t *name) +{ dns_adbname_t *adbname; dns_adbname_t *nextname; - int bucket; + int bucket; REQUIRE(DNS_ADB_VALID(adb)); REQUIRE(name != NULL); @@ -4673,9 +4730,9 @@ dns_adb_flushname(dns_adb_t *adb, const dns_name_t *name) { nextname = ISC_LIST_NEXT(adbname, plink); if (!NAME_DEAD(adbname) && dns_name_equal(name, &adbname->name)) { - RUNTIME_CHECK(kill_name(&adbname, - DNS_EVENT_ADBCANCELED) == - false); + RUNTIME_CHECK( + kill_name(&adbname, DNS_EVENT_ADBCANCELED) == + false); } adbname = nextname; } @@ -4684,9 +4741,10 @@ dns_adb_flushname(dns_adb_t *adb, const dns_name_t *name) { } void -dns_adb_flushnames(dns_adb_t *adb, const dns_name_t *name) { +dns_adb_flushnames(dns_adb_t *adb, const dns_name_t *name) +{ dns_adbname_t *adbname, *nextname; - unsigned int i; + unsigned int i; REQUIRE(DNS_ADB_VALID(adb)); REQUIRE(name != NULL); @@ -4699,8 +4757,7 @@ dns_adb_flushnames(dns_adb_t *adb, const dns_name_t *name) { bool ret; nextname = ISC_LIST_NEXT(adbname, plink); if (!NAME_DEAD(adbname) && - dns_name_issubdomain(&adbname->name, name)) - { + dns_name_issubdomain(&adbname->name, name)) { ret = kill_name(&adbname, DNS_EVENT_ADBCANCELED); RUNTIME_CHECK(ret == false); @@ -4713,7 +4770,8 @@ dns_adb_flushnames(dns_adb_t *adb, const dns_name_t *name) { } static void -water(void *arg, int mark) { +water(void *arg, int mark) +{ /* * We're going to change the way to handle overmem condition: use * isc_mem_isovermem() instead of storing the state via this callback, @@ -4723,16 +4781,17 @@ water(void *arg, int mark) { */ dns_adb_t *adb = arg; - bool overmem = (mark == ISC_MEM_HIWATER); + bool overmem = (mark == ISC_MEM_HIWATER); REQUIRE(DNS_ADB_VALID(adb)); - DP(ISC_LOG_DEBUG(1), - "adb reached %s water mark", overmem ? "high" : "low"); + DP(ISC_LOG_DEBUG(1), "adb reached %s water mark", + overmem ? "high" : "low"); } void -dns_adb_setadbsize(dns_adb_t *adb, size_t size) { +dns_adb_setadbsize(dns_adb_t *adb, size_t size) +{ size_t hiwater, lowater; INSIST(DNS_ADB_VALID(adb)); @@ -4740,8 +4799,8 @@ dns_adb_setadbsize(dns_adb_t *adb, size_t size) { if (size != 0U && size < DNS_ADB_MINADBSIZE) size = DNS_ADB_MINADBSIZE; - hiwater = size - (size >> 3); /* Approximately 7/8ths. */ - lowater = size - (size >> 2); /* Approximately 3/4ths. */ + hiwater = size - (size >> 3); /* Approximately 7/8ths. */ + lowater = size - (size >> 2); /* Approximately 3/4ths. */ if (size == 0U || hiwater == 0U || lowater == 0U) isc_mem_setwater(adb->mctx, water, adb, 0, 0); @@ -4750,8 +4809,8 @@ dns_adb_setadbsize(dns_adb_t *adb, size_t size) { } void -dns_adb_setquota(dns_adb_t *adb, uint32_t quota, uint32_t freq, - double low, double high, double discount) +dns_adb_setquota(dns_adb_t *adb, uint32_t quota, uint32_t freq, double low, + double high, double discount) { REQUIRE(DNS_ADB_VALID(adb)); @@ -4763,7 +4822,8 @@ dns_adb_setquota(dns_adb_t *adb, uint32_t quota, uint32_t freq, } bool -dns_adbentry_overquota(dns_adbentry_t *entry) { +dns_adbentry_overquota(dns_adbentry_t *entry) +{ REQUIRE(DNS_ADBENTRY_VALID(entry)); uint_fast32_t quota = atomic_load_relaxed(&entry->quota); @@ -4773,7 +4833,8 @@ dns_adbentry_overquota(dns_adbentry_t *entry) { } void -dns_adb_beginudpfetch(dns_adb_t *adb, dns_adbaddrinfo_t *addr) { +dns_adb_beginudpfetch(dns_adb_t *adb, dns_adbaddrinfo_t *addr) +{ REQUIRE(DNS_ADB_VALID(adb)); REQUIRE(DNS_ADBADDRINFO_VALID(addr)); @@ -4781,7 +4842,8 @@ dns_adb_beginudpfetch(dns_adb_t *adb, dns_adbaddrinfo_t *addr) { } void -dns_adb_endudpfetch(dns_adb_t *adb, dns_adbaddrinfo_t *addr) { +dns_adb_endudpfetch(dns_adb_t *adb, dns_adbaddrinfo_t *addr) +{ REQUIRE(DNS_ADB_VALID(adb)); REQUIRE(DNS_ADBADDRINFO_VALID(addr)); diff --git a/lib/dns/badcache.c b/lib/dns/badcache.c index a2e76f2186..e18cf24e09 100644 --- a/lib/dns/badcache.c +++ b/lib/dns/badcache.c @@ -15,8 +15,8 @@ #include #include -#include #include +#include #include #include #include @@ -33,34 +33,35 @@ typedef struct dns_bcentry dns_bcentry_t; struct dns_badcache { - unsigned int magic; - isc_mutex_t lock; - isc_mem_t *mctx; + unsigned int magic; + isc_mutex_t lock; + isc_mem_t * mctx; - dns_bcentry_t **table; - unsigned int count; - unsigned int minsize; - unsigned int size; - unsigned int sweep; + dns_bcentry_t **table; + unsigned int count; + unsigned int minsize; + unsigned int size; + unsigned int sweep; }; -#define BADCACHE_MAGIC ISC_MAGIC('B', 'd', 'C', 'a') -#define VALID_BADCACHE(m) ISC_MAGIC_VALID(m, BADCACHE_MAGIC) +#define BADCACHE_MAGIC ISC_MAGIC('B', 'd', 'C', 'a') +#define VALID_BADCACHE(m) ISC_MAGIC_VALID(m, BADCACHE_MAGIC) struct dns_bcentry { - dns_bcentry_t * next; - dns_rdatatype_t type; - isc_time_t expire; - uint32_t flags; - unsigned int hashval; - dns_name_t name; + dns_bcentry_t * next; + dns_rdatatype_t type; + isc_time_t expire; + uint32_t flags; + unsigned int hashval; + dns_name_t name; }; static isc_result_t badcache_resize(dns_badcache_t *bc, isc_time_t *now, bool grow); isc_result_t -dns_badcache_init(isc_mem_t *mctx, unsigned int size, dns_badcache_t **bcp) { +dns_badcache_init(isc_mem_t *mctx, unsigned int size, dns_badcache_t **bcp) +{ dns_badcache_t *bc = NULL; REQUIRE(bcp != NULL && *bcp == NULL); @@ -86,7 +87,8 @@ dns_badcache_init(isc_mem_t *mctx, unsigned int size, dns_badcache_t **bcp) { } void -dns_badcache_destroy(dns_badcache_t **bcp) { +dns_badcache_destroy(dns_badcache_t **bcp) +{ dns_badcache_t *bc; REQUIRE(bcp != NULL && *bcp != NULL); @@ -102,9 +104,10 @@ dns_badcache_destroy(dns_badcache_t **bcp) { } static isc_result_t -badcache_resize(dns_badcache_t *bc, isc_time_t *now, bool grow) { +badcache_resize(dns_badcache_t *bc, isc_time_t *now, bool grow) +{ dns_bcentry_t **newtable, *bad, *next; - unsigned int newsize, i; + unsigned int newsize, i; if (grow) newsize = bc->size * 2 + 1; @@ -138,13 +141,13 @@ badcache_resize(dns_badcache_t *bc, isc_time_t *now, bool grow) { void dns_badcache_add(dns_badcache_t *bc, const dns_name_t *name, - dns_rdatatype_t type, bool update, - uint32_t flags, isc_time_t *expire) + dns_rdatatype_t type, bool update, uint32_t flags, + isc_time_t *expire) { - isc_result_t result; - unsigned int i, hashval; + isc_result_t result; + unsigned int i, hashval; dns_bcentry_t *bad, *prev, *next; - isc_time_t now; + isc_time_t now; REQUIRE(VALID_BADCACHE(bc)); REQUIRE(name != NULL); @@ -205,12 +208,11 @@ dns_badcache_add(dns_badcache_t *bc, const dns_name_t *name, bool dns_badcache_find(dns_badcache_t *bc, const dns_name_t *name, - dns_rdatatype_t type, uint32_t *flagp, - isc_time_t *now) + dns_rdatatype_t type, uint32_t *flagp, isc_time_t *now) { dns_bcentry_t *bad, *prev, *next; - bool answer = false; - unsigned int i; + bool answer = false; + unsigned int i; REQUIRE(VALID_BADCACHE(bc)); REQUIRE(name != NULL); @@ -246,8 +248,8 @@ dns_badcache_find(dns_badcache_t *bc, const dns_name_t *name, else bc->table[i] = bad->next; - isc_mem_put(bc->mctx, bad, sizeof(*bad) + - bad->name.length); + isc_mem_put(bc->mctx, bad, + sizeof(*bad) + bad->name.length); bc->count--; continue; } @@ -259,7 +261,7 @@ dns_badcache_find(dns_badcache_t *bc, const dns_name_t *name, } prev = bad; } - skip: +skip: /* * Slow sweep to clean out stale records. @@ -277,17 +279,18 @@ dns_badcache_find(dns_badcache_t *bc, const dns_name_t *name, } void -dns_badcache_flush(dns_badcache_t *bc) { +dns_badcache_flush(dns_badcache_t *bc) +{ dns_bcentry_t *entry, *next; - unsigned int i; + unsigned int i; REQUIRE(VALID_BADCACHE(bc)); for (i = 0; bc->count > 0 && i < bc->size; i++) { for (entry = bc->table[i]; entry != NULL; entry = next) { next = entry->next; - isc_mem_put(bc->mctx, entry, sizeof(*entry) + - entry->name.length); + isc_mem_put(bc->mctx, entry, + sizeof(*entry) + entry->name.length); bc->count--; } bc->table[i] = NULL; @@ -295,11 +298,12 @@ dns_badcache_flush(dns_badcache_t *bc) { } void -dns_badcache_flushname(dns_badcache_t *bc, const dns_name_t *name) { +dns_badcache_flushname(dns_badcache_t *bc, const dns_name_t *name) +{ dns_bcentry_t *bad, *prev, *next; - isc_result_t result; - isc_time_t now; - unsigned int i; + isc_result_t result; + isc_time_t now; + unsigned int i; REQUIRE(VALID_BADCACHE(bc)); REQUIRE(name != NULL); @@ -321,8 +325,8 @@ dns_badcache_flushname(dns_badcache_t *bc, const dns_name_t *name) { else prev->next = bad->next; - isc_mem_put(bc->mctx, bad, sizeof(*bad) + - bad->name.length); + isc_mem_put(bc->mctx, bad, + sizeof(*bad) + bad->name.length); bc->count--; } else prev = bad; @@ -332,12 +336,13 @@ dns_badcache_flushname(dns_badcache_t *bc, const dns_name_t *name) { } void -dns_badcache_flushtree(dns_badcache_t *bc, const dns_name_t *name) { +dns_badcache_flushtree(dns_badcache_t *bc, const dns_name_t *name) +{ dns_bcentry_t *bad, *prev, *next; - unsigned int i; - int n; - isc_time_t now; - isc_result_t result; + unsigned int i; + int n; + isc_time_t now; + isc_result_t result; REQUIRE(VALID_BADCACHE(bc)); REQUIRE(name != NULL); @@ -359,8 +364,8 @@ dns_badcache_flushtree(dns_badcache_t *bc, const dns_name_t *name) { else prev->next = bad->next; - isc_mem_put(bc->mctx, bad, sizeof(*bad) + - bad->name.length); + isc_mem_put(bc->mctx, bad, + sizeof(*bad) + bad->name.length); bc->count--; } else prev = bad; @@ -370,15 +375,15 @@ dns_badcache_flushtree(dns_badcache_t *bc, const dns_name_t *name) { UNLOCK(&bc->lock); } - void -dns_badcache_print(dns_badcache_t *bc, const char *cachename, FILE *fp) { - char namebuf[DNS_NAME_FORMATSIZE]; - char typebuf[DNS_RDATATYPE_FORMATSIZE]; +dns_badcache_print(dns_badcache_t *bc, const char *cachename, FILE *fp) +{ + char namebuf[DNS_NAME_FORMATSIZE]; + char typebuf[DNS_RDATATYPE_FORMATSIZE]; dns_bcentry_t *bad, *next, *prev; - isc_time_t now; - unsigned int i; - uint64_t t; + isc_time_t now; + unsigned int i; + uint64_t t; REQUIRE(VALID_BADCACHE(bc)); REQUIRE(cachename != NULL); @@ -398,8 +403,8 @@ dns_badcache_print(dns_badcache_t *bc, const char *cachename, FILE *fp) { else bc->table[i] = bad->next; - isc_mem_put(bc->mctx, bad, sizeof(*bad) + - bad->name.length); + isc_mem_put(bc->mctx, bad, + sizeof(*bad) + bad->name.length); bc->count--; continue; } @@ -409,7 +414,8 @@ dns_badcache_print(dns_badcache_t *bc, const char *cachename, FILE *fp) { sizeof(typebuf)); t = isc_time_microdiff(&bad->expire, &now); t /= 1000; - fprintf(fp, "; %s/%s [ttl " + fprintf(fp, + "; %s/%s [ttl " "%" PRIu64 "]\n", namebuf, typebuf, t); } diff --git a/lib/dns/byaddr.c b/lib/dns/byaddr.c index a1e83bda4d..c940b5f806 100644 --- a/lib/dns/byaddr.c +++ b/lib/dns/byaddr.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -17,7 +16,7 @@ #include #include #include -#include /* Required for HP/UX (and others?) */ +#include /* Required for HP/UX (and others?) */ #include #include @@ -36,21 +35,19 @@ * XXXRTH We could use a static event... */ -static char hex_digits[] = { - '0', '1', '2', '3', '4', '5', '6', '7', - '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' -}; +static char hex_digits[] = { '0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; isc_result_t dns_byaddr_createptrname(const isc_netaddr_t *address, unsigned int options, dns_name_t *name) { - char textname[128]; + char textname[128]; const unsigned char *bytes; - int i; - char *cp; - isc_buffer_t buffer; - unsigned int len; + int i; + char * cp; + isc_buffer_t buffer; + unsigned int len; REQUIRE(address != NULL); UNUSED(options); @@ -92,28 +89,29 @@ dns_byaddr_createptrname(const isc_netaddr_t *address, unsigned int options, struct dns_byaddr { /* Unlocked. */ - unsigned int magic; - isc_mem_t * mctx; - isc_mutex_t lock; - dns_fixedname_t name; + unsigned int magic; + isc_mem_t * mctx; + isc_mutex_t lock; + dns_fixedname_t name; /* Locked by lock. */ - unsigned int options; - dns_lookup_t * lookup; - isc_task_t * task; - dns_byaddrevent_t * event; - bool canceled; + unsigned int options; + dns_lookup_t * lookup; + isc_task_t * task; + dns_byaddrevent_t *event; + bool canceled; }; -#define BYADDR_MAGIC ISC_MAGIC('B', 'y', 'A', 'd') -#define VALID_BYADDR(b) ISC_MAGIC_VALID(b, BYADDR_MAGIC) +#define BYADDR_MAGIC ISC_MAGIC('B', 'y', 'A', 'd') +#define VALID_BYADDR(b) ISC_MAGIC_VALID(b, BYADDR_MAGIC) #define MAX_RESTARTS 16 static inline isc_result_t -copy_ptr_targets(dns_byaddr_t *byaddr, dns_rdataset_t *rdataset) { +copy_ptr_targets(dns_byaddr_t *byaddr, dns_rdataset_t *rdataset) +{ isc_result_t result; - dns_name_t *name; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_name_t * name; + dns_rdata_t rdata = DNS_RDATA_INIT; /* * The caller must be holding the byaddr's lock. @@ -141,10 +139,11 @@ copy_ptr_targets(dns_byaddr_t *byaddr, dns_rdataset_t *rdataset) { } static void -lookup_done(isc_task_t *task, isc_event_t *event) { - dns_byaddr_t *byaddr = event->ev_arg; +lookup_done(isc_task_t *task, isc_event_t *event) +{ + dns_byaddr_t * byaddr = event->ev_arg; dns_lookupevent_t *levent; - isc_result_t result; + isc_result_t result; REQUIRE(event->ev_type == DNS_EVENT_LOOKUPDONE); REQUIRE(VALID_BYADDR(byaddr)); @@ -164,17 +163,17 @@ lookup_done(isc_task_t *task, isc_event_t *event) { } static void -bevent_destroy(isc_event_t *event) { +bevent_destroy(isc_event_t *event) +{ dns_byaddrevent_t *bevent; - dns_name_t *name, *next_name; - isc_mem_t *mctx; + dns_name_t * name, *next_name; + isc_mem_t * mctx; REQUIRE(event->ev_type == DNS_EVENT_BYADDRDONE); mctx = event->ev_destroy_arg; bevent = (dns_byaddrevent_t *)event; - for (name = ISC_LIST_HEAD(bevent->names); - name != NULL; + for (name = ISC_LIST_HEAD(bevent->names); name != NULL; name = next_name) { next_name = ISC_LIST_NEXT(name, link); ISC_LIST_UNLINK(bevent->names, name, link); @@ -189,9 +188,9 @@ dns_byaddr_create(isc_mem_t *mctx, const isc_netaddr_t *address, dns_view_t *view, unsigned int options, isc_task_t *task, isc_taskaction_t action, void *arg, dns_byaddr_t **byaddrp) { - isc_result_t result; + isc_result_t result; dns_byaddr_t *byaddr; - isc_event_t *ievent; + isc_event_t * ievent; byaddr = isc_mem_get(mctx, sizeof(*byaddr)); byaddr->mctx = NULL; @@ -231,7 +230,7 @@ dns_byaddr_create(isc_mem_t *mctx, const isc_netaddr_t *address, return (ISC_R_SUCCESS); - cleanup_lock: +cleanup_lock: isc_mutex_destroy(&byaddr->lock); ievent = (isc_event_t *)byaddr->event; @@ -246,7 +245,8 @@ dns_byaddr_create(isc_mem_t *mctx, const isc_netaddr_t *address, } void -dns_byaddr_cancel(dns_byaddr_t *byaddr) { +dns_byaddr_cancel(dns_byaddr_t *byaddr) +{ REQUIRE(VALID_BYADDR(byaddr)); LOCK(&byaddr->lock); @@ -261,7 +261,8 @@ dns_byaddr_cancel(dns_byaddr_t *byaddr) { } void -dns_byaddr_destroy(dns_byaddr_t **byaddrp) { +dns_byaddr_destroy(dns_byaddr_t **byaddrp) +{ dns_byaddr_t *byaddr; REQUIRE(byaddrp != NULL); diff --git a/lib/dns/cache.c b/lib/dns/cache.c index 75ac923f7c..a993f1d8a3 100644 --- a/lib/dns/cache.c +++ b/lib/dns/cache.c @@ -9,18 +9,16 @@ * information regarding copyright ownership. */ - /*! \file */ -#include #include #include #include #include #include -#include #include +#include #include #include #include @@ -50,21 +48,21 @@ #include "rbtdb.h" -#define CACHE_MAGIC ISC_MAGIC('$', '$', '$', '$') -#define VALID_CACHE(cache) ISC_MAGIC_VALID(cache, CACHE_MAGIC) +#define CACHE_MAGIC ISC_MAGIC('$', '$', '$', '$') +#define VALID_CACHE(cache) ISC_MAGIC_VALID(cache, CACHE_MAGIC) /*! * Control incremental cleaning. - * DNS_CACHE_MINSIZE is how many bytes is the floor for dns_cache_setcachesize(). - * See also DNS_CACHE_CLEANERINCREMENT + * DNS_CACHE_MINSIZE is how many bytes is the floor for + * dns_cache_setcachesize(). See also DNS_CACHE_CLEANERINCREMENT */ -#define DNS_CACHE_MINSIZE 2097152U /*%< Bytes. 2097152 = 2 MB */ +#define DNS_CACHE_MINSIZE 2097152U /*%< Bytes. 2097152 = 2 MB */ /*! * Control incremental cleaning. * CLEANERINCREMENT is how many nodes are examined in one pass. * See also DNS_CACHE_MINSIZE */ -#define DNS_CACHE_CLEANERINCREMENT 1000U /*%< Number of nodes. */ +#define DNS_CACHE_CLEANERINCREMENT 1000U /*%< Number of nodes. */ /*** *** Types @@ -78,26 +76,26 @@ typedef struct cache_cleaner cache_cleaner_t; typedef enum { - cleaner_s_idle, /*%< Waiting for cleaning-interval to expire. */ - cleaner_s_busy, /*%< Currently cleaning. */ + cleaner_s_idle, /*%< Waiting for cleaning-interval to expire. */ + cleaner_s_busy, /*%< Currently cleaning. */ cleaner_s_done /*%< Freed enough memory after being overmem. */ } cleaner_state_t; /* * Convenience macros for comprehensive assertion checking. */ -#define CLEANER_IDLE(c) ((c)->state == cleaner_s_idle && \ - (c)->resched_event != NULL) -#define CLEANER_BUSY(c) ((c)->state == cleaner_s_busy && \ - (c)->iterator != NULL && \ - (c)->resched_event == NULL) +#define CLEANER_IDLE(c) \ + ((c)->state == cleaner_s_idle && (c)->resched_event != NULL) +#define CLEANER_BUSY(c) \ + ((c)->state == cleaner_s_busy && (c)->iterator != NULL && \ + (c)->resched_event == NULL) /*% * Accesses to a cache cleaner object are synchronized through * task/event serialization, or locked from the cache object. */ struct cache_cleaner { - isc_mutex_t lock; + isc_mutex_t lock; /*%< * Locks overmem_event, overmem. Note: never allocate memory * while holding this lock - that could lead to deadlock since @@ -105,18 +103,18 @@ struct cache_cleaner { * allocator. */ - dns_cache_t *cache; - isc_task_t *task; - isc_event_t *resched_event; /*% Sent by cleaner task to - itself to reschedule */ - isc_event_t *overmem_event; + dns_cache_t *cache; + isc_task_t * task; + isc_event_t *resched_event; /*% Sent by cleaner task to + itself to reschedule */ + isc_event_t *overmem_event; dns_dbiterator_t *iterator; - unsigned int increment; /*% Number of names to - clean in one increment */ - cleaner_state_t state; /*% Idle/Busy. */ - bool overmem; /*% The cache is in an overmem state. */ - bool replaceiterator; + unsigned int increment; /*% Number of names to + clean in one increment */ + cleaner_state_t state; /*% Idle/Busy. */ + bool overmem; /*% The cache is in an overmem state. */ + bool replaceiterator; }; /*% @@ -125,28 +123,28 @@ struct cache_cleaner { struct dns_cache { /* Unlocked. */ - unsigned int magic; - isc_mutex_t lock; - isc_mutex_t filelock; - isc_mem_t *mctx; /* Main cache memory */ - isc_mem_t *hmctx; /* Heap memory */ - char *name; - isc_refcount_t references; - isc_refcount_t live_tasks; + unsigned int magic; + isc_mutex_t lock; + isc_mutex_t filelock; + isc_mem_t * mctx; /* Main cache memory */ + isc_mem_t * hmctx; /* Heap memory */ + char * name; + isc_refcount_t references; + isc_refcount_t live_tasks; /* Locked by 'lock'. */ - dns_rdataclass_t rdclass; - dns_db_t *db; - cache_cleaner_t cleaner; - char *db_type; - int db_argc; - char **db_argv; - size_t size; - dns_ttl_t serve_stale_ttl; - isc_stats_t *stats; + dns_rdataclass_t rdclass; + dns_db_t * db; + cache_cleaner_t cleaner; + char * db_type; + int db_argc; + char ** db_argv; + size_t size; + dns_ttl_t serve_stale_ttl; + isc_stats_t * stats; /* Locked by 'filelock'. */ - char *filename; + char *filename; /* Access to the on-disk cache file is also locked by 'filelock'. */ }; @@ -168,11 +166,12 @@ static void overmem_cleaning_action(isc_task_t *task, isc_event_t *event); static inline isc_result_t -cache_create_db(dns_cache_t *cache, dns_db_t **db) { +cache_create_db(dns_cache_t *cache, dns_db_t **db) +{ isc_result_t result; result = dns_db_create(cache->mctx, cache->db_type, dns_rootname, - dns_dbtype_cache, cache->rdclass, - cache->db_argc, cache->db_argv, db); + dns_dbtype_cache, cache->rdclass, cache->db_argc, + cache->db_argv, db); if (result == ISC_R_SUCCESS) dns_db_setservestalettl(*db, cache->serve_stale_ttl); return (result); @@ -186,8 +185,8 @@ dns_cache_create(isc_mem_t *cmctx, isc_mem_t *hmctx, isc_taskmgr_t *taskmgr, { isc_result_t result; dns_cache_t *cache; - int i, extra = 0; - isc_task_t *dbtask; + int i, extra = 0; + isc_task_t * dbtask; REQUIRE(cachep != NULL); REQUIRE(*cachep == NULL); @@ -234,16 +233,16 @@ dns_cache_create(isc_mem_t *cmctx, isc_mem_t *hmctx, isc_taskmgr_t *taskmgr, cache->db_argv = NULL; if (cache->db_argc != 0) { - cache->db_argv = isc_mem_get(cmctx, - cache->db_argc * sizeof(char *)); + cache->db_argv = + isc_mem_get(cmctx, cache->db_argc * sizeof(char *)); for (i = 0; i < cache->db_argc; i++) cache->db_argv[i] = NULL; - cache->db_argv[0] = (char *) hmctx; + cache->db_argv[0] = (char *)hmctx; for (i = extra; i < cache->db_argc; i++) { - cache->db_argv[i] = isc_mem_strdup(cmctx, - db_argv[i - extra]); + cache->db_argv[i] = + isc_mem_strdup(cmctx, db_argv[i - extra]); } } @@ -286,7 +285,6 @@ dns_cache_create(isc_mem_t *cmctx, isc_mem_t *hmctx, isc_taskmgr_t *taskmgr, if (result != ISC_R_SUCCESS) goto cleanup_db; - *cachep = cache; return (ISC_R_SUCCESS); @@ -313,7 +311,8 @@ cleanup_filelock: } static void -cache_free(dns_cache_t *cache) { +cache_free(dns_cache_t *cache) +{ REQUIRE(VALID_CACHE(cache)); isc_refcount_destroy(&cache->references); @@ -386,10 +385,9 @@ cache_free(dns_cache_t *cache) { isc_mem_putanddetach(&cache->mctx, cache, sizeof(*cache)); } - void -dns_cache_attach(dns_cache_t *cache, dns_cache_t **targetp) { - +dns_cache_attach(dns_cache_t *cache, dns_cache_t **targetp) +{ REQUIRE(VALID_CACHE(cache)); REQUIRE(targetp != NULL && *targetp == NULL); @@ -399,7 +397,8 @@ dns_cache_attach(dns_cache_t *cache, dns_cache_t **targetp) { } void -dns_cache_detach(dns_cache_t **cachep) { +dns_cache_detach(dns_cache_t **cachep) +{ dns_cache_t *cache; REQUIRE(cachep != NULL); @@ -433,7 +432,8 @@ dns_cache_detach(dns_cache_t **cachep) { } void -dns_cache_attachdb(dns_cache_t *cache, dns_db_t **dbp) { +dns_cache_attachdb(dns_cache_t *cache, dns_db_t **dbp) +{ REQUIRE(VALID_CACHE(cache)); REQUIRE(dbp != NULL && *dbp == NULL); REQUIRE(cache->db != NULL); @@ -441,11 +441,11 @@ dns_cache_attachdb(dns_cache_t *cache, dns_db_t **dbp) { LOCK(&cache->lock); dns_db_attach(cache->db, dbp); UNLOCK(&cache->lock); - } isc_result_t -dns_cache_setfilename(dns_cache_t *cache, const char *filename) { +dns_cache_setfilename(dns_cache_t *cache, const char *filename) +{ char *newname; REQUIRE(VALID_CACHE(cache)); @@ -463,7 +463,8 @@ dns_cache_setfilename(dns_cache_t *cache, const char *filename) { } isc_result_t -dns_cache_load(dns_cache_t *cache) { +dns_cache_load(dns_cache_t *cache) +{ isc_result_t result; REQUIRE(VALID_CACHE(cache)); @@ -472,15 +473,16 @@ dns_cache_load(dns_cache_t *cache) { return (ISC_R_SUCCESS); LOCK(&cache->filelock); - result = dns_db_load(cache->db, cache->filename, - dns_masterformat_text, 0); + result = dns_db_load(cache->db, cache->filename, dns_masterformat_text, + 0); UNLOCK(&cache->filelock); return (result); } isc_result_t -dns_cache_dump(dns_cache_t *cache) { +dns_cache_dump(dns_cache_t *cache) +{ isc_result_t result; REQUIRE(VALID_CACHE(cache)); @@ -494,11 +496,11 @@ dns_cache_dump(dns_cache_t *cache) { dns_masterformat_text, NULL); UNLOCK(&cache->filelock); return (result); - } const char * -dns_cache_getname(dns_cache_t *cache) { +dns_cache_getname(dns_cache_t *cache) +{ REQUIRE(VALID_CACHE(cache)); return (cache->name); @@ -556,22 +558,19 @@ cache_cleaner_init(dns_cache_t *cache, isc_taskmgr_t *taskmgr, goto cleanup; } - cleaner->resched_event = - isc_event_allocate(cache->mctx, cleaner, - DNS_EVENT_CACHECLEAN, - incremental_cleaning_action, - cleaner, sizeof(isc_event_t)); + cleaner->resched_event = isc_event_allocate( + cache->mctx, cleaner, DNS_EVENT_CACHECLEAN, + incremental_cleaning_action, cleaner, + sizeof(isc_event_t)); - cleaner->overmem_event = - isc_event_allocate(cache->mctx, cleaner, - DNS_EVENT_CACHEOVERMEM, - overmem_cleaning_action, - cleaner, sizeof(isc_event_t)); + cleaner->overmem_event = isc_event_allocate( + cache->mctx, cleaner, DNS_EVENT_CACHEOVERMEM, + overmem_cleaning_action, cleaner, sizeof(isc_event_t)); } return (ISC_R_SUCCESS); - cleanup: +cleanup: if (cleaner->overmem_event != NULL) isc_event_free(&cleaner->overmem_event); if (cleaner->resched_event != NULL) @@ -586,7 +585,8 @@ cache_cleaner_init(dns_cache_t *cache, isc_taskmgr_t *taskmgr, } static void -begin_cleaning(cache_cleaner_t *cleaner) { +begin_cleaning(cache_cleaner_t *cleaner) +{ isc_result_t result = ISC_R_SUCCESS; REQUIRE(CLEANER_IDLE(cleaner)); @@ -602,7 +602,8 @@ begin_cleaning(cache_cleaner_t *cleaner) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_CACHE, ISC_LOG_WARNING, "cache cleaner could not create " - "iterator: %s", isc_result_totext(result)); + "iterator: %s", + isc_result_totext(result)); else { dns_dbiterator_setcleanmode(cleaner->iterator, true); result = dns_dbiterator_first(cleaner->iterator); @@ -629,10 +630,10 @@ begin_cleaning(cache_cleaner_t *cleaner) { result = dns_dbiterator_pause(cleaner->iterator); RUNTIME_CHECK(result == ISC_R_SUCCESS); - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_CACHE, ISC_LOG_DEBUG(1), - "begin cache cleaning, mem inuse %lu", - (unsigned long)isc_mem_inuse(cleaner->cache->mctx)); + isc_log_write( + dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_CACHE, + ISC_LOG_DEBUG(1), "begin cache cleaning, mem inuse %lu", + (unsigned long)isc_mem_inuse(cleaner->cache->mctx)); cleaner->state = cleaner_s_busy; isc_task_send(cleaner->task, &cleaner->resched_event); } @@ -641,7 +642,8 @@ begin_cleaning(cache_cleaner_t *cleaner) { } static void -end_cleaning(cache_cleaner_t *cleaner, isc_event_t *event) { +end_cleaning(cache_cleaner_t *cleaner, isc_event_t *event) +{ isc_result_t result; REQUIRE(CLEANER_BUSY(cleaner)); @@ -664,9 +666,10 @@ end_cleaning(cache_cleaner_t *cleaner, isc_event_t *event) { * or shrinks beyond its lower limit. */ static void -overmem_cleaning_action(isc_task_t *task, isc_event_t *event) { +overmem_cleaning_action(isc_task_t *task, isc_event_t *event) +{ cache_cleaner_t *cleaner = event->ev_arg; - bool want_cleaning = false; + bool want_cleaning = false; UNUSED(task); @@ -675,9 +678,10 @@ overmem_cleaning_action(isc_task_t *task, isc_event_t *event) { INSIST(cleaner->overmem_event == NULL); isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_CACHE, - ISC_LOG_DEBUG(1), "overmem_cleaning_action called, " - "overmem = %d, state = %d", cleaner->overmem, - cleaner->state); + ISC_LOG_DEBUG(1), + "overmem_cleaning_action called, " + "overmem = %d, state = %d", + cleaner->overmem, cleaner->state); LOCK(&cleaner->lock); @@ -709,11 +713,12 @@ overmem_cleaning_action(isc_task_t *task, isc_event_t *event) { * Do incremental cleaning. */ static void -incremental_cleaning_action(isc_task_t *task, isc_event_t *event) { +incremental_cleaning_action(isc_task_t *task, isc_event_t *event) +{ cache_cleaner_t *cleaner = event->ev_arg; - isc_result_t result; - unsigned int n_names; - isc_time_t start; + isc_result_t result; + unsigned int n_names; + isc_time_t start; UNUSED(task); @@ -727,9 +732,8 @@ incremental_cleaning_action(isc_task_t *task, isc_event_t *event) { LOCK(&cleaner->lock); if (cleaner->replaceiterator) { dns_dbiterator_destroy(&cleaner->iterator); - (void) dns_db_createiterator(cleaner->cache->db, - false, - &cleaner->iterator); + (void)dns_db_createiterator(cleaner->cache->db, false, + &cleaner->iterator); cleaner->replaceiterator = false; } UNLOCK(&cleaner->lock); @@ -747,12 +751,13 @@ incremental_cleaning_action(isc_task_t *task, isc_event_t *event) { while (n_names-- > 0) { dns_dbnode_t *node = NULL; - result = dns_dbiterator_current(cleaner->iterator, &node, - NULL); + result = dns_dbiterator_current(cleaner->iterator, &node, NULL); if (result != ISC_R_SUCCESS) { UNEXPECTED_ERROR(__FILE__, __LINE__, - "cache cleaner: dns_dbiterator_current() " - "failed: %s", dns_result_totext(result)); + "cache cleaner: " + "dns_dbiterator_current() " + "failed: %s", + dns_result_totext(result)); end_cleaning(cleaner, event); return; @@ -783,8 +788,8 @@ incremental_cleaning_action(isc_task_t *task, isc_event_t *event) { "failed: %s", dns_result_totext(result)); else if (cleaner->overmem) { - result = dns_dbiterator_first(cleaner-> - iterator); + result = + dns_dbiterator_first(cleaner->iterator); if (result == ISC_R_SUCCESS) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, @@ -812,8 +817,10 @@ incremental_cleaning_action(isc_task_t *task, isc_event_t *event) { RUNTIME_CHECK(result == ISC_R_SUCCESS); isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_CACHE, - ISC_LOG_DEBUG(1), "cache cleaner: checked %u nodes, " - "mem inuse %lu, sleeping", cleaner->increment, + ISC_LOG_DEBUG(1), + "cache cleaner: checked %u nodes, " + "mem inuse %lu, sleeping", + cleaner->increment, (unsigned long)isc_mem_inuse(cleaner->cache->mctx)); isc_task_send(task, &event); @@ -825,8 +832,9 @@ incremental_cleaning_action(isc_task_t *task, isc_event_t *event) { * Do immediate cleaning. */ isc_result_t -dns_cache_clean(dns_cache_t *cache, isc_stdtime_t now) { - isc_result_t result; +dns_cache_clean(dns_cache_t *cache, isc_stdtime_t now) +{ + isc_result_t result; dns_dbiterator_t *iterator = NULL; REQUIRE(VALID_CACHE(cache)); @@ -875,9 +883,10 @@ dns_cache_clean(dns_cache_t *cache, isc_stdtime_t now) { } static void -water(void *arg, int mark) { +water(void *arg, int mark) +{ dns_cache_t *cache = arg; - bool overmem = (mark == ISC_MEM_HIWATER); + bool overmem = (mark == ISC_MEM_HIWATER); REQUIRE(VALID_CACHE(cache)); @@ -897,7 +906,8 @@ water(void *arg, int mark) { } void -dns_cache_setcachesize(dns_cache_t *cache, size_t size) { +dns_cache_setcachesize(dns_cache_t *cache, size_t size) +{ size_t hiwater, lowater; REQUIRE(VALID_CACHE(cache)); @@ -913,8 +923,8 @@ dns_cache_setcachesize(dns_cache_t *cache, size_t size) { cache->size = size; UNLOCK(&cache->lock); - hiwater = size - (size >> 3); /* Approximately 7/8ths. */ - lowater = size - (size >> 2); /* Approximately 3/4ths. */ + hiwater = size - (size >> 3); /* Approximately 7/8ths. */ + lowater = size - (size >> 2); /* Approximately 3/4ths. */ /* * If the cache was overmem and cleaning, but now with the new limits @@ -937,7 +947,8 @@ dns_cache_setcachesize(dns_cache_t *cache, size_t size) { } size_t -dns_cache_getcachesize(dns_cache_t *cache) { +dns_cache_getcachesize(dns_cache_t *cache) +{ size_t size; REQUIRE(VALID_CACHE(cache)); @@ -950,7 +961,8 @@ dns_cache_getcachesize(dns_cache_t *cache) { } void -dns_cache_setservestalettl(dns_cache_t *cache, dns_ttl_t ttl) { +dns_cache_setservestalettl(dns_cache_t *cache, dns_ttl_t ttl) +{ REQUIRE(VALID_CACHE(cache)); LOCK(&cache->lock); @@ -961,8 +973,9 @@ dns_cache_setservestalettl(dns_cache_t *cache, dns_ttl_t ttl) { } dns_ttl_t -dns_cache_getservestalettl(dns_cache_t *cache) { - dns_ttl_t ttl; +dns_cache_getservestalettl(dns_cache_t *cache) +{ + dns_ttl_t ttl; isc_result_t result; REQUIRE(VALID_CACHE(cache)); @@ -979,7 +992,8 @@ dns_cache_getservestalettl(dns_cache_t *cache) { * The cleaner task is shutting down; do the necessary cleanup. */ static void -cleaner_shutdown_action(isc_task_t *task, isc_event_t *event) { +cleaner_shutdown_action(isc_task_t *task, isc_event_t *event) +{ dns_cache_t *cache = event->ev_arg; UNUSED(task); @@ -1002,10 +1016,11 @@ cleaner_shutdown_action(isc_task_t *task, isc_event_t *event) { } isc_result_t -dns_cache_flush(dns_cache_t *cache) { - dns_db_t *db = NULL, *olddb; +dns_cache_flush(dns_cache_t *cache) +{ + dns_db_t * db = NULL, *olddb; dns_dbiterator_t *dbiterator = NULL, *olddbiterator = NULL; - isc_result_t result; + isc_result_t result; result = cache_create_db(cache, &db); if (result != ISC_R_SUCCESS) @@ -1044,24 +1059,23 @@ dns_cache_flush(dns_cache_t *cache) { } static isc_result_t -clearnode(dns_db_t *db, dns_dbnode_t *node) { - isc_result_t result; +clearnode(dns_db_t *db, dns_dbnode_t *node) +{ + isc_result_t result; dns_rdatasetiter_t *iter = NULL; result = dns_db_allrdatasets(db, node, NULL, (isc_stdtime_t)0, &iter); if (result != ISC_R_SUCCESS) return (result); - for (result = dns_rdatasetiter_first(iter); - result == ISC_R_SUCCESS; - result = dns_rdatasetiter_next(iter)) - { + for (result = dns_rdatasetiter_first(iter); result == ISC_R_SUCCESS; + result = dns_rdatasetiter_next(iter)) { dns_rdataset_t rdataset; dns_rdataset_init(&rdataset); dns_rdatasetiter_current(iter, &rdataset); - result = dns_db_deleterdataset(db, node, NULL, - rdataset.type, rdataset.covers); + result = dns_db_deleterdataset(db, node, NULL, rdataset.type, + rdataset.covers); dns_rdataset_disassociate(&rdataset); if (result != ISC_R_SUCCESS && result != DNS_R_UNCHANGED) break; @@ -1075,12 +1089,13 @@ clearnode(dns_db_t *db, dns_dbnode_t *node) { } static isc_result_t -cleartree(dns_db_t *db, const dns_name_t *name) { - isc_result_t result, answer = ISC_R_SUCCESS; +cleartree(dns_db_t *db, const dns_name_t *name) +{ + isc_result_t result, answer = ISC_R_SUCCESS; dns_dbiterator_t *iter = NULL; - dns_dbnode_t *node = NULL, *top = NULL; - dns_fixedname_t fnodename; - dns_name_t *nodename; + dns_dbnode_t * node = NULL, *top = NULL; + dns_fixedname_t fnodename; + dns_name_t * nodename; /* * Create the node if it doesn't exist so dns_dbiterator_seek() @@ -1109,7 +1124,7 @@ cleartree(dns_db_t *db, const dns_name_t *name) { /* * Are we done? */ - if (! dns_name_issubdomain(nodename, name)) + if (!dns_name_issubdomain(nodename, name)) goto cleanup; /* @@ -1122,7 +1137,7 @@ cleartree(dns_db_t *db, const dns_name_t *name) { result = dns_dbiterator_next(iter); } - cleanup: +cleanup: if (result == ISC_R_NOMORE || result == ISC_R_NOTFOUND) result = ISC_R_SUCCESS; if (result != ISC_R_SUCCESS && answer == ISC_R_SUCCESS) @@ -1138,17 +1153,17 @@ cleartree(dns_db_t *db, const dns_name_t *name) { } isc_result_t -dns_cache_flushname(dns_cache_t *cache, const dns_name_t *name) { +dns_cache_flushname(dns_cache_t *cache, const dns_name_t *name) +{ return (dns_cache_flushnode(cache, name, false)); } isc_result_t -dns_cache_flushnode(dns_cache_t *cache, const dns_name_t *name, - bool tree) +dns_cache_flushnode(dns_cache_t *cache, const dns_name_t *name, bool tree) { - isc_result_t result; + isc_result_t result; dns_dbnode_t *node = NULL; - dns_db_t *db = NULL; + dns_db_t * db = NULL; if (tree && dns_name_equal(name, dns_rootname)) return (dns_cache_flush(cache)); @@ -1174,19 +1189,21 @@ dns_cache_flushnode(dns_cache_t *cache, const dns_name_t *name, dns_db_detachnode(cache->db, &node); } - cleanup_db: +cleanup_db: dns_db_detach(&db); return (result); } isc_stats_t * -dns_cache_getstats(dns_cache_t *cache) { +dns_cache_getstats(dns_cache_t *cache) +{ REQUIRE(VALID_CACHE(cache)); return (cache->stats); } void -dns_cache_updatestats(dns_cache_t *cache, isc_result_t result) { +dns_cache_updatestats(dns_cache_t *cache, isc_result_t result) +{ REQUIRE(VALID_CACHE(cache)); if (cache->stats == NULL) return; @@ -1213,18 +1230,18 @@ dns_cache_updatestats(dns_cache_t *cache, isc_result_t result) { * We should refactor this into a generic function in stats.c that can be * called from both places. */ -typedef struct -cache_dumparg { - isc_statsformat_t type; - void *arg; /* type dependent argument */ - int ncounters; /* for general statistics */ - int *counterindices; /* for general statistics */ - uint64_t *countervalues; /* for general statistics */ - isc_result_t result; +typedef struct cache_dumparg { + isc_statsformat_t type; + void * arg; /* type dependent argument */ + int ncounters; /* for general statistics */ + int * counterindices; /* for general statistics */ + uint64_t * countervalues; /* for general statistics */ + isc_result_t result; } cache_dumparg_t; static void -getcounter(isc_statscounter_t counter, uint64_t val, void *arg) { +getcounter(isc_statscounter_t counter, uint64_t val, void *arg) +{ cache_dumparg_t *dumparg = arg; REQUIRE(counter < dumparg->ncounters); @@ -1248,8 +1265,9 @@ getcounters(isc_stats_t *stats, isc_statsformat_t type, int ncounters, } void -dns_cache_dumpstats(dns_cache_t *cache, FILE *fp) { - int indices[dns_cachestatscounter_max]; +dns_cache_dumpstats(dns_cache_t *cache, FILE *fp) +{ + int indices[dns_cachestatscounter_max]; uint64_t values[dns_cachestatscounter_max]; REQUIRE(VALID_CACHE(cache)); @@ -1257,11 +1275,9 @@ dns_cache_dumpstats(dns_cache_t *cache, FILE *fp) { getcounters(cache->stats, isc_statsformat_file, dns_cachestatscounter_max, indices, values); - fprintf(fp, "%20" PRIu64 " %s\n", - values[dns_cachestatscounter_hits], + fprintf(fp, "%20" PRIu64 " %s\n", values[dns_cachestatscounter_hits], "cache hits"); - fprintf(fp, "%20" PRIu64 " %s\n", - values[dns_cachestatscounter_misses], + fprintf(fp, "%20" PRIu64 " %s\n", values[dns_cachestatscounter_misses], "cache misses"); fprintf(fp, "%20" PRIu64 " %s\n", values[dns_cachestatscounter_queryhits], @@ -1277,43 +1293,42 @@ dns_cache_dumpstats(dns_cache_t *cache, FILE *fp) { "cache records deleted due to TTL expiration"); fprintf(fp, "%20u %s\n", dns_db_nodecount(cache->db), "cache database nodes"); - fprintf(fp, "%20" PRIu64 " %s\n", - (uint64_t) dns_db_hashsize(cache->db), + fprintf(fp, "%20" PRIu64 " %s\n", (uint64_t)dns_db_hashsize(cache->db), "cache database hash buckets"); - fprintf(fp, "%20" PRIu64 " %s\n", - (uint64_t) isc_mem_total(cache->mctx), + fprintf(fp, "%20" PRIu64 " %s\n", (uint64_t)isc_mem_total(cache->mctx), "cache tree memory total"); - fprintf(fp, "%20" PRIu64 " %s\n", - (uint64_t) isc_mem_inuse(cache->mctx), + fprintf(fp, "%20" PRIu64 " %s\n", (uint64_t)isc_mem_inuse(cache->mctx), "cache tree memory in use"); fprintf(fp, "%20" PRIu64 " %s\n", - (uint64_t) isc_mem_maxinuse(cache->mctx), + (uint64_t)isc_mem_maxinuse(cache->mctx), "cache tree highest memory in use"); - fprintf(fp, "%20" PRIu64 " %s\n", - (uint64_t) isc_mem_total(cache->hmctx), + fprintf(fp, "%20" PRIu64 " %s\n", (uint64_t)isc_mem_total(cache->hmctx), "cache heap memory total"); - fprintf(fp, "%20" PRIu64 " %s\n", - (uint64_t) isc_mem_inuse(cache->hmctx), + fprintf(fp, "%20" PRIu64 " %s\n", (uint64_t)isc_mem_inuse(cache->hmctx), "cache heap memory in use"); fprintf(fp, "%20" PRIu64 " %s\n", - (uint64_t) isc_mem_maxinuse(cache->hmctx), + (uint64_t)isc_mem_maxinuse(cache->hmctx), "cache heap highest memory in use"); } #ifdef HAVE_LIBXML2 -#define TRY0(a) do { xmlrc = (a); if (xmlrc < 0) goto error; } while(0) +#define TRY0(a) \ + do { \ + xmlrc = (a); \ + if (xmlrc < 0) \ + goto error; \ + } while (0) static int -renderstat(const char *name, uint64_t value, xmlTextWriterPtr writer) { +renderstat(const char *name, uint64_t value, xmlTextWriterPtr writer) +{ int xmlrc; TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "counter")); - TRY0(xmlTextWriterWriteAttribute(writer, - ISC_XMLCHAR "name", ISC_XMLCHAR name)); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64 "", - value)); + TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "name", + ISC_XMLCHAR name)); + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64 "", value)); TRY0(xmlTextWriterEndElement(writer)); /* counter */ error: @@ -1321,28 +1336,29 @@ error: } int -dns_cache_renderxml(dns_cache_t *cache, void *writer0) { - int indices[dns_cachestatscounter_max]; - uint64_t values[dns_cachestatscounter_max]; - int xmlrc; +dns_cache_renderxml(dns_cache_t *cache, void *writer0) +{ + int indices[dns_cachestatscounter_max]; + uint64_t values[dns_cachestatscounter_max]; + int xmlrc; xmlTextWriterPtr writer = (xmlTextWriterPtr)writer0; REQUIRE(VALID_CACHE(cache)); getcounters(cache->stats, isc_statsformat_file, dns_cachestatscounter_max, indices, values); - TRY0(renderstat("CacheHits", - values[dns_cachestatscounter_hits], writer)); - TRY0(renderstat("CacheMisses", - values[dns_cachestatscounter_misses], writer)); - TRY0(renderstat("QueryHits", - values[dns_cachestatscounter_queryhits], writer)); + TRY0(renderstat("CacheHits", values[dns_cachestatscounter_hits], + writer)); + TRY0(renderstat("CacheMisses", values[dns_cachestatscounter_misses], + writer)); + TRY0(renderstat("QueryHits", values[dns_cachestatscounter_queryhits], + writer)); TRY0(renderstat("QueryMisses", - values[dns_cachestatscounter_querymisses], writer)); - TRY0(renderstat("DeleteLRU", - values[dns_cachestatscounter_deletelru], writer)); - TRY0(renderstat("DeleteTTL", - values[dns_cachestatscounter_deletettl], writer)); + values[dns_cachestatscounter_querymisses], writer)); + TRY0(renderstat("DeleteLRU", values[dns_cachestatscounter_deletelru], + writer)); + TRY0(renderstat("DeleteTTL", values[dns_cachestatscounter_deletettl], + writer)); TRY0(renderstat("CacheNodes", dns_db_nodecount(cache->db), writer)); TRY0(renderstat("CacheBuckets", dns_db_hashsize(cache->db), writer)); @@ -1360,18 +1376,20 @@ error: #endif #ifdef HAVE_JSON_C -#define CHECKMEM(m) do { \ - if (m == NULL) { \ - result = ISC_R_NOMEMORY;\ - goto error;\ - } \ -} while(0) +#define CHECKMEM(m) \ + do { \ + if (m == NULL) { \ + result = ISC_R_NOMEMORY; \ + goto error; \ + } \ + } while (0) isc_result_t -dns_cache_renderjson(dns_cache_t *cache, void *cstats0) { +dns_cache_renderjson(dns_cache_t *cache, void *cstats0) +{ isc_result_t result = ISC_R_SUCCESS; - int indices[dns_cachestatscounter_max]; - uint64_t values[dns_cachestatscounter_max]; + int indices[dns_cachestatscounter_max]; + uint64_t values[dns_cachestatscounter_max]; json_object *obj; json_object *cstats = (json_object *)cstats0; diff --git a/lib/dns/callbacks.c b/lib/dns/callbacks.c index b0b2cf1702..8aa2c5d3e3 100644 --- a/lib/dns/callbacks.c +++ b/lib/dns/callbacks.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -20,23 +19,22 @@ static void stdio_error_warn_callback(dns_rdatacallbacks_t *, const char *, ...) - ISC_FORMAT_PRINTF(2, 3); + ISC_FORMAT_PRINTF(2, 3); static void isclog_error_callback(dns_rdatacallbacks_t *callbacks, const char *fmt, ...) - ISC_FORMAT_PRINTF(2, 3); + ISC_FORMAT_PRINTF(2, 3); static void isclog_warn_callback(dns_rdatacallbacks_t *callbacks, const char *fmt, ...) - ISC_FORMAT_PRINTF(2, 3); + ISC_FORMAT_PRINTF(2, 3); /* * Private */ static void -stdio_error_warn_callback(dns_rdatacallbacks_t *callbacks, - const char *fmt, ...) +stdio_error_warn_callback(dns_rdatacallbacks_t *callbacks, const char *fmt, ...) { va_list ap; @@ -49,7 +47,8 @@ stdio_error_warn_callback(dns_rdatacallbacks_t *callbacks, } static void -isclog_error_callback(dns_rdatacallbacks_t *callbacks, const char *fmt, ...) { +isclog_error_callback(dns_rdatacallbacks_t *callbacks, const char *fmt, ...) +{ va_list ap; UNUSED(callbacks); @@ -62,7 +61,8 @@ isclog_error_callback(dns_rdatacallbacks_t *callbacks, const char *fmt, ...) { } static void -isclog_warn_callback(dns_rdatacallbacks_t *callbacks, const char *fmt, ...) { +isclog_warn_callback(dns_rdatacallbacks_t *callbacks, const char *fmt, ...) +{ va_list ap; UNUSED(callbacks); @@ -76,7 +76,8 @@ isclog_warn_callback(dns_rdatacallbacks_t *callbacks, const char *fmt, ...) { } static void -dns_rdatacallbacks_initcommon(dns_rdatacallbacks_t *callbacks) { +dns_rdatacallbacks_initcommon(dns_rdatacallbacks_t *callbacks) +{ REQUIRE(callbacks != NULL); callbacks->magic = DNS_CALLBACK_MAGIC; @@ -93,16 +94,17 @@ dns_rdatacallbacks_initcommon(dns_rdatacallbacks_t *callbacks) { */ void -dns_rdatacallbacks_init(dns_rdatacallbacks_t *callbacks) { +dns_rdatacallbacks_init(dns_rdatacallbacks_t *callbacks) +{ dns_rdatacallbacks_initcommon(callbacks); callbacks->error = isclog_error_callback; callbacks->warn = isclog_warn_callback; } void -dns_rdatacallbacks_init_stdio(dns_rdatacallbacks_t *callbacks) { +dns_rdatacallbacks_init_stdio(dns_rdatacallbacks_t *callbacks) +{ dns_rdatacallbacks_initcommon(callbacks); callbacks->error = stdio_error_warn_callback; callbacks->warn = stdio_error_warn_callback; } - diff --git a/lib/dns/catz.c b/lib/dns/catz.c index 1c63cac051..f17c02f99a 100644 --- a/lib/dns/catz.c +++ b/lib/dns/catz.c @@ -42,42 +42,42 @@ * Single member zone in a catalog */ struct dns_catz_entry { - unsigned int magic; - dns_name_t name; - dns_catz_options_t opts; - isc_refcount_t refs; + unsigned int magic; + dns_name_t name; + dns_catz_options_t opts; + isc_refcount_t refs; }; /*% * Catalog zone */ struct dns_catz_zone { - unsigned int magic; - dns_name_t name; - dns_catz_zones_t *catzs; - dns_rdata_t soa; + unsigned int magic; + dns_name_t name; + dns_catz_zones_t *catzs; + dns_rdata_t soa; /* key in entries is 'mhash', not domain name! */ - isc_ht_t *entries; + isc_ht_t *entries; /* * defoptions are taken from named.conf * zoneoptions are global options from zone */ - dns_catz_options_t defoptions; - dns_catz_options_t zoneoptions; - isc_time_t lastupdated; - bool updatepending; - uint32_t version; + dns_catz_options_t defoptions; + dns_catz_options_t zoneoptions; + isc_time_t lastupdated; + bool updatepending; + uint32_t version; - dns_db_t *db; - dns_dbversion_t *dbversion; + dns_db_t * db; + dns_dbversion_t *dbversion; - isc_timer_t *updatetimer; - isc_event_t updateevent; + isc_timer_t *updatetimer; + isc_event_t updateevent; - bool active; - bool db_registered; + bool active; + bool db_registered; - isc_refcount_t refs; + isc_refcount_t refs; }; static isc_result_t @@ -91,21 +91,21 @@ catz_process_zones_suboption(dns_catz_zone_t *zone, dns_rdataset_t *value, * Collection of catalog zones for a view */ struct dns_catz_zones { - unsigned int magic; - isc_ht_t *zones; - isc_mem_t *mctx; - isc_refcount_t refs; - isc_mutex_t lock; - dns_catz_zonemodmethods_t *zmm; - isc_taskmgr_t *taskmgr; - isc_timermgr_t *timermgr; - dns_view_t *view; - isc_task_t *updater; + unsigned int magic; + isc_ht_t * zones; + isc_mem_t * mctx; + isc_refcount_t refs; + isc_mutex_t lock; + dns_catz_zonemodmethods_t *zmm; + isc_taskmgr_t * taskmgr; + isc_timermgr_t * timermgr; + dns_view_t * view; + isc_task_t * updater; }; void -dns_catz_options_init(dns_catz_options_t *options) { - +dns_catz_options_init(dns_catz_options_t *options) +{ REQUIRE(options != NULL); dns_ipkeylist_init(&options->masters); @@ -122,8 +122,8 @@ dns_catz_options_init(dns_catz_options_t *options) { } void -dns_catz_options_free(dns_catz_options_t *options, isc_mem_t *mctx) { - +dns_catz_options_free(dns_catz_options_t *options, isc_mem_t *mctx) +{ REQUIRE(options != NULL); REQUIRE(mctx != NULL); @@ -219,7 +219,8 @@ dns_catz_entry_new(isc_mem_t *mctx, const dns_name_t *domain, } dns_name_t * -dns_catz_entry_getname(dns_catz_entry_t *entry) { +dns_catz_entry_getname(dns_catz_entry_t *entry) +{ REQUIRE(DNS_CATZ_ENTRY_VALID(entry)); return (&entry->name); } @@ -228,7 +229,7 @@ isc_result_t dns_catz_entry_copy(dns_catz_zone_t *zone, const dns_catz_entry_t *entry, dns_catz_entry_t **nentryp) { - isc_result_t result; + isc_result_t result; dns_catz_entry_t *nentry = NULL; REQUIRE(DNS_CATZ_ZONE_VALID(zone)); @@ -249,7 +250,8 @@ dns_catz_entry_copy(dns_catz_zone_t *zone, const dns_catz_entry_t *entry, } void -dns_catz_entry_attach(dns_catz_entry_t *entry, dns_catz_entry_t **entryp) { +dns_catz_entry_attach(dns_catz_entry_t *entry, dns_catz_entry_t **entryp) +{ REQUIRE(DNS_CATZ_ENTRY_VALID(entry)); REQUIRE(entryp != NULL && *entryp == NULL); @@ -258,7 +260,8 @@ dns_catz_entry_attach(dns_catz_entry_t *entry, dns_catz_entry_t **entryp) { } void -dns_catz_entry_detach(dns_catz_zone_t *zone, dns_catz_entry_t **entryp) { +dns_catz_entry_detach(dns_catz_zone_t *zone, dns_catz_entry_t **entryp) +{ dns_catz_entry_t *entry; REQUIRE(DNS_CATZ_ZONE_VALID(zone)); @@ -279,7 +282,8 @@ dns_catz_entry_detach(dns_catz_zone_t *zone, dns_catz_entry_t **entryp) { } bool -dns_catz_entry_validate(const dns_catz_entry_t *entry) { +dns_catz_entry_validate(const dns_catz_entry_t *entry) +{ REQUIRE(DNS_CATZ_ENTRY_VALID(entry)); UNUSED(entry); @@ -287,7 +291,8 @@ dns_catz_entry_validate(const dns_catz_entry_t *entry) { } bool -dns_catz_entry_cmp(const dns_catz_entry_t *ea, const dns_catz_entry_t *eb) { +dns_catz_entry_cmp(const dns_catz_entry_t *ea, const dns_catz_entry_t *eb) +{ isc_region_t ra, rb; REQUIRE(DNS_CATZ_ENTRY_VALID(ea)); @@ -332,21 +337,24 @@ dns_catz_entry_cmp(const dns_catz_entry_t *ea, const dns_catz_entry_t *eb) { } dns_name_t * -dns_catz_zone_getname(dns_catz_zone_t *zone) { +dns_catz_zone_getname(dns_catz_zone_t *zone) +{ REQUIRE(DNS_CATZ_ZONE_VALID(zone)); return (&zone->name); } dns_catz_options_t * -dns_catz_zone_getdefoptions(dns_catz_zone_t *zone) { +dns_catz_zone_getdefoptions(dns_catz_zone_t *zone) +{ REQUIRE(DNS_CATZ_ZONE_VALID(zone)); return (&zone->defoptions); } void -dns_catz_zone_resetdefoptions(dns_catz_zone_t *zone) { +dns_catz_zone_resetdefoptions(dns_catz_zone_t *zone) +{ REQUIRE(DNS_CATZ_ZONE_VALID(zone)); dns_catz_options_free(&zone->defoptions, zone->catzs->mctx); @@ -354,14 +362,15 @@ dns_catz_zone_resetdefoptions(dns_catz_zone_t *zone) { } isc_result_t -dns_catz_zones_merge(dns_catz_zone_t *target, dns_catz_zone_t *newzone) { - isc_result_t result; - isc_ht_iter_t *iter1 = NULL, *iter2 = NULL; - isc_ht_iter_t *iteradd = NULL, *itermod = NULL; - isc_ht_t *toadd = NULL, *tomod = NULL; - bool delcur = false; - char czname[DNS_NAME_FORMATSIZE]; - char zname[DNS_NAME_FORMATSIZE]; +dns_catz_zones_merge(dns_catz_zone_t *target, dns_catz_zone_t *newzone) +{ + isc_result_t result; + isc_ht_iter_t * iter1 = NULL, *iter2 = NULL; + isc_ht_iter_t * iteradd = NULL, *itermod = NULL; + isc_ht_t * toadd = NULL, *tomod = NULL; + bool delcur = false; + char czname[DNS_NAME_FORMATSIZE]; + char zname[DNS_NAME_FORMATSIZE]; dns_catz_zoneop_fn_t addzone, modzone, delzone; REQUIRE(DNS_CATZ_ZONE_VALID(newzone)); @@ -415,18 +424,16 @@ dns_catz_zones_merge(dns_catz_zone_t *target, dns_catz_zone_t *newzone) { * First - walk the new zone and find all nodes that are not in the * old zone, or are in both zones and are modified. */ - for (result = isc_ht_iter_first(iter1); - result == ISC_R_SUCCESS; - result = delcur ? isc_ht_iter_delcurrent_next(iter1) : - isc_ht_iter_next(iter1)) - { + for (result = isc_ht_iter_first(iter1); result == ISC_R_SUCCESS; + result = delcur ? isc_ht_iter_delcurrent_next(iter1) + : isc_ht_iter_next(iter1)) { dns_catz_entry_t *nentry = NULL; dns_catz_entry_t *oentry = NULL; - unsigned char * key = NULL; - size_t keysize; + unsigned char * key = NULL; + size_t keysize; delcur = false; - isc_ht_iter_current(iter1, (void **) &nentry); + isc_ht_iter_current(iter1, (void **)&nentry); isc_ht_iter_currentkey(iter1, &key, &keysize); /* @@ -450,8 +457,8 @@ dns_catz_zones_merge(dns_catz_zone_t *target, dns_catz_zone_t *newzone) { &target->zoneoptions, &nentry->opts); - result = isc_ht_find(target->entries, key, - (uint32_t)keysize, (void **) &oentry); + result = isc_ht_find(target->entries, key, (uint32_t)keysize, + (void **)&oentry); if (result != ISC_R_SUCCESS) { result = isc_ht_add(toadd, key, (uint32_t)keysize, nentry); @@ -479,8 +486,7 @@ dns_catz_zones_merge(dns_catz_zone_t *target, dns_catz_zone_t *newzone) { isc_result_totext(result)); } dns_catz_entry_detach(target, &oentry); - result = isc_ht_delete(target->entries, key, - (uint32_t)keysize); + result = isc_ht_delete(target->entries, key, (uint32_t)keysize); RUNTIME_CHECK(result == ISC_R_SUCCESS); } RUNTIME_CHECK(result == ISC_R_NOMORE); @@ -489,17 +495,15 @@ dns_catz_zones_merge(dns_catz_zone_t *target, dns_catz_zone_t *newzone) { /* * Then - walk the old zone; only deleted entries should remain. */ - for (result = isc_ht_iter_first(iter2); - result == ISC_R_SUCCESS; - result = isc_ht_iter_delcurrent_next(iter2)) - { + for (result = isc_ht_iter_first(iter2); result == ISC_R_SUCCESS; + result = isc_ht_iter_delcurrent_next(iter2)) { dns_catz_entry_t *entry = NULL; - isc_ht_iter_current(iter2, (void **) &entry); + isc_ht_iter_current(iter2, (void **)&entry); dns_name_format(&entry->name, zname, DNS_NAME_FORMATSIZE); result = delzone(entry, target, target->catzs->view, - target->catzs->taskmgr, - target->catzs->zmm->udata); + target->catzs->taskmgr, + target->catzs->zmm->udata); isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTER, ISC_LOG_INFO, "catz: deleting zone '%s' from catalog '%s' - %s", @@ -512,12 +516,10 @@ dns_catz_zones_merge(dns_catz_zone_t *target, dns_catz_zone_t *newzone) { INSIST(isc_ht_count(target->entries) == 0); isc_ht_destroy(&target->entries); - for (result = isc_ht_iter_first(iteradd); - result == ISC_R_SUCCESS; - result = isc_ht_iter_delcurrent_next(iteradd)) - { + for (result = isc_ht_iter_first(iteradd); result == ISC_R_SUCCESS; + result = isc_ht_iter_delcurrent_next(iteradd)) { dns_catz_entry_t *entry = NULL; - isc_ht_iter_current(iteradd, (void **) &entry); + isc_ht_iter_current(iteradd, (void **)&entry); dns_name_format(&entry->name, zname, DNS_NAME_FORMATSIZE); result = addzone(entry, target, target->catzs->view, @@ -527,16 +529,13 @@ dns_catz_zones_merge(dns_catz_zone_t *target, dns_catz_zone_t *newzone) { DNS_LOGMODULE_MASTER, ISC_LOG_INFO, "catz: adding zone '%s' from catalog " "'%s' - %s", - zname, czname, - isc_result_totext(result)); + zname, czname, isc_result_totext(result)); } - for (result = isc_ht_iter_first(itermod); - result == ISC_R_SUCCESS; - result = isc_ht_iter_delcurrent_next(itermod)) - { + for (result = isc_ht_iter_first(itermod); result == ISC_R_SUCCESS; + result = isc_ht_iter_delcurrent_next(itermod)) { dns_catz_entry_t *entry = NULL; - isc_ht_iter_current(itermod, (void **) &entry); + isc_ht_iter_current(itermod, (void **)&entry); dns_name_format(&entry->name, zname, DNS_NAME_FORMATSIZE); result = modzone(entry, target, target->catzs->view, @@ -546,8 +545,7 @@ dns_catz_zones_merge(dns_catz_zone_t *target, dns_catz_zone_t *newzone) { DNS_LOGMODULE_MASTER, ISC_LOG_INFO, "catz: modifying zone '%s' from catalog " "'%s' - %s", - zname, czname, - isc_result_totext(result)); + zname, czname, isc_result_totext(result)); } target->entries = newzone->entries; @@ -577,7 +575,7 @@ dns_catz_new_zones(dns_catz_zones_t **catzsp, dns_catz_zonemodmethods_t *zmm, isc_timermgr_t *timermgr) { dns_catz_zones_t *new_zones; - isc_result_t result; + isc_result_t result; REQUIRE(catzsp != NULL && *catzsp == NULL); REQUIRE(zmm != NULL); @@ -606,9 +604,9 @@ dns_catz_new_zones(dns_catz_zones_t **catzsp, dns_catz_zonemodmethods_t *zmm, *catzsp = new_zones; return (ISC_R_SUCCESS); - cleanup_ht: +cleanup_ht: isc_ht_destroy(&new_zones->zones); - cleanup_refcount: +cleanup_refcount: isc_refcount_destroy(&new_zones->refs); isc_mutex_destroy(&new_zones->lock); isc_mem_put(mctx, new_zones, sizeof(*new_zones)); @@ -617,7 +615,8 @@ dns_catz_new_zones(dns_catz_zones_t **catzsp, dns_catz_zonemodmethods_t *zmm, } void -dns_catz_catzs_set_view(dns_catz_zones_t *catzs, dns_view_t *view) { +dns_catz_catzs_set_view(dns_catz_zones_t *catzs, dns_view_t *view) +{ REQUIRE(DNS_CATZ_ZONES_VALID(catzs)); REQUIRE(view != NULL); /* Either it's a new one or it's being reconfigured. */ @@ -630,7 +629,7 @@ isc_result_t dns_catz_new_zone(dns_catz_zones_t *catzs, dns_catz_zone_t **zonep, const dns_name_t *name) { - isc_result_t result; + isc_result_t result; dns_catz_zone_t *new_zone; REQUIRE(DNS_CATZ_ZONES_VALID(catzs)); @@ -649,10 +648,10 @@ dns_catz_new_zone(dns_catz_zones_t *catzs, dns_catz_zone_t **zonep, goto cleanup_name; new_zone->updatetimer = NULL; - result = isc_timer_create(catzs->timermgr, isc_timertype_inactive, - NULL, NULL, catzs->updater, - dns_catz_update_taskaction, - new_zone, &new_zone->updatetimer); + result = isc_timer_create(catzs->timermgr, isc_timertype_inactive, NULL, + NULL, catzs->updater, + dns_catz_update_taskaction, new_zone, + &new_zone->updatetimer); if (result != ISC_R_SUCCESS) goto cleanup_ht; @@ -673,9 +672,9 @@ dns_catz_new_zone(dns_catz_zones_t *catzs, dns_catz_zone_t **zonep, return (ISC_R_SUCCESS); - cleanup_ht: +cleanup_ht: isc_ht_destroy(&new_zone->entries); - cleanup_name: +cleanup_name: dns_name_free(&new_zone->name, catzs->mctx); isc_mem_put(catzs->mctx, new_zone, sizeof(*new_zone)); @@ -687,17 +686,16 @@ dns_catz_add_zone(dns_catz_zones_t *catzs, const dns_name_t *name, dns_catz_zone_t **zonep) { dns_catz_zone_t *new_zone = NULL; - isc_result_t result, tresult; - char zname[DNS_NAME_FORMATSIZE]; + isc_result_t result, tresult; + char zname[DNS_NAME_FORMATSIZE]; REQUIRE(DNS_CATZ_ZONES_VALID(catzs)); REQUIRE(ISC_MAGIC_VALID(name, DNS_NAME_MAGIC)); REQUIRE(zonep != NULL && *zonep == NULL); dns_name_format(name, zname, DNS_NAME_FORMATSIZE); - isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, - DNS_LOGMODULE_MASTER, ISC_LOG_DEBUG(3), - "catz: dns_catz_add_zone %s", zname); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTER, + ISC_LOG_DEBUG(3), "catz: dns_catz_add_zone %s", zname); LOCK(&catzs->lock); @@ -714,30 +712,31 @@ dns_catz_add_zone(dns_catz_zones_t *catzs, const dns_name_t *name, } if (result == ISC_R_EXISTS) { - tresult = isc_ht_find(catzs->zones, name->ndata, - name->length, (void **) &new_zone); + tresult = isc_ht_find(catzs->zones, name->ndata, name->length, + (void **)&new_zone); INSIST(tresult == ISC_R_SUCCESS && !new_zone->active); new_zone->active = true; } *zonep = new_zone; - cleanup: +cleanup: UNLOCK(&catzs->lock); return (result); } dns_catz_zone_t * -dns_catz_get_zone(dns_catz_zones_t *catzs, const dns_name_t *name) { - isc_result_t result; +dns_catz_get_zone(dns_catz_zones_t *catzs, const dns_name_t *name) +{ + isc_result_t result; dns_catz_zone_t *found = NULL; REQUIRE(DNS_CATZ_ZONES_VALID(catzs)); REQUIRE(ISC_MAGIC_VALID(name, DNS_NAME_MAGIC)); result = isc_ht_find(catzs->zones, name->ndata, name->length, - (void **) &found); + (void **)&found); if (result != ISC_R_SUCCESS) return (NULL); @@ -745,7 +744,8 @@ dns_catz_get_zone(dns_catz_zones_t *catzs, const dns_name_t *name) { } void -dns_catz_catzs_attach(dns_catz_zones_t *catzs, dns_catz_zones_t **catzsp) { +dns_catz_catzs_attach(dns_catz_zones_t *catzs, dns_catz_zones_t **catzsp) +{ REQUIRE(DNS_CATZ_ZONES_VALID(catzs)); REQUIRE(catzsp != NULL && *catzsp == NULL); @@ -754,7 +754,8 @@ dns_catz_catzs_attach(dns_catz_zones_t *catzs, dns_catz_zones_t **catzsp) { } void -dns_catz_zone_attach(dns_catz_zone_t *zone, dns_catz_zone_t **zonep) { +dns_catz_zone_attach(dns_catz_zone_t *zone, dns_catz_zone_t **zonep) +{ REQUIRE(zonep != NULL && *zonep == NULL); isc_refcount_increment(&zone->refs); @@ -762,7 +763,8 @@ dns_catz_zone_attach(dns_catz_zone_t *zone, dns_catz_zone_t **zonep) { } void -dns_catz_zone_detach(dns_catz_zone_t **zonep) { +dns_catz_zone_detach(dns_catz_zone_t **zonep) +{ REQUIRE(zonep != NULL && *zonep != NULL); dns_catz_zone_t *zone = *zonep; *zonep = NULL; @@ -772,16 +774,15 @@ dns_catz_zone_detach(dns_catz_zone_t **zonep) { isc_refcount_destroy(&zone->refs); if (zone->entries != NULL) { isc_ht_iter_t *iter = NULL; - isc_result_t result; + isc_result_t result; result = isc_ht_iter_create(zone->entries, &iter); INSIST(result == ISC_R_SUCCESS); for (result = isc_ht_iter_first(iter); result == ISC_R_SUCCESS; - result = isc_ht_iter_delcurrent_next(iter)) - { + result = isc_ht_iter_delcurrent_next(iter)) { dns_catz_entry_t *entry = NULL; - isc_ht_iter_current(iter, (void **) &entry); + isc_ht_iter_current(iter, (void **)&entry); dns_catz_entry_detach(zone, &entry); } INSIST(result == ISC_R_NOMORE); @@ -795,14 +796,11 @@ dns_catz_zone_detach(dns_catz_zone_t **zonep) { isc_timer_detach(&zone->updatetimer); if (zone->db_registered == true) { INSIST(dns_db_updatenotify_unregister( - zone->db, - dns_catz_dbupdate_callback, - zone->catzs) - == ISC_R_SUCCESS); + zone->db, dns_catz_dbupdate_callback, + zone->catzs) == ISC_R_SUCCESS); } if (zone->dbversion) - dns_db_closeversion(zone->db, &zone->dbversion, - false); + dns_db_closeversion(zone->db, &zone->dbversion, false); if (zone->db != NULL) dns_db_detach(&zone->db); @@ -816,7 +814,8 @@ dns_catz_zone_detach(dns_catz_zone_t **zonep) { } void -dns_catz_catzs_detach(dns_catz_zones_t **catzsp) { +dns_catz_catzs_detach(dns_catz_zones_t **catzsp) +{ dns_catz_zones_t *catzs; REQUIRE(catzsp != NULL && *catzsp != NULL); @@ -830,14 +829,13 @@ dns_catz_catzs_detach(dns_catz_zones_t **catzsp) { isc_mutex_destroy(&catzs->lock); if (catzs->zones != NULL) { isc_ht_iter_t *iter = NULL; - isc_result_t result; + isc_result_t result; result = isc_ht_iter_create(catzs->zones, &iter); INSIST(result == ISC_R_SUCCESS); for (result = isc_ht_iter_first(iter); - result == ISC_R_SUCCESS;) - { + result == ISC_R_SUCCESS;) { dns_catz_zone_t *zone = NULL; - isc_ht_iter_current(iter, (void **) &zone); + isc_ht_iter_current(iter, (void **)&zone); result = isc_ht_iter_delcurrent_next(iter); dns_catz_zone_detach(&zone); } @@ -861,7 +859,8 @@ typedef enum { } catz_opt_t; static bool -catz_opt_cmp(const dns_label_t *option, const char *opt) { +catz_opt_cmp(const dns_label_t *option, const char *opt) +{ unsigned int l = strlen(opt); if (option->length - 1 == l && memcmp(opt, option->base + 1, l - 1) == 0) @@ -871,7 +870,8 @@ catz_opt_cmp(const dns_label_t *option, const char *opt) { } static catz_opt_t -catz_get_option(const dns_label_t *option) { +catz_get_option(const dns_label_t *option) +{ if (catz_opt_cmp(option, "zones")) return (CATZ_OPT_ZONES); else if (catz_opt_cmp(option, "masters")) @@ -891,7 +891,7 @@ catz_process_zones(dns_catz_zone_t *zone, dns_rdataset_t *value, dns_name_t *name) { dns_label_t mhash; - dns_name_t opt; + dns_name_t opt; REQUIRE(DNS_CATZ_ZONE_VALID(zone)); REQUIRE(DNS_RDATASET_VALID(value)); @@ -903,14 +903,15 @@ catz_process_zones(dns_catz_zone_t *zone, dns_rdataset_t *value, if (name->labels == 0) return (ISC_R_FAILURE); - dns_name_getlabel(name, name->labels-1, &mhash); + dns_name_getlabel(name, name->labels - 1, &mhash); if (name->labels == 1) return (catz_process_zones_entry(zone, value, &mhash)); else { dns_name_init(&opt, NULL); dns_name_split(name, 1, &opt, NULL); - return (catz_process_zones_suboption(zone, value, &mhash, &opt)); + return (catz_process_zones_suboption(zone, value, &mhash, + &opt)); } } @@ -918,9 +919,9 @@ static isc_result_t catz_process_zones_entry(dns_catz_zone_t *zone, dns_rdataset_t *value, dns_label_t *mhash) { - isc_result_t result; - dns_rdata_t rdata; - dns_rdata_ptr_t ptr; + isc_result_t result; + dns_rdata_t rdata; + dns_rdata_ptr_t ptr; dns_catz_entry_t *entry = NULL; /* @@ -940,27 +941,26 @@ catz_process_zones_entry(dns_catz_zone_t *zone, dns_rdataset_t *value, result = dns_rdata_tostruct(&rdata, &ptr, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); - result = isc_ht_find(zone->entries, mhash->base, - mhash->length, (void **) &entry); + result = isc_ht_find(zone->entries, mhash->base, mhash->length, + (void **)&entry); if (result == ISC_R_SUCCESS) { if (dns_name_countlabels(&entry->name) != 0) { /* We have a duplicate. */ dns_rdata_freestruct(&ptr); return (ISC_R_FAILURE); } else { - dns_name_dup(&ptr.ptr, zone->catzs->mctx, - &entry->name); + dns_name_dup(&ptr.ptr, zone->catzs->mctx, &entry->name); } } else { - result = dns_catz_entry_new(zone->catzs->mctx, &ptr.ptr, - &entry); + result = + dns_catz_entry_new(zone->catzs->mctx, &ptr.ptr, &entry); if (result != ISC_R_SUCCESS) { dns_rdata_freestruct(&ptr); return (result); } - result = isc_ht_add(zone->entries, mhash->base, - mhash->length, entry); + result = isc_ht_add(zone->entries, mhash->base, mhash->length, + entry); if (result != ISC_R_SUCCESS) { dns_rdata_freestruct(&ptr); dns_catz_entry_detach(zone, &entry); @@ -974,13 +974,14 @@ catz_process_zones_entry(dns_catz_zone_t *zone, dns_rdataset_t *value, } static isc_result_t -catz_process_version(dns_catz_zone_t *zone, dns_rdataset_t *value) { - isc_result_t result; - dns_rdata_t rdata; - dns_rdata_txt_t rdatatxt; +catz_process_version(dns_catz_zone_t *zone, dns_rdataset_t *value) +{ + isc_result_t result; + dns_rdata_t rdata; + dns_rdata_txt_t rdatatxt; dns_rdata_txt_string_t rdatastr; - uint32_t tversion; - char t[16]; + uint32_t tversion; + char t[16]; REQUIRE(DNS_CATZ_ZONE_VALID(zone)); REQUIRE(DNS_RDATASET_VALID(value)); @@ -1034,18 +1035,18 @@ static isc_result_t catz_process_masters(dns_catz_zone_t *zone, dns_ipkeylist_t *ipkl, dns_rdataset_t *value, dns_name_t *name) { - isc_result_t result; - dns_rdata_t rdata; - dns_rdata_in_a_t rdata_a; - dns_rdata_in_aaaa_t rdata_aaaa; - dns_rdata_txt_t rdata_txt; + isc_result_t result; + dns_rdata_t rdata; + dns_rdata_in_a_t rdata_a; + dns_rdata_in_aaaa_t rdata_aaaa; + dns_rdata_txt_t rdata_txt; dns_rdata_txt_string_t rdatastr; - dns_name_t *keyname = NULL; - isc_mem_t *mctx; - char keycbuf[DNS_NAME_FORMATSIZE]; - isc_buffer_t keybuf; - unsigned int rcount; - unsigned int i; + dns_name_t * keyname = NULL; + isc_mem_t * mctx; + char keycbuf[DNS_NAME_FORMATSIZE]; + isc_buffer_t keybuf; + unsigned int rcount; + unsigned int i; REQUIRE(DNS_CATZ_ZONE_VALID(zone)); REQUIRE(ipkl != NULL); @@ -1088,7 +1089,8 @@ catz_process_masters(dns_catz_zone_t *zone, dns_ipkeylist_t *ipkl, case dns_rdatatype_aaaa: result = dns_rdata_tostruct(&rdata, &rdata_aaaa, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); - isc_sockaddr_fromin6(&sockaddr, &rdata_aaaa.in6_addr, 0); + isc_sockaddr_fromin6(&sockaddr, &rdata_aaaa.in6_addr, + 0); break; case dns_rdatatype_txt: result = dns_rdata_tostruct(&rdata, &rdata_txt, NULL); @@ -1141,14 +1143,12 @@ catz_process_masters(dns_catz_zone_t *zone, dns_ipkeylist_t *ipkl, memmove(&ipkl->addrs[i], &sockaddr, sizeof(isc_sockaddr_t)); } else { - result = dns_ipkeylist_resize(mctx, ipkl, - i+1); + result = dns_ipkeylist_resize(mctx, ipkl, i + 1); if (result != ISC_R_SUCCESS) { return (result); } - ipkl->labels[i] = isc_mem_get(mctx, - sizeof(dns_name_t)); + ipkl->labels[i] = isc_mem_get(mctx, sizeof(dns_name_t)); dns_name_init(ipkl->labels[i], NULL); dns_name_dup(name, mctx, ipkl->labels[i]); @@ -1163,8 +1163,7 @@ catz_process_masters(dns_catz_zone_t *zone, dns_ipkeylist_t *ipkl, } /* else - 'simple' case - without labels */ - if (value->type != dns_rdatatype_a && - value->type != dns_rdatatype_aaaa) + if (value->type != dns_rdatatype_a && value->type != dns_rdatatype_aaaa) return (ISC_R_FAILURE); rcount = dns_rdataset_count(value) + ipkl->count; @@ -1174,10 +1173,8 @@ catz_process_masters(dns_catz_zone_t *zone, dns_ipkeylist_t *ipkl, return (result); } - for (result = dns_rdataset_first(value); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(value)) - { + for (result = dns_rdataset_first(value); result == ISC_R_SUCCESS; + result = dns_rdataset_next(value)) { dns_rdata_init(&rdata); dns_rdataset_current(value, &rdata); /* @@ -1206,13 +1203,13 @@ static isc_result_t catz_process_apl(dns_catz_zone_t *zone, isc_buffer_t **aclbp, dns_rdataset_t *value) { - isc_result_t result = ISC_R_SUCCESS; - dns_rdata_t rdata; - dns_rdata_in_apl_t rdata_apl; + isc_result_t result = ISC_R_SUCCESS; + dns_rdata_t rdata; + dns_rdata_in_apl_t rdata_apl; dns_rdata_apl_ent_t apl_ent; - isc_netaddr_t addr; - isc_buffer_t *aclb = NULL; - unsigned char buf[256]; /* larger than INET6_ADDRSTRLEN */ + isc_netaddr_t addr; + isc_buffer_t * aclb = NULL; + unsigned char buf[256]; /* larger than INET6_ADDRSTRLEN */ REQUIRE(DNS_CATZ_ZONE_VALID(zone)); REQUIRE(aclbp != NULL); @@ -1224,7 +1221,6 @@ catz_process_apl(dns_catz_zone_t *zone, isc_buffer_t **aclbp, value->type != dns_rdatatype_apl) return (ISC_R_FAILURE); - if (dns_rdataset_count(value) > 1) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTER, ISC_LOG_WARNING, @@ -1240,8 +1236,7 @@ catz_process_apl(dns_catz_zone_t *zone, isc_buffer_t **aclbp, return (result); isc_buffer_allocate(zone->catzs->mctx, &aclb, 16); isc_buffer_setautorealloc(aclb, true); - for (result = dns_rdata_apl_first(&rdata_apl); - result == ISC_R_SUCCESS; + for (result = dns_rdata_apl_first(&rdata_apl); result == ISC_R_SUCCESS; result = dns_rdata_apl_next(&rdata_apl)) { result = dns_rdata_apl_current(&rdata_apl, &apl_ent); RUNTIME_CHECK(result == ISC_R_SUCCESS); @@ -1249,9 +1244,9 @@ catz_process_apl(dns_catz_zone_t *zone, isc_buffer_t **aclbp, if (apl_ent.data != NULL && apl_ent.length > 0) memmove(buf, apl_ent.data, apl_ent.length); if (apl_ent.family == 1) - isc_netaddr_fromin(&addr, (struct in_addr*) buf); + isc_netaddr_fromin(&addr, (struct in_addr *)buf); else if (apl_ent.family == 2) - isc_netaddr_fromin6(&addr, (struct in6_addr*) buf); + isc_netaddr_fromin6(&addr, (struct in6_addr *)buf); else continue; /* xxxwpk log it or simply ignore? */ if (apl_ent.negative) @@ -1283,11 +1278,11 @@ static isc_result_t catz_process_zones_suboption(dns_catz_zone_t *zone, dns_rdataset_t *value, dns_label_t *mhash, dns_name_t *name) { - isc_result_t result; + isc_result_t result; dns_catz_entry_t *entry = NULL; - dns_label_t option; - dns_name_t prefix; - catz_opt_t opt; + dns_label_t option; + dns_name_t prefix; + catz_opt_t opt; REQUIRE(DNS_CATZ_ZONE_VALID(zone)); REQUIRE(mhash != NULL); @@ -1304,7 +1299,7 @@ catz_process_zones_suboption(dns_catz_zone_t *zone, dns_rdataset_t *value, * rid of it in verification phase. */ result = isc_ht_find(zone->entries, mhash->base, mhash->length, - (void **) &entry); + (void **)&entry); if (result != ISC_R_SUCCESS) { result = dns_catz_entry_new(zone->catzs->mctx, NULL, &entry); if (result != ISC_R_SUCCESS) @@ -1345,8 +1340,8 @@ catz_process_value(dns_catz_zone_t *zone, dns_name_t *name, dns_rdataset_t *rdataset) { dns_label_t option; - dns_name_t prefix; - catz_opt_t opt; + dns_name_t prefix; + catz_opt_t opt; REQUIRE(DNS_CATZ_ZONE_VALID(zone)); REQUIRE(ISC_MAGIC_VALID(name, DNS_NAME_MAGIC)); @@ -1370,9 +1365,8 @@ catz_process_value(dns_catz_zone_t *zone, dns_name_t *name, case CATZ_OPT_ALLOW_TRANSFER: if (prefix.labels != 0) return (ISC_R_FAILURE); - return (catz_process_apl(zone, - &zone->zoneoptions.allow_transfer, - rdataset)); + return (catz_process_apl( + zone, &zone->zoneoptions.allow_transfer, rdataset)); case CATZ_OPT_VERSION: if (prefix.labels != 0) return (ISC_R_FAILURE); @@ -1386,13 +1380,13 @@ isc_result_t dns_catz_update_process(dns_catz_zones_t *catzs, dns_catz_zone_t *zone, const dns_name_t *src_name, dns_rdataset_t *rdataset) { - isc_result_t result; - int order; - unsigned int nlabels; - dns_namereln_t nrres; - dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + int order; + unsigned int nlabels; + dns_namereln_t nrres; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_soa_t soa; - dns_name_t prefix; + dns_name_t prefix; REQUIRE(DNS_CATZ_ZONES_VALID(catzs)); REQUIRE(DNS_CATZ_ZONE_VALID(zone)); @@ -1431,11 +1425,11 @@ dns_catz_update_process(dns_catz_zones_t *catzs, dns_catz_zone_t *zone, } static isc_result_t -digest2hex(unsigned char *digest, unsigned int digestlen, - char *hash, size_t hashlen) +digest2hex(unsigned char *digest, unsigned int digestlen, char *hash, + size_t hashlen) { unsigned int i; - int ret; + int ret; for (i = 0; i < digestlen; i++) { size_t left = hashlen - i * 2; ret = snprintf(hash + i * 2, left, "%02x", digest[i]); @@ -1451,18 +1445,18 @@ dns_catz_generate_masterfilename(dns_catz_zone_t *zone, dns_catz_entry_t *entry, isc_buffer_t **buffer) { isc_buffer_t *tbuf = NULL; - isc_region_t r; - isc_result_t result; - size_t rlen; - bool special = false; + isc_region_t r; + isc_result_t result; + size_t rlen; + bool special = false; REQUIRE(DNS_CATZ_ZONE_VALID(zone)); REQUIRE(entry != NULL); REQUIRE(buffer != NULL && *buffer != NULL); isc_buffer_allocate(zone->catzs->mctx, &tbuf, - strlen(zone->catzs->view->name) + 2 * - DNS_NAME_FORMATSIZE + 2); + strlen(zone->catzs->view->name) + + 2 * DNS_NAME_FORMATSIZE + 2); isc_buffer_putstr(tbuf, zone->catzs->view->name); isc_buffer_putstr(tbuf, "_"); @@ -1510,11 +1504,11 @@ dns_catz_generate_masterfilename(dns_catz_zone_t *zone, dns_catz_entry_t *entry, isc_buffer_putstr(*buffer, "__catz__"); if (special || tbuf->used > ISC_SHA256_DIGESTLENGTH * 2 + 1) { unsigned char digest[ISC_MAX_MD_SIZE]; - unsigned int digestlen; + unsigned int digestlen; /* we can do that because digest string < 2 * DNS_NAME */ - result = isc_md(ISC_MD_SHA256, r.base, r.length, - digest, &digestlen); + result = isc_md(ISC_MD_SHA256, r.base, r.length, digest, + &digestlen); if (result != ISC_R_SUCCESS) { goto cleanup; } @@ -1523,7 +1517,7 @@ dns_catz_generate_masterfilename(dns_catz_zone_t *zone, dns_catz_entry_t *entry, if (result != ISC_R_SUCCESS) { goto cleanup; } - isc_buffer_putstr(*buffer, (char *) r.base); + isc_buffer_putstr(*buffer, (char *)r.base); } else { isc_buffer_copyregion(*buffer, &r); } @@ -1548,9 +1542,9 @@ dns_catz_generate_zonecfg(dns_catz_zone_t *zone, dns_catz_entry_t *entry, * } */ isc_buffer_t *buffer = NULL; - isc_region_t region; - isc_result_t result; - uint32_t i; + isc_region_t region; + isc_result_t result; + uint32_t i; isc_netaddr_t netaddr; char pbuf[sizeof("65535")]; /* used both for port number and DSCP */ char zname[DNS_NAME_FORMATSIZE]; @@ -1576,8 +1570,7 @@ dns_catz_generate_zonecfg(dns_catz_zone_t *zone, dns_catz_entry_t *entry, * use the DSCP value set for the first master */ if (entry->opts.masters.count > 0 && - entry->opts.masters.dscps[0] >= 0) - { + entry->opts.masters.dscps[0] >= 0) { isc_buffer_putstr(buffer, " dscp "); snprintf(pbuf, sizeof(pbuf), "%hd", entry->opts.masters.dscps[0]); @@ -1633,7 +1626,6 @@ dns_catz_generate_zonecfg(dns_catz_zone_t *zone, dns_catz_entry_t *entry, goto cleanup; } isc_buffer_putstr(buffer, "\"; "); - } if (entry->opts.allow_query != NULL) { isc_buffer_putstr(buffer, "allow-query { "); @@ -1659,10 +1651,11 @@ cleanup: } void -dns_catz_update_taskaction(isc_task_t *task, isc_event_t *event) { - isc_result_t result; - dns_catz_zone_t * zone; - (void) task; +dns_catz_update_taskaction(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result; + dns_catz_zone_t *zone; + (void)task; REQUIRE(event != NULL); zone = event->ev_arg; @@ -1681,30 +1674,30 @@ dns_catz_update_taskaction(isc_task_t *task, isc_event_t *event) { } isc_result_t -dns_catz_dbupdate_callback(dns_db_t *db, void *fn_arg) { +dns_catz_dbupdate_callback(dns_db_t *db, void *fn_arg) +{ dns_catz_zones_t *catzs; - dns_catz_zone_t *zone = NULL; - isc_time_t now; - uint64_t tdiff; - isc_result_t result = ISC_R_SUCCESS; - isc_region_t r; + dns_catz_zone_t * zone = NULL; + isc_time_t now; + uint64_t tdiff; + isc_result_t result = ISC_R_SUCCESS; + isc_region_t r; REQUIRE(DNS_DB_VALID(db)); REQUIRE(fn_arg != NULL); - catzs = (dns_catz_zones_t *) fn_arg; + catzs = (dns_catz_zones_t *)fn_arg; dns_name_toregion(&db->origin, &r); LOCK(&catzs->lock); - result = isc_ht_find(catzs->zones, r.base, r.length, (void **) &zone); + result = isc_ht_find(catzs->zones, r.base, r.length, (void **)&zone); if (result != ISC_R_SUCCESS) goto cleanup; /* New zone came as AXFR */ if (zone->db != NULL && zone->db != db) { if (zone->dbversion != NULL) - dns_db_closeversion(zone->db, &zone->dbversion, - false); + dns_db_closeversion(zone->db, &zone->dbversion, false); dns_db_detach(&zone->db); /* * We're not registering db update callback, it will be @@ -1718,7 +1711,7 @@ dns_catz_dbupdate_callback(dns_db_t *db, void *fn_arg) { if (zone->updatepending == false) { zone->updatepending = true; isc_time_now(&now); - tdiff = isc_time_microdiff(&now, &zone->lastupdated)/1000000; + tdiff = isc_time_microdiff(&now, &zone->lastupdated) / 1000000; if (tdiff < zone->defoptions.min_update_interval) { isc_interval_t interval; isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, @@ -1727,11 +1720,12 @@ dns_catz_dbupdate_callback(dns_db_t *db, void *fn_arg) { "deferring update"); isc_interval_set(&interval, zone->defoptions.min_update_interval - - (unsigned int)tdiff, 0); + (unsigned int)tdiff, + 0); dns_db_currentversion(db, &zone->dbversion); result = isc_timer_reset(zone->updatetimer, - isc_timertype_once, - NULL, &interval, true); + isc_timertype_once, NULL, + &interval, true); if (result != ISC_R_SUCCESS) goto cleanup; } else { @@ -1741,8 +1735,8 @@ dns_catz_dbupdate_callback(dns_db_t *db, void *fn_arg) { ISC_EVENT_INIT(&zone->updateevent, sizeof(zone->updateevent), 0, NULL, DNS_EVENT_CATZUPDATED, - dns_catz_update_taskaction, - zone, zone, NULL, NULL); + dns_catz_update_taskaction, zone, zone, + NULL, NULL); event = &zone->updateevent; isc_task_send(catzs->updater, &event); } @@ -1751,31 +1745,31 @@ dns_catz_dbupdate_callback(dns_db_t *db, void *fn_arg) { DNS_LOGMODULE_MASTER, ISC_LOG_DEBUG(3), "catz: update already queued"); if (zone->dbversion != NULL) - dns_db_closeversion(zone->db, &zone->dbversion, - false); + dns_db_closeversion(zone->db, &zone->dbversion, false); dns_db_currentversion(zone->db, &zone->dbversion); } - cleanup: +cleanup: UNLOCK(&catzs->lock); return (result); } void -dns_catz_update_from_db(dns_db_t *db, dns_catz_zones_t *catzs) { - dns_catz_zone_t *oldzone = NULL, *newzone = NULL; - isc_result_t result; - isc_region_t r; - dns_dbnode_t *node = NULL; - dns_dbiterator_t *it = NULL; - dns_fixedname_t fixname; - dns_name_t *name; +dns_catz_update_from_db(dns_db_t *db, dns_catz_zones_t *catzs) +{ + dns_catz_zone_t * oldzone = NULL, *newzone = NULL; + isc_result_t result; + isc_region_t r; + dns_dbnode_t * node = NULL; + dns_dbiterator_t * it = NULL; + dns_fixedname_t fixname; + dns_name_t * name; dns_rdatasetiter_t *rdsiter = NULL; - dns_rdataset_t rdataset; - char bname[DNS_NAME_FORMATSIZE]; - isc_buffer_t ibname; - uint32_t vers; + dns_rdataset_t rdataset; + char bname[DNS_NAME_FORMATSIZE]; + isc_buffer_t ibname; + uint32_t vers; REQUIRE(DNS_DB_VALID(db)); REQUIRE(DNS_CATZ_ZONES_VALID(catzs)); @@ -1789,8 +1783,7 @@ dns_catz_update_from_db(dns_db_t *db, dns_catz_zones_t *catzs) { /* This can happen if we remove the zone in the meantime. */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTER, ISC_LOG_ERROR, - "catz: zone '%s' not in config", - bname); + "catz: zone '%s' not in config", bname); return; } @@ -1803,15 +1796,15 @@ dns_catz_update_from_db(dns_db_t *db, dns_catz_zones_t *catzs) { /* A zone without SOA record?!? */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTER, ISC_LOG_ERROR, - "catz: zone '%s' has no SOA record (%s)", - bname, isc_result_totext(result)); + "catz: zone '%s' has no SOA record (%s)", bname, + isc_result_totext(result)); return; } - isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, - DNS_LOGMODULE_MASTER, ISC_LOG_INFO, - "catz: updating catalog zone '%s' with serial %d", - bname, vers); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTER, + ISC_LOG_INFO, + "catz: updating catalog zone '%s' with serial %d", bname, + vers); result = dns_catz_new_zone(catzs, &newzone, &db->origin); if (result != ISC_R_SUCCESS) { @@ -1858,7 +1851,7 @@ dns_catz_update_from_db(dns_db_t *db, dns_catz_zones_t *catzs) { } result = dns_db_allrdatasets(db, node, oldzone->dbversion, 0, - &rdsiter); + &rdsiter); if (result != ISC_R_SUCCESS) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTER, ISC_LOG_ERROR, @@ -1909,8 +1902,8 @@ dns_catz_update_from_db(dns_db_t *db, dns_catz_zones_t *catzs) { dns_dbiterator_destroy(&it); dns_db_closeversion(db, &oldzone->dbversion, false); - isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, - DNS_LOGMODULE_MASTER, ISC_LOG_DEBUG(3), + isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTER, + ISC_LOG_DEBUG(3), "catz: update_from_db: iteration finished"); /* @@ -1920,16 +1913,15 @@ dns_catz_update_from_db(dns_db_t *db, dns_catz_zones_t *catzs) { dns_catz_zone_detach(&newzone); if (result != ISC_R_SUCCESS) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, - DNS_LOGMODULE_MASTER, - ISC_LOG_ERROR, + DNS_LOGMODULE_MASTER, ISC_LOG_ERROR, "catz: failed merging zones: %s", isc_result_totext(result)); return; } - isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, - DNS_LOGMODULE_MASTER, ISC_LOG_DEBUG(3), + isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTER, + ISC_LOG_DEBUG(3), "catz: update_from_db: new zone merged"); /* @@ -1939,29 +1931,27 @@ dns_catz_update_from_db(dns_db_t *db, dns_catz_zones_t *catzs) { * call onupdate() artificially so we can register the callback here. */ if (oldzone->db_registered == false) { - result = dns_db_updatenotify_register(db, - dns_catz_dbupdate_callback, - oldzone->catzs); + result = dns_db_updatenotify_register( + db, dns_catz_dbupdate_callback, oldzone->catzs); if (result == ISC_R_SUCCESS) oldzone->db_registered = true; } } void -dns_catz_prereconfig(dns_catz_zones_t *catzs) { - isc_result_t result; +dns_catz_prereconfig(dns_catz_zones_t *catzs) +{ + isc_result_t result; isc_ht_iter_t *iter = NULL; REQUIRE(DNS_CATZ_ZONES_VALID(catzs)); result = isc_ht_iter_create(catzs->zones, &iter); INSIST(result == ISC_R_SUCCESS); - for (result = isc_ht_iter_first(iter); - result == ISC_R_SUCCESS; - result = isc_ht_iter_next(iter)) - { + for (result = isc_ht_iter_first(iter); result == ISC_R_SUCCESS; + result = isc_ht_iter_next(iter)) { dns_catz_zone_t *zone = NULL; - isc_ht_iter_current(iter, (void **) &zone); + isc_ht_iter_current(iter, (void **)&zone); zone->active = false; } INSIST(result == ISC_R_NOMORE); @@ -1969,37 +1959,35 @@ dns_catz_prereconfig(dns_catz_zones_t *catzs) { } void -dns_catz_postreconfig(dns_catz_zones_t *catzs) { - isc_result_t result; +dns_catz_postreconfig(dns_catz_zones_t *catzs) +{ + isc_result_t result; dns_catz_zone_t *newzone = NULL; - isc_ht_iter_t *iter = NULL; + isc_ht_iter_t * iter = NULL; REQUIRE(DNS_CATZ_ZONES_VALID(catzs)); LOCK(&catzs->lock); result = isc_ht_iter_create(catzs->zones, &iter); INSIST(result == ISC_R_SUCCESS); - for (result = isc_ht_iter_first(iter); - result == ISC_R_SUCCESS;) - { + for (result = isc_ht_iter_first(iter); result == ISC_R_SUCCESS;) { dns_catz_zone_t *zone = NULL; - isc_ht_iter_current(iter, (void **) &zone); + isc_ht_iter_current(iter, (void **)&zone); if (zone->active == false) { char cname[DNS_NAME_FORMATSIZE]; dns_name_format(&zone->name, cname, DNS_NAME_FORMATSIZE); isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, - DNS_LOGMODULE_MASTER, - ISC_LOG_WARNING, + DNS_LOGMODULE_MASTER, ISC_LOG_WARNING, "catz: removing catalog zone %s", cname); /* * Merge the old zone with an empty one to remove * all members. */ - result = dns_catz_new_zone(catzs, &newzone, - &zone->name); + result = + dns_catz_new_zone(catzs, &newzone, &zone->name); INSIST(result == ISC_R_SUCCESS); dns_catz_zones_merge(zone, newzone); dns_catz_zone_detach(&newzone); @@ -2018,7 +2006,8 @@ dns_catz_postreconfig(dns_catz_zones_t *catzs) { } isc_result_t -dns_catz_get_iterator(dns_catz_zone_t *catz, isc_ht_iter_t **itp) { +dns_catz_get_iterator(dns_catz_zone_t *catz, isc_ht_iter_t **itp) +{ REQUIRE(DNS_CATZ_ZONE_VALID(catz)); return (isc_ht_iter_create(catz->entries, itp)); } diff --git a/lib/dns/client.c b/lib/dns/client.c index 03c2680bcd..fc9ad96a12 100644 --- a/lib/dns/client.c +++ b/lib/dns/client.c @@ -38,9 +38,9 @@ #include #include #include -#include #include #include +#include #include #include #include @@ -50,17 +50,17 @@ #include -#define DNS_CLIENT_MAGIC ISC_MAGIC('D', 'N', 'S', 'c') -#define DNS_CLIENT_VALID(c) ISC_MAGIC_VALID(c, DNS_CLIENT_MAGIC) +#define DNS_CLIENT_MAGIC ISC_MAGIC('D', 'N', 'S', 'c') +#define DNS_CLIENT_VALID(c) ISC_MAGIC_VALID(c, DNS_CLIENT_MAGIC) -#define RCTX_MAGIC ISC_MAGIC('R', 'c', 't', 'x') -#define RCTX_VALID(c) ISC_MAGIC_VALID(c, RCTX_MAGIC) +#define RCTX_MAGIC ISC_MAGIC('R', 'c', 't', 'x') +#define RCTX_VALID(c) ISC_MAGIC_VALID(c, RCTX_MAGIC) -#define REQCTX_MAGIC ISC_MAGIC('R', 'q', 'c', 'x') -#define REQCTX_VALID(c) ISC_MAGIC_VALID(c, REQCTX_MAGIC) +#define REQCTX_MAGIC ISC_MAGIC('R', 'q', 'c', 'x') +#define REQCTX_VALID(c) ISC_MAGIC_VALID(c, REQCTX_MAGIC) -#define UCTX_MAGIC ISC_MAGIC('U', 'c', 't', 'x') -#define UCTX_VALID(c) ISC_MAGIC_VALID(c, UCTX_MAGIC) +#define UCTX_MAGIC ISC_MAGIC('U', 'c', 't', 'x') +#define UCTX_VALID(c) ISC_MAGIC_VALID(c, UCTX_MAGIC) #define MAX_RESTARTS 16 @@ -70,11 +70,11 @@ #define RESOLVER_NTASKS 31 #endif /* TUNE_LARGE */ -#define CHECK(r) \ - do { \ - result = (r); \ +#define CHECK(r) \ + do { \ + result = (r); \ if (result != ISC_R_SUCCESS) \ - goto cleanup; \ + goto cleanup; \ } while (0) /*% @@ -82,74 +82,74 @@ */ struct dns_client { /* Unlocked */ - unsigned int magic; - unsigned int attributes; - isc_mutex_t lock; - isc_mem_t *mctx; - isc_appctx_t *actx; - isc_taskmgr_t *taskmgr; - isc_task_t *task; - isc_socketmgr_t *socketmgr; - isc_timermgr_t *timermgr; - dns_dispatchmgr_t *dispatchmgr; - dns_dispatch_t *dispatchv4; - dns_dispatch_t *dispatchv6; + unsigned int magic; + unsigned int attributes; + isc_mutex_t lock; + isc_mem_t * mctx; + isc_appctx_t * actx; + isc_taskmgr_t * taskmgr; + isc_task_t * task; + isc_socketmgr_t * socketmgr; + isc_timermgr_t * timermgr; + dns_dispatchmgr_t *dispatchmgr; + dns_dispatch_t * dispatchv4; + dns_dispatch_t * dispatchv6; - unsigned int update_timeout; - unsigned int update_udptimeout; - unsigned int update_udpretries; - unsigned int find_timeout; - unsigned int find_udpretries; + unsigned int update_timeout; + unsigned int update_udptimeout; + unsigned int update_udpretries; + unsigned int find_timeout; + unsigned int find_udpretries; - isc_refcount_t references; + isc_refcount_t references; /* Locked */ - dns_viewlist_t viewlist; - ISC_LIST(struct resctx) resctxs; - ISC_LIST(struct reqctx) reqctxs; - ISC_LIST(struct updatectx) updatectxs; + dns_viewlist_t viewlist; + ISC_LIST(struct resctx) resctxs; + ISC_LIST(struct reqctx) reqctxs; + ISC_LIST(struct updatectx) updatectxs; }; /*% * Timeout/retry constants for dynamic update borrowed from nsupdate */ -#define DEF_UPDATE_TIMEOUT 300 -#define MIN_UPDATE_TIMEOUT 30 -#define DEF_UPDATE_UDPTIMEOUT 3 -#define DEF_UPDATE_UDPRETRIES 3 +#define DEF_UPDATE_TIMEOUT 300 +#define MIN_UPDATE_TIMEOUT 30 +#define DEF_UPDATE_UDPTIMEOUT 3 +#define DEF_UPDATE_UDPRETRIES 3 -#define DEF_FIND_TIMEOUT 5 -#define DEF_FIND_UDPRETRIES 3 +#define DEF_FIND_TIMEOUT 5 +#define DEF_FIND_UDPRETRIES 3 -#define DNS_CLIENTATTR_OWNCTX 0x01 +#define DNS_CLIENTATTR_OWNCTX 0x01 /*% * Internal state for a single name resolution procedure */ typedef struct resctx { /* Unlocked */ - unsigned int magic; - isc_mutex_t lock; - dns_client_t *client; - bool want_dnssec; - bool want_validation; - bool want_cdflag; - bool want_tcp; + unsigned int magic; + isc_mutex_t lock; + dns_client_t *client; + bool want_dnssec; + bool want_validation; + bool want_cdflag; + bool want_tcp; /* Locked */ - ISC_LINK(struct resctx) link; - isc_task_t *task; - dns_view_t *view; - unsigned int restarts; - dns_fixedname_t name; - dns_rdatatype_t type; - dns_fetch_t *fetch; - dns_namelist_t namelist; - isc_result_t result; - dns_clientresevent_t *event; - bool canceled; - dns_rdataset_t *rdataset; - dns_rdataset_t *sigrdataset; + ISC_LINK(struct resctx) link; + isc_task_t * task; + dns_view_t * view; + unsigned int restarts; + dns_fixedname_t name; + dns_rdatatype_t type; + dns_fetch_t * fetch; + dns_namelist_t namelist; + isc_result_t result; + dns_clientresevent_t *event; + bool canceled; + dns_rdataset_t * rdataset; + dns_rdataset_t * sigrdataset; } resctx_t; /*% @@ -157,16 +157,16 @@ typedef struct resctx { */ typedef struct resarg { /* Unlocked */ - isc_appctx_t *actx; - dns_client_t *client; - isc_mutex_t lock; + isc_appctx_t *actx; + dns_client_t *client; + isc_mutex_t lock; /* Locked */ - isc_result_t result; - isc_result_t vresult; - dns_namelist_t *namelist; - dns_clientrestrans_t *trans; - bool canceled; + isc_result_t result; + isc_result_t vresult; + dns_namelist_t * namelist; + dns_clientrestrans_t *trans; + bool canceled; } resarg_t; /*% @@ -174,17 +174,17 @@ typedef struct resarg { */ typedef struct reqctx { /* Unlocked */ - unsigned int magic; - isc_mutex_t lock; - dns_client_t *client; - unsigned int parseoptions; + unsigned int magic; + isc_mutex_t lock; + dns_client_t *client; + unsigned int parseoptions; /* Locked */ - ISC_LINK(struct reqctx) link; - bool canceled; - dns_tsigkey_t *tsigkey; - dns_request_t *request; - dns_clientreqevent_t *event; + ISC_LINK(struct reqctx) link; + bool canceled; + dns_tsigkey_t * tsigkey; + dns_request_t * request; + dns_clientreqevent_t *event; } reqctx_t; /*% @@ -192,14 +192,14 @@ typedef struct reqctx { */ typedef struct reqarg { /* Unlocked */ - isc_appctx_t *actx; - dns_client_t *client; - isc_mutex_t lock; + isc_appctx_t *actx; + dns_client_t *client; + isc_mutex_t lock; /* Locked */ - isc_result_t result; - dns_clientreqtrans_t *trans; - bool canceled; + isc_result_t result; + dns_clientreqtrans_t *trans; + bool canceled; } reqarg_t; /*% @@ -207,14 +207,14 @@ typedef struct reqarg { */ typedef struct updatearg { /* Unlocked */ - isc_appctx_t *actx; - dns_client_t *client; - isc_mutex_t lock; + isc_appctx_t *actx; + dns_client_t *client; + isc_mutex_t lock; /* Locked */ - isc_result_t result; - dns_clientupdatetrans_t *trans; - bool canceled; + isc_result_t result; + dns_clientupdatetrans_t *trans; + bool canceled; } updatearg_t; /*% @@ -222,51 +222,55 @@ typedef struct updatearg { */ typedef struct updatectx { /* Unlocked */ - unsigned int magic; - isc_mutex_t lock; - dns_client_t *client; - bool want_tcp; + unsigned int magic; + isc_mutex_t lock; + dns_client_t *client; + bool want_tcp; /* Locked */ - dns_request_t *updatereq; - dns_request_t *soareq; - dns_clientrestrans_t *restrans; - dns_clientrestrans_t *restrans2; - bool canceled; + dns_request_t * updatereq; + dns_request_t * soareq; + dns_clientrestrans_t *restrans; + dns_clientrestrans_t *restrans2; + bool canceled; /* Task Locked */ - ISC_LINK(struct updatectx) link; - dns_clientupdatestate_t state; - dns_rdataclass_t rdclass; - dns_view_t *view; - dns_message_t *updatemsg; - dns_message_t *soaquery; - dns_clientupdateevent_t *event; - dns_tsigkey_t *tsigkey; - dst_key_t *sig0key; - dns_name_t *firstname; - dns_name_t soaqname; - dns_fixedname_t zonefname; - dns_name_t *zonename; - isc_sockaddrlist_t servers; - unsigned int nservers; - isc_sockaddr_t *currentserver; - struct updatectx *bp4; - struct updatectx *bp6; + ISC_LINK(struct updatectx) link; + dns_clientupdatestate_t state; + dns_rdataclass_t rdclass; + dns_view_t * view; + dns_message_t * updatemsg; + dns_message_t * soaquery; + dns_clientupdateevent_t *event; + dns_tsigkey_t * tsigkey; + dst_key_t * sig0key; + dns_name_t * firstname; + dns_name_t soaqname; + dns_fixedname_t zonefname; + dns_name_t * zonename; + isc_sockaddrlist_t servers; + unsigned int nservers; + isc_sockaddr_t * currentserver; + struct updatectx * bp4; + struct updatectx * bp6; } updatectx_t; -static isc_result_t request_soa(updatectx_t *uctx); -static void client_resfind(resctx_t *rctx, dns_fetchevent_t *event); -static isc_result_t send_update(updatectx_t *uctx); +static isc_result_t +request_soa(updatectx_t *uctx); +static void +client_resfind(resctx_t *rctx, dns_fetchevent_t *event); +static isc_result_t +send_update(updatectx_t *uctx); /* * Try honoring the operating system's preferred ephemeral port range. */ static isc_result_t -setsourceports(isc_mem_t *mctx, dns_dispatchmgr_t *manager) { +setsourceports(isc_mem_t *mctx, dns_dispatchmgr_t *manager) +{ isc_portset_t *v4portset = NULL, *v6portset = NULL; - in_port_t udpport_low, udpport_high; - isc_result_t result; + in_port_t udpport_low, udpport_high; + isc_result_t result; result = isc_portset_create(mctx, &v4portset); if (result != ISC_R_SUCCESS) { @@ -290,7 +294,7 @@ setsourceports(isc_mem_t *mctx, dns_dispatchmgr_t *manager) { result = dns_dispatchmgr_setavailports(manager, v4portset, v6portset); - cleanup: +cleanup: if (v4portset != NULL) { isc_portset_destroy(mctx, &v4portset); } @@ -307,11 +311,11 @@ getudpdispatch(int family, dns_dispatchmgr_t *dispatchmgr, bool is_shared, dns_dispatch_t **dispp, const isc_sockaddr_t *localaddr) { - unsigned int attrs, attrmask; + unsigned int attrs, attrmask; dns_dispatch_t *disp; - unsigned buffersize, maxbuffers, maxrequests, buckets, increment; - isc_result_t result; - isc_sockaddr_t anyaddr; + unsigned buffersize, maxbuffers, maxrequests, buckets, increment; + isc_result_t result; + isc_sockaddr_t anyaddr; attrs = 0; attrs |= DNS_DISPATCHATTR_UDP; @@ -344,11 +348,10 @@ getudpdispatch(int family, dns_dispatchmgr_t *dispatchmgr, increment = is_shared ? 16433 : 5; disp = NULL; - result = dns_dispatch_getudp(dispatchmgr, socketmgr, - taskmgr, localaddr, + result = dns_dispatch_getudp(dispatchmgr, socketmgr, taskmgr, localaddr, buffersize, maxbuffers, maxrequests, - buckets, increment, - attrs, attrmask, &disp); + buckets, increment, attrs, attrmask, + &disp); if (result == ISC_R_SUCCESS) *dispp = disp; @@ -356,16 +359,15 @@ getudpdispatch(int family, dns_dispatchmgr_t *dispatchmgr, } static isc_result_t -createview(isc_mem_t *mctx, dns_rdataclass_t rdclass, - unsigned int options, isc_taskmgr_t *taskmgr, - unsigned int ntasks, isc_socketmgr_t *socketmgr, - isc_timermgr_t *timermgr, dns_dispatchmgr_t *dispatchmgr, - dns_dispatch_t *dispatchv4, dns_dispatch_t *dispatchv6, - dns_view_t **viewp) +createview(isc_mem_t *mctx, dns_rdataclass_t rdclass, unsigned int options, + isc_taskmgr_t *taskmgr, unsigned int ntasks, + isc_socketmgr_t *socketmgr, isc_timermgr_t *timermgr, + dns_dispatchmgr_t *dispatchmgr, dns_dispatch_t *dispatchv4, + dns_dispatch_t *dispatchv6, dns_view_t **viewp) { isc_result_t result; - dns_view_t *view = NULL; - const char *dbtype; + dns_view_t * view = NULL; + const char * dbtype; result = dns_view_create(mctx, rdclass, DNS_CLIENTVIEW_NAME, &view); if (result != ISC_R_SUCCESS) @@ -378,9 +380,9 @@ createview(isc_mem_t *mctx, dns_rdataclass_t rdclass, return (result); } - result = dns_view_createresolver(view, taskmgr, ntasks, 1, - socketmgr, timermgr, 0, - dispatchmgr, dispatchv4, dispatchv6); + result = dns_view_createresolver(view, taskmgr, ntasks, 1, socketmgr, + timermgr, 0, dispatchmgr, dispatchv4, + dispatchv6); if (result != ISC_R_SUCCESS) { dns_view_detach(&view); return (result); @@ -407,13 +409,14 @@ createview(isc_mem_t *mctx, dns_rdataclass_t rdclass, } isc_result_t -dns_client_create(dns_client_t **clientp, unsigned int options) { - isc_result_t result; - isc_mem_t *mctx = NULL; - isc_appctx_t *actx = NULL; - isc_taskmgr_t *taskmgr = NULL; +dns_client_create(dns_client_t **clientp, unsigned int options) +{ + isc_result_t result; + isc_mem_t * mctx = NULL; + isc_appctx_t * actx = NULL; + isc_taskmgr_t * taskmgr = NULL; isc_socketmgr_t *socketmgr = NULL; - isc_timermgr_t *timermgr = NULL; + isc_timermgr_t * timermgr = NULL; #if 0 /* XXXMPA add debug logging support */ isc_log_t *lctx = NULL; @@ -461,7 +464,7 @@ dns_client_create(dns_client_t **clientp, unsigned int options) { return (ISC_R_SUCCESS); - cleanup: +cleanup: if (taskmgr != NULL) isc_taskmgr_destroy(&taskmgr); if (timermgr != NULL) @@ -476,18 +479,18 @@ dns_client_create(dns_client_t **clientp, unsigned int options) { } isc_result_t -dns_client_createx(isc_mem_t *mctx, isc_appctx_t *actx, - isc_taskmgr_t *taskmgr, isc_socketmgr_t *socketmgr, - isc_timermgr_t *timermgr, unsigned int options, - dns_client_t **clientp, const isc_sockaddr_t *localaddr4, +dns_client_createx(isc_mem_t *mctx, isc_appctx_t *actx, isc_taskmgr_t *taskmgr, + isc_socketmgr_t *socketmgr, isc_timermgr_t *timermgr, + unsigned int options, dns_client_t **clientp, + const isc_sockaddr_t *localaddr4, const isc_sockaddr_t *localaddr6) { - dns_client_t *client; - isc_result_t result; + dns_client_t * client; + isc_result_t result; dns_dispatchmgr_t *dispatchmgr = NULL; - dns_dispatch_t *dispatchv4 = NULL; - dns_dispatch_t *dispatchv6 = NULL; - dns_view_t *view = NULL; + dns_dispatch_t * dispatchv4 = NULL; + dns_dispatch_t * dispatchv6 = NULL; + dns_view_t * view = NULL; REQUIRE(mctx != NULL); REQUIRE(taskmgr != NULL); @@ -523,8 +526,7 @@ dns_client_createx(isc_mem_t *mctx, isc_appctx_t *actx, client->dispatchv4 = NULL; if (localaddr4 != NULL || localaddr6 == NULL) { result = getudpdispatch(AF_INET, dispatchmgr, socketmgr, - taskmgr, true, - &dispatchv4, localaddr4); + taskmgr, true, &dispatchv4, localaddr4); if (result == ISC_R_SUCCESS) { client->dispatchv4 = dispatchv4; } @@ -533,8 +535,7 @@ dns_client_createx(isc_mem_t *mctx, isc_appctx_t *actx, client->dispatchv6 = NULL; if (localaddr6 != NULL || localaddr4 == NULL) { result = getudpdispatch(AF_INET6, dispatchmgr, socketmgr, - taskmgr, true, - &dispatchv6, localaddr6); + taskmgr, true, &dispatchv6, localaddr6); if (result == ISC_R_SUCCESS) { client->dispatchv6 = dispatchv6; } @@ -550,8 +551,8 @@ dns_client_createx(isc_mem_t *mctx, isc_appctx_t *actx, /* Create the default view for class IN */ result = createview(mctx, dns_rdataclass_in, options, taskmgr, - RESOLVER_NTASKS, socketmgr, timermgr, - dispatchmgr, dispatchv4, dispatchv6, &view); + RESOLVER_NTASKS, socketmgr, timermgr, dispatchmgr, + dispatchv4, dispatchv6, &view); if (result != ISC_R_SUCCESS) { goto cleanup_references; } @@ -581,10 +582,10 @@ dns_client_createx(isc_mem_t *mctx, isc_appctx_t *actx, return (ISC_R_SUCCESS); - cleanup_references: +cleanup_references: isc_refcount_decrement(&client->references); isc_refcount_destroy(&client->references); - cleanup_dispatchmgr: +cleanup_dispatchmgr: if (dispatchv4 != NULL) { dns_dispatch_detach(&dispatchv4); } @@ -592,9 +593,9 @@ dns_client_createx(isc_mem_t *mctx, isc_appctx_t *actx, dns_dispatch_detach(&dispatchv6); } dns_dispatchmgr_destroy(&dispatchmgr); - cleanup_task: +cleanup_task: isc_task_detach(&client->task); - cleanup_lock: +cleanup_lock: isc_mutex_destroy(&client->lock); isc_mem_put(mctx, client, sizeof(*client)); @@ -602,7 +603,8 @@ dns_client_createx(isc_mem_t *mctx, isc_appctx_t *actx, } static void -destroyclient(dns_client_t *client) { +destroyclient(dns_client_t *client) +{ dns_view_t *view; isc_refcount_destroy(&client->references); @@ -641,7 +643,8 @@ destroyclient(dns_client_t *client) { } void -dns_client_destroy(dns_client_t **clientp) { +dns_client_destroy(dns_client_t **clientp) +{ dns_client_t *client; REQUIRE(clientp != NULL); @@ -659,7 +662,7 @@ dns_client_setservers(dns_client_t *client, dns_rdataclass_t rdclass, const dns_name_t *name_space, isc_sockaddrlist_t *addrs) { isc_result_t result; - dns_view_t *view = NULL; + dns_view_t * view = NULL; REQUIRE(DNS_CLIENT_VALID(client)); REQUIRE(addrs != NULL); @@ -689,7 +692,7 @@ dns_client_clearservers(dns_client_t *client, dns_rdataclass_t rdclass, const dns_name_t *name_space) { isc_result_t result; - dns_view_t *view = NULL; + dns_view_t * view = NULL; REQUIRE(DNS_CLIENT_VALID(client)); @@ -713,7 +716,8 @@ dns_client_clearservers(dns_client_t *client, dns_rdataclass_t rdclass, } static isc_result_t -getrdataset(isc_mem_t *mctx, dns_rdataset_t **rdatasetp) { +getrdataset(isc_mem_t *mctx, dns_rdataset_t **rdatasetp) +{ dns_rdataset_t *rdataset; REQUIRE(mctx != NULL); @@ -729,7 +733,8 @@ getrdataset(isc_mem_t *mctx, dns_rdataset_t **rdatasetp) { } static void -putrdataset(isc_mem_t *mctx, dns_rdataset_t **rdatasetp) { +putrdataset(isc_mem_t *mctx, dns_rdataset_t **rdatasetp) +{ dns_rdataset_t *rdataset; REQUIRE(rdatasetp != NULL); @@ -744,8 +749,9 @@ putrdataset(isc_mem_t *mctx, dns_rdataset_t **rdatasetp) { } static void -fetch_done(isc_task_t *task, isc_event_t *event) { - resctx_t *rctx = event->ev_arg; +fetch_done(isc_task_t *task, isc_event_t *event) +{ + resctx_t * rctx = event->ev_arg; dns_fetchevent_t *fevent; REQUIRE(event->ev_type == DNS_EVENT_FETCHDONE); @@ -757,9 +763,10 @@ fetch_done(isc_task_t *task, isc_event_t *event) { } static inline isc_result_t -start_fetch(resctx_t *rctx) { +start_fetch(resctx_t *rctx) +{ isc_result_t result; - int fopts = 0; + int fopts = 0; /* * The caller must be holding the rctx's lock. @@ -774,15 +781,11 @@ start_fetch(resctx_t *rctx) { if (rctx->want_tcp) fopts |= DNS_FETCHOPT_TCP; - result = dns_resolver_createfetch(rctx->view->resolver, - dns_fixedname_name(&rctx->name), - rctx->type, - NULL, NULL, NULL, NULL, 0, - fopts, 0, NULL, - rctx->task, fetch_done, rctx, - rctx->rdataset, - rctx->sigrdataset, - &rctx->fetch); + result = dns_resolver_createfetch( + rctx->view->resolver, dns_fixedname_name(&rctx->name), + rctx->type, NULL, NULL, NULL, NULL, 0, fopts, 0, NULL, + rctx->task, fetch_done, rctx, rctx->rdataset, rctx->sigrdataset, + &rctx->fetch); return (result); } @@ -791,8 +794,8 @@ static isc_result_t view_find(resctx_t *rctx, dns_db_t **dbp, dns_dbnode_t **nodep, dns_name_t *foundname) { - isc_result_t result; - dns_name_t *name = dns_fixedname_name(&rctx->name); + isc_result_t result; + dns_name_t * name = dns_fixedname_name(&rctx->name); dns_rdatatype_t type; if (rctx->type == dns_rdatatype_rrsig) @@ -800,28 +803,28 @@ view_find(resctx_t *rctx, dns_db_t **dbp, dns_dbnode_t **nodep, else type = rctx->type; - result = dns_view_find(rctx->view, name, type, 0, 0, false, - false, dbp, nodep, foundname, - rctx->rdataset, + result = dns_view_find(rctx->view, name, type, 0, 0, false, false, dbp, + nodep, foundname, rctx->rdataset, rctx->sigrdataset); return (result); } static void -client_resfind(resctx_t *rctx, dns_fetchevent_t *event) { - isc_mem_t *mctx; - isc_result_t tresult, result = ISC_R_SUCCESS; - isc_result_t vresult = ISC_R_SUCCESS; - bool want_restart; - bool send_event = false; - dns_name_t *name, *prefix; - dns_fixedname_t foundname, fixed; - dns_rdataset_t *trdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; - unsigned int nlabels; - int order; - dns_namereln_t namereln; +client_resfind(resctx_t *rctx, dns_fetchevent_t *event) +{ + isc_mem_t * mctx; + isc_result_t tresult, result = ISC_R_SUCCESS; + isc_result_t vresult = ISC_R_SUCCESS; + bool want_restart; + bool send_event = false; + dns_name_t * name, *prefix; + dns_fixedname_t foundname, fixed; + dns_rdataset_t * trdataset; + dns_rdata_t rdata = DNS_RDATA_INIT; + unsigned int nlabels; + int order; + dns_namereln_t namereln; dns_rdata_cname_t cname; dns_rdata_dname_t dname; @@ -834,9 +837,9 @@ client_resfind(resctx_t *rctx, dns_fetchevent_t *event) { name = dns_fixedname_name(&rctx->name); do { - dns_name_t *fname = NULL; - dns_name_t *ansname = NULL; - dns_db_t *db = NULL; + dns_name_t * fname = NULL; + dns_name_t * ansname = NULL; + dns_db_t * db = NULL; dns_dbnode_t *node = NULL; rctx->restarts++; @@ -977,7 +980,7 @@ client_resfind(resctx_t *rctx, dns_fetchevent_t *event) { prefix = dns_fixedname_initname(&fixed); dns_name_split(name, nlabels, prefix, NULL); tresult = dns_name_concatenate(prefix, &dname.dname, - name, NULL); + name, NULL); dns_rdata_freestruct(&dname); if (tresult == ISC_R_SUCCESS) want_restart = true; @@ -1005,7 +1008,7 @@ client_resfind(resctx_t *rctx, dns_fetchevent_t *event) { } if (rctx->type == dns_rdatatype_any) { - int n = 0; + int n = 0; dns_rdatasetiter_t *rdsiter = NULL; tresult = dns_db_allrdatasets(db, node, NULL, 0, @@ -1021,8 +1024,7 @@ client_resfind(resctx_t *rctx, dns_fetchevent_t *event) { rctx->rdataset); if (rctx->rdataset->type != 0) { ISC_LIST_APPEND(ansname->list, - rctx->rdataset, - link); + rctx->rdataset, link); n++; rctx->rdataset = NULL; } else { @@ -1093,8 +1095,8 @@ client_resfind(resctx_t *rctx, dns_fetchevent_t *event) { if (ansname != NULL) { dns_rdataset_t *rdataset; - while ((rdataset = ISC_LIST_HEAD(ansname->list)) - != NULL) { + while ((rdataset = ISC_LIST_HEAD(ansname->list)) != + NULL) { ISC_LIST_UNLINK(ansname->list, rdataset, link); putrdataset(mctx, &rdataset); } @@ -1159,7 +1161,8 @@ client_resfind(resctx_t *rctx, dns_fetchevent_t *event) { } static void -suspend(isc_task_t *task, isc_event_t *event) { +suspend(isc_task_t *task, isc_event_t *event) +{ isc_appctx_t *actx = event->ev_arg; UNUSED(task); @@ -1169,11 +1172,12 @@ suspend(isc_task_t *task, isc_event_t *event) { } static void -resolve_done(isc_task_t *task, isc_event_t *event) { - resarg_t *resarg = event->ev_arg; +resolve_done(isc_task_t *task, isc_event_t *event) +{ + resarg_t * resarg = event->ev_arg; dns_clientresevent_t *rev = (dns_clientresevent_t *)event; - dns_name_t *name; - isc_result_t result; + dns_name_t * name; + isc_result_t result; UNUSED(task); @@ -1199,7 +1203,7 @@ resolve_done(isc_task_t *task, isc_event_t *event) { * running. */ result = isc_app_ctxonrun(resarg->actx, resarg->client->mctx, - task, suspend, resarg->actx); + task, suspend, resarg->actx); if (result == ISC_R_ALREADYRUNNING) isc_app_ctxsuspend(resarg->actx); } else { @@ -1218,9 +1222,9 @@ dns_client_resolve(dns_client_t *client, const dns_name_t *name, dns_rdataclass_t rdclass, dns_rdatatype_t type, unsigned int options, dns_namelist_t *namelist) { - isc_result_t result; + isc_result_t result; isc_appctx_t *actx; - resarg_t *resarg; + resarg_t * resarg; REQUIRE(DNS_CLIENT_VALID(client)); REQUIRE(namelist != NULL && ISC_LIST_EMPTY(*namelist)); @@ -1300,13 +1304,13 @@ dns_client_startresolve(dns_client_t *client, const dns_name_t *name, isc_taskaction_t action, void *arg, dns_clientrestrans_t **transp) { - dns_view_t *view = NULL; + dns_view_t * view = NULL; dns_clientresevent_t *event = NULL; - resctx_t *rctx = NULL; - isc_task_t *tclone = NULL; - isc_mem_t *mctx; - isc_result_t result; - dns_rdataset_t *rdataset, *sigrdataset; + resctx_t * rctx = NULL; + isc_task_t * tclone = NULL; + isc_mem_t * mctx; + isc_result_t result; + dns_rdataset_t * rdataset, *sigrdataset; bool want_dnssec, want_validation, want_cdflag, want_tcp; REQUIRE(DNS_CLIENT_VALID(client)); @@ -1332,9 +1336,9 @@ dns_client_startresolve(dns_client_t *client, const dns_name_t *name, */ tclone = NULL; isc_task_attach(task, &tclone); - event = (dns_clientresevent_t *) - isc_event_allocate(mctx, tclone, DNS_EVENT_CLIENTRESDONE, - action, arg, sizeof(*event)); + event = (dns_clientresevent_t *)isc_event_allocate( + mctx, tclone, DNS_EVENT_CLIENTRESDONE, action, arg, + sizeof(*event)); event->result = DNS_R_SERVFAIL; ISC_LIST_INIT(event->answerlist); @@ -1383,7 +1387,7 @@ dns_client_startresolve(dns_client_t *client, const dns_name_t *name, return (ISC_R_SUCCESS); - cleanup: +cleanup: if (rdataset != NULL) putrdataset(client->mctx, &rdataset); if (sigrdataset != NULL) @@ -1400,7 +1404,8 @@ dns_client_startresolve(dns_client_t *client, const dns_name_t *name, } void -dns_client_cancelresolve(dns_clientrestrans_t *trans) { +dns_client_cancelresolve(dns_clientrestrans_t *trans) +{ resctx_t *rctx; REQUIRE(trans != NULL); @@ -1419,8 +1424,9 @@ dns_client_cancelresolve(dns_clientrestrans_t *trans) { } void -dns_client_freeresanswer(dns_client_t *client, dns_namelist_t *namelist) { - dns_name_t *name; +dns_client_freeresanswer(dns_client_t *client, dns_namelist_t *namelist) +{ + dns_name_t * name; dns_rdataset_t *rdataset; REQUIRE(DNS_CLIENT_VALID(client)); @@ -1438,9 +1444,10 @@ dns_client_freeresanswer(dns_client_t *client, dns_namelist_t *namelist) { } void -dns_client_destroyrestrans(dns_clientrestrans_t **transp) { - resctx_t *rctx; - isc_mem_t *mctx; +dns_client_destroyrestrans(dns_clientrestrans_t **transp) +{ + resctx_t * rctx; + isc_mem_t * mctx; dns_client_t *client; REQUIRE(transp != NULL); @@ -1477,7 +1484,6 @@ dns_client_destroyrestrans(dns_clientrestrans_t **transp) { isc_mem_put(mctx, rctx, sizeof(*rctx)); dns_client_destroy(&client); - } isc_result_t @@ -1485,16 +1491,16 @@ dns_client_addtrustedkey(dns_client_t *client, dns_rdataclass_t rdclass, dns_rdatatype_t rdtype, const dns_name_t *keyname, isc_buffer_t *databuf) { - isc_result_t result; - dns_view_t *view = NULL; - dns_keytable_t *secroots = NULL; - dns_name_t *name = NULL; - char dsbuf[DNS_DS_BUFFERSIZE]; - unsigned char digest[ISC_MAX_MD_SIZE]; - dns_rdata_ds_t ds; + isc_result_t result; + dns_view_t * view = NULL; + dns_keytable_t * secroots = NULL; + dns_name_t * name = NULL; + char dsbuf[DNS_DS_BUFFERSIZE]; + unsigned char digest[ISC_MAX_MD_SIZE]; + dns_rdata_ds_t ds; dns_decompress_t dctx; - dns_rdata_t rdata; - isc_buffer_t b; + dns_rdata_t rdata; + isc_buffer_t b; REQUIRE(DNS_CLIENT_VALID(client)); @@ -1517,8 +1523,8 @@ dns_client_addtrustedkey(dns_client_t *client, dns_rdataclass_t rdclass, dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_NONE); dns_rdata_init(&rdata); isc_buffer_setactive(databuf, isc_buffer_usedlength(databuf)); - CHECK(dns_rdata_fromwire(&rdata, rdclass, rdtype, - databuf, &dctx, 0, &b)); + CHECK(dns_rdata_fromwire(&rdata, rdclass, rdtype, databuf, &dctx, 0, + &b)); dns_decompress_invalidate(&dctx); if (rdtype == dns_rdatatype_ds) { @@ -1530,7 +1536,7 @@ dns_client_addtrustedkey(dns_client_t *client, dns_rdataclass_t rdclass, CHECK(dns_keytable_add(secroots, false, false, name, &ds)); - cleanup: +cleanup: if (view != NULL) { dns_view_detach(&view); } @@ -1544,11 +1550,12 @@ dns_client_addtrustedkey(dns_client_t *client, dns_rdataclass_t rdclass, * Simple request routines */ static void -request_done(isc_task_t *task, isc_event_t *event) { +request_done(isc_task_t *task, isc_event_t *event) +{ dns_requestevent_t *reqev = NULL; - dns_request_t *request; - isc_result_t result, eresult; - reqctx_t *ctx; + dns_request_t * request; + isc_result_t result, eresult; + reqctx_t * ctx; UNUSED(task); @@ -1583,9 +1590,10 @@ request_done(isc_task_t *task, isc_event_t *event) { } static void -localrequest_done(isc_task_t *task, isc_event_t *event) { - reqarg_t *reqarg = event->ev_arg; - dns_clientreqevent_t *rev =(dns_clientreqevent_t *)event; +localrequest_done(isc_task_t *task, isc_event_t *event) +{ + reqarg_t * reqarg = event->ev_arg; + dns_clientreqevent_t *rev = (dns_clientreqevent_t *)event; UNUSED(task); @@ -1621,8 +1629,8 @@ dns_client_request(dns_client_t *client, dns_message_t *qmessage, unsigned int udptimeout, unsigned int udpretries) { isc_appctx_t *actx; - reqarg_t *reqarg; - isc_result_t result; + reqarg_t * reqarg; + isc_result_t result; REQUIRE(DNS_CLIENT_VALID(client)); REQUIRE(qmessage != NULL); @@ -1648,11 +1656,10 @@ dns_client_request(dns_client_t *client, dns_message_t *qmessage, reqarg->trans = NULL; reqarg->canceled = false; - result = dns_client_startrequest(client, qmessage, rmessage, server, - options, parseoptions, tsec, timeout, - udptimeout, udpretries, - client->task, localrequest_done, - reqarg, &reqarg->trans); + result = dns_client_startrequest( + client, qmessage, rmessage, server, options, parseoptions, tsec, + timeout, udptimeout, udpretries, client->task, + localrequest_done, reqarg, &reqarg->trans); if (result != ISC_R_SUCCESS) { isc_mutex_destroy(&reqarg->lock); isc_mem_put(client->mctx, reqarg, sizeof(*reqarg)); @@ -1698,13 +1705,13 @@ dns_client_startrequest(dns_client_t *client, dns_message_t *qmessage, isc_task_t *task, isc_taskaction_t action, void *arg, dns_clientreqtrans_t **transp) { - isc_result_t result; - dns_view_t *view = NULL; - isc_task_t *tclone = NULL; + isc_result_t result; + dns_view_t * view = NULL; + isc_task_t * tclone = NULL; dns_clientreqevent_t *event = NULL; - reqctx_t *ctx = NULL; - dns_tsectype_t tsectype = dns_tsectype_none; - unsigned int reqoptions; + reqctx_t * ctx = NULL; + dns_tsectype_t tsectype = dns_tsectype_none; + unsigned int reqoptions; REQUIRE(DNS_CLIENT_VALID(client)); REQUIRE(qmessage != NULL); @@ -1730,10 +1737,9 @@ dns_client_startrequest(dns_client_t *client, dns_message_t *qmessage, tclone = NULL; isc_task_attach(task, &tclone); - event = (dns_clientreqevent_t *) - isc_event_allocate(client->mctx, tclone, - DNS_EVENT_CLIENTREQDONE, - action, arg, sizeof(*event)); + event = (dns_clientreqevent_t *)isc_event_allocate( + client->mctx, tclone, DNS_EVENT_CLIENTREQDONE, action, arg, + sizeof(*event)); ctx = isc_mem_get(client->mctx, sizeof(*ctx)); isc_mutex_init(&ctx->lock); @@ -1756,11 +1762,10 @@ dns_client_startrequest(dns_client_t *client, dns_message_t *qmessage, UNLOCK(&client->lock); ctx->request = NULL; - result = dns_request_createvia(view->requestmgr, qmessage, NULL, - server, -1, reqoptions, ctx->tsigkey, - timeout, udptimeout, udpretries, - client->task, request_done, ctx, - &ctx->request); + result = dns_request_createvia(view->requestmgr, qmessage, NULL, server, + -1, reqoptions, ctx->tsigkey, timeout, + udptimeout, udpretries, client->task, + request_done, ctx, &ctx->request); if (result == ISC_R_SUCCESS) { dns_view_detach(&view); *transp = (dns_clientreqtrans_t *)ctx; @@ -1783,7 +1788,8 @@ dns_client_startrequest(dns_client_t *client, dns_message_t *qmessage, } void -dns_client_cancelrequest(dns_clientreqtrans_t *trans) { +dns_client_cancelrequest(dns_clientreqtrans_t *trans) +{ reqctx_t *ctx; REQUIRE(trans != NULL); @@ -1802,9 +1808,10 @@ dns_client_cancelrequest(dns_clientreqtrans_t *trans) { } void -dns_client_destroyreqtrans(dns_clientreqtrans_t **transp) { - reqctx_t *ctx; - isc_mem_t *mctx; +dns_client_destroyreqtrans(dns_clientreqtrans_t **transp) +{ + reqctx_t * ctx; + isc_mem_t * mctx; dns_client_t *client; REQUIRE(transp != NULL); @@ -1838,7 +1845,8 @@ dns_client_destroyreqtrans(dns_clientreqtrans_t **transp) { * Dynamic update routines */ static isc_result_t -rcode2result(dns_rcode_t rcode) { +rcode2result(dns_rcode_t rcode) +{ /* XXX: isn't there a similar function? */ switch (rcode) { case dns_rcode_formerr: @@ -1869,7 +1877,8 @@ rcode2result(dns_rcode_t rcode) { } static void -update_sendevent(updatectx_t *uctx, isc_result_t result) { +update_sendevent(updatectx_t *uctx, isc_result_t result) +{ isc_task_t *task; dns_message_destroy(&uctx->updatemsg); @@ -1889,14 +1898,15 @@ update_sendevent(updatectx_t *uctx, isc_result_t result) { } static void -update_done(isc_task_t *task, isc_event_t *event) { - isc_result_t result; +update_done(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result; dns_requestevent_t *reqev = NULL; - dns_request_t *request; - dns_message_t *answer = NULL; - updatectx_t *uctx = event->ev_arg; - dns_client_t *client; - unsigned int timeout, reqoptions; + dns_request_t * request; + dns_message_t * answer = NULL; + updatectx_t * uctx = event->ev_arg; + dns_client_t * client; + unsigned int timeout, reqoptions; UNUSED(task); @@ -1921,7 +1931,7 @@ update_done(isc_task_t *task, isc_event_t *event) { if (result == ISC_R_SUCCESS && answer->rcode != dns_rcode_noerror) result = rcode2result(answer->rcode); - out: +out: if (answer != NULL) dns_message_destroy(&answer); isc_event_free(&event); @@ -1942,8 +1952,7 @@ update_done(isc_task_t *task, isc_event_t *event) { if (result != ISC_R_SUCCESS && result != DNS_R_NXDOMAIN && result != DNS_R_YXDOMAIN && result != DNS_R_YXRRSET && result != DNS_R_NXRRSET && result != DNS_R_NOTZONE && - !uctx->canceled && uctx->currentserver != NULL) - { + !uctx->canceled && uctx->currentserver != NULL) { dns_message_renderreset(uctx->updatemsg); dns_message_settsigkey(uctx->updatemsg, NULL); @@ -1953,19 +1962,12 @@ update_done(isc_task_t *task, isc_event_t *event) { reqoptions = 0; if (uctx->want_tcp) reqoptions |= DNS_REQUESTOPT_TCP; - result = dns_request_createvia(uctx->view->requestmgr, - uctx->updatemsg, - NULL, - uctx->currentserver, - -1, - reqoptions, - uctx->tsigkey, - timeout, - client->update_udptimeout, - client->update_udpretries, - client->task, - update_done, uctx, - &uctx->updatereq); + result = dns_request_createvia( + uctx->view->requestmgr, uctx->updatemsg, NULL, + uctx->currentserver, -1, reqoptions, uctx->tsigkey, + timeout, client->update_udptimeout, + client->update_udpretries, client->task, update_done, + uctx, &uctx->updatereq); UNLOCK(&uctx->lock); if (result == ISC_R_SUCCESS) { @@ -1980,12 +1982,13 @@ update_done(isc_task_t *task, isc_event_t *event) { } static isc_result_t -send_update(updatectx_t *uctx) { - isc_result_t result; - dns_name_t *name = NULL; +send_update(updatectx_t *uctx) +{ + isc_result_t result; + dns_name_t * name = NULL; dns_rdataset_t *rdataset = NULL; - dns_client_t *client = uctx->client; - unsigned int timeout, reqoptions; + dns_client_t * client = uctx->client; + unsigned int timeout, reqoptions; REQUIRE(uctx->zonename != NULL && uctx->currentserver != NULL); @@ -2004,8 +2007,7 @@ send_update(updatectx_t *uctx) { ISC_LIST_APPEND(name->list, rdataset, link); dns_message_addname(uctx->updatemsg, name, DNS_SECTION_ZONE); if (uctx->tsigkey == NULL && uctx->sig0key != NULL) { - result = dns_message_setsig0key(uctx->updatemsg, - uctx->sig0key); + result = dns_message_setsig0key(uctx->updatemsg, uctx->sig0key); if (result != ISC_R_SUCCESS) return (result); } @@ -2015,14 +2017,11 @@ send_update(updatectx_t *uctx) { reqoptions = 0; if (uctx->want_tcp) reqoptions |= DNS_REQUESTOPT_TCP; - result = dns_request_createvia(uctx->view->requestmgr, - uctx->updatemsg, - NULL, uctx->currentserver, - -1, reqoptions, uctx->tsigkey, timeout, - client->update_udptimeout, - client->update_udpretries, - client->task, update_done, uctx, - &uctx->updatereq); + result = dns_request_createvia( + uctx->view->requestmgr, uctx->updatemsg, NULL, + uctx->currentserver, -1, reqoptions, uctx->tsigkey, timeout, + client->update_udptimeout, client->update_udpretries, + client->task, update_done, uctx, &uctx->updatereq); if (result == ISC_R_SUCCESS && uctx->state == dns_clientupdatestate_prepare) { uctx->state = dns_clientupdatestate_sent; @@ -2032,15 +2031,16 @@ send_update(updatectx_t *uctx) { } static void -resolveaddr_done(isc_task_t *task, isc_event_t *event) { - isc_result_t result; - int family; - dns_rdatatype_t qtype; +resolveaddr_done(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result; + int family; + dns_rdatatype_t qtype; dns_clientresevent_t *rev = (dns_clientresevent_t *)event; - dns_name_t *name; - dns_rdataset_t *rdataset; - updatectx_t *uctx; - bool completed = false; + dns_name_t * name; + dns_rdataset_t * rdataset; + updatectx_t * uctx; + bool completed = false; UNUSED(task); @@ -2069,8 +2069,7 @@ resolveaddr_done(isc_task_t *task, isc_event_t *event) { for (name = ISC_LIST_HEAD(rev->answerlist); name != NULL; name = ISC_LIST_NEXT(name, link)) { - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { if (!dns_rdataset_isassociated(rdataset)) continue; @@ -2080,10 +2079,10 @@ resolveaddr_done(isc_task_t *task, isc_event_t *event) { for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(rdataset)) { - dns_rdata_t rdata; - dns_rdata_in_a_t rdata_a; + dns_rdata_t rdata; + dns_rdata_in_a_t rdata_a; dns_rdata_in_aaaa_t rdata_aaaa; - isc_sockaddr_t *sa; + isc_sockaddr_t * sa; sa = isc_mem_get(uctx->client->mctx, sizeof(*sa)); @@ -2092,22 +2091,20 @@ resolveaddr_done(isc_task_t *task, isc_event_t *event) { switch (family) { case AF_INET: dns_rdataset_current(rdataset, &rdata); - result = dns_rdata_tostruct(&rdata, &rdata_a, - NULL); + result = dns_rdata_tostruct( + &rdata, &rdata_a, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); - isc_sockaddr_fromin(sa, - &rdata_a.in_addr, - 53); + isc_sockaddr_fromin( + sa, &rdata_a.in_addr, 53); dns_rdata_freestruct(&rdata_a); break; case AF_INET6: dns_rdataset_current(rdataset, &rdata); - result = dns_rdata_tostruct(&rdata, &rdata_aaaa, - NULL); + result = dns_rdata_tostruct( + &rdata, &rdata_aaaa, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); - isc_sockaddr_fromin6(sa, - &rdata_aaaa.in6_addr, - 53); + isc_sockaddr_fromin6( + sa, &rdata_aaaa.in6_addr, 53); dns_rdata_freestruct(&rdata_aaaa); break; } @@ -2119,7 +2116,7 @@ resolveaddr_done(isc_task_t *task, isc_event_t *event) { } } - done: +done: dns_client_freeresanswer(uctx->client, &rev->answerlist); isc_event_free(&event); @@ -2145,11 +2142,11 @@ static isc_result_t process_soa(updatectx_t *uctx, dns_rdataset_t *soaset, const dns_name_t *soaname) { - isc_result_t result; - dns_rdata_t soarr = DNS_RDATA_INIT; + isc_result_t result; + dns_rdata_t soarr = DNS_RDATA_INIT; dns_rdata_soa_t soa; - dns_name_t primary; - unsigned int resoptions; + dns_name_t primary; + unsigned int resoptions; result = dns_rdataset_first(soaset); if (result != ISC_R_SUCCESS) @@ -2180,24 +2177,17 @@ process_soa(updatectx_t *uctx, dns_rdataset_t *soaset, resoptions = 0; if (uctx->want_tcp) resoptions |= DNS_CLIENTRESOPT_TCP; - result = dns_client_startresolve(uctx->client, &primary, - uctx->rdclass, - dns_rdatatype_a, - resoptions, - uctx->client->task, - resolveaddr_done, &uctx->bp4, - &uctx->restrans); + result = dns_client_startresolve( + uctx->client, &primary, uctx->rdclass, dns_rdatatype_a, + resoptions, uctx->client->task, resolveaddr_done, + &uctx->bp4, &uctx->restrans); if (result == ISC_R_SUCCESS) { uctx->bp6 = uctx; - result = dns_client_startresolve(uctx->client, - &primary, - uctx->rdclass, - dns_rdatatype_aaaa, - resoptions, - uctx->client->task, - resolveaddr_done, - &uctx->bp6, - &uctx->restrans2); + result = dns_client_startresolve( + uctx->client, &primary, uctx->rdclass, + dns_rdatatype_aaaa, resoptions, + uctx->client->task, resolveaddr_done, + &uctx->bp6, &uctx->restrans2); } UNLOCK(&uctx->lock); } @@ -2208,23 +2198,24 @@ process_soa(updatectx_t *uctx, dns_rdataset_t *soaset, } static void -receive_soa(isc_task_t *task, isc_event_t *event) { +receive_soa(isc_task_t *task, isc_event_t *event) +{ dns_requestevent_t *reqev = NULL; - updatectx_t *uctx; - dns_client_t *client; - isc_result_t result, eresult; - dns_request_t *request; - dns_message_t *rcvmsg = NULL; - dns_section_t section; - dns_rdataset_t *soaset = NULL; - int pass = 0; - dns_name_t *name; - dns_message_t *soaquery = NULL; - isc_sockaddr_t *addr; - bool seencname = false; - bool droplabel = false; - dns_name_t tname; - unsigned int nlabels, reqoptions; + updatectx_t * uctx; + dns_client_t * client; + isc_result_t result, eresult; + dns_request_t * request; + dns_message_t * rcvmsg = NULL; + dns_section_t section; + dns_rdataset_t * soaset = NULL; + int pass = 0; + dns_name_t * name; + dns_message_t * soaquery = NULL; + isc_sockaddr_t * addr; + bool seencname = false; + bool droplabel = false; + dns_name_t tname; + unsigned int nlabels, reqoptions; UNUSED(task); @@ -2246,8 +2237,8 @@ receive_soa(isc_task_t *task, isc_event_t *event) { goto out; } - result = dns_message_create(uctx->client->mctx, - DNS_MESSAGE_INTENTPARSE, &rcvmsg); + result = dns_message_create(uctx->client->mctx, DNS_MESSAGE_INTENTPARSE, + &rcvmsg); if (result != ISC_R_SUCCESS) goto out; result = dns_request_getresponse(request, rcvmsg, @@ -2262,14 +2253,11 @@ receive_soa(isc_task_t *task, isc_event_t *event) { reqoptions = 0; if (uctx->want_tcp) reqoptions |= DNS_REQUESTOPT_TCP; - result = dns_request_createvia(uctx->view->requestmgr, - uctx->soaquery, NULL, addr, -1, - reqoptions, NULL, - client->find_timeout * 20, - client->find_timeout, 3, - uctx->client->task, - receive_soa, uctx, - &newrequest); + result = dns_request_createvia( + uctx->view->requestmgr, uctx->soaquery, NULL, addr, -1, + reqoptions, NULL, client->find_timeout * 20, + client->find_timeout, 3, uctx->client->task, + receive_soa, uctx, &newrequest); if (result == ISC_R_SUCCESS) { LOCK(&uctx->lock); dns_request_destroy(&uctx->soareq); @@ -2290,7 +2278,7 @@ receive_soa(isc_task_t *task, isc_event_t *event) { goto out; } - lookforsoa: +lookforsoa: if (pass == 0) section = DNS_SECTION_ANSWER; else if (pass == 1) @@ -2316,12 +2304,9 @@ receive_soa(isc_task_t *task, isc_event_t *event) { if (section == DNS_SECTION_ANSWER) { dns_rdataset_t *tset = NULL; if (dns_message_findtype(name, dns_rdatatype_cname, 0, - &tset) == ISC_R_SUCCESS - || + &tset) == ISC_R_SUCCESS || dns_message_findtype(name, dns_rdatatype_dname, 0, - &tset) == ISC_R_SUCCESS - ) - { + &tset) == ISC_R_SUCCESS) { seencname = true; break; } @@ -2342,7 +2327,7 @@ receive_soa(isc_task_t *task, isc_event_t *event) { result = process_soa(uctx, soaset, name); - out: +out: if (droplabel) { result = dns_message_firstname(soaquery, DNS_SECTION_QUESTION); INSIST(result == ISC_R_SUCCESS); @@ -2353,8 +2338,7 @@ receive_soa(isc_task_t *task, isc_event_t *event) { result = DNS_R_SERVFAIL; /* is there a better error? */ else { dns_name_init(&tname, NULL); - dns_name_getlabelsequence(name, 1, nlabels - 1, - &tname); + dns_name_getlabelsequence(name, 1, nlabels - 1, &tname); dns_name_clone(&tname, name); dns_request_destroy(&request); LOCK(&uctx->lock); @@ -2365,18 +2349,12 @@ receive_soa(isc_task_t *task, isc_event_t *event) { reqoptions = 0; if (uctx->want_tcp) reqoptions |= DNS_REQUESTOPT_TCP; - result = dns_request_createvia(uctx->view->requestmgr, - soaquery, NULL, - uctx->currentserver, - -1, - reqoptions, - uctx->tsigkey, - client->find_timeout * - 20, - client->find_timeout, - 3, client->task, - receive_soa, uctx, - &uctx->soareq); + result = dns_request_createvia( + uctx->view->requestmgr, soaquery, NULL, + uctx->currentserver, -1, reqoptions, + uctx->tsigkey, client->find_timeout * 20, + client->find_timeout, 3, client->task, + receive_soa, uctx, &uctx->soareq); } } @@ -2395,12 +2373,13 @@ receive_soa(isc_task_t *task, isc_event_t *event) { } static isc_result_t -request_soa(updatectx_t *uctx) { - isc_result_t result; - dns_message_t *soaquery = uctx->soaquery; - dns_name_t *name = NULL; +request_soa(updatectx_t *uctx) +{ + isc_result_t result; + dns_message_t * soaquery = uctx->soaquery; + dns_name_t * name = NULL; dns_rdataset_t *rdataset = NULL; - unsigned int reqoptions; + unsigned int reqoptions; if (soaquery == NULL) { result = dns_message_create(uctx->client->mctx, @@ -2426,19 +2405,17 @@ request_soa(updatectx_t *uctx) { if (uctx->want_tcp) reqoptions |= DNS_REQUESTOPT_TCP; - result = dns_request_createvia(uctx->view->requestmgr, - soaquery, NULL, uctx->currentserver, - -1, reqoptions, uctx->tsigkey, - uctx->client->find_timeout * 20, - uctx->client->find_timeout, 3, - uctx->client->task, receive_soa, uctx, - &uctx->soareq); + result = dns_request_createvia( + uctx->view->requestmgr, soaquery, NULL, uctx->currentserver, -1, + reqoptions, uctx->tsigkey, uctx->client->find_timeout * 20, + uctx->client->find_timeout, 3, uctx->client->task, receive_soa, + uctx, &uctx->soareq); if (result == ISC_R_SUCCESS) { uctx->soaquery = soaquery; return (ISC_R_SUCCESS); } - fail: +fail: if (rdataset != NULL) { ISC_LIST_UNLINK(name->list, rdataset, link); /* for safety */ dns_message_puttemprdataset(soaquery, &rdataset); @@ -2451,13 +2428,14 @@ request_soa(updatectx_t *uctx) { } static void -resolvesoa_done(isc_task_t *task, isc_event_t *event) { +resolvesoa_done(isc_task_t *task, isc_event_t *event) +{ dns_clientresevent_t *rev = (dns_clientresevent_t *)event; - updatectx_t *uctx; - dns_name_t *name, tname; - dns_rdataset_t *rdataset = NULL; - isc_result_t result = rev->result; - unsigned int nlabels, resoptions; + updatectx_t * uctx; + dns_name_t * name, tname; + dns_rdataset_t * rdataset = NULL; + isc_result_t result = rev->result; + unsigned int nlabels, resoptions; UNUSED(task); @@ -2469,8 +2447,7 @@ resolvesoa_done(isc_task_t *task, isc_event_t *event) { UNLOCK(&uctx->lock); uctx = event->ev_arg; - if (result != ISC_R_SUCCESS && - result != DNS_R_NCACHENXDOMAIN && + if (result != ISC_R_SUCCESS && result != DNS_R_NCACHENXDOMAIN && result != DNS_R_NCACHENXRRSET) { /* XXX: what about DNSSEC failure? */ goto out; @@ -2478,8 +2455,7 @@ resolvesoa_done(isc_task_t *task, isc_event_t *event) { for (name = ISC_LIST_HEAD(rev->answerlist); name != NULL; name = ISC_LIST_NEXT(name, link)) { - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { if (dns_rdataset_isassociated(rdataset) && rdataset->type == dns_rdatatype_soa) @@ -2502,17 +2478,14 @@ resolvesoa_done(isc_task_t *task, isc_event_t *event) { if (uctx->want_tcp) resoptions |= DNS_CLIENTRESOPT_TCP; - result = dns_client_startresolve(uctx->client, &uctx->soaqname, - uctx->rdclass, - dns_rdatatype_soa, - resoptions, - uctx->client->task, - resolvesoa_done, uctx, - &uctx->restrans); + result = dns_client_startresolve( + uctx->client, &uctx->soaqname, uctx->rdclass, + dns_rdatatype_soa, resoptions, uctx->client->task, + resolvesoa_done, uctx, &uctx->restrans); } else result = process_soa(uctx, rdataset, &uctx->soaqname); - out: +out: dns_client_freeresanswer(uctx->client, &rev->answerlist); isc_event_free(&event); @@ -2524,13 +2497,13 @@ static isc_result_t copy_name(isc_mem_t *mctx, dns_message_t *msg, const dns_name_t *name, dns_name_t **newnamep) { - isc_result_t result; - dns_name_t *newname = NULL; - isc_region_t r; - isc_buffer_t *namebuf = NULL, *rdatabuf = NULL; + isc_result_t result; + dns_name_t * newname = NULL; + isc_region_t r; + isc_buffer_t * namebuf = NULL, *rdatabuf = NULL; dns_rdatalist_t *rdatalist; - dns_rdataset_t *rdataset, *newrdataset; - dns_rdata_t rdata = DNS_RDATA_INIT, *newrdata; + dns_rdataset_t * rdataset, *newrdataset; + dns_rdata_t rdata = DNS_RDATA_INIT, *newrdata; result = dns_message_gettempname(msg, &newname); if (result != ISC_R_SUCCESS) @@ -2591,16 +2564,16 @@ copy_name(isc_mem_t *mctx, dns_message_t *msg, const dns_name_t *name, return (ISC_R_SUCCESS); - fail: +fail: dns_message_puttempname(msg, &newname); return (result); - } static void -internal_update_callback(isc_task_t *task, isc_event_t *event) { - updatearg_t *uarg = event->ev_arg; +internal_update_callback(isc_task_t *task, isc_event_t *event) +{ + updatearg_t * uarg = event->ev_arg; dns_clientupdateevent_t *uev = (dns_clientupdateevent_t *)event; UNUSED(task); @@ -2634,9 +2607,9 @@ dns_client_update(dns_client_t *client, dns_rdataclass_t rdclass, dns_namelist_t *updates, isc_sockaddrlist_t *servers, dns_tsec_t *tsec, unsigned int options) { - isc_result_t result; + isc_result_t result; isc_appctx_t *actx; - updatearg_t *uarg; + updatearg_t * uarg; REQUIRE(DNS_CLIENT_VALID(client)); @@ -2661,11 +2634,10 @@ dns_client_update(dns_client_t *client, dns_rdataclass_t rdclass, uarg->trans = NULL; uarg->canceled = false; - result = dns_client_startupdate(client, rdclass, zonename, - prerequisites, updates, servers, - tsec, options, client->task, - internal_update_callback, uarg, - &uarg->trans); + result = dns_client_startupdate( + client, rdclass, zonename, prerequisites, updates, servers, + tsec, options, client->task, internal_update_callback, uarg, + &uarg->trans); if (result != ISC_R_SUCCESS) { isc_mutex_destroy(&uarg->lock); isc_mem_put(client->mctx, uarg, sizeof(*uarg)); @@ -2704,7 +2676,8 @@ dns_client_update(dns_client_t *client, dns_rdataclass_t rdclass, } static void -startupdate(isc_task_t *task, isc_event_t *event) { +startupdate(isc_task_t *task, isc_event_t *event) +{ updatectx_t *uctx; isc_result_t result; unsigned int resoptions; @@ -2728,12 +2701,10 @@ startupdate(isc_task_t *task, isc_event_t *event) { if (uctx->want_tcp) resoptions |= DNS_CLIENTRESOPT_TCP; dns_name_clone(uctx->firstname, &uctx->soaqname); - result = dns_client_startresolve(uctx->client, &uctx->soaqname, - uctx->rdclass, - dns_rdatatype_soa, resoptions, - uctx->client->task, - resolvesoa_done, uctx, - &uctx->restrans); + result = dns_client_startresolve( + uctx->client, &uctx->soaqname, uctx->rdclass, + dns_rdatatype_soa, resoptions, uctx->client->task, + resolvesoa_done, uctx, &uctx->restrans); if (result != ISC_R_SUCCESS) goto fail; } @@ -2748,21 +2719,21 @@ fail: isc_result_t dns_client_startupdate(dns_client_t *client, dns_rdataclass_t rdclass, const dns_name_t *zonename, - dns_namelist_t *prerequisites, - dns_namelist_t *updates, isc_sockaddrlist_t *servers, - dns_tsec_t *tsec, unsigned int options, - isc_task_t *task, isc_taskaction_t action, void *arg, + dns_namelist_t *prerequisites, dns_namelist_t *updates, + isc_sockaddrlist_t *servers, dns_tsec_t *tsec, + unsigned int options, isc_task_t *task, + isc_taskaction_t action, void *arg, dns_clientupdatetrans_t **transp) { - dns_view_t *view = NULL; - isc_result_t result; - dns_name_t *name, *newname; - updatectx_t *uctx; - isc_task_t *tclone = NULL; - dns_section_t section = DNS_SECTION_UPDATE; + dns_view_t * view = NULL; + isc_result_t result; + dns_name_t * name, *newname; + updatectx_t * uctx; + isc_task_t * tclone = NULL; + dns_section_t section = DNS_SECTION_UPDATE; isc_sockaddr_t *server, *sa = NULL; - dns_tsectype_t tsectype = dns_tsectype_none; - bool want_tcp; + dns_tsectype_t tsectype = dns_tsectype_none; + bool want_tcp; UNUSED(options); @@ -2822,16 +2793,15 @@ dns_client_startupdate(dns_client_t *client, dns_rdataclass_t rdclass, dns_fixedname_init(&uctx->zonefname); if (tsec != NULL) dns_tsec_getkey(tsec, &uctx->tsigkey); - uctx->event = (dns_clientupdateevent_t *) - isc_event_allocate(client->mctx, tclone, DNS_EVENT_UPDATEDONE, - action, arg, sizeof(*uctx->event)); + uctx->event = (dns_clientupdateevent_t *)isc_event_allocate( + client->mctx, tclone, DNS_EVENT_UPDATEDONE, action, arg, + sizeof(*uctx->event)); if (zonename != NULL) { uctx->zonename = dns_fixedname_name(&uctx->zonefname); dns_name_copynf(zonename, uctx->zonename); } if (servers != NULL) { - for (server = ISC_LIST_HEAD(*servers); - server != NULL; + for (server = ISC_LIST_HEAD(*servers); server != NULL; server = ISC_LIST_NEXT(server, link)) { sa = isc_mem_get(client->mctx, sizeof(*sa)); sa->type = server->type; @@ -2855,8 +2825,8 @@ dns_client_startupdate(dns_client_t *client, dns_rdataclass_t rdclass, for (name = ISC_LIST_HEAD(*prerequisites); name != NULL; name = ISC_LIST_NEXT(name, link)) { newname = NULL; - result = copy_name(client->mctx, uctx->updatemsg, - name, &newname); + result = copy_name(client->mctx, uctx->updatemsg, name, + &newname); if (result != ISC_R_SUCCESS) goto fail; dns_message_addname(uctx->updatemsg, newname, @@ -2909,7 +2879,7 @@ dns_client_startupdate(dns_client_t *client, dns_rdataclass_t rdclass, isc_refcount_decrement(&client->references); *transp = NULL; - fail: +fail: if (ISC_LINK_LINKED(uctx, link)) { LOCK(&client->lock); ISC_LIST_UNLINK(client->updatectxs, uctx, link); @@ -2935,7 +2905,8 @@ dns_client_startupdate(dns_client_t *client, dns_rdataclass_t rdclass, } void -dns_client_cancelupdate(dns_clientupdatetrans_t *trans) { +dns_client_cancelupdate(dns_clientupdatetrans_t *trans) +{ updatectx_t *uctx; REQUIRE(trans != NULL); @@ -2960,10 +2931,11 @@ dns_client_cancelupdate(dns_clientupdatetrans_t *trans) { } void -dns_client_destroyupdatetrans(dns_clientupdatetrans_t **transp) { - updatectx_t *uctx; - isc_mem_t *mctx; - dns_client_t *client; +dns_client_destroyupdatetrans(dns_clientupdatetrans_t **transp) +{ + updatectx_t * uctx; + isc_mem_t * mctx; + dns_client_t * client; isc_sockaddr_t *sa; REQUIRE(transp != NULL); @@ -3000,16 +2972,16 @@ dns_client_destroyupdatetrans(dns_clientupdatetrans_t **transp) { } isc_mem_t * -dns_client_mctx(dns_client_t *client) { - +dns_client_mctx(dns_client_t *client) +{ REQUIRE(DNS_CLIENT_VALID(client)); return (client->mctx); } typedef struct { - isc_buffer_t buffer; + isc_buffer_t buffer; dns_rdataset_t rdataset; - dns_rdatalist_t rdatalist; + dns_rdatalist_t rdatalist; dns_rdata_t rdata; size_t size; isc_mem_t * mctx; @@ -3018,13 +2990,13 @@ typedef struct { isc_result_t dns_client_updaterec(dns_client_updateop_t op, const dns_name_t *owner, - dns_rdatatype_t type, dns_rdata_t *source, - dns_ttl_t ttl, dns_name_t *target, - dns_rdataset_t *rdataset, dns_rdatalist_t *rdatalist, - dns_rdata_t *rdata, isc_mem_t *mctx) + dns_rdatatype_t type, dns_rdata_t *source, dns_ttl_t ttl, + dns_name_t *target, dns_rdataset_t *rdataset, + dns_rdatalist_t *rdatalist, dns_rdata_t *rdata, + isc_mem_t *mctx) { dns_client_updaterec_t *updaterec = NULL; - size_t size = offsetof(dns_client_updaterec_t, data); + size_t size = offsetof(dns_client_updaterec_t, data); REQUIRE(op < updateop_max); REQUIRE(owner != NULL); @@ -3051,10 +3023,10 @@ dns_client_updaterec(dns_client_updateop_t op, const dns_name_t *owner, dns_rdataset_init(rdataset); dns_rdatalist_init(&updaterec->rdatalist); dns_rdata_init(&updaterec->rdata); - isc_buffer_init(&updaterec->buffer, updaterec->data, - (unsigned int) - (size - - offsetof(dns_client_updaterec_t, data))); + isc_buffer_init( + &updaterec->buffer, updaterec->data, + (unsigned int)(size - + offsetof(dns_client_updaterec_t, data))); dns_name_copy(owner, target, &updaterec->buffer); if (source != NULL) { isc_region_t r; @@ -3114,18 +3086,18 @@ dns_client_updaterec(dns_client_updateop_t op, const dns_name_t *owner, } void -dns_client_freeupdate(dns_name_t **namep) { +dns_client_freeupdate(dns_name_t **namep) +{ dns_client_updaterec_t *updaterec; - dns_rdatalist_t *rdatalist; - dns_rdataset_t *rdataset; - dns_rdata_t *rdata; - dns_name_t *name; + dns_rdatalist_t * rdatalist; + dns_rdataset_t * rdataset; + dns_rdata_t * rdata; + dns_name_t * name; REQUIRE(namep != NULL && *namep != NULL); name = *namep; - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_HEAD(name->list)) { ISC_LIST_UNLINK(name->list, rdataset, link); rdatalist = NULL; @@ -3134,8 +3106,7 @@ dns_client_freeupdate(dns_name_t **namep) { dns_rdataset_disassociate(rdataset); continue; } - for (rdata = ISC_LIST_HEAD(rdatalist->rdata); - rdata != NULL; + for (rdata = ISC_LIST_HEAD(rdatalist->rdata); rdata != NULL; rdata = ISC_LIST_HEAD(rdatalist->rdata)) ISC_LIST_UNLINK(rdatalist->rdata, rdata, link); dns_rdataset_disassociate(rdataset); diff --git a/lib/dns/clientinfo.c b/lib/dns/clientinfo.c index 3c4280eef3..f1feee7026 100644 --- a/lib/dns/clientinfo.c +++ b/lib/dns/clientinfo.c @@ -14,7 +14,7 @@ #include void -dns_clientinfomethods_init(dns_clientinfomethods_t *methods, +dns_clientinfomethods_init(dns_clientinfomethods_t * methods, dns_clientinfo_sourceip_t sourceip) { methods->version = DNS_CLIENTINFOMETHODS_VERSION; @@ -23,7 +23,8 @@ dns_clientinfomethods_init(dns_clientinfomethods_t *methods, } void -dns_clientinfo_init(dns_clientinfo_t *ci, void *data, void *versionp) { +dns_clientinfo_init(dns_clientinfo_t *ci, void *data, void *versionp) +{ ci->version = DNS_CLIENTINFO_VERSION; ci->data = data; ci->dbversion = versionp; diff --git a/lib/dns/compress.c b/lib/dns/compress.c index 94a43e14eb..5c7a0dff01 100644 --- a/lib/dns/compress.c +++ b/lib/dns/compress.c @@ -25,45 +25,35 @@ #include #include -#define CCTX_MAGIC ISC_MAGIC('C', 'C', 'T', 'X') -#define VALID_CCTX(x) ISC_MAGIC_VALID(x, CCTX_MAGIC) +#define CCTX_MAGIC ISC_MAGIC('C', 'C', 'T', 'X') +#define VALID_CCTX(x) ISC_MAGIC_VALID(x, CCTX_MAGIC) -#define DCTX_MAGIC ISC_MAGIC('D', 'C', 'T', 'X') -#define VALID_DCTX(x) ISC_MAGIC_VALID(x, DCTX_MAGIC) +#define DCTX_MAGIC ISC_MAGIC('D', 'C', 'T', 'X') +#define VALID_DCTX(x) ISC_MAGIC_VALID(x, DCTX_MAGIC) static unsigned char maptolower[] = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, - 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, - 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, - 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, - 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, - 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, - 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, - 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, - 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, - 0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, - 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, - 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, - 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, - 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, - 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, - 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, - 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, - 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, - 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, - 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, - 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, - 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, - 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, - 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, - 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, - 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, - 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, + 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, + 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, + 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, + 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, + 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, + 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, + 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, + 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, + 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, + 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, + 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, + 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, + 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, + 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, + 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, + 0xfc, 0xfd, 0xfe, 0xff }; /* @@ -102,38 +92,28 @@ static unsigned char maptolower[] = { * } */ static unsigned char tableindex[256] = { - 0x3e, 0x3e, 0x33, 0x2d, 0x30, 0x38, 0x31, 0x3c, - 0x2b, 0x33, 0x30, 0x3f, 0x2d, 0x3c, 0x36, 0x3a, - 0x28, 0x2c, 0x2a, 0x37, 0x3d, 0x34, 0x35, 0x2d, - 0x39, 0x2b, 0x2f, 0x2c, 0x3b, 0x32, 0x2b, 0x39, - 0x30, 0x38, 0x28, 0x3c, 0x32, 0x33, 0x39, 0x38, - 0x27, 0x2b, 0x39, 0x30, 0x27, 0x24, 0x2f, 0x2b, - 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, - 0x22, 0x3a, 0x29, 0x36, 0x31, 0x3c, 0x35, 0x26, - 0x31, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, - 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, - 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, - 0x17, 0x18, 0x19, 0x3e, 0x3b, 0x39, 0x2f, 0x25, - 0x27, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, - 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, - 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, - 0x17, 0x18, 0x19, 0x36, 0x3b, 0x2f, 0x2f, 0x2e, - 0x29, 0x33, 0x2a, 0x36, 0x28, 0x3f, 0x2e, 0x29, - 0x2c, 0x29, 0x36, 0x2d, 0x32, 0x3d, 0x33, 0x2a, - 0x2e, 0x2f, 0x3b, 0x30, 0x3d, 0x39, 0x2b, 0x36, - 0x2a, 0x2f, 0x2c, 0x26, 0x3a, 0x37, 0x30, 0x3d, - 0x2a, 0x36, 0x33, 0x2c, 0x38, 0x3d, 0x32, 0x3e, - 0x26, 0x2a, 0x2c, 0x35, 0x27, 0x39, 0x3b, 0x31, - 0x2a, 0x37, 0x3c, 0x27, 0x32, 0x29, 0x39, 0x37, - 0x34, 0x3f, 0x39, 0x2e, 0x38, 0x2b, 0x2c, 0x3e, - 0x3b, 0x3b, 0x2d, 0x33, 0x3b, 0x3b, 0x32, 0x3d, - 0x3f, 0x3a, 0x34, 0x26, 0x35, 0x30, 0x31, 0x39, - 0x27, 0x2f, 0x3d, 0x35, 0x35, 0x36, 0x2e, 0x29, - 0x38, 0x27, 0x34, 0x32, 0x2c, 0x3c, 0x31, 0x28, - 0x37, 0x38, 0x37, 0x34, 0x33, 0x29, 0x32, 0x34, - 0x3f, 0x26, 0x34, 0x34, 0x32, 0x27, 0x30, 0x33, - 0x33, 0x2d, 0x2b, 0x28, 0x3f, 0x33, 0x2b, 0x39, - 0x37, 0x39, 0x2c, 0x3d, 0x35, 0x39, 0x27, 0x2f + 0x3e, 0x3e, 0x33, 0x2d, 0x30, 0x38, 0x31, 0x3c, 0x2b, 0x33, 0x30, 0x3f, + 0x2d, 0x3c, 0x36, 0x3a, 0x28, 0x2c, 0x2a, 0x37, 0x3d, 0x34, 0x35, 0x2d, + 0x39, 0x2b, 0x2f, 0x2c, 0x3b, 0x32, 0x2b, 0x39, 0x30, 0x38, 0x28, 0x3c, + 0x32, 0x33, 0x39, 0x38, 0x27, 0x2b, 0x39, 0x30, 0x27, 0x24, 0x2f, 0x2b, + 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x3a, 0x29, 0x36, + 0x31, 0x3c, 0x35, 0x26, 0x31, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, + 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, + 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x3e, 0x3b, 0x39, 0x2f, 0x25, + 0x27, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, + 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, + 0x17, 0x18, 0x19, 0x36, 0x3b, 0x2f, 0x2f, 0x2e, 0x29, 0x33, 0x2a, 0x36, + 0x28, 0x3f, 0x2e, 0x29, 0x2c, 0x29, 0x36, 0x2d, 0x32, 0x3d, 0x33, 0x2a, + 0x2e, 0x2f, 0x3b, 0x30, 0x3d, 0x39, 0x2b, 0x36, 0x2a, 0x2f, 0x2c, 0x26, + 0x3a, 0x37, 0x30, 0x3d, 0x2a, 0x36, 0x33, 0x2c, 0x38, 0x3d, 0x32, 0x3e, + 0x26, 0x2a, 0x2c, 0x35, 0x27, 0x39, 0x3b, 0x31, 0x2a, 0x37, 0x3c, 0x27, + 0x32, 0x29, 0x39, 0x37, 0x34, 0x3f, 0x39, 0x2e, 0x38, 0x2b, 0x2c, 0x3e, + 0x3b, 0x3b, 0x2d, 0x33, 0x3b, 0x3b, 0x32, 0x3d, 0x3f, 0x3a, 0x34, 0x26, + 0x35, 0x30, 0x31, 0x39, 0x27, 0x2f, 0x3d, 0x35, 0x35, 0x36, 0x2e, 0x29, + 0x38, 0x27, 0x34, 0x32, 0x2c, 0x3c, 0x31, 0x28, 0x37, 0x38, 0x37, 0x34, + 0x33, 0x29, 0x32, 0x34, 0x3f, 0x26, 0x34, 0x34, 0x32, 0x27, 0x30, 0x33, + 0x33, 0x2d, 0x2b, 0x28, 0x3f, 0x33, 0x2b, 0x39, 0x37, 0x39, 0x2c, 0x3d, + 0x35, 0x39, 0x27, 0x2f }; /*** @@ -141,9 +121,10 @@ static unsigned char tableindex[256] = { ***/ isc_result_t -dns_compress_init(dns_compress_t *cctx, int edns, isc_mem_t *mctx) { +dns_compress_init(dns_compress_t *cctx, int edns, isc_mem_t *mctx) +{ REQUIRE(cctx != NULL); - REQUIRE(mctx != NULL); /* See: rdataset.c:towiresorted(). */ + REQUIRE(mctx != NULL); /* See: rdataset.c:towiresorted(). */ cctx->edns = edns; cctx->mctx = mctx; @@ -158,9 +139,10 @@ dns_compress_init(dns_compress_t *cctx, int edns, isc_mem_t *mctx) { } void -dns_compress_invalidate(dns_compress_t *cctx) { +dns_compress_invalidate(dns_compress_t *cctx) +{ dns_compressnode_t *node; - unsigned int i; + unsigned int i; REQUIRE(VALID_CCTX(cctx)); @@ -183,7 +165,8 @@ dns_compress_invalidate(dns_compress_t *cctx) { } void -dns_compress_setmethods(dns_compress_t *cctx, unsigned int allowed) { +dns_compress_setmethods(dns_compress_t *cctx, unsigned int allowed) +{ REQUIRE(VALID_CCTX(cctx)); cctx->allowed &= ~DNS_COMPRESS_ALL; @@ -191,19 +174,22 @@ dns_compress_setmethods(dns_compress_t *cctx, unsigned int allowed) { } unsigned int -dns_compress_getmethods(dns_compress_t *cctx) { +dns_compress_getmethods(dns_compress_t *cctx) +{ REQUIRE(VALID_CCTX(cctx)); return (cctx->allowed & DNS_COMPRESS_ALL); } void -dns_compress_disable(dns_compress_t *cctx) { +dns_compress_disable(dns_compress_t *cctx) +{ REQUIRE(VALID_CCTX(cctx)); cctx->allowed &= ~DNS_COMPRESS_ENABLED; } void -dns_compress_setsensitive(dns_compress_t *cctx, bool sensitive) { +dns_compress_setsensitive(dns_compress_t *cctx, bool sensitive) +{ REQUIRE(VALID_CCTX(cctx)); if (sensitive) @@ -213,14 +199,16 @@ dns_compress_setsensitive(dns_compress_t *cctx, bool sensitive) { } bool -dns_compress_getsensitive(dns_compress_t *cctx) { +dns_compress_getsensitive(dns_compress_t *cctx) +{ REQUIRE(VALID_CCTX(cctx)); return (cctx->allowed & DNS_COMPRESS_CASESENSITIVE); } int -dns_compress_getedns(dns_compress_t *cctx) { +dns_compress_getedns(dns_compress_t *cctx) +{ REQUIRE(VALID_CCTX(cctx)); return (cctx->edns); } @@ -234,11 +222,11 @@ bool dns_compress_findglobal(dns_compress_t *cctx, const dns_name_t *name, dns_name_t *prefix, uint16_t *offset) { - dns_name_t tname; + dns_name_t tname; dns_compressnode_t *node = NULL; - unsigned int labels, i, n; - unsigned int numlabels; - unsigned char *p; + unsigned int labels, i, n; + unsigned int numlabels; + unsigned char * p; REQUIRE(VALID_CCTX(cctx)); REQUIRE(dns_name_isabsolute(name) == true); @@ -260,7 +248,7 @@ dns_compress_findglobal(dns_compress_t *cctx, const dns_name_t *name, for (n = 0; n < numlabels - 1; n++) { unsigned char ch, llen; - unsigned int firstoffset, length; + unsigned int firstoffset, length; firstoffset = (unsigned int)(p - name->ndata); length = name->length - firstoffset; @@ -271,27 +259,22 @@ dns_compress_findglobal(dns_compress_t *cctx, const dns_name_t *name, */ ch = p[1]; i = tableindex[ch]; - if (ISC_LIKELY((cctx->allowed & - DNS_COMPRESS_CASESENSITIVE) != 0)) - { - for (node = cctx->table[i]; - node != NULL; - node = node->next) - { + if (ISC_LIKELY((cctx->allowed & DNS_COMPRESS_CASESENSITIVE) != + 0)) { + for (node = cctx->table[i]; node != NULL; + node = node->next) { if (ISC_UNLIKELY(node->name.length != length)) continue; - if (ISC_LIKELY(memcmp(node->name.ndata, - p, length) == 0)) + if (ISC_LIKELY(memcmp(node->name.ndata, p, + length) == 0)) goto found; } } else { - for (node = cctx->table[i]; - node != NULL; - node = node->next) - { - unsigned int l, count; - unsigned char c; + for (node = cctx->table[i]; node != NULL; + node = node->next) { + unsigned int l, count; + unsigned char c; unsigned char *label1, *label2; if (ISC_UNLIKELY(node->name.length != length)) @@ -336,7 +319,7 @@ dns_compress_findglobal(dns_compress_t *cctx, const dns_name_t *name, } } break; - cont1: + cont1: continue; } } @@ -348,7 +331,7 @@ dns_compress_findglobal(dns_compress_t *cctx, const dns_name_t *name, p += llen + 1; } - found: +found: /* * If node == NULL, we found no match at all. */ @@ -365,7 +348,8 @@ dns_compress_findglobal(dns_compress_t *cctx, const dns_name_t *name, } static inline unsigned int -name_length(const dns_name_t *name) { +name_length(const dns_name_t *name) +{ isc_region_t r; dns_name_toregion(name, &r); return (r.length); @@ -375,17 +359,17 @@ void dns_compress_add(dns_compress_t *cctx, const dns_name_t *name, const dns_name_t *prefix, uint16_t offset) { - dns_name_t tname, xname; - unsigned int start; - unsigned int n; - unsigned int count; - unsigned int i; + dns_name_t tname, xname; + unsigned int start; + unsigned int n; + unsigned int count; + unsigned int i; dns_compressnode_t *node; - unsigned int length; - unsigned int tlength; - uint16_t toffset; - unsigned char *tmp; - isc_region_t r; + unsigned int length; + unsigned int tlength; + uint16_t toffset; + unsigned char * tmp; + isc_region_t r; REQUIRE(VALID_CCTX(cctx)); REQUIRE(dns_name_isabsolute(name)); @@ -467,8 +451,9 @@ dns_compress_add(dns_compress_t *cctx, const dns_name_t *name, } void -dns_compress_rollback(dns_compress_t *cctx, uint16_t offset) { - unsigned int i; +dns_compress_rollback(dns_compress_t *cctx, uint16_t offset) +{ + unsigned int i; dns_compressnode_t *node; REQUIRE(VALID_CCTX(cctx)); @@ -502,9 +487,8 @@ dns_compress_rollback(dns_compress_t *cctx, uint16_t offset) { ***/ void -dns_decompress_init(dns_decompress_t *dctx, int edns, - dns_decompresstype_t type) { - +dns_decompress_init(dns_decompress_t *dctx, int edns, dns_decompresstype_t type) +{ REQUIRE(dctx != NULL); REQUIRE(edns >= -1 && edns <= 255); @@ -515,16 +499,16 @@ dns_decompress_init(dns_decompress_t *dctx, int edns, } void -dns_decompress_invalidate(dns_decompress_t *dctx) { - +dns_decompress_invalidate(dns_decompress_t *dctx) +{ REQUIRE(VALID_DCTX(dctx)); dctx->magic = 0; } void -dns_decompress_setmethods(dns_decompress_t *dctx, unsigned int allowed) { - +dns_decompress_setmethods(dns_decompress_t *dctx, unsigned int allowed) +{ REQUIRE(VALID_DCTX(dctx)); switch (dctx->type) { @@ -541,24 +525,24 @@ dns_decompress_setmethods(dns_decompress_t *dctx, unsigned int allowed) { } unsigned int -dns_decompress_getmethods(dns_decompress_t *dctx) { - +dns_decompress_getmethods(dns_decompress_t *dctx) +{ REQUIRE(VALID_DCTX(dctx)); return (dctx->allowed); } int -dns_decompress_edns(dns_decompress_t *dctx) { - +dns_decompress_edns(dns_decompress_t *dctx) +{ REQUIRE(VALID_DCTX(dctx)); return (dctx->edns); } dns_decompresstype_t -dns_decompress_type(dns_decompress_t *dctx) { - +dns_decompress_type(dns_decompress_t *dctx) +{ REQUIRE(VALID_DCTX(dctx)); return (dctx->type); diff --git a/lib/dns/db.c b/lib/dns/db.c index de33b4b7a1..f9a8385d50 100644 --- a/lib/dns/db.c +++ b/lib/dns/db.c @@ -41,11 +41,11 @@ ***/ struct dns_dbimplementation { - const char * name; - dns_dbcreatefunc_t create; - isc_mem_t * mctx; - void * driverarg; - ISC_LINK(dns_dbimplementation_t) link; + const char * name; + dns_dbcreatefunc_t create; + isc_mem_t * mctx; + void * driverarg; + ISC_LINK(dns_dbimplementation_t) link; }; /*** @@ -60,12 +60,13 @@ struct dns_dbimplementation { static ISC_LIST(dns_dbimplementation_t) implementations; static isc_rwlock_t implock; -static isc_once_t once = ISC_ONCE_INIT; +static isc_once_t once = ISC_ONCE_INIT; static dns_dbimplementation_t rbtimp; static void -initialize(void) { +initialize(void) +{ RUNTIME_CHECK(isc_rwlock_init(&implock, 0, 0) == ISC_R_SUCCESS); rbtimp.name = "rbt"; @@ -79,26 +80,25 @@ initialize(void) { } static inline dns_dbimplementation_t * -impfind(const char *name) { +impfind(const char *name) +{ dns_dbimplementation_t *imp; - for (imp = ISC_LIST_HEAD(implementations); - imp != NULL; + for (imp = ISC_LIST_HEAD(implementations); imp != NULL; imp = ISC_LIST_NEXT(imp, link)) if (strcasecmp(name, imp->name) == 0) return (imp); return (NULL); } - /*** *** Basic DB Methods ***/ isc_result_t dns_db_create(isc_mem_t *mctx, const char *db_type, const dns_name_t *origin, - dns_dbtype_t type, dns_rdataclass_t rdclass, - unsigned int argc, char *argv[], dns_db_t **dbp) + dns_dbtype_t type, dns_rdataclass_t rdclass, unsigned int argc, + char *argv[], dns_db_t **dbp) { dns_dbimplementation_t *impinfo; @@ -115,25 +115,23 @@ dns_db_create(isc_mem_t *mctx, const char *db_type, const dns_name_t *origin, impinfo = impfind(db_type); if (impinfo != NULL) { isc_result_t result; - result = ((impinfo->create)(mctx, origin, type, - rdclass, argc, argv, - impinfo->driverarg, dbp)); + result = ((impinfo->create)(mctx, origin, type, rdclass, argc, + argv, impinfo->driverarg, dbp)); RWUNLOCK(&implock, isc_rwlocktype_read); return (result); } RWUNLOCK(&implock, isc_rwlocktype_read); - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DB, ISC_LOG_ERROR, - "unsupported database type '%s'", db_type); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DB, + ISC_LOG_ERROR, "unsupported database type '%s'", db_type); return (ISC_R_NOTFOUND); } void -dns_db_attach(dns_db_t *source, dns_db_t **targetp) { - +dns_db_attach(dns_db_t *source, dns_db_t **targetp) +{ /* * Attach *targetp to source. */ @@ -147,8 +145,8 @@ dns_db_attach(dns_db_t *source, dns_db_t **targetp) { } void -dns_db_detach(dns_db_t **dbp) { - +dns_db_detach(dns_db_t **dbp) +{ /* * Detach *dbp from its database. */ @@ -161,10 +159,9 @@ dns_db_detach(dns_db_t **dbp) { ENSURE(*dbp == NULL); } - bool -dns_db_iscache(dns_db_t *db) { - +dns_db_iscache(dns_db_t *db) +{ /* * Does 'db' have cache semantics? */ @@ -178,23 +175,23 @@ dns_db_iscache(dns_db_t *db) { } bool -dns_db_iszone(dns_db_t *db) { - +dns_db_iszone(dns_db_t *db) +{ /* * Does 'db' have zone semantics? */ REQUIRE(DNS_DB_VALID(db)); - if ((db->attributes & (DNS_DBATTR_CACHE|DNS_DBATTR_STUB)) == 0) + if ((db->attributes & (DNS_DBATTR_CACHE | DNS_DBATTR_STUB)) == 0) return (true); return (false); } bool -dns_db_isstub(dns_db_t *db) { - +dns_db_isstub(dns_db_t *db) +{ /* * Does 'db' have stub semantics? */ @@ -208,8 +205,8 @@ dns_db_isstub(dns_db_t *db) { } bool -dns_db_isdnssec(dns_db_t *db) { - +dns_db_isdnssec(dns_db_t *db) +{ /* * Is 'db' secure or partially secure? */ @@ -223,8 +220,8 @@ dns_db_isdnssec(dns_db_t *db) { } bool -dns_db_issecure(dns_db_t *db) { - +dns_db_issecure(dns_db_t *db) +{ /* * Is 'db' secure? */ @@ -236,8 +233,8 @@ dns_db_issecure(dns_db_t *db) { } bool -dns_db_ispersistent(dns_db_t *db) { - +dns_db_ispersistent(dns_db_t *db) +{ /* * Is 'db' persistent? */ @@ -248,7 +245,8 @@ dns_db_ispersistent(dns_db_t *db) { } dns_name_t * -dns_db_origin(dns_db_t *db) { +dns_db_origin(dns_db_t *db) +{ /* * The origin of the database. */ @@ -259,7 +257,8 @@ dns_db_origin(dns_db_t *db) { } dns_rdataclass_t -dns_db_class(dns_db_t *db) { +dns_db_class(dns_db_t *db) +{ /* * The class of the database. */ @@ -270,7 +269,8 @@ dns_db_class(dns_db_t *db) { } isc_result_t -dns_db_beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { +dns_db_beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) +{ /* * Begin loading 'db'. */ @@ -282,7 +282,8 @@ dns_db_beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { } isc_result_t -dns_db_endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { +dns_db_endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) +{ dns_dbonupdatelistener_t *listener; /* @@ -293,8 +294,7 @@ dns_db_endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { REQUIRE(DNS_CALLBACK_VALID(callbacks)); REQUIRE(callbacks->add_private != NULL); - for (listener = ISC_LIST_HEAD(db->update_listeners); - listener != NULL; + for (listener = ISC_LIST_HEAD(db->update_listeners); listener != NULL; listener = ISC_LIST_NEXT(listener, link)) listener->onupdate(db, listener->onupdate_arg); @@ -305,7 +305,7 @@ isc_result_t dns_db_load(dns_db_t *db, const char *filename, dns_masterformat_t format, unsigned int options) { - isc_result_t result, eresult; + isc_result_t result, eresult; dns_rdatacallbacks_t callbacks; /* @@ -322,8 +322,8 @@ dns_db_load(dns_db_t *db, const char *filename, dns_masterformat_t format, if (result != ISC_R_SUCCESS) return (result); result = dns_master_loadfile(filename, &db->origin, &db->origin, - db->rdclass, options, 0, &callbacks, - NULL, NULL, db->mctx, format, 0); + db->rdclass, options, 0, &callbacks, NULL, + NULL, db->mctx, format, 0); eresult = dns_db_endload(db, &callbacks); /* * We always call dns_db_endload(), but we only want to return its @@ -338,7 +338,8 @@ dns_db_load(dns_db_t *db, const char *filename, dns_masterformat_t format, } isc_result_t -dns_db_serialize(dns_db_t *db, dns_dbversion_t *version, FILE *file) { +dns_db_serialize(dns_db_t *db, dns_dbversion_t *version, FILE *file) +{ REQUIRE(DNS_DB_VALID(db)); if (db->methods->serialize == NULL) return (ISC_R_NOTIMPLEMENTED); @@ -346,7 +347,8 @@ dns_db_serialize(dns_db_t *db, dns_dbversion_t *version, FILE *file) { } isc_result_t -dns_db_dump(dns_db_t *db, dns_dbversion_t *version, const char *filename) { +dns_db_dump(dns_db_t *db, dns_dbversion_t *version, const char *filename) +{ return ((db->methods->dump)(db, version, filename, dns_masterformat_text)); } @@ -356,8 +358,8 @@ dns_db_dump(dns_db_t *db, dns_dbversion_t *version, const char *filename) { ***/ void -dns_db_currentversion(dns_db_t *db, dns_dbversion_t **versionp) { - +dns_db_currentversion(dns_db_t *db, dns_dbversion_t **versionp) +{ /* * Open the current version for reading. */ @@ -370,8 +372,8 @@ dns_db_currentversion(dns_db_t *db, dns_dbversion_t **versionp) { } isc_result_t -dns_db_newversion(dns_db_t *db, dns_dbversion_t **versionp) { - +dns_db_newversion(dns_db_t *db, dns_dbversion_t **versionp) +{ /* * Open a new version for reading and writing. */ @@ -402,8 +404,7 @@ dns_db_attachversion(dns_db_t *db, dns_dbversion_t *source, } void -dns_db_closeversion(dns_db_t *db, dns_dbversion_t **versionp, - bool commit) +dns_db_closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { dns_dbonupdatelistener_t *listener; @@ -419,8 +420,7 @@ dns_db_closeversion(dns_db_t *db, dns_dbversion_t **versionp, if (commit == true) { for (listener = ISC_LIST_HEAD(db->update_listeners); - listener != NULL; - listener = ISC_LIST_NEXT(listener, link)) + listener != NULL; listener = ISC_LIST_NEXT(listener, link)) listener->onupdate(db, listener->onupdate_arg); } @@ -432,10 +432,9 @@ dns_db_closeversion(dns_db_t *db, dns_dbversion_t **versionp, ***/ isc_result_t -dns_db_findnode(dns_db_t *db, const dns_name_t *name, - bool create, dns_dbnode_t **nodep) +dns_db_findnode(dns_db_t *db, const dns_name_t *name, bool create, + dns_dbnode_t **nodep) { - /* * Find the node with name 'name'. */ @@ -446,13 +445,13 @@ dns_db_findnode(dns_db_t *db, const dns_name_t *name, if (db->methods->findnode != NULL) return ((db->methods->findnode)(db, name, create, nodep)); else - return ((db->methods->findnodeext)(db, name, create, - NULL, NULL, nodep)); + return ((db->methods->findnodeext)(db, name, create, NULL, NULL, + nodep)); } isc_result_t -dns_db_findnodeext(dns_db_t *db, const dns_name_t *name, - bool create, dns_clientinfomethods_t *methods, +dns_db_findnodeext(dns_db_t *db, const dns_name_t *name, bool create, + dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, dns_dbnode_t **nodep) { /* @@ -464,17 +463,16 @@ dns_db_findnodeext(dns_db_t *db, const dns_name_t *name, REQUIRE(nodep != NULL && *nodep == NULL); if (db->methods->findnodeext != NULL) - return ((db->methods->findnodeext)(db, name, create, - methods, clientinfo, nodep)); + return ((db->methods->findnodeext)(db, name, create, methods, + clientinfo, nodep)); else return ((db->methods->findnode)(db, name, create, nodep)); } isc_result_t -dns_db_findnsec3node(dns_db_t *db, const dns_name_t *name, - bool create, dns_dbnode_t **nodep) +dns_db_findnsec3node(dns_db_t *db, const dns_name_t *name, bool create, + dns_dbnode_t **nodep) { - /* * Find the node with name 'name'. */ @@ -500,22 +498,20 @@ dns_db_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, REQUIRE(type != dns_rdatatype_rrsig); REQUIRE(nodep == NULL || *nodep == NULL); REQUIRE(dns_name_hasbuffer(foundname)); - REQUIRE(rdataset == NULL || - (DNS_RDATASET_VALID(rdataset) && - ! dns_rdataset_isassociated(rdataset))); + REQUIRE(rdataset == NULL || (DNS_RDATASET_VALID(rdataset) && + !dns_rdataset_isassociated(rdataset))); REQUIRE(sigrdataset == NULL || (DNS_RDATASET_VALID(sigrdataset) && - ! dns_rdataset_isassociated(sigrdataset))); + !dns_rdataset_isassociated(sigrdataset))); if (db->methods->find != NULL) - return ((db->methods->find)(db, name, version, type, - options, now, nodep, foundname, - rdataset, sigrdataset)); + return ((db->methods->find)(db, name, version, type, options, + now, nodep, foundname, rdataset, + sigrdataset)); else - return ((db->methods->findext)(db, name, version, type, - options, now, nodep, foundname, - NULL, NULL, - rdataset, sigrdataset)); + return ((db->methods->findext)(db, name, version, type, options, + now, nodep, foundname, NULL, + NULL, rdataset, sigrdataset)); } isc_result_t @@ -525,7 +521,6 @@ dns_db_findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - /* * Find the best match for 'name' and 'type' in version 'version' * of 'db', passing in 'arg'. @@ -535,30 +530,27 @@ dns_db_findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, REQUIRE(type != dns_rdatatype_rrsig); REQUIRE(nodep == NULL || *nodep == NULL); REQUIRE(dns_name_hasbuffer(foundname)); - REQUIRE(rdataset == NULL || - (DNS_RDATASET_VALID(rdataset) && - ! dns_rdataset_isassociated(rdataset))); + REQUIRE(rdataset == NULL || (DNS_RDATASET_VALID(rdataset) && + !dns_rdataset_isassociated(rdataset))); REQUIRE(sigrdataset == NULL || (DNS_RDATASET_VALID(sigrdataset) && - ! dns_rdataset_isassociated(sigrdataset))); + !dns_rdataset_isassociated(sigrdataset))); if (db->methods->findext != NULL) - return ((db->methods->findext)(db, name, version, type, - options, now, nodep, foundname, - methods, clientinfo, - rdataset, sigrdataset)); + return ((db->methods->findext)( + db, name, version, type, options, now, nodep, foundname, + methods, clientinfo, rdataset, sigrdataset)); else - return ((db->methods->find)(db, name, version, type, - options, now, nodep, foundname, - rdataset, sigrdataset)); + return ((db->methods->find)(db, name, version, type, options, + now, nodep, foundname, rdataset, + sigrdataset)); } isc_result_t -dns_db_findzonecut(dns_db_t *db, const dns_name_t *name, - unsigned int options, isc_stdtime_t now, - dns_dbnode_t **nodep, dns_name_t *foundname, - dns_name_t *dcname, dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset) +dns_db_findzonecut(dns_db_t *db, const dns_name_t *name, unsigned int options, + isc_stdtime_t now, dns_dbnode_t **nodep, + dns_name_t *foundname, dns_name_t *dcname, + dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { /* * Find the deepest known zonecut which encloses 'name' in 'db'. @@ -572,16 +564,16 @@ dns_db_findzonecut(dns_db_t *db, const dns_name_t *name, REQUIRE(dns_name_hasbuffer(foundname)); REQUIRE(sigrdataset == NULL || (DNS_RDATASET_VALID(sigrdataset) && - ! dns_rdataset_isassociated(sigrdataset))); + !dns_rdataset_isassociated(sigrdataset))); return ((db->methods->findzonecut)(db, name, options, now, nodep, - foundname, dcname, - rdataset, sigrdataset)); + foundname, dcname, rdataset, + sigrdataset)); } void -dns_db_attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) { - +dns_db_attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) +{ /* * Attach *targetp to source. */ @@ -594,8 +586,8 @@ dns_db_attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) { } void -dns_db_detachnode(dns_db_t *db, dns_dbnode_t **nodep) { - +dns_db_detachnode(dns_db_t *db, dns_dbnode_t **nodep) +{ /* * Detach *nodep from its node. */ @@ -633,8 +625,8 @@ dns_db_transfernode(dns_db_t *db, dns_dbnode_t **sourcep, } isc_result_t -dns_db_expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) { - +dns_db_expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) +{ /* * Mark as stale all records at 'node' which expire at or before 'now'. */ @@ -647,7 +639,8 @@ dns_db_expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) { } void -dns_db_printnode(dns_db_t *db, dns_dbnode_t *node, FILE *out) { +dns_db_printnode(dns_db_t *db, dns_dbnode_t *node, FILE *out) +{ /* * Print a textual representation of the contents of the node to * 'out'. @@ -690,16 +683,15 @@ dns_db_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, REQUIRE(DNS_DB_VALID(db)); REQUIRE(node != NULL); REQUIRE(DNS_RDATASET_VALID(rdataset)); - REQUIRE(! dns_rdataset_isassociated(rdataset)); + REQUIRE(!dns_rdataset_isassociated(rdataset)); REQUIRE(covers == 0 || type == dns_rdatatype_rrsig); REQUIRE(type != dns_rdatatype_any); REQUIRE(sigrdataset == NULL || (DNS_RDATASET_VALID(sigrdataset) && - ! dns_rdataset_isassociated(sigrdataset))); + !dns_rdataset_isassociated(sigrdataset))); - return ((db->methods->findrdataset)(db, node, version, type, - covers, now, rdataset, - sigrdataset)); + return ((db->methods->findrdataset)(db, node, version, type, covers, + now, rdataset, sigrdataset)); } isc_result_t @@ -714,8 +706,7 @@ dns_db_allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, REQUIRE(DNS_DB_VALID(db)); REQUIRE(iteratorp != NULL && *iteratorp == NULL); - return ((db->methods->allrdatasets)(db, node, version, now, - iteratorp)); + return ((db->methods->allrdatasets)(db, node, version, now, iteratorp)); } isc_result_t @@ -729,9 +720,9 @@ dns_db_addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, REQUIRE(DNS_DB_VALID(db)); REQUIRE(node != NULL); - REQUIRE(((db->attributes & DNS_DBATTR_CACHE) == 0 && version != NULL)|| - ((db->attributes & DNS_DBATTR_CACHE) != 0 && - version == NULL && (options & DNS_DBADD_MERGE) == 0)); + REQUIRE(((db->attributes & DNS_DBATTR_CACHE) == 0 && version != NULL) || + ((db->attributes & DNS_DBATTR_CACHE) != 0 && version == NULL && + (options & DNS_DBADD_MERGE) == 0)); REQUIRE((options & DNS_DBADD_EXACT) == 0 || (options & DNS_DBADD_MERGE) != 0); REQUIRE(DNS_RDATASET_VALID(rdataset)); @@ -739,7 +730,7 @@ dns_db_addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, REQUIRE(rdataset->rdclass == db->rdclass); REQUIRE(addedrdataset == NULL || (DNS_RDATASET_VALID(addedrdataset) && - ! dns_rdataset_isassociated(addedrdataset))); + !dns_rdataset_isassociated(addedrdataset))); return ((db->methods->addrdataset)(db, node, version, now, rdataset, options, addedrdataset)); @@ -763,7 +754,7 @@ dns_db_subtractrdataset(dns_db_t *db, dns_dbnode_t *node, REQUIRE(rdataset->rdclass == db->rdclass); REQUIRE(newrdataset == NULL || (DNS_RDATASET_VALID(newrdataset) && - ! dns_rdataset_isassociated(newrdataset))); + !dns_rdataset_isassociated(newrdataset))); return ((db->methods->subtractrdataset)(db, node, version, rdataset, options, newrdataset)); @@ -781,16 +772,15 @@ dns_db_deleterdataset(dns_db_t *db, dns_dbnode_t *node, REQUIRE(DNS_DB_VALID(db)); REQUIRE(node != NULL); - REQUIRE(((db->attributes & DNS_DBATTR_CACHE) == 0 && version != NULL)|| + REQUIRE(((db->attributes & DNS_DBATTR_CACHE) == 0 && version != NULL) || ((db->attributes & DNS_DBATTR_CACHE) != 0 && version == NULL)); - return ((db->methods->deleterdataset)(db, node, version, - type, covers)); + return ((db->methods->deleterdataset)(db, node, version, type, covers)); } void -dns_db_overmem(dns_db_t *db, bool overmem) { - +dns_db_overmem(dns_db_t *db, bool overmem) +{ REQUIRE(DNS_DB_VALID(db)); (db->methods->overmem)(db, overmem); @@ -799,11 +789,11 @@ dns_db_overmem(dns_db_t *db, bool overmem) { isc_result_t dns_db_getsoaserial(dns_db_t *db, dns_dbversion_t *ver, uint32_t *serialp) { - isc_result_t result; - dns_dbnode_t *node = NULL; + isc_result_t result; + dns_dbnode_t * node = NULL; dns_rdataset_t rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_buffer_t buffer; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_buffer_t buffer; REQUIRE(dns_db_iszone(db) || dns_db_isstub(db)); @@ -832,23 +822,25 @@ dns_db_getsoaserial(dns_db_t *db, dns_dbversion_t *ver, uint32_t *serialp) result = ISC_R_SUCCESS; - freerdataset: +freerdataset: dns_rdataset_disassociate(&rdataset); - freenode: +freenode: dns_db_detachnode(db, &node); return (result); } unsigned int -dns_db_nodecount(dns_db_t *db) { +dns_db_nodecount(dns_db_t *db) +{ REQUIRE(DNS_DB_VALID(db)); return ((db->methods->nodecount)(db)); } size_t -dns_db_hashsize(dns_db_t *db) { +dns_db_hashsize(dns_db_t *db) +{ REQUIRE(DNS_DB_VALID(db)); if (db->methods->hashsize == NULL) @@ -858,7 +850,8 @@ dns_db_hashsize(dns_db_t *db) { } void -dns_db_settask(dns_db_t *db, isc_task_t *task) { +dns_db_settask(dns_db_t *db, isc_task_t *task) +{ REQUIRE(DNS_DB_VALID(db)); (db->methods->settask)(db, task); @@ -898,7 +891,8 @@ dns_db_register(const char *name, dns_dbcreatefunc_t create, void *driverarg, } void -dns_db_unregister(dns_dbimplementation_t **dbimp) { +dns_db_unregister(dns_dbimplementation_t **dbimp) +{ dns_dbimplementation_t *imp; REQUIRE(dbimp != NULL && *dbimp != NULL); @@ -915,7 +909,8 @@ dns_db_unregister(dns_dbimplementation_t **dbimp) { } isc_result_t -dns_db_getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) { +dns_db_getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) +{ REQUIRE(DNS_DB_VALID(db)); REQUIRE(dns_db_iszone(db) == true); REQUIRE(nodep != NULL && *nodep == NULL); @@ -927,7 +922,8 @@ dns_db_getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) { } dns_stats_t * -dns_db_getrrsetstats(dns_db_t *db) { +dns_db_getrrsetstats(dns_db_t *db) +{ REQUIRE(DNS_DB_VALID(db)); if (db->methods->getrrsetstats != NULL) @@ -937,7 +933,8 @@ dns_db_getrrsetstats(dns_db_t *db) { } isc_result_t -dns_db_setcachestats(dns_db_t *db, isc_stats_t *stats) { +dns_db_setcachestats(dns_db_t *db, isc_stats_t *stats) +{ REQUIRE(DNS_DB_VALID(db)); if (db->methods->setcachestats != NULL) @@ -949,8 +946,8 @@ dns_db_setcachestats(dns_db_t *db, isc_stats_t *stats) { isc_result_t dns_db_getnsec3parameters(dns_db_t *db, dns_dbversion_t *version, dns_hash_t *hash, uint8_t *flags, - uint16_t *iterations, - unsigned char *salt, size_t *salt_length) + uint16_t *iterations, unsigned char *salt, + size_t *salt_length) { REQUIRE(DNS_DB_VALID(db)); REQUIRE(dns_db_iszone(db) == true); @@ -986,8 +983,7 @@ dns_db_setsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, } isc_result_t -dns_db_getsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, - dns_name_t *name) +dns_db_getsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, dns_name_t *name) { if (db->methods->getsigningtime != NULL) return ((db->methods->getsigningtime)(db, rdataset, name)); @@ -1008,7 +1004,8 @@ dns_db_resigned(dns_db_t *db, dns_rdataset_t *rdataset, * it is dealing with a database that understands response policy zones. */ void -dns_db_rpz_attach(dns_db_t *db, void *rpzs, uint8_t rpz_num) { +dns_db_rpz_attach(dns_db_t *db, void *rpzs, uint8_t rpz_num) +{ REQUIRE(db->methods->rpz_attach != NULL); (db->methods->rpz_attach)(db, rpzs, rpz_num); } @@ -1017,7 +1014,8 @@ dns_db_rpz_attach(dns_db_t *db, void *rpzs, uint8_t rpz_num) { * Finish loading a response policy zone. */ isc_result_t -dns_db_rpz_ready(dns_db_t *db) { +dns_db_rpz_ready(dns_db_t *db) +{ if (db->methods->rpz_ready == NULL) return (ISC_R_SUCCESS); return ((db->methods->rpz_ready)(db)); @@ -1027,8 +1025,7 @@ dns_db_rpz_ready(dns_db_t *db) { * Attach a notify-on-update function the database */ isc_result_t -dns_db_updatenotify_register(dns_db_t *db, - dns_dbupdate_callback_t fn, +dns_db_updatenotify_register(dns_db_t *db, dns_dbupdate_callback_t fn, void *fn_arg) { dns_dbonupdatelistener_t *listener; @@ -1048,21 +1045,17 @@ dns_db_updatenotify_register(dns_db_t *db, } isc_result_t -dns_db_updatenotify_unregister(dns_db_t *db, - dns_dbupdate_callback_t fn, +dns_db_updatenotify_unregister(dns_db_t *db, dns_dbupdate_callback_t fn, void *fn_arg) { dns_dbonupdatelistener_t *listener; REQUIRE(db != NULL); - for (listener = ISC_LIST_HEAD(db->update_listeners); - listener != NULL; - listener = ISC_LIST_NEXT(listener, link)) - { + for (listener = ISC_LIST_HEAD(db->update_listeners); listener != NULL; + listener = ISC_LIST_NEXT(listener, link)) { if ((listener->onupdate == fn) && - (listener->onupdate_arg == fn_arg)) - { + (listener->onupdate_arg == fn_arg)) { ISC_LIST_UNLINK(db->update_listeners, listener, link); isc_mem_put(db->mctx, listener, sizeof(dns_dbonupdatelistener_t)); @@ -1074,7 +1067,8 @@ dns_db_updatenotify_unregister(dns_db_t *db, } isc_result_t -dns_db_nodefullname(dns_db_t *db, dns_dbnode_t *node, dns_name_t *name) { +dns_db_nodefullname(dns_db_t *db, dns_dbnode_t *node, dns_name_t *name) +{ REQUIRE(db != NULL); REQUIRE(node != NULL); REQUIRE(name != NULL); @@ -1107,7 +1101,8 @@ dns_db_getservestalettl(dns_db_t *db, dns_ttl_t *ttl) } isc_result_t -dns_db_setgluecachestats(dns_db_t *db, isc_stats_t *stats) { +dns_db_setgluecachestats(dns_db_t *db, isc_stats_t *stats) +{ REQUIRE(dns_db_iszone(db)); REQUIRE(stats != NULL); diff --git a/lib/dns/dbiterator.c b/lib/dns/dbiterator.c index 3bf5a017b4..bc0395a1cf 100644 --- a/lib/dns/dbiterator.c +++ b/lib/dns/dbiterator.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -20,7 +19,8 @@ #include void -dns_dbiterator_destroy(dns_dbiterator_t **iteratorp) { +dns_dbiterator_destroy(dns_dbiterator_t **iteratorp) +{ /* * Destroy '*iteratorp'. */ @@ -34,7 +34,8 @@ dns_dbiterator_destroy(dns_dbiterator_t **iteratorp) { } isc_result_t -dns_dbiterator_first(dns_dbiterator_t *iterator) { +dns_dbiterator_first(dns_dbiterator_t *iterator) +{ /* * Move the node cursor to the first node in the database (if any). */ @@ -45,7 +46,8 @@ dns_dbiterator_first(dns_dbiterator_t *iterator) { } isc_result_t -dns_dbiterator_last(dns_dbiterator_t *iterator) { +dns_dbiterator_last(dns_dbiterator_t *iterator) +{ /* * Move the node cursor to the first node in the database (if any). */ @@ -56,7 +58,8 @@ dns_dbiterator_last(dns_dbiterator_t *iterator) { } isc_result_t -dns_dbiterator_seek(dns_dbiterator_t *iterator, const dns_name_t *name) { +dns_dbiterator_seek(dns_dbiterator_t *iterator, const dns_name_t *name) +{ /* * Move the node cursor to the node with name 'name'. */ @@ -67,7 +70,8 @@ dns_dbiterator_seek(dns_dbiterator_t *iterator, const dns_name_t *name) { } isc_result_t -dns_dbiterator_prev(dns_dbiterator_t *iterator) { +dns_dbiterator_prev(dns_dbiterator_t *iterator) +{ /* * Move the node cursor to the previous node in the database (if any). */ @@ -78,7 +82,8 @@ dns_dbiterator_prev(dns_dbiterator_t *iterator) { } isc_result_t -dns_dbiterator_next(dns_dbiterator_t *iterator) { +dns_dbiterator_next(dns_dbiterator_t *iterator) +{ /* * Move the node cursor to the next node in the database (if any). */ @@ -104,7 +109,8 @@ dns_dbiterator_current(dns_dbiterator_t *iterator, dns_dbnode_t **nodep, } isc_result_t -dns_dbiterator_pause(dns_dbiterator_t *iterator) { +dns_dbiterator_pause(dns_dbiterator_t *iterator) +{ /* * Pause iteration. */ @@ -115,8 +121,8 @@ dns_dbiterator_pause(dns_dbiterator_t *iterator) { } isc_result_t -dns_dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t *name) { - +dns_dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t *name) +{ /* * Return the origin to which returned node names are relative. */ @@ -129,7 +135,8 @@ dns_dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t *name) { } void -dns_dbiterator_setcleanmode(dns_dbiterator_t *iterator, bool mode) { +dns_dbiterator_setcleanmode(dns_dbiterator_t *iterator, bool mode) +{ REQUIRE(DNS_DBITERATOR_VALID(iterator)); iterator->cleaning = mode; diff --git a/lib/dns/dbtable.c b/lib/dns/dbtable.c index e018fa7e52..d685337972 100644 --- a/lib/dns/dbtable.c +++ b/lib/dns/dbtable.c @@ -15,29 +15,30 @@ #include #include -#include #include +#include #include #include struct dns_dbtable { /* Unlocked. */ - unsigned int magic; - isc_mem_t * mctx; - dns_rdataclass_t rdclass; - isc_rwlock_t tree_lock; + unsigned int magic; + isc_mem_t * mctx; + dns_rdataclass_t rdclass; + isc_rwlock_t tree_lock; /* Protected by atomics */ - isc_refcount_t references; + isc_refcount_t references; /* Locked by tree_lock. */ - dns_rbt_t * rbt; - dns_db_t * default_db; + dns_rbt_t *rbt; + dns_db_t * default_db; }; -#define DBTABLE_MAGIC ISC_MAGIC('D', 'B', '-', '-') -#define VALID_DBTABLE(dbtable) ISC_MAGIC_VALID(dbtable, DBTABLE_MAGIC) +#define DBTABLE_MAGIC ISC_MAGIC('D', 'B', '-', '-') +#define VALID_DBTABLE(dbtable) ISC_MAGIC_VALID(dbtable, DBTABLE_MAGIC) static void -dbdetach(void *data, void *arg) { +dbdetach(void *data, void *arg) +{ dns_db_t *db = data; UNUSED(arg); @@ -50,7 +51,7 @@ dns_dbtable_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, dns_dbtable_t **dbtablep) { dns_dbtable_t *dbtable; - isc_result_t result; + isc_result_t result; REQUIRE(mctx != NULL); REQUIRE(dbtablep != NULL && *dbtablep == NULL); @@ -77,17 +78,18 @@ dns_dbtable_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, return (ISC_R_SUCCESS); - clean3: +clean3: dns_rbt_destroy(&dbtable->rbt); - clean1: +clean1: isc_mem_putanddetach(&mctx, dbtable, sizeof(*dbtable)); return (result); } static inline void -dbtable_free(dns_dbtable_t *dbtable) { +dbtable_free(dns_dbtable_t *dbtable) +{ /* * Caller must ensure that it is safe to call. */ @@ -109,7 +111,8 @@ dbtable_free(dns_dbtable_t *dbtable) { } void -dns_dbtable_attach(dns_dbtable_t *source, dns_dbtable_t **targetp) { +dns_dbtable_attach(dns_dbtable_t *source, dns_dbtable_t **targetp) +{ REQUIRE(VALID_DBTABLE(source)); REQUIRE(targetp != NULL && *targetp == NULL); @@ -119,7 +122,8 @@ dns_dbtable_attach(dns_dbtable_t *source, dns_dbtable_t **targetp) { } void -dns_dbtable_detach(dns_dbtable_t **dbtablep) { +dns_dbtable_detach(dns_dbtable_t **dbtablep) +{ dns_dbtable_t *dbtable; REQUIRE(dbtablep != NULL); @@ -133,9 +137,10 @@ dns_dbtable_detach(dns_dbtable_t **dbtablep) { } isc_result_t -dns_dbtable_add(dns_dbtable_t *dbtable, dns_db_t *db) { +dns_dbtable_add(dns_dbtable_t *dbtable, dns_db_t *db) +{ isc_result_t result; - dns_db_t *dbclone; + dns_db_t * dbclone; REQUIRE(VALID_DBTABLE(dbtable)); REQUIRE(dns_db_class(db) == dbtable->rdclass); @@ -151,10 +156,11 @@ dns_dbtable_add(dns_dbtable_t *dbtable, dns_db_t *db) { } void -dns_dbtable_remove(dns_dbtable_t *dbtable, dns_db_t *db) { - dns_db_t *stored_data = NULL; +dns_dbtable_remove(dns_dbtable_t *dbtable, dns_db_t *db) +{ + dns_db_t * stored_data = NULL; isc_result_t result; - dns_name_t *name; + dns_name_t * name; REQUIRE(VALID_DBTABLE(dbtable)); @@ -171,7 +177,7 @@ dns_dbtable_remove(dns_dbtable_t *dbtable, dns_db_t *db) { RWLOCK(&dbtable->tree_lock, isc_rwlocktype_write); result = dns_rbt_findname(dbtable->rbt, name, 0, NULL, - (void **) (void *)&stored_data); + (void **)(void *)&stored_data); if (result == ISC_R_SUCCESS) { INSIST(stored_data == db); @@ -183,7 +189,8 @@ dns_dbtable_remove(dns_dbtable_t *dbtable, dns_db_t *db) { } void -dns_dbtable_adddefault(dns_dbtable_t *dbtable, dns_db_t *db) { +dns_dbtable_adddefault(dns_dbtable_t *dbtable, dns_db_t *db) +{ REQUIRE(VALID_DBTABLE(dbtable)); REQUIRE(dbtable->default_db == NULL); REQUIRE(dns_name_compare(dns_db_origin(db), dns_rootname) == 0); @@ -197,7 +204,8 @@ dns_dbtable_adddefault(dns_dbtable_t *dbtable, dns_db_t *db) { } void -dns_dbtable_getdefault(dns_dbtable_t *dbtable, dns_db_t **dbp) { +dns_dbtable_getdefault(dns_dbtable_t *dbtable, dns_db_t **dbp) +{ REQUIRE(VALID_DBTABLE(dbtable)); REQUIRE(dbp != NULL && *dbp == NULL); @@ -209,7 +217,8 @@ dns_dbtable_getdefault(dns_dbtable_t *dbtable, dns_db_t **dbp) { } void -dns_dbtable_removedefault(dns_dbtable_t *dbtable) { +dns_dbtable_removedefault(dns_dbtable_t *dbtable) +{ REQUIRE(VALID_DBTABLE(dbtable)); RWLOCK(&dbtable->tree_lock, isc_rwlocktype_write); @@ -223,7 +232,7 @@ isc_result_t dns_dbtable_find(dns_dbtable_t *dbtable, const dns_name_t *name, unsigned int options, dns_db_t **dbp) { - dns_db_t *stored_data = NULL; + dns_db_t * stored_data = NULL; isc_result_t result; unsigned int rbtoptions = 0; @@ -235,7 +244,7 @@ dns_dbtable_find(dns_dbtable_t *dbtable, const dns_name_t *name, RWLOCK(&dbtable->tree_lock, isc_rwlocktype_read); result = dns_rbt_findname(dbtable->rbt, name, rbtoptions, NULL, - (void **) (void *)&stored_data); + (void **)(void *)&stored_data); if (result == ISC_R_SUCCESS || result == DNS_R_PARTIALMATCH) dns_db_attach(stored_data, dbp); diff --git a/lib/dns/diff.c b/lib/dns/diff.c index 7789331f90..b67e4df637 100644 --- a/lib/dns/diff.c +++ b/lib/dns/diff.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -34,28 +33,30 @@ #include #include -#define CHECK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) #define DIFF_COMMON_LOGARGS \ dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_DIFF static dns_rdatatype_t -rdata_covers(dns_rdata_t *rdata) { - return (rdata->type == dns_rdatatype_rrsig ? - dns_rdata_covers(rdata) : 0); +rdata_covers(dns_rdata_t *rdata) +{ + return (rdata->type == dns_rdatatype_rrsig ? dns_rdata_covers(rdata) + : 0); } isc_result_t -dns_difftuple_create(isc_mem_t *mctx, - dns_diffop_t op, const dns_name_t *name, dns_ttl_t ttl, - dns_rdata_t *rdata, dns_difftuple_t **tp) +dns_difftuple_create(isc_mem_t *mctx, dns_diffop_t op, const dns_name_t *name, + dns_ttl_t ttl, dns_rdata_t *rdata, dns_difftuple_t **tp) { dns_difftuple_t *t; - unsigned int size; - unsigned char *datap; + unsigned int size; + unsigned char * datap; REQUIRE(tp != NULL && *tp == NULL); @@ -102,7 +103,8 @@ dns_difftuple_create(isc_mem_t *mctx, } void -dns_difftuple_free(dns_difftuple_t **tp) { +dns_difftuple_free(dns_difftuple_t **tp) +{ dns_difftuple_t *t = *tp; *tp = NULL; isc_mem_t *mctx; @@ -117,20 +119,23 @@ dns_difftuple_free(dns_difftuple_t **tp) { } isc_result_t -dns_difftuple_copy(dns_difftuple_t *orig, dns_difftuple_t **copyp) { +dns_difftuple_copy(dns_difftuple_t *orig, dns_difftuple_t **copyp) +{ return (dns_difftuple_create(orig->mctx, orig->op, &orig->name, orig->ttl, &orig->rdata, copyp)); } void -dns_diff_init(isc_mem_t *mctx, dns_diff_t *diff) { +dns_diff_init(isc_mem_t *mctx, dns_diff_t *diff) +{ diff->mctx = mctx; ISC_LIST_INIT(diff->tuples); diff->magic = DNS_DIFF_MAGIC; } void -dns_diff_clear(dns_diff_t *diff) { +dns_diff_clear(dns_diff_t *diff) +{ dns_difftuple_t *t; REQUIRE(DNS_DIFF_VALID(diff)); while ((t = ISC_LIST_HEAD(diff->tuples)) != NULL) { @@ -169,18 +174,15 @@ dns_diff_appendminimal(dns_diff_t *diff, dns_difftuple_t **tuplep) * the one we are doing, there must be a programming * error. We report it but try to continue anyway. */ - for (ot = ISC_LIST_HEAD(diff->tuples); ot != NULL; - ot = next_ot) - { + for (ot = ISC_LIST_HEAD(diff->tuples); ot != NULL; ot = next_ot) { next_ot = ISC_LIST_NEXT(ot, link); if (dns_name_caseequal(&ot->name, &(*tuplep)->name) && dns_rdata_compare(&ot->rdata, &(*tuplep)->rdata) == 0 && - ot->ttl == (*tuplep)->ttl) - { + ot->ttl == (*tuplep)->ttl) { ISC_LIST_UNLINK(diff->tuples, ot, link); if ((*tuplep)->op == ot->op) { UNEXPECTED_ERROR(__FILE__, __LINE__, - "unexpected non-minimal diff"); + "unexpected non-minimal diff"); } else { dns_difftuple_free(tuplep); } @@ -196,11 +198,12 @@ dns_diff_appendminimal(dns_diff_t *diff, dns_difftuple_t **tuplep) } static isc_stdtime_t -setresign(dns_rdataset_t *modified) { - dns_rdata_t rdata = DNS_RDATA_INIT; +setresign(dns_rdataset_t *modified) +{ + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_rrsig_t sig; - int64_t when; - isc_result_t result; + int64_t when; + isc_result_t result; result = dns_rdataset_first(modified); INSIST(result == ISC_R_SUCCESS); @@ -221,7 +224,7 @@ setresign(dns_rdataset_t *modified) { } if (when == 0 || dns_time64_from32(sig.timeexpire) < when) when = dns_time64_from32(sig.timeexpire); - next_rr: + next_rr: dns_rdata_reset(&rdata); result = dns_rdataset_next(modified); } @@ -230,27 +233,28 @@ setresign(dns_rdataset_t *modified) { } static void -getownercase(dns_rdataset_t *rdataset, dns_name_t *name) { +getownercase(dns_rdataset_t *rdataset, dns_name_t *name) +{ if (dns_rdataset_isassociated(rdataset)) dns_rdataset_getownercase(rdataset, name); } static void -setownercase(dns_rdataset_t *rdataset, const dns_name_t *name) { +setownercase(dns_rdataset_t *rdataset, const dns_name_t *name) +{ if (dns_rdataset_isassociated(rdataset)) dns_rdataset_setownercase(rdataset, name); } static isc_result_t -diff_apply(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *ver, - bool warn) +diff_apply(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *ver, bool warn) { dns_difftuple_t *t; - dns_dbnode_t *node = NULL; - isc_result_t result; - char namebuf[DNS_NAME_FORMATSIZE]; - char typebuf[DNS_RDATATYPE_FORMATSIZE]; - char classbuf[DNS_RDATACLASS_FORMATSIZE]; + dns_dbnode_t * node = NULL; + isc_result_t result; + char namebuf[DNS_NAME_FORMATSIZE]; + char typebuf[DNS_RDATATYPE_FORMATSIZE]; + char classbuf[DNS_RDATACLASS_FORMATSIZE]; REQUIRE(DNS_DIFF_VALID(diff)); REQUIRE(DNS_DB_VALID(db)); @@ -272,11 +276,11 @@ diff_apply(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *ver, while (t != NULL && dns_name_equal(&t->name, name)) { dns_rdatatype_t type, covers; - dns_diffop_t op; + dns_diffop_t op; dns_rdatalist_t rdl; - dns_rdataset_t rds; - dns_rdataset_t ardataset; - unsigned int options; + dns_rdataset_t rds; + dns_rdataset_t ardataset; + unsigned int options; op = t->op; type = t->rdata.type; @@ -306,18 +310,14 @@ diff_apply(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *ver, node = NULL; if (type != dns_rdatatype_nsec3 && covers != dns_rdatatype_nsec3) - CHECK(dns_db_findnode(db, name, true, - &node)); + CHECK(dns_db_findnode(db, name, true, &node)); else CHECK(dns_db_findnsec3node(db, name, true, &node)); - while (t != NULL && - dns_name_equal(&t->name, name) && - t->op == op && - t->rdata.type == type && - rdata_covers(&t->rdata) == covers) - { + while (t != NULL && dns_name_equal(&t->name, name) && + t->op == op && t->rdata.type == type && + rdata_covers(&t->rdata) == covers) { /* * Remember the add name for * dns_rdataset_setownercase. @@ -333,13 +333,15 @@ diff_apply(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *ver, classbuf, sizeof(classbuf)); isc_log_write(DIFF_COMMON_LOGARGS, - ISC_LOG_WARNING, - "'%s/%s/%s': TTL differs in " - "rdataset, adjusting " - "%lu -> %lu", - namebuf, typebuf, classbuf, - (unsigned long) t->ttl, - (unsigned long) rdl.ttl); + ISC_LOG_WARNING, + "'%s/%s/%s': TTL differs " + "in " + "rdataset, adjusting " + "%lu -> %lu", + namebuf, typebuf, + classbuf, + (unsigned long)t->ttl, + (unsigned long)rdl.ttl); } ISC_LIST_APPEND(rdl.rdata, &t->rdata, link); t = ISC_LIST_NEXT(t, link); @@ -361,8 +363,8 @@ diff_apply(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *ver, case DNS_DIFFOP_ADDRESIGN: options = DNS_DBADD_MERGE | DNS_DBADD_EXACT | DNS_DBADD_EXACTTTL; - result = dns_db_addrdataset(db, node, ver, - 0, &rds, options, + result = dns_db_addrdataset(db, node, ver, 0, + &rds, options, &ardataset); break; case DNS_DIFFOP_DEL: @@ -441,19 +443,21 @@ diff_apply(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *ver, } return (ISC_R_SUCCESS); - failure: +failure: if (node != NULL) dns_db_detachnode(db, &node); return (result); } isc_result_t -dns_diff_apply(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *ver) { +dns_diff_apply(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *ver) +{ return (diff_apply(diff, db, ver, true)); } isc_result_t -dns_diff_applysilently(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *ver) { +dns_diff_applysilently(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *ver) +{ return (diff_apply(diff, db, ver, false)); } @@ -464,7 +468,7 @@ dns_diff_load(dns_diff_t *diff, dns_addrdatasetfunc_t addfunc, void *add_private) { dns_difftuple_t *t; - isc_result_t result; + isc_result_t result; REQUIRE(DNS_DIFF_VALID(diff)); @@ -475,9 +479,9 @@ dns_diff_load(dns_diff_t *diff, dns_addrdatasetfunc_t addfunc, name = &t->name; while (t != NULL && dns_name_caseequal(&t->name, name)) { dns_rdatatype_t type, covers; - dns_diffop_t op; + dns_diffop_t op; dns_rdatalist_t rdl; - dns_rdataset_t rds; + dns_rdataset_t rds; op = t->op; type = t->rdata.type; @@ -489,10 +493,10 @@ dns_diff_load(dns_diff_t *diff, dns_addrdatasetfunc_t addfunc, rdl.rdclass = t->rdata.rdclass; rdl.ttl = t->ttl; - while (t != NULL && dns_name_caseequal(&t->name, name) && + while (t != NULL && + dns_name_caseequal(&t->name, name) && t->op == op && t->rdata.type == type && - rdata_covers(&t->rdata) == covers) - { + rdata_covers(&t->rdata) == covers) { ISC_LIST_APPEND(rdl.rdata, &t->rdata, link); t = ISC_LIST_NEXT(t, link); } @@ -522,7 +526,7 @@ dns_diff_load(dns_diff_t *diff, dns_addrdatasetfunc_t addfunc, } } result = ISC_R_SUCCESS; - failure: +failure: return (result); } @@ -531,15 +535,15 @@ dns_diff_load(dns_diff_t *diff, dns_addrdatasetfunc_t addfunc, * and perhaps safer wrt thread stack overflow. */ isc_result_t -dns_diff_sort(dns_diff_t *diff, dns_diff_compare_func *compare) { - unsigned int length = 0; - unsigned int i; +dns_diff_sort(dns_diff_t *diff, dns_diff_compare_func *compare) +{ + unsigned int length = 0; + unsigned int i; dns_difftuple_t **v; - dns_difftuple_t *p; + dns_difftuple_t * p; REQUIRE(DNS_DIFF_VALID(diff)); - for (p = ISC_LIST_HEAD(diff->tuples); - p != NULL; + for (p = ISC_LIST_HEAD(diff->tuples); p != NULL; p = ISC_LIST_NEXT(p, link)) length++; if (length == 0) @@ -559,7 +563,6 @@ dns_diff_sort(dns_diff_t *diff, dns_diff_compare_func *compare) { return (ISC_R_SUCCESS); } - /* * Create an rdataset containing the single RR of the given * tuple. The caller must allocate the rdata, rdataset and @@ -586,39 +589,39 @@ diff_tuple_tordataset(dns_difftuple_t *t, dns_rdata_t *rdata, } isc_result_t -dns_diff_print(dns_diff_t *diff, FILE *file) { - isc_result_t result; +dns_diff_print(dns_diff_t *diff, FILE *file) +{ + isc_result_t result; dns_difftuple_t *t; - char *mem = NULL; - unsigned int size = 2048; - const char *op = NULL; + char * mem = NULL; + unsigned int size = 2048; + const char * op = NULL; REQUIRE(DNS_DIFF_VALID(diff)); mem = isc_mem_get(diff->mctx, size); for (t = ISC_LIST_HEAD(diff->tuples); t != NULL; - t = ISC_LIST_NEXT(t, link)) - { + t = ISC_LIST_NEXT(t, link)) { isc_buffer_t buf; isc_region_t r; dns_rdatalist_t rdl; - dns_rdataset_t rds; - dns_rdata_t rd = DNS_RDATA_INIT; + dns_rdataset_t rds; + dns_rdata_t rd = DNS_RDATA_INIT; result = diff_tuple_tordataset(t, &rd, &rdl, &rds); if (result != ISC_R_SUCCESS) { UNEXPECTED_ERROR(__FILE__, __LINE__, "diff_tuple_tordataset failed: %s", dns_result_totext(result)); - result = ISC_R_UNEXPECTED; + result = ISC_R_UNEXPECTED; goto cleanup; } - again: + again: isc_buffer_init(&buf, mem, size); - result = dns_rdataset_totext(&rds, &t->name, - false, false, &buf); + result = + dns_rdataset_totext(&rds, &t->name, false, false, &buf); if (result == ISC_R_NOSPACE) { isc_mem_put(diff->mctx, mem, size); @@ -633,27 +636,37 @@ dns_diff_print(dns_diff_t *diff, FILE *file) { * Get rid of final newline. */ INSIST(buf.used >= 1 && - ((char *) buf.base)[buf.used-1] == '\n'); + ((char *)buf.base)[buf.used - 1] == '\n'); buf.used--; isc_buffer_usedregion(&buf, &r); switch (t->op) { - case DNS_DIFFOP_EXISTS: op = "exists"; break; - case DNS_DIFFOP_ADD: op = "add"; break; - case DNS_DIFFOP_DEL: op = "del"; break; - case DNS_DIFFOP_ADDRESIGN: op = "add re-sign"; break; - case DNS_DIFFOP_DELRESIGN: op = "del re-sign"; break; + case DNS_DIFFOP_EXISTS: + op = "exists"; + break; + case DNS_DIFFOP_ADD: + op = "add"; + break; + case DNS_DIFFOP_DEL: + op = "del"; + break; + case DNS_DIFFOP_ADDRESIGN: + op = "add re-sign"; + break; + case DNS_DIFFOP_DELRESIGN: + op = "del re-sign"; + break; } if (file != NULL) - fprintf(file, "%s %.*s\n", op, (int) r.length, - (char *) r.base); + fprintf(file, "%s %.*s\n", op, (int)r.length, + (char *)r.base); else isc_log_write(DIFF_COMMON_LOGARGS, ISC_LOG_DEBUG(7), - "%s %.*s", op, (int) r.length, - (char *) r.base); + "%s %.*s", op, (int)r.length, + (char *)r.base); } result = ISC_R_SUCCESS; - cleanup: +cleanup: if (mem != NULL) isc_mem_put(diff->mctx, mem, size); return (result); diff --git a/lib/dns/dispatch.c b/lib/dns/dispatch.c index 2c943eeac4..c4c640ddb9 100644 --- a/lib/dns/dispatch.c +++ b/lib/dns/dispatch.c @@ -13,11 +13,8 @@ #include #include - #include -#include #include -#include #include #include @@ -41,54 +38,56 @@ #include #include -typedef ISC_LIST(dns_dispentry_t) dns_displist_t; +#include -typedef struct dispsocket dispsocket_t; -typedef ISC_LIST(dispsocket_t) dispsocketlist_t; +typedef ISC_LIST(dns_dispentry_t) dns_displist_t; -typedef struct dispportentry dispportentry_t; -typedef ISC_LIST(dispportentry_t) dispportlist_t; +typedef struct dispsocket dispsocket_t; +typedef ISC_LIST(dispsocket_t) dispsocketlist_t; + +typedef struct dispportentry dispportentry_t; +typedef ISC_LIST(dispportentry_t) dispportlist_t; typedef struct dns_qid { - unsigned int magic; - unsigned int qid_nbuckets; /*%< hash table size */ - unsigned int qid_increment; /*%< id increment on collision */ - isc_mutex_t lock; - dns_displist_t *qid_table; /*%< the table itself */ - dispsocketlist_t *sock_table; /*%< socket table */ + unsigned int magic; + unsigned int qid_nbuckets; /*%< hash table size */ + unsigned int qid_increment; /*%< id increment on collision */ + isc_mutex_t lock; + dns_displist_t * qid_table; /*%< the table itself */ + dispsocketlist_t *sock_table; /*%< socket table */ } dns_qid_t; struct dns_dispatchmgr { /* Unlocked. */ - unsigned int magic; - isc_mem_t *mctx; - dns_acl_t *blackhole; - dns_portlist_t *portlist; - isc_stats_t *stats; + unsigned int magic; + isc_mem_t * mctx; + dns_acl_t * blackhole; + dns_portlist_t *portlist; + isc_stats_t * stats; /* Locked by "lock". */ - isc_mutex_t lock; - unsigned int state; - ISC_LIST(dns_dispatch_t) list; + isc_mutex_t lock; + unsigned int state; + ISC_LIST(dns_dispatch_t) list; /* locked by buffer_lock */ - dns_qid_t *qid; - isc_mutex_t buffer_lock; - unsigned int buffers; /*%< allocated buffers */ - unsigned int buffersize; /*%< size of each buffer */ - unsigned int maxbuffers; /*%< max buffers */ + dns_qid_t * qid; + isc_mutex_t buffer_lock; + unsigned int buffers; /*%< allocated buffers */ + unsigned int buffersize; /*%< size of each buffer */ + unsigned int maxbuffers; /*%< max buffers */ /* Locked internally. */ - isc_mutex_t depool_lock; - isc_mempool_t *depool; /*%< pool for dispatch events */ - isc_mutex_t rpool_lock; - isc_mempool_t *rpool; /*%< pool for replies */ - isc_mutex_t dpool_lock; - isc_mempool_t *dpool; /*%< dispatch allocations */ - isc_mutex_t bpool_lock; - isc_mempool_t *bpool; /*%< pool for buffers */ - isc_mutex_t spool_lock; - isc_mempool_t *spool; /*%< pool for dispsocks */ + isc_mutex_t depool_lock; + isc_mempool_t *depool; /*%< pool for dispatch events */ + isc_mutex_t rpool_lock; + isc_mempool_t *rpool; /*%< pool for replies */ + isc_mutex_t dpool_lock; + isc_mempool_t *dpool; /*%< dispatch allocations */ + isc_mutex_t bpool_lock; + isc_mempool_t *bpool; /*%< pool for buffers */ + isc_mutex_t spool_lock; + isc_mempool_t *spool; /*%< pool for dispsocks */ /*% * Locked by qid->lock if qid exists; otherwise, can be used without @@ -105,31 +104,31 @@ struct dns_dispatchmgr { * revisit the decision when we want to use it as a separate module for * an environment where memory requirement is severer. */ - in_port_t *v4ports; /*%< available ports for IPv4 */ - unsigned int nv4ports; /*%< # of available ports for IPv4 */ - in_port_t *v6ports; /*%< available ports for IPv4 */ - unsigned int nv6ports; /*%< # of available ports for IPv4 */ + in_port_t * v4ports; /*%< available ports for IPv4 */ + unsigned int nv4ports; /*%< # of available ports for IPv4 */ + in_port_t * v6ports; /*%< available ports for IPv4 */ + unsigned int nv6ports; /*%< # of available ports for IPv4 */ }; -#define MGR_SHUTTINGDOWN 0x00000001U -#define MGR_IS_SHUTTINGDOWN(l) (((l)->state & MGR_SHUTTINGDOWN) != 0) +#define MGR_SHUTTINGDOWN 0x00000001U +#define MGR_IS_SHUTTINGDOWN(l) (((l)->state & MGR_SHUTTINGDOWN) != 0) -#define IS_PRIVATE(d) (((d)->attributes & DNS_DISPATCHATTR_PRIVATE) != 0) +#define IS_PRIVATE(d) (((d)->attributes & DNS_DISPATCHATTR_PRIVATE) != 0) struct dns_dispentry { - unsigned int magic; - dns_dispatch_t *disp; - dns_messageid_t id; - in_port_t port; - unsigned int bucket; - isc_sockaddr_t host; - isc_task_t *task; - isc_taskaction_t action; - void *arg; - bool item_out; - dispsocket_t *dispsocket; - ISC_LIST(dns_dispatchevent_t) items; - ISC_LINK(dns_dispentry_t) link; + unsigned int magic; + dns_dispatch_t * disp; + dns_messageid_t id; + in_port_t port; + unsigned int bucket; + isc_sockaddr_t host; + isc_task_t * task; + isc_taskaction_t action; + void * arg; + bool item_out; + dispsocket_t * dispsocket; + ISC_LIST(dns_dispatchevent_t) items; + ISC_LINK(dns_dispentry_t) link; }; /*% @@ -140,7 +139,7 @@ struct dns_dispentry { * value. */ #ifndef DNS_DISPATCH_POOLSOCKS -#define DNS_DISPATCH_POOLSOCKS 2048 +#define DNS_DISPATCH_POOLSOCKS 2048 #endif /*% @@ -150,21 +149,21 @@ struct dns_dispentry { * (especially if the older ones take longer time and result in timeout). */ #ifndef DNS_DISPATCH_SOCKSQUOTA -#define DNS_DISPATCH_SOCKSQUOTA 3072 +#define DNS_DISPATCH_SOCKSQUOTA 3072 #endif struct dispsocket { - unsigned int magic; - isc_socket_t *socket; - dns_dispatch_t *disp; - isc_sockaddr_t host; - in_port_t localport; /* XXX: should be removed later */ - dispportentry_t *portentry; - dns_dispentry_t *resp; - isc_task_t *task; - ISC_LINK(dispsocket_t) link; - unsigned int bucket; - ISC_LINK(dispsocket_t) blink; + unsigned int magic; + isc_socket_t * socket; + dns_dispatch_t * disp; + isc_sockaddr_t host; + in_port_t localport; /* XXX: should be removed later */ + dispportentry_t *portentry; + dns_dispentry_t *resp; + isc_task_t * task; + ISC_LINK(dispsocket_t) link; + unsigned int bucket; + ISC_LINK(dispsocket_t) blink; }; /*% @@ -173,89 +172,87 @@ struct dispsocket { * destination addresses) using the SO_REUSEADDR socket option. */ struct dispportentry { - in_port_t port; - isc_refcount_t refs; - ISC_LINK(struct dispportentry) link; + in_port_t port; + isc_refcount_t refs; + ISC_LINK(struct dispportentry) link; }; #ifndef DNS_DISPATCH_PORTTABLESIZE -#define DNS_DISPATCH_PORTTABLESIZE 1024 +#define DNS_DISPATCH_PORTTABLESIZE 1024 #endif -#define INVALID_BUCKET (0xffffdead) +#define INVALID_BUCKET (0xffffdead) /*% * Number of tasks for each dispatch that use separate sockets for different * transactions. This must be a power of 2 as it will divide 32 bit numbers * to get an uniformly random tasks selection. See get_dispsocket(). */ -#define MAX_INTERNAL_TASKS 64 +#define MAX_INTERNAL_TASKS 64 struct dns_dispatch { /* Unlocked. */ - unsigned int magic; /*%< magic */ - dns_dispatchmgr_t *mgr; /*%< dispatch manager */ - int ntasks; + unsigned int magic; /*%< magic */ + dns_dispatchmgr_t *mgr; /*%< dispatch manager */ + int ntasks; /*% * internal task buckets. We use multiple tasks to distribute various * socket events well when using separate dispatch sockets. We use the * 1st task (task[0]) for internal control events. */ - isc_task_t *task[MAX_INTERNAL_TASKS]; - isc_socket_t *socket; /*%< isc socket attached to */ - isc_sockaddr_t local; /*%< local address */ - in_port_t localport; /*%< local UDP port */ - isc_sockaddr_t peer; /*%< peer address (TCP) */ - isc_dscp_t dscp; /*%< "listen-on" DSCP value */ - unsigned int maxrequests; /*%< max requests */ - isc_event_t *ctlevent; + isc_task_t * task[MAX_INTERNAL_TASKS]; + isc_socket_t * socket; /*%< isc socket attached to */ + isc_sockaddr_t local; /*%< local address */ + in_port_t localport; /*%< local UDP port */ + isc_sockaddr_t peer; /*%< peer address (TCP) */ + isc_dscp_t dscp; /*%< "listen-on" DSCP value */ + unsigned int maxrequests; /*%< max requests */ + isc_event_t * ctlevent; - isc_mutex_t sepool_lock; - isc_mempool_t *sepool; /*%< pool for socket events */ + isc_mutex_t sepool_lock; + isc_mempool_t *sepool; /*%< pool for socket events */ /*% Locked by mgr->lock. */ ISC_LINK(dns_dispatch_t) link; /* Locked by "lock". */ - isc_mutex_t lock; /*%< locks all below */ - isc_sockettype_t socktype; - unsigned int attributes; - unsigned int refcount; /*%< number of users */ - dns_dispatchevent_t *failsafe_ev; /*%< failsafe cancel event */ - unsigned int shutting_down : 1, - shutdown_out : 1, - connected : 1, - tcpmsg_valid : 1, - recv_pending : 1; /*%< is a recv() pending? */ - isc_result_t shutdown_why; - ISC_LIST(dispsocket_t) activesockets; - ISC_LIST(dispsocket_t) inactivesockets; - unsigned int nsockets; - unsigned int requests; /*%< how many requests we have */ - unsigned int tcpbuffers; /*%< allocated buffers */ - dns_tcpmsg_t tcpmsg; /*%< for tcp streams */ - dns_qid_t *qid; - dispportlist_t *port_table; /*%< hold ports 'owned' by us */ - isc_mempool_t *portpool; /*%< port table entries */ + isc_mutex_t lock; /*%< locks all below */ + isc_sockettype_t socktype; + unsigned int attributes; + unsigned int refcount; /*%< number of users */ + dns_dispatchevent_t *failsafe_ev; /*%< failsafe cancel event */ + unsigned int shutting_down : 1, shutdown_out : 1, connected : 1, + tcpmsg_valid : 1, recv_pending : 1; /*%< is a recv() pending? */ + isc_result_t shutdown_why; + ISC_LIST(dispsocket_t) activesockets; + ISC_LIST(dispsocket_t) inactivesockets; + unsigned int nsockets; + unsigned int requests; /*%< how many requests we have */ + unsigned int tcpbuffers; /*%< allocated buffers */ + dns_tcpmsg_t tcpmsg; /*%< for tcp streams */ + dns_qid_t * qid; + dispportlist_t *port_table; /*%< hold ports 'owned' by us */ + isc_mempool_t * portpool; /*%< port table entries */ }; -#define QID_MAGIC ISC_MAGIC('Q', 'i', 'd', ' ') -#define VALID_QID(e) ISC_MAGIC_VALID((e), QID_MAGIC) +#define QID_MAGIC ISC_MAGIC('Q', 'i', 'd', ' ') +#define VALID_QID(e) ISC_MAGIC_VALID((e), QID_MAGIC) -#define RESPONSE_MAGIC ISC_MAGIC('D', 'r', 's', 'p') -#define VALID_RESPONSE(e) ISC_MAGIC_VALID((e), RESPONSE_MAGIC) +#define RESPONSE_MAGIC ISC_MAGIC('D', 'r', 's', 'p') +#define VALID_RESPONSE(e) ISC_MAGIC_VALID((e), RESPONSE_MAGIC) -#define DISPSOCK_MAGIC ISC_MAGIC('D', 's', 'o', 'c') -#define VALID_DISPSOCK(e) ISC_MAGIC_VALID((e), DISPSOCK_MAGIC) +#define DISPSOCK_MAGIC ISC_MAGIC('D', 's', 'o', 'c') +#define VALID_DISPSOCK(e) ISC_MAGIC_VALID((e), DISPSOCK_MAGIC) -#define DISPATCH_MAGIC ISC_MAGIC('D', 'i', 's', 'p') -#define VALID_DISPATCH(e) ISC_MAGIC_VALID((e), DISPATCH_MAGIC) +#define DISPATCH_MAGIC ISC_MAGIC('D', 'i', 's', 'p') +#define VALID_DISPATCH(e) ISC_MAGIC_VALID((e), DISPATCH_MAGIC) -#define DNS_DISPATCHMGR_MAGIC ISC_MAGIC('D', 'M', 'g', 'r') -#define VALID_DISPATCHMGR(e) ISC_MAGIC_VALID((e), DNS_DISPATCHMGR_MAGIC) +#define DNS_DISPATCHMGR_MAGIC ISC_MAGIC('D', 'M', 'g', 'r') +#define VALID_DISPATCHMGR(e) ISC_MAGIC_VALID((e), DNS_DISPATCHMGR_MAGIC) -#define DNS_QID(disp) ((disp)->socktype == isc_sockettype_tcp) ? \ - (disp)->qid : (disp)->mgr->qid +#define DNS_QID(disp) \ + ((disp)->socktype == isc_sockettype_tcp) ? (disp)->qid \ + : (disp)->mgr->qid /*% * Locking a query port buffer is a bit tricky. We access the buffer without @@ -264,132 +261,154 @@ struct dns_dispatch { * however, this should be safe because qid isn't created until the first * dispatch is created and there should be no contending situation until then. */ -#define PORTBUFLOCK(mgr) if ((mgr)->qid != NULL) LOCK(&((mgr)->qid->lock)) -#define PORTBUFUNLOCK(mgr) if ((mgr)->qid != NULL) UNLOCK((&(mgr)->qid->lock)) +#define PORTBUFLOCK(mgr) \ + if ((mgr)->qid != NULL) \ + LOCK(&((mgr)->qid->lock)) +#define PORTBUFUNLOCK(mgr) \ + if ((mgr)->qid != NULL) \ + UNLOCK((&(mgr)->qid->lock)) /* * Statics. */ -static dns_dispentry_t *entry_search(dns_qid_t *, const isc_sockaddr_t *, - dns_messageid_t, in_port_t, unsigned int); -static bool destroy_disp_ok(dns_dispatch_t *); -static void destroy_disp(isc_task_t *task, isc_event_t *event); -static void destroy_dispsocket(dns_dispatch_t *, dispsocket_t **); -static void deactivate_dispsocket(dns_dispatch_t *, dispsocket_t *); -static void udp_exrecv(isc_task_t *, isc_event_t *); -static void udp_shrecv(isc_task_t *, isc_event_t *); -static void udp_recv(isc_event_t *, dns_dispatch_t *, dispsocket_t *); -static void tcp_recv(isc_task_t *, isc_event_t *); -static isc_result_t startrecv(dns_dispatch_t *, dispsocket_t *); -static uint32_t dns_hash(dns_qid_t *, const isc_sockaddr_t *, - dns_messageid_t, in_port_t); -static void free_buffer(dns_dispatch_t *disp, void *buf, unsigned int len); -static void *allocate_udp_buffer(dns_dispatch_t *disp); -static inline void free_devent(dns_dispatch_t *disp, dns_dispatchevent_t *ev); -static inline dns_dispatchevent_t *allocate_devent(dns_dispatch_t *disp); -static void do_cancel(dns_dispatch_t *disp); -static dns_dispentry_t *linear_first(dns_qid_t *disp); -static dns_dispentry_t *linear_next(dns_qid_t *disp, - dns_dispentry_t *resp); -static void dispatch_free(dns_dispatch_t **dispp); -static isc_result_t get_udpsocket(dns_dispatchmgr_t *mgr, - dns_dispatch_t *disp, - isc_socketmgr_t *sockmgr, - const isc_sockaddr_t *localaddr, - isc_socket_t **sockp, - isc_socket_t *dup_socket, - bool duponly); -static isc_result_t dispatch_createudp(dns_dispatchmgr_t *mgr, - isc_socketmgr_t *sockmgr, - isc_taskmgr_t *taskmgr, - const isc_sockaddr_t *localaddr, - unsigned int maxrequests, - unsigned int attributes, - dns_dispatch_t **dispp, - isc_socket_t *dup_socket); -static bool destroy_mgr_ok(dns_dispatchmgr_t *mgr); -static void destroy_mgr(dns_dispatchmgr_t **mgrp); -static isc_result_t qid_allocate(dns_dispatchmgr_t *mgr, unsigned int buckets, - unsigned int increment, dns_qid_t **qidp, - bool needaddrtable); -static void qid_destroy(isc_mem_t *mctx, dns_qid_t **qidp); -static isc_result_t open_socket(isc_socketmgr_t *mgr, - const isc_sockaddr_t *local, - unsigned int options, isc_socket_t **sockp, - isc_socket_t *dup_socket, bool duponly); -static bool portavailable(dns_dispatchmgr_t *mgr, isc_socket_t *sock, - isc_sockaddr_t *sockaddrp); +static dns_dispentry_t * +entry_search(dns_qid_t *, const isc_sockaddr_t *, dns_messageid_t, in_port_t, + unsigned int); +static bool +destroy_disp_ok(dns_dispatch_t *); +static void +destroy_disp(isc_task_t *task, isc_event_t *event); +static void +destroy_dispsocket(dns_dispatch_t *, dispsocket_t **); +static void +deactivate_dispsocket(dns_dispatch_t *, dispsocket_t *); +static void +udp_exrecv(isc_task_t *, isc_event_t *); +static void +udp_shrecv(isc_task_t *, isc_event_t *); +static void +udp_recv(isc_event_t *, dns_dispatch_t *, dispsocket_t *); +static void +tcp_recv(isc_task_t *, isc_event_t *); +static isc_result_t +startrecv(dns_dispatch_t *, dispsocket_t *); +static uint32_t +dns_hash(dns_qid_t *, const isc_sockaddr_t *, dns_messageid_t, in_port_t); +static void +free_buffer(dns_dispatch_t *disp, void *buf, unsigned int len); +static void * +allocate_udp_buffer(dns_dispatch_t *disp); +static inline void +free_devent(dns_dispatch_t *disp, dns_dispatchevent_t *ev); +static inline dns_dispatchevent_t * +allocate_devent(dns_dispatch_t *disp); +static void +do_cancel(dns_dispatch_t *disp); +static dns_dispentry_t * +linear_first(dns_qid_t *disp); +static dns_dispentry_t * +linear_next(dns_qid_t *disp, dns_dispentry_t *resp); +static void +dispatch_free(dns_dispatch_t **dispp); +static isc_result_t +get_udpsocket(dns_dispatchmgr_t *mgr, dns_dispatch_t *disp, + isc_socketmgr_t *sockmgr, const isc_sockaddr_t *localaddr, + isc_socket_t **sockp, isc_socket_t *dup_socket, bool duponly); +static isc_result_t +dispatch_createudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, + isc_taskmgr_t *taskmgr, const isc_sockaddr_t *localaddr, + unsigned int maxrequests, unsigned int attributes, + dns_dispatch_t **dispp, isc_socket_t *dup_socket); +static bool +destroy_mgr_ok(dns_dispatchmgr_t *mgr); +static void +destroy_mgr(dns_dispatchmgr_t **mgrp); +static isc_result_t +qid_allocate(dns_dispatchmgr_t *mgr, unsigned int buckets, + unsigned int increment, dns_qid_t **qidp, bool needaddrtable); +static void +qid_destroy(isc_mem_t *mctx, dns_qid_t **qidp); +static isc_result_t +open_socket(isc_socketmgr_t *mgr, const isc_sockaddr_t *local, + unsigned int options, isc_socket_t **sockp, + isc_socket_t *dup_socket, bool duponly); +static bool +portavailable(dns_dispatchmgr_t *mgr, isc_socket_t *sock, + isc_sockaddr_t *sockaddrp); #define LVL(x) ISC_LOG_DEBUG(x) static void mgr_log(dns_dispatchmgr_t *mgr, int level, const char *fmt, ...) - ISC_FORMAT_PRINTF(3, 4); + ISC_FORMAT_PRINTF(3, 4); static void -mgr_log(dns_dispatchmgr_t *mgr, int level, const char *fmt, ...) { - char msgbuf[2048]; +mgr_log(dns_dispatchmgr_t *mgr, int level, const char *fmt, ...) +{ + char msgbuf[2048]; va_list ap; - if (! isc_log_wouldlog(dns_lctx, level)) + if (!isc_log_wouldlog(dns_lctx, level)) return; va_start(ap, fmt); vsnprintf(msgbuf, sizeof(msgbuf), fmt, ap); va_end(ap); - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_DISPATCH, DNS_LOGMODULE_DISPATCH, - level, "dispatchmgr %p: %s", mgr, msgbuf); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DISPATCH, + DNS_LOGMODULE_DISPATCH, level, "dispatchmgr %p: %s", mgr, + msgbuf); } static inline void -inc_stats(dns_dispatchmgr_t *mgr, isc_statscounter_t counter) { +inc_stats(dns_dispatchmgr_t *mgr, isc_statscounter_t counter) +{ if (mgr->stats != NULL) isc_stats_increment(mgr->stats, counter); } static inline void -dec_stats(dns_dispatchmgr_t *mgr, isc_statscounter_t counter) { +dec_stats(dns_dispatchmgr_t *mgr, isc_statscounter_t counter) +{ if (mgr->stats != NULL) isc_stats_decrement(mgr->stats, counter); } static void dispatch_log(dns_dispatch_t *disp, int level, const char *fmt, ...) - ISC_FORMAT_PRINTF(3, 4); + ISC_FORMAT_PRINTF(3, 4); static void -dispatch_log(dns_dispatch_t *disp, int level, const char *fmt, ...) { - char msgbuf[2048]; +dispatch_log(dns_dispatch_t *disp, int level, const char *fmt, ...) +{ + char msgbuf[2048]; va_list ap; - if (! isc_log_wouldlog(dns_lctx, level)) + if (!isc_log_wouldlog(dns_lctx, level)) return; va_start(ap, fmt); vsnprintf(msgbuf, sizeof(msgbuf), fmt, ap); va_end(ap); - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_DISPATCH, DNS_LOGMODULE_DISPATCH, - level, "dispatch %p: %s", disp, msgbuf); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DISPATCH, + DNS_LOGMODULE_DISPATCH, level, "dispatch %p: %s", disp, + msgbuf); } static void -request_log(dns_dispatch_t *disp, dns_dispentry_t *resp, - int level, const char *fmt, ...) - ISC_FORMAT_PRINTF(4, 5); +request_log(dns_dispatch_t *disp, dns_dispentry_t *resp, int level, + const char *fmt, ...) ISC_FORMAT_PRINTF(4, 5); static void -request_log(dns_dispatch_t *disp, dns_dispentry_t *resp, - int level, const char *fmt, ...) +request_log(dns_dispatch_t *disp, dns_dispentry_t *resp, int level, + const char *fmt, ...) { - char msgbuf[2048]; - char peerbuf[256]; + char msgbuf[2048]; + char peerbuf[256]; va_list ap; - if (! isc_log_wouldlog(dns_lctx, level)) + if (!isc_log_wouldlog(dns_lctx, level)) return; va_start(ap, fmt); @@ -432,9 +451,10 @@ dns_hash(dns_qid_t *qid, const isc_sockaddr_t *dest, dns_messageid_t id, * Find the first entry in 'qid'. Returns NULL if there are no entries. */ static dns_dispentry_t * -linear_first(dns_qid_t *qid) { +linear_first(dns_qid_t *qid) +{ dns_dispentry_t *ret; - unsigned int bucket; + unsigned int bucket; bucket = 0; @@ -453,9 +473,10 @@ linear_first(dns_qid_t *qid) { * no more entries. */ static dns_dispentry_t * -linear_next(dns_qid_t *qid, dns_dispentry_t *resp) { +linear_next(dns_qid_t *qid, dns_dispentry_t *resp) +{ dns_dispentry_t *ret; - unsigned int bucket; + unsigned int bucket; ret = ISC_LIST_NEXT(resp, link); if (ret != NULL) @@ -501,12 +522,13 @@ destroy_disp_ok(dns_dispatch_t *disp) * The manager must not be locked. */ static void -destroy_disp(isc_task_t *task, isc_event_t *event) { - dns_dispatch_t *disp; +destroy_disp(isc_task_t *task, isc_event_t *event) +{ + dns_dispatch_t * disp; dns_dispatchmgr_t *mgr; - bool killmgr; - dispsocket_t *dispsocket; - int i; + bool killmgr; + dispsocket_t * dispsocket; + int i; INSIST(event->ev_type == DNS_EVENT_DISPATCHCONTROL); @@ -550,13 +572,14 @@ destroy_disp(isc_task_t *task, isc_event_t *event) { * create a new entry, and decrement a given entry with possible clean-up. */ static dispportentry_t * -port_search(dns_dispatch_t *disp, in_port_t port) { +port_search(dns_dispatch_t *disp, in_port_t port) +{ dispportentry_t *portentry; REQUIRE(disp->port_table != NULL); - portentry = ISC_LIST_HEAD(disp->port_table[port % - DNS_DISPATCH_PORTTABLESIZE]); + portentry = ISC_LIST_HEAD( + disp->port_table[port % DNS_DISPATCH_PORTTABLESIZE]); while (portentry != NULL) { if (portentry->port == port) return (portentry); @@ -567,9 +590,10 @@ port_search(dns_dispatch_t *disp, in_port_t port) { } static dispportentry_t * -new_portentry(dns_dispatch_t *disp, in_port_t port) { +new_portentry(dns_dispatch_t *disp, in_port_t port) +{ dispportentry_t *portentry; - dns_qid_t *qid; + dns_qid_t * qid; REQUIRE(disp->port_table != NULL); @@ -593,8 +617,9 @@ new_portentry(dns_dispatch_t *disp, in_port_t port) { * The caller must not hold the qid->lock. */ static void -deref_portentry(dns_dispatch_t *disp, dispportentry_t **portentryp) { - dns_qid_t *qid; +deref_portentry(dns_dispatch_t *disp, dispportentry_t **portentryp) +{ + dns_qid_t * qid; dispportentry_t *portentry = *portentryp; *portentryp = NULL; @@ -647,19 +672,19 @@ get_dispsocket(dns_dispatch_t *disp, const isc_sockaddr_t *dest, isc_socketmgr_t *sockmgr, dispsocket_t **dispsockp, in_port_t *portp) { - int i; - dns_dispatchmgr_t *mgr = disp->mgr; - isc_socket_t *sock = NULL; - isc_result_t result = ISC_R_FAILURE; - in_port_t port; - isc_sockaddr_t localaddr; - unsigned int bucket = 0; - dispsocket_t *dispsock; - unsigned int nports; - in_port_t *ports; + int i; + dns_dispatchmgr_t * mgr = disp->mgr; + isc_socket_t * sock = NULL; + isc_result_t result = ISC_R_FAILURE; + in_port_t port; + isc_sockaddr_t localaddr; + unsigned int bucket = 0; + dispsocket_t * dispsock; + unsigned int nports; + in_port_t * ports; isc_socket_options_t bindoptions; - dispportentry_t *portentry = NULL; - dns_qid_t *qid; + dispportentry_t * portentry = NULL; + dns_qid_t * qid; if (isc_sockaddr_pf(&disp->local) == AF_INET) { nports = disp->mgr->nv4ports; @@ -735,8 +760,8 @@ get_dispsocket(dns_dispatch_t *disp, const isc_sockaddr_t *dest, char buf[ISC_SOCKADDR_FORMATSIZE]; isc_sockaddr_format(&localaddr, buf, sizeof(buf)); dispatch_log(disp, ISC_LOG_WARNING, - "open_socket(%s) -> %s: continuing", - buf, isc_result_totext(result)); + "open_socket(%s) -> %s: continuing", buf, + isc_result_totext(result)); } else if (result != ISC_R_ADDRINUSE) break; } @@ -769,9 +794,10 @@ get_dispsocket(dns_dispatch_t *disp, const isc_sockaddr_t *dest, * Destroy a dedicated dispatch socket. */ static void -destroy_dispsocket(dns_dispatch_t *disp, dispsocket_t **dispsockp) { +destroy_dispsocket(dns_dispatch_t *disp, dispsocket_t **dispsockp) +{ dispsocket_t *dispsock; - dns_qid_t *qid; + dns_qid_t * qid; /* * The dispatch must be locked. @@ -805,9 +831,10 @@ destroy_dispsocket(dns_dispatch_t *disp, dispsocket_t **dispsockp) { * future reuse unless the total number of sockets are exceeding the maximum. */ static void -deactivate_dispsocket(dns_dispatch_t *disp, dispsocket_t *dispsock) { +deactivate_dispsocket(dns_dispatch_t *disp, dispsocket_t *dispsock) +{ isc_result_t result; - dns_qid_t *qid; + dns_qid_t * qid; /* * The dispatch must be locked. @@ -874,11 +901,11 @@ entry_search(dns_qid_t *qid, const isc_sockaddr_t *dest, dns_messageid_t id, } static void -free_buffer(dns_dispatch_t *disp, void *buf, unsigned int len) { +free_buffer(dns_dispatch_t *disp, void *buf, unsigned int len) +{ isc_mempool_t *bpool; INSIST(buf != NULL && len != 0); - switch (disp->socktype) { case isc_sockettype_tcp: INSIST(disp->tcpbuffers > 0); @@ -901,9 +928,10 @@ free_buffer(dns_dispatch_t *disp, void *buf, unsigned int len) { } static void * -allocate_udp_buffer(dns_dispatch_t *disp) { +allocate_udp_buffer(dns_dispatch_t *disp) +{ isc_mempool_t *bpool; - void *temp; + void * temp; LOCK(&disp->mgr->buffer_lock); if (disp->mgr->buffers >= disp->mgr->maxbuffers) { @@ -926,26 +954,26 @@ allocate_udp_buffer(dns_dispatch_t *disp) { } static inline void -free_sevent(isc_event_t *ev) { - isc_mempool_t *pool = ev->ev_destroy_arg; - isc_socketevent_t *sev = (isc_socketevent_t *) ev; +free_sevent(isc_event_t *ev) +{ + isc_mempool_t * pool = ev->ev_destroy_arg; + isc_socketevent_t *sev = (isc_socketevent_t *)ev; isc_mempool_put(pool, sev); } static inline isc_socketevent_t * -allocate_sevent(dns_dispatch_t *disp, isc_socket_t *sock, - isc_eventtype_t type, isc_taskaction_t action, const void *arg) +allocate_sevent(dns_dispatch_t *disp, isc_socket_t *sock, isc_eventtype_t type, + isc_taskaction_t action, const void *arg) { isc_socketevent_t *ev; - void *deconst_arg; + void * deconst_arg; ev = isc_mempool_get(disp->sepool); if (ev == NULL) return (NULL); DE_CONST(arg, deconst_arg); - ISC_EVENT_INIT(ev, sizeof(*ev), 0, NULL, type, - action, deconst_arg, sock, - free_sevent, disp->sepool); + ISC_EVENT_INIT(ev, sizeof(*ev), 0, NULL, type, action, deconst_arg, + sock, free_sevent, disp->sepool); ev->result = ISC_R_UNSET; ISC_LINK_INIT(ev, ev_link); ev->region.base = NULL; @@ -956,9 +984,9 @@ allocate_sevent(dns_dispatch_t *disp, isc_socket_t *sock, return (ev); } - static inline void -free_devent(dns_dispatch_t *disp, dns_dispatchevent_t *ev) { +free_devent(dns_dispatch_t *disp, dns_dispatchevent_t *ev) +{ if (disp->failsafe_ev == ev) { INSIST(disp->shutdown_out == 1); disp->shutdown_out = 0; @@ -970,20 +998,22 @@ free_devent(dns_dispatch_t *disp, dns_dispatchevent_t *ev) { } static inline dns_dispatchevent_t * -allocate_devent(dns_dispatch_t *disp) { +allocate_devent(dns_dispatch_t *disp) +{ dns_dispatchevent_t *ev; ev = isc_mempool_get(disp->mgr->depool); if (ev == NULL) return (NULL); - ISC_EVENT_INIT(ev, sizeof(*ev), 0, NULL, 0, - NULL, NULL, NULL, NULL, NULL); + ISC_EVENT_INIT(ev, sizeof(*ev), 0, NULL, 0, NULL, NULL, NULL, NULL, + NULL); return (ev); } static void -udp_exrecv(isc_task_t *task, isc_event_t *ev) { +udp_exrecv(isc_task_t *task, isc_event_t *ev) +{ dispsocket_t *dispsock = ev->ev_arg; UNUSED(task); @@ -993,7 +1023,8 @@ udp_exrecv(isc_task_t *task, isc_event_t *ev) { } static void -udp_shrecv(isc_task_t *task, isc_event_t *ev) { +udp_shrecv(isc_task_t *task, isc_event_t *ev) +{ dns_dispatch_t *disp = ev->ev_arg; UNUSED(task); @@ -1017,23 +1048,24 @@ udp_shrecv(isc_task_t *task, isc_event_t *ev) { * restart. */ static void -udp_recv(isc_event_t *ev_in, dns_dispatch_t *disp, dispsocket_t *dispsock) { - isc_socketevent_t *ev = (isc_socketevent_t *)ev_in; - dns_messageid_t id; - isc_result_t dres; - isc_buffer_t source; - unsigned int flags; - dns_dispentry_t *resp = NULL; +udp_recv(isc_event_t *ev_in, dns_dispatch_t *disp, dispsocket_t *dispsock) +{ + isc_socketevent_t * ev = (isc_socketevent_t *)ev_in; + dns_messageid_t id; + isc_result_t dres; + isc_buffer_t source; + unsigned int flags; + dns_dispentry_t * resp = NULL; dns_dispatchevent_t *rev; - unsigned int bucket; - bool killit; - bool queue_response; - dns_dispatchmgr_t *mgr; - dns_qid_t *qid; - isc_netaddr_t netaddr; - int match; - int result; - bool qidlocked = false; + unsigned int bucket; + bool killit; + bool queue_response; + dns_dispatchmgr_t * mgr; + dns_qid_t * qid; + isc_netaddr_t netaddr; + int match; + int result; + bool qidlocked = false; LOCK(&disp->lock); @@ -1124,16 +1156,14 @@ udp_recv(isc_event_t *ev_in, dns_dispatch_t *disp, dispsocket_t *dispsock) { */ isc_netaddr_fromsockaddr(&netaddr, &ev->address); if (disp->mgr->blackhole != NULL && - dns_acl_match(&netaddr, NULL, disp->mgr->blackhole, - NULL, &match, NULL) == ISC_R_SUCCESS && - match > 0) - { + dns_acl_match(&netaddr, NULL, disp->mgr->blackhole, NULL, &match, + NULL) == ISC_R_SUCCESS && + match > 0) { if (isc_log_wouldlog(dns_lctx, LVL(10))) { char netaddrstr[ISC_NETADDR_FORMATSIZE]; isc_netaddr_format(&netaddr, netaddrstr, sizeof(netaddrstr)); - dispatch_log(disp, LVL(10), - "blackholed packet from %s", + dispatch_log(disp, LVL(10), "blackholed packet from %s", netaddrstr); } free_buffer(disp, ev->region.base, ev->region.length); @@ -1178,16 +1208,16 @@ udp_recv(isc_event_t *ev_in, dns_dispatch_t *disp, dispsocket_t *dispsock) { resp = entry_search(qid, &ev->address, id, disp->localport, bucket); dispatch_log(disp, LVL(90), - "search for response in bucket %d: %s", - bucket, (resp == NULL ? "not found" : "found")); + "search for response in bucket %d: %s", bucket, + (resp == NULL ? "not found" : "found")); if (resp == NULL) { inc_stats(mgr, dns_resstatscounter_mismatch); free_buffer(disp, ev->region.base, ev->region.length); goto unlock; } - } else if (resp->id != id || !isc_sockaddr_equal(&ev->address, - &resp->host)) { + } else if (resp->id != id || + !isc_sockaddr_equal(&ev->address, &resp->host)) { dispatch_log(disp, LVL(90), "response to an exclusive socket doesn't match"); inc_stats(mgr, dns_resstatscounter_mismatch); @@ -1209,7 +1239,7 @@ udp_recv(isc_event_t *ev_in, dns_dispatch_t *disp, dispsocket_t *dispsock) { */ if (disp->socktype != resp->disp->socktype || isc_sockaddr_getport(&disp->local) != - isc_sockaddr_getport(&resp->disp->local)) { + isc_sockaddr_getport(&resp->disp->local)) { free_buffer(disp, ev->region.base, ev->region.length); goto unlock; } @@ -1239,7 +1269,7 @@ udp_recv(isc_event_t *ev_in, dns_dispatch_t *disp, dispsocket_t *dispsock) { } } - sendresponse: +sendresponse: queue_response = resp->item_out; rev = allocate_devent(resp->disp); if (rev == NULL) { @@ -1262,8 +1292,7 @@ udp_recv(isc_event_t *ev_in, dns_dispatch_t *disp, dispsocket_t *dispsock) { if (queue_response) { ISC_LIST_APPEND(resp->items, rev, ev_link); } else { - ISC_EVENT_INIT(rev, sizeof(*rev), 0, NULL, - DNS_EVENT_DISPATCH, + ISC_EVENT_INIT(rev, sizeof(*rev), 0, NULL, DNS_EVENT_DISPATCH, resp->action, resp->arg, resp, NULL, NULL); request_log(disp, resp, LVL(90), "[a] Sent event %p buffer %p len %d to task %p", @@ -1272,14 +1301,14 @@ udp_recv(isc_event_t *ev_in, dns_dispatch_t *disp, dispsocket_t *dispsock) { resp->item_out = true; isc_task_send(resp->task, ISC_EVENT_PTR(&rev)); } - unlock: +unlock: if (qidlocked) UNLOCK(&qid->lock); /* * Restart recv() to get the next packet. */ - restart: +restart: result = startrecv(disp, dispsock); if (result != ISC_R_SUCCESS && dispsock != NULL) { /* @@ -1310,20 +1339,21 @@ udp_recv(isc_event_t *ev_in, dns_dispatch_t *disp, dispsocket_t *dispsock) { * restart. */ static void -tcp_recv(isc_task_t *task, isc_event_t *ev_in) { - dns_dispatch_t *disp = ev_in->ev_arg; - dns_tcpmsg_t *tcpmsg = &disp->tcpmsg; - dns_messageid_t id; - isc_result_t dres; - unsigned int flags; - dns_dispentry_t *resp; +tcp_recv(isc_task_t *task, isc_event_t *ev_in) +{ + dns_dispatch_t * disp = ev_in->ev_arg; + dns_tcpmsg_t * tcpmsg = &disp->tcpmsg; + dns_messageid_t id; + isc_result_t dres; + unsigned int flags; + dns_dispentry_t * resp; dns_dispatchevent_t *rev; - unsigned int bucket; - bool killit; - bool queue_response; - dns_qid_t *qid; - int level; - char buf[ISC_SOCKADDR_FORMATSIZE]; + unsigned int bucket; + bool killit; + bool queue_response; + dns_qid_t * qid; + int level; + char buf[ISC_SOCKADDR_FORMATSIZE]; UNUSED(task); @@ -1365,9 +1395,10 @@ tcp_recv(isc_task_t *task, isc_event_t *ev_in) { level = ISC_LOG_ERROR; logit: isc_sockaddr_format(&tcpmsg->address, buf, sizeof(buf)); - dispatch_log(disp, level, "shutting down due to TCP " - "receive error: %s: %s", buf, - isc_result_totext(tcpmsg->result)); + dispatch_log(disp, level, + "shutting down due to TCP " + "receive error: %s: %s", + buf, isc_result_totext(tcpmsg->result)); do_cancel(disp); break; } @@ -1393,8 +1424,8 @@ tcp_recv(isc_task_t *task, isc_event_t *ev_in) { } dispatch_log(disp, LVL(90), "result %d, length == %d, addr = %p", - tcpmsg->result, - tcpmsg->buffer.length, tcpmsg->buffer.base); + tcpmsg->result, tcpmsg->buffer.length, + tcpmsg->buffer.base); /* * Peek into the buffer to see what we can see. @@ -1431,8 +1462,7 @@ tcp_recv(isc_task_t *task, isc_event_t *ev_in) { bucket = dns_hash(qid, &tcpmsg->address, id, disp->localport); LOCK(&qid->lock); resp = entry_search(qid, &tcpmsg->address, id, disp->localport, bucket); - dispatch_log(disp, LVL(90), - "search for response in bucket %d: %s", + dispatch_log(disp, LVL(90), "search for response in bucket %d: %s", bucket, (resp == NULL ? "not found" : "found")); if (resp == NULL) @@ -1464,13 +1494,13 @@ tcp_recv(isc_task_t *task, isc_event_t *ev_in) { resp->item_out = true; isc_task_send(resp->task, ISC_EVENT_PTR(&rev)); } - unlock: +unlock: UNLOCK(&qid->lock); /* * Restart recv() to get the next packet. */ - restart: +restart: (void)startrecv(disp, NULL); isc_event_free(&ev_in); @@ -1481,9 +1511,10 @@ tcp_recv(isc_task_t *task, isc_event_t *ev_in) { * disp must be locked. */ static isc_result_t -startrecv(dns_dispatch_t *disp, dispsocket_t *dispsock) { - isc_result_t res; - isc_region_t region; +startrecv(dns_dispatch_t *disp, dispsocket_t *dispsock) +{ + isc_result_t res; + isc_region_t region; isc_socket_t *sock; if (disp->shutting_down == 1) @@ -1515,11 +1546,10 @@ startrecv(dns_dispatch_t *disp, dispsocket_t *dispsock) { if (region.base == NULL) return (ISC_R_NOMEMORY); if (dispsock != NULL) { - isc_task_t *dt = dispsock->task; - isc_socketevent_t *sev = - allocate_sevent(disp, sock, - ISC_SOCKEVENT_RECVDONE, - udp_exrecv, dispsock); + isc_task_t * dt = dispsock->task; + isc_socketevent_t *sev = allocate_sevent( + disp, sock, ISC_SOCKEVENT_RECVDONE, udp_exrecv, + dispsock); if (sev == NULL) { free_buffer(disp, region.base, region.length); return (ISC_R_NOMEMORY); @@ -1531,11 +1561,10 @@ startrecv(dns_dispatch_t *disp, dispsocket_t *dispsock) { return (res); } } else { - isc_task_t *dt = disp->task[0]; - isc_socketevent_t *sev = - allocate_sevent(disp, sock, - ISC_SOCKEVENT_RECVDONE, - udp_shrecv, disp); + isc_task_t * dt = disp->task[0]; + isc_socketevent_t *sev = allocate_sevent( + disp, sock, ISC_SOCKEVENT_RECVDONE, udp_shrecv, + disp); if (sev == NULL) { free_buffer(disp, region.base, region.length); return (ISC_R_NOMEMORY); @@ -1578,7 +1607,8 @@ startrecv(dns_dispatch_t *disp, dispsocket_t *dispsock) { * Mgr must be locked when calling this function. */ static bool -destroy_mgr_ok(dns_dispatchmgr_t *mgr) { +destroy_mgr_ok(dns_dispatchmgr_t *mgr) +{ mgr_log(mgr, LVL(90), "destroy_mgr_ok: shuttingdown=%d, listnonempty=%d, " "depool=%d, rpool=%d, dpool=%d", @@ -1604,7 +1634,8 @@ destroy_mgr_ok(dns_dispatchmgr_t *mgr) { * Mgr must be unlocked when calling this function. */ static void -destroy_mgr(dns_dispatchmgr_t **mgrp) { +destroy_mgr(dns_dispatchmgr_t **mgrp) +{ dns_dispatchmgr_t *mgr; mgr = *mgrp; @@ -1659,7 +1690,7 @@ open_socket(isc_socketmgr_t *mgr, const isc_sockaddr_t *local, isc_socket_t *dup_socket, bool duponly) { isc_socket_t *sock; - isc_result_t result; + isc_result_t result; sock = *sockp; if (sock != NULL) { @@ -1668,8 +1699,7 @@ open_socket(isc_socketmgr_t *mgr, const isc_sockaddr_t *local, return (result); } } else if (dup_socket != NULL && - (!isc_socket_hasreuseport() || duponly)) - { + (!isc_socket_hasreuseport() || duponly)) { result = isc_socket_dup(dup_socket, &sock); if (result != ISC_R_SUCCESS) { return (result); @@ -1712,7 +1742,8 @@ open_socket(isc_socketmgr_t *mgr, const isc_sockaddr_t *local, * cases. */ static isc_result_t -create_default_portset(isc_mem_t *mctx, isc_portset_t **portsetp) { +create_default_portset(isc_mem_t *mctx, isc_portset_t **portsetp) +{ isc_result_t result; result = isc_portset_create(mctx, portsetp); @@ -1731,9 +1762,9 @@ isc_result_t dns_dispatchmgr_create(isc_mem_t *mctx, dns_dispatchmgr_t **mgrp) { dns_dispatchmgr_t *mgr; - isc_result_t result; - isc_portset_t *v4portset = NULL; - isc_portset_t *v6portset = NULL; + isc_result_t result; + isc_portset_t * v4portset = NULL; + isc_portset_t * v6portset = NULL; REQUIRE(mctx != NULL); REQUIRE(mgrp != NULL && *mgrp == NULL); @@ -1756,15 +1787,13 @@ dns_dispatchmgr_create(isc_mem_t *mctx, dns_dispatchmgr_t **mgrp) mgr->depool = NULL; isc_mempool_create(mgr->mctx, sizeof(dns_dispatchevent_t), - &mgr->depool); + &mgr->depool); mgr->rpool = NULL; - isc_mempool_create(mgr->mctx, sizeof(dns_dispentry_t), - &mgr->rpool); + isc_mempool_create(mgr->mctx, sizeof(dns_dispentry_t), &mgr->rpool); mgr->dpool = NULL; - isc_mempool_create(mgr->mctx, sizeof(dns_dispatch_t), - &mgr->dpool); + isc_mempool_create(mgr->mctx, sizeof(dns_dispatch_t), &mgr->dpool); isc_mempool_setname(mgr->depool, "dispmgr_depool"); isc_mempool_setmaxalloc(mgr->depool, 32768); @@ -1802,8 +1831,7 @@ dns_dispatchmgr_create(isc_mem_t *mctx, dns_dispatchmgr_t **mgrp) if (result == ISC_R_SUCCESS) { result = create_default_portset(mctx, &v6portset); if (result == ISC_R_SUCCESS) { - result = dns_dispatchmgr_setavailports(mgr, - v4portset, + result = dns_dispatchmgr_setavailports(mgr, v4portset, v6portset); } } @@ -1817,7 +1845,7 @@ dns_dispatchmgr_create(isc_mem_t *mctx, dns_dispatchmgr_t **mgrp) *mgrp = mgr; return (ISC_R_SUCCESS); - kill_dpool: +kill_dpool: isc_mempool_destroy(&mgr->dpool); isc_mempool_destroy(&mgr->rpool); isc_mempool_destroy(&mgr->depool); @@ -1834,7 +1862,8 @@ dns_dispatchmgr_create(isc_mem_t *mctx, dns_dispatchmgr_t **mgrp) } void -dns_dispatchmgr_setblackhole(dns_dispatchmgr_t *mgr, dns_acl_t *blackhole) { +dns_dispatchmgr_setblackhole(dns_dispatchmgr_t *mgr, dns_acl_t *blackhole) +{ REQUIRE(VALID_DISPATCHMGR(mgr)); if (mgr->blackhole != NULL) dns_acl_detach(&mgr->blackhole); @@ -1842,14 +1871,15 @@ dns_dispatchmgr_setblackhole(dns_dispatchmgr_t *mgr, dns_acl_t *blackhole) { } dns_acl_t * -dns_dispatchmgr_getblackhole(dns_dispatchmgr_t *mgr) { +dns_dispatchmgr_getblackhole(dns_dispatchmgr_t *mgr) +{ REQUIRE(VALID_DISPATCHMGR(mgr)); return (mgr->blackhole); } void dns_dispatchmgr_setblackportlist(dns_dispatchmgr_t *mgr, - dns_portlist_t *portlist) + dns_portlist_t * portlist) { REQUIRE(VALID_DISPATCHMGR(mgr)); UNUSED(portlist); @@ -1859,16 +1889,17 @@ dns_dispatchmgr_setblackportlist(dns_dispatchmgr_t *mgr, } dns_portlist_t * -dns_dispatchmgr_getblackportlist(dns_dispatchmgr_t *mgr) { +dns_dispatchmgr_getblackportlist(dns_dispatchmgr_t *mgr) +{ REQUIRE(VALID_DISPATCHMGR(mgr)); - return (NULL); /* this function is deprecated */ + return (NULL); /* this function is deprecated */ } isc_result_t dns_dispatchmgr_setavailports(dns_dispatchmgr_t *mgr, isc_portset_t *v4portset, isc_portset_t *v6portset) { - in_port_t *v4ports, *v6ports, p; + in_port_t * v4ports, *v6ports, p; unsigned int nv4ports, nv6ports, i4, i6; REQUIRE(VALID_DISPATCHMGR(mgr)); @@ -1920,17 +1951,16 @@ dns_dispatchmgr_setavailports(dns_dispatchmgr_t *mgr, isc_portset_t *v4portset, } static isc_result_t -dns_dispatchmgr_setudp(dns_dispatchmgr_t *mgr, - unsigned int buffersize, unsigned int maxbuffers, - unsigned int maxrequests, unsigned int buckets, - unsigned int increment) +dns_dispatchmgr_setudp(dns_dispatchmgr_t *mgr, unsigned int buffersize, + unsigned int maxbuffers, unsigned int maxrequests, + unsigned int buckets, unsigned int increment) { isc_result_t result; REQUIRE(VALID_DISPATCHMGR(mgr)); REQUIRE(buffersize >= 512 && buffersize < (64 * 1024)); REQUIRE(maxbuffers > 0); - REQUIRE(buckets < 2097169); /* next prime > 65536 * 32 */ + REQUIRE(buckets < 2097169); /* next prime > 65536 * 32 */ REQUIRE(increment > buckets); /* @@ -1986,8 +2016,7 @@ dns_dispatchmgr_setudp(dns_dispatchmgr_t *mgr, UNLOCK(&mgr->buffer_lock); return (ISC_R_SUCCESS); } - isc_mempool_create(mgr->mctx, sizeof(dispsocket_t), - &mgr->spool); + isc_mempool_create(mgr->mctx, sizeof(dispsocket_t), &mgr->spool); isc_mempool_setname(mgr->spool, "dispmgr_spool"); isc_mempool_setmaxalloc(mgr->spool, maxrequests); @@ -2004,7 +2033,7 @@ dns_dispatchmgr_setudp(dns_dispatchmgr_t *mgr, UNLOCK(&mgr->buffer_lock); return (ISC_R_SUCCESS); - cleanup: +cleanup: isc_mempool_destroy(&mgr->bpool); if (mgr->spool != NULL) isc_mempool_destroy(&mgr->spool); @@ -2013,9 +2042,10 @@ dns_dispatchmgr_setudp(dns_dispatchmgr_t *mgr, } void -dns_dispatchmgr_destroy(dns_dispatchmgr_t **mgrp) { +dns_dispatchmgr_destroy(dns_dispatchmgr_t **mgrp) +{ dns_dispatchmgr_t *mgr; - bool killit; + bool killit; REQUIRE(mgrp != NULL); REQUIRE(VALID_DISPATCHMGR(*mgrp)); @@ -2035,7 +2065,8 @@ dns_dispatchmgr_destroy(dns_dispatchmgr_t **mgrp) { } void -dns_dispatchmgr_setstats(dns_dispatchmgr_t *mgr, isc_stats_t *stats) { +dns_dispatchmgr_setstats(dns_dispatchmgr_t *mgr, isc_stats_t *stats) +{ REQUIRE(VALID_DISPATCHMGR(mgr)); REQUIRE(ISC_LIST_EMPTY(mgr->list)); REQUIRE(mgr->stats == NULL); @@ -2044,7 +2075,8 @@ dns_dispatchmgr_setstats(dns_dispatchmgr_t *mgr, isc_stats_t *stats) { } static int -port_cmp(const void *key, const void *ent) { +port_cmp(const void *key, const void *ent) +{ in_port_t p1 = *(const in_port_t *)key; in_port_t p2 = *(const in_port_t *)ent; @@ -2061,10 +2093,10 @@ portavailable(dns_dispatchmgr_t *mgr, isc_socket_t *sock, isc_sockaddr_t *sockaddrp) { isc_sockaddr_t sockaddr; - isc_result_t result; - in_port_t *ports, port; - unsigned int nports; - bool available = false; + isc_result_t result; + in_port_t * ports, port; + unsigned int nports; + bool available = false; REQUIRE(sock != NULL || sockaddrp != NULL); @@ -2098,9 +2130,10 @@ unlock: #define ATTRMATCH(_a1, _a2, _mask) (((_a1) & (_mask)) == ((_a2) & (_mask))) static bool -local_addr_match(dns_dispatch_t *disp, const isc_sockaddr_t *addr) { +local_addr_match(dns_dispatch_t *disp, const isc_sockaddr_t *addr) +{ isc_sockaddr_t sockaddr; - isc_result_t result; + isc_result_t result; REQUIRE(disp->socket != NULL); @@ -2154,20 +2187,20 @@ dispatch_find(dns_dispatchmgr_t *mgr, const isc_sockaddr_t *local, dns_dispatch_t **dispp) { dns_dispatch_t *disp; - isc_result_t result; + isc_result_t result; /* * Make certain that we will not match a private or exclusive dispatch. */ - attributes &= ~(DNS_DISPATCHATTR_PRIVATE|DNS_DISPATCHATTR_EXCLUSIVE); - mask |= (DNS_DISPATCHATTR_PRIVATE|DNS_DISPATCHATTR_EXCLUSIVE); + attributes &= ~(DNS_DISPATCHATTR_PRIVATE | DNS_DISPATCHATTR_EXCLUSIVE); + mask |= (DNS_DISPATCHATTR_PRIVATE | DNS_DISPATCHATTR_EXCLUSIVE); disp = ISC_LIST_HEAD(mgr->list); while (disp != NULL) { LOCK(&disp->lock); - if ((disp->shutting_down == 0) - && ATTRMATCH(disp->attributes, attributes, mask) - && local_addr_match(disp, local)) + if ((disp->shutting_down == 0) && + ATTRMATCH(disp->attributes, attributes, mask) && + local_addr_match(disp, local)) break; UNLOCK(&disp->lock); disp = ISC_LIST_NEXT(disp, link); @@ -2180,33 +2213,32 @@ dispatch_find(dns_dispatchmgr_t *mgr, const isc_sockaddr_t *local, *dispp = disp; result = ISC_R_SUCCESS; - out: +out: return (result); } static isc_result_t qid_allocate(dns_dispatchmgr_t *mgr, unsigned int buckets, - unsigned int increment, dns_qid_t **qidp, - bool needsocktable) + unsigned int increment, dns_qid_t **qidp, bool needsocktable) { - dns_qid_t *qid; + dns_qid_t * qid; unsigned int i; REQUIRE(VALID_DISPATCHMGR(mgr)); - REQUIRE(buckets < 2097169); /* next prime > 65536 * 32 */ + REQUIRE(buckets < 2097169); /* next prime > 65536 * 32 */ REQUIRE(increment > buckets); REQUIRE(qidp != NULL && *qidp == NULL); qid = isc_mem_get(mgr->mctx, sizeof(*qid)); - qid->qid_table = isc_mem_get(mgr->mctx, - buckets * sizeof(dns_displist_t)); + qid->qid_table = + isc_mem_get(mgr->mctx, buckets * sizeof(dns_displist_t)); qid->sock_table = NULL; if (needsocktable) { - qid->sock_table = isc_mem_get(mgr->mctx, - buckets * sizeof(dispsocketlist_t)); + qid->sock_table = isc_mem_get( + mgr->mctx, buckets * sizeof(dispsocketlist_t)); } isc_mutex_init(&qid->lock); @@ -2225,7 +2257,8 @@ qid_allocate(dns_dispatchmgr_t *mgr, unsigned int buckets, } static void -qid_destroy(isc_mem_t *mctx, dns_qid_t **qidp) { +qid_destroy(isc_mem_t *mctx, dns_qid_t **qidp) +{ dns_qid_t *qid; REQUIRE(qidp != NULL); @@ -2253,7 +2286,7 @@ dispatch_allocate(dns_dispatchmgr_t *mgr, unsigned int maxrequests, dns_dispatch_t **dispp) { dns_dispatch_t *disp; - isc_result_t result; + isc_result_t result; REQUIRE(VALID_DISPATCHMGR(mgr)); REQUIRE(dispp != NULL && *dispp == NULL); @@ -2308,20 +2341,20 @@ dispatch_allocate(dns_dispatchmgr_t *mgr, unsigned int maxrequests, /* * error returns */ - kill_lock: +kill_lock: isc_mutex_destroy(&disp->lock); isc_mempool_put(mgr->dpool, disp); return (result); } - /* * MUST be unlocked, and not used by anything. */ static void -dispatch_free(dns_dispatch_t **dispp) { - dns_dispatch_t *disp; +dispatch_free(dns_dispatch_t **dispp) +{ + dns_dispatch_t * disp; dns_dispatchmgr_t *mgr; REQUIRE(VALID_DISPATCH(*dispp)); @@ -2354,7 +2387,7 @@ dispatch_free(dns_dispatch_t **dispp) { } isc_mem_put(mgr->mctx, disp->port_table, sizeof(disp->port_table[0]) * - DNS_DISPATCH_PORTTABLESIZE); + DNS_DISPATCH_PORTTABLESIZE); } if (disp->portpool != NULL) @@ -2374,7 +2407,7 @@ dns_dispatch_createtcp(dns_dispatchmgr_t *mgr, isc_socket_t *sock, unsigned int buckets, unsigned int increment, unsigned int attributes, dns_dispatch_t **dispp) { - isc_result_t result; + isc_result_t result; dns_dispatch_t *disp; UNUSED(maxbuffers); @@ -2386,7 +2419,7 @@ dns_dispatch_createtcp(dns_dispatchmgr_t *mgr, isc_socket_t *sock, REQUIRE((attributes & DNS_DISPATCHATTR_UDP) == 0); if (destaddr == NULL) - attributes |= DNS_DISPATCHATTR_PRIVATE; /* XXXMLG */ + attributes |= DNS_DISPATCHATTR_PRIVATE; /* XXXMLG */ LOCK(&mgr->lock); @@ -2417,10 +2450,9 @@ dns_dispatch_createtcp(dns_dispatchmgr_t *mgr, isc_socket_t *sock, if (result != ISC_R_SUCCESS) goto kill_socket; - disp->ctlevent = isc_event_allocate(mgr->mctx, disp, - DNS_EVENT_DISPATCHCONTROL, - destroy_disp, disp, - sizeof(isc_event_t)); + disp->ctlevent = + isc_event_allocate(mgr->mctx, disp, DNS_EVENT_DISPATCHCONTROL, + destroy_disp, disp, sizeof(isc_event_t)); isc_task_setname(disp->task[0], "tcpdispatch", disp); @@ -2458,9 +2490,9 @@ dns_dispatch_createtcp(dns_dispatchmgr_t *mgr, isc_socket_t *sock, return (ISC_R_SUCCESS); - kill_socket: +kill_socket: isc_socket_detach(&disp->socket); - deallocate_dispatch: +deallocate_dispatch: dispatch_free(&disp); UNLOCK(&mgr->lock); @@ -2474,11 +2506,11 @@ dns_dispatch_gettcp(dns_dispatchmgr_t *mgr, const isc_sockaddr_t *destaddr, dns_dispatch_t **dispp) { dns_dispatch_t *disp; - isc_result_t result; - isc_sockaddr_t peeraddr; - isc_sockaddr_t sockname; - unsigned int attributes, mask; - bool match = false; + isc_result_t result; + isc_sockaddr_t peeraddr; + isc_sockaddr_t sockname; + unsigned int attributes, mask; + bool match = false; REQUIRE(VALID_DISPATCHMGR(mgr)); REQUIRE(destaddr != NULL); @@ -2497,8 +2529,8 @@ dns_dispatch_gettcp(dns_dispatchmgr_t *mgr, const isc_sockaddr_t *destaddr, ATTRMATCH(disp->attributes, attributes, mask) && (localaddr == NULL || isc_sockaddr_eqaddr(localaddr, &disp->local))) { - result = isc_socket_getsockname(disp->socket, - &sockname); + result = + isc_socket_getsockname(disp->socket, &sockname); if (result == ISC_R_SUCCESS) result = isc_socket_getpeername(disp->socket, &peeraddr); @@ -2548,14 +2580,14 @@ dns_dispatch_gettcp(dns_dispatchmgr_t *mgr, const isc_sockaddr_t *destaddr, isc_result_t dns_dispatch_getudp_dup(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, - isc_taskmgr_t *taskmgr, const isc_sockaddr_t *localaddr, - unsigned int buffersize, - unsigned int maxbuffers, unsigned int maxrequests, - unsigned int buckets, unsigned int increment, - unsigned int attributes, unsigned int mask, - dns_dispatch_t **dispp, dns_dispatch_t *dup_dispatch) + isc_taskmgr_t *taskmgr, const isc_sockaddr_t *localaddr, + unsigned int buffersize, unsigned int maxbuffers, + unsigned int maxrequests, unsigned int buckets, + unsigned int increment, unsigned int attributes, + unsigned int mask, dns_dispatch_t **dispp, + dns_dispatch_t *dup_dispatch) { - isc_result_t result; + isc_result_t result; dns_dispatch_t *disp = NULL; REQUIRE(VALID_DISPATCHMGR(mgr)); @@ -2564,7 +2596,7 @@ dns_dispatch_getudp_dup(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, REQUIRE(taskmgr != NULL); REQUIRE(buffersize >= 512 && buffersize < (64 * 1024)); REQUIRE(maxbuffers > 0); - REQUIRE(buckets < 2097169); /* next prime > 65536 * 32 */ + REQUIRE(buckets < 2097169); /* next prime > 65536 * 32 */ REQUIRE(increment > buckets); REQUIRE(dispp != NULL && *dispp == NULL); REQUIRE((attributes & DNS_DISPATCHATTR_TCP) == 0); @@ -2592,9 +2624,9 @@ dns_dispatch_getudp_dup(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, if (disp->maxrequests < maxrequests) disp->maxrequests = maxrequests; - if ((disp->attributes & DNS_DISPATCHATTR_NOLISTEN) == 0 - && (attributes & DNS_DISPATCHATTR_NOLISTEN) != 0) - { + if ((disp->attributes & DNS_DISPATCHATTR_NOLISTEN) == + 0 && + (attributes & DNS_DISPATCHATTR_NOLISTEN) != 0) { disp->attributes |= DNS_DISPATCHATTR_NOLISTEN; if (disp->recv_pending != 0) isc_socket_cancel(disp->socket, @@ -2611,15 +2643,13 @@ dns_dispatch_getudp_dup(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, } } - createudp: +createudp: /* * Nope, create one. */ - result = dispatch_createudp(mgr, sockmgr, taskmgr, localaddr, - maxrequests, attributes, &disp, - dup_dispatch == NULL - ? NULL - : dup_dispatch->socket); + result = dispatch_createudp( + mgr, sockmgr, taskmgr, localaddr, maxrequests, attributes, + &disp, dup_dispatch == NULL ? NULL : dup_dispatch->socket); if (result != ISC_R_SUCCESS) { UNLOCK(&mgr->lock); @@ -2635,16 +2665,15 @@ dns_dispatch_getudp_dup(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, isc_result_t dns_dispatch_getudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, isc_taskmgr_t *taskmgr, const isc_sockaddr_t *localaddr, - unsigned int buffersize, - unsigned int maxbuffers, unsigned int maxrequests, - unsigned int buckets, unsigned int increment, - unsigned int attributes, unsigned int mask, - dns_dispatch_t **dispp) + unsigned int buffersize, unsigned int maxbuffers, + unsigned int maxrequests, unsigned int buckets, + unsigned int increment, unsigned int attributes, + unsigned int mask, dns_dispatch_t **dispp) { return (dns_dispatch_getudp_dup(mgr, sockmgr, taskmgr, localaddr, buffersize, maxbuffers, maxrequests, - buckets, increment, attributes, - mask, dispp, NULL)); + buckets, increment, attributes, mask, + dispp, NULL)); } /* @@ -2660,12 +2689,12 @@ get_udpsocket(dns_dispatchmgr_t *mgr, dns_dispatch_t *disp, isc_socketmgr_t *sockmgr, const isc_sockaddr_t *localaddr, isc_socket_t **sockp, isc_socket_t *dup_socket, bool duponly) { - unsigned int i, j; - isc_socket_t *held[DNS_DISPATCH_HELD]; + unsigned int i, j; + isc_socket_t * held[DNS_DISPATCH_HELD]; isc_sockaddr_t localaddr_bound; - isc_socket_t *sock = NULL; - isc_result_t result = ISC_R_SUCCESS; - bool anyport; + isc_socket_t * sock = NULL; + isc_result_t result = ISC_R_SUCCESS; + bool anyport; INSIST(sockp != NULL && *sockp == NULL); @@ -2674,7 +2703,7 @@ get_udpsocket(dns_dispatchmgr_t *mgr, dns_dispatch_t *disp, if (anyport) { unsigned int nports; - in_port_t *ports; + in_port_t * ports; /* * If no port is specified, we first try to pick up a random @@ -2695,14 +2724,13 @@ get_udpsocket(dns_dispatchmgr_t *mgr, dns_dispatch_t *disp, prt = ports[isc_random_uniform(nports)]; isc_sockaddr_setport(&localaddr_bound, prt); - result = open_socket(sockmgr, &localaddr_bound, - 0, &sock, NULL, false); + result = open_socket(sockmgr, &localaddr_bound, 0, + &sock, NULL, false); /* * Continue if the port choosen is already in use * or the OS has reserved it. */ - if (result == ISC_R_NOPERM || - result == ISC_R_ADDRINUSE) + if (result == ISC_R_NOPERM || result == ISC_R_ADDRINUSE) continue; disp->localport = prt; *sockp = sock; @@ -2716,8 +2744,8 @@ get_udpsocket(dns_dispatchmgr_t *mgr, dns_dispatch_t *disp, } else { /* Allow to reuse address for non-random ports. */ result = open_socket(sockmgr, localaddr, - ISC_SOCKET_REUSEADDRESS, &sock, - dup_socket, duponly); + ISC_SOCKET_REUSEADDRESS, &sock, dup_socket, + duponly); if (result == ISC_R_SUCCESS) *sockp = sock; @@ -2762,17 +2790,14 @@ end: static isc_result_t dispatch_createudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, - isc_taskmgr_t *taskmgr, - const isc_sockaddr_t *localaddr, - unsigned int maxrequests, - unsigned int attributes, - dns_dispatch_t **dispp, - isc_socket_t *dup_socket) + isc_taskmgr_t *taskmgr, const isc_sockaddr_t *localaddr, + unsigned int maxrequests, unsigned int attributes, + dns_dispatch_t **dispp, isc_socket_t *dup_socket) { - isc_result_t result; + isc_result_t result; dns_dispatch_t *disp; - isc_socket_t *sock = NULL; - int i = 0; + isc_socket_t * sock = NULL; + int i = 0; bool duponly = ((attributes & DNS_DISPATCHATTR_CANREUSE) == 0); /* This is an attribute needed only at creation time */ @@ -2800,7 +2825,8 @@ dispatch_createudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, isc_sockaddr_format(localaddr, addrbuf, ISC_SOCKADDR_FORMATSIZE); - mgr_log(mgr, LVL(90), "dns_dispatch_createudp: Created" + mgr_log(mgr, LVL(90), + "dns_dispatch_createudp: Created" " UDP dispatch for %s with socket fd %d", addrbuf, isc_socket_getfd(sock)); } @@ -2816,8 +2842,8 @@ dispatch_createudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, */ isc_sockaddr_anyofpf(&sa_any, isc_sockaddr_pf(localaddr)); if (!isc_sockaddr_eqaddr(&sa_any, localaddr)) { - result = open_socket(sockmgr, localaddr, 0, - &sock, NULL, false); + result = open_socket(sockmgr, localaddr, 0, &sock, NULL, + false); if (sock != NULL) { isc_socket_detach(&sock); } @@ -2826,14 +2852,15 @@ dispatch_createudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, } } - disp->port_table = isc_mem_get(mgr->mctx, - sizeof(disp->port_table[0]) * DNS_DISPATCH_PORTTABLESIZE); + disp->port_table = isc_mem_get( + mgr->mctx, sizeof(disp->port_table[0]) * + DNS_DISPATCH_PORTTABLESIZE); for (i = 0; i < DNS_DISPATCH_PORTTABLESIZE; i++) { ISC_LIST_INIT(disp->port_table[i]); } isc_mempool_create(mgr->mctx, sizeof(dispportentry_t), - &disp->portpool); + &disp->portpool); isc_mempool_setname(disp->portpool, "disp_portpool"); isc_mempool_setfreemax(disp->portpool, 128); } @@ -2858,14 +2885,12 @@ dispatch_createudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, isc_task_setname(disp->task[i], "udpdispatch", disp); } - disp->ctlevent = isc_event_allocate(mgr->mctx, disp, - DNS_EVENT_DISPATCHCONTROL, - destroy_disp, disp, - sizeof(isc_event_t)); + disp->ctlevent = + isc_event_allocate(mgr->mctx, disp, DNS_EVENT_DISPATCHCONTROL, + destroy_disp, disp, sizeof(isc_event_t)); disp->sepool = NULL; - isc_mempool_create(mgr->mctx, sizeof(isc_socketevent_t), - &disp->sepool); + isc_mempool_create(mgr->mctx, sizeof(isc_socketevent_t), &disp->sepool); isc_mutex_init(&disp->sepool_lock); @@ -2897,18 +2922,19 @@ dispatch_createudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, /* * Error returns. */ - kill_socket: +kill_socket: if (disp->socket != NULL) { isc_socket_detach(&disp->socket); } - deallocate_dispatch: +deallocate_dispatch: dispatch_free(&disp); return (result); } void -dns_dispatch_attach(dns_dispatch_t *disp, dns_dispatch_t **dispp) { +dns_dispatch_attach(dns_dispatch_t *disp, dns_dispatch_t **dispp) +{ REQUIRE(VALID_DISPATCH(disp)); REQUIRE(dispp != NULL && *dispp == NULL); @@ -2927,10 +2953,11 @@ dns_dispatch_attach(dns_dispatch_t *disp, dns_dispatch_t **dispp) { * to a dispatcher that is in the process of going away. */ void -dns_dispatch_detach(dns_dispatch_t **dispp) { +dns_dispatch_detach(dns_dispatch_t **dispp) +{ dns_dispatch_t *disp; - dispsocket_t *dispsock; - bool killit; + dispsocket_t * dispsock; + bool killit; REQUIRE(dispp != NULL && VALID_DISPATCH(*dispp)); @@ -2970,14 +2997,14 @@ dns_dispatch_addresponse(dns_dispatch_t *disp, unsigned int options, isc_socketmgr_t *sockmgr) { dns_dispentry_t *res; - unsigned int bucket; - in_port_t localport = 0; - dns_messageid_t id; - int i; - bool ok; - dns_qid_t *qid; - dispsocket_t *dispsocket = NULL; - isc_result_t result; + unsigned int bucket; + in_port_t localport = 0; + dns_messageid_t id; + int i; + bool ok; + dns_qid_t * qid; + dispsocket_t * dispsocket = NULL; + isc_result_t result; REQUIRE(VALID_DISPATCH(disp)); REQUIRE(task != NULL); @@ -3001,8 +3028,8 @@ dns_dispatch_addresponse(dns_dispatch_t *disp, unsigned int options, if ((disp->attributes & DNS_DISPATCHATTR_EXCLUSIVE) != 0 && disp->nsockets > DNS_DISPATCH_SOCKSQUOTA) { - dispsocket_t *oldestsocket; - dns_dispentry_t *oldestresp; + dispsocket_t * oldestsocket; + dns_dispentry_t * oldestresp; dns_dispatchevent_t *rev; /* @@ -3017,8 +3044,8 @@ dns_dispatch_addresponse(dns_dispatch_t *disp, unsigned int options, rev->buffer.base = NULL; rev->result = ISC_R_CANCELED; rev->id = oldestresp->id; - ISC_EVENT_INIT(rev, sizeof(*rev), 0, - NULL, DNS_EVENT_DISPATCH, + ISC_EVENT_INIT(rev, sizeof(*rev), 0, NULL, + DNS_EVENT_DISPATCH, oldestresp->action, oldestresp->arg, oldestresp, NULL, NULL); @@ -3116,12 +3143,11 @@ dns_dispatch_addresponse(dns_dispatch_t *disp, unsigned int options, ISC_LIST_APPEND(qid->qid_table[bucket], res, link); UNLOCK(&qid->lock); - inc_stats(disp->mgr, (qid == disp->mgr->qid) ? - dns_resstatscounter_disprequdp : - dns_resstatscounter_dispreqtcp); + inc_stats(disp->mgr, (qid == disp->mgr->qid) + ? dns_resstatscounter_disprequdp + : dns_resstatscounter_dispreqtcp); - request_log(disp, res, LVL(90), - "attached to task %p", res->task); + request_log(disp, res, LVL(90), "attached to task %p", res->task); if (((disp->attributes & DNS_DISPATCHATTR_UDP) != 0) || ((disp->attributes & DNS_DISPATCHATTR_CONNECTED) != 0)) { @@ -3137,9 +3163,10 @@ dns_dispatch_addresponse(dns_dispatch_t *disp, unsigned int options, disp->refcount--; disp->requests--; - dec_stats(disp->mgr, (qid == disp->mgr->qid) ? - dns_resstatscounter_disprequdp : - dns_resstatscounter_dispreqtcp); + dec_stats(disp->mgr, + (qid == disp->mgr->qid) + ? dns_resstatscounter_disprequdp + : dns_resstatscounter_dispreqtcp); UNLOCK(&disp->lock); isc_task_detach(&res->task); @@ -3163,8 +3190,8 @@ dns_dispatch_addresponse(dns_dispatch_t *disp, unsigned int options, } void -dns_dispatch_starttcp(dns_dispatch_t *disp) { - +dns_dispatch_starttcp(dns_dispatch_t *disp) +{ REQUIRE(VALID_DISPATCH(disp)); dispatch_log(disp, LVL(90), "starttcp %p", disp->task[0]); @@ -3178,8 +3205,9 @@ dns_dispatch_starttcp(dns_dispatch_t *disp) { } isc_result_t -dns_dispatch_getnext(dns_dispentry_t *resp, dns_dispatchevent_t **sockevent) { - dns_dispatch_t *disp; +dns_dispatch_getnext(dns_dispentry_t *resp, dns_dispatchevent_t **sockevent) +{ + dns_dispatch_t * disp; dns_dispatchevent_t *ev; REQUIRE(VALID_RESPONSE(resp)); @@ -3210,9 +3238,8 @@ dns_dispatch_getnext(dns_dispentry_t *resp, dns_dispatchevent_t **sockevent) { ISC_EVENT_INIT(ev, sizeof(*ev), 0, NULL, DNS_EVENT_DISPATCH, resp->action, resp->arg, resp, NULL, NULL); request_log(disp, resp, LVL(90), - "[c] Sent event %p buffer %p len %d to task %p", - ev, ev->buffer.base, ev->buffer.length, - resp->task); + "[c] Sent event %p buffer %p len %d to task %p", ev, + ev->buffer.base, ev->buffer.length, resp->task); resp->item_out = true; isc_task_send(resp->task, ISC_EVENT_PTR(&ev)); } @@ -3221,19 +3248,19 @@ dns_dispatch_getnext(dns_dispentry_t *resp, dns_dispatchevent_t **sockevent) { } void -dns_dispatch_removeresponse(dns_dispentry_t **resp, +dns_dispatch_removeresponse(dns_dispentry_t ** resp, dns_dispatchevent_t **sockevent) { - dns_dispatchmgr_t *mgr; - dns_dispatch_t *disp; - dns_dispentry_t *res; - dispsocket_t *dispsock; + dns_dispatchmgr_t * mgr; + dns_dispatch_t * disp; + dns_dispentry_t * res; + dispsocket_t * dispsock; dns_dispatchevent_t *ev; - unsigned int bucket; - bool killit; - unsigned int n; - isc_eventlist_t events; - dns_qid_t *qid; + unsigned int bucket; + bool killit; + unsigned int n; + isc_eventlist_t events; + dns_qid_t * qid; REQUIRE(resp != NULL); REQUIRE(VALID_RESPONSE(*resp)); @@ -3260,9 +3287,9 @@ dns_dispatch_removeresponse(dns_dispentry_t **resp, INSIST(disp->requests > 0); disp->requests--; - dec_stats(disp->mgr, (qid == disp->mgr->qid) ? - dns_resstatscounter_disprequdp : - dns_resstatscounter_dispreqtcp); + dec_stats(disp->mgr, (qid == disp->mgr->qid) + ? dns_resstatscounter_disprequdp + : dns_resstatscounter_dispreqtcp); INSIST(disp->refcount > 0); disp->refcount--; if (disp->refcount == 0) { @@ -3290,8 +3317,8 @@ dns_dispatch_removeresponse(dns_dispentry_t **resp, * yet. Take it back. */ ISC_LIST_INIT(events); - n = isc_task_unsend(res->task, res, DNS_EVENT_DISPATCH, - NULL, &events); + n = isc_task_unsend(res->task, res, DNS_EVENT_DISPATCH, NULL, + &events); /* * We had better have gotten it back. */ @@ -3344,10 +3371,11 @@ dns_dispatch_removeresponse(dns_dispentry_t **resp, * disp must be locked. */ static void -do_cancel(dns_dispatch_t *disp) { +do_cancel(dns_dispatch_t *disp) +{ dns_dispatchevent_t *ev; - dns_dispentry_t *resp; - dns_qid_t *qid; + dns_dispentry_t * resp; + dns_qid_t * qid; if (disp->shutdown_out == 1) return; @@ -3359,8 +3387,7 @@ do_cancel(dns_dispatch_t *disp) { * unless a specific hander is given. */ LOCK(&qid->lock); - for (resp = linear_first(qid); - resp != NULL && resp->item_out; + for (resp = linear_first(qid); resp != NULL && resp->item_out; /* Empty. */) resp = linear_next(qid, resp); @@ -3380,24 +3407,25 @@ do_cancel(dns_dispatch_t *disp) { ev->buffer.base = NULL; ev->buffer.length = 0; disp->shutdown_out = 1; - request_log(disp, resp, LVL(10), - "cancel: failsafe event %p -> task %p", + request_log(disp, resp, LVL(10), "cancel: failsafe event %p -> task %p", ev, resp->task); resp->item_out = true; isc_task_send(resp->task, ISC_EVENT_PTR(&ev)); - unlock: +unlock: UNLOCK(&qid->lock); } isc_socket_t * -dns_dispatch_getsocket(dns_dispatch_t *disp) { +dns_dispatch_getsocket(dns_dispatch_t *disp) +{ REQUIRE(VALID_DISPATCH(disp)); return (disp->socket); } isc_socket_t * -dns_dispatch_getentrysocket(dns_dispentry_t *resp) { +dns_dispatch_getentrysocket(dns_dispentry_t *resp) +{ REQUIRE(VALID_RESPONSE(resp)); if (resp->dispsocket != NULL) @@ -3407,8 +3435,8 @@ dns_dispatch_getentrysocket(dns_dispentry_t *resp) { } isc_result_t -dns_dispatch_getlocaladdress(dns_dispatch_t *disp, isc_sockaddr_t *addrp) { - +dns_dispatch_getlocaladdress(dns_dispatch_t *disp, isc_sockaddr_t *addrp) +{ REQUIRE(VALID_DISPATCH(disp)); REQUIRE(addrp != NULL); @@ -3420,7 +3448,8 @@ dns_dispatch_getlocaladdress(dns_dispatch_t *disp, isc_sockaddr_t *addrp) { } void -dns_dispatch_cancel(dns_dispatch_t *disp) { +dns_dispatch_cancel(dns_dispatch_t *disp) +{ REQUIRE(VALID_DISPATCH(disp)); LOCK(&disp->lock); @@ -3440,7 +3469,8 @@ dns_dispatch_cancel(dns_dispatch_t *disp) { } unsigned int -dns_dispatch_getattributes(dns_dispatch_t *disp) { +dns_dispatch_getattributes(dns_dispatch_t *disp) +{ REQUIRE(VALID_DISPATCH(disp)); /* @@ -3451,8 +3481,8 @@ dns_dispatch_getattributes(dns_dispatch_t *disp) { } void -dns_dispatch_changeattributes(dns_dispatch_t *disp, - unsigned int attributes, unsigned int mask) +dns_dispatch_changeattributes(dns_dispatch_t *disp, unsigned int attributes, + unsigned int mask) { REQUIRE(VALID_DISPATCH(disp)); /* Exclusive attribute can only be set on creation */ @@ -3472,8 +3502,8 @@ dns_dispatch_changeattributes(dns_dispatch_t *disp, (attributes & DNS_DISPATCHATTR_NOLISTEN) == 0) { disp->attributes &= ~DNS_DISPATCHATTR_NOLISTEN; (void)startrecv(disp, NULL); - } else if ((disp->attributes & DNS_DISPATCHATTR_NOLISTEN) - == 0 && + } else if ((disp->attributes & DNS_DISPATCHATTR_NOLISTEN) == + 0 && (attributes & DNS_DISPATCHATTR_NOLISTEN) != 0) { disp->attributes |= DNS_DISPATCHATTR_NOLISTEN; if (disp->recv_pending != 0) @@ -3488,8 +3518,9 @@ dns_dispatch_changeattributes(dns_dispatch_t *disp, } void -dns_dispatch_importrecv(dns_dispatch_t *disp, isc_event_t *event) { - void *buf; +dns_dispatch_importrecv(dns_dispatch_t *disp, isc_event_t *event) +{ + void * buf; isc_socketevent_t *sevent, *newsevent; REQUIRE(VALID_DISPATCH(disp)); @@ -3501,10 +3532,9 @@ dns_dispatch_importrecv(dns_dispatch_t *disp, isc_event_t *event) { sevent = (isc_socketevent_t *)event; INSIST(sevent->n <= disp->mgr->buffersize); - newsevent = (isc_socketevent_t *) - isc_event_allocate(disp->mgr->mctx, NULL, - DNS_EVENT_IMPORTRECVDONE, udp_shrecv, - disp, sizeof(isc_socketevent_t)); + newsevent = (isc_socketevent_t *)isc_event_allocate( + disp->mgr->mctx, NULL, DNS_EVENT_IMPORTRECVDONE, udp_shrecv, + disp, sizeof(isc_socketevent_t)); buf = allocate_udp_buffer(disp); if (buf == NULL) { @@ -3525,7 +3555,8 @@ dns_dispatch_importrecv(dns_dispatch_t *disp, isc_event_t *event) { } dns_dispatch_t * -dns_dispatchset_get(dns_dispatchset_t *dset) { +dns_dispatchset_get(dns_dispatchset_t *dset) +{ dns_dispatch_t *disp; /* check that dispatch set is configured */ @@ -3547,10 +3578,10 @@ dns_dispatchset_create(isc_mem_t *mctx, isc_socketmgr_t *sockmgr, isc_taskmgr_t *taskmgr, dns_dispatch_t *source, dns_dispatchset_t **dsetp, int n) { - isc_result_t result; + isc_result_t result; dns_dispatchset_t *dset; dns_dispatchmgr_t *mgr; - int i, j; + int i, j; REQUIRE(VALID_DISPATCH(source)); REQUIRE((source->attributes & DNS_DISPATCHATTR_UDP) != 0); @@ -3575,12 +3606,10 @@ dns_dispatchset_create(isc_mem_t *mctx, isc_socketmgr_t *sockmgr, LOCK(&mgr->lock); for (i = 1; i < n; i++) { dset->dispatches[i] = NULL; - result = dispatch_createudp(mgr, sockmgr, taskmgr, - &source->local, - source->maxrequests, - source->attributes, - &dset->dispatches[i], - source->socket); + result = dispatch_createudp( + mgr, sockmgr, taskmgr, &source->local, + source->maxrequests, source->attributes, + &dset->dispatches[i], source->socket); if (result != ISC_R_SUCCESS) goto fail; } @@ -3590,7 +3619,7 @@ dns_dispatchset_create(isc_mem_t *mctx, isc_socketmgr_t *sockmgr, return (ISC_R_SUCCESS); - fail: +fail: UNLOCK(&mgr->lock); for (j = 0; j < i; j++) @@ -3605,7 +3634,8 @@ dns_dispatchset_create(isc_mem_t *mctx, isc_socketmgr_t *sockmgr, } void -dns_dispatchset_cancelall(dns_dispatchset_t *dset, isc_task_t *task) { +dns_dispatchset_cancelall(dns_dispatchset_t *dset, isc_task_t *task) +{ int i; REQUIRE(dset != NULL); @@ -3618,9 +3648,10 @@ dns_dispatchset_cancelall(dns_dispatchset_t *dset, isc_task_t *task) { } void -dns_dispatchset_destroy(dns_dispatchset_t **dsetp) { +dns_dispatchset_destroy(dns_dispatchset_t **dsetp) +{ dns_dispatchset_t *dset; - int i; + int i; REQUIRE(dsetp != NULL && *dsetp != NULL); @@ -3635,13 +3666,15 @@ dns_dispatchset_destroy(dns_dispatchset_t **dsetp) { } void -dns_dispatch_setdscp(dns_dispatch_t *disp, isc_dscp_t dscp) { +dns_dispatch_setdscp(dns_dispatch_t *disp, isc_dscp_t dscp) +{ REQUIRE(VALID_DISPATCH(disp)); disp->dscp = dscp; } isc_dscp_t -dns_dispatch_getdscp(dns_dispatch_t *disp) { +dns_dispatch_getdscp(dns_dispatch_t *disp) +{ REQUIRE(VALID_DISPATCH(disp)); return (disp->dscp); } diff --git a/lib/dns/dlz.c b/lib/dns/dlz.c index 7a607e1c5f..61acfbd5c3 100644 --- a/lib/dns/dlz.c +++ b/lib/dns/dlz.c @@ -44,7 +44,6 @@ * USE OR PERFORMANCE OF THIS SOFTWARE. */ - /*! \file */ /*** @@ -53,15 +52,6 @@ #include -#include -#include -#include -#include -#include -#include -#include - - #include #include #include @@ -71,16 +61,25 @@ #include #include +#include +#include +#include +#include +#include +#include +#include + /*** *** Supported DLZ DB Implementations Registry ***/ static ISC_LIST(dns_dlzimplementation_t) dlz_implementations; static isc_rwlock_t dlz_implock; -static isc_once_t once = ISC_ONCE_INIT; +static isc_once_t once = ISC_ONCE_INIT; static void -dlz_initialize(void) { +dlz_initialize(void) +{ RUNTIME_CHECK(isc_rwlock_init(&dlz_implock, 0, 0) == ISC_R_SUCCESS); ISC_LIST_INIT(dlz_implementations); } @@ -89,11 +88,11 @@ dlz_initialize(void) { * Searches the dlz_implementations list for a driver matching name. */ static inline dns_dlzimplementation_t * -dlz_impfind(const char *name) { +dlz_impfind(const char *name) +{ dns_dlzimplementation_t *imp; - for (imp = ISC_LIST_HEAD(dlz_implementations); - imp != NULL; + for (imp = ISC_LIST_HEAD(dlz_implementations); imp != NULL; imp = ISC_LIST_NEXT(imp, link)) if (strcasecmp(name, imp->name) == 0) return (imp); @@ -108,9 +107,9 @@ isc_result_t dns_dlzallowzonexfr(dns_view_t *view, const dns_name_t *name, const isc_sockaddr_t *clientaddr, dns_db_t **dbp) { - isc_result_t result = ISC_R_NOTFOUND; + isc_result_t result = ISC_R_NOTFOUND; dns_dlzallowzonexfr_t allowzonexfr; - dns_dlzdb_t *dlzdb; + dns_dlzdb_t * dlzdb; /* * Performs checks to make sure data is as we expect it to be. @@ -121,10 +120,8 @@ dns_dlzallowzonexfr(dns_view_t *view, const dns_name_t *name, /* * Find a driver in which the zone exists and transfer is supported */ - for (dlzdb = ISC_LIST_HEAD(view->dlz_searched); - dlzdb != NULL; - dlzdb = ISC_LIST_NEXT(dlzdb, link)) - { + for (dlzdb = ISC_LIST_HEAD(view->dlz_searched); dlzdb != NULL; + dlzdb = ISC_LIST_NEXT(dlzdb, link)) { REQUIRE(DNS_DLZ_VALID(dlzdb)); allowzonexfr = dlzdb->implementation->methods->allowzonexfr; @@ -157,8 +154,8 @@ dns_dlzcreate(isc_mem_t *mctx, const char *dlzname, const char *drivername, unsigned int argc, char *argv[], dns_dlzdb_t **dbp) { dns_dlzimplementation_t *impinfo; - isc_result_t result; - dns_dlzdb_t *db = NULL; + isc_result_t result; + dns_dlzdb_t * db = NULL; /* * initialize the dlz_implementations list, this is guaranteed @@ -175,9 +172,9 @@ dns_dlzcreate(isc_mem_t *mctx, const char *dlzname, const char *drivername, REQUIRE(mctx != NULL); /* write log message */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_INFO, - "Loading '%s' using driver %s", dlzname, drivername); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_INFO, "Loading '%s' using driver %s", dlzname, + drivername); /* lock the dlz_implementations list so we can search it. */ RWLOCK(&dlz_implock, isc_rwlocktype_read); @@ -209,8 +206,7 @@ dns_dlzcreate(isc_mem_t *mctx, const char *dlzname, const char *drivername, /* Create a new database using implementation 'drivername'. */ result = ((impinfo->methods->create)(mctx, dlzname, argc, argv, - impinfo->driverarg, - &db->dbdata)); + impinfo->driverarg, &db->dbdata)); /* mark the DLZ driver as valid */ if (result == ISC_R_SUCCESS) { @@ -235,14 +231,14 @@ dns_dlzcreate(isc_mem_t *mctx, const char *dlzname, const char *drivername, } void -dns_dlzdestroy(dns_dlzdb_t **dbp) { +dns_dlzdestroy(dns_dlzdb_t **dbp) +{ dns_dlzdestroy_t destroy; - dns_dlzdb_t *db; + dns_dlzdb_t * db; /* Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Unloading DLZ driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Unloading DLZ driver."); /* * Perform checks to make sure data is as we expect it to be. @@ -273,13 +269,12 @@ dns_dlzregister(const char *drivername, const dns_dlzmethods_t *methods, void *driverarg, isc_mem_t *mctx, dns_dlzimplementation_t **dlzimp) { - dns_dlzimplementation_t *dlz_imp; /* Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Registering DLZ driver '%s'", drivername); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Registering DLZ driver '%s'", + drivername); /* * Performs checks to make sure data is as we expect it to be. @@ -309,8 +304,7 @@ dns_dlzregister(const char *drivername, const dns_dlzmethods_t *methods, if (dlz_imp != NULL) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "DLZ Driver '%s' already registered", - drivername); + "DLZ Driver '%s' already registered", drivername); RWUNLOCK(&dlz_implock, isc_rwlocktype_write); return (ISC_R_EXISTS); } @@ -357,10 +351,9 @@ dns_dlzregister(const char *drivername, const dns_dlzmethods_t *methods, * is modified in-place. */ isc_result_t -dns_dlzstrtoargv(isc_mem_t *mctx, char *s, - unsigned int *argcp, char ***argvp) +dns_dlzstrtoargv(isc_mem_t *mctx, char *s, unsigned int *argcp, char ***argvp) { - return(isc_commandline_strtoargv(mctx, s, argcp, argvp, 0)); + return (isc_commandline_strtoargv(mctx, s, argcp, argvp, 0)); } /*% @@ -368,13 +361,13 @@ dns_dlzstrtoargv(isc_mem_t *mctx, char *s, * driver from the list of available drivers in the dlz_implementations list. */ void -dns_dlzunregister(dns_dlzimplementation_t **dlzimp) { +dns_dlzunregister(dns_dlzimplementation_t **dlzimp) +{ dns_dlzimplementation_t *dlz_imp; /* Write debugging message to log */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(2), - "Unregistering DLZ driver."); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(2), "Unregistering DLZ driver."); /* * Performs checks to make sure data is as we expect it to be. @@ -418,12 +411,12 @@ isc_result_t dns_dlz_writeablezone(dns_view_t *view, dns_dlzdb_t *dlzdb, const char *zone_name) { - dns_zone_t *zone = NULL; - dns_zone_t *dupzone = NULL; - isc_result_t result; - isc_buffer_t buffer; + dns_zone_t * zone = NULL; + dns_zone_t * dupzone = NULL; + isc_result_t result; + isc_buffer_t buffer; dns_fixedname_t fixorigin; - dns_name_t *origin; + dns_name_t * origin; REQUIRE(DNS_DLZ_VALID(dlzdb)); @@ -432,8 +425,8 @@ dns_dlz_writeablezone(dns_view_t *view, dns_dlzdb_t *dlzdb, isc_buffer_constinit(&buffer, zone_name, strlen(zone_name)); isc_buffer_add(&buffer, strlen(zone_name)); dns_fixedname_init(&fixorigin); - result = dns_name_fromtext(dns_fixedname_name(&fixorigin), - &buffer, dns_rootname, 0, NULL); + result = dns_name_fromtext(dns_fixedname_name(&fixorigin), &buffer, + dns_rootname, 0, NULL); if (result != ISC_R_SUCCESS) goto cleanup; origin = dns_fixedname_name(&fixorigin); @@ -469,8 +462,8 @@ dns_dlz_writeablezone(dns_view_t *view, dns_dlzdb_t *dlzdb, dns_zone_setadded(zone, true); if (dlzdb->ssutable == NULL) { - result = dns_ssutable_createdlz(dlzdb->mctx, - &dlzdb->ssutable, dlzdb); + result = dns_ssutable_createdlz(dlzdb->mctx, &dlzdb->ssutable, + dlzdb); if (result != ISC_R_SUCCESS) goto cleanup; } @@ -482,8 +475,7 @@ dns_dlz_writeablezone(dns_view_t *view, dns_dlzdb_t *dlzdb, result = dns_view_addzone(view, zone); - - cleanup: +cleanup: if (zone != NULL) dns_zone_detach(&zone); @@ -499,7 +491,7 @@ dns_dlzconfigure(dns_view_t *view, dns_dlzdb_t *dlzdb, dlzconfigure_callback_t callback) { dns_dlzimplementation_t *impl; - isc_result_t result; + isc_result_t result; REQUIRE(DNS_DLZ_VALID(dlzdb)); REQUIRE(dlzdb->implementation != NULL); @@ -511,8 +503,8 @@ dns_dlzconfigure(dns_view_t *view, dns_dlzdb_t *dlzdb, dlzdb->configure_callback = callback; - result = impl->methods->configure(impl->driverarg, dlzdb->dbdata, - view, dlzdb); + result = impl->methods->configure(impl->driverarg, dlzdb->dbdata, view, + dlzdb); return (result); } @@ -522,7 +514,7 @@ dns_dlz_ssumatch(dns_dlzdb_t *dlzdatabase, const dns_name_t *signer, dns_rdatatype_t type, const dst_key_t *key) { dns_dlzimplementation_t *impl; - bool r; + bool r; REQUIRE(dlzdatabase != NULL); REQUIRE(dlzdatabase->implementation != NULL); diff --git a/lib/dns/dns64.c b/lib/dns/dns64.c index 0e5c18b677..07b81e5f8b 100644 --- a/lib/dns/dns64.c +++ b/lib/dns/dns64.c @@ -10,6 +10,7 @@ */ #include +#include #include #include @@ -22,29 +23,28 @@ #include #include #include -#include struct dns_dns64 { - unsigned char bits[16]; /* - * Prefix + suffix bits. - */ - dns_acl_t * clients; /* - * Which clients get mapped - * addresses. - */ - dns_acl_t * mapped; /* - * IPv4 addresses to be mapped. - */ - dns_acl_t * excluded; /* - * IPv6 addresses that are - * treated as not existing. - */ - unsigned int prefixlen; /* - * Start of mapped address. - */ - unsigned int flags; - isc_mem_t * mctx; - ISC_LINK(dns_dns64_t) link; + unsigned char bits[16]; /* + * Prefix + suffix bits. + */ + dns_acl_t *clients; /* + * Which clients get mapped + * addresses. + */ + dns_acl_t *mapped; /* + * IPv4 addresses to be mapped. + */ + dns_acl_t *excluded; /* + * IPv6 addresses that are + * treated as not existing. + */ + unsigned int prefixlen; /* + * Start of mapped address. + */ + unsigned int flags; + isc_mem_t * mctx; + ISC_LINK(dns_dns64_t) link; }; isc_result_t @@ -98,7 +98,8 @@ dns_dns64_create(isc_mem_t *mctx, const isc_netaddr_t *prefix, } void -dns_dns64_destroy(dns_dns64_t **dns64p) { +dns_dns64_destroy(dns_dns64_t **dns64p) +{ dns_dns64_t *dns64; REQUIRE(dns64p != NULL && *dns64p != NULL); @@ -124,7 +125,7 @@ dns_dns64_aaaafroma(const dns_dns64_t *dns64, const isc_netaddr_t *reqaddr, { unsigned int nbytes, i; isc_result_t result; - int match; + int match; if ((dns64->flags & DNS_DNS64_RECURSIVE_ONLY) != 0 && (flags & DNS_DNS64_RECURSIVE) == 0) @@ -135,8 +136,8 @@ dns_dns64_aaaafroma(const dns_dns64_t *dns64, const isc_netaddr_t *reqaddr, return (DNS_R_DISALLOWED); if (dns64->clients != NULL) { - result = dns_acl_match(reqaddr, reqsigner, dns64->clients, - env, &match, NULL); + result = dns_acl_match(reqaddr, reqsigner, dns64->clients, env, + &match, NULL); if (result != ISC_R_SUCCESS) return (result); if (match <= 0) @@ -145,12 +146,12 @@ dns_dns64_aaaafroma(const dns_dns64_t *dns64, const isc_netaddr_t *reqaddr, if (dns64->mapped != NULL) { struct in_addr ina; - isc_netaddr_t netaddr; + isc_netaddr_t netaddr; memmove(&ina.s_addr, a, 4); isc_netaddr_fromin(&netaddr, &ina); - result = dns_acl_match(&netaddr, NULL, dns64->mapped, - env, &match, NULL); + result = dns_acl_match(&netaddr, NULL, dns64->mapped, env, + &match, NULL); if (result != ISC_R_SUCCESS) return (result); if (match <= 0) @@ -177,34 +178,37 @@ dns_dns64_aaaafroma(const dns_dns64_t *dns64, const isc_netaddr_t *reqaddr, } dns_dns64_t * -dns_dns64_next(dns_dns64_t *dns64) { +dns_dns64_next(dns_dns64_t *dns64) +{ dns64 = ISC_LIST_NEXT(dns64, link); return (dns64); } void -dns_dns64_append(dns_dns64list_t *list, dns_dns64_t *dns64) { +dns_dns64_append(dns_dns64list_t *list, dns_dns64_t *dns64) +{ ISC_LIST_APPEND(*list, dns64, link); } void -dns_dns64_unlink(dns_dns64list_t *list, dns_dns64_t *dns64) { +dns_dns64_unlink(dns_dns64list_t *list, dns_dns64_t *dns64) +{ ISC_LIST_UNLINK(*list, dns64, link); } bool dns_dns64_aaaaok(const dns_dns64_t *dns64, const isc_netaddr_t *reqaddr, const dns_name_t *reqsigner, const dns_aclenv_t *env, - unsigned int flags, dns_rdataset_t *rdataset, - bool *aaaaok, size_t aaaaoklen) + unsigned int flags, dns_rdataset_t *rdataset, bool *aaaaok, + size_t aaaaoklen) { struct in6_addr in6; - isc_netaddr_t netaddr; - isc_result_t result; - int match; - bool answer = false; - bool found = false; - unsigned int i, ok; + isc_netaddr_t netaddr; + isc_result_t result; + int match; + bool answer = false; + bool found = false; + unsigned int i, ok; REQUIRE(rdataset != NULL); REQUIRE(rdataset->type == dns_rdatatype_aaaa); @@ -212,7 +216,7 @@ dns_dns64_aaaaok(const dns_dns64_t *dns64, const isc_netaddr_t *reqaddr, if (aaaaok != NULL) REQUIRE(aaaaoklen == dns_rdataset_count(rdataset)); - for (;dns64 != NULL; dns64 = ISC_LIST_NEXT(dns64, link)) { + for (; dns64 != NULL; dns64 = ISC_LIST_NEXT(dns64, link)) { if ((dns64->flags & DNS_DNS64_RECURSIVE_ONLY) != 0 && (flags & DNS_DNS64_RECURSIVE) == 0) continue; @@ -225,8 +229,8 @@ dns_dns64_aaaaok(const dns_dns64_t *dns64, const isc_netaddr_t *reqaddr, */ if (dns64->clients != NULL) { result = dns_acl_match(reqaddr, reqsigner, - dns64->clients, env, - &match, NULL); + dns64->clients, env, &match, + NULL); if (result != ISC_R_SUCCESS) continue; if (match <= 0) @@ -252,13 +256,13 @@ dns_dns64_aaaaok(const dns_dns64_t *dns64, const isc_netaddr_t *reqaddr, goto done; } - i = 0; ok = 0; + i = 0; + ok = 0; for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; if (aaaaok == NULL || !aaaaok[i]) { - dns_rdataset_current(rdataset, &rdata); memmove(&in6.s6_addr, rdata.data, 16); isc_netaddr_fromin6(&netaddr, &in6); @@ -284,7 +288,7 @@ dns_dns64_aaaaok(const dns_dns64_t *dns64, const isc_netaddr_t *reqaddr, goto done; } - done: +done: if (!found && aaaaok != NULL) { for (i = 0; i < aaaaoklen; i++) aaaaok[i] = true; diff --git a/lib/dns/dnsrps.c b/lib/dns/dnsrps.c index 8fd9677e22..4fae740749 100644 --- a/lib/dns/dnsrps.c +++ b/lib/dns/dnsrps.c @@ -30,29 +30,29 @@ #include #include -librpz_t *librpz; +librpz_t * librpz; librpz_emsg_t librpz_lib_open_emsg; -static void *librpz_handle; +static void * librpz_handle; #define RPSDB_MAGIC ISC_MAGIC('R', 'P', 'Z', 'F') #define VALID_RPSDB(rpsdb) ((rpsdb)->common.impmagic == RPSDB_MAGIC) -#define RD_DB(r) ((r)->private1) -#define RD_CUR_RR(r) ((r)->private2) -#define RD_NEXT_RR(r) ((r)->resign) -#define RD_COUNT(r) ((r)->privateuint4) +#define RD_DB(r) ((r)->private1) +#define RD_CUR_RR(r) ((r)->private2) +#define RD_NEXT_RR(r) ((r)->resign) +#define RD_COUNT(r) ((r)->privateuint4) typedef struct { - dns_rdatasetiter_t common; - dns_rdatatype_t type; - dns_rdataclass_t class; - uint32_t ttl; - uint count; - librpz_idx_t next_rr; + dns_rdatasetiter_t common; + dns_rdatatype_t type; + dns_rdataclass_t class; + uint32_t ttl; + uint count; + librpz_idx_t next_rr; } rpsdb_rdatasetiter_t; -static dns_dbmethods_t rpsdb_db_methods; -static dns_rdatasetmethods_t rpsdb_rdataset_methods; +static dns_dbmethods_t rpsdb_db_methods; +static dns_rdatasetmethods_t rpsdb_rdataset_methods; static dns_rdatasetitermethods_t rpsdb_rdatasetiter_methods; static librpz_clist_t *clist; @@ -60,28 +60,32 @@ static librpz_clist_t *clist; static isc_mutex_t dnsrps_mutex; static void -dnsrps_lock(void *mutex0) { +dnsrps_lock(void *mutex0) +{ isc_mutex_t *mutex = mutex0; LOCK(mutex); } static void -dnsrps_unlock(void *mutex0) { +dnsrps_unlock(void *mutex0) +{ isc_mutex_t *mutex = mutex0; UNLOCK(mutex); } static void -dnsrps_mutex_destroy(void *mutex0) { +dnsrps_mutex_destroy(void *mutex0) +{ isc_mutex_t *mutex = mutex0; isc_mutex_destroy(mutex); } static void -dnsrps_log_fnc(librpz_log_level_t level, void *ctxt, const char *buf) { +dnsrps_log_fnc(librpz_log_level_t level, void *ctxt, const char *buf) +{ int isc_level; UNUSED(ctxt); @@ -92,26 +96,26 @@ dnsrps_log_fnc(librpz_log_level_t level, void *ctxt, const char *buf) { level <= librpz->log_level_val(LIBRPZ_LOG_INVALID)) level = LIBRPZ_LOG_TRACE1; - switch(level) { + switch (level) { case LIBRPZ_LOG_FATAL: - case LIBRPZ_LOG_ERROR: /* errors */ + case LIBRPZ_LOG_ERROR: /* errors */ default: isc_level = DNS_RPZ_ERROR_LEVEL; break; - case LIBRPZ_LOG_TRACE1: /* big events such as dnsrpzd starts */ + case LIBRPZ_LOG_TRACE1: /* big events such as dnsrpzd starts */ isc_level = DNS_RPZ_INFO_LEVEL; break; - case LIBRPZ_LOG_TRACE2: /* smaller dnsrpzd zone transfers */ + case LIBRPZ_LOG_TRACE2: /* smaller dnsrpzd zone transfers */ isc_level = DNS_RPZ_DEBUG_LEVEL1; break; - case LIBRPZ_LOG_TRACE3: /* librpz hits */ + case LIBRPZ_LOG_TRACE3: /* librpz hits */ isc_level = DNS_RPZ_DEBUG_LEVEL2; break; - case LIBRPZ_LOG_TRACE4: /* librpz lookups */ + case LIBRPZ_LOG_TRACE4: /* librpz lookups */ isc_level = DNS_RPZ_DEBUG_LEVEL3; break; } @@ -124,7 +128,8 @@ dnsrps_log_fnc(librpz_log_level_t level, void *ctxt, const char *buf) { * This is not thread safe, but it is called by a single thread. */ isc_result_t -dns_dnsrps_server_create(void) { +dns_dnsrps_server_create(void) +{ librpz_emsg_t emsg; INSIST(clist == NULL); @@ -134,8 +139,8 @@ dns_dnsrps_server_create(void) { /* * Notice if librpz is available. */ - librpz = librpz_lib_open(&librpz_lib_open_emsg, - &librpz_handle, DNSRPS_LIBRPZ_PATH); + librpz = librpz_lib_open(&librpz_lib_open_emsg, &librpz_handle, + DNSRPS_LIBRPZ_PATH); /* * Stop now without complaining if librpz is not available. * Complain later if and when librpz is needed for a view with @@ -165,7 +170,8 @@ dns_dnsrps_server_create(void) { * This is not thread safe. */ void -dns_dnsrps_server_destroy(void) { +dns_dnsrps_server_destroy(void) +{ if (clist != NULL) librpz->clist_detach(&clist); @@ -185,15 +191,15 @@ dns_dnsrps_server_destroy(void) { * Ready dnsrps for a view. */ isc_result_t -dns_dnsrps_view_init(dns_rpz_zones_t *new, char *rps_cstr) { +dns_dnsrps_view_init(dns_rpz_zones_t *new, char *rps_cstr) +{ librpz_emsg_t emsg; - isc_log_write(dns_lctx, DNS_LOGCATEGORY_RPZ, - DNS_LOGMODULE_RBTDB, DNS_RPZ_DEBUG_LEVEL3, - "dnsrps configuration \"%s\"", rps_cstr); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_RPZ, DNS_LOGMODULE_RBTDB, + DNS_RPZ_DEBUG_LEVEL3, "dnsrps configuration \"%s\"", + rps_cstr); - new->rps_client = librpz->client_create(&emsg, clist, - rps_cstr, false); + new->rps_client = librpz->client_create(&emsg, clist, rps_cstr, false); if (new->rps_client == NULL) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_RPZ, DNS_LOGMODULE_RBTDB, DNS_RPZ_ERROR_LEVEL, @@ -210,7 +216,8 @@ dns_dnsrps_view_init(dns_rpz_zones_t *new, char *rps_cstr) { * Connect to and start the dnsrps daemon, dnsrpzd. */ isc_result_t -dns_dnsrps_connect(dns_rpz_zones_t *rpzs) { +dns_dnsrps_connect(dns_rpz_zones_t *rpzs) +{ librpz_emsg_t emsg; if (rpzs == NULL || !rpzs->p.dnsrps_enabled) @@ -253,8 +260,8 @@ dns_dnsrps_rewrite_init(librpz_emsg_t *emsg, dns_rpz_st_t *st, rpsdb = isc_mem_get(mctx, sizeof(*rpsdb)); memset(rpsdb, 0, sizeof(*rpsdb)); - if (!librpz->rsp_create(emsg, &rpsdb->rsp, NULL, - rpzs->rps_client, have_rd, false)) { + if (!librpz->rsp_create(emsg, &rpsdb->rsp, NULL, rpzs->rps_client, + have_rd, false)) { isc_mem_put(mctx, rpsdb, sizeof(*rpsdb)); return (DNS_R_SERVFAIL); } @@ -281,7 +288,8 @@ dns_dnsrps_rewrite_init(librpz_emsg_t *emsg, dns_rpz_st_t *st, * Convert a dnsrps policy to a classic BIND9 RPZ policy. */ dns_rpz_policy_t -dns_dnsrps_2policy(librpz_policy_t rps_policy) { +dns_dnsrps_2policy(librpz_policy_t rps_policy) +{ switch (rps_policy) { case LIBRPZ_POLICY_UNDEFINED: return (DNS_RPZ_POLICY_MISS); @@ -312,7 +320,8 @@ dns_dnsrps_2policy(librpz_policy_t rps_policy) { * Convert a dnsrps trigger to a classic BIND9 RPZ rewrite or trigger type. */ dns_rpz_type_t -dns_dnsrps_trig2type(librpz_trig_t trig) { +dns_dnsrps_trig2type(librpz_trig_t trig) +{ switch (trig) { case LIBRPZ_TRIG_BAD: default: @@ -334,7 +343,8 @@ dns_dnsrps_trig2type(librpz_trig_t trig) { * Convert a classic BIND9 RPZ rewrite or trigger type to a librpz trigger type. */ librpz_trig_t -dns_dnsrps_type2trig(dns_rpz_type_t type) { +dns_dnsrps_type2trig(dns_rpz_type_t type) +{ switch (type) { case DNS_RPZ_TYPE_BAD: default: @@ -353,7 +363,8 @@ dns_dnsrps_type2trig(dns_rpz_type_t type) { } static void -rpsdb_attach(dns_db_t *source, dns_db_t **targetp) { +rpsdb_attach(dns_db_t *source, dns_db_t **targetp) +{ rpsdb_t *rpsdb = (rpsdb_t *)source; REQUIRE(VALID_RPSDB(rpsdb)); @@ -366,7 +377,8 @@ rpsdb_attach(dns_db_t *source, dns_db_t **targetp) { } static void -rpsdb_detach(dns_db_t **dbp) { +rpsdb_detach(dns_db_t **dbp) +{ rpsdb_t *rpsdb = (rpsdb_t *)*dbp; REQUIRE(VALID_RPSDB(rpsdb)); @@ -386,13 +398,13 @@ rpsdb_detach(dns_db_t **dbp) { } static void -rpsdb_attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) { +rpsdb_attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) +{ rpsdb_t *rpsdb = (rpsdb_t *)db; REQUIRE(VALID_RPSDB(rpsdb)); REQUIRE(targetp != NULL && *targetp == NULL); - REQUIRE(source == &rpsdb->origin_node || - source == &rpsdb->data_node); + REQUIRE(source == &rpsdb->origin_node || source == &rpsdb->data_node); /* * Simple count because only one thread uses a rpsdb_t. @@ -402,7 +414,8 @@ rpsdb_attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) { } static void -rpsdb_detachnode(dns_db_t *db, dns_dbnode_t **targetp) { +rpsdb_detachnode(dns_db_t *db, dns_dbnode_t **targetp) +{ rpsdb_t *rpsdb = (rpsdb_t *)db; REQUIRE(VALID_RPSDB(rpsdb)); @@ -417,7 +430,7 @@ static isc_result_t rpsdb_findnode(dns_db_t *db, const dns_name_t *name, bool create, dns_dbnode_t **nodep) { - rpsdb_t *rpsdb = (rpsdb_t *)db; + rpsdb_t * rpsdb = (rpsdb_t *)db; dns_db_t *dbp; REQUIRE(VALID_RPSDB(rpsdb)); @@ -446,7 +459,7 @@ rpsdb_bind_rdataset(dns_rdataset_t *rdataset, uint count, librpz_idx_t next_rr, { dns_db_t *dbp; - INSIST(rdataset->methods == NULL); /* We must be disassociated. */ + INSIST(rdataset->methods == NULL); /* We must be disassociated. */ REQUIRE(type != dns_rdatatype_none); rdataset->methods = &rpsdb_rdataset_methods; @@ -462,17 +475,18 @@ rpsdb_bind_rdataset(dns_rdataset_t *rdataset, uint count, librpz_idx_t next_rr, } static isc_result_t -rpsdb_bind_soa(dns_rdataset_t *rdataset, rpsdb_t *rpsdb) { - uint32_t ttl; +rpsdb_bind_soa(dns_rdataset_t *rdataset, rpsdb_t *rpsdb) +{ + uint32_t ttl; librpz_emsg_t emsg; - if (!librpz->rsp_soa(&emsg, &ttl, NULL, NULL, - &rpsdb->result, rpsdb->rsp)) { + if (!librpz->rsp_soa(&emsg, &ttl, NULL, NULL, &rpsdb->result, + rpsdb->rsp)) { librpz->log(LIBRPZ_LOG_ERROR, NULL, "%s", emsg.c); return (DNS_R_SERVFAIL); } rpsdb_bind_rdataset(rdataset, 1, LIBRPZ_IDX_BAD, dns_rdatatype_soa, - dns_rdataclass_in, ttl, rpsdb); + dns_rdataclass_in, ttl, rpsdb); return (ISC_R_SUCCESS); } @@ -487,11 +501,11 @@ rpsdb_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, isc_stdtime_t now, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - rpsdb_t *rpsdb = (rpsdb_t *)db; + rpsdb_t * rpsdb = (rpsdb_t *)db; dns_rdatatype_t foundtype; dns_rdataclass_t class; - uint32_t ttl; - uint count; + uint32_t ttl; + uint count; librpz_emsg_t emsg; UNUSED(version); @@ -579,8 +593,8 @@ rpsdb_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, } while (foundtype != dns_rdatatype_none); if (count == 0) return (DNS_R_NXRRSET); - rpsdb_bind_rdataset(rdataset, count, rpsdb->result.next_rr, - type, class, ttl, rpsdb); + rpsdb_bind_rdataset(rdataset, count, rpsdb->result.next_rr, type, class, + ttl, rpsdb); return (ISC_R_SUCCESS); } @@ -603,15 +617,15 @@ rpsdb_finddb(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, } rpsdb_findnode(db, name, false, nodep); dns_name_copynf(name, foundname); - return (rpsdb_findrdataset(db, *nodep, NULL, type, 0, 0, - rdataset, sigrdataset)); + return (rpsdb_findrdataset(db, *nodep, NULL, type, 0, 0, rdataset, + sigrdataset)); } static isc_result_t rpsdb_allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, isc_stdtime_t now, dns_rdatasetiter_t **iteratorp) { - rpsdb_t *rpsdb = (rpsdb_t *)db; + rpsdb_t * rpsdb = (rpsdb_t *)db; rpsdb_rdatasetiter_t *rpsdb_iter; UNUSED(version); @@ -634,14 +648,16 @@ rpsdb_allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, } static bool -rpsdb_issecure(dns_db_t *db) { +rpsdb_issecure(dns_db_t *db) +{ UNUSED(db); return (false); } static isc_result_t -rpsdb_getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) { +rpsdb_getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) +{ rpsdb_t *rpsdb = (rpsdb_t *)db; REQUIRE(VALID_RPSDB(rpsdb)); @@ -652,7 +668,8 @@ rpsdb_getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) { } static void -rpsdb_rdataset_disassociate(dns_rdataset_t *rdataset) { +rpsdb_rdataset_disassociate(dns_rdataset_t *rdataset) +{ dns_db_t *db; /* @@ -669,11 +686,12 @@ rpsdb_rdataset_disassociate(dns_rdataset_t *rdataset) { } static isc_result_t -rpsdb_rdataset_next(dns_rdataset_t *rdataset) { +rpsdb_rdataset_next(dns_rdataset_t *rdataset) +{ rpsdb_t *rpsdb; uint16_t type; dns_rdataclass_t class; - librpz_rr_t *rr; + librpz_rr_t * rr; librpz_emsg_t emsg; rpsdb = RD_DB(rdataset); @@ -694,8 +712,8 @@ rpsdb_rdataset_next(dns_rdataset_t *rdataset) { if (RD_NEXT_RR(rdataset) == LIBRPZ_IDX_NULL) return (ISC_R_NOMORE); RD_NEXT_RR(rdataset) = LIBRPZ_IDX_NULL; - if (!librpz->rsp_soa(&emsg, NULL, &rr, NULL, - &rpsdb->result, rpsdb->rsp)) { + if (!librpz->rsp_soa(&emsg, NULL, &rr, NULL, &rpsdb->result, + rpsdb->rsp)) { librpz->log(LIBRPZ_LOG_ERROR, NULL, "%s", emsg.c); return (DNS_R_SERVFAIL); } @@ -711,8 +729,7 @@ rpsdb_rdataset_next(dns_rdataset_t *rdataset) { librpz->log(LIBRPZ_LOG_ERROR, NULL, "%s", emsg.c); return (DNS_R_SERVFAIL); } - if (rdataset->type == type && - rdataset->rdclass == class) { + if (rdataset->type == type && rdataset->rdclass == class) { RD_CUR_RR(rdataset) = rr; RD_NEXT_RR(rdataset) = rpsdb->result.next_rr; return (ISC_R_SUCCESS); @@ -724,8 +741,9 @@ rpsdb_rdataset_next(dns_rdataset_t *rdataset) { } static isc_result_t -rpsdb_rdataset_first(dns_rdataset_t *rdataset) { - rpsdb_t *rpsdb; +rpsdb_rdataset_first(dns_rdataset_t *rdataset) +{ + rpsdb_t * rpsdb; librpz_emsg_t emsg; rpsdb = RD_DB(rdataset); @@ -749,8 +767,9 @@ rpsdb_rdataset_first(dns_rdataset_t *rdataset) { } static void -rpsdb_rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) { - rpsdb_t *rpsdb; +rpsdb_rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) +{ + rpsdb_t * rpsdb; librpz_rr_t *rr; isc_region_t r; @@ -765,8 +784,9 @@ rpsdb_rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) { } static void -rpsdb_rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) { - rpsdb_t *rpsdb; +rpsdb_rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) +{ + rpsdb_t * rpsdb; dns_db_t *dbp; INSIST(!ISC_LINK_LINKED(target, link)); @@ -782,7 +802,8 @@ rpsdb_rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) { } static unsigned int -rpsdb_rdataset_count(dns_rdataset_t *rdataset) { +rpsdb_rdataset_count(dns_rdataset_t *rdataset) +{ rpsdb_t *rpsdb; rpsdb = RD_DB(rdataset); @@ -792,10 +813,11 @@ rpsdb_rdataset_count(dns_rdataset_t *rdataset) { } static void -rpsdb_rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) { - rpsdb_t *rpsdb; +rpsdb_rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) +{ + rpsdb_t * rpsdb; dns_rdatasetiter_t *iterator; - isc_mem_t *mctx; + isc_mem_t * mctx; iterator = *iteratorp; *iteratorp = NULL; @@ -808,13 +830,14 @@ rpsdb_rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) { } static isc_result_t -rpsdb_rdatasetiter_next(dns_rdatasetiter_t *iter) { - rpsdb_t *rpsdb; +rpsdb_rdatasetiter_next(dns_rdatasetiter_t *iter) +{ + rpsdb_t * rpsdb; rpsdb_rdatasetiter_t *rpsdb_iter; - dns_rdatatype_t next_type, type; - dns_rdataclass_t next_class, class; - uint32_t ttl; - librpz_emsg_t emsg; + dns_rdatatype_t next_type, type; + dns_rdataclass_t next_class, class; + uint32_t ttl; + librpz_emsg_t emsg; rpsdb = (rpsdb_t *)iter->db; REQUIRE(VALID_RPSDB(rpsdb)); @@ -837,8 +860,8 @@ rpsdb_rdatasetiter_next(dns_rdatasetiter_t *iter) { next_class = dns_rdataclass_reserved0; next_type = dns_rdatatype_none; for (;;) { - if (!librpz->rsp_rr(&emsg, &type, &class, &ttl, - NULL, &rpsdb->result, rpsdb->qname->ndata, + if (!librpz->rsp_rr(&emsg, &type, &class, &ttl, NULL, + &rpsdb->result, rpsdb->qname->ndata, rpsdb->qname->length, rpsdb->rsp)) { librpz->log(LIBRPZ_LOG_ERROR, NULL, "%s", emsg.c); return (DNS_R_SERVFAIL); @@ -856,8 +879,7 @@ rpsdb_rdatasetiter_next(dns_rdatasetiter_t *iter) { if (rpsdb_iter->class > class || (rpsdb_iter->class = class && rpsdb_iter->type >= type)) continue; - if (next_type == dns_rdatatype_none || - next_class > class || + if (next_type == dns_rdatatype_none || next_class > class || (next_class == class && next_type > type)) { /* * This is the first of a subsequent class and type. @@ -874,8 +896,9 @@ rpsdb_rdatasetiter_next(dns_rdatasetiter_t *iter) { } static isc_result_t -rpsdb_rdatasetiter_first(dns_rdatasetiter_t *iterator) { - rpsdb_t *rpsdb; +rpsdb_rdatasetiter_first(dns_rdatasetiter_t *iterator) +{ + rpsdb_t * rpsdb; rpsdb_rdatasetiter_t *rpsdb_iter; rpsdb = (rpsdb_t *)iterator->db; @@ -889,9 +912,9 @@ rpsdb_rdatasetiter_first(dns_rdatasetiter_t *iterator) { static void rpsdb_rdatasetiter_current(dns_rdatasetiter_t *iterator, - dns_rdataset_t *rdataset) + dns_rdataset_t * rdataset) { - rpsdb_t *rpsdb; + rpsdb_t * rpsdb; rpsdb_rdatasetiter_t *rpsdb_iter; rpsdb = (rpsdb_t *)iterator->db; @@ -899,61 +922,60 @@ rpsdb_rdatasetiter_current(dns_rdatasetiter_t *iterator, rpsdb_iter = (rpsdb_rdatasetiter_t *)iterator; REQUIRE(rpsdb_iter->type != dns_rdatatype_none); - rpsdb_bind_rdataset(rdataset, - rpsdb_iter->count, rpsdb_iter->next_rr, - rpsdb_iter->type, rpsdb_iter->class, - rpsdb_iter->ttl, rpsdb); + rpsdb_bind_rdataset(rdataset, rpsdb_iter->count, rpsdb_iter->next_rr, + rpsdb_iter->type, rpsdb_iter->class, + rpsdb_iter->ttl, rpsdb); } static dns_dbmethods_t rpsdb_db_methods = { rpsdb_attach, rpsdb_detach, - NULL, /* beginload */ - NULL, /* endload */ - NULL, /* serialize */ - NULL, /* dump */ - NULL, /* currentversion */ - NULL, /* newversion */ - NULL, /* attachversion */ - NULL, /* closeversion */ + NULL, /* beginload */ + NULL, /* endload */ + NULL, /* serialize */ + NULL, /* dump */ + NULL, /* currentversion */ + NULL, /* newversion */ + NULL, /* attachversion */ + NULL, /* closeversion */ rpsdb_findnode, rpsdb_finddb, - NULL, /* findzonecut*/ + NULL, /* findzonecut*/ rpsdb_attachnode, rpsdb_detachnode, - NULL, /* expirenode */ - NULL, /* printnode */ - NULL, /* createiterator */ + NULL, /* expirenode */ + NULL, /* printnode */ + NULL, /* createiterator */ rpsdb_findrdataset, rpsdb_allrdatasets, - NULL, /* addrdataset */ - NULL, /* subtractrdataset */ - NULL, /* deleterdataset */ + NULL, /* addrdataset */ + NULL, /* subtractrdataset */ + NULL, /* deleterdataset */ rpsdb_issecure, - NULL, /* nodecount */ - NULL, /* ispersistent */ - NULL, /* overmem */ - NULL, /* settask */ + NULL, /* nodecount */ + NULL, /* ispersistent */ + NULL, /* overmem */ + NULL, /* settask */ rpsdb_getoriginnode, - NULL, /* transfernode */ - NULL, /* getnsec3parameters */ - NULL, /* findnsec3node */ - NULL, /* setsigningtime */ - NULL, /* getsigningtime */ - NULL, /* resigned */ - NULL, /* isdnssec */ - NULL, /* getrrsetstats */ - NULL, /* rpz_attach */ - NULL, /* rpz_ready */ - NULL, /* findnodeext */ - NULL, /* findext */ - NULL, /* setcachestats */ - NULL, /* hashsize */ - NULL, /* nodefullname */ - NULL, /* getsize */ - NULL, /* setservestalettl */ - NULL, /* getservestalettl */ - NULL /* setgluecachestats */ + NULL, /* transfernode */ + NULL, /* getnsec3parameters */ + NULL, /* findnsec3node */ + NULL, /* setsigningtime */ + NULL, /* getsigningtime */ + NULL, /* resigned */ + NULL, /* isdnssec */ + NULL, /* getrrsetstats */ + NULL, /* rpz_attach */ + NULL, /* rpz_ready */ + NULL, /* findnodeext */ + NULL, /* findext */ + NULL, /* setcachestats */ + NULL, /* hashsize */ + NULL, /* nodefullname */ + NULL, /* getsize */ + NULL, /* setservestalettl */ + NULL, /* getservestalettl */ + NULL /* setgluecachestats */ }; static dns_rdatasetmethods_t rpsdb_rdataset_methods = { @@ -976,10 +998,8 @@ static dns_rdatasetmethods_t rpsdb_rdataset_methods = { }; static dns_rdatasetitermethods_t rpsdb_rdatasetiter_methods = { - rpsdb_rdatasetiter_destroy, - rpsdb_rdatasetiter_first, - rpsdb_rdatasetiter_next, - rpsdb_rdatasetiter_current + rpsdb_rdatasetiter_destroy, rpsdb_rdatasetiter_first, + rpsdb_rdatasetiter_next, rpsdb_rdatasetiter_current }; #endif /* USE_DNSRPS */ diff --git a/lib/dns/dnssec.c b/lib/dns/dnssec.c index 368137ab2f..420a9d7c29 100644 --- a/lib/dns/dnssec.c +++ b/lib/dns/dnssec.c @@ -23,8 +23,6 @@ #include #include -#include - #include #include #include @@ -39,21 +37,22 @@ #include #include #include -#include /* for DNS_TSIG_FUDGE */ +#include /* for DNS_TSIG_FUDGE */ #include +#include LIBDNS_EXTERNAL_DATA isc_stats_t *dns_dnssec_stats; #define is_response(msg) ((msg->flags & DNS_MESSAGEFLAG_QR) != 0) -#define RETERR(x) do { \ - result = (x); \ - if (result != ISC_R_SUCCESS) \ - goto failure; \ +#define RETERR(x) \ + do { \ + result = (x); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) - #define TYPE_SIGN 0 #define TYPE_VERIFY 1 @@ -68,14 +67,16 @@ rdataset_to_sortedarray(dns_rdataset_t *set, isc_mem_t *mctx, dns_rdata_t **rdata, int *nrdata); static isc_result_t -digest_callback(void *arg, isc_region_t *data) { +digest_callback(void *arg, isc_region_t *data) +{ dst_context_t *ctx = arg; return (dst_context_adddata(ctx, data)); } static inline void -inc_stat(isc_statscounter_t counter) { +inc_stat(isc_statscounter_t counter) +{ if (dns_dnssec_stats != NULL) isc_stats_increment(dns_dnssec_stats, counter); } @@ -84,7 +85,8 @@ inc_stat(isc_statscounter_t counter) { * Make qsort happy. */ static int -rdata_compare_wrapper(const void *rdata1, const void *rdata2) { +rdata_compare_wrapper(const void *rdata1, const void *rdata2) +{ return (dns_rdata_compare((const dns_rdata_t *)rdata1, (const dns_rdata_t *)rdata2)); } @@ -96,9 +98,9 @@ static isc_result_t rdataset_to_sortedarray(dns_rdataset_t *set, isc_mem_t *mctx, dns_rdata_t **rdata, int *nrdata) { - isc_result_t ret; - int i = 0, n; - dns_rdata_t *data; + isc_result_t ret; + int i = 0, n; + dns_rdata_t * data; dns_rdataset_t rdataset; n = dns_rdataset_count(set); @@ -157,8 +159,8 @@ static isc_result_t digest_sig(dst_context_t *ctx, bool downcase, dns_rdata_t *sigrdata, dns_rdata_rrsig_t *rrsig) { - isc_region_t r; - isc_result_t ret; + isc_region_t r; + isc_result_t ret; dns_fixedname_t fname; dns_rdata_toregion(sigrdata, &r); @@ -187,19 +189,19 @@ dns_dnssec_sign(const dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, isc_mem_t *mctx, isc_buffer_t *buffer, dns_rdata_t *sigrdata) { dns_rdata_rrsig_t sig; - dns_rdata_t tmpsigrdata; - dns_rdata_t *rdatas; - int nrdatas, i; - isc_buffer_t sigbuf, envbuf; - isc_region_t r; - dst_context_t *ctx = NULL; - isc_result_t ret; - isc_buffer_t *databuf = NULL; - char data[256 + 8]; - uint32_t flags; - unsigned int sigsize; - dns_fixedname_t fnewname; - dns_fixedname_t fsigner; + dns_rdata_t tmpsigrdata; + dns_rdata_t * rdatas; + int nrdatas, i; + isc_buffer_t sigbuf, envbuf; + isc_region_t r; + dst_context_t * ctx = NULL; + isc_result_t ret; + isc_buffer_t * databuf = NULL; + char data[256 + 8]; + uint32_t flags; + unsigned int sigsize; + dns_fixedname_t fnewname; + dns_fixedname_t fsigner; REQUIRE(name != NULL); REQUIRE(dns_name_countlabels(name) <= 255); @@ -235,7 +237,8 @@ dns_dnssec_sign(const dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, dns_name_init(&sig.signer, NULL); dns_fixedname_init(&fsigner); RUNTIME_CHECK(dns_name_downcase(dst_key_name(key), - dns_fixedname_name(&fsigner), NULL) == ISC_R_SUCCESS); + dns_fixedname_name(&fsigner), + NULL) == ISC_R_SUCCESS); dns_name_clone(dns_fixedname_name(&fsigner), &sig.signer); sig.covered = set->type; @@ -265,8 +268,8 @@ dns_dnssec_sign(const dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, if (ret != ISC_R_SUCCESS) goto cleanup_databuf; - ret = dst_context_create(key, mctx, - DNS_LOGCATEGORY_DNSSEC, true, 0, &ctx); + ret = dst_context_create(key, mctx, DNS_LOGCATEGORY_DNSSEC, true, 0, + &ctx); if (ret != ISC_R_SUCCESS) goto cleanup_databuf; @@ -298,15 +301,15 @@ dns_dnssec_sign(const dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, isc_buffer_usedregion(&envbuf, &r); for (i = 0; i < nrdatas; i++) { - uint16_t len; + uint16_t len; isc_buffer_t lenbuf; isc_region_t lenr; /* * Skip duplicates. */ - if (i > 0 && dns_rdata_compare(&rdatas[i], &rdatas[i-1]) == 0) - continue; + if (i > 0 && dns_rdata_compare(&rdatas[i], &rdatas[i - 1]) == 0) + continue; /* * Digest the envelope. @@ -360,22 +363,22 @@ cleanup_databuf: isc_result_t dns_dnssec_verify(const dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, - bool ignoretime, unsigned int maxbits, - isc_mem_t *mctx, dns_rdata_t *sigrdata, dns_name_t *wild) + bool ignoretime, unsigned int maxbits, isc_mem_t *mctx, + dns_rdata_t *sigrdata, dns_name_t *wild) { dns_rdata_rrsig_t sig; - dns_fixedname_t fnewname; - isc_region_t r; - isc_buffer_t envbuf; - dns_rdata_t *rdatas; - int nrdatas, i; - isc_stdtime_t now; - isc_result_t ret; - unsigned char data[300]; - dst_context_t *ctx = NULL; - int labels = 0; - uint32_t flags; - bool downcase = false; + dns_fixedname_t fnewname; + isc_region_t r; + isc_buffer_t envbuf; + dns_rdata_t * rdatas; + int nrdatas, i; + isc_stdtime_t now; + isc_result_t ret; + unsigned char data[300]; + dst_context_t * ctx = NULL; + int labels = 0; + uint32_t flags; + bool downcase = false; REQUIRE(name != NULL); REQUIRE(set != NULL); @@ -450,9 +453,9 @@ dns_dnssec_verify(const dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, return (DNS_R_KEYUNAUTHORIZED); } - again: - ret = dst_context_create(key, mctx, DNS_LOGCATEGORY_DNSSEC, - false, maxbits, &ctx); +again: + ret = dst_context_create(key, mctx, DNS_LOGCATEGORY_DNSSEC, false, + maxbits, &ctx); if (ret != ISC_R_SUCCESS) goto cleanup_struct; @@ -484,8 +487,7 @@ dns_dnssec_verify(const dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, isc_buffer_putuint8(&envbuf, 1); isc_buffer_putuint8(&envbuf, '*'); memmove(data + 2, r.base, r.length); - } - else + } else memmove(data, r.base, r.length); isc_buffer_add(&envbuf, r.length); isc_buffer_putuint16(&envbuf, set->type); @@ -499,15 +501,15 @@ dns_dnssec_verify(const dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, isc_buffer_usedregion(&envbuf, &r); for (i = 0; i < nrdatas; i++) { - uint16_t len; + uint16_t len; isc_buffer_t lenbuf; isc_region_t lenr; /* * Skip duplicates. */ - if (i > 0 && dns_rdata_compare(&rdatas[i], &rdatas[i-1]) == 0) - continue; + if (i > 0 && dns_rdata_compare(&rdatas[i], &rdatas[i - 1]) == 0) + continue; /* * Digest the envelope. @@ -544,7 +546,8 @@ dns_dnssec_verify(const dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSSEC, DNS_LOGMODULE_DNSSEC, ISC_LOG_DEBUG(1), "successfully validated after lower casing " - "signer '%s'", namebuf); + "signer '%s'", + namebuf); inc_stat(dns_dnssecstats_downcase); } else if (ret == ISC_R_SUCCESS) inc_stat(dns_dnssecstats_asis); @@ -568,9 +571,10 @@ cleanup_struct: if (ret == ISC_R_SUCCESS && labels - sig.labels > 0) { if (wild != NULL) - RUNTIME_CHECK(dns_name_concatenate(dns_wildcardname, - dns_fixedname_name(&fnewname), - wild, NULL) == ISC_R_SUCCESS); + RUNTIME_CHECK(dns_name_concatenate( + dns_wildcardname, + dns_fixedname_name(&fnewname), + wild, NULL) == ISC_R_SUCCESS); inc_stat(dns_dnssecstats_wildcard); ret = DNS_R_FROMWILDCARD; } @@ -578,11 +582,12 @@ cleanup_struct: } bool -dns_dnssec_keyactive(dst_key_t *key, isc_stdtime_t now) { - isc_result_t result; +dns_dnssec_keyactive(dst_key_t *key, isc_stdtime_t now) +{ + isc_result_t result; isc_stdtime_t publish, active, revoke, remove; bool hint_publish, hint_zsign, hint_ksign, hint_revoke, hint_remove; - int major, minor; + int major, minor; bool ksk = false, zsk = false; isc_result_t ret; @@ -640,12 +645,13 @@ dns_dnssec_keyactive(dst_key_t *key, isc_stdtime_t now) { * - SyncDelete is unset or in the future */ static bool -syncpublish(dst_key_t *key, isc_stdtime_t now) { - isc_result_t result; - isc_stdtime_t when; +syncpublish(dst_key_t *key, isc_stdtime_t now) +{ + isc_result_t result; + isc_stdtime_t when; dst_key_state_t state; - int major, minor; - bool publish; + int major, minor; + bool publish; /* * Is this an old-style key? @@ -691,11 +697,12 @@ syncpublish(dst_key_t *key, isc_stdtime_t now) { * - SyncDelete is set and in the past. */ static bool -syncdelete(dst_key_t *key, isc_stdtime_t now) { - isc_result_t result; - isc_stdtime_t when; +syncdelete(dst_key_t *key, isc_stdtime_t now) +{ + isc_result_t result; + isc_stdtime_t when; dst_key_state_t state; - int major, minor; + int major, minor; /* * Is this an old-style key? @@ -728,21 +735,21 @@ syncdelete(dst_key_t *key, isc_stdtime_t now) { return (false); } -#define is_zone_key(key) ((dst_key_flags(key) & DNS_KEYFLAG_OWNERMASK) \ - == DNS_KEYOWNER_ZONE) +#define is_zone_key(key) \ + ((dst_key_flags(key) & DNS_KEYFLAG_OWNERMASK) == DNS_KEYOWNER_ZONE) isc_result_t -dns_dnssec_findzonekeys(dns_db_t *db, dns_dbversion_t *ver, - dns_dbnode_t *node, const dns_name_t *name, - const char *directory, isc_stdtime_t now, - isc_mem_t *mctx, unsigned int maxkeys, - dst_key_t **keys, unsigned int *nkeys) +dns_dnssec_findzonekeys(dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node, + const dns_name_t *name, const char *directory, + isc_stdtime_t now, isc_mem_t *mctx, + unsigned int maxkeys, dst_key_t **keys, + unsigned int *nkeys) { dns_rdataset_t rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_result_t result; - dst_key_t *pubkey = NULL; - unsigned int count = 0; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + dst_key_t * pubkey = NULL; + unsigned int count = 0; REQUIRE(nkeys != NULL); REQUIRE(keys != NULL); @@ -766,13 +773,11 @@ dns_dnssec_findzonekeys(dns_db_t *db, dns_dbversion_t *ver, if (!dns_name_equal(name, dst_key_name(pubkey))) goto next; keys[count] = NULL; - result = dst_key_fromfile(dst_key_name(pubkey), - dst_key_id(pubkey), - dst_key_alg(pubkey), - DST_TYPE_PUBLIC|DST_TYPE_PRIVATE| - DST_TYPE_STATE, - directory, - mctx, &keys[count]); + result = dst_key_fromfile( + dst_key_name(pubkey), dst_key_id(pubkey), + dst_key_alg(pubkey), + DST_TYPE_PUBLIC | DST_TYPE_PRIVATE | DST_TYPE_STATE, + directory, mctx, &keys[count]); /* * If the key was revoked and the private file @@ -785,14 +790,12 @@ dns_dnssec_findzonekeys(dns_db_t *db, dns_dbversion_t *ver, if ((flags & DNS_KEYFLAG_REVOKE) != 0) { dst_key_setflags(pubkey, flags & ~DNS_KEYFLAG_REVOKE); - result = dst_key_fromfile(dst_key_name(pubkey), - dst_key_id(pubkey), - dst_key_alg(pubkey), - DST_TYPE_PUBLIC| - DST_TYPE_PRIVATE| - DST_TYPE_STATE, - directory, - mctx, &keys[count]); + result = dst_key_fromfile( + dst_key_name(pubkey), + dst_key_id(pubkey), dst_key_alg(pubkey), + DST_TYPE_PUBLIC | DST_TYPE_PRIVATE | + DST_TYPE_STATE, + directory, mctx, &keys[count]); if (result == ISC_R_SUCCESS && dst_key_pubcompare(pubkey, keys[count], false)) { @@ -803,32 +806,30 @@ dns_dnssec_findzonekeys(dns_db_t *db, dns_dbversion_t *ver, } if (result != ISC_R_SUCCESS) { - char filename[DNS_NAME_FORMATSIZE + + char filename[DNS_NAME_FORMATSIZE + DNS_SECALG_FORMATSIZE + sizeof("key file for //65535")]; isc_result_t result2; isc_buffer_t buf; isc_buffer_init(&buf, filename, NAME_MAX); - result2 = dst_key_getfilename(dst_key_name(pubkey), - dst_key_id(pubkey), - dst_key_alg(pubkey), - (DST_TYPE_PUBLIC| - DST_TYPE_PRIVATE| - DST_TYPE_STATE), - directory, mctx, - &buf); + result2 = dst_key_getfilename( + dst_key_name(pubkey), dst_key_id(pubkey), + dst_key_alg(pubkey), + (DST_TYPE_PUBLIC | DST_TYPE_PRIVATE | + DST_TYPE_STATE), + directory, mctx, &buf); if (result2 != ISC_R_SUCCESS) { char namebuf[DNS_NAME_FORMATSIZE]; char algbuf[DNS_SECALG_FORMATSIZE]; - dns_name_format(dst_key_name(pubkey), - namebuf, sizeof(namebuf)); - dns_secalg_format(dst_key_alg(pubkey), - algbuf, sizeof(algbuf)); + dns_name_format(dst_key_name(pubkey), namebuf, + sizeof(namebuf)); + dns_secalg_format(dst_key_alg(pubkey), algbuf, + sizeof(algbuf)); snprintf(filename, sizeof(filename) - 1, - "key file for %s/%s/%d", - namebuf, algbuf, dst_key_id(pubkey)); + "key file for %s/%s/%d", namebuf, + algbuf, dst_key_id(pubkey)); } isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, @@ -872,7 +873,7 @@ dns_dnssec_findzonekeys(dns_db_t *db, dns_dbversion_t *ver, goto next; } count++; - next: + next: if (pubkey != NULL) dst_key_free(&pubkey); dns_rdata_reset(&rdata); @@ -885,7 +886,7 @@ dns_dnssec_findzonekeys(dns_db_t *db, dns_dbversion_t *ver, else result = ISC_R_SUCCESS; - failure: +failure: if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); if (pubkey != NULL) @@ -898,22 +899,23 @@ dns_dnssec_findzonekeys(dns_db_t *db, dns_dbversion_t *ver, } isc_result_t -dns_dnssec_signmessage(dns_message_t *msg, dst_key_t *key) { - dns_rdata_sig_t sig; /* SIG(0) */ - unsigned char data[512]; - unsigned char header[DNS_MESSAGE_HEADERLEN]; - isc_buffer_t headerbuf, databuf, sigbuf; - unsigned int sigsize; - isc_buffer_t *dynbuf = NULL; - dns_rdata_t *rdata; +dns_dnssec_signmessage(dns_message_t *msg, dst_key_t *key) +{ + dns_rdata_sig_t sig; /* SIG(0) */ + unsigned char data[512]; + unsigned char header[DNS_MESSAGE_HEADERLEN]; + isc_buffer_t headerbuf, databuf, sigbuf; + unsigned int sigsize; + isc_buffer_t * dynbuf = NULL; + dns_rdata_t * rdata; dns_rdatalist_t *datalist; - dns_rdataset_t *dataset; - isc_region_t r; - isc_stdtime_t now; - dst_context_t *ctx = NULL; - isc_mem_t *mctx; - isc_result_t result; - bool signeedsfree = true; + dns_rdataset_t * dataset; + isc_region_t r; + isc_stdtime_t now; + dst_context_t * ctx = NULL; + isc_mem_t * mctx; + isc_result_t result; + bool signeedsfree = true; REQUIRE(msg != NULL); REQUIRE(key != NULL); @@ -927,7 +929,7 @@ dns_dnssec_signmessage(dns_message_t *msg, dst_key_t *key) { sig.mctx = mctx; sig.common.rdclass = dns_rdataclass_any; - sig.common.rdtype = dns_rdatatype_sig; /* SIG(0) */ + sig.common.rdtype = dns_rdatatype_sig; /* SIG(0) */ ISC_LINK_INIT(&sig.common, link); sig.covered = 0; @@ -949,8 +951,8 @@ dns_dnssec_signmessage(dns_message_t *msg, dst_key_t *key) { isc_buffer_init(&databuf, data, sizeof(data)); - RETERR(dst_context_create(key, mctx, - DNS_LOGCATEGORY_DNSSEC, true, 0, &ctx)); + RETERR(dst_context_create(key, mctx, DNS_LOGCATEGORY_DNSSEC, true, 0, + &ctx)); /* * Digest the fields of the SIG - we can cheat and use @@ -958,8 +960,8 @@ dns_dnssec_signmessage(dns_message_t *msg, dst_key_t *key) { * is identical to dns format. */ RETERR(dns_rdata_fromstruct(NULL, dns_rdataclass_any, - dns_rdatatype_sig /* SIG(0) */, - &sig, &databuf)); + dns_rdatatype_sig /* SIG(0) */, &sig, + &databuf)); isc_buffer_usedregion(&databuf, &r); RETERR(dst_context_adddata(ctx, &r)); @@ -996,8 +998,8 @@ dns_dnssec_signmessage(dns_message_t *msg, dst_key_t *key) { RETERR(dns_message_gettemprdata(msg, &rdata)); isc_buffer_allocate(msg->mctx, &dynbuf, 1024); RETERR(dns_rdata_fromstruct(rdata, dns_rdataclass_any, - dns_rdatatype_sig /* SIG(0) */, - &sig, dynbuf)); + dns_rdatatype_sig /* SIG(0) */, &sig, + dynbuf)); isc_mem_put(mctx, sig.signature, sig.siglen); signeedsfree = false; @@ -1007,11 +1009,12 @@ dns_dnssec_signmessage(dns_message_t *msg, dst_key_t *key) { datalist = NULL; RETERR(dns_message_gettemprdatalist(msg, &datalist)); datalist->rdclass = dns_rdataclass_any; - datalist->type = dns_rdatatype_sig; /* SIG(0) */ + datalist->type = dns_rdatatype_sig; /* SIG(0) */ ISC_LIST_APPEND(datalist->rdata, rdata, link); dataset = NULL; RETERR(dns_message_gettemprdataset(msg, &dataset)); - RUNTIME_CHECK(dns_rdatalist_tordataset(datalist, dataset) == ISC_R_SUCCESS); + RUNTIME_CHECK(dns_rdatalist_tordataset(datalist, dataset) == + ISC_R_SUCCESS); msg->sig0 = dataset; return (ISC_R_SUCCESS); @@ -1031,16 +1034,16 @@ isc_result_t dns_dnssec_verifymessage(isc_buffer_t *source, dns_message_t *msg, dst_key_t *key) { - dns_rdata_sig_t sig; /* SIG(0) */ - unsigned char header[DNS_MESSAGE_HEADERLEN]; - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_region_t r, source_r, sig_r, header_r; - isc_stdtime_t now; - dst_context_t *ctx = NULL; - isc_mem_t *mctx; - isc_result_t result; - uint16_t addcount, addcount_n; - bool signeedsfree = false; + dns_rdata_sig_t sig; /* SIG(0) */ + unsigned char header[DNS_MESSAGE_HEADERLEN]; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_region_t r, source_r, sig_r, header_r; + isc_stdtime_t now; + dst_context_t * ctx = NULL; + isc_mem_t * mctx; + isc_result_t result; + uint16_t addcount, addcount_n; + bool signeedsfree = false; REQUIRE(source != NULL); REQUIRE(msg != NULL); @@ -1081,8 +1084,7 @@ dns_dnssec_verifymessage(isc_buffer_t *source, dns_message_t *msg, result = DNS_R_SIGFUTURE; msg->sig0status = dns_tsigerror_badtime; goto failure; - } - else if (isc_serial_lt(sig.timeexpire, (uint32_t)now)) { + } else if (isc_serial_lt(sig.timeexpire, (uint32_t)now)) { result = DNS_R_SIGEXPIRED; msg->sig0status = dns_tsigerror_badtime; goto failure; @@ -1094,8 +1096,8 @@ dns_dnssec_verifymessage(isc_buffer_t *source, dns_message_t *msg, goto failure; } - RETERR(dst_context_create(key, mctx, - DNS_LOGCATEGORY_DNSSEC, false, 0, &ctx)); + RETERR(dst_context_create(key, mctx, DNS_LOGCATEGORY_DNSSEC, false, 0, + &ctx)); /* * Digest the SIG(0) record, except for the signature. @@ -1126,7 +1128,7 @@ dns_dnssec_verifymessage(isc_buffer_t *source, dns_message_t *msg, /* * Digest the modified header. */ - header_r.base = (unsigned char *) header; + header_r.base = (unsigned char *)header; header_r.length = DNS_MESSAGE_HEADERLEN; RETERR(dst_context_adddata(ctx, &header_r)); @@ -1180,22 +1182,21 @@ dns_dnssec_selfsigns(dns_rdata_t *rdata, const dns_name_t *name, INSIST(sigrdataset->covers == dns_rdatatype_dnskey); } - return (dns_dnssec_signs(rdata, name, rdataset, sigrdataset, - ignoretime, mctx)); - + return (dns_dnssec_signs(rdata, name, rdataset, sigrdataset, ignoretime, + mctx)); } bool dns_dnssec_signs(dns_rdata_t *rdata, const dns_name_t *name, - dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset, - bool ignoretime, isc_mem_t *mctx) + dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset, + bool ignoretime, isc_mem_t *mctx) { - dst_key_t *dstkey = NULL; - dns_keytag_t keytag; + dst_key_t * dstkey = NULL; + dns_keytag_t keytag; dns_rdata_dnskey_t key; - dns_rdata_rrsig_t sig; - dns_rdata_t sigrdata = DNS_RDATA_INIT; - isc_result_t result; + dns_rdata_rrsig_t sig; + dns_rdata_t sigrdata = DNS_RDATA_INIT; + isc_result_t result; INSIST(sigrdataset->type == dns_rdatatype_rrsig); if (sigrdataset->covers != rdataset->type) @@ -1208,17 +1209,14 @@ dns_dnssec_signs(dns_rdata_t *rdata, const dns_name_t *name, RUNTIME_CHECK(result == ISC_R_SUCCESS); keytag = dst_key_id(dstkey); - for (result = dns_rdataset_first(sigrdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(sigrdataset)) - { + for (result = dns_rdataset_first(sigrdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(sigrdataset)) { dns_rdata_reset(&sigrdata); dns_rdataset_current(sigrdataset, &sigrdata); result = dns_rdata_tostruct(&sigrdata, &sig, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); - if (sig.algorithm == key.algorithm && - sig.keyid == keytag) { + if (sig.algorithm == key.algorithm && sig.keyid == keytag) { result = dns_dnssec_verify(name, rdataset, dstkey, ignoretime, 0, mctx, &sigrdata, NULL); @@ -1233,12 +1231,11 @@ dns_dnssec_signs(dns_rdata_t *rdata, const dns_name_t *name, } isc_result_t -dns_dnsseckey_create(isc_mem_t *mctx, dst_key_t **dstkey, - dns_dnsseckey_t **dkp) +dns_dnsseckey_create(isc_mem_t *mctx, dst_key_t **dstkey, dns_dnsseckey_t **dkp) { - isc_result_t result; + isc_result_t result; dns_dnsseckey_t *dk; - int major, minor; + int major, minor; REQUIRE(dkp != NULL && *dkp == NULL); dk = isc_mem_get(mctx, sizeof(dns_dnsseckey_t)); @@ -1280,7 +1277,8 @@ dns_dnsseckey_create(isc_mem_t *mctx, dst_key_t **dstkey, } void -dns_dnsseckey_destroy(isc_mem_t *mctx, dns_dnsseckey_t **dkp) { +dns_dnsseckey_destroy(isc_mem_t *mctx, dns_dnsseckey_t **dkp) +{ dns_dnsseckey_t *dk; REQUIRE(dkp != NULL && *dkp != NULL); @@ -1292,14 +1290,15 @@ dns_dnsseckey_destroy(isc_mem_t *mctx, dns_dnsseckey_t **dkp) { } void -dns_dnssec_get_hints(dns_dnsseckey_t *key, isc_stdtime_t now) { +dns_dnssec_get_hints(dns_dnsseckey_t *key, isc_stdtime_t now) +{ isc_stdtime_t publish = 0, active = 0, revoke = 0, remove = 0; REQUIRE(key != NULL && key->key != NULL); key->hint_publish = dst_key_is_published(key->key, now, &publish); - key->hint_sign = dst_key_is_signing(key->key, DST_BOOL_ZSK, now, - &active); + key->hint_sign = + dst_key_is_signing(key->key, DST_BOOL_ZSK, now, &active); key->hint_revoke = dst_key_is_revoked(key->key, now, &revoke); key->hint_remove = dst_key_is_removed(key->key, now, &remove); @@ -1360,15 +1359,15 @@ dns_dnssec_findmatchingkeys(const dns_name_t *origin, const char *directory, isc_stdtime_t now, isc_mem_t *mctx, dns_dnsseckeylist_t *keylist) { - isc_result_t result = ISC_R_SUCCESS; - bool dir_open = false; + isc_result_t result = ISC_R_SUCCESS; + bool dir_open = false; dns_dnsseckeylist_t list; - isc_dir_t dir; - dns_dnsseckey_t *key = NULL; - dst_key_t *dstkey = NULL; - char namebuf[DNS_NAME_FORMATSIZE]; - isc_buffer_t b; - unsigned int len, i, alg; + isc_dir_t dir; + dns_dnsseckey_t * key = NULL; + dst_key_t * dstkey = NULL; + char namebuf[DNS_NAME_FORMATSIZE]; + isc_buffer_t b; + unsigned int len, i, alg; REQUIRE(keylist != NULL); ISC_LIST_INIT(list); @@ -1385,14 +1384,13 @@ dns_dnssec_findmatchingkeys(const dns_name_t *origin, const char *directory, dir_open = true; while (isc_dir_read(&dir) == ISC_R_SUCCESS) { - if (dir.entry.name[0] != 'K' || - dir.entry.length < len + 1 || + if (dir.entry.name[0] != 'K' || dir.entry.length < len + 1 || dir.entry.name[len + 1] != '+' || strncasecmp(dir.entry.name + 1, namebuf, len) != 0) continue; alg = 0; - for (i = len + 1 + 1; i < dir.entry.length ; i++) { + for (i = len + 1 + 1; i < dir.entry.length; i++) { if (dir.entry.name[i] < '0' || dir.entry.name[i] > '9') break; alg *= 10; @@ -1408,7 +1406,7 @@ dns_dnssec_findmatchingkeys(const dns_name_t *origin, const char *directory, dir.entry.name[i] != '+') continue; - for (i++ ; i < dir.entry.length ; i++) + for (i++; i < dir.entry.length; i++) if (dir.entry.name[i] < '0' || dir.entry.name[i] > '9') break; @@ -1419,14 +1417,13 @@ dns_dnssec_findmatchingkeys(const dns_name_t *origin, const char *directory, */ if (i != len + 1 + 1 + 3 + 1 + 5 || i >= dir.entry.length || strcmp(dir.entry.name + i, ".private") != 0) - continue; + continue; dstkey = NULL; - result = dst_key_fromnamedfile(dir.entry.name, directory, - DST_TYPE_PUBLIC | - DST_TYPE_PRIVATE | - DST_TYPE_STATE, - mctx, &dstkey); + result = dst_key_fromnamedfile( + dir.entry.name, directory, + DST_TYPE_PUBLIC | DST_TYPE_PRIVATE | DST_TYPE_STATE, + mctx, &dstkey); switch (alg) { case DST_ALG_HMACMD5: @@ -1440,10 +1437,8 @@ dns_dnssec_findmatchingkeys(const dns_name_t *origin, const char *directory, } if (result != ISC_R_SUCCESS) { - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_GENERAL, - DNS_LOGMODULE_DNSSEC, - ISC_LOG_WARNING, + isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, + DNS_LOGMODULE_DNSSEC, ISC_LOG_WARNING, "dns_dnssec_findmatchingkeys: " "error reading key file %s: %s", dir.entry.name, @@ -1469,7 +1464,7 @@ dns_dnssec_findmatchingkeys(const dns_name_t *origin, const char *directory, } else result = ISC_R_NOTFOUND; - failure: +failure: if (dir_open) isc_dir_close(&dir); INSIST(key == NULL); @@ -1492,15 +1487,14 @@ dns_dnssec_findmatchingkeys(const dns_name_t *origin, const char *directory, * metadata indicating they should be deactivated or removed. */ static isc_result_t -addkey(dns_dnsseckeylist_t *keylist, dst_key_t **newkey, - bool savekeys, isc_mem_t *mctx) +addkey(dns_dnsseckeylist_t *keylist, dst_key_t **newkey, bool savekeys, + isc_mem_t *mctx) { dns_dnsseckey_t *key; - isc_result_t result; + isc_result_t result; /* Skip duplicates */ - for (key = ISC_LIST_HEAD(*keylist); - key != NULL; + for (key = ISC_LIST_HEAD(*keylist); key != NULL; key = ISC_LIST_NEXT(key, link)) { if (dst_key_id(key->key) == dst_key_id(*newkey) && dst_key_alg(key->key) == dst_key_alg(*newkey) && @@ -1540,26 +1534,25 @@ addkey(dns_dnsseckeylist_t *keylist, dst_key_t **newkey, return (ISC_R_SUCCESS); } - /*% * Mark all keys which signed the DNSKEY/SOA RRsets as "active", * for future reference. */ static isc_result_t -mark_active_keys(dns_dnsseckeylist_t *keylist, dns_rdataset_t *rrsigs) { - isc_result_t result = ISC_R_SUCCESS; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdataset_t sigs; +mark_active_keys(dns_dnsseckeylist_t *keylist, dns_rdataset_t *rrsigs) +{ + isc_result_t result = ISC_R_SUCCESS; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdataset_t sigs; dns_dnsseckey_t *key; REQUIRE(rrsigs != NULL && dns_rdataset_isassociated(rrsigs)); dns_rdataset_init(&sigs); dns_rdataset_clone(rrsigs, &sigs); - for (key = ISC_LIST_HEAD(*keylist); - key != NULL; + for (key = ISC_LIST_HEAD(*keylist); key != NULL; key = ISC_LIST_NEXT(key, link)) { - uint16_t keyid, sigid; + uint16_t keyid, sigid; dns_secalg_t keyalg, sigalg; keyid = dst_key_id(key->key); keyalg = dst_key_alg(key->key); @@ -1594,25 +1587,23 @@ mark_active_keys(dns_dnsseckeylist_t *keylist, dns_rdataset_t *rrsigs) { * Add the contents of a DNSKEY rdataset 'keyset' to 'keylist'. */ isc_result_t -dns_dnssec_keylistfromrdataset(const dns_name_t *origin, - const char *directory, isc_mem_t *mctx, - dns_rdataset_t *keyset, dns_rdataset_t *keysigs, - dns_rdataset_t *soasigs, bool savekeys, - bool publickey, +dns_dnssec_keylistfromrdataset(const dns_name_t *origin, const char *directory, + isc_mem_t *mctx, dns_rdataset_t *keyset, + dns_rdataset_t *keysigs, dns_rdataset_t *soasigs, + bool savekeys, bool publickey, dns_dnsseckeylist_t *keylist) { dns_rdataset_t keys; - dns_rdata_t rdata = DNS_RDATA_INIT; - dst_key_t *pubkey = NULL, *privkey = NULL; - isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; + dst_key_t * pubkey = NULL, *privkey = NULL; + isc_result_t result; REQUIRE(keyset != NULL && dns_rdataset_isassociated(keyset)); dns_rdataset_init(&keys); dns_rdataset_clone(keyset, &keys); - for (result = dns_rdataset_first(&keys); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&keys); result == ISC_R_SUCCESS; result = dns_rdataset_next(&keys)) { dns_rdata_reset(&rdata); dns_rdataset_current(&keys, &rdata); @@ -1641,12 +1632,11 @@ dns_dnssec_keylistfromrdataset(const dns_name_t *origin, goto skip; } - result = dst_key_fromfile(dst_key_name(pubkey), - dst_key_id(pubkey), - dst_key_alg(pubkey), - (DST_TYPE_PUBLIC|DST_TYPE_PRIVATE| - DST_TYPE_STATE), - directory, mctx, &privkey); + result = dst_key_fromfile( + dst_key_name(pubkey), dst_key_id(pubkey), + dst_key_alg(pubkey), + (DST_TYPE_PUBLIC | DST_TYPE_PRIVATE | DST_TYPE_STATE), + directory, mctx, &privkey); /* * If the key was revoked and the private file @@ -1659,14 +1649,12 @@ dns_dnssec_keylistfromrdataset(const dns_name_t *origin, if ((flags & DNS_KEYFLAG_REVOKE) != 0) { dst_key_setflags(pubkey, flags & ~DNS_KEYFLAG_REVOKE); - result = dst_key_fromfile(dst_key_name(pubkey), - dst_key_id(pubkey), - dst_key_alg(pubkey), - (DST_TYPE_PUBLIC| - DST_TYPE_PRIVATE| - DST_TYPE_STATE), - directory, - mctx, &privkey); + result = dst_key_fromfile( + dst_key_name(pubkey), + dst_key_id(pubkey), dst_key_alg(pubkey), + (DST_TYPE_PUBLIC | DST_TYPE_PRIVATE | + DST_TYPE_STATE), + directory, mctx, &privkey); if (result == ISC_R_SUCCESS && dst_key_pubcompare(pubkey, privkey, false)) { @@ -1677,32 +1665,30 @@ dns_dnssec_keylistfromrdataset(const dns_name_t *origin, } if (result != ISC_R_SUCCESS) { - char filename[DNS_NAME_FORMATSIZE + + char filename[DNS_NAME_FORMATSIZE + DNS_SECALG_FORMATSIZE + sizeof("key file for //65535")]; isc_result_t result2; isc_buffer_t buf; isc_buffer_init(&buf, filename, NAME_MAX); - result2 = dst_key_getfilename(dst_key_name(pubkey), - dst_key_id(pubkey), - dst_key_alg(pubkey), - (DST_TYPE_PUBLIC | - DST_TYPE_PRIVATE| - DST_TYPE_STATE), - directory, mctx, - &buf); + result2 = dst_key_getfilename( + dst_key_name(pubkey), dst_key_id(pubkey), + dst_key_alg(pubkey), + (DST_TYPE_PUBLIC | DST_TYPE_PRIVATE | + DST_TYPE_STATE), + directory, mctx, &buf); if (result2 != ISC_R_SUCCESS) { char namebuf[DNS_NAME_FORMATSIZE]; char algbuf[DNS_SECALG_FORMATSIZE]; - dns_name_format(dst_key_name(pubkey), - namebuf, sizeof(namebuf)); - dns_secalg_format(dst_key_alg(pubkey), - algbuf, sizeof(algbuf)); + dns_name_format(dst_key_name(pubkey), namebuf, + sizeof(namebuf)); + dns_secalg_format(dst_key_alg(pubkey), algbuf, + sizeof(algbuf)); snprintf(filename, sizeof(filename) - 1, - "key file for %s/%s/%d", - namebuf, algbuf, dst_key_id(pubkey)); + "key file for %s/%s/%d", namebuf, + algbuf, dst_key_id(pubkey)); } isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, @@ -1729,7 +1715,7 @@ dns_dnssec_keylistfromrdataset(const dns_name_t *origin, dst_key_setttl(privkey, dst_key_getttl(pubkey)); RETERR(addkey(keylist, &privkey, savekeys, mctx)); - skip: + skip: if (pubkey != NULL) dst_key_free(&pubkey); if (privkey != NULL) @@ -1747,7 +1733,7 @@ dns_dnssec_keylistfromrdataset(const dns_name_t *origin, result = ISC_R_SUCCESS; - failure: +failure: if (dns_rdataset_isassociated(&keys)) dns_rdataset_disassociate(&keys); if (pubkey != NULL) @@ -1772,23 +1758,23 @@ make_dnskey(dst_key_t *key, unsigned char *buf, int bufsize, dns_rdata_reset(target); isc_buffer_usedregion(&b, &r); - dns_rdata_fromregion(target, dst_key_class(key), - dns_rdatatype_dnskey, &r); + dns_rdata_fromregion(target, dst_key_class(key), dns_rdatatype_dnskey, + &r); return (ISC_R_SUCCESS); } static isc_result_t addrdata(dns_rdata_t *rdata, dns_diff_t *diff, const dns_name_t *origin, - dns_ttl_t ttl, isc_mem_t *mctx) + dns_ttl_t ttl, isc_mem_t *mctx) { - isc_result_t result; + isc_result_t result; dns_difftuple_t *tuple = NULL; - RETERR(dns_difftuple_create(mctx, DNS_DIFFOP_ADD, origin, ttl, - rdata, &tuple)); + RETERR(dns_difftuple_create(mctx, DNS_DIFFOP_ADD, origin, ttl, rdata, + &tuple)); dns_diff_appendminimal(diff, &tuple); - failure: +failure: return (result); } @@ -1796,34 +1782,33 @@ static isc_result_t delrdata(dns_rdata_t *rdata, dns_diff_t *diff, const dns_name_t *origin, dns_ttl_t ttl, isc_mem_t *mctx) { - isc_result_t result; + isc_result_t result; dns_difftuple_t *tuple = NULL; - RETERR(dns_difftuple_create(mctx, DNS_DIFFOP_DEL, origin, ttl, - rdata, &tuple)); + RETERR(dns_difftuple_create(mctx, DNS_DIFFOP_DEL, origin, ttl, rdata, + &tuple)); dns_diff_appendminimal(diff, &tuple); - failure: +failure: return (result); } static isc_result_t publish_key(dns_diff_t *diff, dns_dnsseckey_t *key, const dns_name_t *origin, - dns_ttl_t ttl, isc_mem_t *mctx, - void (*report)(const char *, ...)) + dns_ttl_t ttl, isc_mem_t *mctx, void (*report)(const char *, ...)) { - isc_result_t result; + isc_result_t result; unsigned char buf[DST_KEY_MAXSIZE]; - char keystr[DST_KEY_FORMATSIZE]; - dns_rdata_t dnskey = DNS_RDATA_INIT; + char keystr[DST_KEY_FORMATSIZE]; + dns_rdata_t dnskey = DNS_RDATA_INIT; dns_rdata_reset(&dnskey); RETERR(make_dnskey(key->key, buf, sizeof(buf), &dnskey)); dst_key_format(key->key, keystr, sizeof(keystr)); - report("Fetching %s (%s) from key %s.", - keystr, key->ksk ? (key->zsk ? "CSK" : "KSK") : "ZSK", - key->source == dns_keysource_user ? "file" : "repository"); + report("Fetching %s (%s) from key %s.", keystr, + key->ksk ? (key->zsk ? "CSK" : "KSK") : "ZSK", + key->source == dns_keysource_user ? "file" : "repository"); if (key->prepublish && ttl > key->prepublish) { isc_stdtime_t now; @@ -1838,40 +1823,40 @@ publish_key(dns_diff_t *diff, dns_dnsseckey_t *key, const dns_name_t *origin, /* publish key */ result = addrdata(&dnskey, diff, origin, ttl, mctx); - failure: +failure: return (result); } static isc_result_t remove_key(dns_diff_t *diff, dns_dnsseckey_t *key, const dns_name_t *origin, - dns_ttl_t ttl, isc_mem_t *mctx, const char *reason, - void (*report)(const char *, ...)) + dns_ttl_t ttl, isc_mem_t *mctx, const char *reason, + void (*report)(const char *, ...)) { - isc_result_t result; + isc_result_t result; unsigned char buf[DST_KEY_MAXSIZE]; - dns_rdata_t dnskey = DNS_RDATA_INIT; - char alg[80]; + dns_rdata_t dnskey = DNS_RDATA_INIT; + char alg[80]; dns_secalg_format(dst_key_alg(key->key), alg, sizeof(alg)); - report("Removing %s key %d/%s from DNSKEY RRset.", - reason, dst_key_id(key->key), alg); + report("Removing %s key %d/%s from DNSKEY RRset.", reason, + dst_key_id(key->key), alg); RETERR(make_dnskey(key->key, buf, sizeof(buf), &dnskey)); result = delrdata(&dnskey, diff, origin, ttl, mctx); - failure: +failure: return (result); } static bool -exists(dns_rdataset_t *rdataset, dns_rdata_t *rdata) { - isc_result_t result; +exists(dns_rdataset_t *rdataset, dns_rdata_t *rdata) +{ + isc_result_t result; dns_rdataset_t trdataset; dns_rdataset_init(&trdataset); dns_rdataset_clone(rdataset, &trdataset); - for (result = dns_rdataset_first(&trdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&trdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&trdataset)) { dns_rdata_t current = DNS_RDATA_INIT; @@ -1891,14 +1876,13 @@ dns_dnssec_syncupdate(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *rmkeys, isc_stdtime_t now, dns_ttl_t ttl, dns_diff_t *diff, isc_mem_t *mctx) { - unsigned char dsbuf1[DNS_DS_BUFFERSIZE]; - unsigned char dsbuf2[DNS_DS_BUFFERSIZE]; - unsigned char keybuf[DST_KEY_MAXSIZE]; - isc_result_t result; + unsigned char dsbuf1[DNS_DS_BUFFERSIZE]; + unsigned char dsbuf2[DNS_DS_BUFFERSIZE]; + unsigned char keybuf[DST_KEY_MAXSIZE]; + isc_result_t result; dns_dnsseckey_t *key; - for (key = ISC_LIST_HEAD(*keys); - key != NULL; + for (key = ISC_LIST_HEAD(*keys); key != NULL; key = ISC_LIST_NEXT(key, link)) { dns_rdata_t cds_sha1 = DNS_RDATA_INIT; dns_rdata_t cds_sha256 = DNS_RDATA_INIT; @@ -1917,8 +1901,7 @@ dns_dnssec_syncupdate(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *rmkeys, * to be used here and below with rmkeys. */ RETERR(dns_ds_buildrdata(origin, &cdnskeyrdata, - DNS_DSDIGEST_SHA1, dsbuf1, - &cds_sha1)); + DNS_DSDIGEST_SHA1, dsbuf1, &cds_sha1)); RETERR(dns_ds_buildrdata(origin, &cdnskeyrdata, DNS_DSDIGEST_SHA256, dsbuf2, &cds_sha256)); @@ -1933,23 +1916,20 @@ dns_dnssec_syncupdate(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *rmkeys, if (syncpublish(key->key, now)) { if (!dns_rdataset_isassociated(cdnskey) || - !exists(cdnskey, &cdnskeyrdata)) - { + !exists(cdnskey, &cdnskeyrdata)) { RETERR(addrdata(&cdnskeyrdata, diff, origin, ttl, mctx)); } /* Only publish SHA-256 (SHA-1 is deprecated) */ if (!dns_rdataset_isassociated(cds) || - !exists(cds, &cds_sha256)) - { - RETERR(addrdata(&cds_sha256, diff, origin, - ttl, mctx)); + !exists(cds, &cds_sha256)) { + RETERR(addrdata(&cds_sha256, diff, origin, ttl, + mctx)); } } if (dns_rdataset_isassociated(cds) && - syncdelete(key->key, now)) - { + syncdelete(key->key, now)) { /* Delete both SHA-1 and SHA-256 */ if (exists(cds, &cds_sha1)) { RETERR(delrdata(&cds_sha1, diff, origin, @@ -1962,8 +1942,7 @@ dns_dnssec_syncupdate(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *rmkeys, } if (dns_rdataset_isassociated(cdnskey) && - syncdelete(key->key, now)) - { + syncdelete(key->key, now)) { if (exists(cdnskey, &cdnskeyrdata)) { RETERR(delrdata(&cdnskeyrdata, diff, origin, cdnskey->ttl, mctx)); @@ -1972,18 +1951,15 @@ dns_dnssec_syncupdate(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *rmkeys, } if (!dns_rdataset_isassociated(cds) && - !dns_rdataset_isassociated(cdnskey)) - { + !dns_rdataset_isassociated(cdnskey)) { return (ISC_R_SUCCESS); } /* * Unconditionally remove CDS/DNSKEY records for removed keys. */ - for (key = ISC_LIST_HEAD(*rmkeys); - key != NULL; - key = ISC_LIST_NEXT(key, link)) - { + for (key = ISC_LIST_HEAD(*rmkeys); key != NULL; + key = ISC_LIST_NEXT(key, link)) { dns_rdata_t cds_sha1 = DNS_RDATA_INIT; dns_rdata_t cds_sha256 = DNS_RDATA_INIT; dns_rdata_t cdnskeyrdata = DNS_RDATA_INIT; @@ -2019,7 +1995,7 @@ dns_dnssec_syncupdate(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *rmkeys, result = ISC_R_SUCCESS; - failure: +failure: return (result); } @@ -2035,10 +2011,10 @@ dns_dnssec_updatekeys(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *newkeys, dns_ttl_t hint_ttl, dns_diff_t *diff, isc_mem_t *mctx, void (*report)(const char *, ...)) { - isc_result_t result; + isc_result_t result; dns_dnsseckey_t *key, *key1, *key2, *next; - bool found_ttl = false; - dns_ttl_t ttl = hint_ttl; + bool found_ttl = false; + dns_ttl_t ttl = hint_ttl; /* * First, look through the existing key list to find keys @@ -2048,13 +2024,10 @@ dns_dnssec_updatekeys(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *newkeys, * Also, if there are keys published in the zone already, * use their TTL for all subsequent published keys. */ - for (key = ISC_LIST_HEAD(*keys); - key != NULL; - key = ISC_LIST_NEXT(key, link)) - { + for (key = ISC_LIST_HEAD(*keys); key != NULL; + key = ISC_LIST_NEXT(key, link)) { if (key->source == dns_keysource_user && - (key->hint_publish || key->force_publish)) - { + (key->hint_publish || key->force_publish)) { RETERR(publish_key(diff, key, origin, ttl, mctx, report)); } @@ -2071,14 +2044,11 @@ dns_dnssec_updatekeys(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *newkeys, if (!found_ttl && !ISC_LIST_EMPTY(*newkeys)) { dns_ttl_t shortest = 0; - for (key = ISC_LIST_HEAD(*newkeys); - key != NULL; - key = ISC_LIST_NEXT(key, link)) - { + for (key = ISC_LIST_HEAD(*newkeys); key != NULL; + key = ISC_LIST_NEXT(key, link)) { dns_ttl_t thisttl = dst_key_getttl(key->key); if (thisttl != 0 && - (shortest == 0 || thisttl < shortest)) - { + (shortest == 0 || thisttl < shortest)) { shortest = thisttl; } } @@ -2099,23 +2069,20 @@ dns_dnssec_updatekeys(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *newkeys, next = ISC_LIST_NEXT(key1, link); - for (key2 = ISC_LIST_HEAD(*keys); - key2 != NULL; - key2 = ISC_LIST_NEXT(key2, link)) - { + for (key2 = ISC_LIST_HEAD(*keys); key2 != NULL; + key2 = ISC_LIST_NEXT(key2, link)) { int f1 = dst_key_flags(key1->key); int f2 = dst_key_flags(key2->key); int nr1 = f1 & ~DNS_KEYFLAG_REVOKE; int nr2 = f2 & ~DNS_KEYFLAG_REVOKE; if (nr1 == nr2 && dst_key_alg(key1->key) == dst_key_alg(key2->key) && - dst_key_pubcompare(key1->key, key2->key, true)) - { + dst_key_pubcompare(key1->key, key2->key, true)) { int r1, r2; r1 = dst_key_flags(key1->key) & - DNS_KEYFLAG_REVOKE; + DNS_KEYFLAG_REVOKE; r2 = dst_key_flags(key2->key) & - DNS_KEYFLAG_REVOKE; + DNS_KEYFLAG_REVOKE; key_revoked = (r1 != r2); break; } @@ -2130,29 +2097,29 @@ dns_dnssec_updatekeys(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *newkeys, ISC_LIST_APPEND(*keys, key1, link); if (key1->source != dns_keysource_zoneapex && - (key1->hint_publish || key1->force_publish)) - { + (key1->hint_publish || key1->force_publish)) { RETERR(publish_key(diff, key1, origin, ttl, mctx, report)); - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_DNSSEC, - DNS_LOGMODULE_DNSSEC, - ISC_LOG_INFO, - "DNSKEY %s (%s) is now published", - keystr1, key1->ksk ? - (key1->zsk ? "CSK" : "KSK") : - "ZSK"); + isc_log_write( + dns_lctx, DNS_LOGCATEGORY_DNSSEC, + DNS_LOGMODULE_DNSSEC, ISC_LOG_INFO, + "DNSKEY %s (%s) is now published", + keystr1, + key1->ksk ? (key1->zsk ? "CSK" : "KSK") + : "ZSK"); if (key1->hint_sign || key1->force_sign) { key1->first_sign = true; - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_DNSSEC, - DNS_LOGMODULE_DNSSEC, - ISC_LOG_INFO, - "DNSKEY %s (%s) is now " - "active", - keystr1, key1->ksk ? - (key1->zsk ? "CSK" : - "KSK") : "ZSK"); + isc_log_write( + dns_lctx, + DNS_LOGCATEGORY_DNSSEC, + DNS_LOGMODULE_DNSSEC, + ISC_LOG_INFO, + "DNSKEY %s (%s) is now " + "active", + keystr1, + key1->ksk ? (key1->zsk ? "CSK" + : "KSK") + : "ZSK"); } } @@ -2173,20 +2140,18 @@ dns_dnssec_updatekeys(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *newkeys, if (removed != NULL) { ISC_LIST_APPEND(*removed, key2, link); - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_DNSSEC, - DNS_LOGMODULE_DNSSEC, - ISC_LOG_INFO, - "DNSKEY %s (%s) is now deleted", - keystr2, key2->ksk ? (key2->zsk ? - "CSK" : "KSK") : "ZSK"); + isc_log_write( + dns_lctx, DNS_LOGCATEGORY_DNSSEC, + DNS_LOGMODULE_DNSSEC, ISC_LOG_INFO, + "DNSKEY %s (%s) is now deleted", + keystr2, + key2->ksk ? (key2->zsk ? "CSK" : "KSK") + : "ZSK"); } else { dns_dnsseckey_destroy(mctx, &key2); } - } else if (key_revoked && - (dst_key_flags(key1->key) & DNS_KEYFLAG_REVOKE) != 0) - { - + } else if (key_revoked && (dst_key_flags(key1->key) & + DNS_KEYFLAG_REVOKE) != 0) { /* * A previously valid key has been revoked. * We need to remove the old version and pull @@ -2197,15 +2162,15 @@ dns_dnssec_updatekeys(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *newkeys, ISC_LIST_UNLINK(*keys, key2, link); if (removed != NULL) { ISC_LIST_APPEND(*removed, key2, link); - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_DNSSEC, - DNS_LOGMODULE_DNSSEC, - ISC_LOG_INFO, - "DNSKEY %s (%s) is now revoked; " - "new ID is %05d", - keystr2, key2->ksk ? (key2->zsk ? - "CSK" : "KSK") : "ZSK", - dst_key_id(key1->key)); + isc_log_write( + dns_lctx, DNS_LOGCATEGORY_DNSSEC, + DNS_LOGMODULE_DNSSEC, ISC_LOG_INFO, + "DNSKEY %s (%s) is now revoked; " + "new ID is %05d", + keystr2, + key2->ksk ? (key2->zsk ? "CSK" : "KSK") + : "ZSK", + dst_key_id(key1->key)); } else { dns_dnsseckey_destroy(mctx, &key2); } @@ -2227,26 +2192,23 @@ dns_dnssec_updatekeys(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *newkeys, continue; } else { if (!key2->is_active && - (key1->hint_sign || key1->force_sign)) - { + (key1->hint_sign || key1->force_sign)) { key2->first_sign = true; - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_DNSSEC, - DNS_LOGMODULE_DNSSEC, - ISC_LOG_INFO, - "DNSKEY %s (%s) is now active", - keystr1, key1->ksk ? (key1->zsk ? - "CSK" : "KSK") : "ZSK"); - } else if (key2->is_active && - !key1->hint_sign && !key1->force_sign) - { - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_DNSSEC, - DNS_LOGMODULE_DNSSEC, - ISC_LOG_INFO, - "DNSKEY %s (%s) is now inactive", - keystr1, key1->ksk ? (key1->zsk ? - "CSK" : "KSK") : "ZSK"); + isc_log_write( + dns_lctx, DNS_LOGCATEGORY_DNSSEC, + DNS_LOGMODULE_DNSSEC, ISC_LOG_INFO, + "DNSKEY %s (%s) is now active", keystr1, + key1->ksk ? (key1->zsk ? "CSK" : "KSK") + : "ZSK"); + } else if (key2->is_active && !key1->hint_sign && + !key1->force_sign) { + isc_log_write( + dns_lctx, DNS_LOGCATEGORY_DNSSEC, + DNS_LOGMODULE_DNSSEC, ISC_LOG_INFO, + "DNSKEY %s (%s) is now inactive", + keystr1, + key1->ksk ? (key1->zsk ? "CSK" : "KSK") + : "ZSK"); } key2->hint_sign = key1->hint_sign; @@ -2263,7 +2225,7 @@ dns_dnssec_updatekeys(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *newkeys, result = ISC_R_SUCCESS; - failure: +failure: return (result); } @@ -2271,20 +2233,18 @@ isc_result_t dns_dnssec_matchdskey(dns_name_t *name, dns_rdata_t *dsrdata, dns_rdataset_t *keyset, dns_rdata_t *keyrdata) { - isc_result_t result; - unsigned char buf[DNS_DS_BUFFERSIZE]; - dns_keytag_t keytag; + isc_result_t result; + unsigned char buf[DNS_DS_BUFFERSIZE]; + dns_keytag_t keytag; dns_rdata_dnskey_t key; - dns_rdata_ds_t ds; - isc_region_t r; + dns_rdata_ds_t ds; + isc_region_t r; result = dns_rdata_tostruct(dsrdata, &ds, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); - for (result = dns_rdataset_first(keyset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(keyset)) - { + for (result = dns_rdataset_first(keyset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(keyset)) { dns_rdata_t newdsrdata = DNS_RDATA_INIT; dns_rdata_reset(keyrdata); @@ -2300,8 +2260,8 @@ dns_dnssec_matchdskey(dns_name_t *name, dns_rdata_t *dsrdata, continue; } - result = dns_ds_buildrdata(name, keyrdata, ds.digest_type, - buf, &newdsrdata); + result = dns_ds_buildrdata(name, keyrdata, ds.digest_type, buf, + &newdsrdata); if (result != ISC_R_SUCCESS) { continue; } diff --git a/lib/dns/dnstap.c b/lib/dns/dnstap.c index 45ac5a541f..3135e30474 100644 --- a/lib/dns/dnstap.c +++ b/lib/dns/dnstap.c @@ -76,64 +76,64 @@ #include #include -#include #include "dnstap.pb-c.h" -#define DTENV_MAGIC ISC_MAGIC('D', 't', 'n', 'v') -#define VALID_DTENV(env) ISC_MAGIC_VALID(env, DTENV_MAGIC) +#include -#define DNSTAP_CONTENT_TYPE "protobuf:dnstap.Dnstap" +#define DTENV_MAGIC ISC_MAGIC('D', 't', 'n', 'v') +#define VALID_DTENV(env) ISC_MAGIC_VALID(env, DTENV_MAGIC) + +#define DNSTAP_CONTENT_TYPE "protobuf:dnstap.Dnstap" #define DNSTAP_INITIAL_BUF_SIZE 256 struct dns_dtmsg { - void *buf; - size_t len; - Dnstap__Dnstap d; + void * buf; + size_t len; + Dnstap__Dnstap d; Dnstap__Message m; }; struct dns_dthandle { - dns_dtmode_t mode; + dns_dtmode_t mode; struct fstrm_reader *reader; - isc_mem_t *mctx; + isc_mem_t * mctx; }; struct dns_dtenv { - unsigned int magic; + unsigned int magic; isc_refcount_t refcount; isc_mem_t *mctx; - struct fstrm_iothr *iothr; + struct fstrm_iothr * iothr; struct fstrm_iothr_options *fopt; isc_task_t *reopen_task; - isc_mutex_t reopen_lock; /* locks 'reopen_queued' */ - bool reopen_queued; + isc_mutex_t reopen_lock; /* locks 'reopen_queued' */ + bool reopen_queued; - isc_region_t identity; - isc_region_t version; - char *path; - dns_dtmode_t mode; - isc_offset_t max_size; - int rolls; + isc_region_t identity; + isc_region_t version; + char * path; + dns_dtmode_t mode; + isc_offset_t max_size; + int rolls; isc_log_rollsuffix_t suffix; - isc_stats_t *stats; + isc_stats_t * stats; }; -#define CHECK(x) do { \ - result = (x); \ - if (result != ISC_R_SUCCESS) \ - goto cleanup; \ +#define CHECK(x) \ + do { \ + result = (x); \ + if (result != ISC_R_SUCCESS) \ + goto cleanup; \ } while (0) - typedef struct ioq { - unsigned int generation; + unsigned int generation; struct fstrm_iothr_queue *ioq; } dt__ioq_t; - ISC_THREAD_LOCAL dt__ioq_t dt_ioq = { 0 }; static atomic_uint_fast32_t global_generation; @@ -143,21 +143,20 @@ dns_dt_create(isc_mem_t *mctx, dns_dtmode_t mode, const char *path, struct fstrm_iothr_options **foptp, isc_task_t *reopen_task, dns_dtenv_t **envp) { - isc_result_t result = ISC_R_SUCCESS; - fstrm_res res; + isc_result_t result = ISC_R_SUCCESS; + fstrm_res res; struct fstrm_unix_writer_options *fuwopt = NULL; - struct fstrm_file_options *ffwopt = NULL; - struct fstrm_writer_options *fwopt = NULL; - struct fstrm_writer *fw = NULL; - dns_dtenv_t *env = NULL; + struct fstrm_file_options * ffwopt = NULL; + struct fstrm_writer_options * fwopt = NULL; + struct fstrm_writer * fw = NULL; + dns_dtenv_t * env = NULL; REQUIRE(path != NULL); REQUIRE(envp != NULL && *envp == NULL); REQUIRE(foptp != NULL && *foptp != NULL); - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSTAP, - DNS_LOGMODULE_DNSTAP, ISC_LOG_INFO, - "opening dnstap destination '%s'", path); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSTAP, DNS_LOGMODULE_DNSTAP, + ISC_LOG_INFO, "opening dnstap destination '%s'", path); atomic_fetch_add_release(&global_generation, 1); @@ -177,9 +176,8 @@ dns_dt_create(isc_mem_t *mctx, dns_dtmode_t mode, const char *path, CHECK(ISC_R_NOMEMORY); } - res = fstrm_writer_options_add_content_type(fwopt, - DNSTAP_CONTENT_TYPE, - sizeof(DNSTAP_CONTENT_TYPE) - 1); + res = fstrm_writer_options_add_content_type( + fwopt, DNSTAP_CONTENT_TYPE, sizeof(DNSTAP_CONTENT_TYPE) - 1); if (res != fstrm_res_success) { CHECK(ISC_R_FAILURE); } @@ -222,7 +220,7 @@ dns_dt_create(isc_mem_t *mctx, dns_dtmode_t mode, const char *path, env->magic = DTENV_MAGIC; *envp = env; - cleanup: +cleanup: if (ffwopt != NULL) { fstrm_file_options_destroy(&ffwopt); } @@ -259,8 +257,7 @@ dns_dt_setupfile(dns_dtenv_t *env, uint64_t max_size, int rolls, */ if (env->mode == dns_dtmode_unix) { if (max_size == 0 && rolls == ISC_LOG_ROLLINFINITE && - suffix == isc_log_rollsuffix_increment) - { + suffix == isc_log_rollsuffix_increment) { return (ISC_R_SUCCESS); } else { return (ISC_R_INVALIDFILE); @@ -275,14 +272,15 @@ dns_dt_setupfile(dns_dtenv_t *env, uint64_t max_size, int rolls, } isc_result_t -dns_dt_reopen(dns_dtenv_t *env, int roll) { - isc_result_t result = ISC_R_SUCCESS; - fstrm_res res; - isc_logfile_t file; +dns_dt_reopen(dns_dtenv_t *env, int roll) +{ + isc_result_t result = ISC_R_SUCCESS; + fstrm_res res; + isc_logfile_t file; struct fstrm_unix_writer_options *fuwopt = NULL; - struct fstrm_file_options *ffwopt = NULL; - struct fstrm_writer_options *fwopt = NULL; - struct fstrm_writer *fw = NULL; + struct fstrm_file_options * ffwopt = NULL; + struct fstrm_writer_options * fwopt = NULL; + struct fstrm_writer * fw = NULL; REQUIRE(VALID_DTENV(env)); @@ -300,9 +298,8 @@ dns_dt_reopen(dns_dtenv_t *env, int roll) { CHECK(ISC_R_NOMEMORY); } - res = fstrm_writer_options_add_content_type(fwopt, - DNSTAP_CONTENT_TYPE, - sizeof(DNSTAP_CONTENT_TYPE) - 1); + res = fstrm_writer_options_add_content_type( + fwopt, DNSTAP_CONTENT_TYPE, sizeof(DNSTAP_CONTENT_TYPE) - 1); if (res != fstrm_res_success) { CHECK(ISC_R_FAILURE); } @@ -331,11 +328,9 @@ dns_dt_reopen(dns_dtenv_t *env, int roll) { /* * We are committed here. */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSTAP, - DNS_LOGMODULE_DNSTAP, ISC_LOG_INFO, - "%s dnstap destination '%s'", - (roll < 0) ? "reopening" : "rolling", - env->path); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSTAP, DNS_LOGMODULE_DNSTAP, + ISC_LOG_INFO, "%s dnstap destination '%s'", + (roll < 0) ? "reopening" : "rolling", env->path); atomic_fetch_add_release(&global_generation, 1); @@ -372,7 +367,7 @@ dns_dt_reopen(dns_dtenv_t *env, int roll) { CHECK(ISC_R_FAILURE); } - cleanup: +cleanup: if (fw != NULL) { fstrm_writer_destroy(&fw); } @@ -395,7 +390,8 @@ dns_dt_reopen(dns_dtenv_t *env, int roll) { } static isc_result_t -toregion(dns_dtenv_t *env, isc_region_t *r, const char *str) { +toregion(dns_dtenv_t *env, isc_region_t *r, const char *str) +{ unsigned char *p = NULL; REQUIRE(r != NULL); @@ -411,34 +407,38 @@ toregion(dns_dtenv_t *env, isc_region_t *r, const char *str) { if (p != NULL) { r->base = p; - r->length = strlen((char *) p); + r->length = strlen((char *)p); } return (ISC_R_SUCCESS); } isc_result_t -dns_dt_setidentity(dns_dtenv_t *env, const char *identity) { +dns_dt_setidentity(dns_dtenv_t *env, const char *identity) +{ REQUIRE(VALID_DTENV(env)); return (toregion(env, &env->identity, identity)); } isc_result_t -dns_dt_setversion(dns_dtenv_t *env, const char *version) { +dns_dt_setversion(dns_dtenv_t *env, const char *version) +{ REQUIRE(VALID_DTENV(env)); return (toregion(env, &env->version, version)); } static void -set_dt_ioq(unsigned int generation, struct fstrm_iothr_queue *ioq) { +set_dt_ioq(unsigned int generation, struct fstrm_iothr_queue *ioq) +{ dt_ioq.generation = generation; dt_ioq.ioq = ioq; } static struct fstrm_iothr_queue * -dt_queue(dns_dtenv_t *env) { +dt_queue(dns_dtenv_t *env) +{ REQUIRE(VALID_DTENV(env)); unsigned int generation; @@ -461,7 +461,8 @@ dt_queue(dns_dtenv_t *env) { } void -dns_dt_attach(dns_dtenv_t *source, dns_dtenv_t **destp) { +dns_dt_attach(dns_dtenv_t *source, dns_dtenv_t **destp) +{ REQUIRE(VALID_DTENV(source)); REQUIRE(destp != NULL && *destp == NULL); @@ -470,7 +471,8 @@ dns_dt_attach(dns_dtenv_t *source, dns_dtenv_t **destp) { } isc_result_t -dns_dt_getstats(dns_dtenv_t *env, isc_stats_t **statsp) { +dns_dt_getstats(dns_dtenv_t *env, isc_stats_t **statsp) +{ REQUIRE(VALID_DTENV(env)); REQUIRE(statsp != NULL && *statsp == NULL); @@ -481,11 +483,10 @@ dns_dt_getstats(dns_dtenv_t *env, isc_stats_t **statsp) { } static void -destroy(dns_dtenv_t *env) { - - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSTAP, - DNS_LOGMODULE_DNSTAP, ISC_LOG_INFO, - "closing dnstap"); +destroy(dns_dtenv_t *env) +{ + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSTAP, DNS_LOGMODULE_DNSTAP, + ISC_LOG_INFO, "closing dnstap"); env->magic = 0; atomic_fetch_add(&global_generation, 1); @@ -512,7 +513,8 @@ destroy(dns_dtenv_t *env) { } void -dns_dt_detach(dns_dtenv_t **envp) { +dns_dt_detach(dns_dtenv_t **envp) +{ REQUIRE(envp != NULL && VALID_DTENV(*envp)); dns_dtenv_t *env = *envp; *envp = NULL; @@ -524,7 +526,8 @@ dns_dt_detach(dns_dtenv_t **envp) { } static isc_result_t -pack_dt(const Dnstap__Dnstap *d, void **buf, size_t *sz) { +pack_dt(const Dnstap__Dnstap *d, void **buf, size_t *sz) +{ ProtobufCBufferSimple sbuf; REQUIRE(d != NULL); @@ -541,7 +544,7 @@ pack_dt(const Dnstap__Dnstap *d, void **buf, size_t *sz) { return (ISC_R_NOMEMORY); sbuf.must_free_data = 1; - *sz = dnstap__dnstap__pack_to_buffer(d, (ProtobufCBuffer *) &sbuf); + *sz = dnstap__dnstap__pack_to_buffer(d, (ProtobufCBuffer *)&sbuf); if (sbuf.data == NULL) return (ISC_R_FAILURE); *buf = sbuf.data; @@ -550,9 +553,10 @@ pack_dt(const Dnstap__Dnstap *d, void **buf, size_t *sz) { } static void -send_dt(dns_dtenv_t *env, void *buf, size_t len) { +send_dt(dns_dtenv_t *env, void *buf, size_t len) +{ struct fstrm_iothr_queue *ioq; - fstrm_res res; + fstrm_res res; REQUIRE(env != NULL); @@ -565,12 +569,11 @@ send_dt(dns_dtenv_t *env, void *buf, size_t len) { return; } - res = fstrm_iothr_submit(env->iothr, ioq, buf, len, - fstrm_free_wrapper, NULL); + res = fstrm_iothr_submit(env->iothr, ioq, buf, len, fstrm_free_wrapper, + NULL); if (res != fstrm_res_success) { if (env->stats != NULL) - isc_stats_increment(env->stats, - dns_dnstapcounter_drop); + isc_stats_increment(env->stats, dns_dnstapcounter_drop); free(buf); } else { if (env->stats != NULL) @@ -580,7 +583,8 @@ send_dt(dns_dtenv_t *env, void *buf, size_t len) { } static void -init_msg(dns_dtenv_t *env, dns_dtmsg_t *dm, Dnstap__Message__Type mtype) { +init_msg(dns_dtenv_t *env, dns_dtmsg_t *dm, Dnstap__Message__Type mtype) +{ memset(dm, 0, sizeof(*dm)); dm->d.base.descriptor = &dnstap__dnstap__descriptor; dm->m.base.descriptor = &dnstap__message__descriptor; @@ -602,7 +606,8 @@ init_msg(dns_dtenv_t *env, dns_dtmsg_t *dm, Dnstap__Message__Type mtype) { } static Dnstap__Message__Type -dnstap_type(dns_dtmsgtype_t msgtype) { +dnstap_type(dns_dtmsgtype_t msgtype) +{ switch (msgtype) { case DNS_DTTYPE_SQ: return (DNSTAP__MESSAGE__TYPE__STUB_QUERY); @@ -639,7 +644,8 @@ dnstap_type(dns_dtmsgtype_t msgtype) { } static void -cpbuf(isc_buffer_t *buf, ProtobufCBinaryData *p, protobuf_c_boolean *has) { +cpbuf(isc_buffer_t *buf, ProtobufCBinaryData *p, protobuf_c_boolean *has) +{ p->data = isc_buffer_base(buf); p->len = isc_buffer_usedlength(buf); *has = 1; @@ -647,8 +653,8 @@ cpbuf(isc_buffer_t *buf, ProtobufCBinaryData *p, protobuf_c_boolean *has) { static void setaddr(dns_dtmsg_t *dm, isc_sockaddr_t *sa, bool tcp, - ProtobufCBinaryData *addr, protobuf_c_boolean *has_addr, - uint32_t *port, protobuf_c_boolean *has_port) + ProtobufCBinaryData *addr, protobuf_c_boolean *has_addr, uint32_t *port, + protobuf_c_boolean *has_port) { int family = isc_sockaddr_pf(sa); @@ -662,7 +668,7 @@ setaddr(dns_dtmsg_t *dm, isc_sockaddr_t *sa, bool tcp, *port = ntohs(sa->type.sin6.sin6_port); } else { dm->m.socket_family = DNSTAP__SOCKET_FAMILY__INET; - addr->data = (uint8_t *) &sa->type.sin.sin_addr.s_addr; + addr->data = (uint8_t *)&sa->type.sin.sin_addr.s_addr; addr->len = 4; *port = ntohs(sa->type.sin.sin_port); } @@ -684,7 +690,8 @@ setaddr(dns_dtmsg_t *dm, isc_sockaddr_t *sa, bool tcp, * of the dnstap environment structure. */ static void -perform_reopen(isc_task_t *task, isc_event_t *event) { +perform_reopen(isc_task_t *task, isc_event_t *event) +{ dns_dtenv_t *env; REQUIRE(event != NULL); @@ -719,10 +726,11 @@ perform_reopen(isc_task_t *task, isc_event_t *event) { * actual roll happens asynchronously). */ static void -check_file_size_and_maybe_reopen(dns_dtenv_t *env) { - isc_task_t *reopen_task = NULL; +check_file_size_and_maybe_reopen(dns_dtenv_t *env) +{ + isc_task_t * reopen_task = NULL; isc_event_t *event; - struct stat statbuf; + struct stat statbuf; /* * If the task from which the output file should be reopened was not @@ -739,8 +747,7 @@ check_file_size_and_maybe_reopen(dns_dtenv_t *env) { */ LOCK(&env->reopen_lock); if (env->reopen_queued || stat(env->path, &statbuf) < 0 || - statbuf.st_size <= env->max_size) - { + statbuf.st_size <= env->max_size) { goto unlock_and_return; } @@ -756,17 +763,16 @@ check_file_size_and_maybe_reopen(dns_dtenv_t *env) { isc_task_send(reopen_task, &event); env->reopen_queued = true; - unlock_and_return: +unlock_and_return: UNLOCK(&env->reopen_lock); } void -dns_dt_send(dns_view_t *view, dns_dtmsgtype_t msgtype, - isc_sockaddr_t *qaddr, isc_sockaddr_t *raddr, - bool tcp, isc_region_t *zone, isc_time_t *qtime, - isc_time_t *rtime, isc_buffer_t *buf) +dns_dt_send(dns_view_t *view, dns_dtmsgtype_t msgtype, isc_sockaddr_t *qaddr, + isc_sockaddr_t *raddr, bool tcp, isc_region_t *zone, + isc_time_t *qtime, isc_time_t *rtime, isc_buffer_t *buf) { - isc_time_t now, *t; + isc_time_t now, *t; dns_dtmsg_t dm; REQUIRE(DNS_VIEW_VALID(view)); @@ -854,14 +860,14 @@ dns_dt_send(dns_view_t *view, dns_dtmsgtype_t msgtype, } if (qaddr != NULL) { - setaddr(&dm, qaddr, tcp, - &dm.m.query_address, &dm.m.has_query_address, - &dm.m.query_port, &dm.m.has_query_port); + setaddr(&dm, qaddr, tcp, &dm.m.query_address, + &dm.m.has_query_address, &dm.m.query_port, + &dm.m.has_query_port); } if (raddr != NULL) { - setaddr(&dm, raddr, tcp, - &dm.m.response_address, &dm.m.has_response_address, - &dm.m.response_port, &dm.m.has_response_port); + setaddr(&dm, raddr, tcp, &dm.m.response_address, + &dm.m.has_response_address, &dm.m.response_port, + &dm.m.has_response_port); } if (pack_dt(&dm.d, &dm.buf, &dm.len) == ISC_R_SUCCESS) @@ -869,7 +875,8 @@ dns_dt_send(dns_view_t *view, dns_dtmsgtype_t msgtype, } static isc_result_t -putstr(isc_buffer_t **b, const char *str) { +putstr(isc_buffer_t **b, const char *str) +{ isc_result_t result; result = isc_buffer_reserve(b, strlen(str)); @@ -881,7 +888,8 @@ putstr(isc_buffer_t **b, const char *str) { } static isc_result_t -putaddr(isc_buffer_t **b, isc_region_t *ip) { +putaddr(isc_buffer_t **b, isc_region_t *ip) +{ char buf[64]; if (ip->length == 4) { @@ -897,10 +905,11 @@ putaddr(isc_buffer_t **b, isc_region_t *ip) { } static bool -dnstap_file(struct fstrm_reader *r) { - fstrm_res res; +dnstap_file(struct fstrm_reader *r) +{ + fstrm_res res; const struct fstrm_control *control = NULL; - const uint8_t *rtype = NULL; + const uint8_t * rtype = NULL; size_t dlen = strlen(DNSTAP_CONTENT_TYPE), rlen = 0; size_t n = 0; @@ -912,8 +921,8 @@ dnstap_file(struct fstrm_reader *r) { if (res != fstrm_res_success) return (false); if (n > 0) { - res = fstrm_control_get_field_content_type(control, 0, - &rtype, &rlen); + res = fstrm_control_get_field_content_type(control, 0, &rtype, + &rlen); if (res != fstrm_res_success) return (false); @@ -931,10 +940,10 @@ isc_result_t dns_dt_open(const char *filename, dns_dtmode_t mode, isc_mem_t *mctx, dns_dthandle_t **handlep) { - isc_result_t result; + isc_result_t result; struct fstrm_file_options *fopt = NULL; - fstrm_res res; - dns_dthandle_t *handle; + fstrm_res res; + dns_dthandle_t * handle; REQUIRE(handlep != NULL && *handlep == NULL); @@ -943,7 +952,7 @@ dns_dt_open(const char *filename, dns_dtmode_t mode, isc_mem_t *mctx, handle->mode = mode; handle->mctx = NULL; - switch(mode) { + switch (mode) { case dns_dtmode_file: fopt = fstrm_file_options_init(); if (fopt == NULL) @@ -974,7 +983,7 @@ dns_dt_open(const char *filename, dns_dtmode_t mode, isc_mem_t *mctx, *handlep = handle; handle = NULL; - cleanup: +cleanup: if (result != ISC_R_SUCCESS && handle->reader != NULL) { fstrm_reader_destroy(&handle->reader); handle->reader = NULL; @@ -987,15 +996,16 @@ dns_dt_open(const char *filename, dns_dtmode_t mode, isc_mem_t *mctx, } isc_result_t -dns_dt_getframe(dns_dthandle_t *handle, uint8_t **bufp, size_t *sizep) { +dns_dt_getframe(dns_dthandle_t *handle, uint8_t **bufp, size_t *sizep) +{ const uint8_t *data; - fstrm_res res; + fstrm_res res; REQUIRE(handle != NULL); REQUIRE(bufp != NULL); REQUIRE(sizep != NULL); - data = (const uint8_t *) *bufp; + data = (const uint8_t *)*bufp; res = fstrm_reader_read(handle->reader, &data, sizep); switch (res) { @@ -1012,7 +1022,8 @@ dns_dt_getframe(dns_dthandle_t *handle, uint8_t **bufp, size_t *sizep) { } void -dns_dt_close(dns_dthandle_t **handlep) { +dns_dt_close(dns_dthandle_t **handlep) +{ dns_dthandle_t *handle; REQUIRE(handlep != NULL && *handlep != NULL); @@ -1028,12 +1039,13 @@ dns_dt_close(dns_dthandle_t **handlep) { } isc_result_t -dns_dt_parse(isc_mem_t *mctx, isc_region_t *src, dns_dtdata_t **destp) { - isc_result_t result; - Dnstap__Dnstap *frame; +dns_dt_parse(isc_mem_t *mctx, isc_region_t *src, dns_dtdata_t **destp) +{ + isc_result_t result; + Dnstap__Dnstap * frame; Dnstap__Message *m; - dns_dtdata_t *d = NULL; - isc_buffer_t b; + dns_dtdata_t * d = NULL; + isc_buffer_t b; REQUIRE(src != NULL); REQUIRE(destp != NULL && *destp == NULL); @@ -1161,8 +1173,7 @@ dns_dt_parse(isc_mem_t *mctx, isc_region_t *src, dns_dtdata_t **destp) { protobuf_c_enum_descriptor_get_value( &dnstap__socket_protocol__descriptor, m->socket_protocol); - if (type != NULL && - type->value == DNSTAP__SOCKET_PROTOCOL__TCP) + if (type != NULL && type->value == DNSTAP__SOCKET_PROTOCOL__TCP) d->tcp = true; else d->tcp = false; @@ -1170,7 +1181,7 @@ dns_dt_parse(isc_mem_t *mctx, isc_region_t *src, dns_dtdata_t **destp) { /* Query tuple */ if (d->msg != NULL) { - dns_name_t *name = NULL; + dns_name_t * name = NULL; dns_rdataset_t *rdataset; CHECK(dns_message_firstname(d->msg, DNS_SECTION_QUESTION)); @@ -1186,7 +1197,7 @@ dns_dt_parse(isc_mem_t *mctx, isc_region_t *src, dns_dtdata_t **destp) { *destp = d; - cleanup: +cleanup: if (result != ISC_R_SUCCESS) dns_dtdata_free(&d); @@ -1194,9 +1205,10 @@ dns_dt_parse(isc_mem_t *mctx, isc_region_t *src, dns_dtdata_t **destp) { } isc_result_t -dns_dt_datatotext(dns_dtdata_t *d, isc_buffer_t **dest) { +dns_dt_datatotext(dns_dtdata_t *d, isc_buffer_t **dest) +{ isc_result_t result; - char buf[100]; + char buf[100]; REQUIRE(d != NULL); REQUIRE(dest != NULL && *dest != NULL); @@ -1295,7 +1307,7 @@ dns_dt_datatotext(dns_dtdata_t *d, isc_buffer_t **dest) { /* Message size */ if (d->msgdata.base != NULL) { - snprintf(buf, sizeof(buf), "%zub ", (size_t) d->msgdata.length); + snprintf(buf, sizeof(buf), "%zub ", (size_t)d->msgdata.length); CHECK(putstr(dest, buf)); } else CHECK(putstr(dest, "0b ")); @@ -1323,12 +1335,13 @@ dns_dt_datatotext(dns_dtdata_t *d, isc_buffer_t **dest) { CHECK(isc_buffer_reserve(dest, 1)); isc_buffer_putuint8(*dest, 0); - cleanup: +cleanup: return (result); } void -dns_dtdata_free(dns_dtdata_t **dp) { +dns_dtdata_free(dns_dtdata_t **dp) +{ dns_dtdata_t *d; REQUIRE(dp != NULL && *dp != NULL); diff --git a/lib/dns/ds.c b/lib/dns/ds.c index b5e3bb69aa..5f264bb0a5 100644 --- a/lib/dns/ds.c +++ b/lib/dns/ds.c @@ -9,14 +9,13 @@ * information regarding copyright ownership. */ - /*! \file */ #include #include -#include #include +#include #include #include @@ -33,13 +32,13 @@ dns_ds_fromkeyrdata(const dns_name_t *owner, dns_rdata_t *key, dns_dsdigest_t digest_type, unsigned char *digest, dns_rdata_ds_t *dsrdata) { - isc_result_t result; + isc_result_t result; dns_fixedname_t fname; - dns_name_t *name; - unsigned int digestlen; - isc_region_t r; - isc_md_t *md; - isc_md_type_t md_type = 0; + dns_name_t * name; + unsigned int digestlen; + isc_region_t r; + isc_md_t * md; + isc_md_type_t md_type = 0; REQUIRE(key != NULL); REQUIRE(key->type == dns_rdatatype_dnskey || @@ -119,10 +118,10 @@ dns_ds_buildrdata(dns_name_t *owner, dns_rdata_t *key, dns_dsdigest_t digest_type, unsigned char *buffer, dns_rdata_t *rdata) { - isc_result_t result; - unsigned char digest[ISC_MAX_MD_SIZE]; + isc_result_t result; + unsigned char digest[ISC_MAX_MD_SIZE]; dns_rdata_ds_t ds; - isc_buffer_t b; + isc_buffer_t b; result = dns_ds_fromkeyrdata(owner, key, digest_type, digest, &ds); if (result != ISC_R_SUCCESS) { diff --git a/lib/dns/dst_api.c b/lib/dns/dst_api.c index 964d6df3f8..eff3402092 100644 --- a/lib/dns/dst_api.c +++ b/lib/dns/dst_api.c @@ -32,19 +32,19 @@ #include #include +#include #include #include #include #include #include #include -#include #include +#include #include #include #include #include -#include #include @@ -58,154 +58,132 @@ #include #include -#include - #include "dst_internal.h" +#include + #define DST_AS_STR(t) ((t).value.as_textregion.base) -#define NEXTTOKEN(lex, opt, token) { \ - ret = isc_lex_gettoken(lex, opt, token); \ - if (ret != ISC_R_SUCCESS) \ - goto cleanup; \ +#define NEXTTOKEN(lex, opt, token) \ + { \ + ret = isc_lex_gettoken(lex, opt, token); \ + if (ret != ISC_R_SUCCESS) \ + goto cleanup; \ } -#define NEXTTOKEN_OR_EOF(lex, opt, token) \ - do { \ - ret = isc_lex_gettoken(lex, opt, token); \ - if (ret == ISC_R_EOF) \ - break; \ - if (ret != ISC_R_SUCCESS) \ - goto cleanup; \ - } while ((*token).type == isc_tokentype_eol); \ +#define NEXTTOKEN_OR_EOF(lex, opt, token) \ + do { \ + ret = isc_lex_gettoken(lex, opt, token); \ + if (ret == ISC_R_EOF) \ + break; \ + if (ret != ISC_R_SUCCESS) \ + goto cleanup; \ + } while ((*token).type == isc_tokentype_eol); -#define READLINE(lex, opt, token) \ - do { \ - ret = isc_lex_gettoken(lex, opt, token); \ - if (ret == ISC_R_EOF) \ - break; \ - if (ret != ISC_R_SUCCESS) \ - goto cleanup; \ +#define READLINE(lex, opt, token) \ + do { \ + ret = isc_lex_gettoken(lex, opt, token); \ + if (ret == ISC_R_EOF) \ + break; \ + if (ret != ISC_R_SUCCESS) \ + goto cleanup; \ } while ((*token).type != isc_tokentype_eol) -#define BADTOKEN() { \ - ret = ISC_R_UNEXPECTEDTOKEN; \ - goto cleanup; \ +#define BADTOKEN() \ + { \ + ret = ISC_R_UNEXPECTEDTOKEN; \ + goto cleanup; \ } #define NUMERIC_NTAGS (DST_MAX_NUMERIC + 1) static const char *numerictags[NUMERIC_NTAGS] = { - "Predecessor:", - "Successor:", - "MaxTTL:", - "RollPeriod:", - "Lifetime:" + "Predecessor:", "Successor:", "MaxTTL:", "RollPeriod:", "Lifetime:" }; #define BOOLEAN_NTAGS (DST_MAX_BOOLEAN + 1) -static const char *booleantags[BOOLEAN_NTAGS] = { - "KSK:", - "ZSK:" -}; +static const char *booleantags[BOOLEAN_NTAGS] = { "KSK:", "ZSK:" }; #define TIMING_NTAGS (DST_MAX_TIMES + 1) static const char *timingtags[TIMING_NTAGS] = { - "Generated:", - "Published:", - "Active:", - "Revoked:", - "Retired:", - "Removed:", + "Generated:", "Published:", "Active:", "Revoked:", + "Retired:", "Removed:", - "DSPublish:", - "SyncPublish:", - "SyncDelete:", + "DSPublish:", "SyncPublish:", "SyncDelete:", - "DNSKEYChange:", - "ZRRSIGChange:", - "KRRSIGChange:", - "DSChange:" + "DNSKEYChange:", "ZRRSIGChange:", "KRRSIGChange:", "DSChange:" }; #define KEYSTATES_NTAGS (DST_MAX_KEYSTATES + 1) static const char *keystatestags[KEYSTATES_NTAGS] = { - "DNSKEYState:", - "ZRRSIGState:", - "KRRSIGState:", - "DSState:", - "GoalState:" + "DNSKEYState:", "ZRRSIGState:", "KRRSIGState:", "DSState:", "GoalState:" }; #define KEYSTATES_NVALUES 4 static const char *keystates[KEYSTATES_NVALUES] = { - "hidden", "rumoured", "omnipresent", "unretentive", + "hidden", + "rumoured", + "omnipresent", + "unretentive", }; #define STATE_ALGORITHM_STR "Algorithm:" #define STATE_LENGTH_STR "Length:" -#define MAX_NTAGS (DST_MAX_NUMERIC + DST_MAX_BOOLEAN + \ - DST_MAX_TIMES + DST_MAX_KEYSTATES) +#define MAX_NTAGS \ + (DST_MAX_NUMERIC + DST_MAX_BOOLEAN + DST_MAX_TIMES + DST_MAX_KEYSTATES) static dst_func_t *dst_t_func[DST_MAX_ALGS]; static bool dst_initialized = false; -void gss_log(int level, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3); +void +gss_log(int level, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3); /* * Static functions. */ -static dst_key_t * get_key_struct(const dns_name_t *name, - unsigned int alg, - unsigned int flags, - unsigned int protocol, - unsigned int bits, - dns_rdataclass_t rdclass, - dns_ttl_t ttl, - isc_mem_t *mctx); -static isc_result_t write_public_key(const dst_key_t *key, int type, - const char *directory); -static isc_result_t write_key_state(const dst_key_t *key, int type, - const char *directory); -static isc_result_t buildfilename(dns_name_t *name, - dns_keytag_t id, - unsigned int alg, - unsigned int type, - const char *directory, - isc_buffer_t *out); -static isc_result_t computeid(dst_key_t *key); -static isc_result_t frombuffer(const dns_name_t *name, - unsigned int alg, - unsigned int flags, - unsigned int protocol, - dns_rdataclass_t rdclass, - isc_buffer_t *source, - isc_mem_t *mctx, - dst_key_t **keyp); +static dst_key_t * +get_key_struct(const dns_name_t *name, unsigned int alg, unsigned int flags, + unsigned int protocol, unsigned int bits, + dns_rdataclass_t rdclass, dns_ttl_t ttl, isc_mem_t *mctx); +static isc_result_t +write_public_key(const dst_key_t *key, int type, const char *directory); +static isc_result_t +write_key_state(const dst_key_t *key, int type, const char *directory); +static isc_result_t +buildfilename(dns_name_t *name, dns_keytag_t id, unsigned int alg, + unsigned int type, const char *directory, isc_buffer_t *out); +static isc_result_t +computeid(dst_key_t *key); +static isc_result_t +frombuffer(const dns_name_t *name, unsigned int alg, unsigned int flags, + unsigned int protocol, dns_rdataclass_t rdclass, + isc_buffer_t *source, isc_mem_t *mctx, dst_key_t **keyp); -static isc_result_t algorithm_status(unsigned int alg); +static isc_result_t +algorithm_status(unsigned int alg); -static isc_result_t addsuffix(char *filename, int len, - const char *dirname, const char *ofilename, - const char *suffix); +static isc_result_t +addsuffix(char *filename, int len, const char *dirname, const char *ofilename, + const char *suffix); -#define RETERR(x) \ - do { \ - result = (x); \ - if (result != ISC_R_SUCCESS) \ - goto out; \ +#define RETERR(x) \ + do { \ + result = (x); \ + if (result != ISC_R_SUCCESS) \ + goto out; \ } while (0) -#define CHECKALG(alg) \ - do { \ - isc_result_t _r; \ - _r = algorithm_status(alg); \ - if (_r != ISC_R_SUCCESS) \ - return (_r); \ - } while (0); \ +#define CHECKALG(alg) \ + do { \ + isc_result_t _r; \ + _r = algorithm_status(alg); \ + if (_r != ISC_R_SUCCESS) \ + return (_r); \ + } while (0); isc_result_t -dst_lib_init(isc_mem_t *mctx, const char *engine) { +dst_lib_init(isc_mem_t *mctx, const char *engine) +{ isc_result_t result; REQUIRE(mctx != NULL); @@ -265,7 +243,7 @@ dst_lib_init(isc_mem_t *mctx, const char *engine) { dst_initialized = true; return (ISC_R_SUCCESS); - out: +out: /* avoid immediate crash! */ dst_initialized = true; dst_lib_destroy(); @@ -273,7 +251,8 @@ dst_lib_init(isc_mem_t *mctx, const char *engine) { } void -dst_lib_destroy(void) { +dst_lib_destroy(void) +{ int i; RUNTIME_CHECK(dst_initialized == true); dst_initialized = false; @@ -283,12 +262,13 @@ dst_lib_destroy(void) { dst_t_func[i]->cleanup(); dst__openssl_destroy(); #if USE_PKCS11 - (void) dst__pkcs11_destroy(); + (void)dst__pkcs11_destroy(); #endif /* USE_PKCS11 */ } bool -dst_algorithm_supported(unsigned int alg) { +dst_algorithm_supported(unsigned int alg) +{ REQUIRE(dst_initialized == true); if (alg >= DST_MAX_ALGS || dst_t_func[alg] == NULL) @@ -297,27 +277,26 @@ dst_algorithm_supported(unsigned int alg) { } bool -dst_ds_digest_supported(unsigned int digest_type) { - return (digest_type == DNS_DSDIGEST_SHA1 || - digest_type == DNS_DSDIGEST_SHA256 || - digest_type == DNS_DSDIGEST_SHA384); +dst_ds_digest_supported(unsigned int digest_type) +{ + return (digest_type == DNS_DSDIGEST_SHA1 || + digest_type == DNS_DSDIGEST_SHA256 || + digest_type == DNS_DSDIGEST_SHA384); } isc_result_t -dst_context_create(dst_key_t *key, isc_mem_t *mctx, - isc_logcategory_t *category, bool useforsigning, - int maxbits, dst_context_t **dctxp) +dst_context_create(dst_key_t *key, isc_mem_t *mctx, isc_logcategory_t *category, + bool useforsigning, int maxbits, dst_context_t **dctxp) { dst_context_t *dctx; - isc_result_t result; + isc_result_t result; REQUIRE(dst_initialized == true); REQUIRE(VALID_KEY(key)); REQUIRE(mctx != NULL); REQUIRE(dctxp != NULL && *dctxp == NULL); - if (key->func->createctx == NULL && - key->func->createctx2 == NULL) + if (key->func->createctx == NULL && key->func->createctx2 == NULL) return (DST_R_UNSUPPORTEDALG); if (key->keydata.generic == NULL) return (DST_R_NULLKEY); @@ -347,7 +326,8 @@ dst_context_create(dst_key_t *key, isc_mem_t *mctx, } void -dst_context_destroy(dst_context_t **dctxp) { +dst_context_destroy(dst_context_t **dctxp) +{ dst_context_t *dctx; REQUIRE(dctxp != NULL && VALID_CTX(*dctxp)); @@ -363,7 +343,8 @@ dst_context_destroy(dst_context_t **dctxp) { } isc_result_t -dst_context_adddata(dst_context_t *dctx, const isc_region_t *data) { +dst_context_adddata(dst_context_t *dctx, const isc_region_t *data) +{ REQUIRE(VALID_CTX(dctx)); REQUIRE(data != NULL); INSIST(dctx->key->func->adddata != NULL); @@ -372,7 +353,8 @@ dst_context_adddata(dst_context_t *dctx, const isc_region_t *data) { } isc_result_t -dst_context_sign(dst_context_t *dctx, isc_buffer_t *sig) { +dst_context_sign(dst_context_t *dctx, isc_buffer_t *sig) +{ dst_key_t *key; REQUIRE(VALID_CTX(dctx)); @@ -385,15 +367,15 @@ dst_context_sign(dst_context_t *dctx, isc_buffer_t *sig) { if (key->func->sign == NULL) return (DST_R_NOTPRIVATEKEY); - if (key->func->isprivate == NULL || - key->func->isprivate(key) == false) + if (key->func->isprivate == NULL || key->func->isprivate(key) == false) return (DST_R_NOTPRIVATEKEY); return (key->func->sign(dctx, sig)); } isc_result_t -dst_context_verify(dst_context_t *dctx, isc_region_t *sig) { +dst_context_verify(dst_context_t *dctx, isc_region_t *sig) +{ REQUIRE(VALID_CTX(dctx)); REQUIRE(sig != NULL); @@ -416,13 +398,12 @@ dst_context_verify2(dst_context_t *dctx, unsigned int maxbits, CHECKALG(dctx->key->key_alg); if (dctx->key->keydata.generic == NULL) return (DST_R_NULLKEY); - if (dctx->key->func->verify == NULL && - dctx->key->func->verify2 == NULL) + if (dctx->key->func->verify == NULL && dctx->key->func->verify2 == NULL) return (DST_R_NOTPUBLICKEY); - return (dctx->key->func->verify2 != NULL ? - dctx->key->func->verify2(dctx, maxbits, sig) : - dctx->key->func->verify(dctx, sig)); + return (dctx->key->func->verify2 != NULL + ? dctx->key->func->verify2(dctx, maxbits, sig) + : dctx->key->func->verify(dctx, sig)); } isc_result_t @@ -439,8 +420,7 @@ dst_key_computesecret(const dst_key_t *pub, const dst_key_t *priv, if (pub->keydata.generic == NULL || priv->keydata.generic == NULL) return (DST_R_NULLKEY); - if (pub->key_alg != priv->key_alg || - pub->func->computesecret == NULL || + if (pub->key_alg != priv->key_alg || pub->func->computesecret == NULL || priv->func->computesecret == NULL) return (DST_R_KEYCANNOTCOMPUTESECRET); @@ -451,13 +431,14 @@ dst_key_computesecret(const dst_key_t *pub, const dst_key_t *priv, } isc_result_t -dst_key_tofile(const dst_key_t *key, int type, const char *directory) { +dst_key_tofile(const dst_key_t *key, int type, const char *directory) +{ isc_result_t ret = ISC_R_SUCCESS; REQUIRE(dst_initialized == true); REQUIRE(VALID_KEY(key)); REQUIRE((type & - (DST_TYPE_PRIVATE | DST_TYPE_PUBLIC | DST_TYPE_STATE)) != 0); + (DST_TYPE_PRIVATE | DST_TYPE_PUBLIC | DST_TYPE_STATE)) != 0); CHECKALG(key->key_alg); @@ -480,34 +461,35 @@ dst_key_tofile(const dst_key_t *key, int type, const char *directory) { } if (((type & DST_TYPE_PRIVATE) != 0) && - (key->key_flags & DNS_KEYFLAG_TYPEMASK) != DNS_KEYTYPE_NOKEY) - { + (key->key_flags & DNS_KEYFLAG_TYPEMASK) != DNS_KEYTYPE_NOKEY) { return (key->func->tofile(key, directory)); } return (ISC_R_SUCCESS); } void -dst_key_setexternal(dst_key_t *key, bool value) { +dst_key_setexternal(dst_key_t *key, bool value) +{ key->external = value; } bool -dst_key_isexternal(dst_key_t *key) { +dst_key_isexternal(dst_key_t *key) +{ return (key->external); } isc_result_t -dst_key_getfilename(dns_name_t *name, dns_keytag_t id, - unsigned int alg, int type, const char *directory, - isc_mem_t *mctx, isc_buffer_t *buf) +dst_key_getfilename(dns_name_t *name, dns_keytag_t id, unsigned int alg, + int type, const char *directory, isc_mem_t *mctx, + isc_buffer_t *buf) { isc_result_t result; REQUIRE(dst_initialized == true); REQUIRE(dns_name_isabsolute(name)); REQUIRE((type & - (DST_TYPE_PRIVATE | DST_TYPE_PUBLIC | DST_TYPE_STATE)) != 0); + (DST_TYPE_PRIVATE | DST_TYPE_PUBLIC | DST_TYPE_STATE)) != 0); REQUIRE(mctx != NULL); REQUIRE(buf != NULL); @@ -525,14 +507,13 @@ dst_key_getfilename(dns_name_t *name, dns_keytag_t id, } isc_result_t -dst_key_fromfile(dns_name_t *name, dns_keytag_t id, - unsigned int alg, int type, const char *directory, - isc_mem_t *mctx, dst_key_t **keyp) +dst_key_fromfile(dns_name_t *name, dns_keytag_t id, unsigned int alg, int type, + const char *directory, isc_mem_t *mctx, dst_key_t **keyp) { isc_result_t result; - char filename[NAME_MAX]; + char filename[NAME_MAX]; isc_buffer_t buf; - dst_key_t *key; + dst_key_t * key; REQUIRE(dst_initialized == true); REQUIRE(dns_name_isabsolute(name)); @@ -566,7 +547,7 @@ dst_key_fromfile(dns_name_t *name, dns_keytag_t id, *keyp = key; result = ISC_R_SUCCESS; - out: +out: if ((key != NULL) && (result != ISC_R_SUCCESS)) dst_key_free(&key); @@ -574,14 +555,14 @@ dst_key_fromfile(dns_name_t *name, dns_keytag_t id, } isc_result_t -dst_key_fromnamedfile(const char *filename, const char *dirname, - int type, isc_mem_t *mctx, dst_key_t **keyp) +dst_key_fromnamedfile(const char *filename, const char *dirname, int type, + isc_mem_t *mctx, dst_key_t **keyp) { isc_result_t result; - dst_key_t *pubkey = NULL, *key = NULL; - char *newfilename = NULL; - int newfilenamelen = 0; - isc_lex_t *lex = NULL; + dst_key_t * pubkey = NULL, *key = NULL; + char * newfilename = NULL; + int newfilenamelen = 0; + isc_lex_t * lex = NULL; REQUIRE(dst_initialized == true); REQUIRE(filename != NULL); @@ -602,8 +583,8 @@ dst_key_fromnamedfile(const char *filename, const char *dirname, if (dirname != NULL) newfilenamelen += strlen(dirname) + 1; newfilename = isc_mem_get(mctx, newfilenamelen); - result = addsuffix(newfilename, newfilenamelen, - dirname, filename, ".key"); + result = addsuffix(newfilename, newfilenamelen, dirname, filename, + ".key"); INSIST(result == ISC_R_SUCCESS); result = dst_key_read_public(newfilename, type, mctx, &pubkey); @@ -645,14 +626,13 @@ dst_key_fromnamedfile(const char *filename, const char *dirname, * Read the state file, if requested by type. */ if ((type & DST_TYPE_STATE) != 0) { - newfilenamelen = strlen(filename) + 7; if (dirname != NULL) { newfilenamelen += strlen(dirname) + 1; } newfilename = isc_mem_get(mctx, newfilenamelen); - result = addsuffix(newfilename, newfilenamelen, - dirname, filename, ".state"); + result = addsuffix(newfilename, newfilenamelen, dirname, + filename, ".state"); INSIST(result == ISC_R_SUCCESS); result = dst_key_read_state(newfilename, mctx, &key); @@ -670,8 +650,8 @@ dst_key_fromnamedfile(const char *filename, const char *dirname, if (dirname != NULL) newfilenamelen += strlen(dirname) + 1; newfilename = isc_mem_get(mctx, newfilenamelen); - result = addsuffix(newfilename, newfilenamelen, - dirname, filename, ".private"); + result = addsuffix(newfilename, newfilenamelen, dirname, filename, + ".private"); INSIST(result == ISC_R_SUCCESS); RETERR(isc_lex_create(mctx, 1500, &lex)); @@ -690,7 +670,7 @@ dst_key_fromnamedfile(const char *filename, const char *dirname, *keyp = key; return (ISC_R_SUCCESS); - out: +out: if (pubkey != NULL) dst_key_free(&pubkey); if (newfilename != NULL) @@ -703,7 +683,8 @@ dst_key_fromnamedfile(const char *filename, const char *dirname, } isc_result_t -dst_key_todns(const dst_key_t *key, isc_buffer_t *target) { +dst_key_todns(const dst_key_t *key, isc_buffer_t *target) +{ REQUIRE(dst_initialized == true); REQUIRE(VALID_KEY(key)); REQUIRE(target != NULL); @@ -722,9 +703,8 @@ dst_key_todns(const dst_key_t *key, isc_buffer_t *target) { if ((key->key_flags & DNS_KEYFLAG_EXTENDED) != 0) { if (isc_buffer_availablelength(target) < 2) return (ISC_R_NOSPACE); - isc_buffer_putuint16(target, - (uint16_t)((key->key_flags >> 16) - & 0xffff)); + isc_buffer_putuint16( + target, (uint16_t)((key->key_flags >> 16) & 0xffff)); } if (key->keydata.generic == NULL) /*%< NULL KEY */ @@ -737,9 +717,9 @@ isc_result_t dst_key_fromdns(const dns_name_t *name, dns_rdataclass_t rdclass, isc_buffer_t *source, isc_mem_t *mctx, dst_key_t **keyp) { - uint8_t alg, proto; - uint32_t flags, extflags; - dst_key_t *key = NULL; + uint8_t alg, proto; + uint32_t flags, extflags; + dst_key_t * key = NULL; dns_keytag_t id, rid; isc_region_t r; isc_result_t result; @@ -764,8 +744,8 @@ dst_key_fromdns(const dns_name_t *name, dns_rdataclass_t rdclass, flags |= (extflags << 16); } - result = frombuffer(name, alg, flags, proto, rdclass, source, - mctx, &key); + result = frombuffer(name, alg, flags, proto, rdclass, source, mctx, + &key); if (result != ISC_R_SUCCESS) return (result); key->key_id = id; @@ -776,18 +756,17 @@ dst_key_fromdns(const dns_name_t *name, dns_rdataclass_t rdclass, } isc_result_t -dst_key_frombuffer(const dns_name_t *name, unsigned int alg, - unsigned int flags, unsigned int protocol, - dns_rdataclass_t rdclass, +dst_key_frombuffer(const dns_name_t *name, unsigned int alg, unsigned int flags, + unsigned int protocol, dns_rdataclass_t rdclass, isc_buffer_t *source, isc_mem_t *mctx, dst_key_t **keyp) { - dst_key_t *key = NULL; + dst_key_t * key = NULL; isc_result_t result; REQUIRE(dst_initialized); - result = frombuffer(name, alg, flags, protocol, rdclass, source, - mctx, &key); + result = frombuffer(name, alg, flags, protocol, rdclass, source, mctx, + &key); if (result != ISC_R_SUCCESS) return (result); @@ -802,7 +781,8 @@ dst_key_frombuffer(const dns_name_t *name, unsigned int alg, } isc_result_t -dst_key_tobuffer(const dst_key_t *key, isc_buffer_t *target) { +dst_key_tobuffer(const dst_key_t *key, isc_buffer_t *target) +{ REQUIRE(dst_initialized == true); REQUIRE(VALID_KEY(key)); REQUIRE(target != NULL); @@ -816,8 +796,9 @@ dst_key_tobuffer(const dst_key_t *key, isc_buffer_t *target) { } isc_result_t -dst_key_privatefrombuffer(dst_key_t *key, isc_buffer_t *buffer) { - isc_lex_t *lex = NULL; +dst_key_privatefrombuffer(dst_key_t *key, isc_buffer_t *buffer) +{ + isc_lex_t * lex = NULL; isc_result_t result = ISC_R_SUCCESS; REQUIRE(dst_initialized == true); @@ -831,7 +812,7 @@ dst_key_privatefrombuffer(dst_key_t *key, isc_buffer_t *buffer) { RETERR(isc_lex_create(key->mctx, 1500, &lex)); RETERR(isc_lex_openbuffer(lex, buffer)); RETERR(key->func->parse(key, lex, NULL)); - out: +out: if (lex != NULL) isc_lex_destroy(&lex); return (result); @@ -846,17 +827,17 @@ dst_key_getgssctx(const dst_key_t *key) } isc_result_t -dst_key_fromgssapi(const dns_name_t *name, gss_ctx_id_t gssctx, - isc_mem_t *mctx, dst_key_t **keyp, isc_region_t *intoken) +dst_key_fromgssapi(const dns_name_t *name, gss_ctx_id_t gssctx, isc_mem_t *mctx, + dst_key_t **keyp, isc_region_t *intoken) { - dst_key_t *key; + dst_key_t * key; isc_result_t result; REQUIRE(gssctx != NULL); REQUIRE(keyp != NULL && *keyp == NULL); - key = get_key_struct(name, DST_ALG_GSSAPI, 0, DNS_KEYPROTO_DNSSEC, - 0, dns_rdataclass_in, 0, mctx); + key = get_key_struct(name, DST_ALG_GSSAPI, 0, DNS_KEYPROTO_DNSSEC, 0, + dns_rdataclass_in, 0, mctx); if (key == NULL) return (ISC_R_NOMEMORY); @@ -886,7 +867,7 @@ dst_key_buildinternal(const dns_name_t *name, unsigned int alg, unsigned int protocol, dns_rdataclass_t rdclass, void *data, isc_mem_t *mctx, dst_key_t **keyp) { - dst_key_t *key; + dst_key_t * key; isc_result_t result; REQUIRE(dst_initialized == true); @@ -897,8 +878,8 @@ dst_key_buildinternal(const dns_name_t *name, unsigned int alg, CHECKALG(alg); - key = get_key_struct(name, alg, flags, protocol, bits, rdclass, - 0, mctx); + key = get_key_struct(name, alg, flags, protocol, bits, rdclass, 0, + mctx); if (key == NULL) return (ISC_R_NOMEMORY); @@ -920,7 +901,7 @@ dst_key_fromlabel(const dns_name_t *name, int alg, unsigned int flags, const char *engine, const char *label, const char *pin, isc_mem_t *mctx, dst_key_t **keyp) { - dst_key_t *key; + dst_key_t * key; isc_result_t result; REQUIRE(dst_initialized == true); @@ -957,14 +938,12 @@ dst_key_fromlabel(const dns_name_t *name, int alg, unsigned int flags, } isc_result_t -dst_key_generate(const dns_name_t *name, unsigned int alg, - unsigned int bits, unsigned int param, - unsigned int flags, unsigned int protocol, - dns_rdataclass_t rdclass, - isc_mem_t *mctx, dst_key_t **keyp, +dst_key_generate(const dns_name_t *name, unsigned int alg, unsigned int bits, + unsigned int param, unsigned int flags, unsigned int protocol, + dns_rdataclass_t rdclass, isc_mem_t *mctx, dst_key_t **keyp, void (*callback)(int)) { - dst_key_t *key; + dst_key_t * key; isc_result_t ret; REQUIRE(dst_initialized == true); @@ -974,8 +953,8 @@ dst_key_generate(const dns_name_t *name, unsigned int alg, CHECKALG(alg); - key = get_key_struct(name, alg, flags, protocol, bits, - rdclass, 0, mctx); + key = get_key_struct(name, alg, flags, protocol, bits, rdclass, 0, + mctx); if (key == NULL) return (ISC_R_NOMEMORY); @@ -1067,7 +1046,8 @@ dst_key_unsetnum(dst_key_t *key, int type) } isc_result_t -dst_key_gettime(const dst_key_t *key, int type, isc_stdtime_t *timep) { +dst_key_gettime(const dst_key_t *key, int type, isc_stdtime_t *timep) +{ REQUIRE(VALID_KEY(key)); REQUIRE(timep != NULL); REQUIRE(type <= DST_MAX_TIMES); @@ -1079,7 +1059,8 @@ dst_key_gettime(const dst_key_t *key, int type, isc_stdtime_t *timep) { } void -dst_key_settime(dst_key_t *key, int type, isc_stdtime_t when) { +dst_key_settime(dst_key_t *key, int type, isc_stdtime_t when) +{ REQUIRE(VALID_KEY(key)); REQUIRE(type <= DST_MAX_TIMES); key->times[type] = when; @@ -1087,7 +1068,8 @@ dst_key_settime(dst_key_t *key, int type, isc_stdtime_t when) { } void -dst_key_unsettime(dst_key_t *key, int type) { +dst_key_unsettime(dst_key_t *key, int type) +{ REQUIRE(VALID_KEY(key)); REQUIRE(type <= DST_MAX_TIMES); key->timeset[type] = false; @@ -1124,7 +1106,8 @@ dst_key_unsetstate(dst_key_t *key, int type) } isc_result_t -dst_key_getprivateformat(const dst_key_t *key, int *majorp, int *minorp) { +dst_key_getprivateformat(const dst_key_t *key, int *majorp, int *minorp) +{ REQUIRE(VALID_KEY(key)); REQUIRE(majorp != NULL); REQUIRE(minorp != NULL); @@ -1134,7 +1117,8 @@ dst_key_getprivateformat(const dst_key_t *key, int *majorp, int *minorp) { } void -dst_key_setprivateformat(dst_key_t *key, int major, int minor) { +dst_key_setprivateformat(dst_key_t *key, int major, int minor) +{ REQUIRE(VALID_KEY(key)); key->fmt_major = major; key->fmt_minor = minor; @@ -1143,8 +1127,7 @@ dst_key_setprivateformat(dst_key_t *key, int major, int minor) { static bool comparekeys(const dst_key_t *key1, const dst_key_t *key2, bool match_revoked_key, - bool (*compare)(const dst_key_t *key1, - const dst_key_t *key2)) + bool (*compare)(const dst_key_t *key1, const dst_key_t *key2)) { REQUIRE(dst_initialized == true); REQUIRE(VALID_KEY(key1)); @@ -1173,17 +1156,17 @@ comparekeys(const dst_key_t *key1, const dst_key_t *key2, return (false); } - /* * Compares only the public portion of two keys, by converting them * both to wire format and comparing the results. */ static bool -pub_compare(const dst_key_t *key1, const dst_key_t *key2) { - isc_result_t result; +pub_compare(const dst_key_t *key1, const dst_key_t *key2) +{ + isc_result_t result; unsigned char buf1[DST_KEY_MAXSIZE], buf2[DST_KEY_MAXSIZE]; - isc_buffer_t b1, b2; - isc_region_t r1, r2; + isc_buffer_t b1, b2; + isc_region_t r1, r2; isc_buffer_init(&b1, buf1, sizeof(buf1)); result = dst_key_todns(key1, &b1); @@ -1220,7 +1203,8 @@ pub_compare(const dst_key_t *key1, const dst_key_t *key2) { } bool -dst_key_compare(const dst_key_t *key1, const dst_key_t *key2) { +dst_key_compare(const dst_key_t *key1, const dst_key_t *key2) +{ return (comparekeys(key1, key2, false, key1->func->compare)); } @@ -1231,9 +1215,9 @@ dst_key_pubcompare(const dst_key_t *key1, const dst_key_t *key2, return (comparekeys(key1, key2, match_revoked_key, pub_compare)); } - bool -dst_key_paramcompare(const dst_key_t *key1, const dst_key_t *key2) { +dst_key_paramcompare(const dst_key_t *key1, const dst_key_t *key2) +{ REQUIRE(dst_initialized == true); REQUIRE(VALID_KEY(key1)); REQUIRE(VALID_KEY(key2)); @@ -1249,8 +1233,8 @@ dst_key_paramcompare(const dst_key_t *key1, const dst_key_t *key2) { } void -dst_key_attach(dst_key_t *source, dst_key_t **target) { - +dst_key_attach(dst_key_t *source, dst_key_t **target) +{ REQUIRE(dst_initialized == true); REQUIRE(target != NULL && *target == NULL); REQUIRE(VALID_KEY(source)); @@ -1260,7 +1244,8 @@ dst_key_attach(dst_key_t *source, dst_key_t **target) { } void -dst_key_free(dst_key_t **keyp) { +dst_key_free(dst_key_t **keyp) +{ REQUIRE(dst_initialized == true); REQUIRE(keyp != NULL && VALID_KEY(*keyp)); dst_key_t *key = *keyp; @@ -1288,26 +1273,28 @@ dst_key_free(dst_key_t **keyp) { } bool -dst_key_isprivate(const dst_key_t *key) { +dst_key_isprivate(const dst_key_t *key) +{ REQUIRE(VALID_KEY(key)); INSIST(key->func->isprivate != NULL); return (key->func->isprivate(key)); } isc_result_t -dst_key_buildfilename(const dst_key_t *key, int type, - const char *directory, isc_buffer_t *out) { - +dst_key_buildfilename(const dst_key_t *key, int type, const char *directory, + isc_buffer_t *out) +{ REQUIRE(VALID_KEY(key)); REQUIRE(type == DST_TYPE_PRIVATE || type == DST_TYPE_PUBLIC || type == DST_TYPE_STATE || type == 0); - return (buildfilename(key->key_name, key->key_id, key->key_alg, - type, directory, out)); + return (buildfilename(key->key_name, key->key_id, key->key_alg, type, + directory, out)); } isc_result_t -dst_key_sigsize(const dst_key_t *key, unsigned int *n) { +dst_key_sigsize(const dst_key_t *key, unsigned int *n) +{ REQUIRE(dst_initialized == true); REQUIRE(VALID_KEY(key)); REQUIRE(n != NULL); @@ -1361,7 +1348,8 @@ dst_key_sigsize(const dst_key_t *key, unsigned int *n) { } isc_result_t -dst_key_secretsize(const dst_key_t *key, unsigned int *n) { +dst_key_secretsize(const dst_key_t *key, unsigned int *n) +{ REQUIRE(dst_initialized == true); REQUIRE(VALID_KEY(key)); REQUIRE(n != NULL); @@ -1377,26 +1365,28 @@ dst_key_secretsize(const dst_key_t *key, unsigned int *n) { * Set the flags on a key, then recompute the key ID */ isc_result_t -dst_key_setflags(dst_key_t *key, uint32_t flags) { +dst_key_setflags(dst_key_t *key, uint32_t flags) +{ REQUIRE(VALID_KEY(key)); key->key_flags = flags; return (computeid(key)); } void -dst_key_format(const dst_key_t *key, char *cp, unsigned int size) { +dst_key_format(const dst_key_t *key, char *cp, unsigned int size) +{ char namestr[DNS_NAME_FORMATSIZE]; char algstr[DNS_NAME_FORMATSIZE]; dns_name_format(dst_key_name(key), namestr, sizeof(namestr)); - dns_secalg_format((dns_secalg_t) dst_key_alg(key), algstr, + dns_secalg_format((dns_secalg_t)dst_key_alg(key), algstr, sizeof(algstr)); snprintf(cp, size, "%s/%s/%d", namestr, algstr, dst_key_id(key)); } isc_result_t -dst_key_dump(dst_key_t *key, isc_mem_t *mctx, char **buffer, int *length) { - +dst_key_dump(dst_key_t *key, isc_mem_t *mctx, char **buffer, int *length) +{ REQUIRE(buffer != NULL && *buffer == NULL); REQUIRE(length != NULL && *length == 0); REQUIRE(VALID_KEY(key)); @@ -1412,7 +1402,7 @@ dst_key_restore(dns_name_t *name, unsigned int alg, unsigned int flags, isc_mem_t *mctx, const char *keystr, dst_key_t **keyp) { isc_result_t result; - dst_key_t *key; + dst_key_t * key; REQUIRE(dst_initialized == true); REQUIRE(keyp != NULL && *keyp == NULL); @@ -1444,13 +1434,12 @@ dst_key_restore(dns_name_t *name, unsigned int alg, unsigned int flags, * Allocates a key structure and fills in some of the fields. */ static dst_key_t * -get_key_struct(const dns_name_t *name, unsigned int alg, - unsigned int flags, unsigned int protocol, - unsigned int bits, dns_rdataclass_t rdclass, - dns_ttl_t ttl, isc_mem_t *mctx) +get_key_struct(const dns_name_t *name, unsigned int alg, unsigned int flags, + unsigned int protocol, unsigned int bits, + dns_rdataclass_t rdclass, dns_ttl_t ttl, isc_mem_t *mctx) { dst_key_t *key; - int i; + int i; key = isc_mem_get(mctx, sizeof(dst_key_t)); @@ -1483,16 +1472,16 @@ get_key_struct(const dns_name_t *name, unsigned int alg, } bool -dst_key_inactive(const dst_key_t *key) { - +dst_key_inactive(const dst_key_t *key) +{ REQUIRE(VALID_KEY(key)); return (key->inactive); } void -dst_key_setinactive(dst_key_t *key, bool inactive) { - +dst_key_setinactive(dst_key_t *key, bool inactive) +{ REQUIRE(VALID_KEY(key)); key->inactive = inactive; @@ -1502,27 +1491,28 @@ dst_key_setinactive(dst_key_t *key, bool inactive) { * Reads a public key from disk. */ isc_result_t -dst_key_read_public(const char *filename, int type, - isc_mem_t *mctx, dst_key_t **keyp) +dst_key_read_public(const char *filename, int type, isc_mem_t *mctx, + dst_key_t **keyp) { - u_char rdatabuf[DST_KEY_MAXSIZE]; - isc_buffer_t b; - dns_fixedname_t name; - isc_lex_t *lex = NULL; - isc_token_t token; - isc_result_t ret; - dns_rdata_t rdata = DNS_RDATA_INIT; - unsigned int opt = ISC_LEXOPT_DNSMULTILINE; - dns_rdataclass_t rdclass = dns_rdataclass_in; + u_char rdatabuf[DST_KEY_MAXSIZE]; + isc_buffer_t b; + dns_fixedname_t name; + isc_lex_t * lex = NULL; + isc_token_t token; + isc_result_t ret; + dns_rdata_t rdata = DNS_RDATA_INIT; + unsigned int opt = ISC_LEXOPT_DNSMULTILINE; + dns_rdataclass_t rdclass = dns_rdataclass_in; isc_lexspecials_t specials; - uint32_t ttl = 0; - isc_result_t result; - dns_rdatatype_t keytype; + uint32_t ttl = 0; + isc_result_t result; + dns_rdatatype_t keytype; /* * Open the file and read its formatted contents * File format: - * domain.name [ttl] [class] [KEY|DNSKEY] + * domain.name [ttl] [class] [KEY|DNSKEY] + * */ /* 1500 should be large enough for any key */ @@ -1555,8 +1545,8 @@ dst_key_read_public(const char *filename, int type, dns_fixedname_init(&name); isc_buffer_init(&b, DST_AS_STR(token), strlen(DST_AS_STR(token))); isc_buffer_add(&b, strlen(DST_AS_STR(token))); - ret = dns_name_fromtext(dns_fixedname_name(&name), &b, dns_rootname, - 0, NULL); + ret = dns_name_fromtext(dns_fixedname_name(&name), &b, dns_rootname, 0, + NULL); if (ret != ISC_R_SUCCESS) goto cleanup; @@ -1595,8 +1585,8 @@ dst_key_read_public(const char *filename, int type, } isc_buffer_init(&b, rdatabuf, sizeof(rdatabuf)); - ret = dns_rdata_fromtext(&rdata, rdclass, keytype, lex, NULL, - false, mctx, &b, NULL); + ret = dns_rdata_fromtext(&rdata, rdclass, keytype, lex, NULL, false, + mctx, &b, NULL); if (ret != ISC_R_SUCCESS) goto cleanup; @@ -1607,14 +1597,15 @@ dst_key_read_public(const char *filename, int type, dst_key_setttl(*keyp, ttl); - cleanup: +cleanup: if (lex != NULL) isc_lex_destroy(&lex); return (ret); } static int -find_metadata(const char *s, const char *tags[], int ntags) { +find_metadata(const char *s, const char *tags[], int ntags) +{ for (int i = 0; i < ntags; i++) { if (tags[i] != NULL && strcasecmp(s, tags[i]) == 0) return (i); @@ -1623,30 +1614,35 @@ find_metadata(const char *s, const char *tags[], int ntags) { } static int -find_numericdata(const char *s) { +find_numericdata(const char *s) +{ return (find_metadata(s, numerictags, NUMERIC_NTAGS)); } static int -find_booleandata(const char *s) { +find_booleandata(const char *s) +{ return (find_metadata(s, booleantags, BOOLEAN_NTAGS)); } static int -find_timingdata(const char *s) { +find_timingdata(const char *s) +{ return (find_metadata(s, timingtags, TIMING_NTAGS)); } static int -find_keystatedata(const char *s) { +find_keystatedata(const char *s) +{ return (find_metadata(s, keystatestags, KEYSTATES_NTAGS)); } static isc_result_t -keystate_fromtext(const char *s, dst_key_state_t *state) { +keystate_fromtext(const char *s, dst_key_state_t *state) +{ for (int i = 0; i < KEYSTATES_NVALUES; i++) { if (keystates[i] != NULL && strcasecmp(s, keystates[i]) == 0) { - *state = (dst_key_state_t) i; + *state = (dst_key_state_t)i; return (ISC_R_SUCCESS); } } @@ -1659,8 +1655,8 @@ keystate_fromtext(const char *s, dst_key_state_t *state) { isc_result_t dst_key_read_state(const char *filename, isc_mem_t *mctx, dst_key_t **keyp) { - isc_lex_t *lex = NULL; - isc_token_t token; + isc_lex_t * lex = NULL; + isc_token_t token; isc_result_t ret; unsigned int opt = ISC_LEXOPT_EOL; @@ -1685,15 +1681,13 @@ dst_key_read_state(const char *filename, isc_mem_t *mctx, dst_key_t **keyp) */ NEXTTOKEN(lex, opt, &token); if (token.type != isc_tokentype_string || - strcmp(DST_AS_STR(token), STATE_ALGORITHM_STR) != 0) - { + strcmp(DST_AS_STR(token), STATE_ALGORITHM_STR) != 0) { BADTOKEN(); } NEXTTOKEN(lex, opt | ISC_LEXOPT_NUMBER, &token); if (token.type != isc_tokentype_number || - token.value.as_ulong != (unsigned long) dst_key_alg(*keyp)) - { + token.value.as_ulong != (unsigned long)dst_key_alg(*keyp)) { BADTOKEN(); } @@ -1704,15 +1698,13 @@ dst_key_read_state(const char *filename, isc_mem_t *mctx, dst_key_t **keyp) */ NEXTTOKEN(lex, opt, &token); if (token.type != isc_tokentype_string || - strcmp(DST_AS_STR(token), STATE_LENGTH_STR) != 0) - { + strcmp(DST_AS_STR(token), STATE_LENGTH_STR) != 0) { BADTOKEN(); } NEXTTOKEN(lex, opt | ISC_LEXOPT_NUMBER, &token); if (token.type != isc_tokentype_number || - token.value.as_ulong != (unsigned long) dst_key_size(*keyp)) - { + token.value.as_ulong != (unsigned long)dst_key_size(*keyp)) { BADTOKEN(); } @@ -1808,9 +1800,8 @@ dst_key_read_state(const char *filename, isc_mem_t *mctx, dst_key_t **keyp) goto next; } -next: + next: READLINE(lex, opt, &token); - } /* Done, successfully parsed the whole file. */ @@ -1824,7 +1815,8 @@ cleanup: } static bool -issymmetric(const dst_key_t *key) { +issymmetric(const dst_key_t *key) +{ REQUIRE(dst_initialized == true); REQUIRE(VALID_KEY(key)); @@ -1857,9 +1849,10 @@ issymmetric(const dst_key_t *key) { * Write key boolean metadata to a file pointer, preceded by 'tag' */ static void -printbool(const dst_key_t *key, int type, const char *tag, FILE *stream) { +printbool(const dst_key_t *key, int type, const char *tag, FILE *stream) +{ isc_result_t result; - bool value = 0; + bool value = 0; result = dst_key_getbool(key, type, &value); if (result != ISC_R_SUCCESS) { @@ -1872,9 +1865,10 @@ printbool(const dst_key_t *key, int type, const char *tag, FILE *stream) { * Write key numeric metadata to a file pointer, preceded by 'tag' */ static void -printnum(const dst_key_t *key, int type, const char *tag, FILE *stream) { +printnum(const dst_key_t *key, int type, const char *tag, FILE *stream) +{ isc_result_t result; - uint32_t value = 0; + uint32_t value = 0; result = dst_key_getnum(key, type, &value); if (result != ISC_R_SUCCESS) { @@ -1887,14 +1881,15 @@ printnum(const dst_key_t *key, int type, const char *tag, FILE *stream) { * Write key timing metadata to a file pointer, preceded by 'tag' */ static void -printtime(const dst_key_t *key, int type, const char *tag, FILE *stream) { +printtime(const dst_key_t *key, int type, const char *tag, FILE *stream) +{ isc_result_t result; char output[26]; /* Minimum buffer as per ctime_r() specification. */ isc_stdtime_t when; - time_t t; - char utc[sizeof("YYYYMMDDHHSSMM")]; - isc_buffer_t b; - isc_region_t r; + time_t t; + char utc[sizeof("YYYYMMDDHHSSMM")]; + isc_buffer_t b; + isc_region_t r; result = dst_key_gettime(key, type, &when); if (result == ISC_R_NOTFOUND) @@ -1917,10 +1912,10 @@ printtime(const dst_key_t *key, int type, const char *tag, FILE *stream) { isc_buffer_usedregion(&b, &r); fprintf(stream, "%s: %.*s (%.*s)\n", tag, (int)r.length, r.base, - (int)strlen(output) - 1, output); + (int)strlen(output) - 1, output); return; - error: +error: fprintf(stream, "%s: (set, unable to display)\n", tag); } @@ -1928,8 +1923,9 @@ printtime(const dst_key_t *key, int type, const char *tag, FILE *stream) { * Write key state metadata to a file pointer, preceded by 'tag' */ static void -printstate(const dst_key_t *key, int type, const char *tag, FILE *stream) { - isc_result_t result; +printstate(const dst_key_t *key, int type, const char *tag, FILE *stream) +{ + isc_result_t result; dst_key_state_t value = 0; result = dst_key_getstate(key, type, &value); @@ -1943,11 +1939,12 @@ printstate(const dst_key_t *key, int type, const char *tag, FILE *stream) { * Writes a key state to disk. */ static isc_result_t -write_key_state(const dst_key_t *key, int type, const char *directory) { - FILE *fp; - isc_buffer_t fileb; - char filename[NAME_MAX]; - isc_result_t ret; +write_key_state(const dst_key_t *key, int type, const char *directory) +{ + FILE * fp; + isc_buffer_t fileb; + char filename[NAME_MAX]; + isc_result_t ret; isc_fsaccess_t access; REQUIRE(VALID_KEY(key)); @@ -1978,8 +1975,7 @@ write_key_state(const dst_key_t *key, int type, const char *directory) { /* Write key state */ if ((type & DST_TYPE_KEY) == 0) { - fprintf(fp, "; This is the state of key %d, for ", - key->key_id); + fprintf(fp, "; This is the state of key %d, for ", key->key_id); ret = dns_name_print(key->key_name, fp); if (ret != ISC_R_SUCCESS) { fclose(fp); @@ -2028,16 +2024,17 @@ write_key_state(const dst_key_t *key, int type, const char *directory) { * Writes a public key to disk in DNS format. */ static isc_result_t -write_public_key(const dst_key_t *key, int type, const char *directory) { - FILE *fp; - isc_buffer_t keyb, textb, fileb, classb; - isc_region_t r; - char filename[NAME_MAX]; - unsigned char key_array[DST_KEY_MAXSIZE]; - char text_array[DST_KEY_MAXTEXTSIZE]; - char class_array[10]; - isc_result_t ret; - dns_rdata_t rdata = DNS_RDATA_INIT; +write_public_key(const dst_key_t *key, int type, const char *directory) +{ + FILE * fp; + isc_buffer_t keyb, textb, fileb, classb; + isc_region_t r; + char filename[NAME_MAX]; + unsigned char key_array[DST_KEY_MAXSIZE]; + char text_array[DST_KEY_MAXTEXTSIZE]; + char class_array[10]; + isc_result_t ret; + dns_rdata_t rdata = DNS_RDATA_INIT; isc_fsaccess_t access; REQUIRE(VALID_KEY(key)); @@ -2054,7 +2051,7 @@ write_public_key(const dst_key_t *key, int type, const char *directory) { isc_buffer_usedregion(&keyb, &r); dns_rdata_fromregion(&rdata, key->key_class, dns_rdatatype_dnskey, &r); - ret = dns_rdata_totext(&rdata, (dns_name_t *) NULL, &textb); + ret = dns_rdata_totext(&rdata, (dns_name_t *)NULL, &textb); if (ret != ISC_R_SUCCESS) { return (DST_R_INVALIDPUBLICKEY); } @@ -2091,12 +2088,10 @@ write_public_key(const dst_key_t *key, int type, const char *directory) { /* Write key information in comments */ if ((type & DST_TYPE_KEY) == 0) { fprintf(fp, "; This is a %s%s-signing key, keyid %d, for ", - (key->key_flags & DNS_KEYFLAG_REVOKE) != 0 ? - "revoked " : - "", - (key->key_flags & DNS_KEYFLAG_KSK) != 0 ? - "key" : - "zone", + (key->key_flags & DNS_KEYFLAG_REVOKE) != 0 ? "revoked " + : "", + (key->key_flags & DNS_KEYFLAG_KSK) != 0 ? "key" + : "zone", key->key_id); ret = dns_name_print(key->key_name, fp); if (ret != ISC_R_SUCCESS) { @@ -2111,8 +2106,8 @@ write_public_key(const dst_key_t *key, int type, const char *directory) { printtime(key, DST_TIME_REVOKE, "; Revoke", fp); printtime(key, DST_TIME_INACTIVE, "; Inactive", fp); printtime(key, DST_TIME_DELETE, "; Delete", fp); - printtime(key, DST_TIME_SYNCPUBLISH , "; SyncPublish", fp); - printtime(key, DST_TIME_SYNCDELETE , "; SyncDelete", fp); + printtime(key, DST_TIME_SYNCPUBLISH, "; SyncPublish", fp); + printtime(key, DST_TIME_SYNCDELETE, "; SyncDelete", fp); } /* Now print the actual key */ @@ -2123,8 +2118,8 @@ write_public_key(const dst_key_t *key, int type, const char *directory) { fprintf(fp, "%u ", key->key_ttl); isc_buffer_usedregion(&classb, &r); - if ((unsigned) fwrite(r.base, 1, r.length, fp) != r.length) - ret = DST_R_WRITEERROR; + if ((unsigned)fwrite(r.base, 1, r.length, fp) != r.length) + ret = DST_R_WRITEERROR; if ((type & DST_TYPE_KEY) != 0) fprintf(fp, " KEY "); @@ -2132,8 +2127,8 @@ write_public_key(const dst_key_t *key, int type, const char *directory) { fprintf(fp, " DNSKEY "); isc_buffer_usedregion(&textb, &r); - if ((unsigned) fwrite(r.base, 1, r.length, fp) != r.length) - ret = DST_R_WRITEERROR; + if ((unsigned)fwrite(r.base, 1, r.length, fp) != r.length) + ret = DST_R_WRITEERROR; fputc('\n', fp); fflush(fp); @@ -2145,11 +2140,10 @@ write_public_key(const dst_key_t *key, int type, const char *directory) { } static isc_result_t -buildfilename(dns_name_t *name, dns_keytag_t id, - unsigned int alg, unsigned int type, - const char *directory, isc_buffer_t *out) +buildfilename(dns_name_t *name, dns_keytag_t id, unsigned int alg, + unsigned int type, const char *directory, isc_buffer_t *out) { - const char *suffix = ""; + const char * suffix = ""; isc_result_t result; REQUIRE(out != NULL); @@ -2180,11 +2174,12 @@ buildfilename(dns_name_t *name, dns_keytag_t id, } static isc_result_t -computeid(dst_key_t *key) { - isc_buffer_t dnsbuf; +computeid(dst_key_t *key) +{ + isc_buffer_t dnsbuf; unsigned char dns_array[DST_KEY_MAXSIZE]; - isc_region_t r; - isc_result_t ret; + isc_region_t r; + isc_result_t ret; isc_buffer_init(&dnsbuf, dns_array, sizeof(dns_array)); ret = dst_key_todns(key, &dnsbuf); @@ -2202,7 +2197,7 @@ frombuffer(const dns_name_t *name, unsigned int alg, unsigned int flags, unsigned int protocol, dns_rdataclass_t rdclass, isc_buffer_t *source, isc_mem_t *mctx, dst_key_t **keyp) { - dst_key_t *key; + dst_key_t * key; isc_result_t ret; REQUIRE(dns_name_isabsolute(name)); @@ -2237,7 +2232,8 @@ frombuffer(const dns_name_t *name, unsigned int alg, unsigned int flags, } static isc_result_t -algorithm_status(unsigned int alg) { +algorithm_status(unsigned int alg) +{ REQUIRE(dst_initialized == true); if (dst_algorithm_supported(alg)) { @@ -2247,8 +2243,8 @@ algorithm_status(unsigned int alg) { } static isc_result_t -addsuffix(char *filename, int len, const char *odirname, - const char *ofilename, const char *suffix) +addsuffix(char *filename, int len, const char *odirname, const char *ofilename, + const char *suffix) { int olen = strlen(ofilename); int n; @@ -2263,8 +2259,8 @@ addsuffix(char *filename, int len, const char *odirname, if (odirname == NULL) n = snprintf(filename, len, "%.*s%s", olen, ofilename, suffix); else - n = snprintf(filename, len, "%s/%.*s%s", - odirname, olen, ofilename, suffix); + n = snprintf(filename, len, "%s/%.*s%s", odirname, olen, + ofilename, suffix); if (n < 0) return (ISC_R_FAILURE); if (n >= len) @@ -2273,7 +2269,8 @@ addsuffix(char *filename, int len, const char *odirname, } isc_buffer_t * -dst_key_tkeytoken(const dst_key_t *key) { +dst_key_tkeytoken(const dst_key_t *key) +{ REQUIRE(VALID_KEY(key)); return (key->key_tkeytoken); } @@ -2284,12 +2281,12 @@ dst_key_tkeytoken(const dst_key_t *key) { * */ bool -dst_key_is_unused(dst_key_t* key) +dst_key_is_unused(dst_key_t *key) { - isc_stdtime_t val; + isc_stdtime_t val; dst_key_state_t st; - int state_type; - bool state_type_set; + int state_type; + bool state_type_set; REQUIRE(VALID_KEY(key)); @@ -2297,7 +2294,7 @@ dst_key_is_unused(dst_key_t* key) * None of the key timing metadata, except Created, may be set. Key * state times may be set only if their respective state is HIDDEN. */ - for (int i = 0; i < DST_MAX_TIMES+1; i++) { + for (int i = 0; i < DST_MAX_TIMES + 1; i++) { state_type_set = false; switch (i) { @@ -2353,7 +2350,6 @@ dst_key_is_unused(dst_key_t* key) return (true); } - static void get_ksk_zsk(dst_key_t *key, bool *ksk, bool *zsk) { @@ -2374,13 +2370,12 @@ get_ksk_zsk(dst_key_t *key, bool *ksk, bool *zsk) /* Hints on key whether it can be published and/or used for signing. */ bool -dst_key_is_published(dst_key_t *key, isc_stdtime_t now, - isc_stdtime_t *publish) +dst_key_is_published(dst_key_t *key, isc_stdtime_t now, isc_stdtime_t *publish) { dst_key_state_t state; - isc_result_t result; - isc_stdtime_t when; - bool state_ok = true, time_ok = false; + isc_result_t result; + isc_stdtime_t when; + bool state_ok = true, time_ok = false; REQUIRE(VALID_KEY(key)); @@ -2412,10 +2407,10 @@ bool dst_key_is_active(dst_key_t *key, isc_stdtime_t now) { dst_key_state_t state; - isc_result_t result; - isc_stdtime_t when = 0; - bool ksk = false, zsk = false, inactive = false; - bool ds_ok = true, zrrsig_ok = true, time_ok = false; + isc_result_t result; + isc_stdtime_t when = 0; + bool ksk = false, zsk = false, inactive = false; + bool ds_ok = true, zrrsig_ok = true, time_ok = false; REQUIRE(VALID_KEY(key)); @@ -2456,7 +2451,7 @@ dst_key_is_active(dst_key_t *key, isc_stdtime_t now) result = dst_key_getstate(key, DST_KEY_ZRRSIG, &state); if (result == ISC_R_SUCCESS) { zrrsig_ok = ((state == DST_KEY_STATE_RUMOURED) || - (state == DST_KEY_STATE_OMNIPRESENT)); + (state == DST_KEY_STATE_OMNIPRESENT)); /* * Key states trump timing metadata. * Ignore inactive time. @@ -2469,13 +2464,14 @@ dst_key_is_active(dst_key_t *key, isc_stdtime_t now) } bool -dst_key_is_signing(dst_key_t *key, int role, isc_stdtime_t now, isc_stdtime_t *active) +dst_key_is_signing(dst_key_t *key, int role, isc_stdtime_t now, + isc_stdtime_t *active) { dst_key_state_t state; - isc_result_t result; - isc_stdtime_t when = 0; - bool ksk = false, zsk = false, inactive = false; - bool krrsig_ok = true, zrrsig_ok = true, time_ok = false; + isc_result_t result; + isc_stdtime_t when = 0; + bool ksk = false, zsk = false, inactive = false; + bool krrsig_ok = true, zrrsig_ok = true, time_ok = false; REQUIRE(VALID_KEY(key)); @@ -2500,7 +2496,7 @@ dst_key_is_signing(dst_key_t *key, int role, isc_stdtime_t now, isc_stdtime_t *a result = dst_key_getstate(key, DST_KEY_KRRSIG, &state); if (result == ISC_R_SUCCESS) { krrsig_ok = ((state == DST_KEY_STATE_RUMOURED) || - (state == DST_KEY_STATE_OMNIPRESENT)); + (state == DST_KEY_STATE_OMNIPRESENT)); /* * Key states trump timing metadata. * Ignore inactive time. @@ -2512,7 +2508,7 @@ dst_key_is_signing(dst_key_t *key, int role, isc_stdtime_t now, isc_stdtime_t *a result = dst_key_getstate(key, DST_KEY_ZRRSIG, &state); if (result == ISC_R_SUCCESS) { zrrsig_ok = ((state == DST_KEY_STATE_RUMOURED) || - (state == DST_KEY_STATE_OMNIPRESENT)); + (state == DST_KEY_STATE_OMNIPRESENT)); /* * Key states trump timing metadata. * Ignore inactive time. @@ -2527,9 +2523,9 @@ dst_key_is_signing(dst_key_t *key, int role, isc_stdtime_t now, isc_stdtime_t *a bool dst_key_is_revoked(dst_key_t *key, isc_stdtime_t now, isc_stdtime_t *revoke) { - isc_result_t result; + isc_result_t result; isc_stdtime_t when = 0; - bool time_ok = false; + bool time_ok = false; REQUIRE(VALID_KEY(key)); @@ -2546,9 +2542,9 @@ bool dst_key_is_removed(dst_key_t *key, isc_stdtime_t now, isc_stdtime_t *remove) { dst_key_state_t state; - isc_result_t result; - isc_stdtime_t when = 0; - bool state_ok = true, time_ok = false; + isc_result_t result; + isc_stdtime_t when = 0; + bool state_ok = true, time_ok = false; REQUIRE(VALID_KEY(key)); @@ -2585,7 +2581,7 @@ dst_key_state_t dst_key_goal(dst_key_t *key) { dst_key_state_t state; - isc_result_t result; + isc_result_t result; result = dst_key_getstate(key, DST_KEY_GOAL, &state); if (result == ISC_R_SUCCESS) { @@ -2598,15 +2594,15 @@ void dst_key_copy_metadata(dst_key_t *to, dst_key_t *from) { dst_key_state_t state; - isc_stdtime_t when; - uint32_t num; - bool yesno; - isc_result_t result; + isc_stdtime_t when; + uint32_t num; + bool yesno; + isc_result_t result; REQUIRE(VALID_KEY(to)); REQUIRE(VALID_KEY(from)); - for (int i = 0; i < DST_MAX_TIMES+1; i++) { + for (int i = 0; i < DST_MAX_TIMES + 1; i++) { result = dst_key_gettime(from, i, &when); if (result == ISC_R_SUCCESS) { dst_key_settime(to, i, when); @@ -2615,7 +2611,7 @@ dst_key_copy_metadata(dst_key_t *to, dst_key_t *from) } } - for (int i = 0; i < DST_MAX_NUMERIC+1; i++) { + for (int i = 0; i < DST_MAX_NUMERIC + 1; i++) { result = dst_key_getnum(from, i, &num); if (result == ISC_R_SUCCESS) { dst_key_setnum(to, i, num); @@ -2624,7 +2620,7 @@ dst_key_copy_metadata(dst_key_t *to, dst_key_t *from) } } - for (int i = 0; i < DST_MAX_BOOLEAN+1; i++) { + for (int i = 0; i < DST_MAX_BOOLEAN + 1; i++) { result = dst_key_getbool(from, i, &yesno); if (result == ISC_R_SUCCESS) { dst_key_setbool(to, i, yesno); @@ -2633,7 +2629,7 @@ dst_key_copy_metadata(dst_key_t *to, dst_key_t *from) } } - for (int i = 0; i < DST_MAX_KEYSTATES+1; i++) { + for (int i = 0; i < DST_MAX_KEYSTATES + 1; i++) { result = dst_key_getstate(from, i, &state); if (result == ISC_R_SUCCESS) { dst_key_setstate(to, i, state); diff --git a/lib/dns/dst_internal.h b/lib/dns/dst_internal.h index 0d8be243d8..4b88f1c955 100644 --- a/lib/dns/dst_internal.h +++ b/lib/dns/dst_internal.h @@ -28,15 +28,15 @@ #include #include -#include #include +#include +#include #include #include -#include -#include #include +#include #include -#include +#include #if USE_PKCS11 #include @@ -46,7 +46,6 @@ #include #include - #include #include #include @@ -55,8 +54,8 @@ ISC_LANG_BEGINDECLS -#define KEY_MAGIC ISC_MAGIC('D','S','T','K') -#define CTX_MAGIC ISC_MAGIC('D','S','T','C') +#define KEY_MAGIC ISC_MAGIC('D', 'S', 'T', 'K') +#define CTX_MAGIC ISC_MAGIC('D', 'S', 'T', 'C') #define VALID_KEY(x) ISC_MAGIC_VALID(x, KEY_MAGIC) #define VALID_CTX(x) ISC_MAGIC_VALID(x, CTX_MAGIC) @@ -67,7 +66,7 @@ ISC_LANG_BEGINDECLS typedef struct dst_func dst_func_t; -typedef struct dst_hmac_key dst_hmac_key_t; +typedef struct dst_hmac_key dst_hmac_key_t; /*% * Indicate whether a DST context will be used for signing @@ -77,26 +76,26 @@ typedef enum { DO_SIGN, DO_VERIFY } dst_use_t; /*% DST Key Structure */ struct dst_key { - unsigned int magic; - isc_refcount_t refs; - dns_name_t * key_name; /*%< name of the key */ - unsigned int key_size; /*%< size of the key in bits */ - unsigned int key_proto; /*%< protocols this key is used for */ - unsigned int key_alg; /*%< algorithm of the key */ - uint32_t key_flags; /*%< flags of the public key */ - uint16_t key_id; /*%< identifier of the key */ - uint16_t key_rid; /*%< identifier of the key when - revoked */ - uint16_t key_bits; /*%< hmac digest bits */ - dns_rdataclass_t key_class; /*%< class of the key record */ - dns_ttl_t key_ttl; /*%< default/initial dnskey ttl */ - isc_mem_t *mctx; /*%< memory context */ - char *engine; /*%< engine name (HSM) */ - char *label; /*%< engine label (HSM) */ + unsigned int magic; + isc_refcount_t refs; + dns_name_t * key_name; /*%< name of the key */ + unsigned int key_size; /*%< size of the key in bits */ + unsigned int key_proto; /*%< protocols this key is used for */ + unsigned int key_alg; /*%< algorithm of the key */ + uint32_t key_flags; /*%< flags of the public key */ + uint16_t key_id; /*%< identifier of the key */ + uint16_t key_rid; /*%< identifier of the key when + revoked */ + uint16_t key_bits; /*%< hmac digest bits */ + dns_rdataclass_t key_class; /*%< class of the key record */ + dns_ttl_t key_ttl; /*%< default/initial dnskey ttl */ + isc_mem_t * mctx; /*%< memory context */ + char * engine; /*%< engine name (HSM) */ + char * label; /*%< engine label (HSM) */ union { - void *generic; + void * generic; gss_ctx_id_t gssctx; - DH *dh; + DH * dh; #if USE_OPENSSL EVP_PKEY *pkey; #endif @@ -104,41 +103,41 @@ struct dst_key { pk11_object_t *pkey; #endif dst_hmac_key_t *hmac_key; - } keydata; /*%< pointer to key in crypto pkg fmt */ + } keydata; /*%< pointer to key in crypto pkg fmt */ - isc_stdtime_t times[DST_MAX_TIMES + 1]; /*%< timing metadata */ - bool timeset[DST_MAX_TIMES + 1]; /*%< data set? */ + isc_stdtime_t times[DST_MAX_TIMES + 1]; /*%< timing metadata */ + bool timeset[DST_MAX_TIMES + 1]; /*%< data set? */ - uint32_t nums[DST_MAX_NUMERIC + 1]; /*%< numeric metadata */ - bool numset[DST_MAX_NUMERIC + 1]; /*%< data set? */ + uint32_t nums[DST_MAX_NUMERIC + 1]; /*%< numeric metadata */ + bool numset[DST_MAX_NUMERIC + 1]; /*%< data set? */ - bool bools[DST_MAX_BOOLEAN + 1]; /*%< boolean metadata */ - bool boolset[DST_MAX_BOOLEAN + 1]; /*%< data set? */ + bool bools[DST_MAX_BOOLEAN + 1]; /*%< boolean metadata */ + bool boolset[DST_MAX_BOOLEAN + 1]; /*%< data set? */ - dst_key_state_t keystates[DST_MAX_KEYSTATES + 1]; /*%< key states */ + dst_key_state_t keystates[DST_MAX_KEYSTATES + 1]; /*%< key states */ bool keystateset[DST_MAX_KEYSTATES + 1]; /*%< data set? */ - bool inactive; /*%< private key not present as it is inactive */ - bool external; /*%< external key */ + bool inactive; /*%< private key not present as it is inactive */ + bool external; /*%< external key */ - int fmt_major; /*%< private key format, major version */ - int fmt_minor; /*%< private key format, minor version */ + int fmt_major; /*%< private key format, major version */ + int fmt_minor; /*%< private key format, minor version */ - dst_func_t * func; /*%< crypto package specific functions */ - isc_buffer_t *key_tkeytoken; /*%< TKEY token data */ + dst_func_t * func; /*%< crypto package specific functions */ + isc_buffer_t *key_tkeytoken; /*%< TKEY token data */ }; struct dst_context { - unsigned int magic; - dst_use_t use; - dst_key_t *key; - isc_mem_t *mctx; + unsigned int magic; + dst_use_t use; + dst_key_t * key; + isc_mem_t * mctx; isc_logcategory_t *category; union { - void *generic; + void * generic; dst_gssapi_signverifyctx_t *gssctx; - isc_hmac_t *hmac_ctx; - EVP_MD_CTX *evp_md_ctx; + isc_hmac_t * hmac_ctx; + EVP_MD_CTX * evp_md_ctx; #if USE_PKCS11 pk11_context_t *pk11_ctx; #endif @@ -164,10 +163,9 @@ struct dst_func { const isc_region_t *sig); isc_result_t (*computesecret)(const dst_key_t *pub, const dst_key_t *priv, - isc_buffer_t *secret); + isc_buffer_t * secret); bool (*compare)(const dst_key_t *key1, const dst_key_t *key2); - bool (*paramcompare)(const dst_key_t *key1, - const dst_key_t *key2); + bool (*paramcompare)(const dst_key_t *key1, const dst_key_t *key2); isc_result_t (*generate)(dst_key_t *key, int parms, void (*callback)(int)); bool (*isprivate)(const dst_key_t *key); @@ -177,9 +175,7 @@ struct dst_func { isc_result_t (*todns)(const dst_key_t *key, isc_buffer_t *data); isc_result_t (*fromdns)(dst_key_t *key, isc_buffer_t *data); isc_result_t (*tofile)(const dst_key_t *key, const char *directory); - isc_result_t (*parse)(dst_key_t *key, - isc_lex_t *lexer, - dst_key_t *pub); + isc_result_t (*parse)(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub); /* cleanup */ void (*cleanup)(void); @@ -194,48 +190,67 @@ struct dst_func { /*% * Initializers */ -isc_result_t dst__openssl_init(isc_mem_t *, const char *engine); +isc_result_t +dst__openssl_init(isc_mem_t *, const char *engine); #define dst__pkcs11_init pk11_initialize -isc_result_t dst__hmacmd5_init(struct dst_func **funcp); -isc_result_t dst__hmacsha1_init(struct dst_func **funcp); -isc_result_t dst__hmacsha224_init(struct dst_func **funcp); -isc_result_t dst__hmacsha256_init(struct dst_func **funcp); -isc_result_t dst__hmacsha384_init(struct dst_func **funcp); -isc_result_t dst__hmacsha512_init(struct dst_func **funcp); -isc_result_t dst__openssldh_init(struct dst_func **funcp); +isc_result_t +dst__hmacmd5_init(struct dst_func **funcp); +isc_result_t +dst__hmacsha1_init(struct dst_func **funcp); +isc_result_t +dst__hmacsha224_init(struct dst_func **funcp); +isc_result_t +dst__hmacsha256_init(struct dst_func **funcp); +isc_result_t +dst__hmacsha384_init(struct dst_func **funcp); +isc_result_t +dst__hmacsha512_init(struct dst_func **funcp); +isc_result_t +dst__openssldh_init(struct dst_func **funcp); #if USE_OPENSSL -isc_result_t dst__opensslrsa_init(struct dst_func **funcp, - unsigned char algorithm); -isc_result_t dst__opensslecdsa_init(struct dst_func **funcp); +isc_result_t +dst__opensslrsa_init(struct dst_func **funcp, unsigned char algorithm); +isc_result_t +dst__opensslecdsa_init(struct dst_func **funcp); #if HAVE_OPENSSL_ED25519 || HAVE_OPENSSL_ED448 -isc_result_t dst__openssleddsa_init(struct dst_func **funcp); +isc_result_t +dst__openssleddsa_init(struct dst_func **funcp); #endif /* HAVE_OPENSSL_ED25519 || HAVE_OPENSSL_ED448 */ #endif /* USE_OPENSSL */ #if USE_PKCS11 -isc_result_t dst__pkcs11rsa_init(struct dst_func **funcp); -isc_result_t dst__pkcs11dsa_init(struct dst_func **funcp); -isc_result_t dst__pkcs11ecdsa_init(struct dst_func **funcp); +isc_result_t +dst__pkcs11rsa_init(struct dst_func **funcp); +isc_result_t +dst__pkcs11dsa_init(struct dst_func **funcp); +isc_result_t +dst__pkcs11ecdsa_init(struct dst_func **funcp); #if defined(HAVE_PKCS11_ED25519) || defined(HAVE_PKCS11_ED448) -isc_result_t dst__pkcs11eddsa_init(struct dst_func **funcp); +isc_result_t +dst__pkcs11eddsa_init(struct dst_func **funcp); #endif #endif /* USE_PKCS11 */ #ifdef GSSAPI -isc_result_t dst__gssapi_init(struct dst_func **funcp); +isc_result_t +dst__gssapi_init(struct dst_func **funcp); #endif /* GSSAPI */ /*% * Destructors */ -void dst__openssl_destroy(void); +void +dst__openssl_destroy(void); #define dst__pkcs11_destroy pk11_finalize /*% * Memory allocators using the DST memory pool. */ -void * dst__mem_alloc(size_t size); -void dst__mem_free(void *ptr); -void * dst__mem_realloc(void *ptr, size_t size); +void * +dst__mem_alloc(size_t size); +void +dst__mem_free(void *ptr); +void * +dst__mem_realloc(void *ptr, size_t size); ISC_LANG_ENDDECLS diff --git a/lib/dns/dst_openssl.h b/lib/dns/dst_openssl.h index e085f1132b..f05742d104 100644 --- a/lib/dns/dst_openssl.h +++ b/lib/dns/dst_openssl.h @@ -16,12 +16,12 @@ #include #include -#include -#include -#include +#include #include #include -#include +#include +#include +#include #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) /* @@ -55,8 +55,8 @@ isc_result_t dst__openssl_toresult2(const char *funcname, isc_result_t fallback); isc_result_t -dst__openssl_toresult3(isc_logcategory_t *category, - const char *funcname, isc_result_t fallback); +dst__openssl_toresult3(isc_logcategory_t *category, const char *funcname, + isc_result_t fallback); #if !defined(OPENSSL_NO_ENGINE) ENGINE * diff --git a/lib/dns/dst_parse.c b/lib/dns/dst_parse.c index e989be5301..2280104fc9 100644 --- a/lib/dns/dst_parse.c +++ b/lib/dns/dst_parse.c @@ -23,6 +23,8 @@ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#include "dst_parse.h" + #include #include @@ -37,14 +39,13 @@ #include #include -#include - -#include #include +#include -#include "dst_internal.h" -#include "dst_parse.h" #include "dst/result.h" +#include "dst_internal.h" + +#include #define DST_AS_STR(t) ((t).value.as_textregion.base) @@ -53,83 +54,70 @@ #define TIMING_NTAGS (DST_MAX_TIMES + 1) static const char *timetags[TIMING_NTAGS] = { - "Created:", - "Publish:", - "Activate:", - "Revoke:", - "Inactive:", - "Delete:", - "DSPublish:", - "SyncPublish:", - "SyncDelete:", - NULL, - NULL, - NULL, + "Created:", "Publish:", "Activate:", "Revoke:", + "Inactive:", "Delete:", "DSPublish:", "SyncPublish:", + "SyncDelete:", NULL, NULL, NULL, NULL }; #define NUMERIC_NTAGS (DST_MAX_NUMERIC + 1) static const char *numerictags[NUMERIC_NTAGS] = { - "Predecessor:", - "Successor:", - "MaxTTL:", - "RollPeriod:", - NULL + "Predecessor:", "Successor:", "MaxTTL:", "RollPeriod:", NULL }; struct parse_map { - const int value; + const int value; const char *tag; }; -static struct parse_map map[] = { - {TAG_RSA_MODULUS, "Modulus:"}, - {TAG_RSA_PUBLICEXPONENT, "PublicExponent:"}, - {TAG_RSA_PRIVATEEXPONENT, "PrivateExponent:"}, - {TAG_RSA_PRIME1, "Prime1:"}, - {TAG_RSA_PRIME2, "Prime2:"}, - {TAG_RSA_EXPONENT1, "Exponent1:"}, - {TAG_RSA_EXPONENT2, "Exponent2:"}, - {TAG_RSA_COEFFICIENT, "Coefficient:"}, - {TAG_RSA_ENGINE, "Engine:" }, - {TAG_RSA_LABEL, "Label:" }, +static struct parse_map map[] = { { TAG_RSA_MODULUS, "Modulus:" }, + { TAG_RSA_PUBLICEXPONENT, "PublicExponent:" }, + { TAG_RSA_PRIVATEEXPONENT, "PrivateExponent" + ":" }, + { TAG_RSA_PRIME1, "Prime1:" }, + { TAG_RSA_PRIME2, "Prime2:" }, + { TAG_RSA_EXPONENT1, "Exponent1:" }, + { TAG_RSA_EXPONENT2, "Exponent2:" }, + { TAG_RSA_COEFFICIENT, "Coefficient:" }, + { TAG_RSA_ENGINE, "Engine:" }, + { TAG_RSA_LABEL, "Label:" }, - {TAG_DH_PRIME, "Prime(p):"}, - {TAG_DH_GENERATOR, "Generator(g):"}, - {TAG_DH_PRIVATE, "Private_value(x):"}, - {TAG_DH_PUBLIC, "Public_value(y):"}, + { TAG_DH_PRIME, "Prime(p):" }, + { TAG_DH_GENERATOR, "Generator(g):" }, + { TAG_DH_PRIVATE, "Private_value(x):" }, + { TAG_DH_PUBLIC, "Public_value(y):" }, - {TAG_ECDSA_PRIVATEKEY, "PrivateKey:"}, - {TAG_ECDSA_ENGINE, "Engine:" }, - {TAG_ECDSA_LABEL, "Label:" }, + { TAG_ECDSA_PRIVATEKEY, "PrivateKey:" }, + { TAG_ECDSA_ENGINE, "Engine:" }, + { TAG_ECDSA_LABEL, "Label:" }, - {TAG_EDDSA_PRIVATEKEY, "PrivateKey:"}, - {TAG_EDDSA_ENGINE, "Engine:" }, - {TAG_EDDSA_LABEL, "Label:" }, + { TAG_EDDSA_PRIVATEKEY, "PrivateKey:" }, + { TAG_EDDSA_ENGINE, "Engine:" }, + { TAG_EDDSA_LABEL, "Label:" }, - {TAG_HMACMD5_KEY, "Key:"}, - {TAG_HMACMD5_BITS, "Bits:"}, + { TAG_HMACMD5_KEY, "Key:" }, + { TAG_HMACMD5_BITS, "Bits:" }, - {TAG_HMACSHA1_KEY, "Key:"}, - {TAG_HMACSHA1_BITS, "Bits:"}, + { TAG_HMACSHA1_KEY, "Key:" }, + { TAG_HMACSHA1_BITS, "Bits:" }, - {TAG_HMACSHA224_KEY, "Key:"}, - {TAG_HMACSHA224_BITS, "Bits:"}, + { TAG_HMACSHA224_KEY, "Key:" }, + { TAG_HMACSHA224_BITS, "Bits:" }, - {TAG_HMACSHA256_KEY, "Key:"}, - {TAG_HMACSHA256_BITS, "Bits:"}, + { TAG_HMACSHA256_KEY, "Key:" }, + { TAG_HMACSHA256_BITS, "Bits:" }, - {TAG_HMACSHA384_KEY, "Key:"}, - {TAG_HMACSHA384_BITS, "Bits:"}, + { TAG_HMACSHA384_KEY, "Key:" }, + { TAG_HMACSHA384_BITS, "Bits:" }, - {TAG_HMACSHA512_KEY, "Key:"}, - {TAG_HMACSHA512_BITS, "Bits:"}, + { TAG_HMACSHA512_KEY, "Key:" }, + { TAG_HMACSHA512_BITS, "Bits:" }, - {0, NULL} -}; + { 0, NULL } }; static int -find_value(const char *s, const unsigned int alg) { +find_value(const char *s, const unsigned int alg) +{ int i; for (i = 0; map[i].tag != NULL; i++) { @@ -141,10 +129,11 @@ find_value(const char *s, const unsigned int alg) { } static const char * -find_tag(const int value) { +find_tag(const int value) +{ int i; - for (i = 0; ; i++) { + for (i = 0;; i++) { if (map[i].tag == NULL) return (NULL); else if (value == map[i].value) @@ -153,7 +142,8 @@ find_tag(const int value) { } static int -find_metadata(const char *s, const char *tags[], int ntags) { +find_metadata(const char *s, const char *tags[], int ntags) +{ int i; for (i = 0; i < ntags; i++) { @@ -165,20 +155,23 @@ find_metadata(const char *s, const char *tags[], int ntags) { } static int -find_timedata(const char *s) { +find_timedata(const char *s) +{ return (find_metadata(s, timetags, TIMING_NTAGS)); } static int -find_numericdata(const char *s) { +find_numericdata(const char *s) +{ return (find_metadata(s, numerictags, NUMERIC_NTAGS)); } static int -check_rsa(const dst_private_t *priv, bool external) { - int i, j; - bool have[RSA_NTAGS]; - bool ok; +check_rsa(const dst_private_t *priv, bool external) +{ + int i, j; + bool have[RSA_NTAGS]; + bool ok; unsigned int mask; if (external) @@ -211,11 +204,12 @@ check_rsa(const dst_private_t *priv, bool external) { have[TAG_RSA_EXPONENT1 & mask] && have[TAG_RSA_EXPONENT2 & mask] && have[TAG_RSA_COEFFICIENT & mask]; - return (ok ? 0 : -1 ); + return (ok ? 0 : -1); } static int -check_dh(const dst_private_t *priv) { +check_dh(const dst_private_t *priv) +{ int i, j; if (priv->nelements != DH_NTAGS) return (-1); @@ -230,10 +224,11 @@ check_dh(const dst_private_t *priv) { } static int -check_ecdsa(const dst_private_t *priv, bool external) { - int i, j; - bool have[ECDSA_NTAGS]; - bool ok; +check_ecdsa(const dst_private_t *priv, bool external) +{ + int i, j; + bool have[ECDSA_NTAGS]; + bool ok; unsigned int mask; if (external) @@ -256,14 +251,15 @@ check_ecdsa(const dst_private_t *priv, bool external) { ok = have[TAG_ECDSA_LABEL & mask]; else ok = have[TAG_ECDSA_PRIVATEKEY & mask]; - return (ok ? 0 : -1 ); + return (ok ? 0 : -1); } static int -check_eddsa(const dst_private_t *priv, bool external) { - int i, j; - bool have[EDDSA_NTAGS]; - bool ok; +check_eddsa(const dst_private_t *priv, bool external) +{ + int i, j; + bool have[EDDSA_NTAGS]; + bool ok; unsigned int mask; if (external) @@ -286,11 +282,12 @@ check_eddsa(const dst_private_t *priv, bool external) { ok = have[TAG_EDDSA_LABEL & mask]; else ok = have[TAG_EDDSA_PRIVATEKEY & mask]; - return (ok ? 0 : -1 ); + return (ok ? 0 : -1); } static int -check_hmac_md5(const dst_private_t *priv, bool old) { +check_hmac_md5(const dst_private_t *priv, bool old) +{ int i, j; if (priv->nelements != HMACMD5_NTAGS) { @@ -317,8 +314,7 @@ check_hmac_md5(const dst_private_t *priv, bool old) { } static int -check_hmac_sha(const dst_private_t *priv, unsigned int ntags, - unsigned int alg) +check_hmac_sha(const dst_private_t *priv, unsigned int ntags, unsigned int alg) { unsigned int i, j; if (priv->nelements != ntags) @@ -334,8 +330,8 @@ check_hmac_sha(const dst_private_t *priv, unsigned int ntags, } static int -check_data(const dst_private_t *priv, const unsigned int alg, - bool old, bool external) +check_data(const dst_private_t *priv, const unsigned int alg, bool old, + bool external) { /* XXXVIX this switch statement is too sparse to gen a jump table. */ switch (alg) { @@ -371,7 +367,8 @@ check_data(const dst_private_t *priv, const unsigned int alg, } void -dst__privstruct_free(dst_private_t *priv, isc_mem_t *mctx) { +dst__privstruct_free(dst_private_t *priv, isc_mem_t *mctx) +{ int i; if (priv == NULL) @@ -389,34 +386,34 @@ isc_result_t dst__privstruct_parse(dst_key_t *key, unsigned int alg, isc_lex_t *lex, isc_mem_t *mctx, dst_private_t *priv) { - int n = 0, major, minor, check; - isc_buffer_t b; - isc_token_t token; + int n = 0, major, minor, check; + isc_buffer_t b; + isc_token_t token; unsigned char *data = NULL; - unsigned int opt = ISC_LEXOPT_EOL; - isc_stdtime_t when; - isc_result_t ret; - bool external = false; + unsigned int opt = ISC_LEXOPT_EOL; + isc_stdtime_t when; + isc_result_t ret; + bool external = false; REQUIRE(priv != NULL); priv->nelements = 0; memset(priv->elements, 0, sizeof(priv->elements)); -#define NEXTTOKEN(lex, opt, token) \ - do { \ - ret = isc_lex_gettoken(lex, opt, token); \ - if (ret != ISC_R_SUCCESS) \ - goto fail; \ +#define NEXTTOKEN(lex, opt, token) \ + do { \ + ret = isc_lex_gettoken(lex, opt, token); \ + if (ret != ISC_R_SUCCESS) \ + goto fail; \ } while (0) -#define READLINE(lex, opt, token) \ - do { \ - ret = isc_lex_gettoken(lex, opt, token); \ - if (ret == ISC_R_EOF) \ - break; \ - else if (ret != ISC_R_SUCCESS) \ - goto fail; \ +#define READLINE(lex, opt, token) \ + do { \ + ret = isc_lex_gettoken(lex, opt, token); \ + if (ret == ISC_R_EOF) \ + break; \ + else if (ret != ISC_R_SUCCESS) \ + goto fail; \ } while ((*token).type != isc_tokentype_eol) /* @@ -424,21 +421,18 @@ dst__privstruct_parse(dst_key_t *key, unsigned int alg, isc_lex_t *lex, */ NEXTTOKEN(lex, opt, &token); if (token.type != isc_tokentype_string || - strcmp(DST_AS_STR(token), PRIVATE_KEY_STR) != 0) - { + strcmp(DST_AS_STR(token), PRIVATE_KEY_STR) != 0) { ret = DST_R_INVALIDPRIVATEKEY; goto fail; } NEXTTOKEN(lex, opt, &token); if (token.type != isc_tokentype_string || - (DST_AS_STR(token))[0] != 'v') - { + (DST_AS_STR(token))[0] != 'v') { ret = DST_R_INVALIDPRIVATEKEY; goto fail; } - if (sscanf(DST_AS_STR(token), "v%d.%d", &major, &minor) != 2) - { + if (sscanf(DST_AS_STR(token), "v%d.%d", &major, &minor) != 2) { ret = DST_R_INVALIDPRIVATEKEY; goto fail; } @@ -460,16 +454,14 @@ dst__privstruct_parse(dst_key_t *key, unsigned int alg, isc_lex_t *lex, */ NEXTTOKEN(lex, opt, &token); if (token.type != isc_tokentype_string || - strcmp(DST_AS_STR(token), ALGORITHM_STR) != 0) - { + strcmp(DST_AS_STR(token), ALGORITHM_STR) != 0) { ret = DST_R_INVALIDPRIVATEKEY; goto fail; } NEXTTOKEN(lex, opt | ISC_LEXOPT_NUMBER, &token); if (token.type != isc_tokentype_number || - token.value.as_ulong != (unsigned long) dst_key_alg(key)) - { + token.value.as_ulong != (unsigned long)dst_key_alg(key)) { ret = DST_R_INVALIDPRIVATEKEY; goto fail; } @@ -480,7 +472,7 @@ dst__privstruct_parse(dst_key_t *key, unsigned int alg, isc_lex_t *lex, * Read the key data. */ for (n = 0; n < MAXFIELDS; n++) { - int tag; + int tag; isc_region_t r; do { ret = isc_lex_gettoken(lex, opt, &token); @@ -558,12 +550,12 @@ dst__privstruct_parse(dst_key_t *key, unsigned int alg, isc_lex_t *lex, priv->elements[n].data = r.base; priv->nelements++; - next: + next: READLINE(lex, opt, &token); data = NULL; } - done: +done: if (external && priv->nelements != 0) { ret = DST_R_INVALIDPRIVATEKEY; goto fail; @@ -594,18 +586,18 @@ isc_result_t dst__privstruct_writefile(const dst_key_t *key, const dst_private_t *priv, const char *directory) { - FILE *fp; - isc_result_t result; - char filename[NAME_MAX]; - char buffer[MAXFIELDSIZE * 2]; + FILE * fp; + isc_result_t result; + char filename[NAME_MAX]; + char buffer[MAXFIELDSIZE * 2]; isc_fsaccess_t access; - isc_stdtime_t when; - uint32_t value; - isc_buffer_t b; - isc_region_t r; - int major, minor; - mode_t mode; - int i, ret; + isc_stdtime_t when; + uint32_t value; + isc_buffer_t b; + isc_region_t r; + int major, minor; + mode_t mode; + int i, ret; REQUIRE(priv != NULL); @@ -645,8 +637,7 @@ dst__privstruct_writefile(const dst_key_t *key, const dst_private_t *priv, access = 0; isc_fsaccess_add(ISC_FSACCESS_OWNER, - ISC_FSACCESS_READ | ISC_FSACCESS_WRITE, - &access); + ISC_FSACCESS_READ | ISC_FSACCESS_WRITE, &access); (void)isc_fsaccess_set(filename, access); dst_key_getprivateformat(key, &major, &minor); @@ -727,11 +718,11 @@ dst__privstruct_writefile(const dst_key_t *key, const dst_private_t *priv, } isc_buffer_usedregion(&b, &r); - fprintf(fp, "%s %.*s\n", s, (int)r.length, r.base); + fprintf(fp, "%s %.*s\n", s, (int)r.length, r.base); } if (key->external) - fprintf(fp, "External:\n"); + fprintf(fp, "External:\n"); /* Add the metadata tags */ if (major > 1 || (major == 1 && minor >= 3)) { @@ -751,8 +742,8 @@ dst__privstruct_writefile(const dst_key_t *key, const dst_private_t *priv, isc_buffer_init(&b, buffer, sizeof(buffer)); result = dns_time32_totext(when, &b); if (result != ISC_R_SUCCESS) { - fclose(fp); - return (DST_R_INVALIDPRIVATEKEY); + fclose(fp); + return (DST_R_INVALIDPRIVATEKEY); } isc_buffer_usedregion(&b, &r); diff --git a/lib/dns/dst_parse.h b/lib/dns/dst_parse.h index bc43eb99eb..5e57596d97 100644 --- a/lib/dns/dst_parse.h +++ b/lib/dns/dst_parse.h @@ -23,7 +23,6 @@ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - /*! \file */ #ifndef DST_DST_PARSE_H #define DST_DST_PARSE_H 1 @@ -32,71 +31,71 @@ #include -#define MAXFIELDSIZE 512 +#define MAXFIELDSIZE 512 /* * Maximum number of fields in a private file is 18 (12 algorithm- * specific fields for RSA, plus 6 generic fields). */ -#define MAXFIELDS 12+6 +#define MAXFIELDS 12 + 6 -#define TAG_SHIFT 4 -#define TAG_ALG(tag) ((unsigned int)(tag) >> TAG_SHIFT) -#define TAG(alg, off) (((alg) << TAG_SHIFT) + (off)) +#define TAG_SHIFT 4 +#define TAG_ALG(tag) ((unsigned int)(tag) >> TAG_SHIFT) +#define TAG(alg, off) (((alg) << TAG_SHIFT) + (off)) /* These are used by RSA-SHA1, RSASHA256 and RSASHA512 */ -#define RSA_NTAGS 11 -#define TAG_RSA_MODULUS ((DST_ALG_RSA << TAG_SHIFT) + 0) -#define TAG_RSA_PUBLICEXPONENT ((DST_ALG_RSA << TAG_SHIFT) + 1) -#define TAG_RSA_PRIVATEEXPONENT ((DST_ALG_RSA << TAG_SHIFT) + 2) -#define TAG_RSA_PRIME1 ((DST_ALG_RSA << TAG_SHIFT) + 3) -#define TAG_RSA_PRIME2 ((DST_ALG_RSA << TAG_SHIFT) + 4) -#define TAG_RSA_EXPONENT1 ((DST_ALG_RSA << TAG_SHIFT) + 5) -#define TAG_RSA_EXPONENT2 ((DST_ALG_RSA << TAG_SHIFT) + 6) -#define TAG_RSA_COEFFICIENT ((DST_ALG_RSA << TAG_SHIFT) + 7) -#define TAG_RSA_ENGINE ((DST_ALG_RSA << TAG_SHIFT) + 8) -#define TAG_RSA_LABEL ((DST_ALG_RSA << TAG_SHIFT) + 9) +#define RSA_NTAGS 11 +#define TAG_RSA_MODULUS ((DST_ALG_RSA << TAG_SHIFT) + 0) +#define TAG_RSA_PUBLICEXPONENT ((DST_ALG_RSA << TAG_SHIFT) + 1) +#define TAG_RSA_PRIVATEEXPONENT ((DST_ALG_RSA << TAG_SHIFT) + 2) +#define TAG_RSA_PRIME1 ((DST_ALG_RSA << TAG_SHIFT) + 3) +#define TAG_RSA_PRIME2 ((DST_ALG_RSA << TAG_SHIFT) + 4) +#define TAG_RSA_EXPONENT1 ((DST_ALG_RSA << TAG_SHIFT) + 5) +#define TAG_RSA_EXPONENT2 ((DST_ALG_RSA << TAG_SHIFT) + 6) +#define TAG_RSA_COEFFICIENT ((DST_ALG_RSA << TAG_SHIFT) + 7) +#define TAG_RSA_ENGINE ((DST_ALG_RSA << TAG_SHIFT) + 8) +#define TAG_RSA_LABEL ((DST_ALG_RSA << TAG_SHIFT) + 9) -#define DH_NTAGS 4 -#define TAG_DH_PRIME ((DST_ALG_DH << TAG_SHIFT) + 0) -#define TAG_DH_GENERATOR ((DST_ALG_DH << TAG_SHIFT) + 1) -#define TAG_DH_PRIVATE ((DST_ALG_DH << TAG_SHIFT) + 2) -#define TAG_DH_PUBLIC ((DST_ALG_DH << TAG_SHIFT) + 3) +#define DH_NTAGS 4 +#define TAG_DH_PRIME ((DST_ALG_DH << TAG_SHIFT) + 0) +#define TAG_DH_GENERATOR ((DST_ALG_DH << TAG_SHIFT) + 1) +#define TAG_DH_PRIVATE ((DST_ALG_DH << TAG_SHIFT) + 2) +#define TAG_DH_PUBLIC ((DST_ALG_DH << TAG_SHIFT) + 3) -#define ECDSA_NTAGS 4 -#define TAG_ECDSA_PRIVATEKEY ((DST_ALG_ECDSA256 << TAG_SHIFT) + 0) -#define TAG_ECDSA_ENGINE ((DST_ALG_ECDSA256 << TAG_SHIFT) + 1) -#define TAG_ECDSA_LABEL ((DST_ALG_ECDSA256 << TAG_SHIFT) + 2) +#define ECDSA_NTAGS 4 +#define TAG_ECDSA_PRIVATEKEY ((DST_ALG_ECDSA256 << TAG_SHIFT) + 0) +#define TAG_ECDSA_ENGINE ((DST_ALG_ECDSA256 << TAG_SHIFT) + 1) +#define TAG_ECDSA_LABEL ((DST_ALG_ECDSA256 << TAG_SHIFT) + 2) -#define EDDSA_NTAGS 4 -#define TAG_EDDSA_PRIVATEKEY ((DST_ALG_ED25519 << TAG_SHIFT) + 0) -#define TAG_EDDSA_ENGINE ((DST_ALG_ED25519 << TAG_SHIFT) + 1) -#define TAG_EDDSA_LABEL ((DST_ALG_ED25519 << TAG_SHIFT) + 2) +#define EDDSA_NTAGS 4 +#define TAG_EDDSA_PRIVATEKEY ((DST_ALG_ED25519 << TAG_SHIFT) + 0) +#define TAG_EDDSA_ENGINE ((DST_ALG_ED25519 << TAG_SHIFT) + 1) +#define TAG_EDDSA_LABEL ((DST_ALG_ED25519 << TAG_SHIFT) + 2) -#define OLD_HMACMD5_NTAGS 1 -#define HMACMD5_NTAGS 2 -#define TAG_HMACMD5_KEY ((DST_ALG_HMACMD5 << TAG_SHIFT) + 0) -#define TAG_HMACMD5_BITS ((DST_ALG_HMACMD5 << TAG_SHIFT) + 1) +#define OLD_HMACMD5_NTAGS 1 +#define HMACMD5_NTAGS 2 +#define TAG_HMACMD5_KEY ((DST_ALG_HMACMD5 << TAG_SHIFT) + 0) +#define TAG_HMACMD5_BITS ((DST_ALG_HMACMD5 << TAG_SHIFT) + 1) -#define HMACSHA1_NTAGS 2 -#define TAG_HMACSHA1_KEY ((DST_ALG_HMACSHA1 << TAG_SHIFT) + 0) -#define TAG_HMACSHA1_BITS ((DST_ALG_HMACSHA1 << TAG_SHIFT) + 1) +#define HMACSHA1_NTAGS 2 +#define TAG_HMACSHA1_KEY ((DST_ALG_HMACSHA1 << TAG_SHIFT) + 0) +#define TAG_HMACSHA1_BITS ((DST_ALG_HMACSHA1 << TAG_SHIFT) + 1) -#define HMACSHA224_NTAGS 2 -#define TAG_HMACSHA224_KEY ((DST_ALG_HMACSHA224 << TAG_SHIFT) + 0) -#define TAG_HMACSHA224_BITS ((DST_ALG_HMACSHA224 << TAG_SHIFT) + 1) +#define HMACSHA224_NTAGS 2 +#define TAG_HMACSHA224_KEY ((DST_ALG_HMACSHA224 << TAG_SHIFT) + 0) +#define TAG_HMACSHA224_BITS ((DST_ALG_HMACSHA224 << TAG_SHIFT) + 1) -#define HMACSHA256_NTAGS 2 -#define TAG_HMACSHA256_KEY ((DST_ALG_HMACSHA256 << TAG_SHIFT) + 0) -#define TAG_HMACSHA256_BITS ((DST_ALG_HMACSHA256 << TAG_SHIFT) + 1) +#define HMACSHA256_NTAGS 2 +#define TAG_HMACSHA256_KEY ((DST_ALG_HMACSHA256 << TAG_SHIFT) + 0) +#define TAG_HMACSHA256_BITS ((DST_ALG_HMACSHA256 << TAG_SHIFT) + 1) -#define HMACSHA384_NTAGS 2 -#define TAG_HMACSHA384_KEY ((DST_ALG_HMACSHA384 << TAG_SHIFT) + 0) -#define TAG_HMACSHA384_BITS ((DST_ALG_HMACSHA384 << TAG_SHIFT) + 1) +#define HMACSHA384_NTAGS 2 +#define TAG_HMACSHA384_KEY ((DST_ALG_HMACSHA384 << TAG_SHIFT) + 0) +#define TAG_HMACSHA384_BITS ((DST_ALG_HMACSHA384 << TAG_SHIFT) + 1) -#define HMACSHA512_NTAGS 2 -#define TAG_HMACSHA512_KEY ((DST_ALG_HMACSHA512 << TAG_SHIFT) + 0) -#define TAG_HMACSHA512_BITS ((DST_ALG_HMACSHA512 << TAG_SHIFT) + 1) +#define HMACSHA512_NTAGS 2 +#define TAG_HMACSHA512_KEY ((DST_ALG_HMACSHA512 << TAG_SHIFT) + 0) +#define TAG_HMACSHA512_BITS ((DST_ALG_HMACSHA512 << TAG_SHIFT) + 1) struct dst_private_element { unsigned short tag; @@ -107,7 +106,7 @@ struct dst_private_element { typedef struct dst_private_element dst_private_element_t; struct dst_private { - unsigned short nelements; + unsigned short nelements; dst_private_element_t elements[MAXFIELDS]; }; diff --git a/lib/dns/dst_pkcs11.h b/lib/dns/dst_pkcs11.h index b8011f2c4c..cf72a57f74 100644 --- a/lib/dns/dst_pkcs11.h +++ b/lib/dns/dst_pkcs11.h @@ -22,16 +22,19 @@ isc_result_t dst__pkcs11_toresult(const char *funcname, const char *file, int line, isc_result_t fallback, CK_RV rv); -#define PK11_CALL(func, args, fallback) \ - ((void) (((rv = (func) args) == CKR_OK) || \ - ((ret = dst__pkcs11_toresult(#func, __FILE__, __LINE__, \ - fallback, rv)), 0))) +#define PK11_CALL(func, args, fallback) \ + ((void)(((rv = (func)args) == CKR_OK) || \ + ((ret = dst__pkcs11_toresult(#func, __FILE__, __LINE__, \ + fallback, rv)), \ + 0))) -#define PK11_RET(func, args, fallback) \ - ((void) (((rv = (func) args) == CKR_OK) || \ - ((ret = dst__pkcs11_toresult(#func, __FILE__, __LINE__, \ - fallback, rv)), 0))); \ - if (rv != CKR_OK) goto err; +#define PK11_RET(func, args, fallback) \ + ((void)(((rv = (func)args) == CKR_OK) || \ + ((ret = dst__pkcs11_toresult(#func, __FILE__, __LINE__, \ + fallback, rv)), \ + 0))); \ + if (rv != CKR_OK) \ + goto err; ISC_LANG_ENDDECLS diff --git a/lib/dns/dst_result.c b/lib/dns/dst_result.c index 8e64df29e6..355f8e2e2d 100644 --- a/lib/dns/dst_result.c +++ b/lib/dns/dst_result.c @@ -15,29 +15,29 @@ #include static const char *text[DST_R_NRESULTS] = { - "algorithm is unsupported", /*%< 0 */ - "crypto failure", /*%< 1 */ - "built with no crypto support", /*%< 2 */ - "illegal operation for a null key", /*%< 3 */ - "public key is invalid", /*%< 4 */ - "private key is invalid", /*%< 5 */ - "external key", /*%< 6 */ - "error occurred writing key to disk", /*%< 7 */ - "invalid algorithm specific parameter", /*%< 8 */ - "UNUSED9", /*%< 9 */ - "UNUSED10", /*%< 10 */ - "sign failure", /*%< 11 */ - "UNUSED12", /*%< 12 */ - "UNUSED13", /*%< 13 */ - "verify failure", /*%< 14 */ - "not a public key", /*%< 15 */ - "not a private key", /*%< 16 */ - "not a key that can compute a secret", /*%< 17 */ - "failure computing a shared secret", /*%< 18 */ - "no randomness available", /*%< 19 */ - "bad key type", /*%< 20 */ - "no engine", /*%< 21 */ - "illegal operation for an external key",/*%< 22 */ + "algorithm is unsupported", /*%< 0 */ + "crypto failure", /*%< 1 */ + "built with no crypto support", /*%< 2 */ + "illegal operation for a null key", /*%< 3 */ + "public key is invalid", /*%< 4 */ + "private key is invalid", /*%< 5 */ + "external key", /*%< 6 */ + "error occurred writing key to disk", /*%< 7 */ + "invalid algorithm specific parameter", /*%< 8 */ + "UNUSED9", /*%< 9 */ + "UNUSED10", /*%< 10 */ + "sign failure", /*%< 11 */ + "UNUSED12", /*%< 12 */ + "UNUSED13", /*%< 13 */ + "verify failure", /*%< 14 */ + "not a public key", /*%< 15 */ + "not a private key", /*%< 16 */ + "not a key that can compute a secret", /*%< 17 */ + "failure computing a shared secret", /*%< 18 */ + "no randomness available", /*%< 19 */ + "bad key type", /*%< 20 */ + "no engine", /*%< 21 */ + "illegal operation for an external key", /*%< 22 */ }; static const char *ids[DST_R_NRESULTS] = { @@ -66,16 +66,17 @@ static const char *ids[DST_R_NRESULTS] = { "DST_R_EXTERNALKEY", }; -#define DST_RESULT_RESULTSET 2 +#define DST_RESULT_RESULTSET 2 -static isc_once_t once = ISC_ONCE_INIT; +static isc_once_t once = ISC_ONCE_INIT; static void -initialize_action(void) { +initialize_action(void) +{ isc_result_t result; - result = isc_result_register(ISC_RESULTCLASS_DST, DST_R_NRESULTS, - text, DST_RESULT_RESULTSET); + result = isc_result_register(ISC_RESULTCLASS_DST, DST_R_NRESULTS, text, + DST_RESULT_RESULTSET); if (result != ISC_R_SUCCESS) UNEXPECTED_ERROR(__FILE__, __LINE__, "isc_result_register() failed: %u", result); @@ -87,19 +88,22 @@ initialize_action(void) { } static void -initialize(void) { +initialize(void) +{ RUNTIME_CHECK(isc_once_do(&once, initialize_action) == ISC_R_SUCCESS); } const char * -dst_result_totext(isc_result_t result) { +dst_result_totext(isc_result_t result) +{ initialize(); return (isc_result_totext(result)); } void -dst_result_register(void) { +dst_result_register(void) +{ initialize(); } diff --git a/lib/dns/dyndb.c b/lib/dns/dyndb.c index f00fba1ac0..21aef3158b 100644 --- a/lib/dns/dyndb.c +++ b/lib/dns/dyndb.c @@ -15,12 +15,14 @@ #include #endif +#include + #include #include #include #include -#include #include +#include #include #include #include @@ -31,23 +33,22 @@ #include #include -#include - -#define CHECK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) goto cleanup; \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto cleanup; \ } while (0) - typedef struct dyndb_implementation dyndb_implementation_t; struct dyndb_implementation { - isc_mem_t *mctx; - void *handle; - dns_dyndb_register_t *register_func; - dns_dyndb_destroy_t *destroy_func; - char *name; - void *inst; - LINK(dyndb_implementation_t) link; + isc_mem_t * mctx; + void * handle; + dns_dyndb_register_t *register_func; + dns_dyndb_destroy_t * destroy_func; + char * name; + void * inst; + LINK(dyndb_implementation_t) link; }; /* @@ -60,20 +61,21 @@ static LIST(dyndb_implementation_t) dyndb_implementations; /* Locks dyndb_implementations. */ static isc_mutex_t dyndb_lock; -static isc_once_t once = ISC_ONCE_INIT; +static isc_once_t once = ISC_ONCE_INIT; static void -dyndb_initialize(void) { +dyndb_initialize(void) +{ isc_mutex_init(&dyndb_lock); INIT_LIST(dyndb_implementations); } static dyndb_implementation_t * -impfind(const char *name) { +impfind(const char *name) +{ dyndb_implementation_t *imp; - for (imp = ISC_LIST_HEAD(dyndb_implementations); - imp != NULL; + for (imp = ISC_LIST_HEAD(dyndb_implementations); imp != NULL; imp = ISC_LIST_NEXT(imp, link)) if (strcasecmp(name, imp->name) == 0) return (imp); @@ -82,11 +84,11 @@ impfind(const char *name) { #if HAVE_DLFCN_H && HAVE_DLOPEN static isc_result_t -load_symbol(void *handle, const char *filename, - const char *symbol_name, void **symbolp) +load_symbol(void *handle, const char *filename, const char *symbol_name, + void **symbolp) { const char *errmsg; - void *symbol; + void * symbol; REQUIRE(handle != NULL); REQUIRE(symbolp != NULL && *symbolp == NULL); @@ -114,22 +116,21 @@ static isc_result_t load_library(isc_mem_t *mctx, const char *filename, const char *instname, dyndb_implementation_t **impp) { - isc_result_t result; - void *handle = NULL; + isc_result_t result; + void * handle = NULL; dyndb_implementation_t *imp = NULL; - dns_dyndb_register_t *register_func = NULL; - dns_dyndb_destroy_t *destroy_func = NULL; - dns_dyndb_version_t *version_func = NULL; - int version, flags; + dns_dyndb_register_t * register_func = NULL; + dns_dyndb_destroy_t * destroy_func = NULL; + dns_dyndb_version_t * version_func = NULL; + int version, flags; REQUIRE(impp != NULL && *impp == NULL); - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DYNDB, ISC_LOG_INFO, - "loading DynDB instance '%s' driver '%s'", + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DYNDB, + ISC_LOG_INFO, "loading DynDB instance '%s' driver '%s'", instname, filename); - flags = RTLD_NOW|RTLD_LOCAL; + flags = RTLD_NOW | RTLD_LOCAL; #if defined(RTLD_DEEPBIND) && !__SANITIZE_ADDRESS__ flags |= RTLD_DEEPBIND; #endif @@ -146,12 +147,11 @@ load_library(isc_mem_t *mctx, const char *filename, const char *instname, version = version_func(NULL); if (version < (DNS_DYNDB_VERSION - DNS_DYNDB_AGE) || - version > DNS_DYNDB_VERSION) - { + version > DNS_DYNDB_VERSION) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DYNDB, ISC_LOG_ERROR, - "driver API version mismatch: %d/%d", - version, DNS_DYNDB_VERSION); + "driver API version mismatch: %d/%d", version, + DNS_DYNDB_VERSION); CHECK(ISC_R_FAILURE); } @@ -180,8 +180,9 @@ cleanup: isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DYNDB, ISC_LOG_ERROR, "failed to dynamically load instance '%s' " - "driver '%s': %s (%s)", instname, filename, - dlerror(), isc_result_totext(result)); + "driver '%s': %s (%s)", + instname, filename, dlerror(), + isc_result_totext(result)); if (imp != NULL) isc_mem_putanddetach(&imp->mctx, imp, sizeof(dyndb_implementation_t)); @@ -192,7 +193,8 @@ cleanup: } static void -unload_library(dyndb_implementation_t **impp) { +unload_library(dyndb_implementation_t **impp) +{ dyndb_implementation_t *imp; REQUIRE(impp != NULL && *impp != NULL); @@ -205,8 +207,8 @@ unload_library(dyndb_implementation_t **impp) { } #elif _WIN32 static isc_result_t -load_symbol(HMODULE handle, const char *filename, - const char *symbol_name, void **symbolp) +load_symbol(HMODULE handle, const char *filename, const char *symbol_name, + void **symbolp) { void *symbol; @@ -233,19 +235,18 @@ static isc_result_t load_library(isc_mem_t *mctx, const char *filename, const char *instname, dyndb_implementation_t **impp) { - isc_result_t result; - HMODULE handle; + isc_result_t result; + HMODULE handle; dyndb_implementation_t *imp = NULL; - dns_dyndb_register_t *register_func = NULL; - dns_dyndb_destroy_t *destroy_func = NULL; - dns_dyndb_version_t *version_func = NULL; - int version; + dns_dyndb_register_t * register_func = NULL; + dns_dyndb_destroy_t * destroy_func = NULL; + dns_dyndb_version_t * version_func = NULL; + int version; REQUIRE(impp != NULL && *impp == NULL); - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DYNDB, ISC_LOG_INFO, - "loading DynDB instance '%s' driver '%s'", + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DYNDB, + ISC_LOG_INFO, "loading DynDB instance '%s' driver '%s'", instname, filename); handle = LoadLibraryA(filename); @@ -257,12 +258,11 @@ load_library(isc_mem_t *mctx, const char *filename, const char *instname, version = version_func(NULL); if (version < (DNS_DYNDB_VERSION - DNS_DYNDB_AGE) || - version > DNS_DYNDB_VERSION) - { + version > DNS_DYNDB_VERSION) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DYNDB, ISC_LOG_ERROR, - "driver API version mismatch: %d/%d", - version, DNS_DYNDB_VERSION); + "driver API version mismatch: %d/%d", version, + DNS_DYNDB_VERSION); CHECK(ISC_R_FAILURE); } @@ -291,8 +291,9 @@ cleanup: isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DYNDB, ISC_LOG_ERROR, "failed to dynamically load instance '%s' " - "driver '%s': %d (%s)", instname, filename, - GetLastError(), isc_result_totext(result)); + "driver '%s': %d (%s)", + instname, filename, GetLastError(), + isc_result_totext(result)); if (imp != NULL) isc_mem_putanddetach(&imp->mctx, imp, sizeof(dyndb_implementation_t)); @@ -303,7 +304,8 @@ cleanup: } static void -unload_library(dyndb_implementation_t **impp) { +unload_library(dyndb_implementation_t **impp) +{ dyndb_implementation_t *imp; REQUIRE(impp != NULL && *impp != NULL); @@ -314,7 +316,7 @@ unload_library(dyndb_implementation_t **impp) { isc_mem_free(imp->mctx, imp->name); isc_mem_putanddetach(&imp->mctx, imp, sizeof(dyndb_implementation_t)); } -#else /* HAVE_DLFCN_H || _WIN32 */ +#else /* HAVE_DLFCN_H || _WIN32 */ static isc_result_t load_library(isc_mem_t *mctx, const char *filename, const char *instname, dyndb_implementation_t **impp) @@ -336,14 +338,14 @@ unload_library(dyndb_implementation_t **impp) { UNUSED(impp); } -#endif /* HAVE_DLFCN_H */ +#endif /* HAVE_DLFCN_H */ isc_result_t dns_dyndb_load(const char *libname, const char *name, const char *parameters, const char *file, unsigned long line, isc_mem_t *mctx, const dns_dyndbctx_t *dctx) { - isc_result_t result; + isc_result_t result; dyndb_implementation_t *implementation = NULL; REQUIRE(DNS_DYNDBCTX_VALID(dctx)); @@ -374,7 +376,8 @@ cleanup: } void -dns_dyndb_cleanup(bool exiting) { +dns_dyndb_cleanup(bool exiting) +{ dyndb_implementation_t *elem; dyndb_implementation_t *prev; @@ -431,7 +434,8 @@ dns_dyndb_createctx(isc_mem_t *mctx, const void *hashinit, isc_log_t *lctx, } void -dns_dyndb_destroyctx(dns_dyndbctx_t **dctxp) { +dns_dyndb_destroyctx(dns_dyndbctx_t **dctxp) +{ dns_dyndbctx_t *dctx; REQUIRE(dctxp != NULL && DNS_DYNDBCTX_VALID(*dctxp)); diff --git a/lib/dns/ecdb.c b/lib/dns/ecdb.c index 58264d2f9c..96967e9124 100644 --- a/lib/dns/ecdb.c +++ b/lib/dns/ecdb.c @@ -11,11 +11,11 @@ #include +#include +#include #include #include #include -#include -#include #include #include @@ -24,12 +24,11 @@ #include #include -#define ECDB_MAGIC ISC_MAGIC('E', 'C', 'D', 'B') -#define VALID_ECDB(db) ((db) != NULL && \ - (db)->common.impmagic == ECDB_MAGIC) +#define ECDB_MAGIC ISC_MAGIC('E', 'C', 'D', 'B') +#define VALID_ECDB(db) ((db) != NULL && (db)->common.impmagic == ECDB_MAGIC) -#define ECDBNODE_MAGIC ISC_MAGIC('E', 'C', 'D', 'N') -#define VALID_ECDBNODE(ecdbn) ISC_MAGIC_VALID(ecdbn, ECDBNODE_MAGIC) +#define ECDBNODE_MAGIC ISC_MAGIC('E', 'C', 'D', 'N') +#define VALID_ECDBNODE(ecdbn) ISC_MAGIC_VALID(ecdbn, ECDBNODE_MAGIC) /*% * The 'ephemeral' cache DB (ecdb) implementation. An ecdb just provides @@ -41,62 +40,66 @@ typedef struct dns_ecdb { /* Unlocked */ - dns_db_t common; - isc_mutex_t lock; + dns_db_t common; + isc_mutex_t lock; /* Protected by atomics */ - isc_refcount_t references; + isc_refcount_t references; /* Locked */ - ISC_LIST(struct dns_ecdbnode) nodes; + ISC_LIST(struct dns_ecdbnode) nodes; } dns_ecdb_t; typedef struct dns_ecdbnode { /* Unlocked */ - unsigned int magic; - isc_mutex_t lock; - dns_ecdb_t *ecdb; - dns_name_t name; - ISC_LINK(struct dns_ecdbnode) link; + unsigned int magic; + isc_mutex_t lock; + dns_ecdb_t * ecdb; + dns_name_t name; + ISC_LINK(struct dns_ecdbnode) link; /* Locked */ - ISC_LIST(struct rdatasetheader) rdatasets; + ISC_LIST(struct rdatasetheader) rdatasets; /* Protected by atomics */ - isc_refcount_t references; + isc_refcount_t references; } dns_ecdbnode_t; typedef struct rdatasetheader { - dns_rdatatype_t type; - dns_ttl_t ttl; - dns_trust_t trust; - dns_rdatatype_t covers; - unsigned int attributes; + dns_rdatatype_t type; + dns_ttl_t ttl; + dns_trust_t trust; + dns_rdatatype_t covers; + unsigned int attributes; - ISC_LINK(struct rdatasetheader) link; + ISC_LINK(struct rdatasetheader) link; } rdatasetheader_t; /* Copied from rbtdb.c */ -#define RDATASET_ATTR_NXDOMAIN 0x0010 -#define RDATASET_ATTR_NEGATIVE 0x0100 -#define NXDOMAIN(header) \ - (((header)->attributes & RDATASET_ATTR_NXDOMAIN) != 0) -#define NEGATIVE(header) \ - (((header)->attributes & RDATASET_ATTR_NEGATIVE) != 0) +#define RDATASET_ATTR_NXDOMAIN 0x0010 +#define RDATASET_ATTR_NEGATIVE 0x0100 +#define NXDOMAIN(header) (((header)->attributes & RDATASET_ATTR_NXDOMAIN) != 0) +#define NEGATIVE(header) (((header)->attributes & RDATASET_ATTR_NEGATIVE) != 0) -static isc_result_t dns_ecdb_create(isc_mem_t *mctx, const dns_name_t *origin, - dns_dbtype_t type, - dns_rdataclass_t rdclass, - unsigned int argc, char *argv[], - void *driverarg, dns_db_t **dbp); +static isc_result_t +dns_ecdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, + dns_rdataclass_t rdclass, unsigned int argc, char *argv[], + void *driverarg, dns_db_t **dbp); -static void rdataset_disassociate(dns_rdataset_t *rdataset); -static isc_result_t rdataset_first(dns_rdataset_t *rdataset); -static isc_result_t rdataset_next(dns_rdataset_t *rdataset); -static void rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata); -static void rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target); -static unsigned int rdataset_count(dns_rdataset_t *rdataset); -static void rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust); +static void +rdataset_disassociate(dns_rdataset_t *rdataset); +static isc_result_t +rdataset_first(dns_rdataset_t *rdataset); +static isc_result_t +rdataset_next(dns_rdataset_t *rdataset); +static void +rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata); +static void +rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target); +static unsigned int +rdataset_count(dns_rdataset_t *rdataset); +static void +rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust); static dns_rdatasetmethods_t rdataset_methods = { rdataset_disassociate, @@ -105,38 +108,40 @@ static dns_rdatasetmethods_t rdataset_methods = { rdataset_current, rdataset_clone, rdataset_count, - NULL, /* addnoqname */ - NULL, /* getnoqname */ - NULL, /* addclosest */ - NULL, /* getclosest */ - rdataset_settrust, /* settrust */ - NULL, /* expire */ - NULL, /* clearprefetch */ - NULL, /* setownercase */ - NULL, /* getownercase */ - NULL /* addglue */ + NULL, /* addnoqname */ + NULL, /* getnoqname */ + NULL, /* addclosest */ + NULL, /* getclosest */ + rdataset_settrust, /* settrust */ + NULL, /* expire */ + NULL, /* clearprefetch */ + NULL, /* setownercase */ + NULL, /* getownercase */ + NULL /* addglue */ }; typedef struct ecdb_rdatasetiter { - dns_rdatasetiter_t common; - rdatasetheader_t *current; + dns_rdatasetiter_t common; + rdatasetheader_t * current; } ecdb_rdatasetiter_t; -static void rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp); -static isc_result_t rdatasetiter_first(dns_rdatasetiter_t *iterator); -static isc_result_t rdatasetiter_next(dns_rdatasetiter_t *iterator); -static void rdatasetiter_current(dns_rdatasetiter_t *iterator, - dns_rdataset_t *rdataset); +static void +rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp); +static isc_result_t +rdatasetiter_first(dns_rdatasetiter_t *iterator); +static isc_result_t +rdatasetiter_next(dns_rdatasetiter_t *iterator); +static void +rdatasetiter_current(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset); static dns_rdatasetitermethods_t rdatasetiter_methods = { - rdatasetiter_destroy, - rdatasetiter_first, - rdatasetiter_next, + rdatasetiter_destroy, rdatasetiter_first, rdatasetiter_next, rdatasetiter_current }; isc_result_t -dns_ecdb_register(isc_mem_t *mctx, dns_dbimplementation_t **dbimp) { +dns_ecdb_register(isc_mem_t *mctx, dns_dbimplementation_t **dbimp) +{ REQUIRE(mctx != NULL); REQUIRE(dbimp != NULL && *dbimp == NULL); @@ -144,7 +149,8 @@ dns_ecdb_register(isc_mem_t *mctx, dns_dbimplementation_t **dbimp) { } void -dns_ecdb_unregister(dns_dbimplementation_t **dbimp) { +dns_ecdb_unregister(dns_dbimplementation_t **dbimp) +{ REQUIRE(dbimp != NULL && *dbimp != NULL); dns_db_unregister(dbimp); @@ -155,7 +161,8 @@ dns_ecdb_unregister(dns_dbimplementation_t **dbimp) { */ static void -attach(dns_db_t *source, dns_db_t **targetp) { +attach(dns_db_t *source, dns_db_t **targetp) +{ dns_ecdb_t *ecdb = (dns_ecdb_t *)source; REQUIRE(VALID_ECDB(ecdb)); @@ -167,7 +174,8 @@ attach(dns_db_t *source, dns_db_t **targetp) { } static void -destroy_ecdb(dns_ecdb_t *ecdb) { +destroy_ecdb(dns_ecdb_t *ecdb) +{ if (isc_refcount_decrement(&ecdb->references) == 1) { isc_refcount_destroy(&ecdb->references); @@ -187,7 +195,8 @@ destroy_ecdb(dns_ecdb_t *ecdb) { } static void -detach(dns_db_t **dbp) { +detach(dns_db_t **dbp) +{ dns_ecdb_t *ecdb; REQUIRE(dbp != NULL); @@ -200,8 +209,9 @@ detach(dns_db_t **dbp) { } static void -attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) { - dns_ecdb_t *ecdb = (dns_ecdb_t *)db; +attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) +{ + dns_ecdb_t * ecdb = (dns_ecdb_t *)db; dns_ecdbnode_t *node = (dns_ecdbnode_t *)source; REQUIRE(VALID_ECDB(ecdb)); @@ -215,9 +225,10 @@ attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) { } static void -destroynode(dns_ecdbnode_t *node) { - isc_mem_t *mctx; - dns_ecdb_t *ecdb = node->ecdb; +destroynode(dns_ecdbnode_t *node) +{ + isc_mem_t * mctx; + dns_ecdb_t * ecdb = node->ecdb; rdatasetheader_t *header; mctx = ecdb->common.mctx; @@ -247,8 +258,9 @@ destroynode(dns_ecdbnode_t *node) { } static void -detachnode(dns_db_t *db, dns_dbnode_t **nodep) { - dns_ecdb_t *ecdb = (dns_ecdb_t *)db; +detachnode(dns_db_t *db, dns_dbnode_t **nodep) +{ + dns_ecdb_t * ecdb = (dns_ecdb_t *)db; dns_ecdbnode_t *node; REQUIRE(VALID_ECDB(ecdb)); @@ -264,9 +276,9 @@ detachnode(dns_db_t *db, dns_dbnode_t **nodep) { static isc_result_t find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, - dns_rdatatype_t type, unsigned int options, isc_stdtime_t now, - dns_dbnode_t **nodep, dns_name_t *foundname, dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset) + dns_rdatatype_t type, unsigned int options, isc_stdtime_t now, + dns_dbnode_t **nodep, dns_name_t *foundname, dns_rdataset_t *rdataset, + dns_rdataset_t *sigrdataset) { dns_ecdb_t *ecdb = (dns_ecdb_t *)db; @@ -286,9 +298,8 @@ find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, } static isc_result_t -findzonecut(dns_db_t *db, const dns_name_t *name, - unsigned int options, isc_stdtime_t now, - dns_dbnode_t **nodep, dns_name_t *foundname, +findzonecut(dns_db_t *db, const dns_name_t *name, unsigned int options, + isc_stdtime_t now, dns_dbnode_t **nodep, dns_name_t *foundname, dns_name_t *dcname, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { @@ -312,8 +323,8 @@ static isc_result_t findnode(dns_db_t *db, const dns_name_t *name, bool create, dns_dbnode_t **nodep) { - dns_ecdb_t *ecdb = (dns_ecdb_t *)db; - isc_mem_t *mctx; + dns_ecdb_t * ecdb = (dns_ecdb_t *)db; + isc_mem_t * mctx; dns_ecdbnode_t *node; REQUIRE(VALID_ECDB(ecdb)); @@ -321,7 +332,7 @@ findnode(dns_db_t *db, const dns_name_t *name, bool create, UNUSED(name); - if (create != true) { + if (create != true) { /* an 'ephemeral' node is never reused. */ return (ISC_R_NOTFOUND); } @@ -354,8 +365,8 @@ findnode(dns_db_t *db, const dns_name_t *name, bool create, } static void -bind_rdataset(dns_ecdb_t *ecdb, dns_ecdbnode_t *node, - rdatasetheader_t *header, dns_rdataset_t *rdataset) +bind_rdataset(dns_ecdb_t *ecdb, dns_ecdbnode_t *node, rdatasetheader_t *header, + dns_rdataset_t *rdataset) { unsigned char *raw; @@ -396,11 +407,11 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, isc_stdtime_t now, dns_rdataset_t *rdataset, unsigned int options, dns_rdataset_t *addedrdataset) { - dns_ecdb_t *ecdb = (dns_ecdb_t *)db; - isc_region_t r; - isc_result_t result = ISC_R_SUCCESS; - isc_mem_t *mctx; - dns_ecdbnode_t *ecdbnode = (dns_ecdbnode_t *)node; + dns_ecdb_t * ecdb = (dns_ecdb_t *)db; + isc_region_t r; + isc_result_t result = ISC_R_SUCCESS; + isc_mem_t * mctx; + dns_ecdbnode_t * ecdbnode = (dns_ecdbnode_t *)node; rdatasetheader_t *header; REQUIRE(VALID_ECDB(ecdb)); @@ -424,8 +435,8 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, header->covers != rdataset->covers); } - result = dns_rdataslab_fromrdataset(rdataset, mctx, - &r, sizeof(rdatasetheader_t)); + result = dns_rdataslab_fromrdataset(rdataset, mctx, &r, + sizeof(rdatasetheader_t)); if (result != ISC_R_SUCCESS) goto unlock; @@ -447,7 +458,7 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, bind_rdataset(ecdb, ecdbnode, header, addedrdataset); - unlock: +unlock: UNLOCK(&ecdbnode->lock); return (result); @@ -467,8 +478,7 @@ deleterdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, } static isc_result_t -createiterator(dns_db_t *db, unsigned int options, - dns_dbiterator_t **iteratorp) +createiterator(dns_db_t *db, unsigned int options, dns_dbiterator_t **iteratorp) { UNUSED(db); UNUSED(options); @@ -481,9 +491,9 @@ static isc_result_t allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, isc_stdtime_t now, dns_rdatasetiter_t **iteratorp) { - dns_ecdb_t *ecdb = (dns_ecdb_t *)db; - dns_ecdbnode_t *ecdbnode = (dns_ecdbnode_t *)node; - isc_mem_t *mctx; + dns_ecdb_t * ecdb = (dns_ecdb_t *)db; + dns_ecdbnode_t * ecdbnode = (dns_ecdbnode_t *)node; + isc_mem_t * mctx; ecdb_rdatasetiter_t *iterator; REQUIRE(VALID_ECDB(ecdb)); @@ -509,52 +519,52 @@ allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, static dns_dbmethods_t ecdb_methods = { attach, detach, - NULL, /* beginload */ - NULL, /* endload */ - NULL, /* serialize */ - NULL, /* dump */ - NULL, /* currentversion */ - NULL, /* newversion */ - NULL, /* attachversion */ - NULL, /* closeversion */ + NULL, /* beginload */ + NULL, /* endload */ + NULL, /* serialize */ + NULL, /* dump */ + NULL, /* currentversion */ + NULL, /* newversion */ + NULL, /* attachversion */ + NULL, /* closeversion */ findnode, find, findzonecut, attachnode, detachnode, - NULL, /* expirenode */ - NULL, /* printnode */ - createiterator, /* createiterator */ - NULL, /* findrdataset */ + NULL, /* expirenode */ + NULL, /* printnode */ + createiterator, /* createiterator */ + NULL, /* findrdataset */ allrdatasets, addrdataset, - NULL, /* subtractrdataset */ + NULL, /* subtractrdataset */ deleterdataset, - NULL, /* issecure */ - NULL, /* nodecount */ - NULL, /* ispersistent */ - NULL, /* overmem */ - NULL, /* settask */ - NULL, /* getoriginnode */ - NULL, /* transfernode */ - NULL, /* getnsec3parameters */ - NULL, /* findnsec3node */ - NULL, /* setsigningtime */ - NULL, /* getsigningtime */ - NULL, /* resigned */ - NULL, /* isdnssec */ - NULL, /* getrrsetstats */ - NULL, /* rpz_attach */ - NULL, /* rpz_ready */ - NULL, /* findnodeext */ - NULL, /* findext */ - NULL, /* setcachestats */ - NULL, /* hashsize */ - NULL, /* nodefullname */ - NULL, /* getsize */ - NULL, /* setservestalettl */ - NULL, /* getservestalettl */ - NULL /* setgluecachestats */ + NULL, /* issecure */ + NULL, /* nodecount */ + NULL, /* ispersistent */ + NULL, /* overmem */ + NULL, /* settask */ + NULL, /* getoriginnode */ + NULL, /* transfernode */ + NULL, /* getnsec3parameters */ + NULL, /* findnsec3node */ + NULL, /* setsigningtime */ + NULL, /* getsigningtime */ + NULL, /* resigned */ + NULL, /* isdnssec */ + NULL, /* getrrsetstats */ + NULL, /* rpz_attach */ + NULL, /* rpz_ready */ + NULL, /* findnodeext */ + NULL, /* findext */ + NULL, /* setcachestats */ + NULL, /* hashsize */ + NULL, /* nodefullname */ + NULL, /* getsize */ + NULL, /* setservestalettl */ + NULL, /* getservestalettl */ + NULL /* setgluecachestats */ }; static isc_result_t @@ -562,7 +572,7 @@ dns_ecdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, dns_rdataclass_t rdclass, unsigned int argc, char *argv[], void *driverarg, dns_db_t **dbp) { - dns_ecdb_t *ecdb; + dns_ecdb_t * ecdb; isc_result_t result; REQUIRE(mctx != NULL); @@ -606,17 +616,19 @@ dns_ecdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, */ static void -rdataset_disassociate(dns_rdataset_t *rdataset) { - dns_db_t *db = rdataset->private1; +rdataset_disassociate(dns_rdataset_t *rdataset) +{ + dns_db_t * db = rdataset->private1; dns_dbnode_t *node = rdataset->private2; dns_db_detachnode(db, &node); } static isc_result_t -rdataset_first(dns_rdataset_t *rdataset) { +rdataset_first(dns_rdataset_t *rdataset) +{ unsigned char *raw = rdataset->private3; - unsigned int count; + unsigned int count; count = raw[0] * 256 + raw[1]; if (count == 0) { @@ -641,9 +653,10 @@ rdataset_first(dns_rdataset_t *rdataset) { } static isc_result_t -rdataset_next(dns_rdataset_t *rdataset) { - unsigned int count; - unsigned int length; +rdataset_next(dns_rdataset_t *rdataset) +{ + unsigned int count; + unsigned int length; unsigned char *raw; count = rdataset->privateuint4; @@ -664,11 +677,12 @@ rdataset_next(dns_rdataset_t *rdataset) { } static void -rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) { +rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) +{ unsigned char *raw = rdataset->private5; - isc_region_t r; - unsigned int length; - unsigned int flags = 0; + isc_region_t r; + unsigned int length; + unsigned int flags = 0; REQUIRE(raw != NULL); @@ -691,8 +705,9 @@ rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) { } static void -rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) { - dns_db_t *db = source->private1; +rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) +{ + dns_db_t * db = source->private1; dns_dbnode_t *node = source->private2; dns_dbnode_t *cloned_node = NULL; @@ -707,9 +722,10 @@ rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) { } static unsigned int -rdataset_count(dns_rdataset_t *rdataset) { +rdataset_count(dns_rdataset_t *rdataset) +{ unsigned char *raw = rdataset->private3; - unsigned int count; + unsigned int count; count = raw[0] * 256 + raw[1]; @@ -717,7 +733,8 @@ rdataset_count(dns_rdataset_t *rdataset) { } static void -rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust) { +rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust) +{ rdatasetheader_t *header = rdataset->private3; header--; @@ -729,10 +746,11 @@ rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust) { */ static void -rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) { +rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) +{ isc_mem_t *mctx; union { - dns_rdatasetiter_t *rdatasetiterator; + dns_rdatasetiter_t * rdatasetiterator; ecdb_rdatasetiter_t *ecdbiterator; } u; @@ -747,16 +765,16 @@ rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) { dns_db_detachnode(u.ecdbiterator->common.db, &u.ecdbiterator->common.node); - isc_mem_put(mctx, u.ecdbiterator, - sizeof(ecdb_rdatasetiter_t)); + isc_mem_put(mctx, u.ecdbiterator, sizeof(ecdb_rdatasetiter_t)); } static isc_result_t -rdatasetiter_first(dns_rdatasetiter_t *iterator) { +rdatasetiter_first(dns_rdatasetiter_t *iterator) +{ REQUIRE(DNS_RDATASETITER_VALID(iterator)); ecdb_rdatasetiter_t *ecdbiterator = (ecdb_rdatasetiter_t *)iterator; - dns_ecdbnode_t *ecdbnode = (dns_ecdbnode_t *)iterator->node; + dns_ecdbnode_t * ecdbnode = (dns_ecdbnode_t *)iterator->node; if (ISC_LIST_EMPTY(ecdbnode->rdatasets)) { return (ISC_R_NOMORE); @@ -766,7 +784,8 @@ rdatasetiter_first(dns_rdatasetiter_t *iterator) { } static isc_result_t -rdatasetiter_next(dns_rdatasetiter_t *iterator) { +rdatasetiter_next(dns_rdatasetiter_t *iterator) +{ REQUIRE(DNS_RDATASETITER_VALID(iterator)); ecdb_rdatasetiter_t *ecdbiterator = (ecdb_rdatasetiter_t *)iterator; @@ -780,9 +799,10 @@ rdatasetiter_next(dns_rdatasetiter_t *iterator) { } static void -rdatasetiter_current(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset) { +rdatasetiter_current(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset) +{ ecdb_rdatasetiter_t *ecdbiterator = (ecdb_rdatasetiter_t *)iterator; - dns_ecdb_t *ecdb; + dns_ecdb_t * ecdb; ecdb = (dns_ecdb_t *)iterator->db; REQUIRE(VALID_ECDB(ecdb)); diff --git a/lib/dns/ecs.c b/lib/dns/ecs.c index 1b75eb37f5..2b5ebeed73 100644 --- a/lib/dns/ecs.c +++ b/lib/dns/ecs.c @@ -21,7 +21,8 @@ #include void -dns_ecs_init(dns_ecs_t *ecs) { +dns_ecs_init(dns_ecs_t *ecs) +{ isc_netaddr_unspec(&ecs->addr); ecs->source = 0; /* @@ -32,7 +33,8 @@ dns_ecs_init(dns_ecs_t *ecs) { } void -dns_ecs_format(dns_ecs_t *ecs, char *buf, size_t size) { +dns_ecs_format(dns_ecs_t *ecs, char *buf, size_t size) +{ size_t len; REQUIRE(ecs != NULL); diff --git a/lib/dns/fixedname.c b/lib/dns/fixedname.c index 6513458576..782a3b4918 100644 --- a/lib/dns/fixedname.c +++ b/lib/dns/fixedname.c @@ -14,24 +14,28 @@ #include void -dns_fixedname_init(dns_fixedname_t *fixed) { +dns_fixedname_init(dns_fixedname_t *fixed) +{ dns_name_init(&fixed->name, fixed->offsets); isc_buffer_init(&fixed->buffer, fixed->data, DNS_NAME_MAXWIRE); dns_name_setbuffer(&fixed->name, &fixed->buffer); } void -dns_fixedname_invalidate(dns_fixedname_t *fixed) { +dns_fixedname_invalidate(dns_fixedname_t *fixed) +{ dns_name_invalidate(&fixed->name); } dns_name_t * -dns_fixedname_name(dns_fixedname_t *fixed) { +dns_fixedname_name(dns_fixedname_t *fixed) +{ return (&fixed->name); } dns_name_t * -dns_fixedname_initname(dns_fixedname_t *fixed) { +dns_fixedname_initname(dns_fixedname_t *fixed) +{ dns_fixedname_init(fixed); return (dns_fixedname_name(fixed)); } diff --git a/lib/dns/forward.c b/lib/dns/forward.c index c42cf73c38..82c4a87d79 100644 --- a/lib/dns/forward.c +++ b/lib/dns/forward.c @@ -23,23 +23,24 @@ struct dns_fwdtable { /* Unlocked. */ - unsigned int magic; - isc_mem_t *mctx; - isc_rwlock_t rwlock; + unsigned int magic; + isc_mem_t * mctx; + isc_rwlock_t rwlock; /* Locked by lock. */ - dns_rbt_t *table; + dns_rbt_t *table; }; -#define FWDTABLEMAGIC ISC_MAGIC('F', 'w', 'd', 'T') -#define VALID_FWDTABLE(ft) ISC_MAGIC_VALID(ft, FWDTABLEMAGIC) +#define FWDTABLEMAGIC ISC_MAGIC('F', 'w', 'd', 'T') +#define VALID_FWDTABLE(ft) ISC_MAGIC_VALID(ft, FWDTABLEMAGIC) static void auto_detach(void *, void *); isc_result_t -dns_fwdtable_create(isc_mem_t *mctx, dns_fwdtable_t **fwdtablep) { +dns_fwdtable_create(isc_mem_t *mctx, dns_fwdtable_t **fwdtablep) +{ dns_fwdtable_t *fwdtable; - isc_result_t result; + isc_result_t result; REQUIRE(fwdtablep != NULL && *fwdtablep == NULL); @@ -61,10 +62,10 @@ dns_fwdtable_create(isc_mem_t *mctx, dns_fwdtable_t **fwdtablep) { return (ISC_R_SUCCESS); - cleanup_rbt: +cleanup_rbt: dns_rbt_destroy(&fwdtable->table); - cleanup_fwdtable: +cleanup_fwdtable: isc_mem_put(mctx, fwdtable, sizeof(dns_fwdtable_t)); return (result); @@ -74,19 +75,17 @@ isc_result_t dns_fwdtable_addfwd(dns_fwdtable_t *fwdtable, const dns_name_t *name, dns_forwarderlist_t *fwdrs, dns_fwdpolicy_t fwdpolicy) { - isc_result_t result; + isc_result_t result; dns_forwarders_t *forwarders; - dns_forwarder_t *fwd, *nfwd; + dns_forwarder_t * fwd, *nfwd; REQUIRE(VALID_FWDTABLE(fwdtable)); forwarders = isc_mem_get(fwdtable->mctx, sizeof(dns_forwarders_t)); ISC_LIST_INIT(forwarders->fwdrs); - for (fwd = ISC_LIST_HEAD(*fwdrs); - fwd != NULL; - fwd = ISC_LIST_NEXT(fwd, link)) - { + for (fwd = ISC_LIST_HEAD(*fwdrs); fwd != NULL; + fwd = ISC_LIST_NEXT(fwd, link)) { nfwd = isc_mem_get(fwdtable->mctx, sizeof(dns_forwarder_t)); *nfwd = *fwd; ISC_LINK_INIT(nfwd, link); @@ -103,7 +102,7 @@ dns_fwdtable_addfwd(dns_fwdtable_t *fwdtable, const dns_name_t *name, return (ISC_R_SUCCESS); - cleanup: +cleanup: while (!ISC_LIST_EMPTY(forwarders->fwdrs)) { fwd = ISC_LIST_HEAD(forwarders->fwdrs); ISC_LIST_UNLINK(forwarders->fwdrs, fwd, link); @@ -117,20 +116,18 @@ isc_result_t dns_fwdtable_add(dns_fwdtable_t *fwdtable, const dns_name_t *name, isc_sockaddrlist_t *addrs, dns_fwdpolicy_t fwdpolicy) { - isc_result_t result; + isc_result_t result; dns_forwarders_t *forwarders; - dns_forwarder_t *fwd; - isc_sockaddr_t *sa; + dns_forwarder_t * fwd; + isc_sockaddr_t * sa; REQUIRE(VALID_FWDTABLE(fwdtable)); forwarders = isc_mem_get(fwdtable->mctx, sizeof(dns_forwarders_t)); ISC_LIST_INIT(forwarders->fwdrs); - for (sa = ISC_LIST_HEAD(*addrs); - sa != NULL; - sa = ISC_LIST_NEXT(sa, link)) - { + for (sa = ISC_LIST_HEAD(*addrs); sa != NULL; + sa = ISC_LIST_NEXT(sa, link)) { fwd = isc_mem_get(fwdtable->mctx, sizeof(dns_forwarder_t)); fwd->addr = *sa; fwd->dscp = -1; @@ -148,7 +145,7 @@ dns_fwdtable_add(dns_fwdtable_t *fwdtable, const dns_name_t *name, return (ISC_R_SUCCESS); - cleanup: +cleanup: while (!ISC_LIST_EMPTY(forwarders->fwdrs)) { fwd = ISC_LIST_HEAD(forwarders->fwdrs); ISC_LIST_UNLINK(forwarders->fwdrs, fwd, link); @@ -159,7 +156,8 @@ dns_fwdtable_add(dns_fwdtable_t *fwdtable, const dns_name_t *name, } isc_result_t -dns_fwdtable_delete(dns_fwdtable_t *fwdtable, const dns_name_t *name) { +dns_fwdtable_delete(dns_fwdtable_t *fwdtable, const dns_name_t *name) +{ isc_result_t result; REQUIRE(VALID_FWDTABLE(fwdtable)); @@ -195,7 +193,8 @@ dns_fwdtable_find(dns_fwdtable_t *fwdtable, const dns_name_t *name, } void -dns_fwdtable_destroy(dns_fwdtable_t **fwdtablep) { +dns_fwdtable_destroy(dns_fwdtable_t **fwdtablep) +{ dns_fwdtable_t *fwdtable; REQUIRE(fwdtablep != NULL && VALID_FWDTABLE(*fwdtablep)); @@ -215,10 +214,11 @@ dns_fwdtable_destroy(dns_fwdtable_t **fwdtablep) { ***/ static void -auto_detach(void *data, void *arg) { +auto_detach(void *data, void *arg) +{ dns_forwarders_t *forwarders = data; - dns_fwdtable_t *fwdtable = arg; - dns_forwarder_t *fwd; + dns_fwdtable_t * fwdtable = arg; + dns_forwarder_t * fwd; UNUSED(arg); diff --git a/lib/dns/gen-unix.h b/lib/dns/gen-unix.h index 16b7524130..2d621105a8 100644 --- a/lib/dns/gen-unix.h +++ b/lib/dns/gen-unix.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file * \brief * This file is responsible for defining two operations that are not @@ -26,43 +25,44 @@ #ifndef DNS_GEN_UNIX_H #define DNS_GEN_UNIX_H 1 -#include /* Required on some systems for dirent.h. */ - -#include #include +#include #include #include -#include /* XXXDCL Required for ?. */ +#include /* XXXDCL Required for ?. */ #include +#include /* Required on some systems for dirent.h. */ + #ifdef NEED_OPTARG extern char *optarg; #endif -#define isc_commandline_parse getopt -#define isc_commandline_argument optarg +#define isc_commandline_parse getopt +#define isc_commandline_argument optarg typedef struct { - DIR *handle; + DIR * handle; char *filename; } isc_dir_t; ISC_LANG_BEGINDECLS static bool -start_directory(const char *path, isc_dir_t *dir) { +start_directory(const char *path, isc_dir_t *dir) +{ dir->handle = opendir(path); if (dir->handle != NULL) return (true); else return (false); - } static bool -next_file(isc_dir_t *dir) { +next_file(isc_dir_t *dir) +{ struct dirent *dirent; dir->filename = NULL; @@ -86,7 +86,8 @@ next_file(isc_dir_t *dir) { } static void -end_directory(isc_dir_t *dir) { +end_directory(isc_dir_t *dir) +{ if (dir->handle != NULL) (void)closedir(dir->handle); diff --git a/lib/dns/gen-win32.h b/lib/dns/gen-win32.h index 4791032650..74c3b6bf20 100644 --- a/lib/dns/gen-win32.h +++ b/lib/dns/gen-win32.h @@ -66,18 +66,18 @@ #include -int isc_commandline_index = 1; /* Index into parent argv vector. */ -int isc_commandline_option; /* Character checked for validity. */ +int isc_commandline_index = 1; /* Index into parent argv vector. */ +int isc_commandline_option; /* Character checked for validity. */ -char *isc_commandline_argument; /* Argument associated with option. */ -char *isc_commandline_progname; /* For printing error messages. */ +char *isc_commandline_argument; /* Argument associated with option. */ +char *isc_commandline_progname; /* For printing error messages. */ bool isc_commandline_errprint = true; /* Print error messages. */ -bool isc_commandline_reset = true; /* Reset processing. */ +bool isc_commandline_reset = true; /* Reset processing. */ -#define BADOPT '?' -#define BADARG ':' -#define ENDOPT "" +#define BADOPT '?' +#define BADARG ':' +#define ENDOPT "" ISC_LANG_BEGINDECLS @@ -86,9 +86,10 @@ ISC_LANG_BEGINDECLS * Parse argc/argv argument vector. */ int -isc_commandline_parse(int argc, char * const *argv, const char *options) { +isc_commandline_parse(int argc, char *const *argv, const char *options) +{ static char *place = ENDOPT; - char *option; /* Index into *options of option. */ + char * option; /* Index into *options of option. */ /* * Update scanning pointer, either because a reset was requested or @@ -183,9 +184,10 @@ isc_commandline_parse(int argc, char * const *argv, const char *options) { if (isc_commandline_errprint) fprintf(stderr, - "%s: option requires an argument -- %c\n", - isc_commandline_progname, - isc_commandline_option); + "%s: option requires an argument -- " + "%c\n", + isc_commandline_progname, + isc_commandline_option); return (BADOPT); } @@ -202,14 +204,15 @@ isc_commandline_parse(int argc, char * const *argv, const char *options) { } typedef struct { - HANDLE handle; - WIN32_FIND_DATA find_data; - bool first_file; - char *filename; + HANDLE handle; + WIN32_FIND_DATA find_data; + bool first_file; + char * filename; } isc_dir_t; bool -start_directory(const char *path, isc_dir_t *dir) { +start_directory(const char *path, isc_dir_t *dir) +{ char pattern[_MAX_PATH], *p; /* @@ -224,7 +227,7 @@ start_directory(const char *path, isc_dir_t *dir) { * Append slash (if needed) and splat. */ p = pattern + strlen(pattern); - if (p != pattern && p[-1] != '\\' && p[-1] != ':') + if (p != pattern && p[-1] != '\\' && p[-1] != ':') *p++ = '\\'; *p++ = '*'; *p++ = '\0'; @@ -243,7 +246,8 @@ start_directory(const char *path, isc_dir_t *dir) { } bool -next_file(isc_dir_t *dir) { +next_file(isc_dir_t *dir) +{ if (dir->first_file) dir->first_file = false; @@ -263,7 +267,8 @@ next_file(isc_dir_t *dir) { } void -end_directory(isc_dir_t *dir) { +end_directory(isc_dir_t *dir) +{ if (dir->handle != INVALID_HANDLE_VALUE) FindClose(dir->handle); } diff --git a/lib/dns/gen.c b/lib/dns/gen.c index 51d2176a0e..e2a570661c 100644 --- a/lib/dns/gen.c +++ b/lib/dns/gen.c @@ -24,8 +24,6 @@ #endif #endif -#include - #include #include #include @@ -35,6 +33,8 @@ #include #include +#include + #ifndef PATH_MAX #define PATH_MAX 1024 #endif @@ -49,11 +49,11 @@ #define ULLONG_MAX (~0ULL) #endif -#define INSIST(cond) \ - if (!(cond)) { \ - fprintf(stderr, "%s:%d: INSIST(%s)\n", \ - __FILE__, __LINE__, #cond); \ - abort(); \ +#define INSIST(cond) \ + if (!(cond)) { \ + fprintf(stderr, "%s:%d: INSIST(%s)\n", __FILE__, __LINE__, \ + #cond); \ + abort(); \ } #define FROMTEXTARGS "rdclass, type, lexer, origin, options, target, callbacks" @@ -116,55 +116,59 @@ #define CHECKNAMESTYPE "rdata->type" #define CHECKNAMESDEF "result = true" -static const char copyright[] = -"/*\n" -" * Copyright (C) 1998%s Internet Systems Consortium, Inc. (\"ISC\")\n" -" *\n" -" * This Source Code Form is subject to the terms of the Mozilla Public\n" -" * License, v. 2.0. If a copy of the MPL was not distributed with this\n" -" * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n" -" */\n" -"\n" -"/***************\n" -" ***************\n" -" *************** THIS FILE IS AUTOMATICALLY GENERATED BY gen.c.\n" -" *************** DO NOT EDIT!\n" -" ***************\n" -" ***************/\n" -"\n" -"/*! \\file */\n" -"\n"; +static const char copyright[] = "/*\n" + " * Copyright (C) 1998%s Internet Systems " + "Consortium, Inc. (\"ISC\")\n" + " *\n" + " * This Source Code Form is subject to the " + "terms of the Mozilla Public\n" + " * License, v. 2.0. If a copy of the MPL was " + "not distributed with this\n" + " * file, You can obtain one at " + "http://mozilla.org/MPL/2.0/.\n" + " */\n" + "\n" + "/***************\n" + " ***************\n" + " *************** THIS FILE IS AUTOMATICALLY " + "GENERATED BY gen.c.\n" + " *************** DO NOT EDIT!\n" + " ***************\n" + " ***************/\n" + "\n" + "/*! \\file */\n" + "\n"; #define STR_EXPAND(tok) #tok #define STR(tok) STR_EXPAND(tok) #define TYPENAMES 256 -#define TYPECLASSLEN 20 /* DNS mnemonic size. Must be less than 100. */ +#define TYPECLASSLEN 20 /* DNS mnemonic size. Must be less than 100. */ #define TYPECLASSBUF (TYPECLASSLEN + 1) #define TYPECLASSFMT "%" STR(TYPECLASSLEN) "[-0-9a-z]_%d" #define ATTRIBUTESIZE 256 static struct cc { struct cc *next; - int rdclass; - char classbuf[TYPECLASSBUF]; -} *classes; + int rdclass; + char classbuf[TYPECLASSBUF]; +} * classes; static struct tt { struct tt *next; - uint16_t rdclass; - uint16_t type; - char classbuf[TYPECLASSBUF]; - char typebuf[TYPECLASSBUF]; - char dirbuf[PATH_MAX-30]; -} *types; + uint16_t rdclass; + uint16_t type; + char classbuf[TYPECLASSBUF]; + char typebuf[TYPECLASSBUF]; + char dirbuf[PATH_MAX - 30]; +} * types; static struct ttnam { - char typebuf[TYPECLASSBUF]; - char macroname[TYPECLASSBUF]; - char attr[ATTRIBUTESIZE]; + char typebuf[TYPECLASSBUF]; + char macroname[TYPECLASSBUF]; + char attr[ATTRIBUTESIZE]; unsigned int sorted; - uint16_t type; + uint16_t type; } typenames[TYPENAMES]; static int maxtype = -1; @@ -174,8 +178,8 @@ upper(char *); static char * funname(const char *, char *); static void -doswitch(const char *, const char *, const char *, const char *, - const char *, const char *); +doswitch(const char *, const char *, const char *, const char *, const char *, + const char *); static void add(int, const char *, int, const char *, const char *); static void @@ -187,11 +191,12 @@ insert_into_typenames(int, const char *, const char *); * If you use more than 10 of these in, say, a printf(), you'll have problems. */ static char * -upper(char *s) { - static int buf_to_use = 0; +upper(char *s) +{ + static int buf_to_use = 0; static char buf[10][256]; - char *b; - int c; + char * b; + int c; buf_to_use++; if (buf_to_use > 9) @@ -207,9 +212,10 @@ upper(char *s) { } static char * -funname(const char *s, char *buf) { +funname(const char *s, char *buf) +{ char *b = buf; - char c; + char c; INSIST(strlen(s) < TYPECLASSBUF); while ((c = *s++)) { @@ -223,11 +229,11 @@ static void doswitch(const char *name, const char *function, const char *args, const char *tsw, const char *csw, const char *res) { - struct tt *tt; - int first = 1; - int lasttype = 0; - int subswitch = 0; - char buf1[TYPECLASSBUF], buf2[TYPECLASSBUF]; + struct tt * tt; + int first = 1; + int lasttype = 0; + int subswitch = 0; + char buf1[TYPECLASSBUF], buf2[TYPECLASSBUF]; const char *result = " result ="; if (res == NULL) @@ -243,8 +249,8 @@ doswitch(const char *name, const char *function, const char *args, if (res == NULL) fprintf(stdout, "\t\tdefault: break; \\\n"); else - fprintf(stdout, - "\t\tdefault: %s; break; \\\n", res); + fprintf(stdout, "\t\tdefault: %s; break; \\\n", + res); fputs(/*{*/ "\t\t} \\\n", stdout); fputs("\t\tbreak; \\\n", stdout); subswitch = 0; @@ -255,13 +261,11 @@ doswitch(const char *name, const char *function, const char *args, subswitch = 1; } if (tt->rdclass == 0) - fprintf(stdout, - "\tcase %d:%s %s_%s(%s); break;", + fprintf(stdout, "\tcase %d:%s %s_%s(%s); break;", tt->type, result, function, funname(tt->typebuf, buf1), args); else - fprintf(stdout, - "\t\tcase %d:%s %s_%s_%s(%s); break;", + fprintf(stdout, "\t\tcase %d:%s %s_%s_%s(%s); break;", tt->rdclass, result, function, funname(tt->classbuf, buf1), funname(tt->typebuf, buf2), args); @@ -291,13 +295,12 @@ doswitch(const char *name, const char *function, const char *args, } static struct ttnam * -find_typename(int type) { +find_typename(int type) +{ int i; for (i = 0; i < TYPENAMES; i++) { - if (typenames[i].typebuf[0] != 0 && - typenames[i].type == type) - { + if (typenames[i].typebuf[0] != 0 && typenames[i].type == type) { return (&typenames[i]); } } @@ -305,21 +308,20 @@ find_typename(int type) { } static void -insert_into_typenames(int type, const char *typebuf, const char *attr) { +insert_into_typenames(int type, const char *typebuf, const char *attr) +{ struct ttnam *ttn = NULL; - size_t c; - int i, n; - char tmp[256]; + size_t c; + int i, n; + char tmp[256]; INSIST(strlen(typebuf) < TYPECLASSBUF); for (i = 0; i < TYPENAMES; i++) { - if (typenames[i].typebuf[0] != 0 && - typenames[i].type == type && - strcmp(typebuf, typenames[i].typebuf) != 0) - { + if (typenames[i].typebuf[0] != 0 && typenames[i].type == type && + strcmp(typebuf, typenames[i].typebuf) != 0) { fprintf(stderr, - "Error: type %d has two names: %s, %s\n", - type, typenames[i].typebuf, typebuf); + "Error: type %d has two names: %s, %s\n", type, + typenames[i].typebuf, typebuf); exit(1); } if (typenames[i].typebuf[0] == 0 && ttn == NULL) { @@ -333,8 +335,7 @@ insert_into_typenames(int type, const char *typebuf, const char *attr) { /* XXXMUKS: This is redundant due to the INSIST above. */ if (strlen(typebuf) > sizeof(ttn->typebuf) - 1) { - fprintf(stderr, "Error: type name %s is too long\n", - typebuf); + fprintf(stderr, "Error: type name %s is too long\n", typebuf); exit(1); } @@ -354,15 +355,17 @@ insert_into_typenames(int type, const char *typebuf, const char *attr) { } if (attr == NULL) { - n = snprintf(tmp, sizeof(tmp), - "RRTYPE_%s_ATTRIBUTES", upper(ttn->macroname)); + n = snprintf(tmp, sizeof(tmp), "RRTYPE_%s_ATTRIBUTES", + upper(ttn->macroname)); INSIST(n > 0 && (unsigned)n < sizeof(tmp)); attr = tmp; } if (ttn->attr[0] != 0 && strcmp(attr, ttn->attr) != 0) { - fprintf(stderr, "Error: type %d has different attributes: " - "%s, %s\n", type, ttn->attr, attr); + fprintf(stderr, + "Error: type %d has different attributes: " + "%s, %s\n", + type, ttn->attr, attr); exit(1); } @@ -481,10 +484,11 @@ add(int rdclass, const char *classbuf, int type, const char *typebuf, } static void -sd(int rdclass, const char *classbuf, const char *dirbuf, char filetype) { - char buf[TYPECLASSLEN + sizeof("_65535.h")]; - char typebuf[TYPECLASSBUF]; - int type, n; +sd(int rdclass, const char *classbuf, const char *dirbuf, char filetype) +{ + char buf[TYPECLASSLEN + sizeof("_65535.h")]; + char typebuf[TYPECLASSBUF]; + int type, n; isc_dir_t dir; if (!start_directory(dirbuf, &dir)) { @@ -499,8 +503,8 @@ sd(int rdclass, const char *classbuf, const char *dirbuf, char filetype) { continue; } - n = snprintf(buf, sizeof(buf), "%s_%d.%c", typebuf, - type, filetype); + n = snprintf(buf, sizeof(buf), "%s_%d.%c", typebuf, type, + filetype); INSIST(n > 0 && (unsigned)n < sizeof(buf)); if (strcmp(buf, dir.filename) != 0) { continue; @@ -512,8 +516,9 @@ sd(int rdclass, const char *classbuf, const char *dirbuf, char filetype) { } static unsigned int -HASH(char *string) { - size_t n; +HASH(char *string) +{ + size_t n; unsigned char a, b; n = strlen(string); @@ -528,34 +533,35 @@ HASH(char *string) { } int -main(int argc, char **argv) { - char buf[PATH_MAX]; - char srcdir[PATH_MAX]; - int rdclass; - char classbuf[TYPECLASSBUF]; - struct tt *tt; - struct cc *cc; - struct ttnam *ttn, *ttn2; - unsigned int hash; - time_t now; - char year[11]; - int lasttype; - int code = 1; - int class_enum = 0; - int type_enum = 0; - int structs = 0; - int depend = 0; - int c, i, j, n; - char buf1[TYPECLASSBUF]; - char filetype = 'c'; - FILE *fd; - char *prefix = NULL; - char *suffix = NULL; - char *file = NULL; - char *source_date_epoch; +main(int argc, char **argv) +{ + char buf[PATH_MAX]; + char srcdir[PATH_MAX]; + int rdclass; + char classbuf[TYPECLASSBUF]; + struct tt * tt; + struct cc * cc; + struct ttnam * ttn, *ttn2; + unsigned int hash; + time_t now; + char year[11]; + int lasttype; + int code = 1; + int class_enum = 0; + int type_enum = 0; + int structs = 0; + int depend = 0; + int c, i, j, n; + char buf1[TYPECLASSBUF]; + char filetype = 'c'; + FILE * fd; + char * prefix = NULL; + char * suffix = NULL; + char * file = NULL; + char * source_date_epoch; unsigned long long epoch; - char *endptr; - isc_dir_t dir; + char * endptr; + isc_dir_t dir; for (i = 0; i < TYPENAMES; i++) memset(&typenames[i], 0, sizeof(typenames[i])); @@ -597,9 +603,8 @@ main(int argc, char **argv) { break; case 's': if (strlen(isc_commandline_argument) > - PATH_MAX - 2 * TYPECLASSLEN - - sizeof("/rdata/_65535_65535")) - { + PATH_MAX - 2 * TYPECLASSLEN - + sizeof("/rdata/_65535_65535")) { fprintf(stderr, "\"%s\" too long\n", isc_commandline_argument); exit(1); @@ -629,17 +634,16 @@ main(int argc, char **argv) { } while (next_file(&dir)) { - if (sscanf(dir.filename, TYPECLASSFMT, classbuf, - &rdclass) != 2) - { + if (sscanf(dir.filename, TYPECLASSFMT, classbuf, &rdclass) != + 2) { continue; } if ((rdclass > 65535) || (rdclass < 0)) { continue; } - n = snprintf(buf, sizeof(buf), "%srdata/%s_%d", - srcdir, classbuf, rdclass); + n = snprintf(buf, sizeof(buf), "%srdata/%s_%d", srcdir, + classbuf, rdclass); INSIST(n > 0 && (unsigned)n < sizeof(buf)); if (strcmp(buf + 6 + strlen(srcdir), dir.filename) != 0) { continue; @@ -655,33 +659,37 @@ main(int argc, char **argv) { if (source_date_epoch) { errno = 0; epoch = strtoull(source_date_epoch, &endptr, 10); - if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) - || (errno != 0 && epoch == 0)) { - fprintf(stderr, "Environment variable " + if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) || + (errno != 0 && epoch == 0)) { + fprintf(stderr, + "Environment variable " "$SOURCE_DATE_EPOCH: strtoull: %s\n", strerror(errno)); - exit (EXIT_FAILURE); + exit(EXIT_FAILURE); } if (endptr == source_date_epoch) { - fprintf(stderr, "Environment variable " + fprintf(stderr, + "Environment variable " "$SOURCE_DATE_EPOCH: " "No digits were found: %s\n", endptr); - exit (EXIT_FAILURE); + exit(EXIT_FAILURE); } if (*endptr != '\0') { - fprintf(stderr, "Environment variable " + fprintf(stderr, + "Environment variable " "$SOURCE_DATE_EPOCH: Trailing garbage: %s\n", endptr); - exit (EXIT_FAILURE); + exit(EXIT_FAILURE); } if (epoch > ULONG_MAX) { - fprintf(stderr, "Environment variable " + fprintf(stderr, + "Environment variable " "$SOURCE_DATE_EPOCH: value must be " "smaller than or equal to: %lu but " "was found to be: %llu \n", ULONG_MAX, epoch); - exit (EXIT_FAILURE); + exit(EXIT_FAILURE); } now = epoch; } else { @@ -714,42 +722,39 @@ main(int argc, char **argv) { fputs("#include \n\n", stdout); for (tt = types; tt != NULL; tt = tt->next) { - fprintf(stdout, "#include \"%s/%s_%d.c\"\n", - tt->dirbuf, tt->typebuf, tt->type); + fprintf(stdout, "#include \"%s/%s_%d.c\"\n", tt->dirbuf, + tt->typebuf, tt->type); } fputs("\n\n", stdout); doswitch("FROMTEXTSWITCH", "fromtext", FROMTEXTARGS, FROMTEXTTYPE, FROMTEXTCLASS, FROMTEXTDEF); - doswitch("TOTEXTSWITCH", "totext", TOTEXTARGS, - TOTEXTTYPE, TOTEXTCLASS, TOTEXTDEF); + doswitch("TOTEXTSWITCH", "totext", TOTEXTARGS, TOTEXTTYPE, + TOTEXTCLASS, TOTEXTDEF); doswitch("FROMWIRESWITCH", "fromwire", FROMWIREARGS, FROMWIRETYPE, FROMWIRECLASS, FROMWIREDEF); - doswitch("TOWIRESWITCH", "towire", TOWIREARGS, - TOWIRETYPE, TOWIRECLASS, TOWIREDEF); - doswitch("COMPARESWITCH", "compare", COMPAREARGS, - COMPARETYPE, COMPARECLASS, COMPAREDEF); + doswitch("TOWIRESWITCH", "towire", TOWIREARGS, TOWIRETYPE, + TOWIRECLASS, TOWIREDEF); + doswitch("COMPARESWITCH", "compare", COMPAREARGS, COMPARETYPE, + COMPARECLASS, COMPAREDEF); doswitch("CASECOMPARESWITCH", "casecompare", COMPAREARGS, - COMPARETYPE, COMPARECLASS, COMPAREDEF); + COMPARETYPE, COMPARECLASS, COMPAREDEF); doswitch("FROMSTRUCTSWITCH", "fromstruct", FROMSTRUCTARGS, - FROMSTRUCTTYPE, FROMSTRUCTCLASS, FROMSTRUCTDEF); + FROMSTRUCTTYPE, FROMSTRUCTCLASS, FROMSTRUCTDEF); doswitch("TOSTRUCTSWITCH", "tostruct", TOSTRUCTARGS, - TOSTRUCTTYPE, TOSTRUCTCLASS, TOSTRUCTDEF); + TOSTRUCTTYPE, TOSTRUCTCLASS, TOSTRUCTDEF); doswitch("FREESTRUCTSWITCH", "freestruct", FREESTRUCTARGS, - FREESTRUCTTYPE, FREESTRUCTCLASS, FREESTRUCTDEF); + FREESTRUCTTYPE, FREESTRUCTCLASS, FREESTRUCTDEF); doswitch("ADDITIONALDATASWITCH", "additionaldata", ADDITIONALDATAARGS, ADDITIONALDATATYPE, ADDITIONALDATACLASS, ADDITIONALDATADEF); - doswitch("DIGESTSWITCH", "digest", - DIGESTARGS, DIGESTTYPE, + doswitch("DIGESTSWITCH", "digest", DIGESTARGS, DIGESTTYPE, DIGESTCLASS, DIGESTDEF); - doswitch("CHECKOWNERSWITCH", "checkowner", - CHECKOWNERARGS, CHECKOWNERTYPE, - CHECKOWNERCLASS, CHECKOWNERDEF); - doswitch("CHECKNAMESSWITCH", "checknames", - CHECKNAMESARGS, CHECKNAMESTYPE, - CHECKNAMESCLASS, CHECKNAMESDEF); + doswitch("CHECKOWNERSWITCH", "checkowner", CHECKOWNERARGS, + CHECKOWNERTYPE, CHECKOWNERCLASS, CHECKOWNERDEF); + doswitch("CHECKNAMESSWITCH", "checknames", CHECKNAMESARGS, + CHECKNAMESTYPE, CHECKNAMESCLASS, CHECKNAMESDEF); /* * From here down, we are processing the rdata names and @@ -758,12 +763,14 @@ main(int argc, char **argv) { #define PRINT_COMMA(x) (x == maxtype ? "" : ",") -#define METANOTQUESTION "DNS_RDATATYPEATTR_META | " \ - "DNS_RDATATYPEATTR_NOTQUESTION" -#define METAQUESTIONONLY "DNS_RDATATYPEATTR_META | " \ - "DNS_RDATATYPEATTR_QUESTIONONLY" -#define RESERVEDNAME "0" -#define RESERVED "DNS_RDATATYPEATTR_RESERVED" +#define METANOTQUESTION \ + "DNS_RDATATYPEATTR_META | " \ + "DNS_RDATATYPEATTR_NOTQUESTION" +#define METAQUESTIONONLY \ + "DNS_RDATATYPEATTR_META | " \ + "DNS_RDATATYPEATTR_QUESTIONONLY" +#define RESERVEDNAME "0" +#define RESERVED "DNS_RDATATYPEATTR_RESERVED" /* * Add in reserved/special types. This will let us @@ -790,13 +797,14 @@ main(int argc, char **argv) { * Here, walk the list from top to bottom, calculating * the hash (mod 256) for each name. */ - fprintf(stdout, "#define RDATATYPE_COMPARE(_s, _d, _tn, _n, _tp) \\\n"); + fprintf(stdout, "#define RDATATYPE_COMPARE(_s, _d, _tn, _n, " + "_tp) \\\n"); fprintf(stdout, "\tdo { \\\n"); fprintf(stdout, "\t\tif (sizeof(_s) - 1 == _n && \\\n" "\t\t strncasecmp(_s,(_tn)," "(sizeof(_s) - 1)) == 0) { \\\n"); fprintf(stdout, "\t\t\tif ((dns_rdatatype_attributes(_d) & " - "DNS_RDATATYPEATTR_RESERVED) != 0) \\\n"); + "DNS_RDATATYPEATTR_RESERVED) != 0) \\\n"); fprintf(stdout, "\t\t\t\treturn (ISC_R_NOTIMPLEMENTED); \\\n"); fprintf(stdout, "\t\t\t*(_tp) = _d; \\\n"); fprintf(stdout, "\t\t\treturn (ISC_R_SUCCESS); \\\n"); @@ -832,7 +840,8 @@ main(int argc, char **argv) { continue; } if (hash == HASH(ttn2->typebuf)) { - fprintf(stdout, "\t\t\t" + fprintf(stdout, + "\t\t\t" "RDATATYPE_COMPARE" "(\"%s\", %d, _typename, " " _length, _typep); \\\n", @@ -851,8 +860,8 @@ main(int argc, char **argv) { if (ttn == NULL) { continue; } - fprintf(stdout, "\tcase %d: return (%s); \\\n", - i, upper(ttn->attr)); + fprintf(stdout, "\tcase %d: return (%s); \\\n", i, + upper(ttn->attr)); } fprintf(stdout, "\t}\n"); @@ -872,7 +881,8 @@ main(int argc, char **argv) { if (i == 65533U) { continue; } - fprintf(stdout, "\tcase %d: return " + fprintf(stdout, + "\tcase %d: return " "(str_totext(\"%s\", target)); \\\n", i, upper(ttn->typebuf)); } @@ -891,8 +901,7 @@ main(int argc, char **argv) { lasttype = 0; for (tt = types; tt != NULL; tt = tt->next) { if (tt->type != lasttype) { - fprintf(stdout, - "\tdns_rdatatype_%s = %d,\n", + fprintf(stdout, "\tdns_rdatatype_%s = %d,\n", funname(tt->typebuf, buf1), lasttype = tt->type); } @@ -907,7 +916,7 @@ main(int argc, char **argv) { fprintf(stdout, "};\n\n"); fprintf(stdout, "#define dns_rdatatype_none\t" - "((dns_rdatatype_t)dns_rdatatype_none)\n"); + "((dns_rdatatype_t)dns_rdatatype_none)\n"); for (tt = types; tt != NULL; tt = tt->next) { if (tt->type != lasttype) { @@ -922,21 +931,21 @@ main(int argc, char **argv) { } fprintf(stdout, "#define dns_rdatatype_ixfr\t" - "((dns_rdatatype_t)dns_rdatatype_ixfr)\n"); + "((dns_rdatatype_t)dns_rdatatype_ixfr)\n"); fprintf(stdout, "#define dns_rdatatype_axfr\t" - "((dns_rdatatype_t)dns_rdatatype_axfr)\n"); + "((dns_rdatatype_t)dns_rdatatype_axfr)\n"); fprintf(stdout, "#define dns_rdatatype_mailb\t" - "((dns_rdatatype_t)dns_rdatatype_mailb)\n"); + "((dns_rdatatype_t)dns_rdatatype_mailb)\n"); fprintf(stdout, "#define dns_rdatatype_maila\t" - "((dns_rdatatype_t)dns_rdatatype_maila)\n"); + "((dns_rdatatype_t)dns_rdatatype_maila)\n"); fprintf(stdout, "#define dns_rdatatype_any\t" - "((dns_rdatatype_t)dns_rdatatype_any)\n"); + "((dns_rdatatype_t)dns_rdatatype_any)\n"); fprintf(stdout, "\n#endif /* DNS_ENUMTYPE_H */\n"); } else if (class_enum) { char *s; - int classnum; + int classnum; fprintf(stdout, "#ifndef DNS_ENUMCLASS_H\n"); fprintf(stdout, "#define DNS_ENUMCLASS_H 1\n\n"); @@ -945,16 +954,19 @@ main(int argc, char **argv) { fprintf(stdout, "\tdns_rdataclass_reserved0 = 0,\n"); fprintf(stdout, "#define dns_rdataclass_reserved0 \\\n\t\t\t\t" - "((dns_rdataclass_t)dns_rdataclass_reserved0)\n"); + "((dns_rdataclass_t)dns_rdataclass_reserved0)" + "\n"); -#define PRINTCLASS(name, num) \ - do { \ - s = funname(name, buf1); \ - classnum = num; \ +#define PRINTCLASS(name, num) \ + do { \ + s = funname(name, buf1); \ + classnum = num; \ fprintf(stdout, "\tdns_rdataclass_%s = %d%s\n", s, classnum, \ - classnum != 255 ? "," : ""); \ - fprintf(stdout, "#define dns_rdataclass_%s\t" \ - "((dns_rdataclass_t)dns_rdataclass_%s)\n", s, s); \ + classnum != 255 ? "," : ""); \ + fprintf(stdout, \ + "#define dns_rdataclass_%s\t" \ + "((dns_rdataclass_t)dns_rdataclass_%s)\n", \ + s, s); \ } while (0) for (cc = classes; cc != NULL; cc = cc->next) { @@ -972,7 +984,7 @@ main(int argc, char **argv) { fprintf(stdout, "#endif /* DNS_ENUMCLASS_H */\n"); } else if (structs) { if (prefix != NULL) { - if ((fd = fopen(prefix,"r")) != NULL) { + if ((fd = fopen(prefix, "r")) != NULL) { while (fgets(buf, sizeof(buf), fd) != NULL) { fputs(buf, stdout); } @@ -980,9 +992,9 @@ main(int argc, char **argv) { } } for (tt = types; tt != NULL; tt = tt->next) { - snprintf(buf, sizeof(buf), "%s/%s_%d.h", - tt->dirbuf, tt->typebuf, tt->type); - if ((fd = fopen(buf,"r")) != NULL) { + snprintf(buf, sizeof(buf), "%s/%s_%d.h", tt->dirbuf, + tt->typebuf, tt->type); + if ((fd = fopen(buf, "r")) != NULL) { while (fgets(buf, sizeof(buf), fd) != NULL) { fputs(buf, stdout); } @@ -990,7 +1002,7 @@ main(int argc, char **argv) { } } if (suffix != NULL) { - if ((fd = fopen(suffix,"r")) != NULL) { + if ((fd = fopen(suffix, "r")) != NULL) { while (fgets(buf, sizeof(buf), fd) != NULL) { fputs(buf, stdout); } @@ -999,8 +1011,8 @@ main(int argc, char **argv) { } } else if (depend) { for (tt = types; tt != NULL; tt = tt->next) { - fprintf(stdout, "%s:\t%s/%s_%d.h\n", file, - tt->dirbuf, tt->typebuf, tt->type); + fprintf(stdout, "%s:\t%s/%s_%d.h\n", file, tt->dirbuf, + tt->typebuf, tt->type); } } diff --git a/lib/dns/geoip2.c b/lib/dns/geoip2.c index e65d6fb570..aa9fe6fe03 100644 --- a/lib/dns/geoip2.c +++ b/lib/dns/geoip2.c @@ -18,6 +18,7 @@ /* * This file is only built and linked if GeoIP2 has been configured. */ +#include #include #include @@ -29,16 +30,14 @@ #include #include - -#include #ifndef WIN32 #include #else #ifndef _WINSOCKAPI_ -#define _WINSOCKAPI_ /* Prevent inclusion of winsock.h in windows.h */ +#define _WINSOCKAPI_ /* Prevent inclusion of winsock.h in windows.h */ #endif #include -#endif /* WIN32 */ +#endif /* WIN32 */ #include /* @@ -64,11 +63,11 @@ */ typedef struct geoip_state { - uint16_t subtype; - const MMDB_s *db; - isc_netaddr_t addr; + uint16_t subtype; + const MMDB_s * db; + isc_netaddr_t addr; MMDB_lookup_result_s mmresult; - MMDB_entry_s entry; + MMDB_entry_s entry; } geoip_state_t; ISC_THREAD_LOCAL geoip_state_t geoip_state = { 0 }; @@ -84,14 +83,14 @@ set_state(const MMDB_s *db, const isc_netaddr_t *addr, } static geoip_state_t * -get_entry_for(MMDB_s * const db, const isc_netaddr_t *addr) { - isc_sockaddr_t sa; +get_entry_for(MMDB_s *const db, const isc_netaddr_t *addr) +{ + isc_sockaddr_t sa; MMDB_lookup_result_s match; - int err; + int err; if (db == geoip_state.db && - isc_netaddr_equal(addr, &geoip_state.addr)) - { + isc_netaddr_equal(addr, &geoip_state.addr)) { return (&geoip_state); } @@ -107,7 +106,8 @@ get_entry_for(MMDB_s * const db, const isc_netaddr_t *addr) { } static dns_geoip_subtype_t -fix_subtype(const dns_geoip_databases_t *geoip, dns_geoip_subtype_t subtype) { +fix_subtype(const dns_geoip_databases_t *geoip, dns_geoip_subtype_t subtype) +{ dns_geoip_subtype_t ret = subtype; switch (subtype) { @@ -156,8 +156,7 @@ fix_subtype(const dns_geoip_databases_t *geoip, dns_geoip_subtype_t subtype) { } static MMDB_s * -geoip2_database(const dns_geoip_databases_t *geoip, - dns_geoip_subtype_t subtype) +geoip2_database(const dns_geoip_databases_t *geoip, dns_geoip_subtype_t subtype) { switch (subtype) { case dns_geoip_country_code: @@ -198,13 +197,13 @@ geoip2_database(const dns_geoip_databases_t *geoip, } static bool -match_string(MMDB_entry_data_s *value, const char *str) { +match_string(MMDB_entry_data_s *value, const char *str) +{ REQUIRE(str != NULL); if (value == NULL || !value->has_data || value->type != MMDB_DATA_TYPE_UTF8_STRING || - value->utf8_string == NULL) - { + value->utf8_string == NULL) { return (false); } @@ -212,11 +211,11 @@ match_string(MMDB_entry_data_s *value, const char *str) { } static bool -match_int(MMDB_entry_data_s *value, const uint32_t ui32) { +match_int(MMDB_entry_data_s *value, const uint32_t ui32) +{ if (value == NULL || !value->has_data || (value->type != MMDB_DATA_TYPE_UINT32 && - value->type != MMDB_DATA_TYPE_UINT16)) - { + value->type != MMDB_DATA_TYPE_UINT16)) { return (false); } @@ -224,16 +223,15 @@ match_int(MMDB_entry_data_s *value, const uint32_t ui32) { } bool -dns_geoip_match(const isc_netaddr_t *reqaddr, - const dns_geoip_databases_t *geoip, - const dns_geoip_elem_t *elt) +dns_geoip_match(const isc_netaddr_t * reqaddr, + const dns_geoip_databases_t *geoip, const dns_geoip_elem_t *elt) { - MMDB_s *db = NULL; - MMDB_entry_data_s value; - geoip_state_t *state = NULL; + MMDB_s * db = NULL; + MMDB_entry_data_s value; + geoip_state_t * state = NULL; dns_geoip_subtype_t subtype; - const char *s = NULL; - int ret; + const char * s = NULL; + int ret; REQUIRE(reqaddr != NULL); REQUIRE(elt != NULL); @@ -253,8 +251,8 @@ dns_geoip_match(const isc_netaddr_t *reqaddr, switch (subtype) { case dns_geoip_country_code: case dns_geoip_city_countrycode: - ret = MMDB_get_value(&state->entry, &value, - "country", "iso_code", (char *)0); + ret = MMDB_get_value(&state->entry, &value, "country", + "iso_code", (char *)0); if (ret == MMDB_SUCCESS) { return (match_string(&value, elt->as_string)); } @@ -262,8 +260,8 @@ dns_geoip_match(const isc_netaddr_t *reqaddr, case dns_geoip_country_name: case dns_geoip_city_countryname: - ret = MMDB_get_value(&state->entry, &value, - "country", "names", "en", (char *)0); + ret = MMDB_get_value(&state->entry, &value, "country", "names", + "en", (char *)0); if (ret == MMDB_SUCCESS) { return (match_string(&value, elt->as_string)); } @@ -271,8 +269,8 @@ dns_geoip_match(const isc_netaddr_t *reqaddr, case dns_geoip_country_continentcode: case dns_geoip_city_continentcode: - ret = MMDB_get_value(&state->entry, &value, - "continent", "code", (char *)0); + ret = MMDB_get_value(&state->entry, &value, "continent", "code", + (char *)0); if (ret == MMDB_SUCCESS) { return (match_string(&value, elt->as_string)); } @@ -280,8 +278,8 @@ dns_geoip_match(const isc_netaddr_t *reqaddr, case dns_geoip_country_continent: case dns_geoip_city_continent: - ret = MMDB_get_value(&state->entry, &value, - "continent", "names", "en", (char *)0); + ret = MMDB_get_value(&state->entry, &value, "continent", + "names", "en", (char *)0); if (ret == MMDB_SUCCESS) { return (match_string(&value, elt->as_string)); } @@ -289,8 +287,8 @@ dns_geoip_match(const isc_netaddr_t *reqaddr, case dns_geoip_region: case dns_geoip_city_region: - ret = MMDB_get_value(&state->entry, &value, - "subdivisions", "0", "iso_code", (char *)0); + ret = MMDB_get_value(&state->entry, &value, "subdivisions", "0", + "iso_code", (char *)0); if (ret == MMDB_SUCCESS) { return (match_string(&value, elt->as_string)); } @@ -298,41 +296,40 @@ dns_geoip_match(const isc_netaddr_t *reqaddr, case dns_geoip_regionname: case dns_geoip_city_regionname: - ret = MMDB_get_value(&state->entry, &value, - "subdivisions", "0", "names", "en", (char *)0); + ret = MMDB_get_value(&state->entry, &value, "subdivisions", "0", + "names", "en", (char *)0); if (ret == MMDB_SUCCESS) { return (match_string(&value, elt->as_string)); } break; case dns_geoip_city_name: - ret = MMDB_get_value(&state->entry, &value, - "city", "names", "en", (char *)0); + ret = MMDB_get_value(&state->entry, &value, "city", "names", + "en", (char *)0); if (ret == MMDB_SUCCESS) { return (match_string(&value, elt->as_string)); } break; case dns_geoip_city_postalcode: - ret = MMDB_get_value(&state->entry, &value, - "postal", "code", (char *)0); + ret = MMDB_get_value(&state->entry, &value, "postal", "code", + (char *)0); if (ret == MMDB_SUCCESS) { return (match_string(&value, elt->as_string)); } break; case dns_geoip_city_timezonecode: - ret = MMDB_get_value(&state->entry, &value, - "location", "time_zone", (char *)0); + ret = MMDB_get_value(&state->entry, &value, "location", + "time_zone", (char *)0); if (ret == MMDB_SUCCESS) { return (match_string(&value, elt->as_string)); } break; - case dns_geoip_city_metrocode: - ret = MMDB_get_value(&state->entry, &value, - "location", "metro_code", (char *)0); + ret = MMDB_get_value(&state->entry, &value, "location", + "metro_code", (char *)0); if (ret == MMDB_SUCCESS) { return (match_string(&value, elt->as_string)); } @@ -363,14 +360,16 @@ dns_geoip_match(const isc_netaddr_t *reqaddr, case dns_geoip_org_name: ret = MMDB_get_value(&state->entry, &value, - "autonomous_system_organization", (char *)0); + "autonomous_system_organization", + (char *)0); if (ret == MMDB_SUCCESS) { return (match_string(&value, elt->as_string)); } break; case dns_geoip_domain_name: - ret = MMDB_get_value(&state->entry, &value, "domain", (char *)0); + ret = MMDB_get_value(&state->entry, &value, "domain", + (char *)0); if (ret == MMDB_SUCCESS) { return (match_string(&value, elt->as_string)); } diff --git a/lib/dns/gssapi_link.c b/lib/dns/gssapi_link.c index 5c952cdaf5..d638d6bb8a 100644 --- a/lib/dns/gssapi_link.c +++ b/lib/dns/gssapi_link.c @@ -20,29 +20,27 @@ #include #include -#include - #include "dst_internal.h" #include "dst_parse.h" #include +#include #define INITIAL_BUFFER_SIZE 1024 #define BUFFER_EXTRA 1024 -#define REGION_TO_GBUFFER(r, gb) \ - do { \ +#define REGION_TO_GBUFFER(r, gb) \ + do { \ (gb).length = (r).length; \ - (gb).value = (r).base; \ + (gb).value = (r).base; \ } while (0) -#define GBUFFER_TO_REGION(gb, r) \ - do { \ - (r).length = (unsigned int)(gb).length; \ - (r).base = (gb).value; \ +#define GBUFFER_TO_REGION(gb, r) \ + do { \ + (r).length = (unsigned int)(gb).length; \ + (r).base = (gb).value; \ } while (0) - struct dst_gssapi_signverifyctx { isc_buffer_t *buffer; }; @@ -52,7 +50,8 @@ struct dst_gssapi_signverifyctx { * or verifying. */ static isc_result_t -gssapi_create_signverify_ctx(dst_key_t *key, dst_context_t *dctx) { +gssapi_create_signverify_ctx(dst_key_t *key, dst_context_t *dctx) +{ dst_gssapi_signverifyctx_t *ctx; UNUSED(key); @@ -70,13 +69,15 @@ gssapi_create_signverify_ctx(dst_key_t *key, dst_context_t *dctx) { * Destroy the temporary sign/verify context. */ static void -gssapi_destroy_signverify_ctx(dst_context_t *dctx) { +gssapi_destroy_signverify_ctx(dst_context_t *dctx) +{ dst_gssapi_signverifyctx_t *ctx = dctx->ctxdata.gssctx; if (ctx != NULL) { if (ctx->buffer != NULL) isc_buffer_free(&ctx->buffer); - isc_mem_put(dctx->mctx, ctx, sizeof(dst_gssapi_signverifyctx_t)); + isc_mem_put(dctx->mctx, ctx, + sizeof(dst_gssapi_signverifyctx_t)); dctx->ctxdata.gssctx = NULL; } } @@ -88,12 +89,13 @@ gssapi_destroy_signverify_ctx(dst_context_t *dctx) { * buffer and copy old+new into it, and free the old buffer. */ static isc_result_t -gssapi_adddata(dst_context_t *dctx, const isc_region_t *data) { +gssapi_adddata(dst_context_t *dctx, const isc_region_t *data) +{ dst_gssapi_signverifyctx_t *ctx = dctx->ctxdata.gssctx; - isc_buffer_t *newbuffer = NULL; - isc_region_t r; - unsigned int length; - isc_result_t result; + isc_buffer_t * newbuffer = NULL; + isc_region_t r; + unsigned int length; + isc_result_t result; result = isc_buffer_copyregion(ctx->buffer, data); if (result == ISC_R_SUCCESS) @@ -117,13 +119,14 @@ gssapi_adddata(dst_context_t *dctx, const isc_region_t *data) { * Sign. */ static isc_result_t -gssapi_sign(dst_context_t *dctx, isc_buffer_t *sig) { +gssapi_sign(dst_context_t *dctx, isc_buffer_t *sig) +{ dst_gssapi_signverifyctx_t *ctx = dctx->ctxdata.gssctx; - isc_region_t message; - gss_buffer_desc gmessage, gsig; - OM_uint32 minor, gret; - gss_ctx_id_t gssctx = dctx->key->keydata.gssctx; - char buf[1024]; + isc_region_t message; + gss_buffer_desc gmessage, gsig; + OM_uint32 minor, gret; + gss_ctx_id_t gssctx = dctx->key->keydata.gssctx; + char buf[1024]; /* * Convert the data we wish to sign into a structure gssapi can @@ -135,8 +138,7 @@ gssapi_sign(dst_context_t *dctx, isc_buffer_t *sig) { /* * Generate the signature. */ - gret = gss_get_mic(&minor, gssctx, GSS_C_QOP_DEFAULT, &gmessage, - &gsig); + gret = gss_get_mic(&minor, gssctx, GSS_C_QOP_DEFAULT, &gmessage, &gsig); /* * If it did not complete, we log the result and return a generic @@ -172,14 +174,15 @@ gssapi_sign(dst_context_t *dctx, isc_buffer_t *sig) { * Verify. */ static isc_result_t -gssapi_verify(dst_context_t *dctx, const isc_region_t *sig) { +gssapi_verify(dst_context_t *dctx, const isc_region_t *sig) +{ dst_gssapi_signverifyctx_t *ctx = dctx->ctxdata.gssctx; - isc_region_t message, r; - gss_buffer_desc gmessage, gsig; - OM_uint32 minor, gret; - gss_ctx_id_t gssctx = dctx->key->keydata.gssctx; - unsigned char buf[sig->length]; - char err[1024]; + isc_region_t message, r; + gss_buffer_desc gmessage, gsig; + OM_uint32 minor, gret; + gss_ctx_id_t gssctx = dctx->key->keydata.gssctx; + unsigned char buf[sig->length]; + char err[1024]; /* * Convert the data we wish to sign into a structure gssapi can @@ -204,16 +207,12 @@ gssapi_verify(dst_context_t *dctx, const isc_region_t *sig) { if (gret != GSS_S_COMPLETE) { gss_log(3, "GSS verify error: %s", gss_error_tostring(gret, minor, err, sizeof(err))); - if (gret == GSS_S_DEFECTIVE_TOKEN || - gret == GSS_S_BAD_SIG || - gret == GSS_S_DUPLICATE_TOKEN || - gret == GSS_S_OLD_TOKEN || - gret == GSS_S_UNSEQ_TOKEN || - gret == GSS_S_GAP_TOKEN || - gret == GSS_S_CONTEXT_EXPIRED || - gret == GSS_S_NO_CONTEXT || + if (gret == GSS_S_DEFECTIVE_TOKEN || gret == GSS_S_BAD_SIG || + gret == GSS_S_DUPLICATE_TOKEN || gret == GSS_S_OLD_TOKEN || + gret == GSS_S_UNSEQ_TOKEN || gret == GSS_S_GAP_TOKEN || + gret == GSS_S_CONTEXT_EXPIRED || gret == GSS_S_NO_CONTEXT || gret == GSS_S_FAILURE) - return(DST_R_VERIFYFAILURE); + return (DST_R_VERIFYFAILURE); else return (ISC_R_FAILURE); } @@ -222,7 +221,8 @@ gssapi_verify(dst_context_t *dctx, const isc_region_t *sig) { } static bool -gssapi_compare(const dst_key_t *key1, const dst_key_t *key2) { +gssapi_compare(const dst_key_t *key1, const dst_key_t *key2) +{ gss_ctx_id_t gsskey1 = key1->keydata.gssctx; gss_ctx_id_t gsskey2 = key2->keydata.gssctx; @@ -231,7 +231,8 @@ gssapi_compare(const dst_key_t *key1, const dst_key_t *key2) { } static isc_result_t -gssapi_generate(dst_key_t *key, int unused, void (*callback)(int)) { +gssapi_generate(dst_key_t *key, int unused, void (*callback)(int)) +{ UNUSED(key); UNUSED(unused); UNUSED(callback); @@ -241,26 +242,29 @@ gssapi_generate(dst_key_t *key, int unused, void (*callback)(int)) { } static bool -gssapi_isprivate(const dst_key_t *key) { +gssapi_isprivate(const dst_key_t *key) +{ UNUSED(key); return (true); } static void -gssapi_destroy(dst_key_t *key) { +gssapi_destroy(dst_key_t *key) +{ REQUIRE(key != NULL); dst_gssapi_deletectx(key->mctx, &key->keydata.gssctx); key->keydata.gssctx = NULL; } static isc_result_t -gssapi_restore(dst_key_t *key, const char *keystr) { - OM_uint32 major, minor; - unsigned int len; - isc_buffer_t *b = NULL; - isc_region_t r; +gssapi_restore(dst_key_t *key, const char *keystr) +{ + OM_uint32 major, minor; + unsigned int len; + isc_buffer_t * b = NULL; + isc_region_t r; gss_buffer_desc gssbuffer; - isc_result_t result; + isc_result_t result; len = strlen(keystr); if ((len % 4) != 0U) @@ -290,25 +294,26 @@ gssapi_restore(dst_key_t *key, const char *keystr) { } static isc_result_t -gssapi_dump(dst_key_t *key, isc_mem_t *mctx, char **buffer, int *length) { - OM_uint32 major, minor; +gssapi_dump(dst_key_t *key, isc_mem_t *mctx, char **buffer, int *length) +{ + OM_uint32 major, minor; gss_buffer_desc gssbuffer; - size_t len; - char *buf; - isc_buffer_t b; - isc_region_t r; - isc_result_t result; + size_t len; + char * buf; + isc_buffer_t b; + isc_region_t r; + isc_result_t result; major = gss_export_sec_context(&minor, &key->keydata.gssctx, &gssbuffer); if (major != GSS_S_COMPLETE) { - fprintf(stderr, "gss_export_sec_context -> %u, %u\n", - major, minor); + fprintf(stderr, "gss_export_sec_context -> %u, %u\n", major, + minor); return (ISC_R_FAILURE); } if (gssbuffer.length == 0U) return (ISC_R_FAILURE); - len = ((gssbuffer.length + 2)/3) * 4; + len = ((gssbuffer.length + 2) / 3) * 4; buf = isc_mem_get(mctx, len); isc_buffer_init(&b, buf, (unsigned int)len); GBUFFER_TO_REGION(gssbuffer, r); @@ -339,13 +344,14 @@ static dst_func_t gssapi_functions = { NULL, /*%< tofile */ NULL, /*%< parse */ NULL, /*%< cleanup */ - NULL, /*%< fromlabel */ + NULL, /*%< fromlabel */ gssapi_dump, gssapi_restore, }; isc_result_t -dst__gssapi_init(dst_func_t **funcp) { +dst__gssapi_init(dst_func_t **funcp) +{ REQUIRE(funcp != NULL); if (*funcp == NULL) *funcp = &gssapi_functions; @@ -353,7 +359,7 @@ dst__gssapi_init(dst_func_t **funcp) { } #else -int gssapi_link_unneeded = 1; +int gssapi_link_unneeded = 1; #endif /*! \file */ diff --git a/lib/dns/gssapictx.c b/lib/dns/gssapictx.c index e97f697a3e..22d743c912 100644 --- a/lib/dns/gssapictx.c +++ b/lib/dns/gssapictx.c @@ -21,35 +21,35 @@ #include #include #include -#include #include +#include #include #include #include #include #include +#include +#include #include #include #include #include #include -#include -#include + +#include "dst_internal.h" #include #include -#include "dst_internal.h" - /* * If we're using our own SPNEGO implementation (see configure.in), * pull it in now. Otherwise, we just use whatever GSSAPI supplies. */ #if defined(GSSAPI) && defined(USE_ISC_SPNEGO) #include "spnego.h" -#define gss_accept_sec_context gss_accept_sec_context_spnego -#define gss_init_sec_context gss_init_sec_context_spnego +#define gss_accept_sec_context gss_accept_sec_context_spnego +#define gss_init_sec_context gss_init_sec_context_spnego #endif /* @@ -66,14 +66,12 @@ #include ISC_PLATFORM_KRB5HEADER #endif -static unsigned char krb5_mech_oid_bytes[] = { - 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x12, 0x01, 0x02, 0x02 -}; +static unsigned char krb5_mech_oid_bytes[] = { 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x12, 0x01, 0x02, 0x02 }; #ifndef USE_ISC_SPNEGO -static unsigned char spnego_mech_oid_bytes[] = { - 0x2b, 0x06, 0x01, 0x05, 0x05, 0x02 -}; +static unsigned char spnego_mech_oid_bytes[] = { 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x02 }; #endif static gss_OID_desc mech_oid_set_array[] = { @@ -83,30 +81,29 @@ static gss_OID_desc mech_oid_set_array[] = { #endif }; -static gss_OID_set_desc mech_oid_set = { - sizeof(mech_oid_set_array) / sizeof(*mech_oid_set_array), - mech_oid_set_array -}; +static gss_OID_set_desc mech_oid_set = { sizeof(mech_oid_set_array) / + sizeof(*mech_oid_set_array), + mech_oid_set_array }; #endif -#define REGION_TO_GBUFFER(r, gb) \ - do { \ +#define REGION_TO_GBUFFER(r, gb) \ + do { \ (gb).length = (r).length; \ - (gb).value = (r).base; \ + (gb).value = (r).base; \ } while (0) -#define GBUFFER_TO_REGION(gb, r) \ - do { \ - (r).length = (unsigned int)(gb).length; \ - (r).base = (gb).value; \ +#define GBUFFER_TO_REGION(gb, r) \ + do { \ + (r).length = (unsigned int)(gb).length; \ + (r).base = (gb).value; \ } while (0) - -#define RETERR(x) do { \ - result = (x); \ - if (result != ISC_R_SUCCESS) \ - goto out; \ +#define RETERR(x) \ + do { \ + result = (x); \ + if (result != ISC_R_SUCCESS) \ + goto out; \ } while (0) #ifdef GSSAPI @@ -114,15 +111,14 @@ static inline void name_to_gbuffer(const dns_name_t *name, isc_buffer_t *buffer, gss_buffer_desc *gbuffer) { - dns_name_t tname; + dns_name_t tname; const dns_name_t *namep; - isc_region_t r; - isc_result_t result; + isc_region_t r; + isc_result_t result; if (!dns_name_isabsolute(name)) namep = name; - else - { + else { unsigned int labels; dns_name_init(&tname, NULL); labels = dns_name_countlabels(name); @@ -138,13 +134,14 @@ name_to_gbuffer(const dns_name_t *name, isc_buffer_t *buffer, } static void -log_cred(const gss_cred_id_t cred) { - OM_uint32 gret, minor, lifetime; - gss_name_t gname; - gss_buffer_desc gbuffer; +log_cred(const gss_cred_id_t cred) +{ + OM_uint32 gret, minor, lifetime; + gss_name_t gname; + gss_buffer_desc gbuffer; gss_cred_usage_t usage; - const char *usage_text; - char buf[1024]; + const char * usage_text; + char buf[1024]; gret = gss_inquire_cred(&minor, cred, &gname, &lifetime, &usage, NULL); if (gret != GSS_S_COMPLETE) { @@ -205,14 +202,17 @@ log_cred(const gss_cred_id_t cred) { * are not performed, and runtime errors from gssapi are used instead */ static void -check_config(const char *gss_name) { - const char *p; +check_config(const char *gss_name) +{ + const char * p; krb5_context krb5_ctx; - char *krb5_realm_name = NULL; + char * krb5_realm_name = NULL; if (strncasecmp(gss_name, "DNS/", 4) != 0) { - gss_log(ISC_LOG_ERROR, "tkey-gssapi-credential (%s) " - "should start with 'DNS/'", gss_name); + gss_log(ISC_LOG_ERROR, + "tkey-gssapi-credential (%s) " + "should start with 'DNS/'", + gss_name); return; } @@ -227,13 +227,16 @@ check_config(const char *gss_name) { } p = strchr(gss_name, '@'); if (p == NULL) { - gss_log(ISC_LOG_ERROR, "badly formatted " - "tkey-gssapi-credentials (%s)", gss_name); + gss_log(ISC_LOG_ERROR, + "badly formatted " + "tkey-gssapi-credentials (%s)", + gss_name); krb5_free_context(krb5_ctx); return; } if (strcasecmp(p + 1, krb5_realm_name) != 0) { - gss_log(ISC_LOG_ERROR, "default realm from krb5.conf (%s) " + gss_log(ISC_LOG_ERROR, + "default realm from krb5.conf (%s) " "does not match tkey-gssapi-credential (%s)", krb5_realm_name, gss_name); krb5_free_context(krb5_ctx); @@ -248,15 +251,15 @@ dst_gssapi_acquirecred(const dns_name_t *name, bool initiate, gss_cred_id_t *cred) { #ifdef GSSAPI - isc_result_t result; - isc_buffer_t namebuf; - gss_name_t gname; - gss_buffer_desc gnamebuf; - unsigned char array[DNS_NAME_MAXTEXT + 1]; - OM_uint32 gret, minor; - OM_uint32 lifetime; + isc_result_t result; + isc_buffer_t namebuf; + gss_name_t gname; + gss_buffer_desc gnamebuf; + unsigned char array[DNS_NAME_MAXTEXT + 1]; + OM_uint32 gret, minor; + OM_uint32 lifetime; gss_cred_usage_t usage; - char buf[1024]; + char buf[1024]; REQUIRE(cred != NULL && *cred == NULL); @@ -272,8 +275,7 @@ dst_gssapi_acquirecred(const dns_name_t *name, bool initiate, if (name != NULL) { isc_buffer_init(&namebuf, array, sizeof(array)); name_to_gbuffer(name, &namebuf, &gnamebuf); - gret = gss_import_name(&minor, &gnamebuf, - GSS_C_NO_OID, &gname); + gret = gss_import_name(&minor, &gnamebuf, GSS_C_NO_OID, &gname); if (gret != GSS_S_COMPLETE) { check_config((char *)array); @@ -299,8 +301,8 @@ dst_gssapi_acquirecred(const dns_name_t *name, bool initiate, else usage = GSS_C_ACCEPT; - gret = gss_acquire_cred(&minor, gname, GSS_C_INDEFINITE, - &mech_oid_set, usage, cred, NULL, &lifetime); + gret = gss_acquire_cred(&minor, gname, GSS_C_INDEFINITE, &mech_oid_set, + usage, cred, NULL, &lifetime); if (gret != GSS_S_COMPLETE) { gss_log(3, "failed to acquire %s credentials for %s: %s", @@ -344,14 +346,13 @@ cleanup: bool dst_gssapi_identitymatchesrealmkrb5(const dns_name_t *signer, const dns_name_t *name, - const dns_name_t *realm, - bool subdomain) + const dns_name_t *realm, bool subdomain) { #ifdef GSSAPI - char sbuf[DNS_NAME_FORMATSIZE]; - char rbuf[DNS_NAME_FORMATSIZE]; - char *sname; - char *rname; + char sbuf[DNS_NAME_FORMATSIZE]; + char rbuf[DNS_NAME_FORMATSIZE]; + char * sname; + char * rname; isc_buffer_t buffer; isc_result_t result; @@ -405,7 +406,7 @@ dst_gssapi_identitymatchesrealmkrb5(const dns_name_t *signer, */ if (name != NULL) { dns_fixedname_t fixed; - dns_name_t *machine; + dns_name_t * machine; machine = dns_fixedname_initname(&fixed); result = dns_name_fromstring(machine, sname, 0, NULL); @@ -431,14 +432,13 @@ dst_gssapi_identitymatchesrealmkrb5(const dns_name_t *signer, bool dst_gssapi_identitymatchesrealmms(const dns_name_t *signer, const dns_name_t *name, - const dns_name_t *realm, - bool subdomain) + const dns_name_t *realm, bool subdomain) { #ifdef GSSAPI - char sbuf[DNS_NAME_FORMATSIZE]; - char rbuf[DNS_NAME_FORMATSIZE]; - char *sname; - char *rname; + char sbuf[DNS_NAME_FORMATSIZE]; + char rbuf[DNS_NAME_FORMATSIZE]; + char * sname; + char * rname; isc_buffer_t buffer; isc_result_t result; @@ -495,7 +495,7 @@ dst_gssapi_identitymatchesrealmms(const dns_name_t *signer, */ if (name != NULL) { dns_fixedname_t fixed; - dns_name_t *machine; + dns_name_t * machine; machine = dns_fixedname_initname(&fixed); result = dns_name_fromstring2(machine, sbuf, realm, 0, NULL); @@ -519,10 +519,11 @@ dst_gssapi_identitymatchesrealmms(const dns_name_t *signer, } isc_result_t -dst_gssapi_releasecred(gss_cred_id_t *cred) { +dst_gssapi_releasecred(gss_cred_id_t *cred) +{ #ifdef GSSAPI OM_uint32 gret, minor; - char buf[1024]; + char buf[1024]; REQUIRE(cred != NULL && *cred != NULL); @@ -534,7 +535,7 @@ dst_gssapi_releasecred(gss_cred_id_t *cred) { } *cred = NULL; - return(ISC_R_SUCCESS); + return (ISC_R_SUCCESS); #else UNUSED(cred); @@ -552,7 +553,7 @@ static void gss_err_message(isc_mem_t *mctx, uint32_t major, uint32_t minor, char **err_message) { - char buf[1024]; + char buf[1024]; char *estr; if (err_message == NULL || mctx == NULL) { @@ -572,14 +573,14 @@ dst_gssapi_initctx(const dns_name_t *name, isc_buffer_t *intoken, isc_mem_t *mctx, char **err_message) { #ifdef GSSAPI - isc_region_t r; - isc_buffer_t namebuf; - gss_name_t gname; - OM_uint32 gret, minor, ret_flags, flags; + isc_region_t r; + isc_buffer_t namebuf; + gss_name_t gname; + OM_uint32 gret, minor, ret_flags, flags; gss_buffer_desc gintoken, *gintokenp, gouttoken = GSS_C_EMPTY_BUFFER; - isc_result_t result; + isc_result_t result; gss_buffer_desc gnamebuf; - unsigned char array[DNS_NAME_MAXTEXT + 1]; + unsigned char array[DNS_NAME_MAXTEXT + 1]; /* Client must pass us a valid gss_ctx_id_t here */ REQUIRE(gssctx != NULL); @@ -610,10 +611,10 @@ dst_gssapi_initctx(const dns_name_t *name, isc_buffer_t *intoken, */ flags = GSS_C_REPLAY_FLAG | GSS_C_MUTUAL_FLAG | GSS_C_INTEG_FLAG; - gret = gss_init_sec_context(&minor, GSS_C_NO_CREDENTIAL, gssctx, - gname, GSS_SPNEGO_MECHANISM, flags, - 0, NULL, gintokenp, - NULL, &gouttoken, &ret_flags, NULL); + gret = gss_init_sec_context(&minor, GSS_C_NO_CREDENTIAL, gssctx, gname, + GSS_SPNEGO_MECHANISM, flags, 0, NULL, + gintokenp, NULL, &gouttoken, &ret_flags, + NULL); if (gret != GSS_S_COMPLETE && gret != GSS_S_CONTINUE_NEEDED) { gss_err_message(mctx, gret, minor, err_message); @@ -645,7 +646,7 @@ dst_gssapi_initctx(const dns_name_t *name, isc_buffer_t *intoken, else result = DNS_R_CONTINUE; - out: +out: if (gouttoken.length != 0U) (void)gss_release_buffer(&minor, &gouttoken); (void)gss_release_name(&minor, &gname); @@ -663,22 +664,21 @@ dst_gssapi_initctx(const dns_name_t *name, isc_buffer_t *intoken, } isc_result_t -dst_gssapi_acceptctx(gss_cred_id_t cred, - const char *gssapi_keytab, +dst_gssapi_acceptctx(gss_cred_id_t cred, const char *gssapi_keytab, isc_region_t *intoken, isc_buffer_t **outtoken, gss_ctx_id_t *ctxout, dns_name_t *principal, isc_mem_t *mctx) { #ifdef GSSAPI - isc_region_t r; - isc_buffer_t namebuf; + isc_region_t r; + isc_buffer_t namebuf; gss_buffer_desc gnamebuf = GSS_C_EMPTY_BUFFER, gintoken, gouttoken = GSS_C_EMPTY_BUFFER; - OM_uint32 gret, minor; + OM_uint32 gret, minor; gss_ctx_id_t context = GSS_C_NO_CONTEXT; - gss_name_t gname = NULL; + gss_name_t gname = NULL; isc_result_t result; - char buf[1024]; + char buf[1024]; REQUIRE(outtoken != NULL && *outtoken == NULL); @@ -693,7 +693,8 @@ dst_gssapi_acceptctx(gss_cred_id_t cred, #if defined(ISC_PLATFORM_GSSAPI_KRB5_HEADER) || defined(WIN32) gret = gsskrb5_register_acceptor_identity(gssapi_keytab); if (gret != GSS_S_COMPLETE) { - gss_log(3, "failed " + gss_log(3, + "failed " "gsskrb5_register_acceptor_identity(%s): %s", gssapi_keytab, gss_error_tostring(gret, 0, buf, sizeof(buf))); @@ -707,7 +708,7 @@ dst_gssapi_acceptctx(gss_cred_id_t cred, const char *old = getenv("KRB5_KTNAME"); if (old == NULL || strcmp(old, gssapi_keytab) != 0) { size_t size; - char *kt; + char * kt; size = strlen(gssapi_keytab) + 13; kt = malloc(size); @@ -723,8 +724,8 @@ dst_gssapi_acceptctx(gss_cred_id_t cred, log_cred(cred); gret = gss_accept_sec_context(&minor, &context, cred, &gintoken, - GSS_C_NO_CHANNEL_BINDINGS, &gname, - NULL, &gouttoken, NULL, NULL, NULL); + GSS_C_NO_CHANNEL_BINDINGS, &gname, NULL, + &gouttoken, NULL, NULL, NULL); result = ISC_R_FAILURE; @@ -763,8 +764,8 @@ dst_gssapi_acceptctx(gss_cred_id_t cred, gret = gss_display_name(&minor, gname, &gnamebuf, NULL); if (gret != GSS_S_COMPLETE) { gss_log(3, "failed gss_display_name: %s", - gss_error_tostring(gret, minor, - buf, sizeof(buf))); + gss_error_tostring(gret, minor, buf, + sizeof(buf))); RETERR(ISC_R_FAILURE); } @@ -785,8 +786,8 @@ dst_gssapi_acceptctx(gss_cred_id_t cred, isc_buffer_init(&namebuf, r.base, r.length); isc_buffer_add(&namebuf, r.length); - RETERR(dns_name_fromtext(principal, &namebuf, dns_rootname, - 0, NULL)); + RETERR(dns_name_fromtext(principal, &namebuf, dns_rootname, 0, + NULL)); if (gnamebuf.length != 0U) { gret = gss_release_buffer(&minor, &gnamebuf); @@ -800,7 +801,7 @@ dst_gssapi_acceptctx(gss_cred_id_t cred, *ctxout = context; - out: +out: if (gname != NULL) { gret = gss_release_name(&minor, &gname); if (gret != GSS_S_COMPLETE) @@ -828,7 +829,7 @@ dst_gssapi_deletectx(isc_mem_t *mctx, gss_ctx_id_t *gssctx) { #ifdef GSSAPI OM_uint32 gret, minor; - char buf[1024]; + char buf[1024]; UNUSED(mctx); @@ -841,7 +842,7 @@ dst_gssapi_deletectx(isc_mem_t *mctx, gss_ctx_id_t *gssctx) gss_log(3, "Failure deleting security context %s", gss_error_tostring(gret, minor, buf, sizeof(buf))); } - return(ISC_R_SUCCESS); + return (ISC_R_SUCCESS); #else UNUSED(mctx); UNUSED(gssctx); @@ -850,8 +851,8 @@ dst_gssapi_deletectx(isc_mem_t *mctx, gss_ctx_id_t *gssctx) } char * -gss_error_tostring(uint32_t major, uint32_t minor, - char *buf, size_t buflen) { +gss_error_tostring(uint32_t major, uint32_t minor, char *buf, size_t buflen) +{ #ifdef GSSAPI gss_buffer_desc msg_minor = GSS_C_EMPTY_BUFFER, msg_major = GSS_C_EMPTY_BUFFER; @@ -868,28 +869,29 @@ gss_error_tostring(uint32_t major, uint32_t minor, GSS_C_NULL_OID, &msg_ctx, &msg_minor); snprintf(buf, buflen, "GSSAPI error: Major = %s, Minor = %s.", - (char *)msg_major.value, (char *)msg_minor.value); + (char *)msg_major.value, (char *)msg_minor.value); if (msg_major.length != 0U) (void)gss_release_buffer(&minor_stat, &msg_major); if (msg_minor.length != 0U) (void)gss_release_buffer(&minor_stat, &msg_minor); - return(buf); + return (buf); #else - snprintf(buf, buflen, "GSSAPI error: Major = %u, Minor = %u.", - major, minor); + snprintf(buf, buflen, "GSSAPI error: Major = %u, Minor = %u.", major, + minor); return (buf); #endif } void -gss_log(int level, const char *fmt, ...) { +gss_log(int level, const char *fmt, ...) +{ va_list ap; va_start(ap, fmt); - isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_GENERAL, - DNS_LOGMODULE_TKEY, ISC_LOG_DEBUG(level), fmt, ap); + isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_TKEY, + ISC_LOG_DEBUG(level), fmt, ap); va_end(ap); } diff --git a/lib/dns/hmac_link.c b/lib/dns/hmac_link.c index cf916ddfa1..7dd6089627 100644 --- a/lib/dns/hmac_link.c +++ b/lib/dns/hmac_link.c @@ -31,155 +31,153 @@ #include #include #include +#include #include #include -#include #include #include #include -#include +#include "dst_internal.h" #include - -#include "dst_internal.h" +#include #ifdef HAVE_FIPS_MODE -#include "dst_openssl.h" /* FIPS_mode() prototype */ +#include "dst_openssl.h" /* FIPS_mode() prototype */ #endif #include "dst_parse.h" -#define ISC_MD_md5 ISC_MD_MD5 -#define ISC_MD_sha1 ISC_MD_SHA1 +#define ISC_MD_md5 ISC_MD_MD5 +#define ISC_MD_sha1 ISC_MD_SHA1 #define ISC_MD_sha224 ISC_MD_SHA224 #define ISC_MD_sha256 ISC_MD_SHA256 #define ISC_MD_sha384 ISC_MD_SHA384 #define ISC_MD_sha512 ISC_MD_SHA512 -#define hmac_register_algorithm(alg) \ - static isc_result_t \ - hmac##alg##_createctx(dst_key_t *key, \ - dst_context_t *dctx) { \ - return (hmac_createctx(ISC_MD_##alg, key, dctx)); \ - } \ - static void \ - hmac##alg##_destroyctx(dst_context_t *dctx) { \ - hmac_destroyctx(dctx); \ - } \ - static isc_result_t \ - hmac##alg##_adddata(dst_context_t *dctx, \ - const isc_region_t *data) { \ - return (hmac_adddata(dctx, data)); \ - } \ - static isc_result_t \ - hmac##alg##_sign(dst_context_t *dctx, \ - isc_buffer_t *sig) { \ - return (hmac_sign(dctx, sig)); \ - } \ - static isc_result_t \ - hmac##alg##_verify(dst_context_t *dctx, \ - const isc_region_t *sig) { \ - return (hmac_verify(dctx, sig)); \ - } \ - static bool \ - hmac##alg##_compare(const dst_key_t *key1, \ - const dst_key_t *key2) { \ - return (hmac_compare(ISC_MD_##alg, key1, key2)); \ - } \ - static isc_result_t \ - hmac##alg##_generate(dst_key_t *key, \ - int pseudorandom_ok, \ - void (*callback)(int)) { \ - UNUSED(pseudorandom_ok); \ - UNUSED(callback); \ - return (hmac_generate(ISC_MD_##alg, key)); \ - } \ - static bool \ - hmac##alg##_isprivate(const dst_key_t *key) { \ - return (hmac_isprivate(key)); \ - } \ - static void \ - hmac##alg##_destroy(dst_key_t *key) { \ - hmac_destroy(key); \ - } \ - static isc_result_t \ - hmac##alg##_todns(const dst_key_t *key, isc_buffer_t *data) { \ - return (hmac_todns(key, data)); \ - } \ - static isc_result_t \ - hmac##alg##_fromdns(dst_key_t *key, isc_buffer_t *data) { \ - return (hmac_fromdns(ISC_MD_##alg, key, data)); \ - } \ - static isc_result_t \ - hmac##alg##_tofile(const dst_key_t *key, const char *directory) { \ - return (hmac_tofile(ISC_MD_##alg, key, directory)); \ - } \ - static isc_result_t \ - hmac##alg##_parse(dst_key_t *key, isc_lex_t *lexer, \ - dst_key_t *pub) { \ - return(hmac_parse(ISC_MD_##alg, key, lexer, pub)); \ - } \ - static dst_func_t hmac##alg##_functions = { \ - hmac##alg##_createctx, \ - NULL, /*%< createctx2 */ \ - hmac##alg##_destroyctx, \ - hmac##alg##_adddata, \ - hmac##alg##_sign, \ - hmac##alg##_verify, \ - NULL, /*%< verify2 */ \ - NULL, /*%< computesecret */ \ - hmac##alg##_compare, \ - NULL, /*%< paramcompare */ \ - hmac##alg##_generate, \ - hmac##alg##_isprivate, \ - hmac##alg##_destroy, \ - hmac##alg##_todns, \ - hmac##alg##_fromdns, \ - hmac##alg##_tofile, \ - hmac##alg##_parse, \ - NULL, /*%< cleanup */ \ - NULL, /*%< fromlabel */ \ - NULL, /*%< dump */ \ - NULL, /*%< restore */ \ - }; \ - isc_result_t \ - dst__hmac##alg##_init(dst_func_t **funcp) { \ - REQUIRE(funcp != NULL); \ - if (*funcp == NULL) { \ - *funcp = &hmac##alg##_functions; \ - } \ - return (ISC_R_SUCCESS); \ +#define hmac_register_algorithm(alg) \ + static isc_result_t hmac##alg##_createctx(dst_key_t * key, \ + dst_context_t *dctx) \ + { \ + return (hmac_createctx(ISC_MD_##alg, key, dctx)); \ + } \ + static void hmac##alg##_destroyctx(dst_context_t *dctx) \ + { \ + hmac_destroyctx(dctx); \ + } \ + static isc_result_t hmac##alg##_adddata(dst_context_t * dctx, \ + const isc_region_t *data) \ + { \ + return (hmac_adddata(dctx, data)); \ + } \ + static isc_result_t hmac##alg##_sign(dst_context_t *dctx, \ + isc_buffer_t * sig) \ + { \ + return (hmac_sign(dctx, sig)); \ + } \ + static isc_result_t hmac##alg##_verify(dst_context_t * dctx, \ + const isc_region_t *sig) \ + { \ + return (hmac_verify(dctx, sig)); \ + } \ + static bool hmac##alg##_compare(const dst_key_t *key1, \ + const dst_key_t *key2) \ + { \ + return (hmac_compare(ISC_MD_##alg, key1, key2)); \ + } \ + static isc_result_t hmac##alg##_generate( \ + dst_key_t *key, int pseudorandom_ok, void (*callback)(int)) \ + { \ + UNUSED(pseudorandom_ok); \ + UNUSED(callback); \ + return (hmac_generate(ISC_MD_##alg, key)); \ + } \ + static bool hmac##alg##_isprivate(const dst_key_t *key) \ + { \ + return (hmac_isprivate(key)); \ + } \ + static void hmac##alg##_destroy(dst_key_t *key) { hmac_destroy(key); } \ + static isc_result_t hmac##alg##_todns(const dst_key_t *key, \ + isc_buffer_t * data) \ + { \ + return (hmac_todns(key, data)); \ + } \ + static isc_result_t hmac##alg##_fromdns(dst_key_t * key, \ + isc_buffer_t *data) \ + { \ + return (hmac_fromdns(ISC_MD_##alg, key, data)); \ + } \ + static isc_result_t hmac##alg##_tofile(const dst_key_t *key, \ + const char * directory) \ + { \ + return (hmac_tofile(ISC_MD_##alg, key, directory)); \ + } \ + static isc_result_t hmac##alg##_parse( \ + dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) \ + { \ + return (hmac_parse(ISC_MD_##alg, key, lexer, pub)); \ + } \ + static dst_func_t hmac##alg##_functions = { \ + hmac##alg##_createctx, \ + NULL, /*%< createctx2 */ \ + hmac##alg##_destroyctx, \ + hmac##alg##_adddata, \ + hmac##alg##_sign, \ + hmac##alg##_verify, \ + NULL, /*%< verify2 */ \ + NULL, /*%< computesecret */ \ + hmac##alg##_compare, \ + NULL, /*%< paramcompare */ \ + hmac##alg##_generate, \ + hmac##alg##_isprivate, \ + hmac##alg##_destroy, \ + hmac##alg##_todns, \ + hmac##alg##_fromdns, \ + hmac##alg##_tofile, \ + hmac##alg##_parse, \ + NULL, /*%< cleanup */ \ + NULL, /*%< fromlabel */ \ + NULL, /*%< dump */ \ + NULL, /*%< restore */ \ + }; \ + isc_result_t dst__hmac##alg##_init(dst_func_t **funcp) \ + { \ + REQUIRE(funcp != NULL); \ + if (*funcp == NULL) { \ + *funcp = &hmac##alg##_functions; \ + } \ + return (ISC_R_SUCCESS); \ } static isc_result_t hmac_fromdns(isc_md_type_t type, dst_key_t *key, isc_buffer_t *data); -struct dst_hmac_key { +struct dst_hmac_key { uint8_t key[ISC_MAX_BLOCK_SIZE]; }; static inline isc_result_t -getkeybits(dst_key_t *key, struct dst_private_element *element) { +getkeybits(dst_key_t *key, struct dst_private_element *element) +{ uint16_t *bits = (uint16_t *)element->data; if (element->length != 2) { return (DST_R_INVALIDPRIVATEKEY); } - key->key_bits = ntohs(*bits); + key->key_bits = ntohs(*bits); return (ISC_R_SUCCESS); } static inline isc_result_t -hmac_createctx(isc_md_type_t type, const dst_key_t *key, - dst_context_t *dctx) +hmac_createctx(isc_md_type_t type, const dst_key_t *key, dst_context_t *dctx) { - isc_result_t result; + isc_result_t result; const dst_hmac_key_t *hkey = key->keydata.hmac_key; isc_hmac_t *ctx = isc_hmac_new(); /* Either returns or abort()s */ - result = isc_hmac_init(ctx, hkey->key, - isc_md_type_get_block_size(type), type); + result = isc_hmac_init(ctx, hkey->key, isc_md_type_get_block_size(type), + type); if (result != ISC_R_SUCCESS) { return (DST_R_UNSUPPORTEDALG); } @@ -189,7 +187,8 @@ hmac_createctx(isc_md_type_t type, const dst_key_t *key, } static inline void -hmac_destroyctx(dst_context_t *dctx) { +hmac_destroyctx(dst_context_t *dctx) +{ isc_hmac_t *ctx = dctx->ctxdata.hmac_ctx; REQUIRE(ctx != NULL); @@ -198,9 +197,10 @@ hmac_destroyctx(dst_context_t *dctx) { } static inline isc_result_t -hmac_adddata(const dst_context_t *dctx, const isc_region_t *data) { +hmac_adddata(const dst_context_t *dctx, const isc_region_t *data) +{ isc_result_t result; - isc_hmac_t *ctx = dctx->ctxdata.hmac_ctx; + isc_hmac_t * ctx = dctx->ctxdata.hmac_ctx; REQUIRE(ctx != NULL); @@ -213,10 +213,11 @@ hmac_adddata(const dst_context_t *dctx, const isc_region_t *data) { } static inline isc_result_t -hmac_sign(const dst_context_t *dctx, isc_buffer_t *sig) { +hmac_sign(const dst_context_t *dctx, isc_buffer_t *sig) +{ isc_hmac_t *ctx = dctx->ctxdata.hmac_ctx; REQUIRE(ctx != NULL); - unsigned int digestlen; + unsigned int digestlen; unsigned char digest[ISC_MAX_MD_SIZE]; if (isc_hmac_final(ctx, digest, &digestlen) != ISC_R_SUCCESS) { @@ -237,9 +238,10 @@ hmac_sign(const dst_context_t *dctx, isc_buffer_t *sig) { } static inline isc_result_t -hmac_verify(const dst_context_t *dctx, const isc_region_t *sig) { - isc_hmac_t *ctx = dctx->ctxdata.hmac_ctx; - unsigned int digestlen; +hmac_verify(const dst_context_t *dctx, const isc_region_t *sig) +{ + isc_hmac_t * ctx = dctx->ctxdata.hmac_ctx; + unsigned int digestlen; unsigned char digest[ISC_MAX_MD_SIZE]; REQUIRE(ctx != NULL); @@ -256,13 +258,14 @@ hmac_verify(const dst_context_t *dctx, const isc_region_t *sig) { return (DST_R_VERIFYFAILURE); } - return (isc_safe_memequal(digest, sig->base, sig->length) ? - ISC_R_SUCCESS : - DST_R_VERIFYFAILURE); + return (isc_safe_memequal(digest, sig->base, sig->length) + ? ISC_R_SUCCESS + : DST_R_VERIFYFAILURE); } static inline bool -hmac_compare(isc_md_type_t type, const dst_key_t *key1, const dst_key_t *key2) { +hmac_compare(isc_md_type_t type, const dst_key_t *key1, const dst_key_t *key2) +{ dst_hmac_key_t *hkey1, *hkey2; hkey1 = key1->keydata.hmac_key; @@ -279,10 +282,11 @@ hmac_compare(isc_md_type_t type, const dst_key_t *key1, const dst_key_t *key2) { } static inline isc_result_t -hmac_generate(isc_md_type_t type, dst_key_t *key) { - isc_buffer_t b; - isc_result_t ret; - unsigned int bytes, len; +hmac_generate(isc_md_type_t type, dst_key_t *key) +{ + isc_buffer_t b; + isc_result_t ret; + unsigned int bytes, len; unsigned char data[ISC_MAX_MD_SIZE] = { 0 }; len = isc_md_type_get_block_size(type); @@ -307,13 +311,15 @@ hmac_generate(isc_md_type_t type, dst_key_t *key) { } static inline bool -hmac_isprivate(const dst_key_t *key) { +hmac_isprivate(const dst_key_t *key) +{ UNUSED(key); return (true); } static inline void -hmac_destroy(dst_key_t *key) { +hmac_destroy(dst_key_t *key) +{ dst_hmac_key_t *hkey = key->keydata.hmac_key; isc_safe_memwipe(hkey, sizeof(*hkey)); isc_mem_put(key->mctx, hkey, sizeof(*hkey)); @@ -321,9 +327,10 @@ hmac_destroy(dst_key_t *key) { } static inline isc_result_t -hmac_todns(const dst_key_t *key, isc_buffer_t *data) { +hmac_todns(const dst_key_t *key, isc_buffer_t *data) +{ dst_hmac_key_t *hkey = key->keydata.hmac_key; - unsigned int bytes; + unsigned int bytes; REQUIRE(hkey != NULL); @@ -337,10 +344,11 @@ hmac_todns(const dst_key_t *key, isc_buffer_t *data) { } static inline isc_result_t -hmac_fromdns(isc_md_type_t type, dst_key_t *key, isc_buffer_t *data) { +hmac_fromdns(isc_md_type_t type, dst_key_t *key, isc_buffer_t *data) +{ dst_hmac_key_t *hkey; - unsigned int keylen; - isc_region_t r; + unsigned int keylen; + isc_region_t r; isc_buffer_remainingregion(data, &r); if (r.length == 0) { @@ -353,8 +361,8 @@ hmac_fromdns(isc_md_type_t type, dst_key_t *key, isc_buffer_t *data) { /* Hash the key if the key is longer then chosen MD block size */ if (r.length > (unsigned int)isc_md_type_get_block_size(type)) { - if (isc_md(type, r.base, r.length, hkey->key, &keylen) - != ISC_R_SUCCESS) { + if (isc_md(type, r.base, r.length, hkey->key, &keylen) != + ISC_R_SUCCESS) { isc_mem_put(key->mctx, hkey, sizeof(dst_hmac_key_t)); return (DST_R_OPENSSLFAILURE); } @@ -372,7 +380,8 @@ hmac_fromdns(isc_md_type_t type, dst_key_t *key, isc_buffer_t *data) { } static inline int -hmac__get_tag_key(isc_md_type_t type) { +hmac__get_tag_key(isc_md_type_t type) +{ if (type == ISC_MD_MD5) { return (TAG_HMACMD5_KEY); } else if (type == ISC_MD_SHA1) { @@ -392,7 +401,8 @@ hmac__get_tag_key(isc_md_type_t type) { } static inline int -hmac__get_tag_bits(isc_md_type_t type) { +hmac__get_tag_bits(isc_md_type_t type) +{ if (type == ISC_MD_MD5) { return (TAG_HMACMD5_BITS); } else if (type == ISC_MD_SHA1) { @@ -412,11 +422,12 @@ hmac__get_tag_bits(isc_md_type_t type) { } static inline isc_result_t -hmac_tofile(isc_md_type_t type, const dst_key_t *key, const char *directory) { +hmac_tofile(isc_md_type_t type, const dst_key_t *key, const char *directory) +{ dst_hmac_key_t *hkey; - dst_private_t priv; - int bytes = (key->key_size + 7) / 8; - uint16_t bits; + dst_private_t priv; + int bytes = (key->key_size + 7) / 8; + uint16_t bits; if (key->keydata.hmac_key == NULL) { return (DST_R_NULLKEY); @@ -444,7 +455,8 @@ hmac_tofile(isc_md_type_t type, const dst_key_t *key, const char *directory) { } static inline int -hmac__to_dst_alg(isc_md_type_t type) { +hmac__to_dst_alg(isc_md_type_t type) +{ if (type == ISC_MD_MD5) { return (DST_ALG_HMACMD5); } else if (type == ISC_MD_SHA1) { @@ -464,14 +476,13 @@ hmac__to_dst_alg(isc_md_type_t type) { } static inline isc_result_t -hmac_parse(isc_md_type_t type, dst_key_t *key, - isc_lex_t *lexer, dst_key_t *pub) +hmac_parse(isc_md_type_t type, dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { dst_private_t priv; - isc_result_t result, tresult; - isc_buffer_t b; - isc_mem_t *mctx = key->mctx; - unsigned int i; + isc_result_t result, tresult; + isc_buffer_t b; + isc_mem_t * mctx = key->mctx; + unsigned int i; UNUSED(pub); /* read private key file */ diff --git a/lib/dns/include/dns/acl.h b/lib/dns/include/dns/acl.h index c4078471a4..317f0808e7 100644 --- a/lib/dns/include/dns/acl.h +++ b/lib/dns/include/dns/acl.h @@ -33,9 +33,9 @@ #include #include +#include #include #include -#include /*** *** Types @@ -57,46 +57,46 @@ typedef struct dns_aclipprefix dns_aclipprefix_t; struct dns_aclipprefix { isc_netaddr_t address; /* IP4/IP6 */ - unsigned int prefixlen; + unsigned int prefixlen; }; struct dns_aclelement { - dns_aclelementtype_t type; - bool negative; - dns_name_t keyname; + dns_aclelementtype_t type; + bool negative; + dns_name_t keyname; #if defined(HAVE_GEOIP2) - dns_geoip_elem_t geoip_elem; + dns_geoip_elem_t geoip_elem; #endif /* HAVE_GEOIP2 */ - dns_acl_t *nestedacl; - int node_num; + dns_acl_t *nestedacl; + int node_num; }; #define dns_acl_node_count(acl) acl->iptable->radix->num_added_node struct dns_acl { - unsigned int magic; - isc_mem_t *mctx; - isc_refcount_t refcount; - dns_iptable_t *iptable; - dns_aclelement_t *elements; - bool has_negatives; - unsigned int alloc; /*%< Elements allocated */ - unsigned int length; /*%< Elements initialized */ - char *name; /*%< Temporary use only */ - ISC_LINK(dns_acl_t) nextincache; /*%< Ditto */ + unsigned int magic; + isc_mem_t * mctx; + isc_refcount_t refcount; + dns_iptable_t * iptable; + dns_aclelement_t *elements; + bool has_negatives; + unsigned int alloc; /*%< Elements allocated */ + unsigned int length; /*%< Elements initialized */ + char * name; /*%< Temporary use only */ + ISC_LINK(dns_acl_t) nextincache; /*%< Ditto */ }; struct dns_aclenv { dns_acl_t *localhost; dns_acl_t *localnets; - bool match_mapped; + bool match_mapped; #if defined(HAVE_GEOIP2) dns_geoip_databases_t *geoip; #endif /* HAVE_GEOIP2 */ }; -#define DNS_ACL_MAGIC ISC_MAGIC('D','a','c','l') -#define DNS_ACL_VALID(a) ISC_MAGIC_VALID(a, DNS_ACL_MAGIC) +#define DNS_ACL_MAGIC ISC_MAGIC('D', 'a', 'c', 'l') +#define DNS_ACL_VALID(a) ISC_MAGIC_VALID(a, DNS_ACL_MAGIC) /*** *** Functions @@ -183,8 +183,8 @@ dns_acl_isinsecure(const dns_acl_t *a); */ bool -dns_acl_allowed(isc_netaddr_t *addr, const dns_name_t *signer, - dns_acl_t *acl, dns_aclenv_t *aclenv); +dns_acl_allowed(isc_netaddr_t *addr, const dns_name_t *signer, dns_acl_t *acl, + dns_aclenv_t *aclenv); /*%< * Return #true iff the 'addr', 'signer', or ECS values are * permitted by 'acl' in environment 'aclenv'. @@ -203,11 +203,8 @@ void dns_aclenv_destroy(dns_aclenv_t *env); isc_result_t -dns_acl_match(const isc_netaddr_t *reqaddr, - const dns_name_t *reqsigner, - const dns_acl_t *acl, - const dns_aclenv_t *env, - int *match, +dns_acl_match(const isc_netaddr_t *reqaddr, const dns_name_t *reqsigner, + const dns_acl_t *acl, const dns_aclenv_t *env, int *match, const dns_aclelement_t **matchelt); /*%< * General, low-level ACL matching. This is expected to @@ -236,10 +233,8 @@ dns_acl_match(const isc_netaddr_t *reqaddr, */ bool -dns_aclelement_match(const isc_netaddr_t *reqaddr, - const dns_name_t *reqsigner, - const dns_aclelement_t *e, - const dns_aclenv_t *env, +dns_aclelement_match(const isc_netaddr_t *reqaddr, const dns_name_t *reqsigner, + const dns_aclelement_t *e, const dns_aclenv_t *env, const dns_aclelement_t **matchelt); /*%< * Like dns_acl_match, but matches against the single ACL element 'e' diff --git a/lib/dns/include/dns/adb.h b/lib/dns/include/dns/adb.h index 5ba920c853..d1ff7db3ef 100644 --- a/lib/dns/include/dns/adb.h +++ b/lib/dns/include/dns/adb.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_ADB_H #define DNS_ADB_H 1 @@ -83,17 +82,16 @@ ISC_LANG_BEGINDECLS *** Magic number checks ***/ -#define DNS_ADBFIND_MAGIC ISC_MAGIC('a','d','b','H') -#define DNS_ADBFIND_VALID(x) ISC_MAGIC_VALID(x, DNS_ADBFIND_MAGIC) -#define DNS_ADBADDRINFO_MAGIC ISC_MAGIC('a','d','A','I') -#define DNS_ADBADDRINFO_VALID(x) ISC_MAGIC_VALID(x, DNS_ADBADDRINFO_MAGIC) - +#define DNS_ADBFIND_MAGIC ISC_MAGIC('a', 'd', 'b', 'H') +#define DNS_ADBFIND_VALID(x) ISC_MAGIC_VALID(x, DNS_ADBFIND_MAGIC) +#define DNS_ADBADDRINFO_MAGIC ISC_MAGIC('a', 'd', 'A', 'I') +#define DNS_ADBADDRINFO_VALID(x) ISC_MAGIC_VALID(x, DNS_ADBADDRINFO_MAGIC) /*** *** TYPES ***/ -typedef struct dns_adbname dns_adbname_t; +typedef struct dns_adbname dns_adbname_t; /*! *\brief @@ -105,24 +103,24 @@ typedef struct dns_adbname dns_adbname_t; */ struct dns_adbfind { /* Public */ - unsigned int magic; /*%< RO: magic */ - dns_adbaddrinfolist_t list; /*%< RO: list of addrs */ - unsigned int query_pending; /*%< RO: partial list */ - unsigned int partial_result; /*%< RO: addrs missing */ - unsigned int options; /*%< RO: options */ - isc_result_t result_v4; /*%< RO: v4 result */ - isc_result_t result_v6; /*%< RO: v6 result */ - ISC_LINK(dns_adbfind_t) publink; /*%< RW: client use */ + unsigned int magic; /*%< RO: magic */ + dns_adbaddrinfolist_t list; /*%< RO: list of addrs */ + unsigned int query_pending; /*%< RO: partial list */ + unsigned int partial_result; /*%< RO: addrs missing */ + unsigned int options; /*%< RO: options */ + isc_result_t result_v4; /*%< RO: v4 result */ + isc_result_t result_v6; /*%< RO: v6 result */ + ISC_LINK(dns_adbfind_t) publink; /*%< RW: client use */ /* Private */ - isc_mutex_t lock; /* locks all below */ - in_port_t port; - int name_bucket; - unsigned int flags; - dns_adbname_t *adbname; - dns_adb_t *adb; - isc_event_t event; - ISC_LINK(dns_adbfind_t) plink; + isc_mutex_t lock; /* locks all below */ + in_port_t port; + int name_bucket; + unsigned int flags; + dns_adbname_t *adbname; + dns_adb_t * adb; + isc_event_t event; + ISC_LINK(dns_adbfind_t) plink; }; /* @@ -159,68 +157,68 @@ struct dns_adbfind { * This bit will NEVER be set if _RETURNLAME is set in the createfind(). */ /*% Return addresses of type INET. */ -#define DNS_ADBFIND_INET 0x00000001 +#define DNS_ADBFIND_INET 0x00000001 /*% Return addresses of type INET6. */ -#define DNS_ADBFIND_INET6 0x00000002 -#define DNS_ADBFIND_ADDRESSMASK 0x00000003 +#define DNS_ADBFIND_INET6 0x00000002 +#define DNS_ADBFIND_ADDRESSMASK 0x00000003 /*% * Only schedule an event if no addresses are known. * Must set _WANTEVENT for this to be meaningful. */ -#define DNS_ADBFIND_EMPTYEVENT 0x00000004 +#define DNS_ADBFIND_EMPTYEVENT 0x00000004 /*% * An event is desired. Check this bit in the returned find to see * if one will actually be generated. */ -#define DNS_ADBFIND_WANTEVENT 0x00000008 +#define DNS_ADBFIND_WANTEVENT 0x00000008 /*% * If set, fetches will not be generated unless no addresses are * available in any of the address families requested. */ -#define DNS_ADBFIND_AVOIDFETCHES 0x00000010 +#define DNS_ADBFIND_AVOIDFETCHES 0x00000010 /*% * Fetches will start using the closest zone data or use the root servers. * This is useful for reestablishing glue that has expired. */ -#define DNS_ADBFIND_STARTATZONE 0x00000020 +#define DNS_ADBFIND_STARTATZONE 0x00000020 /*% * Glue or hints are ok. These are used when matching names already * in the adb, and when dns databases are searched. */ -#define DNS_ADBFIND_GLUEOK 0x00000040 +#define DNS_ADBFIND_GLUEOK 0x00000040 /*% * Glue or hints are ok. These are used when matching names already * in the adb, and when dns databases are searched. */ -#define DNS_ADBFIND_HINTOK 0x00000080 +#define DNS_ADBFIND_HINTOK 0x00000080 /*% * Return lame servers in a find, so that all addresses are returned. */ -#define DNS_ADBFIND_RETURNLAME 0x00000100 +#define DNS_ADBFIND_RETURNLAME 0x00000100 /*% * Only schedule an event if no addresses are known. * Must set _WANTEVENT for this to be meaningful. */ -#define DNS_ADBFIND_LAMEPRUNED 0x00000200 +#define DNS_ADBFIND_LAMEPRUNED 0x00000200 /*% * The server's fetch quota is exceeded; it will be treated as * lame for this query. */ -#define DNS_ADBFIND_OVERQUOTA 0x00000400 +#define DNS_ADBFIND_OVERQUOTA 0x00000400 /*% * The answers to queries come back as a list of these. */ struct dns_adbaddrinfo { - unsigned int magic; /*%< private */ + unsigned int magic; /*%< private */ - isc_sockaddr_t sockaddr; /*%< [rw] */ - unsigned int srtt; /*%< [rw] microsecs */ - isc_dscp_t dscp; + isc_sockaddr_t sockaddr; /*%< [rw] */ + unsigned int srtt; /*%< [rw] microsecs */ + isc_dscp_t dscp; - unsigned int flags; /*%< [rw] */ - dns_adbentry_t *entry; /*%< private */ - ISC_LINK(dns_adbaddrinfo_t) publink; + unsigned int flags; /*%< [rw] */ + dns_adbentry_t *entry; /*%< private */ + ISC_LINK(dns_adbaddrinfo_t) publink; }; /*!< @@ -250,7 +248,6 @@ struct dns_adbaddrinfo { **** FUNCTIONS ****/ - isc_result_t dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_timermgr_t *tmgr, isc_taskmgr_t *taskmgr, dns_adb_t **newadb); @@ -336,8 +333,7 @@ dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action, void *arg, const dns_name_t *name, const dns_name_t *qname, dns_rdatatype_t qtype, unsigned int options, isc_stdtime_t now, dns_name_t *target, in_port_t port, - unsigned int depth, isc_counter_t *qc, - dns_adbfind_t **find); + unsigned int depth, isc_counter_t *qc, dns_adbfind_t **find); /*%< * Main interface for clients. The adb will look up the name given in * "name" and will build up a list of found addresses, and perhaps start @@ -522,13 +518,13 @@ dns_adb_marklame(dns_adb_t *adb, dns_adbaddrinfo_t *addr, * Adjusting the scaling factors is fine, as long as they all remain * unique values.) */ -#define DNS_ADB_RTTADJDEFAULT 7 /*%< default scale */ -#define DNS_ADB_RTTADJREPLACE 0 /*%< replace with our rtt */ -#define DNS_ADB_RTTADJAGE 10 /*%< age this rtt */ +#define DNS_ADB_RTTADJDEFAULT 7 /*%< default scale */ +#define DNS_ADB_RTTADJREPLACE 0 /*%< replace with our rtt */ +#define DNS_ADB_RTTADJAGE 10 /*%< age this rtt */ void -dns_adb_adjustsrtt(dns_adb_t *adb, dns_adbaddrinfo_t *addr, - unsigned int rtt, unsigned int factor); +dns_adb_adjustsrtt(dns_adb_t *adb, dns_adbaddrinfo_t *addr, unsigned int rtt, + unsigned int factor); /*%< * Mix the round trip time into the existing smoothed rtt. * @@ -565,8 +561,8 @@ dns_adb_agesrtt(dns_adb_t *adb, dns_adbaddrinfo_t *addr, isc_stdtime_t now); */ void -dns_adb_changeflags(dns_adb_t *adb, dns_adbaddrinfo_t *addr, - unsigned int bits, unsigned int mask); +dns_adb_changeflags(dns_adb_t *adb, dns_adbaddrinfo_t *addr, unsigned int bits, + unsigned int mask); /*% * Change Flags. * @@ -607,7 +603,7 @@ dns_adb_getudpsize(dns_adb_t *adb, dns_adbaddrinfo_t *addr); */ unsigned int -dns_adb_probesize (dns_adb_t *adb, dns_adbaddrinfo_t *addr, int lookups); +dns_adb_probesize(dns_adb_t *adb, dns_adbaddrinfo_t *addr, int lookups); /*% * Return suggested EDNS UDP size based on observed responses / failures. * 'lookups' is the number of times the current lookup has been attempted. @@ -668,7 +664,6 @@ dns_adb_noedns(dns_adb_t *adb, dns_adbaddrinfo_t *addr); *\li addr be valid. */ - isc_result_t dns_adb_findaddrinfo(dns_adb_t *adb, const isc_sockaddr_t *sa, dns_adbaddrinfo_t **addrp, isc_stdtime_t now); @@ -772,8 +767,8 @@ dns_adb_getcookie(dns_adb_t *adb, dns_adbaddrinfo_t *addr, */ void -dns_adb_setquota(dns_adb_t *adb, uint32_t quota, uint32_t freq, - double low, double high, double discount); +dns_adb_setquota(dns_adb_t *adb, uint32_t quota, uint32_t freq, double low, + double high, double discount); /*%< * Set the baseline ADB quota, and configure parameters for the * quota adjustment algorithm. diff --git a/lib/dns/include/dns/badcache.h b/lib/dns/include/dns/badcache.h index f4ba3d2473..fab05e278a 100644 --- a/lib/dns/include/dns/badcache.h +++ b/lib/dns/include/dns/badcache.h @@ -74,8 +74,8 @@ dns_badcache_destroy(dns_badcache_t **bcp); void dns_badcache_add(dns_badcache_t *bc, const dns_name_t *name, - dns_rdatatype_t type, bool update, - uint32_t flags, isc_time_t *expire); + dns_rdatatype_t type, bool update, uint32_t flags, + isc_time_t *expire); /*% * Adds a badcache entry to the badcache 'bc' for name 'name' and * type 'type'. If an entry already exists, then it will be updated if @@ -90,8 +90,7 @@ dns_badcache_add(dns_badcache_t *bc, const dns_name_t *name, bool dns_badcache_find(dns_badcache_t *bc, const dns_name_t *name, - dns_rdatatype_t type, uint32_t *flagp, - isc_time_t *now); + dns_rdatatype_t type, uint32_t *flagp, isc_time_t *now); /*% * Returns true if a record is found in the badcache 'bc' matching * 'name' and 'type', with an expiration date later than 'now'. diff --git a/lib/dns/include/dns/bit.h b/lib/dns/include/dns/bit.h index 449fad6eee..29038d4a32 100644 --- a/lib/dns/include/dns/bit.h +++ b/lib/dns/include/dns/bit.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_BIT_H #define DNS_BIT_H 1 @@ -19,10 +18,8 @@ typedef uint64_t dns_bitset_t; -#define DNS_BIT_SET(bit, bitset) \ - (*(bitset) |= ((dns_bitset_t)1 << (bit))) -#define DNS_BIT_CLEAR(bit, bitset) \ - (*(bitset) &= ~((dns_bitset_t)1 << (bit))) +#define DNS_BIT_SET(bit, bitset) (*(bitset) |= ((dns_bitset_t)1 << (bit))) +#define DNS_BIT_CLEAR(bit, bitset) (*(bitset) &= ~((dns_bitset_t)1 << (bit))) #define DNS_BIT_CHECK(bit, bitset) \ ((*(bitset) & ((dns_bitset_t)1 << (bit))) == ((dns_bitset_t)1 << (bit))) diff --git a/lib/dns/include/dns/byaddr.h b/lib/dns/include/dns/byaddr.h index a020850259..1732dfdfbe 100644 --- a/lib/dns/include/dns/byaddr.h +++ b/lib/dns/include/dns/byaddr.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_BYADDR_H #define DNS_BYADDR_H 1 @@ -40,8 +39,8 @@ *\li Drafts: TBS */ -#include #include +#include #include @@ -56,8 +55,8 @@ ISC_LANG_BEGINDECLS */ typedef struct dns_byaddrevent { ISC_EVENT_COMMON(struct dns_byaddrevent); - isc_result_t result; - dns_namelist_t names; + isc_result_t result; + dns_namelist_t names; } dns_byaddrevent_t; isc_result_t diff --git a/lib/dns/include/dns/cache.h b/lib/dns/include/dns/cache.h index f8f25d16a3..80c7401a66 100644 --- a/lib/dns/include/dns/cache.h +++ b/lib/dns/include/dns/cache.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_CACHE_H #define DNS_CACHE_H 1 @@ -154,7 +153,6 @@ dns_cache_attachdb(dns_cache_t *cache, dns_db_t **dbp); *\li *dbp is attached to the database. */ - isc_result_t dns_cache_setfilename(dns_cache_t *cache, const char *filename); /*%< @@ -268,8 +266,7 @@ dns_cache_flush(dns_cache_t *cache); */ isc_result_t -dns_cache_flushnode(dns_cache_t *cache, const dns_name_t *name, - bool tree); +dns_cache_flushnode(dns_cache_t *cache, const dns_name_t *name, bool tree); /* * Flush a given name from the cache. If 'tree' is true, then * also flush all names under 'name'. diff --git a/lib/dns/include/dns/callbacks.h b/lib/dns/include/dns/callbacks.h index 9c723f3815..010cf407dd 100644 --- a/lib/dns/include/dns/callbacks.h +++ b/lib/dns/include/dns/callbacks.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_CALLBACKS_H #define DNS_CALLBACKS_H 1 @@ -30,8 +29,8 @@ ISC_LANG_BEGINDECLS *** Types ***/ -#define DNS_CALLBACK_MAGIC ISC_MAGIC('C','L','L','B') -#define DNS_CALLBACK_VALID(cb) ISC_MAGIC_VALID(cb, DNS_CALLBACK_MAGIC) +#define DNS_CALLBACK_MAGIC ISC_MAGIC('C', 'L', 'L', 'B') +#define DNS_CALLBACK_VALID(cb) ISC_MAGIC_VALID(cb, DNS_CALLBACK_MAGIC) struct dns_rdatacallbacks { unsigned int magic; @@ -52,23 +51,23 @@ struct dns_rdatacallbacks { * to pass back information obtained from the file header */ dns_rawdatafunc_t rawdata; - dns_zone_t *zone; + dns_zone_t * zone; /*% * dns_load_master / dns_rdata_fromtext call this to issue a error. */ - void (*error)(struct dns_rdatacallbacks *, const char *, ...); + void (*error)(struct dns_rdatacallbacks *, const char *, ...); /*% * dns_load_master / dns_rdata_fromtext call this to issue a warning. */ - void (*warn)(struct dns_rdatacallbacks *, const char *, ...); + void (*warn)(struct dns_rdatacallbacks *, const char *, ...); /*% * Private data handles for use by the above callback functions. */ - void *add_private; - void *deserialize_private; - void *error_private; - void *warn_private; + void *add_private; + void *deserialize_private; + void *error_private; + void *warn_private; }; /*** diff --git a/lib/dns/include/dns/catz.h b/lib/dns/include/dns/catz.h index 197fcf7d55..c6f51f062b 100644 --- a/lib/dns/include/dns/catz.h +++ b/lib/dns/include/dns/catz.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_CATZ_H #define DNS_CATZ_H 1 @@ -31,12 +30,12 @@ ISC_LANG_BEGINDECLS -#define DNS_CATZ_ERROR_LEVEL ISC_LOG_WARNING -#define DNS_CATZ_INFO_LEVEL ISC_LOG_INFO -#define DNS_CATZ_DEBUG_LEVEL1 ISC_LOG_DEBUG(1) -#define DNS_CATZ_DEBUG_LEVEL2 ISC_LOG_DEBUG(2) -#define DNS_CATZ_DEBUG_LEVEL3 ISC_LOG_DEBUG(3) -#define DNS_CATZ_DEBUG_QUIET (DNS_CATZ_DEBUG_LEVEL3+1) +#define DNS_CATZ_ERROR_LEVEL ISC_LOG_WARNING +#define DNS_CATZ_INFO_LEVEL ISC_LOG_INFO +#define DNS_CATZ_DEBUG_LEVEL1 ISC_LOG_DEBUG(1) +#define DNS_CATZ_DEBUG_LEVEL2 ISC_LOG_DEBUG(2) +#define DNS_CATZ_DEBUG_LEVEL3 ISC_LOG_DEBUG(3) +#define DNS_CATZ_DEBUG_QUIET (DNS_CATZ_DEBUG_LEVEL3 + 1) /* * Catalog Zones functions and structures. @@ -214,7 +213,7 @@ dns_catz_zone_attach(dns_catz_zone_t *zone, dns_catz_zone_t **zonep); */ void -dns_catz_zone_detach(dns_catz_zone_t** zonep); +dns_catz_zone_detach(dns_catz_zone_t **zonep); /*%< * Detach a zone, free if no further references * @@ -319,22 +318,20 @@ dns_catz_generate_zonecfg(dns_catz_zone_t *zone, dns_catz_entry_t *entry, * */ - /* Methods provided by named to dynamically modify the member zones */ /* xxxwpk TODO config! */ typedef isc_result_t (*dns_catz_zoneop_fn_t)(dns_catz_entry_t *entry, - dns_catz_zone_t *origin, - dns_view_t *view, - isc_taskmgr_t *taskmgr, - void *udata); + dns_catz_zone_t * origin, + dns_view_t * view, + isc_taskmgr_t * taskmgr, + void * udata); struct dns_catz_zonemodmethods { dns_catz_zoneop_fn_t addzone; dns_catz_zoneop_fn_t modzone; dns_catz_zoneop_fn_t delzone; - void *udata; + void * udata; }; - isc_result_t dns_catz_new_zones(dns_catz_zones_t **catzsp, dns_catz_zonemodmethods_t *zmm, isc_mem_t *mctx, isc_taskmgr_t *taskmgr, @@ -401,7 +398,6 @@ dns_catz_catzs_set_view(dns_catz_zones_t *catzs, dns_view_t *view); * \li 'catzs->view' is NULL or 'catzs->view' == 'view'. */ - isc_result_t dns_catz_dbupdate_callback(dns_db_t *db, void *fn_arg); /*%< diff --git a/lib/dns/include/dns/cert.h b/lib/dns/include/dns/cert.h index 188d28305f..1659a13b4e 100644 --- a/lib/dns/include/dns/cert.h +++ b/lib/dns/include/dns/cert.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_CERT_H #define DNS_CERT_H 1 diff --git a/lib/dns/include/dns/client.h b/lib/dns/include/dns/client.h index 1740004892..486a48a4de 100644 --- a/lib/dns/include/dns/client.h +++ b/lib/dns/include/dns/client.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_CLIENT_H #define DNS_CLIENT_H 1 @@ -66,42 +65,42 @@ ISC_LANG_BEGINDECLS * Optional flags for dns_client_create(x). */ /*%< Enable caching resolution results (experimental). */ -#define DNS_CLIENTCREATEOPT_USECACHE 0x8000 +#define DNS_CLIENTCREATEOPT_USECACHE 0x8000 /*% * Optional flags for dns_client_(start)resolve. */ /*%< Do not return DNSSEC data (e.g. RRSIGS) with response. */ -#define DNS_CLIENTRESOPT_NODNSSEC 0x01 +#define DNS_CLIENTRESOPT_NODNSSEC 0x01 /*%< Allow running external context. */ -#define DNS_CLIENTRESOPT_ALLOWRUN 0x02 +#define DNS_CLIENTRESOPT_ALLOWRUN 0x02 /*%< Don't validate responses. */ -#define DNS_CLIENTRESOPT_NOVALIDATE 0x04 +#define DNS_CLIENTRESOPT_NOVALIDATE 0x04 /*%< Don't set the CD flag on upstream queries. */ -#define DNS_CLIENTRESOPT_NOCDFLAG 0x08 +#define DNS_CLIENTRESOPT_NOCDFLAG 0x08 /*%< Use TCP transport. */ -#define DNS_CLIENTRESOPT_TCP 0x10 +#define DNS_CLIENTRESOPT_TCP 0x10 /*% * Optional flags for dns_client_(start)request. */ /*%< Allow running external context. */ -#define DNS_CLIENTREQOPT_ALLOWRUN 0x01 +#define DNS_CLIENTREQOPT_ALLOWRUN 0x01 /*%< Use TCP transport. */ -#define DNS_CLIENTREQOPT_TCP 0x02 +#define DNS_CLIENTREQOPT_TCP 0x02 /*% * Optional flags for dns_client_(start)update. */ /*%< Allow running external context. */ -#define DNS_CLIENTUPDOPT_ALLOWRUN 0x01 +#define DNS_CLIENTUPDOPT_ALLOWRUN 0x01 /*%< Use TCP transport. */ -#define DNS_CLIENTUPDOPT_TCP 0x02 +#define DNS_CLIENTUPDOPT_TCP 0x02 /*% * View name used in dns_client. */ -#define DNS_CLIENTVIEW_NAME "_dnsclient" +#define DNS_CLIENTVIEW_NAME "_dnsclient" /*% * A dns_clientresevent_t is sent when name resolution performed by a client @@ -114,18 +113,18 @@ ISC_LANG_BEGINDECLS */ typedef struct dns_clientresevent { ISC_EVENT_COMMON(struct dns_clientresevent); - isc_result_t result; - isc_result_t vresult; - dns_namelist_t answerlist; -} dns_clientresevent_t; /* too long? */ + isc_result_t result; + isc_result_t vresult; + dns_namelist_t answerlist; +} dns_clientresevent_t; /* too long? */ /*% * Status of a dynamic update procedure. */ typedef enum { - dns_clientupdatestate_prepare, /*%< no updates have been sent */ - dns_clientupdatestate_sent, /*%< updates were sent, no response */ - dns_clientupdatestate_done /*%< update was sent and succeeded */ + dns_clientupdatestate_prepare, /*%< no updates have been sent */ + dns_clientupdatestate_sent, /*%< updates were sent, no response */ + dns_clientupdatestate_done /*%< update was sent and succeeded */ } dns_clientupdatestate_t; /*% @@ -138,9 +137,9 @@ typedef enum { */ typedef struct dns_clientreqevent { ISC_EVENT_COMMON(struct dns_clientreqevent); - isc_result_t result; - dns_message_t *rmessage; -} dns_clientreqevent_t; /* too long? */ + isc_result_t result; + dns_message_t *rmessage; +} dns_clientreqevent_t; /* too long? */ /*% * A dns_clientupdateevent_t is sent when dynamic update performed by a client @@ -154,17 +153,17 @@ typedef struct dns_clientreqevent { typedef struct dns_clientupdateevent { ISC_EVENT_COMMON(struct dns_clientupdateevent); isc_result_t result; - dns_clientupdatestate_t state; -} dns_clientupdateevent_t; /* too long? */ + dns_clientupdatestate_t state; +} dns_clientupdateevent_t; /* too long? */ isc_result_t dns_client_create(dns_client_t **clientp, unsigned int options); isc_result_t -dns_client_createx(isc_mem_t *mctx, isc_appctx_t *actx, - isc_taskmgr_t *taskmgr, isc_socketmgr_t *socketmgr, - isc_timermgr_t *timermgr, unsigned int options, - dns_client_t **clientp, const isc_sockaddr_t *localaddr4, +dns_client_createx(isc_mem_t *mctx, isc_appctx_t *actx, isc_taskmgr_t *taskmgr, + isc_socketmgr_t *socketmgr, isc_timermgr_t *timermgr, + unsigned int options, dns_client_t **clientp, + const isc_sockaddr_t *localaddr4, const isc_sockaddr_t *localaddr6); /*%< * Create a DNS client. These functions create a new client object with @@ -521,10 +520,10 @@ dns_client_update(dns_client_t *client, dns_rdataclass_t rdclass, isc_result_t dns_client_startupdate(dns_client_t *client, dns_rdataclass_t rdclass, const dns_name_t *zonename, - dns_namelist_t *prerequisites, - dns_namelist_t *updates, isc_sockaddrlist_t *servers, - dns_tsec_t *tsec, unsigned int options, - isc_task_t *task, isc_taskaction_t action, void *arg, + dns_namelist_t *prerequisites, dns_namelist_t *updates, + isc_sockaddrlist_t *servers, dns_tsec_t *tsec, + unsigned int options, isc_task_t *task, + isc_taskaction_t action, void *arg, dns_clientupdatetrans_t **transp); /*%< * Perform DNS dynamic update for 'updates' of the 'rdclass' class with @@ -635,10 +634,10 @@ dns_client_destroyupdatetrans(dns_clientupdatetrans_t **transp); isc_result_t dns_client_updaterec(dns_client_updateop_t op, const dns_name_t *owner, - dns_rdatatype_t type, dns_rdata_t *source, - dns_ttl_t ttl, dns_name_t *target, - dns_rdataset_t *rdataset, dns_rdatalist_t *rdatalist, - dns_rdata_t *rdata, isc_mem_t *mctx); + dns_rdatatype_t type, dns_rdata_t *source, dns_ttl_t ttl, + dns_name_t *target, dns_rdataset_t *rdataset, + dns_rdatalist_t *rdatalist, dns_rdata_t *rdata, + isc_mem_t *mctx); /*%< * TBD */ diff --git a/lib/dns/include/dns/clientinfo.h b/lib/dns/include/dns/clientinfo.h index 1d85ec45bf..e9b4a779ee 100644 --- a/lib/dns/include/dns/clientinfo.h +++ b/lib/dns/include/dns/clientinfo.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_CLIENTINFO_H #define DNS_CLIENTINFO_H 1 @@ -51,19 +50,19 @@ ISC_LANG_BEGINDECLS #define DNS_CLIENTINFO_VERSION 2 typedef struct dns_clientinfo { uint16_t version; - void *data; - void *dbversion; + void * data; + void * dbversion; } dns_clientinfo_t; typedef isc_result_t (*dns_clientinfo_sourceip_t)(dns_clientinfo_t *client, - isc_sockaddr_t **addrp); + isc_sockaddr_t ** addrp); #define DNS_CLIENTINFOMETHODS_VERSION 2 #define DNS_CLIENTINFOMETHODS_AGE 1 typedef struct dns_clientinfomethods { - uint16_t version; - uint16_t age; + uint16_t version; + uint16_t age; dns_clientinfo_sourceip_t sourceip; } dns_clientinfomethods_t; @@ -71,7 +70,7 @@ typedef struct dns_clientinfomethods { ***** Methods *****/ void -dns_clientinfomethods_init(dns_clientinfomethods_t *methods, +dns_clientinfomethods_init(dns_clientinfomethods_t * methods, dns_clientinfo_sourceip_t sourceip); void diff --git a/lib/dns/include/dns/compress.h b/lib/dns/include/dns/compress.h index 36e35894fe..178a9b3a2c 100644 --- a/lib/dns/include/dns/compress.h +++ b/lib/dns/include/dns/compress.h @@ -18,8 +18,8 @@ #include #include -#include #include +#include ISC_LANG_BEGINDECLS @@ -38,11 +38,11 @@ ISC_LANG_BEGINDECLS * used by a nameserver's configuration manager. */ -#define DNS_COMPRESS_NONE 0x00 /*%< no compression */ -#define DNS_COMPRESS_GLOBAL14 0x01 /*%< "normal" compression. */ -#define DNS_COMPRESS_ALL 0x01 /*%< all compression. */ -#define DNS_COMPRESS_CASESENSITIVE 0x02 /*%< case sensitive compression. */ -#define DNS_COMPRESS_ENABLED 0x04 +#define DNS_COMPRESS_NONE 0x00 /*%< no compression */ +#define DNS_COMPRESS_GLOBAL14 0x01 /*%< "normal" compression. */ +#define DNS_COMPRESS_ALL 0x01 /*%< all compression. */ +#define DNS_COMPRESS_CASESENSITIVE 0x02 /*%< case sensitive compression. */ +#define DNS_COMPRESS_ENABLED 0x04 /* * DNS_COMPRESS_TABLESIZE must be a power of 2. The compress code @@ -56,36 +56,36 @@ ISC_LANG_BEGINDECLS typedef struct dns_compressnode dns_compressnode_t; struct dns_compressnode { - dns_compressnode_t *next; - uint16_t offset; - uint16_t count; - isc_region_t r; - dns_name_t name; + dns_compressnode_t *next; + uint16_t offset; + uint16_t count; + isc_region_t r; + dns_name_t name; }; struct dns_compress { - unsigned int magic; /*%< Magic number. */ - unsigned int allowed; /*%< Allowed methods. */ - int edns; /*%< Edns version or -1. */ + unsigned int magic; /*%< Magic number. */ + unsigned int allowed; /*%< Allowed methods. */ + int edns; /*%< Edns version or -1. */ /*% Global compression table. */ - dns_compressnode_t *table[DNS_COMPRESS_TABLESIZE]; + dns_compressnode_t *table[DNS_COMPRESS_TABLESIZE]; /*% Preallocated nodes for the table. */ - dns_compressnode_t initialnodes[DNS_COMPRESS_INITIALNODES]; - uint16_t count; /*%< Number of nodes. */ - isc_mem_t *mctx; /*%< Memory context. */ + dns_compressnode_t initialnodes[DNS_COMPRESS_INITIALNODES]; + uint16_t count; /*%< Number of nodes. */ + isc_mem_t * mctx; /*%< Memory context. */ }; typedef enum { - DNS_DECOMPRESS_ANY, /*%< Any compression */ - DNS_DECOMPRESS_STRICT, /*%< Allowed compression */ - DNS_DECOMPRESS_NONE /*%< No compression */ + DNS_DECOMPRESS_ANY, /*%< Any compression */ + DNS_DECOMPRESS_STRICT, /*%< Allowed compression */ + DNS_DECOMPRESS_NONE /*%< No compression */ } dns_decompresstype_t; struct dns_decompress { - unsigned int magic; /*%< Magic number. */ - unsigned int allowed; /*%< Allowed methods. */ - int edns; /*%< Edns version or -1. */ - dns_decompresstype_t type; /*%< Strict checking */ + unsigned int magic; /*%< Magic number. */ + unsigned int allowed; /*%< Allowed methods. */ + int edns; /*%< Edns version or -1. */ + dns_decompresstype_t type; /*%< Strict checking */ }; isc_result_t diff --git a/lib/dns/include/dns/db.h b/lib/dns/include/dns/db.h index 4f77471e79..0c9e6435d4 100644 --- a/lib/dns/include/dns/db.h +++ b/lib/dns/include/dns/db.h @@ -69,147 +69,129 @@ ISC_LANG_BEGINDECLS *****/ typedef struct dns_dbmethods { - void (*attach)(dns_db_t *source, dns_db_t **targetp); - void (*detach)(dns_db_t **dbp); - isc_result_t (*beginload)(dns_db_t *db, - dns_rdatacallbacks_t *callbacks); - isc_result_t (*endload)(dns_db_t *db, - dns_rdatacallbacks_t *callbacks); - isc_result_t (*serialize)(dns_db_t *db, - dns_dbversion_t *version, FILE *file); - isc_result_t (*dump)(dns_db_t *db, dns_dbversion_t *version, - const char *filename, - dns_masterformat_t masterformat); - void (*currentversion)(dns_db_t *db, - dns_dbversion_t **versionp); - isc_result_t (*newversion)(dns_db_t *db, - dns_dbversion_t **versionp); - void (*attachversion)(dns_db_t *db, dns_dbversion_t *source, - dns_dbversion_t **targetp); - void (*closeversion)(dns_db_t *db, - dns_dbversion_t **versionp, - bool commit); - isc_result_t (*findnode)(dns_db_t *db, const dns_name_t *name, - bool create, - dns_dbnode_t **nodep); - isc_result_t (*find)(dns_db_t *db, const dns_name_t *name, - dns_dbversion_t *version, - dns_rdatatype_t type, unsigned int options, - isc_stdtime_t now, - dns_dbnode_t **nodep, dns_name_t *foundname, - dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset); - isc_result_t (*findzonecut)(dns_db_t *db, const dns_name_t *name, - unsigned int options, isc_stdtime_t now, - dns_dbnode_t **nodep, - dns_name_t *foundname, - dns_name_t *dcname, - dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset); - void (*attachnode)(dns_db_t *db, - dns_dbnode_t *source, - dns_dbnode_t **targetp); - void (*detachnode)(dns_db_t *db, - dns_dbnode_t **targetp); - isc_result_t (*expirenode)(dns_db_t *db, dns_dbnode_t *node, - isc_stdtime_t now); - void (*printnode)(dns_db_t *db, dns_dbnode_t *node, - FILE *out); - isc_result_t (*createiterator)(dns_db_t *db, unsigned int options, - dns_dbiterator_t **iteratorp); - isc_result_t (*findrdataset)(dns_db_t *db, dns_dbnode_t *node, - dns_dbversion_t *version, - dns_rdatatype_t type, - dns_rdatatype_t covers, - isc_stdtime_t now, - dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset); - isc_result_t (*allrdatasets)(dns_db_t *db, dns_dbnode_t *node, - dns_dbversion_t *version, - isc_stdtime_t now, - dns_rdatasetiter_t **iteratorp); - isc_result_t (*addrdataset)(dns_db_t *db, dns_dbnode_t *node, + void (*attach)(dns_db_t *source, dns_db_t **targetp); + void (*detach)(dns_db_t **dbp); + isc_result_t (*beginload)(dns_db_t * db, + dns_rdatacallbacks_t *callbacks); + isc_result_t (*endload)(dns_db_t *db, dns_rdatacallbacks_t *callbacks); + isc_result_t (*serialize)(dns_db_t *db, dns_dbversion_t *version, + FILE *file); + isc_result_t (*dump)(dns_db_t *db, dns_dbversion_t *version, + const char * filename, + dns_masterformat_t masterformat); + void (*currentversion)(dns_db_t *db, dns_dbversion_t **versionp); + isc_result_t (*newversion)(dns_db_t *db, dns_dbversion_t **versionp); + void (*attachversion)(dns_db_t *db, dns_dbversion_t *source, + dns_dbversion_t **targetp); + void (*closeversion)(dns_db_t *db, dns_dbversion_t **versionp, + bool commit); + isc_result_t (*findnode)(dns_db_t *db, const dns_name_t *name, + bool create, dns_dbnode_t **nodep); + isc_result_t (*find)(dns_db_t *db, const dns_name_t *name, + dns_dbversion_t *version, dns_rdatatype_t type, + unsigned int options, isc_stdtime_t now, + dns_dbnode_t **nodep, dns_name_t *foundname, + dns_rdataset_t *rdataset, + dns_rdataset_t *sigrdataset); + isc_result_t (*findzonecut)(dns_db_t *db, const dns_name_t *name, + unsigned int options, isc_stdtime_t now, + dns_dbnode_t **nodep, dns_name_t *foundname, + dns_name_t * dcname, + dns_rdataset_t *rdataset, + dns_rdataset_t *sigrdataset); + void (*attachnode)(dns_db_t *db, dns_dbnode_t *source, + dns_dbnode_t **targetp); + void (*detachnode)(dns_db_t *db, dns_dbnode_t **targetp); + isc_result_t (*expirenode)(dns_db_t *db, dns_dbnode_t *node, + isc_stdtime_t now); + void (*printnode)(dns_db_t *db, dns_dbnode_t *node, FILE *out); + isc_result_t (*createiterator)(dns_db_t *db, unsigned int options, + dns_dbiterator_t **iteratorp); + isc_result_t (*findrdataset)(dns_db_t *db, dns_dbnode_t *node, + dns_dbversion_t *version, + dns_rdatatype_t type, + dns_rdatatype_t covers, isc_stdtime_t now, + dns_rdataset_t *rdataset, + dns_rdataset_t *sigrdataset); + isc_result_t (*allrdatasets)(dns_db_t *db, dns_dbnode_t *node, + dns_dbversion_t * version, + isc_stdtime_t now, + dns_rdatasetiter_t **iteratorp); + isc_result_t (*addrdataset)(dns_db_t *db, dns_dbnode_t *node, + dns_dbversion_t *version, isc_stdtime_t now, + dns_rdataset_t *rdataset, + unsigned int options, + dns_rdataset_t *addedrdataset); + isc_result_t (*subtractrdataset)(dns_db_t *db, dns_dbnode_t *node, + dns_dbversion_t *version, + dns_rdataset_t * rdataset, + unsigned int options, + dns_rdataset_t * newrdataset); + isc_result_t (*deleterdataset)(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, - isc_stdtime_t now, - dns_rdataset_t *rdataset, - unsigned int options, - dns_rdataset_t *addedrdataset); - isc_result_t (*subtractrdataset)(dns_db_t *db, dns_dbnode_t *node, - dns_dbversion_t *version, - dns_rdataset_t *rdataset, - unsigned int options, - dns_rdataset_t *newrdataset); - isc_result_t (*deleterdataset)(dns_db_t *db, dns_dbnode_t *node, - dns_dbversion_t *version, - dns_rdatatype_t type, - dns_rdatatype_t covers); - bool (*issecure)(dns_db_t *db); - unsigned int (*nodecount)(dns_db_t *db); - bool (*ispersistent)(dns_db_t *db); - void (*overmem)(dns_db_t *db, bool overmem); - void (*settask)(dns_db_t *db, isc_task_t *); - isc_result_t (*getoriginnode)(dns_db_t *db, dns_dbnode_t **nodep); - void (*transfernode)(dns_db_t *db, dns_dbnode_t **sourcep, - dns_dbnode_t **targetp); - isc_result_t (*getnsec3parameters)(dns_db_t *db, - dns_dbversion_t *version, - dns_hash_t *hash, - uint8_t *flags, - uint16_t *iterations, - unsigned char *salt, - size_t *salt_len); - isc_result_t (*findnsec3node)(dns_db_t *db, const dns_name_t *name, - bool create, - dns_dbnode_t **nodep); - isc_result_t (*setsigningtime)(dns_db_t *db, - dns_rdataset_t *rdataset, - isc_stdtime_t resign); - isc_result_t (*getsigningtime)(dns_db_t *db, - dns_rdataset_t *rdataset, - dns_name_t *name); - void (*resigned)(dns_db_t *db, dns_rdataset_t *rdataset, - dns_dbversion_t *version); - bool (*isdnssec)(dns_db_t *db); - dns_stats_t *(*getrrsetstats)(dns_db_t *db); - void (*rpz_attach)(dns_db_t *db, void *rpzs, - uint8_t rpz_num); - isc_result_t (*rpz_ready)(dns_db_t *db); - isc_result_t (*findnodeext)(dns_db_t *db, const dns_name_t *name, - bool create, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo, - dns_dbnode_t **nodep); - isc_result_t (*findext)(dns_db_t *db, const dns_name_t *name, - dns_dbversion_t *version, - dns_rdatatype_t type, unsigned int options, - isc_stdtime_t now, - dns_dbnode_t **nodep, dns_name_t *foundname, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo, - dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset); - isc_result_t (*setcachestats)(dns_db_t *db, isc_stats_t *stats); - size_t (*hashsize)(dns_db_t *db); - isc_result_t (*nodefullname)(dns_db_t *db, dns_dbnode_t *node, - dns_name_t *name); - isc_result_t (*getsize)(dns_db_t *db, dns_dbversion_t *version, - uint64_t *records, uint64_t *bytes); - isc_result_t (*setservestalettl)(dns_db_t *db, dns_ttl_t ttl); - isc_result_t (*getservestalettl)(dns_db_t *db, dns_ttl_t *ttl); - isc_result_t (*setgluecachestats)(dns_db_t *db, isc_stats_t *stats); + dns_rdatatype_t type, + dns_rdatatype_t covers); + bool (*issecure)(dns_db_t *db); + unsigned int (*nodecount)(dns_db_t *db); + bool (*ispersistent)(dns_db_t *db); + void (*overmem)(dns_db_t *db, bool overmem); + void (*settask)(dns_db_t *db, isc_task_t *); + isc_result_t (*getoriginnode)(dns_db_t *db, dns_dbnode_t **nodep); + void (*transfernode)(dns_db_t *db, dns_dbnode_t **sourcep, + dns_dbnode_t **targetp); + isc_result_t (*getnsec3parameters)(dns_db_t * db, + dns_dbversion_t *version, + dns_hash_t *hash, uint8_t *flags, + uint16_t * iterations, + unsigned char *salt, + size_t * salt_len); + isc_result_t (*findnsec3node)(dns_db_t *db, const dns_name_t *name, + bool create, dns_dbnode_t **nodep); + isc_result_t (*setsigningtime)(dns_db_t *db, dns_rdataset_t *rdataset, + isc_stdtime_t resign); + isc_result_t (*getsigningtime)(dns_db_t *db, dns_rdataset_t *rdataset, + dns_name_t *name); + void (*resigned)(dns_db_t *db, dns_rdataset_t *rdataset, + dns_dbversion_t *version); + bool (*isdnssec)(dns_db_t *db); + dns_stats_t *(*getrrsetstats)(dns_db_t *db); + void (*rpz_attach)(dns_db_t *db, void *rpzs, uint8_t rpz_num); + isc_result_t (*rpz_ready)(dns_db_t *db); + isc_result_t (*findnodeext)(dns_db_t *db, const dns_name_t *name, + bool create, + dns_clientinfomethods_t *methods, + dns_clientinfo_t * clientinfo, + dns_dbnode_t ** nodep); + isc_result_t (*findext)(dns_db_t *db, const dns_name_t *name, + dns_dbversion_t *version, dns_rdatatype_t type, + unsigned int options, isc_stdtime_t now, + dns_dbnode_t **nodep, dns_name_t *foundname, + dns_clientinfomethods_t *methods, + dns_clientinfo_t * clientinfo, + dns_rdataset_t * rdataset, + dns_rdataset_t * sigrdataset); + isc_result_t (*setcachestats)(dns_db_t *db, isc_stats_t *stats); + size_t (*hashsize)(dns_db_t *db); + isc_result_t (*nodefullname)(dns_db_t *db, dns_dbnode_t *node, + dns_name_t *name); + isc_result_t (*getsize)(dns_db_t *db, dns_dbversion_t *version, + uint64_t *records, uint64_t *bytes); + isc_result_t (*setservestalettl)(dns_db_t *db, dns_ttl_t ttl); + isc_result_t (*getservestalettl)(dns_db_t *db, dns_ttl_t *ttl); + isc_result_t (*setgluecachestats)(dns_db_t *db, isc_stats_t *stats); } dns_dbmethods_t; -typedef isc_result_t -(*dns_dbcreatefunc_t)(isc_mem_t *mctx, const dns_name_t *name, - dns_dbtype_t type, dns_rdataclass_t rdclass, - unsigned int argc, char *argv[], void *driverarg, - dns_db_t **dbp); +typedef isc_result_t (*dns_dbcreatefunc_t)(isc_mem_t * mctx, + const dns_name_t *name, + dns_dbtype_t type, + dns_rdataclass_t rdclass, + unsigned int argc, char *argv[], + void *driverarg, dns_db_t **dbp); -typedef isc_result_t -(*dns_dbupdate_callback_t)(dns_db_t *db, void *fn_arg); +typedef isc_result_t (*dns_dbupdate_callback_t)(dns_db_t *db, void *fn_arg); -#define DNS_DB_MAGIC ISC_MAGIC('D','N','S','D') -#define DNS_DB_VALID(db) ISC_MAGIC_VALID(db, DNS_DB_MAGIC) +#define DNS_DB_MAGIC ISC_MAGIC('D', 'N', 'S', 'D') +#define DNS_DB_VALID(db) ISC_MAGIC_VALID(db, DNS_DB_MAGIC) /*% * This structure is actually just the common prefix of a DNS db @@ -221,66 +203,66 @@ typedef isc_result_t * invariants. */ struct dns_db { - unsigned int magic; - unsigned int impmagic; - dns_dbmethods_t * methods; - uint16_t attributes; - dns_rdataclass_t rdclass; - dns_name_t origin; - isc_mem_t * mctx; - ISC_LIST(dns_dbonupdatelistener_t) update_listeners; + unsigned int magic; + unsigned int impmagic; + dns_dbmethods_t *methods; + uint16_t attributes; + dns_rdataclass_t rdclass; + dns_name_t origin; + isc_mem_t * mctx; + ISC_LIST(dns_dbonupdatelistener_t) update_listeners; }; -#define DNS_DBATTR_CACHE 0x01 -#define DNS_DBATTR_STUB 0x02 +#define DNS_DBATTR_CACHE 0x01 +#define DNS_DBATTR_STUB 0x02 struct dns_dbonupdatelistener { - dns_dbupdate_callback_t onupdate; - void * onupdate_arg; - ISC_LINK(dns_dbonupdatelistener_t) link; + dns_dbupdate_callback_t onupdate; + void * onupdate_arg; + ISC_LINK(dns_dbonupdatelistener_t) link; }; /*@{*/ /*% * Options that can be specified for dns_db_find(). */ -#define DNS_DBFIND_GLUEOK 0x0001 -#define DNS_DBFIND_VALIDATEGLUE 0x0002 -#define DNS_DBFIND_NOWILD 0x0004 -#define DNS_DBFIND_PENDINGOK 0x0008 -#define DNS_DBFIND_NOEXACT 0x0010 -#define DNS_DBFIND_FORCENSEC 0x0020 -#define DNS_DBFIND_COVERINGNSEC 0x0040 -#define DNS_DBFIND_FORCENSEC3 0x0080 -#define DNS_DBFIND_ADDITIONALOK 0x0100 -#define DNS_DBFIND_NOZONECUT 0x0200 -#define DNS_DBFIND_STALEOK 0x0400 +#define DNS_DBFIND_GLUEOK 0x0001 +#define DNS_DBFIND_VALIDATEGLUE 0x0002 +#define DNS_DBFIND_NOWILD 0x0004 +#define DNS_DBFIND_PENDINGOK 0x0008 +#define DNS_DBFIND_NOEXACT 0x0010 +#define DNS_DBFIND_FORCENSEC 0x0020 +#define DNS_DBFIND_COVERINGNSEC 0x0040 +#define DNS_DBFIND_FORCENSEC3 0x0080 +#define DNS_DBFIND_ADDITIONALOK 0x0100 +#define DNS_DBFIND_NOZONECUT 0x0200 +#define DNS_DBFIND_STALEOK 0x0400 /*@}*/ /*@{*/ /*% * Options that can be specified for dns_db_addrdataset(). */ -#define DNS_DBADD_MERGE 0x01 -#define DNS_DBADD_FORCE 0x02 -#define DNS_DBADD_EXACT 0x04 -#define DNS_DBADD_EXACTTTL 0x08 -#define DNS_DBADD_PREFETCH 0x10 +#define DNS_DBADD_MERGE 0x01 +#define DNS_DBADD_FORCE 0x02 +#define DNS_DBADD_EXACT 0x04 +#define DNS_DBADD_EXACTTTL 0x08 +#define DNS_DBADD_PREFETCH 0x10 /*@}*/ /*% * Options that can be specified for dns_db_subtractrdataset(). */ -#define DNS_DBSUB_EXACT 0x01 -#define DNS_DBSUB_WANTOLD 0x02 +#define DNS_DBSUB_EXACT 0x01 +#define DNS_DBSUB_WANTOLD 0x02 /*@{*/ /*% * Iterator options */ -#define DNS_DB_RELATIVENAMES 0x1 -#define DNS_DB_NSEC3ONLY 0x2 -#define DNS_DB_NONSEC3 0x4 +#define DNS_DB_RELATIVENAMES 0x1 +#define DNS_DB_NSEC3ONLY 0x2 +#define DNS_DB_NONSEC3 0x4 /*@}*/ /***** @@ -293,8 +275,8 @@ struct dns_dbonupdatelistener { isc_result_t dns_db_create(isc_mem_t *mctx, const char *db_type, const dns_name_t *origin, - dns_dbtype_t type, dns_rdataclass_t rdclass, - unsigned int argc, char *argv[], dns_db_t **dbp); + dns_dbtype_t type, dns_rdataclass_t rdclass, unsigned int argc, + char *argv[], dns_db_t **dbp); /*%< * Create a new database using implementation 'db_type'. * @@ -656,8 +638,7 @@ dns_db_attachversion(dns_db_t *db, dns_dbversion_t *source, */ void -dns_db_closeversion(dns_db_t *db, dns_dbversion_t **versionp, - bool commit); +dns_db_closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit); /*%< * Close version '*versionp'. * @@ -934,11 +915,10 @@ dns_db_findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, */ isc_result_t -dns_db_findzonecut(dns_db_t *db, const dns_name_t *name, - unsigned int options, isc_stdtime_t now, - dns_dbnode_t **nodep, dns_name_t *foundname, - dns_name_t *dcname, dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset); +dns_db_findzonecut(dns_db_t *db, const dns_name_t *name, unsigned int options, + isc_stdtime_t now, dns_dbnode_t **nodep, + dns_name_t *foundname, dns_name_t *dcname, + dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset); /*%< * Find the deepest known zonecut which encloses 'name' in 'db'. * @@ -1248,9 +1228,8 @@ dns_db_addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, * Returns: * * \li #ISC_R_SUCCESS - * \li #DNS_R_UNCHANGED The operation did not change anything. - * \li #ISC_R_NOMEMORY - * \li #DNS_R_NOTEXACT + * \li #DNS_R_UNCHANGED The operation did not change + *anything. \li #ISC_R_NOMEMORY \li #DNS_R_NOTEXACT * * \li Other results are possible, depending upon the database * implementation used. @@ -1291,11 +1270,10 @@ dns_db_subtractrdataset(dns_db_t *db, dns_dbnode_t *node, * Returns: * * \li #ISC_R_SUCCESS - * \li #DNS_R_UNCHANGED The operation did not change anything. - * \li #DNS_R_NXRRSET All rdata of the same type as those - * in 'rdataset' have been deleted. - * \li #DNS_R_NOTEXACT Some part of 'rdataset' did not - * exist and DNS_DBSUB_EXACT was set. + * \li #DNS_R_UNCHANGED The operation did not change + *anything. \li #DNS_R_NXRRSET All rdata of the same type as + *those in 'rdataset' have been deleted. \li #DNS_R_NOTEXACT + *Some part of 'rdataset' did not exist and DNS_DBSUB_EXACT was set. * * \li Other results are possible, depending upon the database * implementation used. @@ -1333,8 +1311,8 @@ dns_db_deleterdataset(dns_db_t *db, dns_dbnode_t *node, * Returns: * * \li #ISC_R_SUCCESS - * \li #DNS_R_UNCHANGED No rdatasets of 'type' existed before - * the operation was attempted. + * \li #DNS_R_UNCHANGED No rdatasets of 'type' existed + *before the operation was attempted. * * \li Other results are possible, depending upon the database * implementation used. @@ -1473,8 +1451,8 @@ dns_db_getoriginnode(dns_db_t *db, dns_dbnode_t **nodep); isc_result_t dns_db_getnsec3parameters(dns_db_t *db, dns_dbversion_t *version, dns_hash_t *hash, uint8_t *flags, - uint16_t *interations, - unsigned char *salt, size_t *salt_length); + uint16_t *interations, unsigned char *salt, + size_t *salt_length); /*%< * Get the NSEC3 parameters that are associated with this zone. * @@ -1506,8 +1484,8 @@ dns_db_getsize(dns_db_t *db, dns_dbversion_t *version, uint64_t *records, */ isc_result_t -dns_db_findnsec3node(dns_db_t *db, const dns_name_t *name, - bool create, dns_dbnode_t **nodep); +dns_db_findnsec3node(dns_db_t *db, const dns_name_t *name, bool create, + dns_dbnode_t **nodep); /*%< * Find the NSEC3 node with name 'name'. * @@ -1619,23 +1597,20 @@ dns_db_setcachestats(dns_db_t *db, isc_stats_t *stats); */ void -dns_db_rpz_attach(dns_db_t *db, void *rpzs, uint8_t rpz_num) - ISC_DEPRECATED; +dns_db_rpz_attach(dns_db_t *db, void *rpzs, uint8_t rpz_num) ISC_DEPRECATED; /*%< * Attach the response policy information for a view to a database for a * zone for the view. */ isc_result_t -dns_db_rpz_ready(dns_db_t *db) - ISC_DEPRECATED; +dns_db_rpz_ready(dns_db_t *db) ISC_DEPRECATED; /*%< * Finish loading a response policy zone. */ isc_result_t -dns_db_updatenotify_register(dns_db_t *db, - dns_dbupdate_callback_t fn, +dns_db_updatenotify_register(dns_db_t *db, dns_dbupdate_callback_t fn, void *fn_arg); /*%< * Register a notify-on-update callback function to a database. @@ -1649,8 +1624,7 @@ dns_db_updatenotify_register(dns_db_t *db, */ isc_result_t -dns_db_updatenotify_unregister(dns_db_t *db, - dns_dbupdate_callback_t fn, +dns_db_updatenotify_unregister(dns_db_t *db, dns_dbupdate_callback_t fn, void *fn_arg); /*%< * Unregister a notify-on-update callback. diff --git a/lib/dns/include/dns/dbiterator.h b/lib/dns/include/dns/dbiterator.h index fd92d17539..3f68f12e21 100644 --- a/lib/dns/include/dns/dbiterator.h +++ b/lib/dns/include/dns/dbiterator.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_DBITERATOR_H #define DNS_DBITERATOR_H 1 @@ -68,22 +67,21 @@ ISC_LANG_BEGINDECLS *****/ typedef struct dns_dbiteratormethods { - void (*destroy)(dns_dbiterator_t **iteratorp); - isc_result_t (*first)(dns_dbiterator_t *iterator); - isc_result_t (*last)(dns_dbiterator_t *iterator); - isc_result_t (*seek)(dns_dbiterator_t *iterator, - const dns_name_t *name); - isc_result_t (*prev)(dns_dbiterator_t *iterator); - isc_result_t (*next)(dns_dbiterator_t *iterator); - isc_result_t (*current)(dns_dbiterator_t *iterator, - dns_dbnode_t **nodep, dns_name_t *name); - isc_result_t (*pause)(dns_dbiterator_t *iterator); - isc_result_t (*origin)(dns_dbiterator_t *iterator, - dns_name_t *name); + void (*destroy)(dns_dbiterator_t **iteratorp); + isc_result_t (*first)(dns_dbiterator_t *iterator); + isc_result_t (*last)(dns_dbiterator_t *iterator); + isc_result_t (*seek)(dns_dbiterator_t *iterator, + const dns_name_t *name); + isc_result_t (*prev)(dns_dbiterator_t *iterator); + isc_result_t (*next)(dns_dbiterator_t *iterator); + isc_result_t (*current)(dns_dbiterator_t *iterator, + dns_dbnode_t **nodep, dns_name_t *name); + isc_result_t (*pause)(dns_dbiterator_t *iterator); + isc_result_t (*origin)(dns_dbiterator_t *iterator, dns_name_t *name); } dns_dbiteratormethods_t; -#define DNS_DBITERATOR_MAGIC ISC_MAGIC('D','N','S','I') -#define DNS_DBITERATOR_VALID(dbi) ISC_MAGIC_VALID(dbi, DNS_DBITERATOR_MAGIC) +#define DNS_DBITERATOR_MAGIC ISC_MAGIC('D', 'N', 'S', 'I') +#define DNS_DBITERATOR_VALID(dbi) ISC_MAGIC_VALID(dbi, DNS_DBITERATOR_MAGIC) /*% * This structure is actually just the common prefix of a DNS db * implementation's version of a dns_dbiterator_t. @@ -96,11 +94,11 @@ typedef struct dns_dbiteratormethods { */ struct dns_dbiterator { /* Unlocked. */ - unsigned int magic; - dns_dbiteratormethods_t * methods; - dns_db_t * db; - bool relative_names; - bool cleaning; + unsigned int magic; + dns_dbiteratormethods_t *methods; + dns_db_t * db; + bool relative_names; + bool cleaning; }; void @@ -222,14 +220,10 @@ dns_dbiterator_current(dns_dbiterator_t *iterator, dns_dbnode_t **nodep, * Returns: * *\li #ISC_R_SUCCESS - *\li #DNS_R_NEWORIGIN If this iterator was created with - * 'relative_names' set to true, - * then #DNS_R_NEWORIGIN will be returned - * when the origin the names are - * relative to changes. This result - * can occur only when 'name' is not - * NULL. This is also a successful - * result. + *\li #DNS_R_NEWORIGIN If this iterator was created + *with 'relative_names' set to true, then #DNS_R_NEWORIGIN will be returned when + *the origin the names are relative to changes. This result can occur only when + *'name' is not NULL. This is also a successful result. * *\li Other results are possible, depending on the DB implementation. */ diff --git a/lib/dns/include/dns/dbtable.h b/lib/dns/include/dns/dbtable.h index f47f169510..c641c5b330 100644 --- a/lib/dns/include/dns/dbtable.h +++ b/lib/dns/include/dns/dbtable.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_DBTABLE_H #define DNS_DBTABLE_H 1 @@ -44,7 +43,7 @@ #include -#define DNS_DBTABLEFIND_NOEXACT 0x01 +#define DNS_DBTABLEFIND_NOEXACT 0x01 ISC_LANG_BEGINDECLS diff --git a/lib/dns/include/dns/diff.h b/lib/dns/include/dns/diff.h index f536db24dc..4445081e4b 100644 --- a/lib/dns/include/dns/diff.h +++ b/lib/dns/include/dns/diff.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_DIFF_H #define DNS_DIFF_H 1 @@ -59,26 +58,26 @@ */ typedef enum { - DNS_DIFFOP_ADD = 0, /*%< Add an RR. */ - DNS_DIFFOP_DEL = 1, /*%< Delete an RR. */ - DNS_DIFFOP_EXISTS = 2, /*%< Assert RR existence. */ - DNS_DIFFOP_ADDRESIGN = 4, /*%< ADD + RESIGN. */ - DNS_DIFFOP_DELRESIGN = 5 /*%< DEL + RESIGN. */ + DNS_DIFFOP_ADD = 0, /*%< Add an RR. */ + DNS_DIFFOP_DEL = 1, /*%< Delete an RR. */ + DNS_DIFFOP_EXISTS = 2, /*%< Assert RR existence. */ + DNS_DIFFOP_ADDRESIGN = 4, /*%< ADD + RESIGN. */ + DNS_DIFFOP_DELRESIGN = 5 /*%< DEL + RESIGN. */ } dns_diffop_t; typedef struct dns_difftuple dns_difftuple_t; -#define DNS_DIFFTUPLE_MAGIC ISC_MAGIC('D','I','F','T') -#define DNS_DIFFTUPLE_VALID(t) ISC_MAGIC_VALID(t, DNS_DIFFTUPLE_MAGIC) +#define DNS_DIFFTUPLE_MAGIC ISC_MAGIC('D', 'I', 'F', 'T') +#define DNS_DIFFTUPLE_VALID(t) ISC_MAGIC_VALID(t, DNS_DIFFTUPLE_MAGIC) struct dns_difftuple { - unsigned int magic; - isc_mem_t *mctx; - dns_diffop_t op; - dns_name_t name; - dns_ttl_t ttl; - dns_rdata_t rdata; - ISC_LINK(dns_difftuple_t) link; + unsigned int magic; + isc_mem_t * mctx; + dns_diffop_t op; + dns_name_t name; + dns_ttl_t ttl; + dns_rdata_t rdata; + ISC_LINK(dns_difftuple_t) link; /* Variable-size name data and rdata follows. */ }; @@ -89,17 +88,18 @@ struct dns_difftuple { */ typedef struct dns_diff dns_diff_t; -#define DNS_DIFF_MAGIC ISC_MAGIC('D','I','F','F') -#define DNS_DIFF_VALID(t) ISC_MAGIC_VALID(t, DNS_DIFF_MAGIC) +#define DNS_DIFF_MAGIC ISC_MAGIC('D', 'I', 'F', 'F') +#define DNS_DIFF_VALID(t) ISC_MAGIC_VALID(t, DNS_DIFF_MAGIC) struct dns_diff { - unsigned int magic; - isc_mem_t * mctx; - ISC_LIST(dns_difftuple_t) tuples; + unsigned int magic; + isc_mem_t * mctx; + ISC_LIST(dns_difftuple_t) tuples; }; /* Type of comparison function for sorting diffs. */ -typedef int dns_diff_compare_func(const void *, const void *); +typedef int +dns_diff_compare_func(const void *, const void *); /*** *** Functions @@ -113,9 +113,8 @@ ISC_LANG_BEGINDECLS */ isc_result_t -dns_difftuple_create(isc_mem_t *mctx, - dns_diffop_t op, const dns_name_t *name, dns_ttl_t ttl, - dns_rdata_t *rdata, dns_difftuple_t **tp); +dns_difftuple_create(isc_mem_t *mctx, dns_diffop_t op, const dns_name_t *name, + dns_ttl_t ttl, dns_rdata_t *rdata, dns_difftuple_t **tp); /*%< * Create a tuple. Deep copies are made of the name and rdata, so * they need not remain valid after the call. @@ -209,7 +208,8 @@ dns_diff_appendminimal(dns_diff_t *diff, dns_difftuple_t **tuple); * Ensures: *\li 'diff' is still a minimal diff. * \li *tuple is NULL. - * \li The tuple has been freed, or will be freed when the diff is cleared. + * \li The tuple has been freed, or will be freed when the diff is + *cleared. * */ diff --git a/lib/dns/include/dns/dispatch.h b/lib/dns/include/dns/dispatch.h index 56e4ba76a6..478bd4dfd2 100644 --- a/lib/dns/include/dns/dispatch.h +++ b/lib/dns/include/dns/dispatch.h @@ -75,13 +75,13 @@ ISC_LANG_BEGINDECLS */ struct dns_dispatchevent { - ISC_EVENT_COMMON(dns_dispatchevent_t); /*%< standard event common */ - isc_result_t result; /*%< result code */ - int32_t id; /*%< message id */ - isc_sockaddr_t addr; /*%< address recv'd from */ - struct in6_pktinfo pktinfo; /*%< reply info for v6 */ - isc_buffer_t buffer; /*%< data buffer */ - uint32_t attributes; /*%< mirrored from socket.h */ + ISC_EVENT_COMMON(dns_dispatchevent_t); /*%< standard event common */ + isc_result_t result; /*%< result code */ + int32_t id; /*%< message id */ + isc_sockaddr_t addr; /*%< address recv'd from */ + struct in6_pktinfo pktinfo; /*%< reply info for v6 */ + isc_buffer_t buffer; /*%< data buffer */ + uint32_t attributes; /*%< mirrored from socket.h */ }; /*% @@ -89,11 +89,11 @@ struct dns_dispatchevent { * round-robin fashion. */ struct dns_dispatchset { - isc_mem_t *mctx; - dns_dispatch_t **dispatches; - int ndisp; - int cur; - isc_mutex_t lock; + isc_mem_t * mctx; + dns_dispatch_t **dispatches; + int ndisp; + int cur; + isc_mutex_t lock; }; /*@{*/ @@ -130,22 +130,22 @@ struct dns_dispatchset { * _EXCLUSIVE * A separate socket will be used on-demand for each transaction. */ -#define DNS_DISPATCHATTR_PRIVATE 0x00000001U -#define DNS_DISPATCHATTR_TCP 0x00000002U -#define DNS_DISPATCHATTR_UDP 0x00000004U -#define DNS_DISPATCHATTR_IPV4 0x00000008U -#define DNS_DISPATCHATTR_IPV6 0x00000010U -#define DNS_DISPATCHATTR_NOLISTEN 0x00000020U -#define DNS_DISPATCHATTR_MAKEQUERY 0x00000040U -#define DNS_DISPATCHATTR_CONNECTED 0x00000080U -#define DNS_DISPATCHATTR_FIXEDID 0x00000100U -#define DNS_DISPATCHATTR_EXCLUSIVE 0x00000200U -#define DNS_DISPATCHATTR_CANREUSE 0x00000400U +#define DNS_DISPATCHATTR_PRIVATE 0x00000001U +#define DNS_DISPATCHATTR_TCP 0x00000002U +#define DNS_DISPATCHATTR_UDP 0x00000004U +#define DNS_DISPATCHATTR_IPV4 0x00000008U +#define DNS_DISPATCHATTR_IPV6 0x00000010U +#define DNS_DISPATCHATTR_NOLISTEN 0x00000020U +#define DNS_DISPATCHATTR_MAKEQUERY 0x00000040U +#define DNS_DISPATCHATTR_CONNECTED 0x00000080U +#define DNS_DISPATCHATTR_FIXEDID 0x00000100U +#define DNS_DISPATCHATTR_EXCLUSIVE 0x00000200U +#define DNS_DISPATCHATTR_CANREUSE 0x00000400U /*@}*/ /* */ -#define DNS_DISPATCHOPT_FIXEDID 0x00000001U +#define DNS_DISPATCHOPT_FIXEDID 0x00000001U isc_result_t dns_dispatchmgr_create(isc_mem_t *mctx, dns_dispatchmgr_t **mgrp); @@ -163,7 +163,6 @@ dns_dispatchmgr_create(isc_mem_t *mctx, dns_dispatchmgr_t **mgrp); *\li anything else -- failure */ - void dns_dispatchmgr_destroy(dns_dispatchmgr_t **mgrp); /*%< @@ -174,7 +173,6 @@ dns_dispatchmgr_destroy(dns_dispatchmgr_t **mgrp); *\li mgrp != NULL && *mgrp is a valid dispatchmgr. */ - void dns_dispatchmgr_setblackhole(dns_dispatchmgr_t *mgr, dns_acl_t *blackhole); /*%< @@ -186,7 +184,6 @@ dns_dispatchmgr_setblackhole(dns_dispatchmgr_t *mgr, dns_acl_t *blackhole); * \li blackhole is a valid acl */ - dns_acl_t * dns_dispatchmgr_getblackhole(dns_dispatchmgr_t *mgr); /*%< @@ -201,7 +198,7 @@ dns_dispatchmgr_getblackhole(dns_dispatchmgr_t *mgr); void dns_dispatchmgr_setblackportlist(dns_dispatchmgr_t *mgr, - dns_portlist_t *portlist); + dns_portlist_t * portlist); /*%< * This function is deprecated. Use dns_dispatchmgr_setavailports() instead. * @@ -248,20 +245,19 @@ dns_dispatchmgr_setstats(dns_dispatchmgr_t *mgr, isc_stats_t *stats); isc_result_t dns_dispatch_getudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, isc_taskmgr_t *taskmgr, const isc_sockaddr_t *localaddr, - unsigned int buffersize, - unsigned int maxbuffers, unsigned int maxrequests, - unsigned int buckets, unsigned int increment, - unsigned int attributes, unsigned int mask, - dns_dispatch_t **dispp); + unsigned int buffersize, unsigned int maxbuffers, + unsigned int maxrequests, unsigned int buckets, + unsigned int increment, unsigned int attributes, + unsigned int mask, dns_dispatch_t **dispp); isc_result_t dns_dispatch_getudp_dup(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, - isc_taskmgr_t *taskmgr, const isc_sockaddr_t *localaddr, - unsigned int buffersize, - unsigned int maxbuffers, unsigned int maxrequests, - unsigned int buckets, unsigned int increment, - unsigned int attributes, unsigned int mask, - dns_dispatch_t **dispp, dns_dispatch_t *dup); + isc_taskmgr_t *taskmgr, const isc_sockaddr_t *localaddr, + unsigned int buffersize, unsigned int maxbuffers, + unsigned int maxrequests, unsigned int buckets, + unsigned int increment, unsigned int attributes, + unsigned int mask, dns_dispatch_t **dispp, + dns_dispatch_t *dup); /*%< * Attach to existing dns_dispatch_t if one is found with dns_dispatchmgr_find, * otherwise create a new UDP dispatch. @@ -367,20 +363,18 @@ dns_dispatch_starttcp(dns_dispatch_t *disp); isc_result_t dns_dispatch_gettcp(dns_dispatchmgr_t *mgr, const isc_sockaddr_t *destaddr, - const isc_sockaddr_t *localaddr, bool *connected, - dns_dispatch_t **dispp); + const isc_sockaddr_t *localaddr, bool *connected, + dns_dispatch_t **dispp); /* * Attempt to connect to a existing TCP connection (connection completed * if connected == NULL). */ - isc_result_t dns_dispatch_addresponse(dns_dispatch_t *disp, unsigned int options, const isc_sockaddr_t *dest, isc_task_t *task, - isc_taskaction_t action, void *arg, - uint16_t *idp, dns_dispentry_t **resp, - isc_socketmgr_t *sockmgr); + isc_taskaction_t action, void *arg, uint16_t *idp, + dns_dispentry_t **resp, isc_socketmgr_t *sockmgr); /*%< * Add a response entry for this dispatch. * @@ -417,9 +411,8 @@ dns_dispatch_addresponse(dns_dispatch_t *disp, unsigned int options, * for this destination. */ - void -dns_dispatch_removeresponse(dns_dispentry_t **resp, +dns_dispatch_removeresponse(dns_dispentry_t ** resp, dns_dispatchevent_t **sockevent); /*%< * Stops the flow of responses for the provided id and destination. @@ -484,8 +477,8 @@ dns_dispatch_getattributes(dns_dispatch_t *disp); */ void -dns_dispatch_changeattributes(dns_dispatch_t *disp, - unsigned int attributes, unsigned int mask); +dns_dispatch_changeattributes(dns_dispatch_t *disp, unsigned int attributes, + unsigned int mask); /*%< * Set the bits described by "mask" to the corresponding values in * "attributes". diff --git a/lib/dns/include/dns/dlz.h b/lib/dns/include/dns/dlz.h index e769a97dc6..f00cf650ce 100644 --- a/lib/dns/include/dns/dlz.h +++ b/lib/dns/include/dns/dlz.h @@ -44,7 +44,6 @@ * USE OR PERFORMANCE OF THIS SOFTWARE. */ - /*! \file dns/dlz.h */ #ifndef DLZ_H @@ -79,13 +78,14 @@ #include +#include + #include #include #include #include -#include -#include +#include ISC_LANG_BEGINDECLS @@ -93,13 +93,15 @@ ISC_LANG_BEGINDECLS *** Types ***/ -#define DNS_DLZ_MAGIC ISC_MAGIC('D','L','Z','D') -#define DNS_DLZ_VALID(dlz) ISC_MAGIC_VALID(dlz, DNS_DLZ_MAGIC) +#define DNS_DLZ_MAGIC ISC_MAGIC('D', 'L', 'Z', 'D') +#define DNS_DLZ_VALID(dlz) ISC_MAGIC_VALID(dlz, DNS_DLZ_MAGIC) -typedef isc_result_t -(*dns_dlzallowzonexfr_t)(void *driverarg, void *dbdata, isc_mem_t *mctx, - dns_rdataclass_t rdclass, const dns_name_t *name, - const isc_sockaddr_t *clientaddr, dns_db_t **dbp); +typedef isc_result_t (*dns_dlzallowzonexfr_t)(void *driverarg, void *dbdata, + isc_mem_t * mctx, + dns_rdataclass_t rdclass, + const dns_name_t * name, + const isc_sockaddr_t *clientaddr, + dns_db_t ** dbp); /*%< * Method prototype. Drivers implementing the DLZ interface MUST @@ -114,9 +116,9 @@ typedef isc_result_t * If an error occurs, the result code should indicate the type of error. */ -typedef isc_result_t -(*dns_dlzcreate_t)(isc_mem_t *mctx, const char *dlzname, unsigned int argc, - char *argv[], void *driverarg, void **dbdata); +typedef isc_result_t (*dns_dlzcreate_t)(isc_mem_t *mctx, const char *dlzname, + unsigned int argc, char *argv[], + void *driverarg, void **dbdata); /*%< * Method prototype. Drivers implementing the DLZ interface MUST @@ -124,8 +126,7 @@ typedef isc_result_t * is starting up and creating drivers for use later. */ -typedef void -(*dns_dlzdestroy_t)(void *driverarg, void **dbdata); +typedef void (*dns_dlzdestroy_t)(void *driverarg, void **dbdata); /*%< * Method prototype. Drivers implementing the DLZ interface MUST @@ -133,12 +134,13 @@ typedef void * is shutting down and no longer needs the driver. */ -typedef isc_result_t -(*dns_dlzfindzone_t)(void *driverarg, void *dbdata, isc_mem_t *mctx, - dns_rdataclass_t rdclass, const dns_name_t *name, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo, - dns_db_t **dbp); +typedef isc_result_t (*dns_dlzfindzone_t)(void *driverarg, void *dbdata, + isc_mem_t * mctx, + dns_rdataclass_t rdclass, + const dns_name_t * name, + dns_clientinfomethods_t *methods, + dns_clientinfo_t * clientinfo, + dns_db_t ** dbp); /*%< * Method prototype. Drivers implementing the DLZ interface MUST @@ -164,10 +166,9 @@ typedef isc_result_t * return a result code indicating the type of error. */ - -typedef isc_result_t -(*dns_dlzconfigure_t)(void *driverarg, void *dbdata, - dns_view_t *view, dns_dlzdb_t *dlzdb); +typedef isc_result_t (*dns_dlzconfigure_t)(void *driverarg, void *dbdata, + dns_view_t * view, + dns_dlzdb_t *dlzdb); /*%< * Method prototype. Drivers implementing the DLZ interface may * optionally supply a configure method. If supplied, this will be @@ -175,13 +176,11 @@ typedef isc_result_t * may call configuration functions during the configure call */ - -typedef bool (*dns_dlzssumatch_t)(const dns_name_t *signer, - const dns_name_t *name, - const isc_netaddr_t *tcpaddr, - dns_rdatatype_t type, - const dst_key_t *key, - void *driverarg, void *dbdata); +typedef bool (*dns_dlzssumatch_t)(const dns_name_t * signer, + const dns_name_t * name, + const isc_netaddr_t *tcpaddr, + dns_rdatatype_t type, const dst_key_t *key, + void *driverarg, void *dbdata); /*%< * Method prototype. Drivers implementing the DLZ interface may * optionally supply a ssumatch method. If supplied, this will be @@ -190,21 +189,21 @@ typedef bool (*dns_dlzssumatch_t)(const dns_name_t *signer, /*% the methods supplied by a DLZ driver */ typedef struct dns_dlzmethods { - dns_dlzcreate_t create; - dns_dlzdestroy_t destroy; - dns_dlzfindzone_t findzone; - dns_dlzallowzonexfr_t allowzonexfr; - dns_dlzconfigure_t configure; - dns_dlzssumatch_t ssumatch; + dns_dlzcreate_t create; + dns_dlzdestroy_t destroy; + dns_dlzfindzone_t findzone; + dns_dlzallowzonexfr_t allowzonexfr; + dns_dlzconfigure_t configure; + dns_dlzssumatch_t ssumatch; } dns_dlzmethods_t; /*% information about a DLZ driver */ struct dns_dlzimplementation { - const char *name; - const dns_dlzmethods_t *methods; - isc_mem_t *mctx; - void *driverarg; - ISC_LINK(dns_dlzimplementation_t) link; + const char * name; + const dns_dlzmethods_t *methods; + isc_mem_t * mctx; + void * driverarg; + ISC_LINK(dns_dlzimplementation_t) link; }; typedef isc_result_t (*dlzconfigure_callback_t)(dns_view_t *, dns_dlzdb_t *, @@ -212,18 +211,17 @@ typedef isc_result_t (*dlzconfigure_callback_t)(dns_view_t *, dns_dlzdb_t *, /*% An instance of a DLZ driver */ struct dns_dlzdb { - unsigned int magic; - isc_mem_t *mctx; - dns_dlzimplementation_t *implementation; - void *dbdata; - dlzconfigure_callback_t configure_callback; - bool search; - char *dlzname; - ISC_LINK(dns_dlzdb_t) link; - dns_ssutable_t *ssutable; + unsigned int magic; + isc_mem_t * mctx; + dns_dlzimplementation_t *implementation; + void * dbdata; + dlzconfigure_callback_t configure_callback; + bool search; + char * dlzname; + ISC_LINK(dns_dlzdb_t) link; + dns_ssutable_t *ssutable; }; - /*** *** Method declarations ***/ @@ -239,9 +237,8 @@ dns_dlzallowzonexfr(dns_view_t *view, const dns_name_t *name, */ isc_result_t -dns_dlzcreate(isc_mem_t *mctx, const char *dlzname, - const char *drivername, unsigned int argc, - char *argv[], dns_dlzdb_t **dbp); +dns_dlzcreate(isc_mem_t *mctx, const char *dlzname, const char *drivername, + unsigned int argc, char *argv[], dns_dlzdb_t **dbp); /*%< * This method is called when the DNS server is starting up and @@ -262,7 +259,7 @@ dns_dlzdestroy(dns_dlzdb_t **dbp); isc_result_t dns_dlzregister(const char *drivername, const dns_dlzmethods_t *methods, - void *driverarg, isc_mem_t *mctx, + void *driverarg, isc_mem_t *mctx, dns_dlzimplementation_t **dlzimp); /*%< @@ -308,17 +305,15 @@ dns_dlzunregister(dns_dlzimplementation_t **dlzimp); * is called. */ - -typedef isc_result_t dns_dlz_writeablezone_t(dns_view_t *view, - dns_dlzdb_t *dlzdb, - const char *zone_name); +typedef isc_result_t + dns_dlz_writeablezone_t(dns_view_t *view, dns_dlzdb_t *dlzdb, + const char *zone_name); dns_dlz_writeablezone_t dns_dlz_writeablezone; /*%< * creates a writeable DLZ zone. Must be called from within the * configure() method of a DLZ driver. */ - isc_result_t dns_dlzconfigure(dns_view_t *view, dns_dlzdb_t *dlzdb, dlzconfigure_callback_t callback); diff --git a/lib/dns/include/dns/dlz_dlopen.h b/lib/dns/include/dns/dlz_dlopen.h index 3719aa746e..cdc25c511e 100644 --- a/lib/dns/include/dns/dlz_dlopen.h +++ b/lib/dns/include/dns/dlz_dlopen.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file dns/dlz_dlopen.h */ #ifndef DLZ_DLOPEN_H @@ -34,138 +33,124 @@ ISC_LANG_BEGINDECLS * dlz_dlopen_version() is required for all DLZ external drivers. It * should return DLZ_DLOPEN_VERSION */ -typedef int dlz_dlopen_version_t(unsigned int *flags); +typedef int +dlz_dlopen_version_t(unsigned int *flags); /* * dlz_dlopen_create() is required for all DLZ external drivers. */ -typedef isc_result_t dlz_dlopen_create_t(const char *dlzname, - unsigned int argc, - char *argv[], - void **dbdata, - ...); +typedef isc_result_t +dlz_dlopen_create_t(const char *dlzname, unsigned int argc, char *argv[], + void **dbdata, ...); /* * dlz_dlopen_destroy() is optional, and will be called when the * driver is unloaded if supplied */ -typedef void dlz_dlopen_destroy_t(void *dbdata); +typedef void +dlz_dlopen_destroy_t(void *dbdata); /* * dlz_dlopen_findzonedb() is required for all DLZ external drivers */ -typedef isc_result_t dlz_dlopen_findzonedb_t(void *dbdata, - const char *name, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo); +typedef isc_result_t +dlz_dlopen_findzonedb_t(void *dbdata, const char *name, + dns_clientinfomethods_t *methods, + dns_clientinfo_t * clientinfo); /* * dlz_dlopen_lookup() is required for all DLZ external drivers */ -typedef isc_result_t dlz_dlopen_lookup_t(const char *zone, - const char *name, - void *dbdata, - dns_sdlzlookup_t *lookup, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo); +typedef isc_result_t +dlz_dlopen_lookup_t(const char *zone, const char *name, void *dbdata, + dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, + dns_clientinfo_t *clientinfo); /* * dlz_dlopen_authority is optional() if dlz_dlopen_lookup() * supplies authority information for the dns record */ -typedef isc_result_t dlz_dlopen_authority_t(const char *zone, - void *dbdata, - dns_sdlzlookup_t *lookup); +typedef isc_result_t +dlz_dlopen_authority_t(const char *zone, void *dbdata, + dns_sdlzlookup_t *lookup); /* * dlz_dlopen_allowzonexfr() is optional, and should be supplied if * you want to support zone transfers */ -typedef isc_result_t dlz_dlopen_allowzonexfr_t(void *dbdata, - const char *name, - const char *client); +typedef isc_result_t +dlz_dlopen_allowzonexfr_t(void *dbdata, const char *name, const char *client); /* * dlz_dlopen_allnodes() is optional, but must be supplied if supply a * dlz_dlopen_allowzonexfr() function */ -typedef isc_result_t dlz_dlopen_allnodes_t(const char *zone, - void *dbdata, - dns_sdlzallnodes_t *allnodes); +typedef isc_result_t +dlz_dlopen_allnodes_t(const char *zone, void *dbdata, + dns_sdlzallnodes_t *allnodes); /* * dlz_dlopen_newversion() is optional. It should be supplied if you * want to support dynamic updates. */ -typedef isc_result_t dlz_dlopen_newversion_t(const char *zone, - void *dbdata, - void **versionp); +typedef isc_result_t +dlz_dlopen_newversion_t(const char *zone, void *dbdata, void **versionp); /* * dlz_closeversion() is optional, but must be supplied if you supply * a dlz_newversion() function */ -typedef void dlz_dlopen_closeversion_t(const char *zone, - bool commit, - void *dbdata, - void **versionp); +typedef void +dlz_dlopen_closeversion_t(const char *zone, bool commit, void *dbdata, + void **versionp); /* * dlz_dlopen_configure() is optional, but must be supplied if you * want to support dynamic updates */ -typedef isc_result_t dlz_dlopen_configure_t(dns_view_t *view, - dns_dlzdb_t *dlzdb, - void *dbdata); +typedef isc_result_t +dlz_dlopen_configure_t(dns_view_t *view, dns_dlzdb_t *dlzdb, void *dbdata); /* * dlz_dlopen_setclientcallback() is optional, but must be supplied if you * want to retrieve information about the client (e.g., source address) * before sending a replay. */ -typedef isc_result_t dlz_dlopen_setclientcallback_t(dns_view_t *view, - void *dbdata); - +typedef isc_result_t +dlz_dlopen_setclientcallback_t(dns_view_t *view, void *dbdata); /* * dlz_dlopen_ssumatch() is optional, but must be supplied if you want * to support dynamic updates */ -typedef bool dlz_dlopen_ssumatch_t(const char *signer, - const char *name, - const char *tcpaddr, - const char *type, - const char *key, - uint32_t keydatalen, - unsigned char *keydata, - void *dbdata); +typedef bool +dlz_dlopen_ssumatch_t(const char *signer, const char *name, const char *tcpaddr, + const char *type, const char *key, uint32_t keydatalen, + unsigned char *keydata, void *dbdata); /* * dlz_dlopen_addrdataset() is optional, but must be supplied if you * want to support dynamic updates */ -typedef isc_result_t dlz_dlopen_addrdataset_t(const char *name, - const char *rdatastr, - void *dbdata, - void *version); +typedef isc_result_t +dlz_dlopen_addrdataset_t(const char *name, const char *rdatastr, void *dbdata, + void *version); /* * dlz_dlopen_subrdataset() is optional, but must be supplied if you * want to support dynamic updates */ -typedef isc_result_t dlz_dlopen_subrdataset_t(const char *name, - const char *rdatastr, - void *dbdata, - void *version); +typedef isc_result_t +dlz_dlopen_subrdataset_t(const char *name, const char *rdatastr, void *dbdata, + void *version); /* * dlz_dlopen_delrdataset() is optional, but must be supplied if you * want to support dynamic updates */ -typedef isc_result_t dlz_dlopen_delrdataset_t(const char *name, - const char *type, - void *dbdata, - void *version); +typedef isc_result_t +dlz_dlopen_delrdataset_t(const char *name, const char *type, void *dbdata, + void *version); ISC_LANG_ENDDECLS diff --git a/lib/dns/include/dns/dns64.h b/lib/dns/include/dns/dns64.h index a2659fcabc..7e4f9f757e 100644 --- a/lib/dns/include/dns/dns64.h +++ b/lib/dns/include/dns/dns64.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_DNS64_H #define DNS_DNS64_H 1 @@ -24,21 +23,23 @@ ISC_LANG_BEGINDECLS /* * dns_dns64_create() flags. */ -#define DNS_DNS64_RECURSIVE_ONLY 0x01 /* If set then this record - * only applies to recursive - * queries. - */ -#define DNS_DNS64_BREAK_DNSSEC 0x02 /* If set then still perform - * DNSSEC synthesis even - * though the result would - * fail validation. - */ +#define DNS_DNS64_RECURSIVE_ONLY \ + 0x01 /* If set then this record \ + * only applies to recursive \ + * queries. \ + */ +#define DNS_DNS64_BREAK_DNSSEC \ + 0x02 /* If set then still perform \ + * DNSSEC synthesis even \ + * though the result would \ + * fail validation. \ + */ /* * dns_dns64_aaaaok() and dns_dns64_aaaafroma() flags. */ -#define DNS_DNS64_RECURSIVE 0x01 /* Recursive query. */ -#define DNS_DNS64_DNSSEC 0x02 /* DNSSEC sensitive query. */ +#define DNS_DNS64_RECURSIVE 0x01 /* Recursive query. */ +#define DNS_DNS64_DNSSEC 0x02 /* DNSSEC sensitive query. */ isc_result_t dns_dns64_create(isc_mem_t *mctx, const isc_netaddr_t *prefix, @@ -146,8 +147,8 @@ dns_dns64_unlink(dns_dns64list_t *list, dns_dns64_t *dns64); bool dns_dns64_aaaaok(const dns_dns64_t *dns64, const isc_netaddr_t *reqaddr, const dns_name_t *reqsigner, const dns_aclenv_t *env, - unsigned int flags, dns_rdataset_t *rdataset, - bool *aaaaok, size_t aaaaoklen); + unsigned int flags, dns_rdataset_t *rdataset, bool *aaaaok, + size_t aaaaoklen); /* * Determine if there are any non-excluded AAAA records in from the * matching dns64 records in the list starting at 'dns64'. If there diff --git a/lib/dns/include/dns/dnsrps.h b/lib/dns/include/dns/dnsrps.h index b545b08f81..0634545387 100644 --- a/lib/dns/include/dns/dnsrps.h +++ b/lib/dns/include/dns/dnsrps.h @@ -16,6 +16,7 @@ #include #include + #include #ifdef USE_DNSRPS @@ -28,7 +29,6 @@ */ extern librpz_emsg_t librpz_lib_open_emsg; - /* * These shim BIND9 database, node, and rdataset are handles on RRs from librpz. * @@ -42,63 +42,69 @@ extern librpz_emsg_t librpz_lib_open_emsg; * RRs or justifying NXDOMAIN. */ typedef struct { - uint8_t unused; + uint8_t unused; } rpsnode_t; typedef struct rpsdb { - dns_db_t common; - int ref_cnt; - librpz_result_id_t hit_id; - librpz_result_t result; - librpz_rsp_t* rsp; - librpz_domain_buf_t origin_buf; - const dns_name_t *qname; - rpsnode_t origin_node; - rpsnode_t data_node; + dns_db_t common; + int ref_cnt; + librpz_result_id_t hit_id; + librpz_result_t result; + librpz_rsp_t * rsp; + librpz_domain_buf_t origin_buf; + const dns_name_t * qname; + rpsnode_t origin_node; + rpsnode_t data_node; } rpsdb_t; - /* * Convert a dnsrps policy to a classic BIND9 RPZ policy. */ -dns_rpz_policy_t dns_dnsrps_2policy(librpz_policy_t rps_policy); +dns_rpz_policy_t +dns_dnsrps_2policy(librpz_policy_t rps_policy); /* * Convert a dnsrps trigger to a classic BIND9 RPZ rewrite or trigger type. */ -dns_rpz_type_t dns_dnsrps_trig2type(librpz_trig_t trig); +dns_rpz_type_t +dns_dnsrps_trig2type(librpz_trig_t trig); /* * Convert a classic BIND9 RPZ rewrite or trigger type to a librpz trigger type. */ -librpz_trig_t dns_dnsrps_type2trig(dns_rpz_type_t type); +librpz_trig_t +dns_dnsrps_type2trig(dns_rpz_type_t type); /* * Start dnsrps for the entire server. */ -isc_result_t dns_dnsrps_server_create(void); +isc_result_t +dns_dnsrps_server_create(void); /* * Stop dnsrps for the entire server. */ -void dns_dnsrps_server_destroy(void); +void +dns_dnsrps_server_destroy(void); /* * Ready dnsrps for a view. */ -isc_result_t dns_dnsrps_view_init(dns_rpz_zones_t *new, char *rps_cstr); +isc_result_t +dns_dnsrps_view_init(dns_rpz_zones_t *new, char *rps_cstr); /* * Connect to and start the dnsrps daemon, dnsrpzd. */ -isc_result_t dns_dnsrps_connect(dns_rpz_zones_t *rpzs); +isc_result_t +dns_dnsrps_connect(dns_rpz_zones_t *rpzs); /* * Get ready to try dnsrps rewriting. */ -isc_result_t dns_dnsrps_rewrite_init(librpz_emsg_t *emsg, dns_rpz_st_t *st, - dns_rpz_zones_t *rpzs, - const dns_name_t *qname, isc_mem_t *mctx, - bool have_rd); +isc_result_t +dns_dnsrps_rewrite_init(librpz_emsg_t *emsg, dns_rpz_st_t *st, + dns_rpz_zones_t *rpzs, const dns_name_t *qname, + isc_mem_t *mctx, bool have_rd); #endif /* USE_DNSRPS */ diff --git a/lib/dns/include/dns/dnssec.h b/lib/dns/include/dns/dnssec.h index eb6cbb18c4..9a6f54a53e 100644 --- a/lib/dns/include/dns/dnssec.h +++ b/lib/dns/include/dns/dnssec.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_DNSSEC_H #define DNS_DNSSEC_H 1 @@ -18,8 +17,8 @@ #include #include -#include #include +#include #include #include @@ -48,25 +47,25 @@ typedef enum { * A DNSSEC key and hints about its intended use gleaned from metadata */ struct dns_dnsseckey { - dst_key_t *key; - bool hint_publish; /*% metadata says to publish */ - bool force_publish; /*% publish regardless of metadata */ - bool hint_sign; /*% metadata says to sign with this key */ - bool force_sign; /*% sign with key regardless of metadata */ - bool hint_revoke; /*% metadata says revoke key */ - bool hint_remove; /*% metadata says *don't* publish */ - bool is_active; /*% key is already active */ - bool first_sign; /*% key is newly becoming active */ - unsigned int prepublish; /*% how long until active? */ - dns_keysource_t source; /*% how the key was found */ - bool ksk; /*% this is a key-signing key */ - bool zsk; /*% this is a zone-signing key */ - bool legacy; /*% this is old-style key with no - metadata (possibly generated by - an older version of BIND9) and - should be ignored when searching - for keys to import into the zone */ - unsigned int index; /*% position in list */ + dst_key_t * key; + bool hint_publish; /*% metadata says to publish */ + bool force_publish; /*% publish regardless of metadata */ + bool hint_sign; /*% metadata says to sign with this key */ + bool force_sign; /*% sign with key regardless of metadata */ + bool hint_revoke; /*% metadata says revoke key */ + bool hint_remove; /*% metadata says *don't* publish */ + bool is_active; /*% key is already active */ + bool first_sign; /*% key is newly becoming active */ + unsigned int prepublish; /*% how long until active? */ + dns_keysource_t source; /*% how the key was found */ + bool ksk; /*% this is a key-signing key */ + bool zsk; /*% this is a zone-signing key */ + bool legacy; /*% this is old-style key with no + metadata (possibly generated by + an older version of BIND9) and + should be ignored when searching + for keys to import into the zone */ + unsigned int index; /*% position in list */ ISC_LINK(dns_dnsseckey_t) link; }; @@ -122,8 +121,8 @@ dns_dnssec_sign(const dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, isc_result_t dns_dnssec_verify(const dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, - bool ignoretime, unsigned int maxbits, - isc_mem_t *mctx, dns_rdata_t *sigrdata, dns_name_t *wild); + bool ignoretime, unsigned int maxbits, isc_mem_t *mctx, + dns_rdata_t *sigrdata, dns_name_t *wild); /*%< * Verifies the RRSIG record covering this rdataset signed by a specific * key. This does not determine if the key's owner is authorized to sign @@ -157,11 +156,11 @@ dns_dnssec_verify(const dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, /*@{*/ isc_result_t -dns_dnssec_findzonekeys(dns_db_t *db, dns_dbversion_t *ver, - dns_dbnode_t *node, const dns_name_t *name, - const char *directory, isc_stdtime_t now, - isc_mem_t *mctx, unsigned int maxkeys, - dst_key_t **keys, unsigned int *nkeys); +dns_dnssec_findzonekeys(dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node, + const dns_name_t *name, const char *directory, + isc_stdtime_t now, isc_mem_t *mctx, + unsigned int maxkeys, dst_key_t **keys, + unsigned int *nkeys); /*%< * Finds a set of zone keys. @@ -229,7 +228,6 @@ dns_dnssec_selfsigns(dns_rdata_t *rdata, const dns_name_t *name, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset, bool ignoretime, isc_mem_t *mctx); - bool dns_dnssec_signs(dns_rdata_t *rdata, const dns_name_t *name, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset, @@ -242,7 +240,6 @@ dns_dnssec_signs(dns_rdata_t *rdata, const dns_name_t *name, * rrset. dns_dnssec_signs() works on any rrset. */ - isc_result_t dns_dnsseckey_create(isc_mem_t *mctx, dst_key_t **dstkey, dns_dnsseckey_t **dkp); @@ -303,11 +300,10 @@ dns_dnssec_findmatchingkeys(const dns_name_t *origin, const char *directory, */ isc_result_t -dns_dnssec_keylistfromrdataset(const dns_name_t *origin, - const char *directory, isc_mem_t *mctx, - dns_rdataset_t *keyset, dns_rdataset_t *keysigs, - dns_rdataset_t *soasigs, bool savekeys, - bool publickey, +dns_dnssec_keylistfromrdataset(const dns_name_t *origin, const char *directory, + isc_mem_t *mctx, dns_rdataset_t *keyset, + dns_rdataset_t *keysigs, dns_rdataset_t *soasigs, + bool savekeys, bool publickey, dns_dnsseckeylist_t *keylist); /*%< * Append the contents of a DNSKEY rdataset 'keyset' to 'keylist'. diff --git a/lib/dns/include/dns/dnstap.h b/lib/dns/include/dns/dnstap.h index 601d3dabbe..98babf36f2 100644 --- a/lib/dns/include/dns/dnstap.h +++ b/lib/dns/include/dns/dnstap.h @@ -28,6 +28,7 @@ #ifdef HAVE_DNSTAP #include + #include #else struct fstrm_iothr_options; @@ -75,16 +76,13 @@ struct fstrm_iothr_options; #define DNS_DTTYPE_UQ 0x1000 #define DNS_DTTYPE_UR 0x2000 -#define DNS_DTTYPE_QUERY \ - (DNS_DTTYPE_SQ|DNS_DTTYPE_CQ|DNS_DTTYPE_AQ|\ - DNS_DTTYPE_RQ|DNS_DTTYPE_FQ|DNS_DTTYPE_TQ|\ - DNS_DTTYPE_UQ) -#define DNS_DTTYPE_RESPONSE \ - (DNS_DTTYPE_SR|DNS_DTTYPE_CR|DNS_DTTYPE_AR|\ - DNS_DTTYPE_RR|DNS_DTTYPE_FR|DNS_DTTYPE_TR|\ - DNS_DTTYPE_UR) -#define DNS_DTTYPE_ALL \ - (DNS_DTTYPE_QUERY|DNS_DTTYPE_RESPONSE) +#define DNS_DTTYPE_QUERY \ + (DNS_DTTYPE_SQ | DNS_DTTYPE_CQ | DNS_DTTYPE_AQ | DNS_DTTYPE_RQ | \ + DNS_DTTYPE_FQ | DNS_DTTYPE_TQ | DNS_DTTYPE_UQ) +#define DNS_DTTYPE_RESPONSE \ + (DNS_DTTYPE_SR | DNS_DTTYPE_CR | DNS_DTTYPE_AR | DNS_DTTYPE_RR | \ + DNS_DTTYPE_FR | DNS_DTTYPE_TR | DNS_DTTYPE_UR) +#define DNS_DTTYPE_ALL (DNS_DTTYPE_QUERY | DNS_DTTYPE_RESPONSE) typedef enum { dns_dtmode_none = 0, @@ -100,8 +98,8 @@ struct dns_dtdata { void *frame; - bool query; - bool tcp; + bool query; + bool tcp; dns_dtmsgtype_t type; isc_time_t qtime; @@ -113,7 +111,7 @@ struct dns_dtdata { uint32_t qport; uint32_t rport; - isc_region_t msgdata; + isc_region_t msgdata; dns_message_t *msg; char namebuf[DNS_NAME_FORMATSIZE]; @@ -268,10 +266,9 @@ dns_dt_getstats(dns_dtenv_t *env, isc_stats_t **statsp); */ void -dns_dt_send(dns_view_t *view, dns_dtmsgtype_t msgtype, - isc_sockaddr_t *qaddr, isc_sockaddr_t *dstaddr, - bool tcp, isc_region_t *zone, isc_time_t *qtime, - isc_time_t *rtime, isc_buffer_t *buf); +dns_dt_send(dns_view_t *view, dns_dtmsgtype_t msgtype, isc_sockaddr_t *qaddr, + isc_sockaddr_t *dstaddr, bool tcp, isc_region_t *zone, + isc_time_t *qtime, isc_time_t *rtime, isc_buffer_t *buf); /*%< * Sends a dnstap message to the log, if 'msgtype' is one of the message * types represented in 'view->dttypes'. @@ -338,8 +335,8 @@ dns_dtdata_free(dns_dtdata_t **dp); */ isc_result_t -dns_dt_open(const char *filename, dns_dtmode_t mode, - isc_mem_t *mctx, dns_dthandle_t **handlep); +dns_dt_open(const char *filename, dns_dtmode_t mode, isc_mem_t *mctx, + dns_dthandle_t **handlep); /*%< * Opens a dnstap framestream at 'filename' and stores a pointer to the * reader object in a dns_dthandle_t structure. diff --git a/lib/dns/include/dns/ds.h b/lib/dns/include/dns/ds.h index 9166fde584..5c5b360147 100644 --- a/lib/dns/include/dns/ds.h +++ b/lib/dns/include/dns/ds.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_DS_H #define DNS_DS_H 1 diff --git a/lib/dns/include/dns/dsdigest.h b/lib/dns/include/dns/dsdigest.h index e513ae4875..024888e541 100644 --- a/lib/dns/include/dns/dsdigest.h +++ b/lib/dns/include/dns/dsdigest.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_DSDIGEST_H #define DNS_DSDIGEST_H 1 diff --git a/lib/dns/include/dns/dyndb.h b/lib/dns/include/dns/dyndb.h index 015f8efab8..e0f459cbe3 100644 --- a/lib/dns/include/dns/dyndb.h +++ b/lib/dns/include/dns/dyndb.h @@ -33,18 +33,18 @@ ISC_LANG_BEGINDECLS */ struct dns_dyndbctx { unsigned int magic; - const void *hashinit; - isc_mem_t *mctx; - isc_log_t *lctx; - dns_view_t *view; - dns_zonemgr_t *zmgr; - isc_task_t *task; - isc_timermgr_t *timermgr; - bool *refvar; + const void * hashinit; + isc_mem_t * mctx; + isc_log_t * lctx; + dns_view_t * view; + dns_zonemgr_t * zmgr; + isc_task_t * task; + isc_timermgr_t *timermgr; + bool * refvar; }; -#define DNS_DYNDBCTX_MAGIC ISC_MAGIC('D', 'd', 'b', 'c') -#define DNS_DYNDBCTX_VALID(d) ISC_MAGIC_VALID(d, DNS_DYNDBCTX_MAGIC) +#define DNS_DYNDBCTX_MAGIC ISC_MAGIC('D', 'd', 'b', 'c') +#define DNS_DYNDBCTX_VALID(d) ISC_MAGIC_VALID(d, DNS_DYNDBCTX_MAGIC) /* * API version @@ -59,13 +59,10 @@ struct dns_dyndbctx { #define DNS_DYNDB_AGE 0 #endif -typedef isc_result_t dns_dyndb_register_t(isc_mem_t *mctx, - const char *name, - const char *parameters, - const char *file, - unsigned long line, - const dns_dyndbctx_t *dctx, - void **instp); +typedef isc_result_t +dns_dyndb_register_t(isc_mem_t *mctx, const char *name, const char *parameters, + const char *file, unsigned long line, + const dns_dyndbctx_t *dctx, void **instp); /*% * Called when registering a new driver instance. 'name' must be unique. * 'parameters' contains the driver configuration text. 'dctx' is the @@ -80,7 +77,8 @@ typedef isc_result_t dns_dyndb_register_t(isc_mem_t *mctx, *\li Other errors are possible */ -typedef void dns_dyndb_destroy_t(void **instp); +typedef void +dns_dyndb_destroy_t(void **instp); /*% * Destroy a driver instance. Dereference any reference-counted * variables passed in 'dctx' and 'inst' in the register function. @@ -88,7 +86,8 @@ typedef void dns_dyndb_destroy_t(void **instp); * \c *instp must be set to \c NULL by the function before it returns. */ -typedef int dns_dyndb_version_t(unsigned int *flags); +typedef int +dns_dyndb_version_t(unsigned int *flags); /*% * Return the API version number a dyndb module was compiled with. * diff --git a/lib/dns/include/dns/ecdb.h b/lib/dns/include/dns/ecdb.h index 6d6c8806ca..8f0554e157 100644 --- a/lib/dns/include/dns/ecdb.h +++ b/lib/dns/include/dns/ecdb.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_ECDB_H #define DNS_ECDB_H 1 diff --git a/lib/dns/include/dns/ecs.h b/lib/dns/include/dns/ecs.h index 92cdda0dee..c6ce04c5d6 100644 --- a/lib/dns/include/dns/ecs.h +++ b/lib/dns/include/dns/ecs.h @@ -22,11 +22,13 @@ struct dns_ecs { isc_netaddr_t addr; - uint8_t source; - uint8_t scope; + uint8_t source; + uint8_t scope; }; -#define DNS_ECS_FORMATSIZE (ISC_NETADDR_FORMATSIZE + 8) /*
/NNN/NNN */ +#define DNS_ECS_FORMATSIZE \ + (ISC_NETADDR_FORMATSIZE + 8) /*
/NNN/NNN \ + */ ISC_LANG_BEGINDECLS diff --git a/lib/dns/include/dns/events.h b/lib/dns/include/dns/events.h index e11989afb3..3898c6dc57 100644 --- a/lib/dns/include/dns/events.h +++ b/lib/dns/include/dns/events.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_EVENTS_H #define DNS_EVENTS_H 1 @@ -20,67 +19,67 @@ * Registry of DNS event numbers. */ -#define DNS_EVENT_FETCHCONTROL (ISC_EVENTCLASS_DNS + 0) -#define DNS_EVENT_FETCHDONE (ISC_EVENTCLASS_DNS + 1) -#define DNS_EVENT_VIEWRESSHUTDOWN (ISC_EVENTCLASS_DNS + 2) -#define DNS_EVENT_VIEWADBSHUTDOWN (ISC_EVENTCLASS_DNS + 3) -#define DNS_EVENT_UPDATE (ISC_EVENTCLASS_DNS + 4) -#define DNS_EVENT_UPDATEDONE (ISC_EVENTCLASS_DNS + 5) -#define DNS_EVENT_DISPATCH (ISC_EVENTCLASS_DNS + 6) -#define DNS_EVENT_TCPMSG (ISC_EVENTCLASS_DNS + 7) -#define DNS_EVENT_ADBMOREADDRESSES (ISC_EVENTCLASS_DNS + 8) -#define DNS_EVENT_ADBNOMOREADDRESSES (ISC_EVENTCLASS_DNS + 9) -#define DNS_EVENT_ADBCANCELED (ISC_EVENTCLASS_DNS + 10) -#define DNS_EVENT_ADBNAMEDELETED (ISC_EVENTCLASS_DNS + 11) -#define DNS_EVENT_ADBSHUTDOWN (ISC_EVENTCLASS_DNS + 12) -#define DNS_EVENT_ADBEXPIRED (ISC_EVENTCLASS_DNS + 13) -#define DNS_EVENT_ADBCONTROL (ISC_EVENTCLASS_DNS + 14) -#define DNS_EVENT_CACHECLEAN (ISC_EVENTCLASS_DNS + 15) -#define DNS_EVENT_BYADDRDONE (ISC_EVENTCLASS_DNS + 16) -#define DNS_EVENT_ZONECONTROL (ISC_EVENTCLASS_DNS + 17) -#define DNS_EVENT_DBDESTROYED (ISC_EVENTCLASS_DNS + 18) -#define DNS_EVENT_VALIDATORDONE (ISC_EVENTCLASS_DNS + 19) -#define DNS_EVENT_REQUESTDONE (ISC_EVENTCLASS_DNS + 20) -#define DNS_EVENT_VALIDATORSTART (ISC_EVENTCLASS_DNS + 21) -#define DNS_EVENT_VIEWREQSHUTDOWN (ISC_EVENTCLASS_DNS + 22) -#define DNS_EVENT_NOTIFYSENDTOADDR (ISC_EVENTCLASS_DNS + 23) -#define DNS_EVENT_ZONE (ISC_EVENTCLASS_DNS + 24) -#define DNS_EVENT_ZONESTARTXFRIN (ISC_EVENTCLASS_DNS + 25) -#define DNS_EVENT_MASTERQUANTUM (ISC_EVENTCLASS_DNS + 26) -#define DNS_EVENT_CACHEOVERMEM (ISC_EVENTCLASS_DNS + 27) -#define DNS_EVENT_MASTERNEXTZONE (ISC_EVENTCLASS_DNS + 28) -#define DNS_EVENT_IOREADY (ISC_EVENTCLASS_DNS + 29) -#define DNS_EVENT_LOOKUPDONE (ISC_EVENTCLASS_DNS + 30) -#define DNS_EVENT_RBTDEADNODES (ISC_EVENTCLASS_DNS + 31) -#define DNS_EVENT_DISPATCHCONTROL (ISC_EVENTCLASS_DNS + 32) -#define DNS_EVENT_REQUESTCONTROL (ISC_EVENTCLASS_DNS + 33) -#define DNS_EVENT_DUMPQUANTUM (ISC_EVENTCLASS_DNS + 34) -#define DNS_EVENT_IMPORTRECVDONE (ISC_EVENTCLASS_DNS + 35) -#define DNS_EVENT_FREESTORAGE (ISC_EVENTCLASS_DNS + 36) -#define DNS_EVENT_VIEWACACHESHUTDOWN (ISC_EVENTCLASS_DNS + 37) -#define DNS_EVENT_ACACHECONTROL (ISC_EVENTCLASS_DNS + 38) -#define DNS_EVENT_ACACHECLEAN (ISC_EVENTCLASS_DNS + 39) -#define DNS_EVENT_ACACHEOVERMEM (ISC_EVENTCLASS_DNS + 40) -#define DNS_EVENT_RBTPRUNE (ISC_EVENTCLASS_DNS + 41) -#define DNS_EVENT_MANAGEKEYS (ISC_EVENTCLASS_DNS + 42) -#define DNS_EVENT_CLIENTRESDONE (ISC_EVENTCLASS_DNS + 43) -#define DNS_EVENT_CLIENTREQDONE (ISC_EVENTCLASS_DNS + 44) -#define DNS_EVENT_ADBGROWENTRIES (ISC_EVENTCLASS_DNS + 45) -#define DNS_EVENT_ADBGROWNAMES (ISC_EVENTCLASS_DNS + 46) -#define DNS_EVENT_ZONESECURESERIAL (ISC_EVENTCLASS_DNS + 47) -#define DNS_EVENT_ZONESECUREDB (ISC_EVENTCLASS_DNS + 48) -#define DNS_EVENT_ZONELOAD (ISC_EVENTCLASS_DNS + 49) -#define DNS_EVENT_KEYDONE (ISC_EVENTCLASS_DNS + 50) -#define DNS_EVENT_SETNSEC3PARAM (ISC_EVENTCLASS_DNS + 51) -#define DNS_EVENT_SETSERIAL (ISC_EVENTCLASS_DNS + 52) -#define DNS_EVENT_CATZUPDATED (ISC_EVENTCLASS_DNS + 53) -#define DNS_EVENT_CATZADDZONE (ISC_EVENTCLASS_DNS + 54) -#define DNS_EVENT_CATZMODZONE (ISC_EVENTCLASS_DNS + 55) -#define DNS_EVENT_CATZDELZONE (ISC_EVENTCLASS_DNS + 56) -#define DNS_EVENT_RPZUPDATED (ISC_EVENTCLASS_DNS + 57) -#define DNS_EVENT_STARTUPDATE (ISC_EVENTCLASS_DNS + 58) +#define DNS_EVENT_FETCHCONTROL (ISC_EVENTCLASS_DNS + 0) +#define DNS_EVENT_FETCHDONE (ISC_EVENTCLASS_DNS + 1) +#define DNS_EVENT_VIEWRESSHUTDOWN (ISC_EVENTCLASS_DNS + 2) +#define DNS_EVENT_VIEWADBSHUTDOWN (ISC_EVENTCLASS_DNS + 3) +#define DNS_EVENT_UPDATE (ISC_EVENTCLASS_DNS + 4) +#define DNS_EVENT_UPDATEDONE (ISC_EVENTCLASS_DNS + 5) +#define DNS_EVENT_DISPATCH (ISC_EVENTCLASS_DNS + 6) +#define DNS_EVENT_TCPMSG (ISC_EVENTCLASS_DNS + 7) +#define DNS_EVENT_ADBMOREADDRESSES (ISC_EVENTCLASS_DNS + 8) +#define DNS_EVENT_ADBNOMOREADDRESSES (ISC_EVENTCLASS_DNS + 9) +#define DNS_EVENT_ADBCANCELED (ISC_EVENTCLASS_DNS + 10) +#define DNS_EVENT_ADBNAMEDELETED (ISC_EVENTCLASS_DNS + 11) +#define DNS_EVENT_ADBSHUTDOWN (ISC_EVENTCLASS_DNS + 12) +#define DNS_EVENT_ADBEXPIRED (ISC_EVENTCLASS_DNS + 13) +#define DNS_EVENT_ADBCONTROL (ISC_EVENTCLASS_DNS + 14) +#define DNS_EVENT_CACHECLEAN (ISC_EVENTCLASS_DNS + 15) +#define DNS_EVENT_BYADDRDONE (ISC_EVENTCLASS_DNS + 16) +#define DNS_EVENT_ZONECONTROL (ISC_EVENTCLASS_DNS + 17) +#define DNS_EVENT_DBDESTROYED (ISC_EVENTCLASS_DNS + 18) +#define DNS_EVENT_VALIDATORDONE (ISC_EVENTCLASS_DNS + 19) +#define DNS_EVENT_REQUESTDONE (ISC_EVENTCLASS_DNS + 20) +#define DNS_EVENT_VALIDATORSTART (ISC_EVENTCLASS_DNS + 21) +#define DNS_EVENT_VIEWREQSHUTDOWN (ISC_EVENTCLASS_DNS + 22) +#define DNS_EVENT_NOTIFYSENDTOADDR (ISC_EVENTCLASS_DNS + 23) +#define DNS_EVENT_ZONE (ISC_EVENTCLASS_DNS + 24) +#define DNS_EVENT_ZONESTARTXFRIN (ISC_EVENTCLASS_DNS + 25) +#define DNS_EVENT_MASTERQUANTUM (ISC_EVENTCLASS_DNS + 26) +#define DNS_EVENT_CACHEOVERMEM (ISC_EVENTCLASS_DNS + 27) +#define DNS_EVENT_MASTERNEXTZONE (ISC_EVENTCLASS_DNS + 28) +#define DNS_EVENT_IOREADY (ISC_EVENTCLASS_DNS + 29) +#define DNS_EVENT_LOOKUPDONE (ISC_EVENTCLASS_DNS + 30) +#define DNS_EVENT_RBTDEADNODES (ISC_EVENTCLASS_DNS + 31) +#define DNS_EVENT_DISPATCHCONTROL (ISC_EVENTCLASS_DNS + 32) +#define DNS_EVENT_REQUESTCONTROL (ISC_EVENTCLASS_DNS + 33) +#define DNS_EVENT_DUMPQUANTUM (ISC_EVENTCLASS_DNS + 34) +#define DNS_EVENT_IMPORTRECVDONE (ISC_EVENTCLASS_DNS + 35) +#define DNS_EVENT_FREESTORAGE (ISC_EVENTCLASS_DNS + 36) +#define DNS_EVENT_VIEWACACHESHUTDOWN (ISC_EVENTCLASS_DNS + 37) +#define DNS_EVENT_ACACHECONTROL (ISC_EVENTCLASS_DNS + 38) +#define DNS_EVENT_ACACHECLEAN (ISC_EVENTCLASS_DNS + 39) +#define DNS_EVENT_ACACHEOVERMEM (ISC_EVENTCLASS_DNS + 40) +#define DNS_EVENT_RBTPRUNE (ISC_EVENTCLASS_DNS + 41) +#define DNS_EVENT_MANAGEKEYS (ISC_EVENTCLASS_DNS + 42) +#define DNS_EVENT_CLIENTRESDONE (ISC_EVENTCLASS_DNS + 43) +#define DNS_EVENT_CLIENTREQDONE (ISC_EVENTCLASS_DNS + 44) +#define DNS_EVENT_ADBGROWENTRIES (ISC_EVENTCLASS_DNS + 45) +#define DNS_EVENT_ADBGROWNAMES (ISC_EVENTCLASS_DNS + 46) +#define DNS_EVENT_ZONESECURESERIAL (ISC_EVENTCLASS_DNS + 47) +#define DNS_EVENT_ZONESECUREDB (ISC_EVENTCLASS_DNS + 48) +#define DNS_EVENT_ZONELOAD (ISC_EVENTCLASS_DNS + 49) +#define DNS_EVENT_KEYDONE (ISC_EVENTCLASS_DNS + 50) +#define DNS_EVENT_SETNSEC3PARAM (ISC_EVENTCLASS_DNS + 51) +#define DNS_EVENT_SETSERIAL (ISC_EVENTCLASS_DNS + 52) +#define DNS_EVENT_CATZUPDATED (ISC_EVENTCLASS_DNS + 53) +#define DNS_EVENT_CATZADDZONE (ISC_EVENTCLASS_DNS + 54) +#define DNS_EVENT_CATZMODZONE (ISC_EVENTCLASS_DNS + 55) +#define DNS_EVENT_CATZDELZONE (ISC_EVENTCLASS_DNS + 56) +#define DNS_EVENT_RPZUPDATED (ISC_EVENTCLASS_DNS + 57) +#define DNS_EVENT_STARTUPDATE (ISC_EVENTCLASS_DNS + 58) -#define DNS_EVENT_FIRSTEVENT (ISC_EVENTCLASS_DNS + 0) -#define DNS_EVENT_LASTEVENT (ISC_EVENTCLASS_DNS + 65535) +#define DNS_EVENT_FIRSTEVENT (ISC_EVENTCLASS_DNS + 0) +#define DNS_EVENT_LASTEVENT (ISC_EVENTCLASS_DNS + 65535) #endif /* DNS_EVENTS_H */ diff --git a/lib/dns/include/dns/fixedname.h b/lib/dns/include/dns/fixedname.h index 6a9b555105..b7ef5ae97f 100644 --- a/lib/dns/include/dns/fixedname.h +++ b/lib/dns/include/dns/fixedname.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_FIXEDNAME_H #define DNS_FIXEDNAME_H 1 @@ -59,10 +58,10 @@ *****/ struct dns_fixedname { - dns_name_t name; - dns_offsets_t offsets; - isc_buffer_t buffer; - unsigned char data[DNS_NAME_MAXWIRE]; + dns_name_t name; + dns_offsets_t offsets; + isc_buffer_t buffer; + unsigned char data[DNS_NAME_MAXWIRE]; }; ISC_LANG_BEGINDECLS diff --git a/lib/dns/include/dns/forward.h b/lib/dns/include/dns/forward.h index 2d7602a9dc..f011066aaf 100644 --- a/lib/dns/include/dns/forward.h +++ b/lib/dns/include/dns/forward.h @@ -23,16 +23,16 @@ ISC_LANG_BEGINDECLS struct dns_forwarder { - isc_sockaddr_t addr; - isc_dscp_t dscp; - ISC_LINK(dns_forwarder_t) link; + isc_sockaddr_t addr; + isc_dscp_t dscp; + ISC_LINK(dns_forwarder_t) link; }; -typedef ISC_LIST(struct dns_forwarder) dns_forwarderlist_t; +typedef ISC_LIST(struct dns_forwarder) dns_forwarderlist_t; struct dns_forwarders { - dns_forwarderlist_t fwdrs; - dns_fwdpolicy_t fwdpolicy; + dns_forwarderlist_t fwdrs; + dns_fwdpolicy_t fwdpolicy; }; isc_result_t diff --git a/lib/dns/include/dns/geoip.h b/lib/dns/include/dns/geoip.h index 223a457ef9..6a7eed75b8 100644 --- a/lib/dns/include/dns/geoip.h +++ b/lib/dns/include/dns/geoip.h @@ -34,9 +34,9 @@ #include #include +#include #include #include -#include /*** *** Types @@ -79,19 +79,19 @@ typedef enum { typedef struct dns_geoip_elem { dns_geoip_subtype_t subtype; - void *db; + void * db; union { char as_string[256]; - int as_int; + int as_int; }; } dns_geoip_elem_t; struct dns_geoip_databases { - void *country; /* GeoIP2-Country or GeoLite2-Country */ - void *city; /* GeoIP2-CIty or GeoLite2-City */ - void *domain; /* GeoIP2-Domain */ - void *isp; /* GeoIP2-ISP */ - void *as; /* GeoIP2-ASN or GeoLite2-ASN */ + void *country; /* GeoIP2-Country or GeoLite2-Country */ + void *city; /* GeoIP2-CIty or GeoLite2-City */ + void *domain; /* GeoIP2-Domain */ + void *isp; /* GeoIP2-ISP */ + void *as; /* GeoIP2-ASN or GeoLite2-ASN */ }; /*** @@ -101,9 +101,9 @@ struct dns_geoip_databases { ISC_LANG_BEGINDECLS bool -dns_geoip_match(const isc_netaddr_t *reqaddr, +dns_geoip_match(const isc_netaddr_t * reqaddr, const dns_geoip_databases_t *geoip, - const dns_geoip_elem_t *elt); + const dns_geoip_elem_t * elt); ISC_LANG_ENDDECLS diff --git a/lib/dns/include/dns/ipkeylist.h b/lib/dns/include/dns/ipkeylist.h index 5b012b4226..9e344c3e97 100644 --- a/lib/dns/include/dns/ipkeylist.h +++ b/lib/dns/include/dns/ipkeylist.h @@ -15,6 +15,7 @@ #include #include + #include /*% @@ -22,12 +23,12 @@ * store masters for a slave zone, created by parsing config options. */ struct dns_ipkeylist { - isc_sockaddr_t *addrs; - isc_dscp_t *dscps; - dns_name_t **keys; - dns_name_t **labels; - uint32_t count; - uint32_t allocated; + isc_sockaddr_t *addrs; + isc_dscp_t * dscps; + dns_name_t ** keys; + dns_name_t ** labels; + uint32_t count; + uint32_t allocated; }; void diff --git a/lib/dns/include/dns/iptable.h b/lib/dns/include/dns/iptable.h index 409aff960b..eead55ed02 100644 --- a/lib/dns/include/dns/iptable.h +++ b/lib/dns/include/dns/iptable.h @@ -22,15 +22,15 @@ #include struct dns_iptable { - unsigned int magic; - isc_mem_t *mctx; - isc_refcount_t refcount; - isc_radix_tree_t *radix; - ISC_LINK(dns_iptable_t) nextincache; + unsigned int magic; + isc_mem_t * mctx; + isc_refcount_t refcount; + isc_radix_tree_t *radix; + ISC_LINK(dns_iptable_t) nextincache; }; -#define DNS_IPTABLE_MAGIC ISC_MAGIC('T','a','b','l') -#define DNS_IPTABLE_VALID(a) ISC_MAGIC_VALID(a, DNS_IPTABLE_MAGIC) +#define DNS_IPTABLE_MAGIC ISC_MAGIC('T', 'a', 'b', 'l') +#define DNS_IPTABLE_VALID(a) ISC_MAGIC_VALID(a, DNS_IPTABLE_MAGIC) /*** *** Functions diff --git a/lib/dns/include/dns/journal.h b/lib/dns/include/dns/journal.h index 5eaefa1e5c..77bc4c6518 100644 --- a/lib/dns/include/dns/journal.h +++ b/lib/dns/include/dns/journal.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_JOURNAL_H #define DNS_JOURNAL_H 1 @@ -32,22 +31,22 @@ #include #include -#include #include +#include #include #include /*** *** Defines. ***/ -#define DNS_JOURNALOPT_RESIGN 0x00000001 +#define DNS_JOURNALOPT_RESIGN 0x00000001 -#define DNS_JOURNAL_READ 0x00000000 /* false */ -#define DNS_JOURNAL_CREATE 0x00000001 /* true */ -#define DNS_JOURNAL_WRITE 0x00000002 +#define DNS_JOURNAL_READ 0x00000000 /* false */ +#define DNS_JOURNAL_CREATE 0x00000001 /* true */ +#define DNS_JOURNAL_WRITE 0x00000002 -#define DNS_JOURNAL_SIZE_MAX INT32_MAX -#define DNS_JOURNAL_SIZE_MIN 4096 +#define DNS_JOURNAL_SIZE_MAX INT32_MAX +#define DNS_JOURNAL_SIZE_MIN 4096 /*** *** Types @@ -64,7 +63,6 @@ */ typedef struct dns_journal dns_journal_t; - /*** *** Functions ***/ @@ -81,7 +79,6 @@ dns_db_createsoatuple(dns_db_t *db, dns_dbversion_t *ver, isc_mem_t *mctx, * XXX this probably belongs somewhere else. */ - /*@{*/ #define DNS_SERIAL_GT(a, b) ((int)(((a) - (b)) & 0xFFFFFFFF) > 0) #define DNS_SERIAL_GE(a, b) ((int)(((a) - (b)) & 0xFFFFFFFF) >= 0) @@ -192,8 +189,8 @@ dns_journal_last_serial(dns_journal_t *j); */ isc_result_t -dns_journal_iter_init(dns_journal_t *j, - uint32_t begin_serial, uint32_t end_serial); +dns_journal_iter_init(dns_journal_t *j, uint32_t begin_serial, + uint32_t end_serial); /*%< * Prepare to iterate over the transactions that will bring the database * from SOA serial number 'begin_serial' to 'end_serial'. @@ -264,8 +261,7 @@ dns_journal_print(isc_mem_t *mctx, const char *filename, FILE *file); /* For debugging not general use */ isc_result_t -dns_db_diff(isc_mem_t *mctx, - dns_db_t *dba, dns_dbversion_t *dbvera, +dns_db_diff(isc_mem_t *mctx, dns_db_t *dba, dns_dbversion_t *dbvera, dns_db_t *dbb, dns_dbversion_t *dbverb, const char *journal_filename); diff --git a/lib/dns/include/dns/kasp.h b/lib/dns/include/dns/kasp.h index c9fd8ba8d6..4c366fd1f8 100644 --- a/lib/dns/include/dns/kasp.h +++ b/lib/dns/include/dns/kasp.h @@ -35,84 +35,84 @@ ISC_LANG_BEGINDECLS /* Stores a KASP key */ struct dns_kasp_key { - isc_mem_t* mctx; + isc_mem_t *mctx; /* Locked by themselves. */ - isc_refcount_t references; + isc_refcount_t references; /* Under owner's locking control. */ - ISC_LINK(struct dns_kasp_key) link; + ISC_LINK(struct dns_kasp_key) link; /* Configuration */ - uint32_t lifetime; - uint8_t algorithm; - int length; - uint8_t role; + uint32_t lifetime; + uint8_t algorithm; + int length; + uint8_t role; }; /* Stores a DNSSEC policy */ struct dns_kasp { - unsigned int magic; - isc_mem_t* mctx; - char* name; + unsigned int magic; + isc_mem_t * mctx; + char * name; /* Internals. */ - isc_mutex_t lock; - bool frozen; + isc_mutex_t lock; + bool frozen; /* Locked by themselves. */ - isc_refcount_t references; + isc_refcount_t references; /* Under owner's locking control. */ - ISC_LINK(struct dns_kasp) link; + ISC_LINK(struct dns_kasp) link; /* Configuration: signatures */ - uint32_t signatures_refresh; - uint32_t signatures_validity; - uint32_t signatures_validity_dnskey; + uint32_t signatures_refresh; + uint32_t signatures_validity; + uint32_t signatures_validity_dnskey; /* Configuration: Keys */ - dns_kasp_keylist_t keys; - dns_ttl_t dnskey_ttl; + dns_kasp_keylist_t keys; + dns_ttl_t dnskey_ttl; /* Configuration: Timings */ - uint32_t publish_safety; - uint32_t retire_safety; + uint32_t publish_safety; + uint32_t retire_safety; /* Zone settings */ - dns_ttl_t zone_max_ttl; - uint32_t zone_propagation_delay; + dns_ttl_t zone_max_ttl; + uint32_t zone_propagation_delay; /* Parent settings */ - dns_ttl_t parent_ds_ttl; - uint32_t parent_propagation_delay; - uint32_t parent_registration_delay; + dns_ttl_t parent_ds_ttl; + uint32_t parent_propagation_delay; + uint32_t parent_registration_delay; // TODO: The rest of the KASP configuration }; -#define DNS_KASP_MAGIC ISC_MAGIC('K','A','S','P') -#define DNS_KASP_VALID(kasp) ISC_MAGIC_VALID(kasp, DNS_KASP_MAGIC) +#define DNS_KASP_MAGIC ISC_MAGIC('K', 'A', 'S', 'P') +#define DNS_KASP_VALID(kasp) ISC_MAGIC_VALID(kasp, DNS_KASP_MAGIC) /* Defaults */ -#define DNS_KASP_SIG_REFRESH (86400*5) -#define DNS_KASP_SIG_VALIDITY (86400*14) -#define DNS_KASP_SIG_VALIDITY_DNSKEY (86400*14) -#define DNS_KASP_KEY_TTL (3600) -#define DNS_KASP_DS_TTL (86400) -#define DNS_KASP_PUBLISH_SAFETY (3600) -#define DNS_KASP_RETIRE_SAFETY (3600) -#define DNS_KASP_ZONE_MAXTTL (86400) -#define DNS_KASP_ZONE_PROPDELAY (300) -#define DNS_KASP_PARENT_PROPDELAY (3600) -#define DNS_KASP_PARENT_REGDELAY (86400) +#define DNS_KASP_SIG_REFRESH (86400 * 5) +#define DNS_KASP_SIG_VALIDITY (86400 * 14) +#define DNS_KASP_SIG_VALIDITY_DNSKEY (86400 * 14) +#define DNS_KASP_KEY_TTL (3600) +#define DNS_KASP_DS_TTL (86400) +#define DNS_KASP_PUBLISH_SAFETY (3600) +#define DNS_KASP_RETIRE_SAFETY (3600) +#define DNS_KASP_ZONE_MAXTTL (86400) +#define DNS_KASP_ZONE_PROPDELAY (300) +#define DNS_KASP_PARENT_PROPDELAY (3600) +#define DNS_KASP_PARENT_REGDELAY (86400) /* Key roles */ -#define DNS_KASP_KEY_ROLE_KSK 0x01 -#define DNS_KASP_KEY_ROLE_ZSK 0x02 +#define DNS_KASP_KEY_ROLE_KSK 0x01 +#define DNS_KASP_KEY_ROLE_ZSK 0x02 isc_result_t -dns_kasp_create(isc_mem_t *mctx, const char* name, dns_kasp_t **kaspp); +dns_kasp_create(isc_mem_t *mctx, const char *name, dns_kasp_t **kaspp); /*%< * Create a KASP. * @@ -192,7 +192,7 @@ dns_kasp_thaw(dns_kasp_t *kasp); *\li 'kasp' is no longer frozen. */ -const char* +const char * dns_kasp_getname(dns_kasp_t *kasp); /*%< * Get kasp name. @@ -545,7 +545,7 @@ dns_kasp_key_create(dns_kasp_t *kasp, dns_kasp_key_t **keyp); */ void -dns_kasp_key_destroy(dns_kasp_key_t* key); +dns_kasp_key_destroy(dns_kasp_key_t *key); /*%< * Destroy a KASP key. * diff --git a/lib/dns/include/dns/keydata.h b/lib/dns/include/dns/keydata.h index f12932ad07..84d76b5c49 100644 --- a/lib/dns/include/dns/keydata.h +++ b/lib/dns/include/dns/keydata.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_KEYDATA_H #define DNS_KEYDATA_H 1 @@ -31,20 +30,19 @@ #include #include -#include #include +#include ISC_LANG_BEGINDECLS isc_result_t -dns_keydata_todnskey(dns_rdata_keydata_t *keydata, - dns_rdata_dnskey_t *dnskey, isc_mem_t *mctx); +dns_keydata_todnskey(dns_rdata_keydata_t *keydata, dns_rdata_dnskey_t *dnskey, + isc_mem_t *mctx); isc_result_t -dns_keydata_fromdnskey(dns_rdata_keydata_t *keydata, - dns_rdata_dnskey_t *dnskey, - uint32_t refresh, uint32_t addhd, - uint32_t removehd, isc_mem_t *mctx); +dns_keydata_fromdnskey(dns_rdata_keydata_t *keydata, dns_rdata_dnskey_t *dnskey, + uint32_t refresh, uint32_t addhd, uint32_t removehd, + isc_mem_t *mctx); ISC_LANG_ENDDECLS diff --git a/lib/dns/include/dns/keyflags.h b/lib/dns/include/dns/keyflags.h index 6d41a1c784..9ed06b6e52 100644 --- a/lib/dns/include/dns/keyflags.h +++ b/lib/dns/include/dns/keyflags.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_KEYFLAGS_H #define DNS_KEYFLAGS_H 1 diff --git a/lib/dns/include/dns/keymgr.h b/lib/dns/include/dns/keymgr.h index a97438bf3d..98317a4d71 100644 --- a/lib/dns/include/dns/keymgr.h +++ b/lib/dns/include/dns/keymgr.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_KEYMGR_H #define DNS_KEYMGR_H 1 diff --git a/lib/dns/include/dns/keytable.h b/lib/dns/include/dns/keytable.h index 5ff7286475..6291dc4b0e 100644 --- a/lib/dns/include/dns/keytable.h +++ b/lib/dns/include/dns/keytable.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_KEYTABLE_H #define DNS_KEYTABLE_H 1 @@ -71,7 +70,6 @@ dns_keytable_create(isc_mem_t *mctx, dns_keytable_t **keytablep); *\li Any other result indicates failure. */ - void dns_keytable_attach(dns_keytable_t *source, dns_keytable_t **targetp); /*%< diff --git a/lib/dns/include/dns/keyvalues.h b/lib/dns/include/dns/keyvalues.h index 642814d13d..980049bf24 100644 --- a/lib/dns/include/dns/keyvalues.h +++ b/lib/dns/include/dns/keyvalues.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_KEYVALUES_H #define DNS_KEYVALUES_H 1 @@ -18,88 +17,88 @@ /* * Flags field of the KEY RR rdata */ -#define DNS_KEYFLAG_TYPEMASK 0xC000 /*%< Mask for "type" bits */ -#define DNS_KEYTYPE_AUTHCONF 0x0000 /*%< Key usable for both */ -#define DNS_KEYTYPE_CONFONLY 0x8000 /*%< Key usable for confidentiality */ -#define DNS_KEYTYPE_AUTHONLY 0x4000 /*%< Key usable for authentication */ -#define DNS_KEYTYPE_NOKEY 0xC000 /*%< No key usable for either; no key */ -#define DNS_KEYTYPE_NOAUTH DNS_KEYTYPE_CONFONLY -#define DNS_KEYTYPE_NOCONF DNS_KEYTYPE_AUTHONLY +#define DNS_KEYFLAG_TYPEMASK 0xC000 /*%< Mask for "type" bits */ +#define DNS_KEYTYPE_AUTHCONF 0x0000 /*%< Key usable for both */ +#define DNS_KEYTYPE_CONFONLY 0x8000 /*%< Key usable for confidentiality */ +#define DNS_KEYTYPE_AUTHONLY 0x4000 /*%< Key usable for authentication */ +#define DNS_KEYTYPE_NOKEY 0xC000 /*%< No key usable for either; no key */ +#define DNS_KEYTYPE_NOAUTH DNS_KEYTYPE_CONFONLY +#define DNS_KEYTYPE_NOCONF DNS_KEYTYPE_AUTHONLY -#define DNS_KEYFLAG_RESERVED2 0x2000 /*%< reserved - must be zero */ -#define DNS_KEYFLAG_EXTENDED 0x1000 /*%< key has extended flags */ -#define DNS_KEYFLAG_RESERVED4 0x0800 /*%< reserved - must be zero */ -#define DNS_KEYFLAG_RESERVED5 0x0400 /*%< reserved - must be zero */ -#define DNS_KEYFLAG_OWNERMASK 0x0300 /*%< these bits determine the type */ -#define DNS_KEYOWNER_USER 0x0000 /*%< key is assoc. with user */ -#define DNS_KEYOWNER_ENTITY 0x0200 /*%< key is assoc. with entity eg host */ -#define DNS_KEYOWNER_ZONE 0x0100 /*%< key is zone key */ -#define DNS_KEYOWNER_RESERVED 0x0300 /*%< reserved meaning */ -#define DNS_KEYFLAG_REVOKE 0x0080 /*%< key revoked (per rfc5011) */ -#define DNS_KEYFLAG_RESERVED9 0x0040 /*%< reserved - must be zero */ -#define DNS_KEYFLAG_RESERVED10 0x0020 /*%< reserved - must be zero */ -#define DNS_KEYFLAG_RESERVED11 0x0010 /*%< reserved - must be zero */ -#define DNS_KEYFLAG_SIGNATORYMASK 0x000F /*%< key can sign RR's of same name */ +#define DNS_KEYFLAG_RESERVED2 0x2000 /*%< reserved - must be zero */ +#define DNS_KEYFLAG_EXTENDED 0x1000 /*%< key has extended flags */ +#define DNS_KEYFLAG_RESERVED4 0x0800 /*%< reserved - must be zero */ +#define DNS_KEYFLAG_RESERVED5 0x0400 /*%< reserved - must be zero */ +#define DNS_KEYFLAG_OWNERMASK 0x0300 /*%< these bits determine the type */ +#define DNS_KEYOWNER_USER 0x0000 /*%< key is assoc. with user */ +#define DNS_KEYOWNER_ENTITY 0x0200 /*%< key is assoc. with entity eg host */ +#define DNS_KEYOWNER_ZONE 0x0100 /*%< key is zone key */ +#define DNS_KEYOWNER_RESERVED 0x0300 /*%< reserved meaning */ +#define DNS_KEYFLAG_REVOKE 0x0080 /*%< key revoked (per rfc5011) */ +#define DNS_KEYFLAG_RESERVED9 0x0040 /*%< reserved - must be zero */ +#define DNS_KEYFLAG_RESERVED10 0x0020 /*%< reserved - must be zero */ +#define DNS_KEYFLAG_RESERVED11 0x0010 /*%< reserved - must be zero */ +#define DNS_KEYFLAG_SIGNATORYMASK \ + 0x000F /*%< key can sign RR's of same name \ + */ -#define DNS_KEYFLAG_RESERVEDMASK (DNS_KEYFLAG_RESERVED2 | \ - DNS_KEYFLAG_RESERVED4 | \ - DNS_KEYFLAG_RESERVED5 | \ - DNS_KEYFLAG_RESERVED9 | \ - DNS_KEYFLAG_RESERVED10 | \ - DNS_KEYFLAG_RESERVED11 ) -#define DNS_KEYFLAG_KSK 0x0001 /*%< key signing key */ +#define DNS_KEYFLAG_RESERVEDMASK \ + (DNS_KEYFLAG_RESERVED2 | DNS_KEYFLAG_RESERVED4 | \ + DNS_KEYFLAG_RESERVED5 | DNS_KEYFLAG_RESERVED9 | \ + DNS_KEYFLAG_RESERVED10 | DNS_KEYFLAG_RESERVED11) +#define DNS_KEYFLAG_KSK 0x0001 /*%< key signing key */ -#define DNS_KEYFLAG_RESERVEDMASK2 0xFFFF /*%< no bits defined here */ +#define DNS_KEYFLAG_RESERVEDMASK2 0xFFFF /*%< no bits defined here */ /* The Algorithm field of the KEY and SIG RR's is an integer, {1..254} */ -#define DNS_KEYALG_RSAMD5 1 /*%< RSA with MD5 */ -#define DNS_KEYALG_RSA 1 /*%< Used just for tagging */ -#define DNS_KEYALG_DH 2 /*%< Diffie Hellman KEY */ -#define DNS_KEYALG_DSA 3 /*%< DSA KEY */ -#define DNS_KEYALG_NSEC3DSA 6 -#define DNS_KEYALG_DSS DNS_ALG_DSA -#define DNS_KEYALG_ECC 4 -#define DNS_KEYALG_RSASHA1 5 -#define DNS_KEYALG_NSEC3RSASHA1 7 -#define DNS_KEYALG_RSASHA256 8 -#define DNS_KEYALG_RSASHA512 10 -#define DNS_KEYALG_ECCGOST 12 -#define DNS_KEYALG_ECDSA256 13 -#define DNS_KEYALG_ECDSA384 14 -#define DNS_KEYALG_ED25519 15 -#define DNS_KEYALG_ED448 16 -#define DNS_KEYALG_INDIRECT 252 -#define DNS_KEYALG_PRIVATEDNS 253 -#define DNS_KEYALG_PRIVATEOID 254 /*%< Key begins with OID giving alg */ +#define DNS_KEYALG_RSAMD5 1 /*%< RSA with MD5 */ +#define DNS_KEYALG_RSA 1 /*%< Used just for tagging */ +#define DNS_KEYALG_DH 2 /*%< Diffie Hellman KEY */ +#define DNS_KEYALG_DSA 3 /*%< DSA KEY */ +#define DNS_KEYALG_NSEC3DSA 6 +#define DNS_KEYALG_DSS DNS_ALG_DSA +#define DNS_KEYALG_ECC 4 +#define DNS_KEYALG_RSASHA1 5 +#define DNS_KEYALG_NSEC3RSASHA1 7 +#define DNS_KEYALG_RSASHA256 8 +#define DNS_KEYALG_RSASHA512 10 +#define DNS_KEYALG_ECCGOST 12 +#define DNS_KEYALG_ECDSA256 13 +#define DNS_KEYALG_ECDSA384 14 +#define DNS_KEYALG_ED25519 15 +#define DNS_KEYALG_ED448 16 +#define DNS_KEYALG_INDIRECT 252 +#define DNS_KEYALG_PRIVATEDNS 253 +#define DNS_KEYALG_PRIVATEOID 254 /*%< Key begins with OID giving alg */ /* Protocol values */ -#define DNS_KEYPROTO_RESERVED 0 -#define DNS_KEYPROTO_TLS 1 -#define DNS_KEYPROTO_EMAIL 2 -#define DNS_KEYPROTO_DNSSEC 3 -#define DNS_KEYPROTO_IPSEC 4 -#define DNS_KEYPROTO_ANY 255 +#define DNS_KEYPROTO_RESERVED 0 +#define DNS_KEYPROTO_TLS 1 +#define DNS_KEYPROTO_EMAIL 2 +#define DNS_KEYPROTO_DNSSEC 3 +#define DNS_KEYPROTO_IPSEC 4 +#define DNS_KEYPROTO_ANY 255 /* Signatures */ -#define DNS_SIG_RSAMINBITS 512 /*%< Size of a mod or exp in bits */ -#define DNS_SIG_RSAMAXBITS 2552 - /* Total of binary mod and exp */ -#define DNS_SIG_RSAMAXBYTES ((DNS_SIG_RSAMAXBITS+7/8)*2+3) - /*%< Max length of text sig block */ -#define DNS_SIG_RSAMAXBASE64 (((DNS_SIG_RSAMAXBYTES+2)/3)*4) -#define DNS_SIG_RSAMINSIZE ((DNS_SIG_RSAMINBITS+7)/8) -#define DNS_SIG_RSAMAXSIZE ((DNS_SIG_RSAMAXBITS+7)/8) +#define DNS_SIG_RSAMINBITS 512 /*%< Size of a mod or exp in bits */ +#define DNS_SIG_RSAMAXBITS 2552 +/* Total of binary mod and exp */ +#define DNS_SIG_RSAMAXBYTES ((DNS_SIG_RSAMAXBITS + 7 / 8) * 2 + 3) +/*%< Max length of text sig block */ +#define DNS_SIG_RSAMAXBASE64 (((DNS_SIG_RSAMAXBYTES + 2) / 3) * 4) +#define DNS_SIG_RSAMINSIZE ((DNS_SIG_RSAMINBITS + 7) / 8) +#define DNS_SIG_RSAMAXSIZE ((DNS_SIG_RSAMAXBITS + 7) / 8) -#define DNS_SIG_ECDSA256SIZE 64 -#define DNS_SIG_ECDSA384SIZE 96 +#define DNS_SIG_ECDSA256SIZE 64 +#define DNS_SIG_ECDSA384SIZE 96 -#define DNS_KEY_ECDSA256SIZE 64 -#define DNS_KEY_ECDSA384SIZE 96 +#define DNS_KEY_ECDSA256SIZE 64 +#define DNS_KEY_ECDSA384SIZE 96 -#define DNS_SIG_ED25519SIZE 64 -#define DNS_SIG_ED448SIZE 114 +#define DNS_SIG_ED25519SIZE 64 +#define DNS_SIG_ED448SIZE 114 -#define DNS_KEY_ED25519SIZE 32 -#define DNS_KEY_ED448SIZE 57 +#define DNS_KEY_ED25519SIZE 32 +#define DNS_KEY_ED448SIZE 57 #endif /* DNS_KEYVALUES_H */ diff --git a/lib/dns/include/dns/lib.h b/lib/dns/include/dns/lib.h index bb507a4e0e..a86dc523c0 100644 --- a/lib/dns/include/dns/lib.h +++ b/lib/dns/include/dns/lib.h @@ -9,14 +9,13 @@ * information regarding copyright ownership. */ - #ifndef DNS_LIB_H #define DNS_LIB_H 1 /*! \file dns/lib.h */ -#include #include +#include ISC_LANG_BEGINDECLS diff --git a/lib/dns/include/dns/librpz.h b/lib/dns/include/dns/librpz.h index dd1baca805..5690a51e04 100644 --- a/lib/dns/include/dns/librpz.h +++ b/lib/dns/include/dns/librpz.h @@ -36,24 +36,22 @@ #define LIBRPZ_H #include -#include - -#include -#include #include #include #include -#include +#include +#include +#include /* * Allow either ordinary or dlopen() linking. */ #ifdef LIBRPZ_INTERNAL -#define LIBDEF(t,s) extern t s; +#define LIBDEF(t, s) extern t s; #define LIBDEF_F(f) LIBDEF(librpz_##f##_t, librpz_##f) #else -#define LIBDEF(t,s) +#define LIBDEF(t, s) #define LIBDEF_F(f) #endif @@ -64,53 +62,50 @@ * < LIBRPZ_TRIG_NSDNAME < LIBRPZ_TRIG_NSIP} */ typedef enum { - LIBRPZ_TRIG_BAD =0, - LIBRPZ_TRIG_CLIENT_IP =1, - LIBRPZ_TRIG_QNAME =2, - LIBRPZ_TRIG_IP =3, - LIBRPZ_TRIG_NSDNAME =4, - LIBRPZ_TRIG_NSIP =5 + LIBRPZ_TRIG_BAD = 0, + LIBRPZ_TRIG_CLIENT_IP = 1, + LIBRPZ_TRIG_QNAME = 2, + LIBRPZ_TRIG_IP = 3, + LIBRPZ_TRIG_NSDNAME = 4, + LIBRPZ_TRIG_NSIP = 5 } librpz_trig_t; -#define LIBRPZ_TRIG_SIZE 3 /* sizeof librpz_trig_t in bits */ -typedef uint8_t librpz_tbit_t; /* one bit for each of the TRIGS_NUM - * trigger types */ - +#define LIBRPZ_TRIG_SIZE 3 /* sizeof librpz_trig_t in bits */ +typedef uint8_t librpz_tbit_t; /* one bit for each of the TRIGS_NUM + * trigger types */ /* * Response Policy Zone Actions or policies */ typedef enum { - LIBRPZ_POLICY_UNDEFINED =0, /* an empty entry or no decision yet */ - LIBRPZ_POLICY_DELETED =1, /* placeholder for a deleted policy */ + LIBRPZ_POLICY_UNDEFINED = 0, /* an empty entry or no decision yet */ + LIBRPZ_POLICY_DELETED = 1, /* placeholder for a deleted policy */ - LIBRPZ_POLICY_PASSTHRU =2, /* 'passthru': do not rewrite */ - LIBRPZ_POLICY_DROP =3, /* 'drop': do not respond */ - LIBRPZ_POLICY_TCP_ONLY =4, /* 'tcp-only': answer UDP with TC=1 */ - LIBRPZ_POLICY_NXDOMAIN =5, /* 'nxdomain': answer with NXDOMAIN */ - LIBRPZ_POLICY_NODATA =6, /* 'nodata': answer with ANCOUNT=0 */ - LIBRPZ_POLICY_RECORD =7, /* rewrite with the policy's RR */ + LIBRPZ_POLICY_PASSTHRU = 2, /* 'passthru': do not rewrite */ + LIBRPZ_POLICY_DROP = 3, /* 'drop': do not respond */ + LIBRPZ_POLICY_TCP_ONLY = 4, /* 'tcp-only': answer UDP with TC=1 */ + LIBRPZ_POLICY_NXDOMAIN = 5, /* 'nxdomain': answer with NXDOMAIN */ + LIBRPZ_POLICY_NODATA = 6, /* 'nodata': answer with ANCOUNT=0 */ + LIBRPZ_POLICY_RECORD = 7, /* rewrite with the policy's RR */ /* only in client configurations to override the zone */ - LIBRPZ_POLICY_GIVEN, /* 'given': what policy record says */ - LIBRPZ_POLICY_DISABLED, /* at most log */ - LIBRPZ_POLICY_CNAME, /* answer with 'cname x' */ + LIBRPZ_POLICY_GIVEN, /* 'given': what policy record says */ + LIBRPZ_POLICY_DISABLED, /* at most log */ + LIBRPZ_POLICY_CNAME, /* answer with 'cname x' */ } librpz_policy_t; -#define LIBRPZ_POLICY_BITS 4 +#define LIBRPZ_POLICY_BITS 4 /* * Special policies that appear as targets of CNAMEs * NXDOMAIN is signaled by a CNAME with a "." target. * NODATA is signaled by a CNAME with a "*." target. */ -#define LIBRPZ_RPZ_PREFIX "rpz-" -#define LIBRPZ_RPZ_PASSTHRU LIBRPZ_RPZ_PREFIX"passthru" -#define LIBRPZ_RPZ_DROP LIBRPZ_RPZ_PREFIX"drop" -#define LIBRPZ_RPZ_TCP_ONLY LIBRPZ_RPZ_PREFIX"tcp-only" - - -typedef uint16_t librpz_dznum_t; /* dnsrpzd zone # in [0,DZNUM_MAX] */ -typedef uint8_t librpz_cznum_t; /* client zone # in [0,CZNUM_MAX] */ +#define LIBRPZ_RPZ_PREFIX "rpz-" +#define LIBRPZ_RPZ_PASSTHRU LIBRPZ_RPZ_PREFIX "passthru" +#define LIBRPZ_RPZ_DROP LIBRPZ_RPZ_PREFIX "drop" +#define LIBRPZ_RPZ_TCP_ONLY LIBRPZ_RPZ_PREFIX "tcp-only" +typedef uint16_t librpz_dznum_t; /* dnsrpzd zone # in [0,DZNUM_MAX] */ +typedef uint8_t librpz_cznum_t; /* client zone # in [0,CZNUM_MAX] */ /* * CIDR block @@ -118,27 +113,27 @@ typedef uint8_t librpz_cznum_t; /* client zone # in [0,CZNUM_MAX] */ typedef struct librpz_prefix { union { struct in_addr in; - struct in6_addr in6; + struct in6_addr in6; } addr; - uint8_t family; - uint8_t len; + uint8_t family; + uint8_t len; } librpz_prefix_t; /* * A domain */ -typedef uint8_t librpz_dsize_t; +typedef uint8_t librpz_dsize_t; typedef struct librpz_domain { - librpz_dsize_t size; /* of only .d */ - uint8_t d[0]; /* variable length wire format */ + librpz_dsize_t size; /* of only .d */ + uint8_t d[0]; /* variable length wire format */ } librpz_domain_t; /* * A maximal domain buffer */ typedef struct librpz_domain_buf { - librpz_dsize_t size; - uint8_t d[NS_MAXCDNAME]; + librpz_dsize_t size; + uint8_t d[NS_MAXCDNAME]; } librpz_domain_buf_t; /* @@ -146,51 +141,50 @@ typedef struct librpz_domain_buf { * C compilers say that sizeof(librpz_rr_t)=12 instead of 10. */ typedef struct { - uint16_t type; /* network byte order */ - uint16_t class; /* network byte order */ - uint32_t ttl; /* network byte order */ - uint16_t rdlength; /* network byte order */ - uint8_t rdata[0]; /* variable length */ + uint16_t type; /* network byte order */ + uint16_t class; /* network byte order */ + uint32_t ttl; /* network byte order */ + uint16_t rdlength; /* network byte order */ + uint8_t rdata[0]; /* variable length */ } librpz_rr_t; /* * The database file might be mapped with different starting addresses * by concurrent clients (resolvers), and so all pointers are offsets. */ -typedef uint32_t librpz_idx_t; -#define LIBRPZ_IDX_NULL 0 -#define LIBRPZ_IDX_MIN 1 -#define LIBRPZ_IDX_BAD ((librpz_idx_t)-1) +typedef uint32_t librpz_idx_t; +#define LIBRPZ_IDX_NULL 0 +#define LIBRPZ_IDX_MIN 1 +#define LIBRPZ_IDX_BAD ((librpz_idx_t)-1) /** * Partial decoded results of a set of RPZ queries for a single DNS response * or iteration through the mapped file. */ typedef int16_t librpz_result_id_t; typedef struct librpz_result { - librpz_idx_t next_rr; - librpz_result_id_t hit_id; /* trigger ID from resolver */ - librpz_policy_t zpolicy; /* policy from zone */ - librpz_policy_t policy; /* adjusted by client configuration */ - librpz_dznum_t dznum; /* dnsrpzd zone number */ - librpz_cznum_t cznum; /* librpz client zone number */ - librpz_trig_t trig:LIBRPZ_TRIG_SIZE; - bool log:1; /* log rewrite given librpz_log_level */ + librpz_idx_t next_rr; + librpz_result_id_t hit_id; /* trigger ID from resolver */ + librpz_policy_t zpolicy; /* policy from zone */ + librpz_policy_t policy; /* adjusted by client configuration */ + librpz_dznum_t dznum; /* dnsrpzd zone number */ + librpz_cznum_t cznum; /* librpz client zone number */ + librpz_trig_t trig : LIBRPZ_TRIG_SIZE; + bool log : 1; /* log rewrite given librpz_log_level */ } librpz_result_t; - /** * librpz trace or log levels. */ typedef enum { - LIBRPZ_LOG_FATAL =0, /* always print fatal errors */ - LIBRPZ_LOG_ERROR =1, /* errors have this level */ - LIBRPZ_LOG_TRACE1 =2, /* big events such as dnsrpzd starts */ - LIBRPZ_LOG_TRACE2 =3, /* smaller dnsrpzd zone transfers */ - LIBRPZ_LOG_TRACE3 =4, /* librpz hits */ - LIBRPZ_LOG_TRACE4 =5, /* librpz lookups */ - LIBRPZ_LOG_INVALID =999, + LIBRPZ_LOG_FATAL = 0, /* always print fatal errors */ + LIBRPZ_LOG_ERROR = 1, /* errors have this level */ + LIBRPZ_LOG_TRACE1 = 2, /* big events such as dnsrpzd starts */ + LIBRPZ_LOG_TRACE2 = 3, /* smaller dnsrpzd zone transfers */ + LIBRPZ_LOG_TRACE3 = 4, /* librpz hits */ + LIBRPZ_LOG_TRACE4 = 5, /* librpz lookups */ + LIBRPZ_LOG_INVALID = 999, } librpz_log_level_t; -typedef librpz_log_level_t (librpz_log_level_val_t)(librpz_log_level_t level); +typedef librpz_log_level_t(librpz_log_level_val_t)(librpz_log_level_t level); LIBDEF_F(log_level_val) /** @@ -205,10 +199,9 @@ typedef void(librpz_log_fnc_t)(librpz_log_level_t level, void *ctx, /** * Point librpz logging functions to the resolver's choice. */ -typedef void (librpz_set_log_t)(librpz_log_fnc_t *new_log, const char *prog_nm); +typedef void(librpz_set_log_t)(librpz_log_fnc_t *new_log, const char *prog_nm); LIBDEF_F(set_log) - /** * librpz error messages are put in these buffers. * Use a structure instead of naked char* to let the compiler check the length. @@ -216,18 +209,17 @@ LIBDEF_F(set_log) * "char sbuf[2]; foo(sbuf)" and suffer a buffer overrun. */ typedef struct { - char c[120]; + char c[120]; } librpz_emsg_t; - #ifdef LIBRPZ_HAVE_ATTR -#define LIBRPZ_UNUSED __attribute__((unused)) -#define LIBRPZ_PF(f,l) __attribute__((format(printf,f,l))) -#define LIBRPZ_NORET __attribute__((__noreturn__)) +#define LIBRPZ_UNUSED __attribute__((unused)) +#define LIBRPZ_PF(f, l) __attribute__((format(printf, f, l))) +#define LIBRPZ_NORET __attribute__((__noreturn__)) #else #define LIBRPZ_UNUSED -#define LIBRPZ_PF(f,l) -#define LIBRPZ_NORET +#define LIBRPZ_PF(f, l) +#define LIBRPZ_NORET #endif #ifdef HAVE_BUILTIN_EXPECT @@ -238,38 +230,37 @@ typedef struct { #define LIBRPZ_UNLIKELY(c) (c) #endif -typedef bool (librpz_parse_log_opt_t)(librpz_emsg_t *emsg, const char *arg); +typedef bool(librpz_parse_log_opt_t)(librpz_emsg_t *emsg, const char *arg); LIBDEF_F(parse_log_opt) -typedef void (librpz_vpemsg_t)(librpz_emsg_t *emsg, - const char *p, va_list args); +typedef void(librpz_vpemsg_t)(librpz_emsg_t *emsg, const char *p, va_list args); LIBDEF_F(vpemsg) -typedef void (librpz_pemsg_t)(librpz_emsg_t *emsg, - const char *p, ...) LIBRPZ_PF(2,3); +typedef void(librpz_pemsg_t)(librpz_emsg_t *emsg, const char *p, ...) + LIBRPZ_PF(2, 3); LIBDEF_F(pemsg) -typedef void (librpz_vlog_t)(librpz_log_level_t level, void *ctx, - const char *p, va_list args); +typedef void(librpz_vlog_t)(librpz_log_level_t level, void *ctx, const char *p, + va_list args); LIBDEF_F(vlog) -typedef void (librpz_log_t)(librpz_log_level_t level, void *ctx, - const char *p, ...) LIBRPZ_PF(3,4); +typedef void(librpz_log_t)(librpz_log_level_t level, void *ctx, const char *p, + ...) LIBRPZ_PF(3, 4); LIBDEF_F(log) -typedef void (librpz_fatal_t)(int ex_code, - const char *p, ...) LIBRPZ_PF(2,3); -extern void librpz_fatal(int ex_code, - const char *p, ...) LIBRPZ_PF(2,3) LIBRPZ_NORET; +typedef void(librpz_fatal_t)(int ex_code, const char *p, ...) LIBRPZ_PF(2, 3); +extern void +librpz_fatal(int ex_code, const char *p, ...) LIBRPZ_PF(2, 3) LIBRPZ_NORET; -typedef void (librpz_rpz_assert_t)(const char *file, unsigned line, - const char *p, ...) LIBRPZ_PF(3,4); -extern void librpz_rpz_assert(const char *file, unsigned line, - const char *p, ...) LIBRPZ_PF(3,4) LIBRPZ_NORET; - -typedef void (librpz_rpz_vassert_t)(const char *file, uint line, - const char *p, va_list args); -extern void librpz_rpz_vassert(const char *file, uint line, - const char *p, va_list args) LIBRPZ_NORET; +typedef void(librpz_rpz_assert_t)(const char *file, unsigned line, + const char *p, ...) LIBRPZ_PF(3, 4); +extern void +librpz_rpz_assert(const char *file, unsigned line, const char *p, ...) + LIBRPZ_PF(3, 4) LIBRPZ_NORET; +typedef void(librpz_rpz_vassert_t)(const char *file, uint line, const char *p, + va_list args); +extern void +librpz_rpz_vassert(const char *file, uint line, const char *p, + va_list args) LIBRPZ_NORET; /* * As far as clients are concerned, all relative pointers or indexes in a @@ -357,7 +348,6 @@ extern void librpz_rpz_vassert(const char *file, uint line, * at most once every 30 seconds. */ - /* * Lock functions for concurrent use of a single librpz_client_t client handle. */ @@ -382,18 +372,17 @@ typedef struct librpz_client librpz_client_t; * @param mutex: pointer to the lock for the client handle * @param log_ctx: NULL or resolver's context log messages */ -typedef librpz_clist_t *(librpz_clist_create_t)(librpz_emsg_t *emsg, +typedef librpz_clist_t *(librpz_clist_create_t)(librpz_emsg_t * emsg, librpz_mutex_t *lock, librpz_mutex_t *unlock, librpz_mutex_t *mutex_destroy, void *mutex, void *log_ctx); LIBDEF_F(clist_create) - /** * Release the list of dnsrpzd connections. */ -typedef void (librpz_clist_detach_t)(librpz_clist_t **clistp); +typedef void(librpz_clist_detach_t)(librpz_clist_t **clistp); LIBDEF_F(clist_detach) /** @@ -404,10 +393,10 @@ LIBDEF_F(clist_detach) * @param use_expired: true to not ignore expired zones * @return client handle or NULL if the handle could not be created */ -typedef librpz_client_t *(librpz_client_create_t)(librpz_emsg_t *emsg, +typedef librpz_client_t *(librpz_client_create_t)(librpz_emsg_t * emsg, librpz_clist_t *clist, - const char *cstr, - bool use_expired); + const char * cstr, + bool use_expired); LIBDEF_F(client_create) /** @@ -416,8 +405,8 @@ LIBDEF_F(client_create) * @param client handle * @param optional: true if it is ok if starting the daemon is not allowed */ -typedef bool (librpz_connect_t)(librpz_emsg_t *emsg, librpz_client_t *client, - bool optional); +typedef bool(librpz_connect_t)(librpz_emsg_t *emsg, librpz_client_t *client, + bool optional); LIBDEF_F(connect) /** @@ -427,7 +416,7 @@ LIBDEF_F(connect) * @param client handle to be released * @return false on error */ -typedef void (librpz_client_detach_t)(librpz_client_t **clientp); +typedef void(librpz_client_detach_t)(librpz_client_t **clientp); LIBDEF_F(client_detach) /** @@ -446,15 +435,15 @@ typedef struct librpz_rsp librpz_rsp_t; * @param have_do: DO=1 in the DNS request * @return false on error */ -typedef bool (librpz_rsp_create_t)(librpz_emsg_t *emsg, librpz_rsp_t **rspp, - int *min_ns_dotsp, librpz_client_t *client, - bool have_rd, bool have_do); +typedef bool(librpz_rsp_create_t)(librpz_emsg_t *emsg, librpz_rsp_t **rspp, + int *min_ns_dotsp, librpz_client_t *client, + bool have_rd, bool have_do); LIBDEF_F(rsp_create) /** * Finish RPZ work for a DNS response. */ -typedef void (librpz_rsp_detach_t)(librpz_rsp_t **rspp); +typedef void(librpz_rsp_detach_t)(librpz_rsp_t **rspp); LIBDEF_F(rsp_detach) /** @@ -474,8 +463,8 @@ LIBDEF_F(rsp_detach) * @param[in,out] rsp state from librpz_itr_start() * @return false on error */ -typedef bool (librpz_rsp_result_t)(librpz_emsg_t *emsg, librpz_result_t *result, - bool recursed, const librpz_rsp_t *rsp); +typedef bool(librpz_rsp_result_t)(librpz_emsg_t *emsg, librpz_result_t *result, + bool recursed, const librpz_rsp_t *rsp); LIBDEF_F(rsp_result) /** @@ -485,15 +474,15 @@ LIBDEF_F(rsp_result) * or LIBRPZ_TRIG_NSIP and the IP address is IPv6 * @return: true if looking could be worthwhile */ -typedef bool (librpz_have_trig_t)(librpz_trig_t trig, bool ipv6, - const librpz_rsp_t *rsp); +typedef bool(librpz_have_trig_t)(librpz_trig_t trig, bool ipv6, + const librpz_rsp_t *rsp); LIBDEF_F(have_trig) /** * Might looking for NSDNAME and NSIP triggers be worthwhile? * @return: true if looking could be worthwhile */ -typedef bool (librpz_have_ns_trig_t)(const librpz_rsp_t *rsp); +typedef bool(librpz_have_ns_trig_t)(const librpz_rsp_t *rsp); LIBDEF_F(have_ns_trig) /** @@ -503,9 +492,9 @@ LIBDEF_F(have_ns_trig) * @param[in,out] rsp state from librpz_itr_start() * @return false on error */ -typedef bool (librpz_rsp_clientip_prefix_t)(librpz_emsg_t *emsg, - librpz_prefix_t *prefix, - librpz_rsp_t *rsp); +typedef bool(librpz_rsp_clientip_prefix_t)(librpz_emsg_t * emsg, + librpz_prefix_t *prefix, + librpz_rsp_t * rsp); LIBDEF_F(rsp_clientip_prefix) /** @@ -518,9 +507,9 @@ LIBDEF_F(rsp_clientip_prefix) * @param[in,out] rsp state from librpz_itr_start() * @return false on error */ -typedef bool (librpz_rsp_domain_t)(librpz_emsg_t *emsg, - librpz_domain_buf_t *owner, - librpz_rsp_t *rsp); +typedef bool(librpz_rsp_domain_t)(librpz_emsg_t * emsg, + librpz_domain_buf_t *owner, + librpz_rsp_t * rsp); LIBDEF_F(rsp_domain) /** @@ -540,11 +529,11 @@ LIBDEF_F(rsp_domain) * @param[in,out] rsp state from librpz_itr_start() * @return false on error */ -typedef bool (librpz_rsp_rr_t)(librpz_emsg_t *emsg, uint16_t *typep, - uint16_t *classp, uint32_t *ttlp, - librpz_rr_t **rrp, librpz_result_t *result, - const uint8_t *qname, size_t qname_size, - librpz_rsp_t *rsp); +typedef bool(librpz_rsp_rr_t)(librpz_emsg_t *emsg, uint16_t *typep, + uint16_t *classp, uint32_t *ttlp, + librpz_rr_t **rrp, librpz_result_t *result, + const uint8_t *qname, size_t qname_size, + librpz_rsp_t *rsp); LIBDEF_F(rsp_rr) /** @@ -558,17 +547,17 @@ LIBDEF_F(rsp_rr) * @param[in,out] rsp state from librpz_itr_start() * @return false on error */ -typedef bool (librpz_rsp_soa_t)(librpz_emsg_t *emsg, uint32_t *ttlp, - librpz_rr_t **rrp, librpz_domain_buf_t *origin, - librpz_result_t *result, librpz_rsp_t *rsp); +typedef bool(librpz_rsp_soa_t)(librpz_emsg_t *emsg, uint32_t *ttlp, + librpz_rr_t **rrp, librpz_domain_buf_t *origin, + librpz_result_t *result, librpz_rsp_t *rsp); LIBDEF_F(rsp_soa) /** * Get the SOA serial number for a policy zone to compare with a known value * to check whether a zone transfer is complete. */ -typedef bool (librpz_soa_serial_t)(librpz_emsg_t *emsg, uint32_t *serialp, - const char *domain_nm, librpz_rsp_t *rsp); +typedef bool(librpz_soa_serial_t)(librpz_emsg_t *emsg, uint32_t *serialp, + const char *domain_nm, librpz_rsp_t *rsp); LIBDEF_F(soa_serial) /** @@ -577,9 +566,9 @@ LIBDEF_F(soa_serial) * @param[in,out] rsp state from librpz_itr_start() * @return false on error */ -typedef bool (librpz_rsp_push_t)(librpz_emsg_t *emsg, librpz_rsp_t *rsp); +typedef bool(librpz_rsp_push_t)(librpz_emsg_t *emsg, librpz_rsp_t *rsp); LIBDEF_F(rsp_push) -#define LIBRPZ_RSP_STACK_DEPTH 3 +#define LIBRPZ_RSP_STACK_DEPTH 3 /** * Restore the previous policy checking state. @@ -588,8 +577,8 @@ LIBDEF_F(rsp_push) * @param[in,out] rsp state from librpz_itr_start() * @return false on error */ -typedef bool (librpz_rsp_pop_t)(librpz_emsg_t *emsg, librpz_result_t *result, - librpz_rsp_t *rsp); +typedef bool(librpz_rsp_pop_t)(librpz_emsg_t *emsg, librpz_result_t *result, + librpz_rsp_t *rsp); LIBDEF_F(rsp_pop) /** @@ -598,7 +587,7 @@ LIBDEF_F(rsp_pop) * @param[out] result: NULL or restored policy rewrite values * @return false on error */ -typedef bool (librpz_rsp_pop_discard_t)(librpz_emsg_t *emsg, librpz_rsp_t *rsp); +typedef bool(librpz_rsp_pop_discard_t)(librpz_emsg_t *emsg, librpz_rsp_t *rsp); LIBDEF_F(rsp_pop_discard) /** @@ -608,8 +597,8 @@ LIBDEF_F(rsp_pop_discard) * @param[in,out] rsp state from librpz_itr_start() * @return false on error */ -typedef bool (librpz_rsp_forget_zone_t)(librpz_emsg_t *emsg, - librpz_cznum_t znum, librpz_rsp_t *rsp); +typedef bool(librpz_rsp_forget_zone_t)(librpz_emsg_t *emsg, librpz_cznum_t znum, + librpz_rsp_t *rsp); LIBDEF_F(rsp_forget_zone) /** @@ -623,10 +612,9 @@ LIBDEF_F(rsp_forget_zone) * @param[in,out] rsp state from librpz_itr_start() * @return false on error */ -typedef bool (librpz_ck_ip_t)(librpz_emsg_t *emsg, - const void *addr, uint family, - librpz_trig_t trig, librpz_result_id_t hit_id, - bool recursed, librpz_rsp_t *rsp); +typedef bool(librpz_ck_ip_t)(librpz_emsg_t *emsg, const void *addr, uint family, + librpz_trig_t trig, librpz_result_id_t hit_id, + bool recursed, librpz_rsp_t *rsp); LIBDEF_F(ck_ip) /** @@ -640,10 +628,10 @@ LIBDEF_F(ck_ip) * @param[in,out] rsp state from librpz_itr_start() * @return false on error */ -typedef bool (librpz_ck_domain_t)(librpz_emsg_t *emsg, - const uint8_t *domain, size_t domain_size, - librpz_trig_t trig, librpz_result_id_t hit_id, - bool recursed, librpz_rsp_t *rsp); +typedef bool(librpz_ck_domain_t)(librpz_emsg_t *emsg, const uint8_t *domain, + size_t domain_size, librpz_trig_t trig, + librpz_result_id_t hit_id, bool recursed, + librpz_rsp_t *rsp); LIBDEF_F(ck_domain) /** @@ -653,8 +641,8 @@ LIBDEF_F(ck_domain) * @param client context * @return false after error */ -typedef bool (librpz_zone_refresh_t)(librpz_emsg_t *emsg, const char *domain, - librpz_rsp_t *rsp); +typedef bool(librpz_zone_refresh_t)(librpz_emsg_t *emsg, const char *domain, + librpz_rsp_t *rsp); LIBDEF_F(zone_refresh) /** @@ -666,9 +654,8 @@ LIBDEF_F(zone_refresh) * @param client context * @return malloc'ed string or NULL after error */ -typedef char *(librpz_db_info_t)(librpz_emsg_t *emsg, - bool license, bool cfiles, bool listens, - librpz_rsp_t *rsp); +typedef char *(librpz_db_info_t)(librpz_emsg_t *emsg, bool license, bool cfiles, + bool listens, librpz_rsp_t *rsp); LIBDEF_F(db_info) /** @@ -678,8 +665,8 @@ LIBDEF_F(db_info) * @param client context * @return false after error */ -typedef bool (librpz_itr_start_t)(librpz_emsg_t *emsg, librpz_rsp_t **rspp, - librpz_client_t *client); +typedef bool(librpz_itr_start_t)(librpz_emsg_t *emsg, librpz_rsp_t **rspp, + librpz_client_t *client); LIBDEF_F(itr_start) /** @@ -720,15 +707,15 @@ LIBDEF_F(itr_zone) * @param[in,out] rsp state from librpz_itr_start() * @return: false on error */ -typedef bool (librpz_itr_node_t)(librpz_emsg_t *emsg, librpz_result_t *result, - bool all_zones, librpz_rsp_t *rsp); +typedef bool(librpz_itr_node_t)(librpz_emsg_t *emsg, librpz_result_t *result, + bool all_zones, librpz_rsp_t *rsp); LIBDEF_F(itr_node) /** * RPZ policy to string with a backup buffer of POLICY2STR_SIZE size */ -typedef const char *(librpz_policy2str_t)(librpz_policy_t policy, - char *buf, size_t buf_size); +typedef const char *(librpz_policy2str_t)(librpz_policy_t policy, char *buf, + size_t buf_size); #define POLICY2STR_SIZE sizeof("policy xxxxxx") LIBDEF_F(policy2str) @@ -741,16 +728,16 @@ LIBDEF_F(trig2str) /** * Convert a number of seconds to a zone file duration string */ -typedef const char *(librpz_secs2str_t)(time_t secs, - char *buf, size_t buf_size); +typedef const char *(librpz_secs2str_t)(time_t secs, char *buf, + size_t buf_size); #define SECS2STR_SIZE sizeof("1234567w7d24h59m59s") LIBDEF_F(secs2str) /** * Parse a duration with 's', 'm', 'h', 'd', and 'w' units. */ -typedef bool (librpz_str2secs_t)(librpz_emsg_t *emsg, time_t *val, - const char *str0); +typedef bool(librpz_str2secs_t)(librpz_emsg_t *emsg, time_t *val, + const char *str0); LIBDEF_F(str2secs) /** @@ -763,97 +750,95 @@ LIBDEF_F(rtype2str) /** * Local version of ns_name_ntop() for portability. */ -typedef int (librpz_domain_ntop_t)(const u_char *src, char *dst, size_t dstsiz); +typedef int(librpz_domain_ntop_t)(const u_char *src, char *dst, size_t dstsiz); LIBDEF_F(domain_ntop) /** * Local version of ns_name_pton(). */ -typedef int (librpz_domain_pton2_t)(const char *src, u_char *dst, size_t dstsiz, - size_t *dstlen, bool lower); +typedef int(librpz_domain_pton2_t)(const char *src, u_char *dst, size_t dstsiz, + size_t *dstlen, bool lower); LIBDEF_F(domain_pton2) typedef union socku socku_t; typedef socku_t *(librpz_mk_inet_su_t)(socku_t *su, const struct in_addr *addrp, - in_port_t port); + in_port_t port); LIBDEF_F(mk_inet_su) -typedef socku_t *(librpz_mk_inet6_su_t)(socku_t *su, const - struct in6_addr *addrp, +typedef socku_t *(librpz_mk_inet6_su_t)(socku_t * su, + const struct in6_addr *addrp, uint32_t scope_id, in_port_t port); LIBDEF_F(mk_inet6_su) -typedef bool (librpz_str2su_t)(socku_t *sup, const char *str); +typedef bool(librpz_str2su_t)(socku_t *sup, const char *str); LIBDEF_F(str2su) typedef char *(librpz_su2str_t)(char *str, size_t str_len, const socku_t *su); LIBDEF_F(su2str) -#define SU2STR_SIZE (INET6_ADDRSTRLEN+1+6+1) - +#define SU2STR_SIZE (INET6_ADDRSTRLEN + 1 + 6 + 1) /** * default path to dnsrpzd */ const char *librpz_dnsrpzd_path; - #undef LIBDEF /* * This is the dlopen() interface to librpz. */ typedef const struct { - const char *dnsrpzd_path; - const char *version; - librpz_parse_log_opt_t *parse_log_opt; - librpz_log_level_val_t *log_level_val; - librpz_set_log_t *set_log; - librpz_vpemsg_t *vpemsg; - librpz_pemsg_t *pemsg; - librpz_vlog_t *vlog; - librpz_log_t *log; - librpz_fatal_t *fatal LIBRPZ_NORET; - librpz_rpz_assert_t *rpz_assert LIBRPZ_NORET; - librpz_rpz_vassert_t *rpz_vassert LIBRPZ_NORET; - librpz_clist_create_t *clist_create; - librpz_clist_detach_t *clist_detach; - librpz_client_create_t *client_create; - librpz_connect_t *connect; - librpz_client_detach_t *client_detach; - librpz_rsp_create_t *rsp_create; - librpz_rsp_detach_t *rsp_detach; - librpz_rsp_result_t *rsp_result; - librpz_have_trig_t *have_trig; - librpz_have_ns_trig_t *have_ns_trig; - librpz_rsp_clientip_prefix_t *rsp_clientip_prefix; - librpz_rsp_domain_t *rsp_domain; - librpz_rsp_rr_t *rsp_rr; - librpz_rsp_soa_t *rsp_soa; - librpz_soa_serial_t *soa_serial; - librpz_rsp_push_t *rsp_push; - librpz_rsp_pop_t *rsp_pop; - librpz_rsp_pop_discard_t *rsp_pop_discard; - librpz_rsp_forget_zone_t *rsp_forget_zone; - librpz_ck_ip_t *ck_ip; - librpz_ck_domain_t *ck_domain; - librpz_zone_refresh_t *zone_refresh; - librpz_db_info_t *db_info; - librpz_itr_start_t *itr_start; - librpz_mf_stats_t *mf_stats; - librpz_vers_stats_t *vers_stats; - librpz_itr_zone_t *itr_zone; - librpz_itr_node_t *itr_node; - librpz_policy2str_t *policy2str; - librpz_trig2str_t *trig2str; - librpz_secs2str_t *secs2str; - librpz_str2secs_t *str2secs; - librpz_rtype2str_t *rtype2str; - librpz_domain_ntop_t *domain_ntop; - librpz_domain_pton2_t *domain_pton2; - librpz_mk_inet_su_t *mk_inet_su; - librpz_mk_inet6_su_t *mk_inet6_su; - librpz_str2su_t *str2su; - librpz_su2str_t *su2str; + const char * dnsrpzd_path; + const char * version; + librpz_parse_log_opt_t * parse_log_opt; + librpz_log_level_val_t * log_level_val; + librpz_set_log_t * set_log; + librpz_vpemsg_t * vpemsg; + librpz_pemsg_t * pemsg; + librpz_vlog_t * vlog; + librpz_log_t * log; + librpz_fatal_t *fatal LIBRPZ_NORET; + librpz_rpz_assert_t *rpz_assert LIBRPZ_NORET; + librpz_rpz_vassert_t *rpz_vassert LIBRPZ_NORET; + librpz_clist_create_t * clist_create; + librpz_clist_detach_t * clist_detach; + librpz_client_create_t * client_create; + librpz_connect_t * connect; + librpz_client_detach_t * client_detach; + librpz_rsp_create_t * rsp_create; + librpz_rsp_detach_t * rsp_detach; + librpz_rsp_result_t * rsp_result; + librpz_have_trig_t * have_trig; + librpz_have_ns_trig_t * have_ns_trig; + librpz_rsp_clientip_prefix_t * rsp_clientip_prefix; + librpz_rsp_domain_t * rsp_domain; + librpz_rsp_rr_t * rsp_rr; + librpz_rsp_soa_t * rsp_soa; + librpz_soa_serial_t * soa_serial; + librpz_rsp_push_t * rsp_push; + librpz_rsp_pop_t * rsp_pop; + librpz_rsp_pop_discard_t * rsp_pop_discard; + librpz_rsp_forget_zone_t * rsp_forget_zone; + librpz_ck_ip_t * ck_ip; + librpz_ck_domain_t * ck_domain; + librpz_zone_refresh_t * zone_refresh; + librpz_db_info_t * db_info; + librpz_itr_start_t * itr_start; + librpz_mf_stats_t * mf_stats; + librpz_vers_stats_t * vers_stats; + librpz_itr_zone_t * itr_zone; + librpz_itr_node_t * itr_node; + librpz_policy2str_t * policy2str; + librpz_trig2str_t * trig2str; + librpz_secs2str_t * secs2str; + librpz_str2secs_t * str2secs; + librpz_rtype2str_t * rtype2str; + librpz_domain_ntop_t * domain_ntop; + librpz_domain_pton2_t * domain_pton2; + librpz_mk_inet_su_t * mk_inet_su; + librpz_mk_inet6_su_t * mk_inet6_su; + librpz_str2su_t * str2su; + librpz_su2str_t * su2str; } librpz_0_t; extern librpz_0_t librpz_def_0; @@ -861,12 +846,11 @@ extern librpz_0_t librpz_def_0; * Future versions can be upward compatible by defining LIBRPZ_DEF as * librpz_X_t. */ -#define LIBRPZ_DEF librpz_def_0 -#define LIBRPZ_DEF_STR "librpz_def_0" +#define LIBRPZ_DEF librpz_def_0 +#define LIBRPZ_DEF_STR "librpz_def_0" typedef librpz_0_t librpz_t; -extern librpz_t *librpz; - +extern librpz_t * librpz; #if LIBRPZ_LIB_OPEN == 2 #include @@ -881,7 +865,7 @@ extern librpz_t *librpz; static inline librpz_t * librpz_lib_open(librpz_emsg_t *emsg, void **dl_handle, const char *path) { - void *handle; + void * handle; librpz_t *new_librpz; emsg->c[0] = '\0'; @@ -913,7 +897,7 @@ librpz_lib_open(librpz_emsg_t *emsg, void **dl_handle, const char *path) } if (dlclose(handle) != 0) { snprintf(emsg->c, sizeof(librpz_emsg_t), - "dlsym(NULL, "LIBRPZ_DEF_STR"): %s", + "dlsym(NULL, " LIBRPZ_DEF_STR "): %s", dlerror()); return (NULL); } @@ -927,8 +911,8 @@ librpz_lib_open(librpz_emsg_t *emsg, void **dl_handle, const char *path) handle = dlopen(path, RTLD_NOW | RTLD_LOCAL); if (handle == NULL) { - snprintf(emsg->c, sizeof(librpz_emsg_t), "dlopen(%s): %s", - path, dlerror()); + snprintf(emsg->c, sizeof(librpz_emsg_t), "dlopen(%s): %s", path, + dlerror()); return (NULL); } new_librpz = dlsym(handle, LIBRPZ_DEF_STR); @@ -938,8 +922,7 @@ librpz_lib_open(librpz_emsg_t *emsg, void **dl_handle, const char *path) return (new_librpz); } snprintf(emsg->c, sizeof(librpz_emsg_t), - "dlsym(%s, "LIBRPZ_DEF_STR"): %s", - path, dlerror()); + "dlsym(%s, " LIBRPZ_DEF_STR "): %s", path, dlerror()); dlclose(handle); return (NULL); } diff --git a/lib/dns/include/dns/log.h b/lib/dns/include/dns/log.h index 712cdfdff6..4154ec236d 100644 --- a/lib/dns/include/dns/log.h +++ b/lib/dns/include/dns/log.h @@ -18,66 +18,66 @@ #include #include -LIBDNS_EXTERNAL_DATA extern isc_log_t *dns_lctx; +LIBDNS_EXTERNAL_DATA extern isc_log_t * dns_lctx; LIBDNS_EXTERNAL_DATA extern isc_logcategory_t dns_categories[]; -LIBDNS_EXTERNAL_DATA extern isc_logmodule_t dns_modules[]; +LIBDNS_EXTERNAL_DATA extern isc_logmodule_t dns_modules[]; -#define DNS_LOGCATEGORY_NOTIFY (&dns_categories[0]) -#define DNS_LOGCATEGORY_DATABASE (&dns_categories[1]) -#define DNS_LOGCATEGORY_SECURITY (&dns_categories[2]) +#define DNS_LOGCATEGORY_NOTIFY (&dns_categories[0]) +#define DNS_LOGCATEGORY_DATABASE (&dns_categories[1]) +#define DNS_LOGCATEGORY_SECURITY (&dns_categories[2]) /* DNS_LOGCATEGORY_CONFIG superseded by CFG_LOGCATEGORY_CONFIG */ -#define DNS_LOGCATEGORY_DNSSEC (&dns_categories[4]) -#define DNS_LOGCATEGORY_RESOLVER (&dns_categories[5]) -#define DNS_LOGCATEGORY_XFER_IN (&dns_categories[6]) -#define DNS_LOGCATEGORY_XFER_OUT (&dns_categories[7]) -#define DNS_LOGCATEGORY_DISPATCH (&dns_categories[8]) -#define DNS_LOGCATEGORY_LAME_SERVERS (&dns_categories[9]) -#define DNS_LOGCATEGORY_DELEGATION_ONLY (&dns_categories[10]) -#define DNS_LOGCATEGORY_EDNS_DISABLED (&dns_categories[11]) -#define DNS_LOGCATEGORY_RPZ (&dns_categories[12]) -#define DNS_LOGCATEGORY_RRL (&dns_categories[13]) -#define DNS_LOGCATEGORY_CNAME (&dns_categories[14]) -#define DNS_LOGCATEGORY_SPILL (&dns_categories[15]) -#define DNS_LOGCATEGORY_DNSTAP (&dns_categories[16]) -#define DNS_LOGCATEGORY_ZONELOAD (&dns_categories[17]) -#define DNS_LOGCATEGORY_NSID (&dns_categories[18]) +#define DNS_LOGCATEGORY_DNSSEC (&dns_categories[4]) +#define DNS_LOGCATEGORY_RESOLVER (&dns_categories[5]) +#define DNS_LOGCATEGORY_XFER_IN (&dns_categories[6]) +#define DNS_LOGCATEGORY_XFER_OUT (&dns_categories[7]) +#define DNS_LOGCATEGORY_DISPATCH (&dns_categories[8]) +#define DNS_LOGCATEGORY_LAME_SERVERS (&dns_categories[9]) +#define DNS_LOGCATEGORY_DELEGATION_ONLY (&dns_categories[10]) +#define DNS_LOGCATEGORY_EDNS_DISABLED (&dns_categories[11]) +#define DNS_LOGCATEGORY_RPZ (&dns_categories[12]) +#define DNS_LOGCATEGORY_RRL (&dns_categories[13]) +#define DNS_LOGCATEGORY_CNAME (&dns_categories[14]) +#define DNS_LOGCATEGORY_SPILL (&dns_categories[15]) +#define DNS_LOGCATEGORY_DNSTAP (&dns_categories[16]) +#define DNS_LOGCATEGORY_ZONELOAD (&dns_categories[17]) +#define DNS_LOGCATEGORY_NSID (&dns_categories[18]) /* Backwards compatibility. */ -#define DNS_LOGCATEGORY_GENERAL ISC_LOGCATEGORY_GENERAL +#define DNS_LOGCATEGORY_GENERAL ISC_LOGCATEGORY_GENERAL -#define DNS_LOGMODULE_DB (&dns_modules[0]) -#define DNS_LOGMODULE_RBTDB (&dns_modules[1]) -#define DNS_LOGMODULE_RBT (&dns_modules[2]) -#define DNS_LOGMODULE_RDATA (&dns_modules[3]) -#define DNS_LOGMODULE_MASTER (&dns_modules[4]) -#define DNS_LOGMODULE_MESSAGE (&dns_modules[5]) -#define DNS_LOGMODULE_CACHE (&dns_modules[6]) -#define DNS_LOGMODULE_CONFIG (&dns_modules[7]) -#define DNS_LOGMODULE_RESOLVER (&dns_modules[8]) -#define DNS_LOGMODULE_ZONE (&dns_modules[9]) -#define DNS_LOGMODULE_JOURNAL (&dns_modules[10]) -#define DNS_LOGMODULE_ADB (&dns_modules[11]) -#define DNS_LOGMODULE_XFER_IN (&dns_modules[12]) -#define DNS_LOGMODULE_XFER_OUT (&dns_modules[13]) -#define DNS_LOGMODULE_ACL (&dns_modules[14]) -#define DNS_LOGMODULE_VALIDATOR (&dns_modules[15]) -#define DNS_LOGMODULE_DISPATCH (&dns_modules[16]) -#define DNS_LOGMODULE_REQUEST (&dns_modules[17]) -#define DNS_LOGMODULE_MASTERDUMP (&dns_modules[18]) -#define DNS_LOGMODULE_TSIG (&dns_modules[19]) -#define DNS_LOGMODULE_TKEY (&dns_modules[20]) -#define DNS_LOGMODULE_SDB (&dns_modules[21]) -#define DNS_LOGMODULE_DIFF (&dns_modules[22]) -#define DNS_LOGMODULE_HINTS (&dns_modules[23]) -#define DNS_LOGMODULE_UNUSED1 (&dns_modules[24]) -#define DNS_LOGMODULE_DLZ (&dns_modules[25]) -#define DNS_LOGMODULE_DNSSEC (&dns_modules[26]) -#define DNS_LOGMODULE_CRYPTO (&dns_modules[27]) -#define DNS_LOGMODULE_PACKETS (&dns_modules[28]) -#define DNS_LOGMODULE_NTA (&dns_modules[29]) -#define DNS_LOGMODULE_DYNDB (&dns_modules[30]) -#define DNS_LOGMODULE_DNSTAP (&dns_modules[31]) -#define DNS_LOGMODULE_SSU (&dns_modules[32]) +#define DNS_LOGMODULE_DB (&dns_modules[0]) +#define DNS_LOGMODULE_RBTDB (&dns_modules[1]) +#define DNS_LOGMODULE_RBT (&dns_modules[2]) +#define DNS_LOGMODULE_RDATA (&dns_modules[3]) +#define DNS_LOGMODULE_MASTER (&dns_modules[4]) +#define DNS_LOGMODULE_MESSAGE (&dns_modules[5]) +#define DNS_LOGMODULE_CACHE (&dns_modules[6]) +#define DNS_LOGMODULE_CONFIG (&dns_modules[7]) +#define DNS_LOGMODULE_RESOLVER (&dns_modules[8]) +#define DNS_LOGMODULE_ZONE (&dns_modules[9]) +#define DNS_LOGMODULE_JOURNAL (&dns_modules[10]) +#define DNS_LOGMODULE_ADB (&dns_modules[11]) +#define DNS_LOGMODULE_XFER_IN (&dns_modules[12]) +#define DNS_LOGMODULE_XFER_OUT (&dns_modules[13]) +#define DNS_LOGMODULE_ACL (&dns_modules[14]) +#define DNS_LOGMODULE_VALIDATOR (&dns_modules[15]) +#define DNS_LOGMODULE_DISPATCH (&dns_modules[16]) +#define DNS_LOGMODULE_REQUEST (&dns_modules[17]) +#define DNS_LOGMODULE_MASTERDUMP (&dns_modules[18]) +#define DNS_LOGMODULE_TSIG (&dns_modules[19]) +#define DNS_LOGMODULE_TKEY (&dns_modules[20]) +#define DNS_LOGMODULE_SDB (&dns_modules[21]) +#define DNS_LOGMODULE_DIFF (&dns_modules[22]) +#define DNS_LOGMODULE_HINTS (&dns_modules[23]) +#define DNS_LOGMODULE_UNUSED1 (&dns_modules[24]) +#define DNS_LOGMODULE_DLZ (&dns_modules[25]) +#define DNS_LOGMODULE_DNSSEC (&dns_modules[26]) +#define DNS_LOGMODULE_CRYPTO (&dns_modules[27]) +#define DNS_LOGMODULE_PACKETS (&dns_modules[28]) +#define DNS_LOGMODULE_NTA (&dns_modules[29]) +#define DNS_LOGMODULE_DYNDB (&dns_modules[30]) +#define DNS_LOGMODULE_DNSTAP (&dns_modules[31]) +#define DNS_LOGMODULE_SSU (&dns_modules[32]) ISC_LANG_BEGINDECLS diff --git a/lib/dns/include/dns/lookup.h b/lib/dns/include/dns/lookup.h index ae1d2eeb78..f4fe3bbcdf 100644 --- a/lib/dns/include/dns/lookup.h +++ b/lib/dns/include/dns/lookup.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_LOOKUP_H #define DNS_LOOKUP_H 1 @@ -41,8 +40,8 @@ *\li Drafts: TBS */ -#include #include +#include #include @@ -57,12 +56,12 @@ ISC_LANG_BEGINDECLS */ typedef struct dns_lookupevent { ISC_EVENT_COMMON(struct dns_lookupevent); - isc_result_t result; - dns_name_t *name; - dns_rdataset_t *rdataset; - dns_rdataset_t *sigrdataset; - dns_db_t *db; - dns_dbnode_t *node; + isc_result_t result; + dns_name_t * name; + dns_rdataset_t *rdataset; + dns_rdataset_t *sigrdataset; + dns_db_t * db; + dns_dbnode_t * node; } dns_lookupevent_t; isc_result_t diff --git a/lib/dns/include/dns/master.h b/lib/dns/include/dns/master.h index a2d67ee7fb..f695964306 100644 --- a/lib/dns/include/dns/master.h +++ b/lib/dns/include/dns/master.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_MASTER_H #define DNS_MASTER_H 1 @@ -19,8 +18,8 @@ *** Imports ***/ -#include #include +#include #include @@ -29,30 +28,36 @@ /* * Flags to be passed in the 'options' argument in the functions below. */ -#define DNS_MASTER_AGETTL 0x00000001 /*%< Age the ttl based on $DATE. */ -#define DNS_MASTER_MANYERRORS 0x00000002 /*%< Continue processing on errors. */ -#define DNS_MASTER_NOINCLUDE 0x00000004 /*%< Disallow $INCLUDE directives. */ -#define DNS_MASTER_ZONE 0x00000008 /*%< Loading a zone master file. */ -#define DNS_MASTER_HINT 0x00000010 /*%< Loading a hint master file. */ -#define DNS_MASTER_SLAVE 0x00000020 /*%< Loading a slave master file. */ -#define DNS_MASTER_CHECKNS 0x00000040 /*%< - * Check NS records to see - * if they are an address - */ -#define DNS_MASTER_FATALNS 0x00000080 /*%< - * Treat DNS_MASTER_CHECKNS - * matches as fatal - */ -#define DNS_MASTER_CHECKNAMES 0x00000100 +#define DNS_MASTER_AGETTL 0x00000001 /*%< Age the ttl based on $DATE. */ +#define DNS_MASTER_MANYERRORS \ + 0x00000002 /*%< Continue processing on errors. \ + */ +#define DNS_MASTER_NOINCLUDE 0x00000004 /*%< Disallow $INCLUDE directives. */ +#define DNS_MASTER_ZONE 0x00000008 /*%< Loading a zone master file. */ +#define DNS_MASTER_HINT 0x00000010 /*%< Loading a hint master file. */ +#define DNS_MASTER_SLAVE 0x00000020 /*%< Loading a slave master file. */ +#define DNS_MASTER_CHECKNS \ + 0x00000040 /*%< \ + * Check NS records to see \ + * if they are an address \ + */ +#define DNS_MASTER_FATALNS \ + 0x00000080 /*%< \ + * Treat DNS_MASTER_CHECKNS \ + * matches as fatal \ + */ +#define DNS_MASTER_CHECKNAMES 0x00000100 #define DNS_MASTER_CHECKNAMESFAIL 0x00000200 -#define DNS_MASTER_CHECKWILDCARD 0x00000400 /* Check for internal wildcards. */ -#define DNS_MASTER_CHECKMX 0x00000800 -#define DNS_MASTER_CHECKMXFAIL 0x00001000 +#define DNS_MASTER_CHECKWILDCARD \ + 0x00000400 /* Check for internal wildcards. \ + */ +#define DNS_MASTER_CHECKMX 0x00000800 +#define DNS_MASTER_CHECKMXFAIL 0x00001000 -#define DNS_MASTER_RESIGN 0x00002000 -#define DNS_MASTER_KEY 0x00004000 /*%< Loading a key zone master file. */ -#define DNS_MASTER_NOTTL 0x00008000 /*%< Don't require ttl. */ -#define DNS_MASTER_CHECKTTL 0x00010000 /*%< Check max-zone-ttl */ +#define DNS_MASTER_RESIGN 0x00002000 +#define DNS_MASTER_KEY 0x00004000 /*%< Loading a key zone master file. */ +#define DNS_MASTER_NOTTL 0x00008000 /*%< Don't require ttl. */ +#define DNS_MASTER_CHECKTTL 0x00010000 /*%< Check max-zone-ttl */ ISC_LANG_BEGINDECLS @@ -67,37 +72,37 @@ ISC_LANG_BEGINDECLS /* * Flags to indicate the status of the data in the raw file header */ -#define DNS_MASTERRAW_COMPAT 0x01 -#define DNS_MASTERRAW_SOURCESERIALSET 0x02 -#define DNS_MASTERRAW_LASTXFRINSET 0x04 +#define DNS_MASTERRAW_COMPAT 0x01 +#define DNS_MASTERRAW_SOURCESERIALSET 0x02 +#define DNS_MASTERRAW_LASTXFRINSET 0x04 /* Common header */ struct dns_masterrawheader { - uint32_t format; /* must be - * dns_masterformat_raw - * or - * dns_masterformat_map */ - uint32_t version; /* compatibility for future - * extensions */ - uint32_t dumptime; /* timestamp on creation - * (currently unused) */ - uint32_t flags; /* Flags */ - uint32_t sourceserial; /* Source serial number (used - * by inline-signing zones) */ - uint32_t lastxfrin; /* timestamp of last transfer - * (used by slave zones) */ + uint32_t format; /* must be + * dns_masterformat_raw + * or + * dns_masterformat_map */ + uint32_t version; /* compatibility for future + * extensions */ + uint32_t dumptime; /* timestamp on creation + * (currently unused) */ + uint32_t flags; /* Flags */ + uint32_t sourceserial; /* Source serial number (used + * by inline-signing zones) */ + uint32_t lastxfrin; /* timestamp of last transfer + * (used by slave zones) */ }; /* The structure for each RRset */ typedef struct { - uint32_t totallen; /* length of the data for this - * RRset, including the - * "header" part */ - dns_rdataclass_t rdclass; /* 16-bit class */ - dns_rdatatype_t type; /* 16-bit type */ - dns_rdatatype_t covers; /* same as type */ - dns_ttl_t ttl; /* 32-bit TTL */ - uint32_t nrdata; /* number of RRs in this set */ + uint32_t totallen; /* length of the data for this + * RRset, including the + * "header" part */ + dns_rdataclass_t rdclass; /* 16-bit class */ + dns_rdatatype_t type; /* 16-bit type */ + dns_rdatatype_t covers; /* same as type */ + dns_ttl_t ttl; /* 32-bit TTL */ + uint32_t nrdata; /* number of RRs in this set */ /* followed by encoded owner name, and then rdata */ } dns_masterrawrdataset_t; @@ -105,98 +110,64 @@ typedef struct { * Method prototype: a callback to register each include file as * it is encountered. */ -typedef void -(*dns_masterincludecb_t)(const char *file, void *arg); +typedef void (*dns_masterincludecb_t)(const char *file, void *arg); /*** *** Function ***/ isc_result_t -dns_master_loadfile(const char *master_file, - dns_name_t *top, - dns_name_t *origin, - dns_rdataclass_t zclass, - unsigned int options, - uint32_t resign, +dns_master_loadfile(const char *master_file, dns_name_t *top, + dns_name_t *origin, dns_rdataclass_t zclass, + unsigned int options, uint32_t resign, dns_rdatacallbacks_t *callbacks, - dns_masterincludecb_t include_cb, - void *include_arg, isc_mem_t *mctx, - dns_masterformat_t format, + dns_masterincludecb_t include_cb, void *include_arg, + isc_mem_t *mctx, dns_masterformat_t format, dns_ttl_t maxttl); isc_result_t -dns_master_loadstream(FILE *stream, - dns_name_t *top, - dns_name_t *origin, - dns_rdataclass_t zclass, - unsigned int options, - dns_rdatacallbacks_t *callbacks, - isc_mem_t *mctx); +dns_master_loadstream(FILE *stream, dns_name_t *top, dns_name_t *origin, + dns_rdataclass_t zclass, unsigned int options, + dns_rdatacallbacks_t *callbacks, isc_mem_t *mctx); isc_result_t -dns_master_loadbuffer(isc_buffer_t *buffer, - dns_name_t *top, - dns_name_t *origin, - dns_rdataclass_t zclass, - unsigned int options, - dns_rdatacallbacks_t *callbacks, - isc_mem_t *mctx); +dns_master_loadbuffer(isc_buffer_t *buffer, dns_name_t *top, dns_name_t *origin, + dns_rdataclass_t zclass, unsigned int options, + dns_rdatacallbacks_t *callbacks, isc_mem_t *mctx); isc_result_t -dns_master_loadlexer(isc_lex_t *lex, - dns_name_t *top, - dns_name_t *origin, - dns_rdataclass_t zclass, - unsigned int options, - dns_rdatacallbacks_t *callbacks, - isc_mem_t *mctx); +dns_master_loadlexer(isc_lex_t *lex, dns_name_t *top, dns_name_t *origin, + dns_rdataclass_t zclass, unsigned int options, + dns_rdatacallbacks_t *callbacks, isc_mem_t *mctx); isc_result_t -dns_master_loadfileinc(const char *master_file, - dns_name_t *top, - dns_name_t *origin, - dns_rdataclass_t zclass, - unsigned int options, - uint32_t resign, - dns_rdatacallbacks_t *callbacks, - isc_task_t *task, +dns_master_loadfileinc(const char *master_file, dns_name_t *top, + dns_name_t *origin, dns_rdataclass_t zclass, + unsigned int options, uint32_t resign, + dns_rdatacallbacks_t *callbacks, isc_task_t *task, dns_loaddonefunc_t done, void *done_arg, - dns_loadctx_t **ctxp, - dns_masterincludecb_t include_cb, void *include_arg, - isc_mem_t *mctx, dns_masterformat_t format, - uint32_t maxttl); + dns_loadctx_t **ctxp, dns_masterincludecb_t include_cb, + void *include_arg, isc_mem_t *mctx, + dns_masterformat_t format, uint32_t maxttl); isc_result_t -dns_master_loadstreaminc(FILE *stream, - dns_name_t *top, - dns_name_t *origin, - dns_rdataclass_t zclass, - unsigned int options, - dns_rdatacallbacks_t *callbacks, - isc_task_t *task, +dns_master_loadstreaminc(FILE *stream, dns_name_t *top, dns_name_t *origin, + dns_rdataclass_t zclass, unsigned int options, + dns_rdatacallbacks_t *callbacks, isc_task_t *task, dns_loaddonefunc_t done, void *done_arg, dns_loadctx_t **ctxp, isc_mem_t *mctx); isc_result_t -dns_master_loadbufferinc(isc_buffer_t *buffer, - dns_name_t *top, - dns_name_t *origin, - dns_rdataclass_t zclass, - unsigned int options, - dns_rdatacallbacks_t *callbacks, - isc_task_t *task, - dns_loaddonefunc_t done, void *done_arg, - dns_loadctx_t **ctxp, isc_mem_t *mctx); +dns_master_loadbufferinc(isc_buffer_t *buffer, dns_name_t *top, + dns_name_t *origin, dns_rdataclass_t zclass, + unsigned int options, dns_rdatacallbacks_t *callbacks, + isc_task_t *task, dns_loaddonefunc_t done, + void *done_arg, dns_loadctx_t **ctxp, isc_mem_t *mctx); isc_result_t -dns_master_loadlexerinc(isc_lex_t *lex, - dns_name_t *top, - dns_name_t *origin, - dns_rdataclass_t zclass, - unsigned int options, - dns_rdatacallbacks_t *callbacks, - isc_task_t *task, +dns_master_loadlexerinc(isc_lex_t *lex, dns_name_t *top, dns_name_t *origin, + dns_rdataclass_t zclass, unsigned int options, + dns_rdatacallbacks_t *callbacks, isc_task_t *task, dns_loaddonefunc_t done, void *done_arg, dns_loadctx_t **ctxp, isc_mem_t *mctx); diff --git a/lib/dns/include/dns/masterdump.h b/lib/dns/include/dns/masterdump.h index 2cdeddc166..752f2775b3 100644 --- a/lib/dns/include/dns/masterdump.h +++ b/lib/dns/include/dns/masterdump.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_MASTERDUMP_H #define DNS_MASTERDUMP_H 1 @@ -42,7 +41,7 @@ typedef struct dns_master_style dns_master_style_t; */ /*% Omit the owner name when possible. */ -#define DNS_STYLEFLAG_OMIT_OWNER 0x000010000ULL +#define DNS_STYLEFLAG_OMIT_OWNER 0x000010000ULL /*% * Omit the TTL when possible. If DNS_STYLEFLAG_TTL is @@ -60,56 +59,56 @@ typedef struct dns_master_style dns_master_style_t; * versions of BIND which use the SOA MINTTL as a * default TTL value. */ -#define DNS_STYLEFLAG_OMIT_TTL 0x000020000ULL +#define DNS_STYLEFLAG_OMIT_TTL 0x000020000ULL /*% Omit the class when possible. */ -#define DNS_STYLEFLAG_OMIT_CLASS 0x000040000ULL +#define DNS_STYLEFLAG_OMIT_CLASS 0x000040000ULL /*% Output $TTL directives. */ -#define DNS_STYLEFLAG_TTL 0x000080000ULL +#define DNS_STYLEFLAG_TTL 0x000080000ULL /*% * Output $ORIGIN directives and print owner names relative to * the origin when possible. */ -#define DNS_STYLEFLAG_REL_OWNER 0x000100000ULL +#define DNS_STYLEFLAG_REL_OWNER 0x000100000ULL /*% Print domain names in RR data in relative form when possible. For this to take effect, DNS_STYLEFLAG_REL_OWNER must also be set. */ -#define DNS_STYLEFLAG_REL_DATA 0x000200000ULL +#define DNS_STYLEFLAG_REL_DATA 0x000200000ULL /*% Print the trust level of each rdataset. */ -#define DNS_STYLEFLAG_TRUST 0x000400000ULL +#define DNS_STYLEFLAG_TRUST 0x000400000ULL /*% Print negative caching entries. */ -#define DNS_STYLEFLAG_NCACHE 0x000800000ULL +#define DNS_STYLEFLAG_NCACHE 0x000800000ULL /*% Never print the TTL. */ -#define DNS_STYLEFLAG_NO_TTL 0x001000000ULL +#define DNS_STYLEFLAG_NO_TTL 0x001000000ULL /*% Never print the CLASS. */ -#define DNS_STYLEFLAG_NO_CLASS 0x002000000ULL +#define DNS_STYLEFLAG_NO_CLASS 0x002000000ULL /*% Report re-signing time. */ -#define DNS_STYLEFLAG_RESIGN 0x004000000ULL +#define DNS_STYLEFLAG_RESIGN 0x004000000ULL /*% Don't printout the cryptographic parts of DNSSEC records. */ -#define DNS_STYLEFLAG_NOCRYPTO 0x008000000ULL +#define DNS_STYLEFLAG_NOCRYPTO 0x008000000ULL /*% Comment out data by prepending with ";" */ -#define DNS_STYLEFLAG_COMMENTDATA 0x010000000ULL +#define DNS_STYLEFLAG_COMMENTDATA 0x010000000ULL /*% Print TTL with human-readable units. */ -#define DNS_STYLEFLAG_TTL_UNITS 0x020000000ULL +#define DNS_STYLEFLAG_TTL_UNITS 0x020000000ULL /*% Indent output. */ -#define DNS_STYLEFLAG_INDENT 0x040000000ULL +#define DNS_STYLEFLAG_INDENT 0x040000000ULL /*% Output in YAML style. */ -#define DNS_STYLEFLAG_YAML 0x080000000ULL +#define DNS_STYLEFLAG_YAML 0x080000000ULL /*% Print ECS cache entries as comments (reserved for future use). */ -#define DNS_STYLEFLAG_ECSCACHE 0x100000000ULL +#define DNS_STYLEFLAG_ECSCACHE 0x100000000ULL ISC_LANG_BEGINDECLS @@ -138,7 +137,7 @@ LIBDNS_EXTERNAL_DATA extern const dns_master_style_t dns_master_style_full; * stop of its own, but the class and type share one. */ LIBDNS_EXTERNAL_DATA extern const dns_master_style_t - dns_master_style_explicitttl; + dns_master_style_explicitttl; /*% * A master style format designed for cache files. It prints explicit TTL @@ -232,20 +231,18 @@ dns_dumpctx_db(dns_dumpctx_t *dctx); *\li 'dctx' to be valid. */ - /*@{*/ isc_result_t dns_master_dumptostreaminc(isc_mem_t *mctx, dns_db_t *db, - dns_dbversion_t *version, + dns_dbversion_t * version, const dns_master_style_t *style, FILE *f, isc_task_t *task, dns_dumpdonefunc_t done, void *done_arg, dns_dumpctx_t **dctxp); isc_result_t -dns_master_dumptostream(isc_mem_t *mctx, dns_db_t *db, - dns_dbversion_t *version, +dns_master_dumptostream(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, const dns_master_style_t *style, - dns_masterformat_t format, + dns_masterformat_t format, dns_masterrawheader_t *header, FILE *f); /*%< * Dump the database 'db' to the steam 'f' in the specified format by @@ -281,13 +278,12 @@ dns_master_dumptostream(isc_mem_t *mctx, dns_db_t *db, isc_result_t dns_master_dumpinc(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, const dns_master_style_t *style, const char *filename, - isc_task_t *task, dns_dumpdonefunc_t done, void - *done_arg, dns_dumpctx_t **dctxp, - dns_masterformat_t format, dns_masterrawheader_t *header); + isc_task_t *task, dns_dumpdonefunc_t done, void *done_arg, + dns_dumpctx_t **dctxp, dns_masterformat_t format, + dns_masterrawheader_t *header); isc_result_t -dns_master_dump(isc_mem_t *mctx, dns_db_t *db, - dns_dbversion_t *version, +dns_master_dump(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, const dns_master_style_t *style, const char *filename, dns_masterformat_t format, dns_masterrawheader_t *header); @@ -316,10 +312,10 @@ dns_master_dump(isc_mem_t *mctx, dns_db_t *db, /*@}*/ isc_result_t -dns_master_rdatasettotext(const dns_name_t *owner_name, - dns_rdataset_t *rdataset, - const dns_master_style_t *style, - dns_indent_t *indent, isc_buffer_t *target); +dns_master_rdatasettotext(const dns_name_t * owner_name, + dns_rdataset_t * rdataset, + const dns_master_style_t *style, dns_indent_t *indent, + isc_buffer_t *target); /*%< * Convert 'rdataset' to text format, storing the result in 'target'. * @@ -333,17 +329,16 @@ dns_master_rdatasettotext(const dns_name_t *owner_name, */ isc_result_t -dns_master_questiontotext(const dns_name_t *owner_name, - dns_rdataset_t *rdataset, +dns_master_questiontotext(const dns_name_t * owner_name, + dns_rdataset_t * rdataset, const dns_master_style_t *style, - isc_buffer_t *target); + isc_buffer_t * target); isc_result_t dns_master_dumpnodetostream(isc_mem_t *mctx, dns_db_t *db, - dns_dbversion_t *version, - dns_dbnode_t *node, const dns_name_t *name, - const dns_master_style_t *style, - FILE *f); + dns_dbversion_t *version, dns_dbnode_t *node, + const dns_name_t * name, + const dns_master_style_t *style, FILE *f); isc_result_t dns_master_dumpnode(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, @@ -354,12 +349,12 @@ dns_masterstyle_flags_t dns_master_styleflags(const dns_master_style_t *style); isc_result_t -dns_master_stylecreate(dns_master_style_t **style, - dns_masterstyle_flags_t flags, - unsigned int ttl_column, unsigned int class_column, - unsigned int type_column, unsigned int rdata_column, - unsigned int line_length, unsigned int tab_width, - unsigned int split_width, isc_mem_t *mctx); +dns_master_stylecreate(dns_master_style_t ** style, + dns_masterstyle_flags_t flags, unsigned int ttl_column, + unsigned int class_column, unsigned int type_column, + unsigned int rdata_column, unsigned int line_length, + unsigned int tab_width, unsigned int split_width, + isc_mem_t *mctx); void dns_master_styledestroy(dns_master_style_t **style, isc_mem_t *mctx); diff --git a/lib/dns/include/dns/message.h b/lib/dns/include/dns/message.h index fcacbd43db..ac9e8df1df 100644 --- a/lib/dns/include/dns/message.h +++ b/lib/dns/include/dns/message.h @@ -87,196 +87,201 @@ * section, move rdata from one section to another, remove rdata, etc. */ -#define DNS_MESSAGEFLAG_QR 0x8000U -#define DNS_MESSAGEFLAG_AA 0x0400U -#define DNS_MESSAGEFLAG_TC 0x0200U -#define DNS_MESSAGEFLAG_RD 0x0100U -#define DNS_MESSAGEFLAG_RA 0x0080U -#define DNS_MESSAGEFLAG_AD 0x0020U -#define DNS_MESSAGEFLAG_CD 0x0010U +#define DNS_MESSAGEFLAG_QR 0x8000U +#define DNS_MESSAGEFLAG_AA 0x0400U +#define DNS_MESSAGEFLAG_TC 0x0200U +#define DNS_MESSAGEFLAG_RD 0x0100U +#define DNS_MESSAGEFLAG_RA 0x0080U +#define DNS_MESSAGEFLAG_AD 0x0020U +#define DNS_MESSAGEFLAG_CD 0x0010U /*%< EDNS0 extended message flags */ -#define DNS_MESSAGEEXTFLAG_DO 0x8000U +#define DNS_MESSAGEEXTFLAG_DO 0x8000U /*%< EDNS0 extended OPT codes */ -#define DNS_OPT_LLQ 1 /*%< LLQ opt code */ -#define DNS_OPT_NSID 3 /*%< NSID opt code */ -#define DNS_OPT_CLIENT_SUBNET 8 /*%< client subnet opt code */ -#define DNS_OPT_EXPIRE 9 /*%< EXPIRE opt code */ -#define DNS_OPT_COOKIE 10 /*%< COOKIE opt code */ -#define DNS_OPT_TCP_KEEPALIVE 11 /*%< TCP keepalive opt code */ -#define DNS_OPT_PAD 12 /*%< PAD opt code */ -#define DNS_OPT_KEY_TAG 14 /*%< Key tag opt code */ -#define DNS_OPT_CLIENT_TAG 16 /*%< Client tag opt code */ -#define DNS_OPT_SERVER_TAG 17 /*%< Server tag opt code */ +#define DNS_OPT_LLQ 1 /*%< LLQ opt code */ +#define DNS_OPT_NSID 3 /*%< NSID opt code */ +#define DNS_OPT_CLIENT_SUBNET 8 /*%< client subnet opt code */ +#define DNS_OPT_EXPIRE 9 /*%< EXPIRE opt code */ +#define DNS_OPT_COOKIE 10 /*%< COOKIE opt code */ +#define DNS_OPT_TCP_KEEPALIVE 11 /*%< TCP keepalive opt code */ +#define DNS_OPT_PAD 12 /*%< PAD opt code */ +#define DNS_OPT_KEY_TAG 14 /*%< Key tag opt code */ +#define DNS_OPT_CLIENT_TAG 16 /*%< Client tag opt code */ +#define DNS_OPT_SERVER_TAG 17 /*%< Server tag opt code */ /*%< Experimental options [65001...65534] as per RFC6891 */ /*%< The number of EDNS options we know about. */ -#define DNS_EDNSOPTIONS 7 +#define DNS_EDNSOPTIONS 7 -#define DNS_MESSAGE_REPLYPRESERVE (DNS_MESSAGEFLAG_RD|DNS_MESSAGEFLAG_CD) +#define DNS_MESSAGE_REPLYPRESERVE (DNS_MESSAGEFLAG_RD | DNS_MESSAGEFLAG_CD) #define DNS_MESSAGEEXTFLAG_REPLYPRESERVE (DNS_MESSAGEEXTFLAG_DO) -#define DNS_MESSAGE_HEADERLEN 12 /*%< 6 uint16_t's */ +#define DNS_MESSAGE_HEADERLEN 12 /*%< 6 uint16_t's */ -#define DNS_MESSAGE_MAGIC ISC_MAGIC('M','S','G','@') -#define DNS_MESSAGE_VALID(msg) ISC_MAGIC_VALID(msg, DNS_MESSAGE_MAGIC) +#define DNS_MESSAGE_MAGIC ISC_MAGIC('M', 'S', 'G', '@') +#define DNS_MESSAGE_VALID(msg) ISC_MAGIC_VALID(msg, DNS_MESSAGE_MAGIC) /* * Ordering here matters. DNS_SECTION_ANY must be the lowest and negative, * and DNS_SECTION_MAX must be one greater than the last used section. */ typedef int dns_section_t; -#define DNS_SECTION_ANY (-1) -#define DNS_SECTION_QUESTION 0 -#define DNS_SECTION_ANSWER 1 -#define DNS_SECTION_AUTHORITY 2 -#define DNS_SECTION_ADDITIONAL 3 -#define DNS_SECTION_MAX 4 +#define DNS_SECTION_ANY (-1) +#define DNS_SECTION_QUESTION 0 +#define DNS_SECTION_ANSWER 1 +#define DNS_SECTION_AUTHORITY 2 +#define DNS_SECTION_ADDITIONAL 3 +#define DNS_SECTION_MAX 4 typedef int dns_pseudosection_t; -#define DNS_PSEUDOSECTION_ANY (-1) -#define DNS_PSEUDOSECTION_OPT 0 -#define DNS_PSEUDOSECTION_TSIG 1 -#define DNS_PSEUDOSECTION_SIG0 2 -#define DNS_PSEUDOSECTION_MAX 3 +#define DNS_PSEUDOSECTION_ANY (-1) +#define DNS_PSEUDOSECTION_OPT 0 +#define DNS_PSEUDOSECTION_TSIG 1 +#define DNS_PSEUDOSECTION_SIG0 2 +#define DNS_PSEUDOSECTION_MAX 3 typedef int dns_messagetextflag_t; -#define DNS_MESSAGETEXTFLAG_NOCOMMENTS 0x0001 -#define DNS_MESSAGETEXTFLAG_NOHEADERS 0x0002 -#define DNS_MESSAGETEXTFLAG_ONESOA 0x0004 -#define DNS_MESSAGETEXTFLAG_OMITSOA 0x0008 +#define DNS_MESSAGETEXTFLAG_NOCOMMENTS 0x0001 +#define DNS_MESSAGETEXTFLAG_NOHEADERS 0x0002 +#define DNS_MESSAGETEXTFLAG_ONESOA 0x0004 +#define DNS_MESSAGETEXTFLAG_OMITSOA 0x0008 /* * Dynamic update names for these sections. */ -#define DNS_SECTION_ZONE DNS_SECTION_QUESTION -#define DNS_SECTION_PREREQUISITE DNS_SECTION_ANSWER -#define DNS_SECTION_UPDATE DNS_SECTION_AUTHORITY +#define DNS_SECTION_ZONE DNS_SECTION_QUESTION +#define DNS_SECTION_PREREQUISITE DNS_SECTION_ANSWER +#define DNS_SECTION_UPDATE DNS_SECTION_AUTHORITY /* * These tell the message library how the created dns_message_t will be used. */ -#define DNS_MESSAGE_INTENTUNKNOWN 0 /*%< internal use only */ -#define DNS_MESSAGE_INTENTPARSE 1 /*%< parsing messages */ -#define DNS_MESSAGE_INTENTRENDER 2 /*%< rendering */ +#define DNS_MESSAGE_INTENTUNKNOWN 0 /*%< internal use only */ +#define DNS_MESSAGE_INTENTPARSE 1 /*%< parsing messages */ +#define DNS_MESSAGE_INTENTRENDER 2 /*%< rendering */ /* * Control behavior of parsing */ -#define DNS_MESSAGEPARSE_PRESERVEORDER 0x0001 /*%< preserve rdata order */ -#define DNS_MESSAGEPARSE_BESTEFFORT 0x0002 /*%< return a message if a - recoverable parse error - occurs */ -#define DNS_MESSAGEPARSE_CLONEBUFFER 0x0004 /*%< save a copy of the - source buffer */ -#define DNS_MESSAGEPARSE_IGNORETRUNCATION 0x0008 /*%< truncation errors are - * not fatal. */ +#define DNS_MESSAGEPARSE_PRESERVEORDER 0x0001 /*%< preserve rdata order */ +#define DNS_MESSAGEPARSE_BESTEFFORT \ + 0x0002 /*%< return a message if a \ + recoverable parse error \ + occurs */ +#define DNS_MESSAGEPARSE_CLONEBUFFER \ + 0x0004 /*%< save a copy of the \ + source buffer */ +#define DNS_MESSAGEPARSE_IGNORETRUNCATION \ + 0x0008 /*%< truncation errors are \ + * not fatal. */ /* * Control behavior of rendering */ -#define DNS_MESSAGERENDER_ORDERED 0x0001 /*%< don't change order */ -#define DNS_MESSAGERENDER_PARTIAL 0x0002 /*%< allow a partial rdataset */ -#define DNS_MESSAGERENDER_OMITDNSSEC 0x0004 /*%< omit DNSSEC records */ -#define DNS_MESSAGERENDER_PREFER_A 0x0008 /*%< prefer A records in - additional section. */ -#define DNS_MESSAGERENDER_PREFER_AAAA 0x0010 /*%< prefer AAAA records in - additional section. */ +#define DNS_MESSAGERENDER_ORDERED 0x0001 /*%< don't change order */ +#define DNS_MESSAGERENDER_PARTIAL 0x0002 /*%< allow a partial rdataset */ +#define DNS_MESSAGERENDER_OMITDNSSEC 0x0004 /*%< omit DNSSEC records */ +#define DNS_MESSAGERENDER_PREFER_A \ + 0x0008 /*%< prefer A records in \ + additional section. */ +#define DNS_MESSAGERENDER_PREFER_AAAA \ + 0x0010 /*%< prefer AAAA records in \ + additional section. */ /* Obsolete: DNS_MESSAGERENDER_FILTER_AAAA 0x0020 */ typedef struct dns_msgblock dns_msgblock_t; struct dns_sortlist_arg { - dns_aclenv_t *env; - const dns_acl_t *acl; + dns_aclenv_t * env; + const dns_acl_t * acl; const dns_aclelement_t *element; }; struct dns_message { /* public from here down */ - unsigned int magic; + unsigned int magic; - dns_messageid_t id; - unsigned int flags; - dns_rcode_t rcode; - dns_opcode_t opcode; - dns_rdataclass_t rdclass; + dns_messageid_t id; + unsigned int flags; + dns_rcode_t rcode; + dns_opcode_t opcode; + dns_rdataclass_t rdclass; /* 4 real, 1 pseudo */ - unsigned int counts[DNS_SECTION_MAX]; + unsigned int counts[DNS_SECTION_MAX]; /* private from here down */ - dns_namelist_t sections[DNS_SECTION_MAX]; - dns_name_t *cursors[DNS_SECTION_MAX]; - dns_rdataset_t *opt; - dns_rdataset_t *sig0; - dns_rdataset_t *tsig; + dns_namelist_t sections[DNS_SECTION_MAX]; + dns_name_t * cursors[DNS_SECTION_MAX]; + dns_rdataset_t *opt; + dns_rdataset_t *sig0; + dns_rdataset_t *tsig; - int state; - unsigned int from_to_wire : 2; - unsigned int header_ok : 1; - unsigned int question_ok : 1; - unsigned int tcp_continuation : 1; - unsigned int verified_sig : 1; - unsigned int verify_attempted : 1; - unsigned int free_query : 1; - unsigned int free_saved : 1; - unsigned int cc_ok : 1; - unsigned int cc_bad : 1; - unsigned int tkey : 1; - unsigned int rdclass_set : 1; + int state; + unsigned int from_to_wire : 2; + unsigned int header_ok : 1; + unsigned int question_ok : 1; + unsigned int tcp_continuation : 1; + unsigned int verified_sig : 1; + unsigned int verify_attempted : 1; + unsigned int free_query : 1; + unsigned int free_saved : 1; + unsigned int cc_ok : 1; + unsigned int cc_bad : 1; + unsigned int tkey : 1; + unsigned int rdclass_set : 1; - unsigned int opt_reserved; - unsigned int sig_reserved; - unsigned int reserved; /* reserved space (render) */ + unsigned int opt_reserved; + unsigned int sig_reserved; + unsigned int reserved; /* reserved space (render) */ - uint16_t padding; - unsigned int padding_off; + uint16_t padding; + unsigned int padding_off; - isc_buffer_t *buffer; - dns_compress_t *cctx; + isc_buffer_t * buffer; + dns_compress_t *cctx; - isc_mem_t *mctx; - isc_mempool_t *namepool; - isc_mempool_t *rdspool; + isc_mem_t * mctx; + isc_mempool_t *namepool; + isc_mempool_t *rdspool; - isc_bufferlist_t scratchpad; - isc_bufferlist_t cleanup; + isc_bufferlist_t scratchpad; + isc_bufferlist_t cleanup; - ISC_LIST(dns_msgblock_t) rdatas; - ISC_LIST(dns_msgblock_t) rdatalists; - ISC_LIST(dns_msgblock_t) offsets; + ISC_LIST(dns_msgblock_t) rdatas; + ISC_LIST(dns_msgblock_t) rdatalists; + ISC_LIST(dns_msgblock_t) offsets; - ISC_LIST(dns_rdata_t) freerdata; - ISC_LIST(dns_rdatalist_t) freerdatalist; + ISC_LIST(dns_rdata_t) freerdata; + ISC_LIST(dns_rdatalist_t) freerdatalist; - dns_rcode_t tsigstatus; - dns_rcode_t querytsigstatus; - dns_name_t *tsigname; /* Owner name of TSIG, if any */ - dns_rdataset_t *querytsig; - dns_tsigkey_t *tsigkey; - dst_context_t *tsigctx; - int sigstart; - int timeadjust; + dns_rcode_t tsigstatus; + dns_rcode_t querytsigstatus; + dns_name_t * tsigname; /* Owner name of TSIG, if any */ + dns_rdataset_t *querytsig; + dns_tsigkey_t * tsigkey; + dst_context_t * tsigctx; + int sigstart; + int timeadjust; - dns_name_t *sig0name; /* Owner name of SIG0, if any */ - dst_key_t *sig0key; - dns_rcode_t sig0status; - isc_region_t query; - isc_region_t saved; + dns_name_t * sig0name; /* Owner name of SIG0, if any */ + dst_key_t * sig0key; + dns_rcode_t sig0status; + isc_region_t query; + isc_region_t saved; - dns_rdatasetorderfunc_t order; - dns_sortlist_arg_t order_arg; + dns_rdatasetorderfunc_t order; + dns_sortlist_arg_t order_arg; - dns_indent_t indent; + dns_indent_t indent; }; struct dns_ednsopt { - uint16_t code; - uint16_t length; - unsigned char *value; + uint16_t code; + uint16_t length; + unsigned char *value; }; /*** @@ -347,15 +352,13 @@ dns_message_destroy(dns_message_t **msgp); isc_result_t dns_message_sectiontotext(dns_message_t *msg, dns_section_t section, const dns_master_style_t *style, - dns_messagetextflag_t flags, - isc_buffer_t *target); + dns_messagetextflag_t flags, isc_buffer_t *target); isc_result_t -dns_message_pseudosectiontotext(dns_message_t *msg, - dns_pseudosection_t section, +dns_message_pseudosectiontotext(dns_message_t *msg, dns_pseudosection_t section, const dns_master_style_t *style, - dns_messagetextflag_t flags, - isc_buffer_t *target); + dns_messagetextflag_t flags, + isc_buffer_t * target); /*%< * Convert section 'section' or 'pseudosection' of message 'msg' to * a cleartext representation @@ -385,11 +388,11 @@ dns_message_pseudosectiontotext(dns_message_t *msg, *\li #ISC_R_NOMORE * *\li Note: On error return, *target may be partially filled with data. -*/ + */ isc_result_t dns_message_headertotext(dns_message_t *msg, const dns_master_style_t *style, - dns_messagetextflag_t flags, isc_buffer_t *target); + dns_messagetextflag_t flags, isc_buffer_t *target); /*%< * Convert the header section of message 'msg' to a cleartext * representation. This is called from dns_message_totext(). @@ -809,8 +812,7 @@ dns_message_find(const dns_name_t *name, dns_rdataclass_t rdclass, void dns_message_movename(dns_message_t *msg, dns_name_t *name, - dns_section_t fromsection, - dns_section_t tosection); + dns_section_t fromsection, dns_section_t tosection); /*%< * Move a name from one section to another. * @@ -861,7 +863,6 @@ dns_message_removename(dns_message_t *msg, dns_name_t *name, *\li 'section' be a named section. */ - /* * LOANOUT FUNCTIONS * @@ -1292,8 +1293,8 @@ dns_message_signer(dns_message_t *msg, dns_name_t *signer); *\li #ISC_R_NOTFOUND - no TSIG or SIG(0) record is present in the * message * - *\li #DNS_R_TSIGVERIFYFAILURE - the message was signed by a TSIG, but the - * signature failed to verify + *\li #DNS_R_TSIGVERIFYFAILURE - the message was signed by a TSIG, but + *the signature failed to verify * *\li #DNS_R_TSIGERRORSET - the message was signed by a TSIG and * verified, but the query was rejected by @@ -1414,8 +1415,8 @@ dns_message_gettimeadjust(dns_message_t *msg); */ void -dns_message_logpacket(dns_message_t *message, - const char *description, const isc_sockaddr_t *address, +dns_message_logpacket(dns_message_t *message, const char *description, + const isc_sockaddr_t *address, isc_logcategory_t *category, isc_logmodule_t *module, int level, isc_mem_t *mctx); @@ -1447,8 +1448,8 @@ dns_message_logfmtpacket(dns_message_t *message, const char *description, isc_result_t dns_message_buildopt(dns_message_t *msg, dns_rdataset_t **opt, - unsigned int version, uint16_t udpsize, - unsigned int flags, dns_ednsopt_t *ednsopts, size_t count); + unsigned int version, uint16_t udpsize, unsigned int flags, + dns_ednsopt_t *ednsopts, size_t count); /*%< * Built a opt record. * diff --git a/lib/dns/include/dns/name.h b/lib/dns/include/dns/name.h index 2c051265fc..b39af8e92a 100644 --- a/lib/dns/include/dns/name.h +++ b/lib/dns/include/dns/name.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_NAME_H #define DNS_NAME_H 1 @@ -64,13 +63,13 @@ *** Imports ***/ +#include #include #include -#include #include #include -#include /* Required for storage size of dns_label_t. */ +#include /* Required for storage size of dns_label_t. */ #include @@ -102,46 +101,46 @@ ISC_LANG_BEGINDECLS * for whatever purpose the client desires. */ struct dns_name { - unsigned int magic; - unsigned char * ndata; - unsigned int length; - unsigned int labels; - unsigned int attributes; - unsigned char * offsets; - isc_buffer_t * buffer; - ISC_LINK(dns_name_t) link; - ISC_LIST(dns_rdataset_t) list; + unsigned int magic; + unsigned char *ndata; + unsigned int length; + unsigned int labels; + unsigned int attributes; + unsigned char *offsets; + isc_buffer_t * buffer; + ISC_LINK(dns_name_t) link; + ISC_LIST(dns_rdataset_t) list; }; -#define DNS_NAME_MAGIC ISC_MAGIC('D','N','S','n') +#define DNS_NAME_MAGIC ISC_MAGIC('D', 'N', 'S', 'n') -#define DNS_NAMEATTR_ABSOLUTE 0x00000001 -#define DNS_NAMEATTR_READONLY 0x00000002 -#define DNS_NAMEATTR_DYNAMIC 0x00000004 -#define DNS_NAMEATTR_DYNOFFSETS 0x00000008 -#define DNS_NAMEATTR_NOCOMPRESS 0x00000010 +#define DNS_NAMEATTR_ABSOLUTE 0x00000001 +#define DNS_NAMEATTR_READONLY 0x00000002 +#define DNS_NAMEATTR_DYNAMIC 0x00000004 +#define DNS_NAMEATTR_DYNOFFSETS 0x00000008 +#define DNS_NAMEATTR_NOCOMPRESS 0x00000010 /* * Attributes below 0x0100 reserved for name.c usage. */ -#define DNS_NAMEATTR_CACHE 0x00000100 /*%< Used by resolver. */ -#define DNS_NAMEATTR_ANSWER 0x00000200 /*%< Used by resolver. */ -#define DNS_NAMEATTR_NCACHE 0x00000400 /*%< Used by resolver. */ -#define DNS_NAMEATTR_CHAINING 0x00000800 /*%< Used by resolver. */ -#define DNS_NAMEATTR_CHASE 0x00001000 /*%< Used by resolver. */ -#define DNS_NAMEATTR_WILDCARD 0x00002000 /*%< Used by server. */ -#define DNS_NAMEATTR_PREREQUISITE 0x00004000 /*%< Used by client. */ -#define DNS_NAMEATTR_UPDATE 0x00008000 /*%< Used by client. */ -#define DNS_NAMEATTR_HASUPDATEREC 0x00010000 /*%< Used by client. */ +#define DNS_NAMEATTR_CACHE 0x00000100 /*%< Used by resolver. */ +#define DNS_NAMEATTR_ANSWER 0x00000200 /*%< Used by resolver. */ +#define DNS_NAMEATTR_NCACHE 0x00000400 /*%< Used by resolver. */ +#define DNS_NAMEATTR_CHAINING 0x00000800 /*%< Used by resolver. */ +#define DNS_NAMEATTR_CHASE 0x00001000 /*%< Used by resolver. */ +#define DNS_NAMEATTR_WILDCARD 0x00002000 /*%< Used by server. */ +#define DNS_NAMEATTR_PREREQUISITE 0x00004000 /*%< Used by client. */ +#define DNS_NAMEATTR_UPDATE 0x00008000 /*%< Used by client. */ +#define DNS_NAMEATTR_HASUPDATEREC 0x00010000 /*%< Used by client. */ /* * Various flags. */ -#define DNS_NAME_DOWNCASE 0x0001 -#define DNS_NAME_CHECKNAMES 0x0002 /*%< Used by rdata. */ -#define DNS_NAME_CHECKNAMESFAIL 0x0004 /*%< Used by rdata. */ -#define DNS_NAME_CHECKREVERSE 0x0008 /*%< Used by rdata. */ -#define DNS_NAME_CHECKMX 0x0010 /*%< Used by rdata. */ -#define DNS_NAME_CHECKMXFAIL 0x0020 /*%< Used by rdata. */ +#define DNS_NAME_DOWNCASE 0x0001 +#define DNS_NAME_CHECKNAMES 0x0002 /*%< Used by rdata. */ +#define DNS_NAME_CHECKNAMESFAIL 0x0004 /*%< Used by rdata. */ +#define DNS_NAME_CHECKREVERSE 0x0008 /*%< Used by rdata. */ +#define DNS_NAME_CHECKMX 0x0010 /*%< Used by rdata. */ +#define DNS_NAME_CHECKMXFAIL 0x0020 /*%< Used by rdata. */ LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_rootname; LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_wildcardname; @@ -166,26 +165,34 @@ LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_wildcardname; * unsigned char offsets[] = { 0, 6 }; * dns_name_t value = DNS_NAME_INITABSOLUTE(data, offsets); */ -#define DNS_NAME_INITNONABSOLUTE(A,B) { \ - DNS_NAME_MAGIC, \ - A, (sizeof(A) - 1), sizeof(B), \ - DNS_NAMEATTR_READONLY, \ - B, NULL, { (void *)-1, (void *)-1}, \ - {NULL, NULL} \ -} +#define DNS_NAME_INITNONABSOLUTE(A, B) \ + { \ + DNS_NAME_MAGIC, A, (sizeof(A) - 1), sizeof(B), \ + DNS_NAMEATTR_READONLY, B, NULL, \ + { (void *)-1, (void *)-1 }, \ + { \ + NULL, NULL \ + } \ + } -#define DNS_NAME_INITABSOLUTE(A,B) { \ - DNS_NAME_MAGIC, \ - A, sizeof(A), sizeof(B), \ - DNS_NAMEATTR_READONLY | DNS_NAMEATTR_ABSOLUTE, \ - B, NULL, { (void *)-1, (void *)-1}, \ - {NULL, NULL} \ -} +#define DNS_NAME_INITABSOLUTE(A, B) \ + { \ + DNS_NAME_MAGIC, A, sizeof(A), sizeof(B), \ + DNS_NAMEATTR_READONLY | DNS_NAMEATTR_ABSOLUTE, B, \ + NULL, { (void *)-1, (void *)-1 }, \ + { \ + NULL, NULL \ + } \ + } -#define DNS_NAME_INITEMPTY { \ - DNS_NAME_MAGIC, NULL, 0, 0, 0, NULL, NULL, \ - { (void *)-1, (void *)-1 }, { NULL, NULL } \ -} +#define DNS_NAME_INITEMPTY \ + { \ + DNS_NAME_MAGIC, NULL, 0, 0, 0, NULL, NULL, \ + { (void *)-1, (void *)-1 }, \ + { \ + NULL, NULL \ + } \ + } /*% * Standard size of a wire format name @@ -197,8 +204,8 @@ LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_wildcardname; * 'target' is the buffer to be converted. The region to be converted * is from 'buffer'->base + 'used_org' to the end of the used region. */ -typedef isc_result_t (dns_name_totextfilter_t)(isc_buffer_t *target, - unsigned int used_org); +typedef isc_result_t(dns_name_totextfilter_t)(isc_buffer_t *target, + unsigned int used_org); /*** *** Initialization @@ -626,7 +633,6 @@ dns_name_getlabelsequence(const dns_name_t *source, unsigned int first, * \li first + n <= dns_name_countlabels(name) */ - void dns_name_clone(const dns_name_t *source, dns_name_t *target); /*%< @@ -826,8 +832,8 @@ dns_name_fromtext(dns_name_t *name, isc_buffer_t *source, *\li #ISC_R_UNEXPECTEDEND */ -#define DNS_NAME_OMITFINALDOT 0x01U -#define DNS_NAME_MASTERFILE 0x02U /* escape $ and @ */ +#define DNS_NAME_OMITFINALDOT 0x01U +#define DNS_NAME_MASTERFILE 0x02U /* escape $ and @ */ isc_result_t dns_name_toprincipal(const dns_name_t *name, isc_buffer_t *target); @@ -1032,8 +1038,7 @@ dns_name_split(const dns_name_t *name, unsigned int suffixlabels, */ void -dns_name_dup(const dns_name_t *source, isc_mem_t *mctx, - dns_name_t *target); +dns_name_dup(const dns_name_t *source, isc_mem_t *mctx, dns_name_t *target); /*%< * Make 'target' a dynamically allocated copy of 'source'. * @@ -1277,7 +1282,6 @@ dns_name_ishostname(const dns_name_t *name, bool wildcard); * 'name' to be valid. */ - bool dns_name_ismailbox(const dns_name_t *name); /*%< @@ -1334,67 +1338,66 @@ ISC_LANG_ENDDECLS * WARNING: No assertion checking is done for these macros. */ -#define DNS_NAME_INIT(n, o) \ -do { \ - dns_name_t *_n = (n); \ - /* memset(_n, 0, sizeof(*_n)); */ \ - _n->magic = DNS_NAME_MAGIC; \ - _n->ndata = NULL; \ - _n->length = 0; \ - _n->labels = 0; \ - _n->attributes = 0; \ - _n->offsets = (o); \ - _n->buffer = NULL; \ - ISC_LINK_INIT(_n, link); \ - ISC_LIST_INIT(_n->list); \ -} while (0) +#define DNS_NAME_INIT(n, o) \ + do { \ + dns_name_t *_n = (n); \ + /* memset(_n, 0, sizeof(*_n)); */ \ + _n->magic = DNS_NAME_MAGIC; \ + _n->ndata = NULL; \ + _n->length = 0; \ + _n->labels = 0; \ + _n->attributes = 0; \ + _n->offsets = (o); \ + _n->buffer = NULL; \ + ISC_LINK_INIT(_n, link); \ + ISC_LIST_INIT(_n->list); \ + } while (0) -#define DNS_NAME_RESET(n) \ -do { \ - (n)->ndata = NULL; \ - (n)->length = 0; \ - (n)->labels = 0; \ - (n)->attributes &= ~DNS_NAMEATTR_ABSOLUTE; \ - if ((n)->buffer != NULL) \ - isc_buffer_clear((n)->buffer); \ -} while (0) +#define DNS_NAME_RESET(n) \ + do { \ + (n)->ndata = NULL; \ + (n)->length = 0; \ + (n)->labels = 0; \ + (n)->attributes &= ~DNS_NAMEATTR_ABSOLUTE; \ + if ((n)->buffer != NULL) \ + isc_buffer_clear((n)->buffer); \ + } while (0) -#define DNS_NAME_SETBUFFER(n, b) \ - (n)->buffer = (b) +#define DNS_NAME_SETBUFFER(n, b) (n)->buffer = (b) #define DNS_NAME_ISABSOLUTE(n) \ (((n)->attributes & DNS_NAMEATTR_ABSOLUTE) != 0 ? true : false) -#define DNS_NAME_COUNTLABELS(n) \ - ((n)->labels) +#define DNS_NAME_COUNTLABELS(n) ((n)->labels) -#define DNS_NAME_TOREGION(n, r) \ -do { \ - (r)->base = (n)->ndata; \ - (r)->length = (n)->length; \ -} while (0) +#define DNS_NAME_TOREGION(n, r) \ + do { \ + (r)->base = (n)->ndata; \ + (r)->length = (n)->length; \ + } while (0) -#define DNS_NAME_SPLIT(n, l, p, s) \ -do { \ - dns_name_t *_n = (n); \ - dns_name_t *_p = (p); \ - dns_name_t *_s = (s); \ - unsigned int _l = (l); \ - if (_p != NULL) \ - dns_name_getlabelsequence(_n, 0, _n->labels - _l, _p); \ - if (_s != NULL) \ - dns_name_getlabelsequence(_n, _n->labels - _l, _l, _s); \ -} while (0) +#define DNS_NAME_SPLIT(n, l, p, s) \ + do { \ + dns_name_t * _n = (n); \ + dns_name_t * _p = (p); \ + dns_name_t * _s = (s); \ + unsigned int _l = (l); \ + if (_p != NULL) \ + dns_name_getlabelsequence(_n, 0, _n->labels - _l, _p); \ + if (_s != NULL) \ + dns_name_getlabelsequence(_n, _n->labels - _l, _l, \ + _s); \ + } while (0) #ifdef DNS_NAME_USEINLINE -#define dns_name_init(n, o) DNS_NAME_INIT(n, o) -#define dns_name_reset(n) DNS_NAME_RESET(n) -#define dns_name_setbuffer(n, b) DNS_NAME_SETBUFFER(n, b) -#define dns_name_countlabels(n) DNS_NAME_COUNTLABELS(n) -#define dns_name_isabsolute(n) DNS_NAME_ISABSOLUTE(n) -#define dns_name_toregion(n, r) DNS_NAME_TOREGION(n, r) -#define dns_name_split(n, l, p, s) DNS_NAME_SPLIT(n, l, p, s) +#define dns_name_init(n, o) DNS_NAME_INIT(n, o) +#define dns_name_reset(n) DNS_NAME_RESET(n) +#define dns_name_setbuffer(n, b) DNS_NAME_SETBUFFER(n, b) +#define dns_name_countlabels(n) DNS_NAME_COUNTLABELS(n) +#define dns_name_isabsolute(n) DNS_NAME_ISABSOLUTE(n) +#define dns_name_toregion(n, r) DNS_NAME_TOREGION(n, r) +#define dns_name_split(n, l, p, s) DNS_NAME_SPLIT(n, l, p, s) #endif /* DNS_NAME_USEINLINE */ diff --git a/lib/dns/include/dns/ncache.h b/lib/dns/include/dns/ncache.h index c2e1e7be53..f92def2327 100644 --- a/lib/dns/include/dns/ncache.h +++ b/lib/dns/include/dns/ncache.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_NCACHE_H #define DNS_NCACHE_H 1 @@ -52,18 +51,16 @@ ISC_LANG_BEGINDECLS * _OMITDNSSEC: * Omit DNSSEC records when rendering. */ -#define DNS_NCACHETOWIRE_OMITDNSSEC 0x0001 +#define DNS_NCACHETOWIRE_OMITDNSSEC 0x0001 isc_result_t dns_ncache_add(dns_message_t *message, dns_db_t *cache, dns_dbnode_t *node, - dns_rdatatype_t covers, isc_stdtime_t now, - dns_ttl_t minttl, dns_ttl_t maxttl, - dns_rdataset_t *addedrdataset); + dns_rdatatype_t covers, isc_stdtime_t now, dns_ttl_t minttl, + dns_ttl_t maxttl, dns_rdataset_t *addedrdataset); isc_result_t dns_ncache_addoptout(dns_message_t *message, dns_db_t *cache, dns_dbnode_t *node, dns_rdatatype_t covers, - isc_stdtime_t now, - dns_ttl_t minttl, dns_ttl_t maxttl, + isc_stdtime_t now, dns_ttl_t minttl, dns_ttl_t maxttl, bool optout, dns_rdataset_t *addedrdataset); /*%< * Convert the authority data from 'message' into a negative cache diff --git a/lib/dns/include/dns/nsec.h b/lib/dns/include/dns/nsec.h index 80b1086c70..2011a2d782 100644 --- a/lib/dns/include/dns/nsec.h +++ b/lib/dns/include/dns/nsec.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_NSEC_H #define DNS_NSEC_H 1 @@ -19,17 +18,17 @@ #include -#include #include +#include #define DNS_NSEC_BUFFERSIZE (DNS_NAME_MAXWIRE + 8192 + 512) ISC_LANG_BEGINDECLS isc_result_t -dns_nsec_buildrdata(dns_db_t *db, dns_dbversion_t *version, - dns_dbnode_t *node, const dns_name_t *target, - unsigned char *buffer, dns_rdata_t *rdata); +dns_nsec_buildrdata(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node, + const dns_name_t *target, unsigned char *buffer, + dns_rdata_t *rdata); /*%< * Build the rdata of a NSEC record. * @@ -60,8 +59,7 @@ dns_nsec_typepresent(dns_rdata_t *nsec, dns_rdatatype_t type); */ isc_result_t -dns_nsec_nseconly(dns_db_t *db, dns_dbversion_t *version, - bool *answer); +dns_nsec_nseconly(dns_db_t *db, dns_dbversion_t *version, bool *answer); /* * Report whether the DNSKEY RRset has a NSEC only algorithm. Unknown * algorithms are assumed to support NSEC3. If DNSKEY is not found, @@ -96,8 +94,8 @@ dns_nsec_isset(const unsigned char *array, unsigned int type); isc_result_t dns_nsec_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, const dns_name_t *nsecname, dns_rdataset_t *nsecset, - bool *exists, bool *data, - dns_name_t *wild, dns_nseclog_t log, void *arg); + bool *exists, bool *data, dns_name_t *wild, + dns_nseclog_t log, void *arg); /*% * Return ISC_R_SUCCESS if we can determine that the name doesn't exist * or we can determine whether there is data or not at the name. diff --git a/lib/dns/include/dns/nsec3.h b/lib/dns/include/dns/nsec3.h index 7b92559073..5608515e9b 100644 --- a/lib/dns/include/dns/nsec3.h +++ b/lib/dns/include/dns/nsec3.h @@ -9,14 +9,13 @@ * information regarding copyright ownership. */ - #ifndef DNS_NSEC3_H #define DNS_NSEC3_H 1 #include -#include #include +#include #include #include @@ -44,12 +43,12 @@ ISC_LANG_BEGINDECLS isc_result_t -dns_nsec3_buildrdata(dns_db_t *db, dns_dbversion_t *version, - dns_dbnode_t *node, unsigned int hashalg, - unsigned int optin, unsigned int iterations, - const unsigned char *salt, size_t salt_length, - const unsigned char *nexthash, size_t hash_length, - unsigned char *buffer, dns_rdata_t *rdata); +dns_nsec3_buildrdata(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node, + unsigned int hashalg, unsigned int optin, + unsigned int iterations, const unsigned char *salt, + size_t salt_length, const unsigned char *nexthash, + size_t hash_length, unsigned char *buffer, + dns_rdata_t *rdata); /*%< * Build the rdata of a NSEC3 record for the data at 'node'. * Note: 'node' is not the node where the NSEC3 record will be stored. @@ -75,11 +74,11 @@ dns_nsec3_typepresent(dns_rdata_t *nsec, dns_rdatatype_t type); isc_result_t dns_nsec3_hashname(dns_fixedname_t *result, - unsigned char rethash[NSEC3_MAX_HASH_LENGTH], - size_t *hash_length, - const dns_name_t *name, const dns_name_t *origin, - dns_hash_t hashalg, unsigned int iterations, - const unsigned char *salt, size_t saltlength); + unsigned char rethash[NSEC3_MAX_HASH_LENGTH], + size_t *hash_length, const dns_name_t *name, + const dns_name_t *origin, dns_hash_t hashalg, + unsigned int iterations, const unsigned char *salt, + size_t saltlength); /*%< * Make a hashed domain name from an unhashed one. If rethash is not NULL * the raw hash is stored there. @@ -100,20 +99,19 @@ dns_nsec3_supportedhash(dns_hash_t hash); isc_result_t dns_nsec3_addnsec3(dns_db_t *db, dns_dbversion_t *version, - const dns_name_t *name, - const dns_rdata_nsec3param_t *nsec3param, - dns_ttl_t nsecttl, bool unsecure, dns_diff_t *diff); + const dns_name_t * name, + const dns_rdata_nsec3param_t *nsec3param, dns_ttl_t nsecttl, + bool unsecure, dns_diff_t *diff); isc_result_t dns_nsec3_addnsec3s(dns_db_t *db, dns_dbversion_t *version, - const dns_name_t *name, dns_ttl_t nsecttl, - bool unsecure, dns_diff_t *diff); + const dns_name_t *name, dns_ttl_t nsecttl, bool unsecure, + dns_diff_t *diff); isc_result_t dns_nsec3_addnsec3sx(dns_db_t *db, dns_dbversion_t *version, - const dns_name_t *name, dns_ttl_t nsecttl, - bool unsecure, dns_rdatatype_t private, - dns_diff_t *diff); + const dns_name_t *name, dns_ttl_t nsecttl, bool unsecure, + dns_rdatatype_t private, dns_diff_t *diff); /*%< * Add NSEC3 records for 'name', recording the change in 'diff'. * Adjust previous NSEC3 records, if any, to reflect the addition. @@ -148,7 +146,7 @@ dns_nsec3_addnsec3sx(dns_db_t *db, dns_dbversion_t *version, isc_result_t dns_nsec3_delnsec3(dns_db_t *db, dns_dbversion_t *version, - const dns_name_t *name, + const dns_name_t * name, const dns_rdata_nsec3param_t *nsec3param, dns_diff_t *diff); isc_result_t @@ -158,7 +156,7 @@ dns_nsec3_delnsec3s(dns_db_t *db, dns_dbversion_t *version, isc_result_t dns_nsec3_delnsec3sx(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, dns_rdatatype_t private, - dns_diff_t *diff); + dns_diff_t * diff); /*%< * Remove NSEC3 records for 'name', recording the change in 'diff'. * Adjust previous NSEC3 records, if any, to reflect the removal. @@ -183,13 +181,12 @@ dns_nsec3_delnsec3sx(dns_db_t *db, dns_dbversion_t *version, */ isc_result_t -dns_nsec3_active(dns_db_t *db, dns_dbversion_t *version, - bool complete, bool *answer); +dns_nsec3_active(dns_db_t *db, dns_dbversion_t *version, bool complete, + bool *answer); isc_result_t -dns_nsec3_activex(dns_db_t *db, dns_dbversion_t *version, - bool complete, dns_rdatatype_t private, - bool *answer); +dns_nsec3_activex(dns_db_t *db, dns_dbversion_t *version, bool complete, + dns_rdatatype_t private, bool *answer); /*%< * Check if there are any complete/to be built NSEC3 chains. * If 'complete' is true only complete chains will be recognized. @@ -205,8 +202,8 @@ dns_nsec3_activex(dns_db_t *db, dns_dbversion_t *version, */ isc_result_t -dns_nsec3_maxiterations(dns_db_t *db, dns_dbversion_t *version, - isc_mem_t *mctx, unsigned int *iterationsp); +dns_nsec3_maxiterations(dns_db_t *db, dns_dbversion_t *version, isc_mem_t *mctx, + unsigned int *iterationsp); /*%< * Find the maximum permissible number of iterations allowed based on * the key strength. @@ -231,8 +228,8 @@ dns_nsec3param_fromprivate(dns_rdata_t *src, dns_rdata_t *target, void dns_nsec3param_toprivate(dns_rdata_t *src, dns_rdata_t *target, - dns_rdatatype_t privatetype, - unsigned char *buf, size_t buflen); + dns_rdatatype_t privatetype, unsigned char *buf, + size_t buflen); /*%< * Convert a nsec3param rdata to a private rdata. * @@ -254,8 +251,7 @@ dns_nsec3param_salttotext(dns_rdata_nsec3param_t *nsec3param, char *dst, isc_result_t dns_nsec3param_deletechains(dns_db_t *db, dns_dbversion_t *ver, - dns_zone_t *zone, bool nonsec, - dns_diff_t *diff); + dns_zone_t *zone, bool nonsec, dns_diff_t *diff); /*%< * Mark NSEC3PARAM for deletion. @@ -264,9 +260,8 @@ dns_nsec3param_deletechains(dns_db_t *db, dns_dbversion_t *ver, isc_result_t dns_nsec3_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, const dns_name_t *nsec3name, dns_rdataset_t *nsec3set, - dns_name_t *zonename, bool *exists, - bool *data, bool *optout, - bool *unknown, bool *setclosest, + dns_name_t *zonename, bool *exists, bool *data, + bool *optout, bool *unknown, bool *setclosest, bool *setnearest, dns_name_t *closest, dns_name_t *nearest, dns_nseclog_t logit, void *arg); diff --git a/lib/dns/include/dns/nta.h b/lib/dns/include/dns/nta.h index 3bd5d9f9fc..c4d080cfb3 100644 --- a/lib/dns/include/dns/nta.h +++ b/lib/dns/include/dns/nta.h @@ -35,34 +35,33 @@ #include #include -#include #include #include +#include #include ISC_LANG_BEGINDECLS struct dns_ntatable { /* Unlocked. */ - unsigned int magic; - dns_view_t *view; - isc_rwlock_t rwlock; - isc_taskmgr_t *taskmgr; - isc_timermgr_t *timermgr; - isc_task_t *task; + unsigned int magic; + dns_view_t * view; + isc_rwlock_t rwlock; + isc_taskmgr_t * taskmgr; + isc_timermgr_t *timermgr; + isc_task_t * task; /* Protected by atomics */ - isc_refcount_t references; + isc_refcount_t references; /* Locked by rwlock. */ - dns_rbt_t *table; + dns_rbt_t *table; }; -#define NTATABLE_MAGIC ISC_MAGIC('N', 'T', 'A', 't') -#define VALID_NTATABLE(nt) ISC_MAGIC_VALID(nt, NTATABLE_MAGIC) +#define NTATABLE_MAGIC ISC_MAGIC('N', 'T', 'A', 't') +#define VALID_NTATABLE(nt) ISC_MAGIC_VALID(nt, NTATABLE_MAGIC) isc_result_t -dns_ntatable_create(dns_view_t *view, - isc_taskmgr_t *taskmgr, isc_timermgr_t *timermgr, - dns_ntatable_t **ntatablep); +dns_ntatable_create(dns_view_t *view, isc_taskmgr_t *taskmgr, + isc_timermgr_t *timermgr, dns_ntatable_t **ntatablep); /*%< * Create an NTA table in view 'view'. * @@ -118,9 +117,8 @@ dns_ntatable_detach(dns_ntatable_t **ntatablep); */ isc_result_t -dns_ntatable_add(dns_ntatable_t *ntatable, const dns_name_t *name, - bool force, isc_stdtime_t now, - uint32_t lifetime); +dns_ntatable_add(dns_ntatable_t *ntatable, const dns_name_t *name, bool force, + isc_stdtime_t now, uint32_t lifetime); /*%< * Add a negative trust anchor to 'ntatable' for name 'name', * which will expire at time 'now' + 'lifetime'. If 'force' is true, diff --git a/lib/dns/include/dns/opcode.h b/lib/dns/include/dns/opcode.h index ff9e82e67b..9ff92c0708 100644 --- a/lib/dns/include/dns/opcode.h +++ b/lib/dns/include/dns/opcode.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_OPCODE_H #define DNS_OPCODE_H 1 @@ -21,7 +20,8 @@ ISC_LANG_BEGINDECLS -isc_result_t dns_opcode_totext(dns_opcode_t opcode, isc_buffer_t *target); +isc_result_t +dns_opcode_totext(dns_opcode_t opcode, isc_buffer_t *target); /*%< * Put a textual representation of error 'opcode' into 'target'. * diff --git a/lib/dns/include/dns/order.h b/lib/dns/include/dns/order.h index 3b83361145..a9b10eebc6 100644 --- a/lib/dns/include/dns/order.h +++ b/lib/dns/include/dns/order.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_ORDER_H #define DNS_ORDER_H 1 diff --git a/lib/dns/include/dns/peer.h b/lib/dns/include/dns/peer.h index de648e10e7..479244afd2 100644 --- a/lib/dns/include/dns/peer.h +++ b/lib/dns/include/dns/peer.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_PEER_H #define DNS_PEER_H 1 @@ -36,60 +35,60 @@ #include -#define DNS_PEERLIST_MAGIC ISC_MAGIC('s','e','R','L') -#define DNS_PEER_MAGIC ISC_MAGIC('S','E','r','v') +#define DNS_PEERLIST_MAGIC ISC_MAGIC('s', 'e', 'R', 'L') +#define DNS_PEER_MAGIC ISC_MAGIC('S', 'E', 'r', 'v') -#define DNS_PEERLIST_VALID(ptr) ISC_MAGIC_VALID(ptr, DNS_PEERLIST_MAGIC) -#define DNS_PEER_VALID(ptr) ISC_MAGIC_VALID(ptr, DNS_PEER_MAGIC) +#define DNS_PEERLIST_VALID(ptr) ISC_MAGIC_VALID(ptr, DNS_PEERLIST_MAGIC) +#define DNS_PEER_VALID(ptr) ISC_MAGIC_VALID(ptr, DNS_PEER_MAGIC) /*** *** Types ***/ struct dns_peerlist { - unsigned int magic; - isc_refcount_t refs; + unsigned int magic; + isc_refcount_t refs; - isc_mem_t *mem; + isc_mem_t *mem; ISC_LIST(dns_peer_t) elements; }; struct dns_peer { - unsigned int magic; - isc_refcount_t refs; + unsigned int magic; + isc_refcount_t refs; - isc_mem_t *mem; + isc_mem_t *mem; - isc_netaddr_t address; - unsigned int prefixlen; - bool bogus; - dns_transfer_format_t transfer_format; - uint32_t transfers; - bool support_ixfr; - bool provide_ixfr; - bool request_ixfr; - bool support_edns; - bool request_nsid; - bool send_cookie; - bool request_expire; - bool force_tcp; - bool tcp_keepalive; - dns_name_t *key; - isc_sockaddr_t *transfer_source; - isc_dscp_t transfer_dscp; - isc_sockaddr_t *notify_source; - isc_dscp_t notify_dscp; - isc_sockaddr_t *query_source; - isc_dscp_t query_dscp; - uint16_t udpsize; /* receive size */ - uint16_t maxudp; /* transmit size */ - uint16_t padding; /* pad block size */ - uint8_t ednsversion; /* edns version */ + isc_netaddr_t address; + unsigned int prefixlen; + bool bogus; + dns_transfer_format_t transfer_format; + uint32_t transfers; + bool support_ixfr; + bool provide_ixfr; + bool request_ixfr; + bool support_edns; + bool request_nsid; + bool send_cookie; + bool request_expire; + bool force_tcp; + bool tcp_keepalive; + dns_name_t * key; + isc_sockaddr_t * transfer_source; + isc_dscp_t transfer_dscp; + isc_sockaddr_t * notify_source; + isc_dscp_t notify_dscp; + isc_sockaddr_t * query_source; + isc_dscp_t query_dscp; + uint16_t udpsize; /* receive size */ + uint16_t maxudp; /* transmit size */ + uint16_t padding; /* pad block size */ + uint8_t ednsversion; /* edns version */ - uint32_t bitflags; + uint32_t bitflags; - ISC_LINK(dns_peer_t) next; + ISC_LINK(dns_peer_t) next; }; /*** @@ -214,7 +213,7 @@ isc_result_t dns_peer_setkey(dns_peer_t *peer, dns_name_t **keyval); isc_result_t -dns_peer_settransfersource(dns_peer_t *peer, +dns_peer_settransfersource(dns_peer_t * peer, const isc_sockaddr_t *transfer_source); isc_result_t diff --git a/lib/dns/include/dns/private.h b/lib/dns/include/dns/private.h index c6e49d07d8..f6c2a0e6e4 100644 --- a/lib/dns/include/dns/private.h +++ b/lib/dns/include/dns/private.h @@ -9,14 +9,13 @@ * information regarding copyright ownership. */ - #include #include #include -#include #include +#include #ifndef DNS_PRIVATE_H #define DNS_PRIVATE_H @@ -25,8 +24,8 @@ ISC_LANG_BEGINDECLS isc_result_t dns_private_chains(dns_db_t *db, dns_dbversion_t *ver, - dns_rdatatype_t privatetype, - bool *build_nsec, bool *build_nsec3); + dns_rdatatype_t privatetype, bool *build_nsec, + bool *build_nsec3); /*%< * Examine the NSEC, NSEC3PARAM and privatetype RRsets at the apex of the * database to determine which of NSEC or NSEC3 chains we are currently diff --git a/lib/dns/include/dns/rbt.h b/lib/dns/include/dns/rbt.h index 4aa9020209..58599ad500 100644 --- a/lib/dns/include/dns/rbt.h +++ b/lib/dns/include/dns/rbt.h @@ -32,21 +32,21 @@ ISC_LANG_BEGINDECLS * Option values for dns_rbt_findnode() and dns_rbt_findname(). * These are used to form a bitmask. */ -#define DNS_RBTFIND_NOOPTIONS 0x00 -#define DNS_RBTFIND_EMPTYDATA 0x01 -#define DNS_RBTFIND_NOEXACT 0x02 -#define DNS_RBTFIND_NOPREDECESSOR 0x04 +#define DNS_RBTFIND_NOOPTIONS 0x00 +#define DNS_RBTFIND_EMPTYDATA 0x01 +#define DNS_RBTFIND_NOEXACT 0x02 +#define DNS_RBTFIND_NOPREDECESSOR 0x04 /*@}*/ #define DNS_RBT_USEMAGIC 1 -#define DNS_RBT_LOCKLENGTH (sizeof(((dns_rbtnode_t *)0)->locknum)*8) +#define DNS_RBT_LOCKLENGTH (sizeof(((dns_rbtnode_t *)0)->locknum) * 8) -#define DNS_RBTNODE_MAGIC ISC_MAGIC('R','B','N','O') +#define DNS_RBTNODE_MAGIC ISC_MAGIC('R', 'B', 'N', 'O') #if DNS_RBT_USEMAGIC -#define DNS_RBTNODE_VALID(n) ISC_MAGIC_VALID(n, DNS_RBTNODE_MAGIC) +#define DNS_RBTNODE_VALID(n) ISC_MAGIC_VALID(n, DNS_RBTNODE_MAGIC) #else -#define DNS_RBTNODE_VALID(n) true +#define DNS_RBTNODE_VALID(n) true #endif /*% @@ -57,11 +57,10 @@ ISC_LANG_BEGINDECLS * multiple dns_rbtnode structures will not work. */ typedef struct dns_rbtnode dns_rbtnode_t; -enum { - DNS_RBT_NSEC_NORMAL=0, /* in main tree */ - DNS_RBT_NSEC_HAS_NSEC=1, /* also has node in nsec tree */ - DNS_RBT_NSEC_NSEC=2, /* in nsec tree */ - DNS_RBT_NSEC_NSEC3=3 /* in nsec3 tree */ +enum { DNS_RBT_NSEC_NORMAL = 0, /* in main tree */ + DNS_RBT_NSEC_HAS_NSEC = 1, /* also has node in nsec tree */ + DNS_RBT_NSEC_NSEC = 2, /* in nsec tree */ + DNS_RBT_NSEC_NSEC3 = 3 /* in nsec3 tree */ }; struct dns_rbtnode { #if DNS_RBT_USEMAGIC @@ -87,15 +86,15 @@ struct dns_rbtnode { * the unnamed bitfields unless they should also be accessed * after acquiring the tree lock. */ - unsigned int :0; /* start of bitfields c/o tree lock */ - unsigned int is_root : 1; /*%< range is 0..1 */ - unsigned int color : 1; /*%< range is 0..1 */ + unsigned int : 0; /* start of bitfields c/o tree lock */ + unsigned int is_root : 1; /*%< range is 0..1 */ + unsigned int color : 1; /*%< range is 0..1 */ unsigned int find_callback : 1; /*%< range is 0..1 */ - unsigned int attributes : 3; /*%< range is 0..2 */ - unsigned int nsec : 2; /*%< range is 0..3 */ - unsigned int namelen : 8; /*%< range is 1..255 */ - unsigned int offsetlen : 8; /*%< range is 1..128 */ - unsigned int oldnamelen : 8; /*%< range is 1..255 */ + unsigned int attributes : 3; /*%< range is 0..2 */ + unsigned int nsec : 2; /*%< range is 0..3 */ + unsigned int namelen : 8; /*%< range is 1..255 */ + unsigned int offsetlen : 8; /*%< range is 1..128 */ + unsigned int oldnamelen : 8; /*%< range is 1..255 */ /*@}*/ /* flags needed for serialization to file */ @@ -108,14 +107,14 @@ struct dns_rbtnode { /* node needs to be cleaned from rpz */ unsigned int rpz : 1; - unsigned int :0; /* end of bitfields c/o tree lock */ + unsigned int : 0; /* end of bitfields c/o tree lock */ /*% * These are needed for hashing. The 'uppernode' points to the * node's superdomain node in the parent subtree, so that it can * be reached from a child that was found by a hash lookup. */ - unsigned int hashval; + unsigned int hashval; dns_rbtnode_t *uppernode; dns_rbtnode_t *hashnext; @@ -150,27 +149,25 @@ struct dns_rbtnode { * separate region of memory. */ void *data; - uint8_t :0; /* start of bitfields c/o node lock */ - uint8_t dirty:1; - uint8_t wild:1; - uint8_t :0; /* end of bitfields c/o node lock */ - uint16_t locknum; /* note that this is not in the bitfield */ + uint8_t : 0; /* start of bitfields c/o node lock */ + uint8_t dirty : 1; + uint8_t wild : 1; + uint8_t : 0; /* end of bitfields c/o node lock */ + uint16_t locknum; /* note that this is not in the bitfield */ isc_refcount_t references; /*@}*/ }; typedef isc_result_t (*dns_rbtfindcallback_t)(dns_rbtnode_t *node, - dns_name_t *name, - void *callback_arg); + dns_name_t * name, + void * callback_arg); -typedef isc_result_t (*dns_rbtdatawriter_t)(FILE *file, - unsigned char *data, - void *arg, - uint64_t *crc); +typedef isc_result_t (*dns_rbtdatawriter_t)(FILE *file, unsigned char *data, + void *arg, uint64_t *crc); -typedef isc_result_t (*dns_rbtdatafixer_t)(dns_rbtnode_t *rbtnode, - void *base, size_t offset, - void *arg, uint64_t *crc); +typedef isc_result_t (*dns_rbtdatafixer_t)(dns_rbtnode_t *rbtnode, void *base, + size_t offset, void *arg, + uint64_t *crc); typedef void (*dns_rbtdeleter_t)(void *, void *); @@ -236,14 +233,14 @@ typedef void (*dns_rbtdeleter_t)(void *, void *); #define DNS_RBT_LEVELBLOCK 254 typedef struct dns_rbtnodechain { - unsigned int magic; + unsigned int magic; /*% * The terminal node of the chain. It is not in levels[]. * This is ostensibly private ... but in a pinch it could be * used tell that the chain points nowhere without needing to * call dns_rbtnodechain_current(). */ - dns_rbtnode_t * end; + dns_rbtnode_t *end; /*% * The maximum number of labels in a name is 128; bitstrings mean * a conceptually very large number (which I have not bothered to @@ -252,7 +249,7 @@ typedef struct dns_rbtnodechain { * labels in a name to 255, meaning only 254 pointers are needed * in the worst case. */ - dns_rbtnode_t * levels[DNS_RBT_LEVELBLOCK]; + dns_rbtnode_t *levels[DNS_RBT_LEVELBLOCK]; /*% * level_count indicates how deep the chain points into the * tree of trees, and is the index into the levels[] array. @@ -261,7 +258,7 @@ typedef struct dns_rbtnodechain { * a level_count of 0, the first level has a level_count of 1, and * so on. */ - unsigned int level_count; + unsigned int level_count; /*% * level_matches tells how many levels matched above the node * returned by dns_rbt_findnode(). A match (partial or exact) found @@ -269,15 +266,15 @@ typedef struct dns_rbtnodechain { * This is used by the rbtdb to set the start point for a recursive * search of superdomains until the RR it is looking for is found. */ - unsigned int level_matches; + unsigned int level_matches; } dns_rbtnodechain_t; /***** ***** Public interfaces. *****/ isc_result_t -dns_rbt_create(isc_mem_t *mctx, dns_rbtdeleter_t deleter, - void *deleter_arg, dns_rbt_t **rbtp); +dns_rbt_create(isc_mem_t *mctx, dns_rbtdeleter_t deleter, void *deleter_arg, + dns_rbt_t **rbtp); /*%< * Initialize a red-black tree of trees. * @@ -524,8 +521,7 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, */ isc_result_t -dns_rbt_deletename(dns_rbt_t *rbt, const dns_name_t *name, - bool recurse); +dns_rbt_deletename(dns_rbt_t *rbt, const dns_name_t *name, bool recurse); /*%< * Delete 'name' from the tree of trees. * @@ -648,8 +644,7 @@ dns_rbt_fullnamefromnode(dns_rbtnode_t *node, dns_name_t *name); */ char * -dns_rbt_formatnodename(dns_rbtnode_t *node, char *printname, - unsigned int size); +dns_rbt_formatnodename(dns_rbtnode_t *node, char *printname, unsigned int size); /*%< * Format the full name of a node for printing, using dns_name_format(). * @@ -718,8 +713,8 @@ dns_rbt_serialize_align(off_t target); isc_result_t dns_rbt_serialize_tree(FILE *file, dns_rbt_t *rbt, - dns_rbtdatawriter_t datawriter, - void *writer_arg, off_t *offset); + dns_rbtdatawriter_t datawriter, void *writer_arg, + off_t *offset); /*%< * Write out the RBT structure and its data to a file. * @@ -745,8 +740,8 @@ dns_rbt_deserialize_tree(void *base_address, size_t filesize, */ void -dns_rbt_printtext(dns_rbt_t *rbt, - void (*data_printer)(FILE *, void *), FILE *f); +dns_rbt_printtext(dns_rbt_t *rbt, void (*data_printer)(FILE *, void *), + FILE * f); /*%< * Print an ASCII representation of the internal structure of the red-black * tree of trees to the passed stream. @@ -788,7 +783,6 @@ dns_rbt_printnodeinfo(dns_rbtnode_t *n, FILE *f); *\li 'f' points to a valid open FILE structure that allows writing. */ - size_t dns__rbt_getheight(dns_rbt_t *rbt); /*%< @@ -941,7 +935,7 @@ dns_rbtnodechain_first(dns_rbtnodechain_t *chain, dns_rbt_t *rbt, isc_result_t dns_rbtnodechain_last(dns_rbtnodechain_t *chain, dns_rbt_t *rbt, - dns_name_t *name, dns_name_t *origin); + dns_name_t *name, dns_name_t *origin); /*%< * Set the chain to the lexically last node in the tree of trees. * @@ -985,10 +979,10 @@ dns_rbtnodechain_prev(dns_rbtnodechain_t *chain, dns_name_t *name, * * Returns: *\li #ISC_R_SUCCESS The predecessor was found and 'name' was set. - *\li #DNS_R_NEWORIGIN The predecessor was found with a different - * origin and 'name' and 'origin' were set. - *\li #ISC_R_NOMORE There was no predecessor. - *\li <something_else> Any error result from dns_rbtnodechain_current. + *\li #DNS_R_NEWORIGIN The predecessor was found with a + *different origin and 'name' and 'origin' were set. \li #ISC_R_NOMORE There + *was no predecessor. \li <something_else> Any error result from + *dns_rbtnodechain_current. */ isc_result_t diff --git a/lib/dns/include/dns/rcode.h b/lib/dns/include/dns/rcode.h index 59146af677..495a3f1fdc 100644 --- a/lib/dns/include/dns/rcode.h +++ b/lib/dns/include/dns/rcode.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_RCODE_H #define DNS_RCODE_H 1 @@ -21,7 +20,8 @@ ISC_LANG_BEGINDECLS -isc_result_t dns_rcode_fromtext(dns_rcode_t *rcodep, isc_textregion_t *source); +isc_result_t +dns_rcode_fromtext(dns_rcode_t *rcodep, isc_textregion_t *source); /*%< * Convert the text 'source' refers to into a DNS error value. * @@ -35,7 +35,8 @@ isc_result_t dns_rcode_fromtext(dns_rcode_t *rcodep, isc_textregion_t *source); *\li #DNS_R_UNKNOWN type is unknown */ -isc_result_t dns_rcode_totext(dns_rcode_t rcode, isc_buffer_t *target); +isc_result_t +dns_rcode_totext(dns_rcode_t rcode, isc_buffer_t *target); /*%< * Put a textual representation of error 'rcode' into 'target'. * @@ -53,8 +54,8 @@ isc_result_t dns_rcode_totext(dns_rcode_t rcode, isc_buffer_t *target); *\li #ISC_R_NOSPACE target buffer is too small */ -isc_result_t dns_tsigrcode_fromtext(dns_rcode_t *rcodep, - isc_textregion_t *source); +isc_result_t +dns_tsigrcode_fromtext(dns_rcode_t *rcodep, isc_textregion_t *source); /*%< * Convert the text 'source' refers to into a TSIG/TKEY error value. * @@ -68,7 +69,8 @@ isc_result_t dns_tsigrcode_fromtext(dns_rcode_t *rcodep, *\li #DNS_R_UNKNOWN type is unknown */ -isc_result_t dns_tsigrcode_totext(dns_rcode_t rcode, isc_buffer_t *target); +isc_result_t +dns_tsigrcode_totext(dns_rcode_t rcode, isc_buffer_t *target); /*%< * Put a textual representation of TSIG/TKEY error 'rcode' into 'target'. * diff --git a/lib/dns/include/dns/rdata.h b/lib/dns/include/dns/rdata.h index 0801cd0608..bf1fcc304b 100644 --- a/lib/dns/include/dns/rdata.h +++ b/lib/dns/include/dns/rdata.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_RDATA_H #define DNS_RDATA_H 1 @@ -88,13 +87,12 @@ #include -#include -#include #include +#include +#include ISC_LANG_BEGINDECLS - /*** *** Types ***/ @@ -110,36 +108,38 @@ ISC_LANG_BEGINDECLS * purpose the client desires. */ struct dns_rdata { - unsigned char * data; - unsigned int length; - dns_rdataclass_t rdclass; - dns_rdatatype_t type; - unsigned int flags; - ISC_LINK(dns_rdata_t) link; + unsigned char * data; + unsigned int length; + dns_rdataclass_t rdclass; + dns_rdatatype_t type; + unsigned int flags; + ISC_LINK(dns_rdata_t) link; }; -#define DNS_RDATA_INIT { NULL, 0, 0, 0, 0, {(void*)(-1), (void *)(-1)}} +#define DNS_RDATA_INIT \ + { \ + NULL, 0, 0, 0, 0, { (void *)(-1), (void *)(-1) } \ + } #define DNS_RDATA_CHECKINITIALIZED #ifdef DNS_RDATA_CHECKINITIALIZED -#define DNS_RDATA_INITIALIZED(rdata) \ - ((rdata)->data == NULL && (rdata)->length == 0 && \ +#define DNS_RDATA_INITIALIZED(rdata) \ + ((rdata)->data == NULL && (rdata)->length == 0 && \ (rdata)->rdclass == 0 && (rdata)->type == 0 && (rdata)->flags == 0 && \ !ISC_LINK_LINKED((rdata), link)) #else #ifdef ISC_LIST_CHECKINIT -#define DNS_RDATA_INITIALIZED(rdata) \ - (!ISC_LINK_LINKED((rdata), link)) +#define DNS_RDATA_INITIALIZED(rdata) (!ISC_LINK_LINKED((rdata), link)) #else #define DNS_RDATA_INITIALIZED(rdata) true #endif #endif -#define DNS_RDATA_UPDATE 0x0001 /*%< update pseudo record. */ -#define DNS_RDATA_OFFLINE 0x0002 /*%< RRSIG has a offline key. */ +#define DNS_RDATA_UPDATE 0x0001 /*%< update pseudo record. */ +#define DNS_RDATA_OFFLINE 0x0002 /*%< RRSIG has a offline key. */ #define DNS_RDATA_VALIDFLAGS(rdata) \ - (((rdata)->flags & ~(DNS_RDATA_UPDATE|DNS_RDATA_OFFLINE)) == 0) + (((rdata)->flags & ~(DNS_RDATA_UPDATE | DNS_RDATA_OFFLINE)) == 0) /* * The maximum length of a RDATA that can be sent on the wire. @@ -150,7 +150,7 @@ struct dns_rdata { * this and all new types are to be sent uncompressed. */ -#define DNS_RDATA_MAXLENGTH 65512U +#define DNS_RDATA_MAXLENGTH 65512U /* * Flags affecting rdata formatting style. Flags 0xFFFF0000 @@ -160,28 +160,28 @@ struct dns_rdata { /*% Split the rdata into multiple lines to try to keep it within the "width". */ -#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL +#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL /*% Output explanatory comments. */ -#define DNS_STYLEFLAG_COMMENT 0x00000002ULL -#define DNS_STYLEFLAG_RRCOMMENT 0x00000004ULL +#define DNS_STYLEFLAG_COMMENT 0x00000002ULL +#define DNS_STYLEFLAG_RRCOMMENT 0x00000004ULL /*% Output KEYDATA in human readable format. */ -#define DNS_STYLEFLAG_KEYDATA 0x00000008ULL +#define DNS_STYLEFLAG_KEYDATA 0x00000008ULL /*% Output textual RR type and RDATA in RFC 3597 unknown format */ -#define DNS_STYLEFLAG_UNKNOWNFORMAT 0x00000010ULL +#define DNS_STYLEFLAG_UNKNOWNFORMAT 0x00000010ULL /*% Print AAAA record fully expanded */ -#define DNS_STYLEFLAG_EXPANDAAAA 0x00000020ULL +#define DNS_STYLEFLAG_EXPANDAAAA 0x00000020ULL -#define DNS_RDATA_DOWNCASE DNS_NAME_DOWNCASE -#define DNS_RDATA_CHECKNAMES DNS_NAME_CHECKNAMES -#define DNS_RDATA_CHECKNAMESFAIL DNS_NAME_CHECKNAMESFAIL -#define DNS_RDATA_CHECKREVERSE DNS_NAME_CHECKREVERSE -#define DNS_RDATA_CHECKMX DNS_NAME_CHECKMX -#define DNS_RDATA_CHECKMXFAIL DNS_NAME_CHECKMXFAIL -#define DNS_RDATA_UNKNOWNESCAPE 0x80000000 +#define DNS_RDATA_DOWNCASE DNS_NAME_DOWNCASE +#define DNS_RDATA_CHECKNAMES DNS_NAME_CHECKNAMES +#define DNS_RDATA_CHECKNAMESFAIL DNS_NAME_CHECKNAMESFAIL +#define DNS_RDATA_CHECKREVERSE DNS_NAME_CHECKREVERSE +#define DNS_RDATA_CHECKMX DNS_NAME_CHECKMX +#define DNS_RDATA_CHECKMXFAIL DNS_NAME_CHECKMXFAIL +#define DNS_RDATA_UNKNOWNESCAPE 0x80000000 /*** *** Initialization @@ -352,8 +352,8 @@ isc_result_t dns_rdata_fromtext(dns_rdata_t *rdata, dns_rdataclass_t rdclass, dns_rdatatype_t type, isc_lex_t *lexer, const dns_name_t *origin, unsigned int options, - isc_mem_t *mctx, - isc_buffer_t *target, dns_rdatacallbacks_t *callbacks); + isc_mem_t *mctx, isc_buffer_t *target, + dns_rdatacallbacks_t *callbacks); /*%< * Convert the textual representation of a DNS rdata into uncompressed wire * form stored in the target region. Tokens constituting the text of the rdata @@ -708,27 +708,27 @@ dns_rdatatype_attributes(dns_rdatatype_t rdtype); */ /*% only one may exist for a name */ -#define DNS_RDATATYPEATTR_SINGLETON 0x00000001U +#define DNS_RDATATYPEATTR_SINGLETON 0x00000001U /*% requires no other data be present */ -#define DNS_RDATATYPEATTR_EXCLUSIVE 0x00000002U +#define DNS_RDATATYPEATTR_EXCLUSIVE 0x00000002U /*% Is a meta type */ -#define DNS_RDATATYPEATTR_META 0x00000004U +#define DNS_RDATATYPEATTR_META 0x00000004U /*% Is a DNSSEC type, like RRSIG or NSEC */ -#define DNS_RDATATYPEATTR_DNSSEC 0x00000008U +#define DNS_RDATATYPEATTR_DNSSEC 0x00000008U /*% Is a zone cut authority type */ -#define DNS_RDATATYPEATTR_ZONECUTAUTH 0x00000010U +#define DNS_RDATATYPEATTR_ZONECUTAUTH 0x00000010U /*% Is reserved (unusable) */ -#define DNS_RDATATYPEATTR_RESERVED 0x00000020U +#define DNS_RDATATYPEATTR_RESERVED 0x00000020U /*% Is an unknown type */ -#define DNS_RDATATYPEATTR_UNKNOWN 0x00000040U +#define DNS_RDATATYPEATTR_UNKNOWN 0x00000040U /*% Is META, and can only be in a question section */ -#define DNS_RDATATYPEATTR_QUESTIONONLY 0x00000080U +#define DNS_RDATATYPEATTR_QUESTIONONLY 0x00000080U /*% Is META, and can NOT be in a question section */ -#define DNS_RDATATYPEATTR_NOTQUESTION 0x00000100U +#define DNS_RDATATYPEATTR_NOTQUESTION 0x00000100U /*% Is present at zone cuts in the parent, not the child */ -#define DNS_RDATATYPEATTR_ATPARENT 0x00000200U +#define DNS_RDATATYPEATTR_ATPARENT 0x00000200U /*% Can exist along side a CNAME */ -#define DNS_RDATATYPEATTR_ATCNAME 0x00000400U +#define DNS_RDATATYPEATTR_ATCNAME 0x00000400U dns_rdatatype_t dns_rdata_covers(dns_rdata_t *rdata); diff --git a/lib/dns/include/dns/rdataclass.h b/lib/dns/include/dns/rdataclass.h index 67fe1c7156..9059650def 100644 --- a/lib/dns/include/dns/rdataclass.h +++ b/lib/dns/include/dns/rdataclass.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_RDATACLASS_H #define DNS_RDATACLASS_H 1 @@ -76,8 +75,7 @@ dns_rdataclass_tounknowntext(dns_rdataclass_t rdclass, isc_buffer_t *target); */ void -dns_rdataclass_format(dns_rdataclass_t rdclass, - char *array, unsigned int size); +dns_rdataclass_format(dns_rdataclass_t rdclass, char *array, unsigned int size); /*%< * Format a human-readable representation of the class 'rdclass' * into the character array 'array', which is of size 'size'. diff --git a/lib/dns/include/dns/rdatalist.h b/lib/dns/include/dns/rdatalist.h index 63015e186d..dccf2c34bc 100644 --- a/lib/dns/include/dns/rdatalist.h +++ b/lib/dns/include/dns/rdatalist.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_RDATALIST_H #define DNS_RDATALIST_H 1 @@ -45,18 +44,18 @@ * Clients may use this type directly. */ struct dns_rdatalist { - dns_rdataclass_t rdclass; - dns_rdatatype_t type; - dns_rdatatype_t covers; - dns_ttl_t ttl; - ISC_LIST(dns_rdata_t) rdata; - ISC_LINK(dns_rdatalist_t) link; + dns_rdataclass_t rdclass; + dns_rdatatype_t type; + dns_rdatatype_t covers; + dns_ttl_t ttl; + ISC_LIST(dns_rdata_t) rdata; + ISC_LINK(dns_rdatalist_t) link; /*%< * Case vector. If the bit is set then the corresponding * character in the owner name needs to be AND'd with 0x20, * rendering that character upper case. */ - unsigned char upper[32]; + unsigned char upper[32]; }; ISC_LANG_BEGINDECLS @@ -72,8 +71,7 @@ dns_rdatalist_init(dns_rdatalist_t *rdatalist); */ isc_result_t -dns_rdatalist_tordataset(dns_rdatalist_t *rdatalist, - dns_rdataset_t *rdataset); +dns_rdatalist_tordataset(dns_rdatalist_t *rdatalist, dns_rdataset_t *rdataset); /*%< * Make 'rdataset' refer to the rdata in 'rdatalist'. * @@ -98,7 +96,7 @@ dns_rdatalist_tordataset(dns_rdatalist_t *rdatalist, */ isc_result_t -dns_rdatalist_fromrdataset(dns_rdataset_t *rdataset, +dns_rdatalist_fromrdataset(dns_rdataset_t * rdataset, dns_rdatalist_t **rdatalist); /*%< * Point 'rdatalist' to the rdatalist in 'rdataset'. diff --git a/lib/dns/include/dns/rdataset.h b/lib/dns/include/dns/rdataset.h index 027e60fd93..d88af45a5f 100644 --- a/lib/dns/include/dns/rdataset.h +++ b/lib/dns/include/dns/rdataset.h @@ -50,8 +50,8 @@ #include #include -#include #include +#include ISC_LANG_BEGINDECLS @@ -62,41 +62,31 @@ typedef enum { } dns_rdatasetadditional_t; typedef struct dns_rdatasetmethods { - void (*disassociate)(dns_rdataset_t *rdataset); - isc_result_t (*first)(dns_rdataset_t *rdataset); - isc_result_t (*next)(dns_rdataset_t *rdataset); - void (*current)(dns_rdataset_t *rdataset, - dns_rdata_t *rdata); - void (*clone)(dns_rdataset_t *source, - dns_rdataset_t *target); - unsigned int (*count)(dns_rdataset_t *rdataset); - isc_result_t (*addnoqname)(dns_rdataset_t *rdataset, - const dns_name_t *name); - isc_result_t (*getnoqname)(dns_rdataset_t *rdataset, - dns_name_t *name, - dns_rdataset_t *neg, - dns_rdataset_t *negsig); - isc_result_t (*addclosest)(dns_rdataset_t *rdataset, - const dns_name_t *name); - isc_result_t (*getclosest)(dns_rdataset_t *rdataset, - dns_name_t *name, - dns_rdataset_t *neg, - dns_rdataset_t *negsig); - void (*settrust)(dns_rdataset_t *rdataset, - dns_trust_t trust); - void (*expire)(dns_rdataset_t *rdataset); - void (*clearprefetch)(dns_rdataset_t *rdataset); - void (*setownercase)(dns_rdataset_t *rdataset, - const dns_name_t *name); - void (*getownercase)(const dns_rdataset_t *rdataset, - dns_name_t *name); - isc_result_t (*addglue)(dns_rdataset_t *rdataset, - dns_dbversion_t *version, - dns_message_t *msg); + void (*disassociate)(dns_rdataset_t *rdataset); + isc_result_t (*first)(dns_rdataset_t *rdataset); + isc_result_t (*next)(dns_rdataset_t *rdataset); + void (*current)(dns_rdataset_t *rdataset, dns_rdata_t *rdata); + void (*clone)(dns_rdataset_t *source, dns_rdataset_t *target); + unsigned int (*count)(dns_rdataset_t *rdataset); + isc_result_t (*addnoqname)(dns_rdataset_t * rdataset, + const dns_name_t *name); + isc_result_t (*getnoqname)(dns_rdataset_t *rdataset, dns_name_t *name, + dns_rdataset_t *neg, dns_rdataset_t *negsig); + isc_result_t (*addclosest)(dns_rdataset_t * rdataset, + const dns_name_t *name); + isc_result_t (*getclosest)(dns_rdataset_t *rdataset, dns_name_t *name, + dns_rdataset_t *neg, dns_rdataset_t *negsig); + void (*settrust)(dns_rdataset_t *rdataset, dns_trust_t trust); + void (*expire)(dns_rdataset_t *rdataset); + void (*clearprefetch)(dns_rdataset_t *rdataset); + void (*setownercase)(dns_rdataset_t *rdataset, const dns_name_t *name); + void (*getownercase)(const dns_rdataset_t *rdataset, dns_name_t *name); + isc_result_t (*addglue)(dns_rdataset_t * rdataset, + dns_dbversion_t *version, dns_message_t *msg); } dns_rdatasetmethods_t; -#define DNS_RDATASET_MAGIC ISC_MAGIC('D','N','S','R') -#define DNS_RDATASET_VALID(set) ISC_MAGIC_VALID(set, DNS_RDATASET_MAGIC) +#define DNS_RDATASET_MAGIC ISC_MAGIC('D', 'N', 'S', 'R') +#define DNS_RDATASET_VALID(set) ISC_MAGIC_VALID(set, DNS_RDATASET_MAGIC) /*% * Direct use of this structure by clients is strongly discouraged, except @@ -105,30 +95,30 @@ typedef struct dns_rdatasetmethods { * rdataset implementations may change any of the fields. */ struct dns_rdataset { - unsigned int magic; /* XXX ? */ - dns_rdatasetmethods_t * methods; - ISC_LINK(dns_rdataset_t) link; + unsigned int magic; /* XXX ? */ + dns_rdatasetmethods_t *methods; + ISC_LINK(dns_rdataset_t) link; /* * XXX do we need these, or should they be retrieved by methods? * Leaning towards the latter, since they are not frequently required * once you have the rdataset. */ - dns_rdataclass_t rdclass; - dns_rdatatype_t type; - dns_ttl_t ttl; + dns_rdataclass_t rdclass; + dns_rdatatype_t type; + dns_ttl_t ttl; /* * Stale ttl is used to see how long this RRset can still be used * to serve to clients, after the TTL has expired. */ - dns_ttl_t stale_ttl; - dns_trust_t trust; - dns_rdatatype_t covers; + dns_ttl_t stale_ttl; + dns_trust_t trust; + dns_rdatatype_t covers; /* * attributes */ - unsigned int attributes; + unsigned int attributes; /*% * the counter provides the starting point in the "cyclic" order. @@ -136,28 +126,27 @@ struct dns_rdataset { * random value." in order to take care of databases that do not * increment the counter. */ - uint32_t count; + uint32_t count; /* * This RRSIG RRset should be re-generated around this time. * Only valid if DNS_RDATASETATTR_RESIGN is set in attributes. */ - isc_stdtime_t resign; + isc_stdtime_t resign; /*@{*/ /*% * These are for use by the rdataset implementation, and MUST NOT * be changed by clients. */ - void * private1; - void * private2; - void * private3; - unsigned int privateuint4; - void * private5; - const void * private6; - const void * private7; + void * private1; + void * private2; + void * private3; + unsigned int privateuint4; + void * private5; + const void * private6; + const void * private7; /*@}*/ - }; /*! @@ -172,39 +161,39 @@ struct dns_rdataset { * Output the RRset in load order. */ -#define DNS_RDATASETATTR_NONE 0x00000000 /*%< No ordering. */ -#define DNS_RDATASETATTR_QUESTION 0x00000001 -#define DNS_RDATASETATTR_RENDERED 0x00000002 /*%< Used by message.c */ -#define DNS_RDATASETATTR_ANSWERED 0x00000004 /*%< Used by server. */ -#define DNS_RDATASETATTR_CACHE 0x00000008 /*%< Used by resolver. */ -#define DNS_RDATASETATTR_ANSWER 0x00000010 /*%< Used by resolver. */ -#define DNS_RDATASETATTR_ANSWERSIG 0x00000020 /*%< Used by resolver. */ -#define DNS_RDATASETATTR_EXTERNAL 0x00000040 /*%< Used by resolver. */ -#define DNS_RDATASETATTR_NCACHE 0x00000080 /*%< Used by resolver. */ -#define DNS_RDATASETATTR_CHAINING 0x00000100 /*%< Used by resolver. */ -#define DNS_RDATASETATTR_TTLADJUSTED 0x00000200 /*%< Used by message.c */ -#define DNS_RDATASETATTR_FIXEDORDER 0x00000400 /*%< Fixed ordering. */ -#define DNS_RDATASETATTR_RANDOMIZE 0x00000800 /*%< Random ordering. */ -#define DNS_RDATASETATTR_CHASE 0x00001000 /*%< Used by resolver. */ -#define DNS_RDATASETATTR_NXDOMAIN 0x00002000 -#define DNS_RDATASETATTR_NOQNAME 0x00004000 -#define DNS_RDATASETATTR_CHECKNAMES 0x00008000 /*%< Used by resolver. */ -#define DNS_RDATASETATTR_REQUIRED 0x00010000 -#define DNS_RDATASETATTR_REQUIREDGLUE DNS_RDATASETATTR_REQUIRED -#define DNS_RDATASETATTR_LOADORDER 0x00020000 -#define DNS_RDATASETATTR_RESIGN 0x00040000 -#define DNS_RDATASETATTR_CLOSEST 0x00080000 -#define DNS_RDATASETATTR_OPTOUT 0x00100000 /*%< OPTOUT proof */ -#define DNS_RDATASETATTR_NEGATIVE 0x00200000 -#define DNS_RDATASETATTR_PREFETCH 0x00400000 -#define DNS_RDATASETATTR_CYCLIC 0x00800000 /*%< Cyclic ordering. */ -#define DNS_RDATASETATTR_STALE 0x01000000 +#define DNS_RDATASETATTR_NONE 0x00000000 /*%< No ordering. */ +#define DNS_RDATASETATTR_QUESTION 0x00000001 +#define DNS_RDATASETATTR_RENDERED 0x00000002 /*%< Used by message.c */ +#define DNS_RDATASETATTR_ANSWERED 0x00000004 /*%< Used by server. */ +#define DNS_RDATASETATTR_CACHE 0x00000008 /*%< Used by resolver. */ +#define DNS_RDATASETATTR_ANSWER 0x00000010 /*%< Used by resolver. */ +#define DNS_RDATASETATTR_ANSWERSIG 0x00000020 /*%< Used by resolver. */ +#define DNS_RDATASETATTR_EXTERNAL 0x00000040 /*%< Used by resolver. */ +#define DNS_RDATASETATTR_NCACHE 0x00000080 /*%< Used by resolver. */ +#define DNS_RDATASETATTR_CHAINING 0x00000100 /*%< Used by resolver. */ +#define DNS_RDATASETATTR_TTLADJUSTED 0x00000200 /*%< Used by message.c */ +#define DNS_RDATASETATTR_FIXEDORDER 0x00000400 /*%< Fixed ordering. */ +#define DNS_RDATASETATTR_RANDOMIZE 0x00000800 /*%< Random ordering. */ +#define DNS_RDATASETATTR_CHASE 0x00001000 /*%< Used by resolver. */ +#define DNS_RDATASETATTR_NXDOMAIN 0x00002000 +#define DNS_RDATASETATTR_NOQNAME 0x00004000 +#define DNS_RDATASETATTR_CHECKNAMES 0x00008000 /*%< Used by resolver. */ +#define DNS_RDATASETATTR_REQUIRED 0x00010000 +#define DNS_RDATASETATTR_REQUIREDGLUE DNS_RDATASETATTR_REQUIRED +#define DNS_RDATASETATTR_LOADORDER 0x00020000 +#define DNS_RDATASETATTR_RESIGN 0x00040000 +#define DNS_RDATASETATTR_CLOSEST 0x00080000 +#define DNS_RDATASETATTR_OPTOUT 0x00100000 /*%< OPTOUT proof */ +#define DNS_RDATASETATTR_NEGATIVE 0x00200000 +#define DNS_RDATASETATTR_PREFETCH 0x00400000 +#define DNS_RDATASETATTR_CYCLIC 0x00800000 /*%< Cyclic ordering. */ +#define DNS_RDATASETATTR_STALE 0x01000000 /*% * _OMITDNSSEC: * Omit DNSSEC records when rendering ncache records. */ -#define DNS_RDATASETTOWIRE_OMITDNSSEC 0x0001 +#define DNS_RDATASETTOWIRE_OMITDNSSEC 0x0001 void dns_rdataset_init(dns_rdataset_t *rdataset); @@ -352,11 +341,8 @@ dns_rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata); */ isc_result_t -dns_rdataset_totext(dns_rdataset_t *rdataset, - const dns_name_t *owner_name, - bool omit_final_dot, - bool question, - isc_buffer_t *target); +dns_rdataset_totext(dns_rdataset_t *rdataset, const dns_name_t *owner_name, + bool omit_final_dot, bool question, isc_buffer_t *target); /*%< * Convert 'rdataset' to text format, storing the result in 'target'. * @@ -377,12 +363,9 @@ dns_rdataset_totext(dns_rdataset_t *rdataset, */ isc_result_t -dns_rdataset_towire(dns_rdataset_t *rdataset, - const dns_name_t *owner_name, - dns_compress_t *cctx, - isc_buffer_t *target, - unsigned int options, - unsigned int *countp); +dns_rdataset_towire(dns_rdataset_t *rdataset, const dns_name_t *owner_name, + dns_compress_t *cctx, isc_buffer_t *target, + unsigned int options, unsigned int *countp); /*%< * Convert 'rdataset' to wire format, compressing names as specified * in 'cctx', and storing the result in 'target'. @@ -416,13 +399,10 @@ dns_rdataset_towire(dns_rdataset_t *rdataset, */ isc_result_t -dns_rdataset_towiresorted(dns_rdataset_t *rdataset, - const dns_name_t *owner_name, - dns_compress_t *cctx, - isc_buffer_t *target, - dns_rdatasetorderfunc_t order, - const void *order_arg, - unsigned int options, +dns_rdataset_towiresorted(dns_rdataset_t * rdataset, + const dns_name_t *owner_name, dns_compress_t *cctx, + isc_buffer_t *target, dns_rdatasetorderfunc_t order, + const void *order_arg, unsigned int options, unsigned int *countp); /*%< * Like dns_rdataset_towire(), but sorting the rdatasets according to @@ -435,15 +415,11 @@ dns_rdataset_towiresorted(dns_rdataset_t *rdataset, */ isc_result_t -dns_rdataset_towirepartial(dns_rdataset_t *rdataset, - const dns_name_t *owner_name, - dns_compress_t *cctx, - isc_buffer_t *target, - dns_rdatasetorderfunc_t order, - const void *order_arg, - unsigned int options, - unsigned int *countp, - void **state); +dns_rdataset_towirepartial(dns_rdataset_t * rdataset, + const dns_name_t *owner_name, dns_compress_t *cctx, + isc_buffer_t *target, dns_rdatasetorderfunc_t order, + const void *order_arg, unsigned int options, + unsigned int *countp, void **state); /*%< * Like dns_rdataset_towiresorted() except that a partial rdataset * may be written. @@ -463,7 +439,7 @@ dns_rdataset_towirepartial(dns_rdataset_t *rdataset, */ isc_result_t -dns_rdataset_additionaldata(dns_rdataset_t *rdataset, +dns_rdataset_additionaldata(dns_rdataset_t * rdataset, dns_additionaldatafunc_t add, void *arg); /*%< * For each rdata in rdataset, call 'add' for each name and type in the diff --git a/lib/dns/include/dns/rdatasetiter.h b/lib/dns/include/dns/rdatasetiter.h index 54b3e90d5c..1962951349 100644 --- a/lib/dns/include/dns/rdatasetiter.h +++ b/lib/dns/include/dns/rdatasetiter.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_RDATASETITER_H #define DNS_RDATASETITER_H 1 @@ -67,15 +66,14 @@ ISC_LANG_BEGINDECLS *****/ typedef struct dns_rdatasetitermethods { - void (*destroy)(dns_rdatasetiter_t **iteratorp); - isc_result_t (*first)(dns_rdatasetiter_t *iterator); - isc_result_t (*next)(dns_rdatasetiter_t *iterator); - void (*current)(dns_rdatasetiter_t *iterator, - dns_rdataset_t *rdataset); + void (*destroy)(dns_rdatasetiter_t **iteratorp); + isc_result_t (*first)(dns_rdatasetiter_t *iterator); + isc_result_t (*next)(dns_rdatasetiter_t *iterator); + void (*current)(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset); } dns_rdatasetitermethods_t; -#define DNS_RDATASETITER_MAGIC ISC_MAGIC('D','N','S','i') -#define DNS_RDATASETITER_VALID(i) ISC_MAGIC_VALID(i, DNS_RDATASETITER_MAGIC) +#define DNS_RDATASETITER_MAGIC ISC_MAGIC('D', 'N', 'S', 'i') +#define DNS_RDATASETITER_VALID(i) ISC_MAGIC_VALID(i, DNS_RDATASETITER_MAGIC) /*% * This structure is actually just the common prefix of a DNS db @@ -88,12 +86,12 @@ typedef struct dns_rdatasetitermethods { */ struct dns_rdatasetiter { /* Unlocked. */ - unsigned int magic; - dns_rdatasetitermethods_t * methods; - dns_db_t * db; - dns_dbnode_t * node; - dns_dbversion_t * version; - isc_stdtime_t now; + unsigned int magic; + dns_rdatasetitermethods_t *methods; + dns_db_t * db; + dns_dbnode_t * node; + dns_dbversion_t * version; + isc_stdtime_t now; }; void @@ -145,7 +143,7 @@ dns_rdatasetiter_next(dns_rdatasetiter_t *iterator); void dns_rdatasetiter_current(dns_rdatasetiter_t *iterator, - dns_rdataset_t *rdataset); + dns_rdataset_t * rdataset); /*%< * Return the current rdataset. * diff --git a/lib/dns/include/dns/rdataslab.h b/lib/dns/include/dns/rdataslab.h index e2dbd8321a..dfcf960817 100644 --- a/lib/dns/include/dns/rdataslab.h +++ b/lib/dns/include/dns/rdataslab.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_RDATASLAB_H #define DNS_RDATASLAB_H 1 @@ -52,12 +51,13 @@ ISC_LANG_BEGINDECLS #define DNS_RDATASLAB_FORCE 0x1 #define DNS_RDATASLAB_EXACT 0x2 -#define DNS_RDATASLAB_OFFLINE 0x01 /* RRSIG is for offline DNSKEY */ -#define DNS_RDATASLAB_WARNMASK 0x0E /*%< RRSIG(DNSKEY) expired - * warnings number mask. */ -#define DNS_RDATASLAB_WARNSHIFT 1 /*%< How many bits to shift to find - * remaining expired warning number. */ - +#define DNS_RDATASLAB_OFFLINE 0x01 /* RRSIG is for offline DNSKEY */ +#define DNS_RDATASLAB_WARNMASK \ + 0x0E /*%< RRSIG(DNSKEY) expired \ + * warnings number mask. */ +#define DNS_RDATASLAB_WARNSHIFT \ + 1 /*%< How many bits to shift to find \ + * remaining expired warning number. */ /*** *** Functions diff --git a/lib/dns/include/dns/rdatatype.h b/lib/dns/include/dns/rdatatype.h index 0e7923253b..192ce6778d 100644 --- a/lib/dns/include/dns/rdatatype.h +++ b/lib/dns/include/dns/rdatatype.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_RDATATYPE_H #define DNS_RDATATYPE_H 1 @@ -76,8 +75,7 @@ dns_rdatatype_tounknowntext(dns_rdatatype_t type, isc_buffer_t *target); */ void -dns_rdatatype_format(dns_rdatatype_t rdtype, - char *array, unsigned int size); +dns_rdatatype_format(dns_rdatatype_t rdtype, char *array, unsigned int size); /*%< * Format a human-readable representation of the type 'rdtype' * into the character array 'array', which is of size 'size'. diff --git a/lib/dns/include/dns/request.h b/lib/dns/include/dns/request.h index 7e8d4d7f5f..8e8219ecaa 100644 --- a/lib/dns/include/dns/request.h +++ b/lib/dns/include/dns/request.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_REQUEST_H #define DNS_REQUEST_H 1 @@ -36,8 +35,8 @@ #include -#include #include +#include #include @@ -48,7 +47,7 @@ typedef struct dns_requestevent { ISC_EVENT_COMMON(struct dns_requestevent); - isc_result_t result; + isc_result_t result; dns_request_t *request; } dns_requestevent_t; @@ -160,8 +159,7 @@ dns_requestmgr_detach(dns_requestmgr_t **requestmgrp); isc_result_t dns_request_create(dns_requestmgr_t *requestmgr, dns_message_t *message, const isc_sockaddr_t *address, unsigned int options, - dns_tsigkey_t *key, - unsigned int timeout, isc_task_t *task, + dns_tsigkey_t *key, unsigned int timeout, isc_task_t *task, isc_taskaction_t action, void *arg, dns_request_t **requestp); /*%< @@ -197,11 +195,11 @@ dns_request_create(dns_requestmgr_t *requestmgr, dns_message_t *message, isc_result_t dns_request_createvia(dns_requestmgr_t *requestmgr, dns_message_t *message, const isc_sockaddr_t *srcaddr, - const isc_sockaddr_t *destaddr, - isc_dscp_t dscp, unsigned int options, - dns_tsigkey_t *key, unsigned int timeout, - unsigned int udptimeout, unsigned int udpretries, - isc_task_t *task, isc_taskaction_t action, void *arg, + const isc_sockaddr_t *destaddr, isc_dscp_t dscp, + unsigned int options, dns_tsigkey_t *key, + unsigned int timeout, unsigned int udptimeout, + unsigned int udpretries, isc_task_t *task, + isc_taskaction_t action, void *arg, dns_request_t **requestp); /*%< * Create and send a request. @@ -241,11 +239,10 @@ dns_request_createvia(dns_requestmgr_t *requestmgr, dns_message_t *message, isc_result_t dns_request_createraw(dns_requestmgr_t *requestmgr, isc_buffer_t *msgbuf, const isc_sockaddr_t *srcaddr, - const isc_sockaddr_t *destaddr, - isc_dscp_t dscp, unsigned int options, - unsigned int timeout, unsigned int udptimeout, - unsigned int udpretries, isc_task_t *task, - isc_taskaction_t action, void *arg, + const isc_sockaddr_t *destaddr, isc_dscp_t dscp, + unsigned int options, unsigned int timeout, + unsigned int udptimeout, unsigned int udpretries, + isc_task_t *task, isc_taskaction_t action, void *arg, dns_request_t **requestp); /*!< * \brief Create and send a request. diff --git a/lib/dns/include/dns/resolver.h b/lib/dns/include/dns/resolver.h index c6b26914ed..11681c0dff 100644 --- a/lib/dns/include/dns/resolver.h +++ b/lib/dns/include/dns/resolver.h @@ -51,8 +51,8 @@ #include #include -#include #include +#include ISC_LANG_BEGINDECLS @@ -67,107 +67,107 @@ ISC_LANG_BEGINDECLS */ typedef struct dns_fetchevent { ISC_EVENT_COMMON(struct dns_fetchevent); - dns_fetch_t * fetch; - isc_result_t result; - dns_rdatatype_t qtype; - dns_db_t * db; - dns_dbnode_t * node; - dns_rdataset_t * rdataset; - dns_rdataset_t * sigrdataset; - dns_fixedname_t foundname; - const isc_sockaddr_t * client; - dns_messageid_t id; - isc_result_t vresult; + dns_fetch_t * fetch; + isc_result_t result; + dns_rdatatype_t qtype; + dns_db_t * db; + dns_dbnode_t * node; + dns_rdataset_t * rdataset; + dns_rdataset_t * sigrdataset; + dns_fixedname_t foundname; + const isc_sockaddr_t *client; + dns_messageid_t id; + isc_result_t vresult; } dns_fetchevent_t; /*% * The two quota types (fetches-per-zone and fetches-per-server) */ -typedef enum { - dns_quotatype_zone = 0, - dns_quotatype_server -} dns_quotatype_t; +typedef enum { dns_quotatype_zone = 0, dns_quotatype_server } dns_quotatype_t; /* * Options that modify how a 'fetch' is done. */ -#define DNS_FETCHOPT_TCP 0x00000001 /*%< Use TCP. */ -#define DNS_FETCHOPT_UNSHARED 0x00000002 /*%< See below. */ -#define DNS_FETCHOPT_RECURSIVE 0x00000004 /*%< Set RD? */ -#define DNS_FETCHOPT_NOEDNS0 0x00000008 /*%< Do not use EDNS. */ -#define DNS_FETCHOPT_FORWARDONLY 0x00000010 /*%< Only use forwarders. */ -#define DNS_FETCHOPT_NOVALIDATE 0x00000020 /*%< Disable validation. */ -#define DNS_FETCHOPT_EDNS512 0x00000040 /*%< Advertise a 512 byte - UDP buffer. */ -#define DNS_FETCHOPT_WANTNSID 0x00000080 /*%< Request NSID */ -#define DNS_FETCHOPT_PREFETCH 0x00000100 /*%< Do prefetch */ -#define DNS_FETCHOPT_NOCDFLAG 0x00000200 /*%< Don't set CD flag. */ -#define DNS_FETCHOPT_NONTA 0x00000400 /*%< Ignore NTA table. */ +#define DNS_FETCHOPT_TCP 0x00000001 /*%< Use TCP. */ +#define DNS_FETCHOPT_UNSHARED 0x00000002 /*%< See below. */ +#define DNS_FETCHOPT_RECURSIVE 0x00000004 /*%< Set RD? */ +#define DNS_FETCHOPT_NOEDNS0 0x00000008 /*%< Do not use EDNS. */ +#define DNS_FETCHOPT_FORWARDONLY 0x00000010 /*%< Only use forwarders. */ +#define DNS_FETCHOPT_NOVALIDATE 0x00000020 /*%< Disable validation. */ +#define DNS_FETCHOPT_EDNS512 \ + 0x00000040 /*%< Advertise a 512 byte \ + UDP buffer. */ +#define DNS_FETCHOPT_WANTNSID 0x00000080 /*%< Request NSID */ +#define DNS_FETCHOPT_PREFETCH 0x00000100 /*%< Do prefetch */ +#define DNS_FETCHOPT_NOCDFLAG 0x00000200 /*%< Don't set CD flag. */ +#define DNS_FETCHOPT_NONTA 0x00000400 /*%< Ignore NTA table. */ /* RESERVED ECS 0x00000000 */ /* RESERVED ECS 0x00001000 */ /* RESERVED ECS 0x00002000 */ /* RESERVED TCPCLIENT 0x00004000 */ -#define DNS_FETCHOPT_NOCACHED 0x00008000 /*%< Force cache update. */ -#define DNS_FETCHOPT_QMINIMIZE 0x00010000 /*%< Use qname - minimization. */ -#define DNS_FETCHOPT_NOFOLLOW 0x00020000 /*%< Don't follow - delegations */ -#define DNS_FETCHOPT_QMIN_STRICT 0x00040000 /*%< Do not work around - servers that return - errors on non-empty - terminals. */ -#define DNS_FETCHOPT_QMIN_USE_A 0x00080000 /*%< Use A type queries - instead of NS when - doing minimization */ -#define DNS_FETCHOPT_QMIN_SKIP_IP6A 0x00100000 /*%< Skip some labels - when doing qname - minimization on - ip6.arpa. */ -#define DNS_FETCHOPT_NOFORWARD 0x00200000 /*%< Do not use forwarders - if possible. */ +#define DNS_FETCHOPT_NOCACHED 0x00008000 /*%< Force cache update. */ +#define DNS_FETCHOPT_QMINIMIZE \ + 0x00010000 /*%< Use qname \ + minimization. */ +#define DNS_FETCHOPT_NOFOLLOW \ + 0x00020000 /*%< Don't follow \ + delegations */ +#define DNS_FETCHOPT_QMIN_STRICT \ + 0x00040000 /*%< Do not work around \ + servers that return \ + errors on non-empty \ + terminals. */ +#define DNS_FETCHOPT_QMIN_USE_A \ + 0x00080000 /*%< Use A type queries \ + instead of NS when \ + doing minimization */ +#define DNS_FETCHOPT_QMIN_SKIP_IP6A \ + 0x00100000 /*%< Skip some labels \ + when doing qname \ + minimization on \ + ip6.arpa. */ +#define DNS_FETCHOPT_NOFORWARD \ + 0x00200000 /*%< Do not use forwarders \ + if possible. */ /* Reserved in use by adb.c 0x00400000 */ -#define DNS_FETCHOPT_EDNSVERSIONSET 0x00800000 -#define DNS_FETCHOPT_EDNSVERSIONMASK 0xff000000 -#define DNS_FETCHOPT_EDNSVERSIONSHIFT 24 +#define DNS_FETCHOPT_EDNSVERSIONSET 0x00800000 +#define DNS_FETCHOPT_EDNSVERSIONMASK 0xff000000 +#define DNS_FETCHOPT_EDNSVERSIONSHIFT 24 /* * Upper bounds of class of query RTT (ms). Corresponds to * dns_resstatscounter_queryrttX statistics counters. */ -#define DNS_RESOLVER_QRYRTTCLASS0 10 -#define DNS_RESOLVER_QRYRTTCLASS0STR "10" -#define DNS_RESOLVER_QRYRTTCLASS1 100 -#define DNS_RESOLVER_QRYRTTCLASS1STR "100" -#define DNS_RESOLVER_QRYRTTCLASS2 500 -#define DNS_RESOLVER_QRYRTTCLASS2STR "500" -#define DNS_RESOLVER_QRYRTTCLASS3 800 -#define DNS_RESOLVER_QRYRTTCLASS3STR "800" -#define DNS_RESOLVER_QRYRTTCLASS4 1600 -#define DNS_RESOLVER_QRYRTTCLASS4STR "1600" +#define DNS_RESOLVER_QRYRTTCLASS0 10 +#define DNS_RESOLVER_QRYRTTCLASS0STR "10" +#define DNS_RESOLVER_QRYRTTCLASS1 100 +#define DNS_RESOLVER_QRYRTTCLASS1STR "100" +#define DNS_RESOLVER_QRYRTTCLASS2 500 +#define DNS_RESOLVER_QRYRTTCLASS2STR "500" +#define DNS_RESOLVER_QRYRTTCLASS3 800 +#define DNS_RESOLVER_QRYRTTCLASS3STR "800" +#define DNS_RESOLVER_QRYRTTCLASS4 1600 +#define DNS_RESOLVER_QRYRTTCLASS4STR "1600" /* * XXXRTH Should this API be made semi-private? (I.e. * _dns_resolver_create()). */ -#define DNS_RESOLVER_CHECKNAMES 0x01 -#define DNS_RESOLVER_CHECKNAMESFAIL 0x02 +#define DNS_RESOLVER_CHECKNAMES 0x01 +#define DNS_RESOLVER_CHECKNAMESFAIL 0x02 -#define DNS_QMIN_MAXLABELS 7 -#define DNS_QMIN_MAX_NO_DELEGATION 3 -#define DNS_MAX_LABELS 127 +#define DNS_QMIN_MAXLABELS 7 +#define DNS_QMIN_MAX_NO_DELEGATION 3 +#define DNS_MAX_LABELS 127 isc_result_t -dns_resolver_create(dns_view_t *view, - isc_taskmgr_t *taskmgr, +dns_resolver_create(dns_view_t *view, isc_taskmgr_t *taskmgr, unsigned int ntasks, unsigned int ndisp, - isc_socketmgr_t *socketmgr, - isc_timermgr_t *timermgr, - unsigned int options, - dns_dispatchmgr_t *dispatchmgr, - dns_dispatch_t *dispatchv4, - dns_dispatch_t *dispatchv6, + isc_socketmgr_t *socketmgr, isc_timermgr_t *timermgr, + unsigned int options, dns_dispatchmgr_t *dispatchmgr, + dns_dispatch_t *dispatchv4, dns_dispatch_t *dispatchv6, dns_resolver_t **resp); /*%< @@ -241,7 +241,6 @@ dns_resolver_prime(dns_resolver_t *res); *\li 'res' is a valid, frozen resolver. */ - void dns_resolver_whenshutdown(dns_resolver_t *res, isc_task_t *task, isc_event_t **eventp); @@ -288,15 +287,14 @@ dns_resolver_detach(dns_resolver_t **resp); isc_result_t dns_resolver_createfetch(dns_resolver_t *res, const dns_name_t *name, - dns_rdatatype_t type, - const dns_name_t *domain, dns_rdataset_t *nameservers, - dns_forwarders_t *forwarders, + dns_rdatatype_t type, const dns_name_t *domain, + dns_rdataset_t * nameservers, + dns_forwarders_t * forwarders, const isc_sockaddr_t *client, dns_messageid_t id, unsigned int options, unsigned int depth, isc_counter_t *qc, isc_task_t *task, isc_taskaction_t action, void *arg, - dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset, + dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset, dns_fetch_t **fetchp); /*%< * Recurse to answer a question. @@ -477,8 +475,8 @@ dns_resolver_reset_ds_digests(dns_resolver_t *resolver); */ isc_result_t -dns_resolver_disable_algorithm(dns_resolver_t *resolver, - const dns_name_t *name, unsigned int alg); +dns_resolver_disable_algorithm(dns_resolver_t *resolver, const dns_name_t *name, + unsigned int alg); /*%< * Mark the given DNSSEC algorithm as disabled and below 'name'. * Valid algorithms are less than 256. @@ -490,8 +488,8 @@ dns_resolver_disable_algorithm(dns_resolver_t *resolver, */ isc_result_t -dns_resolver_disable_ds_digest(dns_resolver_t *resolver, - const dns_name_t *name, unsigned int digest_type); +dns_resolver_disable_ds_digest(dns_resolver_t *resolver, const dns_name_t *name, + unsigned int digest_type); /*%< * Mark the given DS digest type as disabled and below 'name'. * Valid types are less than 256. @@ -503,7 +501,7 @@ dns_resolver_disable_ds_digest(dns_resolver_t *resolver, */ bool -dns_resolver_algorithm_supported(dns_resolver_t *resolver, +dns_resolver_algorithm_supported(dns_resolver_t * resolver, const dns_name_t *name, unsigned int alg); /*%< * Check if the given algorithm is supported by this resolver. @@ -513,9 +511,9 @@ dns_resolver_algorithm_supported(dns_resolver_t *resolver, */ bool -dns_resolver_ds_digest_supported(dns_resolver_t *resolver, +dns_resolver_ds_digest_supported(dns_resolver_t * resolver, const dns_name_t *name, - unsigned int digest_type); + unsigned int digest_type); /*%< * Check if the given digest type is supported by this resolver. * This checks whether the digest type has been disabled via @@ -533,7 +531,6 @@ dns_resolver_setmustbesecure(dns_resolver_t *resolver, const dns_name_t *name, bool dns_resolver_getmustbesecure(dns_resolver_t *resolver, const dns_name_t *name); - void dns_resolver_settimeout(dns_resolver_t *resolver, unsigned int timeout); /*%< @@ -559,8 +556,8 @@ dns_resolver_gettimeout(dns_resolver_t *resolver); */ void -dns_resolver_setclientsperquery(dns_resolver_t *resolver, - uint32_t min, uint32_t max); +dns_resolver_setclientsperquery(dns_resolver_t *resolver, uint32_t min, + uint32_t max); void dns_resolver_setfetchesperzone(dns_resolver_t *resolver, uint32_t clients); @@ -710,8 +707,8 @@ dns_resolver_getmaxqueries(dns_resolver_t *resolver); */ void -dns_resolver_setquotaresponse(dns_resolver_t *resolver, - dns_quotatype_t which, isc_result_t resp); +dns_resolver_setquotaresponse(dns_resolver_t *resolver, dns_quotatype_t which, + isc_result_t resp); isc_result_t dns_resolver_getquotaresponse(dns_resolver_t *resolver, dns_quotatype_t which); /*% @@ -731,15 +728,15 @@ dns_resolver_getquotaresponse(dns_resolver_t *resolver, dns_quotatype_t which); */ void -dns_resolver_dumpfetches(dns_resolver_t *resolver, - isc_statsformat_t format, FILE *fp); - +dns_resolver_dumpfetches(dns_resolver_t *resolver, isc_statsformat_t format, + FILE *fp); #ifdef ENABLE_AFL /*% * Enable fuzzing of resolver, changes behaviour and eliminates retries */ -void dns_resolver_setfuzzing(void); +void +dns_resolver_setfuzzing(void); #endif ISC_LANG_ENDDECLS diff --git a/lib/dns/include/dns/result.h b/lib/dns/include/dns/result.h index 2063cb790e..34f02020b6 100644 --- a/lib/dns/include/dns/result.h +++ b/lib/dns/include/dns/result.h @@ -25,13 +25,13 @@ * the ISC result codes, so including this file buys you the ISC_R_ * namespace too. */ -#include /* Contractual promise. */ +#include /* Contractual promise. */ /* * DNS library result codes */ -#define DNS_R_LABELTOOLONG (ISC_RESULTCLASS_DNS + 0) -#define DNS_R_BADESCAPE (ISC_RESULTCLASS_DNS + 1) +#define DNS_R_LABELTOOLONG (ISC_RESULTCLASS_DNS + 0) +#define DNS_R_BADESCAPE (ISC_RESULTCLASS_DNS + 1) /* * Since we dropped the support of bitstring labels, deprecate the related * result codes too. @@ -39,123 +39,123 @@ #define DNS_R_BADBITSTRING (ISC_RESULTCLASS_DNS + 2) #define DNS_R_BITSTRINGTOOLONG (ISC_RESULTCLASS_DNS + 3) */ -#define DNS_R_EMPTYLABEL (ISC_RESULTCLASS_DNS + 4) -#define DNS_R_BADDOTTEDQUAD (ISC_RESULTCLASS_DNS + 5) -#define DNS_R_INVALIDNS (ISC_RESULTCLASS_DNS + 6) -#define DNS_R_UNKNOWN (ISC_RESULTCLASS_DNS + 7) -#define DNS_R_BADLABELTYPE (ISC_RESULTCLASS_DNS + 8) -#define DNS_R_BADPOINTER (ISC_RESULTCLASS_DNS + 9) -#define DNS_R_TOOMANYHOPS (ISC_RESULTCLASS_DNS + 10) -#define DNS_R_DISALLOWED (ISC_RESULTCLASS_DNS + 11) -#define DNS_R_EXTRATOKEN (ISC_RESULTCLASS_DNS + 12) -#define DNS_R_EXTRADATA (ISC_RESULTCLASS_DNS + 13) -#define DNS_R_TEXTTOOLONG (ISC_RESULTCLASS_DNS + 14) -#define DNS_R_NOTZONETOP (ISC_RESULTCLASS_DNS + 15) -#define DNS_R_SYNTAX (ISC_RESULTCLASS_DNS + 16) -#define DNS_R_BADCKSUM (ISC_RESULTCLASS_DNS + 17) -#define DNS_R_BADAAAA (ISC_RESULTCLASS_DNS + 18) -#define DNS_R_NOOWNER (ISC_RESULTCLASS_DNS + 19) -#define DNS_R_NOTTL (ISC_RESULTCLASS_DNS + 20) -#define DNS_R_BADCLASS (ISC_RESULTCLASS_DNS + 21) -#define DNS_R_NAMETOOLONG (ISC_RESULTCLASS_DNS + 22) -#define DNS_R_PARTIALMATCH (ISC_RESULTCLASS_DNS + 23) -#define DNS_R_NEWORIGIN (ISC_RESULTCLASS_DNS + 24) -#define DNS_R_UNCHANGED (ISC_RESULTCLASS_DNS + 25) -#define DNS_R_BADTTL (ISC_RESULTCLASS_DNS + 26) -#define DNS_R_NOREDATA (ISC_RESULTCLASS_DNS + 27) -#define DNS_R_CONTINUE (ISC_RESULTCLASS_DNS + 28) -#define DNS_R_DELEGATION (ISC_RESULTCLASS_DNS + 29) -#define DNS_R_GLUE (ISC_RESULTCLASS_DNS + 30) -#define DNS_R_DNAME (ISC_RESULTCLASS_DNS + 31) -#define DNS_R_CNAME (ISC_RESULTCLASS_DNS + 32) -#define DNS_R_BADDB (ISC_RESULTCLASS_DNS + 33) -#define DNS_R_ZONECUT (ISC_RESULTCLASS_DNS + 34) -#define DNS_R_BADZONE (ISC_RESULTCLASS_DNS + 35) -#define DNS_R_MOREDATA (ISC_RESULTCLASS_DNS + 36) -#define DNS_R_UPTODATE (ISC_RESULTCLASS_DNS + 37) -#define DNS_R_TSIGVERIFYFAILURE (ISC_RESULTCLASS_DNS + 38) -#define DNS_R_TSIGERRORSET (ISC_RESULTCLASS_DNS + 39) -#define DNS_R_SIGINVALID (ISC_RESULTCLASS_DNS + 40) -#define DNS_R_SIGEXPIRED (ISC_RESULTCLASS_DNS + 41) -#define DNS_R_SIGFUTURE (ISC_RESULTCLASS_DNS + 42) -#define DNS_R_KEYUNAUTHORIZED (ISC_RESULTCLASS_DNS + 43) -#define DNS_R_INVALIDTIME (ISC_RESULTCLASS_DNS + 44) -#define DNS_R_EXPECTEDTSIG (ISC_RESULTCLASS_DNS + 45) -#define DNS_R_UNEXPECTEDTSIG (ISC_RESULTCLASS_DNS + 46) -#define DNS_R_INVALIDTKEY (ISC_RESULTCLASS_DNS + 47) -#define DNS_R_HINT (ISC_RESULTCLASS_DNS + 48) -#define DNS_R_DROP (ISC_RESULTCLASS_DNS + 49) -#define DNS_R_NOTLOADED (ISC_RESULTCLASS_DNS + 50) -#define DNS_R_NCACHENXDOMAIN (ISC_RESULTCLASS_DNS + 51) -#define DNS_R_NCACHENXRRSET (ISC_RESULTCLASS_DNS + 52) -#define DNS_R_WAIT (ISC_RESULTCLASS_DNS + 53) -#define DNS_R_NOTVERIFIEDYET (ISC_RESULTCLASS_DNS + 54) -#define DNS_R_NOIDENTITY (ISC_RESULTCLASS_DNS + 55) -#define DNS_R_NOJOURNAL (ISC_RESULTCLASS_DNS + 56) -#define DNS_R_ALIAS (ISC_RESULTCLASS_DNS + 57) -#define DNS_R_USETCP (ISC_RESULTCLASS_DNS + 58) -#define DNS_R_NOVALIDSIG (ISC_RESULTCLASS_DNS + 59) -#define DNS_R_NOVALIDNSEC (ISC_RESULTCLASS_DNS + 60) -#define DNS_R_NOTINSECURE (ISC_RESULTCLASS_DNS + 61) -#define DNS_R_UNKNOWNSERVICE (ISC_RESULTCLASS_DNS + 62) -#define DNS_R_RECOVERABLE (ISC_RESULTCLASS_DNS + 63) -#define DNS_R_UNKNOWNOPT (ISC_RESULTCLASS_DNS + 64) -#define DNS_R_UNEXPECTEDID (ISC_RESULTCLASS_DNS + 65) -#define DNS_R_SEENINCLUDE (ISC_RESULTCLASS_DNS + 66) -#define DNS_R_NOTEXACT (ISC_RESULTCLASS_DNS + 67) -#define DNS_R_BLACKHOLED (ISC_RESULTCLASS_DNS + 68) -#define DNS_R_BADALG (ISC_RESULTCLASS_DNS + 69) -#define DNS_R_METATYPE (ISC_RESULTCLASS_DNS + 70) -#define DNS_R_CNAMEANDOTHER (ISC_RESULTCLASS_DNS + 71) -#define DNS_R_SINGLETON (ISC_RESULTCLASS_DNS + 72) -#define DNS_R_HINTNXRRSET (ISC_RESULTCLASS_DNS + 73) -#define DNS_R_NOMASTERFILE (ISC_RESULTCLASS_DNS + 74) -#define DNS_R_UNKNOWNPROTO (ISC_RESULTCLASS_DNS + 75) -#define DNS_R_CLOCKSKEW (ISC_RESULTCLASS_DNS + 76) -#define DNS_R_BADIXFR (ISC_RESULTCLASS_DNS + 77) -#define DNS_R_NOTAUTHORITATIVE (ISC_RESULTCLASS_DNS + 78) -#define DNS_R_NOVALIDKEY (ISC_RESULTCLASS_DNS + 79) -#define DNS_R_OBSOLETE (ISC_RESULTCLASS_DNS + 80) -#define DNS_R_FROZEN (ISC_RESULTCLASS_DNS + 81) -#define DNS_R_UNKNOWNFLAG (ISC_RESULTCLASS_DNS + 82) -#define DNS_R_EXPECTEDRESPONSE (ISC_RESULTCLASS_DNS + 83) -#define DNS_R_NOVALIDDS (ISC_RESULTCLASS_DNS + 84) -#define DNS_R_NSISADDRESS (ISC_RESULTCLASS_DNS + 85) -#define DNS_R_REMOTEFORMERR (ISC_RESULTCLASS_DNS + 86) -#define DNS_R_TRUNCATEDTCP (ISC_RESULTCLASS_DNS + 87) -#define DNS_R_LAME (ISC_RESULTCLASS_DNS + 88) -#define DNS_R_UNEXPECTEDRCODE (ISC_RESULTCLASS_DNS + 89) -#define DNS_R_UNEXPECTEDOPCODE (ISC_RESULTCLASS_DNS + 90) -#define DNS_R_CHASEDSSERVERS (ISC_RESULTCLASS_DNS + 91) -#define DNS_R_EMPTYNAME (ISC_RESULTCLASS_DNS + 92) -#define DNS_R_EMPTYWILD (ISC_RESULTCLASS_DNS + 93) -#define DNS_R_BADBITMAP (ISC_RESULTCLASS_DNS + 94) -#define DNS_R_FROMWILDCARD (ISC_RESULTCLASS_DNS + 95) -#define DNS_R_BADOWNERNAME (ISC_RESULTCLASS_DNS + 96) -#define DNS_R_BADNAME (ISC_RESULTCLASS_DNS + 97) -#define DNS_R_DYNAMIC (ISC_RESULTCLASS_DNS + 98) -#define DNS_R_UNKNOWNCOMMAND (ISC_RESULTCLASS_DNS + 99) -#define DNS_R_MUSTBESECURE (ISC_RESULTCLASS_DNS + 100) -#define DNS_R_COVERINGNSEC (ISC_RESULTCLASS_DNS + 101) -#define DNS_R_MXISADDRESS (ISC_RESULTCLASS_DNS + 102) -#define DNS_R_DUPLICATE (ISC_RESULTCLASS_DNS + 103) -#define DNS_R_INVALIDNSEC3 (ISC_RESULTCLASS_DNS + 104) -#define DNS_R_NOTMASTER (ISC_RESULTCLASS_DNS + 105) -#define DNS_R_BROKENCHAIN (ISC_RESULTCLASS_DNS + 106) -#define DNS_R_EXPIRED (ISC_RESULTCLASS_DNS + 107) -#define DNS_R_NOTDYNAMIC (ISC_RESULTCLASS_DNS + 108) -#define DNS_R_BADEUI (ISC_RESULTCLASS_DNS + 109) -#define DNS_R_NTACOVERED (ISC_RESULTCLASS_DNS + 110) -#define DNS_R_BADCDS (ISC_RESULTCLASS_DNS + 111) -#define DNS_R_BADCDNSKEY (ISC_RESULTCLASS_DNS + 112) -#define DNS_R_OPTERR (ISC_RESULTCLASS_DNS + 113) -#define DNS_R_BADDNSTAP (ISC_RESULTCLASS_DNS + 114) -#define DNS_R_BADTSIG (ISC_RESULTCLASS_DNS + 115) -#define DNS_R_BADSIG0 (ISC_RESULTCLASS_DNS + 116) -#define DNS_R_TOOMANYRECORDS (ISC_RESULTCLASS_DNS + 117) -#define DNS_R_VERIFYFAILURE (ISC_RESULTCLASS_DNS + 118) +#define DNS_R_EMPTYLABEL (ISC_RESULTCLASS_DNS + 4) +#define DNS_R_BADDOTTEDQUAD (ISC_RESULTCLASS_DNS + 5) +#define DNS_R_INVALIDNS (ISC_RESULTCLASS_DNS + 6) +#define DNS_R_UNKNOWN (ISC_RESULTCLASS_DNS + 7) +#define DNS_R_BADLABELTYPE (ISC_RESULTCLASS_DNS + 8) +#define DNS_R_BADPOINTER (ISC_RESULTCLASS_DNS + 9) +#define DNS_R_TOOMANYHOPS (ISC_RESULTCLASS_DNS + 10) +#define DNS_R_DISALLOWED (ISC_RESULTCLASS_DNS + 11) +#define DNS_R_EXTRATOKEN (ISC_RESULTCLASS_DNS + 12) +#define DNS_R_EXTRADATA (ISC_RESULTCLASS_DNS + 13) +#define DNS_R_TEXTTOOLONG (ISC_RESULTCLASS_DNS + 14) +#define DNS_R_NOTZONETOP (ISC_RESULTCLASS_DNS + 15) +#define DNS_R_SYNTAX (ISC_RESULTCLASS_DNS + 16) +#define DNS_R_BADCKSUM (ISC_RESULTCLASS_DNS + 17) +#define DNS_R_BADAAAA (ISC_RESULTCLASS_DNS + 18) +#define DNS_R_NOOWNER (ISC_RESULTCLASS_DNS + 19) +#define DNS_R_NOTTL (ISC_RESULTCLASS_DNS + 20) +#define DNS_R_BADCLASS (ISC_RESULTCLASS_DNS + 21) +#define DNS_R_NAMETOOLONG (ISC_RESULTCLASS_DNS + 22) +#define DNS_R_PARTIALMATCH (ISC_RESULTCLASS_DNS + 23) +#define DNS_R_NEWORIGIN (ISC_RESULTCLASS_DNS + 24) +#define DNS_R_UNCHANGED (ISC_RESULTCLASS_DNS + 25) +#define DNS_R_BADTTL (ISC_RESULTCLASS_DNS + 26) +#define DNS_R_NOREDATA (ISC_RESULTCLASS_DNS + 27) +#define DNS_R_CONTINUE (ISC_RESULTCLASS_DNS + 28) +#define DNS_R_DELEGATION (ISC_RESULTCLASS_DNS + 29) +#define DNS_R_GLUE (ISC_RESULTCLASS_DNS + 30) +#define DNS_R_DNAME (ISC_RESULTCLASS_DNS + 31) +#define DNS_R_CNAME (ISC_RESULTCLASS_DNS + 32) +#define DNS_R_BADDB (ISC_RESULTCLASS_DNS + 33) +#define DNS_R_ZONECUT (ISC_RESULTCLASS_DNS + 34) +#define DNS_R_BADZONE (ISC_RESULTCLASS_DNS + 35) +#define DNS_R_MOREDATA (ISC_RESULTCLASS_DNS + 36) +#define DNS_R_UPTODATE (ISC_RESULTCLASS_DNS + 37) +#define DNS_R_TSIGVERIFYFAILURE (ISC_RESULTCLASS_DNS + 38) +#define DNS_R_TSIGERRORSET (ISC_RESULTCLASS_DNS + 39) +#define DNS_R_SIGINVALID (ISC_RESULTCLASS_DNS + 40) +#define DNS_R_SIGEXPIRED (ISC_RESULTCLASS_DNS + 41) +#define DNS_R_SIGFUTURE (ISC_RESULTCLASS_DNS + 42) +#define DNS_R_KEYUNAUTHORIZED (ISC_RESULTCLASS_DNS + 43) +#define DNS_R_INVALIDTIME (ISC_RESULTCLASS_DNS + 44) +#define DNS_R_EXPECTEDTSIG (ISC_RESULTCLASS_DNS + 45) +#define DNS_R_UNEXPECTEDTSIG (ISC_RESULTCLASS_DNS + 46) +#define DNS_R_INVALIDTKEY (ISC_RESULTCLASS_DNS + 47) +#define DNS_R_HINT (ISC_RESULTCLASS_DNS + 48) +#define DNS_R_DROP (ISC_RESULTCLASS_DNS + 49) +#define DNS_R_NOTLOADED (ISC_RESULTCLASS_DNS + 50) +#define DNS_R_NCACHENXDOMAIN (ISC_RESULTCLASS_DNS + 51) +#define DNS_R_NCACHENXRRSET (ISC_RESULTCLASS_DNS + 52) +#define DNS_R_WAIT (ISC_RESULTCLASS_DNS + 53) +#define DNS_R_NOTVERIFIEDYET (ISC_RESULTCLASS_DNS + 54) +#define DNS_R_NOIDENTITY (ISC_RESULTCLASS_DNS + 55) +#define DNS_R_NOJOURNAL (ISC_RESULTCLASS_DNS + 56) +#define DNS_R_ALIAS (ISC_RESULTCLASS_DNS + 57) +#define DNS_R_USETCP (ISC_RESULTCLASS_DNS + 58) +#define DNS_R_NOVALIDSIG (ISC_RESULTCLASS_DNS + 59) +#define DNS_R_NOVALIDNSEC (ISC_RESULTCLASS_DNS + 60) +#define DNS_R_NOTINSECURE (ISC_RESULTCLASS_DNS + 61) +#define DNS_R_UNKNOWNSERVICE (ISC_RESULTCLASS_DNS + 62) +#define DNS_R_RECOVERABLE (ISC_RESULTCLASS_DNS + 63) +#define DNS_R_UNKNOWNOPT (ISC_RESULTCLASS_DNS + 64) +#define DNS_R_UNEXPECTEDID (ISC_RESULTCLASS_DNS + 65) +#define DNS_R_SEENINCLUDE (ISC_RESULTCLASS_DNS + 66) +#define DNS_R_NOTEXACT (ISC_RESULTCLASS_DNS + 67) +#define DNS_R_BLACKHOLED (ISC_RESULTCLASS_DNS + 68) +#define DNS_R_BADALG (ISC_RESULTCLASS_DNS + 69) +#define DNS_R_METATYPE (ISC_RESULTCLASS_DNS + 70) +#define DNS_R_CNAMEANDOTHER (ISC_RESULTCLASS_DNS + 71) +#define DNS_R_SINGLETON (ISC_RESULTCLASS_DNS + 72) +#define DNS_R_HINTNXRRSET (ISC_RESULTCLASS_DNS + 73) +#define DNS_R_NOMASTERFILE (ISC_RESULTCLASS_DNS + 74) +#define DNS_R_UNKNOWNPROTO (ISC_RESULTCLASS_DNS + 75) +#define DNS_R_CLOCKSKEW (ISC_RESULTCLASS_DNS + 76) +#define DNS_R_BADIXFR (ISC_RESULTCLASS_DNS + 77) +#define DNS_R_NOTAUTHORITATIVE (ISC_RESULTCLASS_DNS + 78) +#define DNS_R_NOVALIDKEY (ISC_RESULTCLASS_DNS + 79) +#define DNS_R_OBSOLETE (ISC_RESULTCLASS_DNS + 80) +#define DNS_R_FROZEN (ISC_RESULTCLASS_DNS + 81) +#define DNS_R_UNKNOWNFLAG (ISC_RESULTCLASS_DNS + 82) +#define DNS_R_EXPECTEDRESPONSE (ISC_RESULTCLASS_DNS + 83) +#define DNS_R_NOVALIDDS (ISC_RESULTCLASS_DNS + 84) +#define DNS_R_NSISADDRESS (ISC_RESULTCLASS_DNS + 85) +#define DNS_R_REMOTEFORMERR (ISC_RESULTCLASS_DNS + 86) +#define DNS_R_TRUNCATEDTCP (ISC_RESULTCLASS_DNS + 87) +#define DNS_R_LAME (ISC_RESULTCLASS_DNS + 88) +#define DNS_R_UNEXPECTEDRCODE (ISC_RESULTCLASS_DNS + 89) +#define DNS_R_UNEXPECTEDOPCODE (ISC_RESULTCLASS_DNS + 90) +#define DNS_R_CHASEDSSERVERS (ISC_RESULTCLASS_DNS + 91) +#define DNS_R_EMPTYNAME (ISC_RESULTCLASS_DNS + 92) +#define DNS_R_EMPTYWILD (ISC_RESULTCLASS_DNS + 93) +#define DNS_R_BADBITMAP (ISC_RESULTCLASS_DNS + 94) +#define DNS_R_FROMWILDCARD (ISC_RESULTCLASS_DNS + 95) +#define DNS_R_BADOWNERNAME (ISC_RESULTCLASS_DNS + 96) +#define DNS_R_BADNAME (ISC_RESULTCLASS_DNS + 97) +#define DNS_R_DYNAMIC (ISC_RESULTCLASS_DNS + 98) +#define DNS_R_UNKNOWNCOMMAND (ISC_RESULTCLASS_DNS + 99) +#define DNS_R_MUSTBESECURE (ISC_RESULTCLASS_DNS + 100) +#define DNS_R_COVERINGNSEC (ISC_RESULTCLASS_DNS + 101) +#define DNS_R_MXISADDRESS (ISC_RESULTCLASS_DNS + 102) +#define DNS_R_DUPLICATE (ISC_RESULTCLASS_DNS + 103) +#define DNS_R_INVALIDNSEC3 (ISC_RESULTCLASS_DNS + 104) +#define DNS_R_NOTMASTER (ISC_RESULTCLASS_DNS + 105) +#define DNS_R_BROKENCHAIN (ISC_RESULTCLASS_DNS + 106) +#define DNS_R_EXPIRED (ISC_RESULTCLASS_DNS + 107) +#define DNS_R_NOTDYNAMIC (ISC_RESULTCLASS_DNS + 108) +#define DNS_R_BADEUI (ISC_RESULTCLASS_DNS + 109) +#define DNS_R_NTACOVERED (ISC_RESULTCLASS_DNS + 110) +#define DNS_R_BADCDS (ISC_RESULTCLASS_DNS + 111) +#define DNS_R_BADCDNSKEY (ISC_RESULTCLASS_DNS + 112) +#define DNS_R_OPTERR (ISC_RESULTCLASS_DNS + 113) +#define DNS_R_BADDNSTAP (ISC_RESULTCLASS_DNS + 114) +#define DNS_R_BADTSIG (ISC_RESULTCLASS_DNS + 115) +#define DNS_R_BADSIG0 (ISC_RESULTCLASS_DNS + 116) +#define DNS_R_TOOMANYRECORDS (ISC_RESULTCLASS_DNS + 117) +#define DNS_R_VERIFYFAILURE (ISC_RESULTCLASS_DNS + 118) -#define DNS_R_NRESULTS 119 /*%< Number of results */ +#define DNS_R_NRESULTS 119 /*%< Number of results */ /* * DNS wire format rcodes. @@ -163,33 +163,32 @@ * By making these their own class we can easily convert them into the * wire-format rcode value simply by masking off the resultclass. */ -#define DNS_R_NOERROR (ISC_RESULTCLASS_DNSRCODE + 0) -#define DNS_R_FORMERR (ISC_RESULTCLASS_DNSRCODE + 1) -#define DNS_R_SERVFAIL (ISC_RESULTCLASS_DNSRCODE + 2) -#define DNS_R_NXDOMAIN (ISC_RESULTCLASS_DNSRCODE + 3) -#define DNS_R_NOTIMP (ISC_RESULTCLASS_DNSRCODE + 4) -#define DNS_R_REFUSED (ISC_RESULTCLASS_DNSRCODE + 5) -#define DNS_R_YXDOMAIN (ISC_RESULTCLASS_DNSRCODE + 6) -#define DNS_R_YXRRSET (ISC_RESULTCLASS_DNSRCODE + 7) -#define DNS_R_NXRRSET (ISC_RESULTCLASS_DNSRCODE + 8) -#define DNS_R_NOTAUTH (ISC_RESULTCLASS_DNSRCODE + 9) -#define DNS_R_NOTZONE (ISC_RESULTCLASS_DNSRCODE + 10) -#define DNS_R_RCODE11 (ISC_RESULTCLASS_DNSRCODE + 11) -#define DNS_R_RCODE12 (ISC_RESULTCLASS_DNSRCODE + 12) -#define DNS_R_RCODE13 (ISC_RESULTCLASS_DNSRCODE + 13) -#define DNS_R_RCODE14 (ISC_RESULTCLASS_DNSRCODE + 14) -#define DNS_R_RCODE15 (ISC_RESULTCLASS_DNSRCODE + 15) -#define DNS_R_BADVERS (ISC_RESULTCLASS_DNSRCODE + 16) +#define DNS_R_NOERROR (ISC_RESULTCLASS_DNSRCODE + 0) +#define DNS_R_FORMERR (ISC_RESULTCLASS_DNSRCODE + 1) +#define DNS_R_SERVFAIL (ISC_RESULTCLASS_DNSRCODE + 2) +#define DNS_R_NXDOMAIN (ISC_RESULTCLASS_DNSRCODE + 3) +#define DNS_R_NOTIMP (ISC_RESULTCLASS_DNSRCODE + 4) +#define DNS_R_REFUSED (ISC_RESULTCLASS_DNSRCODE + 5) +#define DNS_R_YXDOMAIN (ISC_RESULTCLASS_DNSRCODE + 6) +#define DNS_R_YXRRSET (ISC_RESULTCLASS_DNSRCODE + 7) +#define DNS_R_NXRRSET (ISC_RESULTCLASS_DNSRCODE + 8) +#define DNS_R_NOTAUTH (ISC_RESULTCLASS_DNSRCODE + 9) +#define DNS_R_NOTZONE (ISC_RESULTCLASS_DNSRCODE + 10) +#define DNS_R_RCODE11 (ISC_RESULTCLASS_DNSRCODE + 11) +#define DNS_R_RCODE12 (ISC_RESULTCLASS_DNSRCODE + 12) +#define DNS_R_RCODE13 (ISC_RESULTCLASS_DNSRCODE + 13) +#define DNS_R_RCODE14 (ISC_RESULTCLASS_DNSRCODE + 14) +#define DNS_R_RCODE15 (ISC_RESULTCLASS_DNSRCODE + 15) +#define DNS_R_BADVERS (ISC_RESULTCLASS_DNSRCODE + 16) -#define DNS_R_NRCODERESULTS 17 /*%< Number of rcode results */ +#define DNS_R_NRCODERESULTS 17 /*%< Number of rcode results */ #define DNS_RESULT_ISRCODE(result) \ (ISC_RESULTCLASS_INCLASS(ISC_RESULTCLASS_DNSRCODE, (result))) ISC_LANG_BEGINDECLS -const char * -dns_result_totext(isc_result_t); +const char *dns_result_totext(isc_result_t); void dns_result_register(void); diff --git a/lib/dns/include/dns/rootns.h b/lib/dns/include/dns/rootns.h index f6a1819995..110eb3a4e3 100644 --- a/lib/dns/include/dns/rootns.h +++ b/lib/dns/include/dns/rootns.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_ROOTNS_H #define DNS_ROOTNS_H 1 diff --git a/lib/dns/include/dns/rpz.h b/lib/dns/include/dns/rpz.h index b4c0c19b55..5f92630763 100644 --- a/lib/dns/include/dns/rpz.h +++ b/lib/dns/include/dns/rpz.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_RPZ_H #define DNS_RPZ_H 1 @@ -31,22 +30,22 @@ ISC_LANG_BEGINDECLS -#define DNS_RPZ_PREFIX "rpz-" +#define DNS_RPZ_PREFIX "rpz-" /* * Sub-zones of various trigger types. */ -#define DNS_RPZ_CLIENT_IP_ZONE DNS_RPZ_PREFIX"client-ip" -#define DNS_RPZ_IP_ZONE DNS_RPZ_PREFIX"ip" -#define DNS_RPZ_NSIP_ZONE DNS_RPZ_PREFIX"nsip" -#define DNS_RPZ_NSDNAME_ZONE DNS_RPZ_PREFIX"nsdname" +#define DNS_RPZ_CLIENT_IP_ZONE DNS_RPZ_PREFIX "client-ip" +#define DNS_RPZ_IP_ZONE DNS_RPZ_PREFIX "ip" +#define DNS_RPZ_NSIP_ZONE DNS_RPZ_PREFIX "nsip" +#define DNS_RPZ_NSDNAME_ZONE DNS_RPZ_PREFIX "nsdname" /* * Special policies. */ -#define DNS_RPZ_PASSTHRU_NAME DNS_RPZ_PREFIX"passthru" -#define DNS_RPZ_DROP_NAME DNS_RPZ_PREFIX"drop" -#define DNS_RPZ_TCP_ONLY_NAME DNS_RPZ_PREFIX"tcp-only" +#define DNS_RPZ_PASSTHRU_NAME DNS_RPZ_PREFIX "passthru" +#define DNS_RPZ_DROP_NAME DNS_RPZ_PREFIX "drop" +#define DNS_RPZ_TCP_ONLY_NAME DNS_RPZ_PREFIX "tcp-only" -typedef uint8_t dns_rpz_prefix_t; +typedef uint8_t dns_rpz_prefix_t; typedef enum { DNS_RPZ_TYPE_BAD, @@ -63,42 +62,44 @@ typedef enum { * < DNS_RPZ_POLICY_CNAME to choose among competing policies. */ typedef enum { - DNS_RPZ_POLICY_GIVEN = 0, /* 'given': what policy record says */ - DNS_RPZ_POLICY_DISABLED = 1, /* log what would have happened */ - DNS_RPZ_POLICY_PASSTHRU = 2, /* 'passthru': do not rewrite */ - DNS_RPZ_POLICY_DROP = 3, /* 'drop': do not respond */ - DNS_RPZ_POLICY_TCP_ONLY = 4, /* 'tcp-only': answer UDP with TC=1 */ - DNS_RPZ_POLICY_NXDOMAIN = 5, /* 'nxdomain': answer with NXDOMAIN */ - DNS_RPZ_POLICY_NODATA = 6, /* 'nodata': answer with ANCOUNT=0 */ - DNS_RPZ_POLICY_CNAME = 7, /* 'cname x': answer with x's rrsets */ - DNS_RPZ_POLICY_DNS64, /* Apply DN64 to the A rewrite */ + DNS_RPZ_POLICY_GIVEN = 0, /* 'given': what policy record says */ + DNS_RPZ_POLICY_DISABLED = 1, /* log what would have happened */ + DNS_RPZ_POLICY_PASSTHRU = 2, /* 'passthru': do not rewrite */ + DNS_RPZ_POLICY_DROP = 3, /* 'drop': do not respond */ + DNS_RPZ_POLICY_TCP_ONLY = 4, /* 'tcp-only': answer UDP with TC=1 */ + DNS_RPZ_POLICY_NXDOMAIN = 5, /* 'nxdomain': answer with NXDOMAIN */ + DNS_RPZ_POLICY_NODATA = 6, /* 'nodata': answer with ANCOUNT=0 */ + DNS_RPZ_POLICY_CNAME = 7, /* 'cname x': answer with x's rrsets */ + DNS_RPZ_POLICY_DNS64, /* Apply DN64 to the A rewrite */ DNS_RPZ_POLICY_RECORD, DNS_RPZ_POLICY_WILDCNAME, DNS_RPZ_POLICY_MISS, DNS_RPZ_POLICY_ERROR } dns_rpz_policy_t; -typedef uint8_t dns_rpz_num_t; +typedef uint8_t dns_rpz_num_t; -#define DNS_RPZ_MAX_ZONES 64 +#define DNS_RPZ_MAX_ZONES 64 /* * Type dns_rpz_zbits_t must be an unsigned int wide enough to contain * at least DNS_RPZ_MAX_ZONES bits. */ -typedef uint64_t dns_rpz_zbits_t; +typedef uint64_t dns_rpz_zbits_t; -#define DNS_RPZ_ALL_ZBITS ((dns_rpz_zbits_t)-1) +#define DNS_RPZ_ALL_ZBITS ((dns_rpz_zbits_t)-1) #define DNS_RPZ_INVALID_NUM DNS_RPZ_MAX_ZONES -#define DNS_RPZ_ZBIT(n) (((dns_rpz_zbits_t)1) << (dns_rpz_num_t)(n)) +#define DNS_RPZ_ZBIT(n) (((dns_rpz_zbits_t)1) << (dns_rpz_num_t)(n)) /* * Mask of the specified and higher numbered policy zones * Avoid hassles with (1<<33) or (1<<65) */ -#define DNS_RPZ_ZMASK(n) ((dns_rpz_zbits_t)((((n) >= DNS_RPZ_MAX_ZONES-1) ? \ - 0 : (1ULL<<((n)+1))) -1)) +#define DNS_RPZ_ZMASK(n) \ + ((dns_rpz_zbits_t)( \ + (((n) >= DNS_RPZ_MAX_ZONES - 1) ? 0 : (1ULL << ((n) + 1))) - \ + 1)) /* * The trigger counter type. @@ -110,53 +111,53 @@ typedef size_t dns_rpz_trigger_counter_t; */ typedef struct dns_rpz_triggers dns_rpz_triggers_t; struct dns_rpz_triggers { - dns_rpz_trigger_counter_t client_ipv4; - dns_rpz_trigger_counter_t client_ipv6; - dns_rpz_trigger_counter_t qname; - dns_rpz_trigger_counter_t ipv4; - dns_rpz_trigger_counter_t ipv6; - dns_rpz_trigger_counter_t nsdname; - dns_rpz_trigger_counter_t nsipv4; - dns_rpz_trigger_counter_t nsipv6; + dns_rpz_trigger_counter_t client_ipv4; + dns_rpz_trigger_counter_t client_ipv6; + dns_rpz_trigger_counter_t qname; + dns_rpz_trigger_counter_t ipv4; + dns_rpz_trigger_counter_t ipv6; + dns_rpz_trigger_counter_t nsdname; + dns_rpz_trigger_counter_t nsipv4; + dns_rpz_trigger_counter_t nsipv6; }; /* * A single response policy zone. */ -typedef struct dns_rpz_zone dns_rpz_zone_t; +typedef struct dns_rpz_zone dns_rpz_zone_t; typedef struct dns_rpz_zones dns_rpz_zones_t; struct dns_rpz_zone { isc_refcount_t refs; - dns_rpz_num_t num; /* ordinal in list of policy zones */ - dns_name_t origin; /* Policy zone name */ - dns_name_t client_ip; /* DNS_RPZ_CLIENT_IP_ZONE.origin. */ - dns_name_t ip; /* DNS_RPZ_IP_ZONE.origin. */ - dns_name_t nsdname; /* DNS_RPZ_NSDNAME_ZONE.origin */ - dns_name_t nsip; /* DNS_RPZ_NSIP_ZONE.origin. */ - dns_name_t passthru; /* DNS_RPZ_PASSTHRU_NAME. */ - dns_name_t drop; /* DNS_RPZ_DROP_NAME. */ - dns_name_t tcp_only; /* DNS_RPZ_TCP_ONLY_NAME. */ - dns_name_t cname; /* override value for ..._CNAME */ + dns_rpz_num_t num; /* ordinal in list of policy zones */ + dns_name_t origin; /* Policy zone name */ + dns_name_t client_ip; /* DNS_RPZ_CLIENT_IP_ZONE.origin. */ + dns_name_t ip; /* DNS_RPZ_IP_ZONE.origin. */ + dns_name_t nsdname; /* DNS_RPZ_NSDNAME_ZONE.origin */ + dns_name_t nsip; /* DNS_RPZ_NSIP_ZONE.origin. */ + dns_name_t passthru; /* DNS_RPZ_PASSTHRU_NAME. */ + dns_name_t drop; /* DNS_RPZ_DROP_NAME. */ + dns_name_t tcp_only; /* DNS_RPZ_TCP_ONLY_NAME. */ + dns_name_t cname; /* override value for ..._CNAME */ dns_ttl_t max_policy_ttl; - dns_rpz_policy_t policy; /* DNS_RPZ_POLICY_GIVEN or override */ + dns_rpz_policy_t policy; /* DNS_RPZ_POLICY_GIVEN or override */ - uint32_t min_update_interval;/* minimal interval between updates */ - isc_ht_t *nodes; /* entries in zone */ - dns_rpz_zones_t *rpzs; /* owner */ + uint32_t min_update_interval; /* minimal interval between updates */ + isc_ht_t *nodes; /* entries in zone */ + dns_rpz_zones_t *rpzs; /* owner */ isc_time_t lastupdated; /* last time the zone was processed */ - bool updatepending; /* there is an update pending/waiting */ - bool updaterunning; /* there is an update running */ - dns_db_t *db; /* zones database */ - dns_dbversion_t *dbversion; /* version we will be updating to */ - dns_db_t *updb; /* zones database we're working on */ - dns_dbversion_t *updbversion; /* version we're currently working on */ + bool updatepending; /* there is an update pending/waiting */ + bool updaterunning; /* there is an update running */ + dns_db_t * db; /* zones database */ + dns_dbversion_t *dbversion; /* version we will be updating to */ + dns_db_t * updb; /* zones database we're working on */ + dns_dbversion_t *updbversion; /* version we're currently working on */ dns_dbiterator_t *updbit; /* iterator to use when updating */ - isc_ht_t *newnodes; /* entries in zone being updated */ - bool db_registered; /* is the notify event registered? */ - bool addsoa; /* add soa to the additional section */ - isc_timer_t *updatetimer; - isc_event_t updateevent; + isc_ht_t * newnodes; /* entries in zone being updated */ + bool db_registered; /* is the notify event registered? */ + bool addsoa; /* add soa to the additional section */ + isc_timer_t * updatetimer; + isc_event_t updateevent; }; /* @@ -170,18 +171,18 @@ typedef struct dns_rpz_cidr_node dns_rpz_cidr_node_t; */ typedef struct dns_rpz_have dns_rpz_have_t; struct dns_rpz_have { - dns_rpz_zbits_t client_ipv4; - dns_rpz_zbits_t client_ipv6; - dns_rpz_zbits_t client_ip; - dns_rpz_zbits_t qname; - dns_rpz_zbits_t ipv4; - dns_rpz_zbits_t ipv6; - dns_rpz_zbits_t ip; - dns_rpz_zbits_t nsdname; - dns_rpz_zbits_t nsipv4; - dns_rpz_zbits_t nsipv6; - dns_rpz_zbits_t nsip; - dns_rpz_zbits_t qname_skip_recurse; + dns_rpz_zbits_t client_ipv4; + dns_rpz_zbits_t client_ipv6; + dns_rpz_zbits_t client_ip; + dns_rpz_zbits_t qname; + dns_rpz_zbits_t ipv4; + dns_rpz_zbits_t ipv6; + dns_rpz_zbits_t ip; + dns_rpz_zbits_t nsdname; + dns_rpz_zbits_t nsipv4; + dns_rpz_zbits_t nsipv6; + dns_rpz_zbits_t nsip; + dns_rpz_zbits_t qname_skip_recurse; }; /* @@ -189,34 +190,34 @@ struct dns_rpz_have { */ typedef struct dns_rpz_popt dns_rpz_popt_t; struct dns_rpz_popt { - dns_rpz_zbits_t no_rd_ok; - dns_rpz_zbits_t no_log; - dns_rpz_zbits_t nsip_on; - dns_rpz_zbits_t nsdname_on; - bool dnsrps_enabled; - bool break_dnssec; - bool qname_wait_recurse; - bool nsip_wait_recurse; - unsigned int min_ns_labels; - dns_rpz_num_t num_zones; + dns_rpz_zbits_t no_rd_ok; + dns_rpz_zbits_t no_log; + dns_rpz_zbits_t nsip_on; + dns_rpz_zbits_t nsdname_on; + bool dnsrps_enabled; + bool break_dnssec; + bool qname_wait_recurse; + bool nsip_wait_recurse; + unsigned int min_ns_labels; + dns_rpz_num_t num_zones; }; /* * Response policy zones known to a view. */ struct dns_rpz_zones { - dns_rpz_popt_t p; - dns_rpz_zone_t *zones[DNS_RPZ_MAX_ZONES]; - dns_rpz_triggers_t triggers[DNS_RPZ_MAX_ZONES]; + dns_rpz_popt_t p; + dns_rpz_zone_t * zones[DNS_RPZ_MAX_ZONES]; + dns_rpz_triggers_t triggers[DNS_RPZ_MAX_ZONES]; /* * RPZ policy version number. * It is initially 0 and it increases whenever the server is * reconfigured with new zones or policy. */ - int rpz_ver; + int rpz_ver; - dns_rpz_zbits_t defined; + dns_rpz_zbits_t defined; /* * The set of records for a policy zone are in one of these states: @@ -231,8 +232,8 @@ struct dns_rpz_zones { * main rpzs load_begun=1 have!=0 * load rpzs load_begun=1 have=0 */ - dns_rpz_zbits_t load_begun; - dns_rpz_have_t have; + dns_rpz_zbits_t load_begun; + dns_rpz_have_t have; /* * total_triggers maintains the total number of triggers in all @@ -240,89 +241,88 @@ struct dns_rpz_zones { * statistics after a zone load of how the trigger counts * changed. */ - dns_rpz_triggers_t total_triggers; + dns_rpz_triggers_t total_triggers; - isc_mem_t *mctx; - isc_taskmgr_t *taskmgr; - isc_timermgr_t *timermgr; - isc_task_t *updater; - isc_refcount_t refs; - isc_refcount_t irefs; + isc_mem_t * mctx; + isc_taskmgr_t * taskmgr; + isc_timermgr_t *timermgr; + isc_task_t * updater; + isc_refcount_t refs; + isc_refcount_t irefs; /* * One lock for short term read-only search that guarantees the * consistency of the pointers. * A second lock for maintenance that guarantees no other thread * is adding or deleting nodes. */ - isc_rwlock_t search_lock; - isc_mutex_t maint_lock; + isc_rwlock_t search_lock; + isc_mutex_t maint_lock; - dns_rpz_cidr_node_t *cidr; - dns_rbt_t *rbt; + dns_rpz_cidr_node_t *cidr; + dns_rbt_t * rbt; /* * DNSRPZ librpz configuration string and handle on librpz connection */ - char *rps_cstr; - size_t rps_cstr_size; - struct librpz_client *rps_client; + char * rps_cstr; + size_t rps_cstr_size; + struct librpz_client *rps_client; }; - /* * context for finding the best policy */ typedef struct { - unsigned int state; -# define DNS_RPZ_REWRITTEN 0x0001 -# define DNS_RPZ_DONE_CLIENT_IP 0x0002 /* client IP address checked */ -# define DNS_RPZ_DONE_QNAME 0x0004 /* qname checked */ -# define DNS_RPZ_DONE_QNAME_IP 0x0008 /* IP addresses of qname checked */ -# define DNS_RPZ_DONE_NSDNAME 0x0010 /* NS name missed; checking addresses */ -# define DNS_RPZ_DONE_IPv4 0x0020 -# define DNS_RPZ_RECURSING 0x0040 -# define DNS_RPZ_ACTIVE 0x0080 + unsigned int state; +#define DNS_RPZ_REWRITTEN 0x0001 +#define DNS_RPZ_DONE_CLIENT_IP 0x0002 /* client IP address checked */ +#define DNS_RPZ_DONE_QNAME 0x0004 /* qname checked */ +#define DNS_RPZ_DONE_QNAME_IP 0x0008 /* IP addresses of qname checked */ +#define DNS_RPZ_DONE_NSDNAME 0x0010 /* NS name missed; checking addresses */ +#define DNS_RPZ_DONE_IPv4 0x0020 +#define DNS_RPZ_RECURSING 0x0040 +#define DNS_RPZ_ACTIVE 0x0080 /* * Best match so far. */ struct { - dns_rpz_type_t type; - dns_rpz_zone_t *rpz; - dns_rpz_prefix_t prefix; - dns_rpz_policy_t policy; - dns_ttl_t ttl; - isc_result_t result; - dns_zone_t *zone; - dns_db_t *db; - dns_dbversion_t *version; - dns_dbnode_t *node; - dns_rdataset_t *rdataset; + dns_rpz_type_t type; + dns_rpz_zone_t * rpz; + dns_rpz_prefix_t prefix; + dns_rpz_policy_t policy; + dns_ttl_t ttl; + isc_result_t result; + dns_zone_t * zone; + dns_db_t * db; + dns_dbversion_t *version; + dns_dbnode_t * node; + dns_rdataset_t * rdataset; } m; /* * State for chasing IP addresses and NS names including recursion. */ struct { - unsigned int label; - dns_db_t *db; - dns_rdataset_t *ns_rdataset; - dns_rdatatype_t r_type; - isc_result_t r_result; - dns_rdataset_t *r_rdataset; + unsigned int label; + dns_db_t * db; + dns_rdataset_t *ns_rdataset; + dns_rdatatype_t r_type; + isc_result_t r_result; + dns_rdataset_t *r_rdataset; } r; /* * State of real query while recursing for NSIP or NSDNAME. */ struct { - isc_result_t result; - bool is_zone; - bool authoritative; - dns_zone_t *zone; - dns_db_t *db; - dns_dbnode_t *node; - dns_rdataset_t *rdataset; - dns_rdataset_t *sigrdataset; - dns_rdatatype_t qtype; + isc_result_t result; + bool is_zone; + bool authoritative; + dns_zone_t * zone; + dns_db_t * db; + dns_dbnode_t * node; + dns_rdataset_t *rdataset; + dns_rdataset_t *sigrdataset; + dns_rdatatype_t qtype; } q; /* @@ -331,41 +331,41 @@ typedef struct { * used to avoid problems when policy is updated while * RPZ recursion is ongoing. */ - dns_rpz_have_t have; - dns_rpz_popt_t popt; - int rpz_ver; + dns_rpz_have_t have; + dns_rpz_popt_t popt; + int rpz_ver; /* * Shim db between BIND and DNRPS librpz. */ - dns_db_t *rpsdb; + dns_db_t *rpsdb; /* * p_name: current policy owner name * r_name: recursing for this name to possible policy triggers * f_name: saved found name from before recursion */ - dns_name_t *p_name; - dns_name_t *r_name; - dns_name_t *fname; - dns_fixedname_t _p_namef; - dns_fixedname_t _r_namef; - dns_fixedname_t _fnamef; + dns_name_t * p_name; + dns_name_t * r_name; + dns_name_t * fname; + dns_fixedname_t _p_namef; + dns_fixedname_t _r_namef; + dns_fixedname_t _fnamef; } dns_rpz_st_t; -#define DNS_RPZ_TTL_DEFAULT 5 -#define DNS_RPZ_MAX_TTL_DEFAULT DNS_RPZ_TTL_DEFAULT -#define DNS_RPZ_MINUPDATEINTERVAL_DEFAULT 60 +#define DNS_RPZ_TTL_DEFAULT 5 +#define DNS_RPZ_MAX_TTL_DEFAULT DNS_RPZ_TTL_DEFAULT +#define DNS_RPZ_MINUPDATEINTERVAL_DEFAULT 60 /* * So various response policy zone messages can be turned up or down. */ -#define DNS_RPZ_ERROR_LEVEL ISC_LOG_WARNING -#define DNS_RPZ_INFO_LEVEL ISC_LOG_INFO -#define DNS_RPZ_DEBUG_LEVEL1 ISC_LOG_DEBUG(1) -#define DNS_RPZ_DEBUG_LEVEL2 ISC_LOG_DEBUG(2) -#define DNS_RPZ_DEBUG_LEVEL3 ISC_LOG_DEBUG(3) -#define DNS_RPZ_DEBUG_QUIET (DNS_RPZ_DEBUG_LEVEL3+1) +#define DNS_RPZ_ERROR_LEVEL ISC_LOG_WARNING +#define DNS_RPZ_INFO_LEVEL ISC_LOG_INFO +#define DNS_RPZ_DEBUG_LEVEL1 ISC_LOG_DEBUG(1) +#define DNS_RPZ_DEBUG_LEVEL2 ISC_LOG_DEBUG(2) +#define DNS_RPZ_DEBUG_LEVEL3 ISC_LOG_DEBUG(3) +#define DNS_RPZ_DEBUG_QUIET (DNS_RPZ_DEBUG_LEVEL3 + 1) const char * dns_rpz_type2str(dns_rpz_type_t type); @@ -381,9 +381,9 @@ dns_rpz_decode_cname(dns_rpz_zone_t *rpz, dns_rdataset_t *rdataset, dns_name_t *selfname); isc_result_t -dns_rpz_new_zones(dns_rpz_zones_t **rpzsp, char *rps_cstr, - size_t rps_cstr_size, isc_mem_t *mctx, - isc_taskmgr_t *taskmgr, isc_timermgr_t *timermgr); +dns_rpz_new_zones(dns_rpz_zones_t **rpzsp, char *rps_cstr, size_t rps_cstr_size, + isc_mem_t *mctx, isc_taskmgr_t *taskmgr, + isc_timermgr_t *timermgr); isc_result_t dns_rpz_new_zone(dns_rpz_zones_t *rpzs, dns_rpz_zone_t **rpzp); @@ -398,14 +398,12 @@ void dns_rpz_detach_rpzs(dns_rpz_zones_t **rpzsp); isc_result_t -dns_rpz_beginload(dns_rpz_zones_t **load_rpzsp, - dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num) - ISC_DEPRECATED; +dns_rpz_beginload(dns_rpz_zones_t **load_rpzsp, dns_rpz_zones_t *rpzs, + dns_rpz_num_t rpz_num) ISC_DEPRECATED; isc_result_t -dns_rpz_ready(dns_rpz_zones_t *rpzs, - dns_rpz_zones_t **load_rpzsp, dns_rpz_num_t rpz_num) - ISC_DEPRECATED; +dns_rpz_ready(dns_rpz_zones_t *rpzs, dns_rpz_zones_t **load_rpzsp, + dns_rpz_num_t rpz_num) ISC_DEPRECATED; isc_result_t dns_rpz_add(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, diff --git a/lib/dns/include/dns/rriterator.h b/lib/dns/include/dns/rriterator.h index 2c2d7e1cfe..9db5fbf7dd 100644 --- a/lib/dns/include/dns/rriterator.h +++ b/lib/dns/include/dns/rriterator.h @@ -52,25 +52,25 @@ ISC_LANG_BEGINDECLS */ typedef struct dns_rriterator { - unsigned int magic; - isc_result_t result; - dns_db_t *db; - dns_dbiterator_t *dbit; - dns_dbversion_t *ver; - isc_stdtime_t now; - dns_dbnode_t *node; - dns_fixedname_t fixedname; - dns_rdatasetiter_t *rdatasetit; - dns_rdataset_t rdataset; - dns_rdata_t rdata; + unsigned int magic; + isc_result_t result; + dns_db_t * db; + dns_dbiterator_t * dbit; + dns_dbversion_t * ver; + isc_stdtime_t now; + dns_dbnode_t * node; + dns_fixedname_t fixedname; + dns_rdatasetiter_t *rdatasetit; + dns_rdataset_t rdataset; + dns_rdata_t rdata; } dns_rriterator_t; -#define RRITERATOR_MAGIC ISC_MAGIC('R', 'R', 'I', 't') -#define VALID_RRITERATOR(m) ISC_MAGIC_VALID(m, RRITERATOR_MAGIC) +#define RRITERATOR_MAGIC ISC_MAGIC('R', 'R', 'I', 't') +#define VALID_RRITERATOR(m) ISC_MAGIC_VALID(m, RRITERATOR_MAGIC) isc_result_t -dns_rriterator_init(dns_rriterator_t *it, dns_db_t *db, - dns_dbversion_t *ver, isc_stdtime_t now); +dns_rriterator_init(dns_rriterator_t *it, dns_db_t *db, dns_dbversion_t *ver, + isc_stdtime_t now); /*% * Initialize an rriterator; sets the cursor to the origin node * of the database. @@ -129,9 +129,8 @@ dns_rriterator_next(dns_rriterator_t *it); */ void -dns_rriterator_current(dns_rriterator_t *it, dns_name_t **name, - uint32_t *ttl, dns_rdataset_t **rdataset, - dns_rdata_t **rdata); +dns_rriterator_current(dns_rriterator_t *it, dns_name_t **name, uint32_t *ttl, + dns_rdataset_t **rdataset, dns_rdata_t **rdata); /*%< * Make '*name' refer to the current name. If 'rdataset' is not NULL, * make '*rdataset' refer to the current * rdataset. If '*rdata' is not diff --git a/lib/dns/include/dns/rrl.h b/lib/dns/include/dns/rrl.h index b4bbd7927f..c55cd9194a 100644 --- a/lib/dns/include/dns/rrl.h +++ b/lib/dns/include/dns/rrl.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_RRL_H #define DNS_RRL_H 1 @@ -28,38 +27,33 @@ ISC_LANG_BEGINDECLS - /* * Memory allocation or other failures. */ -#define DNS_RRL_LOG_FAIL ISC_LOG_WARNING +#define DNS_RRL_LOG_FAIL ISC_LOG_WARNING /* * dropped or slipped responses. */ -#define DNS_RRL_LOG_DROP ISC_LOG_INFO +#define DNS_RRL_LOG_DROP ISC_LOG_INFO /* * Major events in dropping or slipping. */ -#define DNS_RRL_LOG_DEBUG1 ISC_LOG_DEBUG(3) +#define DNS_RRL_LOG_DEBUG1 ISC_LOG_DEBUG(3) /* * Limit computations. */ -#define DNS_RRL_LOG_DEBUG2 ISC_LOG_DEBUG(4) +#define DNS_RRL_LOG_DEBUG2 ISC_LOG_DEBUG(4) /* * Even less interesting. */ -#define DNS_RRL_LOG_DEBUG3 ISC_LOG_DEBUG(9) - - -#define DNS_RRL_LOG_ERR_LEN 64 -#define DNS_RRL_LOG_BUF_LEN (sizeof("would continue limiting") + \ - DNS_RRL_LOG_ERR_LEN + \ - sizeof(" responses to ") + \ - ISC_NETADDR_FORMATSIZE + \ - sizeof("/128 for IN ") + \ - DNS_RDATATYPE_FORMATSIZE + \ - DNS_NAME_FORMATSIZE) +#define DNS_RRL_LOG_DEBUG3 ISC_LOG_DEBUG(9) +#define DNS_RRL_LOG_ERR_LEN 64 +#define DNS_RRL_LOG_BUF_LEN \ + (sizeof("would continue limiting") + DNS_RRL_LOG_ERR_LEN + \ + sizeof(" responses to ") + ISC_NETADDR_FORMATSIZE + \ + sizeof("/128 for IN ") + DNS_RDATATYPE_FORMATSIZE + \ + DNS_NAME_FORMATSIZE) typedef struct dns_rrl_hash dns_rrl_hash_t; @@ -86,19 +80,19 @@ typedef enum { * by attacker) to collide with legitimate qnames from the target with * probability at most 1%. */ -#define DNS_RRL_MAX_PREFIX 64 +#define DNS_RRL_MAX_PREFIX 64 typedef union dns_rrl_key dns_rrl_key_t; struct dns__rrl_key { - uint32_t ip[DNS_RRL_MAX_PREFIX/32]; - uint32_t qname_hash; - dns_rdatatype_t qtype; - uint8_t qclass; - unsigned int rtype :4; /* dns_rrl_rtype_t */ - unsigned int ipv6 :1; + uint32_t ip[DNS_RRL_MAX_PREFIX / 32]; + uint32_t qname_hash; + dns_rdatatype_t qtype; + uint8_t qclass; + unsigned int rtype : 4; /* dns_rrl_rtype_t */ + unsigned int ipv6 : 1; }; union dns_rrl_key { struct dns__rrl_key s; - uint16_t w[sizeof(struct dns__rrl_key)/sizeof(uint16_t)]; + uint16_t w[sizeof(struct dns__rrl_key) / sizeof(uint16_t)]; }; /* @@ -110,63 +104,62 @@ typedef ISC_LIST(dns_rrl_entry_t) dns_rrl_bin_t; struct dns_rrl_entry { ISC_LINK(dns_rrl_entry_t) lru; ISC_LINK(dns_rrl_entry_t) hlink; - dns_rrl_key_t key; -# define DNS_RRL_RESPONSE_BITS 24 - signed int responses :DNS_RRL_RESPONSE_BITS; -# define DNS_RRL_QNAMES_BITS 8 - unsigned int log_qname :DNS_RRL_QNAMES_BITS; + dns_rrl_key_t key; +#define DNS_RRL_RESPONSE_BITS 24 + signed int responses : DNS_RRL_RESPONSE_BITS; +#define DNS_RRL_QNAMES_BITS 8 + unsigned int log_qname : DNS_RRL_QNAMES_BITS; -# define DNS_RRL_TS_GEN_BITS 2 - unsigned int ts_gen :DNS_RRL_TS_GEN_BITS; - unsigned int ts_valid :1; -# define DNS_RRL_HASH_GEN_BITS 1 - unsigned int hash_gen :DNS_RRL_HASH_GEN_BITS; - unsigned int logged :1; -# define DNS_RRL_LOG_BITS 11 - unsigned int log_secs :DNS_RRL_LOG_BITS; +#define DNS_RRL_TS_GEN_BITS 2 + unsigned int ts_gen : DNS_RRL_TS_GEN_BITS; + unsigned int ts_valid : 1; +#define DNS_RRL_HASH_GEN_BITS 1 + unsigned int hash_gen : DNS_RRL_HASH_GEN_BITS; + unsigned int logged : 1; +#define DNS_RRL_LOG_BITS 11 + unsigned int log_secs : DNS_RRL_LOG_BITS; -# define DNS_RRL_TS_BITS 12 - unsigned int ts :DNS_RRL_TS_BITS; +#define DNS_RRL_TS_BITS 12 + unsigned int ts : DNS_RRL_TS_BITS; -# define DNS_RRL_MAX_SLIP 10 - unsigned int slip_cnt :4; +#define DNS_RRL_MAX_SLIP 10 + unsigned int slip_cnt : 4; }; -#define DNS_RRL_MAX_TIME_TRAVEL 5 -#define DNS_RRL_FOREVER (1<= DNS_RRL_MAX_TS #error "DNS_RRL_MAX_WINDOW is too large" #endif -#define DNS_RRL_MAX_RATE 1000 +#define DNS_RRL_MAX_RATE 1000 #if DNS_RRL_MAX_RATE >= (DNS_RRL_MAX_RESPONSES / DNS_RRL_MAX_WINDOW) #error "DNS_RRL_MAX_rate is too large" #endif -#if (1<= DNS_RRL_FOREVER +#if (1 << DNS_RRL_LOG_BITS) >= DNS_RRL_FOREVER #error DNS_RRL_LOG_BITS is too big #endif -#define DNS_RRL_MAX_LOG_SECS 1800 -#if DNS_RRL_MAX_LOG_SECS >= (1<= (1 << DNS_RRL_LOG_BITS) #error "DNS_RRL_MAX_LOG_SECS is too large" #endif -#define DNS_RRL_STOP_LOG_SECS 60 -#if DNS_RRL_STOP_LOG_SECS >= (1<= (1 << DNS_RRL_LOG_BITS) #error "DNS_RRL_STOP_LOG_SECS is too large" #endif - /* * A hash table of rate-limit entries. */ struct dns_rrl_hash { - isc_stdtime_t check_time; - unsigned int gen :DNS_RRL_HASH_GEN_BITS; - int length; - dns_rrl_bin_t bins[1]; + isc_stdtime_t check_time; + unsigned int gen : DNS_RRL_HASH_GEN_BITS; + int length; + dns_rrl_bin_t bins[1]; }; /* @@ -176,7 +169,7 @@ typedef struct dns_rrl_block dns_rrl_block_t; struct dns_rrl_block { ISC_LINK(dns_rrl_block_t) link; int size; - dns_rrl_entry_t entries[1]; + dns_rrl_entry_t entries[1]; }; /* @@ -186,15 +179,15 @@ typedef struct dns_rrl_qname_buf dns_rrl_qname_buf_t; struct dns_rrl_qname_buf { ISC_LINK(dns_rrl_qname_buf_t) link; const dns_rrl_entry_t *e; - unsigned int index; - dns_fixedname_t qname; + unsigned int index; + dns_fixedname_t qname; }; typedef struct dns_rrl_rate dns_rrl_rate_t; struct dns_rrl_rate { int r; int scaled; - const char *str; + const char *str; }; /* @@ -202,54 +195,54 @@ struct dns_rrl_rate { */ typedef struct dns_rrl dns_rrl_t; struct dns_rrl { - isc_mutex_t lock; - isc_mem_t *mctx; + isc_mutex_t lock; + isc_mem_t * mctx; - bool log_only; - dns_rrl_rate_t responses_per_second; - dns_rrl_rate_t referrals_per_second; - dns_rrl_rate_t nodata_per_second; - dns_rrl_rate_t nxdomains_per_second; - dns_rrl_rate_t errors_per_second; - dns_rrl_rate_t all_per_second; - dns_rrl_rate_t slip; - int window; - double qps_scale; - int max_entries; + bool log_only; + dns_rrl_rate_t responses_per_second; + dns_rrl_rate_t referrals_per_second; + dns_rrl_rate_t nodata_per_second; + dns_rrl_rate_t nxdomains_per_second; + dns_rrl_rate_t errors_per_second; + dns_rrl_rate_t all_per_second; + dns_rrl_rate_t slip; + int window; + double qps_scale; + int max_entries; - dns_acl_t *exempt; + dns_acl_t *exempt; - int num_entries; + int num_entries; - int qps_responses; - isc_stdtime_t qps_time; - double qps; + int qps_responses; + isc_stdtime_t qps_time; + double qps; - unsigned int probes; - unsigned int searches; + unsigned int probes; + unsigned int searches; ISC_LIST(dns_rrl_block_t) blocks; ISC_LIST(dns_rrl_entry_t) lru; - dns_rrl_hash_t *hash; - dns_rrl_hash_t *old_hash; + dns_rrl_hash_t *hash; + dns_rrl_hash_t *old_hash; unsigned int hash_gen; - unsigned int ts_gen; -# define DNS_RRL_TS_BASES (1< #include + #include ISC_LANG_BEGINDECLS @@ -28,11 +29,11 @@ typedef enum { dns_ssumatchtype_name = 0, dns_ssumatchtype_subdomain = 1, dns_ssumatchtype_wildcard = 2, - dns_ssumatchtype_self = 3, + dns_ssumatchtype_self = 3, dns_ssumatchtype_selfsub = 4, dns_ssumatchtype_selfwild = 5, dns_ssumatchtype_selfkrb5 = 6, - dns_ssumatchtype_selfms = 7, + dns_ssumatchtype_selfms = 7, dns_ssumatchtype_subdomainms = 8, dns_ssumatchtype_subdomainkrb5 = 9, dns_ssumatchtype_tcpself = 10, @@ -41,9 +42,9 @@ typedef enum { dns_ssumatchtype_local = 13, dns_ssumatchtype_selfsubms = 14, dns_ssumatchtype_selfsubkrb5 = 15, - dns_ssumatchtype_max = 15, /* max value */ + dns_ssumatchtype_max = 15, /* max value */ - dns_ssumatchtype_dlz = 16 /* intentionally higher than _max */ + dns_ssumatchtype_dlz = 16 /* intentionally higher than _max */ } dns_ssumatchtype_t; isc_result_t @@ -134,8 +135,8 @@ dns_ssutable_addrule(dns_ssutable_t *table, bool grant, bool dns_ssutable_checkrules(dns_ssutable_t *table, const dns_name_t *signer, const dns_name_t *name, const isc_netaddr_t *addr, - bool tcp, const dns_aclenv_t *env, - dns_rdatatype_t type, const dst_key_t *key); + bool tcp, const dns_aclenv_t *env, dns_rdatatype_t type, + const dst_key_t *key); /*%< * Checks that the attempted update of (name, type) is allowed according * to the rules specified in the simple-secure-update rule table. If @@ -176,21 +177,24 @@ dns_ssutable_checkrules(dns_ssutable_t *table, const dns_name_t *signer, *\li if 'addr' is not NULL, 'env' is not NULL. */ +/*% Accessor functions to extract rule components */ +bool +dns_ssurule_isgrant(const dns_ssurule_t *rule); +/*% Accessor functions to extract rule components */ +dns_name_t * +dns_ssurule_identity(const dns_ssurule_t *rule); +/*% Accessor functions to extract rule components */ +unsigned int +dns_ssurule_matchtype(const dns_ssurule_t *rule); +/*% Accessor functions to extract rule components */ +dns_name_t * +dns_ssurule_name(const dns_ssurule_t *rule); +/*% Accessor functions to extract rule components */ +unsigned int +dns_ssurule_types(const dns_ssurule_t *rule, dns_rdatatype_t **types); -/*% Accessor functions to extract rule components */ -bool dns_ssurule_isgrant(const dns_ssurule_t *rule); -/*% Accessor functions to extract rule components */ -dns_name_t * dns_ssurule_identity(const dns_ssurule_t *rule); -/*% Accessor functions to extract rule components */ -unsigned int dns_ssurule_matchtype(const dns_ssurule_t *rule); -/*% Accessor functions to extract rule components */ -dns_name_t * dns_ssurule_name(const dns_ssurule_t *rule); -/*% Accessor functions to extract rule components */ -unsigned int dns_ssurule_types(const dns_ssurule_t *rule, - dns_rdatatype_t **types); - -isc_result_t dns_ssutable_firstrule(const dns_ssutable_t *table, - dns_ssurule_t **rule); +isc_result_t +dns_ssutable_firstrule(const dns_ssutable_t *table, dns_ssurule_t **rule); /*%< * Initiates a rule iterator. There is no need to maintain any state. * @@ -199,8 +203,8 @@ isc_result_t dns_ssutable_firstrule(const dns_ssutable_t *table, *\li #ISC_R_NOMORE */ -isc_result_t dns_ssutable_nextrule(dns_ssurule_t *rule, - dns_ssurule_t **nextrule); +isc_result_t +dns_ssutable_nextrule(dns_ssurule_t *rule, dns_ssurule_t **nextrule); /*%< * Returns the next rule in the table. * diff --git a/lib/dns/include/dns/stats.h b/lib/dns/include/dns/stats.h index fff230a500..bac8de8d09 100644 --- a/lib/dns/include/dns/stats.h +++ b/lib/dns/include/dns/stats.h @@ -126,20 +126,20 @@ enum { /*% * Query statistics counters (obsolete). */ - dns_statscounter_success = 0, /*%< Successful lookup */ - dns_statscounter_referral = 1, /*%< Referral result */ - dns_statscounter_nxrrset = 2, /*%< NXRRSET result */ - dns_statscounter_nxdomain = 3, /*%< NXDOMAIN result */ - dns_statscounter_recursion = 4, /*%< Recursion was used */ - dns_statscounter_failure = 5, /*%< Some other failure */ - dns_statscounter_duplicate = 6, /*%< Duplicate query */ - dns_statscounter_dropped = 7, /*%< Duplicate query (dropped) */ + dns_statscounter_success = 0, /*%< Successful lookup */ + dns_statscounter_referral = 1, /*%< Referral result */ + dns_statscounter_nxrrset = 2, /*%< NXRRSET result */ + dns_statscounter_nxdomain = 3, /*%< NXDOMAIN result */ + dns_statscounter_recursion = 4, /*%< Recursion was used */ + dns_statscounter_failure = 5, /*%< Some other failure */ + dns_statscounter_duplicate = 6, /*%< Duplicate query */ + dns_statscounter_dropped = 7, /*%< Duplicate query (dropped) */ /*% * DNSTAP statistics counters. */ dns_dnstapcounter_success = 0, - dns_dnstapcounter_drop = 1, + dns_dnstapcounter_drop = 1, dns_dnstapcounter_max = 2, /* @@ -156,291 +156,288 @@ enum { /*% * Traffic size statistics counters. Used as isc_statscounter_t values. */ -enum { - dns_sizecounter_in_0 = 0, - dns_sizecounter_in_16 = 1, - dns_sizecounter_in_32 = 2, - dns_sizecounter_in_48 = 3, - dns_sizecounter_in_64 = 4, - dns_sizecounter_in_80 = 5, - dns_sizecounter_in_96 = 6, - dns_sizecounter_in_112 = 7, - dns_sizecounter_in_128 = 8, - dns_sizecounter_in_144 = 9, - dns_sizecounter_in_160 = 10, - dns_sizecounter_in_176 = 11, - dns_sizecounter_in_192 = 12, - dns_sizecounter_in_208 = 13, - dns_sizecounter_in_224 = 14, - dns_sizecounter_in_240 = 15, - dns_sizecounter_in_256 = 16, - dns_sizecounter_in_272 = 17, - dns_sizecounter_in_288 = 18, +enum { dns_sizecounter_in_0 = 0, + dns_sizecounter_in_16 = 1, + dns_sizecounter_in_32 = 2, + dns_sizecounter_in_48 = 3, + dns_sizecounter_in_64 = 4, + dns_sizecounter_in_80 = 5, + dns_sizecounter_in_96 = 6, + dns_sizecounter_in_112 = 7, + dns_sizecounter_in_128 = 8, + dns_sizecounter_in_144 = 9, + dns_sizecounter_in_160 = 10, + dns_sizecounter_in_176 = 11, + dns_sizecounter_in_192 = 12, + dns_sizecounter_in_208 = 13, + dns_sizecounter_in_224 = 14, + dns_sizecounter_in_240 = 15, + dns_sizecounter_in_256 = 16, + dns_sizecounter_in_272 = 17, + dns_sizecounter_in_288 = 18, - dns_sizecounter_in_max = 19, + dns_sizecounter_in_max = 19, }; -enum { - dns_sizecounter_out_0 = 0, - dns_sizecounter_out_16 = 1, - dns_sizecounter_out_32 = 2, - dns_sizecounter_out_48 = 3, - dns_sizecounter_out_64 = 4, - dns_sizecounter_out_80 = 5, - dns_sizecounter_out_96 = 6, - dns_sizecounter_out_112 = 7, - dns_sizecounter_out_128 = 8, - dns_sizecounter_out_144 = 9, - dns_sizecounter_out_160 = 10, - dns_sizecounter_out_176 = 11, - dns_sizecounter_out_192 = 12, - dns_sizecounter_out_208 = 13, - dns_sizecounter_out_224 = 14, - dns_sizecounter_out_240 = 15, - dns_sizecounter_out_256 = 16, - dns_sizecounter_out_272 = 17, - dns_sizecounter_out_288 = 18, - dns_sizecounter_out_304 = 19, - dns_sizecounter_out_320 = 20, - dns_sizecounter_out_336 = 21, - dns_sizecounter_out_352 = 22, - dns_sizecounter_out_368 = 23, - dns_sizecounter_out_384 = 24, - dns_sizecounter_out_400 = 25, - dns_sizecounter_out_416 = 26, - dns_sizecounter_out_432 = 27, - dns_sizecounter_out_448 = 28, - dns_sizecounter_out_464 = 29, - dns_sizecounter_out_480 = 30, - dns_sizecounter_out_496 = 31, - dns_sizecounter_out_512 = 32, - dns_sizecounter_out_528 = 33, - dns_sizecounter_out_544 = 34, - dns_sizecounter_out_560 = 35, - dns_sizecounter_out_576 = 36, - dns_sizecounter_out_592 = 37, - dns_sizecounter_out_608 = 38, - dns_sizecounter_out_624 = 39, - dns_sizecounter_out_640 = 40, - dns_sizecounter_out_656 = 41, - dns_sizecounter_out_672 = 42, - dns_sizecounter_out_688 = 43, - dns_sizecounter_out_704 = 44, - dns_sizecounter_out_720 = 45, - dns_sizecounter_out_736 = 46, - dns_sizecounter_out_752 = 47, - dns_sizecounter_out_768 = 48, - dns_sizecounter_out_784 = 49, - dns_sizecounter_out_800 = 50, - dns_sizecounter_out_816 = 51, - dns_sizecounter_out_832 = 52, - dns_sizecounter_out_848 = 53, - dns_sizecounter_out_864 = 54, - dns_sizecounter_out_880 = 55, - dns_sizecounter_out_896 = 56, - dns_sizecounter_out_912 = 57, - dns_sizecounter_out_928 = 58, - dns_sizecounter_out_944 = 59, - dns_sizecounter_out_960 = 60, - dns_sizecounter_out_976 = 61, - dns_sizecounter_out_992 = 62, - dns_sizecounter_out_1008 = 63, - dns_sizecounter_out_1024 = 64, - dns_sizecounter_out_1040 = 65, - dns_sizecounter_out_1056 = 66, - dns_sizecounter_out_1072 = 67, - dns_sizecounter_out_1088 = 68, - dns_sizecounter_out_1104 = 69, - dns_sizecounter_out_1120 = 70, - dns_sizecounter_out_1136 = 71, - dns_sizecounter_out_1152 = 72, - dns_sizecounter_out_1168 = 73, - dns_sizecounter_out_1184 = 74, - dns_sizecounter_out_1200 = 75, - dns_sizecounter_out_1216 = 76, - dns_sizecounter_out_1232 = 77, - dns_sizecounter_out_1248 = 78, - dns_sizecounter_out_1264 = 79, - dns_sizecounter_out_1280 = 80, - dns_sizecounter_out_1296 = 81, - dns_sizecounter_out_1312 = 82, - dns_sizecounter_out_1328 = 83, - dns_sizecounter_out_1344 = 84, - dns_sizecounter_out_1360 = 85, - dns_sizecounter_out_1376 = 86, - dns_sizecounter_out_1392 = 87, - dns_sizecounter_out_1408 = 88, - dns_sizecounter_out_1424 = 89, - dns_sizecounter_out_1440 = 90, - dns_sizecounter_out_1456 = 91, - dns_sizecounter_out_1472 = 92, - dns_sizecounter_out_1488 = 93, - dns_sizecounter_out_1504 = 94, - dns_sizecounter_out_1520 = 95, - dns_sizecounter_out_1536 = 96, - dns_sizecounter_out_1552 = 97, - dns_sizecounter_out_1568 = 98, - dns_sizecounter_out_1584 = 99, - dns_sizecounter_out_1600 = 100, - dns_sizecounter_out_1616 = 101, - dns_sizecounter_out_1632 = 102, - dns_sizecounter_out_1648 = 103, - dns_sizecounter_out_1664 = 104, - dns_sizecounter_out_1680 = 105, - dns_sizecounter_out_1696 = 106, - dns_sizecounter_out_1712 = 107, - dns_sizecounter_out_1728 = 108, - dns_sizecounter_out_1744 = 109, - dns_sizecounter_out_1760 = 110, - dns_sizecounter_out_1776 = 111, - dns_sizecounter_out_1792 = 112, - dns_sizecounter_out_1808 = 113, - dns_sizecounter_out_1824 = 114, - dns_sizecounter_out_1840 = 115, - dns_sizecounter_out_1856 = 116, - dns_sizecounter_out_1872 = 117, - dns_sizecounter_out_1888 = 118, - dns_sizecounter_out_1904 = 119, - dns_sizecounter_out_1920 = 120, - dns_sizecounter_out_1936 = 121, - dns_sizecounter_out_1952 = 122, - dns_sizecounter_out_1968 = 123, - dns_sizecounter_out_1984 = 124, - dns_sizecounter_out_2000 = 125, - dns_sizecounter_out_2016 = 126, - dns_sizecounter_out_2032 = 127, - dns_sizecounter_out_2048 = 128, - dns_sizecounter_out_2064 = 129, - dns_sizecounter_out_2080 = 130, - dns_sizecounter_out_2096 = 131, - dns_sizecounter_out_2112 = 132, - dns_sizecounter_out_2128 = 133, - dns_sizecounter_out_2144 = 134, - dns_sizecounter_out_2160 = 135, - dns_sizecounter_out_2176 = 136, - dns_sizecounter_out_2192 = 137, - dns_sizecounter_out_2208 = 138, - dns_sizecounter_out_2224 = 139, - dns_sizecounter_out_2240 = 140, - dns_sizecounter_out_2256 = 141, - dns_sizecounter_out_2272 = 142, - dns_sizecounter_out_2288 = 143, - dns_sizecounter_out_2304 = 144, - dns_sizecounter_out_2320 = 145, - dns_sizecounter_out_2336 = 146, - dns_sizecounter_out_2352 = 147, - dns_sizecounter_out_2368 = 148, - dns_sizecounter_out_2384 = 149, - dns_sizecounter_out_2400 = 150, - dns_sizecounter_out_2416 = 151, - dns_sizecounter_out_2432 = 152, - dns_sizecounter_out_2448 = 153, - dns_sizecounter_out_2464 = 154, - dns_sizecounter_out_2480 = 155, - dns_sizecounter_out_2496 = 156, - dns_sizecounter_out_2512 = 157, - dns_sizecounter_out_2528 = 158, - dns_sizecounter_out_2544 = 159, - dns_sizecounter_out_2560 = 160, - dns_sizecounter_out_2576 = 161, - dns_sizecounter_out_2592 = 162, - dns_sizecounter_out_2608 = 163, - dns_sizecounter_out_2624 = 164, - dns_sizecounter_out_2640 = 165, - dns_sizecounter_out_2656 = 166, - dns_sizecounter_out_2672 = 167, - dns_sizecounter_out_2688 = 168, - dns_sizecounter_out_2704 = 169, - dns_sizecounter_out_2720 = 170, - dns_sizecounter_out_2736 = 171, - dns_sizecounter_out_2752 = 172, - dns_sizecounter_out_2768 = 173, - dns_sizecounter_out_2784 = 174, - dns_sizecounter_out_2800 = 175, - dns_sizecounter_out_2816 = 176, - dns_sizecounter_out_2832 = 177, - dns_sizecounter_out_2848 = 178, - dns_sizecounter_out_2864 = 179, - dns_sizecounter_out_2880 = 180, - dns_sizecounter_out_2896 = 181, - dns_sizecounter_out_2912 = 182, - dns_sizecounter_out_2928 = 183, - dns_sizecounter_out_2944 = 184, - dns_sizecounter_out_2960 = 185, - dns_sizecounter_out_2976 = 186, - dns_sizecounter_out_2992 = 187, - dns_sizecounter_out_3008 = 188, - dns_sizecounter_out_3024 = 189, - dns_sizecounter_out_3040 = 190, - dns_sizecounter_out_3056 = 191, - dns_sizecounter_out_3072 = 192, - dns_sizecounter_out_3088 = 193, - dns_sizecounter_out_3104 = 194, - dns_sizecounter_out_3120 = 195, - dns_sizecounter_out_3136 = 196, - dns_sizecounter_out_3152 = 197, - dns_sizecounter_out_3168 = 198, - dns_sizecounter_out_3184 = 199, - dns_sizecounter_out_3200 = 200, - dns_sizecounter_out_3216 = 201, - dns_sizecounter_out_3232 = 202, - dns_sizecounter_out_3248 = 203, - dns_sizecounter_out_3264 = 204, - dns_sizecounter_out_3280 = 205, - dns_sizecounter_out_3296 = 206, - dns_sizecounter_out_3312 = 207, - dns_sizecounter_out_3328 = 208, - dns_sizecounter_out_3344 = 209, - dns_sizecounter_out_3360 = 210, - dns_sizecounter_out_3376 = 211, - dns_sizecounter_out_3392 = 212, - dns_sizecounter_out_3408 = 213, - dns_sizecounter_out_3424 = 214, - dns_sizecounter_out_3440 = 215, - dns_sizecounter_out_3456 = 216, - dns_sizecounter_out_3472 = 217, - dns_sizecounter_out_3488 = 218, - dns_sizecounter_out_3504 = 219, - dns_sizecounter_out_3520 = 220, - dns_sizecounter_out_3536 = 221, - dns_sizecounter_out_3552 = 222, - dns_sizecounter_out_3568 = 223, - dns_sizecounter_out_3584 = 224, - dns_sizecounter_out_3600 = 225, - dns_sizecounter_out_3616 = 226, - dns_sizecounter_out_3632 = 227, - dns_sizecounter_out_3648 = 228, - dns_sizecounter_out_3664 = 229, - dns_sizecounter_out_3680 = 230, - dns_sizecounter_out_3696 = 231, - dns_sizecounter_out_3712 = 232, - dns_sizecounter_out_3728 = 233, - dns_sizecounter_out_3744 = 234, - dns_sizecounter_out_3760 = 235, - dns_sizecounter_out_3776 = 236, - dns_sizecounter_out_3792 = 237, - dns_sizecounter_out_3808 = 238, - dns_sizecounter_out_3824 = 239, - dns_sizecounter_out_3840 = 240, - dns_sizecounter_out_3856 = 241, - dns_sizecounter_out_3872 = 242, - dns_sizecounter_out_3888 = 243, - dns_sizecounter_out_3904 = 244, - dns_sizecounter_out_3920 = 245, - dns_sizecounter_out_3936 = 246, - dns_sizecounter_out_3952 = 247, - dns_sizecounter_out_3968 = 248, - dns_sizecounter_out_3984 = 249, - dns_sizecounter_out_4000 = 250, - dns_sizecounter_out_4016 = 251, - dns_sizecounter_out_4032 = 252, - dns_sizecounter_out_4048 = 253, - dns_sizecounter_out_4064 = 254, - dns_sizecounter_out_4080 = 255, - dns_sizecounter_out_4096 = 256, +enum { dns_sizecounter_out_0 = 0, + dns_sizecounter_out_16 = 1, + dns_sizecounter_out_32 = 2, + dns_sizecounter_out_48 = 3, + dns_sizecounter_out_64 = 4, + dns_sizecounter_out_80 = 5, + dns_sizecounter_out_96 = 6, + dns_sizecounter_out_112 = 7, + dns_sizecounter_out_128 = 8, + dns_sizecounter_out_144 = 9, + dns_sizecounter_out_160 = 10, + dns_sizecounter_out_176 = 11, + dns_sizecounter_out_192 = 12, + dns_sizecounter_out_208 = 13, + dns_sizecounter_out_224 = 14, + dns_sizecounter_out_240 = 15, + dns_sizecounter_out_256 = 16, + dns_sizecounter_out_272 = 17, + dns_sizecounter_out_288 = 18, + dns_sizecounter_out_304 = 19, + dns_sizecounter_out_320 = 20, + dns_sizecounter_out_336 = 21, + dns_sizecounter_out_352 = 22, + dns_sizecounter_out_368 = 23, + dns_sizecounter_out_384 = 24, + dns_sizecounter_out_400 = 25, + dns_sizecounter_out_416 = 26, + dns_sizecounter_out_432 = 27, + dns_sizecounter_out_448 = 28, + dns_sizecounter_out_464 = 29, + dns_sizecounter_out_480 = 30, + dns_sizecounter_out_496 = 31, + dns_sizecounter_out_512 = 32, + dns_sizecounter_out_528 = 33, + dns_sizecounter_out_544 = 34, + dns_sizecounter_out_560 = 35, + dns_sizecounter_out_576 = 36, + dns_sizecounter_out_592 = 37, + dns_sizecounter_out_608 = 38, + dns_sizecounter_out_624 = 39, + dns_sizecounter_out_640 = 40, + dns_sizecounter_out_656 = 41, + dns_sizecounter_out_672 = 42, + dns_sizecounter_out_688 = 43, + dns_sizecounter_out_704 = 44, + dns_sizecounter_out_720 = 45, + dns_sizecounter_out_736 = 46, + dns_sizecounter_out_752 = 47, + dns_sizecounter_out_768 = 48, + dns_sizecounter_out_784 = 49, + dns_sizecounter_out_800 = 50, + dns_sizecounter_out_816 = 51, + dns_sizecounter_out_832 = 52, + dns_sizecounter_out_848 = 53, + dns_sizecounter_out_864 = 54, + dns_sizecounter_out_880 = 55, + dns_sizecounter_out_896 = 56, + dns_sizecounter_out_912 = 57, + dns_sizecounter_out_928 = 58, + dns_sizecounter_out_944 = 59, + dns_sizecounter_out_960 = 60, + dns_sizecounter_out_976 = 61, + dns_sizecounter_out_992 = 62, + dns_sizecounter_out_1008 = 63, + dns_sizecounter_out_1024 = 64, + dns_sizecounter_out_1040 = 65, + dns_sizecounter_out_1056 = 66, + dns_sizecounter_out_1072 = 67, + dns_sizecounter_out_1088 = 68, + dns_sizecounter_out_1104 = 69, + dns_sizecounter_out_1120 = 70, + dns_sizecounter_out_1136 = 71, + dns_sizecounter_out_1152 = 72, + dns_sizecounter_out_1168 = 73, + dns_sizecounter_out_1184 = 74, + dns_sizecounter_out_1200 = 75, + dns_sizecounter_out_1216 = 76, + dns_sizecounter_out_1232 = 77, + dns_sizecounter_out_1248 = 78, + dns_sizecounter_out_1264 = 79, + dns_sizecounter_out_1280 = 80, + dns_sizecounter_out_1296 = 81, + dns_sizecounter_out_1312 = 82, + dns_sizecounter_out_1328 = 83, + dns_sizecounter_out_1344 = 84, + dns_sizecounter_out_1360 = 85, + dns_sizecounter_out_1376 = 86, + dns_sizecounter_out_1392 = 87, + dns_sizecounter_out_1408 = 88, + dns_sizecounter_out_1424 = 89, + dns_sizecounter_out_1440 = 90, + dns_sizecounter_out_1456 = 91, + dns_sizecounter_out_1472 = 92, + dns_sizecounter_out_1488 = 93, + dns_sizecounter_out_1504 = 94, + dns_sizecounter_out_1520 = 95, + dns_sizecounter_out_1536 = 96, + dns_sizecounter_out_1552 = 97, + dns_sizecounter_out_1568 = 98, + dns_sizecounter_out_1584 = 99, + dns_sizecounter_out_1600 = 100, + dns_sizecounter_out_1616 = 101, + dns_sizecounter_out_1632 = 102, + dns_sizecounter_out_1648 = 103, + dns_sizecounter_out_1664 = 104, + dns_sizecounter_out_1680 = 105, + dns_sizecounter_out_1696 = 106, + dns_sizecounter_out_1712 = 107, + dns_sizecounter_out_1728 = 108, + dns_sizecounter_out_1744 = 109, + dns_sizecounter_out_1760 = 110, + dns_sizecounter_out_1776 = 111, + dns_sizecounter_out_1792 = 112, + dns_sizecounter_out_1808 = 113, + dns_sizecounter_out_1824 = 114, + dns_sizecounter_out_1840 = 115, + dns_sizecounter_out_1856 = 116, + dns_sizecounter_out_1872 = 117, + dns_sizecounter_out_1888 = 118, + dns_sizecounter_out_1904 = 119, + dns_sizecounter_out_1920 = 120, + dns_sizecounter_out_1936 = 121, + dns_sizecounter_out_1952 = 122, + dns_sizecounter_out_1968 = 123, + dns_sizecounter_out_1984 = 124, + dns_sizecounter_out_2000 = 125, + dns_sizecounter_out_2016 = 126, + dns_sizecounter_out_2032 = 127, + dns_sizecounter_out_2048 = 128, + dns_sizecounter_out_2064 = 129, + dns_sizecounter_out_2080 = 130, + dns_sizecounter_out_2096 = 131, + dns_sizecounter_out_2112 = 132, + dns_sizecounter_out_2128 = 133, + dns_sizecounter_out_2144 = 134, + dns_sizecounter_out_2160 = 135, + dns_sizecounter_out_2176 = 136, + dns_sizecounter_out_2192 = 137, + dns_sizecounter_out_2208 = 138, + dns_sizecounter_out_2224 = 139, + dns_sizecounter_out_2240 = 140, + dns_sizecounter_out_2256 = 141, + dns_sizecounter_out_2272 = 142, + dns_sizecounter_out_2288 = 143, + dns_sizecounter_out_2304 = 144, + dns_sizecounter_out_2320 = 145, + dns_sizecounter_out_2336 = 146, + dns_sizecounter_out_2352 = 147, + dns_sizecounter_out_2368 = 148, + dns_sizecounter_out_2384 = 149, + dns_sizecounter_out_2400 = 150, + dns_sizecounter_out_2416 = 151, + dns_sizecounter_out_2432 = 152, + dns_sizecounter_out_2448 = 153, + dns_sizecounter_out_2464 = 154, + dns_sizecounter_out_2480 = 155, + dns_sizecounter_out_2496 = 156, + dns_sizecounter_out_2512 = 157, + dns_sizecounter_out_2528 = 158, + dns_sizecounter_out_2544 = 159, + dns_sizecounter_out_2560 = 160, + dns_sizecounter_out_2576 = 161, + dns_sizecounter_out_2592 = 162, + dns_sizecounter_out_2608 = 163, + dns_sizecounter_out_2624 = 164, + dns_sizecounter_out_2640 = 165, + dns_sizecounter_out_2656 = 166, + dns_sizecounter_out_2672 = 167, + dns_sizecounter_out_2688 = 168, + dns_sizecounter_out_2704 = 169, + dns_sizecounter_out_2720 = 170, + dns_sizecounter_out_2736 = 171, + dns_sizecounter_out_2752 = 172, + dns_sizecounter_out_2768 = 173, + dns_sizecounter_out_2784 = 174, + dns_sizecounter_out_2800 = 175, + dns_sizecounter_out_2816 = 176, + dns_sizecounter_out_2832 = 177, + dns_sizecounter_out_2848 = 178, + dns_sizecounter_out_2864 = 179, + dns_sizecounter_out_2880 = 180, + dns_sizecounter_out_2896 = 181, + dns_sizecounter_out_2912 = 182, + dns_sizecounter_out_2928 = 183, + dns_sizecounter_out_2944 = 184, + dns_sizecounter_out_2960 = 185, + dns_sizecounter_out_2976 = 186, + dns_sizecounter_out_2992 = 187, + dns_sizecounter_out_3008 = 188, + dns_sizecounter_out_3024 = 189, + dns_sizecounter_out_3040 = 190, + dns_sizecounter_out_3056 = 191, + dns_sizecounter_out_3072 = 192, + dns_sizecounter_out_3088 = 193, + dns_sizecounter_out_3104 = 194, + dns_sizecounter_out_3120 = 195, + dns_sizecounter_out_3136 = 196, + dns_sizecounter_out_3152 = 197, + dns_sizecounter_out_3168 = 198, + dns_sizecounter_out_3184 = 199, + dns_sizecounter_out_3200 = 200, + dns_sizecounter_out_3216 = 201, + dns_sizecounter_out_3232 = 202, + dns_sizecounter_out_3248 = 203, + dns_sizecounter_out_3264 = 204, + dns_sizecounter_out_3280 = 205, + dns_sizecounter_out_3296 = 206, + dns_sizecounter_out_3312 = 207, + dns_sizecounter_out_3328 = 208, + dns_sizecounter_out_3344 = 209, + dns_sizecounter_out_3360 = 210, + dns_sizecounter_out_3376 = 211, + dns_sizecounter_out_3392 = 212, + dns_sizecounter_out_3408 = 213, + dns_sizecounter_out_3424 = 214, + dns_sizecounter_out_3440 = 215, + dns_sizecounter_out_3456 = 216, + dns_sizecounter_out_3472 = 217, + dns_sizecounter_out_3488 = 218, + dns_sizecounter_out_3504 = 219, + dns_sizecounter_out_3520 = 220, + dns_sizecounter_out_3536 = 221, + dns_sizecounter_out_3552 = 222, + dns_sizecounter_out_3568 = 223, + dns_sizecounter_out_3584 = 224, + dns_sizecounter_out_3600 = 225, + dns_sizecounter_out_3616 = 226, + dns_sizecounter_out_3632 = 227, + dns_sizecounter_out_3648 = 228, + dns_sizecounter_out_3664 = 229, + dns_sizecounter_out_3680 = 230, + dns_sizecounter_out_3696 = 231, + dns_sizecounter_out_3712 = 232, + dns_sizecounter_out_3728 = 233, + dns_sizecounter_out_3744 = 234, + dns_sizecounter_out_3760 = 235, + dns_sizecounter_out_3776 = 236, + dns_sizecounter_out_3792 = 237, + dns_sizecounter_out_3808 = 238, + dns_sizecounter_out_3824 = 239, + dns_sizecounter_out_3840 = 240, + dns_sizecounter_out_3856 = 241, + dns_sizecounter_out_3872 = 242, + dns_sizecounter_out_3888 = 243, + dns_sizecounter_out_3904 = 244, + dns_sizecounter_out_3920 = 245, + dns_sizecounter_out_3936 = 246, + dns_sizecounter_out_3952 = 247, + dns_sizecounter_out_3968 = 248, + dns_sizecounter_out_3984 = 249, + dns_sizecounter_out_4000 = 250, + dns_sizecounter_out_4016 = 251, + dns_sizecounter_out_4032 = 252, + dns_sizecounter_out_4048 = 253, + dns_sizecounter_out_4064 = 254, + dns_sizecounter_out_4080 = 255, + dns_sizecounter_out_4096 = 256, - dns_sizecounter_out_max = 257 -}; + dns_sizecounter_out_max = 257 }; #define DNS_STATS_NCOUNTERS 8 @@ -450,7 +447,7 @@ enum { * ISC_STATSDUMP_VERBOSE should be used instead. These two values are * intentionally defined to be the same value to ensure binary compatibility. */ -#define DNS_STATSDUMP_VERBOSE 0x00000001 /*%< dump 0-value counters */ +#define DNS_STATSDUMP_VERBOSE 0x00000001 /*%< dump 0-value counters */ #endif /*%< @@ -481,24 +478,23 @@ LIBDNS_EXTERNAL_DATA extern const char *dns_statscounter_names[]; * RRset type counters only. This indicates a record that is marked for * removal. */ -#define DNS_RDATASTATSTYPE_ATTR_OTHERTYPE 0x0001 -#define DNS_RDATASTATSTYPE_ATTR_NXRRSET 0x0002 -#define DNS_RDATASTATSTYPE_ATTR_NXDOMAIN 0x0004 -#define DNS_RDATASTATSTYPE_ATTR_STALE 0x0008 -#define DNS_RDATASTATSTYPE_ATTR_ANCIENT 0x0010 +#define DNS_RDATASTATSTYPE_ATTR_OTHERTYPE 0x0001 +#define DNS_RDATASTATSTYPE_ATTR_NXRRSET 0x0002 +#define DNS_RDATASTATSTYPE_ATTR_NXDOMAIN 0x0004 +#define DNS_RDATASTATSTYPE_ATTR_STALE 0x0008 +#define DNS_RDATASTATSTYPE_ATTR_ANCIENT 0x0010 /*%< * Conversion macros among dns_rdatatype_t, attributes and isc_statscounter_t. */ -#define DNS_RDATASTATSTYPE_BASE(type) ((dns_rdatatype_t)((type) & 0xFFFF)) -#define DNS_RDATASTATSTYPE_ATTR(type) ((type) >> 16) -#define DNS_RDATASTATSTYPE_VALUE(b, a) (((a) << 16) | (b)) +#define DNS_RDATASTATSTYPE_BASE(type) ((dns_rdatatype_t)((type)&0xFFFF)) +#define DNS_RDATASTATSTYPE_ATTR(type) ((type) >> 16) +#define DNS_RDATASTATSTYPE_VALUE(b, a) (((a) << 16) | (b)) /*%< * Types of dump callbacks. */ -typedef void (*dns_generalstats_dumper_t)(isc_statscounter_t, uint64_t, - void *); +typedef void (*dns_generalstats_dumper_t)(isc_statscounter_t, uint64_t, void *); typedef void (*dns_rdatatypestats_dumper_t)(dns_rdatastatstype_t, uint64_t, void *); typedef void (*dns_dnssecsignstats_dumper_t)(dns_keytag_t, uint64_t, void *); @@ -741,9 +737,9 @@ dns_rdatasetstats_dump(dns_stats_t *stats, dns_rdatatypestats_dumper_t dump_fn, */ void -dns_dnssecsignstats_dump(dns_stats_t *stats, - dns_dnssecsignstats_dumper_t dump_fn, - void *arg, unsigned int options); +dns_dnssecsignstats_dump(dns_stats_t * stats, + dns_dnssecsignstats_dumper_t dump_fn, void *arg, + unsigned int options); /*%< * Dump the current statistics counters in a specified way. For each counter * in stats, dump_fn is called with the corresponding type in the form of diff --git a/lib/dns/include/dns/tcpmsg.h b/lib/dns/include/dns/tcpmsg.h index 1e8f29bf91..15105023a0 100644 --- a/lib/dns/include/dns/tcpmsg.h +++ b/lib/dns/include/dns/tcpmsg.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_TCPMSG_H #define DNS_TCPMSG_H 1 @@ -23,19 +22,19 @@ typedef struct dns_tcpmsg { /* private (don't touch!) */ - unsigned int magic; - uint16_t size; - isc_buffer_t buffer; - unsigned int maxsize; - isc_mem_t *mctx; - isc_socket_t *sock; - isc_task_t *task; - isc_taskaction_t action; - void *arg; - isc_event_t event; + unsigned int magic; + uint16_t size; + isc_buffer_t buffer; + unsigned int maxsize; + isc_mem_t * mctx; + isc_socket_t * sock; + isc_task_t * task; + isc_taskaction_t action; + void * arg; + isc_event_t event; /* public (read-only) */ - isc_result_t result; - isc_sockaddr_t address; + isc_result_t result; + isc_sockaddr_t address; } dns_tcpmsg_t; ISC_LANG_BEGINDECLS @@ -72,8 +71,8 @@ dns_tcpmsg_setmaxsize(dns_tcpmsg_t *tcpmsg, unsigned int maxsize); */ isc_result_t -dns_tcpmsg_readmessage(dns_tcpmsg_t *tcpmsg, - isc_task_t *task, isc_taskaction_t action, void *arg); +dns_tcpmsg_readmessage(dns_tcpmsg_t *tcpmsg, isc_task_t *task, + isc_taskaction_t action, void *arg); /*%< * Schedule an event to be delivered when a DNS message is readable, or * when an error occurs on the socket. diff --git a/lib/dns/include/dns/time.h b/lib/dns/include/dns/time.h index 012b733066..94e1462936 100644 --- a/lib/dns/include/dns/time.h +++ b/lib/dns/include/dns/time.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_TIME_H #define DNS_TIME_H 1 @@ -45,7 +44,6 @@ dns_time32_fromtext(const char *source, uint32_t *target); * as per RFC2535. */ - isc_result_t dns_time64_totext(int64_t value, isc_buffer_t *target); /*%< diff --git a/lib/dns/include/dns/timer.h b/lib/dns/include/dns/timer.h index 845cf6c148..ca22d206f8 100644 --- a/lib/dns/include/dns/timer.h +++ b/lib/dns/include/dns/timer.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_TIMER_H #define DNS_TIMER_H 1 diff --git a/lib/dns/include/dns/tkey.h b/lib/dns/include/dns/tkey.h index 4680747557..e5dd4462a3 100644 --- a/lib/dns/include/dns/tkey.h +++ b/lib/dns/include/dns/tkey.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_TKEY_H #define DNS_TKEY_H 1 @@ -28,18 +27,18 @@ ISC_LANG_BEGINDECLS /* Key agreement modes */ -#define DNS_TKEYMODE_SERVERASSIGNED 1 -#define DNS_TKEYMODE_DIFFIEHELLMAN 2 -#define DNS_TKEYMODE_GSSAPI 3 -#define DNS_TKEYMODE_RESOLVERASSIGNED 4 -#define DNS_TKEYMODE_DELETE 5 +#define DNS_TKEYMODE_SERVERASSIGNED 1 +#define DNS_TKEYMODE_DIFFIEHELLMAN 2 +#define DNS_TKEYMODE_GSSAPI 3 +#define DNS_TKEYMODE_RESOLVERASSIGNED 4 +#define DNS_TKEYMODE_DELETE 5 struct dns_tkeyctx { - dst_key_t *dhkey; - dns_name_t *domain; + dst_key_t * dhkey; + dns_name_t * domain; gss_cred_id_t gsscred; - isc_mem_t *mctx; - char *gssapi_keytab; + isc_mem_t * mctx; + char * gssapi_keytab; }; isc_result_t @@ -118,9 +117,8 @@ dns_tkey_builddhquery(dns_message_t *msg, dst_key_t *key, isc_result_t dns_tkey_buildgssquery(dns_message_t *msg, const dns_name_t *name, const dns_name_t *gname, isc_buffer_t *intoken, - uint32_t lifetime, gss_ctx_id_t *context, - bool win2k, isc_mem_t *mctx, - char **err_message); + uint32_t lifetime, gss_ctx_id_t *context, bool win2k, + isc_mem_t *mctx, char **err_message); /*%< * Builds a query containing a TKEY that will generate a GSSAPI context. * The key is requested to have the specified lifetime (in seconds). @@ -141,7 +139,6 @@ dns_tkey_buildgssquery(dns_message_t *msg, const dns_name_t *name, *\li *err_message optional error message */ - isc_result_t dns_tkey_builddeletequery(dns_message_t *msg, dns_tsigkey_t *key); /*%< diff --git a/lib/dns/include/dns/tsec.h b/lib/dns/include/dns/tsec.h index 95e16c8717..649f866a12 100644 --- a/lib/dns/include/dns/tsec.h +++ b/lib/dns/include/dns/tsec.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_TSEC_H #define DNS_TSEC_H 1 diff --git a/lib/dns/include/dns/tsig.h b/lib/dns/include/dns/tsig.h index c4d4f2f0a8..1ed1780e21 100644 --- a/lib/dns/include/dns/tsig.h +++ b/lib/dns/include/dns/tsig.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_TSIG_H #define DNS_TSIG_H 1 @@ -23,43 +22,42 @@ #include #include -#include - -#include #include +#include #include +#include /* * Algorithms. */ LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_tsig_hmacmd5_name; -#define DNS_TSIG_HMACMD5_NAME dns_tsig_hmacmd5_name +#define DNS_TSIG_HMACMD5_NAME dns_tsig_hmacmd5_name LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_tsig_gssapi_name; -#define DNS_TSIG_GSSAPI_NAME dns_tsig_gssapi_name +#define DNS_TSIG_GSSAPI_NAME dns_tsig_gssapi_name LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_tsig_gssapims_name; -#define DNS_TSIG_GSSAPIMS_NAME dns_tsig_gssapims_name +#define DNS_TSIG_GSSAPIMS_NAME dns_tsig_gssapims_name LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_tsig_hmacsha1_name; -#define DNS_TSIG_HMACSHA1_NAME dns_tsig_hmacsha1_name +#define DNS_TSIG_HMACSHA1_NAME dns_tsig_hmacsha1_name LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_tsig_hmacsha224_name; -#define DNS_TSIG_HMACSHA224_NAME dns_tsig_hmacsha224_name +#define DNS_TSIG_HMACSHA224_NAME dns_tsig_hmacsha224_name LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_tsig_hmacsha256_name; -#define DNS_TSIG_HMACSHA256_NAME dns_tsig_hmacsha256_name +#define DNS_TSIG_HMACSHA256_NAME dns_tsig_hmacsha256_name LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_tsig_hmacsha384_name; -#define DNS_TSIG_HMACSHA384_NAME dns_tsig_hmacsha384_name +#define DNS_TSIG_HMACSHA384_NAME dns_tsig_hmacsha384_name LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_tsig_hmacsha512_name; -#define DNS_TSIG_HMACSHA512_NAME dns_tsig_hmacsha512_name +#define DNS_TSIG_HMACSHA512_NAME dns_tsig_hmacsha512_name /*% * Default fudge value. */ -#define DNS_TSIG_FUDGE 300 +#define DNS_TSIG_FUDGE 300 struct dns_tsig_keyring { - dns_rbt_t *keys; + dns_rbt_t * keys; unsigned int writecount; isc_rwlock_t lock; - isc_mem_t *mctx; + isc_mem_t * mctx; /* * LRU list of generated key along with a count of the keys on the * list and a maximum size. @@ -72,17 +70,17 @@ struct dns_tsig_keyring { struct dns_tsigkey { /* Unlocked */ - unsigned int magic; /*%< Magic number. */ - isc_mem_t *mctx; - dst_key_t *key; /*%< Key */ - dns_name_t name; /*%< Key name */ - const dns_name_t *algorithm; /*%< Algorithm name */ - dns_name_t *creator; /*%< name that created secret */ - bool generated; /*%< was this generated? */ - isc_stdtime_t inception; /*%< start of validity period */ - isc_stdtime_t expire; /*%< end of validity period */ - dns_tsig_keyring_t *ring; /*%< the enclosing keyring */ - isc_refcount_t refs; /*%< reference counter */ + unsigned int magic; /*%< Magic number. */ + isc_mem_t * mctx; + dst_key_t * key; /*%< Key */ + dns_name_t name; /*%< Key name */ + const dns_name_t * algorithm; /*%< Algorithm name */ + dns_name_t * creator; /*%< name that created secret */ + bool generated; /*%< was this generated? */ + isc_stdtime_t inception; /*%< start of validity period */ + isc_stdtime_t expire; /*%< end of validity period */ + dns_tsig_keyring_t *ring; /*%< the enclosing keyring */ + isc_refcount_t refs; /*%< reference counter */ ISC_LINK(dns_tsigkey_t) link; }; @@ -245,7 +243,6 @@ dns_tsigkey_find(dns_tsigkey_t **tsigkey, const dns_name_t *name, *\li #ISC_R_NOTFOUND */ - isc_result_t dns_tsigkeyring_create(isc_mem_t *mctx, dns_tsig_keyring_t **ringp); /*%< @@ -274,7 +271,6 @@ dns_tsigkeyring_add(dns_tsig_keyring_t *ring, const dns_name_t *name, *\li Any other value indicates failure. */ - void dns_tsigkeyring_attach(dns_tsig_keyring_t *source, dns_tsig_keyring_t **target); diff --git a/lib/dns/include/dns/ttl.h b/lib/dns/include/dns/ttl.h index 5f3bb11473..f857258b3a 100644 --- a/lib/dns/include/dns/ttl.h +++ b/lib/dns/include/dns/ttl.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_TTL_H #define DNS_TTL_H 1 @@ -32,8 +31,7 @@ ISC_LANG_BEGINDECLS ***/ isc_result_t -dns_ttl_totext(uint32_t src, bool verbose, - bool upcase, isc_buffer_t *target); +dns_ttl_totext(uint32_t src, bool verbose, bool upcase, isc_buffer_t *target); /*%< * Output a TTL or other time interval in a human-readable form. * The time interval is given as a count of seconds in 'src'. diff --git a/lib/dns/include/dns/types.h b/lib/dns/include/dns/types.h index 68f60c2061..008757fc9b 100644 --- a/lib/dns/include/dns/types.h +++ b/lib/dns/include/dns/types.h @@ -21,153 +21,151 @@ * include the appropriate .h file too. */ +#include #include #include -#include #include -typedef struct dns_acl dns_acl_t; -typedef struct dns_aclelement dns_aclelement_t; -typedef struct dns_aclenv dns_aclenv_t; -typedef struct dns_adb dns_adb_t; -typedef struct dns_adbaddrinfo dns_adbaddrinfo_t; -typedef ISC_LIST(dns_adbaddrinfo_t) dns_adbaddrinfolist_t; -typedef struct dns_adbentry dns_adbentry_t; -typedef struct dns_adbfind dns_adbfind_t; -typedef ISC_LIST(dns_adbfind_t) dns_adbfindlist_t; -typedef struct dns_badcache dns_badcache_t; -typedef struct dns_byaddr dns_byaddr_t; -typedef struct dns_catz_zonemodmethods dns_catz_zonemodmethods_t; -typedef struct dns_catz_entry_options dns_catz_options_t; -typedef struct dns_catz_entry dns_catz_entry_t; -typedef struct dns_catz_zone dns_catz_zone_t; -typedef struct dns_catz_changed dns_catz_changed_t; -typedef struct dns_catz_zones dns_catz_zones_t; -typedef struct dns_client dns_client_t; -typedef void dns_clientrestrans_t; -typedef void dns_clientreqtrans_t; -typedef void dns_clientupdatetrans_t; -typedef struct dns_cache dns_cache_t; -typedef uint16_t dns_cert_t; -typedef struct dns_compress dns_compress_t; -typedef struct dns_db dns_db_t; -typedef struct dns_dbimplementation dns_dbimplementation_t; -typedef struct dns_dbiterator dns_dbiterator_t; -typedef void dns_dbload_t; -typedef void dns_dbnode_t; -typedef struct dns_dbonupdatelistener dns_dbonupdatelistener_t; -typedef struct dns_dbtable dns_dbtable_t; -typedef void dns_dbversion_t; -typedef struct dns_dlzimplementation dns_dlzimplementation_t; -typedef struct dns_dlzdb dns_dlzdb_t; -typedef ISC_LIST(dns_dlzdb_t) dns_dlzdblist_t; -typedef struct dns_dyndbctx dns_dyndbctx_t; -typedef struct dns_sdlzimplementation dns_sdlzimplementation_t; -typedef struct dns_decompress dns_decompress_t; -typedef struct dns_dispatch dns_dispatch_t; -typedef struct dns_dispatchevent dns_dispatchevent_t; -typedef struct dns_dispatchlist dns_dispatchlist_t; -typedef struct dns_dispatchset dns_dispatchset_t; -typedef struct dns_dispatchmgr dns_dispatchmgr_t; -typedef struct dns_dispentry dns_dispentry_t; -typedef struct dns_dns64 dns_dns64_t; -typedef ISC_LIST(dns_dns64_t) dns_dns64list_t; -typedef struct dns_dnsseckey dns_dnsseckey_t; -typedef ISC_LIST(dns_dnsseckey_t) dns_dnsseckeylist_t; -typedef uint8_t dns_dsdigest_t; -typedef struct dns_dtdata dns_dtdata_t; -typedef struct dns_dtenv dns_dtenv_t; -typedef struct dns_dtmsg dns_dtmsg_t; -typedef uint16_t dns_dtmsgtype_t; -typedef struct dns_dumpctx dns_dumpctx_t; -typedef struct dns_ecs dns_ecs_t; -typedef struct dns_ednsopt dns_ednsopt_t; -typedef struct dns_fetch dns_fetch_t; -typedef struct dns_fixedname dns_fixedname_t; -typedef struct dns_forwarders dns_forwarders_t; -typedef struct dns_forwarder dns_forwarder_t; -typedef struct dns_fwdtable dns_fwdtable_t; -typedef struct dns_geoip_databases dns_geoip_databases_t; -typedef struct dns_iptable dns_iptable_t; -typedef uint32_t dns_iterations_t; -typedef struct dns_kasp dns_kasp_t; -typedef ISC_LIST(dns_kasp_t) dns_kasplist_t; -typedef struct dns_kasp_key dns_kasp_key_t; -typedef ISC_LIST(dns_kasp_key_t) dns_kasp_keylist_t; -typedef uint16_t dns_keyflags_t; -typedef struct dns_keynode dns_keynode_t; -typedef ISC_LIST(dns_keynode_t) dns_keynodelist_t; -typedef struct dns_keytable dns_keytable_t; -typedef uint16_t dns_keytag_t; -typedef struct dns_loadctx dns_loadctx_t; -typedef struct dns_loadmgr dns_loadmgr_t; -typedef struct dns_masterrawheader dns_masterrawheader_t; -typedef uint64_t dns_masterstyle_flags_t; -typedef struct dns_message dns_message_t; -typedef uint16_t dns_messageid_t; -typedef isc_region_t dns_label_t; -typedef struct dns_lookup dns_lookup_t; -typedef struct dns_name dns_name_t; -typedef ISC_LIST(dns_name_t) dns_namelist_t; -typedef struct dns_nta dns_nta_t; -typedef struct dns_ntatable dns_ntatable_t; -typedef uint16_t dns_opcode_t; -typedef unsigned char dns_offsets_t[128]; -typedef struct dns_order dns_order_t; -typedef struct dns_peer dns_peer_t; -typedef struct dns_peerlist dns_peerlist_t; -typedef struct dns_portlist dns_portlist_t; -typedef struct dns_rbt dns_rbt_t; -typedef uint16_t dns_rcode_t; -typedef struct dns_rdata dns_rdata_t; -typedef struct dns_rdatacallbacks dns_rdatacallbacks_t; -typedef uint16_t dns_rdataclass_t; -typedef struct dns_rdatalist dns_rdatalist_t; -typedef struct dns_rdataset dns_rdataset_t; -typedef ISC_LIST(dns_rdataset_t) dns_rdatasetlist_t; -typedef struct dns_rdatasetiter dns_rdatasetiter_t; -typedef uint16_t dns_rdatatype_t; -typedef struct dns_request dns_request_t; -typedef struct dns_requestmgr dns_requestmgr_t; -typedef struct dns_resolver dns_resolver_t; -typedef struct dns_sdbimplementation dns_sdbimplementation_t; -typedef uint8_t dns_secalg_t; -typedef uint8_t dns_secproto_t; -typedef struct dns_signature dns_signature_t; -typedef struct dns_sortlist_arg dns_sortlist_arg_t; -typedef struct dns_ssurule dns_ssurule_t; -typedef struct dns_ssutable dns_ssutable_t; -typedef struct dns_stats dns_stats_t; -typedef uint32_t dns_rdatastatstype_t; -typedef struct dns_tkeyctx dns_tkeyctx_t; -typedef uint16_t dns_trust_t; -typedef struct dns_tsec dns_tsec_t; -typedef struct dns_tsig_keyring dns_tsig_keyring_t; -typedef struct dns_tsigkey dns_tsigkey_t; -typedef uint32_t dns_ttl_t; -typedef struct dns_update_state dns_update_state_t; -typedef struct dns_validator dns_validator_t; -typedef struct dns_view dns_view_t; -typedef ISC_LIST(dns_view_t) dns_viewlist_t; -typedef struct dns_zone dns_zone_t; -typedef ISC_LIST(dns_zone_t) dns_zonelist_t; -typedef struct dns_zonemgr dns_zonemgr_t; -typedef struct dns_zt dns_zt_t; -typedef struct dns_ipkeylist dns_ipkeylist_t; +typedef struct dns_acl dns_acl_t; +typedef struct dns_aclelement dns_aclelement_t; +typedef struct dns_aclenv dns_aclenv_t; +typedef struct dns_adb dns_adb_t; +typedef struct dns_adbaddrinfo dns_adbaddrinfo_t; +typedef ISC_LIST(dns_adbaddrinfo_t) dns_adbaddrinfolist_t; +typedef struct dns_adbentry dns_adbentry_t; +typedef struct dns_adbfind dns_adbfind_t; +typedef ISC_LIST(dns_adbfind_t) dns_adbfindlist_t; +typedef struct dns_badcache dns_badcache_t; +typedef struct dns_byaddr dns_byaddr_t; +typedef struct dns_catz_zonemodmethods dns_catz_zonemodmethods_t; +typedef struct dns_catz_entry_options dns_catz_options_t; +typedef struct dns_catz_entry dns_catz_entry_t; +typedef struct dns_catz_zone dns_catz_zone_t; +typedef struct dns_catz_changed dns_catz_changed_t; +typedef struct dns_catz_zones dns_catz_zones_t; +typedef struct dns_client dns_client_t; +typedef void dns_clientrestrans_t; +typedef void dns_clientreqtrans_t; +typedef void dns_clientupdatetrans_t; +typedef struct dns_cache dns_cache_t; +typedef uint16_t dns_cert_t; +typedef struct dns_compress dns_compress_t; +typedef struct dns_db dns_db_t; +typedef struct dns_dbimplementation dns_dbimplementation_t; +typedef struct dns_dbiterator dns_dbiterator_t; +typedef void dns_dbload_t; +typedef void dns_dbnode_t; +typedef struct dns_dbonupdatelistener dns_dbonupdatelistener_t; +typedef struct dns_dbtable dns_dbtable_t; +typedef void dns_dbversion_t; +typedef struct dns_dlzimplementation dns_dlzimplementation_t; +typedef struct dns_dlzdb dns_dlzdb_t; +typedef ISC_LIST(dns_dlzdb_t) dns_dlzdblist_t; +typedef struct dns_dyndbctx dns_dyndbctx_t; +typedef struct dns_sdlzimplementation dns_sdlzimplementation_t; +typedef struct dns_decompress dns_decompress_t; +typedef struct dns_dispatch dns_dispatch_t; +typedef struct dns_dispatchevent dns_dispatchevent_t; +typedef struct dns_dispatchlist dns_dispatchlist_t; +typedef struct dns_dispatchset dns_dispatchset_t; +typedef struct dns_dispatchmgr dns_dispatchmgr_t; +typedef struct dns_dispentry dns_dispentry_t; +typedef struct dns_dns64 dns_dns64_t; +typedef ISC_LIST(dns_dns64_t) dns_dns64list_t; +typedef struct dns_dnsseckey dns_dnsseckey_t; +typedef ISC_LIST(dns_dnsseckey_t) dns_dnsseckeylist_t; +typedef uint8_t dns_dsdigest_t; +typedef struct dns_dtdata dns_dtdata_t; +typedef struct dns_dtenv dns_dtenv_t; +typedef struct dns_dtmsg dns_dtmsg_t; +typedef uint16_t dns_dtmsgtype_t; +typedef struct dns_dumpctx dns_dumpctx_t; +typedef struct dns_ecs dns_ecs_t; +typedef struct dns_ednsopt dns_ednsopt_t; +typedef struct dns_fetch dns_fetch_t; +typedef struct dns_fixedname dns_fixedname_t; +typedef struct dns_forwarders dns_forwarders_t; +typedef struct dns_forwarder dns_forwarder_t; +typedef struct dns_fwdtable dns_fwdtable_t; +typedef struct dns_geoip_databases dns_geoip_databases_t; +typedef struct dns_iptable dns_iptable_t; +typedef uint32_t dns_iterations_t; +typedef struct dns_kasp dns_kasp_t; +typedef ISC_LIST(dns_kasp_t) dns_kasplist_t; +typedef struct dns_kasp_key dns_kasp_key_t; +typedef ISC_LIST(dns_kasp_key_t) dns_kasp_keylist_t; +typedef uint16_t dns_keyflags_t; +typedef struct dns_keynode dns_keynode_t; +typedef ISC_LIST(dns_keynode_t) dns_keynodelist_t; +typedef struct dns_keytable dns_keytable_t; +typedef uint16_t dns_keytag_t; +typedef struct dns_loadctx dns_loadctx_t; +typedef struct dns_loadmgr dns_loadmgr_t; +typedef struct dns_masterrawheader dns_masterrawheader_t; +typedef uint64_t dns_masterstyle_flags_t; +typedef struct dns_message dns_message_t; +typedef uint16_t dns_messageid_t; +typedef isc_region_t dns_label_t; +typedef struct dns_lookup dns_lookup_t; +typedef struct dns_name dns_name_t; +typedef ISC_LIST(dns_name_t) dns_namelist_t; +typedef struct dns_nta dns_nta_t; +typedef struct dns_ntatable dns_ntatable_t; +typedef uint16_t dns_opcode_t; +typedef unsigned char dns_offsets_t[128]; +typedef struct dns_order dns_order_t; +typedef struct dns_peer dns_peer_t; +typedef struct dns_peerlist dns_peerlist_t; +typedef struct dns_portlist dns_portlist_t; +typedef struct dns_rbt dns_rbt_t; +typedef uint16_t dns_rcode_t; +typedef struct dns_rdata dns_rdata_t; +typedef struct dns_rdatacallbacks dns_rdatacallbacks_t; +typedef uint16_t dns_rdataclass_t; +typedef struct dns_rdatalist dns_rdatalist_t; +typedef struct dns_rdataset dns_rdataset_t; +typedef ISC_LIST(dns_rdataset_t) dns_rdatasetlist_t; +typedef struct dns_rdatasetiter dns_rdatasetiter_t; +typedef uint16_t dns_rdatatype_t; +typedef struct dns_request dns_request_t; +typedef struct dns_requestmgr dns_requestmgr_t; +typedef struct dns_resolver dns_resolver_t; +typedef struct dns_sdbimplementation dns_sdbimplementation_t; +typedef uint8_t dns_secalg_t; +typedef uint8_t dns_secproto_t; +typedef struct dns_signature dns_signature_t; +typedef struct dns_sortlist_arg dns_sortlist_arg_t; +typedef struct dns_ssurule dns_ssurule_t; +typedef struct dns_ssutable dns_ssutable_t; +typedef struct dns_stats dns_stats_t; +typedef uint32_t dns_rdatastatstype_t; +typedef struct dns_tkeyctx dns_tkeyctx_t; +typedef uint16_t dns_trust_t; +typedef struct dns_tsec dns_tsec_t; +typedef struct dns_tsig_keyring dns_tsig_keyring_t; +typedef struct dns_tsigkey dns_tsigkey_t; +typedef uint32_t dns_ttl_t; +typedef struct dns_update_state dns_update_state_t; +typedef struct dns_validator dns_validator_t; +typedef struct dns_view dns_view_t; +typedef ISC_LIST(dns_view_t) dns_viewlist_t; +typedef struct dns_zone dns_zone_t; +typedef ISC_LIST(dns_zone_t) dns_zonelist_t; +typedef struct dns_zonemgr dns_zonemgr_t; +typedef struct dns_zt dns_zt_t; +typedef struct dns_ipkeylist dns_ipkeylist_t; /* * If we are not using GSSAPI, define the types we use as opaque types here. */ #ifndef GSSAPI typedef struct not_defined_gss_cred_id *gss_cred_id_t; -typedef struct not_defined_gss_ctx *gss_ctx_id_t; +typedef struct not_defined_gss_ctx * gss_ctx_id_t; #endif typedef struct dst_gssapi_signverifyctx dst_gssapi_signverifyctx_t; -typedef enum { - dns_hash_sha1 = 1 -} dns_hash_t; +typedef enum { dns_hash_sha1 = 1 } dns_hash_t; typedef enum { dns_fwdpolicy_none = 0, @@ -183,12 +181,12 @@ typedef enum { dns_namereln_commonancestor = 4 } dns_namereln_t; -typedef enum { - dns_one_answer, dns_many_answers -} dns_transfer_format_t; +typedef enum { dns_one_answer, dns_many_answers } dns_transfer_format_t; typedef enum { - dns_dbtype_zone = 0, dns_dbtype_cache = 1, dns_dbtype_stub = 3 + dns_dbtype_zone = 0, + dns_dbtype_cache = 1, + dns_dbtype_stub = 3 } dns_dbtype_t; typedef enum { @@ -217,15 +215,15 @@ typedef enum { typedef enum { dns_masterformat_none = 0, dns_masterformat_text = 1, - dns_masterformat_raw = 2, + dns_masterformat_raw = 2, dns_masterformat_map = 3 } dns_masterformat_t; /* * These are generated by gen.c. */ -#include /* Provides dns_rdatatype_t. */ -#include /* Provides dns_rdataclass_t. */ +#include /* Provides dns_rdataclass_t. */ +#include /* Provides dns_rdatatype_t. */ /*% * rcodes. @@ -235,34 +233,34 @@ enum { * Standard rcodes. */ dns_rcode_noerror = 0, -#define dns_rcode_noerror ((dns_rcode_t)dns_rcode_noerror) +#define dns_rcode_noerror ((dns_rcode_t)dns_rcode_noerror) dns_rcode_formerr = 1, -#define dns_rcode_formerr ((dns_rcode_t)dns_rcode_formerr) +#define dns_rcode_formerr ((dns_rcode_t)dns_rcode_formerr) dns_rcode_servfail = 2, -#define dns_rcode_servfail ((dns_rcode_t)dns_rcode_servfail) +#define dns_rcode_servfail ((dns_rcode_t)dns_rcode_servfail) dns_rcode_nxdomain = 3, -#define dns_rcode_nxdomain ((dns_rcode_t)dns_rcode_nxdomain) +#define dns_rcode_nxdomain ((dns_rcode_t)dns_rcode_nxdomain) dns_rcode_notimp = 4, -#define dns_rcode_notimp ((dns_rcode_t)dns_rcode_notimp) +#define dns_rcode_notimp ((dns_rcode_t)dns_rcode_notimp) dns_rcode_refused = 5, -#define dns_rcode_refused ((dns_rcode_t)dns_rcode_refused) +#define dns_rcode_refused ((dns_rcode_t)dns_rcode_refused) dns_rcode_yxdomain = 6, -#define dns_rcode_yxdomain ((dns_rcode_t)dns_rcode_yxdomain) +#define dns_rcode_yxdomain ((dns_rcode_t)dns_rcode_yxdomain) dns_rcode_yxrrset = 7, -#define dns_rcode_yxrrset ((dns_rcode_t)dns_rcode_yxrrset) +#define dns_rcode_yxrrset ((dns_rcode_t)dns_rcode_yxrrset) dns_rcode_nxrrset = 8, -#define dns_rcode_nxrrset ((dns_rcode_t)dns_rcode_nxrrset) +#define dns_rcode_nxrrset ((dns_rcode_t)dns_rcode_nxrrset) dns_rcode_notauth = 9, -#define dns_rcode_notauth ((dns_rcode_t)dns_rcode_notauth) +#define dns_rcode_notauth ((dns_rcode_t)dns_rcode_notauth) dns_rcode_notzone = 10, -#define dns_rcode_notzone ((dns_rcode_t)dns_rcode_notzone) +#define dns_rcode_notzone ((dns_rcode_t)dns_rcode_notzone) /* * Extended rcodes. */ dns_rcode_badvers = 16, -#define dns_rcode_badvers ((dns_rcode_t)dns_rcode_badvers) +#define dns_rcode_badvers ((dns_rcode_t)dns_rcode_badvers) dns_rcode_badcookie = 23 -#define dns_rcode_badcookie ((dns_rcode_t)dns_rcode_badcookie) +#define dns_rcode_badcookie ((dns_rcode_t)dns_rcode_badcookie) /* * Update dns_rcodestats_create() and dns_rcodestats_increment() * and this comment if a rcode > dns_rcode_badcookie is assigned. @@ -273,30 +271,27 @@ enum { /*% * TSIG errors. */ -enum { - dns_tsigerror_badsig = 16, - dns_tsigerror_badkey = 17, - dns_tsigerror_badtime = 18, - dns_tsigerror_badmode = 19, - dns_tsigerror_badname = 20, - dns_tsigerror_badalg = 21, - dns_tsigerror_badtrunc = 22 -}; +enum { dns_tsigerror_badsig = 16, + dns_tsigerror_badkey = 17, + dns_tsigerror_badtime = 18, + dns_tsigerror_badmode = 19, + dns_tsigerror_badname = 20, + dns_tsigerror_badalg = 21, + dns_tsigerror_badtrunc = 22 }; /*% * Opcodes. */ -enum { - dns_opcode_query = 0, -#define dns_opcode_query ((dns_opcode_t)dns_opcode_query) - dns_opcode_iquery = 1, -#define dns_opcode_iquery ((dns_opcode_t)dns_opcode_iquery) - dns_opcode_status = 2, -#define dns_opcode_status ((dns_opcode_t)dns_opcode_status) - dns_opcode_notify = 4, -#define dns_opcode_notify ((dns_opcode_t)dns_opcode_notify) - dns_opcode_update = 5 /* dynamic update */ -#define dns_opcode_update ((dns_opcode_t)dns_opcode_update) +enum { dns_opcode_query = 0, +#define dns_opcode_query ((dns_opcode_t)dns_opcode_query) + dns_opcode_iquery = 1, +#define dns_opcode_iquery ((dns_opcode_t)dns_opcode_iquery) + dns_opcode_status = 2, +#define dns_opcode_status ((dns_opcode_t)dns_opcode_status) + dns_opcode_notify = 4, +#define dns_opcode_notify ((dns_opcode_t)dns_opcode_notify) + dns_opcode_update = 5 /* dynamic update */ +#define dns_opcode_update ((dns_opcode_t)dns_opcode_update) }; /*% @@ -305,56 +300,54 @@ enum { enum { /* Sentinel value; no data should have this trust level. */ dns_trust_none = 0, -#define dns_trust_none ((dns_trust_t)dns_trust_none) +#define dns_trust_none ((dns_trust_t)dns_trust_none) /*% * Subject to DNSSEC validation but has not yet been validated * dns_trust_pending_additional (from the additional section). */ dns_trust_pending_additional = 1, -#define dns_trust_pending_additional \ - ((dns_trust_t)dns_trust_pending_additional) +#define dns_trust_pending_additional ((dns_trust_t)dns_trust_pending_additional) dns_trust_pending_answer = 2, -#define dns_trust_pending_answer ((dns_trust_t)dns_trust_pending_answer) +#define dns_trust_pending_answer ((dns_trust_t)dns_trust_pending_answer) /*% Received in the additional section of a response. */ dns_trust_additional = 3, -#define dns_trust_additional ((dns_trust_t)dns_trust_additional) +#define dns_trust_additional ((dns_trust_t)dns_trust_additional) /* Received in a referral response. */ dns_trust_glue = 4, -#define dns_trust_glue ((dns_trust_t)dns_trust_glue) +#define dns_trust_glue ((dns_trust_t)dns_trust_glue) /* Answer from a non-authoritative server */ dns_trust_answer = 5, -#define dns_trust_answer ((dns_trust_t)dns_trust_answer) +#define dns_trust_answer ((dns_trust_t)dns_trust_answer) /* Received in the authority section as part of an authoritative response */ dns_trust_authauthority = 6, -#define dns_trust_authauthority ((dns_trust_t)dns_trust_authauthority) +#define dns_trust_authauthority ((dns_trust_t)dns_trust_authauthority) /* Answer from an authoritative server */ dns_trust_authanswer = 7, -#define dns_trust_authanswer ((dns_trust_t)dns_trust_authanswer) +#define dns_trust_authanswer ((dns_trust_t)dns_trust_authanswer) /* Successfully DNSSEC validated */ dns_trust_secure = 8, -#define dns_trust_secure ((dns_trust_t)dns_trust_secure) +#define dns_trust_secure ((dns_trust_t)dns_trust_secure) /* This server is authoritative */ dns_trust_ultimate = 9 -#define dns_trust_ultimate ((dns_trust_t)dns_trust_ultimate) +#define dns_trust_ultimate ((dns_trust_t)dns_trust_ultimate) }; -#define DNS_TRUST_PENDING(x) ((x) == dns_trust_pending_answer || \ - (x) == dns_trust_pending_additional) -#define DNS_TRUST_ADDITIONAL(x) ((x) == dns_trust_additional || \ - (x) == dns_trust_pending_additional) -#define DNS_TRUST_GLUE(x) ((x) == dns_trust_glue) -#define DNS_TRUST_ANSWER(x) ((x) == dns_trust_answer) - +#define DNS_TRUST_PENDING(x) \ + ((x) == dns_trust_pending_answer || (x) == dns_trust_pending_additional) +#define DNS_TRUST_ADDITIONAL(x) \ + ((x) == dns_trust_additional || (x) == dns_trust_pending_additional) +#define DNS_TRUST_GLUE(x) ((x) == dns_trust_glue) +#define DNS_TRUST_ANSWER(x) ((x) == dns_trust_answer) /*% * Name checking severities. @@ -396,51 +389,42 @@ typedef struct { /* * Functions. */ -typedef void -(*dns_dumpdonefunc_t)(void *, isc_result_t); +typedef void (*dns_dumpdonefunc_t)(void *, isc_result_t); -typedef void -(*dns_loaddonefunc_t)(void *, isc_result_t); +typedef void (*dns_loaddonefunc_t)(void *, isc_result_t); -typedef void -(*dns_rawdatafunc_t)(dns_zone_t *, dns_masterrawheader_t *); +typedef void (*dns_rawdatafunc_t)(dns_zone_t *, dns_masterrawheader_t *); -typedef isc_result_t -(*dns_addrdatasetfunc_t)(void *, const dns_name_t *, dns_rdataset_t *); +typedef isc_result_t (*dns_addrdatasetfunc_t)(void *, const dns_name_t *, + dns_rdataset_t *); -typedef isc_result_t -(*dns_additionaldatafunc_t)(void *, const dns_name_t *, dns_rdatatype_t); +typedef isc_result_t (*dns_additionaldatafunc_t)(void *, const dns_name_t *, + dns_rdatatype_t); -typedef isc_result_t -(*dns_digestfunc_t)(void *, isc_region_t *); +typedef isc_result_t (*dns_digestfunc_t)(void *, isc_region_t *); -typedef void -(*dns_xfrindone_t)(dns_zone_t *, isc_result_t); +typedef void (*dns_xfrindone_t)(dns_zone_t *, isc_result_t); -typedef void -(*dns_updatecallback_t)(void *, isc_result_t, dns_message_t *); +typedef void (*dns_updatecallback_t)(void *, isc_result_t, dns_message_t *); -typedef int -(*dns_rdatasetorderfunc_t)(const dns_rdata_t *, const void *); +typedef int (*dns_rdatasetorderfunc_t)(const dns_rdata_t *, const void *); -typedef bool -(*dns_checkmxfunc_t)(dns_zone_t *, const dns_name_t *, const dns_name_t *); +typedef bool (*dns_checkmxfunc_t)(dns_zone_t *, const dns_name_t *, + const dns_name_t *); -typedef bool -(*dns_checksrvfunc_t)(dns_zone_t *, const dns_name_t *, const dns_name_t *); +typedef bool (*dns_checksrvfunc_t)(dns_zone_t *, const dns_name_t *, + const dns_name_t *); -typedef bool -(*dns_checknsfunc_t)(dns_zone_t *, const dns_name_t *, const dns_name_t *, - dns_rdataset_t *, dns_rdataset_t *); +typedef bool (*dns_checknsfunc_t)(dns_zone_t *, const dns_name_t *, + const dns_name_t *, dns_rdataset_t *, + dns_rdataset_t *); -typedef bool -(*dns_isselffunc_t)(dns_view_t *, dns_tsigkey_t *, const isc_sockaddr_t *, - const isc_sockaddr_t *, dns_rdataclass_t, void *); +typedef bool (*dns_isselffunc_t)(dns_view_t *, dns_tsigkey_t *, + const isc_sockaddr_t *, const isc_sockaddr_t *, + dns_rdataclass_t, void *); -typedef isc_result_t -(*dns_deserializefunc_t)(void *, FILE *, off_t); +typedef isc_result_t (*dns_deserializefunc_t)(void *, FILE *, off_t); -typedef void -(*dns_nseclog_t)(void *val, int , const char *, ...); +typedef void (*dns_nseclog_t)(void *val, int, const char *, ...); #endif /* DNS_TYPES_H */ diff --git a/lib/dns/include/dns/update.h b/lib/dns/include/dns/update.h index 6700c8f2d1..40399907f8 100644 --- a/lib/dns/include/dns/update.h +++ b/lib/dns/include/dns/update.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_UPDATE_H #define DNS_UPDATE_H 1 @@ -23,8 +22,8 @@ #include -#include #include +#include typedef struct { void (*func)(void *arg, dns_zone_t *zone, int level, diff --git a/lib/dns/include/dns/validator.h b/lib/dns/include/dns/validator.h index fd1e490649..78b0029866 100644 --- a/lib/dns/include/dns/validator.h +++ b/lib/dns/include/dns/validator.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_VALIDATOR_H #define DNS_VALIDATOR_H 1 @@ -48,14 +47,14 @@ #include -#include #include +#include #include #include -#include #include #include /* for dns_rdata_rrsig_t */ +#include #include @@ -72,35 +71,35 @@ */ typedef struct dns_validatorevent { ISC_EVENT_COMMON(struct dns_validatorevent); - dns_validator_t * validator; - isc_result_t result; + dns_validator_t *validator; + isc_result_t result; /* * Name and type of the response to be validated. */ - dns_name_t * name; - dns_rdatatype_t type; + dns_name_t * name; + dns_rdatatype_t type; /* * Rdata and RRSIG (if any) for positive responses. */ - dns_rdataset_t * rdataset; - dns_rdataset_t * sigrdataset; + dns_rdataset_t *rdataset; + dns_rdataset_t *sigrdataset; /* * The full response. Required for negative responses. * Also required for positive wildcard responses. */ - dns_message_t * message; + dns_message_t *message; /* * Proofs to be cached. */ - dns_name_t * proofs[4]; + dns_name_t *proofs[4]; /* * Optout proof seen. */ - bool optout; + bool optout; /* * Answer is secure. */ - bool secure; + bool secure; } dns_validatorevent_t; #define DNS_VALIDATOR_NOQNAMEPROOF 0 @@ -117,47 +116,47 @@ typedef struct dns_validatorevent { */ struct dns_validator { /* Unlocked. */ - unsigned int magic; - isc_mutex_t lock; - dns_view_t * view; + unsigned int magic; + isc_mutex_t lock; + dns_view_t * view; /* Locked by lock. */ - unsigned int options; - unsigned int attributes; - dns_validatorevent_t * event; - dns_fetch_t * fetch; - dns_validator_t * subvalidator; - dns_validator_t * parent; - dns_keytable_t * keytable; - dns_keynode_t * keynode; - dst_key_t * key; - dns_rdata_rrsig_t * siginfo; - isc_task_t * task; - isc_taskaction_t action; - void * arg; - unsigned int labels; - dns_rdataset_t * currentset; - dns_rdataset_t * keyset; - dns_rdataset_t * dsset; - dns_rdataset_t frdataset; - dns_rdataset_t fsigrdataset; - dns_fixedname_t fname; - dns_fixedname_t wild; - dns_fixedname_t closest; - ISC_LINK(dns_validator_t) link; - bool mustbesecure; - unsigned int depth; - unsigned int authcount; - unsigned int authfail; - isc_stdtime_t start; + unsigned int options; + unsigned int attributes; + dns_validatorevent_t *event; + dns_fetch_t * fetch; + dns_validator_t * subvalidator; + dns_validator_t * parent; + dns_keytable_t * keytable; + dns_keynode_t * keynode; + dst_key_t * key; + dns_rdata_rrsig_t * siginfo; + isc_task_t * task; + isc_taskaction_t action; + void * arg; + unsigned int labels; + dns_rdataset_t * currentset; + dns_rdataset_t * keyset; + dns_rdataset_t * dsset; + dns_rdataset_t frdataset; + dns_rdataset_t fsigrdataset; + dns_fixedname_t fname; + dns_fixedname_t wild; + dns_fixedname_t closest; + ISC_LINK(dns_validator_t) link; + bool mustbesecure; + unsigned int depth; + unsigned int authcount; + unsigned int authfail; + isc_stdtime_t start; }; /*% * dns_validator_create() options. */ /* obsolete: #define DNS_VALIDATOR_DLV 0x0001U */ -#define DNS_VALIDATOR_DEFER 0x0002U -#define DNS_VALIDATOR_NOCDFLAG 0x0004U -#define DNS_VALIDATOR_NONTA 0x0008U /*% Ignore NTA table */ +#define DNS_VALIDATOR_DEFER 0x0002U +#define DNS_VALIDATOR_NOCDFLAG 0x0004U +#define DNS_VALIDATOR_NONTA 0x0008U /*% Ignore NTA table */ ISC_LANG_BEGINDECLS diff --git a/lib/dns/include/dns/view.h b/lib/dns/include/dns/view.h index c681d2bac1..dc7175dec0 100644 --- a/lib/dns/include/dns/view.h +++ b/lib/dns/include/dns/view.h @@ -52,13 +52,13 @@ *\li None. */ +#include #include #include -#include +#include #include #include -#include #include #include #include @@ -70,9 +70,9 @@ #include #include #include -#include #include #include +#include #include #include @@ -80,134 +80,134 @@ ISC_LANG_BEGINDECLS struct dns_view { /* Unlocked. */ - unsigned int magic; - isc_mem_t * mctx; - dns_rdataclass_t rdclass; - char * name; - dns_zt_t * zonetable; - dns_resolver_t * resolver; - dns_adb_t * adb; - dns_requestmgr_t * requestmgr; - dns_cache_t * cache; - dns_db_t * cachedb; - dns_db_t * hints; + unsigned int magic; + isc_mem_t * mctx; + dns_rdataclass_t rdclass; + char * name; + dns_zt_t * zonetable; + dns_resolver_t * resolver; + dns_adb_t * adb; + dns_requestmgr_t *requestmgr; + dns_cache_t * cache; + dns_db_t * cachedb; + dns_db_t * hints; /* * security roots and negative trust anchors. * internal use only; access via * dns_view_getsecroots() */ - dns_keytable_t * secroots_priv; - dns_ntatable_t * ntatable_priv; + dns_keytable_t *secroots_priv; + dns_ntatable_t *ntatable_priv; - isc_mutex_t lock; - bool frozen; - isc_task_t * task; - isc_event_t resevent; - isc_event_t adbevent; - isc_event_t reqevent; - isc_stats_t * adbstats; - isc_stats_t * resstats; - dns_stats_t * resquerystats; - bool cacheshared; + isc_mutex_t lock; + bool frozen; + isc_task_t * task; + isc_event_t resevent; + isc_event_t adbevent; + isc_event_t reqevent; + isc_stats_t *adbstats; + isc_stats_t *resstats; + dns_stats_t *resquerystats; + bool cacheshared; /* Configurable data. */ - dns_tsig_keyring_t * statickeys; - dns_tsig_keyring_t * dynamickeys; - dns_peerlist_t * peers; - dns_order_t * order; - dns_fwdtable_t * fwdtable; - bool recursion; - bool qminimization; - bool qmin_strict; - bool auth_nxdomain; - bool use_glue_cache; - bool minimal_any; - dns_minimaltype_t minimalresponses; - bool enablevalidation; - bool acceptexpired; - bool requireservercookie; - bool synthfromdnssec; - bool trust_anchor_telemetry; - bool root_key_sentinel; - dns_transfer_format_t transfer_format; - dns_acl_t * cacheacl; - dns_acl_t * cacheonacl; - dns_acl_t * queryacl; - dns_acl_t * queryonacl; - dns_acl_t * recursionacl; - dns_acl_t * recursiononacl; - dns_acl_t * sortlist; - dns_acl_t * notifyacl; - dns_acl_t * transferacl; - dns_acl_t * updateacl; - dns_acl_t * upfwdacl; - dns_acl_t * denyansweracl; - dns_acl_t * nocasecompress; - bool msgcompression; - dns_rbt_t * answeracl_exclude; - dns_rbt_t * denyanswernames; - dns_rbt_t * answernames_exclude; - dns_rrl_t * rrl; - bool provideixfr; - bool requestnsid; - bool sendcookie; - dns_ttl_t maxcachettl; - dns_ttl_t maxncachettl; - dns_ttl_t mincachettl; - dns_ttl_t minncachettl; - uint32_t nta_lifetime; - uint32_t nta_recheck; - char *nta_file; - dns_ttl_t prefetch_trigger; - dns_ttl_t prefetch_eligible; - in_port_t dstport; - dns_aclenv_t aclenv; - dns_rdatatype_t preferred_glue; - bool flush; - dns_namelist_t * delonly; - bool rootdelonly; - dns_namelist_t * rootexclude; - bool checknames; - uint16_t maxudp; - dns_ttl_t staleanswerttl; - dns_stale_answer_t staleanswersok; /* rndc setting */ - bool staleanswersenable; /* named.conf setting */ - uint16_t nocookieudp; - uint16_t padding; - dns_acl_t * pad_acl; - unsigned int maxbits; - dns_dns64list_t dns64; - unsigned int dns64cnt; - dns_rpz_zones_t *rpzs; - dns_catz_zones_t *catzs; - dns_dlzdblist_t dlz_searched; - dns_dlzdblist_t dlz_unsearched; - uint32_t fail_ttl; - dns_badcache_t *failcache; + dns_tsig_keyring_t * statickeys; + dns_tsig_keyring_t * dynamickeys; + dns_peerlist_t * peers; + dns_order_t * order; + dns_fwdtable_t * fwdtable; + bool recursion; + bool qminimization; + bool qmin_strict; + bool auth_nxdomain; + bool use_glue_cache; + bool minimal_any; + dns_minimaltype_t minimalresponses; + bool enablevalidation; + bool acceptexpired; + bool requireservercookie; + bool synthfromdnssec; + bool trust_anchor_telemetry; + bool root_key_sentinel; + dns_transfer_format_t transfer_format; + dns_acl_t * cacheacl; + dns_acl_t * cacheonacl; + dns_acl_t * queryacl; + dns_acl_t * queryonacl; + dns_acl_t * recursionacl; + dns_acl_t * recursiononacl; + dns_acl_t * sortlist; + dns_acl_t * notifyacl; + dns_acl_t * transferacl; + dns_acl_t * updateacl; + dns_acl_t * upfwdacl; + dns_acl_t * denyansweracl; + dns_acl_t * nocasecompress; + bool msgcompression; + dns_rbt_t * answeracl_exclude; + dns_rbt_t * denyanswernames; + dns_rbt_t * answernames_exclude; + dns_rrl_t * rrl; + bool provideixfr; + bool requestnsid; + bool sendcookie; + dns_ttl_t maxcachettl; + dns_ttl_t maxncachettl; + dns_ttl_t mincachettl; + dns_ttl_t minncachettl; + uint32_t nta_lifetime; + uint32_t nta_recheck; + char * nta_file; + dns_ttl_t prefetch_trigger; + dns_ttl_t prefetch_eligible; + in_port_t dstport; + dns_aclenv_t aclenv; + dns_rdatatype_t preferred_glue; + bool flush; + dns_namelist_t * delonly; + bool rootdelonly; + dns_namelist_t * rootexclude; + bool checknames; + uint16_t maxudp; + dns_ttl_t staleanswerttl; + dns_stale_answer_t staleanswersok; /* rndc setting */ + bool staleanswersenable; /* named.conf setting */ + uint16_t nocookieudp; + uint16_t padding; + dns_acl_t * pad_acl; + unsigned int maxbits; + dns_dns64list_t dns64; + unsigned int dns64cnt; + dns_rpz_zones_t * rpzs; + dns_catz_zones_t * catzs; + dns_dlzdblist_t dlz_searched; + dns_dlzdblist_t dlz_unsearched; + uint32_t fail_ttl; + dns_badcache_t * failcache; /* * Configurable data for server use only, * locked by server configuration lock. */ - dns_acl_t * matchclients; - dns_acl_t * matchdestinations; - bool matchrecursiveonly; + dns_acl_t *matchclients; + dns_acl_t *matchdestinations; + bool matchrecursiveonly; /* Locked by themselves. */ - isc_refcount_t references; - isc_refcount_t weakrefs; - atomic_uint_fast32_t attributes; + isc_refcount_t references; + isc_refcount_t weakrefs; + atomic_uint_fast32_t attributes; /* Under owner's locking control. */ - ISC_LINK(struct dns_view) link; - dns_viewlist_t * viewlist; + ISC_LINK(struct dns_view) link; + dns_viewlist_t *viewlist; - dns_zone_t * managed_keys; - dns_zone_t * redirect; - dns_name_t * redirectzone; /* points to - * redirectfixed - * when valid */ - dns_fixedname_t redirectfixed; + dns_zone_t *managed_keys; + dns_zone_t *redirect; + dns_name_t *redirectzone; /* points to + * redirectfixed + * when valid */ + dns_fixedname_t redirectfixed; /* * File and configuration data for zones added at runtime @@ -216,38 +216,37 @@ struct dns_view { * XXX: This should be a pointer to an opaque type that * named implements. */ - char * new_zone_dir; - char * new_zone_file; - char * new_zone_db; - void * new_zone_dbenv; - uint64_t new_zone_mapsize; - void * new_zone_config; - void (*cfg_destroy)(void **); - isc_mutex_t new_zone_lock; + char * new_zone_dir; + char * new_zone_file; + char * new_zone_db; + void * new_zone_dbenv; + uint64_t new_zone_mapsize; + void * new_zone_config; + void (*cfg_destroy)(void **); + isc_mutex_t new_zone_lock; - unsigned char secret[32]; /* Client secret */ - unsigned int v6bias; + unsigned char secret[32]; /* Client secret */ + unsigned int v6bias; - dns_dtenv_t *dtenv; /* Dnstap environment */ - dns_dtmsgtype_t dttypes; /* Dnstap message types - to log */ + dns_dtenv_t * dtenv; /* Dnstap environment */ + dns_dtmsgtype_t dttypes; /* Dnstap message types + to log */ /* Registered module instances */ - void *plugins; - void (*plugins_free)(isc_mem_t *, void **); + void *plugins; + void (*plugins_free)(isc_mem_t *, void **); /* Hook table */ - void *hooktable; /* ns_hooktable */ - void (*hooktable_free)(isc_mem_t *, void **); - + void *hooktable; /* ns_hooktable */ + void (*hooktable_free)(isc_mem_t *, void **); }; -#define DNS_VIEW_MAGIC ISC_MAGIC('V','i','e','w') -#define DNS_VIEW_VALID(view) ISC_MAGIC_VALID(view, DNS_VIEW_MAGIC) +#define DNS_VIEW_MAGIC ISC_MAGIC('V', 'i', 'e', 'w') +#define DNS_VIEW_VALID(view) ISC_MAGIC_VALID(view, DNS_VIEW_MAGIC) -#define DNS_VIEWATTR_RESSHUTDOWN 0x01 -#define DNS_VIEWATTR_ADBSHUTDOWN 0x02 -#define DNS_VIEWATTR_REQSHUTDOWN 0x04 +#define DNS_VIEWATTR_RESSHUTDOWN 0x01 +#define DNS_VIEWATTR_ADBSHUTDOWN 0x02 +#define DNS_VIEWATTR_REQSHUTDOWN 0x04 #ifdef HAVE_LMDB #include @@ -256,21 +255,21 @@ struct dns_view { * to the way LMDB's use of thread-local storage (TLS) interacts with the BIND9 * thread model. */ -#define DNS_LMDB_COMMON_FLAGS (MDB_CREATE | MDB_NOSUBDIR | MDB_NOTLS) +#define DNS_LMDB_COMMON_FLAGS (MDB_CREATE | MDB_NOSUBDIR | MDB_NOTLS) #ifndef __OpenBSD__ -#define DNS_LMDB_FLAGS (DNS_LMDB_COMMON_FLAGS) +#define DNS_LMDB_FLAGS (DNS_LMDB_COMMON_FLAGS) #else /* __OpenBSD__ */ /* * OpenBSD does not have a unified buffer cache, which requires both reads and * writes to be performed using mmap(). */ -#define DNS_LMDB_FLAGS (DNS_LMDB_COMMON_FLAGS | MDB_WRITEMAP) +#define DNS_LMDB_FLAGS (DNS_LMDB_COMMON_FLAGS | MDB_WRITEMAP) #endif /* __OpenBSD__ */ #endif /* HAVE_LMDB */ isc_result_t -dns_view_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, - const char *name, dns_view_t **viewp); +dns_view_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, const char *name, + dns_view_t **viewp); /*%< * Create a view. * @@ -395,15 +394,11 @@ dns_view_createzonetable(dns_view_t *view); */ isc_result_t -dns_view_createresolver(dns_view_t *view, - isc_taskmgr_t *taskmgr, +dns_view_createresolver(dns_view_t *view, isc_taskmgr_t *taskmgr, unsigned int ntasks, unsigned int ndisp, - isc_socketmgr_t *socketmgr, - isc_timermgr_t *timermgr, - unsigned int options, - dns_dispatchmgr_t *dispatchmgr, - dns_dispatch_t *dispatchv4, - dns_dispatch_t *dispatchv6); + isc_socketmgr_t *socketmgr, isc_timermgr_t *timermgr, + unsigned int options, dns_dispatchmgr_t *dispatchmgr, + dns_dispatch_t *dispatchv4, dns_dispatch_t *dispatchv6); /*%< * Create a resolver and address database for the view. * @@ -511,7 +506,6 @@ dns_view_setdstport(dns_view_t *view, in_port_t dstport); * times out from the view's address database. */ - isc_result_t dns_view_addzone(dns_view_t *view, dns_zone_t *zone); /*%< @@ -556,10 +550,10 @@ dns_view_thaw(dns_view_t *view); isc_result_t dns_view_find(dns_view_t *view, const dns_name_t *name, dns_rdatatype_t type, - isc_stdtime_t now, unsigned int options, - bool use_hints, bool use_static_stub, - dns_db_t **dbp, dns_dbnode_t **nodep, dns_name_t *foundname, - dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset); + isc_stdtime_t now, unsigned int options, bool use_hints, + bool use_static_stub, dns_db_t **dbp, dns_dbnode_t **nodep, + dns_name_t *foundname, dns_rdataset_t *rdataset, + dns_rdataset_t *sigrdataset); /*%< * Find an rdataset whose owner name is 'name', and whose type is * 'type'. @@ -709,8 +703,7 @@ dns_view_simplefind(dns_view_t *view, const dns_name_t *name, isc_result_t dns_view_findzonecut(dns_view_t *view, const dns_name_t *name, dns_name_t *fname, dns_name_t *dcname, isc_stdtime_t now, - unsigned int options, - bool use_hints, bool use_cache, + unsigned int options, bool use_hints, bool use_cache, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset); /*%< * Find the best known zonecut containing 'name'. @@ -786,8 +779,7 @@ dns_viewlist_findzone(dns_viewlist_t *list, const dns_name_t *name, */ isc_result_t -dns_view_findzone(dns_view_t *view, const dns_name_t *name, - dns_zone_t **zonep); +dns_view_findzone(dns_view_t *view, const dns_name_t *name, dns_zone_t **zonep); /*%< * Search for the zone 'name' in the zone table of 'view'. * If found, 'zonep' is (strongly) attached to it. There @@ -923,8 +915,7 @@ dns_view_flushcache(dns_view_t *view, bool fixuponly); */ isc_result_t -dns_view_flushnode(dns_view_t *view, const dns_name_t *name, - bool tree); +dns_view_flushnode(dns_view_t *view, const dns_name_t *name, bool tree); /*%< * Flush the given name from the view's cache (and optionally ADB/badcache). * @@ -1117,8 +1108,8 @@ dns_view_iscacheshared(dns_view_t *view); */ isc_result_t -dns_view_initntatable(dns_view_t *view, - isc_taskmgr_t *taskmgr, isc_timermgr_t *timermgr); +dns_view_initntatable(dns_view_t *view, isc_taskmgr_t *taskmgr, + isc_timermgr_t *timermgr); /*%< * Initialize the negative trust anchor table for the view. * @@ -1206,8 +1197,8 @@ dns_view_issecuredomain(dns_view_t *view, const dns_name_t *name, */ bool -dns_view_ntacovers(dns_view_t *view, isc_stdtime_t now, - const dns_name_t *name, const dns_name_t *anchor); +dns_view_ntacovers(dns_view_t *view, isc_stdtime_t now, const dns_name_t *name, + const dns_name_t *anchor); /*%< * Is there a current negative trust anchor above 'name' and below 'anchor'? * @@ -1281,10 +1272,8 @@ dns_view_restorekeyring(dns_view_t *view); isc_result_t dns_view_searchdlz(dns_view_t *view, const dns_name_t *name, - unsigned int minlabels, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo, - dns_db_t **dbp); + unsigned int minlabels, dns_clientinfomethods_t *methods, + dns_clientinfo_t *clientinfo, dns_db_t **dbp); /*%< * Search through the DLZ database(s) in view->dlz_searched to find @@ -1358,7 +1347,6 @@ dns_view_setviewrevert(dns_view_t *view); *\li 'view' to be valid. */ - ISC_LANG_ENDDECLS #endif /* DNS_VIEW_H */ diff --git a/lib/dns/include/dns/xfrin.h b/lib/dns/include/dns/xfrin.h index 8b699a38c7..9c6301e372 100644 --- a/lib/dns/include/dns/xfrin.h +++ b/lib/dns/include/dns/xfrin.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_XFRIN_H #define DNS_XFRIN_H 1 @@ -48,8 +47,8 @@ ISC_LANG_BEGINDECLS isc_result_t dns_xfrin_create(dns_zone_t *zone, dns_rdatatype_t xfrtype, const isc_sockaddr_t *masteraddr, - const isc_sockaddr_t *sourceaddr, - isc_dscp_t dscp, dns_tsigkey_t *tsigkey, isc_mem_t *mctx, + const isc_sockaddr_t *sourceaddr, isc_dscp_t dscp, + dns_tsigkey_t *tsigkey, isc_mem_t *mctx, isc_timermgr_t *timermgr, isc_socketmgr_t *socketmgr, isc_task_t *task, dns_xfrindone_t done, dns_xfrin_ctx_t **xfrp); diff --git a/lib/dns/include/dns/zone.h b/lib/dns/include/dns/zone.h index a80301f917..58c7f82409 100644 --- a/lib/dns/include/dns/zone.h +++ b/lib/dns/include/dns/zone.h @@ -18,9 +18,9 @@ *** Imports ***/ +#include #include #include -#include #include #include @@ -53,76 +53,81 @@ typedef enum { } dns_zonestat_level_t; typedef enum { - DNS_ZONEOPT_MANYERRORS = 1<<0, /*%< return many errors on load */ - DNS_ZONEOPT_IXFRFROMDIFFS = 1<<1, /*%< calculate differences */ - DNS_ZONEOPT_NOMERGE = 1<<2, /*%< don't merge journal */ - DNS_ZONEOPT_CHECKNS = 1<<3, /*%< check if NS's are addresses */ - DNS_ZONEOPT_FATALNS = 1<<4, /*%< DNS_ZONEOPT_CHECKNS is fatal */ - DNS_ZONEOPT_MULTIMASTER = 1<<5, /*%< this zone has multiple masters */ - DNS_ZONEOPT_USEALTXFRSRC = 1<<6, /*%< use alternate transfer sources */ - DNS_ZONEOPT_CHECKNAMES = 1<<7, /*%< check-names */ - DNS_ZONEOPT_CHECKNAMESFAIL = 1<<8, /*%< fatal check-name failures */ - DNS_ZONEOPT_CHECKWILDCARD = 1<<9, /*%< check for internal wildcards */ - DNS_ZONEOPT_CHECKMX = 1<<10, /*%< check-mx */ - DNS_ZONEOPT_CHECKMXFAIL = 1<<11, /*%< fatal check-mx failures */ - DNS_ZONEOPT_CHECKINTEGRITY = 1<<12, /*%< perform integrity checks */ - DNS_ZONEOPT_CHECKSIBLING = 1<<13, /*%< perform sibling glue checks */ - DNS_ZONEOPT_NOCHECKNS = 1<<14, /*%< disable IN NS address checks */ - DNS_ZONEOPT_WARNMXCNAME = 1<<15, /*%< warn on MX CNAME check */ - DNS_ZONEOPT_IGNOREMXCNAME = 1<<16, /*%< ignore MX CNAME check */ - DNS_ZONEOPT_WARNSRVCNAME = 1<<17, /*%< warn on SRV CNAME check */ - DNS_ZONEOPT_IGNORESRVCNAME = 1<<18, /*%< ignore SRV CNAME check */ - DNS_ZONEOPT_UPDATECHECKKSK = 1<<19, /*%< check dnskey KSK flag */ - DNS_ZONEOPT_TRYTCPREFRESH = 1<<20, /*%< try tcp refresh on udp failure */ - DNS_ZONEOPT_NOTIFYTOSOA = 1<<21, /*%< Notify the SOA MNAME */ - DNS_ZONEOPT_NSEC3TESTZONE = 1<<22, /*%< nsec3-test-zone */ - DNS_ZONEOPT_SECURETOINSECURE = 1<<23, /*%< dnssec-secure-to-insecure */ - DNS_ZONEOPT_DNSKEYKSKONLY = 1<<24, /*%< dnssec-dnskey-kskonly */ - DNS_ZONEOPT_CHECKDUPRR = 1<<25, /*%< check-dup-records */ - DNS_ZONEOPT_CHECKDUPRRFAIL = 1<<26, /*%< fatal check-dup-records failures */ - DNS_ZONEOPT_CHECKSPF = 1<<27, /*%< check SPF records */ - DNS_ZONEOPT_CHECKTTL = 1<<28, /*%< check max-zone-ttl */ - DNS_ZONEOPT_AUTOEMPTY = 1<<29, /*%< automatic empty zone */ - DNS_ZONEOPT___MAX = UINT64_MAX, /* trick to make the ENUM 64-bit wide */ + DNS_ZONEOPT_MANYERRORS = 1 << 0, /*%< return many errors on load */ + DNS_ZONEOPT_IXFRFROMDIFFS = 1 << 1, /*%< calculate differences */ + DNS_ZONEOPT_NOMERGE = 1 << 2, /*%< don't merge journal */ + DNS_ZONEOPT_CHECKNS = 1 << 3, /*%< check if NS's are addresses */ + DNS_ZONEOPT_FATALNS = 1 << 4, /*%< DNS_ZONEOPT_CHECKNS is fatal */ + DNS_ZONEOPT_MULTIMASTER = 1 << 5, /*%< this zone has multiple masters */ + DNS_ZONEOPT_USEALTXFRSRC = 1 << 6, /*%< use alternate transfer sources + */ + DNS_ZONEOPT_CHECKNAMES = 1 << 7, /*%< check-names */ + DNS_ZONEOPT_CHECKNAMESFAIL = 1 << 8, /*%< fatal check-name failures */ + DNS_ZONEOPT_CHECKWILDCARD = 1 << 9, /*%< check for internal wildcards */ + DNS_ZONEOPT_CHECKMX = 1 << 10, /*%< check-mx */ + DNS_ZONEOPT_CHECKMXFAIL = 1 << 11, /*%< fatal check-mx failures */ + DNS_ZONEOPT_CHECKINTEGRITY = 1 << 12, /*%< perform integrity checks */ + DNS_ZONEOPT_CHECKSIBLING = 1 << 13, /*%< perform sibling glue checks */ + DNS_ZONEOPT_NOCHECKNS = 1 << 14, /*%< disable IN NS address checks */ + DNS_ZONEOPT_WARNMXCNAME = 1 << 15, /*%< warn on MX CNAME check */ + DNS_ZONEOPT_IGNOREMXCNAME = 1 << 16, /*%< ignore MX CNAME check */ + DNS_ZONEOPT_WARNSRVCNAME = 1 << 17, /*%< warn on SRV CNAME check */ + DNS_ZONEOPT_IGNORESRVCNAME = 1 << 18, /*%< ignore SRV CNAME check */ + DNS_ZONEOPT_UPDATECHECKKSK = 1 << 19, /*%< check dnskey KSK flag */ + DNS_ZONEOPT_TRYTCPREFRESH = 1 << 20, /*%< try tcp refresh on udp failure + */ + DNS_ZONEOPT_NOTIFYTOSOA = 1 << 21, /*%< Notify the SOA MNAME */ + DNS_ZONEOPT_NSEC3TESTZONE = 1 << 22, /*%< nsec3-test-zone */ + DNS_ZONEOPT_SECURETOINSECURE = 1 << 23, /*%< dnssec-secure-to-insecure + */ + DNS_ZONEOPT_DNSKEYKSKONLY = 1 << 24, /*%< dnssec-dnskey-kskonly */ + DNS_ZONEOPT_CHECKDUPRR = 1 << 25, /*%< check-dup-records */ + DNS_ZONEOPT_CHECKDUPRRFAIL = 1 << 26, /*%< fatal check-dup-records + failures */ + DNS_ZONEOPT_CHECKSPF = 1 << 27, /*%< check SPF records */ + DNS_ZONEOPT_CHECKTTL = 1 << 28, /*%< check max-zone-ttl */ + DNS_ZONEOPT_AUTOEMPTY = 1 << 29, /*%< automatic empty zone */ + DNS_ZONEOPT___MAX = UINT64_MAX, /* trick to make the ENUM 64-bit wide */ } dns_zoneopt_t; /* * Zone key maintenance options */ typedef enum { - DNS_ZONEKEY_ALLOW = 0x00000001U, /*%< fetch keys on command */ - DNS_ZONEKEY_MAINTAIN = 0x00000002U, /*%< publish/sign on schedule */ - DNS_ZONEKEY_CREATE = 0x00000004U, /*%< make keys when needed */ - DNS_ZONEKEY_FULLSIGN = 0x00000008U, /*%< roll to new keys immediately */ - DNS_ZONEKEY_NORESIGN = 0x00000010U, /*%< no automatic resigning */ - DNS_ZONEKEY___MAX = UINT64_MAX, /* trick to make the ENUM 64-bit wide */ + DNS_ZONEKEY_ALLOW = 0x00000001U, /*%< fetch keys on command */ + DNS_ZONEKEY_MAINTAIN = 0x00000002U, /*%< publish/sign on schedule */ + DNS_ZONEKEY_CREATE = 0x00000004U, /*%< make keys when needed */ + DNS_ZONEKEY_FULLSIGN = 0x00000008U, /*%< roll to new keys immediately */ + DNS_ZONEKEY_NORESIGN = 0x00000010U, /*%< no automatic resigning */ + DNS_ZONEKEY___MAX = UINT64_MAX, /* trick to make the ENUM 64-bit wide */ } dns_zonekey_t; #ifndef DNS_ZONE_MINREFRESH -#define DNS_ZONE_MINREFRESH 300 /*%< 5 minutes */ +#define DNS_ZONE_MINREFRESH 300 /*%< 5 minutes */ #endif #ifndef DNS_ZONE_MAXREFRESH -#define DNS_ZONE_MAXREFRESH 2419200 /*%< 4 weeks */ +#define DNS_ZONE_MAXREFRESH 2419200 /*%< 4 weeks */ #endif #ifndef DNS_ZONE_DEFAULTREFRESH -#define DNS_ZONE_DEFAULTREFRESH 3600 /*%< 1 hour */ +#define DNS_ZONE_DEFAULTREFRESH 3600 /*%< 1 hour */ #endif #ifndef DNS_ZONE_MINRETRY -#define DNS_ZONE_MINRETRY 300 /*%< 5 minutes */ +#define DNS_ZONE_MINRETRY 300 /*%< 5 minutes */ #endif #ifndef DNS_ZONE_MAXRETRY -#define DNS_ZONE_MAXRETRY 1209600 /*%< 2 weeks */ +#define DNS_ZONE_MAXRETRY 1209600 /*%< 2 weeks */ #endif #ifndef DNS_ZONE_DEFAULTRETRY -#define DNS_ZONE_DEFAULTRETRY 60 /*%< 1 minute, subject to - exponential backoff */ +#define DNS_ZONE_DEFAULTRETRY \ + 60 /*%< 1 minute, subject to \ + exponential backoff */ #endif -#define DNS_ZONESTATE_XFERRUNNING 1 -#define DNS_ZONESTATE_XFERDEFERRED 2 -#define DNS_ZONESTATE_SOAQUERY 3 -#define DNS_ZONESTATE_ANY 4 -#define DNS_ZONESTATE_AUTOMATIC 5 +#define DNS_ZONESTATE_XFERRUNNING 1 +#define DNS_ZONESTATE_XFERDEFERRED 2 +#define DNS_ZONESTATE_SOAQUERY 3 +#define DNS_ZONESTATE_ANY 4 +#define DNS_ZONESTATE_AUTOMATIC 5 ISC_LANG_BEGINDECLS @@ -235,7 +240,6 @@ dns_zone_setviewrevert(dns_zone_t *zone); *\li 'zone' to be a valid zone. */ - isc_result_t dns_zone_setorigin(dns_zone_t *zone, const dns_name_t *origin); /*%< @@ -260,8 +264,8 @@ dns_zone_getorigin(dns_zone_t *zone); */ isc_result_t -dns_zone_setfile(dns_zone_t *zone, const char *file, - dns_masterformat_t format, const dns_master_style_t *style); +dns_zone_setfile(dns_zone_t *zone, const char *file, dns_masterformat_t format, + const dns_master_style_t *style); /*%< * Sets the name of the master file in the format of 'format' from which * the zone loads its database to 'file'. @@ -370,8 +374,8 @@ dns_zone_loadandthaw(dns_zone_t *zone); */ isc_result_t -dns_zone_asyncload(dns_zone_t *zone, bool newonly, - dns_zt_zoneloaded_t done, void *arg); +dns_zone_asyncload(dns_zone_t *zone, bool newonly, dns_zt_zoneloaded_t done, + void *arg); /*%< * Cause the database to be loaded from its backing store asynchronously. * Other zone maintenance functions are suspended until this is complete. @@ -488,8 +492,8 @@ dns_zone_setdb(dns_zone_t *zone, dns_db_t *db); */ void -dns_zone_setdbtype(dns_zone_t *zone, - unsigned int dbargc, const char * const *dbargv); +dns_zone_setdbtype(dns_zone_t *zone, unsigned int dbargc, + const char *const *dbargv); /*%< * Sets the database type to dbargv[0] and database arguments * to subsequent dbargv elements. @@ -569,7 +573,7 @@ dns_zone_dump(dns_zone_t *zone); isc_result_t dns_zone_dumptostream(dns_zone_t *zone, FILE *fd, dns_masterformat_t format, const dns_master_style_t *style, - const uint32_t rawversion); + const uint32_t rawversion); /*%< * Write the zone to stream 'fd' in the specified 'format'. * If the 'format' is dns_masterformat_text (RFC1035), 'style' also @@ -605,10 +609,8 @@ isc_result_t dns_zone_setmasters(dns_zone_t *zone, const isc_sockaddr_t *masters, uint32_t count); isc_result_t -dns_zone_setmasterswithkeys(dns_zone_t *zone, - const isc_sockaddr_t *masters, - dns_name_t **keynames, - uint32_t count); +dns_zone_setmasterswithkeys(dns_zone_t *zone, const isc_sockaddr_t *masters, + dns_name_t **keynames, uint32_t count); /*%< * Set the list of master servers for the zone. * @@ -665,7 +667,7 @@ dns_zone_unload(dns_zone_t *zone); *\li 'zone' to be a valid zone. */ -dns_kasp_t* +dns_kasp_t * dns_zone_getkasp(dns_zone_t *zone); /*%< * Returns the current kasp. @@ -675,7 +677,7 @@ dns_zone_getkasp(dns_zone_t *zone); */ void -dns_zone_setkasp(dns_zone_t *zone, dns_kasp_t* kasp); +dns_zone_setkasp(dns_zone_t *zone, dns_kasp_t *kasp); /*%< * Set kasp for zone. If a kasp is already set, it will be detached. * @@ -684,8 +686,7 @@ dns_zone_setkasp(dns_zone_t *zone, dns_kasp_t* kasp); */ void -dns_zone_setoption(dns_zone_t *zone, dns_zoneopt_t option, - bool value); +dns_zone_setoption(dns_zone_t *zone, dns_zoneopt_t option, bool value); /*%< * Set the given options on ('value' == true) or off * ('value' == #false). @@ -765,8 +766,7 @@ dns_zone_setmaxretrytime(dns_zone_t *zone, uint32_t val); isc_result_t dns_zone_setxfrsource4(dns_zone_t *zone, const isc_sockaddr_t *xfrsource); isc_result_t -dns_zone_setaltxfrsource4(dns_zone_t *zone, - const isc_sockaddr_t *xfrsource); +dns_zone_setaltxfrsource4(dns_zone_t *zone, const isc_sockaddr_t *xfrsource); /*%< * Set the source address to be used in IPv4 zone transfers. * @@ -815,12 +815,10 @@ dns_zone_getaltxfrsource4dscp(dns_zone_t *zone); *\li 'zone' to be a valid zone. */ - isc_result_t dns_zone_setxfrsource6(dns_zone_t *zone, const isc_sockaddr_t *xfrsource); isc_result_t -dns_zone_setaltxfrsource6(dns_zone_t *zone, - const isc_sockaddr_t *xfrsource); +dns_zone_setaltxfrsource6(dns_zone_t *zone, const isc_sockaddr_t *xfrsource); /*%< * Set the source address to be used in IPv6 zone transfers. * @@ -1568,8 +1566,6 @@ dns_zone_next(dns_zone_t *zone, dns_zone_t **next); * (result ISC_R_NOMORE). */ - - isc_result_t dns_zone_first(dns_zonemgr_t *zmgr, dns_zone_t **first); /*%< @@ -1613,7 +1609,6 @@ dns_zone_getkeydirectory(dns_zone_t *zone); * Pointer to null-terminated file name, or NULL. */ - isc_result_t dns_zonemgr_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr, isc_timermgr_t *timermgr, isc_socketmgr_t *socketmgr, @@ -1652,7 +1647,6 @@ dns_zonemgr_createzone(dns_zonemgr_t *zmgr, dns_zone_t **zonep); *\li 'zonep' != NULL and '*zonep' == NULL. */ - isc_result_t dns_zonemgr_managezone(dns_zonemgr_t *zmgr, dns_zone_t *zone); /*%< @@ -2153,8 +2147,8 @@ dns_zone_getsignatures(dns_zone_t *zone); */ isc_result_t -dns_zone_signwithkey(dns_zone_t *zone, dns_secalg_t algorithm, - uint16_t keyid, bool deleteit); +dns_zone_signwithkey(dns_zone_t *zone, dns_secalg_t algorithm, uint16_t keyid, + bool deleteit); /*%< * Initiate/resume signing of the entire zone with the zone DNSKEY(s) * that match the given algorithm and keyid. @@ -2315,7 +2309,6 @@ dns_zone_setrequestexpire(dns_zone_t *zone, bool flag); * \li 'zone' to be valid. */ - bool dns_zone_getrequestixfr(dns_zone_t *zone); /*% @@ -2367,8 +2360,8 @@ dns_zone_keydone(dns_zone_t *zone, const char *data); isc_result_t dns_zone_setnsec3param(dns_zone_t *zone, uint8_t hash, uint8_t flags, - uint16_t iter, uint8_t saltlen, - unsigned char *salt, bool replace); + uint16_t iter, uint8_t saltlen, unsigned char *salt, + bool replace); /*% * Set the NSEC3 parameters for the zone. * @@ -2488,7 +2481,6 @@ dns_zone_get_parentcatz(const dns_zone_t *zone); * \li 'zone' is a valid zone object */ - void dns_zone_setstatlevel(dns_zone_t *zone, dns_zonestat_level_t level); diff --git a/lib/dns/include/dns/zonekey.h b/lib/dns/include/dns/zonekey.h index 01a0369ee5..e0d2b23778 100644 --- a/lib/dns/include/dns/zonekey.h +++ b/lib/dns/include/dns/zonekey.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_ZONEKEY_H #define DNS_ZONEKEY_H 1 diff --git a/lib/dns/include/dns/zoneverify.h b/lib/dns/include/dns/zoneverify.h index d9aca5b0a1..954c989556 100644 --- a/lib/dns/include/dns/zoneverify.h +++ b/lib/dns/include/dns/zoneverify.h @@ -15,10 +15,10 @@ #include -#include - #include +#include + ISC_LANG_BEGINDECLS /*% @@ -42,8 +42,7 @@ ISC_LANG_BEGINDECLS isc_result_t dns_zoneverify_dnssec(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin, dns_keytable_t *secroots, - isc_mem_t *mctx, bool ignore_kskflag, - bool keyset_kskonly, + isc_mem_t *mctx, bool ignore_kskflag, bool keyset_kskonly, void (*report)(const char *, ...)); ISC_LANG_ENDDECLS diff --git a/lib/dns/include/dns/zt.h b/lib/dns/include/dns/zt.h index a53ca8ab03..b6494deafd 100644 --- a/lib/dns/include/dns/zt.h +++ b/lib/dns/include/dns/zt.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_ZT_H #define DNS_ZT_H 1 @@ -21,21 +20,20 @@ #include -#define DNS_ZTFIND_NOEXACT 0x01 -#define DNS_ZTFIND_MIRROR 0x02 +#define DNS_ZTFIND_NOEXACT 0x01 +#define DNS_ZTFIND_MIRROR 0x02 ISC_LANG_BEGINDECLS -typedef isc_result_t -(*dns_zt_allloaded_t)(void *arg); +typedef isc_result_t (*dns_zt_allloaded_t)(void *arg); /*%< * Method prototype: when all pending zone loads are complete, * the zone table can inform the caller via a callback function with * this signature. */ -typedef isc_result_t -(*dns_zt_zoneloaded_t)(dns_zt_t *zt, dns_zone_t *zone, isc_task_t *task); +typedef isc_result_t (*dns_zt_zoneloaded_t)(dns_zt_t *zt, dns_zone_t *zone, + isc_task_t *task); /*%< * Method prototype: when a zone finishes loading, the zt object * can be informed via a callback function with this signature. diff --git a/lib/dns/include/dst/dst.h b/lib/dns/include/dst/dst.h index 44e60e6b12..0118d11aee 100644 --- a/lib/dns/include/dst/dst.h +++ b/lib/dns/include/dst/dst.h @@ -20,12 +20,12 @@ #include #include -#include +#include +#include #include #include #include -#include -#include +#include #include @@ -41,8 +41,8 @@ ISC_LANG_BEGINDECLS * to set attributes, new accessor functions will be written. */ -typedef struct dst_key dst_key_t; -typedef struct dst_context dst_context_t; +typedef struct dst_key dst_key_t; +typedef struct dst_context dst_context_t; /*% * Key states for the DNSSEC records related to a key: DNSKEY, RRSIG (ksk), @@ -77,84 +77,84 @@ typedef enum dst_key_state { } dst_key_state_t; /* DST algorithm codes */ -#define DST_ALG_UNKNOWN 0 -#define DST_ALG_RSA 1 /* Used for parsing RSASHA1, RSASHA256 and RSASHA512 */ -#define DST_ALG_RSAMD5 1 -#define DST_ALG_DH 2 -#define DST_ALG_DSA 3 -#define DST_ALG_ECC 4 -#define DST_ALG_RSASHA1 5 -#define DST_ALG_NSEC3DSA 6 -#define DST_ALG_NSEC3RSASHA1 7 -#define DST_ALG_RSASHA256 8 -#define DST_ALG_RSASHA512 10 -#define DST_ALG_ECCGOST 12 -#define DST_ALG_ECDSA256 13 -#define DST_ALG_ECDSA384 14 -#define DST_ALG_ED25519 15 -#define DST_ALG_ED448 16 -#define DST_ALG_HMACMD5 157 -#define DST_ALG_GSSAPI 160 -#define DST_ALG_HMACSHA1 161 /* XXXMPA */ -#define DST_ALG_HMACSHA224 162 /* XXXMPA */ -#define DST_ALG_HMACSHA256 163 /* XXXMPA */ -#define DST_ALG_HMACSHA384 164 /* XXXMPA */ -#define DST_ALG_HMACSHA512 165 /* XXXMPA */ -#define DST_ALG_INDIRECT 252 -#define DST_ALG_PRIVATE 254 -#define DST_MAX_ALGS 256 +#define DST_ALG_UNKNOWN 0 +#define DST_ALG_RSA 1 /* Used for parsing RSASHA1, RSASHA256 and RSASHA512 */ +#define DST_ALG_RSAMD5 1 +#define DST_ALG_DH 2 +#define DST_ALG_DSA 3 +#define DST_ALG_ECC 4 +#define DST_ALG_RSASHA1 5 +#define DST_ALG_NSEC3DSA 6 +#define DST_ALG_NSEC3RSASHA1 7 +#define DST_ALG_RSASHA256 8 +#define DST_ALG_RSASHA512 10 +#define DST_ALG_ECCGOST 12 +#define DST_ALG_ECDSA256 13 +#define DST_ALG_ECDSA384 14 +#define DST_ALG_ED25519 15 +#define DST_ALG_ED448 16 +#define DST_ALG_HMACMD5 157 +#define DST_ALG_GSSAPI 160 +#define DST_ALG_HMACSHA1 161 /* XXXMPA */ +#define DST_ALG_HMACSHA224 162 /* XXXMPA */ +#define DST_ALG_HMACSHA256 163 /* XXXMPA */ +#define DST_ALG_HMACSHA384 164 /* XXXMPA */ +#define DST_ALG_HMACSHA512 165 /* XXXMPA */ +#define DST_ALG_INDIRECT 252 +#define DST_ALG_PRIVATE 254 +#define DST_MAX_ALGS 256 /*% A buffer of this size is large enough to hold any key */ -#define DST_KEY_MAXSIZE 1280 +#define DST_KEY_MAXSIZE 1280 /*% * A buffer of this size is large enough to hold the textual representation * of any key */ -#define DST_KEY_MAXTEXTSIZE 2048 +#define DST_KEY_MAXTEXTSIZE 2048 /*% 'Type' for dst_read_key() */ -#define DST_TYPE_KEY 0x1000000 /* KEY key */ -#define DST_TYPE_PRIVATE 0x2000000 -#define DST_TYPE_PUBLIC 0x4000000 -#define DST_TYPE_STATE 0x8000000 +#define DST_TYPE_KEY 0x1000000 /* KEY key */ +#define DST_TYPE_PRIVATE 0x2000000 +#define DST_TYPE_PUBLIC 0x4000000 +#define DST_TYPE_STATE 0x8000000 /* Key timing metadata definitions */ -#define DST_TIME_CREATED 0 -#define DST_TIME_PUBLISH 1 -#define DST_TIME_ACTIVATE 2 -#define DST_TIME_REVOKE 3 -#define DST_TIME_INACTIVE 4 -#define DST_TIME_DELETE 5 -#define DST_TIME_DSPUBLISH 6 -#define DST_TIME_SYNCPUBLISH 7 -#define DST_TIME_SYNCDELETE 8 -#define DST_TIME_DNSKEY 9 -#define DST_TIME_ZRRSIG 10 -#define DST_TIME_KRRSIG 11 -#define DST_TIME_DS 12 -#define DST_MAX_TIMES 12 +#define DST_TIME_CREATED 0 +#define DST_TIME_PUBLISH 1 +#define DST_TIME_ACTIVATE 2 +#define DST_TIME_REVOKE 3 +#define DST_TIME_INACTIVE 4 +#define DST_TIME_DELETE 5 +#define DST_TIME_DSPUBLISH 6 +#define DST_TIME_SYNCPUBLISH 7 +#define DST_TIME_SYNCDELETE 8 +#define DST_TIME_DNSKEY 9 +#define DST_TIME_ZRRSIG 10 +#define DST_TIME_KRRSIG 11 +#define DST_TIME_DS 12 +#define DST_MAX_TIMES 12 /* Numeric metadata definitions */ -#define DST_NUM_PREDECESSOR 0 -#define DST_NUM_SUCCESSOR 1 -#define DST_NUM_MAXTTL 2 -#define DST_NUM_ROLLPERIOD 3 -#define DST_NUM_LIFETIME 4 -#define DST_MAX_NUMERIC 4 +#define DST_NUM_PREDECESSOR 0 +#define DST_NUM_SUCCESSOR 1 +#define DST_NUM_MAXTTL 2 +#define DST_NUM_ROLLPERIOD 3 +#define DST_NUM_LIFETIME 4 +#define DST_MAX_NUMERIC 4 /* Boolean metadata definitions */ -#define DST_BOOL_KSK 0 -#define DST_BOOL_ZSK 1 -#define DST_MAX_BOOLEAN 1 +#define DST_BOOL_KSK 0 +#define DST_BOOL_ZSK 1 +#define DST_MAX_BOOLEAN 1 /* Key state metadata definitions */ -#define DST_KEY_DNSKEY 0 -#define DST_KEY_ZRRSIG 1 -#define DST_KEY_KRRSIG 2 -#define DST_KEY_DS 3 -#define DST_KEY_GOAL 4 -#define DST_MAX_KEYSTATES 4 +#define DST_KEY_DNSKEY 0 +#define DST_KEY_ZRRSIG 1 +#define DST_KEY_KRRSIG 2 +#define DST_KEY_DS 3 +#define DST_KEY_GOAL 4 +#define DST_MAX_KEYSTATES 4 /* * Current format version number of the private key parser. @@ -175,8 +175,8 @@ typedef enum dst_key_state { * of a currently mandatory field, or a new field added which would * alter the functioning of the key if it were absent. */ -#define DST_MAJOR_VERSION 1 -#define DST_MINOR_VERSION 3 +#define DST_MAJOR_VERSION 1 +#define DST_MINOR_VERSION 3 /*** *** Functions @@ -225,9 +225,8 @@ dst_ds_digest_supported(unsigned int digest_type); */ isc_result_t -dst_context_create(dst_key_t *key, isc_mem_t *mctx, - isc_logcategory_t *category, bool useforsigning, - int maxbits, dst_context_t **dctxp); +dst_context_create(dst_key_t *key, isc_mem_t *mctx, isc_logcategory_t *category, + bool useforsigning, int maxbits, dst_context_t **dctxp); /*%< * Creates a context to be used for a sign or verify operation. * @@ -335,8 +334,8 @@ dst_key_computesecret(const dst_key_t *pub, const dst_key_t *priv, isc_result_t dst_key_getfilename(dns_name_t *name, dns_keytag_t id, unsigned int alg, - int type, const char *directory, - isc_mem_t *mctx, isc_buffer_t *buf); + int type, const char *directory, isc_mem_t *mctx, + isc_buffer_t *buf); /*%< * Generates a key filename for the name, algorithm, and * id, and places it in the buffer 'buf'. If directory is NULL, the @@ -384,8 +383,8 @@ dst_key_fromfile(dns_name_t *name, dns_keytag_t id, unsigned int alg, int type, */ isc_result_t -dst_key_fromnamedfile(const char *filename, const char *dirname, - int type, isc_mem_t *mctx, dst_key_t **keyp); +dst_key_fromnamedfile(const char *filename, const char *dirname, int type, + isc_mem_t *mctx, dst_key_t **keyp); /*%< * Reads a key from permanent storage. The key can either be a public or * private key, or a key stae. It is specified by filename. If a private key @@ -411,10 +410,9 @@ dst_key_fromnamedfile(const char *filename, const char *dirname, * \li If successful, *keyp will contain a valid key. */ - isc_result_t -dst_key_read_public(const char *filename, int type, - isc_mem_t *mctx, dst_key_t **keyp); +dst_key_read_public(const char *filename, int type, isc_mem_t *mctx, + dst_key_t **keyp); /*%< * Reads a public key from permanent storage. The key must be a public key. * @@ -506,9 +504,8 @@ dst_key_todns(const dst_key_t *key, isc_buffer_t *target); */ isc_result_t -dst_key_frombuffer(const dns_name_t *name, unsigned int alg, - unsigned int flags, unsigned int protocol, - dns_rdataclass_t rdclass, +dst_key_frombuffer(const dns_name_t *name, unsigned int alg, unsigned int flags, + unsigned int protocol, dns_rdataclass_t rdclass, isc_buffer_t *source, isc_mem_t *mctx, dst_key_t **keyp); /*%< * Converts a buffer containing DNS KEY RDATA into a DST key. @@ -614,11 +611,9 @@ dst_key_fromlabel(const dns_name_t *name, int alg, unsigned int flags, isc_mem_t *mctx, dst_key_t **keyp); isc_result_t -dst_key_generate(const dns_name_t *name, unsigned int alg, - unsigned int bits, unsigned int param, - unsigned int flags, unsigned int protocol, - dns_rdataclass_t rdclass, - isc_mem_t *mctx, dst_key_t **keyp, +dst_key_generate(const dns_name_t *name, unsigned int alg, unsigned int bits, + unsigned int param, unsigned int flags, unsigned int protocol, + dns_rdataclass_t rdclass, isc_mem_t *mctx, dst_key_t **keyp, void (*callback)(int)); /*%< @@ -768,8 +763,8 @@ bool dst_key_isnullkey(const dst_key_t *key); isc_result_t -dst_key_buildfilename(const dst_key_t *key, int type, - const char *directory, isc_buffer_t *out); +dst_key_buildfilename(const dst_key_t *key, int type, const char *directory, + isc_buffer_t *out); /*%< * Generates the filename used by dst to store the specified key. * If directory is NULL, the current directory is assumed. @@ -1037,7 +1032,6 @@ dst_key_format(const dst_key_t *key, char *cp, unsigned int size); * algorithm, key ID) into a string 'cp' of size 'size'. */ - isc_buffer_t * dst_key_tkeytoken(const dst_key_t *key); /*%< @@ -1048,7 +1042,6 @@ dst_key_tkeytoken(const dst_key_t *key); * "key" is a valid key. */ - isc_result_t dst_key_dump(dst_key_t *key, isc_mem_t *mctx, char **buffer, int *length); /*%< @@ -1177,7 +1170,6 @@ dst_key_goal(dst_key_t *key); * 'key' to be valid. */ - void dst_key_copy_metadata(dst_key_t *to, dst_key_t *from); /*%< @@ -1187,7 +1179,6 @@ dst_key_copy_metadata(dst_key_t *to, dst_key_t *from); * 'to' and 'from' to be valid. */ - ISC_LANG_ENDDECLS #endif /* DST_DST_H */ diff --git a/lib/dns/include/dst/gssapi.h b/lib/dns/include/dst/gssapi.h index 8ce6c30459..9f276b8af0 100644 --- a/lib/dns/include/dst/gssapi.h +++ b/lib/dns/include/dst/gssapi.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DST_GSSAPI_H #define DST_GSSAPI_H 1 @@ -22,6 +21,7 @@ #include #include #include + #include #ifdef GSSAPI @@ -38,7 +38,7 @@ #endif #endif #ifndef GSS_SPNEGO_MECHANISM -#define GSS_SPNEGO_MECHANISM ((void*)0) +#define GSS_SPNEGO_MECHANISM ((void *)0) #endif #endif @@ -113,8 +113,7 @@ dst_gssapi_initctx(const dns_name_t *name, isc_buffer_t *intoken, */ isc_result_t -dst_gssapi_acceptctx(gss_cred_id_t cred, - const char *gssapi_keytab, +dst_gssapi_acceptctx(gss_cred_id_t cred, const char *gssapi_keytab, isc_region_t *intoken, isc_buffer_t **outtoken, gss_ctx_id_t *context, dns_name_t *principal, isc_mem_t *mctx); @@ -159,10 +158,8 @@ dst_gssapi_deletectx(isc_mem_t *mctx, gss_ctx_id_t *gssctx); * ISC_R_SUCCESS */ - void -gss_log(int level, const char *fmt, ...) -ISC_FORMAT_PRINTF(2, 3); +gss_log(int level, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3); /* * Logging function for GSS. * @@ -172,8 +169,7 @@ ISC_FORMAT_PRINTF(2, 3); */ char * -gss_error_tostring(uint32_t major, uint32_t minor, - char *buf, size_t buflen); +gss_error_tostring(uint32_t major, uint32_t minor, char *buf, size_t buflen); /* * Render a GSS major status/minor status pair into a string * @@ -189,8 +185,7 @@ gss_error_tostring(uint32_t major, uint32_t minor, bool dst_gssapi_identitymatchesrealmkrb5(const dns_name_t *signer, const dns_name_t *name, - const dns_name_t *realm, - bool subdomain); + const dns_name_t *realm, bool subdomain); /* * Compare a "signer" (in the format of a Kerberos-format Kerberos5 * principal: host/example.com@EXAMPLE.COM) to the realm name stored @@ -201,8 +196,7 @@ dst_gssapi_identitymatchesrealmkrb5(const dns_name_t *signer, bool dst_gssapi_identitymatchesrealmms(const dns_name_t *signer, const dns_name_t *name, - const dns_name_t *realm, - bool subdomain); + const dns_name_t *realm, bool subdomain); /* * Compare a "signer" (in the format of a Kerberos-format Kerberos5 * principal: host/example.com@EXAMPLE.COM) to the realm name stored diff --git a/lib/dns/include/dst/result.h b/lib/dns/include/dst/result.h index 0855d808c5..ab072a8046 100644 --- a/lib/dns/include/dst/result.h +++ b/lib/dns/include/dst/result.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DST_RESULT_H #define DST_RESULT_H 1 @@ -24,40 +23,39 @@ * the ISC result codes, so including this file buys you the ISC_R_ * namespace too. */ -#include /* Contractual promise. */ +#include /* Contractual promise. */ -#define DST_R_UNSUPPORTEDALG (ISC_RESULTCLASS_DST + 0) -#define DST_R_CRYPTOFAILURE (ISC_RESULTCLASS_DST + 1) +#define DST_R_UNSUPPORTEDALG (ISC_RESULTCLASS_DST + 0) +#define DST_R_CRYPTOFAILURE (ISC_RESULTCLASS_DST + 1) /* compat */ -#define DST_R_OPENSSLFAILURE DST_R_CRYPTOFAILURE -#define DST_R_NOCRYPTO (ISC_RESULTCLASS_DST + 2) -#define DST_R_NULLKEY (ISC_RESULTCLASS_DST + 3) -#define DST_R_INVALIDPUBLICKEY (ISC_RESULTCLASS_DST + 4) -#define DST_R_INVALIDPRIVATEKEY (ISC_RESULTCLASS_DST + 5) +#define DST_R_OPENSSLFAILURE DST_R_CRYPTOFAILURE +#define DST_R_NOCRYPTO (ISC_RESULTCLASS_DST + 2) +#define DST_R_NULLKEY (ISC_RESULTCLASS_DST + 3) +#define DST_R_INVALIDPUBLICKEY (ISC_RESULTCLASS_DST + 4) +#define DST_R_INVALIDPRIVATEKEY (ISC_RESULTCLASS_DST + 5) /* 6 is unused */ -#define DST_R_WRITEERROR (ISC_RESULTCLASS_DST + 7) -#define DST_R_INVALIDPARAM (ISC_RESULTCLASS_DST + 8) +#define DST_R_WRITEERROR (ISC_RESULTCLASS_DST + 7) +#define DST_R_INVALIDPARAM (ISC_RESULTCLASS_DST + 8) /* 9 is unused */ /* 10 is unused */ -#define DST_R_SIGNFAILURE (ISC_RESULTCLASS_DST + 11) +#define DST_R_SIGNFAILURE (ISC_RESULTCLASS_DST + 11) /* 12 is unused */ /* 13 is unused */ -#define DST_R_VERIFYFAILURE (ISC_RESULTCLASS_DST + 14) -#define DST_R_NOTPUBLICKEY (ISC_RESULTCLASS_DST + 15) -#define DST_R_NOTPRIVATEKEY (ISC_RESULTCLASS_DST + 16) -#define DST_R_KEYCANNOTCOMPUTESECRET (ISC_RESULTCLASS_DST + 17) -#define DST_R_COMPUTESECRETFAILURE (ISC_RESULTCLASS_DST + 18) -#define DST_R_NORANDOMNESS (ISC_RESULTCLASS_DST + 19) -#define DST_R_BADKEYTYPE (ISC_RESULTCLASS_DST + 20) -#define DST_R_NOENGINE (ISC_RESULTCLASS_DST + 21) -#define DST_R_EXTERNALKEY (ISC_RESULTCLASS_DST + 22) +#define DST_R_VERIFYFAILURE (ISC_RESULTCLASS_DST + 14) +#define DST_R_NOTPUBLICKEY (ISC_RESULTCLASS_DST + 15) +#define DST_R_NOTPRIVATEKEY (ISC_RESULTCLASS_DST + 16) +#define DST_R_KEYCANNOTCOMPUTESECRET (ISC_RESULTCLASS_DST + 17) +#define DST_R_COMPUTESECRETFAILURE (ISC_RESULTCLASS_DST + 18) +#define DST_R_NORANDOMNESS (ISC_RESULTCLASS_DST + 19) +#define DST_R_BADKEYTYPE (ISC_RESULTCLASS_DST + 20) +#define DST_R_NOENGINE (ISC_RESULTCLASS_DST + 21) +#define DST_R_EXTERNALKEY (ISC_RESULTCLASS_DST + 22) -#define DST_R_NRESULTS 23 /* Number of results */ +#define DST_R_NRESULTS 23 /* Number of results */ ISC_LANG_BEGINDECLS -const char * -dst_result_totext(isc_result_t); +const char *dst_result_totext(isc_result_t); void dst_result_register(void); diff --git a/lib/dns/ipkeylist.c b/lib/dns/ipkeylist.c index 9011c018a4..a6def68d1d 100644 --- a/lib/dns/ipkeylist.c +++ b/lib/dns/ipkeylist.c @@ -20,7 +20,8 @@ #include void -dns_ipkeylist_init(dns_ipkeylist_t *ipkl) { +dns_ipkeylist_init(dns_ipkeylist_t *ipkl) +{ ipkl->count = 0; ipkl->allocated = 0; ipkl->addrs = NULL; @@ -30,7 +31,8 @@ dns_ipkeylist_init(dns_ipkeylist_t *ipkl) { } void -dns_ipkeylist_clear(isc_mem_t *mctx, dns_ipkeylist_t *ipkl) { +dns_ipkeylist_clear(isc_mem_t *mctx, dns_ipkeylist_t *ipkl) +{ uint32_t i; REQUIRE(ipkl != NULL); @@ -78,7 +80,7 @@ dns_ipkeylist_copy(isc_mem_t *mctx, const dns_ipkeylist_t *src, dns_ipkeylist_t *dst) { isc_result_t result = ISC_R_SUCCESS; - uint32_t i; + uint32_t i; REQUIRE(dst != NULL); /* dst might be preallocated, we don't care, but it must be empty */ @@ -101,8 +103,8 @@ dns_ipkeylist_copy(isc_mem_t *mctx, const dns_ipkeylist_t *src, if (src->keys != NULL) { for (i = 0; i < src->count; i++) { if (src->keys[i] != NULL) { - dst->keys[i] = isc_mem_get(mctx, - sizeof(dns_name_t)); + dst->keys[i] = + isc_mem_get(mctx, sizeof(dns_name_t)); dns_name_init(dst->keys[i], NULL); dns_name_dup(src->keys[i], mctx, dst->keys[i]); } else { @@ -114,8 +116,8 @@ dns_ipkeylist_copy(isc_mem_t *mctx, const dns_ipkeylist_t *src, if (src->labels != NULL) { for (i = 0; i < src->count; i++) { if (src->labels[i] != NULL) { - dst->labels[i] = isc_mem_get(mctx, - sizeof(dns_name_t)); + dst->labels[i] = + isc_mem_get(mctx, sizeof(dns_name_t)); dns_name_init(dst->labels[i], NULL); dns_name_dup(src->labels[i], mctx, dst->labels[i]); @@ -129,11 +131,12 @@ dns_ipkeylist_copy(isc_mem_t *mctx, const dns_ipkeylist_t *src, } isc_result_t -dns_ipkeylist_resize(isc_mem_t *mctx, dns_ipkeylist_t *ipkl, unsigned int n) { +dns_ipkeylist_resize(isc_mem_t *mctx, dns_ipkeylist_t *ipkl, unsigned int n) +{ isc_sockaddr_t *addrs = NULL; - isc_dscp_t *dscps = NULL; - dns_name_t **keys = NULL; - dns_name_t **labels = NULL; + isc_dscp_t * dscps = NULL; + dns_name_t ** keys = NULL; + dns_name_t ** labels = NULL; REQUIRE(ipkl != NULL); REQUIRE(n > ipkl->count); diff --git a/lib/dns/iptable.c b/lib/dns/iptable.c index bc10e871fd..3f21f6b279 100644 --- a/lib/dns/iptable.c +++ b/lib/dns/iptable.c @@ -18,14 +18,16 @@ #include -static void destroy_iptable(dns_iptable_t *dtab); +static void +destroy_iptable(dns_iptable_t *dtab); /* * Create a new IP table and the underlying radix structure */ isc_result_t -dns_iptable_create(isc_mem_t *mctx, dns_iptable_t **target) { - isc_result_t result; +dns_iptable_create(isc_mem_t *mctx, dns_iptable_t **target) +{ + isc_result_t result; dns_iptable_t *tab; tab = isc_mem_get(mctx, sizeof(*tab)); @@ -42,7 +44,7 @@ dns_iptable_create(isc_mem_t *mctx, dns_iptable_t **target) { *target = tab; return (ISC_R_SUCCESS); - cleanup: +cleanup: dns_iptable_detach(&tab); return (result); } @@ -57,10 +59,10 @@ isc_result_t dns_iptable_addprefix(dns_iptable_t *tab, const isc_netaddr_t *addr, uint16_t bitlen, bool pos) { - isc_result_t result; - isc_prefix_t pfx; + isc_result_t result; + isc_prefix_t pfx; isc_radix_node_t *node = NULL; - int i; + int i; INSIST(DNS_IPTABLE_VALID(tab)); INSIST(tab->radix != NULL); @@ -70,7 +72,7 @@ dns_iptable_addprefix(dns_iptable_t *tab, const isc_netaddr_t *addr, result = isc_radix_insert(tab->radix, &node, NULL, &pfx); if (result != ISC_R_SUCCESS) { isc_refcount_destroy(&pfx.refcount); - return(result); + return (result); } /* If a node already contains data, don't overwrite it */ @@ -87,7 +89,7 @@ dns_iptable_addprefix(dns_iptable_t *tab, const isc_netaddr_t *addr, int fam = ISC_RADIX_FAMILY(&pfx); if (node->data[fam] == NULL) { node->data[fam] = pos ? &dns_iptable_pos - : &dns_iptable_neg; + : &dns_iptable_neg; } } @@ -101,16 +103,17 @@ dns_iptable_addprefix(dns_iptable_t *tab, const isc_netaddr_t *addr, isc_result_t dns_iptable_merge(dns_iptable_t *tab, dns_iptable_t *source, bool pos) { - isc_result_t result; + isc_result_t result; isc_radix_node_t *node, *new_node; - int i, max_node = 0; + int i, max_node = 0; - RADIX_WALK (source->radix->head, node) { + RADIX_WALK(source->radix->head, node) + { new_node = NULL; - result = isc_radix_insert (tab->radix, &new_node, node, NULL); + result = isc_radix_insert(tab->radix, &new_node, node, NULL); if (result != ISC_R_SUCCESS) - return(result); + return (result); /* * If we're negating a nested ACL, then we should @@ -122,28 +125,30 @@ dns_iptable_merge(dns_iptable_t *tab, dns_iptable_t *source, bool pos) */ for (i = 0; i < RADIX_FAMILIES; i++) { if (!pos) { - if (node->data[i] && - *(bool *) node->data[i]) + if (node->data[i] && *(bool *)node->data[i]) new_node->data[i] = &dns_iptable_neg; } if (node->node_num[i] > max_node) max_node = node->node_num[i]; } - } RADIX_WALK_END; + } + RADIX_WALK_END; tab->radix->num_added_node += max_node; return (ISC_R_SUCCESS); } void -dns_iptable_attach(dns_iptable_t *source, dns_iptable_t **target) { +dns_iptable_attach(dns_iptable_t *source, dns_iptable_t **target) +{ REQUIRE(DNS_IPTABLE_VALID(source)); isc_refcount_increment(&source->refcount); *target = source; } void -dns_iptable_detach(dns_iptable_t **tabp) { +dns_iptable_detach(dns_iptable_t **tabp) +{ REQUIRE(tabp != NULL && DNS_IPTABLE_VALID(*tabp)); dns_iptable_t *tab = *tabp; *tabp = NULL; @@ -155,8 +160,8 @@ dns_iptable_detach(dns_iptable_t **tabp) { } static void -destroy_iptable(dns_iptable_t *dtab) { - +destroy_iptable(dns_iptable_t *dtab) +{ REQUIRE(DNS_IPTABLE_VALID(dtab)); if (dtab->radix != NULL) { diff --git a/lib/dns/journal.c b/lib/dns/journal.c index ce2b28d78e..d6d178cbd7 100644 --- a/lib/dns/journal.c +++ b/lib/dns/journal.c @@ -9,11 +9,11 @@ * information regarding copyright ownership. */ +#include #include #include #include #include -#include #include #include @@ -80,54 +80,57 @@ #define JOURNAL_COMMON_LOGARGS \ dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_JOURNAL -#define JOURNAL_DEBUG_LOGARGS(n) \ - JOURNAL_COMMON_LOGARGS, ISC_LOG_DEBUG(n) +#define JOURNAL_DEBUG_LOGARGS(n) JOURNAL_COMMON_LOGARGS, ISC_LOG_DEBUG(n) /*% * It would be non-sensical (or at least obtuse) to use FAIL() with an * ISC_R_SUCCESS code, but the test is there to keep the Solaris compiler * from complaining about "end-of-loop code not reached". */ -#define FAIL(code) \ - do { result = (code); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define FAIL(code) \ + do { \ + result = (code); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) -#define CHECK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) -#define JOURNAL_SERIALSET 0x01U +#define JOURNAL_SERIALSET 0x01U -static isc_result_t index_to_disk(dns_journal_t *); +static isc_result_t +index_to_disk(dns_journal_t *); static inline uint32_t -decode_uint32(unsigned char *p) { - return ((p[0] << 24) + - (p[1] << 16) + - (p[2] << 8) + - (p[3] << 0)); +decode_uint32(unsigned char *p) +{ + return ((p[0] << 24) + (p[1] << 16) + (p[2] << 8) + (p[3] << 0)); } static inline void -encode_uint32(uint32_t val, unsigned char *p) { +encode_uint32(uint32_t val, unsigned char *p) +{ p[0] = (uint8_t)(val >> 24); p[1] = (uint8_t)(val >> 16); - p[2] = (uint8_t)(val >> 8); - p[3] = (uint8_t)(val >> 0); + p[2] = (uint8_t)(val >> 8); + p[3] = (uint8_t)(val >> 0); } isc_result_t dns_db_createsoatuple(dns_db_t *db, dns_dbversion_t *ver, isc_mem_t *mctx, dns_diffop_t op, dns_difftuple_t **tp) { - isc_result_t result; - dns_dbnode_t *node; - dns_rdataset_t rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + dns_dbnode_t * node; + dns_rdataset_t rdataset; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_fixedname_t fixed; - dns_name_t *zonename; + dns_name_t * zonename; zonename = dns_fixedname_initname(&fixed); dns_name_copynf(dns_db_origin(db), zonename); @@ -150,16 +153,16 @@ dns_db_createsoatuple(dns_db_t *db, dns_dbversion_t *ver, isc_mem_t *mctx, dns_rdataset_current(&rdataset, &rdata); dns_rdataset_getownercase(&rdataset, zonename); - result = dns_difftuple_create(mctx, op, zonename, rdataset.ttl, - &rdata, tp); + result = dns_difftuple_create(mctx, op, zonename, rdataset.ttl, &rdata, + tp); dns_rdataset_disassociate(&rdataset); dns_db_detachnode(db, &node); return (result); - freenode: +freenode: dns_db_detachnode(db, &node); - nonode: +nonode: UNEXPECTED_ERROR(__FILE__, __LINE__, "missing SOA"); return (result); } @@ -173,7 +176,7 @@ dns_db_createsoatuple(dns_db_t *db, dns_dbversion_t *ver, isc_mem_t *mctx, * other transactions. */ typedef struct { - unsigned char serial[4]; /*%< SOA serial before update. */ + unsigned char serial[4]; /*%< SOA serial before update. */ /* * XXXRTH Should offset be 8 bytes? * XXXDCL ... probably, since isc_offset_t is 8 bytes on many OSs. @@ -181,10 +184,9 @@ typedef struct { * platforms as long as we are using fseek() rather * than lseek(). */ - unsigned char offset[4]; /*%< Offset from beginning of file. */ + unsigned char offset[4]; /*%< Offset from beginning of file. */ } journal_rawpos_t; - /*% * The header is of a fixed size, with some spare room for future * extensions. @@ -198,16 +200,16 @@ typedef struct { typedef union { struct { /*% File format version ID. */ - unsigned char format[16]; + unsigned char format[16]; /*% Position of the first addressable transaction */ - journal_rawpos_t begin; + journal_rawpos_t begin; /*% Position of the next (yet nonexistent) transaction. */ - journal_rawpos_t end; + journal_rawpos_t end; /*% Number of index entries following the header. */ - unsigned char index_size[4]; + unsigned char index_size[4]; /*% Source serial number. */ - unsigned char sourceserial[4]; - unsigned char flags; + unsigned char sourceserial[4]; + unsigned char flags; } h; /* Pad the header to a fixed size. */ unsigned char pad[JOURNAL_HEADER_SIZE]; @@ -218,9 +220,9 @@ typedef union { * There is one of these at the beginning of each transaction. */ typedef struct { - unsigned char size[4]; /*%< In bytes, excluding header. */ - unsigned char serial0[4]; /*%< SOA serial before update. */ - unsigned char serial1[4]; /*%< SOA serial after update. */ + unsigned char size[4]; /*%< In bytes, excluding header. */ + unsigned char serial0[4]; /*%< SOA serial before update. */ + unsigned char serial1[4]; /*%< SOA serial after update. */ } journal_rawxhdr_t; /*% @@ -228,27 +230,27 @@ typedef struct { * There is one of these at the beginning of each RR. */ typedef struct { - unsigned char size[4]; /*%< In bytes, excluding header. */ + unsigned char size[4]; /*%< In bytes, excluding header. */ } journal_rawrrhdr_t; /*% * The in-core representation of the journal header. */ typedef struct { - uint32_t serial; - isc_offset_t offset; + uint32_t serial; + isc_offset_t offset; } journal_pos_t; -#define POS_VALID(pos) ((pos).offset != 0) -#define POS_INVALIDATE(pos) ((pos).offset = 0, (pos).serial = 0) +#define POS_VALID(pos) ((pos).offset != 0) +#define POS_INVALIDATE(pos) ((pos).offset = 0, (pos).serial = 0) typedef struct { - unsigned char format[16]; - journal_pos_t begin; - journal_pos_t end; - uint32_t index_size; - uint32_t sourceserial; - bool serialset; + unsigned char format[16]; + journal_pos_t begin; + journal_pos_t end; + uint32_t index_size; + uint32_t sourceserial; + bool serialset; } journal_header_t; /*% @@ -256,19 +258,18 @@ typedef struct { */ typedef struct { - uint32_t size; - uint32_t serial0; - uint32_t serial1; + uint32_t size; + uint32_t serial0; + uint32_t serial1; } journal_xhdr_t; /*% * The in-core representation of the RR header. */ typedef struct { - uint32_t size; + uint32_t size; } journal_rrhdr_t; - /*% * Initial contents to store in the header of a newly created * journal file. @@ -280,8 +281,9 @@ typedef struct { * are ASCII text files). */ -static journal_header_t -initial_journal_header = { ";BIND LOG V9\n", { 0, 0 }, { 0, 0 }, 0, 0, 0 }; +static journal_header_t initial_journal_header = { + ";BIND LOG V9\n", { 0, 0 }, { 0, 0 }, 0, 0, 0 +}; #define JOURNAL_EMPTY(h) ((h)->begin.offset == (h)->end.offset) @@ -294,58 +296,62 @@ typedef enum { } journal_state_t; struct dns_journal { - unsigned int magic; /*%< JOUR */ - isc_mem_t *mctx; /*%< Memory context */ - journal_state_t state; - char *filename; /*%< Journal file name */ - FILE * fp; /*%< File handle */ - isc_offset_t offset; /*%< Current file offset */ - journal_header_t header; /*%< In-core journal header */ - unsigned char *rawindex; /*%< In-core buffer for journal index in on-disk format */ - journal_pos_t *index; /*%< In-core journal index */ + unsigned int magic; /*%< JOUR */ + isc_mem_t * mctx; /*%< Memory context */ + journal_state_t state; + char * filename; /*%< Journal file name */ + FILE * fp; /*%< File handle */ + isc_offset_t offset; /*%< Current file offset */ + journal_header_t header; /*%< In-core journal header */ + unsigned char * rawindex; /*%< In-core buffer for journal index in + on-disk format */ + journal_pos_t *index; /*%< In-core journal index */ /*% Current transaction state (when writing). */ struct { - unsigned int n_soa; /*%< Number of SOAs seen */ - journal_pos_t pos[2]; /*%< Begin/end position */ + unsigned int n_soa; /*%< Number of SOAs seen */ + journal_pos_t pos[2]; /*%< Begin/end position */ } x; /*% Iteration state (when reading). */ struct { /* These define the part of the journal we iterate over. */ - journal_pos_t bpos; /*%< Position before first, */ - journal_pos_t epos; /*%< and after last transaction */ + journal_pos_t bpos; /*%< Position before first, */ + journal_pos_t epos; /*%< and after last transaction */ /* The rest is iterator state. */ - uint32_t current_serial; /*%< Current SOA serial */ - isc_buffer_t source; /*%< Data from disk */ - isc_buffer_t target; /*%< Data from _fromwire check */ - dns_decompress_t dctx; /*%< Dummy decompression ctx */ - dns_name_t name; /*%< Current domain name */ - dns_rdata_t rdata; /*%< Current rdata */ - uint32_t ttl; /*%< Current TTL */ - unsigned int xsize; /*%< Size of transaction data */ - unsigned int xpos; /*%< Current position in it */ - isc_result_t result; /*%< Result of last call */ + uint32_t current_serial; /*%< Current SOA serial */ + isc_buffer_t source; /*%< Data from disk */ + isc_buffer_t target; /*%< Data from _fromwire check */ + dns_decompress_t dctx; /*%< Dummy decompression ctx */ + dns_name_t name; /*%< Current domain name */ + dns_rdata_t rdata; /*%< Current rdata */ + uint32_t ttl; /*%< Current TTL */ + unsigned int xsize; /*%< Size of transaction data */ + unsigned int xpos; /*%< Current position in it */ + isc_result_t result; /*%< Result of last call */ } it; }; -#define DNS_JOURNAL_MAGIC ISC_MAGIC('J', 'O', 'U', 'R') -#define DNS_JOURNAL_VALID(t) ISC_MAGIC_VALID(t, DNS_JOURNAL_MAGIC) +#define DNS_JOURNAL_MAGIC ISC_MAGIC('J', 'O', 'U', 'R') +#define DNS_JOURNAL_VALID(t) ISC_MAGIC_VALID(t, DNS_JOURNAL_MAGIC) static void -journal_pos_decode(journal_rawpos_t *raw, journal_pos_t *cooked) { +journal_pos_decode(journal_rawpos_t *raw, journal_pos_t *cooked) +{ cooked->serial = decode_uint32(raw->serial); cooked->offset = decode_uint32(raw->offset); } static void -journal_pos_encode(journal_rawpos_t *raw, journal_pos_t *cooked) { +journal_pos_encode(journal_rawpos_t *raw, journal_pos_t *cooked) +{ encode_uint32(cooked->serial, raw->serial); encode_uint32(cooked->offset, raw->offset); } static void -journal_header_decode(journal_rawheader_t *raw, journal_header_t *cooked) { +journal_header_decode(journal_rawheader_t *raw, journal_header_t *cooked) +{ INSIST(sizeof(cooked->format) == sizeof(raw->h.format)); memmove(cooked->format, raw->h.format, sizeof(cooked->format)); journal_pos_decode(&raw->h.begin, &cooked->begin); @@ -356,7 +362,8 @@ journal_header_decode(journal_rawheader_t *raw, journal_header_t *cooked) { } static void -journal_header_encode(journal_header_t *cooked, journal_rawheader_t *raw) { +journal_header_encode(journal_header_t *cooked, journal_rawheader_t *raw) +{ unsigned char flags = 0; INSIST(sizeof(cooked->format) == sizeof(raw->h.format)); @@ -376,7 +383,8 @@ journal_header_encode(journal_header_t *cooked, journal_rawheader_t *raw) { * Journal file I/O subroutines, with error checking and reporting. */ static isc_result_t -journal_seek(dns_journal_t *j, uint32_t offset) { +journal_seek(dns_journal_t *j, uint32_t offset) +{ isc_result_t result; result = isc_stdio_seek(j->fp, (off_t)offset, SEEK_SET); @@ -391,7 +399,8 @@ journal_seek(dns_journal_t *j, uint32_t offset) { } static isc_result_t -journal_read(dns_journal_t *j, void *mem, size_t nbytes) { +journal_read(dns_journal_t *j, void *mem, size_t nbytes) +{ isc_result_t result; result = isc_stdio_read(mem, 1, nbytes, j->fp, NULL); @@ -399,8 +408,8 @@ journal_read(dns_journal_t *j, void *mem, size_t nbytes) { if (result == ISC_R_EOF) return (ISC_R_NOMORE); isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, - "%s: read: %s", - j->filename, isc_result_totext(result)); + "%s: read: %s", j->filename, + isc_result_totext(result)); return (ISC_R_UNEXPECTED); } j->offset += (isc_offset_t)nbytes; @@ -408,14 +417,15 @@ journal_read(dns_journal_t *j, void *mem, size_t nbytes) { } static isc_result_t -journal_write(dns_journal_t *j, void *mem, size_t nbytes) { +journal_write(dns_journal_t *j, void *mem, size_t nbytes) +{ isc_result_t result; result = isc_stdio_write(mem, 1, nbytes, j->fp, NULL); if (result != ISC_R_SUCCESS) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, - "%s: write: %s", - j->filename, isc_result_totext(result)); + "%s: write: %s", j->filename, + isc_result_totext(result)); return (ISC_R_UNEXPECTED); } j->offset += (isc_offset_t)nbytes; @@ -423,20 +433,21 @@ journal_write(dns_journal_t *j, void *mem, size_t nbytes) { } static isc_result_t -journal_fsync(dns_journal_t *j) { +journal_fsync(dns_journal_t *j) +{ isc_result_t result; result = isc_stdio_flush(j->fp); if (result != ISC_R_SUCCESS) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, - "%s: flush: %s", - j->filename, isc_result_totext(result)); + "%s: flush: %s", j->filename, + isc_result_totext(result)); return (ISC_R_UNEXPECTED); } result = isc_stdio_sync(j->fp); if (result != ISC_R_SUCCESS) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, - "%s: fsync: %s", - j->filename, isc_result_totext(result)); + "%s: fsync: %s", j->filename, + isc_result_totext(result)); return (ISC_R_UNEXPECTED); } return (ISC_R_SUCCESS); @@ -447,9 +458,10 @@ journal_fsync(dns_journal_t *j) { */ static isc_result_t -journal_read_xhdr(dns_journal_t *j, journal_xhdr_t *xhdr) { +journal_read_xhdr(dns_journal_t *j, journal_xhdr_t *xhdr) +{ journal_rawxhdr_t raw; - isc_result_t result; + isc_result_t result; result = journal_read(j, &raw, sizeof(raw)); if (result != ISC_R_SUCCESS) return (result); @@ -460,8 +472,8 @@ journal_read_xhdr(dns_journal_t *j, journal_xhdr_t *xhdr) { } static isc_result_t -journal_write_xhdr(dns_journal_t *j, uint32_t size, - uint32_t serial0, uint32_t serial1) +journal_write_xhdr(dns_journal_t *j, uint32_t size, uint32_t serial0, + uint32_t serial1) { journal_rawxhdr_t raw; encode_uint32(size, raw.size); @@ -470,15 +482,15 @@ journal_write_xhdr(dns_journal_t *j, uint32_t size, return (journal_write(j, &raw, sizeof(raw))); } - /* * Read an RR header at the current file position. */ static isc_result_t -journal_read_rrhdr(dns_journal_t *j, journal_rrhdr_t *rrhdr) { +journal_read_rrhdr(dns_journal_t *j, journal_rrhdr_t *rrhdr) +{ journal_rawrrhdr_t raw; - isc_result_t result; + isc_result_t result; result = journal_read(j, &raw, sizeof(raw)); if (result != ISC_R_SUCCESS) return (result); @@ -487,22 +499,23 @@ journal_read_rrhdr(dns_journal_t *j, journal_rrhdr_t *rrhdr) { } static isc_result_t -journal_file_create(isc_mem_t *mctx, const char *filename) { - FILE *fp = NULL; - isc_result_t result; - journal_header_t header; +journal_file_create(isc_mem_t *mctx, const char *filename) +{ + FILE * fp = NULL; + isc_result_t result; + journal_header_t header; journal_rawheader_t rawheader; - int index_size = 56; /* XXX configurable */ - int size; - void *mem; /* Memory for temporary index image. */ + int index_size = 56; /* XXX configurable */ + int size; + void * mem; /* Memory for temporary index image. */ INSIST(sizeof(journal_rawheader_t) == JOURNAL_HEADER_SIZE); result = isc_stdio_open(filename, "wb", &fp); if (result != ISC_R_SUCCESS) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, - "%s: create: %s", - filename, isc_result_totext(result)); + "%s: create: %s", filename, + isc_result_totext(result)); return (ISC_R_UNEXPECTED); } @@ -511,17 +524,17 @@ journal_file_create(isc_mem_t *mctx, const char *filename) { journal_header_encode(&header, &rawheader); size = sizeof(journal_rawheader_t) + - index_size * sizeof(journal_rawpos_t); + index_size * sizeof(journal_rawpos_t); mem = isc_mem_get(mctx, size); memset(mem, 0, size); memmove(mem, &rawheader, sizeof(rawheader)); - result = isc_stdio_write(mem, 1, (size_t) size, fp, NULL); + result = isc_stdio_write(mem, 1, (size_t)size, fp, NULL); if (result != ISC_R_SUCCESS) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, - "%s: write: %s", - filename, isc_result_totext(result)); + "%s: write: %s", filename, + isc_result_totext(result)); (void)isc_stdio_close(fp); (void)isc_file_remove(filename); isc_mem_put(mctx, mem, size); @@ -532,8 +545,8 @@ journal_file_create(isc_mem_t *mctx, const char *filename) { result = isc_stdio_close(fp); if (result != ISC_R_SUCCESS) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, - "%s: close: %s", - filename, isc_result_totext(result)); + "%s: close: %s", filename, + isc_result_totext(result)); (void)isc_file_remove(filename); return (ISC_R_UNEXPECTED); } @@ -542,13 +555,13 @@ journal_file_create(isc_mem_t *mctx, const char *filename) { } static isc_result_t -journal_open(isc_mem_t *mctx, const char *filename, bool writable, - bool create, dns_journal_t **journalp) +journal_open(isc_mem_t *mctx, const char *filename, bool writable, bool create, + dns_journal_t **journalp) { - FILE *fp = NULL; - isc_result_t result; + FILE * fp = NULL; + isc_result_t result; journal_rawheader_t rawheader; - dns_journal_t *j; + dns_journal_t * j; INSIST(journalp != NULL && *journalp == NULL); j = isc_mem_get(mctx, sizeof(*j)); @@ -570,7 +583,8 @@ journal_open(isc_mem_t *mctx, const char *filename, bool writable, if (create) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_DEBUG(1), "journal file %s does not exist, " - "creating it", j->filename); + "creating it", + j->filename); CHECK(journal_file_create(mctx, filename)); /* * Retry. @@ -582,8 +596,8 @@ journal_open(isc_mem_t *mctx, const char *filename, bool writable, } if (result != ISC_R_SUCCESS) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, - "%s: open: %s", - j->filename, isc_result_totext(result)); + "%s: open: %s", j->filename, + isc_result_totext(result)); FAIL(ISC_R_UNEXPECTED); } @@ -600,8 +614,7 @@ journal_open(isc_mem_t *mctx, const char *filename, bool writable, if (memcmp(rawheader.h.format, initial_journal_header.format, sizeof(initial_journal_header.format)) != 0) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, - "%s: journal format not recognized", - j->filename); + "%s: journal format not recognized", j->filename); FAIL(ISC_R_UNEXPECTED); } journal_header_decode(&rawheader, &j->header); @@ -611,8 +624,8 @@ journal_open(isc_mem_t *mctx, const char *filename, bool writable, * allocated buffer and then convert it into a cooked index. */ if (j->header.index_size != 0) { - unsigned int i; - unsigned int rawbytes; + unsigned int i; + unsigned int rawbytes; unsigned char *p; rawbytes = j->header.index_size * sizeof(journal_rawpos_t); @@ -620,8 +633,8 @@ journal_open(isc_mem_t *mctx, const char *filename, bool writable, CHECK(journal_read(j, j->rawindex, rawbytes)); - j->index = isc_mem_get(mctx, - j->header.index_size * sizeof(journal_pos_t)); + j->index = isc_mem_get(mctx, j->header.index_size * + sizeof(journal_pos_t)); p = j->rawindex; for (i = 0; i < j->header.index_size; i++) { @@ -649,20 +662,19 @@ journal_open(isc_mem_t *mctx, const char *filename, bool writable, isc_buffer_init(&j->it.target, NULL, 0); dns_decompress_init(&j->it.dctx, -1, DNS_DECOMPRESS_NONE); - j->state = - writable ? JOURNAL_STATE_WRITE : JOURNAL_STATE_READ; + j->state = writable ? JOURNAL_STATE_WRITE : JOURNAL_STATE_READ; *journalp = j; return (ISC_R_SUCCESS); - failure: +failure: j->magic = 0; if (j->rawindex != NULL) - isc_mem_put(j->mctx, j->rawindex, j->header.index_size * - sizeof(journal_rawpos_t)); + isc_mem_put(j->mctx, j->rawindex, + j->header.index_size * sizeof(journal_rawpos_t)); if (j->index != NULL) - isc_mem_put(j->mctx, j->index, j->header.index_size * - sizeof(journal_pos_t)); + isc_mem_put(j->mctx, j->index, + j->header.index_size * sizeof(journal_pos_t)); if (j->filename != NULL) isc_mem_free(j->mctx, j->filename); if (j->fp != NULL) @@ -676,12 +688,12 @@ dns_journal_open(isc_mem_t *mctx, const char *filename, unsigned int mode, dns_journal_t **journalp) { isc_result_t result; - size_t namelen; - char backup[1024]; - bool writable, create; + size_t namelen; + char backup[1024]; + bool writable, create; create = ((mode & DNS_JOURNAL_CREATE) != 0); - writable = ((mode & (DNS_JOURNAL_WRITE|DNS_JOURNAL_CREATE)) != 0); + writable = ((mode & (DNS_JOURNAL_WRITE | DNS_JOURNAL_CREATE)) != 0); result = journal_open(mctx, filename, writable, create, journalp); if (result == ISC_R_NOTFOUND) { @@ -713,13 +725,14 @@ dns_journal_open(isc_mem_t *mctx, const char *filename, unsigned int mode, * rdataset merging it has to do. */ static int -ixfr_order(const void *av, const void *bv) { - dns_difftuple_t const * const *ap = av; - dns_difftuple_t const * const *bp = bv; - dns_difftuple_t const *a = *ap; - dns_difftuple_t const *b = *bp; - int r; - int bop = 0, aop = 0; +ixfr_order(const void *av, const void *bv) +{ + dns_difftuple_t const *const *ap = av; + dns_difftuple_t const *const *bp = bv; + dns_difftuple_t const * a = *ap; + dns_difftuple_t const * b = *bp; + int r; + int bop = 0, aop = 0; switch (a->op) { case DNS_DIFFOP_DEL: @@ -754,7 +767,7 @@ ixfr_order(const void *av, const void *bv) { return (r); r = (b->rdata.type == dns_rdatatype_soa) - - (a->rdata.type == dns_rdatatype_soa); + (a->rdata.type == dns_rdatatype_soa); if (r != 0) return (r); @@ -779,8 +792,9 @@ ixfr_order(const void *av, const void *bv) { * Other results due to file errors are possible. */ static isc_result_t -journal_next(dns_journal_t *j, journal_pos_t *pos) { - isc_result_t result; +journal_next(dns_journal_t *j, journal_pos_t *pos) +{ + isc_result_t result; journal_xhdr_t xhdr; REQUIRE(DNS_JOURNAL_VALID(j)); @@ -812,8 +826,8 @@ journal_next(dns_journal_t *j, journal_pos_t *pos) { /* * Check for offset wraparound. */ - if ((isc_offset_t)(pos->offset + sizeof(journal_rawxhdr_t) + xhdr.size) - < pos->offset) { + if ((isc_offset_t)(pos->offset + sizeof(journal_rawxhdr_t) + + xhdr.size) < pos->offset) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, "%s: offset too large", j->filename); return (ISC_R_UNEXPECTED); @@ -832,7 +846,8 @@ journal_next(dns_journal_t *j, journal_pos_t *pos) { * but not greater than 'serial'. */ static void -index_find(dns_journal_t *j, uint32_t serial, journal_pos_t *best_guess) { +index_find(dns_journal_t *j, uint32_t serial, journal_pos_t *best_guess) +{ unsigned int i; if (j->index == NULL) return; @@ -854,7 +869,8 @@ index_find(dns_journal_t *j, uint32_t serial, journal_pos_t *best_guess) { * recent versions more often than old ones. */ static void -index_add(dns_journal_t *j, journal_pos_t *pos) { +index_add(dns_journal_t *j, journal_pos_t *pos) +{ unsigned int i; if (j->index == NULL) return; @@ -862,7 +878,7 @@ index_add(dns_journal_t *j, journal_pos_t *pos) { * Search for a vacant position. */ for (i = 0; i < j->header.index_size; i++) { - if (! POS_VALID(j->index[i])) + if (!POS_VALID(j->index[i])) break; } if (i == j->header.index_size) { @@ -880,7 +896,7 @@ index_add(dns_journal_t *j, journal_pos_t *pos) { } } INSIST(i < j->header.index_size); - INSIST(! POS_VALID(j->index[i])); + INSIST(!POS_VALID(j->index[i])); /* * Store the new index entry. @@ -893,12 +909,13 @@ index_add(dns_journal_t *j, journal_pos_t *pos) { * ambiguous when a new transaction with number 'serial' is added. */ static void -index_invalidate(dns_journal_t *j, uint32_t serial) { +index_invalidate(dns_journal_t *j, uint32_t serial) +{ unsigned int i; if (j->index == NULL) return; for (i = 0; i < j->header.index_size; i++) { - if (! DNS_SERIAL_GT(serial, j->index[i].serial)) + if (!DNS_SERIAL_GT(serial, j->index[i].serial)) POS_INVALIDATE(j->index[i]); } } @@ -923,8 +940,9 @@ index_invalidate(dns_journal_t *j, uint32_t serial) { * */ static isc_result_t -journal_find(dns_journal_t *j, uint32_t serial, journal_pos_t *pos) { - isc_result_t result; +journal_find(dns_journal_t *j, uint32_t serial, journal_pos_t *pos) +{ + isc_result_t result; journal_pos_t current_pos; REQUIRE(DNS_JOURNAL_VALID(j)); @@ -952,9 +970,10 @@ journal_find(dns_journal_t *j, uint32_t serial, journal_pos_t *pos) { } isc_result_t -dns_journal_begin_transaction(dns_journal_t *j) { - uint32_t offset; - isc_result_t result; +dns_journal_begin_transaction(dns_journal_t *j) +{ + uint32_t offset; + isc_result_t result; journal_rawxhdr_t hdr; REQUIRE(DNS_JOURNAL_VALID(j)); @@ -967,7 +986,7 @@ dns_journal_begin_transaction(dns_journal_t *j) { */ if (JOURNAL_EMPTY(&j->header)) { offset = sizeof(journal_rawheader_t) + - j->header.index_size * sizeof(journal_rawpos_t); + j->header.index_size * sizeof(journal_rawpos_t); } else { offset = j->header.end.offset; } @@ -988,18 +1007,19 @@ dns_journal_begin_transaction(dns_journal_t *j) { j->state = JOURNAL_STATE_TRANSACTION; result = ISC_R_SUCCESS; - failure: +failure: return (result); } isc_result_t -dns_journal_writediff(dns_journal_t *j, dns_diff_t *diff) { +dns_journal_writediff(dns_journal_t *j, dns_diff_t *diff) +{ dns_difftuple_t *t; - isc_buffer_t buffer; - void *mem = NULL; - uint64_t size; - isc_result_t result; - isc_region_t used; + isc_buffer_t buffer; + void * mem = NULL; + uint64_t size; + isc_result_t result; + isc_region_t used; REQUIRE(DNS_DIFF_VALID(diff)); REQUIRE(j->state == JOURNAL_STATE_TRANSACTION); @@ -1013,8 +1033,7 @@ dns_journal_writediff(dns_journal_t *j, dns_diff_t *diff) { */ size = 0; for (t = ISC_LIST_HEAD(diff->tuples); t != NULL; - t = ISC_LIST_NEXT(t, link)) - { + t = ISC_LIST_NEXT(t, link)) { if (t->rdata.type == dns_rdatatype_soa) { if (j->x.n_soa < 2) j->x.pos[j->x.n_soa].serial = @@ -1030,8 +1049,8 @@ dns_journal_writediff(dns_journal_t *j, dns_diff_t *diff) { if (size >= DNS_JOURNAL_SIZE_MAX) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, "dns_journal_writediff: %s: journal entry " - "too big to be stored: %" PRIu64 " bytes", j->filename, - size); + "too big to be stored: %" PRIu64 " bytes", + j->filename, size); return (ISC_R_NOSPACE); } @@ -1043,13 +1062,12 @@ dns_journal_writediff(dns_journal_t *j, dns_diff_t *diff) { * Pass 2. Write RRs to buffer. */ for (t = ISC_LIST_HEAD(diff->tuples); t != NULL; - t = ISC_LIST_NEXT(t, link)) - { + t = ISC_LIST_NEXT(t, link)) { /* * Write the RR header. */ - isc_buffer_putuint32(&buffer, t->name.length + 10 + - t->rdata.length); + isc_buffer_putuint32(&buffer, + t->name.length + 10 + t->rdata.length); /* * Write the owner name, RR header, and RR data. */ @@ -1075,18 +1093,18 @@ dns_journal_writediff(dns_journal_t *j, dns_diff_t *diff) { result = ISC_R_SUCCESS; - failure: +failure: if (mem != NULL) isc_mem_put(j->mctx, mem, size); return (result); - } isc_result_t -dns_journal_commit(dns_journal_t *j) { - isc_result_t result; +dns_journal_commit(dns_journal_t *j) +{ + isc_result_t result; journal_rawheader_t rawheader; - uint64_t total; + uint64_t total; REQUIRE(DNS_JOURNAL_VALID(j)); REQUIRE(j->state == JOURNAL_STATE_TRANSACTION || @@ -1110,25 +1128,25 @@ dns_journal_commit(dns_journal_t *j) { */ if (j->x.n_soa != 2) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, - "%s: malformed transaction: %d SOAs", - j->filename, j->x.n_soa); + "%s: malformed transaction: %d SOAs", j->filename, + j->x.n_soa); return (ISC_R_UNEXPECTED); } - if (! DNS_SERIAL_GT(j->x.pos[1].serial, j->x.pos[0].serial)) { + if (!DNS_SERIAL_GT(j->x.pos[1].serial, j->x.pos[0].serial)) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, "%s: malformed transaction: serial number " - "did not increase", j->filename); + "did not increase", + j->filename); return (ISC_R_UNEXPECTED); } - if (! JOURNAL_EMPTY(&j->header)) { + if (!JOURNAL_EMPTY(&j->header)) { if (j->x.pos[0].serial != j->header.end.serial) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, - "malformed transaction: " - "%s last serial %u != " - "transaction first serial %u", - j->filename, - j->header.end.serial, - j->x.pos[0].serial); + "malformed transaction: " + "%s last serial %u != " + "transaction first serial %u", + j->filename, j->header.end.serial, + j->x.pos[0].serial); return (ISC_R_UNEXPECTED); } } @@ -1139,9 +1157,9 @@ dns_journal_commit(dns_journal_t *j) { total = j->x.pos[1].offset - j->x.pos[0].offset; if (total >= DNS_JOURNAL_SIZE_MAX) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, - "transaction too big to be stored in journal: " - "%" PRIu64 "b (max is %" PRIu64 "b)", total, - (uint64_t)DNS_JOURNAL_SIZE_MAX); + "transaction too big to be stored in journal: " + "%" PRIu64 "b (max is %" PRIu64 "b)", + total, (uint64_t)DNS_JOURNAL_SIZE_MAX); return (ISC_R_UNEXPECTED); } @@ -1151,9 +1169,9 @@ dns_journal_commit(dns_journal_t *j) { * by stepping header.begin forward to the first addressable * transaction. Also purge them from the index. */ - if (! JOURNAL_EMPTY(&j->header)) { - while (! DNS_SERIAL_GT(j->x.pos[1].serial, - j->header.begin.serial)) { + if (!JOURNAL_EMPTY(&j->header)) { + while (!DNS_SERIAL_GT(j->x.pos[1].serial, + j->header.begin.serial)) { CHECK(journal_next(j, &j->header.begin)); } index_invalidate(j, j->x.pos[1].serial); @@ -1172,7 +1190,7 @@ dns_journal_commit(dns_journal_t *j) { if (j->state == JOURNAL_STATE_TRANSACTION) { isc_offset_t offset; offset = (j->x.pos[1].offset - j->x.pos[0].offset) - - sizeof(journal_rawxhdr_t); + sizeof(journal_rawxhdr_t); /* * Update the transaction header. */ @@ -1214,24 +1232,26 @@ dns_journal_commit(dns_journal_t *j) { result = ISC_R_SUCCESS; - failure: +failure: return (result); } isc_result_t -dns_journal_write_transaction(dns_journal_t *j, dns_diff_t *diff) { +dns_journal_write_transaction(dns_journal_t *j, dns_diff_t *diff) +{ isc_result_t result; CHECK(dns_diff_sort(diff, ixfr_order)); CHECK(dns_journal_begin_transaction(j)); CHECK(dns_journal_writediff(j, diff)); CHECK(dns_journal_commit(j)); result = ISC_R_SUCCESS; - failure: +failure: return (result); } void -dns_journal_destroy(dns_journal_t **journalp) { +dns_journal_destroy(dns_journal_t **journalp) +{ dns_journal_t *j = *journalp; *journalp = NULL; REQUIRE(DNS_JOURNAL_VALID(j)); @@ -1240,11 +1260,11 @@ dns_journal_destroy(dns_journal_t **journalp) { dns_name_invalidate(&j->it.name); dns_decompress_invalidate(&j->it.dctx); if (j->rawindex != NULL) - isc_mem_put(j->mctx, j->rawindex, j->header.index_size * - sizeof(journal_rawpos_t)); + isc_mem_put(j->mctx, j->rawindex, + j->header.index_size * sizeof(journal_rawpos_t)); if (j->index != NULL) - isc_mem_put(j->mctx, j->index, j->header.index_size * - sizeof(journal_pos_t)); + isc_mem_put(j->mctx, j->index, + j->header.index_size * sizeof(journal_pos_t)); if (j->it.target.base != NULL) isc_mem_put(j->mctx, j->it.target.base, j->it.target.length); if (j->it.source.base != NULL) @@ -1265,18 +1285,19 @@ dns_journal_destroy(dns_journal_t **journalp) { /* XXX Share code with incoming IXFR? */ static isc_result_t -roll_forward(dns_journal_t *j, dns_db_t *db, unsigned int options) { - isc_buffer_t source; /* Transaction data from disk */ - isc_buffer_t target; /* Ditto after _fromwire check */ - uint32_t db_serial; /* Database SOA serial */ - uint32_t end_serial; /* Last journal SOA serial */ - isc_result_t result; +roll_forward(dns_journal_t *j, dns_db_t *db, unsigned int options) +{ + isc_buffer_t source; /* Transaction data from disk */ + isc_buffer_t target; /* Ditto after _fromwire check */ + uint32_t db_serial; /* Database SOA serial */ + uint32_t end_serial; /* Last journal SOA serial */ + isc_result_t result; dns_dbversion_t *ver = NULL; - journal_pos_t pos; - dns_diff_t diff; - unsigned int n_soa = 0; - unsigned int n_put = 0; - dns_diffop_t op; + journal_pos_t pos; + dns_diff_t diff; + unsigned int n_soa = 0; + unsigned int n_put = 0; + dns_diffop_t op; REQUIRE(DNS_JOURNAL_VALID(j)); REQUIRE(DNS_DB_VALID(db)); @@ -1321,13 +1342,11 @@ roll_forward(dns_journal_t *j, dns_db_t *db, unsigned int options) { CHECK(dns_journal_iter_init(j, db_serial, end_serial)); - for (result = dns_journal_first_rr(j); - result == ISC_R_SUCCESS; - result = dns_journal_next_rr(j)) - { - dns_name_t *name; - uint32_t ttl; - dns_rdata_t *rdata; + for (result = dns_journal_first_rr(j); result == ISC_R_SUCCESS; + result = dns_journal_next_rr(j)) { + dns_name_t * name; + uint32_t ttl; + dns_rdata_t * rdata; dns_difftuple_t *tuple = NULL; name = NULL; @@ -1344,13 +1363,14 @@ roll_forward(dns_journal_t *j, dns_db_t *db, unsigned int options) { n_soa = 1; if (n_soa == 0) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, - "%s: journal file corrupt: missing " - "initial SOA", j->filename); + "%s: journal file corrupt: missing " + "initial SOA", + j->filename); FAIL(ISC_R_UNEXPECTED); } if ((options & DNS_JOURNALOPT_RESIGN) != 0) - op = (n_soa == 1) ? DNS_DIFFOP_DELRESIGN : - DNS_DIFFOP_ADDRESIGN; + op = (n_soa == 1) ? DNS_DIFFOP_DELRESIGN + : DNS_DIFFOP_ADDRESIGN; else op = (n_soa == 1) ? DNS_DIFFOP_DEL : DNS_DIFFOP_ADD; @@ -1358,7 +1378,7 @@ roll_forward(dns_journal_t *j, dns_db_t *db, unsigned int options) { &tuple)); dns_diff_append(&diff, &tuple); - if (++n_put > 100) { + if (++n_put > 100) { isc_log_write(JOURNAL_DEBUG_LOGARGS(3), "%s: applying diff to database (%u)", j->filename, db_serial); @@ -1381,10 +1401,10 @@ roll_forward(dns_journal_t *j, dns_db_t *db, unsigned int options) { dns_diff_clear(&diff); } - failure: +failure: if (ver != NULL) - dns_db_closeversion(db, &ver, result == ISC_R_SUCCESS ? - true : false); + dns_db_closeversion(db, &ver, + result == ISC_R_SUCCESS ? true : false); if (source.base != NULL) isc_mem_put(j->mctx, source.base, source.length); @@ -1403,7 +1423,7 @@ dns_journal_rollforward(isc_mem_t *mctx, dns_db_t *db, unsigned int options, const char *filename) { dns_journal_t *j; - isc_result_t result; + isc_result_t result; REQUIRE(DNS_DB_VALID(db)); REQUIRE(filename != NULL); @@ -1411,8 +1431,8 @@ dns_journal_rollforward(isc_mem_t *mctx, dns_db_t *db, unsigned int options, j = NULL; result = dns_journal_open(mctx, filename, DNS_JOURNAL_READ, &j); if (result == ISC_R_NOTFOUND) { - isc_log_write(JOURNAL_DEBUG_LOGARGS(3), - "no journal file, but that's OK"); + isc_log_write(JOURNAL_DEBUG_LOGARGS(3), "no journal file, but " + "that's OK"); return (DNS_R_NOJOURNAL); } if (result != ISC_R_SUCCESS) @@ -1428,16 +1448,17 @@ dns_journal_rollforward(isc_mem_t *mctx, dns_db_t *db, unsigned int options, } isc_result_t -dns_journal_print(isc_mem_t *mctx, const char *filename, FILE *file) { +dns_journal_print(isc_mem_t *mctx, const char *filename, FILE *file) +{ dns_journal_t *j; - isc_buffer_t source; /* Transaction data from disk */ - isc_buffer_t target; /* Ditto after _fromwire check */ - uint32_t start_serial; /* Database SOA serial */ - uint32_t end_serial; /* Last journal SOA serial */ - isc_result_t result; - dns_diff_t diff; - unsigned int n_soa = 0; - unsigned int n_put = 0; + isc_buffer_t source; /* Transaction data from disk */ + isc_buffer_t target; /* Ditto after _fromwire check */ + uint32_t start_serial; /* Database SOA serial */ + uint32_t end_serial; /* Last journal SOA serial */ + isc_result_t result; + dns_diff_t diff; + unsigned int n_soa = 0; + unsigned int n_put = 0; REQUIRE(filename != NULL); @@ -1472,13 +1493,11 @@ dns_journal_print(isc_mem_t *mctx, const char *filename, FILE *file) { CHECK(dns_journal_iter_init(j, start_serial, end_serial)); - for (result = dns_journal_first_rr(j); - result == ISC_R_SUCCESS; - result = dns_journal_next_rr(j)) - { - dns_name_t *name; - uint32_t ttl; - dns_rdata_t *rdata; + for (result = dns_journal_first_rr(j); result == ISC_R_SUCCESS; + result = dns_journal_next_rr(j)) { + dns_name_t * name; + uint32_t ttl; + dns_rdata_t * rdata; dns_difftuple_t *tuple = NULL; name = NULL; @@ -1493,15 +1512,16 @@ dns_journal_print(isc_mem_t *mctx, const char *filename, FILE *file) { if (n_soa == 0) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, "%s: journal file corrupt: missing " - "initial SOA", j->filename); + "initial SOA", + j->filename); FAIL(ISC_R_UNEXPECTED); } - CHECK(dns_difftuple_create(diff.mctx, n_soa == 1 ? - DNS_DIFFOP_DEL : DNS_DIFFOP_ADD, - name, ttl, rdata, &tuple)); + CHECK(dns_difftuple_create( + diff.mctx, n_soa == 1 ? DNS_DIFFOP_DEL : DNS_DIFFOP_ADD, + name, ttl, rdata, &tuple)); dns_diff_append(&diff, &tuple); - if (++n_put > 100) { + if (++n_put > 100) { result = dns_diff_print(&diff, file); dns_diff_clear(&diff); n_put = 0; @@ -1519,11 +1539,11 @@ dns_journal_print(isc_mem_t *mctx, const char *filename, FILE *file) { } goto cleanup; - failure: +failure: isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, "%s: cannot print: journal file corrupt", j->filename); - cleanup: +cleanup: if (source.base != NULL) isc_mem_put(j->mctx, source.base, source.length); if (target.base != NULL) @@ -1540,23 +1560,26 @@ dns_journal_print(isc_mem_t *mctx, const char *filename, FILE *file) { * Miscellaneous accessors. */ bool -dns_journal_empty(dns_journal_t *j) { +dns_journal_empty(dns_journal_t *j) +{ return (JOURNAL_EMPTY(&j->header)); } uint32_t -dns_journal_first_serial(dns_journal_t *j) { +dns_journal_first_serial(dns_journal_t *j) +{ return (j->header.begin.serial); } uint32_t -dns_journal_last_serial(dns_journal_t *j) { +dns_journal_last_serial(dns_journal_t *j) +{ return (j->header.end.serial); } void -dns_journal_set_sourceserial(dns_journal_t *j, uint32_t sourceserial) { - +dns_journal_set_sourceserial(dns_journal_t *j, uint32_t sourceserial) +{ REQUIRE(j->state == JOURNAL_STATE_WRITE || j->state == JOURNAL_STATE_INLINE || j->state == JOURNAL_STATE_TRANSACTION); @@ -1568,7 +1591,8 @@ dns_journal_set_sourceserial(dns_journal_t *j, uint32_t sourceserial) { } bool -dns_journal_get_sourceserial(dns_journal_t *j, uint32_t *sourceserial) { +dns_journal_get_sourceserial(dns_journal_t *j, uint32_t *sourceserial) +{ REQUIRE(sourceserial != NULL); if (!j->header.serialset) @@ -1589,7 +1613,8 @@ dns_journal_get_sourceserial(dns_journal_t *j, uint32_t *sourceserial) { * when we reach the serial number that was current when the IXFR started. */ -static isc_result_t read_one_rr(dns_journal_t *j); +static isc_result_t +read_one_rr(dns_journal_t *j); /* * Make sure the buffer 'b' is has at least 'size' bytes @@ -1601,7 +1626,8 @@ static isc_result_t read_one_rr(dns_journal_t *j); */ static isc_result_t -size_buffer(isc_mem_t *mctx, isc_buffer_t *b, unsigned size) { +size_buffer(isc_mem_t *mctx, isc_buffer_t *b, unsigned size) +{ if (b->length < size) { void *mem = isc_mem_get(mctx, size); if (mem == NULL) @@ -1616,8 +1642,8 @@ size_buffer(isc_mem_t *mctx, isc_buffer_t *b, unsigned size) { } isc_result_t -dns_journal_iter_init(dns_journal_t *j, - uint32_t begin_serial, uint32_t end_serial) +dns_journal_iter_init(dns_journal_t *j, uint32_t begin_serial, + uint32_t end_serial) { isc_result_t result; @@ -1628,14 +1654,14 @@ dns_journal_iter_init(dns_journal_t *j, INSIST(j->it.epos.serial == end_serial); result = ISC_R_SUCCESS; - failure: +failure: j->it.result = result; return (j->it.result); } - isc_result_t -dns_journal_first_rr(dns_journal_t *j) { +dns_journal_first_rr(dns_journal_t *j) +{ isc_result_t result; /* @@ -1645,25 +1671,26 @@ dns_journal_first_rr(dns_journal_t *j) { CHECK(journal_seek(j, j->it.bpos.offset)); j->it.current_serial = j->it.bpos.serial; - j->it.xsize = 0; /* We have no transaction data yet... */ - j->it.xpos = 0; /* ...and haven't used any of it. */ + j->it.xsize = 0; /* We have no transaction data yet... */ + j->it.xpos = 0; /* ...and haven't used any of it. */ return (read_one_rr(j)); - failure: +failure: return (result); } static isc_result_t -read_one_rr(dns_journal_t *j) { +read_one_rr(dns_journal_t *j) +{ isc_result_t result; - dns_rdatatype_t rdtype; + dns_rdatatype_t rdtype; dns_rdataclass_t rdclass; - unsigned int rdlen; - uint32_t ttl; - journal_xhdr_t xhdr; - journal_rrhdr_t rrhdr; + unsigned int rdlen; + uint32_t ttl; + journal_xhdr_t xhdr; + journal_rrhdr_t rrhdr; if (j->offset > j->it.epos.offset) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, @@ -1687,10 +1714,10 @@ read_one_rr(dns_journal_t *j) { } if (xhdr.serial0 != j->it.current_serial) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, - "%s: journal file corrupt: " - "expected serial %u, got %u", - j->filename, - j->it.current_serial, xhdr.serial0); + "%s: journal file corrupt: " + "expected serial %u, got %u", + j->filename, j->it.current_serial, + xhdr.serial0); FAIL(ISC_R_UNEXPECTED); } j->it.xsize = xhdr.size; @@ -1707,10 +1734,11 @@ read_one_rr(dns_journal_t *j) { * RR has 65535 bytes of data, a header, and a maximum- * size owner name, well below 70 k total. */ - if (rrhdr.size < 1+10 || rrhdr.size > 70000) { + if (rrhdr.size < 1 + 10 || rrhdr.size > 70000) { isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR, - "%s: journal corrupt: impossible RR size " - "(%d bytes)", j->filename, rrhdr.size); + "%s: journal corrupt: impossible RR size " + "(%d bytes)", + j->filename, rrhdr.size); FAIL(ISC_R_UNEXPECTED); } @@ -1733,8 +1761,8 @@ read_one_rr(dns_journal_t *j) { */ isc_buffer_setactive(&j->it.source, j->it.source.used - j->it.source.current); - CHECK(dns_name_fromwire(&j->it.name, &j->it.source, - &j->it.dctx, 0, &j->it.target)); + CHECK(dns_name_fromwire(&j->it.name, &j->it.source, &j->it.dctx, 0, + &j->it.target)); /* * Check that the RR header is there, and parse it. @@ -1754,9 +1782,8 @@ read_one_rr(dns_journal_t *j) { FAIL(DNS_R_FORMERR); isc_buffer_setactive(&j->it.source, rdlen); dns_rdata_reset(&j->it.rdata); - CHECK(dns_rdata_fromwire(&j->it.rdata, rdclass, - rdtype, &j->it.source, &j->it.dctx, - 0, &j->it.target)); + CHECK(dns_rdata_fromwire(&j->it.rdata, rdclass, rdtype, &j->it.source, + &j->it.dctx, 0, &j->it.target)); j->it.ttl = ttl; j->it.xpos += sizeof(journal_rawrrhdr_t) + rrhdr.size; @@ -1767,20 +1794,21 @@ read_one_rr(dns_journal_t *j) { result = ISC_R_SUCCESS; - failure: +failure: j->it.result = result; return (result); } isc_result_t -dns_journal_next_rr(dns_journal_t *j) { +dns_journal_next_rr(dns_journal_t *j) +{ j->it.result = read_one_rr(j); return (j->it.result); } void dns_journal_current_rr(dns_journal_t *j, dns_name_t **name, uint32_t *ttl, - dns_rdata_t **rdata) + dns_rdata_t **rdata) { REQUIRE(j->it.result == ISC_R_SUCCESS); *name = &j->it.name; @@ -1807,10 +1835,10 @@ get_name_diff(dns_db_t *db, dns_dbversion_t *ver, isc_stdtime_t now, dns_dbiterator_t *dbit, dns_name_t *name, dns_diffop_t op, dns_diff_t *diff) { - isc_result_t result; - dns_dbnode_t *node = NULL; + isc_result_t result; + dns_dbnode_t * node = NULL; dns_rdatasetiter_t *rdsiter = NULL; - dns_difftuple_t *tuple = NULL; + dns_difftuple_t * tuple = NULL; result = dns_dbiterator_current(dbit, &node, name); if (result != ISC_R_SUCCESS) @@ -1820,10 +1848,8 @@ get_name_diff(dns_db_t *db, dns_dbversion_t *ver, isc_stdtime_t now, if (result != ISC_R_SUCCESS) goto cleanup_node; - for (result = dns_rdatasetiter_first(rdsiter); - result == ISC_R_SUCCESS; - result = dns_rdatasetiter_next(rdsiter)) - { + for (result = dns_rdatasetiter_first(rdsiter); result == ISC_R_SUCCESS; + result = dns_rdatasetiter_next(rdsiter)) { dns_rdataset_t rdataset; dns_rdataset_init(&rdataset); @@ -1831,8 +1857,7 @@ get_name_diff(dns_db_t *db, dns_dbversion_t *ver, isc_stdtime_t now, for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(&rdataset)) - { + result = dns_rdataset_next(&rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(&rdataset, &rdata); result = dns_difftuple_create(diff->mctx, op, name, @@ -1853,10 +1878,10 @@ get_name_diff(dns_db_t *db, dns_dbversion_t *ver, isc_stdtime_t now, result = ISC_R_SUCCESS; - cleanup_iterator: +cleanup_iterator: dns_rdatasetiter_destroy(&rdsiter); - cleanup_node: +cleanup_node: dns_db_detachnode(db, &node); return (result); @@ -1869,12 +1894,13 @@ get_name_diff(dns_db_t *db, dns_dbversion_t *ver, isc_stdtime_t now, * it is known to be the same for all tuples. */ static int -rdata_order(const void *av, const void *bv) { - dns_difftuple_t const * const *ap = av; - dns_difftuple_t const * const *bp = bv; - dns_difftuple_t const *a = *ap; - dns_difftuple_t const *b = *bp; - int r; +rdata_order(const void *av, const void *bv) +{ + dns_difftuple_t const *const *ap = av; + dns_difftuple_t const *const *bp = bv; + dns_difftuple_t const * a = *ap; + dns_difftuple_t const * b = *bp; + int r; r = (b->rdata.type - a->rdata.type); if (r != 0) return (r); @@ -1883,11 +1909,12 @@ rdata_order(const void *av, const void *bv) { } static isc_result_t -dns_diff_subtract(dns_diff_t diff[2], dns_diff_t *r) { - isc_result_t result; +dns_diff_subtract(dns_diff_t diff[2], dns_diff_t *r) +{ + isc_result_t result; dns_difftuple_t *p[2]; - int i, t; - bool append; + int i, t; + bool append; CHECK(dns_diff_sort(&diff[0], rdata_order)); CHECK(dns_diff_sort(&diff[1], rdata_order)); @@ -1929,26 +1956,26 @@ dns_diff_subtract(dns_diff_t diff[2], dns_diff_t *r) { dns_difftuple_free(&p[i]); } } - next: ; + next:; } result = ISC_R_SUCCESS; - failure: +failure: return (result); } static isc_result_t -diff_namespace(dns_db_t *dba, dns_dbversion_t *dbvera, - dns_db_t *dbb, dns_dbversion_t *dbverb, - unsigned int options, dns_diff_t *resultdiff) +diff_namespace(dns_db_t *dba, dns_dbversion_t *dbvera, dns_db_t *dbb, + dns_dbversion_t *dbverb, unsigned int options, + dns_diff_t *resultdiff) { - dns_db_t *db[2]; - dns_dbversion_t *ver[2]; + dns_db_t * db[2]; + dns_dbversion_t * ver[2]; dns_dbiterator_t *dbit[2] = { NULL, NULL }; - bool have[2] = { false, false }; - dns_fixedname_t fixname[2]; - isc_result_t result, itresult[2]; - dns_diff_t diff[2]; - int i, t; + bool have[2] = { false, false }; + dns_fixedname_t fixname[2]; + isc_result_t result, itresult[2]; + dns_diff_t diff[2]; + int i, t; db[0] = dba, db[1] = dbb; ver[0] = dbvera, ver[1] = dbverb; @@ -1971,26 +1998,26 @@ diff_namespace(dns_db_t *dba, dns_dbversion_t *dbvera, for (;;) { for (i = 0; i < 2; i++) { - if (! have[i] && itresult[i] == ISC_R_SUCCESS) { - CHECK(get_name_diff(db[i], ver[i], 0, dbit[i], - dns_fixedname_name(&fixname[i]), - i == 0 ? - DNS_DIFFOP_ADD : - DNS_DIFFOP_DEL, - &diff[i])); + if (!have[i] && itresult[i] == ISC_R_SUCCESS) { + CHECK(get_name_diff( + db[i], ver[i], 0, dbit[i], + dns_fixedname_name(&fixname[i]), + i == 0 ? DNS_DIFFOP_ADD + : DNS_DIFFOP_DEL, + &diff[i])); itresult[i] = dns_dbiterator_next(dbit[i]); have[i] = true; } } - if (! have[0] && ! have[1]) { + if (!have[0] && !have[1]) { INSIST(ISC_LIST_EMPTY(diff[0].tuples)); INSIST(ISC_LIST_EMPTY(diff[1].tuples)); break; } for (i = 0; i < 2; i++) { - if (! have[!i]) { + if (!have[!i]) { ISC_LIST_APPENDLIST(resultdiff->tuples, diff[i].tuples, link); INSIST(ISC_LIST_EMPTY(diff[i].tuples)); @@ -2002,15 +2029,15 @@ diff_namespace(dns_db_t *dba, dns_dbversion_t *dbvera, t = dns_name_compare(dns_fixedname_name(&fixname[0]), dns_fixedname_name(&fixname[1])); if (t < 0) { - ISC_LIST_APPENDLIST(resultdiff->tuples, - diff[0].tuples, link); + ISC_LIST_APPENDLIST(resultdiff->tuples, diff[0].tuples, + link); INSIST(ISC_LIST_EMPTY(diff[0].tuples)); have[0] = false; continue; } if (t > 0) { - ISC_LIST_APPENDLIST(resultdiff->tuples, - diff[1].tuples, link); + ISC_LIST_APPENDLIST(resultdiff->tuples, diff[1].tuples, + link); INSIST(ISC_LIST_EMPTY(diff[1].tuples)); have[1] = false; continue; @@ -2020,7 +2047,7 @@ diff_namespace(dns_db_t *dba, dns_dbversion_t *dbvera, INSIST(ISC_LIST_EMPTY(diff[0].tuples)); INSIST(ISC_LIST_EMPTY(diff[1].tuples)); have[0] = have[1] = false; - next: ; + next:; } if (itresult[0] != ISC_R_NOMORE) FAIL(itresult[0]); @@ -2030,10 +2057,10 @@ diff_namespace(dns_db_t *dba, dns_dbversion_t *dbvera, INSIST(ISC_LIST_EMPTY(diff[0].tuples)); INSIST(ISC_LIST_EMPTY(diff[1].tuples)); - failure: +failure: dns_dbiterator_destroy(&dbit[1]); - cleanup_iterator: +cleanup_iterator: dns_dbiterator_destroy(&dbit[0]); dns_diff_clear(&diff[0]); dns_diff_clear(&diff[1]); @@ -2051,7 +2078,7 @@ dns_db_diff(isc_mem_t *mctx, dns_db_t *dba, dns_dbversion_t *dbvera, dns_db_t *dbb, dns_dbversion_t *dbverb, const char *filename) { isc_result_t result; - dns_diff_t diff; + dns_diff_t diff; dns_diff_init(mctx, &diff); @@ -2066,7 +2093,7 @@ isc_result_t dns_db_diffx(dns_diff_t *diff, dns_db_t *dba, dns_dbversion_t *dbvera, dns_db_t *dbb, dns_dbversion_t *dbverb, const char *filename) { - isc_result_t result; + isc_result_t result; dns_journal_t *journal = NULL; if (filename != NULL) { @@ -2086,7 +2113,7 @@ dns_db_diffx(dns_diff_t *diff, dns_db_t *dba, dns_dbversion_t *dbvera, CHECK(dns_journal_write_transaction(journal, diff)); } - failure: +failure: if (journal != NULL) dns_journal_destroy(&journal); return (result); @@ -2096,21 +2123,21 @@ isc_result_t dns_journal_compact(isc_mem_t *mctx, char *filename, uint32_t serial, uint32_t target_size) { - unsigned int i; - journal_pos_t best_guess; - journal_pos_t current_pos; - dns_journal_t *j1 = NULL; - dns_journal_t *j2 = NULL; + unsigned int i; + journal_pos_t best_guess; + journal_pos_t current_pos; + dns_journal_t * j1 = NULL; + dns_journal_t * j2 = NULL; journal_rawheader_t rawheader; - unsigned int copy_length; - size_t namelen; - char *buf = NULL; - unsigned int size = 0; - isc_result_t result; - unsigned int indexend; - char newname[PATH_MAX]; - char backup[PATH_MAX]; - bool is_backup = false; + unsigned int copy_length; + size_t namelen; + char * buf = NULL; + unsigned int size = 0; + isc_result_t result; + unsigned int indexend; + char newname[PATH_MAX]; + char backup[PATH_MAX]; + bool is_backup = false; REQUIRE(filename != NULL); @@ -2119,12 +2146,12 @@ dns_journal_compact(isc_mem_t *mctx, char *filename, uint32_t serial, namelen -= 4; } - result = snprintf(newname, sizeof(newname), "%.*s.jnw", - (int)namelen, filename); + result = snprintf(newname, sizeof(newname), "%.*s.jnw", (int)namelen, + filename); RUNTIME_CHECK(result < sizeof(newname)); - result = snprintf(backup, sizeof(backup), "%.*s.jbk", - (int)namelen, filename); + result = snprintf(backup, sizeof(backup), "%.*s.jbk", (int)namelen, + filename); RUNTIME_CHECK(result < sizeof(backup)); result = journal_open(mctx, filename, false, false, &j1); @@ -2154,12 +2181,12 @@ dns_journal_compact(isc_mem_t *mctx, char *filename, uint32_t serial, if (target_size < DNS_JOURNAL_SIZE_MIN) target_size = DNS_JOURNAL_SIZE_MIN; if (target_size < indexend * 2) - target_size = target_size/2 + indexend; + target_size = target_size / 2 + indexend; /* * See if there is any work to do. */ - if ((uint32_t) j1->header.end.offset < target_size) { + if ((uint32_t)j1->header.end.offset < target_size) { dns_journal_destroy(&j1); return (ISC_R_SUCCESS); } @@ -2179,8 +2206,8 @@ dns_journal_compact(isc_mem_t *mctx, char *filename, uint32_t serial, for (i = 0; i < j1->header.index_size; i++) { if (POS_VALID(j1->index[i]) && DNS_SERIAL_GE(serial, j1->index[i].serial) && - ((uint32_t)(j1->header.end.offset - j1->index[i].offset) - >= target_size / 2) && + ((uint32_t)(j1->header.end.offset - j1->index[i].offset) >= + target_size / 2) && j1->index[i].offset > best_guess.offset) best_guess = j1->index[i]; } @@ -2192,8 +2219,8 @@ dns_journal_compact(isc_mem_t *mctx, char *filename, uint32_t serial, break; if (DNS_SERIAL_GE(serial, current_pos.serial) && - ((uint32_t)(j1->header.end.offset - current_pos.offset) - >= (target_size / 2)) && + ((uint32_t)(j1->header.end.offset - current_pos.offset) >= + (target_size / 2)) && current_pos.offset > best_guess.offset) best_guess = current_pos; else @@ -2215,7 +2242,7 @@ dns_journal_compact(isc_mem_t *mctx, char *filename, uint32_t serial, /* * Copy best_guess to end into space just freed. */ - size = 64*1024; + size = 64 * 1024; if (copy_length < size) size = copy_length; buf = isc_mem_get(mctx, size); @@ -2223,8 +2250,9 @@ dns_journal_compact(isc_mem_t *mctx, char *filename, uint32_t serial, CHECK(journal_seek(j1, best_guess.offset)); CHECK(journal_seek(j2, indexend)); for (i = 0; i < copy_length; i += size) { - unsigned int len = (copy_length - i) > size ? size : - (copy_length - i); + unsigned int len = (copy_length - i) > size + ? size + : (copy_length - i); CHECK(journal_read(j1, buf, len)); CHECK(journal_write(j2, buf, len)); } @@ -2298,7 +2326,7 @@ dns_journal_compact(isc_mem_t *mctx, char *filename, uint32_t serial, goto maperrno; (void)isc_file_remove(backup); } else { - maperrno: + maperrno: result = ISC_R_FAILURE; goto failure; } @@ -2306,7 +2334,7 @@ dns_journal_compact(isc_mem_t *mctx, char *filename, uint32_t serial, result = ISC_R_SUCCESS; - failure: +failure: (void)isc_file_remove(newname); if (buf != NULL) isc_mem_put(mctx, buf, size); @@ -2318,13 +2346,14 @@ dns_journal_compact(isc_mem_t *mctx, char *filename, uint32_t serial, } static isc_result_t -index_to_disk(dns_journal_t *j) { +index_to_disk(dns_journal_t *j) +{ isc_result_t result = ISC_R_SUCCESS; if (j->header.index_size != 0) { - unsigned int i; + unsigned int i; unsigned char *p; - unsigned int rawbytes; + unsigned int rawbytes; rawbytes = j->header.index_size * sizeof(journal_rawpos_t); diff --git a/lib/dns/kasp.c b/lib/dns/kasp.c index 9f59b97b05..8ae10bb999 100644 --- a/lib/dns/kasp.c +++ b/lib/dns/kasp.c @@ -19,12 +19,13 @@ #include #include -#include #include #include +#include isc_result_t -dns_kasp_create(isc_mem_t *mctx, const char *name, dns_kasp_t **kaspp) { +dns_kasp_create(isc_mem_t *mctx, const char *name, dns_kasp_t **kaspp) +{ dns_kasp_t *kasp; REQUIRE(name != NULL); @@ -68,7 +69,8 @@ dns_kasp_create(isc_mem_t *mctx, const char *name, dns_kasp_t **kaspp) { } void -dns_kasp_attach(dns_kasp_t *source, dns_kasp_t **targetp) { +dns_kasp_attach(dns_kasp_t *source, dns_kasp_t **targetp) +{ REQUIRE(DNS_KASP_VALID(source)); REQUIRE(targetp != NULL && *targetp == NULL); @@ -77,7 +79,8 @@ dns_kasp_attach(dns_kasp_t *source, dns_kasp_t **targetp) { } static inline void -destroy(dns_kasp_t *kasp) { +destroy(dns_kasp_t *kasp) +{ dns_kasp_key_t *key; dns_kasp_key_t *key_next; @@ -95,7 +98,8 @@ destroy(dns_kasp_t *kasp) { } void -dns_kasp_detach(dns_kasp_t **kaspp) { +dns_kasp_detach(dns_kasp_t **kaspp) +{ REQUIRE(kaspp != NULL && DNS_KASP_VALID(*kaspp)); dns_kasp_t *kasp = *kaspp; @@ -107,14 +111,16 @@ dns_kasp_detach(dns_kasp_t **kaspp) { } const char * -dns_kasp_getname(dns_kasp_t *kasp) { +dns_kasp_getname(dns_kasp_t *kasp) +{ REQUIRE(DNS_KASP_VALID(kasp)); return (kasp->name); } void -dns_kasp_freeze(dns_kasp_t *kasp) { +dns_kasp_freeze(dns_kasp_t *kasp) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(!kasp->frozen); @@ -122,7 +128,8 @@ dns_kasp_freeze(dns_kasp_t *kasp) { } void -dns_kasp_thaw(dns_kasp_t *kasp) { +dns_kasp_thaw(dns_kasp_t *kasp) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(kasp->frozen); @@ -130,7 +137,8 @@ dns_kasp_thaw(dns_kasp_t *kasp) { } uint32_t -dns_kasp_signdelay(dns_kasp_t *kasp) { +dns_kasp_signdelay(dns_kasp_t *kasp) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(kasp->frozen); @@ -138,7 +146,8 @@ dns_kasp_signdelay(dns_kasp_t *kasp) { } uint32_t -dns_kasp_sigrefresh(dns_kasp_t *kasp) { +dns_kasp_sigrefresh(dns_kasp_t *kasp) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(kasp->frozen); @@ -146,7 +155,8 @@ dns_kasp_sigrefresh(dns_kasp_t *kasp) { } void -dns_kasp_setsigrefresh(dns_kasp_t *kasp, uint32_t value) { +dns_kasp_setsigrefresh(dns_kasp_t *kasp, uint32_t value) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(!kasp->frozen); @@ -154,7 +164,8 @@ dns_kasp_setsigrefresh(dns_kasp_t *kasp, uint32_t value) { } uint32_t -dns_kasp_sigvalidity(dns_kasp_t *kasp) { +dns_kasp_sigvalidity(dns_kasp_t *kasp) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(kasp->frozen); @@ -162,7 +173,8 @@ dns_kasp_sigvalidity(dns_kasp_t *kasp) { } void -dns_kasp_setsigvalidity(dns_kasp_t *kasp, uint32_t value) { +dns_kasp_setsigvalidity(dns_kasp_t *kasp, uint32_t value) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(!kasp->frozen); @@ -170,7 +182,8 @@ dns_kasp_setsigvalidity(dns_kasp_t *kasp, uint32_t value) { } uint32_t -dns_kasp_sigvalidity_dnskey(dns_kasp_t *kasp) { +dns_kasp_sigvalidity_dnskey(dns_kasp_t *kasp) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(kasp->frozen); @@ -178,7 +191,8 @@ dns_kasp_sigvalidity_dnskey(dns_kasp_t *kasp) { } void -dns_kasp_setsigvalidity_dnskey(dns_kasp_t *kasp, uint32_t value) { +dns_kasp_setsigvalidity_dnskey(dns_kasp_t *kasp, uint32_t value) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(!kasp->frozen); @@ -186,7 +200,8 @@ dns_kasp_setsigvalidity_dnskey(dns_kasp_t *kasp, uint32_t value) { } dns_ttl_t -dns_kasp_dnskeyttl(dns_kasp_t *kasp) { +dns_kasp_dnskeyttl(dns_kasp_t *kasp) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(kasp->frozen); @@ -194,7 +209,8 @@ dns_kasp_dnskeyttl(dns_kasp_t *kasp) { } void -dns_kasp_setdnskeyttl(dns_kasp_t *kasp, dns_ttl_t ttl) { +dns_kasp_setdnskeyttl(dns_kasp_t *kasp, dns_ttl_t ttl) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(!kasp->frozen); @@ -202,7 +218,8 @@ dns_kasp_setdnskeyttl(dns_kasp_t *kasp, dns_ttl_t ttl) { } uint32_t -dns_kasp_publishsafety(dns_kasp_t *kasp) { +dns_kasp_publishsafety(dns_kasp_t *kasp) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(kasp->frozen); @@ -210,7 +227,8 @@ dns_kasp_publishsafety(dns_kasp_t *kasp) { } void -dns_kasp_setpublishsafety(dns_kasp_t *kasp, uint32_t value) { +dns_kasp_setpublishsafety(dns_kasp_t *kasp, uint32_t value) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(!kasp->frozen); @@ -218,7 +236,8 @@ dns_kasp_setpublishsafety(dns_kasp_t *kasp, uint32_t value) { } uint32_t -dns_kasp_retiresafety(dns_kasp_t *kasp) { +dns_kasp_retiresafety(dns_kasp_t *kasp) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(kasp->frozen); @@ -226,7 +245,8 @@ dns_kasp_retiresafety(dns_kasp_t *kasp) { } void -dns_kasp_setretiresafety(dns_kasp_t *kasp, uint32_t value) { +dns_kasp_setretiresafety(dns_kasp_t *kasp, uint32_t value) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(!kasp->frozen); @@ -234,7 +254,8 @@ dns_kasp_setretiresafety(dns_kasp_t *kasp, uint32_t value) { } dns_ttl_t -dns_kasp_zonemaxttl(dns_kasp_t *kasp) { +dns_kasp_zonemaxttl(dns_kasp_t *kasp) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(kasp->frozen); @@ -242,7 +263,8 @@ dns_kasp_zonemaxttl(dns_kasp_t *kasp) { } void -dns_kasp_setzonemaxttl(dns_kasp_t *kasp, dns_ttl_t ttl) { +dns_kasp_setzonemaxttl(dns_kasp_t *kasp, dns_ttl_t ttl) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(!kasp->frozen); @@ -250,7 +272,8 @@ dns_kasp_setzonemaxttl(dns_kasp_t *kasp, dns_ttl_t ttl) { } uint32_t -dns_kasp_zonepropagationdelay(dns_kasp_t *kasp) { +dns_kasp_zonepropagationdelay(dns_kasp_t *kasp) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(kasp->frozen); @@ -258,7 +281,8 @@ dns_kasp_zonepropagationdelay(dns_kasp_t *kasp) { } void -dns_kasp_setzonepropagationdelay(dns_kasp_t *kasp, uint32_t value) { +dns_kasp_setzonepropagationdelay(dns_kasp_t *kasp, uint32_t value) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(!kasp->frozen); @@ -266,7 +290,8 @@ dns_kasp_setzonepropagationdelay(dns_kasp_t *kasp, uint32_t value) { } dns_ttl_t -dns_kasp_dsttl(dns_kasp_t *kasp) { +dns_kasp_dsttl(dns_kasp_t *kasp) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(kasp->frozen); @@ -274,7 +299,8 @@ dns_kasp_dsttl(dns_kasp_t *kasp) { } void -dns_kasp_setdsttl(dns_kasp_t *kasp, dns_ttl_t ttl) { +dns_kasp_setdsttl(dns_kasp_t *kasp, dns_ttl_t ttl) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(!kasp->frozen); @@ -282,7 +308,8 @@ dns_kasp_setdsttl(dns_kasp_t *kasp, dns_ttl_t ttl) { } uint32_t -dns_kasp_parentpropagationdelay(dns_kasp_t *kasp) { +dns_kasp_parentpropagationdelay(dns_kasp_t *kasp) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(kasp->frozen); @@ -290,7 +317,8 @@ dns_kasp_parentpropagationdelay(dns_kasp_t *kasp) { } void -dns_kasp_setparentpropagationdelay(dns_kasp_t *kasp, uint32_t value) { +dns_kasp_setparentpropagationdelay(dns_kasp_t *kasp, uint32_t value) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(!kasp->frozen); @@ -298,7 +326,8 @@ dns_kasp_setparentpropagationdelay(dns_kasp_t *kasp, uint32_t value) { } uint32_t -dns_kasp_parentregistrationdelay(dns_kasp_t *kasp) { +dns_kasp_parentregistrationdelay(dns_kasp_t *kasp) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(kasp->frozen); @@ -306,7 +335,8 @@ dns_kasp_parentregistrationdelay(dns_kasp_t *kasp) { } void -dns_kasp_setparentregistrationdelay(dns_kasp_t *kasp, uint32_t value) { +dns_kasp_setparentregistrationdelay(dns_kasp_t *kasp, uint32_t value) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(!kasp->frozen); @@ -314,7 +344,8 @@ dns_kasp_setparentregistrationdelay(dns_kasp_t *kasp, uint32_t value) { } isc_result_t -dns_kasplist_find(dns_kasplist_t *list, const char *name, dns_kasp_t **kaspp) { +dns_kasplist_find(dns_kasplist_t *list, const char *name, dns_kasp_t **kaspp) +{ dns_kasp_t *kasp = NULL; REQUIRE(kaspp != NULL && *kaspp == NULL); @@ -324,8 +355,7 @@ dns_kasplist_find(dns_kasplist_t *list, const char *name, dns_kasp_t **kaspp) { } for (kasp = ISC_LIST_HEAD(*list); kasp != NULL; - kasp = ISC_LIST_NEXT(kasp, link)) - { + kasp = ISC_LIST_NEXT(kasp, link)) { if (strcmp(kasp->name, name) == 0) { break; } @@ -340,7 +370,8 @@ dns_kasplist_find(dns_kasplist_t *list, const char *name, dns_kasp_t **kaspp) { } dns_kasp_keylist_t -dns_kasp_keys(dns_kasp_t *kasp) { +dns_kasp_keys(dns_kasp_t *kasp) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(kasp->frozen); @@ -348,14 +379,16 @@ dns_kasp_keys(dns_kasp_t *kasp) { } bool -dns_kasp_keylist_empty(dns_kasp_t *kasp) { +dns_kasp_keylist_empty(dns_kasp_t *kasp) +{ REQUIRE(DNS_KASP_VALID(kasp)); return (ISC_LIST_EMPTY(kasp->keys)); } void -dns_kasp_addkey(dns_kasp_t *kasp, dns_kasp_key_t *key) { +dns_kasp_addkey(dns_kasp_t *kasp, dns_kasp_key_t *key) +{ REQUIRE(DNS_KASP_VALID(kasp)); REQUIRE(!kasp->frozen); REQUIRE(key != NULL); @@ -364,7 +397,8 @@ dns_kasp_addkey(dns_kasp_t *kasp, dns_kasp_key_t *key) { } isc_result_t -dns_kasp_key_create(dns_kasp_t *kasp, dns_kasp_key_t **keyp) { +dns_kasp_key_create(dns_kasp_t *kasp, dns_kasp_key_t **keyp) +{ dns_kasp_key_t *key; REQUIRE(DNS_KASP_VALID(kasp)); @@ -385,21 +419,24 @@ dns_kasp_key_create(dns_kasp_t *kasp, dns_kasp_key_t **keyp) { } void -dns_kasp_key_destroy(dns_kasp_key_t *key) { +dns_kasp_key_destroy(dns_kasp_key_t *key) +{ REQUIRE(key != NULL); isc_mem_putanddetach(&key->mctx, key, sizeof(*key)); } uint32_t -dns_kasp_key_algorithm(dns_kasp_key_t *key) { +dns_kasp_key_algorithm(dns_kasp_key_t *key) +{ REQUIRE(key != NULL); return (key->algorithm); } unsigned int -dns_kasp_key_size(dns_kasp_key_t *key) { +dns_kasp_key_size(dns_kasp_key_t *key) +{ unsigned int size = 0; unsigned int min = 0; @@ -412,7 +449,7 @@ dns_kasp_key_size(dns_kasp_key_t *key) { case DNS_KEYALG_RSASHA512: min = DNS_KEYALG_RSASHA512 ? 1024 : 512; if (key->length > -1) { - size = (unsigned int) key->length; + size = (unsigned int)key->length; if (size < min) { size = min; } @@ -443,21 +480,24 @@ dns_kasp_key_size(dns_kasp_key_t *key) { } uint32_t -dns_kasp_key_lifetime(dns_kasp_key_t *key) { +dns_kasp_key_lifetime(dns_kasp_key_t *key) +{ REQUIRE(key != NULL); return (key->lifetime); } bool -dns_kasp_key_ksk(dns_kasp_key_t *key) { +dns_kasp_key_ksk(dns_kasp_key_t *key) +{ REQUIRE(key != NULL); return (key->role & DNS_KASP_KEY_ROLE_KSK); } bool -dns_kasp_key_zsk(dns_kasp_key_t *key) { +dns_kasp_key_zsk(dns_kasp_key_t *key) +{ REQUIRE(key != NULL); return (key->role & DNS_KASP_KEY_ROLE_ZSK); diff --git a/lib/dns/key.c b/lib/dns/key.c index 61aaa17f0c..b8b059619a 100644 --- a/lib/dns/key.c +++ b/lib/dns/key.c @@ -9,9 +9,9 @@ * information regarding copyright ownership. */ +#include #include #include -#include #include #include @@ -19,15 +19,16 @@ #include -#include - #include "dst_internal.h" +#include + uint16_t -dst_region_computeid(const isc_region_t *source) { - uint32_t ac; +dst_region_computeid(const isc_region_t *source) +{ + uint32_t ac; const unsigned char *p; - int size; + int size; REQUIRE(source != NULL); REQUIRE(source->length >= 4); @@ -46,10 +47,11 @@ dst_region_computeid(const isc_region_t *source) { } uint16_t -dst_region_computerid(const isc_region_t *source) { - uint32_t ac; +dst_region_computerid(const isc_region_t *source) +{ + uint32_t ac; const unsigned char *p; - int size; + int size; REQUIRE(source != NULL); REQUIRE(source->length >= 4); @@ -59,7 +61,7 @@ dst_region_computerid(const isc_region_t *source) { ac = ((*p) << 8) + *(p + 1); ac |= DNS_KEYFLAG_REVOKE; - for (size -= 2, p +=2; size > 1; size -= 2, p += 2) + for (size -= 2, p += 2; size > 1; size -= 2, p += 2) ac += ((*p) << 8) + *(p + 1); if (size > 0) @@ -70,55 +72,64 @@ dst_region_computerid(const isc_region_t *source) { } dns_name_t * -dst_key_name(const dst_key_t *key) { +dst_key_name(const dst_key_t *key) +{ REQUIRE(VALID_KEY(key)); return (key->key_name); } unsigned int -dst_key_size(const dst_key_t *key) { +dst_key_size(const dst_key_t *key) +{ REQUIRE(VALID_KEY(key)); return (key->key_size); } unsigned int -dst_key_proto(const dst_key_t *key) { +dst_key_proto(const dst_key_t *key) +{ REQUIRE(VALID_KEY(key)); return (key->key_proto); } unsigned int -dst_key_alg(const dst_key_t *key) { +dst_key_alg(const dst_key_t *key) +{ REQUIRE(VALID_KEY(key)); return (key->key_alg); } uint32_t -dst_key_flags(const dst_key_t *key) { +dst_key_flags(const dst_key_t *key) +{ REQUIRE(VALID_KEY(key)); return (key->key_flags); } dns_keytag_t -dst_key_id(const dst_key_t *key) { +dst_key_id(const dst_key_t *key) +{ REQUIRE(VALID_KEY(key)); return (key->key_id); } dns_keytag_t -dst_key_rid(const dst_key_t *key) { +dst_key_rid(const dst_key_t *key) +{ REQUIRE(VALID_KEY(key)); return (key->key_rid); } dns_rdataclass_t -dst_key_class(const dst_key_t *key) { +dst_key_class(const dst_key_t *key) +{ REQUIRE(VALID_KEY(key)); return (key->key_class); } bool -dst_key_iszonekey(const dst_key_t *key) { +dst_key_iszonekey(const dst_key_t *key) +{ REQUIRE(VALID_KEY(key)); if ((key->key_flags & DNS_KEYTYPE_NOAUTH) != 0) @@ -132,7 +143,8 @@ dst_key_iszonekey(const dst_key_t *key) { } bool -dst_key_isnullkey(const dst_key_t *key) { +dst_key_isnullkey(const dst_key_t *key) +{ REQUIRE(VALID_KEY(key)); if ((key->key_flags & DNS_KEYFLAG_TYPEMASK) != DNS_KEYTYPE_NOKEY) @@ -146,7 +158,8 @@ dst_key_isnullkey(const dst_key_t *key) { } void -dst_key_setbits(dst_key_t *key, uint16_t bits) { +dst_key_setbits(dst_key_t *key, uint16_t bits) +{ unsigned int maxbits; REQUIRE(VALID_KEY(key)); if (bits != 0) { @@ -158,19 +171,22 @@ dst_key_setbits(dst_key_t *key, uint16_t bits) { } uint16_t -dst_key_getbits(const dst_key_t *key) { +dst_key_getbits(const dst_key_t *key) +{ REQUIRE(VALID_KEY(key)); return (key->key_bits); } void -dst_key_setttl(dst_key_t *key, dns_ttl_t ttl) { +dst_key_setttl(dst_key_t *key, dns_ttl_t ttl) +{ REQUIRE(VALID_KEY(key)); key->key_ttl = ttl; } dns_ttl_t -dst_key_getttl(const dst_key_t *key) { +dst_key_getttl(const dst_key_t *key) +{ REQUIRE(VALID_KEY(key)); return (key->key_ttl); } diff --git a/lib/dns/keydata.c b/lib/dns/keydata.c index 8bdd560cad..a5c8481a99 100644 --- a/lib/dns/keydata.c +++ b/lib/dns/keydata.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -19,13 +18,13 @@ #include #include +#include #include #include -#include isc_result_t -dns_keydata_todnskey(dns_rdata_keydata_t *keydata, - dns_rdata_dnskey_t *dnskey, isc_mem_t *mctx) +dns_keydata_todnskey(dns_rdata_keydata_t *keydata, dns_rdata_dnskey_t *dnskey, + isc_mem_t *mctx) { REQUIRE(keydata != NULL && dnskey != NULL); @@ -49,10 +48,9 @@ dns_keydata_todnskey(dns_rdata_keydata_t *keydata, } isc_result_t -dns_keydata_fromdnskey(dns_rdata_keydata_t *keydata, - dns_rdata_dnskey_t *dnskey, - uint32_t refresh, uint32_t addhd, - uint32_t removehd, isc_mem_t *mctx) +dns_keydata_fromdnskey(dns_rdata_keydata_t *keydata, dns_rdata_dnskey_t *dnskey, + uint32_t refresh, uint32_t addhd, uint32_t removehd, + isc_mem_t *mctx) { REQUIRE(keydata != NULL && dnskey != NULL); diff --git a/lib/dns/keymgr.c b/lib/dns/keymgr.c index 3f0b3d372b..21324645dc 100644 --- a/lib/dns/keymgr.c +++ b/lib/dns/keymgr.c @@ -32,55 +32,51 @@ #include #include -#define RETERR(x) do { \ - result = (x); \ - if (result != ISC_R_SUCCESS) \ - goto failure; \ +#define RETERR(x) \ + do { \ + result = (x); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) /* * Set key state to HIDDEN and change last changed to now, * only if key state has not been set before. */ -#define INITIALIZE_STATE(key, state, time) \ - do { \ - dst_key_state_t s; \ - if (dst_key_getstate((key), (state), &s) == \ - ISC_R_NOTFOUND) \ - { \ - isc_stdtime_t t; \ - dst_key_gettime((key), DST_TIME_CREATED, &t); \ - dst_key_setstate((key), (state), HIDDEN); \ - dst_key_settime((key), (time), t); \ - } \ +#define INITIALIZE_STATE(key, state, time) \ + do { \ + dst_key_state_t s; \ + if (dst_key_getstate((key), (state), &s) == ISC_R_NOTFOUND) { \ + isc_stdtime_t t; \ + dst_key_gettime((key), DST_TIME_CREATED, &t); \ + dst_key_setstate((key), (state), HIDDEN); \ + dst_key_settime((key), (time), t); \ + } \ } while (0) /* Shorter keywords for better readability. */ -#define HIDDEN DST_KEY_STATE_HIDDEN -#define RUMOURED DST_KEY_STATE_RUMOURED +#define HIDDEN DST_KEY_STATE_HIDDEN +#define RUMOURED DST_KEY_STATE_RUMOURED #define OMNIPRESENT DST_KEY_STATE_OMNIPRESENT #define UNRETENTIVE DST_KEY_STATE_UNRETENTIVE -#define NA DST_KEY_STATE_NA +#define NA DST_KEY_STATE_NA /* Quickly get key state timing metadata. */ #define NUM_KEYSTATES (DST_MAX_KEYSTATES) -static int keystatetimes[NUM_KEYSTATES] = { - DST_TIME_DNSKEY, DST_TIME_ZRRSIG, DST_TIME_KRRSIG, DST_TIME_DS -}; +static int keystatetimes[NUM_KEYSTATES] = { DST_TIME_DNSKEY, DST_TIME_ZRRSIG, + DST_TIME_KRRSIG, DST_TIME_DS }; /* Readable key state types and values. */ -static const char* keystatetags[NUM_KEYSTATES] = { - "DNSKEY", "ZRRSIG", "KRRSIG", "DS" -}; -static const char* keystatestrings[4] = { - "HIDDEN", "RUMOURED", "OMNIPRESENT", "UNRETENTIVE" -}; +static const char *keystatetags[NUM_KEYSTATES] = { "DNSKEY", "ZRRSIG", "KRRSIG", + "DS" }; +static const char *keystatestrings[4] = { "HIDDEN", "RUMOURED", "OMNIPRESENT", + "UNRETENTIVE" }; /* * Print key role. * */ -static const char* -keymgr_keyrole(dst_key_t* key) +static const char * +keymgr_keyrole(dst_key_t *key) { bool ksk, zsk; dst_key_getbool(key, DST_BOOL_KSK, &ksk); @@ -107,12 +103,12 @@ keymgr_keyrole(dst_key_t* key) * */ static isc_stdtime_t -keymgr_prepublication_time(dns_dnsseckey_t *key, dns_kasp_t* kasp, +keymgr_prepublication_time(dns_dnsseckey_t *key, dns_kasp_t *kasp, uint32_t lifetime, isc_stdtime_t now) { - isc_result_t ret; + isc_result_t ret; isc_stdtime_t active, retire, prepub; - bool ksk = false; + bool ksk = false; REQUIRE(key != NULL); REQUIRE(key->key != NULL); @@ -163,13 +159,12 @@ keymgr_prepublication_time(dns_dnsseckey_t *key, dns_kasp_t* kasp, return (retire - prepub); } - static void keymgr_key_retire(dns_dnsseckey_t *key, isc_stdtime_t now) { - char keystr[DST_KEY_FORMATSIZE]; + char keystr[DST_KEY_FORMATSIZE]; dst_key_state_t s; - bool ksk, zsk; + bool ksk, zsk; REQUIRE(key != NULL); REQUIRE(key->key != NULL); @@ -186,26 +181,23 @@ keymgr_key_retire(dns_dnsseckey_t *key, isc_stdtime_t now) dst_key_settime(key->key, DST_TIME_DNSKEY, now); } - (void) dst_key_getbool(key->key, DST_BOOL_KSK, &ksk); + (void)dst_key_getbool(key->key, DST_BOOL_KSK, &ksk); if (ksk) { if (dst_key_getstate(key->key, DST_KEY_KRRSIG, &s) != - ISC_R_SUCCESS) - { + ISC_R_SUCCESS) { dst_key_setstate(key->key, DST_KEY_KRRSIG, OMNIPRESENT); dst_key_settime(key->key, DST_TIME_KRRSIG, now); } if (dst_key_getstate(key->key, DST_KEY_DS, &s) != - ISC_R_SUCCESS) - { + ISC_R_SUCCESS) { dst_key_setstate(key->key, DST_KEY_DS, OMNIPRESENT); dst_key_settime(key->key, DST_TIME_DS, now); } } - (void) dst_key_getbool(key->key, DST_BOOL_ZSK, &zsk); + (void)dst_key_getbool(key->key, DST_BOOL_ZSK, &zsk); if (zsk) { if (dst_key_getstate(key->key, DST_KEY_ZRRSIG, &s) != - ISC_R_SUCCESS) - { + ISC_R_SUCCESS) { dst_key_setstate(key->key, DST_KEY_ZRRSIG, OMNIPRESENT); dst_key_settime(key->key, DST_TIME_ZRRSIG, now); } @@ -213,8 +205,8 @@ keymgr_key_retire(dns_dnsseckey_t *key, isc_stdtime_t now) dst_key_format(key->key, keystr, sizeof(keystr)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSSEC, DNS_LOGMODULE_DNSSEC, - ISC_LOG_INFO, "keymgr: retire DNSKEY %s (%s)", keystr, - keymgr_keyrole(key->key)); + ISC_LOG_INFO, "keymgr: retire DNSKEY %s (%s)", keystr, + keymgr_keyrole(key->key)); } /* @@ -226,9 +218,9 @@ keymgr_key_retire(dns_dnsseckey_t *key, isc_stdtime_t now) static bool keymgr_dnsseckey_kaspkey_match(dns_dnsseckey_t *dkey, dns_kasp_key_t *kkey) { - dst_key_t *key; + dst_key_t * key; isc_result_t ret; - bool role = false; + bool role = false; REQUIRE(dkey != NULL); REQUIRE(kkey != NULL); @@ -268,16 +260,16 @@ keymgr_createkey(dns_kasp_key_t *kkey, const dns_name_t *origin, dns_rdataclass_t rdclass, isc_mem_t *mctx, dns_dnsseckeylist_t *keylist, dst_key_t **dst_key) { - bool conflict; - int keyflags = DNS_KEYOWNER_ZONE; + bool conflict; + int keyflags = DNS_KEYOWNER_ZONE; isc_result_t result = ISC_R_SUCCESS; - dst_key_t *newkey = NULL; + dst_key_t * newkey = NULL; do { uint16_t id; uint32_t rid; uint32_t algo = dns_kasp_key_algorithm(kkey); - int size = dns_kasp_key_size(kkey); + int size = dns_kasp_key_size(kkey); conflict = false; @@ -292,16 +284,14 @@ keymgr_createkey(dns_kasp_key_t *kkey, const dns_name_t *origin, id = dst_key_id(newkey); rid = dst_key_rid(newkey); for (dns_dnsseckey_t *dkey = ISC_LIST_HEAD(*keylist); - dkey != NULL; dkey = ISC_LIST_NEXT(dkey, link)) - { + dkey != NULL; dkey = ISC_LIST_NEXT(dkey, link)) { if (dst_key_alg(dkey->key) != algo) { continue; } if (dst_key_id(dkey->key) == id || dst_key_rid(dkey->key) == id || dst_key_id(dkey->key) == rid || - dst_key_rid(dkey->key) == rid) - { + dst_key_rid(dkey->key) == rid) { /* Try again. */ conflict = true; isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSSEC, @@ -396,7 +386,7 @@ keymgr_desiredstate(dns_dnsseckey_t *key, dst_key_state_t state) * */ static bool -keymgr_key_match_state(dst_key_t *key, dst_key_t* subject, int type, +keymgr_key_match_state(dst_key_t *key, dst_key_t *subject, int type, dst_key_state_t next_state, dst_key_state_t states[4]) { REQUIRE(key != NULL); @@ -454,37 +444,31 @@ keymgr_key_is_successor(dst_key_t *k1, dst_key_t *k2) * relationship with the found key that matches 'states2'. */ static bool -keymgr_key_exists_with_state(dns_dnsseckeylist_t *keyring, - dns_dnsseckey_t *key, int type, - dst_key_state_t next_state, +keymgr_key_exists_with_state(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, + int type, dst_key_state_t next_state, dst_key_state_t states[4], - dst_key_state_t states2[4], - bool check_successor, bool match_algorithms) + dst_key_state_t states2[4], bool check_successor, + bool match_algorithms) { - for (dns_dnsseckey_t *dkey = ISC_LIST_HEAD(*keyring); - dkey != NULL; dkey = ISC_LIST_NEXT(dkey, link)) - { + for (dns_dnsseckey_t *dkey = ISC_LIST_HEAD(*keyring); dkey != NULL; + dkey = ISC_LIST_NEXT(dkey, link)) { if (match_algorithms && - (dst_key_alg(dkey->key) != dst_key_alg(key->key))) - { + (dst_key_alg(dkey->key) != dst_key_alg(key->key))) { continue; } if (check_successor && keymgr_key_match_state(dkey->key, key->key, type, - next_state, states2)) - { + next_state, states2)) { /* Found a possible successor, look for predecessor. */ for (dns_dnsseckey_t *pkey = ISC_LIST_HEAD(*keyring); - pkey != NULL; pkey = ISC_LIST_NEXT(pkey, link)) - { + pkey != NULL; pkey = ISC_LIST_NEXT(pkey, link)) { if (pkey == dkey) { continue; } - if (!keymgr_key_match_state(pkey->key, - key->key, type, - next_state, states)) - { + if (!keymgr_key_match_state(pkey->key, key->key, + type, next_state, + states)) { continue; } @@ -493,8 +477,7 @@ keymgr_key_exists_with_state(dns_dnsseckeylist_t *keyring, * relationship. */ if (keymgr_key_is_successor(pkey->key, - dkey->key)) - { + dkey->key)) { return (true); } } @@ -502,8 +485,7 @@ keymgr_key_exists_with_state(dns_dnsseckeylist_t *keyring, if (!check_successor && keymgr_key_match_state(dkey->key, key->key, type, - next_state, states)) - { + next_state, states)) { return (true); } } @@ -533,31 +515,27 @@ keymgr_key_has_successor(dns_dnsseckey_t *key, dns_dnsseckeylist_t *keyring) * */ static bool -keymgr_ds_hidden_or_chained(dns_dnsseckeylist_t *keyring, - dns_dnsseckey_t *key, int type, - dst_key_state_t next_state, +keymgr_ds_hidden_or_chained(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, + int type, dst_key_state_t next_state, bool match_algorithms, bool must_be_hidden) { - dst_key_state_t dnskey_omnipresent[4] = - { OMNIPRESENT, NA, OMNIPRESENT, NA }; /* (3e) */ + dst_key_state_t dnskey_omnipresent[4] = { OMNIPRESENT, NA, OMNIPRESENT, + NA }; /* (3e) */ dst_key_state_t ds_hidden[4] = { NA, NA, NA, HIDDEN }; /* (3e) */ dst_key_state_t na[4] = { NA, NA, NA, NA }; /* successor n/a */ - for (dns_dnsseckey_t *dkey = ISC_LIST_HEAD(*keyring); - dkey != NULL; dkey = ISC_LIST_NEXT(dkey, link)) - { + for (dns_dnsseckey_t *dkey = ISC_LIST_HEAD(*keyring); dkey != NULL; + dkey = ISC_LIST_NEXT(dkey, link)) { char keystr[DST_KEY_FORMATSIZE]; dst_key_format(dkey->key, keystr, sizeof(keystr)); if (match_algorithms && - (dst_key_alg(dkey->key) != dst_key_alg(key->key))) - { + (dst_key_alg(dkey->key) != dst_key_alg(key->key))) { continue; } if (keymgr_key_match_state(dkey->key, key->key, type, - next_state, ds_hidden)) - { + next_state, ds_hidden)) { /* This key has its DS hidden. */ continue; } @@ -574,11 +552,9 @@ keymgr_ds_hidden_or_chained(dns_dnsseckeylist_t *keyring, dnskey_omnipresent[DST_KEY_DS] = NA; (void)dst_key_getstate(dkey->key, DST_KEY_DS, &dnskey_omnipresent[DST_KEY_DS]); - if (!keymgr_key_exists_with_state(keyring, key, type, - next_state, - dnskey_omnipresent, na, - false, match_algorithms)) - { + if (!keymgr_key_exists_with_state( + keyring, key, type, next_state, dnskey_omnipresent, + na, false, match_algorithms)) { /* There is no chain of trust. */ return (false); } @@ -600,25 +576,22 @@ static bool keymgr_dnskey_hidden_or_chained(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, int type, dst_key_state_t next_state, - bool match_algorithms) + bool match_algorithms) { - dst_key_state_t rrsig_omnipresent[4] = - { NA, OMNIPRESENT, NA, NA }; /* (3i) */ + dst_key_state_t rrsig_omnipresent[4] = { NA, OMNIPRESENT, NA, + NA }; /* (3i) */ dst_key_state_t dnskey_hidden[4] = { HIDDEN, NA, NA, NA }; /* (3i) */ dst_key_state_t na[4] = { NA, NA, NA, NA }; /* successor n/a */ - for (dns_dnsseckey_t *dkey = ISC_LIST_HEAD(*keyring); - dkey != NULL; dkey = ISC_LIST_NEXT(dkey, link)) - { + for (dns_dnsseckey_t *dkey = ISC_LIST_HEAD(*keyring); dkey != NULL; + dkey = ISC_LIST_NEXT(dkey, link)) { if (match_algorithms && - (dst_key_alg(dkey->key) != dst_key_alg(key->key))) - { + (dst_key_alg(dkey->key) != dst_key_alg(key->key))) { continue; } if (keymgr_key_match_state(dkey->key, key->key, type, - next_state, dnskey_hidden)) - { + next_state, dnskey_hidden)) { /* This key has its DNSKEY hidden. */ continue; } @@ -631,11 +604,9 @@ keymgr_dnskey_hidden_or_chained(dns_dnsseckeylist_t *keyring, rrsig_omnipresent[DST_KEY_DNSKEY] = NA; (void)dst_key_getstate(dkey->key, DST_KEY_DNSKEY, &rrsig_omnipresent[DST_KEY_DNSKEY]); - if (!keymgr_key_exists_with_state(keyring, key, type, - next_state, - rrsig_omnipresent, na, - false, match_algorithms)) - { + if (!keymgr_key_exists_with_state( + keyring, key, type, next_state, rrsig_omnipresent, + na, false, match_algorithms)) { /* There is no chain of trust. */ return (false); } @@ -649,13 +620,13 @@ keymgr_dnskey_hidden_or_chained(dns_dnsseckeylist_t *keyring, * */ static bool -keymgr_have_ds(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, - int type, dst_key_state_t next_state) +keymgr_have_ds(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, int type, + dst_key_state_t next_state) { dst_key_state_t states[2][4] = { /* DNSKEY, ZRRSIG, KRRSIG, DS */ - { NA, NA, NA, OMNIPRESENT }, /* DS present */ - { NA, NA, NA, RUMOURED } /* DS introducing */ + { NA, NA, NA, OMNIPRESENT }, /* DS present */ + { NA, NA, NA, RUMOURED } /* DS introducing */ }; dst_key_state_t na[4] = { NA, NA, NA, NA }; /* successor n/a */ @@ -663,12 +634,10 @@ keymgr_have_ds(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, * Equation (3a): * There is a key with the DS in either RUMOURD or OMNIPRESENT state. */ - return (keymgr_key_exists_with_state(keyring, key, type, - next_state, states[0], na, - false, false) || - keymgr_key_exists_with_state(keyring, key, type, - next_state, states[1], na, - false, false)); + return (keymgr_key_exists_with_state(keyring, key, type, next_state, + states[0], na, false, false) || + keymgr_key_exists_with_state(keyring, key, type, next_state, + states[1], na, false, false)); } /* @@ -677,22 +646,22 @@ keymgr_have_ds(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, * */ static bool -keymgr_have_dnskey(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, - int type, dst_key_state_t next_state) +keymgr_have_dnskey(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, int type, + dst_key_state_t next_state) { dst_key_state_t states[9][4] = { /* DNSKEY, ZRRSIG, KRRSIG, DS */ - { OMNIPRESENT, NA, OMNIPRESENT, OMNIPRESENT }, /* (3b) */ + { OMNIPRESENT, NA, OMNIPRESENT, OMNIPRESENT }, /* (3b) */ - { OMNIPRESENT, NA, OMNIPRESENT, UNRETENTIVE }, /* (3c)p */ - { OMNIPRESENT, NA, OMNIPRESENT, RUMOURED }, /* (3c)s */ + { OMNIPRESENT, NA, OMNIPRESENT, UNRETENTIVE }, /* (3c)p */ + { OMNIPRESENT, NA, OMNIPRESENT, RUMOURED }, /* (3c)s */ - { UNRETENTIVE, NA, UNRETENTIVE, OMNIPRESENT }, /* (3d)p */ - { OMNIPRESENT, NA, UNRETENTIVE, OMNIPRESENT }, /* (3d)p */ - { UNRETENTIVE, NA, OMNIPRESENT, OMNIPRESENT }, /* (3d)p */ - { RUMOURED, NA, RUMOURED, OMNIPRESENT }, /* (3d)s */ - { OMNIPRESENT, NA, RUMOURED, OMNIPRESENT }, /* (3d)s */ - { RUMOURED, NA, OMNIPRESENT, OMNIPRESENT }, /* (3d)s */ + { UNRETENTIVE, NA, UNRETENTIVE, OMNIPRESENT }, /* (3d)p */ + { OMNIPRESENT, NA, UNRETENTIVE, OMNIPRESENT }, /* (3d)p */ + { UNRETENTIVE, NA, OMNIPRESENT, OMNIPRESENT }, /* (3d)p */ + { RUMOURED, NA, RUMOURED, OMNIPRESENT }, /* (3d)s */ + { OMNIPRESENT, NA, RUMOURED, OMNIPRESENT }, /* (3d)s */ + { RUMOURED, NA, OMNIPRESENT, OMNIPRESENT }, /* (3d)s */ }; dst_key_state_t na[4] = { NA, NA, NA, NA }; /* successor n/a */ @@ -702,18 +671,17 @@ keymgr_have_dnskey(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, * There is a key with the same algorithm with its DNSKEY, * KRRSIG and DS records in OMNIPRESENT state. */ - keymgr_key_exists_with_state(keyring, key, type, - next_state, states[0], na, - false, true) || + keymgr_key_exists_with_state(keyring, key, type, next_state, + states[0], na, false, true) || /* * Equation (3c): * There are two or more keys with an OMNIPRESENT DNSKEY and * the DS records get swapped. These keys must be in a * successor relation. */ - keymgr_key_exists_with_state(keyring, key, type, - next_state, states[1], states[2], - true, true) || + keymgr_key_exists_with_state(keyring, key, type, next_state, + states[1], states[2], true, + true) || /* * Equation (3d): * There are two or more keys with an OMNIPRESENT DS and @@ -724,33 +692,33 @@ keymgr_have_dnskey(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, * OMNIPRESENT/UNRETENTIVE state for the predecessor, and * OMNIPRESENT/RUMOURED state for the successor. */ - keymgr_key_exists_with_state(keyring, key, type, - next_state, states[3], states[6], - true, true) || - keymgr_key_exists_with_state(keyring, key, type, - next_state, states[3], states[7], - true, true) || - keymgr_key_exists_with_state(keyring, key, type, - next_state, states[3], states[8], - true, true) || - keymgr_key_exists_with_state(keyring, key, type, - next_state, states[4], states[6], - true, true) || - keymgr_key_exists_with_state(keyring, key, type, - next_state, states[4], states[7], - true, true) || - keymgr_key_exists_with_state(keyring, key, type, - next_state, states[4], states[8], - true, true) || - keymgr_key_exists_with_state(keyring, key, type, - next_state, states[5], states[6], - true, true) || - keymgr_key_exists_with_state(keyring, key, type, - next_state, states[5], states[7], - true, true) || - keymgr_key_exists_with_state(keyring, key, type, - next_state, states[5], states[8], - true, true) || + keymgr_key_exists_with_state(keyring, key, type, next_state, + states[3], states[6], true, + true) || + keymgr_key_exists_with_state(keyring, key, type, next_state, + states[3], states[7], true, + true) || + keymgr_key_exists_with_state(keyring, key, type, next_state, + states[3], states[8], true, + true) || + keymgr_key_exists_with_state(keyring, key, type, next_state, + states[4], states[6], true, + true) || + keymgr_key_exists_with_state(keyring, key, type, next_state, + states[4], states[7], true, + true) || + keymgr_key_exists_with_state(keyring, key, type, next_state, + states[4], states[8], true, + true) || + keymgr_key_exists_with_state(keyring, key, type, next_state, + states[5], states[6], true, + true) || + keymgr_key_exists_with_state(keyring, key, type, next_state, + states[5], states[7], true, + true) || + keymgr_key_exists_with_state(keyring, key, type, next_state, + states[5], states[8], true, + true) || /* * Equation (3e): * The key may be in any state as long as all keys have their @@ -760,9 +728,8 @@ keymgr_have_dnskey(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, * is still available to some validators, there must be a * chain of trust for those validators. */ - keymgr_ds_hidden_or_chained(keyring, key, type, - next_state, true, false) - ); + keymgr_ds_hidden_or_chained(keyring, key, type, next_state, + true, false)); } /* @@ -771,16 +738,16 @@ keymgr_have_dnskey(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, * */ static bool -keymgr_have_rrsig(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, - int type, dst_key_state_t next_state) +keymgr_have_rrsig(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, int type, + dst_key_state_t next_state) { dst_key_state_t states[11][4] = { /* DNSKEY, ZRRSIG, KRRSIG, DS */ - { OMNIPRESENT, OMNIPRESENT, NA, NA }, /* (3f) */ - { UNRETENTIVE, OMNIPRESENT, NA, NA }, /* (3g)p */ - { RUMOURED, OMNIPRESENT, NA, NA }, /* (3g)s */ - { OMNIPRESENT, UNRETENTIVE, NA, NA }, /* (3h)p */ - { OMNIPRESENT, RUMOURED, NA, NA }, /* (3h)s */ + { OMNIPRESENT, OMNIPRESENT, NA, NA }, /* (3f) */ + { UNRETENTIVE, OMNIPRESENT, NA, NA }, /* (3g)p */ + { RUMOURED, OMNIPRESENT, NA, NA }, /* (3g)s */ + { OMNIPRESENT, UNRETENTIVE, NA, NA }, /* (3h)p */ + { OMNIPRESENT, RUMOURED, NA, NA }, /* (3h)s */ }; dst_key_state_t na[4] = { NA, NA, NA, NA }; /* successor n/a */ @@ -788,43 +755,41 @@ keymgr_have_rrsig(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, /* * If all DS records are hidden than this rule can be ignored. */ - keymgr_ds_hidden_or_chained(keyring, key, type, - next_state, true, true) || + keymgr_ds_hidden_or_chained(keyring, key, type, next_state, + true, true) || /* * Equation (3f): * There is a key with the same algorithm with its DNSKEY and * ZRRSIG records in OMNIPRESENT state. */ - keymgr_key_exists_with_state(keyring, key, type, - next_state, states[0], na, - false, true) || + keymgr_key_exists_with_state(keyring, key, type, next_state, + states[0], na, false, true) || /* * Equation (3g): * There are two or more keys with OMNIPRESENT ZRRSIG * records and the DNSKEY records get swapped. These keys * must be in a successor relation. */ - keymgr_key_exists_with_state(keyring, key, type, - next_state, states[1], states[2], - true, true) || + keymgr_key_exists_with_state(keyring, key, type, next_state, + states[1], states[2], true, + true) || /* * Equation (3h): * There are two or more keys with an OMNIPRESENT DNSKEY * and the ZRRSIG records get swapped. These keys must be in * a successor relation. */ - keymgr_key_exists_with_state(keyring, key, type, - next_state, states[3], states[4], - true, true) || + keymgr_key_exists_with_state(keyring, key, type, next_state, + states[3], states[4], true, + true) || /* * Equation (3i): * If no DNSKEYs are published, the state of the signatures is * irrelevant. In case a DNSKEY is published however, there * must be a path that can be validated from there. */ - keymgr_dnskey_hidden_or_chained(keyring, key, type, - next_state, true) - ); + keymgr_dnskey_hidden_or_chained(keyring, key, type, next_state, + true)); } /* @@ -844,12 +809,12 @@ keymgr_policy_approval(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, int type, dst_key_state_t next) { dst_key_state_t dnskeystate = HIDDEN; - dst_key_state_t ksk_present[4] = - { OMNIPRESENT, NA, OMNIPRESENT, OMNIPRESENT }; - dst_key_state_t ds_rumoured[4] = - { OMNIPRESENT, NA, OMNIPRESENT, RUMOURED }; - dst_key_state_t ds_retired[4] = - { OMNIPRESENT, NA, OMNIPRESENT, UNRETENTIVE }; + dst_key_state_t ksk_present[4] = { OMNIPRESENT, NA, OMNIPRESENT, + OMNIPRESENT }; + dst_key_state_t ds_rumoured[4] = { OMNIPRESENT, NA, OMNIPRESENT, + RUMOURED }; + dst_key_state_t ds_retired[4] = { OMNIPRESENT, NA, OMNIPRESENT, + UNRETENTIVE }; dst_key_state_t ksk_rumoured[4] = { RUMOURED, NA, NA, OMNIPRESENT }; dst_key_state_t ksk_retired[4] = { UNRETENTIVE, NA, NA, OMNIPRESENT }; dst_key_state_t na[4] = { NA, NA, NA, NA }; /* successor n/a */ @@ -877,19 +842,15 @@ keymgr_policy_approval(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, * in that case allow publishing the RRSIG records before the * DNSKEY. */ - return (!( - keymgr_key_exists_with_state(keyring, key, type, - next, ksk_present, na, - false, true) || - keymgr_key_exists_with_state(keyring, key, type, - next, ds_retired, - ds_rumoured, true, + return (!(keymgr_key_exists_with_state(keyring, key, type, next, + ksk_present, na, false, true) || - keymgr_key_exists_with_state(keyring, key, type, - next, ksk_retired, - ksk_rumoured, true, - true)) - ); + keymgr_key_exists_with_state(keyring, key, type, next, + ds_retired, ds_rumoured, + true, true) || + keymgr_key_exists_with_state( + keyring, key, type, next, ksk_retired, + ksk_rumoured, true, true))); case DST_KEY_KRRSIG: /* Only introduce if the DNSKEY is also introduced. */ (void)dst_key_getstate(key->key, DST_KEY_DNSKEY, &dnskeystate); @@ -923,18 +884,16 @@ keymgr_transition_allowed(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, rule2b = keymgr_have_dnskey(keyring, key, type, next_state); rule3a = keymgr_have_rrsig(keyring, key, type, NA); rule3b = keymgr_have_rrsig(keyring, key, type, next_state); - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSSEC, - DNS_LOGMODULE_DNSSEC, ISC_LOG_DEBUG(1), - "keymgr: dnssec evaluation of %s %s record %s: " - "rule1=(~%s or %s) rule2=(~%s or %s) " - "rule3=(~%s or %s)", keymgr_keyrole(key->key), - keystr, keystatetags[type], - rule1a ? "true" : "false", - rule1b ? "true" : "false", - rule2a ? "true" : "false", - rule2b ? "true" : "false", - rule3a ? "true" : "false", - rule3b ? "true" : "false"); + isc_log_write( + dns_lctx, DNS_LOGCATEGORY_DNSSEC, DNS_LOGMODULE_DNSSEC, + ISC_LOG_DEBUG(1), + "keymgr: dnssec evaluation of %s %s record %s: " + "rule1=(~%s or %s) rule2=(~%s or %s) " + "rule3=(~%s or %s)", + keymgr_keyrole(key->key), keystr, keystatetags[type], + rule1a ? "true" : "false", rule1b ? "true" : "false", + rule2a ? "true" : "false", rule2b ? "true" : "false", + rule3a ? "true" : "false", rule3b ? "true" : "false"); } return ( @@ -959,8 +918,7 @@ keymgr_transition_allowed(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, * state. */ (!keymgr_have_rrsig(keyring, key, type, NA) || - keymgr_have_rrsig(keyring, key, type, next_state)) - ); + keymgr_have_rrsig(keyring, key, type, next_state))); } /* @@ -968,11 +926,11 @@ keymgr_transition_allowed(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t *key, * */ static void -keymgr_transition_time(dns_dnsseckey_t* key, int type, - dst_key_state_t next_state, dns_kasp_t* kasp, +keymgr_transition_time(dns_dnsseckey_t *key, int type, + dst_key_state_t next_state, dns_kasp_t *kasp, isc_stdtime_t now, isc_stdtime_t *when) { - isc_result_t ret; + isc_result_t ret; isc_stdtime_t lastchange, nexttime = now; /* @@ -990,7 +948,7 @@ keymgr_transition_time(dns_dnsseckey_t* key, int type, lastchange = now; } - switch(type) { + switch (type) { case DST_KEY_DNSKEY: case DST_KEY_KRRSIG: switch (next_state) { @@ -1106,8 +1064,8 @@ keymgr_transition_time(dns_dnsseckey_t* key, int type, * */ static isc_result_t -keymgr_update(dns_dnsseckeylist_t *keyring, dns_kasp_t* kasp, - isc_stdtime_t now, isc_stdtime_t *nexttime) +keymgr_update(dns_dnsseckeylist_t *keyring, dns_kasp_t *kasp, isc_stdtime_t now, + isc_stdtime_t *nexttime) { bool changed; @@ -1116,16 +1074,15 @@ transition: changed = false; /* For all keys in the zone. */ - for (dns_dnsseckey_t *dkey = ISC_LIST_HEAD(*keyring); - dkey != NULL; dkey = ISC_LIST_NEXT(dkey, link)) - { + for (dns_dnsseckey_t *dkey = ISC_LIST_HEAD(*keyring); dkey != NULL; + dkey = ISC_LIST_NEXT(dkey, link)) { char keystr[DST_KEY_FORMATSIZE]; dst_key_format(dkey->key, keystr, sizeof(keystr)); /* For all records related to this key. */ for (int i = 0; i < NUM_KEYSTATES; i++) { - isc_result_t ret; - isc_stdtime_t when; + isc_result_t ret; + isc_stdtime_t when; dst_key_state_t state, next_state; ret = dst_key_getstate(dkey->key, i, &state); @@ -1173,32 +1130,34 @@ transition: /* Is the transition allowed according to policy? */ if (!keymgr_policy_approval(keyring, dkey, i, - next_state)) - { + next_state)) { /* No, please respect rollover methods. */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSSEC, - DNS_LOGMODULE_DNSSEC, ISC_LOG_DEBUG(1), - "keymgr: policy says no to %s %s type %s " - "state %s to state %s", - keymgr_keyrole(dkey->key), keystr, - keystatetags[i], keystatestrings[state], - keystatestrings[next_state]); + isc_log_write( + dns_lctx, DNS_LOGCATEGORY_DNSSEC, + DNS_LOGMODULE_DNSSEC, ISC_LOG_DEBUG(1), + "keymgr: policy says no to %s %s type " + "%s " + "state %s to state %s", + keymgr_keyrole(dkey->key), keystr, + keystatetags[i], keystatestrings[state], + keystatestrings[next_state]); continue; } /* Is the transition DNSSEC safe? */ if (!keymgr_transition_allowed(keyring, dkey, i, - next_state)) - { + next_state)) { /* No, this would make the zone bogus. */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSSEC, - DNS_LOGMODULE_DNSSEC, ISC_LOG_DEBUG(1), - "keymgr: dnssec says no to %s %s type %s " - "state %s to state %s", - keymgr_keyrole(dkey->key), keystr, - keystatetags[i], keystatestrings[state], - keystatestrings[next_state]); + isc_log_write( + dns_lctx, DNS_LOGCATEGORY_DNSSEC, + DNS_LOGMODULE_DNSSEC, ISC_LOG_DEBUG(1), + "keymgr: dnssec says no to %s %s type " + "%s " + "state %s to state %s", + keymgr_keyrole(dkey->key), keystr, + keystatetags[i], keystatestrings[state], + keystatestrings[next_state]); continue; } @@ -1208,13 +1167,16 @@ transition: &when); if (when > now) { /* Not yet. */ - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSSEC, - DNS_LOGMODULE_DNSSEC, ISC_LOG_DEBUG(1), - "keymgr: time says no to %s %s type %s " - "state %s to state %s (wait %u seconds)", - keymgr_keyrole(dkey->key), keystr, - keystatetags[i], keystatestrings[state], - keystatestrings[next_state], when - now); + isc_log_write( + dns_lctx, DNS_LOGCATEGORY_DNSSEC, + DNS_LOGMODULE_DNSSEC, ISC_LOG_DEBUG(1), + "keymgr: time says no to %s %s type %s " + "state %s to state %s (wait %u " + "seconds)", + keymgr_keyrole(dkey->key), keystr, + keystatetags[i], keystatestrings[state], + keystatestrings[next_state], + when - now); if (*nexttime == 0 || *nexttime > when) { *nexttime = when; } @@ -1222,12 +1184,12 @@ transition: } isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSSEC, - DNS_LOGMODULE_DNSSEC, ISC_LOG_DEBUG(1), - "keymgr: transition %s %s type %s " - "state %s to state %s!", - keymgr_keyrole(dkey->key), keystr, - keystatetags[i], keystatestrings[state], - keystatestrings[next_state]); + DNS_LOGMODULE_DNSSEC, ISC_LOG_DEBUG(1), + "keymgr: transition %s %s type %s " + "state %s to state %s!", + keymgr_keyrole(dkey->key), keystr, + keystatetags[i], keystatestrings[state], + keystatestrings[next_state]); /* It is safe to make the transition. */ dst_key_setstate(dkey->key, i, next_state); @@ -1253,7 +1215,7 @@ transition: static void keymgr_key_init_role(dns_dnsseckey_t *key) { - bool ksk, zsk; + bool ksk, zsk; isc_result_t ret; REQUIRE(key != NULL); @@ -1281,15 +1243,15 @@ dns_keymgr_run(const dns_name_t *origin, dns_rdataclass_t rdclass, dns_dnsseckeylist_t *keyring, dns_kasp_t *kasp, isc_stdtime_t now, isc_stdtime_t *nexttime) { - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; dns_dnsseckeylist_t newkeys; - dns_kasp_key_t *kkey; - dns_dnsseckey_t *candidate = NULL; - dns_dnsseckey_t *newkey = NULL; - dst_key_t *dst_key = NULL; - isc_dir_t dir; - bool dir_open = false; - int options = (DST_TYPE_PRIVATE | DST_TYPE_PUBLIC | DST_TYPE_STATE); + dns_kasp_key_t * kkey; + dns_dnsseckey_t * candidate = NULL; + dns_dnsseckey_t * newkey = NULL; + dst_key_t * dst_key = NULL; + isc_dir_t dir; + bool dir_open = false; + int options = (DST_TYPE_PRIVATE | DST_TYPE_PUBLIC | DST_TYPE_STATE); char keystr[DST_KEY_FORMATSIZE]; REQUIRE(DNS_KASP_VALID(kasp)); @@ -1312,35 +1274,32 @@ dns_keymgr_run(const dns_name_t *origin, dns_rdataclass_t rdclass, char namebuf[DNS_NAME_FORMATSIZE]; dns_name_format(origin, namebuf, sizeof(namebuf)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSSEC, - DNS_LOGMODULE_DNSSEC, ISC_LOG_DEBUG(1), - "keymgr: keyring empty (zone %s policy %s)", - namebuf, dns_kasp_getname(kasp)); + DNS_LOGMODULE_DNSSEC, ISC_LOG_DEBUG(1), + "keymgr: keyring empty (zone %s policy " + "%s)", + namebuf, dns_kasp_getname(kasp)); } for (dns_dnsseckey_t *dkey = ISC_LIST_HEAD(*keyring); - dkey != NULL; dkey = ISC_LIST_NEXT(dkey, link)) - { + dkey != NULL; dkey = ISC_LIST_NEXT(dkey, link)) { dst_key_format(dkey->key, keystr, sizeof(keystr)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSSEC, DNS_LOGMODULE_DNSSEC, ISC_LOG_DEBUG(1), "keymgr: keyring: dnskey %s (policy %s)", - keystr, - dns_kasp_getname(kasp)); + keystr, dns_kasp_getname(kasp)); } } /* Create keys according to the policy, if come in short. */ for (kkey = ISC_LIST_HEAD(dns_kasp_keys(kasp)); kkey != NULL; - kkey = ISC_LIST_NEXT(kkey, link)) - { - isc_stdtime_t retire = 0, active = 0, prepub = 0; - uint32_t lifetime = dns_kasp_key_lifetime(kkey); + kkey = ISC_LIST_NEXT(kkey, link)) { + isc_stdtime_t retire = 0, active = 0, prepub = 0; + uint32_t lifetime = dns_kasp_key_lifetime(kkey); dns_dnsseckey_t *active_key = NULL; /* Do we have keys available for this kasp key? */ for (dns_dnsseckey_t *dkey = ISC_LIST_HEAD(*keyring); - dkey != NULL; dkey = ISC_LIST_NEXT(dkey, link)) - { + dkey != NULL; dkey = ISC_LIST_NEXT(dkey, link)) { /* Make sure this key knows about roles. */ keymgr_key_init_role(dkey); @@ -1349,10 +1308,8 @@ dns_keymgr_run(const dns_name_t *origin, dns_rdataclass_t rdclass, /* Initialize lifetime. */ uint32_t l; - if (dst_key_getnum(dkey->key, - DST_NUM_LIFETIME, &l) != - ISC_R_SUCCESS) - { + if (dst_key_getnum(dkey->key, DST_NUM_LIFETIME, + &l) != ISC_R_SUCCESS) { dst_key_setnum(dkey->key, DST_NUM_LIFETIME, lifetime); @@ -1379,13 +1336,13 @@ dns_keymgr_run(const dns_name_t *origin, dns_rdataclass_t rdclass, if (isc_log_wouldlog(dns_lctx, ISC_LOG_DEBUG(1))) { dst_key_format(active_key->key, keystr, sizeof(keystr)); - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSSEC, - DNS_LOGMODULE_DNSSEC, - ISC_LOG_DEBUG(1), - "keymgr: DNSKEY %s (%s) matches " - "policy %s", keystr, - keymgr_keyrole(active_key->key), - dns_kasp_getname(kasp)); + isc_log_write( + dns_lctx, DNS_LOGCATEGORY_DNSSEC, + DNS_LOGMODULE_DNSSEC, ISC_LOG_DEBUG(1), + "keymgr: DNSKEY %s (%s) matches " + "policy %s", + keystr, keymgr_keyrole(active_key->key), + dns_kasp_getname(kasp)); } /* @@ -1409,24 +1366,22 @@ dns_keymgr_run(const dns_name_t *origin, dns_rdataclass_t rdclass, if (isc_log_wouldlog(dns_lctx, ISC_LOG_DEBUG(1))) { dst_key_format(active_key->key, keystr, sizeof(keystr)); - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSSEC, - DNS_LOGMODULE_DNSSEC, - ISC_LOG_DEBUG(1), - "keymgr: need successor for " - "DNSKEY %s (%s) (policy %s)", - keystr, - keymgr_keyrole(active_key->key), - dns_kasp_getname(kasp)); + isc_log_write( + dns_lctx, DNS_LOGCATEGORY_DNSSEC, + DNS_LOGMODULE_DNSSEC, ISC_LOG_DEBUG(1), + "keymgr: need successor for " + "DNSKEY %s (%s) (policy %s)", + keystr, keymgr_keyrole(active_key->key), + dns_kasp_getname(kasp)); } } else if (isc_log_wouldlog(dns_lctx, ISC_LOG_DEBUG(1))) { char namestr[DNS_NAME_FORMATSIZE]; dns_name_format(origin, namestr, sizeof(namestr)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSSEC, - DNS_LOGMODULE_DNSSEC, - ISC_LOG_DEBUG(1), + DNS_LOGMODULE_DNSSEC, ISC_LOG_DEBUG(1), "keymgr: no active key found for %s " - "(policy %s)", namestr, - dns_kasp_getname(kasp)); + "(policy %s)", + namestr, dns_kasp_getname(kasp)); } /* It is time to do key rollover, we need a new key. */ @@ -1435,13 +1390,10 @@ dns_keymgr_run(const dns_name_t *origin, dns_rdataclass_t rdclass, * Check if there is a key available in pool because keys * may have been pregenerated with dnssec-keygen. */ - for (candidate = ISC_LIST_HEAD(*keyring); - candidate != NULL; - candidate = ISC_LIST_NEXT(candidate, link)) - { + for (candidate = ISC_LIST_HEAD(*keyring); candidate != NULL; + candidate = ISC_LIST_NEXT(candidate, link)) { if (keymgr_dnsseckey_kaspkey_match(candidate, kkey) && - dst_key_is_unused(candidate->key)) - { + dst_key_is_unused(candidate->key)) { /* Found a candidate in keyring. */ break; } @@ -1505,8 +1457,8 @@ dns_keymgr_run(const dns_name_t *origin, dns_rdataclass_t rdclass, dst_key_format(newkey->key, keystr, sizeof(keystr)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSSEC, DNS_LOGMODULE_DNSSEC, ISC_LOG_INFO, - "keymgr: DNSKEY %s (%s) %s for policy %s", - keystr, keymgr_keyrole(newkey->key), + "keymgr: DNSKEY %s (%s) %s for policy %s", keystr, + keymgr_keyrole(newkey->key), (candidate != NULL) ? "selected" : "created", dns_kasp_getname(kasp)); @@ -1521,20 +1473,19 @@ dns_keymgr_run(const dns_name_t *origin, dns_rdataclass_t rdclass, } /* Initialize key states (for keys that don't have them yet). */ - for (dns_dnsseckey_t *dkey = ISC_LIST_HEAD(*keyring); - dkey != NULL; dkey = ISC_LIST_NEXT(dkey, link)) - { + for (dns_dnsseckey_t *dkey = ISC_LIST_HEAD(*keyring); dkey != NULL; + dkey = ISC_LIST_NEXT(dkey, link)) { bool ksk = false, zsk = false; /* Set key states for all keys that do not have them. */ INITIALIZE_STATE(dkey->key, DST_KEY_DNSKEY, DST_TIME_DNSKEY); - (void) dst_key_getbool(dkey->key, DST_BOOL_KSK, &ksk); + (void)dst_key_getbool(dkey->key, DST_BOOL_KSK, &ksk); if (ksk) { INITIALIZE_STATE(dkey->key, DST_KEY_KRRSIG, DST_TIME_KRRSIG); INITIALIZE_STATE(dkey->key, DST_KEY_DS, DST_TIME_DS); } - (void) dst_key_getbool(dkey->key, DST_BOOL_ZSK, &zsk); + (void)dst_key_getbool(dkey->key, DST_BOOL_ZSK, &zsk); if (zsk) { INITIALIZE_STATE(dkey->key, DST_KEY_ZRRSIG, DST_TIME_ZRRSIG); @@ -1545,9 +1496,8 @@ dns_keymgr_run(const dns_name_t *origin, dns_rdataclass_t rdclass, keymgr_update(keyring, kasp, now, nexttime); /* Store key states and update hints. */ - for (dns_dnsseckey_t *dkey = ISC_LIST_HEAD(*keyring); - dkey != NULL; dkey = ISC_LIST_NEXT(dkey, link)) - { + for (dns_dnsseckey_t *dkey = ISC_LIST_HEAD(*keyring); dkey != NULL; + dkey = ISC_LIST_NEXT(dkey, link)) { dns_dnssec_get_hints(dkey, now); RETERR(dst_key_tofile(dkey->key, options, directory)); } diff --git a/lib/dns/keytable.c b/lib/dns/keytable.c index 42e8e4d2da..8251fe109e 100644 --- a/lib/dns/keytable.c +++ b/lib/dns/keytable.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -18,12 +17,12 @@ #include #include #include -#include /* Required for HP/UX (and others?) */ +#include /* Required for HP/UX (and others?) */ #include #include -#include #include +#include #include #include #include @@ -31,40 +30,42 @@ #include #include -#define KEYTABLE_MAGIC ISC_MAGIC('K', 'T', 'b', 'l') -#define VALID_KEYTABLE(kt) ISC_MAGIC_VALID(kt, KEYTABLE_MAGIC) +#define KEYTABLE_MAGIC ISC_MAGIC('K', 'T', 'b', 'l') +#define VALID_KEYTABLE(kt) ISC_MAGIC_VALID(kt, KEYTABLE_MAGIC) -#define KEYNODE_MAGIC ISC_MAGIC('K', 'N', 'o', 'd') -#define VALID_KEYNODE(kn) ISC_MAGIC_VALID(kn, KEYNODE_MAGIC) +#define KEYNODE_MAGIC ISC_MAGIC('K', 'N', 'o', 'd') +#define VALID_KEYNODE(kn) ISC_MAGIC_VALID(kn, KEYNODE_MAGIC) struct dns_keytable { /* Unlocked. */ - unsigned int magic; - isc_mem_t *mctx; - isc_refcount_t references; - isc_rwlock_t rwlock; + unsigned int magic; + isc_mem_t * mctx; + isc_refcount_t references; + isc_rwlock_t rwlock; /* Locked by rwlock. */ - dns_rbt_t *table; + dns_rbt_t *table; }; struct dns_keynode { - unsigned int magic; - isc_refcount_t refcount; - dns_rdatalist_t *dslist; - dns_rdataset_t dsset; - bool managed; - bool initial; + unsigned int magic; + isc_refcount_t refcount; + dns_rdatalist_t *dslist; + dns_rdataset_t dsset; + bool managed; + bool initial; }; static void -keynode_attach(dns_keynode_t *source, dns_keynode_t **target) { +keynode_attach(dns_keynode_t *source, dns_keynode_t **target) +{ REQUIRE(VALID_KEYNODE(source)); isc_refcount_increment(&source->refcount); *target = source; } static void -keynode_detach(isc_mem_t *mctx, dns_keynode_t **keynodep) { +keynode_detach(isc_mem_t *mctx, dns_keynode_t **keynodep) +{ REQUIRE(keynodep != NULL && VALID_KEYNODE(*keynodep)); dns_keynode_t *knode = *keynodep; *keynodep = NULL; @@ -79,10 +80,9 @@ keynode_detach(isc_mem_t *mctx, dns_keynode_t **keynodep) { for (rdata = ISC_LIST_HEAD(knode->dslist->rdata); rdata != NULL; - rdata = ISC_LIST_HEAD(knode->dslist->rdata)) - { - ISC_LIST_UNLINK(knode->dslist->rdata, - rdata, link); + rdata = ISC_LIST_HEAD(knode->dslist->rdata)) { + ISC_LIST_UNLINK(knode->dslist->rdata, rdata, + link); isc_mem_put(mctx, rdata->data, DNS_DS_BUFFERSIZE); isc_mem_put(mctx, rdata, sizeof(*rdata)); @@ -97,17 +97,19 @@ keynode_detach(isc_mem_t *mctx, dns_keynode_t **keynodep) { } static void -free_keynode(void *node, void *arg) { +free_keynode(void *node, void *arg) +{ dns_keynode_t *keynode = node; - isc_mem_t *mctx = arg; + isc_mem_t * mctx = arg; keynode_detach(mctx, &keynode); } isc_result_t -dns_keytable_create(isc_mem_t *mctx, dns_keytable_t **keytablep) { +dns_keytable_create(isc_mem_t *mctx, dns_keytable_t **keytablep) +{ dns_keytable_t *keytable; - isc_result_t result; + isc_result_t result; /* * Create a keytable. @@ -137,17 +139,18 @@ dns_keytable_create(isc_mem_t *mctx, dns_keytable_t **keytablep) { return (ISC_R_SUCCESS); - cleanup_rbt: +cleanup_rbt: dns_rbt_destroy(&keytable->table); - cleanup_keytable: +cleanup_keytable: isc_mem_putanddetach(&mctx, keytable, sizeof(*keytable)); return (result); } void -dns_keytable_attach(dns_keytable_t *source, dns_keytable_t **targetp) { +dns_keytable_attach(dns_keytable_t *source, dns_keytable_t **targetp) +{ REQUIRE(VALID_KEYTABLE(source)); REQUIRE(targetp != NULL && *targetp == NULL); @@ -157,7 +160,8 @@ dns_keytable_attach(dns_keytable_t *source, dns_keytable_t **targetp) { } void -dns_keytable_detach(dns_keytable_t **keytablep) { +dns_keytable_detach(dns_keytable_t **keytablep) +{ REQUIRE(keytablep != NULL && VALID_KEYTABLE(*keytablep)); dns_keytable_t *keytable = *keytablep; *keytablep = NULL; @@ -167,17 +171,18 @@ dns_keytable_detach(dns_keytable_t **keytablep) { dns_rbt_destroy(&keytable->table); isc_rwlock_destroy(&keytable->rwlock); keytable->magic = 0; - isc_mem_putanddetach(&keytable->mctx, - keytable, sizeof(*keytable)); + isc_mem_putanddetach(&keytable->mctx, keytable, + sizeof(*keytable)); } } static isc_result_t -add_ds(dns_keynode_t *knode, dns_rdata_ds_t *ds, isc_mem_t *mctx) { +add_ds(dns_keynode_t *knode, dns_rdata_ds_t *ds, isc_mem_t *mctx) +{ isc_result_t result; dns_rdata_t *dsrdata = NULL, *rdata = NULL; - void *data = NULL; - bool exists = false; + void * data = NULL; + bool exists = false; isc_buffer_t b; if (knode->dslist == NULL) { @@ -199,10 +204,8 @@ add_ds(dns_keynode_t *knode, dns_rdata_ds_t *ds, isc_mem_t *mctx) { return (result); } - for (rdata = ISC_LIST_HEAD(knode->dslist->rdata); - rdata != NULL; - rdata = ISC_LIST_NEXT(rdata, link)) - { + for (rdata = ISC_LIST_HEAD(knode->dslist->rdata); rdata != NULL; + rdata = ISC_LIST_NEXT(rdata, link)) { if (dns_rdata_compare(rdata, dsrdata) == 0) { exists = true; break; @@ -231,13 +234,14 @@ add_ds(dns_keynode_t *knode, dns_rdata_ds_t *ds, isc_mem_t *mctx) { } static isc_result_t -delete_ds(dns_keynode_t *knode, dns_rdata_ds_t *ds, isc_mem_t *mctx) { - isc_result_t result; - dns_rdata_t dsrdata = DNS_RDATA_INIT; - dns_rdata_t *rdata = NULL; +delete_ds(dns_keynode_t *knode, dns_rdata_ds_t *ds, isc_mem_t *mctx) +{ + isc_result_t result; + dns_rdata_t dsrdata = DNS_RDATA_INIT; + dns_rdata_t * rdata = NULL; unsigned char data[DNS_DS_BUFFERSIZE]; - bool found = false; - isc_buffer_t b; + bool found = false; + isc_buffer_t b; if (knode->dslist == NULL) { return (ISC_R_SUCCESS); @@ -251,10 +255,8 @@ delete_ds(dns_keynode_t *knode, dns_rdata_ds_t *ds, isc_mem_t *mctx) { return (result); } - for (rdata = ISC_LIST_HEAD(knode->dslist->rdata); - rdata != NULL; - rdata = ISC_LIST_NEXT(rdata, link)) - { + for (rdata = ISC_LIST_HEAD(knode->dslist->rdata); rdata != NULL; + rdata = ISC_LIST_NEXT(rdata, link)) { if (dns_rdata_compare(rdata, &dsrdata) == 0) { ISC_LIST_UNLINK(knode->dslist->rdata, rdata, link); isc_mem_put(mctx, rdata->data, DNS_DS_BUFFERSIZE); @@ -281,19 +283,17 @@ delete_ds(dns_keynode_t *knode, dns_rdata_ds_t *ds, isc_mem_t *mctx) { * to "node" in "keytable". */ static isc_result_t -new_keynode(dns_rdata_ds_t *ds, dns_rbtnode_t *node, - dns_keytable_t *keytable, bool managed, bool initial) +new_keynode(dns_rdata_ds_t *ds, dns_rbtnode_t *node, dns_keytable_t *keytable, + bool managed, bool initial) { dns_keynode_t *knode = NULL; - isc_result_t result; + isc_result_t result; REQUIRE(VALID_KEYTABLE(keytable)); REQUIRE(!initial || managed); knode = isc_mem_get(keytable->mctx, sizeof(dns_keynode_t)); - *knode = (dns_keynode_t) { - .magic = KEYNODE_MAGIC - }; + *knode = (dns_keynode_t){ .magic = KEYNODE_MAGIC }; dns_rdataset_init(&knode->dsset); isc_refcount_init(&knode->refcount, 1); @@ -328,7 +328,7 @@ insert(dns_keytable_t *keytable, bool managed, bool initial, const dns_name_t *keyname, dns_rdata_ds_t *ds) { dns_rbtnode_t *node = NULL; - isc_result_t result; + isc_result_t result; REQUIRE(VALID_KEYTABLE(keytable)); @@ -384,13 +384,15 @@ dns_keytable_add(dns_keytable_t *keytable, bool managed, bool initial, } isc_result_t -dns_keytable_marksecure(dns_keytable_t *keytable, const dns_name_t *name) { +dns_keytable_marksecure(dns_keytable_t *keytable, const dns_name_t *name) +{ return (insert(keytable, true, false, name, NULL)); } isc_result_t -dns_keytable_delete(dns_keytable_t *keytable, const dns_name_t *keyname) { - isc_result_t result; +dns_keytable_delete(dns_keytable_t *keytable, const dns_name_t *keyname) +{ + isc_result_t result; dns_rbtnode_t *node = NULL; REQUIRE(VALID_KEYTABLE(keytable)); @@ -401,8 +403,8 @@ dns_keytable_delete(dns_keytable_t *keytable, const dns_name_t *keyname) { DNS_RBTFIND_NOOPTIONS, NULL, NULL); if (result == ISC_R_SUCCESS) { if (node->data != NULL) { - result = dns_rbt_deletenode(keytable->table, - node, false); + result = dns_rbt_deletenode(keytable->table, node, + false); } else { result = ISC_R_NOTFOUND; } @@ -418,13 +420,13 @@ isc_result_t dns_keytable_deletekey(dns_keytable_t *keytable, const dns_name_t *keyname, dns_rdata_dnskey_t *dnskey) { - isc_result_t result; + isc_result_t result; dns_rbtnode_t *node = NULL; dns_keynode_t *knode = NULL; - dns_rdata_t rdata = DNS_RDATA_INIT; - unsigned char data[4096], digest[DNS_DS_BUFFERSIZE]; + dns_rdata_t rdata = DNS_RDATA_INIT; + unsigned char data[4096], digest[DNS_DS_BUFFERSIZE]; dns_rdata_ds_t ds; - isc_buffer_t b; + isc_buffer_t b; REQUIRE(VALID_KEYTABLE(keytable)); REQUIRE(dnskey != NULL); @@ -464,7 +466,7 @@ dns_keytable_deletekey(dns_keytable_t *keytable, const dns_name_t *keyname, result = delete_ds(knode, &ds, keytable->mctx); - finish: +finish: RWUNLOCK(&keytable->rwlock, isc_rwlocktype_write); return (result); } @@ -473,7 +475,7 @@ isc_result_t dns_keytable_find(dns_keytable_t *keytable, const dns_name_t *keyname, dns_keynode_t **keynodep) { - isc_result_t result; + isc_result_t result; dns_rbtnode_t *node = NULL; REQUIRE(VALID_KEYTABLE(keytable)); @@ -502,7 +504,7 @@ dns_keytable_finddeepestmatch(dns_keytable_t *keytable, const dns_name_t *name, dns_name_t *foundname) { isc_result_t result; - void *data; + void * data; /* * Search for the deepest match in 'keytable'. @@ -527,7 +529,8 @@ dns_keytable_finddeepestmatch(dns_keytable_t *keytable, const dns_name_t *name, } void -dns_keytable_detachkeynode(dns_keytable_t *keytable, dns_keynode_t **keynodep) { +dns_keytable_detachkeynode(dns_keytable_t *keytable, dns_keynode_t **keynodep) +{ /* * Give back a keynode found via dns_keytable_findkeynode(). */ @@ -542,7 +545,7 @@ isc_result_t dns_keytable_issecuredomain(dns_keytable_t *keytable, const dns_name_t *name, dns_name_t *foundname, bool *wantdnssecp) { - isc_result_t result; + isc_result_t result; dns_rbtnode_t *node = NULL; /* @@ -555,8 +558,8 @@ dns_keytable_issecuredomain(dns_keytable_t *keytable, const dns_name_t *name, RWLOCK(&keytable->rwlock, isc_rwlocktype_read); - result = dns_rbt_findnode(keytable->table, name, foundname, &node, - NULL, DNS_RBTFIND_NOOPTIONS, NULL, NULL); + result = dns_rbt_findnode(keytable->table, name, foundname, &node, NULL, + DNS_RBTFIND_NOOPTIONS, NULL, NULL); if (result == ISC_R_SUCCESS || result == DNS_R_PARTIALMATCH) { INSIST(node->data != NULL); *wantdnssecp = true; @@ -572,7 +575,8 @@ dns_keytable_issecuredomain(dns_keytable_t *keytable, const dns_name_t *name, } static isc_result_t -putstr(isc_buffer_t **b, const char *str) { +putstr(isc_buffer_t **b, const char *str) +{ isc_result_t result; result = isc_buffer_reserve(b, strlen(str)); @@ -585,8 +589,9 @@ putstr(isc_buffer_t **b, const char *str) { } isc_result_t -dns_keytable_dump(dns_keytable_t *keytable, FILE *fp) { - isc_result_t result; +dns_keytable_dump(dns_keytable_t *keytable, FILE *fp) +{ + isc_result_t result; isc_buffer_t *text = NULL; REQUIRE(VALID_KEYTABLE(keytable)); @@ -597,16 +602,16 @@ dns_keytable_dump(dns_keytable_t *keytable, FILE *fp) { result = dns_keytable_totext(keytable, &text); if (isc_buffer_usedlength(text) != 0) { - (void) putstr(&text, "\n"); + (void)putstr(&text, "\n"); } else if (result == ISC_R_SUCCESS) { - (void) putstr(&text, "none"); + (void)putstr(&text, "none"); } else { - (void) putstr(&text, "could not dump key table: "); - (void) putstr(&text, isc_result_totext(result)); + (void)putstr(&text, "could not dump key table: "); + (void)putstr(&text, isc_result_totext(result)); } - fprintf(fp, "%.*s", (int) isc_buffer_usedlength(text), - (char *) isc_buffer_base(text)); + fprintf(fp, "%.*s", (int)isc_buffer_usedlength(text), + (char *)isc_buffer_base(text)); isc_buffer_free(&text); return (result); @@ -616,21 +621,19 @@ static isc_result_t keynode_dslist_totext(dns_name_t *name, dns_keynode_t *keynode, isc_buffer_t **text) { - isc_result_t result; - char namebuf[DNS_NAME_FORMATSIZE]; - char obuf[DNS_NAME_FORMATSIZE + 200]; + isc_result_t result; + char namebuf[DNS_NAME_FORMATSIZE]; + char obuf[DNS_NAME_FORMATSIZE + 200]; dns_rdataset_t *dsset = NULL; dns_name_format(name, namebuf, sizeof(namebuf)); dsset = dns_keynode_dsset(keynode); - for (result = dns_rdataset_first(dsset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(dsset)) - { - char algbuf[DNS_SECALG_FORMATSIZE]; - dns_rdata_t rdata = DNS_RDATA_INIT; + for (result = dns_rdataset_first(dsset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(dsset)) { + char algbuf[DNS_SECALG_FORMATSIZE]; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_ds_t ds; dns_rdataset_current(dsset, &rdata); @@ -639,8 +642,8 @@ keynode_dslist_totext(dns_name_t *name, dns_keynode_t *keynode, dns_secalg_format(ds.algorithm, algbuf, sizeof(algbuf)); - snprintf(obuf, sizeof(obuf), "%s/%s/%d ; %s%s\n", - namebuf, algbuf, ds.key_tag, + snprintf(obuf, sizeof(obuf), "%s/%s/%d ; %s%s\n", namebuf, + algbuf, ds.key_tag, keynode->initial ? "initializing " : "", keynode->managed ? "managed" : "static"); @@ -654,13 +657,14 @@ keynode_dslist_totext(dns_name_t *name, dns_keynode_t *keynode, } isc_result_t -dns_keytable_totext(dns_keytable_t *keytable, isc_buffer_t **text) { - isc_result_t result; - dns_keynode_t *knode; - dns_rbtnode_t *node; +dns_keytable_totext(dns_keytable_t *keytable, isc_buffer_t **text) +{ + isc_result_t result; + dns_keynode_t * knode; + dns_rbtnode_t * node; dns_rbtnodechain_t chain; - dns_name_t *foundname, *origin, *fullname; - dns_fixedname_t fixedfoundname, fixedorigin, fixedfullname; + dns_name_t * foundname, *origin, *fullname; + dns_fixedname_t fixedfoundname, fixedorigin, fixedfullname; REQUIRE(VALID_KEYTABLE(keytable)); REQUIRE(text != NULL && *text != NULL); @@ -704,7 +708,7 @@ dns_keytable_totext(dns_keytable_t *keytable, isc_buffer_t **text) { } } - cleanup: +cleanup: dns_rbtnodechain_invalidate(&chain); RWUNLOCK(&keytable->rwlock, isc_rwlocktype_read); return (result); @@ -716,11 +720,11 @@ dns_keytable_forall(dns_keytable_t *keytable, dns_name_t *, void *), void *arg) { - isc_result_t result; - dns_rbtnode_t *node; + isc_result_t result; + dns_rbtnode_t * node; dns_rbtnodechain_t chain; - dns_fixedname_t fixedfoundname, fixedorigin, fixedfullname; - dns_name_t *foundname, *origin, *fullname; + dns_fixedname_t fixedfoundname, fixedorigin, fixedfullname; + dns_name_t * foundname, *origin, *fullname; REQUIRE(VALID_KEYTABLE(keytable)); @@ -755,14 +759,15 @@ dns_keytable_forall(dns_keytable_t *keytable, } } - cleanup: +cleanup: dns_rbtnodechain_invalidate(&chain); RWUNLOCK(&keytable->rwlock, isc_rwlocktype_read); return (result); } dns_rdataset_t * -dns_keynode_dsset(dns_keynode_t *keynode) { +dns_keynode_dsset(dns_keynode_t *keynode) +{ REQUIRE(VALID_KEYNODE(keynode)); if (keynode->dslist != NULL) { @@ -773,21 +778,24 @@ dns_keynode_dsset(dns_keynode_t *keynode) { } bool -dns_keynode_managed(dns_keynode_t *keynode) { +dns_keynode_managed(dns_keynode_t *keynode) +{ REQUIRE(VALID_KEYNODE(keynode)); return (keynode->managed); } bool -dns_keynode_initial(dns_keynode_t *keynode) { +dns_keynode_initial(dns_keynode_t *keynode) +{ REQUIRE(VALID_KEYNODE(keynode)); return (keynode->initial); } void -dns_keynode_trust(dns_keynode_t *keynode) { +dns_keynode_trust(dns_keynode_t *keynode) +{ REQUIRE(VALID_KEYNODE(keynode)); keynode->initial = false; diff --git a/lib/dns/lib.c b/lib/dns/lib.c index 1df93d2e61..37ca1b0ad1 100644 --- a/lib/dns/lib.c +++ b/lib/dns/lib.c @@ -28,26 +28,25 @@ #include - /*** *** Globals ***/ -LIBDNS_EXTERNAL_DATA unsigned int dns_pps = 0U; - +LIBDNS_EXTERNAL_DATA unsigned int dns_pps = 0U; /*** *** Functions ***/ -static isc_once_t init_once = ISC_ONCE_INIT; -static isc_mem_t *dns_g_mctx = NULL; +static isc_once_t init_once = ISC_ONCE_INIT; +static isc_mem_t * dns_g_mctx = NULL; static dns_dbimplementation_t *dbimp = NULL; -static bool initialize_done = false; -static isc_refcount_t references; +static bool initialize_done = false; +static isc_refcount_t references; static void -initialize(void) { +initialize(void) +{ isc_result_t result; REQUIRE(initialize_done == false); @@ -67,16 +66,17 @@ initialize(void) { initialize_done = true; return; - cleanup_db: +cleanup_db: if (dbimp != NULL) dns_ecdb_unregister(&dbimp); - cleanup_mctx: +cleanup_mctx: if (dns_g_mctx != NULL) isc_mem_detach(&dns_g_mctx); } isc_result_t -dns_lib_init(void) { +dns_lib_init(void) +{ isc_result_t result; /* @@ -97,7 +97,8 @@ dns_lib_init(void) { } void -dns_lib_shutdown(void) { +dns_lib_shutdown(void) +{ if (isc_refcount_decrement(&references) == 1) { dst_lib_destroy(); diff --git a/lib/dns/log.c b/lib/dns/log.c index 29b341763c..869260784e 100644 --- a/lib/dns/log.c +++ b/lib/dns/log.c @@ -20,26 +20,26 @@ * \#define to . */ LIBDNS_EXTERNAL_DATA isc_logcategory_t dns_categories[] = { - { "notify", 0 }, - { "database", 0 }, - { "security", 0 }, + { "notify", 0 }, + { "database", 0 }, + { "security", 0 }, { "_placeholder", 0 }, - { "dnssec", 0 }, - { "resolver", 0 }, - { "xfer-in", 0 }, - { "xfer-out", 0 }, - { "dispatch", 0 }, + { "dnssec", 0 }, + { "resolver", 0 }, + { "xfer-in", 0 }, + { "xfer-out", 0 }, + { "dispatch", 0 }, { "lame-servers", 0 }, { "delegation-only", 0 }, { "edns-disabled", 0 }, - { "rpz", 0 }, - { "rate-limit", 0 }, - { "cname", 0 }, - { "spill", 0 }, - { "dnstap", 0 }, - { "zoneload", 0 }, - { "nsid", 0 }, - { NULL, 0 } + { "rpz", 0 }, + { "rate-limit", 0 }, + { "cname", 0 }, + { "spill", 0 }, + { "dnstap", 0 }, + { "zoneload", 0 }, + { "nsid", 0 }, + { NULL, 0 } }; /*% @@ -47,46 +47,30 @@ LIBDNS_EXTERNAL_DATA isc_logcategory_t dns_categories[] = { * \#define to . */ LIBDNS_EXTERNAL_DATA isc_logmodule_t dns_modules[] = { - { "dns/db", 0 }, - { "dns/rbtdb", 0 }, - { "dns/rbt", 0 }, - { "dns/rdata", 0 }, - { "dns/master", 0 }, - { "dns/message", 0 }, - { "dns/cache", 0 }, - { "dns/config", 0 }, - { "dns/resolver", 0 }, - { "dns/zone", 0 }, - { "dns/journal", 0 }, - { "dns/adb", 0 }, - { "dns/xfrin", 0 }, - { "dns/xfrout", 0 }, - { "dns/acl", 0 }, - { "dns/validator", 0 }, - { "dns/dispatch", 0 }, - { "dns/request", 0 }, - { "dns/masterdump", 0 }, - { "dns/tsig", 0 }, - { "dns/tkey", 0 }, - { "dns/sdb", 0 }, - { "dns/diff", 0 }, - { "dns/hints", 0 }, - { "dns/unused1", 0 }, - { "dns/dlz", 0 }, - { "dns/dnssec", 0 }, - { "dns/crypto", 0 }, - { "dns/packets", 0 }, - { "dns/nta", 0 }, - { "dns/dyndb", 0 }, - { "dns/dnstap", 0 }, - { "dns/ssu", 0 }, - { NULL, 0 } + { "dns/db", 0 }, { "dns/rbtdb", 0 }, + { "dns/rbt", 0 }, { "dns/rdata", 0 }, + { "dns/master", 0 }, { "dns/message", 0 }, + { "dns/cache", 0 }, { "dns/config", 0 }, + { "dns/resolver", 0 }, { "dns/zone", 0 }, + { "dns/journal", 0 }, { "dns/adb", 0 }, + { "dns/xfrin", 0 }, { "dns/xfrout", 0 }, + { "dns/acl", 0 }, { "dns/validator", 0 }, + { "dns/dispatch", 0 }, { "dns/request", 0 }, + { "dns/masterdump", 0 }, { "dns/tsig", 0 }, + { "dns/tkey", 0 }, { "dns/sdb", 0 }, + { "dns/diff", 0 }, { "dns/hints", 0 }, + { "dns/unused1", 0 }, { "dns/dlz", 0 }, + { "dns/dnssec", 0 }, { "dns/crypto", 0 }, + { "dns/packets", 0 }, { "dns/nta", 0 }, + { "dns/dyndb", 0 }, { "dns/dnstap", 0 }, + { "dns/ssu", 0 }, { NULL, 0 } }; LIBDNS_EXTERNAL_DATA isc_log_t *dns_lctx = NULL; void -dns_log_init(isc_log_t *lctx) { +dns_log_init(isc_log_t *lctx) +{ REQUIRE(lctx != NULL); isc_log_registercategories(lctx, dns_categories); @@ -94,6 +78,7 @@ dns_log_init(isc_log_t *lctx) { } void -dns_log_setcontext(isc_log_t *lctx) { +dns_log_setcontext(isc_log_t *lctx) +{ dns_lctx = lctx; } diff --git a/lib/dns/lookup.c b/lib/dns/lookup.c index d63169d775..1e54f59d72 100644 --- a/lib/dns/lookup.c +++ b/lib/dns/lookup.c @@ -9,14 +9,13 @@ * information regarding copyright ownership. */ - /*! \file */ #include #include #include -#include /* Required for HP/UX (and others?) */ +#include /* Required for HP/UX (and others?) */ #include #include @@ -32,33 +31,35 @@ struct dns_lookup { /* Unlocked. */ - unsigned int magic; - isc_mem_t * mctx; - isc_mutex_t lock; - dns_rdatatype_t type; - dns_fixedname_t name; + unsigned int magic; + isc_mem_t * mctx; + isc_mutex_t lock; + dns_rdatatype_t type; + dns_fixedname_t name; /* Locked by lock. */ - unsigned int options; - isc_task_t * task; - dns_view_t * view; - dns_lookupevent_t * event; - dns_fetch_t * fetch; - unsigned int restarts; - bool canceled; - dns_rdataset_t rdataset; - dns_rdataset_t sigrdataset; + unsigned int options; + isc_task_t * task; + dns_view_t * view; + dns_lookupevent_t *event; + dns_fetch_t * fetch; + unsigned int restarts; + bool canceled; + dns_rdataset_t rdataset; + dns_rdataset_t sigrdataset; }; -#define LOOKUP_MAGIC ISC_MAGIC('l', 'o', 'o', 'k') -#define VALID_LOOKUP(l) ISC_MAGIC_VALID((l), LOOKUP_MAGIC) +#define LOOKUP_MAGIC ISC_MAGIC('l', 'o', 'o', 'k') +#define VALID_LOOKUP(l) ISC_MAGIC_VALID((l), LOOKUP_MAGIC) #define MAX_RESTARTS 16 -static void lookup_find(dns_lookup_t *lookup, dns_fetchevent_t *event); +static void +lookup_find(dns_lookup_t *lookup, dns_fetchevent_t *event); static void -fetch_done(isc_task_t *task, isc_event_t *event) { - dns_lookup_t *lookup = event->ev_arg; +fetch_done(isc_task_t *task, isc_event_t *event) +{ + dns_lookup_t * lookup = event->ev_arg; dns_fetchevent_t *fevent; UNUSED(task); @@ -72,7 +73,8 @@ fetch_done(isc_task_t *task, isc_event_t *event) { } static inline isc_result_t -start_fetch(dns_lookup_t *lookup) { +start_fetch(dns_lookup_t *lookup) +{ isc_result_t result; /* @@ -81,22 +83,19 @@ start_fetch(dns_lookup_t *lookup) { REQUIRE(lookup->fetch == NULL); - result = dns_resolver_createfetch(lookup->view->resolver, - dns_fixedname_name(&lookup->name), - lookup->type, - NULL, NULL, NULL, NULL, 0, 0, 0, - NULL, - lookup->task, fetch_done, lookup, - &lookup->rdataset, - &lookup->sigrdataset, - &lookup->fetch); + result = dns_resolver_createfetch( + lookup->view->resolver, dns_fixedname_name(&lookup->name), + lookup->type, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, + lookup->task, fetch_done, lookup, &lookup->rdataset, + &lookup->sigrdataset, &lookup->fetch); return (result); } static isc_result_t -build_event(dns_lookup_t *lookup) { - dns_name_t *name = NULL; +build_event(dns_lookup_t *lookup) +{ + dns_name_t * name = NULL; dns_rdataset_t *rdataset = NULL; dns_rdataset_t *sigrdataset = NULL; @@ -111,8 +110,7 @@ build_event(dns_lookup_t *lookup) { } if (dns_rdataset_isassociated(&lookup->sigrdataset)) { - sigrdataset = isc_mem_get(lookup->mctx, - sizeof(dns_rdataset_t)); + sigrdataset = isc_mem_get(lookup->mctx, sizeof(dns_rdataset_t)); dns_rdataset_init(sigrdataset); dns_rdataset_clone(&lookup->sigrdataset, sigrdataset); } @@ -125,9 +123,10 @@ build_event(dns_lookup_t *lookup) { } static isc_result_t -view_find(dns_lookup_t *lookup, dns_name_t *foundname) { - isc_result_t result; - dns_name_t *name = dns_fixedname_name(&lookup->name); +view_find(dns_lookup_t *lookup, dns_name_t *foundname) +{ + isc_result_t result; + dns_name_t * name = dns_fixedname_name(&lookup->name); dns_rdatatype_t type; if (lookup->type == dns_rdatatype_rrsig) @@ -135,24 +134,25 @@ view_find(dns_lookup_t *lookup, dns_name_t *foundname) { else type = lookup->type; - result = dns_view_find(lookup->view, name, type, 0, 0, false, - false, &lookup->event->db, - &lookup->event->node, foundname, - &lookup->rdataset, &lookup->sigrdataset); + result = dns_view_find(lookup->view, name, type, 0, 0, false, false, + &lookup->event->db, &lookup->event->node, + foundname, &lookup->rdataset, + &lookup->sigrdataset); return (result); } static void -lookup_find(dns_lookup_t *lookup, dns_fetchevent_t *event) { - isc_result_t result; - bool want_restart; - bool send_event; - dns_name_t *name, *fname, *prefix; - dns_fixedname_t foundname, fixed; - dns_rdata_t rdata = DNS_RDATA_INIT; - unsigned int nlabels; - int order; - dns_namereln_t namereln; +lookup_find(dns_lookup_t *lookup, dns_fetchevent_t *event) +{ + isc_result_t result; + bool want_restart; + bool send_event; + dns_name_t * name, *fname, *prefix; + dns_fixedname_t foundname, fixed; + dns_rdata_t rdata = DNS_RDATA_INIT; + unsigned int nlabels; + int order; + dns_namereln_t namereln; dns_rdata_cname_t cname; dns_rdata_dname_t dname; @@ -171,14 +171,15 @@ lookup_find(dns_lookup_t *lookup, dns_fetchevent_t *event) { if (event == NULL && !lookup->canceled) { fname = dns_fixedname_initname(&foundname); INSIST(!dns_rdataset_isassociated(&lookup->rdataset)); - INSIST(!dns_rdataset_isassociated - (&lookup->sigrdataset)); + INSIST(!dns_rdataset_isassociated( + &lookup->sigrdataset)); /* - * If we have restarted then clear the old node. */ - if (lookup->event->node != NULL) { + * If we have restarted then clear the old node. + */ + if (lookup->event->node != NULL) { INSIST(lookup->event->db != NULL); dns_db_detachnode(lookup->event->db, - &lookup->event->node); + &lookup->event->node); } if (lookup->event->db != NULL) dns_db_detach(&lookup->event->db); @@ -188,10 +189,10 @@ lookup_find(dns_lookup_t *lookup, dns_fetchevent_t *event) { * We don't know anything about the name. * Launch a fetch. */ - if (lookup->event->node != NULL) { + if (lookup->event->node != NULL) { INSIST(lookup->event->db != NULL); dns_db_detachnode(lookup->event->db, - &lookup->event->node); + &lookup->event->node); } if (lookup->event->db != NULL) dns_db_detach(&lookup->event->db); @@ -207,7 +208,7 @@ lookup_find(dns_lookup_t *lookup, dns_fetchevent_t *event) { INSIST(event->rdataset == &lookup->rdataset); INSIST(event->sigrdataset == &lookup->sigrdataset); } else - fname = NULL; /* Silence compiler warning. */ + fname = NULL; /* Silence compiler warning. */ /* * If we've been canceled, forget about the result. @@ -314,9 +315,10 @@ lookup_find(dns_lookup_t *lookup, dns_fetchevent_t *event) { } static void -levent_destroy(isc_event_t *event) { +levent_destroy(isc_event_t *event) +{ dns_lookupevent_t *levent; - isc_mem_t *mctx; + isc_mem_t * mctx; REQUIRE(event->ev_type == DNS_EVENT_LOOKUPDONE); mctx = event->ev_destroy_arg; @@ -348,15 +350,15 @@ dns_lookup_create(isc_mem_t *mctx, const dns_name_t *name, dns_rdatatype_t type, isc_taskaction_t action, void *arg, dns_lookup_t **lookupp) { dns_lookup_t *lookup; - isc_event_t *ievent; + isc_event_t * ievent; lookup = isc_mem_get(mctx, sizeof(*lookup)); lookup->mctx = NULL; isc_mem_attach(mctx, &lookup->mctx); lookup->options = options; - ievent = isc_event_allocate(mctx, lookup, DNS_EVENT_LOOKUPDONE, - action, arg, sizeof(*lookup->event)); + ievent = isc_event_allocate(mctx, lookup, DNS_EVENT_LOOKUPDONE, action, + arg, sizeof(*lookup->event)); lookup->event = (dns_lookupevent_t *)ievent; lookup->event->ev_destroy = levent_destroy; lookup->event->ev_destroy_arg = mctx; @@ -394,7 +396,8 @@ dns_lookup_create(isc_mem_t *mctx, const dns_name_t *name, dns_rdatatype_t type, } void -dns_lookup_cancel(dns_lookup_t *lookup) { +dns_lookup_cancel(dns_lookup_t *lookup) +{ REQUIRE(VALID_LOOKUP(lookup)); LOCK(&lookup->lock); @@ -411,7 +414,8 @@ dns_lookup_cancel(dns_lookup_t *lookup) { } void -dns_lookup_destroy(dns_lookup_t **lookupp) { +dns_lookup_destroy(dns_lookup_t **lookupp) +{ dns_lookup_t *lookup; REQUIRE(lookupp != NULL); diff --git a/lib/dns/master.c b/lib/dns/master.c index a4dd901d8d..2e304d46d5 100644 --- a/lib/dns/master.c +++ b/lib/dns/master.c @@ -45,8 +45,8 @@ #include /*! - * Grow the number of dns_rdatalist_t (#RDLSZ) and dns_rdata_t (#RDSZ) structures - * by these sizes when we need to. + * Grow the number of dns_rdatalist_t (#RDLSZ) and dns_rdata_t (#RDSZ) + * structures by these sizes when we need to. * */ /*% RDLSZ reflects the number of different types with the same name expected. */ @@ -66,7 +66,7 @@ * \brief * TSIZ >= MINTSIZ */ -#define TSIZ (128*1024) +#define TSIZ (128 * 1024) /*% * max message size - header - root - type - class - ttl - rdlen */ @@ -78,7 +78,7 @@ * there is no fixed upper bound on CERT records. * 2K is too small for some X.509s, 8K is overkill. */ -#define TOKENSIZ (8*1024) +#define TOKENSIZ (8 * 1024) /*% * Buffers sizes for $GENERATE. @@ -86,7 +86,7 @@ #define DNS_MASTER_LHS 2048 #define DNS_MASTER_RHS MINTSIZ -#define CHECKNAMESFAIL(x) (((x) & DNS_MASTER_CHECKNAMESFAIL) != 0) +#define CHECKNAMESFAIL(x) (((x)&DNS_MASTER_CHECKNAMESFAIL) != 0) typedef ISC_LIST(dns_rdatalist_t) rdatalist_head_t; @@ -97,79 +97,78 @@ typedef struct dns_incctx dns_incctx_t; */ struct dns_loadctx { - unsigned int magic; - isc_mem_t *mctx; - dns_masterformat_t format; + unsigned int magic; + isc_mem_t * mctx; + dns_masterformat_t format; - dns_rdatacallbacks_t *callbacks; - isc_task_t *task; - dns_loaddonefunc_t done; - void *done_arg; + dns_rdatacallbacks_t *callbacks; + isc_task_t * task; + dns_loaddonefunc_t done; + void * done_arg; /* Common methods */ - isc_result_t (*openfile)(dns_loadctx_t *lctx, - const char *filename); - isc_result_t (*load)(dns_loadctx_t *lctx); + isc_result_t (*openfile)(dns_loadctx_t *lctx, const char *filename); + isc_result_t (*load)(dns_loadctx_t *lctx); /* Members used by all formats */ - uint32_t maxttl; + uint32_t maxttl; /* Members specific to the text format: */ - isc_lex_t *lex; - bool keep_lex; - unsigned int options; - bool ttl_known; - bool default_ttl_known; - bool warn_1035; - bool warn_tcr; - bool warn_sigexpired; - bool seen_include; - uint32_t ttl; - uint32_t default_ttl; - dns_rdataclass_t zclass; - dns_fixedname_t fixed_top; - dns_name_t *top; /*%< top of zone */ + isc_lex_t * lex; + bool keep_lex; + unsigned int options; + bool ttl_known; + bool default_ttl_known; + bool warn_1035; + bool warn_tcr; + bool warn_sigexpired; + bool seen_include; + uint32_t ttl; + uint32_t default_ttl; + dns_rdataclass_t zclass; + dns_fixedname_t fixed_top; + dns_name_t * top; /*%< top of zone */ /* Members specific to the raw format: */ - FILE *f; - bool first; - dns_masterrawheader_t header; + FILE * f; + bool first; + dns_masterrawheader_t header; /* Which fixed buffers we are using? */ - unsigned int loop_cnt; /*% records per quantum, - * 0 => all. */ - isc_result_t result; + unsigned int loop_cnt; /*% records per quantum, + * 0 => all. */ + isc_result_t result; /* Atomic */ - isc_refcount_t references; - atomic_bool canceled; + isc_refcount_t references; + atomic_bool canceled; /* locked by lock */ - dns_incctx_t *inc; - uint32_t resign; - isc_stdtime_t now; + dns_incctx_t *inc; + uint32_t resign; + isc_stdtime_t now; - dns_masterincludecb_t include_cb; - void *include_arg; + dns_masterincludecb_t include_cb; + void * include_arg; }; struct dns_incctx { - dns_incctx_t *parent; - dns_name_t *origin; - dns_name_t *current; - dns_name_t *glue; - dns_fixedname_t fixed[NBUFS]; /* working buffers */ - unsigned int in_use[NBUFS]; /* covert to bitmap? */ - int glue_in_use; - int current_in_use; - int origin_in_use; + dns_incctx_t * parent; + dns_name_t * origin; + dns_name_t * current; + dns_name_t * glue; + dns_fixedname_t fixed[NBUFS]; /* working buffers */ + unsigned int in_use[NBUFS]; /* covert to bitmap? */ + int glue_in_use; + int current_in_use; + int origin_in_use; bool origin_changed; bool drop; - unsigned int glue_line; - unsigned int current_line; + unsigned int glue_line; + unsigned int current_line; }; -#define DNS_LCTX_MAGIC ISC_MAGIC('L','c','t','x') +#define DNS_LCTX_MAGIC ISC_MAGIC('L', 'c', 't', 'x') #define DNS_LCTX_VALID(lctx) ISC_MAGIC_VALID(lctx, DNS_LCTX_MAGIC) #define DNS_AS_STR(t) ((t).value.as_textregion.base) @@ -204,7 +203,7 @@ is_glue(rdatalist_head_t *, dns_name_t *); static dns_rdatalist_t * grow_rdatalist(int, dns_rdatalist_t *, int, rdatalist_head_t *, - rdatalist_head_t *, isc_mem_t *mctx); + rdatalist_head_t *, isc_mem_t *mctx); static dns_rdata_t * grow_rdata(int, dns_rdata_t *, int, rdatalist_head_t *, rdatalist_head_t *, @@ -219,136 +218,135 @@ task_send(dns_loadctx_t *lctx); static void loadctx_destroy(dns_loadctx_t *lctx); -#define GETTOKENERR(lexer, options, token, eol, err) \ - do { \ +#define GETTOKENERR(lexer, options, token, eol, err) \ + do { \ result = gettoken(lexer, options, token, eol, callbacks); \ - switch (result) { \ - case ISC_R_SUCCESS: \ - break; \ - case ISC_R_UNEXPECTED: \ - goto insist_and_cleanup; \ - default: \ - if (MANYERRS(lctx, result)) { \ - SETRESULT(lctx, result); \ - LOGIT(result); \ - read_till_eol = true; \ - err \ - goto next_line; \ - } else \ - goto log_and_cleanup; \ - } \ - if ((token)->type == isc_tokentype_special) { \ - result = DNS_R_SYNTAX; \ - if (MANYERRS(lctx, result)) { \ - SETRESULT(lctx, result); \ - LOGIT(result); \ - read_till_eol = true; \ - goto next_line; \ - } else \ - goto log_and_cleanup; \ - } \ + switch (result) { \ + case ISC_R_SUCCESS: \ + break; \ + case ISC_R_UNEXPECTED: \ + goto insist_and_cleanup; \ + default: \ + if (MANYERRS(lctx, result)) { \ + SETRESULT(lctx, result); \ + LOGIT(result); \ + read_till_eol = true; \ + err goto next_line; \ + } else \ + goto log_and_cleanup; \ + } \ + if ((token)->type == isc_tokentype_special) { \ + result = DNS_R_SYNTAX; \ + if (MANYERRS(lctx, result)) { \ + SETRESULT(lctx, result); \ + LOGIT(result); \ + read_till_eol = true; \ + goto next_line; \ + } else \ + goto log_and_cleanup; \ + } \ } while (0) #define GETTOKEN(lexer, options, token, eol) \ - GETTOKENERR(lexer, options, token, eol, {} ) + GETTOKENERR(lexer, options, token, eol, {}) -#define COMMITALL \ - do { \ - result = commit(callbacks, lctx, ¤t_list, \ - ictx->current, source, ictx->current_line); \ - if (MANYERRS(lctx, result)) { \ - SETRESULT(lctx, result); \ - } else if (result != ISC_R_SUCCESS) \ - goto insist_and_cleanup; \ - result = commit(callbacks, lctx, &glue_list, \ - ictx->glue, source, ictx->glue_line); \ - if (MANYERRS(lctx, result)) { \ - SETRESULT(lctx, result); \ - } else if (result != ISC_R_SUCCESS) \ - goto insist_and_cleanup; \ - rdcount = 0; \ - rdlcount = 0; \ - isc_buffer_init(&target, target_mem, target_size); \ - rdcount_save = rdcount; \ - rdlcount_save = rdlcount; \ +#define COMMITALL \ + do { \ + result = commit(callbacks, lctx, ¤t_list, ictx->current, \ + source, ictx->current_line); \ + if (MANYERRS(lctx, result)) { \ + SETRESULT(lctx, result); \ + } else if (result != ISC_R_SUCCESS) \ + goto insist_and_cleanup; \ + result = commit(callbacks, lctx, &glue_list, ictx->glue, \ + source, ictx->glue_line); \ + if (MANYERRS(lctx, result)) { \ + SETRESULT(lctx, result); \ + } else if (result != ISC_R_SUCCESS) \ + goto insist_and_cleanup; \ + rdcount = 0; \ + rdlcount = 0; \ + isc_buffer_init(&target, target_mem, target_size); \ + rdcount_save = rdcount; \ + rdlcount_save = rdlcount; \ } while (0) -#define WARNUNEXPECTEDEOF(lexer) \ - do { \ - if (isc_lex_isfile(lexer)) \ - (*callbacks->warn)(callbacks, \ - "%s: file does not end with newline", \ - source); \ +#define WARNUNEXPECTEDEOF(lexer) \ + do { \ + if (isc_lex_isfile(lexer)) \ + (*callbacks->warn)(callbacks, \ + "%s: file does not end with " \ + "newline", \ + source); \ } while (0) -#define EXPECTEOL \ - do { \ - GETTOKEN(lctx->lex, 0, &token, true); \ - if (token.type != isc_tokentype_eol) { \ +#define EXPECTEOL \ + do { \ + GETTOKEN(lctx->lex, 0, &token, true); \ + if (token.type != isc_tokentype_eol) { \ isc_lex_ungettoken(lctx->lex, &token); \ - result = DNS_R_EXTRATOKEN; \ - if (MANYERRS(lctx, result)) { \ - SETRESULT(lctx, result); \ - LOGIT(result); \ - read_till_eol = true; \ - break; \ - } else if (result != ISC_R_SUCCESS) \ - goto log_and_cleanup; \ - } \ + result = DNS_R_EXTRATOKEN; \ + if (MANYERRS(lctx, result)) { \ + SETRESULT(lctx, result); \ + LOGIT(result); \ + read_till_eol = true; \ + break; \ + } else if (result != ISC_R_SUCCESS) \ + goto log_and_cleanup; \ + } \ } while (0) -#define MANYERRS(lctx, result) \ - ((result != ISC_R_SUCCESS) && \ - (result != ISC_R_IOERROR) && \ - ((lctx)->options & DNS_MASTER_MANYERRORS) != 0) +#define MANYERRS(lctx, result) \ + ((result != ISC_R_SUCCESS) && (result != ISC_R_IOERROR) && \ + ((lctx)->options & DNS_MASTER_MANYERRORS) != 0) -#define SETRESULT(lctx, r) \ - do { \ - if ((lctx)->result == ISC_R_SUCCESS) \ - (lctx)->result = r; \ - } while (0) +#define SETRESULT(lctx, r) \ + do { \ + if ((lctx)->result == ISC_R_SUCCESS) \ + (lctx)->result = r; \ + } while (0) -#define LOGITFILE(result, filename) \ - if (result == ISC_R_INVALIDFILE || result == ISC_R_FILENOTFOUND || \ - result == ISC_R_IOERROR || result == ISC_R_TOOMANYOPENFILES || \ - result == ISC_R_NOPERM) \ - (*callbacks->error)(callbacks, "%s: %s:%lu: %s: %s", \ - "dns_master_load", source, line, \ - filename, dns_result_totext(result)); \ - else LOGIT(result) +#define LOGITFILE(result, filename) \ + if (result == ISC_R_INVALIDFILE || result == ISC_R_FILENOTFOUND || \ + result == ISC_R_IOERROR || result == ISC_R_TOOMANYOPENFILES || \ + result == ISC_R_NOPERM) \ + (*callbacks->error)(callbacks, "%s: %s:%lu: %s: %s", \ + "dns_master_load", source, line, filename, \ + dns_result_totext(result)); \ + else \ + LOGIT(result) -#define LOGIT(result) \ - if (result == ISC_R_NOMEMORY) \ +#define LOGIT(result) \ + if (result == ISC_R_NOMEMORY) \ (*callbacks->error)(callbacks, "dns_master_load: %s", \ - dns_result_totext(result)); \ - else \ - (*callbacks->error)(callbacks, "%s: %s:%lu: %s", \ - "dns_master_load", \ - source, line, dns_result_totext(result)) + dns_result_totext(result)); \ + else \ + (*callbacks->error)(callbacks, "%s: %s:%lu: %s", \ + "dns_master_load", source, line, \ + dns_result_totext(result)) - -static unsigned char in_addr_arpa_data[] = "\007IN-ADDR\004ARPA"; -static unsigned char in_addr_arpa_offsets[] = { 0, 8, 13 }; +static unsigned char in_addr_arpa_data[] = "\007IN-ADDR\004ARPA"; +static unsigned char in_addr_arpa_offsets[] = { 0, 8, 13 }; static dns_name_t const in_addr_arpa = DNS_NAME_INITABSOLUTE(in_addr_arpa_data, in_addr_arpa_offsets); -static unsigned char ip6_int_data[] = "\003IP6\003INT"; -static unsigned char ip6_int_offsets[] = { 0, 4, 8 }; +static unsigned char ip6_int_data[] = "\003IP6\003INT"; +static unsigned char ip6_int_offsets[] = { 0, 4, 8 }; static dns_name_t const ip6_int = DNS_NAME_INITABSOLUTE(ip6_int_data, ip6_int_offsets); -static unsigned char ip6_arpa_data[] = "\003IP6\004ARPA"; -static unsigned char ip6_arpa_offsets[] = { 0, 4, 9 }; +static unsigned char ip6_arpa_data[] = "\003IP6\004ARPA"; +static unsigned char ip6_arpa_offsets[] = { 0, 4, 9 }; static dns_name_t const ip6_arpa = DNS_NAME_INITABSOLUTE(ip6_arpa_data, ip6_arpa_offsets); static inline isc_result_t -gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *token, - bool eol, dns_rdatacallbacks_t *callbacks) +gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *token, bool eol, + dns_rdatacallbacks_t *callbacks) { isc_result_t result; options |= ISC_LEXOPT_EOL | ISC_LEXOPT_EOF | ISC_LEXOPT_DNSMULTILINE | - ISC_LEXOPT_ESCAPE; + ISC_LEXOPT_ESCAPE; result = isc_lex_gettoken(lex, options, token); if (result != ISC_R_SUCCESS) { switch (result) { @@ -369,8 +367,8 @@ gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *token, if (token->type == isc_tokentype_eol || token->type == isc_tokentype_eof) { unsigned long int line; - const char *what; - const char *file; + const char * what; + const char * file; file = isc_lex_getsourcename(lex); line = isc_lex_getsourceline(lex); if (token->type == isc_tokentype_eol) { @@ -379,17 +377,17 @@ gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *token, } else what = "file"; (*callbacks->error)(callbacks, - "dns_master_load: %s:%lu: unexpected end of %s", + "dns_master_load: %s:%lu: " + "unexpected end of %s", file, line, what); return (ISC_R_UNEXPECTEDEND); } return (ISC_R_SUCCESS); } - void -dns_loadctx_attach(dns_loadctx_t *source, dns_loadctx_t **target) { - +dns_loadctx_attach(dns_loadctx_t *source, dns_loadctx_t **target) +{ REQUIRE(target != NULL && *target == NULL); REQUIRE(DNS_LCTX_VALID(source)); @@ -399,7 +397,8 @@ dns_loadctx_attach(dns_loadctx_t *source, dns_loadctx_t **target) { } void -dns_loadctx_detach(dns_loadctx_t **lctxp) { +dns_loadctx_detach(dns_loadctx_t **lctxp) +{ dns_loadctx_t *lctx; REQUIRE(lctxp != NULL); @@ -413,10 +412,11 @@ dns_loadctx_detach(dns_loadctx_t **lctxp) { } static void -incctx_destroy(isc_mem_t *mctx, dns_incctx_t *ictx) { +incctx_destroy(isc_mem_t *mctx, dns_incctx_t *ictx) +{ dns_incctx_t *parent; - again: +again: parent = ictx->parent; ictx->parent = NULL; @@ -429,7 +429,8 @@ incctx_destroy(isc_mem_t *mctx, dns_incctx_t *ictx) { } static void -loadctx_destroy(dns_loadctx_t *lctx) { +loadctx_destroy(dns_loadctx_t *lctx) +{ REQUIRE(DNS_LCTX_VALID(lctx)); isc_refcount_destroy(&lctx->references); @@ -461,10 +462,11 @@ loadctx_destroy(dns_loadctx_t *lctx) { } static isc_result_t -incctx_create(isc_mem_t *mctx, dns_name_t *origin, dns_incctx_t **ictxp) { +incctx_create(isc_mem_t *mctx, dns_name_t *origin, dns_incctx_t **ictxp) +{ dns_incctx_t *ictx; - isc_region_t r; - int i; + isc_region_t r; + int i; ictx = isc_mem_get(mctx, sizeof(*ictx)); @@ -494,17 +496,16 @@ incctx_create(isc_mem_t *mctx, dns_name_t *origin, dns_incctx_t **ictxp) { } static isc_result_t -loadctx_create(dns_masterformat_t format, isc_mem_t *mctx, - unsigned int options, uint32_t resign, dns_name_t *top, - dns_rdataclass_t zclass, dns_name_t *origin, - dns_rdatacallbacks_t *callbacks, isc_task_t *task, - dns_loaddonefunc_t done, void *done_arg, +loadctx_create(dns_masterformat_t format, isc_mem_t *mctx, unsigned int options, + uint32_t resign, dns_name_t *top, dns_rdataclass_t zclass, + dns_name_t *origin, dns_rdatacallbacks_t *callbacks, + isc_task_t *task, dns_loaddonefunc_t done, void *done_arg, dns_masterincludecb_t include_cb, void *include_arg, isc_lex_t *lex, dns_loadctx_t **lctxp) { - dns_loadctx_t *lctx; - isc_result_t result; - isc_region_t r; + dns_loadctx_t * lctx; + isc_result_t result; + isc_region_t r; isc_lexspecials_t specials; REQUIRE(lctxp != NULL && *lctxp == NULL); @@ -572,9 +573,9 @@ loadctx_create(dns_masterformat_t format, isc_mem_t *mctx, lctx->ttl = 0; lctx->default_ttl_known = lctx->ttl_known; lctx->default_ttl = 0; - lctx->warn_1035 = true; /* XXX Argument? */ - lctx->warn_tcr = true; /* XXX Argument? */ - lctx->warn_sigexpired = true; /* XXX Argument? */ + lctx->warn_1035 = true; /* XXX Argument? */ + lctx->warn_tcr = true; /* XXX Argument? */ + lctx->warn_sigexpired = true; /* XXX Argument? */ lctx->options = options; lctx->seen_include = false; lctx->zclass = zclass; @@ -609,9 +610,9 @@ loadctx_create(dns_masterformat_t format, isc_mem_t *mctx, *lctxp = lctx; return (ISC_R_SUCCESS); - cleanup_inc: +cleanup_inc: incctx_destroy(mctx, lctx->inc); - cleanup_ctx: +cleanup_ctx: isc_mem_put(mctx, lctx, sizeof(*lctx)); return (result); } @@ -627,7 +628,8 @@ static const char *hex = "0123456789abcdef0123456789ABCDEF"; * counting the terminating NUL. */ static unsigned int -nibbles(char *numbuf, size_t length, unsigned int width, char mode, int value) { +nibbles(char *numbuf, size_t length, unsigned int width, char mode, int value) +{ unsigned int count = 0; /* @@ -668,16 +670,17 @@ nibbles(char *numbuf, size_t length, unsigned int width, char mode, int value) { } static isc_result_t -genname(char *name, int it, char *buffer, size_t length) { - char fmt[sizeof("%04000000000d")]; - char numbuf[128]; - char *cp; - char mode[2]; - int delta = 0; +genname(char *name, int it, char *buffer, size_t length) +{ + char fmt[sizeof("%04000000000d")]; + char numbuf[128]; + char * cp; + char mode[2]; + int delta = 0; isc_textregion_t r; - unsigned int n; - unsigned int width; - bool nibblemode; + unsigned int n; + unsigned int width; + bool nibblemode; r.base = buffer; r.length = (unsigned int)length; @@ -695,15 +698,15 @@ genname(char *name, int it, char *buffer, size_t length) { nibblemode = false; strlcpy(fmt, "%d", sizeof(fmt)); /* Get format specifier. */ - if (*name == '{' ) { - n = sscanf(name, "{%d,%u,%1[doxXnN]}", - &delta, &width, mode); + if (*name == '{') { + n = sscanf(name, "{%d,%u,%1[doxXnN]}", &delta, + &width, mode); switch (n) { case 1: break; case 2: - n = snprintf(fmt, sizeof(fmt), - "%%0%ud", width); + n = snprintf(fmt, sizeof(fmt), "%%0%ud", + width); break; case 3: if (mode[0] == 'n' || mode[0] == 'N') @@ -763,24 +766,24 @@ static isc_result_t generate(dns_loadctx_t *lctx, char *range, char *lhs, char *gtype, char *rhs, const char *source, unsigned int line) { - char *target_mem = NULL; - char *lhsbuf = NULL; - char *rhsbuf = NULL; - dns_fixedname_t ownerfixed; - dns_name_t *owner; - dns_rdata_t rdata = DNS_RDATA_INIT; + char * target_mem = NULL; + char * lhsbuf = NULL; + char * rhsbuf = NULL; + dns_fixedname_t ownerfixed; + dns_name_t * owner; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdatacallbacks_t *callbacks; - dns_rdatalist_t rdatalist; - dns_rdatatype_t type; - rdatalist_head_t head; - int target_size = MINTSIZ; /* only one rdata at a time */ - isc_buffer_t buffer; - isc_buffer_t target; - isc_result_t result; + dns_rdatalist_t rdatalist; + dns_rdatatype_t type; + rdatalist_head_t head; + int target_size = MINTSIZ; /* only one rdata at a time */ + isc_buffer_t buffer; + isc_buffer_t target; + isc_result_t result; isc_textregion_t r; - int i, n, start, stop, step = 0; - dns_incctx_t *ictx; - char dummy[2]; + int i, n, start, stop, step = 0; + dns_incctx_t * ictx; + char dummy[2]; ictx = lctx->inc; callbacks = lctx->callbacks; @@ -798,11 +801,9 @@ generate(dns_loadctx_t *lctx, char *range, char *lhs, char *gtype, char *rhs, n = sscanf(range, "%d-%d%1[/]%d", &start, &stop, dummy, &step); if ((n != 2 && n != 4) || (start < 0) || (stop < 0) || - (n == 4 && step < 1) || (stop < start)) - { - (*callbacks->error)(callbacks, - "%s: %s:%lu: invalid range '%s'", - "$GENERATE", source, line, range); + (n == 4 && step < 1) || (stop < start)) { + (*callbacks->error)(callbacks, "%s: %s:%lu: invalid range '%s'", + "$GENERATE", source, line, range); result = DNS_R_SYNTAX; goto insist_cleanup; } @@ -817,8 +818,8 @@ generate(dns_loadctx_t *lctx, char *range, char *lhs, char *gtype, char *rhs, result = dns_rdatatype_fromtext(&type, &r); if (result != ISC_R_SUCCESS) { (*callbacks->error)(callbacks, - "%s: %s:%lu: unknown RR type '%s'", - "$GENERATE", source, line, gtype); + "%s: %s:%lu: unknown RR type '%s'", + "$GENERATE", source, line, gtype); goto insist_cleanup; } @@ -828,12 +829,9 @@ generate(dns_loadctx_t *lctx, char *range, char *lhs, char *gtype, char *rhs, */ if ((lctx->options & DNS_MASTER_ZONE) != 0 && (lctx->options & DNS_MASTER_SLAVE) == 0 && - dns_rdatatype_ismeta(type)) - { - (*callbacks->error)(callbacks, - "%s: %s:%lu: meta RR type '%s'", - "$GENERATE", - source, line, gtype); + dns_rdatatype_ismeta(type)) { + (*callbacks->error)(callbacks, "%s: %s:%lu: meta RR type '%s'", + "$GENERATE", source, line, gtype); result = DNS_R_METATYPE; goto insist_cleanup; } @@ -849,16 +847,15 @@ generate(dns_loadctx_t *lctx, char *range, char *lhs, char *gtype, char *rhs, isc_buffer_init(&buffer, lhsbuf, strlen(lhsbuf)); isc_buffer_add(&buffer, strlen(lhsbuf)); isc_buffer_setactive(&buffer, strlen(lhsbuf)); - result = dns_name_fromtext(owner, &buffer, ictx->origin, - 0, NULL); + result = dns_name_fromtext(owner, &buffer, ictx->origin, 0, + NULL); if (result != ISC_R_SUCCESS) goto error_cleanup; if ((lctx->options & DNS_MASTER_ZONE) != 0 && (lctx->options & DNS_MASTER_SLAVE) == 0 && (lctx->options & DNS_MASTER_KEY) == 0 && - !dns_name_issubdomain(owner, lctx->top)) - { + !dns_name_issubdomain(owner, lctx->top)) { char namebuf[DNS_NAME_FORMATSIZE]; dns_name_format(owner, namebuf, sizeof(namebuf)); /* @@ -902,18 +899,18 @@ generate(dns_loadctx_t *lctx, char *range, char *lhs, char *gtype, char *rhs, result = ISC_R_SUCCESS; goto cleanup; - error_cleanup: +error_cleanup: if (result == ISC_R_NOMEMORY) (*callbacks->error)(callbacks, "$GENERATE: %s", dns_result_totext(result)); else - (*callbacks->error)(callbacks, "$GENERATE: %s:%lu: %s", - source, line, dns_result_totext(result)); + (*callbacks->error)(callbacks, "$GENERATE: %s:%lu: %s", source, + line, dns_result_totext(result)); - insist_cleanup: +insist_cleanup: INSIST(result != ISC_R_SUCCESS); - cleanup: +cleanup: if (target_mem != NULL) isc_mem_put(lctx->mctx, target_mem, target_size); if (lhsbuf != NULL) @@ -932,9 +929,7 @@ limit_ttl(dns_rdatacallbacks_t *callbacks, const char *source, "%s: %s:%lu: " "$TTL %lu > MAXTTL, " "setting $TTL to 0", - "dns_master_load", - source, line, - *ttlp); + "dns_master_load", source, line, *ttlp); *ttlp = 0; } } @@ -943,7 +938,7 @@ static isc_result_t check_ns(dns_loadctx_t *lctx, isc_token_t *token, const char *source, unsigned long line) { - char *tmp = NULL; + char * tmp = NULL; isc_result_t result = ISC_R_SUCCESS; void (*callback)(struct dns_rdatacallbacks *, const char *, ...); @@ -953,7 +948,7 @@ check_ns(dns_loadctx_t *lctx, isc_token_t *token, const char *source, callback = lctx->callbacks->warn; if (token->type == isc_tokentype_string) { - struct in_addr addr; + struct in_addr addr; struct in6_addr addr6; tmp = isc_mem_strdup(lctx->mctx, DNS_AS_STR(*token)); @@ -967,7 +962,8 @@ check_ns(dns_loadctx_t *lctx, isc_token_t *token, const char *source, result = DNS_R_NSISADDRESS; } if (result != ISC_R_SUCCESS) - (*callback)(lctx->callbacks, "%s:%lu: NS record '%s' " + (*callback)(lctx->callbacks, + "%s:%lu: NS record '%s' " "appears to be an address", source, line, DNS_AS_STR(*token)); if (tmp != NULL) @@ -986,19 +982,22 @@ check_wildcard(dns_incctx_t *ictx, const char *source, unsigned long line, char namebuf[DNS_NAME_FORMATSIZE]; dns_name_format(name, namebuf, sizeof(namebuf)); - (*callbacks->warn)(callbacks, "%s:%lu: warning: ownername " + (*callbacks->warn)(callbacks, + "%s:%lu: warning: ownername " "'%s' contains an non-terminal wildcard", source, line, namebuf); } } static isc_result_t -openfile_text(dns_loadctx_t *lctx, const char *master_file) { +openfile_text(dns_loadctx_t *lctx, const char *master_file) +{ return (isc_lex_openfile(lctx->lex, master_file)); } static int -find_free_name(dns_incctx_t *incctx) { +find_free_name(dns_incctx_t *incctx) +{ int i; for (i = 0; i < (NBUFS - 1); i++) { @@ -1011,54 +1010,55 @@ find_free_name(dns_incctx_t *incctx) { } static isc_result_t -load_text(dns_loadctx_t *lctx) { +load_text(dns_loadctx_t *lctx) +{ dns_rdataclass_t rdclass; - dns_rdatatype_t type, covers; - uint32_t ttl_offset = 0; - dns_name_t *new_name; - bool current_has_delegation = false; - bool done = false; - bool finish_origin = false; - bool finish_include = false; - bool read_till_eol = false; - bool initialws; - char *include_file = NULL; - isc_token_t token; - isc_result_t result = ISC_R_UNEXPECTED; + dns_rdatatype_t type, covers; + uint32_t ttl_offset = 0; + dns_name_t * new_name; + bool current_has_delegation = false; + bool done = false; + bool finish_origin = false; + bool finish_include = false; + bool read_till_eol = false; + bool initialws; + char * include_file = NULL; + isc_token_t token; + isc_result_t result = ISC_R_UNEXPECTED; rdatalist_head_t glue_list; rdatalist_head_t current_list; dns_rdatalist_t *this; - dns_rdatalist_t *rdatalist = NULL; - dns_rdatalist_t *new_rdatalist; - int rdlcount = 0; - int rdlcount_save = 0; - int rdatalist_size = 0; - isc_buffer_t buffer; - isc_buffer_t target; - isc_buffer_t target_ft; - isc_buffer_t target_save; - dns_rdata_t *rdata = NULL; - dns_rdata_t *new_rdata; - int rdcount = 0; - int rdcount_save = 0; - int rdata_size = 0; - unsigned char *target_mem = NULL; - int target_size = TSIZ; - int new_in_use; - unsigned int loop_cnt = 0; - isc_mem_t *mctx; + dns_rdatalist_t * rdatalist = NULL; + dns_rdatalist_t * new_rdatalist; + int rdlcount = 0; + int rdlcount_save = 0; + int rdatalist_size = 0; + isc_buffer_t buffer; + isc_buffer_t target; + isc_buffer_t target_ft; + isc_buffer_t target_save; + dns_rdata_t * rdata = NULL; + dns_rdata_t * new_rdata; + int rdcount = 0; + int rdcount_save = 0; + int rdata_size = 0; + unsigned char * target_mem = NULL; + int target_size = TSIZ; + int new_in_use; + unsigned int loop_cnt = 0; + isc_mem_t * mctx; dns_rdatacallbacks_t *callbacks; - dns_incctx_t *ictx; - char *range = NULL; - char *lhs = NULL; - char *gtype = NULL; - char *rhs = NULL; - const char *source = ""; - unsigned long line = 0; - bool explicit_ttl; - char classname1[DNS_RDATACLASS_FORMATSIZE]; - char classname2[DNS_RDATACLASS_FORMATSIZE]; - unsigned int options = 0; + dns_incctx_t * ictx; + char * range = NULL; + char * lhs = NULL; + char * gtype = NULL; + char * rhs = NULL; + const char * source = ""; + unsigned long line = 0; + bool explicit_ttl; + char classname1[DNS_RDATACLASS_FORMATSIZE]; + char classname2[DNS_RDATACLASS_FORMATSIZE]; + unsigned int options = 0; REQUIRE(DNS_LCTX_VALID(lctx)); callbacks = lctx->callbacks; @@ -1068,7 +1068,6 @@ load_text(dns_loadctx_t *lctx) { ISC_LIST_INIT(glue_list); ISC_LIST_INIT(current_list); - /* * Allocate target_size of buffer space. This is greater than twice * the maximum individual RR data size. @@ -1102,7 +1101,8 @@ load_text(dns_loadctx_t *lctx) { lctx->inc = ictx->parent; ictx->parent = NULL; incctx_destroy(lctx->mctx, ictx); - RUNTIME_CHECK(isc_lex_close(lctx->lex) == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_lex_close(lctx->lex) == + ISC_R_SUCCESS); line = isc_lex_getsourceline(lctx->lex); POST(line); source = isc_lex_getsourcename(lctx->lex); @@ -1115,7 +1115,7 @@ load_text(dns_loadctx_t *lctx) { if (token.type == isc_tokentype_eol) { read_till_eol = false; - continue; /* blank line */ + continue; /* blank line */ } if (read_till_eol) @@ -1128,7 +1128,6 @@ load_text(dns_loadctx_t *lctx) { initialws = true; } else if (token.type == isc_tokentype_string || token.type == isc_tokentype_qstring) { - /* * "$" Support. * @@ -1140,14 +1139,12 @@ load_text(dns_loadctx_t *lctx) { if (strcasecmp(DNS_AS_STR(token), "$ORIGIN") == 0) { GETTOKEN(lctx->lex, 0, &token, false); finish_origin = true; - } else if (strcasecmp(DNS_AS_STR(token), - "$TTL") == 0) { + } else if (strcasecmp(DNS_AS_STR(token), "$TTL") == 0) { GETTOKENERR(lctx->lex, 0, &token, false, lctx->ttl = 0; lctx->default_ttl_known = true;); - result = - dns_ttl_fromtext(&token.value.as_textregion, - &lctx->ttl); + result = dns_ttl_fromtext( + &token.value.as_textregion, &lctx->ttl); if (MANYERRS(lctx, result)) { SETRESULT(lctx, result); lctx->ttl = 0; @@ -1158,25 +1155,28 @@ load_text(dns_loadctx_t *lctx) { lctx->default_ttl_known = true; EXPECTEOL; continue; - } else if (strcasecmp(DNS_AS_STR(token), - "$INCLUDE") == 0) { + } else if (strcasecmp(DNS_AS_STR(token), "$INCLUDE") == + 0) { COMMITALL; - if ((lctx->options & DNS_MASTER_NOINCLUDE) - != 0) - { + if ((lctx->options & DNS_MASTER_NOINCLUDE) != + 0) { (callbacks->error)(callbacks, - "%s: %s:%lu: $INCLUDE not allowed", - "dns_master_load", - source, line); + "%s: %s:%lu: " + "$INCLUDE not " + "allowed", + "dns_master_load", + source, line); result = DNS_R_REFUSED; goto insist_and_cleanup; } if (ttl_offset != 0) { (callbacks->error)(callbacks, - "%s: %s:%lu: $INCLUDE " - "may not be used with $DATE", - "dns_master_load", - source, line); + "%s: %s:%lu: " + "$INCLUDE " + "may not be used " + "with $DATE", + "dns_master_load", + source, line); result = DNS_R_SYNTAX; goto insist_and_cleanup; } @@ -1184,8 +1184,8 @@ load_text(dns_loadctx_t *lctx) { false); if (include_file != NULL) isc_mem_free(mctx, include_file); - include_file = isc_mem_strdup(mctx, - DNS_AS_STR(token)); + include_file = + isc_mem_strdup(mctx, DNS_AS_STR(token)); GETTOKEN(lctx->lex, 0, &token, true); if (token.type == isc_tokentype_eol || @@ -1206,8 +1206,8 @@ load_text(dns_loadctx_t *lctx) { goto insist_and_cleanup; } ictx = lctx->inc; - source = - isc_lex_getsourcename(lctx->lex); + source = isc_lex_getsourcename( + lctx->lex); line = isc_lex_getsourceline(lctx->lex); POST(line); continue; @@ -1218,9 +1218,9 @@ load_text(dns_loadctx_t *lctx) { * the actual inclusion later. */ finish_include = true; - } else if (strcasecmp(DNS_AS_STR(token), - "$DATE") == 0) { - int64_t dump_time64; + } else if (strcasecmp(DNS_AS_STR(token), "$DATE") == + 0) { + int64_t dump_time64; isc_stdtime_t dump_time, current_time; GETTOKEN(lctx->lex, 0, &token, false); isc_stdtime_get(¤t_time); @@ -1235,23 +1235,27 @@ load_text(dns_loadctx_t *lctx) { dump_time = (isc_stdtime_t)dump_time64; if (dump_time != dump_time64) { UNEXPECTED_ERROR(__FILE__, __LINE__, - "%s: %s:%lu: $DATE outside epoch", - "dns_master_load", source, line); + "%s: %s:%lu: $DATE " + "outside epoch", + "dns_master_load", + source, line); result = ISC_R_UNEXPECTED; goto insist_and_cleanup; } if (dump_time > current_time) { UNEXPECTED_ERROR(__FILE__, __LINE__, - "%s: %s:%lu: " - "$DATE in future, using current date", - "dns_master_load", source, line); + "%s: %s:%lu: " + "$DATE in future, " + "using current date", + "dns_master_load", + source, line); dump_time = current_time; } ttl_offset = current_time - dump_time; EXPECTEOL; continue; - } else if (strcasecmp(DNS_AS_STR(token), - "$GENERATE") == 0) { + } else if (strcasecmp(DNS_AS_STR(token), "$GENERATE") == + 0) { /* * Lazy cleanup. */ @@ -1266,8 +1270,7 @@ load_text(dns_loadctx_t *lctx) { range = lhs = gtype = rhs = NULL; /* RANGE */ GETTOKEN(lctx->lex, 0, &token, false); - range = isc_mem_strdup(mctx, - DNS_AS_STR(token)); + range = isc_mem_strdup(mctx, DNS_AS_STR(token)); /* LHS */ GETTOKEN(lctx->lex, 0, &token, false); lhs = isc_mem_strdup(mctx, DNS_AS_STR(token)); @@ -1275,42 +1278,42 @@ load_text(dns_loadctx_t *lctx) { explicit_ttl = false; /* CLASS? */ GETTOKEN(lctx->lex, 0, &token, false); - if (dns_rdataclass_fromtext(&rdclass, - &token.value.as_textregion) - == ISC_R_SUCCESS) { - GETTOKEN(lctx->lex, 0, &token, - false); + if (dns_rdataclass_fromtext( + &rdclass, + &token.value.as_textregion) == + ISC_R_SUCCESS) { + GETTOKEN(lctx->lex, 0, &token, false); } /* TTL? */ if (dns_ttl_fromtext(&token.value.as_textregion, - &lctx->ttl) - == ISC_R_SUCCESS) { + &lctx->ttl) == + ISC_R_SUCCESS) { limit_ttl(callbacks, source, line, &lctx->ttl); lctx->ttl_known = true; explicit_ttl = true; - GETTOKEN(lctx->lex, 0, &token, - false); + GETTOKEN(lctx->lex, 0, &token, false); } /* CLASS? */ if (rdclass == 0 && - dns_rdataclass_fromtext(&rdclass, - &token.value.as_textregion) - == ISC_R_SUCCESS) - GETTOKEN(lctx->lex, 0, &token, - false); + dns_rdataclass_fromtext( + &rdclass, + &token.value.as_textregion) == + ISC_R_SUCCESS) + GETTOKEN(lctx->lex, 0, &token, false); /* TYPE */ - gtype = isc_mem_strdup(mctx, - DNS_AS_STR(token)); + gtype = isc_mem_strdup(mctx, DNS_AS_STR(token)); /* RHS */ - GETTOKEN(lctx->lex, ISC_LEXOPT_QSTRING, - &token, false); + GETTOKEN(lctx->lex, ISC_LEXOPT_QSTRING, &token, + false); rhs = isc_mem_strdup(mctx, DNS_AS_STR(token)); if (!lctx->ttl_known && !lctx->default_ttl_known) { (*callbacks->error)(callbacks, - "%s: %s:%lu: no TTL specified", - "dns_master_load", source, line); + "%s: %s:%lu: no " + "TTL specified", + "dns_master_load", + source, line); result = DNS_R_NOTTL; if (MANYERRS(lctx, result)) { SETRESULT(lctx, result); @@ -1338,13 +1341,13 @@ load_text(dns_loadctx_t *lctx) { goto insist_and_cleanup; EXPECTEOL; continue; - } else if (strncasecmp(DNS_AS_STR(token), - "$", 1) == 0) { + } else if (strncasecmp(DNS_AS_STR(token), "$", 1) == + 0) { (callbacks->error)(callbacks, - "%s: %s:%lu: " - "unknown $ directive '%s'", - "dns_master_load", source, line, - DNS_AS_STR(token)); + "%s: %s:%lu: " + "unknown $ directive '%s'", + "dns_master_load", source, + line, DNS_AS_STR(token)); result = DNS_R_SYNTAX; if (MANYERRS(lctx, result)) { SETRESULT(lctx, result); @@ -1357,15 +1360,15 @@ load_text(dns_loadctx_t *lctx) { * Normal processing resumes. */ new_in_use = find_free_name(ictx); - new_name = - dns_fixedname_initname(&ictx->fixed[new_in_use]); + new_name = dns_fixedname_initname( + &ictx->fixed[new_in_use]); isc_buffer_init(&buffer, token.value.as_region.base, token.value.as_region.length); isc_buffer_add(&buffer, token.value.as_region.length); isc_buffer_setactive(&buffer, token.value.as_region.length); result = dns_name_fromtext(new_name, &buffer, - ictx->origin, 0, NULL); + ictx->origin, 0, NULL); if (MANYERRS(lctx, result)) { SETRESULT(lctx, result); LOGIT(result); @@ -1429,8 +1432,7 @@ load_text(dns_loadctx_t *lctx) { } else if (result != ISC_R_SUCCESS) goto insist_and_cleanup; if (ictx->glue_in_use != -1) - ictx->in_use[ictx->glue_in_use] = - false; + ictx->in_use[ictx->glue_in_use] = false; ictx->glue_in_use = -1; ictx->glue = NULL; rdcount = rdcount_save; @@ -1445,22 +1447,21 @@ load_text(dns_loadctx_t *lctx) { * otherwise we have a new name so commit what we * have. */ - if ((ictx->glue == NULL) && (ictx->current == NULL || - !dns_name_caseequal(ictx->current, new_name))) { + if ((ictx->glue == NULL) && + (ictx->current == NULL || + !dns_name_caseequal(ictx->current, new_name))) { if (current_has_delegation && - is_glue(¤t_list, new_name)) { + is_glue(¤t_list, new_name)) { rdcount_save = rdcount; rdlcount_save = rdlcount; target_save = target; ictx->glue = new_name; ictx->glue_in_use = new_in_use; - ictx->in_use[ictx->glue_in_use] = - true; + ictx->in_use[ictx->glue_in_use] = true; } else { result = commit(callbacks, lctx, ¤t_list, - ictx->current, - source, + ictx->current, source, ictx->current_line); if (MANYERRS(lctx, result)) { SETRESULT(lctx, result); @@ -1469,8 +1470,9 @@ load_text(dns_loadctx_t *lctx) { rdcount = 0; rdlcount = 0; if (ictx->current_in_use != -1) - ictx->in_use[ictx->current_in_use] = - false; + ictx->in_use + [ictx->current_in_use] = + false; ictx->current_in_use = new_in_use; ictx->in_use[ictx->current_in_use] = true; @@ -1482,17 +1484,15 @@ load_text(dns_loadctx_t *lctx) { /* * Check for internal wildcards. */ - if ((lctx->options & DNS_MASTER_CHECKWILDCARD) - != 0) + if ((lctx->options & + DNS_MASTER_CHECKWILDCARD) != 0) check_wildcard(ictx, source, line, callbacks); - } if ((lctx->options & DNS_MASTER_ZONE) != 0 && (lctx->options & DNS_MASTER_SLAVE) == 0 && (lctx->options & DNS_MASTER_KEY) == 0 && - !dns_name_issubdomain(new_name, lctx->top)) - { + !dns_name_issubdomain(new_name, lctx->top)) { char namebuf[DNS_NAME_FORMATSIZE]; dns_name_format(new_name, namebuf, sizeof(namebuf)); @@ -1500,9 +1500,10 @@ load_text(dns_loadctx_t *lctx) { * Ignore out-of-zone data. */ (*callbacks->warn)(callbacks, - "%s:%lu: " - "ignoring out-of-zone data (%s)", - source, line, namebuf); + "%s:%lu: " + "ignoring out-of-zone data " + "(%s)", + source, line, namebuf); ictx->drop = true; } else ictx->drop = false; @@ -1538,7 +1539,7 @@ load_text(dns_loadctx_t *lctx) { if (initialws) { if (token.type == isc_tokentype_eol) { read_till_eol = false; - continue; /* blank line */ + continue; /* blank line */ } if (token.type == isc_tokentype_eof) { @@ -1550,8 +1551,9 @@ load_text(dns_loadctx_t *lctx) { if (ictx->current == NULL) { (*callbacks->error)(callbacks, - "%s:%lu: no current owner name", - source, line); + "%s:%lu: no current owner " + "name", + source, line); result = DNS_R_NOOWNER; if (MANYERRS(lctx, result)) { SETRESULT(lctx, result); @@ -1570,18 +1572,20 @@ load_text(dns_loadctx_t *lctx) { dns_name_format(ictx->origin, obuf, sizeof(obuf)); (*callbacks->warn)(callbacks, - "%s:%lu: record with inherited " - "owner (%s) immediately after " - "$ORIGIN (%s)", source, line, - cbuf, obuf); + "%s:%lu: record with " + "inherited " + "owner (%s) immediately " + "after " + "$ORIGIN (%s)", + source, line, cbuf, obuf); } } ictx->origin_changed = false; if (dns_rdataclass_fromtext(&rdclass, - &token.value.as_textregion) - == ISC_R_SUCCESS) + &token.value.as_textregion) == + ISC_R_SUCCESS) GETTOKEN(lctx->lex, 0, &token, false); explicit_ttl = false; @@ -1596,7 +1600,8 @@ load_text(dns_loadctx_t *lctx) { if (token.type != isc_tokentype_string) { UNEXPECTED_ERROR(__FILE__, __LINE__, - "isc_lex_gettoken() returned unexpected token type"); + "isc_lex_gettoken() returned " + "unexpected token type"); result = ISC_R_UNEXPECTED; if (MANYERRS(lctx, result)) { SETRESULT(lctx, result); @@ -1609,13 +1614,14 @@ load_text(dns_loadctx_t *lctx) { if (rdclass == 0 && dns_rdataclass_fromtext(&rdclass, - &token.value.as_textregion) - == ISC_R_SUCCESS) + &token.value.as_textregion) == + ISC_R_SUCCESS) GETTOKEN(lctx->lex, 0, &token, false); if (token.type != isc_tokentype_string) { UNEXPECTED_ERROR(__FILE__, __LINE__, - "isc_lex_gettoken() returned unexpected token type"); + "isc_lex_gettoken() returned " + "unexpected token type"); result = ISC_R_UNEXPECTED; if (MANYERRS(lctx, result)) { SETRESULT(lctx, result); @@ -1629,11 +1635,10 @@ load_text(dns_loadctx_t *lctx) { result = dns_rdatatype_fromtext(&type, &token.value.as_textregion); if (result != ISC_R_SUCCESS) { - (*callbacks->warn)(callbacks, - "%s:%lu: unknown RR type '%.*s'", - source, line, - token.value.as_textregion.length, - token.value.as_textregion.base); + (*callbacks->warn)( + callbacks, "%s:%lu: unknown RR type '%.*s'", + source, line, token.value.as_textregion.length, + token.value.as_textregion.base); if (MANYERRS(lctx, result)) { SETRESULT(lctx, result); read_till_eol = true; @@ -1647,7 +1652,7 @@ load_text(dns_loadctx_t *lctx) { * print out a error message and exit. */ if (rdclass != 0 && rdclass != lctx->zclass) { - bad_class: + bad_class: dns_rdataclass_format(rdclass, classname1, sizeof(classname1)); @@ -1656,8 +1661,8 @@ load_text(dns_loadctx_t *lctx) { (*callbacks->error)(callbacks, "%s:%lu: class '%s' != " "zone class '%s'", - source, line, - classname1, classname2); + source, line, classname1, + classname2); result = DNS_R_BADCLASS; if (MANYERRS(lctx, result)) { SETRESULT(lctx, result); @@ -1683,10 +1688,8 @@ load_text(dns_loadctx_t *lctx) { result = DNS_R_OBSOLETE; dns_rdatatype_format(type, typebuf, sizeof(typebuf)); - (*callbacks->error)(callbacks, - "%s:%lu: %s '%s': %s", - source, line, - "type", typebuf, + (*callbacks->error)(callbacks, "%s:%lu: %s '%s': %s", + source, line, "type", typebuf, dns_result_totext(result)); if (MANYERRS(lctx, result)) { SETRESULT(lctx, result); @@ -1700,17 +1703,14 @@ load_text(dns_loadctx_t *lctx) { */ if ((lctx->options & DNS_MASTER_ZONE) != 0 && (lctx->options & DNS_MASTER_SLAVE) == 0 && - dns_rdatatype_ismeta(type)) - { + dns_rdatatype_ismeta(type)) { char typebuf[DNS_RDATATYPE_FORMATSIZE]; result = DNS_R_METATYPE; dns_rdatatype_format(type, typebuf, sizeof(typebuf)); - (*callbacks->error)(callbacks, - "%s:%lu: %s '%s': %s", - source, line, - "type", typebuf, + (*callbacks->error)(callbacks, "%s:%lu: %s '%s': %s", + source, line, "type", typebuf, dns_result_totext(result)); if (MANYERRS(lctx, result)) { SETRESULT(lctx, result); @@ -1739,7 +1739,6 @@ load_text(dns_loadctx_t *lctx) { if (type == dns_rdatatype_ns && lctx->zclass == dns_rdataclass_in && (lctx->options & DNS_MASTER_CHECKNS) != 0) { - GETTOKEN(lctx->lex, 0, &token, false); result = check_ns(lctx, &token, source, line); isc_lex_ungettoken(lctx->lex, &token); @@ -1756,35 +1755,33 @@ load_text(dns_loadctx_t *lctx) { */ options &= ~DNS_RDATA_CHECKREVERSE; if ((lctx->options & DNS_MASTER_CHECKNAMES) != 0) { - bool ok; + bool ok; dns_name_t *name; - name = (ictx->glue != NULL) ? ictx->glue : - ictx->current; + name = (ictx->glue != NULL) ? ictx->glue + : ictx->current; ok = dns_rdata_checkowner(name, lctx->zclass, type, true); if (!ok) { - char namebuf[DNS_NAME_FORMATSIZE]; + char namebuf[DNS_NAME_FORMATSIZE]; const char *desc; dns_name_format(name, namebuf, sizeof(namebuf)); result = DNS_R_BADOWNERNAME; desc = dns_result_totext(result); if (CHECKNAMESFAIL(lctx->options) || type == dns_rdatatype_nsec3) { - (*callbacks->error)(callbacks, - "%s:%lu: %s: %s", - source, line, - namebuf, desc); + (*callbacks->error)( + callbacks, "%s:%lu: %s: %s", + source, line, namebuf, desc); if (MANYERRS(lctx, result)) { SETRESULT(lctx, result); } else { goto cleanup; } } else { - (*callbacks->warn)(callbacks, - "%s:%lu: %s: %s", - source, line, - namebuf, desc); + (*callbacks->warn)( + callbacks, "%s:%lu: %s: %s", + source, line, namebuf, desc); } } if (type == dns_rdatatype_ptr && @@ -1800,10 +1797,9 @@ load_text(dns_loadctx_t *lctx) { */ dns_rdata_init(&rdata[rdcount]); target_ft = target; - result = dns_rdata_fromtext(&rdata[rdcount], lctx->zclass, - type, lctx->lex, ictx->origin, - options, lctx->mctx, &target, - callbacks); + result = dns_rdata_fromtext(&rdata[rdcount], lctx->zclass, type, + lctx->lex, ictx->origin, options, + lctx->mctx, &target, callbacks); if (MANYERRS(lctx, result)) { SETRESULT(lctx, result); continue; @@ -1821,7 +1817,8 @@ load_text(dns_loadctx_t *lctx) { char namebuf[DNS_NAME_FORMATSIZE]; dns_name_format(ictx->current, namebuf, sizeof(namebuf)); - (*callbacks->error)(callbacks, "%s:%lu: SOA " + (*callbacks->error)(callbacks, + "%s:%lu: SOA " "record not at top of zone (%s)", source, line, namebuf); result = DNS_R_NOTZONETOP; @@ -1835,8 +1832,7 @@ load_text(dns_loadctx_t *lctx) { } } - if (type == dns_rdatatype_rrsig || - type == dns_rdatatype_sig) + if (type == dns_rdatatype_rrsig || type == dns_rdatatype_sig) covers = dns_rdata_covers(&rdata[rdcount]); else covers = 0; @@ -1883,8 +1879,8 @@ load_text(dns_loadctx_t *lctx) { if (type == dns_rdatatype_rrsig && lctx->warn_sigexpired) { dns_rdata_rrsig_t sig; - result = dns_rdata_tostruct(&rdata[rdcount], &sig, - NULL); + result = + dns_rdata_tostruct(&rdata[rdcount], &sig, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); if (isc_serial_lt(sig.timeexpire, lctx->now)) { (*callbacks->warn)(callbacks, @@ -1898,8 +1894,10 @@ load_text(dns_loadctx_t *lctx) { if ((type == dns_rdatatype_sig || type == dns_rdatatype_nxt) && lctx->warn_tcr && (lctx->options & DNS_MASTER_ZONE) != 0 && (lctx->options & DNS_MASTER_SLAVE) == 0) { - (*callbacks->warn)(callbacks, "%s:%lu: old style DNSSEC " - " zone detected", source, line); + (*callbacks->warn)(callbacks, + "%s:%lu: old style DNSSEC " + " zone detected", + source, line); lctx->warn_tcr = false; } @@ -1937,13 +1935,10 @@ load_text(dns_loadctx_t *lctx) { if (this == NULL) { if (rdlcount == rdatalist_size) { - new_rdatalist = - grow_rdatalist(rdatalist_size + RDLSZ, - rdatalist, - rdatalist_size, - ¤t_list, - &glue_list, - mctx); + new_rdatalist = grow_rdatalist( + rdatalist_size + RDLSZ, rdatalist, + rdatalist_size, ¤t_list, + &glue_list, mctx); if (new_rdatalist == NULL) { result = ISC_R_NOMEMORY; goto log_and_cleanup; @@ -1971,12 +1966,13 @@ load_text(dns_loadctx_t *lctx) { } if ((lctx->options & DNS_MASTER_CHECKTTL) != 0 && - lctx->ttl > lctx->maxttl) - { + lctx->ttl > lctx->maxttl) { (callbacks->error)(callbacks, - "dns_master_load: %s:%lu: " - "TTL %d exceeds configured max-zone-ttl %d", - source, line, lctx->ttl, lctx->maxttl); + "dns_master_load: %s:%lu: " + "TTL %d exceeds configured " + "max-zone-ttl %d", + source, line, lctx->ttl, + lctx->maxttl); result = ISC_R_RANGE; goto log_and_cleanup; } @@ -1994,21 +1990,20 @@ load_text(dns_loadctx_t *lctx) { */ if ((target.length - target.used) < MINTSIZ) COMMITALL; - next_line: - ; + next_line:; } while (!done && (lctx->loop_cnt == 0 || loop_cnt++ < lctx->loop_cnt)); /* * Commit what has not yet been committed. */ - result = commit(callbacks, lctx, ¤t_list, ictx->current, - source, ictx->current_line); + result = commit(callbacks, lctx, ¤t_list, ictx->current, source, + ictx->current_line); if (MANYERRS(lctx, result)) { SETRESULT(lctx, result); } else if (result != ISC_R_SUCCESS) goto insist_and_cleanup; - result = commit(callbacks, lctx, &glue_list, ictx->glue, - source, ictx->glue_line); + result = commit(callbacks, lctx, &glue_list, ictx->glue, source, + ictx->glue_line); if (MANYERRS(lctx, result)) { SETRESULT(lctx, result); } else if (result != ISC_R_SUCCESS) @@ -2023,13 +2018,13 @@ load_text(dns_loadctx_t *lctx) { result = DNS_R_SEENINCLUDE; goto cleanup; - log_and_cleanup: +log_and_cleanup: LOGIT(result); - insist_and_cleanup: +insist_and_cleanup: INSIST(result != ISC_R_SUCCESS); - cleanup: +cleanup: while ((this = ISC_LIST_HEAD(current_list)) != NULL) ISC_LIST_UNLINK(current_list, this, link); while ((this = ISC_LIST_HEAD(glue_list)) != NULL) @@ -2055,11 +2050,12 @@ load_text(dns_loadctx_t *lctx) { } static isc_result_t -pushfile(const char *master_file, dns_name_t *origin, dns_loadctx_t *lctx) { - isc_result_t result; +pushfile(const char *master_file, dns_name_t *origin, dns_loadctx_t *lctx) +{ + isc_result_t result; dns_incctx_t *ictx; dns_incctx_t *newctx = NULL; - isc_region_t r; + isc_region_t r; REQUIRE(master_file != NULL); REQUIRE(DNS_LCTX_VALID(lctx)); @@ -2079,11 +2075,11 @@ pushfile(const char *master_file, dns_name_t *origin, dns_loadctx_t *lctx) { /* Set current domain. */ if (ictx->glue != NULL || ictx->current != NULL) { newctx->current_in_use = find_free_name(newctx); - newctx->current = - dns_fixedname_name(&newctx->fixed[newctx->current_in_use]); + newctx->current = dns_fixedname_name( + &newctx->fixed[newctx->current_in_use]); newctx->in_use[newctx->current_in_use] = true; - dns_name_toregion((ictx->glue != NULL) ? - ictx->glue : ictx->current, &r); + dns_name_toregion( + (ictx->glue != NULL) ? ictx->glue : ictx->current, &r); dns_name_fromregion(newctx->current, &r); newctx->drop = ictx->drop; } @@ -2098,7 +2094,7 @@ pushfile(const char *master_file, dns_name_t *origin, dns_loadctx_t *lctx) { lctx->include_cb(master_file, lctx->include_arg); return (ISC_R_SUCCESS); - cleanup: +cleanup: incctx_destroy(lctx->mctx, newctx); return (result); } @@ -2108,8 +2104,8 @@ pushfile(const char *master_file, dns_name_t *origin, dns_loadctx_t *lctx) { * read when incrementally filling the buffer. */ static inline isc_result_t -read_and_check(bool do_read, isc_buffer_t *buffer, - size_t len, FILE *f, uint32_t *totallen) +read_and_check(bool do_read, isc_buffer_t *buffer, size_t len, FILE *f, + uint32_t *totallen) { isc_result_t result; @@ -2117,8 +2113,8 @@ read_and_check(bool do_read, isc_buffer_t *buffer, if (do_read) { INSIST(isc_buffer_availablelength(buffer) >= len); - result = isc_stdio_read(isc_buffer_used(buffer), 1, len, - f, NULL); + result = isc_stdio_read(isc_buffer_used(buffer), 1, len, f, + NULL); if (result != ISC_R_SUCCESS) return (result); isc_buffer_add(buffer, (unsigned int)len); @@ -2132,14 +2128,15 @@ read_and_check(bool do_read, isc_buffer_t *buffer, } static isc_result_t -load_header(dns_loadctx_t *lctx) { - isc_result_t result = ISC_R_SUCCESS; +load_header(dns_loadctx_t *lctx) +{ + isc_result_t result = ISC_R_SUCCESS; dns_masterrawheader_t header; dns_rdatacallbacks_t *callbacks; size_t commonlen = sizeof(header.format) + sizeof(header.version); size_t remainder; unsigned char data[sizeof(header)]; - isc_buffer_t target; + isc_buffer_t target; REQUIRE(DNS_LCTX_VALID(lctx)); @@ -2164,11 +2161,12 @@ load_header(dns_loadctx_t *lctx) { isc_buffer_add(&target, (unsigned int)commonlen); header.format = isc_buffer_getuint32(&target); if (header.format != lctx->format) { - (*callbacks->error)(callbacks, "dns_master_load: " + (*callbacks->error)(callbacks, + "dns_master_load: " "file format mismatch (not %s)", - lctx->format == dns_masterformat_map - ? "map" - : "raw"); + lctx->format == dns_masterformat_map ? "map" + : "ra" + "w"); return (ISC_R_NOTIMPLEMENTED); } @@ -2182,9 +2180,9 @@ load_header(dns_loadctx_t *lctx) { remainder = sizeof(header) - commonlen; break; default: - (*callbacks->error)(callbacks, - "dns_master_load: " - "unsupported file format version"); + (*callbacks->error)(callbacks, "dns_master_load: " + "unsupported file format " + "version"); return (ISC_R_NOTIMPLEMENTED); } @@ -2211,7 +2209,8 @@ load_header(dns_loadctx_t *lctx) { } static isc_result_t -openfile_map(dns_loadctx_t *lctx, const char *master_file) { +openfile_map(dns_loadctx_t *lctx, const char *master_file) +{ isc_result_t result; result = isc_stdio_open(master_file, "rb", &lctx->f); @@ -2228,8 +2227,9 @@ openfile_map(dns_loadctx_t *lctx, const char *master_file) { * Load a map format file, using mmap() to access RBT trees directly */ static isc_result_t -load_map(dns_loadctx_t *lctx) { - isc_result_t result = ISC_R_SUCCESS; +load_map(dns_loadctx_t *lctx) +{ + isc_result_t result = ISC_R_SUCCESS; dns_rdatacallbacks_t *callbacks; REQUIRE(DNS_LCTX_VALID(lctx)); @@ -2241,16 +2241,17 @@ load_map(dns_loadctx_t *lctx) { if (result != ISC_R_SUCCESS) return (result); - result = (*callbacks->deserialize) - (callbacks->deserialize_private, - lctx->f, sizeof(dns_masterrawheader_t)); + result = (*callbacks->deserialize)( + callbacks->deserialize_private, lctx->f, + sizeof(dns_masterrawheader_t)); } return (result); } static isc_result_t -openfile_raw(dns_loadctx_t *lctx, const char *master_file) { +openfile_raw(dns_loadctx_t *lctx, const char *master_file) +{ isc_result_t result; result = isc_stdio_open(master_file, "rb", &lctx->f); @@ -2264,23 +2265,24 @@ openfile_raw(dns_loadctx_t *lctx, const char *master_file) { } static isc_result_t -load_raw(dns_loadctx_t *lctx) { - isc_result_t result = ISC_R_SUCCESS; - bool done = false; - unsigned int loop_cnt = 0; +load_raw(dns_loadctx_t *lctx) +{ + isc_result_t result = ISC_R_SUCCESS; + bool done = false; + unsigned int loop_cnt = 0; dns_rdatacallbacks_t *callbacks; - unsigned char namebuf[DNS_NAME_MAXWIRE]; - dns_fixedname_t fixed; - dns_name_t *name; - rdatalist_head_t head, dummy; - dns_rdatalist_t rdatalist; - isc_mem_t *mctx = lctx->mctx; - dns_rdata_t *rdata = NULL; - unsigned int rdata_size = 0; - int target_size = TSIZ; - isc_buffer_t target, buf; - unsigned char *target_mem = NULL; - dns_decompress_t dctx; + unsigned char namebuf[DNS_NAME_MAXWIRE]; + dns_fixedname_t fixed; + dns_name_t * name; + rdatalist_head_t head, dummy; + dns_rdatalist_t rdatalist; + isc_mem_t * mctx = lctx->mctx; + dns_rdata_t * rdata = NULL; + unsigned int rdata_size = 0; + int target_size = TSIZ; + isc_buffer_t target, buf; + unsigned char * target_mem = NULL; + dns_decompress_t dctx; callbacks = lctx->callbacks; dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_NONE); @@ -2311,19 +2313,17 @@ load_raw(dns_loadctx_t *lctx) { * in this format, and so trying to continue parsing erroneous data * does not really make sense. */ - for (loop_cnt = 0; - (lctx->loop_cnt == 0 || loop_cnt < lctx->loop_cnt); + for (loop_cnt = 0; (lctx->loop_cnt == 0 || loop_cnt < lctx->loop_cnt); loop_cnt++) { unsigned int i, rdcount; - uint16_t namelen; - uint32_t totallen; - size_t minlen, readlen; - bool sequential_read = false; + uint16_t namelen; + uint32_t totallen; + size_t minlen, readlen; + bool sequential_read = false; /* Read the data length */ isc_buffer_clear(&target); - INSIST(isc_buffer_availablelength(&target) >= - sizeof(totallen)); + INSIST(isc_buffer_availablelength(&target) >= sizeof(totallen)); result = isc_stdio_read(target.base, 1, sizeof(totallen), lctx->f, NULL); if (result == ISC_R_EOF) { @@ -2341,8 +2341,8 @@ load_raw(dns_loadctx_t *lctx) { * header. */ minlen = sizeof(totallen) + sizeof(uint16_t) + - sizeof(uint16_t) + sizeof(uint16_t) + - sizeof(uint32_t) + sizeof(uint32_t); + sizeof(uint16_t) + sizeof(uint16_t) + + sizeof(uint32_t) + sizeof(uint32_t); if (totallen < minlen) { result = ISC_R_RANGE; goto cleanup; @@ -2372,8 +2372,7 @@ load_raw(dns_loadctx_t *lctx) { */ readlen = totallen; } - result = isc_stdio_read(target.base, 1, readlen, - lctx->f, NULL); + result = isc_stdio_read(target.base, 1, readlen, lctx->f, NULL); if (result != ISC_R_SUCCESS) goto cleanup; isc_buffer_add(&target, (unsigned int)readlen); @@ -2388,7 +2387,7 @@ load_raw(dns_loadctx_t *lctx) { } rdatalist.type = isc_buffer_getuint16(&target); rdatalist.covers = isc_buffer_getuint16(&target); - rdatalist.ttl = isc_buffer_getuint32(&target); + rdatalist.ttl = isc_buffer_getuint32(&target); rdcount = isc_buffer_getuint32(&target); if (rdcount == 0 || rdcount > 0xffff) { result = ISC_R_RANGE; @@ -2418,8 +2417,7 @@ load_raw(dns_loadctx_t *lctx) { goto cleanup; if ((lctx->options & DNS_MASTER_CHECKTTL) != 0 && - rdatalist.ttl > lctx->maxttl) - { + rdatalist.ttl > lctx->maxttl) { (callbacks->error)(callbacks, "dns_master_load: " "TTL %d exceeds configured " @@ -2434,8 +2432,7 @@ load_raw(dns_loadctx_t *lctx) { dns_rdata_t *new_rdata = NULL; new_rdata = grow_rdata(rdcount + RDSZ, rdata, - rdata_size, &head, - &dummy, mctx); + rdata_size, &head, &dummy, mctx); if (new_rdata == NULL) { result = ISC_R_NOMEMORY; goto cleanup; @@ -2485,8 +2482,8 @@ load_raw(dns_loadctx_t *lctx) { rdlen = isc_buffer_getuint16(&target); /* rdata */ - result = read_and_check(sequential_read, &target, - rdlen, lctx->f, &totallen); + result = read_and_check(sequential_read, &target, rdlen, + lctx->f, &totallen); if (result != ISC_R_SUCCESS) goto cleanup; isc_buffer_setactive(&target, (unsigned int)rdlen); @@ -2498,10 +2495,9 @@ load_raw(dns_loadctx_t *lctx) { */ isc_buffer_init(&buf, isc_buffer_current(&target), (unsigned int)rdlen); - result = dns_rdata_fromwire(&rdata[i], - rdatalist.rdclass, - rdatalist.type, &target, - &dctx, 0, &buf); + result = dns_rdata_fromwire( + &rdata[i], rdatalist.rdclass, rdatalist.type, + &target, &dctx, 0, &buf); if (result != ISC_R_SUCCESS) goto cleanup; ISC_LIST_APPEND(rdatalist.rdata, &rdata[i], link); @@ -2540,7 +2536,7 @@ load_raw(dns_loadctx_t *lctx) { if (result == ISC_R_SUCCESS && callbacks->rawdata != NULL) (*callbacks->rawdata)(callbacks->zone, &lctx->header); - cleanup: +cleanup: if (rdata != NULL) isc_mem_put(mctx, rdata, rdata_size * sizeof(*rdata)); if (target_mem != NULL) @@ -2563,11 +2559,11 @@ dns_master_loadfile(const char *master_file, dns_name_t *top, dns_ttl_t maxttl) { dns_loadctx_t *lctx = NULL; - isc_result_t result; + isc_result_t result; result = loadctx_create(format, mctx, options, resign, top, zclass, - origin, callbacks, NULL, NULL, NULL, - include_cb, include_arg, NULL, &lctx); + origin, callbacks, NULL, NULL, NULL, include_cb, + include_arg, NULL, &lctx); if (result != ISC_R_SUCCESS) return (result); @@ -2580,7 +2576,7 @@ dns_master_loadfile(const char *master_file, dns_name_t *top, result = (lctx->load)(lctx); INSIST(result != DNS_R_CONTINUE); - cleanup: +cleanup: dns_loadctx_detach(&lctx); return (result); } @@ -2589,15 +2585,14 @@ isc_result_t dns_master_loadfileinc(const char *master_file, dns_name_t *top, dns_name_t *origin, dns_rdataclass_t zclass, unsigned int options, uint32_t resign, - dns_rdatacallbacks_t *callbacks, - isc_task_t *task, dns_loaddonefunc_t done, - void *done_arg, dns_loadctx_t **lctxp, - dns_masterincludecb_t include_cb, void *include_arg, - isc_mem_t *mctx, dns_masterformat_t format, - uint32_t maxttl) + dns_rdatacallbacks_t *callbacks, isc_task_t *task, + dns_loaddonefunc_t done, void *done_arg, + dns_loadctx_t **lctxp, dns_masterincludecb_t include_cb, + void *include_arg, isc_mem_t *mctx, + dns_masterformat_t format, uint32_t maxttl) { dns_loadctx_t *lctx = NULL; - isc_result_t result; + isc_result_t result; REQUIRE(task != NULL); REQUIRE(done != NULL); @@ -2620,7 +2615,7 @@ dns_master_loadfileinc(const char *master_file, dns_name_t *top, return (DNS_R_CONTINUE); } - cleanup: +cleanup: dns_loadctx_detach(&lctx); return (result); } @@ -2630,7 +2625,7 @@ dns_master_loadstream(FILE *stream, dns_name_t *top, dns_name_t *origin, dns_rdataclass_t zclass, unsigned int options, dns_rdatacallbacks_t *callbacks, isc_mem_t *mctx) { - isc_result_t result; + isc_result_t result; dns_loadctx_t *lctx = NULL; REQUIRE(stream != NULL); @@ -2648,7 +2643,7 @@ dns_master_loadstream(FILE *stream, dns_name_t *top, dns_name_t *origin, result = (lctx->load)(lctx); INSIST(result != DNS_R_CONTINUE); - cleanup: +cleanup: if (lctx != NULL) dns_loadctx_detach(&lctx); return (result); @@ -2661,7 +2656,7 @@ dns_master_loadstreaminc(FILE *stream, dns_name_t *top, dns_name_t *origin, dns_loaddonefunc_t done, void *done_arg, dns_loadctx_t **lctxp, isc_mem_t *mctx) { - isc_result_t result; + isc_result_t result; dns_loadctx_t *lctx = NULL; REQUIRE(stream != NULL); @@ -2669,8 +2664,8 @@ dns_master_loadstreaminc(FILE *stream, dns_name_t *top, dns_name_t *origin, REQUIRE(done != NULL); result = loadctx_create(dns_masterformat_text, mctx, options, 0, top, - zclass, origin, callbacks, task, done, - done_arg, NULL, NULL, NULL, &lctx); + zclass, origin, callbacks, task, done, done_arg, + NULL, NULL, NULL, &lctx); if (result != ISC_R_SUCCESS) goto cleanup; @@ -2684,19 +2679,18 @@ dns_master_loadstreaminc(FILE *stream, dns_name_t *top, dns_name_t *origin, return (DNS_R_CONTINUE); } - cleanup: +cleanup: if (lctx != NULL) dns_loadctx_detach(&lctx); return (result); } isc_result_t -dns_master_loadbuffer(isc_buffer_t *buffer, dns_name_t *top, - dns_name_t *origin, dns_rdataclass_t zclass, - unsigned int options, +dns_master_loadbuffer(isc_buffer_t *buffer, dns_name_t *top, dns_name_t *origin, + dns_rdataclass_t zclass, unsigned int options, dns_rdatacallbacks_t *callbacks, isc_mem_t *mctx) { - isc_result_t result; + isc_result_t result; dns_loadctx_t *lctx = NULL; REQUIRE(buffer != NULL); @@ -2714,7 +2708,7 @@ dns_master_loadbuffer(isc_buffer_t *buffer, dns_name_t *top, result = (lctx->load)(lctx); INSIST(result != DNS_R_CONTINUE); - cleanup: +cleanup: dns_loadctx_detach(&lctx); return (result); } @@ -2722,12 +2716,11 @@ dns_master_loadbuffer(isc_buffer_t *buffer, dns_name_t *top, isc_result_t dns_master_loadbufferinc(isc_buffer_t *buffer, dns_name_t *top, dns_name_t *origin, dns_rdataclass_t zclass, - unsigned int options, - dns_rdatacallbacks_t *callbacks, isc_task_t *task, - dns_loaddonefunc_t done, void *done_arg, - dns_loadctx_t **lctxp, isc_mem_t *mctx) + unsigned int options, dns_rdatacallbacks_t *callbacks, + isc_task_t *task, dns_loaddonefunc_t done, + void *done_arg, dns_loadctx_t **lctxp, isc_mem_t *mctx) { - isc_result_t result; + isc_result_t result; dns_loadctx_t *lctx = NULL; REQUIRE(buffer != NULL); @@ -2735,8 +2728,8 @@ dns_master_loadbufferinc(isc_buffer_t *buffer, dns_name_t *top, REQUIRE(done != NULL); result = loadctx_create(dns_masterformat_text, mctx, options, 0, top, - zclass, origin, callbacks, task, done, - done_arg, NULL, NULL, NULL, &lctx); + zclass, origin, callbacks, task, done, done_arg, + NULL, NULL, NULL, &lctx); if (result != ISC_R_SUCCESS) return (result); @@ -2750,18 +2743,17 @@ dns_master_loadbufferinc(isc_buffer_t *buffer, dns_name_t *top, return (DNS_R_CONTINUE); } - cleanup: +cleanup: dns_loadctx_detach(&lctx); return (result); } isc_result_t -dns_master_loadlexer(isc_lex_t *lex, dns_name_t *top, - dns_name_t *origin, dns_rdataclass_t zclass, - unsigned int options, +dns_master_loadlexer(isc_lex_t *lex, dns_name_t *top, dns_name_t *origin, + dns_rdataclass_t zclass, unsigned int options, dns_rdatacallbacks_t *callbacks, isc_mem_t *mctx) { - isc_result_t result; + isc_result_t result; dns_loadctx_t *lctx = NULL; REQUIRE(lex != NULL); @@ -2780,14 +2772,13 @@ dns_master_loadlexer(isc_lex_t *lex, dns_name_t *top, } isc_result_t -dns_master_loadlexerinc(isc_lex_t *lex, dns_name_t *top, - dns_name_t *origin, dns_rdataclass_t zclass, - unsigned int options, +dns_master_loadlexerinc(isc_lex_t *lex, dns_name_t *top, dns_name_t *origin, + dns_rdataclass_t zclass, unsigned int options, dns_rdatacallbacks_t *callbacks, isc_task_t *task, dns_loaddonefunc_t done, void *done_arg, dns_loadctx_t **lctxp, isc_mem_t *mctx) { - isc_result_t result; + isc_result_t result; dns_loadctx_t *lctx = NULL; REQUIRE(lex != NULL); @@ -2795,8 +2786,8 @@ dns_master_loadlexerinc(isc_lex_t *lex, dns_name_t *top, REQUIRE(done != NULL); result = loadctx_create(dns_masterformat_text, mctx, options, 0, top, - zclass, origin, callbacks, task, done, - done_arg, NULL, NULL, lex, &lctx); + zclass, origin, callbacks, task, done, done_arg, + NULL, NULL, lex, &lctx); if (result != ISC_R_SUCCESS) return (result); @@ -2820,7 +2811,7 @@ grow_rdatalist(int new_len, dns_rdatalist_t *oldlist, int old_len, isc_mem_t *mctx) { dns_rdatalist_t *newlist; - int rdlcount = 0; + int rdlcount = 0; ISC_LIST(dns_rdatalist_t) save; dns_rdatalist_t *this; @@ -2866,11 +2857,10 @@ grow_rdatalist(int new_len, dns_rdatalist_t *oldlist, int old_len, */ static dns_rdata_t * grow_rdata(int new_len, dns_rdata_t *oldlist, int old_len, - rdatalist_head_t *current, rdatalist_head_t *glue, - isc_mem_t *mctx) + rdatalist_head_t *current, rdatalist_head_t *glue, isc_mem_t *mctx) { dns_rdata_t *newlist; - int rdcount = 0; + int rdcount = 0; ISC_LIST(dns_rdata_t) save; dns_rdatalist_t *this; dns_rdata_t *rdata; @@ -2926,10 +2916,11 @@ grow_rdata(int new_len, dns_rdata_t *oldlist, int old_len, } static uint32_t -resign_fromlist(dns_rdatalist_t *this, dns_loadctx_t *lctx) { - dns_rdata_t *rdata; +resign_fromlist(dns_rdatalist_t *this, dns_loadctx_t *lctx) +{ + dns_rdata_t * rdata; dns_rdata_rrsig_t sig; - uint32_t when; + uint32_t when; rdata = ISC_LIST_HEAD(this->rdata); INSIST(rdata != NULL); @@ -2958,14 +2949,14 @@ resign_fromlist(dns_rdatalist_t *this, dns_loadctx_t *lctx) { static isc_result_t commit(dns_rdatacallbacks_t *callbacks, dns_loadctx_t *lctx, - rdatalist_head_t *head, dns_name_t *owner, - const char *source, unsigned int line) + rdatalist_head_t *head, dns_name_t *owner, const char *source, + unsigned int line) { dns_rdatalist_t *this; dns_rdataset_t dataset; - isc_result_t result; - char namebuf[DNS_NAME_FORMATSIZE]; - void (*error)(struct dns_rdatacallbacks *, const char *, ...); + isc_result_t result; + char namebuf[DNS_NAME_FORMATSIZE]; + void (*error)(struct dns_rdatacallbacks *, const char *, ...); this = ISC_LIST_HEAD(*head); error = callbacks->error; @@ -2974,8 +2965,8 @@ commit(dns_rdatacallbacks_t *callbacks, dns_loadctx_t *lctx, return (ISC_R_SUCCESS); do { dns_rdataset_init(&dataset); - RUNTIME_CHECK(dns_rdatalist_tordataset(this, &dataset) - == ISC_R_SUCCESS); + RUNTIME_CHECK(dns_rdatalist_tordataset(this, &dataset) == + ISC_R_SUCCESS); dataset.trust = dns_trust_ultimate; /* * If this is a secure dynamic zone set the re-signing time. @@ -3017,11 +3008,12 @@ commit(dns_rdatacallbacks_t *callbacks, dns_loadctx_t *lctx, */ static bool -is_glue(rdatalist_head_t *head, dns_name_t *owner) { +is_glue(rdatalist_head_t *head, dns_name_t *owner) +{ dns_rdatalist_t *this; dns_rdata_t *rdata; isc_region_t region; - dns_name_t name; + dns_name_t name; /* * Find NS rrset. @@ -3049,8 +3041,9 @@ is_glue(rdatalist_head_t *head, dns_name_t *owner) { } static void -load_quantum(isc_task_t *task, isc_event_t *event) { - isc_result_t result; +load_quantum(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result; dns_loadctx_t *lctx; REQUIRE(event != NULL); @@ -3073,24 +3066,26 @@ load_quantum(isc_task_t *task, isc_event_t *event) { } static isc_result_t -task_send(dns_loadctx_t *lctx) { +task_send(dns_loadctx_t *lctx) +{ isc_event_t *event; - event = isc_event_allocate(lctx->mctx, NULL, - DNS_EVENT_MASTERQUANTUM, + event = isc_event_allocate(lctx->mctx, NULL, DNS_EVENT_MASTERQUANTUM, load_quantum, lctx, sizeof(*event)); isc_task_send(lctx->task, &event); return (ISC_R_SUCCESS); } void -dns_loadctx_cancel(dns_loadctx_t *lctx) { +dns_loadctx_cancel(dns_loadctx_t *lctx) +{ REQUIRE(DNS_LCTX_VALID(lctx)); atomic_store_release(&lctx->canceled, true); } void -dns_master_initrawheader(dns_masterrawheader_t *header) { +dns_master_initrawheader(dns_masterrawheader_t *header) +{ memset(header, 0, sizeof(dns_masterrawheader_t)); } diff --git a/lib/dns/masterdump.c b/lib/dns/masterdump.c index 595000d581..a7ca871f7a 100644 --- a/lib/dns/masterdump.c +++ b/lib/dns/masterdump.c @@ -21,8 +21,8 @@ #include #include #include -#include #include +#include #include #include #include @@ -48,29 +48,31 @@ #include #include -#define DNS_DCTX_MAGIC ISC_MAGIC('D', 'c', 't', 'x') -#define DNS_DCTX_VALID(d) ISC_MAGIC_VALID(d, DNS_DCTX_MAGIC) +#define DNS_DCTX_MAGIC ISC_MAGIC('D', 'c', 't', 'x') +#define DNS_DCTX_VALID(d) ISC_MAGIC_VALID(d, DNS_DCTX_MAGIC) -#define RETERR(x) do { \ - isc_result_t _r = (x); \ - if (_r != ISC_R_SUCCESS) \ - return (_r); \ +#define RETERR(x) \ + do { \ + isc_result_t _r = (x); \ + if (_r != ISC_R_SUCCESS) \ + return (_r); \ } while (0) -#define CHECK(x) do { \ - if ((x) != ISC_R_SUCCESS) \ - goto cleanup; \ +#define CHECK(x) \ + do { \ + if ((x) != ISC_R_SUCCESS) \ + goto cleanup; \ } while (0) struct dns_master_style { - dns_masterstyle_flags_t flags; /* DNS_STYLEFLAG_* */ - unsigned int ttl_column; - unsigned int class_column; - unsigned int type_column; - unsigned int rdata_column; - unsigned int line_length; - unsigned int tab_width; - unsigned int split_width; + dns_masterstyle_flags_t flags; /* DNS_STYLEFLAG_* */ + unsigned int ttl_column; + unsigned int class_column; + unsigned int type_column; + unsigned int rdata_column; + unsigned int line_length; + unsigned int tab_width; + unsigned int split_width; }; /*% @@ -88,160 +90,174 @@ struct dns_master_style { * Context structure for a masterfile dump in progress. */ typedef struct dns_totext_ctx { - dns_master_style_t style; - bool class_printed; - char * linebreak; - char linebreak_buf[DNS_TOTEXT_LINEBREAK_MAXLEN]; - dns_name_t * origin; - dns_name_t * neworigin; - dns_fixedname_t origin_fixname; - uint32_t current_ttl; - bool current_ttl_valid; - dns_ttl_t serve_stale_ttl; - dns_indent_t indent; + dns_master_style_t style; + bool class_printed; + char * linebreak; + char linebreak_buf[DNS_TOTEXT_LINEBREAK_MAXLEN]; + dns_name_t * origin; + dns_name_t * neworigin; + dns_fixedname_t origin_fixname; + uint32_t current_ttl; + bool current_ttl_valid; + dns_ttl_t serve_stale_ttl; + dns_indent_t indent; } dns_totext_ctx_t; -LIBDNS_EXTERNAL_DATA const dns_master_style_t -dns_master_style_keyzone = { - DNS_STYLEFLAG_OMIT_OWNER | - DNS_STYLEFLAG_OMIT_CLASS | - DNS_STYLEFLAG_REL_OWNER | - DNS_STYLEFLAG_REL_DATA | - DNS_STYLEFLAG_OMIT_TTL | - DNS_STYLEFLAG_TTL | - DNS_STYLEFLAG_COMMENT | - DNS_STYLEFLAG_RRCOMMENT | - DNS_STYLEFLAG_MULTILINE | - DNS_STYLEFLAG_KEYDATA, - 24, 24, 24, 32, 80, 8, UINT_MAX +LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_keyzone = { + DNS_STYLEFLAG_OMIT_OWNER | DNS_STYLEFLAG_OMIT_CLASS | + DNS_STYLEFLAG_REL_OWNER | DNS_STYLEFLAG_REL_DATA | + DNS_STYLEFLAG_OMIT_TTL | DNS_STYLEFLAG_TTL | + DNS_STYLEFLAG_COMMENT | DNS_STYLEFLAG_RRCOMMENT | + DNS_STYLEFLAG_MULTILINE | DNS_STYLEFLAG_KEYDATA, + 24, + 24, + 24, + 32, + 80, + 8, + UINT_MAX }; -LIBDNS_EXTERNAL_DATA const dns_master_style_t -dns_master_style_default = { - DNS_STYLEFLAG_OMIT_OWNER | - DNS_STYLEFLAG_OMIT_CLASS | - DNS_STYLEFLAG_REL_OWNER | - DNS_STYLEFLAG_REL_DATA | - DNS_STYLEFLAG_OMIT_TTL | - DNS_STYLEFLAG_TTL | - DNS_STYLEFLAG_COMMENT | - DNS_STYLEFLAG_RRCOMMENT | - DNS_STYLEFLAG_MULTILINE, - 24, 24, 24, 32, 80, 8, UINT_MAX +LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_default = { + DNS_STYLEFLAG_OMIT_OWNER | DNS_STYLEFLAG_OMIT_CLASS | + DNS_STYLEFLAG_REL_OWNER | DNS_STYLEFLAG_REL_DATA | + DNS_STYLEFLAG_OMIT_TTL | DNS_STYLEFLAG_TTL | + DNS_STYLEFLAG_COMMENT | DNS_STYLEFLAG_RRCOMMENT | + DNS_STYLEFLAG_MULTILINE, + 24, + 24, + 24, + 32, + 80, + 8, + UINT_MAX }; -LIBDNS_EXTERNAL_DATA const dns_master_style_t -dns_master_style_full = { - DNS_STYLEFLAG_COMMENT | - DNS_STYLEFLAG_RESIGN, - 46, 46, 46, 64, 120, 8, UINT_MAX +LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_full = { + DNS_STYLEFLAG_COMMENT | DNS_STYLEFLAG_RESIGN, + 46, + 46, + 46, + 64, + 120, + 8, + UINT_MAX }; -LIBDNS_EXTERNAL_DATA const dns_master_style_t -dns_master_style_explicitttl = { - DNS_STYLEFLAG_OMIT_OWNER | - DNS_STYLEFLAG_OMIT_CLASS | - DNS_STYLEFLAG_REL_OWNER | - DNS_STYLEFLAG_REL_DATA | - DNS_STYLEFLAG_COMMENT | - DNS_STYLEFLAG_RRCOMMENT | - DNS_STYLEFLAG_MULTILINE, - 24, 32, 32, 40, 80, 8, UINT_MAX +LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_explicitttl = { + DNS_STYLEFLAG_OMIT_OWNER | DNS_STYLEFLAG_OMIT_CLASS | + DNS_STYLEFLAG_REL_OWNER | DNS_STYLEFLAG_REL_DATA | + DNS_STYLEFLAG_COMMENT | DNS_STYLEFLAG_RRCOMMENT | + DNS_STYLEFLAG_MULTILINE, + 24, + 32, + 32, + 40, + 80, + 8, + UINT_MAX }; -LIBDNS_EXTERNAL_DATA const dns_master_style_t -dns_master_style_cache = { - DNS_STYLEFLAG_OMIT_OWNER | - DNS_STYLEFLAG_OMIT_CLASS | - DNS_STYLEFLAG_MULTILINE | - DNS_STYLEFLAG_RRCOMMENT | - DNS_STYLEFLAG_TRUST | - DNS_STYLEFLAG_NCACHE, - 24, 32, 32, 40, 80, 8, UINT_MAX +LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_cache = { + DNS_STYLEFLAG_OMIT_OWNER | DNS_STYLEFLAG_OMIT_CLASS | + DNS_STYLEFLAG_MULTILINE | DNS_STYLEFLAG_RRCOMMENT | + DNS_STYLEFLAG_TRUST | DNS_STYLEFLAG_NCACHE, + 24, + 32, + 32, + 40, + 80, + 8, + UINT_MAX }; -LIBDNS_EXTERNAL_DATA const dns_master_style_t -dns_master_style_simple = { - 0, - 24, 32, 32, 40, 80, 8, UINT_MAX +LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_simple = { + 0, 24, 32, 32, 40, 80, 8, UINT_MAX }; /*% * A style suitable for dns_rdataset_totext(). */ -LIBDNS_EXTERNAL_DATA const dns_master_style_t -dns_master_style_debug = { - DNS_STYLEFLAG_REL_OWNER, - 24, 32, 40, 48, 80, 8, UINT_MAX +LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_debug = { + DNS_STYLEFLAG_REL_OWNER, 24, 32, 40, 48, 80, 8, UINT_MAX }; /*% * Similar, but indented (i.e., prepended with indentctx.string). */ -LIBDNS_EXTERNAL_DATA const dns_master_style_t -dns_master_style_indent = { - DNS_STYLEFLAG_REL_OWNER | - DNS_STYLEFLAG_INDENT, - 24, 32, 40, 48, 80, 8, UINT_MAX +LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_indent = { + DNS_STYLEFLAG_REL_OWNER | DNS_STYLEFLAG_INDENT, + 24, + 32, + 40, + 48, + 80, + 8, + UINT_MAX }; /*% * Similar, but with each line commented out. */ -LIBDNS_EXTERNAL_DATA const dns_master_style_t -dns_master_style_comment = { - DNS_STYLEFLAG_REL_OWNER | - DNS_STYLEFLAG_MULTILINE | - DNS_STYLEFLAG_RRCOMMENT | - DNS_STYLEFLAG_COMMENTDATA, - 24, 32, 40, 48, 80, 8, UINT_MAX +LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_comment = { + DNS_STYLEFLAG_REL_OWNER | DNS_STYLEFLAG_MULTILINE | + DNS_STYLEFLAG_RRCOMMENT | DNS_STYLEFLAG_COMMENTDATA, + 24, + 32, + 40, + 48, + 80, + 8, + UINT_MAX }; /*% * YAML style */ -LIBDNS_EXTERNAL_DATA const dns_master_style_t -dns_master_style_yaml = { - DNS_STYLEFLAG_YAML | - DNS_STYLEFLAG_REL_OWNER | - DNS_STYLEFLAG_INDENT, - 24, 32, 40, 48, 80, 8, UINT_MAX +LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_yaml = { + DNS_STYLEFLAG_YAML | DNS_STYLEFLAG_REL_OWNER | DNS_STYLEFLAG_INDENT, + 24, + 32, + 40, + 48, + 80, + 8, + UINT_MAX }; #define N_SPACES 10 -static char spaces[N_SPACES+1] = " "; +static char spaces[N_SPACES + 1] = " "; #define N_TABS 10 -static char tabs[N_TABS+1] = "\t\t\t\t\t\t\t\t\t\t"; +static char tabs[N_TABS + 1] = "\t\t\t\t\t\t\t\t\t\t"; struct dns_dumpctx { - unsigned int magic; - isc_mem_t *mctx; - isc_mutex_t lock; - isc_refcount_t references; - atomic_bool canceled; - bool first; - bool do_date; - isc_stdtime_t now; - FILE *f; - dns_db_t *db; - dns_dbversion_t *version; - dns_dbiterator_t *dbiter; - dns_totext_ctx_t tctx; - isc_task_t *task; - dns_dumpdonefunc_t done; - void *done_arg; - unsigned int nodes; + unsigned int magic; + isc_mem_t * mctx; + isc_mutex_t lock; + isc_refcount_t references; + atomic_bool canceled; + bool first; + bool do_date; + isc_stdtime_t now; + FILE * f; + dns_db_t * db; + dns_dbversion_t * version; + dns_dbiterator_t * dbiter; + dns_totext_ctx_t tctx; + isc_task_t * task; + dns_dumpdonefunc_t done; + void * done_arg; + unsigned int nodes; /* dns_master_dumpinc() */ - char *file; - char *tmpfile; - dns_masterformat_t format; - dns_masterrawheader_t header; - isc_result_t (*dumpsets)(isc_mem_t *mctx, - const dns_name_t *name, - dns_rdatasetiter_t *rdsiter, - dns_totext_ctx_t *ctx, - isc_buffer_t *buffer, FILE *f); + char * file; + char * tmpfile; + dns_masterformat_t format; + dns_masterrawheader_t header; + isc_result_t (*dumpsets)(isc_mem_t *mctx, const dns_name_t *name, + dns_rdatasetiter_t *rdsiter, + dns_totext_ctx_t *ctx, isc_buffer_t *buffer, + FILE *f); }; #define NXDOMAIN(x) (((x)->attributes & DNS_RDATASETATTR_NXDOMAIN) != 0) @@ -258,10 +274,10 @@ static isc_result_t indent(unsigned int *current, unsigned int to, int tabwidth, isc_buffer_t *target) { - isc_region_t r; + isc_region_t r; unsigned char *p; - unsigned int from; - int ntabs, nspaces, t; + unsigned int from; + int ntabs, nspaces, t; from = *current; @@ -274,7 +290,7 @@ indent(unsigned int *current, unsigned int to, int tabwidth, if (ntabs > 0) { isc_buffer_availableregion(target, &r); - if (r.length < (unsigned) ntabs) + if (r.length < (unsigned)ntabs) return (ISC_R_NOSPACE); p = r.base; @@ -295,7 +311,7 @@ indent(unsigned int *current, unsigned int to, int tabwidth, INSIST(nspaces >= 0); isc_buffer_availableregion(target, &r); - if (r.length < (unsigned) nspaces) + if (r.length < (unsigned)nspaces) return (ISC_R_NOSPACE); p = r.base; @@ -353,8 +369,7 @@ totext_ctx_init(const dns_master_style_t *style, const dns_indent_t *indentctx, isc_buffer_add(&buf, 1); if ((ctx->style.flags & DNS_STYLEFLAG_INDENT) != 0 || - (ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) - { + (ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) { unsigned int i, len = strlen(indentctx->string); for (i = 0; i < indentctx->count; i++) { if (isc_buffer_availablelength(&buf) < len) @@ -405,21 +420,21 @@ totext_ctx_init(const dns_master_style_t *style, const dns_indent_t *indentctx, return (ISC_R_SUCCESS); } -#define INDENT_TO(col) \ - do { \ - if ((ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) { \ - if ((result = str_totext(" ", target)) \ - != ISC_R_SUCCESS) \ - return (result); \ - } else if ((result = indent(&column, ctx->style.col, \ - ctx->style.tab_width, target)) \ - != ISC_R_SUCCESS) \ - return (result); \ +#define INDENT_TO(col) \ + do { \ + if ((ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) { \ + if ((result = str_totext(" ", target)) != \ + ISC_R_SUCCESS) \ + return (result); \ + } else if ((result = indent(&column, ctx->style.col, \ + ctx->style.tab_width, target)) != \ + ISC_R_SUCCESS) \ + return (result); \ } while (0) - static isc_result_t -str_totext(const char *source, isc_buffer_t *target) { +str_totext(const char *source, isc_buffer_t *target) +{ unsigned int l; isc_region_t region; @@ -438,21 +453,19 @@ static isc_result_t ncache_summary(dns_rdataset_t *rdataset, bool omit_final_dot, dns_totext_ctx_t *ctx, isc_buffer_t *target) { - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; dns_rdataset_t rds; - dns_name_t name; + dns_name_t name; dns_rdataset_init(&rds); dns_name_init(&name, NULL); do { dns_ncache_current(rdataset, &name, &rds); - for (result = dns_rdataset_first(&rds); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rds); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rds)) { if ((ctx->style.flags & DNS_STYLEFLAG_INDENT) != 0 || - (ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) - { + (ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) { unsigned int i; for (i = 0; i < ctx->indent.count; i++) { CHECK(str_totext(ctx->indent.string, @@ -478,7 +491,8 @@ ncache_summary(dns_rdataset_t *rdataset, bool omit_final_dot, dns_rdataset_current(&rds, &rdata); CHECK(str_totext(" ", target)); CHECK(dns_rdata_tofmttext(&rdata, dns_rootname, - 0, 0, 0, " ", target)); + 0, 0, 0, " ", + target)); CHECK(str_totext("\n", target)); } } @@ -488,7 +502,7 @@ ncache_summary(dns_rdataset_t *rdataset, bool omit_final_dot, if (result == ISC_R_NOMORE) result = ISC_R_SUCCESS; - cleanup: +cleanup: if (dns_rdataset_isassociated(&rds)) dns_rdataset_disassociate(&rds); @@ -503,22 +517,20 @@ ncache_summary(dns_rdataset_t *rdataset, bool omit_final_dot, */ static isc_result_t -rdataset_totext(dns_rdataset_t *rdataset, - const dns_name_t *owner_name, - dns_totext_ctx_t *ctx, - bool omit_final_dot, +rdataset_totext(dns_rdataset_t *rdataset, const dns_name_t *owner_name, + dns_totext_ctx_t *ctx, bool omit_final_dot, isc_buffer_t *target) { - isc_result_t result; - unsigned int column; - bool first = true; - uint32_t current_ttl; - bool current_ttl_valid; + isc_result_t result; + unsigned int column; + bool first = true; + uint32_t current_ttl; + bool current_ttl_valid; dns_rdatatype_t type; - unsigned int type_start; + unsigned int type_start; dns_fixedname_t fixed; - dns_name_t *name = NULL; - unsigned int i; + dns_name_t * name = NULL; + unsigned int i; REQUIRE(DNS_RDATASET_VALID(rdataset)); @@ -541,11 +553,9 @@ rdataset_totext(dns_rdataset_t *rdataset, * Indent? */ if ((ctx->style.flags & DNS_STYLEFLAG_INDENT) != 0 || - (ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) - { + (ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) { for (i = 0; i < ctx->indent.count; i++) - RETERR(str_totext(ctx->indent.string, - target)); + RETERR(str_totext(ctx->indent.string, target)); } /* @@ -553,8 +563,8 @@ rdataset_totext(dns_rdataset_t *rdataset, */ if ((ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) { RETERR(str_totext("- ", target)); - } else if ((ctx->style.flags & DNS_STYLEFLAG_COMMENTDATA) != 0) - { + } else if ((ctx->style.flags & DNS_STYLEFLAG_COMMENTDATA) != + 0) { RETERR(str_totext(";", target)); } @@ -562,9 +572,8 @@ rdataset_totext(dns_rdataset_t *rdataset, * Owner name. */ if (name != NULL && - ! ((ctx->style.flags & DNS_STYLEFLAG_OMIT_OWNER) != 0 && - !first)) - { + !((ctx->style.flags & DNS_STYLEFLAG_OMIT_OWNER) != 0 && + !first)) { unsigned int name_start = target->used; RETERR(dns_name_totext(name, omit_final_dot, target)); column += target->used - name_start; @@ -575,19 +584,16 @@ rdataset_totext(dns_rdataset_t *rdataset, */ if ((ctx->style.flags & DNS_STYLEFLAG_NO_TTL) == 0 && !((ctx->style.flags & DNS_STYLEFLAG_OMIT_TTL) != 0 && - current_ttl_valid && - rdataset->ttl == current_ttl)) - { - char ttlbuf[64]; + current_ttl_valid && rdataset->ttl == current_ttl)) { + char ttlbuf[64]; isc_region_t r; unsigned int length; INDENT_TO(ttl_column); if ((ctx->style.flags & DNS_STYLEFLAG_TTL_UNITS) != 0) { length = target->used; - result = dns_ttl_totext(rdataset->ttl, - false, false, - target); + result = dns_ttl_totext(rdataset->ttl, false, + false, target); if (result != ISC_R_SUCCESS) return (result); column += target->used - length; @@ -618,17 +624,17 @@ rdataset_totext(dns_rdataset_t *rdataset, */ if ((ctx->style.flags & DNS_STYLEFLAG_NO_CLASS) == 0 && ((ctx->style.flags & DNS_STYLEFLAG_OMIT_CLASS) == 0 || - ctx->class_printed == false)) - { + ctx->class_printed == false)) { unsigned int class_start; INDENT_TO(class_column); class_start = target->used; - if ((ctx->style.flags & DNS_STYLEFLAG_UNKNOWNFORMAT) != 0) - result = dns_rdataclass_tounknowntext - (rdataset->rdclass, target); + if ((ctx->style.flags & DNS_STYLEFLAG_UNKNOWNFORMAT) != + 0) + result = dns_rdataclass_tounknowntext( + rdataset->rdclass, target); else - result = dns_rdataclass_totext - (rdataset->rdclass, target); + result = dns_rdataclass_totext( + rdataset->rdclass, target); if (result != ISC_R_SUCCESS) return (result); column += (target->used - class_start); @@ -660,8 +666,10 @@ rdataset_totext(dns_rdataset_t *rdataset, } /* FALLTHROUGH */ default: - if ((ctx->style.flags & DNS_STYLEFLAG_UNKNOWNFORMAT) != 0) - result = dns_rdatatype_tounknowntext(type, target); + if ((ctx->style.flags & DNS_STYLEFLAG_UNKNOWNFORMAT) != + 0) + result = dns_rdatatype_tounknowntext(type, + target); else result = dns_rdatatype_totext(type, target); if (result != ISC_R_SUCCESS) @@ -683,23 +691,21 @@ rdataset_totext(dns_rdataset_t *rdataset, * Print a summary of the cached records which make * up the negative response. */ - RETERR(ncache_summary(rdataset, omit_final_dot, - ctx, target)); + RETERR(ncache_summary(rdataset, omit_final_dot, ctx, + target)); break; } else { - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; isc_region_t r; dns_rdataset_current(rdataset, &rdata); - RETERR(dns_rdata_tofmttext(&rdata, - ctx->origin, - ctx->style.flags, - ctx->style.line_length - - ctx->style.rdata_column, - ctx->style.split_width, - ctx->linebreak, - target)); + RETERR(dns_rdata_tofmttext( + &rdata, ctx->origin, ctx->style.flags, + ctx->style.line_length - + ctx->style.rdata_column, + ctx->style.split_width, ctx->linebreak, + target)); isc_buffer_availableregion(target, &r); if (r.length < 1) @@ -723,7 +729,7 @@ rdataset_totext(dns_rdataset_t *rdataset, * and failed attempts must not update the state prematurely. */ ctx->class_printed = true; - ctx->current_ttl= current_ttl; + ctx->current_ttl = current_ttl; ctx->current_ttl_valid = current_ttl_valid; return (ISC_R_SUCCESS); @@ -735,10 +741,8 @@ rdataset_totext(dns_rdataset_t *rdataset, * of a DNS message. */ static isc_result_t -question_totext(dns_rdataset_t *rdataset, - const dns_name_t *owner_name, - dns_totext_ctx_t *ctx, - bool omit_final_dot, +question_totext(dns_rdataset_t *rdataset, const dns_name_t *owner_name, + dns_totext_ctx_t *ctx, bool omit_final_dot, isc_buffer_t *target) { unsigned int column; @@ -754,9 +758,7 @@ question_totext(dns_rdataset_t *rdataset, /* Owner name */ { unsigned int name_start = target->used; - RETERR(dns_name_totext(owner_name, - omit_final_dot, - target)); + RETERR(dns_name_totext(owner_name, omit_final_dot, target)); column += target->used - name_start; } @@ -785,8 +787,7 @@ question_totext(dns_rdataset_t *rdataset, result = dns_rdatatype_tounknowntext(rdataset->type, target); else - result = dns_rdatatype_totext(rdataset->type, - target); + result = dns_rdatatype_totext(rdataset->type, target); if (result != ISC_R_SUCCESS) return (result); column += (target->used - type_start); @@ -802,14 +803,11 @@ question_totext(dns_rdataset_t *rdataset, } isc_result_t -dns_rdataset_totext(dns_rdataset_t *rdataset, - const dns_name_t *owner_name, - bool omit_final_dot, - bool question, - isc_buffer_t *target) +dns_rdataset_totext(dns_rdataset_t *rdataset, const dns_name_t *owner_name, + bool omit_final_dot, bool question, isc_buffer_t *target) { dns_totext_ctx_t ctx; - isc_result_t result; + isc_result_t result; result = totext_ctx_init(&dns_master_style_debug, NULL, &ctx); if (result != ISC_R_SUCCESS) { UNEXPECTED_ERROR(__FILE__, __LINE__, @@ -835,13 +833,13 @@ dns_rdataset_totext(dns_rdataset_t *rdataset, } isc_result_t -dns_master_rdatasettotext(const dns_name_t *owner_name, - dns_rdataset_t *rdataset, - const dns_master_style_t *style, - dns_indent_t *indent, isc_buffer_t *target) +dns_master_rdatasettotext(const dns_name_t * owner_name, + dns_rdataset_t * rdataset, + const dns_master_style_t *style, dns_indent_t *indent, + isc_buffer_t *target) { dns_totext_ctx_t ctx; - isc_result_t result; + isc_result_t result; result = totext_ctx_init(style, indent, &ctx); if (result != ISC_R_SUCCESS) { UNEXPECTED_ERROR(__FILE__, __LINE__, @@ -849,18 +847,16 @@ dns_master_rdatasettotext(const dns_name_t *owner_name, return (ISC_R_UNEXPECTED); } - return (rdataset_totext(rdataset, owner_name, &ctx, - false, target)); + return (rdataset_totext(rdataset, owner_name, &ctx, false, target)); } isc_result_t -dns_master_questiontotext(const dns_name_t *owner_name, - dns_rdataset_t *rdataset, - const dns_master_style_t *style, - isc_buffer_t *target) +dns_master_questiontotext(const dns_name_t * owner_name, + dns_rdataset_t * rdataset, + const dns_master_style_t *style, isc_buffer_t *target) { dns_totext_ctx_t ctx; - isc_result_t result; + isc_result_t result; result = totext_ctx_init(style, NULL, &ctx); if (result != ISC_R_SUCCESS) { UNEXPECTED_ERROR(__FILE__, __LINE__, @@ -868,8 +864,7 @@ dns_master_questiontotext(const dns_name_t *owner_name, return (ISC_R_UNEXPECTED); } - return (question_totext(rdataset, owner_name, &ctx, - false, target)); + return (question_totext(rdataset, owner_name, &ctx, false, target)); } /* @@ -880,9 +875,8 @@ dns_master_questiontotext(const dns_name_t *owner_name, */ static isc_result_t -dump_rdataset(isc_mem_t *mctx, const dns_name_t *name, - dns_rdataset_t *rdataset, dns_totext_ctx_t *ctx, - isc_buffer_t *buffer, FILE *f) +dump_rdataset(isc_mem_t *mctx, const dns_name_t *name, dns_rdataset_t *rdataset, + dns_totext_ctx_t *ctx, isc_buffer_t *buffer, FILE *f) { isc_region_t r; isc_result_t result; @@ -895,18 +889,15 @@ dump_rdataset(isc_mem_t *mctx, const dns_name_t *name, if ((ctx->style.flags & DNS_STYLEFLAG_TTL) != 0) { if (ctx->current_ttl_valid == false || - ctx->current_ttl != rdataset->ttl) - { - if ((ctx->style.flags & DNS_STYLEFLAG_COMMENT) != 0) - { + ctx->current_ttl != rdataset->ttl) { + if ((ctx->style.flags & DNS_STYLEFLAG_COMMENT) != 0) { isc_buffer_clear(buffer); - result = dns_ttl_totext(rdataset->ttl, - true, true, - buffer); + result = dns_ttl_totext(rdataset->ttl, true, + true, buffer); INSIST(result == ISC_R_SUCCESS); isc_buffer_usedregion(buffer, &r); fprintf(f, "$TTL %u\t; %.*s\n", rdataset->ttl, - (int) r.length, (char *) r.base); + (int)r.length, (char *)r.base); } else { fprintf(f, "$TTL %u\n", rdataset->ttl); } @@ -922,10 +913,9 @@ dump_rdataset(isc_mem_t *mctx, const dns_name_t *name, * the buffer. If the buffer is too small, grow it. */ for (;;) { - int newlength; + int newlength; void *newmem; - result = rdataset_totext(rdataset, name, ctx, - false, buffer); + result = rdataset_totext(rdataset, name, ctx, false, buffer); if (result != ISC_R_NOSPACE) break; @@ -963,7 +953,8 @@ dump_rdataset(isc_mem_t *mctx, const dns_name_t *name, */ static int -dump_order(const dns_rdataset_t *rds) { +dump_order(const dns_rdataset_t *rds) +{ int t; int sig; if (rds->type == dns_rdatatype_rrsig) { @@ -988,9 +979,10 @@ dump_order(const dns_rdataset_t *rds) { } static int -dump_order_compare(const void *a, const void *b) { - return (dump_order(*((const dns_rdataset_t * const *) a)) - - dump_order(*((const dns_rdataset_t * const *) b))); +dump_order_compare(const void *a, const void *b) +{ + return (dump_order(*((const dns_rdataset_t *const *)a)) - + dump_order(*((const dns_rdataset_t *const *)b))); } /* @@ -1010,11 +1002,11 @@ dump_rdatasets_text(isc_mem_t *mctx, const dns_name_t *name, dns_rdatasetiter_t *rdsiter, dns_totext_ctx_t *ctx, isc_buffer_t *buffer, FILE *f) { - isc_result_t itresult, dumpresult; - isc_region_t r; - dns_rdataset_t rdatasets[MAXSORT]; + isc_result_t itresult, dumpresult; + isc_region_t r; + dns_rdataset_t rdatasets[MAXSORT]; dns_rdataset_t *sorted[MAXSORT]; - int i, n; + int i, n; itresult = dns_rdatasetiter_first(rdsiter); dumpresult = ISC_R_SUCCESS; @@ -1024,13 +1016,12 @@ dump_rdatasets_text(isc_mem_t *mctx, const dns_name_t *name, itresult = dns_name_totext(ctx->neworigin, false, buffer); RUNTIME_CHECK(itresult == ISC_R_SUCCESS); isc_buffer_usedregion(buffer, &r); - fprintf(f, "$ORIGIN %.*s\n", (int) r.length, (char *) r.base); + fprintf(f, "$ORIGIN %.*s\n", (int)r.length, (char *)r.base); ctx->neworigin = NULL; } - again: - for (i = 0; - itresult == ISC_R_SUCCESS && i < MAXSORT; +again: + for (i = 0; itresult == ISC_R_SUCCESS && i < MAXSORT; itresult = dns_rdatasetiter_next(rdsiter), i++) { dns_rdataset_init(&rdatasets[i]); dns_rdatasetiter_current(rdsiter, &rdatasets[i]); @@ -1045,8 +1036,7 @@ dump_rdatasets_text(isc_mem_t *mctx, const dns_name_t *name, dns_rdataset_t *rds = sorted[i]; if ((ctx->style.flags & DNS_STYLEFLAG_TRUST) != 0) { if ((ctx->style.flags & DNS_STYLEFLAG_INDENT) != 0 || - (ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) - { + (ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) { unsigned int j; for (j = 0; j < ctx->indent.count; j++) fprintf(f, "%s", ctx->indent.string); @@ -1059,7 +1049,8 @@ dump_rdatasets_text(isc_mem_t *mctx, const dns_name_t *name, } else { isc_result_t result; if (STALE(rds)) { - fprintf(f, "; stale (will be retained for " + fprintf(f, + "; stale (will be retained for " "%u more seconds)\n", (rds->stale_ttl - ctx->serve_stale_ttl)); @@ -1073,13 +1064,12 @@ dump_rdatasets_text(isc_mem_t *mctx, const dns_name_t *name, if (((ctx->style.flags & DNS_STYLEFLAG_RESIGN) != 0) && ((rds->attributes & DNS_RDATASETATTR_RESIGN) != 0)) { isc_buffer_t b; - char buf[sizeof("YYYYMMDDHHMMSS")]; + char buf[sizeof("YYYYMMDDHHMMSS")]; memset(buf, 0, sizeof(buf)); isc_buffer_init(&b, buf, sizeof(buf) - 1); dns_time64_totext((uint64_t)rds->resign, &b); if ((ctx->style.flags & DNS_STYLEFLAG_INDENT) != 0 || - (ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) - { + (ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) { unsigned int j; for (j = 0; j < ctx->indent.count; j++) fprintf(f, "%s", ctx->indent.string); @@ -1113,15 +1103,15 @@ dump_rdataset_raw(isc_mem_t *mctx, const dns_name_t *name, dns_rdataset_t *rdataset, isc_buffer_t *buffer, FILE *f) { isc_result_t result; - uint32_t totallen; - uint16_t dlen; + uint32_t totallen; + uint16_t dlen; isc_region_t r, r_hdr; REQUIRE(buffer->length > 0); REQUIRE(DNS_RDATASET_VALID(rdataset)); rdataset->attributes |= DNS_RDATASETATTR_LOADORDER; - restart: +restart: totallen = 0; result = dns_rdataset_first(rdataset); REQUIRE(result == ISC_R_SUCCESS); @@ -1135,18 +1125,17 @@ dump_rdataset_raw(isc_mem_t *mctx, const dns_name_t *name, */ isc_buffer_availableregion(buffer, &r_hdr); INSIST(r_hdr.length >= sizeof(dns_masterrawrdataset_t)); - isc_buffer_putuint32(buffer, totallen); /* XXX: leave space */ + isc_buffer_putuint32(buffer, totallen); /* XXX: leave space */ isc_buffer_putuint16(buffer, rdataset->rdclass); /* 16-bit class */ - isc_buffer_putuint16(buffer, rdataset->type); /* 16-bit type */ - isc_buffer_putuint16(buffer, rdataset->covers); /* same as type */ - isc_buffer_putuint32(buffer, rdataset->ttl); /* 32-bit TTL */ + isc_buffer_putuint16(buffer, rdataset->type); /* 16-bit type */ + isc_buffer_putuint16(buffer, rdataset->covers); /* same as type */ + isc_buffer_putuint32(buffer, rdataset->ttl); /* 32-bit TTL */ isc_buffer_putuint32(buffer, dns_rdataset_count(rdataset)); totallen = isc_buffer_usedlength(buffer); INSIST(totallen <= sizeof(dns_masterrawrdataset_t)); dns_name_toregion(name, &r); - INSIST(isc_buffer_availablelength(buffer) >= - (sizeof(dlen) + r.length)); + INSIST(isc_buffer_availablelength(buffer) >= (sizeof(dlen) + r.length)); dlen = (uint16_t)r.length; isc_buffer_putuint16(buffer, dlen); isc_buffer_copyregion(buffer, &r); @@ -1167,8 +1156,8 @@ dump_rdataset_raw(isc_mem_t *mctx, const dns_name_t *name, * continue?). */ if (isc_buffer_availablelength(buffer) < - sizeof(dlen) + r.length) { - int newlength; + sizeof(dlen) + r.length) { + int newlength; void *newmem; newlength = buffer->length * 2; @@ -1218,17 +1207,15 @@ dump_rdatasets_raw(isc_mem_t *mctx, const dns_name_t *owner_name, dns_rdatasetiter_t *rdsiter, dns_totext_ctx_t *ctx, isc_buffer_t *buffer, FILE *f) { - isc_result_t result; - dns_rdataset_t rdataset; + isc_result_t result; + dns_rdataset_t rdataset; dns_fixedname_t fixed; - dns_name_t *name; + dns_name_t * name; name = dns_fixedname_initname(&fixed); dns_name_copynf(owner_name, name); - for (result = dns_rdatasetiter_first(rdsiter); - result == ISC_R_SUCCESS; + for (result = dns_rdatasetiter_first(rdsiter); result == ISC_R_SUCCESS; result = dns_rdatasetiter_next(rdsiter)) { - dns_rdataset_init(&rdataset); dns_rdatasetiter_current(rdsiter, &rdataset); @@ -1283,8 +1270,8 @@ static isc_result_t dumptostreaminc(dns_dumpctx_t *dctx); static void -dumpctx_destroy(dns_dumpctx_t *dctx) { - +dumpctx_destroy(dns_dumpctx_t *dctx) +{ dctx->magic = 0; isc_mutex_destroy(&dctx->lock); dns_dbiterator_destroy(&dctx->dbiter); @@ -1301,8 +1288,8 @@ dumpctx_destroy(dns_dumpctx_t *dctx) { } void -dns_dumpctx_attach(dns_dumpctx_t *source, dns_dumpctx_t **target) { - +dns_dumpctx_attach(dns_dumpctx_t *source, dns_dumpctx_t **target) +{ REQUIRE(DNS_DCTX_VALID(source)); REQUIRE(target != NULL && *target == NULL); @@ -1312,7 +1299,8 @@ dns_dumpctx_attach(dns_dumpctx_t *source, dns_dumpctx_t **target) { } void -dns_dumpctx_detach(dns_dumpctx_t **dctxp) { +dns_dumpctx_detach(dns_dumpctx_t **dctxp) +{ dns_dumpctx_t *dctx; REQUIRE(dctxp != NULL); @@ -1326,26 +1314,30 @@ dns_dumpctx_detach(dns_dumpctx_t **dctxp) { } dns_dbversion_t * -dns_dumpctx_version(dns_dumpctx_t *dctx) { +dns_dumpctx_version(dns_dumpctx_t *dctx) +{ REQUIRE(DNS_DCTX_VALID(dctx)); return (dctx->version); } dns_db_t * -dns_dumpctx_db(dns_dumpctx_t *dctx) { +dns_dumpctx_db(dns_dumpctx_t *dctx) +{ REQUIRE(DNS_DCTX_VALID(dctx)); return (dctx->db); } void -dns_dumpctx_cancel(dns_dumpctx_t *dctx) { +dns_dumpctx_cancel(dns_dumpctx_t *dctx) +{ REQUIRE(DNS_DCTX_VALID(dctx)); atomic_store_release(&dctx->canceled, true); } static isc_result_t -flushandsync(FILE *f, isc_result_t result, const char *temp) { +flushandsync(FILE *f, isc_result_t result, const char *temp) +{ bool logit = (result == ISC_R_SUCCESS); if (result == ISC_R_SUCCESS) @@ -1385,7 +1377,7 @@ static isc_result_t closeandrename(FILE *f, isc_result_t result, const char *temp, const char *file) { isc_result_t tresult; - bool logit = (result == ISC_R_SUCCESS); + bool logit = (result == ISC_R_SUCCESS); result = flushandsync(f, result, temp); if (result != ISC_R_SUCCESS) @@ -1397,8 +1389,8 @@ closeandrename(FILE *f, isc_result_t result, const char *temp, const char *file) if (result != ISC_R_SUCCESS && logit) { isc_log_write(dns_lctx, ISC_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTERDUMP, ISC_LOG_ERROR, - "dumping master file: %s: fclose: %s", - temp, isc_result_totext(result)); + "dumping master file: %s: fclose: %s", temp, + isc_result_totext(result)); logit = false; } if (result == ISC_R_SUCCESS) @@ -1408,16 +1400,17 @@ closeandrename(FILE *f, isc_result_t result, const char *temp, const char *file) if (result != ISC_R_SUCCESS && logit) { isc_log_write(dns_lctx, ISC_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTERDUMP, ISC_LOG_ERROR, - "dumping master file: rename: %s: %s", - file, isc_result_totext(result)); + "dumping master file: rename: %s: %s", file, + isc_result_totext(result)); } return (result); } static void -dump_quantum(isc_task_t *task, isc_event_t *event) { - isc_result_t result; - isc_result_t tresult; +dump_quantum(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result; + isc_result_t tresult; dns_dumpctx_t *dctx; REQUIRE(event != NULL); @@ -1435,8 +1428,8 @@ dump_quantum(isc_task_t *task, isc_event_t *event) { } if (dctx->file != NULL) { - tresult = closeandrename(dctx->f, result, - dctx->tmpfile, dctx->file); + tresult = closeandrename(dctx->f, result, dctx->tmpfile, + dctx->file); if (tresult != ISC_R_SUCCESS && result == ISC_R_SUCCESS) result = tresult; } else @@ -1447,7 +1440,8 @@ dump_quantum(isc_task_t *task, isc_event_t *event) { } static isc_result_t -task_send(dns_dumpctx_t *dctx) { +task_send(dns_dumpctx_t *dctx) +{ isc_event_t *event; event = isc_event_allocate(dctx->mctx, NULL, DNS_EVENT_DUMPQUANTUM, @@ -1462,8 +1456,8 @@ dumpctx_create(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, dns_masterformat_t format, dns_masterrawheader_t *header) { dns_dumpctx_t *dctx; - isc_result_t result; - unsigned int options; + isc_result_t result; + unsigned int options; dctx = isc_mem_get(mctx, sizeof(*dctx)); @@ -1545,7 +1539,7 @@ dumpctx_create(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, *dctxp = dctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (dctx->dbiter != NULL) { dns_dbiterator_destroy(&dctx->dbiter); } @@ -1557,13 +1551,14 @@ dumpctx_create(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, } static isc_result_t -writeheader(dns_dumpctx_t *dctx) { - isc_result_t result = ISC_R_SUCCESS; - isc_buffer_t buffer; - char *bufmem; - isc_region_t r; +writeheader(dns_dumpctx_t *dctx) +{ + isc_result_t result = ISC_R_SUCCESS; + isc_buffer_t buffer; + char * bufmem; + isc_region_t r; dns_masterrawheader_t rawheader; - uint32_t rawversion, now32; + uint32_t rawversion, now32; bufmem = isc_mem_get(dctx->mctx, initial_buffer_length); @@ -1580,14 +1575,13 @@ writeheader(dns_dumpctx_t *dctx) { * it in the zone case. */ if (dctx->do_date) { - fprintf(dctx->f, - "; using a %u second stale ttl\n", + fprintf(dctx->f, "; using a %u second stale ttl\n", dctx->tctx.serve_stale_ttl); result = dns_time32_totext(dctx->now, &buffer); RUNTIME_CHECK(result == ISC_R_SUCCESS); isc_buffer_usedregion(&buffer, &r); - fprintf(dctx->f, "$DATE %.*s\n", - (int) r.length, (char *) r.base); + fprintf(dctx->f, "$DATE %.*s\n", (int)r.length, + (char *)r.base); } break; case dns_masterformat_raw: @@ -1629,14 +1623,15 @@ writeheader(dns_dumpctx_t *dctx) { } static isc_result_t -dumptostreaminc(dns_dumpctx_t *dctx) { - isc_result_t result = ISC_R_SUCCESS; - isc_buffer_t buffer; - char *bufmem; - dns_name_t *name; +dumptostreaminc(dns_dumpctx_t *dctx) +{ + isc_result_t result = ISC_R_SUCCESS; + isc_buffer_t buffer; + char * bufmem; + dns_name_t * name; dns_fixedname_t fixname; - unsigned int nodes; - isc_time_t start; + unsigned int nodes; + isc_time_t start; bufmem = isc_mem_get(dctx->mctx, initial_buffer_length); @@ -1671,7 +1666,7 @@ dumptostreaminc(dns_dumpctx_t *dctx) { isc_time_now(&start); while (result == ISC_R_SUCCESS && (dctx->nodes == 0 || nodes--)) { dns_rdatasetiter_t *rdsiter = NULL; - dns_dbnode_t *node = NULL; + dns_dbnode_t * node = NULL; result = dns_dbiterator_current(dctx->dbiter, &node, name); if (result != ISC_R_SUCCESS && result != DNS_R_NEWORIGIN) @@ -1681,8 +1676,8 @@ dumptostreaminc(dns_dumpctx_t *dctx) { dns_fixedname_name(&dctx->tctx.origin_fixname); result = dns_dbiterator_origin(dctx->dbiter, origin); RUNTIME_CHECK(result == ISC_R_SUCCESS); - if ((dctx->tctx.style.flags & - DNS_STYLEFLAG_REL_DATA) != 0) + if ((dctx->tctx.style.flags & DNS_STYLEFLAG_REL_DATA) != + 0) dctx->tctx.origin = origin; dctx->tctx.neworigin = origin; } @@ -1710,15 +1705,15 @@ dumptostreaminc(dns_dumpctx_t *dctx) { * next iteration. */ if (dctx->nodes != 0 && result == ISC_R_SUCCESS) { - unsigned int pps = dns_pps; /* packets per second */ + unsigned int pps = dns_pps; /* packets per second */ unsigned int interval; - uint64_t usecs; - isc_time_t end; + uint64_t usecs; + isc_time_t end; isc_time_now(&end); if (pps < 100) pps = 100; - interval = 1000000 / pps; /* interval in usecs */ + interval = 1000000 / pps; /* interval in usecs */ if (interval == 0) interval = 1; usecs = isc_time_microdiff(&end, &start); @@ -1746,7 +1741,7 @@ dumptostreaminc(dns_dumpctx_t *dctx) { result = DNS_R_CONTINUE; } else if (result == ISC_R_NOMORE) result = ISC_R_SUCCESS; - cleanup: +cleanup: RUNTIME_CHECK(dns_dbiterator_pause(dctx->dbiter) == ISC_R_SUCCESS); isc_mem_put(dctx->mctx, buffer.base, buffer.length); return (result); @@ -1754,14 +1749,13 @@ dumptostreaminc(dns_dumpctx_t *dctx) { isc_result_t dns_master_dumptostreaminc(isc_mem_t *mctx, dns_db_t *db, - dns_dbversion_t *version, - const dns_master_style_t *style, - FILE *f, isc_task_t *task, - dns_dumpdonefunc_t done, void *done_arg, - dns_dumpctx_t **dctxp) + dns_dbversion_t * version, + const dns_master_style_t *style, FILE *f, + isc_task_t *task, dns_dumpdonefunc_t done, + void *done_arg, dns_dumpctx_t **dctxp) { dns_dumpctx_t *dctx = NULL; - isc_result_t result; + isc_result_t result; REQUIRE(task != NULL); REQUIRE(f != NULL); @@ -1787,17 +1781,16 @@ dns_master_dumptostreaminc(isc_mem_t *mctx, dns_db_t *db, } isc_result_t -dns_master_dumptostream(isc_mem_t *mctx, dns_db_t *db, - dns_dbversion_t *version, +dns_master_dumptostream(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, const dns_master_style_t *style, - dns_masterformat_t format, + dns_masterformat_t format, dns_masterrawheader_t *header, FILE *f) { dns_dumpctx_t *dctx = NULL; - isc_result_t result; + isc_result_t result; - result = dumpctx_create(mctx, db, version, style, f, &dctx, - format, header); + result = dumpctx_create(mctx, db, version, style, f, &dctx, format, + header); if (result != ISC_R_SUCCESS) return (result); @@ -1811,11 +1804,12 @@ dns_master_dumptostream(isc_mem_t *mctx, dns_db_t *db, static isc_result_t opentmp(isc_mem_t *mctx, dns_masterformat_t format, const char *file, - char **tempp, FILE **fp) { - FILE *f = NULL; + char **tempp, FILE **fp) +{ + FILE * f = NULL; isc_result_t result; - char *tempname = NULL; - int tempnamelen; + char * tempname = NULL; + int tempnamelen; tempnamelen = strlen(file) + 20; tempname = isc_mem_allocate(mctx, tempnamelen); @@ -1831,8 +1825,8 @@ opentmp(isc_mem_t *mctx, dns_masterformat_t format, const char *file, if (result != ISC_R_SUCCESS) { isc_log_write(dns_lctx, ISC_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTERDUMP, ISC_LOG_ERROR, - "dumping master file: %s: open: %s", - tempname, isc_result_totext(result)); + "dumping master file: %s: open: %s", tempname, + isc_result_totext(result)); goto cleanup; } *tempp = tempname; @@ -1851,10 +1845,10 @@ dns_master_dumpinc(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, dns_dumpctx_t **dctxp, dns_masterformat_t format, dns_masterrawheader_t *header) { - FILE *f = NULL; - isc_result_t result; - char *tempname = NULL; - char *file = NULL; + FILE * f = NULL; + isc_result_t result; + char * tempname = NULL; + char * file = NULL; dns_dumpctx_t *dctx = NULL; file = isc_mem_strdup(mctx, filename); @@ -1863,8 +1857,8 @@ dns_master_dumpinc(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, if (result != ISC_R_SUCCESS) goto cleanup; - result = dumpctx_create(mctx, db, version, style, f, &dctx, - format, header); + result = dumpctx_create(mctx, db, version, style, f, &dctx, format, + header); if (result != ISC_R_SUCCESS) { (void)isc_stdio_close(f); (void)isc_file_remove(tempname); @@ -1886,7 +1880,7 @@ dns_master_dumpinc(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, return (DNS_R_CONTINUE); } - cleanup: +cleanup: if (dctx != NULL) dns_dumpctx_detach(&dctx); if (file != NULL) @@ -1901,17 +1895,17 @@ dns_master_dump(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, const dns_master_style_t *style, const char *filename, dns_masterformat_t format, dns_masterrawheader_t *header) { - FILE *f = NULL; - isc_result_t result; - char *tempname; + FILE * f = NULL; + isc_result_t result; + char * tempname; dns_dumpctx_t *dctx = NULL; result = opentmp(mctx, format, filename, &tempname, &f); if (result != ISC_R_SUCCESS) return (result); - result = dumpctx_create(mctx, db, version, style, f, &dctx, - format, header); + result = dumpctx_create(mctx, db, version, style, f, &dctx, format, + header); if (result != ISC_R_SUCCESS) goto cleanup; @@ -1921,7 +1915,7 @@ dns_master_dump(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, result = closeandrename(f, result, tempname, filename); - cleanup: +cleanup: isc_mem_free(mctx, tempname); return (result); } @@ -1932,16 +1926,15 @@ dns_master_dump(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, */ isc_result_t dns_master_dumpnodetostream(isc_mem_t *mctx, dns_db_t *db, - dns_dbversion_t *version, - dns_dbnode_t *node, const dns_name_t *name, - const dns_master_style_t *style, - FILE *f) + dns_dbversion_t *version, dns_dbnode_t *node, + const dns_name_t * name, + const dns_master_style_t *style, FILE *f) { - isc_result_t result; - isc_buffer_t buffer; - char *bufmem; - isc_stdtime_t now; - dns_totext_ctx_t ctx; + isc_result_t result; + isc_buffer_t buffer; + char * bufmem; + isc_stdtime_t now; + dns_totext_ctx_t ctx; dns_rdatasetiter_t *rdsiter = NULL; result = totext_ctx_init(style, NULL, &ctx); @@ -1967,7 +1960,7 @@ dns_master_dumpnodetostream(isc_mem_t *mctx, dns_db_t *db, result = ISC_R_SUCCESS; - failure: +failure: isc_mem_put(mctx, buffer.base, buffer.length); return (result); } @@ -1977,7 +1970,7 @@ dns_master_dumpnode(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node, const dns_name_t *name, const dns_master_style_t *style, const char *filename) { - FILE *f = NULL; + FILE * f = NULL; isc_result_t result; result = isc_stdio_open(filename, "w", &f); @@ -2013,18 +2006,19 @@ dns_master_dumpnode(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, } dns_masterstyle_flags_t -dns_master_styleflags(const dns_master_style_t *style) { +dns_master_styleflags(const dns_master_style_t *style) +{ REQUIRE(style != NULL); return (style->flags); } isc_result_t -dns_master_stylecreate(dns_master_style_t **stylep, - dns_masterstyle_flags_t flags, - unsigned int ttl_column, unsigned int class_column, - unsigned int type_column, unsigned int rdata_column, - unsigned int line_length, unsigned int tab_width, - unsigned int split_width, isc_mem_t *mctx) +dns_master_stylecreate(dns_master_style_t ** stylep, + dns_masterstyle_flags_t flags, unsigned int ttl_column, + unsigned int class_column, unsigned int type_column, + unsigned int rdata_column, unsigned int line_length, + unsigned int tab_width, unsigned int split_width, + isc_mem_t *mctx) { dns_master_style_t *style; @@ -2044,7 +2038,8 @@ dns_master_stylecreate(dns_master_style_t **stylep, } void -dns_master_styledestroy(dns_master_style_t **stylep, isc_mem_t *mctx) { +dns_master_styledestroy(dns_master_style_t **stylep, isc_mem_t *mctx) +{ dns_master_style_t *style; REQUIRE(stylep != NULL && *stylep != NULL); diff --git a/lib/dns/message.c b/lib/dns/message.c index 41b9251037..ae706b8a14 100644 --- a/lib/dns/message.c +++ b/lib/dns/message.c @@ -22,7 +22,7 @@ #include #include #include -#include /* Required for HP/UX (and others?) */ +#include /* Required for HP/UX (and others?) */ #include #include @@ -43,9 +43,10 @@ #ifdef SKAN_MSG_DEBUG static void -hexdump(const char *msg, const char *msg2, void *base, size_t len) { +hexdump(const char *msg, const char *msg2, void *base, size_t len) +{ unsigned char *p; - unsigned int cnt; + unsigned int cnt; p = base; cnt = 0; @@ -70,27 +71,28 @@ hexdump(const char *msg, const char *msg2, void *base, size_t len) { } #endif -#define DNS_MESSAGE_OPCODE_MASK 0x7800U -#define DNS_MESSAGE_OPCODE_SHIFT 11 -#define DNS_MESSAGE_RCODE_MASK 0x000fU -#define DNS_MESSAGE_FLAG_MASK 0x8ff0U -#define DNS_MESSAGE_EDNSRCODE_MASK 0xff000000U -#define DNS_MESSAGE_EDNSRCODE_SHIFT 24 -#define DNS_MESSAGE_EDNSVERSION_MASK 0x00ff0000U -#define DNS_MESSAGE_EDNSVERSION_SHIFT 16 +#define DNS_MESSAGE_OPCODE_MASK 0x7800U +#define DNS_MESSAGE_OPCODE_SHIFT 11 +#define DNS_MESSAGE_RCODE_MASK 0x000fU +#define DNS_MESSAGE_FLAG_MASK 0x8ff0U +#define DNS_MESSAGE_EDNSRCODE_MASK 0xff000000U +#define DNS_MESSAGE_EDNSRCODE_SHIFT 24 +#define DNS_MESSAGE_EDNSVERSION_MASK 0x00ff0000U +#define DNS_MESSAGE_EDNSVERSION_SHIFT 16 -#define VALID_NAMED_SECTION(s) (((s) > DNS_SECTION_ANY) \ - && ((s) < DNS_SECTION_MAX)) -#define VALID_SECTION(s) (((s) >= DNS_SECTION_ANY) \ - && ((s) < DNS_SECTION_MAX)) -#define ADD_STRING(b, s) {if (strlen(s) >= \ - isc_buffer_availablelength(b)) { \ - result = ISC_R_NOSPACE; \ - goto cleanup; \ - } else \ - isc_buffer_putstr(b, s);} -#define VALID_PSEUDOSECTION(s) (((s) >= DNS_PSEUDOSECTION_ANY) \ - && ((s) < DNS_PSEUDOSECTION_MAX)) +#define VALID_NAMED_SECTION(s) \ + (((s) > DNS_SECTION_ANY) && ((s) < DNS_SECTION_MAX)) +#define VALID_SECTION(s) (((s) >= DNS_SECTION_ANY) && ((s) < DNS_SECTION_MAX)) +#define ADD_STRING(b, s) \ + { \ + if (strlen(s) >= isc_buffer_availablelength(b)) { \ + result = ISC_R_NOSPACE; \ + goto cleanup; \ + } else \ + isc_buffer_putstr(b, s); \ + } +#define VALID_PSEUDOSECTION(s) \ + (((s) >= DNS_PSEUDOSECTION_ANY) && ((s) < DNS_PSEUDOSECTION_MAX)) #define OPTOUT(x) (((x)->attributes & DNS_RDATASETATTR_OPTOUT) != 0) @@ -99,49 +101,29 @@ hexdump(const char *msg, const char *msg2, void *base, size_t len) { * of various block allocations used within the server. * XXXMLG These should come from a config setting. */ -#define SCRATCHPAD_SIZE 512 -#define NAME_COUNT 64 -#define OFFSET_COUNT 4 -#define RDATA_COUNT 8 -#define RDATALIST_COUNT 8 -#define RDATASET_COUNT 64 +#define SCRATCHPAD_SIZE 512 +#define NAME_COUNT 64 +#define OFFSET_COUNT 4 +#define RDATA_COUNT 8 +#define RDATALIST_COUNT 8 +#define RDATASET_COUNT 64 /*% * Text representation of the different items, for message_totext * functions. */ -static const char *sectiontext[] = { - "QUESTION", - "ANSWER", - "AUTHORITY", - "ADDITIONAL" -}; +static const char *sectiontext[] = { "QUESTION", "ANSWER", "AUTHORITY", + "ADDITIONAL" }; -static const char *updsectiontext[] = { - "ZONE", - "PREREQUISITE", - "UPDATE", - "ADDITIONAL" -}; +static const char *updsectiontext[] = { "ZONE", "PREREQUISITE", "UPDATE", + "ADDITIONAL" }; -static const char *opcodetext[] = { - "QUERY", - "IQUERY", - "STATUS", - "RESERVED3", - "NOTIFY", - "UPDATE", - "RESERVED6", - "RESERVED7", - "RESERVED8", - "RESERVED9", - "RESERVED10", - "RESERVED11", - "RESERVED12", - "RESERVED13", - "RESERVED14", - "RESERVED15" -}; +static const char *opcodetext[] = { "QUERY", "IQUERY", "STATUS", + "RESERVED3", "NOTIFY", "UPDATE", + "RESERVED6", "RESERVED7", "RESERVED8", + "RESERVED9", "RESERVED10", "RESERVED11", + "RESERVED12", "RESERVED13", "RESERVED14", + "RESERVED15" }; /*% * "helper" type, which consists of a block of some type, and is linkable. @@ -149,9 +131,9 @@ static const char *opcodetext[] = { * size, or the allocated elements will not be aligned correctly. */ struct dns_msgblock { - unsigned int count; - unsigned int remaining; - ISC_LINK(dns_msgblock_t) link; + unsigned int count; + unsigned int remaining; + ISC_LINK(dns_msgblock_t) link; }; /* dynamically sized */ static inline dns_msgblock_t * @@ -180,11 +162,10 @@ logfmtpacket(dns_message_t *message, const char *description, * is free, return NULL. */ static inline dns_msgblock_t * -msgblock_allocate(isc_mem_t *mctx, unsigned int sizeof_type, - unsigned int count) +msgblock_allocate(isc_mem_t *mctx, unsigned int sizeof_type, unsigned int count) { dns_msgblock_t *block; - unsigned int length; + unsigned int length; length = sizeof(dns_msgblock_t) + (sizeof_type * count); @@ -203,7 +184,8 @@ msgblock_allocate(isc_mem_t *mctx, unsigned int sizeof_type, * NULL. */ static inline void * -msgblock_internalget(dns_msgblock_t *block, unsigned int sizeof_type) { +msgblock_internalget(dns_msgblock_t *block, unsigned int sizeof_type) +{ void *ptr; if (block == NULL || block->remaining == 0) @@ -211,15 +193,15 @@ msgblock_internalget(dns_msgblock_t *block, unsigned int sizeof_type) { block->remaining--; - ptr = (((unsigned char *)block) - + sizeof(dns_msgblock_t) - + (sizeof_type * block->remaining)); + ptr = (((unsigned char *)block) + sizeof(dns_msgblock_t) + + (sizeof_type * block->remaining)); return (ptr); } static inline void -msgblock_reset(dns_msgblock_t *block) { +msgblock_reset(dns_msgblock_t *block) +{ block->remaining = block->count; } @@ -242,7 +224,8 @@ msgblock_free(isc_mem_t *mctx, dns_msgblock_t *block, unsigned int sizeof_type) * uses) */ static inline isc_result_t -newbuffer(dns_message_t *msg, unsigned int size) { +newbuffer(dns_message_t *msg, unsigned int size) +{ isc_buffer_t *dynbuf; dynbuf = NULL; @@ -253,7 +236,8 @@ newbuffer(dns_message_t *msg, unsigned int size) { } static inline isc_buffer_t * -currentbuffer(dns_message_t *msg) { +currentbuffer(dns_message_t *msg) +{ isc_buffer_t *dynbuf; dynbuf = ISC_LIST_TAIL(msg->scratchpad); @@ -263,14 +247,16 @@ currentbuffer(dns_message_t *msg) { } static inline void -releaserdata(dns_message_t *msg, dns_rdata_t *rdata) { +releaserdata(dns_message_t *msg, dns_rdata_t *rdata) +{ ISC_LIST_PREPEND(msg->freerdata, rdata, link); } static inline dns_rdata_t * -newrdata(dns_message_t *msg) { +newrdata(dns_message_t *msg) +{ dns_msgblock_t *msgblock; - dns_rdata_t *rdata; + dns_rdata_t * rdata; rdata = ISC_LIST_HEAD(msg->freerdata); if (rdata != NULL) { @@ -296,13 +282,15 @@ newrdata(dns_message_t *msg) { } static inline void -releaserdatalist(dns_message_t *msg, dns_rdatalist_t *rdatalist) { +releaserdatalist(dns_message_t *msg, dns_rdatalist_t *rdatalist) +{ ISC_LIST_PREPEND(msg->freerdatalist, rdatalist, link); } static inline dns_rdatalist_t * -newrdatalist(dns_message_t *msg) { - dns_msgblock_t *msgblock; +newrdatalist(dns_message_t *msg) +{ + dns_msgblock_t * msgblock; dns_rdatalist_t *rdatalist; rdatalist = ISC_LIST_HEAD(msg->freerdatalist); @@ -314,8 +302,7 @@ newrdatalist(dns_message_t *msg) { msgblock = ISC_LIST_TAIL(msg->rdatalists); rdatalist = msgblock_get(msgblock, dns_rdatalist_t); if (rdatalist == NULL) { - msgblock = msgblock_allocate(msg->mctx, - sizeof(dns_rdatalist_t), + msgblock = msgblock_allocate(msg->mctx, sizeof(dns_rdatalist_t), RDATALIST_COUNT); if (msgblock == NULL) return (NULL); @@ -324,7 +311,7 @@ newrdatalist(dns_message_t *msg) { rdatalist = msgblock_get(msgblock, dns_rdatalist_t); } - out: +out: if (rdatalist != NULL) dns_rdatalist_init(rdatalist); @@ -332,15 +319,15 @@ newrdatalist(dns_message_t *msg) { } static inline dns_offsets_t * -newoffsets(dns_message_t *msg) { +newoffsets(dns_message_t *msg) +{ dns_msgblock_t *msgblock; - dns_offsets_t *offsets; + dns_offsets_t * offsets; msgblock = ISC_LIST_TAIL(msg->offsets); offsets = msgblock_get(msgblock, dns_offsets_t); if (offsets == NULL) { - msgblock = msgblock_allocate(msg->mctx, - sizeof(dns_offsets_t), + msgblock = msgblock_allocate(msg->mctx, sizeof(dns_offsets_t), OFFSET_COUNT); if (msgblock == NULL) return (NULL); @@ -354,7 +341,8 @@ newoffsets(dns_message_t *msg) { } static inline void -msginitheader(dns_message_t *m) { +msginitheader(dns_message_t *m) +{ m->id = 0; m->flags = 0; m->rcode = 0; @@ -363,7 +351,8 @@ msginitheader(dns_message_t *m) { } static inline void -msginitprivate(dns_message_t *m) { +msginitprivate(dns_message_t *m) +{ unsigned int i; for (i = 0; i < DNS_SECTION_MAX; i++) { @@ -375,7 +364,7 @@ msginitprivate(dns_message_t *m) { m->sig0name = NULL; m->tsig = NULL; m->tsigname = NULL; - m->state = DNS_SECTION_ANY; /* indicate nothing parsed or rendered */ + m->state = DNS_SECTION_ANY; /* indicate nothing parsed or rendered */ m->opt_reserved = 0; m->sig_reserved = 0; m->reserved = 0; @@ -385,7 +374,8 @@ msginitprivate(dns_message_t *m) { } static inline void -msginittsig(dns_message_t *m) { +msginittsig(dns_message_t *m) +{ m->tsigstatus = dns_rcode_noerror; m->querytsigstatus = dns_rcode_noerror; m->tsigkey = NULL; @@ -401,7 +391,8 @@ msginittsig(dns_message_t *m) { * and when resetting one. */ static inline void -msginit(dns_message_t *m) { +msginit(dns_message_t *m) +{ msginitheader(m); msginitprivate(m); msginittsig(m); @@ -430,9 +421,10 @@ msginit(dns_message_t *m) { } static inline void -msgresetnames(dns_message_t *msg, unsigned int first_section) { - unsigned int i; - dns_name_t *name, *next_name; +msgresetnames(dns_message_t *msg, unsigned int first_section) +{ + unsigned int i; + dns_name_t * name, *next_name; dns_rdataset_t *rds, *next_rds; /* @@ -480,7 +472,8 @@ msgresetopt(dns_message_t *msg) } static void -msgresetsigs(dns_message_t *msg, bool replying) { +msgresetsigs(dns_message_t *msg, bool replying) +{ if (msg->sig_reserved > 0) { dns_message_renderrelease(msg, msg->sig_reserved); msg->sig_reserved = 0; @@ -528,10 +521,11 @@ msgresetsigs(dns_message_t *msg, bool replying) { * both dns_message_reset() and dns_message_destroy(). */ static void -msgreset(dns_message_t *msg, bool everything) { - dns_msgblock_t *msgblock, *next_msgblock; - isc_buffer_t *dynbuf, *next_dynbuf; - dns_rdata_t *rdata; +msgreset(dns_message_t *msg, bool everything) +{ + dns_msgblock_t * msgblock, *next_msgblock; + isc_buffer_t * dynbuf, *next_dynbuf; + dns_rdata_t * rdata; dns_rdatalist_t *rdatalist; msgresetnames(msg, 0); @@ -657,7 +651,8 @@ msgreset(dns_message_t *msg, bool everything) { } static unsigned int -spacefortsig(dns_tsigkey_t *key, int otherlen) { +spacefortsig(dns_tsigkey_t *key, int otherlen) +{ isc_region_t r1, r2; unsigned int x; isc_result_t result; @@ -699,14 +694,14 @@ isc_result_t dns_message_create(isc_mem_t *mctx, unsigned int intent, dns_message_t **msgp) { dns_message_t *m; - isc_buffer_t *dynbuf; - unsigned int i; + isc_buffer_t * dynbuf; + unsigned int i; REQUIRE(mctx != NULL); REQUIRE(msgp != NULL); REQUIRE(*msgp == NULL); - REQUIRE(intent == DNS_MESSAGE_INTENTPARSE - || intent == DNS_MESSAGE_INTENTRENDER); + REQUIRE(intent == DNS_MESSAGE_INTENTPARSE || + intent == DNS_MESSAGE_INTENTRENDER); m = isc_mem_get(mctx, sizeof(dns_message_t)); @@ -744,8 +739,7 @@ dns_message_create(isc_mem_t *mctx, unsigned int intent, dns_message_t **msgp) isc_mempool_setfreemax(m->namepool, NAME_COUNT); isc_mempool_setname(m->namepool, "msg:names"); - isc_mempool_create(m->mctx, sizeof(dns_rdataset_t), - &m->rdspool); + isc_mempool_create(m->mctx, sizeof(dns_rdataset_t), &m->rdspool); isc_mempool_setfillcount(m->rdspool, RDATASET_COUNT); isc_mempool_setfreemax(m->rdspool, RDATASET_COUNT); isc_mempool_setname(m->rdspool, "msg:rdataset"); @@ -761,17 +755,19 @@ dns_message_create(isc_mem_t *mctx, unsigned int intent, dns_message_t **msgp) } void -dns_message_reset(dns_message_t *msg, unsigned int intent) { +dns_message_reset(dns_message_t *msg, unsigned int intent) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); - REQUIRE(intent == DNS_MESSAGE_INTENTPARSE - || intent == DNS_MESSAGE_INTENTRENDER); + REQUIRE(intent == DNS_MESSAGE_INTENTPARSE || + intent == DNS_MESSAGE_INTENTRENDER); msgreset(msg, false); msg->from_to_wire = intent; } void -dns_message_destroy(dns_message_t **msgp) { +dns_message_destroy(dns_message_t **msgp) +{ dns_message_t *msg; REQUIRE(msgp != NULL); @@ -793,8 +789,7 @@ findname(dns_name_t **foundname, const dns_name_t *target, { dns_name_t *curr; - for (curr = ISC_LIST_TAIL(*section); - curr != NULL; + for (curr = ISC_LIST_TAIL(*section); curr != NULL; curr = ISC_LIST_PREV(curr, link)) { if (dns_name_equal(curr, target)) { if (foundname != NULL) @@ -816,11 +811,10 @@ dns_message_find(const dns_name_t *name, dns_rdataclass_t rdclass, REQUIRE(name != NULL); REQUIRE(rdataset == NULL || *rdataset == NULL); - for (curr = ISC_LIST_TAIL(name->list); - curr != NULL; + for (curr = ISC_LIST_TAIL(name->list); curr != NULL; curr = ISC_LIST_PREV(curr, link)) { - if (curr->rdclass == rdclass && - curr->type == type && curr->covers == covers) { + if (curr->rdclass == rdclass && curr->type == type && + curr->covers == covers) { if (rdataset != NULL) *rdataset = curr; return (ISC_R_SUCCESS); @@ -839,8 +833,7 @@ dns_message_findtype(const dns_name_t *name, dns_rdatatype_t type, REQUIRE(name != NULL); REQUIRE(rdataset == NULL || *rdataset == NULL); - for (curr = ISC_LIST_TAIL(name->list); - curr != NULL; + for (curr = ISC_LIST_TAIL(name->list); curr != NULL; curr = ISC_LIST_PREV(curr, link)) { if (curr->type == type && curr->covers == covers) { if (ISC_UNLIKELY(rdataset != NULL)) @@ -860,8 +853,8 @@ getname(dns_name_t *name, isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx) { isc_buffer_t *scratch; - isc_result_t result; - unsigned int tries; + isc_result_t result; + unsigned int tries; scratch = currentbuffer(msg); @@ -871,8 +864,7 @@ getname(dns_name_t *name, isc_buffer_t *source, dns_message_t *msg, */ tries = 0; while (tries < 2) { - result = dns_name_fromwire(name, source, dctx, 0, - scratch); + result = dns_name_fromwire(name, source, dctx, 0, scratch); if (result == ISC_R_NOSPACE) { tries++; @@ -898,9 +890,9 @@ getrdata(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, unsigned int rdatalen, dns_rdata_t *rdata) { isc_buffer_t *scratch; - isc_result_t result; - unsigned int tries; - unsigned int trysize; + isc_result_t result; + unsigned int tries; + unsigned int trysize; scratch = currentbuffer(msg); @@ -917,9 +909,8 @@ getrdata(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, trysize = 0; /* XXX possibly change this to a while (tries < 2) loop */ for (;;) { - result = dns_rdata_fromwire(rdata, rdclass, rdtype, - source, dctx, 0, - scratch); + result = dns_rdata_fromwire(rdata, rdclass, rdtype, source, + dctx, 0, scratch); if (result == ISC_R_NOSPACE) { if (tries == 0) { @@ -930,7 +921,7 @@ getrdata(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, INSIST(trysize != 0); if (trysize >= 65535) return (ISC_R_NOSPACE); - /* XXX DNS_R_RRTOOLONG? */ + /* XXX DNS_R_RRTOOLONG? */ trysize *= 2; } tries++; @@ -945,34 +936,34 @@ getrdata(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, } } -#define DO_ERROR(r) \ - do { \ - if (best_effort) \ - seen_problem = true; \ - else { \ - result = r; \ - goto cleanup; \ - } \ +#define DO_ERROR(r) \ + do { \ + if (best_effort) \ + seen_problem = true; \ + else { \ + result = r; \ + goto cleanup; \ + } \ } while (0) static isc_result_t getquestions(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, unsigned int options) { - isc_region_t r; - unsigned int count; - dns_name_t *name; - dns_name_t *name2; - dns_offsets_t *offsets; - dns_rdataset_t *rdataset; + isc_region_t r; + unsigned int count; + dns_name_t * name; + dns_name_t * name2; + dns_offsets_t * offsets; + dns_rdataset_t * rdataset; dns_rdatalist_t *rdatalist; - isc_result_t result; - dns_rdatatype_t rdtype; + isc_result_t result; + dns_rdatatype_t rdtype; dns_rdataclass_t rdclass; - dns_namelist_t *section; - bool free_name; - bool best_effort; - bool seen_problem; + dns_namelist_t * section; + bool free_name; + bool best_effort; + bool seen_problem; section = &msg->sections[DNS_SECTION_QUESTION]; @@ -1105,7 +1096,7 @@ getquestions(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, return (DNS_R_RECOVERABLE); return (ISC_R_SUCCESS); - cleanup: +cleanup: if (rdataset != NULL) { INSIST(!dns_rdataset_isassociated(rdataset)); isc_mempool_put(msg->rdspool, rdataset); @@ -1121,7 +1112,8 @@ getquestions(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, } static bool -update(dns_section_t section, dns_rdataclass_t rdclass) { +update(dns_section_t section, dns_rdataclass_t rdclass) +{ if (section == DNS_SECTION_PREREQUISITE) return (rdclass == dns_rdataclass_any || rdclass == dns_rdataclass_none); @@ -1135,20 +1127,17 @@ update(dns_section_t section, dns_rdataclass_t rdclass) { * covering RRSIGs. */ static bool -auth_signed(dns_namelist_t *section) { +auth_signed(dns_namelist_t *section) +{ dns_name_t *name; - for (name = ISC_LIST_HEAD(*section); - name != NULL; - name = ISC_LIST_NEXT(name, link)) - { - int auth_dnssec = 0, auth_rrsig = 0; + for (name = ISC_LIST_HEAD(*section); name != NULL; + name = ISC_LIST_NEXT(name, link)) { + int auth_dnssec = 0, auth_rrsig = 0; dns_rdataset_t *rds; - for (rds = ISC_LIST_HEAD(name->list); - rds != NULL; - rds = ISC_LIST_NEXT(rds, link)) - { + for (rds = ISC_LIST_HEAD(name->list); rds != NULL; + rds = ISC_LIST_NEXT(rds, link)) { switch (rds->type) { case dns_rdatatype_ds: auth_dnssec |= 0x1; @@ -1191,22 +1180,22 @@ static isc_result_t getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, dns_section_t sectionid, unsigned int options) { - isc_region_t r; - unsigned int count, rdatalen; - dns_name_t *name = NULL; - dns_name_t *name2 = NULL; - dns_offsets_t *offsets; - dns_rdataset_t *rdataset; + isc_region_t r; + unsigned int count, rdatalen; + dns_name_t * name = NULL; + dns_name_t * name2 = NULL; + dns_offsets_t * offsets; + dns_rdataset_t * rdataset; dns_rdatalist_t *rdatalist; - isc_result_t result; - dns_rdatatype_t rdtype, covers; + isc_result_t result; + dns_rdatatype_t rdtype, covers; dns_rdataclass_t rdclass; - dns_rdata_t *rdata; - dns_ttl_t ttl; - dns_namelist_t *section; - bool free_name = false, free_rdataset = false; - bool preserve_order, best_effort, seen_problem; - bool isedns, issigzero, istsig; + dns_rdata_t * rdata; + dns_ttl_t ttl; + dns_namelist_t * section; + bool free_name = false, free_rdataset = false; + bool preserve_order, best_effort, seen_problem; + bool isedns, issigzero, istsig; preserve_order = ((options & DNS_MESSAGEPARSE_PRESERVEORDER) != 0); best_effort = ((options & DNS_MESSAGEPARSE_BESTEFFORT) != 0); @@ -1215,7 +1204,7 @@ getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, section = &msg->sections[sectionid]; for (count = 0; count < msg->counts[sectionid]; count++) { - int recstart = source->current; + int recstart = source->current; bool skip_name_search, skip_type_search; skip_name_search = false; @@ -1264,9 +1253,9 @@ getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, * established a class. Do so now. */ if (msg->rdclass_set == 0 && - rdtype != dns_rdatatype_opt && /* class is UDP SIZE */ - rdtype != dns_rdatatype_tsig && /* class is ANY */ - rdtype != dns_rdatatype_tkey) { /* class is undefined */ + rdtype != dns_rdatatype_opt && /* class is UDP SIZE */ + rdtype != dns_rdatatype_tsig && /* class is ANY */ + rdtype != dns_rdatatype_tkey) { /* class is undefined */ msg->rdclass = rdclass; msg->rdclass_set = 1; } @@ -1275,14 +1264,14 @@ getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, * If this class is different than the one in the question * section, bail. */ - if (msg->opcode != dns_opcode_update - && rdtype != dns_rdatatype_tsig - && rdtype != dns_rdatatype_opt - && rdtype != dns_rdatatype_key /* in a TKEY query */ - && rdtype != dns_rdatatype_sig /* SIG(0) */ + if (msg->opcode != dns_opcode_update && + rdtype != dns_rdatatype_tsig && + rdtype != dns_rdatatype_opt && + rdtype != dns_rdatatype_key /* in a TKEY query */ + && rdtype != dns_rdatatype_sig /* SIG(0) */ && rdtype != dns_rdatatype_tkey /* Win2000 TKEY */ - && msg->rdclass != dns_rdataclass_any - && msg->rdclass != rdclass) + && msg->rdclass != dns_rdataclass_any && + msg->rdclass != rdclass) DO_ERROR(DNS_R_FORMERR); /* @@ -1305,7 +1294,7 @@ getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, */ if (sectionid != DNS_SECTION_ADDITIONAL || rdclass != dns_rdataclass_any || - count != msg->counts[sectionid] - 1) { + count != msg->counts[sectionid] - 1) { DO_ERROR(DNS_R_BADTSIG); } else { skip_name_search = true; @@ -1393,13 +1382,12 @@ getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, result = getrdata(source, msg, dctx, msg->rdclass, rdtype, rdatalen, rdata); } else - result = getrdata(source, msg, dctx, rdclass, - rdtype, rdatalen, rdata); + result = getrdata(source, msg, dctx, rdclass, rdtype, + rdatalen, rdata); if (result != ISC_R_SUCCESS) goto cleanup; rdata->rdclass = rdclass; - if (rdtype == dns_rdatatype_rrsig && - rdata->flags == 0) { + if (rdtype == dns_rdatatype_rrsig && rdata->flags == 0) { covers = dns_rdata_covers(rdata); if (covers == 0) DO_ERROR(DNS_R_FORMERR); @@ -1408,7 +1396,7 @@ getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, covers = dns_rdata_covers(rdata); if (covers == 0) { if (sectionid != DNS_SECTION_ADDITIONAL || - count != msg->counts[sectionid] - 1) { + count != msg->counts[sectionid] - 1) { DO_ERROR(DNS_R_BADSIG0); } else { skip_name_search = true; @@ -1427,8 +1415,7 @@ getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, * Check the ownername of NSEC3 records */ if (rdtype == dns_rdatatype_nsec3 && - !dns_rdata_checkowner(name, msg->rdclass, rdtype, - false)) { + !dns_rdata_checkowner(name, msg->rdclass, rdtype, false)) { result = DNS_R_BADOWNERNAME; goto cleanup; } @@ -1481,8 +1468,8 @@ getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, DO_ERROR(DNS_R_FORMERR); rdataset = NULL; - result = dns_message_find(name, rdclass, rdtype, - covers, &rdataset); + result = dns_message_find(name, rdclass, rdtype, covers, + &rdataset); } /* @@ -1528,9 +1515,9 @@ getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, rdatalist->ttl = ttl; dns_rdataset_init(rdataset); - RUNTIME_CHECK(dns_rdatalist_tordataset(rdatalist, - rdataset) - == ISC_R_SUCCESS); + RUNTIME_CHECK( + dns_rdatalist_tordataset(rdatalist, rdataset) == + ISC_R_SUCCESS); dns_rdataset_setownercase(rdataset, name); if (!isedns && !istsig && !issigzero) { @@ -1571,9 +1558,9 @@ getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, msg->opt = rdataset; rdataset = NULL; free_rdataset = false; - ercode = (dns_rcode_t) - ((msg->opt->ttl & DNS_MESSAGE_EDNSRCODE_MASK) - >> 20); + ercode = (dns_rcode_t)( + (msg->opt->ttl & DNS_MESSAGE_EDNSRCODE_MASK) >> + 20); msg->rcode |= ercode; isc_mempool_put(msg->namepool, name); free_name = false; @@ -1616,8 +1603,7 @@ getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, if (sectionid == DNS_SECTION_AUTHORITY && msg->opcode == dns_opcode_query && ((msg->flags & DNS_MESSAGEFLAG_QR) != 0) && - ((msg->flags & DNS_MESSAGEFLAG_TC) == 0) && - !preserve_order && + ((msg->flags & DNS_MESSAGEFLAG_TC) == 0) && !preserve_order && !auth_signed(section)) DO_ERROR(DNS_R_FORMERR); @@ -1625,7 +1611,7 @@ getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, return (DNS_R_RECOVERABLE); return (ISC_R_SUCCESS); - cleanup: +cleanup: if (free_name) isc_mempool_put(msg->namepool, name); if (free_rdataset) @@ -1638,13 +1624,13 @@ isc_result_t dns_message_parse(dns_message_t *msg, isc_buffer_t *source, unsigned int options) { - isc_region_t r; + isc_region_t r; dns_decompress_t dctx; - isc_result_t ret; - uint16_t tmpflags; - isc_buffer_t origsource; - bool seen_problem; - bool ignore_tc; + isc_result_t ret; + uint16_t tmpflags; + isc_buffer_t origsource; + bool seen_problem; + bool ignore_tc; REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(source != NULL); @@ -1664,8 +1650,8 @@ dns_message_parse(dns_message_t *msg, isc_buffer_t *source, msg->id = isc_buffer_getuint16(source); tmpflags = isc_buffer_getuint16(source); - msg->opcode = ((tmpflags & DNS_MESSAGE_OPCODE_MASK) - >> DNS_MESSAGE_OPCODE_SHIFT); + msg->opcode = ((tmpflags & DNS_MESSAGE_OPCODE_MASK) >> + DNS_MESSAGE_OPCODE_SHIFT); msg->rcode = (dns_rcode_t)(tmpflags & DNS_MESSAGE_RCODE_MASK); msg->flags = (tmpflags & DNS_MESSAGE_FLAG_MASK); msg->counts[DNS_SECTION_QUESTION] = isc_buffer_getuint16(source); @@ -1732,7 +1718,7 @@ dns_message_parse(dns_message_t *msg, isc_buffer_t *source, r.length); } - truncated: +truncated: if ((options & DNS_MESSAGEPARSE_CLONEBUFFER) == 0) isc_buffer_usedregion(&origsource, &msg->saved); else { @@ -1790,7 +1776,8 @@ dns_message_renderbegin(dns_message_t *msg, dns_compress_t *cctx, } isc_result_t -dns_message_renderchangebuffer(dns_message_t *msg, isc_buffer_t *buffer) { +dns_message_renderchangebuffer(dns_message_t *msg, isc_buffer_t *buffer) +{ isc_region_t r, rn; REQUIRE(DNS_MESSAGE_VALID(msg)); @@ -1819,7 +1806,8 @@ dns_message_renderchangebuffer(dns_message_t *msg, isc_buffer_t *buffer) { } void -dns_message_renderrelease(dns_message_t *msg, unsigned int space) { +dns_message_renderrelease(dns_message_t *msg, unsigned int space) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(space <= msg->reserved); @@ -1827,7 +1815,8 @@ dns_message_renderrelease(dns_message_t *msg, unsigned int space) { } isc_result_t -dns_message_renderreserve(dns_message_t *msg, unsigned int space) { +dns_message_renderreserve(dns_message_t *msg, unsigned int space) +{ isc_region_t r; REQUIRE(DNS_MESSAGE_VALID(msg)); @@ -1844,7 +1833,8 @@ dns_message_renderreserve(dns_message_t *msg, unsigned int space) { } static inline bool -wrong_priority(dns_rdataset_t *rds, int pass, dns_rdatatype_t preferred_glue) { +wrong_priority(dns_rdataset_t *rds, int pass, dns_rdatatype_t preferred_glue) +{ int pass_needed; /* @@ -1877,8 +1867,8 @@ wrong_priority(dns_rdataset_t *rds, int pass, dns_rdatatype_t preferred_glue) { static isc_result_t renderset(dns_rdataset_t *rdataset, const dns_name_t *owner_name, - dns_compress_t *cctx, isc_buffer_t *target, - unsigned int reserved, unsigned int options, unsigned int *countp) + dns_compress_t *cctx, isc_buffer_t *target, unsigned int reserved, + unsigned int options, unsigned int *countp) { isc_result_t result; @@ -1889,15 +1879,16 @@ renderset(dns_rdataset_t *rdataset, const dns_name_t *owner_name, return (ISC_R_NOSPACE); target->length -= reserved; - result = dns_rdataset_towire(rdataset, owner_name, - cctx, target, options, countp); + result = dns_rdataset_towire(rdataset, owner_name, cctx, target, + options, countp); target->length += reserved; return (result); } static void -maybe_clear_ad(dns_message_t *msg, dns_section_t sectionid) { +maybe_clear_ad(dns_message_t *msg, dns_section_t sectionid) +{ if (msg->counts[sectionid] == 0 && (sectionid == DNS_SECTION_ANSWER || (sectionid == DNS_SECTION_AUTHORITY && @@ -1910,14 +1901,14 @@ dns_message_rendersection(dns_message_t *msg, dns_section_t sectionid, unsigned int options) { dns_namelist_t *section; - dns_name_t *name, *next_name; + dns_name_t * name, *next_name; dns_rdataset_t *rdataset, *next_rdataset; - unsigned int count, total; - isc_result_t result; - isc_buffer_t st; /* for rollbacks */ - int pass; - bool partial = false; - unsigned int rd_options; + unsigned int count, total; + isc_result_t result; + isc_buffer_t st; /* for rollbacks */ + int pass; + bool partial = false; + unsigned int rd_options; dns_rdatatype_t preferred_glue = 0; REQUIRE(DNS_MESSAGE_VALID(msg)); @@ -1926,8 +1917,8 @@ dns_message_rendersection(dns_message_t *msg, dns_section_t sectionid, section = &msg->sections[sectionid]; - if ((sectionid == DNS_SECTION_ADDITIONAL) - && (options & DNS_MESSAGERENDER_ORDERED) == 0) { + if ((sectionid == DNS_SECTION_ADDITIONAL) && + (options & DNS_MESSAGERENDER_ORDERED) == 0) { if ((options & DNS_MESSAGERENDER_PREFER_A) != 0) { preferred_glue = dns_rdatatype_a; pass = 4; @@ -1962,30 +1953,22 @@ dns_message_rendersection(dns_message_t *msg, dns_section_t sectionid, if (name != NULL) { rdataset = ISC_LIST_HEAD(name->list); if (rdataset != NULL && - (rdataset->attributes & DNS_RDATASETATTR_REQUIREDGLUE) != 0 && + (rdataset->attributes & DNS_RDATASETATTR_REQUIREDGLUE) != + 0 && (rdataset->attributes & DNS_RDATASETATTR_RENDERED) == 0) { const void *order_arg = &msg->order_arg; st = *(msg->buffer); count = 0; if (partial) - result = dns_rdataset_towirepartial(rdataset, - name, - msg->cctx, - msg->buffer, - msg->order, - order_arg, - rd_options, - &count, - NULL); + result = dns_rdataset_towirepartial( + rdataset, name, msg->cctx, msg->buffer, + msg->order, order_arg, rd_options, + &count, NULL); else - result = dns_rdataset_towiresorted(rdataset, - name, - msg->cctx, - msg->buffer, - msg->order, - order_arg, - rd_options, - &count); + result = dns_rdataset_towiresorted( + rdataset, name, msg->cctx, msg->buffer, + msg->order, order_arg, rd_options, + &count); total += count; if (partial && result == ISC_R_NOSPACE) { msg->flags |= DNS_MESSAGEFLAG_TC; @@ -1999,7 +1982,7 @@ dns_message_rendersection(dns_message_t *msg, dns_section_t sectionid, INSIST(st.used < 65536); dns_compress_rollback(msg->cctx, (uint16_t)st.used); - *(msg->buffer) = st; /* rollback */ + *(msg->buffer) = st; /* rollback */ msg->buffer->length += msg->reserved; msg->counts[sectionid] += total; return (result); @@ -2027,11 +2010,11 @@ dns_message_rendersection(dns_message_t *msg, dns_section_t sectionid, DNS_RDATASETATTR_RENDERED) != 0) goto next; - if (((options & DNS_MESSAGERENDER_ORDERED) - == 0) - && (sectionid == DNS_SECTION_ADDITIONAL) - && wrong_priority(rdataset, pass, - preferred_glue)) + if (((options & DNS_MESSAGERENDER_ORDERED) == + 0) && + (sectionid == DNS_SECTION_ADDITIONAL) && + wrong_priority(rdataset, pass, + preferred_glue)) goto next; st = *(msg->buffer); @@ -2039,25 +2022,16 @@ dns_message_rendersection(dns_message_t *msg, dns_section_t sectionid, count = 0; if (partial) result = dns_rdataset_towirepartial( - rdataset, - name, - msg->cctx, - msg->buffer, - msg->order, - &msg->order_arg, - rd_options, - &count, - NULL); + rdataset, name, msg->cctx, + msg->buffer, msg->order, + &msg->order_arg, rd_options, + &count, NULL); else result = dns_rdataset_towiresorted( - rdataset, - name, - msg->cctx, - msg->buffer, - msg->order, - &msg->order_arg, - rd_options, - &count); + rdataset, name, msg->cctx, + msg->buffer, msg->order, + &msg->order_arg, rd_options, + &count); total += count; @@ -2081,9 +2055,9 @@ dns_message_rendersection(dns_message_t *msg, dns_section_t sectionid, } if (result != ISC_R_SUCCESS) { INSIST(st.used < 65536); - dns_compress_rollback(msg->cctx, - (uint16_t)st.used); - *(msg->buffer) = st; /* rollback */ + dns_compress_rollback( + msg->cctx, (uint16_t)st.used); + *(msg->buffer) = st; /* rollback */ msg->buffer->length += msg->reserved; msg->counts[sectionid] += total; maybe_clear_ad(msg, sectionid); @@ -2119,8 +2093,9 @@ dns_message_rendersection(dns_message_t *msg, dns_section_t sectionid, } void -dns_message_renderheader(dns_message_t *msg, isc_buffer_t *target) { - uint16_t tmp; +dns_message_renderheader(dns_message_t *msg, isc_buffer_t *target) +{ + uint16_t tmp; isc_region_t r; REQUIRE(DNS_MESSAGE_VALID(msg)); @@ -2131,32 +2106,32 @@ dns_message_renderheader(dns_message_t *msg, isc_buffer_t *target) { isc_buffer_putuint16(target, msg->id); - tmp = ((msg->opcode << DNS_MESSAGE_OPCODE_SHIFT) - & DNS_MESSAGE_OPCODE_MASK); + tmp = ((msg->opcode << DNS_MESSAGE_OPCODE_SHIFT) & + DNS_MESSAGE_OPCODE_MASK); tmp |= (msg->rcode & DNS_MESSAGE_RCODE_MASK); tmp |= (msg->flags & DNS_MESSAGE_FLAG_MASK); - INSIST(msg->counts[DNS_SECTION_QUESTION] < 65536 && - msg->counts[DNS_SECTION_ANSWER] < 65536 && + INSIST(msg->counts[DNS_SECTION_QUESTION] < 65536 && + msg->counts[DNS_SECTION_ANSWER] < 65536 && msg->counts[DNS_SECTION_AUTHORITY] < 65536 && msg->counts[DNS_SECTION_ADDITIONAL] < 65536); isc_buffer_putuint16(target, tmp); isc_buffer_putuint16(target, - (uint16_t)msg->counts[DNS_SECTION_QUESTION]); + (uint16_t)msg->counts[DNS_SECTION_QUESTION]); + isc_buffer_putuint16(target, (uint16_t)msg->counts[DNS_SECTION_ANSWER]); isc_buffer_putuint16(target, - (uint16_t)msg->counts[DNS_SECTION_ANSWER]); + (uint16_t)msg->counts[DNS_SECTION_AUTHORITY]); isc_buffer_putuint16(target, - (uint16_t)msg->counts[DNS_SECTION_AUTHORITY]); - isc_buffer_putuint16(target, - (uint16_t)msg->counts[DNS_SECTION_ADDITIONAL]); + (uint16_t)msg->counts[DNS_SECTION_ADDITIONAL]); } isc_result_t -dns_message_renderend(dns_message_t *msg) { +dns_message_renderend(dns_message_t *msg) +{ isc_buffer_t tmpbuf; isc_region_t r; - int result; + int result; unsigned int count; REQUIRE(DNS_MESSAGE_VALID(msg)); @@ -2176,8 +2151,7 @@ dns_message_renderend(dns_message_t *msg) { * fit, don't include it. */ if ((msg->tsigkey != NULL || msg->sig0key != NULL || msg->opt) && - (msg->flags & DNS_MESSAGEFLAG_TC) != 0) - { + (msg->flags & DNS_MESSAGEFLAG_TC) != 0) { isc_buffer_t *buf; msgresetnames(msg, DNS_SECTION_ANSWER); @@ -2187,8 +2161,8 @@ dns_message_renderend(dns_message_t *msg) { isc_buffer_clear(msg->buffer); isc_buffer_add(msg->buffer, DNS_MESSAGE_HEADERLEN); dns_compress_rollback(msg->cctx, 0); - result = dns_message_rendersection(msg, DNS_SECTION_QUESTION, - 0); + result = + dns_message_rendersection(msg, DNS_SECTION_QUESTION, 0); if (result != ISC_R_SUCCESS && result != ISC_R_NOSPACE) return (result); } @@ -2203,8 +2177,8 @@ dns_message_renderend(dns_message_t *msg) { * Set the extended rcode. */ msg->opt->ttl &= ~DNS_MESSAGE_EDNSRCODE_MASK; - msg->opt->ttl |= ((msg->rcode << 20) & - DNS_MESSAGE_EDNSRCODE_MASK); + msg->opt->ttl |= + ((msg->rcode << 20) & DNS_MESSAGE_EDNSRCODE_MASK); /* * Render. */ @@ -2224,13 +2198,11 @@ dns_message_renderend(dns_message_t *msg) { */ if (msg->padding_off > 0) { unsigned char *cp = isc_buffer_used(msg->buffer); - unsigned int used, remaining; - uint16_t len, padsize = 0; + unsigned int used, remaining; + uint16_t len, padsize = 0; /* Check PAD */ - if ((cp[-4] != 0) || - (cp[-3] != DNS_OPT_PAD) || - (cp[-2] != 0) || + if ((cp[-4] != 0) || (cp[-3] != DNS_OPT_PAD) || (cp[-2] != 0) || (cp[-1] != 0)) return (ISC_R_UNEXPECTED); @@ -2242,8 +2214,8 @@ dns_message_renderend(dns_message_t *msg) { /* Aligned used length + reserved to padding block */ used = isc_buffer_usedlength(msg->buffer); if (msg->padding != 0) { - padsize = ((uint16_t)used + msg->reserved) - % msg->padding; + padsize = + ((uint16_t)used + msg->reserved) % msg->padding; } if (padsize != 0) { padsize = msg->padding - padsize; @@ -2309,15 +2281,16 @@ dns_message_renderend(dns_message_t *msg) { dns_message_renderheader(msg, &tmpbuf); - msg->buffer = NULL; /* forget about this buffer only on success XXX */ + msg->buffer = NULL; /* forget about this buffer only on success XXX */ return (ISC_R_SUCCESS); } void -dns_message_renderreset(dns_message_t *msg) { - unsigned int i; - dns_name_t *name; +dns_message_renderreset(dns_message_t *msg) +{ + unsigned int i; + dns_name_t * name; dns_rdataset_t *rds; /* @@ -2332,11 +2305,9 @@ dns_message_renderreset(dns_message_t *msg) { for (i = 0; i < DNS_SECTION_MAX; i++) { msg->cursors[i] = NULL; msg->counts[i] = 0; - for (name = ISC_LIST_HEAD(msg->sections[i]); - name != NULL; + for (name = ISC_LIST_HEAD(msg->sections[i]); name != NULL; name = ISC_LIST_NEXT(name, link)) { - for (rds = ISC_LIST_HEAD(name->list); - rds != NULL; + for (rds = ISC_LIST_HEAD(name->list); rds != NULL; rds = ISC_LIST_NEXT(rds, link)) { rds->attributes &= ~DNS_RDATASETATTR_RENDERED; } @@ -2355,7 +2326,8 @@ dns_message_renderreset(dns_message_t *msg) { } isc_result_t -dns_message_firstname(dns_message_t *msg, dns_section_t section) { +dns_message_firstname(dns_message_t *msg, dns_section_t section) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(VALID_NAMED_SECTION(section)); @@ -2368,7 +2340,8 @@ dns_message_firstname(dns_message_t *msg, dns_section_t section) { } isc_result_t -dns_message_nextname(dns_message_t *msg, dns_section_t section) { +dns_message_nextname(dns_message_t *msg, dns_section_t section) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(VALID_NAMED_SECTION(section)); REQUIRE(msg->cursors[section] != NULL); @@ -2399,7 +2372,7 @@ dns_message_findname(dns_message_t *msg, dns_section_t section, dns_rdatatype_t covers, dns_name_t **name, dns_rdataset_t **rdataset) { - dns_name_t *foundname; + dns_name_t * foundname; isc_result_t result; /* @@ -2419,8 +2392,7 @@ dns_message_findname(dns_message_t *msg, dns_section_t section, REQUIRE(rdataset == NULL || *rdataset == NULL); } - result = findname(&foundname, target, - &msg->sections[section]); + result = findname(&foundname, target, &msg->sections[section]); if (result == ISC_R_NOTFOUND) return (DNS_R_NXDOMAIN); @@ -2445,8 +2417,7 @@ dns_message_findname(dns_message_t *msg, dns_section_t section, void dns_message_movename(dns_message_t *msg, dns_name_t *name, - dns_section_t fromsection, - dns_section_t tosection) + dns_section_t fromsection, dns_section_t tosection) { REQUIRE(msg != NULL); REQUIRE(msg->from_to_wire == DNS_MESSAGE_INTENTRENDER); @@ -2462,8 +2433,7 @@ dns_message_movename(dns_message_t *msg, dns_name_t *name, } void -dns_message_addname(dns_message_t *msg, dns_name_t *name, - dns_section_t section) +dns_message_addname(dns_message_t *msg, dns_name_t *name, dns_section_t section) { REQUIRE(msg != NULL); REQUIRE(msg->from_to_wire == DNS_MESSAGE_INTENTRENDER); @@ -2486,7 +2456,8 @@ dns_message_removename(dns_message_t *msg, dns_name_t *name, } isc_result_t -dns_message_gettempname(dns_message_t *msg, dns_name_t **item) { +dns_message_gettempname(dns_message_t *msg, dns_name_t **item) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(item != NULL && *item == NULL); @@ -2499,7 +2470,8 @@ dns_message_gettempname(dns_message_t *msg, dns_name_t **item) { } isc_result_t -dns_message_gettempoffsets(dns_message_t *msg, dns_offsets_t **item) { +dns_message_gettempoffsets(dns_message_t *msg, dns_offsets_t **item) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(item != NULL && *item == NULL); @@ -2511,7 +2483,8 @@ dns_message_gettempoffsets(dns_message_t *msg, dns_offsets_t **item) { } isc_result_t -dns_message_gettemprdata(dns_message_t *msg, dns_rdata_t **item) { +dns_message_gettemprdata(dns_message_t *msg, dns_rdata_t **item) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(item != NULL && *item == NULL); @@ -2523,7 +2496,8 @@ dns_message_gettemprdata(dns_message_t *msg, dns_rdata_t **item) { } isc_result_t -dns_message_gettemprdataset(dns_message_t *msg, dns_rdataset_t **item) { +dns_message_gettemprdataset(dns_message_t *msg, dns_rdataset_t **item) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(item != NULL && *item == NULL); @@ -2537,7 +2511,8 @@ dns_message_gettemprdataset(dns_message_t *msg, dns_rdataset_t **item) { } isc_result_t -dns_message_gettemprdatalist(dns_message_t *msg, dns_rdatalist_t **item) { +dns_message_gettemprdatalist(dns_message_t *msg, dns_rdatalist_t **item) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(item != NULL && *item == NULL); @@ -2549,7 +2524,8 @@ dns_message_gettemprdatalist(dns_message_t *msg, dns_rdatalist_t **item) { } void -dns_message_puttempname(dns_message_t *msg, dns_name_t **itemp) { +dns_message_puttempname(dns_message_t *msg, dns_name_t **itemp) +{ dns_name_t *item; REQUIRE(DNS_MESSAGE_VALID(msg)); @@ -2565,7 +2541,8 @@ dns_message_puttempname(dns_message_t *msg, dns_name_t **itemp) { } void -dns_message_puttemprdata(dns_message_t *msg, dns_rdata_t **item) { +dns_message_puttemprdata(dns_message_t *msg, dns_rdata_t **item) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(item != NULL && *item != NULL); @@ -2574,7 +2551,8 @@ dns_message_puttemprdata(dns_message_t *msg, dns_rdata_t **item) { } void -dns_message_puttemprdataset(dns_message_t *msg, dns_rdataset_t **item) { +dns_message_puttemprdataset(dns_message_t *msg, dns_rdataset_t **item) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(item != NULL && *item != NULL); @@ -2584,7 +2562,8 @@ dns_message_puttemprdataset(dns_message_t *msg, dns_rdataset_t **item) { } void -dns_message_puttemprdatalist(dns_message_t *msg, dns_rdatalist_t **item) { +dns_message_puttemprdatalist(dns_message_t *msg, dns_rdatalist_t **item) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(item != NULL && *item != NULL); @@ -2596,10 +2575,10 @@ isc_result_t dns_message_peekheader(isc_buffer_t *source, dns_messageid_t *idp, unsigned int *flagsp) { - isc_region_t r; - isc_buffer_t buffer; + isc_region_t r; + isc_buffer_t buffer; dns_messageid_t id; - unsigned int flags; + unsigned int flags; REQUIRE(source != NULL); @@ -2622,7 +2601,8 @@ dns_message_peekheader(isc_buffer_t *source, dns_messageid_t *idp, } isc_result_t -dns_message_reply(dns_message_t *msg, bool want_question_section) { +dns_message_reply(dns_message_t *msg, bool want_question_section) +{ unsigned int clear_from; isc_result_t result; @@ -2631,8 +2611,7 @@ dns_message_reply(dns_message_t *msg, bool want_question_section) { if (!msg->header_ok) return (DNS_R_FORMERR); - if (msg->opcode != dns_opcode_query && - msg->opcode != dns_opcode_notify) + if (msg->opcode != dns_opcode_query && msg->opcode != dns_opcode_notify) want_question_section = false; if (msg->opcode == dns_opcode_update) clear_from = DNS_SECTION_PREREQUISITE; @@ -2687,8 +2666,8 @@ dns_message_reply(dns_message_t *msg, bool want_question_section) { } dns_rdataset_t * -dns_message_getopt(dns_message_t *msg) { - +dns_message_getopt(dns_message_t *msg) +{ /* * Get the OPT record for 'msg'. */ @@ -2699,9 +2678,10 @@ dns_message_getopt(dns_message_t *msg) { } isc_result_t -dns_message_setopt(dns_message_t *msg, dns_rdataset_t *opt) { +dns_message_setopt(dns_message_t *msg, dns_rdataset_t *opt) +{ isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; /* * Set the OPT record for 'msg'. @@ -2743,15 +2723,15 @@ dns_message_setopt(dns_message_t *msg, dns_rdataset_t *opt) { return (ISC_R_SUCCESS); - cleanup: +cleanup: dns_rdataset_disassociate(opt); dns_message_puttemprdataset(msg, &opt); return (result); } dns_rdataset_t * -dns_message_gettsig(dns_message_t *msg, const dns_name_t **owner) { - +dns_message_gettsig(dns_message_t *msg, const dns_name_t **owner) +{ /* * Get the TSIG record and owner for 'msg'. */ @@ -2765,7 +2745,8 @@ dns_message_gettsig(dns_message_t *msg, const dns_name_t **owner) { } isc_result_t -dns_message_settsigkey(dns_message_t *msg, dns_tsigkey_t *key) { +dns_message_settsigkey(dns_message_t *msg, dns_tsigkey_t *key) +{ isc_result_t result; /* @@ -2799,8 +2780,8 @@ dns_message_settsigkey(dns_message_t *msg, dns_tsigkey_t *key) { } dns_tsigkey_t * -dns_message_gettsigkey(dns_message_t *msg) { - +dns_message_gettsigkey(dns_message_t *msg) +{ /* * Get the TSIG key for 'msg' */ @@ -2811,13 +2792,14 @@ dns_message_gettsigkey(dns_message_t *msg) { } isc_result_t -dns_message_setquerytsig(dns_message_t *msg, isc_buffer_t *querytsig) { - dns_rdata_t *rdata = NULL; +dns_message_setquerytsig(dns_message_t *msg, isc_buffer_t *querytsig) +{ + dns_rdata_t * rdata = NULL; dns_rdatalist_t *list = NULL; - dns_rdataset_t *set = NULL; - isc_buffer_t *buf = NULL; - isc_region_t r; - isc_result_t result; + dns_rdataset_t * set = NULL; + isc_buffer_t * buf = NULL; + isc_region_t r; + isc_result_t result; REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(msg->querytsig == NULL); @@ -2852,7 +2834,7 @@ dns_message_setquerytsig(dns_message_t *msg, isc_buffer_t *querytsig) { return (result); - cleanup: +cleanup: if (rdata != NULL) dns_message_puttemprdata(msg, &rdata); if (list != NULL) @@ -2864,9 +2846,10 @@ dns_message_setquerytsig(dns_message_t *msg, isc_buffer_t *querytsig) { isc_result_t dns_message_getquerytsig(dns_message_t *msg, isc_mem_t *mctx, - isc_buffer_t **querytsig) { + isc_buffer_t **querytsig) +{ isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; isc_region_t r; REQUIRE(DNS_MESSAGE_VALID(msg)); @@ -2888,8 +2871,8 @@ dns_message_getquerytsig(dns_message_t *msg, isc_mem_t *mctx, } dns_rdataset_t * -dns_message_getsig0(dns_message_t *msg, const dns_name_t **owner) { - +dns_message_getsig0(dns_message_t *msg, const dns_name_t **owner) +{ /* * Get the SIG(0) record for 'msg'. */ @@ -2911,7 +2894,8 @@ dns_message_getsig0(dns_message_t *msg, const dns_name_t **owner) { } isc_result_t -dns_message_setsig0key(dns_message_t *msg, dst_key_t *key) { +dns_message_setsig0key(dns_message_t *msg, dst_key_t *key) +{ isc_region_t r; unsigned int x; isc_result_t result; @@ -2963,8 +2947,8 @@ dns_message_setsig0key(dns_message_t *msg, dst_key_t *key) { } dst_key_t * -dns_message_getsig0key(dns_message_t *msg) { - +dns_message_getsig0key(dns_message_t *msg) +{ /* * Get the SIG(0) key for 'msg' */ @@ -2975,7 +2959,8 @@ dns_message_getsig0key(dns_message_t *msg) { } void -dns_message_takebuffer(dns_message_t *msg, isc_buffer_t **buffer) { +dns_message_takebuffer(dns_message_t *msg, isc_buffer_t **buffer) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(buffer != NULL); REQUIRE(ISC_BUFFER_VALID(*buffer)); @@ -2985,9 +2970,10 @@ dns_message_takebuffer(dns_message_t *msg, isc_buffer_t **buffer) { } isc_result_t -dns_message_signer(dns_message_t *msg, dns_name_t *signer) { +dns_message_signer(dns_message_t *msg, dns_name_t *signer) +{ isc_result_t result = ISC_R_SUCCESS; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(signer != NULL); @@ -3024,7 +3010,7 @@ dns_message_signer(dns_message_t *msg, dns_name_t *signer) { dns_name_clone(&sig.signer, signer); dns_rdata_freestruct(&sig); } else { - const dns_name_t *identity; + const dns_name_t * identity; dns_rdata_any_tsig_t tsig; result = dns_rdataset_first(msg->tsig); @@ -3033,14 +3019,11 @@ dns_message_signer(dns_message_t *msg, dns_name_t *signer) { result = dns_rdata_tostruct(&rdata, &tsig, NULL); INSIST(result == ISC_R_SUCCESS); - if (msg->verified_sig && - msg->tsigstatus == dns_rcode_noerror && - tsig.error == dns_rcode_noerror) - { + if (msg->verified_sig && msg->tsigstatus == dns_rcode_noerror && + tsig.error == dns_rcode_noerror) { result = ISC_R_SUCCESS; } else if ((!msg->verified_sig) || - (msg->tsigstatus != dns_rcode_noerror)) - { + (msg->tsigstatus != dns_rcode_noerror)) { result = DNS_R_TSIGVERIFYFAILURE; } else { INSIST(tsig.error != dns_rcode_noerror); @@ -3071,7 +3054,8 @@ dns_message_signer(dns_message_t *msg, dns_name_t *signer) { } void -dns_message_resetsig(dns_message_t *msg) { +dns_message_resetsig(dns_message_t *msg) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); msg->verified_sig = 0; msg->verify_attempted = 0; @@ -3085,17 +3069,19 @@ dns_message_resetsig(dns_message_t *msg) { } isc_result_t -dns_message_rechecksig(dns_message_t *msg, dns_view_t *view) { +dns_message_rechecksig(dns_message_t *msg, dns_view_t *view) +{ dns_message_resetsig(msg); return (dns_message_checksig(msg, view)); } #ifdef SKAN_MSG_DEBUG void -dns_message_dumpsig(dns_message_t *msg, char *txt1) { - dns_rdata_t querytsigrdata = DNS_RDATA_INIT; +dns_message_dumpsig(dns_message_t *msg, char *txt1) +{ + dns_rdata_t querytsigrdata = DNS_RDATA_INIT; dns_rdata_any_tsig_t querytsig; - isc_result_t result; + isc_result_t result; if (msg->tsig != NULL) { result = dns_rdataset_first(msg->tsig); @@ -3103,8 +3089,7 @@ dns_message_dumpsig(dns_message_t *msg, char *txt1) { dns_rdataset_current(msg->tsig, &querytsigrdata); result = dns_rdata_tostruct(&querytsigrdata, &querytsig, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); - hexdump(txt1, "TSIG", querytsig.signature, - querytsig.siglen); + hexdump(txt1, "TSIG", querytsig.signature, querytsig.siglen); } if (msg->querytsig != NULL) { @@ -3120,7 +3105,8 @@ dns_message_dumpsig(dns_message_t *msg, char *txt1) { #endif isc_result_t -dns_message_checksig(dns_message_t *msg, dns_view_t *view) { +dns_message_checksig(dns_message_t *msg, dns_view_t *view) +{ isc_buffer_t b, msgb; REQUIRE(DNS_MESSAGE_VALID(msg)); @@ -3140,10 +3126,10 @@ dns_message_checksig(dns_message_t *msg, dns_view_t *view) { else return (dns_tsig_verify(&msgb, msg, NULL, NULL)); } else { - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_sig_t sig; - dns_rdataset_t keyset; - isc_result_t result; + dns_rdataset_t keyset; + isc_result_t result; result = dns_rdataset_first(msg->sig0); INSIST(result == ISC_R_SUCCESS); @@ -3167,8 +3153,8 @@ dns_message_checksig(dns_message_t *msg, dns_view_t *view) { if (view == NULL) return (DNS_R_KEYUNAUTHORIZED); result = dns_view_simplefind(view, &sig.signer, - dns_rdatatype_key /* SIG(0) */, - 0, 0, false, &keyset, NULL); + dns_rdatatype_key /* SIG(0) */, 0, + 0, false, &keyset, NULL); if (result != ISC_R_SUCCESS) { /* XXXBEW Should possibly create a fetch here */ @@ -3181,10 +3167,8 @@ dns_message_checksig(dns_message_t *msg, dns_view_t *view) { } result = dns_rdataset_first(&keyset); INSIST(result == ISC_R_SUCCESS); - for (; - result == ISC_R_SUCCESS; - result = dns_rdataset_next(&keyset)) - { + for (; result == ISC_R_SUCCESS; + result = dns_rdataset_next(&keyset)) { dst_key_t *key = NULL; dns_rdata_reset(&rdata); @@ -3192,15 +3176,14 @@ dns_message_checksig(dns_message_t *msg, dns_view_t *view) { isc_buffer_init(&b, rdata.data, rdata.length); isc_buffer_add(&b, rdata.length); - result = dst_key_fromdns(&sig.signer, rdata.rdclass, - &b, view->mctx, &key); + result = dst_key_fromdns(&sig.signer, rdata.rdclass, &b, + view->mctx, &key); if (result != ISC_R_SUCCESS) continue; if (dst_key_alg(key) != sig.algorithm || dst_key_id(key) != sig.keyid || !(dst_key_proto(key) == DNS_KEYPROTO_DNSSEC || - dst_key_proto(key) == DNS_KEYPROTO_ANY)) - { + dst_key_proto(key) == DNS_KEYPROTO_ANY)) { dst_key_free(&key); continue; } @@ -3212,7 +3195,7 @@ dns_message_checksig(dns_message_t *msg, dns_view_t *view) { if (result == ISC_R_NOMORE) result = DNS_R_KEYUNAUTHORIZED; - freesig: + freesig: if (dns_rdataset_isassociated(&keyset)) dns_rdataset_disassociate(&keyset); dns_rdata_freestruct(&sig); @@ -3220,29 +3203,28 @@ dns_message_checksig(dns_message_t *msg, dns_view_t *view) { } } -#define INDENT(sp) \ - do { \ - unsigned int __i; \ - dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \ - if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL && \ - (__flags & DNS_STYLEFLAG_YAML) == 0ULL) \ - break; \ - for (__i = 0; __i < msg->indent.count; __i++) { \ - ADD_STRING(target, msg->indent.string); \ - } \ +#define INDENT(sp) \ + do { \ + unsigned int __i; \ + dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \ + if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL && \ + (__flags & DNS_STYLEFLAG_YAML) == 0ULL) \ + break; \ + for (__i = 0; __i < msg->indent.count; __i++) { \ + ADD_STRING(target, msg->indent.string); \ + } \ } while (0) isc_result_t dns_message_sectiontotext(dns_message_t *msg, dns_section_t section, const dns_master_style_t *style, - dns_messagetextflag_t flags, - isc_buffer_t *target) + dns_messagetextflag_t flags, isc_buffer_t *target) { - dns_name_t *name, empty_name; - dns_rdataset_t *rdataset; - isc_result_t result = ISC_R_SUCCESS; - bool seensoa = false; - size_t saved_count; + dns_name_t * name, empty_name; + dns_rdataset_t * rdataset; + isc_result_t result = ISC_R_SUCCESS; + bool seensoa = false; + size_t saved_count; dns_masterstyle_flags_t sflags; REQUIRE(DNS_MESSAGE_VALID(msg)); @@ -3286,8 +3268,7 @@ dns_message_sectiontotext(dns_message_t *msg, dns_section_t section, do { name = NULL; dns_message_currentname(msg, section, &name); - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { if (section == DNS_SECTION_ANSWER && rdataset->type == dns_rdatatype_soa) { @@ -3305,16 +3286,12 @@ dns_message_sectiontotext(dns_message_t *msg, dns_section_t section, } else { ADD_STRING(target, ";"); } - result = dns_master_questiontotext(name, - rdataset, - style, - target); + result = dns_master_questiontotext( + name, rdataset, style, target); } else { - result = dns_master_rdatasettotext(name, - rdataset, - style, - &msg->indent, - target); + result = dns_master_rdatasettotext( + name, rdataset, style, &msg->indent, + target); } if (result != ISC_R_SUCCESS) goto cleanup; @@ -3326,25 +3303,25 @@ dns_message_sectiontotext(dns_message_t *msg, dns_section_t section, } if ((flags & DNS_MESSAGETEXTFLAG_NOHEADERS) == 0 && (flags & DNS_MESSAGETEXTFLAG_NOCOMMENTS) == 0 && - (sflags & DNS_STYLEFLAG_YAML) == 0) - { + (sflags & DNS_STYLEFLAG_YAML) == 0) { INDENT(style); ADD_STRING(target, "\n"); } if (result == ISC_R_NOMORE) result = ISC_R_SUCCESS; - cleanup: +cleanup: msg->indent.count = saved_count; return (result); } static isc_result_t -render_ecs(isc_buffer_t *ecsbuf, isc_buffer_t *target) { - int i; - char addr[16], addr_text[64]; - uint16_t family; - uint8_t addrlen, addrbytes, scopelen; +render_ecs(isc_buffer_t *ecsbuf, isc_buffer_t *target) +{ + int i; + char addr[16], addr_text[64]; + uint16_t family; + uint8_t addrlen, addrbytes, scopelen; isc_result_t result; /* @@ -3365,7 +3342,7 @@ render_ecs(isc_buffer_t *ecsbuf, isc_buffer_t *target) { return (DNS_R_OPTERR); memset(addr, 0, sizeof(addr)); - for (i = 0; i < addrbytes; i ++) + for (i = 0; i < addrbytes; i++) addr[i] = isc_buffer_getuint8(ecsbuf); switch (family) { @@ -3395,16 +3372,17 @@ render_ecs(isc_buffer_t *ecsbuf, isc_buffer_t *target) { result = ISC_R_SUCCESS; - cleanup: +cleanup: return (result); } static isc_result_t -render_llq(isc_buffer_t *optbuf, isc_buffer_t *target) { - char buf[sizeof("18446744073709551615")]; /* 2^64-1 */ +render_llq(isc_buffer_t *optbuf, isc_buffer_t *target) +{ + char buf[sizeof("18446744073709551615")]; /* 2^64-1 */ isc_result_t result = ISC_R_SUCCESS; - uint32_t u; - uint64_t q; + uint32_t u; + uint64_t q; u = isc_buffer_getuint16(optbuf); ADD_STRING(target, " Version: "); @@ -3432,27 +3410,26 @@ render_llq(isc_buffer_t *optbuf, isc_buffer_t *target) { ADD_STRING(target, ", Lifetime: "); snprintf(buf, sizeof(buf), "%u", u); ADD_STRING(target, buf); - cleanup: +cleanup: return (result); } static isc_result_t -dns_message_pseudosectiontoyaml(dns_message_t *msg, - dns_pseudosection_t section, +dns_message_pseudosectiontoyaml(dns_message_t *msg, dns_pseudosection_t section, const dns_master_style_t *style, - dns_messagetextflag_t flags, - isc_buffer_t *target) + dns_messagetextflag_t flags, + isc_buffer_t * target) { - dns_rdataset_t *ps = NULL; + dns_rdataset_t * ps = NULL; const dns_name_t *name = NULL; - isc_result_t result = ISC_R_SUCCESS; - char buf[sizeof("1234567890")]; - uint32_t mbz; - dns_rdata_t rdata; - isc_buffer_t optbuf; - uint16_t optcode, optlen; - size_t saved_count; - unsigned char *optdata; + isc_result_t result = ISC_R_SUCCESS; + char buf[sizeof("1234567890")]; + uint32_t mbz; + dns_rdata_t rdata; + isc_buffer_t optbuf; + uint16_t optcode, optlen; + size_t saved_count; + unsigned char * optdata; REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(target != NULL); @@ -3487,7 +3464,7 @@ dns_message_pseudosectiontoyaml(dns_message_t *msg, ADD_STRING(target, " do"); ADD_STRING(target, "\n"); mbz = ps->ttl & 0xffff; - mbz &= ~DNS_MESSAGEEXTFLAG_DO; /* Known Flags. */ + mbz &= ~DNS_MESSAGEEXTFLAG_DO; /* Known Flags. */ if (mbz != 0) { INDENT(style); ADD_STRING(target, "MBZ: "); @@ -3596,14 +3573,15 @@ dns_message_pseudosectiontoyaml(dns_message_t *msg, ADD_STRING(target, "KEY-TAG:"); if (optlen > 0U && (optlen % 2U) == 0U) { const char *sep = ""; - uint16_t id; + uint16_t id; while (optlen > 0U) { - id = isc_buffer_getuint16(&optbuf); - snprintf(buf, sizeof(buf), "%s %u", - sep, id); - ADD_STRING(target, buf); - sep = ","; - optlen -= 2; + id = isc_buffer_getuint16( + &optbuf); + snprintf(buf, sizeof(buf), + "%s %u", sep, id); + ADD_STRING(target, buf); + sep = ","; + optlen -= 2; } ADD_STRING(target, "\n"); continue; @@ -3694,16 +3672,15 @@ dns_message_pseudosectiontoyaml(dns_message_t *msg, * version */ ADD_STRING(target, "(\""); - if (isc_buffer_availablelength(target) < optlen) - { + if (isc_buffer_availablelength(target) < + optlen) { result = ISC_R_NOSPACE; goto cleanup; } for (i = 0; i < optlen; i++) { if (isprint(optdata[i])) - isc_buffer_putmem(target, - &optdata[i], - 1); + isc_buffer_putmem( + target, &optdata[i], 1); else isc_buffer_putstr(target, "."); } @@ -3743,27 +3720,26 @@ dns_message_pseudosectiontoyaml(dns_message_t *msg, result = ISC_R_UNEXPECTED; - cleanup: +cleanup: msg->indent.count = saved_count; return (result); } isc_result_t -dns_message_pseudosectiontotext(dns_message_t *msg, - dns_pseudosection_t section, +dns_message_pseudosectiontotext(dns_message_t *msg, dns_pseudosection_t section, const dns_master_style_t *style, - dns_messagetextflag_t flags, - isc_buffer_t *target) + dns_messagetextflag_t flags, + isc_buffer_t * target) { - dns_rdataset_t *ps = NULL; + dns_rdataset_t * ps = NULL; const dns_name_t *name = NULL; - isc_result_t result; - char buf[sizeof(" (65000 bytes)")]; - uint32_t mbz; - dns_rdata_t rdata; - isc_buffer_t optbuf; - uint16_t optcode, optlen; - unsigned char *optdata; + isc_result_t result; + char buf[sizeof(" (65000 bytes)")]; + uint32_t mbz; + dns_rdata_t rdata; + isc_buffer_t optbuf; + uint16_t optcode, optlen; + unsigned char * optdata; REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(target != NULL); @@ -3793,7 +3769,7 @@ dns_message_pseudosectiontotext(dns_message_t *msg, if ((ps->ttl & DNS_MESSAGEEXTFLAG_DO) != 0) ADD_STRING(target, " do"); mbz = ps->ttl & 0xffff; - mbz &= ~DNS_MESSAGEEXTFLAG_DO; /* Known Flags. */ + mbz &= ~DNS_MESSAGEEXTFLAG_DO; /* Known Flags. */ if (mbz != 0) { ADD_STRING(target, "; MBZ: "); snprintf(buf, sizeof(buf), "0x%.4x", mbz); @@ -3900,14 +3876,15 @@ dns_message_pseudosectiontotext(dns_message_t *msg, ADD_STRING(target, "; KEY-TAG:"); if (optlen > 0U && (optlen % 2U) == 0U) { const char *sep = ""; - uint16_t id; + uint16_t id; while (optlen > 0U) { - id = isc_buffer_getuint16(&optbuf); - snprintf(buf, sizeof(buf), "%s %u", - sep, id); - ADD_STRING(target, buf); - sep = ","; - optlen -= 2; + id = isc_buffer_getuint16( + &optbuf); + snprintf(buf, sizeof(buf), + "%s %u", sep, id); + ADD_STRING(target, buf); + sep = ","; + optlen -= 2; } ADD_STRING(target, "\n"); continue; @@ -3999,9 +3976,8 @@ dns_message_pseudosectiontotext(dns_message_t *msg, return (ISC_R_NOSPACE); for (i = 0; i < optlen; i++) { if (isprint(optdata[i])) - isc_buffer_putmem(target, - &optdata[i], - 1); + isc_buffer_putmem( + target, &optdata[i], 1); else isc_buffer_putstr(target, "."); } @@ -4038,7 +4014,7 @@ dns_message_pseudosectiontotext(dns_message_t *msg, return (result); } result = ISC_R_UNEXPECTED; - cleanup: +cleanup: return (result); } @@ -4046,7 +4022,7 @@ isc_result_t dns_message_headertotext(dns_message_t *msg, const dns_master_style_t *style, dns_messagetextflag_t flags, isc_buffer_t *target) { - char buf[sizeof("1234567890")]; + char buf[sizeof("1234567890")]; isc_result_t result; REQUIRE(DNS_MESSAGE_VALID(msg)); @@ -4134,13 +4110,13 @@ dns_message_headertotext(dns_message_t *msg, const dns_master_style_t *style, ADD_STRING(target, "UPDATE: "); } snprintf(buf, sizeof(buf), "%1u", - msg->counts[DNS_SECTION_AUTHORITY]); + msg->counts[DNS_SECTION_AUTHORITY]); ADD_STRING(target, buf); ADD_STRING(target, "\n"); INDENT(style); ADD_STRING(target, "ADDITIONAL: "); snprintf(buf, sizeof(buf), "%1u", - msg->counts[DNS_SECTION_ADDITIONAL]); + msg->counts[DNS_SECTION_ADDITIONAL]); ADD_STRING(target, buf); ADD_STRING(target, "\n"); } else { @@ -4210,16 +4186,16 @@ dns_message_headertotext(dns_message_t *msg, const dns_master_style_t *style, ADD_STRING(target, ", UPDATE: "); } snprintf(buf, sizeof(buf), "%1u", - msg->counts[DNS_SECTION_AUTHORITY]); + msg->counts[DNS_SECTION_AUTHORITY]); ADD_STRING(target, buf); ADD_STRING(target, ", ADDITIONAL: "); snprintf(buf, sizeof(buf), "%1u", - msg->counts[DNS_SECTION_ADDITIONAL]); + msg->counts[DNS_SECTION_ADDITIONAL]); ADD_STRING(target, buf); ADD_STRING(target, "\n"); } - cleanup: +cleanup: return (result); } @@ -4243,26 +4219,26 @@ dns_message_totext(dns_message_t *msg, const dns_master_style_t *style, return (result); } - result = dns_message_sectiontotext(msg, DNS_SECTION_QUESTION, - style, flags, target); + result = dns_message_sectiontotext(msg, DNS_SECTION_QUESTION, style, + flags, target); if (result != ISC_R_SUCCESS) { return (result); } - result = dns_message_sectiontotext(msg, DNS_SECTION_ANSWER, - style, flags, target); + result = dns_message_sectiontotext(msg, DNS_SECTION_ANSWER, style, + flags, target); if (result != ISC_R_SUCCESS) { return (result); } - result = dns_message_sectiontotext(msg, DNS_SECTION_AUTHORITY, - style, flags, target); + result = dns_message_sectiontotext(msg, DNS_SECTION_AUTHORITY, style, + flags, target); if (result != ISC_R_SUCCESS) { return (result); } - result = dns_message_sectiontotext(msg, DNS_SECTION_ADDITIONAL, - style, flags, target); + result = dns_message_sectiontotext(msg, DNS_SECTION_ADDITIONAL, style, + flags, target); if (result != ISC_R_SUCCESS) { return (result); } @@ -4279,7 +4255,8 @@ dns_message_totext(dns_message_t *msg, const dns_master_style_t *style, } isc_region_t * -dns_message_getrawmessage(dns_message_t *msg) { +dns_message_getrawmessage(dns_message_t *msg) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); return (&msg->saved); } @@ -4300,20 +4277,22 @@ dns_message_setsortorder(dns_message_t *msg, dns_rdatasetorderfunc_t order, } void -dns_message_settimeadjust(dns_message_t *msg, int timeadjust) { +dns_message_settimeadjust(dns_message_t *msg, int timeadjust) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); msg->timeadjust = timeadjust; } int -dns_message_gettimeadjust(dns_message_t *msg) { +dns_message_gettimeadjust(dns_message_t *msg) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); return (msg->timeadjust); } isc_result_t -dns_opcode_totext(dns_opcode_t opcode, isc_buffer_t *target) { - +dns_opcode_totext(dns_opcode_t opcode, isc_buffer_t *target) +{ REQUIRE(opcode < 16); if (isc_buffer_availablelength(target) < strlen(opcodetext[opcode])) @@ -4323,8 +4302,8 @@ dns_opcode_totext(dns_opcode_t opcode, isc_buffer_t *target) { } void -dns_message_logpacket(dns_message_t *message, - const char *description, const isc_sockaddr_t *address, +dns_message_logpacket(dns_message_t *message, const char *description, + const isc_sockaddr_t *address, isc_logcategory_t *category, isc_logmodule_t *module, int level, isc_mem_t *mctx) { @@ -4335,8 +4314,7 @@ dns_message_logpacket(dns_message_t *message, } void -dns_message_logfmtpacket(dns_message_t *message, - const char *description, +dns_message_logfmtpacket(dns_message_t *message, const char *description, const isc_sockaddr_t *address, isc_logcategory_t *category, isc_logmodule_t *module, const dns_master_style_t *style, int level, @@ -4354,15 +4332,15 @@ logfmtpacket(dns_message_t *message, const char *description, isc_logmodule_t *module, const dns_master_style_t *style, int level, isc_mem_t *mctx) { - char addrbuf[ISC_SOCKADDR_FORMATSIZE] = { 0 }; - const char *newline = "\n"; - const char *space = " "; + char addrbuf[ISC_SOCKADDR_FORMATSIZE] = { 0 }; + const char * newline = "\n"; + const char * space = " "; isc_buffer_t buffer; - char *buf = NULL; - int len = 1024; + char * buf = NULL; + int len = 1024; isc_result_t result; - if (! isc_log_wouldlog(dns_lctx, level)) + if (!isc_log_wouldlog(dns_lctx, level)) return; /* @@ -4386,8 +4364,7 @@ logfmtpacket(dns_message_t *message, const char *description, isc_log_write(dns_lctx, category, module, level, "%s%s%s%s%.*s", description, space, addrbuf, newline, - (int)isc_buffer_usedlength(&buffer), - buf); + (int)isc_buffer_usedlength(&buffer), buf); } while (result == ISC_R_NOSPACE); if (buf != NULL) @@ -4396,14 +4373,14 @@ logfmtpacket(dns_message_t *message, const char *description, isc_result_t dns_message_buildopt(dns_message_t *message, dns_rdataset_t **rdatasetp, - unsigned int version, uint16_t udpsize, - unsigned int flags, dns_ednsopt_t *ednsopts, size_t count) + unsigned int version, uint16_t udpsize, unsigned int flags, + dns_ednsopt_t *ednsopts, size_t count) { - dns_rdataset_t *rdataset = NULL; + dns_rdataset_t * rdataset = NULL; dns_rdatalist_t *rdatalist = NULL; - dns_rdata_t *rdata = NULL; - isc_result_t result; - unsigned int len = 0, i; + dns_rdata_t * rdata = NULL; + isc_result_t result; + unsigned int len = 0, i; REQUIRE(DNS_MESSAGE_VALID(message)); REQUIRE(rdatasetp != NULL && *rdatasetp == NULL); @@ -4436,7 +4413,7 @@ dns_message_buildopt(dns_message_t *message, dns_rdataset_t **rdatasetp, */ if (count != 0U) { isc_buffer_t *buf = NULL; - bool seenpad = false; + bool seenpad = false; for (i = 0; i < count; i++) len += ednsopts[i].length + 4; @@ -4447,10 +4424,9 @@ dns_message_buildopt(dns_message_t *message, dns_rdataset_t **rdatasetp, isc_buffer_allocate(message->mctx, &buf, len); - for (i = 0; i < count; i++) { + for (i = 0; i < count; i++) { if (ednsopts[i].code == DNS_OPT_PAD && - ednsopts[i].length == 0U && !seenpad) - { + ednsopts[i].length == 0U && !seenpad) { seenpad = true; continue; } @@ -4488,7 +4464,7 @@ dns_message_buildopt(dns_message_t *message, dns_rdataset_t **rdatasetp, *rdatasetp = rdataset; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (rdata != NULL) dns_message_puttemprdata(message, &rdata); if (rdataset != NULL) @@ -4499,8 +4475,8 @@ dns_message_buildopt(dns_message_t *message, dns_rdataset_t **rdatasetp, } void -dns_message_setclass(dns_message_t *msg, dns_rdataclass_t rdclass) { - +dns_message_setclass(dns_message_t *msg, dns_rdataclass_t rdclass) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); REQUIRE(msg->from_to_wire == DNS_MESSAGE_INTENTPARSE); REQUIRE(msg->state == DNS_SECTION_ANY); @@ -4511,7 +4487,8 @@ dns_message_setclass(dns_message_t *msg, dns_rdataclass_t rdclass) { } void -dns_message_setpadding(dns_message_t *msg, uint16_t padding) { +dns_message_setpadding(dns_message_t *msg, uint16_t padding) +{ REQUIRE(DNS_MESSAGE_VALID(msg)); /* Avoid silly large padding */ diff --git a/lib/dns/name.c b/lib/dns/name.c index 82b546429e..3db49f843c 100644 --- a/lib/dns/name.c +++ b/lib/dns/name.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -32,7 +31,7 @@ #include #include -#define VALID_NAME(n) ISC_MAGIC_VALID(n, DNS_NAME_MAGIC) +#define VALID_NAME(n) ISC_MAGIC_VALID(n, DNS_NAME_MAGIC) typedef enum { ft_init = 0, @@ -44,17 +43,13 @@ typedef enum { ft_at } ft_state; -typedef enum { - fw_start = 0, - fw_ordinary, - fw_newcurrent -} fw_state; +typedef enum { fw_start = 0, fw_ordinary, fw_newcurrent } fw_state; static char digitvalue[256] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /*16*/ + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /*16*/ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /*32*/ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /*48*/ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1, /*64*/ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1, /*64*/ -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, /*80*/ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /*96*/ -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, /*112*/ @@ -70,76 +65,66 @@ static char digitvalue[256] = { }; static unsigned char maptolower[] = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, - 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, - 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, - 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, - 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, - 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, - 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, - 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, - 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, - 0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, - 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, - 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, - 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, - 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, - 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, - 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, - 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, - 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, - 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, - 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, - 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, - 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, - 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, - 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, - 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, - 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, - 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, + 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, + 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, + 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, + 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, + 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, + 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, + 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, + 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, + 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, + 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, + 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, + 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, + 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, + 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, + 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, + 0xfc, 0xfd, 0xfe, 0xff }; #define CONVERTTOASCII(c) #define CONVERTFROMASCII(c) #define INIT_OFFSETS(name, var, default_offsets) \ - if ((name)->offsets != NULL) \ - var = (name)->offsets; \ - else \ + if ((name)->offsets != NULL) \ + var = (name)->offsets; \ + else \ var = (default_offsets); #define SETUP_OFFSETS(name, var, default_offsets) \ - if ((name)->offsets != NULL) \ - var = (name)->offsets; \ - else { \ - var = (default_offsets); \ - set_offsets(name, var, NULL); \ + if ((name)->offsets != NULL) \ + var = (name)->offsets; \ + else { \ + var = (default_offsets); \ + set_offsets(name, var, NULL); \ } /*% * Note: If additional attributes are added that should not be set for * empty names, MAKE_EMPTY() must be changed so it clears them. */ -#define MAKE_EMPTY(name) \ -do { \ - name->ndata = NULL; \ - name->length = 0; \ - name->labels = 0; \ - name->attributes &= ~DNS_NAMEATTR_ABSOLUTE; \ -} while (0); +#define MAKE_EMPTY(name) \ + do { \ + name->ndata = NULL; \ + name->length = 0; \ + name->labels = 0; \ + name->attributes &= ~DNS_NAMEATTR_ABSOLUTE; \ + } while (0); /*% * A name is "bindable" if it can be set to point to a new value, i.e. * name->ndata and name->length may be changed. */ -#define BINDABLE(name) \ - ((name->attributes & (DNS_NAMEATTR_READONLY|DNS_NAMEATTR_DYNAMIC)) \ - == 0) +#define BINDABLE(name) \ + ((name->attributes & \ + (DNS_NAMEATTR_READONLY | DNS_NAMEATTR_DYNAMIC)) == 0) /*% * Note that the name data must be a char array, not a string @@ -170,7 +155,8 @@ set_offsets(const dns_name_t *name, unsigned char *offsets, dns_name_t *set_name); void -dns_name_init(dns_name_t *name, unsigned char *offsets) { +dns_name_init(dns_name_t *name, unsigned char *offsets) +{ /* * Initialize 'name'. */ @@ -178,7 +164,8 @@ dns_name_init(dns_name_t *name, unsigned char *offsets) { } void -dns_name_reset(dns_name_t *name) { +dns_name_reset(dns_name_t *name) +{ REQUIRE(VALID_NAME(name)); REQUIRE(BINDABLE(name)); @@ -186,7 +173,8 @@ dns_name_reset(dns_name_t *name) { } void -dns_name_invalidate(dns_name_t *name) { +dns_name_invalidate(dns_name_t *name) +{ /* * Make 'name' invalid. */ @@ -204,9 +192,10 @@ dns_name_invalidate(dns_name_t *name) { } bool -dns_name_isvalid(const dns_name_t *name) { +dns_name_isvalid(const dns_name_t *name) +{ unsigned char *ndata, *offsets; - unsigned int offset, count, length, nlabels; + unsigned int offset, count, length, nlabels; if (!VALID_NAME(name)) return (false); @@ -244,20 +233,21 @@ dns_name_isvalid(const dns_name_t *name) { } void -dns_name_setbuffer(dns_name_t *name, isc_buffer_t *buffer) { +dns_name_setbuffer(dns_name_t *name, isc_buffer_t *buffer) +{ /* * Dedicate a buffer for use with 'name'. */ REQUIRE(VALID_NAME(name)); - REQUIRE((buffer != NULL && name->buffer == NULL) || - (buffer == NULL)); + REQUIRE((buffer != NULL && name->buffer == NULL) || (buffer == NULL)); name->buffer = buffer; } bool -dns_name_hasbuffer(const dns_name_t *name) { +dns_name_hasbuffer(const dns_name_t *name) +{ /* * Does 'name' have a dedicated buffer? */ @@ -271,8 +261,8 @@ dns_name_hasbuffer(const dns_name_t *name) { } bool -dns_name_isabsolute(const dns_name_t *name) { - +dns_name_isabsolute(const dns_name_t *name) +{ /* * Does 'name' end in the root label? */ @@ -286,18 +276,19 @@ dns_name_isabsolute(const dns_name_t *name) { #define hyphenchar(c) ((c) == 0x2d) #define asterchar(c) ((c) == 0x2a) -#define alphachar(c) (((c) >= 0x41 && (c) <= 0x5a) \ - || ((c) >= 0x61 && (c) <= 0x7a)) +#define alphachar(c) \ + (((c) >= 0x41 && (c) <= 0x5a) || ((c) >= 0x61 && (c) <= 0x7a)) #define digitchar(c) ((c) >= 0x30 && (c) <= 0x39) #define borderchar(c) (alphachar(c) || digitchar(c)) #define middlechar(c) (borderchar(c) || hyphenchar(c)) #define domainchar(c) ((c) > 0x20 && (c) < 0x7f) bool -dns_name_ismailbox(const dns_name_t *name) { +dns_name_ismailbox(const dns_name_t *name) +{ unsigned char *ndata, ch; - unsigned int n; - bool first; + unsigned int n; + bool first; REQUIRE(VALID_NAME(name)); REQUIRE(name->labels > 0); @@ -344,10 +335,11 @@ dns_name_ismailbox(const dns_name_t *name) { } bool -dns_name_ishostname(const dns_name_t *name, bool wildcard) { +dns_name_ishostname(const dns_name_t *name, bool wildcard) +{ unsigned char *ndata, ch; - unsigned int n; - bool first; + unsigned int n; + bool first; REQUIRE(VALID_NAME(name)); REQUIRE(name->labels > 0); @@ -389,7 +381,8 @@ dns_name_ishostname(const dns_name_t *name, bool wildcard) { } bool -dns_name_iswildcard(const dns_name_t *name) { +dns_name_iswildcard(const dns_name_t *name) +{ unsigned char *ndata; /* @@ -409,10 +402,11 @@ dns_name_iswildcard(const dns_name_t *name) { } bool -dns_name_internalwildcard(const dns_name_t *name) { +dns_name_internalwildcard(const dns_name_t *name) +{ unsigned char *ndata; - unsigned int count; - unsigned int label; + unsigned int count; + unsigned int label; /* * Does 'name' contain a internal wildcard? @@ -444,7 +438,8 @@ dns_name_internalwildcard(const dns_name_t *name) { } unsigned int -dns_name_hash(const dns_name_t *name, bool case_sensitive) { +dns_name_hash(const dns_name_t *name, bool case_sensitive) +{ unsigned int length; /* @@ -465,7 +460,8 @@ dns_name_hash(const dns_name_t *name, bool case_sensitive) { } unsigned int -dns_name_fullhash(const dns_name_t *name, bool case_sensitive) { +dns_name_fullhash(const dns_name_t *name, bool case_sensitive) +{ /* * Provide a hash value for 'name'. */ @@ -482,11 +478,11 @@ dns_namereln_t dns_name_fullcompare(const dns_name_t *name1, const dns_name_t *name2, int *orderp, unsigned int *nlabelsp) { - unsigned int l1, l2, l, count1, count2, count, nlabels; - int cdiff, ldiff, chdiff; + unsigned int l1, l2, l, count1, count2, count, nlabels; + int cdiff, ldiff, chdiff; unsigned char *label1, *label2; unsigned char *offsets1, *offsets2; - dns_offsets_t odata1, odata2; + dns_offsets_t odata1, odata2; dns_namereln_t namereln = dns_namereln_none; /* @@ -609,7 +605,7 @@ dns_name_fullcompare(const dns_name_t *name1, const dns_name_t *name2, *nlabelsp = nlabels; return (namereln); - done: +done: *nlabelsp = nlabels; if (nlabels > 0) namereln = dns_namereln_commonancestor; @@ -618,8 +614,9 @@ dns_name_fullcompare(const dns_name_t *name1, const dns_name_t *name2, } int -dns_name_compare(const dns_name_t *name1, const dns_name_t *name2) { - int order; +dns_name_compare(const dns_name_t *name1, const dns_name_t *name2) +{ + int order; unsigned int nlabels; /* @@ -638,9 +635,10 @@ dns_name_compare(const dns_name_t *name1, const dns_name_t *name2) { } bool -dns_name_equal(const dns_name_t *name1, const dns_name_t *name2) { - unsigned int l, count; - unsigned char c; +dns_name_equal(const dns_name_t *name1, const dns_name_t *name2) +{ + unsigned int l, count; + unsigned char c; unsigned char *label1, *label2; /* @@ -709,8 +707,8 @@ dns_name_equal(const dns_name_t *name1, const dns_name_t *name2) { } bool -dns_name_caseequal(const dns_name_t *name1, const dns_name_t *name2) { - +dns_name_caseequal(const dns_name_t *name1, const dns_name_t *name2) +{ /* * Are 'name1' and 'name2' equal? * @@ -738,9 +736,10 @@ dns_name_caseequal(const dns_name_t *name1, const dns_name_t *name2) { } int -dns_name_rdatacompare(const dns_name_t *name1, const dns_name_t *name2) { - unsigned int l1, l2, l, count1, count2, count; - unsigned char c1, c2; +dns_name_rdatacompare(const dns_name_t *name1, const dns_name_t *name2) +{ + unsigned int l1, l2, l, count1, count2, count; + unsigned char c1, c2; unsigned char *label1, *label2; /* @@ -796,9 +795,10 @@ dns_name_rdatacompare(const dns_name_t *name1, const dns_name_t *name2) { } bool -dns_name_issubdomain(const dns_name_t *name1, const dns_name_t *name2) { - int order; - unsigned int nlabels; +dns_name_issubdomain(const dns_name_t *name1, const dns_name_t *name2) +{ + int order; + unsigned int nlabels; dns_namereln_t namereln; /* @@ -819,10 +819,11 @@ dns_name_issubdomain(const dns_name_t *name1, const dns_name_t *name2) { } bool -dns_name_matcheswildcard(const dns_name_t *name, const dns_name_t *wname) { - int order; +dns_name_matcheswildcard(const dns_name_t *name, const dns_name_t *wname) +{ + int order; unsigned int nlabels, labels; - dns_name_t tname; + dns_name_t tname; REQUIRE(VALID_NAME(name)); REQUIRE(name->labels > 0); @@ -831,8 +832,8 @@ dns_name_matcheswildcard(const dns_name_t *name, const dns_name_t *wname) { REQUIRE(labels > 0); REQUIRE(dns_name_iswildcard(wname)); -#if defined(__clang__) && \ - ( __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 2)) +#if defined(__clang__) && \ + (__clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 2)) memset(&tname, 0, sizeof(tname)); #endif DNS_NAME_INIT(&tname, NULL); @@ -844,7 +845,8 @@ dns_name_matcheswildcard(const dns_name_t *name, const dns_name_t *wname) { } unsigned int -dns_name_countlabels(const dns_name_t *name) { +dns_name_countlabels(const dns_name_t *name) +{ /* * How many labels does 'name' have? */ @@ -857,9 +859,10 @@ dns_name_countlabels(const dns_name_t *name) { } void -dns_name_getlabel(const dns_name_t *name, unsigned int n, dns_label_t *label) { +dns_name_getlabel(const dns_name_t *name, unsigned int n, dns_label_t *label) +{ unsigned char *offsets; - dns_offsets_t odata; + dns_offsets_t odata; /* * Make 'label' refer to the 'n'th least significant label of 'name'. @@ -880,13 +883,12 @@ dns_name_getlabel(const dns_name_t *name, unsigned int n, dns_label_t *label) { } void -dns_name_getlabelsequence(const dns_name_t *source, - unsigned int first, unsigned int n, - dns_name_t *target) +dns_name_getlabelsequence(const dns_name_t *source, unsigned int first, + unsigned int n, dns_name_t *target) { unsigned char *p, l; - unsigned int firstoffset, endoffset; - unsigned int i; + unsigned int firstoffset, endoffset; + unsigned int i; /* * Make 'target' refer to the 'n' labels including and following @@ -936,14 +938,13 @@ dns_name_getlabelsequence(const dns_name_t *source, * a prefix of source, the offsets table is correct already * so we don't need to call set_offsets(). */ - if (target->offsets != NULL && - (target != source || first != 0)) + if (target->offsets != NULL && (target != source || first != 0)) set_offsets(target, target->offsets, NULL); } void -dns_name_clone(const dns_name_t *source, dns_name_t *target) { - +dns_name_clone(const dns_name_t *source, dns_name_t *target) +{ /* * Make 'target' refer to the same name as 'source'. */ @@ -955,7 +956,8 @@ dns_name_clone(const dns_name_t *source, dns_name_t *target) { target->ndata = source->ndata; target->length = source->length; target->labels = source->labels; - target->attributes = source->attributes & + target->attributes = + source->attributes & (unsigned int)~(DNS_NAMEATTR_READONLY | DNS_NAMEATTR_DYNAMIC | DNS_NAMEATTR_DYNOFFSETS); if (target->offsets != NULL && source->labels > 0) { @@ -968,11 +970,12 @@ dns_name_clone(const dns_name_t *source, dns_name_t *target) { } void -dns_name_fromregion(dns_name_t *name, const isc_region_t *r) { +dns_name_fromregion(dns_name_t *name, const isc_region_t *r) +{ unsigned char *offsets; - dns_offsets_t odata; - unsigned int len; - isc_region_t r2; + dns_offsets_t odata; + unsigned int len; + isc_region_t r2; /* * Make 'name' refer to region 'r'. @@ -996,8 +999,9 @@ dns_name_fromregion(dns_name_t *name, const isc_region_t *r) { name->length = len; } else { name->ndata = r->base; - name->length = (r->length <= DNS_NAME_MAXWIRE) ? - r->length : DNS_NAME_MAXWIRE; + name->length = (r->length <= DNS_NAME_MAXWIRE) + ? r->length + : DNS_NAME_MAXWIRE; } if (r->length > 0) @@ -1012,7 +1016,8 @@ dns_name_fromregion(dns_name_t *name, const isc_region_t *r) { } void -dns_name_toregion(const dns_name_t *name, isc_region_t *r) { +dns_name_toregion(const dns_name_t *name, isc_region_t *r) +{ /* * Make 'r' refer to 'name'. */ @@ -1029,16 +1034,16 @@ dns_name_fromtext(dns_name_t *name, isc_buffer_t *source, isc_buffer_t *target) { unsigned char *ndata, *label = NULL; - char *tdata; - char c; - ft_state state; - unsigned int value = 0, count = 0; - unsigned int n1 = 0, n2 = 0; - unsigned int tlen, nrem, nused, digits = 0, labels, tused; - bool done; + char * tdata; + char c; + ft_state state; + unsigned int value = 0, count = 0; + unsigned int n1 = 0, n2 = 0; + unsigned int tlen, nrem, nused, digits = 0, labels, tused; + bool done; unsigned char *offsets; - dns_offsets_t odata; - bool downcase; + dns_offsets_t odata; + bool downcase; /* * Convert the textual representation of a DNS name at source @@ -1207,8 +1212,8 @@ dns_name_fromtext(dns_name_t *name, isc_buffer_t *source, } break; default: - FATAL_ERROR(__FILE__, __LINE__, - "Unexpected state %d", state); + FATAL_ERROR(__FILE__, __LINE__, "Unexpected state %d", + state); /* Does not return. */ } } @@ -1280,7 +1285,8 @@ dns_name_totext(const dns_name_t *name, bool omit_final_dot, } isc_result_t -dns_name_toprincipal(const dns_name_t *name, isc_buffer_t *target) { +dns_name_toprincipal(const dns_name_t *name, isc_buffer_t *target) +{ return (dns_name_totext2(name, DNS_NAME_OMITFINALDOT, target)); } @@ -1289,13 +1295,13 @@ dns_name_totext2(const dns_name_t *name, unsigned int options, isc_buffer_t *target) { unsigned char *ndata; - char *tdata; - unsigned int nlen, tlen; - unsigned char c; - unsigned int trem, count; - unsigned int labels; - bool saw_root = false; - unsigned int oused; + char * tdata; + unsigned int nlen, tlen; + unsigned char c; + unsigned int trem, count; + unsigned int labels; + bool saw_root = false; + unsigned int oused; bool omit_final_dot = ((options & DNS_NAME_OMITFINALDOT) != 0); /* @@ -1372,7 +1378,8 @@ dns_name_totext2(const dns_name_t *name, unsigned int options, /* Special modifiers in zone files. */ case 0x40: /* '@' */ case 0x24: /* '$' */ - if ((options & DNS_NAME_MASTERFILE) == 0) + if ((options & DNS_NAME_MASTERFILE) == + 0) goto no_escape; /* FALLTHROUGH */ case 0x22: /* '"' */ @@ -1404,10 +1411,10 @@ dns_name_totext2(const dns_name_t *name, unsigned int options, if (trem < 4) return (ISC_R_NOSPACE); *tdata++ = 0x5c; - *tdata++ = 0x30 + - ((c / 100) % 10); - *tdata++ = 0x30 + - ((c / 10) % 10); + *tdata++ = + 0x30 + ((c / 100) % 10); + *tdata++ = + 0x30 + ((c / 10) % 10); *tdata++ = 0x30 + (c % 10); trem -= 4; ndata++; @@ -1458,11 +1465,11 @@ dns_name_tofilenametext(const dns_name_t *name, bool omit_final_dot, isc_buffer_t *target) { unsigned char *ndata; - char *tdata; - unsigned int nlen, tlen; - unsigned char c; - unsigned int trem, count; - unsigned int labels; + char * tdata; + unsigned int nlen, tlen; + unsigned char c; + unsigned int trem, count; + unsigned int labels; /* * This function assumes the name is in proper uncompressed @@ -1508,7 +1515,7 @@ dns_name_tofilenametext(const dns_name_t *name, bool omit_final_dot, while (count > 0) { c = *ndata; if ((c >= 0x30 && c <= 0x39) || /* digit */ - (c >= 0x41 && c <= 0x5A) || /* uppercase */ + (c >= 0x41 && c <= 0x5A) || /* uppercase */ (c >= 0x61 && c <= 0x7A) || /* lowercase */ c == 0x2D || /* hyphen */ c == 0x5F) /* underscore */ @@ -1568,8 +1575,8 @@ dns_name_downcase(const dns_name_t *source, dns_name_t *name, isc_buffer_t *target) { unsigned char *sndata, *ndata; - unsigned int nlen, count, labels; - isc_buffer_t buffer; + unsigned int nlen, count, labels; + isc_buffer_t buffer; /* * Downcase 'source'. @@ -1642,9 +1649,9 @@ static void set_offsets(const dns_name_t *name, unsigned char *offsets, dns_name_t *set_name) { - unsigned int offset, count, length, nlabels; + unsigned int offset, count, length, nlabels; unsigned char *ndata; - bool absolute; + bool absolute; ndata = name->ndata; length = name->length; @@ -1684,16 +1691,16 @@ dns_name_fromwire(dns_name_t *name, isc_buffer_t *source, isc_buffer_t *target) { unsigned char *cdata, *ndata; - unsigned int cused; /* Bytes of compressed name data used */ - unsigned int nused, labels, n, nmax; - unsigned int current, new_current, biggest_pointer; - bool done; - fw_state state = fw_start; - unsigned int c; + unsigned int cused; /* Bytes of compressed name data used */ + unsigned int nused, labels, n, nmax; + unsigned int current, new_current, biggest_pointer; + bool done; + fw_state state = fw_start; + unsigned int c; unsigned char *offsets; - dns_offsets_t odata; - bool downcase; - bool seen_pointer; + dns_offsets_t odata; + bool downcase; + bool seen_pointer; /* * Copy the possibly-compressed name at source into target, @@ -1789,8 +1796,8 @@ dns_name_fromwire(dns_name_t *name, isc_buffer_t *source, /* * Ordinary 14-bit pointer. */ - if ((dctx->allowed & DNS_COMPRESS_GLOBAL14) == 0) - { + if ((dctx->allowed & DNS_COMPRESS_GLOBAL14) == + 0) { return (DNS_R_DISALLOWED); } new_current = c & 0x3F; @@ -1818,8 +1825,8 @@ dns_name_fromwire(dns_name_t *name, isc_buffer_t *source, state = fw_start; break; default: - FATAL_ERROR(__FILE__, __LINE__, - "Unknown state %d", state); + FATAL_ERROR(__FILE__, __LINE__, "Unknown state %d", + state); /* Does not return. */ } } @@ -1837,7 +1844,7 @@ dns_name_fromwire(dns_name_t *name, isc_buffer_t *source, return (ISC_R_SUCCESS); - full: +full: if (nmax == DNS_NAME_MAXWIRE) /* * The name did not fit even though we had a buffer @@ -1863,13 +1870,13 @@ isc_result_t dns_name_towire2(const dns_name_t *name, dns_compress_t *cctx, isc_buffer_t *target, uint16_t *comp_offsetp) { - unsigned int methods; - uint16_t offset; - dns_name_t gp; /* Global compression prefix */ - bool gf; /* Global compression target found */ - uint16_t go; /* Global compression offset */ + unsigned int methods; + uint16_t offset; + dns_name_t gp; /* Global compression prefix */ + bool gf; /* Global compression target found */ + uint16_t go; /* Global compression offset */ dns_offsets_t clo; - dns_name_t clname; + dns_name_t clname; /* * Convert 'name' into wire format, compressing it as specified by the @@ -1902,8 +1909,8 @@ dns_name_towire2(const dns_name_t *name, dns_compress_t *cctx, * has one. */ if (name->offsets == NULL) { -#if defined(__clang__) && \ - ( __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 2)) +#if defined(__clang__) && \ + (__clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 2)) memset(&clname, 0, sizeof(clname)); #endif DNS_NAME_INIT(&clname, clo); @@ -1912,7 +1919,7 @@ dns_name_towire2(const dns_name_t *name, dns_compress_t *cctx, } DNS_NAME_INIT(&gp, NULL); - offset = target->used; /*XXX*/ + offset = target->used; /*XXX*/ if ((name->attributes & DNS_NAMEATTR_NOCOMPRESS) == 0 && (methods & DNS_COMPRESS_GLOBAL14) != 0) @@ -1974,12 +1981,12 @@ dns_name_concatenate(const dns_name_t *prefix, const dns_name_t *suffix, dns_name_t *name, isc_buffer_t *target) { unsigned char *ndata, *offsets; - unsigned int nrem, labels, prefix_length, length; - bool copy_prefix = true; - bool copy_suffix = true; - bool absolute = false; - dns_name_t tmp_name; - dns_offsets_t odata; + unsigned int nrem, labels, prefix_length, length; + bool copy_prefix = true; + bool copy_suffix = true; + bool absolute = false; + dns_name_t tmp_name; + dns_offsets_t odata; /* * Concatenate 'prefix' and 'suffix'. @@ -1989,13 +1996,13 @@ dns_name_concatenate(const dns_name_t *prefix, const dns_name_t *suffix, REQUIRE(suffix == NULL || VALID_NAME(suffix)); REQUIRE(name == NULL || VALID_NAME(name)); REQUIRE((target != NULL && ISC_BUFFER_VALID(target)) || - (target == NULL && name != NULL && ISC_BUFFER_VALID(name->buffer))); + (target == NULL && name != NULL && + ISC_BUFFER_VALID(name->buffer))); if (prefix == NULL || prefix->labels == 0) copy_prefix = false; if (suffix == NULL || suffix->labels == 0) copy_suffix = false; - if (copy_prefix && - (prefix->attributes & DNS_NAMEATTR_ABSOLUTE) != 0) { + if (copy_prefix && (prefix->attributes & DNS_NAMEATTR_ABSOLUTE) != 0) { absolute = true; REQUIRE(!copy_suffix); } @@ -2082,12 +2089,8 @@ dns_name_split(const dns_name_t *name, unsigned int suffixlabels, REQUIRE(suffixlabels > 0); REQUIRE(suffixlabels <= name->labels); REQUIRE(prefix != NULL || suffix != NULL); - REQUIRE(prefix == NULL || - (VALID_NAME(prefix) && - BINDABLE(prefix))); - REQUIRE(suffix == NULL || - (VALID_NAME(suffix) && - BINDABLE(suffix))); + REQUIRE(prefix == NULL || (VALID_NAME(prefix) && BINDABLE(prefix))); + REQUIRE(suffix == NULL || (VALID_NAME(suffix) && BINDABLE(suffix))); splitlabel = name->labels - suffixlabels; @@ -2095,15 +2098,14 @@ dns_name_split(const dns_name_t *name, unsigned int suffixlabels, dns_name_getlabelsequence(name, 0, splitlabel, prefix); if (suffix != NULL) - dns_name_getlabelsequence(name, splitlabel, - suffixlabels, suffix); + dns_name_getlabelsequence(name, splitlabel, suffixlabels, + suffix); return; } void -dns_name_dup(const dns_name_t *source, isc_mem_t *mctx, - dns_name_t *target) +dns_name_dup(const dns_name_t *source, isc_mem_t *mctx, dns_name_t *target) { /* * Make 'target' a dynamically allocated copy of 'source'. @@ -2164,7 +2166,7 @@ dns_name_dupwithoffsets(const dns_name_t *source, isc_mem_t *mctx, target->length = source->length; target->labels = source->labels; target->attributes = DNS_NAMEATTR_DYNAMIC | DNS_NAMEATTR_DYNOFFSETS | - DNS_NAMEATTR_READONLY; + DNS_NAMEATTR_READONLY; if ((source->attributes & DNS_NAMEATTR_ABSOLUTE) != 0) target->attributes |= DNS_NAMEATTR_ABSOLUTE; target->offsets = target->ndata + source->length; @@ -2177,7 +2179,8 @@ dns_name_dupwithoffsets(const dns_name_t *source, isc_mem_t *mctx, } void -dns_name_free(dns_name_t *name, isc_mem_t *mctx) { +dns_name_free(dns_name_t *name, isc_mem_t *mctx) +{ size_t size; /* @@ -2195,12 +2198,13 @@ dns_name_free(dns_name_t *name, isc_mem_t *mctx) { } isc_result_t -dns_name_digest(const dns_name_t *name, dns_digestfunc_t digest, void *arg) { - dns_name_t downname; +dns_name_digest(const dns_name_t *name, dns_digestfunc_t digest, void *arg) +{ + dns_name_t downname; unsigned char data[256]; - isc_buffer_t buffer; - isc_result_t result; - isc_region_t r; + isc_buffer_t buffer; + isc_result_t result; + isc_region_t r; /* * Send 'name' in DNSSEC canonical form to 'digest'. @@ -2209,8 +2213,8 @@ dns_name_digest(const dns_name_t *name, dns_digestfunc_t digest, void *arg) { REQUIRE(VALID_NAME(name)); REQUIRE(digest != NULL); -#if defined(__clang__) && \ - ( __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 2)) +#if defined(__clang__) && \ + (__clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 2)) memset(&downname, 0, sizeof(downname)); #endif DNS_NAME_INIT(&downname, NULL); @@ -2227,23 +2231,24 @@ dns_name_digest(const dns_name_t *name, dns_digestfunc_t digest, void *arg) { } bool -dns_name_dynamic(const dns_name_t *name) { +dns_name_dynamic(const dns_name_t *name) +{ REQUIRE(VALID_NAME(name)); /* * Returns whether there is dynamic memory associated with this name. */ - return ((name->attributes & DNS_NAMEATTR_DYNAMIC) != 0 ? - true : false); + return ((name->attributes & DNS_NAMEATTR_DYNAMIC) != 0 ? true : false); } isc_result_t -dns_name_print(const dns_name_t *name, FILE *stream) { +dns_name_print(const dns_name_t *name, FILE *stream) +{ isc_result_t result; isc_buffer_t b; isc_region_t r; - char t[1024]; + char t[1024]; /* * Print 'name' on 'stream'. @@ -2262,7 +2267,8 @@ dns_name_print(const dns_name_t *name, FILE *stream) { } isc_result_t -dns_name_settotextfilter(dns_name_totextfilter_t *proc) { +dns_name_settotextfilter(dns_name_totextfilter_t *proc) +{ /* * If we already have been here set / clear as appropriate. */ @@ -2282,7 +2288,8 @@ dns_name_settotextfilter(dns_name_totextfilter_t *proc) { } void -dns_name_format(const dns_name_t *name, char *cp, unsigned int size) { +dns_name_format(const dns_name_t *name, char *cp, unsigned int size) +{ isc_result_t result; isc_buffer_t buf; @@ -2305,11 +2312,12 @@ dns_name_format(const dns_name_t *name, char *cp, unsigned int size) { * memory. */ isc_result_t -dns_name_tostring(const dns_name_t *name, char **target, isc_mem_t *mctx) { +dns_name_tostring(const dns_name_t *name, char **target, isc_mem_t *mctx) +{ isc_result_t result; isc_buffer_t buf; isc_region_t reg; - char *p, txt[DNS_NAME_FORMATSIZE]; + char * p, txt[DNS_NAME_FORMATSIZE]; REQUIRE(VALID_NAME(name)); REQUIRE(target != NULL && *target == NULL); @@ -2321,7 +2329,7 @@ dns_name_tostring(const dns_name_t *name, char **target, isc_mem_t *mctx) { isc_buffer_usedregion(&buf, ®); p = isc_mem_allocate(mctx, reg.length + 1); - memmove(p, (char *) reg.base, (int) reg.length); + memmove(p, (char *)reg.base, (int)reg.length); p[reg.length] = '\0'; *target = p; @@ -2344,10 +2352,10 @@ dns_name_fromstring2(dns_name_t *target, const char *src, const dns_name_t *origin, unsigned int options, isc_mem_t *mctx) { - isc_result_t result; - isc_buffer_t buf; + isc_result_t result; + isc_buffer_t buf; dns_fixedname_t fn; - dns_name_t *name; + dns_name_t * name; REQUIRE(src != NULL); @@ -2368,9 +2376,9 @@ dns_name_fromstring2(dns_name_t *target, const char *src, return (result); } -static -isc_result_t -name_copy(const dns_name_t *source, dns_name_t *dest, isc_buffer_t *target) { +static isc_result_t +name_copy(const dns_name_t *source, dns_name_t *dest, isc_buffer_t *target) +{ unsigned char *ndata; /* @@ -2439,15 +2447,15 @@ dns_name_copynf(const dns_name_t *source, dns_name_t *dest) /* * Service Discovery Prefixes RFC 6763. */ -static unsigned char b_dns_sd_udp_data[] = "\001b\007_dns-sd\004_udp"; +static unsigned char b_dns_sd_udp_data[] = "\001b\007_dns-sd\004_udp"; static unsigned char b_dns_sd_udp_offsets[] = { 0, 2, 10 }; -static unsigned char db_dns_sd_udp_data[] = "\002db\007_dns-sd\004_udp"; +static unsigned char db_dns_sd_udp_data[] = "\002db\007_dns-sd\004_udp"; static unsigned char db_dns_sd_udp_offsets[] = { 0, 3, 11 }; -static unsigned char r_dns_sd_udp_data[] = "\001r\007_dns-sd\004_udp"; +static unsigned char r_dns_sd_udp_data[] = "\001r\007_dns-sd\004_udp"; static unsigned char r_dns_sd_udp_offsets[] = { 0, 2, 10 }; -static unsigned char dr_dns_sd_udp_data[] = "\002dr\007_dns-sd\004_udp"; +static unsigned char dr_dns_sd_udp_data[] = "\002dr\007_dns-sd\004_udp"; static unsigned char dr_dns_sd_udp_offsets[] = { 0, 3, 11 }; -static unsigned char lb_dns_sd_udp_data[] = "\002lb\007_dns-sd\004_udp"; +static unsigned char lb_dns_sd_udp_data[] = "\002lb\007_dns-sd\004_udp"; static unsigned char lb_dns_sd_udp_offsets[] = { 0, 3, 11 }; static dns_name_t const dns_sd[] = { @@ -2459,14 +2467,15 @@ static dns_name_t const dns_sd[] = { }; bool -dns_name_isdnssd(const dns_name_t *name) { - size_t i; +dns_name_isdnssd(const dns_name_t *name) +{ + size_t i; dns_name_t prefix; if (dns_name_countlabels(name) > 3U) { dns_name_init(&prefix, NULL); dns_name_getlabelsequence(name, 0, 3, &prefix); - for (i = 0; i < (sizeof(dns_sd)/sizeof(dns_sd[0])); i++) + for (i = 0; i < (sizeof(dns_sd) / sizeof(dns_sd[0])); i++) if (dns_name_equal(&prefix, &dns_sd[i])) return (true); } @@ -2521,10 +2530,11 @@ static dns_name_t const rfc1918names[] = { }; bool -dns_name_isrfc1918(const dns_name_t *name) { +dns_name_isrfc1918(const dns_name_t *name) +{ size_t i; - for (i = 0; i < (sizeof(rfc1918names)/sizeof(*rfc1918names)); i++) + for (i = 0; i < (sizeof(rfc1918names) / sizeof(*rfc1918names)); i++) if (dns_name_issubdomain(name, &rfc1918names[i])) return (true); return (false); @@ -2534,16 +2544,16 @@ static unsigned char ulaoffsets[] = { 0, 2, 4, 8, 13 }; static unsigned char ip6fc[] = "\001c\001f\003ip6\004ARPA"; static unsigned char ip6fd[] = "\001d\001f\003ip6\004ARPA"; -static dns_name_t const ulanames[] = { - DNS_NAME_INITABSOLUTE(ip6fc, ulaoffsets), - DNS_NAME_INITABSOLUTE(ip6fd, ulaoffsets) -}; +static dns_name_t const ulanames[] = { DNS_NAME_INITABSOLUTE(ip6fc, ulaoffsets), + DNS_NAME_INITABSOLUTE(ip6fd, + ulaoffsets) }; bool -dns_name_isula(const dns_name_t *name) { +dns_name_isula(const dns_name_t *name) +{ size_t i; - for (i = 0; i < (sizeof(ulanames)/sizeof(*ulanames)); i++) + for (i = 0; i < (sizeof(ulanames) / sizeof(*ulanames)); i++) if (dns_name_issubdomain(name, &ulanames[i])) return (true); return (false); @@ -2553,21 +2563,19 @@ dns_name_isula(const dns_name_t *name) { * Use a simple table as we don't want all the locale stuff * associated with ishexdigit(). */ -const char -ishex[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, - 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; +const char ishex[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; bool -dns_name_istat(const dns_name_t *name) { - unsigned char len; +dns_name_istat(const dns_name_t *name) +{ + unsigned char len; const unsigned char *ndata; REQUIRE(VALID_NAME(name)); @@ -2588,8 +2596,7 @@ dns_name_istat(const dns_name_t *name) { return (false); } - if (ndata[0] != '_' || - maptolower[ndata[1]] != 't' || + if (ndata[0] != '_' || maptolower[ndata[1]] != 't' || maptolower[ndata[2]] != 'a') { return (false); } diff --git a/lib/dns/ncache.c b/lib/dns/ncache.c index e41ffc488f..2e972dfca6 100644 --- a/lib/dns/ncache.c +++ b/lib/dns/ncache.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -43,17 +42,17 @@ static isc_result_t addoptout(dns_message_t *message, dns_db_t *cache, dns_dbnode_t *node, - dns_rdatatype_t covers, isc_stdtime_t now, - dns_ttl_t minttl, dns_ttl_t maxttl, - bool optout, bool secure, + dns_rdatatype_t covers, isc_stdtime_t now, dns_ttl_t minttl, + dns_ttl_t maxttl, bool optout, bool secure, dns_rdataset_t *addedrdataset); static inline isc_result_t -copy_rdataset(dns_rdataset_t *rdataset, isc_buffer_t *buffer) { +copy_rdataset(dns_rdataset_t *rdataset, isc_buffer_t *buffer) +{ isc_result_t result; unsigned int count; isc_region_t ar, r; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; /* * Copy the rdataset count to the buffer. @@ -94,9 +93,8 @@ copy_rdataset(dns_rdataset_t *rdataset, isc_buffer_t *buffer) { isc_result_t dns_ncache_add(dns_message_t *message, dns_db_t *cache, dns_dbnode_t *node, - dns_rdatatype_t covers, isc_stdtime_t now, - dns_ttl_t minttl, dns_ttl_t maxttl, - dns_rdataset_t *addedrdataset) + dns_rdatatype_t covers, isc_stdtime_t now, dns_ttl_t minttl, + dns_ttl_t maxttl, dns_rdataset_t *addedrdataset) { return (addoptout(message, cache, node, covers, now, minttl, maxttl, false, false, addedrdataset)); @@ -105,8 +103,7 @@ dns_ncache_add(dns_message_t *message, dns_db_t *cache, dns_dbnode_t *node, isc_result_t dns_ncache_addoptout(dns_message_t *message, dns_db_t *cache, dns_dbnode_t *node, dns_rdatatype_t covers, - isc_stdtime_t now, - dns_ttl_t minttl, dns_ttl_t maxttl, + isc_stdtime_t now, dns_ttl_t minttl, dns_ttl_t maxttl, bool optout, dns_rdataset_t *addedrdataset) { return (addoptout(message, cache, node, covers, now, minttl, maxttl, @@ -115,24 +112,23 @@ dns_ncache_addoptout(dns_message_t *message, dns_db_t *cache, static isc_result_t addoptout(dns_message_t *message, dns_db_t *cache, dns_dbnode_t *node, - dns_rdatatype_t covers, isc_stdtime_t now, - dns_ttl_t minttl, dns_ttl_t maxttl, - bool optout, bool secure, + dns_rdatatype_t covers, isc_stdtime_t now, dns_ttl_t minttl, + dns_ttl_t maxttl, bool optout, bool secure, dns_rdataset_t *addedrdataset) { - isc_result_t result; - isc_buffer_t buffer; - isc_region_t r; + isc_result_t result; + isc_buffer_t buffer; + isc_region_t r; dns_rdataset_t *rdataset; dns_rdatatype_t type; - dns_name_t *name; - dns_ttl_t ttl; - dns_trust_t trust; - dns_rdata_t rdata[DNS_NCACHE_RDATA]; - dns_rdataset_t ncrdataset; + dns_name_t * name; + dns_ttl_t ttl; + dns_trust_t trust; + dns_rdata_t rdata[DNS_NCACHE_RDATA]; + dns_rdataset_t ncrdataset; dns_rdatalist_t ncrdatalist; - unsigned char data[65536]; - unsigned int next = 0; + unsigned char data[65536]; + unsigned int next = 0; /* * Convert the authority data from 'message' into a negative cache @@ -166,8 +162,7 @@ addoptout(dns_message_t *message, dns_db_t *cache, dns_dbnode_t *node, result = ISC_R_NOMORE; while (result == ISC_R_SUCCESS) { name = NULL; - dns_message_currentname(message, DNS_SECTION_AUTHORITY, - &name); + dns_message_currentname(message, DNS_SECTION_AUTHORITY, &name); if ((name->attributes & DNS_NAMEATTR_NCACHE) != 0) { for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; @@ -201,14 +196,14 @@ addoptout(dns_message_t *message, dns_db_t *cache, dns_dbnode_t *node, /* * Copy the type to the buffer. */ - isc_buffer_availableregion(&buffer, - &r); + isc_buffer_availableregion(&buffer, &r); if (r.length < 3) return (ISC_R_NOSPACE); isc_buffer_putuint16(&buffer, rdataset->type); - isc_buffer_putuint8(&buffer, - (unsigned char)rdataset->trust); + isc_buffer_putuint8( + &buffer, + (unsigned char)rdataset->trust); /* * Copy the rdataset into the buffer. */ @@ -257,8 +252,8 @@ addoptout(dns_message_t *message, dns_db_t *cache, dns_dbnode_t *node, ncrdatalist.ttl = ttl; dns_rdataset_init(&ncrdataset); - RUNTIME_CHECK(dns_rdatalist_tordataset(&ncrdatalist, &ncrdataset) - == ISC_R_SUCCESS); + RUNTIME_CHECK(dns_rdatalist_tordataset(&ncrdatalist, &ncrdataset) == + ISC_R_SUCCESS); if (!secure && trust > dns_trust_answer) trust = dns_trust_answer; ncrdataset.trust = trust; @@ -268,8 +263,8 @@ addoptout(dns_message_t *message, dns_db_t *cache, dns_dbnode_t *node, if (optout) ncrdataset.attributes |= DNS_RDATASETATTR_OPTOUT; - return (dns_db_addrdataset(cache, node, NULL, now, &ncrdataset, - 0, addedrdataset)); + return (dns_db_addrdataset(cache, node, NULL, now, &ncrdataset, 0, + addedrdataset)); } isc_result_t @@ -277,13 +272,13 @@ dns_ncache_towire(dns_rdataset_t *rdataset, dns_compress_t *cctx, isc_buffer_t *target, unsigned int options, unsigned int *countp) { - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_result_t result; - isc_region_t remaining, tavailable; - isc_buffer_t source, savedbuffer, rdlen; - dns_name_t name; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + isc_region_t remaining, tavailable; + isc_buffer_t source, savedbuffer, rdlen; + dns_name_t name; dns_rdatatype_t type; - unsigned int i, rcount, count; + unsigned int i, rcount, count; /* * Convert the negative caching rdataset 'rdataset' to wire format, @@ -375,9 +370,9 @@ dns_ncache_towire(dns_rdataset_t *rdataset, dns_compress_t *cctx, */ INSIST((target->used >= rdlen.used + 2) && (target->used - rdlen.used - 2 < 65536)); - isc_buffer_putuint16(&rdlen, - (uint16_t)(target->used - - rdlen.used - 2)); + isc_buffer_putuint16( + &rdlen, + (uint16_t)(target->used - rdlen.used - 2)); count++; } @@ -392,7 +387,7 @@ dns_ncache_towire(dns_rdataset_t *rdataset, dns_compress_t *cctx, return (ISC_R_SUCCESS); - rollback: +rollback: INSIST(savedbuffer.used < 65536); dns_compress_rollback(cctx, (uint16_t)savedbuffer.used); *countp = 0; @@ -402,14 +397,16 @@ dns_ncache_towire(dns_rdataset_t *rdataset, dns_compress_t *cctx, } static void -rdataset_disassociate(dns_rdataset_t *rdataset) { +rdataset_disassociate(dns_rdataset_t *rdataset) +{ UNUSED(rdataset); } static isc_result_t -rdataset_first(dns_rdataset_t *rdataset) { +rdataset_first(dns_rdataset_t *rdataset) +{ unsigned char *raw = rdataset->private3; - unsigned int count; + unsigned int count; count = raw[0] * 256 + raw[1]; if (count == 0) { @@ -430,9 +427,10 @@ rdataset_first(dns_rdataset_t *rdataset) { } static isc_result_t -rdataset_next(dns_rdataset_t *rdataset) { - unsigned int count; - unsigned int length; +rdataset_next(dns_rdataset_t *rdataset) +{ + unsigned int count; + unsigned int length; unsigned char *raw; count = rdataset->privateuint4; @@ -449,9 +447,10 @@ rdataset_next(dns_rdataset_t *rdataset) { } static void -rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) { +rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) +{ unsigned char *raw = rdataset->private5; - isc_region_t r; + isc_region_t r; REQUIRE(raw != NULL); @@ -462,7 +461,8 @@ rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) { } static void -rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) { +rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) +{ *target = *source; /* @@ -473,9 +473,10 @@ rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) { } static unsigned int -rdataset_count(dns_rdataset_t *rdataset) { +rdataset_count(dns_rdataset_t *rdataset) +{ unsigned char *raw = rdataset->private3; - unsigned int count; + unsigned int count; count = raw[0] * 256 + raw[1]; @@ -483,7 +484,8 @@ rdataset_count(dns_rdataset_t *rdataset) { } static void -rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust) { +rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust) +{ unsigned char *raw = rdataset->private3; raw[-1] = (unsigned char)trust; @@ -496,30 +498,30 @@ static dns_rdatasetmethods_t rdataset_methods = { rdataset_current, rdataset_clone, rdataset_count, - NULL, /* addnoqname */ - NULL, /* getnoqname */ - NULL, /* addclosest */ - NULL, /* getclosest */ - rdataset_settrust, /* settrust */ - NULL, /* expire */ - NULL, /* clearprefetch */ - NULL, /* setownercase */ - NULL, /* getownercase */ - NULL /* addglue */ + NULL, /* addnoqname */ + NULL, /* getnoqname */ + NULL, /* addclosest */ + NULL, /* getclosest */ + rdataset_settrust, /* settrust */ + NULL, /* expire */ + NULL, /* clearprefetch */ + NULL, /* setownercase */ + NULL, /* getownercase */ + NULL /* addglue */ }; isc_result_t dns_ncache_getrdataset(dns_rdataset_t *ncacherdataset, dns_name_t *name, dns_rdatatype_t type, dns_rdataset_t *rdataset) { - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_region_t remaining; - isc_buffer_t source; - dns_name_t tname; + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_region_t remaining; + isc_buffer_t source; + dns_name_t tname; dns_rdatatype_t ttype; - dns_trust_t trust = dns_trust_none; - dns_rdataset_t rclone; + dns_trust_t trust = dns_trust_none; + dns_rdataset_t rclone; REQUIRE(ncacherdataset != NULL); REQUIRE(ncacherdataset->type == 0); @@ -586,17 +588,17 @@ isc_result_t dns_ncache_getsigrdataset(dns_rdataset_t *ncacherdataset, dns_name_t *name, dns_rdatatype_t covers, dns_rdataset_t *rdataset) { - dns_name_t tname; + dns_name_t tname; dns_rdata_rrsig_t rrsig; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdataset_t rclone; - dns_rdatatype_t type; - dns_trust_t trust = dns_trust_none; - isc_buffer_t source; - isc_region_t remaining, sigregion; - isc_result_t result; - unsigned char *raw; - unsigned int count; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdataset_t rclone; + dns_rdatatype_t type; + dns_trust_t trust = dns_trust_none; + isc_buffer_t source; + isc_region_t remaining, sigregion; + isc_result_t result; + unsigned char * raw; + unsigned int count; REQUIRE(ncacherdataset != NULL); REQUIRE(ncacherdataset->type == 0); @@ -685,15 +687,15 @@ void dns_ncache_current(dns_rdataset_t *ncacherdataset, dns_name_t *found, dns_rdataset_t *rdataset) { - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_trust_t trust; - isc_region_t remaining, sigregion; - isc_buffer_t source; - dns_name_t tname; - dns_rdatatype_t type; - unsigned int count; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_trust_t trust; + isc_region_t remaining, sigregion; + isc_buffer_t source; + dns_name_t tname; + dns_rdatatype_t type; + unsigned int count; dns_rdata_rrsig_t rrsig; - unsigned char *raw; + unsigned char * raw; REQUIRE(ncacherdataset != NULL); REQUIRE(ncacherdataset->type == 0); @@ -733,8 +735,8 @@ dns_ncache_current(dns_rdataset_t *ncacherdataset, dns_name_t *found, raw += 2; sigregion.base = raw; dns_rdata_reset(&rdata); - dns_rdata_fromregion(&rdata, rdataset->rdclass, - rdataset->type, &sigregion); + dns_rdata_fromregion(&rdata, rdataset->rdclass, rdataset->type, + &sigregion); (void)dns_rdata_tostruct(&rdata, &rrsig, NULL); rdataset->covers = rrsig.covered; } else diff --git a/lib/dns/nsec.c b/lib/dns/nsec.c index e35745168d..7766d6ed43 100644 --- a/lib/dns/nsec.c +++ b/lib/dns/nsec.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -29,14 +28,16 @@ #include -#define RETERR(x) do { \ - result = (x); \ - if (result != ISC_R_SUCCESS) \ - goto failure; \ +#define RETERR(x) \ + do { \ + result = (x); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) void -dns_nsec_setbit(unsigned char *array, unsigned int type, unsigned int bit) { +dns_nsec_setbit(unsigned char *array, unsigned int type, unsigned int bit) +{ unsigned int shift, mask; shift = 7 - (type % 8); @@ -49,7 +50,8 @@ dns_nsec_setbit(unsigned char *array, unsigned int type, unsigned int bit) { } bool -dns_nsec_isset(const unsigned char *array, unsigned int type) { +dns_nsec_isset(const unsigned char *array, unsigned int type) +{ unsigned int byte, shift, mask; byte = array[type / 8]; @@ -64,8 +66,8 @@ dns_nsec_compressbitmap(unsigned char *map, const unsigned char *raw, unsigned int max_type) { unsigned char *start = map; - unsigned int window; - int octet; + unsigned int window; + int octet; if (raw == NULL) return (0); @@ -93,17 +95,17 @@ dns_nsec_compressbitmap(unsigned char *map, const unsigned char *raw, } isc_result_t -dns_nsec_buildrdata(dns_db_t *db, dns_dbversion_t *version, - dns_dbnode_t *node, const dns_name_t *target, - unsigned char *buffer, dns_rdata_t *rdata) +dns_nsec_buildrdata(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node, + const dns_name_t *target, unsigned char *buffer, + dns_rdata_t *rdata) { - isc_result_t result; + isc_result_t result; dns_rdataset_t rdataset; - isc_region_t r; - unsigned int i; + isc_region_t r; + unsigned int i; - unsigned char *nsec_bits, *bm; - unsigned int max_type; + unsigned char * nsec_bits, *bm; + unsigned int max_type; dns_rdatasetiter_t *rdsiter; REQUIRE(target != NULL); @@ -126,10 +128,8 @@ dns_nsec_buildrdata(dns_db_t *db, dns_dbversion_t *version, result = dns_db_allrdatasets(db, node, version, 0, &rdsiter); if (result != ISC_R_SUCCESS) return (result); - for (result = dns_rdatasetiter_first(rdsiter); - result == ISC_R_SUCCESS; - result = dns_rdatasetiter_next(rdsiter)) - { + for (result = dns_rdatasetiter_first(rdsiter); result == ISC_R_SUCCESS; + result = dns_rdatasetiter_next(rdsiter)) { dns_rdatasetiter_current(rdsiter, &rdataset); if (rdataset.type != dns_rdatatype_nsec && rdataset.type != dns_rdatatype_nsec3 && @@ -145,10 +145,10 @@ dns_nsec_buildrdata(dns_db_t *db, dns_dbversion_t *version, * At zone cuts, deny the existence of glue in the parent zone. */ if (dns_nsec_isset(bm, dns_rdatatype_ns) && - ! dns_nsec_isset(bm, dns_rdatatype_soa)) { + !dns_nsec_isset(bm, dns_rdatatype_soa)) { for (i = 0; i <= max_type; i++) { if (dns_nsec_isset(bm, i) && - ! dns_rdatatype_iszonecutauth((dns_rdatatype_t)i)) + !dns_rdatatype_iszonecutauth((dns_rdatatype_t)i)) dns_nsec_setbit(bm, i, 0); } } @@ -161,10 +161,7 @@ dns_nsec_buildrdata(dns_db_t *db, dns_dbversion_t *version, r.length = (unsigned int)(nsec_bits - r.base); INSIST(r.length <= DNS_NSEC_BUFFERSIZE); - dns_rdata_fromregion(rdata, - dns_db_class(db), - dns_rdatatype_nsec, - &r); + dns_rdata_fromregion(rdata, dns_db_class(db), dns_rdatatype_nsec, &r); return (ISC_R_SUCCESS); } @@ -173,11 +170,11 @@ isc_result_t dns_nsec_build(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node, const dns_name_t *target, dns_ttl_t ttl) { - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; - unsigned char data[DNS_NSEC_BUFFERSIZE]; + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; + unsigned char data[DNS_NSEC_BUFFERSIZE]; dns_rdatalist_t rdatalist; - dns_rdataset_t rdataset; + dns_rdataset_t rdataset; dns_rdataset_init(&rdataset); dns_rdata_init(&rdata); @@ -190,23 +187,23 @@ dns_nsec_build(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node, rdatalist.ttl = ttl; ISC_LIST_APPEND(rdatalist.rdata, &rdata, link); RETERR(dns_rdatalist_tordataset(&rdatalist, &rdataset)); - result = dns_db_addrdataset(db, node, version, 0, &rdataset, - 0, NULL); + result = dns_db_addrdataset(db, node, version, 0, &rdataset, 0, NULL); if (result == DNS_R_UNCHANGED) result = ISC_R_SUCCESS; - failure: +failure: if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); return (result); } bool -dns_nsec_typepresent(dns_rdata_t *nsec, dns_rdatatype_t type) { +dns_nsec_typepresent(dns_rdata_t *nsec, dns_rdatatype_t type) +{ dns_rdata_nsec_t nsecstruct; - isc_result_t result; - bool present; - unsigned int i, len, window; + isc_result_t result; + bool present; + unsigned int i, len, window; REQUIRE(nsec != NULL); REQUIRE(nsec->type == dns_rdatatype_nsec); @@ -230,8 +227,8 @@ dns_nsec_typepresent(dns_rdata_t *nsec, dns_rdatatype_t type) { continue; } if (type < (window * 256) + len * 8) { - present = - dns_nsec_isset(&nsecstruct.typebits[i], type % 256); + present = dns_nsec_isset(&nsecstruct.typebits[i], + type % 256); } break; } @@ -240,13 +237,12 @@ dns_nsec_typepresent(dns_rdata_t *nsec, dns_rdatatype_t type) { } isc_result_t -dns_nsec_nseconly(dns_db_t *db, dns_dbversion_t *version, - bool *answer) +dns_nsec_nseconly(dns_db_t *db, dns_dbversion_t *version, bool *answer) { - dns_dbnode_t *node = NULL; - dns_rdataset_t rdataset; + dns_dbnode_t * node = NULL; + dns_rdataset_t rdataset; dns_rdata_dnskey_t dnskey; - isc_result_t result; + isc_result_t result; REQUIRE(answer != NULL); @@ -256,16 +252,15 @@ dns_nsec_nseconly(dns_db_t *db, dns_dbversion_t *version, if (result != ISC_R_SUCCESS) return (result); - result = dns_db_findrdataset(db, node, version, dns_rdatatype_dnskey, - 0, 0, &rdataset, NULL); + result = dns_db_findrdataset(db, node, version, dns_rdatatype_dnskey, 0, + 0, &rdataset, NULL); dns_db_detachnode(db, &node); if (result == ISC_R_NOTFOUND) *answer = false; if (result != ISC_R_SUCCESS) return (result); - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; @@ -297,23 +292,22 @@ dns_nsec_nseconly(dns_db_t *db, dns_dbversion_t *version, isc_result_t dns_nsec_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, const dns_name_t *nsecname, dns_rdataset_t *nsecset, - bool *exists, bool *data, - dns_name_t *wild, dns_nseclog_t logit, void *arg) + bool *exists, bool *data, dns_name_t *wild, + dns_nseclog_t logit, void *arg) { - int order; - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_result_t result; - dns_namereln_t relation; - unsigned int olabels, nlabels, labels; + int order; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + dns_namereln_t relation; + unsigned int olabels, nlabels, labels; dns_rdata_nsec_t nsec; - bool atparent; - bool ns; - bool soa; + bool atparent; + bool ns; + bool soa; REQUIRE(exists != NULL); REQUIRE(data != NULL); - REQUIRE(nsecset != NULL && - nsecset->type == dns_rdatatype_nsec); + REQUIRE(nsecset != NULL && nsecset->type == dns_rdatatype_nsec); result = dns_rdataset_first(nsecset); if (result != ISC_R_SUCCESS) { @@ -330,7 +324,7 @@ dns_nsec_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, * The name is not within the NSEC range. */ (*logit)(arg, ISC_LOG_DEBUG(3), - "NSEC does not cover name, before NSEC"); + "NSEC does not cover name, before NSEC"); return (ISC_R_IGNORE); } @@ -350,7 +344,7 @@ dns_nsec_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, * It can not be legitimately used here. */ (*logit)(arg, ISC_LOG_DEBUG(3), - "ignoring parent nsec"); + "ignoring parent nsec"); return (ISC_R_IGNORE); } } else if (atparent && ns && soa) { @@ -358,8 +352,7 @@ dns_nsec_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, * This NSEC record is from the child. * It can not be legitimately used here. */ - (*logit)(arg, ISC_LOG_DEBUG(3), - "ignoring child nsec"); + (*logit)(arg, ISC_LOG_DEBUG(3), "ignoring child nsec"); return (ISC_R_IGNORE); } if (type == dns_rdatatype_cname || type == dns_rdatatype_nxt || @@ -368,8 +361,8 @@ dns_nsec_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, *exists = true; *data = dns_nsec_typepresent(&rdata, type); (*logit)(arg, ISC_LOG_DEBUG(3), - "nsec proves name exists (owner) data=%d", - *data); + "nsec proves name exists (owner) data=%d", + *data); return (ISC_R_SUCCESS); } (*logit)(arg, ISC_LOG_DEBUG(3), "NSEC proves CNAME exists"); @@ -378,8 +371,7 @@ dns_nsec_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, if (relation == dns_namereln_subdomain && dns_nsec_typepresent(&rdata, dns_rdatatype_ns) && - !dns_nsec_typepresent(&rdata, dns_rdatatype_soa)) - { + !dns_nsec_typepresent(&rdata, dns_rdatatype_soa)) { /* * This NSEC record is from somewhere higher in * the DNS, and at the parent of a delegation or @@ -391,10 +383,8 @@ dns_nsec_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, } if (relation == dns_namereln_subdomain && - dns_nsec_typepresent(&rdata, dns_rdatatype_dname)) - { - (*logit)(arg, ISC_LOG_DEBUG(3), - "nsec proves covered by dname"); + dns_nsec_typepresent(&rdata, dns_rdatatype_dname)) { + (*logit)(arg, ISC_LOG_DEBUG(3), "nsec proves covered by dname"); *exists = false; return (DNS_R_DNAME); } @@ -406,7 +396,7 @@ dns_nsec_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, if (order == 0) { dns_rdata_freestruct(&nsec); (*logit)(arg, ISC_LOG_DEBUG(3), - "ignoring nsec matches next name"); + "ignoring nsec matches next name"); return (ISC_R_IGNORE); } @@ -416,13 +406,13 @@ dns_nsec_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, */ dns_rdata_freestruct(&nsec); (*logit)(arg, ISC_LOG_DEBUG(3), - "ignoring nsec because name is past end of range"); + "ignoring nsec because name is past end of range"); return (ISC_R_IGNORE); } if (order > 0 && relation == dns_namereln_subdomain) { (*logit)(arg, ISC_LOG_DEBUG(3), - "nsec proves name exist (empty)"); + "nsec proves name exist (empty)"); dns_rdata_freestruct(&nsec); *exists = true; *data = false; @@ -440,12 +430,12 @@ dns_nsec_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, dns_name_getlabelsequence(&nsec.next, labels - nlabels, nlabels, &common); } - result = dns_name_concatenate(dns_wildcardname, &common, - wild, NULL); + result = dns_name_concatenate(dns_wildcardname, &common, wild, + NULL); if (result != ISC_R_SUCCESS) { dns_rdata_freestruct(&nsec); (*logit)(arg, ISC_LOG_DEBUG(3), - "failure generating wildcard name"); + "failure generating wildcard name"); return (result); } } diff --git a/lib/dns/nsec3.c b/lib/dns/nsec3.c index ba87aabb5e..b2c0239127 100644 --- a/lib/dns/nsec3.c +++ b/lib/dns/nsec3.c @@ -18,15 +18,12 @@ #include #include #include +#include #include #include -#include -#include - -#include -#include #include +#include #include #include #include @@ -38,38 +35,42 @@ #include #include #include +#include -#define CHECK(x) do { \ - result = (x); \ - if (result != ISC_R_SUCCESS) \ - goto failure; \ +#include + +#define CHECK(x) \ + do { \ + result = (x); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) -#define OPTOUT(x) (((x) & DNS_NSEC3FLAG_OPTOUT) != 0) -#define CREATE(x) (((x) & DNS_NSEC3FLAG_CREATE) != 0) -#define INITIAL(x) (((x) & DNS_NSEC3FLAG_INITIAL) != 0) -#define REMOVE(x) (((x) & DNS_NSEC3FLAG_REMOVE) != 0) +#define OPTOUT(x) (((x)&DNS_NSEC3FLAG_OPTOUT) != 0) +#define CREATE(x) (((x)&DNS_NSEC3FLAG_CREATE) != 0) +#define INITIAL(x) (((x)&DNS_NSEC3FLAG_INITIAL) != 0) +#define REMOVE(x) (((x)&DNS_NSEC3FLAG_REMOVE) != 0) isc_result_t -dns_nsec3_buildrdata(dns_db_t *db, dns_dbversion_t *version, - dns_dbnode_t *node, unsigned int hashalg, - unsigned int flags, unsigned int iterations, - const unsigned char *salt, size_t salt_length, - const unsigned char *nexthash, size_t hash_length, - unsigned char *buffer, dns_rdata_t *rdata) +dns_nsec3_buildrdata(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node, + unsigned int hashalg, unsigned int flags, + unsigned int iterations, const unsigned char *salt, + size_t salt_length, const unsigned char *nexthash, + size_t hash_length, unsigned char *buffer, + dns_rdata_t *rdata) { - isc_result_t result; + isc_result_t result; dns_rdataset_t rdataset; - isc_region_t r; - unsigned int i; - bool found; - bool found_ns; - bool need_rrsig; + isc_region_t r; + unsigned int i; + bool found; + bool found_ns; + bool need_rrsig; - unsigned char *nsec_bits, *bm; - unsigned int max_type; + unsigned char * nsec_bits, *bm; + unsigned int max_type; dns_rdatasetiter_t *rdsiter; - unsigned char *p; + unsigned char * p; REQUIRE(salt_length < 256U); REQUIRE(hash_length < 256U); @@ -119,10 +120,8 @@ dns_nsec3_buildrdata(dns_db_t *db, dns_dbversion_t *version, if (result != ISC_R_SUCCESS) return (result); found = found_ns = need_rrsig = false; - for (result = dns_rdatasetiter_first(rdsiter); - result == ISC_R_SUCCESS; - result = dns_rdatasetiter_next(rdsiter)) - { + for (result = dns_rdatasetiter_first(rdsiter); result == ISC_R_SUCCESS; + result = dns_rdatasetiter_next(rdsiter)) { dns_rdatasetiter_current(rdsiter, &rdataset); if (rdataset.type != dns_rdatatype_nsec && rdataset.type != dns_rdatatype_nsec3 && @@ -159,10 +158,10 @@ dns_nsec3_buildrdata(dns_db_t *db, dns_dbversion_t *version, * At zone cuts, deny the existence of glue in the parent zone. */ if (dns_nsec_isset(bm, dns_rdatatype_ns) && - ! dns_nsec_isset(bm, dns_rdatatype_soa)) { + !dns_nsec_isset(bm, dns_rdatatype_soa)) { for (i = 0; i <= max_type; i++) { if (dns_nsec_isset(bm, i) && - ! dns_rdatatype_iszonecutauth((dns_rdatatype_t)i)) + !dns_rdatatype_iszonecutauth((dns_rdatatype_t)i)) dns_nsec_setbit(bm, i, 0); } } @@ -171,7 +170,7 @@ dns_nsec3_buildrdata(dns_db_t *db, dns_dbversion_t *version, if (result != ISC_R_NOMORE) return (result); - collapse_bitmap: +collapse_bitmap: nsec_bits += dns_nsec_compressbitmap(nsec_bits, bm, max_type); r.length = (unsigned int)(nsec_bits - r.base); INSIST(r.length <= DNS_NSEC3_BUFFERSIZE); @@ -181,11 +180,12 @@ dns_nsec3_buildrdata(dns_db_t *db, dns_dbversion_t *version, } bool -dns_nsec3_typepresent(dns_rdata_t *rdata, dns_rdatatype_t type) { +dns_nsec3_typepresent(dns_rdata_t *rdata, dns_rdatatype_t type) +{ dns_rdata_nsec3_t nsec3; - isc_result_t result; - bool present; - unsigned int i, len, window; + isc_result_t result; + bool present; + unsigned int i, len, window; REQUIRE(rdata != NULL); REQUIRE(rdata->type == dns_rdatatype_nsec3); @@ -207,8 +207,8 @@ dns_nsec3_typepresent(dns_rdata_t *rdata, dns_rdatatype_t type) { if ((window + 1) * 256 <= type) continue; if (type < (window * 256) + len * 8) { - present = dns_nsec_isset(&nsec3.typebits[i], - type % 256); + present = + dns_nsec_isset(&nsec3.typebits[i], type % 256); } break; } @@ -218,19 +218,19 @@ dns_nsec3_typepresent(dns_rdata_t *rdata, dns_rdatatype_t type) { isc_result_t dns_nsec3_hashname(dns_fixedname_t *result, - unsigned char rethash[NSEC3_MAX_HASH_LENGTH], + unsigned char rethash[NSEC3_MAX_HASH_LENGTH], size_t *hash_length, const dns_name_t *name, - const dns_name_t *origin, - dns_hash_t hashalg, unsigned int iterations, - const unsigned char *salt, size_t saltlength) + const dns_name_t *origin, dns_hash_t hashalg, + unsigned int iterations, const unsigned char *salt, + size_t saltlength) { - unsigned char hash[NSEC3_MAX_HASH_LENGTH]; - unsigned char nametext[DNS_NAME_FORMATSIZE]; + unsigned char hash[NSEC3_MAX_HASH_LENGTH]; + unsigned char nametext[DNS_NAME_FORMATSIZE]; dns_fixedname_t fixed; - dns_name_t *downcased; - isc_buffer_t namebuffer; - isc_region_t region; - size_t len; + dns_name_t * downcased; + isc_buffer_t namebuffer; + isc_region_t region; + size_t len; if (rethash == NULL) rethash = hash; @@ -241,9 +241,9 @@ dns_nsec3_hashname(dns_fixedname_t *result, dns_name_downcase(name, downcased, NULL); /* hash the node name */ - len = isc_iterated_hash(rethash, hashalg, iterations, - salt, (int)saltlength, - downcased->ndata, downcased->length); + len = isc_iterated_hash(rethash, hashalg, iterations, salt, + (int)saltlength, downcased->ndata, + downcased->length); if (len == 0U) return (DNS_R_BADALG); @@ -263,17 +263,18 @@ dns_nsec3_hashname(dns_fixedname_t *result, } unsigned int -dns_nsec3_hashlength(dns_hash_t hash) { - +dns_nsec3_hashlength(dns_hash_t hash) +{ switch (hash) { case dns_hash_sha1: - return(ISC_SHA1_DIGESTLENGTH); + return (ISC_SHA1_DIGESTLENGTH); } return (0); } bool -dns_nsec3_supportedhash(dns_hash_t hash) { +dns_nsec3_supportedhash(dns_hash_t hash) +{ switch (hash) { case dns_hash_sha1: return (true); @@ -293,7 +294,7 @@ static isc_result_t do_one_tuple(dns_difftuple_t **tuple, dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff) { - dns_diff_t temp_diff; + dns_diff_t temp_diff; isc_result_t result; /* @@ -330,8 +331,8 @@ static isc_result_t name_exists(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, bool *exists) { - isc_result_t result; - dns_dbnode_t *node = NULL; + isc_result_t result; + dns_dbnode_t * node = NULL; dns_rdatasetiter_t *iter = NULL; result = dns_db_findnode(db, name, false, &node); @@ -342,8 +343,8 @@ name_exists(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, if (result != ISC_R_SUCCESS) return (result); - result = dns_db_allrdatasets(db, node, version, - (isc_stdtime_t) 0, &iter); + result = + dns_db_allrdatasets(db, node, version, (isc_stdtime_t)0, &iter); if (result != ISC_R_SUCCESS) goto cleanup_node; @@ -357,13 +358,13 @@ name_exists(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, *exists = false; dns_rdatasetiter_destroy(&iter); - cleanup_node: +cleanup_node: dns_db_detachnode(db, &node); return (result); } static bool -match_nsec3param(const dns_rdata_nsec3_t *nsec3, +match_nsec3param(const dns_rdata_nsec3_t * nsec3, const dns_rdata_nsec3param_t *nsec3param) { if (nsec3->hash == nsec3param->hash && @@ -382,11 +383,11 @@ static isc_result_t delnsec3(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, const dns_rdata_nsec3param_t *nsec3param, dns_diff_t *diff) { - dns_dbnode_t *node = NULL ; - dns_difftuple_t *tuple = NULL; + dns_dbnode_t * node = NULL; + dns_difftuple_t * tuple = NULL; dns_rdata_nsec3_t nsec3; - dns_rdataset_t rdataset; - isc_result_t result; + dns_rdataset_t rdataset; + isc_result_t result; result = dns_db_findnsec3node(db, name, false, &node); if (result == ISC_R_NOTFOUND) @@ -396,7 +397,7 @@ delnsec3(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, dns_rdataset_init(&rdataset); result = dns_db_findrdataset(db, node, version, dns_rdatatype_nsec3, 0, - (isc_stdtime_t) 0, &rdataset, NULL); + (isc_stdtime_t)0, &rdataset, NULL); if (result == ISC_R_NOTFOUND) { result = ISC_R_SUCCESS; @@ -405,10 +406,8 @@ delnsec3(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, if (result != ISC_R_SUCCESS) goto cleanup_node; - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(&rdataset)) - { + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(&rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(&rdataset, &rdata); CHECK(dns_rdata_tostruct(&rdata, &nsec3, NULL)); @@ -428,43 +427,42 @@ delnsec3(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, goto failure; result = ISC_R_SUCCESS; - failure: +failure: dns_rdataset_disassociate(&rdataset); - cleanup_node: +cleanup_node: dns_db_detachnode(db, &node); return (result); } static bool -better_param(dns_rdataset_t *nsec3paramset, dns_rdata_t *param) { +better_param(dns_rdataset_t *nsec3paramset, dns_rdata_t *param) +{ dns_rdataset_t rdataset; - isc_result_t result; + isc_result_t result; if (REMOVE(param->data[1])) return (true); dns_rdataset_init(&rdataset); dns_rdataset_clone(nsec3paramset, &rdataset); - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE]; if (rdataset.type != dns_rdatatype_nsec3param) { - dns_rdata_t tmprdata = DNS_RDATA_INIT; + dns_rdata_t tmprdata = DNS_RDATA_INIT; dns_rdataset_current(&rdataset, &tmprdata); - if (!dns_nsec3param_fromprivate(&tmprdata, &rdata, - buf, sizeof(buf))) + if (!dns_nsec3param_fromprivate(&tmprdata, &rdata, buf, + sizeof(buf))) continue; } else dns_rdataset_current(&rdataset, &rdata); if (rdata.length != param->length) continue; - if (rdata.data[0] != param->data[0] || - REMOVE(rdata.data[1]) || + if (rdata.data[0] != param->data[0] || REMOVE(rdata.data[1]) || rdata.data[2] != param->data[2] || rdata.data[3] != param->data[3] || rdata.data[4] != param->data[4] || @@ -484,8 +482,7 @@ find_nsec3(dns_rdata_nsec3_t *nsec3, dns_rdataset_t *rdataset, const dns_rdata_nsec3param_t *nsec3param) { isc_result_t result; - for (result = dns_rdataset_first(rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; @@ -495,45 +492,45 @@ find_nsec3(dns_rdata_nsec3_t *nsec3, dns_rdataset_t *rdataset, if (match_nsec3param(nsec3, nsec3param)) break; } - failure: +failure: return (result); } isc_result_t dns_nsec3_addnsec3(dns_db_t *db, dns_dbversion_t *version, - const dns_name_t *name, - const dns_rdata_nsec3param_t *nsec3param, - dns_ttl_t nsecttl, bool unsecure, dns_diff_t *diff) + const dns_name_t * name, + const dns_rdata_nsec3param_t *nsec3param, dns_ttl_t nsecttl, + bool unsecure, dns_diff_t *diff) { dns_dbiterator_t *dbit = NULL; - dns_dbnode_t *node = NULL; - dns_dbnode_t *newnode = NULL; - dns_difftuple_t *tuple = NULL; - dns_fixedname_t fixed; - dns_fixedname_t fprev; - dns_hash_t hash; - dns_name_t *hashname; - dns_name_t *origin; - dns_name_t *prev; - dns_name_t empty; + dns_dbnode_t * node = NULL; + dns_dbnode_t * newnode = NULL; + dns_difftuple_t * tuple = NULL; + dns_fixedname_t fixed; + dns_fixedname_t fprev; + dns_hash_t hash; + dns_name_t * hashname; + dns_name_t * origin; + dns_name_t * prev; + dns_name_t empty; dns_rdata_nsec3_t nsec3; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdataset_t rdataset; - int pass; - bool exists = false; - bool maybe_remove_unsecure = false; - uint8_t flags; - isc_buffer_t buffer; - isc_result_t result; - unsigned char *old_next; - unsigned char *salt; - unsigned char nexthash[NSEC3_MAX_HASH_LENGTH]; - unsigned char nsec3buf[DNS_NSEC3_BUFFERSIZE]; - unsigned int iterations; - unsigned int labels; - size_t next_length; - unsigned int old_length; - unsigned int salt_length; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdataset_t rdataset; + int pass; + bool exists = false; + bool maybe_remove_unsecure = false; + uint8_t flags; + isc_buffer_t buffer; + isc_result_t result; + unsigned char * old_next; + unsigned char * salt; + unsigned char nexthash[NSEC3_MAX_HASH_LENGTH]; + unsigned char nsec3buf[DNS_NSEC3_BUFFERSIZE]; + unsigned int iterations; + unsigned int labels; + size_t next_length; + unsigned int old_length; + unsigned int salt_length; hashname = dns_fixedname_initname(&fixed); prev = dns_fixedname_initname(&fprev); @@ -560,9 +557,8 @@ dns_nsec3_addnsec3(dns_db_t *db, dns_dbversion_t *version, * remain pointing to itself. */ next_length = sizeof(nexthash); - CHECK(dns_nsec3_hashname(&fixed, nexthash, &next_length, - name, origin, hash, iterations, - salt, salt_length)); + CHECK(dns_nsec3_hashname(&fixed, nexthash, &next_length, name, origin, + hash, iterations, salt, salt_length)); INSIST(next_length <= sizeof(nexthash)); /* @@ -578,7 +574,7 @@ dns_nsec3_addnsec3(dns_db_t *db, dns_dbversion_t *version, CHECK(dns_dbiterator_seek(dbit, hashname)); CHECK(dns_dbiterator_pause(dbit)); result = dns_db_findrdataset(db, newnode, version, dns_rdatatype_nsec3, - 0, (isc_stdtime_t) 0, &rdataset, NULL); + 0, (isc_stdtime_t)0, &rdataset, NULL); /* * If we updating a existing NSEC3 then find its * next field. @@ -628,8 +624,7 @@ dns_nsec3_addnsec3(dns_db_t *db, dns_dbversion_t *version, CHECK(dns_dbiterator_pause(dbit)); result = dns_db_findrdataset(db, node, version, dns_rdatatype_nsec3, 0, - (isc_stdtime_t) 0, &rdataset, - NULL); + (isc_stdtime_t)0, &rdataset, NULL); dns_db_detachnode(db, &node); if (result != ISC_R_SUCCESS) continue; @@ -695,7 +690,7 @@ dns_nsec3_addnsec3(dns_db_t *db, dns_dbversion_t *version, break; } while (pass < 2); - addnsec3: +addnsec3: /* * Create the NSEC3 RDATA. */ @@ -712,8 +707,8 @@ dns_nsec3_addnsec3(dns_db_t *db, dns_dbversion_t *version, /* * Add the new NSEC3 and record the change. */ - CHECK(dns_difftuple_create(diff->mctx, DNS_DIFFOP_ADD, - hashname, nsecttl, &rdata, &tuple)); + CHECK(dns_difftuple_create(diff->mctx, DNS_DIFFOP_ADD, hashname, + nsecttl, &rdata, &tuple)); CHECK(do_one_tuple(&tuple, db, version, diff)); INSIST(tuple == NULL); dns_rdata_reset(&rdata); @@ -732,9 +727,9 @@ dns_nsec3_addnsec3(dns_db_t *db, dns_dbversion_t *version, CHECK(name_exists(db, version, &empty, &exists)); if (exists) break; - CHECK(dns_nsec3_hashname(&fixed, nexthash, &next_length, - &empty, origin, hash, iterations, - salt, salt_length)); + CHECK(dns_nsec3_hashname(&fixed, nexthash, &next_length, &empty, + origin, hash, iterations, salt, + salt_length)); /* * Create the node if it doesn't exist and hold @@ -744,8 +739,7 @@ dns_nsec3_addnsec3(dns_db_t *db, dns_dbversion_t *version, CHECK(dns_db_findnsec3node(db, hashname, true, &newnode)); result = dns_db_findrdataset(db, newnode, version, dns_rdatatype_nsec3, 0, - (isc_stdtime_t) 0, &rdataset, - NULL); + (isc_stdtime_t)0, &rdataset, NULL); if (result == ISC_R_SUCCESS) { result = find_nsec3(&nsec3, &rdataset, nsec3param); dns_rdataset_disassociate(&rdataset); @@ -770,10 +764,9 @@ dns_nsec3_addnsec3(dns_db_t *db, dns_dbversion_t *version, } CHECK(dns_dbiterator_current(dbit, &node, prev)); CHECK(dns_dbiterator_pause(dbit)); - result = dns_db_findrdataset(db, node, version, - dns_rdatatype_nsec3, 0, - (isc_stdtime_t) 0, - &rdataset, NULL); + result = dns_db_findrdataset( + db, node, version, dns_rdatatype_nsec3, 0, + (isc_stdtime_t)0, &rdataset, NULL); dns_db_detachnode(db, &node); if (result != ISC_R_SUCCESS) continue; @@ -798,8 +791,7 @@ dns_nsec3_addnsec3(dns_db_t *db, dns_dbversion_t *version, */ nsec3.next = nexthash; nsec3.next_length = (unsigned char)next_length; - isc_buffer_init(&buffer, nsec3buf, - sizeof(nsec3buf)); + isc_buffer_init(&buffer, nsec3buf, sizeof(nsec3buf)); CHECK(dns_rdata_fromstruct(&rdata, rdataset.rdclass, dns_rdatatype_nsec3, &nsec3, &buffer)); @@ -821,10 +813,9 @@ dns_nsec3_addnsec3(dns_db_t *db, dns_dbversion_t *version, /* * Create the NSEC3 RDATA for the empty node. */ - CHECK(dns_nsec3_buildrdata(db, version, NULL, hash, flags, - iterations, salt, salt_length, - nexthash, next_length, nsec3buf, - &rdata)); + CHECK(dns_nsec3_buildrdata( + db, version, NULL, hash, flags, iterations, salt, + salt_length, nexthash, next_length, nsec3buf, &rdata)); /* * Delete the old NSEC3 and record the change. */ @@ -833,8 +824,8 @@ dns_nsec3_addnsec3(dns_db_t *db, dns_dbversion_t *version, /* * Add the new NSEC3 and record the change. */ - CHECK(dns_difftuple_create(diff->mctx, DNS_DIFFOP_ADD, - hashname, nsecttl, &rdata, &tuple)); + CHECK(dns_difftuple_create(diff->mctx, DNS_DIFFOP_ADD, hashname, + nsecttl, &rdata, &tuple)); CHECK(do_one_tuple(&tuple, db, version, diff)); INSIST(tuple == NULL); dns_rdata_reset(&rdata); @@ -844,7 +835,7 @@ dns_nsec3_addnsec3(dns_db_t *db, dns_dbversion_t *version, /* result cannot be ISC_R_NOMORE here */ INSIST(result != ISC_R_NOMORE); - failure: +failure: if (dbit != NULL) dns_dbiterator_destroy(&dbit); if (dns_rdataset_isassociated(&rdataset)) @@ -862,13 +853,13 @@ dns_nsec3_addnsec3(dns_db_t *db, dns_dbversion_t *version, */ isc_result_t dns_nsec3_addnsec3s(dns_db_t *db, dns_dbversion_t *version, - const dns_name_t *name, dns_ttl_t nsecttl, - bool unsecure, dns_diff_t *diff) + const dns_name_t *name, dns_ttl_t nsecttl, bool unsecure, + dns_diff_t *diff) { - dns_dbnode_t *node = NULL; + dns_dbnode_t * node = NULL; dns_rdata_nsec3param_t nsec3param; - dns_rdataset_t rdataset; - isc_result_t result; + dns_rdataset_t rdataset; + isc_result_t result; dns_rdataset_init(&rdataset); @@ -880,8 +871,8 @@ dns_nsec3_addnsec3s(dns_db_t *db, dns_dbversion_t *version, return (result); result = dns_db_findrdataset(db, node, version, - dns_rdatatype_nsec3param, 0, 0, - &rdataset, NULL); + dns_rdatatype_nsec3param, 0, 0, &rdataset, + NULL); dns_db_detachnode(db, &node); if (result == ISC_R_NOTFOUND) return (ISC_R_SUCCESS); @@ -891,8 +882,7 @@ dns_nsec3_addnsec3s(dns_db_t *db, dns_dbversion_t *version, /* * Update each active NSEC3 chain. */ - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; @@ -910,7 +900,7 @@ dns_nsec3_addnsec3s(dns_db_t *db, dns_dbversion_t *version, if (result == ISC_R_NOMORE) result = ISC_R_SUCCESS; - failure: +failure: if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); if (node != NULL) @@ -924,9 +914,9 @@ dns_nsec3param_fromprivate(dns_rdata_t *src, dns_rdata_t *target, unsigned char *buf, size_t buflen) { dns_decompress_t dctx; - isc_result_t result; - isc_buffer_t buf1; - isc_buffer_t buf2; + isc_result_t result; + isc_buffer_t buf1; + isc_buffer_t buf2; /* * Algorithm 0 (reserved by RFC 4034) is used to identify @@ -941,8 +931,8 @@ dns_nsec3param_fromprivate(dns_rdata_t *src, dns_rdata_t *target, isc_buffer_init(&buf2, buf, (unsigned int)buflen); dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_NONE); result = dns_rdata_fromwire(target, src->rdclass, - dns_rdatatype_nsec3param, - &buf1, &dctx, 0, &buf2); + dns_rdatatype_nsec3param, &buf1, &dctx, 0, + &buf2); dns_decompress_invalidate(&dctx); return (result == ISC_R_SUCCESS); @@ -950,8 +940,8 @@ dns_nsec3param_fromprivate(dns_rdata_t *src, dns_rdata_t *target, void dns_nsec3param_toprivate(dns_rdata_t *src, dns_rdata_t *target, - dns_rdatatype_t privatetype, - unsigned char *buf, size_t buflen) + dns_rdatatype_t privatetype, unsigned char *buf, + size_t buflen) { REQUIRE(buflen >= src->length + 1); @@ -972,8 +962,8 @@ rr_exists(dns_db_t *db, dns_dbversion_t *ver, const dns_name_t *name, const dns_rdata_t *rdata, bool *flag) { dns_rdataset_t rdataset; - dns_dbnode_t *node = NULL; - isc_result_t result; + dns_dbnode_t * node = NULL; + isc_result_t result; dns_rdataset_init(&rdataset); if (rdata->type == dns_rdatatype_nsec3) @@ -981,15 +971,14 @@ rr_exists(dns_db_t *db, dns_dbversion_t *ver, const dns_name_t *name, else CHECK(dns_db_findnode(db, name, false, &node)); result = dns_db_findrdataset(db, node, ver, rdata->type, 0, - (isc_stdtime_t) 0, &rdataset, NULL); + (isc_stdtime_t)0, &rdataset, NULL); if (result == ISC_R_NOTFOUND) { *flag = false; result = ISC_R_SUCCESS; goto failure; } - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdata_t myrdata = DNS_RDATA_INIT; dns_rdataset_current(&rdataset, &myrdata); @@ -1004,7 +993,7 @@ rr_exists(dns_db_t *db, dns_dbversion_t *ver, const dns_name_t *name, result = ISC_R_SUCCESS; } - failure: +failure: if (node != NULL) dns_db_detachnode(db, &node); return (result); @@ -1048,19 +1037,18 @@ dns_nsec3param_salttotext(dns_rdata_nsec3param_t *nsec3param, char *dst, isc_result_t dns_nsec3param_deletechains(dns_db_t *db, dns_dbversion_t *ver, - dns_zone_t *zone, bool nonsec, - dns_diff_t *diff) + dns_zone_t *zone, bool nonsec, dns_diff_t *diff) { - dns_dbnode_t *node = NULL; + dns_dbnode_t * node = NULL; dns_difftuple_t *tuple = NULL; - dns_name_t next; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdataset_t rdataset; - bool flag; - isc_result_t result = ISC_R_SUCCESS; - unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE + 1]; - dns_name_t *origin = dns_zone_getorigin(zone); - dns_rdatatype_t privatetype = dns_zone_getprivatetype(zone); + dns_name_t next; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdataset_t rdataset; + bool flag; + isc_result_t result = ISC_R_SUCCESS; + unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE + 1]; + dns_name_t * origin = dns_zone_getorigin(zone); + dns_rdatatype_t privatetype = dns_zone_getprivatetype(zone); dns_name_init(&next, NULL); dns_rdataset_init(&rdataset); @@ -1072,15 +1060,14 @@ dns_nsec3param_deletechains(dns_db_t *db, dns_dbversion_t *ver, /* * Cause all NSEC3 chains to be deleted. */ - result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec3param, - 0, (isc_stdtime_t) 0, &rdataset, NULL); + result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec3param, 0, + (isc_stdtime_t)0, &rdataset, NULL); if (result == ISC_R_NOTFOUND) goto try_private; if (result != ISC_R_SUCCESS) goto failure; - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdata_t private = DNS_RDATA_INIT; @@ -1091,8 +1078,8 @@ dns_nsec3param_deletechains(dns_db_t *db, dns_dbversion_t *ver, CHECK(do_one_tuple(&tuple, db, ver, diff)); INSIST(tuple == NULL); - dns_nsec3param_toprivate(&rdata, &private, privatetype, - buf, sizeof(buf)); + dns_nsec3param_toprivate(&rdata, &private, privatetype, buf, + sizeof(buf)); buf[2] = DNS_NSEC3FLAG_REMOVE; if (nonsec) buf[2] |= DNS_NSEC3FLAG_NONSEC; @@ -1113,18 +1100,17 @@ dns_nsec3param_deletechains(dns_db_t *db, dns_dbversion_t *ver, dns_rdataset_disassociate(&rdataset); - try_private: +try_private: if (privatetype == 0) goto success; result = dns_db_findrdataset(db, node, ver, privatetype, 0, - (isc_stdtime_t) 0, &rdataset, NULL); + (isc_stdtime_t)0, &rdataset, NULL); if (result == ISC_R_NOTFOUND) goto success; if (result != ISC_R_SUCCESS) goto failure; - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdata_reset(&rdata); dns_rdataset_current(&rdataset, &rdata); @@ -1161,10 +1147,10 @@ dns_nsec3param_deletechains(dns_db_t *db, dns_dbversion_t *ver, } if (result != ISC_R_NOMORE) goto failure; - success: +success: result = ISC_R_SUCCESS; - failure: +failure: if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); dns_db_detachnode(db, &node); @@ -1173,15 +1159,14 @@ dns_nsec3param_deletechains(dns_db_t *db, dns_dbversion_t *ver, isc_result_t dns_nsec3_addnsec3sx(dns_db_t *db, dns_dbversion_t *version, - const dns_name_t *name, dns_ttl_t nsecttl, - bool unsecure, dns_rdatatype_t type, - dns_diff_t *diff) + const dns_name_t *name, dns_ttl_t nsecttl, bool unsecure, + dns_rdatatype_t type, dns_diff_t *diff) { - dns_dbnode_t *node = NULL; + dns_dbnode_t * node = NULL; dns_rdata_nsec3param_t nsec3param; - dns_rdataset_t rdataset; - dns_rdataset_t prdataset; - isc_result_t result; + dns_rdataset_t rdataset; + dns_rdataset_t prdataset; + isc_result_t result; dns_rdataset_init(&rdataset); dns_rdataset_init(&prdataset); @@ -1193,14 +1178,14 @@ dns_nsec3_addnsec3sx(dns_db_t *db, dns_dbversion_t *version, if (result != ISC_R_SUCCESS) return (result); - result = dns_db_findrdataset(db, node, version, type, 0, 0, - &prdataset, NULL); + result = dns_db_findrdataset(db, node, version, type, 0, 0, &prdataset, + NULL); if (result != ISC_R_SUCCESS && result != ISC_R_NOTFOUND) goto failure; result = dns_db_findrdataset(db, node, version, - dns_rdatatype_nsec3param, 0, 0, - &rdataset, NULL); + dns_rdatatype_nsec3param, 0, 0, &rdataset, + NULL); if (result == ISC_R_NOTFOUND) goto try_private; if (result != ISC_R_SUCCESS) @@ -1209,8 +1194,7 @@ dns_nsec3_addnsec3sx(dns_db_t *db, dns_dbversion_t *version, /* * Update each active NSEC3 chain. */ - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; @@ -1231,22 +1215,21 @@ dns_nsec3_addnsec3sx(dns_db_t *db, dns_dbversion_t *version, dns_rdataset_disassociate(&rdataset); - try_private: +try_private: if (!dns_rdataset_isassociated(&prdataset)) goto success; /* * Update each active NSEC3 chain. */ - for (result = dns_rdataset_first(&prdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&prdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&prdataset)) { - dns_rdata_t rdata1 = DNS_RDATA_INIT; - dns_rdata_t rdata2 = DNS_RDATA_INIT; + dns_rdata_t rdata1 = DNS_RDATA_INIT; + dns_rdata_t rdata2 = DNS_RDATA_INIT; unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE]; dns_rdataset_current(&prdataset, &rdata1); - if (!dns_nsec3param_fromprivate(&rdata1, &rdata2, - buf, sizeof(buf))) + if (!dns_nsec3param_fromprivate(&rdata1, &rdata2, buf, + sizeof(buf))) continue; CHECK(dns_rdata_tostruct(&rdata2, &nsec3param, NULL)); @@ -1262,9 +1245,9 @@ dns_nsec3_addnsec3sx(dns_db_t *db, dns_dbversion_t *version, nsecttl, unsecure, diff)); } if (result == ISC_R_NOMORE) - success: + success: result = ISC_R_SUCCESS; - failure: +failure: if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); if (dns_rdataset_isassociated(&prdataset)) @@ -1285,17 +1268,16 @@ static isc_result_t deleteit(dns_db_t *db, dns_dbversion_t *ver, const dns_name_t *name, bool *yesno) { - isc_result_t result; + isc_result_t result; dns_fixedname_t foundname; dns_fixedname_init(&foundname); result = dns_db_find(db, name, ver, dns_rdatatype_any, DNS_DBFIND_GLUEOK | DNS_DBFIND_NOWILD, - (isc_stdtime_t) 0, NULL, - dns_fixedname_name(&foundname), - NULL, NULL); + (isc_stdtime_t)0, NULL, + dns_fixedname_name(&foundname), NULL, NULL); if (result == DNS_R_EMPTYNAME || result == ISC_R_SUCCESS || - result == DNS_R_ZONECUT) { + result == DNS_R_ZONECUT) { *yesno = false; return (ISC_R_SUCCESS); } @@ -1313,33 +1295,33 @@ deleteit(dns_db_t *db, dns_dbversion_t *ver, const dns_name_t *name, isc_result_t dns_nsec3_delnsec3(dns_db_t *db, dns_dbversion_t *version, - const dns_name_t *name, + const dns_name_t * name, const dns_rdata_nsec3param_t *nsec3param, dns_diff_t *diff) { dns_dbiterator_t *dbit = NULL; - dns_dbnode_t *node = NULL; - dns_difftuple_t *tuple = NULL; - dns_fixedname_t fixed; - dns_fixedname_t fprev; - dns_hash_t hash; - dns_name_t *hashname; - dns_name_t *origin; - dns_name_t *prev; - dns_name_t empty; + dns_dbnode_t * node = NULL; + dns_difftuple_t * tuple = NULL; + dns_fixedname_t fixed; + dns_fixedname_t fprev; + dns_hash_t hash; + dns_name_t * hashname; + dns_name_t * origin; + dns_name_t * prev; + dns_name_t empty; dns_rdata_nsec3_t nsec3; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdataset_t rdataset; - int pass; - bool yesno; - isc_buffer_t buffer; - isc_result_t result; - unsigned char *salt; - unsigned char nexthash[NSEC3_MAX_HASH_LENGTH]; - unsigned char nsec3buf[DNS_NSEC3_BUFFERSIZE]; - unsigned int iterations; - unsigned int labels; - size_t next_length; - unsigned int salt_length; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdataset_t rdataset; + int pass; + bool yesno; + isc_buffer_t buffer; + isc_result_t result; + unsigned char * salt; + unsigned char nexthash[NSEC3_MAX_HASH_LENGTH]; + unsigned char nsec3buf[DNS_NSEC3_BUFFERSIZE]; + unsigned int iterations; + unsigned int labels; + size_t next_length; + unsigned int salt_length; hashname = dns_fixedname_initname(&fixed); prev = dns_fixedname_initname(&fprev); @@ -1361,9 +1343,8 @@ dns_nsec3_delnsec3(dns_db_t *db, dns_dbversion_t *version, * remain pointing to itself. */ next_length = sizeof(nexthash); - CHECK(dns_nsec3_hashname(&fixed, nexthash, &next_length, - name, origin, hash, iterations, - salt, salt_length)); + CHECK(dns_nsec3_hashname(&fixed, nexthash, &next_length, name, origin, + hash, iterations, salt, salt_length)); CHECK(dns_db_createiterator(db, DNS_DB_NSEC3ONLY, &dbit)); @@ -1375,8 +1356,8 @@ dns_nsec3_delnsec3(dns_db_t *db, dns_dbversion_t *version, CHECK(dns_dbiterator_current(dbit, &node, NULL)); CHECK(dns_dbiterator_pause(dbit)); - result = dns_db_findrdataset(db, node, version, dns_rdatatype_nsec3, - 0, (isc_stdtime_t) 0, &rdataset, NULL); + result = dns_db_findrdataset(db, node, version, dns_rdatatype_nsec3, 0, + (isc_stdtime_t)0, &rdataset, NULL); dns_db_detachnode(db, &node); if (result == ISC_R_NOTFOUND) goto success; @@ -1413,8 +1394,7 @@ dns_nsec3_delnsec3(dns_db_t *db, dns_dbversion_t *version, CHECK(dns_dbiterator_pause(dbit)); result = dns_db_findrdataset(db, node, version, dns_rdatatype_nsec3, 0, - (isc_stdtime_t) 0, &rdataset, - NULL); + (isc_stdtime_t)0, &rdataset, NULL); dns_db_detachnode(db, &node); if (result != ISC_R_SUCCESS) continue; @@ -1469,9 +1449,9 @@ dns_nsec3_delnsec3(dns_db_t *db, dns_dbversion_t *version, if (!yesno) break; - CHECK(dns_nsec3_hashname(&fixed, nexthash, &next_length, - &empty, origin, hash, iterations, - salt, salt_length)); + CHECK(dns_nsec3_hashname(&fixed, nexthash, &next_length, &empty, + origin, hash, iterations, salt, + salt_length)); result = dns_dbiterator_seek(dbit, hashname); if (result == ISC_R_NOTFOUND || result == DNS_R_PARTIALMATCH) goto success; @@ -1482,8 +1462,7 @@ dns_nsec3_delnsec3(dns_db_t *db, dns_dbversion_t *version, CHECK(dns_dbiterator_pause(dbit)); result = dns_db_findrdataset(db, node, version, dns_rdatatype_nsec3, 0, - (isc_stdtime_t) 0, &rdataset, - NULL); + (isc_stdtime_t)0, &rdataset, NULL); dns_db_detachnode(db, &node); if (result == ISC_R_NOTFOUND) goto success; @@ -1511,10 +1490,9 @@ dns_nsec3_delnsec3(dns_db_t *db, dns_dbversion_t *version, } CHECK(dns_dbiterator_current(dbit, &node, prev)); CHECK(dns_dbiterator_pause(dbit)); - result = dns_db_findrdataset(db, node, version, - dns_rdatatype_nsec3, 0, - (isc_stdtime_t) 0, - &rdataset, NULL); + result = dns_db_findrdataset( + db, node, version, dns_rdatatype_nsec3, 0, + (isc_stdtime_t)0, &rdataset, NULL); dns_db_detachnode(db, &node); if (result != ISC_R_SUCCESS) continue; @@ -1536,8 +1514,7 @@ dns_nsec3_delnsec3(dns_db_t *db, dns_dbversion_t *version, */ nsec3.next = nexthash; nsec3.next_length = (unsigned char)next_length; - isc_buffer_init(&buffer, nsec3buf, - sizeof(nsec3buf)); + isc_buffer_init(&buffer, nsec3buf, sizeof(nsec3buf)); CHECK(dns_rdata_fromstruct(&rdata, rdataset.rdclass, dns_rdatatype_nsec3, &nsec3, &buffer)); @@ -1558,10 +1535,10 @@ dns_nsec3_delnsec3(dns_db_t *db, dns_dbversion_t *version, CHECK(delnsec3(db, version, hashname, nsec3param, diff)); } while (1); - success: +success: result = ISC_R_SUCCESS; - failure: +failure: if (dbit != NULL) dns_dbiterator_destroy(&dbit); if (dns_rdataset_isassociated(&rdataset)) @@ -1573,21 +1550,20 @@ dns_nsec3_delnsec3(dns_db_t *db, dns_dbversion_t *version, isc_result_t dns_nsec3_delnsec3s(dns_db_t *db, dns_dbversion_t *version, - const dns_name_t *name, - dns_diff_t *diff) + const dns_name_t *name, dns_diff_t *diff) { return (dns_nsec3_delnsec3sx(db, version, name, 0, diff)); } isc_result_t dns_nsec3_delnsec3sx(dns_db_t *db, dns_dbversion_t *version, - const dns_name_t *name, - dns_rdatatype_t privatetype, dns_diff_t *diff) + const dns_name_t *name, dns_rdatatype_t privatetype, + dns_diff_t *diff) { - dns_dbnode_t *node = NULL; + dns_dbnode_t * node = NULL; dns_rdata_nsec3param_t nsec3param; - dns_rdataset_t rdataset; - isc_result_t result; + dns_rdataset_t rdataset; + isc_result_t result; dns_rdataset_init(&rdataset); @@ -1599,8 +1575,8 @@ dns_nsec3_delnsec3sx(dns_db_t *db, dns_dbversion_t *version, return (result); result = dns_db_findrdataset(db, node, version, - dns_rdatatype_nsec3param, 0, 0, - &rdataset, NULL); + dns_rdatatype_nsec3param, 0, 0, &rdataset, + NULL); if (result == ISC_R_NOTFOUND) goto try_private; if (result != ISC_R_SUCCESS) @@ -1609,8 +1585,7 @@ dns_nsec3_delnsec3sx(dns_db_t *db, dns_dbversion_t *version, /* * Update each active NSEC3 chain. */ - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; @@ -1626,7 +1601,7 @@ dns_nsec3_delnsec3sx(dns_db_t *db, dns_dbversion_t *version, } dns_rdataset_disassociate(&rdataset); - try_private: +try_private: if (privatetype == 0) goto success; result = dns_db_findrdataset(db, node, version, privatetype, 0, 0, @@ -1639,16 +1614,15 @@ dns_nsec3_delnsec3sx(dns_db_t *db, dns_dbversion_t *version, /* * Update each NSEC3 chain being built. */ - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { - dns_rdata_t rdata1 = DNS_RDATA_INIT; - dns_rdata_t rdata2 = DNS_RDATA_INIT; + dns_rdata_t rdata1 = DNS_RDATA_INIT; + dns_rdata_t rdata2 = DNS_RDATA_INIT; unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE]; dns_rdataset_current(&rdataset, &rdata1); - if (!dns_nsec3param_fromprivate(&rdata1, &rdata2, - buf, sizeof(buf))) + if (!dns_nsec3param_fromprivate(&rdata1, &rdata2, buf, + sizeof(buf))) continue; CHECK(dns_rdata_tostruct(&rdata2, &nsec3param, NULL)); @@ -1663,10 +1637,10 @@ dns_nsec3_delnsec3sx(dns_db_t *db, dns_dbversion_t *version, CHECK(dns_nsec3_delnsec3(db, version, name, &nsec3param, diff)); } if (result == ISC_R_NOMORE) - success: + success: result = ISC_R_SUCCESS; - failure: +failure: if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); if (node != NULL) @@ -1676,21 +1650,20 @@ dns_nsec3_delnsec3sx(dns_db_t *db, dns_dbversion_t *version, } isc_result_t -dns_nsec3_active(dns_db_t *db, dns_dbversion_t *version, - bool complete, bool *answer) +dns_nsec3_active(dns_db_t *db, dns_dbversion_t *version, bool complete, + bool *answer) { return (dns_nsec3_activex(db, version, complete, 0, answer)); } isc_result_t -dns_nsec3_activex(dns_db_t *db, dns_dbversion_t *version, - bool complete, dns_rdatatype_t privatetype, - bool *answer) +dns_nsec3_activex(dns_db_t *db, dns_dbversion_t *version, bool complete, + dns_rdatatype_t privatetype, bool *answer) { - dns_dbnode_t *node = NULL; - dns_rdataset_t rdataset; + dns_dbnode_t * node = NULL; + dns_rdataset_t rdataset; dns_rdata_nsec3param_t nsec3param; - isc_result_t result; + isc_result_t result; REQUIRE(answer != NULL); @@ -1701,8 +1674,8 @@ dns_nsec3_activex(dns_db_t *db, dns_dbversion_t *version, return (result); result = dns_db_findrdataset(db, node, version, - dns_rdatatype_nsec3param, 0, 0, - &rdataset, NULL); + dns_rdatatype_nsec3param, 0, 0, &rdataset, + NULL); if (result == ISC_R_NOTFOUND) goto try_private; @@ -1711,8 +1684,7 @@ dns_nsec3_activex(dns_db_t *db, dns_dbversion_t *version, dns_db_detachnode(db, &node); return (result); } - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; @@ -1732,7 +1704,7 @@ dns_nsec3_activex(dns_db_t *db, dns_dbversion_t *version, if (result == ISC_R_NOMORE) *answer = false; - try_private: +try_private: if (privatetype == 0 || complete) { *answer = false; return (ISC_R_SUCCESS); @@ -1748,16 +1720,15 @@ dns_nsec3_activex(dns_db_t *db, dns_dbversion_t *version, if (result != ISC_R_SUCCESS) return (result); - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { - dns_rdata_t rdata1 = DNS_RDATA_INIT; - dns_rdata_t rdata2 = DNS_RDATA_INIT; + dns_rdata_t rdata1 = DNS_RDATA_INIT; + dns_rdata_t rdata2 = DNS_RDATA_INIT; unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE]; dns_rdataset_current(&rdataset, &rdata1); - if (!dns_nsec3param_fromprivate(&rdata1, &rdata2, - buf, sizeof(buf))) + if (!dns_nsec3param_fromprivate(&rdata1, &rdata2, buf, + sizeof(buf))) continue; result = dns_rdata_tostruct(&rdata2, &nsec3param, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); @@ -1779,23 +1750,23 @@ dns_nsec3_activex(dns_db_t *db, dns_dbversion_t *version, } isc_result_t -dns_nsec3_maxiterations(dns_db_t *db, dns_dbversion_t *version, - isc_mem_t *mctx, unsigned int *iterationsp) +dns_nsec3_maxiterations(dns_db_t *db, dns_dbversion_t *version, isc_mem_t *mctx, + unsigned int *iterationsp) { - dns_dbnode_t *node = NULL; + dns_dbnode_t * node = NULL; dns_rdataset_t rdataset; - dst_key_t *key = NULL; - isc_buffer_t buffer; - isc_result_t result; - unsigned int bits, minbits = 4096; + dst_key_t * key = NULL; + isc_buffer_t buffer; + isc_result_t result; + unsigned int bits, minbits = 4096; result = dns_db_getoriginnode(db, &node); if (result != ISC_R_SUCCESS) return (result); dns_rdataset_init(&rdataset); - result = dns_db_findrdataset(db, node, version, dns_rdatatype_dnskey, - 0, 0, &rdataset, NULL); + result = dns_db_findrdataset(db, node, version, dns_rdatatype_dnskey, 0, + 0, &rdataset, NULL); dns_db_detachnode(db, &node); if (result == ISC_R_NOTFOUND) { *iterationsp = 0; @@ -1804,8 +1775,7 @@ dns_nsec3_maxiterations(dns_db_t *db, dns_dbversion_t *version, if (result != ISC_R_SUCCESS) goto failure; - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(&rdataset, &rdata); @@ -1840,7 +1810,7 @@ dns_nsec3_maxiterations(dns_db_t *db, dns_dbversion_t *version, *iterationsp = 2500; result = ISC_R_SUCCESS; - failure: +failure: if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); return (result); @@ -1849,34 +1819,33 @@ dns_nsec3_maxiterations(dns_db_t *db, dns_dbversion_t *version, isc_result_t dns_nsec3_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, const dns_name_t *nsec3name, dns_rdataset_t *nsec3set, - dns_name_t *zonename, bool *exists, - bool *data, bool *optout, - bool *unknown, bool *setclosest, + dns_name_t *zonename, bool *exists, bool *data, + bool *optout, bool *unknown, bool *setclosest, bool *setnearest, dns_name_t *closest, dns_name_t *nearest, dns_nseclog_t logit, void *arg) { - char namebuf[DNS_NAME_FORMATSIZE]; - dns_fixedname_t fzone; - dns_fixedname_t qfixed; - dns_label_t hashlabel; - dns_name_t *qname; - dns_name_t *zone; + char namebuf[DNS_NAME_FORMATSIZE]; + dns_fixedname_t fzone; + dns_fixedname_t qfixed; + dns_label_t hashlabel; + dns_name_t * qname; + dns_name_t * zone; dns_rdata_nsec3_t nsec3; - dns_rdata_t rdata = DNS_RDATA_INIT; - int order; - int scope; - bool atparent; - bool first; - bool ns; - bool soa; - isc_buffer_t buffer; - isc_result_t answer = ISC_R_IGNORE; - isc_result_t result; - unsigned char hash[NSEC3_MAX_HASH_LENGTH]; - unsigned char owner[NSEC3_MAX_HASH_LENGTH]; - unsigned int length; - unsigned int qlabels; - unsigned int zlabels; + dns_rdata_t rdata = DNS_RDATA_INIT; + int order; + int scope; + bool atparent; + bool first; + bool ns; + bool soa; + isc_buffer_t buffer; + isc_result_t answer = ISC_R_IGNORE; + isc_result_t result; + unsigned char hash[NSEC3_MAX_HASH_LENGTH]; + unsigned char owner[NSEC3_MAX_HASH_LENGTH]; + unsigned int length; + unsigned int qlabels; + unsigned int zlabels; REQUIRE((exists == NULL && data == NULL) || (exists != NULL && data != NULL)); @@ -1986,8 +1955,8 @@ dns_nsec3_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, */ if (length != nsec3.next_length) { (*logit)(arg, ISC_LOG_DEBUG(3), - "ignoring NSEC bad length %u vs %u", - length, nsec3.next_length); + "ignoring NSEC bad length %u vs %u", length, + nsec3.next_length); return (ISC_R_IGNORE); } @@ -2024,12 +1993,14 @@ dns_nsec3_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, type == dns_rdatatype_nxt || type == dns_rdatatype_nsec || type == dns_rdatatype_key || - !dns_nsec3_typepresent(&rdata, dns_rdatatype_cname)) { + !dns_nsec3_typepresent(&rdata, + dns_rdatatype_cname)) { *exists = true; *data = dns_nsec3_typepresent(&rdata, type); (*logit)(arg, ISC_LOG_DEBUG(3), "NSEC3 proves name exists (owner) " - "data=%d", *data); + "data=%d", + *data); return (ISC_R_SUCCESS); } (*logit)(arg, ISC_LOG_DEBUG(3), @@ -2039,8 +2010,7 @@ dns_nsec3_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, if (order == 0 && dns_nsec3_typepresent(&rdata, dns_rdatatype_ns) && - !dns_nsec3_typepresent(&rdata, dns_rdatatype_soa)) - { + !dns_nsec3_typepresent(&rdata, dns_rdatatype_soa)) { /* * This NSEC3 record is from somewhere higher in * the DNS, and at the parent of a delegation. @@ -2059,16 +2029,17 @@ dns_nsec3_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, (dns_name_countlabels(closest) == 0 || dns_name_issubdomain(qname, closest)) && !dns_nsec3_typepresent(&rdata, dns_rdatatype_ds) && - !dns_nsec3_typepresent(&rdata, dns_rdatatype_dname) && + !dns_nsec3_typepresent(&rdata, + dns_rdatatype_dname) && (dns_nsec3_typepresent(&rdata, dns_rdatatype_soa) || - !dns_nsec3_typepresent(&rdata, dns_rdatatype_ns))) - { - + !dns_nsec3_typepresent(&rdata, + dns_rdatatype_ns))) { dns_name_format(qname, namebuf, sizeof(namebuf)); (*logit)(arg, ISC_LOG_DEBUG(3), "NSEC3 indicates potential closest " - "encloser: '%s'", namebuf); + "encloser: '%s'", + namebuf); dns_name_copynf(qname, closest); *setclosest = true; } @@ -2091,12 +2062,13 @@ dns_nsec3_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, */ if ((scope < 0 && order > 0 && memcmp(hash, nsec3.next, length) < 0) || - (scope >= 0 && (order > 0 || - memcmp(hash, nsec3.next, length) < 0))) - { + (scope >= 0 && + (order > 0 || memcmp(hash, nsec3.next, length) < 0))) { dns_name_format(qname, namebuf, sizeof(namebuf)); - (*logit)(arg, ISC_LOG_DEBUG(3), "NSEC3 proves " - "name does not exist: '%s'", namebuf); + (*logit)(arg, ISC_LOG_DEBUG(3), + "NSEC3 proves " + "name does not exist: '%s'", + namebuf); if (nearest != NULL && (dns_name_countlabels(nearest) == 0 || dns_name_issubdomain(nearest, qname))) { @@ -2107,12 +2079,12 @@ dns_nsec3_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, *exists = false; *data = false; if (optout != NULL) { - *optout = ((nsec3.flags & DNS_NSEC3FLAG_OPTOUT) - != 0); + *optout = ((nsec3.flags & + DNS_NSEC3FLAG_OPTOUT) != 0); (*logit)(arg, ISC_LOG_DEBUG(3), - (*optout - ? "NSEC3 indicates optout" - : "NSEC3 indicates secure range")); + (*optout ? "NSEC3 indicates optout" + : "NSEC3 indicates secure " + "range")); } answer = ISC_R_SUCCESS; } diff --git a/lib/dns/nta.c b/lib/dns/nta.c index 010d8dc3b8..fca1578fd0 100644 --- a/lib/dns/nta.c +++ b/lib/dns/nta.c @@ -26,10 +26,10 @@ #include #include -#include -#include #include +#include #include +#include #include #include #include @@ -37,33 +37,35 @@ #include struct dns_nta { - unsigned int magic; - isc_refcount_t refcount; - dns_ntatable_t *ntatable; + unsigned int magic; + isc_refcount_t refcount; + dns_ntatable_t *ntatable; bool forced; - isc_timer_t *timer; - dns_fetch_t *fetch; - dns_rdataset_t rdataset; - dns_rdataset_t sigrdataset; - dns_fixedname_t fn; - dns_name_t *name; - isc_stdtime_t expiry; + isc_timer_t * timer; + dns_fetch_t * fetch; + dns_rdataset_t rdataset; + dns_rdataset_t sigrdataset; + dns_fixedname_t fn; + dns_name_t * name; + isc_stdtime_t expiry; }; -#define NTA_MAGIC ISC_MAGIC('N', 'T', 'A', 'n') -#define VALID_NTA(nn) ISC_MAGIC_VALID(nn, NTA_MAGIC) +#define NTA_MAGIC ISC_MAGIC('N', 'T', 'A', 'n') +#define VALID_NTA(nn) ISC_MAGIC_VALID(nn, NTA_MAGIC) /* * Obtain a reference to the nta object. Released by * nta_detach. */ static void -nta_ref(dns_nta_t *nta) { +nta_ref(dns_nta_t *nta) +{ isc_refcount_increment(&nta->refcount); } static void -nta_detach(isc_mem_t *mctx, dns_nta_t **ntap) { +nta_detach(isc_mem_t *mctx, dns_nta_t **ntap) +{ REQUIRE(ntap != NULL && VALID_NTA(*ntap)); dns_nta_t *nta = *ntap; *ntap = NULL; @@ -73,8 +75,8 @@ nta_detach(isc_mem_t *mctx, dns_nta_t **ntap) { nta->magic = 0; if (nta->timer != NULL) { (void)isc_timer_reset(nta->timer, - isc_timertype_inactive, - NULL, NULL, true); + isc_timertype_inactive, NULL, + NULL, true); isc_timer_detach(&nta->timer); } if (dns_rdataset_isassociated(&nta->rdataset)) { @@ -92,20 +94,20 @@ nta_detach(isc_mem_t *mctx, dns_nta_t **ntap) { } static void -free_nta(void *data, void *arg) { - dns_nta_t *nta = (dns_nta_t *) data; - isc_mem_t *mctx = (isc_mem_t *) arg; +free_nta(void *data, void *arg) +{ + dns_nta_t *nta = (dns_nta_t *)data; + isc_mem_t *mctx = (isc_mem_t *)arg; nta_detach(mctx, &nta); } isc_result_t -dns_ntatable_create(dns_view_t *view, - isc_taskmgr_t *taskmgr, isc_timermgr_t *timermgr, - dns_ntatable_t **ntatablep) +dns_ntatable_create(dns_view_t *view, isc_taskmgr_t *taskmgr, + isc_timermgr_t *timermgr, dns_ntatable_t **ntatablep) { dns_ntatable_t *ntatable; - isc_result_t result; + isc_result_t result; REQUIRE(ntatablep != NULL && *ntatablep == NULL); @@ -138,20 +140,21 @@ dns_ntatable_create(dns_view_t *view, return (ISC_R_SUCCESS); - cleanup_rbt: +cleanup_rbt: dns_rbt_destroy(&ntatable->table); - cleanup_task: +cleanup_task: isc_task_detach(&ntatable->task); - cleanup_ntatable: +cleanup_ntatable: isc_mem_put(view->mctx, ntatable, sizeof(*ntatable)); return (result); } void -dns_ntatable_attach(dns_ntatable_t *source, dns_ntatable_t **targetp) { +dns_ntatable_attach(dns_ntatable_t *source, dns_ntatable_t **targetp) +{ REQUIRE(VALID_NTATABLE(source)); REQUIRE(targetp != NULL && *targetp == NULL); @@ -161,7 +164,8 @@ dns_ntatable_attach(dns_ntatable_t *source, dns_ntatable_t **targetp) { } void -dns_ntatable_detach(dns_ntatable_t **ntatablep) { +dns_ntatable_detach(dns_ntatable_t **ntatablep) +{ dns_ntatable_t *ntatable; REQUIRE(ntatablep != NULL && VALID_NTATABLE(*ntatablep)); @@ -183,13 +187,14 @@ dns_ntatable_detach(dns_ntatable_t **ntatablep) { } static void -fetch_done(isc_task_t *task, isc_event_t *event) { +fetch_done(isc_task_t *task, isc_event_t *event) +{ dns_fetchevent_t *devent = (dns_fetchevent_t *)event; - dns_nta_t *nta = devent->ev_arg; - isc_result_t eresult = devent->result; - dns_ntatable_t *ntatable = nta->ntatable; - dns_view_t *view = ntatable->view; - isc_stdtime_t now; + dns_nta_t * nta = devent->ev_arg; + isc_result_t eresult = devent->result; + dns_ntatable_t * ntatable = nta->ntatable; + dns_view_t * view = ntatable->view; + isc_stdtime_t now; UNUSED(task); @@ -227,17 +232,18 @@ fetch_done(isc_task_t *task, isc_event_t *event) { * as well stop the timer now. */ if (nta->timer != NULL && nta->expiry - now < view->nta_recheck) - (void) isc_timer_reset(nta->timer, isc_timertype_inactive, - NULL, NULL, true); + (void)isc_timer_reset(nta->timer, isc_timertype_inactive, NULL, + NULL, true); nta_detach(view->mctx, &nta); } static void -checkbogus(isc_task_t *task, isc_event_t *event) { - dns_nta_t *nta = event->ev_arg; +checkbogus(isc_task_t *task, isc_event_t *event) +{ + dns_nta_t * nta = event->ev_arg; dns_ntatable_t *ntatable = nta->ntatable; - dns_view_t *view = ntatable->view; - isc_result_t result; + dns_view_t * view = ntatable->view; + isc_result_t result; if (nta->fetch != NULL) { dns_resolver_cancelfetch(nta->fetch); @@ -251,23 +257,20 @@ checkbogus(isc_task_t *task, isc_event_t *event) { isc_event_free(&event); nta_ref(nta); - result = dns_resolver_createfetch(view->resolver, nta->name, - dns_rdatatype_nsec, - NULL, NULL, NULL, NULL, 0, - DNS_FETCHOPT_NONTA, 0, NULL, - task, fetch_done, nta, - &nta->rdataset, - &nta->sigrdataset, - &nta->fetch); + result = dns_resolver_createfetch( + view->resolver, nta->name, dns_rdatatype_nsec, NULL, NULL, NULL, + NULL, 0, DNS_FETCHOPT_NONTA, 0, NULL, task, fetch_done, nta, + &nta->rdataset, &nta->sigrdataset, &nta->fetch); if (result != ISC_R_SUCCESS) nta_detach(view->mctx, &nta); } static isc_result_t -settimer(dns_ntatable_t *ntatable, dns_nta_t *nta, uint32_t lifetime) { - isc_result_t result; +settimer(dns_ntatable_t *ntatable, dns_nta_t *nta, uint32_t lifetime) +{ + isc_result_t result; isc_interval_t interval; - dns_view_t *view; + dns_view_t * view; REQUIRE(VALID_NTATABLE(ntatable)); REQUIRE(VALID_NTA(nta)); @@ -281,16 +284,15 @@ settimer(dns_ntatable_t *ntatable, dns_nta_t *nta, uint32_t lifetime) { isc_interval_set(&interval, view->nta_recheck, 0); result = isc_timer_create(ntatable->timermgr, isc_timertype_ticker, - NULL, &interval, ntatable->task, - checkbogus, nta, &nta->timer); + NULL, &interval, ntatable->task, checkbogus, + nta, &nta->timer); return (result); } static isc_result_t -nta_create(dns_ntatable_t *ntatable, const dns_name_t *name, - dns_nta_t **target) +nta_create(dns_ntatable_t *ntatable, const dns_name_t *name, dns_nta_t **target) { - dns_nta_t *nta = NULL; + dns_nta_t * nta = NULL; dns_view_t *view; REQUIRE(VALID_NTATABLE(ntatable)); @@ -319,13 +321,13 @@ nta_create(dns_ntatable_t *ntatable, const dns_name_t *name, } isc_result_t -dns_ntatable_add(dns_ntatable_t *ntatable, const dns_name_t *name, - bool force, isc_stdtime_t now, uint32_t lifetime) +dns_ntatable_add(dns_ntatable_t *ntatable, const dns_name_t *name, bool force, + isc_stdtime_t now, uint32_t lifetime) { - isc_result_t result; - dns_nta_t *nta = NULL; + isc_result_t result; + dns_nta_t * nta = NULL; dns_rbtnode_t *node; - dns_view_t *view; + dns_view_t * view; REQUIRE(VALID_NTATABLE(ntatable)); @@ -373,8 +375,9 @@ dns_ntatable_add(dns_ntatable_t *ntatable, const dns_name_t *name, * Caller must hold a write lock on rwlock. */ static isc_result_t -deletenode(dns_ntatable_t *ntatable, const dns_name_t *name) { - isc_result_t result; +deletenode(dns_ntatable_t *ntatable, const dns_name_t *name) +{ + isc_result_t result; dns_rbtnode_t *node = NULL; REQUIRE(VALID_NTATABLE(ntatable)); @@ -384,8 +387,8 @@ deletenode(dns_ntatable_t *ntatable, const dns_name_t *name) { DNS_RBTFIND_NOOPTIONS, NULL, NULL); if (result == ISC_R_SUCCESS) { if (node->data != NULL) - result = dns_rbt_deletenode(ntatable->table, - node, false); + result = dns_rbt_deletenode(ntatable->table, node, + false); else result = ISC_R_NOTFOUND; } else if (result == DNS_R_PARTIALMATCH) @@ -395,7 +398,8 @@ deletenode(dns_ntatable_t *ntatable, const dns_name_t *name) { } isc_result_t -dns_ntatable_delete(dns_ntatable_t *ntatable, const dns_name_t *name) { +dns_ntatable_delete(dns_ntatable_t *ntatable, const dns_name_t *name) +{ isc_result_t result; RWLOCK(&ntatable->rwlock, isc_rwlocktype_write); @@ -409,12 +413,12 @@ bool dns_ntatable_covered(dns_ntatable_t *ntatable, isc_stdtime_t now, const dns_name_t *name, const dns_name_t *anchor) { - isc_result_t result; - dns_fixedname_t fn; - dns_rbtnode_t *node; - dns_name_t *foundname; - dns_nta_t *nta = NULL; - bool answer = false; + isc_result_t result; + dns_fixedname_t fn; + dns_rbtnode_t * node; + dns_name_t * foundname; + dns_nta_t * nta = NULL; + bool answer = false; isc_rwlocktype_t locktype = isc_rwlocktype_read; REQUIRE(ntatable == NULL || VALID_NTATABLE(ntatable)); @@ -425,9 +429,9 @@ dns_ntatable_covered(dns_ntatable_t *ntatable, isc_stdtime_t now, foundname = dns_fixedname_initname(&fn); - relock: +relock: RWLOCK(&ntatable->rwlock, locktype); - again: +again: node = NULL; result = dns_rbt_findnode(ntatable->table, name, foundname, &node, NULL, DNS_RBTFIND_NOOPTIONS, NULL, NULL); @@ -436,7 +440,7 @@ dns_ntatable_covered(dns_ntatable_t *ntatable, isc_stdtime_t now, result = ISC_R_SUCCESS; } if (result == ISC_R_SUCCESS) { - nta = (dns_nta_t *) node->data; + nta = (dns_nta_t *)node->data; answer = (nta->expiry > now); } @@ -456,9 +460,9 @@ dns_ntatable_covered(dns_ntatable_t *ntatable, isc_stdtime_t now, "deleting expired NTA at %s", nb); if (nta->timer != NULL) { - (void) isc_timer_reset(nta->timer, - isc_timertype_inactive, - NULL, NULL, true); + (void)isc_timer_reset(nta->timer, + isc_timertype_inactive, NULL, + NULL, true); isc_timer_detach(&nta->timer); } @@ -477,7 +481,8 @@ dns_ntatable_covered(dns_ntatable_t *ntatable, isc_stdtime_t now, } static isc_result_t -putstr(isc_buffer_t **b, const char *str) { +putstr(isc_buffer_t **b, const char *str) +{ isc_result_t result; result = isc_buffer_reserve(b, strlen(str)); @@ -492,11 +497,11 @@ isc_result_t dns_ntatable_totext(dns_ntatable_t *ntatable, const char *view, isc_buffer_t **buf) { - isc_result_t result; - dns_rbtnode_t *node; + isc_result_t result; + dns_rbtnode_t * node; dns_rbtnodechain_t chain; - bool first = true; - isc_stdtime_t now; + bool first = true; + isc_stdtime_t now; REQUIRE(VALID_NTATABLE(ntatable)); @@ -513,15 +518,15 @@ dns_ntatable_totext(dns_ntatable_t *ntatable, const char *view, for (;;) { dns_rbtnodechain_current(&chain, NULL, NULL, &node); if (node->data != NULL) { - dns_nta_t *n = (dns_nta_t *) node->data; - char nbuf[DNS_NAME_FORMATSIZE]; - char tbuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; - char obuf[DNS_NAME_FORMATSIZE + - ISC_FORMATHTTPTIMESTAMP_SIZE + - sizeof("expired: \n")]; + dns_nta_t * n = (dns_nta_t *)node->data; + char nbuf[DNS_NAME_FORMATSIZE]; + char tbuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; + char obuf[DNS_NAME_FORMATSIZE + + ISC_FORMATHTTPTIMESTAMP_SIZE + + sizeof("expired: \n")]; dns_fixedname_t fn; - dns_name_t *name; - isc_time_t t; + dns_name_t * name; + isc_time_t t; /* * Skip "validate-except" entries. @@ -538,9 +543,8 @@ dns_ntatable_totext(dns_ntatable_t *ntatable, const char *view, first ? "" : "\n", nbuf, view != NULL ? "/" : "", view != NULL ? view : "", - n->expiry <= now - ? "expired" - : "expiry", + n->expiry <= now ? "expired" + : "expiry", tbuf); first = false; result = putstr(buf, obuf); @@ -556,44 +560,46 @@ dns_ntatable_totext(dns_ntatable_t *ntatable, const char *view, } } - cleanup: +cleanup: dns_rbtnodechain_invalidate(&chain); RWUNLOCK(&ntatable->rwlock, isc_rwlocktype_read); return (result); } isc_result_t -dns_ntatable_dump(dns_ntatable_t *ntatable, FILE *fp) { - isc_result_t result; +dns_ntatable_dump(dns_ntatable_t *ntatable, FILE *fp) +{ + isc_result_t result; isc_buffer_t *text = NULL; - int len = 4096; + int len = 4096; isc_buffer_allocate(ntatable->view->mctx, &text, len); result = dns_ntatable_totext(ntatable, NULL, &text); if (isc_buffer_usedlength(text) != 0) { - (void) putstr(&text, "\n"); + (void)putstr(&text, "\n"); } else if (result == ISC_R_SUCCESS) { - (void) putstr(&text, "none"); + (void)putstr(&text, "none"); } else { - (void) putstr(&text, "could not dump NTA table: "); - (void) putstr(&text, isc_result_totext(result)); + (void)putstr(&text, "could not dump NTA table: "); + (void)putstr(&text, isc_result_totext(result)); } - fprintf(fp, "%.*s", (int) isc_buffer_usedlength(text), - (char *) isc_buffer_base(text)); + fprintf(fp, "%.*s", (int)isc_buffer_usedlength(text), + (char *)isc_buffer_base(text)); isc_buffer_free(&text); return (result); } isc_result_t -dns_ntatable_save(dns_ntatable_t *ntatable, FILE *fp) { - isc_result_t result; - dns_rbtnode_t *node; +dns_ntatable_save(dns_ntatable_t *ntatable, FILE *fp) +{ + isc_result_t result; + dns_rbtnode_t * node; dns_rbtnodechain_t chain; - isc_stdtime_t now; - bool written = false; + isc_stdtime_t now; + bool written = false; REQUIRE(VALID_NTATABLE(ntatable)); @@ -608,11 +614,11 @@ dns_ntatable_save(dns_ntatable_t *ntatable, FILE *fp) { for (;;) { dns_rbtnodechain_current(&chain, NULL, NULL, &node); if (node->data != NULL) { - isc_buffer_t b; - char nbuf[DNS_NAME_FORMATSIZE + 1], tbuf[80]; + isc_buffer_t b; + char nbuf[DNS_NAME_FORMATSIZE + 1], tbuf[80]; dns_fixedname_t fn; - dns_name_t *name; - dns_nta_t *n = (dns_nta_t *) node->data; + dns_name_t * name; + dns_nta_t * n = (dns_nta_t *)node->data; /* * Skip this node if the expiry is already in the @@ -640,8 +646,7 @@ dns_ntatable_save(dns_ntatable_t *ntatable, FILE *fp) { isc_buffer_putuint8(&b, 0); fprintf(fp, "%s %s %s\n", nbuf, - n->forced ? "forced" : "regular", - tbuf); + n->forced ? "forced" : "regular", tbuf); written = true; } skip: @@ -653,7 +658,7 @@ dns_ntatable_save(dns_ntatable_t *ntatable, FILE *fp) { } } - cleanup: +cleanup: dns_rbtnodechain_invalidate(&chain); RWUNLOCK(&ntatable->rwlock, isc_rwlocktype_read); diff --git a/lib/dns/openssl_link.c b/lib/dns/openssl_link.c index 364168f328..06db4355bd 100644 --- a/lib/dns/openssl_link.c +++ b/lib/dns/openssl_link.c @@ -33,11 +33,11 @@ #include -#include - #include "dst_internal.h" #include "dst_openssl.h" +#include + static isc_mem_t *dst__mctx = NULL; #if !defined(OPENSSL_NO_ENGINE) @@ -46,7 +46,7 @@ static isc_mem_t *dst__mctx = NULL; #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) static isc_mutex_t *locks = NULL; -static int nlocks; +static int nlocks; #endif #if !defined(OPENSSL_NO_ENGINE) @@ -54,7 +54,8 @@ static ENGINE *e = NULL; #endif static void -enable_fips_mode(void) { +enable_fips_mode(void) +{ #ifdef HAVE_FIPS_MODE if (FIPS_mode() != 0) { /* @@ -72,7 +73,8 @@ enable_fips_mode(void) { #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) static void -lock_callback(int mode, int type, const char *file, int line) { +lock_callback(int mode, int type, const char *file, int line) +{ UNUSED(file); UNUSED(line); if ((mode & CRYPTO_LOCK) != 0) @@ -84,7 +86,8 @@ lock_callback(int mode, int type, const char *file, int line) { #if defined(LIBRESSL_VERSION_NUMBER) static unsigned long -id_callback(void) { +id_callback(void) +{ return ((unsigned long)isc_thread_self()); } #endif @@ -98,7 +101,8 @@ _set_thread_id(CRYPTO_THREADID *id) #endif isc_result_t -dst__openssl_init(isc_mem_t *mctx, const char *engine) { +dst__openssl_init(isc_mem_t *mctx, const char *engine) +{ isc_result_t result; REQUIRE(dst__mctx == NULL); @@ -115,11 +119,11 @@ dst__openssl_init(isc_mem_t *mctx, const char *engine) { locks = isc_mem_allocate(dst__mctx, sizeof(isc_mutex_t) * nlocks); isc_mutexblock_init(locks, nlocks); CRYPTO_set_locking_callback(lock_callback); -# if defined(LIBRESSL_VERSION_NUMBER) +#if defined(LIBRESSL_VERSION_NUMBER) CRYPTO_set_id_callback(id_callback); -# elif OPENSSL_VERSION_NUMBER < 0x10100000L +#elif OPENSSL_VERSION_NUMBER < 0x10100000L CRYPTO_THREADID_set_callback(_set_thread_id); -# endif +#endif ERR_load_crypto_strings(); #endif @@ -136,7 +140,7 @@ dst__openssl_init(isc_mem_t *mctx, const char *engine) { ERR_clear_error(); CONF_modules_load_file(NULL, NULL, CONF_MFLAGS_DEFAULT_SECTION | - CONF_MFLAGS_IGNORE_MISSING_FILE); + CONF_MFLAGS_IGNORE_MISSING_FILE); #endif if (engine != NULL && *engine == '\0') @@ -168,7 +172,7 @@ dst__openssl_init(isc_mem_t *mctx, const char *engine) { return (ISC_R_SUCCESS); #if !defined(OPENSSL_NO_ENGINE) - cleanup_rm: +cleanup_rm: if (e != NULL) ENGINE_free(e); e = NULL; @@ -183,7 +187,8 @@ dst__openssl_init(isc_mem_t *mctx, const char *engine) { } void -dst__openssl_destroy(void) { +dst__openssl_destroy(void) +{ #if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) /* * Sequence taken from apps_shutdown() in . @@ -206,7 +211,7 @@ dst__openssl_destroy(void) { #endif ERR_free_strings(); -#ifdef DNS_CRYPTO_LEAKS +#ifdef DNS_CRYPTO_LEAKS CRYPTO_mem_leaks_fp(stderr); #endif @@ -221,8 +226,9 @@ dst__openssl_destroy(void) { } static isc_result_t -toresult(isc_result_t fallback) { - isc_result_t result = fallback; +toresult(isc_result_t fallback) +{ + isc_result_t result = fallback; unsigned long err = ERR_peek_error(); #if defined(ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED) int lib = ERR_GET_LIB(err); @@ -252,7 +258,8 @@ toresult(isc_result_t fallback) { } isc_result_t -dst__openssl_toresult(isc_result_t fallback) { +dst__openssl_toresult(isc_result_t fallback) +{ isc_result_t result; result = toresult(fallback); @@ -262,26 +269,26 @@ dst__openssl_toresult(isc_result_t fallback) { } isc_result_t -dst__openssl_toresult2(const char *funcname, isc_result_t fallback) { - return (dst__openssl_toresult3(DNS_LOGCATEGORY_GENERAL, - funcname, fallback)); +dst__openssl_toresult2(const char *funcname, isc_result_t fallback) +{ + return (dst__openssl_toresult3(DNS_LOGCATEGORY_GENERAL, funcname, + fallback)); } isc_result_t -dst__openssl_toresult3(isc_logcategory_t *category, - const char *funcname, isc_result_t fallback) { - isc_result_t result; +dst__openssl_toresult3(isc_logcategory_t *category, const char *funcname, + isc_result_t fallback) +{ + isc_result_t result; unsigned long err; - const char *file, *data; - int line, flags; - char buf[256]; + const char * file, *data; + int line, flags; + char buf[256]; result = toresult(fallback); - isc_log_write(dns_lctx, category, - DNS_LOGMODULE_CRYPTO, ISC_LOG_WARNING, - "%s failed (%s)", funcname, - isc_result_totext(result)); + isc_log_write(dns_lctx, category, DNS_LOGMODULE_CRYPTO, ISC_LOG_WARNING, + "%s failed (%s)", funcname, isc_result_totext(result)); if (result == ISC_R_NOMEMORY) goto done; @@ -291,21 +298,20 @@ dst__openssl_toresult3(isc_logcategory_t *category, if (err == 0U) goto done; ERR_error_string_n(err, buf, sizeof(buf)); - isc_log_write(dns_lctx, category, - DNS_LOGMODULE_CRYPTO, ISC_LOG_INFO, - "%s:%s:%d:%s", buf, file, line, + isc_log_write(dns_lctx, category, DNS_LOGMODULE_CRYPTO, + ISC_LOG_INFO, "%s:%s:%d:%s", buf, file, line, ((flags & ERR_TXT_STRING) != 0) ? data : ""); } - done: +done: ERR_clear_error(); return (result); } #if !defined(OPENSSL_NO_ENGINE) ENGINE * -dst__openssl_getengine(const char *engine) { - +dst__openssl_getengine(const char *engine) +{ if (engine == NULL) return (NULL); if (e == NULL) diff --git a/lib/dns/openssldh_link.c b/lib/dns/openssldh_link.c index af6e335005..2e76830b2e 100644 --- a/lib/dns/openssldh_link.c +++ b/lib/dns/openssldh_link.c @@ -25,8 +25,6 @@ /*! \file */ -#include - #include #include #include @@ -36,26 +34,30 @@ #include #include -#include - -#include - #include "dst_internal.h" #include "dst_openssl.h" #include "dst_parse.h" +#include +#include +#include + #define PRIME2 "02" -#define PRIME768 "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088" \ - "A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25" \ - "F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A63A3620FFFFFFFFFFFFFFFF" +#define PRIME768 \ + "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088" \ + "A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25" \ + "F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A63A3620FFFFFFFFFFFFFFF" \ + "F" -#define PRIME1024 "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E08" \ +#define PRIME1024 \ + "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E08" \ "8A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF2" \ "5F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406" \ "B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF" -#define PRIME1536 "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1" \ +#define PRIME1536 \ + "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1" \ "29024E088A67CC74020BBEA63B139B22514A08798E3404DD" \ "EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245" \ "E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED" \ @@ -64,8 +66,8 @@ "83655D23DCA3AD961C62F356208552BB9ED529077096966D" \ "670C354E4ABC9804F1746C08CA237327FFFFFFFFFFFFFFFF" - -static isc_result_t openssldh_todns(const dst_key_t *key, isc_buffer_t *data); +static isc_result_t +openssldh_todns(const dst_key_t *key, isc_buffer_t *data); static BIGNUM *bn2 = NULL, *bn768 = NULL, *bn1024 = NULL, *bn1536 = NULL; @@ -75,7 +77,8 @@ static BIGNUM *bn2 = NULL, *bn768 = NULL, *bn1024 = NULL, *bn1536 = NULL; * are from OpenSSL 1.1.0. */ static void -DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key) { +DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key) +{ if (pub_key != NULL) { *pub_key = dh->pub_key; } @@ -85,7 +88,8 @@ DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key) { } static int -DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key) { +DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key) +{ if (pub_key != NULL) { BN_free(dh->pub_key); dh->pub_key = pub_key; @@ -100,8 +104,7 @@ DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key) { } static void -DH_get0_pqg(const DH *dh, - const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) +DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) { if (p != NULL) { *p = dh->p; @@ -120,9 +123,7 @@ DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) /* If the fields p and g in d are NULL, the corresponding input * parameters MUST be non-NULL. q may remain NULL. */ - if ((dh->p == NULL && p == NULL) - || (dh->g == NULL && g == NULL)) - { + if ((dh->p == NULL && p == NULL) || (dh->g == NULL && g == NULL)) { return 0; } @@ -154,11 +155,11 @@ static isc_result_t openssldh_computesecret(const dst_key_t *pub, const dst_key_t *priv, isc_buffer_t *secret) { - DH *dhpub, *dhpriv; + DH * dhpub, *dhpriv; const BIGNUM *pub_key = NULL; - int ret; - isc_region_t r; - unsigned int len; + int ret; + isc_region_t r; + unsigned int len; REQUIRE(pub->keydata.dh != NULL); REQUIRE(priv->keydata.dh != NULL); @@ -181,8 +182,9 @@ openssldh_computesecret(const dst_key_t *pub, const dst_key_t *priv, } static bool -openssldh_compare(const dst_key_t *key1, const dst_key_t *key2) { - DH *dh1, *dh2; +openssldh_compare(const dst_key_t *key1, const dst_key_t *key2) +{ + DH * dh1, *dh2; const BIGNUM *pub_key1 = NULL, *pub_key2 = NULL; const BIGNUM *priv_key1 = NULL, *priv_key2 = NULL; const BIGNUM *p1 = NULL, *g1 = NULL, *p2 = NULL, *g2 = NULL; @@ -214,8 +216,9 @@ openssldh_compare(const dst_key_t *key1, const dst_key_t *key2) { } static bool -openssldh_paramcompare(const dst_key_t *key1, const dst_key_t *key2) { - DH *dh1, *dh2; +openssldh_paramcompare(const dst_key_t *key1, const dst_key_t *key2) +{ + DH * dh1, *dh2; const BIGNUM *p1 = NULL, *g1 = NULL, *p2 = NULL, *g2 = NULL; dh1 = key1->keydata.dh; @@ -235,7 +238,8 @@ openssldh_paramcompare(const dst_key_t *key1, const dst_key_t *key2) { } static int -progress_cb(int p, int n, BN_GENCB *cb) { +progress_cb(int p, int n, BN_GENCB *cb) +{ union { void *dptr; void (*fptr)(int); @@ -250,8 +254,9 @@ progress_cb(int p, int n, BN_GENCB *cb) { } static isc_result_t -openssldh_generate(dst_key_t *key, int generator, void (*callback)(int)) { - DH *dh = NULL; +openssldh_generate(dst_key_t *key, int generator, void (*callback)(int)) +{ + DH * dh = NULL; BN_GENCB *cb; #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) BN_GENCB _cb; @@ -262,10 +267,8 @@ openssldh_generate(dst_key_t *key, int generator, void (*callback)(int)) { } u; if (generator == 0) { - if (key->key_size == 768 || - key->key_size == 1024 || - key->key_size == 1536) - { + if (key->key_size == 768 || key->key_size == 1024 || + key->key_size == 1536) { BIGNUM *p, *g; dh = DH_new(); if (key->key_size == 768) @@ -311,9 +314,9 @@ openssldh_generate(dst_key_t *key, int generator, void (*callback)(int)) { cb)) { DH_free(dh); BN_GENCB_free(cb); - return (dst__openssl_toresult2( - "DH_generate_parameters_ex", - DST_R_OPENSSLFAILURE)); + return (dst__openssl_toresult2("DH_generate_parameters_" + "ex", + DST_R_OPENSSLFAILURE)); } BN_GENCB_free(cb); cb = NULL; @@ -331,8 +334,9 @@ openssldh_generate(dst_key_t *key, int generator, void (*callback)(int)) { } static bool -openssldh_isprivate(const dst_key_t *key) { - DH *dh = key->keydata.dh; +openssldh_isprivate(const dst_key_t *key) +{ + DH * dh = key->keydata.dh; const BIGNUM *priv_key = NULL; DH_get0_key(dh, NULL, &priv_key); @@ -340,7 +344,8 @@ openssldh_isprivate(const dst_key_t *key) { } static void -openssldh_destroy(dst_key_t *key) { +openssldh_destroy(dst_key_t *key) +{ DH *dh = key->keydata.dh; if (dh == NULL) @@ -351,7 +356,8 @@ openssldh_destroy(dst_key_t *key) { } static void -uint16_toregion(uint16_t val, isc_region_t *region) { +uint16_toregion(uint16_t val, isc_region_t *region) +{ *region->base = (val & 0xff00) >> 8; isc_region_consume(region, 1); *region->base = (val & 0x00ff); @@ -359,8 +365,9 @@ uint16_toregion(uint16_t val, isc_region_t *region) { } static uint16_t -uint16_fromregion(isc_region_t *region) { - uint16_t val; +uint16_fromregion(isc_region_t *region) +{ + uint16_t val; unsigned char *cp = region->base; val = ((unsigned int)(cp[0])) << 8; @@ -372,11 +379,12 @@ uint16_fromregion(isc_region_t *region) { } static isc_result_t -openssldh_todns(const dst_key_t *key, isc_buffer_t *data) { - DH *dh; +openssldh_todns(const dst_key_t *key, isc_buffer_t *data) +{ + DH * dh; const BIGNUM *pub_key = NULL, *p = NULL, *g = NULL; - isc_region_t r; - uint16_t dnslen, plen, glen, publen; + isc_region_t r; + uint16_t dnslen, plen, glen, publen; REQUIRE(key->keydata.dh != NULL); @@ -386,20 +394,18 @@ openssldh_todns(const dst_key_t *key, isc_buffer_t *data) { DH_get0_pqg(dh, &p, NULL, &g); if (BN_cmp(g, bn2) == 0 && - (BN_cmp(p, bn768) == 0 || - BN_cmp(p, bn1024) == 0 || + (BN_cmp(p, bn768) == 0 || BN_cmp(p, bn1024) == 0 || BN_cmp(p, bn1536) == 0)) { plen = 1; glen = 0; - } - else { + } else { plen = BN_num_bytes(p); glen = BN_num_bytes(g); } DH_get0_key(dh, &pub_key, NULL); publen = BN_num_bytes(pub_key); dnslen = plen + glen + publen + 6; - if (r.length < (unsigned int) dnslen) + if (r.length < (unsigned int)dnslen) return (ISC_R_NOSPACE); uint16_toregion(plen, &r); @@ -429,12 +435,13 @@ openssldh_todns(const dst_key_t *key, isc_buffer_t *data) { } static isc_result_t -openssldh_fromdns(dst_key_t *key, isc_buffer_t *data) { - DH *dh; - BIGNUM *pub_key = NULL, *p = NULL, *g = NULL; +openssldh_fromdns(dst_key_t *key, isc_buffer_t *data) +{ + DH * dh; + BIGNUM * pub_key = NULL, *p = NULL, *g = NULL; isc_region_t r; - uint16_t plen, glen, publen; - int special = 0; + uint16_t plen, glen, publen; + int special = 0; isc_buffer_remainingregion(data, &r); if (r.length == 0) @@ -470,18 +477,18 @@ openssldh_fromdns(dst_key_t *key, isc_buffer_t *data) { special = uint16_fromregion(&r); } switch (special) { - case 1: - p = BN_dup(bn768); - break; - case 2: - p = BN_dup(bn1024); - break; - case 3: - p = BN_dup(bn1536); - break; - default: - DH_free(dh); - return (DST_R_INVALIDPUBLICKEY); + case 1: + p = BN_dup(bn768); + break; + case 2: + p = BN_dup(bn1024); + break; + case 3: + p = BN_dup(bn1536); + break; + default: + DH_free(dh); + return (DST_R_INVALIDPUBLICKEY); } } else { p = BN_bin2bn(r.base, plen, NULL); @@ -546,13 +553,14 @@ openssldh_fromdns(dst_key_t *key, isc_buffer_t *data) { DH_free(dh); return (dst__openssl_toresult(ISC_R_NOMEMORY)); } -#if (LIBRESSL_VERSION_NUMBER >= 0x2070000fL) && (LIBRESSL_VERSION_NUMBER <= 0x2070200fL) +#if (LIBRESSL_VERSION_NUMBER >= 0x2070000fL) && \ + (LIBRESSL_VERSION_NUMBER <= 0x2070200fL) /* * LibreSSL << 2.7.3 DH_get0_key requires priv_key to be set when * DH structure is empty, hence we cannot use DH_get0_key(). */ dh->pub_key = pub_key; -#else /* LIBRESSL_VERSION_NUMBER */ +#else /* LIBRESSL_VERSION_NUMBER */ DH_set0_key(dh, pub_key, NULL); #endif /* LIBRESSL_VERSION_NUMBER */ isc_region_consume(&r, publen); @@ -567,13 +575,14 @@ openssldh_fromdns(dst_key_t *key, isc_buffer_t *data) { } static isc_result_t -openssldh_tofile(const dst_key_t *key, const char *directory) { - int i; - DH *dh; - const BIGNUM *pub_key = NULL, *priv_key = NULL, *p = NULL, *g = NULL; - dst_private_t priv; +openssldh_tofile(const dst_key_t *key, const char *directory) +{ + int i; + DH * dh; + const BIGNUM * pub_key = NULL, *priv_key = NULL, *p = NULL, *g = NULL; + dst_private_t priv; unsigned char *bufs[4]; - isc_result_t result; + isc_result_t result; if (key->keydata.dh == NULL) return (DST_R_NULLKEY); @@ -628,14 +637,19 @@ openssldh_tofile(const dst_key_t *key, const char *directory) { } static isc_result_t -openssldh_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { +openssldh_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) +{ dst_private_t priv; - isc_result_t ret; - int i; - DH *dh = NULL; - BIGNUM *pub_key = NULL, *priv_key = NULL, *p = NULL, *g = NULL; - isc_mem_t *mctx; -#define DST_RET(a) {ret = a; goto err;} + isc_result_t ret; + int i; + DH * dh = NULL; + BIGNUM * pub_key = NULL, *priv_key = NULL, *p = NULL, *g = NULL; + isc_mem_t * mctx; +#define DST_RET(a) \ + { \ + ret = a; \ + goto err; \ + } UNUSED(pub); mctx = key->mctx; @@ -656,24 +670,24 @@ openssldh_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { for (i = 0; i < priv.nelements; i++) { BIGNUM *bn; - bn = BN_bin2bn(priv.elements[i].data, - priv.elements[i].length, NULL); + bn = BN_bin2bn(priv.elements[i].data, priv.elements[i].length, + NULL); if (bn == NULL) DST_RET(ISC_R_NOMEMORY); switch (priv.elements[i].tag) { - case TAG_DH_PRIME: - p = bn; - break; - case TAG_DH_GENERATOR: - g = bn; - break; - case TAG_DH_PRIVATE: - priv_key = bn; - break; - case TAG_DH_PUBLIC: - pub_key = bn; - break; + case TAG_DH_PRIME: + p = bn; + break; + case TAG_DH_GENERATOR: + g = bn; + break; + case TAG_DH_PRIVATE: + priv_key = bn; + break; + case TAG_DH_PUBLIC: + pub_key = bn; + break; } } dst__privstruct_free(&priv, mctx); @@ -683,7 +697,7 @@ openssldh_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { key->key_size = BN_num_bits(p); return (ISC_R_SUCCESS); - err: +err: if (p != NULL) BN_free(p); if (g != NULL) @@ -699,7 +713,8 @@ openssldh_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { } static void -openssldh_cleanup(void) { +openssldh_cleanup(void) +{ BN_free(bn2); bn2 = NULL; @@ -738,7 +753,8 @@ static dst_func_t openssldh_functions = { }; isc_result_t -dst__openssldh_init(dst_func_t **funcp) { +dst__openssldh_init(dst_func_t **funcp) +{ REQUIRE(funcp != NULL); if (*funcp == NULL) { if (BN_hex2bn(&bn2, PRIME2) == 0 || bn2 == NULL) { @@ -757,10 +773,14 @@ dst__openssldh_init(dst_func_t **funcp) { } return (ISC_R_SUCCESS); - cleanup: - if (bn2 != NULL) BN_free(bn2); - if (bn768 != NULL) BN_free(bn768); - if (bn1024 != NULL) BN_free(bn1024); - if (bn1536 != NULL) BN_free(bn1536); +cleanup: + if (bn2 != NULL) + BN_free(bn2); + if (bn768 != NULL) + BN_free(bn768); + if (bn1024 != NULL) + BN_free(bn1024); + if (bn1536 != NULL) + BN_free(bn1536); return (ISC_R_NOMEMORY); } diff --git a/lib/dns/opensslecdsa_link.c b/lib/dns/opensslecdsa_link.c index 04cef6dbda..03fc0494bf 100644 --- a/lib/dns/opensslecdsa_link.c +++ b/lib/dns/opensslecdsa_link.c @@ -21,16 +21,16 @@ #include #include -#include #include "dst_internal.h" #include "dst_openssl.h" #include "dst_parse.h" +#include +#include +#include #include #include -#include -#include #ifndef NID_X9_62_prime256v1 #error "P-256 group is not known (NID_X9_62_prime256v1)" @@ -39,12 +39,17 @@ #error "P-384 group is not known (NID_secp384r1)" #endif -#define DST_RET(a) {ret = a; goto err;} +#define DST_RET(a) \ + { \ + ret = a; \ + goto err; \ + } #if !HAVE_ECDSA_SIG_GET0 /* From OpenSSL 1.1 */ static void -ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps) { +ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps) +{ if (pr != NULL) { *pr = sig->r; } @@ -54,7 +59,8 @@ ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps) { } static int -ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s) { +ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s) +{ if (r == NULL || s == NULL) { return 0; } @@ -68,12 +74,13 @@ ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s) { } #endif /* !HAVE_ECDSA_SIG_GET0 */ -static isc_result_t opensslecdsa_todns(const dst_key_t *key, - isc_buffer_t *data); +static isc_result_t +opensslecdsa_todns(const dst_key_t *key, isc_buffer_t *data); static isc_result_t -opensslecdsa_createctx(dst_key_t *key, dst_context_t *dctx) { - EVP_MD_CTX *evp_md_ctx; +opensslecdsa_createctx(dst_key_t *key, dst_context_t *dctx) +{ + EVP_MD_CTX * evp_md_ctx; const EVP_MD *type = NULL; UNUSED(key); @@ -90,9 +97,8 @@ opensslecdsa_createctx(dst_key_t *key, dst_context_t *dctx) { if (!EVP_DigestInit_ex(evp_md_ctx, type, NULL)) { EVP_MD_CTX_destroy(evp_md_ctx); - return (dst__openssl_toresult3(dctx->category, - "EVP_DigestInit_ex", - ISC_R_FAILURE)); + return (dst__openssl_toresult3( + dctx->category, "EVP_DigestInit_ex", ISC_R_FAILURE)); } dctx->ctxdata.evp_md_ctx = evp_md_ctx; @@ -101,7 +107,8 @@ opensslecdsa_createctx(dst_key_t *key, dst_context_t *dctx) { } static void -opensslecdsa_destroyctx(dst_context_t *dctx) { +opensslecdsa_destroyctx(dst_context_t *dctx) +{ EVP_MD_CTX *evp_md_ctx = dctx->ctxdata.evp_md_ctx; REQUIRE(dctx->key->key_alg == DST_ALG_ECDSA256 || @@ -114,22 +121,23 @@ opensslecdsa_destroyctx(dst_context_t *dctx) { } static isc_result_t -opensslecdsa_adddata(dst_context_t *dctx, const isc_region_t *data) { +opensslecdsa_adddata(dst_context_t *dctx, const isc_region_t *data) +{ EVP_MD_CTX *evp_md_ctx = dctx->ctxdata.evp_md_ctx; REQUIRE(dctx->key->key_alg == DST_ALG_ECDSA256 || dctx->key->key_alg == DST_ALG_ECDSA384); if (!EVP_DigestUpdate(evp_md_ctx, data->base, data->length)) - return (dst__openssl_toresult3(dctx->category, - "EVP_DigestUpdate", - ISC_R_FAILURE)); + return (dst__openssl_toresult3( + dctx->category, "EVP_DigestUpdate", ISC_R_FAILURE)); return (ISC_R_SUCCESS); } static int -BN_bn2bin_fixed(const BIGNUM *bn, unsigned char *buf, int size) { +BN_bn2bin_fixed(const BIGNUM *bn, unsigned char *buf, int size) +{ int bytes = size - BN_num_bytes(bn); while (bytes-- > 0) @@ -139,15 +147,16 @@ BN_bn2bin_fixed(const BIGNUM *bn, unsigned char *buf, int size) { } static isc_result_t -opensslecdsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { - isc_result_t ret; - dst_key_t *key = dctx->key; - isc_region_t region; - ECDSA_SIG *ecdsasig; - EVP_MD_CTX *evp_md_ctx = dctx->ctxdata.evp_md_ctx; - EVP_PKEY *pkey = key->keydata.pkey; - EC_KEY *eckey = EVP_PKEY_get1_EC_KEY(pkey); - unsigned int dgstlen, siglen; +opensslecdsa_sign(dst_context_t *dctx, isc_buffer_t *sig) +{ + isc_result_t ret; + dst_key_t * key = dctx->key; + isc_region_t region; + ECDSA_SIG * ecdsasig; + EVP_MD_CTX * evp_md_ctx = dctx->ctxdata.evp_md_ctx; + EVP_PKEY * pkey = key->keydata.pkey; + EC_KEY * eckey = EVP_PKEY_get1_EC_KEY(pkey); + unsigned int dgstlen, siglen; unsigned char digest[EVP_MAX_MD_SIZE]; const BIGNUM *r, *s; @@ -167,14 +176,12 @@ opensslecdsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { DST_RET(ISC_R_NOSPACE); if (!EVP_DigestFinal(evp_md_ctx, digest, &dgstlen)) - DST_RET(dst__openssl_toresult3(dctx->category, - "EVP_DigestFinal", - ISC_R_FAILURE)); + DST_RET(dst__openssl_toresult3( + dctx->category, "EVP_DigestFinal", ISC_R_FAILURE)); ecdsasig = ECDSA_do_sign(digest, dgstlen, eckey); if (ecdsasig == NULL) - DST_RET(dst__openssl_toresult3(dctx->category, - "ECDSA_do_sign", + DST_RET(dst__openssl_toresult3(dctx->category, "ECDSA_do_sign", DST_R_SIGNFAILURE)); ECDSA_SIG_get0(ecdsasig, &r, &s); BN_bn2bin_fixed(r, region.base, siglen / 2); @@ -185,24 +192,25 @@ opensslecdsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { isc_buffer_add(sig, siglen); ret = ISC_R_SUCCESS; - err: +err: EC_KEY_free(eckey); return (ret); } static isc_result_t -opensslecdsa_verify(dst_context_t *dctx, const isc_region_t *sig) { - isc_result_t ret; - dst_key_t *key = dctx->key; - int status; +opensslecdsa_verify(dst_context_t *dctx, const isc_region_t *sig) +{ + isc_result_t ret; + dst_key_t * key = dctx->key; + int status; unsigned char *cp = sig->base; - ECDSA_SIG *ecdsasig = NULL; - EVP_MD_CTX *evp_md_ctx = dctx->ctxdata.evp_md_ctx; - EVP_PKEY *pkey = key->keydata.pkey; - EC_KEY *eckey = EVP_PKEY_get1_EC_KEY(pkey); - unsigned int dgstlen, siglen; - unsigned char digest[EVP_MAX_MD_SIZE]; - BIGNUM *r = NULL, *s = NULL ; + ECDSA_SIG * ecdsasig = NULL; + EVP_MD_CTX * evp_md_ctx = dctx->ctxdata.evp_md_ctx; + EVP_PKEY * pkey = key->keydata.pkey; + EC_KEY * eckey = EVP_PKEY_get1_EC_KEY(pkey); + unsigned int dgstlen, siglen; + unsigned char digest[EVP_MAX_MD_SIZE]; + BIGNUM * r = NULL, *s = NULL; REQUIRE(key->key_alg == DST_ALG_ECDSA256 || key->key_alg == DST_ALG_ECDSA384); @@ -219,13 +227,12 @@ opensslecdsa_verify(dst_context_t *dctx, const isc_region_t *sig) { return (DST_R_VERIFYFAILURE); if (!EVP_DigestFinal_ex(evp_md_ctx, digest, &dgstlen)) - DST_RET (dst__openssl_toresult3(dctx->category, - "EVP_DigestFinal_ex", - ISC_R_FAILURE)); + DST_RET(dst__openssl_toresult3( + dctx->category, "EVP_DigestFinal_ex", ISC_R_FAILURE)); ecdsasig = ECDSA_SIG_new(); if (ecdsasig == NULL) - DST_RET (ISC_R_NOMEMORY); + DST_RET(ISC_R_NOMEMORY); r = BN_bin2bn(cp, siglen / 2, NULL); cp += siglen / 2; s = BN_bin2bn(cp, siglen / 2, NULL); @@ -241,13 +248,12 @@ opensslecdsa_verify(dst_context_t *dctx, const isc_region_t *sig) { ret = dst__openssl_toresult(DST_R_VERIFYFAILURE); break; default: - ret = dst__openssl_toresult3(dctx->category, - "ECDSA_do_verify", + ret = dst__openssl_toresult3(dctx->category, "ECDSA_do_verify", DST_R_VERIFYFAILURE); break; } - err: +err: if (ecdsasig != NULL) ECDSA_SIG_free(ecdsasig); EC_KEY_free(eckey); @@ -255,13 +261,14 @@ opensslecdsa_verify(dst_context_t *dctx, const isc_region_t *sig) { } static bool -opensslecdsa_compare(const dst_key_t *key1, const dst_key_t *key2) { - bool ret; - int status; - EVP_PKEY *pkey1 = key1->keydata.pkey; - EVP_PKEY *pkey2 = key2->keydata.pkey; - EC_KEY *eckey1 = NULL; - EC_KEY *eckey2 = NULL; +opensslecdsa_compare(const dst_key_t *key1, const dst_key_t *key2) +{ + bool ret; + int status; + EVP_PKEY * pkey1 = key1->keydata.pkey; + EVP_PKEY * pkey2 = key2->keydata.pkey; + EC_KEY * eckey1 = NULL; + EC_KEY * eckey2 = NULL; const BIGNUM *priv1, *priv2; if (pkey1 == NULL && pkey2 == NULL) @@ -272,25 +279,25 @@ opensslecdsa_compare(const dst_key_t *key1, const dst_key_t *key2) { eckey1 = EVP_PKEY_get1_EC_KEY(pkey1); eckey2 = EVP_PKEY_get1_EC_KEY(pkey2); if (eckey1 == NULL && eckey2 == NULL) { - DST_RET (true); + DST_RET(true); } else if (eckey1 == NULL || eckey2 == NULL) - DST_RET (false); + DST_RET(false); status = EVP_PKEY_cmp(pkey1, pkey2); if (status != 1) - DST_RET (false); + DST_RET(false); priv1 = EC_KEY_get0_private_key(eckey1); priv2 = EC_KEY_get0_private_key(eckey2); if (priv1 != NULL || priv2 != NULL) { if (priv1 == NULL || priv2 == NULL) - DST_RET (false); + DST_RET(false); if (BN_cmp(priv1, priv2) != 0) - DST_RET (false); + DST_RET(false); } ret = true; - err: +err: if (eckey1 != NULL) EC_KEY_free(eckey1); if (eckey2 != NULL) @@ -299,11 +306,12 @@ opensslecdsa_compare(const dst_key_t *key1, const dst_key_t *key2) { } static isc_result_t -opensslecdsa_generate(dst_key_t *key, int unused, void (*callback)(int)) { +opensslecdsa_generate(dst_key_t *key, int unused, void (*callback)(int)) +{ isc_result_t ret; - EVP_PKEY *pkey; - EC_KEY *eckey = NULL; - int group_nid; + EVP_PKEY * pkey; + EC_KEY * eckey = NULL; + int group_nid; REQUIRE(key->key_alg == DST_ALG_ECDSA256 || key->key_alg == DST_ALG_ECDSA384); @@ -324,29 +332,30 @@ opensslecdsa_generate(dst_key_t *key, int unused, void (*callback)(int)) { DST_R_OPENSSLFAILURE)); if (EC_KEY_generate_key(eckey) != 1) - DST_RET (dst__openssl_toresult2("EC_KEY_generate_key", - DST_R_OPENSSLFAILURE)); + DST_RET(dst__openssl_toresult2("EC_KEY_generate_key", + DST_R_OPENSSLFAILURE)); pkey = EVP_PKEY_new(); if (pkey == NULL) - DST_RET (ISC_R_NOMEMORY); + DST_RET(ISC_R_NOMEMORY); if (!EVP_PKEY_set1_EC_KEY(pkey, eckey)) { EVP_PKEY_free(pkey); - DST_RET (ISC_R_FAILURE); + DST_RET(ISC_R_FAILURE); } key->keydata.pkey = pkey; ret = ISC_R_SUCCESS; - err: +err: EC_KEY_free(eckey); return (ret); } static bool -opensslecdsa_isprivate(const dst_key_t *key) { - bool ret; +opensslecdsa_isprivate(const dst_key_t *key) +{ + bool ret; EVP_PKEY *pkey = key->keydata.pkey; - EC_KEY *eckey = EVP_PKEY_get1_EC_KEY(pkey); + EC_KEY * eckey = EVP_PKEY_get1_EC_KEY(pkey); ret = (eckey != NULL && EC_KEY_get0_private_key(eckey) != NULL); if (eckey != NULL) @@ -355,7 +364,8 @@ opensslecdsa_isprivate(const dst_key_t *key) { } static void -opensslecdsa_destroy(dst_key_t *key) { +opensslecdsa_destroy(dst_key_t *key) +{ EVP_PKEY *pkey = key->keydata.pkey; EVP_PKEY_free(pkey); @@ -363,14 +373,15 @@ opensslecdsa_destroy(dst_key_t *key) { } static isc_result_t -opensslecdsa_todns(const dst_key_t *key, isc_buffer_t *data) { - isc_result_t ret; - EVP_PKEY *pkey; - EC_KEY *eckey = NULL; - isc_region_t r; - int len; +opensslecdsa_todns(const dst_key_t *key, isc_buffer_t *data) +{ + isc_result_t ret; + EVP_PKEY * pkey; + EC_KEY * eckey = NULL; + isc_region_t r; + int len; unsigned char *cp; - unsigned char buf[DNS_KEY_ECDSA384SIZE + 1]; + unsigned char buf[DNS_KEY_ECDSA384SIZE + 1]; REQUIRE(key->keydata.pkey != NULL); @@ -383,30 +394,31 @@ opensslecdsa_todns(const dst_key_t *key, isc_buffer_t *data) { len--; isc_buffer_availableregion(data, &r); - if (r.length < (unsigned int) len) - DST_RET (ISC_R_NOSPACE); + if (r.length < (unsigned int)len) + DST_RET(ISC_R_NOSPACE); cp = buf; if (!i2o_ECPublicKey(eckey, &cp)) - DST_RET (dst__openssl_toresult(ISC_R_FAILURE)); + DST_RET(dst__openssl_toresult(ISC_R_FAILURE)); memmove(r.base, buf + 1, len); isc_buffer_add(data, len); ret = ISC_R_SUCCESS; - err: +err: EC_KEY_free(eckey); return (ret); } static isc_result_t -opensslecdsa_fromdns(dst_key_t *key, isc_buffer_t *data) { - isc_result_t ret; - EVP_PKEY *pkey; - EC_KEY *eckey = NULL; - isc_region_t r; - int group_nid; - unsigned int len; +opensslecdsa_fromdns(dst_key_t *key, isc_buffer_t *data) +{ + isc_result_t ret; + EVP_PKEY * pkey; + EC_KEY * eckey = NULL; + isc_region_t r; + int group_nid; + unsigned int len; const unsigned char *cp; - unsigned char buf[DNS_KEY_ECDSA384SIZE + 1]; + unsigned char buf[DNS_KEY_ECDSA384SIZE + 1]; REQUIRE(key->key_alg == DST_ALG_ECDSA256 || key->key_alg == DST_ALG_ECDSA384); @@ -432,19 +444,18 @@ opensslecdsa_fromdns(dst_key_t *key, isc_buffer_t *data) { buf[0] = POINT_CONVERSION_UNCOMPRESSED; memmove(buf + 1, r.base, len); cp = buf; - if (o2i_ECPublicKey(&eckey, - (const unsigned char **) &cp, - (long) len + 1) == NULL) - DST_RET (dst__openssl_toresult(DST_R_INVALIDPUBLICKEY)); + if (o2i_ECPublicKey(&eckey, (const unsigned char **)&cp, + (long)len + 1) == NULL) + DST_RET(dst__openssl_toresult(DST_R_INVALIDPUBLICKEY)); if (EC_KEY_check_key(eckey) != 1) - DST_RET (dst__openssl_toresult(DST_R_INVALIDPUBLICKEY)); + DST_RET(dst__openssl_toresult(DST_R_INVALIDPUBLICKEY)); pkey = EVP_PKEY_new(); if (pkey == NULL) - DST_RET (ISC_R_NOMEMORY); + DST_RET(ISC_R_NOMEMORY); if (!EVP_PKEY_set1_EC_KEY(pkey, eckey)) { EVP_PKEY_free(pkey); - DST_RET (dst__openssl_toresult(ISC_R_FAILURE)); + DST_RET(dst__openssl_toresult(ISC_R_FAILURE)); } isc_buffer_forward(data, len); @@ -452,19 +463,20 @@ opensslecdsa_fromdns(dst_key_t *key, isc_buffer_t *data) { key->key_size = len * 4; ret = ISC_R_SUCCESS; - err: +err: if (eckey != NULL) EC_KEY_free(eckey); return (ret); } static isc_result_t -opensslecdsa_tofile(const dst_key_t *key, const char *directory) { - isc_result_t ret; - EVP_PKEY *pkey; - EC_KEY *eckey = NULL; - const BIGNUM *privkey; - dst_private_t priv; +opensslecdsa_tofile(const dst_key_t *key, const char *directory) +{ + isc_result_t ret; + EVP_PKEY * pkey; + EC_KEY * eckey = NULL; + const BIGNUM * privkey; + dst_private_t priv; unsigned char *buf = NULL; if (key->keydata.pkey == NULL) @@ -481,7 +493,7 @@ opensslecdsa_tofile(const dst_key_t *key, const char *directory) { return (dst__openssl_toresult(DST_R_OPENSSLFAILURE)); privkey = EC_KEY_get0_private_key(eckey); if (privkey == NULL) - DST_RET (ISC_R_FAILURE); + DST_RET(ISC_R_FAILURE); buf = isc_mem_get(key->mctx, BN_num_bytes(privkey)); @@ -492,7 +504,7 @@ opensslecdsa_tofile(const dst_key_t *key, const char *directory) { priv.nelements = 1; ret = dst__privstruct_writefile(key, &priv, directory); - err: +err: EC_KEY_free(eckey); if (buf != NULL) isc_mem_put(key->mctx, buf, BN_num_bytes(privkey)); @@ -502,9 +514,9 @@ opensslecdsa_tofile(const dst_key_t *key, const char *directory) { static isc_result_t ecdsa_check(EC_KEY *eckey, dst_key_t *pub) { - isc_result_t ret = ISC_R_FAILURE; - EVP_PKEY *pkey; - EC_KEY *pubeckey = NULL; + isc_result_t ret = ISC_R_FAILURE; + EVP_PKEY * pkey; + EC_KEY * pubeckey = NULL; const EC_POINT *pubkey; if (pub == NULL) @@ -517,26 +529,27 @@ ecdsa_check(EC_KEY *eckey, dst_key_t *pub) return (ISC_R_SUCCESS); pubkey = EC_KEY_get0_public_key(pubeckey); if (pubkey == NULL) - DST_RET (ISC_R_SUCCESS); + DST_RET(ISC_R_SUCCESS); if (EC_KEY_set_public_key(eckey, pubkey) != 1) - DST_RET (ISC_R_SUCCESS); + DST_RET(ISC_R_SUCCESS); if (EC_KEY_check_key(eckey) == 1) - DST_RET (ISC_R_SUCCESS); + DST_RET(ISC_R_SUCCESS); - err: +err: EC_KEY_free(pubeckey); return (ret); } static isc_result_t -opensslecdsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { +opensslecdsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) +{ dst_private_t priv; - isc_result_t ret; - EVP_PKEY *pkey; - EC_KEY *eckey = NULL; - BIGNUM *privkey = NULL; - int group_nid; - isc_mem_t *mctx = key->mctx; + isc_result_t ret; + EVP_PKEY * pkey; + EC_KEY * eckey = NULL; + BIGNUM * privkey = NULL; + int group_nid; + isc_mem_t * mctx = key->mctx; REQUIRE(key->key_alg == DST_ALG_ECDSA256 || key->key_alg == DST_ALG_ECDSA384); @@ -567,8 +580,8 @@ opensslecdsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { if (eckey == NULL) return (dst__openssl_toresult(DST_R_OPENSSLFAILURE)); - privkey = BN_bin2bn(priv.elements[0].data, - priv.elements[0].length, NULL); + privkey = + BN_bin2bn(priv.elements[0].data, priv.elements[0].length, NULL); if (privkey == NULL) DST_RET(ISC_R_NOMEMORY); if (!EC_KEY_set_private_key(eckey, privkey)) @@ -578,10 +591,10 @@ opensslecdsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { pkey = EVP_PKEY_new(); if (pkey == NULL) - DST_RET (ISC_R_NOMEMORY); + DST_RET(ISC_R_NOMEMORY); if (!EVP_PKEY_set1_EC_KEY(pkey, eckey)) { EVP_PKEY_free(pkey); - DST_RET (dst__openssl_toresult(DST_R_OPENSSLFAILURE)); + DST_RET(dst__openssl_toresult(DST_R_OPENSSLFAILURE)); } key->keydata.pkey = pkey; if (key->key_alg == DST_ALG_ECDSA256) @@ -590,7 +603,7 @@ opensslecdsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { key->key_size = DNS_KEY_ECDSA384SIZE * 4; ret = ISC_R_SUCCESS; - err: +err: if (privkey != NULL) BN_clear_free(privkey); if (eckey != NULL) @@ -625,7 +638,8 @@ static dst_func_t opensslecdsa_functions = { }; isc_result_t -dst__opensslecdsa_init(dst_func_t **funcp) { +dst__opensslecdsa_init(dst_func_t **funcp) +{ REQUIRE(funcp != NULL); if (*funcp == NULL) *funcp = &opensslecdsa_functions; diff --git a/lib/dns/openssleddsa_link.c b/lib/dns/openssleddsa_link.c index a6b28b3007..9f3d189aba 100644 --- a/lib/dns/openssleddsa_link.c +++ b/lib/dns/openssleddsa_link.c @@ -16,26 +16,29 @@ #include #include -#include #include +#include #include #include #include -#include #include "dst_internal.h" #include "dst_openssl.h" #include "dst_parse.h" - -#include -#include -#include -#include - #include "openssl_shim.h" -#define DST_RET(a) {ret = a; goto err;} +#include +#include +#include +#include +#include + +#define DST_RET(a) \ + { \ + ret = a; \ + goto err; \ + } #if HAVE_OPENSSL_ED25519 @@ -45,16 +48,16 @@ /* OpenSSL doesn't provide direct access to key values */ -#define PUBPREFIXLEN 12 +#define PUBPREFIXLEN 12 -static const unsigned char ed25519_pub_prefix[] = { - 0x30, 0x2a, 0x30, 0x05, 0x06, 0x03, 0x2b, 0x65, - 0x70, 0x03, 0x21, 0x00 -}; +static const unsigned char ed25519_pub_prefix[] = { 0x30, 0x2a, 0x30, 0x05, + 0x06, 0x03, 0x2b, 0x65, + 0x70, 0x03, 0x21, 0x00 }; -static EVP_PKEY *pub_ed25519_to_ossl(const unsigned char *key) +static EVP_PKEY * +pub_ed25519_to_ossl(const unsigned char *key) { - unsigned char buf[PUBPREFIXLEN + DNS_KEY_ED25519SIZE]; + unsigned char buf[PUBPREFIXLEN + DNS_KEY_ED25519SIZE]; const unsigned char *p; memmove(buf, ed25519_pub_prefix, PUBPREFIXLEN); @@ -63,12 +66,12 @@ static EVP_PKEY *pub_ed25519_to_ossl(const unsigned char *key) return (d2i_PUBKEY(NULL, &p, PUBPREFIXLEN + DNS_KEY_ED25519SIZE)); } -static isc_result_t pub_ed25519_from_ossl(EVP_PKEY *pkey, - unsigned char *key) +static isc_result_t +pub_ed25519_from_ossl(EVP_PKEY *pkey, unsigned char *key) { - unsigned char buf[PUBPREFIXLEN + DNS_KEY_ED25519SIZE]; + unsigned char buf[PUBPREFIXLEN + DNS_KEY_ED25519SIZE]; unsigned char *p; - int len; + int len; len = i2d_PUBKEY(pkey, NULL); if ((len <= DNS_KEY_ED25519SIZE) || @@ -83,16 +86,17 @@ static isc_result_t pub_ed25519_from_ossl(EVP_PKEY *pkey, return (ISC_R_SUCCESS); } -#define PRIVPREFIXLEN 16 +#define PRIVPREFIXLEN 16 -static const unsigned char ed25519_priv_prefix[] = { - 0x30, 0x2e, 0x02, 0x01, 0x00, 0x30, 0x05, 0x06, - 0x03, 0x2b, 0x65, 0x70, 0x04, 0x22, 0x04, 0x20 -}; +static const unsigned char ed25519_priv_prefix[] = { 0x30, 0x2e, 0x02, 0x01, + 0x00, 0x30, 0x05, 0x06, + 0x03, 0x2b, 0x65, 0x70, + 0x04, 0x22, 0x04, 0x20 }; -static EVP_PKEY *priv_ed25519_to_ossl(const unsigned char *key) +static EVP_PKEY * +priv_ed25519_to_ossl(const unsigned char *key) { - unsigned char buf[PRIVPREFIXLEN + DNS_KEY_ED25519SIZE]; + unsigned char buf[PRIVPREFIXLEN + DNS_KEY_ED25519SIZE]; const unsigned char *p; memmove(buf, ed25519_priv_prefix, PRIVPREFIXLEN); @@ -102,12 +106,12 @@ static EVP_PKEY *priv_ed25519_to_ossl(const unsigned char *key) PRIVPREFIXLEN + DNS_KEY_ED25519SIZE)); } -static isc_result_t priv_ed25519_from_ossl(EVP_PKEY *pkey, - unsigned char *key) +static isc_result_t +priv_ed25519_from_ossl(EVP_PKEY *pkey, unsigned char *key) { - unsigned char buf[PRIVPREFIXLEN + DNS_KEY_ED25519SIZE]; + unsigned char buf[PRIVPREFIXLEN + DNS_KEY_ED25519SIZE]; unsigned char *p; - int len; + int len; len = i2d_PrivateKey(pkey, NULL); if ((len <= DNS_KEY_ED25519SIZE) || @@ -147,7 +151,8 @@ priv_ed25519_to_ossl(const unsigned char *key) } static isc_result_t -priv_ed25519_from_ossl(EVP_PKEY *pkey, unsigned char *key) { +priv_ed25519_from_ossl(EVP_PKEY *pkey, unsigned char *key) +{ UNUSED(pkey); UNUSED(key); return (ISC_R_NOTIMPLEMENTED); @@ -161,14 +166,14 @@ priv_ed25519_from_ossl(EVP_PKEY *pkey, unsigned char *key) { #error "Ed448 group is not known (NID_ED448)" #endif -static const unsigned char ed448_pub_prefix[] = { - 0x30, 0x43, 0x30, 0x05, 0x06, 0x03, 0x2b, 0x65, - 0x71, 0x03, 0x3a, 0x00 -}; +static const unsigned char ed448_pub_prefix[] = { 0x30, 0x43, 0x30, 0x05, + 0x06, 0x03, 0x2b, 0x65, + 0x71, 0x03, 0x3a, 0x00 }; -static EVP_PKEY *pub_ed448_to_ossl(const unsigned char *key) +static EVP_PKEY * +pub_ed448_to_ossl(const unsigned char *key) { - unsigned char buf[PUBPREFIXLEN + DNS_KEY_ED448SIZE]; + unsigned char buf[PUBPREFIXLEN + DNS_KEY_ED448SIZE]; const unsigned char *p; memmove(buf, ed448_pub_prefix, PUBPREFIXLEN); @@ -177,12 +182,12 @@ static EVP_PKEY *pub_ed448_to_ossl(const unsigned char *key) return (d2i_PUBKEY(NULL, &p, PUBPREFIXLEN + DNS_KEY_ED448SIZE)); } -static isc_result_t pub_ed448_from_ossl(EVP_PKEY *pkey, - unsigned char *key) +static isc_result_t +pub_ed448_from_ossl(EVP_PKEY *pkey, unsigned char *key) { - unsigned char buf[PUBPREFIXLEN + DNS_KEY_ED448SIZE]; + unsigned char buf[PUBPREFIXLEN + DNS_KEY_ED448SIZE]; unsigned char *p; - int len; + int len; len = i2d_PUBKEY(pkey, NULL); if ((len <= DNS_KEY_ED448SIZE) || @@ -197,14 +202,15 @@ static isc_result_t pub_ed448_from_ossl(EVP_PKEY *pkey, return (ISC_R_SUCCESS); } -static const unsigned char ed448_priv_prefix[] = { - 0x30, 0x47, 0x02, 0x01, 0x00, 0x30, 0x05, 0x06, - 0x03, 0x2b, 0x65, 0x71, 0x04, 0x3b, 0x04, 0x39 -}; +static const unsigned char ed448_priv_prefix[] = { 0x30, 0x47, 0x02, 0x01, + 0x00, 0x30, 0x05, 0x06, + 0x03, 0x2b, 0x65, 0x71, + 0x04, 0x3b, 0x04, 0x39 }; -static EVP_PKEY *priv_ed448_to_ossl(const unsigned char *key) +static EVP_PKEY * +priv_ed448_to_ossl(const unsigned char *key) { - unsigned char buf[PRIVPREFIXLEN + DNS_KEY_ED448SIZE]; + unsigned char buf[PRIVPREFIXLEN + DNS_KEY_ED448SIZE]; const unsigned char *p; memmove(buf, ed448_priv_prefix, PRIVPREFIXLEN); @@ -214,12 +220,12 @@ static EVP_PKEY *priv_ed448_to_ossl(const unsigned char *key) PRIVPREFIXLEN + DNS_KEY_ED448SIZE)); } -static isc_result_t priv_ed448_from_ossl(EVP_PKEY *pkey, - unsigned char *key) +static isc_result_t +priv_ed448_from_ossl(EVP_PKEY *pkey, unsigned char *key) { - unsigned char buf[PRIVPREFIXLEN + DNS_KEY_ED448SIZE]; + unsigned char buf[PRIVPREFIXLEN + DNS_KEY_ED448SIZE]; unsigned char *p; - int len; + int len; len = i2d_PrivateKey(pkey, NULL); if ((len <= DNS_KEY_ED448SIZE) || @@ -259,7 +265,8 @@ priv_ed448_to_ossl(const unsigned char *key) } static isc_result_t -priv_ed448_from_ossl(EVP_PKEY *pkey, unsigned char *key) { +priv_ed448_from_ossl(EVP_PKEY *pkey, unsigned char *key) +{ UNUSED(pkey); UNUSED(key); return (ISC_R_NOTIMPLEMENTED); @@ -267,11 +274,12 @@ priv_ed448_from_ossl(EVP_PKEY *pkey, unsigned char *key) { #endif /* HAVE_OPENSSL_ED448 */ -static isc_result_t openssleddsa_todns(const dst_key_t *key, - isc_buffer_t *data); +static isc_result_t +openssleddsa_todns(const dst_key_t *key, isc_buffer_t *data); static isc_result_t -openssleddsa_createctx(dst_key_t *key, dst_context_t *dctx) { +openssleddsa_createctx(dst_key_t *key, dst_context_t *dctx) +{ isc_buffer_t *buf = NULL; UNUSED(key); @@ -285,8 +293,9 @@ openssleddsa_createctx(dst_key_t *key, dst_context_t *dctx) { } static void -openssleddsa_destroyctx(dst_context_t *dctx) { - isc_buffer_t *buf = (isc_buffer_t *) dctx->ctxdata.generic; +openssleddsa_destroyctx(dst_context_t *dctx) +{ + isc_buffer_t *buf = (isc_buffer_t *)dctx->ctxdata.generic; REQUIRE(dctx->key->key_alg == DST_ALG_ED25519 || dctx->key->key_alg == DST_ALG_ED448); @@ -296,12 +305,13 @@ openssleddsa_destroyctx(dst_context_t *dctx) { } static isc_result_t -openssleddsa_adddata(dst_context_t *dctx, const isc_region_t *data) { - isc_buffer_t *buf = (isc_buffer_t *) dctx->ctxdata.generic; +openssleddsa_adddata(dst_context_t *dctx, const isc_region_t *data) +{ + isc_buffer_t *buf = (isc_buffer_t *)dctx->ctxdata.generic; isc_buffer_t *nbuf = NULL; - isc_region_t r; - unsigned int length; - isc_result_t result; + isc_region_t r; + unsigned int length; + isc_result_t result; REQUIRE(dctx->key->key_alg == DST_ALG_ED25519 || dctx->key->key_alg == DST_ALG_ED448); @@ -313,8 +323,8 @@ openssleddsa_adddata(dst_context_t *dctx, const isc_region_t *data) { length = isc_buffer_length(buf) + data->length + 64; isc_buffer_allocate(dctx->mctx, &nbuf, length); isc_buffer_usedregion(buf, &r); - (void) isc_buffer_copyregion(nbuf, &r); - (void) isc_buffer_copyregion(nbuf, data); + (void)isc_buffer_copyregion(nbuf, &r); + (void)isc_buffer_copyregion(nbuf, data); isc_buffer_free(&buf); dctx->ctxdata.generic = nbuf; @@ -322,15 +332,16 @@ openssleddsa_adddata(dst_context_t *dctx, const isc_region_t *data) { } static isc_result_t -openssleddsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { - isc_result_t ret; - dst_key_t *key = dctx->key; - isc_region_t tbsreg; - isc_region_t sigreg; - EVP_PKEY *pkey = key->keydata.pkey; - EVP_MD_CTX* ctx = EVP_MD_CTX_new(); - isc_buffer_t *buf = (isc_buffer_t *) dctx->ctxdata.generic; - size_t siglen; +openssleddsa_sign(dst_context_t *dctx, isc_buffer_t *sig) +{ + isc_result_t ret; + dst_key_t * key = dctx->key; + isc_region_t tbsreg; + isc_region_t sigreg; + EVP_PKEY * pkey = key->keydata.pkey; + EVP_MD_CTX * ctx = EVP_MD_CTX_new(); + isc_buffer_t *buf = (isc_buffer_t *)dctx->ctxdata.generic; + size_t siglen; REQUIRE(key->key_alg == DST_ALG_ED25519 || key->key_alg == DST_ALG_ED448); @@ -344,26 +355,24 @@ openssleddsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { siglen = DNS_SIG_ED448SIZE; isc_buffer_availableregion(sig, &sigreg); - if (sigreg.length < (unsigned int) siglen) + if (sigreg.length < (unsigned int)siglen) DST_RET(ISC_R_NOSPACE); isc_buffer_usedregion(buf, &tbsreg); if (EVP_DigestSignInit(ctx, NULL, NULL, NULL, pkey) != 1) { - DST_RET(dst__openssl_toresult3(dctx->category, - "EVP_DigestSignInit", - ISC_R_FAILURE)); + DST_RET(dst__openssl_toresult3( + dctx->category, "EVP_DigestSignInit", ISC_R_FAILURE)); } - if (EVP_DigestSign(ctx, sigreg.base, &siglen, - tbsreg.base, tbsreg.length) != 1) { - DST_RET(dst__openssl_toresult3(dctx->category, - "EVP_DigestSign", + if (EVP_DigestSign(ctx, sigreg.base, &siglen, tbsreg.base, + tbsreg.length) != 1) { + DST_RET(dst__openssl_toresult3(dctx->category, "EVP_DigestSign", DST_R_SIGNFAILURE)); } - isc_buffer_add(sig, (unsigned int) siglen); + isc_buffer_add(sig, (unsigned int)siglen); ret = ISC_R_SUCCESS; - err: +err: EVP_MD_CTX_free(ctx); isc_buffer_free(&buf); dctx->ctxdata.generic = NULL; @@ -372,15 +381,16 @@ openssleddsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { } static isc_result_t -openssleddsa_verify(dst_context_t *dctx, const isc_region_t *sig) { - isc_result_t ret; - dst_key_t *key = dctx->key; - int status; - isc_region_t tbsreg; - EVP_PKEY *pkey = key->keydata.pkey; - EVP_MD_CTX* ctx = EVP_MD_CTX_new(); - isc_buffer_t *buf = (isc_buffer_t *) dctx->ctxdata.generic; - unsigned int siglen = 0; +openssleddsa_verify(dst_context_t *dctx, const isc_region_t *sig) +{ + isc_result_t ret; + dst_key_t * key = dctx->key; + int status; + isc_region_t tbsreg; + EVP_PKEY * pkey = key->keydata.pkey; + EVP_MD_CTX * ctx = EVP_MD_CTX_new(); + isc_buffer_t *buf = (isc_buffer_t *)dctx->ctxdata.generic; + unsigned int siglen = 0; REQUIRE(key->key_alg == DST_ALG_ED25519 || key->key_alg == DST_ALG_ED448); @@ -408,13 +418,12 @@ openssleddsa_verify(dst_context_t *dctx, const isc_region_t *sig) { isc_buffer_usedregion(buf, &tbsreg); if (EVP_DigestVerifyInit(ctx, NULL, NULL, NULL, pkey) != 1) { - DST_RET(dst__openssl_toresult3(dctx->category, - "EVP_DigestVerifyInit", - ISC_R_FAILURE)); + DST_RET(dst__openssl_toresult3( + dctx->category, "EVP_DigestVerifyInit", ISC_R_FAILURE)); } - status = EVP_DigestVerify(ctx, sig->base, siglen, - tbsreg.base, tbsreg.length); + status = EVP_DigestVerify(ctx, sig->base, siglen, tbsreg.base, + tbsreg.length); switch (status) { case 1: @@ -424,13 +433,12 @@ openssleddsa_verify(dst_context_t *dctx, const isc_region_t *sig) { ret = dst__openssl_toresult(DST_R_VERIFYFAILURE); break; default: - ret = dst__openssl_toresult3(dctx->category, - "EVP_DigestVerify", + ret = dst__openssl_toresult3(dctx->category, "EVP_DigestVerify", DST_R_VERIFYFAILURE); break; } - err: +err: EVP_MD_CTX_free(ctx); isc_buffer_free(&buf); dctx->ctxdata.generic = NULL; @@ -439,8 +447,9 @@ openssleddsa_verify(dst_context_t *dctx, const isc_region_t *sig) { } static bool -openssleddsa_compare(const dst_key_t *key1, const dst_key_t *key2) { - int status; +openssleddsa_compare(const dst_key_t *key1, const dst_key_t *key2) +{ + int status; EVP_PKEY *pkey1 = key1->keydata.pkey; EVP_PKEY *pkey2 = key2->keydata.pkey; @@ -456,11 +465,12 @@ openssleddsa_compare(const dst_key_t *key1, const dst_key_t *key2) { } static isc_result_t -openssleddsa_generate(dst_key_t *key, int unused, void (*callback)(int)) { - isc_result_t ret; - EVP_PKEY *pkey = NULL; +openssleddsa_generate(dst_key_t *key, int unused, void (*callback)(int)) +{ + isc_result_t ret; + EVP_PKEY * pkey = NULL; EVP_PKEY_CTX *ctx = NULL; - int nid = 0, status; + int nid = 0, status; REQUIRE(key->key_alg == DST_ALG_ED25519 || key->key_alg == DST_ALG_ED448); @@ -490,26 +500,27 @@ openssleddsa_generate(dst_key_t *key, int unused, void (*callback)(int)) { status = EVP_PKEY_keygen_init(ctx); if (status != 1) - DST_RET (dst__openssl_toresult2("EVP_PKEY_keygen_init", - DST_R_OPENSSLFAILURE)); + DST_RET(dst__openssl_toresult2("EVP_PKEY_keygen_init", + DST_R_OPENSSLFAILURE)); status = EVP_PKEY_keygen(ctx, &pkey); if (status != 1) - DST_RET (dst__openssl_toresult2("EVP_PKEY_keygen", - DST_R_OPENSSLFAILURE)); + DST_RET(dst__openssl_toresult2("EVP_PKEY_keygen", + DST_R_OPENSSLFAILURE)); key->keydata.pkey = pkey; ret = ISC_R_SUCCESS; - err: +err: EVP_PKEY_CTX_free(ctx); return (ret); } static bool -openssleddsa_isprivate(const dst_key_t *key) { - EVP_PKEY *pkey = key->keydata.pkey; - int len; +openssleddsa_isprivate(const dst_key_t *key) +{ + EVP_PKEY * pkey = key->keydata.pkey; + int len; unsigned long err; if (pkey == NULL) @@ -526,7 +537,8 @@ openssleddsa_isprivate(const dst_key_t *key) { } static void -openssleddsa_destroy(dst_key_t *key) { +openssleddsa_destroy(dst_key_t *key) +{ EVP_PKEY *pkey = key->keydata.pkey; EVP_PKEY_free(pkey); @@ -534,8 +546,9 @@ openssleddsa_destroy(dst_key_t *key) { } static isc_result_t -openssleddsa_todns(const dst_key_t *key, isc_buffer_t *data) { - EVP_PKEY *pkey = key->keydata.pkey; +openssleddsa_todns(const dst_key_t *key, isc_buffer_t *data) +{ + EVP_PKEY * pkey = key->keydata.pkey; isc_region_t r; isc_result_t result; @@ -566,8 +579,9 @@ openssleddsa_todns(const dst_key_t *key, isc_buffer_t *data) { } static isc_result_t -openssleddsa_fromdns(dst_key_t *key, isc_buffer_t *data) { - EVP_PKEY *pkey; +openssleddsa_fromdns(dst_key_t *key, isc_buffer_t *data) +{ + EVP_PKEY * pkey; isc_region_t r; unsigned int len; @@ -597,12 +611,13 @@ openssleddsa_fromdns(dst_key_t *key, isc_buffer_t *data) { } static isc_result_t -openssleddsa_tofile(const dst_key_t *key, const char *directory) { - isc_result_t ret; - EVP_PKEY *pkey; - dst_private_t priv; +openssleddsa_tofile(const dst_key_t *key, const char *directory) +{ + isc_result_t ret; + EVP_PKEY * pkey; + dst_private_t priv; unsigned char *buf = NULL; - unsigned int len; + unsigned int len; REQUIRE(key->key_alg == DST_ALG_ED25519 || key->key_alg == DST_ALG_ED448); @@ -623,7 +638,7 @@ openssleddsa_tofile(const dst_key_t *key, const char *directory) { priv.elements[0].length = len; ret = priv_ed25519_from_ossl(pkey, buf); if (ret != ISC_R_SUCCESS) - DST_RET (dst__openssl_toresult(ret)); + DST_RET(dst__openssl_toresult(ret)); priv.elements[0].data = buf; priv.nelements = 1; ret = dst__privstruct_writefile(key, &priv, directory); @@ -634,13 +649,13 @@ openssleddsa_tofile(const dst_key_t *key, const char *directory) { priv.elements[0].length = len; ret = priv_ed448_from_ossl(pkey, buf); if (ret != ISC_R_SUCCESS) - DST_RET (dst__openssl_toresult(ret)); + DST_RET(dst__openssl_toresult(ret)); priv.elements[0].data = buf; priv.nelements = 1; ret = dst__privstruct_writefile(key, &priv, directory); } - err: +err: if (buf != NULL) isc_mem_put(key->mctx, buf, len); return (ret); @@ -662,12 +677,13 @@ eddsa_check(EVP_PKEY *privkey, dst_key_t *pub) } static isc_result_t -openssleddsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { +openssleddsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) +{ dst_private_t priv; - isc_result_t ret; - EVP_PKEY *pkey = NULL; - unsigned int len; - isc_mem_t *mctx = key->mctx; + isc_result_t ret; + EVP_PKEY * pkey = NULL; + unsigned int len; + isc_mem_t * mctx = key->mctx; REQUIRE(key->key_alg == DST_ALG_ED25519 || key->key_alg == DST_ALG_ED448); @@ -701,7 +717,7 @@ openssleddsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { pkey = priv_ed448_to_ossl(priv.elements[0].data); } if (pkey == NULL) - DST_RET (dst__openssl_toresult(DST_R_OPENSSLFAILURE)); + DST_RET(dst__openssl_toresult(DST_R_OPENSSLFAILURE)); if (eddsa_check(pkey, pub) != ISC_R_SUCCESS) { EVP_PKEY_free(pkey); DST_RET(DST_R_INVALIDPRIVATEKEY); @@ -710,7 +726,7 @@ openssleddsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { key->key_size = len; ret = ISC_R_SUCCESS; - err: +err: dst__privstruct_free(&priv, mctx); isc_safe_memwipe(&priv, sizeof(priv)); return (ret); @@ -741,7 +757,8 @@ static dst_func_t openssleddsa_functions = { }; isc_result_t -dst__openssleddsa_init(dst_func_t **funcp) { +dst__openssleddsa_init(dst_func_t **funcp) +{ REQUIRE(funcp != NULL); if (*funcp == NULL) *funcp = &openssleddsa_functions; diff --git a/lib/dns/opensslrsa_link.c b/lib/dns/opensslrsa_link.c index 009ee454de..66d09055e9 100644 --- a/lib/dns/opensslrsa_link.c +++ b/lib/dns/opensslrsa_link.c @@ -19,18 +19,16 @@ #include #include -#include - -#include - #include "dst_internal.h" #include "dst_openssl.h" #include "dst_parse.h" +#include +#include #include #include #include -#include +#include #if !defined(OPENSSL_NO_ENGINE) #include #endif @@ -39,7 +37,7 @@ * Limit the size of public exponents. */ #ifndef RSA_MAX_PUBEXP_BITS -#define RSA_MAX_PUBEXP_BITS 35 +#define RSA_MAX_PUBEXP_BITS 35 #endif /* @@ -50,13 +48,17 @@ #error Please upgrade OpenSSL to 1.0.0 or greater. #endif -#define DST_RET(a) {ret = a; goto err;} +#define DST_RET(a) \ + { \ + ret = a; \ + goto err; \ + } #if !HAVE_RSA_SET0_KEY /* From OpenSSL 1.1.0 */ static int -RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) { - +RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) +{ /* * If the fields n and e in r are NULL, the corresponding input * parameters MUST be non-NULL for n and e. d may be @@ -83,8 +85,8 @@ RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) { } static int -RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q) { - +RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q) +{ /* * If the fields p and q in r are NULL, the corresponding input * parameters MUST be non-NULL. @@ -106,15 +108,15 @@ RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q) { } static int -RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp) { +RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp) +{ /* * If the fields dmp1, dmq1 and iqmp in r are NULL, the * corresponding input parameters MUST be non-NULL. */ if ((r->dmp1 == NULL && dmp1 == NULL) || (r->dmq1 == NULL && dmq1 == NULL) || - (r->iqmp == NULL && iqmp == NULL)) - { + (r->iqmp == NULL && iqmp == NULL)) { return 0; } @@ -135,8 +137,7 @@ RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp) { } static void -RSA_get0_key(const RSA *r, - const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) +RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) { if (n != NULL) { *n = r->n; @@ -150,7 +151,8 @@ RSA_get0_key(const RSA *r, } static void -RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q) { +RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q) +{ if (p != NULL) { *p = r->p; } @@ -175,17 +177,20 @@ RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1, } static int -RSA_test_flags(const RSA *r, int flags) { +RSA_test_flags(const RSA *r, int flags) +{ return (r->flags & flags); } #endif /* !HAVE_RSA_SET0_KEY */ -static isc_result_t opensslrsa_todns(const dst_key_t *key, isc_buffer_t *data); +static isc_result_t +opensslrsa_todns(const dst_key_t *key, isc_buffer_t *data); static isc_result_t -opensslrsa_createctx(dst_key_t *key, dst_context_t *dctx) { - EVP_MD_CTX *evp_md_ctx; +opensslrsa_createctx(dst_key_t *key, dst_context_t *dctx) +{ + EVP_MD_CTX * evp_md_ctx; const EVP_MD *type = NULL; UNUSED(key); @@ -206,8 +211,7 @@ opensslrsa_createctx(dst_key_t *key, dst_context_t *dctx) { break; case DST_ALG_RSASHA256: /* From RFC 5702 */ - if ((dctx->key->key_size < 512) || - (dctx->key->key_size > 4096)) + if ((dctx->key->key_size < 512) || (dctx->key->key_size > 4096)) return (ISC_R_FAILURE); break; case DST_ALG_RSASHA512: @@ -228,10 +232,10 @@ opensslrsa_createctx(dst_key_t *key, dst_context_t *dctx) { switch (dctx->key->key_alg) { case DST_ALG_RSASHA1: case DST_ALG_NSEC3RSASHA1: - type = EVP_sha1(); /* SHA1 + RSA */ + type = EVP_sha1(); /* SHA1 + RSA */ break; case DST_ALG_RSASHA256: - type = EVP_sha256(); /* SHA256 + RSA */ + type = EVP_sha256(); /* SHA256 + RSA */ break; case DST_ALG_RSASHA512: type = EVP_sha512(); @@ -243,9 +247,8 @@ opensslrsa_createctx(dst_key_t *key, dst_context_t *dctx) { if (!EVP_DigestInit_ex(evp_md_ctx, type, NULL)) { EVP_MD_CTX_destroy(evp_md_ctx); - return (dst__openssl_toresult3(dctx->category, - "EVP_DigestInit_ex", - ISC_R_FAILURE)); + return (dst__openssl_toresult3( + dctx->category, "EVP_DigestInit_ex", ISC_R_FAILURE)); } dctx->ctxdata.evp_md_ctx = evp_md_ctx; @@ -253,7 +256,8 @@ opensslrsa_createctx(dst_key_t *key, dst_context_t *dctx) { } static void -opensslrsa_destroyctx(dst_context_t *dctx) { +opensslrsa_destroyctx(dst_context_t *dctx) +{ EVP_MD_CTX *evp_md_ctx = dctx->ctxdata.evp_md_ctx; REQUIRE(dctx->key->key_alg == DST_ALG_RSASHA1 || @@ -268,7 +272,8 @@ opensslrsa_destroyctx(dst_context_t *dctx) { } static isc_result_t -opensslrsa_adddata(dst_context_t *dctx, const isc_region_t *data) { +opensslrsa_adddata(dst_context_t *dctx, const isc_region_t *data) +{ EVP_MD_CTX *evp_md_ctx = dctx->ctxdata.evp_md_ctx; REQUIRE(dctx->key->key_alg == DST_ALG_RSASHA1 || @@ -277,20 +282,20 @@ opensslrsa_adddata(dst_context_t *dctx, const isc_region_t *data) { dctx->key->key_alg == DST_ALG_RSASHA512); if (!EVP_DigestUpdate(evp_md_ctx, data->base, data->length)) { - return (dst__openssl_toresult3(dctx->category, - "EVP_DigestUpdate", - ISC_R_FAILURE)); + return (dst__openssl_toresult3( + dctx->category, "EVP_DigestUpdate", ISC_R_FAILURE)); } return (ISC_R_SUCCESS); } static isc_result_t -opensslrsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { - dst_key_t *key = dctx->key; +opensslrsa_sign(dst_context_t *dctx, isc_buffer_t *sig) +{ + dst_key_t * key = dctx->key; isc_region_t r; unsigned int siglen = 0; - EVP_MD_CTX *evp_md_ctx = dctx->ctxdata.evp_md_ctx; - EVP_PKEY *pkey = key->keydata.pkey; + EVP_MD_CTX * evp_md_ctx = dctx->ctxdata.evp_md_ctx; + EVP_PKEY * pkey = key->keydata.pkey; REQUIRE(dctx->key->key_alg == DST_ALG_RSASHA1 || dctx->key->key_alg == DST_ALG_NSEC3RSASHA1 || @@ -299,12 +304,11 @@ opensslrsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { isc_buffer_availableregion(sig, &r); - if (r.length < (unsigned int) EVP_PKEY_size(pkey)) + if (r.length < (unsigned int)EVP_PKEY_size(pkey)) return (ISC_R_NOSPACE); if (!EVP_SignFinal(evp_md_ctx, r.base, &siglen, pkey)) { - return (dst__openssl_toresult3(dctx->category, - "EVP_SignFinal", + return (dst__openssl_toresult3(dctx->category, "EVP_SignFinal", ISC_R_FAILURE)); } @@ -314,14 +318,15 @@ opensslrsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { } static isc_result_t -opensslrsa_verify2(dst_context_t *dctx, int maxbits, const isc_region_t *sig) { - dst_key_t *key = dctx->key; - int status = 0; +opensslrsa_verify2(dst_context_t *dctx, int maxbits, const isc_region_t *sig) +{ + dst_key_t * key = dctx->key; + int status = 0; const BIGNUM *e = NULL; - EVP_MD_CTX *evp_md_ctx = dctx->ctxdata.evp_md_ctx; - EVP_PKEY *pkey = key->keydata.pkey; - RSA *rsa; - int bits; + EVP_MD_CTX * evp_md_ctx = dctx->ctxdata.evp_md_ctx; + EVP_PKEY * pkey = key->keydata.pkey; + RSA * rsa; + int bits; REQUIRE(dctx->key->key_alg == DST_ALG_RSASHA1 || dctx->key->key_alg == DST_ALG_NSEC3RSASHA1 || @@ -351,20 +356,22 @@ opensslrsa_verify2(dst_context_t *dctx, int maxbits, const isc_region_t *sig) { } static isc_result_t -opensslrsa_verify(dst_context_t *dctx, const isc_region_t *sig) { +opensslrsa_verify(dst_context_t *dctx, const isc_region_t *sig) +{ return (opensslrsa_verify2(dctx, 0, sig)); } static bool -opensslrsa_compare(const dst_key_t *key1, const dst_key_t *key2) { - int status; - RSA *rsa1 = NULL, *rsa2 = NULL; +opensslrsa_compare(const dst_key_t *key1, const dst_key_t *key2) +{ + int status; + RSA * rsa1 = NULL, *rsa2 = NULL; const BIGNUM *n1 = NULL, *n2 = NULL; const BIGNUM *e1 = NULL, *e2 = NULL; const BIGNUM *d1 = NULL, *d2 = NULL; const BIGNUM *p1 = NULL, *p2 = NULL; const BIGNUM *q1 = NULL, *q2 = NULL; - EVP_PKEY *pkey1, *pkey2; + EVP_PKEY * pkey1, *pkey2; pkey1 = key1->keydata.pkey; pkey2 = key2->keydata.pkey; @@ -418,7 +425,8 @@ opensslrsa_compare(const dst_key_t *key1, const dst_key_t *key2) { } static int -progress_cb(int p, int n, BN_GENCB *cb) { +progress_cb(int p, int n, BN_GENCB *cb) +{ union { void *dptr; void (*fptr)(int); @@ -433,13 +441,14 @@ progress_cb(int p, int n, BN_GENCB *cb) { } static isc_result_t -opensslrsa_generate(dst_key_t *key, int exp, void (*callback)(int)) { +opensslrsa_generate(dst_key_t *key, int exp, void (*callback)(int)) +{ isc_result_t ret = DST_R_OPENSSLFAILURE; union { void *dptr; void (*fptr)(int); } u; - RSA *rsa = RSA_new(); + RSA * rsa = RSA_new(); BIGNUM *e = BN_new(); #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) BN_GENCB _cb; @@ -459,14 +468,12 @@ opensslrsa_generate(dst_key_t *key, int exp, void (*callback)(int)) { break; case DST_ALG_RSASHA256: /* From RFC 5702 */ - if ((key->key_size < 512) || - (key->key_size > 4096)) + if ((key->key_size < 512) || (key->key_size > 4096)) goto err; break; case DST_ALG_RSASHA512: /* From RFC 5702 */ - if ((key->key_size < 1024) || - (key->key_size > 4096)) + if ((key->key_size < 1024) || (key->key_size > 4096)) goto err; break; default: @@ -510,7 +517,7 @@ opensslrsa_generate(dst_key_t *key, int exp, void (*callback)(int)) { ret = dst__openssl_toresult2("RSA_generate_key_ex", DST_R_OPENSSLFAILURE); - err: +err: if (pkey != NULL) { EVP_PKEY_free(pkey); pkey = NULL; @@ -531,9 +538,10 @@ opensslrsa_generate(dst_key_t *key, int exp, void (*callback)(int)) { } static bool -opensslrsa_isprivate(const dst_key_t *key) { +opensslrsa_isprivate(const dst_key_t *key) +{ const BIGNUM *d = NULL; - RSA *rsa = EVP_PKEY_get1_RSA(key->keydata.pkey); + RSA * rsa = EVP_PKEY_get1_RSA(key->keydata.pkey); INSIST(rsa != NULL); RSA_free(rsa); /* key->keydata.pkey still has a reference so rsa is still valid. */ @@ -544,20 +552,22 @@ opensslrsa_isprivate(const dst_key_t *key) { } static void -opensslrsa_destroy(dst_key_t *key) { +opensslrsa_destroy(dst_key_t *key) +{ EVP_PKEY *pkey = key->keydata.pkey; EVP_PKEY_free(pkey); key->keydata.pkey = NULL; } static isc_result_t -opensslrsa_todns(const dst_key_t *key, isc_buffer_t *data) { - isc_region_t r; - unsigned int e_bytes; - unsigned int mod_bytes; - isc_result_t ret; - RSA *rsa; - EVP_PKEY *pkey; +opensslrsa_todns(const dst_key_t *key, isc_buffer_t *data) +{ + isc_region_t r; + unsigned int e_bytes; + unsigned int mod_bytes; + isc_result_t ret; + RSA * rsa; + EVP_PKEY * pkey; const BIGNUM *e = NULL, *n = NULL; REQUIRE(key->keydata.pkey != NULL); @@ -573,16 +583,16 @@ opensslrsa_todns(const dst_key_t *key, isc_buffer_t *data) { mod_bytes = BN_num_bytes(n); e_bytes = BN_num_bytes(e); - if (e_bytes < 256) { /*%< key exponent is <= 2040 bits */ + if (e_bytes < 256) { /*%< key exponent is <= 2040 bits */ if (r.length < 1) DST_RET(ISC_R_NOSPACE); - isc_buffer_putuint8(data, (uint8_t) e_bytes); + isc_buffer_putuint8(data, (uint8_t)e_bytes); isc_region_consume(&r, 1); } else { if (r.length < 3) DST_RET(ISC_R_NOSPACE); isc_buffer_putuint8(data, 0); - isc_buffer_putuint16(data, (uint16_t) e_bytes); + isc_buffer_putuint16(data, (uint16_t)e_bytes); isc_region_consume(&r, 3); } @@ -597,19 +607,20 @@ opensslrsa_todns(const dst_key_t *key, isc_buffer_t *data) { isc_buffer_add(data, e_bytes + mod_bytes); ret = ISC_R_SUCCESS; - err: +err: RSA_free(rsa); return (ret); } static isc_result_t -opensslrsa_fromdns(dst_key_t *key, isc_buffer_t *data) { - RSA *rsa; +opensslrsa_fromdns(dst_key_t *key, isc_buffer_t *data) +{ + RSA * rsa; isc_region_t r; unsigned int e_bytes; unsigned int length; - EVP_PKEY *pkey; - BIGNUM *e = NULL, *n = NULL; + EVP_PKEY * pkey; + BIGNUM * e = NULL, *n = NULL; isc_buffer_remainingregion(data, &r); if (r.length == 0) @@ -646,8 +657,10 @@ opensslrsa_fromdns(dst_key_t *key, isc_buffer_t *data) { isc_region_consume(&r, e_bytes); n = BN_bin2bn(r.base, r.length, NULL); if (RSA_set0_key(rsa, n, e, NULL) == 0) { - if (n != NULL) BN_free(n); - if (e != NULL) BN_free(e); + if (n != NULL) + BN_free(n); + if (e != NULL) + BN_free(e); RSA_free(rsa); return (ISC_R_NOMEMORY); } @@ -672,15 +685,16 @@ opensslrsa_fromdns(dst_key_t *key, isc_buffer_t *data) { } static isc_result_t -opensslrsa_tofile(const dst_key_t *key, const char *directory) { - int i; - RSA *rsa; - dst_private_t priv; +opensslrsa_tofile(const dst_key_t *key, const char *directory) +{ + int i; + RSA * rsa; + dst_private_t priv; unsigned char *bufs[8]; - isc_result_t result; - const BIGNUM *n = NULL, *e = NULL, *d = NULL; - const BIGNUM *p = NULL, *q = NULL; - const BIGNUM *dmp1 = NULL, *dmq1 = NULL, *iqmp = NULL; + isc_result_t result; + const BIGNUM * n = NULL, *e = NULL, *d = NULL; + const BIGNUM * p = NULL, *q = NULL; + const BIGNUM * dmp1 = NULL, *dmq1 = NULL, *iqmp = NULL; if (key->keydata.pkey == NULL) return (DST_R_NULLKEY); @@ -781,10 +795,9 @@ opensslrsa_tofile(const dst_key_t *key, const char *directory) { i++; } - priv.nelements = i; result = dst__privstruct_writefile(key, &priv, directory); - fail: +fail: RSA_free(rsa); for (i = 0; i < 8; i++) { if (bufs[i] == NULL) @@ -795,10 +808,11 @@ opensslrsa_tofile(const dst_key_t *key, const char *directory) { } static isc_result_t -rsa_check(RSA *rsa, RSA *pub) { +rsa_check(RSA *rsa, RSA *pub) +{ const BIGNUM *n1 = NULL, *n2 = NULL; const BIGNUM *e1 = NULL, *e2 = NULL; - BIGNUM *n = NULL, *e = NULL; + BIGNUM * n = NULL, *e = NULL; /* * Public parameters should be the same but if they are not set @@ -833,21 +847,22 @@ rsa_check(RSA *rsa, RSA *pub) { } static isc_result_t -opensslrsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { +opensslrsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) +{ dst_private_t priv; - isc_result_t ret; - int i; - RSA *rsa = NULL, *pubrsa = NULL; + isc_result_t ret; + int i; + RSA * rsa = NULL, *pubrsa = NULL; #if !defined(OPENSSL_NO_ENGINE) - ENGINE *ep = NULL; + ENGINE * ep = NULL; const BIGNUM *ex = NULL; #endif - isc_mem_t *mctx = key->mctx; + isc_mem_t * mctx = key->mctx; const char *engine = NULL, *label = NULL; - EVP_PKEY *pkey = NULL; - BIGNUM *n = NULL, *e = NULL, *d = NULL; - BIGNUM *p = NULL, *q = NULL; - BIGNUM *dmp1 = NULL, *dmq1 = NULL, *iqmp = NULL; + EVP_PKEY * pkey = NULL; + BIGNUM * n = NULL, *e = NULL, *d = NULL; + BIGNUM * p = NULL, *q = NULL; + BIGNUM * dmp1 = NULL, *dmq1 = NULL, *iqmp = NULL; /* read private key file */ ret = dst__privstruct_parse(key, DST_ALG_RSA, lexer, mctx, &priv); @@ -896,9 +911,9 @@ opensslrsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { DST_RET(DST_R_NOENGINE); pkey = ENGINE_load_private_key(ep, label, NULL, NULL); if (pkey == NULL) - DST_RET(dst__openssl_toresult2( - "ENGINE_load_private_key", - ISC_R_NOTFOUND)); + DST_RET(dst__openssl_toresult2("ENGINE_load_private_" + "key", + ISC_R_NOTFOUND)); key->engine = isc_mem_strdup(key->mctx, engine); key->label = isc_mem_strdup(key->mctx, label); rsa = EVP_PKEY_get1_RSA(pkey); @@ -977,18 +992,26 @@ opensslrsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { isc_safe_memwipe(&priv, sizeof(priv)); if (RSA_set0_key(rsa, n, e, d) == 0) { - if (n != NULL) BN_free(n); - if (e != NULL) BN_free(e); - if (d != NULL) BN_free(d); + if (n != NULL) + BN_free(n); + if (e != NULL) + BN_free(e); + if (d != NULL) + BN_free(d); } if (RSA_set0_factors(rsa, p, q) == 0) { - if (p != NULL) BN_free(p); - if (q != NULL) BN_free(q); + if (p != NULL) + BN_free(p); + if (q != NULL) + BN_free(q); } if (RSA_set0_crt_params(rsa, dmp1, dmq1, iqmp) == 0) { - if (dmp1 != NULL) BN_free(dmp1); - if (dmq1 != NULL) BN_free(dmq1); - if (iqmp != NULL) BN_free(iqmp); + if (dmp1 != NULL) + BN_free(dmp1); + if (dmq1 != NULL) + BN_free(dmq1); + if (iqmp != NULL) + BN_free(iqmp); } if (rsa_check(rsa, pubrsa) != ISC_R_SUCCESS) @@ -1002,7 +1025,7 @@ opensslrsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { return (ISC_R_SUCCESS); - err: +err: if (pkey != NULL) EVP_PKEY_free(pkey); if (rsa != NULL) @@ -1020,10 +1043,10 @@ opensslrsa_fromlabel(dst_key_t *key, const char *engine, const char *label, const char *pin) { #if !defined(OPENSSL_NO_ENGINE) - ENGINE *e = NULL; - isc_result_t ret; - EVP_PKEY *pkey = NULL; - RSA *rsa = NULL, *pubrsa = NULL; + ENGINE * e = NULL; + isc_result_t ret; + EVP_PKEY * pkey = NULL; + RSA * rsa = NULL, *pubrsa = NULL; const BIGNUM *ex = NULL; UNUSED(pin); @@ -1069,7 +1092,7 @@ opensslrsa_fromlabel(dst_key_t *key, const char *engine, const char *label, RSA_free(rsa); return (ISC_R_SUCCESS); - err: +err: if (rsa != NULL) RSA_free(rsa); if (pubrsa != NULL) @@ -1082,7 +1105,7 @@ opensslrsa_fromlabel(dst_key_t *key, const char *engine, const char *label, UNUSED(engine); UNUSED(label); UNUSED(pin); - return(DST_R_NOENGINE); + return (DST_R_NOENGINE); #endif } @@ -1111,7 +1134,8 @@ static dst_func_t opensslrsa_functions = { }; isc_result_t -dst__opensslrsa_init(dst_func_t **funcp, unsigned char algorithm) { +dst__opensslrsa_init(dst_func_t **funcp, unsigned char algorithm) +{ REQUIRE(funcp != NULL); UNUSED(algorithm); diff --git a/lib/dns/order.c b/lib/dns/order.c index 92d324eb3a..71dab28387 100644 --- a/lib/dns/order.c +++ b/lib/dns/order.c @@ -15,9 +15,9 @@ #include #include +#include #include #include -#include #include #include @@ -27,25 +27,26 @@ typedef struct dns_order_ent dns_order_ent_t; struct dns_order_ent { - dns_fixedname_t name; - dns_rdataclass_t rdclass; - dns_rdatatype_t rdtype; - unsigned int mode; - ISC_LINK(dns_order_ent_t) link; + dns_fixedname_t name; + dns_rdataclass_t rdclass; + dns_rdatatype_t rdtype; + unsigned int mode; + ISC_LINK(dns_order_ent_t) link; }; struct dns_order { - unsigned int magic; - isc_refcount_t references; - ISC_LIST(dns_order_ent_t) ents; - isc_mem_t *mctx; + unsigned int magic; + isc_refcount_t references; + ISC_LIST(dns_order_ent_t) ents; + isc_mem_t *mctx; }; -#define DNS_ORDER_MAGIC ISC_MAGIC('O','r','d','r') -#define DNS_ORDER_VALID(order) ISC_MAGIC_VALID(order, DNS_ORDER_MAGIC) +#define DNS_ORDER_MAGIC ISC_MAGIC('O', 'r', 'd', 'r') +#define DNS_ORDER_VALID(order) ISC_MAGIC_VALID(order, DNS_ORDER_MAGIC) isc_result_t -dns_order_create(isc_mem_t *mctx, dns_order_t **orderp) { +dns_order_create(isc_mem_t *mctx, dns_order_t **orderp) +{ dns_order_t *order; REQUIRE(orderp != NULL && *orderp == NULL); @@ -89,10 +90,10 @@ dns_order_add(dns_order_t *order, const dns_name_t *name, } static inline bool -match(const dns_name_t *name1, const dns_name_t *name2) { - +match(const dns_name_t *name1, const dns_name_t *name2) +{ if (dns_name_iswildcard(name2)) - return(dns_name_matcheswildcard(name1, name2)); + return (dns_name_matcheswildcard(name1, name2)); return (dns_name_equal(name1, name2)); } @@ -103,8 +104,7 @@ dns_order_find(dns_order_t *order, const dns_name_t *name, dns_order_ent_t *ent; REQUIRE(DNS_ORDER_VALID(order)); - for (ent = ISC_LIST_HEAD(order->ents); - ent != NULL; + for (ent = ISC_LIST_HEAD(order->ents); ent != NULL; ent = ISC_LIST_NEXT(ent, link)) { if (ent->rdtype != rdtype && ent->rdtype != dns_rdatatype_any) continue; @@ -118,7 +118,8 @@ dns_order_find(dns_order_t *order, const dns_name_t *name, } void -dns_order_attach(dns_order_t *source, dns_order_t **target) { +dns_order_attach(dns_order_t *source, dns_order_t **target) +{ REQUIRE(DNS_ORDER_VALID(source)); REQUIRE(target != NULL && *target == NULL); isc_refcount_increment(&source->references); @@ -126,7 +127,8 @@ dns_order_attach(dns_order_t *source, dns_order_t **target) { } void -dns_order_detach(dns_order_t **orderp) { +dns_order_detach(dns_order_t **orderp) +{ REQUIRE(orderp != NULL && DNS_ORDER_VALID(*orderp)); dns_order_t *order; order = *orderp; diff --git a/lib/dns/peer.c b/lib/dns/peer.c index 8b1fefe045..1b264b2ba5 100644 --- a/lib/dns/peer.c +++ b/lib/dns/peer.c @@ -15,9 +15,9 @@ #include #include +#include #include #include -#include #include #include @@ -27,24 +27,24 @@ /*% * Bit positions in the dns_peer_t structure flags field */ -#define BOGUS_BIT 0 -#define SERVER_TRANSFER_FORMAT_BIT 1 -#define TRANSFERS_BIT 2 -#define PROVIDE_IXFR_BIT 3 -#define REQUEST_IXFR_BIT 4 -#define SUPPORT_EDNS_BIT 5 -#define SERVER_UDPSIZE_BIT 6 -#define SERVER_MAXUDP_BIT 7 -#define REQUEST_NSID_BIT 8 -#define SEND_COOKIE_BIT 9 -#define NOTIFY_DSCP_BIT 10 -#define TRANSFER_DSCP_BIT 11 -#define QUERY_DSCP_BIT 12 -#define REQUEST_EXPIRE_BIT 13 -#define EDNS_VERSION_BIT 14 -#define FORCE_TCP_BIT 15 -#define SERVER_PADDING_BIT 16 -#define REQUEST_TCP_KEEPALIVE_BIT 17 +#define BOGUS_BIT 0 +#define SERVER_TRANSFER_FORMAT_BIT 1 +#define TRANSFERS_BIT 2 +#define PROVIDE_IXFR_BIT 3 +#define REQUEST_IXFR_BIT 4 +#define SUPPORT_EDNS_BIT 5 +#define SERVER_UDPSIZE_BIT 6 +#define SERVER_MAXUDP_BIT 7 +#define REQUEST_NSID_BIT 8 +#define SEND_COOKIE_BIT 9 +#define NOTIFY_DSCP_BIT 10 +#define TRANSFER_DSCP_BIT 11 +#define QUERY_DSCP_BIT 12 +#define REQUEST_EXPIRE_BIT 13 +#define EDNS_VERSION_BIT 14 +#define FORCE_TCP_BIT 15 +#define SERVER_PADDING_BIT 16 +#define REQUEST_TCP_KEEPALIVE_BIT 17 static void peerlist_delete(dns_peerlist_t **list); @@ -53,7 +53,8 @@ static void peer_delete(dns_peer_t **peer); isc_result_t -dns_peerlist_new(isc_mem_t *mem, dns_peerlist_t **list) { +dns_peerlist_new(isc_mem_t *mem, dns_peerlist_t **list) +{ dns_peerlist_t *l; REQUIRE(list != NULL); @@ -71,7 +72,8 @@ dns_peerlist_new(isc_mem_t *mem, dns_peerlist_t **list) { } void -dns_peerlist_attach(dns_peerlist_t *source, dns_peerlist_t **target) { +dns_peerlist_attach(dns_peerlist_t *source, dns_peerlist_t **target) +{ REQUIRE(DNS_PEERLIST_VALID(source)); REQUIRE(target != NULL); REQUIRE(*target == NULL); @@ -82,7 +84,8 @@ dns_peerlist_attach(dns_peerlist_t *source, dns_peerlist_t **target) { } void -dns_peerlist_detach(dns_peerlist_t **list) { +dns_peerlist_detach(dns_peerlist_t **list) +{ dns_peerlist_t *plist; REQUIRE(list != NULL); @@ -98,9 +101,10 @@ dns_peerlist_detach(dns_peerlist_t **list) { } static void -peerlist_delete(dns_peerlist_t **list) { +peerlist_delete(dns_peerlist_t **list) +{ dns_peerlist_t *l; - dns_peer_t *server, *stmp; + dns_peer_t * server, *stmp; REQUIRE(list != NULL); REQUIRE(DNS_PEERLIST_VALID(*list)); @@ -123,7 +127,8 @@ peerlist_delete(dns_peerlist_t **list) { } void -dns_peerlist_addpeer(dns_peerlist_t *peers, dns_peer_t *peer) { +dns_peerlist_addpeer(dns_peerlist_t *peers, dns_peer_t *peer) +{ dns_peer_t *p = NULL; dns_peer_attach(peer, &p); @@ -131,8 +136,7 @@ dns_peerlist_addpeer(dns_peerlist_t *peers, dns_peer_t *peer) { /* * More specifics to front of list. */ - for (p = ISC_LIST_HEAD(peers->elements); - p != NULL; + for (p = ISC_LIST_HEAD(peers->elements); p != NULL; p = ISC_LIST_NEXT(p, next)) if (p->prefixlen < peer->prefixlen) break; @@ -141,14 +145,13 @@ dns_peerlist_addpeer(dns_peerlist_t *peers, dns_peer_t *peer) { ISC_LIST_INSERTBEFORE(peers->elements, p, peer, next); else ISC_LIST_APPEND(peers->elements, peer, next); - } isc_result_t dns_peerlist_peerbyaddr(dns_peerlist_t *servers, const isc_netaddr_t *addr, dns_peer_t **retval) { - dns_peer_t *server; + dns_peer_t * server; isc_result_t res; REQUIRE(retval != NULL); @@ -173,10 +176,9 @@ dns_peerlist_peerbyaddr(dns_peerlist_t *servers, const isc_netaddr_t *addr, return (res); } - - isc_result_t -dns_peerlist_currpeer(dns_peerlist_t *peers, dns_peer_t **retval) { +dns_peerlist_currpeer(dns_peerlist_t *peers, dns_peer_t **retval) +{ dns_peer_t *p = NULL; p = ISC_LIST_TAIL(peers->elements); @@ -187,11 +189,12 @@ dns_peerlist_currpeer(dns_peerlist_t *peers, dns_peer_t **retval) { } isc_result_t -dns_peer_new(isc_mem_t *mem, const isc_netaddr_t *addr, dns_peer_t **peerptr) { +dns_peer_new(isc_mem_t *mem, const isc_netaddr_t *addr, dns_peer_t **peerptr) +{ unsigned int prefixlen = 0; REQUIRE(peerptr != NULL); - switch(addr->family) { + switch (addr->family) { case AF_INET: prefixlen = 32; break; @@ -224,7 +227,7 @@ dns_peer_newprefix(isc_mem_t *mem, const isc_netaddr_t *addr, .transfer_format = dns_one_answer, }; - isc_refcount_init(&peer->refs, 1); + isc_refcount_init(&peer->refs, 1); ISC_LINK_INIT(peer, next); @@ -234,7 +237,8 @@ dns_peer_newprefix(isc_mem_t *mem, const isc_netaddr_t *addr, } void -dns_peer_attach(dns_peer_t *source, dns_peer_t **target) { +dns_peer_attach(dns_peer_t *source, dns_peer_t **target) +{ REQUIRE(DNS_PEER_VALID(source)); REQUIRE(target != NULL); REQUIRE(*target == NULL); @@ -245,7 +249,8 @@ dns_peer_attach(dns_peer_t *source, dns_peer_t **target) { } void -dns_peer_detach(dns_peer_t **peer) { +dns_peer_detach(dns_peer_t **peer) +{ dns_peer_t *p; REQUIRE(peer != NULL); @@ -261,9 +266,10 @@ dns_peer_detach(dns_peer_t **peer) { } static void -peer_delete(dns_peer_t **peer) { +peer_delete(dns_peer_t **peer) +{ dns_peer_t *p; - isc_mem_t *mem; + isc_mem_t * mem; REQUIRE(peer != NULL); REQUIRE(DNS_PEER_VALID(*peer)); @@ -296,7 +302,8 @@ peer_delete(dns_peer_t **peer) { } isc_result_t -dns_peer_setbogus(dns_peer_t *peer, bool newval) { +dns_peer_setbogus(dns_peer_t *peer, bool newval) +{ bool existed; REQUIRE(DNS_PEER_VALID(peer)); @@ -310,7 +317,8 @@ dns_peer_setbogus(dns_peer_t *peer, bool newval) { } isc_result_t -dns_peer_getbogus(dns_peer_t *peer, bool *retval) { +dns_peer_getbogus(dns_peer_t *peer, bool *retval) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(retval != NULL); @@ -321,9 +329,9 @@ dns_peer_getbogus(dns_peer_t *peer, bool *retval) { return (ISC_R_NOTFOUND); } - isc_result_t -dns_peer_setprovideixfr(dns_peer_t *peer, bool newval) { +dns_peer_setprovideixfr(dns_peer_t *peer, bool newval) +{ bool existed; REQUIRE(DNS_PEER_VALID(peer)); @@ -337,7 +345,8 @@ dns_peer_setprovideixfr(dns_peer_t *peer, bool newval) { } isc_result_t -dns_peer_getprovideixfr(dns_peer_t *peer, bool *retval) { +dns_peer_getprovideixfr(dns_peer_t *peer, bool *retval) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(retval != NULL); @@ -350,7 +359,8 @@ dns_peer_getprovideixfr(dns_peer_t *peer, bool *retval) { } isc_result_t -dns_peer_setrequestixfr(dns_peer_t *peer, bool newval) { +dns_peer_setrequestixfr(dns_peer_t *peer, bool newval) +{ bool existed; REQUIRE(DNS_PEER_VALID(peer)); @@ -364,7 +374,8 @@ dns_peer_setrequestixfr(dns_peer_t *peer, bool newval) { } isc_result_t -dns_peer_getrequestixfr(dns_peer_t *peer, bool *retval) { +dns_peer_getrequestixfr(dns_peer_t *peer, bool *retval) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(retval != NULL); @@ -376,7 +387,8 @@ dns_peer_getrequestixfr(dns_peer_t *peer, bool *retval) { } isc_result_t -dns_peer_setsupportedns(dns_peer_t *peer, bool newval) { +dns_peer_setsupportedns(dns_peer_t *peer, bool newval) +{ bool existed; REQUIRE(DNS_PEER_VALID(peer)); @@ -390,7 +402,8 @@ dns_peer_setsupportedns(dns_peer_t *peer, bool newval) { } isc_result_t -dns_peer_getsupportedns(dns_peer_t *peer, bool *retval) { +dns_peer_getsupportedns(dns_peer_t *peer, bool *retval) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(retval != NULL); @@ -402,7 +415,8 @@ dns_peer_getsupportedns(dns_peer_t *peer, bool *retval) { } isc_result_t -dns_peer_setrequestnsid(dns_peer_t *peer, bool newval) { +dns_peer_setrequestnsid(dns_peer_t *peer, bool newval) +{ bool existed; REQUIRE(DNS_PEER_VALID(peer)); @@ -416,7 +430,8 @@ dns_peer_setrequestnsid(dns_peer_t *peer, bool newval) { } isc_result_t -dns_peer_getrequestnsid(dns_peer_t *peer, bool *retval) { +dns_peer_getrequestnsid(dns_peer_t *peer, bool *retval) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(retval != NULL); @@ -428,7 +443,8 @@ dns_peer_getrequestnsid(dns_peer_t *peer, bool *retval) { } isc_result_t -dns_peer_setsendcookie(dns_peer_t *peer, bool newval) { +dns_peer_setsendcookie(dns_peer_t *peer, bool newval) +{ bool existed; REQUIRE(DNS_PEER_VALID(peer)); @@ -442,7 +458,8 @@ dns_peer_setsendcookie(dns_peer_t *peer, bool newval) { } isc_result_t -dns_peer_getsendcookie(dns_peer_t *peer, bool *retval) { +dns_peer_getsendcookie(dns_peer_t *peer, bool *retval) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(retval != NULL); @@ -454,7 +471,8 @@ dns_peer_getsendcookie(dns_peer_t *peer, bool *retval) { } isc_result_t -dns_peer_setrequestexpire(dns_peer_t *peer, bool newval) { +dns_peer_setrequestexpire(dns_peer_t *peer, bool newval) +{ bool existed; REQUIRE(DNS_PEER_VALID(peer)); @@ -468,7 +486,8 @@ dns_peer_setrequestexpire(dns_peer_t *peer, bool newval) { } isc_result_t -dns_peer_getrequestexpire(dns_peer_t *peer, bool *retval) { +dns_peer_getrequestexpire(dns_peer_t *peer, bool *retval) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(retval != NULL); @@ -480,7 +499,8 @@ dns_peer_getrequestexpire(dns_peer_t *peer, bool *retval) { } isc_result_t -dns_peer_setforcetcp(dns_peer_t *peer, bool newval) { +dns_peer_setforcetcp(dns_peer_t *peer, bool newval) +{ bool existed; REQUIRE(DNS_PEER_VALID(peer)); @@ -494,7 +514,8 @@ dns_peer_setforcetcp(dns_peer_t *peer, bool newval) { } isc_result_t -dns_peer_getforcetcp(dns_peer_t *peer, bool *retval) { +dns_peer_getforcetcp(dns_peer_t *peer, bool *retval) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(retval != NULL); @@ -506,7 +527,8 @@ dns_peer_getforcetcp(dns_peer_t *peer, bool *retval) { } isc_result_t -dns_peer_settcpkeepalive(dns_peer_t *peer, bool newval) { +dns_peer_settcpkeepalive(dns_peer_t *peer, bool newval) +{ bool existed; REQUIRE(DNS_PEER_VALID(peer)); @@ -520,7 +542,8 @@ dns_peer_settcpkeepalive(dns_peer_t *peer, bool newval) { } isc_result_t -dns_peer_gettcpkeepalive(dns_peer_t *peer, bool *retval) { +dns_peer_gettcpkeepalive(dns_peer_t *peer, bool *retval) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(retval != NULL); @@ -532,7 +555,8 @@ dns_peer_gettcpkeepalive(dns_peer_t *peer, bool *retval) { } isc_result_t -dns_peer_settransfers(dns_peer_t *peer, uint32_t newval) { +dns_peer_settransfers(dns_peer_t *peer, uint32_t newval) +{ bool existed; REQUIRE(DNS_PEER_VALID(peer)); @@ -546,7 +570,8 @@ dns_peer_settransfers(dns_peer_t *peer, uint32_t newval) { } isc_result_t -dns_peer_gettransfers(dns_peer_t *peer, uint32_t *retval) { +dns_peer_gettransfers(dns_peer_t *peer, uint32_t *retval) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(retval != NULL); @@ -559,13 +584,13 @@ dns_peer_gettransfers(dns_peer_t *peer, uint32_t *retval) { } isc_result_t -dns_peer_settransferformat(dns_peer_t *peer, dns_transfer_format_t newval) { +dns_peer_settransferformat(dns_peer_t *peer, dns_transfer_format_t newval) +{ bool existed; REQUIRE(DNS_PEER_VALID(peer)); - existed = DNS_BIT_CHECK(SERVER_TRANSFER_FORMAT_BIT, - &peer->bitflags); + existed = DNS_BIT_CHECK(SERVER_TRANSFER_FORMAT_BIT, &peer->bitflags); peer->transfer_format = newval; DNS_BIT_SET(SERVER_TRANSFER_FORMAT_BIT, &peer->bitflags); @@ -574,7 +599,8 @@ dns_peer_settransferformat(dns_peer_t *peer, dns_transfer_format_t newval) { } isc_result_t -dns_peer_gettransferformat(dns_peer_t *peer, dns_transfer_format_t *retval) { +dns_peer_gettransferformat(dns_peer_t *peer, dns_transfer_format_t *retval) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(retval != NULL); @@ -587,7 +613,8 @@ dns_peer_gettransferformat(dns_peer_t *peer, dns_transfer_format_t *retval) { } isc_result_t -dns_peer_getkey(dns_peer_t *peer, dns_name_t **retval) { +dns_peer_getkey(dns_peer_t *peer, dns_name_t **retval) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(retval != NULL); @@ -599,7 +626,8 @@ dns_peer_getkey(dns_peer_t *peer, dns_name_t **retval) { } isc_result_t -dns_peer_setkey(dns_peer_t *peer, dns_name_t **keyval) { +dns_peer_setkey(dns_peer_t *peer, dns_name_t **keyval) +{ bool exists = false; if (peer->key != NULL) { @@ -615,17 +643,18 @@ dns_peer_setkey(dns_peer_t *peer, dns_name_t **keyval) { } isc_result_t -dns_peer_setkeybycharp(dns_peer_t *peer, const char *keyval) { - isc_buffer_t b; +dns_peer_setkeybycharp(dns_peer_t *peer, const char *keyval) +{ + isc_buffer_t b; dns_fixedname_t fname; - dns_name_t *name; - isc_result_t result; + dns_name_t * name; + isc_result_t result; dns_fixedname_init(&fname); isc_buffer_constinit(&b, keyval, strlen(keyval)); isc_buffer_add(&b, strlen(keyval)); - result = dns_name_fromtext(dns_fixedname_name(&fname), &b, - dns_rootname, 0, NULL); + result = dns_name_fromtext(dns_fixedname_name(&fname), &b, dns_rootname, + 0, NULL); if (result != ISC_R_SUCCESS) return (result); @@ -642,7 +671,7 @@ dns_peer_setkeybycharp(dns_peer_t *peer, const char *keyval) { } isc_result_t -dns_peer_settransfersource(dns_peer_t *peer, +dns_peer_settransfersource(dns_peer_t * peer, const isc_sockaddr_t *transfer_source) { REQUIRE(DNS_PEER_VALID(peer)); @@ -653,8 +682,8 @@ dns_peer_settransfersource(dns_peer_t *peer, peer->transfer_source = NULL; } if (transfer_source != NULL) { - peer->transfer_source = isc_mem_get(peer->mem, - sizeof(*peer->transfer_source)); + peer->transfer_source = + isc_mem_get(peer->mem, sizeof(*peer->transfer_source)); *peer->transfer_source = *transfer_source; } @@ -662,7 +691,8 @@ dns_peer_settransfersource(dns_peer_t *peer, } isc_result_t -dns_peer_gettransfersource(dns_peer_t *peer, isc_sockaddr_t *transfer_source) { +dns_peer_gettransfersource(dns_peer_t *peer, isc_sockaddr_t *transfer_source) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(transfer_source != NULL); @@ -673,8 +703,7 @@ dns_peer_gettransfersource(dns_peer_t *peer, isc_sockaddr_t *transfer_source) { } isc_result_t -dns_peer_setnotifysource(dns_peer_t *peer, - const isc_sockaddr_t *notify_source) +dns_peer_setnotifysource(dns_peer_t *peer, const isc_sockaddr_t *notify_source) { REQUIRE(DNS_PEER_VALID(peer)); @@ -684,8 +713,8 @@ dns_peer_setnotifysource(dns_peer_t *peer, peer->notify_source = NULL; } if (notify_source != NULL) { - peer->notify_source = isc_mem_get(peer->mem, - sizeof(*peer->notify_source)); + peer->notify_source = + isc_mem_get(peer->mem, sizeof(*peer->notify_source)); *peer->notify_source = *notify_source; } @@ -693,7 +722,8 @@ dns_peer_setnotifysource(dns_peer_t *peer, } isc_result_t -dns_peer_getnotifysource(dns_peer_t *peer, isc_sockaddr_t *notify_source) { +dns_peer_getnotifysource(dns_peer_t *peer, isc_sockaddr_t *notify_source) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(notify_source != NULL); @@ -704,7 +734,8 @@ dns_peer_getnotifysource(dns_peer_t *peer, isc_sockaddr_t *notify_source) { } isc_result_t -dns_peer_setquerysource(dns_peer_t *peer, const isc_sockaddr_t *query_source) { +dns_peer_setquerysource(dns_peer_t *peer, const isc_sockaddr_t *query_source) +{ REQUIRE(DNS_PEER_VALID(peer)); if (peer->query_source != NULL) { @@ -713,8 +744,8 @@ dns_peer_setquerysource(dns_peer_t *peer, const isc_sockaddr_t *query_source) { peer->query_source = NULL; } if (query_source != NULL) { - peer->query_source = isc_mem_get(peer->mem, - sizeof(*peer->query_source)); + peer->query_source = + isc_mem_get(peer->mem, sizeof(*peer->query_source)); *peer->query_source = *query_source; } @@ -722,7 +753,8 @@ dns_peer_setquerysource(dns_peer_t *peer, const isc_sockaddr_t *query_source) { } isc_result_t -dns_peer_getquerysource(dns_peer_t *peer, isc_sockaddr_t *query_source) { +dns_peer_getquerysource(dns_peer_t *peer, isc_sockaddr_t *query_source) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(query_source != NULL); @@ -733,7 +765,8 @@ dns_peer_getquerysource(dns_peer_t *peer, isc_sockaddr_t *query_source) { } isc_result_t -dns_peer_setudpsize(dns_peer_t *peer, uint16_t udpsize) { +dns_peer_setudpsize(dns_peer_t *peer, uint16_t udpsize) +{ bool existed; REQUIRE(DNS_PEER_VALID(peer)); @@ -747,8 +780,8 @@ dns_peer_setudpsize(dns_peer_t *peer, uint16_t udpsize) { } isc_result_t -dns_peer_getudpsize(dns_peer_t *peer, uint16_t *udpsize) { - +dns_peer_getudpsize(dns_peer_t *peer, uint16_t *udpsize) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(udpsize != NULL); @@ -761,7 +794,8 @@ dns_peer_getudpsize(dns_peer_t *peer, uint16_t *udpsize) { } isc_result_t -dns_peer_setmaxudp(dns_peer_t *peer, uint16_t maxudp) { +dns_peer_setmaxudp(dns_peer_t *peer, uint16_t maxudp) +{ bool existed; REQUIRE(DNS_PEER_VALID(peer)); @@ -775,8 +809,8 @@ dns_peer_setmaxudp(dns_peer_t *peer, uint16_t maxudp) { } isc_result_t -dns_peer_getmaxudp(dns_peer_t *peer, uint16_t *maxudp) { - +dns_peer_getmaxudp(dns_peer_t *peer, uint16_t *maxudp) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(maxudp != NULL); @@ -789,7 +823,8 @@ dns_peer_getmaxudp(dns_peer_t *peer, uint16_t *maxudp) { } isc_result_t -dns_peer_setpadding(dns_peer_t *peer, uint16_t padding) { +dns_peer_setpadding(dns_peer_t *peer, uint16_t padding) +{ bool existed; REQUIRE(DNS_PEER_VALID(peer)); @@ -805,8 +840,8 @@ dns_peer_setpadding(dns_peer_t *peer, uint16_t padding) { } isc_result_t -dns_peer_getpadding(dns_peer_t *peer, uint16_t *padding) { - +dns_peer_getpadding(dns_peer_t *peer, uint16_t *padding) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(padding != NULL); @@ -819,7 +854,8 @@ dns_peer_getpadding(dns_peer_t *peer, uint16_t *padding) { } isc_result_t -dns_peer_setnotifydscp(dns_peer_t *peer, isc_dscp_t dscp) { +dns_peer_setnotifydscp(dns_peer_t *peer, isc_dscp_t dscp) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(dscp < 64); @@ -829,7 +865,8 @@ dns_peer_setnotifydscp(dns_peer_t *peer, isc_dscp_t dscp) { } isc_result_t -dns_peer_getnotifydscp(dns_peer_t *peer, isc_dscp_t *dscpp) { +dns_peer_getnotifydscp(dns_peer_t *peer, isc_dscp_t *dscpp) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(dscpp != NULL); @@ -841,7 +878,8 @@ dns_peer_getnotifydscp(dns_peer_t *peer, isc_dscp_t *dscpp) { } isc_result_t -dns_peer_settransferdscp(dns_peer_t *peer, isc_dscp_t dscp) { +dns_peer_settransferdscp(dns_peer_t *peer, isc_dscp_t dscp) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(dscp < 64); @@ -851,7 +889,8 @@ dns_peer_settransferdscp(dns_peer_t *peer, isc_dscp_t dscp) { } isc_result_t -dns_peer_gettransferdscp(dns_peer_t *peer, isc_dscp_t *dscpp) { +dns_peer_gettransferdscp(dns_peer_t *peer, isc_dscp_t *dscpp) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(dscpp != NULL); @@ -863,7 +902,8 @@ dns_peer_gettransferdscp(dns_peer_t *peer, isc_dscp_t *dscpp) { } isc_result_t -dns_peer_setquerydscp(dns_peer_t *peer, isc_dscp_t dscp) { +dns_peer_setquerydscp(dns_peer_t *peer, isc_dscp_t dscp) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(dscp < 64); @@ -873,7 +913,8 @@ dns_peer_setquerydscp(dns_peer_t *peer, isc_dscp_t dscp) { } isc_result_t -dns_peer_getquerydscp(dns_peer_t *peer, isc_dscp_t *dscpp) { +dns_peer_getquerydscp(dns_peer_t *peer, isc_dscp_t *dscpp) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(dscpp != NULL); @@ -885,7 +926,8 @@ dns_peer_getquerydscp(dns_peer_t *peer, isc_dscp_t *dscpp) { } isc_result_t -dns_peer_setednsversion(dns_peer_t *peer, uint8_t ednsversion) { +dns_peer_setednsversion(dns_peer_t *peer, uint8_t ednsversion) +{ REQUIRE(DNS_PEER_VALID(peer)); peer->ednsversion = ednsversion; @@ -895,7 +937,8 @@ dns_peer_setednsversion(dns_peer_t *peer, uint8_t ednsversion) { } isc_result_t -dns_peer_getednsversion(dns_peer_t *peer, uint8_t *ednsversion) { +dns_peer_getednsversion(dns_peer_t *peer, uint8_t *ednsversion) +{ REQUIRE(DNS_PEER_VALID(peer)); REQUIRE(ednsversion != NULL); diff --git a/lib/dns/pkcs11.c b/lib/dns/pkcs11.c index 6ccb07a02d..4d5b0b0363 100644 --- a/lib/dns/pkcs11.c +++ b/lib/dns/pkcs11.c @@ -16,20 +16,19 @@ #include #include -#include -#include - #include "dst_internal.h" #include "dst_pkcs11.h" +#include +#include + isc_result_t dst__pkcs11_toresult(const char *funcname, const char *file, int line, isc_result_t fallback, CK_RV rv) { - isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, - DNS_LOGMODULE_CRYPTO, ISC_LOG_WARNING, - "%s:%d: %s: Error = 0x%.8lX\n", - file, line, funcname, rv); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_CRYPTO, + ISC_LOG_WARNING, "%s:%d: %s: Error = 0x%.8lX\n", file, + line, funcname, rv); if (rv == CKR_HOST_MEMORY) return (ISC_R_NOMEMORY); return (fallback); diff --git a/lib/dns/pkcs11ecdsa_link.c b/lib/dns/pkcs11ecdsa_link.c index de3dd1574a..422e7d0390 100644 --- a/lib/dns/pkcs11ecdsa_link.c +++ b/lib/dns/pkcs11ecdsa_link.c @@ -21,16 +21,15 @@ #include #include -#include #include "dst_internal.h" #include "dst_parse.h" #include "dst_pkcs11.h" -#include -#include +#include #include - +#include +#include #include /* @@ -53,28 +52,35 @@ * point format: 0x04 (octet-string) <2*size+1> 0x4 (uncompressed) */ -#define TAG_OCTECT_STRING 0x04 -#define UNCOMPRESSED 0x04 +#define TAG_OCTECT_STRING 0x04 +#define UNCOMPRESSED 0x04 -#define DST_RET(a) {ret = a; goto err;} +#define DST_RET(a) \ + { \ + ret = a; \ + goto err; \ + } static CK_BBOOL truevalue = TRUE; static CK_BBOOL falsevalue = FALSE; -static isc_result_t pkcs11ecdsa_todns(const dst_key_t *key, - isc_buffer_t *data); -static void pkcs11ecdsa_destroy(dst_key_t *key); -static isc_result_t pkcs11ecdsa_fetch(dst_key_t *key, const char *engine, - const char *label, dst_key_t *pub); +static isc_result_t +pkcs11ecdsa_todns(const dst_key_t *key, isc_buffer_t *data); +static void +pkcs11ecdsa_destroy(dst_key_t *key); +static isc_result_t +pkcs11ecdsa_fetch(dst_key_t *key, const char *engine, const char *label, + dst_key_t *pub); static isc_result_t -pkcs11ecdsa_createctx(dst_key_t *key, dst_context_t *dctx) { - CK_RV rv; - CK_MECHANISM mech = {0, NULL, 0 }; - CK_SLOT_ID slotid; +pkcs11ecdsa_createctx(dst_key_t *key, dst_context_t *dctx) +{ + CK_RV rv; + CK_MECHANISM mech = { 0, NULL, 0 }; + CK_SLOT_ID slotid; pk11_context_t *pk11_ctx; - pk11_object_t *ec = key->keydata.pkey; - isc_result_t ret; + pk11_object_t * ec = key->keydata.pkey; + isc_result_t ret; REQUIRE(dctx->key->key_alg == DST_ALG_ECDSA256 || dctx->key->key_alg == DST_ALG_ECDSA384); @@ -91,8 +97,8 @@ pkcs11ecdsa_createctx(dst_key_t *key, dst_context_t *dctx) { slotid = ec->slot; else slotid = pk11_get_best_token(OP_ECDSA); - ret = pk11_get_session(pk11_ctx, OP_ECDSA, true, false, - ec->reqlogon, NULL, slotid); + ret = pk11_get_session(pk11_ctx, OP_ECDSA, true, false, ec->reqlogon, + NULL, slotid); if (ret != ISC_R_SUCCESS) goto err; @@ -100,7 +106,7 @@ pkcs11ecdsa_createctx(dst_key_t *key, dst_context_t *dctx) { dctx->ctxdata.pk11_ctx = pk11_ctx; return (ISC_R_SUCCESS); - err: +err: pk11_return_session(pk11_ctx); memset(pk11_ctx, 0, sizeof(*pk11_ctx)); isc_mem_put(dctx->mctx, pk11_ctx, sizeof(*pk11_ctx)); @@ -109,16 +115,17 @@ pkcs11ecdsa_createctx(dst_key_t *key, dst_context_t *dctx) { } static void -pkcs11ecdsa_destroyctx(dst_context_t *dctx) { - CK_BYTE garbage[ISC_SHA384_DIGESTLENGTH]; - CK_ULONG len = ISC_SHA384_DIGESTLENGTH; +pkcs11ecdsa_destroyctx(dst_context_t *dctx) +{ + CK_BYTE garbage[ISC_SHA384_DIGESTLENGTH]; + CK_ULONG len = ISC_SHA384_DIGESTLENGTH; pk11_context_t *pk11_ctx = dctx->ctxdata.pk11_ctx; REQUIRE(dctx->key->key_alg == DST_ALG_ECDSA256 || dctx->key->key_alg == DST_ALG_ECDSA384); if (pk11_ctx != NULL) { - (void) pkcs_C_DigestFinal(pk11_ctx->session, garbage, &len); + (void)pkcs_C_DigestFinal(pk11_ctx->session, garbage, &len); memset(garbage, 0, sizeof(garbage)); pk11_return_session(pk11_ctx); memset(pk11_ctx, 0, sizeof(*pk11_ctx)); @@ -128,50 +135,50 @@ pkcs11ecdsa_destroyctx(dst_context_t *dctx) { } static isc_result_t -pkcs11ecdsa_adddata(dst_context_t *dctx, const isc_region_t *data) { - CK_RV rv; +pkcs11ecdsa_adddata(dst_context_t *dctx, const isc_region_t *data) +{ + CK_RV rv; pk11_context_t *pk11_ctx = dctx->ctxdata.pk11_ctx; - isc_result_t ret = ISC_R_SUCCESS; + isc_result_t ret = ISC_R_SUCCESS; REQUIRE(dctx->key->key_alg == DST_ALG_ECDSA256 || dctx->key->key_alg == DST_ALG_ECDSA384); PK11_CALL(pkcs_C_DigestUpdate, - (pk11_ctx->session, - (CK_BYTE_PTR) data->base, - (CK_ULONG) data->length), + (pk11_ctx->session, (CK_BYTE_PTR)data->base, + (CK_ULONG)data->length), ISC_R_FAILURE); return (ret); } static isc_result_t -pkcs11ecdsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { - CK_RV rv; - CK_MECHANISM mech = { CKM_ECDSA, NULL, 0 }; +pkcs11ecdsa_sign(dst_context_t *dctx, isc_buffer_t *sig) +{ + CK_RV rv; + CK_MECHANISM mech = { CKM_ECDSA, NULL, 0 }; CK_OBJECT_HANDLE hKey = CK_INVALID_HANDLE; - CK_OBJECT_CLASS keyClass = CKO_PRIVATE_KEY; - CK_KEY_TYPE keyType = CKK_EC; - CK_ATTRIBUTE keyTemplate[] = - { - { CKA_CLASS, &keyClass, (CK_ULONG) sizeof(keyClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_SIGN, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_EC_PARAMS, NULL, 0 }, - { CKA_VALUE, NULL, 0 } + CK_OBJECT_CLASS keyClass = CKO_PRIVATE_KEY; + CK_KEY_TYPE keyType = CKK_EC; + CK_ATTRIBUTE keyTemplate[] = { + { CKA_CLASS, &keyClass, (CK_ULONG)sizeof(keyClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_SIGN, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_EC_PARAMS, NULL, 0 }, + { CKA_VALUE, NULL, 0 } }; - CK_ATTRIBUTE *attr; - CK_BYTE digest[ISC_SHA384_DIGESTLENGTH]; - CK_ULONG dgstlen; - CK_ULONG siglen; + CK_ATTRIBUTE * attr; + CK_BYTE digest[ISC_SHA384_DIGESTLENGTH]; + CK_ULONG dgstlen; + CK_ULONG siglen; pk11_context_t *pk11_ctx = dctx->ctxdata.pk11_ctx; - dst_key_t *key = dctx->key; - pk11_object_t *ec = key->keydata.pkey; - isc_region_t r; - isc_result_t ret = ISC_R_SUCCESS; - unsigned int i; + dst_key_t * key = dctx->key; + pk11_object_t * ec = key->keydata.pkey; + isc_region_t r; + isc_result_t ret = ISC_R_SUCCESS; + unsigned int i; REQUIRE(key->key_alg == DST_ALG_ECDSA256 || key->key_alg == DST_ALG_ECDSA384); @@ -185,8 +192,7 @@ pkcs11ecdsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { dgstlen = ISC_SHA384_DIGESTLENGTH; } - PK11_RET(pkcs_C_DigestFinal, - (pk11_ctx->session, digest, &dgstlen), + PK11_RET(pkcs_C_DigestFinal, (pk11_ctx->session, digest, &dgstlen), ISC_R_FAILURE); isc_buffer_availableregion(sig, &r); @@ -199,22 +205,21 @@ pkcs11ecdsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { goto token_key; } - for (attr = pk11_attribute_first(ec); - attr != NULL; + for (attr = pk11_attribute_first(ec); attr != NULL; attr = pk11_attribute_next(ec, attr)) switch (attr->type) { case CKA_EC_PARAMS: INSIST(keyTemplate[5].type == attr->type); - keyTemplate[5].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[5].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[5].pValue, attr->pValue, attr->ulValueLen); keyTemplate[5].ulValueLen = attr->ulValueLen; break; case CKA_VALUE: INSIST(keyTemplate[6].type == attr->type); - keyTemplate[6].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[6].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[6].pValue, attr->pValue, attr->ulValueLen); keyTemplate[6].ulValueLen = attr->ulValueLen; @@ -223,12 +228,10 @@ pkcs11ecdsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { pk11_ctx->object = CK_INVALID_HANDLE; pk11_ctx->ontoken = false; PK11_RET(pkcs_C_CreateObject, - (pk11_ctx->session, - keyTemplate, (CK_ULONG) 7, - &hKey), + (pk11_ctx->session, keyTemplate, (CK_ULONG)7, &hKey), ISC_R_FAILURE); - token_key: +token_key: PK11_RET(pkcs_C_SignInit, (pk11_ctx->session, &mech, @@ -236,23 +239,21 @@ pkcs11ecdsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { ISC_R_FAILURE); PK11_RET(pkcs_C_Sign, - (pk11_ctx->session, - digest, dgstlen, - (CK_BYTE_PTR) r.base, &siglen), + (pk11_ctx->session, digest, dgstlen, (CK_BYTE_PTR)r.base, + &siglen), DST_R_SIGNFAILURE); - isc_buffer_add(sig, (unsigned int) siglen); + isc_buffer_add(sig, (unsigned int)siglen); - err: +err: if (hKey != CK_INVALID_HANDLE) - (void) pkcs_C_DestroyObject(pk11_ctx->session, hKey); + (void)pkcs_C_DestroyObject(pk11_ctx->session, hKey); for (i = 5; i <= 6; i++) if (keyTemplate[i].pValue != NULL) { memset(keyTemplate[i].pValue, 0, keyTemplate[i].ulValueLen); - isc_mem_put(dctx->mctx, - keyTemplate[i].pValue, + isc_mem_put(dctx->mctx, keyTemplate[i].pValue, keyTemplate[i].ulValueLen); } pk11_return_session(pk11_ctx); @@ -264,30 +265,30 @@ pkcs11ecdsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { } static isc_result_t -pkcs11ecdsa_verify(dst_context_t *dctx, const isc_region_t *sig) { - CK_RV rv; - CK_MECHANISM mech = { CKM_ECDSA, NULL, 0 }; +pkcs11ecdsa_verify(dst_context_t *dctx, const isc_region_t *sig) +{ + CK_RV rv; + CK_MECHANISM mech = { CKM_ECDSA, NULL, 0 }; CK_OBJECT_HANDLE hKey = CK_INVALID_HANDLE; - CK_OBJECT_CLASS keyClass = CKO_PUBLIC_KEY; - CK_KEY_TYPE keyType = CKK_EC; - CK_ATTRIBUTE keyTemplate[] = - { - { CKA_CLASS, &keyClass, (CK_ULONG) sizeof(keyClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_VERIFY, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_EC_PARAMS, NULL, 0 }, - { CKA_EC_POINT, NULL, 0 } + CK_OBJECT_CLASS keyClass = CKO_PUBLIC_KEY; + CK_KEY_TYPE keyType = CKK_EC; + CK_ATTRIBUTE keyTemplate[] = { + { CKA_CLASS, &keyClass, (CK_ULONG)sizeof(keyClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_VERIFY, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_EC_PARAMS, NULL, 0 }, + { CKA_EC_POINT, NULL, 0 } }; - CK_ATTRIBUTE *attr; - CK_BYTE digest[ISC_SHA384_DIGESTLENGTH]; - CK_ULONG dgstlen; + CK_ATTRIBUTE * attr; + CK_BYTE digest[ISC_SHA384_DIGESTLENGTH]; + CK_ULONG dgstlen; pk11_context_t *pk11_ctx = dctx->ctxdata.pk11_ctx; - dst_key_t *key = dctx->key; - pk11_object_t *ec = key->keydata.pkey; - isc_result_t ret = ISC_R_SUCCESS; - unsigned int i; + dst_key_t * key = dctx->key; + pk11_object_t * ec = key->keydata.pkey; + isc_result_t ret = ISC_R_SUCCESS; + unsigned int i; REQUIRE(key->key_alg == DST_ALG_ECDSA256 || key->key_alg == DST_ALG_ECDSA384); @@ -298,26 +299,24 @@ pkcs11ecdsa_verify(dst_context_t *dctx, const isc_region_t *sig) { else dgstlen = ISC_SHA384_DIGESTLENGTH; - PK11_RET(pkcs_C_DigestFinal, - (pk11_ctx->session, digest, &dgstlen), + PK11_RET(pkcs_C_DigestFinal, (pk11_ctx->session, digest, &dgstlen), ISC_R_FAILURE); - for (attr = pk11_attribute_first(ec); - attr != NULL; + for (attr = pk11_attribute_first(ec); attr != NULL; attr = pk11_attribute_next(ec, attr)) switch (attr->type) { case CKA_EC_PARAMS: INSIST(keyTemplate[5].type == attr->type); - keyTemplate[5].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[5].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[5].pValue, attr->pValue, attr->ulValueLen); keyTemplate[5].ulValueLen = attr->ulValueLen; break; case CKA_EC_POINT: INSIST(keyTemplate[6].type == attr->type); - keyTemplate[6].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[6].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[6].pValue, attr->pValue, attr->ulValueLen); keyTemplate[6].ulValueLen = attr->ulValueLen; @@ -326,31 +325,26 @@ pkcs11ecdsa_verify(dst_context_t *dctx, const isc_region_t *sig) { pk11_ctx->object = CK_INVALID_HANDLE; pk11_ctx->ontoken = false; PK11_RET(pkcs_C_CreateObject, - (pk11_ctx->session, - keyTemplate, (CK_ULONG) 7, - &hKey), + (pk11_ctx->session, keyTemplate, (CK_ULONG)7, &hKey), ISC_R_FAILURE); - PK11_RET(pkcs_C_VerifyInit, - (pk11_ctx->session, &mech, hKey), + PK11_RET(pkcs_C_VerifyInit, (pk11_ctx->session, &mech, hKey), ISC_R_FAILURE); PK11_RET(pkcs_C_Verify, - (pk11_ctx->session, - digest, dgstlen, - (CK_BYTE_PTR) sig->base, (CK_ULONG) sig->length), + (pk11_ctx->session, digest, dgstlen, (CK_BYTE_PTR)sig->base, + (CK_ULONG)sig->length), DST_R_VERIFYFAILURE); - err: +err: if (hKey != CK_INVALID_HANDLE) - (void) pkcs_C_DestroyObject(pk11_ctx->session, hKey); + (void)pkcs_C_DestroyObject(pk11_ctx->session, hKey); for (i = 5; i <= 6; i++) if (keyTemplate[i].pValue != NULL) { memset(keyTemplate[i].pValue, 0, keyTemplate[i].ulValueLen); - isc_mem_put(dctx->mctx, - keyTemplate[i].pValue, + isc_mem_put(dctx->mctx, keyTemplate[i].pValue, keyTemplate[i].ulValueLen); } pk11_return_session(pk11_ctx); @@ -362,9 +356,10 @@ pkcs11ecdsa_verify(dst_context_t *dctx, const isc_region_t *sig) { } static bool -pkcs11ecdsa_compare(const dst_key_t *key1, const dst_key_t *key2) { +pkcs11ecdsa_compare(const dst_key_t *key1, const dst_key_t *key2) +{ pk11_object_t *ec1, *ec2; - CK_ATTRIBUTE *attr1, *attr2; + CK_ATTRIBUTE * attr1, *attr2; ec1 = key1->keydata.pkey; ec2 = key2->keydata.pkey; @@ -405,67 +400,67 @@ pkcs11ecdsa_compare(const dst_key_t *key1, const dst_key_t *key2) { if (!ec1->ontoken && !ec2->ontoken) return (true); - else if (ec1->ontoken || ec2->ontoken || - (ec1->object != ec2->object)) + else if (ec1->ontoken || ec2->ontoken || (ec1->object != ec2->object)) return (false); return (true); } -#define SETCURVE() \ - if (key->key_alg == DST_ALG_ECDSA256) { \ - attr->pValue = isc_mem_get(key->mctx, sizeof(pk11_ecc_prime256v1)); \ - \ - memmove(attr->pValue, \ - pk11_ecc_prime256v1, sizeof(pk11_ecc_prime256v1)); \ - attr->ulValueLen = sizeof(pk11_ecc_prime256v1); \ - } else { \ - attr->pValue = isc_mem_get(key->mctx, sizeof(pk11_ecc_secp384r1)); \ - \ - memmove(attr->pValue, \ - pk11_ecc_secp384r1, sizeof(pk11_ecc_secp384r1)); \ - attr->ulValueLen = sizeof(pk11_ecc_secp384r1); \ +#define SETCURVE() \ + if (key->key_alg == DST_ALG_ECDSA256) { \ + attr->pValue = \ + isc_mem_get(key->mctx, sizeof(pk11_ecc_prime256v1)); \ + \ + memmove(attr->pValue, pk11_ecc_prime256v1, \ + sizeof(pk11_ecc_prime256v1)); \ + attr->ulValueLen = sizeof(pk11_ecc_prime256v1); \ + } else { \ + attr->pValue = \ + isc_mem_get(key->mctx, sizeof(pk11_ecc_secp384r1)); \ + \ + memmove(attr->pValue, pk11_ecc_secp384r1, \ + sizeof(pk11_ecc_secp384r1)); \ + attr->ulValueLen = sizeof(pk11_ecc_secp384r1); \ } -#define FREECURVE() \ - if (attr->pValue != NULL) { \ - memset(attr->pValue, 0, attr->ulValueLen); \ +#define FREECURVE() \ + if (attr->pValue != NULL) { \ + memset(attr->pValue, 0, attr->ulValueLen); \ isc_mem_put(key->mctx, attr->pValue, attr->ulValueLen); \ - attr->pValue = NULL; \ + attr->pValue = NULL; \ } static isc_result_t -pkcs11ecdsa_generate(dst_key_t *key, int unused, void (*callback)(int)) { - CK_RV rv; - CK_MECHANISM mech = { CKM_EC_KEY_PAIR_GEN, NULL, 0 }; +pkcs11ecdsa_generate(dst_key_t *key, int unused, void (*callback)(int)) +{ + CK_RV rv; + CK_MECHANISM mech = { CKM_EC_KEY_PAIR_GEN, NULL, 0 }; CK_OBJECT_HANDLE pub = CK_INVALID_HANDLE; - CK_OBJECT_CLASS pubClass = CKO_PUBLIC_KEY; - CK_KEY_TYPE keyType = CKK_EC; - CK_ATTRIBUTE pubTemplate[] = - { - { CKA_CLASS, &pubClass, (CK_ULONG) sizeof(pubClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_VERIFY, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_EC_PARAMS, NULL, 0 } + CK_OBJECT_CLASS pubClass = CKO_PUBLIC_KEY; + CK_KEY_TYPE keyType = CKK_EC; + CK_ATTRIBUTE pubTemplate[] = { + { CKA_CLASS, &pubClass, (CK_ULONG)sizeof(pubClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_VERIFY, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_EC_PARAMS, NULL, 0 } }; CK_OBJECT_HANDLE priv = CK_INVALID_HANDLE; CK_OBJECT_HANDLE privClass = CKO_PRIVATE_KEY; - CK_ATTRIBUTE privTemplate[] = - { - { CKA_CLASS, &privClass, (CK_ULONG) sizeof(privClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_SENSITIVE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_EXTRACTABLE, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_SIGN, &truevalue, (CK_ULONG) sizeof(truevalue) } + CK_ATTRIBUTE privTemplate[] = { + { CKA_CLASS, &privClass, (CK_ULONG)sizeof(privClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_SENSITIVE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_EXTRACTABLE, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_SIGN, &truevalue, (CK_ULONG)sizeof(truevalue) } }; - CK_ATTRIBUTE *attr; - pk11_object_t *ec; + CK_ATTRIBUTE * attr; + pk11_object_t * ec; pk11_context_t *pk11_ctx; - isc_result_t ret; + isc_result_t ret; REQUIRE(key->key_alg == DST_ALG_ECDSA256 || key->key_alg == DST_ALG_ECDSA384); @@ -473,8 +468,8 @@ pkcs11ecdsa_generate(dst_key_t *key, int unused, void (*callback)(int)) { UNUSED(callback); pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx)); - ret = pk11_get_session(pk11_ctx, OP_ECDSA, true, false, - false, NULL, pk11_get_best_token(OP_ECDSA)); + ret = pk11_get_session(pk11_ctx, OP_ECDSA, true, false, false, NULL, + pk11_get_best_token(OP_ECDSA)); if (ret != ISC_R_SUCCESS) goto err; @@ -494,10 +489,8 @@ pkcs11ecdsa_generate(dst_key_t *key, int unused, void (*callback)(int)) { SETCURVE(); PK11_RET(pkcs_C_GenerateKeyPair, - (pk11_ctx->session, &mech, - pubTemplate, (CK_ULONG) 6, - privTemplate, (CK_ULONG) 7, - &pub, &priv), + (pk11_ctx->session, &mech, pubTemplate, (CK_ULONG)6, + privTemplate, (CK_ULONG)7, &pub, &priv), DST_R_CRYPTOFAILURE); attr = &pubTemplate[5]; @@ -507,27 +500,23 @@ pkcs11ecdsa_generate(dst_key_t *key, int unused, void (*callback)(int)) { SETCURVE(); attr++; - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, pub, attr, 1), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, pub, attr, 1), DST_R_CRYPTOFAILURE); attr->pValue = isc_mem_get(key->mctx, attr->ulValueLen); memset(attr->pValue, 0, attr->ulValueLen); - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, pub, attr, 1), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, pub, attr, 1), DST_R_CRYPTOFAILURE); attr++; - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, priv, attr, 1), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, priv, attr, 1), DST_R_CRYPTOFAILURE); attr->pValue = isc_mem_get(key->mctx, attr->ulValueLen); memset(attr->pValue, 0, attr->ulValueLen); - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, priv, attr, 1), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, priv, attr, 1), DST_R_CRYPTOFAILURE); - (void) pkcs_C_DestroyObject(pk11_ctx->session, priv); - (void) pkcs_C_DestroyObject(pk11_ctx->session, pub); + (void)pkcs_C_DestroyObject(pk11_ctx->session, priv); + (void)pkcs_C_DestroyObject(pk11_ctx->session, pub); pk11_return_session(pk11_ctx); memset(pk11_ctx, 0, sizeof(*pk11_ctx)); isc_mem_put(key->mctx, pk11_ctx, sizeof(*pk11_ctx)); @@ -539,12 +528,12 @@ pkcs11ecdsa_generate(dst_key_t *key, int unused, void (*callback)(int)) { return (ISC_R_SUCCESS); - err: +err: pkcs11ecdsa_destroy(key); if (priv != CK_INVALID_HANDLE) - (void) pkcs_C_DestroyObject(pk11_ctx->session, priv); + (void)pkcs_C_DestroyObject(pk11_ctx->session, priv); if (pub != CK_INVALID_HANDLE) - (void) pkcs_C_DestroyObject(pk11_ctx->session, pub); + (void)pkcs_C_DestroyObject(pk11_ctx->session, pub); pk11_return_session(pk11_ctx); memset(pk11_ctx, 0, sizeof(*pk11_ctx)); isc_mem_put(key->mctx, pk11_ctx, sizeof(*pk11_ctx)); @@ -553,9 +542,10 @@ pkcs11ecdsa_generate(dst_key_t *key, int unused, void (*callback)(int)) { } static bool -pkcs11ecdsa_isprivate(const dst_key_t *key) { +pkcs11ecdsa_isprivate(const dst_key_t *key) +{ pk11_object_t *ec = key->keydata.pkey; - CK_ATTRIBUTE *attr; + CK_ATTRIBUTE * attr; if (ec == NULL) return (false); @@ -564,17 +554,17 @@ pkcs11ecdsa_isprivate(const dst_key_t *key) { } static void -pkcs11ecdsa_destroy(dst_key_t *key) { +pkcs11ecdsa_destroy(dst_key_t *key) +{ pk11_object_t *ec = key->keydata.pkey; - CK_ATTRIBUTE *attr; + CK_ATTRIBUTE * attr; if (ec == NULL) return; INSIST((ec->object == CK_INVALID_HANDLE) || ec->ontoken); - for (attr = pk11_attribute_first(ec); - attr != NULL; + for (attr = pk11_attribute_first(ec); attr != NULL; attr = pk11_attribute_next(ec, attr)) switch (attr->type) { case CKA_LABEL: @@ -587,9 +577,7 @@ pkcs11ecdsa_destroy(dst_key_t *key) { } if (ec->repr != NULL) { memset(ec->repr, 0, ec->attrcnt * sizeof(*attr)); - isc_mem_put(key->mctx, - ec->repr, - ec->attrcnt * sizeof(*attr)); + isc_mem_put(key->mctx, ec->repr, ec->attrcnt * sizeof(*attr)); } memset(ec, 0, sizeof(*ec)); isc_mem_put(key->mctx, ec, sizeof(*ec)); @@ -597,11 +585,12 @@ pkcs11ecdsa_destroy(dst_key_t *key) { } static isc_result_t -pkcs11ecdsa_todns(const dst_key_t *key, isc_buffer_t *data) { +pkcs11ecdsa_todns(const dst_key_t *key, isc_buffer_t *data) +{ pk11_object_t *ec; - isc_region_t r; - unsigned int len; - CK_ATTRIBUTE *attr; + isc_region_t r; + unsigned int len; + CK_ATTRIBUTE * attr; REQUIRE(key->keydata.pkey != NULL); @@ -612,28 +601,28 @@ pkcs11ecdsa_todns(const dst_key_t *key, isc_buffer_t *data) { ec = key->keydata.pkey; attr = pk11_attribute_bytype(ec, CKA_EC_POINT); - if ((attr == NULL) || - (attr->ulValueLen != len + 3) || - (((CK_BYTE_PTR) attr->pValue)[0] != TAG_OCTECT_STRING) || - (((CK_BYTE_PTR) attr->pValue)[1] != len + 1) || - (((CK_BYTE_PTR) attr->pValue)[2] != UNCOMPRESSED)) + if ((attr == NULL) || (attr->ulValueLen != len + 3) || + (((CK_BYTE_PTR)attr->pValue)[0] != TAG_OCTECT_STRING) || + (((CK_BYTE_PTR)attr->pValue)[1] != len + 1) || + (((CK_BYTE_PTR)attr->pValue)[2] != UNCOMPRESSED)) return (ISC_R_FAILURE); isc_buffer_availableregion(data, &r); if (r.length < len) return (ISC_R_NOSPACE); - memmove(r.base, (CK_BYTE_PTR) attr->pValue + 3, len); + memmove(r.base, (CK_BYTE_PTR)attr->pValue + 3, len); isc_buffer_add(data, len); return (ISC_R_SUCCESS); } static isc_result_t -pkcs11ecdsa_fromdns(dst_key_t *key, isc_buffer_t *data) { +pkcs11ecdsa_fromdns(dst_key_t *key, isc_buffer_t *data) +{ pk11_object_t *ec; - isc_region_t r; - unsigned int len; - CK_ATTRIBUTE *attr; + isc_region_t r; + unsigned int len; + CK_ATTRIBUTE * attr; REQUIRE(key->key_alg == DST_ALG_ECDSA256 || key->key_alg == DST_ALG_ECDSA384); @@ -657,26 +646,26 @@ pkcs11ecdsa_fromdns(dst_key_t *key, isc_buffer_t *data) { attr = ec->repr; attr->type = CKA_EC_PARAMS; if (key->key_alg == DST_ALG_ECDSA256) { - attr->pValue = isc_mem_get(key->mctx, - sizeof(pk11_ecc_prime256v1)); - memmove(attr->pValue, - pk11_ecc_prime256v1, sizeof(pk11_ecc_prime256v1)); + attr->pValue = + isc_mem_get(key->mctx, sizeof(pk11_ecc_prime256v1)); + memmove(attr->pValue, pk11_ecc_prime256v1, + sizeof(pk11_ecc_prime256v1)); attr->ulValueLen = sizeof(pk11_ecc_prime256v1); } else { - attr->pValue = isc_mem_get(key->mctx, - sizeof(pk11_ecc_secp384r1)); - memmove(attr->pValue, - pk11_ecc_secp384r1, sizeof(pk11_ecc_secp384r1)); + attr->pValue = + isc_mem_get(key->mctx, sizeof(pk11_ecc_secp384r1)); + memmove(attr->pValue, pk11_ecc_secp384r1, + sizeof(pk11_ecc_secp384r1)); attr->ulValueLen = sizeof(pk11_ecc_secp384r1); } attr++; attr->type = CKA_EC_POINT; attr->pValue = isc_mem_get(key->mctx, len + 3); - ((CK_BYTE_PTR) attr->pValue)[0] = TAG_OCTECT_STRING; - ((CK_BYTE_PTR) attr->pValue)[1] = len + 1; - ((CK_BYTE_PTR) attr->pValue)[2] = UNCOMPRESSED; - memmove((CK_BYTE_PTR) attr->pValue + 3, r.base, len); + ((CK_BYTE_PTR)attr->pValue)[0] = TAG_OCTECT_STRING; + ((CK_BYTE_PTR)attr->pValue)[1] = len + 1; + ((CK_BYTE_PTR)attr->pValue)[2] = UNCOMPRESSED; + memmove((CK_BYTE_PTR)attr->pValue + 3, r.base, len); attr->ulValueLen = len + 3; isc_buffer_forward(data, len); @@ -687,13 +676,14 @@ pkcs11ecdsa_fromdns(dst_key_t *key, isc_buffer_t *data) { } static isc_result_t -pkcs11ecdsa_tofile(const dst_key_t *key, const char *directory) { - isc_result_t ret; +pkcs11ecdsa_tofile(const dst_key_t *key, const char *directory) +{ + isc_result_t ret; pk11_object_t *ec; - dst_private_t priv; + dst_private_t priv; unsigned char *buf = NULL; - unsigned int i = 0; - CK_ATTRIBUTE *attr; + unsigned int i = 0; + CK_ATTRIBUTE * attr; if (key->keydata.pkey == NULL) return (DST_R_NULLKEY); @@ -708,7 +698,7 @@ pkcs11ecdsa_tofile(const dst_key_t *key, const char *directory) { if (attr != NULL) { buf = isc_mem_get(key->mctx, attr->ulValueLen); priv.elements[i].tag = TAG_ECDSA_PRIVATEKEY; - priv.elements[i].length = (unsigned short) attr->ulValueLen; + priv.elements[i].length = (unsigned short)attr->ulValueLen; memmove(buf, attr->pValue, attr->ulValueLen); priv.elements[i].data = buf; i++; @@ -742,23 +732,22 @@ static isc_result_t pkcs11ecdsa_fetch(dst_key_t *key, const char *engine, const char *label, dst_key_t *pub) { - CK_RV rv; + CK_RV rv; CK_OBJECT_CLASS keyClass = CKO_PRIVATE_KEY; - CK_KEY_TYPE keyType = CKK_EC; - CK_ATTRIBUTE searchTemplate[] = - { - { CKA_CLASS, &keyClass, (CK_ULONG) sizeof(keyClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_LABEL, NULL, 0 } + CK_KEY_TYPE keyType = CKK_EC; + CK_ATTRIBUTE searchTemplate[] = { + { CKA_CLASS, &keyClass, (CK_ULONG)sizeof(keyClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_LABEL, NULL, 0 } }; - CK_ULONG cnt; - CK_ATTRIBUTE *attr; - CK_ATTRIBUTE *pubattr; - pk11_object_t *ec; - pk11_object_t *pubec; + CK_ULONG cnt; + CK_ATTRIBUTE * attr; + CK_ATTRIBUTE * pubattr; + pk11_object_t * ec; + pk11_object_t * pubec; pk11_context_t *pk11_ctx = NULL; - isc_result_t ret; + isc_result_t ret; if (label == NULL) return (DST_R_NOENGINE); @@ -794,8 +783,8 @@ pkcs11ecdsa_fetch(dst_key_t *key, const char *engine, const char *label, goto err; pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx)); - ret = pk11_get_session(pk11_ctx, OP_ECDSA, true, false, - ec->reqlogon, NULL, ec->slot); + ret = pk11_get_session(pk11_ctx, OP_ECDSA, true, false, ec->reqlogon, + NULL, ec->slot); if (ret != ISC_R_SUCCESS) goto err; @@ -809,12 +798,12 @@ pkcs11ecdsa_fetch(dst_key_t *key, const char *engine, const char *label, searchTemplate[3].ulValueLen = attr->ulValueLen; PK11_RET(pkcs_C_FindObjectsInit, - (pk11_ctx->session, searchTemplate, (CK_ULONG) 4), + (pk11_ctx->session, searchTemplate, (CK_ULONG)4), DST_R_CRYPTOFAILURE); PK11_RET(pkcs_C_FindObjects, - (pk11_ctx->session, &ec->object, (CK_ULONG) 1, &cnt), + (pk11_ctx->session, &ec->object, (CK_ULONG)1, &cnt), DST_R_CRYPTOFAILURE); - (void) pkcs_C_FindObjectsFinal(pk11_ctx->session); + (void)pkcs_C_FindObjectsFinal(pk11_ctx->session); if (cnt == 0) DST_RET(ISC_R_NOTFOUND); if (cnt > 1) @@ -831,7 +820,7 @@ pkcs11ecdsa_fetch(dst_key_t *key, const char *engine, const char *label, isc_mem_put(key->mctx, pk11_ctx, sizeof(*pk11_ctx)); return (ISC_R_SUCCESS); - err: +err: if (pk11_ctx != NULL) { pk11_return_session(pk11_ctx); memset(pk11_ctx, 0, sizeof(*pk11_ctx)); @@ -841,14 +830,15 @@ pkcs11ecdsa_fetch(dst_key_t *key, const char *engine, const char *label, } static isc_result_t -pkcs11ecdsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { - dst_private_t priv; - isc_result_t ret; +pkcs11ecdsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) +{ + dst_private_t priv; + isc_result_t ret; pk11_object_t *ec = NULL; - CK_ATTRIBUTE *attr, *pattr; - isc_mem_t *mctx = key->mctx; - unsigned int i; - const char *engine = NULL, *label = NULL; + CK_ATTRIBUTE * attr, *pattr; + isc_mem_t * mctx = key->mctx; + unsigned int i; + const char * engine = NULL, *label = NULL; REQUIRE(key->key_alg == DST_ALG_ECDSA256 || key->key_alg == DST_ALG_ECDSA384); @@ -936,7 +926,7 @@ pkcs11ecdsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { return (ISC_R_SUCCESS); - err: +err: pkcs11ecdsa_destroy(key); dst__privstruct_free(&priv, mctx); memset(&priv, 0, sizeof(priv)); @@ -947,23 +937,22 @@ static isc_result_t pkcs11ecdsa_fromlabel(dst_key_t *key, const char *engine, const char *label, const char *pin) { - CK_RV rv; + CK_RV rv; CK_OBJECT_HANDLE hKey = CK_INVALID_HANDLE; - CK_OBJECT_CLASS keyClass = CKO_PUBLIC_KEY; - CK_KEY_TYPE keyType = CKK_EC; - CK_ATTRIBUTE searchTemplate[] = - { - { CKA_CLASS, &keyClass, (CK_ULONG) sizeof(keyClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_LABEL, NULL, 0 } + CK_OBJECT_CLASS keyClass = CKO_PUBLIC_KEY; + CK_KEY_TYPE keyType = CKK_EC; + CK_ATTRIBUTE searchTemplate[] = { + { CKA_CLASS, &keyClass, (CK_ULONG)sizeof(keyClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_LABEL, NULL, 0 } }; - CK_ULONG cnt; - CK_ATTRIBUTE *attr; - pk11_object_t *ec; + CK_ULONG cnt; + CK_ATTRIBUTE * attr; + pk11_object_t * ec; pk11_context_t *pk11_ctx = NULL; - isc_result_t ret; - unsigned int i; + isc_result_t ret; + unsigned int i; UNUSED(pin); @@ -986,8 +975,8 @@ pkcs11ecdsa_fromlabel(dst_key_t *key, const char *engine, const char *label, goto err; pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx)); - ret = pk11_get_session(pk11_ctx, OP_ECDSA, true, false, - ec->reqlogon, NULL, ec->slot); + ret = pk11_get_session(pk11_ctx, OP_ECDSA, true, false, ec->reqlogon, + NULL, ec->slot); if (ret != ISC_R_SUCCESS) goto err; @@ -1001,37 +990,35 @@ pkcs11ecdsa_fromlabel(dst_key_t *key, const char *engine, const char *label, searchTemplate[3].ulValueLen = attr->ulValueLen; PK11_RET(pkcs_C_FindObjectsInit, - (pk11_ctx->session, searchTemplate, (CK_ULONG) 4), + (pk11_ctx->session, searchTemplate, (CK_ULONG)4), DST_R_CRYPTOFAILURE); PK11_RET(pkcs_C_FindObjects, - (pk11_ctx->session, &hKey, (CK_ULONG) 1, &cnt), + (pk11_ctx->session, &hKey, (CK_ULONG)1, &cnt), DST_R_CRYPTOFAILURE); - (void) pkcs_C_FindObjectsFinal(pk11_ctx->session); + (void)pkcs_C_FindObjectsFinal(pk11_ctx->session); if (cnt == 0) DST_RET(ISC_R_NOTFOUND); if (cnt > 1) DST_RET(ISC_R_EXISTS); attr = ec->repr; - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, hKey, attr, 2), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, hKey, attr, 2), DST_R_CRYPTOFAILURE); for (i = 0; i <= 1; i++) { attr[i].pValue = isc_mem_get(key->mctx, attr[i].ulValueLen); memset(attr[i].pValue, 0, attr[i].ulValueLen); } - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, hKey, attr, 2), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, hKey, attr, 2), DST_R_CRYPTOFAILURE); keyClass = CKO_PRIVATE_KEY; PK11_RET(pkcs_C_FindObjectsInit, - (pk11_ctx->session, searchTemplate, (CK_ULONG) 4), + (pk11_ctx->session, searchTemplate, (CK_ULONG)4), DST_R_CRYPTOFAILURE); PK11_RET(pkcs_C_FindObjects, - (pk11_ctx->session, &ec->object, (CK_ULONG) 1, &cnt), + (pk11_ctx->session, &ec->object, (CK_ULONG)1, &cnt), DST_R_CRYPTOFAILURE); - (void) pkcs_C_FindObjectsFinal(pk11_ctx->session); + (void)pkcs_C_FindObjectsFinal(pk11_ctx->session); if (cnt == 0) DST_RET(ISC_R_NOTFOUND); if (cnt > 1) @@ -1052,7 +1039,7 @@ pkcs11ecdsa_fromlabel(dst_key_t *key, const char *engine, const char *label, isc_mem_put(key->mctx, pk11_ctx, sizeof(*pk11_ctx)); return (ISC_R_SUCCESS); - err: +err: pkcs11ecdsa_destroy(key); if (pk11_ctx != NULL) { pk11_return_session(pk11_ctx); @@ -1087,7 +1074,8 @@ static dst_func_t pkcs11ecdsa_functions = { }; isc_result_t -dst__pkcs11ecdsa_init(dst_func_t **funcp) { +dst__pkcs11ecdsa_init(dst_func_t **funcp) +{ REQUIRE(funcp != NULL); if (*funcp == NULL) *funcp = &pkcs11ecdsa_functions; diff --git a/lib/dns/pkcs11eddsa_link.c b/lib/dns/pkcs11eddsa_link.c index 304f254378..a1ad5e1ba4 100644 --- a/lib/dns/pkcs11eddsa_link.c +++ b/lib/dns/pkcs11eddsa_link.c @@ -11,8 +11,7 @@ /*! \file */ -#if USE_PKCS11 && \ - (HAVE_PKCS11_ED25519 || HAVE_PKCS11_ED448) +#if USE_PKCS11 && (HAVE_PKCS11_ED25519 || HAVE_PKCS11_ED448) #include @@ -22,18 +21,17 @@ #include #include -#include #include "dst_internal.h" #include "dst_parse.h" #include "dst_pkcs11.h" -#include -#include +#include #include - -#include +#include +#include #include +#include /* * FIPS 186-3 EDDSA keys: @@ -54,21 +52,28 @@ * attribute CKA_VALUE (big int k) */ -#define DST_RET(a) {ret = a; goto err;} +#define DST_RET(a) \ + { \ + ret = a; \ + goto err; \ + } static CK_BBOOL truevalue = TRUE; static CK_BBOOL falsevalue = FALSE; -static isc_result_t pkcs11eddsa_todns(const dst_key_t *key, - isc_buffer_t *data); -static void pkcs11eddsa_destroy(dst_key_t *key); -static isc_result_t pkcs11eddsa_fetch(dst_key_t *key, const char *engine, - const char *label, dst_key_t *pub); +static isc_result_t +pkcs11eddsa_todns(const dst_key_t *key, isc_buffer_t *data); +static void +pkcs11eddsa_destroy(dst_key_t *key); +static isc_result_t +pkcs11eddsa_fetch(dst_key_t *key, const char *engine, const char *label, + dst_key_t *pub); static isc_result_t -pkcs11eddsa_createctx(dst_key_t *key, dst_context_t *dctx) { +pkcs11eddsa_createctx(dst_key_t *key, dst_context_t *dctx) +{ isc_buffer_t *buf = NULL; - isc_result_t result; + isc_result_t result; UNUSED(key); REQUIRE(dctx->key->key_alg == DST_ALG_ED25519 || @@ -82,8 +87,9 @@ pkcs11eddsa_createctx(dst_key_t *key, dst_context_t *dctx) { } static void -pkcs11eddsa_destroyctx(dst_context_t *dctx) { - isc_buffer_t *buf = (isc_buffer_t *) dctx->ctxdata.generic; +pkcs11eddsa_destroyctx(dst_context_t *dctx) +{ + isc_buffer_t *buf = (isc_buffer_t *)dctx->ctxdata.generic; REQUIRE(dctx->key->key_alg == DST_ALG_ED25519 || dctx->key->key_alg == DST_ALG_ED448); @@ -93,12 +99,13 @@ pkcs11eddsa_destroyctx(dst_context_t *dctx) { } static isc_result_t -pkcs11eddsa_adddata(dst_context_t *dctx, const isc_region_t *data) { - isc_buffer_t *buf = (isc_buffer_t *) dctx->ctxdata.generic; +pkcs11eddsa_adddata(dst_context_t *dctx, const isc_region_t *data) +{ + isc_buffer_t *buf = (isc_buffer_t *)dctx->ctxdata.generic; isc_buffer_t *nbuf = NULL; - isc_region_t r; - unsigned int length; - isc_result_t result; + isc_region_t r; + unsigned int length; + isc_result_t result; REQUIRE(dctx->key->key_alg == DST_ALG_ED25519 || dctx->key->key_alg == DST_ALG_ED448); @@ -110,8 +117,8 @@ pkcs11eddsa_adddata(dst_context_t *dctx, const isc_region_t *data) { length = isc_buffer_length(buf) + data->length + 64; isc_buffer_allocate(dctx->mctx, &nbuf, length); isc_buffer_usedregion(buf, &r); - (void) isc_buffer_copyregion(nbuf, &r); - (void) isc_buffer_copyregion(nbuf, data); + (void)isc_buffer_copyregion(nbuf, &r); + (void)isc_buffer_copyregion(nbuf, data); isc_buffer_free(&buf); dctx->ctxdata.generic = nbuf; @@ -119,33 +126,33 @@ pkcs11eddsa_adddata(dst_context_t *dctx, const isc_region_t *data) { } static isc_result_t -pkcs11eddsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { - isc_buffer_t *buf = (isc_buffer_t *) dctx->ctxdata.generic; - CK_RV rv; - CK_MECHANISM mech = { CKM_EDDSA, NULL, 0 }; +pkcs11eddsa_sign(dst_context_t *dctx, isc_buffer_t *sig) +{ + isc_buffer_t * buf = (isc_buffer_t *)dctx->ctxdata.generic; + CK_RV rv; + CK_MECHANISM mech = { CKM_EDDSA, NULL, 0 }; CK_OBJECT_HANDLE hKey = CK_INVALID_HANDLE; - CK_OBJECT_CLASS keyClass = CKO_PRIVATE_KEY; - CK_KEY_TYPE keyType = CKK_EDDSA; - CK_ATTRIBUTE keyTemplate[] = - { - { CKA_CLASS, &keyClass, (CK_ULONG) sizeof(keyClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_SIGN, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_EC_PARAMS, NULL, 0 }, - { CKA_VALUE, NULL, 0 } + CK_OBJECT_CLASS keyClass = CKO_PRIVATE_KEY; + CK_KEY_TYPE keyType = CKK_EDDSA; + CK_ATTRIBUTE keyTemplate[] = { + { CKA_CLASS, &keyClass, (CK_ULONG)sizeof(keyClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_SIGN, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_EC_PARAMS, NULL, 0 }, + { CKA_VALUE, NULL, 0 } }; - CK_ATTRIBUTE *attr; - CK_ULONG siglen; - CK_SLOT_ID slotid; + CK_ATTRIBUTE * attr; + CK_ULONG siglen; + CK_SLOT_ID slotid; pk11_context_t *pk11_ctx; - dst_key_t *key = dctx->key; - pk11_object_t *ec = key->keydata.pkey; - isc_region_t t; - isc_region_t r; - isc_result_t ret = ISC_R_SUCCESS; - unsigned int i; + dst_key_t * key = dctx->key; + pk11_object_t * ec = key->keydata.pkey; + isc_region_t t; + isc_region_t r; + isc_result_t ret = ISC_R_SUCCESS; + unsigned int i; REQUIRE(key->key_alg == DST_ALG_ED25519 || key->key_alg == DST_ALG_ED448); @@ -162,8 +169,8 @@ pkcs11eddsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { slotid = ec->slot; else slotid = pk11_get_best_token(OP_EC); - ret = pk11_get_session(pk11_ctx, OP_EC, true, false, - ec->reqlogon, NULL, slotid); + ret = pk11_get_session(pk11_ctx, OP_EC, true, false, ec->reqlogon, NULL, + slotid); if (ret != ISC_R_SUCCESS) goto err; @@ -177,22 +184,21 @@ pkcs11eddsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { goto token_key; } - for (attr = pk11_attribute_first(ec); - attr != NULL; + for (attr = pk11_attribute_first(ec); attr != NULL; attr = pk11_attribute_next(ec, attr)) switch (attr->type) { case CKA_EC_PARAMS: INSIST(keyTemplate[5].type == attr->type); - keyTemplate[5].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[5].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[5].pValue, attr->pValue, attr->ulValueLen); keyTemplate[5].ulValueLen = attr->ulValueLen; break; case CKA_VALUE: INSIST(keyTemplate[6].type == attr->type); - keyTemplate[6].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[6].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[6].pValue, attr->pValue, attr->ulValueLen); keyTemplate[6].ulValueLen = attr->ulValueLen; @@ -201,12 +207,10 @@ pkcs11eddsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { pk11_ctx->object = CK_INVALID_HANDLE; pk11_ctx->ontoken = false; PK11_RET(pkcs_C_CreateObject, - (pk11_ctx->session, - keyTemplate, (CK_ULONG) 7, - &hKey), + (pk11_ctx->session, keyTemplate, (CK_ULONG)7, &hKey), ISC_R_FAILURE); - token_key: +token_key: PK11_RET(pkcs_C_SignInit, (pk11_ctx->session, &mech, @@ -216,23 +220,21 @@ pkcs11eddsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { isc_buffer_usedregion(buf, &t); PK11_RET(pkcs_C_Sign, - (pk11_ctx->session, - (CK_BYTE_PTR) t.base, (CK_ULONG) t.length, - (CK_BYTE_PTR) r.base, &siglen), + (pk11_ctx->session, (CK_BYTE_PTR)t.base, (CK_ULONG)t.length, + (CK_BYTE_PTR)r.base, &siglen), DST_R_SIGNFAILURE); - isc_buffer_add(sig, (unsigned int) siglen); + isc_buffer_add(sig, (unsigned int)siglen); - err: +err: if (hKey != CK_INVALID_HANDLE) - (void) pkcs_C_DestroyObject(pk11_ctx->session, hKey); + (void)pkcs_C_DestroyObject(pk11_ctx->session, hKey); for (i = 5; i <= 6; i++) if (keyTemplate[i].pValue != NULL) { memset(keyTemplate[i].pValue, 0, keyTemplate[i].ulValueLen); - isc_mem_put(dctx->mctx, - keyTemplate[i].pValue, + isc_mem_put(dctx->mctx, keyTemplate[i].pValue, keyTemplate[i].ulValueLen); } pk11_return_session(pk11_ctx); @@ -245,31 +247,31 @@ pkcs11eddsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { } static isc_result_t -pkcs11eddsa_verify(dst_context_t *dctx, const isc_region_t *sig) { - isc_buffer_t *buf = (isc_buffer_t *) dctx->ctxdata.generic; - CK_RV rv; - CK_MECHANISM mech = { CKM_EDDSA, NULL, 0 }; +pkcs11eddsa_verify(dst_context_t *dctx, const isc_region_t *sig) +{ + isc_buffer_t * buf = (isc_buffer_t *)dctx->ctxdata.generic; + CK_RV rv; + CK_MECHANISM mech = { CKM_EDDSA, NULL, 0 }; CK_OBJECT_HANDLE hKey = CK_INVALID_HANDLE; - CK_OBJECT_CLASS keyClass = CKO_PUBLIC_KEY; - CK_KEY_TYPE keyType = CKK_EDDSA; - CK_ATTRIBUTE keyTemplate[] = - { - { CKA_CLASS, &keyClass, (CK_ULONG) sizeof(keyClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_VERIFY, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_EC_PARAMS, NULL, 0 }, - { CKA_VALUE, NULL, 0 } + CK_OBJECT_CLASS keyClass = CKO_PUBLIC_KEY; + CK_KEY_TYPE keyType = CKK_EDDSA; + CK_ATTRIBUTE keyTemplate[] = { + { CKA_CLASS, &keyClass, (CK_ULONG)sizeof(keyClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_VERIFY, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_EC_PARAMS, NULL, 0 }, + { CKA_VALUE, NULL, 0 } }; - CK_ATTRIBUTE *attr; - CK_SLOT_ID slotid; + CK_ATTRIBUTE * attr; + CK_SLOT_ID slotid; pk11_context_t *pk11_ctx; - dst_key_t *key = dctx->key; - pk11_object_t *ec = key->keydata.pkey; - isc_region_t t; - isc_result_t ret = ISC_R_SUCCESS; - unsigned int i; + dst_key_t * key = dctx->key; + pk11_object_t * ec = key->keydata.pkey; + isc_region_t t; + isc_result_t ret = ISC_R_SUCCESS; + unsigned int i; REQUIRE(key->key_alg == DST_ALG_ED25519 || key->key_alg == DST_ALG_ED448); @@ -281,27 +283,26 @@ pkcs11eddsa_verify(dst_context_t *dctx, const isc_region_t *sig) { slotid = ec->slot; else slotid = pk11_get_best_token(OP_EC); - ret = pk11_get_session(pk11_ctx, OP_EC, true, false, - ec->reqlogon, NULL, slotid); + ret = pk11_get_session(pk11_ctx, OP_EC, true, false, ec->reqlogon, NULL, + slotid); if (ret != ISC_R_SUCCESS) goto err; - for (attr = pk11_attribute_first(ec); - attr != NULL; + for (attr = pk11_attribute_first(ec); attr != NULL; attr = pk11_attribute_next(ec, attr)) switch (attr->type) { case CKA_EC_PARAMS: INSIST(keyTemplate[5].type == attr->type); - keyTemplate[5].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[5].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[5].pValue, attr->pValue, attr->ulValueLen); keyTemplate[5].ulValueLen = attr->ulValueLen; break; case CKA_EC_POINT: /* keyTemplate[6].type is CKA_VALUE */ - keyTemplate[6].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[6].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[6].pValue, attr->pValue, attr->ulValueLen); keyTemplate[6].ulValueLen = attr->ulValueLen; @@ -310,33 +311,28 @@ pkcs11eddsa_verify(dst_context_t *dctx, const isc_region_t *sig) { pk11_ctx->object = CK_INVALID_HANDLE; pk11_ctx->ontoken = false; PK11_RET(pkcs_C_CreateObject, - (pk11_ctx->session, - keyTemplate, (CK_ULONG) 7, - &hKey), + (pk11_ctx->session, keyTemplate, (CK_ULONG)7, &hKey), ISC_R_FAILURE); - PK11_RET(pkcs_C_VerifyInit, - (pk11_ctx->session, &mech, hKey), + PK11_RET(pkcs_C_VerifyInit, (pk11_ctx->session, &mech, hKey), ISC_R_FAILURE); isc_buffer_usedregion(buf, &t); PK11_RET(pkcs_C_Verify, - (pk11_ctx->session, - (CK_BYTE_PTR) t.base, (CK_ULONG) t.length, - (CK_BYTE_PTR) sig->base, (CK_ULONG) sig->length), + (pk11_ctx->session, (CK_BYTE_PTR)t.base, (CK_ULONG)t.length, + (CK_BYTE_PTR)sig->base, (CK_ULONG)sig->length), DST_R_VERIFYFAILURE); - err: +err: if (hKey != CK_INVALID_HANDLE) - (void) pkcs_C_DestroyObject(pk11_ctx->session, hKey); + (void)pkcs_C_DestroyObject(pk11_ctx->session, hKey); for (i = 5; i <= 6; i++) if (keyTemplate[i].pValue != NULL) { memset(keyTemplate[i].pValue, 0, keyTemplate[i].ulValueLen); - isc_mem_put(dctx->mctx, - keyTemplate[i].pValue, + isc_mem_put(dctx->mctx, keyTemplate[i].pValue, keyTemplate[i].ulValueLen); } pk11_return_session(pk11_ctx); @@ -349,9 +345,10 @@ pkcs11eddsa_verify(dst_context_t *dctx, const isc_region_t *sig) { } static bool -pkcs11eddsa_compare(const dst_key_t *key1, const dst_key_t *key2) { +pkcs11eddsa_compare(const dst_key_t *key1, const dst_key_t *key2) +{ pk11_object_t *ec1, *ec2; - CK_ATTRIBUTE *attr1, *attr2; + CK_ATTRIBUTE * attr1, *attr2; ec1 = key1->keydata.pkey; ec2 = key2->keydata.pkey; @@ -392,67 +389,65 @@ pkcs11eddsa_compare(const dst_key_t *key1, const dst_key_t *key2) { if (!ec1->ontoken && !ec2->ontoken) return (true); - else if (ec1->ontoken || ec2->ontoken || - (ec1->object != ec2->object)) + else if (ec1->ontoken || ec2->ontoken || (ec1->object != ec2->object)) return (false); return (true); } -#define SETCURVE() \ - if (key->key_alg == DST_ALG_ED25519) { \ - attr->pValue = isc_mem_get(key->mctx, sizeof(pk11_ecc_ed25519)); \ - \ - memmove(attr->pValue, \ - pk11_ecc_ed25519, sizeof(pk11_ecc_ed25519)); \ - attr->ulValueLen = sizeof(pk11_ecc_ed25519); \ - } else { \ +#define SETCURVE() \ + if (key->key_alg == DST_ALG_ED25519) { \ + attr->pValue = \ + isc_mem_get(key->mctx, sizeof(pk11_ecc_ed25519)); \ + \ + memmove(attr->pValue, pk11_ecc_ed25519, \ + sizeof(pk11_ecc_ed25519)); \ + attr->ulValueLen = sizeof(pk11_ecc_ed25519); \ + } else { \ attr->pValue = isc_mem_get(key->mctx, sizeof(pk11_ecc_ed448)); \ - \ - memmove(attr->pValue, \ - pk11_ecc_ed448, sizeof(pk11_ecc_ed448)); \ - attr->ulValueLen = sizeof(pk11_ecc_ed448); \ + \ + memmove(attr->pValue, pk11_ecc_ed448, sizeof(pk11_ecc_ed448)); \ + attr->ulValueLen = sizeof(pk11_ecc_ed448); \ } -#define FREECURVE() \ - if (attr->pValue != NULL) { \ - memset(attr->pValue, 0, attr->ulValueLen); \ +#define FREECURVE() \ + if (attr->pValue != NULL) { \ + memset(attr->pValue, 0, attr->ulValueLen); \ isc_mem_put(key->mctx, attr->pValue, attr->ulValueLen); \ - attr->pValue = NULL; \ + attr->pValue = NULL; \ } static isc_result_t -pkcs11eddsa_generate(dst_key_t *key, int unused, void (*callback)(int)) { - CK_RV rv; - CK_MECHANISM mech = { CKM_EDDSA_KEY_PAIR_GEN, NULL, 0 }; +pkcs11eddsa_generate(dst_key_t *key, int unused, void (*callback)(int)) +{ + CK_RV rv; + CK_MECHANISM mech = { CKM_EDDSA_KEY_PAIR_GEN, NULL, 0 }; CK_OBJECT_HANDLE pub = CK_INVALID_HANDLE; - CK_OBJECT_CLASS pubClass = CKO_PUBLIC_KEY; - CK_KEY_TYPE keyType = CKK_EDDSA; - CK_ATTRIBUTE pubTemplate[] = - { - { CKA_CLASS, &pubClass, (CK_ULONG) sizeof(pubClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_VERIFY, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_EC_PARAMS, NULL, 0 } + CK_OBJECT_CLASS pubClass = CKO_PUBLIC_KEY; + CK_KEY_TYPE keyType = CKK_EDDSA; + CK_ATTRIBUTE pubTemplate[] = { + { CKA_CLASS, &pubClass, (CK_ULONG)sizeof(pubClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_VERIFY, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_EC_PARAMS, NULL, 0 } }; CK_OBJECT_HANDLE priv = CK_INVALID_HANDLE; CK_OBJECT_HANDLE privClass = CKO_PRIVATE_KEY; - CK_ATTRIBUTE privTemplate[] = - { - { CKA_CLASS, &privClass, (CK_ULONG) sizeof(privClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_SENSITIVE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_EXTRACTABLE, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_SIGN, &truevalue, (CK_ULONG) sizeof(truevalue) } + CK_ATTRIBUTE privTemplate[] = { + { CKA_CLASS, &privClass, (CK_ULONG)sizeof(privClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_SENSITIVE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_EXTRACTABLE, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_SIGN, &truevalue, (CK_ULONG)sizeof(truevalue) } }; - CK_ATTRIBUTE *attr; - pk11_object_t *ec; + CK_ATTRIBUTE * attr; + pk11_object_t * ec; pk11_context_t *pk11_ctx; - isc_result_t ret; + isc_result_t ret; REQUIRE(key->key_alg == DST_ALG_ED25519 || key->key_alg == DST_ALG_ED448); @@ -460,8 +455,8 @@ pkcs11eddsa_generate(dst_key_t *key, int unused, void (*callback)(int)) { UNUSED(callback); pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx)); - ret = pk11_get_session(pk11_ctx, OP_EC, true, false, - false, NULL, pk11_get_best_token(OP_EC)); + ret = pk11_get_session(pk11_ctx, OP_EC, true, false, false, NULL, + pk11_get_best_token(OP_EC)); if (ret != ISC_R_SUCCESS) goto err; @@ -481,10 +476,8 @@ pkcs11eddsa_generate(dst_key_t *key, int unused, void (*callback)(int)) { SETCURVE(); PK11_RET(pkcs_C_GenerateKeyPair, - (pk11_ctx->session, &mech, - pubTemplate, (CK_ULONG) 6, - privTemplate, (CK_ULONG) 7, - &pub, &priv), + (pk11_ctx->session, &mech, pubTemplate, (CK_ULONG)6, + privTemplate, (CK_ULONG)7, &pub, &priv), DST_R_CRYPTOFAILURE); attr = &pubTemplate[5]; @@ -494,28 +487,24 @@ pkcs11eddsa_generate(dst_key_t *key, int unused, void (*callback)(int)) { SETCURVE(); attr++; - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, pub, attr, 1), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, pub, attr, 1), DST_R_CRYPTOFAILURE); attr->pValue = isc_mem_get(key->mctx, attr->ulValueLen); memset(attr->pValue, 0, attr->ulValueLen); - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, pub, attr, 1), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, pub, attr, 1), DST_R_CRYPTOFAILURE); attr->type = CKA_EC_POINT; attr++; - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, priv, attr, 1), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, priv, attr, 1), DST_R_CRYPTOFAILURE); attr->pValue = isc_mem_get(key->mctx, attr->ulValueLen); memset(attr->pValue, 0, attr->ulValueLen); - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, priv, attr, 1), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, priv, attr, 1), DST_R_CRYPTOFAILURE); - (void) pkcs_C_DestroyObject(pk11_ctx->session, priv); - (void) pkcs_C_DestroyObject(pk11_ctx->session, pub); + (void)pkcs_C_DestroyObject(pk11_ctx->session, priv); + (void)pkcs_C_DestroyObject(pk11_ctx->session, pub); pk11_return_session(pk11_ctx); memset(pk11_ctx, 0, sizeof(*pk11_ctx)); isc_mem_put(key->mctx, pk11_ctx, sizeof(*pk11_ctx)); @@ -527,12 +516,12 @@ pkcs11eddsa_generate(dst_key_t *key, int unused, void (*callback)(int)) { return (ISC_R_SUCCESS); - err: +err: pkcs11eddsa_destroy(key); if (priv != CK_INVALID_HANDLE) - (void) pkcs_C_DestroyObject(pk11_ctx->session, priv); + (void)pkcs_C_DestroyObject(pk11_ctx->session, priv); if (pub != CK_INVALID_HANDLE) - (void) pkcs_C_DestroyObject(pk11_ctx->session, pub); + (void)pkcs_C_DestroyObject(pk11_ctx->session, pub); pk11_return_session(pk11_ctx); memset(pk11_ctx, 0, sizeof(*pk11_ctx)); isc_mem_put(key->mctx, pk11_ctx, sizeof(*pk11_ctx)); @@ -541,9 +530,10 @@ pkcs11eddsa_generate(dst_key_t *key, int unused, void (*callback)(int)) { } static bool -pkcs11eddsa_isprivate(const dst_key_t *key) { +pkcs11eddsa_isprivate(const dst_key_t *key) +{ pk11_object_t *ec = key->keydata.pkey; - CK_ATTRIBUTE *attr; + CK_ATTRIBUTE * attr; if (ec == NULL) return (false); @@ -552,17 +542,17 @@ pkcs11eddsa_isprivate(const dst_key_t *key) { } static void -pkcs11eddsa_destroy(dst_key_t *key) { +pkcs11eddsa_destroy(dst_key_t *key) +{ pk11_object_t *ec = key->keydata.pkey; - CK_ATTRIBUTE *attr; + CK_ATTRIBUTE * attr; if (ec == NULL) return; INSIST((ec->object == CK_INVALID_HANDLE) || ec->ontoken); - for (attr = pk11_attribute_first(ec); - attr != NULL; + for (attr = pk11_attribute_first(ec); attr != NULL; attr = pk11_attribute_next(ec, attr)) switch (attr->type) { case CKA_LABEL: @@ -575,9 +565,7 @@ pkcs11eddsa_destroy(dst_key_t *key) { } if (ec->repr != NULL) { memset(ec->repr, 0, ec->attrcnt * sizeof(*attr)); - isc_mem_put(key->mctx, - ec->repr, - ec->attrcnt * sizeof(*attr)); + isc_mem_put(key->mctx, ec->repr, ec->attrcnt * sizeof(*attr)); } memset(ec, 0, sizeof(*ec)); isc_mem_put(key->mctx, ec, sizeof(*ec)); @@ -585,11 +573,12 @@ pkcs11eddsa_destroy(dst_key_t *key) { } static isc_result_t -pkcs11eddsa_todns(const dst_key_t *key, isc_buffer_t *data) { +pkcs11eddsa_todns(const dst_key_t *key, isc_buffer_t *data) +{ pk11_object_t *ec; - isc_region_t r; - unsigned int len; - CK_ATTRIBUTE *attr; + isc_region_t r; + unsigned int len; + CK_ATTRIBUTE * attr; REQUIRE(key->keydata.pkey != NULL); @@ -606,18 +595,19 @@ pkcs11eddsa_todns(const dst_key_t *key, isc_buffer_t *data) { isc_buffer_availableregion(data, &r); if (r.length < len) return (ISC_R_NOSPACE); - memmove(r.base, (CK_BYTE_PTR) attr->pValue, len); + memmove(r.base, (CK_BYTE_PTR)attr->pValue, len); isc_buffer_add(data, len); return (ISC_R_SUCCESS); } static isc_result_t -pkcs11eddsa_fromdns(dst_key_t *key, isc_buffer_t *data) { +pkcs11eddsa_fromdns(dst_key_t *key, isc_buffer_t *data) +{ pk11_object_t *ec; - isc_region_t r; - unsigned int len; - CK_ATTRIBUTE *attr; + isc_region_t r; + unsigned int len; + CK_ATTRIBUTE * attr; REQUIRE(key->key_alg == DST_ALG_ED25519 || key->key_alg == DST_ALG_ED448); @@ -641,22 +631,20 @@ pkcs11eddsa_fromdns(dst_key_t *key, isc_buffer_t *data) { attr = ec->repr; attr->type = CKA_EC_PARAMS; if (key->key_alg == DST_ALG_ED25519) { - attr->pValue = isc_mem_get(key->mctx, - sizeof(pk11_ecc_ed25519)); - memmove(attr->pValue, - pk11_ecc_ed25519, sizeof(pk11_ecc_ed25519)); + attr->pValue = isc_mem_get(key->mctx, sizeof(pk11_ecc_ed25519)); + memmove(attr->pValue, pk11_ecc_ed25519, + sizeof(pk11_ecc_ed25519)); attr->ulValueLen = sizeof(pk11_ecc_ed25519); } else { attr->pValue = isc_mem_get(key->mctx, sizeof(pk11_ecc_ed448)); - memmove(attr->pValue, - pk11_ecc_ed448, sizeof(pk11_ecc_ed448)); + memmove(attr->pValue, pk11_ecc_ed448, sizeof(pk11_ecc_ed448)); attr->ulValueLen = sizeof(pk11_ecc_ed448); } attr++; attr->type = CKA_EC_POINT; attr->pValue = isc_mem_get(key->mctx, len); - memmove((CK_BYTE_PTR) attr->pValue, r.base, len); + memmove((CK_BYTE_PTR)attr->pValue, r.base, len); attr->ulValueLen = len; isc_buffer_forward(data, len); @@ -664,9 +652,8 @@ pkcs11eddsa_fromdns(dst_key_t *key, isc_buffer_t *data) { key->key_size = len; return (ISC_R_SUCCESS); - nomemory: - for (attr = pk11_attribute_first(ec); - attr != NULL; +nomemory: + for (attr = pk11_attribute_first(ec); attr != NULL; attr = pk11_attribute_next(ec, attr)) switch (attr->type) { case CKA_EC_PARAMS: @@ -676,9 +663,7 @@ pkcs11eddsa_fromdns(dst_key_t *key, isc_buffer_t *data) { } if (ec->repr != NULL) { memset(ec->repr, 0, ec->attrcnt * sizeof(*attr)); - isc_mem_put(key->mctx, - ec->repr, - ec->attrcnt * sizeof(*attr)); + isc_mem_put(key->mctx, ec->repr, ec->attrcnt * sizeof(*attr)); } memset(ec, 0, sizeof(*ec)); isc_mem_put(key->mctx, ec, sizeof(*ec)); @@ -686,13 +671,14 @@ pkcs11eddsa_fromdns(dst_key_t *key, isc_buffer_t *data) { } static isc_result_t -pkcs11eddsa_tofile(const dst_key_t *key, const char *directory) { - isc_result_t ret; +pkcs11eddsa_tofile(const dst_key_t *key, const char *directory) +{ + isc_result_t ret; pk11_object_t *ec; - dst_private_t priv; + dst_private_t priv; unsigned char *buf = NULL; - unsigned int i = 0; - CK_ATTRIBUTE *attr; + unsigned int i = 0; + CK_ATTRIBUTE * attr; if (key->keydata.pkey == NULL) return (DST_R_NULLKEY); @@ -707,7 +693,7 @@ pkcs11eddsa_tofile(const dst_key_t *key, const char *directory) { if (attr != NULL) { buf = isc_mem_get(key->mctx, attr->ulValueLen); priv.elements[i].tag = TAG_EDDSA_PRIVATEKEY; - priv.elements[i].length = (unsigned short) attr->ulValueLen; + priv.elements[i].length = (unsigned short)attr->ulValueLen; memmove(buf, attr->pValue, attr->ulValueLen); priv.elements[i].data = buf; i++; @@ -741,23 +727,22 @@ static isc_result_t pkcs11eddsa_fetch(dst_key_t *key, const char *engine, const char *label, dst_key_t *pub) { - CK_RV rv; + CK_RV rv; CK_OBJECT_CLASS keyClass = CKO_PRIVATE_KEY; - CK_KEY_TYPE keyType = CKK_EDDSA; - CK_ATTRIBUTE searchTemplate[] = - { - { CKA_CLASS, &keyClass, (CK_ULONG) sizeof(keyClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_LABEL, NULL, 0 } + CK_KEY_TYPE keyType = CKK_EDDSA; + CK_ATTRIBUTE searchTemplate[] = { + { CKA_CLASS, &keyClass, (CK_ULONG)sizeof(keyClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_LABEL, NULL, 0 } }; - CK_ULONG cnt; - CK_ATTRIBUTE *attr; - CK_ATTRIBUTE *pubattr; - pk11_object_t *ec; - pk11_object_t *pubec; + CK_ULONG cnt; + CK_ATTRIBUTE * attr; + CK_ATTRIBUTE * pubattr; + pk11_object_t * ec; + pk11_object_t * pubec; pk11_context_t *pk11_ctx = NULL; - isc_result_t ret; + isc_result_t ret; if (label == NULL) return (DST_R_NOENGINE); @@ -791,8 +776,8 @@ pkcs11eddsa_fetch(dst_key_t *key, const char *engine, const char *label, goto err; pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx)); - ret = pk11_get_session(pk11_ctx, OP_EC, true, false, - ec->reqlogon, NULL, ec->slot); + ret = pk11_get_session(pk11_ctx, OP_EC, true, false, ec->reqlogon, NULL, + ec->slot); if (ret != ISC_R_SUCCESS) goto err; @@ -806,12 +791,12 @@ pkcs11eddsa_fetch(dst_key_t *key, const char *engine, const char *label, searchTemplate[3].ulValueLen = attr->ulValueLen; PK11_RET(pkcs_C_FindObjectsInit, - (pk11_ctx->session, searchTemplate, (CK_ULONG) 4), + (pk11_ctx->session, searchTemplate, (CK_ULONG)4), DST_R_CRYPTOFAILURE); PK11_RET(pkcs_C_FindObjects, - (pk11_ctx->session, &ec->object, (CK_ULONG) 1, &cnt), + (pk11_ctx->session, &ec->object, (CK_ULONG)1, &cnt), DST_R_CRYPTOFAILURE); - (void) pkcs_C_FindObjectsFinal(pk11_ctx->session); + (void)pkcs_C_FindObjectsFinal(pk11_ctx->session); if (cnt == 0) DST_RET(ISC_R_NOTFOUND); if (cnt > 1) @@ -828,7 +813,7 @@ pkcs11eddsa_fetch(dst_key_t *key, const char *engine, const char *label, isc_mem_put(key->mctx, pk11_ctx, sizeof(*pk11_ctx)); return (ISC_R_SUCCESS); - err: +err: if (pk11_ctx != NULL) { pk11_return_session(pk11_ctx); memset(pk11_ctx, 0, sizeof(*pk11_ctx)); @@ -838,14 +823,15 @@ pkcs11eddsa_fetch(dst_key_t *key, const char *engine, const char *label, } static isc_result_t -pkcs11eddsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { - dst_private_t priv; - isc_result_t ret; +pkcs11eddsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) +{ + dst_private_t priv; + isc_result_t ret; pk11_object_t *ec = NULL; - CK_ATTRIBUTE *attr, *pattr; - isc_mem_t *mctx = key->mctx; - unsigned int i; - const char *engine = NULL, *label = NULL; + CK_ATTRIBUTE * attr, *pattr; + isc_mem_t * mctx = key->mctx; + unsigned int i; + const char * engine = NULL, *label = NULL; REQUIRE(key->key_alg == DST_ALG_ED25519 || key->key_alg == DST_ALG_ED448); @@ -933,7 +919,7 @@ pkcs11eddsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { return (ISC_R_SUCCESS); - err: +err: pkcs11eddsa_destroy(key); dst__privstruct_free(&priv, mctx); memset(&priv, 0, sizeof(priv)); @@ -944,23 +930,22 @@ static isc_result_t pkcs11eddsa_fromlabel(dst_key_t *key, const char *engine, const char *label, const char *pin) { - CK_RV rv; + CK_RV rv; CK_OBJECT_HANDLE hKey = CK_INVALID_HANDLE; - CK_OBJECT_CLASS keyClass = CKO_PUBLIC_KEY; - CK_KEY_TYPE keyType = CKK_EDDSA; - CK_ATTRIBUTE searchTemplate[] = - { - { CKA_CLASS, &keyClass, (CK_ULONG) sizeof(keyClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_LABEL, NULL, 0 } + CK_OBJECT_CLASS keyClass = CKO_PUBLIC_KEY; + CK_KEY_TYPE keyType = CKK_EDDSA; + CK_ATTRIBUTE searchTemplate[] = { + { CKA_CLASS, &keyClass, (CK_ULONG)sizeof(keyClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_LABEL, NULL, 0 } }; - CK_ULONG cnt; - CK_ATTRIBUTE *attr; - pk11_object_t *ec; + CK_ULONG cnt; + CK_ATTRIBUTE * attr; + pk11_object_t * ec; pk11_context_t *pk11_ctx = NULL; - isc_result_t ret; - unsigned int i; + isc_result_t ret; + unsigned int i; UNUSED(pin); @@ -983,8 +968,8 @@ pkcs11eddsa_fromlabel(dst_key_t *key, const char *engine, const char *label, goto err; pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx)); - ret = pk11_get_session(pk11_ctx, OP_EC, true, false, - ec->reqlogon, NULL, ec->slot); + ret = pk11_get_session(pk11_ctx, OP_EC, true, false, ec->reqlogon, NULL, + ec->slot); if (ret != ISC_R_SUCCESS) goto err; @@ -998,38 +983,36 @@ pkcs11eddsa_fromlabel(dst_key_t *key, const char *engine, const char *label, searchTemplate[3].ulValueLen = attr->ulValueLen; PK11_RET(pkcs_C_FindObjectsInit, - (pk11_ctx->session, searchTemplate, (CK_ULONG) 4), + (pk11_ctx->session, searchTemplate, (CK_ULONG)4), DST_R_CRYPTOFAILURE); PK11_RET(pkcs_C_FindObjects, - (pk11_ctx->session, &hKey, (CK_ULONG) 1, &cnt), + (pk11_ctx->session, &hKey, (CK_ULONG)1, &cnt), DST_R_CRYPTOFAILURE); - (void) pkcs_C_FindObjectsFinal(pk11_ctx->session); + (void)pkcs_C_FindObjectsFinal(pk11_ctx->session); if (cnt == 0) DST_RET(ISC_R_NOTFOUND); if (cnt > 1) DST_RET(ISC_R_EXISTS); attr = ec->repr; - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, hKey, attr, 2), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, hKey, attr, 2), DST_R_CRYPTOFAILURE); for (i = 0; i <= 1; i++) { attr[i].pValue = isc_mem_get(key->mctx, attr[i].ulValueLen); memset(attr[i].pValue, 0, attr[i].ulValueLen); } - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, hKey, attr, 2), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, hKey, attr, 2), DST_R_CRYPTOFAILURE); attr[1].type = CKA_EC_POINT; keyClass = CKO_PRIVATE_KEY; PK11_RET(pkcs_C_FindObjectsInit, - (pk11_ctx->session, searchTemplate, (CK_ULONG) 4), + (pk11_ctx->session, searchTemplate, (CK_ULONG)4), DST_R_CRYPTOFAILURE); PK11_RET(pkcs_C_FindObjects, - (pk11_ctx->session, &ec->object, (CK_ULONG) 1, &cnt), + (pk11_ctx->session, &ec->object, (CK_ULONG)1, &cnt), DST_R_CRYPTOFAILURE); - (void) pkcs_C_FindObjectsFinal(pk11_ctx->session); + (void)pkcs_C_FindObjectsFinal(pk11_ctx->session); if (cnt == 0) DST_RET(ISC_R_NOTFOUND); if (cnt > 1) @@ -1050,7 +1033,7 @@ pkcs11eddsa_fromlabel(dst_key_t *key, const char *engine, const char *label, isc_mem_put(key->mctx, pk11_ctx, sizeof(*pk11_ctx)); return (ISC_R_SUCCESS); - err: +err: pkcs11eddsa_destroy(key); if (pk11_ctx != NULL) { pk11_return_session(pk11_ctx); @@ -1085,7 +1068,8 @@ static dst_func_t pkcs11eddsa_functions = { }; isc_result_t -dst__pkcs11eddsa_init(dst_func_t **funcp) { +dst__pkcs11eddsa_init(dst_func_t **funcp) +{ REQUIRE(funcp != NULL); if (*funcp == NULL) *funcp = &pkcs11eddsa_functions; diff --git a/lib/dns/pkcs11rsa_link.c b/lib/dns/pkcs11rsa_link.c index 2a1fde7b9d..4458fc6bd9 100644 --- a/lib/dns/pkcs11rsa_link.c +++ b/lib/dns/pkcs11rsa_link.c @@ -21,12 +21,11 @@ #include #include -#include - #include "dst_internal.h" #include "dst_parse.h" #include "dst_pkcs11.h" +#include #include #include @@ -34,50 +33,57 @@ * Limit the size of public exponents. */ #ifndef RSA_MAX_PUBEXP_BITS -#define RSA_MAX_PUBEXP_BITS 35 +#define RSA_MAX_PUBEXP_BITS 35 #endif -#define DST_RET(a) {ret = a; goto err;} +#define DST_RET(a) \ + { \ + ret = a; \ + goto err; \ + } static CK_BBOOL truevalue = TRUE; static CK_BBOOL falsevalue = FALSE; -static isc_result_t pkcs11rsa_todns(const dst_key_t *key, isc_buffer_t *data); -static void pkcs11rsa_destroy(dst_key_t *key); -static isc_result_t pkcs11rsa_fetch(dst_key_t *key, const char *engine, - const char *label, dst_key_t *pub); +static isc_result_t +pkcs11rsa_todns(const dst_key_t *key, isc_buffer_t *data); +static void +pkcs11rsa_destroy(dst_key_t *key); +static isc_result_t +pkcs11rsa_fetch(dst_key_t *key, const char *engine, const char *label, + dst_key_t *pub); #ifndef PK11_RSA_PKCS_REPLACE static isc_result_t -pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) { - CK_RV rv; - CK_MECHANISM mech = { 0, NULL, 0 }; +pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) +{ + CK_RV rv; + CK_MECHANISM mech = { 0, NULL, 0 }; CK_OBJECT_CLASS keyClass = CKO_PRIVATE_KEY; - CK_KEY_TYPE keyType = CKK_RSA; - CK_ATTRIBUTE keyTemplate[] = - { - { CKA_CLASS, &keyClass, (CK_ULONG) sizeof(keyClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_SENSITIVE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_SIGN, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_MODULUS, NULL, 0 }, - { CKA_PUBLIC_EXPONENT, NULL, 0 }, - { CKA_PRIVATE_EXPONENT, NULL, 0 }, - { CKA_PRIME_1, NULL, 0 }, - { CKA_PRIME_2, NULL, 0 }, - { CKA_EXPONENT_1, NULL, 0 }, - { CKA_EXPONENT_2, NULL, 0 }, - { CKA_COEFFICIENT, NULL, 0 } + CK_KEY_TYPE keyType = CKK_RSA; + CK_ATTRIBUTE keyTemplate[] = { + { CKA_CLASS, &keyClass, (CK_ULONG)sizeof(keyClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_SENSITIVE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_SIGN, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_MODULUS, NULL, 0 }, + { CKA_PUBLIC_EXPONENT, NULL, 0 }, + { CKA_PRIVATE_EXPONENT, NULL, 0 }, + { CKA_PRIME_1, NULL, 0 }, + { CKA_PRIME_2, NULL, 0 }, + { CKA_EXPONENT_1, NULL, 0 }, + { CKA_EXPONENT_2, NULL, 0 }, + { CKA_COEFFICIENT, NULL, 0 } }; - CK_ATTRIBUTE *attr; - CK_SLOT_ID slotid; - pk11_object_t *rsa; + CK_ATTRIBUTE * attr; + CK_SLOT_ID slotid; + pk11_object_t * rsa; pk11_context_t *pk11_ctx; - isc_result_t ret; - unsigned int i; + isc_result_t ret; + unsigned int i; REQUIRE(key->key_alg == DST_ALG_RSASHA1 || key->key_alg == DST_ALG_NSEC3RSASHA1 || @@ -96,8 +102,7 @@ pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) { break; case DST_ALG_RSASHA256: /* From RFC 5702 */ - if ((dctx->key->key_size < 512) || - (dctx->key->key_size > 4096)) + if ((dctx->key->key_size < 512) || (dctx->key->key_size > 4096)) return (ISC_R_FAILURE); break; case DST_ALG_RSASHA512: @@ -119,8 +124,8 @@ pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) { slotid = rsa->slot; else slotid = pk11_get_best_token(OP_RSA); - ret = pk11_get_session(pk11_ctx, OP_RSA, true, false, - rsa->reqlogon, NULL, slotid); + ret = pk11_get_session(pk11_ctx, OP_RSA, true, false, rsa->reqlogon, + NULL, slotid); if (ret != ISC_R_SUCCESS) goto err; @@ -130,70 +135,69 @@ pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) { goto token_key; } - for (attr = pk11_attribute_first(rsa); - attr != NULL; + for (attr = pk11_attribute_first(rsa); attr != NULL; attr = pk11_attribute_next(rsa, attr)) switch (attr->type) { case CKA_MODULUS: INSIST(keyTemplate[6].type == attr->type); - keyTemplate[6].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[6].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[6].pValue, attr->pValue, attr->ulValueLen); keyTemplate[6].ulValueLen = attr->ulValueLen; break; case CKA_PUBLIC_EXPONENT: INSIST(keyTemplate[7].type == attr->type); - keyTemplate[7].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[7].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[7].pValue, attr->pValue, attr->ulValueLen); keyTemplate[7].ulValueLen = attr->ulValueLen; break; case CKA_PRIVATE_EXPONENT: INSIST(keyTemplate[8].type == attr->type); - keyTemplate[8].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[8].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[8].pValue, attr->pValue, attr->ulValueLen); keyTemplate[8].ulValueLen = attr->ulValueLen; break; case CKA_PRIME_1: INSIST(keyTemplate[9].type == attr->type); - keyTemplate[9].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[9].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[9].pValue, attr->pValue, attr->ulValueLen); keyTemplate[9].ulValueLen = attr->ulValueLen; break; case CKA_PRIME_2: INSIST(keyTemplate[10].type == attr->type); - keyTemplate[10].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[10].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[10].pValue, attr->pValue, attr->ulValueLen); keyTemplate[10].ulValueLen = attr->ulValueLen; break; case CKA_EXPONENT_1: INSIST(keyTemplate[11].type == attr->type); - keyTemplate[11].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[11].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[11].pValue, attr->pValue, attr->ulValueLen); keyTemplate[11].ulValueLen = attr->ulValueLen; break; case CKA_EXPONENT_2: INSIST(keyTemplate[12].type == attr->type); - keyTemplate[12].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[12].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[12].pValue, attr->pValue, attr->ulValueLen); keyTemplate[12].ulValueLen = attr->ulValueLen; break; case CKA_COEFFICIENT: INSIST(keyTemplate[13].type == attr->type); - keyTemplate[13].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[13].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[13].pValue, attr->pValue, attr->ulValueLen); keyTemplate[13].ulValueLen = attr->ulValueLen; @@ -202,12 +206,11 @@ pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) { pk11_ctx->object = CK_INVALID_HANDLE; pk11_ctx->ontoken = false; PK11_RET(pkcs_C_CreateObject, - (pk11_ctx->session, - keyTemplate, (CK_ULONG) 14, + (pk11_ctx->session, keyTemplate, (CK_ULONG)14, &pk11_ctx->object), ISC_R_FAILURE); - token_key: +token_key: switch (dctx->key->key_alg) { case DST_ALG_RSASHA1: @@ -225,8 +228,7 @@ pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) { ISC_UNREACHABLE(); } - PK11_RET(pkcs_C_SignInit, - (pk11_ctx->session, &mech, pk11_ctx->object), + PK11_RET(pkcs_C_SignInit, (pk11_ctx->session, &mech, pk11_ctx->object), ISC_R_FAILURE); dctx->ctxdata.pk11_ctx = pk11_ctx; @@ -235,23 +237,20 @@ pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) { if (keyTemplate[i].pValue != NULL) { isc_safe_memwipe(keyTemplate[i].pValue, keyTemplate[i].ulValueLen); - isc_mem_put(dctx->mctx, - keyTemplate[i].pValue, + isc_mem_put(dctx->mctx, keyTemplate[i].pValue, keyTemplate[i].ulValueLen); } return (ISC_R_SUCCESS); - err: +err: if (!pk11_ctx->ontoken && (pk11_ctx->object != CK_INVALID_HANDLE)) - (void) pkcs_C_DestroyObject(pk11_ctx->session, - pk11_ctx->object); + (void)pkcs_C_DestroyObject(pk11_ctx->session, pk11_ctx->object); for (i = 6; i <= 13; i++) if (keyTemplate[i].pValue != NULL) { isc_safe_memwipe(keyTemplate[i].pValue, keyTemplate[i].ulValueLen); - isc_mem_put(dctx->mctx, - keyTemplate[i].pValue, + isc_mem_put(dctx->mctx, keyTemplate[i].pValue, keyTemplate[i].ulValueLen); } pk11_return_session(pk11_ctx); @@ -263,26 +262,26 @@ pkcs11rsa_createctx_sign(dst_key_t *key, dst_context_t *dctx) { static isc_result_t pkcs11rsa_createctx_verify(dst_key_t *key, unsigned int maxbits, - dst_context_t *dctx) { - CK_RV rv; - CK_MECHANISM mech = { 0, NULL, 0 }; + dst_context_t *dctx) +{ + CK_RV rv; + CK_MECHANISM mech = { 0, NULL, 0 }; CK_OBJECT_CLASS keyClass = CKO_PUBLIC_KEY; - CK_KEY_TYPE keyType = CKK_RSA; - CK_ATTRIBUTE keyTemplate[] = - { - { CKA_CLASS, &keyClass, (CK_ULONG) sizeof(keyClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_VERIFY, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_MODULUS, NULL, 0 }, - { CKA_PUBLIC_EXPONENT, NULL, 0 }, + CK_KEY_TYPE keyType = CKK_RSA; + CK_ATTRIBUTE keyTemplate[] = { + { CKA_CLASS, &keyClass, (CK_ULONG)sizeof(keyClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_VERIFY, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_MODULUS, NULL, 0 }, + { CKA_PUBLIC_EXPONENT, NULL, 0 }, }; - CK_ATTRIBUTE *attr; - pk11_object_t *rsa; + CK_ATTRIBUTE * attr; + pk11_object_t * rsa; pk11_context_t *pk11_ctx; - isc_result_t ret; - unsigned int i; + isc_result_t ret; + unsigned int i; REQUIRE(key->key_alg == DST_ALG_RSASHA1 || key->key_alg == DST_ALG_NSEC3RSASHA1 || @@ -301,8 +300,7 @@ pkcs11rsa_createctx_verify(dst_key_t *key, unsigned int maxbits, break; case DST_ALG_RSASHA256: /* From RFC 5702 */ - if ((dctx->key->key_size < 512) || - (dctx->key->key_size > 4096)) + if ((dctx->key->key_size < 512) || (dctx->key->key_size > 4096)) return (ISC_R_FAILURE); break; case DST_ALG_RSASHA512: @@ -319,33 +317,31 @@ pkcs11rsa_createctx_verify(dst_key_t *key, unsigned int maxbits, rsa = key->keydata.pkey; pk11_ctx = isc_mem_get(dctx->mctx, sizeof(*pk11_ctx)); - ret = pk11_get_session(pk11_ctx, OP_RSA, true, false, - rsa->reqlogon, NULL, - pk11_get_best_token(OP_RSA)); + ret = pk11_get_session(pk11_ctx, OP_RSA, true, false, rsa->reqlogon, + NULL, pk11_get_best_token(OP_RSA)); if (ret != ISC_R_SUCCESS) goto err; - for (attr = pk11_attribute_first(rsa); - attr != NULL; + for (attr = pk11_attribute_first(rsa); attr != NULL; attr = pk11_attribute_next(rsa, attr)) switch (attr->type) { case CKA_MODULUS: INSIST(keyTemplate[5].type == attr->type); - keyTemplate[5].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[5].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[5].pValue, attr->pValue, attr->ulValueLen); keyTemplate[5].ulValueLen = attr->ulValueLen; break; case CKA_PUBLIC_EXPONENT: INSIST(keyTemplate[6].type == attr->type); - keyTemplate[6].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[6].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[6].pValue, attr->pValue, attr->ulValueLen); keyTemplate[6].ulValueLen = attr->ulValueLen; - if (pk11_numbits(attr->pValue, - attr->ulValueLen) > maxbits && + if (pk11_numbits(attr->pValue, attr->ulValueLen) > + maxbits && maxbits != 0) DST_RET(DST_R_VERIFYFAILURE); break; @@ -353,8 +349,7 @@ pkcs11rsa_createctx_verify(dst_key_t *key, unsigned int maxbits, pk11_ctx->object = CK_INVALID_HANDLE; pk11_ctx->ontoken = false; PK11_RET(pkcs_C_CreateObject, - (pk11_ctx->session, - keyTemplate, (CK_ULONG) 7, + (pk11_ctx->session, keyTemplate, (CK_ULONG)7, &pk11_ctx->object), ISC_R_FAILURE); @@ -375,8 +370,7 @@ pkcs11rsa_createctx_verify(dst_key_t *key, unsigned int maxbits, } PK11_RET(pkcs_C_VerifyInit, - (pk11_ctx->session, &mech, pk11_ctx->object), - ISC_R_FAILURE); + (pk11_ctx->session, &mech, pk11_ctx->object), ISC_R_FAILURE); dctx->ctxdata.pk11_ctx = pk11_ctx; @@ -384,23 +378,20 @@ pkcs11rsa_createctx_verify(dst_key_t *key, unsigned int maxbits, if (keyTemplate[i].pValue != NULL) { isc_safe_memwipe(keyTemplate[i].pValue, keyTemplate[i].ulValueLen); - isc_mem_put(dctx->mctx, - keyTemplate[i].pValue, + isc_mem_put(dctx->mctx, keyTemplate[i].pValue, keyTemplate[i].ulValueLen); } return (ISC_R_SUCCESS); - err: +err: if (!pk11_ctx->ontoken && (pk11_ctx->object != CK_INVALID_HANDLE)) - (void) pkcs_C_DestroyObject(pk11_ctx->session, - pk11_ctx->object); + (void)pkcs_C_DestroyObject(pk11_ctx->session, pk11_ctx->object); for (i = 5; i <= 6; i++) if (keyTemplate[i].pValue != NULL) { isc_safe_memwipe(keyTemplate[i].pValue, keyTemplate[i].ulValueLen); - isc_mem_put(dctx->mctx, - keyTemplate[i].pValue, + isc_mem_put(dctx->mctx, keyTemplate[i].pValue, keyTemplate[i].ulValueLen); } pk11_return_session(pk11_ctx); @@ -411,7 +402,8 @@ pkcs11rsa_createctx_verify(dst_key_t *key, unsigned int maxbits, } static isc_result_t -pkcs11rsa_createctx(dst_key_t *key, dst_context_t *dctx) { +pkcs11rsa_createctx(dst_key_t *key, dst_context_t *dctx) +{ if (dctx->use == DO_SIGN) return (pkcs11rsa_createctx_sign(key, dctx)); else @@ -419,23 +411,25 @@ pkcs11rsa_createctx(dst_key_t *key, dst_context_t *dctx) { } static isc_result_t -pkcs11rsa_createctx2(dst_key_t *key, int maxbits, dst_context_t *dctx) { +pkcs11rsa_createctx2(dst_key_t *key, int maxbits, dst_context_t *dctx) +{ if (dctx->use == DO_SIGN) return (pkcs11rsa_createctx_sign(key, dctx)); else - return (pkcs11rsa_createctx_verify(key, - (unsigned) maxbits, dctx)); + return (pkcs11rsa_createctx_verify(key, (unsigned)maxbits, + dctx)); } static void -pkcs11rsa_destroyctx(dst_context_t *dctx) { +pkcs11rsa_destroyctx(dst_context_t *dctx) +{ pk11_context_t *pk11_ctx = dctx->ctxdata.pk11_ctx; if (pk11_ctx != NULL) { if (!pk11_ctx->ontoken && (pk11_ctx->object != CK_INVALID_HANDLE)) - (void) pkcs_C_DestroyObject(pk11_ctx->session, - pk11_ctx->object); + (void)pkcs_C_DestroyObject(pk11_ctx->session, + pk11_ctx->object); pk11_return_session(pk11_ctx); isc_safe_memwipe(pk11_ctx, sizeof(*pk11_ctx)); isc_mem_put(dctx->mctx, pk11_ctx, sizeof(*pk11_ctx)); @@ -444,63 +438,62 @@ pkcs11rsa_destroyctx(dst_context_t *dctx) { } static isc_result_t -pkcs11rsa_adddata(dst_context_t *dctx, const isc_region_t *data) { - CK_RV rv; +pkcs11rsa_adddata(dst_context_t *dctx, const isc_region_t *data) +{ + CK_RV rv; pk11_context_t *pk11_ctx = dctx->ctxdata.pk11_ctx; - isc_result_t ret = ISC_R_SUCCESS; + isc_result_t ret = ISC_R_SUCCESS; if (dctx->use == DO_SIGN) PK11_CALL(pkcs_C_SignUpdate, - (pk11_ctx->session, - (CK_BYTE_PTR) data->base, - (CK_ULONG) data->length), + (pk11_ctx->session, (CK_BYTE_PTR)data->base, + (CK_ULONG)data->length), ISC_R_FAILURE); else PK11_CALL(pkcs_C_VerifyUpdate, - (pk11_ctx->session, - (CK_BYTE_PTR) data->base, - (CK_ULONG) data->length), + (pk11_ctx->session, (CK_BYTE_PTR)data->base, + (CK_ULONG)data->length), ISC_R_FAILURE); return (ret); } static isc_result_t -pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { - CK_RV rv; - CK_ULONG siglen = 0; - isc_region_t r; +pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) +{ + CK_RV rv; + CK_ULONG siglen = 0; + isc_region_t r; pk11_context_t *pk11_ctx = dctx->ctxdata.pk11_ctx; - isc_result_t ret = ISC_R_SUCCESS; + isc_result_t ret = ISC_R_SUCCESS; - PK11_RET(pkcs_C_SignFinal, - (pk11_ctx->session, NULL, &siglen), + PK11_RET(pkcs_C_SignFinal, (pk11_ctx->session, NULL, &siglen), DST_R_SIGNFAILURE); isc_buffer_availableregion(sig, &r); - if (r.length < (unsigned int) siglen) + if (r.length < (unsigned int)siglen) return (ISC_R_NOSPACE); PK11_RET(pkcs_C_SignFinal, - (pk11_ctx->session, (CK_BYTE_PTR) r.base, &siglen), + (pk11_ctx->session, (CK_BYTE_PTR)r.base, &siglen), DST_R_SIGNFAILURE); - isc_buffer_add(sig, (unsigned int) siglen); + isc_buffer_add(sig, (unsigned int)siglen); - err: +err: return (ret); } static isc_result_t -pkcs11rsa_verify(dst_context_t *dctx, const isc_region_t *sig) { - CK_RV rv; +pkcs11rsa_verify(dst_context_t *dctx, const isc_region_t *sig) +{ + CK_RV rv; pk11_context_t *pk11_ctx = dctx->ctxdata.pk11_ctx; - isc_result_t ret = ISC_R_SUCCESS; + isc_result_t ret = ISC_R_SUCCESS; PK11_CALL(pkcs_C_VerifyFinal, - (pk11_ctx->session, - (CK_BYTE_PTR) sig->base, - (CK_ULONG) sig->length), + (pk11_ctx->session, (CK_BYTE_PTR)sig->base, + (CK_ULONG)sig->length), DST_R_VERIFYFAILURE); return (ret); } @@ -512,32 +505,28 @@ pkcs11rsa_verify(dst_context_t *dctx, const isc_region_t *sig) { * to CKM_RSA_PKCS and do the EMSA-PKCS#1-v1.5 encapsulation by hand. */ -CK_BYTE md5_der[] = - { 0x30, 0x20, 0x30, 0x0c, 0x06, 0x08, 0x2a, 0x86, - 0x48, 0x86, 0xf7, 0x0d, 0x02, 0x05, 0x05, 0x00, - 0x04, 0x10 }; -CK_BYTE sha1_der[] = - { 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, - 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14 }; -CK_BYTE sha256_der[] = - { 0x30, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, - 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, - 0x00, 0x04, 0x20 }; -CK_BYTE sha512_der[] = - { 0x30, 0x51, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, - 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05, - 0x00, 0x04, 0x40 }; +CK_BYTE md5_der[] = { 0x30, 0x20, 0x30, 0x0c, 0x06, 0x08, 0x2a, 0x86, 0x48, + 0x86, 0xf7, 0x0d, 0x02, 0x05, 0x05, 0x00, 0x04, 0x10 }; +CK_BYTE sha1_der[] = { 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, + 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14 }; +CK_BYTE sha256_der[] = { 0x30, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x60, + 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, + 0x01, 0x05, 0x00, 0x04, 0x20 }; +CK_BYTE sha512_der[] = { 0x30, 0x51, 0x30, 0x0d, 0x06, 0x09, 0x60, + 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, + 0x03, 0x05, 0x00, 0x04, 0x40 }; #define MAX_DER_SIZE 19 #define MIN_PKCS1_PADLEN 11 static isc_result_t -pkcs11rsa_createctx(dst_key_t *key, dst_context_t *dctx) { - CK_RV rv; - CK_MECHANISM mech = { 0, NULL, 0 }; - CK_SLOT_ID slotid; - pk11_object_t *rsa = key->keydata.pkey; +pkcs11rsa_createctx(dst_key_t *key, dst_context_t *dctx) +{ + CK_RV rv; + CK_MECHANISM mech = { 0, NULL, 0 }; + CK_SLOT_ID slotid; + pk11_object_t * rsa = key->keydata.pkey; pk11_context_t *pk11_ctx; - isc_result_t ret; + isc_result_t ret; REQUIRE(key->key_alg == DST_ALG_RSASHA1 || key->key_alg == DST_ALG_NSEC3RSASHA1 || @@ -557,8 +546,7 @@ pkcs11rsa_createctx(dst_key_t *key, dst_context_t *dctx) { break; case DST_ALG_RSASHA256: /* From RFC 5702 */ - if ((dctx->key->key_size < 512) || - (dctx->key->key_size > 4096)) + if ((dctx->key->key_size < 512) || (dctx->key->key_size > 4096)) return (ISC_R_FAILURE); break; case DST_ALG_RSASHA512: @@ -594,8 +582,8 @@ pkcs11rsa_createctx(dst_key_t *key, dst_context_t *dctx) { slotid = rsa->slot; else slotid = pk11_get_best_token(OP_RSA); - ret = pk11_get_session(pk11_ctx, OP_RSA, true, false, - rsa->reqlogon, NULL, slotid); + ret = pk11_get_session(pk11_ctx, OP_RSA, true, false, rsa->reqlogon, + NULL, slotid); if (ret != ISC_R_SUCCESS) goto err; @@ -603,7 +591,7 @@ pkcs11rsa_createctx(dst_key_t *key, dst_context_t *dctx) { dctx->ctxdata.pk11_ctx = pk11_ctx; return (ISC_R_SUCCESS); - err: +err: pk11_return_session(pk11_ctx); isc_safe_memwipe(pk11_ctx, sizeof(*pk11_ctx)); isc_mem_put(dctx->mctx, pk11_ctx, sizeof(*pk11_ctx)); @@ -612,13 +600,14 @@ pkcs11rsa_createctx(dst_key_t *key, dst_context_t *dctx) { } static void -pkcs11rsa_destroyctx(dst_context_t *dctx) { - CK_BYTE garbage[ISC_SHA512_DIGESTLENGTH]; - CK_ULONG len = ISC_SHA512_DIGESTLENGTH; +pkcs11rsa_destroyctx(dst_context_t *dctx) +{ + CK_BYTE garbage[ISC_SHA512_DIGESTLENGTH]; + CK_ULONG len = ISC_SHA512_DIGESTLENGTH; pk11_context_t *pk11_ctx = dctx->ctxdata.pk11_ctx; if (pk11_ctx != NULL) { - (void) pkcs_C_DigestFinal(pk11_ctx->session, garbage, &len); + (void)pkcs_C_DigestFinal(pk11_ctx->session, garbage, &len); isc_safe_memwipe(garbage, sizeof(garbage)); pk11_return_session(pk11_ctx); isc_safe_memwipe(pk11_ctx, sizeof(*pk11_ctx)); @@ -628,57 +617,57 @@ pkcs11rsa_destroyctx(dst_context_t *dctx) { } static isc_result_t -pkcs11rsa_adddata(dst_context_t *dctx, const isc_region_t *data) { - CK_RV rv; +pkcs11rsa_adddata(dst_context_t *dctx, const isc_region_t *data) +{ + CK_RV rv; pk11_context_t *pk11_ctx = dctx->ctxdata.pk11_ctx; - isc_result_t ret = ISC_R_SUCCESS; + isc_result_t ret = ISC_R_SUCCESS; PK11_CALL(pkcs_C_DigestUpdate, - (pk11_ctx->session, - (CK_BYTE_PTR) data->base, - (CK_ULONG) data->length), + (pk11_ctx->session, (CK_BYTE_PTR)data->base, + (CK_ULONG)data->length), ISC_R_FAILURE); return (ret); } static isc_result_t -pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { - CK_RV rv; - CK_MECHANISM mech = { CKM_RSA_PKCS, NULL, 0 }; +pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) +{ + CK_RV rv; + CK_MECHANISM mech = { CKM_RSA_PKCS, NULL, 0 }; CK_OBJECT_HANDLE hKey = CK_INVALID_HANDLE; - CK_OBJECT_CLASS keyClass = CKO_PRIVATE_KEY; - CK_KEY_TYPE keyType = CKK_RSA; - CK_ATTRIBUTE keyTemplate[] = - { - { CKA_CLASS, &keyClass, (CK_ULONG) sizeof(keyClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_SENSITIVE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_SIGN, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_MODULUS, NULL, 0 }, - { CKA_PUBLIC_EXPONENT, NULL, 0 }, - { CKA_PRIVATE_EXPONENT, NULL, 0 }, - { CKA_PRIME_1, NULL, 0 }, - { CKA_PRIME_2, NULL, 0 }, - { CKA_EXPONENT_1, NULL, 0 }, - { CKA_EXPONENT_2, NULL, 0 }, - { CKA_COEFFICIENT, NULL, 0 } + CK_OBJECT_CLASS keyClass = CKO_PRIVATE_KEY; + CK_KEY_TYPE keyType = CKK_RSA; + CK_ATTRIBUTE keyTemplate[] = { + { CKA_CLASS, &keyClass, (CK_ULONG)sizeof(keyClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_SENSITIVE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_SIGN, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_MODULUS, NULL, 0 }, + { CKA_PUBLIC_EXPONENT, NULL, 0 }, + { CKA_PRIVATE_EXPONENT, NULL, 0 }, + { CKA_PRIME_1, NULL, 0 }, + { CKA_PRIME_2, NULL, 0 }, + { CKA_EXPONENT_1, NULL, 0 }, + { CKA_EXPONENT_2, NULL, 0 }, + { CKA_COEFFICIENT, NULL, 0 } }; - CK_ATTRIBUTE *attr; - CK_BYTE digest[MAX_DER_SIZE + ISC_SHA512_DIGESTLENGTH]; - CK_BYTE *der; - CK_ULONG derlen; - CK_ULONG hashlen; - CK_ULONG dgstlen; - CK_ULONG siglen = 0; + CK_ATTRIBUTE * attr; + CK_BYTE digest[MAX_DER_SIZE + ISC_SHA512_DIGESTLENGTH]; + CK_BYTE * der; + CK_ULONG derlen; + CK_ULONG hashlen; + CK_ULONG dgstlen; + CK_ULONG siglen = 0; pk11_context_t *pk11_ctx = dctx->ctxdata.pk11_ctx; - dst_key_t *key = dctx->key; - pk11_object_t *rsa = key->keydata.pkey; - isc_region_t r; - isc_result_t ret = ISC_R_SUCCESS; - unsigned int i; + dst_key_t * key = dctx->key; + pk11_object_t * rsa = key->keydata.pkey; + isc_region_t r; + isc_result_t ret = ISC_R_SUCCESS; + unsigned int i; REQUIRE(key->key_alg == DST_ALG_RSASHA1 || key->key_alg == DST_ALG_NSEC3RSASHA1 || @@ -698,8 +687,7 @@ pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { break; case DST_ALG_RSASHA256: /* From RFC 5702 */ - if ((dctx->key->key_size < 512) || - (dctx->key->key_size > 4096)) + if ((dctx->key->key_size < 512) || (dctx->key->key_size > 4096)) return (ISC_R_FAILURE); break; case DST_ALG_RSASHA512: @@ -743,7 +731,7 @@ pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { DST_R_SIGNFAILURE); isc_buffer_availableregion(sig, &r); - if (r.length < (unsigned int) dgstlen + MIN_PKCS1_PADLEN) + if (r.length < (unsigned int)dgstlen + MIN_PKCS1_PADLEN) return (ISC_R_NOSPACE); if (rsa->ontoken && (rsa->object != CK_INVALID_HANDLE)) { @@ -752,70 +740,69 @@ pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { goto token_key; } - for (attr = pk11_attribute_first(rsa); - attr != NULL; + for (attr = pk11_attribute_first(rsa); attr != NULL; attr = pk11_attribute_next(rsa, attr)) switch (attr->type) { case CKA_MODULUS: INSIST(keyTemplate[6].type == attr->type); - keyTemplate[6].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[6].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[6].pValue, attr->pValue, attr->ulValueLen); keyTemplate[6].ulValueLen = attr->ulValueLen; break; case CKA_PUBLIC_EXPONENT: INSIST(keyTemplate[7].type == attr->type); - keyTemplate[7].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[7].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[7].pValue, attr->pValue, attr->ulValueLen); keyTemplate[7].ulValueLen = attr->ulValueLen; break; case CKA_PRIVATE_EXPONENT: INSIST(keyTemplate[8].type == attr->type); - keyTemplate[8].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[8].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[8].pValue, attr->pValue, attr->ulValueLen); keyTemplate[8].ulValueLen = attr->ulValueLen; break; case CKA_PRIME_1: INSIST(keyTemplate[9].type == attr->type); - keyTemplate[9].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[9].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[9].pValue, attr->pValue, attr->ulValueLen); keyTemplate[9].ulValueLen = attr->ulValueLen; break; case CKA_PRIME_2: INSIST(keyTemplate[10].type == attr->type); - keyTemplate[10].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[10].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[10].pValue, attr->pValue, attr->ulValueLen); keyTemplate[10].ulValueLen = attr->ulValueLen; break; case CKA_EXPONENT_1: INSIST(keyTemplate[11].type == attr->type); - keyTemplate[11].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[11].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[11].pValue, attr->pValue, attr->ulValueLen); keyTemplate[11].ulValueLen = attr->ulValueLen; break; case CKA_EXPONENT_2: INSIST(keyTemplate[12].type == attr->type); - keyTemplate[12].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[12].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[12].pValue, attr->pValue, attr->ulValueLen); keyTemplate[12].ulValueLen = attr->ulValueLen; break; case CKA_COEFFICIENT: INSIST(keyTemplate[13].type == attr->type); - keyTemplate[13].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[13].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[13].pValue, attr->pValue, attr->ulValueLen); keyTemplate[13].ulValueLen = attr->ulValueLen; @@ -824,12 +811,10 @@ pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { pk11_ctx->object = CK_INVALID_HANDLE; pk11_ctx->ontoken = false; PK11_RET(pkcs_C_CreateObject, - (pk11_ctx->session, - keyTemplate, (CK_ULONG) 14, - &hKey), + (pk11_ctx->session, keyTemplate, (CK_ULONG)14, &hKey), ISC_R_FAILURE); - token_key: +token_key: PK11_RET(pkcs_C_SignInit, (pk11_ctx->session, &mech, @@ -837,31 +822,27 @@ pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { ISC_R_FAILURE); PK11_RET(pkcs_C_Sign, - (pk11_ctx->session, - digest, dgstlen, - NULL, &siglen), + (pk11_ctx->session, digest, dgstlen, NULL, &siglen), DST_R_SIGNFAILURE); - if (r.length < (unsigned int) siglen) + if (r.length < (unsigned int)siglen) return (ISC_R_NOSPACE); PK11_RET(pkcs_C_Sign, - (pk11_ctx->session, - digest, dgstlen, - (CK_BYTE_PTR) r.base, &siglen), + (pk11_ctx->session, digest, dgstlen, (CK_BYTE_PTR)r.base, + &siglen), DST_R_SIGNFAILURE); - isc_buffer_add(sig, (unsigned int) siglen); + isc_buffer_add(sig, (unsigned int)siglen); - err: +err: if (hKey != CK_INVALID_HANDLE) - (void) pkcs_C_DestroyObject(pk11_ctx->session, hKey); + (void)pkcs_C_DestroyObject(pk11_ctx->session, hKey); for (i = 6; i <= 13; i++) if (keyTemplate[i].pValue != NULL) { isc_safe_memwipe(keyTemplate[i].pValue, keyTemplate[i].ulValueLen); - isc_mem_put(dctx->mctx, - keyTemplate[i].pValue, + isc_mem_put(dctx->mctx, keyTemplate[i].pValue, keyTemplate[i].ulValueLen); } pk11_return_session(pk11_ctx); @@ -873,33 +854,33 @@ pkcs11rsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { } static isc_result_t -pkcs11rsa_verify(dst_context_t *dctx, const isc_region_t *sig) { - CK_RV rv; - CK_MECHANISM mech = { CKM_RSA_PKCS, NULL, 0 }; +pkcs11rsa_verify(dst_context_t *dctx, const isc_region_t *sig) +{ + CK_RV rv; + CK_MECHANISM mech = { CKM_RSA_PKCS, NULL, 0 }; CK_OBJECT_HANDLE hKey = CK_INVALID_HANDLE; - CK_OBJECT_CLASS keyClass = CKO_PUBLIC_KEY; - CK_KEY_TYPE keyType = CKK_RSA; - CK_ATTRIBUTE keyTemplate[] = - { - { CKA_CLASS, &keyClass, (CK_ULONG) sizeof(keyClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_VERIFY, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_MODULUS, NULL, 0 }, - { CKA_PUBLIC_EXPONENT, NULL, 0 }, + CK_OBJECT_CLASS keyClass = CKO_PUBLIC_KEY; + CK_KEY_TYPE keyType = CKK_RSA; + CK_ATTRIBUTE keyTemplate[] = { + { CKA_CLASS, &keyClass, (CK_ULONG)sizeof(keyClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_VERIFY, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_MODULUS, NULL, 0 }, + { CKA_PUBLIC_EXPONENT, NULL, 0 }, }; - CK_ATTRIBUTE *attr; - CK_BYTE digest[MAX_DER_SIZE + ISC_SHA512_DIGESTLENGTH]; - CK_BYTE *der; - CK_ULONG derlen; - CK_ULONG hashlen; - CK_ULONG dgstlen; + CK_ATTRIBUTE * attr; + CK_BYTE digest[MAX_DER_SIZE + ISC_SHA512_DIGESTLENGTH]; + CK_BYTE * der; + CK_ULONG derlen; + CK_ULONG hashlen; + CK_ULONG dgstlen; pk11_context_t *pk11_ctx = dctx->ctxdata.pk11_ctx; - dst_key_t *key = dctx->key; - pk11_object_t *rsa = key->keydata.pkey; - isc_result_t ret = ISC_R_SUCCESS; - unsigned int i; + dst_key_t * key = dctx->key; + pk11_object_t * rsa = key->keydata.pkey; + isc_result_t ret = ISC_R_SUCCESS; + unsigned int i; REQUIRE(key->key_alg == DST_ALG_RSASHA1 || key->key_alg == DST_ALG_NSEC3RSASHA1 || @@ -936,58 +917,51 @@ pkcs11rsa_verify(dst_context_t *dctx, const isc_region_t *sig) { (pk11_ctx->session, digest + derlen, &hashlen), DST_R_SIGNFAILURE); - for (attr = pk11_attribute_first(rsa); - attr != NULL; + for (attr = pk11_attribute_first(rsa); attr != NULL; attr = pk11_attribute_next(rsa, attr)) switch (attr->type) { case CKA_MODULUS: INSIST(keyTemplate[5].type == attr->type); - keyTemplate[5].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[5].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[5].pValue, attr->pValue, attr->ulValueLen); keyTemplate[5].ulValueLen = attr->ulValueLen; break; case CKA_PUBLIC_EXPONENT: INSIST(keyTemplate[6].type == attr->type); - keyTemplate[6].pValue = isc_mem_get(dctx->mctx, - attr->ulValueLen); + keyTemplate[6].pValue = + isc_mem_get(dctx->mctx, attr->ulValueLen); memmove(keyTemplate[6].pValue, attr->pValue, attr->ulValueLen); keyTemplate[6].ulValueLen = attr->ulValueLen; - if (pk11_numbits(attr->pValue, - attr->ulValueLen) - > RSA_MAX_PUBEXP_BITS) + if (pk11_numbits(attr->pValue, attr->ulValueLen) > + RSA_MAX_PUBEXP_BITS) DST_RET(DST_R_VERIFYFAILURE); break; } pk11_ctx->object = CK_INVALID_HANDLE; pk11_ctx->ontoken = false; PK11_RET(pkcs_C_CreateObject, - (pk11_ctx->session, - keyTemplate, (CK_ULONG) 7, - &hKey), + (pk11_ctx->session, keyTemplate, (CK_ULONG)7, &hKey), ISC_R_FAILURE); - PK11_RET(pkcs_C_VerifyInit, - (pk11_ctx->session, &mech, hKey), + PK11_RET(pkcs_C_VerifyInit, (pk11_ctx->session, &mech, hKey), ISC_R_FAILURE); PK11_RET(pkcs_C_Verify, - (pk11_ctx->session, - digest, dgstlen, - (CK_BYTE_PTR) sig->base, (CK_ULONG) sig->length), + (pk11_ctx->session, digest, dgstlen, (CK_BYTE_PTR)sig->base, + (CK_ULONG)sig->length), DST_R_VERIFYFAILURE); - err: +err: if (hKey != CK_INVALID_HANDLE) - (void) pkcs_C_DestroyObject(pk11_ctx->session, hKey); + (void)pkcs_C_DestroyObject(pk11_ctx->session, hKey); for (i = 5; i <= 6; i++) if (keyTemplate[i].pValue != NULL) { isc_safe_memwipe(keyTemplate[i].pValue, keyTemplate[i].ulValueLen); - isc_mem_put(dctx->mctx, - keyTemplate[i].pValue, + isc_mem_put(dctx->mctx, keyTemplate[i].pValue, keyTemplate[i].ulValueLen); } pk11_return_session(pk11_ctx); @@ -1000,9 +974,10 @@ pkcs11rsa_verify(dst_context_t *dctx, const isc_region_t *sig) { #endif static bool -pkcs11rsa_compare(const dst_key_t *key1, const dst_key_t *key2) { +pkcs11rsa_compare(const dst_key_t *key1, const dst_key_t *key2) +{ pk11_object_t *rsa1, *rsa2; - CK_ATTRIBUTE *attr1, *attr2; + CK_ATTRIBUTE * attr1, *attr2; rsa1 = key1->keydata.pkey; rsa2 = key2->keydata.pkey; @@ -1051,41 +1026,40 @@ pkcs11rsa_compare(const dst_key_t *key1, const dst_key_t *key2) { } static isc_result_t -pkcs11rsa_generate(dst_key_t *key, int exp, void (*callback)(int)) { - CK_RV rv; - CK_MECHANISM mech = { CKM_RSA_PKCS_KEY_PAIR_GEN, NULL, 0 }; +pkcs11rsa_generate(dst_key_t *key, int exp, void (*callback)(int)) +{ + CK_RV rv; + CK_MECHANISM mech = { CKM_RSA_PKCS_KEY_PAIR_GEN, NULL, 0 }; CK_OBJECT_HANDLE pub = CK_INVALID_HANDLE; - CK_ULONG bits = 0; - CK_BYTE pubexp[5]; - CK_OBJECT_CLASS pubClass = CKO_PUBLIC_KEY; - CK_KEY_TYPE keyType = CKK_RSA; - CK_ATTRIBUTE pubTemplate[] = - { - { CKA_CLASS, &pubClass, (CK_ULONG) sizeof(pubClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_VERIFY, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_MODULUS_BITS, &bits, (CK_ULONG) sizeof(bits) }, - { CKA_PUBLIC_EXPONENT, &pubexp, (CK_ULONG) sizeof(pubexp) } + CK_ULONG bits = 0; + CK_BYTE pubexp[5]; + CK_OBJECT_CLASS pubClass = CKO_PUBLIC_KEY; + CK_KEY_TYPE keyType = CKK_RSA; + CK_ATTRIBUTE pubTemplate[] = { + { CKA_CLASS, &pubClass, (CK_ULONG)sizeof(pubClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_VERIFY, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_MODULUS_BITS, &bits, (CK_ULONG)sizeof(bits) }, + { CKA_PUBLIC_EXPONENT, &pubexp, (CK_ULONG)sizeof(pubexp) } }; CK_OBJECT_HANDLE priv = CK_INVALID_HANDLE; - CK_OBJECT_CLASS privClass = CKO_PRIVATE_KEY; - CK_ATTRIBUTE privTemplate[] = - { - { CKA_CLASS, &privClass, (CK_ULONG) sizeof(privClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_PRIVATE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_SENSITIVE, &falsevalue, (CK_ULONG) sizeof(falsevalue) }, - { CKA_EXTRACTABLE, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_SIGN, &truevalue, (CK_ULONG) sizeof(truevalue) }, + CK_OBJECT_CLASS privClass = CKO_PRIVATE_KEY; + CK_ATTRIBUTE privTemplate[] = { + { CKA_CLASS, &privClass, (CK_ULONG)sizeof(privClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_PRIVATE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_SENSITIVE, &falsevalue, (CK_ULONG)sizeof(falsevalue) }, + { CKA_EXTRACTABLE, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_SIGN, &truevalue, (CK_ULONG)sizeof(truevalue) }, }; - CK_ATTRIBUTE *attr; - pk11_object_t *rsa; + CK_ATTRIBUTE * attr; + pk11_object_t * rsa; pk11_context_t *pk11_ctx; - isc_result_t ret; - unsigned int i; + isc_result_t ret; + unsigned int i; UNUSED(callback); @@ -1101,14 +1075,12 @@ pkcs11rsa_generate(dst_key_t *key, int exp, void (*callback)(int)) { break; case DST_ALG_RSASHA256: /* From RFC 5702 */ - if ((key->key_size < 512) || - (key->key_size > 4096)) + if ((key->key_size < 512) || (key->key_size > 4096)) return (ISC_R_FAILURE); break; case DST_ALG_RSASHA512: /* From RFC 5702 */ - if ((key->key_size < 1024) || - (key->key_size > 4096)) + if ((key->key_size < 1024) || (key->key_size > 4096)) return (ISC_R_FAILURE); break; default: @@ -1117,8 +1089,8 @@ pkcs11rsa_generate(dst_key_t *key, int exp, void (*callback)(int)) { } pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx)); - ret = pk11_get_session(pk11_ctx, OP_RSA, true, false, - false, NULL, pk11_get_best_token(OP_RSA)); + ret = pk11_get_session(pk11_ctx, OP_RSA, true, false, false, NULL, + pk11_get_best_token(OP_RSA)); if (ret != ISC_R_SUCCESS) goto err; @@ -1140,10 +1112,8 @@ pkcs11rsa_generate(dst_key_t *key, int exp, void (*callback)(int)) { } PK11_RET(pkcs_C_GenerateKeyPair, - (pk11_ctx->session, &mech, - pubTemplate, (CK_ULONG) 7, - privTemplate, (CK_ULONG) 7, - &pub, &priv), + (pk11_ctx->session, &mech, pubTemplate, (CK_ULONG)7, + privTemplate, (CK_ULONG)7, &pub, &priv), DST_R_CRYPTOFAILURE); rsa = isc_mem_get(key->mctx, sizeof(*rsa)); @@ -1163,43 +1133,39 @@ pkcs11rsa_generate(dst_key_t *key, int exp, void (*callback)(int)) { attr[6].type = CKA_EXPONENT_2; attr[7].type = CKA_COEFFICIENT; - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, pub, attr, 2), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, pub, attr, 2), DST_R_CRYPTOFAILURE); for (i = 0; i <= 1; i++) { attr[i].pValue = isc_mem_get(key->mctx, attr[i].ulValueLen); memset(attr[i].pValue, 0, attr[i].ulValueLen); } - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, pub, attr, 2), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, pub, attr, 2), DST_R_CRYPTOFAILURE); attr += 2; - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, priv, attr, 6), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, priv, attr, 6), DST_R_CRYPTOFAILURE); for (i = 0; i <= 5; i++) { attr[i].pValue = isc_mem_get(key->mctx, attr[i].ulValueLen); memset(attr[i].pValue, 0, attr[i].ulValueLen); } - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, priv, attr, 6), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, priv, attr, 6), DST_R_CRYPTOFAILURE); - (void) pkcs_C_DestroyObject(pk11_ctx->session, priv); - (void) pkcs_C_DestroyObject(pk11_ctx->session, pub); + (void)pkcs_C_DestroyObject(pk11_ctx->session, priv); + (void)pkcs_C_DestroyObject(pk11_ctx->session, pub); pk11_return_session(pk11_ctx); isc_safe_memwipe(pk11_ctx, sizeof(*pk11_ctx)); isc_mem_put(key->mctx, pk11_ctx, sizeof(*pk11_ctx)); return (ISC_R_SUCCESS); - err: +err: pkcs11rsa_destroy(key); if (priv != CK_INVALID_HANDLE) - (void) pkcs_C_DestroyObject(pk11_ctx->session, priv); + (void)pkcs_C_DestroyObject(pk11_ctx->session, priv); if (pub != CK_INVALID_HANDLE) - (void) pkcs_C_DestroyObject(pk11_ctx->session, pub); + (void)pkcs_C_DestroyObject(pk11_ctx->session, pub); pk11_return_session(pk11_ctx); isc_safe_memwipe(pk11_ctx, sizeof(*pk11_ctx)); isc_mem_put(key->mctx, pk11_ctx, sizeof(*pk11_ctx)); @@ -1208,9 +1174,10 @@ pkcs11rsa_generate(dst_key_t *key, int exp, void (*callback)(int)) { } static bool -pkcs11rsa_isprivate(const dst_key_t *key) { +pkcs11rsa_isprivate(const dst_key_t *key) +{ pk11_object_t *rsa = key->keydata.pkey; - CK_ATTRIBUTE *attr; + CK_ATTRIBUTE * attr; if (rsa == NULL) return (false); @@ -1219,17 +1186,17 @@ pkcs11rsa_isprivate(const dst_key_t *key) { } static void -pkcs11rsa_destroy(dst_key_t *key) { +pkcs11rsa_destroy(dst_key_t *key) +{ pk11_object_t *rsa = key->keydata.pkey; - CK_ATTRIBUTE *attr; + CK_ATTRIBUTE * attr; if (rsa == NULL) return; INSIST((rsa->object == CK_INVALID_HANDLE) || rsa->ontoken); - for (attr = pk11_attribute_first(rsa); - attr != NULL; + for (attr = pk11_attribute_first(rsa); attr != NULL; attr = pk11_attribute_next(rsa, attr)) switch (attr->type) { case CKA_LABEL: @@ -1245,17 +1212,14 @@ pkcs11rsa_destroy(dst_key_t *key) { if (attr->pValue != NULL) { isc_safe_memwipe(attr->pValue, attr->ulValueLen); - isc_mem_put(key->mctx, - attr->pValue, + isc_mem_put(key->mctx, attr->pValue, attr->ulValueLen); } break; } if (rsa->repr != NULL) { isc_safe_memwipe(rsa->repr, rsa->attrcnt * sizeof(*attr)); - isc_mem_put(key->mctx, - rsa->repr, - rsa->attrcnt * sizeof(*attr)); + isc_mem_put(key->mctx, rsa->repr, rsa->attrcnt * sizeof(*attr)); } isc_safe_memwipe(rsa, sizeof(*rsa)); isc_mem_put(key->mctx, rsa, sizeof(*rsa)); @@ -1263,44 +1227,44 @@ pkcs11rsa_destroy(dst_key_t *key) { } static isc_result_t -pkcs11rsa_todns(const dst_key_t *key, isc_buffer_t *data) { +pkcs11rsa_todns(const dst_key_t *key, isc_buffer_t *data) +{ pk11_object_t *rsa; - CK_ATTRIBUTE *attr; - isc_region_t r; - unsigned int e_bytes = 0, mod_bytes = 0; - CK_BYTE *exponent = NULL, *modulus = NULL; + CK_ATTRIBUTE * attr; + isc_region_t r; + unsigned int e_bytes = 0, mod_bytes = 0; + CK_BYTE * exponent = NULL, *modulus = NULL; REQUIRE(key->keydata.pkey != NULL); rsa = key->keydata.pkey; - for (attr = pk11_attribute_first(rsa); - attr != NULL; + for (attr = pk11_attribute_first(rsa); attr != NULL; attr = pk11_attribute_next(rsa, attr)) switch (attr->type) { case CKA_PUBLIC_EXPONENT: - exponent = (CK_BYTE *) attr->pValue; - e_bytes = (unsigned int) attr->ulValueLen; + exponent = (CK_BYTE *)attr->pValue; + e_bytes = (unsigned int)attr->ulValueLen; break; case CKA_MODULUS: - modulus = (CK_BYTE *) attr->pValue; - mod_bytes = (unsigned int) attr->ulValueLen; + modulus = (CK_BYTE *)attr->pValue; + mod_bytes = (unsigned int)attr->ulValueLen; break; } REQUIRE((exponent != NULL) && (modulus != NULL)); isc_buffer_availableregion(data, &r); - if (e_bytes < 256) { /*%< key exponent is <= 2040 bits */ + if (e_bytes < 256) { /*%< key exponent is <= 2040 bits */ if (r.length < 1) return (ISC_R_NOSPACE); - isc_buffer_putuint8(data, (uint8_t) e_bytes); + isc_buffer_putuint8(data, (uint8_t)e_bytes); isc_region_consume(&r, 1); } else { if (r.length < 3) return (ISC_R_NOSPACE); isc_buffer_putuint8(data, 0); - isc_buffer_putuint16(data, (uint16_t) e_bytes); + isc_buffer_putuint16(data, (uint16_t)e_bytes); isc_region_consume(&r, 3); } @@ -1317,13 +1281,14 @@ pkcs11rsa_todns(const dst_key_t *key, isc_buffer_t *data) { } static isc_result_t -pkcs11rsa_fromdns(dst_key_t *key, isc_buffer_t *data) { +pkcs11rsa_fromdns(dst_key_t *key, isc_buffer_t *data) +{ pk11_object_t *rsa; - isc_region_t r; - unsigned int e_bytes, mod_bytes; - CK_BYTE *exponent = NULL, *modulus = NULL; - CK_ATTRIBUTE *attr; - unsigned int length; + isc_region_t r; + unsigned int e_bytes, mod_bytes; + CK_BYTE * exponent = NULL, *modulus = NULL; + CK_ATTRIBUTE * attr; + unsigned int length; isc_buffer_remainingregion(data, &r); if (r.length == 0) @@ -1370,11 +1335,11 @@ pkcs11rsa_fromdns(dst_key_t *key, isc_buffer_t *data) { attr[0].type = CKA_MODULUS; attr[0].pValue = isc_mem_get(key->mctx, mod_bytes); memmove(attr[0].pValue, modulus, mod_bytes); - attr[0].ulValueLen = (CK_ULONG) mod_bytes; + attr[0].ulValueLen = (CK_ULONG)mod_bytes; attr[1].type = CKA_PUBLIC_EXPONENT; attr[1].pValue = isc_mem_get(key->mctx, e_bytes); memmove(attr[1].pValue, exponent, e_bytes); - attr[1].ulValueLen = (CK_ULONG) e_bytes; + attr[1].ulValueLen = (CK_ULONG)e_bytes; key->keydata.pkey = rsa; @@ -1382,16 +1347,17 @@ pkcs11rsa_fromdns(dst_key_t *key, isc_buffer_t *data) { } static isc_result_t -pkcs11rsa_tofile(const dst_key_t *key, const char *directory) { - int i; +pkcs11rsa_tofile(const dst_key_t *key, const char *directory) +{ + int i; pk11_object_t *rsa; - CK_ATTRIBUTE *attr; - CK_ATTRIBUTE *modulus = NULL, *exponent = NULL; - CK_ATTRIBUTE *d = NULL, *p = NULL, *q = NULL; - CK_ATTRIBUTE *dmp1 = NULL, *dmq1 = NULL, *iqmp = NULL; - dst_private_t priv; + CK_ATTRIBUTE * attr; + CK_ATTRIBUTE * modulus = NULL, *exponent = NULL; + CK_ATTRIBUTE * d = NULL, *p = NULL, *q = NULL; + CK_ATTRIBUTE * dmp1 = NULL, *dmq1 = NULL, *iqmp = NULL; + dst_private_t priv; unsigned char *bufs[10]; - isc_result_t result; + isc_result_t result; if (key->keydata.pkey == NULL) return (DST_R_NULLKEY); @@ -1403,8 +1369,7 @@ pkcs11rsa_tofile(const dst_key_t *key, const char *directory) { rsa = key->keydata.pkey; - for (attr = pk11_attribute_first(rsa); - attr != NULL; + for (attr = pk11_attribute_first(rsa); attr != NULL; attr = pk11_attribute_next(rsa, attr)) switch (attr->type) { case CKA_MODULUS: @@ -1445,20 +1410,20 @@ pkcs11rsa_tofile(const dst_key_t *key, const char *directory) { i = 0; priv.elements[i].tag = TAG_RSA_MODULUS; - priv.elements[i].length = (unsigned short) modulus->ulValueLen; + priv.elements[i].length = (unsigned short)modulus->ulValueLen; memmove(bufs[i], modulus->pValue, modulus->ulValueLen); priv.elements[i].data = bufs[i]; i++; priv.elements[i].tag = TAG_RSA_PUBLICEXPONENT; - priv.elements[i].length = (unsigned short) exponent->ulValueLen; + priv.elements[i].length = (unsigned short)exponent->ulValueLen; memmove(bufs[i], exponent->pValue, exponent->ulValueLen); priv.elements[i].data = bufs[i]; i++; if (d != NULL) { priv.elements[i].tag = TAG_RSA_PRIVATEEXPONENT; - priv.elements[i].length = (unsigned short) d->ulValueLen; + priv.elements[i].length = (unsigned short)d->ulValueLen; memmove(bufs[i], d->pValue, d->ulValueLen); priv.elements[i].data = bufs[i]; i++; @@ -1466,7 +1431,7 @@ pkcs11rsa_tofile(const dst_key_t *key, const char *directory) { if (p != NULL) { priv.elements[i].tag = TAG_RSA_PRIME1; - priv.elements[i].length = (unsigned short) p->ulValueLen; + priv.elements[i].length = (unsigned short)p->ulValueLen; memmove(bufs[i], p->pValue, p->ulValueLen); priv.elements[i].data = bufs[i]; i++; @@ -1474,7 +1439,7 @@ pkcs11rsa_tofile(const dst_key_t *key, const char *directory) { if (q != NULL) { priv.elements[i].tag = TAG_RSA_PRIME2; - priv.elements[i].length = (unsigned short) q->ulValueLen; + priv.elements[i].length = (unsigned short)q->ulValueLen; memmove(bufs[i], q->pValue, q->ulValueLen); priv.elements[i].data = bufs[i]; i++; @@ -1482,7 +1447,7 @@ pkcs11rsa_tofile(const dst_key_t *key, const char *directory) { if (dmp1 != NULL) { priv.elements[i].tag = TAG_RSA_EXPONENT1; - priv.elements[i].length = (unsigned short) dmp1->ulValueLen; + priv.elements[i].length = (unsigned short)dmp1->ulValueLen; memmove(bufs[i], dmp1->pValue, dmp1->ulValueLen); priv.elements[i].data = bufs[i]; i++; @@ -1490,7 +1455,7 @@ pkcs11rsa_tofile(const dst_key_t *key, const char *directory) { if (dmq1 != NULL) { priv.elements[i].tag = TAG_RSA_EXPONENT2; - priv.elements[i].length = (unsigned short) dmq1->ulValueLen; + priv.elements[i].length = (unsigned short)dmq1->ulValueLen; memmove(bufs[i], dmq1->pValue, dmq1->ulValueLen); priv.elements[i].data = bufs[i]; i++; @@ -1498,7 +1463,7 @@ pkcs11rsa_tofile(const dst_key_t *key, const char *directory) { if (iqmp != NULL) { priv.elements[i].tag = TAG_RSA_COEFFICIENT; - priv.elements[i].length = (unsigned short) iqmp->ulValueLen; + priv.elements[i].length = (unsigned short)iqmp->ulValueLen; memmove(bufs[i], iqmp->pValue, iqmp->ulValueLen); priv.elements[i].data = bufs[i]; i++; @@ -1535,23 +1500,22 @@ static isc_result_t pkcs11rsa_fetch(dst_key_t *key, const char *engine, const char *label, dst_key_t *pub) { - CK_RV rv; + CK_RV rv; CK_OBJECT_CLASS keyClass = CKO_PRIVATE_KEY; - CK_KEY_TYPE keyType = CKK_RSA; - CK_ATTRIBUTE searchTemplate[] = - { - { CKA_CLASS, &keyClass, (CK_ULONG) sizeof(keyClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_LABEL, NULL, 0 } + CK_KEY_TYPE keyType = CKK_RSA; + CK_ATTRIBUTE searchTemplate[] = { + { CKA_CLASS, &keyClass, (CK_ULONG)sizeof(keyClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_LABEL, NULL, 0 } }; - CK_ULONG cnt; - CK_ATTRIBUTE *attr; - CK_ATTRIBUTE *pubattr; - pk11_object_t *rsa; - pk11_object_t *pubrsa; + CK_ULONG cnt; + CK_ATTRIBUTE * attr; + CK_ATTRIBUTE * pubattr; + pk11_object_t * rsa; + pk11_object_t * pubrsa; pk11_context_t *pk11_ctx = NULL; - isc_result_t ret; + isc_result_t ret; if (label == NULL) return (DST_R_NOENGINE); @@ -1587,8 +1551,8 @@ pkcs11rsa_fetch(dst_key_t *key, const char *engine, const char *label, goto err; pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx)); - ret = pk11_get_session(pk11_ctx, OP_RSA, true, false, - rsa->reqlogon, NULL, rsa->slot); + ret = pk11_get_session(pk11_ctx, OP_RSA, true, false, rsa->reqlogon, + NULL, rsa->slot); if (ret != ISC_R_SUCCESS) goto err; @@ -1602,12 +1566,12 @@ pkcs11rsa_fetch(dst_key_t *key, const char *engine, const char *label, searchTemplate[3].ulValueLen = attr->ulValueLen; PK11_RET(pkcs_C_FindObjectsInit, - (pk11_ctx->session, searchTemplate, (CK_ULONG) 4), + (pk11_ctx->session, searchTemplate, (CK_ULONG)4), DST_R_CRYPTOFAILURE); PK11_RET(pkcs_C_FindObjects, - (pk11_ctx->session, &rsa->object, (CK_ULONG) 1, &cnt), + (pk11_ctx->session, &rsa->object, (CK_ULONG)1, &cnt), DST_R_CRYPTOFAILURE); - (void) pkcs_C_FindObjectsFinal(pk11_ctx->session); + (void)pkcs_C_FindObjectsFinal(pk11_ctx->session); if (cnt == 0) DST_RET(ISC_R_NOTFOUND); if (cnt > 1) @@ -1629,7 +1593,7 @@ pkcs11rsa_fetch(dst_key_t *key, const char *engine, const char *label, return (ISC_R_SUCCESS); - err: +err: if (pk11_ctx != NULL) { pk11_return_session(pk11_ctx); isc_safe_memwipe(pk11_ctx, sizeof(*pk11_ctx)); @@ -1640,12 +1604,13 @@ pkcs11rsa_fetch(dst_key_t *key, const char *engine, const char *label, } static isc_result_t -rsa_check(pk11_object_t *rsa, pk11_object_t *pubrsa) { +rsa_check(pk11_object_t *rsa, pk11_object_t *pubrsa) +{ CK_ATTRIBUTE *pubattr, *privattr; - CK_BYTE *priv_exp = NULL, *priv_mod = NULL; - CK_BYTE *pub_exp = NULL, *pub_mod = NULL; - unsigned int priv_explen = 0, priv_modlen = 0; - unsigned int pub_explen = 0, pub_modlen = 0; + CK_BYTE * priv_exp = NULL, *priv_mod = NULL; + CK_BYTE * pub_exp = NULL, *pub_mod = NULL; + unsigned int priv_explen = 0, priv_modlen = 0; + unsigned int pub_explen = 0, pub_modlen = 0; REQUIRE(rsa != NULL && pubrsa != NULL); @@ -1703,14 +1668,15 @@ rsa_check(pk11_object_t *rsa, pk11_object_t *pubrsa) { } static isc_result_t -pkcs11rsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { - dst_private_t priv; - isc_result_t ret; - int i; +pkcs11rsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) +{ + dst_private_t priv; + isc_result_t ret; + int i; pk11_object_t *rsa; - CK_ATTRIBUTE *attr; - isc_mem_t *mctx = key->mctx; - const char *engine = NULL, *label = NULL; + CK_ATTRIBUTE * attr; + isc_mem_t * mctx = key->mctx; + const char * engine = NULL, *label = NULL; /* read private key file */ ret = dst__privstruct_parse(key, DST_ALG_RSA, lexer, mctx, &priv); @@ -1787,59 +1753,54 @@ pkcs11rsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { } switch (priv.elements[i].tag) { - case TAG_RSA_MODULUS: - attr = pk11_attribute_bytype(rsa, CKA_MODULUS); - INSIST(attr != NULL); - attr->pValue = bn; - attr->ulValueLen = priv.elements[i].length; - break; - case TAG_RSA_PUBLICEXPONENT: - attr = pk11_attribute_bytype(rsa, - CKA_PUBLIC_EXPONENT); - INSIST(attr != NULL); - attr->pValue = bn; - attr->ulValueLen = priv.elements[i].length; - break; - case TAG_RSA_PRIVATEEXPONENT: - attr = pk11_attribute_bytype(rsa, - CKA_PRIVATE_EXPONENT); - INSIST(attr != NULL); - attr->pValue = bn; - attr->ulValueLen = priv.elements[i].length; - break; - case TAG_RSA_PRIME1: - attr = pk11_attribute_bytype(rsa, CKA_PRIME_1); - INSIST(attr != NULL); - attr->pValue = bn; - attr->ulValueLen = priv.elements[i].length; - break; - case TAG_RSA_PRIME2: - attr = pk11_attribute_bytype(rsa, CKA_PRIME_2); - INSIST(attr != NULL); - attr->pValue = bn; - attr->ulValueLen = priv.elements[i].length; - break; - case TAG_RSA_EXPONENT1: - attr = pk11_attribute_bytype(rsa, - CKA_EXPONENT_1); - INSIST(attr != NULL); - attr->pValue = bn; - attr->ulValueLen = priv.elements[i].length; - break; - case TAG_RSA_EXPONENT2: - attr = pk11_attribute_bytype(rsa, - CKA_EXPONENT_2); - INSIST(attr != NULL); - attr->pValue = bn; - attr->ulValueLen = priv.elements[i].length; - break; - case TAG_RSA_COEFFICIENT: - attr = pk11_attribute_bytype(rsa, - CKA_COEFFICIENT); - INSIST(attr != NULL); - attr->pValue = bn; - attr->ulValueLen = priv.elements[i].length; - break; + case TAG_RSA_MODULUS: + attr = pk11_attribute_bytype(rsa, CKA_MODULUS); + INSIST(attr != NULL); + attr->pValue = bn; + attr->ulValueLen = priv.elements[i].length; + break; + case TAG_RSA_PUBLICEXPONENT: + attr = pk11_attribute_bytype(rsa, CKA_PUBLIC_EXPONENT); + INSIST(attr != NULL); + attr->pValue = bn; + attr->ulValueLen = priv.elements[i].length; + break; + case TAG_RSA_PRIVATEEXPONENT: + attr = pk11_attribute_bytype(rsa, CKA_PRIVATE_EXPONENT); + INSIST(attr != NULL); + attr->pValue = bn; + attr->ulValueLen = priv.elements[i].length; + break; + case TAG_RSA_PRIME1: + attr = pk11_attribute_bytype(rsa, CKA_PRIME_1); + INSIST(attr != NULL); + attr->pValue = bn; + attr->ulValueLen = priv.elements[i].length; + break; + case TAG_RSA_PRIME2: + attr = pk11_attribute_bytype(rsa, CKA_PRIME_2); + INSIST(attr != NULL); + attr->pValue = bn; + attr->ulValueLen = priv.elements[i].length; + break; + case TAG_RSA_EXPONENT1: + attr = pk11_attribute_bytype(rsa, CKA_EXPONENT_1); + INSIST(attr != NULL); + attr->pValue = bn; + attr->ulValueLen = priv.elements[i].length; + break; + case TAG_RSA_EXPONENT2: + attr = pk11_attribute_bytype(rsa, CKA_EXPONENT_2); + INSIST(attr != NULL); + attr->pValue = bn; + attr->ulValueLen = priv.elements[i].length; + break; + case TAG_RSA_COEFFICIENT: + attr = pk11_attribute_bytype(rsa, CKA_COEFFICIENT); + INSIST(attr != NULL); + attr->pValue = bn; + attr->ulValueLen = priv.elements[i].length; + break; } } @@ -1860,7 +1821,7 @@ pkcs11rsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) { return (ISC_R_SUCCESS); - err: +err: pkcs11rsa_destroy(key); dst__privstruct_free(&priv, mctx); isc_safe_memwipe(&priv, sizeof(priv)); @@ -1871,23 +1832,22 @@ static isc_result_t pkcs11rsa_fromlabel(dst_key_t *key, const char *engine, const char *label, const char *pin) { - CK_RV rv; + CK_RV rv; CK_OBJECT_HANDLE hKey = CK_INVALID_HANDLE; - CK_OBJECT_CLASS keyClass = CKO_PUBLIC_KEY; - CK_KEY_TYPE keyType = CKK_RSA; - CK_ATTRIBUTE searchTemplate[] = - { - { CKA_CLASS, &keyClass, (CK_ULONG) sizeof(keyClass) }, - { CKA_KEY_TYPE, &keyType, (CK_ULONG) sizeof(keyType) }, - { CKA_TOKEN, &truevalue, (CK_ULONG) sizeof(truevalue) }, - { CKA_LABEL, NULL, 0 } + CK_OBJECT_CLASS keyClass = CKO_PUBLIC_KEY; + CK_KEY_TYPE keyType = CKK_RSA; + CK_ATTRIBUTE searchTemplate[] = { + { CKA_CLASS, &keyClass, (CK_ULONG)sizeof(keyClass) }, + { CKA_KEY_TYPE, &keyType, (CK_ULONG)sizeof(keyType) }, + { CKA_TOKEN, &truevalue, (CK_ULONG)sizeof(truevalue) }, + { CKA_LABEL, NULL, 0 } }; - CK_ULONG cnt; - CK_ATTRIBUTE *attr; - pk11_object_t *rsa; + CK_ULONG cnt; + CK_ATTRIBUTE * attr; + pk11_object_t * rsa; pk11_context_t *pk11_ctx = NULL; - isc_result_t ret; - unsigned int i; + isc_result_t ret; + unsigned int i; UNUSED(pin); @@ -1910,8 +1870,8 @@ pkcs11rsa_fromlabel(dst_key_t *key, const char *engine, const char *label, goto err; pk11_ctx = isc_mem_get(key->mctx, sizeof(*pk11_ctx)); - ret = pk11_get_session(pk11_ctx, OP_RSA, true, false, - rsa->reqlogon, NULL, rsa->slot); + ret = pk11_get_session(pk11_ctx, OP_RSA, true, false, rsa->reqlogon, + NULL, rsa->slot); if (ret != ISC_R_SUCCESS) goto err; @@ -1925,37 +1885,35 @@ pkcs11rsa_fromlabel(dst_key_t *key, const char *engine, const char *label, searchTemplate[3].ulValueLen = attr->ulValueLen; PK11_RET(pkcs_C_FindObjectsInit, - (pk11_ctx->session, searchTemplate, (CK_ULONG) 4), + (pk11_ctx->session, searchTemplate, (CK_ULONG)4), DST_R_CRYPTOFAILURE); PK11_RET(pkcs_C_FindObjects, - (pk11_ctx->session, &hKey, (CK_ULONG) 1, &cnt), + (pk11_ctx->session, &hKey, (CK_ULONG)1, &cnt), DST_R_CRYPTOFAILURE); - (void) pkcs_C_FindObjectsFinal(pk11_ctx->session); + (void)pkcs_C_FindObjectsFinal(pk11_ctx->session); if (cnt == 0) DST_RET(ISC_R_NOTFOUND); if (cnt > 1) DST_RET(ISC_R_EXISTS); attr = rsa->repr; - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, hKey, attr, 2), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, hKey, attr, 2), DST_R_CRYPTOFAILURE); for (i = 0; i <= 1; i++) { attr[i].pValue = isc_mem_get(key->mctx, attr[i].ulValueLen); memset(attr[i].pValue, 0, attr[i].ulValueLen); } - PK11_RET(pkcs_C_GetAttributeValue, - (pk11_ctx->session, hKey, attr, 2), + PK11_RET(pkcs_C_GetAttributeValue, (pk11_ctx->session, hKey, attr, 2), DST_R_CRYPTOFAILURE); keyClass = CKO_PRIVATE_KEY; PK11_RET(pkcs_C_FindObjectsInit, - (pk11_ctx->session, searchTemplate, (CK_ULONG) 4), + (pk11_ctx->session, searchTemplate, (CK_ULONG)4), DST_R_CRYPTOFAILURE); PK11_RET(pkcs_C_FindObjects, - (pk11_ctx->session, &rsa->object, (CK_ULONG) 1, &cnt), + (pk11_ctx->session, &rsa->object, (CK_ULONG)1, &cnt), DST_R_CRYPTOFAILURE); - (void) pkcs_C_FindObjectsFinal(pk11_ctx->session); + (void)pkcs_C_FindObjectsFinal(pk11_ctx->session); if (cnt == 0) DST_RET(ISC_R_NOTFOUND); if (cnt > 1) @@ -1982,7 +1940,7 @@ pkcs11rsa_fromlabel(dst_key_t *key, const char *engine, const char *label, return (ISC_R_SUCCESS); - err: +err: pkcs11rsa_destroy(key); if (pk11_ctx != NULL) { pk11_return_session(pk11_ctx); @@ -2022,7 +1980,8 @@ static dst_func_t pkcs11rsa_functions = { }; isc_result_t -dst__pkcs11rsa_init(dst_func_t **funcp) { +dst__pkcs11rsa_init(dst_func_t **funcp) +{ REQUIRE(funcp != NULL); if (*funcp == NULL) diff --git a/lib/dns/portlist.c b/lib/dns/portlist.c index 319828c7a8..d03ebe2d9d 100644 --- a/lib/dns/portlist.c +++ b/lib/dns/portlist.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -26,33 +25,34 @@ #include #include -#include #include +#include -#define DNS_PORTLIST_MAGIC ISC_MAGIC('P','L','S','T') -#define DNS_VALID_PORTLIST(p) ISC_MAGIC_VALID(p, DNS_PORTLIST_MAGIC) +#define DNS_PORTLIST_MAGIC ISC_MAGIC('P', 'L', 'S', 'T') +#define DNS_VALID_PORTLIST(p) ISC_MAGIC_VALID(p, DNS_PORTLIST_MAGIC) typedef struct dns_element { - in_port_t port; - uint16_t flags; + in_port_t port; + uint16_t flags; } dns_element_t; struct dns_portlist { - unsigned int magic; - isc_mem_t *mctx; - isc_refcount_t refcount; - isc_mutex_t lock; - dns_element_t *list; - unsigned int allocated; - unsigned int active; + unsigned int magic; + isc_mem_t * mctx; + isc_refcount_t refcount; + isc_mutex_t lock; + dns_element_t *list; + unsigned int allocated; + unsigned int active; }; -#define DNS_PL_INET 0x0001 -#define DNS_PL_INET6 0x0002 -#define DNS_PL_ALLOCATE 16 +#define DNS_PL_INET 0x0001 +#define DNS_PL_INET6 0x0002 +#define DNS_PL_ALLOCATE 16 static int -compare(const void *arg1, const void *arg2) { +compare(const void *arg1, const void *arg2) +{ const dns_element_t *e1 = (const dns_element_t *)arg1; const dns_element_t *e2 = (const dns_element_t *)arg2; @@ -64,7 +64,8 @@ compare(const void *arg1, const void *arg2) { } isc_result_t -dns_portlist_create(isc_mem_t *mctx, dns_portlist_t **portlistp) { +dns_portlist_create(isc_mem_t *mctx, dns_portlist_t **portlistp) +{ dns_portlist_t *portlist; REQUIRE(portlistp != NULL && *portlistp == NULL); @@ -83,7 +84,8 @@ dns_portlist_create(isc_mem_t *mctx, dns_portlist_t **portlistp) { } static dns_element_t * -find_port(dns_element_t *list, unsigned int len, in_port_t port) { +find_port(dns_element_t *list, unsigned int len, in_port_t port) +{ unsigned int xtry = len / 2; unsigned int min = 0; unsigned int max = len - 1; @@ -116,9 +118,10 @@ find_port(dns_element_t *list, unsigned int len, in_port_t port) { } isc_result_t -dns_portlist_add(dns_portlist_t *portlist, int af, in_port_t port) { +dns_portlist_add(dns_portlist_t *portlist, int af, in_port_t port) +{ dns_element_t *el; - isc_result_t result; + isc_result_t result; REQUIRE(DNS_VALID_PORTLIST(portlist)); REQUIRE(af == AF_INET || af == AF_INET6); @@ -157,13 +160,14 @@ dns_portlist_add(dns_portlist_t *portlist, int af, in_port_t port) { portlist->active++; qsort(portlist->list, portlist->active, sizeof(*el), compare); result = ISC_R_SUCCESS; - unlock: +unlock: UNLOCK(&portlist->lock); return (result); } void -dns_portlist_remove(dns_portlist_t *portlist, int af, in_port_t port) { +dns_portlist_remove(dns_portlist_t *portlist, int af, in_port_t port) +{ dns_element_t *el; REQUIRE(DNS_VALID_PORTLIST(portlist)); @@ -189,9 +193,10 @@ dns_portlist_remove(dns_portlist_t *portlist, int af, in_port_t port) { } bool -dns_portlist_match(dns_portlist_t *portlist, int af, in_port_t port) { +dns_portlist_match(dns_portlist_t *portlist, int af, in_port_t port) +{ dns_element_t *el; - bool result = false; + bool result = false; REQUIRE(DNS_VALID_PORTLIST(portlist)); REQUIRE(af == AF_INET || af == AF_INET6); @@ -210,8 +215,8 @@ dns_portlist_match(dns_portlist_t *portlist, int af, in_port_t port) { } void -dns_portlist_attach(dns_portlist_t *portlist, dns_portlist_t **portlistp) { - +dns_portlist_attach(dns_portlist_t *portlist, dns_portlist_t **portlistp) +{ REQUIRE(DNS_VALID_PORTLIST(portlist)); REQUIRE(portlistp != NULL && *portlistp == NULL); @@ -220,7 +225,8 @@ dns_portlist_attach(dns_portlist_t *portlist, dns_portlist_t **portlistp) { } void -dns_portlist_detach(dns_portlist_t **portlistp) { +dns_portlist_detach(dns_portlist_t **portlistp) +{ REQUIRE(portlistp != NULL && DNS_VALID_PORTLIST(*portlistp)); dns_portlist_t *portlist = *portlistp; *portlistp = NULL; @@ -231,7 +237,7 @@ dns_portlist_detach(dns_portlist_t **portlistp) { if (portlist->list != NULL) isc_mem_put(portlist->mctx, portlist->list, portlist->allocated * - sizeof(*portlist->list)); + sizeof(*portlist->list)); isc_mutex_destroy(&portlist->lock); isc_mem_putanddetach(&portlist->mctx, portlist, sizeof(*portlist)); diff --git a/lib/dns/private.c b/lib/dns/private.c index 13a8ac024f..46fe1847b4 100644 --- a/lib/dns/private.c +++ b/lib/dns/private.c @@ -37,16 +37,17 @@ * been requested to be built otherwise a NSEC chain needs to be built. */ -#define REMOVE(x) (((x) & DNS_NSEC3FLAG_REMOVE) != 0) -#define CREATE(x) (((x) & DNS_NSEC3FLAG_CREATE) != 0) -#define INITIAL(x) (((x) & DNS_NSEC3FLAG_INITIAL) != 0) -#define NONSEC(x) (((x) & DNS_NSEC3FLAG_NONSEC) != 0) +#define REMOVE(x) (((x)&DNS_NSEC3FLAG_REMOVE) != 0) +#define CREATE(x) (((x)&DNS_NSEC3FLAG_CREATE) != 0) +#define INITIAL(x) (((x)&DNS_NSEC3FLAG_INITIAL) != 0) +#define NONSEC(x) (((x)&DNS_NSEC3FLAG_NONSEC) != 0) -#define CHECK(x) do { \ - result = (x); \ - if (result != ISC_R_SUCCESS) \ - goto failure; \ - } while (0) +#define CHECK(x) \ + do { \ + result = (x); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ + } while (0) /* * Work out if 'param' should be ignored or not (i.e. it is in the process @@ -57,19 +58,19 @@ */ static bool -ignore(dns_rdata_t *param, dns_rdataset_t *privateset) { +ignore(dns_rdata_t *param, dns_rdataset_t *privateset) +{ isc_result_t result; - for (result = dns_rdataset_first(privateset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(privateset); result == ISC_R_SUCCESS; result = dns_rdataset_next(privateset)) { unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE]; dns_rdata_t private = DNS_RDATA_INIT; dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(privateset, &private); - if (!dns_nsec3param_fromprivate(&private, &rdata, - buf, sizeof(buf))) + if (!dns_nsec3param_fromprivate(&private, &rdata, buf, + sizeof(buf))) continue; /* * We are going to create a new NSEC3 chain so it @@ -97,16 +98,16 @@ ignore(dns_rdata_t *param, dns_rdataset_t *privateset) { isc_result_t dns_private_chains(dns_db_t *db, dns_dbversion_t *ver, - dns_rdatatype_t privatetype, - bool *build_nsec, bool *build_nsec3) + dns_rdatatype_t privatetype, bool *build_nsec, + bool *build_nsec3) { - dns_dbnode_t *node; + dns_dbnode_t * node; dns_rdataset_t nsecset, nsec3paramset, privateset; - bool nsec3chain; - bool signing; - isc_result_t result; - unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE]; - unsigned int count; + bool nsec3chain; + bool signing; + isc_result_t result; + unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE]; + unsigned int count; node = NULL; dns_rdataset_init(&nsecset); @@ -115,15 +116,14 @@ dns_private_chains(dns_db_t *db, dns_dbversion_t *ver, CHECK(dns_db_getoriginnode(db, &node)); - result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec, - 0, (isc_stdtime_t) 0, &nsecset, NULL); + result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec, 0, + (isc_stdtime_t)0, &nsecset, NULL); if (result != ISC_R_SUCCESS && result != ISC_R_NOTFOUND) goto failure; - result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec3param, - 0, (isc_stdtime_t) 0, &nsec3paramset, - NULL); + result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec3param, 0, + (isc_stdtime_t)0, &nsec3paramset, NULL); if (result != ISC_R_SUCCESS && result != ISC_R_NOTFOUND) goto failure; @@ -137,9 +137,9 @@ dns_private_chains(dns_db_t *db, dns_dbversion_t *ver, } if (privatetype != (dns_rdatatype_t)0) { - result = dns_db_findrdataset(db, node, ver, privatetype, - 0, (isc_stdtime_t) 0, - &privateset, NULL); + result = dns_db_findrdataset(db, node, ver, privatetype, 0, + (isc_stdtime_t)0, &privateset, + NULL); if (result != ISC_R_SUCCESS && result != ISC_R_NOTFOUND) goto failure; } @@ -161,8 +161,8 @@ dns_private_chains(dns_db_t *db, dns_dbversion_t *ver, dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(&privateset, &private); - if (!dns_nsec3param_fromprivate(&private, &rdata, - buf, sizeof(buf))) + if (!dns_nsec3param_fromprivate(&private, &rdata, buf, + sizeof(buf))) continue; if (REMOVE(rdata.data[1])) continue; @@ -191,8 +191,8 @@ dns_private_chains(dns_db_t *db, dns_dbversion_t *ver, dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(&privateset, &private); - if (!dns_nsec3param_fromprivate(&private, &rdata, - buf, sizeof(buf))) + if (!dns_nsec3param_fromprivate(&private, &rdata, buf, + sizeof(buf))) continue; if (CREATE(rdata.data[1])) goto success; @@ -243,15 +243,14 @@ dns_private_chains(dns_db_t *db, dns_dbversion_t *ver, signing = false; nsec3chain = false; - for (result = dns_rdataset_first(&privateset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&privateset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&privateset)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_t private = DNS_RDATA_INIT; dns_rdataset_current(&privateset, &private); - if (!dns_nsec3param_fromprivate(&private, &rdata, - buf, sizeof(buf))) { + if (!dns_nsec3param_fromprivate(&private, &rdata, buf, + sizeof(buf))) { /* * Look for record that says we are signing the * zone with a key. @@ -275,9 +274,9 @@ dns_private_chains(dns_db_t *db, dns_dbversion_t *ver, } } - success: +success: result = ISC_R_SUCCESS; - failure: +failure: if (dns_rdataset_isassociated(&nsecset)) dns_rdataset_disassociate(&nsecset); if (dns_rdataset_isassociated(&nsec3paramset)) @@ -290,19 +289,20 @@ dns_private_chains(dns_db_t *db, dns_dbversion_t *ver, } isc_result_t -dns_private_totext(dns_rdata_t *private, isc_buffer_t *buf) { +dns_private_totext(dns_rdata_t *private, isc_buffer_t *buf) +{ isc_result_t result; if (private->length < 5) return (ISC_R_NOTFOUND); if (private->data[0] == 0) { - unsigned char nsec3buf[DNS_NSEC3PARAM_BUFFERSIZE]; - unsigned char newbuf[DNS_NSEC3PARAM_BUFFERSIZE]; - dns_rdata_t rdata = DNS_RDATA_INIT; + unsigned char nsec3buf[DNS_NSEC3PARAM_BUFFERSIZE]; + unsigned char newbuf[DNS_NSEC3PARAM_BUFFERSIZE]; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_nsec3param_t nsec3param; - bool del, init, nonsec; - isc_buffer_t b; + bool del, init, nonsec; + isc_buffer_t b; if (!dns_nsec3param_fromprivate(private, &rdata, nsec3buf, sizeof(nsec3buf))) @@ -314,10 +314,9 @@ dns_private_totext(dns_rdata_t *private, isc_buffer_t *buf) { init = ((nsec3param.flags & DNS_NSEC3FLAG_INITIAL) != 0); nonsec = ((nsec3param.flags & DNS_NSEC3FLAG_NONSEC) != 0); - nsec3param.flags &= ~(DNS_NSEC3FLAG_CREATE| - DNS_NSEC3FLAG_REMOVE| - DNS_NSEC3FLAG_INITIAL| - DNS_NSEC3FLAG_NONSEC); + nsec3param.flags &= + ~(DNS_NSEC3FLAG_CREATE | DNS_NSEC3FLAG_REMOVE | + DNS_NSEC3FLAG_INITIAL | DNS_NSEC3FLAG_NONSEC); if (init) isc_buffer_putstr(buf, "Pending NSEC3 chain "); @@ -339,9 +338,9 @@ dns_private_totext(dns_rdata_t *private, isc_buffer_t *buf) { } else if (private->length == 5) { unsigned char alg = private->data[0]; dns_keytag_t keyid = (private->data[2] | private->data[1] << 8); - char keybuf[BUFSIZ], algbuf[DNS_SECALG_FORMATSIZE]; - bool del = private->data[3]; - bool complete = private->data[4]; + char keybuf[BUFSIZ], algbuf[DNS_SECALG_FORMATSIZE]; + bool del = private->data[3]; + bool complete = private->data[4]; if (del && complete) isc_buffer_putstr(buf, "Done removing signatures for "); @@ -360,6 +359,6 @@ dns_private_totext(dns_rdata_t *private, isc_buffer_t *buf) { isc_buffer_putuint8(buf, 0); result = ISC_R_SUCCESS; - failure: +failure: return (result); } diff --git a/lib/dns/rbt.c b/lib/dns/rbt.c index e968048dfe..a362634767 100644 --- a/lib/dns/rbt.c +++ b/lib/dns/rbt.c @@ -13,7 +13,6 @@ #include #include -#include #include #include @@ -28,39 +27,41 @@ #include #include +#include + /*% * This define is so dns/name.h (included by dns/fixedname.h) uses more * efficient macro calls instead of functions for a few operations. */ #define DNS_NAME_USEINLINE 1 +#include + #include #include #include #include #include -#include - -#define CHECK(x) \ - do { \ - result = (x); \ +#define CHECK(x) \ + do { \ + result = (x); \ if (result != ISC_R_SUCCESS) \ - goto cleanup; \ + goto cleanup; \ } while (0) -#define RBT_MAGIC ISC_MAGIC('R', 'B', 'T', '+') -#define VALID_RBT(rbt) ISC_MAGIC_VALID(rbt, RBT_MAGIC) +#define RBT_MAGIC ISC_MAGIC('R', 'B', 'T', '+') +#define VALID_RBT(rbt) ISC_MAGIC_VALID(rbt, RBT_MAGIC) /* * XXXDCL Since parent pointers were added in again, I could remove all of the * chain junk, and replace with dns_rbt_firstnode, _previousnode, _nextnode, * _lastnode. This would involve pretty major change to the API. */ -#define CHAIN_MAGIC ISC_MAGIC('0', '-', '0', '-') -#define VALID_CHAIN(chain) ISC_MAGIC_VALID(chain, CHAIN_MAGIC) +#define CHAIN_MAGIC ISC_MAGIC('0', '-', '0', '-') +#define VALID_CHAIN(chain) ISC_MAGIC_VALID(chain, CHAIN_MAGIC) -#define RBT_HASH_SIZE 64 +#define RBT_HASH_SIZE 64 #ifdef RBT_MEM_TEST #undef RBT_HASH_SIZE @@ -68,15 +69,15 @@ #endif struct dns_rbt { - unsigned int magic; - isc_mem_t * mctx; - dns_rbtnode_t * root; - void (*data_deleter)(void *, void *); - void * deleter_arg; - unsigned int nodecount; - size_t hashsize; - dns_rbtnode_t ** hashtable; - void * mmap_location; + unsigned int magic; + isc_mem_t * mctx; + dns_rbtnode_t *root; + void (*data_deleter)(void *, void *); + void * deleter_arg; + unsigned int nodecount; + size_t hashsize; + dns_rbtnode_t **hashtable; + void * mmap_location; }; #define RED 0 @@ -94,21 +95,22 @@ typedef struct file_header file_header_t; static char FILE_VERSION[32] = "\0"; /* Header length, always the same size regardless of structure size */ -#define HEADER_LENGTH 1024 +#define HEADER_LENGTH 1024 struct file_header { - char version1[32]; - uint64_t first_node_offset; /* usually 1024 */ + char version1[32]; + uint64_t first_node_offset; /* usually 1024 */ /* * information about the system on which the map file was generated * will be used to tell if we can load the map file or not */ - uint32_t ptrsize; - unsigned int bigendian:1; /* big or little endian system */ - unsigned int rdataset_fixed:1; /* compiled with --enable-rrset-fixed */ - unsigned int nodecount; /* shadow from rbt structure */ - uint64_t crc; - char version2[32]; /* repeated; must match version1 */ + uint32_t ptrsize; + unsigned int bigendian : 1; /* big or little endian system */ + unsigned int rdataset_fixed : 1; /* compiled with --enable-rrset-fixed + */ + unsigned int nodecount; /* shadow from rbt structure */ + uint64_t crc; + char version2[32]; /* repeated; must match version1 */ }; /* @@ -141,9 +143,8 @@ static bool match_header_version(file_header_t *header); static isc_result_t -serialize_node(FILE *file, dns_rbtnode_t *node, uintptr_t left, - uintptr_t right, uintptr_t down, uintptr_t parent, - uintptr_t data, uint64_t *crc); +serialize_node(FILE *file, dns_rbtnode_t *node, uintptr_t left, uintptr_t right, + uintptr_t down, uintptr_t parent, uintptr_t data, uint64_t *crc); static isc_result_t serialize_nodes(FILE *file, dns_rbtnode_t *node, uintptr_t parent, @@ -156,7 +157,8 @@ serialize_nodes(FILE *file, dns_rbtnode_t *node, uintptr_t parent, * relative or not */ static inline dns_rbtnode_t * -getparent(dns_rbtnode_t *node, file_header_t *header) { +getparent(dns_rbtnode_t *node, file_header_t *header) +{ char *adjusted_address = (char *)(node->parent); adjusted_address += node->parent_is_relative * (uintptr_t)header; @@ -164,7 +166,8 @@ getparent(dns_rbtnode_t *node, file_header_t *header) { } static inline dns_rbtnode_t * -getleft(dns_rbtnode_t *node, file_header_t *header) { +getleft(dns_rbtnode_t *node, file_header_t *header) +{ char *adjusted_address = (char *)(node->left); adjusted_address += node->left_is_relative * (uintptr_t)header; @@ -172,7 +175,8 @@ getleft(dns_rbtnode_t *node, file_header_t *header) { } static inline dns_rbtnode_t * -getright(dns_rbtnode_t *node, file_header_t *header) { +getright(dns_rbtnode_t *node, file_header_t *header) +{ char *adjusted_address = (char *)(node->right); adjusted_address += node->right_is_relative * (uintptr_t)header; @@ -180,7 +184,8 @@ getright(dns_rbtnode_t *node, file_header_t *header) { } static inline dns_rbtnode_t * -getdown(dns_rbtnode_t *node, file_header_t *header) { +getdown(dns_rbtnode_t *node, file_header_t *header) +{ char *adjusted_address = (char *)(node->down); adjusted_address += node->down_is_relative * (uintptr_t)header; @@ -188,7 +193,8 @@ getdown(dns_rbtnode_t *node, file_header_t *header) { } static inline dns_rbtnode_t * -getdata(dns_rbtnode_t *node, file_header_t *header) { +getdata(dns_rbtnode_t *node, file_header_t *header) +{ char *adjusted_address = (char *)(node->data); adjusted_address += node->data_is_relative * (uintptr_t)header; @@ -198,30 +204,30 @@ getdata(dns_rbtnode_t *node, file_header_t *header) { /*% * Elements of the rbtnode structure. */ -#define PARENT(node) ((node)->parent) -#define LEFT(node) ((node)->left) -#define RIGHT(node) ((node)->right) -#define DOWN(node) ((node)->down) -#define UPPERNODE(node) ((node)->uppernode) -#define DATA(node) ((node)->data) -#define IS_EMPTY(node) ((node)->data == NULL) -#define HASHNEXT(node) ((node)->hashnext) -#define HASHVAL(node) ((node)->hashval) -#define COLOR(node) ((node)->color) -#define NAMELEN(node) ((node)->namelen) -#define OLDNAMELEN(node) ((node)->oldnamelen) -#define OFFSETLEN(node) ((node)->offsetlen) -#define ATTRS(node) ((node)->attributes) -#define IS_ROOT(node) ((node)->is_root) -#define FINDCALLBACK(node) ((node)->find_callback) +#define PARENT(node) ((node)->parent) +#define LEFT(node) ((node)->left) +#define RIGHT(node) ((node)->right) +#define DOWN(node) ((node)->down) +#define UPPERNODE(node) ((node)->uppernode) +#define DATA(node) ((node)->data) +#define IS_EMPTY(node) ((node)->data == NULL) +#define HASHNEXT(node) ((node)->hashnext) +#define HASHVAL(node) ((node)->hashval) +#define COLOR(node) ((node)->color) +#define NAMELEN(node) ((node)->namelen) +#define OLDNAMELEN(node) ((node)->oldnamelen) +#define OFFSETLEN(node) ((node)->offsetlen) +#define ATTRS(node) ((node)->attributes) +#define IS_ROOT(node) ((node)->is_root) +#define FINDCALLBACK(node) ((node)->find_callback) /*% * Structure elements from the rbtdb.c, not * used as part of the rbt.c algorithms. */ -#define DIRTY(node) ((node)->dirty) -#define WILD(node) ((node)->wild) -#define LOCKNUM(node) ((node)->locknum) +#define DIRTY(node) ((node)->dirty) +#define WILD(node) ((node)->wild) +#define LOCKNUM(node) ((node)->locknum) /*% * The variable length stuff stored after the node has the following @@ -236,20 +242,20 @@ getdata(dns_rbtnode_t *node, file_header_t *header) { * was created. */ -#define NAME(node) ((unsigned char *)((node) + 1)) -#define OFFSETS(node) (NAME(node) + OLDNAMELEN(node) + 1) +#define NAME(node) ((unsigned char *)((node) + 1)) +#define OFFSETS(node) (NAME(node) + OLDNAMELEN(node) + 1) #define OLDOFFSETLEN(node) (OFFSETS(node)[-1]) -#define NODE_SIZE(node) (sizeof(*node) + \ - OLDNAMELEN(node) + OLDOFFSETLEN(node) + 1) +#define NODE_SIZE(node) \ + (sizeof(*node) + OLDNAMELEN(node) + OLDOFFSETLEN(node) + 1) /*% * Color management. */ -#define IS_RED(node) ((node) != NULL && (node)->color == RED) -#define IS_BLACK(node) ((node) == NULL || (node)->color == BLACK) -#define MAKE_RED(node) ((node)->color = RED) -#define MAKE_BLACK(node) ((node)->color = BLACK) +#define IS_RED(node) ((node) != NULL && (node)->color == RED) +#define IS_BLACK(node) ((node) == NULL || (node)->color == BLACK) +#define MAKE_RED(node) ((node)->color = RED) +#define MAKE_BLACK(node) ((node)->color = BLACK) /*% * Chain management. @@ -258,10 +264,10 @@ getdata(dns_rbtnode_t *node, file_header_t *header) { * being wholly handled by parent pointers (which didn't exist, because * of memory concerns, when chains were first implemented). */ -#define ADD_LEVEL(chain, node) \ - do { \ +#define ADD_LEVEL(chain, node) \ + do { \ INSIST((chain)->level_count < DNS_RBT_LEVELBLOCK); \ - (chain)->levels[(chain)->level_count++] = (node); \ + (chain)->levels[(chain)->level_count++] = (node); \ } while (0) /*% @@ -271,7 +277,8 @@ getdata(dns_rbtnode_t *node, file_header_t *header) { */ static inline void -NODENAME(dns_rbtnode_t *node, dns_name_t *name) { +NODENAME(dns_rbtnode_t *node, dns_name_t *name) +{ name->length = NAMELEN(node); name->labels = OFFSETLEN(node); name->ndata = NAME(node); @@ -281,7 +288,8 @@ NODENAME(dns_rbtnode_t *node, dns_name_t *name) { } void -dns_rbtnode_nodename(dns_rbtnode_t *node, dns_name_t *name) { +dns_rbtnode_nodename(dns_rbtnode_t *node, dns_name_t *name) +{ name->length = NAMELEN(node); name->labels = OFFSETLEN(node); name->ndata = NAME(node); @@ -291,7 +299,8 @@ dns_rbtnode_nodename(dns_rbtnode_t *node, dns_name_t *name) { } dns_rbtnode_t * -dns_rbt_root(dns_rbt_t *rbt) { +dns_rbt_root(dns_rbt_t *rbt) +{ return (rbt->root); } @@ -300,9 +309,11 @@ dns_rbt_root(dns_rbt_t *rbt) { /* * A little something to help out in GDB. */ -dns_name_t Name(dns_rbtnode_t *node); dns_name_t -Name(dns_rbtnode_t *node) { +Name(dns_rbtnode_t *node); +dns_name_t +Name(dns_rbtnode_t *node) +{ dns_name_t name; dns_name_init(&name, NULL); @@ -313,12 +324,13 @@ Name(dns_rbtnode_t *node) { } static void -hexdump(const char *desc, unsigned char *data, size_t size) { - char hexdump[BUFSIZ * 2 + 1]; +hexdump(const char *desc, unsigned char *data, size_t size) +{ + char hexdump[BUFSIZ * 2 + 1]; isc_buffer_t b; isc_region_t r; isc_result_t result; - size_t bytes; + size_t bytes; fprintf(stderr, "%s: ", desc); do { @@ -341,12 +353,14 @@ hexdump(const char *desc, unsigned char *data, size_t size) { * subtree. The passed node must not be NULL. */ static inline dns_rbtnode_t * -get_upper_node(dns_rbtnode_t *node) { +get_upper_node(dns_rbtnode_t *node) +{ return (UPPERNODE(node)); } static void -fixup_uppernodes_helper(dns_rbtnode_t *node, dns_rbtnode_t *uppernode) { +fixup_uppernodes_helper(dns_rbtnode_t *node, dns_rbtnode_t *uppernode) +{ if (node == NULL) return; @@ -362,12 +376,14 @@ fixup_uppernodes_helper(dns_rbtnode_t *node, dns_rbtnode_t *uppernode) { * after deserialization. */ static void -fixup_uppernodes(dns_rbt_t *rbt) { +fixup_uppernodes(dns_rbt_t *rbt) +{ fixup_uppernodes_helper(rbt->root, NULL); } size_t -dns__rbtnode_getdistance(dns_rbtnode_t *node) { +dns__rbtnode_getdistance(dns_rbtnode_t *node) +{ size_t nodes = 1; while (node != NULL) { @@ -411,9 +427,8 @@ static void deletefromlevel(dns_rbtnode_t *item, dns_rbtnode_t **rootp); static isc_result_t -treefix(dns_rbt_t *rbt, void *base, size_t size, - dns_rbtnode_t *n, const dns_name_t *name, - dns_rbtdatafixer_t datafixer, void *fixer_arg, +treefix(dns_rbt_t *rbt, void *base, size_t size, dns_rbtnode_t *n, + const dns_name_t *name, dns_rbtdatafixer_t datafixer, void *fixer_arg, uint64_t *crc); static void @@ -427,13 +442,14 @@ static void freenode(dns_rbt_t *rbt, dns_rbtnode_t **nodep); static isc_result_t -dns_rbt_zero_header(FILE *file) { +dns_rbt_zero_header(FILE *file) +{ /* * Write out a zeroed header as a placeholder. Doing this ensures * that the file will not read while it is partially written, should * writing fail or be interrupted. */ - char buffer[HEADER_LENGTH]; + char buffer[HEADER_LENGTH]; isc_result_t result; memset(buffer, 0, HEADER_LENGTH); @@ -451,12 +467,13 @@ dns_rbt_zero_header(FILE *file) { static isc_once_t once = ISC_ONCE_INIT; static void -init_file_version(void) { +init_file_version(void) +{ int n; memset(FILE_VERSION, 0, sizeof(FILE_VERSION)); - n = snprintf(FILE_VERSION, sizeof(FILE_VERSION), - "RBT Image %s %s", dns_major, dns_mapapi); + n = snprintf(FILE_VERSION, sizeof(FILE_VERSION), "RBT Image %s %s", + dns_major, dns_mapapi); INSIST(n > 0 && (unsigned int)n < sizeof(FILE_VERSION)); } @@ -472,8 +489,8 @@ write_header(FILE *file, dns_rbt_t *rbt, uint64_t first_node_offset, uint64_t crc) { file_header_t header; - isc_result_t result; - off_t location; + isc_result_t result; + off_t location; RUNTIME_CHECK(isc_once_do(&once, init_file_version) == ISC_R_SUCCESS); @@ -481,7 +498,7 @@ write_header(FILE *file, dns_rbt_t *rbt, uint64_t first_node_offset, memmove(header.version1, FILE_VERSION, sizeof(header.version1)); memmove(header.version2, FILE_VERSION, sizeof(header.version2)); header.first_node_offset = first_node_offset; - header.ptrsize = (uint32_t) sizeof(void *); + header.ptrsize = (uint32_t)sizeof(void *); header.bigendian = (1 == htonl(1)) ? 1 : 0; #ifdef DNS_RDATASET_FIXED @@ -503,19 +520,19 @@ write_header(FILE *file, dns_rbt_t *rbt, uint64_t first_node_offset, /* Ensure we are always at the end of the file. */ CHECK(isc_stdio_seek(file, 0, SEEK_END)); - cleanup: +cleanup: return (result); } static bool -match_header_version(file_header_t *header) { +match_header_version(file_header_t *header) +{ RUNTIME_CHECK(isc_once_do(&once, init_file_version) == ISC_R_SUCCESS); - if (memcmp(header->version1, FILE_VERSION, - sizeof(header->version1)) != 0 || - memcmp(header->version2, FILE_VERSION, - sizeof(header->version1)) != 0) - { + if (memcmp(header->version1, FILE_VERSION, sizeof(header->version1)) != + 0 || + memcmp(header->version2, FILE_VERSION, sizeof(header->version1)) != + 0) { return (false); } @@ -523,15 +540,14 @@ match_header_version(file_header_t *header) { } static isc_result_t -serialize_node(FILE *file, dns_rbtnode_t *node, uintptr_t left, - uintptr_t right, uintptr_t down, uintptr_t parent, - uintptr_t data, uint64_t *crc) +serialize_node(FILE *file, dns_rbtnode_t *node, uintptr_t left, uintptr_t right, + uintptr_t down, uintptr_t parent, uintptr_t data, uint64_t *crc) { - dns_rbtnode_t temp_node; - off_t file_position; + dns_rbtnode_t temp_node; + off_t file_position; unsigned char *node_data; - size_t datasize; - isc_result_t result; + size_t datasize; + isc_result_t result; #ifdef DEBUG dns_name_t nodename; #endif @@ -555,7 +571,7 @@ serialize_node(FILE *file, dns_rbtnode_t *node, uintptr_t left, * in the file. Note that this will have to change when the data * structure changes, and it also assumes that we always write the * nodes out in list order (which we currently do.) - */ + */ if (temp_node.parent != NULL) { temp_node.parent = (dns_rbtnode_t *)(parent); temp_node.parent_is_relative = 1; @@ -577,11 +593,11 @@ serialize_node(FILE *file, dns_rbtnode_t *node, uintptr_t left, temp_node.data_is_relative = 1; } - node_data = (unsigned char *) node + sizeof(dns_rbtnode_t); + node_data = (unsigned char *)node + sizeof(dns_rbtnode_t); datasize = NODE_SIZE(node) - sizeof(dns_rbtnode_t); - CHECK(isc_stdio_write(&temp_node, 1, sizeof(dns_rbtnode_t), - file, NULL)); + CHECK(isc_stdio_write(&temp_node, 1, sizeof(dns_rbtnode_t), file, + NULL)); CHECK(isc_stdio_write(node_data, 1, datasize, file, NULL)); #ifdef DEBUG @@ -590,16 +606,16 @@ serialize_node(FILE *file, dns_rbtnode_t *node, uintptr_t left, fprintf(stderr, "serialize "); dns_name_print(&nodename, stderr); fprintf(stderr, "\n"); - hexdump("node header", (unsigned char*) &temp_node, + hexdump("node header", (unsigned char *)&temp_node, sizeof(dns_rbtnode_t)); hexdump("node data", node_data, datasize); #endif - isc_crc64_update(crc, (const uint8_t *) &temp_node, + isc_crc64_update(crc, (const uint8_t *)&temp_node, sizeof(dns_rbtnode_t)); - isc_crc64_update(crc, (const uint8_t *) node_data, datasize); + isc_crc64_update(crc, (const uint8_t *)node_data, datasize); - cleanup: +cleanup: return (result); } @@ -608,8 +624,8 @@ serialize_nodes(FILE *file, dns_rbtnode_t *node, uintptr_t parent, dns_rbtdatawriter_t datawriter, void *writer_arg, uintptr_t *where, uint64_t *crc) { - uintptr_t left = 0, right = 0, down = 0, data = 0; - off_t location = 0, offset_adjust; + uintptr_t left = 0, right = 0, down = 0, data = 0; + off_t location = 0, offset_adjust; isc_result_t result; if (node == NULL) { @@ -632,12 +648,12 @@ serialize_nodes(FILE *file, dns_rbtnode_t *node, uintptr_t parent, * WARNING: A change in the order (from left, right, down) * will break the way the crc hash is computed. */ - CHECK(serialize_nodes(file, getleft(node, NULL), location, - datawriter, writer_arg, &left, crc)); - CHECK(serialize_nodes(file, getright(node, NULL), location, - datawriter, writer_arg, &right, crc)); - CHECK(serialize_nodes(file, getdown(node, NULL), location, - datawriter, writer_arg, &down, crc)); + CHECK(serialize_nodes(file, getleft(node, NULL), location, datawriter, + writer_arg, &left, crc)); + CHECK(serialize_nodes(file, getright(node, NULL), location, datawriter, + writer_arg, &right, crc)); + CHECK(serialize_nodes(file, getdown(node, NULL), location, datawriter, + writer_arg, &down, crc)); if (node->data != NULL) { off_t ret; @@ -660,14 +676,15 @@ serialize_nodes(FILE *file, dns_rbtnode_t *node, uintptr_t parent, CHECK(isc_stdio_seek(file, 0, SEEK_END)); if (where != NULL) - *where = (uintptr_t) location; + *where = (uintptr_t)location; - cleanup: +cleanup: return (result); } off_t -dns_rbt_serialize_align(off_t target) { +dns_rbt_serialize_align(off_t target) +{ off_t offset = target % 8; if (offset == 0) @@ -678,12 +695,12 @@ dns_rbt_serialize_align(off_t target) { isc_result_t dns_rbt_serialize_tree(FILE *file, dns_rbt_t *rbt, - dns_rbtdatawriter_t datawriter, - void *writer_arg, off_t *offset) + dns_rbtdatawriter_t datawriter, void *writer_arg, + off_t *offset) { isc_result_t result; - off_t header_position, node_position, end_position; - uint64_t crc; + off_t header_position, node_position, end_position; + uint64_t crc; REQUIRE(file != NULL); @@ -698,8 +715,8 @@ dns_rbt_serialize_tree(FILE *file, dns_rbt_t *rbt, /* Serialize nodes */ CHECK(isc_stdio_tell(file, &node_position)); - CHECK(serialize_nodes(file, rbt->root, 0, datawriter, - writer_arg, NULL, &crc)); + CHECK(serialize_nodes(file, rbt->root, 0, datawriter, writer_arg, NULL, + &crc)); CHECK(isc_stdio_tell(file, &end_position)); if (node_position == end_position) { @@ -721,34 +738,35 @@ dns_rbt_serialize_tree(FILE *file, dns_rbt_t *rbt, CHECK(isc_stdio_seek(file, 0, SEEK_END)); *offset = dns_rbt_serialize_align(header_position); - cleanup: +cleanup: return (result); } -#define CONFIRM(a) do { \ - if (! (a)) { \ - result = ISC_R_INVALIDFILE; \ - goto cleanup; \ - } \ -} while(0); +#define CONFIRM(a) \ + do { \ + if (!(a)) { \ + result = ISC_R_INVALIDFILE; \ + goto cleanup; \ + } \ + } while (0); static isc_result_t treefix(dns_rbt_t *rbt, void *base, size_t filesize, dns_rbtnode_t *n, - const dns_name_t *name, dns_rbtdatafixer_t datafixer, - void *fixer_arg, uint64_t *crc) + const dns_name_t *name, dns_rbtdatafixer_t datafixer, void *fixer_arg, + uint64_t *crc) { - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; dns_fixedname_t fixed; - dns_name_t nodename, *fullname; - unsigned char *node_data; - dns_rbtnode_t header; - size_t datasize, nodemax = filesize - sizeof(dns_rbtnode_t); + dns_name_t nodename, *fullname; + unsigned char * node_data; + dns_rbtnode_t header; + size_t datasize, nodemax = filesize - sizeof(dns_rbtnode_t); if (n == NULL) return (ISC_R_SUCCESS); - CONFIRM((void *) n >= base); - CONFIRM((char *) n - (char *) base <= (int) nodemax); + CONFIRM((void *)n >= base); + CONFIRM((char *)n - (char *)base <= (int)nodemax); CONFIRM(DNS_RBTNODE_VALID(n)); dns_name_init(&nodename, NULL); @@ -766,7 +784,7 @@ treefix(dns_rbt_t *rbt, void *base, size_t filesize, dns_rbtnode_t *n, memmove(&header, n, sizeof(header)); if (n->left_is_relative) { - CONFIRM(n->left <= (dns_rbtnode_t *) nodemax); + CONFIRM(n->left <= (dns_rbtnode_t *)nodemax); n->left = getleft(n, rbt->mmap_location); n->left_is_relative = 0; CONFIRM(DNS_RBTNODE_VALID(n->left)); @@ -774,7 +792,7 @@ treefix(dns_rbt_t *rbt, void *base, size_t filesize, dns_rbtnode_t *n, CONFIRM(n->left == NULL); if (n->right_is_relative) { - CONFIRM(n->right <= (dns_rbtnode_t *) nodemax); + CONFIRM(n->right <= (dns_rbtnode_t *)nodemax); n->right = getright(n, rbt->mmap_location); n->right_is_relative = 0; CONFIRM(DNS_RBTNODE_VALID(n->right)); @@ -782,28 +800,28 @@ treefix(dns_rbt_t *rbt, void *base, size_t filesize, dns_rbtnode_t *n, CONFIRM(n->right == NULL); if (n->down_is_relative) { - CONFIRM(n->down <= (dns_rbtnode_t *) nodemax); + CONFIRM(n->down <= (dns_rbtnode_t *)nodemax); n->down = getdown(n, rbt->mmap_location); n->down_is_relative = 0; - CONFIRM(n->down > (dns_rbtnode_t *) n); + CONFIRM(n->down > (dns_rbtnode_t *)n); CONFIRM(DNS_RBTNODE_VALID(n->down)); } else CONFIRM(n->down == NULL); if (n->parent_is_relative) { - CONFIRM(n->parent <= (dns_rbtnode_t *) nodemax); + CONFIRM(n->parent <= (dns_rbtnode_t *)nodemax); n->parent = getparent(n, rbt->mmap_location); n->parent_is_relative = 0; - CONFIRM(n->parent < (dns_rbtnode_t *) n); + CONFIRM(n->parent < (dns_rbtnode_t *)n); CONFIRM(DNS_RBTNODE_VALID(n->parent)); } else CONFIRM(n->parent == NULL); if (n->data_is_relative) { - CONFIRM(n->data <= (void *) filesize); + CONFIRM(n->data <= (void *)filesize); n->data = getdata(n, rbt->mmap_location); n->data_is_relative = 0; - CONFIRM(n->data > (void *) n); + CONFIRM(n->data > (void *)n); } else CONFIRM(n->data == NULL); @@ -811,36 +829,33 @@ treefix(dns_rbt_t *rbt, void *base, size_t filesize, dns_rbtnode_t *n, /* a change in the order (from left, right, down) will break hashing*/ if (n->left != NULL) - CHECK(treefix(rbt, base, filesize, n->left, name, - datafixer, fixer_arg, crc)); + CHECK(treefix(rbt, base, filesize, n->left, name, datafixer, + fixer_arg, crc)); if (n->right != NULL) - CHECK(treefix(rbt, base, filesize, n->right, name, - datafixer, fixer_arg, crc)); + CHECK(treefix(rbt, base, filesize, n->right, name, datafixer, + fixer_arg, crc)); if (n->down != NULL) - CHECK(treefix(rbt, base, filesize, n->down, fullname, - datafixer, fixer_arg, crc)); + CHECK(treefix(rbt, base, filesize, n->down, fullname, datafixer, + fixer_arg, crc)); if (datafixer != NULL && n->data != NULL) CHECK(datafixer(n, base, filesize, fixer_arg, crc)); rbt->nodecount++; - node_data = (unsigned char *) n + sizeof(dns_rbtnode_t); + node_data = (unsigned char *)n + sizeof(dns_rbtnode_t); datasize = NODE_SIZE(n) - sizeof(dns_rbtnode_t); #ifdef DEBUG fprintf(stderr, "deserialize "); dns_name_print(&nodename, stderr); fprintf(stderr, "\n"); - hexdump("node header", (unsigned char *) &header, - sizeof(dns_rbtnode_t)); + hexdump("node header", (unsigned char *)&header, sizeof(dns_rbtnode_t)); hexdump("node data", node_data, datasize); #endif - isc_crc64_update(crc, (const uint8_t *) &header, - sizeof(dns_rbtnode_t)); - isc_crc64_update(crc, (const uint8_t *) node_data, - datasize); + isc_crc64_update(crc, (const uint8_t *)&header, sizeof(dns_rbtnode_t)); + isc_crc64_update(crc, (const uint8_t *)node_data, datasize); - cleanup: +cleanup: return (result); } @@ -851,11 +866,11 @@ dns_rbt_deserialize_tree(void *base_address, size_t filesize, dns_rbtdatafixer_t datafixer, void *fixer_arg, dns_rbtnode_t **originp, dns_rbt_t **rbtp) { - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; file_header_t *header; - dns_rbt_t *rbt = NULL; - uint64_t crc; - unsigned int host_big_endian; + dns_rbt_t * rbt = NULL; + uint64_t crc; + unsigned int host_big_endian; REQUIRE(originp == NULL || *originp == NULL); REQUIRE(rbtp != NULL && *rbtp == NULL); @@ -885,7 +900,7 @@ dns_rbt_deserialize_tree(void *base_address, size_t filesize, } #endif - if (header->ptrsize != (uint32_t) sizeof(void *)) { + if (header->ptrsize != (uint32_t)sizeof(void *)) { result = ISC_R_INVALIDFILE; goto cleanup; } @@ -897,8 +912,8 @@ dns_rbt_deserialize_tree(void *base_address, size_t filesize, } /* Copy other data items from the header into our rbt. */ - rbt->root = (dns_rbtnode_t *)((char *)base_address + - header_offset + header->first_node_offset); + rbt->root = (dns_rbtnode_t *)((char *)base_address + header_offset + + header->first_node_offset); if ((header->nodecount * sizeof(dns_rbtnode_t)) > filesize) { result = ISC_R_INVALIDFILE; @@ -906,8 +921,8 @@ dns_rbt_deserialize_tree(void *base_address, size_t filesize, } rehash(rbt, header->nodecount); - CHECK(treefix(rbt, base_address, filesize, rbt->root, - dns_rootname, datafixer, fixer_arg, &crc)); + CHECK(treefix(rbt, base_address, filesize, rbt->root, dns_rootname, + datafixer, fixer_arg, &crc)); isc_crc64_final(&crc); #ifdef DEBUG @@ -931,7 +946,7 @@ dns_rbt_deserialize_tree(void *base_address, size_t filesize, if (originp != NULL) *originp = rbt->root; - cleanup: +cleanup: if (result != ISC_R_SUCCESS && rbt != NULL) { rbt->root = NULL; rbt->nodecount = 0; @@ -945,11 +960,11 @@ dns_rbt_deserialize_tree(void *base_address, size_t filesize, * Initialize a red/black tree of trees. */ isc_result_t -dns_rbt_create(isc_mem_t *mctx, dns_rbtdeleter_t deleter, - void *deleter_arg, dns_rbt_t **rbtp) +dns_rbt_create(isc_mem_t *mctx, dns_rbtdeleter_t deleter, void *deleter_arg, + dns_rbt_t **rbtp) { isc_result_t result; - dns_rbt_t *rbt; + dns_rbt_t * rbt; REQUIRE(mctx != NULL); REQUIRE(rbtp != NULL && *rbtp == NULL); @@ -984,12 +999,14 @@ dns_rbt_create(isc_mem_t *mctx, dns_rbtdeleter_t deleter, * Deallocate a red/black tree of trees. */ void -dns_rbt_destroy(dns_rbt_t **rbtp) { +dns_rbt_destroy(dns_rbt_t **rbtp) +{ RUNTIME_CHECK(dns_rbt_destroy2(rbtp, 0) == ISC_R_SUCCESS); } isc_result_t -dns_rbt_destroy2(dns_rbt_t **rbtp, unsigned int quantum) { +dns_rbt_destroy2(dns_rbt_t **rbtp, unsigned int quantum) +{ dns_rbt_t *rbt; REQUIRE(rbtp != NULL && VALID_RBT(*rbtp)); @@ -1017,28 +1034,27 @@ dns_rbt_destroy2(dns_rbt_t **rbtp, unsigned int quantum) { } unsigned int -dns_rbt_nodecount(dns_rbt_t *rbt) { - +dns_rbt_nodecount(dns_rbt_t *rbt) +{ REQUIRE(VALID_RBT(rbt)); return (rbt->nodecount); } size_t -dns_rbt_hashsize(dns_rbt_t *rbt) { - +dns_rbt_hashsize(dns_rbt_t *rbt) +{ REQUIRE(VALID_RBT(rbt)); return (rbt->hashsize); } static inline isc_result_t -chain_name(dns_rbtnodechain_t *chain, dns_name_t *name, - bool include_chain_end) +chain_name(dns_rbtnodechain_t *chain, dns_name_t *name, bool include_chain_end) { - dns_name_t nodename; + dns_name_t nodename; isc_result_t result = ISC_R_SUCCESS; - int i; + int i; dns_name_init(&nodename, NULL); @@ -1059,7 +1075,8 @@ chain_name(dns_rbtnodechain_t *chain, dns_name_t *name, } static inline isc_result_t -move_chain_to_last(dns_rbtnodechain_t *chain, dns_rbtnode_t *node) { +move_chain_to_last(dns_rbtnodechain_t *chain, dns_rbtnode_t *node) +{ do { /* * Go as far right and then down as much as possible, @@ -1085,20 +1102,21 @@ move_chain_to_last(dns_rbtnodechain_t *chain, dns_rbtnode_t *node) { */ isc_result_t -dns_rbt_addnode(dns_rbt_t *rbt, const dns_name_t *name, dns_rbtnode_t **nodep) { +dns_rbt_addnode(dns_rbt_t *rbt, const dns_name_t *name, dns_rbtnode_t **nodep) +{ /* * Does this thing have too many variables or what? */ dns_rbtnode_t **root, *parent, *child, *current, *new_current; - dns_name_t *add_name, *new_name, current_name, *prefix, *suffix; + dns_name_t * add_name, *new_name, current_name, *prefix, *suffix; dns_fixedname_t fixedcopy, fixedprefix, fixedsuffix, fnewname; - dns_offsets_t current_offsets; - dns_namereln_t compared; - isc_result_t result = ISC_R_SUCCESS; - unsigned int level_count; - unsigned int common_labels; - unsigned int nlabels, hlabels; - int order; + dns_offsets_t current_offsets; + dns_namereln_t compared; + isc_result_t result = ISC_R_SUCCESS; + unsigned int level_count; + unsigned int common_labels; + unsigned int nlabels, hlabels; + int order; REQUIRE(VALID_RBT(rbt)); REQUIRE(dns_name_isabsolute(name)); @@ -1180,18 +1198,16 @@ dns_rbt_addnode(dns_rbt_t *rbt, const dns_name_t *name, dns_rbtnode_t **nodep) { current = child; NODENAME(current, ¤t_name); - compared = dns_name_fullcompare(add_name, ¤t_name, - &order, &common_labels); + compared = dns_name_fullcompare(add_name, ¤t_name, &order, + &common_labels); if (compared == dns_namereln_equal) { *nodep = current; result = ISC_R_EXISTS; break; - } if (compared == dns_namereln_none) { - if (order < 0) { parent = current; child = LEFT(current); @@ -1199,7 +1215,6 @@ dns_rbt_addnode(dns_rbt_t *rbt, const dns_name_t *name, dns_rbtnode_t **nodep) { } else if (order > 0) { parent = current; child = RIGHT(current); - } } else { @@ -1249,8 +1264,9 @@ dns_rbt_addnode(dns_rbt_t *rbt, const dns_name_t *name, dns_rbtnode_t **nodep) { * pointer made to a new tree. */ - INSIST(compared == dns_namereln_commonancestor - || compared == dns_namereln_contains); + INSIST(compared == + dns_namereln_commonancestor || + compared == dns_namereln_contains); /* * Ensure the number of levels in the tree @@ -1287,10 +1303,10 @@ dns_rbt_addnode(dns_rbt_t *rbt, const dns_name_t *name, dns_rbtnode_t **nodep) { new_current->nsec = DNS_RBT_NSEC_NORMAL; else new_current->nsec = current->nsec; - PARENT(new_current) = PARENT(current); - LEFT(new_current) = LEFT(current); - RIGHT(new_current) = RIGHT(current); - COLOR(new_current) = COLOR(current); + PARENT(new_current) = PARENT(current); + LEFT(new_current) = LEFT(current); + RIGHT(new_current) = RIGHT(current); + COLOR(new_current) = COLOR(current); /* * Fix pointers that were to the current node. @@ -1302,8 +1318,7 @@ dns_rbt_addnode(dns_rbt_t *rbt, const dns_name_t *name, dns_rbtnode_t **nodep) { RIGHT(parent) = new_current; } if (LEFT(new_current) != NULL) - PARENT(LEFT(new_current)) = - new_current; + PARENT(LEFT(new_current)) = new_current; if (RIGHT(new_current) != NULL) PARENT(RIGHT(new_current)) = new_current; @@ -1372,9 +1387,7 @@ dns_rbt_addnode(dns_rbt_t *rbt, const dns_name_t *name, dns_rbtnode_t **nodep) { break; } - } - } } while (ISC_LIKELY(child != NULL)); @@ -1402,8 +1415,9 @@ dns_rbt_addnode(dns_rbt_t *rbt, const dns_name_t *name, dns_rbtnode_t **nodep) { * Add a name to the tree of trees, associating it with some data. */ isc_result_t -dns_rbt_addname(dns_rbt_t *rbt, const dns_name_t *name, void *data) { - isc_result_t result; +dns_rbt_addname(dns_rbt_t *rbt, const dns_name_t *name, void *data) +{ + isc_result_t result; dns_rbtnode_t *node; REQUIRE(VALID_RBT(rbt)); @@ -1437,21 +1451,21 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, unsigned int options, dns_rbtfindcallback_t callback, void *callback_arg) { - dns_rbtnode_t *current, *last_compared; + dns_rbtnode_t * current, *last_compared; dns_rbtnodechain_t localchain; - dns_name_t *search_name, current_name, *callback_name; - dns_fixedname_t fixedcallbackname, fixedsearchname; - dns_namereln_t compared; - isc_result_t result, saved_result; - unsigned int common_labels; - unsigned int hlabels = 0; - int order; + dns_name_t * search_name, current_name, *callback_name; + dns_fixedname_t fixedcallbackname, fixedsearchname; + dns_namereln_t compared; + isc_result_t result, saved_result; + unsigned int common_labels; + unsigned int hlabels = 0; + int order; REQUIRE(VALID_RBT(rbt)); REQUIRE(dns_name_isabsolute(name)); REQUIRE(node != NULL && *node == NULL); - REQUIRE((options & (DNS_RBTFIND_NOEXACT | DNS_RBTFIND_NOPREDECESSOR)) - != (DNS_RBTFIND_NOEXACT | DNS_RBTFIND_NOPREDECESSOR)); + REQUIRE((options & (DNS_RBTFIND_NOEXACT | DNS_RBTFIND_NOPREDECESSOR)) != + (DNS_RBTFIND_NOEXACT | DNS_RBTFIND_NOPREDECESSOR)); /* * If there is a chain it needs to appear to be in a sane state, @@ -1520,12 +1534,12 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, * or (b). */ - dns_name_t hash_name; + dns_name_t hash_name; dns_rbtnode_t *hnode; dns_rbtnode_t *up_current; - unsigned int nlabels; - unsigned int tlabels = 1; - unsigned int hash; + unsigned int nlabels; + unsigned int tlabels = 1; + unsigned int hash; /* * The case of current not being a subtree root, @@ -1556,23 +1570,20 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, * match (add another subdomain label to the * absolute name being hashed). */ - dns_name_getlabelsequence(name, - nlabels - tlabels, + dns_name_getlabelsequence(name, nlabels - tlabels, hlabels + tlabels, &hash_name); hash = dns_name_fullhash(&hash_name, false); dns_name_getlabelsequence(search_name, - nlabels - tlabels, - tlabels, &hash_name); + nlabels - tlabels, tlabels, + &hash_name); /* * Walk all the nodes in the hash bucket pointed * by the computed hash value. */ for (hnode = rbt->hashtable[hash % rbt->hashsize]; - hnode != NULL; - hnode = hnode->hashnext) - { + hnode != NULL; hnode = hnode->hashnext) { dns_name_t hnode_name; if (ISC_LIKELY(hash != HASHVAL(hnode))) @@ -1585,16 +1596,14 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, * subdomain. */ if (ISC_LIKELY(get_upper_node(hnode) != - up_current)) - { + up_current)) { continue; } dns_name_init(&hnode_name, NULL); NODENAME(hnode, &hnode_name); if (ISC_LIKELY(dns_name_equal(&hnode_name, - &hash_name))) - { + &hash_name))) { break; } } @@ -1640,7 +1649,7 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, * down pointer and search in the new tree. */ if (compared == dns_namereln_subdomain) { - subdomain: + subdomain: /* * Whack off the current node's common parts * for the name to search in the next level. @@ -1652,8 +1661,7 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, * This might be the closest enclosing name. */ if ((options & DNS_RBTFIND_EMPTYDATA) != 0 || - DATA(current) != NULL) - { + DATA(current) != NULL) { *node = current; } @@ -1677,11 +1685,9 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, * the callback is used to learn what the * caller wants to do. */ - if (callback != NULL && - FINDCALLBACK(current)) { - result = chain_name(chain, - callback_name, - false); + if (callback != NULL && FINDCALLBACK(current)) { + result = chain_name( + chain, callback_name, false); if (result != ISC_R_SUCCESS) { dns_rbtnodechain_reset(chain); return (result); @@ -1712,8 +1718,9 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, * with the search name so the search * name does not exist in the tree. */ - INSIST(compared == dns_namereln_commonancestor - || compared == dns_namereln_contains); + INSIST(compared == + dns_namereln_commonancestor || + compared == dns_namereln_contains); current = NULL; } @@ -1726,8 +1733,7 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, * ISC_R_SUCCESS to indicate an exact match. */ if (current != NULL && (options & DNS_RBTFIND_NOEXACT) == 0 && - ((options & DNS_RBTFIND_EMPTYDATA) != 0 || DATA(current) != NULL)) - { + ((options & DNS_RBTFIND_EMPTYDATA) != 0 || DATA(current) != NULL)) { /* * Found an exact match. */ @@ -1771,8 +1777,7 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, chain->level_count = chain->level_matches + 1; - result = chain_name(chain, foundname, - false); + result = chain_name(chain, foundname, false); chain->level_count = saved_count; } else @@ -1856,10 +1861,8 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, while (current != NULL) { NODENAME(current, ¤t_name); compared = dns_name_fullcompare( - search_name, - ¤t_name, - &order, - &common_labels); + search_name, ¤t_name, + &order, &common_labels); POST(compared); last_compared = current; @@ -1871,7 +1874,6 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, current = LEFT(current); else current = RIGHT(current); - } current = last_compared; @@ -1902,14 +1904,12 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, * no predecessor? */ - if (order > 0) { if (DOWN(current) != NULL) { ADD_LEVEL(chain, current); - result2 = - move_chain_to_last(chain, - DOWN(current)); + result2 = move_chain_to_last( + chain, DOWN(current)); if (result2 != ISC_R_SUCCESS) result = result2; @@ -1926,12 +1926,11 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, chain->end = current; - result2 = dns_rbtnodechain_prev(chain, - NULL, - NULL); + result2 = dns_rbtnodechain_prev( + chain, NULL, NULL); if (result2 == ISC_R_SUCCESS || result2 == DNS_R_NEWORIGIN) - ; /* Nothing. */ + ; /* Nothing. */ else if (result2 == ISC_R_NOMORE) /* * There is no predecessor. @@ -1940,7 +1939,6 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, else result = result2; } - } } } @@ -1955,14 +1953,15 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, */ isc_result_t dns_rbt_findname(dns_rbt_t *rbt, const dns_name_t *name, unsigned int options, - dns_name_t *foundname, void **data) { + dns_name_t *foundname, void **data) +{ dns_rbtnode_t *node = NULL; - isc_result_t result; + isc_result_t result; REQUIRE(data != NULL && *data == NULL); - result = dns_rbt_findnode(rbt, name, foundname, &node, NULL, - options, NULL, NULL); + result = dns_rbt_findnode(rbt, name, foundname, &node, NULL, options, + NULL, NULL); if (node != NULL && (DATA(node) != NULL || (options & DNS_RBTFIND_EMPTYDATA) != 0)) @@ -1977,11 +1976,10 @@ dns_rbt_findname(dns_rbt_t *rbt, const dns_name_t *name, unsigned int options, * Delete a name from the tree of trees. */ isc_result_t -dns_rbt_deletename(dns_rbt_t *rbt, const dns_name_t *name, - bool recurse) +dns_rbt_deletename(dns_rbt_t *rbt, const dns_name_t *name, bool recurse) { dns_rbtnode_t *node = NULL; - isc_result_t result; + isc_result_t result; REQUIRE(VALID_RBT(rbt)); REQUIRE(dns_name_isabsolute(name)); @@ -2113,8 +2111,8 @@ dns_rbt_deletenode(dns_rbt_t *rbt, dns_rbtnode_t *node, bool recurse) } void -dns_rbt_namefromnode(dns_rbtnode_t *node, dns_name_t *name) { - +dns_rbt_namefromnode(dns_rbtnode_t *node, dns_name_t *name) +{ REQUIRE(DNS_RBTNODE_VALID(node)); REQUIRE(name != NULL); REQUIRE(name->offsets == NULL); @@ -2123,8 +2121,9 @@ dns_rbt_namefromnode(dns_rbtnode_t *node, dns_name_t *name) { } isc_result_t -dns_rbt_fullnamefromnode(dns_rbtnode_t *node, dns_name_t *name) { - dns_name_t current; +dns_rbt_fullnamefromnode(dns_rbtnode_t *node, dns_name_t *name) +{ + dns_name_t current; isc_result_t result; REQUIRE(DNS_RBTNODE_VALID(node)); @@ -2144,7 +2143,7 @@ dns_rbt_fullnamefromnode(dns_rbtnode_t *node, dns_name_t *name) { break; node = get_upper_node(node); - } while (! dns_name_isabsolute(name)); + } while (!dns_name_isabsolute(name)); return (result); } @@ -2153,8 +2152,8 @@ char * dns_rbt_formatnodename(dns_rbtnode_t *node, char *printname, unsigned int size) { dns_fixedname_t fixedname; - dns_name_t *name; - isc_result_t result; + dns_name_t * name; + isc_result_t result; REQUIRE(DNS_RBTNODE_VALID(node)); REQUIRE(printname != NULL); @@ -2171,11 +2170,12 @@ dns_rbt_formatnodename(dns_rbtnode_t *node, char *printname, unsigned int size) } static isc_result_t -create_node(isc_mem_t *mctx, const dns_name_t *name, dns_rbtnode_t **nodep) { +create_node(isc_mem_t *mctx, const dns_name_t *name, dns_rbtnode_t **nodep) +{ dns_rbtnode_t *node; - isc_region_t region; - unsigned int labels; - size_t nodelen; + isc_region_t region; + unsigned int labels; + size_t nodelen; REQUIRE(name->offsets != NULL); @@ -2251,7 +2251,8 @@ create_node(isc_mem_t *mctx, const dns_name_t *name, dns_rbtnode_t **nodep) { * Add a node to the hash table */ static inline void -hash_add_node(dns_rbt_t *rbt, dns_rbtnode_t *node, const dns_name_t *name) { +hash_add_node(dns_rbt_t *rbt, dns_rbtnode_t *node, const dns_name_t *name) +{ unsigned int hash; REQUIRE(name != NULL); @@ -2268,7 +2269,8 @@ hash_add_node(dns_rbt_t *rbt, dns_rbtnode_t *node, const dns_name_t *name) { * Initialize hash table */ static isc_result_t -inithash(dns_rbt_t *rbt) { +inithash(dns_rbt_t *rbt) +{ unsigned int bytes; rbt->hashsize = RBT_HASH_SIZE; @@ -2284,13 +2286,14 @@ inithash(dns_rbt_t *rbt) { * Rebuild the hashtable to reduce the load factor */ static void -rehash(dns_rbt_t *rbt, unsigned int newcount) { - unsigned int oldsize; +rehash(dns_rbt_t *rbt, unsigned int newcount) +{ + unsigned int oldsize; dns_rbtnode_t **oldtable; - dns_rbtnode_t *node; - dns_rbtnode_t *nextnode; - unsigned int hash; - unsigned int i; + dns_rbtnode_t * node; + dns_rbtnode_t * nextnode; + unsigned int hash; + unsigned int i; oldsize = (unsigned int)rbt->hashsize; oldtable = rbt->hashtable; @@ -2298,8 +2301,8 @@ rehash(dns_rbt_t *rbt, unsigned int newcount) { INSIST((rbt->hashsize * 2 + 1) > rbt->hashsize); rbt->hashsize = rbt->hashsize * 2 + 1; } while (newcount >= (rbt->hashsize * 3)); - rbt->hashtable = isc_mem_get(rbt->mctx, - rbt->hashsize * sizeof(dns_rbtnode_t *)); + rbt->hashtable = + isc_mem_get(rbt->mctx, rbt->hashsize * sizeof(dns_rbtnode_t *)); for (i = 0; i < rbt->hashsize; i++) rbt->hashtable[i] = NULL; @@ -2321,7 +2324,8 @@ rehash(dns_rbt_t *rbt, unsigned int newcount) { * rises above a critical level. */ static inline void -hash_node(dns_rbt_t *rbt, dns_rbtnode_t *node, const dns_name_t *name) { +hash_node(dns_rbt_t *rbt, dns_rbtnode_t *node, const dns_name_t *name) +{ REQUIRE(DNS_RBTNODE_VALID(node)); if (rbt->nodecount >= (rbt->hashsize * 3)) @@ -2334,8 +2338,9 @@ hash_node(dns_rbt_t *rbt, dns_rbtnode_t *node, const dns_name_t *name) { * Remove a node from the hash table */ static inline void -unhash_node(dns_rbt_t *rbt, dns_rbtnode_t *node) { - unsigned int bucket; +unhash_node(dns_rbt_t *rbt, dns_rbtnode_t *node) +{ + unsigned int bucket; dns_rbtnode_t *bucket_node; REQUIRE(DNS_RBTNODE_VALID(node)); @@ -2355,7 +2360,8 @@ unhash_node(dns_rbt_t *rbt, dns_rbtnode_t *node) { } static inline void -rotate_left(dns_rbtnode_t *node, dns_rbtnode_t **rootp) { +rotate_left(dns_rbtnode_t *node, dns_rbtnode_t **rootp) +{ dns_rbtnode_t *child; REQUIRE(DNS_RBTNODE_VALID(node)); @@ -2387,7 +2393,8 @@ rotate_left(dns_rbtnode_t *node, dns_rbtnode_t **rootp) { } static inline void -rotate_right(dns_rbtnode_t *node, dns_rbtnode_t **rootp) { +rotate_right(dns_rbtnode_t *node, dns_rbtnode_t **rootp) +{ dns_rbtnode_t *child; REQUIRE(DNS_RBTNODE_VALID(node)); @@ -2427,8 +2434,8 @@ addonlevel(dns_rbtnode_t *node, dns_rbtnode_t *current, int order, dns_rbtnode_t **rootp) { dns_rbtnode_t *child, *root, *parent, *grandparent; - dns_name_t add_name, current_name; - dns_offsets_t add_offsets, current_offsets; + dns_name_t add_name, current_name; + dns_offsets_t add_offsets, current_offsets; REQUIRE(rootp != NULL); REQUIRE(DNS_RBTNODE_VALID(node) && LEFT(node) == NULL && @@ -2530,7 +2537,8 @@ addonlevel(dns_rbtnode_t *node, dns_rbtnode_t *current, int order, * true red/black tree on a single level. */ static void -deletefromlevel(dns_rbtnode_t *item, dns_rbtnode_t **rootp) { +deletefromlevel(dns_rbtnode_t *item, dns_rbtnode_t **rootp) +{ dns_rbtnode_t *child, *sibling, *parent; dns_rbtnode_t *successor; @@ -2540,9 +2548,8 @@ deletefromlevel(dns_rbtnode_t *item, dns_rbtnode_t **rootp) { * Verify that the parent history is (apparently) correct. */ INSIST((IS_ROOT(item) && *rootp == item) || - (! IS_ROOT(item) && - (LEFT(PARENT(item)) == item || - RIGHT(PARENT(item)) == item))); + (!IS_ROOT(item) && + (LEFT(PARENT(item)) == item || RIGHT(PARENT(item)) == item))); child = NULL; @@ -2608,16 +2615,15 @@ deletefromlevel(dns_rbtnode_t *item, dns_rbtnode_t **rootp) { successor->is_root = true; item->is_root = false; - } else - if (LEFT(PARENT(item)) == item) - LEFT(PARENT(item)) = successor; - else - RIGHT(PARENT(item)) = successor; + } else if (LEFT(PARENT(item)) == item) + LEFT(PARENT(item)) = successor; + else + RIGHT(PARENT(item)) = successor; PARENT(successor) = PARENT(item); - LEFT(successor) = LEFT(item); - RIGHT(successor) = RIGHT(item); - COLOR(successor) = COLOR(item); + LEFT(successor) = LEFT(item); + RIGHT(successor) = RIGHT(item); + COLOR(successor) = COLOR(item); if (LEFT(successor) != NULL) PARENT(LEFT(successor)) = successor; @@ -2629,7 +2635,7 @@ deletefromlevel(dns_rbtnode_t *item, dns_rbtnode_t **rootp) { * successor's previous tree location. PARENT(tmp) * is the successor's original parent. */ - INSIST(! IS_ROOT(item)); + INSIST(!IS_ROOT(item)); if (PARENT(tmp) == item) { /* @@ -2646,15 +2652,15 @@ deletefromlevel(dns_rbtnode_t *item, dns_rbtnode_t **rootp) { /* * Original location of successor node has no left. */ - LEFT(item) = NULL; - RIGHT(item) = RIGHT(tmp); - COLOR(item) = COLOR(tmp); + LEFT(item) = NULL; + RIGHT(item) = RIGHT(tmp); + COLOR(item) = COLOR(tmp); } /* * Remove the node by removing the links from its parent. */ - if (! IS_ROOT(item)) { + if (!IS_ROOT(item)) { if (LEFT(PARENT(item)) == item) LEFT(PARENT(item)) = child; else @@ -2677,11 +2683,12 @@ deletefromlevel(dns_rbtnode_t *item, dns_rbtnode_t **rootp) { * Fix color violations. */ if (IS_BLACK(item)) { - /* cppcheck-suppress nullPointerRedundantCheck symbolName=item */ + /* cppcheck-suppress nullPointerRedundantCheck symbolName=item + */ parent = PARENT(item); while (child != *rootp && IS_BLACK(child)) { - INSIST(child == NULL || ! IS_ROOT(child)); + INSIST(child == NULL || !IS_ROOT(child)); if (LEFT(parent) == child) { sibling = RIGHT(parent); @@ -2695,14 +2702,14 @@ deletefromlevel(dns_rbtnode_t *item, dns_rbtnode_t **rootp) { INSIST(sibling != NULL); - /* cppcheck-suppress nullPointerRedundantCheck symbolName=sibling */ + /* cppcheck-suppress nullPointerRedundantCheck + * symbolName=sibling */ if (IS_BLACK(LEFT(sibling)) && IS_BLACK(RIGHT(sibling))) { MAKE_RED(sibling); child = parent; } else { - if (IS_BLACK(RIGHT(sibling))) { MAKE_BLACK(LEFT(sibling)); MAKE_RED(sibling); @@ -2735,7 +2742,8 @@ deletefromlevel(dns_rbtnode_t *item, dns_rbtnode_t **rootp) { INSIST(sibling != NULL); - /* cppcheck-suppress nullPointerRedundantCheck symbolName=sibling */ + /* cppcheck-suppress nullPointerRedundantCheck + * symbolName=sibling */ if (IS_BLACK(LEFT(sibling)) && IS_BLACK(RIGHT(sibling))) { MAKE_RED(sibling); @@ -2767,7 +2775,8 @@ deletefromlevel(dns_rbtnode_t *item, dns_rbtnode_t **rootp) { } static void -freenode(dns_rbt_t *rbt, dns_rbtnode_t **nodep) { +freenode(dns_rbt_t *rbt, dns_rbtnode_t **nodep) +{ dns_rbtnode_t *node = *nodep; *nodep = NULL; @@ -2810,14 +2819,13 @@ deletetreeflat(dns_rbt_t *rbt, unsigned int quantum, bool unhash, root = PARENT(root); if (DATA(node) != NULL && rbt->data_deleter != NULL) - rbt->data_deleter(DATA(node), - rbt->deleter_arg); + rbt->data_deleter(DATA(node), rbt->deleter_arg); if (unhash) unhash_node(rbt, node); - /* - * Note: we don't call unhash_node() here as we - * are destroying the complete RBT tree. - */ + /* + * Note: we don't call unhash_node() here as we + * are destroying the complete RBT tree. + */ #if DNS_RBT_USEMAGIC node->magic = 0; #endif @@ -2831,7 +2839,8 @@ deletetreeflat(dns_rbt_t *rbt, unsigned int quantum, bool unhash, } static size_t -getheight_helper(dns_rbtnode_t *node) { +getheight_helper(dns_rbtnode_t *node) +{ size_t dl, dr; size_t this_height, down_height; @@ -2848,12 +2857,14 @@ getheight_helper(dns_rbtnode_t *node) { } size_t -dns__rbt_getheight(dns_rbt_t *rbt) { +dns__rbt_getheight(dns_rbt_t *rbt) +{ return (getheight_helper(rbt->root)); } static bool -check_properties_helper(dns_rbtnode_t *node) { +check_properties_helper(dns_rbtnode_t *node) +{ if (node == NULL) return (true); @@ -2872,8 +2883,7 @@ check_properties_helper(dns_rbtnode_t *node) { return (false); if (IS_ROOT(node)) { - if ((PARENT(node) != NULL) && - (DOWN(PARENT(node)) != node)) + if ((PARENT(node) != NULL) && (DOWN(PARENT(node)) != node)) return (false); if (get_upper_node(node) != PARENT(node)) @@ -2883,10 +2893,8 @@ check_properties_helper(dns_rbtnode_t *node) { /* If node is assigned to the down_ pointer of its parent, it is * a subtree root and must have the flag set. */ - if (((!PARENT(node)) || - (DOWN(PARENT(node)) == node)) && - (!IS_ROOT(node))) - { + if (((!PARENT(node)) || (DOWN(PARENT(node)) == node)) && + (!IS_ROOT(node))) { return (false); } @@ -2897,7 +2905,8 @@ check_properties_helper(dns_rbtnode_t *node) { } static bool -check_black_distance_helper(dns_rbtnode_t *node, size_t *distance) { +check_black_distance_helper(dns_rbtnode_t *node, size_t *distance) +{ size_t dl, dr, dd; if (node == NULL) { @@ -2930,7 +2939,8 @@ check_black_distance_helper(dns_rbtnode_t *node, size_t *distance) { } bool -dns__rbt_checkproperties(dns_rbt_t *rbt) { +dns__rbt_checkproperties(dns_rbt_t *rbt) +{ size_t dd; if (!check_properties_helper(rbt->root)) @@ -2945,7 +2955,8 @@ dns__rbt_checkproperties(dns_rbt_t *rbt) { } static void -dns_rbt_indent(FILE *f, int depth) { +dns_rbt_indent(FILE *f, int depth) +{ int i; fprintf(f, "%4d ", depth); @@ -2955,8 +2966,8 @@ dns_rbt_indent(FILE *f, int depth) { } void -dns_rbt_printnodeinfo(dns_rbtnode_t *n, FILE *f) { - +dns_rbt_printnodeinfo(dns_rbtnode_t *n, FILE *f) +{ if (n == NULL) { fprintf(f, "Null node\n"); return; @@ -2969,11 +2980,11 @@ dns_rbt_printnodeinfo(dns_rbtnode_t *n, FILE *f) { fprintf(f, "n = %p\n", n); fprintf(f, "Relative pointers: %s%s%s%s%s\n", - (n->parent_is_relative == 1 ? " P" : ""), - (n->right_is_relative == 1 ? " R" : ""), - (n->left_is_relative == 1 ? " L" : ""), - (n->down_is_relative == 1 ? " D" : ""), - (n->data_is_relative == 1 ? " T" : "")); + (n->parent_is_relative == 1 ? " P" : ""), + (n->right_is_relative == 1 ? " R" : ""), + (n->left_is_relative == 1 ? " L" : ""), + (n->down_is_relative == 1 ? " D" : ""), + (n->data_is_relative == 1 ? " T" : "")); fprintf(f, "node lock address = %u\n", n->locknum); @@ -2985,10 +2996,11 @@ dns_rbt_printnodeinfo(dns_rbtnode_t *n, FILE *f) { } static void -printnodename(dns_rbtnode_t *node, bool quoted, FILE *f) { - isc_region_t r; - dns_name_t name; - char buffer[DNS_NAME_FORMATSIZE]; +printnodename(dns_rbtnode_t *node, bool quoted, FILE *f) +{ + isc_region_t r; + dns_name_t name; + char buffer[DNS_NAME_FORMATSIZE]; dns_offsets_t offsets; r.length = NAMELEN(node); @@ -3006,9 +3018,9 @@ printnodename(dns_rbtnode_t *node, bool quoted, FILE *f) { } static void -print_text_helper(dns_rbtnode_t *root, dns_rbtnode_t *parent, - int depth, const char *direction, - void (*data_printer)(FILE *, void *), FILE *f) +print_text_helper(dns_rbtnode_t *root, dns_rbtnode_t *parent, int depth, + const char *direction, void (*data_printer)(FILE *, void *), + FILE * f) { dns_rbt_indent(f, depth); @@ -3021,10 +3033,9 @@ print_text_helper(dns_rbtnode_t *root, dns_rbtnode_t *parent, fprintf(f, " (%s, %s", direction, COLOR(root) == RED ? "RED" : "BLACK"); - if ((! IS_ROOT(root) && PARENT(root) != parent) || - ( IS_ROOT(root) && depth > 0 && - DOWN(PARENT(root)) != root)) { - + if ((!IS_ROOT(root) && PARENT(root) != parent) || + (IS_ROOT(root) && depth > 0 && + DOWN(PARENT(root)) != root)) { fprintf(f, " (BAD parent pointer! -> "); if (PARENT(root) != NULL) printnodename(PARENT(root), true, f); @@ -3050,8 +3061,8 @@ print_text_helper(dns_rbtnode_t *root, dns_rbtnode_t *parent, if (COLOR(root) == RED && IS_RED(LEFT(root))) { fprintf(f, "** Red/Red color violation on left\n"); } - print_text_helper(LEFT(root), root, depth, "left", - data_printer, f); + print_text_helper(LEFT(root), root, depth, "left", data_printer, + f); /* * Don't use IS_RED(root) as cppcheck produces false positives. @@ -3060,18 +3071,17 @@ print_text_helper(dns_rbtnode_t *root, dns_rbtnode_t *parent, fprintf(f, "** Red/Red color violation on right\n"); } print_text_helper(RIGHT(root), root, depth, "right", - data_printer, f); + data_printer, f); - print_text_helper(DOWN(root), NULL, depth, "down", - data_printer, f); + print_text_helper(DOWN(root), NULL, depth, "down", data_printer, + f); } else { fprintf(f, "NULL (%s)\n", direction); } } void -dns_rbt_printtext(dns_rbt_t *rbt, - void (*data_printer)(FILE *, void *), FILE *f) +dns_rbt_printtext(dns_rbt_t *rbt, void (*data_printer)(FILE *, void *), FILE *f) { REQUIRE(VALID_RBT(rbt)); @@ -3132,7 +3142,8 @@ print_dot_helper(dns_rbtnode_t *node, unsigned int *nodecount, } void -dns_rbt_printdot(dns_rbt_t *rbt, bool show_pointers, FILE *f) { +dns_rbt_printdot(dns_rbt_t *rbt, bool show_pointers, FILE *f) +{ unsigned int nodecount = 0; REQUIRE(VALID_RBT(rbt)); @@ -3148,7 +3159,8 @@ dns_rbt_printdot(dns_rbt_t *rbt, bool show_pointers, FILE *f) { */ void -dns_rbtnodechain_init(dns_rbtnodechain_t *chain) { +dns_rbtnodechain_init(dns_rbtnodechain_t *chain) +{ REQUIRE(chain != NULL); /* @@ -3211,8 +3223,8 @@ dns_rbtnodechain_prev(dns_rbtnodechain_t *chain, dns_name_t *name, dns_name_t *origin) { dns_rbtnode_t *current, *previous, *predecessor; - isc_result_t result = ISC_R_SUCCESS; - bool new_origin = false; + isc_result_t result = ISC_R_SUCCESS; + bool new_origin = false; REQUIRE(VALID_CHAIN(chain) && chain->end != NULL); @@ -3239,7 +3251,7 @@ dns_rbtnodechain_prev(dns_rbtnodechain_t *chain, dns_name_t *name, * link, then the parent is the previous node, at least * for this level. */ - while (! IS_ROOT(current)) { + while (!IS_ROOT(current)) { previous = current; current = PARENT(current); @@ -3328,8 +3340,8 @@ dns_rbtnodechain_down(dns_rbtnodechain_t *chain, dns_name_t *name, dns_name_t *origin) { dns_rbtnode_t *current, *successor; - isc_result_t result = ISC_R_SUCCESS; - bool new_origin = false; + isc_result_t result = ISC_R_SUCCESS; + bool new_origin = false; REQUIRE(VALID_CHAIN(chain) && chain->end != NULL); @@ -3343,8 +3355,7 @@ dns_rbtnodechain_down(dns_rbtnodechain_t *chain, dns_name_t *name, * at the second level tree, because "." is already declared * as the origin for the top level tree. */ - if (chain->level_count > 0 || - OFFSETLEN(current) > 1) + if (chain->level_count > 0 || OFFSETLEN(current) > 1) new_origin = true; ADD_LEVEL(chain, current); @@ -3388,9 +3399,10 @@ dns_rbtnodechain_down(dns_rbtnodechain_t *chain, dns_name_t *name, } isc_result_t -dns_rbtnodechain_nextflat(dns_rbtnodechain_t *chain, dns_name_t *name) { +dns_rbtnodechain_nextflat(dns_rbtnodechain_t *chain, dns_name_t *name) +{ dns_rbtnode_t *current, *previous, *successor; - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; REQUIRE(VALID_CHAIN(chain) && chain->end != NULL); @@ -3399,7 +3411,7 @@ dns_rbtnodechain_nextflat(dns_rbtnodechain_t *chain, dns_name_t *name) { current = chain->end; if (RIGHT(current) == NULL) { - while (! IS_ROOT(current)) { + while (!IS_ROOT(current)) { previous = current; current = PARENT(current); @@ -3435,8 +3447,8 @@ dns_rbtnodechain_next(dns_rbtnodechain_t *chain, dns_name_t *name, dns_name_t *origin) { dns_rbtnode_t *current, *previous, *successor; - isc_result_t result = ISC_R_SUCCESS; - bool new_origin = false; + isc_result_t result = ISC_R_SUCCESS; + bool new_origin = false; REQUIRE(VALID_CHAIN(chain) && chain->end != NULL); @@ -3454,8 +3466,7 @@ dns_rbtnodechain_next(dns_rbtnodechain_t *chain, dns_name_t *name, * at the second level tree, because "." is already declared * as the origin for the top level tree. */ - if (chain->level_count > 0 || - OFFSETLEN(current) > 1) + if (chain->level_count > 0 || OFFSETLEN(current) > 1) new_origin = true; ADD_LEVEL(chain, current); @@ -3478,7 +3489,7 @@ dns_rbtnodechain_next(dns_rbtnodechain_t *chain, dns_name_t *name, * ascends until either case is true. */ do { - while (! IS_ROOT(current)) { + while (!IS_ROOT(current)) { previous = current; current = PARENT(current); @@ -3589,7 +3600,7 @@ dns_rbtnodechain_first(dns_rbtnodechain_t *chain, dns_rbt_t *rbt, isc_result_t dns_rbtnodechain_last(dns_rbtnodechain_t *chain, dns_rbt_t *rbt, - dns_name_t *name, dns_name_t *origin) + dns_name_t *name, dns_name_t *origin) { isc_result_t result; @@ -3611,10 +3622,9 @@ dns_rbtnodechain_last(dns_rbtnodechain_t *chain, dns_rbt_t *rbt, return (result); } - void -dns_rbtnodechain_reset(dns_rbtnodechain_t *chain) { - +dns_rbtnodechain_reset(dns_rbtnodechain_t *chain) +{ REQUIRE(VALID_CHAIN(chain)); /* @@ -3627,7 +3637,8 @@ dns_rbtnodechain_reset(dns_rbtnodechain_t *chain) { } void -dns_rbtnodechain_invalidate(dns_rbtnodechain_t *chain) { +dns_rbtnodechain_invalidate(dns_rbtnodechain_t *chain) +{ /* * Free any dynamic storage associated with 'chain', and then * invalidate 'chain'. diff --git a/lib/dns/rbtdb.c b/lib/dns/rbtdb.c index 97c328041d..73b4dcc848 100644 --- a/lib/dns/rbtdb.c +++ b/lib/dns/rbtdb.c @@ -19,8 +19,9 @@ #include #include #include -#include #include +#include +#include #include #include #include @@ -37,7 +38,6 @@ #include #include #include -#include #include #include @@ -66,19 +66,21 @@ #ifndef WIN32 #include #else -#define PROT_READ 0x01 -#define PROT_WRITE 0x02 -#define MAP_PRIVATE 0x0002 -#define MAP_FAILED ((void *)-1) +#define PROT_READ 0x01 +#define PROT_WRITE 0x02 +#define MAP_PRIVATE 0x0002 +#define MAP_FAILED ((void *)-1) #endif #include "rbtdb.h" -#define RBTDB_MAGIC ISC_MAGIC('R', 'B', 'D', '4') +#define RBTDB_MAGIC ISC_MAGIC('R', 'B', 'D', '4') -#define CHECK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) /* @@ -90,53 +92,53 @@ typedef struct rbtdb_file_header rbtdb_file_header_t; /* Header length, always the same size regardless of structure size */ -#define RBTDB_HEADER_LENGTH 1024 +#define RBTDB_HEADER_LENGTH 1024 struct rbtdb_file_header { - char version1[32]; - uint32_t ptrsize; - unsigned int bigendian:1; - uint64_t tree; - uint64_t nsec; - uint64_t nsec3; + char version1[32]; + uint32_t ptrsize; + unsigned int bigendian : 1; + uint64_t tree; + uint64_t nsec; + uint64_t nsec3; - char version2[32]; /* repeated; must match version1 */ + char version2[32]; /* repeated; must match version1 */ }; - /*% * Note that "impmagic" is not the first four bytes of the struct, so * ISC_MAGIC_VALID cannot be used. */ -#define VALID_RBTDB(rbtdb) ((rbtdb) != NULL && \ - (rbtdb)->common.impmagic == RBTDB_MAGIC) +#define VALID_RBTDB(rbtdb) \ + ((rbtdb) != NULL && (rbtdb)->common.impmagic == RBTDB_MAGIC) -typedef uint32_t rbtdb_serial_t; -typedef uint32_t rbtdb_rdatatype_t; +typedef uint32_t rbtdb_serial_t; +typedef uint32_t rbtdb_rdatatype_t; -#define RBTDB_RDATATYPE_BASE(type) ((dns_rdatatype_t)((type) & 0xFFFF)) -#define RBTDB_RDATATYPE_EXT(type) ((dns_rdatatype_t)((type) >> 16)) -#define RBTDB_RDATATYPE_VALUE(base, ext) ((rbtdb_rdatatype_t)(((uint32_t)ext) << 16) | (((uint32_t)base) & 0xffff)) +#define RBTDB_RDATATYPE_BASE(type) ((dns_rdatatype_t)((type)&0xFFFF)) +#define RBTDB_RDATATYPE_EXT(type) ((dns_rdatatype_t)((type) >> 16)) +#define RBTDB_RDATATYPE_VALUE(base, ext) \ + ((rbtdb_rdatatype_t)(((uint32_t)ext) << 16) | \ + (((uint32_t)base) & 0xffff)) #define RBTDB_RDATATYPE_SIGNSEC \ - RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_nsec) + RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_nsec) #define RBTDB_RDATATYPE_SIGNSEC3 \ - RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_nsec3) + RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_nsec3) #define RBTDB_RDATATYPE_SIGNS \ - RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_ns) + RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_ns) #define RBTDB_RDATATYPE_SIGCNAME \ - RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_cname) + RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_cname) #define RBTDB_RDATATYPE_SIGDNAME \ - RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_dname) + RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_dname) #define RBTDB_RDATATYPE_SIGDDS \ - RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_ds) -#define RBTDB_RDATATYPE_NCACHEANY \ - RBTDB_RDATATYPE_VALUE(0, dns_rdatatype_any) + RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_ds) +#define RBTDB_RDATATYPE_NCACHEANY RBTDB_RDATATYPE_VALUE(0, dns_rdatatype_any) -#define RBTDB_INITLOCK(l) isc_rwlock_init((l), 0, 0) -#define RBTDB_DESTROYLOCK(l) isc_rwlock_destroy(l) -#define RBTDB_LOCK(l, t) RWLOCK((l), (t)) -#define RBTDB_UNLOCK(l, t) RWUNLOCK((l), (t)) +#define RBTDB_INITLOCK(l) isc_rwlock_init((l), 0, 0) +#define RBTDB_DESTROYLOCK(l) isc_rwlock_destroy(l) +#define RBTDB_LOCK(l, t) RWLOCK((l), (t)) +#define RBTDB_UNLOCK(l, t) RWUNLOCK((l), (t)) /* * Since node locking is sensitive to both performance and memory footprint, @@ -159,12 +161,12 @@ typedef uint32_t rbtdb_rdatatype_t; */ typedef isc_rwlock_t nodelock_t; -#define NODE_INITLOCK(l) isc_rwlock_init((l), 0, 0) -#define NODE_DESTROYLOCK(l) isc_rwlock_destroy(l) -#define NODE_LOCK(l, t) RWLOCK((l), (t)) -#define NODE_UNLOCK(l, t) RWUNLOCK((l), (t)) -#define NODE_TRYUPGRADE(l) isc_rwlock_tryupgrade(l) -#define NODE_DOWNGRADE(l) isc_rwlock_downgrade(l) +#define NODE_INITLOCK(l) isc_rwlock_init((l), 0, 0) +#define NODE_DESTROYLOCK(l) isc_rwlock_destroy(l) +#define NODE_LOCK(l, t) RWLOCK((l), (t)) +#define NODE_UNLOCK(l, t) RWUNLOCK((l), (t)) +#define NODE_TRYUPGRADE(l) isc_rwlock_tryupgrade(l) +#define NODE_DOWNGRADE(l) isc_rwlock_downgrade(l) /*% * Whether to rate-limit updating the LRU to avoid possible thread contention. @@ -182,33 +184,33 @@ typedef isc_rwlock_t nodelock_t; #define RBTDB_VIRTUAL 300 struct noqname { - dns_name_t name; - void * neg; - void * negsig; - dns_rdatatype_t type; + dns_name_t name; + void * neg; + void * negsig; + dns_rdatatype_t type; }; typedef struct rdatasetheader { /*% * Locked by the owning node's lock. */ - rbtdb_serial_t serial; - dns_ttl_t rdh_ttl; - rbtdb_rdatatype_t type; - uint16_t attributes; - dns_trust_t trust; - struct noqname *noqname; - struct noqname *closest; - unsigned int is_mmapped : 1; - unsigned int next_is_relative : 1; - unsigned int node_is_relative : 1; - unsigned int resign_lsb : 1; + rbtdb_serial_t serial; + dns_ttl_t rdh_ttl; + rbtdb_rdatatype_t type; + uint16_t attributes; + dns_trust_t trust; + struct noqname * noqname; + struct noqname * closest; + unsigned int is_mmapped : 1; + unsigned int next_is_relative : 1; + unsigned int node_is_relative : 1; + unsigned int resign_lsb : 1; /*%< * We don't use the LIST macros, because the LIST structure has * both head and tail pointers, and is doubly linked. */ - struct rdatasetheader *next; + struct rdatasetheader *next; /*%< * If this is the top header for an rdataset, 'next' points * to the top header for the next rdataset (i.e., the next type). @@ -216,55 +218,55 @@ typedef struct rdatasetheader { * at this header. */ - struct rdatasetheader *down; + struct rdatasetheader *down; /*%< * Points to the header for the next older version of * this rdataset. */ - atomic_uint_fast32_t count; + atomic_uint_fast32_t count; /*%< * Monotonously increased every time this rdataset is bound so that * it is used as the base of the starting point in DNS responses * when the "cyclic" rrset-order is required. */ - dns_rbtnode_t *node; - isc_stdtime_t last_used; + dns_rbtnode_t *node; + isc_stdtime_t last_used; ISC_LINK(struct rdatasetheader) link; - unsigned int heap_index; + unsigned int heap_index; /*%< * Used for TTL-based cache cleaning. */ - isc_stdtime_t resign; + isc_stdtime_t resign; /*%< * Case vector. If the bit is set then the corresponding * character in the owner name needs to be AND'd with 0x20, * rendering that character upper case. */ - unsigned char upper[32]; + unsigned char upper[32]; } rdatasetheader_t; -typedef ISC_LIST(rdatasetheader_t) rdatasetheaderlist_t; -typedef ISC_LIST(dns_rbtnode_t) rbtnodelist_t; +typedef ISC_LIST(rdatasetheader_t) rdatasetheaderlist_t; +typedef ISC_LIST(dns_rbtnode_t) rbtnodelist_t; -#define RDATASET_ATTR_NONEXISTENT 0x0001 +#define RDATASET_ATTR_NONEXISTENT 0x0001 /*%< May be potentially served as stale data. */ -#define RDATASET_ATTR_STALE 0x0002 -#define RDATASET_ATTR_IGNORE 0x0004 -#define RDATASET_ATTR_RETAIN 0x0008 -#define RDATASET_ATTR_NXDOMAIN 0x0010 -#define RDATASET_ATTR_RESIGN 0x0020 -#define RDATASET_ATTR_STATCOUNT 0x0040 -#define RDATASET_ATTR_OPTOUT 0x0080 -#define RDATASET_ATTR_NEGATIVE 0x0100 -#define RDATASET_ATTR_PREFETCH 0x0200 -#define RDATASET_ATTR_CASESET 0x0400 -#define RDATASET_ATTR_ZEROTTL 0x0800 -#define RDATASET_ATTR_CASEFULLYLOWER 0x1000 +#define RDATASET_ATTR_STALE 0x0002 +#define RDATASET_ATTR_IGNORE 0x0004 +#define RDATASET_ATTR_RETAIN 0x0008 +#define RDATASET_ATTR_NXDOMAIN 0x0010 +#define RDATASET_ATTR_RESIGN 0x0020 +#define RDATASET_ATTR_STATCOUNT 0x0040 +#define RDATASET_ATTR_OPTOUT 0x0080 +#define RDATASET_ATTR_NEGATIVE 0x0100 +#define RDATASET_ATTR_PREFETCH 0x0200 +#define RDATASET_ATTR_CASESET 0x0400 +#define RDATASET_ATTR_ZEROTTL 0x0800 +#define RDATASET_ATTR_CASEFULLYLOWER 0x1000 /*%< Ancient - awaiting cleanup. */ -#define RDATASET_ATTR_ANCIENT 0x2000 +#define RDATASET_ATTR_ANCIENT 0x2000 /* * XXX @@ -274,43 +276,31 @@ typedef ISC_LIST(dns_rbtnode_t) rbtnodelist_t; * expired. */ -#undef IGNORE /* WIN32 winbase.h defines this. */ +#undef IGNORE /* WIN32 winbase.h defines this. */ -#define EXISTS(header) \ - (((header)->attributes & RDATASET_ATTR_NONEXISTENT) == 0) +#define EXISTS(header) (((header)->attributes & RDATASET_ATTR_NONEXISTENT) == 0) #define NONEXISTENT(header) \ (((header)->attributes & RDATASET_ATTR_NONEXISTENT) != 0) -#define IGNORE(header) \ - (((header)->attributes & RDATASET_ATTR_IGNORE) != 0) -#define RETAIN(header) \ - (((header)->attributes & RDATASET_ATTR_RETAIN) != 0) -#define NXDOMAIN(header) \ - (((header)->attributes & RDATASET_ATTR_NXDOMAIN) != 0) -#define STALE(header) \ - (((header)->attributes & RDATASET_ATTR_STALE) != 0) -#define RESIGN(header) \ - (((header)->attributes & RDATASET_ATTR_RESIGN) != 0) -#define OPTOUT(header) \ - (((header)->attributes & RDATASET_ATTR_OPTOUT) != 0) -#define NEGATIVE(header) \ - (((header)->attributes & RDATASET_ATTR_NEGATIVE) != 0) -#define PREFETCH(header) \ - (((header)->attributes & RDATASET_ATTR_PREFETCH) != 0) -#define CASESET(header) \ - (((header)->attributes & RDATASET_ATTR_CASESET) != 0) -#define ZEROTTL(header) \ - (((header)->attributes & RDATASET_ATTR_ZEROTTL) != 0) +#define IGNORE(header) (((header)->attributes & RDATASET_ATTR_IGNORE) != 0) +#define RETAIN(header) (((header)->attributes & RDATASET_ATTR_RETAIN) != 0) +#define NXDOMAIN(header) (((header)->attributes & RDATASET_ATTR_NXDOMAIN) != 0) +#define STALE(header) (((header)->attributes & RDATASET_ATTR_STALE) != 0) +#define RESIGN(header) (((header)->attributes & RDATASET_ATTR_RESIGN) != 0) +#define OPTOUT(header) (((header)->attributes & RDATASET_ATTR_OPTOUT) != 0) +#define NEGATIVE(header) (((header)->attributes & RDATASET_ATTR_NEGATIVE) != 0) +#define PREFETCH(header) (((header)->attributes & RDATASET_ATTR_PREFETCH) != 0) +#define CASESET(header) (((header)->attributes & RDATASET_ATTR_CASESET) != 0) +#define ZEROTTL(header) (((header)->attributes & RDATASET_ATTR_ZEROTTL) != 0) #define CASEFULLYLOWER(header) \ (((header)->attributes & RDATASET_ATTR_CASEFULLYLOWER) != 0) -#define ANCIENT(header) \ - (((header)->attributes & RDATASET_ATTR_ANCIENT) != 0) +#define ANCIENT(header) (((header)->attributes & RDATASET_ATTR_ANCIENT) != 0) -#define ACTIVE(header, now) \ +#define ACTIVE(header, now) \ (((header)->rdh_ttl > (now)) || \ ((header)->rdh_ttl == (now) && ZEROTTL(header))) -#define DEFAULT_NODE_LOCK_COUNT 7 /*%< Should be prime. */ -#define RBTDB_GLUE_TABLE_INIT_SIZE 2U +#define DEFAULT_NODE_LOCK_COUNT 7 /*%< Should be prime. */ +#define RBTDB_GLUE_TABLE_INIT_SIZE 2U /*% * Number of buckets for cache DB entries (locks, LRU lists, TTL heaps). @@ -329,46 +319,38 @@ typedef ISC_LIST(dns_rbtnode_t) rbtnodelist_t; #define DEFAULT_CACHE_NODE_LOCK_COUNT DNS_RBTDB_CACHE_NODE_LOCK_COUNT #endif #else -#define DEFAULT_CACHE_NODE_LOCK_COUNT 16 -#endif /* DNS_RBTDB_CACHE_NODE_LOCK_COUNT */ +#define DEFAULT_CACHE_NODE_LOCK_COUNT 16 +#endif /* DNS_RBTDB_CACHE_NODE_LOCK_COUNT */ typedef struct { - nodelock_t lock; + nodelock_t lock; /* Protected in the refcount routines. */ - isc_refcount_t references; + isc_refcount_t references; /* Locked by lock. */ - bool exiting; + bool exiting; } rbtdb_nodelock_t; typedef struct rbtdb_changed { - dns_rbtnode_t * node; - bool dirty; - ISC_LINK(struct rbtdb_changed) link; + dns_rbtnode_t *node; + bool dirty; + ISC_LINK(struct rbtdb_changed) link; } rbtdb_changed_t; -typedef ISC_LIST(rbtdb_changed_t) rbtdb_changedlist_t; +typedef ISC_LIST(rbtdb_changed_t) rbtdb_changedlist_t; -typedef enum { - dns_db_insecure, - dns_db_partial, - dns_db_secure -} dns_db_secure_t; +typedef enum { dns_db_insecure, dns_db_partial, dns_db_secure } dns_db_secure_t; typedef struct dns_rbtdb dns_rbtdb_t; /* Reason for expiring a record from cache */ -typedef enum { - expire_lru, - expire_ttl, - expire_flush -} expire_t; +typedef enum { expire_lru, expire_ttl, expire_flush } expire_t; typedef struct rbtdb_glue rbtdb_glue_t; typedef struct rbtdb_glue_table_node { struct rbtdb_glue_table_node *next; - dns_rbtnode_t *node; - rbtdb_glue_t *glue_list; + dns_rbtnode_t * node; + rbtdb_glue_t * glue_list; } rbtdb_glue_table_node_t; typedef enum { @@ -379,91 +361,91 @@ typedef enum { typedef struct rbtdb_version { /* Not locked */ - rbtdb_serial_t serial; - dns_rbtdb_t * rbtdb; + rbtdb_serial_t serial; + dns_rbtdb_t * rbtdb; /* * Protected in the refcount routines. * XXXJT: should we change the lock policy based on the refcount * performance? */ - isc_refcount_t references; + isc_refcount_t references; /* Locked by database lock. */ - bool writer; - bool commit_ok; - rbtdb_changedlist_t changed_list; - rdatasetheaderlist_t resigned_list; - ISC_LINK(struct rbtdb_version) link; - dns_db_secure_t secure; - bool havensec3; + bool writer; + bool commit_ok; + rbtdb_changedlist_t changed_list; + rdatasetheaderlist_t resigned_list; + ISC_LINK(struct rbtdb_version) link; + dns_db_secure_t secure; + bool havensec3; /* NSEC3 parameters */ - dns_hash_t hash; - uint8_t flags; - uint16_t iterations; - uint8_t salt_length; - unsigned char salt[DNS_NSEC3_SALTSIZE]; + dns_hash_t hash; + uint8_t flags; + uint16_t iterations; + uint8_t salt_length; + unsigned char salt[DNS_NSEC3_SALTSIZE]; /* * records and bytes are covered by rwlock. */ - isc_rwlock_t rwlock; - uint64_t records; - uint64_t bytes; + isc_rwlock_t rwlock; + uint64_t records; + uint64_t bytes; - isc_rwlock_t glue_rwlock; - size_t glue_table_size; - size_t glue_table_nodecount; - rbtdb_glue_table_node_t **glue_table; + isc_rwlock_t glue_rwlock; + size_t glue_table_size; + size_t glue_table_nodecount; + rbtdb_glue_table_node_t **glue_table; } rbtdb_version_t; -typedef ISC_LIST(rbtdb_version_t) rbtdb_versionlist_t; +typedef ISC_LIST(rbtdb_version_t) rbtdb_versionlist_t; struct dns_rbtdb { /* Unlocked. */ - dns_db_t common; + dns_db_t common; /* Locks the data in this struct */ - isc_rwlock_t lock; + isc_rwlock_t lock; /* Locks the tree structure (prevents nodes appearing/disappearing) */ - isc_rwlock_t tree_lock; + isc_rwlock_t tree_lock; /* Locks for individual tree nodes */ - unsigned int node_lock_count; - rbtdb_nodelock_t * node_locks; - dns_rbtnode_t * origin_node; - dns_rbtnode_t * nsec3_origin_node; - dns_stats_t * rrsetstats; /* cache DB only */ - isc_stats_t * cachestats; /* cache DB only */ - isc_stats_t * gluecachestats; /* zone DB only */ + unsigned int node_lock_count; + rbtdb_nodelock_t *node_locks; + dns_rbtnode_t * origin_node; + dns_rbtnode_t * nsec3_origin_node; + dns_stats_t * rrsetstats; /* cache DB only */ + isc_stats_t * cachestats; /* cache DB only */ + isc_stats_t * gluecachestats; /* zone DB only */ /* Locked by lock. */ - unsigned int active; - isc_refcount_t references; - unsigned int attributes; - rbtdb_serial_t current_serial; - rbtdb_serial_t least_serial; - rbtdb_serial_t next_serial; - rbtdb_version_t * current_version; - rbtdb_version_t * future_version; - rbtdb_versionlist_t open_versions; - isc_task_t * task; - dns_dbnode_t *soanode; - dns_dbnode_t *nsnode; + unsigned int active; + isc_refcount_t references; + unsigned int attributes; + rbtdb_serial_t current_serial; + rbtdb_serial_t least_serial; + rbtdb_serial_t next_serial; + rbtdb_version_t * current_version; + rbtdb_version_t * future_version; + rbtdb_versionlist_t open_versions; + isc_task_t * task; + dns_dbnode_t * soanode; + dns_dbnode_t * nsnode; /* * Maximum length of time to keep using a stale answer past its * normal TTL expiry. - */ - dns_ttl_t serve_stale_ttl; + */ + dns_ttl_t serve_stale_ttl; /* * This is a linked list used to implement the LRU cache. There will * be node_lock_count linked lists here. Nodes in bucket 1 will be * placed on the linked list rdatasets[1]. */ - rdatasetheaderlist_t *rdatasets; + rdatasetheaderlist_t *rdatasets; /*% * Temporary storage for stale cache nodes and dynamically deleted * nodes that await being cleaned up. */ - rbtnodelist_t *deadnodes; + rbtnodelist_t *deadnodes; /* * Heaps. These are used for TTL based expiry in a cache, @@ -471,26 +453,26 @@ struct dns_rbtdb { * context to use for the heap (which differs from the main * database memory context in the case of a cache). */ - isc_mem_t *hmctx; - isc_heap_t **heaps; + isc_mem_t * hmctx; + isc_heap_t **heaps; /* * Base values for the mmap() code. */ - void * mmap_location; - size_t mmap_size; + void * mmap_location; + size_t mmap_size; /* Locked by tree_lock. */ - dns_rbt_t * tree; - dns_rbt_t * nsec; - dns_rbt_t * nsec3; + dns_rbt_t *tree; + dns_rbt_t *nsec; + dns_rbt_t *nsec3; /* Unlocked */ - unsigned int quantum; + unsigned int quantum; }; -#define RBTDB_ATTR_LOADED 0x01 -#define RBTDB_ATTR_LOADING 0x02 +#define RBTDB_ATTR_LOADED 0x01 +#define RBTDB_ATTR_LOADING 0x02 #define KEEPSTALE(rbtdb) ((rbtdb)->serve_stale_ttl > 0) @@ -498,87 +480,98 @@ struct dns_rbtdb { * Search Context */ typedef struct { - dns_rbtdb_t * rbtdb; - rbtdb_version_t * rbtversion; - rbtdb_serial_t serial; - unsigned int options; - dns_rbtnodechain_t chain; - bool copy_name; - bool need_cleanup; - bool wild; - dns_rbtnode_t * zonecut; - rdatasetheader_t * zonecut_rdataset; - rdatasetheader_t * zonecut_sigrdataset; - dns_fixedname_t zonecut_name; - isc_stdtime_t now; + dns_rbtdb_t * rbtdb; + rbtdb_version_t * rbtversion; + rbtdb_serial_t serial; + unsigned int options; + dns_rbtnodechain_t chain; + bool copy_name; + bool need_cleanup; + bool wild; + dns_rbtnode_t * zonecut; + rdatasetheader_t * zonecut_rdataset; + rdatasetheader_t * zonecut_sigrdataset; + dns_fixedname_t zonecut_name; + isc_stdtime_t now; } rbtdb_search_t; /*% * Load Context */ typedef struct { - dns_rbtdb_t * rbtdb; - isc_stdtime_t now; + dns_rbtdb_t * rbtdb; + isc_stdtime_t now; } rbtdb_load_t; -static void delete_callback(void *data, void *arg); -static void rdataset_disassociate(dns_rdataset_t *rdataset); -static isc_result_t rdataset_first(dns_rdataset_t *rdataset); -static isc_result_t rdataset_next(dns_rdataset_t *rdataset); -static void rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata); -static void rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target); -static unsigned int rdataset_count(dns_rdataset_t *rdataset); -static isc_result_t rdataset_getnoqname(dns_rdataset_t *rdataset, - dns_name_t *name, - dns_rdataset_t *neg, - dns_rdataset_t *negsig); -static isc_result_t rdataset_getclosest(dns_rdataset_t *rdataset, - dns_name_t *name, - dns_rdataset_t *neg, - dns_rdataset_t *negsig); -static inline bool need_headerupdate(rdatasetheader_t *header, - isc_stdtime_t now); -static void update_header(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, - isc_stdtime_t now); -static void expire_header(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, - bool tree_locked, expire_t reason); -static void overmem_purge(dns_rbtdb_t *rbtdb, unsigned int locknum_start, - isc_stdtime_t now, bool tree_locked); -static isc_result_t resign_insert(dns_rbtdb_t *rbtdb, int idx, - rdatasetheader_t *newheader); -static void resign_delete(dns_rbtdb_t *rbtdb, rbtdb_version_t *version, - rdatasetheader_t *header); -static void prune_tree(isc_task_t *task, isc_event_t *event); -static void rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust); -static void rdataset_expire(dns_rdataset_t *rdataset); -static void rdataset_clearprefetch(dns_rdataset_t *rdataset); -static void rdataset_setownercase(dns_rdataset_t *rdataset, - const dns_name_t *name); -static void rdataset_getownercase(const dns_rdataset_t *rdataset, - dns_name_t *name); -static isc_result_t rdataset_addglue(dns_rdataset_t *rdataset, - dns_dbversion_t *version, - dns_message_t *msg); -static void free_gluetable(rbtdb_version_t *version); +static void +delete_callback(void *data, void *arg); +static void +rdataset_disassociate(dns_rdataset_t *rdataset); +static isc_result_t +rdataset_first(dns_rdataset_t *rdataset); +static isc_result_t +rdataset_next(dns_rdataset_t *rdataset); +static void +rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata); +static void +rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target); +static unsigned int +rdataset_count(dns_rdataset_t *rdataset); +static isc_result_t +rdataset_getnoqname(dns_rdataset_t *rdataset, dns_name_t *name, + dns_rdataset_t *neg, dns_rdataset_t *negsig); +static isc_result_t +rdataset_getclosest(dns_rdataset_t *rdataset, dns_name_t *name, + dns_rdataset_t *neg, dns_rdataset_t *negsig); +static inline bool +need_headerupdate(rdatasetheader_t *header, isc_stdtime_t now); +static void +update_header(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, isc_stdtime_t now); +static void +expire_header(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, bool tree_locked, + expire_t reason); +static void +overmem_purge(dns_rbtdb_t *rbtdb, unsigned int locknum_start, isc_stdtime_t now, + bool tree_locked); +static isc_result_t +resign_insert(dns_rbtdb_t *rbtdb, int idx, rdatasetheader_t *newheader); +static void +resign_delete(dns_rbtdb_t *rbtdb, rbtdb_version_t *version, + rdatasetheader_t *header); +static void +prune_tree(isc_task_t *task, isc_event_t *event); +static void +rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust); +static void +rdataset_expire(dns_rdataset_t *rdataset); +static void +rdataset_clearprefetch(dns_rdataset_t *rdataset); +static void +rdataset_setownercase(dns_rdataset_t *rdataset, const dns_name_t *name); +static void +rdataset_getownercase(const dns_rdataset_t *rdataset, dns_name_t *name); +static isc_result_t +rdataset_addglue(dns_rdataset_t *rdataset, dns_dbversion_t *version, + dns_message_t *msg); +static void +free_gluetable(rbtdb_version_t *version); -static dns_rdatasetmethods_t rdataset_methods = { - rdataset_disassociate, - rdataset_first, - rdataset_next, - rdataset_current, - rdataset_clone, - rdataset_count, - NULL, /* addnoqname */ - rdataset_getnoqname, - NULL, /* addclosest */ - rdataset_getclosest, - rdataset_settrust, - rdataset_expire, - rdataset_clearprefetch, - rdataset_setownercase, - rdataset_getownercase, - rdataset_addglue -}; +static dns_rdatasetmethods_t rdataset_methods = { rdataset_disassociate, + rdataset_first, + rdataset_next, + rdataset_current, + rdataset_clone, + rdataset_count, + NULL, /* addnoqname */ + rdataset_getnoqname, + NULL, /* addclosest */ + rdataset_getclosest, + rdataset_settrust, + rdataset_expire, + rdataset_clearprefetch, + rdataset_setownercase, + rdataset_getownercase, + rdataset_addglue }; static dns_rdatasetmethods_t slab_methods = { rdataset_disassociate, @@ -599,22 +592,23 @@ static dns_rdatasetmethods_t slab_methods = { NULL /* addglue */ }; -static void rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp); -static isc_result_t rdatasetiter_first(dns_rdatasetiter_t *iterator); -static isc_result_t rdatasetiter_next(dns_rdatasetiter_t *iterator); -static void rdatasetiter_current(dns_rdatasetiter_t *iterator, - dns_rdataset_t *rdataset); +static void +rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp); +static isc_result_t +rdatasetiter_first(dns_rdatasetiter_t *iterator); +static isc_result_t +rdatasetiter_next(dns_rdatasetiter_t *iterator); +static void +rdatasetiter_current(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset); static dns_rdatasetitermethods_t rdatasetiter_methods = { - rdatasetiter_destroy, - rdatasetiter_first, - rdatasetiter_next, + rdatasetiter_destroy, rdatasetiter_first, rdatasetiter_next, rdatasetiter_current }; typedef struct rbtdb_rdatasetiter { - dns_rdatasetiter_t common; - rdatasetheader_t * current; + dns_rdatasetiter_t common; + rdatasetheader_t * current; } rbtdb_rdatasetiter_t; /* @@ -626,30 +620,30 @@ typedef struct rbtdb_rdatasetiter { * the address of either "chain" or "nsec3chain", depending on which RBT is * being traversed at given time. */ -static void dbiterator_destroy(dns_dbiterator_t **iteratorp); -static isc_result_t dbiterator_first(dns_dbiterator_t *iterator); -static isc_result_t dbiterator_last(dns_dbiterator_t *iterator); -static isc_result_t dbiterator_seek(dns_dbiterator_t *iterator, - const dns_name_t *name); -static isc_result_t dbiterator_prev(dns_dbiterator_t *iterator); -static isc_result_t dbiterator_next(dns_dbiterator_t *iterator); -static isc_result_t dbiterator_current(dns_dbiterator_t *iterator, - dns_dbnode_t **nodep, - dns_name_t *name); -static isc_result_t dbiterator_pause(dns_dbiterator_t *iterator); -static isc_result_t dbiterator_origin(dns_dbiterator_t *iterator, - dns_name_t *name); +static void +dbiterator_destroy(dns_dbiterator_t **iteratorp); +static isc_result_t +dbiterator_first(dns_dbiterator_t *iterator); +static isc_result_t +dbiterator_last(dns_dbiterator_t *iterator); +static isc_result_t +dbiterator_seek(dns_dbiterator_t *iterator, const dns_name_t *name); +static isc_result_t +dbiterator_prev(dns_dbiterator_t *iterator); +static isc_result_t +dbiterator_next(dns_dbiterator_t *iterator); +static isc_result_t +dbiterator_current(dns_dbiterator_t *iterator, dns_dbnode_t **nodep, + dns_name_t *name); +static isc_result_t +dbiterator_pause(dns_dbiterator_t *iterator); +static isc_result_t +dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t *name); static dns_dbiteratormethods_t dbiterator_methods = { - dbiterator_destroy, - dbiterator_first, - dbiterator_last, - dbiterator_seek, - dbiterator_prev, - dbiterator_next, - dbiterator_current, - dbiterator_pause, - dbiterator_origin + dbiterator_destroy, dbiterator_first, dbiterator_last, + dbiterator_seek, dbiterator_prev, dbiterator_next, + dbiterator_current, dbiterator_pause, dbiterator_origin }; #define DELETION_BATCH_MAX 64 @@ -658,34 +652,37 @@ static dns_dbiteratormethods_t dbiterator_methods = { * If 'paused' is true, then the tree lock is not being held. */ typedef struct rbtdb_dbiterator { - dns_dbiterator_t common; - bool paused; - bool new_origin; - isc_rwlocktype_t tree_locked; - isc_result_t result; - dns_fixedname_t name; - dns_fixedname_t origin; - dns_rbtnodechain_t chain; - dns_rbtnodechain_t nsec3chain; - dns_rbtnodechain_t *current; - dns_rbtnode_t *node; - dns_rbtnode_t *deletions[DELETION_BATCH_MAX]; - int delcnt; - bool nsec3only; - bool nonsec3; + dns_dbiterator_t common; + bool paused; + bool new_origin; + isc_rwlocktype_t tree_locked; + isc_result_t result; + dns_fixedname_t name; + dns_fixedname_t origin; + dns_rbtnodechain_t chain; + dns_rbtnodechain_t nsec3chain; + dns_rbtnodechain_t *current; + dns_rbtnode_t * node; + dns_rbtnode_t * deletions[DELETION_BATCH_MAX]; + int delcnt; + bool nsec3only; + bool nonsec3; } rbtdb_dbiterator_t; - -#define IS_STUB(rbtdb) (((rbtdb)->common.attributes & DNS_DBATTR_STUB) != 0) +#define IS_STUB(rbtdb) (((rbtdb)->common.attributes & DNS_DBATTR_STUB) != 0) #define IS_CACHE(rbtdb) (((rbtdb)->common.attributes & DNS_DBATTR_CACHE) != 0) -static void free_rbtdb(dns_rbtdb_t *rbtdb, bool log, - isc_event_t *event); -static void overmem(dns_db_t *db, bool over); -static void setnsec3parameters(dns_db_t *db, rbtdb_version_t *version); -static void setownercase(rdatasetheader_t *header, const dns_name_t *name); +static void +free_rbtdb(dns_rbtdb_t *rbtdb, bool log, isc_event_t *event); +static void +overmem(dns_db_t *db, bool over); +static void +setnsec3parameters(dns_db_t *db, rbtdb_version_t *version); +static void +setownercase(rdatasetheader_t *header, const dns_name_t *name); -static bool match_header_version(rbtdb_file_header_t *header); +static bool +match_header_version(rbtdb_file_header_t *header); /* Pad to 32 bytes */ static char FILE_VERSION[32] = "\0"; @@ -730,12 +727,13 @@ static atomic_uint_fast32_t init_count; */ #ifdef DEBUG static void -hexdump(const char *desc, unsigned char *data, size_t size) { - char hexdump[BUFSIZ * 2 + 1]; +hexdump(const char *desc, unsigned char *data, size_t size) +{ + char hexdump[BUFSIZ * 2 + 1]; isc_buffer_t b; isc_region_t r; isc_result_t result; - size_t bytes; + size_t bytes; fprintf(stderr, "%s: ", desc); do { @@ -770,7 +768,8 @@ hexdump(const char *desc, unsigned char *data, size_t size) { */ static void -attach(dns_db_t *source, dns_db_t **targetp) { +attach(dns_db_t *source, dns_db_t **targetp) +{ dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)source; REQUIRE(VALID_RBTDB(rbtdb)); @@ -781,7 +780,8 @@ attach(dns_db_t *source, dns_db_t **targetp) { } static void -free_rbtdb_callback(isc_task_t *task, isc_event_t *event) { +free_rbtdb_callback(isc_task_t *task, isc_event_t *event) +{ dns_rbtdb_t *rbtdb = event->ev_arg; UNUSED(task); @@ -790,7 +790,8 @@ free_rbtdb_callback(isc_task_t *task, isc_event_t *event) { } static void -update_cachestats(dns_rbtdb_t *rbtdb, isc_result_t result) { +update_cachestats(dns_rbtdb_t *rbtdb, isc_result_t result) +{ INSIST(IS_CACHE(rbtdb)); if (rbtdb->cachestats == NULL) @@ -813,14 +814,14 @@ update_cachestats(dns_rbtdb_t *rbtdb, isc_result_t result) { } static bool -do_stats(rdatasetheader_t *header) { +do_stats(rdatasetheader_t *header) +{ return (EXISTS(header) && (header->attributes & RDATASET_ATTR_STATCOUNT) != 0); } static void -update_rrsetstats(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, - bool increment) +update_rrsetstats(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, bool increment) { dns_rdatastatstype_t statattributes = 0; dns_rdatastatstype_t base = 0; @@ -860,11 +861,11 @@ update_rrsetstats(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, } static void -set_ttl(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, dns_ttl_t newttl) { - int idx; +set_ttl(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, dns_ttl_t newttl) +{ + int idx; isc_heap_t *heap; - dns_ttl_t oldttl; - + dns_ttl_t oldttl; if (!IS_CACHE(rbtdb)) { header->rdh_ttl = newttl; @@ -883,7 +884,7 @@ set_ttl(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, dns_ttl_t newttl) { return; idx = header->node->locknum; if (rbtdb->heaps == NULL || rbtdb->heaps[idx] == NULL) - return; + return; heap = rbtdb->heaps[idx]; if (newttl < oldttl) @@ -897,7 +898,8 @@ set_ttl(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, dns_ttl_t newttl) { * element. It returns true if v1 happens "sooner" than v2. */ static bool -ttl_sooner(void *v1, void *v2) { +ttl_sooner(void *v1, void *v2) +{ rdatasetheader_t *h1 = v1; rdatasetheader_t *h2 = v2; @@ -905,20 +907,21 @@ ttl_sooner(void *v1, void *v2) { } static bool -resign_sooner(void *v1, void *v2) { +resign_sooner(void *v1, void *v2) +{ rdatasetheader_t *h1 = v1; rdatasetheader_t *h2 = v2; return (h1->resign < h2->resign || - (h1->resign == h2->resign && - h1->resign_lsb < h2->resign_lsb)); + (h1->resign == h2->resign && h1->resign_lsb < h2->resign_lsb)); } /*% * This function sets the heap index into the header. */ static void -set_index(void *what, unsigned int idx) { +set_index(void *what, unsigned int idx) +{ rdatasetheader_t *h = what; h->heap_index = idx; @@ -931,18 +934,19 @@ set_index(void *what, unsigned int idx) { * iteration. */ static unsigned int -adjust_quantum(unsigned int old, isc_time_t *start) { - unsigned int pps = dns_pps; /* packets per second */ +adjust_quantum(unsigned int old, isc_time_t *start) +{ + unsigned int pps = dns_pps; /* packets per second */ unsigned int interval; - uint64_t usecs; - isc_time_t end; + uint64_t usecs; + isc_time_t end; unsigned int nodes; if (pps < 100) pps = 100; isc_time_now(&end); - interval = 1000000 / pps; /* interval in usec */ + interval = 1000000 / pps; /* interval in usec */ if (interval == 0) interval = 1; usecs = isc_time_microdiff(&end, start); @@ -975,12 +979,13 @@ adjust_quantum(unsigned int old, isc_time_t *start) { } static void -free_rbtdb(dns_rbtdb_t *rbtdb, bool log, isc_event_t *event) { - unsigned int i; - isc_result_t result; - char buf[DNS_NAME_FORMATSIZE]; - dns_rbt_t **treep; - isc_time_t start; +free_rbtdb(dns_rbtdb_t *rbtdb, bool log, isc_event_t *event) +{ + unsigned int i; + isc_result_t result; + char buf[DNS_NAME_FORMATSIZE]; + dns_rbt_t ** treep; + isc_time_t start; dns_dbonupdatelistener_t *listener, *listener_next; if (IS_CACHE(rbtdb) && rbtdb->common.rdclass == dns_rdataclass_in) @@ -990,10 +995,8 @@ free_rbtdb(dns_rbtdb_t *rbtdb, bool log, isc_event_t *event) { REQUIRE(rbtdb->future_version == NULL); if (rbtdb->current_version != NULL) { - INSIST(isc_refcount_decrement( - &rbtdb->current_version->references) - == 1); + &rbtdb->current_version->references) == 1); UNLINK(rbtdb->open_versions, rbtdb->current_version, link); isc_rwlock_destroy(&rbtdb->current_version->glue_rwlock); @@ -1042,15 +1045,14 @@ free_rbtdb(dns_rbtdb_t *rbtdb, bool log, isc_event_t *event) { if (result == ISC_R_QUOTA) { INSIST(rbtdb->task != NULL); if (rbtdb->quantum != 0) - rbtdb->quantum = adjust_quantum(rbtdb->quantum, - &start); + rbtdb->quantum = + adjust_quantum(rbtdb->quantum, &start); if (event == NULL) - event = isc_event_allocate(rbtdb->common.mctx, - NULL, - DNS_EVENT_FREESTORAGE, - free_rbtdb_callback, - rbtdb, - sizeof(isc_event_t)); + event = isc_event_allocate( + rbtdb->common.mctx, NULL, + DNS_EVENT_FREESTORAGE, + free_rbtdb_callback, rbtdb, + sizeof(isc_event_t)); isc_task_send(rbtdb->task, &event); return; } @@ -1084,7 +1086,7 @@ free_rbtdb(dns_rbtdb_t *rbtdb, bool log, isc_event_t *event) { INSIST(ISC_LIST_EMPTY(rbtdb->rdatasets[i])); isc_mem_put(rbtdb->common.mctx, rbtdb->rdatasets, rbtdb->node_lock_count * - sizeof(rdatasetheaderlist_t)); + sizeof(rdatasetheaderlist_t)); } /* * Clean up dead node buckets. @@ -1093,7 +1095,7 @@ free_rbtdb(dns_rbtdb_t *rbtdb, bool log, isc_event_t *event) { for (i = 0; i < rbtdb->node_lock_count; i++) INSIST(ISC_LIST_EMPTY(rbtdb->deadnodes[i])); isc_mem_put(rbtdb->common.mctx, rbtdb->deadnodes, - rbtdb->node_lock_count * sizeof(rbtnodelist_t)); + rbtdb->node_lock_count * sizeof(rbtnodelist_t)); } /* * Clean up heap objects. @@ -1125,13 +1127,10 @@ free_rbtdb(dns_rbtdb_t *rbtdb, bool log, isc_event_t *event) { isc_mem_detach(&rbtdb->hmctx); if (rbtdb->mmap_location != NULL) - isc_file_munmap(rbtdb->mmap_location, - (size_t) rbtdb->mmap_size); + isc_file_munmap(rbtdb->mmap_location, (size_t)rbtdb->mmap_size); for (listener = ISC_LIST_HEAD(rbtdb->common.update_listeners); - listener != NULL; - listener = listener_next) - { + listener != NULL; listener = listener_next) { listener_next = ISC_LIST_NEXT(listener, link); ISC_LIST_UNLINK(rbtdb->common.update_listeners, listener, link); isc_mem_put(rbtdb->common.mctx, listener, @@ -1142,8 +1141,9 @@ free_rbtdb(dns_rbtdb_t *rbtdb, bool log, isc_event_t *event) { } static inline void -maybe_free_rbtdb(dns_rbtdb_t *rbtdb) { - bool want_free = false; +maybe_free_rbtdb(dns_rbtdb_t *rbtdb) +{ + bool want_free = false; unsigned int i; unsigned int inactive = 0; @@ -1171,8 +1171,8 @@ maybe_free_rbtdb(dns_rbtdb_t *rbtdb) { NODE_LOCK(&rbtdb->node_locks[i].lock, isc_rwlocktype_write); rbtdb->node_locks[i].exiting = true; NODE_UNLOCK(&rbtdb->node_locks[i].lock, isc_rwlocktype_write); - if (isc_refcount_current(&rbtdb->node_locks[i].references) == 0) - { + if (isc_refcount_current(&rbtdb->node_locks[i].references) == + 0) { inactive++; } } @@ -1201,7 +1201,8 @@ maybe_free_rbtdb(dns_rbtdb_t *rbtdb) { } static void -detach(dns_db_t **dbp) { +detach(dns_db_t **dbp) +{ REQUIRE(dbp != NULL && VALID_RBTDB((dns_rbtdb_t *)(*dbp))); dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)(*dbp); *dbp = NULL; @@ -1212,8 +1213,9 @@ detach(dns_db_t **dbp) { } static void -currentversion(dns_db_t *db, dns_dbversion_t **versionp) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; +currentversion(dns_db_t *db, dns_dbversion_t **versionp) +{ + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; rbtdb_version_t *version; REQUIRE(VALID_RBTDB(rbtdb)); @@ -1230,9 +1232,9 @@ static inline rbtdb_version_t * allocate_version(isc_mem_t *mctx, rbtdb_serial_t serial, unsigned int references, bool writer) { - isc_result_t result; + isc_result_t result; rbtdb_version_t *version; - size_t i; + size_t i; version = isc_mem_get(mctx, sizeof(*version)); version->serial = serial; @@ -1248,8 +1250,8 @@ allocate_version(isc_mem_t *mctx, rbtdb_serial_t serial, version->glue_table_size = RBTDB_GLUE_TABLE_INIT_SIZE; version->glue_table_nodecount = 0U; - version->glue_table = isc_mem_get(mctx, - (version->glue_table_size * sizeof(*version->glue_table))); + version->glue_table = isc_mem_get(mctx, (version->glue_table_size * + sizeof(*version->glue_table))); version->writer = writer; version->commit_ok = false; @@ -1264,9 +1266,10 @@ allocate_version(isc_mem_t *mctx, rbtdb_serial_t serial, } static isc_result_t -newversion(dns_db_t *db, dns_dbversion_t **versionp) { - isc_result_t result; - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; +newversion(dns_db_t *db, dns_dbversion_t **versionp) +{ + isc_result_t result; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; rbtdb_version_t *version; REQUIRE(VALID_RBTDB(rbtdb)); @@ -1274,7 +1277,7 @@ newversion(dns_db_t *db, dns_dbversion_t **versionp) { REQUIRE(rbtdb->future_version == NULL); RBTDB_LOCK(&rbtdb->lock, isc_rwlocktype_write); - RUNTIME_CHECK(rbtdb->next_serial != 0); /* XXX Error? */ + RUNTIME_CHECK(rbtdb->next_serial != 0); /* XXX Error? */ version = allocate_version(rbtdb->common.mctx, rbtdb->next_serial, 1, true); if (version != NULL) { @@ -1329,10 +1332,9 @@ newversion(dns_db_t *db, dns_dbversion_t **versionp) { } static void -attachversion(dns_db_t *db, dns_dbversion_t *source, - dns_dbversion_t **targetp) +attachversion(dns_db_t *db, dns_dbversion_t *source, dns_dbversion_t **targetp) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; rbtdb_version_t *rbtversion = source; REQUIRE(VALID_RBTDB(rbtdb)); @@ -1344,8 +1346,7 @@ attachversion(dns_db_t *db, dns_dbversion_t *source, } static rbtdb_changed_t * -add_changed(dns_rbtdb_t *rbtdb, rbtdb_version_t *version, - dns_rbtnode_t *node) +add_changed(dns_rbtdb_t *rbtdb, rbtdb_version_t *version, dns_rbtnode_t *node) { rbtdb_changed_t *changed; @@ -1374,8 +1375,8 @@ add_changed(dns_rbtdb_t *rbtdb, rbtdb_version_t *version, } static inline void -free_noqname(isc_mem_t *mctx, struct noqname **noqname) { - +free_noqname(isc_mem_t *mctx, struct noqname **noqname) +{ if (dns_name_dynamic(&(*noqname)->name)) dns_name_free(&(*noqname)->name, mctx); if ((*noqname)->neg != NULL) @@ -1389,7 +1390,8 @@ free_noqname(isc_mem_t *mctx, struct noqname **noqname) { } static inline void -init_rdataset(dns_rbtdb_t *rbtdb, rdatasetheader_t *h) { +init_rdataset(dns_rbtdb_t *rbtdb, rdatasetheader_t *h) +{ ISC_LINK_INIT(h, link); h->heap_index = 0; h->is_mmapped = 0; @@ -1408,16 +1410,17 @@ init_rdataset(dns_rbtdb_t *rbtdb, rdatasetheader_t *h) { * Update the copied values of 'next' and 'node' if they are relative. */ static void -update_newheader(rdatasetheader_t *newh, rdatasetheader_t *old) { +update_newheader(rdatasetheader_t *newh, rdatasetheader_t *old) +{ char *p; if (old->next_is_relative) { - p = (char *) old; + p = (char *)old; p += (uintptr_t)old->next; newh->next = (rdatasetheader_t *)p; } if (old->node_is_relative) { - p = (char *) old; + p = (char *)old; p += (uintptr_t)old->node; newh->node = (dns_rbtnode_t *)p; } @@ -1425,14 +1428,15 @@ update_newheader(rdatasetheader_t *newh, rdatasetheader_t *old) { uint16_t attr; memmove(newh->upper, old->upper, sizeof(old->upper)); - attr = old->attributes & (RDATASET_ATTR_CASESET | - RDATASET_ATTR_CASEFULLYLOWER); + attr = old->attributes & + (RDATASET_ATTR_CASESET | RDATASET_ATTR_CASEFULLYLOWER); newh->attributes |= attr; } } static inline rdatasetheader_t * -new_rdataset(dns_rbtdb_t *rbtdb, isc_mem_t *mctx) { +new_rdataset(dns_rbtdb_t *rbtdb, isc_mem_t *mctx) +{ rdatasetheader_t *h; h = isc_mem_get(mctx, sizeof(*h)); @@ -1448,9 +1452,10 @@ new_rdataset(dns_rbtdb_t *rbtdb, isc_mem_t *mctx) { } static inline void -free_rdataset(dns_rbtdb_t *rbtdb, isc_mem_t *mctx, rdatasetheader_t *rdataset) { +free_rdataset(dns_rbtdb_t *rbtdb, isc_mem_t *mctx, rdatasetheader_t *rdataset) +{ unsigned int size; - int idx; + int idx; update_rrsetstats(rbtdb, rdataset, false); @@ -1482,9 +1487,10 @@ free_rdataset(dns_rbtdb_t *rbtdb, isc_mem_t *mctx, rdatasetheader_t *rdataset) { } static inline void -rollback_node(dns_rbtnode_t *node, rbtdb_serial_t serial) { +rollback_node(dns_rbtnode_t *node, rbtdb_serial_t serial) +{ rdatasetheader_t *header, *dcurrent; - bool make_dirty = false; + bool make_dirty = false; /* * Caller must hold the node lock. @@ -1500,8 +1506,7 @@ rollback_node(dns_rbtnode_t *node, rbtdb_serial_t serial) { header->attributes |= RDATASET_ATTR_IGNORE; make_dirty = true; } - for (dcurrent = header->down; - dcurrent != NULL; + for (dcurrent = header->down; dcurrent != NULL; dcurrent = dcurrent->down) { if (dcurrent->serial == serial) { dcurrent->attributes |= RDATASET_ATTR_IGNORE; @@ -1514,7 +1519,8 @@ rollback_node(dns_rbtnode_t *node, rbtdb_serial_t serial) { } static inline void -mark_header_ancient(dns_rbtdb_t *rbtdb, rdatasetheader_t *header) { +mark_header_ancient(dns_rbtdb_t *rbtdb, rdatasetheader_t *header) +{ /* * If we are already ancient there is nothing to do. */ @@ -1538,7 +1544,8 @@ mark_header_ancient(dns_rbtdb_t *rbtdb, rdatasetheader_t *header) { } static inline void -mark_header_stale(dns_rbtdb_t *rbtdb, rdatasetheader_t *header) { +mark_header_stale(dns_rbtdb_t *rbtdb, rdatasetheader_t *header) +{ /* * If we are already stale there is nothing to do. */ @@ -1572,9 +1579,10 @@ clean_stale_headers(dns_rbtdb_t *rbtdb, isc_mem_t *mctx, rdatasetheader_t *top) } static inline void -clean_cache_node(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node) { +clean_cache_node(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node) +{ rdatasetheader_t *current, *top_prev, *top_next; - isc_mem_t *mctx = rbtdb->common.mctx; + isc_mem_t * mctx = rbtdb->common.mctx; /* * Caller must be holding the node lock. @@ -1589,7 +1597,7 @@ clean_cache_node(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node) { * we are not keeping stale, we can clean it up. */ if (NONEXISTENT(current) || ANCIENT(current) || - (STALE(current) && ! KEEPSTALE(rbtdb))) { + (STALE(current) && !KEEPSTALE(rbtdb))) { if (top_prev != NULL) top_prev->next = current->next; else @@ -1607,8 +1615,8 @@ clean_zone_node(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, { rdatasetheader_t *current, *dcurrent, *down_next, *dparent; rdatasetheader_t *top_prev, *top_next; - isc_mem_t *mctx = rbtdb->common.mctx; - bool still_dirty = false; + isc_mem_t * mctx = rbtdb->common.mctx; + bool still_dirty = false; /* * Caller must be holding the node lock. @@ -1625,8 +1633,7 @@ clean_zone_node(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, * attribute. */ dparent = current; - for (dcurrent = current->down; - dcurrent != NULL; + for (dcurrent = current->down; dcurrent != NULL; dcurrent = down_next) { down_next = dcurrent->down; INSIST(dcurrent->serial <= dparent->serial); @@ -1677,8 +1684,7 @@ clean_zone_node(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, * least serial. */ dparent = current; - for (dcurrent = current->down; - dcurrent != NULL; + for (dcurrent = current->down; dcurrent != NULL; dcurrent = down_next) { down_next = dcurrent->down; if (dcurrent->serial < least_serial) @@ -1731,24 +1737,22 @@ clean_zone_node(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, * tree_lock(write) must be held. */ static void -delete_node(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node) { - dns_rbtnode_t *nsecnode; +delete_node(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node) +{ + dns_rbtnode_t * nsecnode; dns_fixedname_t fname; - dns_name_t *name; - isc_result_t result = ISC_R_UNEXPECTED; + dns_name_t * name; + isc_result_t result = ISC_R_UNEXPECTED; INSIST(!ISC_LINK_LINKED(node, deadlink)); if (isc_log_wouldlog(dns_lctx, ISC_LOG_DEBUG(1))) { char printname[DNS_NAME_FORMATSIZE]; - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_CACHE, - ISC_LOG_DEBUG(1), - "delete_node(): %p %s (bucket %d)", - node, - dns_rbt_formatnodename(node, - printname, sizeof(printname)), + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, + DNS_LOGMODULE_CACHE, ISC_LOG_DEBUG(1), + "delete_node(): %p %s (bucket %d)", node, + dns_rbt_formatnodename(node, printname, + sizeof(printname)), node->locknum); } @@ -1772,8 +1776,8 @@ delete_node(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node) { */ nsecnode = NULL; result = dns_rbt_findnode(rbtdb->nsec, name, NULL, &nsecnode, - NULL, DNS_RBTFIND_EMPTYDATA, - NULL, NULL); + NULL, DNS_RBTFIND_EMPTYDATA, NULL, + NULL); if (result != ISC_R_SUCCESS) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_CACHE, ISC_LOG_WARNING, @@ -1784,13 +1788,12 @@ delete_node(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node) { result = dns_rbt_deletenode(rbtdb->nsec, nsecnode, false); if (result != ISC_R_SUCCESS) { - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_CACHE, - ISC_LOG_WARNING, - "delete_node(): " - "dns_rbt_deletenode(nsecnode): %s", - isc_result_totext(result)); + isc_log_write( + dns_lctx, DNS_LOGCATEGORY_DATABASE, + DNS_LOGMODULE_CACHE, ISC_LOG_WARNING, + "delete_node(): " + "dns_rbt_deletenode(nsecnode): %s", + isc_result_totext(result)); } } result = dns_rbt_deletenode(rbtdb->tree, node, false); @@ -1803,10 +1806,8 @@ delete_node(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node) { break; } if (result != ISC_R_SUCCESS) { - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_CACHE, - ISC_LOG_WARNING, + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, + DNS_LOGMODULE_CACHE, ISC_LOG_WARNING, "delete_node(): " "dns_rbt_deletenode: %s", isc_result_totext(result)); @@ -1817,11 +1818,13 @@ delete_node(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node) { * Caller must be holding the node lock. */ static inline void -new_reference(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node) { +new_reference(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node) +{ INSIST(!ISC_LINK_LINKED(node, deadlink)); if (isc_refcount_increment0(&node->references) == 0) { /* this is the first reference to the node */ - isc_refcount_increment0(&rbtdb->node_locks[node->locknum].references); + isc_refcount_increment0( + &rbtdb->node_locks[node->locknum].references); } } @@ -1829,20 +1832,20 @@ new_reference(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node) { * The tree lock must be held for the result to be valid. */ static inline bool -is_leaf(dns_rbtnode_t *node) { +is_leaf(dns_rbtnode_t *node) +{ return (node->parent != NULL && node->parent->down == node && node->left == NULL && node->right == NULL); } static inline void -send_to_prune_tree(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node) { +send_to_prune_tree(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node) +{ isc_event_t *ev; - dns_db_t *db; + dns_db_t * db; - ev = isc_event_allocate(rbtdb->common.mctx, NULL, - DNS_EVENT_RBTPRUNE, - prune_tree, node, - sizeof(isc_event_t)); + ev = isc_event_allocate(rbtdb->common.mctx, NULL, DNS_EVENT_RBTPRUNE, + prune_tree, node, sizeof(isc_event_t)); new_reference(rbtdb, node); db = NULL; attach((dns_db_t *)rbtdb, &db); @@ -1859,9 +1862,10 @@ send_to_prune_tree(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node) { * The caller must hold a tree write lock and bucketnum'th node (write) lock. */ static void -cleanup_dead_nodes(dns_rbtdb_t *rbtdb, int bucketnum) { +cleanup_dead_nodes(dns_rbtdb_t *rbtdb, int bucketnum) +{ dns_rbtnode_t *node; - int count = 10; /* XXXJT: should be adjustable */ + int count = 10; /* XXXJT: should be adjustable */ node = ISC_LIST_HEAD(rbtdb->deadnodes[bucketnum]); while (node != NULL && count > 0) { @@ -1891,8 +1895,8 @@ cleanup_dead_nodes(dns_rbtdb_t *rbtdb, int bucketnum) { * A interior node without data. Leave linked to * to be cleaned up when node->down becomes NULL. */ - ISC_LIST_APPEND(rbtdb->deadnodes[bucketnum], - node, deadlink); + ISC_LIST_APPEND(rbtdb->deadnodes[bucketnum], node, + deadlink); } node = ISC_LIST_HEAD(rbtdb->deadnodes[bucketnum]); count--; @@ -1914,8 +1918,8 @@ reactivate_node(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, isc_rwlocktype_t treelocktype) { isc_rwlocktype_t locktype = isc_rwlocktype_read; - nodelock_t *nodelock = &rbtdb->node_locks[node->locknum].lock; - bool maybe_cleanup = false; + nodelock_t * nodelock = &rbtdb->node_locks[node->locknum].lock; + bool maybe_cleanup = false; POST(locktype); @@ -1939,8 +1943,8 @@ reactivate_node(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, POST(locktype); NODE_LOCK(nodelock, locktype); if (ISC_LINK_LINKED(node, deadlink)) - ISC_LIST_UNLINK(rbtdb->deadnodes[node->locknum], - node, deadlink); + ISC_LIST_UNLINK(rbtdb->deadnodes[node->locknum], node, + deadlink); if (maybe_cleanup) cleanup_dead_nodes(rbtdb, node->locknum); } @@ -1966,21 +1970,20 @@ reactivate_node(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, */ static bool decrement_reference(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, - rbtdb_serial_t least_serial, - isc_rwlocktype_t nlock, isc_rwlocktype_t tlock, - bool pruning) + rbtdb_serial_t least_serial, isc_rwlocktype_t nlock, + isc_rwlocktype_t tlock, bool pruning) { - isc_result_t result; - bool write_locked; - bool locked = tlock != isc_rwlocktype_none; + isc_result_t result; + bool write_locked; + bool locked = tlock != isc_rwlocktype_none; rbtdb_nodelock_t *nodelock; - int bucket = node->locknum; - bool no_reference = true; - uint_fast32_t refs; + int bucket = node->locknum; + bool no_reference = true; + uint_fast32_t refs; nodelock = &rbtdb->node_locks[bucket]; -#define KEEP_NODE(n, r, l) \ +#define KEEP_NODE(n, r, l) \ ((n)->data != NULL || ((l) && (n)->down != NULL) || \ (n) == (r)->origin_node || (n) == (r)->nsec3_origin_node) @@ -2019,8 +2022,7 @@ decrement_reference(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, */ RBTDB_LOCK(&rbtdb->lock, isc_rwlocktype_read); least_serial = rbtdb->least_serial; - RBTDB_UNLOCK(&rbtdb->lock, - isc_rwlocktype_read); + RBTDB_UNLOCK(&rbtdb->lock, isc_rwlocktype_read); } clean_zone_node(rbtdb, node, least_serial); } @@ -2091,7 +2093,7 @@ decrement_reference(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, ISC_LIST_APPEND(rbtdb->deadnodes[bucket], node, deadlink); } - restore_locks: +restore_locks: /* Restore the lock? */ if (nlock == isc_rwlocktype_read) NODE_DOWNGRADE(&nodelock->lock); @@ -2118,11 +2120,12 @@ decrement_reference(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, * acceptable for a single event. */ static void -prune_tree(isc_task_t *task, isc_event_t *event) { - dns_rbtdb_t *rbtdb = event->ev_sender; +prune_tree(isc_task_t *task, isc_event_t *event) +{ + dns_rbtdb_t * rbtdb = event->ev_sender; dns_rbtnode_t *node = event->ev_arg; dns_rbtnode_t *parent; - unsigned int locknum; + unsigned int locknum; UNUSED(task); @@ -2187,7 +2190,8 @@ make_least_version(dns_rbtdb_t *rbtdb, rbtdb_version_t *version, } static inline void -cleanup_nondirty(rbtdb_version_t *version, rbtdb_changedlist_t *cleanup_list) { +cleanup_nondirty(rbtdb_version_t *version, rbtdb_changedlist_t *cleanup_list) +{ rbtdb_changed_t *changed, *next_changed; /* @@ -2204,26 +2208,24 @@ cleanup_nondirty(rbtdb_version_t *version, rbtdb_changedlist_t *cleanup_list) { * * The caller must be holding the database lock. */ - for (changed = HEAD(version->changed_list); - changed != NULL; + for (changed = HEAD(version->changed_list); changed != NULL; changed = next_changed) { next_changed = NEXT(changed, link); if (!changed->dirty) { - UNLINK(version->changed_list, - changed, link); - APPEND(*cleanup_list, - changed, link); + UNLINK(version->changed_list, changed, link); + APPEND(*cleanup_list, changed, link); } } } static void -iszonesecure(dns_db_t *db, rbtdb_version_t *version, dns_dbnode_t *origin) { +iszonesecure(dns_db_t *db, rbtdb_version_t *version, dns_dbnode_t *origin) +{ dns_rdataset_t keyset; dns_rdataset_t nsecset, signsecset; - bool haszonekey = false; - bool hasnsec = false; - isc_result_t result; + bool haszonekey = false; + bool hasnsec = false; + isc_result_t result; dns_rdataset_init(&keyset); result = dns_db_findrdataset(db, origin, version, dns_rdatatype_dnskey, @@ -2249,8 +2251,8 @@ iszonesecure(dns_db_t *db, rbtdb_version_t *version, dns_dbnode_t *origin) { dns_rdataset_init(&nsecset); dns_rdataset_init(&signsecset); - result = dns_db_findrdataset(db, origin, version, dns_rdatatype_nsec, - 0, 0, &nsecset, &signsecset); + result = dns_db_findrdataset(db, origin, version, dns_rdatatype_nsec, 0, + 0, &nsecset, &signsecset); if (result == ISC_R_SUCCESS) { if (dns_rdataset_isassociated(&signsecset)) { hasnsec = true; @@ -2275,25 +2277,24 @@ iszonesecure(dns_db_t *db, rbtdb_version_t *version, dns_dbnode_t *origin) { * Cache the nsec3 parameters. */ static void -setnsec3parameters(dns_db_t *db, rbtdb_version_t *version) { - dns_rbtnode_t *node; +setnsec3parameters(dns_db_t *db, rbtdb_version_t *version) +{ + dns_rbtnode_t * node; dns_rdata_nsec3param_t nsec3param; - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_region_t region; - isc_result_t result; - rdatasetheader_t *header, *header_next; - unsigned char *raw; /* RDATASLAB */ - unsigned int count, length; - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_region_t region; + isc_result_t result; + rdatasetheader_t * header, *header_next; + unsigned char * raw; /* RDATASLAB */ + unsigned int count, length; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; RWLOCK(&rbtdb->tree_lock, isc_rwlocktype_read); version->havensec3 = false; node = rbtdb->origin_node; NODE_LOCK(&(rbtdb->node_locks[node->locknum].lock), isc_rwlocktype_read); - for (header = node->data; - header != NULL; - header = header_next) { + for (header = node->data; header != NULL; header = header_next) { header_next = header->next; do { if (header->serial <= version->serial && @@ -2319,12 +2320,10 @@ setnsec3parameters(dns_db_t *db, rbtdb_version_t *version) { region.base = raw; region.length = length; raw += length; - dns_rdata_fromregion(&rdata, - rbtdb->common.rdclass, - dns_rdatatype_nsec3param, - ®ion); - result = dns_rdata_tostruct(&rdata, - &nsec3param, + dns_rdata_fromregion( + &rdata, rbtdb->common.rdclass, + dns_rdatatype_nsec3param, ®ion); + result = dns_rdata_tostruct(&rdata, &nsec3param, NULL); INSIST(result == ISC_R_SUCCESS); dns_rdata_reset(&rdata); @@ -2352,16 +2351,17 @@ setnsec3parameters(dns_db_t *db, rbtdb_version_t *version) { } } } - unlock: +unlock: NODE_UNLOCK(&(rbtdb->node_locks[node->locknum].lock), isc_rwlocktype_read); RWUNLOCK(&rbtdb->tree_lock, isc_rwlocktype_read); } static void -cleanup_dead_nodes_callback(isc_task_t *task, isc_event_t *event) { +cleanup_dead_nodes_callback(isc_task_t *task, isc_event_t *event) +{ dns_rbtdb_t *rbtdb = event->ev_arg; - bool again = false; + bool again = false; unsigned int locknum; RWLOCK(&rbtdb->tree_lock, isc_rwlocktype_write); @@ -2387,16 +2387,17 @@ cleanup_dead_nodes_callback(isc_task_t *task, isc_event_t *event) { } static void -closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; - rbtdb_version_t *version, *cleanup_version, *least_greater; - bool rollback = false; - rbtdb_changedlist_t cleanup_list; +closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) +{ + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; + rbtdb_version_t * version, *cleanup_version, *least_greater; + bool rollback = false; + rbtdb_changedlist_t cleanup_list; rdatasetheaderlist_t resigned_list; - rbtdb_changed_t *changed, *next_changed; - rbtdb_serial_t serial, least_serial; - dns_rbtnode_t *rbtnode; - rdatasetheader_t *header; + rbtdb_changed_t * changed, *next_changed; + rbtdb_serial_t serial, least_serial; + dns_rbtnode_t * rbtnode; + rdatasetheader_t * header; REQUIRE(VALID_RBTDB(rbtdb)); version = (rbtdb_version_t *)*versionp; @@ -2427,7 +2428,7 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { serial = version->serial; if (version->writer) { if (commit) { - unsigned cur_ref; + unsigned cur_ref; rbtdb_version_t *cur_version; INSIST(version->commit_ok); @@ -2438,13 +2439,15 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { * DB itself and unlink it from the open list. */ cur_version = rbtdb->current_version; - cur_ref = isc_refcount_decrement(&cur_version->references); + cur_ref = isc_refcount_decrement( + &cur_version->references); if (cur_ref == 1) { - (void)isc_refcount_current(&cur_version->references); + (void)isc_refcount_current( + &cur_version->references); if (cur_version->serial == rbtdb->least_serial) - INSIST(EMPTY(cur_version->changed_list)); - UNLINK(rbtdb->open_versions, - cur_version, link); + INSIST(EMPTY( + cur_version->changed_list)); + UNLINK(rbtdb->open_versions, cur_version, link); } if (EMPTY(rbtdb->open_versions)) { /* @@ -2477,8 +2480,7 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { if (cur_ref == 1) { cleanup_version = cur_version; APPENDLIST(version->changed_list, - cleanup_version->changed_list, - link); + cleanup_version->changed_list, link); } /* * Become the current version. @@ -2495,9 +2497,10 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { * case where we need to increment the counter from * zero and need to use isc_refcount_increment0(). */ - INSIST(isc_refcount_increment0(&version->references) == 0); - PREPEND(rbtdb->open_versions, - rbtdb->current_version, link); + INSIST(isc_refcount_increment0(&version->references) == + 0); + PREPEND(rbtdb->open_versions, rbtdb->current_version, + link); resigned_list = version->resigned_list; ISC_LIST_INIT(version->resigned_list); } else { @@ -2537,8 +2540,7 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { * Yes. Install the new least open * version. */ - make_least_version(rbtdb, - least_greater, + make_least_version(rbtdb, least_greater, &cleanup_list); } else { /* @@ -2546,8 +2548,7 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { * those of the least greater version. */ APPENDLIST(least_greater->changed_list, - version->changed_list, - link); + version->changed_list, link); } } else if (version->serial == rbtdb->least_serial) INSIST(EMPTY(version->changed_list)); @@ -2568,8 +2569,7 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { /* * Commit/rollback re-signed headers. */ - for (header = HEAD(resigned_list); - header != NULL; + for (header = HEAD(resigned_list); header != NULL; header = HEAD(resigned_list)) { nodelock_t *lock; @@ -2587,7 +2587,7 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { DNS_LOGMODULE_ZONE, ISC_LOG_ERROR, "Unable to reinsert header to " "re-signing heap: %s", - dns_result_totext(result)); + dns_result_totext(result)); } decrement_reference(rbtdb, header->node, least_serial, isc_rwlocktype_write, isc_rwlocktype_none, @@ -2596,7 +2596,7 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { } if (!EMPTY(cleanup_list)) { - isc_event_t *event = NULL; + isc_event_t * event = NULL; isc_rwlocktype_t tlock = isc_rwlocktype_none; if (rbtdb->task != NULL) @@ -2618,8 +2618,7 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { tlock = isc_rwlocktype_write; } - for (changed = HEAD(cleanup_list); - changed != NULL; + for (changed = HEAD(cleanup_list); changed != NULL; changed = next_changed) { nodelock_t *lock; @@ -2638,8 +2637,7 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { if (rollback) rollback_node(rbtnode, serial); decrement_reference(rbtdb, rbtnode, least_serial, - isc_rwlocktype_write, tlock, - false); + isc_rwlocktype_write, tlock, false); NODE_UNLOCK(lock, isc_rwlocktype_write); @@ -2653,7 +2651,7 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { RWUNLOCK(&rbtdb->tree_lock, isc_rwlocktype_write); } - end: +end: *versionp = NULL; } @@ -2673,11 +2671,12 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { * tree_lock(write) must be held. */ static isc_result_t -add_wildcard_magic(dns_rbtdb_t *rbtdb, const dns_name_t *name) { - isc_result_t result; - dns_name_t foundname; - dns_offsets_t offsets; - unsigned int n; +add_wildcard_magic(dns_rbtdb_t *rbtdb, const dns_name_t *name) +{ + isc_result_t result; + dns_name_t foundname; + dns_offsets_t offsets; + unsigned int n; dns_rbtnode_t *node = NULL; dns_name_init(&foundname, offsets); @@ -2699,25 +2698,26 @@ add_wildcard_magic(dns_rbtdb_t *rbtdb, const dns_name_t *name) { * tree_lock(write) must be held. */ static isc_result_t -add_empty_wildcards(dns_rbtdb_t *rbtdb, const dns_name_t *name) { - isc_result_t result; - dns_name_t foundname; +add_empty_wildcards(dns_rbtdb_t *rbtdb, const dns_name_t *name) +{ + isc_result_t result; + dns_name_t foundname; dns_offsets_t offsets; - unsigned int n, l, i; + unsigned int n, l, i; dns_name_init(&foundname, offsets); n = dns_name_countlabels(name); l = dns_name_countlabels(&rbtdb->common.origin); i = l + 1; while (i < n) { - dns_rbtnode_t *node = NULL; /* dummy */ + dns_rbtnode_t *node = NULL; /* dummy */ dns_name_getlabelsequence(name, n - i, i, &foundname); if (dns_name_iswildcard(&foundname)) { result = add_wildcard_magic(rbtdb, &foundname); if (result != ISC_R_SUCCESS) return (result); - result = dns_rbt_addnode(rbtdb->tree, &foundname, - &node); + result = + dns_rbt_addnode(rbtdb->tree, &foundname, &node); if (result != ISC_R_SUCCESS && result != ISC_R_EXISTS) return (result); if (result == ISC_R_SUCCESS) @@ -2732,9 +2732,9 @@ static isc_result_t findnodeintree(dns_rbtdb_t *rbtdb, dns_rbt_t *tree, const dns_name_t *name, bool create, dns_dbnode_t **nodep) { - dns_rbtnode_t *node = NULL; - dns_name_t nodename; - isc_result_t result; + dns_rbtnode_t * node = NULL; + dns_name_t nodename; + isc_result_t result; isc_rwlocktype_t locktype = isc_rwlocktype_read; INSIST(tree == rbtdb->tree || tree == rbtdb->nsec3); @@ -2765,8 +2765,8 @@ findnodeintree(dns_rbtdb_t *rbtdb, dns_rbt_t *tree, const dns_name_t *name, add_empty_wildcards(rbtdb, name); if (dns_name_iswildcard(name)) { - result = add_wildcard_magic(rbtdb, - name); + result = + add_wildcard_magic(rbtdb, name); if (result != ISC_R_SUCCESS) { RWUNLOCK(&rbtdb->tree_lock, locktype); @@ -2817,13 +2817,14 @@ findnsec3node(dns_db_t *db, const dns_name_t *name, bool create, } static isc_result_t -zone_zonecut_callback(dns_rbtnode_t *node, dns_name_t *name, void *arg) { - rbtdb_search_t *search = arg; +zone_zonecut_callback(dns_rbtnode_t *node, dns_name_t *name, void *arg) +{ + rbtdb_search_t * search = arg; rdatasetheader_t *header, *header_next; rdatasetheader_t *dname_header, *sigdname_header, *ns_header; rdatasetheader_t *found; - isc_result_t result; - dns_rbtnode_t *onode; + isc_result_t result; + dns_rbtnode_t * onode; /* * We only want to remember the topmost zone cut, since it's the one @@ -2868,7 +2869,7 @@ zone_zonecut_callback(dns_rbtnode_t *node, dns_name_t *name, void *arg) { if (header->type == dns_rdatatype_dname) dname_header = header; else if (header->type == - RBTDB_RDATATYPE_SIGDNAME) + RBTDB_RDATATYPE_SIGDNAME) sigdname_header = header; else if (node != onode || IS_STUB(search->rbtdb)) { @@ -2960,11 +2961,10 @@ zone_zonecut_callback(dns_rbtnode_t *node, dns_name_t *name, void *arg) { } static inline void -bind_rdataset(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, - rdatasetheader_t *header, isc_stdtime_t now, - dns_rdataset_t *rdataset) +bind_rdataset(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, rdatasetheader_t *header, + isc_stdtime_t now, dns_rdataset_t *rdataset) { - unsigned char *raw; /* RDATASLAB */ + unsigned char *raw; /* RDATASLAB */ /* * Caller must be holding the node reader lock. @@ -2979,7 +2979,7 @@ bind_rdataset(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, new_reference(rbtdb, node); - INSIST(rdataset->methods == NULL); /* We must be disassociated. */ + INSIST(rdataset->methods == NULL); /* We must be disassociated. */ rdataset->methods = &rdataset_methods; rdataset->rdclass = rbtdb->common.rdclass; @@ -3020,16 +3020,16 @@ bind_rdataset(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, */ rdataset->private6 = header->noqname; if (rdataset->private6 != NULL) - rdataset->attributes |= DNS_RDATASETATTR_NOQNAME; + rdataset->attributes |= DNS_RDATASETATTR_NOQNAME; rdataset->private7 = header->closest; if (rdataset->private7 != NULL) - rdataset->attributes |= DNS_RDATASETATTR_CLOSEST; + rdataset->attributes |= DNS_RDATASETATTR_CLOSEST; /* * Copy out re-signing information. */ if (RESIGN(header)) { - rdataset->attributes |= DNS_RDATASETATTR_RESIGN; + rdataset->attributes |= DNS_RDATASETATTR_RESIGN; rdataset->resign = (header->resign << 1) | header->resign_lsb; } else rdataset->resign = 0; @@ -3040,9 +3040,9 @@ setup_delegation(rbtdb_search_t *search, dns_dbnode_t **nodep, dns_name_t *foundname, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - dns_name_t *zcname; + dns_name_t * zcname; rbtdb_rdatatype_t type; - dns_rbtnode_t *node; + dns_rbtnode_t * node; /* * The caller MUST NOT be holding any node locks. @@ -3078,8 +3078,8 @@ setup_delegation(rbtdb_search_t *search, dns_dbnode_t **nodep, search->now, rdataset); if (sigrdataset != NULL && search->zonecut_sigrdataset != NULL) bind_rdataset(search->rbtdb, node, - search->zonecut_sigrdataset, - search->now, sigrdataset); + search->zonecut_sigrdataset, search->now, + sigrdataset); NODE_UNLOCK(&(search->rbtdb->node_locks[node->locknum].lock), isc_rwlocktype_read); } @@ -3093,12 +3093,12 @@ static inline bool valid_glue(rbtdb_search_t *search, dns_name_t *name, rbtdb_rdatatype_t type, dns_rbtnode_t *node) { - unsigned char *raw; /* RDATASLAB */ - unsigned int count, size; - dns_name_t ns_name; - bool valid = false; - dns_offsets_t offsets; - isc_region_t region; + unsigned char * raw; /* RDATASLAB */ + unsigned int count, size; + dns_name_t ns_name; + bool valid = false; + dns_offsets_t offsets; + isc_region_t region; rdatasetheader_t *header; /* @@ -3113,8 +3113,7 @@ valid_glue(rbtdb_search_t *search, dns_name_t *name, rbtdb_rdatatype_t type, if (node != search->zonecut) { return (false); } - } else if (type != dns_rdatatype_a && - type != dns_rdatatype_aaaa && + } else if (type != dns_rdatatype_a && type != dns_rdatatype_aaaa && type != dns_rdatatype_a6) { return (false); } @@ -3150,15 +3149,15 @@ static inline bool activeempty(rbtdb_search_t *search, dns_rbtnodechain_t *chain, const dns_name_t *name) { - dns_fixedname_t fnext; - dns_fixedname_t forigin; - dns_name_t *next; - dns_name_t *origin; - dns_name_t prefix; - dns_rbtdb_t *rbtdb; - dns_rbtnode_t *node; - isc_result_t result; - bool answer = false; + dns_fixedname_t fnext; + dns_fixedname_t forigin; + dns_name_t * next; + dns_name_t * origin; + dns_name_t prefix; + dns_rbtdb_t * rbtdb; + dns_rbtnode_t * node; + isc_result_t result; + bool answer = false; rdatasetheader_t *header; rbtdb = search->rbtdb; @@ -3170,14 +3169,13 @@ activeempty(rbtdb_search_t *search, dns_rbtnodechain_t *chain, result = dns_rbtnodechain_next(chain, NULL, NULL); while (result == ISC_R_SUCCESS || result == DNS_R_NEWORIGIN) { node = NULL; - result = dns_rbtnodechain_current(chain, &prefix, - origin, &node); + result = + dns_rbtnodechain_current(chain, &prefix, origin, &node); if (result != ISC_R_SUCCESS) break; NODE_LOCK(&(rbtdb->node_locks[node->locknum].lock), isc_rwlocktype_read); - for (header = node->data; - header != NULL; + for (header = node->data; header != NULL; header = header->next) { if (header->serial <= search->serial && !IGNORE(header) && EXISTS(header)) @@ -3200,24 +3198,24 @@ static inline bool activeemtpynode(rbtdb_search_t *search, const dns_name_t *qname, dns_name_t *wname) { - dns_fixedname_t fnext; - dns_fixedname_t forigin; - dns_fixedname_t fprev; - dns_name_t *next; - dns_name_t *origin; - dns_name_t *prev; - dns_name_t name; - dns_name_t rname; - dns_name_t tname; - dns_rbtdb_t *rbtdb; - dns_rbtnode_t *node; + dns_fixedname_t fnext; + dns_fixedname_t forigin; + dns_fixedname_t fprev; + dns_name_t * next; + dns_name_t * origin; + dns_name_t * prev; + dns_name_t name; + dns_name_t rname; + dns_name_t tname; + dns_rbtdb_t * rbtdb; + dns_rbtnode_t * node; dns_rbtnodechain_t chain; - bool check_next = true; - bool check_prev = true; - bool answer = false; - isc_result_t result; - rdatasetheader_t *header; - unsigned int n; + bool check_next = true; + bool check_prev = true; + bool answer = false; + isc_result_t result; + rdatasetheader_t * header; + unsigned int n; rbtdb = search->rbtdb; @@ -3236,14 +3234,12 @@ activeemtpynode(rbtdb_search_t *search, const dns_name_t *qname, chain = search->chain; do { node = NULL; - result = dns_rbtnodechain_current(&chain, &name, - origin, &node); + result = dns_rbtnodechain_current(&chain, &name, origin, &node); if (result != ISC_R_SUCCESS) break; NODE_LOCK(&(rbtdb->node_locks[node->locknum].lock), isc_rwlocktype_read); - for (header = node->data; - header != NULL; + for (header = node->data; header != NULL; header = header->next) { if (header->serial <= search->serial && !IGNORE(header) && EXISTS(header)) @@ -3263,14 +3259,12 @@ activeemtpynode(rbtdb_search_t *search, const dns_name_t *qname, result = dns_rbtnodechain_next(&chain, NULL, NULL); while (result == ISC_R_SUCCESS || result == DNS_R_NEWORIGIN) { node = NULL; - result = dns_rbtnodechain_current(&chain, &name, - origin, &node); + result = dns_rbtnodechain_current(&chain, &name, origin, &node); if (result != ISC_R_SUCCESS) break; NODE_LOCK(&(rbtdb->node_locks[node->locknum].lock), isc_rwlocktype_read); - for (header = node->data; - header != NULL; + for (header = node->data; header != NULL; header = header->next) { if (header->serial <= search->serial && !IGNORE(header) && EXISTS(header)) @@ -3314,15 +3308,15 @@ static inline isc_result_t find_wildcard(rbtdb_search_t *search, dns_rbtnode_t **nodep, const dns_name_t *qname) { - unsigned int i, j; - dns_rbtnode_t *node, *level_node, *wnode; - rdatasetheader_t *header; - isc_result_t result = ISC_R_NOTFOUND; - dns_name_t name; - dns_name_t *wname; - dns_fixedname_t fwname; - dns_rbtdb_t *rbtdb; - bool done, wild, active; + unsigned int i, j; + dns_rbtnode_t * node, *level_node, *wnode; + rdatasetheader_t * header; + isc_result_t result = ISC_R_NOTFOUND; + dns_name_t name; + dns_name_t * wname; + dns_fixedname_t fwname; + dns_rbtdb_t * rbtdb; + bool done, wild, active; dns_rbtnodechain_t wchain; /* @@ -3354,8 +3348,7 @@ find_wildcard(rbtdb_search_t *search, dns_rbtnode_t **nodep, * may not need the information, because it simplifies the * locking and code flow. */ - for (header = node->data; - header != NULL; + for (header = node->data; header != NULL; header = header->next) { if (header->serial <= search->serial && !IGNORE(header) && EXISTS(header)) @@ -3389,20 +3382,17 @@ find_wildcard(rbtdb_search_t *search, dns_rbtnode_t **nodep, level_node = search->chain.levels[j]; dns_name_init(&name, NULL); dns_rbt_namefromnode(level_node, &name); - result = dns_name_concatenate(wname, - &name, - wname, - NULL); + result = dns_name_concatenate(wname, &name, + wname, NULL); } if (result != ISC_R_SUCCESS) break; wnode = NULL; dns_rbtnodechain_init(&wchain); - result = dns_rbt_findnode(rbtdb->tree, wname, - NULL, &wnode, &wchain, - DNS_RBTFIND_EMPTYDATA, - NULL, NULL); + result = dns_rbt_findnode( + rbtdb->tree, wname, NULL, &wnode, &wchain, + DNS_RBTFIND_EMPTYDATA, NULL, NULL); if (result == ISC_R_SUCCESS) { nodelock_t *lock; @@ -3413,8 +3403,7 @@ find_wildcard(rbtdb_search_t *search, dns_rbtnode_t **nodep, */ lock = &rbtdb->node_locks[wnode->locknum].lock; NODE_LOCK(lock, isc_rwlocktype_read); - for (header = wnode->data; - header != NULL; + for (header = wnode->data; header != NULL; header = header->next) { if (header->serial <= search->serial && !IGNORE(header) && EXISTS(header)) @@ -3468,12 +3457,12 @@ find_wildcard(rbtdb_search_t *search, dns_rbtnode_t **nodep, static bool matchparams(rdatasetheader_t *header, rbtdb_search_t *search) { - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_nsec3_t nsec3; - unsigned char *raw; /* RDATASLAB */ - unsigned int rdlen, count; - isc_region_t region; - isc_result_t result; + unsigned char * raw; /* RDATASLAB */ + unsigned int rdlen, count; + isc_region_t region; + isc_result_t result; REQUIRE(header->type == dns_rdatatype_nsec3); @@ -3512,9 +3501,9 @@ previous_closest_nsec(dns_rdatatype_t type, rbtdb_search_t *search, bool *firstp) { dns_fixedname_t ftarget; - dns_name_t *target; - dns_rbtnode_t *nsecnode; - isc_result_t result; + dns_name_t * target; + dns_rbtnode_t * nsecnode; + isc_result_t result; REQUIRE(nodep != NULL && *nodep == NULL); @@ -3537,16 +3526,14 @@ previous_closest_nsec(dns_rdatatype_t type, rbtdb_search_t *search, */ *firstp = false; dns_rbtnodechain_init(nsecchain); - result = dns_name_concatenate(name, origin, - target, NULL); + result = dns_name_concatenate(name, origin, target, + NULL); if (result != ISC_R_SUCCESS) return (result); nsecnode = NULL; - result = dns_rbt_findnode(search->rbtdb->nsec, - target, NULL, - &nsecnode, nsecchain, - DNS_RBTFIND_NOOPTIONS, - NULL, NULL); + result = dns_rbt_findnode( + search->rbtdb->nsec, target, NULL, &nsecnode, + nsecchain, DNS_RBTFIND_NOOPTIONS, NULL, NULL); if (result == ISC_R_SUCCESS) { /* * Since this was the first loop, finding the @@ -3555,14 +3542,14 @@ previous_closest_nsec(dns_rdatatype_t type, rbtdb_search_t *search, * unacceptable NSEC record. * Try the previous node in the NSEC tree. */ - result = dns_rbtnodechain_prev(nsecchain, - name, origin); + result = dns_rbtnodechain_prev(nsecchain, name, + origin); if (result == DNS_R_NEWORIGIN) result = ISC_R_SUCCESS; } else if (result == ISC_R_NOTFOUND || result == DNS_R_PARTIALMATCH) { - result = dns_rbtnodechain_current(nsecchain, - name, origin, NULL); + result = dns_rbtnodechain_current( + nsecchain, name, origin, NULL); if (result == ISC_R_NOTFOUND) result = ISC_R_NOMORE; } @@ -3621,18 +3608,18 @@ find_closest_nsec(rbtdb_search_t *search, dns_dbnode_t **nodep, dns_rdataset_t *sigrdataset, dns_rbt_t *tree, dns_db_secure_t secure) { - dns_rbtnode_t *node, *prevnode; - rdatasetheader_t *header, *header_next, *found, *foundsig; + dns_rbtnode_t * node, *prevnode; + rdatasetheader_t * header, *header_next, *found, *foundsig; dns_rbtnodechain_t nsecchain; - bool empty_node; - isc_result_t result; - dns_fixedname_t fname, forigin; - dns_name_t *name, *origin; - dns_rdatatype_t type; - rbtdb_rdatatype_t sigtype; - bool wraps; - bool first = true; - bool need_sig = (secure == dns_db_secure); + bool empty_node; + isc_result_t result; + dns_fixedname_t fname, forigin; + dns_name_t * name, *origin; + dns_rdatatype_t type; + rbtdb_rdatatype_t sigtype; + bool wraps; + bool first = true; + bool need_sig = (secure == dns_db_secure); if (tree == search->rbtdb->nsec3) { type = dns_rdatatype_nsec3; @@ -3650,7 +3637,7 @@ find_closest_nsec(rbtdb_search_t *search, dns_dbnode_t **nodep, */ name = dns_fixedname_initname(&fname); origin = dns_fixedname_initname(&forigin); - again: +again: node = NULL; prevnode = NULL; result = dns_rbtnodechain_current(&search->chain, name, origin, &node); @@ -3662,8 +3649,7 @@ find_closest_nsec(rbtdb_search_t *search, dns_dbnode_t **nodep, found = NULL; foundsig = NULL; empty_node = true; - for (header = node->data; - header != NULL; + for (header = node->data; header != NULL; header = header_next) { header_next = header->next; /* @@ -3706,10 +3692,9 @@ find_closest_nsec(rbtdb_search_t *search, dns_dbnode_t **nodep, empty_node = true; found = NULL; foundsig = NULL; - result = previous_closest_nsec(type, search, - name, origin, - &prevnode, NULL, - NULL); + result = previous_closest_nsec( + type, search, name, origin, &prevnode, + NULL, NULL); } else if (found != NULL && (foundsig != NULL || !need_sig)) { /* @@ -3734,8 +3719,7 @@ find_closest_nsec(rbtdb_search_t *search, dns_dbnode_t **nodep, rdataset); if (foundsig != NULL) bind_rdataset(search->rbtdb, - node, - foundsig, + node, foundsig, search->now, sigrdataset); } @@ -3748,11 +3732,9 @@ find_closest_nsec(rbtdb_search_t *search, dns_dbnode_t **nodep, * node as if it were empty and keep looking. */ empty_node = true; - result = previous_closest_nsec(type, search, - name, origin, - &prevnode, - &nsecchain, - &first); + result = previous_closest_nsec( + type, search, name, origin, &prevnode, + &nsecchain, &first); } else { /* * We found an active node, but either the @@ -3766,8 +3748,8 @@ find_closest_nsec(rbtdb_search_t *search, dns_dbnode_t **nodep, * This node isn't active. We've got to keep * looking. */ - result = previous_closest_nsec(type, search, - name, origin, &prevnode, + result = previous_closest_nsec(type, search, name, + origin, &prevnode, &nsecchain, &first); } NODE_UNLOCK(&(search->rbtdb->node_locks[node->locknum].lock), @@ -3780,8 +3762,8 @@ find_closest_nsec(rbtdb_search_t *search, dns_dbnode_t **nodep, dns_rbtnodechain_invalidate(&nsecchain); if (result == ISC_R_NOMORE && wraps) { - result = dns_rbtnodechain_last(&search->chain, tree, - NULL, NULL); + result = + dns_rbtnodechain_last(&search->chain, tree, NULL, NULL); if (result == ISC_R_SUCCESS || result == DNS_R_NEWORIGIN) { wraps = false; goto again; @@ -3802,25 +3784,25 @@ find_closest_nsec(rbtdb_search_t *search, dns_dbnode_t **nodep, static isc_result_t zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, dns_rdatatype_t type, unsigned int options, isc_stdtime_t now, - dns_dbnode_t **nodep, dns_name_t *foundname, - dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) + dns_dbnode_t **nodep, dns_name_t *foundname, dns_rdataset_t *rdataset, + dns_rdataset_t *sigrdataset) { - dns_rbtnode_t *node = NULL; - isc_result_t result; - rbtdb_search_t search; - bool cname_ok = true; - bool close_version = false; - bool maybe_zonecut = false; - bool at_zonecut = false; - bool wild; - bool empty_node; - rdatasetheader_t *header, *header_next, *found, *nsecheader; - rdatasetheader_t *foundsig, *cnamesig, *nsecsig; - rbtdb_rdatatype_t sigtype; - bool active; + dns_rbtnode_t * node = NULL; + isc_result_t result; + rbtdb_search_t search; + bool cname_ok = true; + bool close_version = false; + bool maybe_zonecut = false; + bool at_zonecut = false; + bool wild; + bool empty_node; + rdatasetheader_t * header, *header_next, *found, *nsecheader; + rdatasetheader_t * foundsig, *cnamesig, *nsecsig; + rbtdb_rdatatype_t sigtype; + bool active; dns_rbtnodechain_t chain; - nodelock_t *lock; - dns_rbt_t *tree; + nodelock_t * lock; + dns_rbt_t * tree; search.rbtdb = (dns_rbtdb_t *)db; @@ -3865,18 +3847,18 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, * encounter a callback node, zone_zonecut_callback() will search the * rdatasets at the zone cut for active DNAME or NS rdatasets. */ - tree = (options & DNS_DBFIND_FORCENSEC3) != 0 ? search.rbtdb->nsec3 : - search.rbtdb->tree; - result = dns_rbt_findnode(tree, name, foundname, &node, - &search.chain, DNS_RBTFIND_EMPTYDATA, - zone_zonecut_callback, &search); + tree = (options & DNS_DBFIND_FORCENSEC3) != 0 ? search.rbtdb->nsec3 + : search.rbtdb->tree; + result = dns_rbt_findnode(tree, name, foundname, &node, &search.chain, + DNS_RBTFIND_EMPTYDATA, zone_zonecut_callback, + &search); if (result == DNS_R_PARTIALMATCH) { partial_match: if (search.zonecut != NULL) { - result = setup_delegation(&search, nodep, foundname, - rdataset, sigrdataset); - goto tree_exit; + result = setup_delegation(&search, nodep, foundname, + rdataset, sigrdataset); + goto tree_exit; } if (search.wild) { @@ -3891,8 +3873,7 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, dns_name_copynf(name, foundname); wild = true; goto found; - } - else if (result != ISC_R_NOTFOUND) + } else if (result != ISC_R_NOTFOUND) goto tree_exit; } @@ -3906,21 +3887,20 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, if ((search.rbtversion->secure == dns_db_secure && !search.rbtversion->havensec3) || (search.options & DNS_DBFIND_FORCENSEC) != 0 || - (search.options & DNS_DBFIND_FORCENSEC3) != 0) - { + (search.options & DNS_DBFIND_FORCENSEC3) != 0) { result = find_closest_nsec(&search, nodep, foundname, rdataset, sigrdataset, tree, search.rbtversion->secure); if (result == ISC_R_SUCCESS) - result = active ? DNS_R_EMPTYNAME : - DNS_R_NXDOMAIN; + result = active ? DNS_R_EMPTYNAME + : DNS_R_NXDOMAIN; } else result = active ? DNS_R_EMPTYNAME : DNS_R_NXDOMAIN; goto tree_exit; } else if (result != ISC_R_SUCCESS) goto tree_exit; - found: +found: /* * We have found a node whose name is the desired name, or we * have matched a wildcard. @@ -4002,8 +3982,7 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, /* * Do special zone cut handling, if requested. */ - if (maybe_zonecut && - header->type == dns_rdatatype_ns) { + if (maybe_zonecut && header->type == dns_rdatatype_ns) { /* * We increment the reference count on node to * ensure that search->zonecut_rdataset will @@ -4022,9 +4001,9 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, * cut or not. It is needed for RFC3007 * validated updates. */ - if ((search.options & DNS_DBFIND_GLUEOK) == 0 - && type != dns_rdatatype_nsec - && type != dns_rdatatype_key) { + if ((search.options & DNS_DBFIND_GLUEOK) == 0 && + type != dns_rdatatype_nsec && + type != dns_rdatatype_key) { /* * Glue is not OK, but any answer we * could return would be glue. Return @@ -4037,13 +4016,12 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, break; } - /* * If the NSEC3 record doesn't match the chain * we are using behave as if it isn't here. */ if (header->type == dns_rdatatype_nsec3 && - !matchparams(header, &search)) { + !matchparams(header, &search)) { NODE_UNLOCK(lock, isc_rwlocktype_read); goto partial_match; } @@ -4051,10 +4029,8 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, * If we found a type we were looking for, * remember it. */ - if (header->type == type || - type == dns_rdatatype_any || - (header->type == dns_rdatatype_cname && - cname_ok)) { + if (header->type == type || type == dns_rdatatype_any || + (header->type == dns_rdatatype_cname && cname_ok)) { /* * We've found the answer! */ @@ -4073,7 +4049,7 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, foundsig = cnamesig; else sigtype = - RBTDB_RDATATYPE_SIGCNAME; + RBTDB_RDATATYPE_SIGCNAME; } /* * If we've got all we need, end the search. @@ -4172,8 +4148,7 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, goto tree_exit; } if ((search.options & DNS_DBFIND_FORCENSEC) != 0 && - nsecheader == NULL) - { + nsecheader == NULL) { /* * There's no NSEC record, and we were told * to find one. @@ -4187,13 +4162,12 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, } if ((search.rbtversion->secure == dns_db_secure && !search.rbtversion->havensec3) || - (search.options & DNS_DBFIND_FORCENSEC) != 0) - { - bind_rdataset(search.rbtdb, node, nsecheader, - 0, rdataset); + (search.options & DNS_DBFIND_FORCENSEC) != 0) { + bind_rdataset(search.rbtdb, node, nsecheader, 0, + rdataset); if (nsecsig != NULL) - bind_rdataset(search.rbtdb, node, - nsecsig, 0, sigrdataset); + bind_rdataset(search.rbtdb, node, nsecsig, 0, + sigrdataset); } if (wild) foundname->attributes |= DNS_NAMEATTR_WILDCARD; @@ -4204,8 +4178,7 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, * We found what we were looking for, or we found a CNAME. */ - if (type != found->type && - type != dns_rdatatype_any && + if (type != found->type && type != dns_rdatatype_any && found->type == dns_rdatatype_cname) { /* * We weren't doing an ANY query and we found a CNAME instead @@ -4249,7 +4222,7 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, NODE_UNLOCK(lock, isc_rwlocktype_read); result = setup_delegation(&search, nodep, foundname, rdataset, sigrdataset); - goto tree_exit; + goto tree_exit; } } else { /* @@ -4276,10 +4249,10 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, if (wild) foundname->attributes |= DNS_NAMEATTR_WILDCARD; - node_exit: +node_exit: NODE_UNLOCK(lock, isc_rwlocktype_read); - tree_exit: +tree_exit: RWUNLOCK(&search.rbtdb->tree_lock, isc_rwlocktype_read); /* @@ -4292,9 +4265,8 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, lock = &(search.rbtdb->node_locks[node->locknum].lock); NODE_LOCK(lock, isc_rwlocktype_read); - decrement_reference(search.rbtdb, node, 0, - isc_rwlocktype_read, isc_rwlocktype_none, - false); + decrement_reference(search.rbtdb, node, 0, isc_rwlocktype_read, + isc_rwlocktype_none, false); NODE_UNLOCK(lock, isc_rwlocktype_read); } @@ -4308,9 +4280,9 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, static isc_result_t zone_findzonecut(dns_db_t *db, const dns_name_t *name, unsigned int options, - isc_stdtime_t now, dns_dbnode_t **nodep, - dns_name_t *foundname, dns_name_t *dcname, - dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) + isc_stdtime_t now, dns_dbnode_t **nodep, dns_name_t *foundname, + dns_name_t *dcname, dns_rdataset_t *rdataset, + dns_rdataset_t *sigrdataset) { UNUSED(db); UNUSED(name); @@ -4333,10 +4305,9 @@ check_stale_header(dns_rbtnode_t *node, rdatasetheader_t *header, isc_rwlocktype_t *locktype, nodelock_t *lock, rbtdb_search_t *search, rdatasetheader_t **header_prev) { - if (!ACTIVE(header, search->now)) { - dns_ttl_t stale = header->rdh_ttl + - search->rbtdb->serve_stale_ttl; + dns_ttl_t stale = + header->rdh_ttl + search->rbtdb->serve_stale_ttl; /* * If this data is in the stale window keep it and if * DNS_DBFIND_STALEOK is not set we tell the caller to @@ -4356,8 +4327,7 @@ check_stale_header(dns_rbtnode_t *node, rdatasetheader_t *header, */ if ((header->rdh_ttl < search->now - RBTDB_VIRTUAL) && (*locktype == isc_rwlocktype_write || - NODE_TRYUPGRADE(lock) == ISC_R_SUCCESS)) - { + NODE_TRYUPGRADE(lock) == ISC_R_SUCCESS)) { /* * We update the node's status only when we can * get write access; otherwise, we leave others @@ -4380,7 +4350,8 @@ check_stale_header(dns_rbtnode_t *node, rdatasetheader_t *header, * headers first. */ mctx = search->rbtdb->common.mctx; - clean_stale_headers(search->rbtdb, mctx, header); + clean_stale_headers(search->rbtdb, mctx, + header); if (*header_prev != NULL) (*header_prev)->next = header->next; else @@ -4398,13 +4369,14 @@ check_stale_header(dns_rbtnode_t *node, rdatasetheader_t *header, } static isc_result_t -cache_zonecut_callback(dns_rbtnode_t *node, dns_name_t *name, void *arg) { - rbtdb_search_t *search = arg; +cache_zonecut_callback(dns_rbtnode_t *node, dns_name_t *name, void *arg) +{ + rbtdb_search_t * search = arg; rdatasetheader_t *header, *header_prev, *header_next; rdatasetheader_t *dname_header, *sigdname_header; - isc_result_t result; - nodelock_t *lock; - isc_rwlocktype_t locktype; + isc_result_t result; + nodelock_t * lock; + isc_rwlocktype_t locktype; /* XXX comment */ @@ -4427,8 +4399,7 @@ cache_zonecut_callback(dns_rbtnode_t *node, dns_name_t *name, void *arg) { header_prev = NULL; for (header = node->data; header != NULL; header = header_next) { header_next = header->next; - if (check_stale_header(node, header, - &locktype, lock, search, + if (check_stale_header(node, header, &locktype, lock, search, &header_prev)) { /* Do nothing. */ } else if (header->type == dns_rdatatype_dname && @@ -4436,7 +4407,7 @@ cache_zonecut_callback(dns_rbtnode_t *node, dns_name_t *name, void *arg) { dname_header = header; header_prev = header; } else if (header->type == RBTDB_RDATATYPE_SIGDNAME && - EXISTS(header)) { + EXISTS(header)) { sigdname_header = header; header_prev = header; } else @@ -4470,16 +4441,16 @@ find_deepest_zonecut(rbtdb_search_t *search, dns_rbtnode_t *node, dns_dbnode_t **nodep, dns_name_t *foundname, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - unsigned int i; - dns_rbtnode_t *level_node; + unsigned int i; + dns_rbtnode_t * level_node; rdatasetheader_t *header, *header_prev, *header_next; rdatasetheader_t *found, *foundsig; - isc_result_t result = ISC_R_NOTFOUND; - dns_name_t name; - dns_rbtdb_t *rbtdb; - bool done; - nodelock_t *lock; - isc_rwlocktype_t locktype; + isc_result_t result = ISC_R_NOTFOUND; + dns_name_t name; + dns_rbtdb_t * rbtdb; + bool done; + nodelock_t * lock; + isc_rwlocktype_t locktype; /* * Caller must be holding the tree lock. @@ -4499,11 +4470,11 @@ find_deepest_zonecut(rbtdb_search_t *search, dns_rbtnode_t *node, found = NULL; foundsig = NULL; header_prev = NULL; - for (header = node->data; header != NULL; header = header_next) { + for (header = node->data; header != NULL; + header = header_next) { header_next = header->next; - if (check_stale_header(node, header, - &locktype, lock, search, - &header_prev)) { + if (check_stale_header(node, header, &locktype, lock, + search, &header_prev)) { /* Do nothing. */ } else if (EXISTS(header)) { /* @@ -4542,12 +4513,10 @@ find_deepest_zonecut(rbtdb_search_t *search, dns_rbtnode_t *node, i--; level_node = search->chain.levels[i]; dns_name_init(&name, NULL); - dns_rbt_namefromnode(level_node, - &name); - result = dns_name_concatenate(foundname, - &name, - foundname, - NULL); + dns_rbt_namefromnode(level_node, &name); + result = dns_name_concatenate( + foundname, &name, foundname, + NULL); if (result != ISC_R_SUCCESS) { if (nodep != NULL) { *nodep = NULL; @@ -4605,23 +4574,23 @@ find_coveringnsec(rbtdb_search_t *search, dns_dbnode_t **nodep, isc_stdtime_t now, dns_name_t *foundname, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - dns_rbtnode_t *node; - rdatasetheader_t *header, *header_next, *header_prev; - rdatasetheader_t *found, *foundsig; - bool empty_node; - isc_result_t result; - dns_fixedname_t fname, forigin; - dns_name_t *name, *origin; - rbtdb_rdatatype_t matchtype, sigmatchtype; - nodelock_t *lock; - isc_rwlocktype_t locktype; + dns_rbtnode_t * node; + rdatasetheader_t * header, *header_next, *header_prev; + rdatasetheader_t * found, *foundsig; + bool empty_node; + isc_result_t result; + dns_fixedname_t fname, forigin; + dns_name_t * name, *origin; + rbtdb_rdatatype_t matchtype, sigmatchtype; + nodelock_t * lock; + isc_rwlocktype_t locktype; dns_rbtnodechain_t chain; chain = search->chain; matchtype = RBTDB_RDATATYPE_VALUE(dns_rdatatype_nsec, 0); - sigmatchtype = RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, - dns_rdatatype_nsec); + sigmatchtype = + RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_nsec); do { node = NULL; @@ -4637,12 +4606,11 @@ find_coveringnsec(rbtdb_search_t *search, dns_dbnode_t **nodep, foundsig = NULL; empty_node = true; header_prev = NULL; - for (header = node->data; header != NULL; header = header_next) - { + for (header = node->data; header != NULL; + header = header_next) { header_next = header->next; - if (check_stale_header(node, header, - &locktype, lock, search, - &header_prev)) { + if (check_stale_header(node, header, &locktype, lock, + search, &header_prev)) { continue; } if (NONEXISTENT(header) || @@ -4654,9 +4622,8 @@ find_coveringnsec(rbtdb_search_t *search, dns_dbnode_t **nodep, * Don't stop on provable noqname / RRSIG. */ if (header->noqname == NULL && - RBTDB_RDATATYPE_BASE(header->type) - != dns_rdatatype_rrsig) - { + RBTDB_RDATATYPE_BASE(header->type) != + dns_rdatatype_rrsig) { empty_node = false; } if (header->type == matchtype) @@ -4666,12 +4633,12 @@ find_coveringnsec(rbtdb_search_t *search, dns_dbnode_t **nodep, header_prev = header; } if (found != NULL) { - result = dns_name_concatenate(name, origin, - foundname, NULL); + result = dns_name_concatenate(name, origin, foundname, + NULL); if (result != ISC_R_SUCCESS) goto unlock_node; - bind_rdataset(search->rbtdb, node, found, - now, rdataset); + bind_rdataset(search->rbtdb, node, found, now, + rdataset); if (foundsig != NULL) bind_rdataset(search->rbtdb, node, foundsig, now, sigrdataset); @@ -4682,7 +4649,7 @@ find_coveringnsec(rbtdb_search_t *search, dns_dbnode_t **nodep, result = ISC_R_NOTFOUND; } else result = dns_rbtnodechain_prev(&chain, NULL, NULL); - unlock_node: + unlock_node: NODE_UNLOCK(lock, locktype); } while (empty_node && result == ISC_R_SUCCESS); return (result); @@ -4694,13 +4661,13 @@ cache_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, dns_dbnode_t **nodep, dns_name_t *foundname, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - dns_rbtnode_t *node = NULL; - isc_result_t result; - rbtdb_search_t search; - bool cname_ok = true; - bool empty_node; - nodelock_t *lock; - isc_rwlocktype_t locktype; + dns_rbtnode_t * node = NULL; + isc_result_t result; + rbtdb_search_t search; + bool cname_ok = true; + bool empty_node; + nodelock_t * lock; + isc_rwlocktype_t locktype; rdatasetheader_t *header, *header_prev, *header_next; rdatasetheader_t *found, *nsheader; rdatasetheader_t *foundsig, *nssig, *cnamesig; @@ -4751,9 +4718,9 @@ cache_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, goto tree_exit; } if (search.zonecut != NULL) { - result = setup_delegation(&search, nodep, foundname, - rdataset, sigrdataset); - goto tree_exit; + result = setup_delegation(&search, nodep, foundname, + rdataset, sigrdataset); + goto tree_exit; } else { find_ns: result = find_deepest_zonecut(&search, node, nodep, @@ -4795,8 +4762,7 @@ cache_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, header_prev = NULL; for (header = node->data; header != NULL; header = header_next) { header_next = header->next; - if (check_stale_header(node, header, - &locktype, lock, &search, + if (check_stale_header(node, header, &locktype, lock, &search, &header_prev)) { /* Do nothing. */ } else if (EXISTS(header) && !ANCIENT(header)) { @@ -4813,15 +4779,13 @@ cache_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, if (header->type == type || (type == dns_rdatatype_any && RBTDB_RDATATYPE_BASE(header->type) != 0) || - (cname_ok && header->type == - dns_rdatatype_cname)) { + (cname_ok && header->type == dns_rdatatype_cname)) { /* * We've found the answer. */ found = header; if (header->type == dns_rdatatype_cname && - cname_ok && - cnamesig != NULL) { + cname_ok && cnamesig != NULL) { /* * If we've already got the * CNAME RRSIG, use it. @@ -4890,13 +4854,11 @@ cache_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, ((options & DNS_DBFIND_GLUEOK) == 0)) || (DNS_TRUST_PENDING(found->trust) && ((options & DNS_DBFIND_PENDINGOK) == 0))) { - /* * Return covering NODATA NSEC record. */ if ((search.options & DNS_DBFIND_COVERINGNSEC) != 0 && - nsecheader != NULL) - { + nsecheader != NULL) { if (nodep != NULL) { new_reference(search.rbtdb, node); INSIST(!ISC_LINK_LINKED(node, deadlink)); @@ -4965,8 +4927,7 @@ cache_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, result = DNS_R_NCACHENXDOMAIN; else result = DNS_R_NCACHENXRRSET; - } else if (type != found->type && - type != dns_rdatatype_any && + } else if (type != found->type && type != dns_rdatatype_any && found->type == dns_rdatatype_cname) { /* * We weren't doing an ANY query and we found a CNAME instead @@ -4983,8 +4944,7 @@ cache_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, if (type != dns_rdatatype_any || result == DNS_R_NCACHENXDOMAIN || result == DNS_R_NCACHENXRRSET) { - bind_rdataset(search.rbtdb, node, found, search.now, - rdataset); + bind_rdataset(search.rbtdb, node, found, search.now, rdataset); if (need_headerupdate(found, search.now)) update = found; if (!NEGATIVE(found) && foundsig != NULL) { @@ -4995,7 +4955,7 @@ cache_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, } } - node_exit: +node_exit: if ((update != NULL || updatesig != NULL) && locktype != isc_rwlocktype_write) { NODE_UNLOCK(lock, locktype); @@ -5010,7 +4970,7 @@ cache_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, NODE_UNLOCK(lock, locktype); - tree_exit: +tree_exit: RWUNLOCK(&search.rbtdb->tree_lock, isc_rwlocktype_read); /* @@ -5023,9 +4983,8 @@ cache_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, lock = &(search.rbtdb->node_locks[node->locknum].lock); NODE_LOCK(lock, isc_rwlocktype_read); - decrement_reference(search.rbtdb, node, 0, - isc_rwlocktype_read, isc_rwlocktype_none, - false); + decrement_reference(search.rbtdb, node, 0, isc_rwlocktype_read, + isc_rwlocktype_none, false); NODE_UNLOCK(lock, isc_rwlocktype_read); } @@ -5041,15 +5000,15 @@ cache_findzonecut(dns_db_t *db, const dns_name_t *name, unsigned int options, dns_name_t *foundname, dns_name_t *dcname, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - dns_rbtnode_t *node = NULL; - nodelock_t *lock; - isc_result_t result; - rbtdb_search_t search; + dns_rbtnode_t * node = NULL; + nodelock_t * lock; + isc_result_t result; + rbtdb_search_t search; rdatasetheader_t *header, *header_prev, *header_next; rdatasetheader_t *found, *foundsig; - unsigned int rbtoptions = DNS_RBTFIND_EMPTYDATA; - isc_rwlocktype_t locktype; - bool dcnull = (dcname == NULL); + unsigned int rbtoptions = DNS_RBTFIND_EMPTYDATA; + isc_rwlocktype_t locktype; + bool dcnull = (dcname == NULL); search.rbtdb = (dns_rbtdb_t *)db; @@ -5106,8 +5065,7 @@ cache_findzonecut(dns_db_t *db, const dns_name_t *name, unsigned int options, header_prev = NULL; for (header = node->data; header != NULL; header = header_next) { header_next = header->next; - if (check_stale_header(node, header, - &locktype, lock, &search, + if (check_stale_header(node, header, &locktype, lock, &search, &header_prev)) { /* Do nothing. */ } else if (EXISTS(header)) { @@ -5156,7 +5114,7 @@ cache_findzonecut(dns_db_t *db, const dns_name_t *name, unsigned int options, sigrdataset); if (need_headerupdate(found, search.now) || - (foundsig != NULL && need_headerupdate(foundsig, search.now))) { + (foundsig != NULL && need_headerupdate(foundsig, search.now))) { if (locktype != isc_rwlocktype_write) { NODE_UNLOCK(lock, locktype); NODE_LOCK(lock, isc_rwlocktype_write); @@ -5173,7 +5131,7 @@ cache_findzonecut(dns_db_t *db, const dns_name_t *name, unsigned int options, NODE_UNLOCK(lock, locktype); - tree_exit: +tree_exit: RWUNLOCK(&search.rbtdb->tree_lock, isc_rwlocktype_read); INSIST(!search.need_cleanup); @@ -5187,8 +5145,9 @@ cache_findzonecut(dns_db_t *db, const dns_name_t *name, unsigned int options, } static void -attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; +attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) +{ + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; dns_rbtnode_t *node = (dns_rbtnode_t *)source; REQUIRE(VALID_RBTDB(rbtdb)); @@ -5200,11 +5159,12 @@ attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) { } static void -detachnode(dns_db_t *db, dns_dbnode_t **targetp) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; - dns_rbtnode_t *node; - bool want_free = false; - bool inactive = false; +detachnode(dns_db_t *db, dns_dbnode_t **targetp) +{ + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; + dns_rbtnode_t * node; + bool want_free = false; + bool inactive = false; rbtdb_nodelock_t *nodelock; REQUIRE(VALID_RBTDB(rbtdb)); @@ -5249,19 +5209,20 @@ detachnode(dns_db_t *db, dns_dbnode_t **targetp) { } static isc_result_t -expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; - dns_rbtnode_t *rbtnode = node; +expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) +{ + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; + dns_rbtnode_t * rbtnode = node; rdatasetheader_t *header; - bool force_expire = false; + bool force_expire = false; /* * These are the category and module used by the cache cleaner. */ - bool log = false; + bool log = false; isc_logcategory_t *category = DNS_LOGCATEGORY_DATABASE; - isc_logmodule_t *module = DNS_LOGMODULE_CACHE; - int level = ISC_LOG_DEBUG(2); - char printname[DNS_NAME_FORMATSIZE]; + isc_logmodule_t * module = DNS_LOGMODULE_CACHE; + int level = ISC_LOG_DEBUG(2); + char printname[DNS_NAME_FORMATSIZE]; REQUIRE(VALID_RBTDB(rbtdb)); @@ -5277,8 +5238,8 @@ expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) { * Force expire with 25% probability. * XXXDCL Could stand to have a better policy, like LRU. */ - force_expire = (rbtnode->down == NULL && - (isc_random32() % 4) == 0); + force_expire = + (rbtnode->down == NULL && (isc_random32() % 4) == 0); /* * Note that 'log' can be true IFF overmem is also true. @@ -5287,12 +5248,12 @@ expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) { */ log = isc_log_wouldlog(dns_lctx, level); if (log) - isc_log_write(dns_lctx, category, module, level, - "overmem cache: %s %s", - force_expire ? "FORCE" : "check", - dns_rbt_formatnodename(rbtnode, - printname, - sizeof(printname))); + isc_log_write( + dns_lctx, category, module, level, + "overmem cache: %s %s", + force_expire ? "FORCE" : "check", + dns_rbt_formatnodename(rbtnode, printname, + sizeof(printname))); } /* @@ -5312,17 +5273,16 @@ expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) { */ mark_header_ancient(rbtdb, header); if (log) - isc_log_write(dns_lctx, category, module, - level, + isc_log_write(dns_lctx, category, module, level, "overmem cache: ancient %s", printname); } else if (force_expire) { - if (! RETAIN(header)) { + if (!RETAIN(header)) { set_ttl(rbtdb, header, 0); mark_header_ancient(rbtdb, header); } else if (log) { - isc_log_write(dns_lctx, category, module, - level, "overmem cache: " + isc_log_write(dns_lctx, category, module, level, + "overmem cache: " "reprieve by RETAIN() %s", printname); } @@ -5337,7 +5297,8 @@ expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) { } static void -overmem(dns_db_t *db, bool over) { +overmem(dns_db_t *db, bool over) +{ /* This is an empty callback. See adb.c:water() */ UNUSED(db); @@ -5347,11 +5308,12 @@ overmem(dns_db_t *db, bool over) { } static void -printnode(dns_db_t *db, dns_dbnode_t *node, FILE *out) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; +printnode(dns_db_t *db, dns_dbnode_t *node, FILE *out) +{ + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; dns_rbtnode_t *rbtnode = node; - bool first; - uint32_t refs; + bool first; + uint32_t refs; REQUIRE(VALID_RBTDB(rbtdb)); @@ -5359,9 +5321,8 @@ printnode(dns_db_t *db, dns_dbnode_t *node, FILE *out) { isc_rwlocktype_read); refs = isc_refcount_current(&rbtnode->references); - fprintf(out, "node %p, %" PRIu32 " references, locknum = %u\n", - rbtnode, refs, - rbtnode->locknum); + fprintf(out, "node %p, %" PRIu32 " references, locknum = %u\n", rbtnode, + refs, rbtnode->locknum); if (rbtnode->data != NULL) { rdatasetheader_t *current, *top_next; @@ -5379,11 +5340,10 @@ printnode(dns_db_t *db, dns_dbnode_t *node, FILE *out) { "trust = %u, attributes = %u, " "resign = %u\n", (unsigned long)current->serial, - current->rdh_ttl, - current->trust, + current->rdh_ttl, current->trust, current->attributes, (current->resign << 1) | - current->resign_lsb); + current->resign_lsb); current = current->down; } while (current != NULL); } @@ -5397,7 +5357,7 @@ printnode(dns_db_t *db, dns_dbnode_t *node, FILE *out) { static isc_result_t createiterator(dns_db_t *db, unsigned int options, dns_dbiterator_t **iteratorp) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; rbtdb_dbiterator_t *rbtdbiter; REQUIRE(VALID_RBTDB(rbtdb)); @@ -5439,12 +5399,12 @@ zone_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, isc_stdtime_t now, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; - dns_rbtnode_t *rbtnode = (dns_rbtnode_t *)node; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; + dns_rbtnode_t * rbtnode = (dns_rbtnode_t *)node; rdatasetheader_t *header, *header_next, *found, *foundsig; - rbtdb_serial_t serial; - rbtdb_version_t *rbtversion = version; - bool close_version = false; + rbtdb_serial_t serial; + rbtdb_version_t * rbtversion = version; + bool close_version = false; rbtdb_rdatatype_t matchtype, sigmatchtype; REQUIRE(VALID_RBTDB(rbtdb)); @@ -5452,7 +5412,7 @@ zone_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, INSIST(rbtversion == NULL || rbtversion->rbtdb == rbtdb); if (rbtversion == NULL) { - currentversion(db, (dns_dbversion_t **) (void *)(&rbtversion)); + currentversion(db, (dns_dbversion_t **)(void *)(&rbtversion)); close_version = true; } serial = rbtversion->serial; @@ -5472,8 +5432,7 @@ zone_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, for (header = rbtnode->data; header != NULL; header = header_next) { header_next = header->next; do { - if (header->serial <= serial && - !IGNORE(header)) { + if (header->serial <= serial && !IGNORE(header)) { /* * Is this a "this rdataset doesn't * exist" record? @@ -5511,7 +5470,7 @@ zone_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, isc_rwlocktype_read); if (close_version) - closeversion(db, (dns_dbversion_t **) (void *)(&rbtversion), + closeversion(db, (dns_dbversion_t **)(void *)(&rbtversion), false); if (found == NULL) @@ -5526,13 +5485,13 @@ cache_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, isc_stdtime_t now, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; - dns_rbtnode_t *rbtnode = (dns_rbtnode_t *)node; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; + dns_rbtnode_t * rbtnode = (dns_rbtnode_t *)node; rdatasetheader_t *header, *header_next, *found, *foundsig; rbtdb_rdatatype_t matchtype, sigmatchtype, negtype; - isc_result_t result; - nodelock_t *lock; - isc_rwlocktype_t locktype; + isc_result_t result; + nodelock_t * lock; + isc_rwlocktype_t locktype; REQUIRE(VALID_RBTDB(rbtdb)); REQUIRE(type != dns_rdatatype_any); @@ -5619,9 +5578,9 @@ static isc_result_t allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, isc_stdtime_t now, dns_rdatasetiter_t **iteratorp) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; - dns_rbtnode_t *rbtnode = (dns_rbtnode_t *)node; - rbtdb_version_t *rbtversion = version; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; + dns_rbtnode_t * rbtnode = (dns_rbtnode_t *)node; + rbtdb_version_t * rbtversion = version; rbtdb_rdatasetiter_t *iterator; REQUIRE(VALID_RBTDB(rbtdb)); @@ -5631,8 +5590,8 @@ allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, if ((db->attributes & DNS_DBATTR_CACHE) == 0) { now = 0; if (rbtversion == NULL) - currentversion(db, - (dns_dbversion_t **) (void *)(&rbtversion)); + currentversion( + db, (dns_dbversion_t **)(void *)(&rbtversion)); else { INSIST(rbtversion->rbtdb == rbtdb); @@ -5661,10 +5620,11 @@ allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, } static bool -cname_and_other_data(dns_rbtnode_t *node, rbtdb_serial_t serial) { +cname_and_other_data(dns_rbtnode_t *node, rbtdb_serial_t serial) +{ rdatasetheader_t *header, *header_next; - bool cname, other_data; - dns_rdatatype_t rdtype; + bool cname, other_data; + dns_rdatatype_t rdtype; /* * The caller must hold the node lock. @@ -5737,7 +5697,8 @@ cname_and_other_data(dns_rbtnode_t *node, rbtdb_serial_t serial) { } static isc_result_t -resign_insert(dns_rbtdb_t *rbtdb, int idx, rdatasetheader_t *newheader) { +resign_insert(dns_rbtdb_t *rbtdb, int idx, rdatasetheader_t *newheader) +{ isc_result_t result; INSIST(!IS_CACHE(rbtdb)); @@ -5771,7 +5732,7 @@ update_recordsandbytes(bool add, rbtdb_version_t *rbtversion, rdatasetheader_t *header) { unsigned char *hdr = (unsigned char *)header; - size_t hdrsize = sizeof (*header); + size_t hdrsize = sizeof(*header); RWLOCK(&rbtversion->rwlock, isc_rwlocktype_write); if (add) { @@ -5789,17 +5750,17 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, rdatasetheader_t *newheader, unsigned int options, bool loading, dns_rdataset_t *addedrdataset, isc_stdtime_t now) { - rbtdb_changed_t *changed = NULL; + rbtdb_changed_t * changed = NULL; rdatasetheader_t *topheader, *topheader_prev, *header, *sigheader; - unsigned char *merged; - isc_result_t result; - bool header_nx; - bool newheader_nx; - bool merge; - dns_rdatatype_t rdtype, covers; + unsigned char * merged; + isc_result_t result; + bool header_nx; + bool newheader_nx; + bool merge; + dns_rdatatype_t rdtype, covers; rbtdb_rdatatype_t negtype, sigtype; - dns_trust_t trust; - int idx; + dns_trust_t trust; + int idx; /* * Add an rdatasetheader_t to a node. @@ -5857,8 +5818,7 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, */ for (topheader = rbtnode->data; topheader != NULL; - topheader = topheader->next) - { + topheader = topheader->next) { set_ttl(rbtdb, topheader, 0); mark_header_ancient(rbtdb, topheader); } @@ -5868,8 +5828,7 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, * Otherwise look for any RRSIGs of the given * type so they can be marked ancient later. */ - for (topheader = rbtnode->data; - topheader != NULL; + for (topheader = rbtnode->data; topheader != NULL; topheader = topheader->next) if (topheader->type == sigtype) sigheader = topheader; @@ -5883,16 +5842,15 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, * check for an extant non-ancient NODATA ncache * entry which covers the same type as the RRSIG. */ - for (topheader = rbtnode->data; - topheader != NULL; + for (topheader = rbtnode->data; topheader != NULL; topheader = topheader->next) { if ((topheader->type == - RBTDB_RDATATYPE_NCACHEANY) || - (newheader->type == sigtype && - topheader->type == - RBTDB_RDATATYPE_VALUE(0, covers))) { - break; - } + RBTDB_RDATATYPE_NCACHEANY) || + (newheader->type == sigtype && + topheader->type == RBTDB_RDATATYPE_VALUE( + 0, covers))) { + break; + } } if (topheader != NULL && EXISTS(topheader) && ACTIVE(topheader, now)) { @@ -5904,8 +5862,7 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, * The NXDOMAIN/NODATA(QTYPE=ANY) * is more trusted. */ - free_rdataset(rbtdb, - rbtdb->common.mctx, + free_rdataset(rbtdb, rbtdb->common.mctx, newheader); if (addedrdataset != NULL) bind_rdataset(rbtdb, rbtnode, @@ -5926,8 +5883,7 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, } } - for (topheader = rbtnode->data; - topheader != NULL; + for (topheader = rbtnode->data; topheader != NULL; topheader = topheader->next) { if (topheader->type == newheader->type || topheader->type == negtype) @@ -5935,7 +5891,7 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, topheader_prev = topheader; } - find_header: +find_header: /* * If header isn't NULL, we've found the right type. There may be * IGNORE rdatasets between the top of the chain and the first real @@ -5994,19 +5950,19 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, * merge is only done with zonedbs. */ if ((options & DNS_DBADD_EXACTTTL) != 0 && - newheader->rdh_ttl != header->rdh_ttl) - result = DNS_R_NOTEXACT; + newheader->rdh_ttl != header->rdh_ttl) + result = DNS_R_NOTEXACT; else if (newheader->rdh_ttl != header->rdh_ttl) flags |= DNS_RDATASLAB_FORCE; if (result == ISC_R_SUCCESS) result = dns_rdataslab_merge( - (unsigned char *)header, - (unsigned char *)newheader, - (unsigned int)(sizeof(*newheader)), - rbtdb->common.mctx, - rbtdb->common.rdclass, - (dns_rdatatype_t)header->type, - flags, &merged); + (unsigned char *)header, + (unsigned char *)newheader, + (unsigned int)(sizeof(*newheader)), + rbtdb->common.mctx, + rbtdb->common.rdclass, + (dns_rdatatype_t)header->type, flags, + &merged); if (result == ISC_R_SUCCESS) { /* * If 'header' has the same serial number as @@ -6023,11 +5979,10 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, update_newheader(newheader, header); if (loading && RESIGN(newheader) && RESIGN(header) && - resign_sooner(header, newheader)) - { + resign_sooner(header, newheader)) { newheader->resign = header->resign; newheader->resign_lsb = - header->resign_lsb; + header->resign_lsb; } } else { free_rdataset(rbtdb, rbtdb->common.mctx, @@ -6044,9 +5999,8 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, * normally further down. */ if (IS_CACHE(rbtdb) && ACTIVE(header, now) && - header->type == dns_rdatatype_ns && - !header_nx && !newheader_nx && - header->trust >= newheader->trust && + header->type == dns_rdatatype_ns && !header_nx && + !newheader_nx && header->trust >= newheader->trust && dns_rdataslab_equalx((unsigned char *)header, (unsigned char *)newheader, (unsigned int)(sizeof(*newheader)), @@ -6080,9 +6034,8 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, * ensures the delegations that are withdrawn are honoured. */ if (IS_CACHE(rbtdb) && ACTIVE(header, now) && - header->type == dns_rdatatype_ns && - !header_nx && !newheader_nx && - header->trust <= newheader->trust) { + header->type == dns_rdatatype_ns && !header_nx && + !newheader_nx && header->trust <= newheader->trust) { if (newheader->rdh_ttl > header->rdh_ttl) { newheader->rdh_ttl = header->rdh_ttl; } @@ -6136,16 +6089,14 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, result = isc_heap_insert(rbtdb->heaps[idx], newheader); if (result != ISC_R_SUCCESS) { - free_rdataset(rbtdb, - rbtdb->common.mctx, + free_rdataset(rbtdb, rbtdb->common.mctx, newheader); return (result); } } else if (RESIGN(newheader)) { result = resign_insert(rbtdb, idx, newheader); if (result != ISC_R_SUCCESS) { - free_rdataset(rbtdb, - rbtdb->common.mctx, + free_rdataset(rbtdb, rbtdb->common.mctx, newheader); return (result); } @@ -6179,8 +6130,7 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, result = isc_heap_insert(rbtdb->heaps[idx], newheader); if (result != ISC_R_SUCCESS) { - free_rdataset(rbtdb, - rbtdb->common.mctx, + free_rdataset(rbtdb, rbtdb->common.mctx, newheader); return (result); } @@ -6193,8 +6143,7 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, } else if (RESIGN(newheader)) { result = resign_insert(rbtdb, idx, newheader); if (result != ISC_R_SUCCESS) { - free_rdataset(rbtdb, - rbtdb->common.mctx, + free_rdataset(rbtdb, rbtdb->common.mctx, newheader); return (result); } @@ -6313,8 +6262,7 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, } static inline bool -delegating_type(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, - rbtdb_rdatatype_t type) +delegating_type(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, rbtdb_rdatatype_t type) { if (IS_CACHE(rbtdb)) { if (type == dns_rdatatype_dname) @@ -6333,11 +6281,11 @@ addnoqname(dns_rbtdb_t *rbtdb, rdatasetheader_t *newheader, dns_rdataset_t *rdataset) { struct noqname *noqname; - isc_mem_t *mctx = rbtdb->common.mctx; - dns_name_t name; - dns_rdataset_t neg, negsig; - isc_result_t result; - isc_region_t r; + isc_mem_t * mctx = rbtdb->common.mctx; + dns_name_t name; + dns_rdataset_t neg, negsig; + isc_result_t result; + isc_region_t r; dns_name_init(&name, NULL); dns_rdataset_init(&neg); @@ -6369,7 +6317,7 @@ cleanup: dns_rdataset_disassociate(&neg); dns_rdataset_disassociate(&negsig); free_noqname(mctx, &noqname); - return(result); + return (result); } static inline isc_result_t @@ -6377,11 +6325,11 @@ addclosest(dns_rbtdb_t *rbtdb, rdatasetheader_t *newheader, dns_rdataset_t *rdataset) { struct noqname *closest; - isc_mem_t *mctx = rbtdb->common.mctx; - dns_name_t name; - dns_rdataset_t neg, negsig; - isc_result_t result; - isc_region_t r; + isc_mem_t * mctx = rbtdb->common.mctx; + dns_name_t name; + dns_rdataset_t neg, negsig; + isc_result_t result; + isc_region_t r; dns_name_init(&name, NULL); dns_rdataset_init(&neg); @@ -6409,11 +6357,11 @@ addclosest(dns_rbtdb_t *rbtdb, rdatasetheader_t *newheader, newheader->closest = closest; return (ISC_R_SUCCESS); - cleanup: +cleanup: dns_rdataset_disassociate(&neg); dns_rdataset_disassociate(&negsig); free_noqname(mctx, &closest); - return(result); + return (result); } static dns_dbmethods_t zone_methods; @@ -6423,19 +6371,19 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, isc_stdtime_t now, dns_rdataset_t *rdataset, unsigned int options, dns_rdataset_t *addedrdataset) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; - dns_rbtnode_t *rbtnode = (dns_rbtnode_t *)node; - rbtdb_version_t *rbtversion = version; - isc_region_t region; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; + dns_rbtnode_t * rbtnode = (dns_rbtnode_t *)node; + rbtdb_version_t * rbtversion = version; + isc_region_t region; rdatasetheader_t *newheader; rdatasetheader_t *header; - isc_result_t result; - bool delegating; - bool newnsec; - bool tree_locked = false; - bool cache_is_overmem = false; - dns_fixedname_t fixed; - dns_name_t *name; + isc_result_t result; + bool delegating; + bool newnsec; + bool tree_locked = false; + bool cache_is_overmem = false; + dns_fixedname_t fixed; + dns_name_t * name; REQUIRE(VALID_RBTDB(rbtdb)); INSIST(rbtversion == NULL || rbtversion->rbtdb == rbtdb); @@ -6446,8 +6394,8 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, (rdataset->type == dns_rdatatype_nsec3 || rdataset->covers == dns_rdatatype_nsec3)) || (rbtnode->nsec != DNS_RBT_NSEC_NSEC3 && - rdataset->type != dns_rdatatype_nsec3 && - rdataset->covers != dns_rdatatype_nsec3))); + rdataset->type != dns_rdatatype_nsec3 && + rdataset->covers != dns_rdatatype_nsec3))); RWUNLOCK(&rbtdb->tree_lock, isc_rwlocktype_read); } @@ -6472,8 +6420,8 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, init_rdataset(rbtdb, newheader); setownercase(newheader, name); set_ttl(rbtdb, newheader, rdataset->ttl + now); - newheader->type = RBTDB_RDATATYPE_VALUE(rdataset->type, - rdataset->covers); + newheader->type = + RBTDB_RDATATYPE_VALUE(rdataset->type, rdataset->covers); newheader->attributes = 0; if (rdataset->ttl == 0U) newheader->attributes |= RDATASET_ATTR_ZEROTTL; @@ -6490,8 +6438,8 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, if ((rdataset->attributes & DNS_RDATASETATTR_RESIGN) != 0) { newheader->attributes |= RDATASET_ATTR_RESIGN; - newheader->resign = (isc_stdtime_t) - (dns_time64_from32(rdataset->resign) >> 1); + newheader->resign = (isc_stdtime_t)( + dns_time64_from32(rdataset->resign) >> 1); newheader->resign_lsb = rdataset->resign & 0x1; } else { newheader->resign = 0; @@ -6542,8 +6490,7 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, */ RWLOCK(&rbtdb->tree_lock, isc_rwlocktype_read); if (rbtnode->nsec != DNS_RBT_NSEC_HAS_NSEC && - rdataset->type == dns_rdatatype_nsec) - { + rdataset->type == dns_rdatatype_nsec) { newnsec = true; } else { newnsec = false; @@ -6580,8 +6527,7 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, header = isc_heap_element(rbtdb->heaps[rbtnode->locknum], 1); if (header && header->rdh_ttl < now - RBTDB_VIRTUAL) - expire_header(rbtdb, header, tree_locked, - expire_ttl); + expire_header(rbtdb, header, tree_locked, expire_ttl); /* * If we've been holding a write lock on the tree just for @@ -6637,14 +6583,14 @@ subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, dns_rdataset_t *rdataset, unsigned int options, dns_rdataset_t *newrdataset) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; - dns_rbtnode_t *rbtnode = (dns_rbtnode_t *)node; - rbtdb_version_t *rbtversion = version; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; + dns_rbtnode_t * rbtnode = (dns_rbtnode_t *)node; + rbtdb_version_t * rbtversion = version; rdatasetheader_t *topheader, *topheader_prev, *header, *newheader; - unsigned char *subresult; - isc_region_t region; - isc_result_t result; - rbtdb_changed_t *changed; + unsigned char * subresult; + isc_region_t region; + isc_result_t result; + rbtdb_changed_t * changed; REQUIRE(VALID_RBTDB(rbtdb)); REQUIRE(rbtversion != NULL && rbtversion->rbtdb == rbtdb); @@ -6655,8 +6601,8 @@ subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, (rdataset->type == dns_rdatatype_nsec3 || rdataset->covers == dns_rdatatype_nsec3)) || (rbtnode->nsec != DNS_RBT_NSEC_NSEC3 && - rdataset->type != dns_rdatatype_nsec3 && - rdataset->covers != dns_rdatatype_nsec3))); + rdataset->type != dns_rdatatype_nsec3 && + rdataset->covers != dns_rdatatype_nsec3))); RWUNLOCK(&rbtdb->tree_lock, isc_rwlocktype_read); } @@ -6667,8 +6613,8 @@ subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, newheader = (rdatasetheader_t *)region.base; init_rdataset(rbtdb, newheader); set_ttl(rbtdb, newheader, rdataset->ttl); - newheader->type = RBTDB_RDATATYPE_VALUE(rdataset->type, - rdataset->covers); + newheader->type = + RBTDB_RDATATYPE_VALUE(rdataset->type, rdataset->covers); newheader->attributes = 0; newheader->serial = rbtversion->serial; newheader->trust = 0; @@ -6680,8 +6626,8 @@ subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, newheader->node = rbtnode; if ((rdataset->attributes & DNS_RDATASETATTR_RESIGN) != 0) { newheader->attributes |= RDATASET_ATTR_RESIGN; - newheader->resign = (isc_stdtime_t) - (dns_time64_from32(rdataset->resign) >> 1); + newheader->resign = (isc_stdtime_t)( + dns_time64_from32(rdataset->resign) >> 1); newheader->resign_lsb = rdataset->resign & 0x1; } else { newheader->resign = 0; @@ -6700,8 +6646,7 @@ subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, } topheader_prev = NULL; - for (topheader = rbtnode->data; - topheader != NULL; + for (topheader = rbtnode->data; topheader != NULL; topheader = topheader->next) { if (topheader->type == newheader->type) break; @@ -6726,13 +6671,12 @@ subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, } if (result == ISC_R_SUCCESS) result = dns_rdataslab_subtract( - (unsigned char *)header, - (unsigned char *)newheader, - (unsigned int)(sizeof(*newheader)), - rbtdb->common.mctx, - rbtdb->common.rdclass, - (dns_rdatatype_t)header->type, - flags, &subresult); + (unsigned char *)header, + (unsigned char *)newheader, + (unsigned int)(sizeof(*newheader)), + rbtdb->common.mctx, rbtdb->common.rdclass, + (dns_rdatatype_t)header->type, flags, + &subresult); if (result == ISC_R_SUCCESS) { free_rdataset(rbtdb, rbtdb->common.mctx, newheader); newheader = (rdatasetheader_t *)subresult; @@ -6745,8 +6689,7 @@ subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, result = resign_insert(rbtdb, rbtnode->locknum, newheader); if (result != ISC_R_SUCCESS) { - free_rdataset(rbtdb, - rbtdb->common.mctx, + free_rdataset(rbtdb, rbtdb->common.mctx, newheader); goto unlock; } @@ -6827,7 +6770,7 @@ subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, (options & DNS_DBSUB_WANTOLD) != 0) bind_rdataset(rbtdb, rbtnode, header, 0, newrdataset); - unlock: +unlock: NODE_UNLOCK(&rbtdb->node_locks[rbtnode->locknum].lock, isc_rwlocktype_write); @@ -6849,10 +6792,10 @@ static isc_result_t deleterdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, dns_rdatatype_t type, dns_rdatatype_t covers) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; - dns_rbtnode_t *rbtnode = (dns_rbtnode_t *)node; - rbtdb_version_t *rbtversion = version; - isc_result_t result; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; + dns_rbtnode_t * rbtnode = (dns_rbtnode_t *)node; + rbtdb_version_t * rbtversion = version; + isc_result_t result; rdatasetheader_t *newheader; REQUIRE(VALID_RBTDB(rbtdb)); @@ -6911,7 +6854,7 @@ static isc_result_t loadnode(dns_rbtdb_t *rbtdb, const dns_name_t *name, dns_rbtnode_t **nodep, bool hasnsec) { - isc_result_t noderesult, nsecresult, tmpresult; + isc_result_t noderesult, nsecresult, tmpresult; dns_rbtnode_t *nsecnode = NULL, *node = NULL; noderesult = dns_rbt_addnode(rbtdb->tree, name, &node); @@ -6944,10 +6887,8 @@ loadnode(dns_rbtdb_t *rbtdb, const dns_name_t *name, dns_rbtnode_t **nodep, if (nsecresult == ISC_R_EXISTS) { #if 1 /* 0 */ - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_CACHE, - ISC_LOG_WARNING, + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, + DNS_LOGMODULE_CACHE, ISC_LOG_WARNING, "addnode: NSEC node already exists"); #endif node->nsec = DNS_RBT_NSEC_HAS_NSEC; @@ -6955,16 +6896,13 @@ loadnode(dns_rbtdb_t *rbtdb, const dns_name_t *name, dns_rbtnode_t **nodep, } if (noderesult == ISC_R_SUCCESS) { - /* * Remove the node we just added above. */ tmpresult = dns_rbt_deletenode(rbtdb->tree, node, false); if (tmpresult != ISC_R_SUCCESS) { - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_CACHE, - ISC_LOG_WARNING, + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, + DNS_LOGMODULE_CACHE, ISC_LOG_WARNING, "loading_addrdataset: " "dns_rbt_deletenode: %s after " "dns_rbt_addnode(NSEC): %s", @@ -6978,7 +6916,7 @@ loadnode(dns_rbtdb_t *rbtdb, const dns_name_t *name, dns_rbtnode_t **nodep, */ noderesult = nsecresult; - done: +done: if (noderesult == ISC_R_SUCCESS || noderesult == ISC_R_EXISTS) *nodep = node; @@ -6986,14 +6924,13 @@ loadnode(dns_rbtdb_t *rbtdb, const dns_name_t *name, dns_rbtnode_t **nodep, } static isc_result_t -loading_addrdataset(void *arg, const dns_name_t *name, - dns_rdataset_t *rdataset) +loading_addrdataset(void *arg, const dns_name_t *name, dns_rdataset_t *rdataset) { - rbtdb_load_t *loadctx = arg; - dns_rbtdb_t *rbtdb = loadctx->rbtdb; - dns_rbtnode_t *node; - isc_result_t result; - isc_region_t region; + rbtdb_load_t * loadctx = arg; + dns_rbtdb_t * rbtdb = loadctx->rbtdb; + dns_rbtnode_t * node; + isc_result_t result; + isc_region_t region; rdatasetheader_t *newheader; REQUIRE(rdataset->rdclass == rbtdb->common.rdclass); @@ -7007,8 +6944,8 @@ loading_addrdataset(void *arg, const dns_name_t *name, /* * SOA records are only allowed at top of zone. */ - if (rdataset->type == dns_rdatatype_soa && - !IS_CACHE(rbtdb) && !dns_name_equal(name, &rbtdb->common.origin)) + if (rdataset->type == dns_rdatatype_soa && !IS_CACHE(rbtdb) && + !dns_name_equal(name, &rbtdb->common.origin)) return (DNS_R_NOTZONETOP); if (rdataset->type != dns_rdatatype_nsec3 && @@ -7052,16 +6989,15 @@ loading_addrdataset(void *arg, const dns_name_t *name, } result = dns_rdataslab_fromrdataset(rdataset, rbtdb->common.mctx, - ®ion, - sizeof(rdatasetheader_t)); + ®ion, sizeof(rdatasetheader_t)); if (result != ISC_R_SUCCESS) return (result); newheader = (rdatasetheader_t *)region.base; init_rdataset(rbtdb, newheader); - set_ttl(rbtdb, newheader, - rdataset->ttl + loadctx->now); /* XXX overflow check */ - newheader->type = RBTDB_RDATATYPE_VALUE(rdataset->type, - rdataset->covers); + set_ttl(rbtdb, newheader, rdataset->ttl + loadctx->now); /* XXX overflow + check */ + newheader->type = + RBTDB_RDATATYPE_VALUE(rdataset->type, rdataset->covers); newheader->attributes = 0; newheader->trust = rdataset->trust; newheader->serial = 1; @@ -7075,16 +7011,15 @@ loading_addrdataset(void *arg, const dns_name_t *name, if ((rdataset->attributes & DNS_RDATASETATTR_RESIGN) != 0) { newheader->attributes |= RDATASET_ATTR_RESIGN; - newheader->resign = (isc_stdtime_t) - (dns_time64_from32(rdataset->resign) >> 1); + newheader->resign = (isc_stdtime_t)( + dns_time64_from32(rdataset->resign) >> 1); newheader->resign_lsb = rdataset->resign & 0x1; } else { newheader->resign = 0; newheader->resign_lsb = 0; } - NODE_LOCK(&rbtdb->node_locks[node->locknum].lock, - isc_rwlocktype_write); + NODE_LOCK(&rbtdb->node_locks[node->locknum].lock, isc_rwlocktype_write); result = add32(rbtdb, node, rbtdb->current_version, newheader, DNS_DBADD_MERGE, true, NULL, 0); @@ -7102,20 +7037,20 @@ loading_addrdataset(void *arg, const dns_name_t *name, } static isc_result_t -rbt_datafixer(dns_rbtnode_t *rbtnode, void *base, size_t filesize, - void *arg, uint64_t *crc) +rbt_datafixer(dns_rbtnode_t *rbtnode, void *base, size_t filesize, void *arg, + uint64_t *crc) { - isc_result_t result; - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *) arg; + isc_result_t result; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)arg; rdatasetheader_t *header; - unsigned char *limit = ((unsigned char *) base) + filesize; + unsigned char * limit = ((unsigned char *)base) + filesize; REQUIRE(rbtnode != NULL); REQUIRE(VALID_RBTDB(rbtdb)); for (header = rbtnode->data; header != NULL; header = header->next) { - unsigned char *p = (unsigned char *) header; - size_t size = dns_rdataslab_size(p, sizeof(*header)); + unsigned char *p = (unsigned char *)header; + size_t size = dns_rdataslab_size(p, sizeof(*header)); isc_crc64_update(crc, p, size); #ifdef DEBUG hexdump("hashing header", p, sizeof(rdatasetheader_t)); @@ -7128,8 +7063,7 @@ rbt_datafixer(dns_rbtnode_t *rbtnode, void *base, size_t filesize, header->node_is_relative = 0; if (RESIGN(header) && - (header->resign != 0 || header->resign_lsb != 0)) - { + (header->resign != 0 || header->resign_lsb != 0)) { int idx = header->node->locknum; result = isc_heap_insert(rbtdb->heaps[idx], header); if (result != ISC_R_SUCCESS) @@ -7139,12 +7073,12 @@ rbt_datafixer(dns_rbtnode_t *rbtnode, void *base, size_t filesize, if (header->next != NULL) { size_t cooked = dns_rbt_serialize_align(size); if ((uintptr_t)header->next != - (p - (unsigned char *)base) + cooked) + (p - (unsigned char *)base) + cooked) return (ISC_R_INVALIDFILE); header->next = (rdatasetheader_t *)(p + cooked); header->next_is_relative = 0; - if ((header->next < (rdatasetheader_t *) base) || - (header->next > (rdatasetheader_t *) limit)) + if ((header->next < (rdatasetheader_t *)base) || + (header->next > (rdatasetheader_t *)limit)) return (ISC_R_INVALIDFILE); } update_recordsandbytes(true, rbtdb->current_version, header); @@ -7157,17 +7091,18 @@ rbt_datafixer(dns_rbtnode_t *rbtnode, void *base, size_t filesize, * Load the RBT database from the image in 'f' */ static isc_result_t -deserialize32(void *arg, FILE *f, off_t offset) { - isc_result_t result; - rbtdb_load_t *loadctx = arg; - dns_rbtdb_t *rbtdb = loadctx->rbtdb; +deserialize32(void *arg, FILE *f, off_t offset) +{ + isc_result_t result; + rbtdb_load_t * loadctx = arg; + dns_rbtdb_t * rbtdb = loadctx->rbtdb; rbtdb_file_header_t *header; - int fd; - off_t filesize = 0; - char *base; - dns_rbt_t *tree = NULL, *nsec = NULL, *nsec3 = NULL; - int protect, flags; - dns_rbtnode_t *origin_node = NULL; + int fd; + off_t filesize = 0; + char * base; + dns_rbt_t * tree = NULL, *nsec = NULL, *nsec3 = NULL; + int protect, flags; + dns_rbtnode_t * origin_node = NULL; REQUIRE(VALID_RBTDB(rbtdb)); @@ -7180,7 +7115,7 @@ deserialize32(void *arg, FILE *f, off_t offset) { /* Map in the whole file in one go */ fd = fileno(f); isc_file_getsizefd(fd, &filesize); - protect = PROT_READ|PROT_WRITE; + protect = PROT_READ | PROT_WRITE; flags = MAP_PRIVATE; #ifdef MAP_FILE flags |= MAP_FILE; @@ -7198,12 +7133,10 @@ deserialize32(void *arg, FILE *f, off_t offset) { } if (header->tree != 0) { - result = dns_rbt_deserialize_tree(base, filesize, - (off_t) header->tree, - rbtdb->common.mctx, - delete_callback, rbtdb, - rbt_datafixer, rbtdb, - NULL, &tree); + result = dns_rbt_deserialize_tree( + base, filesize, (off_t)header->tree, rbtdb->common.mctx, + delete_callback, rbtdb, rbt_datafixer, rbtdb, NULL, + &tree); if (result != ISC_R_SUCCESS) goto cleanup; @@ -7215,23 +7148,19 @@ deserialize32(void *arg, FILE *f, off_t offset) { } if (header->nsec != 0) { - result = dns_rbt_deserialize_tree(base, filesize, - (off_t) header->nsec, - rbtdb->common.mctx, - delete_callback, rbtdb, - rbt_datafixer, rbtdb, - NULL, &nsec); + result = dns_rbt_deserialize_tree( + base, filesize, (off_t)header->nsec, rbtdb->common.mctx, + delete_callback, rbtdb, rbt_datafixer, rbtdb, NULL, + &nsec); if (result != ISC_R_SUCCESS) goto cleanup; } if (header->nsec3 != 0) { - result = dns_rbt_deserialize_tree(base, filesize, - (off_t) header->nsec3, - rbtdb->common.mctx, - delete_callback, rbtdb, - rbt_datafixer, rbtdb, - NULL, &nsec3); + result = dns_rbt_deserialize_tree( + base, filesize, (off_t)header->nsec3, + rbtdb->common.mctx, delete_callback, rbtdb, + rbt_datafixer, rbtdb, NULL, &nsec3); if (result != ISC_R_SUCCESS) goto cleanup; } @@ -7242,7 +7171,7 @@ deserialize32(void *arg, FILE *f, off_t offset) { */ rbtdb->mmap_location = base; - rbtdb->mmap_size = (size_t) filesize; + rbtdb->mmap_size = (size_t)filesize; if (tree != NULL) { dns_rbt_destroy(&rbtdb->tree); @@ -7262,21 +7191,22 @@ deserialize32(void *arg, FILE *f, off_t offset) { return (ISC_R_SUCCESS); - cleanup: +cleanup: if (tree != NULL) dns_rbt_destroy(&tree); if (nsec != NULL) dns_rbt_destroy(&nsec); if (nsec3 != NULL) dns_rbt_destroy(&nsec3); - isc_file_munmap(base, (size_t) filesize); + isc_file_munmap(base, (size_t)filesize); return (result); } static isc_result_t -beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { +beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) +{ rbtdb_load_t *loadctx; - dns_rbtdb_t *rbtdb; + dns_rbtdb_t * rbtdb; rbtdb = (dns_rbtdb_t *)db; REQUIRE(DNS_CALLBACK_VALID(callbacks)); @@ -7292,8 +7222,8 @@ beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { RBTDB_LOCK(&rbtdb->lock, isc_rwlocktype_write); - REQUIRE((rbtdb->attributes & (RBTDB_ATTR_LOADED|RBTDB_ATTR_LOADING)) - == 0); + REQUIRE((rbtdb->attributes & + (RBTDB_ATTR_LOADED | RBTDB_ATTR_LOADING)) == 0); rbtdb->attributes |= RBTDB_ATTR_LOADING; RBTDB_UNLOCK(&rbtdb->lock, isc_rwlocktype_write); @@ -7307,9 +7237,10 @@ beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { } static isc_result_t -endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { +endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) +{ rbtdb_load_t *loadctx; - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; REQUIRE(VALID_RBTDB(rbtdb)); REQUIRE(DNS_CALLBACK_VALID(callbacks)); @@ -7329,7 +7260,7 @@ endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { * If there's a KEY rdataset at the zone origin containing a * zone key, we consider the zone secure. */ - if (! IS_CACHE(rbtdb) && rbtdb->origin_node != NULL) { + if (!IS_CACHE(rbtdb) && rbtdb->origin_node != NULL) { dns_dbversion_t *version = rbtdb->current_version; RBTDB_UNLOCK(&rbtdb->lock, isc_rwlocktype_write); iszonesecure(db, version, rbtdb->origin_node); @@ -7352,19 +7283,18 @@ endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { * by the void *data pointer in the dns_rbtnode */ static isc_result_t -rbt_datawriter(FILE *rbtfile, unsigned char *data, void *arg, - uint64_t *crc) +rbt_datawriter(FILE *rbtfile, unsigned char *data, void *arg, uint64_t *crc) { - rbtdb_version_t *version = (rbtdb_version_t *) arg; - rbtdb_serial_t serial; - rdatasetheader_t newheader; - rdatasetheader_t *header = (rdatasetheader_t *) data, *next; - off_t where; - size_t cooked, size; - unsigned char *p; - isc_result_t result = ISC_R_SUCCESS; - char pad[sizeof(char *)]; - uintptr_t off; + rbtdb_version_t * version = (rbtdb_version_t *)arg; + rbtdb_serial_t serial; + rdatasetheader_t newheader; + rdatasetheader_t *header = (rdatasetheader_t *)data, *next; + off_t where; + size_t cooked, size; + unsigned char * p; + isc_result_t result = ISC_R_SUCCESS; + char pad[sizeof(char *)]; + uintptr_t off; REQUIRE(rbtfile != NULL); REQUIRE(data != NULL); @@ -7387,17 +7317,17 @@ rbt_datawriter(FILE *rbtfile, unsigned char *data, void *arg, continue; CHECK(isc_stdio_tell(rbtfile, &where)); - size = dns_rdataslab_size((unsigned char *) header, + size = dns_rdataslab_size((unsigned char *)header, sizeof(rdatasetheader_t)); - p = (unsigned char *) header; + p = (unsigned char *)header; memmove(&newheader, p, sizeof(rdatasetheader_t)); newheader.down = NULL; newheader.next = NULL; off = where; if ((off_t)off != where) return (ISC_R_RANGE); - newheader.node = (dns_rbtnode_t *) off; + newheader.node = (dns_rbtnode_t *)off; newheader.node_is_relative = 1; newheader.serial = 1; @@ -7407,17 +7337,17 @@ rbt_datawriter(FILE *rbtfile, unsigned char *data, void *arg, */ cooked = dns_rbt_serialize_align(size); if (next != NULL) { - newheader.next = (rdatasetheader_t *) (off + cooked); + newheader.next = (rdatasetheader_t *)(off + cooked); newheader.next_is_relative = 1; } #ifdef DEBUG - hexdump("writing header", (unsigned char *) &newheader, + hexdump("writing header", (unsigned char *)&newheader, sizeof(rdatasetheader_t)); hexdump("writing slab", p + sizeof(rdatasetheader_t), size - sizeof(rdatasetheader_t)); #endif - isc_crc64_update(crc, (unsigned char *) &newheader, + isc_crc64_update(crc, (unsigned char *)&newheader, sizeof(rdatasetheader_t)); CHECK(isc_stdio_write(&newheader, sizeof(rdatasetheader_t), 1, rbtfile, NULL)); @@ -7430,14 +7360,14 @@ rbt_datawriter(FILE *rbtfile, unsigned char *data, void *arg, /* * Pad to force alignment. */ - if (size != (size_t) cooked) { + if (size != (size_t)cooked) { memset(pad, 0, sizeof(pad)); - CHECK(isc_stdio_write(pad, cooked - size, 1, - rbtfile, NULL)); + CHECK(isc_stdio_write(pad, cooked - size, 1, rbtfile, + NULL)); } } - failure: +failure: return (result); } @@ -7447,8 +7377,9 @@ rbt_datawriter(FILE *rbtfile, unsigned char *data, void *arg, * writing fail or be interrupted. */ static isc_result_t -rbtdb_zero_header(FILE *rbtfile) { - char buffer[RBTDB_HEADER_LENGTH]; +rbtdb_zero_header(FILE *rbtfile) +{ + char buffer[RBTDB_HEADER_LENGTH]; isc_result_t result; memset(buffer, 0, RBTDB_HEADER_LENGTH); @@ -7461,12 +7392,13 @@ rbtdb_zero_header(FILE *rbtfile) { static isc_once_t once = ISC_ONCE_INIT; static void -init_file_version(void) { +init_file_version(void) +{ int n; memset(FILE_VERSION, 0, sizeof(FILE_VERSION)); - n = snprintf(FILE_VERSION, sizeof(FILE_VERSION), - "RBTDB Image %s %s", dns_major, dns_mapapi); + n = snprintf(FILE_VERSION, sizeof(FILE_VERSION), "RBTDB Image %s %s", + dns_major, dns_mapapi); INSIST(n > 0 && (unsigned int)n < sizeof(FILE_VERSION)); } @@ -7481,34 +7413,34 @@ rbtdb_write_header(FILE *rbtfile, off_t tree_location, off_t nsec_location, off_t nsec3_location) { rbtdb_file_header_t header; - isc_result_t result; + isc_result_t result; RUNTIME_CHECK(isc_once_do(&once, init_file_version) == ISC_R_SUCCESS); memset(&header, 0, sizeof(rbtdb_file_header_t)); memmove(header.version1, FILE_VERSION, sizeof(header.version1)); memmove(header.version2, FILE_VERSION, sizeof(header.version2)); - header.ptrsize = (uint32_t) sizeof(void *); + header.ptrsize = (uint32_t)sizeof(void *); header.bigendian = (1 == htonl(1)) ? 1 : 0; - header.tree = (uint64_t) tree_location; - header.nsec = (uint64_t) nsec_location; - header.nsec3 = (uint64_t) nsec3_location; + header.tree = (uint64_t)tree_location; + header.nsec = (uint64_t)nsec_location; + header.nsec3 = (uint64_t)nsec3_location; result = isc_stdio_write(&header, 1, sizeof(rbtdb_file_header_t), - rbtfile, NULL); + rbtfile, NULL); fflush(rbtfile); return (result); } static bool -match_header_version(rbtdb_file_header_t *header) { +match_header_version(rbtdb_file_header_t *header) +{ RUNTIME_CHECK(isc_once_do(&once, init_file_version) == ISC_R_SUCCESS); - if (memcmp(header->version1, FILE_VERSION, - sizeof(header->version1)) != 0 || - memcmp(header->version2, FILE_VERSION, - sizeof(header->version1)) != 0) - { + if (memcmp(header->version1, FILE_VERSION, sizeof(header->version1)) != + 0 || + memcmp(header->version2, FILE_VERSION, sizeof(header->version1)) != + 0) { return (false); } @@ -7516,10 +7448,11 @@ match_header_version(rbtdb_file_header_t *header) { } static isc_result_t -serialize(dns_db_t *db, dns_dbversion_t *ver, FILE *rbtfile) { - rbtdb_version_t *version = (rbtdb_version_t *) ver; - dns_rbtdb_t *rbtdb; - isc_result_t result; +serialize(dns_db_t *db, dns_dbversion_t *ver, FILE *rbtfile) +{ + rbtdb_version_t *version = (rbtdb_version_t *)ver; + dns_rbtdb_t * rbtdb; + isc_result_t result; off_t tree_location, nsec_location, nsec3_location, header_location; rbtdb = (dns_rbtdb_t *)db; @@ -7554,7 +7487,7 @@ serialize(dns_db_t *db, dns_dbversion_t *ver, FILE *rbtfile) { CHECK(isc_stdio_seek(rbtfile, header_location, SEEK_SET)); CHECK(rbtdb_write_header(rbtfile, tree_location, nsec_location, nsec3_location)); - failure: +failure: return (result); } @@ -7562,7 +7495,7 @@ static isc_result_t dump(dns_db_t *db, dns_dbversion_t *version, const char *filename, dns_masterformat_t masterformat) { - dns_rbtdb_t *rbtdb; + dns_rbtdb_t * rbtdb; rbtdb_version_t *rbtversion = version; rbtdb = (dns_rbtdb_t *)db; @@ -7571,15 +7504,16 @@ dump(dns_db_t *db, dns_dbversion_t *version, const char *filename, INSIST(rbtversion == NULL || rbtversion->rbtdb == rbtdb); return (dns_master_dump(rbtdb->common.mctx, db, version, - &dns_master_style_default, - filename, masterformat, NULL)); + &dns_master_style_default, filename, + masterformat, NULL)); } static void -delete_callback(void *data, void *arg) { - dns_rbtdb_t *rbtdb = arg; +delete_callback(void *data, void *arg) +{ + dns_rbtdb_t * rbtdb = arg; rdatasetheader_t *current, *next; - unsigned int locknum; + unsigned int locknum; current = data; locknum = current->node->locknum; @@ -7593,9 +7527,10 @@ delete_callback(void *data, void *arg) { } static bool -issecure(dns_db_t *db) { +issecure(dns_db_t *db) +{ dns_rbtdb_t *rbtdb; - bool secure; + bool secure; rbtdb = (dns_rbtdb_t *)db; @@ -7609,9 +7544,10 @@ issecure(dns_db_t *db) { } static bool -isdnssec(dns_db_t *db) { +isdnssec(dns_db_t *db) +{ dns_rbtdb_t *rbtdb; - bool dnssec; + bool dnssec; rbtdb = (dns_rbtdb_t *)db; @@ -7625,7 +7561,8 @@ isdnssec(dns_db_t *db) { } static unsigned int -nodecount(dns_db_t *db) { +nodecount(dns_db_t *db) +{ dns_rbtdb_t *rbtdb; unsigned int count; @@ -7641,9 +7578,10 @@ nodecount(dns_db_t *db) { } static size_t -hashsize(dns_db_t *db) { +hashsize(dns_db_t *db) +{ dns_rbtdb_t *rbtdb; - size_t size; + size_t size; rbtdb = (dns_rbtdb_t *)db; @@ -7657,7 +7595,8 @@ hashsize(dns_db_t *db) { } static void -settask(dns_db_t *db, isc_task_t *task) { +settask(dns_db_t *db, isc_task_t *task) +{ dns_rbtdb_t *rbtdb; rbtdb = (dns_rbtdb_t *)db; @@ -7673,16 +7612,18 @@ settask(dns_db_t *db, isc_task_t *task) { } static bool -ispersistent(dns_db_t *db) { +ispersistent(dns_db_t *db) +{ UNUSED(db); return (false); } static isc_result_t -getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; +getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) +{ + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; dns_rbtnode_t *onode; - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; REQUIRE(VALID_RBTDB(rbtdb)); REQUIRE(nodep != NULL && *nodep == NULL); @@ -7703,11 +7644,11 @@ getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) { static isc_result_t getnsec3parameters(dns_db_t *db, dns_dbversion_t *version, dns_hash_t *hash, - uint8_t *flags, uint16_t *iterations, - unsigned char *salt, size_t *salt_length) + uint8_t *flags, uint16_t *iterations, unsigned char *salt, + size_t *salt_length) { - dns_rbtdb_t *rbtdb; - isc_result_t result = ISC_R_NOTFOUND; + dns_rbtdb_t * rbtdb; + isc_result_t result = ISC_R_NOTFOUND; rbtdb_version_t *rbtversion = version; rbtdb = (dns_rbtdb_t *)db; @@ -7745,8 +7686,8 @@ static isc_result_t getsize(dns_db_t *db, dns_dbversion_t *version, uint64_t *records, uint64_t *bytes) { - dns_rbtdb_t *rbtdb; - isc_result_t result = ISC_R_SUCCESS; + dns_rbtdb_t * rbtdb; + isc_result_t result = ISC_R_SUCCESS; rbtdb_version_t *rbtversion = version; rbtdb = (dns_rbtdb_t *)db; @@ -7774,9 +7715,10 @@ getsize(dns_db_t *db, dns_dbversion_t *version, uint64_t *records, } static isc_result_t -setsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, isc_stdtime_t resign) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; - isc_result_t result = ISC_R_SUCCESS; +setsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, isc_stdtime_t resign) +{ + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; + isc_result_t result = ISC_R_SUCCESS; rdatasetheader_t *header, oldheader; REQUIRE(VALID_RBTDB(rbtdb)); @@ -7797,7 +7739,7 @@ setsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, isc_stdtime_t resign) { */ if (resign != 0) { header->resign = - (isc_stdtime_t)(dns_time64_from32(resign) >> 1); + (isc_stdtime_t)(dns_time64_from32(resign) >> 1); header->resign_lsb = resign & 0x1; } if (header->heap_index != 0) { @@ -7823,14 +7765,13 @@ setsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, isc_stdtime_t resign) { } static isc_result_t -getsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, - dns_name_t *foundname) +getsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, dns_name_t *foundname) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; rdatasetheader_t *header = NULL, *this; - unsigned int i; - isc_result_t result = ISC_R_NOTFOUND; - unsigned int locknum; + unsigned int i; + isc_result_t result = ISC_R_NOTFOUND; + unsigned int locknum; REQUIRE(VALID_RBTDB(rbtdb)); @@ -7869,7 +7810,7 @@ getsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, result = ISC_R_SUCCESS; - unlock: +unlock: RWUNLOCK(&rbtdb->tree_lock, isc_rwlocktype_read); return (result); @@ -7878,9 +7819,9 @@ getsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, static void resigned(dns_db_t *db, dns_rdataset_t *rdataset, dns_dbversion_t *version) { - rbtdb_version_t *rbtversion = (rbtdb_version_t *)version; - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; - dns_rbtnode_t *node; + rbtdb_version_t * rbtversion = (rbtdb_version_t *)version; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; + dns_rbtnode_t * node; rdatasetheader_t *header; REQUIRE(VALID_RBTDB(rbtdb)); @@ -7901,8 +7842,7 @@ resigned(dns_db_t *db, dns_rdataset_t *rdataset, dns_dbversion_t *version) return; RWLOCK(&rbtdb->tree_lock, isc_rwlocktype_write); - NODE_LOCK(&rbtdb->node_locks[node->locknum].lock, - isc_rwlocktype_write); + NODE_LOCK(&rbtdb->node_locks[node->locknum].lock, isc_rwlocktype_write); /* * Delete from heap and save to re-signed list so that it can * be restored if we backout of this change. @@ -7914,7 +7854,8 @@ resigned(dns_db_t *db, dns_rdataset_t *rdataset, dns_dbversion_t *version) } static isc_result_t -setcachestats(dns_db_t *db, isc_stats_t *stats) { +setcachestats(dns_db_t *db, isc_stats_t *stats) +{ dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; REQUIRE(VALID_RBTDB(rbtdb)); @@ -7926,7 +7867,8 @@ setcachestats(dns_db_t *db, isc_stats_t *stats) { } static isc_result_t -setgluecachestats(dns_db_t *db, isc_stats_t *stats) { +setgluecachestats(dns_db_t *db, isc_stats_t *stats) +{ dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; REQUIRE(VALID_RBTDB(rbtdb)); @@ -7938,7 +7880,8 @@ setgluecachestats(dns_db_t *db, isc_stats_t *stats) { } static dns_stats_t * -getrrsetstats(dns_db_t *db) { +getrrsetstats(dns_db_t *db) +{ dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; REQUIRE(VALID_RBTDB(rbtdb)); @@ -7948,10 +7891,11 @@ getrrsetstats(dns_db_t *db) { } static isc_result_t -nodefullname(dns_db_t *db, dns_dbnode_t *node, dns_name_t *name) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; +nodefullname(dns_db_t *db, dns_dbnode_t *node, dns_name_t *name) +{ + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)db; dns_rbtnode_t *rbtnode = (dns_rbtnode_t *)node; - isc_result_t result; + isc_result_t result; REQUIRE(VALID_RBTDB(rbtdb)); REQUIRE(node != NULL); @@ -7965,7 +7909,8 @@ nodefullname(dns_db_t *db, dns_dbnode_t *node, dns_name_t *name) { } static isc_result_t -setservestalettl(dns_db_t *db, dns_ttl_t ttl) { +setservestalettl(dns_db_t *db, dns_ttl_t ttl) +{ dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; REQUIRE(VALID_RBTDB(rbtdb)); @@ -7977,7 +7922,8 @@ setservestalettl(dns_db_t *db, dns_ttl_t ttl) { } static isc_result_t -getservestalettl(dns_db_t *db, dns_ttl_t *ttl) { +getservestalettl(dns_db_t *db, dns_ttl_t *ttl) +{ dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; REQUIRE(VALID_RBTDB(rbtdb)); @@ -7987,108 +7933,103 @@ getservestalettl(dns_db_t *db, dns_ttl_t *ttl) { return (ISC_R_SUCCESS); } +static dns_dbmethods_t zone_methods = { attach, + detach, + beginload, + endload, + serialize, + dump, + currentversion, + newversion, + attachversion, + closeversion, + findnode, + zone_find, + zone_findzonecut, + attachnode, + detachnode, + expirenode, + printnode, + createiterator, + zone_findrdataset, + allrdatasets, + addrdataset, + subtractrdataset, + deleterdataset, + issecure, + nodecount, + ispersistent, + overmem, + settask, + getoriginnode, + NULL, /* transfernode */ + getnsec3parameters, + findnsec3node, + setsigningtime, + getsigningtime, + resigned, + isdnssec, + NULL, /* getrrsetstats */ + NULL, /* rpz_attach */ + NULL, /* rpz_ready */ + NULL, /* findnodeext */ + NULL, /* findext */ + NULL, /* setcachestats */ + hashsize, + nodefullname, + getsize, + NULL, /* setservestalettl */ + NULL, /* getservestalettl */ + setgluecachestats }; -static dns_dbmethods_t zone_methods = { - attach, - detach, - beginload, - endload, - serialize, - dump, - currentversion, - newversion, - attachversion, - closeversion, - findnode, - zone_find, - zone_findzonecut, - attachnode, - detachnode, - expirenode, - printnode, - createiterator, - zone_findrdataset, - allrdatasets, - addrdataset, - subtractrdataset, - deleterdataset, - issecure, - nodecount, - ispersistent, - overmem, - settask, - getoriginnode, - NULL, /* transfernode */ - getnsec3parameters, - findnsec3node, - setsigningtime, - getsigningtime, - resigned, - isdnssec, - NULL, /* getrrsetstats */ - NULL, /* rpz_attach */ - NULL, /* rpz_ready */ - NULL, /* findnodeext */ - NULL, /* findext */ - NULL, /* setcachestats */ - hashsize, - nodefullname, - getsize, - NULL, /* setservestalettl */ - NULL, /* getservestalettl */ - setgluecachestats -}; - -static dns_dbmethods_t cache_methods = { - attach, - detach, - beginload, - endload, - NULL, /* serialize */ - dump, - currentversion, - newversion, - attachversion, - closeversion, - findnode, - cache_find, - cache_findzonecut, - attachnode, - detachnode, - expirenode, - printnode, - createiterator, - cache_findrdataset, - allrdatasets, - addrdataset, - subtractrdataset, - deleterdataset, - issecure, - nodecount, - ispersistent, - overmem, - settask, - getoriginnode, - NULL, /* transfernode */ - NULL, /* getnsec3parameters */ - NULL, /* findnsec3node */ - NULL, /* setsigningtime */ - NULL, /* getsigningtime */ - NULL, /* resigned */ - isdnssec, - getrrsetstats, - NULL, /* rpz_attach */ - NULL, /* rpz_ready */ - NULL, /* findnodeext */ - NULL, /* findext */ - setcachestats, - hashsize, - nodefullname, - NULL, /* getsize */ - setservestalettl, - getservestalettl, - NULL -}; +static dns_dbmethods_t cache_methods = { attach, + detach, + beginload, + endload, + NULL, /* serialize */ + dump, + currentversion, + newversion, + attachversion, + closeversion, + findnode, + cache_find, + cache_findzonecut, + attachnode, + detachnode, + expirenode, + printnode, + createiterator, + cache_findrdataset, + allrdatasets, + addrdataset, + subtractrdataset, + deleterdataset, + issecure, + nodecount, + ispersistent, + overmem, + settask, + getoriginnode, + NULL, /* transfernode */ + NULL, /* getnsec3parameters */ + NULL, /* findnsec3node */ + NULL, /* setsigningtime */ + NULL, /* getsigningtime */ + NULL, /* resigned */ + isdnssec, + getrrsetstats, + NULL, /* rpz_attach */ + NULL, /* rpz_ready */ + NULL, /* findnodeext */ + NULL, /* findext */ + setcachestats, + hashsize, + nodefullname, + NULL, /* getsize */ + setservestalettl, + getservestalettl, + NULL }; isc_result_t dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, @@ -8097,8 +8038,8 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, { dns_rbtdb_t *rbtdb; isc_result_t result; - int i; - dns_name_t name; + int i; + dns_name_t name; bool (*sooner)(void *, void *); isc_mem_t *hmctx = mctx; @@ -8111,7 +8052,7 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, * If argv[0] exists, it points to a memory context to use for heap */ if (argc != 0) - hmctx = (isc_mem_t *) argv[0]; + hmctx = (isc_mem_t *)argv[0]; memset(rbtdb, '\0', sizeof(*rbtdb)); dns_name_init(&rbtdb->common.origin, NULL); @@ -8153,8 +8094,8 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, goto cleanup_tree_lock; } INSIST(rbtdb->node_lock_count < (1 << DNS_RBT_LOCKLENGTH)); - rbtdb->node_locks = isc_mem_get(mctx, - rbtdb->node_lock_count * sizeof(rbtdb_nodelock_t)); + rbtdb->node_locks = isc_mem_get(mctx, rbtdb->node_lock_count * + sizeof(rbtdb_nodelock_t)); rbtdb->cachestats = NULL; rbtdb->gluecachestats = NULL; @@ -8164,8 +8105,9 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, result = dns_rdatasetstats_create(mctx, &rbtdb->rrsetstats); if (result != ISC_R_SUCCESS) goto cleanup_node_locks; - rbtdb->rdatasets = isc_mem_get(mctx, - rbtdb->node_lock_count * sizeof(rdatasetheaderlist_t)); + rbtdb->rdatasets = + isc_mem_get(mctx, rbtdb->node_lock_count * + sizeof(rdatasetheaderlist_t)); for (i = 0; i < (int)rbtdb->node_lock_count; i++) ISC_LIST_INIT(rbtdb->rdatasets[i]); } else @@ -8174,8 +8116,8 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, /* * Create the heaps. */ - rbtdb->heaps = isc_mem_get(hmctx, - rbtdb->node_lock_count * sizeof(isc_heap_t *)); + rbtdb->heaps = isc_mem_get(hmctx, rbtdb->node_lock_count * + sizeof(isc_heap_t *)); for (i = 0; i < (int)rbtdb->node_lock_count; i++) rbtdb->heaps[i] = NULL; sooner = IS_CACHE(rbtdb) ? ttl_sooner : resign_sooner; @@ -8189,8 +8131,8 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, /* * Create deadnode lists. */ - rbtdb->deadnodes = isc_mem_get(mctx, - rbtdb->node_lock_count * sizeof(rbtnodelist_t)); + rbtdb->deadnodes = isc_mem_get(mctx, rbtdb->node_lock_count * + sizeof(rbtnodelist_t)); for (i = 0; i < (int)rbtdb->node_lock_count; i++) ISC_LIST_INIT(rbtdb->deadnodes[i]); @@ -8204,7 +8146,8 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, if (result != ISC_R_SUCCESS) { while (i-- > 0) { NODE_DESTROYLOCK(&rbtdb->node_locks[i].lock); - isc_refcount_destroy(&rbtdb->node_locks[i].references); + isc_refcount_destroy( + &rbtdb->node_locks[i].references); } goto cleanup_deadnodes; } @@ -8279,8 +8222,7 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, dns_name_init(&name, NULL); dns_rbt_namefromnode(rbtdb->origin_node, &name); rbtdb->origin_node->locknum = - rbtdb->origin_node->hashval % - rbtdb->node_lock_count; + rbtdb->origin_node->hashval % rbtdb->node_lock_count; /* * Add an apex node to the NSEC3 tree so that NSEC3 searches * return partial matches when there is only a single NSEC3 @@ -8364,13 +8306,13 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, return (ISC_R_SUCCESS); - cleanup_deadnodes: +cleanup_deadnodes: isc_mem_put(mctx, rbtdb->deadnodes, rbtdb->node_lock_count * sizeof(rbtnodelist_t)); - cleanup_heaps: +cleanup_heaps: if (rbtdb->heaps != NULL) { - for (i = 0 ; i < (int)rbtdb->node_lock_count ; i++) + for (i = 0; i < (int)rbtdb->node_lock_count; i++) if (rbtdb->heaps[i] != NULL) isc_heap_destroy(&rbtdb->heaps[i]); isc_mem_put(hmctx, rbtdb->heaps, @@ -8378,43 +8320,45 @@ dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, } if (rbtdb->rdatasets != NULL) - isc_mem_put(mctx, rbtdb->rdatasets, rbtdb->node_lock_count * - sizeof(rdatasetheaderlist_t)); + isc_mem_put(mctx, rbtdb->rdatasets, + rbtdb->node_lock_count * + sizeof(rdatasetheaderlist_t)); if (rbtdb->rrsetstats != NULL) dns_stats_detach(&rbtdb->rrsetstats); - cleanup_node_locks: +cleanup_node_locks: isc_mem_put(mctx, rbtdb->node_locks, rbtdb->node_lock_count * sizeof(rbtdb_nodelock_t)); - cleanup_tree_lock: +cleanup_tree_lock: isc_rwlock_destroy(&rbtdb->tree_lock); - cleanup_lock: +cleanup_lock: RBTDB_DESTROYLOCK(&rbtdb->lock); - cleanup_rbtdb: - isc_mem_put(mctx, rbtdb, sizeof(*rbtdb)); +cleanup_rbtdb: + isc_mem_put(mctx, rbtdb, sizeof(*rbtdb)); return (result); } - /* * Slabbed Rdataset Methods */ static void -rdataset_disassociate(dns_rdataset_t *rdataset) { - dns_db_t *db = rdataset->private1; +rdataset_disassociate(dns_rdataset_t *rdataset) +{ + dns_db_t * db = rdataset->private1; dns_dbnode_t *node = rdataset->private2; detachnode(db, &node); } static isc_result_t -rdataset_first(dns_rdataset_t *rdataset) { - unsigned char *raw = rdataset->private3; /* RDATASLAB */ - unsigned int count; +rdataset_first(dns_rdataset_t *rdataset) +{ + unsigned char *raw = rdataset->private3; /* RDATASLAB */ + unsigned int count; count = raw[0] * 256 + raw[1]; if (count == 0) { @@ -8445,10 +8389,11 @@ rdataset_first(dns_rdataset_t *rdataset) { } static isc_result_t -rdataset_next(dns_rdataset_t *rdataset) { - unsigned int count; - unsigned int length; - unsigned char *raw; /* RDATASLAB */ +rdataset_next(dns_rdataset_t *rdataset) +{ + unsigned int count; + unsigned int length; + unsigned char *raw; /* RDATASLAB */ count = rdataset->privateuint4; if (count == 0) @@ -8474,11 +8419,12 @@ rdataset_next(dns_rdataset_t *rdataset) { } static void -rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) { - unsigned char *raw = rdataset->private5; /* RDATASLAB */ - unsigned int length; - isc_region_t r; - unsigned int flags = 0; +rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) +{ + unsigned char *raw = rdataset->private5; /* RDATASLAB */ + unsigned int length; + isc_region_t r; + unsigned int flags = 0; REQUIRE(raw != NULL); @@ -8489,8 +8435,8 @@ rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) { #if DNS_RDATASET_FIXED if ((rdataset->attributes & DNS_RDATASETATTR_LOADORDER) != 0) { unsigned int offset; - offset = (raw[0] << 24) + (raw[1] << 16) + - (raw[2] << 8) + raw[3]; + offset = (raw[0] << 24) + (raw[1] << 16) + (raw[2] << 8) + + raw[3]; raw = rdataset->private3; raw += offset; } @@ -8513,8 +8459,9 @@ rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) { } static void -rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) { - dns_db_t *db = source->private1; +rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) +{ + dns_db_t * db = source->private1; dns_dbnode_t *node = source->private2; dns_dbnode_t *cloned_node = NULL; @@ -8531,9 +8478,10 @@ rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) { } static unsigned int -rdataset_count(dns_rdataset_t *rdataset) { - unsigned char *raw = rdataset->private3; /* RDATASLAB */ - unsigned int count; +rdataset_count(dns_rdataset_t *rdataset) +{ + unsigned char *raw = rdataset->private3; /* RDATASLAB */ + unsigned int count; count = raw[0] * 256 + raw[1]; @@ -8544,9 +8492,9 @@ static isc_result_t rdataset_getnoqname(dns_rdataset_t *rdataset, dns_name_t *name, dns_rdataset_t *nsec, dns_rdataset_t *nsecsig) { - dns_db_t *db = rdataset->private1; - dns_dbnode_t *node = rdataset->private2; - dns_dbnode_t *cloned_node; + dns_db_t * db = rdataset->private1; + dns_dbnode_t * node = rdataset->private2; + dns_dbnode_t * cloned_node; const struct noqname *noqname = rdataset->private6; cloned_node = NULL; @@ -8590,9 +8538,9 @@ static isc_result_t rdataset_getclosest(dns_rdataset_t *rdataset, dns_name_t *name, dns_rdataset_t *nsec, dns_rdataset_t *nsecsig) { - dns_db_t *db = rdataset->private1; - dns_dbnode_t *node = rdataset->private2; - dns_dbnode_t *cloned_node; + dns_db_t * db = rdataset->private1; + dns_dbnode_t * node = rdataset->private2; + dns_dbnode_t * cloned_node; const struct noqname *closest = rdataset->private7; cloned_node = NULL; @@ -8633,9 +8581,10 @@ rdataset_getclosest(dns_rdataset_t *rdataset, dns_name_t *name, } static void -rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust) { - dns_rbtdb_t *rbtdb = rdataset->private1; - dns_rbtnode_t *rbtnode = rdataset->private2; +rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust) +{ + dns_rbtdb_t * rbtdb = rdataset->private1; + dns_rbtnode_t * rbtnode = rdataset->private2; rdatasetheader_t *header = rdataset->private3; header--; @@ -8643,13 +8592,14 @@ rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust) { isc_rwlocktype_write); header->trust = rdataset->trust = trust; NODE_UNLOCK(&rbtdb->node_locks[rbtnode->locknum].lock, - isc_rwlocktype_write); + isc_rwlocktype_write); } static void -rdataset_expire(dns_rdataset_t *rdataset) { - dns_rbtdb_t *rbtdb = rdataset->private1; - dns_rbtnode_t *rbtnode = rdataset->private2; +rdataset_expire(dns_rdataset_t *rdataset) +{ + dns_rbtdb_t * rbtdb = rdataset->private1; + dns_rbtnode_t * rbtnode = rdataset->private2; rdatasetheader_t *header = rdataset->private3; header--; @@ -8657,13 +8607,14 @@ rdataset_expire(dns_rdataset_t *rdataset) { isc_rwlocktype_write); expire_header(rbtdb, header, false, expire_flush); NODE_UNLOCK(&rbtdb->node_locks[rbtnode->locknum].lock, - isc_rwlocktype_write); + isc_rwlocktype_write); } static void -rdataset_clearprefetch(dns_rdataset_t *rdataset) { - dns_rbtdb_t *rbtdb = rdataset->private1; - dns_rbtnode_t *rbtnode = rdataset->private2; +rdataset_clearprefetch(dns_rdataset_t *rdataset) +{ + dns_rbtdb_t * rbtdb = rdataset->private1; + dns_rbtnode_t * rbtnode = rdataset->private2; rdatasetheader_t *header = rdataset->private3; header--; @@ -8671,7 +8622,7 @@ rdataset_clearprefetch(dns_rdataset_t *rdataset) { isc_rwlocktype_write); header->attributes &= ~RDATASET_ATTR_PREFETCH; NODE_UNLOCK(&rbtdb->node_locks[rbtnode->locknum].lock, - isc_rwlocktype_write); + isc_rwlocktype_write); } /* @@ -8679,7 +8630,8 @@ rdataset_clearprefetch(dns_rdataset_t *rdataset) { */ static void -rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) { +rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) +{ rbtdb_rdatasetiter_t *rbtiterator; rbtiterator = (rbtdb_rdatasetiter_t *)(*iteratorp); @@ -8695,14 +8647,15 @@ rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) { } static isc_result_t -rdatasetiter_first(dns_rdatasetiter_t *iterator) { +rdatasetiter_first(dns_rdatasetiter_t *iterator) +{ rbtdb_rdatasetiter_t *rbtiterator = (rbtdb_rdatasetiter_t *)iterator; - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)(rbtiterator->common.db); - dns_rbtnode_t *rbtnode = rbtiterator->common.node; - rbtdb_version_t *rbtversion = rbtiterator->common.version; - rdatasetheader_t *header, *top_next; - rbtdb_serial_t serial; - isc_stdtime_t now; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)(rbtiterator->common.db); + dns_rbtnode_t * rbtnode = rbtiterator->common.node; + rbtdb_version_t * rbtversion = rbtiterator->common.version; + rdatasetheader_t * header, *top_next; + rbtdb_serial_t serial; + isc_stdtime_t now; if (IS_CACHE(rbtdb)) { serial = 1; @@ -8730,8 +8683,9 @@ rdatasetiter_first(dns_rdatasetiter_t *iterator) { * rdatasets to work. */ if (NONEXISTENT(header) || - (now != 0 && now > header->rdh_ttl - + rbtdb->serve_stale_ttl)) + (now != 0 && + now > header->rdh_ttl + + rbtdb->serve_stale_ttl)) header = NULL; break; } else @@ -8753,16 +8707,17 @@ rdatasetiter_first(dns_rdatasetiter_t *iterator) { } static isc_result_t -rdatasetiter_next(dns_rdatasetiter_t *iterator) { +rdatasetiter_next(dns_rdatasetiter_t *iterator) +{ rbtdb_rdatasetiter_t *rbtiterator = (rbtdb_rdatasetiter_t *)iterator; - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)(rbtiterator->common.db); - dns_rbtnode_t *rbtnode = rbtiterator->common.node; - rbtdb_version_t *rbtversion = rbtiterator->common.version; - rdatasetheader_t *header, *top_next; - rbtdb_serial_t serial; - isc_stdtime_t now; - rbtdb_rdatatype_t type, negtype; - dns_rdatatype_t rdtype, covers; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)(rbtiterator->common.db); + dns_rbtnode_t * rbtnode = rbtiterator->common.node; + rbtdb_version_t * rbtversion = rbtiterator->common.version; + rdatasetheader_t * header, *top_next; + rbtdb_serial_t serial; + isc_stdtime_t now; + rbtdb_rdatatype_t type, negtype; + dns_rdatatype_t rdtype, covers; header = rbtiterator->current; if (header == NULL) @@ -8829,11 +8784,12 @@ rdatasetiter_next(dns_rdatasetiter_t *iterator) { } static void -rdatasetiter_current(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset) { +rdatasetiter_current(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset) +{ rbtdb_rdatasetiter_t *rbtiterator = (rbtdb_rdatasetiter_t *)iterator; - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)(rbtiterator->common.db); - dns_rbtnode_t *rbtnode = rbtiterator->common.node; - rdatasetheader_t *header; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)(rbtiterator->common.db); + dns_rbtnode_t * rbtnode = rbtiterator->common.node; + rdatasetheader_t * header; header = rbtiterator->current; REQUIRE(header != NULL); @@ -8848,14 +8804,14 @@ rdatasetiter_current(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset) { isc_rwlocktype_read); } - /* * Database Iterator Methods */ static inline void -reference_iter_node(rbtdb_dbiterator_t *rbtdbiter) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)rbtdbiter->common.db; +reference_iter_node(rbtdb_dbiterator_t *rbtdbiter) +{ + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)rbtdbiter->common.db; dns_rbtnode_t *node = rbtdbiter->node; if (node == NULL) @@ -8866,10 +8822,11 @@ reference_iter_node(rbtdb_dbiterator_t *rbtdbiter) { } static inline void -dereference_iter_node(rbtdb_dbiterator_t *rbtdbiter) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)rbtdbiter->common.db; +dereference_iter_node(rbtdb_dbiterator_t *rbtdbiter) +{ + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)rbtdbiter->common.db; dns_rbtnode_t *node = rbtdbiter->node; - nodelock_t *lock; + nodelock_t * lock; if (node == NULL) return; @@ -8884,12 +8841,13 @@ dereference_iter_node(rbtdb_dbiterator_t *rbtdbiter) { } static void -flush_deletions(rbtdb_dbiterator_t *rbtdbiter) { +flush_deletions(rbtdb_dbiterator_t *rbtdbiter) +{ dns_rbtnode_t *node; - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)rbtdbiter->common.db; - bool was_read_locked = false; - nodelock_t *lock; - int i; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)rbtdbiter->common.db; + bool was_read_locked = false; + nodelock_t * lock; + int i; if (rbtdbiter->delcnt != 0) { /* @@ -8916,8 +8874,7 @@ flush_deletions(rbtdb_dbiterator_t *rbtdbiter) { lock = &rbtdb->node_locks[node->locknum].lock; NODE_LOCK(lock, isc_rwlocktype_read); - decrement_reference(rbtdb, node, 0, - isc_rwlocktype_read, + decrement_reference(rbtdb, node, 0, isc_rwlocktype_read, rbtdbiter->tree_locked, false); NODE_UNLOCK(lock, isc_rwlocktype_read); } @@ -8936,7 +8893,8 @@ flush_deletions(rbtdb_dbiterator_t *rbtdbiter) { } static inline void -resume_iteration(rbtdb_dbiterator_t *rbtdbiter) { +resume_iteration(rbtdb_dbiterator_t *rbtdbiter) +{ dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)rbtdbiter->common.db; REQUIRE(rbtdbiter->paused); @@ -8949,10 +8907,11 @@ resume_iteration(rbtdb_dbiterator_t *rbtdbiter) { } static void -dbiterator_destroy(dns_dbiterator_t **iteratorp) { +dbiterator_destroy(dns_dbiterator_t **iteratorp) +{ rbtdb_dbiterator_t *rbtdbiter = (rbtdb_dbiterator_t *)(*iteratorp); - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)rbtdbiter->common.db; - dns_db_t *db = NULL; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)rbtdbiter->common.db; + dns_db_t * db = NULL; if (rbtdbiter->tree_locked == isc_rwlocktype_read) { RWUNLOCK(&rbtdb->tree_lock, isc_rwlocktype_read); @@ -8976,11 +8935,12 @@ dbiterator_destroy(dns_dbiterator_t **iteratorp) { } static isc_result_t -dbiterator_first(dns_dbiterator_t *iterator) { - isc_result_t result; +dbiterator_first(dns_dbiterator_t *iterator) +{ + isc_result_t result; rbtdb_dbiterator_t *rbtdbiter = (rbtdb_dbiterator_t *)iterator; - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)iterator->db; - dns_name_t *name, *origin; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)iterator->db; + dns_name_t * name, *origin; if (rbtdbiter->result != ISC_R_SUCCESS && rbtdbiter->result != ISC_R_NOTFOUND && @@ -9004,13 +8964,12 @@ dbiterator_first(dns_dbiterator_t *iterator) { rbtdb->nsec3, name, origin); } else { rbtdbiter->current = &rbtdbiter->chain; - result = dns_rbtnodechain_first(rbtdbiter->current, - rbtdb->tree, name, origin); + result = dns_rbtnodechain_first(rbtdbiter->current, rbtdb->tree, + name, origin); if (!rbtdbiter->nonsec3 && result == ISC_R_NOTFOUND) { rbtdbiter->current = &rbtdbiter->nsec3chain; - result = dns_rbtnodechain_first(rbtdbiter->current, - rbtdb->nsec3, name, - origin); + result = dns_rbtnodechain_first( + rbtdbiter->current, rbtdb->nsec3, name, origin); } } if (result == ISC_R_SUCCESS || result == DNS_R_NEWORIGIN) { @@ -9034,11 +8993,12 @@ dbiterator_first(dns_dbiterator_t *iterator) { } static isc_result_t -dbiterator_last(dns_dbiterator_t *iterator) { - isc_result_t result; +dbiterator_last(dns_dbiterator_t *iterator) +{ + isc_result_t result; rbtdb_dbiterator_t *rbtdbiter = (rbtdb_dbiterator_t *)iterator; - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)iterator->db; - dns_name_t *name, *origin; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)iterator->db; + dns_name_t * name, *origin; if (rbtdbiter->result != ISC_R_SUCCESS && rbtdbiter->result != ISC_R_NOTFOUND && @@ -9059,8 +9019,8 @@ dbiterator_last(dns_dbiterator_t *iterator) { result = ISC_R_NOTFOUND; if (rbtdbiter->nsec3only && !rbtdbiter->nonsec3) { rbtdbiter->current = &rbtdbiter->nsec3chain; - result = dns_rbtnodechain_last(rbtdbiter->current, - rbtdb->nsec3, name, origin); + result = dns_rbtnodechain_last(rbtdbiter->current, rbtdb->nsec3, + name, origin); } if (!rbtdbiter->nsec3only && result == ISC_R_NOTFOUND) { rbtdbiter->current = &rbtdbiter->chain; @@ -9085,11 +9045,12 @@ dbiterator_last(dns_dbiterator_t *iterator) { } static isc_result_t -dbiterator_seek(dns_dbiterator_t *iterator, const dns_name_t *name) { - isc_result_t result, tresult; +dbiterator_seek(dns_dbiterator_t *iterator, const dns_name_t *name) +{ + isc_result_t result, tresult; rbtdb_dbiterator_t *rbtdbiter = (rbtdb_dbiterator_t *)iterator; - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)iterator->db; - dns_name_t *iname, *origin; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)iterator->db; + dns_name_t * iname, *origin; if (rbtdbiter->result != ISC_R_SUCCESS && rbtdbiter->result != ISC_R_NOTFOUND && @@ -9110,14 +9071,12 @@ dbiterator_seek(dns_dbiterator_t *iterator, const dns_name_t *name) { if (rbtdbiter->nsec3only) { rbtdbiter->current = &rbtdbiter->nsec3chain; result = dns_rbt_findnode(rbtdb->nsec3, name, NULL, - &rbtdbiter->node, - rbtdbiter->current, + &rbtdbiter->node, rbtdbiter->current, DNS_RBTFIND_EMPTYDATA, NULL, NULL); } else if (rbtdbiter->nonsec3) { rbtdbiter->current = &rbtdbiter->chain; result = dns_rbt_findnode(rbtdb->tree, name, NULL, - &rbtdbiter->node, - rbtdbiter->current, + &rbtdbiter->node, rbtdbiter->current, DNS_RBTFIND_EMPTYDATA, NULL, NULL); } else { /* @@ -9125,15 +9084,14 @@ dbiterator_seek(dns_dbiterator_t *iterator, const dns_name_t *name) { */ rbtdbiter->current = &rbtdbiter->chain; result = dns_rbt_findnode(rbtdb->tree, name, NULL, - &rbtdbiter->node, - rbtdbiter->current, + &rbtdbiter->node, rbtdbiter->current, DNS_RBTFIND_EMPTYDATA, NULL, NULL); if (result == DNS_R_PARTIALMATCH) { dns_rbtnode_t *node = NULL; - tresult = dns_rbt_findnode(rbtdb->nsec3, name, NULL, - &node, &rbtdbiter->nsec3chain, - DNS_RBTFIND_EMPTYDATA, - NULL, NULL); + tresult = dns_rbt_findnode( + rbtdb->nsec3, name, NULL, &node, + &rbtdbiter->nsec3chain, DNS_RBTFIND_EMPTYDATA, + NULL, NULL); if (tresult == ISC_R_SUCCESS) { rbtdbiter->node = node; rbtdbiter->current = &rbtdbiter->nsec3chain; @@ -9155,18 +9113,19 @@ dbiterator_seek(dns_dbiterator_t *iterator, const dns_name_t *name) { } else rbtdbiter->node = NULL; - rbtdbiter->result = (result == DNS_R_PARTIALMATCH) ? - ISC_R_SUCCESS : result; + rbtdbiter->result = (result == DNS_R_PARTIALMATCH) ? ISC_R_SUCCESS + : result; return (result); } static isc_result_t -dbiterator_prev(dns_dbiterator_t *iterator) { - isc_result_t result; +dbiterator_prev(dns_dbiterator_t *iterator) +{ + isc_result_t result; rbtdb_dbiterator_t *rbtdbiter = (rbtdb_dbiterator_t *)iterator; - dns_name_t *name, *origin; - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)iterator->db; + dns_name_t * name, *origin; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)iterator->db; REQUIRE(rbtdbiter->node != NULL); @@ -9207,11 +9166,12 @@ dbiterator_prev(dns_dbiterator_t *iterator) { } static isc_result_t -dbiterator_next(dns_dbiterator_t *iterator) { - isc_result_t result; +dbiterator_next(dns_dbiterator_t *iterator) +{ + isc_result_t result; rbtdb_dbiterator_t *rbtdbiter = (rbtdb_dbiterator_t *)iterator; - dns_name_t *name, *origin; - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)iterator->db; + dns_name_t * name, *origin; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)iterator->db; REQUIRE(rbtdbiter->node != NULL); @@ -9253,12 +9213,12 @@ static isc_result_t dbiterator_current(dns_dbiterator_t *iterator, dns_dbnode_t **nodep, dns_name_t *name) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)iterator->db; + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)iterator->db; rbtdb_dbiterator_t *rbtdbiter = (rbtdb_dbiterator_t *)iterator; - dns_rbtnode_t *node = rbtdbiter->node; - isc_result_t result; - dns_name_t *nodename = dns_fixedname_name(&rbtdbiter->name); - dns_name_t *origin = dns_fixedname_name(&rbtdbiter->origin); + dns_rbtnode_t * node = rbtdbiter->node; + isc_result_t result; + dns_name_t * nodename = dns_fixedname_name(&rbtdbiter->name); + dns_name_t * origin = dns_fixedname_name(&rbtdbiter->origin); REQUIRE(rbtdbiter->result == ISC_R_SUCCESS); REQUIRE(rbtdbiter->node != NULL); @@ -9307,8 +9267,9 @@ dbiterator_current(dns_dbiterator_t *iterator, dns_dbnode_t **nodep, } static isc_result_t -dbiterator_pause(dns_dbiterator_t *iterator) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)iterator->db; +dbiterator_pause(dns_dbiterator_t *iterator) +{ + dns_rbtdb_t * rbtdb = (dns_rbtdb_t *)iterator->db; rbtdb_dbiterator_t *rbtdbiter = (rbtdb_dbiterator_t *)iterator; if (rbtdbiter->result != ISC_R_SUCCESS && @@ -9334,9 +9295,10 @@ dbiterator_pause(dns_dbiterator_t *iterator) { } static isc_result_t -dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t *name) { +dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t *name) +{ rbtdb_dbiterator_t *rbtdbiter = (rbtdb_dbiterator_t *)iterator; - dns_name_t *origin = dns_fixedname_name(&rbtdbiter->origin); + dns_name_t * origin = dns_fixedname_name(&rbtdbiter->origin); if (rbtdbiter->result != ISC_R_SUCCESS) return (rbtdbiter->result); @@ -9346,9 +9308,10 @@ dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t *name) { } static void -setownercase(rdatasetheader_t *header, const dns_name_t *name) { +setownercase(rdatasetheader_t *header, const dns_name_t *name) +{ unsigned int i; - bool fully_lower; + bool fully_lower; /* * We do not need to worry about label lengths as they are all @@ -9358,7 +9321,7 @@ setownercase(rdatasetheader_t *header, const dns_name_t *name) { fully_lower = true; for (i = 0; i < name->length; i++) if (name->ndata[i] >= 0x41 && name->ndata[i] <= 0x5a) { - header->upper[i/8] |= 1 << (i%8); + header->upper[i / 8] |= 1 << (i % 8); fully_lower = false; } header->attributes |= RDATASET_ATTR_CASESET; @@ -9367,10 +9330,11 @@ setownercase(rdatasetheader_t *header, const dns_name_t *name) { } static void -rdataset_setownercase(dns_rdataset_t *rdataset, const dns_name_t *name) { - dns_rbtdb_t *rbtdb = rdataset->private1; - dns_rbtnode_t *rbtnode = rdataset->private2; - unsigned char *raw = rdataset->private3; /* RDATASLAB */ +rdataset_setownercase(dns_rdataset_t *rdataset, const dns_name_t *name) +{ + dns_rbtdb_t * rbtdb = rdataset->private1; + dns_rbtnode_t * rbtnode = rdataset->private2; + unsigned char * raw = rdataset->private3; /* RDATASLAB */ rdatasetheader_t *header; header = (struct rdatasetheader *)(raw - sizeof(*header)); @@ -9383,84 +9347,65 @@ rdataset_setownercase(dns_rdataset_t *rdataset, const dns_name_t *name) { } static const unsigned char charmask[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 }; static const unsigned char maptolower[] = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, - 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, - 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, - 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, - 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, - 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, - 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, - 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, - 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, - 0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, - 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, - 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, - 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, - 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, - 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, - 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, - 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, - 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, - 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, - 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, - 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, - 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, - 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, - 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, - 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, - 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, - 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, + 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, + 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, + 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, + 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, + 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, + 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, + 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, + 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, + 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, + 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, + 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, + 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, + 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, + 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, + 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, + 0xfc, 0xfd, 0xfe, 0xff }; static void -rdataset_getownercase(const dns_rdataset_t *rdataset, dns_name_t *name) { - dns_rbtdb_t *rbtdb = rdataset->private1; - dns_rbtnode_t *rbtnode = rdataset->private2; - const unsigned char *raw = rdataset->private3; /* RDATASLAB */ +rdataset_getownercase(const dns_rdataset_t *rdataset, dns_name_t *name) +{ + dns_rbtdb_t * rbtdb = rdataset->private1; + dns_rbtnode_t * rbtnode = rdataset->private2; + const unsigned char * raw = rdataset->private3; /* RDATASLAB */ const rdatasetheader_t *header; - unsigned int i, j; - unsigned char bits; - unsigned char c, flip; + unsigned int i, j; + unsigned char bits; + unsigned char c, flip; header = (const struct rdatasetheader *)(raw - sizeof(*header)); @@ -9550,31 +9495,32 @@ rdataset_getownercase(const dns_rdataset_t *rdataset, dns_name_t *name) { } #endif - unlock: +unlock: NODE_UNLOCK(&rbtdb->node_locks[rbtnode->locknum].lock, isc_rwlocktype_read); } struct rbtdb_glue { struct rbtdb_glue *next; - dns_fixedname_t fixedname; - dns_rdataset_t rdataset_a; - dns_rdataset_t sigrdataset_a; - dns_rdataset_t rdataset_aaaa; - dns_rdataset_t sigrdataset_aaaa; + dns_fixedname_t fixedname; + dns_rdataset_t rdataset_a; + dns_rdataset_t sigrdataset_a; + dns_rdataset_t rdataset_aaaa; + dns_rdataset_t sigrdataset_aaaa; }; typedef struct { - rbtdb_glue_t *glue_list; - dns_rbtdb_t *rbtdb; + rbtdb_glue_t * glue_list; + dns_rbtdb_t * rbtdb; rbtdb_version_t *rbtversion; } rbtdb_glue_additionaldata_ctx_t; static void -free_gluelist(rbtdb_glue_t *glue_list, dns_rbtdb_t *rbtdb) { +free_gluelist(rbtdb_glue_t *glue_list, dns_rbtdb_t *rbtdb) +{ rbtdb_glue_t *cur, *cur_next; - if (glue_list == (void *) -1) + if (glue_list == (void *)-1) return; cur = glue_list; @@ -9602,9 +9548,10 @@ free_gluelist(rbtdb_glue_t *glue_list, dns_rbtdb_t *rbtdb) { } static void -free_gluetable(rbtdb_version_t *version) { +free_gluetable(rbtdb_version_t *version) +{ dns_rbtdb_t *rbtdb; - size_t i; + size_t i; RWLOCK(&version->glue_rwlock, isc_rwlocktype_write); @@ -9627,19 +9574,19 @@ free_gluetable(rbtdb_version_t *version) { } isc_mem_put(rbtdb->common.mctx, version->glue_table, - (sizeof(*version->glue_table) * - version->glue_table_size)); + (sizeof(*version->glue_table) * version->glue_table_size)); RWUNLOCK(&version->glue_rwlock, isc_rwlocktype_write); } static bool -rehash_gluetable(rbtdb_version_t *version) { - size_t oldsize, i; +rehash_gluetable(rbtdb_version_t *version) +{ + size_t oldsize, i; rbtdb_glue_table_node_t **oldtable; - rbtdb_glue_table_node_t *gluenode; - rbtdb_glue_table_node_t *nextgluenode; - uint32_t hash; + rbtdb_glue_table_node_t * gluenode; + rbtdb_glue_table_node_t * nextgluenode; + uint32_t hash; if (ISC_LIKELY(version->glue_table_nodecount < (version->glue_table_size * 3U))) @@ -9654,8 +9601,9 @@ rehash_gluetable(rbtdb_version_t *version) { } while (version->glue_table_nodecount >= (version->glue_table_size * 3U)); - version->glue_table = isc_mem_get(version->rbtdb->common.mctx, - (version->glue_table_size * sizeof(*version->glue_table))); + version->glue_table = isc_mem_get( + version->rbtdb->common.mctx, + (version->glue_table_size * sizeof(*version->glue_table))); if (ISC_UNLIKELY(version->glue_table == NULL)) { version->glue_table = oldtable; version->glue_table_size = oldsize; @@ -9666,14 +9614,11 @@ rehash_gluetable(rbtdb_version_t *version) { version->glue_table[i] = NULL; for (i = 0; i < oldsize; i++) { - for (gluenode = oldtable[i]; - gluenode != NULL; - gluenode = nextgluenode) - { + for (gluenode = oldtable[i]; gluenode != NULL; + gluenode = nextgluenode) { hash = isc_hash_function(&gluenode->node, - sizeof(gluenode->node), - true) % - version->glue_table_size; + sizeof(gluenode->node), true) % + version->glue_table_size; nextgluenode = gluenode->next; gluenode->next = version->glue_table[hash]; version->glue_table[hash] = gluenode; @@ -9683,38 +9628,38 @@ rehash_gluetable(rbtdb_version_t *version) { isc_mem_put(version->rbtdb->common.mctx, oldtable, oldsize * sizeof(*version->glue_table)); - isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_ZONE, ISC_LOG_DEBUG(3), + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_ZONE, + ISC_LOG_DEBUG(3), "rehash_gluetable(): " "resized glue table from %" PRIu64 " to " "%" PRIu64, - (uint64_t) oldsize, - (uint64_t) version->glue_table_size); + (uint64_t)oldsize, (uint64_t)version->glue_table_size); return (true); } static isc_result_t -glue_nsdname_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { +glue_nsdname_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) +{ rbtdb_glue_additionaldata_ctx_t *ctx; - isc_result_t result; - dns_fixedname_t fixedname_a; - dns_name_t *name_a = NULL; - dns_rdataset_t rdataset_a, sigrdataset_a; - dns_rbtnode_t *node_a = NULL; - dns_fixedname_t fixedname_aaaa; - dns_name_t *name_aaaa = NULL; - dns_rdataset_t rdataset_aaaa, sigrdataset_aaaa; - dns_rbtnode_t *node_aaaa = NULL; - rbtdb_glue_t *glue = NULL; - dns_name_t *gluename = NULL; + isc_result_t result; + dns_fixedname_t fixedname_a; + dns_name_t * name_a = NULL; + dns_rdataset_t rdataset_a, sigrdataset_a; + dns_rbtnode_t * node_a = NULL; + dns_fixedname_t fixedname_aaaa; + dns_name_t * name_aaaa = NULL; + dns_rdataset_t rdataset_aaaa, sigrdataset_aaaa; + dns_rbtnode_t * node_aaaa = NULL; + rbtdb_glue_t * glue = NULL; + dns_name_t * gluename = NULL; /* * NS records want addresses in additional records. */ INSIST(qtype == dns_rdatatype_a); - ctx = (rbtdb_glue_additionaldata_ctx_t *) arg; + ctx = (rbtdb_glue_additionaldata_ctx_t *)arg; name_a = dns_fixedname_initname(&fixedname_a); dns_rdataset_init(&rdataset_a); @@ -9724,10 +9669,10 @@ glue_nsdname_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { dns_rdataset_init(&rdataset_aaaa); dns_rdataset_init(&sigrdataset_aaaa); - result = zone_find((dns_db_t *) ctx->rbtdb, name, ctx->rbtversion, + result = zone_find((dns_db_t *)ctx->rbtdb, name, ctx->rbtversion, dns_rdatatype_a, DNS_DBFIND_GLUEOK, 0, - (dns_dbnode_t **) &node_a, name_a, - &rdataset_a, &sigrdataset_a); + (dns_dbnode_t **)&node_a, name_a, &rdataset_a, + &sigrdataset_a); if (result == DNS_R_GLUE) { glue = isc_mem_get(ctx->rbtdb->common.mctx, sizeof(*glue)); @@ -9746,9 +9691,9 @@ glue_nsdname_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { } } - result = zone_find((dns_db_t *) ctx->rbtdb, name, ctx->rbtversion, + result = zone_find((dns_db_t *)ctx->rbtdb, name, ctx->rbtversion, dns_rdatatype_aaaa, DNS_DBFIND_GLUEOK, 0, - (dns_dbnode_t **) &node_aaaa, name_aaaa, + (dns_dbnode_t **)&node_aaaa, name_aaaa, &rdataset_aaaa, &sigrdataset_aaaa); if (result == DNS_R_GLUE) { if (glue == NULL) { @@ -9792,10 +9737,9 @@ glue_nsdname_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { rdataset_disassociate(&sigrdataset_aaaa); if (node_a != NULL) - detachnode((dns_db_t *) ctx->rbtdb, (dns_dbnode_t *) &node_a); + detachnode((dns_db_t *)ctx->rbtdb, (dns_dbnode_t *)&node_a); if (node_aaaa != NULL) - detachnode((dns_db_t *) ctx->rbtdb, - (dns_dbnode_t *) &node_aaaa); + detachnode((dns_db_t *)ctx->rbtdb, (dns_dbnode_t *)&node_aaaa); return (result); } @@ -9804,16 +9748,16 @@ static isc_result_t rdataset_addglue(dns_rdataset_t *rdataset, dns_dbversion_t *version, dns_message_t *msg) { - dns_rbtdb_t *rbtdb = rdataset->private1; - dns_rbtnode_t *node = rdataset->private2; - rbtdb_version_t *rbtversion = version; - uint32_t idx; - rbtdb_glue_table_node_t *cur; - bool found = false; - bool restarted = false; - rbtdb_glue_t *ge; + dns_rbtdb_t * rbtdb = rdataset->private1; + dns_rbtnode_t * node = rdataset->private2; + rbtdb_version_t * rbtversion = version; + uint32_t idx; + rbtdb_glue_table_node_t * cur; + bool found = false; + bool restarted = false; + rbtdb_glue_t * ge; rbtdb_glue_additionaldata_ctx_t ctx; - isc_result_t result; + isc_result_t result; REQUIRE(rdataset->type == dns_rdatatype_ns); REQUIRE(rbtdb == rbtversion->rbtdb); @@ -9832,7 +9776,7 @@ rdataset_addglue(dns_rdataset_t *rdataset, dns_dbversion_t *version, * version and can be compared directly. */ idx = isc_hash_function(&node, sizeof(node), true) % - rbtversion->glue_table_size; + rbtversion->glue_table_size; restart: /* @@ -9859,29 +9803,29 @@ restart: * (void *) -1 is a special value that means no glue is * present in the zone. */ - if (ge == (void *) -1) { + if (ge == (void *)-1) { if (!restarted && (rbtdb->gluecachestats != NULL)) { - isc_stats_increment - (rbtdb->gluecachestats, - dns_gluecachestatscounter_hits_absent); + isc_stats_increment( + rbtdb->gluecachestats, + dns_gluecachestatscounter_hits_absent); } goto no_glue; } else { if (!restarted && (rbtdb->gluecachestats != NULL)) { - isc_stats_increment - (rbtdb->gluecachestats, - dns_gluecachestatscounter_hits_present); + isc_stats_increment( + rbtdb->gluecachestats, + dns_gluecachestatscounter_hits_present); } } for (; ge != NULL; ge = ge->next) { - isc_buffer_t *buffer = NULL; - dns_name_t *name = NULL; + isc_buffer_t * buffer = NULL; + dns_name_t * name = NULL; dns_rdataset_t *rdataset_a = NULL; dns_rdataset_t *sigrdataset_a = NULL; dns_rdataset_t *rdataset_aaaa = NULL; dns_rdataset_t *sigrdataset_aaaa = NULL; - dns_name_t *gluename = dns_fixedname_name(&ge->fixedname); + dns_name_t * gluename = dns_fixedname_name(&ge->fixedname); isc_buffer_allocate(msg->mctx, &buffer, 512); @@ -9907,8 +9851,8 @@ restart: &sigrdataset_a); if (ISC_UNLIKELY(result != ISC_R_SUCCESS)) { if (rdataset_a != NULL) { - dns_message_puttemprdataset(msg, - &rdataset_a); + dns_message_puttemprdataset( + msg, &rdataset_a); } dns_message_puttempname(msg, &name); goto no_glue; @@ -9917,16 +9861,16 @@ restart: if (dns_rdataset_isassociated(&ge->rdataset_aaaa)) { result = dns_message_gettemprdataset(msg, - &rdataset_aaaa); + &rdataset_aaaa); if (ISC_UNLIKELY(result != ISC_R_SUCCESS)) { dns_message_puttempname(msg, &name); if (rdataset_a != NULL) { - dns_message_puttemprdataset(msg, - &rdataset_a); + dns_message_puttemprdataset( + msg, &rdataset_a); } if (sigrdataset_a != NULL) { - dns_message_puttemprdataset(msg, - &sigrdataset_a); + dns_message_puttemprdataset( + msg, &sigrdataset_a); } goto no_glue; } @@ -9934,19 +9878,19 @@ restart: if (dns_rdataset_isassociated(&ge->sigrdataset_aaaa)) { result = dns_message_gettemprdataset(msg, - &sigrdataset_aaaa); + &sigrdataset_aaaa); if (ISC_UNLIKELY(result != ISC_R_SUCCESS)) { dns_message_puttempname(msg, &name); if (rdataset_a != NULL) { - dns_message_puttemprdataset(msg, - &rdataset_a); + dns_message_puttemprdataset( + msg, &rdataset_a); } if (sigrdataset_a != NULL) - dns_message_puttemprdataset(msg, - &sigrdataset_a); + dns_message_puttemprdataset( + msg, &sigrdataset_a); if (rdataset_aaaa != NULL) - dns_message_puttemprdataset(msg, - &rdataset_aaaa); + dns_message_puttemprdataset( + msg, &rdataset_aaaa); goto no_glue; } } @@ -9962,16 +9906,13 @@ restart: } if (rdataset_aaaa != NULL) { - dns_rdataset_clone(&ge->rdataset_aaaa, - rdataset_aaaa); - ISC_LIST_APPEND(name->list, rdataset_aaaa, - link); + dns_rdataset_clone(&ge->rdataset_aaaa, rdataset_aaaa); + ISC_LIST_APPEND(name->list, rdataset_aaaa, link); } if (sigrdataset_aaaa != NULL) { dns_rdataset_clone(&ge->sigrdataset_aaaa, sigrdataset_aaaa); - ISC_LIST_APPEND(name->list, sigrdataset_aaaa, - link); + ISC_LIST_APPEND(name->list, sigrdataset_aaaa, link); } dns_message_addname(msg, name, DNS_SECTION_ADDITIONAL); @@ -10005,7 +9946,7 @@ no_glue: if (ISC_UNLIKELY(rehash_gluetable(rbtversion))) { idx = isc_hash_function(&node, sizeof(node), true) % - rbtversion->glue_table_size; + rbtversion->glue_table_size; } (void)dns_rdataset_additionaldata(rdataset, glue_nsdname_cb, &ctx); @@ -10024,18 +9965,18 @@ no_glue: /* * No glue was found. Cache it so. */ - cur->glue_list = (void *) -1; + cur->glue_list = (void *)-1; if (rbtdb->gluecachestats != NULL) { - isc_stats_increment - (rbtdb->gluecachestats, - dns_gluecachestatscounter_inserts_absent); + isc_stats_increment( + rbtdb->gluecachestats, + dns_gluecachestatscounter_inserts_absent); } } else { cur->glue_list = ctx.glue_list; if (rbtdb->gluecachestats != NULL) { - isc_stats_increment - (rbtdb->gluecachestats, - dns_gluecachestatscounter_inserts_present); + isc_stats_increment( + rbtdb->gluecachestats, + dns_gluecachestatscounter_inserts_present); } } @@ -10072,10 +10013,10 @@ no_glue: * Caller must hold the node (read or write) lock. */ static inline bool -need_headerupdate(rdatasetheader_t *header, isc_stdtime_t now) { +need_headerupdate(rdatasetheader_t *header, isc_stdtime_t now) +{ if ((header->attributes & - (RDATASET_ATTR_NONEXISTENT | - RDATASET_ATTR_ANCIENT | + (RDATASET_ATTR_NONEXISTENT | RDATASET_ATTR_ANCIENT | RDATASET_ATTR_ZEROTTL)) != 0) return (false); @@ -10109,8 +10050,7 @@ need_headerupdate(rdatasetheader_t *header, isc_stdtime_t now) { * Note that the we do NOT touch the heap here, as the TTL has not changed. */ static void -update_header(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, - isc_stdtime_t now) +update_header(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, isc_stdtime_t now) { INSIST(IS_CACHE(rbtdb)); @@ -10133,12 +10073,12 @@ update_header(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, * of the same NS name). */ static void -overmem_purge(dns_rbtdb_t *rbtdb, unsigned int locknum_start, - isc_stdtime_t now, bool tree_locked) +overmem_purge(dns_rbtdb_t *rbtdb, unsigned int locknum_start, isc_stdtime_t now, + bool tree_locked) { rdatasetheader_t *header, *header_prev; - unsigned int locknum; - int purgecount = 2; + unsigned int locknum; + int purgecount = 2; for (locknum = (locknum_start + 1) % rbtdb->node_lock_count; locknum != locknum_start && purgecount > 0; @@ -10148,14 +10088,12 @@ overmem_purge(dns_rbtdb_t *rbtdb, unsigned int locknum_start, header = isc_heap_element(rbtdb->heaps[locknum], 1); if (header && header->rdh_ttl < now - RBTDB_VIRTUAL) { - expire_header(rbtdb, header, tree_locked, - expire_ttl); + expire_header(rbtdb, header, tree_locked, expire_ttl); purgecount--; } for (header = ISC_LIST_TAIL(rbtdb->rdatasets[locknum]); - header != NULL && purgecount > 0; - header = header_prev) { + header != NULL && purgecount > 0; header = header_prev) { header_prev = ISC_LIST_PREV(header, link); /* * Unlink the entry at this point to avoid checking it @@ -10166,19 +10104,18 @@ overmem_purge(dns_rbtdb_t *rbtdb, unsigned int locknum_start, */ ISC_LIST_UNLINK(rbtdb->rdatasets[locknum], header, link); - expire_header(rbtdb, header, tree_locked, - expire_lru); + expire_header(rbtdb, header, tree_locked, expire_lru); purgecount--; } NODE_UNLOCK(&rbtdb->node_locks[locknum].lock, - isc_rwlocktype_write); + isc_rwlocktype_write); } } static void -expire_header(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, - bool tree_locked, expire_t reason) +expire_header(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, bool tree_locked, + expire_t reason) { set_ttl(rbtdb, header, 0); mark_header_ancient(rbtdb, header); @@ -10196,8 +10133,9 @@ expire_header(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, new_reference(rbtdb, header->node); decrement_reference(rbtdb, header->node, 0, isc_rwlocktype_write, - tree_locked ? isc_rwlocktype_write : - isc_rwlocktype_none, false); + tree_locked ? isc_rwlocktype_write + : isc_rwlocktype_none, + false); if (rbtdb->cachestats == NULL) return; @@ -10214,6 +10152,5 @@ expire_header(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, default: break; } - } } diff --git a/lib/dns/rbtdb.h b/lib/dns/rbtdb.h index 2b30fb83af..c73c80d605 100644 --- a/lib/dns/rbtdb.h +++ b/lib/dns/rbtdb.h @@ -9,11 +9,11 @@ * information regarding copyright ownership. */ - #ifndef DNS_RBTDB_H #define DNS_RBTDB_H 1 #include + #include /***** diff --git a/lib/dns/rcode.c b/lib/dns/rcode.c index f9fe07cb04..2f779f4e83 100644 --- a/lib/dns/rcode.c +++ b/lib/dns/rcode.c @@ -24,8 +24,6 @@ #include #include -#include - #include #include #include @@ -37,122 +35,123 @@ #include #include -#define RETERR(x) \ - do { \ - isc_result_t _r = (x); \ +#include + +#define RETERR(x) \ + do { \ + isc_result_t _r = (x); \ if (_r != ISC_R_SUCCESS) \ - return (_r); \ + return (_r); \ } while (0) #define NUMBERSIZE sizeof("037777777777") /* 2^32-1 octal + NUL */ #define TOTEXTONLY 0x01 -#define RCODENAMES \ - /* standard rcodes */ \ - { dns_rcode_noerror, "NOERROR", 0}, \ - { dns_rcode_formerr, "FORMERR", 0}, \ - { dns_rcode_servfail, "SERVFAIL", 0}, \ - { dns_rcode_nxdomain, "NXDOMAIN", 0}, \ - { dns_rcode_notimp, "NOTIMP", 0}, \ - { dns_rcode_refused, "REFUSED", 0}, \ - { dns_rcode_yxdomain, "YXDOMAIN", 0}, \ - { dns_rcode_yxrrset, "YXRRSET", 0}, \ - { dns_rcode_nxrrset, "NXRRSET", 0}, \ - { dns_rcode_notauth, "NOTAUTH", 0}, \ - { dns_rcode_notzone, "NOTZONE", 0}, \ - { 11, "RESERVED11", TOTEXTONLY}, \ - { 12, "RESERVED12", TOTEXTONLY}, \ - { 13, "RESERVED13", TOTEXTONLY}, \ - { 14, "RESERVED14", TOTEXTONLY}, \ - { 15, "RESERVED15", TOTEXTONLY}, +#define RCODENAMES \ + /* standard rcodes */ \ + { dns_rcode_noerror, "NOERROR", 0 }, \ + { dns_rcode_formerr, "FORMERR", 0 }, \ + { dns_rcode_servfail, "SERVFAIL", 0 }, \ + { dns_rcode_nxdomain, "NXDOMAIN", 0 }, \ + { dns_rcode_notimp, "NOTIMP", 0 }, \ + { dns_rcode_refused, "REFUSED", 0 }, \ + { dns_rcode_yxdomain, "YXDOMAIN", 0 }, \ + { dns_rcode_yxrrset, "YXRRSET", 0 }, \ + { dns_rcode_nxrrset, "NXRRSET", 0 }, \ + { dns_rcode_notauth, "NOTAUTH", 0 }, \ + { dns_rcode_notzone, "NOTZONE", 0 }, \ + { 11, "RESERVED11", TOTEXTONLY }, \ + { 12, "RESERVED12", TOTEXTONLY }, \ + { 13, "RESERVED13", TOTEXTONLY }, \ + { 14, "RESERVED14", TOTEXTONLY }, \ + { 15, "RESERVED15", TOTEXTONLY }, -#define ERCODENAMES \ - /* extended rcodes */ \ - { dns_rcode_badvers, "BADVERS", 0}, \ - { dns_rcode_badcookie, "BADCOOKIE", 0}, \ - { 0, NULL, 0 } +#define ERCODENAMES \ + /* extended rcodes */ \ + { dns_rcode_badvers, "BADVERS", 0 }, \ + { dns_rcode_badcookie, "BADCOOKIE", 0 }, \ + { \ + 0, NULL, 0 \ + } -#define TSIGRCODENAMES \ - /* extended rcodes */ \ - { dns_tsigerror_badsig, "BADSIG", 0}, \ - { dns_tsigerror_badkey, "BADKEY", 0}, \ - { dns_tsigerror_badtime, "BADTIME", 0}, \ - { dns_tsigerror_badmode, "BADMODE", 0}, \ - { dns_tsigerror_badname, "BADNAME", 0}, \ - { dns_tsigerror_badalg, "BADALG", 0}, \ - { dns_tsigerror_badtrunc, "BADTRUNC", 0}, \ - { 0, NULL, 0 } +#define TSIGRCODENAMES \ + /* extended rcodes */ \ + { dns_tsigerror_badsig, "BADSIG", 0 }, \ + { dns_tsigerror_badkey, "BADKEY", 0 }, \ + { dns_tsigerror_badtime, "BADTIME", 0 }, \ + { dns_tsigerror_badmode, "BADMODE", 0 }, \ + { dns_tsigerror_badname, "BADNAME", 0 }, \ + { dns_tsigerror_badalg, "BADALG", 0 }, \ + { dns_tsigerror_badtrunc, "BADTRUNC", 0 }, \ + { \ + 0, NULL, 0 \ + } /* RFC4398 section 2.1 */ -#define CERTNAMES \ - { 1, "PKIX", 0}, \ - { 2, "SPKI", 0}, \ - { 3, "PGP", 0}, \ - { 4, "IPKIX", 0}, \ - { 5, "ISPKI", 0}, \ - { 6, "IPGP", 0}, \ - { 7, "ACPKIX", 0}, \ - { 8, "IACPKIX", 0}, \ - { 253, "URI", 0}, \ - { 254, "OID", 0}, \ - { 0, NULL, 0} +#define CERTNAMES \ + { 1, "PKIX", 0 }, { 2, "SPKI", 0 }, { 3, "PGP", 0 }, \ + { 4, "IPKIX", 0 }, { 5, "ISPKI", 0 }, { 6, "IPGP", 0 }, \ + { 7, "ACPKIX", 0 }, { 8, "IACPKIX", 0 }, { 253, "URI", 0 }, \ + { 254, "OID", 0 }, \ + { \ + 0, NULL, 0 \ + } /* RFC2535 section 7, RFC3110 */ -#define SECALGNAMES \ - { DNS_KEYALG_RSAMD5, "RSAMD5", 0 }, \ - { DNS_KEYALG_DH, "DH", 0 }, \ - { DNS_KEYALG_DSA, "DSA", 0 }, \ - { DNS_KEYALG_RSASHA1, "RSASHA1", 0 }, \ - { DNS_KEYALG_NSEC3DSA, "NSEC3DSA", 0 }, \ - { DNS_KEYALG_NSEC3RSASHA1, "NSEC3RSASHA1", 0 }, \ - { DNS_KEYALG_RSASHA256, "RSASHA256", 0 }, \ - { DNS_KEYALG_RSASHA512, "RSASHA512", 0 }, \ - { DNS_KEYALG_ECCGOST, "ECCGOST", 0 }, \ - { DNS_KEYALG_ECDSA256, "ECDSAP256SHA256", 0 }, \ - { DNS_KEYALG_ECDSA256, "ECDSA256", 0 }, \ - { DNS_KEYALG_ECDSA384, "ECDSAP384SHA384", 0 }, \ - { DNS_KEYALG_ECDSA384, "ECDSA384", 0 }, \ - { DNS_KEYALG_ED25519, "ED25519", 0 }, \ - { DNS_KEYALG_ED448, "ED448", 0 }, \ - { DNS_KEYALG_INDIRECT, "INDIRECT", 0 }, \ - { DNS_KEYALG_PRIVATEDNS, "PRIVATEDNS", 0 }, \ - { DNS_KEYALG_PRIVATEOID, "PRIVATEOID", 0 }, \ - { 0, NULL, 0} +#define SECALGNAMES \ + { DNS_KEYALG_RSAMD5, "RSAMD5", 0 }, { DNS_KEYALG_DH, "DH", 0 }, \ + { DNS_KEYALG_DSA, "DSA", 0 }, \ + { DNS_KEYALG_RSASHA1, "RSASHA1", 0 }, \ + { DNS_KEYALG_NSEC3DSA, "NSEC3DSA", 0 }, \ + { DNS_KEYALG_NSEC3RSASHA1, "NSEC3RSASHA1", 0 }, \ + { DNS_KEYALG_RSASHA256, "RSASHA256", 0 }, \ + { DNS_KEYALG_RSASHA512, "RSASHA512", 0 }, \ + { DNS_KEYALG_ECCGOST, "ECCGOST", 0 }, \ + { DNS_KEYALG_ECDSA256, "ECDSAP256SHA256", 0 }, \ + { DNS_KEYALG_ECDSA256, "ECDSA256", 0 }, \ + { DNS_KEYALG_ECDSA384, "ECDSAP384SHA384", 0 }, \ + { DNS_KEYALG_ECDSA384, "ECDSA384", 0 }, \ + { DNS_KEYALG_ED25519, "ED25519", 0 }, \ + { DNS_KEYALG_ED448, "ED448", 0 }, \ + { DNS_KEYALG_INDIRECT, "INDIRECT", 0 }, \ + { DNS_KEYALG_PRIVATEDNS, "PRIVATEDNS", 0 }, \ + { DNS_KEYALG_PRIVATEOID, "PRIVATEOID", 0 }, \ + { \ + 0, NULL, 0 \ + } /* RFC2535 section 7.1 */ -#define SECPROTONAMES \ - { 0, "NONE", 0 }, \ - { 1, "TLS", 0 }, \ - { 2, "EMAIL", 0 }, \ - { 3, "DNSSEC", 0 }, \ - { 4, "IPSEC", 0 }, \ - { 255, "ALL", 0 }, \ - { 0, NULL, 0} +#define SECPROTONAMES \ + { 0, "NONE", 0 }, { 1, "TLS", 0 }, { 2, "EMAIL", 0 }, \ + { 3, "DNSSEC", 0 }, { 4, "IPSEC", 0 }, { 255, "ALL", 0 }, \ + { \ + 0, NULL, 0 \ + } #define HASHALGNAMES \ - { 1, "SHA-1", 0 }, \ - { 0, NULL, 0 } + { 1, "SHA-1", 0 }, { 0, NULL, 0 } /* RFC3658, RFC4509, RFC5933, RFC6605 */ -#define DSDIGESTNAMES \ - { DNS_DSDIGEST_SHA1, "SHA-1", 0 }, \ - { DNS_DSDIGEST_SHA1, "SHA1", 0 }, \ - { DNS_DSDIGEST_SHA256, "SHA-256", 0 }, \ - { DNS_DSDIGEST_SHA256, "SHA256", 0 }, \ - { DNS_DSDIGEST_GOST, "GOST", 0 }, \ - { DNS_DSDIGEST_SHA384, "SHA-384", 0 }, \ - { DNS_DSDIGEST_SHA384, "SHA384", 0 }, \ - { 0, NULL, 0} +#define DSDIGESTNAMES \ + { DNS_DSDIGEST_SHA1, "SHA-1", 0 }, { DNS_DSDIGEST_SHA1, "SHA1", 0 }, \ + { DNS_DSDIGEST_SHA256, "SHA-256", 0 }, \ + { DNS_DSDIGEST_SHA256, "SHA256", 0 }, \ + { DNS_DSDIGEST_GOST, "GOST", 0 }, \ + { DNS_DSDIGEST_SHA384, "SHA-384", 0 }, \ + { DNS_DSDIGEST_SHA384, "SHA384", 0 }, \ + { \ + 0, NULL, 0 \ + } struct tbl { - unsigned int value; - const char *name; - int flags; + unsigned int value; + const char * name; + int flags; }; static struct tbl rcodes[] = { RCODENAMES ERCODENAMES }; @@ -164,47 +163,46 @@ static struct tbl hashalgs[] = { HASHALGNAMES }; static struct tbl dsdigests[] = { DSDIGESTNAMES }; static struct keyflag { - const char *name; + const char * name; unsigned int value; unsigned int mask; -} keyflags[] = { - { "NOCONF", 0x4000, 0xC000 }, - { "NOAUTH", 0x8000, 0xC000 }, - { "NOKEY", 0xC000, 0xC000 }, - { "FLAG2", 0x2000, 0x2000 }, - { "EXTEND", 0x1000, 0x1000 }, - { "FLAG4", 0x0800, 0x0800 }, - { "FLAG5", 0x0400, 0x0400 }, - { "USER", 0x0000, 0x0300 }, - { "ZONE", 0x0100, 0x0300 }, - { "HOST", 0x0200, 0x0300 }, - { "NTYP3", 0x0300, 0x0300 }, - { "FLAG8", 0x0080, 0x0080 }, - { "FLAG9", 0x0040, 0x0040 }, - { "FLAG10", 0x0020, 0x0020 }, - { "FLAG11", 0x0010, 0x0010 }, - { "SIG0", 0x0000, 0x000F }, - { "SIG1", 0x0001, 0x000F }, - { "SIG2", 0x0002, 0x000F }, - { "SIG3", 0x0003, 0x000F }, - { "SIG4", 0x0004, 0x000F }, - { "SIG5", 0x0005, 0x000F }, - { "SIG6", 0x0006, 0x000F }, - { "SIG7", 0x0007, 0x000F }, - { "SIG8", 0x0008, 0x000F }, - { "SIG9", 0x0009, 0x000F }, - { "SIG10", 0x000A, 0x000F }, - { "SIG11", 0x000B, 0x000F }, - { "SIG12", 0x000C, 0x000F }, - { "SIG13", 0x000D, 0x000F }, - { "SIG14", 0x000E, 0x000F }, - { "SIG15", 0x000F, 0x000F }, - { "KSK", DNS_KEYFLAG_KSK, DNS_KEYFLAG_KSK }, - { NULL, 0, 0 } -}; +} keyflags[] = { { "NOCONF", 0x4000, 0xC000 }, + { "NOAUTH", 0x8000, 0xC000 }, + { "NOKEY", 0xC000, 0xC000 }, + { "FLAG2", 0x2000, 0x2000 }, + { "EXTEND", 0x1000, 0x1000 }, + { "FLAG4", 0x0800, 0x0800 }, + { "FLAG5", 0x0400, 0x0400 }, + { "USER", 0x0000, 0x0300 }, + { "ZONE", 0x0100, 0x0300 }, + { "HOST", 0x0200, 0x0300 }, + { "NTYP3", 0x0300, 0x0300 }, + { "FLAG8", 0x0080, 0x0080 }, + { "FLAG9", 0x0040, 0x0040 }, + { "FLAG10", 0x0020, 0x0020 }, + { "FLAG11", 0x0010, 0x0010 }, + { "SIG0", 0x0000, 0x000F }, + { "SIG1", 0x0001, 0x000F }, + { "SIG2", 0x0002, 0x000F }, + { "SIG3", 0x0003, 0x000F }, + { "SIG4", 0x0004, 0x000F }, + { "SIG5", 0x0005, 0x000F }, + { "SIG6", 0x0006, 0x000F }, + { "SIG7", 0x0007, 0x000F }, + { "SIG8", 0x0008, 0x000F }, + { "SIG9", 0x0009, 0x000F }, + { "SIG10", 0x000A, 0x000F }, + { "SIG11", 0x000B, 0x000F }, + { "SIG12", 0x000C, 0x000F }, + { "SIG13", 0x000D, 0x000F }, + { "SIG14", 0x000E, 0x000F }, + { "SIG15", 0x000F, 0x000F }, + { "KSK", DNS_KEYFLAG_KSK, DNS_KEYFLAG_KSK }, + { NULL, 0, 0 } }; static isc_result_t -str_totext(const char *source, isc_buffer_t *target) { +str_totext(const char *source, isc_buffer_t *target) +{ unsigned int l; isc_region_t region; @@ -220,17 +218,16 @@ str_totext(const char *source, isc_buffer_t *target) { } static isc_result_t -maybe_numeric(unsigned int *valuep, isc_textregion_t *source, - unsigned int max, bool hex_allowed) +maybe_numeric(unsigned int *valuep, isc_textregion_t *source, unsigned int max, + bool hex_allowed) { isc_result_t result; - uint32_t n; - char buffer[NUMBERSIZE]; - int v; + uint32_t n; + char buffer[NUMBERSIZE]; + int v; - if (! isdigit(source->base[0] & 0xff) || - source->length > NUMBERSIZE - 1) - { + if (!isdigit(source->base[0] & 0xff) || + source->length > NUMBERSIZE - 1) { return (ISC_R_BADNUMBER); } @@ -239,8 +236,8 @@ maybe_numeric(unsigned int *valuep, isc_textregion_t *source, * isc_parse_uint32(). isc_parse_uint32() requires * null termination, so we must make a copy. */ - v = snprintf(buffer, sizeof(buffer), "%.*s", - (int)source->length, source->base); + v = snprintf(buffer, sizeof(buffer), "%.*s", (int)source->length, + source->base); if (v < 0 || (unsigned)v != source->length) { return (ISC_R_BADNUMBER); } @@ -265,7 +262,7 @@ dns_mnemonic_fromtext(unsigned int *valuep, isc_textregion_t *source, struct tbl *table, unsigned int max) { isc_result_t result; - int i; + int i; result = maybe_numeric(valuep, source, max, false); if (result != ISC_R_BADNUMBER) @@ -274,8 +271,7 @@ dns_mnemonic_fromtext(unsigned int *valuep, isc_textregion_t *source, for (i = 0; table[i].name != NULL; i++) { unsigned int n; n = strlen(table[i].name); - if (n == source->length && - (table[i].flags & TOTEXTONLY) == 0 && + if (n == source->length && (table[i].flags & TOTEXTONLY) == 0 && strncasecmp(source->base, table[i].name, n) == 0) { *valuep = table[i].value; return (ISC_R_SUCCESS); @@ -285,10 +281,9 @@ dns_mnemonic_fromtext(unsigned int *valuep, isc_textregion_t *source, } static isc_result_t -dns_mnemonic_totext(unsigned int value, isc_buffer_t *target, - struct tbl *table) +dns_mnemonic_totext(unsigned int value, isc_buffer_t *target, struct tbl *table) { - int i = 0; + int i = 0; char buf[sizeof("4294967296")]; while (table[i].name != NULL) { if (table[i].value == value) { @@ -301,7 +296,8 @@ dns_mnemonic_totext(unsigned int value, isc_buffer_t *target, } isc_result_t -dns_rcode_fromtext(dns_rcode_t *rcodep, isc_textregion_t *source) { +dns_rcode_fromtext(dns_rcode_t *rcodep, isc_textregion_t *source) +{ unsigned int value; RETERR(dns_mnemonic_fromtext(&value, source, rcodes, 0xffff)); *rcodep = value; @@ -309,12 +305,14 @@ dns_rcode_fromtext(dns_rcode_t *rcodep, isc_textregion_t *source) { } isc_result_t -dns_rcode_totext(dns_rcode_t rcode, isc_buffer_t *target) { +dns_rcode_totext(dns_rcode_t rcode, isc_buffer_t *target) +{ return (dns_mnemonic_totext(rcode, target, rcodes)); } isc_result_t -dns_tsigrcode_fromtext(dns_rcode_t *rcodep, isc_textregion_t *source) { +dns_tsigrcode_fromtext(dns_rcode_t *rcodep, isc_textregion_t *source) +{ unsigned int value; RETERR(dns_mnemonic_fromtext(&value, source, tsigrcodes, 0xffff)); *rcodep = value; @@ -322,12 +320,14 @@ dns_tsigrcode_fromtext(dns_rcode_t *rcodep, isc_textregion_t *source) { } isc_result_t -dns_tsigrcode_totext(dns_rcode_t rcode, isc_buffer_t *target) { +dns_tsigrcode_totext(dns_rcode_t rcode, isc_buffer_t *target) +{ return (dns_mnemonic_totext(rcode, target, tsigrcodes)); } isc_result_t -dns_cert_fromtext(dns_cert_t *certp, isc_textregion_t *source) { +dns_cert_fromtext(dns_cert_t *certp, isc_textregion_t *source) +{ unsigned int value; RETERR(dns_mnemonic_fromtext(&value, source, certs, 0xffff)); *certp = value; @@ -335,12 +335,14 @@ dns_cert_fromtext(dns_cert_t *certp, isc_textregion_t *source) { } isc_result_t -dns_cert_totext(dns_cert_t cert, isc_buffer_t *target) { +dns_cert_totext(dns_cert_t cert, isc_buffer_t *target) +{ return (dns_mnemonic_totext(cert, target, certs)); } isc_result_t -dns_secalg_fromtext(dns_secalg_t *secalgp, isc_textregion_t *source) { +dns_secalg_fromtext(dns_secalg_t *secalgp, isc_textregion_t *source) +{ unsigned int value; RETERR(dns_mnemonic_fromtext(&value, source, secalgs, 0xff)); *secalgp = value; @@ -348,12 +350,14 @@ dns_secalg_fromtext(dns_secalg_t *secalgp, isc_textregion_t *source) { } isc_result_t -dns_secalg_totext(dns_secalg_t secalg, isc_buffer_t *target) { +dns_secalg_totext(dns_secalg_t secalg, isc_buffer_t *target) +{ return (dns_mnemonic_totext(secalg, target, secalgs)); } void -dns_secalg_format(dns_secalg_t alg, char *cp, unsigned int size) { +dns_secalg_format(dns_secalg_t alg, char *cp, unsigned int size) +{ isc_buffer_t b; isc_region_t r; isc_result_t result; @@ -369,7 +373,8 @@ dns_secalg_format(dns_secalg_t alg, char *cp, unsigned int size) { } isc_result_t -dns_secproto_fromtext(dns_secproto_t *secprotop, isc_textregion_t *source) { +dns_secproto_fromtext(dns_secproto_t *secprotop, isc_textregion_t *source) +{ unsigned int value; RETERR(dns_mnemonic_fromtext(&value, source, secprotos, 0xff)); *secprotop = value; @@ -377,12 +382,14 @@ dns_secproto_fromtext(dns_secproto_t *secprotop, isc_textregion_t *source) { } isc_result_t -dns_secproto_totext(dns_secproto_t secproto, isc_buffer_t *target) { +dns_secproto_totext(dns_secproto_t secproto, isc_buffer_t *target) +{ return (dns_mnemonic_totext(secproto, target, secprotos)); } isc_result_t -dns_hashalg_fromtext(unsigned char *hashalg, isc_textregion_t *source) { +dns_hashalg_fromtext(unsigned char *hashalg, isc_textregion_t *source) +{ unsigned int value; RETERR(dns_mnemonic_fromtext(&value, source, hashalgs, 0xff)); *hashalg = value; @@ -393,7 +400,7 @@ isc_result_t dns_keyflags_fromtext(dns_keyflags_t *flagsp, isc_textregion_t *source) { isc_result_t result; - char *text, *end; + char * text, *end; unsigned int value = 0; #ifdef notyet unsigned int mask = 0; @@ -412,8 +419,8 @@ dns_keyflags_fromtext(dns_keyflags_t *flagsp, isc_textregion_t *source) while (text < end) { struct keyflag *p; - unsigned int len; - char *delim = memchr(text, '|', end - text); + unsigned int len; + char * delim = memchr(text, '|', end - text); if (delim != NULL) len = (unsigned int)(delim - text); else @@ -439,7 +446,8 @@ dns_keyflags_fromtext(dns_keyflags_t *flagsp, isc_textregion_t *source) } isc_result_t -dns_dsdigest_fromtext(dns_dsdigest_t *dsdigestp, isc_textregion_t *source) { +dns_dsdigest_fromtext(dns_dsdigest_t *dsdigestp, isc_textregion_t *source) +{ unsigned int value; RETERR(dns_mnemonic_fromtext(&value, source, dsdigests, 0xff)); *dsdigestp = value; @@ -447,12 +455,14 @@ dns_dsdigest_fromtext(dns_dsdigest_t *dsdigestp, isc_textregion_t *source) { } isc_result_t -dns_dsdigest_totext(dns_dsdigest_t dsdigest, isc_buffer_t *target) { +dns_dsdigest_totext(dns_dsdigest_t dsdigest, isc_buffer_t *target) +{ return (dns_mnemonic_totext(dsdigest, target, dsdigests)); } void -dns_dsdigest_format(dns_dsdigest_t typ, char *cp, unsigned int size) { +dns_dsdigest_format(dns_dsdigest_t typ, char *cp, unsigned int size) +{ isc_buffer_t b; isc_region_t r; isc_result_t result; @@ -472,12 +482,13 @@ dns_dsdigest_format(dns_dsdigest_t typ, char *cp, unsigned int size) { * add classes? */ isc_result_t -dns_rdataclass_fromtext(dns_rdataclass_t *classp, isc_textregion_t *source) { -#define COMPARE(string, rdclass) \ - if (((sizeof(string) - 1) == source->length) \ - && (strncasecmp(source->base, string, source->length) == 0)) { \ - *classp = rdclass; \ - return (ISC_R_SUCCESS); \ +dns_rdataclass_fromtext(dns_rdataclass_t *classp, isc_textregion_t *source) +{ +#define COMPARE(string, rdclass) \ + if (((sizeof(string) - 1) == source->length) && \ + (strncasecmp(source->base, string, source->length) == 0)) { \ + *classp = rdclass; \ + return (ISC_R_SUCCESS); \ } switch (tolower((unsigned char)source->base[0])) { @@ -496,8 +507,8 @@ dns_rdataclass_fromtext(dns_rdataclass_t *classp, isc_textregion_t *source) { if (source->length > 5 && source->length < (5 + sizeof("65000")) && strncasecmp("class", source->base, 5) == 0) { - char buf[sizeof("65000")]; - char *endp; + char buf[sizeof("65000")]; + char * endp; unsigned int val; /* @@ -534,7 +545,8 @@ dns_rdataclass_fromtext(dns_rdataclass_t *classp, isc_textregion_t *source) { } isc_result_t -dns_rdataclass_totext(dns_rdataclass_t rdclass, isc_buffer_t *target) { +dns_rdataclass_totext(dns_rdataclass_t rdclass, isc_buffer_t *target) +{ switch (rdclass) { case dns_rdataclass_any: return (str_totext("ANY", target)); @@ -554,7 +566,8 @@ dns_rdataclass_totext(dns_rdataclass_t rdclass, isc_buffer_t *target) { } isc_result_t -dns_rdataclass_tounknowntext(dns_rdataclass_t rdclass, isc_buffer_t *target) { +dns_rdataclass_tounknowntext(dns_rdataclass_t rdclass, isc_buffer_t *target) +{ char buf[sizeof("CLASS65535")]; snprintf(buf, sizeof(buf), "CLASS%u", rdclass); @@ -562,8 +575,7 @@ dns_rdataclass_tounknowntext(dns_rdataclass_t rdclass, isc_buffer_t *target) { } void -dns_rdataclass_format(dns_rdataclass_t rdclass, - char *array, unsigned int size) +dns_rdataclass_format(dns_rdataclass_t rdclass, char *array, unsigned int size) { isc_result_t result; isc_buffer_t buf; diff --git a/lib/dns/rdata.c b/lib/dns/rdata.c index a46c5e33f1..85729e2857 100644 --- a/lib/dns/rdata.c +++ b/lib/dns/rdata.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -44,72 +43,76 @@ #include #include -#define RETERR(x) \ - do { \ - isc_result_t _r = (x); \ +#define RETERR(x) \ + do { \ + isc_result_t _r = (x); \ if (_r != ISC_R_SUCCESS) \ - return (_r); \ + return (_r); \ } while (0) -#define RETTOK(x) \ - do { \ - isc_result_t _r = (x); \ - if (_r != ISC_R_SUCCESS) { \ +#define RETTOK(x) \ + do { \ + isc_result_t _r = (x); \ + if (_r != ISC_R_SUCCESS) { \ isc_lex_ungettoken(lexer, &token); \ - return (_r); \ - } \ + return (_r); \ + } \ } while (0) -#define CHECK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) goto cleanup; \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto cleanup; \ } while (0) -#define CHECKTOK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) { \ - isc_lex_ungettoken(lexer, &token); \ - goto cleanup; \ - } \ +#define CHECKTOK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) { \ + isc_lex_ungettoken(lexer, &token); \ + goto cleanup; \ + } \ } while (0) #define DNS_AS_STR(t) ((t).value.as_textregion.base) -#define ARGS_FROMTEXT int rdclass, dns_rdatatype_t type, \ - isc_lex_t *lexer, const dns_name_t *origin, \ - unsigned int options, isc_buffer_t *target, \ - dns_rdatacallbacks_t *callbacks +#define ARGS_FROMTEXT \ + int rdclass, dns_rdatatype_t type, isc_lex_t *lexer, \ + const dns_name_t *origin, unsigned int options, \ + isc_buffer_t *target, dns_rdatacallbacks_t *callbacks -#define ARGS_TOTEXT dns_rdata_t *rdata, dns_rdata_textctx_t *tctx, \ - isc_buffer_t *target +#define ARGS_TOTEXT \ + dns_rdata_t *rdata, dns_rdata_textctx_t *tctx, isc_buffer_t *target -#define ARGS_FROMWIRE int rdclass, dns_rdatatype_t type, \ - isc_buffer_t *source, dns_decompress_t *dctx, \ - unsigned int options, isc_buffer_t *target +#define ARGS_FROMWIRE \ + int rdclass, dns_rdatatype_t type, isc_buffer_t *source, \ + dns_decompress_t *dctx, unsigned int options, \ + isc_buffer_t *target -#define ARGS_TOWIRE dns_rdata_t *rdata, dns_compress_t *cctx, \ - isc_buffer_t *target +#define ARGS_TOWIRE \ + dns_rdata_t *rdata, dns_compress_t *cctx, isc_buffer_t *target -#define ARGS_COMPARE const dns_rdata_t *rdata1, const dns_rdata_t *rdata2 +#define ARGS_COMPARE const dns_rdata_t *rdata1, const dns_rdata_t *rdata2 -#define ARGS_FROMSTRUCT int rdclass, dns_rdatatype_t type, \ - void *source, isc_buffer_t *target +#define ARGS_FROMSTRUCT \ + int rdclass, dns_rdatatype_t type, void *source, isc_buffer_t *target -#define ARGS_TOSTRUCT const dns_rdata_t *rdata, void *target, isc_mem_t *mctx +#define ARGS_TOSTRUCT const dns_rdata_t *rdata, void *target, isc_mem_t *mctx #define ARGS_FREESTRUCT void *source -#define ARGS_ADDLDATA dns_rdata_t *rdata, dns_additionaldatafunc_t add, \ - void *arg +#define ARGS_ADDLDATA \ + dns_rdata_t *rdata, dns_additionaldatafunc_t add, void *arg -#define ARGS_DIGEST dns_rdata_t *rdata, dns_digestfunc_t digest, void *arg +#define ARGS_DIGEST dns_rdata_t *rdata, dns_digestfunc_t digest, void *arg -#define ARGS_CHECKOWNER const dns_name_t *name, dns_rdataclass_t rdclass, \ - dns_rdatatype_t type, bool wildcard - -#define ARGS_CHECKNAMES dns_rdata_t *rdata, const dns_name_t *owner, \ - dns_name_t *bad +#define ARGS_CHECKOWNER \ + const dns_name_t *name, dns_rdataclass_t rdclass, \ + dns_rdatatype_t type, bool wildcard +#define ARGS_CHECKNAMES \ + dns_rdata_t *rdata, const dns_name_t *owner, dns_name_t *bad /*% * Context structure for the totext_ functions. @@ -117,10 +120,10 @@ * conversion. */ typedef struct dns_rdata_textctx { - const dns_name_t *origin; /*%< Current origin, or NULL. */ - dns_masterstyle_flags_t flags; /*%< DNS_STYLEFLAG_* */ - unsigned int width; /*%< Width of rdata column. */ - const char *linebreak; /*%< Line break string. */ + const dns_name_t * origin; /*%< Current origin, or NULL. */ + dns_masterstyle_flags_t flags; /*%< DNS_STYLEFLAG_* */ + unsigned int width; /*%< Width of rdata column. */ + const char * linebreak; /*%< Line break string. */ } dns_rdata_textctx_t; static isc_result_t @@ -191,7 +194,7 @@ decvalue(char value); static void default_fromtext_callback(dns_rdatacallbacks_t *callbacks, const char *, ...) - ISC_FORMAT_PRINTF(2, 3); + ISC_FORMAT_PRINTF(2, 3); static void fromtext_error(void (*callback)(dns_rdatacallbacks_t *, const char *, ...), @@ -220,41 +223,29 @@ static isc_result_t unknown_totext(dns_rdata_t *rdata, dns_rdata_textctx_t *tctx, isc_buffer_t *target); -static inline isc_result_t -generic_fromtext_key(ARGS_FROMTEXT); +static inline isc_result_t generic_fromtext_key(ARGS_FROMTEXT); -static inline isc_result_t -generic_totext_key(ARGS_TOTEXT); +static inline isc_result_t generic_totext_key(ARGS_TOTEXT); -static inline isc_result_t -generic_fromwire_key(ARGS_FROMWIRE); +static inline isc_result_t generic_fromwire_key(ARGS_FROMWIRE); -static inline isc_result_t -generic_fromstruct_key(ARGS_FROMSTRUCT); +static inline isc_result_t generic_fromstruct_key(ARGS_FROMSTRUCT); -static inline isc_result_t -generic_tostruct_key(ARGS_TOSTRUCT); +static inline isc_result_t generic_tostruct_key(ARGS_TOSTRUCT); -static inline void -generic_freestruct_key(ARGS_FREESTRUCT); +static inline void generic_freestruct_key(ARGS_FREESTRUCT); -static isc_result_t -generic_fromtext_txt(ARGS_FROMTEXT); +static isc_result_t generic_fromtext_txt(ARGS_FROMTEXT); -static isc_result_t -generic_totext_txt(ARGS_TOTEXT); +static isc_result_t generic_totext_txt(ARGS_TOTEXT); -static isc_result_t -generic_fromwire_txt(ARGS_FROMWIRE); +static isc_result_t generic_fromwire_txt(ARGS_FROMWIRE); -static isc_result_t -generic_fromstruct_txt(ARGS_FROMSTRUCT); +static isc_result_t generic_fromstruct_txt(ARGS_FROMSTRUCT); -static isc_result_t -generic_tostruct_txt(ARGS_TOSTRUCT); +static isc_result_t generic_tostruct_txt(ARGS_TOSTRUCT); -static void -generic_freestruct_txt(ARGS_FREESTRUCT); +static void generic_freestruct_txt(ARGS_FREESTRUCT); static isc_result_t generic_txt_first(dns_rdata_txt_t *txt); @@ -265,49 +256,38 @@ generic_txt_next(dns_rdata_txt_t *txt); static isc_result_t generic_txt_current(dns_rdata_txt_t *txt, dns_rdata_txt_string_t *string); -static isc_result_t -generic_totext_ds(ARGS_TOTEXT); +static isc_result_t generic_totext_ds(ARGS_TOTEXT); -static isc_result_t -generic_tostruct_ds(ARGS_TOSTRUCT); +static isc_result_t generic_tostruct_ds(ARGS_TOSTRUCT); -static isc_result_t -generic_fromtext_ds(ARGS_FROMTEXT); +static isc_result_t generic_fromtext_ds(ARGS_FROMTEXT); -static isc_result_t -generic_fromwire_ds(ARGS_FROMWIRE); +static isc_result_t generic_fromwire_ds(ARGS_FROMWIRE); -static isc_result_t -generic_fromstruct_ds(ARGS_FROMSTRUCT); +static isc_result_t generic_fromstruct_ds(ARGS_FROMSTRUCT); -static isc_result_t -generic_fromtext_tlsa(ARGS_FROMTEXT); +static isc_result_t generic_fromtext_tlsa(ARGS_FROMTEXT); -static isc_result_t -generic_totext_tlsa(ARGS_TOTEXT); +static isc_result_t generic_totext_tlsa(ARGS_TOTEXT); -static isc_result_t -generic_fromwire_tlsa(ARGS_FROMWIRE); +static isc_result_t generic_fromwire_tlsa(ARGS_FROMWIRE); -static isc_result_t -generic_fromstruct_tlsa(ARGS_FROMSTRUCT); +static isc_result_t generic_fromstruct_tlsa(ARGS_FROMSTRUCT); -static isc_result_t -generic_tostruct_tlsa(ARGS_TOSTRUCT); +static isc_result_t generic_tostruct_tlsa(ARGS_TOSTRUCT); -static void -generic_freestruct_tlsa(ARGS_FREESTRUCT); +static void generic_freestruct_tlsa(ARGS_FREESTRUCT); /*% INT16 Size */ -#define NS_INT16SZ 2 +#define NS_INT16SZ 2 /*% IPv6 Address Size */ -#define NS_LOCATORSZ 8 +#define NS_LOCATORSZ 8 /* * Active Diretory gc._msdcs. prefix. */ -static unsigned char gc_msdcs_data[] = "\002gc\006_msdcs"; -static unsigned char gc_msdcs_offset [] = { 0, 3 }; +static unsigned char gc_msdcs_data[] = "\002gc\006_msdcs"; +static unsigned char gc_msdcs_offset[] = { 0, 3 }; static dns_name_t const gc_msdcs = DNS_NAME_INITNONABSOLUTE(gc_msdcs_data, gc_msdcs_offset); @@ -320,14 +300,15 @@ static dns_name_t const gc_msdcs = * (1) does not touch `dst' unless it's returning 1. */ static inline int -locator_pton(const char *src, unsigned char *dst) { +locator_pton(const char *src, unsigned char *dst) +{ static const char xdigits_l[] = "0123456789abcdef", xdigits_u[] = "0123456789ABCDEF"; - unsigned char tmp[NS_LOCATORSZ]; + unsigned char tmp[NS_LOCATORSZ]; unsigned char *tp = tmp, *endp; - const char *xdigits; - int ch, seen_xdigits; - unsigned int val; + const char * xdigits; + int ch, seen_xdigits; + unsigned int val; memset(tp, '\0', NS_LOCATORSZ); endp = tp + NS_LOCATORSZ; @@ -351,8 +332,8 @@ locator_pton(const char *src, unsigned char *dst) { return (0); if (tp + NS_INT16SZ > endp) return (0); - *tp++ = (unsigned char) (val >> 8) & 0xff; - *tp++ = (unsigned char) val & 0xff; + *tp++ = (unsigned char)(val >> 8) & 0xff; + *tp++ = (unsigned char)val & 0xff; seen_xdigits = 0; val = 0; continue; @@ -362,8 +343,8 @@ locator_pton(const char *src, unsigned char *dst) { if (seen_xdigits) { if (tp + NS_INT16SZ > endp) return (0); - *tp++ = (unsigned char) (val >> 8) & 0xff; - *tp++ = (unsigned char) val & 0xff; + *tp++ = (unsigned char)(val >> 8) & 0xff; + *tp++ = (unsigned char)val & 0xff; } if (tp != endp) return (0); @@ -372,8 +353,8 @@ locator_pton(const char *src, unsigned char *dst) { } static inline isc_result_t -name_duporclone(const dns_name_t *source, isc_mem_t *mctx, dns_name_t *target) { - +name_duporclone(const dns_name_t *source, isc_mem_t *mctx, dns_name_t *target) +{ if (mctx != NULL) { dns_name_dup(source, mctx, target); } else { @@ -383,7 +364,8 @@ name_duporclone(const dns_name_t *source, isc_mem_t *mctx, dns_name_t *target) { } static inline void * -mem_maybedup(isc_mem_t *mctx, void *source, size_t length) { +mem_maybedup(isc_mem_t *mctx, void *source, size_t length) +{ void *copy; if (mctx == NULL) @@ -395,16 +377,15 @@ mem_maybedup(isc_mem_t *mctx, void *source, size_t length) { } static inline isc_result_t -typemap_fromtext(isc_lex_t *lexer, isc_buffer_t *target, - bool allow_empty) +typemap_fromtext(isc_lex_t *lexer, isc_buffer_t *target, bool allow_empty) { - isc_token_t token; - unsigned char bm[8*1024]; /* 64k bits */ + isc_token_t token; + unsigned char bm[8 * 1024]; /* 64k bits */ dns_rdatatype_t covered, max_used; - int octet; - unsigned int max_octet, newend, end; - int window; - bool first = true; + int octet; + unsigned int max_octet, newend, end; + int window; + bool first = true; max_used = 0; bm[0] = 0; @@ -425,14 +406,14 @@ typemap_fromtext(isc_lex_t *lexer, isc_buffer_t *target, } max_used = covered; } - bm[covered/8] |= (0x80>>(covered%8)); + bm[covered / 8] |= (0x80 >> (covered % 8)); first = false; } while (1); isc_lex_ungettoken(lexer, &token); if (!allow_empty && first) return (DNS_R_FORMERR); - for (window = 0; window < 256 ; window++) { + for (window = 0; window < 256; window++) { if (max_used < window * 256) break; @@ -464,7 +445,7 @@ typemap_totext(isc_region_t *sr, dns_rdata_textctx_t *tctx, { unsigned int i, j, k; unsigned int window, len; - bool first = true; + bool first = true; for (i = 0; i < sr->length; i += len) { if (tctx != NULL && @@ -503,10 +484,11 @@ typemap_totext(isc_region_t *sr, dns_rdata_textctx_t *tctx, } static isc_result_t -typemap_test(isc_region_t *sr, bool allow_empty) { +typemap_test(isc_region_t *sr, bool allow_empty) +{ unsigned int window, lastwindow = 0; unsigned int len; - bool first = true; + bool first = true; unsigned int i; for (i = 0; i < sr->length; i += len) { @@ -561,8 +543,8 @@ static const char decdigits[] = "0123456789"; ***/ void -dns_rdata_init(dns_rdata_t *rdata) { - +dns_rdata_init(dns_rdata_t *rdata) +{ REQUIRE(rdata != NULL); rdata->data = NULL; @@ -575,8 +557,8 @@ dns_rdata_init(dns_rdata_t *rdata) { } void -dns_rdata_reset(dns_rdata_t *rdata) { - +dns_rdata_reset(dns_rdata_t *rdata) +{ REQUIRE(rdata != NULL); REQUIRE(!ISC_LINK_LINKED(rdata, link)); @@ -594,8 +576,8 @@ dns_rdata_reset(dns_rdata_t *rdata) { ***/ void -dns_rdata_clone(const dns_rdata_t *src, dns_rdata_t *target) { - +dns_rdata_clone(const dns_rdata_t *src, dns_rdata_t *target) +{ REQUIRE(src != NULL); REQUIRE(target != NULL); @@ -611,14 +593,14 @@ dns_rdata_clone(const dns_rdata_t *src, dns_rdata_t *target) { target->flags = src->flags; } - /*** *** Comparisons ***/ int -dns_rdata_compare(const dns_rdata_t *rdata1, const dns_rdata_t *rdata2) { - int result = 0; +dns_rdata_compare(const dns_rdata_t *rdata1, const dns_rdata_t *rdata2) +{ + int result = 0; bool use_default = false; REQUIRE(rdata1 != NULL); @@ -648,8 +630,9 @@ dns_rdata_compare(const dns_rdata_t *rdata1, const dns_rdata_t *rdata2) { } int -dns_rdata_casecompare(const dns_rdata_t *rdata1, const dns_rdata_t *rdata2) { - int result = 0; +dns_rdata_casecompare(const dns_rdata_t *rdata1, const dns_rdata_t *rdata2) +{ + int result = 0; bool use_default = false; REQUIRE(rdata1 != NULL); @@ -686,7 +669,6 @@ void dns_rdata_fromregion(dns_rdata_t *rdata, dns_rdataclass_t rdclass, dns_rdatatype_t type, isc_region_t *r) { - REQUIRE(rdata != NULL); REQUIRE(DNS_RDATA_INITIALIZED(rdata)); REQUIRE(r != NULL); @@ -701,8 +683,8 @@ dns_rdata_fromregion(dns_rdata_t *rdata, dns_rdataclass_t rdclass, } void -dns_rdata_toregion(const dns_rdata_t *rdata, isc_region_t *r) { - +dns_rdata_toregion(const dns_rdata_t *rdata, isc_region_t *r) +{ REQUIRE(rdata != NULL); REQUIRE(r != NULL); REQUIRE(DNS_RDATA_VALIDFLAGS(rdata)); @@ -721,8 +703,8 @@ dns_rdata_fromwire(dns_rdata_t *rdata, dns_rdataclass_t rdclass, isc_region_t region; isc_buffer_t ss; isc_buffer_t st; - bool use_default = false; - uint32_t activelength; + bool use_default = false; + uint32_t activelength; unsigned int length; REQUIRE(dctx != NULL); @@ -783,11 +765,10 @@ dns_rdata_fromwire(dns_rdata_t *rdata, dns_rdataclass_t rdclass, } isc_result_t -dns_rdata_towire(dns_rdata_t *rdata, dns_compress_t *cctx, - isc_buffer_t *target) +dns_rdata_towire(dns_rdata_t *rdata, dns_compress_t *cctx, isc_buffer_t *target) { isc_result_t result = ISC_R_NOTIMPLEMENTED; - bool use_default = false; + bool use_default = false; isc_region_t tr; isc_buffer_t st; @@ -829,10 +810,10 @@ dns_rdata_towire(dns_rdata_t *rdata, dns_compress_t *cctx, */ static isc_result_t rdata_validate(isc_buffer_t *src, isc_buffer_t *dest, dns_rdataclass_t rdclass, - dns_rdatatype_t type) + dns_rdatatype_t type) { dns_decompress_t dctx; - isc_result_t result; + isc_result_t result; dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_NONE); isc_buffer_setactive(src, isc_buffer_usedlength(src)); @@ -846,15 +827,15 @@ static isc_result_t unknown_fromtext(dns_rdataclass_t rdclass, dns_rdatatype_t type, isc_lex_t *lexer, isc_mem_t *mctx, isc_buffer_t *target) { - isc_result_t result; + isc_result_t result; isc_buffer_t *buf = NULL; - isc_token_t token; + isc_token_t token; if (type == 0 || dns_rdatatype_ismeta(type)) return (DNS_R_METATYPE); RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_number, - false)); + false)); if (token.value.as_ulong > 65535U) return (ISC_R_RANGE); isc_buffer_allocate(mctx, &buf, token.value.as_ulong); @@ -863,7 +844,7 @@ unknown_fromtext(dns_rdataclass_t rdclass, dns_rdatatype_t type, result = isc_hex_tobuffer(lexer, buf, (unsigned int)token.value.as_ulong); if (result != ISC_R_SUCCESS) { - goto failure; + goto failure; } if (isc_buffer_usedlength(buf) != token.value.as_ulong) { result = ISC_R_UNEXPECTEDEND; @@ -884,7 +865,7 @@ unknown_fromtext(dns_rdataclass_t rdclass, dns_rdatatype_t type, isc_buffer_free(&buf); return (ISC_R_SUCCESS); - failure: +failure: isc_buffer_free(&buf); return (result); } @@ -899,15 +880,15 @@ dns_rdata_fromtext(dns_rdata_t *rdata, dns_rdataclass_t rdclass, isc_result_t result = ISC_R_NOTIMPLEMENTED; isc_region_t region; isc_buffer_t st; - isc_token_t token; + isc_token_t token; unsigned int lexoptions = ISC_LEXOPT_EOL | ISC_LEXOPT_EOF | ISC_LEXOPT_DNSMULTILINE | ISC_LEXOPT_ESCAPE; - char *name; + char * name; unsigned long line; void (*callback)(dns_rdatacallbacks_t *, const char *, ...); isc_result_t tresult; unsigned int length; - bool unknown; + bool unknown; REQUIRE(origin == NULL || dns_name_isabsolute(origin) == true); if (rdata != NULL) { @@ -944,17 +925,16 @@ dns_rdata_fromtext(dns_rdata_t *rdata, dns_rdataclass_t rdclass, * treat it as a unknown record format. */ if (type == dns_rdatatype_txt) { - result = isc_lex_getmastertoken(lexer, &token, - isc_tokentype_number, - false); + result = isc_lex_getmastertoken( + lexer, &token, isc_tokentype_number, false); if (result == ISC_R_SUCCESS) isc_lex_ungettoken(lexer, &token); } if (result == ISC_R_SUCCESS) { unknown = true; - result = unknown_fromtext(rdclass, type, lexer, - mctx, target); + result = unknown_fromtext(rdclass, type, lexer, mctx, + target); } else options |= DNS_RDATA_UNKNOWNESCAPE; } else @@ -976,21 +956,21 @@ dns_rdata_fromtext(dns_rdata_t *rdata, dns_rdataclass_t rdclass, if (result == ISC_R_SUCCESS) result = tresult; if (callback != NULL) - fromtext_error(callback, callbacks, name, - line, NULL, result); + fromtext_error(callback, callbacks, name, line, + NULL, result); break; } else if (token.type != isc_tokentype_eol && token.type != isc_tokentype_eof) { if (result == ISC_R_SUCCESS) result = DNS_R_EXTRATOKEN; if (callback != NULL) { - fromtext_error(callback, callbacks, name, - line, &token, result); + fromtext_error(callback, callbacks, name, line, + &token, result); callback = NULL; } } else if (result != ISC_R_SUCCESS && callback != NULL) { - fromtext_error(callback, callbacks, name, line, - &token, result); + fromtext_error(callback, callbacks, name, line, &token, + result); break; } else { if (token.type == isc_tokentype_eof) @@ -1019,7 +999,7 @@ unknown_totext(dns_rdata_t *rdata, dns_rdata_textctx_t *tctx, isc_buffer_t *target) { isc_result_t result; - char buf[sizeof("65535")]; + char buf[sizeof("65535")]; isc_region_t sr; strlcpy(buf, "\\# ", sizeof(buf)); @@ -1047,8 +1027,7 @@ unknown_totext(dns_rdata_t *rdata, dns_rdata_textctx_t *tctx, result = isc_hex_totext(&sr, 0, "", target); else result = isc_hex_totext(&sr, tctx->width - 2, - tctx->linebreak, - target); + tctx->linebreak, target); if (result == ISC_R_SUCCESS && (tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) result = str_totext(" )", target); @@ -1061,7 +1040,7 @@ rdata_totext(dns_rdata_t *rdata, dns_rdata_textctx_t *tctx, isc_buffer_t *target) { isc_result_t result = ISC_R_NOTIMPLEMENTED; - bool use_default = false; + bool use_default = false; unsigned int cur; REQUIRE(rdata != NULL); @@ -1144,13 +1123,12 @@ dns_rdata_tofmttext(dns_rdata_t *rdata, const dns_name_t *origin, isc_result_t dns_rdata_fromstruct(dns_rdata_t *rdata, dns_rdataclass_t rdclass, - dns_rdatatype_t type, void *source, - isc_buffer_t *target) + dns_rdatatype_t type, void *source, isc_buffer_t *target) { isc_result_t result = ISC_R_NOTIMPLEMENTED; isc_buffer_t st; isc_region_t region; - bool use_default = false; + bool use_default = false; unsigned int length; REQUIRE(source != NULL); @@ -1181,9 +1159,10 @@ dns_rdata_fromstruct(dns_rdata_t *rdata, dns_rdataclass_t rdclass, } isc_result_t -dns_rdata_tostruct(const dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { +dns_rdata_tostruct(const dns_rdata_t *rdata, void *target, isc_mem_t *mctx) +{ isc_result_t result = ISC_R_NOTIMPLEMENTED; - bool use_default = false; + bool use_default = false; REQUIRE(rdata != NULL); REQUIRE(DNS_RDATA_VALIDFLAGS(rdata)); @@ -1197,7 +1176,8 @@ dns_rdata_tostruct(const dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { } void -dns_rdata_freestruct(void *source) { +dns_rdata_freestruct(void *source) +{ dns_rdatacommon_t *common = source; REQUIRE(common != NULL); @@ -1209,7 +1189,7 @@ dns_rdata_additionaldata(dns_rdata_t *rdata, dns_additionaldatafunc_t add, void *arg) { isc_result_t result = ISC_R_NOTIMPLEMENTED; - bool use_default = false; + bool use_default = false; /* * Call 'add' for each name and type from 'rdata' which is subject to @@ -1230,9 +1210,10 @@ dns_rdata_additionaldata(dns_rdata_t *rdata, dns_additionaldatafunc_t add, } isc_result_t -dns_rdata_digest(dns_rdata_t *rdata, dns_digestfunc_t digest, void *arg) { +dns_rdata_digest(dns_rdata_t *rdata, dns_digestfunc_t digest, void *arg) +{ isc_result_t result = ISC_R_NOTIMPLEMENTED; - bool use_default = false; + bool use_default = false; isc_region_t r; /* @@ -1283,9 +1264,10 @@ dns_rdatatype_attributes(dns_rdatatype_t type) } isc_result_t -dns_rdatatype_fromtext(dns_rdatatype_t *typep, isc_textregion_t *source) { - unsigned int hash; - unsigned int n; +dns_rdatatype_fromtext(dns_rdatatype_t *typep, isc_textregion_t *source) +{ + unsigned int hash; + unsigned int n; unsigned char a, b; n = source->length; @@ -1307,16 +1289,16 @@ dns_rdatatype_fromtext(dns_rdatatype_t *typep, isc_textregion_t *source) { if (source->length > 4 && source->length < (4 + sizeof("65000")) && strncasecmp("type", source->base, 4) == 0) { - char buf[sizeof("65000")]; - char *endp; + char buf[sizeof("65000")]; + char * endp; unsigned int val; /* * source->base is not required to be NUL terminated. * Copy up to remaining bytes and NUL terminate. */ - snprintf(buf, sizeof(buf), "%.*s", - (int)(source->length - 4), source->base + 4); + snprintf(buf, sizeof(buf), "%.*s", (int)(source->length - 4), + source->base + 4); val = strtoul(buf, &endp, 10); if (*endp == '\0' && val <= 0xffff) { *typep = (dns_rdatatype_t)val; @@ -1328,14 +1310,16 @@ dns_rdatatype_fromtext(dns_rdatatype_t *typep, isc_textregion_t *source) { } isc_result_t -dns_rdatatype_totext(dns_rdatatype_t type, isc_buffer_t *target) { +dns_rdatatype_totext(dns_rdatatype_t type, isc_buffer_t *target) +{ RDATATYPE_TOTEXT_SW return (dns_rdatatype_tounknowntext(type, target)); } isc_result_t -dns_rdatatype_tounknowntext(dns_rdatatype_t type, isc_buffer_t *target) { +dns_rdatatype_tounknowntext(dns_rdatatype_t type, isc_buffer_t *target) +{ char buf[sizeof("TYPE65535")]; snprintf(buf, sizeof(buf), "TYPE%u", type); @@ -1343,8 +1327,7 @@ dns_rdatatype_tounknowntext(dns_rdatatype_t type, isc_buffer_t *target) { } void -dns_rdatatype_format(dns_rdatatype_t rdtype, - char *array, unsigned int size) +dns_rdatatype_format(dns_rdatatype_t rdtype, char *array, unsigned int size) { isc_result_t result; isc_buffer_t buf; @@ -1372,17 +1355,19 @@ dns_rdatatype_format(dns_rdatatype_t rdtype, */ static unsigned int -name_length(const dns_name_t *name) { +name_length(const dns_name_t *name) +{ return (name->length); } static isc_result_t -txt_totext(isc_region_t *source, bool quote, isc_buffer_t *target) { - unsigned int tl; - unsigned int n; +txt_totext(isc_region_t *source, bool quote, isc_buffer_t *target) +{ + unsigned int tl; + unsigned int n; unsigned char *sp; - char *tp; - isc_region_t region; + char * tp; + isc_region_t region; isc_buffer_availableregion(target, ®ion); sp = source->base; @@ -1446,14 +1431,15 @@ txt_totext(isc_region_t *source, bool quote, isc_buffer_t *target) { } static isc_result_t -txt_fromtext(isc_textregion_t *source, isc_buffer_t *target) { - isc_region_t tregion; - bool escape; - unsigned int n, nrem; - char *s; +txt_fromtext(isc_textregion_t *source, isc_buffer_t *target) +{ + isc_region_t tregion; + bool escape; + unsigned int n, nrem; + char * s; unsigned char *t; - int d; - int c; + int d; + int c; isc_buffer_availableregion(target, &tregion); s = source->base; @@ -1499,8 +1485,8 @@ txt_fromtext(isc_textregion_t *source, isc_buffer_t *target) { } escape = false; if (nrem == 0) - return ((tregion.length <= 256U) ? - ISC_R_NOSPACE : DNS_R_SYNTAX); + return ((tregion.length <= 256U) ? ISC_R_NOSPACE + : DNS_R_SYNTAX); *t++ = c; nrem--; } @@ -1512,7 +1498,8 @@ txt_fromtext(isc_textregion_t *source, isc_buffer_t *target) { } static isc_result_t -txt_fromwire(isc_buffer_t *source, isc_buffer_t *target) { +txt_fromwire(isc_buffer_t *source, isc_buffer_t *target) +{ unsigned int n; isc_region_t sregion; isc_region_t tregion; @@ -1539,12 +1526,13 @@ txt_fromwire(isc_buffer_t *source, isc_buffer_t *target) { * Conversion of TXT-like rdata fields without length limits. */ static isc_result_t -multitxt_totext(isc_region_t *source, isc_buffer_t *target) { - unsigned int tl; - unsigned int n0, n; +multitxt_totext(isc_region_t *source, isc_buffer_t *target) +{ + unsigned int tl; + unsigned int n0, n; unsigned char *sp; - char *tp; - isc_region_t region; + char * tp; + isc_region_t region; isc_buffer_availableregion(target, ®ion); sp = source->base; @@ -1595,14 +1583,15 @@ multitxt_totext(isc_region_t *source, isc_buffer_t *target) { } static isc_result_t -multitxt_fromtext(isc_textregion_t *source, isc_buffer_t *target) { - isc_region_t tregion; - bool escape; - unsigned int n, nrem; - char *s; +multitxt_fromtext(isc_textregion_t *source, isc_buffer_t *target) +{ + isc_region_t tregion; + bool escape; + unsigned int n, nrem; + char * s; unsigned char *t0, *t; - int d; - int c; + int d; + int c; s = source->base; n = source->length; @@ -1655,7 +1644,8 @@ multitxt_fromtext(isc_textregion_t *source, isc_buffer_t *target) { } static bool -name_prefix(dns_name_t *name, const dns_name_t *origin, dns_name_t *target) { +name_prefix(dns_name_t *name, const dns_name_t *origin, dns_name_t *target) +{ int l1, l2; if (origin == NULL) @@ -1687,7 +1677,8 @@ return_false: } static isc_result_t -str_totext(const char *source, isc_buffer_t *target) { +str_totext(const char *source, isc_buffer_t *target) +{ unsigned int l; isc_region_t region; @@ -1703,7 +1694,8 @@ str_totext(const char *source, isc_buffer_t *target) { } static isc_result_t -inet_totext(int af, isc_region_t *src, isc_buffer_t *target) { +inet_totext(int af, isc_region_t *src, isc_buffer_t *target) +{ char tmpbuf[64]; /* Note - inet_ntop doesn't do size checking on its input. */ @@ -1716,19 +1708,22 @@ inet_totext(int af, isc_region_t *src, isc_buffer_t *target) { } static bool -buffer_empty(isc_buffer_t *source) { - return((source->current == source->active) ? true : false); +buffer_empty(isc_buffer_t *source) +{ + return ((source->current == source->active) ? true : false); } static void -buffer_fromregion(isc_buffer_t *buffer, isc_region_t *region) { +buffer_fromregion(isc_buffer_t *buffer, isc_region_t *region) +{ isc_buffer_init(buffer, region->base, region->length); isc_buffer_add(buffer, region->length); isc_buffer_setactive(buffer, region->length); } static isc_result_t -uint32_tobuffer(uint32_t value, isc_buffer_t *target) { +uint32_tobuffer(uint32_t value, isc_buffer_t *target) +{ isc_region_t region; isc_buffer_availableregion(target, ®ion); @@ -1739,7 +1734,8 @@ uint32_tobuffer(uint32_t value, isc_buffer_t *target) { } static isc_result_t -uint16_tobuffer(uint32_t value, isc_buffer_t *target) { +uint16_tobuffer(uint32_t value, isc_buffer_t *target) +{ isc_region_t region; if (value > 0xffff) @@ -1752,7 +1748,8 @@ uint16_tobuffer(uint32_t value, isc_buffer_t *target) { } static isc_result_t -uint8_tobuffer(uint32_t value, isc_buffer_t *target) { +uint8_tobuffer(uint32_t value, isc_buffer_t *target) +{ isc_region_t region; if (value > 0xff) @@ -1765,14 +1762,16 @@ uint8_tobuffer(uint32_t value, isc_buffer_t *target) { } static isc_result_t -name_tobuffer(const dns_name_t *name, isc_buffer_t *target) { +name_tobuffer(const dns_name_t *name, isc_buffer_t *target) +{ isc_region_t r; dns_name_toregion(name, &r); return (isc_buffer_copyregion(target, &r)); } static uint32_t -uint32_fromregion(isc_region_t *region) { +uint32_fromregion(isc_region_t *region) +{ uint32_t value; REQUIRE(region->length >= 4); @@ -1780,11 +1779,12 @@ uint32_fromregion(isc_region_t *region) { value |= (uint32_t)region->base[1] << 16; value |= (uint32_t)region->base[2] << 8; value |= (uint32_t)region->base[3]; - return(value); + return (value); } static uint16_t -uint16_consume_fromregion(isc_region_t *region) { +uint16_consume_fromregion(isc_region_t *region) +{ uint16_t r = uint16_fromregion(region); isc_region_consume(region, 2); @@ -1792,23 +1792,24 @@ uint16_consume_fromregion(isc_region_t *region) { } static uint16_t -uint16_fromregion(isc_region_t *region) { - +uint16_fromregion(isc_region_t *region) +{ REQUIRE(region->length >= 2); return ((region->base[0] << 8) | region->base[1]); } static uint8_t -uint8_fromregion(isc_region_t *region) { - +uint8_fromregion(isc_region_t *region) +{ REQUIRE(region->length >= 1); return (region->base[0]); } static uint8_t -uint8_consume_fromregion(isc_region_t *region) { +uint8_consume_fromregion(isc_region_t *region) +{ uint8_t r = uint8_fromregion(region); isc_region_consume(region, 1); @@ -1816,7 +1817,8 @@ uint8_consume_fromregion(isc_region_t *region) { } static isc_result_t -mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length) { +mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length) +{ isc_region_t tr; if (length == 0U) @@ -1832,8 +1834,9 @@ mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length) { } static int -hexvalue(char value) { - const char *s; +hexvalue(char value) +{ + const char * s; unsigned char c; c = (unsigned char)value; @@ -1848,7 +1851,8 @@ hexvalue(char value) { } static int -decvalue(char value) { +decvalue(char value) +{ const char *s; /* @@ -1863,8 +1867,7 @@ decvalue(char value) { } static void -default_fromtext_callback(dns_rdatacallbacks_t *callbacks, const char *fmt, - ...) +default_fromtext_callback(dns_rdatacallbacks_t *callbacks, const char *fmt, ...) { va_list ap; @@ -1877,7 +1880,8 @@ default_fromtext_callback(dns_rdatacallbacks_t *callbacks, const char *fmt, } static void -fromtext_warneof(isc_lex_t *lexer, dns_rdatacallbacks_t *callbacks) { +fromtext_warneof(isc_lex_t *lexer, dns_rdatacallbacks_t *callbacks) +{ if (isc_lex_isfile(lexer) && callbacks != NULL) { const char *name = isc_lex_getsourcename(lexer); if (name == NULL) @@ -1892,14 +1896,14 @@ static void warn_badmx(isc_token_t *token, isc_lex_t *lexer, dns_rdatacallbacks_t *callbacks) { - const char *file; + const char * file; unsigned long line; if (lexer != NULL) { file = isc_lex_getsourcename(lexer); line = isc_lex_getsourceline(lexer); - (*callbacks->warn)(callbacks, "%s:%u: warning: '%s': %s", - file, line, DNS_AS_STR(*token), + (*callbacks->warn)(callbacks, "%s:%u: warning: '%s': %s", file, + line, DNS_AS_STR(*token), dns_result_totext(DNS_R_MXISADDRESS)); } } @@ -1908,16 +1912,16 @@ static void warn_badname(const dns_name_t *name, isc_lex_t *lexer, dns_rdatacallbacks_t *callbacks) { - const char *file; + const char * file; unsigned long line; - char namebuf[DNS_NAME_FORMATSIZE]; + char namebuf[DNS_NAME_FORMATSIZE]; if (lexer != NULL) { file = isc_lex_getsourcename(lexer); line = isc_lex_getsourceline(lexer); dns_name_format(name, namebuf, sizeof(namebuf)); - (*callbacks->warn)(callbacks, "%s:%u: warning: %s: %s", - file, line, namebuf, + (*callbacks->warn)(callbacks, "%s:%u: warning: %s: %s", file, + line, namebuf, dns_result_totext(DNS_R_BADNAME)); } } @@ -1962,51 +1966,56 @@ fromtext_error(void (*callback)(dns_rdatacallbacks_t *, const char *, ...), break; } } else { - (*callback)(callbacks, "dns_rdata_fromtext: %s:%lu: %s", - name, line, dns_result_totext(result)); + (*callback)(callbacks, "dns_rdata_fromtext: %s:%lu: %s", name, + line, dns_result_totext(result)); } } dns_rdatatype_t -dns_rdata_covers(dns_rdata_t *rdata) { +dns_rdata_covers(dns_rdata_t *rdata) +{ if (rdata->type == dns_rdatatype_rrsig) return (covers_rrsig(rdata)); return (covers_sig(rdata)); } bool -dns_rdatatype_ismeta(dns_rdatatype_t type) { +dns_rdatatype_ismeta(dns_rdatatype_t type) +{ if ((dns_rdatatype_attributes(type) & DNS_RDATATYPEATTR_META) != 0) return (true); return (false); } bool -dns_rdatatype_issingleton(dns_rdatatype_t type) { - if ((dns_rdatatype_attributes(type) & DNS_RDATATYPEATTR_SINGLETON) - != 0) +dns_rdatatype_issingleton(dns_rdatatype_t type) +{ + if ((dns_rdatatype_attributes(type) & DNS_RDATATYPEATTR_SINGLETON) != 0) return (true); return (false); } bool -dns_rdatatype_notquestion(dns_rdatatype_t type) { - if ((dns_rdatatype_attributes(type) & DNS_RDATATYPEATTR_NOTQUESTION) - != 0) +dns_rdatatype_notquestion(dns_rdatatype_t type) +{ + if ((dns_rdatatype_attributes(type) & DNS_RDATATYPEATTR_NOTQUESTION) != + 0) return (true); return (false); } bool -dns_rdatatype_questiononly(dns_rdatatype_t type) { - if ((dns_rdatatype_attributes(type) & DNS_RDATATYPEATTR_QUESTIONONLY) - != 0) +dns_rdatatype_questiononly(dns_rdatatype_t type) +{ + if ((dns_rdatatype_attributes(type) & DNS_RDATATYPEATTR_QUESTIONONLY) != + 0) return (true); return (false); } bool -dns_rdatatype_atcname(dns_rdatatype_t type) { +dns_rdatatype_atcname(dns_rdatatype_t type) +{ if ((dns_rdatatype_attributes(type) & DNS_RDATATYPEATTR_ATCNAME) != 0) { return (true); } @@ -2014,51 +2023,52 @@ dns_rdatatype_atcname(dns_rdatatype_t type) { } bool -dns_rdatatype_atparent(dns_rdatatype_t type) { +dns_rdatatype_atparent(dns_rdatatype_t type) +{ if ((dns_rdatatype_attributes(type) & DNS_RDATATYPEATTR_ATPARENT) != 0) return (true); return (false); } bool -dns_rdataclass_ismeta(dns_rdataclass_t rdclass) { - - if (rdclass == dns_rdataclass_reserved0 - || rdclass == dns_rdataclass_none - || rdclass == dns_rdataclass_any) +dns_rdataclass_ismeta(dns_rdataclass_t rdclass) +{ + if (rdclass == dns_rdataclass_reserved0 || + rdclass == dns_rdataclass_none || rdclass == dns_rdataclass_any) return (true); - return (false); /* Assume it is not a meta class. */ + return (false); /* Assume it is not a meta class. */ } bool -dns_rdatatype_isdnssec(dns_rdatatype_t type) { +dns_rdatatype_isdnssec(dns_rdatatype_t type) +{ if ((dns_rdatatype_attributes(type) & DNS_RDATATYPEATTR_DNSSEC) != 0) return (true); return (false); } bool -dns_rdatatype_iszonecutauth(dns_rdatatype_t type) { - if ((dns_rdatatype_attributes(type) & DNS_RDATATYPEATTR_ZONECUTAUTH) - != 0) - { +dns_rdatatype_iszonecutauth(dns_rdatatype_t type) +{ + if ((dns_rdatatype_attributes(type) & DNS_RDATATYPEATTR_ZONECUTAUTH) != + 0) { return (true); } return (false); } bool -dns_rdatatype_isknown(dns_rdatatype_t type) { - if ((dns_rdatatype_attributes(type) & DNS_RDATATYPEATTR_UNKNOWN) - == 0) +dns_rdatatype_isknown(dns_rdatatype_t type) +{ + if ((dns_rdatatype_attributes(type) & DNS_RDATATYPEATTR_UNKNOWN) == 0) return (true); return (false); } void -dns_rdata_exists(dns_rdata_t *rdata, dns_rdatatype_t type) { - +dns_rdata_exists(dns_rdata_t *rdata, dns_rdatatype_t type) +{ REQUIRE(rdata != NULL); REQUIRE(DNS_RDATA_INITIALIZED(rdata)); @@ -2070,8 +2080,8 @@ dns_rdata_exists(dns_rdata_t *rdata, dns_rdatatype_t type) { } void -dns_rdata_notexist(dns_rdata_t *rdata, dns_rdatatype_t type) { - +dns_rdata_notexist(dns_rdata_t *rdata, dns_rdatatype_t type) +{ REQUIRE(rdata != NULL); REQUIRE(DNS_RDATA_INITIALIZED(rdata)); @@ -2083,8 +2093,8 @@ dns_rdata_notexist(dns_rdata_t *rdata, dns_rdatatype_t type) { } void -dns_rdata_deleterrset(dns_rdata_t *rdata, dns_rdatatype_t type) { - +dns_rdata_deleterrset(dns_rdata_t *rdata, dns_rdatatype_t type) +{ REQUIRE(rdata != NULL); REQUIRE(DNS_RDATA_INITIALIZED(rdata)); @@ -2096,15 +2106,16 @@ dns_rdata_deleterrset(dns_rdata_t *rdata, dns_rdatatype_t type) { } void -dns_rdata_makedelete(dns_rdata_t *rdata) { +dns_rdata_makedelete(dns_rdata_t *rdata) +{ REQUIRE(rdata != NULL); rdata->rdclass = dns_rdataclass_none; } const char * -dns_rdata_updateop(dns_rdata_t *rdata, dns_section_t section) { - +dns_rdata_updateop(dns_rdata_t *rdata, dns_section_t section) +{ REQUIRE(rdata != NULL); REQUIRE(DNS_RDATA_INITIALIZED(rdata)); diff --git a/lib/dns/rdata/any_255/tsig_250.c b/lib/dns/rdata/any_255/tsig_250.c index 3337ad08dc..a19d9e71ce 100644 --- a/lib/dns/rdata/any_255/tsig_250.c +++ b/lib/dns/rdata/any_255/tsig_250.c @@ -15,15 +15,15 @@ #define RRTYPE_TSIG_ATTRIBUTES \ (DNS_RDATATYPEATTR_META | DNS_RDATATYPEATTR_NOTQUESTION) -static inline isc_result_t -fromtext_any_tsig(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; - uint64_t sigtime; +static inline isc_result_t fromtext_any_tsig(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; + uint64_t sigtime; isc_buffer_t buffer; - dns_rcode_t rcode; - long i; - char *e; + dns_rcode_t rcode; + long i; + char * e; REQUIRE(type == dns_rdatatype_tsig); REQUIRE(rdclass == dns_rdataclass_any); @@ -93,9 +93,8 @@ fromtext_any_tsig(ARGS_FROMTEXT) { */ RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string, false)); - if (dns_tsigrcode_fromtext(&rcode, &token.value.as_textregion) - != ISC_R_SUCCESS) - { + if (dns_tsigrcode_fromtext(&rcode, &token.value.as_textregion) != + ISC_R_SUCCESS) { i = strtol(DNS_AS_STR(token), &e, 10); if (*e != 0) RETTOK(DNS_R_UNKNOWN); @@ -120,16 +119,16 @@ fromtext_any_tsig(ARGS_FROMTEXT) { return (isc_base64_tobuffer(lexer, target, (int)token.value.as_ulong)); } -static inline isc_result_t -totext_any_tsig(ARGS_TOTEXT) { - isc_region_t sr; - isc_region_t sigr; - char buf[sizeof(" 281474976710655 ")]; - char *bufp; - dns_name_t name; - dns_name_t prefix; - bool sub; - uint64_t sigtime; +static inline isc_result_t totext_any_tsig(ARGS_TOTEXT) +{ + isc_region_t sr; + isc_region_t sigr; + char buf[sizeof(" 281474976710655 ")]; + char * bufp; + dns_name_t name; + dns_name_t prefix; + bool sub; + uint64_t sigtime; unsigned short n; REQUIRE(rdata->type == dns_rdatatype_tsig); @@ -151,12 +150,9 @@ totext_any_tsig(ARGS_TOTEXT) { /* * Time Signed. */ - sigtime = ((uint64_t)sr.base[0] << 40) | - ((uint64_t)sr.base[1] << 32) | - ((uint64_t)sr.base[2] << 24) | - ((uint64_t)sr.base[3] << 16) | - ((uint64_t)sr.base[4] << 8) | - (uint64_t)sr.base[5]; + sigtime = ((uint64_t)sr.base[0] << 40) | ((uint64_t)sr.base[1] << 32) | + ((uint64_t)sr.base[2] << 24) | ((uint64_t)sr.base[3] << 16) | + ((uint64_t)sr.base[4] << 8) | (uint64_t)sr.base[5]; isc_region_consume(&sr, 6); bufp = &buf[sizeof(buf) - 1]; *bufp-- = 0; @@ -194,7 +190,7 @@ totext_any_tsig(ARGS_TOTEXT) { if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) RETERR(str_totext(" (", target)); RETERR(str_totext(tctx->linebreak, target)); - if (tctx->width == 0) /* No splitting */ + if (tctx->width == 0) /* No splitting */ RETERR(isc_base64_totext(&sigr, 60, "", target)); else RETERR(isc_base64_totext(&sigr, tctx->width - 2, @@ -234,16 +230,16 @@ totext_any_tsig(ARGS_TOTEXT) { /* * Other. */ - if (tctx->width == 0) /* No splitting */ + if (tctx->width == 0) /* No splitting */ return (isc_base64_totext(&sr, 60, "", target)); else return (isc_base64_totext(&sr, 60, " ", target)); } -static inline isc_result_t -fromwire_any_tsig(ARGS_FROMWIRE) { - isc_region_t sr; - dns_name_t name; +static inline isc_result_t fromwire_any_tsig(ARGS_FROMWIRE) +{ + isc_region_t sr; + dns_name_t name; unsigned long n; REQUIRE(type == dns_rdatatype_tsig); @@ -287,7 +283,7 @@ fromwire_any_tsig(ARGS_FROMWIRE) { */ if (sr.length < 4) return (ISC_R_UNEXPECTEDEND); - RETERR(mem_tobuffer(target, sr.base, 4)); + RETERR(mem_tobuffer(target, sr.base, 4)); isc_region_consume(&sr, 4); isc_buffer_forward(source, 4); @@ -303,10 +299,10 @@ fromwire_any_tsig(ARGS_FROMWIRE) { return (mem_tobuffer(target, sr.base, n + 2)); } -static inline isc_result_t -towire_any_tsig(ARGS_TOWIRE) { - isc_region_t sr; - dns_name_t name; +static inline isc_result_t towire_any_tsig(ARGS_TOWIRE) +{ + isc_region_t sr; + dns_name_t name; dns_offsets_t offsets; REQUIRE(rdata->type == dns_rdatatype_tsig); @@ -322,13 +318,13 @@ towire_any_tsig(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_any_tsig(ARGS_COMPARE) { +static inline int compare_any_tsig(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; - dns_name_t name1; - dns_name_t name2; - int order; + dns_name_t name1; + dns_name_t name2; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -351,10 +347,10 @@ compare_any_tsig(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_any_tsig(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_any_tsig(ARGS_FROMSTRUCT) +{ dns_rdata_any_tsig_t *tsig = source; - isc_region_t tr; + isc_region_t tr; REQUIRE(type == dns_rdatatype_tsig); REQUIRE(rdclass == dns_rdataclass_any); @@ -377,8 +373,7 @@ fromstruct_any_tsig(ARGS_FROMSTRUCT) { /* * Time Signed: 48 bits. */ - RETERR(uint16_tobuffer((uint16_t)(tsig->timesigned >> 32), - target)); + RETERR(uint16_tobuffer((uint16_t)(tsig->timesigned >> 32), target)); RETERR(uint32_tobuffer((uint32_t)(tsig->timesigned & 0xffffffffU), target)); @@ -422,17 +417,17 @@ fromstruct_any_tsig(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, tsig->other, tsig->otherlen)); } -static inline isc_result_t -tostruct_any_tsig(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_any_tsig(ARGS_TOSTRUCT) +{ dns_rdata_any_tsig_t *tsig; - dns_name_t alg; - isc_region_t sr; + dns_name_t alg; + isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_tsig); REQUIRE(rdata->rdclass == dns_rdataclass_any); REQUIRE(rdata->length != 0); - tsig = (dns_rdata_any_tsig_t *) target; + tsig = (dns_rdata_any_tsig_t *)target; tsig->common.rdclass = rdata->rdclass; tsig->common.rdtype = rdata->type; ISC_LINK_INIT(&tsig->common, link); @@ -453,12 +448,10 @@ tostruct_any_tsig(ARGS_TOSTRUCT) { * Time Signed. */ INSIST(sr.length >= 6); - tsig->timesigned = ((uint64_t)sr.base[0] << 40) | - ((uint64_t)sr.base[1] << 32) | - ((uint64_t)sr.base[2] << 24) | - ((uint64_t)sr.base[3] << 16) | - ((uint64_t)sr.base[4] << 8) | - (uint64_t)sr.base[5]; + tsig->timesigned = + ((uint64_t)sr.base[0] << 40) | ((uint64_t)sr.base[1] << 32) | + ((uint64_t)sr.base[2] << 24) | ((uint64_t)sr.base[3] << 16) | + ((uint64_t)sr.base[4] << 8) | (uint64_t)sr.base[5]; isc_region_consume(&sr, 6); /* @@ -511,7 +504,7 @@ tostruct_any_tsig(ARGS_TOSTRUCT) { tsig->mctx = mctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (mctx != NULL) dns_name_free(&tsig->algorithm, tsig->mctx); if (mctx != NULL && tsig->signature != NULL) @@ -519,9 +512,9 @@ tostruct_any_tsig(ARGS_TOSTRUCT) { return (ISC_R_NOMEMORY); } -static inline void -freestruct_any_tsig(ARGS_FREESTRUCT) { - dns_rdata_any_tsig_t *tsig = (dns_rdata_any_tsig_t *) source; +static inline void freestruct_any_tsig(ARGS_FREESTRUCT) +{ + dns_rdata_any_tsig_t *tsig = (dns_rdata_any_tsig_t *)source; REQUIRE(tsig != NULL); REQUIRE(tsig->common.rdtype == dns_rdatatype_tsig); @@ -538,8 +531,8 @@ freestruct_any_tsig(ARGS_FREESTRUCT) { tsig->mctx = NULL; } -static inline isc_result_t -additionaldata_any_tsig(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_any_tsig(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_tsig); REQUIRE(rdata->rdclass == dns_rdataclass_any); @@ -550,9 +543,8 @@ additionaldata_any_tsig(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_any_tsig(ARGS_DIGEST) { - +static inline isc_result_t digest_any_tsig(ARGS_DIGEST) +{ REQUIRE(rdata->type == dns_rdatatype_tsig); REQUIRE(rdata->rdclass == dns_rdataclass_any); @@ -563,9 +555,8 @@ digest_any_tsig(ARGS_DIGEST) { return (ISC_R_NOTIMPLEMENTED); } -static inline bool -checkowner_any_tsig(ARGS_CHECKOWNER) { - +static inline bool checkowner_any_tsig(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_tsig); REQUIRE(rdclass == dns_rdataclass_any); @@ -577,9 +568,8 @@ checkowner_any_tsig(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_any_tsig(ARGS_CHECKNAMES) { - +static inline bool checknames_any_tsig(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_tsig); REQUIRE(rdata->rdclass == dns_rdataclass_any); @@ -590,9 +580,9 @@ checknames_any_tsig(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_any_tsig(ARGS_COMPARE) { +static inline int casecompare_any_tsig(ARGS_COMPARE) +{ return (compare_any_tsig(rdata1, rdata2)); } -#endif /* RDATA_ANY_255_TSIG_250_C */ +#endif /* RDATA_ANY_255_TSIG_250_C */ diff --git a/lib/dns/rdata/any_255/tsig_250.h b/lib/dns/rdata/any_255/tsig_250.h index 6ace1d2f8b..f7ff687a66 100644 --- a/lib/dns/rdata/any_255/tsig_250.h +++ b/lib/dns/rdata/any_255/tsig_250.h @@ -9,23 +9,22 @@ * information regarding copyright ownership. */ - #ifndef ANY_255_TSIG_250_H #define ANY_255_TSIG_250_H 1 /*% RFC2845 */ typedef struct dns_rdata_any_tsig { - dns_rdatacommon_t common; - isc_mem_t * mctx; - dns_name_t algorithm; - uint64_t timesigned; - uint16_t fudge; - uint16_t siglen; - unsigned char * signature; - uint16_t originalid; - uint16_t error; - uint16_t otherlen; - unsigned char * other; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t algorithm; + uint64_t timesigned; + uint16_t fudge; + uint16_t siglen; + unsigned char * signature; + uint16_t originalid; + uint16_t error; + uint16_t otherlen; + unsigned char * other; } dns_rdata_any_tsig_t; #endif /* ANY_255_TSIG_250_H */ diff --git a/lib/dns/rdata/ch_3/a_1.c b/lib/dns/rdata/ch_3/a_1.c index be1b489ef4..b210b412ef 100644 --- a/lib/dns/rdata/ch_3/a_1.c +++ b/lib/dns/rdata/ch_3/a_1.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* by Bjorn.Victor@it.uu.se, 2005-05-07 */ /* Based on generic/soa_6.c and generic/mx_15.c */ @@ -20,10 +19,10 @@ #define RRTYPE_A_ATTRIBUTES (0) -static inline isc_result_t -fromtext_ch_a(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_ch_a(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; REQUIRE(type == dns_rdatatype_a); @@ -58,14 +57,14 @@ fromtext_ch_a(ARGS_FROMTEXT) { return (uint16_tobuffer(token.value.as_ulong, target)); } -static inline isc_result_t -totext_ch_a(ARGS_TOTEXT) { +static inline isc_result_t totext_ch_a(ARGS_TOTEXT) +{ isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; - char buf[sizeof("0177777")]; - uint16_t addr; + dns_name_t name; + dns_name_t prefix; + bool sub; + char buf[sizeof("0177777")]; + uint16_t addr; REQUIRE(rdata->type == dns_rdatatype_a); REQUIRE(rdata->rdclass == dns_rdataclass_ch); /* 3 */ @@ -87,11 +86,11 @@ totext_ch_a(ARGS_TOTEXT) { return (str_totext(buf, target)); } -static inline isc_result_t -fromwire_ch_a(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_ch_a(ARGS_FROMWIRE) +{ isc_region_t sregion; isc_region_t tregion; - dns_name_t name; + dns_name_t name; REQUIRE(type == dns_rdatatype_a); REQUIRE(rdclass == dns_rdataclass_ch); @@ -119,12 +118,12 @@ fromwire_ch_a(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_ch_a(ARGS_TOWIRE) { - dns_name_t name; +static inline isc_result_t towire_ch_a(ARGS_TOWIRE) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t sregion; - isc_region_t tregion; + isc_region_t sregion; + isc_region_t tregion; REQUIRE(rdata->type == dns_rdatatype_a); REQUIRE(rdata->rdclass == dns_rdataclass_ch); @@ -149,13 +148,13 @@ towire_ch_a(ARGS_TOWIRE) { return (ISC_R_SUCCESS); } -static inline int -compare_ch_a(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int compare_ch_a(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; - int order; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -185,10 +184,10 @@ compare_ch_a(ARGS_COMPARE) { return (order); } -static inline isc_result_t -fromstruct_ch_a(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_ch_a(ARGS_FROMSTRUCT) +{ dns_rdata_ch_a_t *a = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_a); REQUIRE(a != NULL); @@ -204,11 +203,11 @@ fromstruct_ch_a(ARGS_FROMSTRUCT) { return (uint16_tobuffer(ntohs(a->ch_addr), target)); } -static inline isc_result_t -tostruct_ch_a(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_ch_a(ARGS_TOSTRUCT) +{ dns_rdata_ch_a_t *a = target; - isc_region_t region; - dns_name_t name; + isc_region_t region; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_a); REQUIRE(rdata->rdclass == dns_rdataclass_ch); @@ -231,8 +230,8 @@ tostruct_ch_a(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_ch_a(ARGS_FREESTRUCT) { +static inline void freestruct_ch_a(ARGS_FREESTRUCT) +{ dns_rdata_ch_a_t *a = source; REQUIRE(a != NULL); @@ -245,9 +244,8 @@ freestruct_ch_a(ARGS_FREESTRUCT) { a->mctx = NULL; } -static inline isc_result_t -additionaldata_ch_a(ARGS_ADDLDATA) { - +static inline isc_result_t additionaldata_ch_a(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_a); REQUIRE(rdata->rdclass == dns_rdataclass_ch); @@ -258,10 +256,10 @@ additionaldata_ch_a(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_ch_a(ARGS_DIGEST) { +static inline isc_result_t digest_ch_a(ARGS_DIGEST) +{ isc_region_t r; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_a); REQUIRE(rdata->rdclass == dns_rdataclass_ch); @@ -274,9 +272,8 @@ digest_ch_a(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_ch_a(ARGS_CHECKOWNER) { - +static inline bool checkowner_ch_a(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_a); REQUIRE(rdclass == dns_rdataclass_ch); @@ -285,10 +282,10 @@ checkowner_ch_a(ARGS_CHECKOWNER) { return (dns_name_ishostname(name, wildcard)); } -static inline bool -checknames_ch_a(ARGS_CHECKNAMES) { +static inline bool checknames_ch_a(ARGS_CHECKNAMES) +{ isc_region_t region; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_a); REQUIRE(rdata->rdclass == dns_rdataclass_ch); @@ -307,8 +304,8 @@ checknames_ch_a(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_ch_a(ARGS_COMPARE) { +static inline int casecompare_ch_a(ARGS_COMPARE) +{ return (compare_ch_a(rdata1, rdata2)); } -#endif /* RDATA_CH_3_A_1_C */ +#endif /* RDATA_CH_3_A_1_C */ diff --git a/lib/dns/rdata/ch_3/a_1.h b/lib/dns/rdata/ch_3/a_1.h index a9695349d0..d43df916bd 100644 --- a/lib/dns/rdata/ch_3/a_1.h +++ b/lib/dns/rdata/ch_3/a_1.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* by Bjorn.Victor@it.uu.se, 2005-05-07 */ /* Based on generic/mx_15.h */ @@ -19,10 +18,10 @@ typedef uint16_t ch_addr_t; typedef struct dns_rdata_ch_a { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t ch_addr_dom; /* ch-addr domain for back mapping */ - ch_addr_t ch_addr; /* chaos address (16 bit) network order */ + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t ch_addr_dom; /* ch-addr domain for back mapping */ + ch_addr_t ch_addr; /* chaos address (16 bit) network order */ } dns_rdata_ch_a_t; #endif /* CH_3_A_1_H */ diff --git a/lib/dns/rdata/generic/afsdb_18.c b/lib/dns/rdata/generic/afsdb_18.c index 2c924b9f8d..4e6685c100 100644 --- a/lib/dns/rdata/generic/afsdb_18.c +++ b/lib/dns/rdata/generic/afsdb_18.c @@ -16,12 +16,12 @@ #define RRTYPE_AFSDB_ATTRIBUTES (0) -static inline isc_result_t -fromtext_afsdb(ARGS_FROMTEXT) { - isc_token_t token; +static inline isc_result_t fromtext_afsdb(ARGS_FROMTEXT) +{ + isc_token_t token; isc_buffer_t buffer; - dns_name_t name; - bool ok; + dns_name_t name; + bool ok; REQUIRE(type == dns_rdatatype_afsdb); @@ -58,13 +58,13 @@ fromtext_afsdb(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_afsdb(ARGS_TOTEXT) { - dns_name_t name; - dns_name_t prefix; +static inline isc_result_t totext_afsdb(ARGS_TOTEXT) +{ + dns_name_t name; + dns_name_t prefix; isc_region_t region; - char buf[sizeof("64000 ")]; - bool sub; + char buf[sizeof("64000 ")]; + bool sub; unsigned int num; REQUIRE(rdata->type == dns_rdatatype_afsdb); @@ -83,9 +83,9 @@ totext_afsdb(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_afsdb(ARGS_FROMWIRE) { - dns_name_t name; +static inline isc_result_t fromwire_afsdb(ARGS_FROMWIRE) +{ + dns_name_t name; isc_region_t sr; isc_region_t tr; @@ -110,11 +110,11 @@ fromwire_afsdb(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_afsdb(ARGS_TOWIRE) { - isc_region_t tr; - isc_region_t sr; - dns_name_t name; +static inline isc_result_t towire_afsdb(ARGS_TOWIRE) +{ + isc_region_t tr; + isc_region_t sr; + dns_name_t name; dns_offsets_t offsets; REQUIRE(rdata->type == dns_rdatatype_afsdb); @@ -135,11 +135,11 @@ towire_afsdb(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_afsdb(ARGS_COMPARE) { - int result; - dns_name_t name1; - dns_name_t name2; +static inline int compare_afsdb(ARGS_COMPARE) +{ + int result; + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; @@ -168,10 +168,10 @@ compare_afsdb(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_afsdb(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_afsdb(ARGS_FROMSTRUCT) +{ dns_rdata_afsdb_t *afsdb = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_afsdb); REQUIRE(afsdb != NULL); @@ -186,11 +186,11 @@ fromstruct_afsdb(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_afsdb(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_afsdb(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_afsdb_t *afsdb = target; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_afsdb); REQUIRE(afsdb != NULL); @@ -215,8 +215,8 @@ tostruct_afsdb(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_afsdb(ARGS_FREESTRUCT) { +static inline void freestruct_afsdb(ARGS_FREESTRUCT) +{ dns_rdata_afsdb_t *afsdb = source; REQUIRE(afsdb != NULL); @@ -229,11 +229,11 @@ freestruct_afsdb(ARGS_FREESTRUCT) { afsdb->mctx = NULL; } -static inline isc_result_t -additionaldata_afsdb(ARGS_ADDLDATA) { - dns_name_t name; +static inline isc_result_t additionaldata_afsdb(ARGS_ADDLDATA) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_afsdb); @@ -245,10 +245,10 @@ additionaldata_afsdb(ARGS_ADDLDATA) { return ((add)(arg, &name, dns_rdatatype_a)); } -static inline isc_result_t -digest_afsdb(ARGS_DIGEST) { +static inline isc_result_t digest_afsdb(ARGS_DIGEST) +{ isc_region_t r1, r2; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_afsdb); @@ -263,9 +263,8 @@ digest_afsdb(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_afsdb(ARGS_CHECKOWNER) { - +static inline bool checkowner_afsdb(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_afsdb); UNUSED(name); @@ -276,10 +275,10 @@ checkowner_afsdb(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_afsdb(ARGS_CHECKNAMES) { +static inline bool checknames_afsdb(ARGS_CHECKNAMES) +{ isc_region_t region; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_afsdb); @@ -297,8 +296,8 @@ checknames_afsdb(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_afsdb(ARGS_COMPARE) { +static inline int casecompare_afsdb(ARGS_COMPARE) +{ return (compare_afsdb(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_AFSDB_18_C */ +#endif /* RDATA_GENERIC_AFSDB_18_C */ diff --git a/lib/dns/rdata/generic/afsdb_18.h b/lib/dns/rdata/generic/afsdb_18.h index 24da1aab1b..79633caacc 100644 --- a/lib/dns/rdata/generic/afsdb_18.h +++ b/lib/dns/rdata/generic/afsdb_18.h @@ -12,16 +12,14 @@ #ifndef GENERIC_AFSDB_18_H #define GENERIC_AFSDB_18_H 1 - /*! * \brief Per RFC1183 */ typedef struct dns_rdata_afsdb { - dns_rdatacommon_t common; - isc_mem_t *mctx; - uint16_t subtype; - dns_name_t server; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint16_t subtype; + dns_name_t server; } dns_rdata_afsdb_t; #endif /* GENERIC_AFSDB_18_H */ - diff --git a/lib/dns/rdata/generic/amtrelay_260.c b/lib/dns/rdata/generic/amtrelay_260.c index ca266383a3..4f013893cb 100644 --- a/lib/dns/rdata/generic/amtrelay_260.c +++ b/lib/dns/rdata/generic/amtrelay_260.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef RDATA_GENERIC_AMTRELAY_260_C #define RDATA_GENERIC_AMTRELAY_260_C @@ -19,16 +18,16 @@ #define RRTYPE_AMTRELAY_ATTRIBUTES (0) -static inline isc_result_t -fromtext_amtrelay(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; - isc_buffer_t buffer; - unsigned int discovery; - unsigned int gateway; +static inline isc_result_t fromtext_amtrelay(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; + isc_buffer_t buffer; + unsigned int discovery; + unsigned int gateway; struct in_addr addr; - unsigned char addr6[16]; - isc_region_t region; + unsigned char addr6[16]; + isc_region_t region; REQUIRE(type == dns_rdatatype_amtrelay); @@ -119,15 +118,15 @@ fromtext_amtrelay(ARGS_FROMTEXT) { } } -static inline isc_result_t -totext_amtrelay(ARGS_TOTEXT) { - isc_region_t region; - dns_name_t name; - char buf[sizeof("0 255 ")]; +static inline isc_result_t totext_amtrelay(ARGS_TOTEXT) +{ + isc_region_t region; + dns_name_t name; + char buf[sizeof("0 255 ")]; unsigned char precedence; unsigned char discovery; unsigned char gateway; - const char *space; + const char * space; UNUSED(tctx); @@ -181,9 +180,9 @@ totext_amtrelay(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_amtrelay(ARGS_FROMWIRE) { - dns_name_t name; +static inline isc_result_t fromwire_amtrelay(ARGS_FROMWIRE) +{ + dns_name_t name; isc_region_t region; REQUIRE(type == dns_rdatatype_amtrelay); @@ -232,8 +231,8 @@ fromwire_amtrelay(ARGS_FROMWIRE) { } } -static inline isc_result_t -towire_amtrelay(ARGS_TOWIRE) { +static inline isc_result_t towire_amtrelay(ARGS_TOWIRE) +{ isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_amtrelay); @@ -245,8 +244,8 @@ towire_amtrelay(ARGS_TOWIRE) { return (mem_tobuffer(target, region.base, region.length)); } -static inline int -compare_amtrelay(ARGS_COMPARE) { +static inline int compare_amtrelay(ARGS_COMPARE) +{ isc_region_t region1; isc_region_t region2; @@ -262,11 +261,11 @@ compare_amtrelay(ARGS_COMPARE) { return (isc_region_compare(®ion1, ®ion2)); } -static inline isc_result_t -fromstruct_amtrelay(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_amtrelay(ARGS_FROMSTRUCT) +{ dns_rdata_amtrelay_t *amtrelay = source; - isc_region_t region; - uint32_t n; + isc_region_t region; + uint32_t n; REQUIRE(type == dns_rdatatype_amtrelay); REQUIRE(amtrelay != NULL); @@ -280,7 +279,7 @@ fromstruct_amtrelay(ARGS_FROMSTRUCT) { n = (amtrelay->discovery ? 0x80 : 0) | amtrelay->gateway_type; RETERR(uint8_tobuffer(n, target)); - switch (amtrelay->gateway_type) { + switch (amtrelay->gateway_type) { case 0: return (ISC_R_SUCCESS); @@ -302,12 +301,12 @@ fromstruct_amtrelay(ARGS_FROMSTRUCT) { } } -static inline isc_result_t -tostruct_amtrelay(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_amtrelay(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_amtrelay_t *amtrelay = target; - dns_name_t name; - uint32_t n; + dns_name_t name; + uint32_t n; REQUIRE(rdata->type == dns_rdatatype_amtrelay); REQUIRE(amtrelay != NULL); @@ -354,8 +353,8 @@ tostruct_amtrelay(ARGS_TOSTRUCT) { default: if (region.length != 0) { - amtrelay->data = mem_maybedup(mctx, region.base, - region.length); + amtrelay->data = + mem_maybedup(mctx, region.base, region.length); if (amtrelay->data == NULL) { return (ISC_R_NOMEMORY); } @@ -366,8 +365,8 @@ tostruct_amtrelay(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_amtrelay(ARGS_FREESTRUCT) { +static inline void freestruct_amtrelay(ARGS_FREESTRUCT) +{ dns_rdata_amtrelay_t *amtrelay = source; REQUIRE(amtrelay != NULL); @@ -385,9 +384,8 @@ freestruct_amtrelay(ARGS_FREESTRUCT) { amtrelay->mctx = NULL; } -static inline isc_result_t -additionaldata_amtrelay(ARGS_ADDLDATA) { - +static inline isc_result_t additionaldata_amtrelay(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_amtrelay); UNUSED(rdata); @@ -397,8 +395,8 @@ additionaldata_amtrelay(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_amtrelay(ARGS_DIGEST) { +static inline isc_result_t digest_amtrelay(ARGS_DIGEST) +{ isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_amtrelay); @@ -407,9 +405,8 @@ digest_amtrelay(ARGS_DIGEST) { return ((digest)(arg, ®ion)); } -static inline bool -checkowner_amtrelay(ARGS_CHECKOWNER) { - +static inline bool checkowner_amtrelay(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_amtrelay); UNUSED(name); @@ -420,9 +417,8 @@ checkowner_amtrelay(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_amtrelay(ARGS_CHECKNAMES) { - +static inline bool checknames_amtrelay(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_amtrelay); UNUSED(rdata); @@ -432,12 +428,12 @@ checknames_amtrelay(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_amtrelay(ARGS_COMPARE) { +static inline int casecompare_amtrelay(ARGS_COMPARE) +{ isc_region_t region1; isc_region_t region2; - dns_name_t name1; - dns_name_t name2; + dns_name_t name1; + dns_name_t name2; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -464,4 +460,4 @@ casecompare_amtrelay(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -#endif /* RDATA_GENERIC_AMTRELAY_260_C */ +#endif /* RDATA_GENERIC_AMTRELAY_260_C */ diff --git a/lib/dns/rdata/generic/amtrelay_260.h b/lib/dns/rdata/generic/amtrelay_260.h index 1372fe8471..f29e52ae5a 100644 --- a/lib/dns/rdata/generic/amtrelay_260.h +++ b/lib/dns/rdata/generic/amtrelay_260.h @@ -9,21 +9,20 @@ * information regarding copyright ownership. */ - #ifndef GENERIC_AMTRELAY_260_H #define GENERIC_AMTRELAY_260_H 1 typedef struct dns_rdata_amtrelay { - dns_rdatacommon_t common; - isc_mem_t *mctx; - uint8_t precedence; - bool discovery; - uint8_t gateway_type; - struct in_addr in_addr; /* gateway type 1 */ - struct in6_addr in6_addr; /* gateway type 2 */ - dns_name_t gateway; /* gateway type 3 */ - unsigned char *data; /* gateway type > 3 */ - uint16_t length; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint8_t precedence; + bool discovery; + uint8_t gateway_type; + struct in_addr in_addr; /* gateway type 1 */ + struct in6_addr in6_addr; /* gateway type 2 */ + dns_name_t gateway; /* gateway type 3 */ + unsigned char * data; /* gateway type > 3 */ + uint16_t length; } dns_rdata_amtrelay_t; #endif /* GENERIC_AMTRELAY_260_H */ diff --git a/lib/dns/rdata/generic/avc_258.c b/lib/dns/rdata/generic/avc_258.c index e8efa377d7..4167afc18f 100644 --- a/lib/dns/rdata/generic/avc_258.c +++ b/lib/dns/rdata/generic/avc_258.c @@ -14,9 +14,8 @@ #define RRTYPE_AVC_ATTRIBUTES (0) -static inline isc_result_t -fromtext_avc(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_avc(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_avc); UNUSED(type); @@ -29,9 +28,8 @@ fromtext_avc(ARGS_FROMTEXT) { target, callbacks)); } -static inline isc_result_t -totext_avc(ARGS_TOTEXT) { - +static inline isc_result_t totext_avc(ARGS_TOTEXT) +{ UNUSED(tctx); REQUIRE(rdata->type == dns_rdatatype_avc); @@ -39,9 +37,8 @@ totext_avc(ARGS_TOTEXT) { return (generic_totext_txt(rdata, tctx, target)); } -static inline isc_result_t -fromwire_avc(ARGS_FROMWIRE) { - +static inline isc_result_t fromwire_avc(ARGS_FROMWIRE) +{ REQUIRE(type == dns_rdatatype_avc); UNUSED(type); @@ -53,9 +50,8 @@ fromwire_avc(ARGS_FROMWIRE) { target)); } -static inline isc_result_t -towire_avc(ARGS_TOWIRE) { - +static inline isc_result_t towire_avc(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_avc); UNUSED(cctx); @@ -63,8 +59,8 @@ towire_avc(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_avc(ARGS_COMPARE) { +static inline int compare_avc(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -77,16 +73,15 @@ compare_avc(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_avc(ARGS_FROMSTRUCT) { - +static inline isc_result_t fromstruct_avc(ARGS_FROMSTRUCT) +{ REQUIRE(type == dns_rdatatype_avc); return (generic_fromstruct_txt(rdclass, type, source, target)); } -static inline isc_result_t -tostruct_avc(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_avc(ARGS_TOSTRUCT) +{ dns_rdata_avc_t *avc = target; REQUIRE(rdata->type == dns_rdatatype_avc); @@ -99,8 +94,8 @@ tostruct_avc(ARGS_TOSTRUCT) { return (generic_tostruct_txt(rdata, target, mctx)); } -static inline void -freestruct_avc(ARGS_FREESTRUCT) { +static inline void freestruct_avc(ARGS_FREESTRUCT) +{ dns_rdata_avc_t *avc = source; REQUIRE(avc != NULL); @@ -109,8 +104,8 @@ freestruct_avc(ARGS_FREESTRUCT) { generic_freestruct_txt(source); } -static inline isc_result_t -additionaldata_avc(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_avc(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_avc); UNUSED(rdata); @@ -120,8 +115,8 @@ additionaldata_avc(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_avc(ARGS_DIGEST) { +static inline isc_result_t digest_avc(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_avc); @@ -131,9 +126,8 @@ digest_avc(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_avc(ARGS_CHECKOWNER) { - +static inline bool checkowner_avc(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_avc); UNUSED(name); @@ -144,9 +138,8 @@ checkowner_avc(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_avc(ARGS_CHECKNAMES) { - +static inline bool checknames_avc(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_avc); UNUSED(rdata); @@ -156,8 +149,8 @@ checknames_avc(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_avc(ARGS_COMPARE) { +static inline int casecompare_avc(ARGS_COMPARE) +{ return (compare_avc(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_AVC_258_C */ +#endif /* RDATA_GENERIC_AVC_258_C */ diff --git a/lib/dns/rdata/generic/avc_258.h b/lib/dns/rdata/generic/avc_258.h index 88abaddd05..c35fce952f 100644 --- a/lib/dns/rdata/generic/avc_258.h +++ b/lib/dns/rdata/generic/avc_258.h @@ -15,12 +15,12 @@ typedef dns_rdata_txt_string_t dns_rdata_avc_string_t; typedef struct dns_rdata_avc { - dns_rdatacommon_t common; - isc_mem_t *mctx; - unsigned char *data; - uint16_t length; + dns_rdatacommon_t common; + isc_mem_t * mctx; + unsigned char * data; + uint16_t length; /* private */ - uint16_t offset; + uint16_t offset; } dns_rdata_avc_t; /* diff --git a/lib/dns/rdata/generic/caa_257.c b/lib/dns/rdata/generic/caa_257.c index 8dd75c04dd..53c0127be9 100644 --- a/lib/dns/rdata/generic/caa_257.c +++ b/lib/dns/rdata/generic/caa_257.c @@ -15,30 +15,270 @@ #define RRTYPE_CAA_ATTRIBUTES (0) static unsigned char const alphanumeric[256] = { - /* 0x00-0x0f */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - /* 0x10-0x1f */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - /* 0x20-0x2f */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - /* 0x30-0x3f */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, - /* 0x40-0x4f */ 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - /* 0x50-0x5f */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - /* 0x60-0x6f */ 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - /* 0x70-0x7f */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - /* 0x80-0x8f */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - /* 0x90-0x9f */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - /* 0xa0-0xaf */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - /* 0xb0-0xbf */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - /* 0xc0-0xcf */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - /* 0xd0-0xdf */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - /* 0xe0-0xef */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - /* 0xf0-0xff */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + /* 0x00-0x0f */ 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + /* 0x10-0x1f */ 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + /* 0x20-0x2f */ 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + /* 0x30-0x3f */ 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + /* 0x40-0x4f */ 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + /* 0x50-0x5f */ 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + /* 0x60-0x6f */ 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + /* 0x70-0x7f */ 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + /* 0x80-0x8f */ 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + /* 0x90-0x9f */ 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + /* 0xa0-0xaf */ 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + /* 0xb0-0xbf */ 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + /* 0xc0-0xcf */ 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + /* 0xd0-0xdf */ 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + /* 0xe0-0xef */ 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + /* 0xf0-0xff */ 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; -static inline isc_result_t -fromtext_caa(ARGS_FROMTEXT) { - isc_token_t token; +static inline isc_result_t fromtext_caa(ARGS_FROMTEXT) +{ + isc_token_t token; isc_textregion_t tr; - uint8_t flags; - unsigned int i; + uint8_t flags; + unsigned int i; REQUIRE(type == dns_rdatatype_caa); @@ -63,7 +303,7 @@ fromtext_caa(ARGS_FROMTEXT) { false)); tr = token.value.as_textregion; for (i = 0; i < tr.length; i++) - if (!alphanumeric[(unsigned char) tr.base[i]]) + if (!alphanumeric[(unsigned char)tr.base[i]]) RETTOK(DNS_R_SYNTAX); RETERR(uint8_tobuffer(tr.length, target)); RETERR(mem_tobuffer(target, tr.base, tr.length)); @@ -71,8 +311,8 @@ fromtext_caa(ARGS_FROMTEXT) { /* * Value */ - RETERR(isc_lex_getmastertoken(lexer, &token, - isc_tokentype_qstring, false)); + RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_qstring, + false)); if (token.type != isc_tokentype_qstring && token.type != isc_tokentype_string) RETERR(DNS_R_SYNTAX); @@ -80,11 +320,11 @@ fromtext_caa(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_caa(ARGS_TOTEXT) { +static inline isc_result_t totext_caa(ARGS_TOTEXT) +{ isc_region_t region; - uint8_t flags; - char buf[256]; + uint8_t flags; + char buf[256]; UNUSED(tctx); @@ -114,8 +354,8 @@ totext_caa(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_caa(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_caa(ARGS_FROMWIRE) +{ isc_region_t sr; unsigned int len, i; @@ -158,8 +398,8 @@ fromwire_caa(ARGS_FROMWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline isc_result_t -towire_caa(ARGS_TOWIRE) { +static inline isc_result_t towire_caa(ARGS_TOWIRE) +{ isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_caa); @@ -172,8 +412,8 @@ towire_caa(ARGS_TOWIRE) { return (mem_tobuffer(target, region.base, region.length)); } -static inline int -compare_caa(ARGS_COMPARE) { +static inline int compare_caa(ARGS_COMPARE) +{ isc_region_t r1, r2; REQUIRE(rdata1->type == rdata2->type); @@ -189,11 +429,11 @@ compare_caa(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_caa(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_caa(ARGS_FROMSTRUCT) +{ dns_rdata_caa_t *caa = source; - isc_region_t region; - unsigned int i; + isc_region_t region; + unsigned int i; REQUIRE(type == dns_rdatatype_caa); REQUIRE(caa != NULL); @@ -233,10 +473,10 @@ fromstruct_caa(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_caa(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_caa(ARGS_TOSTRUCT) +{ dns_rdata_caa_t *caa = target; - isc_region_t sr; + isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_caa); REQUIRE(caa != NULL); @@ -287,9 +527,9 @@ tostruct_caa(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_caa(ARGS_FREESTRUCT) { - dns_rdata_caa_t *caa = (dns_rdata_caa_t *) source; +static inline void freestruct_caa(ARGS_FREESTRUCT) +{ + dns_rdata_caa_t *caa = (dns_rdata_caa_t *)source; REQUIRE(caa != NULL); REQUIRE(caa->common.rdtype == dns_rdatatype_caa); @@ -304,8 +544,8 @@ freestruct_caa(ARGS_FREESTRUCT) { caa->mctx = NULL; } -static inline isc_result_t -additionaldata_caa(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_caa(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_caa); REQUIRE(rdata->data != NULL); REQUIRE(rdata->length >= 3U); @@ -317,8 +557,8 @@ additionaldata_caa(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_caa(ARGS_DIGEST) { +static inline isc_result_t digest_caa(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_caa); @@ -330,9 +570,8 @@ digest_caa(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_caa(ARGS_CHECKOWNER) { - +static inline bool checkowner_caa(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_caa); UNUSED(name); @@ -343,9 +582,8 @@ checkowner_caa(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_caa(ARGS_CHECKNAMES) { - +static inline bool checknames_caa(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_caa); REQUIRE(rdata->data != NULL); REQUIRE(rdata->length >= 3U); @@ -357,8 +595,8 @@ checknames_caa(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_caa(ARGS_COMPARE) { +static inline int casecompare_caa(ARGS_COMPARE) +{ return (compare_caa(rdata1, rdata2)); } diff --git a/lib/dns/rdata/generic/caa_257.h b/lib/dns/rdata/generic/caa_257.h index c16e427d66..bdcd761c01 100644 --- a/lib/dns/rdata/generic/caa_257.h +++ b/lib/dns/rdata/generic/caa_257.h @@ -12,15 +12,14 @@ #ifndef GENERIC_CAA_257_H #define GENERIC_CAA_257_H 1 - typedef struct dns_rdata_caa { - dns_rdatacommon_t common; - isc_mem_t * mctx; - uint8_t flags; - unsigned char * tag; - uint8_t tag_len; - unsigned char *value; - uint16_t value_len; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint8_t flags; + unsigned char * tag; + uint8_t tag_len; + unsigned char * value; + uint16_t value_len; } dns_rdata_caa_t; #endif /* GENERIC_CAA_257_H */ diff --git a/lib/dns/rdata/generic/cdnskey_60.c b/lib/dns/rdata/generic/cdnskey_60.c index afcdbc2265..4919e9909f 100644 --- a/lib/dns/rdata/generic/cdnskey_60.c +++ b/lib/dns/rdata/generic/cdnskey_60.c @@ -18,35 +18,32 @@ #define RRTYPE_CDNSKEY_ATTRIBUTES 0 -static inline isc_result_t -fromtext_cdnskey(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_cdnskey(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_cdnskey); - return (generic_fromtext_key(rdclass, type, lexer, origin, - options, target, callbacks)); + return (generic_fromtext_key(rdclass, type, lexer, origin, options, + target, callbacks)); } -static inline isc_result_t -totext_cdnskey(ARGS_TOTEXT) { - +static inline isc_result_t totext_cdnskey(ARGS_TOTEXT) +{ REQUIRE(rdata != NULL); REQUIRE(rdata->type == dns_rdatatype_cdnskey); return (generic_totext_key(rdata, tctx, target)); } -static inline isc_result_t -fromwire_cdnskey(ARGS_FROMWIRE) { - +static inline isc_result_t fromwire_cdnskey(ARGS_FROMWIRE) +{ REQUIRE(type == dns_rdatatype_cdnskey); - return (generic_fromwire_key(rdclass, type, source, dctx, - options, target)); + return (generic_fromwire_key(rdclass, type, source, dctx, options, + target)); } -static inline isc_result_t -towire_cdnskey(ARGS_TOWIRE) { +static inline isc_result_t towire_cdnskey(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_cdnskey); @@ -58,8 +55,8 @@ towire_cdnskey(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_cdnskey(ARGS_COMPARE) { +static inline int compare_cdnskey(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -76,16 +73,15 @@ compare_cdnskey(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_cdnskey(ARGS_FROMSTRUCT) { - +static inline isc_result_t fromstruct_cdnskey(ARGS_FROMSTRUCT) +{ REQUIRE(type == dns_rdatatype_cdnskey); return (generic_fromstruct_key(rdclass, type, source, target)); } -static inline isc_result_t -tostruct_cdnskey(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_cdnskey(ARGS_TOSTRUCT) +{ dns_rdata_cdnskey_t *dnskey = target; REQUIRE(dnskey != NULL); @@ -99,9 +95,9 @@ tostruct_cdnskey(ARGS_TOSTRUCT) { return (generic_tostruct_key(rdata, target, mctx)); } -static inline void -freestruct_cdnskey(ARGS_FREESTRUCT) { - dns_rdata_cdnskey_t *dnskey = (dns_rdata_cdnskey_t *) source; +static inline void freestruct_cdnskey(ARGS_FREESTRUCT) +{ + dns_rdata_cdnskey_t *dnskey = (dns_rdata_cdnskey_t *)source; REQUIRE(dnskey != NULL); REQUIRE(dnskey->common.rdtype == dns_rdatatype_cdnskey); @@ -109,8 +105,8 @@ freestruct_cdnskey(ARGS_FREESTRUCT) { generic_freestruct_key(source); } -static inline isc_result_t -additionaldata_cdnskey(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_cdnskey(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_cdnskey); UNUSED(rdata); @@ -120,8 +116,8 @@ additionaldata_cdnskey(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_cdnskey(ARGS_DIGEST) { +static inline isc_result_t digest_cdnskey(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata != NULL); @@ -132,9 +128,8 @@ digest_cdnskey(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_cdnskey(ARGS_CHECKOWNER) { - +static inline bool checkowner_cdnskey(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_cdnskey); UNUSED(name); @@ -145,9 +140,8 @@ checkowner_cdnskey(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_cdnskey(ARGS_CHECKNAMES) { - +static inline bool checknames_cdnskey(ARGS_CHECKNAMES) +{ REQUIRE(rdata != NULL); REQUIRE(rdata->type == dns_rdatatype_cdnskey); @@ -158,13 +152,12 @@ checknames_cdnskey(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_cdnskey(ARGS_COMPARE) { - +static inline int casecompare_cdnskey(ARGS_COMPARE) +{ /* * Treat ALG 253 (private DNS) subtype name case sensistively. */ return (compare_cdnskey(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_CDNSKEY_60_C */ +#endif /* RDATA_GENERIC_CDNSKEY_60_C */ diff --git a/lib/dns/rdata/generic/cds_59.c b/lib/dns/rdata/generic/cds_59.c index 1dace20458..3e47066801 100644 --- a/lib/dns/rdata/generic/cds_59.c +++ b/lib/dns/rdata/generic/cds_59.c @@ -18,34 +18,31 @@ #include -static inline isc_result_t -fromtext_cds(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_cds(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_cds); return (generic_fromtext_ds(rdclass, type, lexer, origin, options, target, callbacks)); } -static inline isc_result_t -totext_cds(ARGS_TOTEXT) { - +static inline isc_result_t totext_cds(ARGS_TOTEXT) +{ REQUIRE(rdata->type == dns_rdatatype_cds); return (generic_totext_ds(rdata, tctx, target)); } -static inline isc_result_t -fromwire_cds(ARGS_FROMWIRE) { - +static inline isc_result_t fromwire_cds(ARGS_FROMWIRE) +{ REQUIRE(type == dns_rdatatype_cds); return (generic_fromwire_ds(rdclass, type, source, dctx, options, target)); } -static inline isc_result_t -towire_cds(ARGS_TOWIRE) { +static inline isc_result_t towire_cds(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_cds); @@ -57,8 +54,8 @@ towire_cds(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_cds(ARGS_COMPARE) { +static inline int compare_cds(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -73,16 +70,15 @@ compare_cds(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_cds(ARGS_FROMSTRUCT) { - +static inline isc_result_t fromstruct_cds(ARGS_FROMSTRUCT) +{ REQUIRE(type == dns_rdatatype_cds); return (generic_fromstruct_ds(rdclass, type, source, target)); } -static inline isc_result_t -tostruct_cds(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_cds(ARGS_TOSTRUCT) +{ dns_rdata_cds_t *cds = target; REQUIRE(rdata->type == dns_rdatatype_cds); @@ -99,8 +95,8 @@ tostruct_cds(ARGS_TOSTRUCT) { return (generic_tostruct_ds(rdata, target, mctx)); } -static inline void -freestruct_cds(ARGS_FREESTRUCT) { +static inline void freestruct_cds(ARGS_FREESTRUCT) +{ dns_rdata_cds_t *cds = source; REQUIRE(cds != NULL); @@ -116,8 +112,8 @@ freestruct_cds(ARGS_FREESTRUCT) { cds->mctx = NULL; } -static inline isc_result_t -additionaldata_cds(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_cds(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_cds); UNUSED(rdata); @@ -127,8 +123,8 @@ additionaldata_cds(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_cds(ARGS_DIGEST) { +static inline isc_result_t digest_cds(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_cds); @@ -138,9 +134,8 @@ digest_cds(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_cds(ARGS_CHECKOWNER) { - +static inline bool checkowner_cds(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_cds); UNUSED(name); @@ -151,9 +146,8 @@ checkowner_cds(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_cds(ARGS_CHECKNAMES) { - +static inline bool checknames_cds(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_cds); UNUSED(rdata); @@ -163,9 +157,9 @@ checknames_cds(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_cds(ARGS_COMPARE) { +static inline int casecompare_cds(ARGS_COMPARE) +{ return (compare_cds(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_CDS_59_C */ +#endif /* RDATA_GENERIC_CDS_59_C */ diff --git a/lib/dns/rdata/generic/cert_37.c b/lib/dns/rdata/generic/cert_37.c index 4b29cabdea..e15db2e455 100644 --- a/lib/dns/rdata/generic/cert_37.c +++ b/lib/dns/rdata/generic/cert_37.c @@ -16,11 +16,11 @@ #define RRTYPE_CERT_ATTRIBUTES (0) -static inline isc_result_t -fromtext_cert(ARGS_FROMTEXT) { - isc_token_t token; +static inline isc_result_t fromtext_cert(ARGS_FROMTEXT) +{ + isc_token_t token; dns_secalg_t secalg; - dns_cert_t cert; + dns_cert_t cert; REQUIRE(type == dns_rdatatype_cert); @@ -58,10 +58,10 @@ fromtext_cert(ARGS_FROMTEXT) { return (isc_base64_tobuffer(lexer, target, -2)); } -static inline isc_result_t -totext_cert(ARGS_TOTEXT) { +static inline isc_result_t totext_cert(ARGS_TOTEXT) +{ isc_region_t sr; - char buf[sizeof("64000 ")]; + char buf[sizeof("64000 ")]; unsigned int n; REQUIRE(rdata->type == dns_rdatatype_cert); @@ -99,18 +99,18 @@ totext_cert(ARGS_TOTEXT) { if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) RETERR(str_totext(" (", target)); RETERR(str_totext(tctx->linebreak, target)); - if (tctx->width == 0) /* No splitting */ + if (tctx->width == 0) /* No splitting */ RETERR(isc_base64_totext(&sr, 60, "", target)); else - RETERR(isc_base64_totext(&sr, tctx->width - 2, - tctx->linebreak, target)); + RETERR(isc_base64_totext(&sr, tctx->width - 2, tctx->linebreak, + target)); if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) RETERR(str_totext(" )", target)); return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_cert(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_cert(ARGS_FROMWIRE) +{ isc_region_t sr; REQUIRE(type == dns_rdatatype_cert); @@ -128,8 +128,8 @@ fromwire_cert(ARGS_FROMWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline isc_result_t -towire_cert(ARGS_TOWIRE) { +static inline isc_result_t towire_cert(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_cert); @@ -141,8 +141,8 @@ towire_cert(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_cert(ARGS_COMPARE) { +static inline int compare_cert(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -157,8 +157,8 @@ compare_cert(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_cert(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_cert(ARGS_FROMSTRUCT) +{ dns_rdata_cert_t *cert = source; REQUIRE(type == dns_rdatatype_cert); @@ -176,10 +176,10 @@ fromstruct_cert(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, cert->certificate, cert->length)); } -static inline isc_result_t -tostruct_cert(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_cert(ARGS_TOSTRUCT) +{ dns_rdata_cert_t *cert = target; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_cert); REQUIRE(cert != NULL); @@ -207,8 +207,8 @@ tostruct_cert(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_cert(ARGS_FREESTRUCT) { +static inline void freestruct_cert(ARGS_FREESTRUCT) +{ dns_rdata_cert_t *cert = source; REQUIRE(cert != NULL); @@ -222,8 +222,8 @@ freestruct_cert(ARGS_FREESTRUCT) { cert->mctx = NULL; } -static inline isc_result_t -additionaldata_cert(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_cert(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_cert); UNUSED(rdata); @@ -233,8 +233,8 @@ additionaldata_cert(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_cert(ARGS_DIGEST) { +static inline isc_result_t digest_cert(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_cert); @@ -244,9 +244,8 @@ digest_cert(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_cert(ARGS_CHECKOWNER) { - +static inline bool checkowner_cert(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_cert); UNUSED(name); @@ -257,9 +256,8 @@ checkowner_cert(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_cert(ARGS_CHECKNAMES) { - +static inline bool checknames_cert(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_cert); UNUSED(rdata); @@ -269,9 +267,8 @@ checknames_cert(ARGS_CHECKNAMES) { return (true); } - -static inline int -casecompare_cert(ARGS_COMPARE) { +static inline int casecompare_cert(ARGS_COMPARE) +{ return (compare_cert(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_CERT_37_C */ +#endif /* RDATA_GENERIC_CERT_37_C */ diff --git a/lib/dns/rdata/generic/cert_37.h b/lib/dns/rdata/generic/cert_37.h index db760e1e3c..4baec34b38 100644 --- a/lib/dns/rdata/generic/cert_37.h +++ b/lib/dns/rdata/generic/cert_37.h @@ -9,19 +9,18 @@ * information regarding copyright ownership. */ - #ifndef GENERIC_CERT_37_H #define GENERIC_CERT_37_H 1 /*% RFC2538 */ typedef struct dns_rdata_cert { - dns_rdatacommon_t common; - isc_mem_t *mctx; - uint16_t type; - uint16_t key_tag; - uint8_t algorithm; - uint16_t length; - unsigned char *certificate; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint16_t type; + uint16_t key_tag; + uint8_t algorithm; + uint16_t length; + unsigned char * certificate; } dns_rdata_cert_t; #endif /* GENERIC_CERT_37_H */ diff --git a/lib/dns/rdata/generic/cname_5.c b/lib/dns/rdata/generic/cname_5.c index 1c40bcd6da..a7c616fcee 100644 --- a/lib/dns/rdata/generic/cname_5.c +++ b/lib/dns/rdata/generic/cname_5.c @@ -15,10 +15,10 @@ #define RRTYPE_CNAME_ATTRIBUTES \ (DNS_RDATATYPEATTR_EXCLUSIVE | DNS_RDATATYPEATTR_SINGLETON) -static inline isc_result_t -fromtext_cname(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_cname(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; REQUIRE(type == dns_rdatatype_cname); @@ -38,12 +38,12 @@ fromtext_cname(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_cname(ARGS_TOTEXT) { +static inline isc_result_t totext_cname(ARGS_TOTEXT) +{ isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; + dns_name_t name; + dns_name_t prefix; + bool sub; REQUIRE(rdata->type == dns_rdatatype_cname); REQUIRE(rdata->length != 0); @@ -59,8 +59,8 @@ totext_cname(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_cname(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_cname(ARGS_FROMWIRE) +{ dns_name_t name; REQUIRE(type == dns_rdatatype_cname); @@ -74,11 +74,11 @@ fromwire_cname(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_cname(ARGS_TOWIRE) { - dns_name_t name; +static inline isc_result_t towire_cname(ARGS_TOWIRE) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_cname); REQUIRE(rdata->length != 0); @@ -92,10 +92,10 @@ towire_cname(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_cname(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int compare_cname(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; @@ -117,10 +117,10 @@ compare_cname(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_cname(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_cname(ARGS_FROMSTRUCT) +{ dns_rdata_cname_t *cname = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_cname); REQUIRE(cname != NULL); @@ -134,11 +134,11 @@ fromstruct_cname(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_cname(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_cname(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_cname_t *cname = target; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_cname); REQUIRE(cname != NULL); @@ -157,8 +157,8 @@ tostruct_cname(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_cname(ARGS_FREESTRUCT) { +static inline void freestruct_cname(ARGS_FREESTRUCT) +{ dns_rdata_cname_t *cname = source; REQUIRE(cname != NULL); @@ -170,8 +170,8 @@ freestruct_cname(ARGS_FREESTRUCT) { cname->mctx = NULL; } -static inline isc_result_t -additionaldata_cname(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_cname(ARGS_ADDLDATA) +{ UNUSED(rdata); UNUSED(add); UNUSED(arg); @@ -181,10 +181,10 @@ additionaldata_cname(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_cname(ARGS_DIGEST) { +static inline isc_result_t digest_cname(ARGS_DIGEST) +{ isc_region_t r; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_cname); @@ -195,9 +195,8 @@ digest_cname(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_cname(ARGS_CHECKOWNER) { - +static inline bool checkowner_cname(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_cname); UNUSED(name); @@ -208,9 +207,8 @@ checkowner_cname(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_cname(ARGS_CHECKNAMES) { - +static inline bool checknames_cname(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_cname); UNUSED(rdata); @@ -220,9 +218,9 @@ checknames_cname(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_cname(ARGS_COMPARE) { +static inline int casecompare_cname(ARGS_COMPARE) +{ return (compare_cname(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_CNAME_5_C */ +#endif /* RDATA_GENERIC_CNAME_5_C */ diff --git a/lib/dns/rdata/generic/cname_5.h b/lib/dns/rdata/generic/cname_5.h index 6a5b6451b2..b02365bcc2 100644 --- a/lib/dns/rdata/generic/cname_5.h +++ b/lib/dns/rdata/generic/cname_5.h @@ -9,14 +9,13 @@ * information regarding copyright ownership. */ - #ifndef GENERIC_CNAME_5_H #define GENERIC_CNAME_5_H 1 typedef struct dns_rdata_cname { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t cname; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t cname; } dns_rdata_cname_t; #endif /* GENERIC_CNAME_5_H */ diff --git a/lib/dns/rdata/generic/csync_62.c b/lib/dns/rdata/generic/csync_62.c index 481916d3d6..b0e3c7723b 100644 --- a/lib/dns/rdata/generic/csync_62.c +++ b/lib/dns/rdata/generic/csync_62.c @@ -16,8 +16,8 @@ #define RRTYPE_CSYNC_ATTRIBUTES 0 -static inline isc_result_t -fromtext_csync(ARGS_FROMTEXT) { +static inline isc_result_t fromtext_csync(ARGS_FROMTEXT) +{ isc_token_t token; REQUIRE(type == dns_rdatatype_csync); @@ -44,11 +44,11 @@ fromtext_csync(ARGS_FROMTEXT) { return (typemap_fromtext(lexer, target, true)); } -static inline isc_result_t -totext_csync(ARGS_TOTEXT) { +static inline isc_result_t totext_csync(ARGS_TOTEXT) +{ unsigned long num; - char buf[sizeof("0123456789")]; /* Also TYPE65535 */ - isc_region_t sr; + char buf[sizeof("0123456789")]; /* Also TYPE65535 */ + isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_csync); REQUIRE(rdata->length >= 6); @@ -78,8 +78,8 @@ totext_csync(ARGS_TOTEXT) { return (typemap_totext(&sr, NULL, target)); } -static /* inline */ isc_result_t -fromwire_csync(ARGS_FROMWIRE) { +static /* inline */ isc_result_t fromwire_csync(ARGS_FROMWIRE) +{ isc_region_t sr; REQUIRE(type == dns_rdatatype_csync); @@ -107,9 +107,8 @@ fromwire_csync(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_csync(ARGS_TOWIRE) { - +static inline isc_result_t towire_csync(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_csync); REQUIRE(rdata->length >= 6); @@ -118,8 +117,8 @@ towire_csync(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_csync(ARGS_COMPARE) { +static inline int compare_csync(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -134,10 +133,10 @@ compare_csync(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_csync(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_csync(ARGS_FROMSTRUCT) +{ dns_rdata_csync_t *csync = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_csync); REQUIRE(csync != NULL); @@ -157,9 +156,9 @@ fromstruct_csync(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, csync->typebits, csync->len)); } -static inline isc_result_t -tostruct_csync(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_csync(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_csync_t *csync = target; REQUIRE(rdata->type == dns_rdatatype_csync); @@ -186,12 +185,12 @@ tostruct_csync(ARGS_TOSTRUCT) { csync->mctx = mctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: return (ISC_R_NOMEMORY); } -static inline void -freestruct_csync(ARGS_FREESTRUCT) { +static inline void freestruct_csync(ARGS_FREESTRUCT) +{ dns_rdata_csync_t *csync = source; REQUIRE(csync != NULL); @@ -205,8 +204,8 @@ freestruct_csync(ARGS_FREESTRUCT) { csync->mctx = NULL; } -static inline isc_result_t -additionaldata_csync(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_csync(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_csync); UNUSED(rdata); @@ -216,8 +215,8 @@ additionaldata_csync(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_csync(ARGS_DIGEST) { +static inline isc_result_t digest_csync(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_csync); @@ -226,22 +225,20 @@ digest_csync(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_csync(ARGS_CHECKOWNER) { +static inline bool checkowner_csync(ARGS_CHECKOWNER) +{ + REQUIRE(type == dns_rdatatype_csync); - REQUIRE(type == dns_rdatatype_csync); + UNUSED(name); + UNUSED(type); + UNUSED(rdclass); + UNUSED(wildcard); - UNUSED(name); - UNUSED(type); - UNUSED(rdclass); - UNUSED(wildcard); - - return (true); + return (true); } -static inline bool -checknames_csync(ARGS_CHECKNAMES) { - +static inline bool checknames_csync(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_csync); UNUSED(rdata); @@ -251,8 +248,8 @@ checknames_csync(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_csync(ARGS_COMPARE) { +static inline int casecompare_csync(ARGS_COMPARE) +{ isc_region_t region1; isc_region_t region2; @@ -266,4 +263,4 @@ casecompare_csync(ARGS_COMPARE) { dns_rdata_toregion(rdata2, ®ion2); return (isc_region_compare(®ion1, ®ion2)); } -#endif /* RDATA_GENERIC_CSYNC_62_C */ +#endif /* RDATA_GENERIC_CSYNC_62_C */ diff --git a/lib/dns/rdata/generic/csync_62.h b/lib/dns/rdata/generic/csync_62.h index a1f63d5492..b87a266fd2 100644 --- a/lib/dns/rdata/generic/csync_62.h +++ b/lib/dns/rdata/generic/csync_62.h @@ -17,12 +17,12 @@ */ typedef struct dns_rdata_csync { - dns_rdatacommon_t common; - isc_mem_t *mctx; - uint32_t serial; - uint16_t flags; - unsigned char *typebits; - uint16_t len; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint32_t serial; + uint16_t flags; + unsigned char * typebits; + uint16_t len; } dns_rdata_csync_t; #endif /* GENERIC_CSYNC_62_H */ diff --git a/lib/dns/rdata/generic/dlv_32769.c b/lib/dns/rdata/generic/dlv_32769.c index 358802327b..57ae27d9b1 100644 --- a/lib/dns/rdata/generic/dlv_32769.c +++ b/lib/dns/rdata/generic/dlv_32769.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* RFC3658 */ #ifndef RDATA_GENERIC_DLV_32769_C @@ -19,34 +18,31 @@ #include -static inline isc_result_t -fromtext_dlv(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_dlv(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_dlv); return (generic_fromtext_ds(rdclass, type, lexer, origin, options, target, callbacks)); } -static inline isc_result_t -totext_dlv(ARGS_TOTEXT) { - +static inline isc_result_t totext_dlv(ARGS_TOTEXT) +{ REQUIRE(rdata->type == dns_rdatatype_dlv); return (generic_totext_ds(rdata, tctx, target)); } -static inline isc_result_t -fromwire_dlv(ARGS_FROMWIRE) { - +static inline isc_result_t fromwire_dlv(ARGS_FROMWIRE) +{ REQUIRE(type == dns_rdatatype_dlv); return (generic_fromwire_ds(rdclass, type, source, dctx, options, target)); } -static inline isc_result_t -towire_dlv(ARGS_TOWIRE) { +static inline isc_result_t towire_dlv(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_dlv); @@ -58,8 +54,8 @@ towire_dlv(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_dlv(ARGS_COMPARE) { +static inline int compare_dlv(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -74,16 +70,15 @@ compare_dlv(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_dlv(ARGS_FROMSTRUCT) { - +static inline isc_result_t fromstruct_dlv(ARGS_FROMSTRUCT) +{ REQUIRE(type == dns_rdatatype_dlv); return (generic_fromstruct_ds(rdclass, type, source, target)); } -static inline isc_result_t -tostruct_dlv(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_dlv(ARGS_TOSTRUCT) +{ dns_rdata_dlv_t *dlv = target; REQUIRE(rdata->type == dns_rdatatype_dlv); @@ -96,8 +91,8 @@ tostruct_dlv(ARGS_TOSTRUCT) { return (generic_tostruct_ds(rdata, target, mctx)); } -static inline void -freestruct_dlv(ARGS_FREESTRUCT) { +static inline void freestruct_dlv(ARGS_FREESTRUCT) +{ dns_rdata_dlv_t *dlv = source; REQUIRE(dlv != NULL); @@ -111,8 +106,8 @@ freestruct_dlv(ARGS_FREESTRUCT) { dlv->mctx = NULL; } -static inline isc_result_t -additionaldata_dlv(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_dlv(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_dlv); UNUSED(rdata); @@ -122,8 +117,8 @@ additionaldata_dlv(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_dlv(ARGS_DIGEST) { +static inline isc_result_t digest_dlv(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_dlv); @@ -133,9 +128,8 @@ digest_dlv(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_dlv(ARGS_CHECKOWNER) { - +static inline bool checkowner_dlv(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_dlv); UNUSED(name); @@ -146,9 +140,8 @@ checkowner_dlv(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_dlv(ARGS_CHECKNAMES) { - +static inline bool checknames_dlv(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_dlv); UNUSED(rdata); @@ -158,9 +151,9 @@ checknames_dlv(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_dlv(ARGS_COMPARE) { +static inline int casecompare_dlv(ARGS_COMPARE) +{ return (compare_dlv(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_DLV_32769_C */ +#endif /* RDATA_GENERIC_DLV_32769_C */ diff --git a/lib/dns/rdata/generic/dlv_32769.h b/lib/dns/rdata/generic/dlv_32769.h index b94df71237..7054a69cbb 100644 --- a/lib/dns/rdata/generic/dlv_32769.h +++ b/lib/dns/rdata/generic/dlv_32769.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* draft-ietf-dnsext-delegation-signer-05.txt */ #ifndef GENERIC_DLV_32769_H #define GENERIC_DLV_32769_H 1 diff --git a/lib/dns/rdata/generic/dname_39.c b/lib/dns/rdata/generic/dname_39.c index cebd8c7e46..b23b5ecd3d 100644 --- a/lib/dns/rdata/generic/dname_39.c +++ b/lib/dns/rdata/generic/dname_39.c @@ -16,10 +16,10 @@ #define RRTYPE_DNAME_ATTRIBUTES (DNS_RDATATYPEATTR_SINGLETON) -static inline isc_result_t -fromtext_dname(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_dname(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; REQUIRE(type == dns_rdatatype_dname); @@ -39,12 +39,12 @@ fromtext_dname(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_dname(ARGS_TOTEXT) { +static inline isc_result_t totext_dname(ARGS_TOTEXT) +{ isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; + dns_name_t name; + dns_name_t prefix; + bool sub; REQUIRE(rdata->type == dns_rdatatype_dname); REQUIRE(rdata->length != 0); @@ -60,8 +60,8 @@ totext_dname(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_dname(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_dname(ARGS_FROMWIRE) +{ dns_name_t name; REQUIRE(type == dns_rdatatype_dname); @@ -72,14 +72,14 @@ fromwire_dname(ARGS_FROMWIRE) { dns_decompress_setmethods(dctx, DNS_COMPRESS_NONE); dns_name_init(&name, NULL); - return(dns_name_fromwire(&name, source, dctx, options, target)); + return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_dname(ARGS_TOWIRE) { - dns_name_t name; +static inline isc_result_t towire_dname(ARGS_TOWIRE) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_dname); REQUIRE(rdata->length != 0); @@ -92,10 +92,10 @@ towire_dname(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_dname(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int compare_dname(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; @@ -117,10 +117,10 @@ compare_dname(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_dname(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_dname(ARGS_FROMSTRUCT) +{ dns_rdata_dname_t *dname = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_dname); REQUIRE(dname != NULL); @@ -134,11 +134,11 @@ fromstruct_dname(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_dname(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_dname(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_dname_t *dname = target; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_dname); REQUIRE(dname != NULL); @@ -157,8 +157,8 @@ tostruct_dname(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_dname(ARGS_FREESTRUCT) { +static inline void freestruct_dname(ARGS_FREESTRUCT) +{ dns_rdata_dname_t *dname = source; REQUIRE(dname != NULL); @@ -171,8 +171,8 @@ freestruct_dname(ARGS_FREESTRUCT) { dname->mctx = NULL; } -static inline isc_result_t -additionaldata_dname(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_dname(ARGS_ADDLDATA) +{ UNUSED(rdata); UNUSED(add); UNUSED(arg); @@ -182,10 +182,10 @@ additionaldata_dname(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_dname(ARGS_DIGEST) { +static inline isc_result_t digest_dname(ARGS_DIGEST) +{ isc_region_t r; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_dname); @@ -196,9 +196,8 @@ digest_dname(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_dname(ARGS_CHECKOWNER) { - +static inline bool checkowner_dname(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_dname); UNUSED(name); @@ -209,9 +208,8 @@ checkowner_dname(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_dname(ARGS_CHECKNAMES) { - +static inline bool checknames_dname(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_dname); UNUSED(rdata); @@ -221,8 +219,8 @@ checknames_dname(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_dname(ARGS_COMPARE) { +static inline int casecompare_dname(ARGS_COMPARE) +{ return (compare_dname(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_DNAME_39_C */ +#endif /* RDATA_GENERIC_DNAME_39_C */ diff --git a/lib/dns/rdata/generic/dname_39.h b/lib/dns/rdata/generic/dname_39.h index 12b02e255a..0571b3a915 100644 --- a/lib/dns/rdata/generic/dname_39.h +++ b/lib/dns/rdata/generic/dname_39.h @@ -12,14 +12,13 @@ #ifndef GENERIC_DNAME_39_H #define GENERIC_DNAME_39_H 1 - /*! * \brief per RFC2672 */ typedef struct dns_rdata_dname { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t dname; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t dname; } dns_rdata_dname_t; #endif /* GENERIC_DNAME_39_H */ diff --git a/lib/dns/rdata/generic/dnskey_48.c b/lib/dns/rdata/generic/dnskey_48.c index f20a8f6110..ed307eaa68 100644 --- a/lib/dns/rdata/generic/dnskey_48.c +++ b/lib/dns/rdata/generic/dnskey_48.c @@ -18,35 +18,32 @@ #define RRTYPE_DNSKEY_ATTRIBUTES (DNS_RDATATYPEATTR_DNSSEC) -static inline isc_result_t -fromtext_dnskey(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_dnskey(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_dnskey); - return (generic_fromtext_key(rdclass, type, lexer, origin, - options, target, callbacks)); + return (generic_fromtext_key(rdclass, type, lexer, origin, options, + target, callbacks)); } -static inline isc_result_t -totext_dnskey(ARGS_TOTEXT) { - +static inline isc_result_t totext_dnskey(ARGS_TOTEXT) +{ REQUIRE(rdata != NULL); REQUIRE(rdata->type == dns_rdatatype_dnskey); return (generic_totext_key(rdata, tctx, target)); } -static inline isc_result_t -fromwire_dnskey(ARGS_FROMWIRE) { - +static inline isc_result_t fromwire_dnskey(ARGS_FROMWIRE) +{ REQUIRE(type == dns_rdatatype_dnskey); - return (generic_fromwire_key(rdclass, type, source, dctx, - options, target)); + return (generic_fromwire_key(rdclass, type, source, dctx, options, + target)); } -static inline isc_result_t -towire_dnskey(ARGS_TOWIRE) { +static inline isc_result_t towire_dnskey(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata != NULL); @@ -59,8 +56,8 @@ towire_dnskey(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_dnskey(ARGS_COMPARE) { +static inline int compare_dnskey(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -77,16 +74,15 @@ compare_dnskey(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_dnskey(ARGS_FROMSTRUCT) { - +static inline isc_result_t fromstruct_dnskey(ARGS_FROMSTRUCT) +{ REQUIRE(type == dns_rdatatype_dnskey); return (generic_fromstruct_key(rdclass, type, source, target)); } -static inline isc_result_t -tostruct_dnskey(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_dnskey(ARGS_TOSTRUCT) +{ dns_rdata_dnskey_t *dnskey = target; REQUIRE(dnskey != NULL); @@ -100,9 +96,9 @@ tostruct_dnskey(ARGS_TOSTRUCT) { return (generic_tostruct_key(rdata, target, mctx)); } -static inline void -freestruct_dnskey(ARGS_FREESTRUCT) { - dns_rdata_dnskey_t *dnskey = (dns_rdata_dnskey_t *) source; +static inline void freestruct_dnskey(ARGS_FREESTRUCT) +{ + dns_rdata_dnskey_t *dnskey = (dns_rdata_dnskey_t *)source; REQUIRE(dnskey != NULL); REQUIRE(dnskey->common.rdtype == dns_rdatatype_dnskey); @@ -110,9 +106,8 @@ freestruct_dnskey(ARGS_FREESTRUCT) { generic_freestruct_key(source); } -static inline isc_result_t -additionaldata_dnskey(ARGS_ADDLDATA) { - +static inline isc_result_t additionaldata_dnskey(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_dnskey); UNUSED(rdata); @@ -122,8 +117,8 @@ additionaldata_dnskey(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_dnskey(ARGS_DIGEST) { +static inline isc_result_t digest_dnskey(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata != NULL); @@ -134,9 +129,8 @@ digest_dnskey(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_dnskey(ARGS_CHECKOWNER) { - +static inline bool checkowner_dnskey(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_dnskey); UNUSED(name); @@ -147,9 +141,8 @@ checkowner_dnskey(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_dnskey(ARGS_CHECKNAMES) { - +static inline bool checknames_dnskey(ARGS_CHECKNAMES) +{ REQUIRE(rdata != NULL); REQUIRE(rdata->type == dns_rdatatype_dnskey); @@ -160,13 +153,12 @@ checknames_dnskey(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_dnskey(ARGS_COMPARE) { - +static inline int casecompare_dnskey(ARGS_COMPARE) +{ /* * Treat ALG 253 (private DNS) subtype name case sensistively. */ return (compare_dnskey(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_DNSKEY_48_C */ +#endif /* RDATA_GENERIC_DNSKEY_48_C */ diff --git a/lib/dns/rdata/generic/doa_259.c b/lib/dns/rdata/generic/doa_259.c index 8597e5a564..177eae40ce 100644 --- a/lib/dns/rdata/generic/doa_259.c +++ b/lib/dns/rdata/generic/doa_259.c @@ -14,8 +14,8 @@ #define RRTYPE_DOA_ATTRIBUTES (0) -static inline isc_result_t -fromtext_doa(ARGS_FROMTEXT) { +static inline isc_result_t fromtext_doa(ARGS_FROMTEXT) +{ isc_token_t token; REQUIRE(type == dns_rdatatype_doa); @@ -69,11 +69,11 @@ fromtext_doa(ARGS_FROMTEXT) { } } -static inline isc_result_t -totext_doa(ARGS_TOTEXT) { - char buf[sizeof("4294967295 ")]; +static inline isc_result_t totext_doa(ARGS_TOTEXT) +{ + char buf[sizeof("4294967295 ")]; isc_region_t region; - uint32_t n; + uint32_t n; REQUIRE(rdata != NULL); REQUIRE(rdata->type == dns_rdatatype_doa); @@ -123,8 +123,8 @@ totext_doa(ARGS_TOTEXT) { } } -static inline isc_result_t -fromwire_doa(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_doa(ARGS_FROMWIRE) +{ isc_region_t region; UNUSED(rdclass); @@ -154,8 +154,8 @@ fromwire_doa(ARGS_FROMWIRE) { return (mem_tobuffer(target, region.base, region.length)); } -static inline isc_result_t -towire_doa(ARGS_TOWIRE) { +static inline isc_result_t towire_doa(ARGS_TOWIRE) +{ isc_region_t region; UNUSED(cctx); @@ -168,8 +168,8 @@ towire_doa(ARGS_TOWIRE) { return (mem_tobuffer(target, region.base, region.length)); } -static inline int -compare_doa(ARGS_COMPARE) { +static inline int compare_doa(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -186,8 +186,8 @@ compare_doa(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_doa(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_doa(ARGS_FROMSTRUCT) +{ dns_rdata_doa_t *doa = source; REQUIRE(type == dns_rdatatype_doa); @@ -203,10 +203,10 @@ fromstruct_doa(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, doa->data, doa->data_len)); } -static inline isc_result_t -tostruct_doa(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_doa(ARGS_TOSTRUCT) +{ dns_rdata_doa_t *doa = target; - isc_region_t region; + isc_region_t region; REQUIRE(rdata != NULL); REQUIRE(rdata->type == dns_rdatatype_doa); @@ -285,8 +285,8 @@ cleanup: return (ISC_R_NOMEMORY); } -static inline void -freestruct_doa(ARGS_FREESTRUCT) { +static inline void freestruct_doa(ARGS_FREESTRUCT) +{ dns_rdata_doa_t *doa = source; REQUIRE(doa != NULL); @@ -306,8 +306,8 @@ freestruct_doa(ARGS_FREESTRUCT) { doa->mctx = NULL; } -static inline isc_result_t -additionaldata_doa(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_doa(ARGS_ADDLDATA) +{ UNUSED(rdata); UNUSED(add); UNUSED(arg); @@ -317,8 +317,8 @@ additionaldata_doa(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_doa(ARGS_DIGEST) { +static inline isc_result_t digest_doa(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_doa); @@ -328,8 +328,8 @@ digest_doa(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_doa(ARGS_CHECKOWNER) { +static inline bool checkowner_doa(ARGS_CHECKOWNER) +{ UNUSED(name); UNUSED(type); UNUSED(rdclass); @@ -340,8 +340,8 @@ checkowner_doa(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_doa(ARGS_CHECKNAMES) { +static inline bool checknames_doa(ARGS_CHECKNAMES) +{ UNUSED(rdata); UNUSED(owner); UNUSED(bad); @@ -351,9 +351,9 @@ checknames_doa(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_doa(ARGS_COMPARE) { +static inline int casecompare_doa(ARGS_COMPARE) +{ return (compare_doa(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_DOA_259_C */ +#endif /* RDATA_GENERIC_DOA_259_C */ diff --git a/lib/dns/rdata/generic/doa_259.h b/lib/dns/rdata/generic/doa_259.h index 5ac5fbbfdc..16f7b8bf6a 100644 --- a/lib/dns/rdata/generic/doa_259.h +++ b/lib/dns/rdata/generic/doa_259.h @@ -13,15 +13,15 @@ #define GENERIC_DOA_259_H 1 typedef struct dns_rdata_doa { - dns_rdatacommon_t common; - isc_mem_t * mctx; - unsigned char * mediatype; - unsigned char * data; - uint32_t enterprise; - uint32_t type; - uint16_t data_len; - uint8_t location; - uint8_t mediatype_len; + dns_rdatacommon_t common; + isc_mem_t * mctx; + unsigned char * mediatype; + unsigned char * data; + uint32_t enterprise; + uint32_t type; + uint16_t data_len; + uint8_t location; + uint8_t mediatype_len; } dns_rdata_doa_t; #endif /* GENERIC_DOA_259_H */ diff --git a/lib/dns/rdata/generic/ds_43.c b/lib/dns/rdata/generic/ds_43.c index c55fe10846..5b6d6232c3 100644 --- a/lib/dns/rdata/generic/ds_43.c +++ b/lib/dns/rdata/generic/ds_43.c @@ -9,25 +9,24 @@ * information regarding copyright ownership. */ - /* RFC3658 */ #ifndef RDATA_GENERIC_DS_43_C #define RDATA_GENERIC_DS_43_C -#define RRTYPE_DS_ATTRIBUTES \ - ( DNS_RDATATYPEATTR_DNSSEC | DNS_RDATATYPEATTR_ZONECUTAUTH | \ - DNS_RDATATYPEATTR_ATPARENT ) +#define RRTYPE_DS_ATTRIBUTES \ + (DNS_RDATATYPEATTR_DNSSEC | DNS_RDATATYPEATTR_ZONECUTAUTH | \ + DNS_RDATATYPEATTR_ATPARENT) #include #include -static inline isc_result_t -generic_fromtext_ds(ARGS_FROMTEXT) { - isc_token_t token; +static inline isc_result_t generic_fromtext_ds(ARGS_FROMTEXT) +{ + isc_token_t token; unsigned char c; - int length; + int length; UNUSED(type); UNUSED(rdclass); @@ -80,19 +79,18 @@ generic_fromtext_ds(ARGS_FROMTEXT) { return (isc_hex_tobuffer(lexer, target, length)); } -static inline isc_result_t -fromtext_ds(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_ds(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_ds); return (generic_fromtext_ds(rdclass, type, lexer, origin, options, target, callbacks)); } -static inline isc_result_t -generic_totext_ds(ARGS_TOTEXT) { +static inline isc_result_t generic_totext_ds(ARGS_TOTEXT) +{ isc_region_t sr; - char buf[sizeof("64000 ")]; + char buf[sizeof("64000 ")]; unsigned int n; REQUIRE(rdata->length != 0); @@ -144,16 +142,15 @@ generic_totext_ds(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_ds(ARGS_TOTEXT) { - +static inline isc_result_t totext_ds(ARGS_TOTEXT) +{ REQUIRE(rdata->type == dns_rdatatype_ds); return (generic_totext_ds(rdata, tctx, target)); } -static inline isc_result_t -generic_fromwire_ds(ARGS_FROMWIRE) { +static inline isc_result_t generic_fromwire_ds(ARGS_FROMWIRE) +{ isc_region_t sr; UNUSED(type); @@ -191,17 +188,16 @@ generic_fromwire_ds(ARGS_FROMWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline isc_result_t -fromwire_ds(ARGS_FROMWIRE) { - +static inline isc_result_t fromwire_ds(ARGS_FROMWIRE) +{ REQUIRE(type == dns_rdatatype_ds); return (generic_fromwire_ds(rdclass, type, source, dctx, options, target)); } -static inline isc_result_t -towire_ds(ARGS_TOWIRE) { +static inline isc_result_t towire_ds(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_ds); @@ -213,8 +209,8 @@ towire_ds(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_ds(ARGS_COMPARE) { +static inline int compare_ds(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -229,8 +225,8 @@ compare_ds(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -generic_fromstruct_ds(ARGS_FROMSTRUCT) { +static inline isc_result_t generic_fromstruct_ds(ARGS_FROMSTRUCT) +{ dns_rdata_ds_t *ds = source; REQUIRE(ds != NULL); @@ -259,18 +255,17 @@ generic_fromstruct_ds(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, ds->digest, ds->length)); } -static inline isc_result_t -fromstruct_ds(ARGS_FROMSTRUCT) { - +static inline isc_result_t fromstruct_ds(ARGS_FROMSTRUCT) +{ REQUIRE(type == dns_rdatatype_ds); return (generic_fromstruct_ds(rdclass, type, source, target)); } -static inline isc_result_t -generic_tostruct_ds(ARGS_TOSTRUCT) { +static inline isc_result_t generic_tostruct_ds(ARGS_TOSTRUCT) +{ dns_rdata_ds_t *ds = target; - isc_region_t region; + isc_region_t region; REQUIRE(ds != NULL); REQUIRE(rdata->length != 0); @@ -296,8 +291,8 @@ generic_tostruct_ds(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -tostruct_ds(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_ds(ARGS_TOSTRUCT) +{ dns_rdata_ds_t *ds = target; REQUIRE(rdata->type == dns_rdatatype_ds); @@ -310,8 +305,8 @@ tostruct_ds(ARGS_TOSTRUCT) { return (generic_tostruct_ds(rdata, target, mctx)); } -static inline void -freestruct_ds(ARGS_FREESTRUCT) { +static inline void freestruct_ds(ARGS_FREESTRUCT) +{ dns_rdata_ds_t *ds = source; REQUIRE(ds != NULL); @@ -325,8 +320,8 @@ freestruct_ds(ARGS_FREESTRUCT) { ds->mctx = NULL; } -static inline isc_result_t -additionaldata_ds(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_ds(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_ds); UNUSED(rdata); @@ -336,8 +331,8 @@ additionaldata_ds(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_ds(ARGS_DIGEST) { +static inline isc_result_t digest_ds(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_ds); @@ -347,9 +342,8 @@ digest_ds(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_ds(ARGS_CHECKOWNER) { - +static inline bool checkowner_ds(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_ds); UNUSED(name); @@ -360,9 +354,8 @@ checkowner_ds(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_ds(ARGS_CHECKNAMES) { - +static inline bool checknames_ds(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_ds); UNUSED(rdata); @@ -372,9 +365,9 @@ checknames_ds(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_ds(ARGS_COMPARE) { +static inline int casecompare_ds(ARGS_COMPARE) +{ return (compare_ds(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_DS_43_C */ +#endif /* RDATA_GENERIC_DS_43_C */ diff --git a/lib/dns/rdata/generic/ds_43.h b/lib/dns/rdata/generic/ds_43.h index 9d477388be..1701c216ea 100644 --- a/lib/dns/rdata/generic/ds_43.h +++ b/lib/dns/rdata/generic/ds_43.h @@ -9,20 +9,19 @@ * information regarding copyright ownership. */ - #ifndef GENERIC_DS_43_H #define GENERIC_DS_43_H 1 /*! * \brief per draft-ietf-dnsext-delegation-signer-05.txt */ typedef struct dns_rdata_ds { - dns_rdatacommon_t common; - isc_mem_t *mctx; - uint16_t key_tag; - dns_secalg_t algorithm; - dns_dsdigest_t digest_type; - uint16_t length; - unsigned char *digest; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint16_t key_tag; + dns_secalg_t algorithm; + dns_dsdigest_t digest_type; + uint16_t length; + unsigned char * digest; } dns_rdata_ds_t; #endif /* GENERIC_DS_43_H */ diff --git a/lib/dns/rdata/generic/eui48_108.c b/lib/dns/rdata/generic/eui48_108.c index 7a65eb421b..c416808fe6 100644 --- a/lib/dns/rdata/generic/eui48_108.c +++ b/lib/dns/rdata/generic/eui48_108.c @@ -16,12 +16,12 @@ #define RRTYPE_EUI48_ATTRIBUTES (0) -static inline isc_result_t -fromtext_eui48(ARGS_FROMTEXT) { - isc_token_t token; +static inline isc_result_t fromtext_eui48(ARGS_FROMTEXT) +{ + isc_token_t token; unsigned char eui48[6]; - unsigned int l0, l1, l2, l3, l4, l5; - int n; + unsigned int l0, l1, l2, l3, l4, l5; + int n; REQUIRE(type == dns_rdatatype_eui48); @@ -33,8 +33,8 @@ fromtext_eui48(ARGS_FROMTEXT) { RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string, false)); - n = sscanf(DNS_AS_STR(token), "%2x-%2x-%2x-%2x-%2x-%2x", - &l0, &l1, &l2, &l3, &l4, &l5); + n = sscanf(DNS_AS_STR(token), "%2x-%2x-%2x-%2x-%2x-%2x", &l0, &l1, &l2, + &l3, &l4, &l5); if (n != 6 || l0 > 255U || l1 > 255U || l2 > 255U || l3 > 255U || l4 > 255U || l5 > 255U) return (DNS_R_BADEUI); @@ -48,8 +48,8 @@ fromtext_eui48(ARGS_FROMTEXT) { return (mem_tobuffer(target, eui48, sizeof(eui48))); } -static inline isc_result_t -totext_eui48(ARGS_TOTEXT) { +static inline isc_result_t totext_eui48(ARGS_TOTEXT) +{ char buf[sizeof("xx-xx-xx-xx-xx-xx")]; REQUIRE(rdata->type == dns_rdatatype_eui48); @@ -63,8 +63,8 @@ totext_eui48(ARGS_TOTEXT) { return (str_totext(buf, target)); } -static inline isc_result_t -fromwire_eui48(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_eui48(ARGS_FROMWIRE) +{ isc_region_t sregion; REQUIRE(type == dns_rdatatype_eui48); @@ -81,9 +81,8 @@ fromwire_eui48(ARGS_FROMWIRE) { return (mem_tobuffer(target, sregion.base, sregion.length)); } -static inline isc_result_t -towire_eui48(ARGS_TOWIRE) { - +static inline isc_result_t towire_eui48(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_eui48); REQUIRE(rdata->length == 6); @@ -92,8 +91,8 @@ towire_eui48(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_eui48(ARGS_COMPARE) { +static inline int compare_eui48(ARGS_COMPARE) +{ isc_region_t region1; isc_region_t region2; @@ -108,8 +107,8 @@ compare_eui48(ARGS_COMPARE) { return (isc_region_compare(®ion1, ®ion2)); } -static inline isc_result_t -fromstruct_eui48(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_eui48(ARGS_FROMSTRUCT) +{ dns_rdata_eui48_t *eui48 = source; REQUIRE(type == dns_rdatatype_eui48); @@ -123,8 +122,8 @@ fromstruct_eui48(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, eui48->eui48, sizeof(eui48->eui48))); } -static inline isc_result_t -tostruct_eui48(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_eui48(ARGS_TOSTRUCT) +{ dns_rdata_eui48_t *eui48 = target; REQUIRE(rdata->type == dns_rdatatype_eui48); @@ -141,8 +140,8 @@ tostruct_eui48(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_eui48(ARGS_FREESTRUCT) { +static inline void freestruct_eui48(ARGS_FREESTRUCT) +{ dns_rdata_eui48_t *eui48 = source; REQUIRE(eui48 != NULL); @@ -151,9 +150,8 @@ freestruct_eui48(ARGS_FREESTRUCT) { return; } -static inline isc_result_t -additionaldata_eui48(ARGS_ADDLDATA) { - +static inline isc_result_t additionaldata_eui48(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_eui48); REQUIRE(rdata->length == 6); @@ -164,8 +162,8 @@ additionaldata_eui48(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_eui48(ARGS_DIGEST) { +static inline isc_result_t digest_eui48(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_eui48); @@ -176,9 +174,8 @@ digest_eui48(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_eui48(ARGS_CHECKOWNER) { - +static inline bool checkowner_eui48(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_eui48); UNUSED(name); @@ -189,9 +186,8 @@ checkowner_eui48(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_eui48(ARGS_CHECKNAMES) { - +static inline bool checknames_eui48(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_eui48); REQUIRE(rdata->length == 6); @@ -202,9 +198,9 @@ checknames_eui48(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_eui48(ARGS_COMPARE) { +static inline int casecompare_eui48(ARGS_COMPARE) +{ return (compare_eui48(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_EUI48_108_C */ +#endif /* RDATA_GENERIC_EUI48_108_C */ diff --git a/lib/dns/rdata/generic/eui48_108.h b/lib/dns/rdata/generic/eui48_108.h index 1bb168ab7d..7093f98e0f 100644 --- a/lib/dns/rdata/generic/eui48_108.h +++ b/lib/dns/rdata/generic/eui48_108.h @@ -14,8 +14,8 @@ #define GENERIC_EUI48_108_H 1 typedef struct dns_rdata_eui48 { - dns_rdatacommon_t common; - unsigned char eui48[6]; + dns_rdatacommon_t common; + unsigned char eui48[6]; } dns_rdata_eui48_t; #endif /* GENERIC_EUI48_10k_H */ diff --git a/lib/dns/rdata/generic/eui64_109.c b/lib/dns/rdata/generic/eui64_109.c index 941f3c3747..fdbce2819a 100644 --- a/lib/dns/rdata/generic/eui64_109.c +++ b/lib/dns/rdata/generic/eui64_109.c @@ -16,12 +16,12 @@ #define RRTYPE_EUI64_ATTRIBUTES (0) -static inline isc_result_t -fromtext_eui64(ARGS_FROMTEXT) { - isc_token_t token; +static inline isc_result_t fromtext_eui64(ARGS_FROMTEXT) +{ + isc_token_t token; unsigned char eui64[8]; - unsigned int l0, l1, l2, l3, l4, l5, l6, l7; - int n; + unsigned int l0, l1, l2, l3, l4, l5, l6, l7; + int n; REQUIRE(type == dns_rdatatype_eui64); @@ -33,8 +33,8 @@ fromtext_eui64(ARGS_FROMTEXT) { RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string, false)); - n = sscanf(DNS_AS_STR(token), "%2x-%2x-%2x-%2x-%2x-%2x-%2x-%2x", - &l0, &l1, &l2, &l3, &l4, &l5, &l6, &l7); + n = sscanf(DNS_AS_STR(token), "%2x-%2x-%2x-%2x-%2x-%2x-%2x-%2x", &l0, + &l1, &l2, &l3, &l4, &l5, &l6, &l7); if (n != 8 || l0 > 255U || l1 > 255U || l2 > 255U || l3 > 255U || l4 > 255U || l5 > 255U || l6 > 255U || l7 > 255U) return (DNS_R_BADEUI); @@ -50,8 +50,8 @@ fromtext_eui64(ARGS_FROMTEXT) { return (mem_tobuffer(target, eui64, sizeof(eui64))); } -static inline isc_result_t -totext_eui64(ARGS_TOTEXT) { +static inline isc_result_t totext_eui64(ARGS_TOTEXT) +{ char buf[sizeof("xx-xx-xx-xx-xx-xx-xx-xx")]; REQUIRE(rdata->type == dns_rdatatype_eui64); @@ -59,17 +59,15 @@ totext_eui64(ARGS_TOTEXT) { UNUSED(tctx); - (void)snprintf(buf, sizeof(buf), - "%02x-%02x-%02x-%02x-%02x-%02x-%02x-%02x", - rdata->data[0], rdata->data[1], - rdata->data[2], rdata->data[3], - rdata->data[4], rdata->data[5], - rdata->data[6], rdata->data[7]); + (void)snprintf( + buf, sizeof(buf), "%02x-%02x-%02x-%02x-%02x-%02x-%02x-%02x", + rdata->data[0], rdata->data[1], rdata->data[2], rdata->data[3], + rdata->data[4], rdata->data[5], rdata->data[6], rdata->data[7]); return (str_totext(buf, target)); } -static inline isc_result_t -fromwire_eui64(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_eui64(ARGS_FROMWIRE) +{ isc_region_t sregion; REQUIRE(type == dns_rdatatype_eui64); @@ -86,9 +84,8 @@ fromwire_eui64(ARGS_FROMWIRE) { return (mem_tobuffer(target, sregion.base, sregion.length)); } -static inline isc_result_t -towire_eui64(ARGS_TOWIRE) { - +static inline isc_result_t towire_eui64(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_eui64); REQUIRE(rdata->length == 8); @@ -97,8 +94,8 @@ towire_eui64(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_eui64(ARGS_COMPARE) { +static inline int compare_eui64(ARGS_COMPARE) +{ isc_region_t region1; isc_region_t region2; @@ -113,8 +110,8 @@ compare_eui64(ARGS_COMPARE) { return (isc_region_compare(®ion1, ®ion2)); } -static inline isc_result_t -fromstruct_eui64(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_eui64(ARGS_FROMSTRUCT) +{ dns_rdata_eui64_t *eui64 = source; REQUIRE(type == dns_rdatatype_eui64); @@ -128,8 +125,8 @@ fromstruct_eui64(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, eui64->eui64, sizeof(eui64->eui64))); } -static inline isc_result_t -tostruct_eui64(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_eui64(ARGS_TOSTRUCT) +{ dns_rdata_eui64_t *eui64 = target; REQUIRE(rdata->type == dns_rdatatype_eui64); @@ -146,8 +143,8 @@ tostruct_eui64(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_eui64(ARGS_FREESTRUCT) { +static inline void freestruct_eui64(ARGS_FREESTRUCT) +{ dns_rdata_eui64_t *eui64 = source; REQUIRE(eui64 != NULL); @@ -156,9 +153,8 @@ freestruct_eui64(ARGS_FREESTRUCT) { return; } -static inline isc_result_t -additionaldata_eui64(ARGS_ADDLDATA) { - +static inline isc_result_t additionaldata_eui64(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_eui64); REQUIRE(rdata->length == 8); @@ -169,8 +165,8 @@ additionaldata_eui64(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_eui64(ARGS_DIGEST) { +static inline isc_result_t digest_eui64(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_eui64); @@ -181,9 +177,8 @@ digest_eui64(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_eui64(ARGS_CHECKOWNER) { - +static inline bool checkowner_eui64(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_eui64); UNUSED(name); @@ -194,9 +189,8 @@ checkowner_eui64(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_eui64(ARGS_CHECKNAMES) { - +static inline bool checknames_eui64(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_eui64); REQUIRE(rdata->length == 8); @@ -207,9 +201,9 @@ checknames_eui64(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_eui64(ARGS_COMPARE) { +static inline int casecompare_eui64(ARGS_COMPARE) +{ return (compare_eui64(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_EUI64_109_C */ +#endif /* RDATA_GENERIC_EUI64_109_C */ diff --git a/lib/dns/rdata/generic/eui64_109.h b/lib/dns/rdata/generic/eui64_109.h index 638c72e546..6842d6f2e4 100644 --- a/lib/dns/rdata/generic/eui64_109.h +++ b/lib/dns/rdata/generic/eui64_109.h @@ -14,8 +14,8 @@ #define GENERIC_EUI64_109_H 1 typedef struct dns_rdata_eui64 { - dns_rdatacommon_t common; - unsigned char eui64[8]; + dns_rdatacommon_t common; + unsigned char eui64[8]; } dns_rdata_eui64_t; #endif /* GENERIC_EUI64_10k_H */ diff --git a/lib/dns/rdata/generic/gpos_27.c b/lib/dns/rdata/generic/gpos_27.c index ead5ca0332..80d17b227a 100644 --- a/lib/dns/rdata/generic/gpos_27.c +++ b/lib/dns/rdata/generic/gpos_27.c @@ -16,10 +16,10 @@ #define RRTYPE_GPOS_ATTRIBUTES (0) -static inline isc_result_t -fromtext_gpos(ARGS_FROMTEXT) { +static inline isc_result_t fromtext_gpos(ARGS_FROMTEXT) +{ isc_token_t token; - int i; + int i; REQUIRE(type == dns_rdatatype_gpos); @@ -31,17 +31,16 @@ fromtext_gpos(ARGS_FROMTEXT) { for (i = 0; i < 3; i++) { RETERR(isc_lex_getmastertoken(lexer, &token, - isc_tokentype_qstring, - false)); + isc_tokentype_qstring, false)); RETTOK(txt_fromtext(&token.value.as_textregion, target)); } return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_gpos(ARGS_TOTEXT) { +static inline isc_result_t totext_gpos(ARGS_TOTEXT) +{ isc_region_t region; - int i; + int i; REQUIRE(rdata->type == dns_rdatatype_gpos); REQUIRE(rdata->length != 0); @@ -59,8 +58,8 @@ totext_gpos(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_gpos(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_gpos(ARGS_FROMWIRE) +{ int i; REQUIRE(type == dns_rdatatype_gpos); @@ -75,9 +74,8 @@ fromwire_gpos(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_gpos(ARGS_TOWIRE) { - +static inline isc_result_t towire_gpos(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_gpos); REQUIRE(rdata->length != 0); @@ -86,8 +84,8 @@ towire_gpos(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_gpos(ARGS_COMPARE) { +static inline int compare_gpos(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -102,8 +100,8 @@ compare_gpos(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_gpos(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_gpos(ARGS_FROMSTRUCT) +{ dns_rdata_gpos_t *gpos = source; REQUIRE(type == dns_rdatatype_gpos); @@ -122,10 +120,10 @@ fromstruct_gpos(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, gpos->altitude, gpos->alt_len)); } -static inline isc_result_t -tostruct_gpos(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_gpos(ARGS_TOSTRUCT) +{ dns_rdata_gpos_t *gpos = target; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_gpos); REQUIRE(gpos != NULL); @@ -153,8 +151,7 @@ tostruct_gpos(ARGS_TOSTRUCT) { gpos->alt_len = uint8_fromregion(®ion); isc_region_consume(®ion, 1); if (gpos->lat_len > 0) { - gpos->altitude = - mem_maybedup(mctx, region.base, gpos->alt_len); + gpos->altitude = mem_maybedup(mctx, region.base, gpos->alt_len); if (gpos->altitude == NULL) goto cleanup_latitude; } else @@ -163,18 +160,18 @@ tostruct_gpos(ARGS_TOSTRUCT) { gpos->mctx = mctx; return (ISC_R_SUCCESS); - cleanup_latitude: +cleanup_latitude: if (mctx != NULL && gpos->longitude != NULL) isc_mem_free(mctx, gpos->longitude); - cleanup_longitude: +cleanup_longitude: if (mctx != NULL && gpos->latitude != NULL) isc_mem_free(mctx, gpos->latitude); return (ISC_R_NOMEMORY); } -static inline void -freestruct_gpos(ARGS_FREESTRUCT) { +static inline void freestruct_gpos(ARGS_FREESTRUCT) +{ dns_rdata_gpos_t *gpos = source; REQUIRE(gpos != NULL); @@ -192,8 +189,8 @@ freestruct_gpos(ARGS_FREESTRUCT) { gpos->mctx = NULL; } -static inline isc_result_t -additionaldata_gpos(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_gpos(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_gpos); UNUSED(rdata); @@ -203,8 +200,8 @@ additionaldata_gpos(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_gpos(ARGS_DIGEST) { +static inline isc_result_t digest_gpos(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_gpos); @@ -214,9 +211,8 @@ digest_gpos(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_gpos(ARGS_CHECKOWNER) { - +static inline bool checkowner_gpos(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_gpos); UNUSED(name); @@ -227,9 +223,8 @@ checkowner_gpos(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_gpos(ARGS_CHECKNAMES) { - +static inline bool checknames_gpos(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_gpos); UNUSED(rdata); @@ -239,9 +234,9 @@ checknames_gpos(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_gpos(ARGS_COMPARE) { +static inline int casecompare_gpos(ARGS_COMPARE) +{ return (compare_gpos(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_GPOS_27_C */ +#endif /* RDATA_GENERIC_GPOS_27_C */ diff --git a/lib/dns/rdata/generic/gpos_27.h b/lib/dns/rdata/generic/gpos_27.h index fac72cd82d..74aaa96fa2 100644 --- a/lib/dns/rdata/generic/gpos_27.h +++ b/lib/dns/rdata/generic/gpos_27.h @@ -12,19 +12,18 @@ #ifndef GENERIC_GPOS_27_H #define GENERIC_GPOS_27_H 1 - /*! * \brief per RFC1712 */ typedef struct dns_rdata_gpos { - dns_rdatacommon_t common; - isc_mem_t *mctx; - char *longitude; - char *latitude; - char *altitude; - uint8_t long_len; - uint8_t lat_len; - uint8_t alt_len; + dns_rdatacommon_t common; + isc_mem_t * mctx; + char * longitude; + char * latitude; + char * altitude; + uint8_t long_len; + uint8_t lat_len; + uint8_t alt_len; } dns_rdata_gpos_t; #endif /* GENERIC_GPOS_27_H */ diff --git a/lib/dns/rdata/generic/hinfo_13.c b/lib/dns/rdata/generic/hinfo_13.c index 0d43a19fb9..165d12bb0b 100644 --- a/lib/dns/rdata/generic/hinfo_13.c +++ b/lib/dns/rdata/generic/hinfo_13.c @@ -14,10 +14,10 @@ #define RRTYPE_HINFO_ATTRIBUTES (0) -static inline isc_result_t -fromtext_hinfo(ARGS_FROMTEXT) { +static inline isc_result_t fromtext_hinfo(ARGS_FROMTEXT) +{ isc_token_t token; - int i; + int i; UNUSED(type); UNUSED(rdclass); @@ -29,15 +29,14 @@ fromtext_hinfo(ARGS_FROMTEXT) { for (i = 0; i < 2; i++) { RETERR(isc_lex_getmastertoken(lexer, &token, - isc_tokentype_qstring, - false)); + isc_tokentype_qstring, false)); RETTOK(txt_fromtext(&token.value.as_textregion, target)); } return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_hinfo(ARGS_TOTEXT) { +static inline isc_result_t totext_hinfo(ARGS_TOTEXT) +{ isc_region_t region; UNUSED(tctx); @@ -51,9 +50,8 @@ totext_hinfo(ARGS_TOTEXT) { return (txt_totext(®ion, true, target)); } -static inline isc_result_t -fromwire_hinfo(ARGS_FROMWIRE) { - +static inline isc_result_t fromwire_hinfo(ARGS_FROMWIRE) +{ REQUIRE(type == dns_rdatatype_hinfo); UNUSED(type); @@ -65,9 +63,8 @@ fromwire_hinfo(ARGS_FROMWIRE) { return (txt_fromwire(source, target)); } -static inline isc_result_t -towire_hinfo(ARGS_TOWIRE) { - +static inline isc_result_t towire_hinfo(ARGS_TOWIRE) +{ UNUSED(cctx); REQUIRE(rdata->type == dns_rdatatype_hinfo); @@ -76,8 +73,8 @@ towire_hinfo(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_hinfo(ARGS_COMPARE) { +static inline int compare_hinfo(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -92,8 +89,8 @@ compare_hinfo(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_hinfo(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_hinfo(ARGS_FROMSTRUCT) +{ dns_rdata_hinfo_t *hinfo = source; REQUIRE(type == dns_rdatatype_hinfo); @@ -110,10 +107,10 @@ fromstruct_hinfo(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, hinfo->os, hinfo->os_len)); } -static inline isc_result_t -tostruct_hinfo(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_hinfo(ARGS_TOSTRUCT) +{ dns_rdata_hinfo_t *hinfo = target; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_hinfo); REQUIRE(hinfo != NULL); @@ -140,14 +137,14 @@ tostruct_hinfo(ARGS_TOSTRUCT) { hinfo->mctx = mctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (mctx != NULL && hinfo->cpu != NULL) isc_mem_free(mctx, hinfo->cpu); return (ISC_R_NOMEMORY); } -static inline void -freestruct_hinfo(ARGS_FREESTRUCT) { +static inline void freestruct_hinfo(ARGS_FREESTRUCT) +{ dns_rdata_hinfo_t *hinfo = source; REQUIRE(hinfo != NULL); @@ -162,8 +159,8 @@ freestruct_hinfo(ARGS_FREESTRUCT) { hinfo->mctx = NULL; } -static inline isc_result_t -additionaldata_hinfo(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_hinfo(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_hinfo); UNUSED(add); @@ -173,8 +170,8 @@ additionaldata_hinfo(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_hinfo(ARGS_DIGEST) { +static inline isc_result_t digest_hinfo(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_hinfo); @@ -184,9 +181,8 @@ digest_hinfo(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_hinfo(ARGS_CHECKOWNER) { - +static inline bool checkowner_hinfo(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_hinfo); UNUSED(name); @@ -197,9 +193,8 @@ checkowner_hinfo(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_hinfo(ARGS_CHECKNAMES) { - +static inline bool checknames_hinfo(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_hinfo); UNUSED(rdata); @@ -209,8 +204,8 @@ checknames_hinfo(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_hinfo(ARGS_COMPARE) { +static inline int casecompare_hinfo(ARGS_COMPARE) +{ return (compare_hinfo(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_HINFO_13_C */ +#endif /* RDATA_GENERIC_HINFO_13_C */ diff --git a/lib/dns/rdata/generic/hinfo_13.h b/lib/dns/rdata/generic/hinfo_13.h index 323be22cc4..5a4c3bed84 100644 --- a/lib/dns/rdata/generic/hinfo_13.h +++ b/lib/dns/rdata/generic/hinfo_13.h @@ -12,14 +12,13 @@ #ifndef GENERIC_HINFO_13_H #define GENERIC_HINFO_13_H 1 - typedef struct dns_rdata_hinfo { - dns_rdatacommon_t common; - isc_mem_t *mctx; - char *cpu; - char *os; - uint8_t cpu_len; - uint8_t os_len; + dns_rdatacommon_t common; + isc_mem_t * mctx; + char * cpu; + char * os; + uint8_t cpu_len; + uint8_t os_len; } dns_rdata_hinfo_t; #endif /* GENERIC_HINFO_13_H */ diff --git a/lib/dns/rdata/generic/hip_55.c b/lib/dns/rdata/generic/hip_55.c index 7c8f31b148..a4064f3bcd 100644 --- a/lib/dns/rdata/generic/hip_55.c +++ b/lib/dns/rdata/generic/hip_55.c @@ -16,15 +16,15 @@ #define RRTYPE_HIP_ATTRIBUTES (0) -static inline isc_result_t -fromtext_hip(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; - isc_buffer_t buffer; - isc_buffer_t hit_len; - isc_buffer_t key_len; +static inline isc_result_t fromtext_hip(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; + isc_buffer_t buffer; + isc_buffer_t hit_len; + isc_buffer_t key_len; unsigned char *start; - size_t len; + size_t len; REQUIRE(type == dns_rdatatype_hip); @@ -94,8 +94,7 @@ fromtext_hip(ARGS_FROMTEXT) { dns_name_init(&name, NULL); do { RETERR(isc_lex_getmastertoken(lexer, &token, - isc_tokentype_string, - true)); + isc_tokentype_string, true)); if (token.type != isc_tokentype_string) break; buffer_fromregion(&buffer, &token.value.as_region); @@ -111,13 +110,13 @@ fromtext_hip(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_hip(ARGS_TOTEXT) { - isc_region_t region; - dns_name_t name; - unsigned int length, key_len, hit_len; +static inline isc_result_t totext_hip(ARGS_TOTEXT) +{ + isc_region_t region; + dns_name_t name; + unsigned int length, key_len, hit_len; unsigned char algorithm; - char buf[sizeof("225 ")]; + char buf[sizeof("225 ")]; REQUIRE(rdata->type == dns_rdatatype_hip); REQUIRE(rdata->length != 0); @@ -179,12 +178,12 @@ totext_hip(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_hip(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_hip(ARGS_FROMWIRE) +{ isc_region_t region, rr; - dns_name_t name; - uint8_t hit_len; - uint16_t key_len; + dns_name_t name; + uint8_t hit_len; + uint16_t key_len; REQUIRE(type == dns_rdatatype_hip); @@ -199,12 +198,12 @@ fromwire_hip(ARGS_FROMWIRE) { hit_len = uint8_fromregion(®ion); if (hit_len == 0) RETERR(DNS_R_FORMERR); - isc_region_consume(®ion, 2); /* hit length + algorithm */ + isc_region_consume(®ion, 2); /* hit length + algorithm */ key_len = uint16_fromregion(®ion); if (key_len == 0) RETERR(DNS_R_FORMERR); isc_region_consume(®ion, 2); - if (region.length < (unsigned) (hit_len + key_len)) + if (region.length < (unsigned)(hit_len + key_len)) RETERR(DNS_R_FORMERR); RETERR(mem_tobuffer(target, rr.base, 4 + hit_len + key_len)); @@ -218,8 +217,8 @@ fromwire_hip(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_hip(ARGS_TOWIRE) { +static inline isc_result_t towire_hip(ARGS_TOWIRE) +{ isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_hip); @@ -231,8 +230,8 @@ towire_hip(ARGS_TOWIRE) { return (mem_tobuffer(target, region.base, region.length)); } -static inline int -compare_hip(ARGS_COMPARE) { +static inline int compare_hip(ARGS_COMPARE) +{ isc_region_t region1; isc_region_t region2; @@ -247,11 +246,11 @@ compare_hip(ARGS_COMPARE) { return (isc_region_compare(®ion1, ®ion2)); } -static inline isc_result_t -fromstruct_hip(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_hip(ARGS_FROMSTRUCT) +{ dns_rdata_hip_t *hip = source; - dns_rdata_hip_t myhip; - isc_result_t result; + dns_rdata_hip_t myhip; + isc_result_t result; REQUIRE(type == dns_rdatatype_hip); REQUIRE(hip != NULL); @@ -260,7 +259,7 @@ fromstruct_hip(ARGS_FROMSTRUCT) { REQUIRE(hip->hit_len > 0 && hip->hit != NULL); REQUIRE(hip->key_len > 0 && hip->key != NULL); REQUIRE((hip->servers == NULL && hip->servers_len == 0) || - (hip->servers != NULL && hip->servers_len != 0)); + (hip->servers != NULL && hip->servers_len != 0)); UNUSED(type); UNUSED(rdclass); @@ -272,17 +271,16 @@ fromstruct_hip(ARGS_FROMSTRUCT) { RETERR(mem_tobuffer(target, hip->key, hip->key_len)); myhip = *hip; - for (result = dns_rdata_hip_first(&myhip); - result == ISC_R_SUCCESS; + for (result = dns_rdata_hip_first(&myhip); result == ISC_R_SUCCESS; result = dns_rdata_hip_next(&myhip)) /* empty */; - return(mem_tobuffer(target, hip->servers, hip->servers_len)); + return (mem_tobuffer(target, hip->servers, hip->servers_len)); } -static inline isc_result_t -tostruct_hip(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_hip(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_hip_t *hip = target; REQUIRE(rdata->type == dns_rdatatype_hip); @@ -329,7 +327,7 @@ tostruct_hip(ARGS_TOSTRUCT) { hip->mctx = mctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (hip->hit != NULL) isc_mem_free(mctx, hip->hit); if (hip->key != NULL) @@ -337,11 +335,10 @@ tostruct_hip(ARGS_TOSTRUCT) { if (hip->servers != NULL) isc_mem_free(mctx, hip->servers); return (ISC_R_NOMEMORY); - } -static inline void -freestruct_hip(ARGS_FREESTRUCT) { +static inline void freestruct_hip(ARGS_FREESTRUCT) +{ dns_rdata_hip_t *hip = source; REQUIRE(hip != NULL); @@ -356,8 +353,8 @@ freestruct_hip(ARGS_FREESTRUCT) { hip->mctx = NULL; } -static inline isc_result_t -additionaldata_hip(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_hip(ARGS_ADDLDATA) +{ UNUSED(rdata); UNUSED(add); UNUSED(arg); @@ -367,8 +364,8 @@ additionaldata_hip(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_hip(ARGS_DIGEST) { +static inline isc_result_t digest_hip(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_hip); @@ -377,9 +374,8 @@ digest_hip(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_hip(ARGS_CHECKOWNER) { - +static inline bool checkowner_hip(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_hip); UNUSED(name); @@ -390,9 +386,8 @@ checkowner_hip(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_hip(ARGS_CHECKNAMES) { - +static inline bool checknames_hip(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_hip); UNUSED(rdata); @@ -403,7 +398,8 @@ checknames_hip(ARGS_CHECKNAMES) { } isc_result_t -dns_rdata_hip_first(dns_rdata_hip_t *hip) { +dns_rdata_hip_first(dns_rdata_hip_t *hip) +{ if (hip->servers_len == 0) return (ISC_R_NOMORE); hip->offset = 0; @@ -411,9 +407,10 @@ dns_rdata_hip_first(dns_rdata_hip_t *hip) { } isc_result_t -dns_rdata_hip_next(dns_rdata_hip_t *hip) { +dns_rdata_hip_next(dns_rdata_hip_t *hip) +{ isc_region_t region; - dns_name_t name; + dns_name_t name; if (hip->offset >= hip->servers_len) return (ISC_R_NOMORE); @@ -428,7 +425,8 @@ dns_rdata_hip_next(dns_rdata_hip_t *hip) { } void -dns_rdata_hip_current(dns_rdata_hip_t *hip, dns_name_t *name) { +dns_rdata_hip_current(dns_rdata_hip_t *hip, dns_name_t *name) +{ isc_region_t region; REQUIRE(hip->offset < hip->servers_len); @@ -440,15 +438,15 @@ dns_rdata_hip_current(dns_rdata_hip_t *hip, dns_name_t *name) { INSIST(name->length + hip->offset <= hip->servers_len); } -static inline int -casecompare_hip(ARGS_COMPARE) { +static inline int casecompare_hip(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; - dns_name_t name1; - dns_name_t name2; - int order; - uint8_t hit_len; - uint16_t key_len; + dns_name_t name1; + dns_name_t name2; + int order; + uint8_t hit_len; + uint16_t key_len; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -466,13 +464,13 @@ casecompare_hip(ARGS_COMPARE) { return (order); hit_len = uint8_fromregion(&r1); - isc_region_consume(&r1, 2); /* hit length + algorithm */ + isc_region_consume(&r1, 2); /* hit length + algorithm */ key_len = uint16_fromregion(&r1); - isc_region_consume(&r1, 2); /* key length */ + isc_region_consume(&r1, 2); /* key length */ isc_region_consume(&r2, 4); - INSIST(r1.length >= (unsigned) (hit_len + key_len)); - INSIST(r2.length >= (unsigned) (hit_len + key_len)); + INSIST(r1.length >= (unsigned)(hit_len + key_len)); + INSIST(r2.length >= (unsigned)(hit_len + key_len)); order = memcmp(r1.base, r2.base, hit_len + key_len); if (order != 0) return (order); @@ -494,4 +492,4 @@ casecompare_hip(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -#endif /* RDATA_GENERIC_HIP_5_C */ +#endif /* RDATA_GENERIC_HIP_5_C */ diff --git a/lib/dns/rdata/generic/hip_55.h b/lib/dns/rdata/generic/hip_55.h index 12c195cb47..7d5517a998 100644 --- a/lib/dns/rdata/generic/hip_55.h +++ b/lib/dns/rdata/generic/hip_55.h @@ -9,24 +9,23 @@ * information regarding copyright ownership. */ - #ifndef GENERIC_HIP_5_H #define GENERIC_HIP_5_H 1 /* RFC 5205 */ typedef struct dns_rdata_hip { - dns_rdatacommon_t common; - isc_mem_t * mctx; - unsigned char * hit; - unsigned char * key; - unsigned char * servers; - uint8_t algorithm; - uint8_t hit_len; - uint16_t key_len; - uint16_t servers_len; + dns_rdatacommon_t common; + isc_mem_t * mctx; + unsigned char * hit; + unsigned char * key; + unsigned char * servers; + uint8_t algorithm; + uint8_t hit_len; + uint16_t key_len; + uint16_t servers_len; /* Private */ - uint16_t offset; + uint16_t offset; } dns_rdata_hip_t; isc_result_t diff --git a/lib/dns/rdata/generic/ipseckey_45.c b/lib/dns/rdata/generic/ipseckey_45.c index ba880ffb66..ce2da330f4 100644 --- a/lib/dns/rdata/generic/ipseckey_45.c +++ b/lib/dns/rdata/generic/ipseckey_45.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef RDATA_GENERIC_IPSECKEY_45_C #define RDATA_GENERIC_IPSECKEY_45_C @@ -19,15 +18,15 @@ #define RRTYPE_IPSECKEY_ATTRIBUTES (0) -static inline isc_result_t -fromtext_ipseckey(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; - isc_buffer_t buffer; - unsigned int gateway; +static inline isc_result_t fromtext_ipseckey(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; + isc_buffer_t buffer; + unsigned int gateway; struct in_addr addr; - unsigned char addr6[16]; - isc_region_t region; + unsigned char addr6[16]; + isc_region_t region; REQUIRE(type == dns_rdatatype_ipseckey); @@ -100,8 +99,8 @@ fromtext_ipseckey(ARGS_FROMTEXT) { buffer_fromregion(&buffer, &token.value.as_region); if (origin == NULL) origin = dns_rootname; - RETTOK(dns_name_fromtext(&name, &buffer, origin, - options, target)); + RETTOK(dns_name_fromtext(&name, &buffer, origin, options, + target)); break; } @@ -111,11 +110,11 @@ fromtext_ipseckey(ARGS_FROMTEXT) { return (isc_base64_tobuffer(lexer, target, -2)); } -static inline isc_result_t -totext_ipseckey(ARGS_TOTEXT) { - isc_region_t region; - dns_name_t name; - char buf[sizeof("255 ")]; +static inline isc_result_t totext_ipseckey(ARGS_TOTEXT) +{ + isc_region_t region; + dns_name_t name; + char buf[sizeof("255 ")]; unsigned short num; unsigned short gateway; @@ -185,7 +184,7 @@ totext_ipseckey(ARGS_TOTEXT) { */ if (region.length > 0U) { RETERR(str_totext(tctx->linebreak, target)); - if (tctx->width == 0) /* No splitting */ + if (tctx->width == 0) /* No splitting */ RETERR(isc_base64_totext(®ion, 60, "", target)); else RETERR(isc_base64_totext(®ion, tctx->width - 2, @@ -197,9 +196,9 @@ totext_ipseckey(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_ipseckey(ARGS_FROMWIRE) { - dns_name_t name; +static inline isc_result_t fromwire_ipseckey(ARGS_FROMWIRE) +{ + dns_name_t name; isc_region_t region; REQUIRE(type == dns_rdatatype_ipseckey); @@ -238,15 +237,15 @@ fromwire_ipseckey(ARGS_FROMWIRE) { RETERR(dns_name_fromwire(&name, source, dctx, options, target)); isc_buffer_activeregion(source, ®ion); isc_buffer_forward(source, region.length); - return(mem_tobuffer(target, region.base, region.length)); + return (mem_tobuffer(target, region.base, region.length)); default: return (ISC_R_NOTIMPLEMENTED); } } -static inline isc_result_t -towire_ipseckey(ARGS_TOWIRE) { +static inline isc_result_t towire_ipseckey(ARGS_TOWIRE) +{ isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_ipseckey); @@ -258,8 +257,8 @@ towire_ipseckey(ARGS_TOWIRE) { return (mem_tobuffer(target, region.base, region.length)); } -static inline int -compare_ipseckey(ARGS_COMPARE) { +static inline int compare_ipseckey(ARGS_COMPARE) +{ isc_region_t region1; isc_region_t region2; @@ -275,11 +274,11 @@ compare_ipseckey(ARGS_COMPARE) { return (isc_region_compare(®ion1, ®ion2)); } -static inline isc_result_t -fromstruct_ipseckey(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_ipseckey(ARGS_FROMSTRUCT) +{ dns_rdata_ipseckey_t *ipseckey = source; - isc_region_t region; - uint32_t n; + isc_region_t region; + uint32_t n; REQUIRE(type == dns_rdatatype_ipseckey); REQUIRE(ipseckey != NULL); @@ -296,7 +295,7 @@ fromstruct_ipseckey(ARGS_FROMSTRUCT) { RETERR(uint8_tobuffer(ipseckey->gateway_type, target)); RETERR(uint8_tobuffer(ipseckey->algorithm, target)); - switch (ipseckey->gateway_type) { + switch (ipseckey->gateway_type) { case 0: break; @@ -318,12 +317,12 @@ fromstruct_ipseckey(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, ipseckey->key, ipseckey->keylength)); } -static inline isc_result_t -tostruct_ipseckey(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_ipseckey(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_ipseckey_t *ipseckey = target; - dns_name_t name; - uint32_t n; + dns_name_t name; + uint32_t n; REQUIRE(rdata->type == dns_rdatatype_ipseckey); REQUIRE(ipseckey != NULL); @@ -373,8 +372,8 @@ tostruct_ipseckey(ARGS_TOSTRUCT) { ipseckey->keylength = region.length; if (ipseckey->keylength != 0U) { - ipseckey->key = mem_maybedup(mctx, region.base, - ipseckey->keylength); + ipseckey->key = + mem_maybedup(mctx, region.base, ipseckey->keylength); if (ipseckey->key == NULL) { if (ipseckey->gateway_type == 3) dns_name_free(&ipseckey->gateway, @@ -388,8 +387,8 @@ tostruct_ipseckey(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_ipseckey(ARGS_FREESTRUCT) { +static inline void freestruct_ipseckey(ARGS_FREESTRUCT) +{ dns_rdata_ipseckey_t *ipseckey = source; REQUIRE(ipseckey != NULL); @@ -407,9 +406,8 @@ freestruct_ipseckey(ARGS_FREESTRUCT) { ipseckey->mctx = NULL; } -static inline isc_result_t -additionaldata_ipseckey(ARGS_ADDLDATA) { - +static inline isc_result_t additionaldata_ipseckey(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_ipseckey); UNUSED(rdata); @@ -419,8 +417,8 @@ additionaldata_ipseckey(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_ipseckey(ARGS_DIGEST) { +static inline isc_result_t digest_ipseckey(ARGS_DIGEST) +{ isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_ipseckey); @@ -429,9 +427,8 @@ digest_ipseckey(ARGS_DIGEST) { return ((digest)(arg, ®ion)); } -static inline bool -checkowner_ipseckey(ARGS_CHECKOWNER) { - +static inline bool checkowner_ipseckey(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_ipseckey); UNUSED(name); @@ -442,9 +439,8 @@ checkowner_ipseckey(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_ipseckey(ARGS_CHECKNAMES) { - +static inline bool checknames_ipseckey(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_ipseckey); UNUSED(rdata); @@ -454,13 +450,13 @@ checknames_ipseckey(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_ipseckey(ARGS_COMPARE) { +static inline int casecompare_ipseckey(ARGS_COMPARE) +{ isc_region_t region1; isc_region_t region2; - dns_name_t name1; - dns_name_t name2; - int order; + dns_name_t name1; + dns_name_t name2; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -493,4 +489,4 @@ casecompare_ipseckey(ARGS_COMPARE) { return (isc_region_compare(®ion1, ®ion2)); } -#endif /* RDATA_GENERIC_IPSECKEY_45_C */ +#endif /* RDATA_GENERIC_IPSECKEY_45_C */ diff --git a/lib/dns/rdata/generic/ipseckey_45.h b/lib/dns/rdata/generic/ipseckey_45.h index e3f5804891..05d2388768 100644 --- a/lib/dns/rdata/generic/ipseckey_45.h +++ b/lib/dns/rdata/generic/ipseckey_45.h @@ -9,21 +9,20 @@ * information regarding copyright ownership. */ - #ifndef GENERIC_IPSECKEY_45_H #define GENERIC_IPSECKEY_45_H 1 typedef struct dns_rdata_ipseckey { - dns_rdatacommon_t common; - isc_mem_t *mctx; - uint8_t precedence; - uint8_t gateway_type; - uint8_t algorithm; - struct in_addr in_addr; /* gateway type 1 */ - struct in6_addr in6_addr; /* gateway type 2 */ - dns_name_t gateway; /* gateway type 3 */ - unsigned char *key; - uint16_t keylength; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint8_t precedence; + uint8_t gateway_type; + uint8_t algorithm; + struct in_addr in_addr; /* gateway type 1 */ + struct in6_addr in6_addr; /* gateway type 2 */ + dns_name_t gateway; /* gateway type 3 */ + unsigned char * key; + uint16_t keylength; } dns_rdata_ipseckey_t; #endif /* GENERIC_IPSECKEY_45_H */ diff --git a/lib/dns/rdata/generic/isdn_20.c b/lib/dns/rdata/generic/isdn_20.c index 586142ecef..e8cfc4939b 100644 --- a/lib/dns/rdata/generic/isdn_20.c +++ b/lib/dns/rdata/generic/isdn_20.c @@ -16,8 +16,8 @@ #define RRTYPE_ISDN_ATTRIBUTES (0) -static inline isc_result_t -fromtext_isdn(ARGS_FROMTEXT) { +static inline isc_result_t fromtext_isdn(ARGS_FROMTEXT) +{ isc_token_t token; REQUIRE(type == dns_rdatatype_isdn); @@ -45,8 +45,8 @@ fromtext_isdn(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_isdn(ARGS_TOTEXT) { +static inline isc_result_t totext_isdn(ARGS_TOTEXT) +{ isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_isdn); @@ -62,8 +62,8 @@ totext_isdn(ARGS_TOTEXT) { return (txt_totext(®ion, true, target)); } -static inline isc_result_t -fromwire_isdn(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_isdn(ARGS_FROMWIRE) +{ REQUIRE(type == dns_rdatatype_isdn); UNUSED(type); @@ -77,8 +77,8 @@ fromwire_isdn(ARGS_FROMWIRE) { return (txt_fromwire(source, target)); } -static inline isc_result_t -towire_isdn(ARGS_TOWIRE) { +static inline isc_result_t towire_isdn(ARGS_TOWIRE) +{ UNUSED(cctx); REQUIRE(rdata->type == dns_rdatatype_isdn); @@ -87,8 +87,8 @@ towire_isdn(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_isdn(ARGS_COMPARE) { +static inline int compare_isdn(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -103,8 +103,8 @@ compare_isdn(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_isdn(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_isdn(ARGS_FROMSTRUCT) +{ dns_rdata_isdn_t *isdn = source; REQUIRE(type == dns_rdatatype_isdn); @@ -123,10 +123,10 @@ fromstruct_isdn(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, isdn->subaddress, isdn->subaddress_len)); } -static inline isc_result_t -tostruct_isdn(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_isdn(ARGS_TOSTRUCT) +{ dns_rdata_isdn_t *isdn = target; - isc_region_t r; + isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_isdn); REQUIRE(isdn != NULL); @@ -151,8 +151,8 @@ tostruct_isdn(ARGS_TOSTRUCT) { } else { isdn->subaddress_len = uint8_fromregion(&r); isc_region_consume(&r, 1); - isdn->subaddress = mem_maybedup(mctx, r.base, - isdn->subaddress_len); + isdn->subaddress = + mem_maybedup(mctx, r.base, isdn->subaddress_len); if (isdn->subaddress == NULL) goto cleanup; } @@ -160,14 +160,14 @@ tostruct_isdn(ARGS_TOSTRUCT) { isdn->mctx = mctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (mctx != NULL && isdn->isdn != NULL) isc_mem_free(mctx, isdn->isdn); return (ISC_R_NOMEMORY); } -static inline void -freestruct_isdn(ARGS_FREESTRUCT) { +static inline void freestruct_isdn(ARGS_FREESTRUCT) +{ dns_rdata_isdn_t *isdn = source; REQUIRE(isdn != NULL); @@ -182,8 +182,8 @@ freestruct_isdn(ARGS_FREESTRUCT) { isdn->mctx = NULL; } -static inline isc_result_t -additionaldata_isdn(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_isdn(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_isdn); UNUSED(rdata); @@ -193,8 +193,8 @@ additionaldata_isdn(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_isdn(ARGS_DIGEST) { +static inline isc_result_t digest_isdn(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_isdn); @@ -204,9 +204,8 @@ digest_isdn(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_isdn(ARGS_CHECKOWNER) { - +static inline bool checkowner_isdn(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_isdn); UNUSED(name); @@ -217,9 +216,8 @@ checkowner_isdn(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_isdn(ARGS_CHECKNAMES) { - +static inline bool checknames_isdn(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_isdn); UNUSED(rdata); @@ -229,9 +227,9 @@ checknames_isdn(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_isdn(ARGS_COMPARE) { +static inline int casecompare_isdn(ARGS_COMPARE) +{ return (compare_isdn(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_ISDN_20_C */ +#endif /* RDATA_GENERIC_ISDN_20_C */ diff --git a/lib/dns/rdata/generic/isdn_20.h b/lib/dns/rdata/generic/isdn_20.h index 48758bba56..c2c3cc6980 100644 --- a/lib/dns/rdata/generic/isdn_20.h +++ b/lib/dns/rdata/generic/isdn_20.h @@ -12,17 +12,16 @@ #ifndef GENERIC_ISDN_20_H #define GENERIC_ISDN_20_H 1 - /*! * \brief Per RFC1183 */ typedef struct dns_rdata_isdn { - dns_rdatacommon_t common; - isc_mem_t *mctx; - char *isdn; - char *subaddress; - uint8_t isdn_len; - uint8_t subaddress_len; + dns_rdatacommon_t common; + isc_mem_t * mctx; + char * isdn; + char * subaddress; + uint8_t isdn_len; + uint8_t subaddress_len; } dns_rdata_isdn_t; #endif /* GENERIC_ISDN_20_H */ diff --git a/lib/dns/rdata/generic/key_25.c b/lib/dns/rdata/generic/key_25.c index 88f3075dc6..5075f3600b 100644 --- a/lib/dns/rdata/generic/key_25.c +++ b/lib/dns/rdata/generic/key_25.c @@ -17,7 +17,7 @@ #include #define RRTYPE_KEY_ATTRIBUTES \ - ( DNS_RDATATYPEATTR_ATCNAME | DNS_RDATATYPEATTR_ZONECUTAUTH ) + (DNS_RDATATYPEATTR_ATCNAME | DNS_RDATATYPEATTR_ZONECUTAUTH) /* * RFC 2535 section 3.1.2 says that if bits 0-1 of the Flags field are @@ -30,7 +30,8 @@ * RKEY - draft-reid-dnsext-rkey-00 */ static inline bool -generic_key_nokey(dns_rdatatype_t type, unsigned int flags) { +generic_key_nokey(dns_rdatatype_t type, unsigned int flags) +{ switch (type) { case dns_rdatatype_cdnskey: case dns_rdatatype_dnskey: @@ -42,10 +43,10 @@ generic_key_nokey(dns_rdatatype_t type, unsigned int flags) { } } -static inline isc_result_t -generic_fromtext_key(ARGS_FROMTEXT) { - isc_token_t token; - dns_secalg_t alg; +static inline isc_result_t generic_fromtext_key(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_secalg_t alg; dns_secproto_t proto; dns_keyflags_t flags; @@ -83,15 +84,15 @@ generic_fromtext_key(ARGS_FROMTEXT) { return (isc_base64_tobuffer(lexer, target, -2)); } -static inline isc_result_t -generic_totext_key(ARGS_TOTEXT) { - isc_region_t sr; - char buf[sizeof("[key id = 64000]")]; - unsigned int flags; +static inline isc_result_t generic_totext_key(ARGS_TOTEXT) +{ + isc_region_t sr; + char buf[sizeof("[key id = 64000]")]; + unsigned int flags; unsigned char algorithm; - char algbuf[DNS_NAME_FORMATSIZE]; - const char *keyinfo; - isc_region_t tmpr; + char algbuf[DNS_NAME_FORMATSIZE]; + const char * keyinfo; + isc_region_t tmpr; REQUIRE(rdata->length != 0); @@ -111,7 +112,6 @@ generic_totext_key(ARGS_TOTEXT) { } else keyinfo = "ZSK"; - /* protocol */ snprintf(buf, sizeof(buf), "%u", sr.base[0]); isc_region_consume(&sr, 1); @@ -130,13 +130,13 @@ generic_totext_key(ARGS_TOTEXT) { } if ((tctx->flags & DNS_STYLEFLAG_RRCOMMENT) != 0 && - algorithm == DNS_KEYALG_PRIVATEDNS) { + algorithm == DNS_KEYALG_PRIVATEDNS) { dns_name_t name; dns_name_init(&name, NULL); dns_name_fromregion(&name, &sr); dns_name_format(&name, algbuf, sizeof(algbuf)); } else { - dns_secalg_format((dns_secalg_t) algorithm, algbuf, + dns_secalg_format((dns_secalg_t)algorithm, algbuf, sizeof(algbuf)); } @@ -146,7 +146,7 @@ generic_totext_key(ARGS_TOTEXT) { RETERR(str_totext(tctx->linebreak, target)); if ((tctx->flags & DNS_STYLEFLAG_NOCRYPTO) == 0) { - if (tctx->width == 0) /* No splitting */ + if (tctx->width == 0) /* No splitting */ RETERR(isc_base64_totext(&sr, 60, "", target)); else RETERR(isc_base64_totext(&sr, tctx->width - 2, @@ -167,7 +167,6 @@ generic_totext_key(ARGS_TOTEXT) { RETERR(str_totext(")", target)); if ((tctx->flags & DNS_STYLEFLAG_RRCOMMENT) != 0) { - if (rdata->type == dns_rdatatype_dnskey || rdata->type == dns_rdatatype_cdnskey) { RETERR(str_totext(" ; ", target)); @@ -177,18 +176,17 @@ generic_totext_key(ARGS_TOTEXT) { RETERR(str_totext(algbuf, target)); RETERR(str_totext(" ; key id = ", target)); dns_rdata_toregion(rdata, &tmpr); - snprintf(buf, sizeof(buf), "%u", - dst_region_computeid(&tmpr)); + snprintf(buf, sizeof(buf), "%u", dst_region_computeid(&tmpr)); RETERR(str_totext(buf, target)); } return (ISC_R_SUCCESS); } -static inline isc_result_t -generic_fromwire_key(ARGS_FROMWIRE) { +static inline isc_result_t generic_fromwire_key(ARGS_FROMWIRE) +{ unsigned char algorithm; - uint16_t flags; - isc_region_t sr; + uint16_t flags; + isc_region_t sr; UNUSED(rdclass); UNUSED(dctx); @@ -228,35 +226,32 @@ generic_fromwire_key(ARGS_FROMWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline isc_result_t -fromtext_key(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_key(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_key); - return (generic_fromtext_key(rdclass, type, lexer, origin, - options, target, callbacks)); + return (generic_fromtext_key(rdclass, type, lexer, origin, options, + target, callbacks)); } -static inline isc_result_t -totext_key(ARGS_TOTEXT) { - +static inline isc_result_t totext_key(ARGS_TOTEXT) +{ REQUIRE(rdata != NULL); REQUIRE(rdata->type == dns_rdatatype_key); return (generic_totext_key(rdata, tctx, target)); } -static inline isc_result_t -fromwire_key(ARGS_FROMWIRE) { - +static inline isc_result_t fromwire_key(ARGS_FROMWIRE) +{ REQUIRE(type == dns_rdatatype_key); - return (generic_fromwire_key(rdclass, type, source, dctx, - options, target)); + return (generic_fromwire_key(rdclass, type, source, dctx, options, + target)); } -static inline isc_result_t -towire_key(ARGS_TOWIRE) { +static inline isc_result_t towire_key(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata != NULL); @@ -269,8 +264,8 @@ towire_key(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_key(ARGS_COMPARE) { +static inline int compare_key(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -287,8 +282,8 @@ compare_key(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -generic_fromstruct_key(ARGS_FROMSTRUCT) { +static inline isc_result_t generic_fromstruct_key(ARGS_FROMSTRUCT) +{ dns_rdata_key_t *key = source; REQUIRE(key != NULL); @@ -315,10 +310,10 @@ generic_fromstruct_key(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, key->data, key->datalen)); } -static inline isc_result_t -generic_tostruct_key(ARGS_TOSTRUCT) { +static inline isc_result_t generic_tostruct_key(ARGS_TOSTRUCT) +{ dns_rdata_key_t *key = target; - isc_region_t sr; + isc_region_t sr; REQUIRE(key != NULL); REQUIRE(rdata->length != 0); @@ -358,9 +353,9 @@ generic_tostruct_key(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -generic_freestruct_key(ARGS_FREESTRUCT) { - dns_rdata_key_t *key = (dns_rdata_key_t *) source; +static inline void generic_freestruct_key(ARGS_FREESTRUCT) +{ + dns_rdata_key_t *key = (dns_rdata_key_t *)source; REQUIRE(key != NULL); @@ -372,16 +367,15 @@ generic_freestruct_key(ARGS_FREESTRUCT) { key->mctx = NULL; } -static inline isc_result_t -fromstruct_key(ARGS_FROMSTRUCT) { - +static inline isc_result_t fromstruct_key(ARGS_FROMSTRUCT) +{ REQUIRE(type == dns_rdatatype_key); return (generic_fromstruct_key(rdclass, type, source, target)); } -static inline isc_result_t -tostruct_key(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_key(ARGS_TOSTRUCT) +{ dns_rdata_key_t *key = target; REQUIRE(key != NULL); @@ -395,9 +389,9 @@ tostruct_key(ARGS_TOSTRUCT) { return (generic_tostruct_key(rdata, target, mctx)); } -static inline void -freestruct_key(ARGS_FREESTRUCT) { - dns_rdata_key_t *key = (dns_rdata_key_t *) source; +static inline void freestruct_key(ARGS_FREESTRUCT) +{ + dns_rdata_key_t *key = (dns_rdata_key_t *)source; REQUIRE(key != NULL); REQUIRE(key->common.rdtype == dns_rdatatype_key); @@ -405,9 +399,8 @@ freestruct_key(ARGS_FREESTRUCT) { generic_freestruct_key(source); } -static inline isc_result_t -additionaldata_key(ARGS_ADDLDATA) { - +static inline isc_result_t additionaldata_key(ARGS_ADDLDATA) +{ REQUIRE(rdata != NULL); REQUIRE(rdata->type == dns_rdatatype_key); @@ -418,8 +411,8 @@ additionaldata_key(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_key(ARGS_DIGEST) { +static inline isc_result_t digest_key(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata != NULL); @@ -430,9 +423,8 @@ digest_key(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_key(ARGS_CHECKOWNER) { - +static inline bool checkowner_key(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_key); UNUSED(name); @@ -443,9 +435,8 @@ checkowner_key(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_key(ARGS_CHECKNAMES) { - +static inline bool checknames_key(ARGS_CHECKNAMES) +{ REQUIRE(rdata != NULL); REQUIRE(rdata->type == dns_rdatatype_key); @@ -456,9 +447,9 @@ checknames_key(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_key(ARGS_COMPARE) { +static inline int casecompare_key(ARGS_COMPARE) +{ return (compare_key(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_KEY_25_C */ +#endif /* RDATA_GENERIC_KEY_25_C */ diff --git a/lib/dns/rdata/generic/key_25.h b/lib/dns/rdata/generic/key_25.h index 4bcad50b11..e19792bc30 100644 --- a/lib/dns/rdata/generic/key_25.h +++ b/lib/dns/rdata/generic/key_25.h @@ -12,19 +12,17 @@ #ifndef GENERIC_KEY_25_H #define GENERIC_KEY_25_H 1 - /*! * \brief Per RFC2535 */ typedef struct dns_rdata_key { - dns_rdatacommon_t common; - isc_mem_t * mctx; - uint16_t flags; - dns_secproto_t protocol; - dns_secalg_t algorithm; - uint16_t datalen; - unsigned char * data; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint16_t flags; + dns_secproto_t protocol; + dns_secalg_t algorithm; + uint16_t datalen; + unsigned char * data; } dns_rdata_key_t; - #endif /* GENERIC_KEY_25_H */ diff --git a/lib/dns/rdata/generic/keydata_65533.c b/lib/dns/rdata/generic/keydata_65533.c index 56c92b75fb..04b892f222 100644 --- a/lib/dns/rdata/generic/keydata_65533.c +++ b/lib/dns/rdata/generic/keydata_65533.c @@ -12,20 +12,20 @@ #ifndef GENERIC_KEYDATA_65533_C #define GENERIC_KEYDATA_65533_C 1 -#include #include +#include #include #define RRTYPE_KEYDATA_ATTRIBUTES (0) -static inline isc_result_t -fromtext_keydata(ARGS_FROMTEXT) { - isc_token_t token; - dns_secalg_t alg; +static inline isc_result_t fromtext_keydata(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_secalg_t alg; dns_secproto_t proto; dns_keyflags_t flags; - uint32_t refresh, addhd, removehd; + uint32_t refresh, addhd, removehd; REQUIRE(type == dns_rdatatype_keydata); @@ -78,15 +78,15 @@ fromtext_keydata(ARGS_FROMTEXT) { return (isc_base64_tobuffer(lexer, target, -2)); } -static inline isc_result_t -totext_keydata(ARGS_TOTEXT) { - isc_region_t sr; - char buf[sizeof("64000")]; - unsigned int flags; +static inline isc_result_t totext_keydata(ARGS_TOTEXT) +{ + isc_region_t sr; + char buf[sizeof("64000")]; + unsigned int flags; unsigned char algorithm; unsigned long refresh, add, deltime; - char algbuf[DNS_NAME_FORMATSIZE]; - const char *keyinfo; + char algbuf[DNS_NAME_FORMATSIZE]; + const char * keyinfo; REQUIRE(rdata->type == dns_rdatatype_keydata); @@ -149,11 +149,11 @@ totext_keydata(ARGS_TOTEXT) { if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) RETERR(str_totext(" (", target)); RETERR(str_totext(tctx->linebreak, target)); - if (tctx->width == 0) /* No splitting */ + if (tctx->width == 0) /* No splitting */ RETERR(isc_base64_totext(&sr, 60, "", target)); else - RETERR(isc_base64_totext(&sr, tctx->width - 2, - tctx->linebreak, target)); + RETERR(isc_base64_totext(&sr, tctx->width - 2, tctx->linebreak, + target)); if ((tctx->flags & DNS_STYLEFLAG_RRCOMMENT) != 0) RETERR(str_totext(tctx->linebreak, target)); @@ -165,14 +165,14 @@ totext_keydata(ARGS_TOTEXT) { if ((tctx->flags & DNS_STYLEFLAG_RRCOMMENT) != 0) { isc_region_t tmpr; - char rbuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; - char abuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; - char dbuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; - isc_time_t t; + char rbuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; + char abuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; + char dbuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; + isc_time_t t; RETERR(str_totext(" ; ", target)); RETERR(str_totext(keyinfo, target)); - dns_secalg_format((dns_secalg_t) algorithm, algbuf, + dns_secalg_format((dns_secalg_t)algorithm, algbuf, sizeof(algbuf)); RETERR(str_totext("; alg = ", target)); RETERR(str_totext(algbuf, target)); @@ -180,8 +180,7 @@ totext_keydata(ARGS_TOTEXT) { dns_rdata_toregion(rdata, &tmpr); /* Skip over refresh, addhd, and removehd */ isc_region_consume(&tmpr, 12); - snprintf(buf, sizeof(buf), "%u", - dst_region_computeid(&tmpr)); + snprintf(buf, sizeof(buf), "%u", dst_region_computeid(&tmpr)); RETERR(str_totext(buf, target)); if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) { @@ -223,13 +222,12 @@ totext_keydata(ARGS_TOTEXT) { RETERR(str_totext(dbuf, target)); } } - } return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_keydata(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_keydata(ARGS_FROMWIRE) +{ isc_region_t sr; REQUIRE(type == dns_rdatatype_keydata); @@ -244,8 +242,8 @@ fromwire_keydata(ARGS_FROMWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline isc_result_t -towire_keydata(ARGS_TOWIRE) { +static inline isc_result_t towire_keydata(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_keydata); @@ -256,8 +254,8 @@ towire_keydata(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_keydata(ARGS_COMPARE) { +static inline int compare_keydata(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -270,8 +268,8 @@ compare_keydata(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_keydata(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_keydata(ARGS_FROMSTRUCT) +{ dns_rdata_keydata_t *keydata = source; REQUIRE(type == dns_rdatatype_keydata); @@ -304,10 +302,10 @@ fromstruct_keydata(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, keydata->data, keydata->datalen)); } -static inline isc_result_t -tostruct_keydata(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_keydata(ARGS_TOSTRUCT) +{ dns_rdata_keydata_t *keydata = target; - isc_region_t sr; + isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_keydata); REQUIRE(keydata != NULL); @@ -364,9 +362,9 @@ tostruct_keydata(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_keydata(ARGS_FREESTRUCT) { - dns_rdata_keydata_t *keydata = (dns_rdata_keydata_t *) source; +static inline void freestruct_keydata(ARGS_FREESTRUCT) +{ + dns_rdata_keydata_t *keydata = (dns_rdata_keydata_t *)source; REQUIRE(keydata != NULL); REQUIRE(keydata->common.rdtype == dns_rdatatype_keydata); @@ -379,8 +377,8 @@ freestruct_keydata(ARGS_FREESTRUCT) { keydata->mctx = NULL; } -static inline isc_result_t -additionaldata_keydata(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_keydata(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_keydata); UNUSED(rdata); @@ -390,8 +388,8 @@ additionaldata_keydata(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_keydata(ARGS_DIGEST) { +static inline isc_result_t digest_keydata(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_keydata); @@ -401,9 +399,8 @@ digest_keydata(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_keydata(ARGS_CHECKOWNER) { - +static inline bool checkowner_keydata(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_keydata); UNUSED(name); @@ -414,9 +411,8 @@ checkowner_keydata(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_keydata(ARGS_CHECKNAMES) { - +static inline bool checknames_keydata(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_keydata); UNUSED(rdata); @@ -426,8 +422,8 @@ checknames_keydata(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_keydata(ARGS_COMPARE) { +static inline int casecompare_keydata(ARGS_COMPARE) +{ return (compare_keydata(rdata1, rdata2)); } diff --git a/lib/dns/rdata/generic/keydata_65533.h b/lib/dns/rdata/generic/keydata_65533.h index 45a8fa9ee2..ed8f62ef83 100644 --- a/lib/dns/rdata/generic/keydata_65533.h +++ b/lib/dns/rdata/generic/keydata_65533.h @@ -12,18 +12,17 @@ #ifndef GENERIC_KEYDATA_65533_H #define GENERIC_KEYDATA_65533_H 1 - typedef struct dns_rdata_keydata { - dns_rdatacommon_t common; - isc_mem_t * mctx; - uint32_t refresh; /* Timer for refreshing data */ - uint32_t addhd; /* Hold-down timer for adding */ - uint32_t removehd; /* Hold-down timer for removing */ - uint16_t flags; /* Copy of DNSKEY_48 */ - dns_secproto_t protocol; - dns_secalg_t algorithm; - uint16_t datalen; - unsigned char * data; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint32_t refresh; /* Timer for refreshing data */ + uint32_t addhd; /* Hold-down timer for adding */ + uint32_t removehd; /* Hold-down timer for removing */ + uint16_t flags; /* Copy of DNSKEY_48 */ + dns_secproto_t protocol; + dns_secalg_t algorithm; + uint16_t datalen; + unsigned char * data; } dns_rdata_keydata_t; #endif /* GENERIC_KEYDATA_65533_H */ diff --git a/lib/dns/rdata/generic/l32_105.c b/lib/dns/rdata/generic/l32_105.c index c87789f4d5..eeebac35a2 100644 --- a/lib/dns/rdata/generic/l32_105.c +++ b/lib/dns/rdata/generic/l32_105.c @@ -18,11 +18,11 @@ #define RRTYPE_L32_ATTRIBUTES (0) -static inline isc_result_t -fromtext_l32(ARGS_FROMTEXT) { - isc_token_t token; +static inline isc_result_t fromtext_l32(ARGS_FROMTEXT) +{ + isc_token_t token; struct in_addr addr; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_l32); @@ -51,10 +51,10 @@ fromtext_l32(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_l32(ARGS_TOTEXT) { - isc_region_t region; - char buf[sizeof("65000")]; +static inline isc_result_t totext_l32(ARGS_TOTEXT) +{ + isc_region_t region; + char buf[sizeof("65000")]; unsigned short num; REQUIRE(rdata->type == dns_rdatatype_l32); @@ -73,8 +73,8 @@ totext_l32(ARGS_TOTEXT) { return (inet_totext(AF_INET, ®ion, target)); } -static inline isc_result_t -fromwire_l32(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_l32(ARGS_FROMWIRE) +{ isc_region_t sregion; REQUIRE(type == dns_rdatatype_l32); @@ -91,9 +91,8 @@ fromwire_l32(ARGS_FROMWIRE) { return (mem_tobuffer(target, sregion.base, sregion.length)); } -static inline isc_result_t -towire_l32(ARGS_TOWIRE) { - +static inline isc_result_t towire_l32(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_l32); REQUIRE(rdata->length == 6); @@ -102,8 +101,8 @@ towire_l32(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_l32(ARGS_COMPARE) { +static inline int compare_l32(ARGS_COMPARE) +{ isc_region_t region1; isc_region_t region2; @@ -118,10 +117,10 @@ compare_l32(ARGS_COMPARE) { return (isc_region_compare(®ion1, ®ion2)); } -static inline isc_result_t -fromstruct_l32(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_l32(ARGS_FROMSTRUCT) +{ dns_rdata_l32_t *l32 = source; - uint32_t n; + uint32_t n; REQUIRE(type == dns_rdatatype_l32); REQUIRE(l32 != NULL); @@ -136,11 +135,11 @@ fromstruct_l32(ARGS_FROMSTRUCT) { return (uint32_tobuffer(n, target)); } -static inline isc_result_t -tostruct_l32(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_l32(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_l32_t *l32 = target; - uint32_t n; + uint32_t n; REQUIRE(rdata->type == dns_rdatatype_l32); REQUIRE(l32 != NULL); @@ -159,8 +158,8 @@ tostruct_l32(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_l32(ARGS_FREESTRUCT) { +static inline void freestruct_l32(ARGS_FREESTRUCT) +{ dns_rdata_l32_t *l32 = source; REQUIRE(l32 != NULL); @@ -169,9 +168,8 @@ freestruct_l32(ARGS_FREESTRUCT) { return; } -static inline isc_result_t -additionaldata_l32(ARGS_ADDLDATA) { - +static inline isc_result_t additionaldata_l32(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_l32); REQUIRE(rdata->length == 6); @@ -182,8 +180,8 @@ additionaldata_l32(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_l32(ARGS_DIGEST) { +static inline isc_result_t digest_l32(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_l32); @@ -194,9 +192,8 @@ digest_l32(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_l32(ARGS_CHECKOWNER) { - +static inline bool checkowner_l32(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_l32); UNUSED(name); @@ -207,9 +204,8 @@ checkowner_l32(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_l32(ARGS_CHECKNAMES) { - +static inline bool checknames_l32(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_l32); REQUIRE(rdata->length == 6); @@ -220,9 +216,9 @@ checknames_l32(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_l32(ARGS_COMPARE) { +static inline int casecompare_l32(ARGS_COMPARE) +{ return (compare_l32(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_L32_105_C */ +#endif /* RDATA_GENERIC_L32_105_C */ diff --git a/lib/dns/rdata/generic/l32_105.h b/lib/dns/rdata/generic/l32_105.h index 3fca0f2721..3d15dc7cea 100644 --- a/lib/dns/rdata/generic/l32_105.h +++ b/lib/dns/rdata/generic/l32_105.h @@ -14,9 +14,9 @@ #define GENERIC_L32_105_H 1 typedef struct dns_rdata_l32 { - dns_rdatacommon_t common; - uint16_t pref; - struct in_addr l32; + dns_rdatacommon_t common; + uint16_t pref; + struct in_addr l32; } dns_rdata_l32_t; #endif /* GENERIC_L32_105_H */ diff --git a/lib/dns/rdata/generic/l64_106.c b/lib/dns/rdata/generic/l64_106.c index a3e7ab1b0a..782c41f735 100644 --- a/lib/dns/rdata/generic/l64_106.c +++ b/lib/dns/rdata/generic/l64_106.c @@ -18,9 +18,9 @@ #define RRTYPE_L64_ATTRIBUTES (0) -static inline isc_result_t -fromtext_l64(ARGS_FROMTEXT) { - isc_token_t token; +static inline isc_result_t fromtext_l64(ARGS_FROMTEXT) +{ + isc_token_t token; unsigned char locator[NS_LOCATORSZ]; REQUIRE(type == dns_rdatatype_l64); @@ -45,10 +45,10 @@ fromtext_l64(ARGS_FROMTEXT) { return (mem_tobuffer(target, locator, NS_LOCATORSZ)); } -static inline isc_result_t -totext_l64(ARGS_TOTEXT) { - isc_region_t region; - char buf[sizeof("xxxx:xxxx:xxxx:xxxx")]; +static inline isc_result_t totext_l64(ARGS_TOTEXT) +{ + isc_region_t region; + char buf[sizeof("xxxx:xxxx:xxxx:xxxx")]; unsigned short num; REQUIRE(rdata->type == dns_rdatatype_l64); @@ -65,15 +65,15 @@ totext_l64(ARGS_TOTEXT) { RETERR(str_totext(" ", target)); snprintf(buf, sizeof(buf), "%x:%x:%x:%x", - region.base[0]<<8 | region.base[1], - region.base[2]<<8 | region.base[3], - region.base[4]<<8 | region.base[5], - region.base[6]<<8 | region.base[7]); + region.base[0] << 8 | region.base[1], + region.base[2] << 8 | region.base[3], + region.base[4] << 8 | region.base[5], + region.base[6] << 8 | region.base[7]); return (str_totext(buf, target)); } -static inline isc_result_t -fromwire_l64(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_l64(ARGS_FROMWIRE) +{ isc_region_t sregion; REQUIRE(type == dns_rdatatype_l64); @@ -90,9 +90,8 @@ fromwire_l64(ARGS_FROMWIRE) { return (mem_tobuffer(target, sregion.base, sregion.length)); } -static inline isc_result_t -towire_l64(ARGS_TOWIRE) { - +static inline isc_result_t towire_l64(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_l64); REQUIRE(rdata->length == 10); @@ -101,8 +100,8 @@ towire_l64(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_l64(ARGS_COMPARE) { +static inline int compare_l64(ARGS_COMPARE) +{ isc_region_t region1; isc_region_t region2; @@ -117,8 +116,8 @@ compare_l64(ARGS_COMPARE) { return (isc_region_compare(®ion1, ®ion2)); } -static inline isc_result_t -fromstruct_l64(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_l64(ARGS_FROMSTRUCT) +{ dns_rdata_l64_t *l64 = source; REQUIRE(type == dns_rdatatype_l64); @@ -133,9 +132,9 @@ fromstruct_l64(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, l64->l64, sizeof(l64->l64))); } -static inline isc_result_t -tostruct_l64(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_l64(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_l64_t *l64 = target; REQUIRE(rdata->type == dns_rdatatype_l64); @@ -154,8 +153,8 @@ tostruct_l64(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_l64(ARGS_FREESTRUCT) { +static inline void freestruct_l64(ARGS_FREESTRUCT) +{ dns_rdata_l64_t *l64 = source; REQUIRE(l64 != NULL); @@ -164,9 +163,8 @@ freestruct_l64(ARGS_FREESTRUCT) { return; } -static inline isc_result_t -additionaldata_l64(ARGS_ADDLDATA) { - +static inline isc_result_t additionaldata_l64(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_l64); REQUIRE(rdata->length == 10); @@ -177,8 +175,8 @@ additionaldata_l64(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_l64(ARGS_DIGEST) { +static inline isc_result_t digest_l64(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_l64); @@ -189,9 +187,8 @@ digest_l64(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_l64(ARGS_CHECKOWNER) { - +static inline bool checkowner_l64(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_l64); UNUSED(name); @@ -202,9 +199,8 @@ checkowner_l64(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_l64(ARGS_CHECKNAMES) { - +static inline bool checknames_l64(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_l64); REQUIRE(rdata->length == 10); @@ -215,9 +211,9 @@ checknames_l64(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_l64(ARGS_COMPARE) { +static inline int casecompare_l64(ARGS_COMPARE) +{ return (compare_l64(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_L64_106_C */ +#endif /* RDATA_GENERIC_L64_106_C */ diff --git a/lib/dns/rdata/generic/l64_106.h b/lib/dns/rdata/generic/l64_106.h index 968a138816..71dd137851 100644 --- a/lib/dns/rdata/generic/l64_106.h +++ b/lib/dns/rdata/generic/l64_106.h @@ -14,9 +14,9 @@ #define GENERIC_L64_106_H 1 typedef struct dns_rdata_l64 { - dns_rdatacommon_t common; - uint16_t pref; - unsigned char l64[8]; + dns_rdatacommon_t common; + uint16_t pref; + unsigned char l64[8]; } dns_rdata_l64_t; #endif /* GENERIC_L64_106_H */ diff --git a/lib/dns/rdata/generic/loc_29.c b/lib/dns/rdata/generic/loc_29.c index 792c8e7300..343c0e3213 100644 --- a/lib/dns/rdata/generic/loc_29.c +++ b/lib/dns/rdata/generic/loc_29.c @@ -16,26 +16,26 @@ #define RRTYPE_LOC_ATTRIBUTES (0) -static inline isc_result_t -fromtext_loc(ARGS_FROMTEXT) { - isc_token_t token; - int d1, m1, s1; - int d2, m2, s2; +static inline isc_result_t fromtext_loc(ARGS_FROMTEXT) +{ + isc_token_t token; + int d1, m1, s1; + int d2, m2, s2; unsigned char size; unsigned char hp; unsigned char vp; unsigned char version; - bool east = false; - bool north = false; - long tmp; - long m; - long cm; - long poweroften[8] = { 1, 10, 100, 1000, - 10000, 100000, 1000000, 10000000 }; - int man; - int exp; - char *e; - int i; + bool east = false; + bool north = false; + long tmp; + long m; + long cm; + long poweroften[8] = { 1, 10, 100, 1000, + 10000, 100000, 1000000, 10000000 }; + int man; + int exp; + char * e; + int i; unsigned long latitude; unsigned long longitude; unsigned long altitude; @@ -52,9 +52,9 @@ fromtext_loc(ARGS_FROMTEXT) { */ m1 = s1 = 0; m2 = s2 = 0; - size = 0x12; /* 1.00m */ - hp = 0x16; /* 10000.00 m */ - vp = 0x13; /* 10.00 m */ + size = 0x12; /* 1.00m */ + hp = 0x16; /* 10000.00 m */ + vp = 0x13; /* 10.00 m */ version = 0; /* @@ -115,12 +115,13 @@ fromtext_loc(ARGS_FROMTEXT) { RETTOK(DNS_R_SYNTAX); } if (*l != '\0' && callbacks != NULL) { - const char *file = isc_lex_getsourcename(lexer); + const char * file = isc_lex_getsourcename(lexer); unsigned long line = isc_lex_getsourceline(lexer); if (file == NULL) file = "UNKNOWN"; - (*callbacks->warn)(callbacks, "%s: %s:%u: '%s' extra " + (*callbacks->warn)(callbacks, + "%s: %s:%u: '%s' extra " "precision digits ignored", "dns_rdata_fromtext", file, line, DNS_AS_STR(token)); @@ -140,7 +141,7 @@ fromtext_loc(ARGS_FROMTEXT) { if (!north && strcasecmp(DNS_AS_STR(token), "S") != 0) RETTOK(DNS_R_SYNTAX); - getlong: +getlong: /* * Degrees. */ @@ -200,15 +201,16 @@ fromtext_loc(ARGS_FROMTEXT) { RETTOK(DNS_R_SYNTAX); } if (*l != '\0' && callbacks != NULL) { - const char *file = isc_lex_getsourcename(lexer); + const char * file = isc_lex_getsourcename(lexer); unsigned long line = isc_lex_getsourceline(lexer); if (file == NULL) file = "UNKNOWN"; - (*callbacks->warn)(callbacks, "%s: %s:%u: '%s' extra " + (*callbacks->warn)(callbacks, + "%s: %s:%u: '%s' extra " "precision digits ignored", - "dns_rdata_fromtext", - file, line, DNS_AS_STR(token)); + "dns_rdata_fromtext", file, line, + DNS_AS_STR(token)); } } else s2 *= 1000; @@ -225,7 +227,7 @@ fromtext_loc(ARGS_FROMTEXT) { if (!east && strcasecmp(DNS_AS_STR(token), "W") != 0) RETTOK(DNS_R_SYNTAX); - getalt: +getalt: /* * Altitude. */ @@ -306,7 +308,7 @@ fromtext_loc(ARGS_FROMTEXT) { */ if (m > 0) { for (exp = 0; exp < 7; exp++) - if (m < poweroften[exp+1]) + if (m < poweroften[exp + 1]) break; man = m / poweroften[exp]; exp += 2; @@ -359,14 +361,14 @@ fromtext_loc(ARGS_FROMTEXT) { */ if (m > 0) { for (exp = 0; exp < 7; exp++) - if (m < poweroften[exp+1]) + if (m < poweroften[exp + 1]) break; man = m / poweroften[exp]; exp += 2; } else if (cm >= 10) { man = cm / 10; exp = 1; - } else { + } else { man = cm; exp = 0; } @@ -410,7 +412,7 @@ fromtext_loc(ARGS_FROMTEXT) { */ if (m > 0) { for (exp = 0; exp < 7; exp++) - if (m < poweroften[exp+1]) + if (m < poweroften[exp + 1]) break; man = m / poweroften[exp]; exp += 2; @@ -423,45 +425,46 @@ fromtext_loc(ARGS_FROMTEXT) { } vp = (man << 4) + exp; - encode: +encode: RETERR(mem_tobuffer(target, &version, 1)); RETERR(mem_tobuffer(target, &size, 1)); RETERR(mem_tobuffer(target, &hp, 1)); RETERR(mem_tobuffer(target, &vp, 1)); if (north) - latitude = 0x80000000 + ( d1 * 3600 + m1 * 60 ) * 1000 + s1; + latitude = 0x80000000 + (d1 * 3600 + m1 * 60) * 1000 + s1; else - latitude = 0x80000000 - ( d1 * 3600 + m1 * 60 ) * 1000 - s1; + latitude = 0x80000000 - (d1 * 3600 + m1 * 60) * 1000 - s1; RETERR(uint32_tobuffer(latitude, target)); if (east) - longitude = 0x80000000 + ( d2 * 3600 + m2 * 60 ) * 1000 + s2; + longitude = 0x80000000 + (d2 * 3600 + m2 * 60) * 1000 + s2; else - longitude = 0x80000000 - ( d2 * 3600 + m2 * 60 ) * 1000 - s2; + longitude = 0x80000000 - (d2 * 3600 + m2 * 60) * 1000 - s2; RETERR(uint32_tobuffer(longitude, target)); return (uint32_tobuffer(altitude, target)); } -static inline isc_result_t -totext_loc(ARGS_TOTEXT) { - int d1, m1, s1, fs1; - int d2, m2, s2, fs2; +static inline isc_result_t totext_loc(ARGS_TOTEXT) +{ + int d1, m1, s1, fs1; + int d2, m2, s2, fs2; unsigned long latitude; unsigned long longitude; unsigned long altitude; - bool north; - bool east; - bool below; - isc_region_t sr; - char sbuf[sizeof("90000000m")]; - char hbuf[sizeof("90000000m")]; - char vbuf[sizeof("90000000m")]; + bool north; + bool east; + bool below; + isc_region_t sr; + char sbuf[sizeof("90000000m")]; + char hbuf[sizeof("90000000m")]; + char vbuf[sizeof("90000000m")]; /* "89 59 59.999 N 179 59 59.999 E " */ /* "-42849672.95m 90000000m 90000000m 90000000m"; */ - char buf[8*6 + 12*1 + 2*10 + sizeof(sbuf)+sizeof(hbuf)+sizeof(vbuf)]; + char buf[8 * 6 + 12 * 1 + 2 * 10 + sizeof(sbuf) + sizeof(hbuf) + + sizeof(vbuf)]; unsigned char size, hp, vp; - unsigned long poweroften[8] = { 1, 10, 100, 1000, + unsigned long poweroften[8] = { 1, 10, 100, 1000, 10000, 100000, 1000000, 10000000 }; UNUSED(tctx); @@ -477,31 +480,31 @@ totext_loc(ARGS_TOTEXT) { REQUIRE(rdata->length == 16); size = sr.base[1]; - INSIST((size&0x0f) < 10 && (size>>4) < 10); - if ((size&0x0f)> 1) { - snprintf(sbuf, sizeof(sbuf), - "%lum", (size>>4) * poweroften[(size&0x0f)-2]); + INSIST((size & 0x0f) < 10 && (size >> 4) < 10); + if ((size & 0x0f) > 1) { + snprintf(sbuf, sizeof(sbuf), "%lum", + (size >> 4) * poweroften[(size & 0x0f) - 2]); } else { - snprintf(sbuf, sizeof(sbuf), - "0.%02lum", (size>>4) * poweroften[(size&0x0f)]); + snprintf(sbuf, sizeof(sbuf), "0.%02lum", + (size >> 4) * poweroften[(size & 0x0f)]); } hp = sr.base[2]; - INSIST((hp&0x0f) < 10 && (hp>>4) < 10); - if ((hp&0x0f)> 1) { - snprintf(hbuf, sizeof(hbuf), - "%lum", (hp>>4) * poweroften[(hp&0x0f)-2]); + INSIST((hp & 0x0f) < 10 && (hp >> 4) < 10); + if ((hp & 0x0f) > 1) { + snprintf(hbuf, sizeof(hbuf), "%lum", + (hp >> 4) * poweroften[(hp & 0x0f) - 2]); } else { - snprintf(hbuf, sizeof(hbuf), - "0.%02lum", (hp>>4) * poweroften[(hp&0x0f)]); + snprintf(hbuf, sizeof(hbuf), "0.%02lum", + (hp >> 4) * poweroften[(hp & 0x0f)]); } vp = sr.base[3]; - INSIST((vp&0x0f) < 10 && (vp>>4) < 10); - if ((vp&0x0f)> 1) { - snprintf(vbuf, sizeof(vbuf), - "%lum", (vp>>4) * poweroften[(vp&0x0f)-2]); + INSIST((vp & 0x0f) < 10 && (vp >> 4) < 10); + if ((vp & 0x0f) > 1) { + snprintf(vbuf, sizeof(vbuf), "%lum", + (vp >> 4) * poweroften[(vp & 0x0f) - 2]); } else { - snprintf(vbuf, sizeof(vbuf), - "0.%02lum", (vp>>4) * poweroften[(vp&0x0f)]); + snprintf(vbuf, sizeof(vbuf), "0.%02lum", + (vp >> 4) * poweroften[(vp & 0x0f)]); } isc_region_consume(&sr, 4); @@ -547,23 +550,22 @@ totext_loc(ARGS_TOTEXT) { below = true; altitude = 10000000 - altitude; } else { - below =false; + below = false; altitude -= 10000000; } snprintf(buf, sizeof(buf), - "%d %d %d.%03d %s %d %d %d.%03d %s %s%lu.%02lum %s %s %s", - d1, m1, s1, fs1, north ? "N" : "S", - d2, m2, s2, fs2, east ? "E" : "W", - below ? "-" : "", altitude/100, altitude % 100, - sbuf, hbuf, vbuf); + "%d %d %d.%03d %s %d %d %d.%03d %s %s%lu.%02lum %s %s %s", d1, + m1, s1, fs1, north ? "N" : "S", d2, m2, s2, fs2, + east ? "E" : "W", below ? "-" : "", altitude / 100, + altitude % 100, sbuf, hbuf, vbuf); return (str_totext(buf, target)); } -static inline isc_result_t -fromwire_loc(ARGS_FROMWIRE) { - isc_region_t sr; +static inline isc_result_t fromwire_loc(ARGS_FROMWIRE) +{ + isc_region_t sr; unsigned char c; unsigned long latitude; unsigned long longitude; @@ -591,7 +593,8 @@ fromwire_loc(ARGS_FROMWIRE) { */ c = sr.base[1]; if (c != 0) - if ((c&0xf) > 9 || ((c>>4)&0xf) > 9 || ((c>>4)&0xf) == 0) + if ((c & 0xf) > 9 || ((c >> 4) & 0xf) > 9 || + ((c >> 4) & 0xf) == 0) return (ISC_R_RANGE); /* @@ -599,7 +602,8 @@ fromwire_loc(ARGS_FROMWIRE) { */ c = sr.base[2]; if (c != 0) - if ((c&0xf) > 9 || ((c>>4)&0xf) > 9 || ((c>>4)&0xf) == 0) + if ((c & 0xf) > 9 || ((c >> 4) & 0xf) > 9 || + ((c >> 4) & 0xf) == 0) return (ISC_R_RANGE); /* @@ -607,7 +611,8 @@ fromwire_loc(ARGS_FROMWIRE) { */ c = sr.base[3]; if (c != 0) - if ((c&0xf) > 9 || ((c>>4)&0xf) > 9 || ((c>>4)&0xf) == 0) + if ((c & 0xf) > 9 || ((c >> 4) & 0xf) > 9 || + ((c >> 4) & 0xf) == 0) return (ISC_R_RANGE); isc_region_consume(&sr, 4); @@ -638,8 +643,8 @@ fromwire_loc(ARGS_FROMWIRE) { return (mem_tobuffer(target, sr.base, 16)); } -static inline isc_result_t -towire_loc(ARGS_TOWIRE) { +static inline isc_result_t towire_loc(ARGS_TOWIRE) +{ UNUSED(cctx); REQUIRE(rdata->type == dns_rdatatype_loc); @@ -648,8 +653,8 @@ towire_loc(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_loc(ARGS_COMPARE) { +static inline int compare_loc(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -664,10 +669,10 @@ compare_loc(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_loc(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_loc(ARGS_FROMSTRUCT) +{ dns_rdata_loc_t *loc = source; - uint8_t c; + uint8_t c; REQUIRE(type == dns_rdatatype_loc); REQUIRE(loc != NULL); @@ -682,17 +687,17 @@ fromstruct_loc(ARGS_FROMSTRUCT) { RETERR(uint8_tobuffer(loc->v.v0.version, target)); c = loc->v.v0.size; - if ((c&0xf) > 9 || ((c>>4)&0xf) > 9 || ((c>>4)&0xf) == 0) + if ((c & 0xf) > 9 || ((c >> 4) & 0xf) > 9 || ((c >> 4) & 0xf) == 0) return (ISC_R_RANGE); RETERR(uint8_tobuffer(loc->v.v0.size, target)); c = loc->v.v0.horizontal; - if ((c&0xf) > 9 || ((c>>4)&0xf) > 9 || ((c>>4)&0xf) == 0) + if ((c & 0xf) > 9 || ((c >> 4) & 0xf) > 9 || ((c >> 4) & 0xf) == 0) return (ISC_R_RANGE); RETERR(uint8_tobuffer(loc->v.v0.horizontal, target)); c = loc->v.v0.vertical; - if ((c&0xf) > 9 || ((c>>4)&0xf) > 9 || ((c>>4)&0xf) == 0) + if ((c & 0xf) > 9 || ((c >> 4) & 0xf) > 9 || ((c >> 4) & 0xf) == 0) return (ISC_R_RANGE); RETERR(uint8_tobuffer(loc->v.v0.vertical, target)); @@ -708,11 +713,11 @@ fromstruct_loc(ARGS_FROMSTRUCT) { return (uint32_tobuffer(loc->v.v0.altitude, target)); } -static inline isc_result_t -tostruct_loc(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_loc(ARGS_TOSTRUCT) +{ dns_rdata_loc_t *loc = target; - isc_region_t r; - uint8_t version; + isc_region_t r; + uint8_t version; REQUIRE(rdata->type == dns_rdatatype_loc); REQUIRE(loc != NULL); @@ -746,8 +751,8 @@ tostruct_loc(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_loc(ARGS_FREESTRUCT) { +static inline void freestruct_loc(ARGS_FREESTRUCT) +{ dns_rdata_loc_t *loc = source; REQUIRE(loc != NULL); @@ -757,8 +762,8 @@ freestruct_loc(ARGS_FREESTRUCT) { UNUSED(loc); } -static inline isc_result_t -additionaldata_loc(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_loc(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_loc); UNUSED(rdata); @@ -768,8 +773,8 @@ additionaldata_loc(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_loc(ARGS_DIGEST) { +static inline isc_result_t digest_loc(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_loc); @@ -779,9 +784,8 @@ digest_loc(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_loc(ARGS_CHECKOWNER) { - +static inline bool checkowner_loc(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_loc); UNUSED(name); @@ -792,9 +796,8 @@ checkowner_loc(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_loc(ARGS_CHECKNAMES) { - +static inline bool checknames_loc(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_loc); UNUSED(rdata); @@ -804,9 +807,9 @@ checknames_loc(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_loc(ARGS_COMPARE) { +static inline int casecompare_loc(ARGS_COMPARE) +{ return (compare_loc(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_LOC_29_C */ +#endif /* RDATA_GENERIC_LOC_29_C */ diff --git a/lib/dns/rdata/generic/loc_29.h b/lib/dns/rdata/generic/loc_29.h index c879581cd4..7d892fd806 100644 --- a/lib/dns/rdata/generic/loc_29.h +++ b/lib/dns/rdata/generic/loc_29.h @@ -12,22 +12,21 @@ #ifndef GENERIC_LOC_29_H #define GENERIC_LOC_29_H 1 - /*! * \brief Per RFC1876 */ typedef struct dns_rdata_loc_0 { - uint8_t version; /* must be first and zero */ - uint8_t size; - uint8_t horizontal; - uint8_t vertical; - uint32_t latitude; - uint32_t longitude; - uint32_t altitude; + uint8_t version; /* must be first and zero */ + uint8_t size; + uint8_t horizontal; + uint8_t vertical; + uint32_t latitude; + uint32_t longitude; + uint32_t altitude; } dns_rdata_loc_0_t; typedef struct dns_rdata_loc { - dns_rdatacommon_t common; + dns_rdatacommon_t common; union { dns_rdata_loc_0_t v0; } v; diff --git a/lib/dns/rdata/generic/lp_107.c b/lib/dns/rdata/generic/lp_107.c index 87e268f7f6..02ab3af7fd 100644 --- a/lib/dns/rdata/generic/lp_107.c +++ b/lib/dns/rdata/generic/lp_107.c @@ -18,10 +18,10 @@ #define RRTYPE_LP_ATTRIBUTES (0) -static inline isc_result_t -fromtext_lp(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_lp(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; REQUIRE(type == dns_rdatatype_lp); @@ -46,13 +46,13 @@ fromtext_lp(ARGS_FROMTEXT) { return (dns_name_fromtext(&name, &buffer, origin, options, target)); } -static inline isc_result_t -totext_lp(ARGS_TOTEXT) { - isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; - char buf[sizeof("64000")]; +static inline isc_result_t totext_lp(ARGS_TOTEXT) +{ + isc_region_t region; + dns_name_t name; + dns_name_t prefix; + bool sub; + char buf[sizeof("64000")]; unsigned short num; REQUIRE(rdata->type == dns_rdatatype_lp); @@ -74,9 +74,9 @@ totext_lp(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_lp(ARGS_FROMWIRE) { - dns_name_t name; +static inline isc_result_t fromwire_lp(ARGS_FROMWIRE) +{ + dns_name_t name; isc_region_t sregion; REQUIRE(type == dns_rdatatype_lp); @@ -96,9 +96,8 @@ fromwire_lp(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_lp(ARGS_TOWIRE) { - +static inline isc_result_t towire_lp(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_lp); REQUIRE(rdata->length != 0); @@ -107,8 +106,8 @@ towire_lp(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_lp(ARGS_COMPARE) { +static inline int compare_lp(ARGS_COMPARE) +{ isc_region_t region1; isc_region_t region2; @@ -124,10 +123,10 @@ compare_lp(ARGS_COMPARE) { return (isc_region_compare(®ion1, ®ion2)); } -static inline isc_result_t -fromstruct_lp(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_lp(ARGS_FROMSTRUCT) +{ dns_rdata_lp_t *lp = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_lp); REQUIRE(lp != NULL); @@ -142,11 +141,11 @@ fromstruct_lp(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_lp(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_lp(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_lp_t *lp = target; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_lp); REQUIRE(lp != NULL); @@ -167,8 +166,8 @@ tostruct_lp(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_lp(ARGS_FREESTRUCT) { +static inline void freestruct_lp(ARGS_FREESTRUCT) +{ dns_rdata_lp_t *lp = source; REQUIRE(lp != NULL); @@ -181,12 +180,12 @@ freestruct_lp(ARGS_FREESTRUCT) { lp->mctx = NULL; } -static inline isc_result_t -additionaldata_lp(ARGS_ADDLDATA) { - dns_name_t name; +static inline isc_result_t additionaldata_lp(ARGS_ADDLDATA) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; - isc_result_t result; + isc_region_t region; + isc_result_t result; REQUIRE(rdata->type == dns_rdatatype_lp); @@ -201,8 +200,8 @@ additionaldata_lp(ARGS_ADDLDATA) { return ((add)(arg, &name, dns_rdatatype_l64)); } -static inline isc_result_t -digest_lp(ARGS_DIGEST) { +static inline isc_result_t digest_lp(ARGS_DIGEST) +{ isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_lp); @@ -211,9 +210,8 @@ digest_lp(ARGS_DIGEST) { return ((digest)(arg, ®ion)); } -static inline bool -checkowner_lp(ARGS_CHECKOWNER) { - +static inline bool checkowner_lp(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_lp); UNUSED(type); @@ -224,9 +222,8 @@ checkowner_lp(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_lp(ARGS_CHECKNAMES) { - +static inline bool checknames_lp(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_lp); UNUSED(bad); @@ -235,13 +232,13 @@ checknames_lp(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_lp(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int casecompare_lp(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; - int order; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -268,4 +265,4 @@ casecompare_lp(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -#endif /* RDATA_GENERIC_LP_107_C */ +#endif /* RDATA_GENERIC_LP_107_C */ diff --git a/lib/dns/rdata/generic/lp_107.h b/lib/dns/rdata/generic/lp_107.h index 4ccffacacf..f99eb754db 100644 --- a/lib/dns/rdata/generic/lp_107.h +++ b/lib/dns/rdata/generic/lp_107.h @@ -14,10 +14,10 @@ #define GENERIC_LP_107_H 1 typedef struct dns_rdata_lp { - dns_rdatacommon_t common; - isc_mem_t *mctx; - uint16_t pref; - dns_name_t lp; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint16_t pref; + dns_name_t lp; } dns_rdata_lp_t; #endif /* GENERIC_LP_107_H */ diff --git a/lib/dns/rdata/generic/mb_7.c b/lib/dns/rdata/generic/mb_7.c index 93d85e52bc..f3d15bdbea 100644 --- a/lib/dns/rdata/generic/mb_7.c +++ b/lib/dns/rdata/generic/mb_7.c @@ -14,10 +14,10 @@ #define RRTYPE_MB_ATTRIBUTES (0) -static inline isc_result_t -fromtext_mb(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_mb(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; REQUIRE(type == dns_rdatatype_mb); @@ -37,12 +37,12 @@ fromtext_mb(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_mb(ARGS_TOTEXT) { +static inline isc_result_t totext_mb(ARGS_TOTEXT) +{ isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; + dns_name_t name; + dns_name_t prefix; + bool sub; REQUIRE(rdata->type == dns_rdatatype_mb); REQUIRE(rdata->length != 0); @@ -58,8 +58,8 @@ totext_mb(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_mb(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_mb(ARGS_FROMWIRE) +{ dns_name_t name; REQUIRE(type == dns_rdatatype_mb); @@ -73,11 +73,11 @@ fromwire_mb(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_mb(ARGS_TOWIRE) { - dns_name_t name; +static inline isc_result_t towire_mb(ARGS_TOWIRE) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_mb); REQUIRE(rdata->length != 0); @@ -91,10 +91,10 @@ towire_mb(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_mb(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int compare_mb(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; @@ -116,10 +116,10 @@ compare_mb(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_mb(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_mb(ARGS_FROMSTRUCT) +{ dns_rdata_mb_t *mb = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_mb); REQUIRE(mb != NULL); @@ -133,11 +133,11 @@ fromstruct_mb(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_mb(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_mb(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_mb_t *mb = target; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_mb); REQUIRE(mb != NULL); @@ -156,8 +156,8 @@ tostruct_mb(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_mb(ARGS_FREESTRUCT) { +static inline void freestruct_mb(ARGS_FREESTRUCT) +{ dns_rdata_mb_t *mb = source; REQUIRE(mb != NULL); @@ -169,11 +169,11 @@ freestruct_mb(ARGS_FREESTRUCT) { mb->mctx = NULL; } -static inline isc_result_t -additionaldata_mb(ARGS_ADDLDATA) { - dns_name_t name; +static inline isc_result_t additionaldata_mb(ARGS_ADDLDATA) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_mb); @@ -184,10 +184,10 @@ additionaldata_mb(ARGS_ADDLDATA) { return ((add)(arg, &name, dns_rdatatype_a)); } -static inline isc_result_t -digest_mb(ARGS_DIGEST) { +static inline isc_result_t digest_mb(ARGS_DIGEST) +{ isc_region_t r; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_mb); @@ -198,9 +198,8 @@ digest_mb(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_mb(ARGS_CHECKOWNER) { - +static inline bool checkowner_mb(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_mb); UNUSED(type); @@ -210,9 +209,8 @@ checkowner_mb(ARGS_CHECKOWNER) { return (dns_name_ismailbox(name)); } -static inline bool -checknames_mb(ARGS_CHECKNAMES) { - +static inline bool checknames_mb(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_mb); UNUSED(rdata); @@ -222,9 +220,9 @@ checknames_mb(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_mb(ARGS_COMPARE) { +static inline int casecompare_mb(ARGS_COMPARE) +{ return (compare_mb(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_MB_7_C */ +#endif /* RDATA_GENERIC_MB_7_C */ diff --git a/lib/dns/rdata/generic/mb_7.h b/lib/dns/rdata/generic/mb_7.h index 59f4115e65..8cb8d6341d 100644 --- a/lib/dns/rdata/generic/mb_7.h +++ b/lib/dns/rdata/generic/mb_7.h @@ -13,11 +13,10 @@ #ifndef GENERIC_MB_7_H #define GENERIC_MB_7_H 1 - typedef struct dns_rdata_mb { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t mb; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t mb; } dns_rdata_mb_t; #endif /* GENERIC_MB_7_H */ diff --git a/lib/dns/rdata/generic/md_3.c b/lib/dns/rdata/generic/md_3.c index 8c58d6e8c9..5540a53cfa 100644 --- a/lib/dns/rdata/generic/md_3.c +++ b/lib/dns/rdata/generic/md_3.c @@ -14,10 +14,10 @@ #define RRTYPE_MD_ATTRIBUTES (0) -static inline isc_result_t -fromtext_md(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_md(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; REQUIRE(type == dns_rdatatype_md); @@ -37,12 +37,12 @@ fromtext_md(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_md(ARGS_TOTEXT) { +static inline isc_result_t totext_md(ARGS_TOTEXT) +{ isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; + dns_name_t name; + dns_name_t prefix; + bool sub; REQUIRE(rdata->type == dns_rdatatype_md); REQUIRE(rdata->length != 0); @@ -58,8 +58,8 @@ totext_md(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_md(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_md(ARGS_FROMWIRE) +{ dns_name_t name; REQUIRE(type == dns_rdatatype_md); @@ -73,11 +73,11 @@ fromwire_md(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_md(ARGS_TOWIRE) { - dns_name_t name; +static inline isc_result_t towire_md(ARGS_TOWIRE) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_md); REQUIRE(rdata->length != 0); @@ -91,10 +91,10 @@ towire_md(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_md(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int compare_md(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; @@ -116,10 +116,10 @@ compare_md(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_md(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_md(ARGS_FROMSTRUCT) +{ dns_rdata_md_t *md = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_md); REQUIRE(md != NULL); @@ -133,11 +133,11 @@ fromstruct_md(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_md(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_md(ARGS_TOSTRUCT) +{ dns_rdata_md_t *md = target; - isc_region_t r; - dns_name_t name; + isc_region_t r; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_md); REQUIRE(md != NULL); @@ -156,8 +156,8 @@ tostruct_md(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_md(ARGS_FREESTRUCT) { +static inline void freestruct_md(ARGS_FREESTRUCT) +{ dns_rdata_md_t *md = source; REQUIRE(md != NULL); @@ -170,11 +170,11 @@ freestruct_md(ARGS_FREESTRUCT) { md->mctx = NULL; } -static inline isc_result_t -additionaldata_md(ARGS_ADDLDATA) { - dns_name_t name; +static inline isc_result_t additionaldata_md(ARGS_ADDLDATA) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_md); @@ -185,10 +185,10 @@ additionaldata_md(ARGS_ADDLDATA) { return ((add)(arg, &name, dns_rdatatype_a)); } -static inline isc_result_t -digest_md(ARGS_DIGEST) { +static inline isc_result_t digest_md(ARGS_DIGEST) +{ isc_region_t r; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_md); @@ -199,9 +199,8 @@ digest_md(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_md(ARGS_CHECKOWNER) { - +static inline bool checkowner_md(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_md); UNUSED(name); @@ -212,9 +211,8 @@ checkowner_md(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_md(ARGS_CHECKNAMES) { - +static inline bool checknames_md(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_md); UNUSED(rdata); @@ -224,9 +222,9 @@ checknames_md(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_md(ARGS_COMPARE) { +static inline int casecompare_md(ARGS_COMPARE) +{ return (compare_md(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_MD_3_C */ +#endif /* RDATA_GENERIC_MD_3_C */ diff --git a/lib/dns/rdata/generic/md_3.h b/lib/dns/rdata/generic/md_3.h index 396c3c94e2..02dd9db7b8 100644 --- a/lib/dns/rdata/generic/md_3.h +++ b/lib/dns/rdata/generic/md_3.h @@ -13,12 +13,10 @@ #ifndef GENERIC_MD_3_H #define GENERIC_MD_3_H 1 - typedef struct dns_rdata_md { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t md; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t md; } dns_rdata_md_t; - #endif /* GENERIC_MD_3_H */ diff --git a/lib/dns/rdata/generic/mf_4.c b/lib/dns/rdata/generic/mf_4.c index fa653a683c..973dd6c6ac 100644 --- a/lib/dns/rdata/generic/mf_4.c +++ b/lib/dns/rdata/generic/mf_4.c @@ -14,10 +14,10 @@ #define RRTYPE_MF_ATTRIBUTES (0) -static inline isc_result_t -fromtext_mf(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_mf(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; REQUIRE(type == dns_rdatatype_mf); @@ -37,12 +37,12 @@ fromtext_mf(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_mf(ARGS_TOTEXT) { +static inline isc_result_t totext_mf(ARGS_TOTEXT) +{ isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; + dns_name_t name; + dns_name_t prefix; + bool sub; REQUIRE(rdata->type == dns_rdatatype_mf); REQUIRE(rdata->length != 0); @@ -58,8 +58,8 @@ totext_mf(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_mf(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_mf(ARGS_FROMWIRE) +{ dns_name_t name; REQUIRE(type == dns_rdatatype_mf); @@ -73,11 +73,11 @@ fromwire_mf(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_mf(ARGS_TOWIRE) { - dns_name_t name; +static inline isc_result_t towire_mf(ARGS_TOWIRE) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_mf); REQUIRE(rdata->length != 0); @@ -91,10 +91,10 @@ towire_mf(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_mf(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int compare_mf(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; @@ -116,10 +116,10 @@ compare_mf(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_mf(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_mf(ARGS_FROMSTRUCT) +{ dns_rdata_mf_t *mf = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_mf); REQUIRE(mf != NULL); @@ -133,11 +133,11 @@ fromstruct_mf(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_mf(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_mf(ARGS_TOSTRUCT) +{ dns_rdata_mf_t *mf = target; - isc_region_t r; - dns_name_t name; + isc_region_t r; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_mf); REQUIRE(mf != NULL); @@ -156,8 +156,8 @@ tostruct_mf(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_mf(ARGS_FREESTRUCT) { +static inline void freestruct_mf(ARGS_FREESTRUCT) +{ dns_rdata_mf_t *mf = source; REQUIRE(mf != NULL); @@ -169,11 +169,11 @@ freestruct_mf(ARGS_FREESTRUCT) { mf->mctx = NULL; } -static inline isc_result_t -additionaldata_mf(ARGS_ADDLDATA) { - dns_name_t name; +static inline isc_result_t additionaldata_mf(ARGS_ADDLDATA) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_mf); @@ -184,10 +184,10 @@ additionaldata_mf(ARGS_ADDLDATA) { return ((add)(arg, &name, dns_rdatatype_a)); } -static inline isc_result_t -digest_mf(ARGS_DIGEST) { +static inline isc_result_t digest_mf(ARGS_DIGEST) +{ isc_region_t r; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_mf); @@ -198,9 +198,8 @@ digest_mf(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_mf(ARGS_CHECKOWNER) { - +static inline bool checkowner_mf(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_mf); UNUSED(name); @@ -211,9 +210,8 @@ checkowner_mf(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_mf(ARGS_CHECKNAMES) { - +static inline bool checknames_mf(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_mf); UNUSED(rdata); @@ -223,9 +221,9 @@ checknames_mf(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_mf(ARGS_COMPARE) { +static inline int casecompare_mf(ARGS_COMPARE) +{ return (compare_mf(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_MF_4_C */ +#endif /* RDATA_GENERIC_MF_4_C */ diff --git a/lib/dns/rdata/generic/mf_4.h b/lib/dns/rdata/generic/mf_4.h index d8821551cd..d9a22a36b0 100644 --- a/lib/dns/rdata/generic/mf_4.h +++ b/lib/dns/rdata/generic/mf_4.h @@ -13,11 +13,10 @@ #ifndef GENERIC_MF_4_H #define GENERIC_MF_4_H 1 - typedef struct dns_rdata_mf { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t mf; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t mf; } dns_rdata_mf_t; #endif /* GENERIC_MF_4_H */ diff --git a/lib/dns/rdata/generic/mg_8.c b/lib/dns/rdata/generic/mg_8.c index c631539d20..bf110f822b 100644 --- a/lib/dns/rdata/generic/mg_8.c +++ b/lib/dns/rdata/generic/mg_8.c @@ -14,10 +14,10 @@ #define RRTYPE_MG_ATTRIBUTES (0) -static inline isc_result_t -fromtext_mg(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_mg(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; REQUIRE(type == dns_rdatatype_mg); @@ -37,12 +37,12 @@ fromtext_mg(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_mg(ARGS_TOTEXT) { +static inline isc_result_t totext_mg(ARGS_TOTEXT) +{ isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; + dns_name_t name; + dns_name_t prefix; + bool sub; REQUIRE(rdata->type == dns_rdatatype_mg); REQUIRE(rdata->length != 0); @@ -58,8 +58,8 @@ totext_mg(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_mg(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_mg(ARGS_FROMWIRE) +{ dns_name_t name; REQUIRE(type == dns_rdatatype_mg); @@ -73,11 +73,11 @@ fromwire_mg(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_mg(ARGS_TOWIRE) { - dns_name_t name; +static inline isc_result_t towire_mg(ARGS_TOWIRE) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_mg); REQUIRE(rdata->length != 0); @@ -91,10 +91,10 @@ towire_mg(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_mg(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int compare_mg(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; @@ -116,10 +116,10 @@ compare_mg(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_mg(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_mg(ARGS_FROMSTRUCT) +{ dns_rdata_mg_t *mg = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_mg); REQUIRE(mg != NULL); @@ -133,11 +133,11 @@ fromstruct_mg(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_mg(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_mg(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_mg_t *mg = target; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_mg); REQUIRE(mg != NULL); @@ -156,8 +156,8 @@ tostruct_mg(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_mg(ARGS_FREESTRUCT) { +static inline void freestruct_mg(ARGS_FREESTRUCT) +{ dns_rdata_mg_t *mg = source; REQUIRE(mg != NULL); @@ -169,8 +169,8 @@ freestruct_mg(ARGS_FREESTRUCT) { mg->mctx = NULL; } -static inline isc_result_t -additionaldata_mg(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_mg(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_mg); UNUSED(add); @@ -180,10 +180,10 @@ additionaldata_mg(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_mg(ARGS_DIGEST) { +static inline isc_result_t digest_mg(ARGS_DIGEST) +{ isc_region_t r; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_mg); @@ -194,9 +194,8 @@ digest_mg(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_mg(ARGS_CHECKOWNER) { - +static inline bool checkowner_mg(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_mg); UNUSED(type); @@ -206,9 +205,8 @@ checkowner_mg(ARGS_CHECKOWNER) { return (dns_name_ismailbox(name)); } -static inline bool -checknames_mg(ARGS_CHECKNAMES) { - +static inline bool checknames_mg(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_mg); UNUSED(rdata); @@ -218,9 +216,9 @@ checknames_mg(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_mg(ARGS_COMPARE) { +static inline int casecompare_mg(ARGS_COMPARE) +{ return (compare_mg(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_MG_8_C */ +#endif /* RDATA_GENERIC_MG_8_C */ diff --git a/lib/dns/rdata/generic/mg_8.h b/lib/dns/rdata/generic/mg_8.h index 0e0380ebe0..06ec1d87b9 100644 --- a/lib/dns/rdata/generic/mg_8.h +++ b/lib/dns/rdata/generic/mg_8.h @@ -13,11 +13,10 @@ #ifndef GENERIC_MG_8_H #define GENERIC_MG_8_H 1 - typedef struct dns_rdata_mg { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t mg; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t mg; } dns_rdata_mg_t; #endif /* GENERIC_MG_8_H */ diff --git a/lib/dns/rdata/generic/minfo_14.c b/lib/dns/rdata/generic/minfo_14.c index 5b1e8745c7..404c96c239 100644 --- a/lib/dns/rdata/generic/minfo_14.c +++ b/lib/dns/rdata/generic/minfo_14.c @@ -14,13 +14,13 @@ #define RRTYPE_MINFO_ATTRIBUTES (0) -static inline isc_result_t -fromtext_minfo(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_minfo(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; - int i; - bool ok; + int i; + bool ok; REQUIRE(type == dns_rdatatype_minfo); @@ -33,12 +33,11 @@ fromtext_minfo(ARGS_FROMTEXT) { for (i = 0; i < 2; i++) { RETERR(isc_lex_getmastertoken(lexer, &token, - isc_tokentype_string, - false)); + isc_tokentype_string, false)); dns_name_init(&name, NULL); buffer_fromregion(&buffer, &token.value.as_region); - RETTOK(dns_name_fromtext(&name, &buffer, origin, - options, target)); + RETTOK(dns_name_fromtext(&name, &buffer, origin, options, + target)); ok = true; if ((options & DNS_RDATA_CHECKNAMES) != 0) ok = dns_name_ismailbox(&name); @@ -50,13 +49,13 @@ fromtext_minfo(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_minfo(ARGS_TOTEXT) { +static inline isc_result_t totext_minfo(ARGS_TOTEXT) +{ isc_region_t region; - dns_name_t rmail; - dns_name_t email; - dns_name_t prefix; - bool sub; + dns_name_t rmail; + dns_name_t email; + dns_name_t prefix; + bool sub; REQUIRE(rdata->type == dns_rdatatype_minfo); REQUIRE(rdata->length != 0); @@ -83,8 +82,8 @@ totext_minfo(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_minfo(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_minfo(ARGS_FROMWIRE) +{ dns_name_t rmail; dns_name_t email; @@ -102,11 +101,11 @@ fromwire_minfo(ARGS_FROMWIRE) { return (dns_name_fromwire(&email, source, dctx, options, target)); } -static inline isc_result_t -towire_minfo(ARGS_TOWIRE) { - isc_region_t region; - dns_name_t rmail; - dns_name_t email; +static inline isc_result_t towire_minfo(ARGS_TOWIRE) +{ + isc_region_t region; + dns_name_t rmail; + dns_name_t email; dns_offsets_t roffsets; dns_offsets_t eoffsets; @@ -131,13 +130,13 @@ towire_minfo(ARGS_TOWIRE) { return (dns_name_towire(&rmail, cctx, target)); } -static inline int -compare_minfo(ARGS_COMPARE) { +static inline int compare_minfo(ARGS_COMPARE) +{ isc_region_t region1; isc_region_t region2; - dns_name_t name1; - dns_name_t name2; - int order; + dns_name_t name1; + dns_name_t name2; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -171,10 +170,10 @@ compare_minfo(ARGS_COMPARE) { return (order); } -static inline isc_result_t -fromstruct_minfo(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_minfo(ARGS_FROMSTRUCT) +{ dns_rdata_minfo_t *minfo = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_minfo); REQUIRE(minfo != NULL); @@ -190,12 +189,12 @@ fromstruct_minfo(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_minfo(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_minfo(ARGS_TOSTRUCT) +{ dns_rdata_minfo_t *minfo = target; - isc_region_t region; - dns_name_t name; - isc_result_t result; + isc_region_t region; + dns_name_t name; + isc_result_t result; REQUIRE(rdata->type == dns_rdatatype_minfo); REQUIRE(minfo != NULL); @@ -220,14 +219,14 @@ tostruct_minfo(ARGS_TOSTRUCT) { minfo->mctx = mctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (mctx != NULL) dns_name_free(&minfo->rmailbox, mctx); return (ISC_R_NOMEMORY); } -static inline void -freestruct_minfo(ARGS_FREESTRUCT) { +static inline void freestruct_minfo(ARGS_FREESTRUCT) +{ dns_rdata_minfo_t *minfo = source; REQUIRE(minfo != NULL); @@ -241,8 +240,8 @@ freestruct_minfo(ARGS_FREESTRUCT) { minfo->mctx = NULL; } -static inline isc_result_t -additionaldata_minfo(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_minfo(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_minfo); UNUSED(rdata); @@ -252,10 +251,10 @@ additionaldata_minfo(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_minfo(ARGS_DIGEST) { +static inline isc_result_t digest_minfo(ARGS_DIGEST) +{ isc_region_t r; - dns_name_t name; + dns_name_t name; isc_result_t result; REQUIRE(rdata->type == dns_rdatatype_minfo); @@ -273,9 +272,8 @@ digest_minfo(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_minfo(ARGS_CHECKOWNER) { - +static inline bool checkowner_minfo(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_minfo); UNUSED(name); @@ -286,10 +284,10 @@ checkowner_minfo(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_minfo(ARGS_CHECKNAMES) { +static inline bool checknames_minfo(ARGS_CHECKNAMES) +{ isc_region_t region; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_minfo); @@ -313,9 +311,9 @@ checknames_minfo(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_minfo(ARGS_COMPARE) { +static inline int casecompare_minfo(ARGS_COMPARE) +{ return (compare_minfo(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_MINFO_14_C */ +#endif /* RDATA_GENERIC_MINFO_14_C */ diff --git a/lib/dns/rdata/generic/minfo_14.h b/lib/dns/rdata/generic/minfo_14.h index 10080fb38d..40eb127956 100644 --- a/lib/dns/rdata/generic/minfo_14.h +++ b/lib/dns/rdata/generic/minfo_14.h @@ -13,12 +13,11 @@ #ifndef GENERIC_MINFO_14_H #define GENERIC_MINFO_14_H 1 - typedef struct dns_rdata_minfo { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t rmailbox; - dns_name_t emailbox; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t rmailbox; + dns_name_t emailbox; } dns_rdata_minfo_t; #endif /* GENERIC_MINFO_14_H */ diff --git a/lib/dns/rdata/generic/mr_9.c b/lib/dns/rdata/generic/mr_9.c index c39bf54083..b40ca164b1 100644 --- a/lib/dns/rdata/generic/mr_9.c +++ b/lib/dns/rdata/generic/mr_9.c @@ -14,10 +14,10 @@ #define RRTYPE_MR_ATTRIBUTES (0) -static inline isc_result_t -fromtext_mr(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_mr(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; REQUIRE(type == dns_rdatatype_mr); @@ -37,12 +37,12 @@ fromtext_mr(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_mr(ARGS_TOTEXT) { +static inline isc_result_t totext_mr(ARGS_TOTEXT) +{ isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; + dns_name_t name; + dns_name_t prefix; + bool sub; REQUIRE(rdata->type == dns_rdatatype_mr); REQUIRE(rdata->length != 0); @@ -58,8 +58,8 @@ totext_mr(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_mr(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_mr(ARGS_FROMWIRE) +{ dns_name_t name; REQUIRE(type == dns_rdatatype_mr); @@ -73,11 +73,11 @@ fromwire_mr(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_mr(ARGS_TOWIRE) { - dns_name_t name; +static inline isc_result_t towire_mr(ARGS_TOWIRE) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_mr); REQUIRE(rdata->length != 0); @@ -91,10 +91,10 @@ towire_mr(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_mr(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int compare_mr(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; @@ -116,10 +116,10 @@ compare_mr(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_mr(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_mr(ARGS_FROMSTRUCT) +{ dns_rdata_mr_t *mr = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_mr); REQUIRE(mr != NULL); @@ -133,11 +133,11 @@ fromstruct_mr(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_mr(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_mr(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_mr_t *mr = target; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_mr); REQUIRE(mr != NULL); @@ -156,8 +156,8 @@ tostruct_mr(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_mr(ARGS_FREESTRUCT) { +static inline void freestruct_mr(ARGS_FREESTRUCT) +{ dns_rdata_mr_t *mr = source; REQUIRE(mr != NULL); @@ -169,8 +169,8 @@ freestruct_mr(ARGS_FREESTRUCT) { mr->mctx = NULL; } -static inline isc_result_t -additionaldata_mr(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_mr(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_mr); UNUSED(rdata); @@ -180,10 +180,10 @@ additionaldata_mr(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_mr(ARGS_DIGEST) { +static inline isc_result_t digest_mr(ARGS_DIGEST) +{ isc_region_t r; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_mr); @@ -194,9 +194,8 @@ digest_mr(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_mr(ARGS_CHECKOWNER) { - +static inline bool checkowner_mr(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_mr); UNUSED(name); @@ -207,9 +206,8 @@ checkowner_mr(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_mr(ARGS_CHECKNAMES) { - +static inline bool checknames_mr(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_mr); UNUSED(rdata); @@ -219,9 +217,9 @@ checknames_mr(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_mr(ARGS_COMPARE) { +static inline int casecompare_mr(ARGS_COMPARE) +{ return (compare_mr(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_MR_9_C */ +#endif /* RDATA_GENERIC_MR_9_C */ diff --git a/lib/dns/rdata/generic/mr_9.h b/lib/dns/rdata/generic/mr_9.h index 888a82f0af..4456f7c131 100644 --- a/lib/dns/rdata/generic/mr_9.h +++ b/lib/dns/rdata/generic/mr_9.h @@ -13,11 +13,10 @@ #ifndef GENERIC_MR_9_H #define GENERIC_MR_9_H 1 - typedef struct dns_rdata_mr { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t mr; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t mr; } dns_rdata_mr_t; #endif /* GENERIC_MR_9_H */ diff --git a/lib/dns/rdata/generic/mx_15.c b/lib/dns/rdata/generic/mx_15.c index 46ac7c67e6..3fab359806 100644 --- a/lib/dns/rdata/generic/mx_15.c +++ b/lib/dns/rdata/generic/mx_15.c @@ -21,9 +21,10 @@ #define RRTYPE_MX_ATTRIBUTES (0) static bool -check_mx(isc_token_t *token) { +check_mx(isc_token_t *token) +{ char tmp[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:123.123.123.123.")]; - struct in_addr addr; + struct in_addr addr; struct in6_addr addr6; if (strlcpy(tmp, DNS_AS_STR(*token), sizeof(tmp)) >= sizeof(tmp)) @@ -39,12 +40,12 @@ check_mx(isc_token_t *token) { return (true); } -static inline isc_result_t -fromtext_mx(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_mx(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; - bool ok; + bool ok; REQUIRE(type == dns_rdatatype_mx); @@ -83,13 +84,13 @@ fromtext_mx(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_mx(ARGS_TOTEXT) { - isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; - char buf[sizeof("64000")]; +static inline isc_result_t totext_mx(ARGS_TOTEXT) +{ + isc_region_t region; + dns_name_t name; + dns_name_t prefix; + bool sub; + char buf[sizeof("64000")]; unsigned short num; REQUIRE(rdata->type == dns_rdatatype_mx); @@ -111,9 +112,9 @@ totext_mx(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_mx(ARGS_FROMWIRE) { - dns_name_t name; +static inline isc_result_t fromwire_mx(ARGS_FROMWIRE) +{ + dns_name_t name; isc_region_t sregion; REQUIRE(type == dns_rdatatype_mx); @@ -133,11 +134,11 @@ fromwire_mx(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_mx(ARGS_TOWIRE) { - dns_name_t name; +static inline isc_result_t towire_mx(ARGS_TOWIRE) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_mx); REQUIRE(rdata->length != 0); @@ -154,13 +155,13 @@ towire_mx(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_mx(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int compare_mx(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; - int order; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -187,10 +188,10 @@ compare_mx(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_mx(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_mx(ARGS_FROMSTRUCT) +{ dns_rdata_mx_t *mx = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_mx); REQUIRE(mx != NULL); @@ -205,11 +206,11 @@ fromstruct_mx(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_mx(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_mx(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_mx_t *mx = target; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_mx); REQUIRE(mx != NULL); @@ -230,8 +231,8 @@ tostruct_mx(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_mx(ARGS_FREESTRUCT) { +static inline void freestruct_mx(ARGS_FREESTRUCT) +{ dns_rdata_mx_t *mx = source; REQUIRE(mx != NULL); @@ -246,16 +247,16 @@ freestruct_mx(ARGS_FREESTRUCT) { static unsigned char port25_offset[] = { 0, 3 }; static unsigned char port25_ndata[] = "\003_25\004_tcp"; -static dns_name_t port25 = - DNS_NAME_INITNONABSOLUTE(port25_ndata, port25_offset); +static dns_name_t port25 = + DNS_NAME_INITNONABSOLUTE(port25_ndata, port25_offset); -static inline isc_result_t -additionaldata_mx(ARGS_ADDLDATA) { - isc_result_t result; +static inline isc_result_t additionaldata_mx(ARGS_ADDLDATA) +{ + isc_result_t result; dns_fixedname_t fixed; - dns_name_t name; - dns_offsets_t offsets; - isc_region_t region; + dns_name_t name; + dns_offsets_t offsets; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_mx); @@ -280,10 +281,10 @@ additionaldata_mx(ARGS_ADDLDATA) { return ((add)(arg, dns_fixedname_name(&fixed), dns_rdatatype_tlsa)); } -static inline isc_result_t -digest_mx(ARGS_DIGEST) { +static inline isc_result_t digest_mx(ARGS_DIGEST) +{ isc_region_t r1, r2; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_mx); @@ -297,9 +298,8 @@ digest_mx(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_mx(ARGS_CHECKOWNER) { - +static inline bool checkowner_mx(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_mx); UNUSED(type); @@ -308,10 +308,10 @@ checkowner_mx(ARGS_CHECKOWNER) { return (dns_name_ishostname(name, wildcard)); } -static inline bool -checknames_mx(ARGS_CHECKNAMES) { +static inline bool checknames_mx(ARGS_CHECKNAMES) +{ isc_region_t region; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_mx); @@ -329,9 +329,9 @@ checknames_mx(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_mx(ARGS_COMPARE) { +static inline int casecompare_mx(ARGS_COMPARE) +{ return (compare_mx(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_MX_15_C */ +#endif /* RDATA_GENERIC_MX_15_C */ diff --git a/lib/dns/rdata/generic/mx_15.h b/lib/dns/rdata/generic/mx_15.h index ed96beb4e0..dd0d809d52 100644 --- a/lib/dns/rdata/generic/mx_15.h +++ b/lib/dns/rdata/generic/mx_15.h @@ -13,12 +13,11 @@ #ifndef GENERIC_MX_15_H #define GENERIC_MX_15_H 1 - typedef struct dns_rdata_mx { - dns_rdatacommon_t common; - isc_mem_t *mctx; - uint16_t pref; - dns_name_t mx; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint16_t pref; + dns_name_t mx; } dns_rdata_mx_t; #endif /* GENERIC_MX_15_H */ diff --git a/lib/dns/rdata/generic/naptr_35.c b/lib/dns/rdata/generic/naptr_35.c index 4d99e2b253..b54f7f2ce2 100644 --- a/lib/dns/rdata/generic/naptr_35.c +++ b/lib/dns/rdata/generic/naptr_35.c @@ -23,16 +23,17 @@ * Don't allow embeded NUL's. */ static inline isc_result_t -txt_valid_regex(const unsigned char *txt) { - unsigned int nsub = 0; - char regex[256]; - char *cp; - bool flags = false; - bool replace = false; +txt_valid_regex(const unsigned char *txt) +{ + unsigned int nsub = 0; + char regex[256]; + char * cp; + bool flags = false; + bool replace = false; unsigned char c; unsigned char delim; - unsigned int len; - int n; + unsigned int len; + int n; len = *txt++; if (len == 0U) @@ -45,9 +46,19 @@ txt_valid_regex(const unsigned char *txt) { * Digits, backslash and flags can't be delimiters. */ switch (delim) { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - case '\\': case 'i': case 0: + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case '\\': + case 'i': + case 0: return (DNS_R_SYNTAX); } @@ -86,16 +97,44 @@ txt_valid_regex(const unsigned char *txt) { len--; if (replace) switch (c) { - case '0': return (DNS_R_SYNTAX); - case '1': if (nsub < 1) nsub = 1; break; - case '2': if (nsub < 2) nsub = 2; break; - case '3': if (nsub < 3) nsub = 3; break; - case '4': if (nsub < 4) nsub = 4; break; - case '5': if (nsub < 5) nsub = 5; break; - case '6': if (nsub < 6) nsub = 6; break; - case '7': if (nsub < 7) nsub = 7; break; - case '8': if (nsub < 8) nsub = 8; break; - case '9': if (nsub < 9) nsub = 9; break; + case '0': + return (DNS_R_SYNTAX); + case '1': + if (nsub < 1) + nsub = 1; + break; + case '2': + if (nsub < 2) + nsub = 2; + break; + case '3': + if (nsub < 3) + nsub = 3; + break; + case '4': + if (nsub < 4) + nsub = 4; + break; + case '5': + if (nsub < 5) + nsub = 5; + break; + case '6': + if (nsub < 6) + nsub = 6; + break; + case '7': + if (nsub < 7) + nsub = 7; + break; + case '8': + if (nsub < 8) + nsub = 8; + break; + case '9': + if (nsub < 9) + nsub = 9; + break; } if (!replace) *cp++ = c; @@ -110,11 +149,11 @@ txt_valid_regex(const unsigned char *txt) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromtext_naptr(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; - isc_buffer_t buffer; +static inline isc_result_t fromtext_naptr(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; + isc_buffer_t buffer; unsigned char *regex; REQUIRE(type == dns_rdatatype_naptr); @@ -177,13 +216,13 @@ fromtext_naptr(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_naptr(ARGS_TOTEXT) { - isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; - char buf[sizeof("64000")]; +static inline isc_result_t totext_naptr(ARGS_TOTEXT) +{ + isc_region_t region; + dns_name_t name; + dns_name_t prefix; + bool sub; + char buf[sizeof("64000")]; unsigned short num; REQUIRE(rdata->type == dns_rdatatype_naptr); @@ -238,10 +277,10 @@ totext_naptr(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_naptr(ARGS_FROMWIRE) { - dns_name_t name; - isc_region_t sr; +static inline isc_result_t fromwire_naptr(ARGS_FROMWIRE) +{ + dns_name_t name; + isc_region_t sr; unsigned char *regex; REQUIRE(type == dns_rdatatype_naptr); @@ -285,11 +324,11 @@ fromwire_naptr(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_naptr(ARGS_TOWIRE) { - dns_name_t name; +static inline isc_result_t towire_naptr(ARGS_TOWIRE) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t sr; + isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_naptr); REQUIRE(rdata->length != 0); @@ -328,13 +367,13 @@ towire_naptr(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_naptr(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int compare_naptr(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; - int order, len; + int order, len; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -396,10 +435,10 @@ compare_naptr(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_naptr(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_naptr(ARGS_FROMSTRUCT) +{ dns_rdata_naptr_t *naptr = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_naptr); REQUIRE(naptr != NULL); @@ -424,12 +463,12 @@ fromstruct_naptr(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_naptr(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_naptr(ARGS_TOSTRUCT) +{ dns_rdata_naptr_t *naptr = target; - isc_region_t r; - isc_result_t result; - dns_name_t name; + isc_region_t r; + isc_result_t result; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_naptr); REQUIRE(naptr != NULL); @@ -484,7 +523,7 @@ tostruct_naptr(ARGS_TOSTRUCT) { naptr->mctx = mctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (mctx != NULL && naptr->flags != NULL) isc_mem_free(mctx, naptr->flags); if (mctx != NULL && naptr->service != NULL) @@ -494,8 +533,8 @@ tostruct_naptr(ARGS_TOSTRUCT) { return (ISC_R_NOMEMORY); } -static inline void -freestruct_naptr(ARGS_FREESTRUCT) { +static inline void freestruct_naptr(ARGS_FREESTRUCT) +{ dns_rdata_naptr_t *naptr = source; REQUIRE(naptr != NULL); @@ -514,14 +553,14 @@ freestruct_naptr(ARGS_FREESTRUCT) { naptr->mctx = NULL; } -static inline isc_result_t -additionaldata_naptr(ARGS_ADDLDATA) { - dns_name_t name; - dns_offsets_t offsets; - isc_region_t sr; +static inline isc_result_t additionaldata_naptr(ARGS_ADDLDATA) +{ + dns_name_t name; + dns_offsets_t offsets; + isc_region_t sr; dns_rdatatype_t atype; - unsigned int i, flagslen; - char *cp; + unsigned int i, flagslen; + char * cp; REQUIRE(rdata->type == dns_rdatatype_naptr); @@ -571,12 +610,12 @@ additionaldata_naptr(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_naptr(ARGS_DIGEST) { +static inline isc_result_t digest_naptr(ARGS_DIGEST) +{ isc_region_t r1, r2; unsigned int length, n; isc_result_t result; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_naptr); @@ -629,9 +668,8 @@ digest_naptr(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_naptr(ARGS_CHECKOWNER) { - +static inline bool checkowner_naptr(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_naptr); UNUSED(name); @@ -642,9 +680,8 @@ checkowner_naptr(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_naptr(ARGS_CHECKNAMES) { - +static inline bool checknames_naptr(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_naptr); UNUSED(rdata); @@ -654,9 +691,9 @@ checknames_naptr(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_naptr(ARGS_COMPARE) { +static inline int casecompare_naptr(ARGS_COMPARE) +{ return (compare_naptr(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_NAPTR_35_C */ +#endif /* RDATA_GENERIC_NAPTR_35_C */ diff --git a/lib/dns/rdata/generic/naptr_35.h b/lib/dns/rdata/generic/naptr_35.h index e72b6099b2..d349b6fb06 100644 --- a/lib/dns/rdata/generic/naptr_35.h +++ b/lib/dns/rdata/generic/naptr_35.h @@ -12,22 +12,21 @@ #ifndef GENERIC_NAPTR_35_H #define GENERIC_NAPTR_35_H 1 - /*! * \brief Per RFC2915 */ typedef struct dns_rdata_naptr { - dns_rdatacommon_t common; - isc_mem_t *mctx; - uint16_t order; - uint16_t preference; - char *flags; - uint8_t flags_len; - char *service; - uint8_t service_len; - char *regexp; - uint8_t regexp_len; - dns_name_t replacement; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint16_t order; + uint16_t preference; + char * flags; + uint8_t flags_len; + char * service; + uint8_t service_len; + char * regexp; + uint8_t regexp_len; + dns_name_t replacement; } dns_rdata_naptr_t; #endif /* GENERIC_NAPTR_35_H */ diff --git a/lib/dns/rdata/generic/nid_104.c b/lib/dns/rdata/generic/nid_104.c index 44e63b5ba7..6153d61009 100644 --- a/lib/dns/rdata/generic/nid_104.c +++ b/lib/dns/rdata/generic/nid_104.c @@ -18,9 +18,9 @@ #define RRTYPE_NID_ATTRIBUTES (0) -static inline isc_result_t -fromtext_nid(ARGS_FROMTEXT) { - isc_token_t token; +static inline isc_result_t fromtext_nid(ARGS_FROMTEXT) +{ + isc_token_t token; unsigned char locator[NS_LOCATORSZ]; REQUIRE(type == dns_rdatatype_nid); @@ -45,10 +45,10 @@ fromtext_nid(ARGS_FROMTEXT) { return (mem_tobuffer(target, locator, NS_LOCATORSZ)); } -static inline isc_result_t -totext_nid(ARGS_TOTEXT) { - isc_region_t region; - char buf[sizeof("xxxx:xxxx:xxxx:xxxx")]; +static inline isc_result_t totext_nid(ARGS_TOTEXT) +{ + isc_region_t region; + char buf[sizeof("xxxx:xxxx:xxxx:xxxx")]; unsigned short num; REQUIRE(rdata->type == dns_rdatatype_nid); @@ -65,15 +65,15 @@ totext_nid(ARGS_TOTEXT) { RETERR(str_totext(" ", target)); snprintf(buf, sizeof(buf), "%x:%x:%x:%x", - region.base[0]<<8 | region.base[1], - region.base[2]<<8 | region.base[3], - region.base[4]<<8 | region.base[5], - region.base[6]<<8 | region.base[7]); + region.base[0] << 8 | region.base[1], + region.base[2] << 8 | region.base[3], + region.base[4] << 8 | region.base[5], + region.base[6] << 8 | region.base[7]); return (str_totext(buf, target)); } -static inline isc_result_t -fromwire_nid(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_nid(ARGS_FROMWIRE) +{ isc_region_t sregion; REQUIRE(type == dns_rdatatype_nid); @@ -90,9 +90,8 @@ fromwire_nid(ARGS_FROMWIRE) { return (mem_tobuffer(target, sregion.base, sregion.length)); } -static inline isc_result_t -towire_nid(ARGS_TOWIRE) { - +static inline isc_result_t towire_nid(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_nid); REQUIRE(rdata->length == 10); @@ -101,8 +100,8 @@ towire_nid(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_nid(ARGS_COMPARE) { +static inline int compare_nid(ARGS_COMPARE) +{ isc_region_t region1; isc_region_t region2; @@ -117,8 +116,8 @@ compare_nid(ARGS_COMPARE) { return (isc_region_compare(®ion1, ®ion2)); } -static inline isc_result_t -fromstruct_nid(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_nid(ARGS_FROMSTRUCT) +{ dns_rdata_nid_t *nid = source; REQUIRE(type == dns_rdatatype_nid); @@ -133,9 +132,9 @@ fromstruct_nid(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, nid->nid, sizeof(nid->nid))); } -static inline isc_result_t -tostruct_nid(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_nid(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_nid_t *nid = target; REQUIRE(rdata->type == dns_rdatatype_nid); @@ -154,8 +153,8 @@ tostruct_nid(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_nid(ARGS_FREESTRUCT) { +static inline void freestruct_nid(ARGS_FREESTRUCT) +{ dns_rdata_nid_t *nid = source; REQUIRE(nid != NULL); @@ -164,9 +163,8 @@ freestruct_nid(ARGS_FREESTRUCT) { return; } -static inline isc_result_t -additionaldata_nid(ARGS_ADDLDATA) { - +static inline isc_result_t additionaldata_nid(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_nid); REQUIRE(rdata->length == 10); @@ -177,8 +175,8 @@ additionaldata_nid(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_nid(ARGS_DIGEST) { +static inline isc_result_t digest_nid(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_nid); @@ -189,9 +187,8 @@ digest_nid(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_nid(ARGS_CHECKOWNER) { - +static inline bool checkowner_nid(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_nid); UNUSED(name); @@ -202,9 +199,8 @@ checkowner_nid(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_nid(ARGS_CHECKNAMES) { - +static inline bool checknames_nid(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_nid); REQUIRE(rdata->length == 10); @@ -215,9 +211,9 @@ checknames_nid(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_nid(ARGS_COMPARE) { +static inline int casecompare_nid(ARGS_COMPARE) +{ return (compare_nid(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_NID_104_C */ +#endif /* RDATA_GENERIC_NID_104_C */ diff --git a/lib/dns/rdata/generic/nid_104.h b/lib/dns/rdata/generic/nid_104.h index 9362e2b5b6..419f71f2ac 100644 --- a/lib/dns/rdata/generic/nid_104.h +++ b/lib/dns/rdata/generic/nid_104.h @@ -14,9 +14,9 @@ #define GENERIC_NID_104_H 1 typedef struct dns_rdata_nid { - dns_rdatacommon_t common; - uint16_t pref; - unsigned char nid[8]; + dns_rdatacommon_t common; + uint16_t pref; + unsigned char nid[8]; } dns_rdata_nid_t; #endif /* GENERIC_NID_104_H */ diff --git a/lib/dns/rdata/generic/ninfo_56.c b/lib/dns/rdata/generic/ninfo_56.c index 1101ba1a77..22d2f8d145 100644 --- a/lib/dns/rdata/generic/ninfo_56.c +++ b/lib/dns/rdata/generic/ninfo_56.c @@ -14,9 +14,8 @@ #define RRTYPE_NINFO_ATTRIBUTES (0) -static inline isc_result_t -fromtext_ninfo(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_ninfo(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_ninfo); UNUSED(type); @@ -29,9 +28,8 @@ fromtext_ninfo(ARGS_FROMTEXT) { target, callbacks)); } -static inline isc_result_t -totext_ninfo(ARGS_TOTEXT) { - +static inline isc_result_t totext_ninfo(ARGS_TOTEXT) +{ UNUSED(tctx); REQUIRE(rdata->type == dns_rdatatype_ninfo); @@ -39,9 +37,8 @@ totext_ninfo(ARGS_TOTEXT) { return (generic_totext_txt(rdata, tctx, target)); } -static inline isc_result_t -fromwire_ninfo(ARGS_FROMWIRE) { - +static inline isc_result_t fromwire_ninfo(ARGS_FROMWIRE) +{ REQUIRE(type == dns_rdatatype_ninfo); UNUSED(type); @@ -53,9 +50,8 @@ fromwire_ninfo(ARGS_FROMWIRE) { target)); } -static inline isc_result_t -towire_ninfo(ARGS_TOWIRE) { - +static inline isc_result_t towire_ninfo(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_ninfo); UNUSED(cctx); @@ -63,8 +59,8 @@ towire_ninfo(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_ninfo(ARGS_COMPARE) { +static inline int compare_ninfo(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -77,16 +73,15 @@ compare_ninfo(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_ninfo(ARGS_FROMSTRUCT) { - +static inline isc_result_t fromstruct_ninfo(ARGS_FROMSTRUCT) +{ REQUIRE(type == dns_rdatatype_ninfo); return (generic_fromstruct_txt(rdclass, type, source, target)); } -static inline isc_result_t -tostruct_ninfo(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_ninfo(ARGS_TOSTRUCT) +{ dns_rdata_ninfo_t *ninfo = target; REQUIRE(rdata->type == dns_rdatatype_ninfo); @@ -99,8 +94,8 @@ tostruct_ninfo(ARGS_TOSTRUCT) { return (generic_tostruct_txt(rdata, target, mctx)); } -static inline void -freestruct_ninfo(ARGS_FREESTRUCT) { +static inline void freestruct_ninfo(ARGS_FREESTRUCT) +{ dns_rdata_ninfo_t *ninfo = source; REQUIRE(ninfo != NULL); @@ -109,8 +104,8 @@ freestruct_ninfo(ARGS_FREESTRUCT) { generic_freestruct_txt(source); } -static inline isc_result_t -additionaldata_ninfo(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_ninfo(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_ninfo); UNUSED(rdata); @@ -120,8 +115,8 @@ additionaldata_ninfo(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_ninfo(ARGS_DIGEST) { +static inline isc_result_t digest_ninfo(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_ninfo); @@ -131,9 +126,8 @@ digest_ninfo(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_ninfo(ARGS_CHECKOWNER) { - +static inline bool checkowner_ninfo(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_ninfo); UNUSED(name); @@ -144,9 +138,8 @@ checkowner_ninfo(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_ninfo(ARGS_CHECKNAMES) { - +static inline bool checknames_ninfo(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_ninfo); UNUSED(rdata); @@ -156,14 +149,14 @@ checknames_ninfo(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_ninfo(ARGS_COMPARE) { +static inline int casecompare_ninfo(ARGS_COMPARE) +{ return (compare_ninfo(rdata1, rdata2)); } isc_result_t -dns_rdata_ninfo_first(dns_rdata_ninfo_t *ninfo) { - +dns_rdata_ninfo_first(dns_rdata_ninfo_t *ninfo) +{ REQUIRE(ninfo != NULL); REQUIRE(ninfo->common.rdtype == dns_rdatatype_ninfo); @@ -171,8 +164,8 @@ dns_rdata_ninfo_first(dns_rdata_ninfo_t *ninfo) { } isc_result_t -dns_rdata_ninfo_next(dns_rdata_ninfo_t *ninfo) { - +dns_rdata_ninfo_next(dns_rdata_ninfo_t *ninfo) +{ REQUIRE(ninfo != NULL); REQUIRE(ninfo->common.rdtype == dns_rdatatype_ninfo); @@ -180,13 +173,12 @@ dns_rdata_ninfo_next(dns_rdata_ninfo_t *ninfo) { } isc_result_t -dns_rdata_ninfo_current(dns_rdata_ninfo_t *ninfo, +dns_rdata_ninfo_current(dns_rdata_ninfo_t * ninfo, dns_rdata_ninfo_string_t *string) { - REQUIRE(ninfo != NULL); REQUIRE(ninfo->common.rdtype == dns_rdatatype_ninfo); return (generic_txt_current(ninfo, string)); } -#endif /* RDATA_GENERIC_NINFO_56_C */ +#endif /* RDATA_GENERIC_NINFO_56_C */ diff --git a/lib/dns/rdata/generic/ns_2.c b/lib/dns/rdata/generic/ns_2.c index ac552529fb..b5858627d2 100644 --- a/lib/dns/rdata/generic/ns_2.c +++ b/lib/dns/rdata/generic/ns_2.c @@ -14,12 +14,12 @@ #define RRTYPE_NS_ATTRIBUTES (DNS_RDATATYPEATTR_ZONECUTAUTH) -static inline isc_result_t -fromtext_ns(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_ns(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; - bool ok; + bool ok; REQUIRE(type == dns_rdatatype_ns); @@ -27,7 +27,7 @@ fromtext_ns(ARGS_FROMTEXT) { UNUSED(rdclass); UNUSED(callbacks); - RETERR(isc_lex_getmastertoken(lexer, &token,isc_tokentype_string, + RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string, false)); dns_name_init(&name, NULL); @@ -45,12 +45,12 @@ fromtext_ns(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_ns(ARGS_TOTEXT) { +static inline isc_result_t totext_ns(ARGS_TOTEXT) +{ isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; + dns_name_t name; + dns_name_t prefix; + bool sub; REQUIRE(rdata->type == dns_rdatatype_ns); REQUIRE(rdata->length != 0); @@ -66,8 +66,8 @@ totext_ns(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_ns(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_ns(ARGS_FROMWIRE) +{ dns_name_t name; REQUIRE(type == dns_rdatatype_ns); @@ -81,11 +81,11 @@ fromwire_ns(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_ns(ARGS_TOWIRE) { - dns_name_t name; +static inline isc_result_t towire_ns(ARGS_TOWIRE) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_ns); REQUIRE(rdata->length != 0); @@ -99,10 +99,10 @@ towire_ns(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_ns(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int compare_ns(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; @@ -124,10 +124,10 @@ compare_ns(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_ns(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_ns(ARGS_FROMSTRUCT) +{ dns_rdata_ns_t *ns = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_ns); REQUIRE(ns != NULL); @@ -141,11 +141,11 @@ fromstruct_ns(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_ns(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_ns(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_ns_t *ns = target; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_ns); REQUIRE(ns != NULL); @@ -164,8 +164,8 @@ tostruct_ns(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_ns(ARGS_FREESTRUCT) { +static inline void freestruct_ns(ARGS_FREESTRUCT) +{ dns_rdata_ns_t *ns = source; REQUIRE(ns != NULL); @@ -177,11 +177,11 @@ freestruct_ns(ARGS_FREESTRUCT) { ns->mctx = NULL; } -static inline isc_result_t -additionaldata_ns(ARGS_ADDLDATA) { - dns_name_t name; +static inline isc_result_t additionaldata_ns(ARGS_ADDLDATA) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_ns); @@ -192,10 +192,10 @@ additionaldata_ns(ARGS_ADDLDATA) { return ((add)(arg, &name, dns_rdatatype_a)); } -static inline isc_result_t -digest_ns(ARGS_DIGEST) { +static inline isc_result_t digest_ns(ARGS_DIGEST) +{ isc_region_t r; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_ns); @@ -206,9 +206,8 @@ digest_ns(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_ns(ARGS_CHECKOWNER) { - +static inline bool checkowner_ns(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_ns); UNUSED(name); @@ -219,10 +218,10 @@ checkowner_ns(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_ns(ARGS_CHECKNAMES) { +static inline bool checknames_ns(ARGS_CHECKNAMES) +{ isc_region_t region; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_ns); @@ -239,9 +238,9 @@ checknames_ns(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_ns(ARGS_COMPARE) { +static inline int casecompare_ns(ARGS_COMPARE) +{ return (compare_ns(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_NS_2_C */ +#endif /* RDATA_GENERIC_NS_2_C */ diff --git a/lib/dns/rdata/generic/ns_2.h b/lib/dns/rdata/generic/ns_2.h index db9b6c07a9..22f20c88cf 100644 --- a/lib/dns/rdata/generic/ns_2.h +++ b/lib/dns/rdata/generic/ns_2.h @@ -13,12 +13,10 @@ #ifndef GENERIC_NS_2_H #define GENERIC_NS_2_H 1 - typedef struct dns_rdata_ns { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t name; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t name; } dns_rdata_ns_t; - #endif /* GENERIC_NS_2_H */ diff --git a/lib/dns/rdata/generic/nsec3_50.c b/lib/dns/rdata/generic/nsec3_50.c index b1aee3e670..2c3ea332a6 100644 --- a/lib/dns/rdata/generic/nsec3_50.c +++ b/lib/dns/rdata/generic/nsec3_50.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* * Copyright (C) 2004 Nominet, Ltd. * @@ -31,17 +30,17 @@ #ifndef RDATA_GENERIC_NSEC3_50_C #define RDATA_GENERIC_NSEC3_50_C -#include #include +#include #define RRTYPE_NSEC3_ATTRIBUTES DNS_RDATATYPEATTR_DNSSEC -static inline isc_result_t -fromtext_nsec3(ARGS_FROMTEXT) { - isc_token_t token; - unsigned int flags; +static inline isc_result_t fromtext_nsec3(ARGS_FROMTEXT) +{ + isc_token_t token; + unsigned int flags; unsigned char hashalg; - isc_buffer_t b; + isc_buffer_t b; unsigned char buf[256]; REQUIRE(type == dns_rdatatype_nsec3); @@ -76,7 +75,7 @@ fromtext_nsec3(ARGS_FROMTEXT) { /* salt */ RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string, false)); - if (token.value.as_textregion.length > (255*2)) + if (token.value.as_textregion.length > (255 * 2)) RETTOK(DNS_R_TEXTTOOLONG); if (strcmp(DNS_AS_STR(token), "-") == 0) { RETERR(uint8_tobuffer(0, target)); @@ -100,14 +99,14 @@ fromtext_nsec3(ARGS_FROMTEXT) { return (typemap_fromtext(lexer, target, true)); } -static inline isc_result_t -totext_nsec3(ARGS_TOTEXT) { - isc_region_t sr; - unsigned int i, j; +static inline isc_result_t totext_nsec3(ARGS_TOTEXT) +{ + isc_region_t sr; + unsigned int i, j; unsigned char hash; unsigned char flags; - char buf[sizeof("TYPE65535")]; - uint32_t iterations; + char buf[sizeof("TYPE65535")]; + uint32_t iterations; REQUIRE(rdata->type == dns_rdatatype_nsec3); REQUIRE(rdata->length != 0); @@ -173,8 +172,8 @@ totext_nsec3(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_nsec3(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_nsec3(ARGS_FROMWIRE) +{ isc_region_t sr, rr; unsigned int saltlen, hashlen; @@ -214,8 +213,8 @@ fromwire_nsec3(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_nsec3(ARGS_TOWIRE) { +static inline isc_result_t towire_nsec3(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_nsec3); @@ -227,8 +226,8 @@ towire_nsec3(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_nsec3(ARGS_COMPARE) { +static inline int compare_nsec3(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -243,10 +242,10 @@ compare_nsec3(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_nsec3(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_nsec3(ARGS_FROMSTRUCT) +{ dns_rdata_nsec3_t *nsec3 = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_nsec3); REQUIRE(nsec3 != NULL); @@ -272,9 +271,9 @@ fromstruct_nsec3(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, nsec3->typebits, nsec3->len)); } -static inline isc_result_t -tostruct_nsec3(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_nsec3(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_nsec3_t *nsec3 = target; REQUIRE(rdata->type == dns_rdatatype_nsec3); @@ -311,15 +310,15 @@ tostruct_nsec3(ARGS_TOSTRUCT) { nsec3->mctx = mctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (nsec3->next != NULL) isc_mem_free(mctx, nsec3->next); isc_mem_free(mctx, nsec3->salt); return (ISC_R_NOMEMORY); } -static inline void -freestruct_nsec3(ARGS_FREESTRUCT) { +static inline void freestruct_nsec3(ARGS_FREESTRUCT) +{ dns_rdata_nsec3_t *nsec3 = source; REQUIRE(nsec3 != NULL); @@ -337,8 +336,8 @@ freestruct_nsec3(ARGS_FREESTRUCT) { nsec3->mctx = NULL; } -static inline isc_result_t -additionaldata_nsec3(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_nsec3(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_nsec3); UNUSED(rdata); @@ -348,8 +347,8 @@ additionaldata_nsec3(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_nsec3(ARGS_DIGEST) { +static inline isc_result_t digest_nsec3(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_nsec3); @@ -358,11 +357,11 @@ digest_nsec3(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_nsec3(ARGS_CHECKOWNER) { +static inline bool checkowner_nsec3(ARGS_CHECKOWNER) +{ unsigned char owner[NSEC3_MAX_HASH_LENGTH]; - isc_buffer_t buffer; - dns_label_t label; + isc_buffer_t buffer; + dns_label_t label; REQUIRE(type == dns_rdatatype_nsec3); @@ -382,9 +381,8 @@ checkowner_nsec3(ARGS_CHECKOWNER) { return (false); } -static inline bool -checknames_nsec3(ARGS_CHECKNAMES) { - +static inline bool checknames_nsec3(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_nsec3); UNUSED(rdata); @@ -394,9 +392,9 @@ checknames_nsec3(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_nsec3(ARGS_COMPARE) { +static inline int casecompare_nsec3(ARGS_COMPARE) +{ return (compare_nsec3(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_NSEC3_50_C */ +#endif /* RDATA_GENERIC_NSEC3_50_C */ diff --git a/lib/dns/rdata/generic/nsec3_50.h b/lib/dns/rdata/generic/nsec3_50.h index 36b9695f61..7bc7af627f 100644 --- a/lib/dns/rdata/generic/nsec3_50.h +++ b/lib/dns/rdata/generic/nsec3_50.h @@ -9,28 +9,26 @@ * information regarding copyright ownership. */ - #ifndef GENERIC_NSEC3_50_H #define GENERIC_NSEC3_50_H 1 - /*! * \brief Per RFC 5155 */ #include typedef struct dns_rdata_nsec3 { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_hash_t hash; - unsigned char flags; - dns_iterations_t iterations; - unsigned char salt_length; - unsigned char next_length; - uint16_t len; - unsigned char *salt; - unsigned char *next; - unsigned char *typebits; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_hash_t hash; + unsigned char flags; + dns_iterations_t iterations; + unsigned char salt_length; + unsigned char next_length; + uint16_t len; + unsigned char * salt; + unsigned char * next; + unsigned char * typebits; } dns_rdata_nsec3_t; /* diff --git a/lib/dns/rdata/generic/nsec3param_51.c b/lib/dns/rdata/generic/nsec3param_51.c index 4e7c4c96fa..40b1ffb533 100644 --- a/lib/dns/rdata/generic/nsec3param_51.c +++ b/lib/dns/rdata/generic/nsec3param_51.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* * Copyright (C) 2004 Nominet, Ltd. * @@ -31,15 +30,15 @@ #ifndef RDATA_GENERIC_NSEC3PARAM_51_C #define RDATA_GENERIC_NSEC3PARAM_51_C -#include #include +#include #define RRTYPE_NSEC3PARAM_ATTRIBUTES (DNS_RDATATYPEATTR_DNSSEC) -static inline isc_result_t -fromtext_nsec3param(ARGS_FROMTEXT) { - isc_token_t token; - unsigned int flags = 0; +static inline isc_result_t fromtext_nsec3param(ARGS_FROMTEXT) +{ + isc_token_t token; + unsigned int flags = 0; unsigned char hashalg; REQUIRE(type == dns_rdatatype_nsec3param); @@ -74,7 +73,7 @@ fromtext_nsec3param(ARGS_FROMTEXT) { /* Salt. */ RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string, false)); - if (token.value.as_textregion.length > (255*2)) + if (token.value.as_textregion.length > (255 * 2)) RETTOK(DNS_R_TEXTTOOLONG); if (strcmp(DNS_AS_STR(token), "-") == 0) { RETERR(uint8_tobuffer(0, target)); @@ -86,14 +85,14 @@ fromtext_nsec3param(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_nsec3param(ARGS_TOTEXT) { - isc_region_t sr; - unsigned int i, j; +static inline isc_result_t totext_nsec3param(ARGS_TOTEXT) +{ + isc_region_t sr; + unsigned int i, j; unsigned char hash; unsigned char flags; - char buf[sizeof("65535 ")]; - uint32_t iterations; + char buf[sizeof("65535 ")]; + uint32_t iterations; REQUIRE(rdata->type == dns_rdatatype_nsec3param); REQUIRE(rdata->length != 0); @@ -135,8 +134,8 @@ totext_nsec3param(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_nsec3param(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_nsec3param(ARGS_FROMWIRE) +{ isc_region_t sr, rr; unsigned int saltlen; @@ -164,8 +163,8 @@ fromwire_nsec3param(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_nsec3param(ARGS_TOWIRE) { +static inline isc_result_t towire_nsec3param(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_nsec3param); @@ -177,8 +176,8 @@ towire_nsec3param(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_nsec3param(ARGS_COMPARE) { +static inline int compare_nsec3param(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -193,8 +192,8 @@ compare_nsec3param(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_nsec3param(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_nsec3param(ARGS_FROMSTRUCT) +{ dns_rdata_nsec3param_t *nsec3param = source; REQUIRE(type == dns_rdatatype_nsec3param); @@ -209,14 +208,13 @@ fromstruct_nsec3param(ARGS_FROMSTRUCT) { RETERR(uint8_tobuffer(nsec3param->flags, target)); RETERR(uint16_tobuffer(nsec3param->iterations, target)); RETERR(uint8_tobuffer(nsec3param->salt_length, target)); - RETERR(mem_tobuffer(target, nsec3param->salt, - nsec3param->salt_length)); + RETERR(mem_tobuffer(target, nsec3param->salt, nsec3param->salt_length)); return (ISC_R_SUCCESS); } -static inline isc_result_t -tostruct_nsec3param(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_nsec3param(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_nsec3param_t *nsec3param = target; REQUIRE(rdata->type == dns_rdatatype_nsec3param); @@ -234,8 +232,8 @@ tostruct_nsec3param(ARGS_TOSTRUCT) { nsec3param->iterations = uint16_consume_fromregion(®ion); nsec3param->salt_length = uint8_consume_fromregion(®ion); - nsec3param->salt = mem_maybedup(mctx, region.base, - nsec3param->salt_length); + nsec3param->salt = + mem_maybedup(mctx, region.base, nsec3param->salt_length); if (nsec3param->salt == NULL) return (ISC_R_NOMEMORY); isc_region_consume(®ion, nsec3param->salt_length); @@ -244,8 +242,8 @@ tostruct_nsec3param(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_nsec3param(ARGS_FREESTRUCT) { +static inline void freestruct_nsec3param(ARGS_FREESTRUCT) +{ dns_rdata_nsec3param_t *nsec3param = source; REQUIRE(nsec3param != NULL); @@ -259,8 +257,8 @@ freestruct_nsec3param(ARGS_FREESTRUCT) { nsec3param->mctx = NULL; } -static inline isc_result_t -additionaldata_nsec3param(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_nsec3param(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_nsec3param); UNUSED(rdata); @@ -270,8 +268,8 @@ additionaldata_nsec3param(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_nsec3param(ARGS_DIGEST) { +static inline isc_result_t digest_nsec3param(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_nsec3param); @@ -280,22 +278,20 @@ digest_nsec3param(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_nsec3param(ARGS_CHECKOWNER) { +static inline bool checkowner_nsec3param(ARGS_CHECKOWNER) +{ + REQUIRE(type == dns_rdatatype_nsec3param); - REQUIRE(type == dns_rdatatype_nsec3param); + UNUSED(name); + UNUSED(type); + UNUSED(rdclass); + UNUSED(wildcard); - UNUSED(name); - UNUSED(type); - UNUSED(rdclass); - UNUSED(wildcard); - - return (true); + return (true); } -static inline bool -checknames_nsec3param(ARGS_CHECKNAMES) { - +static inline bool checknames_nsec3param(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_nsec3param); UNUSED(rdata); @@ -305,9 +301,9 @@ checknames_nsec3param(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_nsec3param(ARGS_COMPARE) { +static inline int casecompare_nsec3param(ARGS_COMPARE) +{ return (compare_nsec3param(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_NSEC3PARAM_51_C */ +#endif /* RDATA_GENERIC_NSEC3PARAM_51_C */ diff --git a/lib/dns/rdata/generic/nsec3param_51.h b/lib/dns/rdata/generic/nsec3param_51.h index b8bc375550..e43c5e88d4 100644 --- a/lib/dns/rdata/generic/nsec3param_51.h +++ b/lib/dns/rdata/generic/nsec3param_51.h @@ -9,24 +9,22 @@ * information regarding copyright ownership. */ - #ifndef GENERIC_NSEC3PARAM_51_H #define GENERIC_NSEC3PARAM_51_H 1 - /*! * \brief Per RFC 5155 */ #include typedef struct dns_rdata_nsec3param { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_hash_t hash; - unsigned char flags; /* DNS_NSEC3FLAG_* */ - dns_iterations_t iterations; - unsigned char salt_length; - unsigned char *salt; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_hash_t hash; + unsigned char flags; /* DNS_NSEC3FLAG_* */ + dns_iterations_t iterations; + unsigned char salt_length; + unsigned char * salt; } dns_rdata_nsec3param_t; #endif /* GENERIC_NSEC3PARAM_51_H */ diff --git a/lib/dns/rdata/generic/nsec_47.c b/lib/dns/rdata/generic/nsec_47.c index 824d5d3b45..cb342ea0d0 100644 --- a/lib/dns/rdata/generic/nsec_47.c +++ b/lib/dns/rdata/generic/nsec_47.c @@ -18,14 +18,14 @@ * The attributes do not include DNS_RDATATYPEATTR_SINGLETON * because we must be able to handle a parent/child NSEC pair. */ -#define RRTYPE_NSEC_ATTRIBUTES \ - ( DNS_RDATATYPEATTR_DNSSEC | DNS_RDATATYPEATTR_ZONECUTAUTH | \ - DNS_RDATATYPEATTR_ATCNAME ) +#define RRTYPE_NSEC_ATTRIBUTES \ + (DNS_RDATATYPEATTR_DNSSEC | DNS_RDATATYPEATTR_ZONECUTAUTH | \ + DNS_RDATATYPEATTR_ATCNAME) -static inline isc_result_t -fromtext_nsec(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_nsec(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; REQUIRE(type == dns_rdatatype_nsec); @@ -48,10 +48,10 @@ fromtext_nsec(ARGS_FROMTEXT) { return (typemap_fromtext(lexer, target, false)); } -static inline isc_result_t -totext_nsec(ARGS_TOTEXT) { +static inline isc_result_t totext_nsec(ARGS_TOTEXT) +{ isc_region_t sr; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_nsec); REQUIRE(rdata->length != 0); @@ -72,10 +72,10 @@ totext_nsec(ARGS_TOTEXT) { return (typemap_totext(&sr, NULL, target)); } -static /* inline */ isc_result_t -fromwire_nsec(ARGS_FROMWIRE) { +static /* inline */ isc_result_t fromwire_nsec(ARGS_FROMWIRE) +{ isc_region_t sr; - dns_name_t name; + dns_name_t name; REQUIRE(type == dns_rdatatype_nsec); @@ -94,10 +94,10 @@ fromwire_nsec(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_nsec(ARGS_TOWIRE) { - isc_region_t sr; - dns_name_t name; +static inline isc_result_t towire_nsec(ARGS_TOWIRE) +{ + isc_region_t sr; + dns_name_t name; dns_offsets_t offsets; REQUIRE(rdata->type == dns_rdatatype_nsec); @@ -113,8 +113,8 @@ towire_nsec(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_nsec(ARGS_COMPARE) { +static inline int compare_nsec(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -129,10 +129,10 @@ compare_nsec(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_nsec(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_nsec(ARGS_FROMSTRUCT) +{ dns_rdata_nsec_t *nsec = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_nsec); REQUIRE(nsec != NULL); @@ -152,11 +152,11 @@ fromstruct_nsec(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, nsec->typebits, nsec->len)); } -static inline isc_result_t -tostruct_nsec(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_nsec(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_nsec_t *nsec = target; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_nsec); REQUIRE(nsec != NULL); @@ -181,14 +181,14 @@ tostruct_nsec(ARGS_TOSTRUCT) { nsec->mctx = mctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (mctx != NULL) dns_name_free(&nsec->next, mctx); return (ISC_R_NOMEMORY); } -static inline void -freestruct_nsec(ARGS_FREESTRUCT) { +static inline void freestruct_nsec(ARGS_FREESTRUCT) +{ dns_rdata_nsec_t *nsec = source; REQUIRE(nsec != NULL); @@ -203,8 +203,8 @@ freestruct_nsec(ARGS_FREESTRUCT) { nsec->mctx = NULL; } -static inline isc_result_t -additionaldata_nsec(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_nsec(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_nsec); UNUSED(rdata); @@ -214,8 +214,8 @@ additionaldata_nsec(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_nsec(ARGS_DIGEST) { +static inline isc_result_t digest_nsec(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_nsec); @@ -224,22 +224,20 @@ digest_nsec(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_nsec(ARGS_CHECKOWNER) { +static inline bool checkowner_nsec(ARGS_CHECKOWNER) +{ + REQUIRE(type == dns_rdatatype_nsec); - REQUIRE(type == dns_rdatatype_nsec); + UNUSED(name); + UNUSED(type); + UNUSED(rdclass); + UNUSED(wildcard); - UNUSED(name); - UNUSED(type); - UNUSED(rdclass); - UNUSED(wildcard); - - return (true); + return (true); } -static inline bool -checknames_nsec(ARGS_CHECKNAMES) { - +static inline bool checknames_nsec(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_nsec); UNUSED(rdata); @@ -249,13 +247,13 @@ checknames_nsec(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_nsec(ARGS_COMPARE) { +static inline int casecompare_nsec(ARGS_COMPARE) +{ isc_region_t region1; isc_region_t region2; - dns_name_t name1; - dns_name_t name2; - int order; + dns_name_t name1; + dns_name_t name2; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -281,4 +279,4 @@ casecompare_nsec(ARGS_COMPARE) { return (isc_region_compare(®ion1, ®ion2)); } -#endif /* RDATA_GENERIC_NSEC_47_C */ +#endif /* RDATA_GENERIC_NSEC_47_C */ diff --git a/lib/dns/rdata/generic/nsec_47.h b/lib/dns/rdata/generic/nsec_47.h index b597864930..7fd1660d63 100644 --- a/lib/dns/rdata/generic/nsec_47.h +++ b/lib/dns/rdata/generic/nsec_47.h @@ -12,16 +12,15 @@ #ifndef GENERIC_NSEC_47_H #define GENERIC_NSEC_47_H 1 - /*! * \brief Per RFC 3845 */ typedef struct dns_rdata_nsec { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t next; - unsigned char *typebits; - uint16_t len; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t next; + unsigned char * typebits; + uint16_t len; } dns_rdata_nsec_t; #endif /* GENERIC_NSEC_47_H */ diff --git a/lib/dns/rdata/generic/null_10.c b/lib/dns/rdata/generic/null_10.c index 5ffdb71e11..8fd6863db6 100644 --- a/lib/dns/rdata/generic/null_10.c +++ b/lib/dns/rdata/generic/null_10.c @@ -14,8 +14,8 @@ #define RRTYPE_NULL_ATTRIBUTES (0) -static inline isc_result_t -fromtext_null(ARGS_FROMTEXT) { +static inline isc_result_t fromtext_null(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_null); UNUSED(rdclass); @@ -29,15 +29,15 @@ fromtext_null(ARGS_FROMTEXT) { return (DNS_R_SYNTAX); } -static inline isc_result_t -totext_null(ARGS_TOTEXT) { +static inline isc_result_t totext_null(ARGS_TOTEXT) +{ REQUIRE(rdata->type == dns_rdatatype_null); return (unknown_totext(rdata, tctx, target)); } -static inline isc_result_t -fromwire_null(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_null(ARGS_FROMWIRE) +{ isc_region_t sr; REQUIRE(type == dns_rdatatype_null); @@ -52,8 +52,8 @@ fromwire_null(ARGS_FROMWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline isc_result_t -towire_null(ARGS_TOWIRE) { +static inline isc_result_t towire_null(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_null); UNUSED(cctx); @@ -61,8 +61,8 @@ towire_null(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_null(ARGS_COMPARE) { +static inline int compare_null(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -75,8 +75,8 @@ compare_null(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_null(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_null(ARGS_FROMSTRUCT) +{ dns_rdata_null_t *null = source; REQUIRE(type == dns_rdatatype_null); @@ -91,10 +91,10 @@ fromstruct_null(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, null->data, null->length)); } -static inline isc_result_t -tostruct_null(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_null(ARGS_TOSTRUCT) +{ dns_rdata_null_t *null = target; - isc_region_t r; + isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_null); REQUIRE(null != NULL); @@ -113,8 +113,8 @@ tostruct_null(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_null(ARGS_FREESTRUCT) { +static inline void freestruct_null(ARGS_FREESTRUCT) +{ dns_rdata_null_t *null = source; REQUIRE(null != NULL); @@ -128,8 +128,8 @@ freestruct_null(ARGS_FREESTRUCT) { null->mctx = NULL; } -static inline isc_result_t -additionaldata_null(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_null(ARGS_ADDLDATA) +{ UNUSED(rdata); UNUSED(add); UNUSED(arg); @@ -139,8 +139,8 @@ additionaldata_null(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_null(ARGS_DIGEST) { +static inline isc_result_t digest_null(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_null); @@ -150,9 +150,8 @@ digest_null(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_null(ARGS_CHECKOWNER) { - +static inline bool checkowner_null(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_null); UNUSED(name); @@ -163,9 +162,8 @@ checkowner_null(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_null(ARGS_CHECKNAMES) { - +static inline bool checknames_null(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_null); UNUSED(rdata); @@ -175,9 +173,9 @@ checknames_null(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_null(ARGS_COMPARE) { +static inline int casecompare_null(ARGS_COMPARE) +{ return (compare_null(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_NULL_10_C */ +#endif /* RDATA_GENERIC_NULL_10_C */ diff --git a/lib/dns/rdata/generic/null_10.h b/lib/dns/rdata/generic/null_10.h index 0b01dd8f24..ef60ce71e7 100644 --- a/lib/dns/rdata/generic/null_10.h +++ b/lib/dns/rdata/generic/null_10.h @@ -13,13 +13,11 @@ #ifndef GENERIC_NULL_10_H #define GENERIC_NULL_10_H 1 - typedef struct dns_rdata_null { - dns_rdatacommon_t common; - isc_mem_t *mctx; - uint16_t length; - unsigned char *data; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint16_t length; + unsigned char * data; } dns_rdata_null_t; - #endif /* GENERIC_NULL_10_H */ diff --git a/lib/dns/rdata/generic/nxt_30.c b/lib/dns/rdata/generic/nxt_30.c index ba8c87bb24..8c72912d7d 100644 --- a/lib/dns/rdata/generic/nxt_30.c +++ b/lib/dns/rdata/generic/nxt_30.c @@ -20,17 +20,17 @@ */ #define RRTYPE_NXT_ATTRIBUTES (0) -static inline isc_result_t -fromtext_nxt(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; - isc_buffer_t buffer; - char *e; - unsigned char bm[8*1024]; /* 64k bits */ +static inline isc_result_t fromtext_nxt(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; + isc_buffer_t buffer; + char * e; + unsigned char bm[8 * 1024]; /* 64k bits */ dns_rdatatype_t covered; dns_rdatatype_t maxcovered = 0; - bool first = true; - long n; + bool first = true; + long n; REQUIRE(type == dns_rdatatype_nxt); @@ -59,7 +59,8 @@ fromtext_nxt(ARGS_FROMTEXT) { if (e != DNS_AS_STR(token) && *e == '\0') { covered = (dns_rdatatype_t)n; } else if (dns_rdatatype_fromtext(&covered, - &token.value.as_textregion) == DNS_R_UNKNOWN) + &token.value.as_textregion) == + DNS_R_UNKNOWN) RETTOK(DNS_R_UNKNOWN); /* * NXT is only specified for types 1..127. @@ -69,7 +70,7 @@ fromtext_nxt(ARGS_FROMTEXT) { if (first || covered > maxcovered) maxcovered = covered; first = false; - bm[covered/8] |= (0x80>>(covered%8)); + bm[covered / 8] |= (0x80 >> (covered % 8)); } while (1); isc_lex_ungettoken(lexer, &token); if (first) @@ -78,13 +79,13 @@ fromtext_nxt(ARGS_FROMTEXT) { return (mem_tobuffer(target, bm, n)); } -static inline isc_result_t -totext_nxt(ARGS_TOTEXT) { +static inline isc_result_t totext_nxt(ARGS_TOTEXT) +{ isc_region_t sr; unsigned int i, j; - dns_name_t name; - dns_name_t prefix; - bool sub; + dns_name_t name; + dns_name_t prefix; + bool sub; REQUIRE(rdata->type == dns_rdatatype_nxt); REQUIRE(rdata->length != 0); @@ -104,24 +105,23 @@ totext_nxt(ARGS_TOTEXT) { dns_rdatatype_t t = i * 8 + j; RETERR(str_totext(" ", target)); if (dns_rdatatype_isknown(t)) { - RETERR(dns_rdatatype_totext(t, - target)); + RETERR(dns_rdatatype_totext( + t, target)); } else { char buf[sizeof("65535")]; - snprintf(buf, sizeof(buf), - "%u", t); - RETERR(str_totext(buf, - target)); + snprintf(buf, sizeof(buf), "%u", + t); + RETERR(str_totext(buf, target)); } } } return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_nxt(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_nxt(ARGS_FROMWIRE) +{ isc_region_t sr; - dns_name_t name; + dns_name_t name; REQUIRE(type == dns_rdatatype_nxt); @@ -142,10 +142,10 @@ fromwire_nxt(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_nxt(ARGS_TOWIRE) { - isc_region_t sr; - dns_name_t name; +static inline isc_result_t towire_nxt(ARGS_TOWIRE) +{ + isc_region_t sr; + dns_name_t name; dns_offsets_t offsets; REQUIRE(rdata->type == dns_rdatatype_nxt); @@ -161,13 +161,13 @@ towire_nxt(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_nxt(ARGS_COMPARE) { +static inline int compare_nxt(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; - dns_name_t name1; - dns_name_t name2; - int order; + dns_name_t name1; + dns_name_t name2; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -191,10 +191,10 @@ compare_nxt(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_nxt(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_nxt(ARGS_FROMSTRUCT) +{ dns_rdata_nxt_t *nxt = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_nxt); REQUIRE(nxt != NULL); @@ -215,11 +215,11 @@ fromstruct_nxt(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, nxt->typebits, nxt->len)); } -static inline isc_result_t -tostruct_nxt(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_nxt(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_nxt_t *nxt = target; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_nxt); REQUIRE(nxt != NULL); @@ -244,14 +244,14 @@ tostruct_nxt(ARGS_TOSTRUCT) { nxt->mctx = mctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (mctx != NULL) dns_name_free(&nxt->next, mctx); return (ISC_R_NOMEMORY); } -static inline void -freestruct_nxt(ARGS_FREESTRUCT) { +static inline void freestruct_nxt(ARGS_FREESTRUCT) +{ dns_rdata_nxt_t *nxt = source; REQUIRE(nxt != NULL); @@ -266,8 +266,8 @@ freestruct_nxt(ARGS_FREESTRUCT) { nxt->mctx = NULL; } -static inline isc_result_t -additionaldata_nxt(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_nxt(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_nxt); UNUSED(rdata); @@ -277,10 +277,10 @@ additionaldata_nxt(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_nxt(ARGS_DIGEST) { +static inline isc_result_t digest_nxt(ARGS_DIGEST) +{ isc_region_t r; - dns_name_t name; + dns_name_t name; isc_result_t result; REQUIRE(rdata->type == dns_rdatatype_nxt); @@ -296,9 +296,8 @@ digest_nxt(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_nxt(ARGS_CHECKOWNER) { - +static inline bool checkowner_nxt(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_nxt); UNUSED(name); @@ -309,9 +308,8 @@ checkowner_nxt(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_nxt(ARGS_CHECKNAMES) { - +static inline bool checknames_nxt(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_nxt); UNUSED(rdata); @@ -321,8 +319,8 @@ checknames_nxt(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_nxt(ARGS_COMPARE) { +static inline int casecompare_nxt(ARGS_COMPARE) +{ return (compare_nxt(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_NXT_30_C */ +#endif /* RDATA_GENERIC_NXT_30_C */ diff --git a/lib/dns/rdata/generic/nxt_30.h b/lib/dns/rdata/generic/nxt_30.h index 63bbc0f571..7ef4af13f2 100644 --- a/lib/dns/rdata/generic/nxt_30.h +++ b/lib/dns/rdata/generic/nxt_30.h @@ -12,16 +12,15 @@ #ifndef GENERIC_NXT_30_H #define GENERIC_NXT_30_H 1 - /*! * \brief RFC2535 */ typedef struct dns_rdata_nxt { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t next; - unsigned char *typebits; - uint16_t len; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t next; + unsigned char * typebits; + uint16_t len; } dns_rdata_nxt_t; #endif /* GENERIC_NXT_30_H */ diff --git a/lib/dns/rdata/generic/openpgpkey_61.c b/lib/dns/rdata/generic/openpgpkey_61.c index 900d665c2e..1e78e04059 100644 --- a/lib/dns/rdata/generic/openpgpkey_61.c +++ b/lib/dns/rdata/generic/openpgpkey_61.c @@ -14,9 +14,8 @@ #define RRTYPE_OPENPGPKEY_ATTRIBUTES 0 -static inline isc_result_t -fromtext_openpgpkey(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_openpgpkey(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_openpgpkey); UNUSED(type); @@ -31,8 +30,8 @@ fromtext_openpgpkey(ARGS_FROMTEXT) { return (isc_base64_tobuffer(lexer, target, -2)); } -static inline isc_result_t -totext_openpgpkey(ARGS_TOTEXT) { +static inline isc_result_t totext_openpgpkey(ARGS_TOTEXT) +{ isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_openpgpkey); @@ -47,7 +46,7 @@ totext_openpgpkey(ARGS_TOTEXT) { RETERR(str_totext("( ", target)); if ((tctx->flags & DNS_STYLEFLAG_NOCRYPTO) == 0) { - if (tctx->width == 0) /* No splitting */ + if (tctx->width == 0) /* No splitting */ RETERR(isc_base64_totext(&sr, 60, "", target)); else RETERR(isc_base64_totext(&sr, tctx->width - 2, @@ -61,8 +60,8 @@ totext_openpgpkey(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_openpgpkey(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_openpgpkey(ARGS_FROMWIRE) +{ isc_region_t sr; REQUIRE(type == dns_rdatatype_openpgpkey); @@ -82,8 +81,8 @@ fromwire_openpgpkey(ARGS_FROMWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline isc_result_t -towire_openpgpkey(ARGS_TOWIRE) { +static inline isc_result_t towire_openpgpkey(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_openpgpkey); @@ -95,8 +94,8 @@ towire_openpgpkey(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_openpgpkey(ARGS_COMPARE) { +static inline int compare_openpgpkey(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -111,8 +110,8 @@ compare_openpgpkey(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_openpgpkey(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_openpgpkey(ARGS_FROMSTRUCT) +{ dns_rdata_openpgpkey_t *sig = source; REQUIRE(type == dns_rdatatype_openpgpkey); @@ -130,9 +129,9 @@ fromstruct_openpgpkey(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, sig->keyring, sig->length)); } -static inline isc_result_t -tostruct_openpgpkey(ARGS_TOSTRUCT) { - isc_region_t sr; +static inline isc_result_t tostruct_openpgpkey(ARGS_TOSTRUCT) +{ + isc_region_t sr; dns_rdata_openpgpkey_t *sig = target; REQUIRE(rdata->type == dns_rdatatype_openpgpkey); @@ -156,13 +155,13 @@ tostruct_openpgpkey(ARGS_TOSTRUCT) { sig->mctx = mctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: return (ISC_R_NOMEMORY); } -static inline void -freestruct_openpgpkey(ARGS_FREESTRUCT) { - dns_rdata_openpgpkey_t *sig = (dns_rdata_openpgpkey_t *) source; +static inline void freestruct_openpgpkey(ARGS_FREESTRUCT) +{ + dns_rdata_openpgpkey_t *sig = (dns_rdata_openpgpkey_t *)source; REQUIRE(sig != NULL); REQUIRE(sig->common.rdtype == dns_rdatatype_openpgpkey); @@ -175,8 +174,8 @@ freestruct_openpgpkey(ARGS_FREESTRUCT) { sig->mctx = NULL; } -static inline isc_result_t -additionaldata_openpgpkey(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_openpgpkey(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_openpgpkey); UNUSED(rdata); @@ -186,8 +185,8 @@ additionaldata_openpgpkey(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_openpgpkey(ARGS_DIGEST) { +static inline isc_result_t digest_openpgpkey(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_openpgpkey); @@ -197,9 +196,8 @@ digest_openpgpkey(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_openpgpkey(ARGS_CHECKOWNER) { - +static inline bool checkowner_openpgpkey(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_openpgpkey); UNUSED(name); @@ -210,9 +208,8 @@ checkowner_openpgpkey(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_openpgpkey(ARGS_CHECKNAMES) { - +static inline bool checknames_openpgpkey(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_openpgpkey); UNUSED(rdata); @@ -222,8 +219,8 @@ checknames_openpgpkey(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_openpgpkey(ARGS_COMPARE) { +static inline int casecompare_openpgpkey(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -239,4 +236,4 @@ casecompare_openpgpkey(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -#endif /* RDATA_GENERIC_OPENPGPKEY_61_C */ +#endif /* RDATA_GENERIC_OPENPGPKEY_61_C */ diff --git a/lib/dns/rdata/generic/openpgpkey_61.h b/lib/dns/rdata/generic/openpgpkey_61.h index 7c68e7ff96..1f74d1216f 100644 --- a/lib/dns/rdata/generic/openpgpkey_61.h +++ b/lib/dns/rdata/generic/openpgpkey_61.h @@ -13,10 +13,10 @@ #define GENERIC_OPENPGPKEY_61_H 1 typedef struct dns_rdata_openpgpkey { - dns_rdatacommon_t common; - isc_mem_t * mctx; - uint16_t length; - unsigned char * keyring; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint16_t length; + unsigned char * keyring; } dns_rdata_openpgpkey_t; #endif /* GENERIC_OPENPGPKEY_61_H */ diff --git a/lib/dns/rdata/generic/opt_41.c b/lib/dns/rdata/generic/opt_41.c index d361e13a3a..20afb44c2c 100644 --- a/lib/dns/rdata/generic/opt_41.c +++ b/lib/dns/rdata/generic/opt_41.c @@ -14,12 +14,12 @@ #ifndef RDATA_GENERIC_OPT_41_C #define RDATA_GENERIC_OPT_41_C -#define RRTYPE_OPT_ATTRIBUTES (DNS_RDATATYPEATTR_SINGLETON | \ - DNS_RDATATYPEATTR_META | \ - DNS_RDATATYPEATTR_NOTQUESTION) +#define RRTYPE_OPT_ATTRIBUTES \ + (DNS_RDATATYPEATTR_SINGLETON | DNS_RDATATYPEATTR_META | \ + DNS_RDATATYPEATTR_NOTQUESTION) -static inline isc_result_t -fromtext_opt(ARGS_FROMTEXT) { +static inline isc_result_t fromtext_opt(ARGS_FROMTEXT) +{ /* * OPT records do not have a text format. */ @@ -37,13 +37,13 @@ fromtext_opt(ARGS_FROMTEXT) { return (ISC_R_NOTIMPLEMENTED); } -static inline isc_result_t -totext_opt(ARGS_TOTEXT) { +static inline isc_result_t totext_opt(ARGS_TOTEXT) +{ isc_region_t r; - isc_region_t or; + isc_region_t or ; uint16_t option; uint16_t length; - char buf[sizeof("64000 64000")]; + char buf[sizeof("64000 64000")]; /* * OPT records do not have a text format. @@ -66,10 +66,10 @@ totext_opt(ARGS_TOTEXT) { RETERR(str_totext(tctx->linebreak, target)); or = r; or.length = length; - if (tctx->width == 0) /* No splitting */ - RETERR(isc_base64_totext(&or, 60, "", target)); + if (tctx->width == 0) /* No splitting */ + RETERR(isc_base64_totext(& or, 60, "", target)); else - RETERR(isc_base64_totext(&or, tctx->width - 2, + RETERR(isc_base64_totext(& or, tctx->width - 2, tctx->linebreak, target)); isc_region_consume(&r, length); @@ -83,12 +83,12 @@ totext_opt(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_opt(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_opt(ARGS_FROMWIRE) +{ isc_region_t sregion; isc_region_t tregion; - uint16_t opt; - uint16_t length; + uint16_t opt; + uint16_t length; unsigned int total; REQUIRE(type == dns_rdatatype_opt); @@ -124,9 +124,9 @@ fromwire_opt(ARGS_FROMWIRE) { break; case DNS_OPT_CLIENT_SUBNET: { uint16_t family; - uint8_t addrlen; - uint8_t scope; - uint8_t addrbytes; + uint8_t addrlen; + uint8_t scope; + uint8_t addrbytes; if (length < 4) { return (DNS_R_OPTERR); @@ -229,9 +229,8 @@ fromwire_opt(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_opt(ARGS_TOWIRE) { - +static inline isc_result_t towire_opt(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_opt); UNUSED(cctx); @@ -239,8 +238,8 @@ towire_opt(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_opt(ARGS_COMPARE) { +static inline int compare_opt(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -253,11 +252,11 @@ compare_opt(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_opt(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_opt(ARGS_FROMSTRUCT) +{ dns_rdata_opt_t *opt = source; - isc_region_t region; - uint16_t length; + isc_region_t region; + uint16_t length; REQUIRE(type == dns_rdatatype_opt); REQUIRE(opt != NULL); @@ -271,7 +270,7 @@ fromstruct_opt(ARGS_FROMSTRUCT) { region.base = opt->options; region.length = opt->length; while (region.length >= 4) { - isc_region_consume(®ion, 2); /* opt */ + isc_region_consume(®ion, 2); /* opt */ length = uint16_fromregion(®ion); isc_region_consume(®ion, 2); if (region.length < length) @@ -284,10 +283,10 @@ fromstruct_opt(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, opt->options, opt->length)); } -static inline isc_result_t -tostruct_opt(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_opt(ARGS_TOSTRUCT) +{ dns_rdata_opt_t *opt = target; - isc_region_t r; + isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_opt); REQUIRE(opt != NULL); @@ -307,8 +306,8 @@ tostruct_opt(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_opt(ARGS_FREESTRUCT) { +static inline void freestruct_opt(ARGS_FREESTRUCT) +{ dns_rdata_opt_t *opt = source; REQUIRE(opt != NULL); @@ -322,8 +321,8 @@ freestruct_opt(ARGS_FREESTRUCT) { opt->mctx = NULL; } -static inline isc_result_t -additionaldata_opt(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_opt(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_opt); UNUSED(rdata); @@ -333,9 +332,8 @@ additionaldata_opt(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_opt(ARGS_DIGEST) { - +static inline isc_result_t digest_opt(ARGS_DIGEST) +{ /* * OPT records are not digested. */ @@ -349,9 +347,8 @@ digest_opt(ARGS_DIGEST) { return (ISC_R_NOTIMPLEMENTED); } -static inline bool -checkowner_opt(ARGS_CHECKOWNER) { - +static inline bool checkowner_opt(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_opt); UNUSED(type); @@ -361,9 +358,8 @@ checkowner_opt(ARGS_CHECKOWNER) { return (dns_name_equal(name, dns_rootname)); } -static inline bool -checknames_opt(ARGS_CHECKNAMES) { - +static inline bool checknames_opt(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_opt); UNUSED(rdata); @@ -373,14 +369,14 @@ checknames_opt(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_opt(ARGS_COMPARE) { +static inline int casecompare_opt(ARGS_COMPARE) +{ return (compare_opt(rdata1, rdata2)); } isc_result_t -dns_rdata_opt_first(dns_rdata_opt_t *opt) { - +dns_rdata_opt_first(dns_rdata_opt_t *opt) +{ REQUIRE(opt != NULL); REQUIRE(opt->common.rdtype == dns_rdatatype_opt); REQUIRE(opt->options != NULL || opt->length == 0); @@ -393,9 +389,10 @@ dns_rdata_opt_first(dns_rdata_opt_t *opt) { } isc_result_t -dns_rdata_opt_next(dns_rdata_opt_t *opt) { +dns_rdata_opt_next(dns_rdata_opt_t *opt) +{ isc_region_t r; - uint16_t length; + uint16_t length; REQUIRE(opt != NULL); REQUIRE(opt->common.rdtype == dns_rdatatype_opt); @@ -414,7 +411,8 @@ dns_rdata_opt_next(dns_rdata_opt_t *opt) { } isc_result_t -dns_rdata_opt_current(dns_rdata_opt_t *opt, dns_rdata_opt_opcode_t *opcode) { +dns_rdata_opt_current(dns_rdata_opt_t *opt, dns_rdata_opt_opcode_t *opcode) +{ isc_region_t r; REQUIRE(opt != NULL); @@ -437,4 +435,4 @@ dns_rdata_opt_current(dns_rdata_opt_t *opt, dns_rdata_opt_opcode_t *opcode) { return (ISC_R_SUCCESS); } -#endif /* RDATA_GENERIC_OPT_41_C */ +#endif /* RDATA_GENERIC_OPT_41_C */ diff --git a/lib/dns/rdata/generic/opt_41.h b/lib/dns/rdata/generic/opt_41.h index 5b31f4d094..2c80025300 100644 --- a/lib/dns/rdata/generic/opt_41.h +++ b/lib/dns/rdata/generic/opt_41.h @@ -12,23 +12,22 @@ #ifndef GENERIC_OPT_41_H #define GENERIC_OPT_41_H 1 - /*! * \brief Per RFC2671 */ typedef struct dns_rdata_opt_opcode { - uint16_t opcode; - uint16_t length; - unsigned char *data; + uint16_t opcode; + uint16_t length; + unsigned char *data; } dns_rdata_opt_opcode_t; typedef struct dns_rdata_opt { - dns_rdatacommon_t common; - isc_mem_t *mctx; - unsigned char *options; - uint16_t length; + dns_rdatacommon_t common; + isc_mem_t * mctx; + unsigned char * options; + uint16_t length; /* private */ - uint16_t offset; + uint16_t offset; } dns_rdata_opt_t; /* diff --git a/lib/dns/rdata/generic/proforma.c b/lib/dns/rdata/generic/proforma.c index 7ed78acbdf..12ff91244e 100644 --- a/lib/dns/rdata/generic/proforma.c +++ b/lib/dns/rdata/generic/proforma.c @@ -9,17 +9,16 @@ * information regarding copyright ownership. */ +#ifndef RDATA_GENERIC_ #_ #_C +#define RDATA_GENERIC_ #_ #_C -#ifndef RDATA_GENERIC_#_#_C -#define RDATA_GENERIC_#_#_C +#define RRTYPE_ #_ATTRIBUTES(0) -#define RRTYPE_#_ATTRIBUTES (0) - -static inline isc_result_t -fromtext_#(ARGS_FROMTEXT) { +static inline isc_result_t fromtext_ #(ARGS_FROMTEXT) +{ isc_token_t token; - REQUIRE(type == dns_rdatatype_proforma.c#); + REQUIRE(type == dns_rdatatype_proforma.c #); REQUIRE(rdclass == #); RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string, @@ -28,20 +27,18 @@ fromtext_#(ARGS_FROMTEXT) { return (ISC_R_NOTIMPLEMENTED); } -static inline isc_result_t -totext_#(ARGS_TOTEXT) { - - REQUIRE(rdata->type == dns_rdatatype_proforma.c#); +static inline isc_result_t totext_ #(ARGS_TOTEXT) +{ + REQUIRE(rdata->type == dns_rdatatype_proforma.c #); REQUIRE(rdata->rdclass == #); - REQUIRE(rdata->length != 0); /* XXX */ + REQUIRE(rdata->length != 0); /* XXX */ return (ISC_R_NOTIMPLEMENTED); } -static inline isc_result_t -fromwire_#(ARGS_FROMWIRE) { - - REQUIRE(type == dns_rdatatype_proforma.c#); +static inline isc_result_t fromwire_ #(ARGS_FROMWIRE) +{ + REQUIRE(type == dns_rdatatype_proforma.c #); REQUIRE(rdclass == #); /* NONE or GLOBAL14 */ @@ -50,12 +47,11 @@ fromwire_#(ARGS_FROMWIRE) { return (ISC_R_NOTIMPLEMENTED); } -static inline isc_result_t -towire_#(ARGS_TOWIRE) { - - REQUIRE(rdata->type == dns_rdatatype_proforma.c#); +static inline isc_result_t towire_ #(ARGS_TOWIRE) +{ + REQUIRE(rdata->type == dns_rdatatype_proforma.c #); REQUIRE(rdata->rdclass == #); - REQUIRE(rdata->length != 0); /* XXX */ + REQUIRE(rdata->length != 0); /* XXX */ /* NONE or GLOBAL14 */ dns_compress_setmethods(cctx, DNS_COMPRESS_NONE); @@ -63,28 +59,28 @@ towire_#(ARGS_TOWIRE) { return (ISC_R_NOTIMPLEMENTED); } -static inline int -compare_#(ARGS_COMPARE) { +static inline int compare_ #(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; REQUIRE(rdata1->type == dns_rdatatype_proforma.crdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); - REQUIRE(rdata1->type == dns_rdatatype_proforma.c#); + REQUIRE(rdata1->type == dns_rdatatype_proforma.c #); REQUIRE(rdata1->rdclass == #); - REQUIRE(rdata1->length != 0); /* XXX */ - REQUIRE(rdata2->length != 0); /* XXX */ + REQUIRE(rdata1->length != 0); /* XXX */ + REQUIRE(rdata2->length != 0); /* XXX */ dns_rdata_toregion(rdata1, &r1); dns_rdata_toregion(rdata2, &r2); return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_#(ARGS_FROMSTRUCT) { - dns_rdata_#_t *# = source; +static inline isc_result_t fromstruct_ #(ARGS_FROMSTRUCT) +{ + dns_rdata_ #_t *# = source; - REQUIRE(type == dns_rdatatype_proforma.c#); + REQUIRE(type == dns_rdatatype_proforma.c #); REQUIRE(rdclass == #); REQUIRE(# != NULL); REQUIRE(#->common.rdtype == dns_rdatatype_proforma.ctype); @@ -93,29 +89,27 @@ fromstruct_#(ARGS_FROMSTRUCT) { return (ISC_R_NOTIMPLEMENTED); } -static inline isc_result_t -tostruct_#(ARGS_TOSTRUCT) { - - REQUIRE(rdata->type == dns_rdatatype_proforma.c#); +static inline isc_result_t tostruct_ #(ARGS_TOSTRUCT) +{ + REQUIRE(rdata->type == dns_rdatatype_proforma.c #); REQUIRE(rdata->rdclass == #); - REQUIRE(rdata->length != 0); /* XXX */ + REQUIRE(rdata->length != 0); /* XXX */ return (ISC_R_NOTIMPLEMENTED); } -static inline void -freestruct_#(ARGS_FREESTRUCT) { - dns_rdata_#_t *# = source; +static inline void freestruct_ #(ARGS_FREESTRUCT) +{ + dns_rdata_ #_t *# = source; REQUIRE(# != NULL); - REQUIRE(#->common.rdtype == dns_rdatatype_proforma.c#); + REQUIRE(#->common.rdtype == dns_rdatatype_proforma.c #); REQUIRE(#->common.rdclass == #); - } -static inline isc_result_t -additionaldata_#(ARGS_ADDLDATA) { - REQUIRE(rdata->type == dns_rdatatype_proforma.c#); +static inline isc_result_t additionaldata_ #(ARGS_ADDLDATA) +{ + REQUIRE(rdata->type == dns_rdatatype_proforma.c #); REQUIRE(rdata->rdclass == #); (void)add; @@ -124,11 +118,11 @@ additionaldata_#(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_#(ARGS_DIGEST) { +static inline isc_result_t digest_ #(ARGS_DIGEST) +{ isc_region_t r; - REQUIRE(rdata->type == dns_rdatatype_proforma.c#); + REQUIRE(rdata->type == dns_rdatatype_proforma.c #); REQUIRE(rdata->rdclass == #); dns_rdata_toregion(rdata, &r); @@ -136,10 +130,9 @@ digest_#(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_#(ARGS_CHECKOWNER) { - - REQUIRE(type == dns_rdatatype_proforma.c#); +static inline bool checkowner_ #(ARGS_CHECKOWNER) +{ + REQUIRE(type == dns_rdatatype_proforma.c #); REQUIRE(rdclass == #); UNUSED(name); @@ -150,10 +143,9 @@ checkowner_#(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_#(ARGS_CHECKNAMES) { - - REQUIRE(rdata->type == dns_rdatatype_proforma.c#); +static inline bool checknames_ #(ARGS_CHECKNAMES) +{ + REQUIRE(rdata->type == dns_rdatatype_proforma.c #); REQUIRE(rdata->rdclass == #); UNUSED(rdata); @@ -163,21 +155,21 @@ checknames_#(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_#(ARGS_COMPARE) { +static inline int casecompare_ #(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; REQUIRE(rdata1->type == dns_rdatatype_proforma.crdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); - REQUIRE(rdata1->type == dns_rdatatype_proforma.c#); + REQUIRE(rdata1->type == dns_rdatatype_proforma.c #); REQUIRE(rdata1->rdclass == #); - REQUIRE(rdata1->length != 0); /* XXX */ - REQUIRE(rdata2->length != 0); /* XXX */ + REQUIRE(rdata1->length != 0); /* XXX */ + REQUIRE(rdata2->length != 0); /* XXX */ dns_rdata_toregion(rdata1, &r1); dns_rdata_toregion(rdata2, &r2); return (isc_region_compare(&r1, &r2)); } -#endif /* RDATA_GENERIC_#_#_C */ +#endif /* RDATA_GENERIC_#_#_C */ diff --git a/lib/dns/rdata/generic/proforma.h b/lib/dns/rdata/generic/proforma.h index cb49ee4251..bd9901f8fb 100644 --- a/lib/dns/rdata/generic/proforma.h +++ b/lib/dns/rdata/generic/proforma.h @@ -13,11 +13,12 @@ #ifndef GENERIC_PROFORMA_H #define GENERIC_PROFORMA_H 1 - -typedef struct dns_rdata_# { - dns_rdatacommon_t common; - isc_mem_t *mctx; /* if required */ - /* type & class specific elements */ -} dns_rdata_#_t; +typedef struct dns_rdata_ # +{ + dns_rdatacommon_t common; + isc_mem_t * mctx; /* if required */ + /* type & class specific elements */ +} +dns_rdata_ #_t; #endif /* GENERIC_PROFORMA_H */ diff --git a/lib/dns/rdata/generic/ptr_12.c b/lib/dns/rdata/generic/ptr_12.c index 1e405152ba..fad4776bba 100644 --- a/lib/dns/rdata/generic/ptr_12.c +++ b/lib/dns/rdata/generic/ptr_12.c @@ -14,10 +14,10 @@ #define RRTYPE_PTR_ATTRIBUTES (0) -static inline isc_result_t -fromtext_ptr(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_ptr(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; REQUIRE(type == dns_rdatatype_ptr); @@ -47,12 +47,12 @@ fromtext_ptr(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_ptr(ARGS_TOTEXT) { +static inline isc_result_t totext_ptr(ARGS_TOTEXT) +{ isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; + dns_name_t name; + dns_name_t prefix; + bool sub; REQUIRE(rdata->type == dns_rdatatype_ptr); REQUIRE(rdata->length != 0); @@ -68,8 +68,8 @@ totext_ptr(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_ptr(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_ptr(ARGS_FROMWIRE) +{ dns_name_t name; REQUIRE(type == dns_rdatatype_ptr); @@ -83,11 +83,11 @@ fromwire_ptr(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_ptr(ARGS_TOWIRE) { - dns_name_t name; +static inline isc_result_t towire_ptr(ARGS_TOWIRE) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_ptr); REQUIRE(rdata->length != 0); @@ -101,10 +101,10 @@ towire_ptr(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_ptr(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int compare_ptr(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; @@ -126,10 +126,10 @@ compare_ptr(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_ptr(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_ptr(ARGS_FROMSTRUCT) +{ dns_rdata_ptr_t *ptr = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_ptr); REQUIRE(ptr != NULL); @@ -143,11 +143,11 @@ fromstruct_ptr(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_ptr(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_ptr(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_ptr_t *ptr = target; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_ptr); REQUIRE(ptr != NULL); @@ -166,8 +166,8 @@ tostruct_ptr(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_ptr(ARGS_FREESTRUCT) { +static inline void freestruct_ptr(ARGS_FREESTRUCT) +{ dns_rdata_ptr_t *ptr = source; REQUIRE(ptr != NULL); @@ -180,8 +180,8 @@ freestruct_ptr(ARGS_FREESTRUCT) { ptr->mctx = NULL; } -static inline isc_result_t -additionaldata_ptr(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_ptr(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_ptr); UNUSED(rdata); @@ -191,10 +191,10 @@ additionaldata_ptr(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_ptr(ARGS_DIGEST) { +static inline isc_result_t digest_ptr(ARGS_DIGEST) +{ isc_region_t r; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_ptr); @@ -205,9 +205,8 @@ digest_ptr(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_ptr(ARGS_CHECKOWNER) { - +static inline bool checkowner_ptr(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_ptr); UNUSED(name); @@ -218,30 +217,30 @@ checkowner_ptr(ARGS_CHECKOWNER) { return (true); } -static unsigned char ip6_arpa_data[] = "\003IP6\004ARPA"; -static unsigned char ip6_arpa_offsets[] = { 0, 4, 9 }; +static unsigned char ip6_arpa_data[] = "\003IP6\004ARPA"; +static unsigned char ip6_arpa_offsets[] = { 0, 4, 9 }; static const dns_name_t ip6_arpa = DNS_NAME_INITABSOLUTE(ip6_arpa_data, ip6_arpa_offsets); -static unsigned char ip6_int_data[] = "\003IP6\003INT"; -static unsigned char ip6_int_offsets[] = { 0, 4, 8 }; +static unsigned char ip6_int_data[] = "\003IP6\003INT"; +static unsigned char ip6_int_offsets[] = { 0, 4, 8 }; static const dns_name_t ip6_int = DNS_NAME_INITABSOLUTE(ip6_int_data, ip6_int_offsets); -static unsigned char in_addr_arpa_data[] = "\007IN-ADDR\004ARPA"; -static unsigned char in_addr_arpa_offsets[] = { 0, 8, 13 }; +static unsigned char in_addr_arpa_data[] = "\007IN-ADDR\004ARPA"; +static unsigned char in_addr_arpa_offsets[] = { 0, 8, 13 }; static const dns_name_t in_addr_arpa = DNS_NAME_INITABSOLUTE(in_addr_arpa_data, in_addr_arpa_offsets); -static inline bool -checknames_ptr(ARGS_CHECKNAMES) { +static inline bool checknames_ptr(ARGS_CHECKNAMES) +{ isc_region_t region; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_ptr); if (rdata->rdclass != dns_rdataclass_in) - return (true); + return (true); if (dns_name_isdnssd(owner)) return (true); @@ -261,8 +260,8 @@ checknames_ptr(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_ptr(ARGS_COMPARE) { +static inline int casecompare_ptr(ARGS_COMPARE) +{ return (compare_ptr(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_PTR_12_C */ +#endif /* RDATA_GENERIC_PTR_12_C */ diff --git a/lib/dns/rdata/generic/ptr_12.h b/lib/dns/rdata/generic/ptr_12.h index d71ebd9257..b60aa921c0 100644 --- a/lib/dns/rdata/generic/ptr_12.h +++ b/lib/dns/rdata/generic/ptr_12.h @@ -13,11 +13,10 @@ #ifndef GENERIC_PTR_12_H #define GENERIC_PTR_12_H 1 - typedef struct dns_rdata_ptr { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t ptr; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t ptr; } dns_rdata_ptr_t; #endif /* GENERIC_PTR_12_H */ diff --git a/lib/dns/rdata/generic/rkey_57.c b/lib/dns/rdata/generic/rkey_57.c index 2475a48fac..d73c47ca8f 100644 --- a/lib/dns/rdata/generic/rkey_57.c +++ b/lib/dns/rdata/generic/rkey_57.c @@ -14,35 +14,32 @@ #define RRTYPE_RKEY_ATTRIBUTES 0 -static inline isc_result_t -fromtext_rkey(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_rkey(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_rkey); - return (generic_fromtext_key(rdclass, type, lexer, origin, - options, target, callbacks)); + return (generic_fromtext_key(rdclass, type, lexer, origin, options, + target, callbacks)); } -static inline isc_result_t -totext_rkey(ARGS_TOTEXT) { - +static inline isc_result_t totext_rkey(ARGS_TOTEXT) +{ REQUIRE(rdata != NULL); REQUIRE(rdata->type == dns_rdatatype_rkey); return (generic_totext_key(rdata, tctx, target)); } -static inline isc_result_t -fromwire_rkey(ARGS_FROMWIRE) { - +static inline isc_result_t fromwire_rkey(ARGS_FROMWIRE) +{ REQUIRE(type == dns_rdatatype_rkey); - return (generic_fromwire_key(rdclass, type, source, dctx, - options, target)); + return (generic_fromwire_key(rdclass, type, source, dctx, options, + target)); } -static inline isc_result_t -towire_rkey(ARGS_TOWIRE) { +static inline isc_result_t towire_rkey(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata != NULL); @@ -55,8 +52,8 @@ towire_rkey(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_rkey(ARGS_COMPARE) { +static inline int compare_rkey(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -73,16 +70,15 @@ compare_rkey(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_rkey(ARGS_FROMSTRUCT) { - +static inline isc_result_t fromstruct_rkey(ARGS_FROMSTRUCT) +{ REQUIRE(type == dns_rdatatype_rkey); return (generic_fromstruct_key(rdclass, type, source, target)); } -static inline isc_result_t -tostruct_rkey(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_rkey(ARGS_TOSTRUCT) +{ dns_rdata_rkey_t *rkey = target; REQUIRE(rkey != NULL); @@ -96,9 +92,9 @@ tostruct_rkey(ARGS_TOSTRUCT) { return (generic_tostruct_key(rdata, target, mctx)); } -static inline void -freestruct_rkey(ARGS_FREESTRUCT) { - dns_rdata_rkey_t *rkey = (dns_rdata_rkey_t *) source; +static inline void freestruct_rkey(ARGS_FREESTRUCT) +{ + dns_rdata_rkey_t *rkey = (dns_rdata_rkey_t *)source; REQUIRE(rkey != NULL); REQUIRE(rkey->common.rdtype == dns_rdatatype_rkey); @@ -106,9 +102,8 @@ freestruct_rkey(ARGS_FREESTRUCT) { generic_freestruct_key(source); } -static inline isc_result_t -additionaldata_rkey(ARGS_ADDLDATA) { - +static inline isc_result_t additionaldata_rkey(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_rkey); UNUSED(rdata); @@ -118,8 +113,8 @@ additionaldata_rkey(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_rkey(ARGS_DIGEST) { +static inline isc_result_t digest_rkey(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata != NULL); @@ -130,9 +125,8 @@ digest_rkey(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_rkey(ARGS_CHECKOWNER) { - +static inline bool checkowner_rkey(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_rkey); UNUSED(name); @@ -143,9 +137,8 @@ checkowner_rkey(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_rkey(ARGS_CHECKNAMES) { - +static inline bool checknames_rkey(ARGS_CHECKNAMES) +{ REQUIRE(rdata != NULL); REQUIRE(rdata->type == dns_rdatatype_rkey); @@ -156,13 +149,12 @@ checknames_rkey(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_rkey(ARGS_COMPARE) { - +static inline int casecompare_rkey(ARGS_COMPARE) +{ /* * Treat ALG 253 (private DNS) subtype name case sensistively. */ return (compare_rkey(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_RKEY_57_C */ +#endif /* RDATA_GENERIC_RKEY_57_C */ diff --git a/lib/dns/rdata/generic/rp_17.c b/lib/dns/rdata/generic/rp_17.c index ee2eef22fd..e1125472d5 100644 --- a/lib/dns/rdata/generic/rp_17.c +++ b/lib/dns/rdata/generic/rp_17.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* RFC1183 */ #ifndef RDATA_GENERIC_RP_17_C @@ -17,13 +16,13 @@ #define RRTYPE_RP_ATTRIBUTES (0) -static inline isc_result_t -fromtext_rp(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_rp(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; - int i; - bool ok; + int i; + bool ok; REQUIRE(type == dns_rdatatype_rp); @@ -36,12 +35,11 @@ fromtext_rp(ARGS_FROMTEXT) { for (i = 0; i < 2; i++) { RETERR(isc_lex_getmastertoken(lexer, &token, - isc_tokentype_string, - false)); + isc_tokentype_string, false)); dns_name_init(&name, NULL); buffer_fromregion(&buffer, &token.value.as_region); - RETTOK(dns_name_fromtext(&name, &buffer, origin, - options, target)); + RETTOK(dns_name_fromtext(&name, &buffer, origin, options, + target)); ok = true; if ((options & DNS_RDATA_CHECKNAMES) != 0 && i == 0) ok = dns_name_ismailbox(&name); @@ -53,13 +51,13 @@ fromtext_rp(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_rp(ARGS_TOTEXT) { +static inline isc_result_t totext_rp(ARGS_TOTEXT) +{ isc_region_t region; - dns_name_t rmail; - dns_name_t email; - dns_name_t prefix; - bool sub; + dns_name_t rmail; + dns_name_t email; + dns_name_t prefix; + bool sub; REQUIRE(rdata->type == dns_rdatatype_rp); REQUIRE(rdata->length != 0); @@ -85,8 +83,8 @@ totext_rp(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_rp(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_rp(ARGS_FROMWIRE) +{ dns_name_t rmail; dns_name_t email; @@ -104,11 +102,11 @@ fromwire_rp(ARGS_FROMWIRE) { return (dns_name_fromwire(&email, source, dctx, options, target)); } -static inline isc_result_t -towire_rp(ARGS_TOWIRE) { - isc_region_t region; - dns_name_t rmail; - dns_name_t email; +static inline isc_result_t towire_rp(ARGS_TOWIRE) +{ + isc_region_t region; + dns_name_t rmail; + dns_name_t email; dns_offsets_t roffsets; dns_offsets_t eoffsets; @@ -132,13 +130,13 @@ towire_rp(ARGS_TOWIRE) { return (dns_name_towire(&rmail, cctx, target)); } -static inline int -compare_rp(ARGS_COMPARE) { +static inline int compare_rp(ARGS_COMPARE) +{ isc_region_t region1; isc_region_t region2; - dns_name_t name1; - dns_name_t name2; - int order; + dns_name_t name1; + dns_name_t name2; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -171,10 +169,10 @@ compare_rp(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_rp(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_rp(ARGS_FROMSTRUCT) +{ dns_rdata_rp_t *rp = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_rp); REQUIRE(rp != NULL); @@ -190,12 +188,12 @@ fromstruct_rp(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_rp(ARGS_TOSTRUCT) { - isc_result_t result; - isc_region_t region; +static inline isc_result_t tostruct_rp(ARGS_TOSTRUCT) +{ + isc_result_t result; + isc_region_t region; dns_rdata_rp_t *rp = target; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_rp); REQUIRE(rp != NULL); @@ -220,14 +218,14 @@ tostruct_rp(ARGS_TOSTRUCT) { rp->mctx = mctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (mctx != NULL) dns_name_free(&rp->mail, mctx); return (ISC_R_NOMEMORY); } -static inline void -freestruct_rp(ARGS_FREESTRUCT) { +static inline void freestruct_rp(ARGS_FREESTRUCT) +{ dns_rdata_rp_t *rp = source; REQUIRE(rp != NULL); @@ -241,8 +239,8 @@ freestruct_rp(ARGS_FREESTRUCT) { rp->mctx = NULL; } -static inline isc_result_t -additionaldata_rp(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_rp(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_rp); UNUSED(rdata); @@ -252,10 +250,10 @@ additionaldata_rp(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_rp(ARGS_DIGEST) { +static inline isc_result_t digest_rp(ARGS_DIGEST) +{ isc_region_t r; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_rp); @@ -272,9 +270,8 @@ digest_rp(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_rp(ARGS_CHECKOWNER) { - +static inline bool checkowner_rp(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_rp); UNUSED(name); @@ -285,10 +282,10 @@ checkowner_rp(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_rp(ARGS_CHECKNAMES) { +static inline bool checknames_rp(ARGS_CHECKNAMES) +{ isc_region_t region; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_rp); @@ -299,14 +296,14 @@ checknames_rp(ARGS_CHECKNAMES) { dns_name_fromregion(&name, ®ion); if (!dns_name_ismailbox(&name)) { if (bad != NULL) - dns_name_clone(&name, bad); + dns_name_clone(&name, bad); return (false); } return (true); } -static inline int -casecompare_rp(ARGS_COMPARE) { +static inline int casecompare_rp(ARGS_COMPARE) +{ return (compare_rp(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_RP_17_C */ +#endif /* RDATA_GENERIC_RP_17_C */ diff --git a/lib/dns/rdata/generic/rp_17.h b/lib/dns/rdata/generic/rp_17.h index 31b57682f9..ea0e470c15 100644 --- a/lib/dns/rdata/generic/rp_17.h +++ b/lib/dns/rdata/generic/rp_17.h @@ -12,16 +12,14 @@ #ifndef GENERIC_RP_17_H #define GENERIC_RP_17_H 1 - /*! * \brief Per RFC1183 */ typedef struct dns_rdata_rp { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t mail; - dns_name_t text; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t mail; + dns_name_t text; } dns_rdata_rp_t; - #endif /* GENERIC_RP_17_H */ diff --git a/lib/dns/rdata/generic/rrsig_46.c b/lib/dns/rdata/generic/rrsig_46.c index 975810f265..fb7f1815d9 100644 --- a/lib/dns/rdata/generic/rrsig_46.c +++ b/lib/dns/rdata/generic/rrsig_46.c @@ -14,21 +14,21 @@ #ifndef RDATA_GENERIC_RRSIG_46_C #define RDATA_GENERIC_RRSIG_46_C -#define RRTYPE_RRSIG_ATTRIBUTES \ - ( DNS_RDATATYPEATTR_DNSSEC | DNS_RDATATYPEATTR_ZONECUTAUTH | \ - DNS_RDATATYPEATTR_ATCNAME ) +#define RRTYPE_RRSIG_ATTRIBUTES \ + (DNS_RDATATYPEATTR_DNSSEC | DNS_RDATATYPEATTR_ZONECUTAUTH | \ + DNS_RDATATYPEATTR_ATCNAME) -static inline isc_result_t -fromtext_rrsig(ARGS_FROMTEXT) { - isc_token_t token; - unsigned char c; - long i; +static inline isc_result_t fromtext_rrsig(ARGS_FROMTEXT) +{ + isc_token_t token; + unsigned char c; + long i; dns_rdatatype_t covered; - char *e; - isc_result_t result; - dns_name_t name; - isc_buffer_t buffer; - uint32_t time_signed, time_expire; + char * e; + isc_result_t result; + dns_name_t name; + isc_buffer_t buffer; + uint32_t time_signed, time_expire; REQUIRE(type == dns_rdatatype_rrsig); @@ -82,11 +82,11 @@ fromtext_rrsig(ARGS_FROMTEXT) { */ RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string, false)); - if (strlen(DNS_AS_STR(token)) <= 10U && - *DNS_AS_STR(token) != '-' && *DNS_AS_STR(token) != '+') { - char *end; + if (strlen(DNS_AS_STR(token)) <= 10U && *DNS_AS_STR(token) != '-' && + *DNS_AS_STR(token) != '+') { + char * end; unsigned long u; - uint64_t u64; + uint64_t u64; u64 = u = strtoul(DNS_AS_STR(token), &end, 10); if (u == ULONG_MAX || *end != 0) @@ -103,11 +103,11 @@ fromtext_rrsig(ARGS_FROMTEXT) { */ RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string, false)); - if (strlen(DNS_AS_STR(token)) <= 10U && - *DNS_AS_STR(token) != '-' && *DNS_AS_STR(token) != '+') { - char *end; + if (strlen(DNS_AS_STR(token)) <= 10U && *DNS_AS_STR(token) != '-' && + *DNS_AS_STR(token) != '+') { + char * end; unsigned long u; - uint64_t u64; + uint64_t u64; u64 = u = strtoul(DNS_AS_STR(token), &end, 10); if (u == ULONG_MAX || *end != 0) @@ -143,16 +143,16 @@ fromtext_rrsig(ARGS_FROMTEXT) { return (isc_base64_tobuffer(lexer, target, -2)); } -static inline isc_result_t -totext_rrsig(ARGS_TOTEXT) { - isc_region_t sr; - char buf[sizeof("4294967295")]; /* Also TYPE65000. */ +static inline isc_result_t totext_rrsig(ARGS_TOTEXT) +{ + isc_region_t sr; + char buf[sizeof("4294967295")]; /* Also TYPE65000. */ dns_rdatatype_t covered; - unsigned long ttl; - unsigned long when; - unsigned long exp; - unsigned long foot; - dns_name_t name; + unsigned long ttl; + unsigned long when; + unsigned long exp; + unsigned long foot; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_rrsig); REQUIRE(rdata->length != 0); @@ -242,7 +242,7 @@ totext_rrsig(ARGS_TOTEXT) { */ RETERR(str_totext(tctx->linebreak, target)); if ((tctx->flags & DNS_STYLEFLAG_NOCRYPTO) == 0) { - if (tctx->width == 0) /* No splitting */ + if (tctx->width == 0) /* No splitting */ RETERR(isc_base64_totext(&sr, 60, "", target)); else RETERR(isc_base64_totext(&sr, tctx->width - 2, @@ -256,10 +256,10 @@ totext_rrsig(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_rrsig(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_rrsig(ARGS_FROMWIRE) +{ isc_region_t sr; - dns_name_t name; + dns_name_t name; REQUIRE(type == dns_rdatatype_rrsig); @@ -298,10 +298,10 @@ fromwire_rrsig(ARGS_FROMWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline isc_result_t -towire_rrsig(ARGS_TOWIRE) { - isc_region_t sr; - dns_name_t name; +static inline isc_result_t towire_rrsig(ARGS_TOWIRE) +{ + isc_region_t sr; + dns_name_t name; dns_offsets_t offsets; REQUIRE(rdata->type == dns_rdatatype_rrsig); @@ -335,8 +335,8 @@ towire_rrsig(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_rrsig(ARGS_COMPARE) { +static inline int compare_rrsig(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -351,8 +351,8 @@ compare_rrsig(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_rrsig(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_rrsig(ARGS_FROMSTRUCT) +{ dns_rdata_rrsig_t *sig = source; REQUIRE(type == dns_rdatatype_rrsig); @@ -410,11 +410,11 @@ fromstruct_rrsig(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, sig->signature, sig->siglen)); } -static inline isc_result_t -tostruct_rrsig(ARGS_TOSTRUCT) { - isc_region_t sr; +static inline isc_result_t tostruct_rrsig(ARGS_TOSTRUCT) +{ + isc_region_t sr; dns_rdata_rrsig_t *sig = target; - dns_name_t signer; + dns_name_t signer; REQUIRE(rdata->type == dns_rdatatype_rrsig); REQUIRE(sig != NULL); @@ -482,19 +482,18 @@ tostruct_rrsig(ARGS_TOSTRUCT) { if (sig->signature == NULL) goto cleanup; - sig->mctx = mctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (mctx != NULL) dns_name_free(&sig->signer, mctx); return (ISC_R_NOMEMORY); } -static inline void -freestruct_rrsig(ARGS_FREESTRUCT) { - dns_rdata_rrsig_t *sig = (dns_rdata_rrsig_t *) source; +static inline void freestruct_rrsig(ARGS_FREESTRUCT) +{ + dns_rdata_rrsig_t *sig = (dns_rdata_rrsig_t *)source; REQUIRE(sig != NULL); REQUIRE(sig->common.rdtype == dns_rdatatype_rrsig); @@ -508,8 +507,8 @@ freestruct_rrsig(ARGS_FREESTRUCT) { sig->mctx = NULL; } -static inline isc_result_t -additionaldata_rrsig(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_rrsig(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_rrsig); UNUSED(rdata); @@ -519,9 +518,8 @@ additionaldata_rrsig(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_rrsig(ARGS_DIGEST) { - +static inline isc_result_t digest_rrsig(ARGS_DIGEST) +{ REQUIRE(rdata->type == dns_rdatatype_rrsig); UNUSED(rdata); @@ -532,9 +530,10 @@ digest_rrsig(ARGS_DIGEST) { } static inline dns_rdatatype_t -covers_rrsig(dns_rdata_t *rdata) { +covers_rrsig(dns_rdata_t *rdata) +{ dns_rdatatype_t type; - isc_region_t r; + isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_rrsig); @@ -544,9 +543,8 @@ covers_rrsig(dns_rdata_t *rdata) { return (type); } -static inline bool -checkowner_rrsig(ARGS_CHECKOWNER) { - +static inline bool checkowner_rrsig(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_rrsig); UNUSED(name); @@ -557,9 +555,8 @@ checkowner_rrsig(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_rrsig(ARGS_CHECKNAMES) { - +static inline bool checknames_rrsig(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_rrsig); UNUSED(rdata); @@ -569,13 +566,13 @@ checknames_rrsig(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_rrsig(ARGS_COMPARE) { +static inline int casecompare_rrsig(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; - dns_name_t name1; - dns_name_t name2; - int order; + dns_name_t name1; + dns_name_t name2; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -612,4 +609,4 @@ casecompare_rrsig(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -#endif /* RDATA_GENERIC_RRSIG_46_C */ +#endif /* RDATA_GENERIC_RRSIG_46_C */ diff --git a/lib/dns/rdata/generic/rrsig_46.h b/lib/dns/rdata/generic/rrsig_46.h index 6dfbd424f0..fb8224a802 100644 --- a/lib/dns/rdata/generic/rrsig_46.h +++ b/lib/dns/rdata/generic/rrsig_46.h @@ -12,23 +12,21 @@ #ifndef GENERIC_DNSSIG_46_H #define GENERIC_DNSSIG_46_H 1 - /*! * \brief Per RFC2535 */ typedef struct dns_rdata_rrsig { - dns_rdatacommon_t common; - isc_mem_t * mctx; - dns_rdatatype_t covered; - dns_secalg_t algorithm; - uint8_t labels; - uint32_t originalttl; - uint32_t timeexpire; - uint32_t timesigned; - uint16_t keyid; - dns_name_t signer; - uint16_t siglen; - unsigned char * signature; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_rdatatype_t covered; + dns_secalg_t algorithm; + uint8_t labels; + uint32_t originalttl; + uint32_t timeexpire; + uint32_t timesigned; + uint16_t keyid; + dns_name_t signer; + uint16_t siglen; + unsigned char * signature; } dns_rdata_rrsig_t; - #endif /* GENERIC_DNSSIG_46_H */ diff --git a/lib/dns/rdata/generic/rt_21.c b/lib/dns/rdata/generic/rt_21.c index 43c08628f8..c235343875 100644 --- a/lib/dns/rdata/generic/rt_21.c +++ b/lib/dns/rdata/generic/rt_21.c @@ -16,12 +16,12 @@ #define RRTYPE_RT_ATTRIBUTES (0) -static inline isc_result_t -fromtext_rt(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_rt(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; - bool ok; + bool ok; REQUIRE(type == dns_rdatatype_rt); @@ -53,13 +53,13 @@ fromtext_rt(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_rt(ARGS_TOTEXT) { - isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; - char buf[sizeof("64000")]; +static inline isc_result_t totext_rt(ARGS_TOTEXT) +{ + isc_region_t region; + dns_name_t name; + dns_name_t prefix; + bool sub; + char buf[sizeof("64000")]; unsigned short num; REQUIRE(rdata->type == dns_rdatatype_rt); @@ -79,9 +79,9 @@ totext_rt(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_rt(ARGS_FROMWIRE) { - dns_name_t name; +static inline isc_result_t fromwire_rt(ARGS_FROMWIRE) +{ + dns_name_t name; isc_region_t sregion; isc_region_t tregion; @@ -106,12 +106,12 @@ fromwire_rt(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_rt(ARGS_TOWIRE) { - dns_name_t name; +static inline isc_result_t towire_rt(ARGS_TOWIRE) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; - isc_region_t tr; + isc_region_t region; + isc_region_t tr; REQUIRE(rdata->type == dns_rdatatype_rt); REQUIRE(rdata->length != 0); @@ -131,13 +131,13 @@ towire_rt(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_rt(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int compare_rt(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; - int order; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -164,10 +164,10 @@ compare_rt(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_rt(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_rt(ARGS_FROMSTRUCT) +{ dns_rdata_rt_t *rt = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_rt); REQUIRE(rt != NULL); @@ -182,11 +182,11 @@ fromstruct_rt(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_rt(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_rt(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_rt_t *rt = target; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_rt); REQUIRE(rt != NULL); @@ -208,8 +208,8 @@ tostruct_rt(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_rt(ARGS_FREESTRUCT) { +static inline void freestruct_rt(ARGS_FREESTRUCT) +{ dns_rdata_rt_t *rt = source; REQUIRE(rt != NULL); @@ -222,12 +222,12 @@ freestruct_rt(ARGS_FREESTRUCT) { rt->mctx = NULL; } -static inline isc_result_t -additionaldata_rt(ARGS_ADDLDATA) { - dns_name_t name; +static inline isc_result_t additionaldata_rt(ARGS_ADDLDATA) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; - isc_result_t result; + isc_region_t region; + isc_result_t result; REQUIRE(rdata->type == dns_rdatatype_rt); @@ -245,11 +245,11 @@ additionaldata_rt(ARGS_ADDLDATA) { return ((add)(arg, &name, dns_rdatatype_a)); } -static inline isc_result_t -digest_rt(ARGS_DIGEST) { +static inline isc_result_t digest_rt(ARGS_DIGEST) +{ isc_region_t r1, r2; isc_result_t result; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_rt); @@ -265,9 +265,8 @@ digest_rt(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_rt(ARGS_CHECKOWNER) { - +static inline bool checkowner_rt(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_rt); UNUSED(name); @@ -278,10 +277,10 @@ checkowner_rt(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_rt(ARGS_CHECKNAMES) { +static inline bool checknames_rt(ARGS_CHECKNAMES) +{ isc_region_t region; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_rt); @@ -299,9 +298,9 @@ checknames_rt(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_rt(ARGS_COMPARE) { +static inline int casecompare_rt(ARGS_COMPARE) +{ return (compare_rt(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_RT_21_C */ +#endif /* RDATA_GENERIC_RT_21_C */ diff --git a/lib/dns/rdata/generic/rt_21.h b/lib/dns/rdata/generic/rt_21.h index a9082c714d..aaa2f8e69e 100644 --- a/lib/dns/rdata/generic/rt_21.h +++ b/lib/dns/rdata/generic/rt_21.h @@ -12,15 +12,14 @@ #ifndef GENERIC_RT_21_H #define GENERIC_RT_21_H 1 - /*! * \brief Per RFC1183 */ typedef struct dns_rdata_rt { - dns_rdatacommon_t common; - isc_mem_t *mctx; - uint16_t preference; - dns_name_t host; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint16_t preference; + dns_name_t host; } dns_rdata_rt_t; #endif /* GENERIC_RT_21_H */ diff --git a/lib/dns/rdata/generic/sig_24.c b/lib/dns/rdata/generic/sig_24.c index 47a69e8633..f3b897e28d 100644 --- a/lib/dns/rdata/generic/sig_24.c +++ b/lib/dns/rdata/generic/sig_24.c @@ -16,17 +16,17 @@ #define RRTYPE_SIG_ATTRIBUTES (0) -static inline isc_result_t -fromtext_sig(ARGS_FROMTEXT) { - isc_token_t token; - unsigned char c; - long i; +static inline isc_result_t fromtext_sig(ARGS_FROMTEXT) +{ + isc_token_t token; + unsigned char c; + long i; dns_rdatatype_t covered; - char *e; - isc_result_t result; - dns_name_t name; - isc_buffer_t buffer; - uint32_t time_signed, time_expire; + char * e; + isc_result_t result; + dns_name_t name; + isc_buffer_t buffer; + uint32_t time_signed, time_expire; REQUIRE(type == dns_rdatatype_sig); @@ -115,18 +115,18 @@ fromtext_sig(ARGS_FROMTEXT) { return (isc_base64_tobuffer(lexer, target, -2)); } -static inline isc_result_t -totext_sig(ARGS_TOTEXT) { - isc_region_t sr; - char buf[sizeof("4294967295")]; +static inline isc_result_t totext_sig(ARGS_TOTEXT) +{ + isc_region_t sr; + char buf[sizeof("4294967295")]; dns_rdatatype_t covered; - unsigned long ttl; - unsigned long when; - unsigned long exp; - unsigned long foot; - dns_name_t name; - dns_name_t prefix; - bool sub; + unsigned long ttl; + unsigned long when; + unsigned long exp; + unsigned long foot; + dns_name_t name; + dns_name_t prefix; + bool sub; REQUIRE(rdata->type == dns_rdatatype_sig); REQUIRE(rdata->length != 0); @@ -217,21 +217,21 @@ totext_sig(ARGS_TOTEXT) { * Sig. */ RETERR(str_totext(tctx->linebreak, target)); - if (tctx->width == 0) /* No splitting */ + if (tctx->width == 0) /* No splitting */ RETERR(isc_base64_totext(&sr, 60, "", target)); else - RETERR(isc_base64_totext(&sr, tctx->width - 2, - tctx->linebreak, target)); + RETERR(isc_base64_totext(&sr, tctx->width - 2, tctx->linebreak, + target)); if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) RETERR(str_totext(" )", target)); return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_sig(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_sig(ARGS_FROMWIRE) +{ isc_region_t sr; - dns_name_t name; + dns_name_t name; REQUIRE(type == dns_rdatatype_sig); @@ -270,10 +270,10 @@ fromwire_sig(ARGS_FROMWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline isc_result_t -towire_sig(ARGS_TOWIRE) { - isc_region_t sr; - dns_name_t name; +static inline isc_result_t towire_sig(ARGS_TOWIRE) +{ + isc_region_t sr; + dns_name_t name; dns_offsets_t offsets; REQUIRE(rdata->type == dns_rdatatype_sig); @@ -307,13 +307,13 @@ towire_sig(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_sig(ARGS_COMPARE) { +static inline int compare_sig(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; - dns_name_t name1; - dns_name_t name2; - int order; + dns_name_t name1; + dns_name_t name2; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -350,8 +350,8 @@ compare_sig(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_sig(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_sig(ARGS_FROMSTRUCT) +{ dns_rdata_sig_t *sig = source; REQUIRE(type == dns_rdatatype_sig); @@ -409,11 +409,11 @@ fromstruct_sig(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, sig->signature, sig->siglen)); } -static inline isc_result_t -tostruct_sig(ARGS_TOSTRUCT) { - isc_region_t sr; +static inline isc_result_t tostruct_sig(ARGS_TOSTRUCT) +{ + isc_region_t sr; dns_rdata_sig_t *sig = target; - dns_name_t signer; + dns_name_t signer; REQUIRE(rdata->type == dns_rdatatype_sig); REQUIRE(sig != NULL); @@ -481,19 +481,18 @@ tostruct_sig(ARGS_TOSTRUCT) { if (sig->signature == NULL) goto cleanup; - sig->mctx = mctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (mctx != NULL) dns_name_free(&sig->signer, mctx); return (ISC_R_NOMEMORY); } -static inline void -freestruct_sig(ARGS_FREESTRUCT) { - dns_rdata_sig_t *sig = (dns_rdata_sig_t *) source; +static inline void freestruct_sig(ARGS_FREESTRUCT) +{ + dns_rdata_sig_t *sig = (dns_rdata_sig_t *)source; REQUIRE(sig != NULL); REQUIRE(sig->common.rdtype == dns_rdatatype_sig); @@ -507,8 +506,8 @@ freestruct_sig(ARGS_FREESTRUCT) { sig->mctx = NULL; } -static inline isc_result_t -additionaldata_sig(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_sig(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_sig); UNUSED(rdata); @@ -518,9 +517,8 @@ additionaldata_sig(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_sig(ARGS_DIGEST) { - +static inline isc_result_t digest_sig(ARGS_DIGEST) +{ REQUIRE(rdata->type == dns_rdatatype_sig); UNUSED(rdata); @@ -531,9 +529,10 @@ digest_sig(ARGS_DIGEST) { } static inline dns_rdatatype_t -covers_sig(dns_rdata_t *rdata) { +covers_sig(dns_rdata_t *rdata) +{ dns_rdatatype_t type; - isc_region_t r; + isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_sig); @@ -543,9 +542,8 @@ covers_sig(dns_rdata_t *rdata) { return (type); } -static inline bool -checkowner_sig(ARGS_CHECKOWNER) { - +static inline bool checkowner_sig(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_sig); UNUSED(name); @@ -556,9 +554,8 @@ checkowner_sig(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_sig(ARGS_CHECKNAMES) { - +static inline bool checknames_sig(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_sig); UNUSED(rdata); @@ -568,8 +565,8 @@ checknames_sig(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_sig(ARGS_COMPARE) { +static inline int casecompare_sig(ARGS_COMPARE) +{ return (compare_sig(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_SIG_24_C */ +#endif /* RDATA_GENERIC_SIG_24_C */ diff --git a/lib/dns/rdata/generic/sig_24.h b/lib/dns/rdata/generic/sig_24.h index a3882d9ab2..460cb6de9b 100644 --- a/lib/dns/rdata/generic/sig_24.h +++ b/lib/dns/rdata/generic/sig_24.h @@ -12,24 +12,22 @@ #ifndef GENERIC_SIG_24_H #define GENERIC_SIG_24_H 1 - /*! * \brief Per RFC2535 */ typedef struct dns_rdata_sig_t { - dns_rdatacommon_t common; - isc_mem_t * mctx; - dns_rdatatype_t covered; - dns_secalg_t algorithm; - uint8_t labels; - uint32_t originalttl; - uint32_t timeexpire; - uint32_t timesigned; - uint16_t keyid; - dns_name_t signer; - uint16_t siglen; - unsigned char * signature; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_rdatatype_t covered; + dns_secalg_t algorithm; + uint8_t labels; + uint32_t originalttl; + uint32_t timeexpire; + uint32_t timesigned; + uint16_t keyid; + dns_name_t signer; + uint16_t siglen; + unsigned char * signature; } dns_rdata_sig_t; - #endif /* GENERIC_SIG_24_H */ diff --git a/lib/dns/rdata/generic/sink_40.c b/lib/dns/rdata/generic/sink_40.c index 13f8562d8c..85392e1fda 100644 --- a/lib/dns/rdata/generic/sink_40.c +++ b/lib/dns/rdata/generic/sink_40.c @@ -16,8 +16,8 @@ #define RRTYPE_SINK_ATTRIBUTES (0) -static inline isc_result_t -fromtext_sink(ARGS_FROMTEXT) { +static inline isc_result_t fromtext_sink(ARGS_FROMTEXT) +{ isc_token_t token; REQUIRE(type == dns_rdatatype_sink); @@ -49,14 +49,14 @@ fromtext_sink(ARGS_FROMTEXT) { RETTOK(ISC_R_RANGE); RETERR(uint8_tobuffer(token.value.as_ulong, target)); - return(isc_base64_tobuffer(lexer, target, -1)); + return (isc_base64_tobuffer(lexer, target, -1)); } -static inline isc_result_t -totext_sink(ARGS_TOTEXT) { +static inline isc_result_t totext_sink(ARGS_TOTEXT) +{ isc_region_t sr; - char buf[sizeof("255 255 255")]; - uint8_t meaning, coding, subcoding; + char buf[sizeof("255 255 255")]; + uint8_t meaning, coding, subcoding; REQUIRE(rdata->type == dns_rdatatype_sink); REQUIRE(rdata->length >= 3); @@ -82,11 +82,11 @@ totext_sink(ARGS_TOTEXT) { RETERR(str_totext(tctx->linebreak, target)); - if (tctx->width == 0) /* No splitting */ + if (tctx->width == 0) /* No splitting */ RETERR(isc_base64_totext(&sr, 60, "", target)); else - RETERR(isc_base64_totext(&sr, tctx->width - 2, - tctx->linebreak, target)); + RETERR(isc_base64_totext(&sr, tctx->width - 2, tctx->linebreak, + target)); if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) RETERR(str_totext(" )", target)); @@ -94,8 +94,8 @@ totext_sink(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_sink(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_sink(ARGS_FROMWIRE) +{ isc_region_t sr; REQUIRE(type == dns_rdatatype_sink); @@ -114,9 +114,8 @@ fromwire_sink(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_sink(ARGS_TOWIRE) { - +static inline isc_result_t towire_sink(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_sink); REQUIRE(rdata->length >= 3); @@ -125,8 +124,8 @@ towire_sink(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_sink(ARGS_COMPARE) { +static inline int compare_sink(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -141,8 +140,8 @@ compare_sink(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_sink(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_sink(ARGS_FROMSTRUCT) +{ dns_rdata_sink_t *sink = source; REQUIRE(type == dns_rdatatype_sink); @@ -166,10 +165,10 @@ fromstruct_sink(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, sink->data, sink->datalen)); } -static inline isc_result_t -tostruct_sink(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_sink(ARGS_TOSTRUCT) +{ dns_rdata_sink_t *sink = target; - isc_region_t sr; + isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_sink); REQUIRE(sink != NULL); @@ -209,9 +208,9 @@ tostruct_sink(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_sink(ARGS_FREESTRUCT) { - dns_rdata_sink_t *sink = (dns_rdata_sink_t *) source; +static inline void freestruct_sink(ARGS_FREESTRUCT) +{ + dns_rdata_sink_t *sink = (dns_rdata_sink_t *)source; REQUIRE(sink != NULL); REQUIRE(sink->common.rdtype == dns_rdatatype_sink); @@ -224,8 +223,8 @@ freestruct_sink(ARGS_FREESTRUCT) { sink->mctx = NULL; } -static inline isc_result_t -additionaldata_sink(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_sink(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_sink); UNUSED(rdata); @@ -235,8 +234,8 @@ additionaldata_sink(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_sink(ARGS_DIGEST) { +static inline isc_result_t digest_sink(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_sink); @@ -246,9 +245,8 @@ digest_sink(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_sink(ARGS_CHECKOWNER) { - +static inline bool checkowner_sink(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_sink); UNUSED(name); @@ -259,9 +257,8 @@ checkowner_sink(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_sink(ARGS_CHECKNAMES) { - +static inline bool checknames_sink(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_sink); UNUSED(rdata); @@ -271,8 +268,8 @@ checknames_sink(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_sink(ARGS_COMPARE) { +static inline int casecompare_sink(ARGS_COMPARE) +{ return (compare_sink(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_SINK_40_C */ +#endif /* RDATA_GENERIC_SINK_40_C */ diff --git a/lib/dns/rdata/generic/sink_40.h b/lib/dns/rdata/generic/sink_40.h index 4e6e01e2dd..7aa63993db 100644 --- a/lib/dns/rdata/generic/sink_40.h +++ b/lib/dns/rdata/generic/sink_40.h @@ -13,13 +13,13 @@ #define GENERIC_SINK_40_H 1 typedef struct dns_rdata_sink_t { - dns_rdatacommon_t common; - isc_mem_t * mctx; - uint8_t meaning; - uint8_t coding; - uint8_t subcoding; - uint16_t datalen; - unsigned char * data; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint8_t meaning; + uint8_t coding; + uint8_t subcoding; + uint16_t datalen; + unsigned char * data; } dns_rdata_sink_t; #endif /* GENERIC_SINK_40_H */ diff --git a/lib/dns/rdata/generic/smimea_53.c b/lib/dns/rdata/generic/smimea_53.c index 152ad9cfa0..28f4a5b10d 100644 --- a/lib/dns/rdata/generic/smimea_53.c +++ b/lib/dns/rdata/generic/smimea_53.c @@ -14,34 +14,31 @@ #define RRTYPE_SMIMEA_ATTRIBUTES 0 -static inline isc_result_t -fromtext_smimea(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_smimea(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_smimea); return (generic_fromtext_tlsa(rdclass, type, lexer, origin, options, target, callbacks)); } -static inline isc_result_t -totext_smimea(ARGS_TOTEXT) { - +static inline isc_result_t totext_smimea(ARGS_TOTEXT) +{ REQUIRE(rdata->type == dns_rdatatype_smimea); return (generic_totext_tlsa(rdata, tctx, target)); } -static inline isc_result_t -fromwire_smimea(ARGS_FROMWIRE) { - +static inline isc_result_t fromwire_smimea(ARGS_FROMWIRE) +{ REQUIRE(type == dns_rdatatype_smimea); return (generic_fromwire_tlsa(rdclass, type, source, dctx, options, target)); } -static inline isc_result_t -towire_smimea(ARGS_TOWIRE) { +static inline isc_result_t towire_smimea(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_smimea); @@ -53,8 +50,8 @@ towire_smimea(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_smimea(ARGS_COMPARE) { +static inline int compare_smimea(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -69,16 +66,15 @@ compare_smimea(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_smimea(ARGS_FROMSTRUCT) { - +static inline isc_result_t fromstruct_smimea(ARGS_FROMSTRUCT) +{ REQUIRE(type == dns_rdatatype_smimea); return (generic_fromstruct_tlsa(rdclass, type, source, target)); } -static inline isc_result_t -tostruct_smimea(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_smimea(ARGS_TOSTRUCT) +{ dns_rdata_smimea_t *smimea = target; REQUIRE(rdata != NULL); @@ -92,8 +88,8 @@ tostruct_smimea(ARGS_TOSTRUCT) { return (generic_tostruct_tlsa(rdata, target, mctx)); } -static inline void -freestruct_smimea(ARGS_FREESTRUCT) { +static inline void freestruct_smimea(ARGS_FREESTRUCT) +{ dns_rdata_smimea_t *smimea = source; REQUIRE(smimea != NULL); @@ -102,8 +98,8 @@ freestruct_smimea(ARGS_FREESTRUCT) { generic_freestruct_tlsa(source); } -static inline isc_result_t -additionaldata_smimea(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_smimea(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_smimea); UNUSED(rdata); @@ -113,8 +109,8 @@ additionaldata_smimea(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_smimea(ARGS_DIGEST) { +static inline isc_result_t digest_smimea(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_smimea); @@ -124,9 +120,8 @@ digest_smimea(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_smimea(ARGS_CHECKOWNER) { - +static inline bool checkowner_smimea(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_smimea); UNUSED(name); @@ -137,9 +132,8 @@ checkowner_smimea(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_smimea(ARGS_CHECKNAMES) { - +static inline bool checknames_smimea(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_smimea); UNUSED(rdata); @@ -149,9 +143,9 @@ checknames_smimea(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_smimea(ARGS_COMPARE) { +static inline int casecompare_smimea(ARGS_COMPARE) +{ return (compare_smimea(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_SMIMEA_53_C */ +#endif /* RDATA_GENERIC_SMIMEA_53_C */ diff --git a/lib/dns/rdata/generic/soa_6.c b/lib/dns/rdata/generic/soa_6.c index e93ac6e428..bb4ec42030 100644 --- a/lib/dns/rdata/generic/soa_6.c +++ b/lib/dns/rdata/generic/soa_6.c @@ -14,14 +14,14 @@ #define RRTYPE_SOA_ATTRIBUTES (DNS_RDATATYPEATTR_SINGLETON) -static inline isc_result_t -fromtext_soa(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_soa(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; - int i; - uint32_t n; - bool ok; + int i; + uint32_t n; + bool ok; REQUIRE(type == dns_rdatatype_soa); @@ -34,13 +34,12 @@ fromtext_soa(ARGS_FROMTEXT) { for (i = 0; i < 2; i++) { RETERR(isc_lex_getmastertoken(lexer, &token, - isc_tokentype_string, - false)); + isc_tokentype_string, false)); dns_name_init(&name, NULL); buffer_fromregion(&buffer, &token.value.as_region); - RETTOK(dns_name_fromtext(&name, &buffer, origin, - options, target)); + RETTOK(dns_name_fromtext(&name, &buffer, origin, options, + target)); ok = true; if ((options & DNS_RDATA_CHECKNAMES) != 0) switch (i) { @@ -50,7 +49,6 @@ fromtext_soa(ARGS_FROMTEXT) { case 1: ok = dns_name_ismailbox(&name); break; - } if (!ok && (options & DNS_RDATA_CHECKNAMESFAIL) != 0) RETTOK(DNS_R_BADNAME); @@ -64,8 +62,7 @@ fromtext_soa(ARGS_FROMTEXT) { for (i = 0; i < 4; i++) { RETERR(isc_lex_getmastertoken(lexer, &token, - isc_tokentype_string, - false)); + isc_tokentype_string, false)); RETTOK(dns_counter_fromtext(&token.value.as_textregion, &n)); RETERR(uint32_tobuffer(n, target)); } @@ -73,20 +70,19 @@ fromtext_soa(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static const char *soa_fieldnames[5] = { - "serial", "refresh", "retry", "expire", "minimum" -}; +static const char *soa_fieldnames[5] = { "serial", "refresh", "retry", "expire", + "minimum" }; -static inline isc_result_t -totext_soa(ARGS_TOTEXT) { +static inline isc_result_t totext_soa(ARGS_TOTEXT) +{ isc_region_t dregion; - dns_name_t mname; - dns_name_t rname; - dns_name_t prefix; - bool sub; - int i; - bool multiline; - bool comm; + dns_name_t mname; + dns_name_t rname; + dns_name_t prefix; + bool sub; + int i; + bool multiline; + bool comm; REQUIRE(rdata->type == dns_rdatatype_soa); REQUIRE(rdata->length != 0); @@ -98,7 +94,6 @@ totext_soa(ARGS_TOTEXT) { comm = false; } - dns_name_init(&mname, NULL); dns_name_init(&rname, NULL); dns_name_init(&prefix, NULL); @@ -120,11 +115,11 @@ totext_soa(ARGS_TOTEXT) { RETERR(dns_name_totext(&prefix, sub, target)); if (multiline) - RETERR(str_totext(" (" , target)); + RETERR(str_totext(" (", target)); RETERR(str_totext(tctx->linebreak, target)); for (i = 0; i < 5; i++) { - char buf[sizeof("0123456789 ; ")]; + char buf[sizeof("0123456789 ; ")]; unsigned long num; num = uint32_fromregion(&dregion); isc_region_consume(&dregion, 4); @@ -135,8 +130,7 @@ totext_soa(ARGS_TOTEXT) { /* Print times in week/day/hour/minute/second form */ if (i >= 1) { RETERR(str_totext(" (", target)); - RETERR(dns_ttl_totext(num, true, - true, target)); + RETERR(dns_ttl_totext(num, true, true, target)); RETERR(str_totext(")", target)); } RETERR(str_totext(tctx->linebreak, target)); @@ -151,10 +145,10 @@ totext_soa(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_soa(ARGS_FROMWIRE) { - dns_name_t mname; - dns_name_t rname; +static inline isc_result_t fromwire_soa(ARGS_FROMWIRE) +{ + dns_name_t mname; + dns_name_t rname; isc_region_t sregion; isc_region_t tregion; @@ -186,12 +180,12 @@ fromwire_soa(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_soa(ARGS_TOWIRE) { - isc_region_t sregion; - isc_region_t tregion; - dns_name_t mname; - dns_name_t rname; +static inline isc_result_t towire_soa(ARGS_TOWIRE) +{ + isc_region_t sregion; + isc_region_t tregion; + dns_name_t mname; + dns_name_t rname; dns_offsets_t moffsets; dns_offsets_t roffsets; @@ -222,13 +216,13 @@ towire_soa(ARGS_TOWIRE) { return (ISC_R_SUCCESS); } -static inline int -compare_soa(ARGS_COMPARE) { +static inline int compare_soa(ARGS_COMPARE) +{ isc_region_t region1; isc_region_t region2; - dns_name_t name1; - dns_name_t name2; - int order; + dns_name_t name1; + dns_name_t name2; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -268,10 +262,10 @@ compare_soa(ARGS_COMPARE) { return (isc_region_compare(®ion1, ®ion2)); } -static inline isc_result_t -fromstruct_soa(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_soa(ARGS_FROMSTRUCT) +{ dns_rdata_soa_t *soa = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_soa); REQUIRE(soa != NULL); @@ -292,12 +286,12 @@ fromstruct_soa(ARGS_FROMSTRUCT) { return (uint32_tobuffer(soa->minimum, target)); } -static inline isc_result_t -tostruct_soa(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_soa(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_soa_t *soa = target; - dns_name_t name; - isc_result_t result; + dns_name_t name; + isc_result_t result; REQUIRE(rdata->type == dns_rdatatype_soa); REQUIRE(soa != NULL); @@ -307,7 +301,6 @@ tostruct_soa(ARGS_TOSTRUCT) { soa->common.rdtype = rdata->type; ISC_LINK_INIT(&soa->common, link); - dns_rdata_toregion(rdata, ®ion); dns_name_init(&name, NULL); @@ -340,14 +333,14 @@ tostruct_soa(ARGS_TOSTRUCT) { soa->mctx = mctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (mctx != NULL) dns_name_free(&soa->origin, mctx); return (ISC_R_NOMEMORY); } -static inline void -freestruct_soa(ARGS_FREESTRUCT) { +static inline void freestruct_soa(ARGS_FREESTRUCT) +{ dns_rdata_soa_t *soa = source; REQUIRE(soa != NULL); @@ -361,8 +354,8 @@ freestruct_soa(ARGS_FREESTRUCT) { soa->mctx = NULL; } -static inline isc_result_t -additionaldata_soa(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_soa(ARGS_ADDLDATA) +{ UNUSED(rdata); UNUSED(add); UNUSED(arg); @@ -372,10 +365,10 @@ additionaldata_soa(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_soa(ARGS_DIGEST) { +static inline isc_result_t digest_soa(ARGS_DIGEST) +{ isc_region_t r; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_soa); @@ -394,9 +387,8 @@ digest_soa(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_soa(ARGS_CHECKOWNER) { - +static inline bool checkowner_soa(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_soa); UNUSED(name); @@ -407,10 +399,10 @@ checkowner_soa(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_soa(ARGS_CHECKNAMES) { +static inline bool checknames_soa(ARGS_CHECKNAMES) +{ isc_region_t region; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_soa); @@ -434,9 +426,9 @@ checknames_soa(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_soa(ARGS_COMPARE) { +static inline int casecompare_soa(ARGS_COMPARE) +{ return (compare_soa(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_SOA_6_C */ +#endif /* RDATA_GENERIC_SOA_6_C */ diff --git a/lib/dns/rdata/generic/soa_6.h b/lib/dns/rdata/generic/soa_6.h index c9be985de6..41b3cff7e9 100644 --- a/lib/dns/rdata/generic/soa_6.h +++ b/lib/dns/rdata/generic/soa_6.h @@ -13,18 +13,16 @@ #ifndef GENERIC_SOA_6_H #define GENERIC_SOA_6_H 1 - typedef struct dns_rdata_soa { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t origin; - dns_name_t contact; - uint32_t serial; /*%< host order */ - uint32_t refresh; /*%< host order */ - uint32_t retry; /*%< host order */ - uint32_t expire; /*%< host order */ - uint32_t minimum; /*%< host order */ + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t origin; + dns_name_t contact; + uint32_t serial; /*%< host order */ + uint32_t refresh; /*%< host order */ + uint32_t retry; /*%< host order */ + uint32_t expire; /*%< host order */ + uint32_t minimum; /*%< host order */ } dns_rdata_soa_t; - #endif /* GENERIC_SOA_6_H */ diff --git a/lib/dns/rdata/generic/spf_99.c b/lib/dns/rdata/generic/spf_99.c index 3668d9c76f..fb418dbf03 100644 --- a/lib/dns/rdata/generic/spf_99.c +++ b/lib/dns/rdata/generic/spf_99.c @@ -14,9 +14,8 @@ #define RRTYPE_SPF_ATTRIBUTES (0) -static inline isc_result_t -fromtext_spf(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_spf(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_spf); UNUSED(type); @@ -29,9 +28,8 @@ fromtext_spf(ARGS_FROMTEXT) { target, callbacks)); } -static inline isc_result_t -totext_spf(ARGS_TOTEXT) { - +static inline isc_result_t totext_spf(ARGS_TOTEXT) +{ UNUSED(tctx); REQUIRE(rdata->type == dns_rdatatype_spf); @@ -39,9 +37,8 @@ totext_spf(ARGS_TOTEXT) { return (generic_totext_txt(rdata, tctx, target)); } -static inline isc_result_t -fromwire_spf(ARGS_FROMWIRE) { - +static inline isc_result_t fromwire_spf(ARGS_FROMWIRE) +{ REQUIRE(type == dns_rdatatype_spf); UNUSED(type); @@ -53,9 +50,8 @@ fromwire_spf(ARGS_FROMWIRE) { target)); } -static inline isc_result_t -towire_spf(ARGS_TOWIRE) { - +static inline isc_result_t towire_spf(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_spf); UNUSED(cctx); @@ -63,8 +59,8 @@ towire_spf(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_spf(ARGS_COMPARE) { +static inline int compare_spf(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -77,16 +73,15 @@ compare_spf(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_spf(ARGS_FROMSTRUCT) { - +static inline isc_result_t fromstruct_spf(ARGS_FROMSTRUCT) +{ REQUIRE(type == dns_rdatatype_spf); return (generic_fromstruct_txt(rdclass, type, source, target)); } -static inline isc_result_t -tostruct_spf(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_spf(ARGS_TOSTRUCT) +{ dns_rdata_spf_t *spf = target; REQUIRE(spf != NULL); @@ -100,8 +95,8 @@ tostruct_spf(ARGS_TOSTRUCT) { return (generic_tostruct_txt(rdata, target, mctx)); } -static inline void -freestruct_spf(ARGS_FREESTRUCT) { +static inline void freestruct_spf(ARGS_FREESTRUCT) +{ dns_rdata_spf_t *spf = source; REQUIRE(spf != NULL); @@ -110,8 +105,8 @@ freestruct_spf(ARGS_FREESTRUCT) { generic_freestruct_txt(source); } -static inline isc_result_t -additionaldata_spf(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_spf(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_spf); UNUSED(rdata); @@ -121,8 +116,8 @@ additionaldata_spf(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_spf(ARGS_DIGEST) { +static inline isc_result_t digest_spf(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_spf); @@ -132,9 +127,8 @@ digest_spf(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_spf(ARGS_CHECKOWNER) { - +static inline bool checkowner_spf(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_spf); UNUSED(name); @@ -145,9 +139,8 @@ checkowner_spf(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_spf(ARGS_CHECKNAMES) { - +static inline bool checknames_spf(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_spf); UNUSED(rdata); @@ -157,8 +150,8 @@ checknames_spf(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_spf(ARGS_COMPARE) { +static inline int casecompare_spf(ARGS_COMPARE) +{ return (compare_spf(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_SPF_99_C */ +#endif /* RDATA_GENERIC_SPF_99_C */ diff --git a/lib/dns/rdata/generic/spf_99.h b/lib/dns/rdata/generic/spf_99.h index f10b790f9c..53aca44603 100644 --- a/lib/dns/rdata/generic/spf_99.h +++ b/lib/dns/rdata/generic/spf_99.h @@ -12,19 +12,18 @@ #ifndef GENERIC_SPF_99_H #define GENERIC_SPF_99_H 1 - typedef struct dns_rdata_spf_string { - uint8_t length; - unsigned char *data; + uint8_t length; + unsigned char *data; } dns_rdata_spf_string_t; typedef struct dns_rdata_spf { - dns_rdatacommon_t common; - isc_mem_t *mctx; - unsigned char *txt; - uint16_t txt_len; + dns_rdatacommon_t common; + isc_mem_t * mctx; + unsigned char * txt; + uint16_t txt_len; /* private */ - uint16_t offset; + uint16_t offset; } dns_rdata_spf_t; /* diff --git a/lib/dns/rdata/generic/sshfp_44.c b/lib/dns/rdata/generic/sshfp_44.c index 853416eb94..3aa20f20c2 100644 --- a/lib/dns/rdata/generic/sshfp_44.c +++ b/lib/dns/rdata/generic/sshfp_44.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* RFC 4255 */ #ifndef RDATA_GENERIC_SSHFP_44_C @@ -17,10 +16,10 @@ #define RRTYPE_SSHFP_ATTRIBUTES (0) -static inline isc_result_t -fromtext_sshfp(ARGS_FROMTEXT) { +static inline isc_result_t fromtext_sshfp(ARGS_FROMTEXT) +{ isc_token_t token; - int len = -1; + int len = -1; REQUIRE(type == dns_rdatatype_sshfp); @@ -68,10 +67,10 @@ fromtext_sshfp(ARGS_FROMTEXT) { return (isc_hex_tobuffer(lexer, target, len)); } -static inline isc_result_t -totext_sshfp(ARGS_TOTEXT) { +static inline isc_result_t totext_sshfp(ARGS_TOTEXT) +{ isc_region_t sr; - char buf[sizeof("64000 ")]; + char buf[sizeof("64000 ")]; unsigned int n; REQUIRE(rdata->type == dns_rdatatype_sshfp); @@ -110,15 +109,15 @@ totext_sshfp(ARGS_TOTEXT) { if (tctx->width == 0) /* No splitting */ RETERR(isc_hex_totext(&sr, 0, "", target)); else - RETERR(isc_hex_totext(&sr, tctx->width - 2, - tctx->linebreak, target)); + RETERR(isc_hex_totext(&sr, tctx->width - 2, tctx->linebreak, + target)); if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) RETERR(str_totext(" )", target)); return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_sshfp(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_sshfp(ARGS_FROMWIRE) +{ isc_region_t sr; REQUIRE(type == dns_rdatatype_sshfp); @@ -142,8 +141,8 @@ fromwire_sshfp(ARGS_FROMWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline isc_result_t -towire_sshfp(ARGS_TOWIRE) { +static inline isc_result_t towire_sshfp(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_sshfp); @@ -155,8 +154,8 @@ towire_sshfp(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_sshfp(ARGS_COMPARE) { +static inline int compare_sshfp(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -171,8 +170,8 @@ compare_sshfp(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_sshfp(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_sshfp(ARGS_FROMSTRUCT) +{ dns_rdata_sshfp_t *sshfp = source; REQUIRE(type == dns_rdatatype_sshfp); @@ -189,10 +188,10 @@ fromstruct_sshfp(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, sshfp->digest, sshfp->length)); } -static inline isc_result_t -tostruct_sshfp(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_sshfp(ARGS_TOSTRUCT) +{ dns_rdata_sshfp_t *sshfp = target; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_sshfp); REQUIRE(sshfp != NULL); @@ -218,8 +217,8 @@ tostruct_sshfp(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_sshfp(ARGS_FREESTRUCT) { +static inline void freestruct_sshfp(ARGS_FREESTRUCT) +{ dns_rdata_sshfp_t *sshfp = source; REQUIRE(sshfp != NULL); @@ -233,8 +232,8 @@ freestruct_sshfp(ARGS_FREESTRUCT) { sshfp->mctx = NULL; } -static inline isc_result_t -additionaldata_sshfp(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_sshfp(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_sshfp); UNUSED(rdata); @@ -244,8 +243,8 @@ additionaldata_sshfp(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_sshfp(ARGS_DIGEST) { +static inline isc_result_t digest_sshfp(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_sshfp); @@ -255,9 +254,8 @@ digest_sshfp(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_sshfp(ARGS_CHECKOWNER) { - +static inline bool checkowner_sshfp(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_sshfp); UNUSED(name); @@ -268,9 +266,8 @@ checkowner_sshfp(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_sshfp(ARGS_CHECKNAMES) { - +static inline bool checknames_sshfp(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_sshfp); UNUSED(rdata); @@ -280,9 +277,9 @@ checknames_sshfp(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_sshfp(ARGS_COMPARE) { +static inline int casecompare_sshfp(ARGS_COMPARE) +{ return (compare_sshfp(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_SSHFP_44_C */ +#endif /* RDATA_GENERIC_SSHFP_44_C */ diff --git a/lib/dns/rdata/generic/sshfp_44.h b/lib/dns/rdata/generic/sshfp_44.h index ba1129ae73..d9bd68cf4f 100644 --- a/lib/dns/rdata/generic/sshfp_44.h +++ b/lib/dns/rdata/generic/sshfp_44.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! * \brief Per RFC 4255 */ @@ -17,12 +16,12 @@ #define GENERIC_SSHFP_44_H 1 typedef struct dns_rdata_sshfp { - dns_rdatacommon_t common; - isc_mem_t *mctx; - uint8_t algorithm; - uint8_t digest_type; - uint16_t length; - unsigned char *digest; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint8_t algorithm; + uint8_t digest_type; + uint16_t length; + unsigned char * digest; } dns_rdata_sshfp_t; #endif /* GENERIC_SSHFP_44_H */ diff --git a/lib/dns/rdata/generic/ta_32768.c b/lib/dns/rdata/generic/ta_32768.c index 0a38619a48..376a4ff5b7 100644 --- a/lib/dns/rdata/generic/ta_32768.c +++ b/lib/dns/rdata/generic/ta_32768.c @@ -16,34 +16,31 @@ #define RRTYPE_TA_ATTRIBUTES 0 -static inline isc_result_t -fromtext_ta(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_ta(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_ta); return (generic_fromtext_ds(rdclass, type, lexer, origin, options, target, callbacks)); } -static inline isc_result_t -totext_ta(ARGS_TOTEXT) { - +static inline isc_result_t totext_ta(ARGS_TOTEXT) +{ REQUIRE(rdata->type == dns_rdatatype_ta); return (generic_totext_ds(rdata, tctx, target)); } -static inline isc_result_t -fromwire_ta(ARGS_FROMWIRE) { - +static inline isc_result_t fromwire_ta(ARGS_FROMWIRE) +{ REQUIRE(type == dns_rdatatype_ta); return (generic_fromwire_ds(rdclass, type, source, dctx, options, target)); } -static inline isc_result_t -towire_ta(ARGS_TOWIRE) { +static inline isc_result_t towire_ta(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_ta); @@ -55,8 +52,8 @@ towire_ta(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_ta(ARGS_COMPARE) { +static inline int compare_ta(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -71,16 +68,15 @@ compare_ta(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_ta(ARGS_FROMSTRUCT) { - +static inline isc_result_t fromstruct_ta(ARGS_FROMSTRUCT) +{ REQUIRE(type == dns_rdatatype_ta); return (generic_fromstruct_ds(rdclass, type, source, target)); } -static inline isc_result_t -tostruct_ta(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_ta(ARGS_TOSTRUCT) +{ dns_rdata_ds_t *ds = target; REQUIRE(rdata->type == dns_rdatatype_ta); @@ -96,8 +92,8 @@ tostruct_ta(ARGS_TOSTRUCT) { return (generic_tostruct_ds(rdata, target, mctx)); } -static inline void -freestruct_ta(ARGS_FREESTRUCT) { +static inline void freestruct_ta(ARGS_FREESTRUCT) +{ dns_rdata_ta_t *ds = source; REQUIRE(ds != NULL); @@ -111,8 +107,8 @@ freestruct_ta(ARGS_FREESTRUCT) { ds->mctx = NULL; } -static inline isc_result_t -additionaldata_ta(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_ta(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_ta); UNUSED(rdata); @@ -122,8 +118,8 @@ additionaldata_ta(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_ta(ARGS_DIGEST) { +static inline isc_result_t digest_ta(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_ta); @@ -133,9 +129,8 @@ digest_ta(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_ta(ARGS_CHECKOWNER) { - +static inline bool checkowner_ta(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_ta); UNUSED(name); @@ -146,9 +141,8 @@ checkowner_ta(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_ta(ARGS_CHECKNAMES) { - +static inline bool checknames_ta(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_ta); UNUSED(rdata); @@ -158,9 +152,9 @@ checknames_ta(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_ta(ARGS_COMPARE) { +static inline int casecompare_ta(ARGS_COMPARE) +{ return (compare_ta(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_TA_32768_C */ +#endif /* RDATA_GENERIC_TA_32768_C */ diff --git a/lib/dns/rdata/generic/talink_58.c b/lib/dns/rdata/generic/talink_58.c index f286982aa7..ffd125f859 100644 --- a/lib/dns/rdata/generic/talink_58.c +++ b/lib/dns/rdata/generic/talink_58.c @@ -14,12 +14,12 @@ #define RRTYPE_TALINK_ATTRIBUTES 0 -static inline isc_result_t -fromtext_talink(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_talink(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; - int i; + int i; REQUIRE(type == dns_rdatatype_talink); @@ -32,25 +32,24 @@ fromtext_talink(ARGS_FROMTEXT) { for (i = 0; i < 2; i++) { RETERR(isc_lex_getmastertoken(lexer, &token, - isc_tokentype_string, - false)); + isc_tokentype_string, false)); dns_name_init(&name, NULL); buffer_fromregion(&buffer, &token.value.as_region); - RETTOK(dns_name_fromtext(&name, &buffer, origin, - options, target)); + RETTOK(dns_name_fromtext(&name, &buffer, origin, options, + target)); } return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_talink(ARGS_TOTEXT) { +static inline isc_result_t totext_talink(ARGS_TOTEXT) +{ isc_region_t dregion; - dns_name_t prev; - dns_name_t next; - dns_name_t prefix; - bool sub; + dns_name_t prev; + dns_name_t next; + dns_name_t prefix; + bool sub; REQUIRE(rdata->type == dns_rdatatype_talink); REQUIRE(rdata->length != 0); @@ -73,11 +72,11 @@ totext_talink(ARGS_TOTEXT) { RETERR(str_totext(" ", target)); sub = name_prefix(&next, tctx->origin, &prefix); - return(dns_name_totext(&prefix, sub, target)); + return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_talink(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_talink(ARGS_FROMWIRE) +{ dns_name_t prev; dns_name_t next; @@ -92,14 +91,14 @@ fromwire_talink(ARGS_FROMWIRE) { dns_name_init(&next, NULL); RETERR(dns_name_fromwire(&prev, source, dctx, options, target)); - return(dns_name_fromwire(&next, source, dctx, options, target)); + return (dns_name_fromwire(&next, source, dctx, options, target)); } -static inline isc_result_t -towire_talink(ARGS_TOWIRE) { - isc_region_t sregion; - dns_name_t prev; - dns_name_t next; +static inline isc_result_t towire_talink(ARGS_TOWIRE) +{ + isc_region_t sregion; + dns_name_t prev; + dns_name_t next; dns_offsets_t moffsets; dns_offsets_t roffsets; @@ -119,11 +118,11 @@ towire_talink(ARGS_TOWIRE) { dns_name_fromregion(&next, &sregion); isc_region_consume(&sregion, name_length(&next)); - return(dns_name_towire(&next, cctx, target)); + return (dns_name_towire(&next, cctx, target)); } -static inline int -compare_talink(ARGS_COMPARE) { +static inline int compare_talink(ARGS_COMPARE) +{ isc_region_t region1; isc_region_t region2; @@ -138,10 +137,10 @@ compare_talink(ARGS_COMPARE) { return (isc_region_compare(®ion1, ®ion2)); } -static inline isc_result_t -fromstruct_talink(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_talink(ARGS_FROMSTRUCT) +{ dns_rdata_talink_t *talink = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_talink); REQUIRE(talink != NULL); @@ -154,15 +153,15 @@ fromstruct_talink(ARGS_FROMSTRUCT) { dns_name_toregion(&talink->prev, ®ion); RETERR(isc_buffer_copyregion(target, ®ion)); dns_name_toregion(&talink->next, ®ion); - return(isc_buffer_copyregion(target, ®ion)); + return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_talink(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_talink(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_talink_t *talink = target; - dns_name_t name; - isc_result_t result; + dns_name_t name; + isc_result_t result; REQUIRE(rdata->type == dns_rdatatype_talink); REQUIRE(talink != NULL); @@ -190,14 +189,14 @@ tostruct_talink(ARGS_TOSTRUCT) { talink->mctx = mctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (mctx != NULL) dns_name_free(&talink->prev, mctx); return (ISC_R_NOMEMORY); } -static inline void -freestruct_talink(ARGS_FREESTRUCT) { +static inline void freestruct_talink(ARGS_FREESTRUCT) +{ dns_rdata_talink_t *talink = source; REQUIRE(talink != NULL); @@ -211,8 +210,8 @@ freestruct_talink(ARGS_FREESTRUCT) { talink->mctx = NULL; } -static inline isc_result_t -additionaldata_talink(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_talink(ARGS_ADDLDATA) +{ UNUSED(rdata); UNUSED(add); UNUSED(arg); @@ -222,8 +221,8 @@ additionaldata_talink(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_talink(ARGS_DIGEST) { +static inline isc_result_t digest_talink(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_talink); @@ -232,9 +231,8 @@ digest_talink(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_talink(ARGS_CHECKOWNER) { - +static inline bool checkowner_talink(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_talink); UNUSED(name); @@ -245,9 +243,8 @@ checkowner_talink(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_talink(ARGS_CHECKNAMES) { - +static inline bool checknames_talink(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_talink); UNUSED(bad); @@ -256,9 +253,9 @@ checknames_talink(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_talink(ARGS_COMPARE) { +static inline int casecompare_talink(ARGS_COMPARE) +{ return (compare_talink(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_TALINK_58_C */ +#endif /* RDATA_GENERIC_TALINK_58_C */ diff --git a/lib/dns/rdata/generic/talink_58.h b/lib/dns/rdata/generic/talink_58.h index 03166a2362..45f57d8e8b 100644 --- a/lib/dns/rdata/generic/talink_58.h +++ b/lib/dns/rdata/generic/talink_58.h @@ -9,16 +9,17 @@ * information regarding copyright ownership. */ -/* http://www.iana.org/assignments/dns-parameters/TALINK/talink-completed-template */ +/* http://www.iana.org/assignments/dns-parameters/TALINK/talink-completed-template + */ #ifndef GENERIC_TALINK_58_H #define GENERIC_TALINK_58_H 1 typedef struct dns_rdata_talink { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t prev; - dns_name_t next; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t prev; + dns_name_t next; } dns_rdata_talink_t; #endif /* GENERIC_TALINK_58_H */ diff --git a/lib/dns/rdata/generic/tkey_249.c b/lib/dns/rdata/generic/tkey_249.c index 3a05f9e04e..9d3edd4e24 100644 --- a/lib/dns/rdata/generic/tkey_249.c +++ b/lib/dns/rdata/generic/tkey_249.c @@ -16,14 +16,14 @@ #define RRTYPE_TKEY_ATTRIBUTES (DNS_RDATATYPEATTR_META) -static inline isc_result_t -fromtext_tkey(ARGS_FROMTEXT) { - isc_token_t token; - dns_rcode_t rcode; - dns_name_t name; +static inline isc_result_t fromtext_tkey(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_rcode_t rcode; + dns_name_t name; isc_buffer_t buffer; - long i; - char *e; + long i; + char * e; REQUIRE(type == dns_rdatatype_tkey); @@ -42,7 +42,6 @@ fromtext_tkey(ARGS_FROMTEXT) { origin = dns_rootname; RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target)); - /* * Inception. */ @@ -71,9 +70,8 @@ fromtext_tkey(ARGS_FROMTEXT) { */ RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string, false)); - if (dns_tsigrcode_fromtext(&rcode, &token.value.as_textregion) - != ISC_R_SUCCESS) - { + if (dns_tsigrcode_fromtext(&rcode, &token.value.as_textregion) != + ISC_R_SUCCESS) { i = strtol(DNS_AS_STR(token), &e, 10); if (*e != 0) RETTOK(DNS_R_UNKNOWN); @@ -112,14 +110,14 @@ fromtext_tkey(ARGS_FROMTEXT) { return (isc_base64_tobuffer(lexer, target, (int)token.value.as_ulong)); } -static inline isc_result_t -totext_tkey(ARGS_TOTEXT) { - isc_region_t sr, dr; - char buf[sizeof("4294967295 ")]; +static inline isc_result_t totext_tkey(ARGS_TOTEXT) +{ + isc_region_t sr, dr; + char buf[sizeof("4294967295 ")]; unsigned long n; - dns_name_t name; - dns_name_t prefix; - bool sub; + dns_name_t name; + dns_name_t prefix; + bool sub; REQUIRE(rdata->type == dns_rdatatype_tkey); REQUIRE(rdata->length != 0); @@ -190,11 +188,11 @@ totext_tkey(ARGS_TOTEXT) { if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) RETERR(str_totext(" (", target)); RETERR(str_totext(tctx->linebreak, target)); - if (tctx->width == 0) /* No splitting */ + if (tctx->width == 0) /* No splitting */ RETERR(isc_base64_totext(&dr, 60, "", target)); else - RETERR(isc_base64_totext(&dr, tctx->width - 2, - tctx->linebreak, target)); + RETERR(isc_base64_totext(&dr, tctx->width - 2, tctx->linebreak, + target)); if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) RETERR(str_totext(" ) ", target)); else @@ -214,27 +212,27 @@ totext_tkey(ARGS_TOTEXT) { */ REQUIRE(n <= sr.length); if (n != 0U) { - dr = sr; - dr.length = n; - if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) - RETERR(str_totext(" (", target)); - RETERR(str_totext(tctx->linebreak, target)); - if (tctx->width == 0) /* No splitting */ + dr = sr; + dr.length = n; + if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) + RETERR(str_totext(" (", target)); + RETERR(str_totext(tctx->linebreak, target)); + if (tctx->width == 0) /* No splitting */ RETERR(isc_base64_totext(&dr, 60, "", target)); else RETERR(isc_base64_totext(&dr, tctx->width - 2, tctx->linebreak, target)); - if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) - RETERR(str_totext(" )", target)); + if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) + RETERR(str_totext(" )", target)); } return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_tkey(ARGS_FROMWIRE) { - isc_region_t sr; +static inline isc_result_t fromwire_tkey(ARGS_FROMWIRE) +{ + isc_region_t sr; unsigned long n; - dns_name_t name; + dns_name_t name; REQUIRE(type == dns_rdatatype_tkey); @@ -286,10 +284,10 @@ fromwire_tkey(ARGS_FROMWIRE) { return (mem_tobuffer(target, sr.base, n + 2)); } -static inline isc_result_t -towire_tkey(ARGS_TOWIRE) { - isc_region_t sr; - dns_name_t name; +static inline isc_result_t towire_tkey(ARGS_TOWIRE) +{ + isc_region_t sr; + dns_name_t name; dns_offsets_t offsets; REQUIRE(rdata->type == dns_rdatatype_tkey); @@ -308,13 +306,13 @@ towire_tkey(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_tkey(ARGS_COMPARE) { +static inline int compare_tkey(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; - dns_name_t name1; - dns_name_t name2; - int order; + dns_name_t name1; + dns_name_t name2; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -338,8 +336,8 @@ compare_tkey(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_tkey(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_tkey(ARGS_FROMSTRUCT) +{ dns_rdata_tkey_t *tkey = source; REQUIRE(type == dns_rdatatype_tkey); @@ -396,11 +394,11 @@ fromstruct_tkey(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, tkey->other, tkey->otherlen)); } -static inline isc_result_t -tostruct_tkey(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_tkey(ARGS_TOSTRUCT) +{ dns_rdata_tkey_t *tkey = target; - dns_name_t alg; - isc_region_t sr; + dns_name_t alg; + isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_tkey); REQUIRE(tkey != NULL); @@ -477,7 +475,7 @@ tostruct_tkey(ARGS_TOSTRUCT) { tkey->mctx = mctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (mctx != NULL) dns_name_free(&tkey->algorithm, mctx); if (mctx != NULL && tkey->key != NULL) @@ -485,9 +483,9 @@ tostruct_tkey(ARGS_TOSTRUCT) { return (ISC_R_NOMEMORY); } -static inline void -freestruct_tkey(ARGS_FREESTRUCT) { - dns_rdata_tkey_t *tkey = (dns_rdata_tkey_t *) source; +static inline void freestruct_tkey(ARGS_FREESTRUCT) +{ + dns_rdata_tkey_t *tkey = (dns_rdata_tkey_t *)source; REQUIRE(tkey != NULL); @@ -502,8 +500,8 @@ freestruct_tkey(ARGS_FREESTRUCT) { tkey->mctx = NULL; } -static inline isc_result_t -additionaldata_tkey(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_tkey(ARGS_ADDLDATA) +{ UNUSED(rdata); UNUSED(add); UNUSED(arg); @@ -513,8 +511,8 @@ additionaldata_tkey(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_tkey(ARGS_DIGEST) { +static inline isc_result_t digest_tkey(ARGS_DIGEST) +{ UNUSED(rdata); UNUSED(digest); UNUSED(arg); @@ -524,9 +522,8 @@ digest_tkey(ARGS_DIGEST) { return (ISC_R_NOTIMPLEMENTED); } -static inline bool -checkowner_tkey(ARGS_CHECKOWNER) { - +static inline bool checkowner_tkey(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_tkey); UNUSED(name); @@ -537,9 +534,8 @@ checkowner_tkey(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_tkey(ARGS_CHECKNAMES) { - +static inline bool checknames_tkey(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_tkey); UNUSED(rdata); @@ -549,8 +545,8 @@ checknames_tkey(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_tkey(ARGS_COMPARE) { +static inline int casecompare_tkey(ARGS_COMPARE) +{ return (compare_tkey(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_TKEY_249_C */ +#endif /* RDATA_GENERIC_TKEY_249_C */ diff --git a/lib/dns/rdata/generic/tkey_249.h b/lib/dns/rdata/generic/tkey_249.h index 2fab08721d..319d1abf98 100644 --- a/lib/dns/rdata/generic/tkey_249.h +++ b/lib/dns/rdata/generic/tkey_249.h @@ -12,23 +12,21 @@ #ifndef GENERIC_TKEY_249_H #define GENERIC_TKEY_249_H 1 - /*! * \brief Per draft-ietf-dnsind-tkey-00.txt */ typedef struct dns_rdata_tkey { - dns_rdatacommon_t common; - isc_mem_t * mctx; - dns_name_t algorithm; - uint32_t inception; - uint32_t expire; - uint16_t mode; - uint16_t error; - uint16_t keylen; - unsigned char * key; - uint16_t otherlen; - unsigned char * other; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t algorithm; + uint32_t inception; + uint32_t expire; + uint16_t mode; + uint16_t error; + uint16_t keylen; + unsigned char * key; + uint16_t otherlen; + unsigned char * other; } dns_rdata_tkey_t; - #endif /* GENERIC_TKEY_249_H */ diff --git a/lib/dns/rdata/generic/tlsa_52.c b/lib/dns/rdata/generic/tlsa_52.c index 1eeb8d263d..3a5107f9f8 100644 --- a/lib/dns/rdata/generic/tlsa_52.c +++ b/lib/dns/rdata/generic/tlsa_52.c @@ -16,8 +16,8 @@ #define RRTYPE_TLSA_ATTRIBUTES 0 -static inline isc_result_t -generic_fromtext_tlsa(ARGS_FROMTEXT) { +static inline isc_result_t generic_fromtext_tlsa(ARGS_FROMTEXT) +{ isc_token_t token; UNUSED(type); @@ -59,10 +59,10 @@ generic_fromtext_tlsa(ARGS_FROMTEXT) { return (isc_hex_tobuffer(lexer, target, -2)); } -static inline isc_result_t -generic_totext_tlsa(ARGS_TOTEXT) { +static inline isc_result_t generic_totext_tlsa(ARGS_TOTEXT) +{ isc_region_t sr; - char buf[sizeof("64000 ")]; + char buf[sizeof("64000 ")]; unsigned int n; REQUIRE(rdata->length != 0); @@ -104,15 +104,15 @@ generic_totext_tlsa(ARGS_TOTEXT) { if (tctx->width == 0) /* No splitting */ RETERR(isc_hex_totext(&sr, 0, "", target)); else - RETERR(isc_hex_totext(&sr, tctx->width - 2, - tctx->linebreak, target)); + RETERR(isc_hex_totext(&sr, tctx->width - 2, tctx->linebreak, + target)); if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) RETERR(str_totext(" )", target)); return (ISC_R_SUCCESS); } -static inline isc_result_t -generic_fromwire_tlsa(ARGS_FROMWIRE) { +static inline isc_result_t generic_fromwire_tlsa(ARGS_FROMWIRE) +{ isc_region_t sr; UNUSED(type); @@ -129,34 +129,31 @@ generic_fromwire_tlsa(ARGS_FROMWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline isc_result_t -fromtext_tlsa(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_tlsa(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_tlsa); return (generic_fromtext_tlsa(rdclass, type, lexer, origin, options, target, callbacks)); } -static inline isc_result_t -totext_tlsa(ARGS_TOTEXT) { - +static inline isc_result_t totext_tlsa(ARGS_TOTEXT) +{ REQUIRE(rdata->type == dns_rdatatype_tlsa); return (generic_totext_tlsa(rdata, tctx, target)); } -static inline isc_result_t -fromwire_tlsa(ARGS_FROMWIRE) { - +static inline isc_result_t fromwire_tlsa(ARGS_FROMWIRE) +{ REQUIRE(type == dns_rdatatype_tlsa); return (generic_fromwire_tlsa(rdclass, type, source, dctx, options, target)); } -static inline isc_result_t -towire_tlsa(ARGS_TOWIRE) { +static inline isc_result_t towire_tlsa(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_tlsa); @@ -168,8 +165,8 @@ towire_tlsa(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_tlsa(ARGS_COMPARE) { +static inline int compare_tlsa(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -184,8 +181,8 @@ compare_tlsa(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -generic_fromstruct_tlsa(ARGS_FROMSTRUCT) { +static inline isc_result_t generic_fromstruct_tlsa(ARGS_FROMSTRUCT) +{ dns_rdata_tlsa_t *tlsa = source; REQUIRE(tlsa != NULL); @@ -202,10 +199,10 @@ generic_fromstruct_tlsa(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, tlsa->data, tlsa->length)); } -static inline isc_result_t -generic_tostruct_tlsa(ARGS_TOSTRUCT) { +static inline isc_result_t generic_tostruct_tlsa(ARGS_TOSTRUCT) +{ dns_rdata_tlsa_t *tlsa = target; - isc_region_t region; + isc_region_t region; REQUIRE(tlsa != NULL); REQUIRE(rdata->length != 0); @@ -233,8 +230,8 @@ generic_tostruct_tlsa(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -generic_freestruct_tlsa(ARGS_FREESTRUCT) { +static inline void generic_freestruct_tlsa(ARGS_FREESTRUCT) +{ dns_rdata_tlsa_t *tlsa = source; REQUIRE(tlsa != NULL); @@ -247,16 +244,15 @@ generic_freestruct_tlsa(ARGS_FREESTRUCT) { tlsa->mctx = NULL; } -static inline isc_result_t -fromstruct_tlsa(ARGS_FROMSTRUCT) { - +static inline isc_result_t fromstruct_tlsa(ARGS_FROMSTRUCT) +{ REQUIRE(type == dns_rdatatype_tlsa); return (generic_fromstruct_tlsa(rdclass, type, source, target)); } -static inline isc_result_t -tostruct_tlsa(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_tlsa(ARGS_TOSTRUCT) +{ dns_rdata_tlsa_t *tlsa = target; REQUIRE(rdata->type == dns_rdatatype_tlsa); @@ -269,8 +265,8 @@ tostruct_tlsa(ARGS_TOSTRUCT) { return (generic_tostruct_tlsa(rdata, target, mctx)); } -static inline void -freestruct_tlsa(ARGS_FREESTRUCT) { +static inline void freestruct_tlsa(ARGS_FREESTRUCT) +{ dns_rdata_tlsa_t *tlsa = source; REQUIRE(tlsa != NULL); @@ -279,8 +275,8 @@ freestruct_tlsa(ARGS_FREESTRUCT) { generic_freestruct_tlsa(source); } -static inline isc_result_t -additionaldata_tlsa(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_tlsa(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_tlsa); UNUSED(rdata); @@ -290,8 +286,8 @@ additionaldata_tlsa(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_tlsa(ARGS_DIGEST) { +static inline isc_result_t digest_tlsa(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_tlsa); @@ -301,9 +297,8 @@ digest_tlsa(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_tlsa(ARGS_CHECKOWNER) { - +static inline bool checkowner_tlsa(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_tlsa); UNUSED(name); @@ -314,9 +309,8 @@ checkowner_tlsa(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_tlsa(ARGS_CHECKNAMES) { - +static inline bool checknames_tlsa(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_tlsa); UNUSED(rdata); @@ -326,9 +320,9 @@ checknames_tlsa(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_tlsa(ARGS_COMPARE) { +static inline int casecompare_tlsa(ARGS_COMPARE) +{ return (compare_tlsa(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_TLSA_52_C */ +#endif /* RDATA_GENERIC_TLSA_52_C */ diff --git a/lib/dns/rdata/generic/tlsa_52.h b/lib/dns/rdata/generic/tlsa_52.h index 422fd8b9a8..70a282c822 100644 --- a/lib/dns/rdata/generic/tlsa_52.h +++ b/lib/dns/rdata/generic/tlsa_52.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef GENERIC_TLSA_52_H #define GENERIC_TLSA_52_H 1 @@ -17,13 +16,13 @@ * \brief per rfc6698.txt */ typedef struct dns_rdata_tlsa { - dns_rdatacommon_t common; - isc_mem_t *mctx; - uint8_t usage; - uint8_t selector; - uint8_t match; - uint16_t length; - unsigned char *data; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint8_t usage; + uint8_t selector; + uint8_t match; + uint16_t length; + unsigned char * data; } dns_rdata_tlsa_t; #endif /* GENERIC_TLSA_52_H */ diff --git a/lib/dns/rdata/generic/txt_16.c b/lib/dns/rdata/generic/txt_16.c index 21b0e4539e..cdd43f2c62 100644 --- a/lib/dns/rdata/generic/txt_16.c +++ b/lib/dns/rdata/generic/txt_16.c @@ -14,10 +14,10 @@ #define RRTYPE_TXT_ATTRIBUTES (0) -static inline isc_result_t -generic_fromtext_txt(ARGS_FROMTEXT) { +static inline isc_result_t generic_fromtext_txt(ARGS_FROMTEXT) +{ isc_token_t token; - int strings; + int strings; UNUSED(type); UNUSED(rdclass); @@ -35,8 +35,7 @@ generic_fromtext_txt(ARGS_FROMTEXT) { } for (;;) { RETERR(isc_lex_getmastertoken(lexer, &token, - isc_tokentype_qstring, - true)); + isc_tokentype_qstring, true)); if (token.type != isc_tokentype_qstring && token.type != isc_tokentype_string) break; @@ -48,8 +47,8 @@ generic_fromtext_txt(ARGS_FROMTEXT) { return (strings == 0 ? ISC_R_UNEXPECTEDEND : ISC_R_SUCCESS); } -static inline isc_result_t -generic_totext_txt(ARGS_TOTEXT) { +static inline isc_result_t generic_totext_txt(ARGS_TOTEXT) +{ isc_region_t region; UNUSED(tctx); @@ -65,8 +64,8 @@ generic_totext_txt(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -generic_fromwire_txt(ARGS_FROMWIRE) { +static inline isc_result_t generic_fromwire_txt(ARGS_FROMWIRE) +{ isc_result_t result; UNUSED(type); @@ -82,35 +81,31 @@ generic_fromwire_txt(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromtext_txt(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_txt(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_txt); return (generic_fromtext_txt(rdclass, type, lexer, origin, options, target, callbacks)); } -static inline isc_result_t -totext_txt(ARGS_TOTEXT) { - +static inline isc_result_t totext_txt(ARGS_TOTEXT) +{ REQUIRE(rdata->type == dns_rdatatype_txt); return (generic_totext_txt(rdata, tctx, target)); } -static inline isc_result_t -fromwire_txt(ARGS_FROMWIRE) { - +static inline isc_result_t fromwire_txt(ARGS_FROMWIRE) +{ REQUIRE(type == dns_rdatatype_txt); return (generic_fromwire_txt(rdclass, type, source, dctx, options, target)); } -static inline isc_result_t -towire_txt(ARGS_TOWIRE) { - +static inline isc_result_t towire_txt(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_txt); UNUSED(cctx); @@ -118,8 +113,8 @@ towire_txt(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_txt(ARGS_COMPARE) { +static inline int compare_txt(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -132,11 +127,11 @@ compare_txt(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -generic_fromstruct_txt(ARGS_FROMSTRUCT) { +static inline isc_result_t generic_fromstruct_txt(ARGS_FROMSTRUCT) +{ dns_rdata_txt_t *txt = source; - isc_region_t region; - uint8_t length; + isc_region_t region; + uint8_t length; REQUIRE(txt != NULL); REQUIRE(txt->common.rdtype == type); @@ -159,10 +154,10 @@ generic_fromstruct_txt(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, txt->txt, txt->txt_len)); } -static inline isc_result_t -generic_tostruct_txt(ARGS_TOSTRUCT) { +static inline isc_result_t generic_tostruct_txt(ARGS_TOSTRUCT) +{ dns_rdata_txt_t *txt = target; - isc_region_t r; + isc_region_t r; REQUIRE(txt != NULL); REQUIRE(txt->common.rdclass == rdata->rdclass); @@ -180,8 +175,8 @@ generic_tostruct_txt(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -generic_freestruct_txt(ARGS_FREESTRUCT) { +static inline void generic_freestruct_txt(ARGS_FREESTRUCT) +{ dns_rdata_txt_t *txt = source; REQUIRE(txt != NULL); @@ -194,16 +189,15 @@ generic_freestruct_txt(ARGS_FREESTRUCT) { txt->mctx = NULL; } -static inline isc_result_t -fromstruct_txt(ARGS_FROMSTRUCT) { - +static inline isc_result_t fromstruct_txt(ARGS_FROMSTRUCT) +{ REQUIRE(type == dns_rdatatype_txt); return (generic_fromstruct_txt(rdclass, type, source, target)); } -static inline isc_result_t -tostruct_txt(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_txt(ARGS_TOSTRUCT) +{ dns_rdata_txt_t *txt = target; REQUIRE(rdata->type == dns_rdatatype_txt); @@ -216,8 +210,8 @@ tostruct_txt(ARGS_TOSTRUCT) { return (generic_tostruct_txt(rdata, target, mctx)); } -static inline void -freestruct_txt(ARGS_FREESTRUCT) { +static inline void freestruct_txt(ARGS_FREESTRUCT) +{ dns_rdata_txt_t *txt = source; REQUIRE(txt != NULL); @@ -226,8 +220,8 @@ freestruct_txt(ARGS_FREESTRUCT) { generic_freestruct_txt(source); } -static inline isc_result_t -additionaldata_txt(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_txt(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_txt); UNUSED(rdata); @@ -237,8 +231,8 @@ additionaldata_txt(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_txt(ARGS_DIGEST) { +static inline isc_result_t digest_txt(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_txt); @@ -248,9 +242,8 @@ digest_txt(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_txt(ARGS_CHECKOWNER) { - +static inline bool checkowner_txt(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_txt); UNUSED(name); @@ -261,9 +254,8 @@ checkowner_txt(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_txt(ARGS_CHECKNAMES) { - +static inline bool checknames_txt(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_txt); UNUSED(rdata); @@ -273,14 +265,14 @@ checknames_txt(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_txt(ARGS_COMPARE) { +static inline int casecompare_txt(ARGS_COMPARE) +{ return (compare_txt(rdata1, rdata2)); } static isc_result_t -generic_txt_first(dns_rdata_txt_t *txt) { - +generic_txt_first(dns_rdata_txt_t *txt) +{ REQUIRE(txt != NULL); REQUIRE(txt->txt != NULL || txt->txt_len == 0); @@ -292,9 +284,10 @@ generic_txt_first(dns_rdata_txt_t *txt) { } static isc_result_t -generic_txt_next(dns_rdata_txt_t *txt) { +generic_txt_next(dns_rdata_txt_t *txt) +{ isc_region_t r; - uint8_t length; + uint8_t length; REQUIRE(txt != NULL); REQUIRE(txt->txt != NULL && txt->txt_len != 0); @@ -311,7 +304,8 @@ generic_txt_next(dns_rdata_txt_t *txt) { } static isc_result_t -generic_txt_current(dns_rdata_txt_t *txt, dns_rdata_txt_string_t *string) { +generic_txt_current(dns_rdata_txt_t *txt, dns_rdata_txt_string_t *string) +{ isc_region_t r; REQUIRE(txt != NULL); @@ -332,8 +326,8 @@ generic_txt_current(dns_rdata_txt_t *txt, dns_rdata_txt_string_t *string) { } isc_result_t -dns_rdata_txt_first(dns_rdata_txt_t *txt) { - +dns_rdata_txt_first(dns_rdata_txt_t *txt) +{ REQUIRE(txt != NULL); REQUIRE(txt->common.rdtype == dns_rdatatype_txt); @@ -341,8 +335,8 @@ dns_rdata_txt_first(dns_rdata_txt_t *txt) { } isc_result_t -dns_rdata_txt_next(dns_rdata_txt_t *txt) { - +dns_rdata_txt_next(dns_rdata_txt_t *txt) +{ REQUIRE(txt != NULL); REQUIRE(txt->common.rdtype == dns_rdatatype_txt); @@ -350,11 +344,11 @@ dns_rdata_txt_next(dns_rdata_txt_t *txt) { } isc_result_t -dns_rdata_txt_current(dns_rdata_txt_t *txt, dns_rdata_txt_string_t *string) { - +dns_rdata_txt_current(dns_rdata_txt_t *txt, dns_rdata_txt_string_t *string) +{ REQUIRE(txt != NULL); REQUIRE(txt->common.rdtype == dns_rdatatype_txt); return (generic_txt_current(txt, string)); } -#endif /* RDATA_GENERIC_TXT_16_C */ +#endif /* RDATA_GENERIC_TXT_16_C */ diff --git a/lib/dns/rdata/generic/txt_16.h b/lib/dns/rdata/generic/txt_16.h index aaf94bf45e..7873895739 100644 --- a/lib/dns/rdata/generic/txt_16.h +++ b/lib/dns/rdata/generic/txt_16.h @@ -13,19 +13,18 @@ #ifndef GENERIC_TXT_16_H #define GENERIC_TXT_16_H 1 - typedef struct dns_rdata_txt_string { - uint8_t length; - unsigned char *data; + uint8_t length; + unsigned char *data; } dns_rdata_txt_string_t; typedef struct dns_rdata_txt { - dns_rdatacommon_t common; - isc_mem_t *mctx; - unsigned char *txt; - uint16_t txt_len; + dns_rdatacommon_t common; + isc_mem_t * mctx; + unsigned char * txt; + uint16_t txt_len; /* private */ - uint16_t offset; + uint16_t offset; } dns_rdata_txt_t; /* diff --git a/lib/dns/rdata/generic/uri_256.c b/lib/dns/rdata/generic/uri_256.c index 0a8801a81e..a5d4b7c27f 100644 --- a/lib/dns/rdata/generic/uri_256.c +++ b/lib/dns/rdata/generic/uri_256.c @@ -9,14 +9,13 @@ * information regarding copyright ownership. */ - #ifndef GENERIC_URI_256_C #define GENERIC_URI_256_C 1 #define RRTYPE_URI_ATTRIBUTES (0) -static inline isc_result_t -fromtext_uri(ARGS_FROMTEXT) { +static inline isc_result_t fromtext_uri(ARGS_FROMTEXT) +{ isc_token_t token; REQUIRE(type == dns_rdatatype_uri); @@ -48,19 +47,19 @@ fromtext_uri(ARGS_FROMTEXT) { /* * Target URI */ - RETERR(isc_lex_getmastertoken(lexer, &token, - isc_tokentype_qstring, false)); + RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_qstring, + false)); if (token.type != isc_tokentype_qstring) RETTOK(DNS_R_SYNTAX); RETTOK(multitxt_fromtext(&token.value.as_textregion, target)); return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_uri(ARGS_TOTEXT) { - isc_region_t region; +static inline isc_result_t totext_uri(ARGS_TOTEXT) +{ + isc_region_t region; unsigned short priority, weight; - char buf[sizeof("65000 ")]; + char buf[sizeof("65000 ")]; UNUSED(tctx); @@ -92,8 +91,8 @@ totext_uri(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_uri(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_uri(ARGS_FROMWIRE) +{ isc_region_t region; REQUIRE(type == dns_rdatatype_uri); @@ -117,8 +116,8 @@ fromwire_uri(ARGS_FROMWIRE) { return (mem_tobuffer(target, region.base, region.length)); } -static inline isc_result_t -towire_uri(ARGS_TOWIRE) { +static inline isc_result_t towire_uri(ARGS_TOWIRE) +{ isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_uri); @@ -130,11 +129,11 @@ towire_uri(ARGS_TOWIRE) { return (mem_tobuffer(target, region.base, region.length)); } -static inline int -compare_uri(ARGS_COMPARE) { +static inline int compare_uri(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; - int order; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -166,8 +165,8 @@ compare_uri(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_uri(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_uri(ARGS_FROMSTRUCT) +{ dns_rdata_uri_t *uri = source; REQUIRE(type == dns_rdatatype_uri); @@ -195,10 +194,10 @@ fromstruct_uri(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, uri->target, uri->tgt_len)); } -static inline isc_result_t -tostruct_uri(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_uri(ARGS_TOSTRUCT) +{ dns_rdata_uri_t *uri = target; - isc_region_t sr; + isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_uri); REQUIRE(uri != NULL); @@ -238,9 +237,9 @@ tostruct_uri(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_uri(ARGS_FREESTRUCT) { - dns_rdata_uri_t *uri = (dns_rdata_uri_t *) source; +static inline void freestruct_uri(ARGS_FREESTRUCT) +{ + dns_rdata_uri_t *uri = (dns_rdata_uri_t *)source; REQUIRE(uri != NULL); REQUIRE(uri->common.rdtype == dns_rdatatype_uri); @@ -253,8 +252,8 @@ freestruct_uri(ARGS_FREESTRUCT) { uri->mctx = NULL; } -static inline isc_result_t -additionaldata_uri(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_uri(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_uri); UNUSED(rdata); @@ -264,8 +263,8 @@ additionaldata_uri(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_uri(ARGS_DIGEST) { +static inline isc_result_t digest_uri(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_uri); @@ -275,9 +274,8 @@ digest_uri(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_uri(ARGS_CHECKOWNER) { - +static inline bool checkowner_uri(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_uri); UNUSED(name); @@ -288,9 +286,8 @@ checkowner_uri(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_uri(ARGS_CHECKNAMES) { - +static inline bool checknames_uri(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_uri); UNUSED(rdata); @@ -300,8 +297,8 @@ checknames_uri(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_uri(ARGS_COMPARE) { +static inline int casecompare_uri(ARGS_COMPARE) +{ return (compare_uri(rdata1, rdata2)); } diff --git a/lib/dns/rdata/generic/uri_256.h b/lib/dns/rdata/generic/uri_256.h index cea1d22611..e094c8858f 100644 --- a/lib/dns/rdata/generic/uri_256.h +++ b/lib/dns/rdata/generic/uri_256.h @@ -12,14 +12,13 @@ #ifndef GENERIC_URI_256_H #define GENERIC_URI_256_H 1 - typedef struct dns_rdata_uri { - dns_rdatacommon_t common; - isc_mem_t * mctx; - uint16_t priority; - uint16_t weight; - unsigned char * target; - uint16_t tgt_len; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint16_t priority; + uint16_t weight; + unsigned char * target; + uint16_t tgt_len; } dns_rdata_uri_t; #endif /* GENERIC_URI_256_H */ diff --git a/lib/dns/rdata/generic/x25_19.c b/lib/dns/rdata/generic/x25_19.c index 5dc9e2e36e..094a12c388 100644 --- a/lib/dns/rdata/generic/x25_19.c +++ b/lib/dns/rdata/generic/x25_19.c @@ -16,9 +16,9 @@ #define RRTYPE_X25_ATTRIBUTES (0) -static inline isc_result_t -fromtext_x25(ARGS_FROMTEXT) { - isc_token_t token; +static inline isc_result_t fromtext_x25(ARGS_FROMTEXT) +{ + isc_token_t token; unsigned int i; REQUIRE(type == dns_rdatatype_x25); @@ -40,8 +40,8 @@ fromtext_x25(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_x25(ARGS_TOTEXT) { +static inline isc_result_t totext_x25(ARGS_TOTEXT) +{ isc_region_t region; UNUSED(tctx); @@ -53,8 +53,8 @@ totext_x25(ARGS_TOTEXT) { return (txt_totext(®ion, true, target)); } -static inline isc_result_t -fromwire_x25(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_x25(ARGS_FROMWIRE) +{ isc_region_t sr; REQUIRE(type == dns_rdatatype_x25); @@ -70,8 +70,8 @@ fromwire_x25(ARGS_FROMWIRE) { return (txt_fromwire(source, target)); } -static inline isc_result_t -towire_x25(ARGS_TOWIRE) { +static inline isc_result_t towire_x25(ARGS_TOWIRE) +{ UNUSED(cctx); REQUIRE(rdata->type == dns_rdatatype_x25); @@ -80,8 +80,8 @@ towire_x25(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_x25(ARGS_COMPARE) { +static inline int compare_x25(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -96,10 +96,10 @@ compare_x25(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_x25(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_x25(ARGS_FROMSTRUCT) +{ dns_rdata_x25_t *x25 = source; - uint8_t i; + uint8_t i; REQUIRE(type == dns_rdatatype_x25); REQUIRE(x25 != NULL); @@ -121,10 +121,10 @@ fromstruct_x25(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, x25->x25, x25->x25_len)); } -static inline isc_result_t -tostruct_x25(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_x25(ARGS_TOSTRUCT) +{ dns_rdata_x25_t *x25 = target; - isc_region_t r; + isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_x25); REQUIRE(x25 != NULL); @@ -145,8 +145,8 @@ tostruct_x25(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_x25(ARGS_FREESTRUCT) { +static inline void freestruct_x25(ARGS_FREESTRUCT) +{ dns_rdata_x25_t *x25 = source; REQUIRE(x25 != NULL); @@ -160,8 +160,8 @@ freestruct_x25(ARGS_FREESTRUCT) { x25->mctx = NULL; } -static inline isc_result_t -additionaldata_x25(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_x25(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_x25); UNUSED(rdata); @@ -171,8 +171,8 @@ additionaldata_x25(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_x25(ARGS_DIGEST) { +static inline isc_result_t digest_x25(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_x25); @@ -182,9 +182,8 @@ digest_x25(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_x25(ARGS_CHECKOWNER) { - +static inline bool checkowner_x25(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_x25); UNUSED(name); @@ -195,9 +194,8 @@ checkowner_x25(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_x25(ARGS_CHECKNAMES) { - +static inline bool checknames_x25(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_x25); UNUSED(rdata); @@ -207,9 +205,9 @@ checknames_x25(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_x25(ARGS_COMPARE) { +static inline int casecompare_x25(ARGS_COMPARE) +{ return (compare_x25(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_X25_19_C */ +#endif /* RDATA_GENERIC_X25_19_C */ diff --git a/lib/dns/rdata/generic/x25_19.h b/lib/dns/rdata/generic/x25_19.h index b10063ce4d..27730c3a4f 100644 --- a/lib/dns/rdata/generic/x25_19.h +++ b/lib/dns/rdata/generic/x25_19.h @@ -12,15 +12,14 @@ #ifndef GENERIC_X25_19_H #define GENERIC_X25_19_H 1 - /*! * \brief Per RFC1183 */ typedef struct dns_rdata_x25 { - dns_rdatacommon_t common; - isc_mem_t *mctx; - unsigned char *x25; - uint8_t x25_len; + dns_rdatacommon_t common; + isc_mem_t * mctx; + unsigned char * x25; + uint8_t x25_len; } dns_rdata_x25_t; #endif /* GENERIC_X25_19_H */ diff --git a/lib/dns/rdata/generic/zonemd_63.c b/lib/dns/rdata/generic/zonemd_63.c index 0c91806354..6c7ebea479 100644 --- a/lib/dns/rdata/generic/zonemd_63.c +++ b/lib/dns/rdata/generic/zonemd_63.c @@ -16,10 +16,10 @@ #define RRTYPE_ZONEMD_ATTRIBUTES 0 -static inline isc_result_t -fromtext_zonemd(ARGS_FROMTEXT) { +static inline isc_result_t fromtext_zonemd(ARGS_FROMTEXT) +{ isc_token_t token; - int digest_type, length; + int digest_type, length; UNUSED(type); UNUSED(rdclass); @@ -64,10 +64,10 @@ fromtext_zonemd(ARGS_FROMTEXT) { return (isc_hex_tobuffer(lexer, target, length)); } -static inline isc_result_t -totext_zonemd(ARGS_TOTEXT) { - isc_region_t sr; - char buf[sizeof("0123456789")]; +static inline isc_result_t totext_zonemd(ARGS_TOTEXT) +{ + isc_region_t sr; + char buf[sizeof("0123456789")]; unsigned long num; REQUIRE(rdata->length > 6); @@ -124,8 +124,8 @@ totext_zonemd(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_zonemd(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_zonemd(ARGS_FROMWIRE) +{ isc_region_t sr; UNUSED(type); @@ -142,10 +142,8 @@ fromwire_zonemd(ARGS_FROMWIRE) { * If we do recognize the digest type, ensure that the digest is of the * correct length. */ - if (sr.length < 7 || - (sr.base[4] == DNS_ZONEMD_DIGEST_SHA384 && - sr.length < 6 + ISC_SHA384_DIGESTLENGTH)) - { + if (sr.length < 7 || (sr.base[4] == DNS_ZONEMD_DIGEST_SHA384 && + sr.length < 6 + ISC_SHA384_DIGESTLENGTH)) { return (ISC_R_UNEXPECTEDEND); } @@ -163,8 +161,8 @@ fromwire_zonemd(ARGS_FROMWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline isc_result_t -towire_zonemd(ARGS_TOWIRE) { +static inline isc_result_t towire_zonemd(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_zonemd); @@ -176,8 +174,8 @@ towire_zonemd(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_zonemd(ARGS_COMPARE) { +static inline int compare_zonemd(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -192,8 +190,8 @@ compare_zonemd(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_zonemd(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_zonemd(ARGS_FROMSTRUCT) +{ dns_rdata_zonemd_t *zonemd = source; REQUIRE(zonemd != NULL); @@ -216,10 +214,10 @@ fromstruct_zonemd(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, zonemd->digest, zonemd->length)); } -static inline isc_result_t -tostruct_zonemd(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_zonemd(ARGS_TOSTRUCT) +{ dns_rdata_zonemd_t *zonemd = target; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_zonemd); REQUIRE(zonemd != NULL); @@ -248,8 +246,8 @@ tostruct_zonemd(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_zonemd(ARGS_FREESTRUCT) { +static inline void freestruct_zonemd(ARGS_FREESTRUCT) +{ dns_rdata_zonemd_t *zonemd = source; REQUIRE(zonemd != NULL); @@ -265,8 +263,8 @@ freestruct_zonemd(ARGS_FREESTRUCT) { zonemd->mctx = NULL; } -static inline isc_result_t -additionaldata_zonemd(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_zonemd(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_zonemd); UNUSED(rdata); @@ -276,8 +274,8 @@ additionaldata_zonemd(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_zonemd(ARGS_DIGEST) { +static inline isc_result_t digest_zonemd(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_zonemd); @@ -287,8 +285,8 @@ digest_zonemd(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_zonemd(ARGS_CHECKOWNER) { +static inline bool checkowner_zonemd(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_zonemd); UNUSED(name); @@ -299,8 +297,8 @@ checkowner_zonemd(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_zonemd(ARGS_CHECKNAMES) { +static inline bool checknames_zonemd(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_zonemd); UNUSED(rdata); @@ -310,9 +308,9 @@ checknames_zonemd(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_zonemd(ARGS_COMPARE) { +static inline int casecompare_zonemd(ARGS_COMPARE) +{ return (compare_zonemd(rdata1, rdata2)); } -#endif /* RDATA_GENERIC_ZONEMD_63_C */ +#endif /* RDATA_GENERIC_ZONEMD_63_C */ diff --git a/lib/dns/rdata/generic/zonemd_63.h b/lib/dns/rdata/generic/zonemd_63.h index 4eb6c614f5..b4161a6aaa 100644 --- a/lib/dns/rdata/generic/zonemd_63.h +++ b/lib/dns/rdata/generic/zonemd_63.h @@ -19,13 +19,13 @@ * \brief per draft-wessels-zone-digest-05 */ typedef struct dns_rdata_zonemd { - dns_rdatacommon_t common; - isc_mem_t *mctx; - uint32_t serial; - uint8_t digest_type; - uint8_t reserved; - unsigned char *digest; - uint16_t length; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint32_t serial; + uint8_t digest_type; + uint8_t reserved; + unsigned char * digest; + uint16_t length; } dns_rdata_zonemd_t; #endif /* GENERIC_ZONEMD_63_H */ diff --git a/lib/dns/rdata/hs_4/a_1.c b/lib/dns/rdata/hs_4/a_1.c index 93c6183d63..49a17bd4c5 100644 --- a/lib/dns/rdata/hs_4/a_1.c +++ b/lib/dns/rdata/hs_4/a_1.c @@ -16,11 +16,11 @@ #define RRTYPE_A_ATTRIBUTES (0) -static inline isc_result_t -fromtext_hs_a(ARGS_FROMTEXT) { - isc_token_t token; +static inline isc_result_t fromtext_hs_a(ARGS_FROMTEXT) +{ + isc_token_t token; struct in_addr addr; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_a); REQUIRE(rdclass == dns_rdataclass_hs); @@ -44,8 +44,8 @@ fromtext_hs_a(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_hs_a(ARGS_TOTEXT) { +static inline isc_result_t totext_hs_a(ARGS_TOTEXT) +{ isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_a); @@ -58,8 +58,8 @@ totext_hs_a(ARGS_TOTEXT) { return (inet_totext(AF_INET, ®ion, target)); } -static inline isc_result_t -fromwire_hs_a(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_hs_a(ARGS_FROMWIRE) +{ isc_region_t sregion; isc_region_t tregion; @@ -84,8 +84,8 @@ fromwire_hs_a(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_hs_a(ARGS_TOWIRE) { +static inline isc_result_t towire_hs_a(ARGS_TOWIRE) +{ isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_a); @@ -102,8 +102,8 @@ towire_hs_a(ARGS_TOWIRE) { return (ISC_R_SUCCESS); } -static inline int -compare_hs_a(ARGS_COMPARE) { +static inline int compare_hs_a(ARGS_COMPARE) +{ int order; REQUIRE(rdata1->type == rdata2->type); @@ -120,10 +120,10 @@ compare_hs_a(ARGS_COMPARE) { return (order); } -static inline isc_result_t -fromstruct_hs_a(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_hs_a(ARGS_FROMSTRUCT) +{ dns_rdata_hs_a_t *a = source; - uint32_t n; + uint32_t n; REQUIRE(type == dns_rdatatype_a); REQUIRE(rdclass == dns_rdataclass_hs); @@ -139,11 +139,11 @@ fromstruct_hs_a(ARGS_FROMSTRUCT) { return (uint32_tobuffer(n, target)); } -static inline isc_result_t -tostruct_hs_a(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_hs_a(ARGS_TOSTRUCT) +{ dns_rdata_hs_a_t *a = target; - uint32_t n; - isc_region_t region; + uint32_t n; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_a); REQUIRE(rdata->rdclass == dns_rdataclass_hs); @@ -163,15 +163,15 @@ tostruct_hs_a(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_hs_a(ARGS_FREESTRUCT) { +static inline void freestruct_hs_a(ARGS_FREESTRUCT) +{ UNUSED(source); REQUIRE(source != NULL); } -static inline isc_result_t -additionaldata_hs_a(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_hs_a(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_a); REQUIRE(rdata->rdclass == dns_rdataclass_hs); @@ -182,8 +182,8 @@ additionaldata_hs_a(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_hs_a(ARGS_DIGEST) { +static inline isc_result_t digest_hs_a(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_a); @@ -194,9 +194,8 @@ digest_hs_a(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_hs_a(ARGS_CHECKOWNER) { - +static inline bool checkowner_hs_a(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_a); REQUIRE(rdclass == dns_rdataclass_hs); @@ -208,9 +207,8 @@ checkowner_hs_a(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_hs_a(ARGS_CHECKNAMES) { - +static inline bool checknames_hs_a(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_a); REQUIRE(rdata->rdclass == dns_rdataclass_hs); @@ -221,9 +219,9 @@ checknames_hs_a(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_hs_a(ARGS_COMPARE) { +static inline int casecompare_hs_a(ARGS_COMPARE) +{ return (compare_hs_a(rdata1, rdata2)); } -#endif /* RDATA_HS_4_A_1_C */ +#endif /* RDATA_HS_4_A_1_C */ diff --git a/lib/dns/rdata/hs_4/a_1.h b/lib/dns/rdata/hs_4/a_1.h index c5f699684e..ea0247e24d 100644 --- a/lib/dns/rdata/hs_4/a_1.h +++ b/lib/dns/rdata/hs_4/a_1.h @@ -13,10 +13,9 @@ #ifndef HS_4_A_1_H #define HS_4_A_1_H 1 - typedef struct dns_rdata_hs_a { - dns_rdatacommon_t common; - struct in_addr in_addr; + dns_rdatacommon_t common; + struct in_addr in_addr; } dns_rdata_hs_a_t; #endif /* HS_4_A_1_H */ diff --git a/lib/dns/rdata/in_1/a6_38.c b/lib/dns/rdata/in_1/a6_38.c index 20213f555f..f78d198627 100644 --- a/lib/dns/rdata/in_1/a6_38.c +++ b/lib/dns/rdata/in_1/a6_38.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* RFC2874 */ #ifndef RDATA_IN_1_A6_28_C @@ -19,16 +18,16 @@ #define RRTYPE_A6_ATTRIBUTES (0) -static inline isc_result_t -fromtext_in_a6(ARGS_FROMTEXT) { - isc_token_t token; +static inline isc_result_t fromtext_in_a6(ARGS_FROMTEXT) +{ + isc_token_t token; unsigned char addr[16]; unsigned char prefixlen; unsigned char octets; unsigned char mask; - dns_name_t name; - isc_buffer_t buffer; - bool ok; + dns_name_t name; + isc_buffer_t buffer; + bool ok; REQUIRE(type == dns_rdatatype_a6); REQUIRE(rdclass == dns_rdataclass_in); @@ -55,13 +54,12 @@ fromtext_in_a6(ARGS_FROMTEXT) { /* * Prefix 0..127. */ - octets = prefixlen/8; + octets = prefixlen / 8; /* * Octets 0..15. */ RETERR(isc_lex_getmastertoken(lexer, &token, - isc_tokentype_string, - false)); + isc_tokentype_string, false)); if (inet_pton(AF_INET6, DNS_AS_STR(token), addr) != 1) RETTOK(DNS_R_BADAAAA); mask = 0xff >> (prefixlen % 8); @@ -89,17 +87,17 @@ fromtext_in_a6(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_in_a6(ARGS_TOTEXT) { - isc_region_t sr, ar; +static inline isc_result_t totext_in_a6(ARGS_TOTEXT) +{ + isc_region_t sr, ar; unsigned char addr[16]; unsigned char prefixlen; unsigned char octets; unsigned char mask; - char buf[sizeof("128")]; - dns_name_t name; - dns_name_t prefix; - bool sub; + char buf[sizeof("128")]; + dns_name_t name; + dns_name_t prefix; + bool sub; REQUIRE(rdata->type == dns_rdatatype_a6); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -114,7 +112,7 @@ totext_in_a6(ARGS_TOTEXT) { RETERR(str_totext(" ", target)); if (prefixlen != 128) { - octets = prefixlen/8; + octets = prefixlen / 8; memset(addr, 0, sizeof(addr)); memmove(&addr[octets], sr.base, 16 - octets); mask = 0xff >> (prefixlen % 8); @@ -136,13 +134,13 @@ totext_in_a6(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_in_a6(ARGS_FROMWIRE) { - isc_region_t sr; +static inline isc_result_t fromwire_in_a6(ARGS_FROMWIRE) +{ + isc_region_t sr; unsigned char prefixlen; unsigned char octets; unsigned char mask; - dns_name_t name; + dns_name_t name; REQUIRE(type == dns_rdatatype_a6); REQUIRE(rdclass == dns_rdataclass_in); @@ -173,7 +171,7 @@ fromwire_in_a6(ARGS_FROMWIRE) { if (sr.length < octets) return (ISC_R_UNEXPECTEDEND); mask = 0xff >> (prefixlen % 8); - sr.base[0] &= mask; /* Ensure pad bits are zero. */ + sr.base[0] &= mask; /* Ensure pad bits are zero. */ RETERR(mem_tobuffer(target, sr.base, octets)); isc_buffer_forward(source, octets); } @@ -185,10 +183,10 @@ fromwire_in_a6(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_in_a6(ARGS_TOWIRE) { - isc_region_t sr; - dns_name_t name; +static inline isc_result_t towire_in_a6(ARGS_TOWIRE) +{ + isc_region_t sr; + dns_name_t name; dns_offsets_t offsets; unsigned char prefixlen; unsigned char octets; @@ -214,15 +212,15 @@ towire_in_a6(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_in_a6(ARGS_COMPARE) { - int order; +static inline int compare_in_a6(ARGS_COMPARE) +{ + int order; unsigned char prefixlen1, prefixlen2; unsigned char octets; - dns_name_t name1; - dns_name_t name2; - isc_region_t region1; - isc_region_t region2; + dns_name_t name1; + dns_name_t name2; + isc_region_t region1; + isc_region_t region2; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -268,14 +266,14 @@ compare_in_a6(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_in_a6(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_in_a6(ARGS_FROMSTRUCT) +{ dns_rdata_in_a6_t *a6 = source; - isc_region_t region; - int octets; - uint8_t bits; - uint8_t first; - uint8_t mask; + isc_region_t region; + int octets; + uint8_t bits; + uint8_t first; + uint8_t mask; REQUIRE(type == dns_rdatatype_a6); REQUIRE(rdclass == dns_rdataclass_in); @@ -313,12 +311,12 @@ fromstruct_in_a6(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_in_a6(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_in_a6(ARGS_TOSTRUCT) +{ dns_rdata_in_a6_t *a6 = target; - unsigned char octets; - dns_name_t name; - isc_region_t r; + unsigned char octets; + dns_name_t name; + isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_a6); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -358,8 +356,8 @@ tostruct_in_a6(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_in_a6(ARGS_FREESTRUCT) { +static inline void freestruct_in_a6(ARGS_FREESTRUCT) +{ dns_rdata_in_a6_t *a6 = source; REQUIRE(a6 != NULL); @@ -374,8 +372,8 @@ freestruct_in_a6(ARGS_FREESTRUCT) { a6->mctx = NULL; } -static inline isc_result_t -additionaldata_in_a6(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_in_a6(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_a6); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -386,12 +384,12 @@ additionaldata_in_a6(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_in_a6(ARGS_DIGEST) { - isc_region_t r1, r2; +static inline isc_result_t digest_in_a6(ARGS_DIGEST) +{ + isc_region_t r1, r2; unsigned char prefixlen, octets; - isc_result_t result; - dns_name_t name; + isc_result_t result; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_a6); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -414,9 +412,8 @@ digest_in_a6(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_in_a6(ARGS_CHECKOWNER) { - +static inline bool checkowner_in_a6(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_a6); REQUIRE(rdclass == dns_rdataclass_in); @@ -426,10 +423,10 @@ checkowner_in_a6(ARGS_CHECKOWNER) { return (dns_name_ishostname(name, wildcard)); } -static inline bool -checknames_in_a6(ARGS_CHECKNAMES) { +static inline bool checknames_in_a6(ARGS_CHECKNAMES) +{ isc_region_t region; - dns_name_t name; + dns_name_t name; unsigned int prefixlen; REQUIRE(rdata->type == dns_rdatatype_a6); @@ -452,9 +449,9 @@ checknames_in_a6(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_in_a6(ARGS_COMPARE) { +static inline int casecompare_in_a6(ARGS_COMPARE) +{ return (compare_in_a6(rdata1, rdata2)); } -#endif /* RDATA_IN_1_A6_38_C */ +#endif /* RDATA_IN_1_A6_38_C */ diff --git a/lib/dns/rdata/in_1/a6_38.h b/lib/dns/rdata/in_1/a6_38.h index 981164046d..38b1526fb6 100644 --- a/lib/dns/rdata/in_1/a6_38.h +++ b/lib/dns/rdata/in_1/a6_38.h @@ -12,16 +12,15 @@ #ifndef IN_1_A6_38_H #define IN_1_A6_38_H 1 - /*! * \brief Per RFC2874 */ typedef struct dns_rdata_in_a6 { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t prefix; - uint8_t prefixlen; - struct in6_addr in6_addr; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t prefix; + uint8_t prefixlen; + struct in6_addr in6_addr; } dns_rdata_in_a6_t; #endif /* IN_1_A6_38_H */ diff --git a/lib/dns/rdata/in_1/a_1.c b/lib/dns/rdata/in_1/a_1.c index 81f87b0113..81622e20d2 100644 --- a/lib/dns/rdata/in_1/a_1.c +++ b/lib/dns/rdata/in_1/a_1.c @@ -18,11 +18,11 @@ #define RRTYPE_A_ATTRIBUTES (0) -static inline isc_result_t -fromtext_in_a(ARGS_FROMTEXT) { - isc_token_t token; +static inline isc_result_t fromtext_in_a(ARGS_FROMTEXT) +{ + isc_token_t token; struct in_addr addr; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_a); REQUIRE(rdclass == dns_rdataclass_in); @@ -46,8 +46,8 @@ fromtext_in_a(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_in_a(ARGS_TOTEXT) { +static inline isc_result_t totext_in_a(ARGS_TOTEXT) +{ isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_a); @@ -60,8 +60,8 @@ totext_in_a(ARGS_TOTEXT) { return (inet_totext(AF_INET, ®ion, target)); } -static inline isc_result_t -fromwire_in_a(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_in_a(ARGS_FROMWIRE) +{ isc_region_t sregion; isc_region_t tregion; @@ -86,8 +86,8 @@ fromwire_in_a(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_in_a(ARGS_TOWIRE) { +static inline isc_result_t towire_in_a(ARGS_TOWIRE) +{ isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_a); @@ -104,8 +104,8 @@ towire_in_a(ARGS_TOWIRE) { return (ISC_R_SUCCESS); } -static inline int -compare_in_a(ARGS_COMPARE) { +static inline int compare_in_a(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -121,10 +121,10 @@ compare_in_a(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_in_a(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_in_a(ARGS_FROMSTRUCT) +{ dns_rdata_in_a_t *a = source; - uint32_t n; + uint32_t n; REQUIRE(type == dns_rdatatype_a); REQUIRE(rdclass == dns_rdataclass_in); @@ -140,12 +140,11 @@ fromstruct_in_a(ARGS_FROMSTRUCT) { return (uint32_tobuffer(n, target)); } - -static inline isc_result_t -tostruct_in_a(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_in_a(ARGS_TOSTRUCT) +{ dns_rdata_in_a_t *a = target; - uint32_t n; - isc_region_t region; + uint32_t n; + isc_region_t region; REQUIRE(a != NULL); REQUIRE(rdata->type == dns_rdatatype_a); @@ -165,8 +164,8 @@ tostruct_in_a(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_in_a(ARGS_FREESTRUCT) { +static inline void freestruct_in_a(ARGS_FREESTRUCT) +{ dns_rdata_in_a_t *a = source; REQUIRE(a != NULL); @@ -176,8 +175,8 @@ freestruct_in_a(ARGS_FREESTRUCT) { UNUSED(a); } -static inline isc_result_t -additionaldata_in_a(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_in_a(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_a); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -188,8 +187,8 @@ additionaldata_in_a(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_in_a(ARGS_DIGEST) { +static inline isc_result_t digest_in_a(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_a); @@ -200,8 +199,8 @@ digest_in_a(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_in_a(ARGS_CHECKOWNER) { +static inline bool checkowner_in_a(ARGS_CHECKOWNER) +{ dns_name_t prefix, suffix; REQUIRE(type == dns_rdatatype_a); @@ -216,8 +215,8 @@ checkowner_in_a(ARGS_CHECKOWNER) { if (dns_name_countlabels(name) > 2U) { dns_name_init(&prefix, NULL); dns_name_init(&suffix, NULL); - dns_name_split(name, dns_name_countlabels(name) - 2, - &prefix, &suffix); + dns_name_split(name, dns_name_countlabels(name) - 2, &prefix, + &suffix); if (dns_name_equal(&gc_msdcs, &prefix) && dns_name_ishostname(&suffix, false)) return (true); @@ -226,9 +225,8 @@ checkowner_in_a(ARGS_CHECKOWNER) { return (dns_name_ishostname(name, wildcard)); } -static inline bool -checknames_in_a(ARGS_CHECKNAMES) { - +static inline bool checknames_in_a(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_a); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -239,9 +237,9 @@ checknames_in_a(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_in_a(ARGS_COMPARE) { +static inline int casecompare_in_a(ARGS_COMPARE) +{ return (compare_in_a(rdata1, rdata2)); } -#endif /* RDATA_IN_1_A_1_C */ +#endif /* RDATA_IN_1_A_1_C */ diff --git a/lib/dns/rdata/in_1/a_1.h b/lib/dns/rdata/in_1/a_1.h index f44809d18f..e37ad82f0e 100644 --- a/lib/dns/rdata/in_1/a_1.h +++ b/lib/dns/rdata/in_1/a_1.h @@ -13,10 +13,9 @@ #ifndef IN_1_A_1_H #define IN_1_A_1_H 1 - typedef struct dns_rdata_in_a { - dns_rdatacommon_t common; - struct in_addr in_addr; + dns_rdatacommon_t common; + struct in_addr in_addr; } dns_rdata_in_a_t; #endif /* IN_1_A_1_H */ diff --git a/lib/dns/rdata/in_1/aaaa_28.c b/lib/dns/rdata/in_1/aaaa_28.c index a8c6740c31..fae406b79e 100644 --- a/lib/dns/rdata/in_1/aaaa_28.c +++ b/lib/dns/rdata/in_1/aaaa_28.c @@ -18,11 +18,11 @@ #define RRTYPE_AAAA_ATTRIBUTES (0) -static inline isc_result_t -fromtext_in_aaaa(ARGS_FROMTEXT) { - isc_token_t token; +static inline isc_result_t fromtext_in_aaaa(ARGS_FROMTEXT) +{ + isc_token_t token; unsigned char addr[16]; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_aaaa); REQUIRE(rdclass == dns_rdataclass_in); @@ -46,8 +46,8 @@ fromtext_in_aaaa(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_in_aaaa(ARGS_TOTEXT) { +static inline isc_result_t totext_in_aaaa(ARGS_TOTEXT) +{ isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_aaaa); @@ -55,16 +55,15 @@ totext_in_aaaa(ARGS_TOTEXT) { REQUIRE(rdata->length == 16); if ((tctx->flags & DNS_STYLEFLAG_EXPANDAAAA) != 0) { - char buf[5*8]; - const char *sep = ""; - int i, n; + char buf[5 * 8]; + const char * sep = ""; + int i, n; unsigned int len = 0; for (i = 0; i < 16; i += 2) { INSIST(len < sizeof(buf)); - n = snprintf(buf + len, sizeof(buf) - len, - "%s%02x%02x", sep, - rdata->data[i], rdata->data[i + 1]); + n = snprintf(buf + len, sizeof(buf) - len, "%s%02x%02x", + sep, rdata->data[i], rdata->data[i + 1]); if (n < 0) { return (ISC_R_FAILURE); } @@ -77,8 +76,8 @@ totext_in_aaaa(ARGS_TOTEXT) { return (inet_totext(AF_INET6, ®ion, target)); } -static inline isc_result_t -fromwire_in_aaaa(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_in_aaaa(ARGS_FROMWIRE) +{ isc_region_t sregion; isc_region_t tregion; @@ -103,8 +102,8 @@ fromwire_in_aaaa(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_in_aaaa(ARGS_TOWIRE) { +static inline isc_result_t towire_in_aaaa(ARGS_TOWIRE) +{ isc_region_t region; UNUSED(cctx); @@ -121,8 +120,8 @@ towire_in_aaaa(ARGS_TOWIRE) { return (ISC_R_SUCCESS); } -static inline int -compare_in_aaaa(ARGS_COMPARE) { +static inline int compare_in_aaaa(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -138,8 +137,8 @@ compare_in_aaaa(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_in_aaaa(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_in_aaaa(ARGS_FROMSTRUCT) +{ dns_rdata_in_aaaa_t *aaaa = source; REQUIRE(type == dns_rdatatype_aaaa); @@ -154,10 +153,10 @@ fromstruct_in_aaaa(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, aaaa->in6_addr.s6_addr, 16)); } -static inline isc_result_t -tostruct_in_aaaa(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_in_aaaa(ARGS_TOSTRUCT) +{ dns_rdata_in_aaaa_t *aaaa = target; - isc_region_t r; + isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_aaaa); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -177,8 +176,8 @@ tostruct_in_aaaa(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_in_aaaa(ARGS_FREESTRUCT) { +static inline void freestruct_in_aaaa(ARGS_FREESTRUCT) +{ dns_rdata_in_aaaa_t *aaaa = source; REQUIRE(aaaa != NULL); @@ -188,8 +187,8 @@ freestruct_in_aaaa(ARGS_FREESTRUCT) { UNUSED(aaaa); } -static inline isc_result_t -additionaldata_in_aaaa(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_in_aaaa(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_aaaa); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -200,8 +199,8 @@ additionaldata_in_aaaa(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_in_aaaa(ARGS_DIGEST) { +static inline isc_result_t digest_in_aaaa(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_aaaa); @@ -212,8 +211,8 @@ digest_in_aaaa(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_in_aaaa(ARGS_CHECKOWNER) { +static inline bool checkowner_in_aaaa(ARGS_CHECKOWNER) +{ dns_name_t prefix, suffix; REQUIRE(type == dns_rdatatype_aaaa); @@ -228,8 +227,8 @@ checkowner_in_aaaa(ARGS_CHECKOWNER) { if (dns_name_countlabels(name) > 2U) { dns_name_init(&prefix, NULL); dns_name_init(&suffix, NULL); - dns_name_split(name, dns_name_countlabels(name) - 2, - &prefix, &suffix); + dns_name_split(name, dns_name_countlabels(name) - 2, &prefix, + &suffix); if (dns_name_equal(&gc_msdcs, &prefix) && dns_name_ishostname(&suffix, false)) return (true); @@ -238,9 +237,8 @@ checkowner_in_aaaa(ARGS_CHECKOWNER) { return (dns_name_ishostname(name, wildcard)); } -static inline bool -checknames_in_aaaa(ARGS_CHECKNAMES) { - +static inline bool checknames_in_aaaa(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_aaaa); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -251,8 +249,8 @@ checknames_in_aaaa(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_in_aaaa(ARGS_COMPARE) { +static inline int casecompare_in_aaaa(ARGS_COMPARE) +{ return (compare_in_aaaa(rdata1, rdata2)); } -#endif /* RDATA_IN_1_AAAA_28_C */ +#endif /* RDATA_IN_1_AAAA_28_C */ diff --git a/lib/dns/rdata/in_1/aaaa_28.h b/lib/dns/rdata/in_1/aaaa_28.h index caabf7e021..0348e4edeb 100644 --- a/lib/dns/rdata/in_1/aaaa_28.h +++ b/lib/dns/rdata/in_1/aaaa_28.h @@ -12,13 +12,12 @@ #ifndef IN_1_AAAA_28_H #define IN_1_AAAA_28_H 1 - /*! * \brief Per RFC1886 */ typedef struct dns_rdata_in_aaaa { - dns_rdatacommon_t common; - struct in6_addr in6_addr; + dns_rdatacommon_t common; + struct in6_addr in6_addr; } dns_rdata_in_aaaa_t; #endif /* IN_1_AAAA_28_H */ diff --git a/lib/dns/rdata/in_1/apl_42.c b/lib/dns/rdata/in_1/apl_42.c index f376eba4c0..b2e9535444 100644 --- a/lib/dns/rdata/in_1/apl_42.c +++ b/lib/dns/rdata/in_1/apl_42.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* RFC3123 */ #ifndef RDATA_IN_1_APL_42_C @@ -17,16 +16,16 @@ #define RRTYPE_APL_ATTRIBUTES (0) -static inline isc_result_t -fromtext_in_apl(ARGS_FROMTEXT) { - isc_token_t token; +static inline isc_result_t fromtext_in_apl(ARGS_FROMTEXT) +{ + isc_token_t token; unsigned char addr[16]; unsigned long afi; - uint8_t prefix; - uint8_t len; - bool neg; - char *cp, *ap, *slash; - int n; + uint8_t prefix; + uint8_t len; + bool neg; + char * cp, *ap, *slash; + int n; REQUIRE(type == dns_rdatatype_apl); REQUIRE(rdclass == dns_rdataclass_in); @@ -100,18 +99,18 @@ fromtext_in_apl(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_in_apl(ARGS_TOTEXT) { - isc_region_t sr; - isc_region_t ir; - uint16_t afi; - uint8_t prefix; - uint8_t len; - bool neg; +static inline isc_result_t totext_in_apl(ARGS_TOTEXT) +{ + isc_region_t sr; + isc_region_t ir; + uint16_t afi; + uint8_t prefix; + uint8_t len; + bool neg; unsigned char buf[16]; - char txt[sizeof(" !64000:")]; - const char *sep = ""; - int n; + char txt[sizeof(" !64000:")]; + const char * sep = ""; + int n; REQUIRE(rdata->type == dns_rdatatype_apl); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -132,8 +131,8 @@ totext_in_apl(ARGS_TOTEXT) { neg = (*sr.base & 0x80); isc_region_consume(&sr, 1); INSIST(len <= sr.length); - n = snprintf(txt, sizeof(txt), "%s%s%u:", sep, - neg ? "!" : "", afi); + n = snprintf(txt, sizeof(txt), "%s%s%u:", sep, neg ? "!" : "", + afi); INSIST(n < (int)sizeof(txt)); RETERR(str_totext(txt, target)); switch (afi) { @@ -165,13 +164,13 @@ totext_in_apl(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_in_apl(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_in_apl(ARGS_FROMWIRE) +{ isc_region_t sr, sr2; isc_region_t tr; - uint16_t afi; - uint8_t prefix; - uint8_t len; + uint16_t afi; + uint8_t prefix; + uint8_t len; REQUIRE(type == dns_rdatatype_apl); REQUIRE(rdclass == dns_rdataclass_in); @@ -216,8 +215,8 @@ fromwire_in_apl(ARGS_FROMWIRE) { return (mem_tobuffer(target, sr2.base, sr2.length)); } -static inline isc_result_t -towire_in_apl(ARGS_TOWIRE) { +static inline isc_result_t towire_in_apl(ARGS_TOWIRE) +{ UNUSED(cctx); REQUIRE(rdata->type == dns_rdatatype_apl); @@ -226,8 +225,8 @@ towire_in_apl(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_in_apl(ARGS_COMPARE) { +static inline int compare_in_apl(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -241,10 +240,10 @@ compare_in_apl(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_in_apl(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_in_apl(ARGS_FROMSTRUCT) +{ dns_rdata_in_apl_t *apl = source; - isc_buffer_t b; + isc_buffer_t b; REQUIRE(type == dns_rdatatype_apl); REQUIRE(rdclass == dns_rdataclass_in); @@ -256,13 +255,13 @@ fromstruct_in_apl(ARGS_FROMSTRUCT) { isc_buffer_init(&b, apl->apl, apl->apl_len); isc_buffer_add(&b, apl->apl_len); isc_buffer_setactive(&b, apl->apl_len); - return(fromwire_in_apl(rdclass, type, &b, NULL, false, target)); + return (fromwire_in_apl(rdclass, type, &b, NULL, false, target)); } -static inline isc_result_t -tostruct_in_apl(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_in_apl(ARGS_TOSTRUCT) +{ dns_rdata_in_apl_t *apl = target; - isc_region_t r; + isc_region_t r; REQUIRE(apl != NULL); REQUIRE(rdata->type == dns_rdatatype_apl); @@ -283,8 +282,8 @@ tostruct_in_apl(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_in_apl(ARGS_FREESTRUCT) { +static inline void freestruct_in_apl(ARGS_FREESTRUCT) +{ dns_rdata_in_apl_t *apl = source; REQUIRE(apl != NULL); @@ -299,7 +298,8 @@ freestruct_in_apl(ARGS_FREESTRUCT) { } isc_result_t -dns_rdata_apl_first(dns_rdata_in_apl_t *apl) { +dns_rdata_apl_first(dns_rdata_in_apl_t *apl) +{ uint32_t length; REQUIRE(apl != NULL); @@ -325,7 +325,8 @@ dns_rdata_apl_first(dns_rdata_in_apl_t *apl) { } isc_result_t -dns_rdata_apl_next(dns_rdata_in_apl_t *apl) { +dns_rdata_apl_next(dns_rdata_in_apl_t *apl) +{ uint32_t length; REQUIRE(apl != NULL); @@ -357,7 +358,8 @@ dns_rdata_apl_next(dns_rdata_in_apl_t *apl) { } isc_result_t -dns_rdata_apl_current(dns_rdata_in_apl_t *apl, dns_rdata_apl_ent_t *ent) { +dns_rdata_apl_current(dns_rdata_in_apl_t *apl, dns_rdata_apl_ent_t *ent) +{ uint32_t length; REQUIRE(apl != NULL); @@ -394,12 +396,13 @@ dns_rdata_apl_current(dns_rdata_in_apl_t *apl, dns_rdata_apl_ent_t *ent) { } unsigned int -dns_rdata_apl_count(const dns_rdata_in_apl_t *apl) { +dns_rdata_apl_count(const dns_rdata_in_apl_t *apl) +{ return (apl->apl_len); } -static inline isc_result_t -additionaldata_in_apl(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_in_apl(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_apl); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -409,8 +412,8 @@ additionaldata_in_apl(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_in_apl(ARGS_DIGEST) { +static inline isc_result_t digest_in_apl(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_apl); @@ -421,9 +424,8 @@ digest_in_apl(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_in_apl(ARGS_CHECKOWNER) { - +static inline bool checkowner_in_apl(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_apl); REQUIRE(rdclass == dns_rdataclass_in); @@ -435,10 +437,8 @@ checkowner_in_apl(ARGS_CHECKOWNER) { return (true); } - -static inline bool -checknames_in_apl(ARGS_CHECKNAMES) { - +static inline bool checknames_in_apl(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_apl); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -449,9 +449,9 @@ checknames_in_apl(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_in_apl(ARGS_COMPARE) { +static inline int casecompare_in_apl(ARGS_COMPARE) +{ return (compare_in_apl(rdata1, rdata2)); } -#endif /* RDATA_IN_1_APL_42_C */ +#endif /* RDATA_IN_1_APL_42_C */ diff --git a/lib/dns/rdata/in_1/apl_42.h b/lib/dns/rdata/in_1/apl_42.h index 8c17a53eb2..e5b00db64a 100644 --- a/lib/dns/rdata/in_1/apl_42.h +++ b/lib/dns/rdata/in_1/apl_42.h @@ -13,23 +13,22 @@ #ifndef IN_1_APL_42_H #define IN_1_APL_42_H 1 - typedef struct dns_rdata_apl_ent { - bool negative; - uint16_t family; - uint8_t prefix; - uint8_t length; - unsigned char *data; + bool negative; + uint16_t family; + uint8_t prefix; + uint8_t length; + unsigned char *data; } dns_rdata_apl_ent_t; typedef struct dns_rdata_in_apl { - dns_rdatacommon_t common; - isc_mem_t *mctx; + dns_rdatacommon_t common; + isc_mem_t * mctx; /* type & class specific elements */ - unsigned char *apl; - uint16_t apl_len; + unsigned char *apl; + uint16_t apl_len; /* private */ - uint16_t offset; + uint16_t offset; } dns_rdata_in_apl_t; /* diff --git a/lib/dns/rdata/in_1/atma_34.c b/lib/dns/rdata/in_1/atma_34.c index c232b3feac..429dd160e1 100644 --- a/lib/dns/rdata/in_1/atma_34.c +++ b/lib/dns/rdata/in_1/atma_34.c @@ -16,14 +16,14 @@ #define RRTYPE_ATMA_ATTRIBUTES (0) -static inline isc_result_t -fromtext_in_atma(ARGS_FROMTEXT) { - isc_token_t token; +static inline isc_result_t fromtext_in_atma(ARGS_FROMTEXT) +{ + isc_token_t token; isc_textregion_t *sr; - int n; - bool valid = false; - bool lastwasperiod = true; /* leading periods not allowed */ - int digits = 0; + int n; + bool valid = false; + bool lastwasperiod = true; /* leading periods not allowed */ + int digits = 0; unsigned char c = 0; REQUIRE(type == dns_rdatatype_atma); @@ -105,10 +105,10 @@ fromtext_in_atma(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_in_atma(ARGS_TOTEXT) { +static inline isc_result_t totext_in_atma(ARGS_TOTEXT) +{ isc_region_t region; - char buf[sizeof("xx")]; + char buf[sizeof("xx")]; REQUIRE(rdata->type == dns_rdatatype_atma); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -138,8 +138,8 @@ totext_in_atma(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_in_atma(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_in_atma(ARGS_FROMWIRE) +{ isc_region_t region; REQUIRE(type == dns_rdatatype_atma); @@ -167,8 +167,8 @@ fromwire_in_atma(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_in_atma(ARGS_TOWIRE) { +static inline isc_result_t towire_in_atma(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_atma); REQUIRE(rdata->rdclass == dns_rdataclass_in); REQUIRE(rdata->length != 0); @@ -178,8 +178,8 @@ towire_in_atma(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_in_atma(ARGS_COMPARE) { +static inline int compare_in_atma(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -195,8 +195,8 @@ compare_in_atma(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_in_atma(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_in_atma(ARGS_FROMSTRUCT) +{ dns_rdata_in_atma_t *atma = source; REQUIRE(type == dns_rdatatype_atma); @@ -213,10 +213,10 @@ fromstruct_in_atma(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, atma->atma, atma->atma_len)); } -static inline isc_result_t -tostruct_in_atma(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_in_atma(ARGS_TOSTRUCT) +{ dns_rdata_in_atma_t *atma = target; - isc_region_t r; + isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_atma); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -240,8 +240,8 @@ tostruct_in_atma(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_in_atma(ARGS_FREESTRUCT) { +static inline void freestruct_in_atma(ARGS_FREESTRUCT) +{ dns_rdata_in_atma_t *atma = source; REQUIRE(atma != NULL); @@ -258,8 +258,8 @@ freestruct_in_atma(ARGS_FREESTRUCT) { atma->mctx = NULL; } -static inline isc_result_t -additionaldata_in_atma(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_in_atma(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_atma); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -270,8 +270,8 @@ additionaldata_in_atma(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_in_atma(ARGS_DIGEST) { +static inline isc_result_t digest_in_atma(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_atma); @@ -282,9 +282,8 @@ digest_in_atma(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_in_atma(ARGS_CHECKOWNER) { - +static inline bool checkowner_in_atma(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_atma); REQUIRE(rdclass == dns_rdataclass_in); @@ -296,9 +295,8 @@ checkowner_in_atma(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_in_atma(ARGS_CHECKNAMES) { - +static inline bool checknames_in_atma(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_atma); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -309,9 +307,9 @@ checknames_in_atma(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_in_atma(ARGS_COMPARE) { +static inline int casecompare_in_atma(ARGS_COMPARE) +{ return (compare_in_atma(rdata1, rdata2)); } -#endif /* RDATA_IN_1_atma_22_C */ +#endif /* RDATA_IN_1_atma_22_C */ diff --git a/lib/dns/rdata/in_1/atma_34.h b/lib/dns/rdata/in_1/atma_34.h index 80cd3be3e4..286b1f2010 100644 --- a/lib/dns/rdata/in_1/atma_34.h +++ b/lib/dns/rdata/in_1/atma_34.h @@ -12,16 +12,15 @@ #ifndef IN_1_ATMA_22_H #define IN_1_ATMA_22_H 1 - /*! * \brief Per RFC1706 */ typedef struct dns_rdata_in_atma { - dns_rdatacommon_t common; - isc_mem_t *mctx; - unsigned char format; - unsigned char *atma; - uint16_t atma_len; + dns_rdatacommon_t common; + isc_mem_t * mctx; + unsigned char format; + unsigned char * atma; + uint16_t atma_len; } dns_rdata_in_atma_t; #endif /* IN_1_ATMA_22_H */ diff --git a/lib/dns/rdata/in_1/dhcid_49.c b/lib/dns/rdata/in_1/dhcid_49.c index 7722e466d0..d2ac3bf5b0 100644 --- a/lib/dns/rdata/in_1/dhcid_49.c +++ b/lib/dns/rdata/in_1/dhcid_49.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* RFC 4701 */ #ifndef RDATA_IN_1_DHCID_49_C @@ -17,9 +16,8 @@ #define RRTYPE_DHCID_ATTRIBUTES 0 -static inline isc_result_t -fromtext_in_dhcid(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_in_dhcid(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_dhcid); REQUIRE(rdclass == dns_rdataclass_in); @@ -32,11 +30,11 @@ fromtext_in_dhcid(ARGS_FROMTEXT) { return (isc_base64_tobuffer(lexer, target, -2)); } -static inline isc_result_t -totext_in_dhcid(ARGS_TOTEXT) { +static inline isc_result_t totext_in_dhcid(ARGS_TOTEXT) +{ isc_region_t sr, sr2; /* " ; 64000 255 64000" */ - char buf[5 + 3*11 + 1]; + char buf[5 + 3 * 11 + 1]; REQUIRE(rdata->type == dns_rdatatype_dhcid); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -47,25 +45,25 @@ totext_in_dhcid(ARGS_TOTEXT) { if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) RETERR(str_totext("( " /*)*/, target)); - if (tctx->width == 0) /* No splitting */ + if (tctx->width == 0) /* No splitting */ RETERR(isc_base64_totext(&sr, 60, "", target)); else - RETERR(isc_base64_totext(&sr, tctx->width - 2, - tctx->linebreak, target)); + RETERR(isc_base64_totext(&sr, tctx->width - 2, tctx->linebreak, + target)); if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) { RETERR(str_totext(/* ( */ " )", target)); if (rdata->length > 2) { snprintf(buf, sizeof(buf), " ; %u %u %u", - sr2.base[0] * 256U + sr2.base[1], - sr2.base[2], rdata->length - 3U); + sr2.base[0] * 256U + sr2.base[1], sr2.base[2], + rdata->length - 3U); RETERR(str_totext(buf, target)); } } return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_in_dhcid(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_in_dhcid(ARGS_FROMWIRE) +{ isc_region_t sr; REQUIRE(type == dns_rdatatype_dhcid); @@ -84,8 +82,8 @@ fromwire_in_dhcid(ARGS_FROMWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline isc_result_t -towire_in_dhcid(ARGS_TOWIRE) { +static inline isc_result_t towire_in_dhcid(ARGS_TOWIRE) +{ isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_dhcid); @@ -98,8 +96,8 @@ towire_in_dhcid(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_in_dhcid(ARGS_COMPARE) { +static inline int compare_in_dhcid(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -115,8 +113,8 @@ compare_in_dhcid(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_in_dhcid(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_in_dhcid(ARGS_FROMSTRUCT) +{ dns_rdata_in_dhcid_t *dhcid = source; REQUIRE(type == dns_rdatatype_dhcid); @@ -132,10 +130,10 @@ fromstruct_in_dhcid(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, dhcid->dhcid, dhcid->length)); } -static inline isc_result_t -tostruct_in_dhcid(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_in_dhcid(ARGS_TOSTRUCT) +{ dns_rdata_in_dhcid_t *dhcid = target; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_dhcid); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -156,8 +154,8 @@ tostruct_in_dhcid(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_in_dhcid(ARGS_FREESTRUCT) { +static inline void freestruct_in_dhcid(ARGS_FREESTRUCT) +{ dns_rdata_in_dhcid_t *dhcid = source; REQUIRE(dhcid != NULL); @@ -172,8 +170,8 @@ freestruct_in_dhcid(ARGS_FREESTRUCT) { dhcid->mctx = NULL; } -static inline isc_result_t -additionaldata_in_dhcid(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_in_dhcid(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_dhcid); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -184,8 +182,8 @@ additionaldata_in_dhcid(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_in_dhcid(ARGS_DIGEST) { +static inline isc_result_t digest_in_dhcid(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_dhcid); @@ -196,9 +194,8 @@ digest_in_dhcid(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_in_dhcid(ARGS_CHECKOWNER) { - +static inline bool checkowner_in_dhcid(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_dhcid); REQUIRE(rdclass == dns_rdataclass_in); @@ -210,9 +207,8 @@ checkowner_in_dhcid(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_in_dhcid(ARGS_CHECKNAMES) { - +static inline bool checknames_in_dhcid(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_dhcid); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -223,9 +219,9 @@ checknames_in_dhcid(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_in_dhcid(ARGS_COMPARE) { +static inline int casecompare_in_dhcid(ARGS_COMPARE) +{ return (compare_in_dhcid(rdata1, rdata2)); } -#endif /* RDATA_IN_1_DHCID_49_C */ +#endif /* RDATA_IN_1_DHCID_49_C */ diff --git a/lib/dns/rdata/in_1/dhcid_49.h b/lib/dns/rdata/in_1/dhcid_49.h index 455eaed982..6f27157864 100644 --- a/lib/dns/rdata/in_1/dhcid_49.h +++ b/lib/dns/rdata/in_1/dhcid_49.h @@ -13,12 +13,11 @@ #ifndef IN_1_DHCID_49_H #define IN_1_DHCID_49_H 1 - typedef struct dns_rdata_in_dhcid { - dns_rdatacommon_t common; - isc_mem_t *mctx; - unsigned char *dhcid; - unsigned int length; + dns_rdatacommon_t common; + isc_mem_t * mctx; + unsigned char * dhcid; + unsigned int length; } dns_rdata_in_dhcid_t; #endif /* IN_1_DHCID_49_H */ diff --git a/lib/dns/rdata/in_1/eid_31.c b/lib/dns/rdata/in_1/eid_31.c index 627d2f1e1a..d136727d30 100644 --- a/lib/dns/rdata/in_1/eid_31.c +++ b/lib/dns/rdata/in_1/eid_31.c @@ -16,9 +16,8 @@ #define RRTYPE_EID_ATTRIBUTES (0) -static inline isc_result_t -fromtext_in_eid(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_in_eid(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_eid); REQUIRE(rdclass == dns_rdataclass_in); @@ -31,8 +30,8 @@ fromtext_in_eid(ARGS_FROMTEXT) { return (isc_hex_tobuffer(lexer, target, -2)); } -static inline isc_result_t -totext_in_eid(ARGS_TOTEXT) { +static inline isc_result_t totext_in_eid(ARGS_TOTEXT) +{ isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_eid); @@ -47,8 +46,8 @@ totext_in_eid(ARGS_TOTEXT) { if (tctx->width == 0) { RETERR(isc_hex_totext(®ion, 60, "", target)); } else { - RETERR(isc_hex_totext(®ion, tctx->width - 2, - tctx->linebreak, target)); + RETERR(isc_hex_totext(®ion, tctx->width - 2, tctx->linebreak, + target)); } if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) { RETERR(str_totext(" )", target)); @@ -56,8 +55,8 @@ totext_in_eid(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_in_eid(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_in_eid(ARGS_FROMWIRE) +{ isc_region_t region; REQUIRE(type == dns_rdatatype_eid); @@ -78,8 +77,8 @@ fromwire_in_eid(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_in_eid(ARGS_TOWIRE) { +static inline isc_result_t towire_in_eid(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_eid); REQUIRE(rdata->rdclass == dns_rdataclass_in); REQUIRE(rdata->length != 0); @@ -89,8 +88,8 @@ towire_in_eid(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_in_eid(ARGS_COMPARE) { +static inline int compare_in_eid(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -106,8 +105,8 @@ compare_in_eid(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_in_eid(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_in_eid(ARGS_FROMSTRUCT) +{ dns_rdata_in_eid_t *eid = source; REQUIRE(type == dns_rdatatype_eid); @@ -123,10 +122,10 @@ fromstruct_in_eid(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, eid->eid, eid->eid_len)); } -static inline isc_result_t -tostruct_in_eid(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_in_eid(ARGS_TOSTRUCT) +{ dns_rdata_in_eid_t *eid = target; - isc_region_t r; + isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_eid); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -148,8 +147,8 @@ tostruct_in_eid(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_in_eid(ARGS_FREESTRUCT) { +static inline void freestruct_in_eid(ARGS_FREESTRUCT) +{ dns_rdata_in_eid_t *eid = source; REQUIRE(eid != NULL); @@ -166,8 +165,8 @@ freestruct_in_eid(ARGS_FREESTRUCT) { eid->mctx = NULL; } -static inline isc_result_t -additionaldata_in_eid(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_in_eid(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_eid); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -178,8 +177,8 @@ additionaldata_in_eid(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_in_eid(ARGS_DIGEST) { +static inline isc_result_t digest_in_eid(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_eid); @@ -190,9 +189,8 @@ digest_in_eid(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_in_eid(ARGS_CHECKOWNER) { - +static inline bool checkowner_in_eid(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_eid); REQUIRE(rdclass == dns_rdataclass_in); @@ -204,9 +202,8 @@ checkowner_in_eid(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_in_eid(ARGS_CHECKNAMES) { - +static inline bool checknames_in_eid(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_eid); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -217,9 +214,9 @@ checknames_in_eid(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_in_eid(ARGS_COMPARE) { +static inline int casecompare_in_eid(ARGS_COMPARE) +{ return (compare_in_eid(rdata1, rdata2)); } -#endif /* RDATA_IN_1_EID_31_C */ +#endif /* RDATA_IN_1_EID_31_C */ diff --git a/lib/dns/rdata/in_1/eid_31.h b/lib/dns/rdata/in_1/eid_31.h index 55d414b19b..20ccac2ba4 100644 --- a/lib/dns/rdata/in_1/eid_31.h +++ b/lib/dns/rdata/in_1/eid_31.h @@ -12,16 +12,15 @@ #ifndef IN_1_EID_31_H #define IN_1_EID_31_H 1 - /*! * \brief http://ana-3.lcs.mit.edu/~jnc/nimrod/dns.txt */ typedef struct dns_rdata_in_eid { - dns_rdatacommon_t common; - isc_mem_t *mctx; - unsigned char *eid; - uint16_t eid_len; + dns_rdatacommon_t common; + isc_mem_t * mctx; + unsigned char * eid; + uint16_t eid_len; } dns_rdata_in_eid_t; #endif /* IN_1_EID_31_H */ diff --git a/lib/dns/rdata/in_1/kx_36.c b/lib/dns/rdata/in_1/kx_36.c index 7431b91997..a3ca912bef 100644 --- a/lib/dns/rdata/in_1/kx_36.c +++ b/lib/dns/rdata/in_1/kx_36.c @@ -16,10 +16,10 @@ #define RRTYPE_KX_ATTRIBUTES (0) -static inline isc_result_t -fromtext_in_kx(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_in_kx(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; REQUIRE(type == dns_rdatatype_kx); @@ -45,13 +45,13 @@ fromtext_in_kx(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_in_kx(ARGS_TOTEXT) { - isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; - char buf[sizeof("64000")]; +static inline isc_result_t totext_in_kx(ARGS_TOTEXT) +{ + isc_region_t region; + dns_name_t name; + dns_name_t prefix; + bool sub; + char buf[sizeof("64000")]; unsigned short num; REQUIRE(rdata->type == dns_rdatatype_kx); @@ -74,9 +74,9 @@ totext_in_kx(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_in_kx(ARGS_FROMWIRE) { - dns_name_t name; +static inline isc_result_t fromwire_in_kx(ARGS_FROMWIRE) +{ + dns_name_t name; isc_region_t sregion; REQUIRE(type == dns_rdatatype_kx); @@ -97,11 +97,11 @@ fromwire_in_kx(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_in_kx(ARGS_TOWIRE) { - dns_name_t name; +static inline isc_result_t towire_in_kx(ARGS_TOWIRE) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_kx); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -118,13 +118,13 @@ towire_in_kx(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_in_kx(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int compare_in_kx(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; - int order; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -152,10 +152,10 @@ compare_in_kx(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_in_kx(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_in_kx(ARGS_FROMSTRUCT) +{ dns_rdata_in_kx_t *kx = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_kx); REQUIRE(rdclass == dns_rdataclass_in); @@ -171,11 +171,11 @@ fromstruct_in_kx(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_in_kx(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_in_kx(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_in_kx_t *kx = target; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_kx); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -199,8 +199,8 @@ tostruct_in_kx(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_in_kx(ARGS_FREESTRUCT) { +static inline void freestruct_in_kx(ARGS_FREESTRUCT) +{ dns_rdata_in_kx_t *kx = source; REQUIRE(kx != NULL); @@ -214,11 +214,11 @@ freestruct_in_kx(ARGS_FREESTRUCT) { kx->mctx = NULL; } -static inline isc_result_t -additionaldata_in_kx(ARGS_ADDLDATA) { - dns_name_t name; +static inline isc_result_t additionaldata_in_kx(ARGS_ADDLDATA) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_kx); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -231,10 +231,10 @@ additionaldata_in_kx(ARGS_ADDLDATA) { return ((add)(arg, &name, dns_rdatatype_a)); } -static inline isc_result_t -digest_in_kx(ARGS_DIGEST) { +static inline isc_result_t digest_in_kx(ARGS_DIGEST) +{ isc_region_t r1, r2; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_kx); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -249,9 +249,8 @@ digest_in_kx(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_in_kx(ARGS_CHECKOWNER) { - +static inline bool checkowner_in_kx(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_kx); REQUIRE(rdclass == dns_rdataclass_in); @@ -263,9 +262,8 @@ checkowner_in_kx(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_in_kx(ARGS_CHECKNAMES) { - +static inline bool checknames_in_kx(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_kx); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -276,9 +274,9 @@ checknames_in_kx(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_in_kx(ARGS_COMPARE) { +static inline int casecompare_in_kx(ARGS_COMPARE) +{ return (compare_in_kx(rdata1, rdata2)); } -#endif /* RDATA_IN_1_KX_36_C */ +#endif /* RDATA_IN_1_KX_36_C */ diff --git a/lib/dns/rdata/in_1/kx_36.h b/lib/dns/rdata/in_1/kx_36.h index 577a4c49e1..d32d4a1350 100644 --- a/lib/dns/rdata/in_1/kx_36.h +++ b/lib/dns/rdata/in_1/kx_36.h @@ -12,15 +12,14 @@ #ifndef IN_1_KX_36_H #define IN_1_KX_36_H 1 - /*! * \brief Per RFC2230 */ typedef struct dns_rdata_in_kx { - dns_rdatacommon_t common; - isc_mem_t *mctx; - uint16_t preference; - dns_name_t exchange; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint16_t preference; + dns_name_t exchange; } dns_rdata_in_kx_t; #endif /* IN_1_KX_36_H */ diff --git a/lib/dns/rdata/in_1/nimloc_32.c b/lib/dns/rdata/in_1/nimloc_32.c index aba3481c57..a87a0fa538 100644 --- a/lib/dns/rdata/in_1/nimloc_32.c +++ b/lib/dns/rdata/in_1/nimloc_32.c @@ -16,9 +16,8 @@ #define RRTYPE_NIMLOC_ATTRIBUTES (0) -static inline isc_result_t -fromtext_in_nimloc(ARGS_FROMTEXT) { - +static inline isc_result_t fromtext_in_nimloc(ARGS_FROMTEXT) +{ REQUIRE(type == dns_rdatatype_nimloc); REQUIRE(rdclass == dns_rdataclass_in); @@ -31,8 +30,8 @@ fromtext_in_nimloc(ARGS_FROMTEXT) { return (isc_hex_tobuffer(lexer, target, -2)); } -static inline isc_result_t -totext_in_nimloc(ARGS_TOTEXT) { +static inline isc_result_t totext_in_nimloc(ARGS_TOTEXT) +{ isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_nimloc); @@ -47,8 +46,8 @@ totext_in_nimloc(ARGS_TOTEXT) { if (tctx->width == 0) { RETERR(isc_hex_totext(®ion, 60, "", target)); } else { - RETERR(isc_hex_totext(®ion, tctx->width - 2, - tctx->linebreak, target)); + RETERR(isc_hex_totext(®ion, tctx->width - 2, tctx->linebreak, + target)); } if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) { RETERR(str_totext(" )", target)); @@ -56,8 +55,8 @@ totext_in_nimloc(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_in_nimloc(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_in_nimloc(ARGS_FROMWIRE) +{ isc_region_t region; REQUIRE(type == dns_rdatatype_nimloc); @@ -78,8 +77,8 @@ fromwire_in_nimloc(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_in_nimloc(ARGS_TOWIRE) { +static inline isc_result_t towire_in_nimloc(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_nimloc); REQUIRE(rdata->rdclass == dns_rdataclass_in); REQUIRE(rdata->length != 0); @@ -89,8 +88,8 @@ towire_in_nimloc(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_in_nimloc(ARGS_COMPARE) { +static inline int compare_in_nimloc(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -106,8 +105,8 @@ compare_in_nimloc(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_in_nimloc(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_in_nimloc(ARGS_FROMSTRUCT) +{ dns_rdata_in_nimloc_t *nimloc = source; REQUIRE(type == dns_rdatatype_nimloc); @@ -123,10 +122,10 @@ fromstruct_in_nimloc(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, nimloc->nimloc, nimloc->nimloc_len)); } -static inline isc_result_t -tostruct_in_nimloc(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_in_nimloc(ARGS_TOSTRUCT) +{ dns_rdata_in_nimloc_t *nimloc = target; - isc_region_t r; + isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_nimloc); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -148,8 +147,8 @@ tostruct_in_nimloc(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_in_nimloc(ARGS_FREESTRUCT) { +static inline void freestruct_in_nimloc(ARGS_FREESTRUCT) +{ dns_rdata_in_nimloc_t *nimloc = source; REQUIRE(nimloc != NULL); @@ -166,8 +165,8 @@ freestruct_in_nimloc(ARGS_FREESTRUCT) { nimloc->mctx = NULL; } -static inline isc_result_t -additionaldata_in_nimloc(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_in_nimloc(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_nimloc); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -178,8 +177,8 @@ additionaldata_in_nimloc(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_in_nimloc(ARGS_DIGEST) { +static inline isc_result_t digest_in_nimloc(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_nimloc); @@ -190,9 +189,8 @@ digest_in_nimloc(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_in_nimloc(ARGS_CHECKOWNER) { - +static inline bool checkowner_in_nimloc(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_nimloc); REQUIRE(rdclass == dns_rdataclass_in); @@ -204,9 +202,8 @@ checkowner_in_nimloc(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_in_nimloc(ARGS_CHECKNAMES) { - +static inline bool checknames_in_nimloc(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_nimloc); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -217,9 +214,9 @@ checknames_in_nimloc(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_in_nimloc(ARGS_COMPARE) { +static inline int casecompare_in_nimloc(ARGS_COMPARE) +{ return (compare_in_nimloc(rdata1, rdata2)); } -#endif /* RDATA_IN_1_NIMLOC_32_C */ +#endif /* RDATA_IN_1_NIMLOC_32_C */ diff --git a/lib/dns/rdata/in_1/nimloc_32.h b/lib/dns/rdata/in_1/nimloc_32.h index ea2b3c7d4e..d79e1c81b9 100644 --- a/lib/dns/rdata/in_1/nimloc_32.h +++ b/lib/dns/rdata/in_1/nimloc_32.h @@ -12,16 +12,15 @@ #ifndef IN_1_NIMLOC_32_H #define IN_1_NIMLOC_32_H 1 - /*! * \brief http://ana-3.lcs.mit.edu/~jnc/nimrod/dns.txt */ typedef struct dns_rdata_in_nimloc { - dns_rdatacommon_t common; - isc_mem_t *mctx; - unsigned char *nimloc; - uint16_t nimloc_len; + dns_rdatacommon_t common; + isc_mem_t * mctx; + unsigned char * nimloc; + uint16_t nimloc_len; } dns_rdata_in_nimloc_t; #endif /* IN_1_NIMLOC_32_H */ diff --git a/lib/dns/rdata/in_1/nsap-ptr_23.c b/lib/dns/rdata/in_1/nsap-ptr_23.c index 98953e4b37..c432f49a10 100644 --- a/lib/dns/rdata/in_1/nsap-ptr_23.c +++ b/lib/dns/rdata/in_1/nsap-ptr_23.c @@ -16,10 +16,10 @@ #define RRTYPE_NSAP_PTR_ATTRIBUTES (0) -static inline isc_result_t -fromtext_in_nsap_ptr(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_in_nsap_ptr(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; REQUIRE(type == dns_rdatatype_nsap_ptr); @@ -40,12 +40,12 @@ fromtext_in_nsap_ptr(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_in_nsap_ptr(ARGS_TOTEXT) { +static inline isc_result_t totext_in_nsap_ptr(ARGS_TOTEXT) +{ isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; + dns_name_t name; + dns_name_t prefix; + bool sub; REQUIRE(rdata->type == dns_rdatatype_nsap_ptr); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -62,8 +62,8 @@ totext_in_nsap_ptr(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_in_nsap_ptr(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_in_nsap_ptr(ARGS_FROMWIRE) +{ dns_name_t name; REQUIRE(type == dns_rdatatype_nsap_ptr); @@ -78,11 +78,11 @@ fromwire_in_nsap_ptr(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_in_nsap_ptr(ARGS_TOWIRE) { - dns_name_t name; +static inline isc_result_t towire_in_nsap_ptr(ARGS_TOWIRE) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_nsap_ptr); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -96,10 +96,10 @@ towire_in_nsap_ptr(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_in_nsap_ptr(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int compare_in_nsap_ptr(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; @@ -122,10 +122,10 @@ compare_in_nsap_ptr(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_in_nsap_ptr(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_in_nsap_ptr(ARGS_FROMSTRUCT) +{ dns_rdata_in_nsap_ptr_t *nsap_ptr = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_nsap_ptr); REQUIRE(rdclass == dns_rdataclass_in); @@ -140,11 +140,11 @@ fromstruct_in_nsap_ptr(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_in_nsap_ptr(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_in_nsap_ptr(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_in_nsap_ptr_t *nsap_ptr = target; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_nsap_ptr); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -164,8 +164,8 @@ tostruct_in_nsap_ptr(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_in_nsap_ptr(ARGS_FREESTRUCT) { +static inline void freestruct_in_nsap_ptr(ARGS_FREESTRUCT) +{ dns_rdata_in_nsap_ptr_t *nsap_ptr = source; REQUIRE(nsap_ptr != NULL); @@ -179,8 +179,8 @@ freestruct_in_nsap_ptr(ARGS_FREESTRUCT) { nsap_ptr->mctx = NULL; } -static inline isc_result_t -additionaldata_in_nsap_ptr(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_in_nsap_ptr(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_nsap_ptr); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -191,10 +191,10 @@ additionaldata_in_nsap_ptr(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_in_nsap_ptr(ARGS_DIGEST) { +static inline isc_result_t digest_in_nsap_ptr(ARGS_DIGEST) +{ isc_region_t r; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_nsap_ptr); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -206,9 +206,8 @@ digest_in_nsap_ptr(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_in_nsap_ptr(ARGS_CHECKOWNER) { - +static inline bool checkowner_in_nsap_ptr(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_nsap_ptr); REQUIRE(rdclass == dns_rdataclass_in); @@ -220,9 +219,8 @@ checkowner_in_nsap_ptr(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_in_nsap_ptr(ARGS_CHECKNAMES) { - +static inline bool checknames_in_nsap_ptr(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_nsap_ptr); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -233,9 +231,9 @@ checknames_in_nsap_ptr(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_in_nsap_ptr(ARGS_COMPARE) { +static inline int casecompare_in_nsap_ptr(ARGS_COMPARE) +{ return (compare_in_nsap_ptr(rdata1, rdata2)); } -#endif /* RDATA_IN_1_NSAP_PTR_23_C */ +#endif /* RDATA_IN_1_NSAP_PTR_23_C */ diff --git a/lib/dns/rdata/in_1/nsap-ptr_23.h b/lib/dns/rdata/in_1/nsap-ptr_23.h index 4880a09e64..d6be1dc18f 100644 --- a/lib/dns/rdata/in_1/nsap-ptr_23.h +++ b/lib/dns/rdata/in_1/nsap-ptr_23.h @@ -12,14 +12,13 @@ #ifndef IN_1_NSAP_PTR_23_H #define IN_1_NSAP_PTR_23_H 1 - /*! * \brief Per RFC1348. Obsoleted in RFC 1706 - use PTR instead. */ typedef struct dns_rdata_in_nsap_ptr { - dns_rdatacommon_t common; - isc_mem_t *mctx; - dns_name_t owner; + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t owner; } dns_rdata_in_nsap_ptr_t; #endif /* IN_1_NSAP_PTR_23_H */ diff --git a/lib/dns/rdata/in_1/nsap_22.c b/lib/dns/rdata/in_1/nsap_22.c index c08473e17a..e54ab4c5bc 100644 --- a/lib/dns/rdata/in_1/nsap_22.c +++ b/lib/dns/rdata/in_1/nsap_22.c @@ -16,14 +16,14 @@ #define RRTYPE_NSAP_ATTRIBUTES (0) -static inline isc_result_t -fromtext_in_nsap(ARGS_FROMTEXT) { - isc_token_t token; +static inline isc_result_t fromtext_in_nsap(ARGS_FROMTEXT) +{ + isc_token_t token; isc_textregion_t *sr; - int n; - bool valid = false; - int digits = 0; - unsigned char c = 0; + int n; + bool valid = false; + int digits = 0; + unsigned char c = 0; REQUIRE(type == dns_rdatatype_nsap); REQUIRE(rdclass == dns_rdataclass_in); @@ -65,10 +65,10 @@ fromtext_in_nsap(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_in_nsap(ARGS_TOTEXT) { +static inline isc_result_t totext_in_nsap(ARGS_TOTEXT) +{ isc_region_t region; - char buf[sizeof("xx")]; + char buf[sizeof("xx")]; REQUIRE(rdata->type == dns_rdatatype_nsap); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -86,8 +86,8 @@ totext_in_nsap(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_in_nsap(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_in_nsap(ARGS_FROMWIRE) +{ isc_region_t region; REQUIRE(type == dns_rdatatype_nsap); @@ -107,8 +107,8 @@ fromwire_in_nsap(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_in_nsap(ARGS_TOWIRE) { +static inline isc_result_t towire_in_nsap(ARGS_TOWIRE) +{ REQUIRE(rdata->type == dns_rdatatype_nsap); REQUIRE(rdata->rdclass == dns_rdataclass_in); REQUIRE(rdata->length != 0); @@ -118,8 +118,8 @@ towire_in_nsap(ARGS_TOWIRE) { return (mem_tobuffer(target, rdata->data, rdata->length)); } -static inline int -compare_in_nsap(ARGS_COMPARE) { +static inline int compare_in_nsap(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -135,8 +135,8 @@ compare_in_nsap(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_in_nsap(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_in_nsap(ARGS_FROMSTRUCT) +{ dns_rdata_in_nsap_t *nsap = source; REQUIRE(type == dns_rdatatype_nsap); @@ -152,10 +152,10 @@ fromstruct_in_nsap(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, nsap->nsap, nsap->nsap_len)); } -static inline isc_result_t -tostruct_in_nsap(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_in_nsap(ARGS_TOSTRUCT) +{ dns_rdata_in_nsap_t *nsap = target; - isc_region_t r; + isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_nsap); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -176,8 +176,8 @@ tostruct_in_nsap(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_in_nsap(ARGS_FREESTRUCT) { +static inline void freestruct_in_nsap(ARGS_FREESTRUCT) +{ dns_rdata_in_nsap_t *nsap = source; REQUIRE(nsap != NULL); @@ -192,8 +192,8 @@ freestruct_in_nsap(ARGS_FREESTRUCT) { nsap->mctx = NULL; } -static inline isc_result_t -additionaldata_in_nsap(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_in_nsap(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_nsap); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -204,8 +204,8 @@ additionaldata_in_nsap(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_in_nsap(ARGS_DIGEST) { +static inline isc_result_t digest_in_nsap(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_nsap); @@ -216,9 +216,8 @@ digest_in_nsap(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_in_nsap(ARGS_CHECKOWNER) { - +static inline bool checkowner_in_nsap(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_nsap); REQUIRE(rdclass == dns_rdataclass_in); @@ -230,9 +229,8 @@ checkowner_in_nsap(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_in_nsap(ARGS_CHECKNAMES) { - +static inline bool checknames_in_nsap(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_nsap); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -243,9 +241,9 @@ checknames_in_nsap(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_in_nsap(ARGS_COMPARE) { +static inline int casecompare_in_nsap(ARGS_COMPARE) +{ return (compare_in_nsap(rdata1, rdata2)); } -#endif /* RDATA_IN_1_NSAP_22_C */ +#endif /* RDATA_IN_1_NSAP_22_C */ diff --git a/lib/dns/rdata/in_1/nsap_22.h b/lib/dns/rdata/in_1/nsap_22.h index 79599efd08..6dd3e29a18 100644 --- a/lib/dns/rdata/in_1/nsap_22.h +++ b/lib/dns/rdata/in_1/nsap_22.h @@ -12,15 +12,14 @@ #ifndef IN_1_NSAP_22_H #define IN_1_NSAP_22_H 1 - /*! * \brief Per RFC1706 */ typedef struct dns_rdata_in_nsap { - dns_rdatacommon_t common; - isc_mem_t *mctx; - unsigned char *nsap; - uint16_t nsap_len; + dns_rdatacommon_t common; + isc_mem_t * mctx; + unsigned char * nsap; + uint16_t nsap_len; } dns_rdata_in_nsap_t; #endif /* IN_1_NSAP_22_H */ diff --git a/lib/dns/rdata/in_1/px_26.c b/lib/dns/rdata/in_1/px_26.c index bb69223f86..5b07f46549 100644 --- a/lib/dns/rdata/in_1/px_26.c +++ b/lib/dns/rdata/in_1/px_26.c @@ -16,10 +16,10 @@ #define RRTYPE_PX_ATTRIBUTES (0) -static inline isc_result_t -fromtext_in_px(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_in_px(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; REQUIRE(type == dns_rdatatype_px); @@ -61,13 +61,13 @@ fromtext_in_px(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_in_px(ARGS_TOTEXT) { - isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; - char buf[sizeof("64000")]; +static inline isc_result_t totext_in_px(ARGS_TOTEXT) +{ + isc_region_t region; + dns_name_t name; + dns_name_t prefix; + bool sub; + char buf[sizeof("64000")]; unsigned short num; REQUIRE(rdata->type == dns_rdatatype_px); @@ -101,12 +101,12 @@ totext_in_px(ARGS_TOTEXT) { */ dns_name_fromregion(&name, ®ion); sub = name_prefix(&name, tctx->origin, &prefix); - return(dns_name_totext(&prefix, sub, target)); + return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_in_px(ARGS_FROMWIRE) { - dns_name_t name; +static inline isc_result_t fromwire_in_px(ARGS_FROMWIRE) +{ + dns_name_t name; isc_region_t sregion; REQUIRE(type == dns_rdatatype_px); @@ -139,11 +139,11 @@ fromwire_in_px(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_in_px(ARGS_TOWIRE) { - dns_name_t name; +static inline isc_result_t towire_in_px(ARGS_TOWIRE) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t region; + isc_region_t region; REQUIRE(rdata->type == dns_rdatatype_px); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -173,13 +173,13 @@ towire_in_px(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_in_px(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int compare_in_px(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; - int order; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -217,10 +217,10 @@ compare_in_px(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_in_px(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_in_px(ARGS_FROMSTRUCT) +{ dns_rdata_in_px_t *px = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_px); REQUIRE(rdclass == dns_rdataclass_in); @@ -238,12 +238,12 @@ fromstruct_in_px(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_in_px(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_in_px(ARGS_TOSTRUCT) +{ dns_rdata_in_px_t *px = target; - dns_name_t name; - isc_region_t region; - isc_result_t result; + dns_name_t name; + isc_region_t region; + isc_result_t result; REQUIRE(rdata->type == dns_rdatatype_px); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -274,13 +274,13 @@ tostruct_in_px(ARGS_TOSTRUCT) { px->mctx = mctx; return (result); - cleanup: +cleanup: dns_name_free(&px->map822, mctx); return (ISC_R_NOMEMORY); } -static inline void -freestruct_in_px(ARGS_FREESTRUCT) { +static inline void freestruct_in_px(ARGS_FREESTRUCT) +{ dns_rdata_in_px_t *px = source; REQUIRE(px != NULL); @@ -295,8 +295,8 @@ freestruct_in_px(ARGS_FREESTRUCT) { px->mctx = NULL; } -static inline isc_result_t -additionaldata_in_px(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_in_px(ARGS_ADDLDATA) +{ REQUIRE(rdata->type == dns_rdatatype_px); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -307,10 +307,10 @@ additionaldata_in_px(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_in_px(ARGS_DIGEST) { +static inline isc_result_t digest_in_px(ARGS_DIGEST) +{ isc_region_t r1, r2; - dns_name_t name; + dns_name_t name; isc_result_t result; REQUIRE(rdata->type == dns_rdatatype_px); @@ -335,9 +335,8 @@ digest_in_px(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_in_px(ARGS_CHECKOWNER) { - +static inline bool checkowner_in_px(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_px); REQUIRE(rdclass == dns_rdataclass_in); @@ -349,9 +348,8 @@ checkowner_in_px(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_in_px(ARGS_CHECKNAMES) { - +static inline bool checknames_in_px(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_px); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -362,9 +360,9 @@ checknames_in_px(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_in_px(ARGS_COMPARE) { +static inline int casecompare_in_px(ARGS_COMPARE) +{ return (compare_in_px(rdata1, rdata2)); } -#endif /* RDATA_IN_1_PX_26_C */ +#endif /* RDATA_IN_1_PX_26_C */ diff --git a/lib/dns/rdata/in_1/px_26.h b/lib/dns/rdata/in_1/px_26.h index 3cab1f1512..a81da321cc 100644 --- a/lib/dns/rdata/in_1/px_26.h +++ b/lib/dns/rdata/in_1/px_26.h @@ -12,16 +12,15 @@ #ifndef IN_1_PX_26_H #define IN_1_PX_26_H 1 - /*! * \brief Per RFC2163 */ typedef struct dns_rdata_in_px { - dns_rdatacommon_t common; - isc_mem_t *mctx; - uint16_t preference; - dns_name_t map822; - dns_name_t mapx400; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint16_t preference; + dns_name_t map822; + dns_name_t mapx400; } dns_rdata_in_px_t; #endif /* IN_1_PX_26_H */ diff --git a/lib/dns/rdata/in_1/srv_33.c b/lib/dns/rdata/in_1/srv_33.c index 385bdaa049..a2afe3af22 100644 --- a/lib/dns/rdata/in_1/srv_33.c +++ b/lib/dns/rdata/in_1/srv_33.c @@ -16,12 +16,12 @@ #define RRTYPE_SRV_ATTRIBUTES (0) -static inline isc_result_t -fromtext_in_srv(ARGS_FROMTEXT) { - isc_token_t token; - dns_name_t name; +static inline isc_result_t fromtext_in_srv(ARGS_FROMTEXT) +{ + isc_token_t token; + dns_name_t name; isc_buffer_t buffer; - bool ok; + bool ok; REQUIRE(type == dns_rdatatype_srv); REQUIRE(rdclass == dns_rdataclass_in); @@ -77,13 +77,13 @@ fromtext_in_srv(ARGS_FROMTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -totext_in_srv(ARGS_TOTEXT) { - isc_region_t region; - dns_name_t name; - dns_name_t prefix; - bool sub; - char buf[sizeof("64000")]; +static inline isc_result_t totext_in_srv(ARGS_TOTEXT) +{ + isc_region_t region; + dns_name_t name; + dns_name_t prefix; + bool sub; + char buf[sizeof("64000")]; unsigned short num; REQUIRE(rdata->type == dns_rdatatype_srv); @@ -129,9 +129,9 @@ totext_in_srv(ARGS_TOTEXT) { return (dns_name_totext(&prefix, sub, target)); } -static inline isc_result_t -fromwire_in_srv(ARGS_FROMWIRE) { - dns_name_t name; +static inline isc_result_t fromwire_in_srv(ARGS_FROMWIRE) +{ + dns_name_t name; isc_region_t sr; REQUIRE(type == dns_rdatatype_srv); @@ -159,11 +159,11 @@ fromwire_in_srv(ARGS_FROMWIRE) { return (dns_name_fromwire(&name, source, dctx, options, target)); } -static inline isc_result_t -towire_in_srv(ARGS_TOWIRE) { - dns_name_t name; +static inline isc_result_t towire_in_srv(ARGS_TOWIRE) +{ + dns_name_t name; dns_offsets_t offsets; - isc_region_t sr; + isc_region_t sr; REQUIRE(rdata->type == dns_rdatatype_srv); REQUIRE(rdata->length != 0); @@ -184,13 +184,13 @@ towire_in_srv(ARGS_TOWIRE) { return (dns_name_towire(&name, cctx, target)); } -static inline int -compare_in_srv(ARGS_COMPARE) { - dns_name_t name1; - dns_name_t name2; +static inline int compare_in_srv(ARGS_COMPARE) +{ + dns_name_t name1; + dns_name_t name2; isc_region_t region1; isc_region_t region2; - int order; + int order; REQUIRE(rdata1->type == rdata2->type); REQUIRE(rdata1->rdclass == rdata2->rdclass); @@ -224,10 +224,10 @@ compare_in_srv(ARGS_COMPARE) { return (dns_name_rdatacompare(&name1, &name2)); } -static inline isc_result_t -fromstruct_in_srv(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_in_srv(ARGS_FROMSTRUCT) +{ dns_rdata_in_srv_t *srv = source; - isc_region_t region; + isc_region_t region; REQUIRE(type == dns_rdatatype_srv); REQUIRE(rdclass == dns_rdataclass_in); @@ -245,11 +245,11 @@ fromstruct_in_srv(ARGS_FROMSTRUCT) { return (isc_buffer_copyregion(target, ®ion)); } -static inline isc_result_t -tostruct_in_srv(ARGS_TOSTRUCT) { - isc_region_t region; +static inline isc_result_t tostruct_in_srv(ARGS_TOSTRUCT) +{ + isc_region_t region; dns_rdata_in_srv_t *srv = target; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->rdclass == dns_rdataclass_in); REQUIRE(rdata->type == dns_rdatatype_srv); @@ -275,8 +275,8 @@ tostruct_in_srv(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_in_srv(ARGS_FREESTRUCT) { +static inline void freestruct_in_srv(ARGS_FREESTRUCT) +{ dns_rdata_in_srv_t *srv = source; REQUIRE(srv != NULL); @@ -290,15 +290,15 @@ freestruct_in_srv(ARGS_FREESTRUCT) { srv->mctx = NULL; } -static inline isc_result_t -additionaldata_in_srv(ARGS_ADDLDATA) { - char buf[sizeof("_65000._tcp")]; +static inline isc_result_t additionaldata_in_srv(ARGS_ADDLDATA) +{ + char buf[sizeof("_65000._tcp")]; dns_fixedname_t fixed; - dns_name_t name; - dns_offsets_t offsets; - isc_region_t region; - uint16_t port; - isc_result_t result; + dns_name_t name; + dns_offsets_t offsets; + isc_region_t region; + uint16_t port; + isc_result_t result; REQUIRE(rdata->type == dns_rdatatype_srv); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -319,8 +319,8 @@ additionaldata_in_srv(ARGS_ADDLDATA) { dns_fixedname_init(&fixed); snprintf(buf, sizeof(buf), "_%u._tcp", port); - result = dns_name_fromstring2(dns_fixedname_name(&fixed), buf, NULL, - 0, NULL); + result = dns_name_fromstring2(dns_fixedname_name(&fixed), buf, NULL, 0, + NULL); if (result != ISC_R_SUCCESS) return (ISC_R_SUCCESS); @@ -332,10 +332,10 @@ additionaldata_in_srv(ARGS_ADDLDATA) { return ((add)(arg, dns_fixedname_name(&fixed), dns_rdatatype_tlsa)); } -static inline isc_result_t -digest_in_srv(ARGS_DIGEST) { +static inline isc_result_t digest_in_srv(ARGS_DIGEST) +{ isc_region_t r1, r2; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_srv); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -350,9 +350,8 @@ digest_in_srv(ARGS_DIGEST) { return (dns_name_digest(&name, digest, arg)); } -static inline bool -checkowner_in_srv(ARGS_CHECKOWNER) { - +static inline bool checkowner_in_srv(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_srv); REQUIRE(rdclass == dns_rdataclass_in); @@ -364,10 +363,10 @@ checkowner_in_srv(ARGS_CHECKOWNER) { return (true); } -static inline bool -checknames_in_srv(ARGS_CHECKNAMES) { +static inline bool checknames_in_srv(ARGS_CHECKNAMES) +{ isc_region_t region; - dns_name_t name; + dns_name_t name; REQUIRE(rdata->type == dns_rdatatype_srv); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -386,9 +385,9 @@ checknames_in_srv(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_in_srv(ARGS_COMPARE) { +static inline int casecompare_in_srv(ARGS_COMPARE) +{ return (compare_in_srv(rdata1, rdata2)); } -#endif /* RDATA_IN_1_SRV_33_C */ +#endif /* RDATA_IN_1_SRV_33_C */ diff --git a/lib/dns/rdata/in_1/srv_33.h b/lib/dns/rdata/in_1/srv_33.h index 78d5ba9c20..8004d19cce 100644 --- a/lib/dns/rdata/in_1/srv_33.h +++ b/lib/dns/rdata/in_1/srv_33.h @@ -16,12 +16,12 @@ * \brief Per RFC2782 */ typedef struct dns_rdata_in_srv { - dns_rdatacommon_t common; - isc_mem_t *mctx; - uint16_t priority; - uint16_t weight; - uint16_t port; - dns_name_t target; + dns_rdatacommon_t common; + isc_mem_t * mctx; + uint16_t priority; + uint16_t weight; + uint16_t port; + dns_name_t target; } dns_rdata_in_srv_t; #endif /* IN_1_SRV_33_H */ diff --git a/lib/dns/rdata/in_1/wks_11.c b/lib/dns/rdata/in_1/wks_11.c index dc52eec3f5..61751bafe3 100644 --- a/lib/dns/rdata/in_1/wks_11.c +++ b/lib/dns/rdata/in_1/wks_11.c @@ -23,9 +23,11 @@ * Redefine CHECK here so cppcheck "sees" the define. */ #ifndef CHECK -#define CHECK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) goto cleanup; \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto cleanup; \ } while (0) #endif @@ -33,12 +35,15 @@ static isc_mutex_t wks_lock; -static void init_lock(void) { +static void +init_lock(void) +{ isc_mutex_init(&wks_lock); } static bool -mygetprotobyname(const char *name, long *proto) { +mygetprotobyname(const char *name, long *proto) +{ struct protoent *pe; LOCK(&wks_lock); @@ -50,7 +55,8 @@ mygetprotobyname(const char *name, long *proto) { } static bool -mygetservbyname(const char *name, const char *proto, long *port) { +mygetservbyname(const char *name, const char *proto, long *port) +{ struct servent *se; LOCK(&wks_lock); @@ -67,22 +73,22 @@ mygetservbyname(const char *name, const char *proto, long *port) { #include #endif -static inline isc_result_t -fromtext_in_wks(ARGS_FROMTEXT) { +static inline isc_result_t fromtext_in_wks(ARGS_FROMTEXT) +{ static isc_once_t once = ISC_ONCE_INIT; - isc_token_t token; - isc_region_t region; - struct in_addr addr; - char *e; - long proto; - unsigned char bm[8*1024]; /* 64k bits */ - long port; - long maxport = -1; - const char *ps = NULL; - unsigned int n; - char service[32]; - int i; - isc_result_t result; + isc_token_t token; + isc_region_t region; + struct in_addr addr; + char * e; + long proto; + unsigned char bm[8 * 1024]; /* 64k bits */ + long port; + long maxport = -1; + const char * ps = NULL; + unsigned int n; + char service[32]; + int i; + isc_result_t result; REQUIRE(type == dns_rdatatype_wks); REQUIRE(rdclass == dns_rdataclass_in); @@ -97,13 +103,13 @@ fromtext_in_wks(ARGS_FROMTEXT) { #ifdef _WIN32 { - WORD wVersionRequested; + WORD wVersionRequested; WSADATA wsaData; - int err; + int err; wVersionRequested = MAKEWORD(2, 0); - err = WSAStartup(wVersionRequested, &wsaData ); + err = WSAStartup(wVersionRequested, &wsaData); if (err != 0) return (ISC_R_FAILURE); } @@ -113,7 +119,7 @@ fromtext_in_wks(ARGS_FROMTEXT) { * IPv4 dotted quad. */ CHECK(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string, - false)); + false)); isc_buffer_availableregion(target, ®ion); if (inet_pton(AF_INET, DNS_AS_STR(token), &addr) != 1) @@ -127,7 +133,7 @@ fromtext_in_wks(ARGS_FROMTEXT) { * Protocol. */ CHECK(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string, - false)); + false)); proto = strtol(DNS_AS_STR(token), &e, 10); if (*e == 0) @@ -148,7 +154,7 @@ fromtext_in_wks(ARGS_FROMTEXT) { memset(bm, 0, sizeof(bm)); do { CHECK(isc_lex_getmastertoken(lexer, &token, - isc_tokentype_string, true)); + isc_tokentype_string, true)); if (token.type != isc_tokentype_string) break; @@ -158,8 +164,8 @@ fromtext_in_wks(ARGS_FROMTEXT) { */ strlcpy(service, DNS_AS_STR(token), sizeof(service)); for (i = strlen(service) - 1; i >= 0; i--) - if (isupper(service[i]&0xff)) - service[i] = tolower(service[i]&0xff); + if (isupper(service[i] & 0xff)) + service[i] = tolower(service[i] & 0xff); port = strtol(DNS_AS_STR(token), &e, 10); if (*e == 0) @@ -182,7 +188,7 @@ fromtext_in_wks(ARGS_FROMTEXT) { n = (maxport + 8) / 8; result = mem_tobuffer(target, bm, n); - cleanup: +cleanup: #ifdef _WIN32 WSACleanup(); #endif @@ -190,12 +196,12 @@ fromtext_in_wks(ARGS_FROMTEXT) { return (result); } -static inline isc_result_t -totext_in_wks(ARGS_TOTEXT) { - isc_region_t sr; +static inline isc_result_t totext_in_wks(ARGS_TOTEXT) +{ + isc_region_t sr; unsigned short proto; - char buf[sizeof("65535")]; - unsigned int i, j; + char buf[sizeof("65535")]; + unsigned int i, j; UNUSED(tctx); @@ -213,13 +219,13 @@ totext_in_wks(ARGS_TOTEXT) { RETERR(str_totext(buf, target)); isc_region_consume(&sr, 1); - INSIST(sr.length <= 8*1024); + INSIST(sr.length <= 8 * 1024); for (i = 0; i < sr.length; i++) { if (sr.base[i] != 0) for (j = 0; j < 8; j++) if ((sr.base[i] & (0x80 >> j)) != 0) { - snprintf(buf, sizeof(buf), - "%u", i * 8 + j); + snprintf(buf, sizeof(buf), "%u", + i * 8 + j); RETERR(str_totext(" ", target)); RETERR(str_totext(buf, target)); } @@ -228,8 +234,8 @@ totext_in_wks(ARGS_TOTEXT) { return (ISC_R_SUCCESS); } -static inline isc_result_t -fromwire_in_wks(ARGS_FROMWIRE) { +static inline isc_result_t fromwire_in_wks(ARGS_FROMWIRE) +{ isc_region_t sr; isc_region_t tr; @@ -258,8 +264,8 @@ fromwire_in_wks(ARGS_FROMWIRE) { return (ISC_R_SUCCESS); } -static inline isc_result_t -towire_in_wks(ARGS_TOWIRE) { +static inline isc_result_t towire_in_wks(ARGS_TOWIRE) +{ isc_region_t sr; UNUSED(cctx); @@ -272,8 +278,8 @@ towire_in_wks(ARGS_TOWIRE) { return (mem_tobuffer(target, sr.base, sr.length)); } -static inline int -compare_in_wks(ARGS_COMPARE) { +static inline int compare_in_wks(ARGS_COMPARE) +{ isc_region_t r1; isc_region_t r2; @@ -289,18 +295,18 @@ compare_in_wks(ARGS_COMPARE) { return (isc_region_compare(&r1, &r2)); } -static inline isc_result_t -fromstruct_in_wks(ARGS_FROMSTRUCT) { +static inline isc_result_t fromstruct_in_wks(ARGS_FROMSTRUCT) +{ dns_rdata_in_wks_t *wks = source; - uint32_t a; + uint32_t a; REQUIRE(type == dns_rdatatype_wks); REQUIRE(rdclass == dns_rdataclass_in); REQUIRE(wks != NULL); REQUIRE(wks->common.rdtype == type); REQUIRE(wks->common.rdclass == rdclass); - REQUIRE((wks->map != NULL && wks->map_len <= 8*1024) || - wks->map_len == 0); + REQUIRE((wks->map != NULL && wks->map_len <= 8 * 1024) || + wks->map_len == 0); UNUSED(type); UNUSED(rdclass); @@ -311,11 +317,11 @@ fromstruct_in_wks(ARGS_FROMSTRUCT) { return (mem_tobuffer(target, wks->map, wks->map_len)); } -static inline isc_result_t -tostruct_in_wks(ARGS_TOSTRUCT) { +static inline isc_result_t tostruct_in_wks(ARGS_TOSTRUCT) +{ dns_rdata_in_wks_t *wks = target; - uint32_t n; - isc_region_t region; + uint32_t n; + isc_region_t region; REQUIRE(wks != NULL); REQUIRE(rdata->type == dns_rdatatype_wks); @@ -340,8 +346,8 @@ tostruct_in_wks(ARGS_TOSTRUCT) { return (ISC_R_SUCCESS); } -static inline void -freestruct_in_wks(ARGS_FREESTRUCT) { +static inline void freestruct_in_wks(ARGS_FREESTRUCT) +{ dns_rdata_in_wks_t *wks = source; REQUIRE(wks != NULL); @@ -356,8 +362,8 @@ freestruct_in_wks(ARGS_FREESTRUCT) { wks->mctx = NULL; } -static inline isc_result_t -additionaldata_in_wks(ARGS_ADDLDATA) { +static inline isc_result_t additionaldata_in_wks(ARGS_ADDLDATA) +{ UNUSED(rdata); UNUSED(add); UNUSED(arg); @@ -368,8 +374,8 @@ additionaldata_in_wks(ARGS_ADDLDATA) { return (ISC_R_SUCCESS); } -static inline isc_result_t -digest_in_wks(ARGS_DIGEST) { +static inline isc_result_t digest_in_wks(ARGS_DIGEST) +{ isc_region_t r; REQUIRE(rdata->type == dns_rdatatype_wks); @@ -380,9 +386,8 @@ digest_in_wks(ARGS_DIGEST) { return ((digest)(arg, &r)); } -static inline bool -checkowner_in_wks(ARGS_CHECKOWNER) { - +static inline bool checkowner_in_wks(ARGS_CHECKOWNER) +{ REQUIRE(type == dns_rdatatype_wks); REQUIRE(rdclass == dns_rdataclass_in); @@ -392,9 +397,8 @@ checkowner_in_wks(ARGS_CHECKOWNER) { return (dns_name_ishostname(name, wildcard)); } -static inline bool -checknames_in_wks(ARGS_CHECKNAMES) { - +static inline bool checknames_in_wks(ARGS_CHECKNAMES) +{ REQUIRE(rdata->type == dns_rdatatype_wks); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -405,9 +409,9 @@ checknames_in_wks(ARGS_CHECKNAMES) { return (true); } -static inline int -casecompare_in_wks(ARGS_COMPARE) { +static inline int casecompare_in_wks(ARGS_COMPARE) +{ return (compare_in_wks(rdata1, rdata2)); } -#endif /* RDATA_IN_1_WKS_11_C */ +#endif /* RDATA_IN_1_WKS_11_C */ diff --git a/lib/dns/rdata/in_1/wks_11.h b/lib/dns/rdata/in_1/wks_11.h index d7883ddbe2..91a816f48d 100644 --- a/lib/dns/rdata/in_1/wks_11.h +++ b/lib/dns/rdata/in_1/wks_11.h @@ -12,14 +12,13 @@ #ifndef IN_1_WKS_11_H #define IN_1_WKS_11_H 1 - -typedef struct dns_rdata_in_wks { - dns_rdatacommon_t common; - isc_mem_t *mctx; - struct in_addr in_addr; - uint16_t protocol; - unsigned char *map; - uint16_t map_len; +typedef struct dns_rdata_in_wks { + dns_rdatacommon_t common; + isc_mem_t * mctx; + struct in_addr in_addr; + uint16_t protocol; + unsigned char * map; + uint16_t map_len; } dns_rdata_in_wks_t; #endif /* IN_1_WKS_11_H */ diff --git a/lib/dns/rdata/rdatastructpre.h b/lib/dns/rdata/rdatastructpre.h index d09cb27a01..74637dde94 100644 --- a/lib/dns/rdata/rdatastructpre.h +++ b/lib/dns/rdata/rdatastructpre.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef DNS_RDATASTRUCT_H #define DNS_RDATASTRUCT_H 1 @@ -22,14 +21,14 @@ ISC_LANG_BEGINDECLS typedef struct dns_rdatacommon { - dns_rdataclass_t rdclass; - dns_rdatatype_t rdtype; - ISC_LINK(struct dns_rdatacommon) link; + dns_rdataclass_t rdclass; + dns_rdatatype_t rdtype; + ISC_LINK(struct dns_rdatacommon) link; } dns_rdatacommon_t; #define DNS_RDATACOMMON_INIT(_data, _rdtype, _rdclass) \ - do { \ - (_data)->common.rdtype = (_rdtype); \ - (_data)->common.rdclass = (_rdclass); \ + do { \ + (_data)->common.rdtype = (_rdtype); \ + (_data)->common.rdclass = (_rdclass); \ ISC_LINK_INIT(&(_data)->common, link); \ } while (0) diff --git a/lib/dns/rdata/rdatastructsuf.h b/lib/dns/rdata/rdatastructsuf.h index d3a8e46b46..421ea98af6 100644 --- a/lib/dns/rdata/rdatastructsuf.h +++ b/lib/dns/rdata/rdatastructsuf.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - ISC_LANG_ENDDECLS #endif /* DNS_RDATASTRUCT_H */ diff --git a/lib/dns/rdatalist.c b/lib/dns/rdatalist.c index ade3274576..e220a29942 100644 --- a/lib/dns/rdatalist.c +++ b/lib/dns/rdatalist.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -41,12 +40,12 @@ static dns_rdatasetmethods_t methods = { NULL, /* clearprefetch */ isc__rdatalist_setownercase, isc__rdatalist_getownercase, - NULL /* addglue */ + NULL /* addglue */ }; void -dns_rdatalist_init(dns_rdatalist_t *rdatalist) { - +dns_rdatalist_init(dns_rdatalist_t *rdatalist) +{ REQUIRE(rdatalist != NULL); /* @@ -67,8 +66,7 @@ dns_rdatalist_init(dns_rdatalist_t *rdatalist) { } isc_result_t -dns_rdatalist_tordataset(dns_rdatalist_t *rdatalist, - dns_rdataset_t *rdataset) +dns_rdatalist_tordataset(dns_rdatalist_t *rdatalist, dns_rdataset_t *rdataset) { /* * Make 'rdataset' refer to the rdata in 'rdatalist'. @@ -76,7 +74,7 @@ dns_rdatalist_tordataset(dns_rdatalist_t *rdatalist, REQUIRE(rdatalist != NULL); REQUIRE(DNS_RDATASET_VALID(rdataset)); - REQUIRE(! dns_rdataset_isassociated(rdataset)); + REQUIRE(!dns_rdataset_isassociated(rdataset)); /* Check if dns_rdatalist_init has was called. */ REQUIRE(rdatalist->upper[0] == 0xea); @@ -97,7 +95,7 @@ dns_rdatalist_tordataset(dns_rdatalist_t *rdatalist, } isc_result_t -dns_rdatalist_fromrdataset(dns_rdataset_t *rdataset, +dns_rdatalist_fromrdataset(dns_rdataset_t * rdataset, dns_rdatalist_t **rdatalist) { REQUIRE(rdatalist != NULL && rdataset != NULL); @@ -107,12 +105,14 @@ dns_rdatalist_fromrdataset(dns_rdataset_t *rdataset, } void -isc__rdatalist_disassociate(dns_rdataset_t *rdataset) { +isc__rdatalist_disassociate(dns_rdataset_t *rdataset) +{ UNUSED(rdataset); } isc_result_t -isc__rdatalist_first(dns_rdataset_t *rdataset) { +isc__rdatalist_first(dns_rdataset_t *rdataset) +{ dns_rdatalist_t *rdatalist; rdatalist = rdataset->private1; @@ -125,7 +125,8 @@ isc__rdatalist_first(dns_rdataset_t *rdataset) { } isc_result_t -isc__rdatalist_next(dns_rdataset_t *rdataset) { +isc__rdatalist_next(dns_rdataset_t *rdataset) +{ dns_rdata_t *rdata; REQUIRE(rdataset != NULL); @@ -143,7 +144,8 @@ isc__rdatalist_next(dns_rdataset_t *rdataset) { } void -isc__rdatalist_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) { +isc__rdatalist_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) +{ dns_rdata_t *list_rdata; REQUIRE(rdataset != NULL); @@ -155,8 +157,8 @@ isc__rdatalist_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) { } void -isc__rdatalist_clone(dns_rdataset_t *source, dns_rdataset_t *target) { - +isc__rdatalist_clone(dns_rdataset_t *source, dns_rdataset_t *target) +{ REQUIRE(source != NULL); REQUIRE(target != NULL); @@ -169,18 +171,18 @@ isc__rdatalist_clone(dns_rdataset_t *source, dns_rdataset_t *target) { } unsigned int -isc__rdatalist_count(dns_rdataset_t *rdataset) { +isc__rdatalist_count(dns_rdataset_t *rdataset) +{ dns_rdatalist_t *rdatalist; - dns_rdata_t *rdata; - unsigned int count; + dns_rdata_t * rdata; + unsigned int count; REQUIRE(rdataset != NULL); rdatalist = rdataset->private1; count = 0; - for (rdata = ISC_LIST_HEAD(rdatalist->rdata); - rdata != NULL; + for (rdata = ISC_LIST_HEAD(rdatalist->rdata); rdata != NULL; rdata = ISC_LIST_NEXT(rdata, link)) count++; @@ -188,18 +190,17 @@ isc__rdatalist_count(dns_rdataset_t *rdataset) { } isc_result_t -isc__rdatalist_addnoqname(dns_rdataset_t *rdataset, const dns_name_t *name) { +isc__rdatalist_addnoqname(dns_rdataset_t *rdataset, const dns_name_t *name) +{ dns_rdataset_t *neg = NULL; dns_rdataset_t *negsig = NULL; dns_rdataset_t *rdset; - dns_ttl_t ttl; + dns_ttl_t ttl; REQUIRE(rdataset != NULL); - for (rdset = ISC_LIST_HEAD(name->list); - rdset != NULL; - rdset = ISC_LIST_NEXT(rdset, link)) - { + for (rdset = ISC_LIST_HEAD(name->list); rdset != NULL; + rdset = ISC_LIST_NEXT(rdset, link)) { if (rdset->rdclass != rdataset->rdclass) continue; if (rdset->type == dns_rdatatype_nsec || @@ -209,10 +210,8 @@ isc__rdatalist_addnoqname(dns_rdataset_t *rdataset, const dns_name_t *name) { if (neg == NULL) return (ISC_R_NOTFOUND); - for (rdset = ISC_LIST_HEAD(name->list); - rdset != NULL; - rdset = ISC_LIST_NEXT(rdset, link)) - { + for (rdset = ISC_LIST_HEAD(name->list); rdset != NULL; + rdset = ISC_LIST_NEXT(rdset, link)) { if (rdset->type == dns_rdatatype_rrsig && rdset->covers == neg->type) negsig = rdset; @@ -238,9 +237,9 @@ isc_result_t isc__rdatalist_getnoqname(dns_rdataset_t *rdataset, dns_name_t *name, dns_rdataset_t *neg, dns_rdataset_t *negsig) { - dns_rdataclass_t rdclass; - dns_rdataset_t *tneg = NULL; - dns_rdataset_t *tnegsig = NULL; + dns_rdataclass_t rdclass; + dns_rdataset_t * tneg = NULL; + dns_rdataset_t * tnegsig = NULL; const dns_name_t *noqname; REQUIRE(rdataset != NULL); @@ -249,12 +248,10 @@ isc__rdatalist_getnoqname(dns_rdataset_t *rdataset, dns_name_t *name, rdclass = rdataset->rdclass; noqname = rdataset->private6; - (void)dns_name_dynamic(noqname); /* Sanity Check. */ + (void)dns_name_dynamic(noqname); /* Sanity Check. */ - for (rdataset = ISC_LIST_HEAD(noqname->list); - rdataset != NULL; - rdataset = ISC_LIST_NEXT(rdataset, link)) - { + for (rdataset = ISC_LIST_HEAD(noqname->list); rdataset != NULL; + rdataset = ISC_LIST_NEXT(rdataset, link)) { if (rdataset->rdclass != rdclass) continue; if (rdataset->type == dns_rdatatype_nsec || @@ -264,10 +261,8 @@ isc__rdatalist_getnoqname(dns_rdataset_t *rdataset, dns_name_t *name, if (tneg == NULL) return (ISC_R_NOTFOUND); - for (rdataset = ISC_LIST_HEAD(noqname->list); - rdataset != NULL; - rdataset = ISC_LIST_NEXT(rdataset, link)) - { + for (rdataset = ISC_LIST_HEAD(noqname->list); rdataset != NULL; + rdataset = ISC_LIST_NEXT(rdataset, link)) { if (rdataset->type == dns_rdatatype_rrsig && rdataset->covers == tneg->type) tnegsig = rdataset; @@ -282,18 +277,17 @@ isc__rdatalist_getnoqname(dns_rdataset_t *rdataset, dns_name_t *name, } isc_result_t -isc__rdatalist_addclosest(dns_rdataset_t *rdataset, const dns_name_t *name) { +isc__rdatalist_addclosest(dns_rdataset_t *rdataset, const dns_name_t *name) +{ dns_rdataset_t *neg = NULL; dns_rdataset_t *negsig = NULL; dns_rdataset_t *rdset; - dns_ttl_t ttl; + dns_ttl_t ttl; REQUIRE(rdataset != NULL); - for (rdset = ISC_LIST_HEAD(name->list); - rdset != NULL; - rdset = ISC_LIST_NEXT(rdset, link)) - { + for (rdset = ISC_LIST_HEAD(name->list); rdset != NULL; + rdset = ISC_LIST_NEXT(rdset, link)) { if (rdset->rdclass != rdataset->rdclass) continue; if (rdset->type == dns_rdatatype_nsec || @@ -303,10 +297,8 @@ isc__rdatalist_addclosest(dns_rdataset_t *rdataset, const dns_name_t *name) { if (neg == NULL) return (ISC_R_NOTFOUND); - for (rdset = ISC_LIST_HEAD(name->list); - rdset != NULL; - rdset = ISC_LIST_NEXT(rdset, link)) - { + for (rdset = ISC_LIST_HEAD(name->list); rdset != NULL; + rdset = ISC_LIST_NEXT(rdset, link)) { if (rdset->type == dns_rdatatype_rrsig && rdset->covers == neg->type) negsig = rdset; @@ -332,9 +324,9 @@ isc_result_t isc__rdatalist_getclosest(dns_rdataset_t *rdataset, dns_name_t *name, dns_rdataset_t *neg, dns_rdataset_t *negsig) { - dns_rdataclass_t rdclass; - dns_rdataset_t *tneg = NULL; - dns_rdataset_t *tnegsig = NULL; + dns_rdataclass_t rdclass; + dns_rdataset_t * tneg = NULL; + dns_rdataset_t * tnegsig = NULL; const dns_name_t *closest; REQUIRE(rdataset != NULL); @@ -343,12 +335,10 @@ isc__rdatalist_getclosest(dns_rdataset_t *rdataset, dns_name_t *name, rdclass = rdataset->rdclass; closest = rdataset->private7; - (void)dns_name_dynamic(closest); /* Sanity Check. */ + (void)dns_name_dynamic(closest); /* Sanity Check. */ - for (rdataset = ISC_LIST_HEAD(closest->list); - rdataset != NULL; - rdataset = ISC_LIST_NEXT(rdataset, link)) - { + for (rdataset = ISC_LIST_HEAD(closest->list); rdataset != NULL; + rdataset = ISC_LIST_NEXT(rdataset, link)) { if (rdataset->rdclass != rdclass) continue; if (rdataset->type == dns_rdatatype_nsec || @@ -358,10 +348,8 @@ isc__rdatalist_getclosest(dns_rdataset_t *rdataset, dns_name_t *name, if (tneg == NULL) return (ISC_R_NOTFOUND); - for (rdataset = ISC_LIST_HEAD(closest->list); - rdataset != NULL; - rdataset = ISC_LIST_NEXT(rdataset, link)) - { + for (rdataset = ISC_LIST_HEAD(closest->list); rdataset != NULL; + rdataset = ISC_LIST_NEXT(rdataset, link)) { if (rdataset->type == dns_rdatatype_rrsig && rdataset->covers == tneg->type) tnegsig = rdataset; @@ -376,9 +364,10 @@ isc__rdatalist_getclosest(dns_rdataset_t *rdataset, dns_name_t *name, } void -isc__rdatalist_setownercase(dns_rdataset_t *rdataset, const dns_name_t *name) { +isc__rdatalist_setownercase(dns_rdataset_t *rdataset, const dns_name_t *name) +{ dns_rdatalist_t *rdatalist; - unsigned int i; + unsigned int i; /* * We do not need to worry about label lengths as they are all @@ -388,7 +377,7 @@ isc__rdatalist_setownercase(dns_rdataset_t *rdataset, const dns_name_t *name) { memset(rdatalist->upper, 0, sizeof(rdatalist->upper)); for (i = 1; i < name->length; i++) if (name->ndata[i] >= 0x41 && name->ndata[i] <= 0x5a) - rdatalist->upper[i/8] |= 1 << (i%8); + rdatalist->upper[i / 8] |= 1 << (i % 8); /* * Record that upper has been set. */ @@ -396,9 +385,10 @@ isc__rdatalist_setownercase(dns_rdataset_t *rdataset, const dns_name_t *name) { } void -isc__rdatalist_getownercase(const dns_rdataset_t *rdataset, dns_name_t *name) { +isc__rdatalist_getownercase(const dns_rdataset_t *rdataset, dns_name_t *name) +{ dns_rdatalist_t *rdatalist; - unsigned int i; + unsigned int i; rdatalist = rdataset->private1; if ((rdatalist->upper[0] & 0x01) == 0) @@ -408,10 +398,10 @@ isc__rdatalist_getownercase(const dns_rdataset_t *rdataset, dns_name_t *name) { * Set the case bit if it does not match the recorded bit. */ if (name->ndata[i] >= 0x61 && name->ndata[i] <= 0x7a && - (rdatalist->upper[i/8] & (1 << (i%8))) != 0) + (rdatalist->upper[i / 8] & (1 << (i % 8))) != 0) name->ndata[i] &= ~0x20; /* clear the lower case bit */ else if (name->ndata[i] >= 0x41 && name->ndata[i] <= 0x5a && - (rdatalist->upper[i/8] & (1 << (i%8))) == 0) + (rdatalist->upper[i / 8] & (1 << (i % 8))) == 0) name->ndata[i] |= 0x20; /* set the lower case bit */ } } diff --git a/lib/dns/rdatalist_p.h b/lib/dns/rdatalist_p.h index 766b826a08..868151c3dd 100644 --- a/lib/dns/rdatalist_p.h +++ b/lib/dns/rdatalist_p.h @@ -9,13 +9,13 @@ * information regarding copyright ownership. */ - #ifndef DNS_RDATALIST_P_H #define DNS_RDATALIST_P_H /*! \file */ #include + #include ISC_LANG_BEGINDECLS diff --git a/lib/dns/rdataset.c b/lib/dns/rdataset.c index ad0b321dfb..dbd517382d 100644 --- a/lib/dns/rdataset.c +++ b/lib/dns/rdataset.c @@ -29,21 +29,17 @@ #include static const char *trustnames[] = { - "none", - "pending-additional", - "pending-answer", - "additional", - "glue", - "answer", - "authauthority", - "authanswer", - "secure", - "local" /* aka ultimate */ + "none", "pending-additional", + "pending-answer", "additional", + "glue", "answer", + "authauthority", "authanswer", + "secure", "local" /* aka ultimate */ }; const char * -dns_trust_totext(dns_trust_t trust) { - if (trust >= sizeof(trustnames)/sizeof(*trustnames)) +dns_trust_totext(dns_trust_t trust) +{ + if (trust >= sizeof(trustnames) / sizeof(*trustnames)) return ("bad"); return (trustnames[trust]); } @@ -51,8 +47,8 @@ dns_trust_totext(dns_trust_t trust) { #define DNS_RDATASET_COUNT_UNDEFINED UINT32_MAX void -dns_rdataset_init(dns_rdataset_t *rdataset) { - +dns_rdataset_init(dns_rdataset_t *rdataset) +{ /* * Make 'rdataset' a valid, disassociated rdataset. */ @@ -80,8 +76,8 @@ dns_rdataset_init(dns_rdataset_t *rdataset) { } void -dns_rdataset_invalidate(dns_rdataset_t *rdataset) { - +dns_rdataset_invalidate(dns_rdataset_t *rdataset) +{ /* * Invalidate 'rdataset'. */ @@ -106,8 +102,8 @@ dns_rdataset_invalidate(dns_rdataset_t *rdataset) { } void -dns_rdataset_disassociate(dns_rdataset_t *rdataset) { - +dns_rdataset_disassociate(dns_rdataset_t *rdataset) +{ /* * Disassociate 'rdataset' from its rdata, allowing it to be reused. */ @@ -134,7 +130,8 @@ dns_rdataset_disassociate(dns_rdataset_t *rdataset) { } bool -dns_rdataset_isassociated(dns_rdataset_t *rdataset) { +dns_rdataset_isassociated(dns_rdataset_t *rdataset) +{ /* * Is 'rdataset' associated? */ @@ -148,19 +145,22 @@ dns_rdataset_isassociated(dns_rdataset_t *rdataset) { } static void -question_disassociate(dns_rdataset_t *rdataset) { +question_disassociate(dns_rdataset_t *rdataset) +{ UNUSED(rdataset); } static isc_result_t -question_cursor(dns_rdataset_t *rdataset) { +question_cursor(dns_rdataset_t *rdataset) +{ UNUSED(rdataset); return (ISC_R_NOMORE); } static void -question_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) { +question_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) +{ /* * This routine should never be called. */ @@ -171,12 +171,14 @@ question_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) { } static void -question_clone(dns_rdataset_t *source, dns_rdataset_t *target) { +question_clone(dns_rdataset_t *source, dns_rdataset_t *target) +{ *target = *source; } static unsigned int -question_count(dns_rdataset_t *rdataset) { +question_count(dns_rdataset_t *rdataset) +{ /* * This routine should never be called. */ @@ -209,7 +211,6 @@ void dns_rdataset_makequestion(dns_rdataset_t *rdataset, dns_rdataclass_t rdclass, dns_rdatatype_t type) { - /* * Make 'rdataset' a valid, associated, question rdataset, with a * question class of 'rdclass' and type 'type'. @@ -225,8 +226,8 @@ dns_rdataset_makequestion(dns_rdataset_t *rdataset, dns_rdataclass_t rdclass, } unsigned int -dns_rdataset_count(dns_rdataset_t *rdataset) { - +dns_rdataset_count(dns_rdataset_t *rdataset) +{ /* * Return the number of records in 'rdataset'. */ @@ -238,8 +239,8 @@ dns_rdataset_count(dns_rdataset_t *rdataset) { } void -dns_rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) { - +dns_rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) +{ /* * Make 'target' refer to the same rdataset as 'source'. */ @@ -253,8 +254,8 @@ dns_rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) { } isc_result_t -dns_rdataset_first(dns_rdataset_t *rdataset) { - +dns_rdataset_first(dns_rdataset_t *rdataset) +{ /* * Move the rdata cursor to the first rdata in the rdataset (if any). */ @@ -266,8 +267,8 @@ dns_rdataset_first(dns_rdataset_t *rdataset) { } isc_result_t -dns_rdataset_next(dns_rdataset_t *rdataset) { - +dns_rdataset_next(dns_rdataset_t *rdataset) +{ /* * Move the rdata cursor to the next rdata in the rdataset (if any). */ @@ -279,8 +280,8 @@ dns_rdataset_next(dns_rdataset_t *rdataset) { } void -dns_rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) { - +dns_rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) +{ /* * Make 'rdata' refer to the current rdata. */ @@ -291,25 +292,27 @@ dns_rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) { (rdataset->methods->current)(rdataset, rdata); } -#define MAX_SHUFFLE 32 -#define WANT_FIXED(r) (((r)->attributes & DNS_RDATASETATTR_FIXEDORDER) != 0) -#define WANT_RANDOM(r) (((r)->attributes & DNS_RDATASETATTR_RANDOMIZE) != 0) -#define WANT_CYCLIC(r) (((r)->attributes & DNS_RDATASETATTR_CYCLIC) != 0) +#define MAX_SHUFFLE 32 +#define WANT_FIXED(r) (((r)->attributes & DNS_RDATASETATTR_FIXEDORDER) != 0) +#define WANT_RANDOM(r) (((r)->attributes & DNS_RDATASETATTR_RANDOMIZE) != 0) +#define WANT_CYCLIC(r) (((r)->attributes & DNS_RDATASETATTR_CYCLIC) != 0) struct towire_sort { - int key; + int key; dns_rdata_t *rdata; }; static int -towire_compare(const void *av, const void *bv) { - const struct towire_sort *a = (const struct towire_sort *) av; - const struct towire_sort *b = (const struct towire_sort *) bv; +towire_compare(const void *av, const void *bv) +{ + const struct towire_sort *a = (const struct towire_sort *)av; + const struct towire_sort *b = (const struct towire_sort *)bv; return (a->key - b->key); } static inline void -swap_rdata(dns_rdata_t *in, unsigned int a, unsigned int b) { +swap_rdata(dns_rdata_t *in, unsigned int a, unsigned int b) +{ dns_rdata_t rdata = in[a]; in[a] = in[b]; in[b] = rdata; @@ -318,25 +321,24 @@ swap_rdata(dns_rdata_t *in, unsigned int a, unsigned int b) { static isc_result_t towiresorted(dns_rdataset_t *rdataset, const dns_name_t *owner_name, dns_compress_t *cctx, isc_buffer_t *target, - dns_rdatasetorderfunc_t order, const void *order_arg, - bool partial, unsigned int options, - unsigned int *countp, void **state) + dns_rdatasetorderfunc_t order, const void *order_arg, bool partial, + unsigned int options, unsigned int *countp, void **state) { - isc_region_t r; - isc_result_t result; - unsigned int i, count = 0, added; - isc_buffer_t savedbuffer, rdlen, rrbuffer; - unsigned int headlen; - bool question = false; - bool shuffle = false, sort = false; - bool want_random, want_cyclic; - dns_rdata_t in_fixed[MAX_SHUFFLE]; - dns_rdata_t *in = in_fixed; - struct towire_sort out_fixed[MAX_SHUFFLE]; + isc_region_t r; + isc_result_t result; + unsigned int i, count = 0, added; + isc_buffer_t savedbuffer, rdlen, rrbuffer; + unsigned int headlen; + bool question = false; + bool shuffle = false, sort = false; + bool want_random, want_cyclic; + dns_rdata_t in_fixed[MAX_SHUFFLE]; + dns_rdata_t * in = in_fixed; + struct towire_sort out_fixed[MAX_SHUFFLE]; struct towire_sort *out = out_fixed; - dns_fixedname_t fixed; - dns_name_t *name; - uint16_t offset; + dns_fixedname_t fixed; + dns_name_t * name; + uint16_t offset; UNUSED(state); @@ -399,7 +401,7 @@ towiresorted(dns_rdataset_t *rdataset, const dns_name_t *owner_name, } if ((shuffle || sort)) { - uint32_t seed = 0; + uint32_t seed = 0; unsigned int j = 0; /* @@ -423,8 +425,7 @@ towiresorted(dns_rdataset_t *rdataset, const dns_name_t *owner_name, } if (ISC_UNLIKELY(want_cyclic) && - (rdataset->count != DNS_RDATASET_COUNT_UNDEFINED)) - { + (rdataset->count != DNS_RDATASET_COUNT_UNDEFINED)) { j = rdataset->count % count; } @@ -433,9 +434,7 @@ towiresorted(dns_rdataset_t *rdataset, const dns_name_t *owner_name, swap_rdata(in, j, j + seed % (count - j)); } - out[i].key = (sort) ? - (*order)(&in[j], order_arg) : - 0; + out[i].key = (sort) ? (*order)(&in[j], order_arg) : 0; out[i].rdata = &in[j]; if (++j == count) { j = 0; @@ -458,8 +457,7 @@ towiresorted(dns_rdataset_t *rdataset, const dns_name_t *owner_name, dns_rdataset_getownercase(rdataset, name); offset = 0xffff; - name->attributes |= owner_name->attributes & - DNS_NAMEATTR_NOCOMPRESS; + name->attributes |= owner_name->attributes & DNS_NAMEATTR_NOCOMPRESS; do { /* @@ -473,8 +471,8 @@ towiresorted(dns_rdataset_t *rdataset, const dns_name_t *owner_name, goto rollback; headlen = sizeof(dns_rdataclass_t) + sizeof(dns_rdatatype_t); if (!question) - headlen += sizeof(dns_ttl_t) - + 2; /* XXX 2 for rdata len */ + headlen += sizeof(dns_ttl_t) + 2; /* XXX 2 for rdata len + */ isc_buffer_availableregion(target, &r); if (r.length < headlen) { result = ISC_R_NOSPACE; @@ -507,9 +505,9 @@ towiresorted(dns_rdataset_t *rdataset, const dns_name_t *owner_name, goto rollback; INSIST((target->used >= rdlen.used + 2) && (target->used - rdlen.used - 2 < 65536)); - isc_buffer_putuint16(&rdlen, - (uint16_t)(target->used - - rdlen.used - 2)); + isc_buffer_putuint16( + &rdlen, + (uint16_t)(target->used - rdlen.used - 2)); added++; } @@ -532,7 +530,7 @@ towiresorted(dns_rdataset_t *rdataset, const dns_name_t *owner_name, result = ISC_R_SUCCESS; goto cleanup; - rollback: +rollback: if (partial && result == ISC_R_NOSPACE) { INSIST(rrbuffer.used < 65536); dns_compress_rollback(cctx, (uint16_t)rrbuffer.used); @@ -545,7 +543,7 @@ towiresorted(dns_rdataset_t *rdataset, const dns_name_t *owner_name, *countp = 0; *target = savedbuffer; - cleanup: +cleanup: if (out != NULL && out != out_fixed) isc_mem_put(cctx->mctx, out, count * sizeof(*out)); if (in != NULL && in != in_fixed) @@ -554,54 +552,42 @@ towiresorted(dns_rdataset_t *rdataset, const dns_name_t *owner_name, } isc_result_t -dns_rdataset_towiresorted(dns_rdataset_t *rdataset, - const dns_name_t *owner_name, - dns_compress_t *cctx, - isc_buffer_t *target, - dns_rdatasetorderfunc_t order, - const void *order_arg, - unsigned int options, +dns_rdataset_towiresorted(dns_rdataset_t * rdataset, + const dns_name_t *owner_name, dns_compress_t *cctx, + isc_buffer_t *target, dns_rdatasetorderfunc_t order, + const void *order_arg, unsigned int options, unsigned int *countp) { - return (towiresorted(rdataset, owner_name, cctx, target, - order, order_arg, false, options, - countp, NULL)); + return (towiresorted(rdataset, owner_name, cctx, target, order, + order_arg, false, options, countp, NULL)); } isc_result_t -dns_rdataset_towirepartial(dns_rdataset_t *rdataset, - const dns_name_t *owner_name, - dns_compress_t *cctx, - isc_buffer_t *target, - dns_rdatasetorderfunc_t order, - const void *order_arg, - unsigned int options, - unsigned int *countp, - void **state) +dns_rdataset_towirepartial(dns_rdataset_t * rdataset, + const dns_name_t *owner_name, dns_compress_t *cctx, + isc_buffer_t *target, dns_rdatasetorderfunc_t order, + const void *order_arg, unsigned int options, + unsigned int *countp, void **state) { - REQUIRE(state == NULL); /* XXX remove when implemented */ - return (towiresorted(rdataset, owner_name, cctx, target, - order, order_arg, true, options, - countp, state)); + REQUIRE(state == NULL); /* XXX remove when implemented */ + return (towiresorted(rdataset, owner_name, cctx, target, order, + order_arg, true, options, countp, state)); } isc_result_t -dns_rdataset_towire(dns_rdataset_t *rdataset, - const dns_name_t *owner_name, - dns_compress_t *cctx, - isc_buffer_t *target, - unsigned int options, - unsigned int *countp) +dns_rdataset_towire(dns_rdataset_t *rdataset, const dns_name_t *owner_name, + dns_compress_t *cctx, isc_buffer_t *target, + unsigned int options, unsigned int *countp) { - return (towiresorted(rdataset, owner_name, cctx, target, - NULL, NULL, false, options, countp, NULL)); + return (towiresorted(rdataset, owner_name, cctx, target, NULL, NULL, + false, options, countp, NULL)); } isc_result_t -dns_rdataset_additionaldata(dns_rdataset_t *rdataset, +dns_rdataset_additionaldata(dns_rdataset_t * rdataset, dns_additionaldatafunc_t add, void *arg) { - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; isc_result_t result; /* @@ -631,13 +617,13 @@ dns_rdataset_additionaldata(dns_rdataset_t *rdataset, } isc_result_t -dns_rdataset_addnoqname(dns_rdataset_t *rdataset, dns_name_t *name) { - +dns_rdataset_addnoqname(dns_rdataset_t *rdataset, dns_name_t *name) +{ REQUIRE(DNS_RDATASET_VALID(rdataset)); REQUIRE(rdataset->methods != NULL); if (rdataset->methods->addnoqname == NULL) return (ISC_R_NOTIMPLEMENTED); - return((rdataset->methods->addnoqname)(rdataset, name)); + return ((rdataset->methods->addnoqname)(rdataset, name)); } isc_result_t @@ -649,17 +635,17 @@ dns_rdataset_getnoqname(dns_rdataset_t *rdataset, dns_name_t *name, if (rdataset->methods->getnoqname == NULL) return (ISC_R_NOTIMPLEMENTED); - return((rdataset->methods->getnoqname)(rdataset, name, neg, negsig)); + return ((rdataset->methods->getnoqname)(rdataset, name, neg, negsig)); } isc_result_t -dns_rdataset_addclosest(dns_rdataset_t *rdataset, const dns_name_t *name) { - +dns_rdataset_addclosest(dns_rdataset_t *rdataset, const dns_name_t *name) +{ REQUIRE(DNS_RDATASET_VALID(rdataset)); REQUIRE(rdataset->methods != NULL); if (rdataset->methods->addclosest == NULL) return (ISC_R_NOTIMPLEMENTED); - return((rdataset->methods->addclosest)(rdataset, name)); + return ((rdataset->methods->addclosest)(rdataset, name)); } isc_result_t @@ -671,11 +657,12 @@ dns_rdataset_getclosest(dns_rdataset_t *rdataset, dns_name_t *name, if (rdataset->methods->getclosest == NULL) return (ISC_R_NOTIMPLEMENTED); - return((rdataset->methods->getclosest)(rdataset, name, neg, negsig)); + return ((rdataset->methods->getclosest)(rdataset, name, neg, negsig)); } void -dns_rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust) { +dns_rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust) +{ REQUIRE(DNS_RDATASET_VALID(rdataset)); REQUIRE(rdataset->methods != NULL); @@ -686,7 +673,8 @@ dns_rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust) { } void -dns_rdataset_expire(dns_rdataset_t *rdataset) { +dns_rdataset_expire(dns_rdataset_t *rdataset) +{ REQUIRE(DNS_RDATASET_VALID(rdataset)); REQUIRE(rdataset->methods != NULL); @@ -695,7 +683,8 @@ dns_rdataset_expire(dns_rdataset_t *rdataset) { } void -dns_rdataset_clearprefetch(dns_rdataset_t *rdataset) { +dns_rdataset_clearprefetch(dns_rdataset_t *rdataset) +{ REQUIRE(DNS_RDATASET_VALID(rdataset)); REQUIRE(rdataset->methods != NULL); @@ -704,7 +693,8 @@ dns_rdataset_clearprefetch(dns_rdataset_t *rdataset) { } void -dns_rdataset_setownercase(dns_rdataset_t *rdataset, const dns_name_t *name) { +dns_rdataset_setownercase(dns_rdataset_t *rdataset, const dns_name_t *name) +{ REQUIRE(DNS_RDATASET_VALID(rdataset)); REQUIRE(rdataset->methods != NULL); @@ -713,7 +703,8 @@ dns_rdataset_setownercase(dns_rdataset_t *rdataset, const dns_name_t *name) { } void -dns_rdataset_getownercase(const dns_rdataset_t *rdataset, dns_name_t *name) { +dns_rdataset_getownercase(const dns_rdataset_t *rdataset, dns_name_t *name) +{ REQUIRE(DNS_RDATASET_VALID(rdataset)); REQUIRE(rdataset->methods != NULL); diff --git a/lib/dns/rdatasetiter.c b/lib/dns/rdatasetiter.c index 707ab85260..992d12a5eb 100644 --- a/lib/dns/rdatasetiter.c +++ b/lib/dns/rdatasetiter.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -20,7 +19,8 @@ #include void -dns_rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) { +dns_rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) +{ /* * Destroy '*iteratorp'. */ @@ -34,7 +34,8 @@ dns_rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) { } isc_result_t -dns_rdatasetiter_first(dns_rdatasetiter_t *iterator) { +dns_rdatasetiter_first(dns_rdatasetiter_t *iterator) +{ /* * Move the rdataset cursor to the first rdataset at the node (if any). */ @@ -45,7 +46,8 @@ dns_rdatasetiter_first(dns_rdatasetiter_t *iterator) { } isc_result_t -dns_rdatasetiter_next(dns_rdatasetiter_t *iterator) { +dns_rdatasetiter_next(dns_rdatasetiter_t *iterator) +{ /* * Move the rdataset cursor to the next rdataset at the node (if any). */ @@ -56,8 +58,7 @@ dns_rdatasetiter_next(dns_rdatasetiter_t *iterator) { } void -dns_rdatasetiter_current(dns_rdatasetiter_t *iterator, - dns_rdataset_t *rdataset) +dns_rdatasetiter_current(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset) { /* * Return the current rdataset. @@ -65,7 +66,7 @@ dns_rdatasetiter_current(dns_rdatasetiter_t *iterator, REQUIRE(DNS_RDATASETITER_VALID(iterator)); REQUIRE(DNS_RDATASET_VALID(rdataset)); - REQUIRE(! dns_rdataset_isassociated(rdataset)); + REQUIRE(!dns_rdataset_isassociated(rdataset)); iterator->methods->current(iterator, rdataset); } diff --git a/lib/dns/rdataslab.c b/lib/dns/rdataslab.c index b9894806b9..30464e8ce5 100644 --- a/lib/dns/rdataslab.c +++ b/lib/dns/rdataslab.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -17,13 +16,13 @@ #include #include -#include /* Required for HP/UX (and others?) */ +#include /* Required for HP/UX (and others?) */ #include -#include #include #include #include +#include /* * The rdataslab structure allows iteration to occur in both load order @@ -68,13 +67,14 @@ */ struct xrdata { - dns_rdata_t rdata; - unsigned int order; + dns_rdata_t rdata; + unsigned int order; }; /*% Note: the "const void *" are just to make qsort happy. */ static int -compare_rdata(const void *p1, const void *p2) { +compare_rdata(const void *p1, const void *p2) +{ const struct xrdata *x1 = p1; const struct xrdata *x2 = p2; return (dns_rdata_compare(&x1->rdata, &x2->rdata)); @@ -85,18 +85,17 @@ static void fillin_offsets(unsigned char *offsetbase, unsigned int *offsettable, unsigned length) { - unsigned int i, j; + unsigned int i, j; unsigned char *raw; for (i = 0, j = 0; i < length; i++) { - if (offsettable[i] == 0) continue; /* * Fill in offset table. */ - raw = &offsetbase[j*4 + 2]; + raw = &offsetbase[j * 4 + 2]; *raw++ = (offsettable[i] & 0xff000000) >> 24; *raw++ = (offsettable[i] & 0xff0000) >> 16; *raw++ = (offsettable[i] & 0xff00) >> 8; @@ -121,20 +120,20 @@ dns_rdataslab_fromrdataset(dns_rdataset_t *rdataset, isc_mem_t *mctx, * rdata as rdata.data == NULL is valid. */ static unsigned char removed; - struct xrdata *x; - unsigned char *rawbuf; + struct xrdata * x; + unsigned char * rawbuf; #if DNS_RDATASET_FIXED - unsigned char *offsetbase; + unsigned char *offsetbase; #endif - unsigned int buflen; - isc_result_t result; - unsigned int nitems; - unsigned int nalloc; - unsigned int i; + unsigned int buflen; + isc_result_t result; + unsigned int nitems; + unsigned int nalloc; + unsigned int i; #if DNS_RDATASET_FIXED - unsigned int *offsettable; + unsigned int *offsettable; #endif - unsigned int length; + unsigned int length; buflen = reservelen + 2; @@ -208,22 +207,22 @@ dns_rdataslab_fromrdataset(dns_rdataset_t *rdataset, isc_mem_t *mctx, * and then the rdata itself. */ for (i = 1; i < nalloc; i++) { - if (compare_rdata(&x[i-1].rdata, &x[i].rdata) == 0) { - x[i-1].rdata.data = &removed; + if (compare_rdata(&x[i - 1].rdata, &x[i].rdata) == 0) { + x[i - 1].rdata.data = &removed; #if DNS_RDATASET_FIXED /* * Preserve the least order so A, B, A -> A, B * after duplicate removal. */ - if (x[i-1].order < x[i].order) - x[i].order = x[i-1].order; + if (x[i - 1].order < x[i].order) + x[i].order = x[i - 1].order; #endif nitems--; } else { #if DNS_RDATASET_FIXED - buflen += (8 + x[i-1].rdata.length); + buflen += (8 + x[i - 1].rdata.length); #else - buflen += (2 + x[i-1].rdata.length); + buflen += (2 + x[i - 1].rdata.length); #endif /* * Provide space to store the per RR meta data. @@ -237,9 +236,9 @@ dns_rdataslab_fromrdataset(dns_rdataset_t *rdataset, isc_mem_t *mctx, * Don't forget the last item! */ #if DNS_RDATASET_FIXED - buflen += (8 + x[i-1].rdata.length); + buflen += (8 + x[i - 1].rdata.length); #else - buflen += (2 + x[i-1].rdata.length); + buflen += (2 + x[i - 1].rdata.length); #endif /* * Provide space to store the per RR meta data. @@ -302,14 +301,15 @@ dns_rdataslab_fromrdataset(dns_rdataset_t *rdataset, isc_mem_t *mctx, *rawbuf++ = (length & 0xff00) >> 8; *rawbuf++ = (length & 0x00ff); #if DNS_RDATASET_FIXED - rawbuf += 2; /* filled in later */ + rawbuf += 2; /* filled in later */ #endif /* * Store the per RR meta data. */ if (rdataset->type == dns_rdatatype_rrsig) { - *rawbuf++ = (x[i].rdata.flags & DNS_RDATA_OFFLINE) ? - DNS_RDATASLAB_OFFLINE : 0; + *rawbuf++ = (x[i].rdata.flags & DNS_RDATA_OFFLINE) + ? DNS_RDATASLAB_OFFLINE + : 0; } memmove(rawbuf, x[i].rdata.data, x[i].rdata.length); rawbuf += x[i].rdata.length; @@ -322,14 +322,15 @@ dns_rdataslab_fromrdataset(dns_rdataset_t *rdataset, isc_mem_t *mctx, result = ISC_R_SUCCESS; - free_rdatas: +free_rdatas: isc_mem_put(mctx, x, nalloc * sizeof(struct xrdata)); return (result); } unsigned int -dns_rdataslab_size(unsigned char *slab, unsigned int reservelen) { - unsigned int count, length; +dns_rdataslab_size(unsigned char *slab, unsigned int reservelen) +{ + unsigned int count, length; unsigned char *current; REQUIRE(slab != NULL); @@ -355,8 +356,9 @@ dns_rdataslab_size(unsigned char *slab, unsigned int reservelen) { } unsigned int -dns_rdataslab_count(unsigned char *slab, unsigned int reservelen) { - unsigned int count; +dns_rdataslab_count(unsigned char *slab, unsigned int reservelen) +{ + unsigned int count; unsigned char *current; REQUIRE(slab != NULL); @@ -374,14 +376,13 @@ dns_rdataslab_count(unsigned char *slab, unsigned int reservelen) { * point to the next item in the slab. */ static inline void -rdata_from_slab(unsigned char **current, - dns_rdataclass_t rdclass, dns_rdatatype_t type, - dns_rdata_t *rdata) +rdata_from_slab(unsigned char **current, dns_rdataclass_t rdclass, + dns_rdatatype_t type, dns_rdata_t *rdata) { unsigned char *tcurrent = *current; - isc_region_t region; - unsigned int length; - bool offline = false; + isc_region_t region; + unsigned int length; + bool offline = false; length = *tcurrent++ * 256; length += *tcurrent++; @@ -414,10 +415,10 @@ rdata_in_slab(unsigned char *slab, unsigned int reservelen, dns_rdataclass_t rdclass, dns_rdatatype_t type, dns_rdata_t *rdata) { - unsigned int count, i; + unsigned int count, i; unsigned char *current; - dns_rdata_t trdata = DNS_RDATA_INIT; - int n; + dns_rdata_t trdata = DNS_RDATA_INIT; + int n; current = slab + reservelen; count = *current++ * 256; @@ -433,7 +434,7 @@ rdata_in_slab(unsigned char *slab, unsigned int reservelen, n = dns_rdata_compare(&trdata, rdata); if (n == 0) return (true); - if (n > 0) /* In DNSSEC order. */ + if (n > 0) /* In DNSSEC order. */ break; dns_rdata_reset(&trdata); } @@ -447,19 +448,19 @@ dns_rdataslab_merge(unsigned char *oslab, unsigned char *nslab, unsigned int flags, unsigned char **tslabp) { unsigned char *ocurrent, *ostart, *ncurrent, *tstart, *tcurrent, *data; - unsigned int ocount, ncount, count, olength, tlength, tcount, length; - dns_rdata_t ordata = DNS_RDATA_INIT; - dns_rdata_t nrdata = DNS_RDATA_INIT; - bool added_something = false; - unsigned int oadded = 0; - unsigned int nadded = 0; - unsigned int nncount = 0; + unsigned int ocount, ncount, count, olength, tlength, tcount, length; + dns_rdata_t ordata = DNS_RDATA_INIT; + dns_rdata_t nrdata = DNS_RDATA_INIT; + bool added_something = false; + unsigned int oadded = 0; + unsigned int nadded = 0; + unsigned int nncount = 0; #if DNS_RDATASET_FIXED - unsigned int oncount; - unsigned int norder = 0; - unsigned int oorder = 0; + unsigned int oncount; + unsigned int norder = 0; + unsigned int oorder = 0; unsigned char *offsetbase; - unsigned int *offsettable; + unsigned int * offsettable; #endif /* @@ -522,8 +523,7 @@ dns_rdataslab_merge(unsigned char *oslab, unsigned char *nslab, do { dns_rdata_init(&nrdata); rdata_from_slab(&ncurrent, rdclass, type, &nrdata); - if (!rdata_in_slab(oslab, reservelen, rdclass, type, &nrdata)) - { + if (!rdata_in_slab(oslab, reservelen, rdclass, type, &nrdata)) { /* * This rdata isn't in the old slab. */ @@ -542,8 +542,7 @@ dns_rdataslab_merge(unsigned char *oslab, unsigned char *nslab, } while (ncount > 0); ncount = nncount; - if (((flags & DNS_RDATASLAB_EXACT) != 0) && - (tcount != ncount + ocount)) + if (((flags & DNS_RDATASLAB_EXACT) != 0) && (tcount != ncount + ocount)) return (DNS_R_NOTEXACT); if (!added_something && (flags & DNS_RDATASLAB_FORCE) == 0) @@ -585,8 +584,8 @@ dns_rdataslab_merge(unsigned char *oslab, unsigned char *nslab, */ tcurrent += (tcount * 4); - offsettable = isc_mem_get(mctx, - (ocount + oncount) * sizeof(unsigned int)); + offsettable = + isc_mem_get(mctx, (ocount + oncount) * sizeof(unsigned int)); memset(offsettable, 0, (ocount + oncount) * sizeof(unsigned int)); #endif @@ -615,8 +614,8 @@ dns_rdataslab_merge(unsigned char *oslab, unsigned char *nslab, INSIST(norder < oncount); #endif rdata_from_slab(&ncurrent, rdclass, type, &nrdata); - } while (rdata_in_slab(oslab, reservelen, rdclass, - type, &nrdata)); + } while (rdata_in_slab(oslab, reservelen, rdclass, type, + &nrdata)); } while (oadded < ocount || nadded < ncount) { @@ -626,8 +625,7 @@ dns_rdataslab_merge(unsigned char *oslab, unsigned char *nslab, else if (nadded == ncount) fromold = true; else - fromold = (dns_rdata_compare(&ordata, - &nrdata) < 0); + fromold = (dns_rdata_compare(&ordata, &nrdata) < 0); if (fromold) { #if DNS_RDATASET_FIXED offsettable[oorder] = tcurrent - offsetbase; @@ -641,7 +639,7 @@ dns_rdataslab_merge(unsigned char *oslab, unsigned char *nslab, *tcurrent++ = (length & 0xff00) >> 8; *tcurrent++ = (length & 0x00ff); #if DNS_RDATASET_FIXED - tcurrent += 2; /* fill in later */ + tcurrent += 2; /* fill in later */ #endif memmove(tcurrent, data, length); tcurrent += length; @@ -668,7 +666,7 @@ dns_rdataslab_merge(unsigned char *oslab, unsigned char *nslab, *tcurrent++ = (length & 0xff00) >> 8; *tcurrent++ = (length & 0x00ff); #if DNS_RDATASET_FIXED - tcurrent += 2; /* fill in later */ + tcurrent += 2; /* fill in later */ #endif memmove(tcurrent, data, length); tcurrent += length; @@ -677,14 +675,14 @@ dns_rdataslab_merge(unsigned char *oslab, unsigned char *nslab, do { dns_rdata_reset(&nrdata); #if DNS_RDATASET_FIXED - norder = ncurrent[2] * 256 + ncurrent[3]; + norder = + ncurrent[2] * 256 + ncurrent[3]; INSIST(norder < oncount); #endif rdata_from_slab(&ncurrent, rdclass, type, &nrdata); } while (rdata_in_slab(oslab, reservelen, - rdclass, type, - &nrdata)); + rdclass, type, &nrdata)); } } } @@ -710,13 +708,13 @@ dns_rdataslab_subtract(unsigned char *mslab, unsigned char *sslab, unsigned int flags, unsigned char **tslabp) { unsigned char *mcurrent, *sstart, *scurrent, *tstart, *tcurrent; - unsigned int mcount, scount, rcount ,count, tlength, tcount, i; - dns_rdata_t srdata = DNS_RDATA_INIT; - dns_rdata_t mrdata = DNS_RDATA_INIT; + unsigned int mcount, scount, rcount, count, tlength, tcount, i; + dns_rdata_t srdata = DNS_RDATA_INIT; + dns_rdata_t mrdata = DNS_RDATA_INIT; #if DNS_RDATASET_FIXED unsigned char *offsetbase; - unsigned int *offsettable; - unsigned int order; + unsigned int * offsettable; + unsigned int order; #endif REQUIRE(tslabp != NULL && *tslabp == NULL); @@ -876,8 +874,8 @@ dns_rdataslab_equal(unsigned char *slab1, unsigned char *slab2, unsigned int reservelen) { unsigned char *current1, *current2; - unsigned int count1, count2; - unsigned int length1, length2; + unsigned int count1, count2; + unsigned int length1, length2; current1 = slab1 + reservelen; count1 = *current1++ * 256; @@ -925,9 +923,9 @@ dns_rdataslab_equalx(unsigned char *slab1, unsigned char *slab2, dns_rdatatype_t type) { unsigned char *current1, *current2; - unsigned int count1, count2; - dns_rdata_t rdata1 = DNS_RDATA_INIT; - dns_rdata_t rdata2 = DNS_RDATA_INIT; + unsigned int count1, count2; + dns_rdata_t rdata1 = DNS_RDATA_INIT; + dns_rdata_t rdata2 = DNS_RDATA_INIT; current1 = slab1 + reservelen; count1 = *current1++ * 256; diff --git a/lib/dns/request.c b/lib/dns/request.c index 782075fcf9..ae39f24ae2 100644 --- a/lib/dns/request.c +++ b/lib/dns/request.c @@ -32,115 +32,123 @@ #include #include -#define REQUESTMGR_MAGIC ISC_MAGIC('R', 'q', 'u', 'M') -#define VALID_REQUESTMGR(mgr) ISC_MAGIC_VALID(mgr, REQUESTMGR_MAGIC) +#define REQUESTMGR_MAGIC ISC_MAGIC('R', 'q', 'u', 'M') +#define VALID_REQUESTMGR(mgr) ISC_MAGIC_VALID(mgr, REQUESTMGR_MAGIC) -#define REQUEST_MAGIC ISC_MAGIC('R', 'q', 'u', '!') -#define VALID_REQUEST(request) ISC_MAGIC_VALID(request, REQUEST_MAGIC) +#define REQUEST_MAGIC ISC_MAGIC('R', 'q', 'u', '!') +#define VALID_REQUEST(request) ISC_MAGIC_VALID(request, REQUEST_MAGIC) typedef ISC_LIST(dns_request_t) dns_requestlist_t; #define DNS_REQUEST_NLOCKS 7 struct dns_requestmgr { - unsigned int magic; - isc_mutex_t lock; - isc_mem_t *mctx; + unsigned int magic; + isc_mutex_t lock; + isc_mem_t * mctx; /* locked */ - int32_t eref; - int32_t iref; - isc_timermgr_t *timermgr; - isc_socketmgr_t *socketmgr; - isc_taskmgr_t *taskmgr; - dns_dispatchmgr_t *dispatchmgr; - dns_dispatch_t *dispatchv4; - dns_dispatch_t *dispatchv6; - bool exiting; - isc_eventlist_t whenshutdown; - unsigned int hash; - isc_mutex_t locks[DNS_REQUEST_NLOCKS]; - dns_requestlist_t requests; + int32_t eref; + int32_t iref; + isc_timermgr_t * timermgr; + isc_socketmgr_t * socketmgr; + isc_taskmgr_t * taskmgr; + dns_dispatchmgr_t *dispatchmgr; + dns_dispatch_t * dispatchv4; + dns_dispatch_t * dispatchv6; + bool exiting; + isc_eventlist_t whenshutdown; + unsigned int hash; + isc_mutex_t locks[DNS_REQUEST_NLOCKS]; + dns_requestlist_t requests; }; struct dns_request { - unsigned int magic; - unsigned int hash; - isc_mem_t *mctx; - int32_t flags; - ISC_LINK(dns_request_t) link; - isc_buffer_t *query; - isc_buffer_t *answer; - dns_requestevent_t *event; - dns_dispatch_t *dispatch; - dns_dispentry_t *dispentry; - isc_timer_t *timer; - dns_requestmgr_t *requestmgr; - isc_buffer_t *tsig; - dns_tsigkey_t *tsigkey; - isc_event_t ctlevent; - bool canceling; /* ctlevent outstanding */ - isc_sockaddr_t destaddr; - unsigned int udpcount; - isc_dscp_t dscp; + unsigned int magic; + unsigned int hash; + isc_mem_t * mctx; + int32_t flags; + ISC_LINK(dns_request_t) link; + isc_buffer_t * query; + isc_buffer_t * answer; + dns_requestevent_t *event; + dns_dispatch_t * dispatch; + dns_dispentry_t * dispentry; + isc_timer_t * timer; + dns_requestmgr_t * requestmgr; + isc_buffer_t * tsig; + dns_tsigkey_t * tsigkey; + isc_event_t ctlevent; + bool canceling; /* ctlevent outstanding */ + isc_sockaddr_t destaddr; + unsigned int udpcount; + isc_dscp_t dscp; }; #define DNS_REQUEST_F_CONNECTING 0x0001 #define DNS_REQUEST_F_SENDING 0x0002 -#define DNS_REQUEST_F_CANCELED 0x0004 /*%< ctlevent received, or otherwise - synchronously canceled */ -#define DNS_REQUEST_F_TIMEDOUT 0x0008 /*%< canceled due to a timeout */ -#define DNS_REQUEST_F_TCP 0x0010 /*%< This request used TCP */ -#define DNS_REQUEST_CANCELED(r) \ - (((r)->flags & DNS_REQUEST_F_CANCELED) != 0) -#define DNS_REQUEST_CONNECTING(r) \ - (((r)->flags & DNS_REQUEST_F_CONNECTING) != 0) -#define DNS_REQUEST_SENDING(r) \ - (((r)->flags & DNS_REQUEST_F_SENDING) != 0) -#define DNS_REQUEST_TIMEDOUT(r) \ - (((r)->flags & DNS_REQUEST_F_TIMEDOUT) != 0) - +#define DNS_REQUEST_F_CANCELED \ + 0x0004 /*%< ctlevent received, or otherwise \ + synchronously canceled */ +#define DNS_REQUEST_F_TIMEDOUT 0x0008 /*%< canceled due to a timeout */ +#define DNS_REQUEST_F_TCP 0x0010 /*%< This request used TCP */ +#define DNS_REQUEST_CANCELED(r) (((r)->flags & DNS_REQUEST_F_CANCELED) != 0) +#define DNS_REQUEST_CONNECTING(r) (((r)->flags & DNS_REQUEST_F_CONNECTING) != 0) +#define DNS_REQUEST_SENDING(r) (((r)->flags & DNS_REQUEST_F_SENDING) != 0) +#define DNS_REQUEST_TIMEDOUT(r) (((r)->flags & DNS_REQUEST_F_TIMEDOUT) != 0) /*** *** Forward ***/ -static void mgr_destroy(dns_requestmgr_t *requestmgr); -static void mgr_shutdown(dns_requestmgr_t *requestmgr); -static unsigned int mgr_gethash(dns_requestmgr_t *requestmgr); -static void send_shutdown_events(dns_requestmgr_t *requestmgr); +static void +mgr_destroy(dns_requestmgr_t *requestmgr); +static void +mgr_shutdown(dns_requestmgr_t *requestmgr); +static unsigned int +mgr_gethash(dns_requestmgr_t *requestmgr); +static void +send_shutdown_events(dns_requestmgr_t *requestmgr); -static isc_result_t req_render(dns_message_t *message, isc_buffer_t **buffer, - unsigned int options, isc_mem_t *mctx); -static void req_senddone(isc_task_t *task, isc_event_t *event); -static void req_response(isc_task_t *task, isc_event_t *event); -static void req_timeout(isc_task_t *task, isc_event_t *event); -static isc_socket_t * req_getsocket(dns_request_t *request); -static void req_connected(isc_task_t *task, isc_event_t *event); -static void req_sendevent(dns_request_t *request, isc_result_t result); -static void req_cancel(dns_request_t *request); -static void req_destroy(dns_request_t *request); -static void req_log(int level, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3); -static void do_cancel(isc_task_t *task, isc_event_t *event); +static isc_result_t +req_render(dns_message_t *message, isc_buffer_t **buffer, unsigned int options, + isc_mem_t *mctx); +static void +req_senddone(isc_task_t *task, isc_event_t *event); +static void +req_response(isc_task_t *task, isc_event_t *event); +static void +req_timeout(isc_task_t *task, isc_event_t *event); +static isc_socket_t * +req_getsocket(dns_request_t *request); +static void +req_connected(isc_task_t *task, isc_event_t *event); +static void +req_sendevent(dns_request_t *request, isc_result_t result); +static void +req_cancel(dns_request_t *request); +static void +req_destroy(dns_request_t *request); +static void +req_log(int level, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3); +static void +do_cancel(isc_task_t *task, isc_event_t *event); /*** *** Public ***/ isc_result_t -dns_requestmgr_create(isc_mem_t *mctx, - isc_timermgr_t *timermgr, - isc_socketmgr_t *socketmgr, - isc_taskmgr_t *taskmgr, +dns_requestmgr_create(isc_mem_t *mctx, isc_timermgr_t *timermgr, + isc_socketmgr_t *socketmgr, isc_taskmgr_t *taskmgr, dns_dispatchmgr_t *dispatchmgr, - dns_dispatch_t *dispatchv4, - dns_dispatch_t *dispatchv6, + dns_dispatch_t *dispatchv4, dns_dispatch_t *dispatchv6, dns_requestmgr_t **requestmgrp) { dns_requestmgr_t *requestmgr; - isc_socket_t *sock; - int i; - unsigned int dispattr; + isc_socket_t * sock; + int i; + unsigned int dispattr; req_log(ISC_LOG_DEBUG(3), "dns_requestmgr_create"); @@ -178,7 +186,7 @@ dns_requestmgr_create(isc_mem_t *mctx, dns_dispatch_attach(dispatchv6, &requestmgr->dispatchv6); requestmgr->mctx = NULL; isc_mem_attach(mctx, &requestmgr->mctx); - requestmgr->eref = 1; /* implicit attach */ + requestmgr->eref = 1; /* implicit attach */ requestmgr->iref = 0; ISC_LIST_INIT(requestmgr->whenshutdown); ISC_LIST_INIT(requestmgr->requests); @@ -196,7 +204,7 @@ void dns_requestmgr_whenshutdown(dns_requestmgr_t *requestmgr, isc_task_t *task, isc_event_t **eventp) { - isc_task_t *tclone; + isc_task_t * tclone; isc_event_t *event; req_log(ISC_LOG_DEBUG(3), "dns_requestmgr_whenshutdown"); @@ -225,8 +233,8 @@ dns_requestmgr_whenshutdown(dns_requestmgr_t *requestmgr, isc_task_t *task, } void -dns_requestmgr_shutdown(dns_requestmgr_t *requestmgr) { - +dns_requestmgr_shutdown(dns_requestmgr_t *requestmgr) +{ REQUIRE(VALID_REQUESTMGR(requestmgr)); req_log(ISC_LOG_DEBUG(3), "dns_requestmgr_shutdown: %p", requestmgr); @@ -237,7 +245,8 @@ dns_requestmgr_shutdown(dns_requestmgr_t *requestmgr) { } static void -mgr_shutdown(dns_requestmgr_t *requestmgr) { +mgr_shutdown(dns_requestmgr_t *requestmgr) +{ dns_request_t *request; /* @@ -246,8 +255,7 @@ mgr_shutdown(dns_requestmgr_t *requestmgr) { if (!requestmgr->exiting) { requestmgr->exiting = true; for (request = ISC_LIST_HEAD(requestmgr->requests); - request != NULL; - request = ISC_LIST_NEXT(request, link)) { + request != NULL; request = ISC_LIST_NEXT(request, link)) { dns_request_cancel(request); } if (requestmgr->iref == 0) { @@ -258,8 +266,8 @@ mgr_shutdown(dns_requestmgr_t *requestmgr) { } static void -requestmgr_attach(dns_requestmgr_t *source, dns_requestmgr_t **targetp) { - +requestmgr_attach(dns_requestmgr_t *source, dns_requestmgr_t **targetp) +{ /* * Locked by caller. */ @@ -277,9 +285,10 @@ requestmgr_attach(dns_requestmgr_t *source, dns_requestmgr_t **targetp) { } static void -requestmgr_detach(dns_requestmgr_t **requestmgrp) { +requestmgr_detach(dns_requestmgr_t **requestmgrp) +{ dns_requestmgr_t *requestmgr; - bool need_destroy = false; + bool need_destroy = false; REQUIRE(requestmgrp != NULL); requestmgr = *requestmgrp; @@ -306,8 +315,8 @@ requestmgr_detach(dns_requestmgr_t **requestmgrp) { } void -dns_requestmgr_attach(dns_requestmgr_t *source, dns_requestmgr_t **targetp) { - +dns_requestmgr_attach(dns_requestmgr_t *source, dns_requestmgr_t **targetp) +{ REQUIRE(VALID_REQUESTMGR(source)); REQUIRE(targetp != NULL && *targetp == NULL); REQUIRE(!source->exiting); @@ -322,9 +331,10 @@ dns_requestmgr_attach(dns_requestmgr_t *source, dns_requestmgr_t **targetp) { } void -dns_requestmgr_detach(dns_requestmgr_t **requestmgrp) { +dns_requestmgr_detach(dns_requestmgr_t **requestmgrp) +{ dns_requestmgr_t *requestmgr; - bool need_destroy = false; + bool need_destroy = false; REQUIRE(requestmgrp != NULL); requestmgr = *requestmgrp; @@ -350,17 +360,17 @@ dns_requestmgr_detach(dns_requestmgr_t **requestmgrp) { } static void -send_shutdown_events(dns_requestmgr_t *requestmgr) { +send_shutdown_events(dns_requestmgr_t *requestmgr) +{ isc_event_t *event, *next_event; - isc_task_t *etask; + isc_task_t * etask; req_log(ISC_LOG_DEBUG(3), "send_shutdown_events: %p", requestmgr); /* * Caller must be holding the manager lock. */ - for (event = ISC_LIST_HEAD(requestmgr->whenshutdown); - event != NULL; + for (event = ISC_LIST_HEAD(requestmgr->whenshutdown); event != NULL; event = next_event) { next_event = ISC_LIST_NEXT(event, ev_link); ISC_LIST_UNLINK(requestmgr->whenshutdown, event, ev_link); @@ -371,7 +381,8 @@ send_shutdown_events(dns_requestmgr_t *requestmgr) { } static void -mgr_destroy(dns_requestmgr_t *requestmgr) { +mgr_destroy(dns_requestmgr_t *requestmgr) +{ int i; req_log(ISC_LOG_DEBUG(3), "mgr_destroy"); @@ -387,11 +398,13 @@ mgr_destroy(dns_requestmgr_t *requestmgr) { if (requestmgr->dispatchv6 != NULL) dns_dispatch_detach(&requestmgr->dispatchv6); requestmgr->magic = 0; - isc_mem_putanddetach(&requestmgr->mctx, requestmgr, sizeof(*requestmgr)); + isc_mem_putanddetach(&requestmgr->mctx, requestmgr, + sizeof(*requestmgr)); } static unsigned int -mgr_gethash(dns_requestmgr_t *requestmgr) { +mgr_gethash(dns_requestmgr_t *requestmgr) +{ req_log(ISC_LOG_DEBUG(3), "mgr_gethash"); /* * Locked by caller. @@ -404,10 +417,10 @@ static inline isc_result_t req_send(dns_request_t *request, isc_task_t *task, const isc_sockaddr_t *address) { - isc_region_t r; - isc_socket_t *sock; + isc_region_t r; + isc_socket_t * sock; isc_socketevent_t *sendevent; - isc_result_t result; + isc_result_t result; req_log(ISC_LOG_DEBUG(3), "req_send: request %p", request); @@ -420,8 +433,8 @@ req_send(dns_request_t *request, isc_task_t *task, * at this moment. */ sendevent = isc_socket_socketevent(request->mctx, sock, - ISC_SOCKEVENT_SENDDONE, - req_senddone, request); + ISC_SOCKEVENT_SENDDONE, req_senddone, + request); if (sendevent == NULL) return (ISC_R_NOMEMORY); if (request->dscp == -1) { @@ -433,8 +446,8 @@ req_send(dns_request_t *request, isc_task_t *task, } request->flags |= DNS_REQUEST_F_SENDING; - result = isc_socket_sendto2(sock, &r, task, address, NULL, - sendevent, 0); + result = + isc_socket_sendto2(sock, &r, task, address, NULL, sendevent, 0); INSIST(result == ISC_R_SUCCESS); return (result); } @@ -464,8 +477,8 @@ new_request(isc_mem_t *mctx, dns_request_t **requestp) request->tsigkey = NULL; request->dscp = -1; ISC_EVENT_INIT(&request->ctlevent, sizeof(request->ctlevent), 0, NULL, - DNS_EVENT_REQUESTCONTROL, do_cancel, request, NULL, - NULL, NULL); + DNS_EVENT_REQUESTCONTROL, do_cancel, request, NULL, NULL, + NULL); request->canceling = false; request->udpcount = 0; @@ -476,22 +489,21 @@ new_request(isc_mem_t *mctx, dns_request_t **requestp) return (ISC_R_SUCCESS); } - static bool -isblackholed(dns_dispatchmgr_t *dispatchmgr, const isc_sockaddr_t *destaddr) { - dns_acl_t *blackhole; +isblackholed(dns_dispatchmgr_t *dispatchmgr, const isc_sockaddr_t *destaddr) +{ + dns_acl_t * blackhole; isc_netaddr_t netaddr; - int match; - bool drop = false; - char netaddrstr[ISC_NETADDR_FORMATSIZE]; + int match; + bool drop = false; + char netaddrstr[ISC_NETADDR_FORMATSIZE]; blackhole = dns_dispatchmgr_getblackhole(dispatchmgr); if (blackhole != NULL) { isc_netaddr_fromsockaddr(&netaddr, destaddr); - if (dns_acl_match(&netaddr, NULL, blackhole, NULL, - &match, NULL) == ISC_R_SUCCESS && - match > 0) - { + if (dns_acl_match(&netaddr, NULL, blackhole, NULL, &match, + NULL) == ISC_R_SUCCESS && + match > 0) { drop = true; } } @@ -503,41 +515,42 @@ isblackholed(dns_dispatchmgr_t *dispatchmgr, const isc_sockaddr_t *destaddr) { } static isc_result_t -create_tcp_dispatch(bool newtcp, bool share, - dns_requestmgr_t *requestmgr, +create_tcp_dispatch(bool newtcp, bool share, dns_requestmgr_t *requestmgr, const isc_sockaddr_t *srcaddr, const isc_sockaddr_t *destaddr, isc_dscp_t dscp, bool *connected, dns_dispatch_t **dispatchp) { - isc_result_t result; - isc_socket_t *sock = NULL; + isc_result_t result; + isc_socket_t * sock = NULL; isc_sockaddr_t src; - unsigned int attrs; + unsigned int attrs; isc_sockaddr_t bind_any; if (!newtcp && share) { - result = dns_dispatch_gettcp(requestmgr->dispatchmgr, - destaddr, srcaddr, - connected, dispatchp); + result = dns_dispatch_gettcp(requestmgr->dispatchmgr, destaddr, + srcaddr, connected, dispatchp); if (result == ISC_R_SUCCESS) { char peer[ISC_SOCKADDR_FORMATSIZE]; isc_sockaddr_format(destaddr, peer, sizeof(peer)); - req_log(ISC_LOG_DEBUG(1), "attached to %s TCP " + req_log(ISC_LOG_DEBUG(1), + "attached to %s TCP " "connection to %s", *connected ? "existing" : "pending", peer); return (result); } } else if (!newtcp) { result = dns_dispatch_gettcp(requestmgr->dispatchmgr, destaddr, - srcaddr, NULL, dispatchp); + srcaddr, NULL, dispatchp); if (result == ISC_R_SUCCESS) { char peer[ISC_SOCKADDR_FORMATSIZE]; *connected = true; isc_sockaddr_format(destaddr, peer, sizeof(peer)); - req_log(ISC_LOG_DEBUG(1), "attached to existing TCP " - "connection to %s", peer); + req_log(ISC_LOG_DEBUG(1), + "attached to existing TCP " + "connection to %s", + peer); return (result); } } @@ -549,8 +562,7 @@ create_tcp_dispatch(bool newtcp, bool share, return (result); #ifndef BROKEN_TCP_BIND_BEFORE_CONNECT if (srcaddr == NULL) { - isc_sockaddr_anyofpf(&bind_any, - isc_sockaddr_pf(destaddr)); + isc_sockaddr_anyofpf(&bind_any, isc_sockaddr_pf(destaddr)); result = isc_socket_bind(sock, &bind_any, 0); } else { src = *srcaddr; @@ -570,11 +582,9 @@ create_tcp_dispatch(bool newtcp, bool share, attrs |= DNS_DISPATCHATTR_MAKEQUERY; isc_socket_dscp(sock, dscp); - result = dns_dispatch_createtcp(requestmgr->dispatchmgr, - sock, requestmgr->taskmgr, - srcaddr, destaddr, - 4096, 32768, 32768, 16411, 16433, - attrs, dispatchp); + result = dns_dispatch_createtcp( + requestmgr->dispatchmgr, sock, requestmgr->taskmgr, srcaddr, + destaddr, 4096, 32768, 32768, 16411, 16433, attrs, dispatchp); cleanup: isc_socket_detach(&sock); return (result); @@ -585,7 +595,7 @@ find_udp_dispatch(dns_requestmgr_t *requestmgr, const isc_sockaddr_t *srcaddr, const isc_sockaddr_t *destaddr, dns_dispatch_t **dispatchp) { dns_dispatch_t *disp = NULL; - unsigned int attrs, attrmask; + unsigned int attrs, attrmask; if (srcaddr == NULL) { switch (isc_sockaddr_pf(destaddr)) { @@ -625,38 +635,34 @@ find_udp_dispatch(dns_requestmgr_t *requestmgr, const isc_sockaddr_t *srcaddr, attrmask |= DNS_DISPATCHATTR_IPV4; attrmask |= DNS_DISPATCHATTR_IPV6; return (dns_dispatch_getudp(requestmgr->dispatchmgr, - requestmgr->socketmgr, - requestmgr->taskmgr, - srcaddr, 4096, - 32768, 32768, 16411, 16433, - attrs, attrmask, - dispatchp)); + requestmgr->socketmgr, requestmgr->taskmgr, + srcaddr, 4096, 32768, 32768, 16411, 16433, + attrs, attrmask, dispatchp)); } static isc_result_t -get_dispatch(bool tcp, bool newtcp, bool share, - dns_requestmgr_t *requestmgr, +get_dispatch(bool tcp, bool newtcp, bool share, dns_requestmgr_t *requestmgr, const isc_sockaddr_t *srcaddr, const isc_sockaddr_t *destaddr, - isc_dscp_t dscp, bool *connected, - dns_dispatch_t **dispatchp) + isc_dscp_t dscp, bool *connected, dns_dispatch_t **dispatchp) { isc_result_t result; if (tcp) - result = create_tcp_dispatch(newtcp, share, requestmgr, - srcaddr, destaddr, dscp, - connected, dispatchp); + result = create_tcp_dispatch(newtcp, share, requestmgr, srcaddr, + destaddr, dscp, connected, + dispatchp); else - result = find_udp_dispatch(requestmgr, srcaddr, - destaddr, dispatchp); + result = find_udp_dispatch(requestmgr, srcaddr, destaddr, + dispatchp); return (result); } static isc_result_t -set_timer(isc_timer_t *timer, unsigned int timeout, unsigned int udpresend) { - isc_time_t expires; - isc_interval_t interval; - isc_result_t result; +set_timer(isc_timer_t *timer, unsigned int timeout, unsigned int udpresend) +{ + isc_time_t expires; + isc_interval_t interval; + isc_result_t result; isc_timertype_t timertype; isc_interval_set(&interval, timeout, 0); @@ -665,33 +671,32 @@ set_timer(isc_timer_t *timer, unsigned int timeout, unsigned int udpresend) { timertype = udpresend != 0 ? isc_timertype_limited : isc_timertype_once; if (result == ISC_R_SUCCESS) - result = isc_timer_reset(timer, timertype, &expires, - &interval, false); + result = isc_timer_reset(timer, timertype, &expires, &interval, + false); return (result); } isc_result_t dns_request_createraw(dns_requestmgr_t *requestmgr, isc_buffer_t *msgbuf, const isc_sockaddr_t *srcaddr, - const isc_sockaddr_t *destaddr, - isc_dscp_t dscp, unsigned int options, - unsigned int timeout, unsigned int udptimeout, - unsigned int udpretries, isc_task_t *task, - isc_taskaction_t action, void *arg, + const isc_sockaddr_t *destaddr, isc_dscp_t dscp, + unsigned int options, unsigned int timeout, + unsigned int udptimeout, unsigned int udpretries, + isc_task_t *task, isc_taskaction_t action, void *arg, dns_request_t **requestp) { - dns_request_t *request = NULL; - isc_task_t *tclone = NULL; - isc_socket_t *sock = NULL; - isc_result_t result; - isc_mem_t *mctx; - dns_messageid_t id; - bool tcp = false; - bool newtcp = false; - bool share = false; - isc_region_t r; - bool connected = false; - unsigned int dispopt = 0; + dns_request_t * request = NULL; + isc_task_t * tclone = NULL; + isc_socket_t * sock = NULL; + isc_result_t result; + isc_mem_t * mctx; + dns_messageid_t id; + bool tcp = false; + bool newtcp = false; + bool share = false; + isc_region_t r; + bool connected = false; + unsigned int dispopt = 0; REQUIRE(VALID_REQUESTMGR(requestmgr)); REQUIRE(msgbuf != NULL); @@ -732,9 +737,9 @@ dns_request_createraw(dns_requestmgr_t *requestmgr, isc_buffer_t *msgbuf, if (result != ISC_R_SUCCESS) goto cleanup; - request->event = (dns_requestevent_t *) - isc_event_allocate(mctx, task, DNS_EVENT_REQUESTDONE, - action, arg, sizeof(dns_requestevent_t)); + request->event = (dns_requestevent_t *)isc_event_allocate( + mctx, task, DNS_EVENT_REQUESTDONE, action, arg, + sizeof(dns_requestevent_t)); isc_task_attach(task, &tclone); request->event->ev_sender = task; request->event->request = request; @@ -750,10 +755,9 @@ dns_request_createraw(dns_requestmgr_t *requestmgr, isc_buffer_t *msgbuf, tcp = true; share = (options & DNS_REQUESTOPT_SHARE); - again: - result = get_dispatch(tcp, newtcp, share, requestmgr, - srcaddr, destaddr, dscp, - &connected, &request->dispatch); +again: + result = get_dispatch(tcp, newtcp, share, requestmgr, srcaddr, destaddr, + dscp, &connected, &request->dispatch); if (result != ISC_R_SUCCESS) goto cleanup; @@ -762,10 +766,9 @@ dns_request_createraw(dns_requestmgr_t *requestmgr, isc_buffer_t *msgbuf, dispopt |= DNS_DISPATCHOPT_FIXEDID; } - result = dns_dispatch_addresponse(request->dispatch, dispopt, - destaddr, task, req_response, - request, &id, &request->dispentry, - requestmgr->socketmgr); + result = dns_dispatch_addresponse( + request->dispatch, dispopt, destaddr, task, req_response, + request, &id, &request->dispentry, requestmgr->socketmgr); if (result != ISC_R_SUCCESS) { if ((options & DNS_REQUESTOPT_FIXEDID) != 0 && !newtcp) { newtcp = true; @@ -790,7 +793,7 @@ dns_request_createraw(dns_requestmgr_t *requestmgr, isc_buffer_t *msgbuf, isc_buffer_usedregion(request->query, &r); if (tcp) isc_region_consume(&r, 2); - r.base[0] = (id>>8) & 0xff; + r.base[0] = (id >> 8) & 0xff; r.base[1] = id & 0xff; LOCK(&requestmgr->lock); @@ -810,28 +813,27 @@ dns_request_createraw(dns_requestmgr_t *requestmgr, isc_buffer_t *msgbuf, request->destaddr = *destaddr; if (tcp && !connected) { - result = isc_socket_connect(sock, destaddr, task, - req_connected, request); + result = isc_socket_connect(sock, destaddr, task, req_connected, + request); if (result != ISC_R_SUCCESS) goto unlink; - request->flags |= DNS_REQUEST_F_CONNECTING|DNS_REQUEST_F_TCP; + request->flags |= DNS_REQUEST_F_CONNECTING | DNS_REQUEST_F_TCP; } else { result = req_send(request, task, connected ? NULL : destaddr); if (result != ISC_R_SUCCESS) goto unlink; } - req_log(ISC_LOG_DEBUG(3), "dns_request_createraw: request %p", - request); + req_log(ISC_LOG_DEBUG(3), "dns_request_createraw: request %p", request); *requestp = request; return (ISC_R_SUCCESS); - unlink: +unlink: LOCK(&requestmgr->lock); ISC_LIST_UNLINK(requestmgr->requests, request, link); UNLOCK(&requestmgr->lock); - cleanup: +cleanup: if (tclone != NULL) isc_task_detach(&tclone); req_destroy(request); @@ -843,36 +845,34 @@ dns_request_createraw(dns_requestmgr_t *requestmgr, isc_buffer_t *msgbuf, isc_result_t dns_request_create(dns_requestmgr_t *requestmgr, dns_message_t *message, const isc_sockaddr_t *address, unsigned int options, - dns_tsigkey_t *key, - unsigned int timeout, isc_task_t *task, - isc_taskaction_t action, void *arg, - dns_request_t **requestp) + dns_tsigkey_t *key, unsigned int timeout, isc_task_t *task, + isc_taskaction_t action, void *arg, dns_request_t **requestp) { - return (dns_request_createvia(requestmgr, message, NULL, address, - -1, options, key, timeout, 0, 0, task, - action, arg, requestp)); + return (dns_request_createvia(requestmgr, message, NULL, address, -1, + options, key, timeout, 0, 0, task, action, + arg, requestp)); } isc_result_t dns_request_createvia(dns_requestmgr_t *requestmgr, dns_message_t *message, const isc_sockaddr_t *srcaddr, - const isc_sockaddr_t *destaddr, - isc_dscp_t dscp, unsigned int options, - dns_tsigkey_t *key, unsigned int timeout, - unsigned int udptimeout, unsigned int udpretries, - isc_task_t *task, isc_taskaction_t action, void *arg, + const isc_sockaddr_t *destaddr, isc_dscp_t dscp, + unsigned int options, dns_tsigkey_t *key, + unsigned int timeout, unsigned int udptimeout, + unsigned int udpretries, isc_task_t *task, + isc_taskaction_t action, void *arg, dns_request_t **requestp) { - dns_request_t *request = NULL; - isc_task_t *tclone = NULL; - isc_socket_t *sock = NULL; - isc_result_t result; - isc_mem_t *mctx; - dns_messageid_t id; - bool tcp; - bool share; - bool settsigkey = true; - bool connected = false; + dns_request_t * request = NULL; + isc_task_t * tclone = NULL; + isc_socket_t * sock = NULL; + isc_result_t result; + isc_mem_t * mctx; + dns_messageid_t id; + bool tcp; + bool share; + bool settsigkey = true; + bool connected = false; REQUIRE(VALID_REQUESTMGR(requestmgr)); REQUIRE(message != NULL); @@ -915,9 +915,9 @@ dns_request_createvia(dns_requestmgr_t *requestmgr, dns_message_t *message, if (result != ISC_R_SUCCESS) goto cleanup; - request->event = (dns_requestevent_t *) - isc_event_allocate(mctx, task, DNS_EVENT_REQUESTDONE, - action, arg, sizeof(dns_requestevent_t)); + request->event = (dns_requestevent_t *)isc_event_allocate( + mctx, task, DNS_EVENT_REQUESTDONE, action, arg, + sizeof(dns_requestevent_t)); isc_task_attach(task, &tclone); request->event->ev_sender = task; request->event->request = request; @@ -925,19 +925,17 @@ dns_request_createvia(dns_requestmgr_t *requestmgr, dns_message_t *message, if (key != NULL) dns_tsigkey_attach(key, &request->tsigkey); - use_tcp: +use_tcp: tcp = ((options & DNS_REQUESTOPT_TCP) != 0); share = ((options & DNS_REQUESTOPT_SHARE) != 0); - result = get_dispatch(tcp, false, share, - requestmgr, srcaddr, destaddr, + result = get_dispatch(tcp, false, share, requestmgr, srcaddr, destaddr, dscp, &connected, &request->dispatch); if (result != ISC_R_SUCCESS) goto cleanup; - result = dns_dispatch_addresponse(request->dispatch, 0, destaddr, - task, req_response, request, &id, - &request->dispentry, - requestmgr->socketmgr); + result = dns_dispatch_addresponse( + request->dispatch, 0, destaddr, task, req_response, request, + &id, &request->dispentry, requestmgr->socketmgr); if (result != ISC_R_SUCCESS) goto cleanup; sock = req_getsocket(request); @@ -950,8 +948,7 @@ dns_request_createvia(dns_requestmgr_t *requestmgr, dns_message_t *message, goto cleanup; } result = req_render(message, &request->query, options, mctx); - if (result == DNS_R_USETCP && - (options & DNS_REQUESTOPT_TCP) == 0) { + if (result == DNS_R_USETCP && (options & DNS_REQUESTOPT_TCP) == 0) { /* * Try again using TCP. */ @@ -987,28 +984,27 @@ dns_request_createvia(dns_requestmgr_t *requestmgr, dns_message_t *message, request->destaddr = *destaddr; if (tcp && !connected) { - result = isc_socket_connect(sock, destaddr, task, - req_connected, request); + result = isc_socket_connect(sock, destaddr, task, req_connected, + request); if (result != ISC_R_SUCCESS) goto unlink; - request->flags |= DNS_REQUEST_F_CONNECTING|DNS_REQUEST_F_TCP; + request->flags |= DNS_REQUEST_F_CONNECTING | DNS_REQUEST_F_TCP; } else { result = req_send(request, task, connected ? NULL : destaddr); if (result != ISC_R_SUCCESS) goto unlink; } - req_log(ISC_LOG_DEBUG(3), "dns_request_createvia: request %p", - request); + req_log(ISC_LOG_DEBUG(3), "dns_request_createvia: request %p", request); *requestp = request; return (ISC_R_SUCCESS); - unlink: +unlink: LOCK(&requestmgr->lock); ISC_LIST_UNLINK(requestmgr->requests, request, link); UNLOCK(&requestmgr->lock); - cleanup: +cleanup: if (tclone != NULL) isc_task_detach(&tclone); req_destroy(request); @@ -1018,16 +1014,16 @@ dns_request_createvia(dns_requestmgr_t *requestmgr, dns_message_t *message, } static isc_result_t -req_render(dns_message_t *message, isc_buffer_t **bufferp, - unsigned int options, isc_mem_t *mctx) +req_render(dns_message_t *message, isc_buffer_t **bufferp, unsigned int options, + isc_mem_t *mctx) { - isc_buffer_t *buf1 = NULL; - isc_buffer_t *buf2 = NULL; - isc_result_t result; - isc_region_t r; - bool tcp = false; + isc_buffer_t * buf1 = NULL; + isc_buffer_t * buf2 = NULL; + isc_result_t result; + isc_region_t r; + bool tcp = false; dns_compress_t cctx; - bool cleanup_cctx = false; + bool cleanup_cctx = false; REQUIRE(bufferp != NULL && *bufferp == NULL); @@ -1095,7 +1091,7 @@ req_render(dns_message_t *message, isc_buffer_t **bufferp, *bufferp = buf2; return (ISC_R_SUCCESS); - cleanup: +cleanup: dns_message_renderreset(message); if (buf1 != NULL) isc_buffer_free(&buf1); @@ -1106,7 +1102,6 @@ req_render(dns_message_t *message, isc_buffer_t **bufferp, return (result); } - /* * If this request is no longer waiting for events, * send the completion event. This will ultimately @@ -1116,7 +1111,8 @@ req_render(dns_message_t *message, isc_buffer_t **bufferp, * 'request' is locked by the caller. */ static void -send_if_done(dns_request_t *request, isc_result_t result) { +send_if_done(dns_request_t *request, isc_result_t result) +{ if (request->event != NULL && !request->canceling) req_sendevent(request, result); } @@ -1125,7 +1121,8 @@ send_if_done(dns_request_t *request, isc_result_t result) { * Handle the control event. */ static void -do_cancel(isc_task_t *task, isc_event_t *event) { +do_cancel(isc_task_t *task, isc_event_t *event) +{ dns_request_t *request = event->ev_arg; UNUSED(task); INSIST(event->ev_type == DNS_EVENT_REQUESTCONTROL); @@ -1138,7 +1135,8 @@ do_cancel(isc_task_t *task, isc_event_t *event) { } void -dns_request_cancel(dns_request_t *request) { +dns_request_cancel(dns_request_t *request) +{ REQUIRE(VALID_REQUEST(request)); req_log(ISC_LOG_DEBUG(3), "dns_request_cancel: request %p", request); @@ -1147,7 +1145,7 @@ dns_request_cancel(dns_request_t *request) { LOCK(&request->requestmgr->locks[request->hash]); if (!request->canceling && !DNS_REQUEST_CANCELED(request)) { - isc_event_t *ev = &request->ctlevent; + isc_event_t *ev = &request->ctlevent; isc_task_send(request->event->ev_sender, &ev); request->canceling = true; } @@ -1181,21 +1179,24 @@ dns_request_getresponse(dns_request_t *request, dns_message_t *message, } isc_buffer_t * -dns_request_getanswer(dns_request_t *request) { +dns_request_getanswer(dns_request_t *request) +{ REQUIRE(VALID_REQUEST(request)); return (request->answer); } bool -dns_request_usedtcp(dns_request_t *request) { +dns_request_usedtcp(dns_request_t *request) +{ REQUIRE(VALID_REQUEST(request)); return ((request->flags & DNS_REQUEST_F_TCP) != 0); } void -dns_request_destroy(dns_request_t **requestp) { +dns_request_destroy(dns_request_t **requestp) +{ dns_request_t *request; REQUIRE(requestp != NULL && VALID_REQUEST(*requestp)); @@ -1230,8 +1231,9 @@ dns_request_destroy(dns_request_t **requestp) { ***/ static isc_socket_t * -req_getsocket(dns_request_t *request) { - unsigned int dispattr; +req_getsocket(dns_request_t *request) +{ + unsigned int dispattr; isc_socket_t *sock; dispattr = dns_dispatch_getattributes(request->dispatch); @@ -1245,10 +1247,11 @@ req_getsocket(dns_request_t *request) { } static void -req_connected(isc_task_t *task, isc_event_t *event) { +req_connected(isc_task_t *task, isc_event_t *event) +{ isc_socketevent_t *sevent = (isc_socketevent_t *)event; - isc_result_t result; - dns_request_t *request = event->ev_arg; + isc_result_t result; + dns_request_t * request = event->ev_arg; REQUIRE(event->ev_type == ISC_SOCKEVENT_CONNECT); REQUIRE(VALID_REQUEST(request)); @@ -1283,9 +1286,10 @@ req_connected(isc_task_t *task, isc_event_t *event) { } static void -req_senddone(isc_task_t *task, isc_event_t *event) { +req_senddone(isc_task_t *task, isc_event_t *event) +{ isc_socketevent_t *sevent = (isc_socketevent_t *)event; - dns_request_t *request = event->ev_arg; + dns_request_t * request = event->ev_arg; REQUIRE(event->ev_type == ISC_SOCKEVENT_SENDDONE); REQUIRE(VALID_REQUEST(request)); @@ -1316,11 +1320,12 @@ req_senddone(isc_task_t *task, isc_event_t *event) { } static void -req_response(isc_task_t *task, isc_event_t *event) { - isc_result_t result; - dns_request_t *request = event->ev_arg; +req_response(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result; + dns_request_t * request = event->ev_arg; dns_dispatchevent_t *devent = (dns_dispatchevent_t *)event; - isc_region_t r; + isc_region_t r; REQUIRE(VALID_REQUEST(request)); REQUIRE(event->ev_type == DNS_EVENT_DISPATCH); @@ -1343,7 +1348,7 @@ req_response(isc_task_t *task, isc_event_t *event) { result = isc_buffer_copyregion(request->answer, &r); if (result != ISC_R_SUCCESS) isc_buffer_free(&request->answer); - done: +done: /* * Cleanup. */ @@ -1357,9 +1362,10 @@ req_response(isc_task_t *task, isc_event_t *event) { } static void -req_timeout(isc_task_t *task, isc_event_t *event) { +req_timeout(isc_task_t *task, isc_event_t *event) +{ dns_request_t *request = event->ev_arg; - isc_result_t result; + isc_result_t result; REQUIRE(VALID_REQUEST(request)); @@ -1367,9 +1373,8 @@ req_timeout(isc_task_t *task, isc_event_t *event) { UNUSED(task); LOCK(&request->requestmgr->locks[request->hash]); - if (event->ev_type == ISC_TIMEREVENT_TICK && - request->udpcount-- != 0) { - if (! DNS_REQUEST_SENDING(request)) { + if (event->ev_type == ISC_TIMEREVENT_TICK && request->udpcount-- != 0) { + if (!DNS_REQUEST_SENDING(request)) { result = req_send(request, task, &request->destaddr); if (result != ISC_R_SUCCESS) { req_cancel(request); @@ -1386,7 +1391,8 @@ req_timeout(isc_task_t *task, isc_event_t *event) { } static void -req_sendevent(dns_request_t *request, isc_result_t result) { +req_sendevent(dns_request_t *request, isc_result_t result) +{ isc_task_t *task; REQUIRE(VALID_REQUEST(request)); @@ -1403,7 +1409,8 @@ req_sendevent(dns_request_t *request, isc_result_t result) { } static void -req_destroy(dns_request_t *request) { +req_destroy(dns_request_t *request) +{ REQUIRE(VALID_REQUEST(request)); req_log(ISC_LOG_DEBUG(3), "req_destroy: request %p", request); @@ -1434,9 +1441,10 @@ req_destroy(dns_request_t *request) { * Stop the current request. Must be called from the request's task. */ static void -req_cancel(dns_request_t *request) { +req_cancel(dns_request_t *request) +{ isc_socket_t *sock; - unsigned int dispattr; + unsigned int dispattr; REQUIRE(VALID_REQUEST(request)); @@ -1470,11 +1478,12 @@ req_cancel(dns_request_t *request) { } static void -req_log(int level, const char *fmt, ...) { +req_log(int level, const char *fmt, ...) +{ va_list ap; va_start(ap, fmt); - isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_GENERAL, - DNS_LOGMODULE_REQUEST, level, fmt, ap); + isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_REQUEST, + level, fmt, ap); va_end(ap); } diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c index 87e8792802..f205b05c33 100644 --- a/lib/dns/resolver.c +++ b/lib/dns/resolver.c @@ -20,11 +20,11 @@ #include #include #include -#include #include #include #include #include +#include #include #include #include @@ -63,79 +63,91 @@ #include #include #ifdef WANT_QUERYTRACE -#define RTRACE(m) isc_log_write(dns_lctx, \ - DNS_LOGCATEGORY_RESOLVER, \ - DNS_LOGMODULE_RESOLVER, \ - ISC_LOG_DEBUG(3), \ - "res %p: %s", res, (m)) -#define RRTRACE(r, m) isc_log_write(dns_lctx, \ - DNS_LOGCATEGORY_RESOLVER, \ - DNS_LOGMODULE_RESOLVER, \ - ISC_LOG_DEBUG(3), \ - "res %p: %s", (r), (m)) -#define FCTXTRACE(m) \ - isc_log_write(dns_lctx, \ - DNS_LOGCATEGORY_RESOLVER, \ - DNS_LOGMODULE_RESOLVER, \ - ISC_LOG_DEBUG(3), \ - "fctx %p(%s): %s", \ - fctx, fctx->info, (m)) -#define FCTXTRACE2(m1, m2) \ - isc_log_write(dns_lctx, \ - DNS_LOGCATEGORY_RESOLVER, \ - DNS_LOGMODULE_RESOLVER, \ - ISC_LOG_DEBUG(3), \ - "fctx %p(%s): %s %s", \ - fctx, fctx->info, (m1), (m2)) -#define FCTXTRACE3(m, res) \ - isc_log_write(dns_lctx, \ - DNS_LOGCATEGORY_RESOLVER, \ - DNS_LOGMODULE_RESOLVER, \ - ISC_LOG_DEBUG(3), \ - "fctx %p(%s): [result: %s] %s", \ - fctx, fctx->info, \ - isc_result_totext(res), (m)) -#define FCTXTRACE4(m1, m2, res) \ - isc_log_write(dns_lctx, \ - DNS_LOGCATEGORY_RESOLVER, \ - DNS_LOGMODULE_RESOLVER, \ - ISC_LOG_DEBUG(3), \ - "fctx %p(%s): [result: %s] %s %s", \ - fctx, fctx->info, \ - isc_result_totext(res), (m1), (m2)) -#define FCTXTRACE5(m1, m2, v) \ - isc_log_write(dns_lctx, \ - DNS_LOGCATEGORY_RESOLVER, \ - DNS_LOGMODULE_RESOLVER, \ - ISC_LOG_DEBUG(3), \ - "fctx %p(%s): %s %s%u", \ - fctx, fctx->info, (m1), (m2), (v)) -#define FTRACE(m) isc_log_write(dns_lctx, \ - DNS_LOGCATEGORY_RESOLVER, \ - DNS_LOGMODULE_RESOLVER, \ - ISC_LOG_DEBUG(3), \ - "fetch %p (fctx %p(%s)): %s", \ - fetch, fetch->private, \ - fetch->private->info, (m)) -#define QTRACE(m) isc_log_write(dns_lctx, \ - DNS_LOGCATEGORY_RESOLVER, \ - DNS_LOGMODULE_RESOLVER, \ - ISC_LOG_DEBUG(3), \ - "resquery %p (fctx %p(%s)): %s", \ - query, query->fctx, \ - query->fctx->info, (m)) +#define RTRACE(m) \ + isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, \ + DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(3), "res %p: %s", \ + res, (m)) +#define RRTRACE(r, m) \ + isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, \ + DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(3), "res %p: %s", \ + (r), (m)) +#define FCTXTRACE(m) \ + isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, \ + DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(3), \ + "fctx %p(%s): %s", fctx, fctx->info, (m)) +#define FCTXTRACE2(m1, m2) \ + isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, \ + DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(3), \ + "fctx %p(%s): %s %s", fctx, fctx->info, (m1), (m2)) +#define FCTXTRACE3(m, res) \ + isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, \ + DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(3), \ + "fctx %p(%s): [result: %s] %s", fctx, fctx->info, \ + isc_result_totext(res), (m)) +#define FCTXTRACE4(m1, m2, res) \ + isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, \ + DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(3), \ + "fctx %p(%s): [result: %s] %s %s", fctx, fctx->info, \ + isc_result_totext(res), (m1), (m2)) +#define FCTXTRACE5(m1, m2, v) \ + isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, \ + DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(3), \ + "fctx %p(%s): %s %s%u", fctx, fctx->info, (m1), (m2), \ + (v)) +#define FTRACE(m) \ + isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, \ + DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(3), \ + "fetch %p (fctx %p(%s)): %s", fetch, fetch->private, \ + fetch->private->info, (m)) +#define QTRACE(m) \ + isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, \ + DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(3), \ + "resquery %p (fctx %p(%s)): %s", query, query->fctx, \ + query->fctx->info, (m)) #else -#define RTRACE(m) do { UNUSED(m); } while (0) -#define RRTRACE(r, m) do { UNUSED(r); UNUSED(m); } while (0) -#define FCTXTRACE(m) do { UNUSED(m); } while (0) -#define FCTXTRACE2(m1, m2) do { UNUSED(m1); UNUSED(m2); } while (0) -#define FCTXTRACE3(m1, res) do { UNUSED(m1); UNUSED(res); } while (0) +#define RTRACE(m) \ + do { \ + UNUSED(m); \ + } while (0) +#define RRTRACE(r, m) \ + do { \ + UNUSED(r); \ + UNUSED(m); \ + } while (0) +#define FCTXTRACE(m) \ + do { \ + UNUSED(m); \ + } while (0) +#define FCTXTRACE2(m1, m2) \ + do { \ + UNUSED(m1); \ + UNUSED(m2); \ + } while (0) +#define FCTXTRACE3(m1, res) \ + do { \ + UNUSED(m1); \ + UNUSED(res); \ + } while (0) #define FCTXTRACE4(m1, m2, res) \ - do { UNUSED(m1); UNUSED(m2); UNUSED(res); } while (0) + do { \ + UNUSED(m1); \ + UNUSED(m2); \ + UNUSED(res); \ + } while (0) #define FCTXTRACE5(m1, m2, v) \ - do { UNUSED(m1); UNUSED(m2); UNUSED(v); } while (0) -#define FTRACE(m) do { UNUSED(m); } while (0) -#define QTRACE(m) do { UNUSED(m); } while (0) + do { \ + UNUSED(m1); \ + UNUSED(m2); \ + UNUSED(v); \ + } while (0) +#define FTRACE(m) \ + do { \ + UNUSED(m); \ + } while (0) +#define QTRACE(m) \ + do { \ + UNUSED(m); \ + } while (0) #endif /* WANT_QUERYTRACE */ #define US_PER_SEC 1000000U @@ -144,7 +156,7 @@ * The maximum time we will wait for a single query. */ #define MAX_SINGLE_QUERY_TIMEOUT 9000U -#define MAX_SINGLE_QUERY_TIMEOUT_US (MAX_SINGLE_QUERY_TIMEOUT*US_PER_MSEC) +#define MAX_SINGLE_QUERY_TIMEOUT_US (MAX_SINGLE_QUERY_TIMEOUT * US_PER_MSEC) /* * We need to allow a individual query time to complete / timeout. @@ -173,75 +185,74 @@ /* Number of hash buckets for zone counters */ #ifndef RES_DOMAIN_BUCKETS -#define RES_DOMAIN_BUCKETS 523 +#define RES_DOMAIN_BUCKETS 523 #endif -#define RES_NOBUCKET 0xffffffff +#define RES_NOBUCKET 0xffffffff /*% * Maximum EDNS0 input packet size. */ -#define RECV_BUFFER_SIZE 4096 /* XXXRTH Constant. */ +#define RECV_BUFFER_SIZE 4096 /* XXXRTH Constant. */ /*% * This defines the maximum number of timeouts we will permit before we * disable EDNS0 on the query. */ -#define MAX_EDNS0_TIMEOUTS 3 +#define MAX_EDNS0_TIMEOUTS 3 #define DNS_RESOLVER_BADCACHESIZE 1021 #define DNS_RESOLVER_BADCACHETTL(fctx) \ - (((fctx)->res->lame_ttl > 30 ) ? (fctx)->res->lame_ttl : 30) + (((fctx)->res->lame_ttl > 30) ? (fctx)->res->lame_ttl : 30) typedef struct fetchctx fetchctx_t; typedef struct query { /* Locked by task event serialization. */ - unsigned int magic; - fetchctx_t * fctx; - isc_mem_t * mctx; - dns_dispatchmgr_t * dispatchmgr; - dns_dispatch_t * dispatch; - bool exclusivesocket; - dns_adbaddrinfo_t * addrinfo; - isc_socket_t * tcpsocket; - isc_time_t start; - dns_messageid_t id; - dns_dispentry_t * dispentry; - ISC_LINK(struct query) link; - isc_buffer_t buffer; - isc_buffer_t *tsig; - dns_tsigkey_t *tsigkey; - isc_socketevent_t sendevent; - isc_dscp_t dscp; - int ednsversion; - unsigned int options; - isc_sockeventattr_t attributes; - unsigned int sends; - unsigned int connects; - unsigned int udpsize; - unsigned char data[512]; + unsigned int magic; + fetchctx_t * fctx; + isc_mem_t * mctx; + dns_dispatchmgr_t *dispatchmgr; + dns_dispatch_t * dispatch; + bool exclusivesocket; + dns_adbaddrinfo_t *addrinfo; + isc_socket_t * tcpsocket; + isc_time_t start; + dns_messageid_t id; + dns_dispentry_t * dispentry; + ISC_LINK(struct query) link; + isc_buffer_t buffer; + isc_buffer_t * tsig; + dns_tsigkey_t * tsigkey; + isc_socketevent_t sendevent; + isc_dscp_t dscp; + int ednsversion; + unsigned int options; + isc_sockeventattr_t attributes; + unsigned int sends; + unsigned int connects; + unsigned int udpsize; + unsigned char data[512]; } resquery_t; struct tried { - isc_sockaddr_t addr; - unsigned int count; - ISC_LINK(struct tried) link; + isc_sockaddr_t addr; + unsigned int count; + ISC_LINK(struct tried) link; }; -#define QUERY_MAGIC ISC_MAGIC('Q', '!', '!', '!') -#define VALID_QUERY(query) ISC_MAGIC_VALID(query, QUERY_MAGIC) +#define QUERY_MAGIC ISC_MAGIC('Q', '!', '!', '!') +#define VALID_QUERY(query) ISC_MAGIC_VALID(query, QUERY_MAGIC) -#define RESQUERY_ATTR_CANCELED 0x02 +#define RESQUERY_ATTR_CANCELED 0x02 -#define RESQUERY_CONNECTING(q) ((q)->connects > 0) -#define RESQUERY_CANCELED(q) (((q)->attributes & \ - RESQUERY_ATTR_CANCELED) != 0) -#define RESQUERY_SENDING(q) ((q)->sends > 0) +#define RESQUERY_CONNECTING(q) ((q)->connects > 0) +#define RESQUERY_CANCELED(q) (((q)->attributes & RESQUERY_ATTR_CANCELED) != 0) +#define RESQUERY_SENDING(q) ((q)->sends > 0) typedef enum { - fetchstate_init = 0, /*%< Start event has not run yet. */ + fetchstate_init = 0, /*%< Start event has not run yet. */ fetchstate_active, - fetchstate_done /*%< FETCHDONE events posted. */ + fetchstate_done /*%< FETCHDONE events posted. */ } fetchstate; typedef enum { @@ -253,74 +264,73 @@ typedef enum { struct fetchctx { /*% Not locked. */ - unsigned int magic; - dns_resolver_t * res; - dns_name_t name; - dns_rdatatype_t type; - unsigned int options; - unsigned int bucketnum; - unsigned int dbucketnum; - char * info; - isc_mem_t * mctx; - isc_stdtime_t now; + unsigned int magic; + dns_resolver_t *res; + dns_name_t name; + dns_rdatatype_t type; + unsigned int options; + unsigned int bucketnum; + unsigned int dbucketnum; + char * info; + isc_mem_t * mctx; + isc_stdtime_t now; /* Atomic */ - isc_refcount_t references; - + isc_refcount_t references; /*% Locked by appropriate bucket lock. */ - fetchstate state; - bool want_shutdown; - bool cloned; - bool spilled; - isc_event_t control_event; - ISC_LINK(struct fetchctx) link; - ISC_LIST(dns_fetchevent_t) events; + fetchstate state; + bool want_shutdown; + bool cloned; + bool spilled; + isc_event_t control_event; + ISC_LINK(struct fetchctx) link; + ISC_LIST(dns_fetchevent_t) events; /*% Locked by task event serialization. */ - dns_name_t domain; - dns_rdataset_t nameservers; - atomic_uint_fast32_t attributes; - isc_timer_t * timer; - isc_time_t expires; - isc_interval_t interval; - dns_message_t * qmessage; - dns_message_t * rmessage; - ISC_LIST(resquery_t) queries; - dns_adbfindlist_t finds; - dns_adbfind_t * find; - dns_adbfindlist_t altfinds; - dns_adbfind_t * altfind; - dns_adbaddrinfolist_t forwaddrs; - dns_adbaddrinfolist_t altaddrs; - dns_forwarderlist_t forwarders; - dns_fwdpolicy_t fwdpolicy; - isc_sockaddrlist_t bad; - ISC_LIST(struct tried) edns; - ISC_LIST(struct tried) edns512; - isc_sockaddrlist_t bad_edns; - dns_validator_t * validator; - ISC_LIST(dns_validator_t) validators; - dns_db_t * cache; - dns_adb_t * adb; - bool ns_ttl_ok; - uint32_t ns_ttl; - isc_counter_t * qc; - bool minimized; - unsigned int qmin_labels; - isc_result_t qmin_warning; - bool ip6arpaskip; - bool forwarding; - dns_name_t qminname; - dns_rdatatype_t qmintype; - dns_fetch_t * qminfetch; - dns_rdataset_t qminrrset; - dns_name_t qmindcname; + dns_name_t domain; + dns_rdataset_t nameservers; + atomic_uint_fast32_t attributes; + isc_timer_t * timer; + isc_time_t expires; + isc_interval_t interval; + dns_message_t * qmessage; + dns_message_t * rmessage; + ISC_LIST(resquery_t) queries; + dns_adbfindlist_t finds; + dns_adbfind_t * find; + dns_adbfindlist_t altfinds; + dns_adbfind_t * altfind; + dns_adbaddrinfolist_t forwaddrs; + dns_adbaddrinfolist_t altaddrs; + dns_forwarderlist_t forwarders; + dns_fwdpolicy_t fwdpolicy; + isc_sockaddrlist_t bad; + ISC_LIST(struct tried) edns; + ISC_LIST(struct tried) edns512; + isc_sockaddrlist_t bad_edns; + dns_validator_t * validator; + ISC_LIST(dns_validator_t) validators; + dns_db_t * cache; + dns_adb_t * adb; + bool ns_ttl_ok; + uint32_t ns_ttl; + isc_counter_t * qc; + bool minimized; + unsigned int qmin_labels; + isc_result_t qmin_warning; + bool ip6arpaskip; + bool forwarding; + dns_name_t qminname; + dns_rdatatype_t qmintype; + dns_fetch_t * qminfetch; + dns_rdataset_t qminrrset; + dns_name_t qmindcname; /*% * The number of events we're waiting for. */ - unsigned int pending; /* Bucket lock. */ + unsigned int pending; /* Bucket lock. */ /*% * The number of times we've "restarted" the current @@ -330,76 +340,76 @@ struct fetchctx { * us useful responses, but are responding in such a * way that they are not marked "bad". */ - unsigned int restarts; + unsigned int restarts; /*% * The number of timeouts that have occurred since we * last successfully received a response packet. This * is used for EDNS0 black hole detection. */ - unsigned int timeouts; + unsigned int timeouts; /*% * Look aside state for DS lookups. */ - dns_name_t nsname; - dns_fetch_t * nsfetch; - dns_rdataset_t nsrrset; + dns_name_t nsname; + dns_fetch_t * nsfetch; + dns_rdataset_t nsrrset; /*% * Number of queries that reference this context. */ - unsigned int nqueries; /* Bucket lock. */ + unsigned int nqueries; /* Bucket lock. */ /*% * The reason to print when logging a successful * response to a query. */ - const char * reason; + const char *reason; /*% * Random numbers to use for mixing up server addresses. */ - uint32_t rand_buf; - uint32_t rand_bits; + uint32_t rand_buf; + uint32_t rand_bits; /*% * Fetch-local statistics for detailed logging. */ - isc_result_t result; /*%< fetch result */ - isc_result_t vresult; /*%< validation result */ - int exitline; - isc_time_t start; - uint64_t duration; - bool logged; - unsigned int querysent; - unsigned int referrals; - unsigned int lamecount; - unsigned int quotacount; - unsigned int neterr; - unsigned int badresp; - unsigned int adberr; - unsigned int findfail; - unsigned int valfail; - bool timeout; - dns_adbaddrinfo_t *addrinfo; - const isc_sockaddr_t *client; - dns_messageid_t id; - unsigned int depth; + isc_result_t result; /*%< fetch result */ + isc_result_t vresult; /*%< validation result */ + int exitline; + isc_time_t start; + uint64_t duration; + bool logged; + unsigned int querysent; + unsigned int referrals; + unsigned int lamecount; + unsigned int quotacount; + unsigned int neterr; + unsigned int badresp; + unsigned int adberr; + unsigned int findfail; + unsigned int valfail; + bool timeout; + dns_adbaddrinfo_t * addrinfo; + const isc_sockaddr_t *client; + dns_messageid_t id; + unsigned int depth; }; -#define FCTX_MAGIC ISC_MAGIC('F', '!', '!', '!') -#define VALID_FCTX(fctx) ISC_MAGIC_VALID(fctx, FCTX_MAGIC) +#define FCTX_MAGIC ISC_MAGIC('F', '!', '!', '!') +#define VALID_FCTX(fctx) ISC_MAGIC_VALID(fctx, FCTX_MAGIC) -#define FCTX_ATTR_HAVEANSWER 0x0001 -#define FCTX_ATTR_GLUING 0x0002 -#define FCTX_ATTR_ADDRWAIT 0x0004 -#define FCTX_ATTR_SHUTTINGDOWN 0x0008 /* Bucket lock */ -#define FCTX_ATTR_WANTCACHE 0x0010 -#define FCTX_ATTR_WANTNCACHE 0x0020 -#define FCTX_ATTR_NEEDEDNS0 0x0040 -#define FCTX_ATTR_TRIEDFIND 0x0080 -#define FCTX_ATTR_TRIEDALT 0x0100 +#define FCTX_ATTR_HAVEANSWER 0x0001 +#define FCTX_ATTR_GLUING 0x0002 +#define FCTX_ATTR_ADDRWAIT 0x0004 +#define FCTX_ATTR_SHUTTINGDOWN 0x0008 /* Bucket lock */ +#define FCTX_ATTR_WANTCACHE 0x0010 +#define FCTX_ATTR_WANTNCACHE 0x0020 +#define FCTX_ATTR_NEEDEDNS0 0x0040 +#define FCTX_ATTR_TRIEDFIND 0x0080 +#define FCTX_ATTR_TRIEDALT 0x0100 #define HAVE_ANSWER(f) \ ((atomic_load_acquire(&(f)->attributes) & FCTX_ATTR_HAVEANSWER) != 0) @@ -424,205 +434,210 @@ struct fetchctx { #define FCTX_ATTR_CLR(f, a) atomic_fetch_and_release(&(f)->attributes, ~(a)) typedef struct { - dns_adbaddrinfo_t * addrinfo; - fetchctx_t * fctx; + dns_adbaddrinfo_t *addrinfo; + fetchctx_t * fctx; } dns_valarg_t; struct dns_fetch { - unsigned int magic; - isc_mem_t * mctx; - fetchctx_t * private; + unsigned int magic; + isc_mem_t * mctx; + fetchctx_t *private; }; -#define DNS_FETCH_MAGIC ISC_MAGIC('F', 't', 'c', 'h') -#define DNS_FETCH_VALID(fetch) ISC_MAGIC_VALID(fetch, DNS_FETCH_MAGIC) +#define DNS_FETCH_MAGIC ISC_MAGIC('F', 't', 'c', 'h') +#define DNS_FETCH_VALID(fetch) ISC_MAGIC_VALID(fetch, DNS_FETCH_MAGIC) typedef struct fctxbucket { - isc_task_t * task; - isc_mutex_t lock; - ISC_LIST(fetchctx_t) fctxs; - atomic_bool exiting; - isc_mem_t * mctx; + isc_task_t *task; + isc_mutex_t lock; + ISC_LIST(fetchctx_t) fctxs; + atomic_bool exiting; + isc_mem_t * mctx; } fctxbucket_t; typedef struct fctxcount fctxcount_t; struct fctxcount { - dns_fixedname_t fdname; - dns_name_t *domain; - uint32_t count; - uint32_t allowed; - uint32_t dropped; - isc_stdtime_t logged; - ISC_LINK(fctxcount_t) link; + dns_fixedname_t fdname; + dns_name_t * domain; + uint32_t count; + uint32_t allowed; + uint32_t dropped; + isc_stdtime_t logged; + ISC_LINK(fctxcount_t) link; }; typedef struct zonebucket { - isc_mutex_t lock; - isc_mem_t *mctx; - ISC_LIST(fctxcount_t) list; + isc_mutex_t lock; + isc_mem_t * mctx; + ISC_LIST(fctxcount_t) list; } zonebucket_t; typedef struct alternate { - bool isaddress; - union { - isc_sockaddr_t addr; + bool isaddress; + union { + isc_sockaddr_t addr; struct { - dns_name_t name; - in_port_t port; + dns_name_t name; + in_port_t port; } _n; } _u; - ISC_LINK(struct alternate) link; + ISC_LINK(struct alternate) link; } alternate_t; struct dns_resolver { /* Unlocked. */ - unsigned int magic; - isc_mem_t * mctx; - isc_mutex_t lock; - isc_mutex_t primelock; - dns_rdataclass_t rdclass; - isc_socketmgr_t * socketmgr; - isc_timermgr_t * timermgr; - isc_taskmgr_t * taskmgr; - dns_view_t * view; - bool frozen; - unsigned int options; - dns_dispatchmgr_t * dispatchmgr; - dns_dispatchset_t * dispatches4; - bool exclusivev4; - dns_dispatchset_t * dispatches6; - isc_dscp_t querydscp4; - isc_dscp_t querydscp6; - bool exclusivev6; - unsigned int nbuckets; - fctxbucket_t * buckets; - zonebucket_t * dbuckets; - uint32_t lame_ttl; - ISC_LIST(alternate_t) alternates; - uint16_t udpsize; + unsigned int magic; + isc_mem_t * mctx; + isc_mutex_t lock; + isc_mutex_t primelock; + dns_rdataclass_t rdclass; + isc_socketmgr_t * socketmgr; + isc_timermgr_t * timermgr; + isc_taskmgr_t * taskmgr; + dns_view_t * view; + bool frozen; + unsigned int options; + dns_dispatchmgr_t *dispatchmgr; + dns_dispatchset_t *dispatches4; + bool exclusivev4; + dns_dispatchset_t *dispatches6; + isc_dscp_t querydscp4; + isc_dscp_t querydscp6; + bool exclusivev6; + unsigned int nbuckets; + fctxbucket_t * buckets; + zonebucket_t * dbuckets; + uint32_t lame_ttl; + ISC_LIST(alternate_t) alternates; + uint16_t udpsize; #if USE_ALGLOCK - isc_rwlock_t alglock; + isc_rwlock_t alglock; #endif - dns_rbt_t * algorithms; - dns_rbt_t * digests; + dns_rbt_t *algorithms; + dns_rbt_t *digests; #if USE_MBSLOCK - isc_rwlock_t mbslock; + isc_rwlock_t mbslock; #endif - dns_rbt_t * mustbesecure; - unsigned int spillatmax; - unsigned int spillatmin; - isc_timer_t * spillattimer; - bool zero_no_soa_ttl; - unsigned int query_timeout; - unsigned int maxdepth; - unsigned int maxqueries; - isc_result_t quotaresp[2]; + dns_rbt_t * mustbesecure; + unsigned int spillatmax; + unsigned int spillatmin; + isc_timer_t *spillattimer; + bool zero_no_soa_ttl; + unsigned int query_timeout; + unsigned int maxdepth; + unsigned int maxqueries; + isc_result_t quotaresp[2]; /* Additions for serve-stale feature. */ - unsigned int retryinterval; /* in milliseconds */ - unsigned int nonbackofftries; + unsigned int retryinterval; /* in milliseconds */ + unsigned int nonbackofftries; /* Atomic */ - isc_refcount_t references; - atomic_uint_fast32_t zspill; /* fetches-per-zone */ - atomic_bool exiting; + isc_refcount_t references; + atomic_uint_fast32_t zspill; /* fetches-per-zone */ + atomic_bool exiting; /* Locked by lock. */ - isc_eventlist_t whenshutdown; - unsigned int activebuckets; - bool priming; - unsigned int spillat; /* clients-per-query */ + isc_eventlist_t whenshutdown; + unsigned int activebuckets; + bool priming; + unsigned int spillat; /* clients-per-query */ - dns_badcache_t * badcache; /* Bad cache. */ + dns_badcache_t *badcache; /* Bad cache. */ /* Locked by primelock. */ - dns_fetch_t * primefetch; + dns_fetch_t *primefetch; /* Atomic. */ - atomic_uint_fast32_t nfctx; + atomic_uint_fast32_t nfctx; }; -#define RES_MAGIC ISC_MAGIC('R', 'e', 's', '!') -#define VALID_RESOLVER(res) ISC_MAGIC_VALID(res, RES_MAGIC) +#define RES_MAGIC ISC_MAGIC('R', 'e', 's', '!') +#define VALID_RESOLVER(res) ISC_MAGIC_VALID(res, RES_MAGIC) /*% * Private addrinfo flags. These must not conflict with DNS_FETCHOPT_NOEDNS0 * (0x008) which we also use as an addrinfo flag. */ -#define FCTX_ADDRINFO_MARK 0x00001 -#define FCTX_ADDRINFO_FORWARDER 0x01000 -#define FCTX_ADDRINFO_EDNSOK 0x04000 -#define FCTX_ADDRINFO_NOCOOKIE 0x08000 -#define FCTX_ADDRINFO_BADCOOKIE 0x10000 - -#define UNMARKED(a) (((a)->flags & FCTX_ADDRINFO_MARK) \ - == 0) -#define ISFORWARDER(a) (((a)->flags & \ - FCTX_ADDRINFO_FORWARDER) != 0) -#define NOCOOKIE(a) (((a)->flags & \ - FCTX_ADDRINFO_NOCOOKIE) != 0) -#define EDNSOK(a) (((a)->flags & \ - FCTX_ADDRINFO_EDNSOK) != 0) -#define BADCOOKIE(a) (((a)->flags & \ - FCTX_ADDRINFO_BADCOOKIE) != 0) +#define FCTX_ADDRINFO_MARK 0x00001 +#define FCTX_ADDRINFO_FORWARDER 0x01000 +#define FCTX_ADDRINFO_EDNSOK 0x04000 +#define FCTX_ADDRINFO_NOCOOKIE 0x08000 +#define FCTX_ADDRINFO_BADCOOKIE 0x10000 +#define UNMARKED(a) (((a)->flags & FCTX_ADDRINFO_MARK) == 0) +#define ISFORWARDER(a) (((a)->flags & FCTX_ADDRINFO_FORWARDER) != 0) +#define NOCOOKIE(a) (((a)->flags & FCTX_ADDRINFO_NOCOOKIE) != 0) +#define EDNSOK(a) (((a)->flags & FCTX_ADDRINFO_EDNSOK) != 0) +#define BADCOOKIE(a) (((a)->flags & FCTX_ADDRINFO_BADCOOKIE) != 0) #define NXDOMAIN(r) (((r)->attributes & DNS_RDATASETATTR_NXDOMAIN) != 0) #define NEGATIVE(r) (((r)->attributes & DNS_RDATASETATTR_NEGATIVE) != 0) -#define NXDOMAIN_RESULT(r) ((r) == DNS_R_NXDOMAIN || \ - (r) == DNS_R_NCACHENXDOMAIN) -#define NXRRSET_RESULT(r) ((r) == DNS_R_NCACHENXRRSET || \ - (r) == DNS_R_NXRRSET || \ - (r) == DNS_R_HINTNXRRSET) +#define NXDOMAIN_RESULT(r) \ + ((r) == DNS_R_NXDOMAIN || (r) == DNS_R_NCACHENXDOMAIN) +#define NXRRSET_RESULT(r) \ + ((r) == DNS_R_NCACHENXRRSET || (r) == DNS_R_NXRRSET || \ + (r) == DNS_R_HINTNXRRSET) #ifdef ENABLE_AFL bool dns_fuzzing_resolver = false; -void dns_resolver_setfuzzing() { +void +dns_resolver_setfuzzing() +{ dns_fuzzing_resolver = true; } #endif -static unsigned char ip6_arpa_data[] = "\003IP6\004ARPA"; -static unsigned char ip6_arpa_offsets[] = { 0, 4, 9 }; +static unsigned char ip6_arpa_data[] = "\003IP6\004ARPA"; +static unsigned char ip6_arpa_offsets[] = { 0, 4, 9 }; static const dns_name_t ip6_arpa = DNS_NAME_INITABSOLUTE(ip6_arpa_data, ip6_arpa_offsets); -static unsigned char underscore_data[] = "\001_"; -static unsigned char underscore_offsets[] = { 0 }; +static unsigned char underscore_data[] = "\001_"; +static unsigned char underscore_offsets[] = { 0 }; static const dns_name_t underscore_name = DNS_NAME_INITNONABSOLUTE(underscore_data, underscore_offsets); -static void destroy(dns_resolver_t *res); -static void empty_bucket(dns_resolver_t *res); -static isc_result_t resquery_send(resquery_t *query); -static void resquery_response(isc_task_t *task, isc_event_t *event); -static void resquery_connected(isc_task_t *task, isc_event_t *event); -static void fctx_try(fetchctx_t *fctx, bool retrying, - bool badcache); -static isc_result_t fctx_minimize_qname(fetchctx_t *fctx); -static void fctx_destroy(fetchctx_t *fctx); -static bool fctx_unlink(fetchctx_t *fctx); -static isc_result_t ncache_adderesult(dns_message_t *message, - dns_db_t *cache, dns_dbnode_t *node, - dns_rdatatype_t covers, - isc_stdtime_t now, - dns_ttl_t minttl, - dns_ttl_t maxttl, - bool optout, - bool secure, - dns_rdataset_t *ardataset, - isc_result_t *eresultp); -static void validated(isc_task_t *task, isc_event_t *event); -static bool maybe_destroy(fetchctx_t *fctx, bool locked); -static void add_bad(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, - isc_result_t reason, badnstype_t badtype); -static inline isc_result_t findnoqname(fetchctx_t *fctx, dns_name_t *name, - dns_rdatatype_t type, - dns_name_t **noqname); -static void fctx_increference(fetchctx_t *fctx); -static bool fctx_decreference(fetchctx_t *fctx); -static void resume_qmin(isc_task_t *task, isc_event_t *event); +static void +destroy(dns_resolver_t *res); +static void +empty_bucket(dns_resolver_t *res); +static isc_result_t +resquery_send(resquery_t *query); +static void +resquery_response(isc_task_t *task, isc_event_t *event); +static void +resquery_connected(isc_task_t *task, isc_event_t *event); +static void +fctx_try(fetchctx_t *fctx, bool retrying, bool badcache); +static isc_result_t +fctx_minimize_qname(fetchctx_t *fctx); +static void +fctx_destroy(fetchctx_t *fctx); +static bool +fctx_unlink(fetchctx_t *fctx); +static isc_result_t +ncache_adderesult(dns_message_t *message, dns_db_t *cache, dns_dbnode_t *node, + dns_rdatatype_t covers, isc_stdtime_t now, dns_ttl_t minttl, + dns_ttl_t maxttl, bool optout, bool secure, + dns_rdataset_t *ardataset, isc_result_t *eresultp); +static void +validated(isc_task_t *task, isc_event_t *event); +static bool +maybe_destroy(fetchctx_t *fctx, bool locked); +static void +add_bad(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, isc_result_t reason, + badnstype_t badtype); +static inline isc_result_t +findnoqname(fetchctx_t *fctx, dns_name_t *name, dns_rdatatype_t type, + dns_name_t **noqname); +static void +fctx_increference(fetchctx_t *fctx); +static bool +fctx_decreference(fetchctx_t *fctx); +static void +resume_qmin(isc_task_t *task, isc_event_t *event); /*% * The structure and functions defined below implement the resolver @@ -692,66 +707,66 @@ static void resume_qmin(isc_task_t *task, isc_event_t *event); */ typedef struct respctx { - isc_task_t *task; + isc_task_t * task; dns_dispatchevent_t *devent; - resquery_t *query; - fetchctx_t *fctx; - isc_result_t result; - unsigned int retryopts; /* updated options to pass to + resquery_t * query; + fetchctx_t * fctx; + isc_result_t result; + unsigned int retryopts; /* updated options to pass to * fctx_query() when resending */ - dns_rdatatype_t type; /* type being sought (set to - * ANY if qtype was SIG or RRSIG) */ - bool aa; /* authoritative answer? */ - dns_trust_t trust; /* answer trust level */ - bool chaining; /* CNAME/DNAME processing? */ - bool next_server; /* give up, try the next server */ + dns_rdatatype_t type; /* type being sought (set to + * ANY if qtype was SIG or RRSIG) */ + bool aa; /* authoritative answer? */ + dns_trust_t trust; /* answer trust level */ + bool chaining; /* CNAME/DNAME processing? */ + bool next_server; /* give up, try the next server */ - badnstype_t broken_type; /* type of name server problem */ + badnstype_t broken_type; /* type of name server problem */ isc_result_t broken_server; - bool get_nameservers; /* get a new NS rrset at zone cut? */ - bool resend; /* resend this query? */ - bool nextitem; /* invalid response; keep - * listening for the correct one */ - bool truncated; /* response was truncated */ - bool no_response; /* no response was received */ - bool glue_in_answer; /* glue may be in the answer section */ - bool ns_in_answer; /* NS may be in the answer section */ - bool negative; /* is this a negative response? */ + bool get_nameservers; /* get a new NS rrset at zone cut? */ + bool resend; /* resend this query? */ + bool nextitem; /* invalid response; keep + * listening for the correct one */ + bool truncated; /* response was truncated */ + bool no_response; /* no response was received */ + bool glue_in_answer; /* glue may be in the answer section */ + bool ns_in_answer; /* NS may be in the answer section */ + bool negative; /* is this a negative response? */ - isc_stdtime_t now; /* time info */ - isc_time_t tnow; - isc_time_t *finish; + isc_stdtime_t now; /* time info */ + isc_time_t tnow; + isc_time_t * finish; unsigned int dname_labels; - unsigned int domain_labels; /* range of permissible number of - * labels in a DNAME */ + unsigned int domain_labels; /* range of permissible number of + * labels in a DNAME */ - dns_name_t *aname; /* answer name */ - dns_rdataset_t *ardataset; /* answer rdataset */ + dns_name_t * aname; /* answer name */ + dns_rdataset_t *ardataset; /* answer rdataset */ - dns_name_t *cname; /* CNAME name */ - dns_rdataset_t *crdataset; /* CNAME rdataset */ + dns_name_t * cname; /* CNAME name */ + dns_rdataset_t *crdataset; /* CNAME rdataset */ - dns_name_t *dname; /* DNAME name */ - dns_rdataset_t *drdataset; /* DNAME rdataset */ + dns_name_t * dname; /* DNAME name */ + dns_rdataset_t *drdataset; /* DNAME rdataset */ - dns_name_t *ns_name; /* NS name */ - dns_rdataset_t *ns_rdataset; /* NS rdataset */ + dns_name_t * ns_name; /* NS name */ + dns_rdataset_t *ns_rdataset; /* NS rdataset */ - dns_name_t *soa_name; /* SOA name in a negative answer */ - dns_name_t *ds_name; /* DS name in a negative answer */ + dns_name_t *soa_name; /* SOA name in a negative answer */ + dns_name_t *ds_name; /* DS name in a negative answer */ - dns_name_t *found_name; /* invalid name in negative response */ - dns_rdatatype_t found_type; /* invalid type in negative response */ + dns_name_t * found_name; /* invalid name in negative response */ + dns_rdatatype_t found_type; /* invalid type in negative response */ - dns_rdataset_t *opt; /* OPT rdataset */ + dns_rdataset_t *opt; /* OPT rdataset */ } respctx_t; static void -rctx_respinit(isc_task_t *task, dns_dispatchevent_t *devent, - resquery_t *query, fetchctx_t *fctx, respctx_t *rctx); +rctx_respinit(isc_task_t *task, dns_dispatchevent_t *devent, resquery_t *query, + fetchctx_t *fctx, respctx_t *rctx); static void rctx_answer_init(respctx_t *rctx); @@ -838,18 +853,19 @@ rctx_delonly_zone(respctx_t *rctx); static void rctx_ncache(respctx_t *rctx); - /*% * Increment resolver-related statistics counters. */ static inline void -inc_stats(dns_resolver_t *res, isc_statscounter_t counter) { +inc_stats(dns_resolver_t *res, isc_statscounter_t counter) +{ if (res->view->resstats != NULL) isc_stats_increment(res->view->resstats, counter); } static inline void -dec_stats(dns_resolver_t *res, isc_statscounter_t counter) { +dec_stats(dns_resolver_t *res, isc_statscounter_t counter) +{ if (res->view->resstats != NULL) isc_stats_decrement(res->view->resstats, counter); } @@ -861,8 +877,8 @@ valcreate(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, dns_name_t *name, isc_task_t *task) { dns_validator_t *validator = NULL; - dns_valarg_t *valarg; - isc_result_t result; + dns_valarg_t * valarg; + isc_result_t result; valarg = isc_mem_get(fctx->mctx, sizeof(*valarg)); @@ -875,9 +891,8 @@ valcreate(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, dns_name_t *name, valoptions &= ~DNS_VALIDATOR_DEFER; result = dns_validator_create(fctx->res->view, name, type, rdataset, - sigrdataset, fctx->rmessage, - valoptions, task, validated, valarg, - &validator); + sigrdataset, fctx->rmessage, valoptions, + task, validated, valarg, &validator); if (result == ISC_R_SUCCESS) { inc_stats(fctx->res, dns_resstatscounter_val); if ((valoptions & DNS_VALIDATOR_DEFER) == 0) { @@ -891,16 +906,16 @@ valcreate(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, dns_name_t *name, } static bool -rrsig_fromchildzone(fetchctx_t *fctx, dns_rdataset_t *rdataset) { - dns_namereln_t namereln; +rrsig_fromchildzone(fetchctx_t *fctx, dns_rdataset_t *rdataset) +{ + dns_namereln_t namereln; dns_rdata_rrsig_t rrsig; - dns_rdata_t rdata = DNS_RDATA_INIT; - int order; - isc_result_t result; - unsigned int labels; + dns_rdata_t rdata = DNS_RDATA_INIT; + int order; + isc_result_t result; + unsigned int labels; - for (result = dns_rdataset_first(rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(rdataset)) { dns_rdataset_current(rdataset, &rdata); result = dns_rdata_tostruct(&rdata, &rrsig, NULL); @@ -915,13 +930,14 @@ rrsig_fromchildzone(fetchctx_t *fctx, dns_rdataset_t *rdataset) { } static bool -fix_mustbedelegationornxdomain(dns_message_t *message, fetchctx_t *fctx) { - dns_name_t *name; - dns_name_t *domain = &fctx->domain; +fix_mustbedelegationornxdomain(dns_message_t *message, fetchctx_t *fctx) +{ + dns_name_t * name; + dns_name_t * domain = &fctx->domain; dns_rdataset_t *rdataset; dns_rdatatype_t type; - isc_result_t result; - bool keep_auth = false; + isc_result_t result; + bool keep_auth = false; if (message->rcode == dns_rcode_nxdomain) return (false); @@ -958,8 +974,7 @@ fix_mustbedelegationornxdomain(dns_message_t *message, fetchctx_t *fctx) { */ if (message->counts[DNS_SECTION_ANSWER] != 0 && - (fctx->type == dns_rdatatype_ns || - fctx->type == dns_rdatatype_ds || + (fctx->type == dns_rdatatype_ns || fctx->type == dns_rdatatype_ds || fctx->type == dns_rdatatype_soa || fctx->type == dns_rdatatype_any || fctx->type == dns_rdatatype_rrsig || @@ -1020,8 +1035,7 @@ fix_mustbedelegationornxdomain(dns_message_t *message, fetchctx_t *fctx) { while (result == ISC_R_SUCCESS) { name = NULL; dns_message_currentname(message, DNS_SECTION_AUTHORITY, &name); - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { type = rdataset->type; if (type == dns_rdatatype_soa && @@ -1062,7 +1076,7 @@ fix_mustbedelegationornxdomain(dns_message_t *message, fetchctx_t *fctx) { result = dns_message_nextname(message, DNS_SECTION_AUTHORITY); } - munge: +munge: message->rcode = dns_rcode_nxdomain; message->counts[DNS_SECTION_ANSWER] = 0; if (!keep_auth) @@ -1072,7 +1086,8 @@ fix_mustbedelegationornxdomain(dns_message_t *message, fetchctx_t *fctx) { } static inline isc_result_t -fctx_starttimer(fetchctx_t *fctx) { +fctx_starttimer(fetchctx_t *fctx) +{ /* * Start the lifetime timer for fctx. * @@ -1080,12 +1095,13 @@ fctx_starttimer(fetchctx_t *fctx) { * case we must purge events already posted to ensure that * no further idle events are delivered. */ - return (isc_timer_reset(fctx->timer, isc_timertype_once, - &fctx->expires, NULL, true)); + return (isc_timer_reset(fctx->timer, isc_timertype_once, &fctx->expires, + NULL, true)); } static inline void -fctx_stoptimer(fetchctx_t *fctx) { +fctx_stoptimer(fetchctx_t *fctx) +{ isc_result_t result; /* @@ -1094,38 +1110,39 @@ fctx_stoptimer(fetchctx_t *fctx) { * should never fail anyway, since the code as currently written * cannot fail in that case. */ - result = isc_timer_reset(fctx->timer, isc_timertype_inactive, - NULL, NULL, true); + result = isc_timer_reset(fctx->timer, isc_timertype_inactive, NULL, + NULL, true); if (result != ISC_R_SUCCESS) { - UNEXPECTED_ERROR(__FILE__, __LINE__, - "isc_timer_reset(): %s", + UNEXPECTED_ERROR(__FILE__, __LINE__, "isc_timer_reset(): %s", isc_result_totext(result)); } } static inline isc_result_t -fctx_startidletimer(fetchctx_t *fctx, isc_interval_t *interval) { +fctx_startidletimer(fetchctx_t *fctx, isc_interval_t *interval) +{ /* * Start the idle timer for fctx. The lifetime timer continues * to be in effect. */ - return (isc_timer_reset(fctx->timer, isc_timertype_once, - &fctx->expires, interval, false)); + return (isc_timer_reset(fctx->timer, isc_timertype_once, &fctx->expires, + interval, false)); } /* * Stopping the idle timer is equivalent to calling fctx_starttimer(), but * we use fctx_stopidletimer for readability in the code below. */ -#define fctx_stopidletimer fctx_starttimer +#define fctx_stopidletimer fctx_starttimer static inline void -resquery_destroy(resquery_t **queryp) { +resquery_destroy(resquery_t **queryp) +{ dns_resolver_t *res; - bool empty; - resquery_t *query; - fetchctx_t *fctx; - unsigned int bucket; + bool empty; + resquery_t * query; + fetchctx_t * fctx; + unsigned int bucket; REQUIRE(queryp != NULL); query = *queryp; @@ -1155,7 +1172,8 @@ resquery_destroy(resquery_t **queryp) { * query sent to it. */ static void -update_edns_stats(resquery_t *query) { +update_edns_stats(resquery_t *query) +{ fetchctx_t *fctx = query->fctx; if ((query->options & DNS_FETCHOPT_TCP) != 0) { @@ -1171,17 +1189,16 @@ update_edns_stats(resquery_t *query) { static void fctx_cancelquery(resquery_t **queryp, dns_dispatchevent_t **deventp, - isc_time_t *finish, bool no_response, - bool age_untried) + isc_time_t *finish, bool no_response, bool age_untried) { - fetchctx_t *fctx; - resquery_t *query; - unsigned int rtt, rttms; - unsigned int factor; - dns_adbfind_t *find; + fetchctx_t * fctx; + resquery_t * query; + unsigned int rtt, rttms; + unsigned int factor; + dns_adbfind_t * find; dns_adbaddrinfo_t *addrinfo; - isc_socket_t *sock; - isc_stdtime_t now; + isc_socket_t * sock; + isc_stdtime_t now; query = *queryp; fctx = query->fctx; @@ -1237,8 +1254,7 @@ fctx_cancelquery(resquery_t **queryp, dns_dispatchevent_t **deventp, * context. */ if (fctx->fwdpolicy == dns_fwdpolicy_first && - ISFORWARDER(query->addrinfo)) - { + ISFORWARDER(query->addrinfo)) { add_bad(fctx, query->addrinfo, ISC_R_TIMEDOUT, badns_forwarder); } @@ -1303,8 +1319,7 @@ fctx_cancelquery(resquery_t **queryp, dns_dispatchevent_t **deventp, dns_adb_agesrtt(fctx->adb, addrinfo, now); if ((finish != NULL || age_untried) && TRIEDFIND(fctx)) - for (find = ISC_LIST_HEAD(fctx->finds); - find != NULL; + for (find = ISC_LIST_HEAD(fctx->finds); find != NULL; find = ISC_LIST_NEXT(find, publink)) for (addrinfo = ISC_LIST_HEAD(find->list); addrinfo != NULL; @@ -1314,13 +1329,11 @@ fctx_cancelquery(resquery_t **queryp, dns_dispatchevent_t **deventp, now); if ((finish != NULL || age_untried) && TRIEDALT(fctx)) { - for (addrinfo = ISC_LIST_HEAD(fctx->altaddrs); - addrinfo != NULL; + for (addrinfo = ISC_LIST_HEAD(fctx->altaddrs); addrinfo != NULL; addrinfo = ISC_LIST_NEXT(addrinfo, publink)) if (UNMARKED(addrinfo)) dns_adb_agesrtt(fctx->adb, addrinfo, now); - for (find = ISC_LIST_HEAD(fctx->altfinds); - find != NULL; + for (find = ISC_LIST_HEAD(fctx->altfinds); find != NULL; find = ISC_LIST_NEXT(find, publink)) for (addrinfo = ISC_LIST_HEAD(find->list); addrinfo != NULL; @@ -1377,7 +1390,7 @@ fctx_cancelquery(resquery_t **queryp, dns_dispatchevent_t **deventp, if (query->dispatch != NULL) dns_dispatch_detach(&query->dispatch); - if (! (RESQUERY_CONNECTING(query) || RESQUERY_SENDING(query))) + if (!(RESQUERY_CONNECTING(query) || RESQUERY_SENDING(query))) /* * It's safe to destroy the query now. */ @@ -1385,32 +1398,28 @@ fctx_cancelquery(resquery_t **queryp, dns_dispatchevent_t **deventp, } static void -fctx_cancelqueries(fetchctx_t *fctx, bool no_response, - bool age_untried) +fctx_cancelqueries(fetchctx_t *fctx, bool no_response, bool age_untried) { resquery_t *query, *next_query; FCTXTRACE("cancelqueries"); - for (query = ISC_LIST_HEAD(fctx->queries); - query != NULL; + for (query = ISC_LIST_HEAD(fctx->queries); query != NULL; query = next_query) { next_query = ISC_LIST_NEXT(query, link); - fctx_cancelquery(&query, NULL, NULL, no_response, - age_untried); + fctx_cancelquery(&query, NULL, NULL, no_response, age_untried); } } static void -fctx_cleanupfinds(fetchctx_t *fctx) { +fctx_cleanupfinds(fetchctx_t *fctx) +{ dns_adbfind_t *find, *next_find; REQUIRE(ISC_LIST_EMPTY(fctx->queries)); - for (find = ISC_LIST_HEAD(fctx->finds); - find != NULL; - find = next_find) - { + for (find = ISC_LIST_HEAD(fctx->finds); find != NULL; + find = next_find) { next_find = ISC_LIST_NEXT(find, publink); ISC_LIST_UNLINK(fctx->finds, find, publink); dns_adb_destroyfind(&find); @@ -1419,15 +1428,14 @@ fctx_cleanupfinds(fetchctx_t *fctx) { } static void -fctx_cleanupaltfinds(fetchctx_t *fctx) { +fctx_cleanupaltfinds(fetchctx_t *fctx) +{ dns_adbfind_t *find, *next_find; REQUIRE(ISC_LIST_EMPTY(fctx->queries)); - for (find = ISC_LIST_HEAD(fctx->altfinds); - find != NULL; - find = next_find) - { + for (find = ISC_LIST_HEAD(fctx->altfinds); find != NULL; + find = next_find) { next_find = ISC_LIST_NEXT(find, publink); ISC_LIST_UNLINK(fctx->altfinds, find, publink); dns_adb_destroyfind(&find); @@ -1436,15 +1444,14 @@ fctx_cleanupaltfinds(fetchctx_t *fctx) { } static void -fctx_cleanupforwaddrs(fetchctx_t *fctx) { +fctx_cleanupforwaddrs(fetchctx_t *fctx) +{ dns_adbaddrinfo_t *addr, *next_addr; REQUIRE(ISC_LIST_EMPTY(fctx->queries)); - for (addr = ISC_LIST_HEAD(fctx->forwaddrs); - addr != NULL; - addr = next_addr) - { + for (addr = ISC_LIST_HEAD(fctx->forwaddrs); addr != NULL; + addr = next_addr) { next_addr = ISC_LIST_NEXT(addr, publink); ISC_LIST_UNLINK(fctx->forwaddrs, addr, publink); dns_adb_freeaddrinfo(fctx->adb, &addr); @@ -1452,15 +1459,14 @@ fctx_cleanupforwaddrs(fetchctx_t *fctx) { } static void -fctx_cleanupaltaddrs(fetchctx_t *fctx) { +fctx_cleanupaltaddrs(fetchctx_t *fctx) +{ dns_adbaddrinfo_t *addr, *next_addr; REQUIRE(ISC_LIST_EMPTY(fctx->queries)); - for (addr = ISC_LIST_HEAD(fctx->altaddrs); - addr != NULL; - addr = next_addr) - { + for (addr = ISC_LIST_HEAD(fctx->altaddrs); addr != NULL; + addr = next_addr) { next_addr = ISC_LIST_NEXT(addr, publink); ISC_LIST_UNLINK(fctx->altaddrs, addr, publink); dns_adb_freeaddrinfo(fctx->adb, &addr); @@ -1468,8 +1474,7 @@ fctx_cleanupaltaddrs(fetchctx_t *fctx) { } static inline void -fctx_stopqueries(fetchctx_t *fctx, bool no_response, - bool age_untried) +fctx_stopqueries(fetchctx_t *fctx, bool no_response, bool age_untried) { FCTXTRACE("stopqueries"); fctx_cancelqueries(fctx, no_response, age_untried); @@ -1477,7 +1482,8 @@ fctx_stopqueries(fetchctx_t *fctx, bool no_response, } static inline void -fctx_cleanupall(fetchctx_t *fctx) { +fctx_cleanupall(fetchctx_t *fctx) +{ fctx_cleanupfinds(fctx); fctx_cleanupaltfinds(fctx); fctx_cleanupforwaddrs(fctx); @@ -1485,11 +1491,12 @@ fctx_cleanupall(fetchctx_t *fctx) { } static void -fcount_logspill(fetchctx_t *fctx, fctxcount_t *counter) { - char dbuf[DNS_NAME_FORMATSIZE]; +fcount_logspill(fetchctx_t *fctx, fctxcount_t *counter) +{ + char dbuf[DNS_NAME_FORMATSIZE]; isc_stdtime_t now; - if (! isc_log_wouldlog(dns_lctx, ISC_LOG_INFO)) + if (!isc_log_wouldlog(dns_lctx, ISC_LOG_INFO)) return; isc_stdtime_get(&now); @@ -1498,8 +1505,8 @@ fcount_logspill(fetchctx_t *fctx, fctxcount_t *counter) { dns_name_format(&fctx->domain, dbuf, sizeof(dbuf)); - isc_log_write(dns_lctx, DNS_LOGCATEGORY_SPILL, - DNS_LOGMODULE_RESOLVER, ISC_LOG_INFO, + isc_log_write(dns_lctx, DNS_LOGCATEGORY_SPILL, DNS_LOGMODULE_RESOLVER, + ISC_LOG_INFO, "too many simultaneous fetches for %s " "(allowed %d spilled %d)", dbuf, counter->allowed, counter->dropped); @@ -1508,26 +1515,25 @@ fcount_logspill(fetchctx_t *fctx, fctxcount_t *counter) { } static isc_result_t -fcount_incr(fetchctx_t *fctx, bool force) { - isc_result_t result = ISC_R_SUCCESS; +fcount_incr(fetchctx_t *fctx, bool force) +{ + isc_result_t result = ISC_R_SUCCESS; zonebucket_t *dbucket; - fctxcount_t *counter; - unsigned int bucketnum; + fctxcount_t * counter; + unsigned int bucketnum; REQUIRE(fctx != NULL); REQUIRE(fctx->res != NULL); INSIST(fctx->dbucketnum == RES_NOBUCKET); - bucketnum = dns_name_fullhash(&fctx->domain, false) - % RES_DOMAIN_BUCKETS; + bucketnum = + dns_name_fullhash(&fctx->domain, false) % RES_DOMAIN_BUCKETS; dbucket = &fctx->res->dbuckets[bucketnum]; LOCK(&dbucket->lock); - for (counter = ISC_LIST_HEAD(dbucket->list); - counter != NULL; - counter = ISC_LIST_NEXT(counter, link)) - { + for (counter = ISC_LIST_HEAD(dbucket->list); counter != NULL; + counter = ISC_LIST_NEXT(counter, link)) { if (dns_name_equal(counter->domain, &fctx->domain)) break; } @@ -1540,7 +1546,8 @@ fcount_incr(fetchctx_t *fctx, bool force) { counter->logged = 0; counter->allowed = 1; counter->dropped = 0; - counter->domain = dns_fixedname_initname(&counter->fdname); + counter->domain = + dns_fixedname_initname(&counter->fdname); dns_name_copynf(&fctx->domain, counter->domain); ISC_LIST_APPEND(dbucket->list, counter, link); } @@ -1564,9 +1571,10 @@ fcount_incr(fetchctx_t *fctx, bool force) { } static void -fcount_decr(fetchctx_t *fctx) { +fcount_decr(fetchctx_t *fctx) +{ zonebucket_t *dbucket; - fctxcount_t *counter; + fctxcount_t * counter; REQUIRE(fctx != NULL); @@ -1576,10 +1584,8 @@ fcount_decr(fetchctx_t *fctx) { dbucket = &fctx->res->dbuckets[fctx->dbucketnum]; LOCK(&dbucket->lock); - for (counter = ISC_LIST_HEAD(dbucket->list); - counter != NULL; - counter = ISC_LIST_NEXT(counter, link)) - { + for (counter = ISC_LIST_HEAD(dbucket->list); counter != NULL; + counter = ISC_LIST_NEXT(counter, link)) { if (dns_name_equal(counter->domain, &fctx->domain)) break; } @@ -1599,16 +1605,17 @@ fcount_decr(fetchctx_t *fctx) { } static inline void -fctx_sendevents(fetchctx_t *fctx, isc_result_t result, int line) { +fctx_sendevents(fetchctx_t *fctx, isc_result_t result, int line) +{ dns_fetchevent_t *event, *next_event; - isc_task_t *task; - unsigned int count = 0; - isc_interval_t i; - bool logit = false; - isc_time_t now; - unsigned int old_spillat; - unsigned int new_spillat = 0; /* initialized to silence - compiler warnings */ + isc_task_t * task; + unsigned int count = 0; + isc_interval_t i; + bool logit = false; + isc_time_t now; + unsigned int old_spillat; + unsigned int new_spillat = 0; /* initialized to silence + compiler warnings */ /* * Caller must be holding the appropriate bucket lock. @@ -1625,8 +1632,7 @@ fctx_sendevents(fetchctx_t *fctx, isc_result_t result, int line) { TIME_NOW(&now); fctx->duration = isc_time_microdiff(&now, &fctx->start); - for (event = ISC_LIST_HEAD(fctx->events); - event != NULL; + for (event = ISC_LIST_HEAD(fctx->events); event != NULL; event = next_event) { next_event = ISC_LIST_NEXT(event, ev_link); ISC_LIST_UNLINK(fctx->events, event, ev_link); @@ -1671,8 +1677,8 @@ fctx_sendevents(fetchctx_t *fctx, isc_result_t result, int line) { } isc_interval_set(&i, 20 * 60, 0); result = isc_timer_reset(fctx->res->spillattimer, - isc_timertype_ticker, NULL, - &i, true); + isc_timertype_ticker, NULL, &i, + true); RUNTIME_CHECK(result == ISC_R_SUCCESS); } UNLOCK(&fctx->res->lock); @@ -1685,7 +1691,8 @@ fctx_sendevents(fetchctx_t *fctx, isc_result_t result, int line) { } static inline void -log_edns(fetchctx_t *fctx) { +log_edns(fetchctx_t *fctx) +{ char domainbuf[DNS_NAME_FORMATSIZE]; if (fctx->reason == NULL) @@ -1698,15 +1705,16 @@ log_edns(fetchctx_t *fctx) { dns_name_format(&fctx->domain, domainbuf, sizeof(domainbuf)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_EDNS_DISABLED, DNS_LOGMODULE_RESOLVER, ISC_LOG_INFO, - "success resolving '%s' (in '%s'?) after %s", - fctx->info, domainbuf, fctx->reason); + "success resolving '%s' (in '%s'?) after %s", fctx->info, + domainbuf, fctx->reason); } static void -fctx_done(fetchctx_t *fctx, isc_result_t result, int line) { +fctx_done(fetchctx_t *fctx, isc_result_t result, int line) +{ dns_resolver_t *res; - bool no_response = false; - bool age_untried = false; + bool no_response = false; + bool age_untried = false; REQUIRE(line >= 0); @@ -1724,7 +1732,8 @@ fctx_done(fetchctx_t *fctx, isc_result_t result, int line) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_LAME_SERVERS, DNS_LOGMODULE_RESOLVER, ISC_LOG_INFO, "success resolving '%s' " - "after disabling qname minimization due to '%s'", + "after disabling qname minimization due " + "to '%s'", fctx->info, isc_result_totext(fctx->qmin_warning)); } @@ -1747,12 +1756,13 @@ fctx_done(fetchctx_t *fctx, isc_result_t result, int line) { } static void -process_sendevent(resquery_t *query, isc_event_t *event) { +process_sendevent(resquery_t *query, isc_event_t *event) +{ isc_socketevent_t *sevent = (isc_socketevent_t *)event; - bool destroy_query = false; - bool retry = false; - isc_result_t result; - fetchctx_t *fctx; + bool destroy_query = false; + bool retry = false; + isc_result_t result; + fetchctx_t * fctx; fctx = query->fctx; @@ -1785,8 +1795,7 @@ process_sendevent(resquery_t *query, isc_event_t *event) { */ add_bad(fctx, query->addrinfo, sevent->result, badns_unreachable); - fctx_cancelquery(&query, NULL, NULL, true, - false); + fctx_cancelquery(&query, NULL, NULL, true, false); retry = true; break; @@ -1795,8 +1804,7 @@ process_sendevent(resquery_t *query, isc_event_t *event) { "unexpected event result; responding", sevent->result); - fctx_cancelquery(&query, NULL, NULL, false, - false); + fctx_cancelquery(&query, NULL, NULL, false, false); break; } } @@ -1822,7 +1830,8 @@ process_sendevent(resquery_t *query, isc_event_t *event) { } static void -resquery_udpconnected(isc_task_t *task, isc_event_t *event) { +resquery_udpconnected(isc_task_t *task, isc_event_t *event) +{ resquery_t *query = event->ev_arg; REQUIRE(event->ev_type == ISC_SOCKEVENT_CONNECT); @@ -1839,7 +1848,8 @@ resquery_udpconnected(isc_task_t *task, isc_event_t *event) { } static void -resquery_senddone(isc_task_t *task, isc_event_t *event) { +resquery_senddone(isc_task_t *task, isc_event_t *event) +{ resquery_t *query = event->ev_arg; REQUIRE(event->ev_type == ISC_SOCKEVENT_SENDDONE); @@ -1864,11 +1874,11 @@ resquery_senddone(isc_task_t *task, isc_event_t *event) { } static inline isc_result_t -fctx_addopt(dns_message_t *message, unsigned int version, - uint16_t udpsize, dns_ednsopt_t *ednsopts, size_t count) +fctx_addopt(dns_message_t *message, unsigned int version, uint16_t udpsize, + dns_ednsopt_t *ednsopts, size_t count) { dns_rdataset_t *rdataset = NULL; - isc_result_t result; + isc_result_t result; result = dns_message_buildopt(message, &rdataset, version, udpsize, DNS_MESSAGEEXTFLAG_DO, ednsopts, count); @@ -1878,7 +1888,8 @@ fctx_addopt(dns_message_t *message, unsigned int version, } static inline void -fctx_setretryinterval(fetchctx_t *fctx, unsigned int rtt) { +fctx_setretryinterval(fetchctx_t *fctx, unsigned int rtt) +{ unsigned int seconds; unsigned int us; @@ -1922,18 +1933,17 @@ fctx_setretryinterval(fetchctx_t *fctx, unsigned int rtt) { } static isc_result_t -fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, - unsigned int options) +fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, unsigned int options) { dns_resolver_t *res; - isc_task_t *task; - isc_result_t result; - resquery_t *query; - isc_sockaddr_t addr; - bool have_addr = false; - unsigned int srtt; - isc_dscp_t dscp = -1; - unsigned int bucketnum; + isc_task_t * task; + isc_result_t result; + resquery_t * query; + isc_sockaddr_t addr; + bool have_addr = false; + unsigned int srtt; + isc_dscp_t dscp = -1; + unsigned int bucketnum; FCTXTRACE("query"); @@ -1992,12 +2002,12 @@ fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, query->exclusivesocket = false; query->tcpsocket = NULL; if (res->view->peers != NULL) { - dns_peer_t *peer = NULL; + dns_peer_t * peer = NULL; isc_netaddr_t dstip; - bool usetcp = false; + bool usetcp = false; isc_netaddr_fromsockaddr(&dstip, &addrinfo->sockaddr); - result = dns_peerlist_peerbyaddr(res->view->peers, - &dstip, &peer); + result = dns_peerlist_peerbyaddr(res->view->peers, &dstip, + &peer); if (result == ISC_R_SUCCESS) { result = dns_peer_getquerysource(peer, &addr); if (result == ISC_R_SUCCESS) @@ -2020,14 +2030,12 @@ fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, switch (pf) { case PF_INET: result = dns_dispatch_getlocaladdress( - res->dispatches4->dispatches[0], - &addr); + res->dispatches4->dispatches[0], &addr); dscp = dns_resolver_getquerydscp4(fctx->res); break; case PF_INET6: result = dns_dispatch_getlocaladdress( - res->dispatches6->dispatches[0], - &addr); + res->dispatches6->dispatches[0], &addr); dscp = dns_resolver_getquerydscp6(fctx->res); break; default: @@ -2076,27 +2084,25 @@ fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, attrmask |= DNS_DISPATCHATTR_TCP; attrmask |= DNS_DISPATCHATTR_IPV4; attrmask |= DNS_DISPATCHATTR_IPV6; - result = dns_dispatch_getudp(res->dispatchmgr, - res->socketmgr, - res->taskmgr, &addr, - 4096, 20000, 32768, 16411, - 16433, attrs, attrmask, - &query->dispatch); + result = dns_dispatch_getudp( + res->dispatchmgr, res->socketmgr, res->taskmgr, + &addr, 4096, 20000, 32768, 16411, 16433, attrs, + attrmask, &query->dispatch); if (result != ISC_R_SUCCESS) goto cleanup_query; } else { switch (isc_sockaddr_pf(&addrinfo->sockaddr)) { case PF_INET: dns_dispatch_attach( - dns_resolver_dispatchv4(res), - &query->dispatch); + dns_resolver_dispatchv4(res), + &query->dispatch); query->exclusivesocket = res->exclusivev4; dscp = dns_resolver_getquerydscp4(fctx->res); break; case PF_INET6: dns_dispatch_attach( - dns_resolver_dispatchv6(res), - &query->dispatch); + dns_resolver_dispatchv6(res), + &query->dispatch); query->exclusivesocket = res->exclusivev6; dscp = dns_resolver_getquerydscp6(fctx->res); break; @@ -2119,7 +2125,7 @@ fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, } query->dispentry = NULL; - query->fctx = fctx; /* reference added by caller */ + query->fctx = fctx; /* reference added by caller */ query->tsig = NULL; query->tsigkey = NULL; ISC_LINK_INIT(query, link); @@ -2169,14 +2175,14 @@ fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, return (ISC_R_SUCCESS); - cleanup_socket: +cleanup_socket: isc_socket_detach(&query->tcpsocket); - cleanup_dispatch: +cleanup_dispatch: if (query->dispatch != NULL) dns_dispatch_detach(&query->dispatch); - cleanup_query: +cleanup_query: if (query->connects == 0) { query->magic = 0; isc_mem_put(fctx->mctx, query, sizeof(*query)); @@ -2188,11 +2194,11 @@ fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, } static bool -bad_edns(fetchctx_t *fctx, isc_sockaddr_t *address) { +bad_edns(fetchctx_t *fctx, isc_sockaddr_t *address) +{ isc_sockaddr_t *sa; - for (sa = ISC_LIST_HEAD(fctx->bad_edns); - sa != NULL; + for (sa = ISC_LIST_HEAD(fctx->bad_edns); sa != NULL; sa = ISC_LIST_NEXT(sa, link)) { if (isc_sockaddr_equal(sa, address)) return (true); @@ -2202,7 +2208,8 @@ bad_edns(fetchctx_t *fctx, isc_sockaddr_t *address) { } static void -add_bad_edns(fetchctx_t *fctx, isc_sockaddr_t *address) { +add_bad_edns(fetchctx_t *fctx, isc_sockaddr_t *address) +{ isc_sockaddr_t *sa; #ifdef ENABLE_AFL @@ -2219,11 +2226,11 @@ add_bad_edns(fetchctx_t *fctx, isc_sockaddr_t *address) { } static struct tried * -triededns(fetchctx_t *fctx, isc_sockaddr_t *address) { +triededns(fetchctx_t *fctx, isc_sockaddr_t *address) +{ struct tried *tried; - for (tried = ISC_LIST_HEAD(fctx->edns); - tried != NULL; + for (tried = ISC_LIST_HEAD(fctx->edns); tried != NULL; tried = ISC_LIST_NEXT(tried, link)) { if (isc_sockaddr_equal(&tried->addr, address)) return (tried); @@ -2233,7 +2240,8 @@ triededns(fetchctx_t *fctx, isc_sockaddr_t *address) { } static void -add_triededns(fetchctx_t *fctx, isc_sockaddr_t *address) { +add_triededns(fetchctx_t *fctx, isc_sockaddr_t *address) +{ struct tried *tried; tried = triededns(fctx, address); @@ -2250,11 +2258,11 @@ add_triededns(fetchctx_t *fctx, isc_sockaddr_t *address) { } static struct tried * -triededns512(fetchctx_t *fctx, isc_sockaddr_t *address) { +triededns512(fetchctx_t *fctx, isc_sockaddr_t *address) +{ struct tried *tried; - for (tried = ISC_LIST_HEAD(fctx->edns512); - tried != NULL; + for (tried = ISC_LIST_HEAD(fctx->edns512); tried != NULL; tried = ISC_LIST_NEXT(tried, link)) { if (isc_sockaddr_equal(&tried->addr, address)) return (tried); @@ -2264,7 +2272,8 @@ triededns512(fetchctx_t *fctx, isc_sockaddr_t *address) { } static void -add_triededns512(fetchctx_t *fctx, isc_sockaddr_t *address) { +add_triededns512(fetchctx_t *fctx, isc_sockaddr_t *address) +{ struct tried *tried; tried = triededns512(fctx, address); @@ -2281,7 +2290,8 @@ add_triededns512(fetchctx_t *fctx, isc_sockaddr_t *address) { } static inline size_t -addr2buf(void *buf, const size_t bufsize, const isc_sockaddr_t *sockaddr) { +addr2buf(void *buf, const size_t bufsize, const isc_sockaddr_t *sockaddr) +{ isc_netaddr_t netaddr; isc_netaddr_fromsockaddr(&netaddr, sockaddr); switch (netaddr.family) { @@ -2301,7 +2311,8 @@ addr2buf(void *buf, const size_t bufsize, const isc_sockaddr_t *sockaddr) { } static inline isc_socket_t * -query2sock(const resquery_t *query) { +query2sock(const resquery_t *query) +{ if (query->exclusivesocket) { return (dns_dispatch_getentrysocket(query->dispentry)); } else { @@ -2318,14 +2329,15 @@ add_serveraddr(uint8_t *buf, const size_t bufsize, const resquery_t *query) #define CLIENT_COOKIE_SIZE 8U static void -compute_cc(const resquery_t *query, uint8_t *cookie, const size_t len) { +compute_cc(const resquery_t *query, uint8_t *cookie, const size_t len) +{ INSIST(len >= CLIENT_COOKIE_SIZE); - STATIC_ASSERT(sizeof(query->fctx->res->view->secret) - >= ISC_SIPHASH24_KEY_LENGTH, + STATIC_ASSERT(sizeof(query->fctx->res->view->secret) >= + ISC_SIPHASH24_KEY_LENGTH, "The view->secret size can't fit SipHash 2-4 key length"); uint8_t buf[16] ISC_NONSTRING = { 0 }; - size_t buflen = add_serveraddr(buf, sizeof(buf), query); + size_t buflen = add_serveraddr(buf, sizeof(buf), query); uint8_t digest[ISC_SIPHASH24_TAG_LENGTH] ISC_NONSTRING = { 0 }; isc_siphash24(query->fctx->res->view->secret, buf, buflen, digest); @@ -2336,7 +2348,7 @@ static isc_result_t issecuredomain(dns_view_t *view, const dns_name_t *name, dns_rdatatype_t type, isc_stdtime_t now, bool checknta, bool *ntap, bool *issecure) { - dns_name_t suffix; + dns_name_t suffix; unsigned int labels; /* @@ -2352,40 +2364,41 @@ issecuredomain(dns_view_t *view, const dns_name_t *name, dns_rdatatype_t type, name = &suffix; } - return (dns_view_issecuredomain(view, name, now, checknta, - ntap, issecure)); + return (dns_view_issecuredomain(view, name, now, checknta, ntap, + issecure)); } static isc_result_t -resquery_send(resquery_t *query) { - fetchctx_t *fctx; - isc_result_t result; - dns_name_t *qname = NULL; +resquery_send(resquery_t *query) +{ + fetchctx_t * fctx; + isc_result_t result; + dns_name_t * qname = NULL; dns_rdataset_t *qrdataset = NULL; - isc_region_t r; + isc_region_t r; dns_resolver_t *res; - isc_task_t *task; - isc_socket_t *sock; - isc_buffer_t tcpbuffer; + isc_task_t * task; + isc_socket_t * sock; + isc_buffer_t tcpbuffer; isc_sockaddr_t *address; - isc_buffer_t *buffer; - isc_netaddr_t ipaddr; - dns_tsigkey_t *tsigkey = NULL; - dns_peer_t *peer = NULL; - bool useedns; - dns_compress_t cctx; - bool cleanup_cctx = false; - bool secure_domain; - bool tcp = ((query->options & DNS_FETCHOPT_TCP) != 0); - dns_ednsopt_t ednsopts[DNS_EDNSOPTIONS]; - unsigned ednsopt = 0; - uint16_t hint = 0, udpsize = 0; /* No EDNS */ + isc_buffer_t * buffer; + isc_netaddr_t ipaddr; + dns_tsigkey_t * tsigkey = NULL; + dns_peer_t * peer = NULL; + bool useedns; + dns_compress_t cctx; + bool cleanup_cctx = false; + bool secure_domain; + bool tcp = ((query->options & DNS_FETCHOPT_TCP) != 0); + dns_ednsopt_t ednsopts[DNS_EDNSOPTIONS]; + unsigned ednsopt = 0; + uint16_t hint = 0, udpsize = 0; /* No EDNS */ #ifdef HAVE_DNSTAP - isc_sockaddr_t localaddr, *la = NULL; - unsigned char zone[DNS_NAME_MAXWIRE]; + isc_sockaddr_t localaddr, *la = NULL; + unsigned char zone[DNS_NAME_MAXWIRE]; dns_dtmsgtype_t dtmsgtype; - isc_region_t zr; - isc_buffer_t zb; + isc_region_t zr; + isc_buffer_t zb; #endif /* HAVE_DNSTAP */ fctx = query->fctx; @@ -2419,15 +2432,10 @@ resquery_send(resquery_t *query) { /* * Get a query id from the dispatch. */ - result = dns_dispatch_addresponse(query->dispatch, - 0, - &query->addrinfo->sockaddr, - task, - resquery_response, - query, - &query->id, - &query->dispentry, - res->socketmgr); + result = dns_dispatch_addresponse(query->dispatch, 0, + &query->addrinfo->sockaddr, task, + resquery_response, query, &query->id, + &query->dispentry, res->socketmgr); if (result != ISC_R_SUCCESS) goto cleanup_temps; @@ -2462,8 +2470,7 @@ resquery_send(resquery_t *query) { } else if ((query->options & DNS_FETCHOPT_NOVALIDATE) != 0) { fctx->qmessage->flags |= DNS_MESSAGEFLAG_CD; } else if (res->view->enablevalidation && - ((fctx->qmessage->flags & DNS_MESSAGEFLAG_RD) != 0)) - { + ((fctx->qmessage->flags & DNS_MESSAGEFLAG_RD) != 0)) { bool checknta = ((query->options & DNS_FETCHOPT_NONTA) == 0); bool ntacovered = false; result = issecuredomain(res->view, &fctx->name, fctx->type, @@ -2473,8 +2480,7 @@ resquery_send(resquery_t *query) { secure_domain = false; } if (secure_domain || - (ISFORWARDER(query->addrinfo) && ntacovered)) - { + (ISFORWARDER(query->addrinfo) && ntacovered)) { fctx->qmessage->flags |= DNS_MESSAGEFLAG_CD; } } @@ -2492,19 +2498,18 @@ resquery_send(resquery_t *query) { goto cleanup_message; cleanup_cctx = true; - result = dns_message_renderbegin(fctx->qmessage, &cctx, - &query->buffer); + result = dns_message_renderbegin(fctx->qmessage, &cctx, &query->buffer); if (result != ISC_R_SUCCESS) goto cleanup_message; - result = dns_message_rendersection(fctx->qmessage, - DNS_SECTION_QUESTION, 0); + result = dns_message_rendersection(fctx->qmessage, DNS_SECTION_QUESTION, + 0); if (result != ISC_R_SUCCESS) goto cleanup_message; peer = NULL; isc_netaddr_fromsockaddr(&ipaddr, &query->addrinfo->sockaddr); - (void) dns_peerlist_peerbyaddr(fctx->res->view->peers, &ipaddr, &peer); + (void)dns_peerlist_peerbyaddr(fctx->res->view->peers, &ipaddr, &peer); /* * The ADB does not know about servers with "edns no". Check this, @@ -2513,12 +2518,10 @@ resquery_send(resquery_t *query) { if ((query->addrinfo->flags & DNS_FETCHOPT_NOEDNS0) == 0 && peer != NULL && dns_peer_getsupportedns(peer, &useedns) == ISC_R_SUCCESS && - !useedns) - { + !useedns) { query->options |= DNS_FETCHOPT_NOEDNS0; dns_adb_changeflags(fctx->adb, query->addrinfo, - DNS_FETCHOPT_NOEDNS0, - DNS_FETCHOPT_NOEDNS0); + DNS_FETCHOPT_NOEDNS0, DNS_FETCHOPT_NOEDNS0); } /* Sync NOEDNS0 flag in addrinfo->flags and options now. */ @@ -2527,7 +2530,7 @@ resquery_send(resquery_t *query) { if (fctx->timeout && (query->options & DNS_FETCHOPT_NOEDNS0) == 0) { isc_sockaddr_t *sockaddr = &query->addrinfo->sockaddr; - struct tried *tried; + struct tried * tried; if ((tried = triededns(fctx, sockaddr)) != NULL) { if (tried->count == 1U) { @@ -2548,13 +2551,13 @@ resquery_send(resquery_t *query) { */ if ((query->options & DNS_FETCHOPT_NOEDNS0) == 0) { if ((query->addrinfo->flags & DNS_FETCHOPT_NOEDNS0) == 0) { - unsigned int version = DNS_EDNS_VERSION; - unsigned int flags = query->addrinfo->flags; - bool reqnsid = res->view->requestnsid; - bool sendcookie = res->view->sendcookie; - bool tcpkeepalive = false; + unsigned int version = DNS_EDNS_VERSION; + unsigned int flags = query->addrinfo->flags; + bool reqnsid = res->view->requestnsid; + bool sendcookie = res->view->sendcookie; + bool tcpkeepalive = false; unsigned char cookie[64]; - uint16_t padding = 0; + uint16_t padding = 0; if ((flags & FCTX_ADDRINFO_EDNSOK) != 0 && (query->options & DNS_FETCHOPT_EDNS512) == 0) { @@ -2575,7 +2578,7 @@ resquery_send(resquery_t *query) { * Was the size forced to 512 in the configuration? */ if (udpsize == 512U) - query->options |= DNS_FETCHOPT_EDNS512; + query->options |= DNS_FETCHOPT_EDNS512; /* * We have talked to this server before. @@ -2598,9 +2601,8 @@ resquery_send(resquery_t *query) { /* Request NSID/COOKIE/VERSION for current peer? */ if (peer != NULL) { uint8_t ednsversion; - (void) dns_peer_getrequestnsid(peer, &reqnsid); - (void) dns_peer_getsendcookie(peer, - &sendcookie); + (void)dns_peer_getrequestnsid(peer, &reqnsid); + (void)dns_peer_getsendcookie(peer, &sendcookie); result = dns_peer_getednsversion(peer, &ednsversion); if (result == ISC_R_SUCCESS && @@ -2619,20 +2621,21 @@ resquery_send(resquery_t *query) { if (sendcookie) { INSIST(ednsopt < DNS_EDNSOPTIONS); ednsopts[ednsopt].code = DNS_OPT_COOKIE; - ednsopts[ednsopt].length = (uint16_t) - dns_adb_getcookie(fctx->adb, - query->addrinfo, - cookie, - sizeof(cookie)); + ednsopts[ednsopt].length = + (uint16_t)dns_adb_getcookie( + fctx->adb, query->addrinfo, + cookie, sizeof(cookie)); if (ednsopts[ednsopt].length != 0) { ednsopts[ednsopt].value = cookie; - inc_stats(fctx->res, + inc_stats( + fctx->res, dns_resstatscounter_cookieout); } else { compute_cc(query, cookie, 8); ednsopts[ednsopt].value = cookie; ednsopts[ednsopt].length = 8; - inc_stats(fctx->res, + inc_stats( + fctx->res, dns_resstatscounter_cookienew); } ednsopt++; @@ -2640,8 +2643,8 @@ resquery_send(resquery_t *query) { /* Add TCP keepalive option if appropriate */ if ((peer != NULL) && tcp) - (void) dns_peer_gettcpkeepalive(peer, - &tcpkeepalive); + (void)dns_peer_gettcpkeepalive(peer, + &tcpkeepalive); if (tcpkeepalive) { INSIST(ednsopt < DNS_EDNSOPTIONS); ednsopts[ednsopt].code = DNS_OPT_TCP_KEEPALIVE; @@ -2652,19 +2655,18 @@ resquery_send(resquery_t *query) { /* Add PAD for current peer? Require TCP for now */ if ((peer != NULL) && tcp) - (void) dns_peer_getpadding(peer, &padding); + (void)dns_peer_getpadding(peer, &padding); if (padding != 0) { INSIST(ednsopt < DNS_EDNSOPTIONS); ednsopts[ednsopt].code = DNS_OPT_PAD; ednsopts[ednsopt].length = 0; ednsopt++; - dns_message_setpadding(fctx->qmessage, - padding); + dns_message_setpadding(fctx->qmessage, padding); } query->ednsversion = version; - result = fctx_addopt(fctx->qmessage, version, - udpsize, ednsopts, ednsopt); + result = fctx_addopt(fctx->qmessage, version, udpsize, + ednsopts, ednsopt); if (reqnsid && result == ISC_R_SUCCESS) { query->options |= DNS_FETCHOPT_WANTNSID; } else if (result != ISC_R_SUCCESS) { @@ -2752,9 +2754,8 @@ resquery_send(resquery_t *query) { if (dns_message_gettsigkey(fctx->qmessage) != NULL) { dns_tsigkey_attach(dns_message_gettsigkey(fctx->qmessage), &query->tsigkey); - result = dns_message_getquerytsig(fctx->qmessage, - fctx->res->mctx, - &query->tsig); + result = dns_message_getquerytsig( + fctx->qmessage, fctx->res->mctx, &query->tsig); if (result != ISC_R_SUCCESS) goto cleanup_message; } @@ -2772,13 +2773,10 @@ resquery_send(resquery_t *query) { /* * Log the outgoing packet. */ - dns_message_logfmtpacket(fctx->qmessage, "sending packet to", - &query->addrinfo->sockaddr, - DNS_LOGCATEGORY_RESOLVER, - DNS_LOGMODULE_PACKETS, - &dns_master_style_comment, - ISC_LOG_DEBUG(11), - fctx->res->mctx); + dns_message_logfmtpacket( + fctx->qmessage, "sending packet to", &query->addrinfo->sockaddr, + DNS_LOGCATEGORY_RESOLVER, DNS_LOGMODULE_PACKETS, + &dns_master_style_comment, ISC_LOG_DEBUG(11), fctx->res->mctx); /* * We're now done with the query message. @@ -2809,8 +2807,8 @@ resquery_send(resquery_t *query) { */ memset(&query->sendevent, 0, sizeof(query->sendevent)); ISC_EVENT_INIT(&query->sendevent, sizeof(query->sendevent), 0, NULL, - ISC_SOCKEVENT_SENDDONE, resquery_senddone, query, - NULL, NULL, NULL); + ISC_SOCKEVENT_SENDDONE, resquery_senddone, query, NULL, + NULL, NULL); if (query->dscp == -1) { query->sendevent.attributes &= ~ISC_SOCKEVENTATTR_DSCP; @@ -2849,7 +2847,7 @@ resquery_send(resquery_t *query) { return (ISC_R_SUCCESS); - cleanup_message: +cleanup_message: if (cleanup_cctx) dns_compress_invalidate(&cctx); @@ -2860,7 +2858,7 @@ resquery_send(resquery_t *query) { */ dns_dispatch_removeresponse(&query->dispentry, NULL); - cleanup_temps: +cleanup_temps: if (qname != NULL) dns_message_puttempname(fctx->qmessage, &qname); if (qrdataset != NULL) @@ -2870,14 +2868,15 @@ resquery_send(resquery_t *query) { } static void -resquery_connected(isc_task_t *task, isc_event_t *event) { +resquery_connected(isc_task_t *task, isc_event_t *event) +{ isc_socketevent_t *sevent = (isc_socketevent_t *)event; - resquery_t *query = event->ev_arg; - bool retry = false; - isc_interval_t interval; - isc_result_t result; - unsigned int attrs; - fetchctx_t *fctx; + resquery_t * query = event->ev_arg; + bool retry = false; + isc_interval_t interval; + isc_result_t result; + unsigned int attrs; + fetchctx_t * fctx; REQUIRE(event->ev_type == ISC_SOCKEVENT_CONNECT); REQUIRE(VALID_QUERY(query)); @@ -2940,13 +2939,10 @@ resquery_connected(isc_task_t *task, isc_event_t *event) { attrs |= DNS_DISPATCHATTR_IPV6; attrs |= DNS_DISPATCHATTR_MAKEQUERY; - result = dns_dispatch_createtcp(query->dispatchmgr, - query->tcpsocket, - query->fctx->res->taskmgr, - NULL, NULL, - 4096, 2, 1, 1, 3, - attrs, - &query->dispatch); + result = dns_dispatch_createtcp( + query->dispatchmgr, query->tcpsocket, + query->fctx->res->taskmgr, NULL, NULL, 4096, 2, + 1, 1, 3, attrs, &query->dispatch); /* * Regardless of whether dns_dispatch_create() @@ -2962,8 +2958,8 @@ resquery_connected(isc_task_t *task, isc_event_t *event) { FCTXTRACE("query canceled: " "resquery_send() failed; responding"); - fctx_cancelquery(&query, NULL, NULL, - false, false); + fctx_cancelquery(&query, NULL, NULL, false, + false); fctx_done(fctx, result, __LINE__); } break; @@ -2995,8 +2991,7 @@ resquery_connected(isc_task_t *task, isc_event_t *event) { add_bad(fctx, query->addrinfo, sevent->result, badns_unreachable); } - fctx_cancelquery(&query, NULL, NULL, - true, false); + fctx_cancelquery(&query, NULL, NULL, true, false); retry = true; break; @@ -3006,8 +3001,7 @@ resquery_connected(isc_task_t *task, isc_event_t *event) { sevent->result); isc_socket_detach(&query->tcpsocket); - fctx_cancelquery(&query, NULL, NULL, - false, false); + fctx_cancelquery(&query, NULL, NULL, false, false); break; } } @@ -3029,15 +3023,16 @@ resquery_connected(isc_task_t *task, isc_event_t *event) { } static void -fctx_finddone(isc_task_t *task, isc_event_t *event) { - fetchctx_t *fctx; - dns_adbfind_t *find; +fctx_finddone(isc_task_t *task, isc_event_t *event) +{ + fetchctx_t * fctx; + dns_adbfind_t * find; dns_resolver_t *res; - bool want_try = false; - bool want_done = false; - bool bucket_empty = false; - unsigned int bucketnum; - bool dodestroy = false; + bool want_try = false; + bool want_done = false; + bool bucket_empty = false; + unsigned int bucketnum; + bool dodestroy = false; find = event->ev_sender; fctx = event->ev_arg; @@ -3076,7 +3071,6 @@ fctx_finddone(isc_task_t *task, isc_event_t *event) { } } else if (SHUTTINGDOWN(fctx) && fctx->pending == 0 && fctx->nqueries == 0 && ISC_LIST_EMPTY(fctx->validators)) { - if (isc_refcount_current(&fctx->references) == 0) { bucket_empty = fctx_unlink(fctx); dodestroy = true; @@ -3099,13 +3093,12 @@ fctx_finddone(isc_task_t *task, isc_event_t *event) { } } - static inline bool -bad_server(fetchctx_t *fctx, isc_sockaddr_t *address) { +bad_server(fetchctx_t *fctx, isc_sockaddr_t *address) +{ isc_sockaddr_t *sa; - for (sa = ISC_LIST_HEAD(fctx->bad); - sa != NULL; + for (sa = ISC_LIST_HEAD(fctx->bad); sa != NULL; sa = ISC_LIST_NEXT(sa, link)) { if (isc_sockaddr_equal(sa, address)) return (true); @@ -3115,10 +3108,11 @@ bad_server(fetchctx_t *fctx, isc_sockaddr_t *address) { } static inline bool -mark_bad(fetchctx_t *fctx) { - dns_adbfind_t *curr; +mark_bad(fetchctx_t *fctx) +{ + dns_adbfind_t * curr; dns_adbaddrinfo_t *addrinfo; - bool all_bad = true; + bool all_bad = true; #ifdef ENABLE_AFL if (dns_fuzzing_resolver) { @@ -3134,11 +3128,9 @@ mark_bad(fetchctx_t *fctx) { /* * Mark any bad nameservers. */ - for (curr = ISC_LIST_HEAD(fctx->finds); - curr != NULL; + for (curr = ISC_LIST_HEAD(fctx->finds); curr != NULL; curr = ISC_LIST_NEXT(curr, publink)) { - for (addrinfo = ISC_LIST_HEAD(curr->list); - addrinfo != NULL; + for (addrinfo = ISC_LIST_HEAD(curr->list); addrinfo != NULL; addrinfo = ISC_LIST_NEXT(addrinfo, publink)) { if (bad_server(fctx, &addrinfo->sockaddr)) addrinfo->flags |= FCTX_ADDRINFO_MARK; @@ -3150,8 +3142,7 @@ mark_bad(fetchctx_t *fctx) { /* * Mark any bad forwarders. */ - for (addrinfo = ISC_LIST_HEAD(fctx->forwaddrs); - addrinfo != NULL; + for (addrinfo = ISC_LIST_HEAD(fctx->forwaddrs); addrinfo != NULL; addrinfo = ISC_LIST_NEXT(addrinfo, publink)) { if (bad_server(fctx, &addrinfo->sockaddr)) addrinfo->flags |= FCTX_ADDRINFO_MARK; @@ -3162,11 +3153,9 @@ mark_bad(fetchctx_t *fctx) { /* * Mark any bad alternates. */ - for (curr = ISC_LIST_HEAD(fctx->altfinds); - curr != NULL; + for (curr = ISC_LIST_HEAD(fctx->altfinds); curr != NULL; curr = ISC_LIST_NEXT(curr, publink)) { - for (addrinfo = ISC_LIST_HEAD(curr->list); - addrinfo != NULL; + for (addrinfo = ISC_LIST_HEAD(curr->list); addrinfo != NULL; addrinfo = ISC_LIST_NEXT(addrinfo, publink)) { if (bad_server(fctx, &addrinfo->sockaddr)) addrinfo->flags |= FCTX_ADDRINFO_MARK; @@ -3175,8 +3164,7 @@ mark_bad(fetchctx_t *fctx) { } } - for (addrinfo = ISC_LIST_HEAD(fctx->altaddrs); - addrinfo != NULL; + for (addrinfo = ISC_LIST_HEAD(fctx->altaddrs); addrinfo != NULL; addrinfo = ISC_LIST_NEXT(addrinfo, publink)) { if (bad_server(fctx, &addrinfo->sockaddr)) addrinfo->flags |= FCTX_ADDRINFO_MARK; @@ -3191,14 +3179,14 @@ static void add_bad(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, isc_result_t reason, badnstype_t badtype) { - char namebuf[DNS_NAME_FORMATSIZE]; - char addrbuf[ISC_SOCKADDR_FORMATSIZE]; - char classbuf[64]; - char typebuf[64]; - char code[64]; - isc_buffer_t b; + char namebuf[DNS_NAME_FORMATSIZE]; + char addrbuf[ISC_SOCKADDR_FORMATSIZE]; + char classbuf[64]; + char typebuf[64]; + char code[64]; + isc_buffer_t b; isc_sockaddr_t *sa; - const char *spc = ""; + const char * spc = ""; isc_sockaddr_t *address = &addrinfo->sockaddr; #ifdef ENABLE_AFL @@ -3217,7 +3205,7 @@ add_bad(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, isc_result_t reason, fctx->badresp++; break; case badns_validation: - break; /* counted as 'valfail' */ + break; /* counted as 'valfail' */ case badns_forwarder: /* * We were called to prevent the given forwarder from @@ -3240,7 +3228,7 @@ add_bad(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, isc_result_t reason, *sa = *address; ISC_LIST_INITANDAPPEND(fctx->bad, sa, link); - if (reason == DNS_R_LAME) /* already logged */ + if (reason == DNS_R_LAME) /* already logged */ return; if (reason == DNS_R_UNEXPECTEDRCODE && @@ -3265,21 +3253,21 @@ add_bad(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, isc_result_t reason, dns_rdatatype_format(fctx->type, typebuf, sizeof(typebuf)); dns_rdataclass_format(fctx->res->rdclass, classbuf, sizeof(classbuf)); isc_sockaddr_format(address, addrbuf, sizeof(addrbuf)); - isc_log_write(dns_lctx, DNS_LOGCATEGORY_LAME_SERVERS, - DNS_LOGMODULE_RESOLVER, ISC_LOG_INFO, - "%s%s%s resolving '%s/%s/%s': %s", - code, spc, dns_result_totext(reason), - namebuf, typebuf, classbuf, addrbuf); + isc_log_write( + dns_lctx, DNS_LOGCATEGORY_LAME_SERVERS, DNS_LOGMODULE_RESOLVER, + ISC_LOG_INFO, "%s%s%s resolving '%s/%s/%s': %s", code, spc, + dns_result_totext(reason), namebuf, typebuf, classbuf, addrbuf); } /* * Sort addrinfo list by RTT. */ static void -sort_adbfind(dns_adbfind_t *find, unsigned int bias) { - dns_adbaddrinfo_t *best, *curr; +sort_adbfind(dns_adbfind_t *find, unsigned int bias) +{ + dns_adbaddrinfo_t * best, *curr; dns_adbaddrinfolist_t sorted; - unsigned int best_srtt, curr_srtt; + unsigned int best_srtt, curr_srtt; /* Lame N^2 bubble sort. */ ISC_LIST_INIT(sorted); @@ -3309,15 +3297,15 @@ sort_adbfind(dns_adbfind_t *find, unsigned int bias) { * Sort a list of finds by server RTT. */ static void -sort_finds(dns_adbfindlist_t *findlist, unsigned int bias) { - dns_adbfind_t *best, *curr; - dns_adbfindlist_t sorted; +sort_finds(dns_adbfindlist_t *findlist, unsigned int bias) +{ + dns_adbfind_t * best, *curr; + dns_adbfindlist_t sorted; dns_adbaddrinfo_t *addrinfo, *bestaddrinfo; - unsigned int best_srtt, curr_srtt; + unsigned int best_srtt, curr_srtt; /* Sort each find's addrinfo list by SRTT. */ - for (curr = ISC_LIST_HEAD(*findlist); - curr != NULL; + for (curr = ISC_LIST_HEAD(*findlist); curr != NULL; curr = ISC_LIST_NEXT(curr, publink)) sort_adbfind(curr, bias); @@ -3355,10 +3343,10 @@ findname(fetchctx_t *fctx, const dns_name_t *name, in_port_t port, bool *overquota, bool *need_alternate) { dns_adbaddrinfo_t *ai; - dns_adbfind_t *find; - dns_resolver_t *res; - bool unshared; - isc_result_t result; + dns_adbfind_t * find; + dns_resolver_t * res; + bool unshared; + isc_result_t result; FCTXTRACE("FINDNAME"); res = fctx->res; @@ -3379,17 +3367,14 @@ findname(fetchctx_t *fctx, const dns_name_t *name, in_port_t port, * See what we know about this address. */ find = NULL; - result = dns_adb_createfind(fctx->adb, - res->buckets[fctx->bucketnum].task, - fctx_finddone, fctx, name, - &fctx->name, fctx->type, - options, now, NULL, - res->view->dstport, - fctx->depth + 1, fctx->qc, &find); + result = dns_adb_createfind( + fctx->adb, res->buckets[fctx->bucketnum].task, fctx_finddone, + fctx, name, &fctx->name, fctx->type, options, now, NULL, + res->view->dstport, fctx->depth + 1, fctx->qc, &find); isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(3), - "fctx %p(%s): createfind for %p/%d - %s", - fctx, fctx->info, fctx->client, fctx->id, + "fctx %p(%s): createfind for %p/%d - %s", fctx, + fctx->info, fctx->client, fctx->id, isc_result_totext(result)); if (result != ISC_R_SUCCESS) { if (result == DNS_R_ALIAS) { @@ -3414,8 +3399,7 @@ findname(fetchctx_t *fctx, const dns_name_t *name, in_port_t port, */ INSIST((find->options & DNS_ADBFIND_WANTEVENT) == 0); if (flags != 0 || port != 0) { - for (ai = ISC_LIST_HEAD(find->list); - ai != NULL; + for (ai = ISC_LIST_HEAD(find->list); ai != NULL; ai = ISC_LIST_NEXT(ai, publink)) { ai->flags |= flags; if (port != 0) @@ -3441,8 +3425,8 @@ findname(fetchctx_t *fctx, const dns_name_t *name, in_port_t port, /* * Bootstrap. */ - if (need_alternate != NULL && - !*need_alternate && unshared && + if (need_alternate != NULL && !*need_alternate && + unshared && ((res->dispatches4 == NULL && find->result_v6 != DNS_R_NXDOMAIN) || (res->dispatches6 == NULL && @@ -3453,8 +3437,8 @@ findname(fetchctx_t *fctx, const dns_name_t *name, in_port_t port, if (overquota != NULL) *overquota = true; fctx->quotacount++; /* quota exceeded */ - } - else if ((find->options & DNS_ADBFIND_LAMEPRUNED) != 0) + } else if ((find->options & DNS_ADBFIND_LAMEPRUNED) != + 0) fctx->lamecount++; /* cached lame server */ else fctx->adberr++; /* unreachable server, etc. */ @@ -3476,9 +3460,10 @@ findname(fetchctx_t *fctx, const dns_name_t *name, in_port_t port, } static bool -isstrictsubdomain(const dns_name_t *name1, const dns_name_t *name2) { - int order; - unsigned int nlabels; +isstrictsubdomain(const dns_name_t *name1, const dns_name_t *name2) +{ + int order; + unsigned int nlabels; dns_namereln_t namereln; namereln = dns_name_fullcompare(name1, name2, &order, &nlabels); @@ -3486,18 +3471,19 @@ isstrictsubdomain(const dns_name_t *name1, const dns_name_t *name2) { } static isc_result_t -fctx_getaddresses(fetchctx_t *fctx, bool badcache) { - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_result_t result; - dns_resolver_t *res; - isc_stdtime_t now; - unsigned int stdoptions = 0; - dns_forwarder_t *fwd; +fctx_getaddresses(fetchctx_t *fctx, bool badcache) +{ + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + dns_resolver_t * res; + isc_stdtime_t now; + unsigned int stdoptions = 0; + dns_forwarder_t * fwd; dns_adbaddrinfo_t *ai; - bool all_bad; - dns_rdata_ns_t ns; - bool need_alternate = false; - bool all_spilled = true; + bool all_bad; + dns_rdata_ns_t ns; + bool need_alternate = false; + bool all_spilled = true; FCTXTRACE5("getaddresses", "fctx->depth=", fctx->depth); @@ -3535,8 +3521,7 @@ fctx_getaddresses(fetchctx_t *fctx, bool badcache) { * gets root servers' IP addresses in ADDITIONAL section. */ if ((fctx->options & DNS_FETCHOPT_NOFORWARD) != 0 && - (fctx->fwdpolicy != dns_fwdpolicy_only)) - { + (fctx->fwdpolicy != dns_fwdpolicy_only)) { goto normal_nses; } @@ -3548,11 +3533,11 @@ fctx_getaddresses(fetchctx_t *fctx, bool badcache) { fwd = ISC_LIST_HEAD(fctx->forwarders); if (fwd == NULL) { dns_forwarders_t *forwarders = NULL; - dns_name_t *name = &fctx->name; - dns_name_t suffix; - unsigned int labels; - dns_fixedname_t fixed; - dns_name_t *domain; + dns_name_t * name = &fctx->name; + dns_name_t suffix; + unsigned int labels; + dns_fixedname_t fixed; + dns_name_t * domain; /* * DS records are found in the parent server. @@ -3567,8 +3552,8 @@ fctx_getaddresses(fetchctx_t *fctx, bool badcache) { } domain = dns_fixedname_initname(&fixed); - result = dns_fwdtable_find(res->view->fwdtable, name, - domain, &forwarders); + result = dns_fwdtable_find(res->view->fwdtable, name, domain, + &forwarders); if (result == ISC_R_SUCCESS) { fwd = ISC_LIST_HEAD(forwarders->fwdrs); fctx->fwdpolicy = forwarders->fwdpolicy; @@ -3577,8 +3562,7 @@ fctx_getaddresses(fetchctx_t *fctx, bool badcache) { fcount_decr(fctx); dns_name_free(&fctx->domain, fctx->mctx); dns_name_init(&fctx->domain, NULL); - dns_name_dup(domain, fctx->mctx, - &fctx->domain); + dns_name_dup(domain, fctx->mctx, &fctx->domain); result = fcount_incr(fctx, true); if (result != ISC_R_SUCCESS) return (result); @@ -3590,10 +3574,9 @@ fctx_getaddresses(fetchctx_t *fctx, bool badcache) { if ((isc_sockaddr_pf(&fwd->addr) == AF_INET && res->dispatches4 == NULL) || (isc_sockaddr_pf(&fwd->addr) == AF_INET6 && - res->dispatches6 == NULL)) - { - fwd = ISC_LIST_NEXT(fwd, link); - continue; + res->dispatches6 == NULL)) { + fwd = ISC_LIST_NEXT(fwd, link); + continue; } ai = NULL; result = dns_adb_findaddrinfo(fctx->adb, &fwd->addr, &ai, 0); @@ -3605,8 +3588,8 @@ fctx_getaddresses(fetchctx_t *fctx, bool badcache) { while (cur != NULL && cur->srtt < ai->srtt) cur = ISC_LIST_NEXT(cur, publink); if (cur != NULL) - ISC_LIST_INSERTBEFORE(fctx->forwaddrs, cur, - ai, publink); + ISC_LIST_INSERTBEFORE(fctx->forwaddrs, cur, ai, + publink); else ISC_LIST_APPEND(fctx->forwaddrs, ai, publink); } @@ -3623,7 +3606,7 @@ fctx_getaddresses(fetchctx_t *fctx, bool badcache) { /* * Normal nameservers. */ - normal_nses: +normal_nses: stdoptions = DNS_ADBFIND_WANTEVENT | DNS_ADBFIND_EMPTYEVENT; if (fctx->restarts == 1) { /* @@ -3654,8 +3637,7 @@ fctx_getaddresses(fetchctx_t *fctx, bool badcache) { for (result = dns_rdataset_first(&fctx->nameservers); result == ISC_R_SUCCESS; - result = dns_rdataset_next(&fctx->nameservers)) - { + result = dns_rdataset_next(&fctx->nameservers)) { bool overquota = false; dns_rdataset_current(&fctx->nameservers, &rdata); @@ -3666,8 +3648,8 @@ fctx_getaddresses(fetchctx_t *fctx, bool badcache) { if (result != ISC_R_SUCCESS) continue; - findname(fctx, &ns.name, 0, stdoptions, 0, now, - &overquota, &need_alternate); + findname(fctx, &ns.name, 0, stdoptions, 0, now, &overquota, + &need_alternate); if (!overquota) all_spilled = false; @@ -3682,11 +3664,10 @@ fctx_getaddresses(fetchctx_t *fctx, bool badcache) { * Do we need to use 6 to 4? */ if (need_alternate) { - int family; + int family; alternate_t *a; family = (res->dispatches6 != NULL) ? AF_INET6 : AF_INET; - for (a = ISC_LIST_HEAD(res->alternates); - a != NULL; + for (a = ISC_LIST_HEAD(res->alternates); a != NULL; a = ISC_LIST_NEXT(a, link)) { if (!a->isaddress) { findname(fctx, &a->_u._n.name, a->_u._n.port, @@ -3715,7 +3696,7 @@ fctx_getaddresses(fetchctx_t *fctx, bool badcache) { } } - out: +out: /* * Mark all known bad servers. */ @@ -3735,7 +3716,7 @@ fctx_getaddresses(fetchctx_t *fctx, bool badcache) { */ result = DNS_R_WAIT; } else { - isc_time_t expire; + isc_time_t expire; isc_interval_t i; /* * We've lost completely. We don't know any @@ -3748,7 +3729,7 @@ fctx_getaddresses(fetchctx_t *fctx, bool badcache) { if (badcache && (fctx->type == dns_rdatatype_dnskey || fctx->type == dns_rdatatype_ds) && - result == ISC_R_SUCCESS) + result == ISC_R_SUCCESS) dns_resolver_addbadcache(res, &fctx->name, fctx->type, &expire); @@ -3778,39 +3759,37 @@ fctx_getaddresses(fetchctx_t *fctx, bool badcache) { } static inline void -possibly_mark(fetchctx_t *fctx, dns_adbaddrinfo_t *addr) { - isc_netaddr_t na; - char buf[ISC_NETADDR_FORMATSIZE]; +possibly_mark(fetchctx_t *fctx, dns_adbaddrinfo_t *addr) +{ + isc_netaddr_t na; + char buf[ISC_NETADDR_FORMATSIZE]; isc_sockaddr_t *sa; - bool aborted = false; - bool bogus; - dns_acl_t *blackhole; - isc_netaddr_t ipaddr; - dns_peer_t *peer = NULL; + bool aborted = false; + bool bogus; + dns_acl_t * blackhole; + isc_netaddr_t ipaddr; + dns_peer_t * peer = NULL; dns_resolver_t *res; - const char *msg = NULL; + const char * msg = NULL; sa = &addr->sockaddr; res = fctx->res; isc_netaddr_fromsockaddr(&ipaddr, sa); blackhole = dns_dispatchmgr_getblackhole(res->dispatchmgr); - (void) dns_peerlist_peerbyaddr(res->view->peers, &ipaddr, &peer); + (void)dns_peerlist_peerbyaddr(res->view->peers, &ipaddr, &peer); if (blackhole != NULL) { int match; - if ((dns_acl_match(&ipaddr, NULL, blackhole, - &res->view->aclenv, &match, - NULL) == ISC_R_SUCCESS) && - match > 0) - { + if ((dns_acl_match(&ipaddr, NULL, blackhole, &res->view->aclenv, + &match, NULL) == ISC_R_SUCCESS) && + match > 0) { aborted = true; } } - if (peer != NULL && - dns_peer_getbogus(peer, &bogus) == ISC_R_SUCCESS && + if (peer != NULL && dns_peer_getbogus(peer, &bogus) == ISC_R_SUCCESS && bogus) aborted = true; @@ -3845,8 +3824,9 @@ possibly_mark(fetchctx_t *fctx, dns_adbaddrinfo_t *addr) { } static inline dns_adbaddrinfo_t * -fctx_nextaddress(fetchctx_t *fctx) { - dns_adbfind_t *find, *start; +fctx_nextaddress(fetchctx_t *fctx) +{ + dns_adbfind_t * find, *start; dns_adbaddrinfo_t *addrinfo; dns_adbaddrinfo_t *faddrinfo; @@ -3857,8 +3837,7 @@ fctx_nextaddress(fetchctx_t *fctx) { /* * Find the first unmarked forwarder (if any). */ - for (addrinfo = ISC_LIST_HEAD(fctx->forwaddrs); - addrinfo != NULL; + for (addrinfo = ISC_LIST_HEAD(fctx->forwaddrs); addrinfo != NULL; addrinfo = ISC_LIST_NEXT(addrinfo, publink)) { if (!UNMARKED(addrinfo)) continue; @@ -3963,15 +3942,13 @@ fctx_nextaddress(fetchctx_t *fctx) { * See if we have a better alternate server by address. */ - for (addrinfo = ISC_LIST_HEAD(fctx->altaddrs); - addrinfo != NULL; + for (addrinfo = ISC_LIST_HEAD(fctx->altaddrs); addrinfo != NULL; addrinfo = ISC_LIST_NEXT(addrinfo, publink)) { if (!UNMARKED(addrinfo)) continue; possibly_mark(fctx, addrinfo); if (UNMARKED(addrinfo) && - (faddrinfo == NULL || - addrinfo->srtt < faddrinfo->srtt)) { + (faddrinfo == NULL || addrinfo->srtt < faddrinfo->srtt)) { if (faddrinfo != NULL) faddrinfo->flags &= ~FCTX_ADDRINFO_MARK; addrinfo->flags |= FCTX_ADDRINFO_MARK; @@ -3988,13 +3965,14 @@ fctx_nextaddress(fetchctx_t *fctx) { } static void -fctx_try(fetchctx_t *fctx, bool retrying, bool badcache) { - isc_result_t result; +fctx_try(fetchctx_t *fctx, bool retrying, bool badcache) +{ + isc_result_t result; dns_adbaddrinfo_t *addrinfo = NULL; - dns_resolver_t *res; - isc_task_t *task; - unsigned int bucketnum; - bool bucket_empty; + dns_resolver_t * res; + isc_task_t * task; + unsigned int bucketnum; + bool bucket_empty; FCTXTRACE5("try", "fctx->qc=", isc_counter_used(fctx->qc)); @@ -4009,8 +3987,8 @@ fctx_try(fetchctx_t *fctx, bool retrying, bool badcache) { DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(3), "exceeded max queries resolving '%s' " "(querycount=%u, maxqueries=%u)", - fctx->info, - isc_counter_used(fctx->qc), res->maxqueries); + fctx->info, isc_counter_used(fctx->qc), + res->maxqueries); fctx_done(fctx, DNS_R_SERVFAIL, __LINE__); return; } @@ -4087,9 +4065,8 @@ fctx_try(fetchctx_t *fctx, bool retrying, bool badcache) { "fetch %p(%s) still running", fctx, fctx->info, namebuf, typebuf, fctx->qminfetch, - validfctx - ? fctx->qminfetch->private->info - : ""); + validfctx ? fctx->qminfetch->private->info + : ""); fctx_done(fctx, DNS_R_SERVFAIL, __LINE__); return; } @@ -4105,14 +4082,11 @@ fctx_try(fetchctx_t *fctx, bool retrying, bool badcache) { fctx_increference(fctx); task = res->buckets[bucketnum].task; fctx_stoptimer(fctx); - result = dns_resolver_createfetch(fctx->res, &fctx->qminname, - fctx->qmintype, &fctx->domain, - &fctx->nameservers, - NULL, NULL, 0, - options, 0, fctx->qc, task, - resume_qmin, fctx, - &fctx->qminrrset, NULL, - &fctx->qminfetch); + result = dns_resolver_createfetch( + fctx->res, &fctx->qminname, fctx->qmintype, + &fctx->domain, &fctx->nameservers, NULL, NULL, 0, + options, 0, fctx->qc, task, resume_qmin, fctx, + &fctx->qminrrset, NULL, &fctx->qminfetch); if (result != ISC_R_SUCCESS) { LOCK(&fctx->res->buckets[fctx->bucketnum].lock); RUNTIME_CHECK(!fctx_decreference(fctx)); @@ -4149,16 +4123,17 @@ fctx_try(fetchctx_t *fctx, bool retrying, bool badcache) { } static void -resume_qmin(isc_task_t *task, isc_event_t *event) { +resume_qmin(isc_task_t *task, isc_event_t *event) +{ dns_fetchevent_t *fevent; - dns_resolver_t *res; - fetchctx_t *fctx; - isc_result_t result; - bool bucket_empty; - unsigned int bucketnum; - unsigned int findoptions = 0; - dns_name_t *fname, *dcname; - dns_fixedname_t ffixed, dcfixed; + dns_resolver_t * res; + fetchctx_t * fctx; + isc_result_t result; + bool bucket_empty; + unsigned int bucketnum; + unsigned int findoptions = 0; + dns_name_t * fname, *dcname; + dns_fixedname_t ffixed, dcfixed; fname = dns_fixedname_initname(&ffixed); dcname = dns_fixedname_initname(&dcfixed); @@ -4217,10 +4192,8 @@ resume_qmin(isc_task_t *task, isc_event_t *event) { if ((NXDOMAIN_RESULT(result) && (fctx->options & DNS_FETCHOPT_QMIN_USE_A) == 0) || - result == DNS_R_FORMERR || - result == DNS_R_REMOTEFORMERR || - result == ISC_R_FAILURE) - { + result == DNS_R_FORMERR || result == DNS_R_REMOTEFORMERR || + result == ISC_R_FAILURE) { if ((fctx->options & DNS_FETCHOPT_QMIN_STRICT) == 0) { fctx->qmin_labels = DNS_MAX_LABELS + 1; /* @@ -4241,9 +4214,9 @@ resume_qmin(isc_task_t *task, isc_event_t *event) { if (dns_rdatatype_atparent(fctx->type)) { findoptions |= DNS_DBFIND_NOEXACT; } - result = dns_view_findzonecut(res->view, &fctx->name, fname, - dcname, fctx->now, findoptions, - true, true, &fctx->nameservers, NULL); + result = dns_view_findzonecut(res->view, &fctx->name, fname, dcname, + fctx->now, findoptions, true, true, + &fctx->nameservers, NULL); if (result != ISC_R_SUCCESS) { fctx_done(fctx, result, __LINE__); @@ -4284,7 +4257,7 @@ resume_qmin(isc_task_t *task, isc_event_t *event) { fctx_try(fctx, true, false); - cleanup: +cleanup: INSIST(event == NULL); INSIST(fevent == NULL); LOCK(&res->buckets[bucketnum].lock); @@ -4295,9 +4268,10 @@ resume_qmin(isc_task_t *task, isc_event_t *event) { } static bool -fctx_unlink(fetchctx_t *fctx) { +fctx_unlink(fetchctx_t *fctx) +{ dns_resolver_t *res; - unsigned int bucketnum; + unsigned int bucketnum; /* * Caller must be holding the bucket lock. @@ -4327,8 +4301,7 @@ fctx_unlink(fetchctx_t *fctx) { dec_stats(res, dns_resstatscounter_nfetch); if (atomic_load_acquire(&res->buckets[bucketnum].exiting) && - ISC_LIST_EMPTY(res->buckets[bucketnum].fctxs)) - { + ISC_LIST_EMPTY(res->buckets[bucketnum].fctxs)) { return (true); } @@ -4336,9 +4309,10 @@ fctx_unlink(fetchctx_t *fctx) { } static void -fctx_destroy(fetchctx_t *fctx) { +fctx_destroy(fetchctx_t *fctx) +{ isc_sockaddr_t *sa, *next_sa; - struct tried *tried; + struct tried * tried; REQUIRE(VALID_FCTX(fctx)); REQUIRE(fctx->state == fetchstate_done || @@ -4358,31 +4332,25 @@ fctx_destroy(fetchctx_t *fctx) { /* * Free bad. */ - for (sa = ISC_LIST_HEAD(fctx->bad); - sa != NULL; - sa = next_sa) { + for (sa = ISC_LIST_HEAD(fctx->bad); sa != NULL; sa = next_sa) { next_sa = ISC_LIST_NEXT(sa, link); ISC_LIST_UNLINK(fctx->bad, sa, link); isc_mem_put(fctx->mctx, sa, sizeof(*sa)); } - for (tried = ISC_LIST_HEAD(fctx->edns); - tried != NULL; + for (tried = ISC_LIST_HEAD(fctx->edns); tried != NULL; tried = ISC_LIST_HEAD(fctx->edns)) { ISC_LIST_UNLINK(fctx->edns, tried, link); isc_mem_put(fctx->mctx, tried, sizeof(*tried)); } - for (tried = ISC_LIST_HEAD(fctx->edns512); - tried != NULL; + for (tried = ISC_LIST_HEAD(fctx->edns512); tried != NULL; tried = ISC_LIST_HEAD(fctx->edns512)) { ISC_LIST_UNLINK(fctx->edns512, tried, link); isc_mem_put(fctx->mctx, tried, sizeof(*tried)); } - for (sa = ISC_LIST_HEAD(fctx->bad_edns); - sa != NULL; - sa = next_sa) { + for (sa = ISC_LIST_HEAD(fctx->bad_edns); sa != NULL; sa = next_sa) { next_sa = ISC_LIST_NEXT(sa, link); ISC_LIST_UNLINK(fctx->bad_edns, sa, link); isc_mem_put(fctx->mctx, sa, sizeof(*sa)); @@ -4411,10 +4379,11 @@ fctx_destroy(fetchctx_t *fctx) { */ static void -fctx_timeout(isc_task_t *task, isc_event_t *event) { - fetchctx_t *fctx = event->ev_arg; +fctx_timeout(isc_task_t *task, isc_event_t *event) +{ + fetchctx_t * fctx = event->ev_arg; isc_timerevent_t *tevent = (isc_timerevent_t *)event; - resquery_t *query; + resquery_t * query; REQUIRE(VALID_FCTX(fctx)); @@ -4444,8 +4413,7 @@ fctx_timeout(isc_task_t *task, isc_event_t *event) { */ query = ISC_LIST_HEAD(fctx->queries); if (query != NULL && - isc_time_compare(&tevent->due, &query->start) >= 0) - { + isc_time_compare(&tevent->due, &query->start) >= 0) { FCTXTRACE("query timed out; no response"); fctx_cancelquery(&query, NULL, NULL, true, false); } @@ -4468,7 +4436,8 @@ fctx_timeout(isc_task_t *task, isc_event_t *event) { } static void -fctx_shutdown(fetchctx_t *fctx) { +fctx_shutdown(fetchctx_t *fctx) +{ isc_event_t *cevent; /* @@ -4500,13 +4469,14 @@ fctx_shutdown(fetchctx_t *fctx) { } static void -fctx_doshutdown(isc_task_t *task, isc_event_t *event) { - fetchctx_t *fctx = event->ev_arg; - bool bucket_empty = false; - dns_resolver_t *res; - unsigned int bucketnum; +fctx_doshutdown(isc_task_t *task, isc_event_t *event) +{ + fetchctx_t * fctx = event->ev_arg; + bool bucket_empty = false; + dns_resolver_t * res; + unsigned int bucketnum; dns_validator_t *validator; - bool dodestroy = false; + bool dodestroy = false; REQUIRE(VALID_FCTX(fctx)); @@ -4560,10 +4530,8 @@ fctx_doshutdown(isc_task_t *task, isc_event_t *event) { } if (isc_refcount_current(&fctx->references) == 0 && - fctx->pending == 0 && - fctx->nqueries == 0 && - ISC_LIST_EMPTY(fctx->validators)) - { + fctx->pending == 0 && fctx->nqueries == 0 && + ISC_LIST_EMPTY(fctx->validators)) { bucket_empty = fctx_unlink(fctx); dodestroy = true; } @@ -4578,12 +4546,13 @@ fctx_doshutdown(isc_task_t *task, isc_event_t *event) { } static void -fctx_start(isc_task_t *task, isc_event_t *event) { - fetchctx_t *fctx = event->ev_arg; - bool done = false, bucket_empty = false; +fctx_start(isc_task_t *task, isc_event_t *event) +{ + fetchctx_t * fctx = event->ev_arg; + bool done = false, bucket_empty = false; dns_resolver_t *res; - unsigned int bucketnum; - bool dodestroy = false; + unsigned int bucketnum; + bool dodestroy = false; REQUIRE(VALID_FCTX(fctx)); @@ -4666,7 +4635,7 @@ fctx_join(fetchctx_t *fctx, isc_task_t *task, const isc_sockaddr_t *client, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset, dns_fetch_t *fetch) { - isc_task_t *tclone; + isc_task_t * tclone; dns_fetchevent_t *event; FCTXTRACE("join"); @@ -4678,9 +4647,9 @@ fctx_join(fetchctx_t *fctx, isc_task_t *task, const isc_sockaddr_t *client, */ tclone = NULL; isc_task_attach(task, &tclone); - event = (dns_fetchevent_t *) - isc_event_allocate(fctx->res->mctx, tclone, DNS_EVENT_FETCHDONE, - action, arg, sizeof(*event)); + event = (dns_fetchevent_t *)isc_event_allocate( + fctx->res->mctx, tclone, DNS_EVENT_FETCHDONE, action, arg, + sizeof(*event)); event->result = DNS_R_SERVFAIL; event->qtype = fctx->type; event->db = NULL; @@ -4710,7 +4679,8 @@ fctx_join(fetchctx_t *fctx, isc_task_t *task, const isc_sockaddr_t *client, } static inline void -log_ns_ttl(fetchctx_t *fctx, const char *where) { +log_ns_ttl(fetchctx_t *fctx, const char *where) +{ char namebuf[DNS_NAME_FORMATSIZE]; char domainbuf[DNS_NAME_FORMATSIZE]; @@ -4718,9 +4688,8 @@ log_ns_ttl(fetchctx_t *fctx, const char *where) { dns_name_format(&fctx->domain, domainbuf, sizeof(domainbuf)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(10), - "log_ns_ttl: fctx %p: %s: %s (in '%s'?): %u %u", - fctx, where, namebuf, domainbuf, - fctx->ns_ttl_ok, fctx->ns_ttl); + "log_ns_ttl: fctx %p: %s: %s (in '%s'?): %u %u", fctx, + where, namebuf, domainbuf, fctx->ns_ttl_ok, fctx->ns_ttl); } static isc_result_t @@ -4730,14 +4699,14 @@ fctx_create(dns_resolver_t *res, const dns_name_t *name, dns_rdatatype_t type, unsigned int bucketnum, unsigned int depth, isc_counter_t *qc, fetchctx_t **fctxp) { - fetchctx_t *fctx; - isc_result_t result; - isc_result_t iresult; + fetchctx_t * fctx; + isc_result_t result; + isc_result_t iresult; isc_interval_t interval; - unsigned int findoptions = 0; - char buf[DNS_NAME_FORMATSIZE + DNS_RDATATYPE_FORMATSIZE]; - char typebuf[DNS_RDATATYPE_FORMATSIZE]; - isc_mem_t *mctx; + unsigned int findoptions = 0; + char buf[DNS_NAME_FORMATSIZE + DNS_RDATATYPE_FORMATSIZE]; + char typebuf[DNS_RDATATYPE_FORMATSIZE]; + isc_mem_t * mctx; /* * Caller must be holding the lock for bucket number 'bucketnum'. @@ -4751,8 +4720,8 @@ fctx_create(dns_resolver_t *res, const dns_name_t *name, dns_rdatatype_t type, if (qc != NULL) { isc_counter_attach(qc, &fctx->qc); } else { - result = isc_counter_create(res->mctx, - res->maxqueries, &fctx->qc); + result = isc_counter_create(res->mctx, res->maxqueries, + &fctx->qc); if (result != ISC_R_SUCCESS) goto cleanup_fetch; } @@ -4830,7 +4799,7 @@ fctx_create(dns_resolver_t *res, const dns_name_t *name, dns_rdatatype_t type, fctx->valfail = 0; fctx->result = ISC_R_FAILURE; fctx->vresult = ISC_R_SUCCESS; - fctx->exitline = -1; /* sentinel */ + fctx->exitline = -1; /* sentinel */ fctx->logged = false; atomic_init(&fctx->attributes, 0); fctx->spilled = false; @@ -4850,11 +4819,11 @@ fctx_create(dns_resolver_t *res, const dns_name_t *name, dns_rdatatype_t type, if (domain == NULL) { dns_forwarders_t *forwarders = NULL; - dns_fixedname_t fixed; - unsigned int labels; + dns_fixedname_t fixed; + unsigned int labels; const dns_name_t *fwdname = name; - dns_name_t suffix; - dns_name_t *fname; + dns_name_t suffix; + dns_name_t * fname; /* * DS records are found in the parent server. Strip one @@ -4878,7 +4847,7 @@ fctx_create(dns_resolver_t *res, const dns_name_t *name, dns_rdatatype_t type, if (fctx->fwdpolicy != dns_fwdpolicy_only) { dns_fixedname_t dcfixed; - dns_name_t *dcname; + dns_name_t * dcname; dcname = dns_fixedname_initname(&dcfixed); /* * The caller didn't supply a query domain and @@ -4890,8 +4859,7 @@ fctx_create(dns_resolver_t *res, const dns_name_t *name, dns_rdatatype_t type, result = dns_view_findzonecut(res->view, name, fname, dcname, fctx->now, findoptions, true, true, - &fctx->nameservers, - NULL); + &fctx->nameservers, NULL); if (result != ISC_R_SUCCESS) { goto cleanup_nameservers; } @@ -4973,13 +4941,11 @@ fctx_create(dns_resolver_t *res, const dns_name_t *name, dns_rdatatype_t type, * is actually started. */ fctx->timer = NULL; - iresult = isc_timer_create(res->timermgr, isc_timertype_inactive, - NULL, NULL, - res->buckets[bucketnum].task, fctx_timeout, - fctx, &fctx->timer); + iresult = isc_timer_create(res->timermgr, isc_timertype_inactive, NULL, + NULL, res->buckets[bucketnum].task, + fctx_timeout, fctx, &fctx->timer); if (iresult != ISC_R_SUCCESS) { - UNEXPECTED_ERROR(__FILE__, __LINE__, - "isc_timer_create: %s", + UNEXPECTED_ERROR(__FILE__, __LINE__, "isc_timer_create: %s", isc_result_totext(iresult)); result = ISC_R_UNEXPECTED; goto cleanup_rmessage; @@ -5006,7 +4972,7 @@ fctx_create(dns_resolver_t *res, const dns_name_t *name, dns_rdatatype_t type, if ((options & DNS_FETCHOPT_QMINIMIZE) != 0) { fctx->ip6arpaskip = (options & DNS_FETCHOPT_QMIN_SKIP_IP6A) != 0 && - dns_name_issubdomain(&fctx->name, &ip6_arpa); + dns_name_issubdomain(&fctx->name, &ip6_arpa); result = fctx_minimize_qname(fctx); if (result != ISC_R_SUCCESS) { goto cleanup_mctx; @@ -5023,29 +4989,29 @@ fctx_create(dns_resolver_t *res, const dns_name_t *name, dns_rdatatype_t type, return (ISC_R_SUCCESS); - cleanup_mctx: +cleanup_mctx: fctx->magic = 0; isc_mem_detach(&fctx->mctx); dns_adb_detach(&fctx->adb); dns_db_detach(&fctx->cache); isc_timer_detach(&fctx->timer); - cleanup_rmessage: +cleanup_rmessage: dns_message_destroy(&fctx->rmessage); - cleanup_qmessage: +cleanup_qmessage: dns_message_destroy(&fctx->qmessage); - cleanup_fcount: +cleanup_fcount: fcount_decr(fctx); - cleanup_domain: +cleanup_domain: if (dns_name_countlabels(&fctx->domain) > 0) dns_name_free(&fctx->domain, mctx); if (dns_name_countlabels(&fctx->qmindcname) > 0) dns_name_free(&fctx->qmindcname, mctx); - cleanup_nameservers: +cleanup_nameservers: if (dns_rdataset_isassociated(&fctx->nameservers)) dns_rdataset_disassociate(&fctx->nameservers); dns_name_free(&fctx->name, mctx); @@ -5053,7 +5019,7 @@ fctx_create(dns_resolver_t *res, const dns_name_t *name, dns_rdatatype_t type, isc_mem_free(mctx, fctx->info); isc_counter_detach(&fctx->qc); - cleanup_fetch: +cleanup_fetch: isc_mem_put(mctx, fctx, sizeof(*fctx)); return (result); @@ -5063,11 +5029,12 @@ fctx_create(dns_resolver_t *res, const dns_name_t *name, dns_rdatatype_t type, * Handle Responses */ static inline bool -is_lame(fetchctx_t *fctx) { - dns_message_t *message = fctx->rmessage; - dns_name_t *name; +is_lame(fetchctx_t *fctx) +{ + dns_message_t * message = fctx->rmessage; + dns_name_t * name; dns_rdataset_t *rdataset; - isc_result_t result; + isc_result_t result; if (message->rcode != dns_rcode_noerror && message->rcode != dns_rcode_yxdomain && @@ -5084,12 +5051,11 @@ is_lame(fetchctx_t *fctx) { while (result == ISC_R_SUCCESS) { name = NULL; dns_message_currentname(message, DNS_SECTION_AUTHORITY, &name); - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { dns_namereln_t namereln; - int order; - unsigned int labels; + int order; + unsigned int labels; if (rdataset->type != dns_rdatatype_ns) continue; namereln = dns_name_fullcompare(name, &fctx->domain, @@ -5108,7 +5074,8 @@ is_lame(fetchctx_t *fctx) { } static inline void -log_lame(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo) { +log_lame(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo) +{ char namebuf[DNS_NAME_FORMATSIZE]; char domainbuf[DNS_NAME_FORMATSIZE]; char addrbuf[ISC_SOCKADDR_FORMATSIZE]; @@ -5118,17 +5085,18 @@ log_lame(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo) { isc_sockaddr_format(&addrinfo->sockaddr, addrbuf, sizeof(addrbuf)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_LAME_SERVERS, DNS_LOGMODULE_RESOLVER, ISC_LOG_INFO, - "lame server resolving '%s' (in '%s'?): %s", - namebuf, domainbuf, addrbuf); + "lame server resolving '%s' (in '%s'?): %s", namebuf, + domainbuf, addrbuf); } static inline void -log_formerr(fetchctx_t *fctx, const char *format, ...) { - char nsbuf[ISC_SOCKADDR_FORMATSIZE]; - char clbuf[ISC_SOCKADDR_FORMATSIZE]; +log_formerr(fetchctx_t *fctx, const char *format, ...) +{ + char nsbuf[ISC_SOCKADDR_FORMATSIZE]; + char clbuf[ISC_SOCKADDR_FORMATSIZE]; const char *clmsg = ""; - char msgbuf[2048]; - va_list args; + char msgbuf[2048]; + va_list args; va_start(args, format); vsnprintf(msgbuf, sizeof(msgbuf), format, args); @@ -5145,15 +5113,16 @@ log_formerr(fetchctx_t *fctx, const char *format, ...) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, DNS_LOGMODULE_RESOLVER, ISC_LOG_NOTICE, - "DNS format error from %s resolving %s%s%s: %s", - nsbuf, fctx->info, clmsg, clbuf, msgbuf); + "DNS format error from %s resolving %s%s%s: %s", nsbuf, + fctx->info, clmsg, clbuf, msgbuf); } static isc_result_t -same_question(fetchctx_t *fctx) { - isc_result_t result; - dns_message_t *message = fctx->rmessage; - dns_name_t *name; +same_question(fetchctx_t *fctx) +{ + isc_result_t result; + dns_message_t * message = fctx->rmessage; + dns_name_t * name; dns_rdataset_t *rdataset; /* @@ -5180,9 +5149,8 @@ same_question(fetchctx_t *fctx) { * source port checks can force the use of * TCP. This is considered an acceptable risk. */ - log_formerr(fctx, - "empty question section, " - "accepting it anyway as TC=1"); + log_formerr(fctx, "empty question section, " + "accepting it anyway as TC=1"); return (ISC_R_SUCCESS); } else { log_formerr(fctx, "empty question section"); @@ -5222,9 +5190,10 @@ same_question(fetchctx_t *fctx) { } static void -clone_results(fetchctx_t *fctx) { +clone_results(fetchctx_t *fctx) +{ dns_fetchevent_t *event, *hevent; - dns_name_t *name, *hname; + dns_name_t * name, *hname; FCTXTRACE("clone_results"); @@ -5240,8 +5209,7 @@ clone_results(fetchctx_t *fctx) { if (hevent == NULL) return; hname = dns_fixedname_name(&hevent->foundname); - for (event = ISC_LIST_NEXT(hevent, ev_link); - event != NULL; + for (event = ISC_LIST_NEXT(hevent, ev_link); event != NULL; event = ISC_LIST_NEXT(event, ev_link)) { name = dns_fixedname_name(&event->foundname); dns_name_copynf(hname, name); @@ -5252,8 +5220,8 @@ clone_results(fetchctx_t *fctx) { INSIST(event->rdataset != NULL); if (dns_rdataset_isassociated(hevent->rdataset)) dns_rdataset_clone(hevent->rdataset, event->rdataset); - INSIST(! (hevent->sigrdataset == NULL && - event->sigrdataset != NULL)); + INSIST(!(hevent->sigrdataset == NULL && + event->sigrdataset != NULL)); if (hevent->sigrdataset != NULL && dns_rdataset_isassociated(hevent->sigrdataset) && event->sigrdataset != NULL) @@ -5262,13 +5230,13 @@ clone_results(fetchctx_t *fctx) { } } -#define CACHE(r) (((r)->attributes & DNS_RDATASETATTR_CACHE) != 0) -#define ANSWER(r) (((r)->attributes & DNS_RDATASETATTR_ANSWER) != 0) -#define ANSWERSIG(r) (((r)->attributes & DNS_RDATASETATTR_ANSWERSIG) != 0) -#define EXTERNAL(r) (((r)->attributes & DNS_RDATASETATTR_EXTERNAL) != 0) -#define CHAINING(r) (((r)->attributes & DNS_RDATASETATTR_CHAINING) != 0) -#define CHASE(r) (((r)->attributes & DNS_RDATASETATTR_CHASE) != 0) -#define CHECKNAMES(r) (((r)->attributes & DNS_RDATASETATTR_CHECKNAMES) != 0) +#define CACHE(r) (((r)->attributes & DNS_RDATASETATTR_CACHE) != 0) +#define ANSWER(r) (((r)->attributes & DNS_RDATASETATTR_ANSWER) != 0) +#define ANSWERSIG(r) (((r)->attributes & DNS_RDATASETATTR_ANSWERSIG) != 0) +#define EXTERNAL(r) (((r)->attributes & DNS_RDATASETATTR_EXTERNAL) != 0) +#define CHAINING(r) (((r)->attributes & DNS_RDATASETATTR_CHAINING) != 0) +#define CHASE(r) (((r)->attributes & DNS_RDATASETATTR_CHASE) != 0) +#define CHECKNAMES(r) (((r)->attributes & DNS_RDATASETATTR_CHECKNAMES) != 0) /* * Destroy '*fctx' if it is ready to be destroyed (i.e., if it has @@ -5281,12 +5249,13 @@ clone_results(fetchctx_t *fctx) { * true if the resolver is exiting and this is the last fctx in the bucket. */ static bool -maybe_destroy(fetchctx_t *fctx, bool locked) { - unsigned int bucketnum; - bool bucket_empty = false; - dns_resolver_t *res = fctx->res; +maybe_destroy(fetchctx_t *fctx, bool locked) +{ + unsigned int bucketnum; + bool bucket_empty = false; + dns_resolver_t * res = fctx->res; dns_validator_t *validator, *next_validator; - bool dodestroy = false; + bool dodestroy = false; bucketnum = fctx->bucketnum; if (!locked) @@ -5297,19 +5266,18 @@ maybe_destroy(fetchctx_t *fctx, bool locked) { if (fctx->pending != 0 || fctx->nqueries != 0) goto unlock; - for (validator = ISC_LIST_HEAD(fctx->validators); - validator != NULL; validator = next_validator) { + for (validator = ISC_LIST_HEAD(fctx->validators); validator != NULL; + validator = next_validator) { next_validator = ISC_LIST_NEXT(validator, link); dns_validator_cancel(validator); } if (isc_refcount_current(&fctx->references) == 0 && - ISC_LIST_EMPTY(fctx->validators)) - { + ISC_LIST_EMPTY(fctx->validators)) { bucket_empty = fctx_unlink(fctx); dodestroy = true; } - unlock: +unlock: if (!locked) UNLOCK(&res->buckets[bucketnum].lock); if (dodestroy) @@ -5321,31 +5289,32 @@ maybe_destroy(fetchctx_t *fctx, bool locked) { * The validator has finished. */ static void -validated(isc_task_t *task, isc_event_t *event) { - dns_adbaddrinfo_t *addrinfo; - dns_dbnode_t *node = NULL; - dns_dbnode_t *nsnode = NULL; - dns_fetchevent_t *hevent; - dns_name_t *name; - dns_rdataset_t *ardataset = NULL; - dns_rdataset_t *asigrdataset = NULL; - dns_rdataset_t *rdataset; - dns_rdataset_t *sigrdataset; - dns_resolver_t *res; - dns_valarg_t *valarg; +validated(isc_task_t *task, isc_event_t *event) +{ + dns_adbaddrinfo_t * addrinfo; + dns_dbnode_t * node = NULL; + dns_dbnode_t * nsnode = NULL; + dns_fetchevent_t * hevent; + dns_name_t * name; + dns_rdataset_t * ardataset = NULL; + dns_rdataset_t * asigrdataset = NULL; + dns_rdataset_t * rdataset; + dns_rdataset_t * sigrdataset; + dns_resolver_t * res; + dns_valarg_t * valarg; dns_validatorevent_t *vevent; - fetchctx_t *fctx; - bool chaining; - bool negative; - bool sentresponse; - isc_result_t eresult = ISC_R_SUCCESS; - isc_result_t result = ISC_R_SUCCESS; - isc_stdtime_t now; - uint32_t ttl; - unsigned options; - uint32_t bucketnum; - dns_fixedname_t fwild; - dns_name_t *wild = NULL; + fetchctx_t * fctx; + bool chaining; + bool negative; + bool sentresponse; + isc_result_t eresult = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; + isc_stdtime_t now; + uint32_t ttl; + unsigned options; + uint32_t bucketnum; + dns_fixedname_t fwild; + dns_name_t * wild = NULL; UNUSED(task); /* for now */ @@ -5375,7 +5344,7 @@ validated(isc_task_t *task, isc_event_t *event) { if (vevent->proofs[DNS_VALIDATOR_NOQNAMEPROOF] != NULL) { wild = dns_fixedname_initname(&fwild); dns_name_copynf(dns_fixedname_name(&vevent->validator->wild), - wild); + wild); } dns_validator_destroy(&vevent->validator); isc_mem_put(fctx->mctx, valarg, sizeof(*valarg)); @@ -5404,11 +5373,8 @@ validated(isc_task_t *task, isc_event_t *event) { * If chaining, we need to make sure that the right result code is * returned, and that the rdatasets are bound. */ - if (vevent->result == ISC_R_SUCCESS && - !negative && - vevent->rdataset != NULL && - CHAINING(vevent->rdataset)) - { + if (vevent->result == ISC_R_SUCCESS && !negative && + vevent->rdataset != NULL && CHAINING(vevent->rdataset)) { if (vevent->rdataset->type == dns_rdatatype_cname) eresult = DNS_R_CNAME; else { @@ -5449,19 +5415,17 @@ validated(isc_task_t *task, isc_event_t *event) { if (fctx->vresult != DNS_R_BROKENCHAIN) { result = ISC_R_NOTFOUND; if (vevent->rdataset != NULL) - result = dns_db_findnode(fctx->cache, - vevent->name, - true, &node); + result = dns_db_findnode( + fctx->cache, vevent->name, true, &node); if (result == ISC_R_SUCCESS) (void)dns_db_deleterdataset(fctx->cache, node, - NULL, - vevent->type, 0); + NULL, vevent->type, + 0); if (result == ISC_R_SUCCESS && - vevent->sigrdataset != NULL) - (void)dns_db_deleterdataset(fctx->cache, node, - NULL, - dns_rdatatype_rrsig, - vevent->type); + vevent->sigrdataset != NULL) + (void)dns_db_deleterdataset( + fctx->cache, node, NULL, + dns_rdatatype_rrsig, vevent->type); if (result == ISC_R_SUCCESS) dns_db_detachnode(fctx->cache, &node); } @@ -5471,21 +5435,18 @@ validated(isc_task_t *task, isc_event_t *event) { */ result = ISC_R_NOTFOUND; if (vevent->rdataset != NULL) - result = dns_db_findnode(fctx->cache, - vevent->name, - true, &node); + result = dns_db_findnode( + fctx->cache, vevent->name, true, &node); if (result == ISC_R_SUCCESS) { - (void)dns_db_addrdataset(fctx->cache, node, - NULL, now, - vevent->rdataset, 0, - NULL); + (void)dns_db_addrdataset( + fctx->cache, node, NULL, now, + vevent->rdataset, 0, NULL); } if (result == ISC_R_SUCCESS && vevent->sigrdataset != NULL) - (void)dns_db_addrdataset(fctx->cache, node, - NULL, now, - vevent->sigrdataset, - 0, NULL); + (void)dns_db_addrdataset( + fctx->cache, node, NULL, now, + vevent->sigrdataset, 0, NULL); if (result == ISC_R_SUCCESS) dns_db_detachnode(fctx->cache, &node); } @@ -5500,8 +5461,8 @@ validated(isc_task_t *task, isc_event_t *event) { else if (sentresponse) fctx_done(fctx, result, __LINE__); /* Locks bucket. */ else if (result == DNS_R_BROKENCHAIN) { - isc_result_t tresult; - isc_time_t expire; + isc_result_t tresult; + isc_time_t expire; isc_interval_t i; isc_interval_set(&i, DNS_RESOLVER_BADCACHETTL(fctx), 0); @@ -5509,7 +5470,7 @@ validated(isc_task_t *task, isc_event_t *event) { if (negative && (fctx->type == dns_rdatatype_dnskey || fctx->type == dns_rdatatype_ds) && - tresult == ISC_R_SUCCESS) + tresult == ISC_R_SUCCESS) dns_resolver_addbadcache(res, &fctx->name, fctx->type, &expire); fctx_done(fctx, result, __LINE__); /* Locks bucket. */ @@ -5518,7 +5479,6 @@ validated(isc_task_t *task, isc_event_t *event) { return; } - if (negative) { dns_rdatatype_t covers; FCTXTRACE("nonexistence validation OK"); @@ -5534,8 +5494,8 @@ validated(isc_task_t *task, isc_event_t *event) { else covers = fctx->type; - result = dns_db_findnode(fctx->cache, vevent->name, true, - &node); + result = + dns_db_findnode(fctx->cache, vevent->name, true, &node); if (result != ISC_R_SUCCESS) goto noanswer_response; @@ -5549,11 +5509,10 @@ validated(isc_task_t *task, isc_event_t *event) { covers == dns_rdatatype_any && res->zero_no_soa_ttl) ttl = 0; - result = ncache_adderesult(fctx->rmessage, fctx->cache, node, - covers, now, - fctx->res->view->minncachettl, ttl, - vevent->optout, vevent->secure, - ardataset, &eresult); + result = ncache_adderesult( + fctx->rmessage, fctx->cache, node, covers, now, + fctx->res->view->minncachettl, ttl, vevent->optout, + vevent->secure, ardataset, &eresult); if (result != ISC_R_SUCCESS) goto noanswer_response; goto answer_response; @@ -5563,21 +5522,22 @@ validated(isc_task_t *task, isc_event_t *event) { FCTXTRACE("validation OK"); if (vevent->proofs[DNS_VALIDATOR_NOQNAMEPROOF] != NULL) { - result = dns_rdataset_addnoqname(vevent->rdataset, - vevent->proofs[DNS_VALIDATOR_NOQNAMEPROOF]); + result = dns_rdataset_addnoqname( + vevent->rdataset, + vevent->proofs[DNS_VALIDATOR_NOQNAMEPROOF]); RUNTIME_CHECK(result == ISC_R_SUCCESS); INSIST(vevent->sigrdataset != NULL); vevent->sigrdataset->ttl = vevent->rdataset->ttl; if (vevent->proofs[DNS_VALIDATOR_CLOSESTENCLOSER] != NULL) { - result = dns_rdataset_addclosest(vevent->rdataset, - vevent->proofs[DNS_VALIDATOR_CLOSESTENCLOSER]); + result = dns_rdataset_addclosest( + vevent->rdataset, + vevent->proofs[DNS_VALIDATOR_CLOSESTENCLOSER]); RUNTIME_CHECK(result == ISC_R_SUCCESS); } } else if (vevent->rdataset->trust == dns_trust_answer && - vevent->rdataset->type != dns_rdatatype_rrsig) - { + vevent->rdataset->type != dns_rdatatype_rrsig) { isc_result_t tresult; - dns_name_t *noqname = NULL; + dns_name_t * noqname = NULL; tresult = findnoqname(fctx, vevent->name, vevent->rdataset->type, &noqname); if (tresult == ISC_R_SUCCESS && noqname != NULL) { @@ -5602,8 +5562,7 @@ validated(isc_task_t *task, isc_event_t *event) { options = DNS_DBADD_PREFETCH; result = dns_db_addrdataset(fctx->cache, node, NULL, now, vevent->rdataset, options, ardataset); - if (result != ISC_R_SUCCESS && - result != DNS_R_UNCHANGED) + if (result != ISC_R_SUCCESS && result != DNS_R_UNCHANGED) goto noanswer_response; if (ardataset != NULL && NEGATIVE(ardataset)) { if (NXDOMAIN(ardataset)) @@ -5614,8 +5573,7 @@ validated(isc_task_t *task, isc_event_t *event) { result = dns_db_addrdataset(fctx->cache, node, NULL, now, vevent->sigrdataset, options, asigrdataset); - if (result != ISC_R_SUCCESS && - result != DNS_R_UNCHANGED) + if (result != ISC_R_SUCCESS && result != DNS_R_UNCHANGED) goto noanswer_response; } @@ -5650,7 +5608,7 @@ validated(isc_task_t *task, isc_event_t *event) { goto cleanup_event; } - answer_response: +answer_response: /* * Cache any SOA/NS/NSEC records that happened to be validated. */ @@ -5659,8 +5617,7 @@ validated(isc_task_t *task, isc_event_t *event) { name = NULL; dns_message_currentname(fctx->rmessage, DNS_SECTION_AUTHORITY, &name); - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { if ((rdataset->type != dns_rdatatype_ns && rdataset->type != dns_rdatatype_soa && @@ -5686,10 +5643,9 @@ validated(isc_task_t *task, isc_event_t *event) { result = dns_db_addrdataset(fctx->cache, nsnode, NULL, now, rdataset, 0, NULL); if (result == ISC_R_SUCCESS) - result = dns_db_addrdataset(fctx->cache, nsnode, - NULL, now, - sigrdataset, 0, - NULL); + result = dns_db_addrdataset( + fctx->cache, nsnode, NULL, now, + sigrdataset, 0, NULL); dns_db_detachnode(fctx->cache, &nsnode); if (result != ISC_R_SUCCESS) continue; @@ -5707,9 +5663,7 @@ validated(isc_task_t *task, isc_event_t *event) { vevent->rdataset->trust == dns_trust_secure && vevent->sigrdataset != NULL && dns_rdataset_isassociated(vevent->sigrdataset) && - vevent->sigrdataset->trust == dns_trust_secure && - wild != NULL) - { + vevent->sigrdataset->trust == dns_trust_secure && wild != NULL) { dns_dbnode_t *wnode = NULL; result = dns_db_findnode(fctx->cache, wild, true, &wnode); @@ -5745,28 +5699,29 @@ validated(isc_task_t *task, isc_event_t *event) { } hevent->result = eresult; dns_name_copynf(vevent->name, - dns_fixedname_name(&hevent->foundname)); + dns_fixedname_name(&hevent->foundname)); dns_db_attach(fctx->cache, &hevent->db); dns_db_transfernode(fctx->cache, &node, &hevent->node); clone_results(fctx); } - noanswer_response: +noanswer_response: if (node != NULL) dns_db_detachnode(fctx->cache, &node); UNLOCK(&res->buckets[bucketnum].lock); fctx_done(fctx, result, __LINE__); /* Locks bucket. */ - cleanup_event: +cleanup_event: INSIST(node == NULL); isc_event_free(&event); } static void -fctx_log(void *arg, int level, const char *fmt, ...) { - char msgbuf[2048]; - va_list args; +fctx_log(void *arg, int level, const char *fmt, ...) +{ + char msgbuf[2048]; + va_list args; fetchctx_t *fctx = arg; va_start(args, fmt); @@ -5774,27 +5729,27 @@ fctx_log(void *arg, int level, const char *fmt, ...) { va_end(args); isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, - DNS_LOGMODULE_RESOLVER, level, - "fctx %p(%s): %s", fctx, fctx->info, msgbuf); + DNS_LOGMODULE_RESOLVER, level, "fctx %p(%s): %s", fctx, + fctx->info, msgbuf); } static inline isc_result_t findnoqname(fetchctx_t *fctx, dns_name_t *name, dns_rdatatype_t type, dns_name_t **noqnamep) { - dns_rdataset_t *nrdataset, *next, *sigrdataset; + dns_rdataset_t * nrdataset, *next, *sigrdataset; dns_rdata_rrsig_t rrsig; - isc_result_t result; - unsigned int labels; - dns_section_t section; - dns_name_t *zonename; - dns_fixedname_t fzonename; - dns_name_t *closest; - dns_fixedname_t fclosest; - dns_name_t *nearest; - dns_fixedname_t fnearest; - dns_rdatatype_t found = dns_rdatatype_none; - dns_name_t *noqname = NULL; + isc_result_t result; + unsigned int labels; + dns_section_t section; + dns_name_t * zonename; + dns_fixedname_t fzonename; + dns_name_t * closest; + dns_fixedname_t fclosest; + dns_name_t * nearest; + dns_fixedname_t fnearest; + dns_rdatatype_t found = dns_rdatatype_none; + dns_name_t * noqname = NULL; FCTXTRACE("findnoqname"); @@ -5803,8 +5758,7 @@ findnoqname(fetchctx_t *fctx, dns_name_t *name, dns_rdatatype_t type, /* * Find the SIG for this rdataset, if we have it. */ - for (sigrdataset = ISC_LIST_HEAD(name->list); - sigrdataset != NULL; + for (sigrdataset = ISC_LIST_HEAD(name->list); sigrdataset != NULL; sigrdataset = ISC_LIST_NEXT(sigrdataset, link)) { if (sigrdataset->type == dns_rdatatype_rrsig && sigrdataset->covers == type) @@ -5816,8 +5770,7 @@ findnoqname(fetchctx_t *fctx, dns_name_t *name, dns_rdatatype_t type, labels = dns_name_countlabels(name); - for (result = dns_rdataset_first(sigrdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(sigrdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(sigrdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(sigrdataset, &rdata); @@ -5846,8 +5799,8 @@ findnoqname(fetchctx_t *fctx, dns_name_t *name, dns_rdatatype_t type, result = dns_message_nextname(fctx->rmessage, section)) { dns_name_t *nsec = NULL; dns_message_currentname(fctx->rmessage, section, &nsec); - for (nrdataset = ISC_LIST_HEAD(nsec->list); - nrdataset != NULL; nrdataset = next) { + for (nrdataset = ISC_LIST_HEAD(nsec->list); nrdataset != NULL; + nrdataset = next) { bool data = false, exists = false; bool optout = false, unknown = false; bool setclosest = false; @@ -5859,11 +5812,9 @@ findnoqname(fetchctx_t *fctx, dns_name_t *name, dns_rdatatype_t type, continue; if (nrdataset->type == dns_rdatatype_nsec && - NXND(dns_nsec_noexistnodata(type, name, nsec, - nrdataset, &exists, - &data, NULL, fctx_log, - fctx))) - { + NXND(dns_nsec_noexistnodata( + type, name, nsec, nrdataset, &exists, &data, + NULL, fctx_log, fctx))) { if (!exists) { noqname = nsec; found = dns_rdatatype_nsec; @@ -5871,15 +5822,11 @@ findnoqname(fetchctx_t *fctx, dns_name_t *name, dns_rdatatype_t type, } if (nrdataset->type == dns_rdatatype_nsec3 && - NXND(dns_nsec3_noexistnodata(type, name, nsec, - nrdataset, zonename, - &exists, &data, - &optout, &unknown, - &setclosest, - &setnearest, - closest, nearest, - fctx_log, fctx))) - { + NXND(dns_nsec3_noexistnodata( + type, name, nsec, nrdataset, zonename, + &exists, &data, &optout, &unknown, + &setclosest, &setnearest, closest, nearest, + fctx_log, fctx))) { if (!exists && setnearest) { noqname = nsec; found = dns_rdatatype_nsec3; @@ -5907,24 +5854,24 @@ static inline isc_result_t cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, isc_stdtime_t now) { - dns_rdataset_t *rdataset = NULL, *sigrdataset = NULL; - dns_rdataset_t *addedrdataset = NULL; - dns_rdataset_t *ardataset = NULL, *asigrdataset = NULL; - dns_rdataset_t *valrdataset = NULL, *valsigrdataset = NULL; - dns_dbnode_t *node = NULL, **anodep = NULL; - dns_db_t **adbp = NULL; - dns_name_t *aname = NULL; - dns_resolver_t *res = fctx->res; - bool need_validation = false; - bool secure_domain = false; - bool have_answer = false; - isc_result_t result, eresult = ISC_R_SUCCESS; + dns_rdataset_t * rdataset = NULL, *sigrdataset = NULL; + dns_rdataset_t * addedrdataset = NULL; + dns_rdataset_t * ardataset = NULL, *asigrdataset = NULL; + dns_rdataset_t * valrdataset = NULL, *valsigrdataset = NULL; + dns_dbnode_t * node = NULL, **anodep = NULL; + dns_db_t ** adbp = NULL; + dns_name_t * aname = NULL; + dns_resolver_t * res = fctx->res; + bool need_validation = false; + bool secure_domain = false; + bool have_answer = false; + isc_result_t result, eresult = ISC_R_SUCCESS; dns_fetchevent_t *event = NULL; - unsigned int options; - isc_task_t *task; - bool fail; - unsigned int valoptions = 0; - bool checknta = true; + unsigned int options; + isc_task_t * task; + bool fail; + unsigned int valoptions = 0; + bool checknta = true; FCTXTRACE("cache_name"); @@ -5942,8 +5889,8 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, } if (res->view->enablevalidation) { - result = issecuredomain(res->view, name, fctx->type, - now, checknta, NULL, &secure_domain); + result = issecuredomain(res->view, name, fctx->type, now, + checknta, NULL, &secure_domain); if (result != ISC_R_SUCCESS) { return (result); } @@ -5960,8 +5907,7 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, } if (((name->attributes & DNS_NAMEATTR_ANSWER) != 0) && - (!need_validation)) - { + (!need_validation)) { have_answer = true; event = ISC_LIST_HEAD(fctx->events); if (event != NULL) { @@ -5979,8 +5925,7 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, if ((fctx->type != dns_rdatatype_any && fctx->type != dns_rdatatype_rrsig && fctx->type != dns_rdatatype_sig) || - (name->attributes & DNS_NAMEATTR_CHAINING) != 0) - { + (name->attributes & DNS_NAMEATTR_CHAINING) != 0) { ardataset = event->rdataset; asigrdataset = event->sigrdataset; } @@ -6000,10 +5945,8 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, * Cache or validate each cacheable rdataset. */ fail = ((fctx->res->options & DNS_RESOLVER_CHECKNAMESFAIL) != 0); - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; - rdataset = ISC_LIST_NEXT(rdataset, link)) - { + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; + rdataset = ISC_LIST_NEXT(rdataset, link)) { if (!CACHE(rdataset)) { continue; } @@ -6020,8 +5963,8 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, DNS_LOGMODULE_RESOLVER, ISC_LOG_NOTICE, "check-names %s %s/%s/%s", - fail ? "failure" : "warning", - namebuf, typebuf, classbuf); + fail ? "failure" : "warning", namebuf, + typebuf, classbuf); if (fail) { if (ANSWER(rdataset)) { dns_db_detachnode(fctx->cache, &node); @@ -6057,11 +6000,9 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, */ for (sigrdataset = ISC_LIST_HEAD(name->list); sigrdataset != NULL; - sigrdataset = ISC_LIST_NEXT(sigrdataset, link)) - { + sigrdataset = ISC_LIST_NEXT(sigrdataset, link)) { if (sigrdataset->type == dns_rdatatype_rrsig && - sigrdataset->covers == rdataset->type) - { + sigrdataset->covers == rdataset->type) { break; } } @@ -6077,8 +6018,7 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, * them.) */ if (secure_domain && rdataset->trust != dns_trust_glue && - !EXTERNAL(rdataset)) - { + !EXTERNAL(rdataset)) { dns_trust_t trust; /* @@ -6090,8 +6030,7 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, } if (sigrdataset == NULL && need_validation && - !ANSWER(rdataset)) - { + !ANSWER(rdataset)) { /* * Ignore unrelated non-answer * rdatasets that are missing signatures. @@ -6111,8 +6050,8 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, /* * Mark the rdataset as being prefetch eligible. */ - if (rdataset->ttl > fctx->res->view->prefetch_eligible) - { + if (rdataset->ttl > + fctx->res->view->prefetch_eligible) { rdataset->attributes |= DNS_RDATASETATTR_PREFETCH; } @@ -6136,41 +6075,35 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, if (!need_validation || !ANSWER(rdataset)) { options = 0; if (ANSWER(rdataset) && - rdataset->type != dns_rdatatype_rrsig) - { + rdataset->type != dns_rdatatype_rrsig) { isc_result_t tresult; - dns_name_t *noqname = NULL; + dns_name_t * noqname = NULL; tresult = findnoqname(fctx, name, rdataset->type, &noqname); if (tresult == ISC_R_SUCCESS && - noqname != NULL) - { - (void) dns_rdataset_addnoqname( - rdataset, noqname); + noqname != NULL) { + (void)dns_rdataset_addnoqname( + rdataset, noqname); } } - if ((fctx->options & - DNS_FETCHOPT_PREFETCH) != 0) - { + if ((fctx->options & DNS_FETCHOPT_PREFETCH) != + 0) { options = DNS_DBADD_PREFETCH; } - if ((fctx->options & - DNS_FETCHOPT_NOCACHED) != 0) - { + if ((fctx->options & DNS_FETCHOPT_NOCACHED) != + 0) { options |= DNS_DBADD_FORCE; } addedrdataset = ardataset; - result = dns_db_addrdataset(fctx->cache, node, - NULL, now, rdataset, - options, - addedrdataset); + result = dns_db_addrdataset( + fctx->cache, node, NULL, now, rdataset, + options, addedrdataset); if (result == DNS_R_UNCHANGED) { result = ISC_R_SUCCESS; if (!need_validation && ardataset != NULL && - NEGATIVE(ardataset)) - { + NEGATIVE(ardataset)) { /* * The answer in the cache is * better than the answer we @@ -6180,10 +6113,10 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, */ if (NXDOMAIN(ardataset)) { eresult = - DNS_R_NCACHENXDOMAIN; + DNS_R_NCACHENXDOMAIN; } else { eresult = - DNS_R_NCACHENXRRSET; + DNS_R_NCACHENXRRSET; } /* * We have a negative response @@ -6199,11 +6132,10 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, } if (sigrdataset != NULL) { addedrdataset = asigrdataset; - result = dns_db_addrdataset(fctx->cache, - node, NULL, now, - sigrdataset, - options, - addedrdataset); + result = dns_db_addrdataset( + fctx->cache, node, NULL, now, + sigrdataset, options, + addedrdataset); if (result == DNS_R_UNCHANGED) { result = ISC_R_SUCCESS; } @@ -6218,8 +6150,7 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, if (ANSWER(rdataset) && need_validation) { if (fctx->type != dns_rdatatype_any && fctx->type != dns_rdatatype_rrsig && - fctx->type != dns_rdatatype_sig) - { + fctx->type != dns_rdatatype_sig) { /* * This is The Answer. We will * validate it, but first we cache @@ -6241,11 +6172,10 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, * having to remember which * rdatasets needed validation. */ - result = valcreate(fctx, addrinfo, - name, rdataset->type, - rdataset, - sigrdataset, - valoptions, task); + result = valcreate( + fctx, addrinfo, name, + rdataset->type, rdataset, + sigrdataset, valoptions, task); } } else if (CHAINING(rdataset)) { if (rdataset->type == dns_rdatatype_cname) { @@ -6279,8 +6209,7 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, if (rdataset->trust == dns_trust_glue && (rdataset->type == dns_rdatatype_ns || (rdataset->type == dns_rdatatype_rrsig && - rdataset->covers == dns_rdatatype_ns))) - { + rdataset->covers == dns_rdatatype_ns))) { /* * If the trust level is 'dns_trust_glue' * then we are adding data from a referral @@ -6289,42 +6218,36 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, * over the existing cache contents. */ options = DNS_DBADD_FORCE; - } else if ((fctx->options & DNS_FETCHOPT_PREFETCH) != 0) - { + } else if ((fctx->options & DNS_FETCHOPT_PREFETCH) != + 0) { options = DNS_DBADD_PREFETCH; } else { options = 0; } if (ANSWER(rdataset) && - rdataset->type != dns_rdatatype_rrsig) - { + rdataset->type != dns_rdatatype_rrsig) { isc_result_t tresult; - dns_name_t *noqname = NULL; + dns_name_t * noqname = NULL; tresult = findnoqname(fctx, name, rdataset->type, &noqname); if (tresult == ISC_R_SUCCESS && - noqname != NULL) - { - (void) dns_rdataset_addnoqname( - rdataset, noqname); + noqname != NULL) { + (void)dns_rdataset_addnoqname(rdataset, + noqname); } } /* * Now we can add the rdataset. */ - result = dns_db_addrdataset(fctx->cache, - node, NULL, now, - rdataset, - options, + result = dns_db_addrdataset(fctx->cache, node, NULL, + now, rdataset, options, addedrdataset); if (result == DNS_R_UNCHANGED) { - if (ANSWER(rdataset) && - ardataset != NULL && - NEGATIVE(ardataset)) - { + if (ANSWER(rdataset) && ardataset != NULL && + NEGATIVE(ardataset)) { /* * The answer in the cache is better * than the answer we found, and is @@ -6364,8 +6287,7 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, * Negative results must be indicated in event->result. */ if (dns_rdataset_isassociated(event->rdataset) && - NEGATIVE(event->rdataset)) - { + NEGATIVE(event->rdataset)) { INSIST(eresult == DNS_R_NCACHENXDOMAIN || eresult == DNS_R_NCACHENXRRSET); } @@ -6392,9 +6314,9 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, static inline isc_result_t cache_message(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, isc_stdtime_t now) { - isc_result_t result; + isc_result_t result; dns_section_t section; - dns_name_t *name; + dns_name_t * name; FCTXTRACE("cache_message"); @@ -6402,14 +6324,12 @@ cache_message(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, isc_stdtime_t now) LOCK(&fctx->res->buckets[fctx->bucketnum].lock); - for (section = DNS_SECTION_ANSWER; - section <= DNS_SECTION_ADDITIONAL; + for (section = DNS_SECTION_ANSWER; section <= DNS_SECTION_ADDITIONAL; section++) { result = dns_message_firstname(fctx->rmessage, section); while (result == ISC_R_SUCCESS) { name = NULL; - dns_message_currentname(fctx->rmessage, section, - &name); + dns_message_currentname(fctx->rmessage, section, &name); if ((name->attributes & DNS_NAMEATTR_CACHE) != 0) { result = cache_name(fctx, name, addrinfo, now); if (result != ISC_R_SUCCESS) @@ -6433,12 +6353,11 @@ cache_message(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, isc_stdtime_t now) */ static isc_result_t ncache_adderesult(dns_message_t *message, dns_db_t *cache, dns_dbnode_t *node, - dns_rdatatype_t covers, isc_stdtime_t now, - dns_ttl_t minttl, dns_ttl_t maxttl, - bool optout, bool secure, + dns_rdatatype_t covers, isc_stdtime_t now, dns_ttl_t minttl, + dns_ttl_t maxttl, bool optout, bool secure, dns_rdataset_t *ardataset, isc_result_t *eresultp) { - isc_result_t result; + isc_result_t result; dns_rdataset_t rdataset; if (ardataset == NULL) { @@ -6446,8 +6365,9 @@ ncache_adderesult(dns_message_t *message, dns_db_t *cache, dns_dbnode_t *node, ardataset = &rdataset; } if (secure) - result = dns_ncache_addoptout(message, cache, node, covers, - now, minttl, maxttl, optout, ardataset); + result = dns_ncache_addoptout(message, cache, node, covers, now, + minttl, maxttl, optout, + ardataset); else result = dns_ncache_add(message, cache, node, covers, now, minttl, maxttl, ardataset); @@ -6489,18 +6409,18 @@ static inline isc_result_t ncache_message(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, dns_rdatatype_t covers, isc_stdtime_t now) { - isc_result_t result, eresult; - dns_name_t *name; - dns_resolver_t *res; - dns_db_t **adbp; - dns_dbnode_t *node, **anodep; - dns_rdataset_t *ardataset; - bool need_validation, secure_domain; - dns_name_t *aname; + isc_result_t result, eresult; + dns_name_t * name; + dns_resolver_t * res; + dns_db_t ** adbp; + dns_dbnode_t * node, **anodep; + dns_rdataset_t * ardataset; + bool need_validation, secure_domain; + dns_name_t * aname; dns_fetchevent_t *event; - uint32_t ttl; - unsigned int valoptions = 0; - bool checknta = true; + uint32_t ttl; + unsigned int valoptions = 0; + bool checknta = true; FCTXTRACE("ncache_message"); @@ -6529,8 +6449,8 @@ ncache_message(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, } if (fctx->res->view->enablevalidation) { - result = issecuredomain(res->view, name, fctx->type, - now, checknta, NULL, &secure_domain); + result = issecuredomain(res->view, name, fctx->type, now, + checknta, NULL, &secure_domain); if (result != ISC_R_SUCCESS) return (result); } @@ -6548,15 +6468,14 @@ ncache_message(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, * Mark all rdatasets as pending. */ dns_rdataset_t *trdataset; - dns_name_t *tname; + dns_name_t * tname; result = dns_message_firstname(fctx->rmessage, DNS_SECTION_AUTHORITY); while (result == ISC_R_SUCCESS) { tname = NULL; dns_message_currentname(fctx->rmessage, - DNS_SECTION_AUTHORITY, - &tname); + DNS_SECTION_AUTHORITY, &tname); for (trdataset = ISC_LIST_HEAD(tname->list); trdataset != NULL; trdataset = ISC_LIST_NEXT(trdataset, link)) @@ -6566,15 +6485,14 @@ ncache_message(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, } if (result != ISC_R_NOMORE) return (result); - } if (need_validation) { /* * Do negative response validation. */ - result = valcreate(fctx, addrinfo, name, fctx->type, - NULL, NULL, valoptions, + result = valcreate(fctx, addrinfo, name, fctx->type, NULL, NULL, + valoptions, res->buckets[fctx->bucketnum].task); /* * If validation is necessary, return now. Otherwise continue @@ -6612,14 +6530,12 @@ ncache_message(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, * a arbitrary zone. */ ttl = fctx->res->view->maxncachettl; - if (fctx->type == dns_rdatatype_soa && - covers == dns_rdatatype_any && + if (fctx->type == dns_rdatatype_soa && covers == dns_rdatatype_any && fctx->res->zero_no_soa_ttl) ttl = 0; - result = ncache_adderesult(fctx->rmessage, fctx->cache, node, - covers, now, - fctx->res->view->minncachettl, ttl, + result = ncache_adderesult(fctx->rmessage, fctx->cache, node, covers, + now, fctx->res->view->minncachettl, ttl, false, false, ardataset, &eresult); if (result != ISC_R_SUCCESS) goto unlock; @@ -6639,7 +6555,7 @@ ncache_message(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, } } - unlock: +unlock: UNLOCK(&res->buckets[fctx->bucketnum].lock); if (node != NULL) @@ -6649,8 +6565,8 @@ ncache_message(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, } static inline void -mark_related(dns_name_t *name, dns_rdataset_t *rdataset, - bool external, bool gluing) +mark_related(dns_name_t *name, dns_rdataset_t *rdataset, bool external, + bool gluing) { name->attributes |= DNS_NAMEATTR_CACHE; if (gluing) { @@ -6679,13 +6595,13 @@ static isc_result_t check_section(void *arg, const dns_name_t *addname, dns_rdatatype_t type, dns_section_t section) { - fetchctx_t *fctx = arg; - isc_result_t result; - dns_name_t *name = NULL; + fetchctx_t * fctx = arg; + isc_result_t result; + dns_name_t * name = NULL; dns_rdataset_t *rdataset = NULL; - bool external; + bool external; dns_rdatatype_t rtype; - bool gluing; + bool gluing; REQUIRE(VALID_FCTX(fctx)); @@ -6694,9 +6610,8 @@ check_section(void *arg, const dns_name_t *addname, dns_rdatatype_t type, return (ISC_R_SUCCESS); #endif - gluing = (GLUING(fctx) || - (fctx->type == dns_rdatatype_ns && - dns_name_equal(&fctx->name, dns_rootname))); + gluing = (GLUING(fctx) || (fctx->type == dns_rdatatype_ns && + dns_name_equal(&fctx->name, dns_rootname))); result = dns_message_findname(fctx->rmessage, section, addname, dns_rdatatype_any, 0, &name, NULL); @@ -6716,17 +6631,16 @@ check_section(void *arg, const dns_name_t *addname, dns_rdatatype_t type, gluing); } } else { - result = dns_message_findtype(name, type, 0, - &rdataset); + result = dns_message_findtype(name, type, 0, &rdataset); if (result == ISC_R_SUCCESS) { mark_related(name, rdataset, external, gluing); /* * Do we have its SIG too? */ rdataset = NULL; - result = dns_message_findtype(name, - dns_rdatatype_rrsig, - type, &rdataset); + result = dns_message_findtype( + name, dns_rdatatype_rrsig, type, + &rdataset); if (result == ISC_R_SUCCESS) mark_related(name, rdataset, external, gluing); @@ -6738,7 +6652,8 @@ check_section(void *arg, const dns_name_t *addname, dns_rdatatype_t type, } static isc_result_t -check_related(void *arg, const dns_name_t *addname, dns_rdatatype_t type) { +check_related(void *arg, const dns_name_t *addname, dns_rdatatype_t type) +{ return (check_section(arg, addname, type, DNS_SECTION_ADDITIONAL)); } @@ -6748,7 +6663,8 @@ check_related(void *arg, const dns_name_t *addname, dns_rdatatype_t type) { #if CHECK_FOR_GLUE_IN_ANSWER static isc_result_t -check_answer(void *arg, const dns_name_t *addname, dns_rdatatype_t type) { +check_answer(void *arg, const dns_name_t *addname, dns_rdatatype_t type) +{ return (check_section(arg, addname, type, DNS_SECTION_ANSWER)); } #endif @@ -6757,16 +6673,16 @@ static bool is_answeraddress_allowed(dns_view_t *view, dns_name_t *name, dns_rdataset_t *rdataset) { - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; - struct in_addr ina; + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; + struct in_addr ina; struct in6_addr in6a; - isc_netaddr_t netaddr; - char addrbuf[ISC_NETADDR_FORMATSIZE]; - char namebuf[DNS_NAME_FORMATSIZE]; - char classbuf[64]; - char typebuf[64]; - int match; + isc_netaddr_t netaddr; + char addrbuf[ISC_NETADDR_FORMATSIZE]; + char namebuf[DNS_NAME_FORMATSIZE]; + char classbuf[64]; + char typebuf[64]; + int match; /* By default, we allow any addresses. */ if (view->denyansweracl == NULL) @@ -6791,8 +6707,7 @@ is_answeraddress_allowed(dns_view_t *view, dns_name_t *name, * record. If a match is found, the address should be filtered, * so should the entire answer. */ - for (result = dns_rdataset_first(rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(rdataset)) { dns_rdata_reset(&rdata); dns_rdataset_current(rdataset, &rdata); @@ -6830,21 +6745,21 @@ static bool is_answertarget_allowed(fetchctx_t *fctx, dns_name_t *qname, dns_name_t *rname, dns_rdataset_t *rdataset, bool *chainingp) { - isc_result_t result; - dns_rbtnode_t *node = NULL; - char qnamebuf[DNS_NAME_FORMATSIZE]; - char tnamebuf[DNS_NAME_FORMATSIZE]; - char classbuf[64]; - char typebuf[64]; - dns_name_t *tname = NULL; + isc_result_t result; + dns_rbtnode_t * node = NULL; + char qnamebuf[DNS_NAME_FORMATSIZE]; + char tnamebuf[DNS_NAME_FORMATSIZE]; + char classbuf[64]; + char typebuf[64]; + dns_name_t * tname = NULL; dns_rdata_cname_t cname; dns_rdata_dname_t dname; - dns_view_t *view = fctx->res->view; - dns_rdata_t rdata = DNS_RDATA_INIT; - unsigned int nlabels; - dns_fixedname_t fixed; - dns_name_t prefix; - int order; + dns_view_t * view = fctx->res->view; + dns_rdata_t rdata = DNS_RDATA_INIT; + unsigned int nlabels; + dns_fixedname_t fixed; + dns_name_t prefix; + int order; REQUIRE(rdataset != NULL); REQUIRE(rdataset->type == dns_rdatatype_cname || @@ -6868,8 +6783,7 @@ is_answertarget_allowed(fetchctx_t *fctx, dns_name_t *qname, dns_name_t *rname, break; case dns_rdatatype_dname: if (dns_name_fullcompare(qname, rname, &order, &nlabels) != - dns_namereln_subdomain) - { + dns_namereln_subdomain) { return (true); } result = dns_rdata_tostruct(&rdata, &dname, NULL); @@ -6929,8 +6843,8 @@ is_answertarget_allowed(fetchctx_t *fctx, dns_name_t *qname, dns_name_t *rname, sizeof(classbuf)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, DNS_LOGMODULE_RESOLVER, ISC_LOG_NOTICE, - "%s target %s denied for %s/%s", - typebuf, tnamebuf, qnamebuf, classbuf); + "%s target %s denied for %s/%s", typebuf, + tnamebuf, qnamebuf, classbuf); return (false); } @@ -6938,7 +6852,8 @@ is_answertarget_allowed(fetchctx_t *fctx, dns_name_t *qname, dns_name_t *rname, } static void -trim_ns_ttl(fetchctx_t *fctx, dns_name_t *name, dns_rdataset_t *rdataset) { +trim_ns_ttl(fetchctx_t *fctx, dns_name_t *name, dns_rdataset_t *rdataset) +{ char ns_namebuf[DNS_NAME_FORMATSIZE]; char namebuf[DNS_NAME_FORMATSIZE]; char tbuf[DNS_RDATATYPE_FORMATSIZE]; @@ -6951,14 +6866,16 @@ trim_ns_ttl(fetchctx_t *fctx, dns_name_t *name, dns_rdataset_t *rdataset) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(10), "fctx %p: trimming ttl of %s/NS for %s/%s: " - "%u -> %u", fctx, ns_namebuf, namebuf, tbuf, - rdataset->ttl, fctx->ns_ttl); + "%u -> %u", + fctx, ns_namebuf, namebuf, tbuf, rdataset->ttl, + fctx->ns_ttl); rdataset->ttl = fctx->ns_ttl; } } static bool -validinanswer(dns_rdataset_t *rdataset, fetchctx_t *fctx) { +validinanswer(dns_rdataset_t *rdataset, fetchctx_t *fctx) +{ if (rdataset->type == dns_rdatatype_nsec3) { /* * NSEC3 records are not allowed to @@ -6983,7 +6900,8 @@ validinanswer(dns_rdataset_t *rdataset, fetchctx_t *fctx) { } static void -fctx_increference(fetchctx_t *fctx) { +fctx_increference(fetchctx_t *fctx) +{ REQUIRE(VALID_FCTX(fctx)); isc_refcount_increment0(&fctx->references); @@ -6993,7 +6911,8 @@ fctx_increference(fetchctx_t *fctx) { * Requires bucket lock to be held. */ static bool -fctx_decreference(fetchctx_t *fctx) { +fctx_decreference(fetchctx_t *fctx) +{ bool bucket_empty = false; REQUIRE(VALID_FCTX(fctx)); @@ -7021,15 +6940,16 @@ fctx_decreference(fetchctx_t *fctx) { } static void -resume_dslookup(isc_task_t *task, isc_event_t *event) { +resume_dslookup(isc_task_t *task, isc_event_t *event) +{ dns_fetchevent_t *fevent; - dns_resolver_t *res; - fetchctx_t *fctx; - isc_result_t result; - bool bucket_empty; - dns_rdataset_t nameservers; - dns_fixedname_t fixed; - dns_name_t *domain; + dns_resolver_t * res; + fetchctx_t * fctx; + isc_result_t result; + bool bucket_empty; + dns_rdataset_t nameservers; + dns_fixedname_t fixed; + dns_name_t * domain; REQUIRE(event->ev_type == DNS_EVENT_FETCHDONE); fevent = (dns_fetchevent_t *)event; @@ -7095,7 +7015,7 @@ resume_dslookup(isc_task_t *task, isc_event_t *event) { */ fctx_try(fctx, true, false); } else { - unsigned int n; + unsigned int n; dns_rdataset_t *nsrdataset = NULL; /* @@ -7115,10 +7035,9 @@ resume_dslookup(isc_task_t *task, isc_event_t *event) { goto cleanup; } if (dns_rdataset_isassociated( - &fctx->nsfetch->private->nameservers)) { - dns_rdataset_clone( - &fctx->nsfetch->private->nameservers, - &nameservers); + &fctx->nsfetch->private->nameservers)) { + dns_rdataset_clone(&fctx->nsfetch->private->nameservers, + &nameservers); nsrdataset = &nameservers; } else domain = NULL; @@ -7134,13 +7053,11 @@ resume_dslookup(isc_task_t *task, isc_event_t *event) { FCTXTRACE("continuing to look for parent's NS records"); - result = dns_resolver_createfetch(fctx->res, &fctx->nsname, - dns_rdatatype_ns, domain, - nsrdataset, NULL, NULL, 0, - fctx->options, 0, NULL, task, - resume_dslookup, fctx, - &fctx->nsrrset, NULL, - &fctx->nsfetch); + result = dns_resolver_createfetch( + fctx->res, &fctx->nsname, dns_rdatatype_ns, domain, + nsrdataset, NULL, NULL, 0, fctx->options, 0, NULL, task, + resume_dslookup, fctx, &fctx->nsrrset, NULL, + &fctx->nsfetch); /* * fevent->rdataset (a.k.a. fctx->nsrrset) must not be * accessed below this point to prevent races with @@ -7156,7 +7073,7 @@ resume_dslookup(isc_task_t *task, isc_event_t *event) { } } - cleanup: +cleanup: INSIST(event == NULL); INSIST(fevent == NULL); if (dns_rdataset_isassociated(&nameservers)) { @@ -7171,30 +7088,27 @@ resume_dslookup(isc_task_t *task, isc_event_t *event) { } static inline void -checknamessection(dns_message_t *message, dns_section_t section) { - isc_result_t result; - dns_name_t *name; - dns_rdata_t rdata = DNS_RDATA_INIT; +checknamessection(dns_message_t *message, dns_section_t section) +{ + isc_result_t result; + dns_name_t * name; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_t *rdataset; for (result = dns_message_firstname(message, section); result == ISC_R_SUCCESS; - result = dns_message_nextname(message, section)) - { + result = dns_message_nextname(message, section)) { name = NULL; dns_message_currentname(message, section, &name); - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(rdataset)) { dns_rdataset_current(rdataset, &rdata); if (!dns_rdata_checkowner(name, rdata.rdclass, - rdata.type, - false) || - !dns_rdata_checknames(&rdata, name, NULL)) - { + rdata.type, false) || + !dns_rdata_checknames(&rdata, name, NULL)) { rdataset->attributes |= DNS_RDATASETATTR_CHECKNAMES; } @@ -7205,7 +7119,8 @@ checknamessection(dns_message_t *message, dns_section_t section) { } static void -checknames(dns_message_t *message) { +checknames(dns_message_t *message) +{ checknamessection(message, DNS_SECTION_ANSWER); checknamessection(message, DNS_SECTION_AUTHORITY); checknamessection(message, DNS_SECTION_ADDITIONAL); @@ -7215,14 +7130,14 @@ checknames(dns_message_t *message) { * Log server NSID at log level 'level' */ static void -log_nsid(isc_buffer_t *opt, size_t nsid_len, resquery_t *query, - int level, isc_mem_t *mctx) +log_nsid(isc_buffer_t *opt, size_t nsid_len, resquery_t *query, int level, + isc_mem_t *mctx) { static const char hex[17] = "0123456789abcdef"; - char addrbuf[ISC_SOCKADDR_FORMATSIZE]; - size_t buflen; - unsigned char *p, *nsid; - unsigned char *buf = NULL, *pbuf = NULL; + char addrbuf[ISC_SOCKADDR_FORMATSIZE]; + size_t buflen; + unsigned char * p, *nsid; + unsigned char * buf = NULL, *pbuf = NULL; REQUIRE(nsid_len <= UINT16_MAX); @@ -7249,30 +7164,32 @@ log_nsid(isc_buffer_t *opt, size_t nsid_len, resquery_t *query, isc_sockaddr_format(&query->addrinfo->sockaddr, addrbuf, sizeof(addrbuf)); - isc_log_write(dns_lctx, DNS_LOGCATEGORY_NSID, - DNS_LOGMODULE_RESOLVER, level, - "received NSID %s (\"%s\") from %s", buf, pbuf, addrbuf); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_NSID, DNS_LOGMODULE_RESOLVER, + level, "received NSID %s (\"%s\") from %s", buf, pbuf, + addrbuf); isc_mem_put(mctx, pbuf, nsid_len + 1); isc_mem_put(mctx, buf, buflen); } static bool -iscname(fetchctx_t *fctx) { +iscname(fetchctx_t *fctx) +{ isc_result_t result; result = dns_message_findname(fctx->rmessage, DNS_SECTION_ANSWER, - &fctx->name, dns_rdatatype_cname, 0, - NULL, NULL); + &fctx->name, dns_rdatatype_cname, 0, NULL, + NULL); return (result == ISC_R_SUCCESS ? true : false); } static bool -betterreferral(fetchctx_t *fctx) { - isc_result_t result; - dns_name_t *name; +betterreferral(fetchctx_t *fctx) +{ + isc_result_t result; + dns_name_t * name; dns_rdataset_t *rdataset; - dns_message_t *message = fctx->rmessage; + dns_message_t * message = fctx->rmessage; for (result = dns_message_firstname(message, DNS_SECTION_AUTHORITY); result == ISC_R_SUCCESS; @@ -7281,8 +7198,7 @@ betterreferral(fetchctx_t *fctx) { dns_message_currentname(message, DNS_SECTION_AUTHORITY, &name); if (!isstrictsubdomain(name, &fctx->domain)) continue; - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) if (rdataset->type == dns_rdatatype_ns) return (true); @@ -7296,12 +7212,13 @@ betterreferral(fetchctx_t *fctx) { * resquery_send(). Sets up a response context (respctx_t). */ static void -resquery_response(isc_task_t *task, isc_event_t *event) { - isc_result_t result = ISC_R_SUCCESS; - resquery_t *query = event->ev_arg; +resquery_response(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result = ISC_R_SUCCESS; + resquery_t * query = event->ev_arg; dns_dispatchevent_t *devent = (dns_dispatchevent_t *)event; - fetchctx_t *fctx; - respctx_t rctx; + fetchctx_t * fctx; + respctx_t rctx; REQUIRE(VALID_QUERY(query)); fctx = query->fctx; @@ -7360,8 +7277,9 @@ resquery_response(isc_task_t *task, isc_event_t *event) { if ((rctx.retryopts & DNS_FETCHOPT_TCP) == 0) { if ((rctx.retryopts & DNS_FETCHOPT_NOEDNS0) == 0) { - dns_adb_setudpsize(fctx->adb, query->addrinfo, - isc_buffer_usedlength(&devent->buffer)); + dns_adb_setudpsize( + fctx->adb, query->addrinfo, + isc_buffer_usedlength(&devent->buffer)); } else { dns_adb_plainresponse(fctx->adb, query->addrinfo); } @@ -7395,8 +7313,8 @@ resquery_response(isc_task_t *task, isc_event_t *event) { rctx_opt(&rctx); } - if (fctx->rmessage->cc_bad && (rctx.retryopts & DNS_FETCHOPT_TCP) == 0) - { + if (fctx->rmessage->cc_bad && + (rctx.retryopts & DNS_FETCHOPT_TCP) == 0) { /* * If the COOKIE is bad, assume it is an attack and * keep listening for a good answer. @@ -7404,8 +7322,8 @@ resquery_response(isc_task_t *task, isc_event_t *event) { rctx.nextitem = true; if (isc_log_wouldlog(dns_lctx, ISC_LOG_INFO)) { char addrbuf[ISC_SOCKADDR_FORMATSIZE]; - isc_sockaddr_format(&query->addrinfo->sockaddr, - addrbuf, sizeof(addrbuf)); + isc_sockaddr_format(&query->addrinfo->sockaddr, addrbuf, + sizeof(addrbuf)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, DNS_LOGMODULE_RESOLVER, ISC_LOG_INFO, "bad cookie from %s", addrbuf); @@ -7426,7 +7344,7 @@ resquery_response(isc_task_t *task, isc_event_t *event) { if (fctx->rmessage->counts[DNS_SECTION_QUESTION] == 0) break; /* FALLTHROUGH */ - case dns_rcode_nxrrset: /* Not expected. */ + case dns_rcode_nxrrset: /* Not expected. */ case dns_rcode_badcookie: case dns_rcode_noerror: case dns_rcode_nxdomain: @@ -7571,16 +7489,14 @@ resquery_response(isc_task_t *task, isc_event_t *event) { if (fctx->rmessage->counts[DNS_SECTION_ANSWER] > 0 && (fctx->rmessage->rcode == dns_rcode_noerror || fctx->rmessage->rcode == dns_rcode_yxdomain || - fctx->rmessage->rcode == dns_rcode_nxdomain)) - { + fctx->rmessage->rcode == dns_rcode_nxdomain)) { result = rctx_answer(&rctx); if (result == ISC_R_COMPLETE) { return; } } else if (fctx->rmessage->counts[DNS_SECTION_AUTHORITY] > 0 || fctx->rmessage->rcode == dns_rcode_noerror || - fctx->rmessage->rcode == dns_rcode_nxdomain) - { + fctx->rmessage->rcode == dns_rcode_nxdomain) { /* * This might be an NXDOMAIN, NXRRSET, or referral. * Call rctx_answer_none() to determine which it is. @@ -7651,8 +7567,8 @@ resquery_response(isc_task_t *task, isc_event_t *event) { * the task, event, query and fctx information from resquery_response(). */ static void -rctx_respinit(isc_task_t *task, dns_dispatchevent_t *devent, - resquery_t *query, fetchctx_t *fctx, respctx_t *rctx) +rctx_respinit(isc_task_t *task, dns_dispatchevent_t *devent, resquery_t *query, + fetchctx_t *fctx, respctx_t *rctx) { memset(rctx, 0, sizeof(*rctx)); @@ -7681,7 +7597,8 @@ rctx_respinit(isc_task_t *task, dns_dispatchevent_t *devent, * there are no cases in which this occurs). */ static void -rctx_answer_init(respctx_t *rctx) { +rctx_answer_init(respctx_t *rctx) +{ fetchctx_t *fctx = rctx->fctx; rctx->aa = ((fctx->rmessage->flags & DNS_MESSAGEFLAG_AA) != 0); @@ -7697,8 +7614,7 @@ rctx_answer_init(respctx_t *rctx) { */ rctx->type = fctx->type; if (rctx->type == dns_rdatatype_rrsig || - rctx->type == dns_rdatatype_sig) - { + rctx->type == dns_rdatatype_sig) { rctx->type = dns_rdatatype_any; } @@ -7732,10 +7648,11 @@ rctx_answer_init(respctx_t *rctx) { * Handle the case where the dispatcher failed */ static isc_result_t -rctx_dispfail(respctx_t *rctx) { +rctx_dispfail(respctx_t *rctx) +{ dns_dispatchevent_t *devent = rctx->devent; - fetchctx_t *fctx = rctx->fctx; - resquery_t *query = rctx->query; + fetchctx_t * fctx = rctx->fctx; + resquery_t * query = rctx->query; if (devent->result == ISC_R_SUCCESS) { return (ISC_R_SUCCESS); @@ -7767,12 +7684,11 @@ rctx_dispfail(respctx_t *rctx) { (devent->result == ISC_R_HOSTUNREACH || devent->result == ISC_R_NETUNREACH || devent->result == ISC_R_CONNREFUSED || - devent->result == ISC_R_CANCELED)) - { - rctx->broken_server = devent->result; - rctx->broken_type = badns_unreachable; - rctx->finish = NULL; - rctx->no_response = true; + devent->result == ISC_R_CANCELED)) { + rctx->broken_server = devent->result; + rctx->broken_type = badns_unreachable; + rctx->finish = NULL; + rctx->no_response = true; } } FCTXTRACE3("dispatcher failure", devent->result); @@ -7785,10 +7701,11 @@ rctx_dispfail(respctx_t *rctx) { * Parse the response message. */ static isc_result_t -rctx_parse(respctx_t *rctx) { +rctx_parse(respctx_t *rctx) +{ isc_result_t result; - fetchctx_t *fctx = rctx->fctx; - resquery_t *query = rctx->query; + fetchctx_t * fctx = rctx->fctx; + resquery_t * query = rctx->query; result = dns_message_parse(fctx->rmessage, &rctx->devent->buffer, 0); if (result == ISC_R_SUCCESS) { @@ -7801,8 +7718,7 @@ rctx_parse(respctx_t *rctx) { case ISC_R_UNEXPECTEDEND: if (fctx->rmessage->question_ok && (fctx->rmessage->flags & DNS_MESSAGEFLAG_TC) != 0 && - (rctx->retryopts & DNS_FETCHOPT_TCP) == 0) - { + (rctx->retryopts & DNS_FETCHOPT_TCP) == 0) { /* * We defer retrying via TCP for a bit so we can * check out this message further. @@ -7829,8 +7745,7 @@ rctx_parse(respctx_t *rctx) { rctx->retryopts |= DNS_FETCHOPT_NOEDNS0; rctx->resend = true; add_bad_edns(fctx, &query->addrinfo->sockaddr); - inc_stats(fctx->res, - dns_resstatscounter_edns0fail); + inc_stats(fctx->res, dns_resstatscounter_edns0fail); } else { rctx->broken_server = result; rctx->next_server = true; @@ -7848,8 +7763,7 @@ rctx_parse(respctx_t *rctx) { rctx->retryopts |= DNS_FETCHOPT_NOEDNS0; rctx->resend = true; add_bad_edns(fctx, &query->addrinfo->sockaddr); - inc_stats(fctx->res, - dns_resstatscounter_edns0fail); + inc_stats(fctx->res, dns_resstatscounter_edns0fail); } else { rctx->broken_server = DNS_R_UNEXPECTEDRCODE; rctx->next_server = true; @@ -7873,19 +7787,20 @@ rctx_parse(respctx_t *rctx) { * Process the OPT record in the response. */ static void -rctx_opt(respctx_t *rctx) { - resquery_t *query = rctx->query; - fetchctx_t *fctx = rctx->fctx; - dns_rdata_t rdata; - isc_buffer_t optbuf; - isc_result_t result; - uint16_t optcode; - uint16_t optlen; - unsigned char *optvalue; +rctx_opt(respctx_t *rctx) +{ + resquery_t * query = rctx->query; + fetchctx_t * fctx = rctx->fctx; + dns_rdata_t rdata; + isc_buffer_t optbuf; + isc_result_t result; + uint16_t optcode; + uint16_t optlen; + unsigned char * optvalue; dns_adbaddrinfo_t *addrinfo; - unsigned char cookie[8]; - bool seen_cookie = false; - bool seen_nsid = false; + unsigned char cookie[8]; + bool seen_cookie = false; + bool seen_nsid = false; result = dns_rdataset_first(rctx->opt); if (result == ISC_R_SUCCESS) { @@ -7900,12 +7815,10 @@ rctx_opt(respctx_t *rctx) { switch (optcode) { case DNS_OPT_NSID: if (!seen_nsid && - (query->options & - DNS_FETCHOPT_WANTNSID) != 0) - { + (query->options & DNS_FETCHOPT_WANTNSID) != + 0) { log_nsid(&optbuf, optlen, query, - ISC_LOG_INFO, - fctx->res->mctx); + ISC_LOG_INFO, fctx->res->mctx); } isc_buffer_forward(&optbuf, optlen); seen_nsid = true; @@ -7928,9 +7841,8 @@ rctx_opt(respctx_t *rctx) { inc_stats(fctx->res, dns_resstatscounter_cookieok); addrinfo = query->addrinfo; - dns_adb_setcookie(fctx->adb, - addrinfo, optvalue, - optlen); + dns_adb_setcookie(fctx->adb, addrinfo, + optvalue, optlen); } else fctx->rmessage->cc_bad = 1; isc_buffer_forward(&optbuf, optlen); @@ -7953,7 +7865,8 @@ rctx_opt(respctx_t *rctx) { * incorrectly and record that information if needed. */ static void -rctx_edns(respctx_t *rctx) { +rctx_edns(respctx_t *rctx) +{ resquery_t *query = rctx->query; fetchctx_t *fctx = rctx->fctx; @@ -7968,25 +7881,20 @@ rctx_edns(respctx_t *rctx) { fctx->rmessage->rcode == dns_rcode_nxdomain || fctx->rmessage->rcode == dns_rcode_refused || fctx->rmessage->rcode == dns_rcode_yxdomain) && - bad_edns(fctx, &query->addrinfo->sockaddr)) - { - dns_message_logpacket(fctx->rmessage, - "received packet (bad edns) from", - &query->addrinfo->sockaddr, - DNS_LOGCATEGORY_RESOLVER, - DNS_LOGMODULE_RESOLVER, - ISC_LOG_DEBUG(3), - fctx->res->mctx); + bad_edns(fctx, &query->addrinfo->sockaddr)) { + dns_message_logpacket( + fctx->rmessage, "received packet (bad edns) from", + &query->addrinfo->sockaddr, DNS_LOGCATEGORY_RESOLVER, + DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(3), + fctx->res->mctx); dns_adb_changeflags(fctx->adb, query->addrinfo, - DNS_FETCHOPT_NOEDNS0, - DNS_FETCHOPT_NOEDNS0); + DNS_FETCHOPT_NOEDNS0, DNS_FETCHOPT_NOEDNS0); } else if (rctx->opt == NULL && (fctx->rmessage->flags & DNS_MESSAGEFLAG_TC) == 0 && !EDNSOK(query->addrinfo) && (fctx->rmessage->rcode == dns_rcode_noerror || fctx->rmessage->rcode == dns_rcode_nxdomain) && - (rctx->retryopts & DNS_FETCHOPT_NOEDNS0) == 0) - { + (rctx->retryopts & DNS_FETCHOPT_NOEDNS0) == 0) { /* * We didn't get a OPT record in response to a EDNS query. * @@ -7998,15 +7906,13 @@ rctx_edns(respctx_t *rctx) { * should be safe to do for any rcode we limit it to NOERROR * and NXDOMAIN. */ - dns_message_logpacket(fctx->rmessage, - "received packet (no opt) from", - &query->addrinfo->sockaddr, - DNS_LOGCATEGORY_RESOLVER, - DNS_LOGMODULE_RESOLVER, - ISC_LOG_DEBUG(3), fctx->res->mctx); + dns_message_logpacket( + fctx->rmessage, "received packet (no opt) from", + &query->addrinfo->sockaddr, DNS_LOGCATEGORY_RESOLVER, + DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(3), + fctx->res->mctx); dns_adb_changeflags(fctx->adb, query->addrinfo, - DNS_FETCHOPT_NOEDNS0, - DNS_FETCHOPT_NOEDNS0); + DNS_FETCHOPT_NOEDNS0, DNS_FETCHOPT_NOEDNS0); } /* @@ -8018,11 +7924,9 @@ rctx_edns(respctx_t *rctx) { (fctx->rmessage->rcode == dns_rcode_noerror || fctx->rmessage->rcode == dns_rcode_nxdomain || fctx->rmessage->rcode == dns_rcode_refused || - fctx->rmessage->rcode == dns_rcode_yxdomain)) - { + fctx->rmessage->rcode == dns_rcode_yxdomain)) { dns_adb_changeflags(fctx->adb, query->addrinfo, - FCTX_ADDRINFO_EDNSOK, - FCTX_ADDRINFO_EDNSOK); + FCTX_ADDRINFO_EDNSOK, FCTX_ADDRINFO_EDNSOK); } } @@ -8033,22 +7937,20 @@ rctx_edns(respctx_t *rctx) { * rctx_answer_none() as appropriate. */ static isc_result_t -rctx_answer(respctx_t *rctx) { +rctx_answer(respctx_t *rctx) +{ isc_result_t result; - fetchctx_t *fctx = rctx->fctx; - resquery_t *query = rctx->query; + fetchctx_t * fctx = rctx->fctx; + resquery_t * query = rctx->query; if ((fctx->rmessage->flags & DNS_MESSAGEFLAG_AA) != 0 || - ISFORWARDER(query->addrinfo)) - { + ISFORWARDER(query->addrinfo)) { result = rctx_answer_positive(rctx); if (result != ISC_R_SUCCESS) { FCTXTRACE3("rctx_answer_positive (AA/fwd)", result); } - } else if (iscname(fctx) && - fctx->type != dns_rdatatype_any && - fctx->type != dns_rdatatype_cname) - { + } else if (iscname(fctx) && fctx->type != dns_rdatatype_any && + fctx->type != dns_rdatatype_cname) { /* * A BIND8 server could return a non-authoritative * answer when a CNAME is followed. We should treat @@ -8139,9 +8041,10 @@ rctx_answer(respctx_t *rctx) { * rctx_answer_dname(), rctx_answer_any()). */ static isc_result_t -rctx_answer_positive(respctx_t *rctx) { +rctx_answer_positive(respctx_t *rctx) +{ isc_result_t result; - fetchctx_t *fctx = rctx->fctx; + fetchctx_t * fctx = rctx->fctx; FCTXTRACE("rctx_answer"); @@ -8210,8 +8113,7 @@ rctx_answer_positive(respctx_t *rctx) { if (rctx->ns_rdataset != NULL && dns_name_equal(&fctx->domain, rctx->ns_name) && - !dns_name_equal(rctx->ns_name, dns_rootname)) - { + !dns_name_equal(rctx->ns_name, dns_rootname)) { trim_ns_ttl(fctx, rctx->ns_name, rctx->ns_rdataset); } @@ -8227,19 +8129,20 @@ rctx_answer_positive(respctx_t *rctx) { * shortest DNAME, 2) the first matching answer, or 3) the first CNAME. */ static void -rctx_answer_scan(respctx_t *rctx) { - isc_result_t result; - fetchctx_t *fctx = rctx->fctx; +rctx_answer_scan(respctx_t *rctx) +{ + isc_result_t result; + fetchctx_t * fctx = rctx->fctx; dns_rdataset_t *rdataset = NULL; for (result = dns_message_firstname(fctx->rmessage, DNS_SECTION_ANSWER); result == ISC_R_SUCCESS; - result = dns_message_nextname(fctx->rmessage, DNS_SECTION_ANSWER)) - { - int order; - unsigned int nlabels; + result = + dns_message_nextname(fctx->rmessage, DNS_SECTION_ANSWER)) { + int order; + unsigned int nlabels; dns_namereln_t namereln; - dns_name_t *name = NULL; + dns_name_t * name = NULL; dns_message_currentname(fctx->rmessage, DNS_SECTION_ANSWER, &name); @@ -8249,11 +8152,9 @@ rctx_answer_scan(respctx_t *rctx) { case dns_namereln_equal: for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; - rdataset = ISC_LIST_NEXT(rdataset, link)) - { + rdataset = ISC_LIST_NEXT(rdataset, link)) { if (rdataset->type == rctx->type || - rctx->type == dns_rdatatype_any) - { + rctx->type == dns_rdatatype_any) { rctx->aname = name; if (rctx->type != dns_rdatatype_any) { rctx->ardataset = rdataset; @@ -8276,8 +8177,7 @@ rctx_answer_scan(respctx_t *rctx) { * and any previously found dname. */ if (nlabels >= rctx->dname_labels || - nlabels < rctx->domain_labels) - { + nlabels < rctx->domain_labels) { continue; } @@ -8287,8 +8187,7 @@ rctx_answer_scan(respctx_t *rctx) { */ for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; - rdataset = ISC_LIST_NEXT(rdataset, link)) - { + rdataset = ISC_LIST_NEXT(rdataset, link)) { if (rdataset->type != dns_rdatatype_dname) { continue; } @@ -8327,14 +8226,13 @@ rctx_answer_scan(respctx_t *rctx) { * section, and the rdata isn't filtered, cache it. */ static isc_result_t -rctx_answer_any(respctx_t *rctx) { +rctx_answer_any(respctx_t *rctx) +{ dns_rdataset_t *rdataset = NULL; - fetchctx_t *fctx = rctx->fctx; + fetchctx_t * fctx = rctx->fctx; - for (rdataset = ISC_LIST_HEAD(rctx->aname->list); - rdataset != NULL; - rdataset = ISC_LIST_NEXT(rdataset, link)) - { + for (rdataset = ISC_LIST_HEAD(rctx->aname->list); rdataset != NULL; + rdataset = ISC_LIST_NEXT(rdataset, link)) { if (!validinanswer(rdataset, fctx)) { rctx->result = DNS_R_FORMERR; return (ISC_R_COMPLETE); @@ -8342,16 +8240,14 @@ rctx_answer_any(respctx_t *rctx) { if ((fctx->type == dns_rdatatype_sig || fctx->type == dns_rdatatype_rrsig) && - rdataset->type != fctx->type) - { + rdataset->type != fctx->type) { continue; } if ((rdataset->type == dns_rdatatype_a || rdataset->type == dns_rdatatype_aaaa) && - !is_answeraddress_allowed(fctx->res->view, - rctx->aname, rdataset)) - { + !is_answeraddress_allowed(fctx->res->view, rctx->aname, + rdataset)) { rctx->result = DNS_R_SERVFAIL; return (ISC_R_COMPLETE); } @@ -8359,8 +8255,7 @@ rctx_answer_any(respctx_t *rctx) { if ((rdataset->type == dns_rdatatype_cname || rdataset->type == dns_rdatatype_dname) && !is_answertarget_allowed(fctx, &fctx->name, rctx->aname, - rdataset, NULL)) - { + rdataset, NULL)) { rctx->result = DNS_R_SERVFAIL; return (ISC_R_COMPLETE); } @@ -8386,9 +8281,10 @@ rctx_answer_any(respctx_t *rctx) { * to the answer, it can be cached as well. */ static isc_result_t -rctx_answer_match(respctx_t *rctx) { +rctx_answer_match(respctx_t *rctx) +{ dns_rdataset_t *sigrdataset = NULL; - fetchctx_t *fctx = rctx->fctx; + fetchctx_t * fctx = rctx->fctx; if (!validinanswer(rctx->ardataset, fctx)) { rctx->result = DNS_R_FORMERR; @@ -8398,8 +8294,7 @@ rctx_answer_match(respctx_t *rctx) { if ((rctx->ardataset->type == dns_rdatatype_a || rctx->ardataset->type == dns_rdatatype_aaaa) && !is_answeraddress_allowed(fctx->res->view, rctx->aname, - rctx->ardataset)) - { + rctx->ardataset)) { rctx->result = DNS_R_SERVFAIL; return (ISC_R_COMPLETE); } @@ -8408,8 +8303,7 @@ rctx_answer_match(respctx_t *rctx) { rctx->type != rctx->ardataset->type && rctx->type != dns_rdatatype_any && !is_answertarget_allowed(fctx, &fctx->name, rctx->aname, - rctx->ardataset, NULL)) - { + rctx->ardataset, NULL)) { rctx->result = DNS_R_SERVFAIL; return (ISC_R_COMPLETE); } @@ -8423,16 +8317,14 @@ rctx_answer_match(respctx_t *rctx) { for (sigrdataset = ISC_LIST_HEAD(rctx->aname->list); sigrdataset != NULL; - sigrdataset = ISC_LIST_NEXT(sigrdataset, link)) - { + sigrdataset = ISC_LIST_NEXT(sigrdataset, link)) { if (!validinanswer(sigrdataset, fctx)) { rctx->result = DNS_R_FORMERR; return (ISC_R_COMPLETE); } if (sigrdataset->type != dns_rdatatype_rrsig || - sigrdataset->covers != rctx->type) - { + sigrdataset->covers != rctx->type) { continue; } @@ -8451,9 +8343,10 @@ rctx_answer_match(respctx_t *rctx) { * there may be additional chain answers to find. */ static isc_result_t -rctx_answer_cname(respctx_t *rctx) { +rctx_answer_cname(respctx_t *rctx) +{ dns_rdataset_t *sigrdataset = NULL; - fetchctx_t *fctx = rctx->fctx; + fetchctx_t * fctx = rctx->fctx; if (!validinanswer(rctx->crdataset, fctx)) { rctx->result = DNS_R_FORMERR; @@ -8462,8 +8355,7 @@ rctx_answer_cname(respctx_t *rctx) { if (rctx->type == dns_rdatatype_rrsig || rctx->type == dns_rdatatype_key || - rctx->type == dns_rdatatype_nsec) - { + rctx->type == dns_rdatatype_nsec) { char buf[DNS_RDATATYPE_FORMATSIZE]; dns_rdatatype_format(rctx->type, buf, sizeof(buf)); log_formerr(fctx, "CNAME response for %s RR", buf); @@ -8471,9 +8363,8 @@ rctx_answer_cname(respctx_t *rctx) { return (ISC_R_COMPLETE); } - if (!is_answertarget_allowed(fctx, &fctx->name, - rctx->cname, rctx->crdataset, NULL)) - { + if (!is_answertarget_allowed(fctx, &fctx->name, rctx->cname, + rctx->crdataset, NULL)) { rctx->result = DNS_R_SERVFAIL; return (ISC_R_COMPLETE); } @@ -8488,16 +8379,14 @@ rctx_answer_cname(respctx_t *rctx) { for (sigrdataset = ISC_LIST_HEAD(rctx->cname->list); sigrdataset != NULL; - sigrdataset = ISC_LIST_NEXT(sigrdataset, link)) - { + sigrdataset = ISC_LIST_NEXT(sigrdataset, link)) { if (!validinanswer(sigrdataset, fctx)) { rctx->result = DNS_R_FORMERR; return (ISC_R_COMPLETE); } if (sigrdataset->type != dns_rdatatype_rrsig || - sigrdataset->covers != dns_rdatatype_cname) - { + sigrdataset->covers != dns_rdatatype_cname) { continue; } @@ -8516,19 +8405,18 @@ rctx_answer_cname(respctx_t *rctx) { * Handle responses with covering DNAME records. */ static isc_result_t -rctx_answer_dname(respctx_t *rctx) { +rctx_answer_dname(respctx_t *rctx) +{ dns_rdataset_t *sigrdataset = NULL; - fetchctx_t *fctx = rctx->fctx; + fetchctx_t * fctx = rctx->fctx; if (!validinanswer(rctx->drdataset, fctx)) { rctx->result = DNS_R_FORMERR; return (ISC_R_COMPLETE); - } if (!is_answertarget_allowed(fctx, &fctx->name, rctx->dname, - rctx->drdataset, &rctx->chaining)) - { + rctx->drdataset, &rctx->chaining)) { rctx->result = DNS_R_SERVFAIL; return (ISC_R_COMPLETE); } @@ -8543,16 +8431,14 @@ rctx_answer_dname(respctx_t *rctx) { for (sigrdataset = ISC_LIST_HEAD(rctx->dname->list); sigrdataset != NULL; - sigrdataset = ISC_LIST_NEXT(sigrdataset, link)) - { + sigrdataset = ISC_LIST_NEXT(sigrdataset, link)) { if (!validinanswer(sigrdataset, fctx)) { rctx->result = DNS_R_FORMERR; return (ISC_R_COMPLETE); } if (sigrdataset->type != dns_rdatatype_rrsig || - sigrdataset->covers != dns_rdatatype_dname) - { + sigrdataset->covers != dns_rdatatype_dname) { continue; } @@ -8577,15 +8463,16 @@ rctx_answer_dname(respctx_t *rctx) { * (depending on whether the AA bit was set on the answer). */ static void -rctx_authority_positive(respctx_t *rctx) { - fetchctx_t *fctx = rctx->fctx; - bool done = false; +rctx_authority_positive(respctx_t *rctx) +{ + fetchctx_t * fctx = rctx->fctx; + bool done = false; isc_result_t result; result = dns_message_firstname(fctx->rmessage, DNS_SECTION_AUTHORITY); while (!done && result == ISC_R_SUCCESS) { dns_name_t *name = NULL; - bool external; + bool external; dns_message_currentname(fctx->rmessage, DNS_SECTION_AUTHORITY, &name); @@ -8600,26 +8487,24 @@ rctx_authority_positive(respctx_t *rctx) { */ for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; - rdataset = ISC_LIST_NEXT(rdataset, link)) - { + rdataset = ISC_LIST_NEXT(rdataset, link)) { if (rdataset->type == dns_rdatatype_ns || (rdataset->type == dns_rdatatype_rrsig && - rdataset->covers == dns_rdatatype_ns)) - { + rdataset->covers == dns_rdatatype_ns)) { name->attributes |= DNS_NAMEATTR_CACHE; rdataset->attributes |= DNS_RDATASETATTR_CACHE; if (rctx->aa) { rdataset->trust = - dns_trust_authauthority; + dns_trust_authauthority; } else { rdataset->trust = - dns_trust_additional; + dns_trust_additional; } - if (rdataset->type == dns_rdatatype_ns) - { + if (rdataset->type == + dns_rdatatype_ns) { rctx->ns_name = name; rctx->ns_rdataset = rdataset; } @@ -8628,9 +8513,7 @@ rctx_authority_positive(respctx_t *rctx) { * to this rdataset. */ (void)dns_rdataset_additionaldata( - rdataset, - check_related, - fctx); + rdataset, check_related, fctx); done = true; } } @@ -8649,9 +8532,10 @@ rctx_authority_positive(respctx_t *rctx) { * DNSSEC proof of nonexistence, or else call rctx_referral(). */ static isc_result_t -rctx_answer_none(respctx_t *rctx) { +rctx_answer_none(respctx_t *rctx) +{ isc_result_t result; - fetchctx_t *fctx = rctx->fctx; + fetchctx_t * fctx = rctx->fctx; FCTXTRACE("rctx_answer_none"); @@ -8663,8 +8547,7 @@ rctx_answer_none(respctx_t *rctx) { */ if (fctx->rmessage->rcode == dns_rcode_nxdomain || (fctx->rmessage->counts[DNS_SECTION_ANSWER] == 0 && - fctx->rmessage->counts[DNS_SECTION_AUTHORITY] == 0)) - { + fctx->rmessage->counts[DNS_SECTION_AUTHORITY] == 0)) { rctx->negative = true; } @@ -8680,8 +8563,7 @@ rctx_answer_none(respctx_t *rctx) { if (rctx->ns_rdataset != NULL && dns_name_equal(&fctx->domain, rctx->ns_name) && - !dns_name_equal(rctx->ns_name, dns_rootname)) - { + !dns_name_equal(rctx->ns_name, dns_rootname)) { trim_ns_ttl(fctx, rctx->ns_name, rctx->ns_rdataset); } @@ -8712,8 +8594,7 @@ rctx_answer_none(respctx_t *rctx) { if (rctx->negative && fctx->rmessage->rcode == dns_rcode_noerror && fctx->type == dns_rdatatype_ds && rctx->soa_name != NULL && dns_name_equal(rctx->soa_name, &fctx->name) && - !dns_name_equal(&fctx->name, dns_rootname)) - { + !dns_name_equal(&fctx->name, dns_rootname)) { return (DNS_R_CHASEDSSERVERS); } @@ -8734,14 +8615,14 @@ rctx_answer_none(respctx_t *rctx) { char tbuf[DNS_RDATATYPE_FORMATSIZE]; dns_rdatatype_format(rctx->found_type, tbuf, - sizeof(tbuf)); + sizeof(tbuf)); dns_name_format(rctx->found_name, nbuf, sizeof(nbuf)); - dns_name_format(&fctx->domain, dbuf, - sizeof(dbuf)); + dns_name_format(&fctx->domain, dbuf, sizeof(dbuf)); - log_formerr(fctx, "Name %s (%s) not subdomain" - " of zone %s -- invalid response", - nbuf, tbuf, dbuf); + log_formerr(fctx, + "Name %s (%s) not subdomain" + " of zone %s -- invalid response", + nbuf, tbuf, dbuf); } else { log_formerr(fctx, "invalid response"); } @@ -8752,8 +8633,7 @@ rctx_answer_none(respctx_t *rctx) { * If we found both NS and SOA, they should be the same name. */ if (rctx->ns_name != NULL && rctx->soa_name != NULL && - rctx->ns_name != rctx->soa_name) - { + rctx->ns_name != rctx->soa_name) { log_formerr(fctx, "NS/SOA mismatch"); return (DNS_R_FORMERR); } @@ -8789,12 +8669,13 @@ rctx_answer_none(respctx_t *rctx) { * rctx_authority_dnssec() below.) */ static isc_result_t -rctx_authority_negative(respctx_t *rctx) { - isc_result_t result; - fetchctx_t *fctx = rctx->fctx; - dns_section_t section; +rctx_authority_negative(respctx_t *rctx) +{ + isc_result_t result; + fetchctx_t * fctx = rctx->fctx; + dns_section_t section; dns_rdataset_t *rdataset = NULL; - bool finished = false; + bool finished = false; if (rctx->ns_in_answer) { INSIST(fctx->type == dns_rdatatype_ns); @@ -8821,25 +8702,22 @@ rctx_authority_negative(respctx_t *rctx) { continue; } - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; - rdataset = ISC_LIST_NEXT(rdataset, link)) - { + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; + rdataset = ISC_LIST_NEXT(rdataset, link)) { dns_rdatatype_t type = rdataset->type; if (type == dns_rdatatype_rrsig) { type = rdataset->covers; } if (((type == dns_rdatatype_ns || type == dns_rdatatype_soa) && - !dns_name_issubdomain(&fctx->name, name))) - { + !dns_name_issubdomain(&fctx->name, name))) { char qbuf[DNS_NAME_FORMATSIZE]; char nbuf[DNS_NAME_FORMATSIZE]; char tbuf[DNS_RDATATYPE_FORMATSIZE]; dns_rdatatype_format(type, tbuf, sizeof(tbuf)); dns_name_format(name, nbuf, sizeof(nbuf)); dns_name_format(&fctx->name, qbuf, - sizeof(qbuf)); + sizeof(qbuf)); log_formerr(fctx, "unrelated %s %s in " "%s authority section", @@ -8856,13 +8734,13 @@ rctx_authority_negative(respctx_t *rctx) { */ if (rdataset->type == dns_rdatatype_ns) { if (rctx->ns_name != NULL && - name != rctx->ns_name) - { - log_formerr(fctx, - "multiple NS RRsets " - "in authority section"); - rctx->result = - DNS_R_FORMERR; + name != rctx->ns_name) { + log_formerr(fctx, "multiple NS " + "RRsets " + "in " + "authority " + "section"); + rctx->result = DNS_R_FORMERR; return (ISC_R_COMPLETE); } rctx->ns_name = name; @@ -8880,12 +8758,12 @@ rctx_authority_negative(respctx_t *rctx) { */ if (rdataset->type == dns_rdatatype_soa) { if (rctx->soa_name != NULL && - name != rctx->soa_name) - { - log_formerr(fctx, - "multiple SOA RRs " - "in authority " - "section"); + name != rctx->soa_name) { + log_formerr(fctx, "multiple " + "SOA RRs " + "in " + "authority " + "section"); rctx->result = DNS_R_FORMERR; return (ISC_R_COMPLETE); } @@ -8895,7 +8773,7 @@ rctx_authority_negative(respctx_t *rctx) { rdataset->attributes |= DNS_RDATASETATTR_NCACHE; if (rctx->aa) { rdataset->trust = - dns_trust_authauthority; + dns_trust_authauthority; } else if (ISFORWARDER(fctx->addrinfo)) { rdataset->trust = dns_trust_answer; } else { @@ -8917,10 +8795,11 @@ rctx_authority_negative(respctx_t *rctx) { * also cause work to be queued to the DNSSEC validator. */ static void -rctx_ncache(respctx_t *rctx) { - isc_result_t result; +rctx_ncache(respctx_t *rctx) +{ + isc_result_t result; dns_rdatatype_t covers; - fetchctx_t *fctx = rctx->fctx; + fetchctx_t * fctx = rctx->fctx; if (!WANTNCACHE(fctx)) { return; @@ -8930,8 +8809,7 @@ rctx_ncache(respctx_t *rctx) { * Cache DS NXDOMAIN seperately to other types. */ if (fctx->rmessage->rcode == dns_rcode_nxdomain && - fctx->type != dns_rdatatype_ds) - { + fctx->type != dns_rdatatype_ds) { covers = dns_rdatatype_any; } else { covers = fctx->type; @@ -8953,11 +8831,12 @@ rctx_ncache(respctx_t *rctx) { * handling DNSSEC records (i.e. NSEC, NSEC3, DS). */ static isc_result_t -rctx_authority_dnssec(respctx_t *rctx) { - isc_result_t result; - fetchctx_t *fctx = rctx->fctx; +rctx_authority_dnssec(respctx_t *rctx) +{ + isc_result_t result; + fetchctx_t * fctx = rctx->fctx; dns_rdataset_t *rdataset = NULL; - bool finished = false; + bool finished = false; REQUIRE(!rctx->ns_in_answer && !rctx->glue_in_answer); @@ -8984,12 +8863,10 @@ rctx_authority_dnssec(respctx_t *rctx) { continue; } - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; - rdataset = ISC_LIST_NEXT(rdataset, link)) - { - bool checknta = true; - bool secure_domain = false; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; + rdataset = ISC_LIST_NEXT(rdataset, link)) { + bool checknta = true; + bool secure_domain = false; dns_rdatatype_t type = rdataset->type; if (type == dns_rdatatype_rrsig) { @@ -9011,7 +8888,7 @@ rctx_authority_dnssec(respctx_t *rctx) { if (rctx->aa) { rdataset->trust = - dns_trust_authauthority; + dns_trust_authauthority; } else if (ISFORWARDER(fctx->addrinfo)) { rdataset->trust = dns_trust_answer; } else { @@ -9030,19 +8907,19 @@ rctx_authority_dnssec(respctx_t *rctx) { * DS RRset. */ if (rctx->ns_name == NULL) { - log_formerr(fctx, - "DS with no referral"); + log_formerr(fctx, "DS with no " + "referral"); rctx->result = DNS_R_FORMERR; return (ISC_R_COMPLETE); } if (rdataset->type == dns_rdatatype_ds) { if (rctx->ds_name != NULL && - name != rctx->ds_name) - { - log_formerr(fctx, - "DS doesn't match " - "referral (NS)"); + name != rctx->ds_name) { + log_formerr(fctx, "DS doesn't " + "match " + "referral " + "(NS)"); rctx->result = DNS_R_FORMERR; return (ISC_R_COMPLETE); } @@ -9056,22 +8933,20 @@ rctx_authority_dnssec(respctx_t *rctx) { checknta = false; } if (fctx->res->view->enablevalidation) { - result = issecuredomain(fctx->res->view, - name, - dns_rdatatype_ds, - fctx->now, - checknta, NULL, - &secure_domain); + result = issecuredomain( + fctx->res->view, name, + dns_rdatatype_ds, fctx->now, + checknta, NULL, &secure_domain); if (result != ISC_R_SUCCESS) { return (result); } } if (secure_domain) { rdataset->trust = - dns_trust_pending_answer; + dns_trust_pending_answer; } else if (rctx->aa) { rdataset->trust = - dns_trust_authauthority; + dns_trust_authauthority; } else if (ISFORWARDER(fctx->addrinfo)) { rdataset->trust = dns_trust_answer; } else { @@ -9093,9 +8968,10 @@ rctx_authority_dnssec(respctx_t *rctx) { * and update the fetch context to follow the delegation. */ static isc_result_t -rctx_referral(respctx_t *rctx) { +rctx_referral(respctx_t *rctx) +{ isc_result_t result; - fetchctx_t *fctx = rctx->fctx; + fetchctx_t * fctx = rctx->fctx; if (rctx->negative || rctx->ns_name == NULL) { return (ISC_R_SUCCESS); @@ -9132,8 +9008,8 @@ rctx_referral(respctx_t *rctx) { */ INSIST(rctx->ns_rdataset != NULL); FCTX_ATTR_SET(fctx, FCTX_ATTR_GLUING); - (void)dns_rdataset_additionaldata(rctx->ns_rdataset, - check_related, fctx); + (void)dns_rdataset_additionaldata(rctx->ns_rdataset, check_related, + fctx); #if CHECK_FOR_GLUE_IN_ANSWER /* * Look in the answer section for "glue" that is incorrectly @@ -9142,10 +9018,8 @@ rctx_referral(respctx_t *rctx) { * additional section that are in the answer section or if * the record gets dropped due to message size constraints. */ - if (rctx->glue_in_answer && - (fctx->type == dns_rdatatype_aaaa || - fctx->type == dns_rdatatype_a)) - { + if (rctx->glue_in_answer && (fctx->type == dns_rdatatype_aaaa || + fctx->type == dns_rdatatype_a)) { (void)dns_rdataset_additionaldata(rctx->ns_rdataset, check_answer, fctx); } @@ -9185,7 +9059,7 @@ rctx_referral(respctx_t *rctx) { dns_name_init(&fctx->qmindcname, NULL); dns_name_dup(rctx->ns_name, fctx->mctx, &fctx->qmindcname); - result= fctx_minimize_qname(fctx); + result = fctx_minimize_qname(fctx); if (result != ISC_R_SUCCESS) { rctx->result = result; return (ISC_R_COMPLETE); @@ -9223,7 +9097,6 @@ rctx_referral(respctx_t *rctx) { } return (ISC_R_COMPLETE); - } /* @@ -9232,33 +9105,32 @@ rctx_referral(respctx_t *rctx) { * to answers we were interested in. */ static void -rctx_additional(respctx_t *rctx) { - fetchctx_t *fctx = rctx->fctx; - bool rescan; +rctx_additional(respctx_t *rctx) +{ + fetchctx_t * fctx = rctx->fctx; + bool rescan; dns_section_t section = DNS_SECTION_ADDITIONAL; - isc_result_t result; + isc_result_t result; - again: +again: rescan = false; for (result = dns_message_firstname(fctx->rmessage, section); result == ISC_R_SUCCESS; result = dns_message_nextname(fctx->rmessage, section)) { - dns_name_t *name = NULL; + dns_name_t * name = NULL; dns_rdataset_t *rdataset; dns_message_currentname(fctx->rmessage, DNS_SECTION_ADDITIONAL, &name); if ((name->attributes & DNS_NAMEATTR_CHASE) == 0) continue; name->attributes &= ~DNS_NAMEATTR_CHASE; - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { if (CHASE(rdataset)) { rdataset->attributes &= ~DNS_RDATASETATTR_CHASE; - (void)dns_rdataset_additionaldata(rdataset, - check_related, - fctx); + (void)dns_rdataset_additionaldata( + rdataset, check_related, fctx); rescan = true; } } @@ -9285,14 +9157,13 @@ rctx_nextserver(respctx_t *rctx, dns_adbaddrinfo_t *addrinfo, * Add this server to the list of bad servers for * this fctx. */ - add_bad(fctx, addrinfo, rctx->broken_server, - rctx->broken_type); + add_bad(fctx, addrinfo, rctx->broken_server, rctx->broken_type); } if (rctx->get_nameservers) { dns_fixedname_t foundname, founddc; - dns_name_t *name, *fname, *dcname; - unsigned int findoptions = 0; + dns_name_t * name, *fname, *dcname; + unsigned int findoptions = 0; fname = dns_fixedname_initname(&foundname); dcname = dns_fixedname_initname(&founddc); @@ -9308,10 +9179,9 @@ rctx_nextserver(respctx_t *rctx, dns_adbaddrinfo_t *addrinfo, } else { name = &fctx->domain; } - result = dns_view_findzonecut(fctx->res->view, name, fname, - dcname, fctx->now, findoptions, - true, true, &fctx->nameservers, - NULL); + result = dns_view_findzonecut( + fctx->res->view, name, fname, dcname, fctx->now, + findoptions, true, true, &fctx->nameservers, NULL); if (result != ISC_R_SUCCESS) { FCTXTRACE("couldn't find a zonecut"); fctx_done(fctx, DNS_R_SERVFAIL, __LINE__); @@ -9360,12 +9230,13 @@ rctx_nextserver(respctx_t *rctx, dns_adbaddrinfo_t *addrinfo, * updated since the last time fctx_query() was called). */ static void -rctx_resend(respctx_t *rctx, dns_adbaddrinfo_t *addrinfo) { - isc_result_t result; - fetchctx_t *fctx = rctx->fctx; - bool bucket_empty; +rctx_resend(respctx_t *rctx, dns_adbaddrinfo_t *addrinfo) +{ + isc_result_t result; + fetchctx_t * fctx = rctx->fctx; + bool bucket_empty; dns_resolver_t *res = fctx->res; - unsigned int bucketnum; + unsigned int bucketnum; FCTXTRACE("resend"); inc_stats(fctx->res, dns_resstatscounter_retry); @@ -9393,7 +9264,8 @@ rctx_resend(respctx_t *rctx, dns_adbaddrinfo_t *addrinfo) { * wanted. */ static void -rctx_next(respctx_t *rctx) { +rctx_next(respctx_t *rctx) +{ #ifdef WANT_QUERYTRACE fetchctx_t *fctx = rctx->fctx; #endif @@ -9416,7 +9288,7 @@ rctx_next(respctx_t *rctx) { static void rctx_chaseds(respctx_t *rctx, dns_adbaddrinfo_t *addrinfo, isc_result_t result) { - fetchctx_t *fctx = rctx->fctx; + fetchctx_t * fctx = rctx->fctx; unsigned int n; add_bad(fctx, addrinfo, result, rctx->broken_type); @@ -9429,13 +9301,10 @@ rctx_chaseds(respctx_t *rctx, dns_adbaddrinfo_t *addrinfo, isc_result_t result) FCTXTRACE("suspending DS lookup to find parent's NS records"); - result = dns_resolver_createfetch(fctx->res, &fctx->nsname, - dns_rdatatype_ns, - NULL, NULL, NULL, NULL, 0, - fctx->options, 0, NULL, rctx->task, - resume_dslookup, fctx, - &fctx->nsrrset, NULL, - &fctx->nsfetch); + result = dns_resolver_createfetch( + fctx->res, &fctx->nsname, dns_rdatatype_ns, NULL, NULL, NULL, + NULL, 0, fctx->options, 0, NULL, rctx->task, resume_dslookup, + fctx, &fctx->nsrrset, NULL, &fctx->nsfetch); if (result != ISC_R_SUCCESS) { if (result == DNS_R_DUPLICATE) { result = DNS_R_SERVFAIL; @@ -9457,14 +9326,14 @@ rctx_chaseds(respctx_t *rctx, dns_adbaddrinfo_t *addrinfo, isc_result_t result) * same server, resend to a new server, or clean up and shut down the fetch. */ static void -rctx_done(respctx_t *rctx, isc_result_t result) { - resquery_t *query = rctx->query; - fetchctx_t *fctx = rctx->fctx; +rctx_done(respctx_t *rctx, isc_result_t result) +{ + resquery_t * query = rctx->query; + fetchctx_t * fctx = rctx->fctx; dns_adbaddrinfo_t *addrinfo = query->addrinfo; FCTXTRACE4("query canceled in response(); ", - rctx->no_response ? "no response" : "responding", - result); + rctx->no_response ? "no response" : "responding", result); /* * Cancel the query. @@ -9478,8 +9347,7 @@ rctx_done(respctx_t *rctx, isc_result_t result) { #ifdef ENABLE_AFL if (dns_fuzzing_resolver && - (rctx->next_server || rctx->resend || rctx->nextitem)) - { + (rctx->next_server || rctx->resend || rctx->nextitem)) { if (rctx->nextitem) { fctx_cancelquery(&query, &rctx->devent, rctx->finish, rctx->no_response, false); @@ -9488,7 +9356,7 @@ rctx_done(respctx_t *rctx, isc_result_t result) { return; } else #endif - if (rctx->next_server) { + if (rctx->next_server) { rctx_nextserver(rctx, addrinfo, result); } else if (rctx->resend) { rctx_resend(rctx, addrinfo); @@ -9516,7 +9384,6 @@ rctx_done(respctx_t *rctx, isc_result_t result) { */ fctx_done(fctx, result, __LINE__); } - } /* @@ -9524,27 +9391,25 @@ rctx_done(respctx_t *rctx, isc_result_t result) { * Log the incoming packet; also log to DNSTAP if configured. */ static void -rctx_logpacket(respctx_t *rctx) { +rctx_logpacket(respctx_t *rctx) +{ #ifdef HAVE_DNSTAP - isc_result_t result; - fetchctx_t *fctx = rctx->fctx; - isc_socket_t *sock = NULL; - isc_sockaddr_t localaddr, *la = NULL; - unsigned char zone[DNS_NAME_MAXWIRE]; + isc_result_t result; + fetchctx_t * fctx = rctx->fctx; + isc_socket_t * sock = NULL; + isc_sockaddr_t localaddr, *la = NULL; + unsigned char zone[DNS_NAME_MAXWIRE]; dns_dtmsgtype_t dtmsgtype; - dns_compress_t cctx; - isc_region_t zr; - isc_buffer_t zb; + dns_compress_t cctx; + isc_region_t zr; + isc_buffer_t zb; #endif /* HAVE_DNSTAP */ - dns_message_logfmtpacket(rctx->fctx->rmessage, - "received packet from", - &rctx->query->addrinfo->sockaddr, - DNS_LOGCATEGORY_RESOLVER, - DNS_LOGMODULE_PACKETS, - &dns_master_style_comment, - ISC_LOG_DEBUG(10), - rctx->fctx->res->mctx); + dns_message_logfmtpacket( + rctx->fctx->rmessage, "received packet from", + &rctx->query->addrinfo->sockaddr, DNS_LOGCATEGORY_RESOLVER, + DNS_LOGMODULE_PACKETS, &dns_master_style_comment, + ISC_LOG_DEBUG(10), rctx->fctx->res->mctx); #ifdef HAVE_DNSTAP /* @@ -9578,8 +9443,8 @@ rctx_logpacket(respctx_t *rctx) { dns_dt_send(fctx->res->view, dtmsgtype, la, &rctx->query->addrinfo->sockaddr, - ((rctx->query->options & DNS_FETCHOPT_TCP) != 0), - &zr, &rctx->query->start, NULL, &rctx->devent->buffer); + ((rctx->query->options & DNS_FETCHOPT_TCP) != 0), &zr, + &rctx->query->start, NULL, &rctx->devent->buffer); #endif /* HAVE_DNSTAP */ } @@ -9588,22 +9453,21 @@ rctx_logpacket(respctx_t *rctx) { * Is the remote server broken, or does it dislike us? */ static isc_result_t -rctx_badserver(respctx_t *rctx, isc_result_t result) { - fetchctx_t *fctx = rctx->fctx; - resquery_t *query = rctx->query; +rctx_badserver(respctx_t *rctx, isc_result_t result) +{ + fetchctx_t * fctx = rctx->fctx; + resquery_t * query = rctx->query; isc_buffer_t b; - char code[64]; + char code[64]; if (fctx->rmessage->rcode == dns_rcode_noerror || fctx->rmessage->rcode == dns_rcode_yxdomain || - fctx->rmessage->rcode == dns_rcode_nxdomain) - { + fctx->rmessage->rcode == dns_rcode_nxdomain) { return (ISC_R_SUCCESS); } if ((fctx->rmessage->rcode == dns_rcode_formerr) && - (rctx->retryopts & DNS_FETCHOPT_NOEDNS0) == 0) - { + (rctx->retryopts & DNS_FETCHOPT_NOEDNS0) == 0) { /* * It's very likely they don't like EDNS0. * If the response code is SERVFAIL, also check if the @@ -9677,8 +9541,8 @@ rctx_badserver(respctx_t *rctx, isc_result_t result) { */ #if DNS_EDNS_VERSION > 0 if ((int)version < query->ednsversion) { - dns_adb_changeflags(fctx->adb, query->addrinfo, - flags, mask); + dns_adb_changeflags(fctx->adb, query->addrinfo, flags, + mask); rctx->resend = true; } else { rctx->broken_server = DNS_R_BADVERS; @@ -9689,8 +9553,7 @@ rctx_badserver(respctx_t *rctx, isc_result_t result) { rctx->next_server = true; #endif } else if (fctx->rmessage->rcode == dns_rcode_badcookie && - fctx->rmessage->cc_ok) - { + fctx->rmessage->cc_ok) { /* * We have recorded the new cookie. */ @@ -9718,22 +9581,21 @@ rctx_badserver(respctx_t *rctx, isc_result_t result) { * Is the server lame? */ static isc_result_t -rctx_lameserver(respctx_t *rctx) { +rctx_lameserver(respctx_t *rctx) +{ isc_result_t result; - fetchctx_t *fctx = rctx->fctx; - resquery_t *query = rctx->query; + fetchctx_t * fctx = rctx->fctx; + resquery_t * query = rctx->query; if (fctx->res->lame_ttl == 0 || ISFORWARDER(query->addrinfo) || - !is_lame(fctx)) - { + !is_lame(fctx)) { return (ISC_R_SUCCESS); } inc_stats(fctx->res, dns_resstatscounter_lame); log_lame(fctx, query->addrinfo); - result = dns_adb_marklame(fctx->adb, query->addrinfo, - &fctx->name, fctx->type, - rctx->now + fctx->res->lame_ttl); + result = dns_adb_marklame(fctx->adb, query->addrinfo, &fctx->name, + fctx->type, rctx->now + fctx->res->lame_ttl); if (result != ISC_R_SUCCESS) isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, DNS_LOGMODULE_RESOLVER, ISC_LOG_ERROR, @@ -9752,41 +9614,41 @@ rctx_lameserver(respctx_t *rctx) { * Handle delegation-only zones like NET and COM. */ static void -rctx_delonly_zone(respctx_t *rctx) { +rctx_delonly_zone(respctx_t *rctx) +{ fetchctx_t *fctx = rctx->fctx; - char namebuf[DNS_NAME_FORMATSIZE]; - char domainbuf[DNS_NAME_FORMATSIZE]; - char addrbuf[ISC_SOCKADDR_FORMATSIZE]; - char classbuf[64]; - char typebuf[64]; + char namebuf[DNS_NAME_FORMATSIZE]; + char domainbuf[DNS_NAME_FORMATSIZE]; + char addrbuf[ISC_SOCKADDR_FORMATSIZE]; + char classbuf[64]; + char typebuf[64]; if (ISFORWARDER(rctx->query->addrinfo) || !dns_view_isdelegationonly(fctx->res->view, &fctx->domain) || dns_name_equal(&fctx->domain, &fctx->name) || - !fix_mustbedelegationornxdomain(fctx->rmessage, fctx)) - { + !fix_mustbedelegationornxdomain(fctx->rmessage, fctx)) { return; } dns_name_format(&fctx->name, namebuf, sizeof(namebuf)); dns_name_format(&fctx->domain, domainbuf, sizeof(domainbuf)); dns_rdatatype_format(fctx->type, typebuf, sizeof(typebuf)); - dns_rdataclass_format(fctx->res->rdclass, classbuf, - sizeof(classbuf)); + dns_rdataclass_format(fctx->res->rdclass, classbuf, sizeof(classbuf)); isc_sockaddr_format(&rctx->query->addrinfo->sockaddr, addrbuf, sizeof(addrbuf)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_DELEGATION_ONLY, - DNS_LOGMODULE_RESOLVER, ISC_LOG_NOTICE, - "enforced delegation-only for '%s' (%s/%s/%s) from %s", - domainbuf, namebuf, typebuf, classbuf, addrbuf); + DNS_LOGMODULE_RESOLVER, ISC_LOG_NOTICE, + "enforced delegation-only for '%s' (%s/%s/%s) from %s", + domainbuf, namebuf, typebuf, classbuf, addrbuf); } /*** *** Resolver Methods ***/ static void -destroy(dns_resolver_t *res) { +destroy(dns_resolver_t *res) +{ unsigned int i; alternate_t *a; @@ -9842,16 +9704,16 @@ destroy(dns_resolver_t *res) { } static void -send_shutdown_events(dns_resolver_t *res) { +send_shutdown_events(dns_resolver_t *res) +{ isc_event_t *event, *next_event; - isc_task_t *etask; + isc_task_t * etask; /* * Caller must be holding the resolver lock. */ - for (event = ISC_LIST_HEAD(res->whenshutdown); - event != NULL; + for (event = ISC_LIST_HEAD(res->whenshutdown); event != NULL; event = next_event) { next_event = ISC_LIST_NEXT(event, ev_link); ISC_LIST_UNLINK(res->whenshutdown, event, ev_link); @@ -9862,7 +9724,8 @@ send_shutdown_events(dns_resolver_t *res) { } static void -empty_bucket(dns_resolver_t *res) { +empty_bucket(dns_resolver_t *res) +{ RTRACE("empty_bucket"); LOCK(&res->lock); @@ -9876,11 +9739,12 @@ empty_bucket(dns_resolver_t *res) { } static void -spillattimer_countdown(isc_task_t *task, isc_event_t *event) { +spillattimer_countdown(isc_task_t *task, isc_event_t *event) +{ dns_resolver_t *res = event->ev_arg; - isc_result_t result; - unsigned int count; - bool logit = false; + isc_result_t result; + unsigned int count; + bool logit = false; REQUIRE(VALID_RESOLVER(res)); @@ -9894,8 +9758,8 @@ spillattimer_countdown(isc_task_t *task, isc_event_t *event) { } if (res->spillat <= res->spillatmin) { result = isc_timer_reset(res->spillattimer, - isc_timertype_inactive, NULL, - NULL, true); + isc_timertype_inactive, NULL, NULL, + true); RUNTIME_CHECK(result == ISC_R_SUCCESS); } count = res->spillat; @@ -9909,23 +9773,19 @@ spillattimer_countdown(isc_task_t *task, isc_event_t *event) { } isc_result_t -dns_resolver_create(dns_view_t *view, - isc_taskmgr_t *taskmgr, +dns_resolver_create(dns_view_t *view, isc_taskmgr_t *taskmgr, unsigned int ntasks, unsigned int ndisp, - isc_socketmgr_t *socketmgr, - isc_timermgr_t *timermgr, - unsigned int options, - dns_dispatchmgr_t *dispatchmgr, - dns_dispatch_t *dispatchv4, - dns_dispatch_t *dispatchv6, + isc_socketmgr_t *socketmgr, isc_timermgr_t *timermgr, + unsigned int options, dns_dispatchmgr_t *dispatchmgr, + dns_dispatch_t *dispatchv4, dns_dispatch_t *dispatchv6, dns_resolver_t **resp) { dns_resolver_t *res; - isc_result_t result = ISC_R_SUCCESS; - unsigned int i, buckets_created = 0, dbuckets_created = 0; - isc_task_t *task = NULL; - char name[16]; - unsigned dispattr; + isc_result_t result = ISC_R_SUCCESS; + unsigned int i, buckets_created = 0, dbuckets_created = 0; + isc_task_t * task = NULL; + char name[16]; + unsigned dispattr; /* * Create a resolver. @@ -10082,16 +9942,16 @@ dns_resolver_create(dns_view_t *view, return (ISC_R_SUCCESS); #if USE_ALGLOCK && USE_MBSLOCK - cleanup_alglock: +cleanup_alglock: isc_rwlock_destroy(&res->alglock); #endif #if USE_ALGLOCK || USE_MBSLOCK - cleanup_spillattimer: +cleanup_spillattimer: isc_timer_detach(&res->spillattimer); #endif - cleanup_primelock: +cleanup_primelock: isc_mutex_destroy(&res->primelock); isc_mutex_destroy(&res->lock); @@ -10107,7 +9967,7 @@ dns_resolver_create(dns_view_t *view, isc_mem_put(view->mctx, res->dbuckets, RES_DOMAIN_BUCKETS * sizeof(zonebucket_t)); - cleanup_buckets: +cleanup_buckets: for (i = 0; i < buckets_created; i++) { isc_mem_detach(&res->buckets[i].mctx); isc_mutex_destroy(&res->buckets[i].lock); @@ -10119,18 +9979,19 @@ dns_resolver_create(dns_view_t *view, dns_badcache_destroy(&res->badcache); - cleanup_res: +cleanup_res: isc_mem_put(view->mctx, res, sizeof(*res)); return (result); } static void -prime_done(isc_task_t *task, isc_event_t *event) { - dns_resolver_t *res; +prime_done(isc_task_t *task, isc_event_t *event) +{ + dns_resolver_t * res; dns_fetchevent_t *fevent; - dns_fetch_t *fetch; - dns_db_t *db = NULL; + dns_fetch_t * fetch; + dns_db_t * db = NULL; REQUIRE(event->ev_type == DNS_EVENT_FETCHDONE); fevent = (dns_fetchevent_t *)event; @@ -10154,8 +10015,8 @@ prime_done(isc_task_t *task, isc_event_t *event) { UNLOCK(&res->lock); - if (fevent->result == ISC_R_SUCCESS && - res->view->cache != NULL && res->view->hints != NULL) { + if (fevent->result == ISC_R_SUCCESS && res->view->cache != NULL && + res->view->hints != NULL) { dns_cache_attachdb(res->view->cache, &db); dns_root_checkhints(res->view, res->view->hints, db); dns_db_detach(&db); @@ -10176,10 +10037,11 @@ prime_done(isc_task_t *task, isc_event_t *event) { } void -dns_resolver_prime(dns_resolver_t *res) { - bool want_priming = false; +dns_resolver_prime(dns_resolver_t *res) +{ + bool want_priming = false; dns_rdataset_t *rdataset; - isc_result_t result; + isc_result_t result; REQUIRE(VALID_RESOLVER(res)); REQUIRE(res->frozen); @@ -10211,13 +10073,11 @@ dns_resolver_prime(dns_resolver_t *res) { rdataset = isc_mem_get(res->mctx, sizeof(*rdataset)); dns_rdataset_init(rdataset); LOCK(&res->primelock); - result = dns_resolver_createfetch(res, dns_rootname, - dns_rdatatype_ns, - NULL, NULL, NULL, NULL, 0, - DNS_FETCHOPT_NOFORWARD, 0, - NULL, res->buckets[0].task, - prime_done, res, rdataset, - NULL, &res->primefetch); + result = dns_resolver_createfetch( + res, dns_rootname, dns_rdatatype_ns, NULL, NULL, NULL, + NULL, 0, DNS_FETCHOPT_NOFORWARD, 0, NULL, + res->buckets[0].task, prime_done, res, rdataset, NULL, + &res->primefetch); UNLOCK(&res->primelock); if (result != ISC_R_SUCCESS) { isc_mem_put(res->mctx, rdataset, sizeof(*rdataset)); @@ -10231,7 +10091,8 @@ dns_resolver_prime(dns_resolver_t *res) { } void -dns_resolver_freeze(dns_resolver_t *res) { +dns_resolver_freeze(dns_resolver_t *res) +{ /* * Freeze resolver. */ @@ -10242,7 +10103,8 @@ dns_resolver_freeze(dns_resolver_t *res) { } void -dns_resolver_attach(dns_resolver_t *source, dns_resolver_t **targetp) { +dns_resolver_attach(dns_resolver_t *source, dns_resolver_t **targetp) +{ REQUIRE(VALID_RESOLVER(source)); REQUIRE(targetp != NULL && *targetp == NULL); @@ -10260,7 +10122,7 @@ void dns_resolver_whenshutdown(dns_resolver_t *res, isc_task_t *task, isc_event_t **eventp) { - isc_task_t *tclone; + isc_task_t * tclone; isc_event_t *event; REQUIRE(VALID_RESOLVER(res)); @@ -10288,11 +10150,12 @@ dns_resolver_whenshutdown(dns_resolver_t *res, isc_task_t *task, } void -dns_resolver_shutdown(dns_resolver_t *res) { +dns_resolver_shutdown(dns_resolver_t *res) +{ unsigned int i; - fetchctx_t *fctx; + fetchctx_t * fctx; isc_result_t result; - bool is_false = false; + bool is_false = false; REQUIRE(VALID_RESOLVER(res)); @@ -10305,8 +10168,7 @@ dns_resolver_shutdown(dns_resolver_t *res) { for (i = 0; i < res->nbuckets; i++) { LOCK(&res->buckets[i].lock); for (fctx = ISC_LIST_HEAD(res->buckets[i].fctxs); - fctx != NULL; - fctx = ISC_LIST_NEXT(fctx, link)) + fctx != NULL; fctx = ISC_LIST_NEXT(fctx, link)) fctx_shutdown(fctx); if (res->dispatches4 != NULL && !res->exclusivev4) { dns_dispatchset_cancelall(res->dispatches4, @@ -10326,15 +10188,16 @@ dns_resolver_shutdown(dns_resolver_t *res) { if (res->activebuckets == 0) send_shutdown_events(res); result = isc_timer_reset(res->spillattimer, - isc_timertype_inactive, NULL, - NULL, true); + isc_timertype_inactive, NULL, NULL, + true); RUNTIME_CHECK(result == ISC_R_SUCCESS); } UNLOCK(&res->lock); } void -dns_resolver_detach(dns_resolver_t **resp) { +dns_resolver_detach(dns_resolver_t **resp) +{ dns_resolver_t *res; REQUIRE(resp != NULL); @@ -10370,28 +10233,30 @@ fctx_match(fetchctx_t *fctx, const dns_name_t *name, dns_rdatatype_t type, } static inline void -log_fetch(const dns_name_t *name, dns_rdatatype_t type) { +log_fetch(const dns_name_t *name, dns_rdatatype_t type) +{ char namebuf[DNS_NAME_FORMATSIZE]; char typebuf[DNS_RDATATYPE_FORMATSIZE]; - int level = ISC_LOG_DEBUG(1); + int level = ISC_LOG_DEBUG(1); /* * If there's no chance of logging it, don't render (format) the * name and RDATA type (further below), and return early. */ - if (! isc_log_wouldlog(dns_lctx, level)) + if (!isc_log_wouldlog(dns_lctx, level)) return; dns_name_format(name, namebuf, sizeof(namebuf)); dns_rdatatype_format(type, typebuf, sizeof(typebuf)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, - DNS_LOGMODULE_RESOLVER, level, - "fetch: %s/%s", namebuf, typebuf); + DNS_LOGMODULE_RESOLVER, level, "fetch: %s/%s", namebuf, + typebuf); } static isc_result_t -fctx_minimize_qname(fetchctx_t *fctx) { +fctx_minimize_qname(fetchctx_t *fctx) +{ isc_result_t result = ISC_R_SUCCESS; unsigned int dlabels, nlabels; @@ -10438,27 +10303,27 @@ fctx_minimize_qname(fetchctx_t *fctx) { * We want to query for qmin_labels from fctx->name */ dns_fixedname_t fname; - dns_name_t *name = dns_fixedname_initname(&fname); - dns_name_split(&fctx->name, fctx->qmin_labels, - NULL, dns_fixedname_name(&fname)); + dns_name_t * name = dns_fixedname_initname(&fname); + dns_name_split(&fctx->name, fctx->qmin_labels, NULL, + dns_fixedname_name(&fname)); if ((fctx->options & DNS_FETCHOPT_QMIN_USE_A) != 0) { - isc_buffer_t dbuf; + isc_buffer_t dbuf; dns_fixedname_t tmpname; dns_name_t *tname = dns_fixedname_initname(&tmpname); - char ndata[DNS_NAME_MAXWIRE]; + char ndata[DNS_NAME_MAXWIRE]; isc_buffer_init(&dbuf, ndata, DNS_NAME_MAXWIRE); dns_fixedname_init(&tmpname); - result = dns_name_concatenate(&underscore_name, - name, tname, &dbuf); + result = dns_name_concatenate(&underscore_name, name, + tname, &dbuf); if (result == ISC_R_SUCCESS) { dns_name_dup(tname, fctx->mctx, &fctx->qminname); } fctx->qmintype = dns_rdatatype_a; } else { - dns_name_dup(dns_fixedname_name(&fname), - fctx->mctx, &fctx->qminname); + dns_name_dup(dns_fixedname_name(&fname), fctx->mctx, + &fctx->qminname); fctx->qmintype = dns_rdatatype_ns; } fctx->minimized = true; @@ -10474,35 +10339,34 @@ fctx_minimize_qname(fetchctx_t *fctx) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER, DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(5), "QNAME minimization - %s minimized, qmintype %d " - "qminname %s", fctx->minimized ? "" : "not", - fctx->qmintype, domainbuf); + "qminname %s", + fctx->minimized ? "" : "not", fctx->qmintype, domainbuf); return (result); } isc_result_t dns_resolver_createfetch(dns_resolver_t *res, const dns_name_t *name, - dns_rdatatype_t type, - const dns_name_t *domain, dns_rdataset_t *nameservers, - dns_forwarders_t *forwarders, + dns_rdatatype_t type, const dns_name_t *domain, + dns_rdataset_t * nameservers, + dns_forwarders_t * forwarders, const isc_sockaddr_t *client, dns_messageid_t id, unsigned int options, unsigned int depth, isc_counter_t *qc, isc_task_t *task, isc_taskaction_t action, void *arg, - dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset, + dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset, dns_fetch_t **fetchp) { dns_fetch_t *fetch; - fetchctx_t *fctx = NULL; + fetchctx_t * fctx = NULL; isc_result_t result = ISC_R_SUCCESS; unsigned int bucketnum; - bool new_fctx = false; + bool new_fctx = false; isc_event_t *event; unsigned int count = 0; unsigned int spillat; unsigned int spillatmin; - bool dodestroy = false; + bool dodestroy = false; UNUSED(forwarders); @@ -10516,8 +10380,7 @@ dns_resolver_createfetch(dns_resolver_t *res, const dns_name_t *name, REQUIRE(nameservers == NULL); REQUIRE(forwarders == NULL); REQUIRE(!dns_rdataset_isassociated(rdataset)); - REQUIRE(sigrdataset == NULL || - !dns_rdataset_isassociated(sigrdataset)); + REQUIRE(sigrdataset == NULL || !dns_rdataset_isassociated(sigrdataset)); REQUIRE(fetchp != NULL && *fetchp == NULL); log_fetch(name, type); @@ -10544,8 +10407,7 @@ dns_resolver_createfetch(dns_resolver_t *res, const dns_name_t *name, if ((options & DNS_FETCHOPT_UNSHARED) == 0) { for (fctx = ISC_LIST_HEAD(res->buckets[bucketnum].fctxs); - fctx != NULL; - fctx = ISC_LIST_NEXT(fctx, link)) { + fctx != NULL; fctx = ISC_LIST_NEXT(fctx, link)) { if (fctx_match(fctx, name, type, options)) break; } @@ -10556,8 +10418,7 @@ dns_resolver_createfetch(dns_resolver_t *res, const dns_name_t *name, */ if (fctx != NULL && client != NULL) { dns_fetchevent_t *fevent; - for (fevent = ISC_LIST_HEAD(fctx->events); - fevent != NULL; + for (fevent = ISC_LIST_HEAD(fctx->events); fevent != NULL; fevent = ISC_LIST_NEXT(fevent, ev_link)) { if (fevent->client != NULL && fevent->id == id && isc_sockaddr_equal(fevent->client, client)) { @@ -10587,8 +10448,8 @@ dns_resolver_createfetch(dns_resolver_t *res, const dns_name_t *name, } else if (fctx->depth > depth) fctx->depth = depth; - result = fctx_join(fctx, task, client, id, action, arg, - rdataset, sigrdataset, fetch); + result = fctx_join(fctx, task, client, id, action, arg, rdataset, + sigrdataset, fetch); if (new_fctx) { if (result == ISC_R_SUCCESS) { /* @@ -10596,9 +10457,8 @@ dns_resolver_createfetch(dns_resolver_t *res, const dns_name_t *name, */ event = &fctx->control_event; ISC_EVENT_INIT(event, sizeof(*event), 0, NULL, - DNS_EVENT_FETCHCONTROL, - fctx_start, fctx, NULL, - NULL, NULL); + DNS_EVENT_FETCHCONTROL, fctx_start, fctx, + NULL, NULL, NULL); isc_task_send(res->buckets[bucketnum].task, &event); } else { /* @@ -10610,7 +10470,7 @@ dns_resolver_createfetch(dns_resolver_t *res, const dns_name_t *name, } } - unlock: +unlock: UNLOCK(&res->buckets[bucketnum].lock); if (dodestroy) @@ -10626,11 +10486,12 @@ dns_resolver_createfetch(dns_resolver_t *res, const dns_name_t *name, } void -dns_resolver_cancelfetch(dns_fetch_t *fetch) { - fetchctx_t *fctx; - dns_resolver_t *res; +dns_resolver_cancelfetch(dns_fetch_t *fetch) +{ + fetchctx_t * fctx; + dns_resolver_t * res; dns_fetchevent_t *event, *next_event; - isc_task_t *etask; + isc_task_t * etask; REQUIRE(DNS_FETCH_VALID(fetch)); fctx = fetch->private; @@ -10648,8 +10509,7 @@ dns_resolver_cancelfetch(dns_fetch_t *fetch) { */ event = NULL; if (fctx->state != fetchstate_done) { - for (event = ISC_LIST_HEAD(fctx->events); - event != NULL; + for (event = ISC_LIST_HEAD(fctx->events); event != NULL; event = next_event) { next_event = ISC_LIST_NEXT(event, ev_link); if (event->fetch == fetch) { @@ -10673,13 +10533,14 @@ dns_resolver_cancelfetch(dns_fetch_t *fetch) { } void -dns_resolver_destroyfetch(dns_fetch_t **fetchp) { - dns_fetch_t *fetch; - dns_resolver_t *res; +dns_resolver_destroyfetch(dns_fetch_t **fetchp) +{ + dns_fetch_t * fetch; + dns_resolver_t * res; dns_fetchevent_t *event, *next_event; - fetchctx_t *fctx; - unsigned int bucketnum; - bool bucket_empty; + fetchctx_t * fctx; + unsigned int bucketnum; + bool bucket_empty; REQUIRE(fetchp != NULL); fetch = *fetchp; @@ -10700,8 +10561,7 @@ dns_resolver_destroyfetch(dns_fetch_t **fetchp) { */ event = NULL; if (fctx->state != fetchstate_done) { - for (event = ISC_LIST_HEAD(fctx->events); - event != NULL; + for (event = ISC_LIST_HEAD(fctx->events); event != NULL; event = next_event) { next_event = ISC_LIST_NEXT(event, ev_link); RUNTIME_CHECK(event->fetch != fetch); @@ -10722,9 +10582,9 @@ dns_resolver_logfetch(dns_fetch_t *fetch, isc_log_t *lctx, isc_logcategory_t *category, isc_logmodule_t *module, int level, bool duplicateok) { - fetchctx_t *fctx; + fetchctx_t * fctx; dns_resolver_t *res; - char domainbuf[DNS_NAME_FORMATSIZE]; + char domainbuf[DNS_NAME_FORMATSIZE]; REQUIRE(DNS_FETCH_VALID(fetch)); fctx = fetch->private; @@ -10748,9 +10608,8 @@ dns_resolver_logfetch(dns_fetch_t *fetch, isc_log_t *lctx, fctx->duration % US_PER_SEC, isc_result_totext(fctx->result), isc_result_totext(fctx->vresult), domainbuf, - fctx->referrals, fctx->restarts, - fctx->querysent, fctx->timeouts, - fctx->lamecount, fctx->quotacount, + fctx->referrals, fctx->restarts, fctx->querysent, + fctx->timeouts, fctx->lamecount, fctx->quotacount, fctx->neterr, fctx->badresp, fctx->adberr, fctx->findfail, fctx->valfail); fctx->logged = true; @@ -10760,50 +10619,58 @@ dns_resolver_logfetch(dns_fetch_t *fetch, isc_log_t *lctx, } dns_dispatchmgr_t * -dns_resolver_dispatchmgr(dns_resolver_t *resolver) { +dns_resolver_dispatchmgr(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); return (resolver->dispatchmgr); } dns_dispatch_t * -dns_resolver_dispatchv4(dns_resolver_t *resolver) { +dns_resolver_dispatchv4(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); return (dns_dispatchset_get(resolver->dispatches4)); } dns_dispatch_t * -dns_resolver_dispatchv6(dns_resolver_t *resolver) { +dns_resolver_dispatchv6(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); return (dns_dispatchset_get(resolver->dispatches6)); } isc_socketmgr_t * -dns_resolver_socketmgr(dns_resolver_t *resolver) { +dns_resolver_socketmgr(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); return (resolver->socketmgr); } isc_taskmgr_t * -dns_resolver_taskmgr(dns_resolver_t *resolver) { +dns_resolver_taskmgr(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); return (resolver->taskmgr); } uint32_t -dns_resolver_getlamettl(dns_resolver_t *resolver) { +dns_resolver_getlamettl(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); return (resolver->lame_ttl); } void -dns_resolver_setlamettl(dns_resolver_t *resolver, uint32_t lame_ttl) { +dns_resolver_setlamettl(dns_resolver_t *resolver, uint32_t lame_ttl) +{ REQUIRE(VALID_RESOLVER(resolver)); resolver->lame_ttl = lame_ttl; } isc_result_t dns_resolver_addalternate(dns_resolver_t *resolver, const isc_sockaddr_t *alt, - const dns_name_t *name, in_port_t port) { + const dns_name_t *name, in_port_t port) +{ alternate_t *a; REQUIRE(VALID_RESOLVER(resolver)); @@ -10827,19 +10694,22 @@ dns_resolver_addalternate(dns_resolver_t *resolver, const isc_sockaddr_t *alt, } void -dns_resolver_setudpsize(dns_resolver_t *resolver, uint16_t udpsize) { +dns_resolver_setudpsize(dns_resolver_t *resolver, uint16_t udpsize) +{ REQUIRE(VALID_RESOLVER(resolver)); resolver->udpsize = udpsize; } uint16_t -dns_resolver_getudpsize(dns_resolver_t *resolver) { +dns_resolver_getudpsize(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); return (resolver->udpsize); } void -dns_resolver_flushbadcache(dns_resolver_t *resolver, const dns_name_t *name) { +dns_resolver_flushbadcache(dns_resolver_t *resolver, const dns_name_t *name) +{ if (name != NULL) dns_badcache_flushname(resolver->badcache, name); else @@ -10847,7 +10717,8 @@ dns_resolver_flushbadcache(dns_resolver_t *resolver, const dns_name_t *name) { } void -dns_resolver_flushbadnames(dns_resolver_t *resolver, const dns_name_t *name) { +dns_resolver_flushbadnames(dns_resolver_t *resolver, const dns_name_t *name) +{ dns_badcache_flushtree(resolver->badcache, name); } @@ -10859,8 +10730,8 @@ dns_resolver_addbadcache(dns_resolver_t *resolver, const dns_name_t *name, if (!dns_fuzzing_resolver) #endif { - dns_badcache_add(resolver->badcache, name, type, - false, 0, expire); + dns_badcache_add(resolver->badcache, name, type, false, 0, + expire); } } @@ -10872,21 +10743,23 @@ dns_resolver_getbadcache(dns_resolver_t *resolver, const dns_name_t *name, } void -dns_resolver_printbadcache(dns_resolver_t *resolver, FILE *fp) { - (void) dns_badcache_print(resolver->badcache, "Bad cache", fp); +dns_resolver_printbadcache(dns_resolver_t *resolver, FILE *fp) +{ + (void)dns_badcache_print(resolver->badcache, "Bad cache", fp); } static void -free_algorithm(void *node, void *arg) { +free_algorithm(void *node, void *arg) +{ unsigned char *algorithms = node; - isc_mem_t *mctx = arg; + isc_mem_t * mctx = arg; isc_mem_put(mctx, algorithms, *algorithms); } void -dns_resolver_reset_algorithms(dns_resolver_t *resolver) { - +dns_resolver_reset_algorithms(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); #if USE_ALGLOCK @@ -10900,14 +10773,13 @@ dns_resolver_reset_algorithms(dns_resolver_t *resolver) { } isc_result_t -dns_resolver_disable_algorithm(dns_resolver_t *resolver, - const dns_name_t *name, +dns_resolver_disable_algorithm(dns_resolver_t *resolver, const dns_name_t *name, unsigned int alg) { - unsigned int len, mask; + unsigned int len, mask; unsigned char *tmp; unsigned char *algorithms; - isc_result_t result; + isc_result_t result; dns_rbtnode_t *node = NULL; /* @@ -10930,8 +10802,8 @@ dns_resolver_disable_algorithm(dns_resolver_t *resolver, goto cleanup; } - len = alg/8 + 2; - mask = 1 << (alg%8); + len = alg / 8 + 2; + mask = 1 << (alg % 8); result = dns_rbt_addnode(resolver->algorithms, name, &node); @@ -10952,7 +10824,7 @@ dns_resolver_disable_algorithm(dns_resolver_t *resolver, memset(tmp, 0, len); if (algorithms != NULL) memmove(tmp, algorithms, *algorithms); - tmp[len-1] |= mask; + tmp[len - 1] |= mask; /* 'tmp[0]' should contain the length of 'tmp'. */ *tmp = len; node->data = tmp; @@ -10961,10 +10833,10 @@ dns_resolver_disable_algorithm(dns_resolver_t *resolver, isc_mem_put(resolver->mctx, algorithms, *algorithms); } else - algorithms[len-1] |= mask; + algorithms[len - 1] |= mask; } result = ISC_R_SUCCESS; - cleanup: +cleanup: #if USE_ALGLOCK RWUNLOCK(&resolver->alglock, isc_rwlocktype_write); #endif @@ -10972,14 +10844,14 @@ dns_resolver_disable_algorithm(dns_resolver_t *resolver, } bool -dns_resolver_algorithm_supported(dns_resolver_t *resolver, +dns_resolver_algorithm_supported(dns_resolver_t * resolver, const dns_name_t *name, unsigned int alg) { - unsigned int len, mask; + unsigned int len, mask; unsigned char *algorithms; - void *data = NULL; - isc_result_t result; - bool found = false; + void * data = NULL; + isc_result_t result; + bool found = false; REQUIRE(VALID_RESOLVER(resolver)); @@ -10996,13 +10868,13 @@ dns_resolver_algorithm_supported(dns_resolver_t *resolver, goto unlock; result = dns_rbt_findname(resolver->algorithms, name, 0, NULL, &data); if (result == ISC_R_SUCCESS || result == DNS_R_PARTIALMATCH) { - len = alg/8 + 2; - mask = 1 << (alg%8); + len = alg / 8 + 2; + mask = 1 << (alg % 8); algorithms = data; - if (len <= *algorithms && (algorithms[len-1] & mask) != 0) + if (len <= *algorithms && (algorithms[len - 1] & mask) != 0) found = true; } - unlock: +unlock: #if USE_ALGLOCK RWUNLOCK(&resolver->alglock, isc_rwlocktype_read); #endif @@ -11013,16 +10885,17 @@ dns_resolver_algorithm_supported(dns_resolver_t *resolver, } static void -free_digest(void *node, void *arg) { +free_digest(void *node, void *arg) +{ unsigned char *digests = node; - isc_mem_t *mctx = arg; + isc_mem_t * mctx = arg; isc_mem_put(mctx, digests, *digests); } void -dns_resolver_reset_ds_digests(dns_resolver_t *resolver) { - +dns_resolver_reset_ds_digests(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); #if USE_ALGLOCK @@ -11036,14 +10909,13 @@ dns_resolver_reset_ds_digests(dns_resolver_t *resolver) { } isc_result_t -dns_resolver_disable_ds_digest(dns_resolver_t *resolver, - const dns_name_t *name, +dns_resolver_disable_ds_digest(dns_resolver_t *resolver, const dns_name_t *name, unsigned int digest_type) { - unsigned int len, mask; + unsigned int len, mask; unsigned char *tmp; unsigned char *digests; - isc_result_t result; + isc_result_t result; dns_rbtnode_t *node = NULL; /* @@ -11065,8 +10937,8 @@ dns_resolver_disable_ds_digest(dns_resolver_t *resolver, goto cleanup; } - len = digest_type/8 + 2; - mask = 1 << (digest_type%8); + len = digest_type / 8 + 2; + mask = 1 << (digest_type % 8); result = dns_rbt_addnode(resolver->digests, name, &node); @@ -11084,19 +10956,18 @@ dns_resolver_disable_ds_digest(dns_resolver_t *resolver, memset(tmp, 0, len); if (digests != NULL) memmove(tmp, digests, *digests); - tmp[len-1] |= mask; + tmp[len - 1] |= mask; /* tmp[0] should contain the length of 'tmp'. */ *tmp = len; node->data = tmp; /* Free the older bitfield. */ if (digests != NULL) - isc_mem_put(resolver->mctx, digests, - *digests); + isc_mem_put(resolver->mctx, digests, *digests); } else - digests[len-1] |= mask; + digests[len - 1] |= mask; } result = ISC_R_SUCCESS; - cleanup: +cleanup: #if USE_ALGLOCK RWUNLOCK(&resolver->alglock, isc_rwlocktype_write); #endif @@ -11104,15 +10975,15 @@ dns_resolver_disable_ds_digest(dns_resolver_t *resolver, } bool -dns_resolver_ds_digest_supported(dns_resolver_t *resolver, +dns_resolver_ds_digest_supported(dns_resolver_t * resolver, const dns_name_t *name, - unsigned int digest_type) + unsigned int digest_type) { - unsigned int len, mask; + unsigned int len, mask; unsigned char *digests; - void *data = NULL; - isc_result_t result; - bool found = false; + void * data = NULL; + isc_result_t result; + bool found = false; REQUIRE(VALID_RESOLVER(resolver)); @@ -11123,13 +10994,13 @@ dns_resolver_ds_digest_supported(dns_resolver_t *resolver, goto unlock; result = dns_rbt_findname(resolver->digests, name, 0, NULL, &data); if (result == ISC_R_SUCCESS || result == DNS_R_PARTIALMATCH) { - len = digest_type/8 + 2; - mask = 1 << (digest_type%8); + len = digest_type / 8 + 2; + mask = 1 << (digest_type % 8); digests = data; - if (len <= *digests && (digests[len-1] & mask) != 0) + if (len <= *digests && (digests[len - 1] & mask) != 0) found = true; } - unlock: +unlock: #if USE_ALGLOCK RWUNLOCK(&resolver->alglock, isc_rwlocktype_read); #endif @@ -11139,8 +11010,8 @@ dns_resolver_ds_digest_supported(dns_resolver_t *resolver, } void -dns_resolver_resetmustbesecure(dns_resolver_t *resolver) { - +dns_resolver_resetmustbesecure(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); #if USE_MBSLOCK @@ -11174,7 +11045,7 @@ dns_resolver_setmustbesecure(dns_resolver_t *resolver, const dns_name_t *name, } result = dns_rbt_addname(resolver->mustbesecure, name, value ? &yes : &no); - cleanup: +cleanup: #if USE_MBSLOCK RWUNLOCK(&resolver->mbslock, isc_rwlocktype_write); #endif @@ -11182,9 +11053,10 @@ dns_resolver_setmustbesecure(dns_resolver_t *resolver, const dns_name_t *name, } bool -dns_resolver_getmustbesecure(dns_resolver_t *resolver, const dns_name_t *name) { - void *data = NULL; - bool value = false; +dns_resolver_getmustbesecure(dns_resolver_t *resolver, const dns_name_t *name) +{ + void * data = NULL; + bool value = false; isc_result_t result; REQUIRE(VALID_RESOLVER(resolver)); @@ -11196,8 +11068,8 @@ dns_resolver_getmustbesecure(dns_resolver_t *resolver, const dns_name_t *name) { goto unlock; result = dns_rbt_findname(resolver->mustbesecure, name, 0, NULL, &data); if (result == ISC_R_SUCCESS || result == DNS_R_PARTIALMATCH) - value = *(bool*)data; - unlock: + value = *(bool *)data; +unlock: #if USE_MBSLOCK RWUNLOCK(&resolver->mbslock, isc_rwlocktype_read); #endif @@ -11240,37 +11112,41 @@ dns_resolver_setfetchesperzone(dns_resolver_t *resolver, uint32_t clients) atomic_store_release(&resolver->zspill, clients); } - bool -dns_resolver_getzeronosoattl(dns_resolver_t *resolver) { +dns_resolver_getzeronosoattl(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); return (resolver->zero_no_soa_ttl); } void -dns_resolver_setzeronosoattl(dns_resolver_t *resolver, bool state) { +dns_resolver_setzeronosoattl(dns_resolver_t *resolver, bool state) +{ REQUIRE(VALID_RESOLVER(resolver)); resolver->zero_no_soa_ttl = state; } unsigned int -dns_resolver_getoptions(dns_resolver_t *resolver) { +dns_resolver_getoptions(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); return (resolver->options); } unsigned int -dns_resolver_gettimeout(dns_resolver_t *resolver) { +dns_resolver_gettimeout(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); return (resolver->query_timeout); } void -dns_resolver_settimeout(dns_resolver_t *resolver, unsigned int timeout) { +dns_resolver_settimeout(dns_resolver_t *resolver, unsigned int timeout) +{ REQUIRE(VALID_RESOLVER(resolver)); if (timeout <= 300) @@ -11281,64 +11157,72 @@ dns_resolver_settimeout(dns_resolver_t *resolver, unsigned int timeout) { if (timeout > MAXIMUM_QUERY_TIMEOUT) timeout = MAXIMUM_QUERY_TIMEOUT; if (timeout < MINIMUM_QUERY_TIMEOUT) - timeout = MINIMUM_QUERY_TIMEOUT; + timeout = MINIMUM_QUERY_TIMEOUT; resolver->query_timeout = timeout; } void -dns_resolver_setquerydscp4(dns_resolver_t *resolver, isc_dscp_t dscp) { +dns_resolver_setquerydscp4(dns_resolver_t *resolver, isc_dscp_t dscp) +{ REQUIRE(VALID_RESOLVER(resolver)); resolver->querydscp4 = dscp; } isc_dscp_t -dns_resolver_getquerydscp4(dns_resolver_t *resolver) { +dns_resolver_getquerydscp4(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); return (resolver->querydscp4); } void -dns_resolver_setquerydscp6(dns_resolver_t *resolver, isc_dscp_t dscp) { +dns_resolver_setquerydscp6(dns_resolver_t *resolver, isc_dscp_t dscp) +{ REQUIRE(VALID_RESOLVER(resolver)); resolver->querydscp6 = dscp; } isc_dscp_t -dns_resolver_getquerydscp6(dns_resolver_t *resolver) { +dns_resolver_getquerydscp6(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); return (resolver->querydscp6); } void -dns_resolver_setmaxdepth(dns_resolver_t *resolver, unsigned int maxdepth) { +dns_resolver_setmaxdepth(dns_resolver_t *resolver, unsigned int maxdepth) +{ REQUIRE(VALID_RESOLVER(resolver)); resolver->maxdepth = maxdepth; } unsigned int -dns_resolver_getmaxdepth(dns_resolver_t *resolver) { +dns_resolver_getmaxdepth(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); return (resolver->maxdepth); } void -dns_resolver_setmaxqueries(dns_resolver_t *resolver, unsigned int queries) { +dns_resolver_setmaxqueries(dns_resolver_t *resolver, unsigned int queries) +{ REQUIRE(VALID_RESOLVER(resolver)); resolver->maxqueries = queries; } unsigned int -dns_resolver_getmaxqueries(dns_resolver_t *resolver) { +dns_resolver_getmaxqueries(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); return (resolver->maxqueries); } void -dns_resolver_dumpfetches(dns_resolver_t *resolver, - isc_statsformat_t format, FILE *fp) +dns_resolver_dumpfetches(dns_resolver_t *resolver, isc_statsformat_t format, + FILE *fp) { int i; @@ -11349,10 +11233,8 @@ dns_resolver_dumpfetches(dns_resolver_t *resolver, for (i = 0; i < RES_DOMAIN_BUCKETS; i++) { fctxcount_t *fc; LOCK(&resolver->dbuckets[i].lock); - for (fc = ISC_LIST_HEAD(resolver->dbuckets[i].list); - fc != NULL; - fc = ISC_LIST_NEXT(fc, link)) - { + for (fc = ISC_LIST_HEAD(resolver->dbuckets[i].list); fc != NULL; + fc = ISC_LIST_NEXT(fc, link)) { dns_name_print(fc->domain, fp); fprintf(fp, ": %u active (%u spilled, %u allowed)\n", fc->count, fc->dropped, fc->allowed); @@ -11362,8 +11244,8 @@ dns_resolver_dumpfetches(dns_resolver_t *resolver, } void -dns_resolver_setquotaresponse(dns_resolver_t *resolver, - dns_quotatype_t which, isc_result_t resp) +dns_resolver_setquotaresponse(dns_resolver_t *resolver, dns_quotatype_t which, + isc_result_t resp) { REQUIRE(VALID_RESOLVER(resolver)); REQUIRE(which == dns_quotatype_zone || which == dns_quotatype_server); @@ -11382,7 +11264,8 @@ dns_resolver_getquotaresponse(dns_resolver_t *resolver, dns_quotatype_t which) } unsigned int -dns_resolver_getretryinterval(dns_resolver_t *resolver) { +dns_resolver_getretryinterval(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); return (resolver->retryinterval); @@ -11398,14 +11281,16 @@ dns_resolver_setretryinterval(dns_resolver_t *resolver, unsigned int interval) } unsigned int -dns_resolver_getnonbackofftries(dns_resolver_t *resolver) { +dns_resolver_getnonbackofftries(dns_resolver_t *resolver) +{ REQUIRE(VALID_RESOLVER(resolver)); return (resolver->nonbackofftries); } void -dns_resolver_setnonbackofftries(dns_resolver_t *resolver, unsigned int tries) { +dns_resolver_setnonbackofftries(dns_resolver_t *resolver, unsigned int tries) +{ REQUIRE(VALID_RESOLVER(resolver)); REQUIRE(tries > 0); diff --git a/lib/dns/result.c b/lib/dns/result.c index 95faed1f04..a6dd12686a 100644 --- a/lib/dns/result.c +++ b/lib/dns/result.c @@ -14,61 +14,61 @@ #include #include -#include #include +#include static const char *text[DNS_R_NRESULTS] = { - "label too long", /*%< 0 DNS_R_LABELTOOLONG */ - "bad escape", /*%< 1 DNS_R_BADESCAPE */ + "label too long", /*%< 0 DNS_R_LABELTOOLONG */ + "bad escape", /*%< 1 DNS_R_BADESCAPE */ /*! * Note that DNS_R_BADBITSTRING and DNS_R_BITSTRINGTOOLONG are * deprecated. */ - "bad bitstring", /*%< 2 DNS_R_BADBITSTRING */ - "bitstring too long", /*%< 3 DNS_R_BITSTRINGTOOLONG */ - "empty label", /*%< 4 DNS_R_EMPTYLABEL */ + "bad bitstring", /*%< 2 DNS_R_BADBITSTRING */ + "bitstring too long", /*%< 3 DNS_R_BITSTRINGTOOLONG */ + "empty label", /*%< 4 DNS_R_EMPTYLABEL */ - "bad dotted quad", /*%< 5 DNS_R_BADDOTTEDQUAD */ - "invalid NS owner name (wildcard)", /*%< 6 DNS_R_INVALIDNS */ - "unknown class/type", /*%< 7 DNS_R_UNKNOWN */ - "bad label type", /*%< 8 DNS_R_BADLABELTYPE */ - "bad compression pointer", /*%< 9 DNS_R_BADPOINTER */ + "bad dotted quad", /*%< 5 DNS_R_BADDOTTEDQUAD */ + "invalid NS owner name (wildcard)", /*%< 6 DNS_R_INVALIDNS */ + "unknown class/type", /*%< 7 DNS_R_UNKNOWN */ + "bad label type", /*%< 8 DNS_R_BADLABELTYPE */ + "bad compression pointer", /*%< 9 DNS_R_BADPOINTER */ - "too many hops", /*%< 10 DNS_R_TOOMANYHOPS */ - "disallowed (by application policy)", /*%< 11 DNS_R_DISALLOWED */ - "extra input text", /*%< 12 DNS_R_EXTRATOKEN */ - "extra input data", /*%< 13 DNS_R_EXTRADATA */ - "text too long", /*%< 14 DNS_R_TEXTTOOLONG */ + "too many hops", /*%< 10 DNS_R_TOOMANYHOPS */ + "disallowed (by application policy)", /*%< 11 DNS_R_DISALLOWED */ + "extra input text", /*%< 12 DNS_R_EXTRATOKEN */ + "extra input data", /*%< 13 DNS_R_EXTRADATA */ + "text too long", /*%< 14 DNS_R_TEXTTOOLONG */ - "not at top of zone", /*%< 15 DNS_R_NOTZONETOP */ - "syntax error", /*%< 16 DNS_R_SYNTAX */ - "bad checksum", /*%< 17 DNS_R_BADCKSUM */ - "bad IPv6 address", /*%< 18 DNS_R_BADAAAA */ - "no owner", /*%< 19 DNS_R_NOOWNER */ + "not at top of zone", /*%< 15 DNS_R_NOTZONETOP */ + "syntax error", /*%< 16 DNS_R_SYNTAX */ + "bad checksum", /*%< 17 DNS_R_BADCKSUM */ + "bad IPv6 address", /*%< 18 DNS_R_BADAAAA */ + "no owner", /*%< 19 DNS_R_NOOWNER */ - "no ttl", /*%< 20 DNS_R_NOTTL */ - "bad class", /*%< 21 DNS_R_BADCLASS */ - "name too long", /*%< 22 DNS_R_NAMETOOLONG */ - "partial match", /*%< 23 DNS_R_PARTIALMATCH */ - "new origin", /*%< 24 DNS_R_NEWORIGIN */ + "no ttl", /*%< 20 DNS_R_NOTTL */ + "bad class", /*%< 21 DNS_R_BADCLASS */ + "name too long", /*%< 22 DNS_R_NAMETOOLONG */ + "partial match", /*%< 23 DNS_R_PARTIALMATCH */ + "new origin", /*%< 24 DNS_R_NEWORIGIN */ - "unchanged", /*%< 25 DNS_R_UNCHANGED */ - "bad ttl", /*%< 26 DNS_R_BADTTL */ - "more data needed/to be rendered", /*%< 27 DNS_R_NOREDATA */ - "continue", /*%< 28 DNS_R_CONTINUE */ - "delegation", /*%< 29 DNS_R_DELEGATION */ + "unchanged", /*%< 25 DNS_R_UNCHANGED */ + "bad ttl", /*%< 26 DNS_R_BADTTL */ + "more data needed/to be rendered", /*%< 27 DNS_R_NOREDATA */ + "continue", /*%< 28 DNS_R_CONTINUE */ + "delegation", /*%< 29 DNS_R_DELEGATION */ - "glue", /*%< 30 DNS_R_GLUE */ - "dname", /*%< 31 DNS_R_DNAME */ - "cname", /*%< 32 DNS_R_CNAME */ - "bad database", /*%< 33 DNS_R_BADDB */ - "zonecut", /*%< 34 DNS_R_ZONECUT */ + "glue", /*%< 30 DNS_R_GLUE */ + "dname", /*%< 31 DNS_R_DNAME */ + "cname", /*%< 32 DNS_R_CNAME */ + "bad database", /*%< 33 DNS_R_BADDB */ + "zonecut", /*%< 34 DNS_R_ZONECUT */ - "bad zone", /*%< 35 DNS_R_BADZONE */ - "more data", /*%< 36 DNS_R_MOREDATA */ - "up to date", /*%< 37 DNS_R_UPTODATE */ - "tsig verify failure", /*%< 38 DNS_R_TSIGVERIFYFAILURE */ - "tsig indicates error", /*%< 39 DNS_R_TSIGERRORSET */ + "bad zone", /*%< 35 DNS_R_BADZONE */ + "more data", /*%< 36 DNS_R_MOREDATA */ + "up to date", /*%< 37 DNS_R_UPTODATE */ + "tsig verify failure", /*%< 38 DNS_R_TSIGVERIFYFAILURE */ + "tsig indicates error", /*%< 39 DNS_R_TSIGERRORSET */ "RRSIG failed to verify", /*%< 40 DNS_R_SIGINVALID */ "RRSIG has expired", /*%< 41 DNS_R_SIGEXPIRED */ @@ -76,71 +76,71 @@ static const char *text[DNS_R_NRESULTS] = { "key is unauthorized to sign data", /*%< 43 DNS_R_KEYUNAUTHORIZED */ "invalid time", /*%< 44 DNS_R_INVALIDTIME */ - "expected a TSIG or SIG(0)", /*%< 45 DNS_R_EXPECTEDTSIG */ - "did not expect a TSIG or SIG(0)", /*%< 46 DNS_R_UNEXPECTEDTSIG */ - "TKEY is unacceptable", /*%< 47 DNS_R_INVALIDTKEY */ - "hint", /*%< 48 DNS_R_HINT */ - "drop", /*%< 49 DNS_R_DROP */ + "expected a TSIG or SIG(0)", /*%< 45 DNS_R_EXPECTEDTSIG */ + "did not expect a TSIG or SIG(0)", /*%< 46 DNS_R_UNEXPECTEDTSIG */ + "TKEY is unacceptable", /*%< 47 DNS_R_INVALIDTKEY */ + "hint", /*%< 48 DNS_R_HINT */ + "drop", /*%< 49 DNS_R_DROP */ - "zone not loaded", /*%< 50 DNS_R_NOTLOADED */ - "ncache nxdomain", /*%< 51 DNS_R_NCACHENXDOMAIN */ - "ncache nxrrset", /*%< 52 DNS_R_NCACHENXRRSET */ - "wait", /*%< 53 DNS_R_WAIT */ - "not verified yet", /*%< 54 DNS_R_NOTVERIFIEDYET */ + "zone not loaded", /*%< 50 DNS_R_NOTLOADED */ + "ncache nxdomain", /*%< 51 DNS_R_NCACHENXDOMAIN */ + "ncache nxrrset", /*%< 52 DNS_R_NCACHENXRRSET */ + "wait", /*%< 53 DNS_R_WAIT */ + "not verified yet", /*%< 54 DNS_R_NOTVERIFIEDYET */ - "no identity", /*%< 55 DNS_R_NOIDENTITY */ - "no journal", /*%< 56 DNS_R_NOJOURNAL */ - "alias", /*%< 57 DNS_R_ALIAS */ - "use TCP", /*%< 58 DNS_R_USETCP */ - "no valid RRSIG", /*%< 59 DNS_R_NOVALIDSIG */ + "no identity", /*%< 55 DNS_R_NOIDENTITY */ + "no journal", /*%< 56 DNS_R_NOJOURNAL */ + "alias", /*%< 57 DNS_R_ALIAS */ + "use TCP", /*%< 58 DNS_R_USETCP */ + "no valid RRSIG", /*%< 59 DNS_R_NOVALIDSIG */ - "no valid NSEC", /*%< 60 DNS_R_NOVALIDNSEC */ - "insecurity proof failed", /*%< 61 DNS_R_NOTINSECURE */ - "unknown service", /*%< 62 DNS_R_UNKNOWNSERVICE */ - "recoverable error occurred", /*%< 63 DNS_R_RECOVERABLE */ - "unknown opt attribute record", /*%< 64 DNS_R_UNKNOWNOPT */ + "no valid NSEC", /*%< 60 DNS_R_NOVALIDNSEC */ + "insecurity proof failed", /*%< 61 DNS_R_NOTINSECURE */ + "unknown service", /*%< 62 DNS_R_UNKNOWNSERVICE */ + "recoverable error occurred", /*%< 63 DNS_R_RECOVERABLE */ + "unknown opt attribute record", /*%< 64 DNS_R_UNKNOWNOPT */ - "unexpected message id", /*%< 65 DNS_R_UNEXPECTEDID */ - "seen include file", /*%< 66 DNS_R_SEENINCLUDE */ - "not exact", /*%< 67 DNS_R_NOTEXACT */ - "address blackholed", /*%< 68 DNS_R_BLACKHOLED */ - "bad algorithm", /*%< 69 DNS_R_BADALG */ + "unexpected message id", /*%< 65 DNS_R_UNEXPECTEDID */ + "seen include file", /*%< 66 DNS_R_SEENINCLUDE */ + "not exact", /*%< 67 DNS_R_NOTEXACT */ + "address blackholed", /*%< 68 DNS_R_BLACKHOLED */ + "bad algorithm", /*%< 69 DNS_R_BADALG */ - "invalid use of a meta type", /*%< 70 DNS_R_METATYPE */ - "CNAME and other data", /*%< 71 DNS_R_CNAMEANDOTHER */ - "multiple RRs of singleton type", /*%< 72 DNS_R_SINGLETON */ - "hint nxrrset", /*%< 73 DNS_R_HINTNXRRSET */ - "no master file configured", /*%< 74 DNS_R_NOMASTERFILE */ + "invalid use of a meta type", /*%< 70 DNS_R_METATYPE */ + "CNAME and other data", /*%< 71 DNS_R_CNAMEANDOTHER */ + "multiple RRs of singleton type", /*%< 72 DNS_R_SINGLETON */ + "hint nxrrset", /*%< 73 DNS_R_HINTNXRRSET */ + "no master file configured", /*%< 74 DNS_R_NOMASTERFILE */ - "unknown protocol", /*%< 75 DNS_R_UNKNOWNPROTO */ - "clocks are unsynchronized", /*%< 76 DNS_R_CLOCKSKEW */ - "IXFR failed", /*%< 77 DNS_R_BADIXFR */ - "not authoritative", /*%< 78 DNS_R_NOTAUTHORITATIVE */ - "no valid KEY", /*%< 79 DNS_R_NOVALIDKEY */ + "unknown protocol", /*%< 75 DNS_R_UNKNOWNPROTO */ + "clocks are unsynchronized", /*%< 76 DNS_R_CLOCKSKEW */ + "IXFR failed", /*%< 77 DNS_R_BADIXFR */ + "not authoritative", /*%< 78 DNS_R_NOTAUTHORITATIVE */ + "no valid KEY", /*%< 79 DNS_R_NOVALIDKEY */ - "obsolete", /*%< 80 DNS_R_OBSOLETE */ - "already frozen", /*%< 81 DNS_R_FROZEN */ - "unknown flag", /*%< 82 DNS_R_UNKNOWNFLAG */ - "expected a response", /*%< 83 DNS_R_EXPECTEDRESPONSE */ - "no valid DS", /*%< 84 DNS_R_NOVALIDDS */ + "obsolete", /*%< 80 DNS_R_OBSOLETE */ + "already frozen", /*%< 81 DNS_R_FROZEN */ + "unknown flag", /*%< 82 DNS_R_UNKNOWNFLAG */ + "expected a response", /*%< 83 DNS_R_EXPECTEDRESPONSE */ + "no valid DS", /*%< 84 DNS_R_NOVALIDDS */ - "NS is an address", /*%< 85 DNS_R_NSISADDRESS */ - "received FORMERR", /*%< 86 DNS_R_REMOTEFORMERR */ - "truncated TCP response", /*%< 87 DNS_R_TRUNCATEDTCP */ - "lame server detected", /*%< 88 DNS_R_LAME */ - "unexpected RCODE", /*%< 89 DNS_R_UNEXPECTEDRCODE */ + "NS is an address", /*%< 85 DNS_R_NSISADDRESS */ + "received FORMERR", /*%< 86 DNS_R_REMOTEFORMERR */ + "truncated TCP response", /*%< 87 DNS_R_TRUNCATEDTCP */ + "lame server detected", /*%< 88 DNS_R_LAME */ + "unexpected RCODE", /*%< 89 DNS_R_UNEXPECTEDRCODE */ - "unexpected OPCODE", /*%< 90 DNS_R_UNEXPECTEDOPCODE */ - "chase DS servers", /*%< 91 DNS_R_CHASEDSSERVERS */ - "empty name", /*%< 92 DNS_R_EMPTYNAME */ - "empty wild", /*%< 93 DNS_R_EMPTYWILD */ - "bad bitmap", /*%< 94 DNS_R_BADBITMAP */ + "unexpected OPCODE", /*%< 90 DNS_R_UNEXPECTEDOPCODE */ + "chase DS servers", /*%< 91 DNS_R_CHASEDSSERVERS */ + "empty name", /*%< 92 DNS_R_EMPTYNAME */ + "empty wild", /*%< 93 DNS_R_EMPTYWILD */ + "bad bitmap", /*%< 94 DNS_R_BADBITMAP */ - "from wildcard", /*%< 95 DNS_R_FROMWILDCARD */ - "bad owner name (check-names)", /*%< 96 DNS_R_BADOWNERNAME */ - "bad name (check-names)", /*%< 97 DNS_R_BADNAME */ - "dynamic zone", /*%< 98 DNS_R_DYNAMIC */ - "unknown command", /*%< 99 DNS_R_UNKNOWNCOMMAND */ + "from wildcard", /*%< 95 DNS_R_FROMWILDCARD */ + "bad owner name (check-names)", /*%< 96 DNS_R_BADOWNERNAME */ + "bad name (check-names)", /*%< 97 DNS_R_BADNAME */ + "dynamic zone", /*%< 98 DNS_R_DYNAMIC */ + "unknown command", /*%< 99 DNS_R_UNKNOWNCOMMAND */ "must-be-secure", /*%< 100 DNS_R_MUSTBESECURE */ "covering NSEC record returned", /*%< 101 DNS_R_COVERINGNSEC */ @@ -148,22 +148,22 @@ static const char *text[DNS_R_NRESULTS] = { "duplicate query", /*%< 103 DNS_R_DUPLICATE */ "invalid NSEC3 owner name (wildcard)", /*%< 104 DNS_R_INVALIDNSEC3 */ - "not master", /*%< 105 DNS_R_NOTMASTER */ - "broken trust chain", /*%< 106 DNS_R_BROKENCHAIN */ - "expired", /*%< 107 DNS_R_EXPIRED */ - "not dynamic", /*%< 108 DNS_R_NOTDYNAMIC */ - "bad EUI", /*%< 109 DNS_R_BADEUI */ + "not master", /*%< 105 DNS_R_NOTMASTER */ + "broken trust chain", /*%< 106 DNS_R_BROKENCHAIN */ + "expired", /*%< 107 DNS_R_EXPIRED */ + "not dynamic", /*%< 108 DNS_R_NOTDYNAMIC */ + "bad EUI", /*%< 109 DNS_R_BADEUI */ - "covered by negative trust anchor", /*%< 110 DNS_R_NTACOVERED */ - "bad CDS", /*%< 111 DNS_R_BADCDS */ - "bad CDNSKEY", /*%< 112 DNS_R_BADCDNSKEY */ - "malformed OPT option", /*%< 113 DNS_R_OPTERR */ - "malformed DNSTAP data", /*%< 114 DNS_R_BADDNSTAP */ + "covered by negative trust anchor", /*%< 110 DNS_R_NTACOVERED */ + "bad CDS", /*%< 111 DNS_R_BADCDS */ + "bad CDNSKEY", /*%< 112 DNS_R_BADCDNSKEY */ + "malformed OPT option", /*%< 113 DNS_R_OPTERR */ + "malformed DNSTAP data", /*%< 114 DNS_R_BADDNSTAP */ - "TSIG in wrong location", /*%< 115 DNS_R_BADTSIG */ - "SIG(0) in wrong location", /*%< 116 DNS_R_BADSIG0 */ - "too many records", /*%< 117 DNS_R_TOOMANYRECORDS */ - "verify failure", /*%< 118 DNS_R_VERIFYFAILURE */ + "TSIG in wrong location", /*%< 115 DNS_R_BADTSIG */ + "SIG(0) in wrong location", /*%< 116 DNS_R_BADSIG0 */ + "too many records", /*%< 117 DNS_R_TOOMANYRECORDS */ + "verify failure", /*%< 118 DNS_R_VERIFYFAILURE */ }; static const char *ids[DNS_R_NRESULTS] = { @@ -293,63 +293,51 @@ static const char *ids[DNS_R_NRESULTS] = { }; static const char *rcode_text[DNS_R_NRCODERESULTS] = { - "NOERROR", /*%< 0 DNS_R_NOERROR */ - "FORMERR", /*%< 1 DNS_R_FORMERR */ - "SERVFAIL", /*%< 2 DNS_R_SERVFAIL */ - "NXDOMAIN", /*%< 3 DNS_R_NXDOMAIN */ - "NOTIMP", /*%< 4 DNS_R_NOTIMP */ + "NOERROR", /*%< 0 DNS_R_NOERROR */ + "FORMERR", /*%< 1 DNS_R_FORMERR */ + "SERVFAIL", /*%< 2 DNS_R_SERVFAIL */ + "NXDOMAIN", /*%< 3 DNS_R_NXDOMAIN */ + "NOTIMP", /*%< 4 DNS_R_NOTIMP */ - "REFUSED", /*%< 5 DNS_R_REFUSED */ - "YXDOMAIN", /*%< 6 DNS_R_YXDOMAIN */ - "YXRRSET", /*%< 7 DNS_R_YXRRSET */ - "NXRRSET", /*%< 8 DNS_R_NXRRSET */ - "NOTAUTH", /*%< 9 DNS_R_NOTAUTH */ + "REFUSED", /*%< 5 DNS_R_REFUSED */ + "YXDOMAIN", /*%< 6 DNS_R_YXDOMAIN */ + "YXRRSET", /*%< 7 DNS_R_YXRRSET */ + "NXRRSET", /*%< 8 DNS_R_NXRRSET */ + "NOTAUTH", /*%< 9 DNS_R_NOTAUTH */ - "NOTZONE", /*%< 10 DNS_R_NOTZONE */ - "", /*%< 11 DNS_R_RCODE11 */ - "", /*%< 12 DNS_R_RCODE12 */ - "", /*%< 13 DNS_R_RCODE13 */ - "", /*%< 14 DNS_R_RCODE14 */ + "NOTZONE", /*%< 10 DNS_R_NOTZONE */ + "", /*%< 11 DNS_R_RCODE11 */ + "", /*%< 12 DNS_R_RCODE12 */ + "", /*%< 13 DNS_R_RCODE13 */ + "", /*%< 14 DNS_R_RCODE14 */ - "", /*%< 15 DNS_R_RCODE15 */ - "BADVERS", /*%< 16 DNS_R_BADVERS */ + "", /*%< 15 DNS_R_RCODE15 */ + "BADVERS", /*%< 16 DNS_R_BADVERS */ }; static const char *rcode_ids[DNS_R_NRCODERESULTS] = { - "DNS_R_NOERROR", - "DNS_R_FORMERR", - "DNS_R_SERVFAIL", - "DNS_R_NXDOMAIN", - "DNS_R_NOTIMP", - "DNS_R_REFUSED", - "DNS_R_YXDOMAIN", - "DNS_R_YXRRSET", - "DNS_R_NXRRSET", - "DNS_R_NOTAUTH", - "DNS_R_NOTZONE", - "DNS_R_RCODE11", - "RNS_R_RCODE12", - "DNS_R_RCODE13", - "DNS_R_RCODE14", - "DNS_R_RCODE15", + "DNS_R_NOERROR", "DNS_R_FORMERR", "DNS_R_SERVFAIL", "DNS_R_NXDOMAIN", + "DNS_R_NOTIMP", "DNS_R_REFUSED", "DNS_R_YXDOMAIN", "DNS_R_YXRRSET", + "DNS_R_NXRRSET", "DNS_R_NOTAUTH", "DNS_R_NOTZONE", "DNS_R_RCODE11", + "RNS_R_RCODE12", "DNS_R_RCODE13", "DNS_R_RCODE14", "DNS_R_RCODE15", "DNS_R_BADVERS", }; -#define DNS_RESULT_RESULTSET 2 -#define DNS_RESULT_RCODERESULTSET 3 +#define DNS_RESULT_RESULTSET 2 +#define DNS_RESULT_RCODERESULTSET 3 -static isc_once_t once = ISC_ONCE_INIT; +static isc_once_t once = ISC_ONCE_INIT; static void -initialize_action(void) { +initialize_action(void) +{ isc_result_t result; - result = isc_result_register(ISC_RESULTCLASS_DNS, DNS_R_NRESULTS, - text, DNS_RESULT_RESULTSET); + result = isc_result_register(ISC_RESULTCLASS_DNS, DNS_R_NRESULTS, text, + DNS_RESULT_RESULTSET); if (result == ISC_R_SUCCESS) result = isc_result_register(ISC_RESULTCLASS_DNSRCODE, - DNS_R_NRCODERESULTS, - rcode_text, + DNS_R_NRCODERESULTS, rcode_text, DNS_RESULT_RCODERESULTSET); if (result != ISC_R_SUCCESS) UNEXPECTED_ERROR(__FILE__, __LINE__, @@ -359,8 +347,7 @@ initialize_action(void) { ids, DNS_RESULT_RESULTSET); if (result == ISC_R_SUCCESS) result = isc_result_registerids(ISC_RESULTCLASS_DNSRCODE, - DNS_R_NRCODERESULTS, - rcode_ids, + DNS_R_NRCODERESULTS, rcode_ids, DNS_RESULT_RCODERESULTSET); if (result != ISC_R_SUCCESS) UNEXPECTED_ERROR(__FILE__, __LINE__, @@ -368,24 +355,28 @@ initialize_action(void) { } static void -initialize(void) { +initialize(void) +{ RUNTIME_CHECK(isc_once_do(&once, initialize_action) == ISC_R_SUCCESS); } const char * -dns_result_totext(isc_result_t result) { +dns_result_totext(isc_result_t result) +{ initialize(); return (isc_result_totext(result)); } void -dns_result_register(void) { +dns_result_register(void) +{ initialize(); } dns_rcode_t -dns_result_torcode(isc_result_t result) { +dns_result_torcode(isc_result_t result) +{ dns_rcode_t rcode = dns_rcode_servfail; if (DNS_RESULT_ISRCODE(result)) { @@ -393,7 +384,7 @@ dns_result_torcode(isc_result_t result) { * Rcodes can't be bigger than 12 bits, which is why we * AND with 0xFFF instead of 0xFFFF. */ - return ((dns_rcode_t)((result) & 0xFFF)); + return ((dns_rcode_t)((result)&0xFFF)); } /* diff --git a/lib/dns/rootns.c b/lib/dns/rootns.c index ab24f6ba84..a3839e28b7 100644 --- a/lib/dns/rootns.c +++ b/lib/dns/rootns.c @@ -9,13 +9,12 @@ * information regarding copyright ownership. */ - /*! \file */ #include #include -#include /* Required for HP/UX (and others?) */ +#include /* Required for HP/UX (and others?) */ #include #include @@ -25,7 +24,6 @@ #include #include #include -#include #include #include #include @@ -35,54 +33,55 @@ #include static char root_ns[] = -";\n" -"; Internet Root Nameservers\n" -";\n" -"$TTL 518400\n" -". 518400 IN NS A.ROOT-SERVERS.NET.\n" -". 518400 IN NS B.ROOT-SERVERS.NET.\n" -". 518400 IN NS C.ROOT-SERVERS.NET.\n" -". 518400 IN NS D.ROOT-SERVERS.NET.\n" -". 518400 IN NS E.ROOT-SERVERS.NET.\n" -". 518400 IN NS F.ROOT-SERVERS.NET.\n" -". 518400 IN NS G.ROOT-SERVERS.NET.\n" -". 518400 IN NS H.ROOT-SERVERS.NET.\n" -". 518400 IN NS I.ROOT-SERVERS.NET.\n" -". 518400 IN NS J.ROOT-SERVERS.NET.\n" -". 518400 IN NS K.ROOT-SERVERS.NET.\n" -". 518400 IN NS L.ROOT-SERVERS.NET.\n" -". 518400 IN NS M.ROOT-SERVERS.NET.\n" -"A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4\n" -"A.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:503:BA3E::2:30\n" -"B.ROOT-SERVERS.NET. 3600000 IN A 199.9.14.201\n" -"B.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:200::b\n" -"C.ROOT-SERVERS.NET. 3600000 IN A 192.33.4.12\n" -"C.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:2::c\n" -"D.ROOT-SERVERS.NET. 3600000 IN A 199.7.91.13\n" -"D.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:2d::d\n" -"E.ROOT-SERVERS.NET. 3600000 IN A 192.203.230.10\n" -"E.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:a8::e\n" -"F.ROOT-SERVERS.NET. 3600000 IN A 192.5.5.241\n" -"F.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:2F::F\n" -"G.ROOT-SERVERS.NET. 3600000 IN A 192.112.36.4\n" -"G.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:12::d0d\n" -"H.ROOT-SERVERS.NET. 3600000 IN A 198.97.190.53\n" -"H.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:1::53\n" -"I.ROOT-SERVERS.NET. 3600000 IN A 192.36.148.17\n" -"I.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:7fe::53\n" -"J.ROOT-SERVERS.NET. 3600000 IN A 192.58.128.30\n" -"J.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:503:C27::2:30\n" -"K.ROOT-SERVERS.NET. 3600000 IN A 193.0.14.129\n" -"K.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:7FD::1\n" -"L.ROOT-SERVERS.NET. 3600000 IN A 199.7.83.42\n" -"L.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:9f::42\n" -"M.ROOT-SERVERS.NET. 3600000 IN A 202.12.27.33\n" -"M.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:DC3::35\n"; + ";\n" + "; Internet Root Nameservers\n" + ";\n" + "$TTL 518400\n" + ". 518400 IN NS A.ROOT-SERVERS.NET.\n" + ". 518400 IN NS B.ROOT-SERVERS.NET.\n" + ". 518400 IN NS C.ROOT-SERVERS.NET.\n" + ". 518400 IN NS D.ROOT-SERVERS.NET.\n" + ". 518400 IN NS E.ROOT-SERVERS.NET.\n" + ". 518400 IN NS F.ROOT-SERVERS.NET.\n" + ". 518400 IN NS G.ROOT-SERVERS.NET.\n" + ". 518400 IN NS H.ROOT-SERVERS.NET.\n" + ". 518400 IN NS I.ROOT-SERVERS.NET.\n" + ". 518400 IN NS J.ROOT-SERVERS.NET.\n" + ". 518400 IN NS K.ROOT-SERVERS.NET.\n" + ". 518400 IN NS L.ROOT-SERVERS.NET.\n" + ". 518400 IN NS M.ROOT-SERVERS.NET.\n" + "A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4\n" + "A.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:503:BA3E::2:30\n" + "B.ROOT-SERVERS.NET. 3600000 IN A 199.9.14.201\n" + "B.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:200::b\n" + "C.ROOT-SERVERS.NET. 3600000 IN A 192.33.4.12\n" + "C.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:2::c\n" + "D.ROOT-SERVERS.NET. 3600000 IN A 199.7.91.13\n" + "D.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:2d::d\n" + "E.ROOT-SERVERS.NET. 3600000 IN A 192.203.230.10\n" + "E.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:a8::e\n" + "F.ROOT-SERVERS.NET. 3600000 IN A 192.5.5.241\n" + "F.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:2F::F\n" + "G.ROOT-SERVERS.NET. 3600000 IN A 192.112.36.4\n" + "G.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:12::d0d\n" + "H.ROOT-SERVERS.NET. 3600000 IN A 198.97.190.53\n" + "H.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:1::53\n" + "I.ROOT-SERVERS.NET. 3600000 IN A 192.36.148.17\n" + "I.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:7fe::53\n" + "J.ROOT-SERVERS.NET. 3600000 IN A 192.58.128.30\n" + "J.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:503:C27::2:30\n" + "K.ROOT-SERVERS.NET. 3600000 IN A 193.0.14.129\n" + "K.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:7FD::1\n" + "L.ROOT-SERVERS.NET. 3600000 IN A 199.7.83.42\n" + "L.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:9f::42\n" + "M.ROOT-SERVERS.NET. 3600000 IN A 202.12.27.33\n" + "M.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:DC3::35\n"; static isc_result_t -in_rootns(dns_rdataset_t *rootns, dns_name_t *name) { - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; +in_rootns(dns_rdataset_t *rootns, dns_name_t *name) +{ + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_ns_t ns; if (!dns_rdataset_isassociated(rootns)) @@ -106,8 +105,9 @@ in_rootns(dns_rdataset_t *rootns, dns_name_t *name) { static isc_result_t check_node(dns_rdataset_t *rootns, dns_name_t *name, - dns_rdatasetiter_t *rdsiter) { - isc_result_t result; + dns_rdatasetiter_t *rdsiter) +{ + isc_result_t result; dns_rdataset_t rdataset; dns_rdataset_init(&rdataset); @@ -134,21 +134,22 @@ check_node(dns_rdataset_t *rootns, dns_name_t *name, } if (result == ISC_R_NOMORE) result = ISC_R_SUCCESS; - cleanup: +cleanup: if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); return (result); } static isc_result_t -check_hints(dns_db_t *db) { - isc_result_t result; - dns_rdataset_t rootns; - dns_dbiterator_t *dbiter = NULL; - dns_dbnode_t *node = NULL; - isc_stdtime_t now; - dns_fixedname_t fixname; - dns_name_t *name; +check_hints(dns_db_t *db) +{ + isc_result_t result; + dns_rdataset_t rootns; + dns_dbiterator_t * dbiter = NULL; + dns_dbnode_t * node = NULL; + isc_stdtime_t now; + dns_fixedname_t fixname; + dns_name_t * name; dns_rdatasetiter_t *rdsiter = NULL; isc_stdtime_get(&now); @@ -156,8 +157,8 @@ check_hints(dns_db_t *db) { name = dns_fixedname_initname(&fixname); dns_rdataset_init(&rootns); - (void)dns_db_find(db, dns_rootname, NULL, dns_rdatatype_ns, 0, - now, NULL, name, &rootns, NULL); + (void)dns_db_find(db, dns_rootname, NULL, dns_rdatatype_ns, 0, now, + NULL, name, &rootns, NULL); result = dns_db_createiterator(db, 0, &dbiter); if (result != ISC_R_SUCCESS) goto cleanup; @@ -179,7 +180,7 @@ check_hints(dns_db_t *db) { if (result == ISC_R_NOMORE) result = ISC_R_SUCCESS; - cleanup: +cleanup: if (dns_rdataset_isassociated(&rootns)) dns_rdataset_disassociate(&rootns); if (rdsiter != NULL) @@ -195,11 +196,11 @@ isc_result_t dns_rootns_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, const char *filename, dns_db_t **target) { - isc_result_t result, eresult; - isc_buffer_t source; - unsigned int len; + isc_result_t result, eresult; + isc_buffer_t source; + unsigned int len; dns_rdatacallbacks_t callbacks; - dns_db_t *db = NULL; + dns_db_t * db = NULL; REQUIRE(target != NULL && *target == NULL); @@ -220,19 +221,17 @@ dns_rootns_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, /* * Load the hints from the specified filename. */ - result = dns_master_loadfile(filename, &db->origin, - &db->origin, db->rdclass, - DNS_MASTER_HINT, 0, &callbacks, - NULL, NULL, db->mctx, + result = dns_master_loadfile(filename, &db->origin, &db->origin, + db->rdclass, DNS_MASTER_HINT, 0, + &callbacks, NULL, NULL, db->mctx, dns_masterformat_text, 0); } else if (rdclass == dns_rdataclass_in) { /* * Default to using the Internet root servers. */ - result = dns_master_loadbuffer(&source, &db->origin, - &db->origin, db->rdclass, - DNS_MASTER_HINT, - &callbacks, db->mctx); + result = dns_master_loadbuffer( + &source, &db->origin, &db->origin, db->rdclass, + DNS_MASTER_HINT, &callbacks, db->mctx); } else result = ISC_R_NOTFOUND; eresult = dns_db_endload(db, &callbacks); @@ -248,10 +247,12 @@ dns_rootns_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, *target = db; return (ISC_R_SUCCESS); - failure: +failure: isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_HINTS, - ISC_LOG_ERROR, "could not configure root hints from " - "'%s': %s", (filename != NULL) ? filename : "", + ISC_LOG_ERROR, + "could not configure root hints from " + "'%s': %s", + (filename != NULL) ? filename : "", isc_result_totext(result)); if (db != NULL) @@ -261,18 +262,17 @@ dns_rootns_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, } static void -report(dns_view_t *view, dns_name_t *name, bool missing, - dns_rdata_t *rdata) +report(dns_view_t *view, dns_name_t *name, bool missing, dns_rdata_t *rdata) { const char *viewname = "", *sep = ""; - char namebuf[DNS_NAME_FORMATSIZE]; - char typebuf[DNS_RDATATYPE_FORMATSIZE]; + char namebuf[DNS_NAME_FORMATSIZE]; + char typebuf[DNS_RDATATYPE_FORMATSIZE]; char databuf[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:123.123.123.123")]; isc_buffer_t buffer; isc_result_t result; - if (strcmp(view->name, "_bind") != 0 && - strcmp(view->name, "_default") != 0) { + if (strcmp(view->name, "_bind") != 0 && strcmp(view->name, "_defaul" + "t") != 0) { viewname = view->name; sep = ": view "; } @@ -293,14 +293,15 @@ report(dns_view_t *view, dns_name_t *name, bool missing, isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_HINTS, ISC_LOG_WARNING, "checkhints%s%s: %s/%s (%s) extra record " - "in hints", sep, viewname, namebuf, typebuf, - databuf); + "in hints", + sep, viewname, namebuf, typebuf, databuf); } static bool -inrrset(dns_rdataset_t *rrset, dns_rdata_t *rdata) { +inrrset(dns_rdataset_t *rrset, dns_rdata_t *rdata) +{ isc_result_t result; - dns_rdata_t current = DNS_RDATA_INIT; + dns_rdata_t current = DNS_RDATA_INIT; result = dns_rdataset_first(rrset); while (result == ISC_R_SUCCESS) { @@ -323,18 +324,18 @@ static void check_address_records(dns_view_t *view, dns_db_t *hints, dns_db_t *db, dns_name_t *name, isc_stdtime_t now) { - isc_result_t hresult, rresult, result; - dns_rdataset_t hintrrset, rootrrset; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_name_t *foundname; + isc_result_t hresult, rresult, result; + dns_rdataset_t hintrrset, rootrrset; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_name_t * foundname; dns_fixedname_t fixed; dns_rdataset_init(&hintrrset); dns_rdataset_init(&rootrrset); foundname = dns_fixedname_initname(&fixed); - hresult = dns_db_find(hints, name, NULL, dns_rdatatype_a, 0, - now, NULL, foundname, &hintrrset, NULL); + hresult = dns_db_find(hints, name, NULL, dns_rdatatype_a, 0, now, NULL, + foundname, &hintrrset, NULL); rresult = dns_db_find(db, name, NULL, dns_rdatatype_a, DNS_DBFIND_GLUEOK, now, NULL, foundname, &rootrrset, NULL); @@ -375,8 +376,8 @@ check_address_records(dns_view_t *view, dns_db_t *hints, dns_db_t *db, /* * Check AAAA records. */ - hresult = dns_db_find(hints, name, NULL, dns_rdatatype_aaaa, 0, - now, NULL, foundname, &hintrrset, NULL); + hresult = dns_db_find(hints, name, NULL, dns_rdatatype_aaaa, 0, now, + NULL, foundname, &hintrrset, NULL); rresult = dns_db_find(db, name, NULL, dns_rdatatype_aaaa, DNS_DBFIND_GLUEOK, now, NULL, foundname, &rootrrset, NULL); @@ -419,14 +420,15 @@ check_address_records(dns_view_t *view, dns_db_t *hints, dns_db_t *db, } void -dns_root_checkhints(dns_view_t *view, dns_db_t *hints, dns_db_t *db) { - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdata_ns_t ns; - dns_rdataset_t hintns, rootns; - const char *viewname = "", *sep = ""; - isc_stdtime_t now; - dns_name_t *name; +dns_root_checkhints(dns_view_t *view, dns_db_t *hints, dns_db_t *db) +{ + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_ns_t ns; + dns_rdataset_t hintns, rootns; + const char * viewname = "", *sep = ""; + isc_stdtime_t now; + dns_name_t * name; dns_fixedname_t fixed; REQUIRE(hints != NULL); @@ -435,8 +437,8 @@ dns_root_checkhints(dns_view_t *view, dns_db_t *hints, dns_db_t *db) { isc_stdtime_get(&now); - if (strcmp(view->name, "_bind") != 0 && - strcmp(view->name, "_default") != 0) { + if (strcmp(view->name, "_bind") != 0 && strcmp(view->name, "_defaul" + "t") != 0) { viewname = view->name; sep = ": view "; } @@ -451,19 +453,19 @@ dns_root_checkhints(dns_view_t *view, dns_db_t *hints, dns_db_t *db) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_HINTS, ISC_LOG_WARNING, "checkhints%s%s: unable to get root NS rrset " - "from hints: %s", sep, viewname, - dns_result_totext(result)); + "from hints: %s", + sep, viewname, dns_result_totext(result)); goto cleanup; } - result = dns_db_find(db, dns_rootname, NULL, dns_rdatatype_ns, 0, - now, NULL, name, &rootns, NULL); + result = dns_db_find(db, dns_rootname, NULL, dns_rdatatype_ns, 0, now, + NULL, name, &rootns, NULL); if (result != ISC_R_SUCCESS) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_HINTS, ISC_LOG_WARNING, "checkhints%s%s: unable to get root NS rrset " - "from cache: %s", sep, viewname, - dns_result_totext(result)); + "from cache: %s", + sep, viewname, dns_result_totext(result)); goto cleanup; } @@ -483,8 +485,8 @@ dns_root_checkhints(dns_view_t *view, dns_db_t *hints, dns_db_t *db) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_HINTS, ISC_LOG_WARNING, "checkhints%s%s: unable to find root " - "NS '%s' in hints", sep, viewname, - namebuf); + "NS '%s' in hints", + sep, viewname, namebuf); } else check_address_records(view, hints, db, &ns.name, now); dns_rdata_reset(&rdata); @@ -519,7 +521,7 @@ dns_root_checkhints(dns_view_t *view, dns_db_t *hints, dns_db_t *db) { goto cleanup; } - cleanup: +cleanup: if (dns_rdataset_isassociated(&rootns)) dns_rdataset_disassociate(&rootns); if (dns_rdataset_isassociated(&hintns)) diff --git a/lib/dns/rpz.c b/lib/dns/rpz.c index 018ab5c16a..ba9a7ef882 100644 --- a/lib/dns/rpz.c +++ b/lib/dns/rpz.c @@ -31,16 +31,15 @@ #include #include #include +#include #include #include -#include #include +#include #include -#include #include #include - /* * Parallel radix trees for databases of response policy IP addresses * @@ -84,8 +83,8 @@ /* * Nodes hashtable calculation parameters */ -#define DNS_RPZ_HTSIZE_MAX 24 -#define DNS_RPZ_HTSIZE_DIV 3 +#define DNS_RPZ_HTSIZE_MAX 24 +#define DNS_RPZ_HTSIZE_DIV 3 /* * Maximum number of nodes to process per quantum @@ -102,28 +101,30 @@ dns_rpz_update_taskaction(isc_task_t *task, isc_event_t *event); * Use a private definition of IPv6 addresses because s6_addr32 is not * always defined and our IPv6 addresses are in non-standard byte order */ -typedef uint32_t dns_rpz_cidr_word_t; -#define DNS_RPZ_CIDR_WORD_BITS ((int)sizeof(dns_rpz_cidr_word_t)*8) -#define DNS_RPZ_CIDR_KEY_BITS ((int)sizeof(dns_rpz_cidr_key_t)*8) -#define DNS_RPZ_CIDR_WORDS (128/DNS_RPZ_CIDR_WORD_BITS) +typedef uint32_t dns_rpz_cidr_word_t; +#define DNS_RPZ_CIDR_WORD_BITS ((int)sizeof(dns_rpz_cidr_word_t) * 8) +#define DNS_RPZ_CIDR_KEY_BITS ((int)sizeof(dns_rpz_cidr_key_t) * 8) +#define DNS_RPZ_CIDR_WORDS (128 / DNS_RPZ_CIDR_WORD_BITS) typedef struct { - dns_rpz_cidr_word_t w[DNS_RPZ_CIDR_WORDS]; + dns_rpz_cidr_word_t w[DNS_RPZ_CIDR_WORDS]; } dns_rpz_cidr_key_t; -#define ADDR_V4MAPPED 0xffff -#define KEY_IS_IPV4(prefix,ip) ((prefix) >= 96 && (ip)->w[0] == 0 && \ - (ip)->w[1] == 0 && (ip)->w[2] == ADDR_V4MAPPED) +#define ADDR_V4MAPPED 0xffff +#define KEY_IS_IPV4(prefix, ip) \ + ((prefix) >= 96 && (ip)->w[0] == 0 && (ip)->w[1] == 0 && \ + (ip)->w[2] == ADDR_V4MAPPED) -#define DNS_RPZ_WORD_MASK(b) ((b) == 0 ? (dns_rpz_cidr_word_t)(-1) \ - : ((dns_rpz_cidr_word_t)(-1) \ - << (DNS_RPZ_CIDR_WORD_BITS - (b)))) +#define DNS_RPZ_WORD_MASK(b) \ + ((b) == 0 ? (dns_rpz_cidr_word_t)(-1) \ + : ((dns_rpz_cidr_word_t)(-1) \ + << (DNS_RPZ_CIDR_WORD_BITS - (b)))) /* * Get bit #n from the array of words of an IP address. */ -#define DNS_RPZ_IP_BIT(ip, n) (1 & ((ip)->w[(n)/DNS_RPZ_CIDR_WORD_BITS] >> \ - (DNS_RPZ_CIDR_WORD_BITS \ - - 1 - ((n) % DNS_RPZ_CIDR_WORD_BITS)))) +#define DNS_RPZ_IP_BIT(ip, n) \ + (1 & ((ip)->w[(n) / DNS_RPZ_CIDR_WORD_BITS] >> \ + (DNS_RPZ_CIDR_WORD_BITS - 1 - ((n) % DNS_RPZ_CIDR_WORD_BITS)))) /* * A triplet of arrays of bits flagging the existence of @@ -131,21 +132,21 @@ typedef struct { */ typedef struct dns_rpz_addr_zbits dns_rpz_addr_zbits_t; struct dns_rpz_addr_zbits { - dns_rpz_zbits_t client_ip; - dns_rpz_zbits_t ip; - dns_rpz_zbits_t nsip; + dns_rpz_zbits_t client_ip; + dns_rpz_zbits_t ip; + dns_rpz_zbits_t nsip; }; /* * A CIDR or radix tree node. */ struct dns_rpz_cidr_node { - dns_rpz_cidr_node_t *parent; - dns_rpz_cidr_node_t *child[2]; - dns_rpz_cidr_key_t ip; - dns_rpz_prefix_t prefix; - dns_rpz_addr_zbits_t set; - dns_rpz_addr_zbits_t sum; + dns_rpz_cidr_node_t *parent; + dns_rpz_cidr_node_t *child[2]; + dns_rpz_cidr_key_t ip; + dns_rpz_prefix_t prefix; + dns_rpz_addr_zbits_t set; + dns_rpz_addr_zbits_t sum; }; /* @@ -154,8 +155,8 @@ struct dns_rpz_cidr_node { */ typedef struct dns_rpz_nm_zbits dns_rpz_nm_zbits_t; struct dns_rpz_nm_zbits { - dns_rpz_zbits_t qname; - dns_rpz_zbits_t ns; + dns_rpz_zbits_t qname; + dns_rpz_zbits_t ns; }; /* @@ -165,8 +166,8 @@ struct dns_rpz_nm_zbits { */ typedef struct dns_rpz_nm_data dns_rpz_nm_data_t; struct dns_rpz_nm_data { - dns_rpz_nm_zbits_t set; - dns_rpz_nm_zbits_t wild; + dns_rpz_nm_zbits_t set; + dns_rpz_nm_zbits_t wild; }; static void @@ -195,7 +196,8 @@ catch_name(const dns_name_t *src_name, const char *tgt, const char *str) { #endif const char * -dns_rpz_type2str(dns_rpz_type_t type) { +dns_rpz_type2str(dns_rpz_type_t type) +{ switch (type) { case DNS_RPZ_TYPE_CLIENT_IP: return ("CLIENT-IP"); @@ -215,26 +217,27 @@ dns_rpz_type2str(dns_rpz_type_t type) { } dns_rpz_policy_t -dns_rpz_str2policy(const char *str) { +dns_rpz_str2policy(const char *str) +{ static struct { - const char *str; + const char * str; dns_rpz_policy_t policy; } tbl[] = { - {"given", DNS_RPZ_POLICY_GIVEN}, - {"disabled", DNS_RPZ_POLICY_DISABLED}, - {"passthru", DNS_RPZ_POLICY_PASSTHRU}, - {"drop", DNS_RPZ_POLICY_DROP}, - {"tcp-only", DNS_RPZ_POLICY_TCP_ONLY}, - {"nxdomain", DNS_RPZ_POLICY_NXDOMAIN}, - {"nodata", DNS_RPZ_POLICY_NODATA}, - {"cname", DNS_RPZ_POLICY_CNAME}, - {"no-op", DNS_RPZ_POLICY_PASSTHRU}, /* old passthru */ + { "given", DNS_RPZ_POLICY_GIVEN }, + { "disabled", DNS_RPZ_POLICY_DISABLED }, + { "passthru", DNS_RPZ_POLICY_PASSTHRU }, + { "drop", DNS_RPZ_POLICY_DROP }, + { "tcp-only", DNS_RPZ_POLICY_TCP_ONLY }, + { "nxdomain", DNS_RPZ_POLICY_NXDOMAIN }, + { "nodata", DNS_RPZ_POLICY_NODATA }, + { "cname", DNS_RPZ_POLICY_CNAME }, + { "no-op", DNS_RPZ_POLICY_PASSTHRU }, /* old passthru */ }; unsigned int n; if (str == NULL) return (DNS_RPZ_POLICY_ERROR); - for (n = 0; n < sizeof(tbl)/sizeof(tbl[0]); ++n) { + for (n = 0; n < sizeof(tbl) / sizeof(tbl[0]); ++n) { if (!strcasecmp(tbl[n].str, str)) return (tbl[n].policy); } @@ -242,7 +245,8 @@ dns_rpz_str2policy(const char *str) { } const char * -dns_rpz_policy2str(dns_rpz_policy_t policy) { +dns_rpz_policy2str(dns_rpz_policy_t policy) +{ const char *str; switch (policy) { @@ -286,7 +290,8 @@ dns_rpz_policy2str(dns_rpz_policy_t policy) { * (for example, 0x01 returns 0, 0xFF returns 7, etc.) */ static int -zbit_to_num(dns_rpz_zbits_t zbit) { +zbit_to_num(dns_rpz_zbits_t zbit) +{ dns_rpz_num_t rpz_num; REQUIRE(zbit != 0); @@ -346,8 +351,8 @@ make_addr_set(dns_rpz_addr_zbits_t *tgt_set, dns_rpz_zbits_t zbits, } static void -make_nm_set(dns_rpz_nm_zbits_t *tgt_set, - dns_rpz_num_t rpz_num, dns_rpz_type_t type) +make_nm_set(dns_rpz_nm_zbits_t *tgt_set, dns_rpz_num_t rpz_num, + dns_rpz_type_t type) { switch (type) { case DNS_RPZ_TYPE_QNAME: @@ -368,7 +373,8 @@ make_nm_set(dns_rpz_nm_zbits_t *tgt_set, * Mark a node and all of its parents as having client-IP, IP, or NSIP data */ static void -set_sum_pair(dns_rpz_cidr_node_t *cnode) { +set_sum_pair(dns_rpz_cidr_node_t *cnode) +{ dns_rpz_cidr_node_t *child; dns_rpz_addr_zbits_t sum; @@ -390,8 +396,7 @@ set_sum_pair(dns_rpz_cidr_node_t *cnode) { } if (cnode->sum.client_ip == sum.client_ip && - cnode->sum.ip == sum.ip && - cnode->sum.nsip == sum.nsip) + cnode->sum.ip == sum.ip && cnode->sum.nsip == sum.nsip) break; cnode->sum = sum; cnode = cnode->parent; @@ -400,7 +405,8 @@ set_sum_pair(dns_rpz_cidr_node_t *cnode) { /* Caller must hold rpzs->maint_lock */ static void -fix_qname_skip_recurse(dns_rpz_zones_t *rpzs) { +fix_qname_skip_recurse(dns_rpz_zones_t *rpzs) +{ dns_rpz_zbits_t mask; /* @@ -491,8 +497,8 @@ fix_qname_skip_recurse(dns_rpz_zones_t *rpzs) { */ zbits_req = (rpzs->have.ipv4 | rpzs->have.ipv6 | - rpzs->have.nsdname | - rpzs->have.nsipv4 | rpzs->have.nsipv6); + rpzs->have.nsdname | rpzs->have.nsipv4 | + rpzs->have.nsipv6); zbits_notreq = (rpzs->have.client_ip | rpzs->have.qname); if (zbits_req == 0) { @@ -559,22 +565,21 @@ fix_qname_skip_recurse(dns_rpz_zones_t *rpzs) { mask |= mask2; } - set: +set: isc_log_write(dns_lctx, DNS_LOGCATEGORY_RPZ, DNS_LOGMODULE_RBTDB, DNS_RPZ_DEBUG_QUIET, "computed RPZ qname_skip_recurse mask=0x%" PRIx64, - (uint64_t) mask); + (uint64_t)mask); rpzs->have.qname_skip_recurse = mask; } static void adj_trigger_cnt(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, - dns_rpz_type_t rpz_type, - const dns_rpz_cidr_key_t *tgt_ip, dns_rpz_prefix_t tgt_prefix, - bool inc) + dns_rpz_type_t rpz_type, const dns_rpz_cidr_key_t *tgt_ip, + dns_rpz_prefix_t tgt_prefix, bool inc) { dns_rpz_trigger_counter_t *cnt = NULL; - dns_rpz_zbits_t *have = NULL; + dns_rpz_zbits_t * have = NULL; switch (rpz_type) { case DNS_RPZ_TYPE_CLIENT_IP: @@ -635,12 +640,11 @@ adj_trigger_cnt(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, } static dns_rpz_cidr_node_t * -new_node(dns_rpz_zones_t *rpzs, - const dns_rpz_cidr_key_t *ip, dns_rpz_prefix_t prefix, - const dns_rpz_cidr_node_t *child) +new_node(dns_rpz_zones_t *rpzs, const dns_rpz_cidr_key_t *ip, + dns_rpz_prefix_t prefix, const dns_rpz_cidr_node_t *child) { dns_rpz_cidr_node_t *node; - int i, words, wlen; + int i, words, wlen; node = isc_mem_get(rpzs->mctx, sizeof(*node)); memset(node, 0, sizeof(*node)); @@ -667,19 +671,19 @@ new_node(dns_rpz_zones_t *rpzs, } static void -badname(int level, const dns_name_t *name, const char *str1, const char *str2) { +badname(int level, const dns_name_t *name, const char *str1, const char *str2) +{ char namebuf[DNS_NAME_FORMATSIZE]; /* * bin/tests/system/rpz/tests.sh looks for "invalid rpz". */ - if (level < DNS_RPZ_DEBUG_QUIET && - isc_log_wouldlog(dns_lctx, level)) { + if (level < DNS_RPZ_DEBUG_QUIET && isc_log_wouldlog(dns_lctx, level)) { dns_name_format(name, namebuf, sizeof(namebuf)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_RPZ, DNS_LOGMODULE_RBTDB, level, - "invalid rpz IP address \"%s\"%s%s", - namebuf, str1, str2); + "invalid rpz IP address \"%s\"%s%s", namebuf, + str1, str2); } } @@ -701,20 +705,19 @@ ip2name(const dns_rpz_cidr_key_t *tgt_ip, dns_rpz_prefix_t tgt_prefix, #ifndef INET6_ADDRSTRLEN #define INET6_ADDRSTRLEN 46 #endif - int w[DNS_RPZ_CIDR_WORDS*2]; - char str[1+8+1+INET6_ADDRSTRLEN+1]; + int w[DNS_RPZ_CIDR_WORDS * 2]; + char str[1 + 8 + 1 + INET6_ADDRSTRLEN + 1]; isc_buffer_t buffer; isc_result_t result; - int best_first, best_len, cur_first, cur_len; - int i, n, len; + int best_first, best_len, cur_first, cur_len; + int i, n, len; if (KEY_IS_IPV4(tgt_prefix, tgt_ip)) { len = snprintf(str, sizeof(str), "%u.%u.%u.%u.%u", - tgt_prefix - 96U, - tgt_ip->w[3] & 0xffU, - (tgt_ip->w[3]>>8) & 0xffU, - (tgt_ip->w[3]>>16) & 0xffU, - (tgt_ip->w[3]>>24) & 0xffU); + tgt_prefix - 96U, tgt_ip->w[3] & 0xffU, + (tgt_ip->w[3] >> 8) & 0xffU, + (tgt_ip->w[3] >> 16) & 0xffU, + (tgt_ip->w[3] >> 24) & 0xffU); if (len < 0 || len > (int)sizeof(str)) { return (ISC_R_FAILURE); } @@ -725,9 +728,11 @@ ip2name(const dns_rpz_cidr_key_t *tgt_ip, dns_rpz_prefix_t tgt_prefix, } for (i = 0; i < DNS_RPZ_CIDR_WORDS; i++) { - w[i*2+1] = ((tgt_ip->w[DNS_RPZ_CIDR_WORDS-1-i] >> 16) - & 0xffff); - w[i*2] = tgt_ip->w[DNS_RPZ_CIDR_WORDS-1-i] & 0xffff; + w[i * 2 + 1] = + ((tgt_ip->w[DNS_RPZ_CIDR_WORDS - 1 - i] >> 16) & + 0xffff); + w[i * 2] = tgt_ip->w[DNS_RPZ_CIDR_WORDS - 1 - i] & + 0xffff; } /* * Find the start and length of the first longest sequence @@ -737,7 +742,7 @@ ip2name(const dns_rpz_cidr_key_t *tgt_ip, dns_rpz_prefix_t tgt_prefix, best_len = 0; cur_first = -1; cur_len = 0; - for (n = 0; n <=7; ++n) { + for (n = 0; n <= 7; ++n) { if (w[n] != 0) { cur_len = 0; cur_first = -1; @@ -775,8 +780,8 @@ ip2name(const dns_rpz_cidr_key_t *tgt_ip, dns_rpz_prefix_t tgt_prefix, * Determine the type of a name in a response policy zone. */ static dns_rpz_type_t -type_from_name(const dns_rpz_zones_t *rpzs, - dns_rpz_zone_t *rpz, const dns_name_t *name) +type_from_name(const dns_rpz_zones_t *rpzs, dns_rpz_zone_t *rpz, + const dns_name_t *name) { if (dns_name_issubdomain(name, &rpz->ip)) { return (DNS_RPZ_TYPE_IP); @@ -787,14 +792,12 @@ type_from_name(const dns_rpz_zones_t *rpzs, } if ((rpzs->p.nsip_on & DNS_RPZ_ZBIT(rpz->num)) != 0 && - dns_name_issubdomain(name, &rpz->nsip)) - { + dns_name_issubdomain(name, &rpz->nsip)) { return (DNS_RPZ_TYPE_NSIP); } if ((rpzs->p.nsdname_on & DNS_RPZ_ZBIT(rpz->num)) != 0 && - dns_name_issubdomain(name, &rpz->nsdname)) - { + dns_name_issubdomain(name, &rpz->nsdname)) { return (DNS_RPZ_TYPE_NSDNAME); } @@ -807,24 +810,23 @@ type_from_name(const dns_rpz_zones_t *rpzs, * data. */ static isc_result_t -name2ipkey(int log_level, - const dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, +name2ipkey(int log_level, const dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, dns_rpz_type_t rpz_type, const dns_name_t *src_name, dns_rpz_cidr_key_t *tgt_ip, dns_rpz_prefix_t *tgt_prefix, dns_rpz_addr_zbits_t *new_set) { dns_rpz_zone_t *rpz; - char ip_str[DNS_NAME_FORMATSIZE], ip2_str[DNS_NAME_FORMATSIZE]; + char ip_str[DNS_NAME_FORMATSIZE], ip2_str[DNS_NAME_FORMATSIZE]; dns_offsets_t ip_name_offsets; - dns_fixedname_t ip_name2f; - dns_name_t ip_name, *ip_name2; - const char *prefix_str, *cp, *end; - char *cp2; - int ip_labels; + dns_fixedname_t ip_name2f; + dns_name_t ip_name, *ip_name2; + const char * prefix_str, *cp, *end; + char * cp2; + int ip_labels; dns_rpz_prefix_t prefix; - unsigned long prefix_num, l; - isc_result_t result; - int i; + unsigned long prefix_num, l; + isc_result_t result; + int i; REQUIRE(rpzs != NULL && rpz_num < rpzs->p.num_zones); rpz = rpzs->zones[rpz_num]; @@ -848,13 +850,13 @@ name2ipkey(int log_level, * Get text for the IP address */ dns_name_format(&ip_name, ip_str, sizeof(ip_str)); - end = &ip_str[strlen(ip_str)+1]; + end = &ip_str[strlen(ip_str) + 1]; prefix_str = ip_str; prefix_num = strtoul(prefix_str, &cp2, 10); if (*cp2 != '.') { - badname(log_level, src_name, - "; invalid leading prefix length", ""); + badname(log_level, src_name, "; invalid leading prefix length", + ""); return (ISC_R_FAILURE); } /* @@ -863,11 +865,11 @@ name2ipkey(int log_level, */ *cp2 = '\0'; if (prefix_num < 1U || prefix_num > 128U) { - badname(log_level, src_name, - "; invalid prefix length of ", prefix_str); + badname(log_level, src_name, "; invalid prefix length of ", + prefix_str); return (ISC_R_FAILURE); } - cp = cp2+1; + cp = cp2 + 1; if (--ip_labels == 4 && !strchr(cp, 'z')) { /* @@ -902,15 +904,13 @@ name2ipkey(int log_level, * Convert a text IPv6 address. */ *tgt_prefix = (dns_rpz_prefix_t)prefix_num; - for (i = 0; - ip_labels > 0 && i < DNS_RPZ_CIDR_WORDS * 2; + for (i = 0; ip_labels > 0 && i < DNS_RPZ_CIDR_WORDS * 2; ip_labels--) { if (cp[0] == 'z' && cp[1] == 'z' && - (cp[2] == '.' || cp[2] == '\0') && - i <= 6) { + (cp[2] == '.' || cp[2] == '\0') && i <= 6) { do { if ((i & 1) == 0) - tgt_ip->w[3-i/2] = 0; + tgt_ip->w[3 - i / 2] = 0; ++i; } while (ip_labels + i <= 8); cp += 3; @@ -919,15 +919,15 @@ name2ipkey(int log_level, if (l > 0xffffu || (*cp2 != '.' && *cp2 != '\0')) { if (*cp2 == '.') - *cp2 = '\0'; + *cp2 = '\0'; badname(log_level, src_name, "; invalid IPv6 word ", cp); return (ISC_R_FAILURE); } if ((i & 1) == 0) - tgt_ip->w[3-i/2] = l; + tgt_ip->w[3 - i / 2] = l; else - tgt_ip->w[3-i/2] |= l << 16; + tgt_ip->w[3 - i / 2] |= l << 16; i++; cp = cp2 + 1; } @@ -966,8 +966,8 @@ name2ipkey(int log_level, * to ensure that the original name is in canonical form. */ ip_name2 = dns_fixedname_initname(&ip_name2f); - result = ip2name(tgt_ip, (dns_rpz_prefix_t)prefix_num, - NULL, ip_name2); + result = ip2name(tgt_ip, (dns_rpz_prefix_t)prefix_num, NULL, + ip_name2); if (result != ISC_R_SUCCESS || !dns_name_equal(&ip_name, ip_name2)) { dns_name_format(ip_name2, ip2_str, sizeof(ip2_str)); @@ -987,14 +987,14 @@ name2ipkey(int log_level, * or QNAME data. */ static void -name2data(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, - dns_rpz_type_t rpz_type, const dns_name_t *src_name, - dns_name_t *trig_name, dns_rpz_nm_data_t *new_data) +name2data(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, dns_rpz_type_t rpz_type, + const dns_name_t *src_name, dns_name_t *trig_name, + dns_rpz_nm_data_t *new_data) { dns_rpz_zone_t *rpz; - dns_offsets_t tmp_name_offsets; - dns_name_t tmp_name; - unsigned int prefix_len, n; + dns_offsets_t tmp_name_offsets; + dns_name_t tmp_name; + unsigned int prefix_len, n; REQUIRE(rpzs != NULL && rpz_num < rpzs->p.num_zones); rpz = rpzs->zones[rpz_num]; @@ -1032,10 +1032,11 @@ name2data(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, * bit. */ static inline unsigned int -clz(dns_rpz_cidr_word_t w) { +clz(dns_rpz_cidr_word_t w) +{ unsigned int bit; - bit = DNS_RPZ_CIDR_WORD_BITS-1; + bit = DNS_RPZ_CIDR_WORD_BITS - 1; if ((w & 0xffff0000) != 0) { w >>= 16; @@ -1072,8 +1073,8 @@ diff_keys(const dns_rpz_cidr_key_t *key1, dns_rpz_prefix_t prefix1, const dns_rpz_cidr_key_t *key2, dns_rpz_prefix_t prefix2) { dns_rpz_cidr_word_t delta; - dns_rpz_prefix_t maxbit, bit; - int i; + dns_rpz_prefix_t maxbit, bit; + int i; bit = 0; maxbit = ISC_MIN(prefix1, prefix2); @@ -1100,7 +1101,8 @@ diff_keys(const dns_rpz_cidr_key_t *key1, dns_rpz_prefix_t prefix1, * clear all bits for higher numbered zones. */ static inline dns_rpz_zbits_t -trim_zbits(dns_rpz_zbits_t zbits, dns_rpz_zbits_t found) { +trim_zbits(dns_rpz_zbits_t zbits, dns_rpz_zbits_t found) +{ dns_rpz_zbits_t x; /* @@ -1122,16 +1124,15 @@ trim_zbits(dns_rpz_zbits_t zbits, dns_rpz_zbits_t found) { * or with create==true, ISC_R_EXISTS or ISC_R_NOMEMORY */ static isc_result_t -search(dns_rpz_zones_t *rpzs, - const dns_rpz_cidr_key_t *tgt_ip, dns_rpz_prefix_t tgt_prefix, - const dns_rpz_addr_zbits_t *tgt_set, bool create, - dns_rpz_cidr_node_t **found) +search(dns_rpz_zones_t *rpzs, const dns_rpz_cidr_key_t *tgt_ip, + dns_rpz_prefix_t tgt_prefix, const dns_rpz_addr_zbits_t *tgt_set, + bool create, dns_rpz_cidr_node_t **found) { dns_rpz_cidr_node_t *cur, *parent, *child, *new_parent, *sibling; dns_rpz_addr_zbits_t set; - int cur_num, child_num; - dns_rpz_prefix_t dbit; - isc_result_t find_result; + int cur_num, child_num; + dns_rpz_prefix_t dbit; + isc_result_t find_result; set = *tgt_set; find_result = ISC_R_NOTFOUND; @@ -1197,9 +1198,9 @@ search(dns_rpz_zones_t *rpzs, */ *found = cur; if (create) { - find_result = ISC_R_EXISTS; + find_result = ISC_R_EXISTS; } else { - find_result = ISC_R_SUCCESS; + find_result = ISC_R_SUCCESS; } } else if (create) { /* @@ -1256,10 +1257,8 @@ search(dns_rpz_zones_t *rpzs, *found = cur; set.client_ip = trim_zbits(set.client_ip, cur->set.client_ip); - set.ip = trim_zbits(set.ip, - cur->set.ip); - set.nsip = trim_zbits(set.nsip, - cur->set.nsip); + set.ip = trim_zbits(set.ip, cur->set.ip); + set.nsip = trim_zbits(set.nsip, cur->set.nsip); } parent = cur; cur_num = DNS_RPZ_IP_BIT(tgt_ip, dbit); @@ -1267,7 +1266,6 @@ search(dns_rpz_zones_t *rpzs, continue; } - /* * dbit < tgt_prefix and dbit < cur->prefix, * so we failed to match both the target and the current node. @@ -1292,7 +1290,7 @@ search(dns_rpz_zones_t *rpzs, parent->child[cur_num] = new_parent; child_num = DNS_RPZ_IP_BIT(tgt_ip, dbit); new_parent->child[child_num] = sibling; - new_parent->child[1-child_num] = cur; + new_parent->child[1 - child_num] = cur; cur->parent = new_parent; sibling->parent = new_parent; sibling->set = *tgt_set; @@ -1306,14 +1304,14 @@ search(dns_rpz_zones_t *rpzs, * Add an IP address to the radix tree. */ static isc_result_t -add_cidr(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, - dns_rpz_type_t rpz_type, const dns_name_t *src_name) +add_cidr(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, dns_rpz_type_t rpz_type, + const dns_name_t *src_name) { - dns_rpz_cidr_key_t tgt_ip; - dns_rpz_prefix_t tgt_prefix; + dns_rpz_cidr_key_t tgt_ip; + dns_rpz_prefix_t tgt_prefix; dns_rpz_addr_zbits_t set; dns_rpz_cidr_node_t *found; - isc_result_t result; + isc_result_t result; result = name2ipkey(DNS_RPZ_ERROR_LEVEL, rpzs, rpz_num, rpz_type, src_name, &tgt_ip, &tgt_prefix, &set); @@ -1340,8 +1338,8 @@ add_cidr(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, dns_name_format(src_name, namebuf, sizeof(namebuf)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_RPZ, DNS_LOGMODULE_RBTDB, DNS_RPZ_ERROR_LEVEL, - "rpz add_cidr(%s) failed: %s", - namebuf, isc_result_totext(result)); + "rpz add_cidr(%s) failed: %s", namebuf, + isc_result_totext(result)); return (result); } @@ -1351,11 +1349,11 @@ add_cidr(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, static isc_result_t add_nm(dns_rpz_zones_t *rpzs, dns_name_t *trig_name, - const dns_rpz_nm_data_t *new_data) + const dns_rpz_nm_data_t *new_data) { - dns_rbtnode_t *nmnode; + dns_rbtnode_t * nmnode; dns_rpz_nm_data_t *nm_data; - isc_result_t result; + isc_result_t result; nmnode = NULL; result = dns_rbt_addnode(rpzs->rbt, trig_name, &nmnode); @@ -1391,13 +1389,13 @@ add_nm(dns_rpz_zones_t *rpzs, dns_name_t *trig_name, } static isc_result_t -add_name(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, - dns_rpz_type_t rpz_type, const dns_name_t *src_name) +add_name(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, dns_rpz_type_t rpz_type, + const dns_name_t *src_name) { dns_rpz_nm_data_t new_data; - dns_fixedname_t trig_namef; - dns_name_t *trig_name; - isc_result_t result; + dns_fixedname_t trig_namef; + dns_name_t * trig_name; + isc_result_t result; /* * We need a summary database of names even with 1 policy zone, @@ -1424,7 +1422,8 @@ add_name(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, * Callback to free the data for a node in the summary RBT database. */ static void -rpz_node_deleter(void *nm_data, void *mctx) { +rpz_node_deleter(void *nm_data, void *mctx) +{ isc_mem_put(mctx, nm_data, sizeof(dns_rpz_nm_data_t)); } @@ -1432,12 +1431,12 @@ rpz_node_deleter(void *nm_data, void *mctx) { * Get ready for a new set of policy zones for a view. */ isc_result_t -dns_rpz_new_zones(dns_rpz_zones_t **rpzsp, char *rps_cstr, - size_t rps_cstr_size, isc_mem_t *mctx, - isc_taskmgr_t *taskmgr, isc_timermgr_t *timermgr) +dns_rpz_new_zones(dns_rpz_zones_t **rpzsp, char *rps_cstr, size_t rps_cstr_size, + isc_mem_t *mctx, isc_taskmgr_t *taskmgr, + isc_timermgr_t *timermgr) { dns_rpz_zones_t *zones; - isc_result_t result; + isc_result_t result; REQUIRE(rpzsp != NULL && *rpzsp == NULL); @@ -1462,8 +1461,8 @@ dns_rpz_new_zones(dns_rpz_zones_t **rpzsp, char *rps_cstr, INSIST(!zones->p.dnsrps_enabled); #endif if (result == ISC_R_SUCCESS && !zones->p.dnsrps_enabled) { - result = dns_rbt_create(mctx, rpz_node_deleter, - mctx, &zones->rbt); + result = dns_rbt_create(mctx, rpz_node_deleter, mctx, + &zones->rbt); } if (result != ISC_R_SUCCESS) @@ -1500,9 +1499,10 @@ cleanup_rwlock: } isc_result_t -dns_rpz_new_zone(dns_rpz_zones_t *rpzs, dns_rpz_zone_t **rpzp) { +dns_rpz_new_zone(dns_rpz_zones_t *rpzs, dns_rpz_zone_t **rpzp) +{ dns_rpz_zone_t *zone; - isc_result_t result; + isc_result_t result; REQUIRE(rpzp != NULL && *rpzp == NULL); REQUIRE(rpzs != NULL); @@ -1515,10 +1515,10 @@ dns_rpz_new_zone(dns_rpz_zones_t *rpzs, dns_rpz_zone_t **rpzp) { memset(zone, 0, sizeof(*zone)); isc_refcount_init(&zone->refs, 1); - result = isc_timer_create(rpzs->timermgr, isc_timertype_inactive, - NULL, NULL, rpzs->updater, - dns_rpz_update_taskaction, - zone, &zone->updatetimer); + result = isc_timer_create(rpzs->timermgr, isc_timertype_inactive, NULL, + NULL, rpzs->updater, + dns_rpz_update_taskaction, zone, + &zone->updatetimer); if (result != ISC_R_SUCCESS) goto cleanup_timer; @@ -1553,8 +1553,8 @@ dns_rpz_new_zone(dns_rpz_zones_t *rpzs, dns_rpz_zone_t **rpzp) { zone->rpzs = rpzs; zone->db_registered = false; zone->addsoa = true; - ISC_EVENT_INIT(&zone->updateevent, sizeof(zone->updateevent), - 0, NULL, 0, NULL, NULL, NULL, NULL, NULL); + ISC_EVENT_INIT(&zone->updateevent, sizeof(zone->updateevent), 0, NULL, + 0, NULL, NULL, NULL, NULL, NULL); zone->num = rpzs->p.num_zones++; rpzs->zones[zone->num] = zone; @@ -1576,12 +1576,13 @@ cleanup_timer: } isc_result_t -dns_rpz_dbupdate_callback(dns_db_t *db, void *fn_arg) { - dns_rpz_zone_t *zone = (dns_rpz_zone_t *) fn_arg; - isc_time_t now; - uint64_t tdiff; - isc_result_t result = ISC_R_SUCCESS; - char dname[DNS_NAME_FORMATSIZE]; +dns_rpz_dbupdate_callback(dns_db_t *db, void *fn_arg) +{ + dns_rpz_zone_t *zone = (dns_rpz_zone_t *)fn_arg; + isc_time_t now; + uint64_t tdiff; + isc_result_t result = ISC_R_SUCCESS; + char dname[DNS_NAME_FORMATSIZE]; REQUIRE(DNS_DB_VALID(db)); REQUIRE(zone != NULL); @@ -1592,11 +1593,9 @@ dns_rpz_dbupdate_callback(dns_db_t *db, void *fn_arg) { if (zone->db != NULL && zone->db != db) { /* We need to clean up the old DB */ if (zone->dbversion != NULL) - dns_db_closeversion(zone->db, &zone->dbversion, - false); + dns_db_closeversion(zone->db, &zone->dbversion, false); dns_db_updatenotify_unregister(zone->db, - dns_rpz_dbupdate_callback, - zone); + dns_rpz_dbupdate_callback, zone); dns_db_detach(&zone->db); } @@ -1618,12 +1617,13 @@ dns_rpz_dbupdate_callback(dns_db_t *db, void *fn_arg) { DNS_LOGMODULE_MASTER, ISC_LOG_INFO, "rpz: %s: new zone version came " "too soon, deferring update for " - "%" PRIu64 " seconds", dname, defer); + "%" PRIu64 " seconds", + dname, defer); isc_interval_set(&interval, (unsigned int)defer, 0); dns_db_currentversion(zone->db, &zone->dbversion); result = isc_timer_reset(zone->updatetimer, - isc_timertype_once, - NULL, &interval, true); + isc_timertype_once, NULL, + &interval, true); if (result != ISC_R_SUCCESS) goto cleanup; } else { @@ -1634,8 +1634,8 @@ dns_rpz_dbupdate_callback(dns_db_t *db, void *fn_arg) { ISC_EVENT_INIT(&zone->updateevent, sizeof(zone->updateevent), 0, NULL, DNS_EVENT_RPZUPDATED, - dns_rpz_update_taskaction, - zone, zone, NULL, NULL); + dns_rpz_update_taskaction, zone, zone, + NULL, NULL); event = &zone->updateevent; isc_task_send(zone->rpzs->updater, &event); } @@ -1647,28 +1647,28 @@ dns_rpz_dbupdate_callback(dns_db_t *db, void *fn_arg) { "rpz: %s: update already queued or running", dname); if (zone->dbversion != NULL) { - dns_db_closeversion(zone->db, &zone->dbversion, - false); + dns_db_closeversion(zone->db, &zone->dbversion, false); } dns_db_currentversion(zone->db, &zone->dbversion); } - cleanup: +cleanup: UNLOCK(&zone->rpzs->maint_lock); return (result); } static void -dns_rpz_update_taskaction(isc_task_t *task, isc_event_t *event) { - isc_result_t result; +dns_rpz_update_taskaction(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result; dns_rpz_zone_t *zone; REQUIRE(event != NULL); REQUIRE(event->ev_arg != NULL); UNUSED(task); - zone = (dns_rpz_zone_t *) event->ev_arg; + zone = (dns_rpz_zone_t *)event->ev_arg; isc_event_free(&event); LOCK(&zone->rpzs->maint_lock); zone->updatepending = false; @@ -1683,33 +1683,31 @@ dns_rpz_update_taskaction(isc_task_t *task, isc_event_t *event) { } static isc_result_t -setup_update(dns_rpz_zone_t *rpz) { +setup_update(dns_rpz_zone_t *rpz) +{ isc_result_t result; - char domain[DNS_NAME_FORMATSIZE]; + char domain[DNS_NAME_FORMATSIZE]; unsigned int nodecount; - uint32_t hashsize; + uint32_t hashsize; dns_name_format(&rpz->origin, domain, DNS_NAME_FORMATSIZE); - isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, - DNS_LOGMODULE_MASTER, ISC_LOG_INFO, - "rpz: %s: reload start", domain); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTER, + ISC_LOG_INFO, "rpz: %s: reload start", domain); nodecount = dns_db_nodecount(rpz->updb); hashsize = 1; while (nodecount != 0 && - hashsize <= (DNS_RPZ_HTSIZE_MAX + DNS_RPZ_HTSIZE_DIV)) - { + hashsize <= (DNS_RPZ_HTSIZE_MAX + DNS_RPZ_HTSIZE_DIV)) { hashsize++; - nodecount >>=1; + nodecount >>= 1; } if (hashsize > DNS_RPZ_HTSIZE_DIV) hashsize -= DNS_RPZ_HTSIZE_DIV; - isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, - DNS_LOGMODULE_MASTER, ISC_LOG_DEBUG(1), - "rpz: %s: using hashtable size %d", - domain, hashsize); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTER, + ISC_LOG_DEBUG(1), "rpz: %s: using hashtable size %d", + domain, hashsize); result = isc_ht_init(&rpz->newnodes, rpz->rpzs->mctx, hashsize); if (result != ISC_R_SUCCESS) { @@ -1733,8 +1731,8 @@ setup_update(dns_rpz_zone_t *rpz) { if (result != ISC_R_SUCCESS) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTER, ISC_LOG_ERROR, - "rpz: %s: failed to get db iterator - %s", - domain, isc_result_totext(result)); + "rpz: %s: failed to get db iterator - %s", domain, + isc_result_totext(result)); goto cleanup; } @@ -1747,8 +1745,7 @@ setup_update(dns_rpz_zone_t *rpz) { goto cleanup; } - - cleanup: +cleanup: if (result != ISC_R_SUCCESS) { if (rpz->updbit != NULL) dns_dbiterator_destroy(&rpz->updbit); @@ -1761,13 +1758,14 @@ setup_update(dns_rpz_zone_t *rpz) { } static void -finish_update(dns_rpz_zone_t *rpz) { - isc_result_t result; - isc_ht_t *tmpht = NULL; - isc_ht_iter_t *iter = NULL; +finish_update(dns_rpz_zone_t *rpz) +{ + isc_result_t result; + isc_ht_t * tmpht = NULL; + isc_ht_iter_t * iter = NULL; dns_fixedname_t fname; - char dname[DNS_NAME_FORMATSIZE]; - dns_name_t *name; + char dname[DNS_NAME_FORMATSIZE]; + dns_name_t * name; /* * Iterate over old ht with existing nodes deleted to delete @@ -1787,13 +1785,11 @@ finish_update(dns_rpz_zone_t *rpz) { name = dns_fixedname_initname(&fname); - for (result = isc_ht_iter_first(iter); - result == ISC_R_SUCCESS; - result = isc_ht_iter_delcurrent_next(iter)) - { - isc_region_t region; + for (result = isc_ht_iter_first(iter); result == ISC_R_SUCCESS; + result = isc_ht_iter_delcurrent_next(iter)) { + isc_region_t region; unsigned char *key = NULL; - size_t keysize; + size_t keysize; isc_ht_iter_currentkey(iter, &key, &keysize); region.base = key; @@ -1813,7 +1809,7 @@ finish_update(dns_rpz_zone_t *rpz) { */ if (rpz->updatepending == true) { if (rpz->min_update_interval > 0) { - uint64_t defer = rpz->min_update_interval; + uint64_t defer = rpz->min_update_interval; isc_interval_t interval; dns_name_format(&rpz->origin, dname, DNS_NAME_FORMATSIZE); @@ -1821,7 +1817,8 @@ finish_update(dns_rpz_zone_t *rpz) { DNS_LOGMODULE_MASTER, ISC_LOG_INFO, "rpz: %s: new zone version came " "too soon, deferring update for " - "%" PRIu64 " seconds", dname, defer); + "%" PRIu64 " seconds", + dname, defer); isc_interval_set(&interval, (unsigned int)defer, 0); isc_timer_reset(rpz->updatetimer, isc_timertype_once, NULL, &interval, true); @@ -1831,8 +1828,8 @@ finish_update(dns_rpz_zone_t *rpz) { ISC_EVENT_INIT(&rpz->updateevent, sizeof(rpz->updateevent), 0, NULL, DNS_EVENT_RPZUPDATED, - dns_rpz_update_taskaction, - rpz, rpz, NULL, NULL); + dns_rpz_update_taskaction, rpz, rpz, + NULL, NULL); event = &rpz->updateevent; isc_task_send(rpz->rpzs->updater, &event); } @@ -1845,21 +1842,22 @@ cleanup: } static void -update_quantum(isc_task_t *task, isc_event_t *event) { - isc_result_t result = ISC_R_SUCCESS; - dns_dbnode_t *node = NULL; +update_quantum(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result = ISC_R_SUCCESS; + dns_dbnode_t * node = NULL; dns_rpz_zone_t *rpz; - char domain[DNS_NAME_FORMATSIZE]; + char domain[DNS_NAME_FORMATSIZE]; dns_fixedname_t fixname; - dns_name_t *name; - int count = 0; + dns_name_t * name; + int count = 0; UNUSED(task); REQUIRE(event != NULL); REQUIRE(event->ev_arg != NULL); - rpz = (dns_rpz_zone_t *) event->ev_arg; + rpz = (dns_rpz_zone_t *)event->ev_arg; isc_event_free(&event); REQUIRE(rpz->updbit != NULL); @@ -1870,7 +1868,7 @@ update_quantum(isc_task_t *task, isc_event_t *event) { dns_name_format(&rpz->origin, domain, DNS_NAME_FORMATSIZE); while (result == ISC_R_SUCCESS && count++ < DNS_RPZ_QUANTUM) { - char namebuf[DNS_NAME_FORMATSIZE]; + char namebuf[DNS_NAME_FORMATSIZE]; dns_rdatasetiter_t *rdsiter = NULL; result = dns_dbiterator_current(rpz->updbit, &node, name); @@ -1899,18 +1897,19 @@ update_quantum(isc_task_t *task, isc_event_t *event) { dns_rdatasetiter_destroy(&rdsiter); if (result != ISC_R_SUCCESS) { /* empty non-terminal */ if (result != ISC_R_NOMORE) - isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, - DNS_LOGMODULE_MASTER, ISC_LOG_ERROR, - "rpz: %s: error %s while creating " - "rdatasetiter", - domain, isc_result_totext(result)); + isc_log_write( + dns_lctx, DNS_LOGCATEGORY_GENERAL, + DNS_LOGMODULE_MASTER, ISC_LOG_ERROR, + "rpz: %s: error %s while creating " + "rdatasetiter", + domain, isc_result_totext(result)); dns_db_detachnode(rpz->updb, &node); result = dns_dbiterator_next(rpz->updbit); continue; } - result = isc_ht_add(rpz->newnodes, name->ndata, - name->length, rpz); + result = isc_ht_add(rpz->newnodes, name->ndata, name->length, + rpz); if (result != ISC_R_SUCCESS) { dns_name_format(name, namebuf, sizeof(namebuf)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, @@ -1923,16 +1922,15 @@ update_quantum(isc_task_t *task, isc_event_t *event) { continue; } - result = isc_ht_find(rpz->nodes, name->ndata, - name->length, NULL); + result = isc_ht_find(rpz->nodes, name->ndata, name->length, + NULL); if (result == ISC_R_SUCCESS) { isc_ht_delete(rpz->nodes, name->ndata, name->length); } else { /* not found */ result = dns_rpz_add(rpz->rpzs, rpz->num, name); if (result != ISC_R_SUCCESS) { dns_name_format(name, namebuf, sizeof(namebuf)); - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_GENERAL, + isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTER, ISC_LOG_ERROR, "rpz: %s: adding node %s " @@ -1941,12 +1939,11 @@ update_quantum(isc_task_t *task, isc_event_t *event) { isc_result_totext(result)); } else { dns_name_format(name, namebuf, sizeof(namebuf)); - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_GENERAL, + isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTER, ISC_LOG_DEBUG(3), - "rpz: %s: adding node %s", - domain, namebuf); + "rpz: %s: adding node %s", domain, + namebuf); } } @@ -1964,11 +1961,9 @@ update_quantum(isc_task_t *task, isc_event_t *event) { * We finished a quantum; trigger the next one and return */ INSIST(!ISC_LINK_LINKED(&rpz->updateevent, ev_link)); - ISC_EVENT_INIT(&rpz->updateevent, - sizeof(rpz->updateevent), 0, NULL, - DNS_EVENT_RPZUPDATED, - update_quantum, - rpz, rpz, NULL, NULL); + ISC_EVENT_INIT(&rpz->updateevent, sizeof(rpz->updateevent), 0, + NULL, DNS_EVENT_RPZUPDATED, update_quantum, rpz, + rpz, NULL, NULL); nevent = &rpz->updateevent; isc_task_send(rpz->rpzs->updater, &nevent); return; @@ -1996,7 +1991,8 @@ update_quantum(isc_task_t *task, isc_event_t *event) { } static void -dns_rpz_update_from_db(dns_rpz_zone_t *rpz) { +dns_rpz_update_from_db(dns_rpz_zone_t *rpz) +{ isc_result_t result; isc_event_t *event; @@ -2019,13 +2015,13 @@ dns_rpz_update_from_db(dns_rpz_zone_t *rpz) { event = &rpz->updateevent; INSIST(!ISC_LINK_LINKED(&rpz->updateevent, ev_link)); - ISC_EVENT_INIT(&rpz->updateevent, sizeof(rpz->updateevent), - 0, NULL, DNS_EVENT_RPZUPDATED, - update_quantum, rpz, rpz, NULL, NULL); + ISC_EVENT_INIT(&rpz->updateevent, sizeof(rpz->updateevent), 0, NULL, + DNS_EVENT_RPZUPDATED, update_quantum, rpz, rpz, NULL, + NULL); isc_task_send(rpz->rpzs->updater, &event); return; - cleanup: +cleanup: if (rpz->updbit != NULL) dns_dbiterator_destroy(&rpz->updbit); if (rpz->newnodes != NULL) @@ -2039,7 +2035,8 @@ dns_rpz_update_from_db(dns_rpz_zone_t *rpz) { * Free the radix tree of a response policy database. */ static void -cidr_free(dns_rpz_zones_t *rpzs) { +cidr_free(dns_rpz_zones_t *rpzs) +{ dns_rpz_cidr_node_t *cur, *child, *parent; cur = rpzs->cidr; @@ -2072,8 +2069,9 @@ cidr_free(dns_rpz_zones_t *rpzs) { * before discarding the overall rpz structure. */ static void -rpz_detach(dns_rpz_zone_t **rpzp) { - dns_rpz_zone_t *rpz; +rpz_detach(dns_rpz_zone_t **rpzp) +{ + dns_rpz_zone_t * rpz; dns_rpz_zones_t *rpzs; REQUIRE(rpzp != NULL && *rpzp != NULL); @@ -2130,12 +2128,13 @@ rpz_detach(dns_rpz_zone_t **rpzp) { if (rpz->newnodes != NULL) { isc_ht_destroy(&rpz->newnodes); } - dns_db_closeversion(rpz->updb, &rpz->updbversion, false); + dns_db_closeversion(rpz->updb, &rpz->updbversion, + false); dns_db_detach(&rpz->updb); } - isc_timer_reset(rpz->updatetimer, isc_timertype_inactive, - NULL, NULL, true); + isc_timer_reset(rpz->updatetimer, isc_timertype_inactive, NULL, + NULL, true); isc_timer_detach(&rpz->updatetimer); isc_ht_destroy(&rpz->nodes); @@ -2146,7 +2145,8 @@ rpz_detach(dns_rpz_zone_t **rpzp) { } void -dns_rpz_attach_rpzs(dns_rpz_zones_t *rpzs, dns_rpz_zones_t **rpzsp) { +dns_rpz_attach_rpzs(dns_rpz_zones_t *rpzs, dns_rpz_zones_t **rpzsp) +{ REQUIRE(rpzsp != NULL && *rpzsp == NULL); isc_refcount_increment(&rpzs->refs); *rpzsp = rpzs; @@ -2156,23 +2156,21 @@ dns_rpz_attach_rpzs(dns_rpz_zones_t *rpzs, dns_rpz_zones_t **rpzsp) { * Forget a view's policy zones. */ void -dns_rpz_detach_rpzs(dns_rpz_zones_t **rpzsp) { +dns_rpz_detach_rpzs(dns_rpz_zones_t **rpzsp) +{ REQUIRE(rpzsp != NULL && *rpzsp != NULL); dns_rpz_zones_t *rpzs = *rpzsp; *rpzsp = NULL; if (isc_refcount_decrement(&rpzs->refs) == 1) { - isc_task_destroy(&rpzs->updater); /* * Forget the last of view's rpz machinery after * the last reference. */ - for (dns_rpz_num_t rpz_num = 0; - rpz_num < DNS_RPZ_MAX_ZONES; - ++rpz_num) - { + for (dns_rpz_num_t rpz_num = 0; rpz_num < DNS_RPZ_MAX_ZONES; + ++rpz_num) { dns_rpz_zone_t *rpz = rpzs->zones[rpz_num]; rpzs->zones[rpz_num] = NULL; if (rpz != NULL) { @@ -2184,7 +2182,8 @@ dns_rpz_detach_rpzs(dns_rpz_zones_t **rpzsp) { } static void -rpz_detach_rpzs(dns_rpz_zones_t **rpzsp) { +rpz_detach_rpzs(dns_rpz_zones_t **rpzsp) +{ REQUIRE(rpzsp != NULL && *rpzsp != NULL); dns_rpz_zones_t *rpzs = *rpzsp; *rpzsp = NULL; @@ -2213,8 +2212,8 @@ rpz_detach_rpzs(dns_rpz_zones_t **rpzsp) { * Deprecated and removed. */ isc_result_t -dns_rpz_beginload(dns_rpz_zones_t **load_rpzsp, - dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num) +dns_rpz_beginload(dns_rpz_zones_t **load_rpzsp, dns_rpz_zones_t *rpzs, + dns_rpz_num_t rpz_num) { UNUSED(load_rpzsp); UNUSED(rpzs); @@ -2227,8 +2226,8 @@ dns_rpz_beginload(dns_rpz_zones_t **load_rpzsp, * Deprecated and removed. */ isc_result_t -dns_rpz_ready(dns_rpz_zones_t *rpzs, - dns_rpz_zones_t **load_rpzsp, dns_rpz_num_t rpz_num) +dns_rpz_ready(dns_rpz_zones_t *rpzs, dns_rpz_zones_t **load_rpzsp, + dns_rpz_num_t rpz_num) { UNUSED(rpzs); UNUSED(load_rpzsp); @@ -2245,8 +2244,8 @@ dns_rpz_add(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, const dns_name_t *src_name) { dns_rpz_zone_t *rpz; - dns_rpz_type_t rpz_type; - isc_result_t result = ISC_R_FAILURE; + dns_rpz_type_t rpz_type; + isc_result_t result = ISC_R_FAILURE; REQUIRE(rpzs != NULL && rpz_num < rpzs->p.num_zones); rpz = rpzs->zones[rpz_num]; @@ -2255,7 +2254,6 @@ dns_rpz_add(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, rpz_type = type_from_name(rpzs, rpz, src_name); - switch (rpz_type) { case DNS_RPZ_TYPE_QNAME: case DNS_RPZ_TYPE_NSDNAME: @@ -2278,12 +2276,12 @@ dns_rpz_add(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, * Remove an IP address from the radix tree. */ static void -del_cidr(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, - dns_rpz_type_t rpz_type, const dns_name_t *src_name) +del_cidr(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, dns_rpz_type_t rpz_type, + const dns_name_t *src_name) { - isc_result_t result; - dns_rpz_cidr_key_t tgt_ip; - dns_rpz_prefix_t tgt_prefix; + isc_result_t result; + dns_rpz_cidr_key_t tgt_ip; + dns_rpz_prefix_t tgt_prefix; dns_rpz_addr_zbits_t tgt_set; dns_rpz_cidr_node_t *tgt, *parent, *child; @@ -2322,8 +2320,7 @@ del_cidr(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, tgt->set.nsip &= ~tgt_set.nsip; set_sum_pair(tgt); - adj_trigger_cnt(rpzs, rpz_num, rpz_type, &tgt_ip, tgt_prefix, - false); + adj_trigger_cnt(rpzs, rpz_num, rpz_type, &tgt_ip, tgt_prefix, false); /* * We might need to delete 2 nodes. @@ -2339,8 +2336,7 @@ del_cidr(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, } else { child = tgt->child[1]; } - if (tgt->set.client_ip != 0 || - tgt->set.ip != 0 || + if (tgt->set.client_ip != 0 || tgt->set.ip != 0 || tgt->set.nsip != 0) break; @@ -2366,16 +2362,16 @@ del_cidr(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, } static void -del_name(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, - dns_rpz_type_t rpz_type, const dns_name_t *src_name) +del_name(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, dns_rpz_type_t rpz_type, + const dns_name_t *src_name) { - char namebuf[DNS_NAME_FORMATSIZE]; - dns_fixedname_t trig_namef; - dns_name_t *trig_name; - dns_rbtnode_t *nmnode; + char namebuf[DNS_NAME_FORMATSIZE]; + dns_fixedname_t trig_namef; + dns_name_t * trig_name; + dns_rbtnode_t * nmnode; dns_rpz_nm_data_t *nm_data, del_data; - isc_result_t result; - bool exists; + isc_result_t result; + bool exists; /* * We need a summary database of names even with 1 policy zone, @@ -2395,8 +2391,7 @@ del_name(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, * that were later added for (often empty) wildcards * and then to the RBTDB deferred cleanup list. */ - if (result == ISC_R_NOTFOUND || - result == DNS_R_PARTIALMATCH) + if (result == ISC_R_NOTFOUND || result == DNS_R_PARTIALMATCH) return; dns_name_format(src_name, namebuf, sizeof(namebuf)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_RPZ, @@ -2454,7 +2449,7 @@ dns_rpz_delete(dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num, const dns_name_t *src_name) { dns_rpz_zone_t *rpz; - dns_rpz_type_t rpz_type; + dns_rpz_type_t rpz_type; REQUIRE(rpzs != NULL && rpz_num < rpzs->p.num_zones); rpz = rpzs->zones[rpz_num]; @@ -2494,13 +2489,13 @@ dns_rpz_find_ip(dns_rpz_zones_t *rpzs, dns_rpz_type_t rpz_type, dns_rpz_zbits_t zbits, const isc_netaddr_t *netaddr, dns_name_t *ip_name, dns_rpz_prefix_t *prefixp) { - dns_rpz_cidr_key_t tgt_ip; + dns_rpz_cidr_key_t tgt_ip; dns_rpz_addr_zbits_t tgt_set; dns_rpz_cidr_node_t *found; - isc_result_t result; - dns_rpz_num_t rpz_num = 0; - dns_rpz_have_t have; - int i; + isc_result_t result; + dns_rpz_num_t rpz_num = 0; + dns_rpz_have_t have; + int i; RWLOCK(&rpzs->search_lock, isc_rwlocktype_read); have = rpzs->have; @@ -2614,13 +2609,13 @@ dns_rpz_zbits_t dns_rpz_find_name(dns_rpz_zones_t *rpzs, dns_rpz_type_t rpz_type, dns_rpz_zbits_t zbits, dns_name_t *trig_name) { - char namebuf[DNS_NAME_FORMATSIZE]; - dns_rbtnode_t *nmnode; + char namebuf[DNS_NAME_FORMATSIZE]; + dns_rbtnode_t * nmnode; const dns_rpz_nm_data_t *nm_data; - dns_rpz_zbits_t found_zbits; - dns_rbtnodechain_t chain; - isc_result_t result; - int i; + dns_rpz_zbits_t found_zbits; + dns_rbtnodechain_t chain; + isc_result_t result; + int i; if (zbits == 0) { return (0); @@ -2633,8 +2628,8 @@ dns_rpz_find_name(dns_rpz_zones_t *rpzs, dns_rpz_type_t rpz_type, RWLOCK(&rpzs->search_lock, isc_rwlocktype_read); nmnode = NULL; - result = dns_rbt_findnode(rpzs->rbt, trig_name, NULL, &nmnode, - &chain, DNS_RBTFIND_EMPTYDATA, NULL, NULL); + result = dns_rbt_findnode(rpzs->rbt, trig_name, NULL, &nmnode, &chain, + DNS_RBTFIND_EMPTYDATA, NULL, NULL); switch (result) { case ISC_R_SUCCESS: nm_data = nmnode->data; @@ -2672,8 +2667,8 @@ dns_rpz_find_name(dns_rpz_zones_t *rpzs, dns_rpz_type_t rpz_type, dns_name_format(trig_name, namebuf, sizeof(namebuf)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_RPZ, DNS_LOGMODULE_RBTDB, DNS_RPZ_ERROR_LEVEL, - "dns_rpz_find_name(%s) failed: %s", - namebuf, isc_result_totext(result)); + "dns_rpz_find_name(%s) failed: %s", namebuf, + isc_result_totext(result)); break; } @@ -2691,9 +2686,9 @@ dns_rpz_policy_t dns_rpz_decode_cname(dns_rpz_zone_t *rpz, dns_rdataset_t *rdataset, dns_name_t *selfname) { - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_cname_t cname; - isc_result_t result; + isc_result_t result; result = dns_rdataset_first(rdataset); INSIST(result == ISC_R_SUCCESS); diff --git a/lib/dns/rriterator.c b/lib/dns/rriterator.c index d8cd9334d0..08a02afbe3 100644 --- a/lib/dns/rriterator.c +++ b/lib/dns/rriterator.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ /*** @@ -51,13 +50,14 @@ dns_rriterator_init(dns_rriterator_t *it, dns_db_t *db, dns_dbversion_t *ver, dns_rdata_init(&it->rdata); dns_rdataset_init(&it->rdataset); dns_fixedname_init(&it->fixedname); - INSIST(! dns_rdataset_isassociated(&it->rdataset)); + INSIST(!dns_rdataset_isassociated(&it->rdataset)); it->result = ISC_R_SUCCESS; return (it->result); } isc_result_t -dns_rriterator_first(dns_rriterator_t *it) { +dns_rriterator_first(dns_rriterator_t *it) +{ REQUIRE(VALID_RRITERATOR(it)); /* Reset state */ if (dns_rdataset_isassociated(&it->rdataset)) @@ -73,8 +73,9 @@ dns_rriterator_first(dns_rriterator_t *it) { * Walk the tree to find the first node with data. */ while (it->result == ISC_R_SUCCESS) { - it->result = dns_dbiterator_current(it->dbit, &it->node, - dns_fixedname_name(&it->fixedname)); + it->result = dns_dbiterator_current( + it->dbit, &it->node, + dns_fixedname_name(&it->fixedname)); if (it->result != ISC_R_SUCCESS) return (it->result); @@ -104,7 +105,8 @@ dns_rriterator_first(dns_rriterator_t *it) { } isc_result_t -dns_rriterator_nextrrset(dns_rriterator_t *it) { +dns_rriterator_nextrrset(dns_rriterator_t *it) +{ REQUIRE(VALID_RRITERATOR(it)); if (dns_rdataset_isassociated(&it->rdataset)) dns_rdataset_disassociate(&it->rdataset); @@ -123,8 +125,9 @@ dns_rriterator_nextrrset(dns_rriterator_t *it) { } if (it->result != ISC_R_SUCCESS) return (it->result); - it->result = dns_dbiterator_current(it->dbit, &it->node, - dns_fixedname_name(&it->fixedname)); + it->result = dns_dbiterator_current( + it->dbit, &it->node, + dns_fixedname_name(&it->fixedname)); if (it->result != ISC_R_SUCCESS) return (it->result); it->result = dns_db_allrdatasets(it->db, it->node, it->ver, @@ -144,7 +147,8 @@ dns_rriterator_nextrrset(dns_rriterator_t *it) { } isc_result_t -dns_rriterator_next(dns_rriterator_t *it) { +dns_rriterator_next(dns_rriterator_t *it) +{ REQUIRE(VALID_RRITERATOR(it)); if (it->result != ISC_R_SUCCESS) return (it->result); @@ -160,13 +164,15 @@ dns_rriterator_next(dns_rriterator_t *it) { } void -dns_rriterator_pause(dns_rriterator_t *it) { +dns_rriterator_pause(dns_rriterator_t *it) +{ REQUIRE(VALID_RRITERATOR(it)); RUNTIME_CHECK(dns_dbiterator_pause(it->dbit) == ISC_R_SUCCESS); } void -dns_rriterator_destroy(dns_rriterator_t *it) { +dns_rriterator_destroy(dns_rriterator_t *it) +{ REQUIRE(VALID_RRITERATOR(it)); if (dns_rdataset_isassociated(&it->rdataset)) dns_rdataset_disassociate(&it->rdataset); @@ -178,9 +184,8 @@ dns_rriterator_destroy(dns_rriterator_t *it) { } void -dns_rriterator_current(dns_rriterator_t *it, dns_name_t **name, - uint32_t *ttl, dns_rdataset_t **rdataset, - dns_rdata_t **rdata) +dns_rriterator_current(dns_rriterator_t *it, dns_name_t **name, uint32_t *ttl, + dns_rdataset_t **rdataset, dns_rdata_t **rdata) { REQUIRE(name != NULL && *name == NULL); REQUIRE(VALID_RRITERATOR(it)); diff --git a/lib/dns/rrl.c b/lib/dns/rrl.c index 03f14359b8..56ab4e8403 100644 --- a/lib/dns/rrl.c +++ b/lib/dns/rrl.c @@ -26,17 +26,17 @@ #include #include -#include -#include -#include -#include #include +#include +#include +#include +#include #include #include static void -log_end(dns_rrl_t *rrl, dns_rrl_entry_t *e, bool early, - char *log_buf, unsigned int log_buf_len); +log_end(dns_rrl_t *rrl, dns_rrl_entry_t *e, bool early, char *log_buf, + unsigned int log_buf_len); /* * Get a modulus for a hash function that is tolerably likely to be @@ -47,10 +47,33 @@ log_end(dns_rrl_t *rrl, dns_rrl_entry_t *e, bool early, * times the square of the last prime and better than a multiplicative hash. */ static int -hash_divisor(unsigned int initial) { +hash_divisor(unsigned int initial) +{ static uint16_t primes[] = { - 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, - 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, + 3, + 5, + 7, + 11, + 13, + 17, + 19, + 23, + 29, + 31, + 37, + 41, + 43, + 47, + 53, + 59, + 61, + 67, + 71, + 73, + 79, + 83, + 89, + 97, #if 0 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, @@ -66,13 +89,13 @@ hash_divisor(unsigned int initial) { 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997,1009, #endif }; - int divisions, tries; + int divisions, tries; unsigned int result; - uint16_t *pp, p; + uint16_t * pp, p; result = initial; - if (primes[sizeof(primes)/sizeof(primes[0])-1] >= result) { + if (primes[sizeof(primes) / sizeof(primes[0]) - 1] >= result) { pp = primes; while (*pp < result) ++pp; @@ -109,7 +132,8 @@ hash_divisor(unsigned int initial) { * Convert a timestamp to a number of seconds in the past. */ static inline int -delta_rrl_time(isc_stdtime_t ts, isc_stdtime_t now) { +delta_rrl_time(isc_stdtime_t ts, isc_stdtime_t now) +{ int delta; delta = now - ts; @@ -129,17 +153,19 @@ delta_rrl_time(isc_stdtime_t ts, isc_stdtime_t now) { } static inline int -get_age(const dns_rrl_t *rrl, const dns_rrl_entry_t *e, isc_stdtime_t now) { +get_age(const dns_rrl_t *rrl, const dns_rrl_entry_t *e, isc_stdtime_t now) +{ if (!e->ts_valid) return (DNS_RRL_FOREVER); return (delta_rrl_time(e->ts + rrl->ts_bases[e->ts_gen], now)); } static inline void -set_age(dns_rrl_t *rrl, dns_rrl_entry_t *e, isc_stdtime_t now) { +set_age(dns_rrl_t *rrl, dns_rrl_entry_t *e, isc_stdtime_t now) +{ dns_rrl_entry_t *e_old; - unsigned int ts_gen; - int i, ts; + unsigned int ts_gen; + int i, ts; ts_gen = rrl->ts_gen; ts = now - rrl->ts_bases[ts_gen]; @@ -167,22 +193,19 @@ set_age(dns_rrl_t *rrl, dns_rrl_entry_t *e, isc_stdtime_t now) { for (e_old = ISC_LIST_TAIL(rrl->lru), i = 0; e_old != NULL && (e_old->ts_gen == ts_gen || !ISC_LINK_LINKED(e_old, hlink)); - e_old = ISC_LIST_PREV(e_old, lru), ++i) - { + e_old = ISC_LIST_PREV(e_old, lru), ++i) { e_old->ts_valid = false; } if (i != 0) - isc_log_write(dns_lctx, DNS_LOGCATEGORY_RRL, - DNS_LOGMODULE_REQUEST, DNS_RRL_LOG_DEBUG1, - "rrl new time base scanned %d entries" - " at %d for %d %d %d %d", - i, now, rrl->ts_bases[ts_gen], - rrl->ts_bases[(ts_gen + 1) % - DNS_RRL_TS_BASES], - rrl->ts_bases[(ts_gen + 2) % - DNS_RRL_TS_BASES], - rrl->ts_bases[(ts_gen + 3) % - DNS_RRL_TS_BASES]); + isc_log_write( + dns_lctx, DNS_LOGCATEGORY_RRL, + DNS_LOGMODULE_REQUEST, DNS_RRL_LOG_DEBUG1, + "rrl new time base scanned %d entries" + " at %d for %d %d %d %d", + i, now, rrl->ts_bases[ts_gen], + rrl->ts_bases[(ts_gen + 1) % DNS_RRL_TS_BASES], + rrl->ts_bases[(ts_gen + 2) % DNS_RRL_TS_BASES], + rrl->ts_bases[(ts_gen + 3) % DNS_RRL_TS_BASES]); rrl->ts_gen = ts_gen; rrl->ts_bases[ts_gen] = now; ts = 0; @@ -194,16 +217,16 @@ set_age(dns_rrl_t *rrl, dns_rrl_entry_t *e, isc_stdtime_t now) { } static isc_result_t -expand_entries(dns_rrl_t *rrl, int newsize) { - unsigned int bsize; +expand_entries(dns_rrl_t *rrl, int newsize) +{ + unsigned int bsize; dns_rrl_block_t *b; dns_rrl_entry_t *e; - double rate; - int i; + double rate; + int i; if (rrl->num_entries + newsize >= rrl->max_entries && - rrl->max_entries != 0) - { + rrl->max_entries != 0) { newsize = rrl->max_entries - rrl->num_entries; if (newsize <= 0) return (ISC_R_SUCCESS); @@ -213,8 +236,7 @@ expand_entries(dns_rrl_t *rrl, int newsize) { * Log expansions so that the user can tune max-table-size * and min-table-size. */ - if (isc_log_wouldlog(dns_lctx, DNS_RRL_LOG_DROP) && - rrl->hash != NULL) { + if (isc_log_wouldlog(dns_lctx, DNS_RRL_LOG_DROP) && rrl->hash != NULL) { rate = rrl->probes; if (rrl->searches != 0) rate /= rrl->searches; @@ -222,11 +244,12 @@ expand_entries(dns_rrl_t *rrl, int newsize) { DNS_LOGMODULE_REQUEST, DNS_RRL_LOG_DROP, "increase from %d to %d RRL entries with" " %d bins; average search length %.1f", - rrl->num_entries, rrl->num_entries+newsize, + rrl->num_entries, rrl->num_entries + newsize, rrl->hash->length, rate); } - bsize = sizeof(dns_rrl_block_t) + (newsize-1)*sizeof(dns_rrl_entry_t); + bsize = sizeof(dns_rrl_block_t) + + (newsize - 1) * sizeof(dns_rrl_entry_t); b = isc_mem_get(rrl->mctx, bsize); memset(b, 0, bsize); b->size = bsize; @@ -243,22 +266,22 @@ expand_entries(dns_rrl_t *rrl, int newsize) { } static inline dns_rrl_bin_t * -get_bin(dns_rrl_hash_t *hash, unsigned int hval) { +get_bin(dns_rrl_hash_t *hash, unsigned int hval) +{ INSIST(hash != NULL); return (&hash->bins[hval % hash->length]); } static void -free_old_hash(dns_rrl_t *rrl) { - dns_rrl_hash_t *old_hash; - dns_rrl_bin_t *old_bin; +free_old_hash(dns_rrl_t *rrl) +{ + dns_rrl_hash_t * old_hash; + dns_rrl_bin_t * old_bin; dns_rrl_entry_t *e, *e_next; old_hash = rrl->old_hash; for (old_bin = &old_hash->bins[0]; - old_bin < &old_hash->bins[old_hash->length]; - ++old_bin) - { + old_bin < &old_hash->bins[old_hash->length]; ++old_bin) { for (e = ISC_LIST_HEAD(*old_bin); e != NULL; e = e_next) { e_next = ISC_LIST_NEXT(e, hlink); ISC_LINK_INIT(e, hlink); @@ -266,16 +289,17 @@ free_old_hash(dns_rrl_t *rrl) { } isc_mem_put(rrl->mctx, old_hash, - sizeof(*old_hash) - + (old_hash->length - 1) * sizeof(old_hash->bins[0])); + sizeof(*old_hash) + + (old_hash->length - 1) * sizeof(old_hash->bins[0])); rrl->old_hash = NULL; } static isc_result_t -expand_rrl_hash(dns_rrl_t *rrl, isc_stdtime_t now) { +expand_rrl_hash(dns_rrl_t *rrl, isc_stdtime_t now) +{ dns_rrl_hash_t *hash; - int old_bins, new_bins, hsize; - double rate; + int old_bins, new_bins, hsize; + double rate; if (rrl->old_hash != NULL) free_old_hash(rrl); @@ -285,12 +309,12 @@ expand_rrl_hash(dns_rrl_t *rrl, isc_stdtime_t now) { * Use a small hash table load factor. */ old_bins = (rrl->hash == NULL) ? 0 : rrl->hash->length; - new_bins = old_bins/8 + old_bins; + new_bins = old_bins / 8 + old_bins; if (new_bins < rrl->num_entries) new_bins = rrl->num_entries; new_bins = hash_divisor(new_bins); - hsize = sizeof(dns_rrl_hash_t) + (new_bins-1)*sizeof(hash->bins[0]); + hsize = sizeof(dns_rrl_hash_t) + (new_bins - 1) * sizeof(hash->bins[0]); hash = isc_mem_get(rrl->mctx, hsize); memset(hash, 0, hsize); hash->length = new_bins; @@ -317,7 +341,8 @@ expand_rrl_hash(dns_rrl_t *rrl, isc_stdtime_t now) { } static void -ref_entry(dns_rrl_t *rrl, dns_rrl_entry_t *e, int probes, isc_stdtime_t now) { +ref_entry(dns_rrl_t *rrl, dns_rrl_entry_t *e, int probes, isc_stdtime_t now) +{ /* * Make the entry most recently used. */ @@ -338,7 +363,7 @@ ref_entry(dns_rrl_t *rrl, dns_rrl_entry_t *e, int probes, isc_stdtime_t now) { ++rrl->searches; if (rrl->searches > 100 && delta_rrl_time(rrl->hash->check_time, now) > 1) { - if (rrl->probes/rrl->searches > 2) + if (rrl->probes / rrl->searches > 2) expand_rrl_hash(rrl, now); rrl->hash->check_time = now; rrl->probes = 0; @@ -347,20 +372,22 @@ ref_entry(dns_rrl_t *rrl, dns_rrl_entry_t *e, int probes, isc_stdtime_t now) { } static inline bool -key_cmp(const dns_rrl_key_t *a, const dns_rrl_key_t *b) { +key_cmp(const dns_rrl_key_t *a, const dns_rrl_key_t *b) +{ if (memcmp(a, b, sizeof(dns_rrl_key_t)) == 0) return (true); return (false); } static inline uint32_t -hash_key(const dns_rrl_key_t *key) { +hash_key(const dns_rrl_key_t *key) +{ uint32_t hval; - int i; + int i; hval = key->w[0]; for (i = sizeof(key->w) / sizeof(key->w[0]) - 1; i >= 0; --i) { - hval = key->w[i] + (hval<<1); + hval = key->w[i] + (hval << 1); } return (hval); } @@ -380,9 +407,9 @@ make_key(const dns_rrl_t *rrl, dns_rrl_key_t *key, const dns_name_t *qname, dns_rdataclass_t qclass, dns_rrl_rtype_t rtype) { - dns_name_t base; + dns_name_t base; dns_offsets_t base_offsets; - int labels, i; + int labels, i; memset(key, 0, sizeof(*key)); @@ -404,35 +431,33 @@ make_key(const dns_rrl_t *rrl, dns_rrl_key_t *key, * Ignore the first label of wildcards. */ if ((qname->attributes & DNS_NAMEATTR_WILDCARD) != 0 && - (labels = dns_name_countlabels(qname)) > 1) - { + (labels = dns_name_countlabels(qname)) > 1) { dns_name_init(&base, base_offsets); - dns_name_getlabelsequence(qname, 1, labels-1, &base); - key->s.qname_hash = - dns_name_fullhash(&base, false); + dns_name_getlabelsequence(qname, 1, labels - 1, &base); + key->s.qname_hash = dns_name_fullhash(&base, false); } else { - key->s.qname_hash = - dns_name_fullhash(qname, false); + key->s.qname_hash = dns_name_fullhash(qname, false); } } switch (client_addr->type.sa.sa_family) { case AF_INET: key->s.ip[0] = (client_addr->type.sin.sin_addr.s_addr & - rrl->ipv4_mask); + rrl->ipv4_mask); break; case AF_INET6: key->s.ipv6 = true; memmove(key->s.ip, &client_addr->type.sin6.sin6_addr, sizeof(key->s.ip)); - for (i = 0; i < DNS_RRL_MAX_PREFIX/32; ++i) + for (i = 0; i < DNS_RRL_MAX_PREFIX / 32; ++i) key->s.ip[i] &= rrl->ipv6_mask[i]; break; } } static inline dns_rrl_rate_t * -get_rate(dns_rrl_t *rrl, dns_rrl_rtype_t rtype) { +get_rate(dns_rrl_t *rrl, dns_rrl_rtype_t rtype) +{ switch (rtype) { case DNS_RRL_RTYPE_QUERY: return (&rrl->responses_per_second); @@ -453,9 +478,10 @@ get_rate(dns_rrl_t *rrl, dns_rrl_rtype_t rtype) { } static int -response_balance(dns_rrl_t *rrl, const dns_rrl_entry_t *e, int age) { +response_balance(dns_rrl_t *rrl, const dns_rrl_entry_t *e, int age) +{ dns_rrl_rate_t *ratep; - int balance, rate; + int balance, rate; if (e->key.s.rtype == DNS_RRL_RTYPE_TCP) { rate = 1; @@ -479,12 +505,12 @@ get_entry(dns_rrl_t *rrl, const isc_sockaddr_t *client_addr, const dns_name_t *qname, dns_rrl_rtype_t rtype, isc_stdtime_t now, bool create, char *log_buf, unsigned int log_buf_len) { - dns_rrl_key_t key; - uint32_t hval; + dns_rrl_key_t key; + uint32_t hval; dns_rrl_entry_t *e; - dns_rrl_hash_t *hash; - dns_rrl_bin_t *new_bin, *old_bin; - int probes, age; + dns_rrl_hash_t * hash; + dns_rrl_bin_t * new_bin, *old_bin; + int probes, age; make_key(rrl, &key, client_addr, qtype, qname, qclass, rtype); hval = hash_key(&key); @@ -538,10 +564,8 @@ get_entry(dns_rrl_t *rrl, const isc_sockaddr_t *client_addr, * Try to make more entries if none are idle. * Steal the oldest entry if we cannot create more. */ - for (e = ISC_LIST_TAIL(rrl->lru); - e != NULL; - e = ISC_LIST_PREV(e, lru)) - { + for (e = ISC_LIST_TAIL(rrl->lru); e != NULL; + e = ISC_LIST_PREV(e, lru)) { if (!ISC_LINK_LINKED(e, hlink)) break; age = get_age(rrl, e, now); @@ -553,7 +577,7 @@ get_entry(dns_rrl_t *rrl, const isc_sockaddr_t *client_addr, break; } if (e == NULL) { - expand_entries(rrl, ISC_MIN((rrl->num_entries+1)/2, 1000)); + expand_entries(rrl, ISC_MIN((rrl->num_entries + 1) / 2, 1000)); e = ISC_LIST_TAIL(rrl->lru); } if (e->logged) @@ -575,8 +599,9 @@ get_entry(dns_rrl_t *rrl, const isc_sockaddr_t *client_addr, } static void -debit_log(const dns_rrl_entry_t *e, int age, const char *action) { - char buf[sizeof("age=2147483647")]; +debit_log(const dns_rrl_entry_t *e, int age, const char *action) +{ + char buf[sizeof("age=2147483647")]; const char *age_str; if (age == DNS_RRL_FOREVER) { @@ -585,9 +610,8 @@ debit_log(const dns_rrl_entry_t *e, int age, const char *action) { snprintf(buf, sizeof(buf), "age=%d", age); age_str = buf; } - isc_log_write(dns_lctx, DNS_LOGCATEGORY_RRL, - DNS_LOGMODULE_REQUEST, DNS_RRL_LOG_DEBUG3, - "rrl %08x %6s responses=%-3d %s", + isc_log_write(dns_lctx, DNS_LOGCATEGORY_RRL, DNS_LOGMODULE_REQUEST, + DNS_RRL_LOG_DEBUG3, "rrl %08x %6s responses=%-3d %s", hash_key(&e->key), age_str, e->responses, action); } @@ -596,7 +620,7 @@ debit_rrl_entry(dns_rrl_t *rrl, dns_rrl_entry_t *e, double qps, double scale, const isc_sockaddr_t *client_addr, isc_stdtime_t now, char *log_buf, unsigned int log_buf_len) { - int rate, new_rate, slip, new_slip, age, log_secs, min; + int rate, new_rate, slip, new_slip, age, log_secs, min; dns_rrl_rate_t *ratep; dns_rrl_entry_t const *credit_e; @@ -613,9 +637,8 @@ debit_rrl_entry(dns_rrl_t *rrl, dns_rrl_entry_t *e, double qps, double scale, /* * The limit for clients that have used TCP is not scaled. */ - credit_e = get_entry(rrl, client_addr, - 0, dns_rdatatype_none, NULL, - DNS_RRL_RTYPE_TCP, now, false, + credit_e = get_entry(rrl, client_addr, 0, dns_rdatatype_none, + NULL, DNS_RRL_RTYPE_TCP, now, false, log_buf, log_buf_len); if (credit_e != NULL) { age = get_age(rrl, e, now); @@ -624,17 +647,16 @@ debit_rrl_entry(dns_rrl_t *rrl, dns_rrl_entry_t *e, double qps, double scale, } } if (scale < 1.0) { - new_rate = (int) (rate * scale); + new_rate = (int)(rate * scale); if (new_rate < 1) new_rate = 1; if (ratep->scaled != new_rate) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_RRL, - DNS_LOGMODULE_REQUEST, - DNS_RRL_LOG_DEBUG1, + DNS_LOGMODULE_REQUEST, DNS_RRL_LOG_DEBUG1, "%d qps scaled %s by %.2f" " from %d to %d", - (int)qps, ratep->str, scale, - rate, new_rate); + (int)qps, ratep->str, scale, rate, + new_rate); rate = new_rate; ratep->scaled = rate; } @@ -656,7 +678,7 @@ debit_rrl_entry(dns_rrl_t *rrl, dns_rrl_entry_t *e, double qps, double scale, e->responses = rate; e->slip_cnt = 0; } else { - e->responses += rate*age; + e->responses += rate * age; if (e->responses > rate) { e->responses = rate; e->slip_cnt = 0; @@ -697,29 +719,27 @@ debit_rrl_entry(dns_rrl_t *rrl, dns_rrl_entry_t *e, double qps, double scale, */ slip = rrl->slip.r; if (slip > 2 && scale < 1.0) { - new_slip = (int) (slip * scale); + new_slip = (int)(slip * scale); if (new_slip < 2) new_slip = 2; if (rrl->slip.scaled != new_slip) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_RRL, - DNS_LOGMODULE_REQUEST, - DNS_RRL_LOG_DEBUG1, + DNS_LOGMODULE_REQUEST, DNS_RRL_LOG_DEBUG1, "%d qps scaled slip" " by %.2f from %d to %d", - (int)qps, scale, - slip, new_slip); + (int)qps, scale, slip, new_slip); slip = new_slip; rrl->slip.scaled = slip; } } if (slip != 0 && e->key.s.rtype != DNS_RRL_RTYPE_ALL) { if (e->slip_cnt++ == 0) { - if ((int) e->slip_cnt >= slip) + if ((int)e->slip_cnt >= slip) e->slip_cnt = 0; if (isc_log_wouldlog(dns_lctx, DNS_RRL_LOG_DEBUG3)) debit_log(e, age, "slip"); return (DNS_RRL_RESULT_SLIP); - } else if ((int) e->slip_cnt >= slip) { + } else if ((int)e->slip_cnt >= slip) { e->slip_cnt = 0; } } @@ -730,7 +750,8 @@ debit_rrl_entry(dns_rrl_t *rrl, dns_rrl_entry_t *e, double qps, double scale, } static inline dns_rrl_qname_buf_t * -get_qname(dns_rrl_t *rrl, const dns_rrl_entry_t *e) { +get_qname(dns_rrl_t *rrl, const dns_rrl_entry_t *e) +{ dns_rrl_qname_buf_t *qbuf; qbuf = rrl->qnames[e->log_qname]; @@ -740,7 +761,8 @@ get_qname(dns_rrl_t *rrl, const dns_rrl_entry_t *e) { } static inline void -free_qname(dns_rrl_t *rrl, dns_rrl_entry_t *e) { +free_qname(dns_rrl_t *rrl, dns_rrl_entry_t *e) +{ dns_rrl_qname_buf_t *qbuf; qbuf = get_qname(rrl, e); @@ -751,7 +773,8 @@ free_qname(dns_rrl_t *rrl, dns_rrl_entry_t *e) { } static void -add_log_str(isc_buffer_t *lb, const char *str, unsigned int str_len) { +add_log_str(isc_buffer_t *lb, const char *str, unsigned int str_len) +{ isc_region_t region; isc_buffer_availableregion(lb, ®ion); @@ -764,23 +787,22 @@ add_log_str(isc_buffer_t *lb, const char *str, unsigned int str_len) { isc_buffer_add(lb, str_len); } -#define ADD_LOG_CSTR(eb, s) add_log_str(eb, s, sizeof(s)-1) +#define ADD_LOG_CSTR(eb, s) add_log_str(eb, s, sizeof(s) - 1) /* * Build strings for the logs */ static void -make_log_buf(dns_rrl_t *rrl, dns_rrl_entry_t *e, - const char *str1, const char *str2, bool plural, - const dns_name_t *qname, bool save_qname, - dns_rrl_result_t rrl_result, isc_result_t resp_result, - char *log_buf, unsigned int log_buf_len) +make_log_buf(dns_rrl_t *rrl, dns_rrl_entry_t *e, const char *str1, + const char *str2, bool plural, const dns_name_t *qname, + bool save_qname, dns_rrl_result_t rrl_result, + isc_result_t resp_result, char *log_buf, unsigned int log_buf_len) { - isc_buffer_t lb; + isc_buffer_t lb; dns_rrl_qname_buf_t *qbuf; - isc_netaddr_t cidr; - char strbuf[ISC_MAX(sizeof("/123"), sizeof(" (12345678)"))]; - const char *rstr; + isc_netaddr_t cidr; + char strbuf[ISC_MAX(sizeof("/123"), sizeof(" (12345678)"))]; + const char * rstr; isc_result_t msg_result; if (log_buf_len <= 1) { @@ -788,7 +810,7 @@ make_log_buf(dns_rrl_t *rrl, dns_rrl_entry_t *e, log_buf[0] = '\0'; return; } - isc_buffer_init(&lb, log_buf, log_buf_len-1); + isc_buffer_init(&lb, log_buf, log_buf_len - 1); if (str1 != NULL) add_log_str(&lb, str1, strlen(str1)); @@ -847,7 +869,7 @@ make_log_buf(dns_rrl_t *rrl, dns_rrl_entry_t *e, if (e->key.s.ipv6) { snprintf(strbuf, sizeof(strbuf), "/%d", rrl->ipv6_prefixlen); cidr.family = AF_INET6; - memset(&cidr.type.in6, 0, sizeof(cidr.type.in6)); + memset(&cidr.type.in6, 0, sizeof(cidr.type.in6)); memmove(&cidr.type.in6, e->key.s.ip, sizeof(e->key.s.ip)); } else { snprintf(strbuf, sizeof(strbuf), "/%d", rrl->ipv4_prefixlen); @@ -864,8 +886,8 @@ make_log_buf(dns_rrl_t *rrl, dns_rrl_entry_t *e, e->key.s.rtype == DNS_RRL_RTYPE_NODATA || e->key.s.rtype == DNS_RRL_RTYPE_NXDOMAIN) { qbuf = get_qname(rrl, e); - if (save_qname && qbuf == NULL && - qname != NULL && dns_name_isabsolute(qname)) { + if (save_qname && qbuf == NULL && qname != NULL && + dns_name_isabsolute(qname)) { /* * Capture the qname for the "stop limiting" message. */ @@ -885,8 +907,8 @@ make_log_buf(dns_rrl_t *rrl, dns_rrl_entry_t *e, e->log_qname = qbuf->index; qbuf->e = e; dns_fixedname_init(&qbuf->qname); - dns_name_copynf(qname, - dns_fixedname_name(&qbuf->qname)); + dns_name_copynf(qname, dns_fixedname_name( + &qbuf->qname)); } } if (qbuf != NULL) @@ -917,20 +939,18 @@ make_log_buf(dns_rrl_t *rrl, dns_rrl_entry_t *e, } static void -log_end(dns_rrl_t *rrl, dns_rrl_entry_t *e, bool early, - char *log_buf, unsigned int log_buf_len) +log_end(dns_rrl_t *rrl, dns_rrl_entry_t *e, bool early, char *log_buf, + unsigned int log_buf_len) { if (e->logged) { - make_log_buf(rrl, e, - early ? "*" : NULL, + make_log_buf(rrl, e, early ? "*" : NULL, rrl->log_only ? "would stop limiting " : "stop limiting ", - true, NULL, false, - DNS_RRL_RESULT_OK, ISC_R_SUCCESS, - log_buf, log_buf_len); + true, NULL, false, DNS_RRL_RESULT_OK, + ISC_R_SUCCESS, log_buf, log_buf_len); isc_log_write(dns_lctx, DNS_LOGCATEGORY_RRL, - DNS_LOGMODULE_REQUEST, DNS_RRL_LOG_DROP, - "%s", log_buf); + DNS_LOGMODULE_REQUEST, DNS_RRL_LOG_DROP, "%s", + log_buf); free_qname(rrl, e); e->logged = false; --rrl->num_logged; @@ -941,11 +961,11 @@ log_end(dns_rrl_t *rrl, dns_rrl_entry_t *e, bool early, * Log messages for streams that have stopped being rate limited. */ static void -log_stops(dns_rrl_t *rrl, isc_stdtime_t now, int limit, - char *log_buf, unsigned int log_buf_len) +log_stops(dns_rrl_t *rrl, isc_stdtime_t now, int limit, char *log_buf, + unsigned int log_buf_len) { dns_rrl_entry_t *e; - int age; + int age; for (e = rrl->last_logged; e != NULL; e = ISC_LIST_PREV(e, lru)) { if (!e->logged) @@ -980,20 +1000,19 @@ log_stops(dns_rrl_t *rrl, isc_stdtime_t now, int limit, * Main rate limit interface. */ dns_rrl_result_t -dns_rrl(dns_view_t *view, - const isc_sockaddr_t *client_addr, bool is_tcp, - dns_rdataclass_t qclass, dns_rdatatype_t qtype, - const dns_name_t *qname, isc_result_t resp_result, isc_stdtime_t now, - bool wouldlog, char *log_buf, unsigned int log_buf_len) +dns_rrl(dns_view_t *view, const isc_sockaddr_t *client_addr, bool is_tcp, + dns_rdataclass_t qclass, dns_rdatatype_t qtype, const dns_name_t *qname, + isc_result_t resp_result, isc_stdtime_t now, bool wouldlog, + char *log_buf, unsigned int log_buf_len) { - dns_rrl_t *rrl; - dns_rrl_rtype_t rtype; + dns_rrl_t * rrl; + dns_rrl_rtype_t rtype; dns_rrl_entry_t *e; - isc_netaddr_t netclient; - int secs; - double qps, scale; - int exempt_match; - isc_result_t result; + isc_netaddr_t netclient; + int secs; + double qps, scale; + int exempt_match; + isc_result_t result; dns_rrl_result_t rrl_result; INSIST(log_buf != NULL && log_buf_len > 0); @@ -1021,7 +1040,7 @@ dns_rrl(dns_view_t *view, if (secs <= 0) { qps = rrl->qps; } else { - qps = (1.0*rrl->qps_responses) / secs; + qps = (1.0 * rrl->qps_responses) / secs; if (secs >= rrl->window) { if (isc_log_wouldlog(dns_lctx, DNS_RRL_LOG_DEBUG3)) @@ -1055,12 +1074,11 @@ dns_rrl(dns_view_t *view, */ if (is_tcp) { if (scale < 1.0) { - e = get_entry(rrl, client_addr, - 0, dns_rdatatype_none, NULL, - DNS_RRL_RTYPE_TCP, now, true, + e = get_entry(rrl, client_addr, 0, dns_rdatatype_none, + NULL, DNS_RRL_RTYPE_TCP, now, true, log_buf, log_buf_len); if (e != NULL) { - e->responses = -(rrl->window+1); + e->responses = -(rrl->window + 1); set_age(rrl, e, now); } } @@ -1089,8 +1107,8 @@ dns_rrl(dns_view_t *view, rtype = DNS_RRL_RTYPE_ERROR; break; } - e = get_entry(rrl, client_addr, qclass, qtype, qname, rtype, - now, true, log_buf, log_buf_len); + e = get_entry(rrl, client_addr, qclass, qtype, qname, rtype, now, true, + log_buf, log_buf_len); if (e == NULL) { UNLOCK(&rrl->lock); return (DNS_RRL_RESULT_OK); @@ -1101,12 +1119,12 @@ dns_rrl(dns_view_t *view, * Do not worry about speed or releasing the lock. * This message appears before messages from debit_rrl_entry(). */ - make_log_buf(rrl, e, "consider limiting ", NULL, false, - qname, false, DNS_RRL_RESULT_OK, resp_result, - log_buf, log_buf_len); + make_log_buf(rrl, e, "consider limiting ", NULL, false, qname, + false, DNS_RRL_RESULT_OK, resp_result, log_buf, + log_buf_len); isc_log_write(dns_lctx, DNS_LOGCATEGORY_RRL, - DNS_LOGMODULE_REQUEST, DNS_RRL_LOG_DEBUG1, - "%s", log_buf); + DNS_LOGMODULE_REQUEST, DNS_RRL_LOG_DEBUG1, "%s", + log_buf); } rrl_result = debit_rrl_entry(rrl, e, qps, scale, client_addr, now, @@ -1124,17 +1142,16 @@ dns_rrl(dns_view_t *view, dns_rrl_entry_t *e_all; dns_rrl_result_t rrl_all_result; - e_all = get_entry(rrl, client_addr, - 0, dns_rdatatype_none, NULL, - DNS_RRL_RTYPE_ALL, now, true, - log_buf, log_buf_len); + e_all = get_entry(rrl, client_addr, 0, dns_rdatatype_none, NULL, + DNS_RRL_RTYPE_ALL, now, true, log_buf, + log_buf_len); if (e_all == NULL) { UNLOCK(&rrl->lock); return (DNS_RRL_RESULT_OK); } rrl_all_result = debit_rrl_entry(rrl, e_all, qps, scale, - client_addr, now, - log_buf, log_buf_len); + client_addr, now, log_buf, + log_buf_len); if (rrl_all_result != DNS_RRL_RESULT_OK) { e = e_all; rrl_result = rrl_all_result; @@ -1146,8 +1163,8 @@ dns_rrl(dns_view_t *view, log_buf, log_buf_len); isc_log_write(dns_lctx, DNS_LOGCATEGORY_RRL, DNS_LOGMODULE_REQUEST, - DNS_RRL_LOG_DEBUG1, - "%s", log_buf); + DNS_RRL_LOG_DEBUG1, "%s", + log_buf); } } } @@ -1163,9 +1180,8 @@ dns_rrl(dns_view_t *view, if ((!e->logged || e->log_secs >= DNS_RRL_MAX_LOG_SECS) && isc_log_wouldlog(dns_lctx, DNS_RRL_LOG_DROP)) { make_log_buf(rrl, e, rrl->log_only ? "would " : NULL, - e->logged ? "continue limiting " : "limit ", - true, qname, true, - DNS_RRL_RESULT_OK, resp_result, + e->logged ? "continue limiting " : "limit ", true, + qname, true, DNS_RRL_RESULT_OK, resp_result, log_buf, log_buf_len); if (!e->logged) { e->logged = true; @@ -1182,8 +1198,8 @@ dns_rrl(dns_view_t *view, e = NULL; } isc_log_write(dns_lctx, DNS_LOGCATEGORY_RRL, - DNS_LOGMODULE_REQUEST, DNS_RRL_LOG_DROP, - "%s", log_buf); + DNS_LOGMODULE_REQUEST, DNS_RRL_LOG_DROP, "%s", + log_buf); } /* @@ -1191,9 +1207,10 @@ dns_rrl(dns_view_t *view, */ if (wouldlog) make_log_buf(rrl, e, - rrl->log_only ? "would rate limit " : "rate limit ", - NULL, false, qname, false, - rrl_result, resp_result, log_buf, log_buf_len); + rrl->log_only ? "would rate limit " + : "rate limit ", + NULL, false, qname, false, rrl_result, resp_result, + log_buf, log_buf_len); if (e != NULL) { /* @@ -1209,12 +1226,13 @@ dns_rrl(dns_view_t *view, } void -dns_rrl_view_destroy(dns_view_t *view) { - dns_rrl_t *rrl; +dns_rrl_view_destroy(dns_view_t *view) +{ + dns_rrl_t * rrl; dns_rrl_block_t *b; - dns_rrl_hash_t *h; - char log_buf[DNS_RRL_LOG_BUF_LEN]; - int i; + dns_rrl_hash_t * h; + char log_buf[DNS_RRL_LOG_BUF_LEN]; + int i; rrl = view->rrl; if (rrl == NULL) @@ -1259,8 +1277,9 @@ dns_rrl_view_destroy(dns_view_t *view) { } isc_result_t -dns_rrl_init(dns_rrl_t **rrlp, dns_view_t *view, int min_entries) { - dns_rrl_t *rrl; +dns_rrl_init(dns_rrl_t **rrlp, dns_view_t *view, int min_entries) +{ + dns_rrl_t * rrl; isc_result_t result; *rrlp = NULL; diff --git a/lib/dns/sdb.c b/lib/dns/sdb.c index 3da02d5c29..a818975799 100644 --- a/lib/dns/sdb.c +++ b/lib/dns/sdb.c @@ -43,156 +43,157 @@ #include "rdatalist_p.h" struct dns_sdbimplementation { - const dns_sdbmethods_t *methods; - void *driverdata; - unsigned int flags; - isc_mem_t *mctx; - isc_mutex_t driverlock; - dns_dbimplementation_t *dbimp; + const dns_sdbmethods_t *methods; + void * driverdata; + unsigned int flags; + isc_mem_t * mctx; + isc_mutex_t driverlock; + dns_dbimplementation_t *dbimp; }; struct dns_sdb { /* Unlocked */ - dns_db_t common; - char *zone; - dns_sdbimplementation_t *implementation; - void *dbdata; + dns_db_t common; + char * zone; + dns_sdbimplementation_t *implementation; + void * dbdata; /* Atomic */ - isc_refcount_t references; + isc_refcount_t references; }; struct dns_sdblookup { /* Unlocked */ - unsigned int magic; - dns_sdb_t *sdb; - ISC_LIST(dns_rdatalist_t) lists; - ISC_LIST(isc_buffer_t) buffers; - dns_name_t *name; - ISC_LINK(dns_sdblookup_t) link; - dns_rdatacallbacks_t callbacks; + unsigned int magic; + dns_sdb_t * sdb; + ISC_LIST(dns_rdatalist_t) lists; + ISC_LIST(isc_buffer_t) buffers; + dns_name_t *name; + ISC_LINK(dns_sdblookup_t) link; + dns_rdatacallbacks_t callbacks; /* Atomic */ - isc_refcount_t references; + isc_refcount_t references; }; typedef struct dns_sdblookup dns_sdbnode_t; struct dns_sdballnodes { - dns_dbiterator_t common; - ISC_LIST(dns_sdbnode_t) nodelist; - dns_sdbnode_t *current; - dns_sdbnode_t *origin; + dns_dbiterator_t common; + ISC_LIST(dns_sdbnode_t) nodelist; + dns_sdbnode_t *current; + dns_sdbnode_t *origin; }; typedef dns_sdballnodes_t sdb_dbiterator_t; typedef struct sdb_rdatasetiter { - dns_rdatasetiter_t common; - dns_rdatalist_t *current; + dns_rdatasetiter_t common; + dns_rdatalist_t * current; } sdb_rdatasetiter_t; -#define SDB_MAGIC ISC_MAGIC('S', 'D', 'B', '-') +#define SDB_MAGIC ISC_MAGIC('S', 'D', 'B', '-') /*% * Note that "impmagic" is not the first four bytes of the struct, so * ISC_MAGIC_VALID cannot be used. */ -#define VALID_SDB(sdb) ((sdb) != NULL && \ - (sdb)->common.impmagic == SDB_MAGIC) +#define VALID_SDB(sdb) ((sdb) != NULL && (sdb)->common.impmagic == SDB_MAGIC) -#define SDBLOOKUP_MAGIC ISC_MAGIC('S','D','B','L') -#define VALID_SDBLOOKUP(sdbl) ISC_MAGIC_VALID(sdbl, SDBLOOKUP_MAGIC) -#define VALID_SDBNODE(sdbn) VALID_SDBLOOKUP(sdbn) +#define SDBLOOKUP_MAGIC ISC_MAGIC('S', 'D', 'B', 'L') +#define VALID_SDBLOOKUP(sdbl) ISC_MAGIC_VALID(sdbl, SDBLOOKUP_MAGIC) +#define VALID_SDBNODE(sdbn) VALID_SDBLOOKUP(sdbn) /* These values are taken from RFC1537 */ -#define SDB_DEFAULT_REFRESH 28800U /* 8 hours */ -#define SDB_DEFAULT_RETRY 7200U /* 2 hours */ -#define SDB_DEFAULT_EXPIRE 604800U /* 7 days */ -#define SDB_DEFAULT_MINIMUM 86400U /* 1 day */ +#define SDB_DEFAULT_REFRESH 28800U /* 8 hours */ +#define SDB_DEFAULT_RETRY 7200U /* 2 hours */ +#define SDB_DEFAULT_EXPIRE 604800U /* 7 days */ +#define SDB_DEFAULT_MINIMUM 86400U /* 1 day */ /* This is a reasonable value */ -#define SDB_DEFAULT_TTL (60 * 60 * 24) +#define SDB_DEFAULT_TTL (60 * 60 * 24) #ifdef __COVERITY__ #define MAYBE_LOCK(sdb) LOCK(&sdb->implementation->driverlock) #define MAYBE_UNLOCK(sdb) UNLOCK(&sdb->implementation->driverlock) #else -#define MAYBE_LOCK(sdb) \ - do { \ - unsigned int flags = sdb->implementation->flags; \ - if ((flags & DNS_SDBFLAG_THREADSAFE) == 0) \ - LOCK(&sdb->implementation->driverlock); \ +#define MAYBE_LOCK(sdb) \ + do { \ + unsigned int flags = sdb->implementation->flags; \ + if ((flags & DNS_SDBFLAG_THREADSAFE) == 0) \ + LOCK(&sdb->implementation->driverlock); \ } while (0) -#define MAYBE_UNLOCK(sdb) \ - do { \ - unsigned int flags = sdb->implementation->flags; \ - if ((flags & DNS_SDBFLAG_THREADSAFE) == 0) \ - UNLOCK(&sdb->implementation->driverlock); \ +#define MAYBE_UNLOCK(sdb) \ + do { \ + unsigned int flags = sdb->implementation->flags; \ + if ((flags & DNS_SDBFLAG_THREADSAFE) == 0) \ + UNLOCK(&sdb->implementation->driverlock); \ } while (0) #endif static int dummy; -static isc_result_t dns_sdb_create(isc_mem_t *mctx, const dns_name_t *origin, - dns_dbtype_t type, dns_rdataclass_t rdclass, - unsigned int argc, char *argv[], - void *driverarg, dns_db_t **dbp); +static isc_result_t +dns_sdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, + dns_rdataclass_t rdclass, unsigned int argc, char *argv[], + void *driverarg, dns_db_t **dbp); -static isc_result_t findrdataset(dns_db_t *db, dns_dbnode_t *node, - dns_dbversion_t *version, - dns_rdatatype_t type, dns_rdatatype_t covers, - isc_stdtime_t now, dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset); +static isc_result_t +findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, + dns_rdatatype_t type, dns_rdatatype_t covers, isc_stdtime_t now, + dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset); -static isc_result_t createnode(dns_sdb_t *sdb, dns_sdbnode_t **nodep); +static isc_result_t +createnode(dns_sdb_t *sdb, dns_sdbnode_t **nodep); -static void destroynode(dns_sdbnode_t *node); +static void +destroynode(dns_sdbnode_t *node); -static void detachnode(dns_db_t *db, dns_dbnode_t **targetp); +static void +detachnode(dns_db_t *db, dns_dbnode_t **targetp); +static void +list_tordataset(dns_rdatalist_t *rdatalist, dns_db_t *db, dns_dbnode_t *node, + dns_rdataset_t *rdataset); -static void list_tordataset(dns_rdatalist_t *rdatalist, - dns_db_t *db, dns_dbnode_t *node, - dns_rdataset_t *rdataset); - -static void dbiterator_destroy(dns_dbiterator_t **iteratorp); -static isc_result_t dbiterator_first(dns_dbiterator_t *iterator); -static isc_result_t dbiterator_last(dns_dbiterator_t *iterator); -static isc_result_t dbiterator_seek(dns_dbiterator_t *iterator, - const dns_name_t *name); -static isc_result_t dbiterator_prev(dns_dbiterator_t *iterator); -static isc_result_t dbiterator_next(dns_dbiterator_t *iterator); -static isc_result_t dbiterator_current(dns_dbiterator_t *iterator, - dns_dbnode_t **nodep, - dns_name_t *name); -static isc_result_t dbiterator_pause(dns_dbiterator_t *iterator); -static isc_result_t dbiterator_origin(dns_dbiterator_t *iterator, - dns_name_t *name); +static void +dbiterator_destroy(dns_dbiterator_t **iteratorp); +static isc_result_t +dbiterator_first(dns_dbiterator_t *iterator); +static isc_result_t +dbiterator_last(dns_dbiterator_t *iterator); +static isc_result_t +dbiterator_seek(dns_dbiterator_t *iterator, const dns_name_t *name); +static isc_result_t +dbiterator_prev(dns_dbiterator_t *iterator); +static isc_result_t +dbiterator_next(dns_dbiterator_t *iterator); +static isc_result_t +dbiterator_current(dns_dbiterator_t *iterator, dns_dbnode_t **nodep, + dns_name_t *name); +static isc_result_t +dbiterator_pause(dns_dbiterator_t *iterator); +static isc_result_t +dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t *name); static dns_dbiteratormethods_t dbiterator_methods = { - dbiterator_destroy, - dbiterator_first, - dbiterator_last, - dbiterator_seek, - dbiterator_prev, - dbiterator_next, - dbiterator_current, - dbiterator_pause, - dbiterator_origin + dbiterator_destroy, dbiterator_first, dbiterator_last, + dbiterator_seek, dbiterator_prev, dbiterator_next, + dbiterator_current, dbiterator_pause, dbiterator_origin }; -static void rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp); -static isc_result_t rdatasetiter_first(dns_rdatasetiter_t *iterator); -static isc_result_t rdatasetiter_next(dns_rdatasetiter_t *iterator); -static void rdatasetiter_current(dns_rdatasetiter_t *iterator, - dns_rdataset_t *rdataset); +static void +rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp); +static isc_result_t +rdatasetiter_first(dns_rdatasetiter_t *iterator); +static isc_result_t +rdatasetiter_next(dns_rdatasetiter_t *iterator); +static void +rdatasetiter_current(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset); static dns_rdatasetitermethods_t rdatasetiter_methods = { - rdatasetiter_destroy, - rdatasetiter_first, - rdatasetiter_next, + rdatasetiter_destroy, rdatasetiter_first, rdatasetiter_next, rdatasetiter_current }; @@ -205,17 +206,16 @@ dns_sdb_register(const char *drivername, const dns_sdbmethods_t *methods, dns_sdbimplementation_t **sdbimp) { dns_sdbimplementation_t *imp; - isc_result_t result; + isc_result_t result; REQUIRE(drivername != NULL); REQUIRE(methods != NULL); REQUIRE(methods->lookup != NULL || methods->lookup2 != NULL); REQUIRE(mctx != NULL); REQUIRE(sdbimp != NULL && *sdbimp == NULL); - REQUIRE((flags & ~(DNS_SDBFLAG_RELATIVEOWNER | - DNS_SDBFLAG_RELATIVERDATA | - DNS_SDBFLAG_THREADSAFE| - DNS_SDBFLAG_DNS64)) == 0); + REQUIRE((flags & + ~(DNS_SDBFLAG_RELATIVEOWNER | DNS_SDBFLAG_RELATIVERDATA | + DNS_SDBFLAG_THREADSAFE | DNS_SDBFLAG_DNS64)) == 0); imp = isc_mem_get(mctx, sizeof(dns_sdbimplementation_t)); imp->methods = methods; @@ -234,14 +234,15 @@ dns_sdb_register(const char *drivername, const dns_sdbmethods_t *methods, return (ISC_R_SUCCESS); - cleanup_mutex: +cleanup_mutex: isc_mutex_destroy(&imp->driverlock); isc_mem_put(mctx, imp, sizeof(dns_sdbimplementation_t)); return (result); } void -dns_sdb_unregister(dns_sdbimplementation_t **sdbimp) { +dns_sdb_unregister(dns_sdbimplementation_t **sdbimp) +{ dns_sdbimplementation_t *imp; REQUIRE(sdbimp != NULL && *sdbimp != NULL); @@ -255,7 +256,8 @@ dns_sdb_unregister(dns_sdbimplementation_t **sdbimp) { } static inline unsigned int -initial_size(unsigned int len) { +initial_size(unsigned int len) +{ unsigned int size; for (size = 1024; size < (64 * 1024); size *= 2) @@ -266,14 +268,13 @@ initial_size(unsigned int len) { isc_result_t dns_sdb_putrdata(dns_sdblookup_t *lookup, dns_rdatatype_t typeval, - dns_ttl_t ttl, const unsigned char *rdatap, - unsigned int rdlen) + dns_ttl_t ttl, const unsigned char *rdatap, unsigned int rdlen) { dns_rdatalist_t *rdatalist; - dns_rdata_t *rdata; - isc_buffer_t *rdatabuf = NULL; - isc_mem_t *mctx; - isc_region_t region; + dns_rdata_t * rdata; + isc_buffer_t * rdatabuf = NULL; + isc_mem_t * mctx; + isc_region_t region; mctx = lookup->sdb->common.mctx; @@ -291,9 +292,8 @@ dns_sdb_putrdata(dns_sdblookup_t *lookup, dns_rdatatype_t typeval, rdatalist->type = typeval; rdatalist->ttl = ttl; ISC_LIST_APPEND(lookup->lists, rdatalist, link); - } else - if (rdatalist->ttl != ttl) - return (DNS_R_BADTTL); + } else if (rdatalist->ttl != ttl) + return (DNS_R_BADTTL); rdata = isc_mem_get(mctx, sizeof(dns_rdata_t)); @@ -315,18 +315,18 @@ isc_result_t dns_sdb_putrr(dns_sdblookup_t *lookup, const char *type, dns_ttl_t ttl, const char *data) { - unsigned int datalen; - dns_rdatatype_t typeval; + unsigned int datalen; + dns_rdatatype_t typeval; isc_textregion_t r; - isc_lex_t *lex = NULL; - isc_result_t result; - unsigned char *p = NULL; - unsigned int size = 0; /* Init to suppress compiler warning */ - isc_mem_t *mctx; + isc_lex_t * lex = NULL; + isc_result_t result; + unsigned char * p = NULL; + unsigned int size = 0; /* Init to suppress compiler warning */ + isc_mem_t * mctx; dns_sdbimplementation_t *imp; - const dns_name_t *origin; - isc_buffer_t b; - isc_buffer_t rb; + const dns_name_t * origin; + isc_buffer_t b; + isc_buffer_t rb; REQUIRE(VALID_SDBLOOKUP(lookup)); REQUIRE(type != NULL); @@ -363,11 +363,8 @@ dns_sdb_putrr(dns_sdblookup_t *lookup, const char *type, dns_ttl_t ttl, size = 65535; p = isc_mem_get(mctx, size); isc_buffer_init(&rb, p, size); - result = dns_rdata_fromtext(NULL, - lookup->sdb->common.rdclass, - typeval, lex, - origin, 0, - mctx, &rb, + result = dns_rdata_fromtext(NULL, lookup->sdb->common.rdclass, + typeval, lex, origin, 0, mctx, &rb, &lookup->callbacks); if (result != ISC_R_NOSPACE) break; @@ -385,10 +382,9 @@ dns_sdb_putrr(dns_sdblookup_t *lookup, const char *type, dns_ttl_t ttl, if (result != ISC_R_SUCCESS) goto failure; - result = dns_sdb_putrdata(lookup, typeval, ttl, - isc_buffer_base(&rb), + result = dns_sdb_putrdata(lookup, typeval, ttl, isc_buffer_base(&rb), isc_buffer_usedlength(&rb)); - failure: +failure: if (p != NULL) isc_mem_put(mctx, p, size); if (lex != NULL) @@ -398,16 +394,17 @@ dns_sdb_putrr(dns_sdblookup_t *lookup, const char *type, dns_ttl_t ttl, } static isc_result_t -getnode(dns_sdballnodes_t *allnodes, const char *name, dns_sdbnode_t **nodep) { - dns_name_t *newname; - const dns_name_t *origin; - dns_fixedname_t fnewname; - dns_sdb_t *sdb = (dns_sdb_t *)allnodes->common.db; +getnode(dns_sdballnodes_t *allnodes, const char *name, dns_sdbnode_t **nodep) +{ + dns_name_t * newname; + const dns_name_t * origin; + dns_fixedname_t fnewname; + dns_sdb_t * sdb = (dns_sdb_t *)allnodes->common.db; dns_sdbimplementation_t *imp = sdb->implementation; - dns_sdbnode_t *sdbnode; - isc_mem_t *mctx = sdb->common.mctx; - isc_buffer_t b; - isc_result_t result; + dns_sdbnode_t * sdbnode; + isc_mem_t * mctx = sdb->common.mctx; + isc_buffer_t b; + isc_result_t result; newname = dns_fixedname_initname(&fnewname); @@ -450,7 +447,7 @@ isc_result_t dns_sdb_putnamedrr(dns_sdballnodes_t *allnodes, const char *name, const char *type, dns_ttl_t ttl, const char *data) { - isc_result_t result; + isc_result_t result; dns_sdbnode_t *sdbnode = NULL; result = getnode(allnodes, name, &sdbnode); if (result != ISC_R_SUCCESS) @@ -460,10 +457,10 @@ dns_sdb_putnamedrr(dns_sdballnodes_t *allnodes, const char *name, isc_result_t dns_sdb_putnamedrdata(dns_sdballnodes_t *allnodes, const char *name, - dns_rdatatype_t type, dns_ttl_t ttl, - const void *rdata, unsigned int rdlen) + dns_rdatatype_t type, dns_ttl_t ttl, const void *rdata, + unsigned int rdlen) { - isc_result_t result; + isc_result_t result; dns_sdbnode_t *sdbnode = NULL; result = getnode(allnodes, name, &sdbnode); if (result != ISC_R_SUCCESS) @@ -476,14 +473,13 @@ dns_sdb_putsoa(dns_sdblookup_t *lookup, const char *mname, const char *rname, uint32_t serial) { char str[2 * DNS_NAME_MAXTEXT + 5 * (sizeof("2147483647")) + 7]; - int n; + int n; REQUIRE(mname != NULL); REQUIRE(rname != NULL); - n = snprintf(str, sizeof(str), "%s %s %u %u %u %u %u", - mname, rname, serial, - SDB_DEFAULT_REFRESH, SDB_DEFAULT_RETRY, + n = snprintf(str, sizeof(str), "%s %s %u %u %u %u %u", mname, rname, + serial, SDB_DEFAULT_REFRESH, SDB_DEFAULT_RETRY, SDB_DEFAULT_EXPIRE, SDB_DEFAULT_MINIMUM); if (n >= (int)sizeof(str) || n < 0) return (ISC_R_NOSPACE); @@ -495,8 +491,9 @@ dns_sdb_putsoa(dns_sdblookup_t *lookup, const char *mname, const char *rname, */ static void -attach(dns_db_t *source, dns_db_t **targetp) { - dns_sdb_t *sdb = (dns_sdb_t *) source; +attach(dns_db_t *source, dns_db_t **targetp) +{ + dns_sdb_t *sdb = (dns_sdb_t *)source; REQUIRE(VALID_SDB(sdb)); @@ -506,15 +503,15 @@ attach(dns_db_t *source, dns_db_t **targetp) { } static void -destroy(dns_sdb_t *sdb) { +destroy(dns_sdb_t *sdb) +{ dns_sdbimplementation_t *imp = sdb->implementation; isc_refcount_destroy(&sdb->references); if (imp->methods->destroy != NULL) { MAYBE_LOCK(sdb); - imp->methods->destroy(sdb->zone, imp->driverdata, - &sdb->dbdata); + imp->methods->destroy(sdb->zone, imp->driverdata, &sdb->dbdata); MAYBE_UNLOCK(sdb); } @@ -529,7 +526,8 @@ destroy(dns_sdb_t *sdb) { } static void -detach(dns_db_t **dbp) { +detach(dns_db_t **dbp) +{ dns_sdb_t *sdb = (dns_sdb_t *)(*dbp); REQUIRE(VALID_SDB(sdb)); @@ -542,14 +540,16 @@ detach(dns_db_t **dbp) { } static isc_result_t -beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { +beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) +{ UNUSED(db); UNUSED(callbacks); return (ISC_R_NOTIMPLEMENTED); } static isc_result_t -endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { +endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) +{ UNUSED(db); UNUSED(callbacks); return (ISC_R_NOTIMPLEMENTED); @@ -557,7 +557,8 @@ endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { static isc_result_t dump(dns_db_t *db, dns_dbversion_t *version, const char *filename, - dns_masterformat_t masterformat) { + dns_masterformat_t masterformat) +{ UNUSED(db); UNUSED(version); UNUSED(filename); @@ -566,17 +567,19 @@ dump(dns_db_t *db, dns_dbversion_t *version, const char *filename, } static void -currentversion(dns_db_t *db, dns_dbversion_t **versionp) { +currentversion(dns_db_t *db, dns_dbversion_t **versionp) +{ REQUIRE(versionp != NULL && *versionp == NULL); UNUSED(db); - *versionp = (void *) &dummy; + *versionp = (void *)&dummy; return; } static isc_result_t -newversion(dns_db_t *db, dns_dbversion_t **versionp) { +newversion(dns_db_t *db, dns_dbversion_t **versionp) +{ UNUSED(db); UNUSED(versionp); @@ -584,10 +587,9 @@ newversion(dns_db_t *db, dns_dbversion_t **versionp) { } static void -attachversion(dns_db_t *db, dns_dbversion_t *source, - dns_dbversion_t **targetp) +attachversion(dns_db_t *db, dns_dbversion_t *source, dns_dbversion_t **targetp) { - REQUIRE(source != NULL && source == (void *) &dummy); + REQUIRE(source != NULL && source == (void *)&dummy); REQUIRE(targetp != NULL && *targetp == NULL); UNUSED(db); @@ -596,8 +598,9 @@ attachversion(dns_db_t *db, dns_dbversion_t *source, } static void -closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { - REQUIRE(versionp != NULL && *versionp == (void *) &dummy); +closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) +{ + REQUIRE(versionp != NULL && *versionp == (void *)&dummy); REQUIRE(commit == false); UNUSED(db); @@ -607,7 +610,8 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { } static isc_result_t -createnode(dns_sdb_t *sdb, dns_sdbnode_t **nodep) { +createnode(dns_sdb_t *sdb, dns_sdbnode_t **nodep) +{ dns_sdbnode_t *node; node = isc_mem_get(sdb->common.mctx, sizeof(dns_sdbnode_t)); @@ -629,12 +633,13 @@ createnode(dns_sdb_t *sdb, dns_sdbnode_t **nodep) { } static void -destroynode(dns_sdbnode_t *node) { +destroynode(dns_sdbnode_t *node) +{ dns_rdatalist_t *list; - dns_rdata_t *rdata; - isc_buffer_t *b; - dns_sdb_t *sdb; - isc_mem_t *mctx; + dns_rdata_t * rdata; + isc_buffer_t * b; + dns_sdb_t * sdb; + isc_mem_t * mctx; sdb = node->sdb; mctx = sdb->common.mctx; @@ -663,19 +668,20 @@ destroynode(dns_sdbnode_t *node) { node->magic = 0; isc_mem_put(mctx, node, sizeof(dns_sdbnode_t)); - detach((dns_db_t **) (void *)&sdb); + detach((dns_db_t **)(void *)&sdb); } static isc_result_t -getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) { - dns_sdb_t *sdb = (dns_sdb_t *)db; - dns_sdbnode_t *node = NULL; - isc_result_t result; - isc_buffer_t b; - char namestr[DNS_NAME_MAXTEXT + 1]; +getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) +{ + dns_sdb_t * sdb = (dns_sdb_t *)db; + dns_sdbnode_t * node = NULL; + isc_result_t result; + isc_buffer_t b; + char namestr[DNS_NAME_MAXTEXT + 1]; dns_sdbimplementation_t *imp; - dns_name_t relname; - dns_name_t *name; + dns_name_t relname; + dns_name_t * name; REQUIRE(VALID_SDB(sdb)); REQUIRE(nodep != NULL && *nodep == NULL); @@ -691,7 +697,6 @@ getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) { } else { isc_buffer_init(&b, namestr, sizeof(namestr)); if ((imp->flags & DNS_SDBFLAG_RELATIVEOWNER) != 0) { - dns_name_init(&relname, NULL); result = dns_name_totext(&relname, true, &b); if (result != ISC_R_SUCCESS) { @@ -721,9 +726,7 @@ getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) { } MAYBE_UNLOCK(sdb); if (result != ISC_R_SUCCESS && - !(result == ISC_R_NOTFOUND && - imp->methods->authority != NULL)) - { + !(result == ISC_R_NOTFOUND && imp->methods->authority != NULL)) { destroynode(node); return (result); } @@ -747,15 +750,15 @@ findnodeext(dns_db_t *db, const dns_name_t *name, bool create, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, dns_dbnode_t **nodep) { - dns_sdb_t *sdb = (dns_sdb_t *)db; - dns_sdbnode_t *node = NULL; - isc_result_t result; - isc_buffer_t b; - char namestr[DNS_NAME_MAXTEXT + 1]; - bool isorigin; + dns_sdb_t * sdb = (dns_sdb_t *)db; + dns_sdbnode_t * node = NULL; + isc_result_t result; + isc_buffer_t b; + char namestr[DNS_NAME_MAXTEXT + 1]; + bool isorigin; dns_sdbimplementation_t *imp; - dns_name_t relname; - unsigned int labels; + dns_name_t relname; + unsigned int labels; REQUIRE(VALID_SDB(sdb)); REQUIRE(create == false); @@ -779,7 +782,6 @@ findnodeext(dns_db_t *db, const dns_name_t *name, bool create, } else { isc_buffer_init(&b, namestr, sizeof(namestr)); if ((imp->flags & DNS_SDBFLAG_RELATIVEOWNER) != 0) { - labels = dns_name_countlabels(name) - dns_name_countlabels(&db->origin); dns_name_init(&relname, NULL); @@ -808,10 +810,8 @@ findnodeext(dns_db_t *db, const dns_name_t *name, bool create, result = imp->methods->lookup(sdb->zone, namestr, sdb->dbdata, node, methods, clientinfo); MAYBE_UNLOCK(sdb); - if (result != ISC_R_SUCCESS && - !(result == ISC_R_NOTFOUND && - isorigin && imp->methods->authority != NULL)) - { + if (result != ISC_R_SUCCESS && !(result == ISC_R_NOTFOUND && isorigin && + imp->methods->authority != NULL)) { destroynode(node); return (result); } @@ -837,19 +837,19 @@ findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - dns_sdb_t *sdb = (dns_sdb_t *)db; - dns_dbnode_t *node = NULL; + dns_sdb_t * sdb = (dns_sdb_t *)db; + dns_dbnode_t * node = NULL; dns_fixedname_t fname; - dns_rdataset_t xrdataset; - dns_name_t *xname; - unsigned int nlabels, olabels; - isc_result_t result; - unsigned int i; - unsigned int flags; + dns_rdataset_t xrdataset; + dns_name_t * xname; + unsigned int nlabels, olabels; + isc_result_t result; + unsigned int i; + unsigned int flags; REQUIRE(VALID_SDB(sdb)); REQUIRE(nodep == NULL || *nodep == NULL); - REQUIRE(version == NULL || version == (void *) &dummy); + REQUIRE(version == NULL || version == (void *)&dummy); UNUSED(options); @@ -874,8 +874,8 @@ findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, * Look up the next label. */ dns_name_getlabelsequence(name, nlabels - i, i, xname); - result = findnodeext(db, xname, false, methods, - clientinfo, &node); + result = findnodeext(db, xname, false, methods, clientinfo, + &node); if (result == ISC_R_NOTFOUND) { /* * No data at zone apex? @@ -906,8 +906,8 @@ findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, */ if (i < nlabels) { result = findrdataset(db, node, version, - dns_rdatatype_dname, - 0, now, rdataset, sigrdataset); + dns_rdatatype_dname, 0, now, + rdataset, sigrdataset); if (result == ISC_R_SUCCESS) { result = DNS_R_DNAME; break; @@ -920,18 +920,17 @@ findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, */ if (i != olabels && (options & DNS_DBFIND_GLUEOK) == 0) { result = findrdataset(db, node, version, - dns_rdatatype_ns, - 0, now, rdataset, sigrdataset); + dns_rdatatype_ns, 0, now, + rdataset, sigrdataset); if (result == ISC_R_SUCCESS) { - if (i == nlabels && type == dns_rdatatype_any) - { + if (i == nlabels && type == dns_rdatatype_any) { result = DNS_R_ZONECUT; dns_rdataset_disassociate(rdataset); if (sigrdataset != NULL && - dns_rdataset_isassociated - (sigrdataset)) { - dns_rdataset_disassociate - (sigrdataset); + dns_rdataset_isassociated( + sigrdataset)) { + dns_rdataset_disassociate( + sigrdataset); } } else result = DNS_R_DELEGATION; @@ -949,7 +948,7 @@ findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, continue; } - skip: + skip: /* * If we're looking for ANY, we're done. */ @@ -961,8 +960,8 @@ findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, /* * Look for the qtype. */ - result = findrdataset(db, node, version, type, - 0, now, rdataset, sigrdataset); + result = findrdataset(db, node, version, type, 0, now, rdataset, + sigrdataset); if (result == ISC_R_SUCCESS) break; @@ -971,8 +970,8 @@ findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, */ if (type != dns_rdatatype_cname) { result = findrdataset(db, node, version, - dns_rdatatype_cname, - 0, now, rdataset, sigrdataset); + dns_rdatatype_cname, 0, now, + rdataset, sigrdataset); if (result == ISC_R_SUCCESS) { result = DNS_R_CNAME; break; @@ -1018,8 +1017,9 @@ findzonecut(dns_db_t *db, const dns_name_t *name, unsigned int options, } static void -attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) { - dns_sdb_t *sdb = (dns_sdb_t *)db; +attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) +{ + dns_sdb_t * sdb = (dns_sdb_t *)db; dns_sdbnode_t *node = (dns_sdbnode_t *)source; REQUIRE(VALID_SDB(sdb)); @@ -1032,8 +1032,9 @@ attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) { } static void -detachnode(dns_db_t *db, dns_dbnode_t **targetp) { - dns_sdb_t *sdb = (dns_sdb_t *)db; +detachnode(dns_db_t *db, dns_dbnode_t **targetp) +{ + dns_sdb_t * sdb = (dns_sdb_t *)db; dns_sdbnode_t *node; REQUIRE(VALID_SDB(sdb)); @@ -1051,7 +1052,8 @@ detachnode(dns_db_t *db, dns_dbnode_t **targetp) { } static isc_result_t -expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) { +expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) +{ UNUSED(db); UNUSED(node); UNUSED(now); @@ -1060,7 +1062,8 @@ expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) { } static void -printnode(dns_db_t *db, dns_dbnode_t *node, FILE *out) { +printnode(dns_db_t *db, dns_dbnode_t *node, FILE *out) +{ UNUSED(db); UNUSED(node); UNUSED(out); @@ -1073,8 +1076,8 @@ createiterator(dns_db_t *db, unsigned int options, dns_dbiterator_t **iteratorp) dns_sdb_t *sdb = (dns_sdb_t *)db; REQUIRE(VALID_SDB(sdb)); - sdb_dbiterator_t *sdbiter; - isc_result_t result; + sdb_dbiterator_t * sdbiter; + isc_result_t result; dns_sdbimplementation_t *imp = sdb->implementation; if (imp->methods->allnodes == NULL) @@ -1089,7 +1092,8 @@ createiterator(dns_db_t *db, unsigned int options, dns_dbiterator_t **iteratorp) sdbiter->common.methods = &dbiterator_methods; sdbiter->common.db = NULL; dns_db_attach(db, &sdbiter->common.db); - sdbiter->common.relative_names = ((options & DNS_DB_RELATIVENAMES) != 0); + sdbiter->common.relative_names = + ((options & DNS_DB_RELATIVENAMES) != 0); sdbiter->common.magic = DNS_DBITERATOR_MAGIC; ISC_LIST_INIT(sdbiter->nodelist); sdbiter->current = NULL; @@ -1099,7 +1103,7 @@ createiterator(dns_db_t *db, unsigned int options, dns_dbiterator_t **iteratorp) result = imp->methods->allnodes(sdb->zone, sdb->dbdata, sdbiter); MAYBE_UNLOCK(sdb); if (result != ISC_R_SUCCESS) { - dbiterator_destroy((dns_dbiterator_t **) (void *)&sdbiter); + dbiterator_destroy((dns_dbiterator_t **)(void *)&sdbiter); return (result); } @@ -1115,15 +1119,13 @@ createiterator(dns_db_t *db, unsigned int options, dns_dbiterator_t **iteratorp) static isc_result_t findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, - dns_rdatatype_t type, dns_rdatatype_t covers, - isc_stdtime_t now, dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset) + dns_rdatatype_t type, dns_rdatatype_t covers, isc_stdtime_t now, + dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { REQUIRE(VALID_SDBNODE(node)); dns_rdatalist_t *list; - dns_sdbnode_t *sdbnode = (dns_sdbnode_t *)node; - + dns_sdbnode_t * sdbnode = (dns_sdbnode_t *)node; UNUSED(db); UNUSED(version); @@ -1219,51 +1221,55 @@ deleterdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, } static bool -issecure(dns_db_t *db) { +issecure(dns_db_t *db) +{ UNUSED(db); return (false); } static unsigned int -nodecount(dns_db_t *db) { +nodecount(dns_db_t *db) +{ UNUSED(db); return (0); } static bool -ispersistent(dns_db_t *db) { +ispersistent(dns_db_t *db) +{ UNUSED(db); return (true); } static void -overmem(dns_db_t *db, bool over) { +overmem(dns_db_t *db, bool over) +{ UNUSED(db); UNUSED(over); } static void -settask(dns_db_t *db, isc_task_t *task) { +settask(dns_db_t *db, isc_task_t *task) +{ UNUSED(db); UNUSED(task); } - static dns_dbmethods_t sdb_methods = { attach, detach, beginload, endload, - NULL, /* serialize */ + NULL, /* serialize */ dump, currentversion, newversion, attachversion, closeversion, - NULL, /* findnode */ - NULL, /* find */ + NULL, /* findnode */ + NULL, /* find */ findzonecut, attachnode, detachnode, @@ -1280,26 +1286,26 @@ static dns_dbmethods_t sdb_methods = { ispersistent, overmem, settask, - getoriginnode, /* getoriginnode */ - NULL, /* transfernode */ - NULL, /* getnsec3parameters */ - NULL, /* findnsec3node */ - NULL, /* setsigningtime */ - NULL, /* getsigningtime */ - NULL, /* resigned */ - NULL, /* isdnssec */ - NULL, /* getrrsetstats */ - NULL, /* rpz_attach */ - NULL, /* rpz_ready */ + getoriginnode, /* getoriginnode */ + NULL, /* transfernode */ + NULL, /* getnsec3parameters */ + NULL, /* findnsec3node */ + NULL, /* setsigningtime */ + NULL, /* getsigningtime */ + NULL, /* resigned */ + NULL, /* isdnssec */ + NULL, /* getrrsetstats */ + NULL, /* rpz_attach */ + NULL, /* rpz_ready */ findnodeext, findext, - NULL, /* setcachestats */ - NULL, /* hashsize */ - NULL, /* nodefullname */ - NULL, /* getsize */ - NULL, /* setservestalettl */ - NULL, /* getservestalettl */ - NULL /* setgluecachestats */ + NULL, /* setcachestats */ + NULL, /* hashsize */ + NULL, /* nodefullname */ + NULL, /* getsize */ + NULL, /* setservestalettl */ + NULL, /* getservestalettl */ + NULL /* setgluecachestats */ }; static isc_result_t @@ -1307,10 +1313,10 @@ dns_sdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, dns_rdataclass_t rdclass, unsigned int argc, char *argv[], void *driverarg, dns_db_t **dbp) { - dns_sdb_t *sdb; - isc_result_t result; - char zonestr[DNS_NAME_MAXTEXT + 1]; - isc_buffer_t b; + dns_sdb_t * sdb; + isc_result_t result; + char zonestr[DNS_NAME_MAXTEXT + 1]; + isc_buffer_t b; dns_sdbimplementation_t *imp; REQUIRE(driverarg != NULL); @@ -1363,37 +1369,38 @@ dns_sdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, return (ISC_R_SUCCESS); - cleanup_zonestr: +cleanup_zonestr: isc_mem_free(mctx, sdb->zone); - cleanup_origin: +cleanup_origin: dns_name_free(&sdb->common.origin, mctx); - cleanup_lock: +cleanup_lock: isc_mem_putanddetach(&mctx, sdb, sizeof(dns_sdb_t)); return (result); } - /* * Rdataset Methods */ static void -disassociate(dns_rdataset_t *rdataset) { - dns_dbnode_t *node = rdataset->private5; - dns_sdbnode_t *sdbnode = (dns_sdbnode_t *) node; - dns_db_t *db = (dns_db_t *) sdbnode->sdb; +disassociate(dns_rdataset_t *rdataset) +{ + dns_dbnode_t * node = rdataset->private5; + dns_sdbnode_t *sdbnode = (dns_sdbnode_t *)node; + dns_db_t * db = (dns_db_t *)sdbnode->sdb; detachnode(db, &node); isc__rdatalist_disassociate(rdataset); } static void -rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) { - dns_dbnode_t *node = source->private5; - dns_sdbnode_t *sdbnode = (dns_sdbnode_t *) node; - dns_db_t *db = (dns_db_t *) sdbnode->sdb; - dns_dbnode_t *tempdb = NULL; +rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) +{ + dns_dbnode_t * node = source->private5; + dns_sdbnode_t *sdbnode = (dns_sdbnode_t *)node; + dns_db_t * db = (dns_db_t *)sdbnode->sdb; + dns_dbnode_t * tempdb = NULL; isc__rdatalist_clone(source, target); attachnode(db, node, &tempdb); @@ -1420,8 +1427,7 @@ static dns_rdatasetmethods_t sdb_rdataset_methods = { }; static void -list_tordataset(dns_rdatalist_t *rdatalist, - dns_db_t *db, dns_dbnode_t *node, +list_tordataset(dns_rdatalist_t *rdatalist, dns_db_t *db, dns_dbnode_t *node, dns_rdataset_t *rdataset) { /* @@ -1443,9 +1449,10 @@ list_tordataset(dns_rdatalist_t *rdatalist, * Database Iterator Methods */ static void -dbiterator_destroy(dns_dbiterator_t **iteratorp) { +dbiterator_destroy(dns_dbiterator_t **iteratorp) +{ sdb_dbiterator_t *sdbiter = (sdb_dbiterator_t *)(*iteratorp); - dns_sdb_t *sdb = (dns_sdb_t *)sdbiter->common.db; + dns_sdb_t * sdb = (dns_sdb_t *)sdbiter->common.db; while (!ISC_LIST_EMPTY(sdbiter->nodelist)) { dns_sdbnode_t *node; @@ -1461,7 +1468,8 @@ dbiterator_destroy(dns_dbiterator_t **iteratorp) { } static isc_result_t -dbiterator_first(dns_dbiterator_t *iterator) { +dbiterator_first(dns_dbiterator_t *iterator) +{ sdb_dbiterator_t *sdbiter = (sdb_dbiterator_t *)iterator; sdbiter->current = ISC_LIST_HEAD(sdbiter->nodelist); @@ -1472,7 +1480,8 @@ dbiterator_first(dns_dbiterator_t *iterator) { } static isc_result_t -dbiterator_last(dns_dbiterator_t *iterator) { +dbiterator_last(dns_dbiterator_t *iterator) +{ sdb_dbiterator_t *sdbiter = (sdb_dbiterator_t *)iterator; sdbiter->current = ISC_LIST_TAIL(sdbiter->nodelist); @@ -1483,7 +1492,8 @@ dbiterator_last(dns_dbiterator_t *iterator) { } static isc_result_t -dbiterator_seek(dns_dbiterator_t *iterator, const dns_name_t *name) { +dbiterator_seek(dns_dbiterator_t *iterator, const dns_name_t *name) +{ sdb_dbiterator_t *sdbiter = (sdb_dbiterator_t *)iterator; sdbiter->current = ISC_LIST_HEAD(sdbiter->nodelist); @@ -1496,7 +1506,8 @@ dbiterator_seek(dns_dbiterator_t *iterator, const dns_name_t *name) { } static isc_result_t -dbiterator_prev(dns_dbiterator_t *iterator) { +dbiterator_prev(dns_dbiterator_t *iterator) +{ sdb_dbiterator_t *sdbiter = (sdb_dbiterator_t *)iterator; sdbiter->current = ISC_LIST_PREV(sdbiter->current, link); @@ -1507,7 +1518,8 @@ dbiterator_prev(dns_dbiterator_t *iterator) { } static isc_result_t -dbiterator_next(dns_dbiterator_t *iterator) { +dbiterator_next(dns_dbiterator_t *iterator) +{ sdb_dbiterator_t *sdbiter = (sdb_dbiterator_t *)iterator; sdbiter->current = ISC_LIST_NEXT(sdbiter->current, link); @@ -1532,13 +1544,15 @@ dbiterator_current(dns_dbiterator_t *iterator, dns_dbnode_t **nodep, } static isc_result_t -dbiterator_pause(dns_dbiterator_t *iterator) { +dbiterator_pause(dns_dbiterator_t *iterator) +{ UNUSED(iterator); return (ISC_R_SUCCESS); } static isc_result_t -dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t *name) { +dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t *name) +{ UNUSED(iterator); dns_name_copynf(dns_rootname, name); return (ISC_R_SUCCESS); @@ -1549,7 +1563,8 @@ dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t *name) { */ static void -rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) { +rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) +{ sdb_rdatasetiter_t *sdbiterator = (sdb_rdatasetiter_t *)(*iteratorp); detachnode(sdbiterator->common.db, &sdbiterator->common.node); isc_mem_put(sdbiterator->common.db->mctx, sdbiterator, @@ -1558,9 +1573,10 @@ rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) { } static isc_result_t -rdatasetiter_first(dns_rdatasetiter_t *iterator) { +rdatasetiter_first(dns_rdatasetiter_t *iterator) +{ sdb_rdatasetiter_t *sdbiterator = (sdb_rdatasetiter_t *)iterator; - dns_sdbnode_t *sdbnode = (dns_sdbnode_t *)iterator->node; + dns_sdbnode_t * sdbnode = (dns_sdbnode_t *)iterator->node; if (ISC_LIST_EMPTY(sdbnode->lists)) return (ISC_R_NOMORE); @@ -1569,7 +1585,8 @@ rdatasetiter_first(dns_rdatasetiter_t *iterator) { } static isc_result_t -rdatasetiter_next(dns_rdatasetiter_t *iterator) { +rdatasetiter_next(dns_rdatasetiter_t *iterator) +{ sdb_rdatasetiter_t *sdbiterator = (sdb_rdatasetiter_t *)iterator; sdbiterator->current = ISC_LIST_NEXT(sdbiterator->current, link); @@ -1580,7 +1597,8 @@ rdatasetiter_next(dns_rdatasetiter_t *iterator) { } static void -rdatasetiter_current(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset) { +rdatasetiter_current(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset) +{ sdb_rdatasetiter_t *sdbiterator = (sdb_rdatasetiter_t *)iterator; list_tordataset(sdbiterator->current, iterator->db, iterator->node, diff --git a/lib/dns/sdlz.c b/lib/dns/sdlz.c index 480f9200d4..0155a4b989 100644 --- a/lib/dns/sdlz.c +++ b/lib/dns/sdlz.c @@ -53,14 +53,14 @@ #include #include #include -#include -#include -#include #include #include #include #include #include +#include +#include +#include #include #include @@ -68,13 +68,13 @@ #include #include #include +#include #include #include #include #include #include #include -#include #include #include @@ -85,140 +85,139 @@ */ struct dns_sdlzimplementation { - const dns_sdlzmethods_t *methods; - isc_mem_t *mctx; - void *driverarg; - unsigned int flags; - isc_mutex_t driverlock; - dns_dlzimplementation_t *dlz_imp; + const dns_sdlzmethods_t *methods; + isc_mem_t * mctx; + void * driverarg; + unsigned int flags; + isc_mutex_t driverlock; + dns_dlzimplementation_t *dlz_imp; }; struct dns_sdlz_db { /* Unlocked */ - dns_db_t common; - void *dbdata; - dns_sdlzimplementation_t *dlzimp; + dns_db_t common; + void * dbdata; + dns_sdlzimplementation_t *dlzimp; /* Atomic */ - isc_refcount_t references; + isc_refcount_t references; /* Locked */ - dns_dbversion_t *future_version; - int dummy_version; + dns_dbversion_t *future_version; + int dummy_version; }; struct dns_sdlzlookup { /* Unlocked */ - unsigned int magic; - dns_sdlz_db_t *sdlz; - ISC_LIST(dns_rdatalist_t) lists; - ISC_LIST(isc_buffer_t) buffers; - dns_name_t *name; - ISC_LINK(dns_sdlzlookup_t) link; - dns_rdatacallbacks_t callbacks; + unsigned int magic; + dns_sdlz_db_t *sdlz; + ISC_LIST(dns_rdatalist_t) lists; + ISC_LIST(isc_buffer_t) buffers; + dns_name_t *name; + ISC_LINK(dns_sdlzlookup_t) link; + dns_rdatacallbacks_t callbacks; /* Atomic */ - isc_refcount_t references; + isc_refcount_t references; }; typedef struct dns_sdlzlookup dns_sdlznode_t; struct dns_sdlzallnodes { - dns_dbiterator_t common; - ISC_LIST(dns_sdlznode_t) nodelist; - dns_sdlznode_t *current; - dns_sdlznode_t *origin; + dns_dbiterator_t common; + ISC_LIST(dns_sdlznode_t) nodelist; + dns_sdlznode_t *current; + dns_sdlznode_t *origin; }; typedef dns_sdlzallnodes_t sdlz_dbiterator_t; typedef struct sdlz_rdatasetiter { - dns_rdatasetiter_t common; - dns_rdatalist_t *current; + dns_rdatasetiter_t common; + dns_rdatalist_t * current; } sdlz_rdatasetiter_t; - -#define SDLZDB_MAGIC ISC_MAGIC('D', 'L', 'Z', 'S') +#define SDLZDB_MAGIC ISC_MAGIC('D', 'L', 'Z', 'S') /* * Note that "impmagic" is not the first four bytes of the struct, so * ISC_MAGIC_VALID cannot be used. */ -#define VALID_SDLZDB(sdlzdb) ((sdlzdb) != NULL && \ - (sdlzdb)->common.impmagic == SDLZDB_MAGIC) +#define VALID_SDLZDB(sdlzdb) \ + ((sdlzdb) != NULL && (sdlzdb)->common.impmagic == SDLZDB_MAGIC) -#define SDLZLOOKUP_MAGIC ISC_MAGIC('D','L','Z','L') -#define VALID_SDLZLOOKUP(sdlzl) ISC_MAGIC_VALID(sdlzl, SDLZLOOKUP_MAGIC) -#define VALID_SDLZNODE(sdlzn) VALID_SDLZLOOKUP(sdlzn) +#define SDLZLOOKUP_MAGIC ISC_MAGIC('D', 'L', 'Z', 'L') +#define VALID_SDLZLOOKUP(sdlzl) ISC_MAGIC_VALID(sdlzl, SDLZLOOKUP_MAGIC) +#define VALID_SDLZNODE(sdlzn) VALID_SDLZLOOKUP(sdlzn) /* These values are taken from RFC 1537 */ -#define SDLZ_DEFAULT_REFRESH 28800U /* 8 hours */ -#define SDLZ_DEFAULT_RETRY 7200U /* 2 hours */ -#define SDLZ_DEFAULT_EXPIRE 604800U /* 7 days */ -#define SDLZ_DEFAULT_MINIMUM 86400U /* 1 day */ +#define SDLZ_DEFAULT_REFRESH 28800U /* 8 hours */ +#define SDLZ_DEFAULT_RETRY 7200U /* 2 hours */ +#define SDLZ_DEFAULT_EXPIRE 604800U /* 7 days */ +#define SDLZ_DEFAULT_MINIMUM 86400U /* 1 day */ /* This is a reasonable value */ -#define SDLZ_DEFAULT_TTL (60 * 60 * 24) +#define SDLZ_DEFAULT_TTL (60 * 60 * 24) #ifdef __COVERITY__ #define MAYBE_LOCK(imp) LOCK(&imp->driverlock) #define MAYBE_UNLOCK(imp) UNLOCK(&imp->driverlock) #else -#define MAYBE_LOCK(imp) \ - do { \ - unsigned int flags = imp->flags; \ +#define MAYBE_LOCK(imp) \ + do { \ + unsigned int flags = imp->flags; \ if ((flags & DNS_SDLZFLAG_THREADSAFE) == 0) \ - LOCK(&imp->driverlock); \ + LOCK(&imp->driverlock); \ } while (0) -#define MAYBE_UNLOCK(imp) \ - do { \ - unsigned int flags = imp->flags; \ +#define MAYBE_UNLOCK(imp) \ + do { \ + unsigned int flags = imp->flags; \ if ((flags & DNS_SDLZFLAG_THREADSAFE) == 0) \ - UNLOCK(&imp->driverlock); \ + UNLOCK(&imp->driverlock); \ } while (0) #endif /* * Forward references. */ -static isc_result_t getnodedata(dns_db_t *db, const dns_name_t *name, - bool create, unsigned int options, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo, - dns_dbnode_t **nodep); +static isc_result_t +getnodedata(dns_db_t *db, const dns_name_t *name, bool create, + unsigned int options, dns_clientinfomethods_t *methods, + dns_clientinfo_t *clientinfo, dns_dbnode_t **nodep); -static void list_tordataset(dns_rdatalist_t *rdatalist, - dns_db_t *db, dns_dbnode_t *node, - dns_rdataset_t *rdataset); +static void +list_tordataset(dns_rdatalist_t *rdatalist, dns_db_t *db, dns_dbnode_t *node, + dns_rdataset_t *rdataset); -static void detachnode(dns_db_t *db, dns_dbnode_t **targetp); +static void +detachnode(dns_db_t *db, dns_dbnode_t **targetp); -static void dbiterator_destroy(dns_dbiterator_t **iteratorp); -static isc_result_t dbiterator_first(dns_dbiterator_t *iterator); -static isc_result_t dbiterator_last(dns_dbiterator_t *iterator); -static isc_result_t dbiterator_seek(dns_dbiterator_t *iterator, - const dns_name_t *name); -static isc_result_t dbiterator_prev(dns_dbiterator_t *iterator); -static isc_result_t dbiterator_next(dns_dbiterator_t *iterator); -static isc_result_t dbiterator_current(dns_dbiterator_t *iterator, - dns_dbnode_t **nodep, - dns_name_t *name); -static isc_result_t dbiterator_pause(dns_dbiterator_t *iterator); -static isc_result_t dbiterator_origin(dns_dbiterator_t *iterator, - dns_name_t *name); +static void +dbiterator_destroy(dns_dbiterator_t **iteratorp); +static isc_result_t +dbiterator_first(dns_dbiterator_t *iterator); +static isc_result_t +dbiterator_last(dns_dbiterator_t *iterator); +static isc_result_t +dbiterator_seek(dns_dbiterator_t *iterator, const dns_name_t *name); +static isc_result_t +dbiterator_prev(dns_dbiterator_t *iterator); +static isc_result_t +dbiterator_next(dns_dbiterator_t *iterator); +static isc_result_t +dbiterator_current(dns_dbiterator_t *iterator, dns_dbnode_t **nodep, + dns_name_t *name); +static isc_result_t +dbiterator_pause(dns_dbiterator_t *iterator); +static isc_result_t +dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t *name); static dns_dbiteratormethods_t dbiterator_methods = { - dbiterator_destroy, - dbiterator_first, - dbiterator_last, - dbiterator_seek, - dbiterator_prev, - dbiterator_next, - dbiterator_current, - dbiterator_pause, - dbiterator_origin + dbiterator_destroy, dbiterator_first, dbiterator_last, + dbiterator_seek, dbiterator_prev, dbiterator_next, + dbiterator_current, dbiterator_pause, dbiterator_origin }; /* @@ -229,18 +228,19 @@ static dns_dbiteratormethods_t dbiterator_methods = { * Log a message at the given level */ static void -sdlz_log(int level, const char *fmt, ...) { +sdlz_log(int level, const char *fmt, ...) +{ va_list ap; va_start(ap, fmt); - isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_DATABASE, - DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(level), - fmt, ap); + isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, + ISC_LOG_DEBUG(level), fmt, ap); va_end(ap); } /*% Converts the input string to lowercase, in place. */ static void -dns_sdlz_tolower(char *str) { +dns_sdlz_tolower(char *str) +{ unsigned int len = strlen(str); unsigned int i; @@ -251,7 +251,8 @@ dns_sdlz_tolower(char *str) { } static inline unsigned int -initial_size(const char *data) { +initial_size(const char *data) +{ unsigned int len = (strlen(data) / 64) + 1; return (len * 64 + 64); } @@ -262,9 +263,9 @@ initial_size(const char *data) { */ static void -rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) { - sdlz_rdatasetiter_t *sdlziterator = - (sdlz_rdatasetiter_t *)(*iteratorp); +rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) +{ + sdlz_rdatasetiter_t *sdlziterator = (sdlz_rdatasetiter_t *)(*iteratorp); detachnode(sdlziterator->common.db, &sdlziterator->common.node); isc_mem_put(sdlziterator->common.db->mctx, sdlziterator, @@ -273,9 +274,10 @@ rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) { } static isc_result_t -rdatasetiter_first(dns_rdatasetiter_t *iterator) { +rdatasetiter_first(dns_rdatasetiter_t *iterator) +{ sdlz_rdatasetiter_t *sdlziterator = (sdlz_rdatasetiter_t *)iterator; - dns_sdlznode_t *sdlznode = (dns_sdlznode_t *)iterator->node; + dns_sdlznode_t * sdlznode = (dns_sdlznode_t *)iterator->node; if (ISC_LIST_EMPTY(sdlznode->lists)) return (ISC_R_NOMORE); @@ -284,7 +286,8 @@ rdatasetiter_first(dns_rdatasetiter_t *iterator) { } static isc_result_t -rdatasetiter_next(dns_rdatasetiter_t *iterator) { +rdatasetiter_next(dns_rdatasetiter_t *iterator) +{ sdlz_rdatasetiter_t *sdlziterator = (sdlz_rdatasetiter_t *)iterator; sdlziterator->current = ISC_LIST_NEXT(sdlziterator->current, link); @@ -295,7 +298,8 @@ rdatasetiter_next(dns_rdatasetiter_t *iterator) { } static void -rdatasetiter_current(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset) { +rdatasetiter_current(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset) +{ sdlz_rdatasetiter_t *sdlziterator = (sdlz_rdatasetiter_t *)iterator; list_tordataset(sdlziterator->current, iterator->db, iterator->node, @@ -303,9 +307,7 @@ rdatasetiter_current(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset) { } static dns_rdatasetitermethods_t rdatasetiter_methods = { - rdatasetiter_destroy, - rdatasetiter_first, - rdatasetiter_next, + rdatasetiter_destroy, rdatasetiter_first, rdatasetiter_next, rdatasetiter_current }; @@ -315,8 +317,9 @@ static dns_rdatasetitermethods_t rdatasetiter_methods = { */ static void -attach(dns_db_t *source, dns_db_t **targetp) { - dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *) source; +attach(dns_db_t *source, dns_db_t **targetp) +{ + dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)source; REQUIRE(VALID_SDLZDB(sdlz)); @@ -326,7 +329,8 @@ attach(dns_db_t *source, dns_db_t **targetp) { } static void -destroy(dns_sdlz_db_t *sdlz) { +destroy(dns_sdlz_db_t *sdlz) +{ sdlz->common.magic = 0; sdlz->common.impmagic = 0; @@ -337,7 +341,8 @@ destroy(dns_sdlz_db_t *sdlz) { } static void -detach(dns_db_t **dbp) { +detach(dns_db_t **dbp) +{ dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)(*dbp); REQUIRE(VALID_SDLZDB(sdlz)); @@ -350,14 +355,16 @@ detach(dns_db_t **dbp) { } static isc_result_t -beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { +beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) +{ UNUSED(db); UNUSED(callbacks); return (ISC_R_NOTIMPLEMENTED); } static isc_result_t -endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) { +endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks) +{ UNUSED(db); UNUSED(callbacks); return (ISC_R_NOTIMPLEMENTED); @@ -375,20 +382,22 @@ dump(dns_db_t *db, dns_dbversion_t *version, const char *filename, } static void -currentversion(dns_db_t *db, dns_dbversion_t **versionp) { +currentversion(dns_db_t *db, dns_dbversion_t **versionp) +{ dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)db; REQUIRE(VALID_SDLZDB(sdlz)); REQUIRE(versionp != NULL && *versionp == NULL); - *versionp = (void *) &sdlz->dummy_version; + *versionp = (void *)&sdlz->dummy_version; return; } static isc_result_t -newversion(dns_db_t *db, dns_dbversion_t **versionp) { +newversion(dns_db_t *db, dns_dbversion_t **versionp) +{ dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)db; - char origin[DNS_NAME_MAXTEXT + 1]; - isc_result_t result; + char origin[DNS_NAME_MAXTEXT + 1]; + isc_result_t result; REQUIRE(VALID_SDLZDB(sdlz)); @@ -397,13 +406,12 @@ newversion(dns_db_t *db, dns_dbversion_t **versionp) { dns_name_format(&sdlz->common.origin, origin, sizeof(origin)); - result = sdlz->dlzimp->methods->newversion(origin, - sdlz->dlzimp->driverarg, - sdlz->dbdata, versionp); + result = sdlz->dlzimp->methods->newversion( + origin, sdlz->dlzimp->driverarg, sdlz->dbdata, versionp); if (result != ISC_R_SUCCESS) { sdlz_log(ISC_LOG_ERROR, - "sdlz newversion on origin %s failed : %s", - origin, isc_result_totext(result)); + "sdlz newversion on origin %s failed : %s", origin, + isc_result_totext(result)); return (result); } @@ -423,9 +431,10 @@ attachversion(dns_db_t *db, dns_dbversion_t *source, dns_dbversion_t **targetp) } static void -closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { +closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) +{ dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)db; - char origin[DNS_NAME_MAXTEXT + 1]; + char origin[DNS_NAME_MAXTEXT + 1]; REQUIRE(VALID_SDLZDB(sdlz)); REQUIRE(versionp != NULL); @@ -444,14 +453,15 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { sdlz->dlzimp->driverarg, sdlz->dbdata, versionp); if (*versionp != NULL) - sdlz_log(ISC_LOG_ERROR, - "sdlz closeversion on origin %s failed", origin); + sdlz_log(ISC_LOG_ERROR, "sdlz closeversion on origin %s failed", + origin); sdlz->future_version = NULL; } static isc_result_t -createnode(dns_sdlz_db_t *sdlz, dns_sdlznode_t **nodep) { +createnode(dns_sdlz_db_t *sdlz, dns_sdlznode_t **nodep) +{ dns_sdlznode_t *node; node = isc_mem_get(sdlz->common.mctx, sizeof(dns_sdlznode_t)); @@ -472,13 +482,14 @@ createnode(dns_sdlz_db_t *sdlz, dns_sdlznode_t **nodep) { } static void -destroynode(dns_sdlznode_t *node) { +destroynode(dns_sdlznode_t *node) +{ dns_rdatalist_t *list; - dns_rdata_t *rdata; - isc_buffer_t *b; - dns_sdlz_db_t *sdlz; - dns_db_t *db; - isc_mem_t *mctx; + dns_rdata_t * rdata; + isc_buffer_t * b; + dns_sdlz_db_t * sdlz; + dns_db_t * db; + isc_mem_t * mctx; isc_refcount_destroy(&node->references); @@ -518,14 +529,14 @@ getnodedata(dns_db_t *db, const dns_name_t *name, bool create, unsigned int options, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, dns_dbnode_t **nodep) { - dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)db; - dns_sdlznode_t *node = NULL; - isc_result_t result; - isc_buffer_t b; - char namestr[DNS_NAME_MAXTEXT + 1]; - isc_buffer_t b2; - char zonestr[DNS_NAME_MAXTEXT + 1]; - bool isorigin; + dns_sdlz_db_t * sdlz = (dns_sdlz_db_t *)db; + dns_sdlznode_t * node = NULL; + isc_result_t result; + isc_buffer_t b; + char namestr[DNS_NAME_MAXTEXT + 1]; + isc_buffer_t b2; + char zonestr[DNS_NAME_MAXTEXT + 1]; + bool isorigin; dns_sdlzauthorityfunc_t authority; REQUIRE(VALID_SDLZDB(sdlz)); @@ -537,7 +548,7 @@ getnodedata(dns_db_t *db, const dns_name_t *name, bool create, isc_buffer_init(&b, namestr, sizeof(namestr)); if ((sdlz->dlzimp->flags & DNS_SDLZFLAG_RELATIVEOWNER) != 0) { - dns_name_t relname; + dns_name_t relname; unsigned int labels; labels = dns_name_countlabels(name) - @@ -573,10 +584,9 @@ getnodedata(dns_db_t *db, const dns_name_t *name, bool create, MAYBE_LOCK(sdlz->dlzimp); /* try to lookup the host (namestr) */ - result = sdlz->dlzimp->methods->lookup(zonestr, namestr, - sdlz->dlzimp->driverarg, - sdlz->dbdata, node, - methods, clientinfo); + result = sdlz->dlzimp->methods->lookup( + zonestr, namestr, sdlz->dlzimp->driverarg, sdlz->dbdata, node, + methods, clientinfo); /* * If the name was not found and DNS_DBFIND_NOWILD is not @@ -587,15 +597,14 @@ getnodedata(dns_db_t *db, const dns_name_t *name, bool create, * for wildcards at each level. */ if (result == ISC_R_NOTFOUND && !create && - (options & DNS_DBFIND_NOWILD) == 0) - { + (options & DNS_DBFIND_NOWILD) == 0) { unsigned int i, dlabels, nlabels; nlabels = dns_name_countlabels(name); dlabels = nlabels - dns_name_countlabels(&sdlz->common.origin); for (i = 0; i < dlabels; i++) { - char wildstr[DNS_NAME_MAXTEXT + 1]; - dns_fixedname_t fixed; + char wildstr[DNS_NAME_MAXTEXT + 1]; + dns_fixedname_t fixed; const dns_name_t *wild; dns_fixedname_init(&fixed); @@ -604,12 +613,10 @@ getnodedata(dns_db_t *db, const dns_name_t *name, bool create, } else { dns_name_t *fname; fname = dns_fixedname_name(&fixed); - dns_name_getlabelsequence(name, i + 1, - dlabels - i - 1, - fname); - result = dns_name_concatenate(dns_wildcardname, - fname, fname, - NULL); + dns_name_getlabelsequence( + name, i + 1, dlabels - i - 1, fname); + result = dns_name_concatenate( + dns_wildcardname, fname, fname, NULL); if (result != ISC_R_SUCCESS) { MAYBE_UNLOCK(sdlz->dlzimp); return (result); @@ -625,10 +632,9 @@ getnodedata(dns_db_t *db, const dns_name_t *name, bool create, } isc_buffer_putuint8(&b, 0); - result = sdlz->dlzimp->methods->lookup(zonestr, wildstr, - sdlz->dlzimp->driverarg, - sdlz->dbdata, node, - methods, clientinfo); + result = sdlz->dlzimp->methods->lookup( + zonestr, wildstr, sdlz->dlzimp->driverarg, + sdlz->dbdata, node, methods, clientinfo); if (result == ISC_R_SUCCESS) break; } @@ -651,9 +657,7 @@ getnodedata(dns_db_t *db, const dns_name_t *name, bool create, result = (*authority)(zonestr, sdlz->dlzimp->driverarg, sdlz->dbdata, node); MAYBE_UNLOCK(sdlz->dlzimp); - if (result != ISC_R_SUCCESS && - result != ISC_R_NOTIMPLEMENTED) - { + if (result != ISC_R_SUCCESS && result != ISC_R_NOTIMPLEMENTED) { isc_refcount_decrement(&node->references); destroynode(node); return (result); @@ -661,8 +665,7 @@ getnodedata(dns_db_t *db, const dns_name_t *name, bool create, } if (node->name == NULL) { - node->name = isc_mem_get(sdlz->common.mctx, - sizeof(dns_name_t)); + node->name = isc_mem_get(sdlz->common.mctx, sizeof(dns_name_t)); dns_name_init(node->name, NULL); dns_name_dup(name, sdlz->common.mctx, node->name); } @@ -706,8 +709,9 @@ findzonecut(dns_db_t *db, const dns_name_t *name, unsigned int options, } static void -attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) { - dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)db; +attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) +{ + dns_sdlz_db_t * sdlz = (dns_sdlz_db_t *)db; dns_sdlznode_t *node = (dns_sdlznode_t *)source; REQUIRE(VALID_SDLZDB(sdlz)); @@ -720,8 +724,9 @@ attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) { } static void -detachnode(dns_db_t *db, dns_dbnode_t **targetp) { - dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)db; +detachnode(dns_db_t *db, dns_dbnode_t **targetp) +{ + dns_sdlz_db_t * sdlz = (dns_sdlz_db_t *)db; dns_sdlznode_t *node; REQUIRE(VALID_SDLZDB(sdlz)); @@ -738,7 +743,8 @@ detachnode(dns_db_t *db, dns_dbnode_t **targetp) { } static isc_result_t -expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) { +expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) +{ UNUSED(db); UNUSED(node); UNUSED(now); @@ -747,7 +753,8 @@ expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) { } static void -printnode(dns_db_t *db, dns_dbnode_t *node, FILE *out) { +printnode(dns_db_t *db, dns_dbnode_t *node, FILE *out) +{ UNUSED(db); UNUSED(node); UNUSED(out); @@ -757,11 +764,11 @@ printnode(dns_db_t *db, dns_dbnode_t *node, FILE *out) { static isc_result_t createiterator(dns_db_t *db, unsigned int options, dns_dbiterator_t **iteratorp) { - dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)db; + dns_sdlz_db_t * sdlz = (dns_sdlz_db_t *)db; sdlz_dbiterator_t *sdlziter; - isc_result_t result; - isc_buffer_t b; - char zonestr[DNS_NAME_MAXTEXT + 1]; + isc_result_t result; + isc_buffer_t b; + char zonestr[DNS_NAME_MAXTEXT + 1]; REQUIRE(VALID_SDLZDB(sdlz)); @@ -770,7 +777,7 @@ createiterator(dns_db_t *db, unsigned int options, dns_dbiterator_t **iteratorp) if ((options & DNS_DB_NSEC3ONLY) != 0 || (options & DNS_DB_NONSEC3) != 0) - return (ISC_R_NOTIMPLEMENTED); + return (ISC_R_NOTIMPLEMENTED); isc_buffer_init(&b, zonestr, sizeof(zonestr)); result = dns_name_totext(&sdlz->common.origin, true, &b); @@ -794,9 +801,8 @@ createiterator(dns_db_t *db, unsigned int options, dns_dbiterator_t **iteratorp) dns_sdlz_tolower(zonestr); MAYBE_LOCK(sdlz->dlzimp); - result = sdlz->dlzimp->methods->allnodes(zonestr, - sdlz->dlzimp->driverarg, - sdlz->dbdata, sdlziter); + result = sdlz->dlzimp->methods->allnodes( + zonestr, sdlz->dlzimp->driverarg, sdlz->dbdata, sdlziter); MAYBE_UNLOCK(sdlz->dlzimp); if (result != ISC_R_SUCCESS) { dns_dbiterator_t *iter = &sdlziter->common; @@ -816,14 +822,12 @@ createiterator(dns_db_t *db, unsigned int options, dns_dbiterator_t **iteratorp) static isc_result_t findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, - dns_rdatatype_t type, dns_rdatatype_t covers, - isc_stdtime_t now, dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset) + dns_rdatatype_t type, dns_rdatatype_t covers, isc_stdtime_t now, + dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { REQUIRE(VALID_SDLZNODE(node)); dns_rdatalist_t *list; - dns_sdlznode_t *sdlznode = (dns_sdlznode_t *)node; - + dns_sdlznode_t * sdlznode = (dns_sdlznode_t *)node; UNUSED(db); UNUSED(version); @@ -855,19 +859,18 @@ findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)db; - dns_dbnode_t *node = NULL; + dns_sdlz_db_t * sdlz = (dns_sdlz_db_t *)db; + dns_dbnode_t * node = NULL; dns_fixedname_t fname; - dns_rdataset_t xrdataset; - dns_name_t *xname; - unsigned int nlabels, olabels; - isc_result_t result; - unsigned int i; + dns_rdataset_t xrdataset; + dns_name_t * xname; + unsigned int nlabels, olabels; + isc_result_t result; + unsigned int i; REQUIRE(VALID_SDLZDB(sdlz)); REQUIRE(nodep == NULL || *nodep == NULL); - REQUIRE(version == NULL || - version == (void*)&sdlz->dummy_version || + REQUIRE(version == NULL || version == (void *)&sdlz->dummy_version || version == sdlz->future_version); UNUSED(sdlz); @@ -897,13 +900,13 @@ findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, } for (i = olabels; i <= nlabels; i++) { - search: + search: /* * Look up the next label. */ dns_name_getlabelsequence(name, nlabels - i, i, xname); - result = getnodedata(db, xname, false, options, - methods, clientinfo, &node); + result = getnodedata(db, xname, false, options, methods, + clientinfo, &node); if (result == ISC_R_NOTFOUND) { result = DNS_R_NXDOMAIN; continue; @@ -929,15 +932,13 @@ findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, * origin, glue is ok, or there are known to be no zone cuts. */ if (i != olabels && (options & DNS_DBFIND_GLUEOK) == 0 && - (options & DNS_DBFIND_NOZONECUT) == 0) - { + (options & DNS_DBFIND_NOZONECUT) == 0) { result = findrdataset(db, node, version, dns_rdatatype_ns, 0, now, rdataset, sigrdataset); - if (result == ISC_R_SUCCESS && - i == nlabels && type == dns_rdatatype_any) - { + if (result == ISC_R_SUCCESS && i == nlabels && + type == dns_rdatatype_any) { result = DNS_R_ZONECUT; dns_rdataset_disassociate(rdataset); if (sigrdataset != NULL && @@ -971,8 +972,8 @@ findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, /* * Look for the qtype. */ - result = findrdataset(db, node, version, type, 0, now, - rdataset, sigrdataset); + result = findrdataset(db, node, version, type, 0, now, rdataset, + sigrdataset); if (result == ISC_R_SUCCESS) break; @@ -1011,24 +1012,23 @@ findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, static isc_result_t find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, dns_rdatatype_t type, unsigned int options, isc_stdtime_t now, - dns_dbnode_t **nodep, dns_name_t *foundname, - dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) + dns_dbnode_t **nodep, dns_name_t *foundname, dns_rdataset_t *rdataset, + dns_rdataset_t *sigrdataset) { - return (findext(db, name, version, type, options, now, nodep, - foundname, NULL, NULL, rdataset, sigrdataset)); + return (findext(db, name, version, type, options, now, nodep, foundname, + NULL, NULL, rdataset, sigrdataset)); } static isc_result_t allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, isc_stdtime_t now, dns_rdatasetiter_t **iteratorp) { - dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *) db; + dns_sdlz_db_t * sdlz = (dns_sdlz_db_t *)db; sdlz_rdatasetiter_t *iterator; REQUIRE(VALID_SDLZDB(sdlz)); - REQUIRE(version == NULL || - version == (void*)&sdlz->dummy_version || + REQUIRE(version == NULL || version == (void *)&sdlz->dummy_version || version == sdlz->future_version); UNUSED(version); @@ -1054,14 +1054,14 @@ modrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, dns_rdataset_t *rdataset, unsigned int options, dns_sdlzmodrdataset_t mod_function) { - dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)db; + dns_sdlz_db_t * sdlz = (dns_sdlz_db_t *)db; dns_master_style_t *style = NULL; - isc_result_t result; - isc_buffer_t *buffer = NULL; - isc_mem_t *mctx; - dns_sdlznode_t *sdlznode; - char *rdatastr = NULL; - char name[DNS_NAME_MAXTEXT + 1]; + isc_result_t result; + isc_buffer_t * buffer = NULL; + isc_mem_t * mctx; + dns_sdlznode_t * sdlznode; + char * rdatastr = NULL; + char name[DNS_NAME_MAXTEXT + 1]; REQUIRE(VALID_SDLZDB(sdlz)); @@ -1078,13 +1078,13 @@ modrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, isc_buffer_allocate(mctx, &buffer, 1024); - result = dns_master_stylecreate(&style, 0, 0, 0, 0, 0, 0, 1, - 0xffffffff, mctx); + result = dns_master_stylecreate(&style, 0, 0, 0, 0, 0, 0, 1, 0xffffffff, + mctx); if (result != ISC_R_SUCCESS) goto cleanup; - result = dns_master_rdatasettotext(sdlznode->name, rdataset, - style, NULL, buffer); + result = dns_master_rdatasettotext(sdlznode->name, rdataset, style, + NULL, buffer); if (result != ISC_R_SUCCESS) goto cleanup; @@ -1119,7 +1119,7 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, dns_rdataset_t *addedrdataset) { dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)db; - isc_result_t result; + isc_result_t result; UNUSED(now); UNUSED(addedrdataset); @@ -1133,14 +1133,13 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, return (result); } - static isc_result_t subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, dns_rdataset_t *rdataset, unsigned int options, dns_rdataset_t *newrdataset) { dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)db; - isc_result_t result; + isc_result_t result; UNUSED(newrdataset); REQUIRE(VALID_SDLZDB(sdlz)); @@ -1158,11 +1157,11 @@ static isc_result_t deleterdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, dns_rdatatype_t type, dns_rdatatype_t covers) { - dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)db; - char name[DNS_NAME_MAXTEXT + 1]; - char b_type[DNS_RDATATYPE_FORMATSIZE]; + dns_sdlz_db_t * sdlz = (dns_sdlz_db_t *)db; + char name[DNS_NAME_MAXTEXT + 1]; + char b_type[DNS_RDATATYPE_FORMATSIZE]; dns_sdlznode_t *sdlznode; - isc_result_t result; + isc_result_t result; UNUSED(covers); @@ -1176,42 +1175,46 @@ deleterdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, dns_rdatatype_format(type, b_type, sizeof(b_type)); MAYBE_LOCK(sdlz->dlzimp); - result = sdlz->dlzimp->methods->delrdataset(name, b_type, - sdlz->dlzimp->driverarg, - sdlz->dbdata, version); + result = sdlz->dlzimp->methods->delrdataset( + name, b_type, sdlz->dlzimp->driverarg, sdlz->dbdata, version); MAYBE_UNLOCK(sdlz->dlzimp); return (result); } static bool -issecure(dns_db_t *db) { +issecure(dns_db_t *db) +{ UNUSED(db); return (false); } static unsigned int -nodecount(dns_db_t *db) { +nodecount(dns_db_t *db) +{ UNUSED(db); return (0); } static bool -ispersistent(dns_db_t *db) { +ispersistent(dns_db_t *db) +{ UNUSED(db); return (true); } static void -overmem(dns_db_t *db, bool over) { +overmem(dns_db_t *db, bool over) +{ UNUSED(db); UNUSED(over); } static void -settask(dns_db_t *db, isc_task_t *task) { +settask(dns_db_t *db, isc_task_t *task) +{ UNUSED(db); UNUSED(task); } @@ -1221,16 +1224,17 @@ settask(dns_db_t *db, isc_task_t *task) { * dns_rdatatype_dnskey record for a zone */ static isc_result_t -getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) { +getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) +{ dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)db; - isc_result_t result; + isc_result_t result; REQUIRE(VALID_SDLZDB(sdlz)); if (sdlz->dlzimp->methods->newversion == NULL) return (ISC_R_NOTIMPLEMENTED); - result = getnodedata(db, &sdlz->common.origin, false, - 0, NULL, NULL, nodep); + result = getnodedata(db, &sdlz->common.origin, false, 0, NULL, NULL, + nodep); if (result != ISC_R_SUCCESS) sdlz_log(ISC_LOG_ERROR, "sdlz getoriginnode failed: %s", isc_result_totext(result)); @@ -1242,7 +1246,7 @@ static dns_dbmethods_t sdlzdb_methods = { detach, beginload, endload, - NULL, /* serialize */ + NULL, /* serialize */ dump, currentversion, newversion, @@ -1267,25 +1271,25 @@ static dns_dbmethods_t sdlzdb_methods = { overmem, settask, getoriginnode, - NULL, /* transfernode */ - NULL, /* getnsec3parameters */ - NULL, /* findnsec3node */ - NULL, /* setsigningtime */ - NULL, /* getsigningtime */ - NULL, /* resigned */ - NULL, /* isdnssec */ - NULL, /* getrrsetstats */ - NULL, /* rpz_attach */ - NULL, /* rpz_ready */ + NULL, /* transfernode */ + NULL, /* getnsec3parameters */ + NULL, /* findnsec3node */ + NULL, /* setsigningtime */ + NULL, /* getsigningtime */ + NULL, /* resigned */ + NULL, /* isdnssec */ + NULL, /* getrrsetstats */ + NULL, /* rpz_attach */ + NULL, /* rpz_ready */ findnodeext, findext, - NULL, /* setcachestats */ - NULL, /* hashsize */ - NULL, /* nodefullname */ - NULL, /* getsize */ - NULL, /* setservestalettl */ - NULL, /* getservestalettl */ - NULL /* setgluecachestats */ + NULL, /* setcachestats */ + NULL, /* hashsize */ + NULL, /* nodefullname */ + NULL, /* getsize */ + NULL, /* setservestalettl */ + NULL, /* getservestalettl */ + NULL /* setgluecachestats */ }; /* @@ -1294,9 +1298,10 @@ static dns_dbmethods_t sdlzdb_methods = { */ static void -dbiterator_destroy(dns_dbiterator_t **iteratorp) { +dbiterator_destroy(dns_dbiterator_t **iteratorp) +{ sdlz_dbiterator_t *sdlziter = (sdlz_dbiterator_t *)(*iteratorp); - dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)sdlziter->common.db; + dns_sdlz_db_t * sdlz = (dns_sdlz_db_t *)sdlziter->common.db; while (!ISC_LIST_EMPTY(sdlziter->nodelist)) { dns_sdlznode_t *node; @@ -1313,7 +1318,8 @@ dbiterator_destroy(dns_dbiterator_t **iteratorp) { } static isc_result_t -dbiterator_first(dns_dbiterator_t *iterator) { +dbiterator_first(dns_dbiterator_t *iterator) +{ sdlz_dbiterator_t *sdlziter = (sdlz_dbiterator_t *)iterator; sdlziter->current = ISC_LIST_HEAD(sdlziter->nodelist); @@ -1324,7 +1330,8 @@ dbiterator_first(dns_dbiterator_t *iterator) { } static isc_result_t -dbiterator_last(dns_dbiterator_t *iterator) { +dbiterator_last(dns_dbiterator_t *iterator) +{ sdlz_dbiterator_t *sdlziter = (sdlz_dbiterator_t *)iterator; sdlziter->current = ISC_LIST_TAIL(sdlziter->nodelist); @@ -1335,7 +1342,8 @@ dbiterator_last(dns_dbiterator_t *iterator) { } static isc_result_t -dbiterator_seek(dns_dbiterator_t *iterator, const dns_name_t *name) { +dbiterator_seek(dns_dbiterator_t *iterator, const dns_name_t *name) +{ sdlz_dbiterator_t *sdlziter = (sdlz_dbiterator_t *)iterator; sdlziter->current = ISC_LIST_HEAD(sdlziter->nodelist); @@ -1348,7 +1356,8 @@ dbiterator_seek(dns_dbiterator_t *iterator, const dns_name_t *name) { } static isc_result_t -dbiterator_prev(dns_dbiterator_t *iterator) { +dbiterator_prev(dns_dbiterator_t *iterator) +{ sdlz_dbiterator_t *sdlziter = (sdlz_dbiterator_t *)iterator; sdlziter->current = ISC_LIST_PREV(sdlziter->current, link); @@ -1359,7 +1368,8 @@ dbiterator_prev(dns_dbiterator_t *iterator) { } static isc_result_t -dbiterator_next(dns_dbiterator_t *iterator) { +dbiterator_next(dns_dbiterator_t *iterator) +{ sdlz_dbiterator_t *sdlziter = (sdlz_dbiterator_t *)iterator; sdlziter->current = ISC_LIST_NEXT(sdlziter->current, link); @@ -1384,13 +1394,15 @@ dbiterator_current(dns_dbiterator_t *iterator, dns_dbnode_t **nodep, } static isc_result_t -dbiterator_pause(dns_dbiterator_t *iterator) { +dbiterator_pause(dns_dbiterator_t *iterator) +{ UNUSED(iterator); return (ISC_R_SUCCESS); } static isc_result_t -dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t *name) { +dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t *name) +{ UNUSED(iterator); dns_name_copynf(dns_rootname, name); return (ISC_R_SUCCESS); @@ -1402,21 +1414,23 @@ dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t *name) { */ static void -disassociate(dns_rdataset_t *rdataset) { - dns_dbnode_t *node = rdataset->private5; - dns_sdlznode_t *sdlznode = (dns_sdlznode_t *) node; - dns_db_t *db = (dns_db_t *) sdlznode->sdlz; +disassociate(dns_rdataset_t *rdataset) +{ + dns_dbnode_t * node = rdataset->private5; + dns_sdlznode_t *sdlznode = (dns_sdlznode_t *)node; + dns_db_t * db = (dns_db_t *)sdlznode->sdlz; detachnode(db, &node); isc__rdatalist_disassociate(rdataset); } static void -rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) { - dns_dbnode_t *node = source->private5; - dns_sdlznode_t *sdlznode = (dns_sdlznode_t *) node; - dns_db_t *db = (dns_db_t *) sdlznode->sdlz; - dns_dbnode_t *tempdb = NULL; +rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) +{ + dns_dbnode_t * node = source->private5; + dns_sdlznode_t *sdlznode = (dns_sdlznode_t *)node; + dns_db_t * db = (dns_db_t *)sdlznode->sdlz; + dns_dbnode_t * tempdb = NULL; isc__rdatalist_clone(source, target); attachnode(db, node, &tempdb); @@ -1443,8 +1457,7 @@ static dns_rdatasetmethods_t rdataset_methods = { }; static void -list_tordataset(dns_rdatalist_t *rdatalist, - dns_db_t *db, dns_dbnode_t *node, +list_tordataset(dns_rdatalist_t *rdatalist, dns_db_t *db, dns_dbnode_t *node, dns_rdataset_t *rdataset) { /* @@ -1478,15 +1491,15 @@ dns_sdlzcreateDBP(isc_mem_t *mctx, void *driverarg, void *dbdata, const dns_name_t *name, dns_rdataclass_t rdclass, dns_db_t **dbp) { - isc_result_t result; - dns_sdlz_db_t *sdlzdb; + isc_result_t result; + dns_sdlz_db_t * sdlzdb; dns_sdlzimplementation_t *imp; /* check that things are as we expect */ REQUIRE(dbp != NULL && *dbp == NULL); REQUIRE(name != NULL); - imp = (dns_sdlzimplementation_t *) driverarg; + imp = (dns_sdlzimplementation_t *)driverarg; /* allocate and zero memory for driver structure */ sdlzdb = isc_mem_get(mctx, sizeof(dns_sdlz_db_t)); @@ -1513,10 +1526,10 @@ dns_sdlzcreateDBP(isc_mem_t *mctx, void *driverarg, void *dbdata, /* mark structure as valid */ sdlzdb->common.magic = DNS_DB_MAGIC; sdlzdb->common.impmagic = SDLZDB_MAGIC; - *dbp = (dns_db_t *) sdlzdb; + *dbp = (dns_db_t *)sdlzdb; return (result); - mem_cleanup: +mem_cleanup: isc_mem_put(mctx, sdlzdb, sizeof(dns_sdlz_db_t)); return (result); } @@ -1528,11 +1541,12 @@ dns_sdlzallowzonexfr(void *driverarg, void *dbdata, isc_mem_t *mctx, { isc_buffer_t b; isc_buffer_t b2; - char namestr[DNS_NAME_MAXTEXT + 1]; - char clientstr[(sizeof "xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:255.255.255.255") - + 1]; - isc_netaddr_t netaddr; - isc_result_t result; + char namestr[DNS_NAME_MAXTEXT + 1]; + char clientstr[(sizeof "xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:255.255.255." + "255") + + 1]; + isc_netaddr_t netaddr; + isc_result_t result; dns_sdlzimplementation_t *imp; /* @@ -1543,7 +1557,7 @@ dns_sdlzallowzonexfr(void *driverarg, void *dbdata, isc_mem_t *mctx, REQUIRE(clientaddr != NULL); REQUIRE(dbp != NULL && *dbp == NULL); - imp = (dns_sdlzimplementation_t *) driverarg; + imp = (dns_sdlzimplementation_t *)driverarg; /* Convert DNS name to ascii text */ isc_buffer_init(&b, namestr, sizeof(namestr)); @@ -1594,7 +1608,7 @@ dns_sdlzcreate(isc_mem_t *mctx, const char *dlzname, unsigned int argc, char *argv[], void *driverarg, void **dbdata) { dns_sdlzimplementation_t *imp; - isc_result_t result = ISC_R_NOTFOUND; + isc_result_t result = ISC_R_NOTFOUND; /* Write debugging message to log */ sdlz_log(ISC_LOG_DEBUG(2), "Loading SDLZ driver."); @@ -1628,7 +1642,8 @@ dns_sdlzcreate(isc_mem_t *mctx, const char *dlzname, unsigned int argc, } static void -dns_sdlzdestroy(void *driverdata, void **dbdata) { +dns_sdlzdestroy(void *driverdata, void **dbdata) +{ dns_sdlzimplementation_t *imp; /* Write debugging message to log */ @@ -1647,13 +1662,12 @@ dns_sdlzdestroy(void *driverdata, void **dbdata) { static isc_result_t dns_sdlzfindzone(void *driverarg, void *dbdata, isc_mem_t *mctx, dns_rdataclass_t rdclass, const dns_name_t *name, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo, + dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, dns_db_t **dbp) { - isc_buffer_t b; - char namestr[DNS_NAME_MAXTEXT + 1]; - isc_result_t result; + isc_buffer_t b; + char namestr[DNS_NAME_MAXTEXT + 1]; + isc_result_t result; dns_sdlzimplementation_t *imp; /* @@ -1663,7 +1677,7 @@ dns_sdlzfindzone(void *driverarg, void *dbdata, isc_mem_t *mctx, REQUIRE(name != NULL); REQUIRE(dbp != NULL && *dbp == NULL); - imp = (dns_sdlzimplementation_t *) driverarg; + imp = (dns_sdlzimplementation_t *)driverarg; /* Convert DNS name to ascii text */ isc_buffer_init(&b, namestr, sizeof(namestr)); @@ -1692,23 +1706,22 @@ dns_sdlzfindzone(void *driverarg, void *dbdata, isc_mem_t *mctx, return (result); } - static isc_result_t -dns_sdlzconfigure(void *driverarg, void *dbdata, - dns_view_t *view, dns_dlzdb_t *dlzdb) +dns_sdlzconfigure(void *driverarg, void *dbdata, dns_view_t *view, + dns_dlzdb_t *dlzdb) { - isc_result_t result; + isc_result_t result; dns_sdlzimplementation_t *imp; REQUIRE(driverarg != NULL); - imp = (dns_sdlzimplementation_t *) driverarg; + imp = (dns_sdlzimplementation_t *)driverarg; /* Call SDLZ driver's configure method */ if (imp->methods->configure != NULL) { MAYBE_LOCK(imp); - result = imp->methods->configure(view, dlzdb, - imp->driverarg, dbdata); + result = imp->methods->configure(view, dlzdb, imp->driverarg, + dbdata); MAYBE_UNLOCK(imp); } else { result = ISC_R_SUCCESS; @@ -1723,19 +1736,19 @@ dns_sdlzssumatch(const dns_name_t *signer, const dns_name_t *name, const dst_key_t *key, void *driverarg, void *dbdata) { dns_sdlzimplementation_t *imp; - char b_signer[DNS_NAME_FORMATSIZE]; - char b_name[DNS_NAME_FORMATSIZE]; - char b_addr[ISC_NETADDR_FORMATSIZE]; - char b_type[DNS_RDATATYPE_FORMATSIZE]; - char b_key[DST_KEY_FORMATSIZE]; - isc_buffer_t *tkey_token = NULL; - isc_region_t token_region = { NULL, 0 }; - uint32_t token_len = 0; - bool ret; + char b_signer[DNS_NAME_FORMATSIZE]; + char b_name[DNS_NAME_FORMATSIZE]; + char b_addr[ISC_NETADDR_FORMATSIZE]; + char b_type[DNS_RDATATYPE_FORMATSIZE]; + char b_key[DST_KEY_FORMATSIZE]; + isc_buffer_t * tkey_token = NULL; + isc_region_t token_region = { NULL, 0 }; + uint32_t token_len = 0; + bool ret; REQUIRE(driverarg != NULL); - imp = (dns_sdlzimplementation_t *) driverarg; + imp = (dns_sdlzimplementation_t *)driverarg; if (imp->methods->ssumatch == NULL) return (false); @@ -1777,14 +1790,9 @@ dns_sdlzssumatch(const dns_name_t *signer, const dns_name_t *name, return (ret); } -static dns_dlzmethods_t sdlzmethods = { - dns_sdlzcreate, - dns_sdlzdestroy, - dns_sdlzfindzone, - dns_sdlzallowzonexfr, - dns_sdlzconfigure, - dns_sdlzssumatch -}; +static dns_dlzmethods_t sdlzmethods = { dns_sdlzcreate, dns_sdlzdestroy, + dns_sdlzfindzone, dns_sdlzallowzonexfr, + dns_sdlzconfigure, dns_sdlzssumatch }; /* * Public functions. @@ -1794,17 +1802,17 @@ isc_result_t dns_sdlz_putrr(dns_sdlzlookup_t *lookup, const char *type, dns_ttl_t ttl, const char *data) { - dns_rdatalist_t *rdatalist; - dns_rdata_t *rdata; - dns_rdatatype_t typeval; + dns_rdatalist_t * rdatalist; + dns_rdata_t * rdata; + dns_rdatatype_t typeval; isc_consttextregion_t r; - isc_buffer_t b; - isc_buffer_t *rdatabuf = NULL; - isc_lex_t *lex; - isc_result_t result; - unsigned int size; - isc_mem_t *mctx; - const dns_name_t *origin; + isc_buffer_t b; + isc_buffer_t * rdatabuf = NULL; + isc_lex_t * lex; + isc_result_t result; + unsigned int size; + isc_mem_t * mctx; + const dns_name_t * origin; REQUIRE(VALID_SDLZLOOKUP(lookup)); REQUIRE(type != NULL); @@ -1814,7 +1822,7 @@ dns_sdlz_putrr(dns_sdlzlookup_t *lookup, const char *type, dns_ttl_t ttl, r.base = type; r.length = strlen(type); - result = dns_rdatatype_fromtext(&typeval, (void *) &r); + result = dns_rdatatype_fromtext(&typeval, (void *)&r); if (result != ISC_R_SUCCESS) return (result); @@ -1832,17 +1840,16 @@ dns_sdlz_putrr(dns_sdlzlookup_t *lookup, const char *type, dns_ttl_t ttl, rdatalist->type = typeval; rdatalist->ttl = ttl; ISC_LIST_APPEND(lookup->lists, rdatalist, link); - } else - if (rdatalist->ttl > ttl) { - /* - * BIND9 doesn't enforce all RRs in an RRset - * having the same TTL, as per RFC 2136, - * section 7.12. If a DLZ backend has - * different TTLs, then the best - * we can do is return the lowest. - */ - rdatalist->ttl = ttl; - } + } else if (rdatalist->ttl > ttl) { + /* + * BIND9 doesn't enforce all RRs in an RRset + * having the same TTL, as per RFC 2136, + * section 7.12. If a DLZ backend has + * different TTLs, then the best + * we can do is return the lowest. + */ + rdatalist->ttl = ttl; + } rdata = isc_mem_get(mctx, sizeof(dns_rdata_t)); dns_rdata_init(rdata); @@ -1870,10 +1877,8 @@ dns_sdlz_putrr(dns_sdlzlookup_t *lookup, const char *type, dns_ttl_t ttl, isc_buffer_allocate(mctx, &rdatabuf, size); result = dns_rdata_fromtext(rdata, rdatalist->rdclass, - rdatalist->type, lex, - origin, false, - mctx, rdatabuf, - &lookup->callbacks); + rdatalist->type, lex, origin, false, + mctx, rdatabuf, &lookup->callbacks); if (result != ISC_R_SUCCESS) { isc_buffer_free(&rdatabuf); result = DNS_R_SERVFAIL; @@ -1896,7 +1901,7 @@ dns_sdlz_putrr(dns_sdlzlookup_t *lookup, const char *type, dns_ttl_t ttl, return (ISC_R_SUCCESS); - failure: +failure: if (rdatabuf != NULL) isc_buffer_free(&rdatabuf); if (lex != NULL) @@ -1910,14 +1915,14 @@ isc_result_t dns_sdlz_putnamedrr(dns_sdlzallnodes_t *allnodes, const char *name, const char *type, dns_ttl_t ttl, const char *data) { - dns_name_t *newname; + dns_name_t * newname; const dns_name_t *origin; - dns_fixedname_t fnewname; - dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)allnodes->common.db; - dns_sdlznode_t *sdlznode; - isc_mem_t *mctx = sdlz->common.mctx; - isc_buffer_t b; - isc_result_t result; + dns_fixedname_t fnewname; + dns_sdlz_db_t * sdlz = (dns_sdlz_db_t *)allnodes->common.db; + dns_sdlznode_t * sdlznode; + isc_mem_t * mctx = sdlz->common.mctx; + isc_buffer_t b; + isc_result_t result; newname = dns_fixedname_initname(&fnewname); @@ -1953,7 +1958,6 @@ dns_sdlz_putnamedrr(dns_sdlzallnodes_t *allnodes, const char *name, allnodes->origin = sdlznode; } return (dns_sdlz_putrr(sdlznode, type, ttl, data)); - } isc_result_t @@ -1961,14 +1965,13 @@ dns_sdlz_putsoa(dns_sdlzlookup_t *lookup, const char *mname, const char *rname, uint32_t serial) { char str[2 * DNS_NAME_MAXTEXT + 5 * (sizeof("2147483647")) + 7]; - int n; + int n; REQUIRE(mname != NULL); REQUIRE(rname != NULL); - n = snprintf(str, sizeof str, "%s %s %u %u %u %u %u", - mname, rname, serial, - SDLZ_DEFAULT_REFRESH, SDLZ_DEFAULT_RETRY, + n = snprintf(str, sizeof str, "%s %s %u %u %u %u %u", mname, rname, + serial, SDLZ_DEFAULT_REFRESH, SDLZ_DEFAULT_RETRY, SDLZ_DEFAULT_EXPIRE, SDLZ_DEFAULT_MINIMUM); if (n >= (int)sizeof(str) || n < 0) return (ISC_R_NOSPACE); @@ -1980,9 +1983,8 @@ dns_sdlzregister(const char *drivername, const dns_sdlzmethods_t *methods, void *driverarg, unsigned int flags, isc_mem_t *mctx, dns_sdlzimplementation_t **sdlzimp) { - dns_sdlzimplementation_t *imp; - isc_result_t result; + isc_result_t result; /* * Performs checks to make sure data is as we expect it to be. @@ -1993,9 +1995,9 @@ dns_sdlzregister(const char *drivername, const dns_sdlzmethods_t *methods, REQUIRE(methods->lookup != NULL); REQUIRE(mctx != NULL); REQUIRE(sdlzimp != NULL && *sdlzimp == NULL); - REQUIRE((flags & ~(DNS_SDLZFLAG_RELATIVEOWNER | - DNS_SDLZFLAG_RELATIVERDATA | - DNS_SDLZFLAG_THREADSAFE)) == 0); + REQUIRE((flags & + ~(DNS_SDLZFLAG_RELATIVEOWNER | DNS_SDLZFLAG_RELATIVERDATA | + DNS_SDLZFLAG_THREADSAFE)) == 0); /* Write debugging message to log */ sdlz_log(ISC_LOG_DEBUG(2), "Registering SDLZ driver '%s'", drivername); @@ -2043,7 +2045,7 @@ dns_sdlzregister(const char *drivername, const dns_sdlzmethods_t *methods, return (ISC_R_SUCCESS); - cleanup_mutex: +cleanup_mutex: /* destroy the driver lock, we don't need it anymore */ isc_mutex_destroy(&imp->driverlock); @@ -2056,7 +2058,8 @@ dns_sdlzregister(const char *drivername, const dns_sdlzmethods_t *methods, } void -dns_sdlzunregister(dns_sdlzimplementation_t **sdlzimp) { +dns_sdlzunregister(dns_sdlzimplementation_t **sdlzimp) +{ dns_sdlzimplementation_t *imp; /* Write debugging message to log */ @@ -2083,7 +2086,6 @@ dns_sdlzunregister(dns_sdlzimplementation_t **sdlzimp) { isc_mem_putanddetach(&imp->mctx, imp, sizeof(dns_sdlzimplementation_t)); } - isc_result_t dns_sdlz_setdb(dns_dlzdb_t *dlzdatabase, dns_rdataclass_t rdclass, const dns_name_t *name, dns_db_t **dbp) diff --git a/lib/dns/soa.c b/lib/dns/soa.c index 9e0aca0af7..4910c4b6a3 100644 --- a/lib/dns/soa.c +++ b/lib/dns/soa.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -23,23 +22,23 @@ #include static inline uint32_t -decode_uint32(unsigned char *p) { - return ((p[0] << 24) + - (p[1] << 16) + - (p[2] << 8) + - (p[3] << 0)); +decode_uint32(unsigned char *p) +{ + return ((p[0] << 24) + (p[1] << 16) + (p[2] << 8) + (p[3] << 0)); } static inline void -encode_uint32(uint32_t val, unsigned char *p) { +encode_uint32(uint32_t val, unsigned char *p) +{ p[0] = (uint8_t)(val >> 24); p[1] = (uint8_t)(val >> 16); - p[2] = (uint8_t)(val >> 8); - p[3] = (uint8_t)(val >> 0); + p[2] = (uint8_t)(val >> 8); + p[3] = (uint8_t)(val >> 0); } static uint32_t -soa_get(dns_rdata_t *rdata, int offset) { +soa_get(dns_rdata_t *rdata, int offset) +{ INSIST(rdata->type == dns_rdatatype_soa); /* * Locate the field within the SOA RDATA based @@ -58,13 +57,12 @@ soa_get(dns_rdata_t *rdata, int offset) { isc_result_t dns_soa_buildrdata(const dns_name_t *origin, const dns_name_t *contact, - dns_rdataclass_t rdclass, - uint32_t serial, uint32_t refresh, - uint32_t retry, uint32_t expire, - uint32_t minimum, unsigned char *buffer, - dns_rdata_t *rdata) { + dns_rdataclass_t rdclass, uint32_t serial, uint32_t refresh, + uint32_t retry, uint32_t expire, uint32_t minimum, + unsigned char *buffer, dns_rdata_t *rdata) +{ dns_rdata_soa_t soa; - isc_buffer_t rdatabuf; + isc_buffer_t rdatabuf; REQUIRE(origin != NULL); REQUIRE(contact != NULL); @@ -85,33 +83,39 @@ dns_soa_buildrdata(const dns_name_t *origin, const dns_name_t *contact, dns_name_init(&soa.contact, NULL); dns_name_clone(contact, &soa.contact); - return (dns_rdata_fromstruct(rdata, rdclass, dns_rdatatype_soa, - &soa, &rdatabuf)); + return (dns_rdata_fromstruct(rdata, rdclass, dns_rdatatype_soa, &soa, + &rdatabuf)); } uint32_t -dns_soa_getserial(dns_rdata_t *rdata) { +dns_soa_getserial(dns_rdata_t *rdata) +{ return soa_get(rdata, 0); } uint32_t -dns_soa_getrefresh(dns_rdata_t *rdata) { +dns_soa_getrefresh(dns_rdata_t *rdata) +{ return soa_get(rdata, 4); } uint32_t -dns_soa_getretry(dns_rdata_t *rdata) { +dns_soa_getretry(dns_rdata_t *rdata) +{ return soa_get(rdata, 8); } uint32_t -dns_soa_getexpire(dns_rdata_t *rdata) { +dns_soa_getexpire(dns_rdata_t *rdata) +{ return soa_get(rdata, 12); } uint32_t -dns_soa_getminimum(dns_rdata_t *rdata) { +dns_soa_getminimum(dns_rdata_t *rdata) +{ return soa_get(rdata, 16); } static void -soa_set(dns_rdata_t *rdata, uint32_t val, int offset) { +soa_set(dns_rdata_t *rdata, uint32_t val, int offset) +{ INSIST(rdata->type == dns_rdatatype_soa); INSIST(rdata->length >= 20); INSIST(offset >= 0 && offset <= 16); @@ -119,22 +123,27 @@ soa_set(dns_rdata_t *rdata, uint32_t val, int offset) { } void -dns_soa_setserial(uint32_t val, dns_rdata_t *rdata) { +dns_soa_setserial(uint32_t val, dns_rdata_t *rdata) +{ soa_set(rdata, val, 0); } void -dns_soa_setrefresh(uint32_t val, dns_rdata_t *rdata) { +dns_soa_setrefresh(uint32_t val, dns_rdata_t *rdata) +{ soa_set(rdata, val, 4); } void -dns_soa_setretry(uint32_t val, dns_rdata_t *rdata) { +dns_soa_setretry(uint32_t val, dns_rdata_t *rdata) +{ soa_set(rdata, val, 8); } void -dns_soa_setexpire(uint32_t val, dns_rdata_t *rdata) { +dns_soa_setexpire(uint32_t val, dns_rdata_t *rdata) +{ soa_set(rdata, val, 12); } void -dns_soa_setminimum(uint32_t val, dns_rdata_t *rdata) { +dns_soa_setminimum(uint32_t val, dns_rdata_t *rdata) +{ soa_set(rdata, val, 16); } diff --git a/lib/dns/spnego.c b/lib/dns/spnego.c index ad9d867a7a..67cfa75665 100644 --- a/lib/dns/spnego.c +++ b/lib/dns/spnego.c @@ -127,10 +127,10 @@ * harmless in any case. */ +#include #include #include #include -#include #include #include @@ -144,19 +144,19 @@ #include #include +#include +#include #include #include #include #include #include -#include -#include + +#include "dst_internal.h" #include #include -#include "dst_internal.h" - /* * The API we export */ @@ -187,7 +187,7 @@ typedef enum asn1_error_number { typedef struct octet_string { size_t length; - void *data; + void * data; } octet_string; typedef char *general_string; @@ -195,70 +195,63 @@ typedef char *general_string; typedef char *utf8_string; typedef struct oid { - size_t length; + size_t length; unsigned *components; } oid; /* der.h */ typedef enum { - ASN1_C_UNIV = 0, ASN1_C_APPL = 1, - ASN1_C_CONTEXT = 2, ASN1_C_PRIVATE = 3 + ASN1_C_UNIV = 0, + ASN1_C_APPL = 1, + ASN1_C_CONTEXT = 2, + ASN1_C_PRIVATE = 3 } Der_class; -typedef enum { - PRIM = 0, CONS = 1 -} Der_type; +typedef enum { PRIM = 0, CONS = 1 } Der_type; /* Universal tags */ -enum { - UT_Boolean = 1, - UT_Integer = 2, - UT_BitString = 3, - UT_OctetString = 4, - UT_Null = 5, - UT_OID = 6, - UT_Enumerated = 10, - UT_Sequence = 16, - UT_Set = 17, - UT_PrintableString = 19, - UT_IA5String = 22, - UT_UTCTime = 23, - UT_GeneralizedTime = 24, - UT_VisibleString = 26, - UT_GeneralString = 27 -}; +enum { UT_Boolean = 1, + UT_Integer = 2, + UT_BitString = 3, + UT_OctetString = 4, + UT_Null = 5, + UT_OID = 6, + UT_Enumerated = 10, + UT_Sequence = 16, + UT_Set = 17, + UT_PrintableString = 19, + UT_IA5String = 22, + UT_UTCTime = 23, + UT_GeneralizedTime = 24, + UT_VisibleString = 26, + UT_GeneralString = 27 }; #define ASN1_INDEFINITE 0xdce0deed static int -der_get_length(const unsigned char *p, size_t len, - size_t * val, size_t * size); +der_get_length(const unsigned char *p, size_t len, size_t *val, size_t *size); static int -der_get_octet_string(const unsigned char *p, size_t len, - octet_string * data, size_t * size); +der_get_octet_string(const unsigned char *p, size_t len, octet_string *data, + size_t *size); static int -der_get_oid(const unsigned char *p, size_t len, - oid * data, size_t * size); +der_get_oid(const unsigned char *p, size_t len, oid *data, size_t *size); static int -der_get_tag(const unsigned char *p, size_t len, - Der_class * xclass, Der_type * type, - int *tag, size_t * size); +der_get_tag(const unsigned char *p, size_t len, Der_class *xclass, + Der_type *type, int *tag, size_t *size); static int -der_match_tag(const unsigned char *p, size_t len, - Der_class xclass, Der_type type, - int tag, size_t * size); +der_match_tag(const unsigned char *p, size_t len, Der_class xclass, + Der_type type, int tag, size_t *size); static int -der_match_tag_and_length(const unsigned char *p, size_t len, - Der_class xclass, Der_type type, int tag, - size_t * length_ret, size_t * size); +der_match_tag_and_length(const unsigned char *p, size_t len, Der_class xclass, + Der_type type, int tag, size_t *length_ret, + size_t *size); static int -decode_oid(const unsigned char *p, size_t len, - oid * k, size_t * size); +decode_oid(const unsigned char *p, size_t len, oid *k, size_t *size); static int decode_enumerated(const unsigned char *p, size_t len, void *num, size_t *size); @@ -273,39 +266,37 @@ static int der_put_length(unsigned char *p, size_t len, size_t val, size_t *); static int -der_put_octet_string(unsigned char *p, size_t len, - const octet_string * data, size_t *); +der_put_octet_string(unsigned char *p, size_t len, const octet_string *data, + size_t *); static int -der_put_oid(unsigned char *p, size_t len, - const oid * data, size_t * size); +der_put_oid(unsigned char *p, size_t len, const oid *data, size_t *size); static int der_put_tag(unsigned char *p, size_t len, Der_class xclass, Der_type type, int tag, size_t *); static int -der_put_length_and_tag(unsigned char *, size_t, size_t, - Der_class, Der_type, int, size_t *); +der_put_length_and_tag(unsigned char *, size_t, size_t, Der_class, Der_type, + int, size_t *); static int encode_enumerated(unsigned char *p, size_t len, const void *data, size_t *); static int -encode_octet_string(unsigned char *p, size_t len, - const octet_string * k, size_t *); +encode_octet_string(unsigned char *p, size_t len, const octet_string *k, + size_t *); static int -encode_oid(unsigned char *p, size_t len, - const oid * k, size_t *); +encode_oid(unsigned char *p, size_t len, const oid *k, size_t *); static void -free_octet_string(octet_string * k); +free_octet_string(octet_string *k); static void -free_oid (oid * k); +free_oid(oid *k); static size_t length_len(size_t len); static int -fix_dce(size_t reallen, size_t * len); +fix_dce(size_t reallen, size_t *len); /* * Include stuff generated by the ASN.1 compiler. @@ -317,53 +308,46 @@ fix_dce(size_t reallen, size_t * len); * Force the oid arrays to be uint64_t aligned to silence warnings * about the arrays not being properly aligned for (void *). */ -typedef union { unsigned char b[8]; uint64_t _align; } aligned8; -typedef union { unsigned char b[16]; uint64_t _align[2]; } aligned16; +typedef union { + unsigned char b[8]; + uint64_t _align; +} aligned8; +typedef union { + unsigned char b[16]; + uint64_t _align[2]; +} aligned16; -static aligned16 gss_krb5_mech_oid_bytes = { - { 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x12, 0x01, 0x02, 0x02 } -}; +static aligned16 gss_krb5_mech_oid_bytes = { { 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x12, 0x01, 0x02, 0x02 } }; -static gss_OID_desc gss_krb5_mech_oid_desc = { - 9, gss_krb5_mech_oid_bytes.b -}; +static gss_OID_desc gss_krb5_mech_oid_desc = { 9, gss_krb5_mech_oid_bytes.b }; static gss_OID GSS_KRB5_MECH = &gss_krb5_mech_oid_desc; -static aligned16 gss_mskrb5_mech_oid_bytes = { - { 0x2a, 0x86, 0x48, 0x82, 0xf7, 0x12, 0x01, 0x02, 0x02 } -}; +static aligned16 gss_mskrb5_mech_oid_bytes = { { 0x2a, 0x86, 0x48, 0x82, 0xf7, + 0x12, 0x01, 0x02, 0x02 } }; -static gss_OID_desc gss_mskrb5_mech_oid_desc = { - 9, gss_mskrb5_mech_oid_bytes.b -}; +static gss_OID_desc gss_mskrb5_mech_oid_desc = { 9, + gss_mskrb5_mech_oid_bytes.b }; static gss_OID GSS_MSKRB5_MECH = &gss_mskrb5_mech_oid_desc; -static aligned8 gss_spnego_mech_oid_bytes = { - { 0x2b, 0x06, 0x01, 0x05, 0x05, 0x02 } -}; +static aligned8 gss_spnego_mech_oid_bytes = { { 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x02 } }; -static gss_OID_desc gss_spnego_mech_oid_desc = { - 6, gss_spnego_mech_oid_bytes.b -}; +static gss_OID_desc gss_spnego_mech_oid_desc = { 6, + gss_spnego_mech_oid_bytes.b }; static gss_OID GSS_SPNEGO_MECH = &gss_spnego_mech_oid_desc; /* spnegokrb5_locl.h */ static OM_uint32 -gssapi_spnego_encapsulate(OM_uint32 *, - unsigned char *, - size_t, - gss_buffer_t, +gssapi_spnego_encapsulate(OM_uint32 *, unsigned char *, size_t, gss_buffer_t, const gss_OID); static OM_uint32 -gssapi_spnego_decapsulate(OM_uint32 *, - gss_buffer_t, - unsigned char **, - size_t *, +gssapi_spnego_decapsulate(OM_uint32 *, gss_buffer_t, unsigned char **, size_t *, const gss_OID); /* mod_auth_kerb.c */ @@ -372,7 +356,7 @@ static bool cmp_gss_type(gss_buffer_t token, gss_OID gssoid) { unsigned char *p; - size_t len; + size_t len; if (token->length == 0U) return (GSS_S_DEFECTIVE_TOKEN); @@ -389,7 +373,7 @@ cmp_gss_type(gss_buffer_t token, gss_OID gssoid) if (*p++ != 0x06) return (GSS_S_DEFECTIVE_TOKEN); - if (((OM_uint32) *p++) != gssoid->length) + if (((OM_uint32)*p++) != gssoid->length) return (GSS_S_DEFECTIVE_TOKEN); return (!isc_safe_memequal(p, gssoid->elements, gssoid->length)); @@ -402,14 +386,12 @@ cmp_gss_type(gss_buffer_t token, gss_OID gssoid) */ static OM_uint32 -code_NegTokenArg(OM_uint32 * minor_status, - const NegTokenResp * resp, - unsigned char **outbuf, - size_t * outbuf_size) +code_NegTokenArg(OM_uint32 *minor_status, const NegTokenResp *resp, + unsigned char **outbuf, size_t *outbuf_size) { OM_uint32 ret; - u_char *buf; - size_t buf_size, buf_len = 0; + u_char * buf; + size_t buf_size, buf_len = 0; buf_size = 1024; buf = malloc(buf_size); @@ -418,19 +400,15 @@ code_NegTokenArg(OM_uint32 * minor_status, return (GSS_S_FAILURE); } do { - ret = encode_NegTokenResp(buf + buf_size - 1, - buf_size, - resp, &buf_len); + ret = encode_NegTokenResp(buf + buf_size - 1, buf_size, resp, + &buf_len); if (ret == 0) { size_t tmp; - ret = der_put_length_and_tag(buf + buf_size - buf_len - 1, - buf_size - buf_len, - buf_len, - ASN1_C_CONTEXT, - CONS, - 1, - &tmp); + ret = der_put_length_and_tag( + buf + buf_size - buf_len - 1, + buf_size - buf_len, buf_len, ASN1_C_CONTEXT, + CONS, 1, &tmp); if (ret == 0) buf_len += tmp; } @@ -469,11 +447,10 @@ code_NegTokenArg(OM_uint32 * minor_status, } static OM_uint32 -send_reject(OM_uint32 * minor_status, - gss_buffer_t output_token) +send_reject(OM_uint32 *minor_status, gss_buffer_t output_token) { NegTokenResp resp; - OM_uint32 ret; + OM_uint32 ret; resp.negState = malloc(sizeof(*resp.negState)); if (resp.negState == NULL) { @@ -497,13 +474,11 @@ send_reject(OM_uint32 * minor_status, } static OM_uint32 -send_accept(OM_uint32 * minor_status, - gss_buffer_t output_token, - gss_buffer_t mech_token, - const gss_OID pref) +send_accept(OM_uint32 *minor_status, gss_buffer_t output_token, + gss_buffer_t mech_token, const gss_OID pref) { NegTokenResp resp; - OM_uint32 ret; + OM_uint32 ret; memset(&resp, 0, sizeof(resp)); resp.negState = malloc(sizeof(*resp.negState)); @@ -519,9 +494,7 @@ send_accept(OM_uint32 * minor_status, *minor_status = ENOMEM; return (GSS_S_FAILURE); } - ret = der_get_oid(pref->elements, - pref->length, - resp.supportedMech, + ret = der_get_oid(pref->elements, pref->length, resp.supportedMech, NULL); if (ret) { free_NegTokenResp(&resp); @@ -554,30 +527,28 @@ send_accept(OM_uint32 * minor_status, } OM_uint32 -gss_accept_sec_context_spnego(OM_uint32 *minor_status, - gss_ctx_id_t *context_handle, - const gss_cred_id_t acceptor_cred_handle, - const gss_buffer_t input_token_buffer, +gss_accept_sec_context_spnego(OM_uint32 * minor_status, + gss_ctx_id_t * context_handle, + const gss_cred_id_t acceptor_cred_handle, + const gss_buffer_t input_token_buffer, const gss_channel_bindings_t input_chan_bindings, - gss_name_t *src_name, - gss_OID *mech_type, - gss_buffer_t output_token, - OM_uint32 *ret_flags, - OM_uint32 *time_rec, + gss_name_t *src_name, gss_OID *mech_type, + gss_buffer_t output_token, OM_uint32 *ret_flags, + OM_uint32 * time_rec, gss_cred_id_t *delegated_cred_handle) { - NegTokenInit init_token; - OM_uint32 major_status = GSS_S_COMPLETE; - OM_uint32 minor_status2; + NegTokenInit init_token; + OM_uint32 major_status = GSS_S_COMPLETE; + OM_uint32 minor_status2; gss_buffer_desc ibuf, obuf; - gss_buffer_t ot = NULL; - gss_OID pref = GSS_KRB5_MECH; - unsigned char *buf; - size_t buf_size; - size_t len, taglen, ni_len; - int found = 0; - int ret; - unsigned i; + gss_buffer_t ot = NULL; + gss_OID pref = GSS_KRB5_MECH; + unsigned char * buf; + size_t buf_size; + size_t len, taglen, ni_len; + int found = 0; + int ret; + unsigned i; /* * Before doing anything else, see whether this is a SPNEGO @@ -585,17 +556,11 @@ gss_accept_sec_context_spnego(OM_uint32 *minor_status, */ if (cmp_gss_type(input_token_buffer, GSS_SPNEGO_MECH)) - return (gss_accept_sec_context(minor_status, - context_handle, - acceptor_cred_handle, - input_token_buffer, - input_chan_bindings, - src_name, - mech_type, - output_token, - ret_flags, - time_rec, - delegated_cred_handle)); + return (gss_accept_sec_context( + minor_status, context_handle, acceptor_cred_handle, + input_token_buffer, input_chan_bindings, src_name, + mech_type, output_token, ret_flags, time_rec, + delegated_cred_handle)); /* * If we get here, it's SPNEGO. @@ -603,29 +568,28 @@ gss_accept_sec_context_spnego(OM_uint32 *minor_status, memset(&init_token, 0, sizeof(init_token)); - ret = gssapi_spnego_decapsulate(minor_status, input_token_buffer, - &buf, &buf_size, GSS_SPNEGO_MECH); + ret = gssapi_spnego_decapsulate(minor_status, input_token_buffer, &buf, + &buf_size, GSS_SPNEGO_MECH); if (ret) return (ret); - ret = der_match_tag_and_length(buf, buf_size, ASN1_C_CONTEXT, CONS, - 0, &len, &taglen); + ret = der_match_tag_and_length(buf, buf_size, ASN1_C_CONTEXT, CONS, 0, + &len, &taglen); if (ret) return (ret); ret = decode_NegTokenInit(buf + taglen, len, &init_token, &ni_len); if (ret) { - *minor_status = EINVAL; /* XXX */ + *minor_status = EINVAL; /* XXX */ return (GSS_S_DEFECTIVE_TOKEN); } for (i = 0; !found && i < init_token.mechTypes.len; ++i) { unsigned char mechbuf[17]; - size_t mech_len; + size_t mech_len; ret = der_put_oid(mechbuf + sizeof(mechbuf) - 1, - sizeof(mechbuf), - &init_token.mechTypes.val[i], + sizeof(mechbuf), &init_token.mechTypes.val[i], &mech_len); if (ret) { free_NegTokenInit(&init_token); @@ -634,16 +598,14 @@ gss_accept_sec_context_spnego(OM_uint32 *minor_status, if (mech_len == GSS_KRB5_MECH->length && isc_safe_memequal(GSS_KRB5_MECH->elements, mechbuf + sizeof(mechbuf) - mech_len, - mech_len)) - { + mech_len)) { found = 1; break; } if (mech_len == GSS_MSKRB5_MECH->length && isc_safe_memequal(GSS_MSKRB5_MECH->elements, mechbuf + sizeof(mechbuf) - mech_len, - mech_len)) - { + mech_len)) { found = 1; if (i == 0) pref = GSS_MSKRB5_MECH; @@ -660,17 +622,10 @@ gss_accept_sec_context_spnego(OM_uint32 *minor_status, ibuf.length = init_token.mechToken->length; ibuf.value = init_token.mechToken->data; - major_status = gss_accept_sec_context(minor_status, - context_handle, - acceptor_cred_handle, - &ibuf, - input_chan_bindings, - src_name, - mech_type, - &obuf, - ret_flags, - time_rec, - delegated_cred_handle); + major_status = gss_accept_sec_context( + minor_status, context_handle, acceptor_cred_handle, + &ibuf, input_chan_bindings, src_name, mech_type, &obuf, + ret_flags, time_rec, delegated_cred_handle); if (GSS_ERROR(major_status)) { free_NegTokenInit(&init_token); send_reject(&minor_status2, output_token); @@ -683,18 +638,16 @@ gss_accept_sec_context_spnego(OM_uint32 *minor_status, if (ot != NULL && ot->length != 0U) gss_release_buffer(&minor_status2, ot); - return (ret != GSS_S_COMPLETE ? (OM_uint32) ret : major_status); + return (ret != GSS_S_COMPLETE ? (OM_uint32)ret : major_status); } /* decapsulate.c */ static OM_uint32 -gssapi_verify_mech_header(u_char ** str, - size_t total_len, - const gss_OID mech) +gssapi_verify_mech_header(u_char **str, size_t total_len, const gss_OID mech) { - size_t len, len_len, mech_len, foo; - int e; + size_t len, len_len, mech_len, foo; + int e; u_char *p = *str; if (total_len < 1U) @@ -707,8 +660,7 @@ gssapi_verify_mech_header(u_char ** str, p += len_len; if (*p++ != 0x06) return (GSS_S_DEFECTIVE_TOKEN); - e = der_get_length(p, total_len - 1 - len_len - 1, - &mech_len, &foo); + e = der_get_length(p, total_len - 1 - len_len - 1, &mech_len, &foo); if (e) return (GSS_S_DEFECTIVE_TOKEN); p += foo; @@ -727,25 +679,21 @@ gssapi_verify_mech_header(u_char ** str, */ static OM_uint32 -gssapi_spnego_decapsulate(OM_uint32 *minor_status, - gss_buffer_t input_token_buffer, - unsigned char **buf, - size_t *buf_len, - const gss_OID mech) +gssapi_spnego_decapsulate(OM_uint32 * minor_status, + gss_buffer_t input_token_buffer, unsigned char **buf, + size_t *buf_len, const gss_OID mech) { - u_char *p; + u_char * p; OM_uint32 ret; p = input_token_buffer->value; - ret = gssapi_verify_mech_header(&p, - input_token_buffer->length, - mech); + ret = gssapi_verify_mech_header(&p, input_token_buffer->length, mech); if (ret) { *minor_status = ret; return (GSS_S_FAILURE); } *buf_len = input_token_buffer->length - - (p - (u_char *) input_token_buffer->value); + (p - (u_char *)input_token_buffer->value); *buf = p; return (GSS_S_COMPLETE); } @@ -776,11 +724,11 @@ free_oid(oid *k) */ static int -der_get_unsigned(const unsigned char *p, size_t len, - unsigned *ret, size_t *size) +der_get_unsigned(const unsigned char *p, size_t len, unsigned *ret, + size_t *size) { unsigned val = 0; - size_t oldlen = len; + size_t oldlen = len; while (len--) val = val * 256 + *p++; @@ -791,10 +739,9 @@ der_get_unsigned(const unsigned char *p, size_t len, } static int -der_get_int(const unsigned char *p, size_t len, - int *ret, size_t *size) +der_get_int(const unsigned char *p, size_t len, int *ret, size_t *size) { - int val = 0; + int val = 0; size_t oldlen = len; if (len > 0U) { @@ -809,8 +756,7 @@ der_get_int(const unsigned char *p, size_t len, } static int -der_get_length(const unsigned char *p, size_t len, - size_t *val, size_t *size) +der_get_length(const unsigned char *p, size_t len, size_t *val, size_t *size) { size_t v; @@ -823,8 +769,8 @@ der_get_length(const unsigned char *p, size_t len, if (size) *size = 1; } else { - int e; - size_t l; + int e; + size_t l; unsigned tmp; if (v == 0x80U) { @@ -847,8 +793,8 @@ der_get_length(const unsigned char *p, size_t len, } static int -der_get_octet_string(const unsigned char *p, size_t len, - octet_string *data, size_t *size) +der_get_octet_string(const unsigned char *p, size_t len, octet_string *data, + size_t *size) { data->length = len; if (len != 0U) { @@ -864,8 +810,9 @@ der_get_octet_string(const unsigned char *p, size_t len, } static int -der_get_oid(const unsigned char *p, size_t len, oid *data, size_t *size) { - int n; +der_get_oid(const unsigned char *p, size_t len, oid *data, size_t *size) +{ + int n; size_t oldlen = len; data->components = NULL; @@ -903,14 +850,13 @@ der_get_oid(const unsigned char *p, size_t len, oid *data, size_t *size) { } static int -der_get_tag(const unsigned char *p, size_t len, - Der_class *xclass, Der_type *type, - int *tag, size_t *size) +der_get_tag(const unsigned char *p, size_t len, Der_class *xclass, + Der_type *type, int *tag, size_t *size) { if (len < 1U) return (ASN1_OVERRUN); - *xclass = (Der_class) (((*p) >> 6) & 0x03); - *type = (Der_type) (((*p) >> 5) & 0x01); + *xclass = (Der_class)(((*p) >> 6) & 0x03); + *type = (Der_type)(((*p) >> 5) & 0x01); *tag = (*p) & 0x1F; if (size) *size = 1; @@ -918,15 +864,14 @@ der_get_tag(const unsigned char *p, size_t len, } static int -der_match_tag(const unsigned char *p, size_t len, - Der_class xclass, Der_type type, - int tag, size_t *size) +der_match_tag(const unsigned char *p, size_t len, Der_class xclass, + Der_type type, int tag, size_t *size) { - size_t l; + size_t l; Der_class thisclass; - Der_type thistype; - int thistag; - int e; + Der_type thistype; + int thistag; + int e; e = der_get_tag(p, len, &thisclass, &thistype, &thistag, &l); if (e) @@ -943,12 +888,12 @@ der_match_tag(const unsigned char *p, size_t len, } static int -der_match_tag_and_length(const unsigned char *p, size_t len, - Der_class xclass, Der_type type, int tag, - size_t *length_ret, size_t *size) +der_match_tag_and_length(const unsigned char *p, size_t len, Der_class xclass, + Der_type type, int tag, size_t *length_ret, + size_t *size) { size_t l, ret = 0; - int e; + int e; e = der_match_tag(p, len, xclass, type, tag, &l); if (e) @@ -973,7 +918,7 @@ decode_enumerated(const unsigned char *p, size_t len, void *num, size_t *size) { size_t ret = 0; size_t l, reallen; - int e; + int e; e = der_match_tag(p, len, ASN1_C_UNIV, PRIM, UT_Enumerated, &l); if (e) @@ -992,7 +937,8 @@ decode_enumerated(const unsigned char *p, size_t len, void *num, size_t *size) return (e); p += l; len -= l; - POST(p); POST(len); + POST(p); + POST(len); ret += l; if (size) *size = ret; @@ -1000,12 +946,12 @@ decode_enumerated(const unsigned char *p, size_t len, void *num, size_t *size) } static int -decode_octet_string(const unsigned char *p, size_t len, - octet_string *k, size_t *size) +decode_octet_string(const unsigned char *p, size_t len, octet_string *k, + size_t *size) { size_t ret = 0; size_t l; - int e; + int e; size_t slen; k->data = NULL; @@ -1032,7 +978,8 @@ decode_octet_string(const unsigned char *p, size_t len, return (e); p += l; len -= l; - POST(p); POST(len); + POST(p); + POST(len); ret += l; if (size) *size = ret; @@ -1040,12 +987,11 @@ decode_octet_string(const unsigned char *p, size_t len, } static int -decode_oid(const unsigned char *p, size_t len, - oid *k, size_t *size) +decode_oid(const unsigned char *p, size_t len, oid *k, size_t *size) { size_t ret = 0; size_t l; - int e; + int e; size_t slen; e = der_match_tag(p, len, ASN1_C_UNIV, PRIM, UT_OID, &l); @@ -1069,7 +1015,8 @@ decode_oid(const unsigned char *p, size_t len, return (e); p += l; len -= l; - POST(p); POST(len); + POST(p); + POST(len); ret += l; if (size) *size = ret; @@ -1110,7 +1057,6 @@ length_len(size_t len) return (len_unsigned((unsigned int)len) + 1); } - /* der_put.c */ /* @@ -1198,7 +1144,7 @@ der_put_length(unsigned char *p, size_t len, size_t val, size_t *size) return (0); } else { size_t l; - int e; + int e; e = der_put_unsigned(p, len - 1, (unsigned int)val, &l); if (e) @@ -1211,8 +1157,8 @@ der_put_length(unsigned char *p, size_t len, size_t val, size_t *size) } static int -der_put_octet_string(unsigned char *p, size_t len, - const octet_string *data, size_t *size) +der_put_octet_string(unsigned char *p, size_t len, const octet_string *data, + size_t *size) { if (len < data->length) return (ASN1_OVERFLOW); @@ -1225,14 +1171,13 @@ der_put_octet_string(unsigned char *p, size_t len, } static int -der_put_oid(unsigned char *p, size_t len, - const oid *data, size_t *size) +der_put_oid(unsigned char *p, size_t len, const oid *data, size_t *size) { unsigned char *base = p; - size_t n; + size_t n; for (n = data->length; n >= 3u; --n) { - unsigned u = data->components[n - 1]; + unsigned u = data->components[n - 1]; if (len < 1U) return (ASN1_OVERFLOW); @@ -1260,7 +1205,7 @@ der_put_tag(unsigned char *p, size_t len, Der_class xclass, Der_type type, { if (len < 1U) return (ASN1_OVERFLOW); - *p = (xclass << 6) | (type << 5) | tag; /* XXX */ + *p = (xclass << 6) | (type << 5) | tag; /* XXX */ *size = 1; return (0); } @@ -1271,7 +1216,7 @@ der_put_length_and_tag(unsigned char *p, size_t len, size_t len_val, { size_t ret = 0; size_t l; - int e; + int e; e = der_put_length(p, len, len_val, &l); if (e) @@ -1284,7 +1229,8 @@ der_put_length_and_tag(unsigned char *p, size_t len, size_t len_val, return (e); p -= l; len -= l; - POST(p); POST(len); + POST(p); + POST(len); ret += l; *size = ret; return (0); @@ -1294,9 +1240,9 @@ static int encode_enumerated(unsigned char *p, size_t len, const void *data, size_t *size) { unsigned num = *(const unsigned *)data; - size_t ret = 0; - size_t l; - int e; + size_t ret = 0; + size_t l; + int e; e = der_put_int(p, len, num, &l); if (e) @@ -1304,24 +1250,26 @@ encode_enumerated(unsigned char *p, size_t len, const void *data, size_t *size) p -= l; len -= l; ret += l; - e = der_put_length_and_tag(p, len, l, ASN1_C_UNIV, PRIM, UT_Enumerated, &l); + e = der_put_length_and_tag(p, len, l, ASN1_C_UNIV, PRIM, UT_Enumerated, + &l); if (e) return (e); p -= l; len -= l; - POST(p); POST(len); + POST(p); + POST(len); ret += l; *size = ret; return (0); } static int -encode_octet_string(unsigned char *p, size_t len, - const octet_string *k, size_t *size) +encode_octet_string(unsigned char *p, size_t len, const octet_string *k, + size_t *size) { size_t ret = 0; size_t l; - int e; + int e; e = der_put_octet_string(p, len, k, &l); if (e) @@ -1329,24 +1277,25 @@ encode_octet_string(unsigned char *p, size_t len, p -= l; len -= l; ret += l; - e = der_put_length_and_tag(p, len, l, ASN1_C_UNIV, PRIM, UT_OctetString, &l); + e = der_put_length_and_tag(p, len, l, ASN1_C_UNIV, PRIM, UT_OctetString, + &l); if (e) return (e); p -= l; len -= l; - POST(p); POST(len); + POST(p); + POST(len); ret += l; *size = ret; return (0); } static int -encode_oid(unsigned char *p, size_t len, - const oid *k, size_t *size) +encode_oid(unsigned char *p, size_t len, const oid *k, size_t *size) { size_t ret = 0; size_t l; - int e; + int e; e = der_put_oid(p, len, k, &l); if (e) @@ -1359,19 +1308,17 @@ encode_oid(unsigned char *p, size_t len, return (e); p -= l; len -= l; - POST(p); POST(len); + POST(p); + POST(len); ret += l; *size = ret; return (0); } - /* encapsulate.c */ static void -gssapi_encap_length(size_t data_len, - size_t *len, - size_t *total_len, +gssapi_encap_length(size_t data_len, size_t *len, size_t *total_len, const gss_OID mech) { size_t len_len; @@ -1384,11 +1331,9 @@ gssapi_encap_length(size_t data_len, } static u_char * -gssapi_mech_make_header(u_char *p, - size_t len, - const gss_OID mech) +gssapi_mech_make_header(u_char *p, size_t len, const gss_OID mech) { - int e; + int e; size_t len_len, foo; *p++ = 0x60; @@ -1409,13 +1354,11 @@ gssapi_mech_make_header(u_char *p, */ static OM_uint32 -gssapi_spnego_encapsulate(OM_uint32 * minor_status, - unsigned char *buf, - size_t buf_size, - gss_buffer_t output_token, +gssapi_spnego_encapsulate(OM_uint32 *minor_status, unsigned char *buf, + size_t buf_size, gss_buffer_t output_token, const gss_OID mech) { - size_t len, outer_len; + size_t len, outer_len; u_char *p; gssapi_encap_length(buf_size, &len, &outer_len, mech); @@ -1443,10 +1386,10 @@ gssapi_spnego_encapsulate(OM_uint32 * minor_status, */ static int -add_mech(MechTypeList * mech_list, gss_OID mech) +add_mech(MechTypeList *mech_list, gss_OID mech) { MechType *tmp; - int ret; + int ret; tmp = realloc(mech_list->val, (mech_list->len + 1) * sizeof(*tmp)); if (tmp == NULL) @@ -1468,26 +1411,24 @@ add_mech(MechTypeList * mech_list, gss_OID mech) */ static ssize_t -gssapi_krb5_get_mech(const u_char *ptr, - size_t total_len, +gssapi_krb5_get_mech(const u_char *ptr, size_t total_len, const u_char **mech_ret) { - size_t len, len_len, mech_len, foo; + size_t len, len_len, mech_len, foo; const u_char *p = ptr; - int e; + int e; if (total_len < 1U) return (-1); if (*p++ != 0x60) return (-1); - e = der_get_length (p, total_len - 1, &len, &len_len); + e = der_get_length(p, total_len - 1, &len, &len_len); if (e || 1 + len_len + len != total_len) return (-1); p += len_len; if (*p++ != 0x06) return (-1); - e = der_get_length (p, total_len - 1 - len_len - 1, - &mech_len, &foo); + e = der_get_length(p, total_len - 1 - len_len - 1, &mech_len, &foo); if (e) return (-1); p += foo; @@ -1496,27 +1437,22 @@ gssapi_krb5_get_mech(const u_char *ptr, } static OM_uint32 -spnego_initial(OM_uint32 *minor_status, +spnego_initial(OM_uint32 * minor_status, const gss_cred_id_t initiator_cred_handle, - gss_ctx_id_t *context_handle, - const gss_name_t target_name, - const gss_OID mech_type, - OM_uint32 req_flags, - OM_uint32 time_req, + gss_ctx_id_t *context_handle, const gss_name_t target_name, + const gss_OID mech_type, OM_uint32 req_flags, OM_uint32 time_req, const gss_channel_bindings_t input_chan_bindings, - const gss_buffer_t input_token, - gss_OID *actual_mech_type, - gss_buffer_t output_token, - OM_uint32 *ret_flags, + const gss_buffer_t input_token, gss_OID *actual_mech_type, + gss_buffer_t output_token, OM_uint32 *ret_flags, OM_uint32 *time_rec) { - NegTokenInit token_init; - OM_uint32 major_status, minor_status2; - gss_buffer_desc krb5_output_token = GSS_C_EMPTY_BUFFER; - unsigned char *buf = NULL; - size_t buf_size; - size_t len; - int ret; + NegTokenInit token_init; + OM_uint32 major_status, minor_status2; + gss_buffer_desc krb5_output_token = GSS_C_EMPTY_BUFFER; + unsigned char * buf = NULL; + size_t buf_size; + size_t len; + int ret; (void)mech_type; @@ -1529,19 +1465,11 @@ spnego_initial(OM_uint32 *minor_status, goto end; } - major_status = gss_init_sec_context(minor_status, - initiator_cred_handle, - context_handle, - target_name, - GSS_KRB5_MECH, - req_flags, - time_req, - input_chan_bindings, - input_token, - actual_mech_type, - &krb5_output_token, - ret_flags, - time_rec); + major_status = gss_init_sec_context( + minor_status, initiator_cred_handle, context_handle, + target_name, GSS_KRB5_MECH, req_flags, time_req, + input_chan_bindings, input_token, actual_mech_type, + &krb5_output_token, ret_flags, time_rec); if (GSS_ERROR(major_status)) { ret = major_status; goto end; @@ -1570,19 +1498,14 @@ spnego_initial(OM_uint32 *minor_status, } do { - ret = encode_NegTokenInit(buf + buf_size - 1, - buf_size, + ret = encode_NegTokenInit(buf + buf_size - 1, buf_size, &token_init, &len); if (ret == 0) { size_t tmp; - ret = der_put_length_and_tag(buf + buf_size - len - 1, - buf_size - len, - len, - ASN1_C_CONTEXT, - CONS, - 0, - &tmp); + ret = der_put_length_and_tag( + buf + buf_size - len - 1, buf_size - len, len, + ASN1_C_CONTEXT, CONS, 0, &tmp); if (ret == 0) len += tmp; } @@ -1606,8 +1529,7 @@ spnego_initial(OM_uint32 *minor_status, } } while (ret == ASN1_OVERFLOW); - ret = gssapi_spnego_encapsulate(minor_status, - buf + buf_size - len, len, + ret = gssapi_spnego_encapsulate(minor_status, buf + buf_size - len, len, output_token, GSS_SPNEGO_MECH); if (ret == GSS_S_COMPLETE) ret = major_status; @@ -1627,43 +1549,36 @@ end: } static OM_uint32 -spnego_reply(OM_uint32 *minor_status, - const gss_cred_id_t initiator_cred_handle, - gss_ctx_id_t *context_handle, - const gss_name_t target_name, - const gss_OID mech_type, - OM_uint32 req_flags, - OM_uint32 time_req, +spnego_reply(OM_uint32 *minor_status, const gss_cred_id_t initiator_cred_handle, + gss_ctx_id_t *context_handle, const gss_name_t target_name, + const gss_OID mech_type, OM_uint32 req_flags, OM_uint32 time_req, const gss_channel_bindings_t input_chan_bindings, - const gss_buffer_t input_token, - gss_OID *actual_mech_type, - gss_buffer_t output_token, - OM_uint32 *ret_flags, + const gss_buffer_t input_token, gss_OID *actual_mech_type, + gss_buffer_t output_token, OM_uint32 *ret_flags, OM_uint32 *time_rec) { - OM_uint32 ret; - NegTokenResp resp; - unsigned char *buf; - size_t buf_size; - u_char oidbuf[17]; - size_t oidlen; + OM_uint32 ret; + NegTokenResp resp; + unsigned char * buf; + size_t buf_size; + u_char oidbuf[17]; + size_t oidlen; gss_buffer_desc sub_token; - ssize_t mech_len; - const u_char *p; - size_t len, taglen; + ssize_t mech_len; + const u_char * p; + size_t len, taglen; (void)mech_type; output_token->length = 0; - output_token->value = NULL; + output_token->value = NULL; /* * SPNEGO doesn't include gss wrapping on SubsequentContextToken * like the Kerberos 5 mech does. But lets check for it anyway. */ - mech_len = gssapi_krb5_get_mech(input_token->value, - input_token->length, + mech_len = gssapi_krb5_get_mech(input_token->value, input_token->length, &p); if (mech_len < 0) { @@ -1671,37 +1586,26 @@ spnego_reply(OM_uint32 *minor_status, buf_size = input_token->length; } else if ((size_t)mech_len == GSS_KRB5_MECH->length && isc_safe_memequal(GSS_KRB5_MECH->elements, p, mech_len)) - return (gss_init_sec_context(minor_status, - initiator_cred_handle, - context_handle, - target_name, - GSS_KRB5_MECH, - req_flags, - time_req, - input_chan_bindings, - input_token, - actual_mech_type, - output_token, - ret_flags, - time_rec)); + return (gss_init_sec_context( + minor_status, initiator_cred_handle, context_handle, + target_name, GSS_KRB5_MECH, req_flags, time_req, + input_chan_bindings, input_token, actual_mech_type, + output_token, ret_flags, time_rec)); else if ((size_t)mech_len == GSS_SPNEGO_MECH->length && isc_safe_memequal(GSS_SPNEGO_MECH->elements, p, mech_len)) { - ret = gssapi_spnego_decapsulate(minor_status, - input_token, - &buf, - &buf_size, - GSS_SPNEGO_MECH); + ret = gssapi_spnego_decapsulate(minor_status, input_token, &buf, + &buf_size, GSS_SPNEGO_MECH); if (ret) return (ret); } else return (GSS_S_BAD_MECH); - ret = der_match_tag_and_length(buf, buf_size, - ASN1_C_CONTEXT, CONS, 1, &len, &taglen); + ret = der_match_tag_and_length(buf, buf_size, ASN1_C_CONTEXT, CONS, 1, + &len, &taglen); if (ret) return (ret); - if(len > buf_size - taglen) + if (len > buf_size - taglen) return (ASN1_OVERRUN); ret = decode_NegTokenResp(buf + taglen, len, &resp, NULL); @@ -1711,46 +1615,34 @@ spnego_reply(OM_uint32 *minor_status, return (GSS_S_FAILURE); } - if (resp.negState == NULL || - *(resp.negState) == reject || + if (resp.negState == NULL || *(resp.negState) == reject || resp.supportedMech == NULL) { free_NegTokenResp(&resp); return (GSS_S_BAD_MECH); } - ret = der_put_oid(oidbuf + sizeof(oidbuf) - 1, - sizeof(oidbuf), - resp.supportedMech, - &oidlen); + ret = der_put_oid(oidbuf + sizeof(oidbuf) - 1, sizeof(oidbuf), + resp.supportedMech, &oidlen); if (ret || oidlen != GSS_KRB5_MECH->length || !isc_safe_memequal(oidbuf + sizeof(oidbuf) - oidlen, - GSS_KRB5_MECH->elements, oidlen)) - { + GSS_KRB5_MECH->elements, oidlen)) { free_NegTokenResp(&resp); return GSS_S_BAD_MECH; } if (resp.responseToken != NULL) { sub_token.length = resp.responseToken->length; - sub_token.value = resp.responseToken->data; + sub_token.value = resp.responseToken->data; } else { sub_token.length = 0; - sub_token.value = NULL; + sub_token.value = NULL; } - ret = gss_init_sec_context(minor_status, - initiator_cred_handle, - context_handle, - target_name, - GSS_KRB5_MECH, - req_flags, - time_req, - input_chan_bindings, - &sub_token, - actual_mech_type, - output_token, - ret_flags, - time_rec); + ret = gss_init_sec_context(minor_status, initiator_cred_handle, + context_handle, target_name, GSS_KRB5_MECH, + req_flags, time_req, input_chan_bindings, + &sub_token, actual_mech_type, output_token, + ret_flags, time_rec); if (ret) { free_NegTokenResp(&resp); return (ret); @@ -1768,55 +1660,31 @@ spnego_reply(OM_uint32 *minor_status, return (ret); } - - OM_uint32 -gss_init_sec_context_spnego(OM_uint32 *minor_status, - const gss_cred_id_t initiator_cred_handle, - gss_ctx_id_t *context_handle, - const gss_name_t target_name, - const gss_OID mech_type, - OM_uint32 req_flags, - OM_uint32 time_req, - const gss_channel_bindings_t input_chan_bindings, - const gss_buffer_t input_token, - gss_OID *actual_mech_type, - gss_buffer_t output_token, - OM_uint32 *ret_flags, - OM_uint32 *time_rec) +gss_init_sec_context_spnego( + OM_uint32 *minor_status, const gss_cred_id_t initiator_cred_handle, + gss_ctx_id_t *context_handle, const gss_name_t target_name, + const gss_OID mech_type, OM_uint32 req_flags, OM_uint32 time_req, + const gss_channel_bindings_t input_chan_bindings, + const gss_buffer_t input_token, gss_OID *actual_mech_type, + gss_buffer_t output_token, OM_uint32 *ret_flags, OM_uint32 *time_rec) { /* Dirty trick to suppress compiler warnings */ /* Figure out whether we're starting over or processing a reply */ if (input_token == GSS_C_NO_BUFFER || input_token->length == 0U) - return (spnego_initial(minor_status, - initiator_cred_handle, - context_handle, - target_name, - mech_type, - req_flags, - time_req, - input_chan_bindings, - input_token, - actual_mech_type, - output_token, - ret_flags, - time_rec)); + return (spnego_initial(minor_status, initiator_cred_handle, + context_handle, target_name, mech_type, + req_flags, time_req, input_chan_bindings, + input_token, actual_mech_type, + output_token, ret_flags, time_rec)); else - return (spnego_reply(minor_status, - initiator_cred_handle, - context_handle, - target_name, - mech_type, - req_flags, - time_req, - input_chan_bindings, - input_token, - actual_mech_type, - output_token, - ret_flags, - time_rec)); + return (spnego_reply(minor_status, initiator_cred_handle, + context_handle, target_name, mech_type, + req_flags, time_req, input_chan_bindings, + input_token, actual_mech_type, + output_token, ret_flags, time_rec)); } #endif /* GSSAPI */ diff --git a/lib/dns/spnego.h b/lib/dns/spnego.h index 31187209d0..a7c5057542 100644 --- a/lib/dns/spnego.h +++ b/lib/dns/spnego.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file * \brief * Entry points into portable SPNEGO implementation. @@ -27,19 +26,11 @@ * everything inside the SPNEGO wrapper. */ OM_uint32 -gss_init_sec_context_spnego(OM_uint32 *, - const gss_cred_id_t, - gss_ctx_id_t *, - const gss_name_t, - const gss_OID, - OM_uint32, - OM_uint32, - const gss_channel_bindings_t, - const gss_buffer_t, - gss_OID *, - gss_buffer_t, - OM_uint32 *, - OM_uint32 *); +gss_init_sec_context_spnego(OM_uint32 *, const gss_cred_id_t, gss_ctx_id_t *, + const gss_name_t, const gss_OID, OM_uint32, + OM_uint32, const gss_channel_bindings_t, + const gss_buffer_t, gss_OID *, gss_buffer_t, + OM_uint32 *, OM_uint32 *); /*% * Wrapper for GSSAPI gss_accept_sec_context(), using portable SPNEGO @@ -49,17 +40,10 @@ gss_init_sec_context_spnego(OM_uint32 *, * if so, processes it, otherwise hands the call off to the standard * gss_accept_sec_context() function. */ -OM_uint32 gss_accept_sec_context_spnego(OM_uint32 *, - gss_ctx_id_t *, - const gss_cred_id_t, - const gss_buffer_t, - const gss_channel_bindings_t, - gss_name_t *, - gss_OID *, - gss_buffer_t, - OM_uint32 *, - OM_uint32 *, - gss_cred_id_t *); - +OM_uint32 +gss_accept_sec_context_spnego(OM_uint32 *, gss_ctx_id_t *, const gss_cred_id_t, + const gss_buffer_t, const gss_channel_bindings_t, + gss_name_t *, gss_OID *, gss_buffer_t, + OM_uint32 *, OM_uint32 *, gss_cred_id_t *); #endif diff --git a/lib/dns/spnego_asn1.c b/lib/dns/spnego_asn1.c index e8e7fc5337..a0f8634013 100644 --- a/lib/dns/spnego_asn1.c +++ b/lib/dns/spnego_asn1.c @@ -20,13 +20,12 @@ #ifndef __asn1_h__ #define __asn1_h__ - #ifndef __asn1_common_definitions__ #define __asn1_common_definitions__ typedef struct octet_string { size_t length; - void *data; + void * data; } octet_string; typedef char *general_string; @@ -34,25 +33,25 @@ typedef char *general_string; typedef char *utf8_string; typedef struct oid { - size_t length; + size_t length; unsigned *components; } oid; -#define ASN1_MALLOC_ENCODE(T, B, BL, S, L, R) \ - do { \ - (BL) = length_##T((S)); \ - (B) = malloc((BL)); \ - if((B) == NULL) { \ - (R) = ENOMEM; \ - } else { \ - (R) = encode_##T(((unsigned char*)(B)) + (BL) - 1, (BL), \ - (S), (L)); \ - if((R) != 0) { \ - free((B)); \ - (B) = NULL; \ - } \ - } \ - } while (0) +#define ASN1_MALLOC_ENCODE(T, B, BL, S, L, R) \ + do { \ + (BL) = length_##T((S)); \ + (B) = malloc((BL)); \ + if ((B) == NULL) { \ + (R) = ENOMEM; \ + } else { \ + (R) = encode_##T(((unsigned char *)(B)) + (BL)-1, \ + (BL), (S), (L)); \ + if ((R) != 0) { \ + free((B)); \ + (B) = NULL; \ + } \ + } \ + } while (0) #endif @@ -62,48 +61,54 @@ typedef struct oid { typedef oid MechType; -static int encode_MechType(unsigned char *, size_t, const MechType *, size_t *); -static int decode_MechType(const unsigned char *, size_t, MechType *, size_t *); -static void free_MechType(MechType *); +static int +encode_MechType(unsigned char *, size_t, const MechType *, size_t *); +static int +decode_MechType(const unsigned char *, size_t, MechType *, size_t *); +static void +free_MechType(MechType *); /* unused declaration: length_MechType */ /* unused declaration: copy_MechType */ - /* * MechTypeList ::= SEQUENCE OF MechType */ typedef struct MechTypeList { unsigned int len; - MechType *val; + MechType * val; } MechTypeList; -static int encode_MechTypeList(unsigned char *, size_t, const MechTypeList *, size_t *); -static int decode_MechTypeList(const unsigned char *, size_t, MechTypeList *, size_t *); -static void free_MechTypeList(MechTypeList *); +static int +encode_MechTypeList(unsigned char *, size_t, const MechTypeList *, size_t *); +static int +decode_MechTypeList(const unsigned char *, size_t, MechTypeList *, size_t *); +static void +free_MechTypeList(MechTypeList *); /* unused declaration: length_MechTypeList */ /* unused declaration: copy_MechTypeList */ - /* * ContextFlags ::= BIT STRING { delegFlag(0), mutualFlag(1), replayFlag(2), * sequenceFlag(3), anonFlag(4), confFlag(5), integFlag(6) } */ typedef struct ContextFlags { - unsigned int delegFlag:1; - unsigned int mutualFlag:1; - unsigned int replayFlag:1; - unsigned int sequenceFlag:1; - unsigned int anonFlag:1; - unsigned int confFlag:1; - unsigned int integFlag:1; + unsigned int delegFlag : 1; + unsigned int mutualFlag : 1; + unsigned int replayFlag : 1; + unsigned int sequenceFlag : 1; + unsigned int anonFlag : 1; + unsigned int confFlag : 1; + unsigned int integFlag : 1; } ContextFlags; - -static int encode_ContextFlags(unsigned char *, size_t, const ContextFlags *, size_t *); -static int decode_ContextFlags(const unsigned char *, size_t, ContextFlags *, size_t *); -static void free_ContextFlags(ContextFlags *); +static int +encode_ContextFlags(unsigned char *, size_t, const ContextFlags *, size_t *); +static int +decode_ContextFlags(const unsigned char *, size_t, ContextFlags *, size_t *); +static void +free_ContextFlags(ContextFlags *); /* unused declaration: length_ContextFlags */ /* unused declaration: copy_ContextFlags */ /* unused declaration: ContextFlags2int */ @@ -117,19 +122,21 @@ static void free_ContextFlags(ContextFlags *); */ typedef struct NegTokenInit { - MechTypeList mechTypes; + MechTypeList mechTypes; ContextFlags *reqFlags; octet_string *mechToken; octet_string *mechListMIC; } NegTokenInit; -static int encode_NegTokenInit(unsigned char *, size_t, const NegTokenInit *, size_t *); -static int decode_NegTokenInit(const unsigned char *, size_t, NegTokenInit *, size_t *); -static void free_NegTokenInit(NegTokenInit *); +static int +encode_NegTokenInit(unsigned char *, size_t, const NegTokenInit *, size_t *); +static int +decode_NegTokenInit(const unsigned char *, size_t, NegTokenInit *, size_t *); +static void +free_NegTokenInit(NegTokenInit *); /* unused declaration: length_NegTokenInit */ /* unused declaration: copy_NegTokenInit */ - /* * NegTokenResp ::= SEQUENCE { negState[0] ENUMERATED { * accept-completed(0), accept-incomplete(1), reject(2), request-mic(3) } @@ -138,40 +145,47 @@ static void free_NegTokenInit(NegTokenInit *); */ typedef struct NegTokenResp { - enum { - accept_completed = 0, - accept_incomplete = 1, - reject = 2, - request_mic = 3 - } *negState; + enum { accept_completed = 0, + accept_incomplete = 1, + reject = 2, + request_mic = 3 } * + negState; - MechType *supportedMech; + MechType * supportedMech; octet_string *responseToken; octet_string *mechListMIC; } NegTokenResp; -static int encode_NegTokenResp(unsigned char *, size_t, const NegTokenResp *, size_t *); -static int decode_NegTokenResp(const unsigned char *, size_t, NegTokenResp *, size_t *); -static void free_NegTokenResp(NegTokenResp *); +static int +encode_NegTokenResp(unsigned char *, size_t, const NegTokenResp *, size_t *); +static int +decode_NegTokenResp(const unsigned char *, size_t, NegTokenResp *, size_t *); +static void +free_NegTokenResp(NegTokenResp *); /* unused declaration: length_NegTokenResp */ /* unused declaration: copy_NegTokenResp */ - - - -#endif /* __asn1_h__ */ +#endif /* __asn1_h__ */ /* Generated from spnego.asn1 */ /* Do not edit */ - -#define BACK if (e) return e; p -= l; len -= l; ret += l; POST(p); POST(len); POST(ret) +#define BACK \ + if (e) \ + return e; \ + p -= l; \ + len -= l; \ + ret += l; \ + POST(p); \ + POST(len); \ + POST(ret) static int -encode_MechType(unsigned char *p, size_t len, const MechType * data, size_t * size) +encode_MechType(unsigned char *p, size_t len, const MechType *data, + size_t *size) { size_t ret = 0; size_t l; - int e; + int e; e = encode_oid(p, len, data, &l); BACK; @@ -179,14 +193,23 @@ encode_MechType(unsigned char *p, size_t len, const MechType * data, size_t * si return 0; } -#define FORW if(e) goto fail; p += l; len -= l; ret += l; POST(p); POST(len); POST(ret) +#define FORW \ + if (e) \ + goto fail; \ + p += l; \ + len -= l; \ + ret += l; \ + POST(p); \ + POST(len); \ + POST(ret) static int -decode_MechType(const unsigned char *p, size_t len, MechType * data, size_t * size) +decode_MechType(const unsigned char *p, size_t len, MechType *data, + size_t *size) { size_t ret = 0; size_t l; - int e; + int e; memset(data, 0, sizeof(*data)); e = decode_oid(p, len, data, &l); @@ -200,26 +223,25 @@ fail: } static void -free_MechType(MechType * data) +free_MechType(MechType *data) { free_oid(data); } /* unused function: length_MechType */ - /* unused function: copy_MechType */ /* Generated from spnego.asn1 */ /* Do not edit */ - static int -encode_MechTypeList(unsigned char *p, size_t len, const MechTypeList * data, size_t * size) +encode_MechTypeList(unsigned char *p, size_t len, const MechTypeList *data, + size_t *size) { size_t ret = 0; size_t l; - int i, e; + int i, e; for (i = (data)->len - 1; i >= 0; --i) { size_t oldret = ret; @@ -228,22 +250,25 @@ encode_MechTypeList(unsigned char *p, size_t len, const MechTypeList * data, siz BACK; ret += oldret; } - e = der_put_length_and_tag(p, len, ret, ASN1_C_UNIV, CONS, UT_Sequence, &l); + e = der_put_length_and_tag(p, len, ret, ASN1_C_UNIV, CONS, UT_Sequence, + &l); BACK; *size = ret; return 0; } static int -decode_MechTypeList(const unsigned char *p, size_t len, MechTypeList * data, size_t * size) +decode_MechTypeList(const unsigned char *p, size_t len, MechTypeList *data, + size_t *size) { size_t ret = 0, reallen; size_t l; - int e; + int e; memset(data, 0, sizeof(*data)); reallen = 0; - e = der_match_tag_and_length(p, len, ASN1_C_UNIV, CONS, UT_Sequence, &reallen, &l); + e = der_match_tag_and_length(p, len, ASN1_C_UNIV, CONS, UT_Sequence, + &reallen, &l); FORW; if (len < reallen) return ASN1_OVERRUN; @@ -257,13 +282,16 @@ decode_MechTypeList(const unsigned char *p, size_t len, MechTypeList * data, siz while (ret < origlen) { void *old = (data)->val; (data)->len++; - (data)->val = realloc((data)->val, sizeof(*((data)->val)) * (data)->len); + (data)->val = + realloc((data)->val, + sizeof(*((data)->val)) * (data)->len); if ((data)->val == NULL) { (data)->val = old; (data)->len--; return ENOMEM; } - e = decode_MechType(p, len, &(data)->val[(data)->len - 1], &l); + e = decode_MechType(p, len, + &(data)->val[(data)->len - 1], &l); FORW; len = origlen - ret; } @@ -278,7 +306,7 @@ fail: } static void -free_MechTypeList(MechTypeList * data) +free_MechTypeList(MechTypeList *data) { while ((data)->len) { free_MechType(&(data)->val[(data)->len - 1]); @@ -290,19 +318,18 @@ free_MechTypeList(MechTypeList * data) /* unused function: length_MechTypeList */ - /* unused function: copy_MechTypeList */ /* Generated from spnego.asn1 */ /* Do not edit */ - static int -encode_ContextFlags(unsigned char *p, size_t len, const ContextFlags * data, size_t * size) +encode_ContextFlags(unsigned char *p, size_t len, const ContextFlags *data, + size_t *size) { size_t ret = 0; size_t l; - int e; + int e; { unsigned char c = 0; @@ -338,22 +365,25 @@ encode_ContextFlags(unsigned char *p, size_t len, const ContextFlags * data, siz ret += 2; } - e = der_put_length_and_tag(p, len, ret, ASN1_C_UNIV, PRIM, UT_BitString, &l); + e = der_put_length_and_tag(p, len, ret, ASN1_C_UNIV, PRIM, UT_BitString, + &l); BACK; *size = ret; return 0; } static int -decode_ContextFlags(const unsigned char *p, size_t len, ContextFlags * data, size_t * size) +decode_ContextFlags(const unsigned char *p, size_t len, ContextFlags *data, + size_t *size) { size_t ret = 0, reallen; size_t l; - int e; + int e; memset(data, 0, sizeof(*data)); reallen = 0; - e = der_match_tag_and_length(p, len, ASN1_C_UNIV, PRIM, UT_BitString, &reallen, &l); + e = der_match_tag_and_length(p, len, ASN1_C_UNIV, PRIM, UT_BitString, + &reallen, &l); FORW; if (len < reallen) return ASN1_OVERRUN; @@ -379,23 +409,19 @@ fail: } static void -free_ContextFlags(ContextFlags * data) +free_ContextFlags(ContextFlags *data) { (void)data; } /* unused function: length_ContextFlags */ - /* unused function: copy_ContextFlags */ - /* unused function: ContextFlags2int */ - /* unused function: int2ContextFlags */ - /* unused variable: ContextFlags_units */ /* unused function: asn1_ContextFlags_units */ @@ -403,20 +429,21 @@ free_ContextFlags(ContextFlags * data) /* Generated from spnego.asn1 */ /* Do not edit */ - static int -encode_NegTokenInit(unsigned char *p, size_t len, const NegTokenInit * data, size_t * size) +encode_NegTokenInit(unsigned char *p, size_t len, const NegTokenInit *data, + size_t *size) { size_t ret = 0; size_t l; - int e; + int e; if ((data)->mechListMIC) { size_t oldret = ret; ret = 0; e = encode_octet_string(p, len, (data)->mechListMIC, &l); BACK; - e = der_put_length_and_tag(p, len, ret, ASN1_C_CONTEXT, CONS, 3, &l); + e = der_put_length_and_tag(p, len, ret, ASN1_C_CONTEXT, CONS, 3, + &l); BACK; ret += oldret; } @@ -425,7 +452,8 @@ encode_NegTokenInit(unsigned char *p, size_t len, const NegTokenInit * data, siz ret = 0; e = encode_octet_string(p, len, (data)->mechToken, &l); BACK; - e = der_put_length_and_tag(p, len, ret, ASN1_C_CONTEXT, CONS, 2, &l); + e = der_put_length_and_tag(p, len, ret, ASN1_C_CONTEXT, CONS, 2, + &l); BACK; ret += oldret; } @@ -434,34 +462,40 @@ encode_NegTokenInit(unsigned char *p, size_t len, const NegTokenInit * data, siz ret = 0; e = encode_ContextFlags(p, len, (data)->reqFlags, &l); BACK; - e = der_put_length_and_tag(p, len, ret, ASN1_C_CONTEXT, CONS, 1, &l); + e = der_put_length_and_tag(p, len, ret, ASN1_C_CONTEXT, CONS, 1, + &l); BACK; ret += oldret; - } { + } + { size_t oldret = ret; ret = 0; e = encode_MechTypeList(p, len, &(data)->mechTypes, &l); BACK; - e = der_put_length_and_tag(p, len, ret, ASN1_C_CONTEXT, CONS, 0, &l); + e = der_put_length_and_tag(p, len, ret, ASN1_C_CONTEXT, CONS, 0, + &l); BACK; ret += oldret; } - e = der_put_length_and_tag(p, len, ret, ASN1_C_UNIV, CONS, UT_Sequence, &l); + e = der_put_length_and_tag(p, len, ret, ASN1_C_UNIV, CONS, UT_Sequence, + &l); BACK; *size = ret; return 0; } static int -decode_NegTokenInit(const unsigned char *p, size_t len, NegTokenInit * data, size_t * size) +decode_NegTokenInit(const unsigned char *p, size_t len, NegTokenInit *data, + size_t *size) { size_t ret = 0, reallen; size_t l; - int e; + int e; memset(data, 0, sizeof(*data)); reallen = 0; - e = der_match_tag_and_length(p, len, ASN1_C_UNIV, CONS, UT_Sequence, &reallen, &l); + e = der_match_tag_and_length(p, len, ASN1_C_UNIV, CONS, UT_Sequence, + &reallen, &l); FORW; { int dce_fix; @@ -480,14 +514,19 @@ decode_NegTokenInit(const unsigned char *p, size_t len, NegTokenInit * data, siz { int mydce_fix; oldlen = len; - if ((mydce_fix = fix_dce(newlen, &len)) < 0) { + if ((mydce_fix = fix_dce(newlen, + &len)) < 0) { e = ASN1_BAD_FORMAT; goto fail; } - e = decode_MechTypeList(p, len, &(data)->mechTypes, &l); + e = decode_MechTypeList( + p, len, &(data)->mechTypes, &l); FORW; if (mydce_fix) { - e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); + e = der_match_tag_and_length( + p, len, (Der_class)0, + (Der_type)0, 0, + &reallen, &l); FORW; } else len = oldlen - newlen; @@ -509,19 +548,25 @@ decode_NegTokenInit(const unsigned char *p, size_t len, NegTokenInit * data, siz { int mydce_fix; oldlen = len; - if ((mydce_fix = fix_dce(newlen, &len)) < 0) { + if ((mydce_fix = fix_dce(newlen, + &len)) < 0) { e = ASN1_BAD_FORMAT; goto fail; } - (data)->reqFlags = malloc(sizeof(*(data)->reqFlags)); + (data)->reqFlags = malloc( + sizeof(*(data)->reqFlags)); if ((data)->reqFlags == NULL) { e = ENOMEM; goto fail; } - e = decode_ContextFlags(p, len, (data)->reqFlags, &l); + e = decode_ContextFlags( + p, len, (data)->reqFlags, &l); FORW; if (mydce_fix) { - e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); + e = der_match_tag_and_length( + p, len, (Der_class)0, + (Der_type)0, 0, + &reallen, &l); FORW; } else len = oldlen - newlen; @@ -543,19 +588,25 @@ decode_NegTokenInit(const unsigned char *p, size_t len, NegTokenInit * data, siz { int mydce_fix; oldlen = len; - if ((mydce_fix = fix_dce(newlen, &len)) < 0) { + if ((mydce_fix = fix_dce(newlen, + &len)) < 0) { e = ASN1_BAD_FORMAT; goto fail; } - (data)->mechToken = malloc(sizeof(*(data)->mechToken)); + (data)->mechToken = malloc( + sizeof(*(data)->mechToken)); if ((data)->mechToken == NULL) { e = ENOMEM; goto fail; } - e = decode_octet_string(p, len, (data)->mechToken, &l); + e = decode_octet_string( + p, len, (data)->mechToken, &l); FORW; if (mydce_fix) { - e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); + e = der_match_tag_and_length( + p, len, (Der_class)0, + (Der_type)0, 0, + &reallen, &l); FORW; } else len = oldlen - newlen; @@ -577,19 +628,26 @@ decode_NegTokenInit(const unsigned char *p, size_t len, NegTokenInit * data, siz { int mydce_fix; oldlen = len; - if ((mydce_fix = fix_dce(newlen, &len)) < 0) { + if ((mydce_fix = fix_dce(newlen, + &len)) < 0) { e = ASN1_BAD_FORMAT; goto fail; } - (data)->mechListMIC = malloc(sizeof(*(data)->mechListMIC)); + (data)->mechListMIC = malloc( + sizeof(*(data)->mechListMIC)); if ((data)->mechListMIC == NULL) { e = ENOMEM; goto fail; } - e = decode_octet_string(p, len, (data)->mechListMIC, &l); + e = decode_octet_string( + p, len, (data)->mechListMIC, + &l); FORW; if (mydce_fix) { - e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); + e = der_match_tag_and_length( + p, len, (Der_class)0, + (Der_type)0, 0, + &reallen, &l); FORW; } else len = oldlen - newlen; @@ -597,7 +655,9 @@ decode_NegTokenInit(const unsigned char *p, size_t len, NegTokenInit * data, siz } } if (dce_fix) { - e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); + e = der_match_tag_and_length(p, len, (Der_class)0, + (Der_type)0, 0, &reallen, + &l); FORW; } } @@ -610,7 +670,7 @@ fail: } static void -free_NegTokenInit(NegTokenInit * data) +free_NegTokenInit(NegTokenInit *data) { free_MechTypeList(&(data)->mechTypes); if ((data)->reqFlags) { @@ -632,26 +692,26 @@ free_NegTokenInit(NegTokenInit * data) /* unused function: length_NegTokenInit */ - /* unused function: copy_NegTokenInit */ /* Generated from spnego.asn1 */ /* Do not edit */ - static int -encode_NegTokenResp(unsigned char *p, size_t len, const NegTokenResp * data, size_t * size) +encode_NegTokenResp(unsigned char *p, size_t len, const NegTokenResp *data, + size_t *size) { size_t ret = 0; size_t l; - int e; + int e; if ((data)->mechListMIC) { size_t oldret = ret; ret = 0; e = encode_octet_string(p, len, (data)->mechListMIC, &l); BACK; - e = der_put_length_and_tag(p, len, ret, ASN1_C_CONTEXT, CONS, 3, &l); + e = der_put_length_and_tag(p, len, ret, ASN1_C_CONTEXT, CONS, 3, + &l); BACK; ret += oldret; } @@ -660,7 +720,8 @@ encode_NegTokenResp(unsigned char *p, size_t len, const NegTokenResp * data, siz ret = 0; e = encode_octet_string(p, len, (data)->responseToken, &l); BACK; - e = der_put_length_and_tag(p, len, ret, ASN1_C_CONTEXT, CONS, 2, &l); + e = der_put_length_and_tag(p, len, ret, ASN1_C_CONTEXT, CONS, 2, + &l); BACK; ret += oldret; } @@ -669,7 +730,8 @@ encode_NegTokenResp(unsigned char *p, size_t len, const NegTokenResp * data, siz ret = 0; e = encode_MechType(p, len, (data)->supportedMech, &l); BACK; - e = der_put_length_and_tag(p, len, ret, ASN1_C_CONTEXT, CONS, 1, &l); + e = der_put_length_and_tag(p, len, ret, ASN1_C_CONTEXT, CONS, 1, + &l); BACK; ret += oldret; } @@ -678,27 +740,31 @@ encode_NegTokenResp(unsigned char *p, size_t len, const NegTokenResp * data, siz ret = 0; e = encode_enumerated(p, len, (data)->negState, &l); BACK; - e = der_put_length_and_tag(p, len, ret, ASN1_C_CONTEXT, CONS, 0, &l); + e = der_put_length_and_tag(p, len, ret, ASN1_C_CONTEXT, CONS, 0, + &l); BACK; ret += oldret; } - e = der_put_length_and_tag(p, len, ret, ASN1_C_UNIV, CONS, UT_Sequence, &l); + e = der_put_length_and_tag(p, len, ret, ASN1_C_UNIV, CONS, UT_Sequence, + &l); BACK; *size = ret; return 0; } static int -decode_NegTokenResp(const unsigned char *p, size_t len, NegTokenResp * data, size_t * size) +decode_NegTokenResp(const unsigned char *p, size_t len, NegTokenResp *data, + size_t *size) { size_t ret = 0, reallen; size_t l; - int e; + int e; /* cppcheck-suppress uninitvar */ memset(data, 0, sizeof(*data)); reallen = 0; - e = der_match_tag_and_length(p, len, ASN1_C_UNIV, CONS, UT_Sequence, &reallen, &l); + e = der_match_tag_and_length(p, len, ASN1_C_UNIV, CONS, UT_Sequence, + &reallen, &l); FORW; { int dce_fix; @@ -719,15 +785,21 @@ decode_NegTokenResp(const unsigned char *p, size_t len, NegTokenResp * data, siz { int mydce_fix; oldlen = len; - if ((mydce_fix = fix_dce(newlen, &len)) < 0) + if ((mydce_fix = + fix_dce(newlen, &len)) < 0) return ASN1_BAD_FORMAT; - (data)->negState = malloc(sizeof(*(data)->negState)); + (data)->negState = malloc( + sizeof(*(data)->negState)); if ((data)->negState == NULL) return ENOMEM; - e = decode_enumerated(p, len, (data)->negState, &l); + e = decode_enumerated( + p, len, (data)->negState, &l); FORW; if (mydce_fix) { - e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); + e = der_match_tag_and_length( + p, len, (Der_class)0, + (Der_type)0, 0, + &reallen, &l); FORW; } else len = oldlen - newlen; @@ -749,15 +821,22 @@ decode_NegTokenResp(const unsigned char *p, size_t len, NegTokenResp * data, siz { int mydce_fix; oldlen = len; - if ((mydce_fix = fix_dce(newlen, &len)) < 0) + if ((mydce_fix = + fix_dce(newlen, &len)) < 0) return ASN1_BAD_FORMAT; - (data)->supportedMech = malloc(sizeof(*(data)->supportedMech)); + (data)->supportedMech = malloc( + sizeof(*(data)->supportedMech)); if ((data)->supportedMech == NULL) return ENOMEM; - e = decode_MechType(p, len, (data)->supportedMech, &l); + e = decode_MechType( + p, len, (data)->supportedMech, + &l); FORW; if (mydce_fix) { - e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); + e = der_match_tag_and_length( + p, len, (Der_class)0, + (Der_type)0, 0, + &reallen, &l); FORW; } else len = oldlen - newlen; @@ -779,15 +858,22 @@ decode_NegTokenResp(const unsigned char *p, size_t len, NegTokenResp * data, siz { int mydce_fix; oldlen = len; - if ((mydce_fix = fix_dce(newlen, &len)) < 0) + if ((mydce_fix = + fix_dce(newlen, &len)) < 0) return ASN1_BAD_FORMAT; - (data)->responseToken = malloc(sizeof(*(data)->responseToken)); + (data)->responseToken = malloc( + sizeof(*(data)->responseToken)); if ((data)->responseToken == NULL) return ENOMEM; - e = decode_octet_string(p, len, (data)->responseToken, &l); + e = decode_octet_string( + p, len, (data)->responseToken, + &l); FORW; if (mydce_fix) { - e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); + e = der_match_tag_and_length( + p, len, (Der_class)0, + (Der_type)0, 0, + &reallen, &l); FORW; } else len = oldlen - newlen; @@ -809,15 +895,22 @@ decode_NegTokenResp(const unsigned char *p, size_t len, NegTokenResp * data, siz { int mydce_fix; oldlen = len; - if ((mydce_fix = fix_dce(newlen, &len)) < 0) + if ((mydce_fix = + fix_dce(newlen, &len)) < 0) return ASN1_BAD_FORMAT; - (data)->mechListMIC = malloc(sizeof(*(data)->mechListMIC)); + (data)->mechListMIC = malloc( + sizeof(*(data)->mechListMIC)); if ((data)->mechListMIC == NULL) return ENOMEM; - e = decode_octet_string(p, len, (data)->mechListMIC, &l); + e = decode_octet_string( + p, len, (data)->mechListMIC, + &l); FORW; if (mydce_fix) { - e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); + e = der_match_tag_and_length( + p, len, (Der_class)0, + (Der_type)0, 0, + &reallen, &l); FORW; } else len = oldlen - newlen; @@ -825,7 +918,9 @@ decode_NegTokenResp(const unsigned char *p, size_t len, NegTokenResp * data, siz } } if (dce_fix) { - e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); + e = der_match_tag_and_length(p, len, (Der_class)0, + (Der_type)0, 0, &reallen, + &l); FORW; } } @@ -838,7 +933,7 @@ fail: } static void -free_NegTokenResp(NegTokenResp * data) +free_NegTokenResp(NegTokenResp *data) { if ((data)->negState) { free((data)->negState); @@ -863,12 +958,10 @@ free_NegTokenResp(NegTokenResp * data) /* unused function: length_NegTokenResp */ - /* unused function: copy_NegTokenResp */ /* Generated from spnego.asn1 */ /* Do not edit */ - /* CHOICE */ /* unused variable: asn1_NegotiationToken_dummy_holder */ diff --git a/lib/dns/ssu.c b/lib/dns/ssu.c index b817722069..3f84dfecc0 100644 --- a/lib/dns/ssu.c +++ b/lib/dns/ssu.c @@ -27,38 +27,39 @@ #include #include -#include #include +#include -#define SSUTABLEMAGIC ISC_MAGIC('S', 'S', 'U', 'T') -#define VALID_SSUTABLE(table) ISC_MAGIC_VALID(table, SSUTABLEMAGIC) +#define SSUTABLEMAGIC ISC_MAGIC('S', 'S', 'U', 'T') +#define VALID_SSUTABLE(table) ISC_MAGIC_VALID(table, SSUTABLEMAGIC) -#define SSURULEMAGIC ISC_MAGIC('S', 'S', 'U', 'R') -#define VALID_SSURULE(table) ISC_MAGIC_VALID(table, SSURULEMAGIC) +#define SSURULEMAGIC ISC_MAGIC('S', 'S', 'U', 'R') +#define VALID_SSURULE(table) ISC_MAGIC_VALID(table, SSURULEMAGIC) struct dns_ssurule { - unsigned int magic; - bool grant; /*%< is this a grant or a deny? */ - dns_ssumatchtype_t matchtype; /*%< which type of pattern match? */ - dns_name_t *identity; /*%< the identity to match */ - dns_name_t *name; /*%< the name being updated */ - unsigned int ntypes; /*%< number of data types covered */ - dns_rdatatype_t *types; /*%< the data types. Can include */ - /* ANY. if NULL, defaults to all */ - /* types except SIG, SOA, and NS */ + unsigned int magic; + bool grant; /*%< is this a grant or a deny? */ + dns_ssumatchtype_t matchtype; /*%< which type of pattern match? */ + dns_name_t * identity; /*%< the identity to match */ + dns_name_t * name; /*%< the name being updated */ + unsigned int ntypes; /*%< number of data types covered */ + dns_rdatatype_t * types; /*%< the data types. Can include */ + /* ANY. if NULL, defaults to all */ + /* types except SIG, SOA, and NS */ ISC_LINK(dns_ssurule_t) link; }; struct dns_ssutable { - unsigned int magic; - isc_mem_t *mctx; + unsigned int magic; + isc_mem_t * mctx; isc_refcount_t references; - dns_dlzdb_t *dlzdatabase; + dns_dlzdb_t * dlzdatabase; ISC_LIST(dns_ssurule_t) rules; }; isc_result_t -dns_ssutable_create(isc_mem_t *mctx, dns_ssutable_t **tablep) { +dns_ssutable_create(isc_mem_t *mctx, dns_ssutable_t **tablep) +{ dns_ssutable_t *table; REQUIRE(tablep != NULL && *tablep == NULL); @@ -75,7 +76,8 @@ dns_ssutable_create(isc_mem_t *mctx, dns_ssutable_t **tablep) { } static inline void -destroy(dns_ssutable_t *table) { +destroy(dns_ssutable_t *table) +{ isc_mem_t *mctx; REQUIRE(VALID_SSUTABLE(table)); @@ -104,7 +106,8 @@ destroy(dns_ssutable_t *table) { } void -dns_ssutable_attach(dns_ssutable_t *source, dns_ssutable_t **targetp) { +dns_ssutable_attach(dns_ssutable_t *source, dns_ssutable_t **targetp) +{ REQUIRE(VALID_SSUTABLE(source)); REQUIRE(targetp != NULL && *targetp == NULL); @@ -114,7 +117,8 @@ dns_ssutable_attach(dns_ssutable_t *source, dns_ssutable_t **targetp) { } void -dns_ssutable_detach(dns_ssutable_t **tablep) { +dns_ssutable_detach(dns_ssutable_t **tablep) +{ dns_ssutable_t *table; REQUIRE(tablep != NULL); @@ -134,7 +138,7 @@ dns_ssutable_addrule(dns_ssutable_t *table, bool grant, dns_rdatatype_t *types) { dns_ssurule_t *rule; - isc_mem_t *mctx; + isc_mem_t * mctx; REQUIRE(VALID_SSUTABLE(table)); REQUIRE(dns_name_isabsolute(identity)); @@ -166,8 +170,8 @@ dns_ssutable_addrule(dns_ssutable_t *table, bool grant, rule->ntypes = ntypes; if (ntypes > 0) { - rule->types = isc_mem_get(mctx, - ntypes * sizeof(dns_rdatatype_t)); + rule->types = + isc_mem_get(mctx, ntypes * sizeof(dns_rdatatype_t)); memmove(rule->types, types, ntypes * sizeof(dns_rdatatype_t)); } else rule->types = NULL; @@ -179,19 +183,20 @@ dns_ssutable_addrule(dns_ssutable_t *table, bool grant, } static inline bool -isusertype(dns_rdatatype_t type) { - return (type != dns_rdatatype_ns && - type != dns_rdatatype_soa && +isusertype(dns_rdatatype_t type) +{ + return (type != dns_rdatatype_ns && type != dns_rdatatype_soa && type != dns_rdatatype_rrsig); } static void -reverse_from_address(dns_name_t *tcpself, const isc_netaddr_t *tcpaddr) { - char buf[16 * 4 + sizeof("IP6.ARPA.")]; - isc_result_t result; +reverse_from_address(dns_name_t *tcpself, const isc_netaddr_t *tcpaddr) +{ + char buf[16 * 4 + sizeof("IP6.ARPA.")]; + isc_result_t result; const unsigned char *ap; - isc_buffer_t b; - unsigned long l; + isc_buffer_t b; + unsigned long l; switch (tcpaddr->family) { case AF_INET: @@ -204,28 +209,25 @@ reverse_from_address(dns_name_t *tcpself, const isc_netaddr_t *tcpaddr) { break; case AF_INET6: ap = tcpaddr->type.in6.s6_addr; - result = snprintf(buf, sizeof(buf), - "%x.%x.%x.%x.%x.%x.%x.%x." - "%x.%x.%x.%x.%x.%x.%x.%x." - "%x.%x.%x.%x.%x.%x.%x.%x." - "%x.%x.%x.%x.%x.%x.%x.%x." - "IP6.ARPA.", - ap[15] & 0x0f, (ap[15] >> 4) & 0x0f, - ap[14] & 0x0f, (ap[14] >> 4) & 0x0f, - ap[13] & 0x0f, (ap[13] >> 4) & 0x0f, - ap[12] & 0x0f, (ap[12] >> 4) & 0x0f, - ap[11] & 0x0f, (ap[11] >> 4) & 0x0f, - ap[10] & 0x0f, (ap[10] >> 4) & 0x0f, - ap[9] & 0x0f, (ap[9] >> 4) & 0x0f, - ap[8] & 0x0f, (ap[8] >> 4) & 0x0f, - ap[7] & 0x0f, (ap[7] >> 4) & 0x0f, - ap[6] & 0x0f, (ap[6] >> 4) & 0x0f, - ap[5] & 0x0f, (ap[5] >> 4) & 0x0f, - ap[4] & 0x0f, (ap[4] >> 4) & 0x0f, - ap[3] & 0x0f, (ap[3] >> 4) & 0x0f, - ap[2] & 0x0f, (ap[2] >> 4) & 0x0f, - ap[1] & 0x0f, (ap[1] >> 4) & 0x0f, - ap[0] & 0x0f, (ap[0] >> 4) & 0x0f); + result = snprintf( + buf, sizeof(buf), + "%x.%x.%x.%x.%x.%x.%x.%x." + "%x.%x.%x.%x.%x.%x.%x.%x." + "%x.%x.%x.%x.%x.%x.%x.%x." + "%x.%x.%x.%x.%x.%x.%x.%x." + "IP6.ARPA.", + ap[15] & 0x0f, (ap[15] >> 4) & 0x0f, ap[14] & 0x0f, + (ap[14] >> 4) & 0x0f, ap[13] & 0x0f, + (ap[13] >> 4) & 0x0f, ap[12] & 0x0f, + (ap[12] >> 4) & 0x0f, ap[11] & 0x0f, + (ap[11] >> 4) & 0x0f, ap[10] & 0x0f, + (ap[10] >> 4) & 0x0f, ap[9] & 0x0f, (ap[9] >> 4) & 0x0f, + ap[8] & 0x0f, (ap[8] >> 4) & 0x0f, ap[7] & 0x0f, + (ap[7] >> 4) & 0x0f, ap[6] & 0x0f, (ap[6] >> 4) & 0x0f, + ap[5] & 0x0f, (ap[5] >> 4) & 0x0f, ap[4] & 0x0f, + (ap[4] >> 4) & 0x0f, ap[3] & 0x0f, (ap[3] >> 4) & 0x0f, + ap[2] & 0x0f, (ap[2] >> 4) & 0x0f, ap[1] & 0x0f, + (ap[1] >> 4) & 0x0f, ap[0] & 0x0f, (ap[0] >> 4) & 0x0f); RUNTIME_CHECK(result < sizeof(buf)); break; default: @@ -239,36 +241,36 @@ reverse_from_address(dns_name_t *tcpself, const isc_netaddr_t *tcpaddr) { } static void -stf_from_address(dns_name_t *stfself, const isc_netaddr_t *tcpaddr) { - char buf[sizeof("X.X.X.X.Y.Y.Y.Y.2.0.0.2.IP6.ARPA.")]; - isc_result_t result; +stf_from_address(dns_name_t *stfself, const isc_netaddr_t *tcpaddr) +{ + char buf[sizeof("X.X.X.X.Y.Y.Y.Y.2.0.0.2.IP6.ARPA.")]; + isc_result_t result; const unsigned char *ap; - isc_buffer_t b; - unsigned long l; + isc_buffer_t b; + unsigned long l; - switch(tcpaddr->family) { + switch (tcpaddr->family) { case AF_INET: l = ntohl(tcpaddr->type.in.s_addr); result = snprintf(buf, sizeof(buf), "%lx.%lx.%lx.%lx.%lx.%lx.%lx.%lx" "2.0.0.2.IP6.ARPA.", - l & 0xf, (l >> 4) & 0xf, - (l >> 8) & 0xf, (l >> 12) & 0xf, - (l >> 16) & 0xf, (l >> 20) & 0xf, - (l >> 24) & 0xf, (l >> 28) & 0xf); + l & 0xf, (l >> 4) & 0xf, (l >> 8) & 0xf, + (l >> 12) & 0xf, (l >> 16) & 0xf, + (l >> 20) & 0xf, (l >> 24) & 0xf, + (l >> 28) & 0xf); RUNTIME_CHECK(result < sizeof(buf)); break; case AF_INET6: ap = tcpaddr->type.in6.s6_addr; - result = snprintf(buf, sizeof(buf), - "%x.%x.%x.%x.%x.%x.%x.%x." - "%x.%x.%x.%x.IP6.ARPA.", - ap[5] & 0x0f, (ap[5] >> 4) & 0x0f, - ap[4] & 0x0f, (ap[4] >> 4) & 0x0f, - ap[3] & 0x0f, (ap[3] >> 4) & 0x0f, - ap[2] & 0x0f, (ap[2] >> 4) & 0x0f, - ap[1] & 0x0f, (ap[1] >> 4) & 0x0f, - ap[0] & 0x0f, (ap[0] >> 4) & 0x0f); + result = snprintf( + buf, sizeof(buf), + "%x.%x.%x.%x.%x.%x.%x.%x." + "%x.%x.%x.%x.IP6.ARPA.", + ap[5] & 0x0f, (ap[5] >> 4) & 0x0f, ap[4] & 0x0f, + (ap[4] >> 4) & 0x0f, ap[3] & 0x0f, (ap[3] >> 4) & 0x0f, + ap[2] & 0x0f, (ap[2] >> 4) & 0x0f, ap[1] & 0x0f, + (ap[1] >> 4) & 0x0f, ap[0] & 0x0f, (ap[0] >> 4) & 0x0f); RUNTIME_CHECK(result < sizeof(buf)); break; default: @@ -284,17 +286,17 @@ stf_from_address(dns_name_t *stfself, const isc_netaddr_t *tcpaddr) { bool dns_ssutable_checkrules(dns_ssutable_t *table, const dns_name_t *signer, const dns_name_t *name, const isc_netaddr_t *addr, - bool tcp, const dns_aclenv_t *env, - dns_rdatatype_t type, const dst_key_t *key) + bool tcp, const dns_aclenv_t *env, dns_rdatatype_t type, + const dst_key_t *key) { - dns_ssurule_t *rule; - unsigned int i; + dns_ssurule_t * rule; + unsigned int i; dns_fixedname_t fixed; - dns_name_t *wildcard; - dns_name_t *tcpself; - dns_name_t *stfself; - isc_result_t result; - int match; + dns_name_t * wildcard; + dns_name_t * tcpself; + dns_name_t * stfself; + isc_result_t result; + int match; REQUIRE(VALID_SSUTABLE(table)); REQUIRE(signer == NULL || dns_name_isabsolute(signer)); @@ -304,10 +306,8 @@ dns_ssutable_checkrules(dns_ssutable_t *table, const dns_name_t *signer, if (signer == NULL && addr == NULL) return (false); - for (rule = ISC_LIST_HEAD(table->rules); - rule != NULL; - rule = ISC_LIST_NEXT(rule, link)) - { + for (rule = ISC_LIST_HEAD(table->rules); rule != NULL; + rule = ISC_LIST_NEXT(rule, link)) { switch (rule->matchtype) { case dns_ssumatchtype_name: case dns_ssumatchtype_local: @@ -362,8 +362,8 @@ dns_ssutable_checkrules(dns_ssutable_t *table, const dns_name_t *signer, if (!dns_name_issubdomain(name, rule->name)) { continue; } - dns_acl_match(addr, NULL, env->localhost, - NULL, &match, NULL); + dns_acl_match(addr, NULL, env->localhost, NULL, &match, + NULL); if (match == 0) { if (signer != NULL) { isc_log_write(dns_lctx, @@ -400,52 +400,41 @@ dns_ssutable_checkrules(dns_ssutable_t *table, const dns_name_t *signer, continue; break; case dns_ssumatchtype_selfkrb5: - if (dst_gssapi_identitymatchesrealmkrb5(signer, name, - rule->identity, - false)) - { + if (dst_gssapi_identitymatchesrealmkrb5( + signer, name, rule->identity, false)) { break; } continue; case dns_ssumatchtype_selfms: - if (dst_gssapi_identitymatchesrealmms(signer, name, - rule->identity, - false)) - { + if (dst_gssapi_identitymatchesrealmms( + signer, name, rule->identity, false)) { break; } continue; case dns_ssumatchtype_selfsubkrb5: - if (dst_gssapi_identitymatchesrealmkrb5(signer, name, - rule->identity, - true)) - { + if (dst_gssapi_identitymatchesrealmkrb5( + signer, name, rule->identity, true)) { break; } continue; case dns_ssumatchtype_selfsubms: - if (dst_gssapi_identitymatchesrealmms(signer, name, - rule->identity, - true)) + if (dst_gssapi_identitymatchesrealmms( + signer, name, rule->identity, true)) break; continue; case dns_ssumatchtype_subdomainkrb5: if (!dns_name_issubdomain(name, rule->name)) continue; - if (dst_gssapi_identitymatchesrealmkrb5(signer, NULL, - rule->identity, - false)) - { + if (dst_gssapi_identitymatchesrealmkrb5( + signer, NULL, rule->identity, false)) { break; } continue; case dns_ssumatchtype_subdomainms: if (!dns_name_issubdomain(name, rule->name)) continue; - if (dst_gssapi_identitymatchesrealmms(signer, NULL, - rule->identity, - false)) - { + if (dst_gssapi_identitymatchesrealmms( + signer, NULL, rule->identity, false)) { break; } continue; @@ -484,8 +473,8 @@ dns_ssutable_checkrules(dns_ssutable_t *table, const dns_name_t *signer, continue; break; case dns_ssumatchtype_dlz: - if (!dns_dlz_ssumatch(table->dlzdatabase, signer, - name, addr, type, key)) + if (!dns_dlz_ssumatch(table->dlzdatabase, signer, name, + addr, type, key)) continue; break; } @@ -515,31 +504,36 @@ dns_ssutable_checkrules(dns_ssutable_t *table, const dns_name_t *signer, } bool -dns_ssurule_isgrant(const dns_ssurule_t *rule) { +dns_ssurule_isgrant(const dns_ssurule_t *rule) +{ REQUIRE(VALID_SSURULE(rule)); return (rule->grant); } dns_name_t * -dns_ssurule_identity(const dns_ssurule_t *rule) { +dns_ssurule_identity(const dns_ssurule_t *rule) +{ REQUIRE(VALID_SSURULE(rule)); return (rule->identity); } unsigned int -dns_ssurule_matchtype(const dns_ssurule_t *rule) { +dns_ssurule_matchtype(const dns_ssurule_t *rule) +{ REQUIRE(VALID_SSURULE(rule)); return (rule->matchtype); } dns_name_t * -dns_ssurule_name(const dns_ssurule_t *rule) { +dns_ssurule_name(const dns_ssurule_t *rule) +{ REQUIRE(VALID_SSURULE(rule)); return (rule->name); } unsigned int -dns_ssurule_types(const dns_ssurule_t *rule, dns_rdatatype_t **types) { +dns_ssurule_types(const dns_ssurule_t *rule, dns_rdatatype_t **types) +{ REQUIRE(VALID_SSURULE(rule)); REQUIRE(types != NULL && *types != NULL); *types = rule->types; @@ -547,7 +541,8 @@ dns_ssurule_types(const dns_ssurule_t *rule, dns_rdatatype_t **types) { } isc_result_t -dns_ssutable_firstrule(const dns_ssutable_t *table, dns_ssurule_t **rule) { +dns_ssutable_firstrule(const dns_ssutable_t *table, dns_ssurule_t **rule) +{ REQUIRE(VALID_SSUTABLE(table)); REQUIRE(rule != NULL && *rule == NULL); *rule = ISC_LIST_HEAD(table->rules); @@ -555,7 +550,8 @@ dns_ssutable_firstrule(const dns_ssutable_t *table, dns_ssurule_t **rule) { } isc_result_t -dns_ssutable_nextrule(dns_ssurule_t *rule, dns_ssurule_t **nextrule) { +dns_ssutable_nextrule(dns_ssurule_t *rule, dns_ssurule_t **nextrule) +{ REQUIRE(VALID_SSURULE(rule)); REQUIRE(nextrule != NULL && *nextrule == NULL); *nextrule = ISC_LIST_NEXT(rule, link); @@ -569,8 +565,8 @@ isc_result_t dns_ssutable_createdlz(isc_mem_t *mctx, dns_ssutable_t **tablep, dns_dlzdb_t *dlzdatabase) { - isc_result_t result; - dns_ssurule_t *rule; + isc_result_t result; + dns_ssurule_t * rule; dns_ssutable_t *table = NULL; REQUIRE(tablep != NULL && *tablep == NULL); @@ -598,8 +594,8 @@ dns_ssutable_createdlz(isc_mem_t *mctx, dns_ssutable_t **tablep, } isc_result_t -dns_ssu_mtypefromstring(const char *str, dns_ssumatchtype_t *mtype) { - +dns_ssu_mtypefromstring(const char *str, dns_ssumatchtype_t *mtype) +{ REQUIRE(str != NULL); REQUIRE(mtype != NULL); diff --git a/lib/dns/ssu_external.c b/lib/dns/ssu_external.c index 1a517fd248..f980df25f5 100644 --- a/lib/dns/ssu_external.c +++ b/lib/dns/ssu_external.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* * This implements external update-policy rules. This allows permission * to update a zone to be checked by consulting an external daemon (e.g., @@ -36,30 +35,30 @@ #include #include -#include -#include #include +#include #include +#include #include - static void -ssu_e_log(int level, const char *fmt, ...) { +ssu_e_log(int level, const char *fmt, ...) +{ va_list ap; va_start(ap, fmt); - isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_SECURITY, - DNS_LOGMODULE_ZONE, ISC_LOG_DEBUG(level), fmt, ap); + isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_SECURITY, DNS_LOGMODULE_ZONE, + ISC_LOG_DEBUG(level), fmt, ap); va_end(ap); } - /* * Connect to a UNIX domain socket. */ static int -ux_socket_connect(const char *path) { +ux_socket_connect(const char *path) +{ int fd = -1; #ifdef ISC_PLATFORM_HAVESYSUNH struct sockaddr_un addr; @@ -67,8 +66,9 @@ ux_socket_connect(const char *path) { REQUIRE(path != NULL); if (strlen(path) > sizeof(addr.sun_path)) { - ssu_e_log(3, "ssu_external: socket path '%s' " - "longer than system maximum %zu", + ssu_e_log(3, + "ssu_external: socket path '%s' " + "longer than system maximum %zu", path, sizeof(addr.sun_path)); return (-1); } @@ -89,8 +89,9 @@ ux_socket_connect(const char *path) { if (connect(fd, (struct sockaddr *)&addr, sizeof(addr)) == -1) { char strbuf[ISC_STRERRORSIZE]; strerror_r(errno, strbuf, sizeof(strbuf)); - ssu_e_log(3, "ssu_external: unable to connect to " - "socket '%s' - %s", + ssu_e_log(3, + "ssu_external: unable to connect to " + "socket '%s' - %s", path, strbuf); close(fd); return (-1); @@ -113,27 +114,27 @@ ux_socket_connect(const char *path) { * the authorization server. */ bool -dns_ssu_external_match(const dns_name_t *identity, - const dns_name_t *signer, const dns_name_t *name, - const isc_netaddr_t *tcpaddr, dns_rdatatype_t type, - const dst_key_t *key, isc_mem_t *mctx) +dns_ssu_external_match(const dns_name_t *identity, const dns_name_t *signer, + const dns_name_t *name, const isc_netaddr_t *tcpaddr, + dns_rdatatype_t type, const dst_key_t *key, + isc_mem_t *mctx) { - char b_identity[DNS_NAME_FORMATSIZE]; - char b_signer[DNS_NAME_FORMATSIZE]; - char b_name[DNS_NAME_FORMATSIZE]; - char b_addr[ISC_NETADDR_FORMATSIZE]; - char b_type[DNS_RDATATYPE_FORMATSIZE]; - char b_key[DST_KEY_FORMATSIZE]; - isc_buffer_t *tkey_token = NULL; - int fd; - const char *sock_path; - unsigned int req_len; - isc_region_t token_region = {NULL, 0}; + char b_identity[DNS_NAME_FORMATSIZE]; + char b_signer[DNS_NAME_FORMATSIZE]; + char b_name[DNS_NAME_FORMATSIZE]; + char b_addr[ISC_NETADDR_FORMATSIZE]; + char b_type[DNS_RDATATYPE_FORMATSIZE]; + char b_key[DST_KEY_FORMATSIZE]; + isc_buffer_t * tkey_token = NULL; + int fd; + const char * sock_path; + unsigned int req_len; + isc_region_t token_region = { NULL, 0 }; unsigned char *data; - isc_buffer_t buf; - uint32_t token_len = 0; - uint32_t reply; - ssize_t ret; + isc_buffer_t buf; + uint32_t token_len = 0; + uint32_t reply; + ssize_t ret; /* The identity contains local:/path/to/socket */ dns_name_format(identity, b_identity, sizeof(b_identity)); @@ -177,16 +178,15 @@ dns_ssu_external_match(const dns_name_t *identity, dns_rdatatype_format(type, b_type, sizeof(b_type)); /* Work out how big the request will be */ - req_len = sizeof(uint32_t) + /* Format version */ - sizeof(uint32_t) + /* Length */ + req_len = sizeof(uint32_t) + /* Format version */ + sizeof(uint32_t) + /* Length */ strlen(b_signer) + 1 + /* Signer */ - strlen(b_name) + 1 + /* Name */ - strlen(b_addr) + 1 + /* Address */ - strlen(b_type) + 1 + /* Type */ - strlen(b_key) + 1 + /* Key */ - sizeof(uint32_t) + /* tkey_token length */ - token_len; /* tkey_token */ - + strlen(b_name) + 1 + /* Name */ + strlen(b_addr) + 1 + /* Address */ + strlen(b_type) + 1 + /* Type */ + strlen(b_key) + 1 + /* Key */ + sizeof(uint32_t) + /* tkey_token length */ + token_len; /* tkey_token */ /* format the buffer */ data = isc_mem_allocate(mctx, req_len); @@ -216,7 +216,7 @@ dns_ssu_external_match(const dns_name_t *identity, /* Send the request */ ret = write(fd, data, req_len); isc_mem_free(mctx, data); - if (ret != (ssize_t) req_len) { + if (ret != (ssize_t)req_len) { char strbuf[ISC_STRERRORSIZE]; strerror_r(errno, strbuf, sizeof(strbuf)); ssu_e_log(3, "ssu_external: unable to send request - %s", @@ -227,7 +227,7 @@ dns_ssu_external_match(const dns_name_t *identity, /* Receive the reply */ ret = read(fd, &reply, sizeof(uint32_t)); - if (ret != (ssize_t) sizeof(uint32_t)) { + if (ret != (ssize_t)sizeof(uint32_t)) { char strbuf[ISC_STRERRORSIZE]; strerror_r(errno, strbuf, sizeof(strbuf)); ssu_e_log(3, "ssu_external: unable to receive reply - %s", diff --git a/lib/dns/stats.c b/lib/dns/stats.c index ef884d7d14..dd8bcc6fde 100644 --- a/lib/dns/stats.c +++ b/lib/dns/stats.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -25,8 +24,8 @@ #include #include -#define DNS_STATS_MAGIC ISC_MAGIC('D', 's', 't', 't') -#define DNS_STATS_VALID(x) ISC_MAGIC_VALID(x, DNS_STATS_MAGIC) +#define DNS_STATS_MAGIC ISC_MAGIC('D', 's', 't', 't') +#define DNS_STATS_VALID(x) ISC_MAGIC_VALID(x, DNS_STATS_MAGIC) /*% * Statistics types. @@ -53,14 +52,14 @@ typedef enum { * * If the 8 bits for RRtype are all zero, this is an Other RRtype. */ -#define RDTYPECOUNTER_MAXTYPE 0x00ff +#define RDTYPECOUNTER_MAXTYPE 0x00ff /* * * Bit 7 is the NXRRSET (NX) flag and indicates whether this is a * positive (0) or a negative (1) RRset. */ -#define RDTYPECOUNTER_NXRRSET 0x0100 +#define RDTYPECOUNTER_NXRRSET 0x0100 /* * Then bit 5 and 6 mostly tell you if this counter is for an active, @@ -73,8 +72,8 @@ typedef enum { * Since a counter cannot be stale and ancient at the same time, we * treat S = 0x11 as a special case to deal with NXDOMAIN counters. */ -#define RDTYPECOUNTER_STALE (1 << 9) -#define RDTYPECOUNTER_ANCIENT (1 << 10) +#define RDTYPECOUNTER_STALE (1 << 9) +#define RDTYPECOUNTER_ANCIENT (1 << 10) #define RDTYPECOUNTER_NXDOMAIN ((1 << 9) | (1 << 10)) /* @@ -86,46 +85,47 @@ typedef enum { * RRType = 2 (0b02) means Ancient * */ -#define RDTYPECOUNTER_NXDOMAIN_STALE 1 +#define RDTYPECOUNTER_NXDOMAIN_STALE 1 #define RDTYPECOUNTER_NXDOMAIN_ANCIENT 2 /* * The maximum value for rdtypecounter is for an ancient NXDOMAIN. */ -#define RDTYPECOUNTER_MAXVAL 0x0602 +#define RDTYPECOUNTER_MAXVAL 0x0602 /* dnssec maximum key id */ static int dnssec_keyid_max = 65535; struct dns_stats { unsigned int magic; - dns_statstype_t type; - isc_mem_t *mctx; - isc_stats_t *counters; + dns_statstype_t type; + isc_mem_t * mctx; + isc_stats_t * counters; isc_refcount_t references; }; typedef struct rdatadumparg { - dns_rdatatypestats_dumper_t fn; - void *arg; + dns_rdatatypestats_dumper_t fn; + void * arg; } rdatadumparg_t; typedef struct opcodedumparg { - dns_opcodestats_dumper_t fn; - void *arg; + dns_opcodestats_dumper_t fn; + void * arg; } opcodedumparg_t; typedef struct rcodedumparg { - dns_rcodestats_dumper_t fn; - void *arg; + dns_rcodestats_dumper_t fn; + void * arg; } rcodedumparg_t; typedef struct dnssecsigndumparg { - dns_dnssecsignstats_dumper_t fn; - void *arg; + dns_dnssecsignstats_dumper_t fn; + void * arg; } dnssecsigndumparg_t; void -dns_stats_attach(dns_stats_t *stats, dns_stats_t **statsp) { +dns_stats_attach(dns_stats_t *stats, dns_stats_t **statsp) +{ REQUIRE(DNS_STATS_VALID(stats)); REQUIRE(statsp != NULL && *statsp == NULL); @@ -135,7 +135,8 @@ dns_stats_attach(dns_stats_t *stats, dns_stats_t **statsp) { } void -dns_stats_detach(dns_stats_t **statsp) { +dns_stats_detach(dns_stats_t **statsp) +{ dns_stats_t *stats; REQUIRE(statsp != NULL && DNS_STATS_VALID(*statsp)); @@ -177,21 +178,23 @@ create_stats(isc_mem_t *mctx, dns_statstype_t type, int ncounters, return (ISC_R_SUCCESS); - clean_mutex: +clean_mutex: isc_mem_put(mctx, stats, sizeof(*stats)); return (result); } isc_result_t -dns_generalstats_create(isc_mem_t *mctx, dns_stats_t **statsp, int ncounters) { +dns_generalstats_create(isc_mem_t *mctx, dns_stats_t **statsp, int ncounters) +{ REQUIRE(statsp != NULL && *statsp == NULL); return (create_stats(mctx, dns_statstype_general, ncounters, statsp)); } isc_result_t -dns_rdatatypestats_create(isc_mem_t *mctx, dns_stats_t **statsp) { +dns_rdatatypestats_create(isc_mem_t *mctx, dns_stats_t **statsp) +{ REQUIRE(statsp != NULL && *statsp == NULL); /* @@ -199,52 +202,58 @@ dns_rdatatypestats_create(isc_mem_t *mctx, dns_stats_t **statsp) { * plus one additional for other RRtypes. */ return (create_stats(mctx, dns_statstype_rdtype, - (RDTYPECOUNTER_MAXTYPE+1), statsp)); + (RDTYPECOUNTER_MAXTYPE + 1), statsp)); } isc_result_t -dns_rdatasetstats_create(isc_mem_t *mctx, dns_stats_t **statsp) { +dns_rdatasetstats_create(isc_mem_t *mctx, dns_stats_t **statsp) +{ REQUIRE(statsp != NULL && *statsp == NULL); return (create_stats(mctx, dns_statstype_rdataset, - (RDTYPECOUNTER_MAXVAL+1), statsp)); + (RDTYPECOUNTER_MAXVAL + 1), statsp)); } isc_result_t -dns_opcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp) { +dns_opcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp) +{ REQUIRE(statsp != NULL && *statsp == NULL); return (create_stats(mctx, dns_statstype_opcode, 16, statsp)); } isc_result_t -dns_rcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp) { +dns_rcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp) +{ REQUIRE(statsp != NULL && *statsp == NULL); - return (create_stats(mctx, dns_statstype_rcode, - dns_rcode_badcookie + 1, statsp)); + return (create_stats(mctx, dns_statstype_rcode, dns_rcode_badcookie + 1, + statsp)); } isc_result_t -dns_dnssecsignstats_create(isc_mem_t *mctx, dns_stats_t **statsp) { +dns_dnssecsignstats_create(isc_mem_t *mctx, dns_stats_t **statsp) +{ REQUIRE(statsp != NULL && *statsp == NULL); - return (create_stats(mctx, dns_statstype_dnssec, - dnssec_keyid_max, statsp)); + return (create_stats(mctx, dns_statstype_dnssec, dnssec_keyid_max, + statsp)); } /*% * Increment/Decrement methods */ void -dns_generalstats_increment(dns_stats_t *stats, isc_statscounter_t counter) { +dns_generalstats_increment(dns_stats_t *stats, isc_statscounter_t counter) +{ REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_general); isc_stats_increment(stats->counters, counter); } -inline static -isc_statscounter_t rdatatype2counter(dns_rdatatype_t type) { +inline static isc_statscounter_t +rdatatype2counter(dns_rdatatype_t type) +{ if (type > (dns_rdatatype_t)RDTYPECOUNTER_MAXTYPE) { return 0; } @@ -252,7 +261,8 @@ isc_statscounter_t rdatatype2counter(dns_rdatatype_t type) { } void -dns_rdatatypestats_increment(dns_stats_t *stats, dns_rdatatype_t type) { +dns_rdatatypestats_increment(dns_stats_t *stats, dns_rdatatype_t type) +{ isc_statscounter_t counter; REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_rdtype); @@ -278,9 +288,8 @@ update_rdatasetstats(dns_stats_t *stats, dns_rdatastatstype_t rrsettype, if ((DNS_RDATASTATSTYPE_ATTR(rrsettype) & DNS_RDATASTATSTYPE_ATTR_ANCIENT) != 0) { counter |= RDTYPECOUNTER_NXDOMAIN_ANCIENT; - } - else if ((DNS_RDATASTATSTYPE_ATTR(rrsettype) & - DNS_RDATASTATSTYPE_ATTR_STALE) != 0) { + } else if ((DNS_RDATASTATSTYPE_ATTR(rrsettype) & + DNS_RDATASTATSTYPE_ATTR_STALE) != 0) { counter += RDTYPECOUNTER_NXDOMAIN_STALE; } } else { @@ -294,9 +303,8 @@ update_rdatasetstats(dns_stats_t *stats, dns_rdatastatstype_t rrsettype, if ((DNS_RDATASTATSTYPE_ATTR(rrsettype) & DNS_RDATASTATSTYPE_ATTR_ANCIENT) != 0) { counter |= RDTYPECOUNTER_ANCIENT; - } - else if ((DNS_RDATASTATSTYPE_ATTR(rrsettype) & - DNS_RDATASTATSTYPE_ATTR_STALE) != 0) { + } else if ((DNS_RDATASTATSTYPE_ATTR(rrsettype) & + DNS_RDATASTATSTYPE_ATTR_STALE) != 0) { counter |= RDTYPECOUNTER_STALE; } } @@ -327,14 +335,16 @@ dns_rdatasetstats_decrement(dns_stats_t *stats, dns_rdatastatstype_t rrsettype) } void -dns_opcodestats_increment(dns_stats_t *stats, dns_opcode_t code) { +dns_opcodestats_increment(dns_stats_t *stats, dns_opcode_t code) +{ REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_opcode); isc_stats_increment(stats->counters, (isc_statscounter_t)code); } void -dns_rcodestats_increment(dns_stats_t *stats, dns_rcode_t code) { +dns_rcodestats_increment(dns_stats_t *stats, dns_rcode_t code) +{ REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_rcode); if (code <= dns_rcode_badcookie) @@ -342,7 +352,8 @@ dns_rcodestats_increment(dns_stats_t *stats, dns_rcode_t code) { } void -dns_dnssecsignstats_increment(dns_stats_t *stats, dns_keytag_t id) { +dns_dnssecsignstats_increment(dns_stats_t *stats, dns_keytag_t id) +{ REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_dnssec); isc_stats_increment(stats->counters, (isc_statscounter_t)id); @@ -357,15 +368,15 @@ dns_generalstats_dump(dns_stats_t *stats, dns_generalstats_dumper_t dump_fn, { REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_general); - isc_stats_dump(stats->counters, (isc_stats_dumper_t)dump_fn, - arg, options); + isc_stats_dump(stats->counters, (isc_stats_dumper_t)dump_fn, arg, + options); } static void dump_rdentry(int rdcounter, uint64_t value, dns_rdatastatstype_t attributes, - dns_rdatatypestats_dumper_t dump_fn, void * arg) + dns_rdatatypestats_dumper_t dump_fn, void *arg) { - dns_rdatatype_t rdtype = dns_rdatatype_none; /* sentinel */ + dns_rdatatype_t rdtype = dns_rdatatype_none; /* sentinel */ dns_rdatastatstype_t type; if ((rdcounter & RDTYPECOUNTER_MAXTYPE) == 0) { @@ -379,7 +390,8 @@ dump_rdentry(int rdcounter, uint64_t value, dns_rdatastatstype_t attributes, } static void -rdatatype_dumpcb(isc_statscounter_t counter, uint64_t value, void *arg) { +rdatatype_dumpcb(isc_statscounter_t counter, uint64_t value, void *arg) +{ rdatadumparg_t *rdatadumparg = arg; dump_rdentry(counter, value, 0, rdatadumparg->fn, rdatadumparg->arg); @@ -398,9 +410,10 @@ dns_rdatatypestats_dump(dns_stats_t *stats, dns_rdatatypestats_dumper_t dump_fn, } static void -rdataset_dumpcb(isc_statscounter_t counter, uint64_t value, void *arg) { +rdataset_dumpcb(isc_statscounter_t counter, uint64_t value, void *arg) +{ rdatadumparg_t *rdatadumparg = arg; - unsigned int attributes = 0; + unsigned int attributes = 0; if ((counter & RDTYPECOUNTER_NXDOMAIN) == RDTYPECOUNTER_NXDOMAIN) { attributes |= DNS_RDATASTATSTYPE_ATTR_NXDOMAIN; @@ -413,7 +426,7 @@ rdataset_dumpcb(isc_statscounter_t counter, uint64_t value, void *arg) { RDTYPECOUNTER_NXDOMAIN_STALE) { attributes |= DNS_RDATASTATSTYPE_ATTR_STALE; } else if ((counter & RDTYPECOUNTER_MAXTYPE) == - RDTYPECOUNTER_NXDOMAIN_ANCIENT) { + RDTYPECOUNTER_NXDOMAIN_ANCIENT) { attributes |= DNS_RDATASTATSTYPE_ATTR_ANCIENT; } } else { @@ -450,21 +463,21 @@ dns_rdatasetstats_dump(dns_stats_t *stats, dns_rdatatypestats_dumper_t dump_fn, } static void -dnssec_dumpcb(isc_statscounter_t counter, uint64_t value, void *arg) { +dnssec_dumpcb(isc_statscounter_t counter, uint64_t value, void *arg) +{ dnssecsigndumparg_t *dnssecarg = arg; dnssecarg->fn((dns_keytag_t)counter, value, dnssecarg->arg); } void -dns_dnssecsignstats_dump(dns_stats_t *stats, - dns_dnssecsignstats_dumper_t dump_fn, - void *arg0, unsigned int options) +dns_dnssecsignstats_dump(dns_stats_t * stats, + dns_dnssecsignstats_dumper_t dump_fn, void *arg0, + unsigned int options) { dnssecsigndumparg_t arg; - REQUIRE(DNS_STATS_VALID(stats) && - stats->type == dns_statstype_dnssec); + REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_dnssec); arg.fn = dump_fn; arg.arg = arg0; @@ -472,14 +485,16 @@ dns_dnssecsignstats_dump(dns_stats_t *stats, } static void -opcode_dumpcb(isc_statscounter_t counter, uint64_t value, void *arg) { +opcode_dumpcb(isc_statscounter_t counter, uint64_t value, void *arg) +{ opcodedumparg_t *opcodearg = arg; opcodearg->fn((dns_opcode_t)counter, value, opcodearg->arg); } static void -rcode_dumpcb(isc_statscounter_t counter, uint64_t value, void *arg) { +rcode_dumpcb(isc_statscounter_t counter, uint64_t value, void *arg) +{ rcodedumparg_t *rcodearg = arg; rcodearg->fn((dns_rcode_t)counter, value, rcodearg->arg); @@ -500,7 +515,7 @@ dns_opcodestats_dump(dns_stats_t *stats, dns_opcodestats_dumper_t dump_fn, void dns_rcodestats_dump(dns_stats_t *stats, dns_rcodestats_dumper_t dump_fn, - void *arg0, unsigned int options) + void *arg0, unsigned int options) { rcodedumparg_t arg; @@ -514,23 +529,16 @@ dns_rcodestats_dump(dns_stats_t *stats, dns_rcodestats_dumper_t dump_fn, /*** *** Obsolete variables and functions follow: ***/ -LIBDNS_EXTERNAL_DATA const char *dns_statscounter_names[DNS_STATS_NCOUNTERS] = - { - "success", - "referral", - "nxrrset", - "nxdomain", - "recursion", - "failure", - "duplicate", - "dropped" - }; +LIBDNS_EXTERNAL_DATA const char *dns_statscounter_names[DNS_STATS_NCOUNTERS] = { + "success", "referral", "nxrrset", "nxdomain", + "recursion", "failure", "duplicate", "dropped" +}; isc_result_t -dns_stats_alloccounters(isc_mem_t *mctx, uint64_t **ctrp) { - int i; - uint64_t *p = - isc_mem_get(mctx, DNS_STATS_NCOUNTERS * sizeof(uint64_t)); +dns_stats_alloccounters(isc_mem_t *mctx, uint64_t **ctrp) +{ + int i; + uint64_t *p = isc_mem_get(mctx, DNS_STATS_NCOUNTERS * sizeof(uint64_t)); if (p == NULL) return (ISC_R_NOMEMORY); for (i = 0; i < DNS_STATS_NCOUNTERS; i++) @@ -540,7 +548,8 @@ dns_stats_alloccounters(isc_mem_t *mctx, uint64_t **ctrp) { } void -dns_stats_freecounters(isc_mem_t *mctx, uint64_t **ctrp) { +dns_stats_freecounters(isc_mem_t *mctx, uint64_t **ctrp) +{ isc_mem_put(mctx, *ctrp, DNS_STATS_NCOUNTERS * sizeof(uint64_t)); *ctrp = NULL; } diff --git a/lib/dns/tcpmsg.c b/lib/dns/tcpmsg.c index ee36474f82..5711749e11 100644 --- a/lib/dns/tcpmsg.c +++ b/lib/dns/tcpmsg.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -24,26 +23,28 @@ #include #ifdef TCPMSG_DEBUG -#include /* Required for printf. */ +#include /* Required for printf. */ #define XDEBUG(x) printf x #else #define XDEBUG(x) #endif -#define TCPMSG_MAGIC ISC_MAGIC('T', 'C', 'P', 'm') -#define VALID_TCPMSG(foo) ISC_MAGIC_VALID(foo, TCPMSG_MAGIC) - -static void recv_length(isc_task_t *, isc_event_t *); -static void recv_message(isc_task_t *, isc_event_t *); - +#define TCPMSG_MAGIC ISC_MAGIC('T', 'C', 'P', 'm') +#define VALID_TCPMSG(foo) ISC_MAGIC_VALID(foo, TCPMSG_MAGIC) static void -recv_length(isc_task_t *task, isc_event_t *ev_in) { +recv_length(isc_task_t *, isc_event_t *); +static void +recv_message(isc_task_t *, isc_event_t *); + +static void +recv_length(isc_task_t *task, isc_event_t *ev_in) +{ isc_socketevent_t *ev = (isc_socketevent_t *)ev_in; - isc_event_t *dev; - dns_tcpmsg_t *tcpmsg = ev_in->ev_arg; - isc_region_t region; - isc_result_t result; + isc_event_t * dev; + dns_tcpmsg_t * tcpmsg = ev_in->ev_arg; + isc_region_t region; + isc_result_t result; INSIST(VALID_TCPMSG(tcpmsg)); @@ -77,8 +78,8 @@ recv_length(isc_task_t *task, isc_event_t *ev_in) { XDEBUG(("Allocated %d bytes\n", tcpmsg->size)); isc_buffer_init(&tcpmsg->buffer, region.base, region.length); - result = isc_socket_recv(tcpmsg->sock, ®ion, 0, - task, recv_message, tcpmsg); + result = isc_socket_recv(tcpmsg->sock, ®ion, 0, task, recv_message, + tcpmsg); if (result != ISC_R_SUCCESS) { tcpmsg->result = result; goto send_and_free; @@ -87,7 +88,7 @@ recv_length(isc_task_t *task, isc_event_t *ev_in) { isc_event_free(&ev_in); return; - send_and_free: +send_and_free: isc_task_send(tcpmsg->task, &dev); tcpmsg->task = NULL; isc_event_free(&ev_in); @@ -95,10 +96,11 @@ recv_length(isc_task_t *task, isc_event_t *ev_in) { } static void -recv_message(isc_task_t *task, isc_event_t *ev_in) { +recv_message(isc_task_t *task, isc_event_t *ev_in) +{ isc_socketevent_t *ev = (isc_socketevent_t *)ev_in; - isc_event_t *dev; - dns_tcpmsg_t *tcpmsg = ev_in->ev_arg; + isc_event_t * dev; + dns_tcpmsg_t * tcpmsg = ev_in->ev_arg; (void)task; @@ -117,14 +119,15 @@ recv_message(isc_task_t *task, isc_event_t *ev_in) { XDEBUG(("Received %u bytes (of %d)\n", ev->n, tcpmsg->size)); - send_and_free: +send_and_free: isc_task_send(tcpmsg->task, &dev); tcpmsg->task = NULL; isc_event_free(&ev_in); } void -dns_tcpmsg_init(isc_mem_t *mctx, isc_socket_t *sock, dns_tcpmsg_t *tcpmsg) { +dns_tcpmsg_init(isc_mem_t *mctx, isc_socket_t *sock, dns_tcpmsg_t *tcpmsg) +{ REQUIRE(mctx != NULL); REQUIRE(sock != NULL); REQUIRE(tcpmsg != NULL); @@ -133,36 +136,35 @@ dns_tcpmsg_init(isc_mem_t *mctx, isc_socket_t *sock, dns_tcpmsg_t *tcpmsg) { tcpmsg->size = 0; tcpmsg->buffer.base = NULL; tcpmsg->buffer.length = 0; - tcpmsg->maxsize = 65535; /* Largest message possible. */ + tcpmsg->maxsize = 65535; /* Largest message possible. */ tcpmsg->mctx = mctx; tcpmsg->sock = sock; - tcpmsg->task = NULL; /* None yet. */ - tcpmsg->result = ISC_R_UNEXPECTED; /* None yet. */ - /* - * Should probably initialize the event here, but it can wait. - */ + tcpmsg->task = NULL; /* None yet. */ + tcpmsg->result = ISC_R_UNEXPECTED; /* None yet. */ + /* + * Should probably initialize the event here, but it can wait. + */ } - void -dns_tcpmsg_setmaxsize(dns_tcpmsg_t *tcpmsg, unsigned int maxsize) { +dns_tcpmsg_setmaxsize(dns_tcpmsg_t *tcpmsg, unsigned int maxsize) +{ REQUIRE(VALID_TCPMSG(tcpmsg)); REQUIRE(maxsize < 65536); tcpmsg->maxsize = maxsize; } - isc_result_t -dns_tcpmsg_readmessage(dns_tcpmsg_t *tcpmsg, - isc_task_t *task, isc_taskaction_t action, void *arg) +dns_tcpmsg_readmessage(dns_tcpmsg_t *tcpmsg, isc_task_t *task, + isc_taskaction_t action, void *arg) { isc_result_t result; isc_region_t region; REQUIRE(VALID_TCPMSG(tcpmsg)); REQUIRE(task != NULL); - REQUIRE(tcpmsg->task == NULL); /* not currently in use */ + REQUIRE(tcpmsg->task == NULL); /* not currently in use */ if (tcpmsg->buffer.base != NULL) { isc_mem_put(tcpmsg->mctx, tcpmsg->buffer.base, @@ -174,16 +176,15 @@ dns_tcpmsg_readmessage(dns_tcpmsg_t *tcpmsg, tcpmsg->task = task; tcpmsg->action = action; tcpmsg->arg = arg; - tcpmsg->result = ISC_R_UNEXPECTED; /* unknown right now */ + tcpmsg->result = ISC_R_UNEXPECTED; /* unknown right now */ ISC_EVENT_INIT(&tcpmsg->event, sizeof(isc_event_t), 0, 0, - DNS_EVENT_TCPMSG, action, arg, tcpmsg, - NULL, NULL); + DNS_EVENT_TCPMSG, action, arg, tcpmsg, NULL, NULL); region.base = (unsigned char *)&tcpmsg->size; - region.length = 2; /* uint16_t */ - result = isc_socket_recv(tcpmsg->sock, ®ion, 0, - tcpmsg->task, recv_length, tcpmsg); + region.length = 2; /* uint16_t */ + result = isc_socket_recv(tcpmsg->sock, ®ion, 0, tcpmsg->task, + recv_length, tcpmsg); if (result != ISC_R_SUCCESS) tcpmsg->task = NULL; @@ -192,14 +193,16 @@ dns_tcpmsg_readmessage(dns_tcpmsg_t *tcpmsg, } void -dns_tcpmsg_cancelread(dns_tcpmsg_t *tcpmsg) { +dns_tcpmsg_cancelread(dns_tcpmsg_t *tcpmsg) +{ REQUIRE(VALID_TCPMSG(tcpmsg)); isc_socket_cancel(tcpmsg->sock, NULL, ISC_SOCKCANCEL_RECV); } void -dns_tcpmsg_keepbuffer(dns_tcpmsg_t *tcpmsg, isc_buffer_t *buffer) { +dns_tcpmsg_keepbuffer(dns_tcpmsg_t *tcpmsg, isc_buffer_t *buffer) +{ REQUIRE(VALID_TCPMSG(tcpmsg)); REQUIRE(buffer != NULL); @@ -223,7 +226,8 @@ dns_tcpmsg_freebuffer(dns_tcpmsg_t *tcpmsg) { #endif void -dns_tcpmsg_invalidate(dns_tcpmsg_t *tcpmsg) { +dns_tcpmsg_invalidate(dns_tcpmsg_t *tcpmsg) +{ REQUIRE(VALID_TCPMSG(tcpmsg)); tcpmsg->magic = 0; diff --git a/lib/dns/tests/acl_test.c b/lib/dns/tests/acl_test.c index da0aea0273..7661e4e505 100644 --- a/lib/dns/tests/acl_test.c +++ b/lib/dns/tests/acl_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -33,7 +32,8 @@ #include "dnstest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -45,7 +45,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -53,21 +54,22 @@ _teardown(void **state) { return (0); } -#define BUFLEN 255 -#define BIGBUFLEN (70 * 1024) -#define TEST_ORIGIN "test" +#define BUFLEN 255 +#define BIGBUFLEN (70 * 1024) +#define TEST_ORIGIN "test" /* test that dns_acl_isinsecure works */ static void -dns_acl_isinsecure_test(void **state) { +dns_acl_isinsecure_test(void **state) +{ isc_result_t result; - dns_acl_t *any = NULL; - dns_acl_t *none = NULL; - dns_acl_t *notnone = NULL; - dns_acl_t *notany = NULL; + dns_acl_t * any = NULL; + dns_acl_t * none = NULL; + dns_acl_t * notnone = NULL; + dns_acl_t * notany = NULL; #if defined(HAVE_GEOIP2) - dns_acl_t *geoip = NULL; - dns_acl_t *notgeoip = NULL; + dns_acl_t * geoip = NULL; + dns_acl_t * notgeoip = NULL; dns_aclelement_t *de; #endif /* HAVE_GEOIP2 */ @@ -114,15 +116,15 @@ dns_acl_isinsecure_test(void **state) { assert_int_equal(result, ISC_R_SUCCESS); #endif /* HAVE_GEOIP2 */ - assert_true(dns_acl_isinsecure(any)); /* any; */ - assert_false(dns_acl_isinsecure(none)); /* none; */ - assert_false(dns_acl_isinsecure(notany)); /* !any; */ - assert_false(dns_acl_isinsecure(notnone)); /* !none; */ + assert_true(dns_acl_isinsecure(any)); /* any; */ + assert_false(dns_acl_isinsecure(none)); /* none; */ + assert_false(dns_acl_isinsecure(notany)); /* !any; */ + assert_false(dns_acl_isinsecure(notnone)); /* !none; */ #if defined(HAVE_GEOIP2) - assert_true(dns_acl_isinsecure(geoip)); /* geoip; */ - assert_false(dns_acl_isinsecure(notgeoip)); /* !geoip; */ -#endif /* HAVE_GEOIP2 */ + assert_true(dns_acl_isinsecure(geoip)); /* geoip; */ + assert_false(dns_acl_isinsecure(notgeoip)); /* !geoip; */ +#endif /* HAVE_GEOIP2 */ dns_acl_detach(&any); dns_acl_detach(&none); @@ -135,10 +137,11 @@ dns_acl_isinsecure_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(dns_acl_isinsecure_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(dns_acl_isinsecure_test, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -149,7 +152,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/db_test.c b/lib/dns/tests/db_test.c index 851df601cb..46518428e8 100644 --- a/lib/dns/tests/db_test.c +++ b/lib/dns/tests/db_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include @@ -31,7 +30,8 @@ #include "dnstest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -43,7 +43,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -51,9 +52,9 @@ _teardown(void **state) { return (0); } -#define BUFLEN 255 -#define BIGBUFLEN (64 * 1024) -#define TEST_ORIGIN "test" +#define BUFLEN 255 +#define BIGBUFLEN (64 * 1024) +#define TEST_ORIGIN "test" /* * Individual unit tests @@ -61,11 +62,12 @@ _teardown(void **state) { /* test multiple calls to dns_db_getoriginnode */ static void -getoriginnode_test(void **state) { - dns_db_t *db = NULL; +getoriginnode_test(void **state) +{ + dns_db_t * db = NULL; dns_dbnode_t *node = NULL; - isc_mem_t *mctx = NULL; - isc_result_t result; + isc_mem_t * mctx = NULL; + isc_result_t result; UNUSED(state); @@ -89,11 +91,12 @@ getoriginnode_test(void **state) { /* test getservestalettl and setservestalettl */ static void -getsetservestalettl_test(void **state) { - dns_db_t *db = NULL; - isc_mem_t *mctx = NULL; +getsetservestalettl_test(void **state) +{ + dns_db_t * db = NULL; + isc_mem_t * mctx = NULL; isc_result_t result; - dns_ttl_t ttl; + dns_ttl_t ttl; UNUSED(state); @@ -123,20 +126,21 @@ getsetservestalettl_test(void **state) { /* check DNS_DBFIND_STALEOK works */ static void -dns_dbfind_staleok_test(void **state) { - dns_db_t *db = NULL; - dns_dbnode_t *node = NULL; +dns_dbfind_staleok_test(void **state) +{ + dns_db_t * db = NULL; + dns_dbnode_t * node = NULL; dns_fixedname_t example_fixed; dns_fixedname_t found_fixed; - dns_name_t *example; - dns_name_t *found; + dns_name_t * example; + dns_name_t * found; dns_rdatalist_t rdatalist; - dns_rdataset_t rdataset; - int count; - int pass; - isc_mem_t *mctx = NULL; - isc_result_t result; - unsigned char data[] = { 0x0a, 0x00, 0x00, 0x01 }; + dns_rdataset_t rdataset; + int count; + int pass; + isc_mem_t * mctx = NULL; + isc_result_t result; + unsigned char data[] = { 0x0a, 0x00, 0x00, 0x01 }; UNUSED(state); @@ -202,8 +206,8 @@ dns_dbfind_staleok_test(void **state) { dns_db_detachnode(db, &node); dns_rdataset_disassociate(&rdataset); - result = dns_db_find(db, example, NULL, dns_rdatatype_a, - 0, 0, &node, found, &rdataset, NULL); + result = dns_db_find(db, example, NULL, dns_rdatatype_a, 0, 0, + &node, found, &rdataset, NULL); assert_int_equal(result, ISC_R_SUCCESS); /* @@ -214,16 +218,17 @@ dns_dbfind_staleok_test(void **state) { count++; assert_in_range(count, 0, 20); /* loop sanity */ assert_int_equal(rdataset.attributes & - DNS_RDATASETATTR_STALE, 0); + DNS_RDATASETATTR_STALE, + 0); assert_true(rdataset.ttl > 0); dns_db_detachnode(db, &node); dns_rdataset_disassociate(&rdataset); - usleep(100000); /* 100 ms */ + usleep(100000); /* 100 ms */ - result = dns_db_find(db, example, NULL, - dns_rdatatype_a, 0, 0, - &node, found, &rdataset, NULL); + result = dns_db_find(db, example, NULL, dns_rdatatype_a, + 0, 0, &node, found, &rdataset, + NULL); } while (result == ISC_R_SUCCESS); assert_int_equal(result, ISC_R_NOTFOUND); @@ -232,8 +237,8 @@ dns_dbfind_staleok_test(void **state) { * Check whether we can get stale data. */ result = dns_db_find(db, example, NULL, dns_rdatatype_a, - DNS_DBFIND_STALEOK, 0, - &node, found, &rdataset, NULL); + DNS_DBFIND_STALEOK, 0, &node, found, + &rdataset, NULL); switch (pass) { case 0: assert_int_equal(result, ISC_R_NOTFOUND); @@ -250,18 +255,17 @@ dns_dbfind_staleok_test(void **state) { assert_int_equal(result, ISC_R_SUCCESS); assert_int_equal(rdataset.ttl, 0); assert_int_equal(rdataset.attributes & - DNS_RDATASETATTR_STALE, - DNS_RDATASETATTR_STALE); + DNS_RDATASETATTR_STALE, + DNS_RDATASETATTR_STALE); dns_db_detachnode(db, &node); dns_rdataset_disassociate(&rdataset); - usleep(100000); /* 100 ms */ + usleep(100000); /* 100 ms */ - result = dns_db_find(db, example, NULL, - dns_rdatatype_a, - DNS_DBFIND_STALEOK, - 0, &node, found, - &rdataset, NULL); + result = dns_db_find( + db, example, NULL, dns_rdatatype_a, + DNS_DBFIND_STALEOK, 0, &node, found, + &rdataset, NULL); } while (result == ISC_R_SUCCESS); assert_in_range(count, 1, 10); assert_int_equal(result, ISC_R_NOTFOUND); @@ -278,9 +282,10 @@ dns_dbfind_staleok_test(void **state) { /* database class */ static void -class_test(void **state) { +class_test(void **state) +{ isc_result_t result; - dns_db_t *db = NULL; + dns_db_t * db = NULL; UNUSED(state); @@ -288,8 +293,8 @@ class_test(void **state) { dns_rdataclass_in, 0, NULL, &db); assert_int_equal(result, ISC_R_SUCCESS); - result = dns_db_load(db, "testdata/db/data.db", - dns_masterformat_text, 0); + result = dns_db_load(db, "testdata/db/data.db", dns_masterformat_text, + 0); assert_int_equal(result, ISC_R_SUCCESS); assert_int_equal(dns_db_class(db), dns_rdataclass_in); @@ -299,9 +304,10 @@ class_test(void **state) { /* database type */ static void -dbtype_test(void **state) { +dbtype_test(void **state) +{ isc_result_t result; - dns_db_t *db = NULL; + dns_db_t * db = NULL; UNUSED(state); @@ -309,8 +315,8 @@ dbtype_test(void **state) { result = dns_db_create(dt_mctx, "rbt", dns_rootname, dns_dbtype_zone, dns_rdataclass_in, 0, NULL, &db); assert_int_equal(result, ISC_R_SUCCESS); - result = dns_db_load(db, "testdata/db/data.db", - dns_masterformat_text, 0); + result = dns_db_load(db, "testdata/db/data.db", dns_masterformat_text, + 0); assert_int_equal(result, ISC_R_SUCCESS); assert_true(dns_db_iszone(db)); assert_false(dns_db_iscache(db)); @@ -320,25 +326,25 @@ dbtype_test(void **state) { result = dns_db_create(dt_mctx, "rbt", dns_rootname, dns_dbtype_cache, dns_rdataclass_in, 0, NULL, &db); assert_int_equal(result, ISC_R_SUCCESS); - result = dns_db_load(db, "testdata/db/data.db", - dns_masterformat_text, 0); + result = dns_db_load(db, "testdata/db/data.db", dns_masterformat_text, + 0); assert_int_equal(result, ISC_R_SUCCESS); assert_true(dns_db_iscache(db)); assert_false(dns_db_iszone(db)); dns_db_detach(&db); - } /* database versions */ static void -version_test(void **state) { - isc_result_t result; - dns_fixedname_t fname, ffound; - dns_name_t *name, *foundname; - dns_db_t *db = NULL; +version_test(void **state) +{ + isc_result_t result; + dns_fixedname_t fname, ffound; + dns_name_t * name, *foundname; + dns_db_t * db = NULL; dns_dbversion_t *ver = NULL, *new = NULL; - dns_dbnode_t *node = NULL; - dns_rdataset_t rdataset; + dns_dbnode_t * node = NULL; + dns_rdataset_t rdataset; UNUSED(state); @@ -352,7 +358,7 @@ version_test(void **state) { name = dns_fixedname_name(&fname); foundname = dns_fixedname_initname(&ffound); dns_rdataset_init(&rdataset); - result = dns_db_find(db, name , ver, dns_rdatatype_a, 0, 0, &node, + result = dns_db_find(db, name, ver, dns_rdatatype_a, 0, 0, &node, foundname, &rdataset, NULL); assert_int_equal(result, ISC_R_SUCCESS); dns_rdataset_disassociate(&rdataset); @@ -365,7 +371,7 @@ version_test(void **state) { name = dns_fixedname_name(&fname); foundname = dns_fixedname_initname(&ffound); dns_rdataset_init(&rdataset); - result = dns_db_find(db, name , ver, dns_rdatatype_a, 0, 0, &node, + result = dns_db_find(db, name, ver, dns_rdatatype_a, 0, 0, &node, foundname, &rdataset, NULL); assert_int_equal(result, ISC_R_SUCCESS); @@ -398,17 +404,16 @@ version_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(getoriginnode_test), cmocka_unit_test(getsetservestalettl_test), cmocka_unit_test(dns_dbfind_staleok_test), - cmocka_unit_test_setup_teardown(class_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(dbtype_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(version_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(class_test, _setup, _teardown), + cmocka_unit_test_setup_teardown(dbtype_test, _setup, _teardown), + cmocka_unit_test_setup_teardown(version_test, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -419,7 +424,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/dbdiff_test.c b/lib/dns/tests/dbdiff_test.c index 1306bf8ac0..730cbd0487 100644 --- a/lib/dns/tests/dbdiff_test.c +++ b/lib/dns/tests/dbdiff_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -27,17 +26,18 @@ #include #include -#include #include +#include #include "dnstest.h" -#define BUFLEN 255 -#define BIGBUFLEN (64 * 1024) -#define TEST_ORIGIN "test" +#define BUFLEN 255 +#define BIGBUFLEN (64 * 1024) +#define TEST_ORIGIN "test" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -49,7 +49,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -58,8 +59,8 @@ _teardown(void **state) { } static void -test_create(const char *oldfile, dns_db_t **old, - const char *newfile, dns_db_t **newdb) +test_create(const char *oldfile, dns_db_t **old, const char *newfile, + dns_db_t **newdb) { isc_result_t result; @@ -72,10 +73,11 @@ test_create(const char *oldfile, dns_db_t **old, /* dns_db_diffx of identical content */ static void -diffx_same(void **state) { - dns_db_t *newdb = NULL, *olddb = NULL; +diffx_same(void **state) +{ + dns_db_t * newdb = NULL, *olddb = NULL; isc_result_t result; - dns_diff_t diff; + dns_diff_t diff; UNUSED(state); @@ -96,12 +98,13 @@ diffx_same(void **state) { /* dns_db_diffx of zone with record added */ static void -diffx_add(void **state) { - dns_db_t *newdb = NULL, *olddb = NULL; +diffx_add(void **state) +{ + dns_db_t * newdb = NULL, *olddb = NULL; dns_difftuple_t *tuple; - isc_result_t result; - dns_diff_t diff; - int count = 0; + isc_result_t result; + dns_diff_t diff; + int count = 0; UNUSED(state); @@ -128,12 +131,13 @@ diffx_add(void **state) { /* dns_db_diffx of zone with record removed */ static void -diffx_remove(void **state) { - dns_db_t *newdb = NULL, *olddb = NULL; +diffx_remove(void **state) +{ + dns_db_t * newdb = NULL, *olddb = NULL; dns_difftuple_t *tuple; - isc_result_t result; - dns_diff_t diff; - int count = 0; + isc_result_t result; + dns_diff_t diff; + int count = 0; UNUSED(state); @@ -159,12 +163,13 @@ diffx_remove(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test_setup_teardown(diffx_same, _setup, _teardown), cmocka_unit_test_setup_teardown(diffx_add, _setup, _teardown), - cmocka_unit_test_setup_teardown(diffx_remove, - _setup, _teardown), + cmocka_unit_test_setup_teardown(diffx_remove, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -175,7 +180,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/dbiterator_test.c b/lib/dns/tests/dbiterator_test.c index e825b7b4d2..70fed7bafc 100644 --- a/lib/dns/tests/dbiterator_test.c +++ b/lib/dns/tests/dbiterator_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -31,12 +30,13 @@ #include "dnstest.h" -#define BUFLEN 255 -#define BIGBUFLEN (64 * 1024) -#define TEST_ORIGIN "test" +#define BUFLEN 255 +#define BIGBUFLEN (64 * 1024) +#define TEST_ORIGIN "test" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -48,7 +48,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -57,7 +58,8 @@ _teardown(void **state) { } static isc_result_t -make_name(const char *src, dns_name_t *name) { +make_name(const char *src, dns_name_t *name) +{ isc_buffer_t b; isc_buffer_constinit(&b, src, strlen(src)); isc_buffer_add(&b, strlen(src)); @@ -66,9 +68,10 @@ make_name(const char *src, dns_name_t *name) { /* create: make sure we can create a dbiterator */ static void -test_create(const char *filename) { - isc_result_t result; - dns_db_t *db = NULL; +test_create(const char *filename) +{ + isc_result_t result; + dns_db_t * db = NULL; dns_dbiterator_t *iter = NULL; result = dns_test_loaddb(&db, dns_dbtype_cache, TEST_ORIGIN, filename); @@ -82,14 +85,16 @@ test_create(const char *filename) { } static void -create(void **state) { +create(void **state) +{ UNUSED(state); test_create("testdata/dbiterator/zone1.data"); } static void -create_nsec3(void **state) { +create_nsec3(void **state) +{ UNUSED(state); test_create("testdata/dbiterator/zone2.data"); @@ -97,14 +102,15 @@ create_nsec3(void **state) { /* walk: walk a database */ static void -test_walk(const char *filename, int nodes) { - isc_result_t result; - dns_db_t *db = NULL; +test_walk(const char *filename, int nodes) +{ + isc_result_t result; + dns_db_t * db = NULL; dns_dbiterator_t *iter = NULL; - dns_dbnode_t *node = NULL; - dns_name_t *name; - dns_fixedname_t f; - int i = 0; + dns_dbnode_t * node = NULL; + dns_name_t * name; + dns_fixedname_t f; + int i = 0; name = dns_fixedname_initname(&f); @@ -114,8 +120,7 @@ test_walk(const char *filename, int nodes) { result = dns_db_createiterator(db, 0, &iter); assert_int_equal(result, ISC_R_SUCCESS); - for (result = dns_dbiterator_first(iter); - result == ISC_R_SUCCESS; + for (result = dns_dbiterator_first(iter); result == ISC_R_SUCCESS; result = dns_dbiterator_next(iter)) { result = dns_dbiterator_current(iter, &node, name); if (result == DNS_R_NEWORIGIN) @@ -132,14 +137,16 @@ test_walk(const char *filename, int nodes) { } static void -walk(void **state) { +walk(void **state) +{ UNUSED(state); test_walk("testdata/dbiterator/zone1.data", 12); } static void -walk_nsec3(void **state) { +walk_nsec3(void **state) +{ UNUSED(state); test_walk("testdata/dbiterator/zone2.data", 33); @@ -147,14 +154,15 @@ walk_nsec3(void **state) { /* reverse: walk database backwards */ static void -test_reverse(const char *filename) { - isc_result_t result; - dns_db_t *db = NULL; +test_reverse(const char *filename) +{ + isc_result_t result; + dns_db_t * db = NULL; dns_dbiterator_t *iter = NULL; - dns_dbnode_t *node = NULL; - dns_name_t *name; - dns_fixedname_t f; - int i = 0; + dns_dbnode_t * node = NULL; + dns_name_t * name; + dns_fixedname_t f; + int i = 0; name = dns_fixedname_initname(&f); @@ -164,8 +172,7 @@ test_reverse(const char *filename) { result = dns_db_createiterator(db, 0, &iter); assert_int_equal(result, ISC_R_SUCCESS); - for (result = dns_dbiterator_last(iter); - result == ISC_R_SUCCESS; + for (result = dns_dbiterator_last(iter); result == ISC_R_SUCCESS; result = dns_dbiterator_prev(iter)) { result = dns_dbiterator_current(iter, &node, name); if (result == DNS_R_NEWORIGIN) @@ -182,14 +189,16 @@ test_reverse(const char *filename) { } static void -reverse(void **state) { +reverse(void **state) +{ UNUSED(state); test_reverse("testdata/dbiterator/zone1.data"); } static void -reverse_nsec3(void **state) { +reverse_nsec3(void **state) +{ UNUSED(state); test_reverse("testdata/dbiterator/zone2.data"); @@ -197,14 +206,15 @@ reverse_nsec3(void **state) { /* seek: walk database starting at a particular node */ static void -test_seek_node(const char *filename, int nodes) { - isc_result_t result; - dns_db_t *db = NULL; +test_seek_node(const char *filename, int nodes) +{ + isc_result_t result; + dns_db_t * db = NULL; dns_dbiterator_t *iter = NULL; - dns_dbnode_t *node = NULL; - dns_name_t *name, *seekname; - dns_fixedname_t f1, f2; - int i = 0; + dns_dbnode_t * node = NULL; + dns_name_t * name, *seekname; + dns_fixedname_t f1, f2; + int i = 0; name = dns_fixedname_initname(&f1); seekname = dns_fixedname_initname(&f2); @@ -238,14 +248,16 @@ test_seek_node(const char *filename, int nodes) { } static void -seek_node(void **state) { +seek_node(void **state) +{ UNUSED(state); test_seek_node("testdata/dbiterator/zone1.data", 9); } static void -seek_node_nsec3(void **state) { +seek_node_nsec3(void **state) +{ UNUSED(state); test_seek_node("testdata/dbiterator/zone2.data", 30); @@ -256,12 +268,13 @@ seek_node_nsec3(void **state) { * (should fail) */ static void -test_seek_empty(const char *filename) { - isc_result_t result; - dns_db_t *db = NULL; +test_seek_empty(const char *filename) +{ + isc_result_t result; + dns_db_t * db = NULL; dns_dbiterator_t *iter = NULL; - dns_name_t *seekname; - dns_fixedname_t f1; + dns_name_t * seekname; + dns_fixedname_t f1; seekname = dns_fixedname_initname(&f1); @@ -282,14 +295,16 @@ test_seek_empty(const char *filename) { } static void -seek_empty(void **state) { +seek_empty(void **state) +{ UNUSED(state); test_seek_empty("testdata/dbiterator/zone1.data"); } static void -seek_empty_nsec3(void **state) { +seek_empty_nsec3(void **state) +{ UNUSED(state); test_seek_empty("testdata/dbiterator/zone2.data"); @@ -299,12 +314,13 @@ seek_empty_nsec3(void **state) { * seek_nx: walk database starting at a nonexistent node */ static void -test_seek_nx(const char *filename) { - isc_result_t result; - dns_db_t *db = NULL; +test_seek_nx(const char *filename) +{ + isc_result_t result; + dns_db_t * db = NULL; dns_dbiterator_t *iter = NULL; - dns_name_t *seekname; - dns_fixedname_t f1; + dns_name_t * seekname; + dns_fixedname_t f1; seekname = dns_fixedname_initname(&f1); @@ -331,14 +347,16 @@ test_seek_nx(const char *filename) { } static void -seek_nx(void **state) { +seek_nx(void **state) +{ UNUSED(state); test_seek_nx("testdata/dbiterator/zone1.data"); } static void -seek_nx_nsec3(void **state) { +seek_nx_nsec3(void **state) +{ UNUSED(state); test_seek_nx("testdata/dbiterator/zone2.data"); @@ -353,25 +371,26 @@ seek_nx_nsec3(void **state) { * dns_dbiterator_setcleanmode */ int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test_setup_teardown(create, _setup, _teardown), - cmocka_unit_test_setup_teardown(create_nsec3, - _setup, _teardown), + cmocka_unit_test_setup_teardown(create_nsec3, _setup, + _teardown), cmocka_unit_test_setup_teardown(walk, _setup, _teardown), cmocka_unit_test_setup_teardown(walk_nsec3, _setup, _teardown), cmocka_unit_test_setup_teardown(reverse, _setup, _teardown), - cmocka_unit_test_setup_teardown(reverse_nsec3, - _setup, _teardown), + cmocka_unit_test_setup_teardown(reverse_nsec3, _setup, + _teardown), cmocka_unit_test_setup_teardown(seek_node, _setup, _teardown), - cmocka_unit_test_setup_teardown(seek_node_nsec3, - _setup, _teardown), + cmocka_unit_test_setup_teardown(seek_node_nsec3, _setup, + _teardown), cmocka_unit_test_setup_teardown(seek_empty, _setup, _teardown), - cmocka_unit_test_setup_teardown(seek_empty_nsec3, - _setup, _teardown), + cmocka_unit_test_setup_teardown(seek_empty_nsec3, _setup, + _teardown), cmocka_unit_test_setup_teardown(seek_nx, _setup, _teardown), - cmocka_unit_test_setup_teardown(seek_nx_nsec3, - _setup, _teardown), + cmocka_unit_test_setup_teardown(seek_nx_nsec3, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -382,7 +401,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/dbversion_test.c b/lib/dns/tests/dbversion_test.c index 2046e8ce68..c7e212696e 100644 --- a/lib/dns/tests/dbversion_test.c +++ b/lib/dns/tests/dbversion_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -31,15 +30,15 @@ #include #include +#include #include #include #include -#include #include "dnstest.h" -static char tempname[11] = "dtXXXXXXXX"; -static dns_db_t *db1 = NULL, *db2 = NULL; +static char tempname[11] = "dtXXXXXXXX"; +static dns_db_t * db1 = NULL, *db2 = NULL; static dns_dbversion_t *v1 = NULL, *v2 = NULL; /* @@ -53,13 +52,13 @@ static dns_dbversion_t *v1 = NULL, *v2 = NULL; */ jmp_buf assertion; -#define check_assertion(function_call) \ - do { \ - const int r = setjmp(assertion); \ - if (r == 0) { \ - expect_assert_failure(function_call); \ - } \ - } while(false); +#define check_assertion(function_call) \ + do { \ + const int r = setjmp(assertion); \ + if (r == 0) { \ + expect_assert_failure(function_call); \ + } \ + } while (false); static void local_callback(const char *file, int line, isc_assertiontype_t type, @@ -72,7 +71,8 @@ local_callback(const char *file, int line, isc_assertiontype_t type, } static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t res; UNUSED(state); @@ -83,13 +83,13 @@ _setup(void **state) { assert_int_equal(res, ISC_R_SUCCESS); res = dns_db_create(dt_mctx, "rbt", dns_rootname, dns_dbtype_zone, - dns_rdataclass_in, 0, NULL, &db1); + dns_rdataclass_in, 0, NULL, &db1); assert_int_equal(res, ISC_R_SUCCESS); dns_db_newversion(db1, &v1); assert_non_null(v1); res = dns_db_create(dt_mctx, "rbt", dns_rootname, dns_dbtype_zone, - dns_rdataclass_in, 0, NULL, &db2); + dns_rdataclass_in, 0, NULL, &db2); assert_int_equal(res, ISC_R_SUCCESS); dns_db_newversion(db2, &v2); assert_non_null(v1); @@ -98,7 +98,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); if (strcmp(tempname, "dtXXXXXXXX") != 0) { @@ -133,7 +134,8 @@ _teardown(void **state) { * asserts with mis-matching db and version. */ static void -attachversion(void **state) { +attachversion(void **state) +{ dns_dbversion_t *v = NULL; UNUSED(state); @@ -151,7 +153,8 @@ attachversion(void **state) { * asserts with mis-matching db and version. */ static void -closeversion(void **state) { +closeversion(void **state) +{ UNUSED(state); assert_non_null(v1); @@ -166,19 +169,20 @@ closeversion(void **state) { * asserts with mis-matching db and version. */ static void -find(void **state) { - isc_result_t res; - dns_rdataset_t rdataset; +find(void **state) +{ + isc_result_t res; + dns_rdataset_t rdataset; dns_fixedname_t fixed; - dns_name_t *name = NULL; + dns_name_t * name = NULL; UNUSED(state); name = dns_fixedname_initname(&fixed); dns_rdataset_init(&rdataset); - res = dns_db_find(db1, dns_rootname, v1, dns_rdatatype_soa, - 0, 0, NULL, name, &rdataset, NULL); + res = dns_db_find(db1, dns_rootname, v1, dns_rdatatype_soa, 0, 0, NULL, + name, &rdataset, NULL); assert_int_equal(res, DNS_R_NXDOMAIN); if (dns_rdataset_isassociated(&rdataset)) { @@ -187,8 +191,8 @@ find(void **state) { dns_rdataset_init(&rdataset); check_assertion((void)dns_db_find(db1, dns_rootname, v2, - dns_rdatatype_soa, 0, 0, NULL, - name, &rdataset, NULL)); + dns_rdatatype_soa, 0, 0, NULL, name, + &rdataset, NULL)); } /* @@ -196,9 +200,10 @@ find(void **state) { * asserts with mis-matching db and version. */ static void -allrdatasets(void **state) { - isc_result_t res; - dns_dbnode_t *node = NULL; +allrdatasets(void **state) +{ + isc_result_t res; + dns_dbnode_t * node = NULL; dns_rdatasetiter_t *iterator = NULL; UNUSED(state); @@ -216,8 +221,6 @@ allrdatasets(void **state) { dns_db_detachnode(db1, &node); assert_null(node); - - } /* @@ -225,10 +228,11 @@ allrdatasets(void **state) { * asserts with mis-matching db and version. */ static void -findrdataset(void **state) { - isc_result_t res; +findrdataset(void **state) +{ + isc_result_t res; dns_rdataset_t rdataset; - dns_dbnode_t *node = NULL; + dns_dbnode_t * node = NULL; UNUSED(state); @@ -236,8 +240,8 @@ findrdataset(void **state) { assert_int_equal(res, ISC_R_SUCCESS); dns_rdataset_init(&rdataset); - res = dns_db_findrdataset(db1, node, v1, dns_rdatatype_soa, - 0, 0, &rdataset, NULL); + res = dns_db_findrdataset(db1, node, v1, dns_rdatatype_soa, 0, 0, + &rdataset, NULL); assert_int_equal(res, ISC_R_NOTFOUND); if (dns_rdataset_isassociated(&rdataset)) { @@ -245,9 +249,8 @@ findrdataset(void **state) { } dns_rdataset_init(&rdataset); - check_assertion(dns_db_findrdataset(db1, node, v2, - dns_rdatatype_soa, 0, 0, - &rdataset, NULL)); + check_assertion(dns_db_findrdataset(db1, node, v2, dns_rdatatype_soa, 0, + 0, &rdataset, NULL)); dns_db_detachnode(db1, &node); assert_null(node); @@ -258,8 +261,9 @@ findrdataset(void **state) { * asserts with mis-matching db and version. */ static void -deleterdataset(void **state) { - isc_result_t res; +deleterdataset(void **state) +{ + isc_result_t res; dns_dbnode_t *node = NULL; UNUSED(state); @@ -270,8 +274,8 @@ deleterdataset(void **state) { res = dns_db_deleterdataset(db1, node, v1, dns_rdatatype_soa, 0); assert_int_equal(res, DNS_R_UNCHANGED); - check_assertion(dns_db_deleterdataset(db1, node, v2, - dns_rdatatype_soa, 0)); + check_assertion( + dns_db_deleterdataset(db1, node, v2, dns_rdatatype_soa, 0)); dns_db_detachnode(db1, &node); assert_null(node); } @@ -281,11 +285,12 @@ deleterdataset(void **state) { * asserts with mis-matching db and version. */ static void -subtract(void **state) { - isc_result_t res; - dns_rdataset_t rdataset; +subtract(void **state) +{ + isc_result_t res; + dns_rdataset_t rdataset; dns_rdatalist_t rdatalist; - dns_dbnode_t *node = NULL; + dns_dbnode_t * node = NULL; UNUSED(state); @@ -311,8 +316,8 @@ subtract(void **state) { res = dns_rdatalist_tordataset(&rdatalist, &rdataset); assert_int_equal(res, ISC_R_SUCCESS); - check_assertion(dns_db_subtractrdataset(db1, node, v2, - &rdataset, 0, NULL)); + check_assertion( + dns_db_subtractrdataset(db1, node, v2, &rdataset, 0, NULL)); dns_db_detachnode(db1, &node); assert_null(node); @@ -323,9 +328,10 @@ subtract(void **state) { * asserts with mis-matching db and version. */ static void -dump(void **state) { +dump(void **state) +{ isc_result_t res; - FILE *f = NULL; + FILE * f = NULL; UNUSED(state); @@ -344,10 +350,11 @@ dump(void **state) { * asserts with mis-matching db and version. */ static void -addrdataset(void **state) { - isc_result_t res; - dns_rdataset_t rdataset; - dns_dbnode_t *node = NULL; +addrdataset(void **state) +{ + isc_result_t res; + dns_rdataset_t rdataset; + dns_dbnode_t * node = NULL; dns_rdatalist_t rdatalist; UNUSED(state); @@ -366,8 +373,8 @@ addrdataset(void **state) { res = dns_db_addrdataset(db1, node, v1, 0, &rdataset, 0, NULL); assert_int_equal(res, ISC_R_SUCCESS); - check_assertion(dns_db_addrdataset(db1, node, v2, - 0, &rdataset, 0, NULL)); + check_assertion( + dns_db_addrdataset(db1, node, v2, 0, &rdataset, 0, NULL)); dns_db_detachnode(db1, &node); assert_null(node); @@ -378,24 +385,23 @@ addrdataset(void **state) { * and asserts with mis-matching db and version. */ static void -getnsec3parameters(void **state) { - isc_result_t res; - dns_hash_t hash; - uint8_t flags; - uint16_t iterations; +getnsec3parameters(void **state) +{ + isc_result_t res; + dns_hash_t hash; + uint8_t flags; + uint16_t iterations; unsigned char salt[DNS_NSEC3_SALTSIZE]; - size_t salt_length = sizeof(salt); + size_t salt_length = sizeof(salt); UNUSED(state); - res = dns_db_getnsec3parameters(db1, v1, &hash, - &flags, &iterations, salt, - &salt_length); + res = dns_db_getnsec3parameters(db1, v1, &hash, &flags, &iterations, + salt, &salt_length); assert_int_equal(res, ISC_R_NOTFOUND); - check_assertion(dns_db_getnsec3parameters(db1, v2, &hash, - &flags, &iterations, - salt, &salt_length)); + check_assertion(dns_db_getnsec3parameters( + db1, v2, &hash, &flags, &iterations, salt, &salt_length)); } /* @@ -403,15 +409,16 @@ getnsec3parameters(void **state) { * asserts with mis-matching db and version. */ static void -resigned(void **state) { - isc_result_t res; - dns_rdataset_t rdataset, added; - dns_dbnode_t *node = NULL; - dns_rdatalist_t rdatalist; +resigned(void **state) +{ + isc_result_t res; + dns_rdataset_t rdataset, added; + dns_dbnode_t * node = NULL; + dns_rdatalist_t rdatalist; dns_rdata_rrsig_t rrsig; - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_buffer_t b; - unsigned char buf[1024]; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_buffer_t b; + unsigned char buf[1024]; UNUSED(state); @@ -467,28 +474,26 @@ resigned(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test_setup_teardown(dump, _setup, _teardown), cmocka_unit_test_setup_teardown(find, _setup, _teardown), - cmocka_unit_test_setup_teardown(allrdatasets, - _setup, _teardown), - cmocka_unit_test_setup_teardown(findrdataset, - _setup, _teardown), - cmocka_unit_test_setup_teardown(deleterdataset, - _setup, _teardown), - cmocka_unit_test_setup_teardown(subtract, - _setup, _teardown), - cmocka_unit_test_setup_teardown(addrdataset, - _setup, _teardown), - cmocka_unit_test_setup_teardown(getnsec3parameters, - _setup, _teardown), - cmocka_unit_test_setup_teardown(resigned, - _setup, _teardown), - cmocka_unit_test_setup_teardown(attachversion, - _setup, _teardown), - cmocka_unit_test_setup_teardown(closeversion, - _setup, _teardown), + cmocka_unit_test_setup_teardown(allrdatasets, _setup, + _teardown), + cmocka_unit_test_setup_teardown(findrdataset, _setup, + _teardown), + cmocka_unit_test_setup_teardown(deleterdataset, _setup, + _teardown), + cmocka_unit_test_setup_teardown(subtract, _setup, _teardown), + cmocka_unit_test_setup_teardown(addrdataset, _setup, _teardown), + cmocka_unit_test_setup_teardown(getnsec3parameters, _setup, + _teardown), + cmocka_unit_test_setup_teardown(resigned, _setup, _teardown), + cmocka_unit_test_setup_teardown(attachversion, _setup, + _teardown), + cmocka_unit_test_setup_teardown(closeversion, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -499,7 +504,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/dh_test.c b/lib/dns/tests/dh_test.c index fde5416bd2..200c8562f0 100644 --- a/lib/dns/tests/dh_test.c +++ b/lib/dns/tests/dh_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -23,22 +22,21 @@ #define UNIT_TESTING #include -#include #include +#include #include -#include - -#include - #include "../dst_internal.h" - #include "dnstest.h" +#include +#include + #if USE_OPENSSL static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -50,7 +48,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -60,13 +59,14 @@ _teardown(void **state) { /* OpenSSL DH_compute_key() failure */ static void -dh_computesecret(void **state) { - dst_key_t *key = NULL; - isc_buffer_t buf; - unsigned char array[1024]; - isc_result_t result; +dh_computesecret(void **state) +{ + dst_key_t * key = NULL; + isc_buffer_t buf; + unsigned char array[1024]; + isc_result_t result; dns_fixedname_t fname; - dns_name_t *name; + dns_name_t * name; UNUSED(state); @@ -77,8 +77,8 @@ dh_computesecret(void **state) { assert_int_equal(result, ISC_R_SUCCESS); result = dst_key_fromfile(name, 18602, DST_ALG_DH, - DST_TYPE_PUBLIC | DST_TYPE_KEY, - "./", dt_mctx, &key); + DST_TYPE_PUBLIC | DST_TYPE_KEY, "./", dt_mctx, + &key); assert_int_equal(result, ISC_R_SUCCESS); isc_buffer_init(&buf, array, sizeof(array)); @@ -92,11 +92,12 @@ dh_computesecret(void **state) { #endif /* USE_OPENSSL */ int -main(void) { +main(void) +{ #if USE_OPENSSL const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(dh_computesecret, - _setup, _teardown), + cmocka_unit_test_setup_teardown(dh_computesecret, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -110,7 +111,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/dispatch_test.c b/lib/dns/tests/dispatch_test.c index e9b175f260..d788227b89 100644 --- a/lib/dns/tests/dispatch_test.c +++ b/lib/dns/tests/dispatch_test.c @@ -11,13 +11,12 @@ #if HAVE_CMOCKA -#include -#include -#include - #include #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include #include @@ -43,7 +42,8 @@ dns_dispatchmgr_t *dispatchmgr = NULL; dns_dispatchset_t *dset = NULL; static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -55,7 +55,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -64,10 +65,11 @@ _teardown(void **state) { } static isc_result_t -make_dispatchset(unsigned int ndisps) { - isc_result_t result; - isc_sockaddr_t any; - unsigned int attrs; +make_dispatchset(unsigned int ndisps) +{ + isc_result_t result; + isc_sockaddr_t any; + unsigned int attrs; dns_dispatch_t *disp = NULL; result = dns_dispatchmgr_create(dt_mctx, &dispatchmgr); @@ -76,9 +78,8 @@ make_dispatchset(unsigned int ndisps) { isc_sockaddr_any(&any); attrs = DNS_DISPATCHATTR_IPV4 | DNS_DISPATCHATTR_UDP; - result = dns_dispatch_getudp(dispatchmgr, socketmgr, taskmgr, - &any, 512, 6, 1024, 17, 19, attrs, - attrs, &disp); + result = dns_dispatch_getudp(dispatchmgr, socketmgr, taskmgr, &any, 512, + 6, 1024, 17, 19, attrs, attrs, &disp); if (result != ISC_R_SUCCESS) return (result); @@ -90,7 +91,8 @@ make_dispatchset(unsigned int ndisps) { } static void -reset(void) { +reset(void) +{ if (dset != NULL) { dns_dispatchset_destroy(&dset); } @@ -101,7 +103,8 @@ reset(void) { /* create dispatch set */ static void -dispatchset_create(void **state) { +dispatchset_create(void **state) +{ isc_result_t result; UNUSED(state); @@ -117,8 +120,9 @@ dispatchset_create(void **state) { /* test dispatch set round-robin */ static void -dispatchset_get(void **state) { - isc_result_t result; +dispatchset_get(void **state) +{ + isc_result_t result; dns_dispatch_t *d1, *d2, *d3, *d4, *d5; UNUSED(state); @@ -158,7 +162,8 @@ dispatchset_get(void **state) { } static void -senddone(isc_task_t *task, isc_event_t *event) { +senddone(isc_task_t *task, isc_event_t *event) +{ isc_socket_t *sock = event->ev_arg; UNUSED(task); @@ -168,22 +173,23 @@ senddone(isc_task_t *task, isc_event_t *event) { } static void -nameserver(isc_task_t *task, isc_event_t *event) { - isc_result_t result; - isc_region_t region; - isc_socket_t *dummy; - isc_socket_t *sock = event->ev_arg; - isc_socketevent_t *ev = (isc_socketevent_t *)event; +nameserver(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result; + isc_region_t region; + isc_socket_t * dummy; + isc_socket_t * sock = event->ev_arg; + isc_socketevent_t * ev = (isc_socketevent_t *)event; static unsigned char buf1[16]; static unsigned char buf2[16]; memmove(buf1, ev->region.base, 12); memset(buf1 + 12, 0, 4); - buf1[2] |= 0x80; /* qr=1 */ + buf1[2] |= 0x80; /* qr=1 */ memmove(buf2, ev->region.base, 12); memset(buf2 + 12, 1, 4); - buf2[2] |= 0x80; /* qr=1 */ + buf2[2] |= 0x80; /* qr=1 */ /* * send message to be discarded. @@ -211,16 +217,17 @@ nameserver(isc_task_t *task, isc_event_t *event) { isc_event_free(&event); } -static dns_dispatch_t *dispatch = NULL; -static dns_dispentry_t *dispentry = NULL; -static atomic_bool first = ATOMIC_VAR_INIT(true); -static isc_sockaddr_t local; +static dns_dispatch_t * dispatch = NULL; +static dns_dispentry_t * dispentry = NULL; +static atomic_bool first = ATOMIC_VAR_INIT(true); +static isc_sockaddr_t local; static atomic_uint_fast32_t responses; static void -response(isc_task_t *task, isc_event_t *event) { +response(isc_task_t *task, isc_event_t *event) +{ dns_dispatchevent_t *devent = (dns_dispatchevent_t *)event; - bool exp_true = true; + bool exp_true = true; UNUSED(task); @@ -235,8 +242,9 @@ response(isc_task_t *task, isc_event_t *event) { } static void -startit(isc_task_t *task, isc_event_t *event) { - isc_result_t result; +startit(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result; isc_socket_t *sock = NULL; isc_socket_attach(dns_dispatch_getsocket(dispatch), &sock); @@ -248,16 +256,17 @@ startit(isc_task_t *task, isc_event_t *event) { /* test dispatch getnext */ static void -dispatch_getnext(void **state) { - isc_region_t region; - isc_result_t result; - isc_socket_t *sock = NULL; - isc_task_t *task = NULL; - uint16_t id; +dispatch_getnext(void **state) +{ + isc_region_t region; + isc_result_t result; + isc_socket_t * sock = NULL; + isc_task_t * task = NULL; + uint16_t id; struct in_addr ina; - unsigned char message[12]; - unsigned int attrs; - unsigned char rbuf[12]; + unsigned char message[12]; + unsigned int attrs; + unsigned char rbuf[12]; UNUSED(state); @@ -272,9 +281,9 @@ dispatch_getnext(void **state) { ina.s_addr = htonl(INADDR_LOOPBACK); isc_sockaddr_fromin(&local, &ina, 0); attrs = DNS_DISPATCHATTR_IPV4 | DNS_DISPATCHATTR_UDP; - result = dns_dispatch_getudp(dispatchmgr, socketmgr, taskmgr, - &local, 512, 6, 1024, 17, 19, attrs, - attrs, &dispatch); + result = dns_dispatch_getudp(dispatchmgr, socketmgr, taskmgr, &local, + 512, 6, 1024, 17, 19, attrs, attrs, + &dispatch); assert_int_equal(result, ISC_R_SUCCESS); /* @@ -330,14 +339,15 @@ dispatch_getnext(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(dispatchset_create, - _setup, _teardown), - cmocka_unit_test_setup_teardown(dispatchset_get, - _setup, _teardown), - cmocka_unit_test_setup_teardown(dispatch_getnext, - _setup, _teardown), + cmocka_unit_test_setup_teardown(dispatchset_create, _setup, + _teardown), + cmocka_unit_test_setup_teardown(dispatchset_get, _setup, + _teardown), + cmocka_unit_test_setup_teardown(dispatch_getnext, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -348,7 +358,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/dnstap_test.c b/lib/dns/tests/dnstap_test.c index 3c5d407cc1..983a2b9838 100644 --- a/lib/dns/tests/dnstap_test.c +++ b/lib/dns/tests/dnstap_test.c @@ -11,12 +11,11 @@ #if HAVE_CMOCKA -#include -#include -#include - #include #include /* IWYU pragma: keep */ +#include +#include +#include #include #include #include @@ -26,8 +25,8 @@ #include #include -#include #include +#include #include #include @@ -47,7 +46,8 @@ #define TAPTEXT "testdata/dnstap/dnstap.text" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -59,7 +59,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -68,16 +69,18 @@ _teardown(void **state) { } static void -cleanup() { - (void) isc_file_remove(TAPFILE); - (void) isc_file_remove(TAPSOCK); +cleanup() +{ + (void)isc_file_remove(TAPFILE); + (void)isc_file_remove(TAPSOCK); } /* set up dnstap environment */ static void -create_test(void **state) { - isc_result_t result; - dns_dtenv_t *dtenv = NULL; +create_test(void **state) +{ + isc_result_t result; + dns_dtenv_t * dtenv = NULL; struct fstrm_iothr_options *fopt; UNUSED(state); @@ -88,8 +91,8 @@ create_test(void **state) { assert_non_null(fopt); fstrm_iothr_options_set_num_input_queues(fopt, 1); - result = dns_dt_create(dt_mctx, dns_dtmode_file, TAPFILE, - &fopt, NULL, &dtenv); + result = dns_dt_create(dt_mctx, dns_dtmode_file, TAPFILE, &fopt, NULL, + &dtenv); assert_int_equal(result, ISC_R_SUCCESS); if (dtenv != NULL) { dns_dt_detach(&dtenv); @@ -104,8 +107,8 @@ create_test(void **state) { assert_non_null(fopt); fstrm_iothr_options_set_num_input_queues(fopt, 1); - result = dns_dt_create(dt_mctx, dns_dtmode_unix, TAPSOCK, - &fopt, NULL, &dtenv); + result = dns_dt_create(dt_mctx, dns_dtmode_unix, TAPSOCK, &fopt, NULL, + &dtenv); assert_int_equal(result, ISC_R_SUCCESS); if (dtenv != NULL) { dns_dt_detach(&dtenv); @@ -136,28 +139,29 @@ create_test(void **state) { /* send dnstap messages */ static void -send_test(void **state) { - isc_result_t result; - dns_dtenv_t *dtenv = NULL; - dns_dthandle_t *handle = NULL; - uint8_t *data; - size_t dsize; - unsigned char zone[DNS_NAME_MAXWIRE]; - unsigned char qambuffer[4096], rambuffer[4096]; - unsigned char qrmbuffer[4096], rrmbuffer[4096]; - isc_buffer_t zb, qamsg, ramsg, qrmsg, rrmsg; - size_t qasize, qrsize, rasize, rrsize; - dns_fixedname_t zfname; - dns_name_t *zname; - dns_dtmsgtype_t dt; - dns_view_t *view = NULL; - dns_compress_t cctx; - isc_region_t zr; - isc_sockaddr_t qaddr; - isc_sockaddr_t raddr; - struct in_addr in; - isc_stdtime_t now; - isc_time_t p, f; +send_test(void **state) +{ + isc_result_t result; + dns_dtenv_t * dtenv = NULL; + dns_dthandle_t * handle = NULL; + uint8_t * data; + size_t dsize; + unsigned char zone[DNS_NAME_MAXWIRE]; + unsigned char qambuffer[4096], rambuffer[4096]; + unsigned char qrmbuffer[4096], rrmbuffer[4096]; + isc_buffer_t zb, qamsg, ramsg, qrmsg, rrmsg; + size_t qasize, qrsize, rasize, rrsize; + dns_fixedname_t zfname; + dns_name_t * zname; + dns_dtmsgtype_t dt; + dns_view_t * view = NULL; + dns_compress_t cctx; + isc_region_t zr; + isc_sockaddr_t qaddr; + isc_sockaddr_t raddr; + struct in_addr in; + isc_stdtime_t now; + isc_time_t p, f; struct fstrm_iothr_options *fopt; UNUSED(state); @@ -171,8 +175,8 @@ send_test(void **state) { assert_non_null(fopt); fstrm_iothr_options_set_num_input_queues(fopt, 1); - result = dns_dt_create(dt_mctx, dns_dtmode_file, TAPFILE, - &fopt, NULL, &dtenv); + result = dns_dt_create(dt_mctx, dns_dtmode_file, TAPFILE, &fopt, NULL, + &dtenv); assert_int_equal(result, ISC_R_SUCCESS); dns_dt_attach(dtenv, &view->dtenv); @@ -206,14 +210,14 @@ send_test(void **state) { isc_time_set(&p, now - 3600, 0); /* past */ isc_time_set(&f, now + 3600, 0); /* future */ - result = dns_test_getdata("testdata/dnstap/query.auth", - qambuffer, sizeof(qambuffer), &qasize); + result = dns_test_getdata("testdata/dnstap/query.auth", qambuffer, + sizeof(qambuffer), &qasize); assert_int_equal(result, ISC_R_SUCCESS); isc_buffer_init(&qamsg, qambuffer, qasize); isc_buffer_add(&qamsg, qasize); - result = dns_test_getdata("testdata/dnstap/response.auth", - rambuffer, sizeof(rambuffer), &rasize); + result = dns_test_getdata("testdata/dnstap/response.auth", rambuffer, + sizeof(rambuffer), &rasize); assert_int_equal(result, ISC_R_SUCCESS); isc_buffer_init(&ramsg, rambuffer, rasize); isc_buffer_add(&ramsg, rasize); @@ -231,7 +235,7 @@ send_test(void **state) { isc_buffer_add(&rrmsg, rrsize); for (dt = DNS_DTTYPE_SQ; dt <= DNS_DTTYPE_TR; dt <<= 1) { - isc_buffer_t *m; + isc_buffer_t * m; isc_sockaddr_t *q = &qaddr, *r = &raddr; switch (dt) { @@ -267,10 +271,10 @@ send_test(void **state) { assert_int_equal(result, ISC_R_SUCCESS); while (dns_dt_getframe(handle, &data, &dsize) == ISC_R_SUCCESS) { - dns_dtdata_t *dtdata = NULL; - isc_region_t r; + dns_dtdata_t * dtdata = NULL; + isc_region_t r; static dns_dtmsgtype_t expected = DNS_DTTYPE_SQ; - static int n = 0; + static int n = 0; r.base = data; r.length = dsize; @@ -301,12 +305,13 @@ send_test(void **state) { /* dnstap message to text */ static void -totext_test(void **state) { - isc_result_t result; +totext_test(void **state) +{ + isc_result_t result; dns_dthandle_t *handle = NULL; - uint8_t *data; - size_t dsize; - FILE *fp = NULL; + uint8_t * data; + size_t dsize; + FILE * fp = NULL; UNUSED(state); @@ -319,8 +324,8 @@ totext_test(void **state) { while (dns_dt_getframe(handle, &data, &dsize) == ISC_R_SUCCESS) { dns_dtdata_t *dtdata = NULL; isc_buffer_t *b = NULL; - isc_region_t r; - char s[BUFSIZ], *p; + isc_region_t r; + char s[BUFSIZ], *p; r.base = data; r.length = dsize; @@ -354,7 +359,7 @@ totext_test(void **state) { result = dns_dt_datatotext(dtdata, &b); assert_int_equal(result, ISC_R_SUCCESS); - assert_string_equal((char *) isc_buffer_base(b), s); + assert_string_equal((char *)isc_buffer_base(b), s); dns_dtdata_free(&dtdata); isc_buffer_free(&b); @@ -368,7 +373,8 @@ totext_test(void **state) { #endif /* HAVE_DNSTAP */ int -main(void) { +main(void) +{ #if HAVE_DNSTAP const struct CMUnitTest tests[] = { cmocka_unit_test_setup_teardown(create_test, _setup, _teardown), @@ -390,7 +396,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/dnstest.c b/lib/dns/tests/dnstest.c index 2d11501cbd..54e61b768b 100644 --- a/lib/dns/tests/dnstest.c +++ b/lib/dns/tests/dnstest.c @@ -11,13 +11,12 @@ /*! \file */ -#include -#include -#include - #include #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include #include @@ -36,9 +35,9 @@ #include #include #include -#include #include #include +#include #include #include #include @@ -54,24 +53,24 @@ #include "dnstest.h" -#define CHECK(r) \ - do { \ - result = (r); \ - if (result != ISC_R_SUCCESS) { \ - goto cleanup; \ - } \ +#define CHECK(r) \ + do { \ + result = (r); \ + if (result != ISC_R_SUCCESS) { \ + goto cleanup; \ + } \ } while (0) -isc_mem_t *dt_mctx = NULL; -isc_log_t *lctx = NULL; -isc_taskmgr_t *taskmgr = NULL; -isc_task_t *maintask = NULL; -isc_timermgr_t *timermgr = NULL; +isc_mem_t * dt_mctx = NULL; +isc_log_t * lctx = NULL; +isc_taskmgr_t * taskmgr = NULL; +isc_task_t * maintask = NULL; +isc_timermgr_t * timermgr = NULL; isc_socketmgr_t *socketmgr = NULL; -dns_zonemgr_t *zonemgr = NULL; -bool app_running = false; -int ncpus; -bool debug_mem_record = true; +dns_zonemgr_t * zonemgr = NULL; +bool app_running = false; +int ncpus; +bool debug_mem_record = true; static bool dst_active = false; static bool test_running = false; @@ -79,20 +78,19 @@ static bool test_running = false; /* * Logging categories: this needs to match the list in bin/named/log.c. */ -static isc_logcategory_t categories[] = { - { "", 0 }, - { "client", 0 }, - { "network", 0 }, - { "update", 0 }, - { "queries", 0 }, - { "unmatched", 0 }, - { "update-security", 0 }, - { "query-errors", 0 }, - { NULL, 0 } -}; +static isc_logcategory_t categories[] = { { "", 0 }, + { "client", 0 }, + { "network", 0 }, + { "update", 0 }, + { "queries", 0 }, + { "unmatched", 0 }, + { "update-security", 0 }, + { "query-errors", 0 }, + { NULL, 0 } }; static void -cleanup_managers(void) { +cleanup_managers(void) +{ if (maintask != NULL) { isc_task_shutdown(maintask); isc_task_destroy(&maintask); @@ -112,7 +110,8 @@ cleanup_managers(void) { } static isc_result_t -create_managers(void) { +create_managers(void) +{ isc_result_t result; ncpus = isc_os_ncpus(); @@ -122,13 +121,14 @@ create_managers(void) { CHECK(isc_task_create(taskmgr, 0, &maintask)); return (ISC_R_SUCCESS); - cleanup: +cleanup: cleanup_managers(); return (result); } isc_result_t -dns_test_begin(FILE *logfile, bool start_managers) { +dns_test_begin(FILE *logfile, bool start_managers) +{ isc_result_t result; INSIST(!test_running); @@ -153,7 +153,7 @@ dns_test_begin(FILE *logfile, bool start_managers) { if (logfile != NULL) { isc_logdestination_t destination; - isc_logconfig_t *logconfig = NULL; + isc_logconfig_t * logconfig = NULL; INSIST(lctx == NULL); CHECK(isc_log_create(dt_mctx, &lctx, &logconfig)); @@ -168,8 +168,7 @@ dns_test_begin(FILE *logfile, bool start_managers) { destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.maximum_size = 0; CHECK(isc_log_createchannel(logconfig, "stderr", - ISC_LOG_TOFILEDESC, - ISC_LOG_DYNAMIC, + ISC_LOG_TOFILEDESC, ISC_LOG_DYNAMIC, &destination, 0)); CHECK(isc_log_usechannel(logconfig, "stderr", NULL, NULL)); } @@ -191,13 +190,14 @@ dns_test_begin(FILE *logfile, bool start_managers) { return (ISC_R_SUCCESS); - cleanup: +cleanup: dns_test_end(); return (result); } void -dns_test_end(void) { +dns_test_end(void) +{ cleanup_managers(); dst_lib_destroy(); @@ -218,16 +218,17 @@ dns_test_end(void) { * Create a view. */ isc_result_t -dns_test_makeview(const char *name, dns_view_t **viewp) { +dns_test_makeview(const char *name, dns_view_t **viewp) +{ isc_result_t result; - dns_view_t *view = NULL; + dns_view_t * view = NULL; CHECK(dns_view_create(dt_mctx, dns_rdataclass_in, name, &view)); *viewp = view; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (view != NULL) dns_view_detach(&view); return (result); @@ -238,9 +239,9 @@ dns_test_makezone(const char *name, dns_zone_t **zonep, dns_view_t *view, bool createview) { dns_fixedname_t fixed_origin; - dns_zone_t *zone = NULL; - isc_result_t result; - dns_name_t *origin; + dns_zone_t * zone = NULL; + isc_result_t result; + dns_name_t * origin; REQUIRE(view == NULL || !createview); @@ -292,14 +293,15 @@ dns_test_makezone(const char *name, dns_zone_t **zonep, dns_view_t *view, return (ISC_R_SUCCESS); - detach_zone: +detach_zone: dns_zone_detach(&zone); return (result); } isc_result_t -dns_test_setupzonemgr(void) { +dns_test_setupzonemgr(void) +{ isc_result_t result; REQUIRE(zonemgr == NULL); @@ -309,7 +311,8 @@ dns_test_setupzonemgr(void) { } isc_result_t -dns_test_managezone(dns_zone_t *zone) { +dns_test_managezone(dns_zone_t *zone) +{ isc_result_t result; REQUIRE(zonemgr != NULL); @@ -322,13 +325,15 @@ dns_test_managezone(dns_zone_t *zone) { } void -dns_test_releasezone(dns_zone_t *zone) { +dns_test_releasezone(dns_zone_t *zone) +{ REQUIRE(zonemgr != NULL); dns_zonemgr_releasezone(zonemgr, zone); } void -dns_test_closezonemgr(void) { +dns_test_closezonemgr(void) +{ REQUIRE(zonemgr != NULL); dns_zonemgr_shutdown(zonemgr); @@ -339,7 +344,8 @@ dns_test_closezonemgr(void) { * Sleep for 'usec' microseconds. */ void -dns_test_nap(uint32_t usec) { +dns_test_nap(uint32_t usec) +{ #ifdef HAVE_NANOSLEEP struct timespec ts; @@ -361,15 +367,15 @@ isc_result_t dns_test_loaddb(dns_db_t **db, dns_dbtype_t dbtype, const char *origin, const char *testfile) { - isc_result_t result; - dns_fixedname_t fixed; - dns_name_t *name; + isc_result_t result; + dns_fixedname_t fixed; + dns_name_t * name; name = dns_fixedname_initname(&fixed); result = dns_name_fromstring(name, origin, 0, NULL); if (result != ISC_R_SUCCESS) - return(result); + return (result); result = dns_db_create(dt_mctx, "rbt", name, dbtype, dns_rdataclass_in, 0, NULL, db); @@ -381,7 +387,8 @@ dns_test_loaddb(dns_db_t **db, dns_dbtype_t dbtype, const char *origin, } static int -fromhex(char c) { +fromhex(char c) +{ if (c >= '0' && c <= '9') return (c - '0'); else if (c >= 'a' && c <= 'f') @@ -402,12 +409,9 @@ fromhex(char c) { char * dns_test_tohex(const unsigned char *data, size_t len, char *buf, size_t buflen) { - isc_constregion_t source = { - .base = data, - .length = len - }; - isc_buffer_t target; - isc_result_t result; + isc_constregion_t source = { .base = data, .length = len }; + isc_buffer_t target; + isc_result_t result; memset(buf, 0, buflen); isc_buffer_init(&target, buf, buflen); @@ -418,16 +422,16 @@ dns_test_tohex(const unsigned char *data, size_t len, char *buf, size_t buflen) } isc_result_t -dns_test_getdata(const char *file, unsigned char *buf, - size_t bufsiz, size_t *sizep) +dns_test_getdata(const char *file, unsigned char *buf, size_t bufsiz, + size_t *sizep) { - isc_result_t result; + isc_result_t result; unsigned char *bp; - char *rp, *wp; - char s[BUFSIZ]; - size_t len, i; - FILE *f = NULL; - int n; + char * rp, *wp; + char s[BUFSIZ]; + size_t len, i; + FILE * f = NULL; + int n; result = isc_stdio_open(file, "r", &f); if (result != ISC_R_SUCCESS) @@ -441,8 +445,8 @@ dns_test_getdata(const char *file, unsigned char *buf, while (*rp != '\0') { if (*rp == '#') break; - if (*rp != ' ' && *rp != '\t' && - *rp != '\r' && *rp != '\n') { + if (*rp != ' ' && *rp != '\t' && *rp != '\r' && + *rp != '\n') { *wp++ = *rp; len++; } @@ -463,18 +467,18 @@ dns_test_getdata(const char *file, unsigned char *buf, } } - *sizep = bp - buf; result = ISC_R_SUCCESS; - cleanup: +cleanup: isc_stdio_close(f); return (result); } static void -nullmsg(dns_rdatacallbacks_t *cb, const char *fmt, ...) { +nullmsg(dns_rdatacallbacks_t *cb, const char *fmt, ...) +{ UNUSED(cb); UNUSED(fmt); } @@ -485,11 +489,11 @@ dns_test_rdatafromstring(dns_rdata_t *rdata, dns_rdataclass_t rdclass, size_t dstlen, const char *src, bool warnings) { dns_rdatacallbacks_t callbacks; - isc_buffer_t source, target; - isc_lex_t *lex = NULL; - isc_lexspecials_t specials = { 0 }; - isc_result_t result; - size_t length; + isc_buffer_t source, target; + isc_lex_t * lex = NULL; + isc_lexspecials_t specials = { 0 }; + isc_result_t result; + size_t length; REQUIRE(rdata != NULL); REQUIRE(DNS_RDATA_INITIALIZED(rdata)); @@ -554,18 +558,19 @@ dns_test_rdatafromstring(dns_rdata_t *rdata, dns_rdataclass_t rdclass, result = dns_rdata_fromtext(rdata, rdclass, rdtype, lex, dns_rootname, 0, dt_mctx, &target, &callbacks); - destroy_lexer: +destroy_lexer: isc_lex_destroy(&lex); return (result); } void -dns_test_namefromstring(const char *namestr, dns_fixedname_t *fname) { - size_t length; +dns_test_namefromstring(const char *namestr, dns_fixedname_t *fname) +{ + size_t length; isc_buffer_t *b = NULL; - isc_result_t result; - dns_name_t *name; + isc_result_t result; + dns_name_t * name; length = strlen(namestr); @@ -573,7 +578,7 @@ dns_test_namefromstring(const char *namestr, dns_fixedname_t *fname) { isc_buffer_allocate(dt_mctx, &b, length); - isc_buffer_putmem(b, (const unsigned char *) namestr, length); + isc_buffer_putmem(b, (const unsigned char *)namestr, length); result = dns_name_fromtext(name, b, dns_rootname, 0, NULL); assert_int_equal(result, ISC_R_SUCCESS); @@ -584,15 +589,15 @@ isc_result_t dns_test_difffromchanges(dns_diff_t *diff, const zonechange_t *changes, bool warnings) { - isc_result_t result = ISC_R_SUCCESS; - unsigned char rdata_buf[1024]; - dns_difftuple_t *tuple = NULL; + isc_result_t result = ISC_R_SUCCESS; + unsigned char rdata_buf[1024]; + dns_difftuple_t * tuple = NULL; isc_consttextregion_t region; - dns_rdatatype_t rdatatype; - dns_fixedname_t fixedname; - dns_rdata_t rdata; - dns_name_t *name; - size_t i; + dns_rdatatype_t rdatatype; + dns_fixedname_t fixedname; + dns_rdata_t rdata; + dns_name_t * name; + size_t i; REQUIRE(diff != NULL); REQUIRE(changes != NULL); @@ -604,7 +609,8 @@ dns_test_difffromchanges(dns_diff_t *diff, const zonechange_t *changes, * Parse owner name. */ name = dns_fixedname_initname(&fixedname); - result = dns_name_fromstring(name, changes[i].owner, 0, dt_mctx); + result = + dns_name_fromstring(name, changes[i].owner, 0, dt_mctx); if (result != ISC_R_SUCCESS) { break; } @@ -624,11 +630,9 @@ dns_test_difffromchanges(dns_diff_t *diff, const zonechange_t *changes, * Parse RDATA. */ dns_rdata_init(&rdata); - result = dns_test_rdatafromstring(&rdata, dns_rdataclass_in, - rdatatype, rdata_buf, - sizeof(rdata_buf), - changes[i].rdata, - warnings); + result = dns_test_rdatafromstring( + &rdata, dns_rdataclass_in, rdatatype, rdata_buf, + sizeof(rdata_buf), changes[i].rdata, warnings); if (result != ISC_R_SUCCESS) { break; } diff --git a/lib/dns/tests/dnstest.h b/lib/dns/tests/dnstest.h index b9263ba589..d9f2fb246c 100644 --- a/lib/dns/tests/dnstest.h +++ b/lib/dns/tests/dnstest.h @@ -29,24 +29,27 @@ typedef struct { dns_diffop_t op; - const char *owner; - dns_ttl_t ttl; - const char *type; - const char *rdata; + const char * owner; + dns_ttl_t ttl; + const char * type; + const char * rdata; } zonechange_t; -#define ZONECHANGE_SENTINEL { 0, NULL, 0, NULL, NULL } +#define ZONECHANGE_SENTINEL \ + { \ + 0, NULL, 0, NULL, NULL \ + } -extern isc_mem_t *dt_mctx; -extern isc_log_t *lctx; -extern isc_taskmgr_t *taskmgr; -extern isc_task_t *maintask; -extern isc_timermgr_t *timermgr; +extern isc_mem_t * dt_mctx; +extern isc_log_t * lctx; +extern isc_taskmgr_t * taskmgr; +extern isc_task_t * maintask; +extern isc_timermgr_t * timermgr; extern isc_socketmgr_t *socketmgr; -extern dns_zonemgr_t *zonemgr; -extern bool app_running; -extern int ncpus; -extern bool debug_mem_record; +extern dns_zonemgr_t * zonemgr; +extern bool app_running; +extern int ncpus; +extern bool debug_mem_record; isc_result_t dns_test_begin(FILE *logfile, bool create_managers); @@ -97,8 +100,8 @@ dns_test_loaddb(dns_db_t **db, dns_dbtype_t dbtype, const char *origin, const char *testfile); isc_result_t -dns_test_getdata(const char *file, unsigned char *buf, - size_t bufsiz, size_t *sizep); +dns_test_getdata(const char *file, unsigned char *buf, size_t bufsiz, + size_t *sizep); char * dns_test_tohex(const unsigned char *data, size_t len, char *buf, size_t buflen); diff --git a/lib/dns/tests/dst_test.c b/lib/dns/tests/dst_test.c index 08c02c2ea2..06153a2f91 100644 --- a/lib/dns/tests/dst_test.c +++ b/lib/dns/tests/dst_test.c @@ -11,12 +11,11 @@ #if HAVE_CMOCKA -#include -#include -#include - #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include @@ -28,17 +27,16 @@ #include #include #include -#include + +#include "../dst_internal.h" +#include "dnstest.h" #include #include -#include "../dst_internal.h" - -#include "dnstest.h" - static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -50,7 +48,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -60,13 +59,14 @@ _teardown(void **state) { /* Read sig in file at path to buf. Check signature ineffability */ static isc_result_t -sig_fromfile(const char *path, isc_buffer_t *buf) { - isc_result_t result; - size_t rval, len; - FILE *fp = NULL; +sig_fromfile(const char *path, isc_buffer_t *buf) +{ + isc_result_t result; + size_t rval, len; + FILE * fp = NULL; unsigned char val; - char *p, *data; - off_t size; + char * p, *data; + off_t size; result = isc_stdio_open(path, "rb", &fp); assert_int_equal(result, ISC_R_SUCCESS); @@ -95,7 +95,7 @@ sig_fromfile(const char *path, isc_buffer_t *buf) { --len; continue; } else if (len < 2U) { - goto err; + goto err; } if (('0' <= *p) && (*p <= '9')) { val = *p - '0'; @@ -123,7 +123,7 @@ sig_fromfile(const char *path, isc_buffer_t *buf) { result = ISC_R_SUCCESS; - err: +err: isc_mem_put(dt_mctx, data, size + 1); return (result); } @@ -132,20 +132,20 @@ static void check_sig(const char *datapath, const char *sigpath, const char *keyname, dns_keytag_t id, dns_secalg_t alg, int type, bool expect) { - isc_result_t result; - size_t rval, len; - FILE *fp; - dst_key_t *key = NULL; - unsigned char sig[512]; - unsigned char *p; - unsigned char *data; - off_t size; - isc_buffer_t b; - isc_buffer_t databuf, sigbuf; - isc_region_t datareg, sigreg; + isc_result_t result; + size_t rval, len; + FILE * fp; + dst_key_t * key = NULL; + unsigned char sig[512]; + unsigned char * p; + unsigned char * data; + off_t size; + isc_buffer_t b; + isc_buffer_t databuf, sigbuf; + isc_region_t datareg, sigreg; dns_fixedname_t fname; - dns_name_t *name; - dst_context_t *ctx = NULL; + dns_name_t * name; + dst_context_t * ctx = NULL; /* * Read data from file in a form usable by dst_verify. @@ -177,8 +177,8 @@ check_sig(const char *datapath, const char *sigpath, const char *keyname, isc_buffer_add(&b, strlen(keyname)); result = dns_name_fromtext(name, &b, dns_rootname, 0, NULL); assert_int_equal(result, ISC_R_SUCCESS); - result = dst_key_fromfile(name, id, alg, type, "testdata/dst", - dt_mctx, &key); + result = dst_key_fromfile(name, id, alg, type, "testdata/dst", dt_mctx, + &key); assert_int_equal(result, ISC_R_SUCCESS); isc_buffer_init(&databuf, data, (unsigned int)size); @@ -209,14 +209,14 @@ check_sig(const char *datapath, const char *sigpath, const char *keyname, if (expect && result != ISC_R_SUCCESS) { isc_result_t result2; - result2 = dst_context_create(key, dt_mctx, DNS_LOGCATEGORY_GENERAL, - false, 0, &ctx); + result2 = dst_context_create( + key, dt_mctx, DNS_LOGCATEGORY_GENERAL, false, 0, &ctx); assert_int_equal(result2, ISC_R_SUCCESS); result2 = dst_context_adddata(ctx, &datareg); assert_int_equal(result2, ISC_R_SUCCESS); - char sigbuf2[4096]; + char sigbuf2[4096]; isc_buffer_t sigb; isc_buffer_init(&sigb, sigbuf2, sizeof(sigbuf2)); @@ -226,7 +226,7 @@ check_sig(const char *datapath, const char *sigpath, const char *keyname, isc_region_t r; isc_buffer_usedregion(&sigb, &r); - char hexbuf[4096] = { 0 }; + char hexbuf[4096] = { 0 }; isc_buffer_t hb; isc_buffer_init(&hb, hexbuf, sizeof(hexbuf)); @@ -248,59 +248,46 @@ check_sig(const char *datapath, const char *sigpath, const char *keyname, } static void -sig_test(void **state) { +sig_test(void **state) +{ UNUSED(state); struct { - const char *datapath; - const char *sigpath; - const char *keyname; + const char * datapath; + const char * sigpath; + const char * keyname; dns_keytag_t keyid; dns_secalg_t alg; - bool expect; + bool expect; } testcases[] = { - { - "testdata/dst/test1.data", - "testdata/dst/test1.ecdsa256sig", - "test.", 49130, DST_ALG_ECDSA256, true - }, - { - "testdata/dst/test1.data", - "testdata/dst/test1.rsasha256sig", - "test.", 11349, DST_ALG_RSASHA256, true - }, - { - /* wrong sig */ - "testdata/dst/test1.data", - "testdata/dst/test1.ecdsa256sig", - "test.", 11349, DST_ALG_RSASHA256, false - }, - { - /* wrong data */ - "testdata/dst/test2.data", - "testdata/dst/test1.ecdsa256sig", - "test.", 49130, DST_ALG_ECDSA256, false - }, + { "testdata/dst/test1.data", "testdata/dst/test1.ecdsa256sig", + "test.", 49130, DST_ALG_ECDSA256, true }, + { "testdata/dst/test1.data", "testdata/dst/test1.rsasha256sig", + "test.", 11349, DST_ALG_RSASHA256, true }, + { /* wrong sig */ + "testdata/dst/test1.data", "testdata/dst/test1.ecdsa256sig", + "test.", 11349, DST_ALG_RSASHA256, false }, + { /* wrong data */ + "testdata/dst/test2.data", "testdata/dst/test1.ecdsa256sig", + "test.", 49130, DST_ALG_ECDSA256, false }, }; unsigned int i; - for (i = 0; i < (sizeof(testcases)/sizeof(testcases[0])); i++) { + for (i = 0; i < (sizeof(testcases) / sizeof(testcases[0])); i++) { if (!dst_algorithm_supported(testcases[i].alg)) { continue; } - check_sig(testcases[i].datapath, - testcases[i].sigpath, - testcases[i].keyname, - testcases[i].keyid, - testcases[i].alg, - DST_TYPE_PRIVATE|DST_TYPE_PUBLIC, + check_sig(testcases[i].datapath, testcases[i].sigpath, + testcases[i].keyname, testcases[i].keyid, + testcases[i].alg, DST_TYPE_PRIVATE | DST_TYPE_PUBLIC, testcases[i].expect); } } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test_setup_teardown(sig_test, _setup, _teardown), }; @@ -313,7 +300,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/geoip_test.c b/lib/dns/tests/geoip_test.c index bc581a01a2..02f45eeea9 100644 --- a/lib/dns/tests/geoip_test.c +++ b/lib/dns/tests/geoip_test.c @@ -11,12 +11,11 @@ #if HAVE_CMOCKA -#include -#include -#include - #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include #include @@ -45,11 +44,14 @@ static dns_geoip_databases_t geoip; static MMDB_s geoip_country, geoip_city, geoip_as, geoip_isp, geoip_domain; -static void load_geoip(const char *dir); -static void close_geoip(void); +static void +load_geoip(const char *dir); +static void +close_geoip(void); static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -64,7 +66,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); close_geoip(); @@ -75,9 +78,10 @@ _teardown(void **state) { } static MMDB_s * -open_geoip2(const char *dir, const char *dbfile, MMDB_s *mmdb) { +open_geoip2(const char *dir, const char *dbfile, MMDB_s *mmdb) +{ char pathbuf[PATH_MAX]; - int ret; + int ret; snprintf(pathbuf, sizeof(pathbuf), "%s/%s", dir, dbfile); ret = MMDB_open(pathbuf, MMDB_MODE_MMAP, mmdb); @@ -89,9 +93,9 @@ open_geoip2(const char *dir, const char *dbfile, MMDB_s *mmdb) { } static void -load_geoip(const char *dir) { - geoip.country = open_geoip2(dir, "GeoIP2-Country.mmdb", - &geoip_country); +load_geoip(const char *dir) +{ + geoip.country = open_geoip2(dir, "GeoIP2-Country.mmdb", &geoip_country); geoip.city = open_geoip2(dir, "GeoIP2-City.mmdb", &geoip_city); geoip.as = open_geoip2(dir, "GeoLite2-ASN.mmdb", &geoip_as); geoip.isp = open_geoip2(dir, "GeoIP2-ISP.mmdb", &geoip_isp); @@ -99,7 +103,8 @@ load_geoip(const char *dir) { } static void -close_geoip(void) { +close_geoip(void) +{ MMDB_close(&geoip_country); MMDB_close(&geoip_city); MMDB_close(&geoip_as); @@ -109,11 +114,12 @@ close_geoip(void) { static bool /* Check if an MMDB entry of a given subtype exists for the given IP */ -entry_exists(dns_geoip_subtype_t subtype, const char *addr) { +entry_exists(dns_geoip_subtype_t subtype, const char *addr) +{ struct in6_addr in6; - struct in_addr in4; - isc_netaddr_t na; - MMDB_s *db; + struct in_addr in4; + isc_netaddr_t na; + MMDB_s * db; if (inet_pton(AF_INET6, addr, &in6) == 1) { isc_netaddr_fromin6(&na, &in6); @@ -137,7 +143,8 @@ entry_exists(dns_geoip_subtype_t subtype, const char *addr) { * database, ::1 should be absent from all databases). */ static void -baseline(void **state) { +baseline(void **state) +{ dns_geoip_subtype_t subtype; UNUSED(state); @@ -183,8 +190,8 @@ do_lookup_string(const char *addr, dns_geoip_subtype_t subtype, const char *string) { dns_geoip_elem_t elt; - struct in_addr in4; - isc_netaddr_t na; + struct in_addr in4; + isc_netaddr_t na; inet_pton(AF_INET, addr, &in4); isc_netaddr_fromin(&na, &in4); @@ -200,8 +207,8 @@ do_lookup_string_v6(const char *addr, dns_geoip_subtype_t subtype, const char *string) { dns_geoip_elem_t elt; - struct in6_addr in6; - isc_netaddr_t na; + struct in6_addr in6; + isc_netaddr_t na; inet_pton(AF_INET6, addr, &in6); isc_netaddr_fromin6(&na, &in6); @@ -214,7 +221,8 @@ do_lookup_string_v6(const char *addr, dns_geoip_subtype_t subtype, /* GeoIP country matching */ static void -country(void **state) { +country(void **state) +{ bool match; UNUSED(state); @@ -226,21 +234,22 @@ country(void **state) { match = do_lookup_string("10.53.0.1", dns_geoip_country_code, "AU"); assert_true(match); - match = do_lookup_string("10.53.0.1", - dns_geoip_country_name, "Australia"); + match = do_lookup_string("10.53.0.1", dns_geoip_country_name, + "Australia"); assert_true(match); match = do_lookup_string("192.0.2.128", dns_geoip_country_code, "O1"); assert_true(match); - match = do_lookup_string("192.0.2.128", - dns_geoip_country_name, "Other"); + match = do_lookup_string("192.0.2.128", dns_geoip_country_name, + "Other"); assert_true(match); } /* GeoIP country (ipv6) matching */ static void -country_v6(void **state) { +country_v6(void **state) +{ bool match; UNUSED(state); @@ -260,7 +269,8 @@ country_v6(void **state) { /* GeoIP city (ipv4) matching */ static void -city(void **state) { +city(void **state) +{ bool match; UNUSED(state); @@ -269,38 +279,37 @@ city(void **state) { skip(); } - match = do_lookup_string("10.53.0.1", - dns_geoip_city_continentcode, "NA"); + match = do_lookup_string("10.53.0.1", dns_geoip_city_continentcode, + "NA"); assert_true(match); - match = do_lookup_string("10.53.0.1", - dns_geoip_city_countrycode, "US"); + match = do_lookup_string("10.53.0.1", dns_geoip_city_countrycode, "US"); assert_true(match); - match = do_lookup_string("10.53.0.1", - dns_geoip_city_countryname, "United States"); + match = do_lookup_string("10.53.0.1", dns_geoip_city_countryname, + "United States"); assert_true(match); - match = do_lookup_string("10.53.0.1", - dns_geoip_city_region, "CA"); + match = do_lookup_string("10.53.0.1", dns_geoip_city_region, "CA"); assert_true(match); - match = do_lookup_string("10.53.0.1", - dns_geoip_city_regionname, "California"); + match = do_lookup_string("10.53.0.1", dns_geoip_city_regionname, + "California"); assert_true(match); - match = do_lookup_string("10.53.0.1", - dns_geoip_city_name, "Redwood City"); + match = do_lookup_string("10.53.0.1", dns_geoip_city_name, + "Redwood City"); assert_true(match); - match = do_lookup_string("10.53.0.1", - dns_geoip_city_postalcode, "94063"); + match = do_lookup_string("10.53.0.1", dns_geoip_city_postalcode, + "94063"); assert_true(match); } /* GeoIP city (ipv6) matching */ static void -city_v6(void **state) { +city_v6(void **state) +{ bool match; UNUSED(state); @@ -341,7 +350,8 @@ city_v6(void **state) { /* GeoIP asnum matching */ static void -asnum(void **state) { +asnum(void **state) +{ bool match; UNUSED(state); @@ -356,7 +366,8 @@ asnum(void **state) { /* GeoIP isp matching */ static void -isp(void **state) { +isp(void **state) +{ bool match; UNUSED(state); @@ -372,7 +383,8 @@ isp(void **state) { /* GeoIP org matching */ static void -org(void **state) { +org(void **state) +{ bool match; UNUSED(state); @@ -388,7 +400,8 @@ org(void **state) { /* GeoIP domain matching */ static void -domain(void **state) { +domain(void **state) +{ bool match; UNUSED(state); @@ -397,24 +410,20 @@ domain(void **state) { skip(); } - match = do_lookup_string("10.53.0.5", - dns_geoip_domain_name, "five.es"); + match = do_lookup_string("10.53.0.5", dns_geoip_domain_name, "five.es"); assert_true(match); } #endif /* HAVE_GEOIP2 */ int -main(void) { +main(void) +{ #if defined(HAVE_GEOIP2) const struct CMUnitTest tests[] = { - cmocka_unit_test(baseline), - cmocka_unit_test(country), - cmocka_unit_test(country_v6), - cmocka_unit_test(city), - cmocka_unit_test(city_v6), - cmocka_unit_test(asnum), - cmocka_unit_test(isp), - cmocka_unit_test(org), + cmocka_unit_test(baseline), cmocka_unit_test(country), + cmocka_unit_test(country_v6), cmocka_unit_test(city), + cmocka_unit_test(city_v6), cmocka_unit_test(asnum), + cmocka_unit_test(isp), cmocka_unit_test(org), cmocka_unit_test(domain), }; @@ -429,7 +438,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/keytable_test.c b/lib/dns/tests/keytable_test.c index 7b97ab5c87..605e21611b 100644 --- a/lib/dns/tests/keytable_test.c +++ b/lib/dns/tests/keytable_test.c @@ -11,13 +11,12 @@ #if HAVE_CMOCKA -#include -#include -#include - #include #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include #include @@ -39,12 +38,13 @@ #include #include -#include - #include "dnstest.h" +#include + static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -56,7 +56,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -67,9 +68,19 @@ _teardown(void **state) { dns_keytable_t *keytable = NULL; dns_ntatable_t *ntatable = NULL; -static const char *keystr1 = "BQEAAAABok+vaUC9neRv8yeT/FEGgN7svR8s7VBUVSBd8NsAiV8AlaAg O5FHar3JQd95i/puZos6Vi6at9/JBbN8qVmO2AuiXxVqfxMKxIcy+LEB 0Vw4NaSJ3N3uaVREso6aTSs98H/25MjcwLOr7SFfXA7bGhZatLtYY/xu kp6Km5hMfkE="; +static const char *keystr1 = "BQEAAAABok+vaUC9neRv8yeT/" + "FEGgN7svR8s7VBUVSBd8NsAiV8AlaAg " + "O5FHar3JQd95i/puZos6Vi6at9/" + "JBbN8qVmO2AuiXxVqfxMKxIcy+LEB " + "0Vw4NaSJ3N3uaVREso6aTSs98H/" + "25MjcwLOr7SFfXA7bGhZatLtYY/xu kp6Km5hMfkE="; -static const char *keystr2 = "BQEAAAABwuHz9Cem0BJ0JQTO7C/a3McR6hMaufljs1dfG/inaJpYv7vH XTrAOm/MeKp+/x6eT4QLru0KoZkvZJnqTI8JyaFTw2OM/ItBfh/hL2lm Cft2O7n3MfeqYtvjPnY7dWghYW4sVfH7VVEGm958o9nfi79532Qeklxh x8pXWdeAaRU="; +static const char *keystr2 = "BQEAAAABwuHz9Cem0BJ0JQTO7C/a3McR6hMaufljs1dfG/" + "inaJpYv7vH " + "XTrAOm/MeKp+/x6eT4QLru0KoZkvZJnqTI8JyaFTw2OM/" + "ItBfh/hL2lm " + "Cft2O7n3MfeqYtvjPnY7dWghYW4sVfH7VVEGm958o9nfi7953" + "2Qeklxh x8pXWdeAaRU="; static dns_view_t *view = NULL; @@ -85,30 +96,31 @@ static dns_view_t *view = NULL; * static data, and so is not thread safe. */ static dns_name_t * -str2name(const char *namestr) { +str2name(const char *namestr) +{ static dns_fixedname_t fname; - static dns_name_t *name; - static isc_buffer_t namebuf; - void *deconst_namestr; + static dns_name_t * name; + static isc_buffer_t namebuf; + void * deconst_namestr; name = dns_fixedname_initname(&fname); DE_CONST(namestr, deconst_namestr); /* OK, since we don't modify it */ isc_buffer_init(&namebuf, deconst_namestr, strlen(deconst_namestr)); isc_buffer_add(&namebuf, strlen(namestr)); - assert_int_equal(dns_name_fromtext(name, &namebuf, dns_rootname, - 0, NULL), - ISC_R_SUCCESS); + assert_int_equal( + dns_name_fromtext(name, &namebuf, dns_rootname, 0, NULL), + ISC_R_SUCCESS); return (name); } static void -create_keystruct(uint16_t flags, uint8_t proto, uint8_t alg, - const char *keystr, dns_rdata_dnskey_t *keystruct) +create_keystruct(uint16_t flags, uint8_t proto, uint8_t alg, const char *keystr, + dns_rdata_dnskey_t *keystruct) { - unsigned char keydata[4096]; - isc_buffer_t keydatabuf; - isc_region_t r; + unsigned char keydata[4096]; + isc_buffer_t keydatabuf; + isc_region_t r; const dns_rdataclass_t rdclass = dns_rdataclass_in; keystruct->common.rdclass = rdclass; @@ -129,14 +141,14 @@ create_keystruct(uint16_t flags, uint8_t proto, uint8_t alg, } static void -create_dsstruct(dns_name_t *name, uint16_t flags, - uint8_t proto, uint8_t alg, const char *keystr, - unsigned char *digest, dns_rdata_ds_t *dsstruct) +create_dsstruct(dns_name_t *name, uint16_t flags, uint8_t proto, uint8_t alg, + const char *keystr, unsigned char *digest, + dns_rdata_ds_t *dsstruct) { - isc_result_t result; - unsigned char rrdata[4096]; - isc_buffer_t rrdatabuf; - dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + unsigned char rrdata[4096]; + isc_buffer_t rrdatabuf; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_dnskey_t dnskey; /* @@ -149,15 +161,15 @@ create_dsstruct(dns_name_t *name, uint16_t flags, */ isc_buffer_init(&rrdatabuf, rrdata, sizeof(rrdata)); result = dns_rdata_fromstruct(&rdata, dnskey.common.rdclass, - dnskey.common.rdtype, - &dnskey, &rrdatabuf); + dnskey.common.rdtype, &dnskey, + &rrdatabuf); assert_int_equal(result, ISC_R_SUCCESS); /* * Build DS rdata struct. */ - result = dns_ds_fromkeyrdata(name, &rdata, DNS_DSDIGEST_SHA256, - digest, dsstruct); + result = dns_ds_fromkeyrdata(name, &rdata, DNS_DSDIGEST_SHA256, digest, + dsstruct); assert_int_equal(result, ISC_R_SUCCESS); dns_rdata_freestruct(&dnskey); @@ -165,21 +177,23 @@ create_dsstruct(dns_name_t *name, uint16_t flags, /* Common setup: create a keytable and ntatable to test with a few keys */ static void -create_tables() { - isc_result_t result; - unsigned char digest[ISC_MAX_MD_SIZE]; - dns_rdata_ds_t ds; +create_tables() +{ + isc_result_t result; + unsigned char digest[ISC_MAX_MD_SIZE]; + dns_rdata_ds_t ds; dns_fixedname_t fn; - dns_name_t *keyname = dns_fixedname_name(&fn); - isc_stdtime_t now; + dns_name_t * keyname = dns_fixedname_name(&fn); + isc_stdtime_t now; result = dns_test_makeview("view", &view); assert_int_equal(result, ISC_R_SUCCESS); assert_int_equal(dns_keytable_create(dt_mctx, &keytable), ISC_R_SUCCESS); - assert_int_equal(dns_ntatable_create(view, taskmgr, timermgr, - &ntatable), ISC_R_SUCCESS); + assert_int_equal( + dns_ntatable_create(view, taskmgr, timermgr, &ntatable), + ISC_R_SUCCESS); /* Add a normal key */ dns_test_namefromstring("example.com", &fn); @@ -194,20 +208,21 @@ create_tables() { ISC_R_SUCCESS); /* Add a null key */ - assert_int_equal(dns_keytable_marksecure(keytable, - str2name("null.example")), + assert_int_equal(dns_keytable_marksecure(keytable, str2name("null." + "example")), ISC_R_SUCCESS); /* Add a negative trust anchor, duration 1 hour */ isc_stdtime_get(&now); assert_int_equal(dns_ntatable_add(ntatable, - str2name("insecure.example"), - false, now, 3600), + str2name("insecure.example"), false, + now, 3600), ISC_R_SUCCESS); } static void -destroy_tables() { +destroy_tables() +{ if (ntatable != NULL) { dns_ntatable_detach(&ntatable); } @@ -220,13 +235,14 @@ destroy_tables() { /* add keys to the keytable */ static void -add_test(void **state) { - dns_keynode_t *keynode = NULL; - dns_keynode_t *null_keynode = NULL; - unsigned char digest[ISC_MAX_MD_SIZE]; - dns_rdata_ds_t ds; +add_test(void **state) +{ + dns_keynode_t * keynode = NULL; + dns_keynode_t * null_keynode = NULL; + unsigned char digest[ISC_MAX_MD_SIZE]; + dns_rdata_ds_t ds; dns_fixedname_t fn; - dns_name_t *keyname = dns_fixedname_name(&fn); + dns_name_t * keyname = dns_fixedname_name(&fn); UNUSED(state); @@ -235,9 +251,9 @@ add_test(void **state) { /* * Getting the keynode for the example.com key should succeed. */ - assert_int_equal(dns_keytable_find(keytable, str2name("example.com"), - &keynode), - ISC_R_SUCCESS); + assert_int_equal( + dns_keytable_find(keytable, str2name("example.com"), &keynode), + ISC_R_SUCCESS); /* * Try to add the same key. This should have no effect but @@ -248,18 +264,18 @@ add_test(void **state) { assert_int_equal(dns_keytable_add(keytable, false, false, keyname, &ds), ISC_R_SUCCESS); dns_keytable_detachkeynode(keytable, &keynode); - assert_int_equal(dns_keytable_find(keytable, str2name("example.com"), - &keynode), - ISC_R_SUCCESS); + assert_int_equal( + dns_keytable_find(keytable, str2name("example.com"), &keynode), + ISC_R_SUCCESS); /* Add another key (different keydata) */ dns_keytable_detachkeynode(keytable, &keynode); create_dsstruct(keyname, 257, 3, 5, keystr2, digest, &ds); assert_int_equal(dns_keytable_add(keytable, false, false, keyname, &ds), ISC_R_SUCCESS); - assert_int_equal(dns_keytable_find(keytable, str2name("example.com"), - &keynode), - ISC_R_SUCCESS); + assert_int_equal( + dns_keytable_find(keytable, str2name("example.com"), &keynode), + ISC_R_SUCCESS); dns_keytable_detachkeynode(keytable, &keynode); /* @@ -267,9 +283,9 @@ add_test(void **state) { * retrieved key is an initializing key, then mark it as trusted using * dns_keynode_trust() and ensure the latter works as expected. */ - assert_int_equal(dns_keytable_find(keytable, str2name("managed.com"), - &keynode), - ISC_R_SUCCESS); + assert_int_equal( + dns_keytable_find(keytable, str2name("managed.com"), &keynode), + ISC_R_SUCCESS); assert_int_equal(dns_keynode_initial(keynode), true); dns_keynode_trust(keynode); assert_int_equal(dns_keynode_initial(keynode), false); @@ -284,9 +300,9 @@ add_test(void **state) { create_dsstruct(keyname, 257, 3, 5, keystr2, digest, &ds); assert_int_equal(dns_keytable_add(keytable, true, true, keyname, &ds), ISC_R_SUCCESS); - assert_int_equal(dns_keytable_find(keytable, str2name("managed.com"), - &keynode), - ISC_R_SUCCESS); + assert_int_equal( + dns_keytable_find(keytable, str2name("managed.com"), &keynode), + ISC_R_SUCCESS); assert_int_equal(dns_keynode_initial(keynode), false); dns_keytable_detachkeynode(keytable, &keynode); @@ -298,9 +314,9 @@ add_test(void **state) { */ assert_int_equal(dns_keytable_add(keytable, true, false, keyname, &ds), ISC_R_SUCCESS); - assert_int_equal(dns_keytable_find(keytable, str2name("managed.com"), - &keynode), - ISC_R_SUCCESS); + assert_int_equal( + dns_keytable_find(keytable, str2name("managed.com"), &keynode), + ISC_R_SUCCESS); assert_int_equal(dns_keynode_initial(keynode), false); dns_keytable_detachkeynode(keytable, &keynode); @@ -312,9 +328,9 @@ add_test(void **state) { create_dsstruct(keyname, 257, 3, 5, keystr1, digest, &ds); assert_int_equal(dns_keytable_add(keytable, true, true, keyname, &ds), ISC_R_SUCCESS); - assert_int_equal(dns_keytable_find(keytable, str2name("two.com"), - &keynode), - ISC_R_SUCCESS); + assert_int_equal( + dns_keytable_find(keytable, str2name("two.com"), &keynode), + ISC_R_SUCCESS); assert_int_equal(dns_keynode_initial(keynode), true); dns_keytable_detachkeynode(keytable, &keynode); @@ -327,9 +343,9 @@ add_test(void **state) { create_dsstruct(keyname, 257, 3, 5, keystr2, digest, &ds); assert_int_equal(dns_keytable_add(keytable, true, false, keyname, &ds), ISC_R_SUCCESS); - assert_int_equal(dns_keytable_find(keytable, str2name("two.com"), - &keynode), - ISC_R_SUCCESS); + assert_int_equal( + dns_keytable_find(keytable, str2name("two.com"), &keynode), + ISC_R_SUCCESS); assert_int_equal(dns_keynode_initial(keynode), true); dns_keytable_detachkeynode(keytable, &keynode); @@ -344,9 +360,9 @@ add_test(void **state) { create_dsstruct(keyname, 257, 3, 5, keystr2, digest, &ds); assert_int_equal(dns_keytable_add(keytable, false, false, keyname, &ds), ISC_R_SUCCESS); - assert_int_equal(dns_keytable_find(keytable, str2name("null.example"), - &keynode), - ISC_R_SUCCESS); + assert_int_equal( + dns_keytable_find(keytable, str2name("null.example"), &keynode), + ISC_R_SUCCESS); assert_int_equal(keynode, null_keynode); /* should be the same node */ dns_keytable_detachkeynode(keytable, &null_keynode); @@ -356,8 +372,8 @@ add_test(void **state) { * (Note: this and above checks confirm that if a name has a null key * that's the only key for the name). */ - assert_int_equal(dns_keytable_marksecure(keytable, - str2name("null.example")), + assert_int_equal(dns_keytable_marksecure(keytable, str2name("null." + "example")), ISC_R_SUCCESS); assert_int_equal(dns_keytable_find(keytable, str2name("null.example"), &null_keynode), @@ -371,30 +387,29 @@ add_test(void **state) { /* delete keys from the keytable */ static void -delete_test(void **state) { +delete_test(void **state) +{ UNUSED(state); create_tables(); /* dns_keytable_delete requires exact match */ - assert_int_equal(dns_keytable_delete(keytable, - str2name("example.org")), + assert_int_equal(dns_keytable_delete(keytable, str2name("example.org")), ISC_R_NOTFOUND); - assert_int_equal(dns_keytable_delete(keytable, - str2name("s.example.com")), + assert_int_equal(dns_keytable_delete(keytable, str2name("s.example." + "com")), ISC_R_NOTFOUND); - assert_int_equal(dns_keytable_delete(keytable, - str2name("example.com")), + assert_int_equal(dns_keytable_delete(keytable, str2name("example.com")), ISC_R_SUCCESS); /* works also for nodes with a null key */ - assert_int_equal(dns_keytable_delete(keytable, - str2name("null.example")), + assert_int_equal(dns_keytable_delete(keytable, str2name("null." + "example")), ISC_R_SUCCESS); /* or a negative trust anchor */ - assert_int_equal(dns_ntatable_delete(ntatable, - str2name("insecure.example")), + assert_int_equal(dns_ntatable_delete(ntatable, str2name("insecure." + "example")), ISC_R_SUCCESS); destroy_tables(); @@ -402,10 +417,11 @@ delete_test(void **state) { /* delete key nodes from the keytable */ static void -deletekey_test(void **state) { +deletekey_test(void **state) +{ dns_rdata_dnskey_t dnskey; - dns_fixedname_t fn; - dns_name_t *keyname = dns_fixedname_name(&fn); + dns_fixedname_t fn; + dns_name_t * keyname = dns_fixedname_name(&fn); UNUSED(state); @@ -447,8 +463,7 @@ deletekey_test(void **state) { * after deleting the node, any deletekey or delete attempt should * result in NOTFOUND. */ - assert_int_equal(dns_keytable_delete(keytable, keyname), - ISC_R_SUCCESS); + assert_int_equal(dns_keytable_delete(keytable, keyname), ISC_R_SUCCESS); assert_int_equal(dns_keytable_deletekey(keytable, keyname, &dnskey), ISC_R_NOTFOUND); dns_rdata_freestruct(&dnskey); @@ -461,8 +476,7 @@ deletekey_test(void **state) { create_keystruct(257, 3, 5, keystr1, &dnskey); assert_int_equal(dns_keytable_deletekey(keytable, keyname, &dnskey), DNS_R_PARTIALMATCH); - assert_int_equal(dns_keytable_delete(keytable, keyname), - ISC_R_SUCCESS); + assert_int_equal(dns_keytable_delete(keytable, keyname), ISC_R_SUCCESS); dns_rdata_freestruct(&dnskey); destroy_tables(); @@ -470,10 +484,11 @@ deletekey_test(void **state) { /* check find-variant operations */ static void -find_test(void **state) { - dns_keynode_t *keynode = NULL; +find_test(void **state) +{ + dns_keynode_t * keynode = NULL; dns_fixedname_t fname; - dns_name_t *name; + dns_name_t * name; UNUSED(state); @@ -483,22 +498,20 @@ find_test(void **state) { * dns_keytable_find() requires exact name match. It matches node * that has a null key, too. */ - assert_int_equal(dns_keytable_find(keytable, str2name("example.org"), - &keynode), - ISC_R_NOTFOUND); + assert_int_equal( + dns_keytable_find(keytable, str2name("example.org"), &keynode), + ISC_R_NOTFOUND); assert_int_equal(dns_keytable_find(keytable, str2name("sub.example.com"), &keynode), ISC_R_NOTFOUND); - assert_int_equal(dns_keytable_find(keytable, - str2name("example.com"), - &keynode), - ISC_R_SUCCESS); + assert_int_equal( + dns_keytable_find(keytable, str2name("example.com"), &keynode), + ISC_R_SUCCESS); dns_keytable_detachkeynode(keytable, &keynode); - assert_int_equal(dns_keytable_find(keytable, - str2name("null.example"), - &keynode), - ISC_R_SUCCESS); + assert_int_equal( + dns_keytable_find(keytable, str2name("null.example"), &keynode), + ISC_R_SUCCESS); dns_keytable_detachkeynode(keytable, &keynode); /* @@ -506,23 +519,19 @@ find_test(void **state) { * nodes with a null key. */ name = dns_fixedname_initname(&fname); - assert_int_equal(dns_keytable_finddeepestmatch(keytable, - str2name("example.com"), - name), + assert_int_equal(dns_keytable_finddeepestmatch( + keytable, str2name("example.com"), name), ISC_R_SUCCESS); assert_true(dns_name_equal(name, str2name("example.com"))); - assert_int_equal(dns_keytable_finddeepestmatch(keytable, - str2name("s.example.com"), - name), + assert_int_equal(dns_keytable_finddeepestmatch( + keytable, str2name("s.example.com"), name), ISC_R_SUCCESS); assert_true(dns_name_equal(name, str2name("example.com"))); - assert_int_equal(dns_keytable_finddeepestmatch(keytable, - str2name("example.org"), - name), + assert_int_equal(dns_keytable_finddeepestmatch( + keytable, str2name("example.org"), name), ISC_R_NOTFOUND); - assert_int_equal(dns_keytable_finddeepestmatch(keytable, - str2name("null.example"), - name), + assert_int_equal(dns_keytable_finddeepestmatch( + keytable, str2name("null.example"), name), ISC_R_SUCCESS); assert_true(dns_name_equal(name, str2name("null.example"))); @@ -531,11 +540,12 @@ find_test(void **state) { /* check issecuredomain() */ static void -issecuredomain_test(void **state) { - bool issecure; +issecuredomain_test(void **state) +{ + bool issecure; const char **n; - const char *names[] = {"example.com", "sub.example.com", - "null.example", "sub.null.example", NULL}; + const char * names[] = { "example.com", "sub.example.com", + "null.example", "sub.null.example", NULL }; UNUSED(state); create_tables(); @@ -548,8 +558,7 @@ issecuredomain_test(void **state) { */ for (n = names; *n != NULL; n++) { assert_int_equal(dns_keytable_issecuredomain(keytable, - str2name(*n), - NULL, + str2name(*n), NULL, &issecure), ISC_R_SUCCESS); assert_true(issecure); @@ -561,8 +570,7 @@ issecuredomain_test(void **state) { */ assert_int_equal(dns_keytable_issecuredomain(keytable, str2name("example.org"), - NULL, - &issecure), + NULL, &issecure), ISC_R_SUCCESS); assert_false(issecure); @@ -571,7 +579,8 @@ issecuredomain_test(void **state) { /* check dns_keytable_dump() */ static void -dump_test(void **state) { +dump_test(void **state) +{ FILE *f = fopen("/dev/null", "w"); UNUSED(state); @@ -590,15 +599,16 @@ dump_test(void **state) { /* check negative trust anchors */ static void -nta_test(void **state) { - isc_result_t result; - bool issecure, covered; +nta_test(void **state) +{ + isc_result_t result; + bool issecure, covered; dns_fixedname_t fn; - dns_name_t *keyname = dns_fixedname_name(&fn); - unsigned char digest[ISC_MAX_MD_SIZE]; - dns_rdata_ds_t ds; - dns_view_t *myview = NULL; - isc_stdtime_t now; + dns_name_t * keyname = dns_fixedname_name(&fn); + unsigned char digest[ISC_MAX_MD_SIZE]; + dns_rdata_ds_t ds; + dns_view_t * myview = NULL; + isc_stdtime_t now; UNUSED(state); @@ -624,22 +634,22 @@ nta_test(void **state) { assert_int_equal(result, ISC_R_SUCCESS); isc_stdtime_get(&now); - result = dns_ntatable_add(ntatable, str2name("insecure.example"), - false, now, 1); + result = dns_ntatable_add(ntatable, str2name("insecure.example"), false, + now, 1); assert_int_equal(result, ISC_R_SUCCESS); /* Should be secure */ result = dns_view_issecuredomain(myview, - str2name("test.secure.example"), - now, true, &covered, &issecure); + str2name("test.secure.example"), now, + true, &covered, &issecure); assert_int_equal(result, ISC_R_SUCCESS); assert_false(covered); assert_true(issecure); /* Should not be secure */ result = dns_view_issecuredomain(myview, - str2name("test.insecure.example"), - now, true, &covered, &issecure); + str2name("test.insecure.example"), now, + true, &covered, &issecure); assert_int_equal(result, ISC_R_SUCCESS); assert_true(covered); assert_false(issecure); @@ -669,8 +679,8 @@ nta_test(void **state) { assert_false(covered); assert_true(issecure); - result = dns_ntatable_add(ntatable, str2name("new.example"), - false, now, 3600); + result = dns_ntatable_add(ntatable, str2name("new.example"), false, now, + 3600); assert_int_equal(result, ISC_R_SUCCESS); result = dns_view_issecuredomain(myview, str2name("test.new.example"), @@ -695,7 +705,8 @@ nta_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(add_test), cmocka_unit_test(delete_test), @@ -714,7 +725,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/master_test.c b/lib/dns/tests/master_test.c index cc93da0a45..22d8ade66c 100644 --- a/lib/dns/tests/master_test.c +++ b/lib/dns/tests/master_test.c @@ -11,12 +11,11 @@ #if HAVE_CMOCKA -#include -#include -#include - #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include #include @@ -41,7 +40,8 @@ #include "dnstest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -53,7 +53,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -62,43 +63,45 @@ _teardown(void **state) { } static void -nullmsg(dns_rdatacallbacks_t *cb, const char *fmt, ...) { +nullmsg(dns_rdatacallbacks_t *cb, const char *fmt, ...) +{ UNUSED(cb); UNUSED(fmt); } -#define BUFLEN 255 -#define BIGBUFLEN (70 * 1024) -#define TEST_ORIGIN "test" +#define BUFLEN 255 +#define BIGBUFLEN (70 * 1024) +#define TEST_ORIGIN "test" static dns_masterrawheader_t header; -static bool headerset; +static bool headerset; -dns_name_t dns_origin; -char origin[sizeof(TEST_ORIGIN)]; -unsigned char name_buf[BUFLEN]; +dns_name_t dns_origin; +char origin[sizeof(TEST_ORIGIN)]; +unsigned char name_buf[BUFLEN]; dns_rdatacallbacks_t callbacks; -char *include_file = NULL; +char * include_file = NULL; static void rawdata_callback(dns_zone_t *zone, dns_masterrawheader_t *header); static isc_result_t -add_callback(void *arg, const dns_name_t *owner, dns_rdataset_t *dataset) { - char buf[BIGBUFLEN]; +add_callback(void *arg, const dns_name_t *owner, dns_rdataset_t *dataset) +{ + char buf[BIGBUFLEN]; isc_buffer_t target; isc_result_t result; UNUSED(arg); isc_buffer_init(&target, buf, BIGBUFLEN); - result = dns_rdataset_totext(dataset, owner, false, false, - &target); - return(result); + result = dns_rdataset_totext(dataset, owner, false, false, &target); + return (result); } static void -rawdata_callback(dns_zone_t *zone, dns_masterrawheader_t *h) { +rawdata_callback(dns_zone_t *zone, dns_masterrawheader_t *h) +{ UNUSED(zone); header = *h; headerset = true; @@ -108,10 +111,10 @@ static isc_result_t setup_master(void (*warn)(struct dns_rdatacallbacks *, const char *, ...), void (*error)(struct dns_rdatacallbacks *, const char *, ...)) { - isc_result_t result; - int len; - isc_buffer_t source; - isc_buffer_t target; + isc_result_t result; + int len; + isc_buffer_t source; + isc_buffer_t target; strlcpy(origin, TEST_ORIGIN, sizeof(origin)); len = strlen(origin); @@ -122,10 +125,10 @@ setup_master(void (*warn)(struct dns_rdatacallbacks *, const char *, ...), dns_name_init(&dns_origin, NULL); dns_master_initrawheader(&header); - result = dns_name_fromtext(&dns_origin, &source, dns_rootname, - 0, &target); + result = dns_name_fromtext(&dns_origin, &source, dns_rootname, 0, + &target); if (result != ISC_R_SUCCESS) { - return(result); + return (result); } dns_rdatacallbacks_init_stdio(&callbacks); @@ -147,11 +150,11 @@ test_master(const char *testfile, dns_masterformat_t format, void (*warn)(struct dns_rdatacallbacks *, const char *, ...), void (*error)(struct dns_rdatacallbacks *, const char *, ...)) { - isc_result_t result; + isc_result_t result; result = setup_master(warn, error); if (result != ISC_R_SUCCESS) { - return(result); + return (result); } dns_rdatacallbacks_init_stdio(&callbacks); @@ -166,14 +169,15 @@ test_master(const char *testfile, dns_masterformat_t format, } result = dns_master_loadfile(testfile, &dns_origin, &dns_origin, - dns_rdataclass_in, true, 0, - &callbacks, NULL, NULL, dt_mctx, format, 0); + dns_rdataclass_in, true, 0, &callbacks, + NULL, NULL, dt_mctx, format, 0); return (result); } static void -include_callback(const char *filename, void *arg) { - char **argp = (char **) arg; +include_callback(const char *filename, void *arg) +{ + char **argp = (char **)arg; *argp = isc_mem_strdup(dt_mctx, filename); } @@ -182,7 +186,8 @@ include_callback(const char *filename, void *arg) { * dns_master_loadfile() loads a valid master file and returns success */ static void -load_test(void **state) { +load_test(void **state) +{ isc_result_t result; UNUSED(state); @@ -192,13 +197,13 @@ load_test(void **state) { assert_int_equal(result, ISC_R_SUCCESS); } - /* * Unexpected end of file test: * dns_master_loadfile() returns DNS_R_UNEXPECTED when file ends too soon */ static void -unexpected_test(void **state) { +unexpected_test(void **state) +{ isc_result_t result; UNUSED(state); @@ -214,7 +219,8 @@ unexpected_test(void **state) { * if it is an SOA */ static void -noowner_test(void **state) { +noowner_test(void **state) +{ isc_result_t result; UNUSED(state); @@ -230,7 +236,8 @@ noowner_test(void **state) { * specified */ static void -nottl_test(void **state) { +nottl_test(void **state) +{ isc_result_t result; UNUSED(state); @@ -246,7 +253,8 @@ nottl_test(void **state) { * match zone class */ static void -badclass_test(void **state) { +badclass_test(void **state) +{ isc_result_t result; UNUSED(state); @@ -261,7 +269,8 @@ badclass_test(void **state) { * dns_master_loadfile() returns ISC_R_NOSPACE when record is too big */ static void -toobig_test(void **state) { +toobig_test(void **state) +{ isc_result_t result; UNUSED(state); @@ -276,7 +285,8 @@ toobig_test(void **state) { * dns_master_loadfile() returns ISC_R_SUCCESS when record is maximum size */ static void -maxrdata_test(void **state) { +maxrdata_test(void **state) +{ isc_result_t result; UNUSED(state); @@ -291,7 +301,8 @@ maxrdata_test(void **state) { * dns_master_loadfile() understands DNSKEY with key material */ static void -dnskey_test(void **state) { +dnskey_test(void **state) +{ isc_result_t result; UNUSED(state); @@ -309,7 +320,8 @@ dnskey_test(void **state) { * be rejected. */ static void -dnsnokey_test(void **state) { +dnsnokey_test(void **state) +{ isc_result_t result; UNUSED(state); @@ -324,7 +336,8 @@ dnsnokey_test(void **state) { * dns_master_loadfile() understands $INCLUDE */ static void -include_test(void **state) { +include_test(void **state) +{ isc_result_t result; UNUSED(state); @@ -339,20 +352,20 @@ include_test(void **state) { * dns_master_loadfile4() returns names of included file */ static void -master_includelist_test(void **state) { +master_includelist_test(void **state) +{ isc_result_t result; - char *filename = NULL; + char * filename = NULL; UNUSED(state); result = setup_master(nullmsg, nullmsg); assert_int_equal(result, ISC_R_SUCCESS); - result = dns_master_loadfile("testdata/master/master8.data", - &dns_origin, &dns_origin, - dns_rdataclass_in, 0, true, - &callbacks, include_callback, - &filename, dt_mctx, dns_masterformat_text, 0); + result = dns_master_loadfile( + "testdata/master/master8.data", &dns_origin, &dns_origin, + dns_rdataclass_in, 0, true, &callbacks, include_callback, + &filename, dt_mctx, dns_masterformat_text, 0); assert_int_equal(result, DNS_R_SEENINCLUDE); assert_non_null(filename); if (filename != NULL) { @@ -366,7 +379,8 @@ master_includelist_test(void **state) { * dns_master_loadfile() understands $INCLUDE failures */ static void -includefail_test(void **state) { +includefail_test(void **state) +{ isc_result_t result; UNUSED(state); @@ -381,7 +395,8 @@ includefail_test(void **state) { * dns_master_loadfile() handles non-empty blank lines */ static void -blanklines_test(void **state) { +blanklines_test(void **state) +{ isc_result_t result; UNUSED(state); @@ -397,7 +412,8 @@ blanklines_test(void **state) { */ static void -leadingzero_test(void **state) { +leadingzero_test(void **state) +{ isc_result_t result; UNUSED(state); @@ -409,12 +425,13 @@ leadingzero_test(void **state) { /* masterfile totext tests */ static void -totext_test(void **state) { - isc_result_t result; - dns_rdataset_t rdataset; +totext_test(void **state) +{ + isc_result_t result; + dns_rdataset_t rdataset; dns_rdatalist_t rdatalist; - isc_buffer_t target; - unsigned char buf[BIGBUFLEN]; + isc_buffer_t target; + unsigned char buf[BIGBUFLEN]; UNUSED(state); @@ -447,7 +464,8 @@ totext_test(void **state) { * dns_master_loadfile() loads a valid raw file and returns success */ static void -loadraw_test(void **state) { +loadraw_test(void **state) +{ isc_result_t result; UNUSED(state); @@ -480,15 +498,16 @@ loadraw_test(void **state) { * dns_master_dump*() functions dump valid raw files */ static void -dumpraw_test(void **state) { - isc_result_t result; - dns_db_t *db = NULL; +dumpraw_test(void **state) +{ + isc_result_t result; + dns_db_t * db = NULL; dns_dbversion_t *version = NULL; - char myorigin[sizeof(TEST_ORIGIN)]; - dns_name_t dnsorigin; - isc_buffer_t source, target; - unsigned char namebuf[BUFLEN]; - int len; + char myorigin[sizeof(TEST_ORIGIN)]; + dns_name_t dnsorigin; + isc_buffer_t source, target; + unsigned char namebuf[BUFLEN]; + int len; UNUSED(state); @@ -499,8 +518,8 @@ dumpraw_test(void **state) { isc_buffer_setactive(&source, len); isc_buffer_init(&target, namebuf, BUFLEN); dns_name_init(&dnsorigin, NULL); - result = dns_name_fromtext(&dnsorigin, &source, dns_rootname, - 0, &target); + result = dns_name_fromtext(&dnsorigin, &source, dns_rootname, 0, + &target); assert_int_equal(result, ISC_R_SUCCESS); result = dns_db_create(dt_mctx, "rbt", &dnsorigin, dns_dbtype_zone, @@ -518,8 +537,8 @@ dumpraw_test(void **state) { dns_masterformat_raw, NULL); assert_int_equal(result, ISC_R_SUCCESS); - result = test_master("test.dump", dns_masterformat_raw, - nullmsg, nullmsg); + result = test_master("test.dump", dns_masterformat_raw, nullmsg, + nullmsg); assert_string_equal(isc_result_totext(result), "success"); assert_true(headerset); assert_int_equal(header.flags, 0); @@ -534,8 +553,8 @@ dumpraw_test(void **state) { dns_masterformat_raw, &header); assert_int_equal(result, ISC_R_SUCCESS); - result = test_master("test.dump", dns_masterformat_raw, - nullmsg, nullmsg); + result = test_master("test.dump", dns_masterformat_raw, nullmsg, + nullmsg); assert_string_equal(isc_result_totext(result), "success"); assert_true(headerset); assert_true((header.flags & DNS_MASTERRAW_SOURCESERIALSET) != 0); @@ -547,11 +566,12 @@ dumpraw_test(void **state) { } static const char *warn_expect_value; -static bool warn_expect_result; +static bool warn_expect_result; static void -warn_expect(struct dns_rdatacallbacks *mycallbacks, const char *fmt, ...) { - char buf[4096]; +warn_expect(struct dns_rdatacallbacks *mycallbacks, const char *fmt, ...) +{ + char buf[4096]; va_list ap; UNUSED(mycallbacks); @@ -563,8 +583,7 @@ warn_expect(struct dns_rdatacallbacks *mycallbacks, const char *fmt, ...) { va_end(ap); if (warn_expect_value != NULL && - strstr(buf, warn_expect_value) != NULL) - { + strstr(buf, warn_expect_value) != NULL) { warn_expect_result = true; } } @@ -574,7 +593,8 @@ warn_expect(struct dns_rdatacallbacks *mycallbacks, const char *fmt, ...) { * dns_master_loadfile() rejects zones with inherited name following $ORIGIN */ static void -neworigin_test(void **state) { +neworigin_test(void **state) +{ isc_result_t result; UNUSED(state); @@ -587,44 +607,40 @@ neworigin_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(load_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(unexpected_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(noowner_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(nottl_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(badclass_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(dnskey_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(dnsnokey_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(include_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(master_includelist_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(includefail_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(blanklines_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(leadingzero_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(totext_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(loadraw_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(dumpraw_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(toobig_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(maxrdata_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(neworigin_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(load_test, _setup, _teardown), + cmocka_unit_test_setup_teardown(unexpected_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(noowner_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(nottl_test, _setup, _teardown), + cmocka_unit_test_setup_teardown(badclass_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(dnskey_test, _setup, _teardown), + cmocka_unit_test_setup_teardown(dnsnokey_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(include_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(master_includelist_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(includefail_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(blanklines_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(leadingzero_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(totext_test, _setup, _teardown), + cmocka_unit_test_setup_teardown(loadraw_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(dumpraw_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(toobig_test, _setup, _teardown), + cmocka_unit_test_setup_teardown(maxrdata_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(neworigin_test, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -635,7 +651,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/name_test.c b/lib/dns/tests/name_test.c index ff72822598..b4f30a770e 100644 --- a/lib/dns/tests/name_test.c +++ b/lib/dns/tests/name_test.c @@ -11,13 +11,12 @@ #if HAVE_CMOCKA -#include -#include -#include - #include #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include #include @@ -34,8 +33,8 @@ #include #include -#include #include +#include #include "dnstest.h" @@ -43,7 +42,8 @@ static bool verbose = false; static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -55,7 +55,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -65,20 +66,21 @@ _teardown(void **state) { /* dns_name_fullcompare test */ static void -fullcompare_test(void **state) { +fullcompare_test(void **state) +{ dns_fixedname_t fixed1; dns_fixedname_t fixed2; - dns_name_t *name1; - dns_name_t *name2; - dns_namereln_t relation; - int i; - isc_result_t result; + dns_name_t * name1; + dns_name_t * name2; + dns_namereln_t relation; + int i; + isc_result_t result; struct { - const char *name1; - const char *name2; + const char * name1; + const char * name2; dns_namereln_t relation; - int order; - unsigned int nlabels; + int order; + unsigned int nlabels; } data[] = { /* relative */ { "", "", dns_namereln_equal, 0, 0 }, @@ -90,8 +92,8 @@ fullcompare_test(void **state) { { "foo", "bar.foo", dns_namereln_contains, -1, 1 }, { "baz.bar.foo", "bar.foo", dns_namereln_subdomain, 1, 2 }, { "bar.foo", "baz.bar.foo", dns_namereln_contains, -1, 2 }, - { "foo.example", "bar.example", dns_namereln_commonancestor, - 4, 1 }, + { "foo.example", "bar.example", dns_namereln_commonancestor, 4, + 1 }, /* absolute */ { ".", ".", dns_namereln_equal, 0, 1 }, @@ -111,7 +113,7 @@ fullcompare_test(void **state) { name1 = dns_fixedname_initname(&fixed1); name2 = dns_fixedname_initname(&fixed2); for (i = 0; data[i].name1 != NULL; i++) { - int order = 3000; + int order = 3000; unsigned int nlabels = 3000; if (data[i].name1[0] == 0) { @@ -149,9 +151,9 @@ compress_test(dns_name_t *name1, dns_name_t *name2, dns_name_t *name3, unsigned char *expected, unsigned int length, dns_compress_t *cctx, dns_decompress_t *dctx) { - isc_buffer_t source; - isc_buffer_t target; - dns_name_t name; + isc_buffer_t source; + isc_buffer_t target; + dns_name_t name; unsigned char buf1[1024]; unsigned char buf2[1024]; @@ -167,14 +169,14 @@ compress_test(dns_name_t *name1, dns_name_t *name2, dns_name_t *name3, isc_buffer_setactive(&source, source.used); dns_name_init(&name, NULL); - RUNTIME_CHECK(dns_name_fromwire(&name, &source, dctx, 0, - &target) == ISC_R_SUCCESS); - RUNTIME_CHECK(dns_name_fromwire(&name, &source, dctx, 0, - &target) == ISC_R_SUCCESS); - RUNTIME_CHECK(dns_name_fromwire(&name, &source, dctx, 0, - &target) == ISC_R_SUCCESS); - RUNTIME_CHECK(dns_name_fromwire(&name, &source, dctx, 0, - &target) == ISC_R_SUCCESS); + RUNTIME_CHECK(dns_name_fromwire(&name, &source, dctx, 0, &target) == + ISC_R_SUCCESS); + RUNTIME_CHECK(dns_name_fromwire(&name, &source, dctx, 0, &target) == + ISC_R_SUCCESS); + RUNTIME_CHECK(dns_name_fromwire(&name, &source, dctx, 0, &target) == + ISC_R_SUCCESS); + RUNTIME_CHECK(dns_name_fromwire(&name, &source, dctx, 0, &target) == + ISC_R_SUCCESS); dns_decompress_invalidate(dctx); assert_int_equal(target.used, length); @@ -183,18 +185,19 @@ compress_test(dns_name_t *name1, dns_name_t *name2, dns_name_t *name3, /* name compression test */ static void -compression_test(void **state) { - unsigned int allowed; - dns_compress_t cctx; +compression_test(void **state) +{ + unsigned int allowed; + dns_compress_t cctx; dns_decompress_t dctx; - dns_name_t name1; - dns_name_t name2; - dns_name_t name3; - isc_region_t r; - unsigned char plain1[] = "\003yyy\003foo"; - unsigned char plain2[] = "\003bar\003yyy\003foo"; - unsigned char plain3[] = "\003xxx\003bar\003foo"; - unsigned char plain[] = "\003yyy\003foo\0\003bar\003yyy\003foo\0\003" + dns_name_t name1; + dns_name_t name2; + dns_name_t name3; + isc_region_t r; + unsigned char plain1[] = "\003yyy\003foo"; + unsigned char plain2[] = "\003bar\003yyy\003foo"; + unsigned char plain3[] = "\003xxx\003bar\003foo"; + unsigned char plain[] = "\003yyy\003foo\0\003bar\003yyy\003foo\0\003" "bar\003yyy\003foo\0\003xxx\003bar\003foo"; UNUSED(state); @@ -221,8 +224,8 @@ compression_test(void **state) { dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_STRICT); dns_decompress_setmethods(&dctx, allowed); - compress_test(&name1, &name2, &name3, plain, sizeof(plain), - &cctx, &dctx); + compress_test(&name1, &name2, &name3, plain, sizeof(plain), &cctx, + &dctx); dns_compress_rollback(&cctx, 0); dns_compress_invalidate(&cctx); @@ -234,8 +237,8 @@ compression_test(void **state) { dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_STRICT); dns_decompress_setmethods(&dctx, allowed); - compress_test(&name1, &name2, &name3, plain, sizeof(plain), - &cctx, &dctx); + compress_test(&name1, &name2, &name3, plain, sizeof(plain), &cctx, + &dctx); dns_compress_rollback(&cctx, 0); dns_compress_invalidate(&cctx); @@ -247,8 +250,8 @@ compression_test(void **state) { dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_STRICT); dns_decompress_setmethods(&dctx, allowed); - compress_test(&name1, &name2, &name3, plain, sizeof(plain), - &cctx, &dctx); + compress_test(&name1, &name2, &name3, plain, sizeof(plain), &cctx, + &dctx); dns_compress_rollback(&cctx, 0); dns_compress_invalidate(&cctx); @@ -261,8 +264,8 @@ compression_test(void **state) { dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_STRICT); dns_decompress_setmethods(&dctx, allowed); - compress_test(&name1, &name2, &name3, plain, sizeof(plain), - &cctx, &dctx); + compress_test(&name1, &name2, &name3, plain, sizeof(plain), &cctx, + &dctx); dns_compress_rollback(&cctx, 0); dns_compress_invalidate(&cctx); @@ -275,8 +278,8 @@ compression_test(void **state) { dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_STRICT); dns_decompress_setmethods(&dctx, allowed); - compress_test(&name1, &name2, &name3, plain, sizeof(plain), - &cctx, &dctx); + compress_test(&name1, &name2, &name3, plain, sizeof(plain), &cctx, + &dctx); dns_compress_rollback(&cctx, 0); dns_compress_invalidate(&cctx); @@ -289,8 +292,8 @@ compression_test(void **state) { dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_STRICT); dns_decompress_setmethods(&dctx, allowed); - compress_test(&name1, &name2, &name3, plain, sizeof(plain), - &cctx, &dctx); + compress_test(&name1, &name2, &name3, plain, sizeof(plain), &cctx, + &dctx); dns_compress_rollback(&cctx, 0); dns_compress_invalidate(&cctx); @@ -298,38 +301,37 @@ compression_test(void **state) { /* is trust-anchor-telemetry test */ static void -istat_test(void **state) { +istat_test(void **state) +{ dns_fixedname_t fixed; - dns_name_t *name; - isc_result_t result; - size_t i; + dns_name_t * name; + isc_result_t result; + size_t i; struct { const char *name; - bool istat; - } data[] = { - { ".", false }, - { "_ta-", false }, - { "_ta-1234", true }, - { "_TA-1234", true }, - { "+TA-1234", false }, - { "_fa-1234", false }, - { "_td-1234", false }, - { "_ta_1234", false }, - { "_ta-g234", false }, - { "_ta-1h34", false }, - { "_ta-12i4", false }, - { "_ta-123j", false }, - { "_ta-1234-abcf", true }, - { "_ta-1234-abcf-ED89", true }, - { "_ta-12345-abcf-ED89", false }, - { "_ta-.example", false }, - { "_ta-1234.example", true }, - { "_ta-1234-abcf.example", true }, - { "_ta-1234-abcf-ED89.example", true }, - { "_ta-12345-abcf-ED89.example", false }, - { "_ta-1234-abcfe-ED89.example", false }, - { "_ta-1234-abcf-EcD89.example", false } - }; + bool istat; + } data[] = { { ".", false }, + { "_ta-", false }, + { "_ta-1234", true }, + { "_TA-1234", true }, + { "+TA-1234", false }, + { "_fa-1234", false }, + { "_td-1234", false }, + { "_ta_1234", false }, + { "_ta-g234", false }, + { "_ta-1h34", false }, + { "_ta-12i4", false }, + { "_ta-123j", false }, + { "_ta-1234-abcf", true }, + { "_ta-1234-abcf-ED89", true }, + { "_ta-12345-abcf-ED89", false }, + { "_ta-.example", false }, + { "_ta-1234.example", true }, + { "_ta-1234-abcf.example", true }, + { "_ta-1234-abcf-ED89.example", true }, + { "_ta-12345-abcf-ED89.example", false }, + { "_ta-1234-abcfe-ED89.example", false }, + { "_ta-1234-abcf-EcD89.example", false } }; UNUSED(state); @@ -344,8 +346,9 @@ istat_test(void **state) { /* dns_nane_init */ static void -init_test(void **state) { - dns_name_t name; +init_test(void **state) +{ + dns_name_t name; unsigned char offsets[1]; UNUSED(state); @@ -362,8 +365,9 @@ init_test(void **state) { /* dns_nane_invalidate */ static void -invalidate_test(void **state) { - dns_name_t name; +invalidate_test(void **state) +{ + dns_name_t name; unsigned char offsets[1]; UNUSED(state); @@ -381,10 +385,11 @@ invalidate_test(void **state) { /* dns_nane_setbuffer/hasbuffer */ static void -buffer_test(void **state) { - dns_name_t name; +buffer_test(void **state) +{ + dns_name_t name; unsigned char buf[BUFSIZ]; - isc_buffer_t b; + isc_buffer_t b; UNUSED(state); @@ -397,25 +402,24 @@ buffer_test(void **state) { /* dns_nane_isabsolute */ static void -isabsolute_test(void **state) { +isabsolute_test(void **state) +{ struct { const char *namestr; - bool expect; - } testcases[] = { - { "x", false }, - { "a.b.c.d.", true }, - { "x.z", false} - }; + bool expect; + } testcases[] = { { "x", false }, + { "a.b.c.d.", true }, + { "x.z", false } }; unsigned int i; UNUSED(state); for (i = 0; i < (sizeof(testcases) / sizeof(testcases[0])); i++) { - isc_result_t result; - dns_name_t name; + isc_result_t result; + dns_name_t name; unsigned char data[BUFSIZ]; - isc_buffer_t b, nb; - size_t len; + isc_buffer_t b, nb; + size_t len; len = strlen(testcases[i].namestr); isc_buffer_constinit(&b, testcases[i].namestr, len); @@ -434,12 +438,13 @@ isabsolute_test(void **state) { /* dns_nane_hash */ static void -hash_test(void **state) { +hash_test(void **state) +{ struct { const char *name1; const char *name2; - bool expect; - bool expecti; + bool expect; + bool expecti; } testcases[] = { { "a.b.c.d", "A.B.C.D", true, false }, { "a.b.c.d.", "A.B.C.D.", true, false }, @@ -453,19 +458,19 @@ hash_test(void **state) { UNUSED(state); for (i = 0; i < (sizeof(testcases) / sizeof(testcases[0])); i++) { - isc_result_t result; + isc_result_t result; dns_fixedname_t f1, f2; - dns_name_t *n1, *n2; - unsigned int h1, h2; + dns_name_t * n1, *n2; + unsigned int h1, h2; n1 = dns_fixedname_initname(&f1); n2 = dns_fixedname_initname(&f2); - result = dns_name_fromstring2(n1, testcases[i].name1, - NULL, 0, NULL); + result = dns_name_fromstring2(n1, testcases[i].name1, NULL, 0, + NULL); assert_int_equal(result, ISC_R_SUCCESS); - result = dns_name_fromstring2(n2, testcases[i].name2, - NULL, 0, NULL); + result = dns_name_fromstring2(n2, testcases[i].name2, NULL, 0, + NULL); assert_int_equal(result, ISC_R_SUCCESS); /* Check case-insensitive hashing first */ @@ -498,37 +503,35 @@ hash_test(void **state) { /* dns_nane_issubdomain */ static void -issubdomain_test(void **state) { +issubdomain_test(void **state) +{ struct { const char *name1; const char *name2; - bool expect; + bool expect; } testcases[] = { - { "c.d", "a.b.c.d", false }, - { "c.d.", "a.b.c.d.", false }, - { "b.c.d", "c.d", true }, - { "a.b.c.d.", "c.d.", true }, - { "a.b.c", "a.b.c", true }, - { "a.b.c.", "a.b.c.", true }, - { "x.y.z", "a.b.c", false} + { "c.d", "a.b.c.d", false }, { "c.d.", "a.b.c.d.", false }, + { "b.c.d", "c.d", true }, { "a.b.c.d.", "c.d.", true }, + { "a.b.c", "a.b.c", true }, { "a.b.c.", "a.b.c.", true }, + { "x.y.z", "a.b.c", false } }; unsigned int i; UNUSED(state); for (i = 0; i < (sizeof(testcases) / sizeof(testcases[0])); i++) { - isc_result_t result; + isc_result_t result; dns_fixedname_t f1, f2; - dns_name_t *n1, *n2; + dns_name_t * n1, *n2; n1 = dns_fixedname_initname(&f1); n2 = dns_fixedname_initname(&f2); - result = dns_name_fromstring2(n1, testcases[i].name1, - NULL, 0, NULL); + result = dns_name_fromstring2(n1, testcases[i].name1, NULL, 0, + NULL); assert_int_equal(result, ISC_R_SUCCESS); - result = dns_name_fromstring2(n2, testcases[i].name2, - NULL, 0, NULL); + result = dns_name_fromstring2(n2, testcases[i].name2, NULL, 0, + NULL); assert_int_equal(result, ISC_R_SUCCESS); if (verbose) { @@ -539,37 +542,34 @@ issubdomain_test(void **state) { } assert_int_equal(dns_name_issubdomain(n1, n2), - testcases[i].expect); + testcases[i].expect); } } /* dns_nane_countlabels */ static void -countlabels_test(void **state) { +countlabels_test(void **state) +{ struct { - const char *namestr; + const char * namestr; unsigned int expect; } testcases[] = { - { "c.d", 2 }, - { "c.d.", 3 }, - { "a.b.c.d.", 5 }, - { "a.b.c.d", 4 }, - { "a.b.c", 3 }, - { ".", 1 }, + { "c.d", 2 }, { "c.d.", 3 }, { "a.b.c.d.", 5 }, + { "a.b.c.d", 4 }, { "a.b.c", 3 }, { ".", 1 }, }; unsigned int i; UNUSED(state); for (i = 0; i < (sizeof(testcases) / sizeof(testcases[0])); i++) { - isc_result_t result; + isc_result_t result; dns_fixedname_t fname; - dns_name_t *name; + dns_name_t * name; name = dns_fixedname_initname(&fname); - result = dns_name_fromstring2(name, testcases[i].namestr, - NULL, 0, NULL); + result = dns_name_fromstring2(name, testcases[i].namestr, NULL, + 0, NULL); assert_int_equal(result, ISC_R_SUCCESS); if (verbose) { @@ -579,42 +579,43 @@ countlabels_test(void **state) { } assert_int_equal(dns_name_countlabels(name), - testcases[i].expect); + testcases[i].expect); } } /* dns_nane_getlabel */ static void -getlabel_test(void **state) { +getlabel_test(void **state) +{ struct { - const char *name1; + const char * name1; unsigned int pos1; - const char *name2; + const char * name2; unsigned int pos2; } testcases[] = { - { "c.d", 1, "a.b.c.d", 3 }, - { "a.b.c.d", 3, "c.d", 1 }, - { "a.b.c.", 3, "A.B.C.", 3 }, + { "c.d", 1, "a.b.c.d", 3 }, + { "a.b.c.d", 3, "c.d", 1 }, + { "a.b.c.", 3, "A.B.C.", 3 }, }; unsigned int i; UNUSED(state); for (i = 0; i < (sizeof(testcases) / sizeof(testcases[0])); i++) { - isc_result_t result; + isc_result_t result; dns_fixedname_t f1, f2; - dns_name_t *n1, *n2; - dns_label_t l1, l2; - unsigned int j; + dns_name_t * n1, *n2; + dns_label_t l1, l2; + unsigned int j; n1 = dns_fixedname_initname(&f1); n2 = dns_fixedname_initname(&f2); - result = dns_name_fromstring2(n1, testcases[i].name1, - NULL, 0, NULL); + result = dns_name_fromstring2(n1, testcases[i].name1, NULL, 0, + NULL); assert_int_equal(result, ISC_R_SUCCESS); - result = dns_name_fromstring2(n2, testcases[i].name2, - NULL, 0, NULL); + result = dns_name_fromstring2(n2, testcases[i].name2, NULL, 0, + NULL); assert_int_equal(result, ISC_R_SUCCESS); dns_name_getlabel(n1, testcases[i].pos1, &l1); @@ -629,17 +630,18 @@ getlabel_test(void **state) { /* dns_nane_getlabelsequence */ static void -getlabelsequence_test(void **state) { +getlabelsequence_test(void **state) +{ struct { - const char *name1; + const char * name1; unsigned int pos1; - const char *name2; + const char * name2; unsigned int pos2; unsigned int range; } testcases[] = { - { "c.d", 1, "a.b.c.d", 3, 1 }, - { "a.b.c.d.e", 2, "c.d", 0, 2 }, - { "a.b.c", 0, "a.b.c", 0, 3 }, + { "c.d", 1, "a.b.c.d", 3, 1 }, + { "a.b.c.d.e", 2, "c.d", 0, 2 }, + { "a.b.c", 0, "a.b.c", 0, 3 }, }; unsigned int i; @@ -647,10 +649,10 @@ getlabelsequence_test(void **state) { UNUSED(state); for (i = 0; i < (sizeof(testcases) / sizeof(testcases[0])); i++) { - isc_result_t result; - dns_name_t t1, t2; + isc_result_t result; + dns_name_t t1, t2; dns_fixedname_t f1, f2; - dns_name_t *n1, *n2; + dns_name_t * n1, *n2; /* target names */ dns_name_init(&t1, NULL); @@ -660,11 +662,11 @@ getlabelsequence_test(void **state) { n1 = dns_fixedname_initname(&f1); n2 = dns_fixedname_initname(&f2); - result = dns_name_fromstring2(n1, testcases[i].name1, - NULL, 0, NULL); + result = dns_name_fromstring2(n1, testcases[i].name1, NULL, 0, + NULL); assert_int_equal(result, ISC_R_SUCCESS); - result = dns_name_fromstring2(n2, testcases[i].name2, - NULL, 0, NULL); + result = dns_name_fromstring2(n2, testcases[i].name2, NULL, 0, + NULL); assert_int_equal(result, ISC_R_SUCCESS); dns_name_getlabelsequence(n1, testcases[i].pos1, @@ -686,17 +688,15 @@ getlabelsequence_test(void **state) { /* Benchmark dns_name_fromwire() implementation */ static void * -fromwire_thread(void *arg) { - unsigned int maxval = 32000000; - uint8_t data[] = { - 3, 'w', 'w', 'w', - 7, 'e', 'x', 'a', 'm', 'p', 'l', 'e', - 7, 'i', 'n', 'v', 'a', 'l', 'i', 'd', - 0 - }; - unsigned char output_data[DNS_NAME_MAXWIRE]; - isc_buffer_t source, target; - unsigned int i; +fromwire_thread(void *arg) +{ + unsigned int maxval = 32000000; + uint8_t data[] = { 3, 'w', 'w', 'w', 7, 'e', 'x', + 'a', 'm', 'p', 'l', 'e', 7, 'i', + 'n', 'v', 'a', 'l', 'i', 'd', 0 }; + unsigned char output_data[DNS_NAME_MAXWIRE]; + isc_buffer_t source, target; + unsigned int i; dns_decompress_t dctx; UNUSED(arg); @@ -718,18 +718,19 @@ fromwire_thread(void *arg) { isc_buffer_setactive(&source, sizeof(data)); dns_name_init(&name, NULL); - (void) dns_name_fromwire(&name, &source, &dctx, 0, &target); + (void)dns_name_fromwire(&name, &source, &dctx, 0, &target); } return (NULL); } static void -benchmark_test(void **state) { +benchmark_test(void **state) +{ isc_result_t result; unsigned int i; - isc_time_t ts1, ts2; - double t; + isc_time_t ts1, ts2; + double t; unsigned int nthreads; isc_thread_t threads[32]; @@ -763,11 +764,12 @@ benchmark_test(void **state) { #endif /* DNS_BENCHMARK_TESTS */ int -main(int argc, char **argv) { +main(int argc, char **argv) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(fullcompare_test), - cmocka_unit_test_setup_teardown(compression_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(compression_test, _setup, + _teardown), cmocka_unit_test(istat_test), cmocka_unit_test(init_test), cmocka_unit_test(invalidate_test), @@ -779,8 +781,8 @@ main(int argc, char **argv) { cmocka_unit_test(getlabel_test), cmocka_unit_test(getlabelsequence_test), #ifdef DNS_BENCHMARK_TESTS - cmocka_unit_test_setup_teardown(benchmark_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(benchmark_test, _setup, + _teardown), #endif /* DNS_BENCHMARK_TESTS */ }; int c; @@ -795,7 +797,6 @@ main(int argc, char **argv) { } } - return (cmocka_run_group_tests(tests, NULL, NULL)); } @@ -804,7 +805,8 @@ main(int argc, char **argv) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/nsec3_test.c b/lib/dns/tests/nsec3_test.c index 8b43aadb0e..09f39df77d 100644 --- a/lib/dns/tests/nsec3_test.c +++ b/lib/dns/tests/nsec3_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -23,8 +22,8 @@ #define UNIT_TESTING #include -#include #include +#include #include #include @@ -32,7 +31,8 @@ #include "dnstest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -44,7 +44,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -53,9 +54,10 @@ _teardown(void **state) { } static void -iteration_test(const char *file, unsigned int expected) { +iteration_test(const char *file, unsigned int expected) +{ isc_result_t result; - dns_db_t *db = NULL; + dns_db_t * db = NULL; unsigned int iterations; result = dns_test_loaddb(&db, dns_dbtype_zone, "test", file); @@ -73,8 +75,8 @@ iteration_test(const char *file, unsigned int expected) { * Structure containing parameters for nsec3param_salttotext_test(). */ typedef struct { - const char *nsec3param_text; /* NSEC3PARAM RDATA in text form */ - const char *expected_salt; /* string expected in target buffer */ + const char *nsec3param_text; /* NSEC3PARAM RDATA in text form */ + const char *expected_salt; /* string expected in target buffer */ } nsec3param_salttotext_test_params_t; /*% @@ -86,21 +88,21 @@ typedef struct { * invalid NSEC3PARAM RDATA is out of scope of this unit test. */ static void -nsec3param_salttotext_test(const nsec3param_salttotext_test_params_t *params) { - dns_rdata_t rdata = DNS_RDATA_INIT; +nsec3param_salttotext_test(const nsec3param_salttotext_test_params_t *params) +{ + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_nsec3param_t nsec3param; - unsigned char buf[1024]; - isc_result_t result; - char salt[64]; - size_t length; + unsigned char buf[1024]; + isc_result_t result; + char salt[64]; + size_t length; /* * Prepare a dns_rdata_nsec3param_t structure for testing. */ - result = dns_test_rdatafromstring(&rdata, dns_rdataclass_in, - dns_rdatatype_nsec3param, buf, - sizeof(buf), - params->nsec3param_text, false); + result = dns_test_rdatafromstring( + &rdata, dns_rdataclass_in, dns_rdatatype_nsec3param, buf, + sizeof(buf), params->nsec3param_text, false); assert_int_equal(result, ISC_R_SUCCESS); result = dns_rdata_tostruct(&rdata, &nsec3param, NULL); assert_int_equal(result, ISC_R_SUCCESS); @@ -118,7 +120,7 @@ nsec3param_salttotext_test(const nsec3param_salttotext_test_params_t *params) { * terminating NULL byte. */ length = strlen(params->expected_salt); - assert_true(length < sizeof(salt) - 1); /* prevent buffer overwrite */ + assert_true(length < sizeof(salt) - 1); /* prevent buffer overwrite */ assert_true(length > 0U); /* prevent length underflow */ result = dns_nsec3param_salttotext(&nsec3param, salt, length - 1); @@ -136,7 +138,8 @@ nsec3param_salttotext_test(const nsec3param_salttotext_test_params_t *params) { * key size mixes */ static void -max_iterations(void **state) { +max_iterations(void **state) +{ UNUSED(state); iteration_test("testdata/nsec3/1024.db", 150); @@ -148,7 +151,8 @@ max_iterations(void **state) { /* check dns_nsec3param_salttotext() */ static void -nsec3param_salttotext(void **state) { +nsec3param_salttotext(void **state) +{ size_t i; const nsec3param_salttotext_test_params_t tests[] = { @@ -173,12 +177,13 @@ nsec3param_salttotext(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(max_iterations, - _setup, _teardown), - cmocka_unit_test_setup_teardown(nsec3param_salttotext, - _setup, _teardown), + cmocka_unit_test_setup_teardown(max_iterations, _setup, + _teardown), + cmocka_unit_test_setup_teardown(nsec3param_salttotext, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -189,7 +194,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/peer_test.c b/lib/dns/tests/peer_test.c index 3ad5bc8274..51f19e40d5 100644 --- a/lib/dns/tests/peer_test.c +++ b/lib/dns/tests/peer_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -30,7 +29,8 @@ #include "dnstest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -42,7 +42,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -52,12 +53,13 @@ _teardown(void **state) { /* Test DSCP set/get functions */ static void -dscp(void **state) { - isc_result_t result; - isc_netaddr_t netaddr; +dscp(void **state) +{ + isc_result_t result; + isc_netaddr_t netaddr; struct in_addr ina; - dns_peer_t *peer = NULL; - isc_dscp_t dscp; + dns_peer_t * peer = NULL; + isc_dscp_t dscp; UNUSED(state); @@ -153,7 +155,8 @@ dscp(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test_setup_teardown(dscp, _setup, _teardown), }; @@ -166,7 +169,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/private_test.c b/lib/dns/tests/private_test.c index 7ea6ba61f7..17db64adb0 100644 --- a/lib/dns/tests/private_test.c +++ b/lib/dns/tests/private_test.c @@ -11,35 +11,35 @@ #if HAVE_CMOCKA -#include -#include -#include - #include #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include #define UNIT_TESTING #include -#include #include +#include #include #include #include #include -#include - #include "dnstest.h" +#include + static dns_rdatatype_t privatetype = 65534; static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -51,7 +51,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -61,19 +62,19 @@ _teardown(void **state) { typedef struct { unsigned char alg; - dns_keytag_t keyid; - bool remove; - bool complete; + dns_keytag_t keyid; + bool remove; + bool complete; } signing_testcase_t; typedef struct { unsigned char hash; unsigned char flags; - unsigned int iterations; + unsigned int iterations; unsigned long salt; - bool remove; - bool pending; - bool nonsec; + bool remove; + bool pending; + bool nonsec; } nsec3_testcase_t; static void @@ -87,27 +88,31 @@ make_signing(signing_testcase_t *testcase, dns_rdata_t *private, buf[2] = (testcase->keyid & 0xff); buf[3] = testcase->remove; buf[4] = testcase->complete; - private->data = buf; - private->length = len; - private->type = privatetype; - private->rdclass = dns_rdataclass_in; + private + ->data = buf; + private + ->length = len; + private + ->type = privatetype; + private + ->rdclass = dns_rdataclass_in; } static void make_nsec3(nsec3_testcase_t *testcase, dns_rdata_t *private, - unsigned char *pbuf) + unsigned char * pbuf) { dns_rdata_nsec3param_t params; - dns_rdata_t nsec3param = DNS_RDATA_INIT; - unsigned char bufdata[BUFSIZ]; - isc_buffer_t buf; - uint32_t salt; - unsigned char *sp; - int slen = 4; + dns_rdata_t nsec3param = DNS_RDATA_INIT; + unsigned char bufdata[BUFSIZ]; + isc_buffer_t buf; + uint32_t salt; + unsigned char * sp; + int slen = 4; /* for simplicity, we're using a maximum salt length of 4 */ salt = htonl(testcase->salt); - sp = (unsigned char *) &salt; + sp = (unsigned char *)&salt; while (slen > 0 && *sp == '\0') { slen--; sp++; @@ -139,36 +144,35 @@ make_nsec3(nsec3_testcase_t *testcase, dns_rdata_t *private, dns_rdata_init(private); - dns_nsec3param_toprivate(&nsec3param, private, privatetype, - pbuf, DNS_NSEC3PARAM_BUFFERSIZE + 1); + dns_nsec3param_toprivate(&nsec3param, private, privatetype, pbuf, + DNS_NSEC3PARAM_BUFFERSIZE + 1); } /* convert private signing records to text */ static void -private_signing_totext_test(void **state) { +private_signing_totext_test(void **state) +{ dns_rdata_t private; int i; - signing_testcase_t testcases[] = { - { DST_ALG_RSASHA512, 12345, 0, 0 }, - { DST_ALG_RSASHA256, 54321, 1, 0 }, - { DST_ALG_NSEC3RSASHA1, 22222, 0, 1 }, - { DST_ALG_RSASHA1, 33333, 1, 1 } - }; - const char *results[] = { - "Signing with key 12345/RSASHA512", - "Removing signatures for key 54321/RSASHA256", - "Done signing with key 22222/NSEC3RSASHA1", - "Done removing signatures for key 33333/RSASHA1" - }; - int ncases = 4; + signing_testcase_t testcases[] = { { DST_ALG_RSASHA512, 12345, 0, 0 }, + { DST_ALG_RSASHA256, 54321, 1, 0 }, + { DST_ALG_NSEC3RSASHA1, 22222, 0, + 1 }, + { DST_ALG_RSASHA1, 33333, 1, 1 } }; + const char * results[] = { "Signing with key 12345/RSASHA512", + "Removing signatures for key 54321/RSASHA256", + "Done signing with key 22222/NSEC3RSASHA1", + "Done removing signatures for key " + "33333/RSASHA1" }; + int ncases = 4; UNUSED(state); for (i = 0; i < ncases; i++) { unsigned char data[5]; - char output[BUFSIZ]; - isc_buffer_t buf; + char output[BUFSIZ]; + isc_buffer_t buf; isc_buffer_init(&buf, output, sizeof(output)); @@ -176,12 +180,12 @@ private_signing_totext_test(void **state) { dns_private_totext(&private, &buf); assert_string_equal(output, results[i]); } - } /* convert private chain records to text */ static void -private_nsec3_totext_test(void **state) { +private_nsec3_totext_test(void **state) +{ dns_rdata_t private; int i; @@ -192,21 +196,20 @@ private_nsec3_totext_test(void **state) { { 1, 0, 30, 0xdeaf, 1, 0, 0 }, { 1, 0, 100, 0xfeedabee, 1, 0, 1 }, }; - const char *results[] = { - "Creating NSEC3 chain 1 0 1 BEEF", - "Creating NSEC3 chain 1 1 10 DADD", - "Pending NSEC3 chain 1 0 20 BEAD", - "Removing NSEC3 chain 1 0 30 DEAF / creating NSEC chain", - "Removing NSEC3 chain 1 0 100 FEEDABEE" - }; - int ncases = 5; + const char *results[] = { "Creating NSEC3 chain 1 0 1 BEEF", + "Creating NSEC3 chain 1 1 10 DADD", + "Pending NSEC3 chain 1 0 20 BEAD", + "Removing NSEC3 chain 1 0 30 DEAF / creating " + "NSEC chain", + "Removing NSEC3 chain 1 0 100 FEEDABEE" }; + int ncases = 5; UNUSED(state); for (i = 0; i < ncases; i++) { unsigned char data[DNS_NSEC3PARAM_BUFFERSIZE + 1]; - char output[BUFSIZ]; - isc_buffer_t buf; + char output[BUFSIZ]; + isc_buffer_t buf; isc_buffer_init(&buf, output, sizeof(output)); @@ -217,7 +220,8 @@ private_nsec3_totext_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test_setup_teardown(private_signing_totext_test, _setup, _teardown), @@ -233,7 +237,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/rbt_serialize_test.c b/lib/dns/tests/rbt_serialize_test.c index 188cb31d05..bd3ce6c0d4 100644 --- a/lib/dns/tests/rbt_serialize_test.c +++ b/lib/dns/tests/rbt_serialize_test.c @@ -11,17 +11,17 @@ #if HAVE_CMOCKA -#include -#include -#include - #include #include #include /* IWYU pragma: keep */ +#include +#include +#include #include -#include #include +#include + #define UNIT_TESTING #include @@ -47,12 +47,11 @@ #include #include #include -#include - -#include #include "dnstest.h" +#include + #ifndef MAP_FILE #define MAP_FILE 0 #endif @@ -61,7 +60,8 @@ static bool verbose = false; static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -73,7 +73,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -82,57 +83,60 @@ _teardown(void **state) { } typedef struct data_holder { - int len; + int len; const char *data; } data_holder_t; typedef struct rbt_testdata { - const char *name; - size_t name_len; + const char * name; + size_t name_len; data_holder_t data; } rbt_testdata_t; -#define DATA_ITEM(name) { (name), sizeof(name) - 1, { sizeof(name), (name) } } +#define DATA_ITEM(name) \ + { \ + (name), sizeof(name) - 1, { sizeof(name), (name) } \ + } -rbt_testdata_t testdata[] = { - DATA_ITEM("first.com."), - DATA_ITEM("one.net."), - DATA_ITEM("two.com."), - DATA_ITEM("three.org."), - DATA_ITEM("asdf.com."), - DATA_ITEM("ghjkl.com."), - DATA_ITEM("1.edu."), - DATA_ITEM("2.edu."), - DATA_ITEM("3.edu."), - DATA_ITEM("123.edu."), - DATA_ITEM("1236.com."), - DATA_ITEM("and_so_forth.com."), - DATA_ITEM("thisisalongname.com."), - DATA_ITEM("a.b."), - DATA_ITEM("test.net."), - DATA_ITEM("whoknows.org."), - DATA_ITEM("blargh.com."), - DATA_ITEM("www.joe.com."), - DATA_ITEM("test.com."), - DATA_ITEM("isc.org."), - DATA_ITEM("uiop.mil."), - DATA_ITEM("last.fm."), - { NULL, 0, { 0, NULL } } -}; +rbt_testdata_t testdata[] = { DATA_ITEM("first.com."), + DATA_ITEM("one.net."), + DATA_ITEM("two.com."), + DATA_ITEM("three.org."), + DATA_ITEM("asdf.com."), + DATA_ITEM("ghjkl.com."), + DATA_ITEM("1.edu."), + DATA_ITEM("2.edu."), + DATA_ITEM("3.edu."), + DATA_ITEM("123.edu."), + DATA_ITEM("1236.com."), + DATA_ITEM("and_so_forth.com."), + DATA_ITEM("thisisalongname.com."), + DATA_ITEM("a.b."), + DATA_ITEM("test.net."), + DATA_ITEM("whoknows.org."), + DATA_ITEM("blargh.com."), + DATA_ITEM("www.joe.com."), + DATA_ITEM("test.com."), + DATA_ITEM("isc.org."), + DATA_ITEM("uiop.mil."), + DATA_ITEM("last.fm."), + { NULL, 0, { 0, NULL } } }; static void -delete_data(void *data, void *arg) { +delete_data(void *data, void *arg) +{ UNUSED(arg); UNUSED(data); } static isc_result_t -write_data(FILE *file, unsigned char *datap, void *arg, uint64_t *crc) { - isc_result_t result; - size_t ret = 0; +write_data(FILE *file, unsigned char *datap, void *arg, uint64_t *crc) +{ + isc_result_t result; + size_t ret = 0; data_holder_t *data; - data_holder_t temp; - off_t where; + data_holder_t temp; + off_t where; UNUSED(arg); @@ -149,9 +153,9 @@ write_data(FILE *file, unsigned char *datap, void *arg, uint64_t *crc) { } temp = *data; - temp.data = (data->len == 0 - ? NULL - : (char *)((uintptr_t)where + sizeof(data_holder_t))); + temp.data = (data->len == 0 ? NULL + : (char *)((uintptr_t)where + + sizeof(data_holder_t))); isc_crc64_update(crc, (void *)&temp, sizeof(temp)); ret = fwrite(&temp, sizeof(data_holder_t), 1, file); @@ -170,9 +174,10 @@ write_data(FILE *file, unsigned char *datap, void *arg, uint64_t *crc) { } static isc_result_t -fix_data(dns_rbtnode_t *p, void *base, size_t max, void *arg, uint64_t *crc) { +fix_data(dns_rbtnode_t *p, void *base, size_t max, void *arg, uint64_t *crc) +{ data_holder_t *data; - size_t size; + size_t size; UNUSED(base); UNUSED(max); @@ -183,16 +188,14 @@ fix_data(dns_rbtnode_t *p, void *base, size_t max, void *arg, uint64_t *crc) { data = p->data; - if (data == NULL || - (data->len == 0 && data->data != NULL) || - (data->len != 0 && data->data == NULL)) - { + if (data == NULL || (data->len == 0 && data->data != NULL) || + (data->len != 0 && data->data == NULL)) { return (ISC_R_INVALIDFILE); } size = max - ((char *)p - (char *)base); - if (data->len > (int) size || data->data > (const char *) max) { + if (data->len > (int)size || data->data > (const char *)max) { return (ISC_R_INVALIDFILE); } @@ -214,13 +217,14 @@ fix_data(dns_rbtnode_t *p, void *base, size_t max, void *arg, uint64_t *crc) { * Load test data into the RBT. */ static void -add_test_data(isc_mem_t *mctx, dns_rbt_t *rbt) { - char buffer[1024]; - isc_buffer_t b; - isc_result_t result; +add_test_data(isc_mem_t *mctx, dns_rbt_t *rbt) +{ + char buffer[1024]; + isc_buffer_t b; + isc_result_t result; dns_fixedname_t fname; - dns_name_t *name; - dns_compress_t cctx; + dns_name_t * name; + dns_compress_t cctx; rbt_testdata_t *testdatap = testdata; dns_compress_init(&cctx, -1, mctx); @@ -251,16 +255,17 @@ add_test_data(isc_mem_t *mctx, dns_rbt_t *rbt) { * Walk the tree and ensure that all the test nodes are present. */ static void -check_test_data(dns_rbt_t *rbt) { - char buffer[1024]; - char *arg; +check_test_data(dns_rbt_t *rbt) +{ + char buffer[1024]; + char * arg; dns_fixedname_t fname; dns_fixedname_t fixed; - dns_name_t *name; - isc_buffer_t b; - data_holder_t *data; - isc_result_t result; - dns_name_t *foundname; + dns_name_t * name; + isc_buffer_t b; + data_holder_t * data; + isc_result_t result; + dns_name_t * foundname; rbt_testdata_t *testdatap = testdata; foundname = dns_fixedname_initname(&fixed); @@ -280,7 +285,7 @@ check_test_data(dns_rbt_t *rbt) { data = NULL; result = dns_rbt_findname(rbt, name, 0, foundname, - (void *) &data); + (void *)&data); assert_int_equal(result, ISC_R_SUCCESS); testdatap++; @@ -288,7 +293,8 @@ check_test_data(dns_rbt_t *rbt) { } static void -data_printer(FILE *out, void *datap) { +data_printer(FILE *out, void *datap) +{ data_holder_t *data = (data_holder_t *)datap; fprintf(out, "%d bytes, %s", data->len, data->data); @@ -296,15 +302,16 @@ data_printer(FILE *out, void *datap) { /* Test writing an rbt to file */ static void -serialize_test(void **state) { - dns_rbt_t *rbt = NULL; +serialize_test(void **state) +{ + dns_rbt_t * rbt = NULL; isc_result_t result; - FILE *rbtfile = NULL; - dns_rbt_t *rbt_deserialized = NULL; - off_t offset; - int fd; - off_t filesize = 0; - char *base; + FILE * rbtfile = NULL; + dns_rbt_t * rbt_deserialized = NULL; + off_t offset; + int fd; + off_t filesize = 0; + char * base; UNUSED(state); @@ -324,8 +331,8 @@ serialize_test(void **state) { */ rbtfile = fopen("./zone.bin", "w+b"); assert_non_null(rbtfile); - result = dns_rbt_serialize_tree(rbtfile, rbt, write_data, NULL, - &offset); + result = + dns_rbt_serialize_tree(rbtfile, rbt, write_data, NULL, &offset); assert_true(result == ISC_R_SUCCESS); dns_rbt_destroy(&rbt); @@ -336,8 +343,8 @@ serialize_test(void **state) { fd = open("zone.bin", O_RDWR); assert_int_not_equal(fd, -1); isc_file_getsizefd(fd, &filesize); - base = mmap(NULL, filesize, PROT_READ|PROT_WRITE, - MAP_FILE|MAP_PRIVATE, fd, 0); + base = mmap(NULL, filesize, PROT_READ | PROT_WRITE, + MAP_FILE | MAP_PRIVATE, fd, 0); assert_true(base != NULL && base != MAP_FAILED); close(fd); @@ -364,15 +371,16 @@ serialize_test(void **state) { /* Test reading a corrupt map file */ static void -deserialize_corrupt_test(void **state) { - dns_rbt_t *rbt = NULL; +deserialize_corrupt_test(void **state) +{ + dns_rbt_t * rbt = NULL; isc_result_t result; - FILE *rbtfile = NULL; - off_t offset; - int fd; - off_t filesize = 0; - char *base, *p, *q; - int i; + FILE * rbtfile = NULL; + off_t offset; + int fd; + off_t filesize = 0; + char * base, *p, *q; + int i; UNUSED(state); @@ -385,8 +393,8 @@ deserialize_corrupt_test(void **state) { add_test_data(dt_mctx, rbt); rbtfile = fopen("./zone.bin", "w+b"); assert_non_null(rbtfile); - result = dns_rbt_serialize_tree(rbtfile, rbt, write_data, NULL, - &offset); + result = + dns_rbt_serialize_tree(rbtfile, rbt, write_data, NULL, &offset); assert_true(result == ISC_R_SUCCESS); dns_rbt_destroy(&rbt); @@ -397,8 +405,8 @@ deserialize_corrupt_test(void **state) { fd = open("zone.bin", O_RDWR); assert_int_not_equal(fd, -1); isc_file_getsizefd(fd, &filesize); - base = mmap(NULL, filesize, PROT_READ|PROT_WRITE, - MAP_FILE|MAP_PRIVATE, fd, 0); + base = mmap(NULL, filesize, PROT_READ | PROT_WRITE, + MAP_FILE | MAP_PRIVATE, fd, 0); assert_true(base != NULL && base != MAP_FAILED); close(fd); @@ -412,10 +420,9 @@ deserialize_corrupt_test(void **state) { *p = isc_random8(); } - result = dns_rbt_deserialize_tree(base, filesize, 0, dt_mctx, - delete_data, NULL, - fix_data, NULL, - NULL, &rbt_deserialized); + result = dns_rbt_deserialize_tree( + base, filesize, 0, dt_mctx, delete_data, NULL, fix_data, + NULL, NULL, &rbt_deserialized); /* Test to make sure we have a valid tree */ assert_true(result == ISC_R_SUCCESS || @@ -436,7 +443,8 @@ deserialize_corrupt_test(void **state) { /* Test the dns_rbt_serialize_align() function */ static void -serialize_align_test(void **state) { +serialize_align_test(void **state) +{ UNUSED(state); assert_true(dns_rbt_serialize_align(0) == 0); @@ -454,10 +462,11 @@ serialize_align_test(void **state) { } int -main(int argc, char **argv) { +main(int argc, char **argv) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(serialize_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(serialize_test, _setup, + _teardown), cmocka_unit_test_setup_teardown(deserialize_corrupt_test, _setup, _teardown), cmocka_unit_test(serialize_align_test), @@ -482,7 +491,8 @@ main(int argc, char **argv) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/rbt_test.c b/lib/dns/tests/rbt_test.c index 9e1ffd7f3a..13ddaa7faa 100644 --- a/lib/dns/tests/rbt_test.c +++ b/lib/dns/tests/rbt_test.c @@ -11,15 +11,14 @@ #if HAVE_CMOCKA -#include -#include -#include - #include #include #include #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include #include @@ -33,33 +32,29 @@ #include #include #include -#include #include #include #include #include #include #include -#include #include #include #include #include #include -#include #include #include #include #include -#include #include #include -#include - #include "dnstest.h" +#include + typedef struct { dns_rbt_t *rbt; dns_rbt_t *rbt_distances; @@ -87,20 +82,19 @@ typedef struct { /* The full absolute names of the nodes in the tree (the tree also * contains "." which is not included in this list). */ -static const char * const domain_names[] = { - "c", "b", "a", "x.d.e.f", "z.d.e.f", "g.h", "i.g.h", "o.w.y.d.e.f", - "j.z.d.e.f", "p.w.y.d.e.f", "q.w.y.d.e.f", "k.g.h" +static const char *const domain_names[] = { + "c", "b", "a", "x.d.e.f", + "z.d.e.f", "g.h", "i.g.h", "o.w.y.d.e.f", + "j.z.d.e.f", "p.w.y.d.e.f", "q.w.y.d.e.f", "k.g.h" }; -static const size_t domain_names_count = (sizeof(domain_names) / - sizeof(domain_names[0])); +static const size_t domain_names_count = + (sizeof(domain_names) / sizeof(domain_names[0])); /* These are set as the node data for the tree used in distances check * (for the names in domain_names[] above). */ -static const int node_distances[] = { - 3, 1, 2, 2, 2, 3, 1, 2, 1, 1, 2, 2 -}; +static const int node_distances[] = { 3, 1, 2, 2, 2, 3, 1, 2, 1, 1, 2, 2 }; /* * The domain order should be: @@ -123,16 +117,18 @@ static const int node_distances[] = { * o q */ -static const char * const ordered_names[] = { - "a", "b", "c", "d.e.f", "x.d.e.f", "w.y.d.e.f", "o.w.y.d.e.f", - "p.w.y.d.e.f", "q.w.y.d.e.f", "z.d.e.f", "j.z.d.e.f", - "g.h", "i.g.h", "k.g.h"}; +static const char *const ordered_names[] = { + "a", "b", "c", "d.e.f", "x.d.e.f", + "w.y.d.e.f", "o.w.y.d.e.f", "p.w.y.d.e.f", "q.w.y.d.e.f", "z.d.e.f", + "j.z.d.e.f", "g.h", "i.g.h", "k.g.h" +}; -static const size_t ordered_names_count = (sizeof(ordered_names) / - sizeof(*ordered_names)); +static const size_t ordered_names_count = + (sizeof(ordered_names) / sizeof(*ordered_names)); static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -144,7 +140,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -152,17 +149,19 @@ _teardown(void **state) { return (0); } static void -delete_data(void *data, void *arg) { +delete_data(void *data, void *arg) +{ UNUSED(arg); isc_mem_put(dt_mctx, data, sizeof(size_t)); } static test_context_t * -test_context_setup(void) { +test_context_setup(void) +{ test_context_t *ctx; - isc_result_t result; - size_t i; + isc_result_t result; + size_t i; ctx = isc_mem_get(dt_mctx, sizeof(*ctx)); assert_non_null(ctx); @@ -172,13 +171,14 @@ test_context_setup(void) { assert_int_equal(result, ISC_R_SUCCESS); ctx->rbt_distances = NULL; - result = dns_rbt_create(dt_mctx, delete_data, NULL, &ctx->rbt_distances); + result = + dns_rbt_create(dt_mctx, delete_data, NULL, &ctx->rbt_distances); assert_int_equal(result, ISC_R_SUCCESS); for (i = 0; i < domain_names_count; i++) { - size_t *n; + size_t * n; dns_fixedname_t fname; - dns_name_t *name; + dns_name_t * name; dns_test_namefromstring(domain_names[i], &fname); @@ -201,7 +201,8 @@ test_context_setup(void) { } static void -test_context_teardown(test_context_t *ctx) { +test_context_teardown(test_context_t *ctx) +{ dns_rbt_destroy(&ctx->rbt); dns_rbt_destroy(&ctx->rbt_distances); @@ -212,25 +213,25 @@ test_context_teardown(test_context_t *ctx) { * Walk the tree and ensure that all the test nodes are present. */ static void -check_test_data(dns_rbt_t *rbt) { +check_test_data(dns_rbt_t *rbt) +{ dns_fixedname_t fixed; - isc_result_t result; - dns_name_t *foundname; - size_t i; + isc_result_t result; + dns_name_t * foundname; + size_t i; foundname = dns_fixedname_initname(&fixed); for (i = 0; i < domain_names_count; i++) { dns_fixedname_t fname; - dns_name_t *name; - size_t *n; + dns_name_t * name; + size_t * n; dns_test_namefromstring(domain_names[i], &fname); name = dns_fixedname_name(&fname); n = NULL; - result = dns_rbt_findname(rbt, name, 0, foundname, - (void *) &n); + result = dns_rbt_findname(rbt, name, 0, foundname, (void *)&n); assert_int_equal(result, ISC_R_SUCCESS); assert_int_equal(*n, i + 1); } @@ -238,9 +239,10 @@ check_test_data(dns_rbt_t *rbt) { /* Test the creation of an rbt */ static void -rbt_create(void **state) { +rbt_create(void **state) +{ test_context_t *ctx; - bool tree_ok; + bool tree_ok; UNUSED(state); @@ -258,7 +260,8 @@ rbt_create(void **state) { /* Test dns_rbt_nodecount() on a tree */ static void -rbt_nodecount(void **state) { +rbt_nodecount(void **state) +{ test_context_t *ctx; UNUSED(state); @@ -274,13 +277,14 @@ rbt_nodecount(void **state) { /* Test dns_rbtnode_get_distance() on a tree */ static void -rbtnode_get_distance(void **state) { - isc_result_t result; - test_context_t *ctx; - const char *name_str = "a"; - dns_fixedname_t fname; - dns_name_t *name; - dns_rbtnode_t *node = NULL; +rbtnode_get_distance(void **state) +{ + isc_result_t result; + test_context_t * ctx; + const char * name_str = "a"; + dns_fixedname_t fname; + dns_name_t * name; + dns_rbtnode_t * node = NULL; dns_rbtnodechain_t chain; UNUSED(state); @@ -294,18 +298,18 @@ rbtnode_get_distance(void **state) { dns_rbtnodechain_init(&chain); - result = dns_rbt_findnode(ctx->rbt_distances, name, NULL, - &node, &chain, 0, NULL, NULL); + result = dns_rbt_findnode(ctx->rbt_distances, name, NULL, &node, &chain, + 0, NULL, NULL); assert_int_equal(result, ISC_R_SUCCESS); while (node != NULL) { - const size_t *distance = (const size_t *) node->data; + const size_t *distance = (const size_t *)node->data; if (distance != NULL) assert_int_equal(*distance, dns__rbtnode_getdistance(node)); result = dns_rbtnodechain_next(&chain, NULL, NULL); if (result == ISC_R_NOMORE) - break; + break; dns_rbtnodechain_current(&chain, NULL, NULL, &node); } @@ -325,12 +329,13 @@ rbtnode_get_distance(void **state) { * 2log(n). This check verifies that the tree is balanced. */ static void -rbt_check_distance_random(void **state) { - dns_rbt_t *mytree = NULL; +rbt_check_distance_random(void **state) +{ + dns_rbt_t * mytree = NULL; const unsigned int log_num_nodes = 16; - isc_result_t result; - bool tree_ok; - int i; + isc_result_t result; + bool tree_ok; + int i; UNUSED(state); @@ -351,16 +356,16 @@ rbt_check_distance_random(void **state) { */ for (i = 0; i < (1 << log_num_nodes); i++) { size_t *n; - char namebuf[34]; + char namebuf[34]; n = isc_mem_get(dt_mctx, sizeof(size_t)); assert_non_null(n); *n = i + 1; while (1) { - int j; + int j; dns_fixedname_t fname; - dns_name_t *name; + dns_name_t * name; for (j = 0; j < 32; j++) { uint32_t v = isc_random_uniform(26); @@ -379,8 +384,7 @@ rbt_check_distance_random(void **state) { } /* 1 (root . node) + (1 << log_num_nodes) */ - assert_int_equal(1U + (1U << log_num_nodes), - dns_rbt_nodecount(mytree)); + assert_int_equal(1U + (1U << log_num_nodes), dns_rbt_nodecount(mytree)); /* The distance from each node to its sub-tree root must be less * than 2 * log(n). @@ -403,12 +407,13 @@ rbt_check_distance_random(void **state) { * 2log(n). This check verifies that the tree is balanced. */ static void -rbt_check_distance_ordered(void **state) { - dns_rbt_t *mytree = NULL; +rbt_check_distance_ordered(void **state) +{ + dns_rbt_t * mytree = NULL; const unsigned int log_num_nodes = 16; - isc_result_t result; - bool tree_ok; - int i; + isc_result_t result; + bool tree_ok; + int i; UNUSED(state); @@ -428,10 +433,10 @@ rbt_check_distance_ordered(void **state) { * name00000003. */ for (i = 0; i < (1 << log_num_nodes); i++) { - size_t *n; - char namebuf[14]; + size_t * n; + char namebuf[14]; dns_fixedname_t fname; - dns_name_t *name; + dns_name_t * name; n = isc_mem_get(dt_mctx, sizeof(size_t)); assert_non_null(n); @@ -446,8 +451,7 @@ rbt_check_distance_ordered(void **state) { } /* 1 (root . node) + (1 << log_num_nodes) */ - assert_int_equal(1U + (1U << log_num_nodes), - dns_rbt_nodecount(mytree)); + assert_int_equal(1U + (1U << log_num_nodes), dns_rbt_nodecount(mytree)); /* The distance from each node to its sub-tree root must be less * than 2 * log(n). @@ -462,9 +466,10 @@ rbt_check_distance_ordered(void **state) { } static isc_result_t -insert_helper(dns_rbt_t *rbt, const char *namestr, dns_rbtnode_t **node) { +insert_helper(dns_rbt_t *rbt, const char *namestr, dns_rbtnode_t **node) +{ dns_fixedname_t fname; - dns_name_t *name; + dns_name_t * name; dns_test_namefromstring(namestr, &fname); name = dns_fixedname_name(&fname); @@ -473,11 +478,12 @@ insert_helper(dns_rbt_t *rbt, const char *namestr, dns_rbtnode_t **node) { } static bool -compare_labelsequences(dns_rbtnode_t *node, const char *labelstr) { - dns_name_t name; +compare_labelsequences(dns_rbtnode_t *node, const char *labelstr) +{ + dns_name_t name; isc_result_t result; - char *nodestr = NULL; - bool is_equal; + char * nodestr = NULL; + bool is_equal; dns_name_init(&name, NULL); dns_rbt_namefromnode(node, &name); @@ -494,10 +500,11 @@ compare_labelsequences(dns_rbtnode_t *node, const char *labelstr) { /* Test insertion into a tree */ static void -rbt_insert(void **state) { - isc_result_t result; +rbt_insert(void **state) +{ + isc_result_t result; test_context_t *ctx; - dns_rbtnode_t *node; + dns_rbtnode_t * node; UNUSED(state); @@ -657,8 +664,10 @@ rbt_insert(void **state) { * have data. */ static void -rbt_remove(void **state) { - isc_result_t result; size_t j; +rbt_remove(void **state) +{ + isc_result_t result; + size_t j; UNUSED(state); @@ -668,13 +677,13 @@ rbt_remove(void **state) { * Delete single nodes and check if the rest of the nodes exist. */ for (j = 0; j < ordered_names_count; j++) { - dns_rbt_t *mytree = NULL; - dns_rbtnode_t *node; - size_t i; - size_t *n; - bool tree_ok; + dns_rbt_t * mytree = NULL; + dns_rbtnode_t * node; + size_t i; + size_t * n; + bool tree_ok; dns_rbtnodechain_t chain; - size_t start_node; + size_t start_node; /* Create a tree. */ result = dns_rbt_create(dt_mctx, delete_data, NULL, &mytree); @@ -690,15 +699,14 @@ rbt_remove(void **state) { /* Check that all names exist in order. */ for (i = 0; i < ordered_names_count; i++) { dns_fixedname_t fname; - dns_name_t *name; + dns_name_t * name; dns_test_namefromstring(ordered_names[i], &fname); name = dns_fixedname_name(&fname); node = NULL; - result = dns_rbt_findnode(mytree, name, NULL, - &node, NULL, - DNS_RBTFIND_EMPTYDATA, + result = dns_rbt_findnode(mytree, name, NULL, &node, + NULL, DNS_RBTFIND_EMPTYDATA, NULL, NULL); assert_int_equal(result, ISC_R_SUCCESS); @@ -716,7 +724,7 @@ rbt_remove(void **state) { /* Now, delete the j'th node from the tree. */ { dns_fixedname_t fname; - dns_name_t *name; + dns_name_t * name; dns_test_namefromstring(ordered_names[j], &fname); @@ -739,38 +747,32 @@ rbt_remove(void **state) { * above. We start from node 1. */ dns_fixedname_t fname; - dns_name_t *name; + dns_name_t * name; dns_test_namefromstring(ordered_names[0], &fname); name = dns_fixedname_name(&fname); node = NULL; - result = dns_rbt_findnode(mytree, name, NULL, - &node, NULL, - 0, - NULL, NULL); + result = dns_rbt_findnode(mytree, name, NULL, &node, + NULL, 0, NULL, NULL); assert_int_equal(result, ISC_R_NOTFOUND); dns_test_namefromstring(ordered_names[1], &fname); name = dns_fixedname_name(&fname); node = NULL; - result = dns_rbt_findnode(mytree, name, NULL, - &node, &chain, - 0, - NULL, NULL); + result = dns_rbt_findnode(mytree, name, NULL, &node, + &chain, 0, NULL, NULL); assert_int_equal(result, ISC_R_SUCCESS); start_node = 1; } else { /* Start from node 0. */ dns_fixedname_t fname; - dns_name_t *name; + dns_name_t * name; dns_test_namefromstring(ordered_names[0], &fname); name = dns_fixedname_name(&fname); node = NULL; - result = dns_rbt_findnode(mytree, name, NULL, - &node, &chain, - 0, - NULL, NULL); + result = dns_rbt_findnode(mytree, name, NULL, &node, + &chain, 0, NULL, NULL); assert_int_equal(result, ISC_R_SUCCESS); start_node = 0; } @@ -781,7 +783,7 @@ rbt_remove(void **state) { */ for (i = start_node; i < ordered_names_count; i++) { dns_fixedname_t fname_j, fname_i; - dns_name_t *name_j, *name_i; + dns_name_t * name_j, *name_i; dns_test_namefromstring(ordered_names[j], &fname_j); name_j = dns_fixedname_name(&fname_j); @@ -805,16 +807,14 @@ rbt_remove(void **state) { * super-domain. Just skip it. */ if (node->data == NULL) { - result = dns_rbtnodechain_next(&chain, - NULL, - NULL); + result = dns_rbtnodechain_next( + &chain, NULL, NULL); if (result == ISC_R_NOMORE) { node = NULL; } else { - dns_rbtnodechain_current(&chain, - NULL, - NULL, - &node); + dns_rbtnodechain_current( + &chain, NULL, NULL, + &node); } } continue; @@ -822,7 +822,7 @@ rbt_remove(void **state) { assert_non_null(node); - n = (size_t *) node->data; + n = (size_t *)node->data; if (n != NULL) { /* printf("n=%zu, i=%zu\n", *n, i); */ assert_int_equal(*n, i); @@ -845,15 +845,15 @@ rbt_remove(void **state) { } static void -insert_nodes(dns_rbt_t *mytree, char **names, - size_t *names_count, uint32_t num_names) +insert_nodes(dns_rbt_t *mytree, char **names, size_t *names_count, + uint32_t num_names) { - uint32_t i; + uint32_t i; dns_rbtnode_t *node; for (i = 0; i < num_names; i++) { size_t *n; - char namebuf[34]; + char namebuf[34]; n = isc_mem_get(dt_mctx, sizeof(size_t)); assert_non_null(n); @@ -861,10 +861,10 @@ insert_nodes(dns_rbt_t *mytree, char **names, *n = i; /* Unused value */ while (1) { - int j; + int j; dns_fixedname_t fname; - dns_name_t *name; - isc_result_t result; + dns_name_t * name; + isc_result_t result; for (j = 0; j < 32; j++) { uint32_t v = isc_random_uniform(26); @@ -880,8 +880,8 @@ insert_nodes(dns_rbt_t *mytree, char **names, result = dns_rbt_addnode(mytree, name, &node); if (result == ISC_R_SUCCESS) { node->data = n; - names[*names_count] = isc_mem_strdup(dt_mctx, - namebuf); + names[*names_count] = + isc_mem_strdup(dt_mctx, namebuf); assert_non_null(names[*names_count]); *names_count += 1; break; @@ -891,18 +891,18 @@ insert_nodes(dns_rbt_t *mytree, char **names, } static void -remove_nodes(dns_rbt_t *mytree, char **names, - size_t *names_count, uint32_t num_names) +remove_nodes(dns_rbt_t *mytree, char **names, size_t *names_count, + uint32_t num_names) { uint32_t i; UNUSED(mytree); for (i = 0; i < num_names; i++) { - uint32_t node; + uint32_t node; dns_fixedname_t fname; - dns_name_t *name; - isc_result_t result; + dns_name_t * name; + isc_result_t result; node = isc_random_uniform(*names_count); @@ -922,7 +922,8 @@ remove_nodes(dns_rbt_t *mytree, char **names, } static void -check_tree(dns_rbt_t *mytree, char **names, size_t names_count) { +check_tree(dns_rbt_t *mytree, char **names, size_t names_count) +{ bool tree_ok; UNUSED(names); @@ -958,13 +959,14 @@ check_tree(dns_rbt_t *mytree, char **names, size_t names_count) { * over 1024. */ static void -rbt_insert_and_remove(void **state) { +rbt_insert_and_remove(void **state) +{ isc_result_t result; - dns_rbt_t *mytree = NULL; - size_t *n; - char *names[1024]; - size_t names_count; - int i; + dns_rbt_t * mytree = NULL; + size_t * n; + char * names[1024]; + size_t names_count; + int i; UNUSED(state); @@ -1025,12 +1027,13 @@ rbt_insert_and_remove(void **state) { /* Test findname return values */ static void -rbt_findname(void **state) { - isc_result_t result; +rbt_findname(void **state) +{ + isc_result_t result; test_context_t *ctx = NULL; dns_fixedname_t fname, found; - dns_name_t *name = NULL, *foundname = NULL; - size_t *n = NULL; + dns_name_t * name = NULL, *foundname = NULL; + size_t * n = NULL; UNUSED(state); @@ -1044,31 +1047,27 @@ rbt_findname(void **state) { foundname = dns_fixedname_initname(&found); - result = dns_rbt_findname(ctx->rbt, name, - DNS_RBTFIND_EMPTYDATA, - foundname, (void *) &n); + result = dns_rbt_findname(ctx->rbt, name, DNS_RBTFIND_EMPTYDATA, + foundname, (void *)&n); assert_true(dns_name_equal(foundname, name)); assert_int_equal(result, ISC_R_SUCCESS); /* Now without EMPTYDATA */ - result = dns_rbt_findname(ctx->rbt, name, 0, - foundname, (void *) &n); + result = dns_rbt_findname(ctx->rbt, name, 0, foundname, (void *)&n); assert_int_equal(result, ISC_R_NOTFOUND); /* Now one that partially matches */ dns_test_namefromstring("d.e.f.g.h.i.j", &fname); name = dns_fixedname_name(&fname); - result = dns_rbt_findname(ctx->rbt, name, - DNS_RBTFIND_EMPTYDATA, - foundname, (void *) &n); + result = dns_rbt_findname(ctx->rbt, name, DNS_RBTFIND_EMPTYDATA, + foundname, (void *)&n); assert_int_equal(result, DNS_R_PARTIALMATCH); /* Now one that doesn't match */ dns_test_namefromstring("1.2", &fname); name = dns_fixedname_name(&fname); - result = dns_rbt_findname(ctx->rbt, name, - DNS_RBTFIND_EMPTYDATA, - foundname, (void *) &n); + result = dns_rbt_findname(ctx->rbt, name, DNS_RBTFIND_EMPTYDATA, + foundname, (void *)&n); assert_int_equal(result, DNS_R_PARTIALMATCH); assert_true(dns_name_equal(foundname, dns_rootname)); @@ -1077,12 +1076,13 @@ rbt_findname(void **state) { /* Test addname return values */ static void -rbt_addname(void **state) { - isc_result_t result; +rbt_addname(void **state) +{ + isc_result_t result; test_context_t *ctx = NULL; dns_fixedname_t fname; - dns_name_t *name = NULL; - size_t *n; + dns_name_t * name = NULL; + size_t * n; UNUSED(state); @@ -1114,11 +1114,12 @@ rbt_addname(void **state) { /* Test deletename return values */ static void -rbt_deletename(void **state) { - isc_result_t result; +rbt_deletename(void **state) +{ + isc_result_t result; test_context_t *ctx = NULL; dns_fixedname_t fname; - dns_name_t *name = NULL; + dns_name_t * name = NULL; UNUSED(state); @@ -1143,12 +1144,13 @@ rbt_deletename(void **state) { /* Test nodechain */ static void -rbt_nodechain(void **state) { - isc_result_t result; - test_context_t *ctx; - dns_fixedname_t fname, found, expect; - dns_name_t *name, *foundname, *expected; - dns_rbtnode_t *node = NULL; +rbt_nodechain(void **state) +{ + isc_result_t result; + test_context_t * ctx; + dns_fixedname_t fname, found, expect; + dns_name_t * name, *foundname, *expected; + dns_rbtnode_t * node = NULL; dns_rbtnodechain_t chain; UNUSED(state); @@ -1162,8 +1164,8 @@ rbt_nodechain(void **state) { dns_test_namefromstring("a", &fname); name = dns_fixedname_name(&fname); - result = dns_rbt_findnode(ctx->rbt, name, NULL, - &node, &chain, 0, NULL, NULL); + result = dns_rbt_findnode(ctx->rbt, name, NULL, &node, &chain, 0, NULL, + NULL); assert_int_equal(result, ISC_R_SUCCESS); foundname = dns_fixedname_initname(&found); @@ -1210,18 +1212,19 @@ rbt_nodechain(void **state) { */ static dns_fixedname_t *fnames; -static dns_name_t **names; -static int *values; +static dns_name_t ** names; +static int * values; static void * -find_thread(void *arg) { - dns_rbt_t *mytree; - isc_result_t result; +find_thread(void *arg) +{ + dns_rbt_t * mytree; + isc_result_t result; dns_rbtnode_t *node; - unsigned int j, i; - unsigned int start = 0; + unsigned int j, i; + unsigned int start = 0; - mytree = (dns_rbt_t *) arg; + mytree = (dns_rbt_t *)arg; while (start == 0) start = random() % 4000000; @@ -1229,13 +1232,12 @@ find_thread(void *arg) { for (j = 0; j < 8; j++) { for (i = start; i != start - 1; i = (i + 1) % 4000000) { node = NULL; - result = dns_rbt_findnode(mytree, names[i], NULL, - &node, NULL, - DNS_RBTFIND_EMPTYDATA, + result = dns_rbt_findnode(mytree, names[i], NULL, &node, + NULL, DNS_RBTFIND_EMPTYDATA, NULL, NULL); assert_int_equal(result, ISC_R_SUCCESS); assert_non_null(node); - assert_int_equal(values[i], (intptr_t) node->data); + assert_int_equal(values[i], (intptr_t)node->data); } } @@ -1244,18 +1246,19 @@ find_thread(void *arg) { /* Benchmark RBT implementation */ static void -benchmark(void **state) { - isc_result_t result; - char namestr[sizeof("name18446744073709551616.example.org.")]; - unsigned int r; - dns_rbt_t *mytree; +benchmark(void **state) +{ + isc_result_t result; + char namestr[sizeof("name18446744073709551616.example.org.")]; + unsigned int r; + dns_rbt_t * mytree; dns_rbtnode_t *node; - unsigned int i; - unsigned int maxvalue = 1000000; - isc_time_t ts1, ts2; - double t; - unsigned int nthreads; - isc_thread_t threads[32]; + unsigned int i; + unsigned int maxvalue = 1000000; + isc_time_t ts1, ts2; + double t; + unsigned int nthreads; + isc_thread_t threads[32]; UNUSED(state); @@ -1263,16 +1266,16 @@ benchmark(void **state) { debug_mem_record = false; - fnames = (dns_fixedname_t *) malloc(4000000 * sizeof(dns_fixedname_t)); - names = (dns_name_t **) malloc(4000000 * sizeof(dns_name_t *)); - values = (int *) malloc(4000000 * sizeof(int)); + fnames = (dns_fixedname_t *)malloc(4000000 * sizeof(dns_fixedname_t)); + names = (dns_name_t **)malloc(4000000 * sizeof(dns_name_t *)); + values = (int *)malloc(4000000 * sizeof(int)); for (i = 0; i < 4000000; i++) { - r = ((unsigned long) random()) % maxvalue; - snprintf(namestr, sizeof(namestr), "name%u.example.org.", r); - dns_test_namefromstring(namestr, &fnames[i]); - names[i] = dns_fixedname_name(&fnames[i]); - values[i] = r; + r = ((unsigned long)random()) % maxvalue; + snprintf(namestr, sizeof(namestr), "name%u.example.org.", r); + dns_test_namefromstring(namestr, &fnames[i]); + names[i] = dns_fixedname_name(&fnames[i]); + values[i] = r; } /* Create a tree. */ @@ -1286,7 +1289,7 @@ benchmark(void **state) { node = NULL; result = insert_helper(mytree, namestr, &node); assert_int_equal(result, ISC_R_SUCCESS); - node->data = (void *) (intptr_t) i; + node->data = (void *)(intptr_t)i; } result = isc_time_now(&ts1); @@ -1320,28 +1323,29 @@ benchmark(void **state) { #endif /* defined(DNS_BENCHMARK_TESTS) && !defined(__SANITIZE_THREAD__) */ int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test_setup_teardown(rbt_create, _setup, _teardown), - cmocka_unit_test_setup_teardown(rbt_nodecount, - _setup, _teardown), - cmocka_unit_test_setup_teardown(rbtnode_get_distance, - _setup, _teardown), + cmocka_unit_test_setup_teardown(rbt_nodecount, _setup, + _teardown), + cmocka_unit_test_setup_teardown(rbtnode_get_distance, _setup, + _teardown), cmocka_unit_test_setup_teardown(rbt_check_distance_random, _setup, _teardown), cmocka_unit_test_setup_teardown(rbt_check_distance_ordered, _setup, _teardown), cmocka_unit_test_setup_teardown(rbt_insert, _setup, _teardown), cmocka_unit_test_setup_teardown(rbt_remove, _setup, _teardown), - cmocka_unit_test_setup_teardown(rbt_insert_and_remove, - _setup, _teardown), - cmocka_unit_test_setup_teardown(rbt_findname, - _setup, _teardown), + cmocka_unit_test_setup_teardown(rbt_insert_and_remove, _setup, + _teardown), + cmocka_unit_test_setup_teardown(rbt_findname, _setup, + _teardown), cmocka_unit_test_setup_teardown(rbt_addname, _setup, _teardown), - cmocka_unit_test_setup_teardown(rbt_deletename, - _setup, _teardown), - cmocka_unit_test_setup_teardown(rbt_nodechain, - _setup, _teardown), + cmocka_unit_test_setup_teardown(rbt_deletename, _setup, + _teardown), + cmocka_unit_test_setup_teardown(rbt_nodechain, _setup, + _teardown), #if defined(DNS_BENCHMARK_TESTS) && !defined(__SANITIZE_THREAD__) cmocka_unit_test_setup_teardown(benchmark, _setup, _teardown), #endif /* defined(DNS_BENCHMARK_TESTS) && !defined(__SANITIZE_THREAD__) */ @@ -1355,7 +1359,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/rdata_test.c b/lib/dns/tests/rdata_test.c index 1f93cf213f..7e8ac32b58 100644 --- a/lib/dns/tests/rdata_test.c +++ b/lib/dns/tests/rdata_test.c @@ -11,12 +11,11 @@ #if HAVE_CMOCKA -#include -#include -#include - #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include #include @@ -41,15 +40,16 @@ static bool debug = false; * An array of these structures is passed to compare_ok(). */ struct compare_ok { - const char *text1; /* text passed to fromtext_*() */ - const char *text2; /* text passed to fromtext_*() */ - int answer; /* -1, 0, 1 */ - int lineno; /* source line defining this RDATA */ + const char *text1; /* text passed to fromtext_*() */ + const char *text2; /* text passed to fromtext_*() */ + int answer; /* -1, 0, 1 */ + int lineno; /* source line defining this RDATA */ }; typedef struct compare_ok compare_ok_t; static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -61,7 +61,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -73,46 +74,57 @@ _teardown(void **state) { * An array of these structures is passed to check_text_ok(). */ typedef struct text_ok { - const char *text_in; /* text passed to fromtext_*() */ - const char *text_out; /* text expected from totext_*(); - NULL indicates text_in is invalid */ + const char *text_in; /* text passed to fromtext_*() */ + const char *text_out; /* text expected from totext_*(); + NULL indicates text_in is invalid */ } text_ok_t; /* * An array of these structures is passed to check_wire_ok(). */ typedef struct wire_ok { - unsigned char data[512]; /* RDATA in wire format */ - size_t len; /* octets of data to parse */ - bool ok; /* is this RDATA valid? */ + unsigned char data[512]; /* RDATA in wire format */ + size_t len; /* octets of data to parse */ + bool ok; /* is this RDATA valid? */ } wire_ok_t; -#define COMPARE(r1, r2, answer) \ - { r1, r2, answer, __LINE__ } -#define COMPARE_SENTINEL() \ - { NULL, NULL, 0, __LINE__ } +#define COMPARE(r1, r2, answer) \ + { \ + r1, r2, answer, __LINE__ \ + } +#define COMPARE_SENTINEL() \ + { \ + NULL, NULL, 0, __LINE__ \ + } #define TEXT_VALID_CHANGED(data_in, data_out) \ - { data_in, data_out } -#define TEXT_VALID(data) { data, data } -#define TEXT_INVALID(data) { data, NULL } -#define TEXT_SENTINEL() TEXT_INVALID(NULL) + { \ + data_in, data_out \ + } +#define TEXT_VALID(data) \ + { \ + data, data \ + } +#define TEXT_INVALID(data) \ + { \ + data, NULL \ + } +#define TEXT_SENTINEL() TEXT_INVALID(NULL) -#define VARGC(...) (sizeof((unsigned char[]){ __VA_ARGS__ })) -#define WIRE_TEST(ok, ...) { \ - { __VA_ARGS__ }, VARGC(__VA_ARGS__), \ - ok \ - } -#define WIRE_VALID(...) WIRE_TEST(true, __VA_ARGS__) +#define VARGC(...) (sizeof((unsigned char[]){ __VA_ARGS__ })) +#define WIRE_TEST(ok, ...) \ + { \ + { __VA_ARGS__ }, VARGC(__VA_ARGS__), ok \ + } +#define WIRE_VALID(...) WIRE_TEST(true, __VA_ARGS__) /* * WIRE_INVALID() test cases must always have at least one octet specified to * distinguish them from WIRE_SENTINEL(). Use the 'empty_ok' parameter passed * to check_wire_ok() for indicating whether empty RDATA is allowed for a given * RR type or not. */ -#define WIRE_INVALID(FIRST, ...) \ - WIRE_TEST(false, FIRST, __VA_ARGS__) -#define WIRE_SENTINEL() WIRE_TEST(false) +#define WIRE_INVALID(FIRST, ...) WIRE_TEST(false, FIRST, __VA_ARGS__) +#define WIRE_SENTINEL() WIRE_TEST(false) /* * Call dns_rdata_fromwire() for data in 'src', which is 'srclen' octets in @@ -121,13 +133,13 @@ typedef struct wire_ok { * 'rdata' refer to that uncompressed wire form. */ static isc_result_t -wire_to_rdata(const unsigned char *src, size_t srclen, - dns_rdataclass_t rdclass, dns_rdatatype_t type, - unsigned char *dst, size_t dstlen, dns_rdata_t *rdata) +wire_to_rdata(const unsigned char *src, size_t srclen, dns_rdataclass_t rdclass, + dns_rdatatype_t type, unsigned char *dst, size_t dstlen, + dns_rdata_t *rdata) { - isc_buffer_t source, target; + isc_buffer_t source, target; dns_decompress_t dctx; - isc_result_t result; + isc_result_t result; /* * Set up len-octet buffer pointing at data. @@ -159,9 +171,9 @@ static isc_result_t rdata_towire(dns_rdata_t *rdata, unsigned char *dst, size_t dstlen, size_t *length) { - isc_buffer_t target; + isc_buffer_t target; dns_compress_t cctx; - isc_result_t result; + isc_result_t result; /* * Initialize target buffer. @@ -181,7 +193,8 @@ rdata_towire(dns_rdata_t *rdata, unsigned char *dst, size_t dstlen, } static isc_result_t -additionaldata_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { +additionaldata_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) +{ UNUSED(arg); UNUSED(name); UNUSED(qtype); @@ -192,7 +205,8 @@ additionaldata_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { * call dns_rdata_additionaldata() for rdata. */ static isc_result_t -rdata_additionadata(dns_rdata_t *rdata) { +rdata_additionadata(dns_rdata_t *rdata) +{ return (dns_rdata_additionaldata(rdata, additionaldata_cb, NULL)); } @@ -207,31 +221,32 @@ rdata_additionadata(dns_rdata_t *rdata) { * result and the expected value of 'bad'. */ static void -rdata_checknames(dns_rdata_t *rdata) { +rdata_checknames(dns_rdata_t *rdata) +{ dns_fixedname_t fixed, bfixed; - dns_name_t *name, *bad; - isc_result_t result; + dns_name_t * name, *bad; + isc_result_t result; name = dns_fixedname_initname(&fixed); bad = dns_fixedname_initname(&bfixed); - (void) dns_rdata_checknames(rdata, dns_rootname, NULL); - (void) dns_rdata_checknames(rdata, dns_rootname, bad); + (void)dns_rdata_checknames(rdata, dns_rootname, NULL); + (void)dns_rdata_checknames(rdata, dns_rootname, bad); result = dns_name_fromstring(name, "example.net", 0, NULL); assert_int_equal(result, ISC_R_SUCCESS); - (void) dns_rdata_checknames(rdata, name, NULL); - (void) dns_rdata_checknames(rdata, name, bad); + (void)dns_rdata_checknames(rdata, name, NULL); + (void)dns_rdata_checknames(rdata, name, bad); result = dns_name_fromstring(name, "in-addr.arpa", 0, NULL); assert_int_equal(result, ISC_R_SUCCESS); - (void) dns_rdata_checknames(rdata, name, NULL); - (void) dns_rdata_checknames(rdata, name, bad); + (void)dns_rdata_checknames(rdata, name, NULL); + (void)dns_rdata_checknames(rdata, name, bad); result = dns_name_fromstring(name, "ip6.arpa", 0, NULL); assert_int_equal(result, ISC_R_SUCCESS); - (void) dns_rdata_checknames(rdata, name, NULL); - (void) dns_rdata_checknames(rdata, name, bad); + (void)dns_rdata_checknames(rdata, name, NULL); + (void)dns_rdata_checknames(rdata, name, bad); } /* @@ -244,13 +259,14 @@ rdata_checknames(dns_rdata_t *rdata) { * check_text_ok_single() and check_wire_ok_single(). */ static void -check_struct_conversions(dns_rdata_t *rdata, size_t structsize) { +check_struct_conversions(dns_rdata_t *rdata, size_t structsize) +{ dns_rdataclass_t rdclass = rdata->rdclass; - dns_rdatatype_t type = rdata->type; - isc_result_t result; - isc_buffer_t target; - void *rdata_struct; - char buf[1024]; + dns_rdatatype_t type = rdata->type; + isc_result_t result; + isc_buffer_t target; + void * rdata_struct; + char buf[1024]; rdata_struct = isc_mem_allocate(dt_mctx, structsize); assert_non_null(rdata_struct); @@ -289,11 +305,11 @@ check_text_ok_single(const text_ok_t *text_ok, dns_rdataclass_t rdclass, dns_rdatatype_t type, size_t structsize) { unsigned char buf_fromtext[1024], buf_fromwire[1024], buf_towire[1024]; - dns_rdata_t rdata = DNS_RDATA_INIT, rdata2 = DNS_RDATA_INIT; - char buf_totext[1024] = { 0 }; - isc_buffer_t target; - isc_result_t result; - size_t length = 0; + dns_rdata_t rdata = DNS_RDATA_INIT, rdata2 = DNS_RDATA_INIT; + char buf_totext[1024] = { 0 }; + isc_buffer_t target; + isc_result_t result; + size_t length = 0; /* * Try converting text form RDATA into uncompressed wire form. @@ -338,8 +354,8 @@ check_text_ok_single(const text_ok_t *text_ok, dns_rdataclass_t rdclass, */ isc_buffer_putuint8(&target, 0); if (debug && strcmp(buf_totext, text_ok->text_out) != 0) { - fprintf(stdout, "# '%s' != '%s'\n", - buf_totext, text_ok->text_out); + fprintf(stdout, "# '%s' != '%s'\n", buf_totext, + text_ok->text_out); } assert_string_equal(buf_totext, text_ok->text_out); @@ -388,12 +404,13 @@ check_text_ok_single(const text_ok_t *text_ok, dns_rdataclass_t rdclass, * by check_wire_ok_single() and whose type is not a meta-type. */ static void -check_text_conversions(dns_rdata_t *rdata) { - char buf_totext[1024] = { 0 }; +check_text_conversions(dns_rdata_t *rdata) +{ + char buf_totext[1024] = { 0 }; unsigned char buf_fromtext[1024]; - isc_result_t result; - isc_buffer_t target; - dns_rdata_t rdata2 = DNS_RDATA_INIT; + isc_result_t result; + isc_buffer_t target; + dns_rdata_t rdata2 = DNS_RDATA_INIT; /* * Convert uncompressed wire form RDATA into text form. This @@ -434,13 +451,14 @@ check_text_conversions(dns_rdata_t *rdata) { * by check_wire_ok_single() and whose type is not a meta-type. */ static void -check_multiline_text_conversions(dns_rdata_t *rdata) { - char buf_totext[1024] = { 0 }; +check_multiline_text_conversions(dns_rdata_t *rdata) +{ + char buf_totext[1024] = { 0 }; unsigned char buf_fromtext[1024]; - isc_result_t result; - isc_buffer_t target; - dns_rdata_t rdata2 = DNS_RDATA_INIT; - unsigned int flags; + isc_result_t result; + isc_buffer_t target; + dns_rdata_t rdata2 = DNS_RDATA_INIT; + unsigned int flags; /* * Convert uncompressed wire form RDATA into multi-line text form. @@ -483,15 +501,15 @@ check_wire_ok_single(const wire_ok_t *wire_ok, dns_rdataclass_t rdclass, dns_rdatatype_t type, size_t structsize) { unsigned char buf[1024], buf_towire[1024]; - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; - size_t length = 0; + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; + size_t length = 0; /* * Try converting wire data into uncompressed wire form. */ - result = wire_to_rdata(wire_ok->data, wire_ok->len, rdclass, type, - buf, sizeof(buf), &rdata); + result = wire_to_rdata(wire_ok->data, wire_ok->len, rdclass, type, buf, + sizeof(buf), &rdata); /* * Check whether result is as expected. */ @@ -569,12 +587,11 @@ check_text_ok(const text_ok_t *text_ok, dns_rdataclass_t rdclass, * for given RR class and type behaves as expected. */ static void -check_wire_ok(const wire_ok_t *wire_ok, bool empty_ok, - dns_rdataclass_t rdclass, dns_rdatatype_t type, - size_t structsize) +check_wire_ok(const wire_ok_t *wire_ok, bool empty_ok, dns_rdataclass_t rdclass, + dns_rdatatype_t type, size_t structsize) { wire_ok_t empty_wire = WIRE_TEST(empty_ok); - size_t i; + size_t i; /* * Check all entries in the supplied array. @@ -596,22 +613,22 @@ static void check_compare_ok_single(const compare_ok_t *compare_ok, dns_rdataclass_t rdclass, dns_rdatatype_t type) { - dns_rdata_t rdata1 = DNS_RDATA_INIT, rdata2 = DNS_RDATA_INIT; + dns_rdata_t rdata1 = DNS_RDATA_INIT, rdata2 = DNS_RDATA_INIT; unsigned char buf1[1024], buf2[1024]; - isc_result_t result; - int answer; + isc_result_t result; + int answer; - result = dns_test_rdatafromstring(&rdata1, rdclass, type, - buf1, sizeof(buf1), - compare_ok->text1, false); + result = dns_test_rdatafromstring(&rdata1, rdclass, type, buf1, + sizeof(buf1), compare_ok->text1, + false); if (result != ISC_R_SUCCESS) { fail_msg("# line %d: '%s': expected success, got failure", compare_ok->lineno, compare_ok->text1); } - result = dns_test_rdatafromstring(&rdata2, rdclass, type, - buf2, sizeof(buf2), - compare_ok->text2, false); + result = dns_test_rdatafromstring(&rdata2, rdclass, type, buf2, + sizeof(buf2), compare_ok->text2, + false); if (result != ISC_R_SUCCESS) { fail_msg("# line %d: '%s': expected success, got failure", @@ -622,22 +639,22 @@ check_compare_ok_single(const compare_ok_t *compare_ok, if (compare_ok->answer == 0 && answer != 0) { fail_msg("# line %d: dns_rdata_compare('%s', '%s'): " "expected equal, got %s", - compare_ok->lineno, - compare_ok->text1, compare_ok->text2, + compare_ok->lineno, compare_ok->text1, + compare_ok->text2, (answer > 0) ? "greater than" : "less than"); } if (compare_ok->answer < 0 && answer >= 0) { fail_msg("# line %d: dns_rdata_compare('%s', '%s'): " "expected less than, got %s", - compare_ok->lineno, - compare_ok->text1, compare_ok->text2, + compare_ok->lineno, compare_ok->text1, + compare_ok->text2, (answer == 0) ? "equal" : "greater than"); } if (compare_ok->answer > 0 && answer <= 0) { fail_msg("line %d: dns_rdata_compare('%s', '%s'): " "expected greater than, got %s", - compare_ok->lineno, - compare_ok->text1, compare_ok->text2, + compare_ok->lineno, compare_ok->text1, + compare_ok->text2, (answer == 0) ? "equal" : "less than"); } } @@ -647,8 +664,8 @@ check_compare_ok_single(const compare_ok_t *compare_ok, * with dns_rdata_compare(). */ static void -check_compare_ok(const compare_ok_t *compare_ok, - dns_rdataclass_t rdclass, dns_rdatatype_t type) +check_compare_ok(const compare_ok_t *compare_ok, dns_rdataclass_t rdclass, + dns_rdatatype_t type) { size_t i; /* @@ -671,9 +688,8 @@ check_compare_ok(const compare_ok_t *compare_ok, */ static void check_rdata(const text_ok_t *text_ok, const wire_ok_t *wire_ok, - const compare_ok_t *compare_ok, - bool empty_ok, dns_rdataclass_t rdclass, - dns_rdatatype_t type, size_t structsize) + const compare_ok_t *compare_ok, bool empty_ok, + dns_rdataclass_t rdclass, dns_rdatatype_t type, size_t structsize) { if (text_ok != NULL) { check_text_ok(text_ok, rdclass, type, structsize); @@ -694,28 +710,29 @@ check_rdata(const text_ok_t *text_ok, const wire_ok_t *wire_ok, * - RKEY (draft-reid-dnsext-rkey-00) */ static void -key_required(void **state, dns_rdatatype_t type, size_t size) { - wire_ok_t wire_ok[] = { - /* - * RDATA must be at least 5 octets in size: - * - * - 2 octets for Flags, - * - 1 octet for Protocol, - * - 1 octet for Algorithm, - * - Public Key must not be empty. - * - * RFC 2535 section 3.1.2 allows the Public Key to be empty if - * bits 0-1 of Flags are both set, but that only applies to KEY - * records: for the RR types tested here, the Public Key must - * not be empty. - */ - WIRE_INVALID(0x00), - WIRE_INVALID(0x00, 0x00), - WIRE_INVALID(0x00, 0x00, 0x00), - WIRE_INVALID(0xc0, 0x00, 0x00, 0x00), - WIRE_INVALID(0x00, 0x00, 0x00, 0x00), - WIRE_VALID(0x00, 0x00, 0x00, 0x00, 0x00), - WIRE_SENTINEL() +key_required(void **state, dns_rdatatype_t type, size_t size) +{ + wire_ok_t wire_ok[] = { /* + * RDATA must be at least 5 octets in size: + * + * - 2 octets for Flags, + * - 1 octet for Protocol, + * - 1 octet for Algorithm, + * - Public Key must not be empty. + * + * RFC 2535 section 3.1.2 allows the Public Key + * to be empty if bits 0-1 of Flags are both + * set, but that only applies to KEY records: + * for the RR types tested here, the Public Key + * must not be empty. + */ + WIRE_INVALID(0x00), + WIRE_INVALID(0x00, 0x00), + WIRE_INVALID(0x00, 0x00, 0x00), + WIRE_INVALID(0xc0, 0x00, 0x00, 0x00), + WIRE_INVALID(0x00, 0x00, 0x00, 0x00), + WIRE_VALID(0x00, 0x00, 0x00, 0x00, 0x00), + WIRE_SENTINEL() }; UNUSED(state); @@ -725,24 +742,20 @@ key_required(void **state, dns_rdatatype_t type, size_t size) { /* APL RDATA manipulations */ static void -apl(void **state) { +apl(void **state) +{ text_ok_t text_ok[] = { /* empty list */ TEXT_VALID(""), /* min,max prefix IPv4 */ - TEXT_VALID("1:0.0.0.0/0"), - TEXT_VALID("1:127.0.0.1/32"), + TEXT_VALID("1:0.0.0.0/0"), TEXT_VALID("1:127.0.0.1/32"), /* min,max prefix IPv6 */ - TEXT_VALID("2:::/0"), - TEXT_VALID("2:::1/128"), + TEXT_VALID("2:::/0"), TEXT_VALID("2:::1/128"), /* negated */ - TEXT_VALID("!1:0.0.0.0/0"), - TEXT_VALID("!1:127.0.0.1/32"), - TEXT_VALID("!2:::/0"), - TEXT_VALID("!2:::1/128"), + TEXT_VALID("!1:0.0.0.0/0"), TEXT_VALID("!1:127.0.0.1/32"), + TEXT_VALID("!2:::/0"), TEXT_VALID("!2:::1/128"), /* bits set after prefix length - not disallowed */ - TEXT_VALID("1:127.0.0.0/0"), - TEXT_VALID("2:8000::/0"), + TEXT_VALID("1:127.0.0.0/0"), TEXT_VALID("2:8000::/0"), /* multiple */ TEXT_VALID("1:0.0.0.0/0 1:127.0.0.1/32"), TEXT_VALID("1:0.0.0.0/0 !1:127.0.0.1/32"), @@ -751,26 +764,24 @@ apl(void **state) { /* family 0, prefix 0, negative */ TEXT_VALID("\\# 4 00000080"), /* prefix too long */ - TEXT_INVALID("1:0.0.0.0/33"), - TEXT_INVALID("2:::/129"), + TEXT_INVALID("1:0.0.0.0/33"), TEXT_INVALID("2:::/129"), /* * Sentinel. */ TEXT_SENTINEL() }; - wire_ok_t wire_ok[] = { - /* zero length */ - WIRE_VALID(), - /* prefix too big IPv4 */ - WIRE_INVALID(0x00, 0x01, 33U, 0x00), - /* prefix too big IPv6 */ - WIRE_INVALID(0x00, 0x02, 129U, 0x00), - /* trailing zero octet in afdpart */ - WIRE_INVALID(0x00, 0x00, 0x00, 0x01, 0x00), - /* - * Sentinel. - */ - WIRE_SENTINEL() + wire_ok_t wire_ok[] = { /* zero length */ + WIRE_VALID(), + /* prefix too big IPv4 */ + WIRE_INVALID(0x00, 0x01, 33U, 0x00), + /* prefix too big IPv6 */ + WIRE_INVALID(0x00, 0x02, 129U, 0x00), + /* trailing zero octet in afdpart */ + WIRE_INVALID(0x00, 0x00, 0x00, 0x01, 0x00), + /* + * Sentinel. + */ + WIRE_SENTINEL() }; UNUSED(state); @@ -817,57 +828,56 @@ apl(void **state) { * ATMA RRs cause no additional section processing. */ static void -atma(void **state) { - text_ok_t text_ok[] = { - TEXT_VALID("00"), - TEXT_VALID_CHANGED("0.0", "00"), - /* - * multiple consecutive periods - */ - TEXT_INVALID("0..0"), - /* - * trailing period - */ - TEXT_INVALID("00."), - /* - * leading period - */ - TEXT_INVALID(".00"), - /* - * Not full octets. - */ - TEXT_INVALID("000"), - /* - * E.164 - */ - TEXT_VALID("+61200000000"), - /* - * E.164 with periods - */ - TEXT_VALID_CHANGED("+61.2.0000.0000", "+61200000000"), - /* - * E.164 with period at end - */ - TEXT_INVALID("+61200000000."), - /* - * E.164 with multiple consecutive periods - */ - TEXT_INVALID("+612..00000000"), - /* - * E.164 with period before the leading digit. - */ - TEXT_INVALID("+.61200000000"), - /* - * Sentinel. - */ - TEXT_SENTINEL() - }; +atma(void **state) +{ + text_ok_t text_ok[] = { TEXT_VALID("00"), + TEXT_VALID_CHANGED("0.0", "00"), + /* + * multiple consecutive periods + */ + TEXT_INVALID("0..0"), + /* + * trailing period + */ + TEXT_INVALID("00."), + /* + * leading period + */ + TEXT_INVALID(".00"), + /* + * Not full octets. + */ + TEXT_INVALID("000"), + /* + * E.164 + */ + TEXT_VALID("+61200000000"), + /* + * E.164 with periods + */ + TEXT_VALID_CHANGED("+61.2.0000.0000", "+6120000" + "0000"), + /* + * E.164 with period at end + */ + TEXT_INVALID("+61200000000."), + /* + * E.164 with multiple consecutive periods + */ + TEXT_INVALID("+612..00000000"), + /* + * E.164 with period before the leading digit. + */ + TEXT_INVALID("+.61200000000"), + /* + * Sentinel. + */ + TEXT_SENTINEL() }; wire_ok_t wire_ok[] = { /* * Too short. */ - WIRE_INVALID(0x00), - WIRE_INVALID(0x01), + WIRE_INVALID(0x00), WIRE_INVALID(0x01), /* * all digits */ @@ -890,35 +900,32 @@ atma(void **state) { /* AMTRELAY RDATA manipulations */ static void -amtrelay(void **state) { +amtrelay(void **state) +{ text_ok_t text_ok[] = { - TEXT_INVALID(""), - TEXT_INVALID("0"), - TEXT_INVALID("0 0"), + TEXT_INVALID(""), TEXT_INVALID("0"), TEXT_INVALID("0 0"), /* gatway type 0 */ - TEXT_VALID("0 0 0"), - TEXT_VALID("0 1 0"), - TEXT_INVALID("0 2 0"), /* discovery out of range */ - TEXT_VALID("255 1 0"), /* max precendence */ - TEXT_INVALID("256 1 0"), /* precedence out of range */ + TEXT_VALID("0 0 0"), TEXT_VALID("0 1 0"), + TEXT_INVALID("0 2 0"), /* discovery out of range */ + TEXT_VALID("255 1 0"), /* max precendence */ + TEXT_INVALID("256 1 0"), /* precedence out of range */ /* IPv4 gateway */ - TEXT_INVALID("0 0 1"), /* no addresss */ + TEXT_INVALID("0 0 1"), /* no addresss */ TEXT_VALID("0 0 1 0.0.0.0"), TEXT_INVALID("0 0 1 0.0.0.0 x"), /* extra */ TEXT_INVALID("0 0 1 0.0.0.0.0"), /* bad addresss */ - TEXT_INVALID("0 0 1 ::"), /* bad addresss */ - TEXT_INVALID("0 0 1 ."), /* bad addresss */ + TEXT_INVALID("0 0 1 ::"), /* bad addresss */ + TEXT_INVALID("0 0 1 ."), /* bad addresss */ /* IPv6 gateway */ - TEXT_INVALID("0 0 2"), /* no addresss */ - TEXT_VALID("0 0 2 ::"), - TEXT_INVALID("0 0 2 :: xx"), /* extra */ - TEXT_INVALID("0 0 2 0.0.0.0"), /* bad addresss */ - TEXT_INVALID("0 0 2 ."), /* bad addresss */ + TEXT_INVALID("0 0 2"), /* no addresss */ + TEXT_VALID("0 0 2 ::"), TEXT_INVALID("0 0 2 :: xx"), /* extra */ + TEXT_INVALID("0 0 2 0.0.0.0"), /* bad addresss */ + TEXT_INVALID("0 0 2 ."), /* bad addresss */ /* hostname gateway */ - TEXT_INVALID("0 0 3"), /* no name */ + TEXT_INVALID("0 0 3"), /* no name */ /* IPv4 is a valid name */ TEXT_VALID_CHANGED("0 0 3 0.0.0.0", "0 0 3 0.0.0.0."), /* IPv6 is a valid name */ @@ -928,12 +935,9 @@ amtrelay(void **state) { TEXT_INVALID("0 0 3 example. x"), /* extra */ /* unknown gateway */ - TEXT_VALID("\\# 2 0004"), - TEXT_VALID("\\# 2 0084"), - TEXT_VALID("\\# 2 007F"), - TEXT_VALID("\\# 3 000400"), - TEXT_VALID("\\# 3 008400"), - TEXT_VALID("\\# 3 00FF00"), + TEXT_VALID("\\# 2 0004"), TEXT_VALID("\\# 2 0084"), + TEXT_VALID("\\# 2 007F"), TEXT_VALID("\\# 3 000400"), + TEXT_VALID("\\# 3 008400"), TEXT_VALID("\\# 3 00FF00"), /* * Sentinel. @@ -941,34 +945,28 @@ amtrelay(void **state) { TEXT_SENTINEL() }; wire_ok_t wire_ok[] = { - WIRE_INVALID(0x00), - WIRE_VALID(0x00, 0x00), - WIRE_VALID(0x00, 0x80), - WIRE_INVALID(0x00, 0x00, 0x00), + WIRE_INVALID(0x00), WIRE_VALID(0x00, 0x00), + WIRE_VALID(0x00, 0x80), WIRE_INVALID(0x00, 0x00, 0x00), WIRE_INVALID(0x00, 0x80, 0x00), - WIRE_INVALID(0x00, 0x01), - WIRE_INVALID(0x00, 0x01, 0x00), + WIRE_INVALID(0x00, 0x01), WIRE_INVALID(0x00, 0x01, 0x00), WIRE_INVALID(0x00, 0x01, 0x00, 0x00), WIRE_INVALID(0x00, 0x01, 0x00, 0x00, 0x00), WIRE_VALID(0x00, 0x01, 0x00, 0x00, 0x00, 0x00), WIRE_INVALID(0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00), - WIRE_INVALID(0x00, 0x02), - WIRE_INVALID(0x00, 0x02, 0x00), - WIRE_VALID(0x00, 0x02, 0x00, 0x01, 0x02, 0x03, 0x04, - 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, - 0x12, 0x13, 0x14, 0x15), - WIRE_INVALID(0x00, 0x02, 0x00, 0x01, 0x02, 0x03, 0x04, - 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, - 0x12, 0x13, 0x14, 0x15, 0x16), + WIRE_INVALID(0x00, 0x02), WIRE_INVALID(0x00, 0x02, 0x00), + WIRE_VALID(0x00, 0x02, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, + 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, + 0x15), + WIRE_INVALID(0x00, 0x02, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, + 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, + 0x14, 0x15, 0x16), - WIRE_INVALID(0x00, 0x03), - WIRE_VALID(0x00, 0x03, 0x00), - WIRE_INVALID(0x00, 0x03, 0x00, 0x00), /* extra */ + WIRE_INVALID(0x00, 0x03), WIRE_VALID(0x00, 0x03, 0x00), + WIRE_INVALID(0x00, 0x03, 0x00, 0x00), /* extra */ - WIRE_VALID(0x00, 0x04), - WIRE_VALID(0x00, 0x04, 0x00), + WIRE_VALID(0x00, 0x04), WIRE_VALID(0x00, 0x04, 0x00), /* * Sentinel. */ @@ -982,7 +980,8 @@ amtrelay(void **state) { } static void -cdnskey(void **state) { +cdnskey(void **state) +{ key_required(state, dns_rdatatype_cdnskey, sizeof(dns_rdata_cdnskey_t)); } @@ -1051,19 +1050,18 @@ cdnskey(void **state) { * Map field that has been set to 1. */ static void -csync(void **state) { - text_ok_t text_ok[] = { - TEXT_INVALID(""), - TEXT_INVALID("0"), - TEXT_VALID("0 0"), - TEXT_VALID("0 0 A"), - TEXT_VALID("0 0 NS"), - TEXT_VALID("0 0 AAAA"), - TEXT_VALID("0 0 A AAAA"), - TEXT_VALID("0 0 A NS AAAA"), - TEXT_INVALID("0 0 A NS AAAA BOGUS"), - TEXT_SENTINEL() - }; +csync(void **state) +{ + text_ok_t text_ok[] = { TEXT_INVALID(""), + TEXT_INVALID("0"), + TEXT_VALID("0 0"), + TEXT_VALID("0 0 A"), + TEXT_VALID("0 0 NS"), + TEXT_VALID("0 0 AAAA"), + TEXT_VALID("0 0 A AAAA"), + TEXT_VALID("0 0 A NS AAAA"), + TEXT_INVALID("0 0 A NS AAAA BOGUS"), + TEXT_SENTINEL() }; wire_ok_t wire_ok[] = { /* * Short. @@ -1115,7 +1113,8 @@ csync(void **state) { } static void -dnskey(void **state) { +dnskey(void **state) +{ key_required(state, dns_rdatatype_dnskey, sizeof(dns_rdata_dnskey_t)); } @@ -1180,7 +1179,8 @@ dnskey(void **state) { * data. */ static void -doa(void **state) { +doa(void **state) +{ text_ok_t text_ok[] = { /* * Valid, non-empty DOA-DATA. @@ -1189,13 +1189,16 @@ doa(void **state) { /* * Valid, non-empty DOA-DATA with whitespace in between. */ - TEXT_VALID_CHANGED("0 0 1 \"text/plain\" Zm 9v", - "0 0 1 \"text/plain\" Zm9v"), + TEXT_VALID_CHANGED("0 0 1 \"text/plain\" Zm 9v", "0 0 1 " + "\"text/" + "plain\" " + "Zm9v"), /* * Valid, unquoted DOA-MEDIA-TYPE, non-empty DOA-DATA. */ - TEXT_VALID_CHANGED("0 0 1 text/plain Zm9v", - "0 0 1 \"text/plain\" Zm9v"), + TEXT_VALID_CHANGED("0 0 1 text/plain Zm9v", "0 0 1 " + "\"text/plain\" " + "Zm9v"), /* * Invalid, quoted non-empty DOA-DATA. */ @@ -1261,8 +1264,8 @@ doa(void **state) { /* * Valid, empty DOA-MEDIA-TYPE, empty DOA-DATA. */ - WIRE_VALID(0x12, 0x34, 0x56, 0x78, 0x12, 0x34, 0x56, 0x78, - 0x01, 0x00), + WIRE_VALID(0x12, 0x34, 0x56, 0x78, 0x12, 0x34, 0x56, 0x78, 0x01, + 0x00), /* * Invalid, missing DOA-MEDIA-TYPE. */ @@ -1276,52 +1279,48 @@ doa(void **state) { /* * Valid, empty DOA-DATA. */ - WIRE_VALID(0x12, 0x34, 0x56, 0x78, 0x12, 0x34, 0x56, 0x78, - 0x01, 0x03, 0x66, 0x6f, 0x6f), + WIRE_VALID(0x12, 0x34, 0x56, 0x78, 0x12, 0x34, 0x56, 0x78, 0x01, + 0x03, 0x66, 0x6f, 0x6f), /* * Valid, non-empty DOA-DATA. */ - WIRE_VALID(0x12, 0x34, 0x56, 0x78, 0x12, 0x34, 0x56, 0x78, - 0x01, 0x03, 0x66, 0x6f, 0x6f, 0x62, 0x61, 0x72), + WIRE_VALID(0x12, 0x34, 0x56, 0x78, 0x12, 0x34, 0x56, 0x78, 0x01, + 0x03, 0x66, 0x6f, 0x6f, 0x62, 0x61, 0x72), /* * Valid, DOA-DATA over 255 octets. */ - WIRE_VALID(0x12, 0x34, 0x56, 0x78, 0x12, 0x34, 0x56, 0x78, - 0x01, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, - 0x00, 0x66, 0x99, 0xff, 0xff, 0xff, 0x33, 0x99, - 0xcc, 0xcc, 0xff, 0xff, 0x99, 0xcc, 0xff, 0x33, - 0x66, 0x99, 0x66, 0xcc, 0xff, 0x99, 0xcc, 0xcc, - 0xcc, 0xcc, 0xcc, 0x00, 0x99, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x21, 0xf9, 0x04, - 0x01, 0x0a, 0x00, 0x0f, 0x00, 0x2c, 0x00, 0x00, - 0x00, 0x00, 0x28, 0x00, 0x19, 0x00, 0x00, 0x04, - 0xc7, 0xf0, 0x81, 0x49, 0x2b, 0x95, 0x36, 0x6b, - 0x8d, 0xf7, 0xec, 0x5e, 0x68, 0x81, 0x19, 0x29, - 0x9e, 0x80, 0x89, 0xae, 0x5c, 0xbb, 0x3e, 0xb0, - 0x8a, 0xca, 0x1f, 0x1c, 0xdc, 0x78, 0x00, 0x87, - 0x34, 0xf7, 0xe4, 0xc0, 0xdb, 0x6e, 0xd3, 0xbb, - 0xfc, 0x82, 0x48, 0x1d, 0xb1, 0xa2, 0x3a, 0x26, - 0x93, 0xc5, 0x54, 0xe9, 0x49, 0x55, 0x96, 0x2e, - 0xa3, 0x6a, 0xd5, 0x45, 0x72, 0x6a, 0x93, 0x52, - 0xd7, 0x07, 0x77, 0x38, 0x0c, 0x6e, 0x83, 0x42, - 0xe1, 0x9c, 0x2b, 0x9b, 0x71, 0x58, 0x6c, 0xc7, - 0x2b, 0x10, 0x9c, 0xeb, 0x78, 0x01, 0x3a, 0x6f, - 0xbf, 0x31, 0xe5, 0x17, 0x39, 0x75, 0x03, 0x03, - 0x83, 0x85, 0x67, 0x85, 0x02, 0x04, 0x69, 0x7a, - 0x7e, 0x7f, 0x52, 0x18, 0x5e, 0x01, 0x83, 0x05, - 0x75, 0x40, 0x78, 0x48, 0x57, 0x29, 0x18, 0x41, - 0x86, 0x75, 0x07, 0x82, 0x02, 0xa0, 0x41, 0x2d, - 0x3b, 0x92, 0x93, 0x7d, 0x04, 0x79, 0x77, 0x7d, - 0xa4, 0x4b, 0x00, 0x6c, 0xa1, 0xb1, 0x8c, 0x7a, - 0x83, 0x48, 0x4d, 0x12, 0xa7, 0xa8, 0xb1, 0x37, - 0x83, 0x75, 0x04, 0x99, 0x9b, 0x73, 0xb9, 0x48, - 0x86, 0x6b, 0x01, 0x89, 0xc8, 0x75, 0x6b, 0x03, - 0xc0, 0x8e, 0x46, 0x35, 0x49, 0x94, 0x7c, 0x6c, - 0x95, 0xab, 0xcf, 0x7f, 0x36, 0x48, 0x6a, 0x88, - 0x05, 0x04, 0x05, 0x41, 0xde, 0x08, 0xb1, 0x44, - 0xda, 0x5f, 0xe7, 0x1e, 0xba, 0xe7, 0x4f, 0x11, - 0x00, 0x3b), + WIRE_VALID(0x12, 0x34, 0x56, 0x78, 0x12, 0x34, 0x56, 0x78, 0x01, + 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x00, 0x66, + 0x99, 0xff, 0xff, 0xff, 0x33, 0x99, 0xcc, 0xcc, 0xff, + 0xff, 0x99, 0xcc, 0xff, 0x33, 0x66, 0x99, 0x66, 0xcc, + 0xff, 0x99, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x00, 0x99, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x21, 0xf9, + 0x04, 0x01, 0x0a, 0x00, 0x0f, 0x00, 0x2c, 0x00, 0x00, + 0x00, 0x00, 0x28, 0x00, 0x19, 0x00, 0x00, 0x04, 0xc7, + 0xf0, 0x81, 0x49, 0x2b, 0x95, 0x36, 0x6b, 0x8d, 0xf7, + 0xec, 0x5e, 0x68, 0x81, 0x19, 0x29, 0x9e, 0x80, 0x89, + 0xae, 0x5c, 0xbb, 0x3e, 0xb0, 0x8a, 0xca, 0x1f, 0x1c, + 0xdc, 0x78, 0x00, 0x87, 0x34, 0xf7, 0xe4, 0xc0, 0xdb, + 0x6e, 0xd3, 0xbb, 0xfc, 0x82, 0x48, 0x1d, 0xb1, 0xa2, + 0x3a, 0x26, 0x93, 0xc5, 0x54, 0xe9, 0x49, 0x55, 0x96, + 0x2e, 0xa3, 0x6a, 0xd5, 0x45, 0x72, 0x6a, 0x93, 0x52, + 0xd7, 0x07, 0x77, 0x38, 0x0c, 0x6e, 0x83, 0x42, 0xe1, + 0x9c, 0x2b, 0x9b, 0x71, 0x58, 0x6c, 0xc7, 0x2b, 0x10, + 0x9c, 0xeb, 0x78, 0x01, 0x3a, 0x6f, 0xbf, 0x31, 0xe5, + 0x17, 0x39, 0x75, 0x03, 0x03, 0x83, 0x85, 0x67, 0x85, + 0x02, 0x04, 0x69, 0x7a, 0x7e, 0x7f, 0x52, 0x18, 0x5e, + 0x01, 0x83, 0x05, 0x75, 0x40, 0x78, 0x48, 0x57, 0x29, + 0x18, 0x41, 0x86, 0x75, 0x07, 0x82, 0x02, 0xa0, 0x41, + 0x2d, 0x3b, 0x92, 0x93, 0x7d, 0x04, 0x79, 0x77, 0x7d, + 0xa4, 0x4b, 0x00, 0x6c, 0xa1, 0xb1, 0x8c, 0x7a, 0x83, + 0x48, 0x4d, 0x12, 0xa7, 0xa8, 0xb1, 0x37, 0x83, 0x75, + 0x04, 0x99, 0x9b, 0x73, 0xb9, 0x48, 0x86, 0x6b, 0x01, + 0x89, 0xc8, 0x75, 0x6b, 0x03, 0xc0, 0x8e, 0x46, 0x35, + 0x49, 0x94, 0x7c, 0x6c, 0x95, 0xab, 0xcf, 0x7f, 0x36, + 0x48, 0x6a, 0x88, 0x05, 0x04, 0x05, 0x41, 0xde, 0x08, + 0xb1, 0x44, 0xda, 0x5f, 0xe7, 0x1e, 0xba, 0xe7, 0x4f, + 0x11, 0x00, 0x3b), /* * Sentinel. */ @@ -1397,7 +1396,8 @@ doa(void **state) { * digest algorithm is SHA-1, which produces a 20 octet digest. */ static void -ds(void **state) { +ds(void **state) +{ text_ok_t text_ok[] = { /* * Invalid, empty record. @@ -1442,11 +1442,12 @@ ds(void **state) { /* * Valid, 32-octet SHA-256 digest. */ - TEXT_VALID_CHANGED( - "0 0 2 D001BD422FFDA9B745425B71DC17D007E691869B" - "D59C5F237D9BF85434C3133F", - "0 0 2 D001BD422FFDA9B745425B71DC17D007E691869B" - "D59C5F237D9BF854 34C3133F"), + TEXT_VALID_CHANGED("0 0 2 " + "D001BD422FFDA9B745425B71DC17D007E691869B" + "D59C5F237D9BF85434C3133F", + "0 0 2 " + "D001BD422FFDA9B745425B71DC17D007E691869B" + "D59C5F237D9BF854 34C3133F"), /* * Invalid, excessively long SHA-256 digest. */ @@ -1466,13 +1467,16 @@ ds(void **state) { /* * Valid, 48-octet SHA-384 digest. */ - TEXT_VALID_CHANGED( - "0 0 4 AC748D6C5AA652904A8763D64B7DFFFFA98152BE" - "12128D238BEBB4814B648F5A841E15CAA2DE348891A37A" - "699F65E54D", - "0 0 4 AC748D6C5AA652904A8763D64B7DFFFFA98152BE" - "12128D238BEBB481 4B648F5A841E15CAA2DE348891A37A" - "699F65E54D"), + TEXT_VALID_CHANGED("0 0 4 " + "AC748D6C5AA652904A8763D64B7DFFFFA98152BE" + "12128D238BEBB4814B648F5A841E15CAA2DE348891A" + "37A" + "699F65E54D", + "0 0 4 " + "AC748D6C5AA652904A8763D64B7DFFFFA98152BE" + "12128D238BEBB481 " + "4B648F5A841E15CAA2DE348891A37A" + "699F65E54D"), /* * Invalid, excessively long SHA-384 digest. */ @@ -1519,9 +1523,9 @@ ds(void **state) { /* * Valid, 20-octet SHA-1 digest. */ - WIRE_VALID(0x00, 0x00, 0x00, 0x01, 0x4F, 0xDC, 0xE8, 0x30, - 0x16, 0xED, 0xD2, 0x90, 0x77, 0x62, 0x1F, 0xE5, - 0x68, 0xF8, 0xDA, 0xDD, 0xB5, 0x80, 0x9B, 0x6A), + WIRE_VALID(0x00, 0x00, 0x00, 0x01, 0x4F, 0xDC, 0xE8, 0x30, 0x16, + 0xED, 0xD2, 0x90, 0x77, 0x62, 0x1F, 0xE5, 0x68, 0xF8, + 0xDA, 0xDD, 0xB5, 0x80, 0x9B, 0x6A), /* * Invalid, excessively long SHA-1 digest. */ @@ -1541,11 +1545,11 @@ ds(void **state) { /* * Valid, 32-octet SHA-256 digest. */ - WIRE_VALID(0x00, 0x00, 0x00, 0x02, 0xD0, 0x01, 0xBD, 0x42, - 0x2F, 0xFD, 0xA9, 0xB7, 0x45, 0x42, 0x5B, 0x71, - 0xDC, 0x17, 0xD0, 0x07, 0xE6, 0x91, 0x86, 0x9B, - 0xD5, 0x9C, 0x5F, 0x23, 0x7D, 0x9B, 0xF8, 0x54, - 0x34, 0xC3, 0x13, 0x3F), + WIRE_VALID(0x00, 0x00, 0x00, 0x02, 0xD0, 0x01, 0xBD, 0x42, 0x2F, + 0xFD, 0xA9, 0xB7, 0x45, 0x42, 0x5B, 0x71, 0xDC, 0x17, + 0xD0, 0x07, 0xE6, 0x91, 0x86, 0x9B, 0xD5, 0x9C, 0x5F, + 0x23, 0x7D, 0x9B, 0xF8, 0x54, 0x34, 0xC3, 0x13, + 0x3F), /* * Invalid, excessively long SHA-256 digest. */ @@ -1572,13 +1576,12 @@ ds(void **state) { /* * Valid, 48-octet SHA-384 digest. */ - WIRE_VALID(0x00, 0x00, 0x00, 0x04, 0xAC, 0x74, 0x8D, 0x6C, - 0x5A, 0xA6, 0x52, 0x90, 0x4A, 0x87, 0x63, 0xD6, - 0x4B, 0x7D, 0xFF, 0xFF, 0xA9, 0x81, 0x52, 0xBE, - 0x12, 0x12, 0x8D, 0x23, 0x8B, 0xEB, 0xB4, 0x81, - 0x4B, 0x64, 0x8F, 0x5A, 0x84, 0x1E, 0x15, 0xCA, - 0xA2, 0xDE, 0x34, 0x88, 0x91, 0xA3, 0x7A, 0x69, - 0x9F, 0x65, 0xE5, 0x4D), + WIRE_VALID(0x00, 0x00, 0x00, 0x04, 0xAC, 0x74, 0x8D, 0x6C, 0x5A, + 0xA6, 0x52, 0x90, 0x4A, 0x87, 0x63, 0xD6, 0x4B, 0x7D, + 0xFF, 0xFF, 0xA9, 0x81, 0x52, 0xBE, 0x12, 0x12, 0x8D, + 0x23, 0x8B, 0xEB, 0xB4, 0x81, 0x4B, 0x64, 0x8F, 0x5A, + 0x84, 0x1E, 0x15, 0xCA, 0xA2, 0xDE, 0x34, 0x88, 0x91, + 0xA3, 0x7A, 0x69, 0x9F, 0x65, 0xE5, 0x4D), /* * Invalid, excessively long SHA-384 digest. */ @@ -1663,7 +1666,8 @@ ds(void **state) { * Data Notation). */ static void -edns_client_subnet(void **state) { +edns_client_subnet(void **state) +{ wire_ok_t wire_ok[] = { /* * Option code with no content. @@ -1672,86 +1676,65 @@ edns_client_subnet(void **state) { /* * Option code family 0, source 0, scope 0. */ - WIRE_VALID(0x00, 0x08, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x00), + WIRE_VALID(0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00), /* * Option code family 1 (IPv4), source 0, scope 0. */ - WIRE_VALID(0x00, 0x08, 0x00, 0x04, - 0x00, 0x01, 0x00, 0x00), + WIRE_VALID(0x00, 0x08, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00), /* * Option code family 2 (IPv6) , source 0, scope 0. */ - WIRE_VALID(0x00, 0x08, 0x00, 0x04, - 0x00, 0x02, 0x00, 0x00), + WIRE_VALID(0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00), /* * Extra octet. */ - WIRE_INVALID(0x00, 0x08, 0x00, 0x05, - 0x00, 0x00, 0x00, 0x00, + WIRE_INVALID(0x00, 0x08, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00), /* * Source too long for IPv4. */ - WIRE_INVALID(0x00, 0x08, 0x00, 8, - 0x00, 0x01, 33, 0x00, - 0x00, 0x00, 0x00, 0x00), + WIRE_INVALID(0x00, 0x08, 0x00, 8, 0x00, 0x01, 33, 0x00, 0x00, + 0x00, 0x00, 0x00), /* * Source too long for IPv6. */ - WIRE_INVALID(0x00, 0x08, 0x00, 20, - 0x00, 0x02, 129, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00), + WIRE_INVALID(0x00, 0x08, 0x00, 20, 0x00, 0x02, 129, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), /* * Scope too long for IPv4. */ - WIRE_INVALID(0x00, 0x08, 0x00, 8, - 0x00, 0x01, 0x00, 33, - 0x00, 0x00, 0x00, 0x00), + WIRE_INVALID(0x00, 0x08, 0x00, 8, 0x00, 0x01, 0x00, 33, 0x00, + 0x00, 0x00, 0x00), /* * Scope too long for IPv6. */ - WIRE_INVALID(0x00, 0x08, 0x00, 20, - 0x00, 0x02, 0x00, 129, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00), + WIRE_INVALID(0x00, 0x08, 0x00, 20, 0x00, 0x02, 0x00, 129, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), /* * When family=0, source and scope should be 0. */ - WIRE_VALID(0x00, 0x08, 0x00, 4, - 0x00, 0x00, 0x00, 0x00), + WIRE_VALID(0x00, 0x08, 0x00, 4, 0x00, 0x00, 0x00, 0x00), /* * When family=0, source and scope should be 0. */ - WIRE_INVALID(0x00, 0x08, 0x00, 5, - 0x00, 0x00, 0x01, 0x00, - 0x00), + WIRE_INVALID(0x00, 0x08, 0x00, 5, 0x00, 0x00, 0x01, 0x00, 0x00), /* * When family=0, source and scope should be 0. */ - WIRE_INVALID(0x00, 0x08, 0x00, 5, - 0x00, 0x00, 0x00, 0x01, - 0x00), + WIRE_INVALID(0x00, 0x08, 0x00, 5, 0x00, 0x00, 0x00, 0x01, 0x00), /* * Length too short for source IPv4. */ - WIRE_INVALID(0x00, 0x08, 0x00, 7, - 0x00, 0x01, 32, 0x00, - 0x00, 0x00, 0x00), + WIRE_INVALID(0x00, 0x08, 0x00, 7, 0x00, 0x01, 32, 0x00, 0x00, + 0x00, 0x00), /* * Length too short for source IPv6. */ - WIRE_INVALID(0x00, 0x08, 0x00, 19, - 0x00, 0x02, 128, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00), + WIRE_INVALID(0x00, 0x08, 0x00, 19, 0x00, 0x02, 128, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), /* * Sentinel. */ @@ -1774,24 +1757,20 @@ edns_client_subnet(void **state) { * field and should be ignored when reading a master file. */ static void -eid(void **state) { - text_ok_t text_ok[] = { - TEXT_VALID("AABBCC"), - TEXT_VALID_CHANGED("AA bb cc", "AABBCC"), - TEXT_INVALID("aab"), - /* - * Sentinel. - */ - TEXT_SENTINEL() - }; - wire_ok_t wire_ok[] = { - WIRE_VALID(0x00), - WIRE_VALID(0xAA, 0xBB, 0xCC), - /* - * Sentinel. - */ - WIRE_SENTINEL() - }; +eid(void **state) +{ + text_ok_t text_ok[] = { TEXT_VALID("AABBCC"), + TEXT_VALID_CHANGED("AA bb cc", "AABBCC"), + TEXT_INVALID("aab"), + /* + * Sentinel. + */ + TEXT_SENTINEL() }; + wire_ok_t wire_ok[] = { WIRE_VALID(0x00), WIRE_VALID(0xAA, 0xBB, 0xCC), + /* + * Sentinel. + */ + WIRE_SENTINEL() }; UNUSED(state); @@ -1803,14 +1782,15 @@ eid(void **state) { * test that an oversized HIP record will be rejected */ static void -hip(void **state) { - unsigned char hipwire[DNS_RDATA_MAXLENGTH] = { - 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, - 0x04, 0x41, 0x42, 0x43, 0x44, 0x00 }; - unsigned char buf[1024*1024]; - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_result_t result; - size_t i; +hip(void **state) +{ + unsigned char hipwire[DNS_RDATA_MAXLENGTH] = { 0x01, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x04, 0x41, + 0x42, 0x43, 0x44, 0x00 }; + unsigned char buf[1024 * 1024]; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + size_t i; UNUSED(state); @@ -1819,7 +1799,7 @@ hip(void **state) { */ for (i = 12; i < sizeof(hipwire) - 2; i += 2) { hipwire[i] = 0xc0; - hipwire[i+1] = 0x06; + hipwire[i + 1] = 0x06; } result = wire_to_rdata(hipwire, sizeof(hipwire), dns_rdataclass_in, @@ -1889,28 +1869,28 @@ hip(void **state) { * characters. */ static void -isdn(void **state) { - wire_ok_t wire_ok[] = { - /* - * "". - */ - WIRE_VALID(0x00), - /* - * "\001". - */ - WIRE_VALID(0x01, 0x01), - /* - * "\001" "". - */ - WIRE_VALID(0x01, 0x01, 0x00), - /* - * "\001" "\001". - */ - WIRE_VALID(0x01, 0x01, 0x01, 0x01), - /* - * Sentinel. - */ - WIRE_SENTINEL() +isdn(void **state) +{ + wire_ok_t wire_ok[] = { /* + * "". + */ + WIRE_VALID(0x00), + /* + * "\001". + */ + WIRE_VALID(0x01, 0x01), + /* + * "\001" "". + */ + WIRE_VALID(0x01, 0x01, 0x00), + /* + * "\001" "\001". + */ + WIRE_VALID(0x01, 0x01, 0x01, 0x01), + /* + * Sentinel. + */ + WIRE_SENTINEL() }; UNUSED(state); @@ -1923,29 +1903,30 @@ isdn(void **state) { * KEY tests. */ static void -key(void **state) { - wire_ok_t wire_ok[] = { - /* - * RDATA is comprised of: - * - * - 2 octets for Flags, - * - 1 octet for Protocol, - * - 1 octet for Algorithm, - * - variable number of octets for Public Key. - * - * RFC 2535 section 3.1.2 states that if bits 0-1 of Flags are - * both set, the RR stops after the algorithm octet and thus - * its length must be 4 octets. In any other case, though, the - * Public Key part must not be empty. - */ - WIRE_INVALID(0x00), - WIRE_INVALID(0x00, 0x00), - WIRE_INVALID(0x00, 0x00, 0x00), - WIRE_VALID(0xc0, 0x00, 0x00, 0x00), - WIRE_INVALID(0xc0, 0x00, 0x00, 0x00, 0x00), - WIRE_INVALID(0x00, 0x00, 0x00, 0x00), - WIRE_VALID(0x00, 0x00, 0x00, 0x00, 0x00), - WIRE_SENTINEL() +key(void **state) +{ + wire_ok_t wire_ok[] = { /* + * RDATA is comprised of: + * + * - 2 octets for Flags, + * - 1 octet for Protocol, + * - 1 octet for Algorithm, + * - variable number of octets for Public Key. + * + * RFC 2535 section 3.1.2 states that if bits + * 0-1 of Flags are both set, the RR stops after + * the algorithm octet and thus its length must + * be 4 octets. In any other case, though, the + * Public Key part must not be empty. + */ + WIRE_INVALID(0x00), + WIRE_INVALID(0x00, 0x00), + WIRE_INVALID(0x00, 0x00, 0x00), + WIRE_VALID(0xc0, 0x00, 0x00, 0x00), + WIRE_INVALID(0xc0, 0x00, 0x00, 0x00, 0x00), + WIRE_INVALID(0x00, 0x00, 0x00, 0x00), + WIRE_VALID(0x00, 0x00, 0x00, 0x00, 0x00), + WIRE_SENTINEL() }; UNUSED(state); @@ -1964,24 +1945,20 @@ key(void **state) { * field and should be ignored when reading a master file. */ static void -nimloc(void **state) { - text_ok_t text_ok[] = { - TEXT_VALID("AABBCC"), - TEXT_VALID_CHANGED("AA bb cc", "AABBCC"), - TEXT_INVALID("aab"), - /* - * Sentinel. - */ - TEXT_SENTINEL() - }; - wire_ok_t wire_ok[] = { - WIRE_VALID(0x00), - WIRE_VALID(0xAA, 0xBB, 0xCC), - /* - * Sentinel. - */ - WIRE_SENTINEL() - }; +nimloc(void **state) +{ + text_ok_t text_ok[] = { TEXT_VALID("AABBCC"), + TEXT_VALID_CHANGED("AA bb cc", "AABBCC"), + TEXT_INVALID("aab"), + /* + * Sentinel. + */ + TEXT_SENTINEL() }; + wire_ok_t wire_ok[] = { WIRE_VALID(0x00), WIRE_VALID(0xAA, 0xBB, 0xCC), + /* + * Sentinel. + */ + WIRE_SENTINEL() }; UNUSED(state); @@ -2056,20 +2033,14 @@ nimloc(void **state) { * in zone data. If encountered, they MUST be ignored upon being read. */ static void -nsec(void **state) { - text_ok_t text_ok[] = { - TEXT_INVALID(""), - TEXT_INVALID("."), - TEXT_VALID(". RRSIG"), - TEXT_SENTINEL() - }; - wire_ok_t wire_ok[] = { - WIRE_INVALID(0x00), - WIRE_INVALID(0x00, 0x00), - WIRE_INVALID(0x00, 0x00, 0x00), - WIRE_VALID(0x00, 0x00, 0x01, 0x02), - WIRE_SENTINEL() - }; +nsec(void **state) +{ + text_ok_t text_ok[] = { TEXT_INVALID(""), TEXT_INVALID("."), + TEXT_VALID(". RRSIG"), TEXT_SENTINEL() }; + wire_ok_t wire_ok[] = { WIRE_INVALID(0x00), WIRE_INVALID(0x00, 0x00), + WIRE_INVALID(0x00, 0x00, 0x00), + WIRE_VALID(0x00, 0x00, 0x01, 0x02), + WIRE_SENTINEL() }; UNUSED(state); @@ -2083,19 +2054,26 @@ nsec(void **state) { * RFC 5155. */ static void -nsec3(void **state) { - text_ok_t text_ok[] = { - TEXT_INVALID(""), - TEXT_INVALID("."), - TEXT_INVALID(". RRSIG"), - TEXT_INVALID("1 0 10 76931F"), - TEXT_INVALID("1 0 10 76931F IMQ912BREQP1POLAH3RMONG&UED541AS"), - TEXT_INVALID("1 0 10 76931F IMQ912BREQP1POLAH3RMONGAUED541AS A RRSIG BADTYPE"), - TEXT_VALID("1 0 10 76931F AJHVGTICN6K0VDA53GCHFMT219SRRQLM A RRSIG"), - TEXT_VALID("1 0 10 76931F AJHVGTICN6K0VDA53GCHFMT219SRRQLM"), - TEXT_VALID("1 0 10 - AJHVGTICN6K0VDA53GCHFMT219SRRQLM"), - TEXT_SENTINEL() - }; +nsec3(void **state) +{ + text_ok_t text_ok[] = { TEXT_INVALID(""), + TEXT_INVALID("."), + TEXT_INVALID(". RRSIG"), + TEXT_INVALID("1 0 10 76931F"), + TEXT_INVALID("1 0 10 76931F " + "IMQ912BREQP1POLAH3RMONG&" + "UED541AS"), + TEXT_INVALID("1 0 10 76931F " + "IMQ912BREQP1POLAH3RMONGAUED541AS " + "A RRSIG BADTYPE"), + TEXT_VALID("1 0 10 76931F " + "AJHVGTICN6K0VDA53GCHFMT219SRRQLM A " + "RRSIG"), + TEXT_VALID("1 0 10 76931F " + "AJHVGTICN6K0VDA53GCHFMT219SRRQLM"), + TEXT_VALID("1 0 10 - " + "AJHVGTICN6K0VDA53GCHFMT219SRRQLM"), + TEXT_SENTINEL() }; UNUSED(state); @@ -2105,7 +2083,8 @@ nsec3(void **state) { /* NXT RDATA manipulations */ static void -nxt(void **state) { +nxt(void **state) +{ compare_ok_t compare_ok[] = { COMPARE("a. A SIG", "a. A SIG", 0), /* @@ -2121,8 +2100,7 @@ nxt(void **state) { /* bit map differs */ COMPARE("b. A SIG", "b. A AAAA SIG", -1), /* order of bit map does not matter */ - COMPARE("b. A SIG AAAA", "b. A AAAA SIG", 0), - COMPARE_SENTINEL() + COMPARE("b. A SIG AAAA", "b. A AAAA SIG", 0), COMPARE_SENTINEL() }; UNUSED(state); @@ -2132,36 +2110,35 @@ nxt(void **state) { } static void -rkey(void **state) { - text_ok_t text_ok[] = { - /* - * Valid, flags set to 0 and a key is present. - */ - TEXT_VALID("0 0 0 aaaa"), - /* - * Invalid, non-zero flags. - */ - TEXT_INVALID("1 0 0 aaaa"), - TEXT_INVALID("65535 0 0 aaaa"), - /* - * Sentinel. - */ - TEXT_SENTINEL() +rkey(void **state) +{ + text_ok_t text_ok[] = { /* + * Valid, flags set to 0 and a key is present. + */ + TEXT_VALID("0 0 0 aaaa"), + /* + * Invalid, non-zero flags. + */ + TEXT_INVALID("1 0 0 aaaa"), + TEXT_INVALID("65535 0 0 aaaa"), + /* + * Sentinel. + */ + TEXT_SENTINEL() }; - wire_ok_t wire_ok[] = { - /* - * Valid, flags set to 0 and a key is present. - */ - WIRE_VALID(0x00, 0x00, 0x00, 0x00, 0x00), - /* - * Invalid, non-zero flags. - */ - WIRE_INVALID(0x00, 0x01, 0x00, 0x00, 0x00), - WIRE_INVALID(0xff, 0xff, 0x00, 0x00, 0x00), - /* - * Sentinel. - */ - WIRE_SENTINEL() + wire_ok_t wire_ok[] = { /* + * Valid, flags set to 0 and a key is present. + */ + WIRE_VALID(0x00, 0x00, 0x00, 0x00, 0x00), + /* + * Invalid, non-zero flags. + */ + WIRE_INVALID(0x00, 0x01, 0x00, 0x00, 0x00), + WIRE_INVALID(0xff, 0xff, 0x00, 0x00, 0x00), + /* + * Sentinel. + */ + WIRE_SENTINEL() }; key_required(state, dns_rdatatype_rkey, sizeof(dns_rdata_rkey_t)); check_rdata(text_ok, wire_ok, NULL, false, dns_rdataclass_in, @@ -2170,62 +2147,71 @@ rkey(void **state) { /* SSHFP RDATA manipulations */ static void -sshfp(void **state) { - text_ok_t text_ok[] = { - TEXT_INVALID(""), /* too short */ - TEXT_INVALID("0"), /* reserved, too short */ - TEXT_VALID("0 0"), /* no finger print */ - TEXT_VALID("0 0 AA"), /* reserved */ - TEXT_INVALID("0 1 AA"), /* too short SHA 1 digest */ - TEXT_INVALID("0 2 AA"), /* too short SHA 256 digest */ - TEXT_VALID("0 3 AA"), /* unknown finger print type */ - /* good length SHA 1 digest */ - TEXT_VALID("1 1 00112233445566778899AABBCCDDEEFF17181920"), - /* good length SHA 256 digest */ - TEXT_VALID("4 2 A87F1B687AC0E57D2A081A2F282672334D90ED316D2B818CA9580EA3 84D92401"), - /* - * totext splits the fingerprint into chunks and - * emits uppercase hex. - */ - TEXT_VALID_CHANGED("1 2 00112233445566778899aabbccddeeff " - "00112233445566778899AABBCCDDEEFF", - "1 2 00112233445566778899AABBCCDDEEFF" - "00112233445566778899AABB CCDDEEFF"), - TEXT_SENTINEL() - }; +sshfp(void **state) +{ + text_ok_t text_ok[] = { TEXT_INVALID(""), /* too short */ + TEXT_INVALID("0"), /* reserved, too short */ + TEXT_VALID("0 0"), /* no finger print */ + TEXT_VALID("0 0 AA"), /* reserved */ + TEXT_INVALID("0 1 AA"), /* too short SHA 1 + digest */ + TEXT_INVALID("0 2 AA"), /* too short SHA 256 + digest */ + TEXT_VALID("0 3 AA"), /* unknown finger print + type */ + /* good length SHA 1 digest */ + TEXT_VALID("1 1 " + "00112233445566778899AABBCCDDEEFF171" + "81920"), + /* good length SHA 256 digest */ + TEXT_VALID("4 2 " + "A87F1B687AC0E57D2A081A2F282672334D9" + "0ED316D2B818CA9580EA3 84D92401"), + /* + * totext splits the fingerprint into chunks and + * emits uppercase hex. + */ + TEXT_VALID_CHANGED("1 2 " + "00112233445566778899aabbccd" + "deeff " + "00112233445566778899AABBCCD" + "DEEFF", + "1 2 " + "00112233445566778899AABBCCD" + "DEEFF" + "00112233445566778899AABB " + "CCDDEEFF"), + TEXT_SENTINEL() }; wire_ok_t wire_ok[] = { - WIRE_INVALID(0x00), /* reserved too short */ - WIRE_VALID(0x00, 0x00), /* reserved no finger print */ - WIRE_VALID(0x00, 0x00, 0x00), /* reserved */ + WIRE_INVALID(0x00), /* reserved too short */ + WIRE_VALID(0x00, 0x00), /* reserved no finger print */ + WIRE_VALID(0x00, 0x00, 0x00), /* reserved */ /* too short SHA 1 digests */ - WIRE_INVALID(0x00, 0x01), - WIRE_INVALID(0x00, 0x01, 0x00), + WIRE_INVALID(0x00, 0x01), WIRE_INVALID(0x00, 0x01, 0x00), WIRE_INVALID(0x00, 0x01, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF, 0x17, 0x18, 0x19), /* good length SHA 1 digest */ - WIRE_VALID(0x00, 0x01, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, - 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, - 0xEE, 0xFF, 0x17, 0x18, 0x19, 0x20), + WIRE_VALID(0x00, 0x01, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, + 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF, + 0x17, 0x18, 0x19, 0x20), /* too long SHA 1 digest */ WIRE_INVALID(0x00, 0x01, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF, 0x17, 0x18, 0x19, 0x20, 0x21), /* too short SHA 256 digests */ - WIRE_INVALID(0x00, 0x02), - WIRE_INVALID(0x00, 0x02, 0x00), + WIRE_INVALID(0x00, 0x02), WIRE_INVALID(0x00, 0x02, 0x00), WIRE_INVALID(0x00, 0x02, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF, 0x17, 0x18, 0x19, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x30, 0x31), /* good length SHA 256 digest */ - WIRE_VALID(0x00, 0x02, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, - 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, - 0xEE, 0xFF, 0x17, 0x18, 0x19, 0x20, 0x21, 0x22, - 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x30, - 0x31, 0x32), + WIRE_VALID(0x00, 0x02, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, + 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF, + 0x17, 0x18, 0x19, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, + 0x26, 0x27, 0x28, 0x29, 0x30, 0x31, 0x32), /* too long SHA 256 digest */ WIRE_INVALID(0x00, 0x02, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, @@ -2233,8 +2219,9 @@ sshfp(void **state) { 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x30, 0x31, 0x32, 0x33), /* unknown digest, * no fingerprint */ - WIRE_VALID(0x00, 0x03), - WIRE_VALID(0x00, 0x03, 0x00), /* unknown digest */ + WIRE_VALID(0x00, 0x03), WIRE_VALID(0x00, 0x03, 0x00), /* unknown + digest + */ WIRE_SENTINEL() }; @@ -2284,42 +2271,42 @@ sshfp(void **state) { * address. */ static void -wks(void **state) { - text_ok_t text_ok[] = { - /* - * Valid, IPv4 address in dotted-quad form. - */ - TEXT_VALID("127.0.0.1 6"), - /* - * Invalid, IPv4 address not in dotted-quad form. - */ - TEXT_INVALID("127.1 6"), - /* - * Sentinel. - */ - TEXT_SENTINEL() +wks(void **state) +{ + text_ok_t text_ok[] = { /* + * Valid, IPv4 address in dotted-quad form. + */ + TEXT_VALID("127.0.0.1 6"), + /* + * Invalid, IPv4 address not in dotted-quad + * form. + */ + TEXT_INVALID("127.1 6"), + /* + * Sentinel. + */ + TEXT_SENTINEL() }; - wire_ok_t wire_ok[] = { - /* - * Too short. - */ - WIRE_INVALID(0x00, 0x08, 0x00, 0x00), - /* - * Minimal TCP. - */ - WIRE_VALID(0x00, 0x08, 0x00, 0x00, 6), - /* - * Minimal UDP. - */ - WIRE_VALID(0x00, 0x08, 0x00, 0x00, 17), - /* - * Minimal other. - */ - WIRE_VALID(0x00, 0x08, 0x00, 0x00, 1), - /* - * Sentinel. - */ - WIRE_SENTINEL() + wire_ok_t wire_ok[] = { /* + * Too short. + */ + WIRE_INVALID(0x00, 0x08, 0x00, 0x00), + /* + * Minimal TCP. + */ + WIRE_VALID(0x00, 0x08, 0x00, 0x00, 6), + /* + * Minimal UDP. + */ + WIRE_VALID(0x00, 0x08, 0x00, 0x00, 17), + /* + * Minimal other. + */ + WIRE_VALID(0x00, 0x08, 0x00, 0x00, 1), + /* + * Sentinel. + */ + WIRE_SENTINEL() }; UNUSED(state); @@ -2372,25 +2359,25 @@ wks(void **state) { */ static void -zonemd(void **state) { - text_ok_t text_ok[] = { - TEXT_INVALID(""), - TEXT_INVALID("0"), - TEXT_INVALID("0 0"), - TEXT_INVALID("0 0 0"), - TEXT_INVALID("99999999 0 0"), - TEXT_INVALID("2019020700 0 0"), - TEXT_INVALID("2019020700 1 0 DEADBEEF"), - TEXT_VALID("2019020700 2 0 DEADBEEF"), - TEXT_VALID("2019020700 255 0 DEADBEEF"), - TEXT_INVALID("2019020700 256 0 DEADBEEF"), - TEXT_VALID("2019020700 2 255 DEADBEEF"), - TEXT_INVALID("2019020700 2 256 DEADBEEF"), - TEXT_VALID("2019020700 1 0 7162D2BB75C047A53DE98767C9192BEB" - "14DB01E7E2267135DAF0230A 19BA4A31" - "6AF6BF64AA5C7BAE24B2992850300509"), - TEXT_SENTINEL() - }; +zonemd(void **state) +{ + text_ok_t text_ok[] = { TEXT_INVALID(""), + TEXT_INVALID("0"), + TEXT_INVALID("0 0"), + TEXT_INVALID("0 0 0"), + TEXT_INVALID("99999999 0 0"), + TEXT_INVALID("2019020700 0 0"), + TEXT_INVALID("2019020700 1 0 DEADBEEF"), + TEXT_VALID("2019020700 2 0 DEADBEEF"), + TEXT_VALID("2019020700 255 0 DEADBEEF"), + TEXT_INVALID("2019020700 256 0 DEADBEEF"), + TEXT_VALID("2019020700 2 255 DEADBEEF"), + TEXT_INVALID("2019020700 2 256 DEADBEEF"), + TEXT_VALID("2019020700 1 0 " + "7162D2BB75C047A53DE98767C9192BEB" + "14DB01E7E2267135DAF0230A 19BA4A31" + "6AF6BF64AA5C7BAE24B2992850300509"), + TEXT_SENTINEL() }; wire_ok_t wire_ok[] = { /* * Short. @@ -2428,40 +2415,33 @@ zonemd(void **state) { /* * 48-octet digest, valid for SHA-384. */ - WIRE_VALID(0x00, 0x00, 0x00, 0x00, 0x01, 0x00, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce), + WIRE_VALID(0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xde, 0xad, 0xbe, + 0xef, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, + 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, 0xde, 0xad, 0xbe, + 0xef, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, + 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, 0xde, 0xad, 0xbe, + 0xef, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, 0xfa, + 0xce), /* * 56-octet digest, too long for SHA-384. */ - WIRE_INVALID(0x00, 0x00, 0x00, 0x00, 0x01, 0x00, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce), + WIRE_INVALID(0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xde, 0xad, + 0xbe, 0xef, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, + 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, + 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, 0xde, 0xad, + 0xbe, 0xef, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, + 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, + 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, 0xde, 0xad, + 0xbe, 0xef, 0xfa, 0xce), /* * 56-octet digest, valid for an undefined digest type. */ - WIRE_VALID(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, - 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, + WIRE_VALID(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xad, 0xbe, + 0xef, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, + 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, 0xde, 0xad, 0xbe, + 0xef, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, + 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, 0xde, 0xad, 0xbe, + 0xef, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, 0xfa, 0xce), /* * Sentinel. @@ -2476,7 +2456,8 @@ zonemd(void **state) { } static void -atcname(void **state) { +atcname(void **state) +{ unsigned int i; UNUSED(state); #define UNR "# Unexpected result from dns_rdatatype_atcname for type %u\n" @@ -2498,13 +2479,13 @@ atcname(void **state) { assert_false(tf); break; } - } #undef UNR } static void -atparent(void **state) { +atparent(void **state) +{ unsigned int i; UNUSED(state); #define UNR "# Unexpected result from dns_rdatatype_atparent for type %u\n" @@ -2524,13 +2505,13 @@ atparent(void **state) { assert_false(tf); break; } - } #undef UNR } static void -iszonecutauth(void **state) { +iszonecutauth(void **state) +{ unsigned int i; UNUSED(state); #define UNR "# Unexpected result from dns_rdatatype_iszonecutauth for type %u\n" @@ -2554,13 +2535,13 @@ iszonecutauth(void **state) { assert_false(tf); break; } - } #undef UNR } int -main(int argc, char **argv) { +main(int argc, char **argv) +{ const struct CMUnitTest tests[] = { cmocka_unit_test_setup_teardown(amtrelay, _setup, _teardown), cmocka_unit_test_setup_teardown(apl, _setup, _teardown), @@ -2571,8 +2552,8 @@ main(int argc, char **argv) { cmocka_unit_test_setup_teardown(dnskey, _setup, _teardown), cmocka_unit_test_setup_teardown(ds, _setup, _teardown), cmocka_unit_test_setup_teardown(eid, _setup, _teardown), - cmocka_unit_test_setup_teardown(edns_client_subnet, - _setup, _teardown), + cmocka_unit_test_setup_teardown(edns_client_subnet, _setup, + _teardown), cmocka_unit_test_setup_teardown(hip, _setup, _teardown), cmocka_unit_test_setup_teardown(isdn, _setup, _teardown), cmocka_unit_test_setup_teardown(key, _setup, _teardown), @@ -2603,7 +2584,8 @@ main(int argc, char **argv) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/rdataset_test.c b/lib/dns/tests/rdataset_test.c index bf9eee8c55..f5819818a2 100644 --- a/lib/dns/tests/rdataset_test.c +++ b/lib/dns/tests/rdataset_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -31,7 +30,8 @@ #include "dnstest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -43,7 +43,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -53,10 +54,11 @@ _teardown(void **state) { /* test trimming of rdataset TTLs */ static void -trimttl(void **state) { - dns_rdataset_t rdataset, sigrdataset; +trimttl(void **state) +{ + dns_rdataset_t rdataset, sigrdataset; dns_rdata_rrsig_t rrsig; - isc_stdtime_t ttltimenow, ttltimeexpire; + isc_stdtime_t ttltimenow, ttltimeexpire; ttltimenow = 10000000; ttltimeexpire = ttltimenow + 800; @@ -71,8 +73,7 @@ trimttl(void **state) { rrsig.timeexpire = ttltimeexpire; rrsig.originalttl = 1000; - dns_rdataset_trimttl(&rdataset, &sigrdataset, &rrsig, ttltimenow, - true); + dns_rdataset_trimttl(&rdataset, &sigrdataset, &rrsig, ttltimenow, true); assert_int_equal(rdataset.ttl, 800); assert_int_equal(sigrdataset.ttl, 800); @@ -81,8 +82,7 @@ trimttl(void **state) { rrsig.timeexpire = ttltimenow - 200; rrsig.originalttl = 1000; - dns_rdataset_trimttl(&rdataset, &sigrdataset, &rrsig, ttltimenow, - true); + dns_rdataset_trimttl(&rdataset, &sigrdataset, &rrsig, ttltimenow, true); assert_int_equal(rdataset.ttl, 120); assert_int_equal(sigrdataset.ttl, 120); @@ -101,8 +101,7 @@ trimttl(void **state) { rrsig.timeexpire = ttltimeexpire; rrsig.originalttl = 1000; - dns_rdataset_trimttl(&rdataset, &sigrdataset, &rrsig, ttltimenow, - true); + dns_rdataset_trimttl(&rdataset, &sigrdataset, &rrsig, ttltimenow, true); assert_int_equal(rdataset.ttl, 800); assert_int_equal(sigrdataset.ttl, 800); @@ -111,8 +110,7 @@ trimttl(void **state) { rrsig.timeexpire = ttltimenow - 200; rrsig.originalttl = 1000; - dns_rdataset_trimttl(&rdataset, &sigrdataset, &rrsig, ttltimenow, - true); + dns_rdataset_trimttl(&rdataset, &sigrdataset, &rrsig, ttltimenow, true); assert_int_equal(rdataset.ttl, 120); assert_int_equal(sigrdataset.ttl, 120); @@ -128,7 +126,8 @@ trimttl(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test_setup_teardown(trimttl, _setup, _teardown), }; @@ -141,7 +140,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/rdatasetstats_test.c b/lib/dns/tests/rdatasetstats_test.c index 5969870b14..84b3e59ea2 100644 --- a/lib/dns/tests/rdatasetstats_test.c +++ b/lib/dns/tests/rdatasetstats_test.c @@ -11,13 +11,12 @@ #if HAVE_CMOCKA -#include -#include -#include - #include #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include #include @@ -33,7 +32,8 @@ #include "dnstest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -45,7 +45,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -54,9 +55,10 @@ _teardown(void **state) { } static void -set_typestats(dns_stats_t *stats, dns_rdatatype_t type) { +set_typestats(dns_stats_t *stats, dns_rdatatype_t type) +{ dns_rdatastatstype_t which; - unsigned int attributes; + unsigned int attributes; attributes = 0; which = DNS_RDATASTATSTYPE_VALUE(type, attributes); @@ -68,9 +70,10 @@ set_typestats(dns_stats_t *stats, dns_rdatatype_t type) { } static void -set_nxdomainstats(dns_stats_t *stats) { +set_nxdomainstats(dns_stats_t *stats) +{ dns_rdatastatstype_t which; - unsigned int attributes; + unsigned int attributes; attributes = DNS_RDATASTATSTYPE_ATTR_NXDOMAIN; which = DNS_RDATASTATSTYPE_VALUE(0, attributes); @@ -81,7 +84,7 @@ static void mark_stale(dns_stats_t *stats, dns_rdatatype_t type, int from, int to) { dns_rdatastatstype_t which; - unsigned int attributes; + unsigned int attributes; attributes = from; which = DNS_RDATASTATSTYPE_VALUE(type, attributes); @@ -104,7 +107,7 @@ static void mark_nxdomain_stale(dns_stats_t *stats, int from, int to) { dns_rdatastatstype_t which; - unsigned int attributes; + unsigned int attributes; attributes = DNS_RDATASTATSTYPE_ATTR_NXDOMAIN | from; which = DNS_RDATASTATSTYPE_VALUE(0, attributes); @@ -117,7 +120,8 @@ mark_nxdomain_stale(dns_stats_t *stats, int from, int to) #define ATTRIBUTE_SET(y) ((attributes & (y)) != 0) static void -verify_active_counters(dns_rdatastatstype_t which, uint64_t value, void *arg) { +verify_active_counters(dns_rdatastatstype_t which, uint64_t value, void *arg) +{ unsigned int attributes; #if debug unsigned int type; @@ -147,7 +151,8 @@ verify_active_counters(dns_rdatastatstype_t which, uint64_t value, void *arg) { } static void -verify_stale_counters(dns_rdatastatstype_t which, uint64_t value, void *arg) { +verify_stale_counters(dns_rdatastatstype_t which, uint64_t value, void *arg) +{ unsigned int attributes; #if debug unsigned int type; @@ -176,7 +181,8 @@ verify_stale_counters(dns_rdatastatstype_t which, uint64_t value, void *arg) { } static void -verify_ancient_counters(dns_rdatastatstype_t which, uint64_t value, void *arg) { +verify_ancient_counters(dns_rdatastatstype_t which, uint64_t value, void *arg) +{ unsigned int attributes; #if debug unsigned int type; @@ -212,7 +218,8 @@ verify_ancient_counters(dns_rdatastatstype_t which, uint64_t value, void *arg) { * active -> stale -> ancient. */ static void -rdatasetstats(void **state, bool servestale) { +rdatasetstats(void **state, bool servestale) +{ unsigned int i; unsigned int from = 0; dns_stats_t *stats = NULL; @@ -273,7 +280,8 @@ rdatasetstats(void **state, bool servestale) { * active -> stale -> ancient. */ static void -test_rdatasetstats_active_stale_ancient(void **state) { +test_rdatasetstats_active_stale_ancient(void **state) +{ rdatasetstats(state, true); } @@ -282,19 +290,20 @@ test_rdatasetstats_active_stale_ancient(void **state) { * active -> ancient. */ static void -test_rdatasetstats_active_ancient(void **state) { +test_rdatasetstats_active_ancient(void **state) +{ rdatasetstats(state, false); } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test_setup_teardown( - test_rdatasetstats_active_stale_ancient, - _setup, _teardown), + test_rdatasetstats_active_stale_ancient, _setup, + _teardown), cmocka_unit_test_setup_teardown( - test_rdatasetstats_active_ancient, - _setup, _teardown), + test_rdatasetstats_active_ancient, _setup, _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -305,7 +314,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/resolver_test.c b/lib/dns/tests/resolver_test.c index a9476ca1e7..9d8a0812de 100644 --- a/lib/dns/tests/resolver_test.c +++ b/lib/dns/tests/resolver_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include @@ -38,12 +37,13 @@ #include "dnstest.h" static dns_dispatchmgr_t *dispatchmgr = NULL; -static dns_dispatch_t *dispatch = NULL; -static dns_view_t *view = NULL; +static dns_dispatch_t * dispatch = NULL; +static dns_view_t * view = NULL; static int -_setup(void **state) { - isc_result_t result; +_setup(void **state) +{ + isc_result_t result; isc_sockaddr_t local; UNUSED(state); @@ -59,15 +59,15 @@ _setup(void **state) { isc_sockaddr_any(&local); result = dns_dispatch_getudp(dispatchmgr, socketmgr, taskmgr, &local, - 4096, 100, 100, 100, 500, 0, 0, - &dispatch); + 4096, 100, 100, 100, 500, 0, 0, &dispatch); assert_int_equal(result, ISC_R_SUCCESS); return (0); } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_dispatch_detach(&dispatch); @@ -78,26 +78,27 @@ _teardown(void **state) { return (0); } - static void -mkres(dns_resolver_t **resolverp) { +mkres(dns_resolver_t **resolverp) +{ isc_result_t result; - result = dns_resolver_create(view, taskmgr, 1, 1, - socketmgr, timermgr, 0, - dispatchmgr, dispatch, NULL, resolverp); + result = dns_resolver_create(view, taskmgr, 1, 1, socketmgr, timermgr, + 0, dispatchmgr, dispatch, NULL, resolverp); assert_int_equal(result, ISC_R_SUCCESS); } static void -destroy_resolver(dns_resolver_t **resolverp) { +destroy_resolver(dns_resolver_t **resolverp) +{ dns_resolver_shutdown(*resolverp); dns_resolver_detach(resolverp); } /* dns_resolver_create */ static void -create_test(void **state) { +create_test(void **state) +{ dns_resolver_t *resolver = NULL; UNUSED(state); @@ -108,9 +109,10 @@ create_test(void **state) { /* dns_resolver_gettimeout */ static void -gettimeout_test(void **state) { +gettimeout_test(void **state) +{ dns_resolver_t *resolver = NULL; - unsigned int timeout; + unsigned int timeout; UNUSED(state); @@ -124,13 +126,13 @@ gettimeout_test(void **state) { /* dns_resolver_settimeout */ static void -settimeout_test(void **state) { +settimeout_test(void **state) +{ dns_resolver_t *resolver = NULL; - unsigned int default_timeout, timeout; + unsigned int default_timeout, timeout; UNUSED(state); - mkres(&resolver); default_timeout = dns_resolver_gettimeout(resolver); @@ -143,13 +145,13 @@ settimeout_test(void **state) { /* dns_resolver_settimeout */ static void -settimeout_default_test(void **state) { +settimeout_default_test(void **state) +{ dns_resolver_t *resolver = NULL; - unsigned int default_timeout, timeout; + unsigned int default_timeout, timeout; UNUSED(state); - mkres(&resolver); default_timeout = dns_resolver_gettimeout(resolver); @@ -167,13 +169,13 @@ settimeout_default_test(void **state) { /* dns_resolver_settimeout below minimum */ static void -settimeout_belowmin_test(void **state) { +settimeout_belowmin_test(void **state) +{ dns_resolver_t *resolver = NULL; - unsigned int default_timeout, timeout; + unsigned int default_timeout, timeout; UNUSED(state); - mkres(&resolver); default_timeout = dns_resolver_gettimeout(resolver); @@ -187,13 +189,13 @@ settimeout_belowmin_test(void **state) { /* dns_resolver_settimeout over maximum */ static void -settimeout_overmax_test(void **state) { +settimeout_overmax_test(void **state) +{ dns_resolver_t *resolver = NULL; - unsigned int timeout; + unsigned int timeout; UNUSED(state); - mkres(&resolver); dns_resolver_settimeout(resolver, 4000000); @@ -203,20 +205,20 @@ settimeout_overmax_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(create_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(gettimeout_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(settimeout_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(settimeout_default_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(create_test, _setup, _teardown), + cmocka_unit_test_setup_teardown(gettimeout_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(settimeout_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(settimeout_default_test, _setup, + _teardown), cmocka_unit_test_setup_teardown(settimeout_belowmin_test, _setup, _teardown), - cmocka_unit_test_setup_teardown(settimeout_overmax_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(settimeout_overmax_test, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -227,7 +229,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/result_test.c b/lib/dns/tests/result_test.c index 4a24128de5..59ffef7cf3 100644 --- a/lib/dns/tests/result_test.c +++ b/lib/dns/tests/result_test.c @@ -11,10 +11,9 @@ #if HAVE_CMOCKA +#include #include #include -#include - #include #include @@ -26,14 +25,16 @@ #include #include + #include /* * Check ids array is populated. */ static void -ids(void **state) { - const char *str; +ids(void **state) +{ + const char * str; isc_result_t result; UNUSED(state); @@ -42,18 +43,16 @@ ids(void **state) { dst_result_register(); for (result = ISC_RESULTCLASS_DNS; - result < (ISC_RESULTCLASS_DNS + DNS_R_NRESULTS); - result++) - { + result < (ISC_RESULTCLASS_DNS + DNS_R_NRESULTS); result++) { str = isc_result_toid(result); assert_non_null(str); - assert_string_not_equal(str, - "(result code text not available)"); + assert_string_not_equal(str, "(result code text not " + "available)"); str = isc_result_totext(result); assert_non_null(str); - assert_string_not_equal(str, - "(result code text not available)"); + assert_string_not_equal(str, "(result code text not " + "available)"); } str = isc_result_toid(result); @@ -65,18 +64,16 @@ ids(void **state) { assert_string_equal(str, "(result code text not available)"); for (result = ISC_RESULTCLASS_DST; - result < (ISC_RESULTCLASS_DST + DST_R_NRESULTS); - result++) - { + result < (ISC_RESULTCLASS_DST + DST_R_NRESULTS); result++) { str = isc_result_toid(result); assert_non_null(str); - assert_string_not_equal(str, - "(result code text not available)"); + assert_string_not_equal(str, "(result code text not " + "available)"); str = isc_result_totext(result); assert_non_null(str); - assert_string_not_equal(str, - "(result code text not available)"); + assert_string_not_equal(str, "(result code text not " + "available)"); } str = isc_result_toid(result); @@ -89,17 +86,16 @@ ids(void **state) { for (result = ISC_RESULTCLASS_DNSRCODE; result < (ISC_RESULTCLASS_DNSRCODE + DNS_R_NRCODERESULTS); - result++) - { + result++) { str = isc_result_toid(result); assert_non_null(str); - assert_string_not_equal(str, - "(result code text not available)"); + assert_string_not_equal(str, "(result code text not " + "available)"); str = isc_result_totext(result); assert_non_null(str); - assert_string_not_equal(str, - "(result code text not available)"); + assert_string_not_equal(str, "(result code text not " + "available)"); } str = isc_result_toid(result); @@ -112,7 +108,8 @@ ids(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(ids), }; @@ -125,7 +122,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/rsa_test.c b/lib/dns/tests/rsa_test.c index d0dcb8992d..d834c29552 100644 --- a/lib/dns/tests/rsa_test.c +++ b/lib/dns/tests/rsa_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -24,17 +23,17 @@ #define UNIT_TESTING #include -#include #include +#include + +#include "../dst_internal.h" +#include "dnstest.h" #include -#include "dnstest.h" - -#include "../dst_internal.h" - static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -46,7 +45,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -54,125 +54,95 @@ _teardown(void **state) { return (0); } -static unsigned char d[10] = { - 0xa, 0x10, 0xbb, 0, 0xfe, 0x15, 0x1, 0x88, 0xcc, 0x7d -}; +static unsigned char d[10] = { 0xa, 0x10, 0xbb, 0, 0xfe, + 0x15, 0x1, 0x88, 0xcc, 0x7d }; static unsigned char sigsha1[256] = { - 0x45, 0x55, 0xd6, 0xf8, 0x05, 0xd2, 0x2e, 0x79, - 0x14, 0x2b, 0x1b, 0xd1, 0x4b, 0xb7, 0xcd, 0xc0, - 0xa2, 0xf3, 0x85, 0x32, 0x1f, 0xa3, 0xfd, 0x1f, - 0x30, 0xe0, 0xde, 0xb2, 0x6f, 0x3c, 0x8e, 0x2b, - 0x82, 0x92, 0xcd, 0x1c, 0x1b, 0xdf, 0xe6, 0xd5, - 0x4d, 0x93, 0xe6, 0xaa, 0x40, 0x28, 0x1b, 0x7b, - 0x2e, 0x40, 0x4d, 0xb5, 0x4d, 0x43, 0xe8, 0xfc, - 0x93, 0x86, 0x68, 0xe3, 0xbf, 0x73, 0x9a, 0x1e, - 0x6b, 0x5d, 0x52, 0xb8, 0x98, 0x1c, 0x94, 0xe1, - 0x85, 0x8b, 0xee, 0xb1, 0x4f, 0x22, 0x71, 0xcb, - 0xfd, 0xb2, 0xa8, 0x88, 0x64, 0xb4, 0xb1, 0x4a, - 0xa1, 0x7a, 0xce, 0x52, 0x83, 0xd8, 0xf2, 0x9e, - 0x67, 0x4c, 0xc3, 0x37, 0x74, 0xfe, 0xe0, 0x25, - 0x2a, 0xfd, 0xa3, 0x09, 0xff, 0x8a, 0x92, 0x0d, - 0xa9, 0xb3, 0x90, 0x23, 0xbe, 0x6a, 0x2c, 0x9e, - 0x5c, 0x6d, 0xb4, 0xa7, 0xd7, 0x97, 0xdd, 0xc6, - 0xb8, 0xae, 0xd4, 0x88, 0x64, 0x63, 0x1e, 0x85, - 0x20, 0x09, 0xea, 0xc4, 0x0b, 0xca, 0xbf, 0x83, - 0x5c, 0x89, 0xae, 0x64, 0x15, 0x76, 0x06, 0x51, - 0xb6, 0xa1, 0x99, 0xb2, 0x3c, 0x50, 0x99, 0x86, - 0x7d, 0xc7, 0xca, 0x4e, 0x1d, 0x2c, 0x17, 0xbb, - 0x6c, 0x7a, 0xc9, 0x3f, 0x5e, 0x28, 0x57, 0x2c, - 0xda, 0x01, 0x1d, 0xe8, 0x01, 0xf8, 0xf6, 0x37, - 0xe1, 0x34, 0x56, 0xae, 0x6e, 0xb1, 0xd4, 0xa2, - 0xc4, 0x02, 0xc1, 0xca, 0x96, 0xb0, 0x06, 0x72, - 0x2a, 0x27, 0xaa, 0xc8, 0xd5, 0x50, 0x81, 0x49, - 0x46, 0x33, 0xf8, 0xf7, 0x6b, 0xf4, 0x9c, 0x30, - 0x90, 0x50, 0xf6, 0x16, 0x76, 0x9d, 0xc6, 0x73, - 0xb5, 0xbc, 0x8a, 0xb6, 0x1d, 0x98, 0xcb, 0xce, - 0x36, 0x6f, 0x60, 0xec, 0x96, 0x49, 0x08, 0x85, - 0x5b, 0xc1, 0x8e, 0xb0, 0xea, 0x9e, 0x1f, 0xd6, - 0x27, 0x7f, 0xb6, 0xe0, 0x04, 0x12, 0xd2, 0x81 + 0x45, 0x55, 0xd6, 0xf8, 0x05, 0xd2, 0x2e, 0x79, 0x14, 0x2b, 0x1b, 0xd1, + 0x4b, 0xb7, 0xcd, 0xc0, 0xa2, 0xf3, 0x85, 0x32, 0x1f, 0xa3, 0xfd, 0x1f, + 0x30, 0xe0, 0xde, 0xb2, 0x6f, 0x3c, 0x8e, 0x2b, 0x82, 0x92, 0xcd, 0x1c, + 0x1b, 0xdf, 0xe6, 0xd5, 0x4d, 0x93, 0xe6, 0xaa, 0x40, 0x28, 0x1b, 0x7b, + 0x2e, 0x40, 0x4d, 0xb5, 0x4d, 0x43, 0xe8, 0xfc, 0x93, 0x86, 0x68, 0xe3, + 0xbf, 0x73, 0x9a, 0x1e, 0x6b, 0x5d, 0x52, 0xb8, 0x98, 0x1c, 0x94, 0xe1, + 0x85, 0x8b, 0xee, 0xb1, 0x4f, 0x22, 0x71, 0xcb, 0xfd, 0xb2, 0xa8, 0x88, + 0x64, 0xb4, 0xb1, 0x4a, 0xa1, 0x7a, 0xce, 0x52, 0x83, 0xd8, 0xf2, 0x9e, + 0x67, 0x4c, 0xc3, 0x37, 0x74, 0xfe, 0xe0, 0x25, 0x2a, 0xfd, 0xa3, 0x09, + 0xff, 0x8a, 0x92, 0x0d, 0xa9, 0xb3, 0x90, 0x23, 0xbe, 0x6a, 0x2c, 0x9e, + 0x5c, 0x6d, 0xb4, 0xa7, 0xd7, 0x97, 0xdd, 0xc6, 0xb8, 0xae, 0xd4, 0x88, + 0x64, 0x63, 0x1e, 0x85, 0x20, 0x09, 0xea, 0xc4, 0x0b, 0xca, 0xbf, 0x83, + 0x5c, 0x89, 0xae, 0x64, 0x15, 0x76, 0x06, 0x51, 0xb6, 0xa1, 0x99, 0xb2, + 0x3c, 0x50, 0x99, 0x86, 0x7d, 0xc7, 0xca, 0x4e, 0x1d, 0x2c, 0x17, 0xbb, + 0x6c, 0x7a, 0xc9, 0x3f, 0x5e, 0x28, 0x57, 0x2c, 0xda, 0x01, 0x1d, 0xe8, + 0x01, 0xf8, 0xf6, 0x37, 0xe1, 0x34, 0x56, 0xae, 0x6e, 0xb1, 0xd4, 0xa2, + 0xc4, 0x02, 0xc1, 0xca, 0x96, 0xb0, 0x06, 0x72, 0x2a, 0x27, 0xaa, 0xc8, + 0xd5, 0x50, 0x81, 0x49, 0x46, 0x33, 0xf8, 0xf7, 0x6b, 0xf4, 0x9c, 0x30, + 0x90, 0x50, 0xf6, 0x16, 0x76, 0x9d, 0xc6, 0x73, 0xb5, 0xbc, 0x8a, 0xb6, + 0x1d, 0x98, 0xcb, 0xce, 0x36, 0x6f, 0x60, 0xec, 0x96, 0x49, 0x08, 0x85, + 0x5b, 0xc1, 0x8e, 0xb0, 0xea, 0x9e, 0x1f, 0xd6, 0x27, 0x7f, 0xb6, 0xe0, + 0x04, 0x12, 0xd2, 0x81 }; static unsigned char sigsha256[256] = { - 0x83, 0x53, 0x15, 0xfc, 0xca, 0xdb, 0xf6, 0x0d, - 0x53, 0x24, 0x5b, 0x5a, 0x8e, 0xd0, 0xbe, 0x5e, - 0xbc, 0xe8, 0x9e, 0x92, 0x3c, 0xfa, 0x93, 0x03, - 0xce, 0x2f, 0xc7, 0x6d, 0xd0, 0xbb, 0x9d, 0x06, - 0x83, 0xc6, 0xd3, 0xc0, 0xc1, 0x57, 0x9c, 0x82, - 0x17, 0x7f, 0xb5, 0xf8, 0x31, 0x18, 0xda, 0x46, - 0x05, 0x2c, 0xf8, 0xea, 0xaa, 0xcd, 0x99, 0x18, - 0xff, 0x23, 0x5e, 0xef, 0xf0, 0x87, 0x47, 0x6e, - 0x91, 0xfd, 0x19, 0x0b, 0x39, 0x19, 0x6a, 0xc8, - 0xdf, 0x71, 0x66, 0x8e, 0xa9, 0xa0, 0x79, 0x5c, - 0x2c, 0x52, 0x00, 0x61, 0x17, 0x86, 0x66, 0x03, - 0x52, 0xad, 0xec, 0x06, 0x53, 0xd9, 0x6d, 0xe3, - 0xe3, 0xea, 0x28, 0x15, 0xb3, 0x75, 0xf4, 0x61, - 0x7d, 0xed, 0x69, 0x2c, 0x24, 0xf3, 0x21, 0xb1, - 0x8a, 0xea, 0x60, 0xa2, 0x9e, 0x6a, 0xa6, 0x53, - 0x12, 0xf6, 0x5c, 0xef, 0xd7, 0x49, 0x4a, 0x02, - 0xe7, 0xf8, 0x64, 0x89, 0x13, 0xac, 0xd5, 0x1e, - 0x58, 0xff, 0xa1, 0x63, 0xdd, 0xa0, 0x1f, 0x44, - 0x99, 0x6a, 0x59, 0x7f, 0x35, 0xbd, 0xf1, 0xf3, - 0x7a, 0x28, 0x44, 0xe3, 0x4c, 0x68, 0xb1, 0xb3, - 0x97, 0x3c, 0x46, 0xe3, 0xc2, 0x12, 0x9e, 0x68, - 0x0b, 0xa6, 0x6c, 0x8f, 0x58, 0x48, 0x44, 0xa4, - 0xf7, 0xa7, 0xc2, 0x91, 0x8f, 0xbf, 0x00, 0xd0, - 0x01, 0x35, 0xd4, 0x86, 0x6e, 0x1f, 0xea, 0x42, - 0x60, 0xb1, 0x84, 0x27, 0xf4, 0x99, 0x36, 0x06, - 0x98, 0x12, 0x83, 0x32, 0x9f, 0xcd, 0x50, 0x5a, - 0x5e, 0xb8, 0x8e, 0xfe, 0x8d, 0x8d, 0x33, 0x2d, - 0x45, 0xe1, 0xc9, 0xdf, 0x2a, 0xd8, 0x38, 0x1d, - 0x95, 0xd4, 0x42, 0xee, 0x93, 0x5b, 0x0f, 0x1e, - 0x07, 0x06, 0x3a, 0x92, 0xf1, 0x59, 0x1d, 0x6e, - 0x1c, 0x31, 0xf3, 0xce, 0xa9, 0x1f, 0xad, 0x4d, - 0x76, 0x4d, 0x24, 0x98, 0xe2, 0x0e, 0x8c, 0x35 + 0x83, 0x53, 0x15, 0xfc, 0xca, 0xdb, 0xf6, 0x0d, 0x53, 0x24, 0x5b, 0x5a, + 0x8e, 0xd0, 0xbe, 0x5e, 0xbc, 0xe8, 0x9e, 0x92, 0x3c, 0xfa, 0x93, 0x03, + 0xce, 0x2f, 0xc7, 0x6d, 0xd0, 0xbb, 0x9d, 0x06, 0x83, 0xc6, 0xd3, 0xc0, + 0xc1, 0x57, 0x9c, 0x82, 0x17, 0x7f, 0xb5, 0xf8, 0x31, 0x18, 0xda, 0x46, + 0x05, 0x2c, 0xf8, 0xea, 0xaa, 0xcd, 0x99, 0x18, 0xff, 0x23, 0x5e, 0xef, + 0xf0, 0x87, 0x47, 0x6e, 0x91, 0xfd, 0x19, 0x0b, 0x39, 0x19, 0x6a, 0xc8, + 0xdf, 0x71, 0x66, 0x8e, 0xa9, 0xa0, 0x79, 0x5c, 0x2c, 0x52, 0x00, 0x61, + 0x17, 0x86, 0x66, 0x03, 0x52, 0xad, 0xec, 0x06, 0x53, 0xd9, 0x6d, 0xe3, + 0xe3, 0xea, 0x28, 0x15, 0xb3, 0x75, 0xf4, 0x61, 0x7d, 0xed, 0x69, 0x2c, + 0x24, 0xf3, 0x21, 0xb1, 0x8a, 0xea, 0x60, 0xa2, 0x9e, 0x6a, 0xa6, 0x53, + 0x12, 0xf6, 0x5c, 0xef, 0xd7, 0x49, 0x4a, 0x02, 0xe7, 0xf8, 0x64, 0x89, + 0x13, 0xac, 0xd5, 0x1e, 0x58, 0xff, 0xa1, 0x63, 0xdd, 0xa0, 0x1f, 0x44, + 0x99, 0x6a, 0x59, 0x7f, 0x35, 0xbd, 0xf1, 0xf3, 0x7a, 0x28, 0x44, 0xe3, + 0x4c, 0x68, 0xb1, 0xb3, 0x97, 0x3c, 0x46, 0xe3, 0xc2, 0x12, 0x9e, 0x68, + 0x0b, 0xa6, 0x6c, 0x8f, 0x58, 0x48, 0x44, 0xa4, 0xf7, 0xa7, 0xc2, 0x91, + 0x8f, 0xbf, 0x00, 0xd0, 0x01, 0x35, 0xd4, 0x86, 0x6e, 0x1f, 0xea, 0x42, + 0x60, 0xb1, 0x84, 0x27, 0xf4, 0x99, 0x36, 0x06, 0x98, 0x12, 0x83, 0x32, + 0x9f, 0xcd, 0x50, 0x5a, 0x5e, 0xb8, 0x8e, 0xfe, 0x8d, 0x8d, 0x33, 0x2d, + 0x45, 0xe1, 0xc9, 0xdf, 0x2a, 0xd8, 0x38, 0x1d, 0x95, 0xd4, 0x42, 0xee, + 0x93, 0x5b, 0x0f, 0x1e, 0x07, 0x06, 0x3a, 0x92, 0xf1, 0x59, 0x1d, 0x6e, + 0x1c, 0x31, 0xf3, 0xce, 0xa9, 0x1f, 0xad, 0x4d, 0x76, 0x4d, 0x24, 0x98, + 0xe2, 0x0e, 0x8c, 0x35 }; static unsigned char sigsha512[512] = { - 0x4e, 0x2f, 0x63, 0x42, 0xc5, 0xf3, 0x05, 0x4a, - 0xa6, 0x3a, 0x93, 0xa0, 0xd9, 0x33, 0xa0, 0xd1, - 0x46, 0x33, 0x42, 0xe8, 0x74, 0xeb, 0x3b, 0x10, - 0x82, 0xd7, 0xcf, 0x39, 0x23, 0xb3, 0xe9, 0x23, - 0x53, 0x87, 0x8c, 0xee, 0x78, 0xcb, 0xb3, 0xd9, - 0xd2, 0x6d, 0x1a, 0x7c, 0x01, 0x4f, 0xed, 0x8d, - 0xf2, 0x72, 0xe4, 0x6a, 0x00, 0x8a, 0x60, 0xa6, - 0xd5, 0x9c, 0x43, 0x6c, 0xef, 0x38, 0x0c, 0x74, - 0x82, 0x5d, 0x22, 0xaa, 0x87, 0x81, 0x90, 0x9c, - 0x64, 0x07, 0x9b, 0x13, 0x51, 0xe0, 0xa5, 0xc2, - 0x83, 0x78, 0x2b, 0x9b, 0xb3, 0x8a, 0x9d, 0x36, - 0x33, 0xbd, 0x0d, 0x53, 0x84, 0xae, 0xe8, 0x13, - 0x36, 0xf6, 0xdf, 0x96, 0xe9, 0xda, 0xc3, 0xd7, - 0xa9, 0x2f, 0xf3, 0x5e, 0x5f, 0x1f, 0x7f, 0x38, - 0x7e, 0x8d, 0xbe, 0x90, 0x5e, 0x13, 0xb2, 0x20, - 0xbb, 0x9d, 0xfe, 0xe1, 0x52, 0xce, 0xe6, 0x80, - 0xa7, 0x95, 0x24, 0x59, 0xe3, 0xac, 0x24, 0xc4, - 0xfa, 0x1c, 0x44, 0x34, 0x29, 0x8d, 0xb1, 0xd0, - 0xd9, 0x4c, 0xff, 0xc4, 0xdb, 0xca, 0xc4, 0x3f, - 0x38, 0xf9, 0xe4, 0xaf, 0x75, 0x0a, 0x67, 0x4d, - 0xa0, 0x2b, 0xb0, 0x83, 0xce, 0x53, 0xc4, 0xb9, - 0x2e, 0x61, 0xb6, 0x64, 0xe5, 0xb5, 0xe5, 0xac, - 0x9d, 0x51, 0xec, 0x58, 0x42, 0x90, 0x78, 0xf6, - 0x46, 0x96, 0xef, 0xb6, 0x97, 0xb7, 0x54, 0x28, - 0x1a, 0x4c, 0x29, 0xf4, 0x7a, 0x33, 0xc6, 0x07, - 0xfd, 0xec, 0x97, 0x36, 0x1d, 0x42, 0x88, 0x94, - 0x27, 0xc2, 0xa3, 0xe1, 0xd4, 0x87, 0xa1, 0x8a, - 0x2b, 0xff, 0x47, 0x60, 0xfe, 0x1f, 0xaf, 0xc2, - 0xeb, 0x17, 0xdd, 0x56, 0xc5, 0x94, 0x5c, 0xcb, - 0x23, 0xe5, 0x49, 0x4d, 0x99, 0x06, 0x02, 0x5a, - 0xfc, 0xfc, 0xdc, 0xee, 0x49, 0xbc, 0x47, 0x60, - 0xff, 0x6a, 0x63, 0x8b, 0xe1, 0x2e, 0xa3, 0xa7 + 0x4e, 0x2f, 0x63, 0x42, 0xc5, 0xf3, 0x05, 0x4a, 0xa6, 0x3a, 0x93, 0xa0, + 0xd9, 0x33, 0xa0, 0xd1, 0x46, 0x33, 0x42, 0xe8, 0x74, 0xeb, 0x3b, 0x10, + 0x82, 0xd7, 0xcf, 0x39, 0x23, 0xb3, 0xe9, 0x23, 0x53, 0x87, 0x8c, 0xee, + 0x78, 0xcb, 0xb3, 0xd9, 0xd2, 0x6d, 0x1a, 0x7c, 0x01, 0x4f, 0xed, 0x8d, + 0xf2, 0x72, 0xe4, 0x6a, 0x00, 0x8a, 0x60, 0xa6, 0xd5, 0x9c, 0x43, 0x6c, + 0xef, 0x38, 0x0c, 0x74, 0x82, 0x5d, 0x22, 0xaa, 0x87, 0x81, 0x90, 0x9c, + 0x64, 0x07, 0x9b, 0x13, 0x51, 0xe0, 0xa5, 0xc2, 0x83, 0x78, 0x2b, 0x9b, + 0xb3, 0x8a, 0x9d, 0x36, 0x33, 0xbd, 0x0d, 0x53, 0x84, 0xae, 0xe8, 0x13, + 0x36, 0xf6, 0xdf, 0x96, 0xe9, 0xda, 0xc3, 0xd7, 0xa9, 0x2f, 0xf3, 0x5e, + 0x5f, 0x1f, 0x7f, 0x38, 0x7e, 0x8d, 0xbe, 0x90, 0x5e, 0x13, 0xb2, 0x20, + 0xbb, 0x9d, 0xfe, 0xe1, 0x52, 0xce, 0xe6, 0x80, 0xa7, 0x95, 0x24, 0x59, + 0xe3, 0xac, 0x24, 0xc4, 0xfa, 0x1c, 0x44, 0x34, 0x29, 0x8d, 0xb1, 0xd0, + 0xd9, 0x4c, 0xff, 0xc4, 0xdb, 0xca, 0xc4, 0x3f, 0x38, 0xf9, 0xe4, 0xaf, + 0x75, 0x0a, 0x67, 0x4d, 0xa0, 0x2b, 0xb0, 0x83, 0xce, 0x53, 0xc4, 0xb9, + 0x2e, 0x61, 0xb6, 0x64, 0xe5, 0xb5, 0xe5, 0xac, 0x9d, 0x51, 0xec, 0x58, + 0x42, 0x90, 0x78, 0xf6, 0x46, 0x96, 0xef, 0xb6, 0x97, 0xb7, 0x54, 0x28, + 0x1a, 0x4c, 0x29, 0xf4, 0x7a, 0x33, 0xc6, 0x07, 0xfd, 0xec, 0x97, 0x36, + 0x1d, 0x42, 0x88, 0x94, 0x27, 0xc2, 0xa3, 0xe1, 0xd4, 0x87, 0xa1, 0x8a, + 0x2b, 0xff, 0x47, 0x60, 0xfe, 0x1f, 0xaf, 0xc2, 0xeb, 0x17, 0xdd, 0x56, + 0xc5, 0x94, 0x5c, 0xcb, 0x23, 0xe5, 0x49, 0x4d, 0x99, 0x06, 0x02, 0x5a, + 0xfc, 0xfc, 0xdc, 0xee, 0x49, 0xbc, 0x47, 0x60, 0xff, 0x6a, 0x63, 0x8b, + 0xe1, 0x2e, 0xa3, 0xa7 }; /* RSA verify */ static void -isc_rsa_verify_test(void **state) { - isc_result_t ret; +isc_rsa_verify_test(void **state) +{ + isc_result_t ret; dns_fixedname_t fname; - isc_buffer_t buf; - dns_name_t *name; - dst_key_t *key = NULL; - dst_context_t *ctx = NULL; - isc_region_t r; + isc_buffer_t buf; + dns_name_t * name; + dst_key_t * key = NULL; + dst_context_t * ctx = NULL; + isc_region_t r; UNUSED(state); @@ -182,14 +152,14 @@ isc_rsa_verify_test(void **state) { ret = dns_name_fromtext(name, &buf, NULL, 0, NULL); assert_int_equal(ret, ISC_R_SUCCESS); - ret = dst_key_fromfile(name, 29235, DST_ALG_RSASHA1, - DST_TYPE_PUBLIC, "./", dt_mctx, &key); + ret = dst_key_fromfile(name, 29235, DST_ALG_RSASHA1, DST_TYPE_PUBLIC, + "./", dt_mctx, &key); assert_int_equal(ret, ISC_R_SUCCESS); /* RSASHA1 */ - ret = dst_context_create(key, dt_mctx, DNS_LOGCATEGORY_DNSSEC, - false, 0, &ctx); + ret = dst_context_create(key, dt_mctx, DNS_LOGCATEGORY_DNSSEC, false, 0, + &ctx); assert_int_equal(ret, ISC_R_SUCCESS); r.base = d; @@ -208,8 +178,8 @@ isc_rsa_verify_test(void **state) { key->key_alg = DST_ALG_RSASHA256; - ret = dst_context_create(key, dt_mctx, DNS_LOGCATEGORY_DNSSEC, - false, 0, &ctx); + ret = dst_context_create(key, dt_mctx, DNS_LOGCATEGORY_DNSSEC, false, 0, + &ctx); assert_int_equal(ret, ISC_R_SUCCESS); r.base = d; @@ -228,8 +198,8 @@ isc_rsa_verify_test(void **state) { key->key_alg = DST_ALG_RSASHA512; - ret = dst_context_create(key, dt_mctx, DNS_LOGCATEGORY_DNSSEC, - false, 0, &ctx); + ret = dst_context_create(key, dt_mctx, DNS_LOGCATEGORY_DNSSEC, false, 0, + &ctx); assert_int_equal(ret, ISC_R_SUCCESS); r.base = d; @@ -244,15 +214,15 @@ isc_rsa_verify_test(void **state) { dst_context_destroy(&ctx); - dst_key_free(&key); } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(isc_rsa_verify_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(isc_rsa_verify_test, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -263,7 +233,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/sigs_test.c b/lib/dns/tests/sigs_test.c index 78f267e0a6..8acbabc15b 100644 --- a/lib/dns/tests/sigs_test.c +++ b/lib/dns/tests/sigs_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -43,14 +42,14 @@ #include #include -#include - #include "../zone_p.h" - #include "dnstest.h" +#include + static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -62,7 +61,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -76,20 +76,23 @@ _teardown(void **state) { */ typedef struct { dns_diffop_t op; - const char *owner; - dns_ttl_t ttl; - const char *type; + const char * owner; + dns_ttl_t ttl; + const char * type; } zonediff_t; -#define ZONEDIFF_SENTINEL { 0, NULL, 0, NULL } +#define ZONEDIFF_SENTINEL \ + { \ + 0, NULL, 0, NULL \ + } /*% * Structure defining a dns__zone_updatesigs() test. */ typedef struct { - const char *description; /* test description */ - const zonechange_t *changes; /* array of "raw" zone changes */ - const zonediff_t *zonediff; /* array of "processed" zone changes */ + const char * description; /* test description */ + const zonechange_t *changes; /* array of "raw" zone changes */ + const zonediff_t * zonediff; /* array of "processed" zone changes */ } updatesigs_test_params_t; /*% @@ -97,19 +100,18 @@ typedef struct { * the 'index'th tuple output by dns__zone_updatesigs() in test 'test'. */ static void -compare_tuples(const zonediff_t *expected, dns_difftuple_t *found, - size_t index) +compare_tuples(const zonediff_t *expected, dns_difftuple_t *found, size_t index) { - char found_covers[DNS_RDATATYPE_FORMATSIZE] = { }; - char found_type[DNS_RDATATYPE_FORMATSIZE] = { }; - char found_name[DNS_NAME_FORMATSIZE]; + char found_covers[DNS_RDATATYPE_FORMATSIZE] = {}; + char found_type[DNS_RDATATYPE_FORMATSIZE] = {}; + char found_name[DNS_NAME_FORMATSIZE]; isc_consttextregion_t typeregion; - dns_fixedname_t expected_fname; - dns_rdatatype_t expected_type; - dns_name_t *expected_name; - dns_rdata_rrsig_t rrsig; - isc_buffer_t typebuf; - isc_result_t result; + dns_fixedname_t expected_fname; + dns_rdatatype_t expected_type; + dns_name_t * expected_name; + dns_rdata_rrsig_t rrsig; + isc_buffer_t typebuf; + isc_result_t result; REQUIRE(expected != NULL); REQUIRE(found != NULL); @@ -124,7 +126,8 @@ compare_tuples(const zonediff_t *expected, dns_difftuple_t *found, * Check owner name. */ expected_name = dns_fixedname_initname(&expected_fname); - result = dns_name_fromstring(expected_name, expected->owner, 0, dt_mctx); + result = + dns_name_fromstring(expected_name, expected->owner, 0, dt_mctx); assert_int_equal(result, ISC_R_SUCCESS); dns_name_format(&found->name, found_name, sizeof(found_name)); assert_true(dns_name_equal(expected_name, &found->name)); @@ -140,7 +143,7 @@ compare_tuples(const zonediff_t *expected, dns_difftuple_t *found, typeregion.base = expected->type; typeregion.length = strlen(expected->type); result = dns_rdatatype_fromtext(&expected_type, - (isc_textregion_t*)&typeregion); + (isc_textregion_t *)&typeregion); assert_int_equal(result, ISC_R_SUCCESS); /* @@ -192,12 +195,12 @@ updatesigs_test(const updatesigs_test_params_t *test, dns_zone_t *zone, dns_db_t *db, dst_key_t *zone_keys[], unsigned int nkeys, isc_stdtime_t now) { - size_t tuples_expected, tuples_found, index; - dns_dbversion_t *version = NULL; - dns_diff_t raw_diff, zone_diff; + size_t tuples_expected, tuples_found, index; + dns_dbversion_t * version = NULL; + dns_diff_t raw_diff, zone_diff; const zonediff_t *expected; - dns_difftuple_t *found; - isc_result_t result; + dns_difftuple_t * found; + isc_result_t result; dns__zonediff_t zonediff = { .diff = &zone_diff, @@ -255,10 +258,8 @@ updatesigs_test(const updatesigs_test_params_t *test, dns_zone_t *zone, } tuples_found = 0; - for (found = ISC_LIST_HEAD(zone_diff.tuples); - found != NULL; - found = ISC_LIST_NEXT(found, link)) - { + for (found = ISC_LIST_HEAD(zone_diff.tuples); found != NULL; + found = ISC_LIST_NEXT(found, link)) { tuples_found++; } @@ -269,10 +270,8 @@ updatesigs_test(const updatesigs_test_params_t *test, dns_zone_t *zone, */ expected = test->zonediff; index = 1; - for (found = ISC_LIST_HEAD(zone_diff.tuples); - found != NULL; - found = ISC_LIST_NEXT(found, link)) - { + for (found = ISC_LIST_HEAD(zone_diff.tuples); found != NULL; + found = ISC_LIST_NEXT(found, link)) { compare_tuples(expected, found, index); expected++; index++; @@ -288,14 +287,15 @@ updatesigs_test(const updatesigs_test_params_t *test, dns_zone_t *zone, /* dns__zone_updatesigs() tests */ static void -updatesigs_next_test(void **state) { - dst_key_t *zone_keys[DNS_MAXZONEKEYS]; - dns_zone_t *zone = NULL; - dns_db_t *db = NULL; - isc_result_t result; - unsigned int nkeys; +updatesigs_next_test(void **state) +{ + dst_key_t * zone_keys[DNS_MAXZONEKEYS]; + dns_zone_t * zone = NULL; + dns_db_t * db = NULL; + isc_result_t result; + unsigned int nkeys; isc_stdtime_t now; - size_t i; + size_t i; UNUSED(state); @@ -315,8 +315,7 @@ updatesigs_next_test(void **state) { isc_stdtime_get(&now); result = dns__zone_findkeys(zone, db, NULL, now, dt_mctx, - DNS_MAXZONEKEYS, - zone_keys, &nkeys); + DNS_MAXZONEKEYS, zone_keys, &nkeys); assert_int_equal(result, ISC_R_SUCCESS); assert_int_equal(nkeys, 2); @@ -418,11 +417,8 @@ updatesigs_next_test(void **state) { }; const updatesigs_test_params_t *tests[] = { - &test_add, - &test_append, - &test_replace, - &test_delete, - &test_mixed, + &test_add, &test_append, &test_replace, + &test_delete, &test_mixed, }; /* @@ -443,10 +439,11 @@ updatesigs_next_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(updatesigs_next_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(updatesigs_next_test, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -457,7 +454,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/time_test.c b/lib/dns/tests/time_test.c index c1c0362021..1a94d99cd4 100644 --- a/lib/dns/tests/time_test.c +++ b/lib/dns/tests/time_test.c @@ -11,12 +11,11 @@ #if HAVE_CMOCKA -#include -#include -#include - #include #include /* IWYU pragma: keep */ +#include +#include +#include #include #include #include @@ -30,10 +29,11 @@ #include "dnstest.h" -#define TEST_ORIGIN "test" +#define TEST_ORIGIN "test" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -45,7 +45,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -55,13 +56,14 @@ _teardown(void **state) { /* value = 0xfffffffff <-> 19691231235959 */ static void -epoch_minus_one_test(void **state) { - const char *test_text = "19691231235959"; +epoch_minus_one_test(void **state) +{ + const char * test_text = "19691231235959"; const uint32_t test_time = 0xffffffff; - isc_result_t result; - isc_buffer_t target; - uint32_t when; - char buf[128]; + isc_result_t result; + isc_buffer_t target; + uint32_t when; + char buf[128]; UNUSED(state); @@ -77,13 +79,14 @@ epoch_minus_one_test(void **state) { /* value = 0x000000000 <-> 19700101000000*/ static void -epoch_test(void **state) { - const char *test_text = "19700101000000"; +epoch_test(void **state) +{ + const char * test_text = "19700101000000"; const uint32_t test_time = 0x00000000; - isc_result_t result; - isc_buffer_t target; - uint32_t when; - char buf[128]; + isc_result_t result; + isc_buffer_t target; + uint32_t when; + char buf[128]; UNUSED(state); @@ -99,13 +102,14 @@ epoch_test(void **state) { /* value = 0x7fffffff <-> 20380119031407 */ static void -half_maxint_test(void **state) { - const char *test_text = "20380119031407"; +half_maxint_test(void **state) +{ + const char * test_text = "20380119031407"; const uint32_t test_time = 0x7fffffff; - isc_result_t result; - isc_buffer_t target; - uint32_t when; - char buf[128]; + isc_result_t result; + isc_buffer_t target; + uint32_t when; + char buf[128]; UNUSED(state); @@ -121,13 +125,14 @@ half_maxint_test(void **state) { /* value = 0x80000000 <-> 20380119031408 */ static void -half_plus_one_test(void **state) { - const char *test_text = "20380119031408"; +half_plus_one_test(void **state) +{ + const char * test_text = "20380119031408"; const uint32_t test_time = 0x80000000; - isc_result_t result; - isc_buffer_t target; - uint32_t when; - char buf[128]; + isc_result_t result; + isc_buffer_t target; + uint32_t when; + char buf[128]; UNUSED(state); @@ -143,13 +148,14 @@ half_plus_one_test(void **state) { /* value = 0xef68f5d0 <-> 19610307130000 */ static void -fifty_before_test(void **state) { - isc_result_t result; - const char *test_text = "19610307130000"; +fifty_before_test(void **state) +{ + isc_result_t result; + const char * test_text = "19610307130000"; const uint32_t test_time = 0xef68f5d0; - isc_buffer_t target; - uint32_t when; - char buf[128]; + isc_buffer_t target; + uint32_t when; + char buf[128]; UNUSED(state); @@ -165,13 +171,14 @@ fifty_before_test(void **state) { /* value = 0x4d74d6d0 <-> 20110307130000 */ static void -some_ago_test(void **state) { - const char *test_text = "20110307130000"; +some_ago_test(void **state) +{ + const char * test_text = "20110307130000"; const uint32_t test_time = 0x4d74d6d0; - isc_result_t result; - isc_buffer_t target; - uint32_t when; - char buf[128]; + isc_result_t result; + isc_buffer_t target; + uint32_t when; + char buf[128]; UNUSED(state); @@ -186,20 +193,20 @@ some_ago_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(epoch_minus_one_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(epoch_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(half_maxint_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(half_plus_one_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(fifty_before_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(some_ago_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(epoch_minus_one_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(epoch_test, _setup, _teardown), + cmocka_unit_test_setup_teardown(half_maxint_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(half_plus_one_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(fifty_before_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(some_ago_test, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -210,7 +217,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/tkey_test.c b/lib/dns/tests/tkey_test.c index f89611206e..9c7d754cd3 100644 --- a/lib/dns/tests/tkey_test.c +++ b/lib/dns/tests/tkey_test.c @@ -11,14 +11,14 @@ #if HAVE_CMOCKA -#include -#include -#include - #include /* IWYU pragma: keep */ +#include +#include #include +#include #include +#define UNIT_TESTING #include #include @@ -28,11 +28,9 @@ #include #if defined(USE_LIBTOOL) || LD_WRAP -static isc_mem_t mock_mctx = { - .impmagic = 0, - .magic = ISCAPI_MCTX_MAGIC, - .methods = NULL -}; +static isc_mem_t mock_mctx = { .impmagic = 0, + .magic = ISCAPI_MCTX_MAGIC, + .methods = NULL }; void * __wrap_isc__mem_get(isc_mem_t *mctx, size_t size); @@ -52,15 +50,16 @@ __wrap_isc__mem_get(isc_mem_t *mctx, size_t size) UNUSED(mctx); - mock_assert(has_enough_memory, "mock isc_mem_get failed", - __FILE__, __LINE__); + mock_assert(has_enough_memory, "mock isc_mem_get failed", __FILE__, + __LINE__); /* cppcheck-suppress leakNoVarFunctionCall */ return (malloc(size)); } void -__wrap_isc__mem_put(isc_mem_t *ctx0, void *ptr, size_t size) { +__wrap_isc__mem_put(isc_mem_t *ctx0, void *ptr, size_t size) +{ UNUSED(ctx0); UNUSED(size); @@ -68,17 +67,20 @@ __wrap_isc__mem_put(isc_mem_t *ctx0, void *ptr, size_t size) { } void -__wrap_isc_mem_attach(isc_mem_t *source0, isc_mem_t **targetp) { +__wrap_isc_mem_attach(isc_mem_t *source0, isc_mem_t **targetp) +{ *targetp = source0; } void -__wrap_isc_mem_detach(isc_mem_t **ctxp) { +__wrap_isc_mem_detach(isc_mem_t **ctxp) +{ *ctxp = NULL; } void -__wrap_isc__mem_putanddetach(isc_mem_t **ctxp, void *ptr, size_t size) { +__wrap_isc__mem_putanddetach(isc_mem_t **ctxp, void *ptr, size_t size) +{ isc_mem_t *ctx = *ctxp; __wrap_isc__mem_put(ctx, ptr, size); __wrap_isc_mem_detach(ctxp); @@ -86,7 +88,7 @@ __wrap_isc__mem_putanddetach(isc_mem_t **ctxp, void *ptr, size_t size) { #ifdef USE_LIBTOOL #if ISC_MEM_TRACKLINES -#define FLARG , const char *file, unsigned int line +#define FLARG , const char *file, unsigned int line #else #define FLARG #endif @@ -108,17 +110,20 @@ isc__mem_put(isc_mem_t *ctx0, void *ptr, size_t size FLARG) } void -isc_mem_attach(isc_mem_t *source0, isc_mem_t **targetp) { +isc_mem_attach(isc_mem_t *source0, isc_mem_t **targetp) +{ __wrap_isc_mem_attach(source0, targetp); } void -isc_mem_detach(isc_mem_t **ctxp) { +isc_mem_detach(isc_mem_t **ctxp) +{ __wrap_isc_mem_detach(ctxp); } void -isc__mem_putanddetach(isc_mem_t **ctxp, void *ptr, size_t size FLARG){ +isc__mem_putanddetach(isc_mem_t **ctxp, void *ptr, size_t size FLARG) +{ UNUSED(file); UNUSED(line); __wrap_isc__mem_putanddetach(ctxp, ptr, size); @@ -126,7 +131,8 @@ isc__mem_putanddetach(isc_mem_t **ctxp, void *ptr, size_t size FLARG){ #endif /* USE_LIBTOOL */ static int -_setup(void **state) { +_setup(void **state) +{ dns_tkeyctx_t *tctx = NULL; will_return(__wrap_isc__mem_get, true); if (dns_tkeyctx_create(&mock_mctx, &tctx) != ISC_R_SUCCESS) { @@ -137,7 +143,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ dns_tkeyctx_t *tctx = *state; if (tctx != NULL) { dns_tkeyctx_destroy(&tctx); @@ -146,7 +153,8 @@ _teardown(void **state) { } static void -dns_tkeyctx_create_test(void **state) { +dns_tkeyctx_create_test(void **state) +{ dns_tkeyctx_t *tctx; tctx = NULL; @@ -155,13 +163,13 @@ dns_tkeyctx_create_test(void **state) { tctx = NULL; will_return(__wrap_isc__mem_get, true); - assert_int_equal(dns_tkeyctx_create(&mock_mctx, &tctx), - ISC_R_SUCCESS); + assert_int_equal(dns_tkeyctx_create(&mock_mctx, &tctx), ISC_R_SUCCESS); *state = tctx; } static void -dns_tkeyctx_destroy_test(void **state) { +dns_tkeyctx_destroy_test(void **state) +{ dns_tkeyctx_t *tctx = *state; assert_non_null(tctx); @@ -170,7 +178,8 @@ dns_tkeyctx_destroy_test(void **state) { #endif /* defined(USE_LIBTOOL) || LD_WRAP */ int -main(void) { +main(void) +{ #if defined(USE_LIBTOOL) || LD_WRAP const struct CMUnitTest tkey_tests[] = { cmocka_unit_test_teardown(dns_tkeyctx_create_test, _teardown), @@ -187,7 +196,7 @@ main(void) { #endif }; return (cmocka_run_group_tests(tkey_tests, NULL, NULL)); -#else /* defined(USE_LIBTOOL) || LD_WRAP */ +#else /* defined(USE_LIBTOOL) || LD_WRAP */ print_message("1..0 # Skip tkey_test requires libtool or LD_WRAP\n"); #endif /* defined(USE_LIBTOOL) || LD_WRAP */ } @@ -197,7 +206,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/tsig_test.c b/lib/dns/tests/tsig_test.c index 648500a6b8..93c0830798 100644 --- a/lib/dns/tests/tsig_test.c +++ b/lib/dns/tests/tsig_test.c @@ -11,12 +11,11 @@ #if HAVE_CMOCKA -#include -#include -#include - #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include @@ -32,21 +31,21 @@ #include #include "../tsig_p.h" - #include "dnstest.h" -#define CHECK(r) \ - do { \ - result = (r); \ - if (result != ISC_R_SUCCESS) { \ - goto cleanup; \ - } \ +#define CHECK(r) \ + do { \ + result = (r); \ + if (result != ISC_R_SUCCESS) { \ + goto cleanup; \ + } \ } while (0) -#define TEST_ORIGIN "test" +#define TEST_ORIGIN "test" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -58,7 +57,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -69,17 +69,18 @@ _teardown(void **state) { static int debug = 0; static isc_result_t -add_mac(dst_context_t *tsigctx, isc_buffer_t *buf) { +add_mac(dst_context_t *tsigctx, isc_buffer_t *buf) +{ dns_rdata_any_tsig_t tsig; - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_buffer_t databuf; - isc_region_t r; - isc_result_t result; - unsigned char tsigbuf[1024]; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_buffer_t databuf; + isc_region_t r; + isc_result_t result; + unsigned char tsigbuf[1024]; isc_buffer_usedregion(buf, &r); - dns_rdata_fromregion(&rdata, dns_rdataclass_any, - dns_rdatatype_tsig, &r); + dns_rdata_fromregion(&rdata, dns_rdataclass_any, dns_rdatatype_tsig, + &r); isc_buffer_init(&databuf, tsigbuf, sizeof(tsigbuf)); CHECK(dns_rdata_tostruct(&rdata, &tsig, NULL)); isc_buffer_putuint16(&databuf, tsig.siglen); @@ -87,27 +88,28 @@ add_mac(dst_context_t *tsigctx, isc_buffer_t *buf) { isc_buffer_usedregion(&databuf, &r); result = dst_context_adddata(tsigctx, &r); dns_rdata_freestruct(&tsig); - cleanup: +cleanup: return (result); } static isc_result_t -add_tsig(dst_context_t *tsigctx, dns_tsigkey_t *key, isc_buffer_t *target) { - dns_compress_t cctx; +add_tsig(dst_context_t *tsigctx, dns_tsigkey_t *key, isc_buffer_t *target) +{ + dns_compress_t cctx; dns_rdata_any_tsig_t tsig; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdatalist_t rdatalist; - dns_rdataset_t rdataset; - isc_buffer_t *dynbuf = NULL; - isc_buffer_t databuf; - isc_buffer_t sigbuf; - isc_region_t r; - isc_result_t result = ISC_R_SUCCESS; - isc_stdtime_t now; - unsigned char tsigbuf[1024]; - unsigned int count; - unsigned int sigsize = 0; - bool invalidate_ctx = false; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdatalist_t rdatalist; + dns_rdataset_t rdataset; + isc_buffer_t * dynbuf = NULL; + isc_buffer_t databuf; + isc_buffer_t sigbuf; + isc_region_t r; + isc_result_t result = ISC_R_SUCCESS; + isc_stdtime_t now; + unsigned char tsigbuf[1024]; + unsigned int count; + unsigned int sigsize = 0; + bool invalidate_ctx = false; memset(&tsig, 0, sizeof(tsig)); @@ -150,17 +152,17 @@ add_tsig(dst_context_t *tsigctx, dns_tsigkey_t *key, isc_buffer_t *target) { ISC_LIST_APPEND(rdatalist.rdata, &rdata, link); dns_rdataset_init(&rdataset); CHECK(dns_rdatalist_tordataset(&rdatalist, &rdataset)); - CHECK(dns_rdataset_towire(&rdataset, &key->name, &cctx, - target, 0, &count)); + CHECK(dns_rdataset_towire(&rdataset, &key->name, &cctx, target, 0, + &count)); /* * Fixup additional record count. */ - ((unsigned char*)target->base)[11]++; - if (((unsigned char*)target->base)[11] == 0) { - ((unsigned char*)target->base)[10]++; + ((unsigned char *)target->base)[11]++; + if (((unsigned char *)target->base)[11] == 0) { + ((unsigned char *)target->base)[10]++; } - cleanup: +cleanup: if (tsig.signature != NULL) { isc_mem_put(dt_mctx, tsig.signature, sigsize); } @@ -175,10 +177,11 @@ add_tsig(dst_context_t *tsigctx, dns_tsigkey_t *key, isc_buffer_t *target) { } static void -printmessage(dns_message_t *msg) { +printmessage(dns_message_t *msg) +{ isc_buffer_t b; - char *buf = NULL; - int len = 1024; + char * buf = NULL; + int len = 1024; isc_result_t result = ISC_R_SUCCESS; if (!debug) { @@ -189,13 +192,13 @@ printmessage(dns_message_t *msg) { buf = isc_mem_get(dt_mctx, len); isc_buffer_init(&b, buf, len); - result = dns_message_totext(msg, &dns_master_style_debug, - 0, &b); + result = + dns_message_totext(msg, &dns_master_style_debug, 0, &b); if (result == ISC_R_NOSPACE) { isc_mem_put(dt_mctx, buf, len); len *= 2; } else if (result == ISC_R_SUCCESS) { - printf("%.*s\n", (int) isc_buffer_usedlength(&b), buf); + printf("%.*s\n", (int)isc_buffer_usedlength(&b), buf); } } while (result == ISC_R_NOSPACE); @@ -206,12 +209,11 @@ printmessage(dns_message_t *msg) { static void render(isc_buffer_t *buf, unsigned flags, dns_tsigkey_t *key, - isc_buffer_t **tsigin, isc_buffer_t **tsigout, - dst_context_t *tsigctx) + isc_buffer_t **tsigin, isc_buffer_t **tsigout, dst_context_t *tsigctx) { dns_message_t *msg = NULL; dns_compress_t cctx; - isc_result_t result; + isc_result_t result; result = dns_message_create(dt_mctx, DNS_MESSAGE_INTENTRENDER, &msg); assert_int_equal(result, ISC_R_SUCCESS); @@ -238,7 +240,7 @@ render(isc_buffer_t *buf, unsigned flags, dns_tsigkey_t *key, assert_int_equal(result, ISC_R_SUCCESS); result = dns_message_setquerytsig(msg, *tsigin); - assert_int_equal(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); } result = dns_compress_init(&cctx, -1, dt_mctx); @@ -276,21 +278,22 @@ render(isc_buffer_t *buf, unsigned flags, dns_tsigkey_t *key, * correctly verifies. */ static void -tsig_tcp_test(void **state) { - const dns_name_t *tsigowner = NULL; - dns_fixedname_t fkeyname; - dns_message_t *msg = NULL; - dns_name_t *keyname; +tsig_tcp_test(void **state) +{ + const dns_name_t * tsigowner = NULL; + dns_fixedname_t fkeyname; + dns_message_t * msg = NULL; + dns_name_t * keyname; dns_tsig_keyring_t *ring = NULL; - dns_tsigkey_t *key = NULL; - isc_buffer_t *buf = NULL; - isc_buffer_t *querytsig = NULL; - isc_buffer_t *tsigin = NULL; - isc_buffer_t *tsigout = NULL; - isc_result_t result; - unsigned char secret[16] = { 0 }; - dst_context_t *tsigctx = NULL; - dst_context_t *outctx = NULL; + dns_tsigkey_t * key = NULL; + isc_buffer_t * buf = NULL; + isc_buffer_t * querytsig = NULL; + isc_buffer_t * tsigin = NULL; + isc_buffer_t * tsigout = NULL; + isc_result_t result; + unsigned char secret[16] = { 0 }; + dst_context_t * tsigctx = NULL; + dst_context_t * outctx = NULL; UNUSED(state); @@ -303,9 +306,9 @@ tsig_tcp_test(void **state) { result = dns_tsigkeyring_create(dt_mctx, &ring); assert_int_equal(result, ISC_R_SUCCESS); - result = dns_tsigkey_create(keyname, dns_tsig_hmacsha256_name, - secret, sizeof(secret), false, - NULL, 0, 0, dt_mctx, ring, &key); + result = dns_tsigkey_create(keyname, dns_tsig_hmacsha256_name, secret, + sizeof(secret), false, NULL, 0, 0, dt_mctx, + ring, &key); assert_int_equal(result, ISC_R_SUCCESS); assert_non_null(key); @@ -486,7 +489,8 @@ tsig_tcp_test(void **state) { /* Tests the dns__tsig_algvalid function */ static void -algvalid_test(void **state) { +algvalid_test(void **state) +{ UNUSED(state); assert_true(dns__tsig_algvalid(DST_ALG_HMACMD5)); @@ -502,7 +506,8 @@ algvalid_test(void **state) { /* Tests the dns__tsig_algfromname function */ static void -algfromname_test(void **state) { +algfromname_test(void **state) +{ UNUSED(state); assert_int_equal(dns__tsig_algfromname(DNS_TSIG_HMACMD5_NAME), @@ -533,8 +538,10 @@ algfromname_test(void **state) { * the dns__tsig_algnamefromname function can correctly match it against the * static table of known algorithms. */ -static void test_name(const char *name_string, const dns_name_t *expected) { - dns_name_t name; +static void +test_name(const char *name_string, const dns_name_t *expected) +{ + dns_name_t name; dns_name_init(&name, NULL); assert_int_equal(dns_name_fromstring(&name, name_string, 0, dt_mctx), ISC_R_SUCCESS); @@ -543,7 +550,8 @@ static void test_name(const char *name_string, const dns_name_t *expected) { } static void -algnamefromname_test(void **state) { +algnamefromname_test(void **state) +{ UNUSED(state); /* test the standard algorithms */ @@ -563,8 +571,8 @@ algnamefromname_test(void **state) { /* Tests the dns__tsig_algallocated function */ static void -algallocated_test(void **state) { - +algallocated_test(void **state) +{ UNUSED(state); /* test the standard algorithms */ @@ -583,14 +591,15 @@ algallocated_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(tsig_tcp_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(tsig_tcp_test, _setup, + _teardown), cmocka_unit_test(algvalid_test), cmocka_unit_test(algfromname_test), - cmocka_unit_test_setup_teardown(algnamefromname_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(algnamefromname_test, _setup, + _teardown), cmocka_unit_test(algallocated_test), }; @@ -602,7 +611,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/update_test.c b/lib/dns/tests/update_test.c index 9798ccf192..2f3cb4afea 100644 --- a/lib/dns/tests/update_test.c +++ b/lib/dns/tests/update_test.c @@ -11,12 +11,11 @@ #if HAVE_CMOCKA -#include -#include -#include - #include #include /* IWYU pragma: keep */ +#include +#include +#include #include #include #include @@ -41,7 +40,8 @@ #include "../update.c" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -55,7 +55,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -66,7 +67,8 @@ _teardown(void **state) { static uint32_t mystdtime; static void -set_mystdtime(int year, int month, int day) { +set_mystdtime(int year, int month, int day) +{ struct tm tm; memset(&tm, 0, sizeof(tm)); @@ -76,13 +78,16 @@ set_mystdtime(int year, int month, int day) { mystdtime = timegm(&tm); } -void isc_stdtime_get(isc_stdtime_t *now) { +void +isc_stdtime_get(isc_stdtime_t *now) +{ *now = mystdtime; } /* simple increment by 1 */ static void -increment_test(void **state) { +increment_test(void **state) +{ uint32_t old = 50; uint32_t serial; @@ -96,7 +101,8 @@ increment_test(void **state) { /* increment past zero, 0xfffffffff -> 1 */ static void -increment_past_zero_test(void **state) { +increment_past_zero_test(void **state) +{ uint32_t old = 0xffffffffu; uint32_t serial; @@ -110,7 +116,8 @@ increment_past_zero_test(void **state) { /* past to unixtime */ static void -past_to_unix_test(void **state) { +past_to_unix_test(void **state) +{ uint32_t old; uint32_t serial; @@ -127,7 +134,8 @@ past_to_unix_test(void **state) { /* now to unixtime */ static void -now_to_unix_test(void **state) { +now_to_unix_test(void **state) +{ uint32_t old; uint32_t serial; @@ -144,7 +152,8 @@ now_to_unix_test(void **state) { /* future to unixtime */ static void -future_to_unix_test(void **state) { +future_to_unix_test(void **state) +{ uint32_t old; uint32_t serial; @@ -161,7 +170,8 @@ future_to_unix_test(void **state) { /* undefined plus 1 to unixtime */ static void -undefined_plus1_to_unix_test(void **state) { +undefined_plus1_to_unix_test(void **state) +{ uint32_t old; uint32_t serial; @@ -179,7 +189,8 @@ undefined_plus1_to_unix_test(void **state) { /* undefined minus 1 to unixtime */ static void -undefined_minus1_to_unix_test(void **state) { +undefined_minus1_to_unix_test(void **state) +{ uint32_t old; uint32_t serial; @@ -197,7 +208,8 @@ undefined_minus1_to_unix_test(void **state) { /* undefined to unixtime */ static void -undefined_to_unix_test(void **state) { +undefined_to_unix_test(void **state) +{ uint32_t old; uint32_t serial; @@ -214,7 +226,8 @@ undefined_to_unix_test(void **state) { /* handle unixtime being zero */ static void -unixtime_zero_test(void **state) { +unixtime_zero_test(void **state) +{ uint32_t old; uint32_t serial; @@ -231,7 +244,8 @@ unixtime_zero_test(void **state) { /* past to date */ static void -past_to_date_test(void **state) { +past_to_date_test(void **state) +{ uint32_t old, serial; UNUSED(state); @@ -249,7 +263,8 @@ past_to_date_test(void **state) { /* now to date */ static void -now_to_date_test(void **state) { +now_to_date_test(void **state) +{ uint32_t old; uint32_t serial; @@ -266,7 +281,8 @@ now_to_date_test(void **state) { /* future to date */ static void -future_to_date_test(void **state) { +future_to_date_test(void **state) +{ uint32_t old; uint32_t serial; @@ -283,32 +299,33 @@ future_to_date_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(increment_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(increment_test, _setup, + _teardown), cmocka_unit_test_setup_teardown(increment_past_zero_test, _setup, _teardown), - cmocka_unit_test_setup_teardown(past_to_unix_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(now_to_unix_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(future_to_unix_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(undefined_to_unix_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(past_to_unix_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(now_to_unix_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(future_to_unix_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(undefined_to_unix_test, _setup, + _teardown), cmocka_unit_test_setup_teardown(undefined_plus1_to_unix_test, _setup, _teardown), cmocka_unit_test_setup_teardown(undefined_minus1_to_unix_test, _setup, _teardown), - cmocka_unit_test_setup_teardown(unixtime_zero_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(past_to_date_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(now_to_date_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(future_to_date_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(unixtime_zero_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(past_to_date_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(now_to_date_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(future_to_date_test, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -319,7 +336,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/zonemgr_test.c b/lib/dns/tests/zonemgr_test.c index 2ab5c66ab3..a92c09abb9 100644 --- a/lib/dns/tests/zonemgr_test.c +++ b/lib/dns/tests/zonemgr_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -35,7 +34,8 @@ #include "dnstest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -47,7 +47,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -57,9 +58,10 @@ _teardown(void **state) { /* create zone manager */ static void -zonemgr_create(void **state) { +zonemgr_create(void **state) +{ dns_zonemgr_t *myzonemgr = NULL; - isc_result_t result; + isc_result_t result; UNUSED(state); @@ -74,10 +76,11 @@ zonemgr_create(void **state) { /* manage and release a zone */ static void -zonemgr_managezone(void **state) { +zonemgr_managezone(void **state) +{ dns_zonemgr_t *myzonemgr = NULL; - dns_zone_t *zone = NULL; - isc_result_t result; + dns_zone_t * zone = NULL; + isc_result_t result; UNUSED(state); @@ -115,10 +118,11 @@ zonemgr_managezone(void **state) { /* create and release a zone */ static void -zonemgr_createzone(void **state) { +zonemgr_createzone(void **state) +{ dns_zonemgr_t *myzonemgr = NULL; - dns_zone_t *zone = NULL; - isc_result_t result; + dns_zone_t * zone = NULL; + isc_result_t result; UNUSED(state); @@ -148,13 +152,14 @@ zonemgr_createzone(void **state) { /* manage and release a zone */ static void -zonemgr_unreachable(void **state) { +zonemgr_unreachable(void **state) +{ dns_zonemgr_t *myzonemgr = NULL; - dns_zone_t *zone = NULL; + dns_zone_t * zone = NULL; isc_sockaddr_t addr1, addr2; struct in_addr in; - isc_result_t result; - isc_time_t now; + isc_result_t result; + isc_time_t now; UNUSED(state); @@ -235,16 +240,17 @@ zonemgr_unreachable(void **state) { */ int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(zonemgr_create, - _setup, _teardown), - cmocka_unit_test_setup_teardown(zonemgr_managezone, - _setup, _teardown), - cmocka_unit_test_setup_teardown(zonemgr_createzone, - _setup, _teardown), - cmocka_unit_test_setup_teardown(zonemgr_unreachable, - _setup, _teardown), + cmocka_unit_test_setup_teardown(zonemgr_create, _setup, + _teardown), + cmocka_unit_test_setup_teardown(zonemgr_managezone, _setup, + _teardown), + cmocka_unit_test_setup_teardown(zonemgr_createzone, _setup, + _teardown), + cmocka_unit_test_setup_teardown(zonemgr_unreachable, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -255,7 +261,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/tests/zt_test.c b/lib/dns/tests/zt_test.c index b534b4190d..ca82e0f517 100644 --- a/lib/dns/tests/zt_test.c +++ b/lib/dns/tests/zt_test.c @@ -11,12 +11,11 @@ #if HAVE_CMOCKA -#include -#include -#include - #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include #include @@ -43,11 +42,12 @@ struct args { void *arg1; void *arg2; - bool arg3; + bool arg3; }; static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -59,7 +59,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); dns_test_end(); @@ -68,7 +69,8 @@ _teardown(void **state) { } static isc_result_t -count_zone(dns_zone_t *zone, void *uap) { +count_zone(dns_zone_t *zone, void *uap) +{ int *nzones = (int *)uap; UNUSED(zone); @@ -78,9 +80,10 @@ count_zone(dns_zone_t *zone, void *uap) { } static isc_result_t -load_done(dns_zt_t *zt, dns_zone_t *zone, isc_task_t *task) { +load_done(dns_zt_t *zt, dns_zone_t *zone, isc_task_t *task) +{ /* We treat zt as a pointer to a boolean for testing purposes */ - atomic_bool *done = (atomic_bool *) zt; + atomic_bool *done = (atomic_bool *)zt; UNUSED(zone); UNUSED(task); @@ -91,8 +94,9 @@ load_done(dns_zt_t *zt, dns_zone_t *zone, isc_task_t *task) { } static isc_result_t -all_done(void *arg) { - atomic_bool *done = (atomic_bool *) arg; +all_done(void *arg) +{ + atomic_bool *done = (atomic_bool *)arg; atomic_store(done, true); isc_app_shutdown(); @@ -100,7 +104,8 @@ all_done(void *arg) { } static void -start_zt_asyncload(isc_task_t *task, isc_event_t *event) { +start_zt_asyncload(isc_task_t *task, isc_event_t *event) +{ struct args *args = (struct args *)(event->ev_arg); UNUSED(task); @@ -111,7 +116,8 @@ start_zt_asyncload(isc_task_t *task, isc_event_t *event) { } static void -start_zone_asyncload(isc_task_t *task, isc_event_t *event) { +start_zone_asyncload(isc_task_t *task, isc_event_t *event) +{ struct args *args = (struct args *)(event->ev_arg); UNUSED(task); @@ -122,11 +128,12 @@ start_zone_asyncload(isc_task_t *task, isc_event_t *event) { /* apply a function to a zone table */ static void -apply(void **state) { +apply(void **state) +{ isc_result_t result; - dns_zone_t *zone = NULL; - dns_view_t *view = NULL; - int nzones = 0; + dns_zone_t * zone = NULL; + dns_view_t * view = NULL; + int nzones = 0; UNUSED(state); @@ -137,8 +144,8 @@ apply(void **state) { assert_non_null(view->zonetable); assert_int_equal(nzones, 0); - result = dns_zt_apply(view->zonetable, false, NULL, - count_zone, &nzones); + result = + dns_zt_apply(view->zonetable, false, NULL, count_zone, &nzones); assert_int_equal(result, ISC_R_SUCCESS); assert_int_equal(nzones, 1); @@ -157,17 +164,18 @@ apply(void **state) { /* asynchronous zone load */ static void -asyncload_zone(void **state) { +asyncload_zone(void **state) +{ isc_result_t result; - int n; - dns_zone_t *zone = NULL; - dns_view_t *view = NULL; - dns_db_t *db = NULL; - FILE* zonefile, *origfile; - char buf[4096]; - atomic_bool done; - int i = 0; - struct args args; + int n; + dns_zone_t * zone = NULL; + dns_view_t * view = NULL; + dns_db_t * db = NULL; + FILE * zonefile, *origfile; + char buf[4096]; + atomic_bool done; + int i = 0; + struct args args; UNUSED(state); @@ -195,8 +203,8 @@ asyncload_zone(void **state) { fwrite(buf, 1, n, zonefile); fflush(zonefile); - dns_zone_setfile(zone, "./zone.data", - dns_masterformat_text, &dns_master_style_default); + dns_zone_setfile(zone, "./zone.data", dns_masterformat_text, + &dns_master_style_default); args.arg1 = zone; args.arg2 = &done; @@ -262,15 +270,16 @@ asyncload_zone(void **state) { /* asynchronous zone table load */ static void -asyncload_zt(void **state) { +asyncload_zt(void **state) +{ isc_result_t result; - dns_zone_t *zone1 = NULL, *zone2 = NULL, *zone3 = NULL; - dns_view_t *view; - dns_zt_t *zt = NULL; - dns_db_t *db = NULL; - atomic_bool done; - int i = 0; - struct args args; + dns_zone_t * zone1 = NULL, *zone2 = NULL, *zone3 = NULL; + dns_view_t * view; + dns_zt_t * zt = NULL; + dns_db_t * db = NULL; + atomic_bool done; + int i = 0; + struct args args; UNUSED(state); @@ -278,14 +287,14 @@ asyncload_zt(void **state) { result = dns_test_makezone("foo", &zone1, NULL, true); assert_int_equal(result, ISC_R_SUCCESS); - dns_zone_setfile(zone1, "testdata/zt/zone1.db", - dns_masterformat_text, &dns_master_style_default); + dns_zone_setfile(zone1, "testdata/zt/zone1.db", dns_masterformat_text, + &dns_master_style_default); view = dns_zone_getview(zone1); result = dns_test_makezone("bar", &zone2, view, false); assert_int_equal(result, ISC_R_SUCCESS); - dns_zone_setfile(zone2, "testdata/zt/zone1.db", - dns_masterformat_text, &dns_master_style_default); + dns_zone_setfile(zone2, "testdata/zt/zone1.db", dns_masterformat_text, + &dns_master_style_default); /* This one will fail to load */ result = dns_test_makezone("fake", &zone3, view, false); @@ -344,13 +353,14 @@ asyncload_zt(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test_setup_teardown(apply, _setup, _teardown), - cmocka_unit_test_setup_teardown(asyncload_zone, - _setup, _teardown), - cmocka_unit_test_setup_teardown(asyncload_zt, - _setup, _teardown), + cmocka_unit_test_setup_teardown(asyncload_zone, _setup, + _teardown), + cmocka_unit_test_setup_teardown(asyncload_zt, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -361,7 +371,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/dns/time.c b/lib/dns/time.c index 76838350b3..27457a380c 100644 --- a/lib/dns/time.c +++ b/lib/dns/time.c @@ -9,19 +9,18 @@ * information regarding copyright ownership. */ - /*! \file */ -#include -#include -#include /* Required for HP/UX (and others?) */ -#include #include +#include +#include +#include #include #include #include #include +#include /* Required for HP/UX (and others?) */ #include #include @@ -30,10 +29,12 @@ static const int days[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; isc_result_t -dns_time64_totext(int64_t t, isc_buffer_t *target) { +dns_time64_totext(int64_t t, isc_buffer_t *target) +{ struct tm tm; - char buf[sizeof("!!!!!!YYYY!!!!!!!!MM!!!!!!!!DD!!!!!!!!HH!!!!!!!!MM!!!!!!!!SS")]; - int secs; + char buf[sizeof("!!!!!!YYYY!!!!!!!!MM!!!!!!!!DD!!!!!!!!HH!!!!!!!!MM!!!!" + "!!!!SS")]; + int secs; unsigned int l; isc_region_t region; @@ -41,8 +42,8 @@ dns_time64_totext(int64_t t, isc_buffer_t *target) { * Warning. Do NOT use arguments with side effects with these macros. */ #define is_leap(y) ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0) -#define year_secs(y) ((is_leap(y) ? 366 : 365 ) * 86400) -#define month_secs(m,y) ((days[m] + ((m == 1 && is_leap(y)) ? 1 : 0 )) * 86400) +#define year_secs(y) ((is_leap(y) ? 366 : 365) * 86400) +#define month_secs(m, y) ((days[m] + ((m == 1 && is_leap(y)) ? 1 : 0)) * 86400) tm.tm_year = 70; while (t < 0) { @@ -79,10 +80,10 @@ dns_time64_totext(int64_t t, isc_buffer_t *target) { tm.tm_min++; } tm.tm_sec = (int)t; - /* yyyy mm dd HH MM SS */ + /* yyyy mm dd HH MM SS */ snprintf(buf, sizeof(buf), "%04d%02d%02d%02d%02d%02d", - tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, - tm.tm_hour, tm.tm_min, tm.tm_sec); + tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, + tm.tm_min, tm.tm_sec); isc_buffer_availableregion(target, ®ion); l = strlen(buf); @@ -96,10 +97,11 @@ dns_time64_totext(int64_t t, isc_buffer_t *target) { } int64_t -dns_time64_from32(uint32_t value) { +dns_time64_from32(uint32_t value) +{ isc_stdtime_t now; - int64_t start; - int64_t t; + int64_t start; + int64_t t; /* * Adjust the time to the closest epoch. This should be changed @@ -108,7 +110,7 @@ dns_time64_from32(uint32_t value) { * 2106. */ isc_stdtime_get(&now); - start = (int64_t) now; + start = (int64_t)now; if (isc_serial_gt(value, now)) t = start + (value - now); else @@ -118,21 +120,23 @@ dns_time64_from32(uint32_t value) { } isc_result_t -dns_time32_totext(uint32_t value, isc_buffer_t *target) { +dns_time32_totext(uint32_t value, isc_buffer_t *target) +{ return (dns_time64_totext(dns_time64_from32(value), target)); } isc_result_t -dns_time64_fromtext(const char *source, int64_t *target) { - int year, month, day, hour, minute, second; +dns_time64_fromtext(const char *source, int64_t *target) +{ + int year, month, day, hour, minute, second; int64_t value; - int secs; - int i; + int secs; + int i; -#define RANGE(min, max, value) \ - do { \ +#define RANGE(min, max, value) \ + do { \ if (value < (min) || value > (max)) \ - return (ISC_R_RANGE); \ + return (ISC_R_RANGE); \ } while (0) if (strlen(source) != 14U) @@ -145,14 +149,14 @@ dns_time64_fromtext(const char *source, int64_t *target) { if (!isdigit((unsigned char)source[i])) return (DNS_R_SYNTAX); } - if (sscanf(source, "%4d%2d%2d%2d%2d%2d", - &year, &month, &day, &hour, &minute, &second) != 6) + if (sscanf(source, "%4d%2d%2d%2d%2d%2d", &year, &month, &day, &hour, + &minute, &second) != 6) return (DNS_R_SYNTAX); RANGE(0, 9999, year); RANGE(1, 12, month); - RANGE(1, days[month - 1] + - ((month == 2 && is_leap(year)) ? 1 : 0), day); + RANGE(1, days[month - 1] + ((month == 2 && is_leap(year)) ? 1 : 0), + day); #ifdef __COVERITY__ /* * Use a simplified range to silence Coverity warning (in @@ -163,7 +167,7 @@ dns_time64_fromtext(const char *source, int64_t *target) { RANGE(0, 23, hour); RANGE(0, 59, minute); - RANGE(0, 60, second); /* 60 == leap second. */ + RANGE(0, 60, second); /* 60 == leap second. */ /* * Calculate seconds from epoch. @@ -191,8 +195,9 @@ dns_time64_fromtext(const char *source, int64_t *target) { } isc_result_t -dns_time32_fromtext(const char *source, uint32_t *target) { - int64_t value64; +dns_time32_fromtext(const char *source, uint32_t *target) +{ + int64_t value64; isc_result_t result; result = dns_time64_fromtext(source, &value64); if (result != ISC_R_SUCCESS) diff --git a/lib/dns/timer.c b/lib/dns/timer.c index 9803244acd..9d76bc92cc 100644 --- a/lib/dns/timer.c +++ b/lib/dns/timer.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -18,21 +17,23 @@ #include #include -#include #include +#include -#define CHECK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) isc_result_t dns_timer_setidle(isc_timer_t *timer, unsigned int maxtime, unsigned int idletime, bool purge) { - isc_result_t result; + isc_result_t result; isc_interval_t maxinterval, idleinterval; - isc_time_t expires; + isc_time_t expires; /* Compute the time of expiry. */ isc_interval_set(&maxinterval, maxtime, 0); @@ -45,9 +46,8 @@ dns_timer_setidle(isc_timer_t *timer, unsigned int maxtime, */ isc_interval_set(&idleinterval, idletime, 1); - CHECK(isc_timer_reset(timer, isc_timertype_once, - &expires, &idleinterval, - purge)); - failure: + CHECK(isc_timer_reset(timer, isc_timertype_once, &expires, + &idleinterval, purge)); +failure: return (result); } diff --git a/lib/dns/tkey.c b/lib/dns/tkey.c index f28326e356..8cd0ecdd17 100644 --- a/lib/dns/tkey.c +++ b/lib/dns/tkey.c @@ -23,8 +23,6 @@ #include #include -#include - #include #include #include @@ -39,10 +37,11 @@ #include #include +#include "dst_internal.h" + #include #include - -#include "dst_internal.h" +#include #define TEMP_BUFFER_SZ 8192 #define TKEY_RANDOM_AMOUNT 16 @@ -51,38 +50,41 @@ #include #endif -#define RETERR(x) do { \ - result = (x); \ - if (result != ISC_R_SUCCESS) \ - goto failure; \ +#define RETERR(x) \ + do { \ + result = (x); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) static void tkey_log(const char *fmt, ...) ISC_FORMAT_PRINTF(1, 2); static void -tkey_log(const char *fmt, ...) { +tkey_log(const char *fmt, ...) +{ va_list ap; va_start(ap, fmt); - isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_GENERAL, - DNS_LOGMODULE_REQUEST, ISC_LOG_DEBUG(4), fmt, ap); + isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_REQUEST, + ISC_LOG_DEBUG(4), fmt, ap); va_end(ap); } static void -dumpmessage(dns_message_t *msg) { - isc_buffer_t outbuf; +dumpmessage(dns_message_t *msg) +{ + isc_buffer_t outbuf; unsigned char *output; - int len = TEMP_BUFFER_SZ; - isc_result_t result; + int len = TEMP_BUFFER_SZ; + isc_result_t result; for (;;) { output = isc_mem_get(msg->mctx, len); isc_buffer_init(&outbuf, output, len); - result = dns_message_totext(msg, &dns_master_style_debug, - 0, &outbuf); + result = dns_message_totext(msg, &dns_master_style_debug, 0, + &outbuf); if (result == ISC_R_NOSPACE) { isc_mem_put(msg->mctx, output, len); len *= 2; @@ -90,8 +92,7 @@ dumpmessage(dns_message_t *msg) { } if (result == ISC_R_SUCCESS) - tkey_log("%.*s", - (int)isc_buffer_usedlength(&outbuf), + tkey_log("%.*s", (int)isc_buffer_usedlength(&outbuf), (char *)isc_buffer_base(&outbuf)); else tkey_log("Warning: dns_message_totext: %s", @@ -124,8 +125,9 @@ dns_tkeyctx_create(isc_mem_t *mctx, dns_tkeyctx_t **tctxp) } void -dns_tkeyctx_destroy(dns_tkeyctx_t **tctxp) { - isc_mem_t *mctx; +dns_tkeyctx_destroy(dns_tkeyctx_t **tctxp) +{ + isc_mem_t * mctx; dns_tkeyctx_t *tctx; REQUIRE(tctxp != NULL && *tctxp != NULL); @@ -151,15 +153,15 @@ dns_tkeyctx_destroy(dns_tkeyctx_t **tctxp) { static isc_result_t add_rdata_to_list(dns_message_t *msg, dns_name_t *name, dns_rdata_t *rdata, - uint32_t ttl, dns_namelist_t *namelist) + uint32_t ttl, dns_namelist_t *namelist) { - isc_result_t result; - isc_region_t r, newr; - dns_rdata_t *newrdata = NULL; - dns_name_t *newname = NULL; + isc_result_t result; + isc_region_t r, newr; + dns_rdata_t * newrdata = NULL; + dns_name_t * newname = NULL; dns_rdatalist_t *newlist = NULL; - dns_rdataset_t *newset = NULL; - isc_buffer_t *tmprdatabuf = NULL; + dns_rdataset_t * newset = NULL; + isc_buffer_t * tmprdatabuf = NULL; RETERR(dns_message_gettemprdata(msg, &newrdata)); @@ -190,7 +192,7 @@ add_rdata_to_list(dns_message_t *msg, dns_name_t *name, dns_rdata_t *rdata, return (ISC_R_SUCCESS); - failure: +failure: if (newrdata != NULL) { if (ISC_LINK_LINKED(newrdata, link)) { INSIST(newlist != NULL); @@ -210,8 +212,9 @@ add_rdata_to_list(dns_message_t *msg, dns_name_t *name, dns_rdata_t *rdata, } static void -free_namelist(dns_message_t *msg, dns_namelist_t *namelist) { - dns_name_t *name; +free_namelist(dns_message_t *msg, dns_namelist_t *namelist) +{ + dns_name_t * name; dns_rdataset_t *set; while (!ISC_LIST_EMPTY(*namelist)) { @@ -230,13 +233,13 @@ static isc_result_t compute_secret(isc_buffer_t *shared, isc_region_t *queryrandomness, isc_region_t *serverrandomness, isc_buffer_t *secret) { - isc_md_t *md; - isc_region_t r, r2; - unsigned char digests[ISC_MAX_MD_SIZE*2]; + isc_md_t * md; + isc_region_t r, r2; + unsigned char digests[ISC_MAX_MD_SIZE * 2]; unsigned char *digest1, *digest2; - unsigned int digestslen, digestlen1 = 0, digestlen2 = 0; - unsigned int i; - isc_result_t result; + unsigned int digestslen, digestlen1 = 0, digestlen2 = 0; + unsigned int i; + isc_result_t result; isc_buffer_usedregion(shared, &r); @@ -255,8 +258,7 @@ compute_secret(isc_buffer_t *shared, isc_region_t *queryrandomness, goto end; } - result = isc_md_update(md, - queryrandomness->base, + result = isc_md_update(md, queryrandomness->base, queryrandomness->length); if (result != ISC_R_SUCCESS) { goto end; @@ -287,8 +289,7 @@ compute_secret(isc_buffer_t *shared, isc_region_t *queryrandomness, goto end; } - result = isc_md_update(md, - serverrandomness->base, + result = isc_md_update(md, serverrandomness->base, serverrandomness->length); if (result != ISC_R_SUCCESS) { goto end; @@ -341,22 +342,22 @@ end: static isc_result_t process_dhtkey(dns_message_t *msg, dns_name_t *signer, dns_name_t *name, dns_rdata_tkey_t *tkeyin, dns_tkeyctx_t *tctx, - dns_rdata_tkey_t *tkeyout, - dns_tsig_keyring_t *ring, dns_namelist_t *namelist) + dns_rdata_tkey_t *tkeyout, dns_tsig_keyring_t *ring, + dns_namelist_t *namelist) { - isc_result_t result = ISC_R_SUCCESS; - dns_name_t *keyname, ourname; + isc_result_t result = ISC_R_SUCCESS; + dns_name_t * keyname, ourname; dns_rdataset_t *keyset = NULL; - dns_rdata_t keyrdata = DNS_RDATA_INIT, ourkeyrdata = DNS_RDATA_INIT; - bool found_key = false, found_incompatible = false; - dst_key_t *pubkey = NULL; - isc_buffer_t ourkeybuf, *shared = NULL; - isc_region_t r, r2, ourkeyr; - unsigned char keydata[DST_KEY_MAXSIZE]; - unsigned int sharedsize; - isc_buffer_t secret; - unsigned char *randomdata = NULL, secretdata[256]; - dns_ttl_t ttl = 0; + dns_rdata_t keyrdata = DNS_RDATA_INIT, ourkeyrdata = DNS_RDATA_INIT; + bool found_key = false, found_incompatible = false; + dst_key_t * pubkey = NULL; + isc_buffer_t ourkeybuf, *shared = NULL; + isc_region_t r, r2, ourkeyr; + unsigned char keydata[DST_KEY_MAXSIZE]; + unsigned int sharedsize; + isc_buffer_t secret; + unsigned char * randomdata = NULL, secretdata[256]; + dns_ttl_t ttl = 0; if (tctx->dhkey == NULL) { tkey_log("process_dhtkey: tkey-dhkey not defined"); @@ -397,8 +398,7 @@ process_dhtkey(dns_message_t *msg, dns_name_t *signer, dns_name_t *name, continue; } if (dst_key_alg(pubkey) == DNS_KEYALG_DH) { - if (dst_key_paramcompare(pubkey, tctx->dhkey)) - { + if (dst_key_paramcompare(pubkey, tctx->dhkey)) { found_key = true; ttl = keyset->ttl; break; @@ -461,11 +461,10 @@ process_dhtkey(dns_message_t *msg, dns_name_t *signer, dns_name_t *name, RETERR(compute_secret(shared, &r2, &r, &secret)); isc_buffer_free(&shared); - RETERR(dns_tsigkey_create(name, &tkeyin->algorithm, - isc_buffer_base(&secret), - isc_buffer_usedlength(&secret), - true, signer, tkeyin->inception, - tkeyin->expire, ring->mctx, ring, NULL)); + RETERR(dns_tsigkey_create( + name, &tkeyin->algorithm, isc_buffer_base(&secret), + isc_buffer_usedlength(&secret), true, signer, tkeyin->inception, + tkeyin->expire, ring->mctx, ring, NULL)); /* This key is good for a long time */ tkeyout->inception = tkeyin->inception; @@ -476,7 +475,7 @@ process_dhtkey(dns_message_t *msg, dns_name_t *signer, dns_name_t *name, return (ISC_R_SUCCESS); - failure: +failure: if (!ISC_LIST_EMPTY(*namelist)) free_namelist(msg, namelist); if (shared != NULL) @@ -493,15 +492,15 @@ process_gsstkey(dns_message_t *msg, dns_name_t *name, dns_rdata_tkey_t *tkeyin, dns_tkeyctx_t *tctx, dns_rdata_tkey_t *tkeyout, dns_tsig_keyring_t *ring) { - isc_result_t result = ISC_R_SUCCESS; - dst_key_t *dstkey = NULL; - dns_tsigkey_t *tsigkey = NULL; + isc_result_t result = ISC_R_SUCCESS; + dst_key_t * dstkey = NULL; + dns_tsigkey_t * tsigkey = NULL; dns_fixedname_t fixed; - dns_name_t *principal; - isc_stdtime_t now; - isc_region_t intoken; - isc_buffer_t *outtoken = NULL; - gss_ctx_id_t gss_ctx = NULL; + dns_name_t * principal; + isc_stdtime_t now; + isc_region_t intoken; + isc_buffer_t * outtoken = NULL; + gss_ctx_id_t gss_ctx = NULL; /* * You have to define either a gss credential (principal) to @@ -518,7 +517,8 @@ process_gsstkey(dns_message_t *msg, dns_name_t *name, dns_rdata_tkey_t *tkeyin, if (!dns_name_equal(&tkeyin->algorithm, DNS_TSIG_GSSAPI_NAME) && !dns_name_equal(&tkeyin->algorithm, DNS_TSIG_GSSAPIMS_NAME)) { tkeyout->error = dns_tsigerror_badalg; - tkey_log("process_gsstkey(): dns_tsigerror_badalg"); /* XXXSRA */ + tkey_log("process_gsstkey(): dns_tsigerror_badalg"); /* XXXSRA + */ return (ISC_R_SUCCESS); } @@ -540,13 +540,14 @@ process_gsstkey(dns_message_t *msg, dns_name_t *name, dns_rdata_tkey_t *tkeyin, * Note that tctx->gsscred may be NULL if tctx->gssapi_keytab is set */ result = dst_gssapi_acceptctx(tctx->gsscred, tctx->gssapi_keytab, - &intoken, &outtoken, &gss_ctx, - principal, tctx->mctx); + &intoken, &outtoken, &gss_ctx, principal, + tctx->mctx); if (result == DNS_R_INVALIDTKEY) { if (tsigkey != NULL) dns_tsigkey_detach(&tsigkey); tkeyout->error = dns_tsigerror_badkey; - tkey_log("process_gsstkey(): dns_tsigerror_badkey"); /* XXXSRA */ + tkey_log("process_gsstkey(): dns_tsigerror_badkey"); /* XXXSRA + */ return (ISC_R_SUCCESS); } if (result != DNS_R_CONTINUE && result != ISC_R_SUCCESS) @@ -567,8 +568,8 @@ process_gsstkey(dns_message_t *msg, dns_name_t *name, dns_rdata_tkey_t *tkeyin, #endif uint32_t expire; - RETERR(dst_key_fromgssapi(name, gss_ctx, ring->mctx, - &dstkey, &intoken)); + RETERR(dst_key_fromgssapi(name, gss_ctx, ring->mctx, &dstkey, + &intoken)); /* * Limit keys to 1 hour or the context's lifetime whichever * is smaller. @@ -579,10 +580,9 @@ process_gsstkey(dns_message_t *msg, dns_name_t *name, dns_rdata_tkey_t *tkeyin, if (gret == GSS_S_COMPLETE && now + lifetime < expire) expire = now + lifetime; #endif - RETERR(dns_tsigkey_createfromkey(name, &tkeyin->algorithm, - dstkey, true, principal, - now, expire, ring->mctx, ring, - &tsigkey)); + RETERR(dns_tsigkey_createfromkey( + name, &tkeyin->algorithm, dstkey, true, principal, now, + expire, ring->mctx, ring, &tsigkey)); dst_key_free(&dstkey); tkeyout->inception = now; tkeyout->expire = expire; @@ -596,7 +596,7 @@ process_gsstkey(dns_message_t *msg, dns_name_t *name, dns_rdata_tkey_t *tkeyin, isc_buffer_usedlength(outtoken)); tkeyout->keylen = isc_buffer_usedlength(outtoken); memmove(tkeyout->key, isc_buffer_base(outtoken), - isc_buffer_usedlength(outtoken)); + isc_buffer_usedlength(outtoken)); isc_buffer_free(&outtoken); } else { tkeyout->key = isc_mem_get(tkeyout->mctx, tkeyin->keylen); @@ -606,7 +606,7 @@ process_gsstkey(dns_message_t *msg, dns_name_t *name, dns_rdata_tkey_t *tkeyin, tkeyout->error = dns_rcode_noerror; - tkey_log("process_gsstkey(): dns_tsigerror_noerror"); /* XXXSRA */ + tkey_log("process_gsstkey(): dns_tsigerror_noerror"); /* XXXSRA */ /* * We found a TKEY to respond with. If the request is not TSIG signed, @@ -632,8 +632,8 @@ failure: if (outtoken != NULL) isc_buffer_free(&outtoken); - tkey_log("process_gsstkey(): %s", - isc_result_totext(result)); /* XXXSRA */ + tkey_log("process_gsstkey(): %s", isc_result_totext(result)); /* XXXSRA + */ return (result); } @@ -643,8 +643,8 @@ process_deletetkey(dns_name_t *signer, dns_name_t *name, dns_rdata_tkey_t *tkeyin, dns_rdata_tkey_t *tkeyout, dns_tsig_keyring_t *ring) { - isc_result_t result; - dns_tsigkey_t *tsigkey = NULL; + isc_result_t result; + dns_tsigkey_t * tsigkey = NULL; const dns_name_t *identity; result = dns_tsigkey_find(&tsigkey, name, &tkeyin->algorithm, ring); @@ -680,16 +680,16 @@ isc_result_t dns_tkey_processquery(dns_message_t *msg, dns_tkeyctx_t *tctx, dns_tsig_keyring_t *ring) { - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; dns_rdata_tkey_t tkeyin, tkeyout; - bool freetkeyin = false; - dns_name_t *qname, *name, *keyname, *signer, tsigner; - dns_fixedname_t fkeyname; - dns_rdataset_t *tkeyset; - dns_rdata_t rdata; - dns_namelist_t namelist; - char tkeyoutdata[512]; - isc_buffer_t tkeyoutbuf; + bool freetkeyin = false; + dns_name_t * qname, *name, *keyname, *signer, tsigner; + dns_fixedname_t fkeyname; + dns_rdataset_t * tkeyset; + dns_rdata_t rdata; + dns_namelist_t namelist; + char tkeyoutdata[512]; + isc_buffer_t tkeyoutbuf; REQUIRE(msg != NULL); REQUIRE(tctx != NULL); @@ -789,7 +789,8 @@ dns_tkey_processquery(dns_message_t *msg, dns_tkeyctx_t *tctx, if (tkeyin.mode != DNS_TKEYMODE_DELETE) { dns_tsigkey_t *tsigkey = NULL; - if (tctx->domain == NULL && tkeyin.mode != DNS_TKEYMODE_GSSAPI) { + if (tctx->domain == NULL && + tkeyin.mode != DNS_TKEYMODE_GSSAPI) { tkey_log("dns_tkey_processquery: tkey-domain not set"); result = DNS_R_REFUSED; goto failure; @@ -802,13 +803,14 @@ dns_tkey_processquery(dns_message_t *msg, dns_tkeyctx_t *tctx, dns_name_copynf(qname, keyname); dns_name_getlabelsequence(keyname, 0, n - 1, keyname); } else { - static char hexdigits[16] = { - '0', '1', '2', '3', '4', '5', '6', '7', - '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; + static char hexdigits[16] = { '0', '1', '2', '3', + '4', '5', '6', '7', + '8', '9', 'A', 'B', + 'C', 'D', 'E', 'F' }; unsigned char randomdata[16]; - char randomtext[32]; - isc_buffer_t b; - unsigned int i, j; + char randomtext[32]; + isc_buffer_t b; + unsigned int i, j; isc_nonce_buf(randomdata, sizeof(randomdata)); @@ -849,31 +851,30 @@ dns_tkey_processquery(dns_message_t *msg, dns_tkeyctx_t *tctx, keyname = qname; switch (tkeyin.mode) { - case DNS_TKEYMODE_DIFFIEHELLMAN: - tkeyout.error = dns_rcode_noerror; - RETERR(process_dhtkey(msg, signer, keyname, &tkeyin, - tctx, &tkeyout, ring, - &namelist)); - break; - case DNS_TKEYMODE_GSSAPI: - tkeyout.error = dns_rcode_noerror; - RETERR(process_gsstkey(msg, keyname, &tkeyin, tctx, - &tkeyout, ring)); - break; - case DNS_TKEYMODE_DELETE: - tkeyout.error = dns_rcode_noerror; - RETERR(process_deletetkey(signer, keyname, &tkeyin, - &tkeyout, ring)); - break; - case DNS_TKEYMODE_SERVERASSIGNED: - case DNS_TKEYMODE_RESOLVERASSIGNED: - result = DNS_R_NOTIMP; - goto failure; - default: - tkeyout.error = dns_tsigerror_badmode; + case DNS_TKEYMODE_DIFFIEHELLMAN: + tkeyout.error = dns_rcode_noerror; + RETERR(process_dhtkey(msg, signer, keyname, &tkeyin, tctx, + &tkeyout, ring, &namelist)); + break; + case DNS_TKEYMODE_GSSAPI: + tkeyout.error = dns_rcode_noerror; + RETERR(process_gsstkey(msg, keyname, &tkeyin, tctx, &tkeyout, + ring)); + break; + case DNS_TKEYMODE_DELETE: + tkeyout.error = dns_rcode_noerror; + RETERR(process_deletetkey(signer, keyname, &tkeyin, &tkeyout, + ring)); + break; + case DNS_TKEYMODE_SERVERASSIGNED: + case DNS_TKEYMODE_RESOLVERASSIGNED: + result = DNS_R_NOTIMP; + goto failure; + default: + tkeyout.error = dns_tsigerror_badmode; } - failure_with_tkey: +failure_with_tkey: dns_rdata_init(&rdata); isc_buffer_init(&tkeyoutbuf, tkeyoutdata, sizeof(tkeyoutdata)); @@ -907,7 +908,7 @@ dns_tkey_processquery(dns_message_t *msg, dns_tkeyctx_t *tctx, return (ISC_R_SUCCESS); - failure: +failure: if (freetkeyin) dns_rdata_freestruct(&tkeyin); @@ -917,16 +918,16 @@ dns_tkey_processquery(dns_message_t *msg, dns_tkeyctx_t *tctx, } static isc_result_t -buildquery(dns_message_t *msg, const dns_name_t *name, - dns_rdata_tkey_t *tkey, bool win2k) +buildquery(dns_message_t *msg, const dns_name_t *name, dns_rdata_tkey_t *tkey, + bool win2k) { - dns_name_t *qname = NULL, *aname = NULL; - dns_rdataset_t *question = NULL, *tkeyset = NULL; + dns_name_t * qname = NULL, *aname = NULL; + dns_rdataset_t * question = NULL, *tkeyset = NULL; dns_rdatalist_t *tkeylist = NULL; - dns_rdata_t *rdata = NULL; - isc_buffer_t *dynbuf = NULL, *anamebuf = NULL, *qnamebuf = NULL; - isc_result_t result; - unsigned int len; + dns_rdata_t * rdata = NULL; + isc_buffer_t * dynbuf = NULL, *anamebuf = NULL, *qnamebuf = NULL; + isc_result_t result; + unsigned int len; REQUIRE(msg != NULL); REQUIRE(name != NULL); @@ -981,7 +982,7 @@ buildquery(dns_message_t *msg, const dns_name_t *name, return (ISC_R_SUCCESS); - failure: +failure: if (qname != NULL) dns_message_puttempname(msg, &qname); if (aname != NULL) @@ -1005,14 +1006,14 @@ dns_tkey_builddhquery(dns_message_t *msg, dst_key_t *key, isc_buffer_t *nonce, uint32_t lifetime) { dns_rdata_tkey_t tkey; - dns_rdata_t *rdata = NULL; - isc_buffer_t *dynbuf = NULL; - isc_region_t r; - dns_name_t keyname; - dns_namelist_t namelist; - isc_result_t result; - isc_stdtime_t now; - dns_name_t *item; + dns_rdata_t * rdata = NULL; + isc_buffer_t * dynbuf = NULL; + isc_region_t r; + dns_name_t keyname; + dns_namelist_t namelist; + isc_result_t result; + isc_stdtime_t now; + dns_name_t * item; REQUIRE(msg != NULL); REQUIRE(key != NULL); @@ -1039,7 +1040,7 @@ dns_tkey_builddhquery(dns_message_t *msg, dst_key_t *key, } tkey.error = 0; tkey.key = r.base; - tkey.keylen = r.length; + tkey.keylen = r.length; tkey.other = NULL; tkey.otherlen = 0; @@ -1049,8 +1050,7 @@ dns_tkey_builddhquery(dns_message_t *msg, dst_key_t *key, isc_buffer_allocate(msg->mctx, &dynbuf, 1024); RETERR(dst_key_todns(key, dynbuf)); isc_buffer_usedregion(dynbuf, &r); - dns_rdata_fromregion(rdata, dns_rdataclass_any, - dns_rdatatype_key, &r); + dns_rdata_fromregion(rdata, dns_rdataclass_any, dns_rdatatype_key, &r); dns_message_takebuffer(msg, &dynbuf); dns_name_init(&keyname, NULL); @@ -1068,7 +1068,7 @@ dns_tkey_builddhquery(dns_message_t *msg, dst_key_t *key, return (ISC_R_SUCCESS); - failure: +failure: if (dynbuf != NULL) isc_buffer_free(&dynbuf); @@ -1077,16 +1077,15 @@ dns_tkey_builddhquery(dns_message_t *msg, dst_key_t *key, isc_result_t dns_tkey_buildgssquery(dns_message_t *msg, const dns_name_t *name, - const dns_name_t *gname, - isc_buffer_t *intoken, uint32_t lifetime, - gss_ctx_id_t *context, bool win2k, + const dns_name_t *gname, isc_buffer_t *intoken, + uint32_t lifetime, gss_ctx_id_t *context, bool win2k, isc_mem_t *mctx, char **err_message) { dns_rdata_tkey_t tkey; - isc_result_t result; - isc_stdtime_t now; - isc_buffer_t token; - unsigned char array[TEMP_BUFFER_SZ]; + isc_result_t result; + isc_stdtime_t now; + isc_buffer_t token; + unsigned char array[TEMP_BUFFER_SZ]; UNUSED(intoken); @@ -1097,8 +1096,8 @@ dns_tkey_buildgssquery(dns_message_t *msg, const dns_name_t *name, REQUIRE(mctx != NULL); isc_buffer_init(&token, array, sizeof(array)); - result = dst_gssapi_initctx(gname, NULL, &token, context, - mctx, err_message); + result = dst_gssapi_initctx(gname, NULL, &token, context, mctx, + err_message); if (result != DNS_R_CONTINUE && result != ISC_R_SUCCESS) return (result); @@ -1127,7 +1126,8 @@ dns_tkey_buildgssquery(dns_message_t *msg, const dns_name_t *name, } isc_result_t -dns_tkey_builddeletequery(dns_message_t *msg, dns_tsigkey_t *key) { +dns_tkey_builddeletequery(dns_message_t *msg, dns_tsigkey_t *key) +{ dns_rdata_tkey_t tkey; REQUIRE(msg != NULL); @@ -1153,7 +1153,7 @@ find_tkey(dns_message_t *msg, dns_name_t **name, dns_rdata_t *rdata, int section) { dns_rdataset_t *tkeyset; - isc_result_t result; + isc_result_t result; result = dns_message_firstname(msg, section); while (result == ISC_R_SUCCESS) { @@ -1182,17 +1182,17 @@ dns_tkey_processdhresponse(dns_message_t *qmsg, dns_message_t *rmsg, dns_tsigkey_t **outkey, dns_tsig_keyring_t *ring) { dns_rdata_t qtkeyrdata = DNS_RDATA_INIT, rtkeyrdata = DNS_RDATA_INIT; - dns_name_t keyname, *tkeyname, *theirkeyname, *ourkeyname, *tempname; - dns_rdataset_t *theirkeyset = NULL, *ourkeyset = NULL; - dns_rdata_t theirkeyrdata = DNS_RDATA_INIT; - dst_key_t *theirkey = NULL; + dns_name_t keyname, *tkeyname, *theirkeyname, *ourkeyname, *tempname; + dns_rdataset_t * theirkeyset = NULL, *ourkeyset = NULL; + dns_rdata_t theirkeyrdata = DNS_RDATA_INIT; + dst_key_t * theirkey = NULL; dns_rdata_tkey_t qtkey, rtkey; - unsigned char secretdata[256]; - unsigned int sharedsize; - isc_buffer_t *shared = NULL, secret; - isc_region_t r, r2; - isc_result_t result; - bool freertkey = false; + unsigned char secretdata[256]; + unsigned int sharedsize; + isc_buffer_t * shared = NULL, secret; + isc_region_t r, r2; + isc_result_t result; + bool freertkey = false; REQUIRE(qmsg != NULL); REQUIRE(rmsg != NULL); @@ -1208,8 +1208,7 @@ dns_tkey_processdhresponse(dns_message_t *qmsg, dns_message_t *rmsg, RETERR(dns_rdata_tostruct(&rtkeyrdata, &rtkey, NULL)); freertkey = true; - RETERR(find_tkey(qmsg, &tempname, &qtkeyrdata, - DNS_SECTION_ADDITIONAL)); + RETERR(find_tkey(qmsg, &tempname, &qtkeyrdata, DNS_SECTION_ADDITIONAL)); RETERR(dns_rdata_tostruct(&qtkeyrdata, &qtkey, NULL)); if (rtkey.error != dns_rcode_noerror || @@ -1249,7 +1248,7 @@ dns_tkey_processdhresponse(dns_message_t *qmsg, dns_message_t *rmsg, RETERR(dns_rdataset_first(theirkeyset)); break; } - next: + next: result = dns_message_nextname(rmsg, DNS_SECTION_ANSWER); } @@ -1261,8 +1260,8 @@ dns_tkey_processdhresponse(dns_message_t *qmsg, dns_message_t *rmsg, } dns_rdataset_current(theirkeyset, &theirkeyrdata); - RETERR(dns_dnssec_keyfromrdata(theirkeyname, &theirkeyrdata, - rmsg->mctx, &theirkey)); + RETERR(dns_dnssec_keyfromrdata(theirkeyname, &theirkeyrdata, rmsg->mctx, + &theirkey)); RETERR(dst_key_secretsize(key, &sharedsize)); isc_buffer_allocate(rmsg->mctx, &shared, sharedsize); @@ -1282,16 +1281,15 @@ dns_tkey_processdhresponse(dns_message_t *qmsg, dns_message_t *rmsg, RETERR(compute_secret(shared, &r2, &r, &secret)); isc_buffer_usedregion(&secret, &r); - result = dns_tsigkey_create(tkeyname, &rtkey.algorithm, - r.base, r.length, true, - NULL, rtkey.inception, rtkey.expire, - rmsg->mctx, ring, outkey); + result = dns_tsigkey_create(tkeyname, &rtkey.algorithm, r.base, + r.length, true, NULL, rtkey.inception, + rtkey.expire, rmsg->mctx, ring, outkey); isc_buffer_free(&shared); dns_rdata_freestruct(&rtkey); dst_key_free(&theirkey); return (result); - failure: +failure: if (shared != NULL) isc_buffer_free(&shared); @@ -1313,10 +1311,10 @@ dns_tkey_processgssresponse(dns_message_t *qmsg, dns_message_t *rmsg, dns_rdata_t rtkeyrdata = DNS_RDATA_INIT, qtkeyrdata = DNS_RDATA_INIT; dns_name_t *tkeyname; dns_rdata_tkey_t rtkey, qtkey; - dst_key_t *dstkey = NULL; - isc_buffer_t intoken; - isc_result_t result; - unsigned char array[TEMP_BUFFER_SZ]; + dst_key_t * dstkey = NULL; + isc_buffer_t intoken; + isc_result_t result; + unsigned char array[TEMP_BUFFER_SZ]; REQUIRE(outtoken != NULL); REQUIRE(qmsg != NULL); @@ -1336,8 +1334,8 @@ dns_tkey_processgssresponse(dns_message_t *qmsg, dns_message_t *rmsg, * specifies it should be in the ADDITIONAL section. Check first * where it should be, and then where it may be. */ - result = find_tkey(qmsg, &tkeyname, &qtkeyrdata, - DNS_SECTION_ADDITIONAL); + result = + find_tkey(qmsg, &tkeyname, &qtkeyrdata, DNS_SECTION_ADDITIONAL); if (result == ISC_R_NOTFOUND) result = find_tkey(qmsg, &tkeyname, &qtkeyrdata, DNS_SECTION_ANSWER); @@ -1350,7 +1348,8 @@ dns_tkey_processgssresponse(dns_message_t *qmsg, dns_message_t *rmsg, rtkey.mode != DNS_TKEYMODE_GSSAPI || !dns_name_equal(&rtkey.algorithm, &qtkey.algorithm)) { tkey_log("dns_tkey_processgssresponse: tkey mode invalid " - "or error set(2) %d", rtkey.error); + "or error set(2) %d", + rtkey.error); dumpmessage(qmsg); dumpmessage(rmsg); result = DNS_R_INVALIDTKEY; @@ -1362,18 +1361,17 @@ dns_tkey_processgssresponse(dns_message_t *qmsg, dns_message_t *rmsg, RETERR(dst_gssapi_initctx(gname, &intoken, outtoken, context, ring->mctx, err_message)); - RETERR(dst_key_fromgssapi(dns_rootname, *context, rmsg->mctx, - &dstkey, NULL)); + RETERR(dst_key_fromgssapi(dns_rootname, *context, rmsg->mctx, &dstkey, + NULL)); - RETERR(dns_tsigkey_createfromkey(tkeyname, DNS_TSIG_GSSAPI_NAME, - dstkey, false, NULL, - rtkey.inception, rtkey.expire, - ring->mctx, ring, outkey)); + RETERR(dns_tsigkey_createfromkey( + tkeyname, DNS_TSIG_GSSAPI_NAME, dstkey, false, NULL, + rtkey.inception, rtkey.expire, ring->mctx, ring, outkey)); dst_key_free(&dstkey); dns_rdata_freestruct(&rtkey); return (result); - failure: +failure: /* * XXXSRA This probably leaks memory from rtkey and qtkey. */ @@ -1389,25 +1387,23 @@ dns_tkey_processdeleteresponse(dns_message_t *qmsg, dns_message_t *rmsg, dns_rdata_t qtkeyrdata = DNS_RDATA_INIT, rtkeyrdata = DNS_RDATA_INIT; dns_name_t *tkeyname, *tempname; dns_rdata_tkey_t qtkey, rtkey; - dns_tsigkey_t *tsigkey = NULL; - isc_result_t result; + dns_tsigkey_t * tsigkey = NULL; + isc_result_t result; REQUIRE(qmsg != NULL); REQUIRE(rmsg != NULL); if (rmsg->rcode != dns_rcode_noerror) - return(ISC_RESULTCLASS_DNSRCODE + rmsg->rcode); + return (ISC_RESULTCLASS_DNSRCODE + rmsg->rcode); RETERR(find_tkey(rmsg, &tkeyname, &rtkeyrdata, DNS_SECTION_ANSWER)); RETERR(dns_rdata_tostruct(&rtkeyrdata, &rtkey, NULL)); - RETERR(find_tkey(qmsg, &tempname, &qtkeyrdata, - DNS_SECTION_ADDITIONAL)); + RETERR(find_tkey(qmsg, &tempname, &qtkeyrdata, DNS_SECTION_ADDITIONAL)); RETERR(dns_rdata_tostruct(&qtkeyrdata, &qtkey, NULL)); if (rtkey.error != dns_rcode_noerror || - rtkey.mode != DNS_TKEYMODE_DELETE || - rtkey.mode != qtkey.mode || + rtkey.mode != DNS_TKEYMODE_DELETE || rtkey.mode != qtkey.mode || !dns_name_equal(&rtkey.algorithm, &qtkey.algorithm) || rmsg->rcode != dns_rcode_noerror) { tkey_log("dns_tkey_processdeleteresponse: tkey mode invalid " @@ -1433,7 +1429,7 @@ dns_tkey_processdeleteresponse(dns_message_t *qmsg, dns_message_t *rmsg, */ dns_tsigkey_detach(&tsigkey); - failure: +failure: return (result); } @@ -1446,11 +1442,11 @@ dns_tkey_gssnegotiate(dns_message_t *qmsg, dns_message_t *rmsg, dns_rdata_t rtkeyrdata = DNS_RDATA_INIT, qtkeyrdata = DNS_RDATA_INIT; dns_name_t *tkeyname; dns_rdata_tkey_t rtkey, qtkey, tkey; - isc_buffer_t intoken, outtoken; - dst_key_t *dstkey = NULL; - isc_result_t result; - unsigned char array[TEMP_BUFFER_SZ]; - bool freertkey = false; + isc_buffer_t intoken, outtoken; + dst_key_t * dstkey = NULL; + isc_result_t result; + unsigned char array[TEMP_BUFFER_SZ]; + bool freertkey = false; REQUIRE(qmsg != NULL); REQUIRE(rmsg != NULL); @@ -1476,8 +1472,7 @@ dns_tkey_gssnegotiate(dns_message_t *qmsg, dns_message_t *rmsg, if (rtkey.error != dns_rcode_noerror || rtkey.mode != DNS_TKEYMODE_GSSAPI || - !dns_name_equal(&rtkey.algorithm, &qtkey.algorithm)) - { + !dns_name_equal(&rtkey.algorithm, &qtkey.algorithm)) { tkey_log("dns_tkey_processdhresponse: tkey mode invalid " "or error set(4)"); result = DNS_R_INVALIDTKEY; @@ -1524,8 +1519,8 @@ dns_tkey_gssnegotiate(dns_message_t *qmsg, dns_message_t *rmsg, return (DNS_R_CONTINUE); } - RETERR(dst_key_fromgssapi(dns_rootname, *context, rmsg->mctx, - &dstkey, NULL)); + RETERR(dst_key_fromgssapi(dns_rootname, *context, rmsg->mctx, &dstkey, + NULL)); /* * XXXSRA This seems confused. If we got CONTINUE from initctx, @@ -1533,18 +1528,16 @@ dns_tkey_gssnegotiate(dns_message_t *qmsg, dns_message_t *rmsg, * anything yet. */ - RETERR(dns_tsigkey_createfromkey(tkeyname, - (win2k - ? DNS_TSIG_GSSAPIMS_NAME - : DNS_TSIG_GSSAPI_NAME), - dstkey, true, NULL, - rtkey.inception, rtkey.expire, - ring->mctx, ring, outkey)); + RETERR(dns_tsigkey_createfromkey( + tkeyname, + (win2k ? DNS_TSIG_GSSAPIMS_NAME : DNS_TSIG_GSSAPI_NAME), dstkey, + true, NULL, rtkey.inception, rtkey.expire, ring->mctx, ring, + outkey)); dst_key_free(&dstkey); dns_rdata_freestruct(&rtkey); return (result); - failure: +failure: /* * XXXSRA This probably leaks memory from qtkey. */ diff --git a/lib/dns/tsec.c b/lib/dns/tsec.c index cf0055e669..c597e49b08 100644 --- a/lib/dns/tsec.c +++ b/lib/dns/tsec.c @@ -12,28 +12,27 @@ #include #include -#include - +#include #include #include -#include #include +#include -#define DNS_TSEC_MAGIC ISC_MAGIC('T', 's', 'e', 'c') -#define DNS_TSEC_VALID(t) ISC_MAGIC_VALID(t, DNS_TSEC_MAGIC) +#define DNS_TSEC_MAGIC ISC_MAGIC('T', 's', 'e', 'c') +#define DNS_TSEC_VALID(t) ISC_MAGIC_VALID(t, DNS_TSEC_MAGIC) /*% * DNS Transaction Security object. We assume this is not shared by * multiple threads, and so the structure does not contain a lock. */ struct dns_tsec { - unsigned int magic; - dns_tsectype_t type; - isc_mem_t *mctx; + unsigned int magic; + dns_tsectype_t type; + isc_mem_t * mctx; union { - dns_tsigkey_t *tsigkey; - dst_key_t *key; + dns_tsigkey_t *tsigkey; + dst_key_t * key; } ukey; }; @@ -41,9 +40,9 @@ isc_result_t dns_tsec_create(isc_mem_t *mctx, dns_tsectype_t type, dst_key_t *key, dns_tsec_t **tsecp) { - isc_result_t result; - dns_tsec_t *tsec; - dns_tsigkey_t *tsigkey = NULL; + isc_result_t result; + dns_tsec_t * tsec; + dns_tsigkey_t * tsigkey = NULL; const dns_name_t *algname; REQUIRE(mctx != NULL); @@ -79,10 +78,9 @@ dns_tsec_create(isc_mem_t *mctx, dns_tsectype_t type, dst_key_t *key, isc_mem_put(mctx, tsec, sizeof(*tsec)); return (DNS_R_BADALG); } - result = dns_tsigkey_createfromkey(dst_key_name(key), - algname, key, false, - NULL, 0, 0, mctx, NULL, - &tsigkey); + result = dns_tsigkey_createfromkey(dst_key_name(key), algname, + key, false, NULL, 0, 0, mctx, + NULL, &tsigkey); if (result != ISC_R_SUCCESS) { isc_mem_put(mctx, tsec, sizeof(*tsec)); return (result); @@ -104,7 +102,8 @@ dns_tsec_create(isc_mem_t *mctx, dns_tsectype_t type, dst_key_t *key, } void -dns_tsec_destroy(dns_tsec_t **tsecp) { +dns_tsec_destroy(dns_tsec_t **tsecp) +{ dns_tsec_t *tsec; REQUIRE(tsecp != NULL && *tsecp != NULL); @@ -129,14 +128,16 @@ dns_tsec_destroy(dns_tsec_t **tsecp) { } dns_tsectype_t -dns_tsec_gettype(dns_tsec_t *tsec) { +dns_tsec_gettype(dns_tsec_t *tsec) +{ REQUIRE(DNS_TSEC_VALID(tsec)); return (tsec->type); } void -dns_tsec_getkey(dns_tsec_t *tsec, void *keyp) { +dns_tsec_getkey(dns_tsec_t *tsec, void *keyp) +{ REQUIRE(DNS_TSEC_VALID(tsec)); REQUIRE(keyp != NULL); diff --git a/lib/dns/tsig.c b/lib/dns/tsig.c index c289bc4cb3..3f69730da4 100644 --- a/lib/dns/tsig.c +++ b/lib/dns/tsig.c @@ -20,16 +20,14 @@ #include #include #include -#include /* Required for HP/UX (and others?) */ -#include +#include /* Required for HP/UX (and others?) */ #include +#include -#include - +#include #include #include #include -#include #include #include #include @@ -41,9 +39,10 @@ #include "tsig_p.h" #include +#include -#define TSIG_MAGIC ISC_MAGIC('T', 'S', 'I', 'G') -#define VALID_TSIG_KEY(x) ISC_MAGIC_VALID(x, TSIG_MAGIC) +#define TSIG_MAGIC ISC_MAGIC('T', 'S', 'I', 'G') +#define VALID_TSIG_KEY(x) ISC_MAGIC_VALID(x, TSIG_MAGIC) #ifndef DNS_TSIG_MAXGENERATEDKEYS #define DNS_TSIG_MAXGENERATEDKEYS 4096 @@ -60,8 +59,8 @@ static dns_name_t const hmacmd5 = DNS_NAME_INITABSOLUTE(hmacmd5_ndata, hmacmd5_offsets); LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacmd5_name = &hmacmd5; -static unsigned char gsstsig_ndata[] = "\010gss-tsig"; -static unsigned char gsstsig_offsets[] = { 0, 9 }; +static unsigned char gsstsig_ndata[] = "\010gss-tsig"; +static unsigned char gsstsig_offsets[] = { 0, 9 }; static dns_name_t const gsstsig = DNS_NAME_INITABSOLUTE(gsstsig_ndata, gsstsig_offsets); LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_gssapi_name = &gsstsig; @@ -70,62 +69,60 @@ LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_gssapi_name = &gsstsig; * Since Microsoft doesn't follow its own standard, we will use this * alternate name as a second guess. */ -static unsigned char gsstsigms_ndata[] = "\003gss\011microsoft\003com"; -static unsigned char gsstsigms_offsets[] = { 0, 4, 14, 18 }; +static unsigned char gsstsigms_ndata[] = "\003gss\011microsoft\003com"; +static unsigned char gsstsigms_offsets[] = { 0, 4, 14, 18 }; static dns_name_t const gsstsigms = DNS_NAME_INITABSOLUTE(gsstsigms_ndata, gsstsigms_offsets); LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_gssapims_name = &gsstsigms; -static unsigned char hmacsha1_ndata[] = "\011hmac-sha1"; -static unsigned char hmacsha1_offsets[] = { 0, 10 }; -static dns_name_t const hmacsha1 = +static unsigned char hmacsha1_ndata[] = "\011hmac-sha1"; +static unsigned char hmacsha1_offsets[] = { 0, 10 }; +static dns_name_t const hmacsha1 = DNS_NAME_INITABSOLUTE(hmacsha1_ndata, hmacsha1_offsets); LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacsha1_name = &hmacsha1; -static unsigned char hmacsha224_ndata[] = "\013hmac-sha224"; -static unsigned char hmacsha224_offsets[] = { 0, 12 }; +static unsigned char hmacsha224_ndata[] = "\013hmac-sha224"; +static unsigned char hmacsha224_offsets[] = { 0, 12 }; static dns_name_t const hmacsha224 = DNS_NAME_INITABSOLUTE(hmacsha224_ndata, hmacsha224_offsets); LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacsha224_name = &hmacsha224; -static unsigned char hmacsha256_ndata[] = "\013hmac-sha256"; -static unsigned char hmacsha256_offsets[] = { 0, 12 }; +static unsigned char hmacsha256_ndata[] = "\013hmac-sha256"; +static unsigned char hmacsha256_offsets[] = { 0, 12 }; static dns_name_t const hmacsha256 = DNS_NAME_INITABSOLUTE(hmacsha256_ndata, hmacsha256_offsets); LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacsha256_name = &hmacsha256; -static unsigned char hmacsha384_ndata[] = "\013hmac-sha384"; -static unsigned char hmacsha384_offsets[] = { 0, 12 }; +static unsigned char hmacsha384_ndata[] = "\013hmac-sha384"; +static unsigned char hmacsha384_offsets[] = { 0, 12 }; static dns_name_t const hmacsha384 = DNS_NAME_INITABSOLUTE(hmacsha384_ndata, hmacsha384_offsets); LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacsha384_name = &hmacsha384; -static unsigned char hmacsha512_ndata[] = "\013hmac-sha512"; -static unsigned char hmacsha512_offsets[] = { 0, 12 }; +static unsigned char hmacsha512_ndata[] = "\013hmac-sha512"; +static unsigned char hmacsha512_offsets[] = { 0, 12 }; static dns_name_t const hmacsha512 = DNS_NAME_INITABSOLUTE(hmacsha512_ndata, hmacsha512_offsets); LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacsha512_name = &hmacsha512; static const struct { const dns_name_t *name; - unsigned int dstalg; -} known_algs[] = { - { &hmacmd5, DST_ALG_HMACMD5 }, - { &gsstsig, DST_ALG_GSSAPI }, - { &gsstsigms, DST_ALG_GSSAPI }, - { &hmacsha1, DST_ALG_HMACSHA1 }, - { &hmacsha224, DST_ALG_HMACSHA224 }, - { &hmacsha256, DST_ALG_HMACSHA256 }, - { &hmacsha384, DST_ALG_HMACSHA384 }, - { &hmacsha512, DST_ALG_HMACSHA512 } -}; + unsigned int dstalg; +} known_algs[] = { { &hmacmd5, DST_ALG_HMACMD5 }, + { &gsstsig, DST_ALG_GSSAPI }, + { &gsstsigms, DST_ALG_GSSAPI }, + { &hmacsha1, DST_ALG_HMACSHA1 }, + { &hmacsha224, DST_ALG_HMACSHA224 }, + { &hmacsha256, DST_ALG_HMACSHA256 }, + { &hmacsha384, DST_ALG_HMACSHA384 }, + { &hmacsha512, DST_ALG_HMACSHA512 } }; static isc_result_t tsig_verify_tcp(isc_buffer_t *source, dns_message_t *msg); static void tsig_log(dns_tsigkey_t *key, int level, const char *fmt, ...) - ISC_FORMAT_PRINTF(3, 4); + ISC_FORMAT_PRINTF(3, 4); static void cleanup_ring(dns_tsig_keyring_t *ring); @@ -133,21 +130,20 @@ static void tsigkey_free(dns_tsigkey_t *key); bool -dns__tsig_algvalid(unsigned int alg) { - return (alg == DST_ALG_HMACMD5 || - alg == DST_ALG_HMACSHA1 || - alg == DST_ALG_HMACSHA224 || - alg == DST_ALG_HMACSHA256 || - alg == DST_ALG_HMACSHA384 || - alg == DST_ALG_HMACSHA512); +dns__tsig_algvalid(unsigned int alg) +{ + return (alg == DST_ALG_HMACMD5 || alg == DST_ALG_HMACSHA1 || + alg == DST_ALG_HMACSHA224 || alg == DST_ALG_HMACSHA256 || + alg == DST_ALG_HMACSHA384 || alg == DST_ALG_HMACSHA512); } static void -tsig_log(dns_tsigkey_t *key, int level, const char *fmt, ...) { +tsig_log(dns_tsigkey_t *key, int level, const char *fmt, ...) +{ va_list ap; - char message[4096]; - char namestr[DNS_NAME_FORMATSIZE]; - char creatorstr[DNS_NAME_FORMATSIZE]; + char message[4096]; + char namestr[DNS_NAME_FORMATSIZE]; + char creatorstr[DNS_NAME_FORMATSIZE]; if (isc_log_wouldlog(dns_lctx, level) == false) return; @@ -167,19 +163,20 @@ tsig_log(dns_tsigkey_t *key, int level, const char *fmt, ...) { vsnprintf(message, sizeof(message), fmt, ap); va_end(ap); if (key != NULL && key->generated) { - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_DNSSEC, DNS_LOGMODULE_TSIG, - level, "tsig key '%s' (%s): %s", - namestr, creatorstr, message); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSSEC, + DNS_LOGMODULE_TSIG, level, + "tsig key '%s' (%s): %s", namestr, creatorstr, + message); } else { - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_DNSSEC, DNS_LOGMODULE_TSIG, - level, "tsig key '%s': %s", namestr, message); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSSEC, + DNS_LOGMODULE_TSIG, level, "tsig key '%s': %s", + namestr, message); } } static void -remove_fromring(dns_tsigkey_t *tkey) { +remove_fromring(dns_tsigkey_t *tkey) +{ if (tkey->generated) { ISC_LIST_UNLINK(tkey->ring->lru, tkey, link); tkey->ring->generated--; @@ -188,7 +185,8 @@ remove_fromring(dns_tsigkey_t *tkey) { } static void -adjust_lru(dns_tsigkey_t *tkey) { +adjust_lru(dns_tsigkey_t *tkey) +{ if (tkey->generated) { RWLOCK(&tkey->ring->lock, isc_rwlocktype_write); /* @@ -196,8 +194,7 @@ adjust_lru(dns_tsigkey_t *tkey) { * removing the read lock and aquiring the write lock. */ if (ISC_LINK_LINKED(tkey, link) && - tkey->ring->lru.tail != tkey) - { + tkey->ring->lru.tail != tkey) { ISC_LIST_UNLINK(tkey->ring->lru, tkey, link); ISC_LIST_APPEND(tkey->ring->lru, tkey, link); } @@ -253,9 +250,9 @@ dns_tsigkey_createfromkey(const dns_name_t *name, const dns_name_t *algorithm, dns_tsig_keyring_t *ring, dns_tsigkey_t **key) { dns_tsigkey_t *tkey; - isc_result_t ret; - unsigned int refs = 0; - unsigned int dstalg = 0; + isc_result_t ret; + unsigned int refs = 0; + unsigned int dstalg = 0; REQUIRE(key == NULL || *key == NULL); REQUIRE(name != NULL); @@ -332,7 +329,7 @@ dns_tsigkey_createfromkey(const dns_name_t *name, const dns_name_t *algorithm, * Ignore this if it's a GSS key, since the key size is meaningless. */ if (dstkey != NULL && dst_key_size(dstkey) < 64 && - dstalg != DST_ALG_GSSAPI) { + dstalg != DST_ALG_GSSAPI) { char namestr[DNS_NAME_FORMATSIZE]; dns_name_format(name, namestr, sizeof(namestr)); isc_log_write(dns_lctx, DNS_LOGCATEGORY_DNSSEC, @@ -346,7 +343,7 @@ dns_tsigkey_createfromkey(const dns_name_t *name, const dns_name_t *algorithm, return (ISC_R_SUCCESS); - cleanup_refs: +cleanup_refs: tkey->magic = 0; while (refs-- > 0) { isc_refcount_decrement(&tkey->refs); @@ -366,7 +363,7 @@ dns_tsigkey_createfromkey(const dns_name_t *name, const dns_name_t *algorithm, dns_name_free(tmpname, mctx); isc_mem_put(mctx, tmpname, sizeof(dns_name_t)); } - cleanup_name: +cleanup_name: dns_name_free(&tkey->name, mctx); isc_mem_put(mctx, tkey, sizeof(dns_tsigkey_t)); @@ -379,14 +376,14 @@ dns_tsigkey_createfromkey(const dns_name_t *name, const dns_name_t *algorithm, static void cleanup_ring(dns_tsig_keyring_t *ring) { - isc_result_t result; + isc_result_t result; dns_rbtnodechain_t chain; - dns_name_t foundname; - dns_fixedname_t fixedorigin; - dns_name_t *origin; - isc_stdtime_t now; - dns_rbtnode_t *node; - dns_tsigkey_t *tkey; + dns_name_t foundname; + dns_fixedname_t fixedorigin; + dns_name_t * origin; + isc_stdtime_t now; + dns_rbtnode_t * node; + dns_tsigkey_t * tkey; /* * Start up a new iterator each time. @@ -395,10 +392,9 @@ cleanup_ring(dns_tsig_keyring_t *ring) dns_name_init(&foundname, NULL); origin = dns_fixedname_initname(&fixedorigin); - again: +again: dns_rbtnodechain_init(&chain); - result = dns_rbtnodechain_first(&chain, ring->keys, &foundname, - origin); + result = dns_rbtnodechain_first(&chain, ring->keys, &foundname, origin); if (result != ISC_R_SUCCESS && result != DNS_R_NEWORIGIN) { dns_rbtnodechain_invalidate(&chain); return; @@ -409,10 +405,10 @@ cleanup_ring(dns_tsig_keyring_t *ring) dns_rbtnodechain_current(&chain, &foundname, origin, &node); tkey = node->data; if (tkey != NULL) { - if (tkey->generated - && isc_refcount_current(&tkey->refs) == 1 - && tkey->inception != tkey->expire - && tkey->expire < now) { + if (tkey->generated && + isc_refcount_current(&tkey->refs) == 1 && + tkey->inception != tkey->expire && + tkey->expire < now) { tsig_log(tkey, 2, "tsig expire: deleting"); /* delete the key */ dns_rbtnodechain_invalidate(&chain); @@ -420,8 +416,7 @@ cleanup_ring(dns_tsig_keyring_t *ring) goto again; } } - result = dns_rbtnodechain_next(&chain, &foundname, - origin); + result = dns_rbtnodechain_next(&chain, &foundname, origin); if (result != ISC_R_SUCCESS && result != DNS_R_NEWORIGIN) { dns_rbtnodechain_invalidate(&chain); return; @@ -430,7 +425,8 @@ cleanup_ring(dns_tsig_keyring_t *ring) } static void -destroyring(dns_tsig_keyring_t *ring) { +destroyring(dns_tsig_keyring_t *ring) +{ isc_refcount_destroy(&ring->references); dns_rbt_destroy(&ring->keys); isc_rwlock_destroy(&ring->lock); @@ -441,7 +437,8 @@ destroyring(dns_tsig_keyring_t *ring) { * Look up the DST_ALG_ constant for a given name. */ unsigned int -dns__tsig_algfromname(const dns_name_t *algorithm) { +dns__tsig_algfromname(const dns_name_t *algorithm) +{ int i; int n = sizeof(known_algs) / sizeof(*known_algs); for (i = 0; i < n; ++i) { @@ -457,8 +454,9 @@ dns__tsig_algfromname(const dns_name_t *algorithm) { * Convert an algorithm name into a pointer to the * corresponding pre-defined dns_name_t structure. */ -const dns_name_t* -dns__tsig_algnamefromname(const dns_name_t *algorithm) { +const dns_name_t * +dns__tsig_algnamefromname(const dns_name_t *algorithm) +{ int i; int n = sizeof(known_algs) / sizeof(*known_algs); for (i = 0; i < n; ++i) { @@ -479,7 +477,8 @@ dns__tsig_algnamefromname(const dns_name_t *algorithm) { * dns_name_t that happens to match one of the pre-defined names. */ bool -dns__tsig_algallocated(const dns_name_t *algorithm) { +dns__tsig_algallocated(const dns_name_t *algorithm) +{ int i; int n = sizeof(known_algs) / sizeof(*known_algs); for (i = 0; i < n; ++i) { @@ -492,19 +491,20 @@ dns__tsig_algallocated(const dns_name_t *algorithm) { } static isc_result_t -restore_key(dns_tsig_keyring_t *ring, isc_stdtime_t now, FILE *fp) { - dst_key_t *dstkey = NULL; - char namestr[1024]; - char creatorstr[1024]; - char algorithmstr[1024]; - char keystr[4096]; - unsigned int inception, expire; - int n; - isc_buffer_t b; - dns_name_t *name, *creator, *algorithm; +restore_key(dns_tsig_keyring_t *ring, isc_stdtime_t now, FILE *fp) +{ + dst_key_t * dstkey = NULL; + char namestr[1024]; + char creatorstr[1024]; + char algorithmstr[1024]; + char keystr[4096]; + unsigned int inception, expire; + int n; + isc_buffer_t b; + dns_name_t * name, *creator, *algorithm; dns_fixedname_t fname, fcreator, falgorithm; - isc_result_t result; - unsigned int dstalg; + isc_result_t result; + unsigned int dstalg; n = fscanf(fp, "%1023s %1023s %u %u %1023s %4095s\n", namestr, creatorstr, &inception, &expire, algorithmstr, keystr); @@ -547,21 +547,22 @@ restore_key(dns_tsig_keyring_t *ring, isc_stdtime_t now, FILE *fp) { if (result != ISC_R_SUCCESS) return (result); - result = dns_tsigkey_createfromkey(name, algorithm, dstkey, - true, creator, inception, - expire, ring->mctx, ring, NULL); + result = dns_tsigkey_createfromkey(name, algorithm, dstkey, true, + creator, inception, expire, + ring->mctx, ring, NULL); if (dstkey != NULL) dst_key_free(&dstkey); return (result); } static void -dump_key(dns_tsigkey_t *tkey, FILE *fp) { - char *buffer = NULL; - int length = 0; - char namestr[DNS_NAME_FORMATSIZE]; - char creatorstr[DNS_NAME_FORMATSIZE]; - char algorithmstr[DNS_NAME_FORMATSIZE]; +dump_key(dns_tsigkey_t *tkey, FILE *fp) +{ + char * buffer = NULL; + int length = 0; + char namestr[DNS_NAME_FORMATSIZE]; + char creatorstr[DNS_NAME_FORMATSIZE]; + char algorithmstr[DNS_NAME_FORMATSIZE]; isc_result_t result; REQUIRE(tkey != NULL); @@ -573,22 +574,23 @@ dump_key(dns_tsigkey_t *tkey, FILE *fp) { result = dst_key_dump(tkey->key, tkey->mctx, &buffer, &length); if (result == ISC_R_SUCCESS) fprintf(fp, "%s %s %u %u %s %.*s\n", namestr, creatorstr, - tkey->inception, tkey->expire, algorithmstr, - length, buffer); + tkey->inception, tkey->expire, algorithmstr, length, + buffer); if (buffer != NULL) isc_mem_put(tkey->mctx, buffer, length); } isc_result_t -dns_tsigkeyring_dumpanddetach(dns_tsig_keyring_t **ringp, FILE *fp) { - isc_result_t result; - dns_rbtnodechain_t chain; - dns_name_t foundname; - dns_fixedname_t fixedorigin; - dns_name_t *origin; - isc_stdtime_t now; - dns_rbtnode_t *node; - dns_tsigkey_t *tkey; +dns_tsigkeyring_dumpanddetach(dns_tsig_keyring_t **ringp, FILE *fp) +{ + isc_result_t result; + dns_rbtnodechain_t chain; + dns_name_t foundname; + dns_fixedname_t fixedorigin; + dns_name_t * origin; + isc_stdtime_t now; + dns_rbtnode_t * node; + dns_tsigkey_t * tkey; dns_tsig_keyring_t *ring; REQUIRE(ringp != NULL && *ringp != NULL); @@ -604,8 +606,7 @@ dns_tsigkeyring_dumpanddetach(dns_tsig_keyring_t **ringp, FILE *fp) { dns_name_init(&foundname, NULL); origin = dns_fixedname_initname(&fixedorigin); dns_rbtnodechain_init(&chain); - result = dns_rbtnodechain_first(&chain, ring->keys, &foundname, - origin); + result = dns_rbtnodechain_first(&chain, ring->keys, &foundname, origin); if (result != ISC_R_SUCCESS && result != DNS_R_NEWORIGIN) { dns_rbtnodechain_invalidate(&chain); goto destroy; @@ -618,8 +619,7 @@ dns_tsigkeyring_dumpanddetach(dns_tsig_keyring_t **ringp, FILE *fp) { if (tkey != NULL && tkey->generated && tkey->expire >= now) { dump_key(tkey, fp); } - result = dns_rbtnodechain_next(&chain, &foundname, - origin); + result = dns_rbtnodechain_next(&chain, &foundname, origin); if (result != ISC_R_SUCCESS && result != DNS_R_NEWORIGIN) { dns_rbtnodechain_invalidate(&chain); if (result == ISC_R_NOMORE) { @@ -629,13 +629,14 @@ dns_tsigkeyring_dumpanddetach(dns_tsig_keyring_t **ringp, FILE *fp) { } } - destroy: +destroy: destroyring(ring); return (result); } const dns_name_t * -dns_tsigkey_identity(const dns_tsigkey_t *tsigkey) { +dns_tsigkey_identity(const dns_tsigkey_t *tsigkey) +{ REQUIRE(tsigkey == NULL || VALID_TSIG_KEY(tsigkey)); if (tsigkey == NULL) { @@ -655,7 +656,7 @@ dns_tsigkey_create(const dns_name_t *name, const dns_name_t *algorithm, isc_stdtime_t expire, isc_mem_t *mctx, dns_tsig_keyring_t *ring, dns_tsigkey_t **key) { - dst_key_t *dstkey = NULL; + dst_key_t * dstkey = NULL; isc_result_t result; unsigned int dstalg = 0; @@ -670,11 +671,10 @@ dns_tsigkey_create(const dns_name_t *name, const dns_name_t *algorithm, isc_buffer_init(&b, secret, length); isc_buffer_add(&b, length); - result = dst_key_frombuffer(name, dstalg, - DNS_KEYOWNER_ENTITY, - DNS_KEYPROTO_DNSSEC, - dns_rdataclass_in, - &b, mctx, &dstkey); + result = dst_key_frombuffer( + name, dstalg, DNS_KEYOWNER_ENTITY, + DNS_KEYPROTO_DNSSEC, dns_rdataclass_in, &b, + mctx, &dstkey); if (result != ISC_R_SUCCESS) return (result); } @@ -682,16 +682,17 @@ dns_tsigkey_create(const dns_name_t *name, const dns_name_t *algorithm, return (DNS_R_BADALG); } - result = dns_tsigkey_createfromkey(name, algorithm, dstkey, - generated, creator, - inception, expire, mctx, ring, key); + result = dns_tsigkey_createfromkey(name, algorithm, dstkey, generated, + creator, inception, expire, mctx, + ring, key); if (dstkey != NULL) dst_key_free(&dstkey); return (result); } void -dns_tsigkey_attach(dns_tsigkey_t *source, dns_tsigkey_t **targetp) { +dns_tsigkey_attach(dns_tsigkey_t *source, dns_tsigkey_t **targetp) +{ REQUIRE(VALID_TSIG_KEY(source)); REQUIRE(targetp != NULL && *targetp == NULL); @@ -700,7 +701,8 @@ dns_tsigkey_attach(dns_tsigkey_t *source, dns_tsigkey_t **targetp) { } static void -tsigkey_free(dns_tsigkey_t *key) { +tsigkey_free(dns_tsigkey_t *key) +{ REQUIRE(VALID_TSIG_KEY(key)); key->magic = 0; @@ -721,7 +723,8 @@ tsigkey_free(dns_tsigkey_t *key) { } void -dns_tsigkey_detach(dns_tsigkey_t **keyp) { +dns_tsigkey_detach(dns_tsigkey_t **keyp) +{ REQUIRE(keyp != NULL && VALID_TSIG_KEY(*keyp)); dns_tsigkey_t *key = *keyp; *keyp = NULL; @@ -733,7 +736,8 @@ dns_tsigkey_detach(dns_tsigkey_t **keyp) { } void -dns_tsigkey_setdeleted(dns_tsigkey_t *key) { +dns_tsigkey_setdeleted(dns_tsigkey_t *key) +{ REQUIRE(VALID_TSIG_KEY(key)); REQUIRE(key->ring != NULL); @@ -743,24 +747,25 @@ dns_tsigkey_setdeleted(dns_tsigkey_t *key) { } isc_result_t -dns_tsig_sign(dns_message_t *msg) { - dns_tsigkey_t *key = NULL; +dns_tsig_sign(dns_message_t *msg) +{ + dns_tsigkey_t * key = NULL; dns_rdata_any_tsig_t tsig, querytsig; - unsigned char data[128]; - isc_buffer_t databuf, sigbuf; - isc_buffer_t *dynbuf = NULL; - dns_name_t *owner; - dns_rdata_t *rdata = NULL; - dns_rdatalist_t *datalist = NULL; - dns_rdataset_t *dataset = NULL; - isc_region_t r; - isc_stdtime_t now; - isc_mem_t *mctx; - dst_context_t *ctx = NULL; - isc_result_t ret; - unsigned char badtimedata[BADTIMELEN]; - unsigned int sigsize = 0; - bool response; + unsigned char data[128]; + isc_buffer_t databuf, sigbuf; + isc_buffer_t * dynbuf = NULL; + dns_name_t * owner; + dns_rdata_t * rdata = NULL; + dns_rdatalist_t * datalist = NULL; + dns_rdataset_t * dataset = NULL; + isc_region_t r; + isc_stdtime_t now; + isc_mem_t * mctx; + dst_context_t * ctx = NULL; + isc_result_t ret; + unsigned char badtimedata[BADTIMELEN]; + unsigned int sigsize = 0; + bool response; REQUIRE(msg != NULL); key = dns_message_gettsigkey(msg); @@ -811,22 +816,19 @@ dns_tsig_sign(dns_message_t *msg) { isc_buffer_putuint48(&otherbuf, tsig.timesigned); } - if ((key->key != NULL) && - (tsig.error != dns_tsigerror_badsig) && - (tsig.error != dns_tsigerror_badkey)) - { + if ((key->key != NULL) && (tsig.error != dns_tsigerror_badsig) && + (tsig.error != dns_tsigerror_badkey)) { unsigned char header[DNS_MESSAGE_HEADERLEN]; - isc_buffer_t headerbuf; - uint16_t digestbits; - bool querytsig_ok = false; + isc_buffer_t headerbuf; + uint16_t digestbits; + bool querytsig_ok = false; /* * If it is a response, we assume that the request MAC * has validated at this point. This is why we include a * MAC length > 0 in the reply. */ - ret = dst_context_create(key->key, mctx, - DNS_LOGCATEGORY_DNSSEC, + ret = dst_context_create(key->key, mctx, DNS_LOGCATEGORY_DNSSEC, true, 0, &ctx); if (ret != ISC_R_SUCCESS) return (ret); @@ -908,7 +910,6 @@ dns_tsig_sign(dns_message_t *msg) { ret = dst_context_adddata(ctx, &r); if (ret != ISC_R_SUCCESS) goto cleanup_context; - } /* Digest the timesigned and fudge */ isc_buffer_clear(&databuf); @@ -1006,8 +1007,8 @@ dns_tsig_sign(dns_message_t *msg) { datalist->rdclass = dns_rdataclass_any; datalist->type = dns_rdatatype_tsig; ISC_LIST_APPEND(datalist->rdata, rdata, link); - RUNTIME_CHECK(dns_rdatalist_tordataset(datalist, dataset) - == ISC_R_SUCCESS); + RUNTIME_CHECK(dns_rdatalist_tordataset(datalist, dataset) == + ISC_R_SUCCESS); msg->tsig = dataset; msg->tsigname = owner; @@ -1016,19 +1017,19 @@ dns_tsig_sign(dns_message_t *msg) { return (ISC_R_SUCCESS); - cleanup_rdatalist: +cleanup_rdatalist: dns_message_puttemprdatalist(msg, &datalist); - cleanup_owner: +cleanup_owner: dns_message_puttempname(msg, &owner); goto cleanup_rdata; - cleanup_dynbuf: +cleanup_dynbuf: isc_buffer_free(&dynbuf); - cleanup_rdata: +cleanup_rdata: dns_message_puttemprdata(msg, &rdata); - cleanup_signature: +cleanup_signature: if (tsig.signature != NULL) isc_mem_put(mctx, tsig.signature, sigsize); - cleanup_context: +cleanup_context: if (ctx != NULL) dst_context_destroy(&ctx); return (ret); @@ -1039,22 +1040,22 @@ dns_tsig_verify(isc_buffer_t *source, dns_message_t *msg, dns_tsig_keyring_t *ring1, dns_tsig_keyring_t *ring2) { dns_rdata_any_tsig_t tsig, querytsig; - isc_region_t r, source_r, header_r, sig_r; - isc_buffer_t databuf; - unsigned char data[32]; - dns_name_t *keyname; - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_stdtime_t now; - isc_result_t ret; - dns_tsigkey_t *tsigkey; - dst_key_t *key = NULL; - unsigned char header[DNS_MESSAGE_HEADERLEN]; - dst_context_t *ctx = NULL; - isc_mem_t *mctx; - uint16_t addcount, id; - unsigned int siglen; - unsigned int alg; - bool response; + isc_region_t r, source_r, header_r, sig_r; + isc_buffer_t databuf; + unsigned char data[32]; + dns_name_t * keyname; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_stdtime_t now; + isc_result_t ret; + dns_tsigkey_t * tsigkey; + dst_key_t * key = NULL; + unsigned char header[DNS_MESSAGE_HEADERLEN]; + dst_context_t * ctx = NULL; + isc_mem_t * mctx; + uint16_t addcount, id; + unsigned int siglen; + unsigned int alg; + bool response; REQUIRE(source != NULL); REQUIRE(DNS_MESSAGE_VALID(msg)); @@ -1111,12 +1112,12 @@ dns_tsig_verify(isc_buffer_t *source, dns_message_t *msg, if (ret != ISC_R_SUCCESS) return (ret); } -#if defined(__clang__) && \ - ( __clang_major__ < 3 || \ - (__clang_major__ == 3 && __clang_minor__ < 2) || \ - (__clang_major__ == 4 && __clang_minor__ < 2)) +#if defined(__clang__) && (__clang_major__ < 3 || \ + (__clang_major__ == 3 && __clang_minor__ < 2) || \ + (__clang_major__ == 4 && __clang_minor__ < 2)) /* false positive: http://llvm.org/bugs/show_bug.cgi?id=14461 */ - else memset(&querytsig, 0, sizeof(querytsig)); + else + memset(&querytsig, 0, sizeof(querytsig)); #endif /* @@ -1149,10 +1150,9 @@ dns_tsig_verify(isc_buffer_t *source, dns_message_t *msg, &tsig.algorithm, ring2); if (ret != ISC_R_SUCCESS) { msg->tsigstatus = dns_tsigerror_badkey; - ret = dns_tsigkey_create(keyname, &tsig.algorithm, - NULL, 0, false, NULL, - now, now, - mctx, NULL, &msg->tsigkey); + ret = dns_tsigkey_create(keyname, &tsig.algorithm, NULL, + 0, false, NULL, now, now, mctx, + NULL, &msg->tsigkey); if (ret != ISC_R_SUCCESS) return (ret); tsig_log(msg->tsigkey, 2, "unknown key"); @@ -1176,8 +1176,7 @@ dns_tsig_verify(isc_buffer_t *source, dns_message_t *msg, return (DNS_R_FORMERR); } if (tsig.siglen > 0 && - (tsig.siglen < 10 || tsig.siglen < ((siglen + 1) / 2))) - { + (tsig.siglen < 10 || tsig.siglen < ((siglen + 1) / 2))) { tsig_log(msg->tsigkey, 2, "signature length below minimum"); return (DNS_R_FORMERR); @@ -1190,8 +1189,7 @@ dns_tsig_verify(isc_buffer_t *source, dns_message_t *msg, sig_r.base = tsig.signature; sig_r.length = tsig.siglen; - ret = dst_context_create(key, mctx, - DNS_LOGCATEGORY_DNSSEC, + ret = dst_context_create(key, mctx, DNS_LOGCATEGORY_DNSSEC, false, 0, &ctx); if (ret != ISC_R_SUCCESS) return (ret); @@ -1236,7 +1234,7 @@ dns_tsig_verify(isc_buffer_t *source, dns_message_t *msg, /* * Digest the modified header. */ - header_r.base = (unsigned char *) header; + header_r.base = (unsigned char *)header; header_r.length = DNS_MESSAGE_HEADERLEN; ret = dst_context_adddata(ctx, &header_r); if (ret != ISC_R_SUCCESS) @@ -1336,8 +1334,7 @@ dns_tsig_verify(isc_buffer_t *source, dns_message_t *msg, uint16_t digestbits = dst_key_getbits(key); if (tsig.siglen > 0 && digestbits != 0 && - tsig.siglen < ((digestbits + 7) / 8)) - { + tsig.siglen < ((digestbits + 7) / 8)) { msg->tsigstatus = dns_tsigerror_badtrunc; tsig_log(msg->tsigkey, 2, "truncated signature length too small"); @@ -1345,8 +1342,7 @@ dns_tsig_verify(isc_buffer_t *source, dns_message_t *msg, goto cleanup_context; } if (tsig.siglen > 0 && digestbits == 0 && - tsig.siglen < siglen) - { + tsig.siglen < siglen) { msg->tsigstatus = dns_tsigerror_badtrunc; tsig_log(msg->tsigkey, 2, "signature length too small"); ret = DNS_R_TSIGVERIFYFAILURE; @@ -1366,7 +1362,7 @@ dns_tsig_verify(isc_buffer_t *source, dns_message_t *msg, msg->tsigstatus = dns_rcode_noerror; ret = ISC_R_SUCCESS; - cleanup_context: +cleanup_context: if (ctx != NULL) dst_context_destroy(&ctx); @@ -1374,23 +1370,24 @@ dns_tsig_verify(isc_buffer_t *source, dns_message_t *msg, } static isc_result_t -tsig_verify_tcp(isc_buffer_t *source, dns_message_t *msg) { +tsig_verify_tcp(isc_buffer_t *source, dns_message_t *msg) +{ dns_rdata_any_tsig_t tsig, querytsig; - isc_region_t r, source_r, header_r, sig_r; - isc_buffer_t databuf; - unsigned char data[32]; - dns_name_t *keyname; - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_stdtime_t now; - isc_result_t ret; - dns_tsigkey_t *tsigkey; - dst_key_t *key = NULL; - unsigned char header[DNS_MESSAGE_HEADERLEN]; - uint16_t addcount, id; - bool has_tsig = false; - isc_mem_t *mctx; - unsigned int siglen; - unsigned int alg; + isc_region_t r, source_r, header_r, sig_r; + isc_buffer_t databuf; + unsigned char data[32]; + dns_name_t * keyname; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_stdtime_t now; + isc_result_t ret; + dns_tsigkey_t * tsigkey; + dst_key_t * key = NULL; + unsigned char header[DNS_MESSAGE_HEADERLEN]; + uint16_t addcount, id; + bool has_tsig = false; + isc_mem_t * mctx; + unsigned int siglen; + unsigned int alg; REQUIRE(source != NULL); REQUIRE(msg != NULL); @@ -1440,8 +1437,7 @@ tsig_verify_tcp(isc_buffer_t *source, dns_message_t *msg) { * Do the key name and algorithm match that of the query? */ if (!dns_name_equal(keyname, &tsigkey->name) || - !dns_name_equal(&tsig.algorithm, &querytsig.algorithm)) - { + !dns_name_equal(&tsig.algorithm, &querytsig.algorithm)) { msg->tsigstatus = dns_tsigerror_badkey; ret = DNS_R_TSIGVERIFYFAILURE; tsig_log(msg->tsigkey, 2, @@ -1465,8 +1461,7 @@ tsig_verify_tcp(isc_buffer_t *source, dns_message_t *msg) { } if (tsig.siglen > 0 && (tsig.siglen < 10 || - tsig.siglen < ((siglen + 1) / 2))) - { + tsig.siglen < ((siglen + 1) / 2))) { tsig_log(tsigkey, 2, "signature length below minimum"); ret = DNS_R_FORMERR; @@ -1476,8 +1471,7 @@ tsig_verify_tcp(isc_buffer_t *source, dns_message_t *msg) { } if (msg->tsigctx == NULL) { - ret = dst_context_create(key, mctx, - DNS_LOGCATEGORY_DNSSEC, + ret = dst_context_create(key, mctx, DNS_LOGCATEGORY_DNSSEC, false, 0, &msg->tsigctx); if (ret != ISC_R_SUCCESS) goto cleanup_querystruct; @@ -1528,7 +1522,8 @@ tsig_verify_tcp(isc_buffer_t *source, dns_message_t *msg) { * XXX Can TCP transfers be forwarded? How would that * work? */ - /* cppcheck-suppress uninitStructMember symbolName=tsig.originalid */ + /* cppcheck-suppress uninitStructMember + * symbolName=tsig.originalid */ id = htons(tsig.originalid); memmove(&header[0], &id, 2); } @@ -1536,7 +1531,7 @@ tsig_verify_tcp(isc_buffer_t *source, dns_message_t *msg) { /* * Digest the modified header. */ - header_r.base = (unsigned char *) header; + header_r.base = (unsigned char *)header; header_r.length = DNS_MESSAGE_HEADERLEN; ret = dst_context_adddata(msg->tsigctx, &header_r); if (ret != ISC_R_SUCCESS) @@ -1578,8 +1573,7 @@ tsig_verify_tcp(isc_buffer_t *source, dns_message_t *msg) { ret = DNS_R_TSIGERRORSET; } } else { - tsig_log(msg->tsigkey, 2, - "signature is empty"); + tsig_log(msg->tsigkey, 2, "signature is empty"); ret = DNS_R_TSIGVERIFYFAILURE; } goto cleanup_context; @@ -1614,11 +1608,9 @@ tsig_verify_tcp(isc_buffer_t *source, dns_message_t *msg) { ret = DNS_R_CLOCKSKEW; goto cleanup_context; } else if (now + msg->timeadjust < - tsig.timesigned - tsig.fudge) - { + tsig.timesigned - tsig.fudge) { msg->tsigstatus = dns_tsigerror_badtime; - tsig_log(msg->tsigkey, 2, - "signature is in the future"); + tsig_log(msg->tsigkey, 2, "signature is in the future"); ret = DNS_R_CLOCKSKEW; goto cleanup_context; } @@ -1631,8 +1623,7 @@ tsig_verify_tcp(isc_buffer_t *source, dns_message_t *msg) { uint16_t digestbits = dst_key_getbits(key); if (tsig.siglen > 0 && digestbits != 0 && - tsig.siglen < ((digestbits + 7) / 8)) - { + tsig.siglen < ((digestbits + 7) / 8)) { msg->tsigstatus = dns_tsigerror_badtrunc; tsig_log(msg->tsigkey, 2, "truncated signature length " @@ -1641,8 +1632,7 @@ tsig_verify_tcp(isc_buffer_t *source, dns_message_t *msg) { goto cleanup_context; } if (tsig.siglen > 0 && digestbits == 0 && - tsig.siglen < siglen) - { + tsig.siglen < siglen) { msg->tsigstatus = dns_tsigerror_badtrunc; tsig_log(msg->tsigkey, 2, "signature length too small"); @@ -1664,7 +1654,7 @@ tsig_verify_tcp(isc_buffer_t *source, dns_message_t *msg) { msg->tsigstatus = dns_rcode_noerror; ret = ISC_R_SUCCESS; - cleanup_context: +cleanup_context: /* * Except in error conditions, don't destroy the DST context * for unsigned messages; it is a running sum till the next @@ -1674,7 +1664,7 @@ tsig_verify_tcp(isc_buffer_t *source, dns_message_t *msg) { dst_context_destroy(&msg->tsigctx); } - cleanup_querystruct: +cleanup_querystruct: dns_rdata_freestruct(&querytsig); return (ret); @@ -1685,8 +1675,8 @@ dns_tsigkey_find(dns_tsigkey_t **tsigkey, const dns_name_t *name, const dns_name_t *algorithm, dns_tsig_keyring_t *ring) { dns_tsigkey_t *key; - isc_stdtime_t now; - isc_result_t result; + isc_stdtime_t now; + isc_result_t result; REQUIRE(tsigkey != NULL); REQUIRE(*tsigkey == NULL); @@ -1738,7 +1728,8 @@ dns_tsigkey_find(dns_tsigkey_t **tsigkey, const dns_name_t *name, } static void -free_tsignode(void *node, void *_unused) { +free_tsignode(void *node, void *_unused) +{ dns_tsigkey_t *key; REQUIRE(node != NULL); @@ -1754,8 +1745,9 @@ free_tsignode(void *node, void *_unused) { } isc_result_t -dns_tsigkeyring_create(isc_mem_t *mctx, dns_tsig_keyring_t **ringp) { - isc_result_t result; +dns_tsigkeyring_create(isc_mem_t *mctx, dns_tsig_keyring_t **ringp) +{ + isc_result_t result; dns_tsig_keyring_t *ring; REQUIRE(mctx != NULL); @@ -1815,7 +1807,8 @@ dns_tsigkeyring_attach(dns_tsig_keyring_t *source, dns_tsig_keyring_t **target) } void -dns_tsigkeyring_detach(dns_tsig_keyring_t **ringp) { +dns_tsigkeyring_detach(dns_tsig_keyring_t **ringp) +{ dns_tsig_keyring_t *ring; REQUIRE(ringp != NULL); @@ -1830,9 +1823,10 @@ dns_tsigkeyring_detach(dns_tsig_keyring_t **ringp) { } void -dns_keyring_restore(dns_tsig_keyring_t *ring, FILE *fp) { +dns_keyring_restore(dns_tsig_keyring_t *ring, FILE *fp) +{ isc_stdtime_t now; - isc_result_t result; + isc_result_t result; isc_stdtime_get(&now); do { diff --git a/lib/dns/tsig_p.h b/lib/dns/tsig_p.h index 7c0d2abf81..1361c81583 100644 --- a/lib/dns/tsig_p.h +++ b/lib/dns/tsig_p.h @@ -17,6 +17,7 @@ #include #include + #include /*% diff --git a/lib/dns/ttl.c b/lib/dns/ttl.c index 848ab0b701..a2d15ae540 100644 --- a/lib/dns/ttl.c +++ b/lib/dns/ttl.c @@ -9,14 +9,13 @@ * information regarding copyright ownership. */ - /*! \file */ #include #include +#include #include #include -#include #include #include @@ -29,31 +28,30 @@ #include #include -#define RETERR(x) do { \ - isc_result_t _r = (x); \ - if (_r != ISC_R_SUCCESS) \ - return (_r); \ +#define RETERR(x) \ + do { \ + isc_result_t _r = (x); \ + if (_r != ISC_R_SUCCESS) \ + return (_r); \ } while (0) - -static isc_result_t bind_ttl(isc_textregion_t *source, uint32_t *ttl); +static isc_result_t +bind_ttl(isc_textregion_t *source, uint32_t *ttl); /* * Helper for dns_ttl_totext(). */ static isc_result_t -ttlfmt(unsigned int t, const char *s, bool verbose, - bool space, isc_buffer_t *target) +ttlfmt(unsigned int t, const char *s, bool verbose, bool space, + isc_buffer_t *target) { - char tmp[60]; + char tmp[60]; unsigned int len; isc_region_t region; if (verbose) - len = snprintf(tmp, sizeof(tmp), "%s%u %s%s", - space ? " " : "", - t, s, - t == 1 ? "" : "s"); + len = snprintf(tmp, sizeof(tmp), "%s%u %s%s", space ? " " : "", + t, s, t == 1 ? "" : "s"); else len = snprintf(tmp, sizeof(tmp), "%u%c", t, s[0]); @@ -71,16 +69,20 @@ ttlfmt(unsigned int t, const char *s, bool verbose, * Derived from bind8 ns_format_ttl(). */ isc_result_t -dns_ttl_totext(uint32_t src, bool verbose, - bool upcase, isc_buffer_t *target) +dns_ttl_totext(uint32_t src, bool verbose, bool upcase, isc_buffer_t *target) { unsigned secs, mins, hours, days, weeks, x; - secs = src % 60; src /= 60; - mins = src % 60; src /= 60; - hours = src % 24; src /= 24; - days = src % 7; src /= 7; - weeks = src; src = 0; + secs = src % 60; + src /= 60; + mins = src % 60; + src /= 60; + hours = src % 24; + src /= 24; + days = src % 7; + src /= 7; + weeks = src; + src = 0; POST(src); x = 0; @@ -100,12 +102,11 @@ dns_ttl_totext(uint32_t src, bool verbose, RETERR(ttlfmt(mins, "minute", verbose, (x > 0), target)); x++; } - if (secs != 0 || - (weeks == 0 && days == 0 && hours == 0 && mins == 0)) { + if (secs != 0 || (weeks == 0 && days == 0 && hours == 0 && mins == 0)) { RETERR(ttlfmt(secs, "second", verbose, (x > 0), target)); x++; } - INSIST (x > 0); + INSIST(x > 0); /* * If only a single unit letter is printed, print it * in upper case. (Why? Because BIND 8 does that. @@ -128,12 +129,14 @@ dns_ttl_totext(uint32_t src, bool verbose, } isc_result_t -dns_counter_fromtext(isc_textregion_t *source, uint32_t *ttl) { +dns_counter_fromtext(isc_textregion_t *source, uint32_t *ttl) +{ return (bind_ttl(source, ttl)); } isc_result_t -dns_ttl_fromtext(isc_textregion_t *source, uint32_t *ttl) { +dns_ttl_fromtext(isc_textregion_t *source, uint32_t *ttl) +{ isc_result_t result; result = bind_ttl(source, ttl); @@ -143,12 +146,13 @@ dns_ttl_fromtext(isc_textregion_t *source, uint32_t *ttl) { } static isc_result_t -bind_ttl(isc_textregion_t *source, uint32_t *ttl) { +bind_ttl(isc_textregion_t *source, uint32_t *ttl) +{ uint64_t tmp = 0ULL; uint32_t n; - char *s; - char buf[64]; - char nbuf[64]; /* Number buffer */ + char * s; + char buf[64]; + char nbuf[64]; /* Number buffer */ /* * Copy the buffer as it may not be NULL terminated. @@ -174,27 +178,27 @@ bind_ttl(isc_textregion_t *source, uint32_t *ttl) { switch (*s) { case 'w': case 'W': - tmp += (uint64_t) n * 7 * 24 * 3600; + tmp += (uint64_t)n * 7 * 24 * 3600; s++; break; case 'd': case 'D': - tmp += (uint64_t) n * 24 * 3600; + tmp += (uint64_t)n * 24 * 3600; s++; break; case 'h': case 'H': - tmp += (uint64_t) n * 3600; + tmp += (uint64_t)n * 3600; s++; break; case 'm': case 'M': - tmp += (uint64_t) n * 60; + tmp += (uint64_t)n * 60; s++; break; case 's': case 'S': - tmp += (uint64_t) n; + tmp += (uint64_t)n; s++; break; case '\0': diff --git a/lib/dns/update.c b/lib/dns/update.c index 9bd5896796..bd884c122e 100644 --- a/lib/dns/update.c +++ b/lib/dns/update.c @@ -57,30 +57,31 @@ #include #include - /**************************************************************************/ -#define STATE_MAGIC ISC_MAGIC('S', 'T', 'T', 'E') -#define DNS_STATE_VALID(state) ISC_MAGIC_VALID(state, STATE_MAGIC) +#define STATE_MAGIC ISC_MAGIC('S', 'T', 'T', 'E') +#define DNS_STATE_VALID(state) ISC_MAGIC_VALID(state, STATE_MAGIC) /*% * Log level for tracing dynamic update protocol requests. */ -#define LOGLEVEL_PROTOCOL ISC_LOG_INFO +#define LOGLEVEL_PROTOCOL ISC_LOG_INFO /*% * Log level for low-level debug tracing. */ -#define LOGLEVEL_DEBUG ISC_LOG_DEBUG(8) +#define LOGLEVEL_DEBUG ISC_LOG_DEBUG(8) /*% * Check an operation for failure. These macros all assume that * the function using them has a 'result' variable and a 'failure' * label. */ -#define CHECK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) /*% @@ -92,10 +93,11 @@ * from complaining about "end-of-loop code not reached". */ -#define FAIL(code) \ - do { \ - result = (code); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define FAIL(code) \ + do { \ + result = (code); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) /*% @@ -103,66 +105,67 @@ * The test against ISC_R_SUCCESS is there to keep the Solaris compiler * from complaining about "end-of-loop code not reached". */ -#define FAILC(code, msg) \ - do { \ - const char *_what = "failed"; \ - result = (code); \ - switch (result) { \ - case DNS_R_NXDOMAIN: \ - case DNS_R_YXDOMAIN: \ - case DNS_R_YXRRSET: \ - case DNS_R_NXRRSET: \ - _what = "unsuccessful"; \ - } \ - update_log(log, zone, LOGLEVEL_PROTOCOL, \ - "update %s: %s (%s)", _what, \ - msg, isc_result_totext(result)); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define FAILC(code, msg) \ + do { \ + const char *_what = "failed"; \ + result = (code); \ + switch (result) { \ + case DNS_R_NXDOMAIN: \ + case DNS_R_YXDOMAIN: \ + case DNS_R_YXRRSET: \ + case DNS_R_NXRRSET: \ + _what = "unsuccessful"; \ + } \ + update_log(log, zone, LOGLEVEL_PROTOCOL, "update %s: %s (%s)", \ + _what, msg, isc_result_totext(result)); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) -#define FAILN(code, name, msg) \ - do { \ - const char *_what = "failed"; \ - result = (code); \ - switch (result) { \ - case DNS_R_NXDOMAIN: \ - case DNS_R_YXDOMAIN: \ - case DNS_R_YXRRSET: \ - case DNS_R_NXRRSET: \ - _what = "unsuccessful"; \ - } \ - if (isc_log_wouldlog(dns_lctx, LOGLEVEL_PROTOCOL)) { \ - char _nbuf[DNS_NAME_FORMATSIZE]; \ - dns_name_format(name, _nbuf, sizeof(_nbuf)); \ - update_log(log, zone, LOGLEVEL_PROTOCOL, \ +#define FAILN(code, name, msg) \ + do { \ + const char *_what = "failed"; \ + result = (code); \ + switch (result) { \ + case DNS_R_NXDOMAIN: \ + case DNS_R_YXDOMAIN: \ + case DNS_R_YXRRSET: \ + case DNS_R_NXRRSET: \ + _what = "unsuccessful"; \ + } \ + if (isc_log_wouldlog(dns_lctx, LOGLEVEL_PROTOCOL)) { \ + char _nbuf[DNS_NAME_FORMATSIZE]; \ + dns_name_format(name, _nbuf, sizeof(_nbuf)); \ + update_log(log, zone, LOGLEVEL_PROTOCOL, \ "update %s: %s: %s (%s)", _what, _nbuf, \ - msg, isc_result_totext(result)); \ - } \ - if (result != ISC_R_SUCCESS) goto failure; \ + msg, isc_result_totext(result)); \ + } \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) -#define FAILNT(code, name, type, msg) \ - do { \ - const char *_what = "failed"; \ - result = (code); \ - switch (result) { \ - case DNS_R_NXDOMAIN: \ - case DNS_R_YXDOMAIN: \ - case DNS_R_YXRRSET: \ - case DNS_R_NXRRSET: \ - _what = "unsuccessful"; \ - } \ - if (isc_log_wouldlog(dns_lctx, LOGLEVEL_PROTOCOL)) { \ - char _nbuf[DNS_NAME_FORMATSIZE]; \ - char _tbuf[DNS_RDATATYPE_FORMATSIZE]; \ - dns_name_format(name, _nbuf, sizeof(_nbuf)); \ - dns_rdatatype_format(type, _tbuf, sizeof(_tbuf)); \ - update_log(log, zone, LOGLEVEL_PROTOCOL, \ - "update %s: %s/%s: %s (%s)", \ - _what, _nbuf, _tbuf, msg, \ - isc_result_totext(result)); \ - } \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define FAILNT(code, name, type, msg) \ + do { \ + const char *_what = "failed"; \ + result = (code); \ + switch (result) { \ + case DNS_R_NXDOMAIN: \ + case DNS_R_YXDOMAIN: \ + case DNS_R_YXRRSET: \ + case DNS_R_NXRRSET: \ + _what = "unsuccessful"; \ + } \ + if (isc_log_wouldlog(dns_lctx, LOGLEVEL_PROTOCOL)) { \ + char _nbuf[DNS_NAME_FORMATSIZE]; \ + char _tbuf[DNS_RDATATYPE_FORMATSIZE]; \ + dns_name_format(name, _nbuf, sizeof(_nbuf)); \ + dns_rdatatype_format(type, _tbuf, sizeof(_tbuf)); \ + update_log(log, zone, LOGLEVEL_PROTOCOL, \ + "update %s: %s/%s: %s (%s)", _what, _nbuf, \ + _tbuf, msg, isc_result_totext(result)); \ + } \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) /*% @@ -170,13 +173,13 @@ * The test against ISC_R_SUCCESS is there to keep the Solaris compiler * from complaining about "end-of-loop code not reached". */ -#define FAILS(code, msg) \ - do { \ - result = (code); \ - update_log(log, zone, LOGLEVEL_PROTOCOL, \ - "error: %s: %s", \ - msg, isc_result_totext(result)); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define FAILS(code, msg) \ + do { \ + result = (code); \ + update_log(log, zone, LOGLEVEL_PROTOCOL, "error: %s: %s", msg, \ + isc_result_totext(result)); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) /**************************************************************************/ @@ -185,8 +188,8 @@ typedef struct rr rr_t; struct rr { /* dns_name_t name; */ - uint32_t ttl; - dns_rdata_t rdata; + uint32_t ttl; + dns_rdata_t rdata; }; typedef struct update_event update_event_t; @@ -194,15 +197,15 @@ typedef struct update_event update_event_t; /**************************************************************************/ static void -update_log(dns_update_log_t *callback, dns_zone_t *zone, - int level, const char *fmt, ...) ISC_FORMAT_PRINTF(4, 5); +update_log(dns_update_log_t *callback, dns_zone_t *zone, int level, + const char *fmt, ...) ISC_FORMAT_PRINTF(4, 5); static void -update_log(dns_update_log_t *callback, dns_zone_t *zone, - int level, const char *fmt, ...) +update_log(dns_update_log_t *callback, dns_zone_t *zone, int level, + const char *fmt, ...) { va_list ap; - char message[4096]; + char message[4096]; if (callback == NULL) return; @@ -210,7 +213,6 @@ update_log(dns_update_log_t *callback, dns_zone_t *zone, if (isc_log_wouldlog(dns_lctx, level) == false) return; - va_start(ap, fmt); vsnprintf(message, sizeof(message), fmt, ap); va_end(ap); @@ -230,7 +232,7 @@ static isc_result_t do_one_tuple(dns_difftuple_t **tuple, dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff) { - dns_diff_t temp_diff; + dns_diff_t temp_diff; isc_result_t result; /* @@ -266,9 +268,8 @@ update_one_rr(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, dns_rdata_t *rdata) { dns_difftuple_t *tuple = NULL; - isc_result_t result; - result = dns_difftuple_create(diff->mctx, op, - name, ttl, rdata, &tuple); + isc_result_t result; + result = dns_difftuple_create(diff->mctx, op, name, ttl, rdata, &tuple); if (result != ISC_R_SUCCESS) return (result); return (do_one_tuple(&tuple, db, ver, diff)); @@ -297,32 +298,33 @@ update_one_rr(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, /*% * Function type for foreach_rrset() iterator actions. */ -typedef isc_result_t rrset_func(void *data, dns_rdataset_t *rrset); +typedef isc_result_t +rrset_func(void *data, dns_rdataset_t *rrset); /*% * Function type for foreach_rr() iterator actions. */ -typedef isc_result_t rr_func(void *data, rr_t *rr); +typedef isc_result_t +rr_func(void *data, rr_t *rr); /*% * Internal context struct for foreach_node_rr(). */ typedef struct { - rr_func * rr_action; - void * rr_action_data; + rr_func *rr_action; + void * rr_action_data; } foreach_node_rr_ctx_t; /*% * Internal helper function for foreach_node_rr(). */ static isc_result_t -foreach_node_rr_action(void *data, dns_rdataset_t *rdataset) { - isc_result_t result; +foreach_node_rr_action(void *data, dns_rdataset_t *rdataset) +{ + isc_result_t result; foreach_node_rr_ctx_t *ctx = data; - for (result = dns_rdataset_first(rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(rdataset)) - { + for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(rdataset)) { rr_t rr = { 0, DNS_RDATA_INIT }; dns_rdataset_current(rdataset, &rr.rdata); @@ -347,8 +349,8 @@ static isc_result_t foreach_rrset(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, rrset_func *action, void *action_data) { - isc_result_t result; - dns_dbnode_t *node; + isc_result_t result; + dns_dbnode_t * node; dns_rdatasetiter_t *iter; node = NULL; @@ -359,15 +361,12 @@ foreach_rrset(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, return (result); iter = NULL; - result = dns_db_allrdatasets(db, node, ver, - (isc_stdtime_t) 0, &iter); + result = dns_db_allrdatasets(db, node, ver, (isc_stdtime_t)0, &iter); if (result != ISC_R_SUCCESS) goto cleanup_node; - for (result = dns_rdatasetiter_first(iter); - result == ISC_R_SUCCESS; - result = dns_rdatasetiter_next(iter)) - { + for (result = dns_rdatasetiter_first(iter); result == ISC_R_SUCCESS; + result = dns_rdatasetiter_next(iter)) { dns_rdataset_t rdataset; dns_rdataset_init(&rdataset); @@ -382,10 +381,10 @@ foreach_rrset(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, if (result == ISC_R_NOMORE) result = ISC_R_SUCCESS; - cleanup_iterator: +cleanup_iterator: dns_rdatasetiter_destroy(&iter); - cleanup_node: +cleanup_node: dns_db_detachnode(db, &node); return (result); @@ -406,11 +405,9 @@ foreach_node_rr(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, foreach_node_rr_ctx_t ctx; ctx.rr_action = rr_action; ctx.rr_action_data = rr_action_data; - return (foreach_rrset(db, ver, name, - foreach_node_rr_action, &ctx)); + return (foreach_rrset(db, ver, name, foreach_node_rr_action, &ctx)); } - /*% * For each of the RRs specified by 'db', 'ver', 'name', 'type', * (which can be dns_rdatatype_any to match any type), and 'covers', call @@ -425,14 +422,13 @@ foreach_rr(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, dns_rdatatype_t type, dns_rdatatype_t covers, rr_func *rr_action, void *rr_action_data) { - - isc_result_t result; - dns_dbnode_t *node; + isc_result_t result; + dns_dbnode_t * node; dns_rdataset_t rdataset; if (type == dns_rdatatype_any) - return (foreach_node_rr(db, ver, name, - rr_action, rr_action_data)); + return (foreach_node_rr(db, ver, name, rr_action, + rr_action_data)); node = NULL; if (type == dns_rdatatype_nsec3 || @@ -447,7 +443,7 @@ foreach_rr(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, dns_rdataset_init(&rdataset); result = dns_db_findrdataset(db, node, ver, type, covers, - (isc_stdtime_t) 0, &rdataset, NULL); + (isc_stdtime_t)0, &rdataset, NULL); if (result == ISC_R_NOTFOUND) { result = ISC_R_SUCCESS; goto cleanup_node; @@ -455,10 +451,8 @@ foreach_rr(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, if (result != ISC_R_SUCCESS) goto cleanup_node; - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(&rdataset)) - { + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(&rdataset)) { rr_t rr = { 0, DNS_RDATA_INIT }; dns_rdataset_current(&rdataset, &rr.rdata); rr.ttl = rdataset.ttl; @@ -470,9 +464,9 @@ foreach_rr(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, goto cleanup_rdataset; result = ISC_R_SUCCESS; - cleanup_rdataset: +cleanup_rdataset: dns_rdataset_disassociate(&rdataset); - cleanup_node: +cleanup_node: dns_db_detachnode(db, &node); return (result); @@ -487,13 +481,15 @@ foreach_rr(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, * Function type for predicate functions that compare a database RR 'db_rr' * against an update RR 'update_rr'. */ -typedef bool rr_predicate(dns_rdata_t *update_rr, dns_rdata_t *db_rr); +typedef bool +rr_predicate(dns_rdata_t *update_rr, dns_rdata_t *db_rr); /*% * Helper function for rrset_exists(). */ static isc_result_t -rrset_exists_action(void *data, rr_t *rr) { +rrset_exists_action(void *data, rr_t *rr) +{ UNUSED(data); UNUSED(rr); return (ISC_R_EXISTS); @@ -512,12 +508,12 @@ rrset_exists_action(void *data, rr_t *rr) { * This would be more readable as "do { if ... } while(0)", * but that form generates tons of warnings on Solaris 2.6. */ -#define RETURN_EXISTENCE_FLAG \ - return ((result == ISC_R_EXISTS) ? \ - (*exists = true, ISC_R_SUCCESS) : \ - ((result == ISC_R_SUCCESS) ? \ - (*exists = false, ISC_R_SUCCESS) : \ - result)) +#define RETURN_EXISTENCE_FLAG \ + return ((result == ISC_R_EXISTS) \ + ? (*exists = true, ISC_R_SUCCESS) \ + : ((result == ISC_R_SUCCESS) \ + ? (*exists = false, ISC_R_SUCCESS) \ + : result)) /*% * Set '*exists' to true iff an rrset of the given type exists, @@ -525,12 +521,11 @@ rrset_exists_action(void *data, rr_t *rr) { */ static isc_result_t rrset_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, - dns_rdatatype_t type, dns_rdatatype_t covers, - bool *exists) + dns_rdatatype_t type, dns_rdatatype_t covers, bool *exists) { isc_result_t result; - result = foreach_rr(db, ver, name, type, covers, - rrset_exists_action, NULL); + result = foreach_rr(db, ver, name, type, covers, rrset_exists_action, + NULL); RETURN_EXISTENCE_FLAG; } @@ -543,13 +538,13 @@ static isc_result_t rrset_visible(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, dns_rdatatype_t type, bool *visible) { - isc_result_t result; + isc_result_t result; dns_fixedname_t fixed; dns_fixedname_init(&fixed); result = dns_db_find(db, name, ver, type, DNS_DBFIND_NOWILD, - (isc_stdtime_t) 0, NULL, - dns_fixedname_name(&fixed), NULL, NULL); + (isc_stdtime_t)0, NULL, dns_fixedname_name(&fixed), + NULL, NULL); switch (result) { case ISC_R_SUCCESS: *visible = true; @@ -568,7 +563,7 @@ rrset_visible(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, result = ISC_R_SUCCESS; break; default: - *visible = false; /* silence false compiler warning */ + *visible = false; /* silence false compiler warning */ break; } return (result); @@ -579,7 +574,8 @@ rrset_visible(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, */ static isc_result_t -name_exists_action(void *data, dns_rdataset_t *rrset) { +name_exists_action(void *data, dns_rdataset_t *rrset) +{ UNUSED(data); UNUSED(rrset); return (ISC_R_EXISTS); @@ -589,12 +585,10 @@ name_exists_action(void *data, dns_rdataset_t *rrset) { * Set '*exists' to true iff the given name exists, to false otherwise. */ static isc_result_t -name_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, - bool *exists) +name_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, bool *exists) { isc_result_t result; - result = foreach_rrset(db, ver, name, - name_exists_action, NULL); + result = foreach_rrset(db, ver, name, name_exists_action, NULL); RETURN_EXISTENCE_FLAG; } @@ -615,12 +609,13 @@ name_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, * followed by the type and rdata. */ static int -temp_order(const void *av, const void *bv) { - dns_difftuple_t const * const *ap = av; - dns_difftuple_t const * const *bp = bv; - dns_difftuple_t const *a = *ap; - dns_difftuple_t const *b = *bp; - int r; +temp_order(const void *av, const void *bv) +{ + dns_difftuple_t const *const *ap = av; + dns_difftuple_t const *const *bp = bv; + dns_difftuple_t const * a = *ap; + dns_difftuple_t const * b = *bp; + int r; r = dns_name_compare(&a->name, &b->name); if (r != 0) return (r); @@ -641,12 +636,12 @@ temp_order(const void *av, const void *bv) { */ typedef struct { - rr_predicate *predicate; - dns_db_t *db; + rr_predicate * predicate; + dns_db_t * db; dns_dbversion_t *ver; - dns_diff_t *diff; - dns_name_t *name; - dns_rdata_t *update_rr; + dns_diff_t * diff; + dns_name_t * name; + dns_rdata_t * update_rr; } conditional_delete_ctx_t; /*% @@ -657,7 +652,8 @@ typedef struct { * Return true always. */ static bool -true_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) { +true_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) +{ UNUSED(update_rr); UNUSED(db_rr); return (true); @@ -667,23 +663,24 @@ true_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) { * Return true if the record is a RRSIG. */ static bool -rrsig_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) { +rrsig_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) +{ UNUSED(update_rr); - return ((db_rr->type == dns_rdatatype_rrsig) ? - true : false); + return ((db_rr->type == dns_rdatatype_rrsig) ? true : false); } /*% * Internal helper function for delete_if(). */ static isc_result_t -delete_if_action(void *data, rr_t *rr) { +delete_if_action(void *data, rr_t *rr) +{ conditional_delete_ctx_t *ctx = data; if ((*ctx->predicate)(ctx->update_rr, &rr->rdata)) { isc_result_t result; result = update_one_rr(ctx->db, ctx->ver, ctx->diff, - DNS_DIFFOP_DEL, ctx->name, - rr->ttl, &rr->rdata); + DNS_DIFFOP_DEL, ctx->name, rr->ttl, + &rr->rdata); return (result); } else { return (ISC_R_SUCCESS); @@ -709,8 +706,8 @@ delete_if(rr_predicate *predicate, dns_db_t *db, dns_dbversion_t *ver, ctx.diff = diff; ctx.name = name; ctx.update_rr = update_rr; - return (foreach_rr(db, ver, name, type, covers, - delete_if_action, &ctx)); + return (foreach_rr(db, ver, name, type, covers, delete_if_action, + &ctx)); } /**************************************************************************/ @@ -723,56 +720,54 @@ delete_if(rr_predicate *predicate, dns_db_t *db, dns_dbversion_t *ver, * affected by the update. */ static isc_result_t -namelist_append_name(dns_diff_t *list, dns_name_t *name) { - isc_result_t result; - dns_difftuple_t *tuple = NULL; +namelist_append_name(dns_diff_t *list, dns_name_t *name) +{ + isc_result_t result; + dns_difftuple_t * tuple = NULL; static dns_rdata_t dummy_rdata = DNS_RDATA_INIT; CHECK(dns_difftuple_create(list->mctx, DNS_DIFFOP_EXISTS, name, 0, &dummy_rdata, &tuple)); dns_diff_append(list, &tuple); - failure: +failure: return (result); } static isc_result_t namelist_append_subdomain(dns_db_t *db, dns_name_t *name, dns_diff_t *affected) { - isc_result_t result; - dns_fixedname_t fixedname; - dns_name_t *child; + isc_result_t result; + dns_fixedname_t fixedname; + dns_name_t * child; dns_dbiterator_t *dbit = NULL; child = dns_fixedname_initname(&fixedname); CHECK(dns_db_createiterator(db, DNS_DB_NONSEC3, &dbit)); - for (result = dns_dbiterator_seek(dbit, name); - result == ISC_R_SUCCESS; - result = dns_dbiterator_next(dbit)) - { + for (result = dns_dbiterator_seek(dbit, name); result == ISC_R_SUCCESS; + result = dns_dbiterator_next(dbit)) { dns_dbnode_t *node = NULL; CHECK(dns_dbiterator_current(dbit, &node, child)); dns_db_detachnode(db, &node); - if (! dns_name_issubdomain(child, name)) + if (!dns_name_issubdomain(child, name)) break; CHECK(namelist_append_name(affected, child)); } if (result == ISC_R_NOMORE) result = ISC_R_SUCCESS; - failure: +failure: if (dbit != NULL) dns_dbiterator_destroy(&dbit); return (result); } - - /*% * Helper function for non_nsec_rrset_exists(). */ static isc_result_t -is_non_nsec_action(void *data, dns_rdataset_t *rrset) { +is_non_nsec_action(void *data, dns_rdataset_t *rrset) +{ UNUSED(data); if (!(rrset->type == dns_rdatatype_nsec || rrset->type == dns_rdatatype_nsec3 || @@ -792,8 +787,8 @@ is_non_nsec_action(void *data, dns_rdataset_t *rrset) { * Otherwise, set it to false. */ static isc_result_t -non_nsec_rrset_exists(dns_db_t *db, dns_dbversion_t *ver, - dns_name_t *name, bool *exists) +non_nsec_rrset_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, + bool *exists) { isc_result_t result; result = foreach_rrset(db, ver, name, is_non_nsec_action, NULL); @@ -804,17 +799,19 @@ non_nsec_rrset_exists(dns_db_t *db, dns_dbversion_t *ver, * A comparison function for sorting dns_diff_t:s by name. */ static int -name_order(const void *av, const void *bv) { - dns_difftuple_t const * const *ap = av; - dns_difftuple_t const * const *bp = bv; - dns_difftuple_t const *a = *ap; - dns_difftuple_t const *b = *bp; +name_order(const void *av, const void *bv) +{ + dns_difftuple_t const *const *ap = av; + dns_difftuple_t const *const *bp = bv; + dns_difftuple_t const * a = *ap; + dns_difftuple_t const * b = *bp; return (dns_name_compare(&a->name, &b->name)); } static isc_result_t -uniqify_name_list(dns_diff_t *list) { - isc_result_t result; +uniqify_name_list(dns_diff_t *list) +{ + isc_result_t result; dns_difftuple_t *p, *q; CHECK(dns_diff_sort(list, name_order)); @@ -823,29 +820,28 @@ uniqify_name_list(dns_diff_t *list) { while (p != NULL) { do { q = ISC_LIST_NEXT(p, link); - if (q == NULL || ! dns_name_equal(&p->name, &q->name)) + if (q == NULL || !dns_name_equal(&p->name, &q->name)) break; ISC_LIST_UNLINK(list->tuples, q, link); dns_difftuple_free(&q); } while (1); p = ISC_LIST_NEXT(p, link); } - failure: +failure: return (result); } static isc_result_t -is_active(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, - bool *flag, bool *cut, bool *unsecure) +is_active(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, bool *flag, + bool *cut, bool *unsecure) { - isc_result_t result; + isc_result_t result; dns_fixedname_t foundname; dns_fixedname_init(&foundname); result = dns_db_find(db, name, ver, dns_rdatatype_any, DNS_DBFIND_GLUEOK | DNS_DBFIND_NOWILD, - (isc_stdtime_t) 0, NULL, - dns_fixedname_name(&foundname), - NULL, NULL); + (isc_stdtime_t)0, NULL, + dns_fixedname_name(&foundname), NULL, NULL); if (result == ISC_R_SUCCESS || result == DNS_R_EMPTYNAME) { *flag = true; *cut = false; @@ -861,9 +857,9 @@ is_active(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, * is a DS RRset. */ if (dns_db_find(db, name, ver, dns_rdatatype_ds, 0, - (isc_stdtime_t) 0, NULL, - dns_fixedname_name(&foundname), - NULL, NULL) == DNS_R_NXRRSET) + (isc_stdtime_t)0, NULL, + dns_fixedname_name(&foundname), NULL, + NULL) == DNS_R_NXRRSET) *unsecure = true; else *unsecure = false; @@ -899,11 +895,11 @@ next_active(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *oldname, dns_name_t *newname, bool forward) { - isc_result_t result; + isc_result_t result; dns_dbiterator_t *dbit = NULL; - bool has_nsec = false; - unsigned int wraps = 0; - bool secure = dns_db_issecure(db); + bool has_nsec = false; + unsigned int wraps = 0; + bool secure = dns_db_issecure(db); CHECK(dns_db_createiterator(db, 0, &dbit)); @@ -942,20 +938,18 @@ next_active(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, */ CHECK(dns_dbiterator_pause(dbit)); if (secure) { - CHECK(rrset_exists(db, ver, newname, - dns_rdatatype_nsec, 0, &has_nsec)); + CHECK(rrset_exists(db, ver, newname, dns_rdatatype_nsec, + 0, &has_nsec)); } else { dns_fixedname_t ffound; - dns_name_t *found; + dns_name_t * found; found = dns_fixedname_initname(&ffound); - result = dns_db_find(db, newname, ver, - dns_rdatatype_soa, - DNS_DBFIND_NOWILD, 0, NULL, found, - NULL, NULL); + result = dns_db_find( + db, newname, ver, dns_rdatatype_soa, + DNS_DBFIND_NOWILD, 0, NULL, found, NULL, NULL); if (result == ISC_R_SUCCESS || result == DNS_R_EMPTYNAME || - result == DNS_R_NXRRSET || - result == DNS_R_CNAME || + result == DNS_R_NXRRSET || result == DNS_R_CNAME || (result == DNS_R_DELEGATION && dns_name_equal(newname, found))) { has_nsec = true; @@ -963,8 +957,8 @@ next_active(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, } else if (result != DNS_R_NXDOMAIN) break; } - } while (! has_nsec); - failure: + } while (!has_nsec); +failure: if (dbit != NULL) dns_dbiterator_destroy(&dbit); @@ -980,13 +974,13 @@ add_nsec(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, dns_ttl_t nsecttl, dns_diff_t *diff) { - isc_result_t result; - dns_dbnode_t *node = NULL; - unsigned char buffer[DNS_NSEC_BUFFERSIZE]; - dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + dns_dbnode_t * node = NULL; + unsigned char buffer[DNS_NSEC_BUFFERSIZE]; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_difftuple_t *tuple = NULL; - dns_fixedname_t fixedname; - dns_name_t *target; + dns_fixedname_t fixedname; + dns_name_t * target; target = dns_fixedname_initname(&fixedname); @@ -1006,17 +1000,17 @@ add_nsec(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, /* * Delete the old NSEC and record the change. */ - CHECK(delete_if(true_p, db, ver, name, dns_rdatatype_nsec, 0, - NULL, diff)); + CHECK(delete_if(true_p, db, ver, name, dns_rdatatype_nsec, 0, NULL, + diff)); /* * Add the new NSEC and record the change. */ - CHECK(dns_difftuple_create(diff->mctx, DNS_DIFFOP_ADD, name, - nsecttl, &rdata, &tuple)); + CHECK(dns_difftuple_create(diff->mctx, DNS_DIFFOP_ADD, name, nsecttl, + &rdata, &tuple)); CHECK(do_one_tuple(&tuple, db, ver, diff)); INSIST(tuple == NULL); - failure: +failure: if (node != NULL) dns_db_detachnode(db, &node); return (result); @@ -1029,37 +1023,37 @@ static isc_result_t add_placeholder_nsec(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, dns_diff_t *diff) { - isc_result_t result; + isc_result_t result; dns_difftuple_t *tuple = NULL; - isc_region_t r; - unsigned char data[1] = { 0 }; /* The root domain, no bits. */ - dns_rdata_t rdata = DNS_RDATA_INIT; + isc_region_t r; + unsigned char data[1] = { 0 }; /* The root domain, no bits. */ + dns_rdata_t rdata = DNS_RDATA_INIT; r.base = data; r.length = sizeof(data); dns_rdata_fromregion(&rdata, dns_db_class(db), dns_rdatatype_nsec, &r); - CHECK(dns_difftuple_create(diff->mctx, DNS_DIFFOP_ADD, name, 0, - &rdata, &tuple)); + CHECK(dns_difftuple_create(diff->mctx, DNS_DIFFOP_ADD, name, 0, &rdata, + &tuple)); CHECK(do_one_tuple(&tuple, db, ver, diff)); - failure: +failure: return (result); } static isc_result_t find_zone_keys(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, - isc_mem_t *mctx, unsigned int maxkeys, - dst_key_t **keys, unsigned int *nkeys) + isc_mem_t *mctx, unsigned int maxkeys, dst_key_t **keys, + unsigned int *nkeys) { - isc_result_t result; + isc_result_t result; isc_stdtime_t now; dns_dbnode_t *node = NULL; - const char *directory = dns_zone_getkeydirectory(zone); + const char * directory = dns_zone_getkeydirectory(zone); CHECK(dns_db_findnode(db, dns_db_origin(db), false, &node)); isc_stdtime_get(&now); CHECK(dns_dnssec_findzonekeys(db, ver, node, dns_db_origin(db), directory, now, mctx, maxkeys, keys, nkeys)); - failure: +failure: if (node != NULL) dns_db_detachnode(db, &node); return (result); @@ -1072,20 +1066,20 @@ static isc_result_t add_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, dns_rdatatype_t type, dns_diff_t *diff, dst_key_t **keys, unsigned int nkeys, - isc_stdtime_t inception, isc_stdtime_t expire, - bool check_ksk, bool keyset_kskonly) + isc_stdtime_t inception, isc_stdtime_t expire, bool check_ksk, + bool keyset_kskonly) { - isc_result_t result; - dns_dbnode_t *node = NULL; - dns_kasp_t *kasp = dns_zone_getkasp(zone); + isc_result_t result; + dns_dbnode_t * node = NULL; + dns_kasp_t * kasp = dns_zone_getkasp(zone); dns_rdataset_t rdataset; - dns_rdata_t sig_rdata = DNS_RDATA_INIT; - dns_stats_t* dnssecsignstats = dns_zone_getdnssecsignstats(zone); - isc_buffer_t buffer; - unsigned char data[1024]; /* XXX */ - unsigned int i, j; - bool added_sig = false; - isc_mem_t *mctx = diff->mctx; + dns_rdata_t sig_rdata = DNS_RDATA_INIT; + dns_stats_t * dnssecsignstats = dns_zone_getdnssecsignstats(zone); + isc_buffer_t buffer; + unsigned char data[1024]; /* XXX */ + unsigned int i, j; + bool added_sig = false; + isc_mem_t * mctx = diff->mctx; if (kasp != NULL) { check_ksk = false; @@ -1100,8 +1094,8 @@ add_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, CHECK(dns_db_findnsec3node(db, name, false, &node)); else CHECK(dns_db_findnode(db, name, false, &node)); - CHECK(dns_db_findrdataset(db, node, ver, type, 0, - (isc_stdtime_t) 0, &rdataset, NULL)); + CHECK(dns_db_findrdataset(db, node, ver, type, 0, (isc_stdtime_t)0, + &rdataset, NULL)); dns_db_detachnode(db, &node); #define REVOKE(x) ((dst_key_flags(x) & DNS_KEYFLAG_REVOKE) != 0) @@ -1168,9 +1162,9 @@ add_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, * key should sign. */ isc_stdtime_t when; - isc_result_t kresult; - bool ksk = false; - bool zsk = false; + isc_result_t kresult; + bool ksk = false; + bool zsk = false; kresult = dst_key_getbool(keys[i], DST_BOOL_KSK, &ksk); if (kresult != ISC_R_SUCCESS) { @@ -1187,8 +1181,7 @@ add_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, if (type == dns_rdatatype_dnskey || type == dns_rdatatype_cdnskey || - type == dns_rdatatype_cds) - { + type == dns_rdatatype_cds) { /* * DNSKEY RRset is signed with KSK. * CDS and CDNSKEY RRsets too (RFC 7344, 4.1). @@ -1201,10 +1194,9 @@ add_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, * Other RRsets are signed with ZSK. */ continue; - } else if (zsk && !dst_key_is_signing(keys[i], - DST_BOOL_ZSK, - inception, - &when)) { + } else if (zsk && + !dst_key_is_signing(keys[i], DST_BOOL_ZSK, + inception, &when)) { /* * This key is not active for zone-signing. */ @@ -1224,8 +1216,7 @@ add_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, */ if (type == dns_rdatatype_dnskey || type == dns_rdatatype_cdnskey || - type == dns_rdatatype_cds) - { + type == dns_rdatatype_cds) { if (!KSK(keys[i]) && keyset_kskonly) continue; } else if (KSK(keys[i])) { @@ -1236,9 +1227,8 @@ add_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, } /* Calculate the signature, creating a RRSIG RDATA. */ - CHECK(dns_dnssec_sign(name, &rdataset, keys[i], - &inception, &expire, - mctx, &buffer, &sig_rdata)); + CHECK(dns_dnssec_sign(name, &rdataset, keys[i], &inception, + &expire, mctx, &buffer, &sig_rdata)); /* Update the database and journal with the RRSIG. */ /* XXX inefficient - will cause dataset merging */ @@ -1260,7 +1250,7 @@ add_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, result = ISC_R_NOTFOUND; } - failure: +failure: if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); if (node != NULL) @@ -1276,13 +1266,13 @@ static isc_result_t del_keysigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, dns_diff_t *diff, dst_key_t **keys, unsigned int nkeys) { - isc_result_t result; - dns_dbnode_t *node = NULL; - dns_rdataset_t rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; - unsigned int i; + isc_result_t result; + dns_dbnode_t * node = NULL; + dns_rdataset_t rdataset; + dns_rdata_t rdata = DNS_RDATA_INIT; + unsigned int i; dns_rdata_rrsig_t rrsig; - bool found; + bool found; dns_rdataset_init(&rdataset); @@ -1292,7 +1282,7 @@ del_keysigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, if (result != ISC_R_SUCCESS) goto failure; result = dns_db_findrdataset(db, node, ver, dns_rdatatype_rrsig, - dns_rdatatype_dnskey, (isc_stdtime_t) 0, + dns_rdatatype_dnskey, (isc_stdtime_t)0, &rdataset, NULL); dns_db_detachnode(db, &node); @@ -1301,8 +1291,7 @@ del_keysigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, if (result != ISC_R_SUCCESS) goto failure; - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdataset_current(&rdataset, &rdata); result = dns_rdata_tostruct(&rdata, &rrsig, NULL); @@ -1312,8 +1301,7 @@ del_keysigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, if (rrsig.keyid == dst_key_id(keys[i])) { found = true; if (!dst_key_isprivate(keys[i]) && - !dst_key_inactive(keys[i])) - { + !dst_key_inactive(keys[i])) { /* * The re-signing code in zone.c * will mark this as offline. @@ -1350,12 +1338,11 @@ static isc_result_t add_exposed_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, bool cut, dns_diff_t *diff, dst_key_t **keys, unsigned int nkeys, - isc_stdtime_t inception, isc_stdtime_t expire, - bool check_ksk, bool keyset_kskonly, - unsigned int *sigs) + isc_stdtime_t inception, isc_stdtime_t expire, bool check_ksk, + bool keyset_kskonly, unsigned int *sigs) { - isc_result_t result; - dns_dbnode_t *node; + isc_result_t result; + dns_dbnode_t * node; dns_rdatasetiter_t *iter; node = NULL; @@ -1366,18 +1353,15 @@ add_exposed_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, return (result); iter = NULL; - result = dns_db_allrdatasets(db, node, ver, - (isc_stdtime_t) 0, &iter); + result = dns_db_allrdatasets(db, node, ver, (isc_stdtime_t)0, &iter); if (result != ISC_R_SUCCESS) goto cleanup_node; - for (result = dns_rdatasetiter_first(iter); - result == ISC_R_SUCCESS; - result = dns_rdatasetiter_next(iter)) - { - dns_rdataset_t rdataset; + for (result = dns_rdatasetiter_first(iter); result == ISC_R_SUCCESS; + result = dns_rdatasetiter_next(iter)) { + dns_rdataset_t rdataset; dns_rdatatype_t type; - bool flag; + bool flag; dns_rdataset_init(&rdataset); dns_rdatasetiter_current(iter, &rdataset); @@ -1391,15 +1375,16 @@ add_exposed_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, if ((type == dns_rdatatype_rrsig) || (cut && type != dns_rdatatype_ds)) continue; - result = rrset_exists(db, ver, name, dns_rdatatype_rrsig, - type, &flag); + result = rrset_exists(db, ver, name, dns_rdatatype_rrsig, type, + &flag); if (result != ISC_R_SUCCESS) goto cleanup_iterator; if (flag) - continue;; - result = add_sigs(log, zone, db, ver, name, type, diff, - keys, nkeys, inception, expire, - check_ksk, keyset_kskonly); + continue; + ; + result = add_sigs(log, zone, db, ver, name, type, diff, keys, + nkeys, inception, expire, check_ksk, + keyset_kskonly); if (result != ISC_R_SUCCESS) goto cleanup_iterator; (*sigs)++; @@ -1407,10 +1392,10 @@ add_exposed_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, if (result == ISC_R_NOMORE) result = ISC_R_SUCCESS; - cleanup_iterator: +cleanup_iterator: dns_rdatasetiter_destroy(&iter); - cleanup_node: +cleanup_node: dns_db_detachnode(db, &node); return (result); @@ -1437,27 +1422,35 @@ dns_update_signatures(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, } struct dns_update_state { - unsigned int magic; - dns_diff_t diffnames; - dns_diff_t affected; - dns_diff_t sig_diff; - dns_diff_t nsec_diff; - dns_diff_t nsec_mindiff; - dns_diff_t work; - dst_key_t *zone_keys[DNS_MAXZONEKEYS]; - unsigned int nkeys; + unsigned int magic; + dns_diff_t diffnames; + dns_diff_t affected; + dns_diff_t sig_diff; + dns_diff_t nsec_diff; + dns_diff_t nsec_mindiff; + dns_diff_t work; + dst_key_t * zone_keys[DNS_MAXZONEKEYS]; + unsigned int nkeys; isc_stdtime_t inception, expire, keyexpire; - dns_ttl_t nsecttl; - bool check_ksk, keyset_kskonly, build_nsec3; - enum { sign_updates, remove_orphaned, build_chain, process_nsec, - sign_nsec, update_nsec3, process_nsec3, sign_nsec3 } state; + dns_ttl_t nsecttl; + bool check_ksk, keyset_kskonly, build_nsec3; + enum { sign_updates, + remove_orphaned, + build_chain, + process_nsec, + sign_nsec, + update_nsec3, + process_nsec3, + sign_nsec3 } state; }; static uint32_t -dns__jitter_expire(dns_zone_t *zone, uint32_t sigvalidityinterval) { +dns__jitter_expire(dns_zone_t *zone, uint32_t sigvalidityinterval) +{ /* Spread out signatures over time */ if (sigvalidityinterval >= 3600U) { - uint32_t expiryinterval = dns_zone_getsigresigninginterval(zone); + uint32_t expiryinterval = + dns_zone_getsigresigninginterval(zone); if (sigvalidityinterval < 7200U) { expiryinterval = 1200; @@ -1478,22 +1471,22 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, dns_diff_t *diff, uint32_t sigvalidityinterval, dns_update_state_t **statep) { - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; dns_update_state_t mystate, *state; dns_difftuple_t *t, *next; - bool flag, build_nsec; - unsigned int i; - isc_stdtime_t now; - dns_rdata_soa_t soa; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdataset_t rdataset; - dns_dbnode_t *node = NULL; - bool unsecure; - bool cut; - dns_rdatatype_t privatetype = dns_zone_getprivatetype(zone); - unsigned int sigs = 0; - unsigned int maxsigs = dns_zone_getsignatures(zone); + bool flag, build_nsec; + unsigned int i; + isc_stdtime_t now; + dns_rdata_soa_t soa; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdataset_t rdataset; + dns_dbnode_t * node = NULL; + bool unsecure; + bool cut; + dns_rdatatype_t privatetype = dns_zone_getprivatetype(zone); + unsigned int sigs = 0; + unsigned int maxsigs = dns_zone_getsignatures(zone); if (statep == NULL || *statep == NULL) { if (statep == NULL) { @@ -1523,7 +1516,8 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, isc_stdtime_get(&now); state->inception = now - 3600; /* Allow for some clock skew. */ - state->expire = now + dns__jitter_expire(zone, sigvalidityinterval); + state->expire = + now + dns__jitter_expire(zone, sigvalidityinterval); state->keyexpire = dns_zone_getkeyvalidityinterval(zone); if (state->keyexpire == 0) { state->keyexpire = state->expire; @@ -1537,12 +1531,10 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, * check the keys flags to make sure at least one has a ksk set * and one doesn't. */ - state->check_ksk = - ((dns_zone_getoptions(zone) & - DNS_ZONEOPT_UPDATECHECKKSK) != 0); - state->keyset_kskonly = - ((dns_zone_getoptions(zone) & - DNS_ZONEOPT_DNSKEYKSKONLY) != 0); + state->check_ksk = ((dns_zone_getoptions(zone) & + DNS_ZONEOPT_UPDATECHECKKSK) != 0); + state->keyset_kskonly = ((dns_zone_getoptions(zone) & + DNS_ZONEOPT_DNSKEYKSKONLY) != 0); /* * Get the NSEC/NSEC3 TTL from the SOA MINIMUM field. @@ -1550,7 +1542,7 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, CHECK(dns_db_findnode(db, dns_db_origin(db), false, &node)); dns_rdataset_init(&rdataset); CHECK(dns_db_findrdataset(db, node, newver, dns_rdatatype_soa, - 0, (isc_stdtime_t) 0, &rdataset, + 0, (isc_stdtime_t)0, &rdataset, NULL)); CHECK(dns_rdataset_first(&rdataset)); dns_rdataset_current(&rdataset, &rdata); @@ -1574,7 +1566,7 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, state = *statep; } - next_state: +next_state: switch (state->state) { case sign_updates: t = ISC_LIST_HEAD(diff->tuples); @@ -1614,45 +1606,41 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, state->zone_keys, state->nkeys); else - CHECK(delete_if(true_p, db, newver, - name, - dns_rdatatype_rrsig, - type, NULL, - &state->sig_diff)); + CHECK(delete_if( + true_p, db, newver, name, + dns_rdatatype_rrsig, type, NULL, + &state->sig_diff)); /* * If this RRset is still visible after the * update, add a new signature for it. */ CHECK(rrset_visible(db, newver, name, type, - &flag)); + &flag)); if (flag) { isc_stdtime_t exp; if (type == dns_rdatatype_dnskey || type == dns_rdatatype_cdnskey || - type == dns_rdatatype_cds) - { + type == dns_rdatatype_cds) { exp = state->keyexpire; } else { exp = state->expire; } - CHECK(add_sigs(log, zone, db, newver, - name, type, - &state->sig_diff, - state->zone_keys, - state->nkeys, - state->inception, exp, - state->check_ksk, - state->keyset_kskonly)); + CHECK(add_sigs( + log, zone, db, newver, name, + type, &state->sig_diff, + state->zone_keys, state->nkeys, + state->inception, exp, + state->check_ksk, + state->keyset_kskonly)); sigs++; } skip: /* Skip any other updates to the same RRset. */ while (t != NULL && dns_name_equal(&t->name, name) && - t->rdata.type == type) - { + t->rdata.type == type) { next = ISC_LIST_NEXT(t, link); ISC_LIST_UNLINK(diff->tuples, t, link); ISC_LIST_APPEND(state->work.tuples, t, @@ -1672,16 +1660,14 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, state->state = remove_orphaned; /* Remove orphaned NSECs and RRSIG NSECs. */ - for (t = ISC_LIST_HEAD(state->diffnames.tuples); - t != NULL; - t = ISC_LIST_NEXT(t, link)) - { - CHECK(non_nsec_rrset_exists(db, newver, - &t->name, &flag)); + for (t = ISC_LIST_HEAD(state->diffnames.tuples); t != NULL; + t = ISC_LIST_NEXT(t, link)) { + CHECK(non_nsec_rrset_exists(db, newver, &t->name, + &flag)); if (!flag) { CHECK(delete_if(true_p, db, newver, &t->name, - dns_rdatatype_any, 0, - NULL, &state->sig_diff)); + dns_rdatatype_any, 0, NULL, + &state->sig_diff)); } } update_log(log, zone, ISC_LOG_DEBUG(3), @@ -1707,13 +1693,11 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, * When a name is created or deleted, its predecessor needs to * have its NSEC updated. */ - for (t = ISC_LIST_HEAD(state->diffnames.tuples); - t != NULL; - t = ISC_LIST_NEXT(t, link)) - { - bool existed, exists; + for (t = ISC_LIST_HEAD(state->diffnames.tuples); t != NULL; + t = ISC_LIST_NEXT(t, link)) { + bool existed, exists; dns_fixedname_t fixedname; - dns_name_t *prevname; + dns_name_t * prevname; prevname = dns_fixedname_initname(&fixedname); @@ -1737,8 +1721,8 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, * newly unobscured node, and those nodes are on the * "affected" list in any case. */ - CHECK(next_active(log, zone, db, newver, - &t->name, prevname, false)); + CHECK(next_active(log, zone, db, newver, &t->name, + prevname, false)); CHECK(namelist_append_name(&state->affected, prevname)); } @@ -1747,17 +1731,15 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, * (obscured by adding an NS or DNAME, or unobscured by * removing one). */ - for (t = ISC_LIST_HEAD(state->diffnames.tuples); - t != NULL; - t = ISC_LIST_NEXT(t, link)) - { + for (t = ISC_LIST_HEAD(state->diffnames.tuples); t != NULL; + t = ISC_LIST_NEXT(t, link)) { bool ns_existed, dname_existed; bool ns_exists, dname_exists; if (oldver != NULL) CHECK(rrset_exists(db, oldver, &t->name, - dns_rdatatype_ns, 0, - &ns_existed)); + dns_rdatatype_ns, 0, + &ns_existed)); else ns_existed = false; if (oldver != NULL) @@ -1799,11 +1781,11 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, * should be part of the NSEC chain. */ while ((t = ISC_LIST_HEAD(state->affected.tuples)) != NULL) { - bool exists; + bool exists; dns_name_t *name = &t->name; CHECK(name_exists(db, newver, name, &exists)); - if (! exists) + if (!exists) goto unlink; CHECK(is_active(db, newver, name, &flag, &cut, NULL)); if (!flag) { @@ -1812,8 +1794,8 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, * existing NSEC record. */ CHECK(delete_if(true_p, db, newver, name, - dns_rdatatype_nsec, 0, - NULL, &state->nsec_diff)); + dns_rdatatype_nsec, 0, NULL, + &state->nsec_diff)); CHECK(delete_if(rrsig_p, db, newver, name, dns_rdatatype_any, 0, NULL, diff)); @@ -1832,37 +1814,32 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, dns_rdatatype_nsec, 0, &flag)); if (!flag) - CHECK(add_placeholder_nsec(db, - newver, name, diff)); + CHECK(add_placeholder_nsec( + db, newver, name, + diff)); } - CHECK(add_exposed_sigs(log, zone, db, newver, - name, cut, - &state->sig_diff, - state->zone_keys, - state->nkeys, - state->inception, - state->expire, - state->check_ksk, - state->keyset_kskonly, - &sigs)); + CHECK(add_exposed_sigs( + log, zone, db, newver, name, cut, + &state->sig_diff, state->zone_keys, + state->nkeys, state->inception, + state->expire, state->check_ksk, + state->keyset_kskonly, &sigs)); } - unlink: + unlink: ISC_LIST_UNLINK(state->affected.tuples, t, link); ISC_LIST_APPEND(state->work.tuples, t, link); if (state != &mystate && sigs > maxsigs) return (DNS_R_CONTINUE); } - ISC_LIST_APPENDLIST(state->affected.tuples, - state->work.tuples, link); + ISC_LIST_APPENDLIST(state->affected.tuples, state->work.tuples, + link); /* * Now we know which names are part of the NSEC chain. * Make them all point at their correct targets. */ - for (t = ISC_LIST_HEAD(state->affected.tuples); - t != NULL; - t = ISC_LIST_NEXT(t, link)) - { + for (t = ISC_LIST_HEAD(state->affected.tuples); t != NULL; + t = ISC_LIST_NEXT(t, link)) { CHECK(rrset_exists(db, newver, &t->name, dns_rdatatype_nsec, 0, &flag)); if (flag) { @@ -1908,13 +1885,13 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, case sign_nsec: state->state = sign_nsec; /* Update RRSIG NSECs. */ - while ((t = ISC_LIST_HEAD(state->nsec_mindiff.tuples)) != NULL) - { + while ((t = ISC_LIST_HEAD(state->nsec_mindiff.tuples)) != + NULL) { if (t->op == DNS_DIFFOP_DEL) { CHECK(delete_if(true_p, db, newver, &t->name, dns_rdatatype_rrsig, - dns_rdatatype_nsec, - NULL, &state->sig_diff)); + dns_rdatatype_nsec, NULL, + &state->sig_diff)); } else if (t->op == DNS_DIFFOP_ADD) { CHECK(add_sigs(log, zone, db, newver, &t->name, dns_rdatatype_nsec, @@ -1944,8 +1921,8 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, ISC_LIST_UNLINK(state->sig_diff.tuples, t, link); dns_diff_appendminimal(diff, &t); } - while ((t = ISC_LIST_HEAD(state->nsec_mindiff.tuples)) != NULL) - { + while ((t = ISC_LIST_HEAD(state->nsec_mindiff.tuples)) != + NULL) { ISC_LIST_UNLINK(state->nsec_mindiff.tuples, t, link); dns_diff_appendminimal(diff, &t); } @@ -1991,8 +1968,8 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, if (oldver != NULL) CHECK(rrset_exists(db, oldver, name, - dns_rdatatype_ns, - 0, &ns_existed)); + dns_rdatatype_ns, 0, + &ns_existed)); else ns_existed = false; if (oldver != NULL) @@ -2018,7 +1995,7 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, CHECK(namelist_append_subdomain(db, name, &state->affected)); - nextname: + nextname: while (t != NULL && dns_name_equal(&t->name, name)) t = ISC_LIST_NEXT(t, link); } @@ -2029,7 +2006,7 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, while ((t = ISC_LIST_HEAD(state->affected.tuples)) != NULL) { dns_name_t *name = &t->name; - unsecure = false; /* Silence compiler warning. */ + unsecure = false; /* Silence compiler warning. */ CHECK(is_active(db, newver, name, &flag, &cut, &unsecure)); @@ -2041,29 +2018,24 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, privatetype, &state->nsec_diff)); } else { - CHECK(add_exposed_sigs(log, zone, db, newver, - name, cut, - &state->sig_diff, - state->zone_keys, - state->nkeys, - state->inception, - state->expire, - state->check_ksk, - state->keyset_kskonly, - &sigs)); - CHECK(dns_nsec3_addnsec3sx(db, newver, name, - state->nsecttl, - unsecure, - privatetype, - &state->nsec_diff)); + CHECK(add_exposed_sigs( + log, zone, db, newver, name, cut, + &state->sig_diff, state->zone_keys, + state->nkeys, state->inception, + state->expire, state->check_ksk, + state->keyset_kskonly, &sigs)); + CHECK(dns_nsec3_addnsec3sx( + db, newver, name, state->nsecttl, + unsecure, privatetype, + &state->nsec_diff)); } ISC_LIST_UNLINK(state->affected.tuples, t, link); ISC_LIST_APPEND(state->work.tuples, t, link); if (state != &mystate && sigs > maxsigs) return (DNS_R_CONTINUE); } - ISC_LIST_APPENDLIST(state->affected.tuples, - state->work.tuples, link); + ISC_LIST_APPENDLIST(state->affected.tuples, state->work.tuples, + link); /* * Minimize the set of NSEC3 updates so that we don't @@ -2082,20 +2054,20 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, case sign_nsec3: state->state = sign_nsec3; /* Update RRSIG NSEC3s. */ - while ((t = ISC_LIST_HEAD(state->nsec_mindiff.tuples)) != NULL) - { + while ((t = ISC_LIST_HEAD(state->nsec_mindiff.tuples)) != + NULL) { if (t->op == DNS_DIFFOP_DEL) { CHECK(delete_if(true_p, db, newver, &t->name, dns_rdatatype_rrsig, - dns_rdatatype_nsec3, - NULL, &state->sig_diff)); + dns_rdatatype_nsec3, NULL, + &state->sig_diff)); } else if (t->op == DNS_DIFFOP_ADD) { CHECK(add_sigs(log, zone, db, newver, &t->name, dns_rdatatype_nsec3, &state->sig_diff, - state->zone_keys, - state->nkeys, state->inception, - state->expire, state->check_ksk, + state->zone_keys, state->nkeys, + state->inception, state->expire, + state->check_ksk, state->keyset_kskonly)); sigs++; } else { @@ -2115,8 +2087,8 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, ISC_LIST_UNLINK(state->sig_diff.tuples, t, link); dns_diff_appendminimal(diff, &t); } - while ((t = ISC_LIST_HEAD(state->nsec_mindiff.tuples)) != NULL) - { + while ((t = ISC_LIST_HEAD(state->nsec_mindiff.tuples)) != + NULL) { ISC_LIST_UNLINK(state->nsec_mindiff.tuples, t, link); dns_diff_appendminimal(diff, &t); } @@ -2130,7 +2102,7 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, ISC_UNREACHABLE(); } - failure: +failure: if (node != NULL) { dns_db_detachnode(db, &node); } @@ -2156,7 +2128,8 @@ dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, } static isc_stdtime_t -epoch_to_yyyymmdd(time_t when) { +epoch_to_yyyymmdd(time_t when) +{ struct tm *tm; #if !defined(WIN32) @@ -2165,14 +2138,15 @@ epoch_to_yyyymmdd(time_t when) { #else tm = localtime(&when); #endif - return (((tm->tm_year + 1900) * 10000) + - ((tm->tm_mon + 1) * 100) + tm->tm_mday); + return (((tm->tm_year + 1900) * 10000) + ((tm->tm_mon + 1) * 100) + + tm->tm_mday); } uint32_t -dns_update_soaserial(uint32_t serial, dns_updatemethod_t method) { +dns_update_soaserial(uint32_t serial, dns_updatemethod_t method) +{ isc_stdtime_t now; - uint32_t new_serial; + uint32_t new_serial; switch (method) { case dns_updatemethod_none: @@ -2184,7 +2158,7 @@ dns_update_soaserial(uint32_t serial, dns_updatemethod_t method) { break; case dns_updatemethod_date: isc_stdtime_get(&now); - new_serial = epoch_to_yyyymmdd((time_t) now) * 100; + new_serial = epoch_to_yyyymmdd((time_t)now) * 100; if (new_serial != 0 && isc_serial_gt(new_serial, serial)) return (new_serial); case dns_updatemethod_increment: diff --git a/lib/dns/validator.c b/lib/dns/validator.c index 4f87c5bc3b..3f52b8cca5 100644 --- a/lib/dns/validator.c +++ b/lib/dns/validator.c @@ -13,8 +13,8 @@ #include #include -#include #include +#include #include #include #include @@ -60,46 +60,47 @@ * validate_nx: attempt to prove a negative response. */ -#define VALIDATOR_MAGIC ISC_MAGIC('V', 'a', 'l', '?') -#define VALID_VALIDATOR(v) ISC_MAGIC_VALID(v, VALIDATOR_MAGIC) +#define VALIDATOR_MAGIC ISC_MAGIC('V', 'a', 'l', '?') +#define VALID_VALIDATOR(v) ISC_MAGIC_VALID(v, VALIDATOR_MAGIC) -#define VALATTR_SHUTDOWN 0x0001 /*%< Shutting down. */ -#define VALATTR_CANCELED 0x0002 /*%< Canceled. */ -#define VALATTR_TRIEDVERIFY 0x0004 /*%< We have found a key and - * have attempted a verify. */ -#define VALATTR_INSECURITY 0x0010 /*%< Attempting proveunsecure. */ +#define VALATTR_SHUTDOWN 0x0001 /*%< Shutting down. */ +#define VALATTR_CANCELED 0x0002 /*%< Canceled. */ +#define VALATTR_TRIEDVERIFY \ + 0x0004 /*%< We have found a key and \ + * have attempted a verify. */ +#define VALATTR_INSECURITY 0x0010 /*%< Attempting proveunsecure. */ /*! * NSEC proofs to be looked for. */ -#define VALATTR_NEEDNOQNAME 0x00000100 -#define VALATTR_NEEDNOWILDCARD 0x00000200 -#define VALATTR_NEEDNODATA 0x00000400 +#define VALATTR_NEEDNOQNAME 0x00000100 +#define VALATTR_NEEDNOWILDCARD 0x00000200 +#define VALATTR_NEEDNODATA 0x00000400 /*! * NSEC proofs that have been found. */ -#define VALATTR_FOUNDNOQNAME 0x00001000 -#define VALATTR_FOUNDNOWILDCARD 0x00002000 -#define VALATTR_FOUNDNODATA 0x00004000 -#define VALATTR_FOUNDCLOSEST 0x00008000 -#define VALATTR_FOUNDOPTOUT 0x00010000 -#define VALATTR_FOUNDUNKNOWN 0x00020000 +#define VALATTR_FOUNDNOQNAME 0x00001000 +#define VALATTR_FOUNDNOWILDCARD 0x00002000 +#define VALATTR_FOUNDNODATA 0x00004000 +#define VALATTR_FOUNDCLOSEST 0x00008000 +#define VALATTR_FOUNDOPTOUT 0x00010000 +#define VALATTR_FOUNDUNKNOWN 0x00020000 -#define NEEDNODATA(val) ((val->attributes & VALATTR_NEEDNODATA) != 0) -#define NEEDNOQNAME(val) ((val->attributes & VALATTR_NEEDNOQNAME) != 0) -#define NEEDNOWILDCARD(val) ((val->attributes & VALATTR_NEEDNOWILDCARD) != 0) -#define FOUNDNODATA(val) ((val->attributes & VALATTR_FOUNDNODATA) != 0) -#define FOUNDNOQNAME(val) ((val->attributes & VALATTR_FOUNDNOQNAME) != 0) +#define NEEDNODATA(val) ((val->attributes & VALATTR_NEEDNODATA) != 0) +#define NEEDNOQNAME(val) ((val->attributes & VALATTR_NEEDNOQNAME) != 0) +#define NEEDNOWILDCARD(val) ((val->attributes & VALATTR_NEEDNOWILDCARD) != 0) +#define FOUNDNODATA(val) ((val->attributes & VALATTR_FOUNDNODATA) != 0) +#define FOUNDNOQNAME(val) ((val->attributes & VALATTR_FOUNDNOQNAME) != 0) #define FOUNDNOWILDCARD(val) ((val->attributes & VALATTR_FOUNDNOWILDCARD) != 0) -#define FOUNDCLOSEST(val) ((val->attributes & VALATTR_FOUNDCLOSEST) != 0) -#define FOUNDOPTOUT(val) ((val->attributes & VALATTR_FOUNDOPTOUT) != 0) +#define FOUNDCLOSEST(val) ((val->attributes & VALATTR_FOUNDCLOSEST) != 0) +#define FOUNDOPTOUT(val) ((val->attributes & VALATTR_FOUNDOPTOUT) != 0) -#define SHUTDOWN(v) (((v)->attributes & VALATTR_SHUTDOWN) != 0) -#define CANCELED(v) (((v)->attributes & VALATTR_CANCELED) != 0) +#define SHUTDOWN(v) (((v)->attributes & VALATTR_SHUTDOWN) != 0) +#define CANCELED(v) (((v)->attributes & VALATTR_CANCELED) != 0) -#define NEGATIVE(r) (((r)->attributes & DNS_RDATASETATTR_NEGATIVE) != 0) -#define NXDOMAIN(r) (((r)->attributes & DNS_RDATASETATTR_NXDOMAIN) != 0) +#define NEGATIVE(r) (((r)->attributes & DNS_RDATASETATTR_NEGATIVE) != 0) +#define NXDOMAIN(r) (((r)->attributes & DNS_RDATASETATTR_NXDOMAIN) != 0) static void destroy(dns_validator_t *val); @@ -129,15 +130,16 @@ validator_log(void *val, int level, const char *fmt, ...) ISC_FORMAT_PRINTF(3, 4); static void -validator_logcreate(dns_validator_t *val, - dns_name_t *name, dns_rdatatype_t type, - const char *caller, const char *operation); +validator_logcreate(dns_validator_t *val, dns_name_t *name, + dns_rdatatype_t type, const char *caller, + const char *operation); /*% * Ensure the validator's rdatasets are marked as expired. */ static void -expire_rdatasets(dns_validator_t *val) { +expire_rdatasets(dns_validator_t *val) +{ if (dns_rdataset_isassociated(&val->frdataset)) { dns_rdataset_expire(&val->frdataset); } @@ -150,7 +152,8 @@ expire_rdatasets(dns_validator_t *val) { * Ensure the validator's rdatasets are disassociated. */ static void -disassociate_rdatasets(dns_validator_t *val) { +disassociate_rdatasets(dns_validator_t *val) +{ if (dns_rdataset_isassociated(&val->frdataset)) { dns_rdataset_disassociate(&val->frdataset); } @@ -167,7 +170,8 @@ disassociate_rdatasets(dns_validator_t *val) { * warning and return DNS_R_MUSTBESECURE instead. */ static inline isc_result_t -markanswer(dns_validator_t *val, const char *where, const char *mbstext) { +markanswer(dns_validator_t *val, const char *where, const char *mbstext) +{ if (val->mustbesecure && mbstext != NULL) { validator_log(val, ISC_LOG_WARNING, "must be secure failure, %s", mbstext); @@ -190,7 +194,8 @@ markanswer(dns_validator_t *val, const char *where, const char *mbstext) { * Mark the RRsets in val->event with trust level secure. */ static inline void -marksecure(dns_validatorevent_t *event) { +marksecure(dns_validatorevent_t *event) +{ dns_rdataset_settrust(event->rdataset, dns_trust_secure); if (event->sigrdataset != NULL) { dns_rdataset_settrust(event->sigrdataset, dns_trust_secure); @@ -203,7 +208,8 @@ marksecure(dns_validatorevent_t *event) { * that called dns_validator_create(), with result `result`. */ static void -validator_done(dns_validator_t *val, isc_result_t result) { +validator_done(dns_validator_t *val, isc_result_t result) +{ isc_task_t *task; if (val->event == NULL) { @@ -227,7 +233,8 @@ validator_done(dns_validator_t *val, isc_result_t result) { * Called when deciding whether to destroy validator 'val'. */ static inline bool -exit_check(dns_validator_t *val) { +exit_check(dns_validator_t *val) +{ /* * Caller must be holding the lock. */ @@ -249,23 +256,22 @@ exit_check(dns_validator_t *val) { * a NS RRset at this name. If it is found we are at a delegation point. */ static bool -isdelegation(dns_name_t *name, dns_rdataset_t *rdataset, - isc_result_t dbresult) +isdelegation(dns_name_t *name, dns_rdataset_t *rdataset, isc_result_t dbresult) { - dns_fixedname_t fixed; - dns_label_t hashlabel; - dns_name_t nsec3name; + dns_fixedname_t fixed; + dns_label_t hashlabel; + dns_name_t nsec3name; dns_rdata_nsec3_t nsec3; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdataset_t set; - int order; - int scope; - bool found; - isc_buffer_t buffer; - isc_result_t result; - unsigned char hash[NSEC3_MAX_HASH_LENGTH]; - unsigned char owner[NSEC3_MAX_HASH_LENGTH]; - unsigned int length; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdataset_t set; + int order; + int scope; + bool found; + isc_buffer_t buffer; + isc_result_t result; + unsigned char hash[NSEC3_MAX_HASH_LENGTH]; + unsigned char owner[NSEC3_MAX_HASH_LENGTH]; + unsigned int length; REQUIRE(dbresult == DNS_R_NXRRSET || dbresult == DNS_R_NCACHENXRRSET); @@ -295,7 +301,7 @@ isdelegation(dns_name_t *name, dns_rdataset_t *rdataset, dns_rdataset_disassociate(&set); return (found); - trynsec3: +trynsec3: /* * Iterate over the ncache entry. */ @@ -304,10 +310,8 @@ isdelegation(dns_name_t *name, dns_rdataset_t *rdataset, dns_fixedname_init(&fixed); dns_name_downcase(name, dns_fixedname_name(&fixed), NULL); name = dns_fixedname_name(&fixed); - for (result = dns_rdataset_first(rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(rdataset)) - { + for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(rdataset)) { dns_ncache_current(rdataset, &nsec3name, &set); if (set.type != dns_rdatatype_nsec3) { dns_rdataset_disassociate(&set); @@ -321,20 +325,17 @@ isdelegation(dns_name_t *name, dns_rdataset_t *rdataset, dns_rdataset_disassociate(&set); continue; } - for (result = dns_rdataset_first(&set); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(&set)) - { + for (result = dns_rdataset_first(&set); result == ISC_R_SUCCESS; + result = dns_rdataset_next(&set)) { dns_rdata_reset(&rdata); dns_rdataset_current(&set, &rdata); (void)dns_rdata_tostruct(&rdata, &nsec3, NULL); if (nsec3.hash != 1) { continue; } - length = isc_iterated_hash(hash, nsec3.hash, - nsec3.iterations, nsec3.salt, - nsec3.salt_length, - name->ndata, name->length); + length = isc_iterated_hash( + hash, nsec3.hash, nsec3.iterations, nsec3.salt, + nsec3.salt_length, name->ndata, name->length); if (length != isc_buffer_usedlength(&buffer)) { continue; } @@ -354,10 +355,9 @@ isdelegation(dns_name_t *name, dns_rdataset_t *rdataset, scope = memcmp(owner, nsec3.next, nsec3.next_length); if ((scope < 0 && order > 0 && memcmp(hash, nsec3.next, length) < 0) || - (scope >= 0 && (order > 0 || - memcmp(hash, nsec3.next, - length) < 0))) - { + (scope >= 0 && + (order > 0 || + memcmp(hash, nsec3.next, length) < 0))) { dns_rdataset_disassociate(&set); return (true); } @@ -373,15 +373,16 @@ isdelegation(dns_name_t *name, dns_rdataset_t *rdataset, * If not found, fail the validation process. */ static void -fetch_callback_dnskey(isc_task_t *task, isc_event_t *event) { +fetch_callback_dnskey(isc_task_t *task, isc_event_t *event) +{ dns_fetchevent_t *devent; - dns_validator_t *val; - dns_rdataset_t *rdataset; - bool want_destroy; - isc_result_t result; - isc_result_t eresult; - isc_result_t saved_result; - dns_fetch_t *fetch; + dns_validator_t * val; + dns_rdataset_t * rdataset; + bool want_destroy; + isc_result_t result; + isc_result_t eresult; + isc_result_t saved_result; + dns_fetch_t * fetch; UNUSED(task); INSIST(event->ev_type == DNS_EVENT_FETCHDONE); @@ -411,8 +412,7 @@ fetch_callback_dnskey(isc_task_t *task, isc_event_t *event) { if (CANCELED(val)) { validator_done(val, ISC_R_CANCELED); } else if (eresult == ISC_R_SUCCESS) { - validator_log(val, ISC_LOG_DEBUG(3), - "keyset with trust %s", + validator_log(val, ISC_LOG_DEBUG(3), "keyset with trust %s", dns_trust_totext(rdataset->trust)); /* * Only extract the dst key if the keyset is secure. @@ -425,8 +425,7 @@ fetch_callback_dnskey(isc_task_t *task, isc_event_t *event) { } result = validate_answer(val, true); if (result == DNS_R_NOVALIDSIG && - (val->attributes & VALATTR_TRIEDVERIFY) == 0) - { + (val->attributes & VALATTR_TRIEDVERIFY) == 0) { saved_result = result; validator_log(val, ISC_LOG_DEBUG(3), "falling back to insecurity proof"); @@ -466,14 +465,15 @@ fetch_callback_dnskey(isc_task_t *task, isc_event_t *event) { * walking a trust chain, or an insecurity proof. */ static void -fetch_callback_ds(isc_task_t *task, isc_event_t *event) { +fetch_callback_ds(isc_task_t *task, isc_event_t *event) +{ dns_fetchevent_t *devent; - dns_validator_t *val; - dns_rdataset_t *rdataset; - bool want_destroy, trustchain; - isc_result_t result; - isc_result_t eresult; - dns_fetch_t *fetch; + dns_validator_t * val; + dns_rdataset_t * rdataset; + bool want_destroy, trustchain; + isc_result_t result; + isc_result_t eresult; + dns_fetch_t * fetch; UNUSED(task); INSIST(event->ev_type == DNS_EVENT_FETCHDONE); @@ -573,8 +573,7 @@ fetch_callback_ds(isc_task_t *task, isc_event_t *event) { goto unexpected; } else if (eresult != DNS_R_CNAME && isdelegation(dns_fixedname_name(&devent->foundname), - &val->frdataset, eresult)) - { + &val->frdataset, eresult)) { /* * Failed to find a DS while trying to prove * insecurity. If this is a zone cut, that @@ -596,7 +595,7 @@ fetch_callback_ds(isc_task_t *task, isc_event_t *event) { break; default: - unexpected: + unexpected: validator_log(val, ISC_LOG_DEBUG(3), "fetch_callback_ds: got %s", isc_result_totext(eresult)); @@ -606,7 +605,7 @@ fetch_callback_ds(isc_task_t *task, isc_event_t *event) { validator_done(val, DNS_R_BROKENCHAIN); } } - done: +done: isc_event_free(&event); want_destroy = exit_check(val); @@ -627,13 +626,14 @@ fetch_callback_ds(isc_task_t *task, isc_event_t *event) { * Resumes the stalled validation process. */ static void -validator_callback_dnskey(isc_task_t *task, isc_event_t *event) { +validator_callback_dnskey(isc_task_t *task, isc_event_t *event) +{ dns_validatorevent_t *devent; - dns_validator_t *val; - bool want_destroy; - isc_result_t result; - isc_result_t eresult; - isc_result_t saved_result; + dns_validator_t * val; + bool want_destroy; + isc_result_t result; + isc_result_t eresult; + isc_result_t saved_result; UNUSED(task); INSIST(event->ev_type == DNS_EVENT_VALIDATORDONE); @@ -652,19 +652,17 @@ validator_callback_dnskey(isc_task_t *task, isc_event_t *event) { if (CANCELED(val)) { validator_done(val, ISC_R_CANCELED); } else if (eresult == ISC_R_SUCCESS) { - validator_log(val, ISC_LOG_DEBUG(3), - "keyset with trust %s", + validator_log(val, ISC_LOG_DEBUG(3), "keyset with trust %s", dns_trust_totext(val->frdataset.trust)); /* * Only extract the dst key if the keyset is secure. */ if (val->frdataset.trust >= dns_trust_secure) { - (void) select_signing_key(val, &val->frdataset); + (void)select_signing_key(val, &val->frdataset); } result = validate_answer(val, true); if (result == DNS_R_NOVALIDSIG && - (val->attributes & VALATTR_TRIEDVERIFY) == 0) - { + (val->attributes & VALATTR_TRIEDVERIFY) == 0) { saved_result = result; validator_log(val, ISC_LOG_DEBUG(3), "falling back to insecurity proof"); @@ -699,12 +697,13 @@ validator_callback_dnskey(isc_task_t *task, isc_event_t *event) { * Resumes validation of the zone key or the unsecure zone proof. */ static void -validator_callback_ds(isc_task_t *task, isc_event_t *event) { +validator_callback_ds(isc_task_t *task, isc_event_t *event) +{ dns_validatorevent_t *devent; - dns_validator_t *val; - bool want_destroy; - isc_result_t result; - isc_result_t eresult; + dns_validator_t * val; + bool want_destroy; + isc_result_t result; + isc_result_t eresult; UNUSED(task); INSIST(event->ev_type == DNS_EVENT_VALIDATORDONE); @@ -723,20 +722,21 @@ validator_callback_ds(isc_task_t *task, isc_event_t *event) { if (CANCELED(val)) { validator_done(val, ISC_R_CANCELED); } else if (eresult == ISC_R_SUCCESS) { - bool have_dsset; + bool have_dsset; dns_name_t *name; - validator_log(val, ISC_LOG_DEBUG(3), - "%s with trust %s", - val->frdataset.type == dns_rdatatype_ds ? - "dsset" : "ds non-existence", + validator_log(val, ISC_LOG_DEBUG(3), "%s with trust %s", + val->frdataset.type == dns_rdatatype_ds ? "dsset" + : "ds " + "non-" + "existe" + "nce", dns_trust_totext(val->frdataset.trust)); have_dsset = (val->frdataset.type == dns_rdatatype_ds); name = dns_fixedname_name(&val->fname); if ((val->attributes & VALATTR_INSECURITY) != 0 && val->frdataset.covers == dns_rdatatype_ds && NEGATIVE(&val->frdataset) && - isdelegation(name, &val->frdataset, DNS_R_NCACHENXRRSET)) - { + isdelegation(name, &val->frdataset, DNS_R_NCACHENXRRSET)) { result = markanswer(val, "validator_callback_ds", "no DS and this is a delegation"); } else if ((val->attributes & VALATTR_INSECURITY) != 0) { @@ -770,12 +770,13 @@ validator_callback_ds(isc_task_t *task, isc_event_t *event) { * Resumes validation of the unsecure zone proof. */ static void -validator_callback_cname(isc_task_t *task, isc_event_t *event) { +validator_callback_cname(isc_task_t *task, isc_event_t *event) +{ dns_validatorevent_t *devent; - dns_validator_t *val; - bool want_destroy; - isc_result_t result; - isc_result_t eresult; + dns_validator_t * val; + bool want_destroy; + isc_result_t result; + isc_result_t eresult; UNUSED(task); INSIST(event->ev_type == DNS_EVENT_VALIDATORDONE); @@ -826,13 +827,14 @@ validator_callback_cname(isc_task_t *task, isc_event_t *event) { * Resumes the negative response validation by calling validate_nx(). */ static void -validator_callback_nsec(isc_task_t *task, isc_event_t *event) { +validator_callback_nsec(isc_task_t *task, isc_event_t *event) +{ dns_validatorevent_t *devent; - dns_validator_t *val; - dns_rdataset_t *rdataset; - bool want_destroy; - isc_result_t result; - bool exists, data; + dns_validator_t * val; + dns_rdataset_t * rdataset; + bool want_destroy; + isc_result_t result; + bool exists, data; UNUSED(task); INSIST(event->ev_type == DNS_EVENT_VALIDATORDONE); @@ -866,7 +868,7 @@ validator_callback_nsec(isc_task_t *task, isc_event_t *event) { } } else { dns_name_t **proofs = val->event->proofs; - dns_name_t *wild = dns_fixedname_name(&val->wild); + dns_name_t * wild = dns_fixedname_name(&val->wild); if (rdataset->type == dns_rdatatype_nsec && rdataset->trust == dns_trust_secure && @@ -874,9 +876,8 @@ validator_callback_nsec(isc_task_t *task, isc_event_t *event) { !FOUNDNODATA(val) && !FOUNDNOQNAME(val) && dns_nsec_noexistnodata(val->event->type, val->event->name, devent->name, rdataset, &exists, - &data, wild, validator_log, val) - == ISC_R_SUCCESS) - { + &data, wild, validator_log, + val) == ISC_R_SUCCESS) { if (exists && !data) { val->attributes |= VALATTR_FOUNDNODATA; if (NEEDNODATA(val)) { @@ -885,7 +886,7 @@ validator_callback_nsec(isc_task_t *task, isc_event_t *event) { } } if (!exists) { - dns_name_t *closest; + dns_name_t * closest; unsigned int clabels; val->attributes |= VALATTR_FOUNDNOQNAME; @@ -900,8 +901,7 @@ validator_callback_nsec(isc_task_t *task, isc_event_t *event) { * the wildcard used to generate the response. */ if (clabels == 0 || - dns_name_countlabels(wild) == clabels + 1) - { + dns_name_countlabels(wild) == clabels + 1) { val->attributes |= VALATTR_FOUNDCLOSEST; } /* @@ -946,20 +946,20 @@ validator_callback_nsec(isc_task_t *task, isc_event_t *event) { * \li DNS_R_BROKENCHAIN */ static inline isc_result_t -view_find(dns_validator_t *val, dns_name_t *name, dns_rdatatype_t type) { +view_find(dns_validator_t *val, dns_name_t *name, dns_rdatatype_t type) +{ dns_fixedname_t fixedname; - dns_name_t *foundname; - isc_result_t result; - unsigned int options; - isc_time_t now; - char namebuf[DNS_NAME_FORMATSIZE]; - char typebuf[DNS_RDATATYPE_FORMATSIZE]; + dns_name_t * foundname; + isc_result_t result; + unsigned int options; + isc_time_t now; + char namebuf[DNS_NAME_FORMATSIZE]; + char typebuf[DNS_RDATATYPE_FORMATSIZE]; disassociate_rdatasets(val); if (isc_time_now(&now) == ISC_R_SUCCESS && - dns_resolver_getbadcache(val->view->resolver, name, type, &now)) - { + dns_resolver_getbadcache(val->view->resolver, name, type, &now)) { dns_name_format(name, namebuf, sizeof(namebuf)); dns_rdatatype_format(type, typebuf, sizeof(typebuf)); validator_log(val, ISC_LOG_INFO, "bad cache hit (%s/%s)", @@ -969,44 +969,39 @@ view_find(dns_validator_t *val, dns_name_t *name, dns_rdatatype_t type) { options = DNS_DBFIND_PENDINGOK; foundname = dns_fixedname_initname(&fixedname); - result = dns_view_find(val->view, name, type, 0, options, - false, false, NULL, NULL, foundname, - &val->frdataset, &val->fsigrdataset); + result = dns_view_find(val->view, name, type, 0, options, false, false, + NULL, NULL, foundname, &val->frdataset, + &val->fsigrdataset); if (result == DNS_R_NXDOMAIN) { goto notfound; - } else if (result != ISC_R_SUCCESS && - result != DNS_R_NCACHENXDOMAIN && - result != DNS_R_NCACHENXRRSET && - result != DNS_R_EMPTYNAME && - result != DNS_R_NXRRSET && - result != ISC_R_NOTFOUND) - { + } else if (result != ISC_R_SUCCESS && result != DNS_R_NCACHENXDOMAIN && + result != DNS_R_NCACHENXRRSET && result != DNS_R_EMPTYNAME && + result != DNS_R_NXRRSET && result != ISC_R_NOTFOUND) { result = ISC_R_NOTFOUND; goto notfound; } return (result); - notfound: +notfound: disassociate_rdatasets(val); return (result); } /*% -* Checks to make sure we are not going to loop. As we use a SHARED fetch -* the validation process will stall if looping was to occur. -*/ + * Checks to make sure we are not going to loop. As we use a SHARED fetch + * the validation process will stall if looping was to occur. + */ static inline bool check_deadlock(dns_validator_t *val, dns_name_t *name, dns_rdatatype_t type, - dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) + dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { dns_validator_t *parent; for (parent = val; parent != NULL; parent = parent->parent) { - if (parent->event != NULL && - parent->event->type == type && + if (parent->event != NULL && parent->event->type == type && dns_name_equal(parent->event->name, name) && /* * As NSEC3 records are meta data you sometimes @@ -1017,8 +1012,7 @@ check_deadlock(dns_validator_t *val, dns_name_t *name, dns_rdatatype_t type, rdataset == NULL || sigrdataset == NULL || parent->event->message == NULL || parent->event->rdataset != NULL || - parent->event->sigrdataset != NULL)) - { + parent->event->sigrdataset != NULL)) { validator_log(val, ISC_LOG_DEBUG(3), "continuing validation would lead to " "deadlock: aborting validation"); @@ -1054,13 +1048,10 @@ create_fetch(dns_validator_t *val, dns_name_t *name, dns_rdatatype_t type, } validator_logcreate(val, name, type, caller, "fetch"); - return (dns_resolver_createfetch(val->view->resolver, name, type, - NULL, NULL, NULL, NULL, 0, fopts, - 0, NULL, val->event->ev_sender, - callback, val, - &val->frdataset, - &val->fsigrdataset, - &val->fetch)); + return (dns_resolver_createfetch( + val->view->resolver, name, type, NULL, NULL, NULL, NULL, 0, + fopts, 0, NULL, val->event->ev_sender, callback, val, + &val->frdataset, &val->fsigrdataset, &val->fetch)); } /*% @@ -1071,8 +1062,8 @@ create_validator(dns_validator_t *val, dns_name_t *name, dns_rdatatype_t type, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset, isc_taskaction_t action, const char *caller) { - isc_result_t result; - unsigned int vopts = 0; + isc_result_t result; + unsigned int vopts = 0; dns_rdataset_t *sig = NULL; if (sigrdataset != NULL && dns_rdataset_isassociated(sigrdataset)) { @@ -1086,13 +1077,12 @@ create_validator(dns_validator_t *val, dns_name_t *name, dns_rdatatype_t type, } /* OK to clear other options, but preserve NOCDFLAG and NONTA. */ - vopts |= (val->options & (DNS_VALIDATOR_NOCDFLAG | - DNS_VALIDATOR_NONTA)); + vopts |= + (val->options & (DNS_VALIDATOR_NOCDFLAG | DNS_VALIDATOR_NONTA)); validator_logcreate(val, name, type, caller, "validator"); - result = dns_validator_create(val->view, name, type, - rdataset, sig, NULL, - vopts, val->task, action, val, + result = dns_validator_create(val->view, name, type, rdataset, sig, + NULL, vopts, val->task, action, val, &val->subvalidator); if (result == ISC_R_SUCCESS) { val->subvalidator->parent = val; @@ -1114,13 +1104,14 @@ create_validator(dns_validator_t *val, dns_name_t *name, dns_rdatatype_t type, * ISC_R_NOTFOUND if not. Any other value indicates error. */ static isc_result_t -select_signing_key(dns_validator_t *val, dns_rdataset_t *rdataset) { - isc_result_t result; +select_signing_key(dns_validator_t *val, dns_rdataset_t *rdataset) +{ + isc_result_t result; dns_rdata_rrsig_t *siginfo = val->siginfo; - isc_buffer_t b; - dns_rdata_t rdata = DNS_RDATA_INIT; - dst_key_t *oldkey = val->key; - bool foundold; + isc_buffer_t b; + dns_rdata_t rdata = DNS_RDATA_INIT; + dst_key_t * oldkey = val->key; + bool foundold; if (oldkey == NULL) { foundold = true; @@ -1144,12 +1135,9 @@ select_signing_key(dns_validator_t *val, dns_rdataset_t *rdataset) { if (result != ISC_R_SUCCESS) { goto failure; } - if (siginfo->algorithm == - (dns_secalg_t)dst_key_alg(val->key) && - siginfo->keyid == - (dns_keytag_t)dst_key_id(val->key) && - dst_key_iszonekey(val->key)) - { + if (siginfo->algorithm == (dns_secalg_t)dst_key_alg(val->key) && + siginfo->keyid == (dns_keytag_t)dst_key_id(val->key) && + dst_key_iszonekey(val->key)) { if (foundold) { /* * This is the key we're looking for. @@ -1169,7 +1157,7 @@ select_signing_key(dns_validator_t *val, dns_rdataset_t *rdataset) { result = ISC_R_NOTFOUND; } - failure: +failure: if (oldkey != NULL) { dst_key_free(&oldkey); } @@ -1181,12 +1169,13 @@ select_signing_key(dns_validator_t *val, dns_rdataset_t *rdataset) { * Get the key that generated the signature in val->siginfo. */ static isc_result_t -seek_dnskey(dns_validator_t *val) { - isc_result_t result; +seek_dnskey(dns_validator_t *val) +{ + isc_result_t result; dns_rdata_rrsig_t *siginfo = val->siginfo; - unsigned int nlabels; - int order; - dns_namereln_t namereln; + unsigned int nlabels; + int order; + dns_namereln_t namereln; /* * Is the signer name appropriate for this signature? @@ -1197,8 +1186,7 @@ seek_dnskey(dns_validator_t *val) { namereln = dns_name_fullcompare(val->event->name, &siginfo->signer, &order, &nlabels); if (namereln != dns_namereln_subdomain && - namereln != dns_namereln_equal) - { + namereln != dns_namereln_equal) { return (DNS_R_CONTINUE); } @@ -1224,8 +1212,7 @@ seek_dnskey(dns_validator_t *val) { * the same name. */ if (val->event->rdataset->type == dns_rdatatype_soa || - val->event->rdataset->type == dns_rdatatype_ns) - { + val->event->rdataset->type == dns_rdatatype_ns) { const char *type; if (val->event->rdataset->type == dns_rdatatype_soa) { @@ -1251,19 +1238,16 @@ seek_dnskey(dns_validator_t *val) { val->keyset = &val->frdataset; if ((DNS_TRUST_PENDING(val->frdataset.trust) || DNS_TRUST_ANSWER(val->frdataset.trust)) && - dns_rdataset_isassociated(&val->fsigrdataset)) - { + dns_rdataset_isassociated(&val->fsigrdataset)) { /* * We know the key but haven't validated it yet or * we have a key of trust answer but a DS * record for the zone may have been added. */ - result = create_validator(val, &siginfo->signer, - dns_rdatatype_dnskey, - &val->frdataset, - &val->fsigrdataset, - validator_callback_dnskey, - "seek_dnskey"); + result = create_validator( + val, &siginfo->signer, dns_rdatatype_dnskey, + &val->frdataset, &val->fsigrdataset, + validator_callback_dnskey, "seek_dnskey"); if (result != ISC_R_SUCCESS) { return (result); } @@ -1331,8 +1315,7 @@ seek_dnskey(dns_validator_t *val) { } if (dns_rdataset_isassociated(&val->frdataset) && - val->keyset != &val->frdataset) - { + val->keyset != &val->frdataset) { dns_rdataset_disassociate(&val->frdataset); } if (dns_rdataset_isassociated(&val->fsigrdataset)) { @@ -1346,7 +1329,8 @@ seek_dnskey(dns_validator_t *val) { * Compute the tag for a key represented in a DNSKEY rdata. */ static dns_keytag_t -compute_keytag(dns_rdata_t *rdata) { +compute_keytag(dns_rdata_t *rdata) +{ isc_region_t r; dns_rdata_toregion(rdata, &r); @@ -1357,27 +1341,26 @@ compute_keytag(dns_rdata_t *rdata) { * Is the DNSKEY rrset in val->event->rdataset self-signed? */ static bool -selfsigned_dnskey(dns_validator_t *val) { +selfsigned_dnskey(dns_validator_t *val) +{ dns_rdataset_t *rdataset = val->event->rdataset; dns_rdataset_t *sigrdataset = val->event->sigrdataset; - dns_name_t *name = val->event->name; - isc_result_t result; - isc_mem_t *mctx = val->view->mctx; - bool answer = false; + dns_name_t * name = val->event->name; + isc_result_t result; + isc_mem_t * mctx = val->view->mctx; + bool answer = false; if (rdataset->type != dns_rdatatype_dnskey) { return (false); } - for (result = dns_rdataset_first(rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(rdataset)) - { - dns_rdata_t keyrdata = DNS_RDATA_INIT; - dns_rdata_t sigrdata = DNS_RDATA_INIT; + for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(rdataset)) { + dns_rdata_t keyrdata = DNS_RDATA_INIT; + dns_rdata_t sigrdata = DNS_RDATA_INIT; dns_rdata_dnskey_t key; - dns_rdata_rrsig_t sig; - dns_keytag_t keytag; + dns_rdata_rrsig_t sig; + dns_keytag_t keytag; dns_rdata_reset(&keyrdata); dns_rdataset_current(rdataset, &keyrdata); @@ -1387,8 +1370,7 @@ selfsigned_dnskey(dns_validator_t *val) { for (result = dns_rdataset_first(sigrdataset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(sigrdataset)) - { + result = dns_rdataset_next(sigrdataset)) { dst_key_t *dstkey = NULL; dns_rdata_reset(&sigrdata); @@ -1398,8 +1380,7 @@ selfsigned_dnskey(dns_validator_t *val) { if (sig.algorithm != key.algorithm || sig.keyid != keytag || - !dns_name_equal(name, &sig.signer)) - { + !dns_name_equal(name, &sig.signer)) { continue; } @@ -1409,10 +1390,9 @@ selfsigned_dnskey(dns_validator_t *val) { continue; } - result = dns_dnssec_verify(name, rdataset, dstkey, - true, - val->view->maxbits, - mctx, &sigrdata, NULL); + result = dns_dnssec_verify(name, rdataset, dstkey, true, + val->view->maxbits, mctx, + &sigrdata, NULL); dst_key_free(&dstkey); if (result != ISC_R_SUCCESS) { continue; @@ -1440,46 +1420,44 @@ selfsigned_dnskey(dns_validator_t *val) { * \li Others if the verification fails. */ static isc_result_t -verify(dns_validator_t *val, dst_key_t *key, dns_rdata_t *rdata, - uint16_t keyid) +verify(dns_validator_t *val, dst_key_t *key, dns_rdata_t *rdata, uint16_t keyid) { - isc_result_t result; + isc_result_t result; dns_fixedname_t fixed; - bool ignore = false; - dns_name_t *wild; + bool ignore = false; + dns_name_t * wild; val->attributes |= VALATTR_TRIEDVERIFY; wild = dns_fixedname_initname(&fixed); - again: - result = dns_dnssec_verify(val->event->name, val->event->rdataset, - key, ignore, val->view->maxbits, - val->view->mctx, rdata, wild); +again: + result = dns_dnssec_verify(val->event->name, val->event->rdataset, key, + ignore, val->view->maxbits, val->view->mctx, + rdata, wild); if ((result == DNS_R_SIGEXPIRED || result == DNS_R_SIGFUTURE) && - val->view->acceptexpired) - { + val->view->acceptexpired) { ignore = true; goto again; } if (ignore && - (result == ISC_R_SUCCESS || result == DNS_R_FROMWILDCARD)) - { + (result == ISC_R_SUCCESS || result == DNS_R_FROMWILDCARD)) { validator_log(val, ISC_LOG_INFO, "accepted expired %sRRSIG (keyid=%u)", - (result == DNS_R_FROMWILDCARD) ? - "wildcard " : "", keyid); + (result == DNS_R_FROMWILDCARD) ? "wildcard " : "", + keyid); } else if (result == DNS_R_SIGEXPIRED || result == DNS_R_SIGFUTURE) { validator_log(val, ISC_LOG_INFO, "verify failed due to bad signature (keyid=%u): " - "%s", keyid, isc_result_totext(result)); + "%s", + keyid, isc_result_totext(result)); } else { validator_log(val, ISC_LOG_DEBUG(3), - "verify rdataset (keyid=%u): %s", - keyid, isc_result_totext(result)); + "verify rdataset (keyid=%u): %s", keyid, + isc_result_totext(result)); } if (result == DNS_R_FROMWILDCARD) { if (!dns_name_equal(val->event->name, wild)) { - dns_name_t *closest; + dns_name_t * closest; unsigned int labels; /* @@ -1507,10 +1485,11 @@ verify(dns_validator_t *val, dst_key_t *key, dns_rdata_t *rdata, * \li Other return codes are possible and all indicate failure. */ static isc_result_t -validate_answer(dns_validator_t *val, bool resume) { - isc_result_t result, vresult = DNS_R_NOVALIDSIG; +validate_answer(dns_validator_t *val, bool resume) +{ + isc_result_t result, vresult = DNS_R_NOVALIDSIG; dns_validatorevent_t *event; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; /* * Caller must be holding the validator lock. @@ -1528,10 +1507,8 @@ validate_answer(dns_validator_t *val, bool resume) { result = dns_rdataset_first(event->sigrdataset); } - for (; - result == ISC_R_SUCCESS; - result = dns_rdataset_next(event->sigrdataset)) - { + for (; result == ISC_R_SUCCESS; + result = dns_rdataset_next(event->sigrdataset)) { dns_rdata_reset(&rdata); dns_rdataset_current(event->sigrdataset, &rdata); if (val->siginfo == NULL) { @@ -1547,10 +1524,9 @@ validate_answer(dns_validator_t *val, bool resume) { * At this point we could check that the signature algorithm * was known and "sufficiently good". */ - if (!dns_resolver_algorithm_supported(val->view->resolver, - event->name, - val->siginfo->algorithm)) - { + if (!dns_resolver_algorithm_supported( + val->view->resolver, event->name, + val->siginfo->algorithm)) { resume = false; continue; } @@ -1592,8 +1568,8 @@ validate_answer(dns_validator_t *val, bool resume) { "failed to verify rdataset"); } else { dns_rdataset_trimttl(event->rdataset, - event->sigrdataset, - val->siginfo, val->start, + event->sigrdataset, val->siginfo, + val->start, val->view->acceptexpired); } @@ -1644,17 +1620,16 @@ validate_answer(dns_validator_t *val, bool resume) { * (val->event->rdataset). */ static isc_result_t -check_signer(dns_validator_t *val, dns_rdata_t *keyrdata, - uint16_t keyid, dns_secalg_t algorithm) +check_signer(dns_validator_t *val, dns_rdata_t *keyrdata, uint16_t keyid, + dns_secalg_t algorithm) { dns_rdata_rrsig_t sig; - dst_key_t *dstkey = NULL; - isc_result_t result; + dst_key_t * dstkey = NULL; + isc_result_t result; for (result = dns_rdataset_first(val->event->sigrdataset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(val->event->sigrdataset)) - { + result = dns_rdataset_next(val->event->sigrdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(val->event->sigrdataset, &rdata); @@ -1664,10 +1639,9 @@ check_signer(dns_validator_t *val, dns_rdata_t *keyrdata, continue; } if (dstkey == NULL) { - result = dns_dnssec_keyfromrdata(val->event->name, - keyrdata, - val->view->mctx, - &dstkey); + result = dns_dnssec_keyfromrdata( + val->event->name, keyrdata, val->view->mctx, + &dstkey); if (result != ISC_R_SUCCESS) { /* * This really shouldn't happen, but... @@ -1702,7 +1676,8 @@ check_signer(dns_validator_t *val, dns_rdata_t *keyrdata, * continue the zone key validation. */ static isc_result_t -get_dsset(dns_validator_t *val, dns_name_t *tname, isc_result_t *resp) { +get_dsset(dns_validator_t *val, dns_name_t *tname, isc_result_t *resp) +{ isc_result_t result; result = view_find(val, tname, dns_rdatatype_ds); @@ -1715,17 +1690,14 @@ get_dsset(dns_validator_t *val, dns_name_t *tname, isc_result_t *resp) { INSIST(val->keynode == NULL); if ((DNS_TRUST_PENDING(val->frdataset.trust) || DNS_TRUST_ANSWER(val->frdataset.trust)) && - dns_rdataset_isassociated(&val->fsigrdataset)) - { + dns_rdataset_isassociated(&val->fsigrdataset)) { /* * ... which is signed but not yet validated. */ - result = create_validator(val, tname, - dns_rdatatype_ds, - &val->frdataset, - &val->fsigrdataset, - validator_callback_ds, - "validate_dnskey"); + result = create_validator( + val, tname, dns_rdatatype_ds, &val->frdataset, + &val->fsigrdataset, validator_callback_ds, + "validate_dnskey"); *resp = DNS_R_WAIT; if (result != ISC_R_SUCCESS) { *resp = result; @@ -1793,22 +1765,23 @@ get_dsset(dns_validator_t *val, dns_name_t *tname, isc_result_t *resp) { * \li Other return codes are possible and all indicate failure. */ static isc_result_t -validate_dnskey(dns_validator_t *val) { - isc_result_t result; - dns_rdata_t dsrdata = DNS_RDATA_INIT; - dns_rdata_t keyrdata = DNS_RDATA_INIT; +validate_dnskey(dns_validator_t *val) +{ + isc_result_t result; + dns_rdata_t dsrdata = DNS_RDATA_INIT; + dns_rdata_t keyrdata = DNS_RDATA_INIT; dns_keynode_t *keynode = NULL; dns_rdata_ds_t ds; - bool supported_algorithm; - char digest_types[256]; + bool supported_algorithm; + char digest_types[256]; /* * If we don't already have a DS RRset, check to see if there's * a DS style trust anchor configured for this key. */ if (val->dsset == NULL) { - result = dns_keytable_find(val->keytable, - val->event->name, &keynode); + result = dns_keytable_find(val->keytable, val->event->name, + &keynode); if (result == ISC_R_SUCCESS) { val->dsset = dns_keynode_dsset(keynode); if (val->dsset == NULL) { @@ -1883,10 +1856,8 @@ validate_dnskey(dns_validator_t *val) { * DNS_DSDIGEST_SHA256 or DNS_DSDIGEST_SHA384 is present. */ memset(digest_types, 1, sizeof(digest_types)); - for (result = dns_rdataset_first(val->dsset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(val->dsset)) - { + for (result = dns_rdataset_first(val->dsset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(val->dsset)) { dns_rdata_reset(&dsrdata); dns_rdataset_current(val->dsset, &dsrdata); result = dns_rdata_tostruct(&dsrdata, &ds, NULL); @@ -1894,32 +1865,27 @@ validate_dnskey(dns_validator_t *val) { if (!dns_resolver_ds_digest_supported(val->view->resolver, val->event->name, - ds.digest_type)) - { + ds.digest_type)) { continue; } if (!dns_resolver_algorithm_supported(val->view->resolver, val->event->name, - ds.algorithm)) - { + ds.algorithm)) { continue; } if ((ds.digest_type == DNS_DSDIGEST_SHA256 && ds.length == ISC_SHA256_DIGESTLENGTH) || (ds.digest_type == DNS_DSDIGEST_SHA384 && - ds.length == ISC_SHA384_DIGESTLENGTH)) - { + ds.length == ISC_SHA384_DIGESTLENGTH)) { digest_types[DNS_DSDIGEST_SHA1] = 0; break; } } - for (result = dns_rdataset_first(val->dsset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(val->dsset)) - { + for (result = dns_rdataset_first(val->dsset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(val->dsset)) { dns_rdata_reset(&dsrdata); dns_rdataset_current(val->dsset, &dsrdata); result = dns_rdata_tostruct(&dsrdata, &ds, NULL); @@ -1931,15 +1897,13 @@ validate_dnskey(dns_validator_t *val) { if (!dns_resolver_ds_digest_supported(val->view->resolver, val->event->name, - ds.digest_type)) - { + ds.digest_type)) { continue; } if (!dns_resolver_algorithm_supported(val->view->resolver, val->event->name, - ds.algorithm)) - { + ds.algorithm)) { continue; } @@ -1949,8 +1913,7 @@ validate_dnskey(dns_validator_t *val) { * Find the DNSKEY matching the DS... */ result = dns_dnssec_matchdskey(val->event->name, &dsrdata, - val->event->rdataset, - &keyrdata); + val->event->rdataset, &keyrdata); if (result != ISC_R_SUCCESS) { validator_log(val, ISC_LOG_DEBUG(3), "no DNSKEY matching DS"); @@ -1982,7 +1945,7 @@ validate_dnskey(dns_validator_t *val) { result = DNS_R_NOVALIDSIG; } - cleanup: +cleanup: if (keynode != NULL) { val->dsset = NULL; dns_keytable_detachkeynode(val->keytable, &keynode); @@ -2001,7 +1964,7 @@ val_rdataset_first(dns_validator_t *val, dns_name_t **namep, dns_rdataset_t **rdatasetp) { dns_message_t *message = val->event->message; - isc_result_t result; + isc_result_t result; REQUIRE(rdatasetp != NULL); REQUIRE(namep != NULL); @@ -2036,7 +1999,7 @@ val_rdataset_next(dns_validator_t *val, dns_name_t **namep, dns_rdataset_t **rdatasetp) { dns_message_t *message = val->event->message; - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; REQUIRE(rdatasetp != NULL && *rdatasetp != NULL); REQUIRE(namep != NULL && *namep != NULL); @@ -2049,9 +2012,8 @@ val_rdataset_next(dns_validator_t *val, dns_name_t **namep, result = dns_message_nextname(message, DNS_SECTION_AUTHORITY); if (result == ISC_R_SUCCESS) { - dns_message_currentname(message, - DNS_SECTION_AUTHORITY, - namep); + dns_message_currentname( + message, DNS_SECTION_AUTHORITY, namep); rdataset = ISC_LIST_HEAD((*namep)->list); INSIST(rdataset != NULL); } @@ -2077,13 +2039,12 @@ val_rdataset_next(dns_validator_t *val, dns_name_t **namep, * \li ISC_R_SUCCESS */ static isc_result_t -checkwildcard(dns_validator_t *val, dns_rdatatype_t type, - dns_name_t *zonename) +checkwildcard(dns_validator_t *val, dns_rdatatype_t type, dns_name_t *zonename) { - dns_name_t *name, *wild, tname; - isc_result_t result; - bool exists, data; - char namebuf[DNS_NAME_FORMATSIZE]; + dns_name_t * name, *wild, tname; + isc_result_t result; + bool exists, data; + char namebuf[DNS_NAME_FORMATSIZE]; dns_rdataset_t *rdataset, trdataset; dns_name_init(&tname, NULL); @@ -2109,33 +2070,27 @@ checkwildcard(dns_validator_t *val, dns_rdatatype_t type, for (result = val_rdataset_first(val, &name, &rdataset); result == ISC_R_SUCCESS; - result = val_rdataset_next(val, &name, &rdataset)) - { + result = val_rdataset_next(val, &name, &rdataset)) { if (rdataset->type != type || - rdataset->trust != dns_trust_secure) - { + rdataset->trust != dns_trust_secure) { continue; } if (rdataset->type == dns_rdatatype_nsec && (NEEDNODATA(val) || NEEDNOWILDCARD(val)) && !FOUNDNODATA(val) && !FOUNDNOWILDCARD(val) && - dns_nsec_noexistnodata(val->event->type, wild, name, - rdataset, &exists, &data, NULL, - validator_log, val) - == ISC_R_SUCCESS) - { + dns_nsec_noexistnodata( + val->event->type, wild, name, rdataset, &exists, + &data, NULL, validator_log, val) == ISC_R_SUCCESS) { dns_name_t **proofs = val->event->proofs; if (exists && !data) { val->attributes |= VALATTR_FOUNDNODATA; } if (exists && !data && NEEDNODATA(val)) { - proofs[DNS_VALIDATOR_NODATAPROOF] = - name; + proofs[DNS_VALIDATOR_NODATAPROOF] = name; } if (!exists) { - val->attributes |= - VALATTR_FOUNDNOWILDCARD; + val->attributes |= VALATTR_FOUNDNOWILDCARD; } if (!exists && NEEDNOQNAME(val)) { proofs[DNS_VALIDATOR_NOWILDCARDPROOF] = name; @@ -2149,12 +2104,10 @@ checkwildcard(dns_validator_t *val, dns_rdatatype_t type, if (rdataset->type == dns_rdatatype_nsec3 && (NEEDNODATA(val) || NEEDNOWILDCARD(val)) && !FOUNDNODATA(val) && !FOUNDNOWILDCARD(val) && - dns_nsec3_noexistnodata(val->event->type, wild, name, - rdataset, zonename, &exists, &data, - NULL, NULL, NULL, NULL, NULL, NULL, - validator_log, val) - == ISC_R_SUCCESS) - { + dns_nsec3_noexistnodata( + val->event->type, wild, name, rdataset, zonename, + &exists, &data, NULL, NULL, NULL, NULL, NULL, NULL, + validator_log, val) == ISC_R_SUCCESS) { dns_name_t **proofs = val->event->proofs; if (exists && !data) { val->attributes |= VALATTR_FOUNDNODATA; @@ -2189,14 +2142,15 @@ checkwildcard(dns_validator_t *val, dns_rdatatype_t type, * are found. */ static isc_result_t -findnsec3proofs(dns_validator_t *val) { - dns_name_t *name, tname; - isc_result_t result; - bool exists, data, optout, unknown; - bool setclosest, setnearest, *setclosestp; +findnsec3proofs(dns_validator_t *val) +{ + dns_name_t * name, tname; + isc_result_t result; + bool exists, data, optout, unknown; + bool setclosest, setnearest, *setclosestp; dns_fixedname_t fclosest, fnearest, fzonename; - dns_name_t *closest, *nearest, *zonename, *closestp; - dns_name_t **proofs = val->event->proofs; + dns_name_t * closest, *nearest, *zonename, *closestp; + dns_name_t ** proofs = val->event->proofs; dns_rdataset_t *rdataset, trdataset; dns_name_init(&tname, NULL); @@ -2215,20 +2169,16 @@ findnsec3proofs(dns_validator_t *val) { for (result = val_rdataset_first(val, &name, &rdataset); result == ISC_R_SUCCESS; - result = val_rdataset_next(val, &name, &rdataset)) - { + result = val_rdataset_next(val, &name, &rdataset)) { if (rdataset->type != dns_rdatatype_nsec3 || - rdataset->trust != dns_trust_secure) - { + rdataset->trust != dns_trust_secure) { continue; } - result = dns_nsec3_noexistnodata(val->event->type, - val->event->name, name, - rdataset, zonename, NULL, - NULL, NULL, NULL, NULL, NULL, - NULL, NULL, validator_log, - val); + result = dns_nsec3_noexistnodata( + val->event->type, val->event->name, name, rdataset, + zonename, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, validator_log, val); if (result != ISC_R_IGNORE && result != ISC_R_SUCCESS) { if (dns_rdataset_isassociated(&trdataset)) { dns_rdataset_disassociate(&trdataset); @@ -2252,8 +2202,8 @@ findnsec3proofs(dns_validator_t *val) { if (dns_name_countlabels(dns_fixedname_name(&val->closest)) != 0) { char namebuf[DNS_NAME_FORMATSIZE]; - dns_name_format(dns_fixedname_name(&val->closest), - namebuf, sizeof(namebuf)); + dns_name_format(dns_fixedname_name(&val->closest), namebuf, + sizeof(namebuf)); validator_log(val, ISC_LOG_DEBUG(3), "closest encloser from wildcard signature '%s'", namebuf); @@ -2267,11 +2217,9 @@ findnsec3proofs(dns_validator_t *val) { for (result = val_rdataset_first(val, &name, &rdataset); result == ISC_R_SUCCESS; - result = val_rdataset_next(val, &name, &rdataset)) - { + result = val_rdataset_next(val, &name, &rdataset)) { if (rdataset->type != dns_rdatatype_nsec3 || - rdataset->trust != dns_trust_secure) - { + rdataset->trust != dns_trust_secure) { continue; } @@ -2282,13 +2230,11 @@ findnsec3proofs(dns_validator_t *val) { setclosest = setnearest = false; optout = false; unknown = false; - result = dns_nsec3_noexistnodata(val->event->type, - val->event->name, - name, rdataset, zonename, - &exists, &data, &optout, - &unknown, setclosestp, - &setnearest, closestp, - nearest, validator_log, val); + result = dns_nsec3_noexistnodata( + val->event->type, val->event->name, name, rdataset, + zonename, &exists, &data, &optout, &unknown, + setclosestp, &setnearest, closestp, nearest, + validator_log, val); if (unknown) { val->attributes |= VALATTR_FOUNDUNKNOWN; } @@ -2321,9 +2267,8 @@ findnsec3proofs(dns_validator_t *val) { */ if (dns_name_countlabels(closest) > 0 && dns_name_countlabels(nearest) == - dns_name_countlabels(closest) + 1 && - dns_name_issubdomain(nearest, closest)) - { + dns_name_countlabels(closest) + 1 && + dns_name_issubdomain(nearest, closest)) { val->attributes |= VALATTR_FOUNDCLOSEST; result = dns_name_concatenate(dns_wildcardname, closest, dns_fixedname_name(&val->wild), @@ -2339,8 +2284,7 @@ findnsec3proofs(dns_validator_t *val) { * Do we need to check for the wildcard? */ if (FOUNDNOQNAME(val) && FOUNDCLOSEST(val) && - ((NEEDNODATA(val) && !FOUNDNODATA(val)) || NEEDNOWILDCARD(val))) - { + ((NEEDNODATA(val) && !FOUNDNODATA(val)) || NEEDNOWILDCARD(val))) { result = checkwildcard(val, dns_rdatatype_nsec3, zonename); if (result != ISC_R_SUCCESS) { return (result); @@ -2376,8 +2320,7 @@ validate_neg_rrset(dns_validator_t *val, dns_name_t *name, */ if (val->event->type == dns_rdatatype_dnskey && rdataset->type == dns_rdatatype_nsec && - dns_name_equal(name, val->event->name)) - { + dns_name_equal(name, val->event->name)) { dns_rdata_t nsec = DNS_RDATA_INIT; result = dns_rdataset_first(rdataset); @@ -2391,9 +2334,8 @@ validate_neg_rrset(dns_validator_t *val, dns_name_t *name, } val->currentset = rdataset; - result = create_validator(val, name, rdataset->type, - rdataset, sigrdataset, - validator_callback_nsec, + result = create_validator(val, name, rdataset->type, rdataset, + sigrdataset, validator_callback_nsec, "validate_neg_rrset"); if (result != ISC_R_SUCCESS) { return (result); @@ -2407,10 +2349,11 @@ validate_neg_rrset(dns_validator_t *val, dns_name_t *name, * Validate the authority section records. */ static isc_result_t -validate_authority(dns_validator_t *val, bool resume) { - dns_name_t *name; +validate_authority(dns_validator_t *val, bool resume) +{ + dns_name_t * name; dns_message_t *message = val->event->message; - isc_result_t result; + isc_result_t result; if (!resume) { result = dns_message_firstname(message, DNS_SECTION_AUTHORITY); @@ -2418,10 +2361,8 @@ validate_authority(dns_validator_t *val, bool resume) { result = ISC_R_SUCCESS; } - for (; - result == ISC_R_SUCCESS; - result = dns_message_nextname(message, DNS_SECTION_AUTHORITY)) - { + for (; result == ISC_R_SUCCESS; + result = dns_message_nextname(message, DNS_SECTION_AUTHORITY)) { dns_rdataset_t *rdataset = NULL, *sigrdataset = NULL; name = NULL; @@ -2434,21 +2375,17 @@ validate_authority(dns_validator_t *val, bool resume) { rdataset = ISC_LIST_HEAD(name->list); } - for (; - rdataset != NULL; - rdataset = ISC_LIST_NEXT(rdataset, link)) - { + for (; rdataset != NULL; + rdataset = ISC_LIST_NEXT(rdataset, link)) { if (rdataset->type == dns_rdatatype_rrsig) { continue; } for (sigrdataset = ISC_LIST_HEAD(name->list); sigrdataset != NULL; - sigrdataset = ISC_LIST_NEXT(sigrdataset, link)) - { + sigrdataset = ISC_LIST_NEXT(sigrdataset, link)) { if (sigrdataset->type == dns_rdatatype_rrsig && - sigrdataset->covers == rdataset->type) - { + sigrdataset->covers == rdataset->type) { break; } } @@ -2470,8 +2407,9 @@ validate_authority(dns_validator_t *val, bool resume) { * Validate negative cache elements. */ static isc_result_t -validate_ncache(dns_validator_t *val, bool resume) { - dns_name_t *name; +validate_ncache(dns_validator_t *val, bool resume) +{ + dns_name_t * name; isc_result_t result; if (!resume) { @@ -2480,10 +2418,8 @@ validate_ncache(dns_validator_t *val, bool resume) { result = dns_rdataset_next(val->event->rdataset); } - for (; - result == ISC_R_SUCCESS; - result = dns_rdataset_next(val->event->rdataset)) - { + for (; result == ISC_R_SUCCESS; + result = dns_rdataset_next(val->event->rdataset)) { dns_rdataset_t *rdataset, *sigrdataset = NULL; disassociate_rdatasets(val); @@ -2531,7 +2467,8 @@ validate_ncache(dns_validator_t *val, bool resume) { * response. */ static isc_result_t -validate_nx(dns_validator_t *val, bool resume) { +validate_nx(dns_validator_t *val, bool resume) +{ isc_result_t result; if (resume) { @@ -2558,15 +2495,14 @@ validate_nx(dns_validator_t *val, bool resume) { } if (FOUNDNOQNAME(val) && FOUNDCLOSEST(val) && - !FOUNDOPTOUT(val)) - { + !FOUNDOPTOUT(val)) { validator_log(val, ISC_LOG_DEBUG(3), "marking as secure, noqname proof found"); marksecure(val->event); return (ISC_R_SUCCESS); } else if (FOUNDOPTOUT(val) && - dns_name_countlabels(dns_fixedname_name(&val->wild)) != 0) - { + dns_name_countlabels( + dns_fixedname_name(&val->wild)) != 0) { validator_log(val, ISC_LOG_DEBUG(3), "optout proof found"); val->event->optout = true; @@ -2579,8 +2515,7 @@ validate_nx(dns_validator_t *val, bool resume) { return (ISC_R_SUCCESS); } - validator_log(val, ISC_LOG_DEBUG(3), - "noqname proof not found"); + validator_log(val, ISC_LOG_DEBUG(3), "noqname proof not found"); return (DNS_R_NOVALIDNSEC); } @@ -2592,8 +2527,7 @@ validate_nx(dns_validator_t *val, bool resume) { * Do we need to check for the wildcard? */ if (FOUNDNOQNAME(val) && FOUNDCLOSEST(val) && - ((NEEDNODATA(val) && !FOUNDNODATA(val)) || NEEDNOWILDCARD(val))) - { + ((NEEDNODATA(val) && !FOUNDNODATA(val)) || NEEDNOWILDCARD(val))) { result = checkwildcard(val, dns_rdatatype_nsec, NULL); if (result != ISC_R_SUCCESS) { return (result); @@ -2601,10 +2535,8 @@ validate_nx(dns_validator_t *val, bool resume) { } if ((NEEDNODATA(val) && (FOUNDNODATA(val) || FOUNDOPTOUT(val))) || - (NEEDNOQNAME(val) && FOUNDNOQNAME(val) && - NEEDNOWILDCARD(val) && FOUNDNOWILDCARD(val) && - FOUNDCLOSEST(val))) - { + (NEEDNOQNAME(val) && FOUNDNOQNAME(val) && NEEDNOWILDCARD(val) && + FOUNDNOWILDCARD(val) && FOUNDCLOSEST(val))) { if ((val->attributes & VALATTR_FOUNDOPTOUT) != 0) { val->event->optout = true; } @@ -2622,8 +2554,7 @@ validate_nx(dns_validator_t *val, bool resume) { return (DNS_R_BROKENCHAIN); } - validator_log(val, ISC_LOG_DEBUG(3), - "nonexistence proof(s) not found"); + validator_log(val, ISC_LOG_DEBUG(3), "nonexistence proof(s) not found"); return (proveunsecure(val, false, false)); } @@ -2634,23 +2565,20 @@ validate_nx(dns_validator_t *val, bool resume) { static bool check_ds_algs(dns_validator_t *val, dns_name_t *name, dns_rdataset_t *rdataset) { - dns_rdata_t dsrdata = DNS_RDATA_INIT; + dns_rdata_t dsrdata = DNS_RDATA_INIT; dns_rdata_ds_t ds; - isc_result_t result; + isc_result_t result; - for (result = dns_rdataset_first(rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(rdataset)) - { + for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(rdataset)) { dns_rdataset_current(rdataset, &dsrdata); result = dns_rdata_tostruct(&dsrdata, &ds, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); - if (dns_resolver_ds_digest_supported(val->view->resolver, - name, ds.digest_type) && - dns_resolver_algorithm_supported(val->view->resolver, - name, ds.algorithm)) - { + if (dns_resolver_ds_digest_supported(val->view->resolver, name, + ds.digest_type) && + dns_resolver_algorithm_supported(val->view->resolver, name, + ds.algorithm)) { dns_rdata_reset(&dsrdata); return (true); } @@ -2674,12 +2602,13 @@ check_ds_algs(dns_validator_t *val, dns_name_t *name, dns_rdataset_t *rdataset) * continue walking down labels. */ static isc_result_t -seek_ds(dns_validator_t *val, isc_result_t *resp) { - isc_result_t result; - char namebuf[DNS_NAME_FORMATSIZE]; +seek_ds(dns_validator_t *val, isc_result_t *resp) +{ + isc_result_t result; + char namebuf[DNS_NAME_FORMATSIZE]; dns_fixedname_t fixedfound; - dns_name_t *found = dns_fixedname_initname(&fixedfound); - dns_name_t *tname = dns_fixedname_initname(&val->fname); + dns_name_t * found = dns_fixedname_initname(&fixedfound); + dns_name_t * tname = dns_fixedname_initname(&val->fname); if (val->labels == dns_name_countlabels(val->event->name)) { dns_name_copynf(val->event->name, tname); @@ -2688,8 +2617,8 @@ seek_ds(dns_validator_t *val, isc_result_t *resp) { } dns_name_format(tname, namebuf, sizeof(namebuf)); - validator_log(val, ISC_LOG_DEBUG(3), - "checking existence of DS at '%s'", namebuf); + validator_log(val, ISC_LOG_DEBUG(3), "checking existence of DS at '%s'", + namebuf); result = view_find(val, tname, dns_rdatatype_ds); switch (result) { @@ -2704,8 +2633,7 @@ seek_ds(dns_validator_t *val, isc_result_t *resp) { "no supported algorithm/" "digest (%s/DS)", namebuf); - *resp = markanswer(val, - "proveunsecure (5)", + *resp = markanswer(val, "proveunsecure (5)", "no supported " "algorithm/digest (DS)"); return (ISC_R_COMPLETE); @@ -2718,12 +2646,10 @@ seek_ds(dns_validator_t *val, isc_result_t *resp) { * Otherwise, try to validate it now. */ if (dns_rdataset_isassociated(&val->fsigrdataset)) { - result = create_validator(val, tname, - dns_rdatatype_ds, - &val->frdataset, - &val->fsigrdataset, - validator_callback_ds, - "proveunsecure"); + result = create_validator( + val, tname, dns_rdatatype_ds, &val->frdataset, + &val->fsigrdataset, validator_callback_ds, + "proveunsecure"); *resp = DNS_R_WAIT; if (result != ISC_R_SUCCESS) { *resp = result; @@ -2761,14 +2687,11 @@ seek_ds(dns_validator_t *val, isc_result_t *resp) { * has switched from insecure to should be secure. */ if (DNS_TRUST_PENDING(val->frdataset.trust) || - DNS_TRUST_ANSWER(val->frdataset.trust)) - { - result = create_validator(val, tname, - dns_rdatatype_ds, - &val->frdataset, - &val->fsigrdataset, - validator_callback_ds, - "proveunsecure"); + DNS_TRUST_ANSWER(val->frdataset.trust)) { + result = create_validator( + val, tname, dns_rdatatype_ds, &val->frdataset, + &val->fsigrdataset, validator_callback_ds, + "proveunsecure"); *resp = DNS_R_WAIT; if (result != ISC_R_SUCCESS) { *resp = result; @@ -2783,11 +2706,10 @@ seek_ds(dns_validator_t *val, isc_result_t *resp) { */ if (result == DNS_R_NXRRSET && !dns_rdataset_isassociated(&val->frdataset) && - dns_view_findzonecut(val->view, tname, found, NULL, - 0, 0, false, false, - NULL, NULL) == ISC_R_SUCCESS && - dns_name_equal(tname, found)) - { + dns_view_findzonecut(val->view, tname, found, NULL, 0, 0, + false, false, NULL, + NULL) == ISC_R_SUCCESS && + dns_name_equal(tname, found)) { *resp = markanswer(val, "proveunsecure (3)", "no DS at zone cut"); return (ISC_R_COMPLETE); @@ -2829,20 +2751,17 @@ seek_ds(dns_validator_t *val, isc_result_t *resp) { *resp = DNS_R_NOVALIDNSEC; return (ISC_R_COMPLETE); } else if (DNS_TRUST_PENDING(val->frdataset.trust) || - DNS_TRUST_ANSWER(val->frdataset.trust)) - { + DNS_TRUST_ANSWER(val->frdataset.trust)) { /* * If we have "trust == answer" then this * namespace has switched from insecure to * should be secure. */ *resp = DNS_R_WAIT; - result = create_validator(val, tname, - dns_rdatatype_ds, - &val->frdataset, - &val->fsigrdataset, - validator_callback_ds, - "proveunsecure"); + result = create_validator( + val, tname, dns_rdatatype_ds, &val->frdataset, + &val->fsigrdataset, validator_callback_ds, + "proveunsecure"); if (result != ISC_R_SUCCESS) { *resp = result; } @@ -2866,15 +2785,13 @@ seek_ds(dns_validator_t *val, isc_result_t *resp) { case DNS_R_CNAME: if (DNS_TRUST_PENDING(val->frdataset.trust) || - DNS_TRUST_ANSWER(val->frdataset.trust)) - { - result = create_validator(val, tname, - dns_rdatatype_cname, - &val->frdataset, - &val->fsigrdataset, - validator_callback_cname, - "proveunsecure " - "(cname)"); + DNS_TRUST_ANSWER(val->frdataset.trust)) { + result = create_validator( + val, tname, dns_rdatatype_cname, + &val->frdataset, &val->fsigrdataset, + validator_callback_cname, + "proveunsecure " + "(cname)"); *resp = DNS_R_WAIT; if (result != ISC_R_SUCCESS) { *resp = result; @@ -2914,12 +2831,13 @@ seek_ds(dns_validator_t *val, isc_result_t *resp) { * \li DNS_R_BROKENCHAIN */ static isc_result_t -proveunsecure(dns_validator_t *val, bool have_ds, bool resume) { - isc_result_t result; - char namebuf[DNS_NAME_FORMATSIZE]; +proveunsecure(dns_validator_t *val, bool have_ds, bool resume) +{ + isc_result_t result; + char namebuf[DNS_NAME_FORMATSIZE]; dns_fixedname_t fixedsecroot; - dns_name_t *secroot = dns_fixedname_initname(&fixedsecroot); - unsigned int labels; + dns_name_t * secroot = dns_fixedname_initname(&fixedsecroot); + unsigned int labels; /* * We're attempting to prove insecurity. @@ -2939,8 +2857,7 @@ proveunsecure(dns_validator_t *val, bool have_ds, bool resume) { result = dns_keytable_finddeepestmatch(val->keytable, secroot, secroot); if (result == ISC_R_NOTFOUND) { - validator_log(val, ISC_LOG_DEBUG(3), - "not beneath secure root"); + validator_log(val, ISC_LOG_DEBUG(3), "not beneath secure root"); return (markanswer(val, "proveunsecure (1)", "not beneath secure root")); } else if (result != ISC_R_SUCCESS) { @@ -2964,8 +2881,7 @@ proveunsecure(dns_validator_t *val, bool have_ds, bool resume) { */ if (have_ds && val->frdataset.trust >= dns_trust_secure && !check_ds_algs(val, dns_fixedname_name(&val->fname), - &val->frdataset)) - { + &val->frdataset)) { dns_name_format(dns_fixedname_name(&val->fname), namebuf, sizeof(namebuf)); validator_log(val, ISC_LOG_DEBUG(3), @@ -2995,12 +2911,11 @@ proveunsecure(dns_validator_t *val, bool have_ds, bool resume) { } /* Couldn't complete insecurity proof. */ - validator_log(val, ISC_LOG_DEBUG(3), - "insecurity proof failed: %s", + validator_log(val, ISC_LOG_DEBUG(3), "insecurity proof failed: %s", isc_result_totext(result)); return (DNS_R_NOTINSECURE); - out: +out: if (result != DNS_R_WAIT) { disassociate_rdatasets(val); } @@ -3020,11 +2935,12 @@ proveunsecure(dns_validator_t *val, bool have_ds, bool resume) { * be an unsecure positive answer. */ static void -validator_start(isc_task_t *task, isc_event_t *event) { - dns_validator_t *val; +validator_start(isc_task_t *task, isc_event_t *event) +{ + dns_validator_t * val; dns_validatorevent_t *vevent; - bool want_destroy = false; - isc_result_t result = ISC_R_FAILURE; + bool want_destroy = false; + isc_result_t result = ISC_R_FAILURE; UNUSED(task); REQUIRE(event->ev_type == DNS_EVENT_VALIDATORSTART); @@ -3058,8 +2974,7 @@ validator_start(isc_task_t *task, isc_event_t *event) { result = validate_answer(val, false); } if (result == DNS_R_NOVALIDSIG && - (val->attributes & VALATTR_TRIEDVERIFY) == 0) - { + (val->attributes & VALATTR_TRIEDVERIFY) == 0) { saved_result = result; validator_log(val, ISC_LOG_DEBUG(3), "falling back to insecurity proof"); @@ -3069,8 +2984,7 @@ validator_start(isc_task_t *task, isc_event_t *event) { } } } else if (val->event->rdataset != NULL && - val->event->rdataset->type != 0) - { + val->event->rdataset->type != 0) { /* * This is either an unsecure subdomain or a response * from a broken server. @@ -3086,8 +3000,7 @@ validator_start(isc_task_t *task, isc_event_t *event) { "parent indicates it should be secure"); } } else if ((val->event->rdataset == NULL && - val->event->sigrdataset == NULL)) - { + val->event->sigrdataset == NULL)) { /* * This is a validation of a negative response. */ @@ -3104,8 +3017,7 @@ validator_start(isc_task_t *task, isc_event_t *event) { result = validate_nx(val, false); } else if ((val->event->rdataset != NULL && - NEGATIVE(val->event->rdataset))) - { + NEGATIVE(val->event->rdataset))) { /* * This is a delayed validation of a negative cache entry. */ @@ -3144,9 +3056,9 @@ dns_validator_create(dns_view_t *view, dns_name_t *name, dns_rdatatype_t type, isc_task_t *task, isc_taskaction_t action, void *arg, dns_validator_t **validatorp) { - isc_result_t result = ISC_R_FAILURE; - dns_validator_t *val; - isc_task_t *tclone = NULL; + isc_result_t result = ISC_R_FAILURE; + dns_validator_t * val; + isc_task_t * tclone = NULL; dns_validatorevent_t *event; REQUIRE(name != NULL); @@ -3154,11 +3066,9 @@ dns_validator_create(dns_view_t *view, dns_name_t *name, dns_rdatatype_t type, (rdataset == NULL && sigrdataset == NULL && message != NULL)); REQUIRE(validatorp != NULL && *validatorp == NULL); - event = (dns_validatorevent_t *) - isc_event_allocate(view->mctx, task, - DNS_EVENT_VALIDATORSTART, - validator_start, NULL, - sizeof(dns_validatorevent_t)); + event = (dns_validatorevent_t *)isc_event_allocate( + view->mctx, task, DNS_EVENT_VALIDATORSTART, validator_start, + NULL, sizeof(dns_validatorevent_t)); isc_task_attach(task, &tclone); event->result = ISC_R_FAILURE; @@ -3172,13 +3082,11 @@ dns_validator_create(dns_view_t *view, dns_name_t *name, dns_rdatatype_t type, event->secure = false; val = isc_mem_get(view->mctx, sizeof(*val)); - *val = (dns_validator_t) { - .event = event, - .options = options, - .task = task, - .action = action, - .arg = arg - }; + *val = (dns_validator_t){ .event = event, + .options = options, + .task = task, + .action = action, + .arg = arg }; dns_view_weakattach(view, &val->view); isc_mutex_init(&val->lock); @@ -3207,7 +3115,7 @@ dns_validator_create(dns_view_t *view, dns_name_t *name, dns_rdatatype_t type, return (ISC_R_SUCCESS); - cleanup: +cleanup: isc_mutex_destroy(&val->lock); isc_task_detach(&tclone); @@ -3220,7 +3128,8 @@ dns_validator_create(dns_view_t *view, dns_name_t *name, dns_rdatatype_t type, } void -dns_validator_send(dns_validator_t *validator) { +dns_validator_send(dns_validator_t *validator) +{ isc_event_t *event; REQUIRE(VALID_VALIDATOR(validator)); @@ -3235,7 +3144,8 @@ dns_validator_send(dns_validator_t *validator) { } void -dns_validator_cancel(dns_validator_t *validator) { +dns_validator_cancel(dns_validator_t *validator) +{ dns_fetch_t *fetch = NULL; REQUIRE(VALID_VALIDATOR(validator)); @@ -3269,7 +3179,8 @@ dns_validator_cancel(dns_validator_t *validator) { } static void -destroy(dns_validator_t *val) { +destroy(dns_validator_t *val) +{ isc_mem_t *mctx; REQUIRE(SHUTDOWN(val)); @@ -3301,9 +3212,10 @@ destroy(dns_validator_t *val) { } void -dns_validator_destroy(dns_validator_t **validatorp) { +dns_validator_destroy(dns_validator_t **validatorp) +{ dns_validator_t *val; - bool want_destroy = false; + bool want_destroy = false; REQUIRE(validatorp != NULL); val = *validatorp; @@ -3326,14 +3238,14 @@ static void validator_logv(dns_validator_t *val, isc_logcategory_t *category, isc_logmodule_t *module, int level, const char *fmt, va_list ap) { - char msgbuf[2048]; + char msgbuf[2048]; static const char spaces[] = " *"; - int depth = val->depth * 2; - const char *viewname, *sep1, *sep2; + int depth = val->depth * 2; + const char * viewname, *sep1, *sep2; vsnprintf(msgbuf, sizeof(msgbuf), fmt, ap); - if ((unsigned int) depth >= sizeof spaces) { + if ((unsigned int)depth >= sizeof spaces) { depth = sizeof spaces - 1; } @@ -3346,8 +3258,7 @@ validator_logv(dns_validator_t *val, isc_logcategory_t *category, */ if (val->view->rdclass == dns_rdataclass_in && (strcmp(val->view->name, "_default") == 0 || - strcmp(val->view->name, DNS_CLIENTVIEW_NAME) == 0)) - { + strcmp(val->view->name, DNS_CLIENTVIEW_NAME) == 0)) { sep1 = viewname = sep2 = ""; } else { sep1 = "view "; @@ -3363,19 +3274,18 @@ validator_logv(dns_validator_t *val, isc_logcategory_t *category, dns_rdatatype_format(val->event->type, typebuf, sizeof(typebuf)); isc_log_write(dns_lctx, category, module, level, - "%s%s%s%.*svalidating %s/%s: %s", - sep1, viewname, sep2, depth, spaces, - namebuf, typebuf, msgbuf); + "%s%s%s%.*svalidating %s/%s: %s", sep1, viewname, + sep2, depth, spaces, namebuf, typebuf, msgbuf); } else { isc_log_write(dns_lctx, category, module, level, - "%s%s%s%.*svalidator @%p: %s", - sep1, viewname, sep2, depth, spaces, - val, msgbuf); + "%s%s%s%.*svalidator @%p: %s", sep1, viewname, + sep2, depth, spaces, val, msgbuf); } } static void -validator_log(void *val, int level, const char *fmt, ...) { +validator_log(void *val, int level, const char *fmt, ...) +{ va_list ap; if (!isc_log_wouldlog(dns_lctx, level)) { @@ -3384,8 +3294,8 @@ validator_log(void *val, int level, const char *fmt, ...) { va_start(ap, fmt); - validator_logv(val, DNS_LOGCATEGORY_DNSSEC, - DNS_LOGMODULE_VALIDATOR, level, fmt, ap); + validator_logv(val, DNS_LOGCATEGORY_DNSSEC, DNS_LOGMODULE_VALIDATOR, + level, fmt, ap); va_end(ap); } diff --git a/lib/dns/version.c b/lib/dns/version.c index 68ae7fe291..629a5847ae 100644 --- a/lib/dns/version.c +++ b/lib/dns/version.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include diff --git a/lib/dns/view.c b/lib/dns/view.c index 9396763164..528af6a31f 100644 --- a/lib/dns/view.c +++ b/lib/dns/view.c @@ -11,12 +11,12 @@ /*! \file */ -#include #include +#include #include #ifdef HAVE_LMDB - #include +#include #endif #include @@ -25,7 +25,7 @@ #include #include #include -#include /* Required for HP/UX (and others?) */ +#include /* Required for HP/UX (and others?) */ #include #include @@ -60,29 +60,37 @@ #include #include -#define CHECK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) goto cleanup; \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto cleanup; \ } while (0) -#define RESSHUTDOWN(v) ((atomic_load(&(v)->attributes) & DNS_VIEWATTR_RESSHUTDOWN) != 0) -#define ADBSHUTDOWN(v) ((atomic_load(&(v)->attributes) & DNS_VIEWATTR_ADBSHUTDOWN) != 0) -#define REQSHUTDOWN(v) ((atomic_load(&(v)->attributes) & DNS_VIEWATTR_REQSHUTDOWN) != 0) +#define RESSHUTDOWN(v) \ + ((atomic_load(&(v)->attributes) & DNS_VIEWATTR_RESSHUTDOWN) != 0) +#define ADBSHUTDOWN(v) \ + ((atomic_load(&(v)->attributes) & DNS_VIEWATTR_ADBSHUTDOWN) != 0) +#define REQSHUTDOWN(v) \ + ((atomic_load(&(v)->attributes) & DNS_VIEWATTR_REQSHUTDOWN) != 0) #define DNS_VIEW_DELONLYHASH 111 #define DNS_VIEW_FAILCACHESIZE 1021 -static void resolver_shutdown(isc_task_t *task, isc_event_t *event); -static void adb_shutdown(isc_task_t *task, isc_event_t *event); -static void req_shutdown(isc_task_t *task, isc_event_t *event); +static void +resolver_shutdown(isc_task_t *task, isc_event_t *event); +static void +adb_shutdown(isc_task_t *task, isc_event_t *event); +static void +req_shutdown(isc_task_t *task, isc_event_t *event); isc_result_t -dns_view_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, - const char *name, dns_view_t **viewp) +dns_view_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, const char *name, + dns_view_t **viewp) { - dns_view_t *view; + dns_view_t * view; isc_result_t result; - char buffer[1024]; + char buffer[1024]; /* * Create a view. @@ -98,8 +106,8 @@ dns_view_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, isc_mem_attach(mctx, &view->mctx); view->name = isc_mem_strdup(mctx, name); - result = isc_file_sanitize(NULL, view->name, "nta", - buffer, sizeof(buffer)); + result = isc_file_sanitize(NULL, view->name, "nta", buffer, + sizeof(buffer)); if (result != ISC_R_SUCCESS) goto cleanup_name; view->nta_file = isc_mem_strdup(mctx, buffer); @@ -141,9 +149,9 @@ dns_view_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, view->task = NULL; isc_refcount_init(&view->references, 1); isc_refcount_init(&view->weakrefs, 1); - atomic_init(&view->attributes, (DNS_VIEWATTR_RESSHUTDOWN | - DNS_VIEWATTR_ADBSHUTDOWN | - DNS_VIEWATTR_REQSHUTDOWN)); + atomic_init(&view->attributes, + (DNS_VIEWATTR_RESSHUTDOWN | DNS_VIEWATTR_ADBSHUTDOWN | + DNS_VIEWATTR_REQSHUTDOWN)); view->statickeys = NULL; view->dynamickeys = NULL; view->matchclients = NULL; @@ -269,14 +277,14 @@ dns_view_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, ISC_LINK_INIT(view, link); ISC_EVENT_INIT(&view->resevent, sizeof(view->resevent), 0, NULL, - DNS_EVENT_VIEWRESSHUTDOWN, resolver_shutdown, - view, NULL, NULL, NULL); + DNS_EVENT_VIEWRESSHUTDOWN, resolver_shutdown, view, NULL, + NULL, NULL); ISC_EVENT_INIT(&view->adbevent, sizeof(view->adbevent), 0, NULL, - DNS_EVENT_VIEWADBSHUTDOWN, adb_shutdown, - view, NULL, NULL, NULL); + DNS_EVENT_VIEWADBSHUTDOWN, adb_shutdown, view, NULL, + NULL, NULL); ISC_EVENT_INIT(&view->reqevent, sizeof(view->reqevent), 0, NULL, - DNS_EVENT_VIEWREQSHUTDOWN, req_shutdown, - view, NULL, NULL, NULL); + DNS_EVENT_VIEWREQSHUTDOWN, req_shutdown, view, NULL, + NULL, NULL); view->viewlist = NULL; view->magic = DNS_VIEW_MAGIC; @@ -284,27 +292,27 @@ dns_view_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, return (ISC_R_SUCCESS); - cleanup_peerlist: +cleanup_peerlist: if (view->peers != NULL) { dns_peerlist_detach(&view->peers); } - cleanup_order: +cleanup_order: if (view->order != NULL) { dns_order_detach(&view->order); } - cleanup_new_zone_lock: +cleanup_new_zone_lock: isc_mutex_destroy(&view->new_zone_lock); dns_badcache_destroy(&view->failcache); - cleanup_dynkeys: +cleanup_dynkeys: if (view->dynamickeys != NULL) { dns_tsigkeyring_detach(&view->dynamickeys); } - cleanup_weakrefs: +cleanup_weakrefs: isc_refcount_decrement(&view->weakrefs); isc_refcount_destroy(&view->weakrefs); @@ -315,19 +323,19 @@ dns_view_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, dns_fwdtable_destroy(&view->fwdtable); } - cleanup_zt: +cleanup_zt: if (view->zonetable != NULL) { dns_zt_detach(&view->zonetable); } - cleanup_mutex: +cleanup_mutex: isc_mutex_destroy(&view->lock); if (view->nta_file != NULL) { isc_mem_free(mctx, view->nta_file); } - cleanup_name: +cleanup_name: isc_mem_free(mctx, view->name); isc_mem_putanddetach(&view->mctx, view, sizeof(*view)); @@ -335,7 +343,8 @@ dns_view_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, } static inline void -destroy(dns_view_t *view) { +destroy(dns_view_t *view) +{ dns_dns64_t *dns64; dns_dlzdb_t *dlzdb; @@ -355,7 +364,7 @@ destroy(dns_view_t *view) { if (view->dynamickeys != NULL) { isc_result_t result; char template[PATH_MAX]; - char keyfile[PATH_MAX]; + char keyfile[PATH_MAX]; FILE *fp = NULL; result = isc_file_mktemplate(NULL, template, sizeof(template)); @@ -365,16 +374,16 @@ destroy(dns_view_t *view) { if (fp == NULL) { dns_tsigkeyring_detach(&view->dynamickeys); } else { - result = dns_tsigkeyring_dumpanddetach - (&view->dynamickeys, fp); + result = dns_tsigkeyring_dumpanddetach( + &view->dynamickeys, fp); if (result == ISC_R_SUCCESS) { if (fclose(fp) == 0) { - result = isc_file_sanitize - (NULL, view->name, "tsigkeys", - keyfile, sizeof(keyfile)); + result = isc_file_sanitize( + NULL, view->name, "tsigkeys", + keyfile, sizeof(keyfile)); if (result == ISC_R_SUCCESS) - result = isc_file_rename - (template, keyfile); + result = isc_file_rename( + template, keyfile); } if (result != ISC_R_SUCCESS) (void)remove(template); @@ -395,14 +404,12 @@ destroy(dns_view_t *view) { dns_rpz_detach_rpzs(&view->rpzs); if (view->catzs != NULL) dns_catz_catzs_detach(&view->catzs); - for (dlzdb = ISC_LIST_HEAD(view->dlz_searched); - dlzdb != NULL; + for (dlzdb = ISC_LIST_HEAD(view->dlz_searched); dlzdb != NULL; dlzdb = ISC_LIST_HEAD(view->dlz_searched)) { ISC_LIST_UNLINK(view->dlz_searched, dlzdb, link); dns_dlzdestroy(&dlzdb); } - for (dlzdb = ISC_LIST_HEAD(view->dlz_unsearched); - dlzdb != NULL; + for (dlzdb = ISC_LIST_HEAD(view->dlz_unsearched); dlzdb != NULL; dlzdb = ISC_LIST_HEAD(view->dlz_unsearched)) { ISC_LIST_UNLINK(view->dlz_unsearched, dlzdb, link); dns_dlzdestroy(&dlzdb); @@ -457,7 +464,7 @@ destroy(dns_view_t *view) { dns_rbt_destroy(&view->answernames_exclude); if (view->delonly != NULL) { dns_name_t *name; - int i; + int i; for (i = 0; i < DNS_VIEW_DELONLYHASH; i++) { name = ISC_LIST_HEAD(view->delonly[i]); @@ -468,19 +475,19 @@ destroy(dns_view_t *view) { name = ISC_LIST_HEAD(view->delonly[i]); } } - isc_mem_put(view->mctx, view->delonly, sizeof(dns_namelist_t) * - DNS_VIEW_DELONLYHASH); + isc_mem_put(view->mctx, view->delonly, + sizeof(dns_namelist_t) * DNS_VIEW_DELONLYHASH); view->delonly = NULL; } if (view->rootexclude != NULL) { dns_name_t *name; - int i; + int i; for (i = 0; i < DNS_VIEW_DELONLYHASH; i++) { name = ISC_LIST_HEAD(view->rootexclude[i]); while (name != NULL) { - ISC_LIST_UNLINK(view->rootexclude[i], - name, link); + ISC_LIST_UNLINK(view->rootexclude[i], name, + link); dns_name_free(name, view->mctx); isc_mem_put(view->mctx, name, sizeof(*name)); name = ISC_LIST_HEAD(view->rootexclude[i]); @@ -500,8 +507,7 @@ destroy(dns_view_t *view) { dns_keytable_detach(&view->secroots_priv); if (view->ntatable_priv != NULL) dns_ntatable_detach(&view->ntatable_priv); - for (dns64 = ISC_LIST_HEAD(view->dns64); - dns64 != NULL; + for (dns64 = ISC_LIST_HEAD(view->dns64); dns64 != NULL; dns64 = ISC_LIST_HEAD(view->dns64)) { dns_dns64_unlink(&view->dns64, dns64); dns_dns64_destroy(&dns64); @@ -525,7 +531,7 @@ destroy(dns_view_t *view) { } #ifdef HAVE_LMDB if (view->new_zone_dbenv != NULL) { - mdb_env_close((MDB_env *) view->new_zone_dbenv); + mdb_env_close((MDB_env *)view->new_zone_dbenv); view->new_zone_dbenv = NULL; } if (view->new_zone_db != NULL) { @@ -553,8 +559,8 @@ destroy(dns_view_t *view) { } void -dns_view_attach(dns_view_t *source, dns_view_t **targetp) { - +dns_view_attach(dns_view_t *source, dns_view_t **targetp) +{ REQUIRE(DNS_VIEW_VALID(source)); REQUIRE(targetp != NULL && *targetp == NULL); @@ -564,7 +570,8 @@ dns_view_attach(dns_view_t *source, dns_view_t **targetp) { } static void -view_flushanddetach(dns_view_t **viewp, bool flush) { +view_flushanddetach(dns_view_t **viewp, bool flush) +{ REQUIRE(viewp != NULL && DNS_VIEW_VALID(*viewp)); dns_view_t *view = *viewp; *viewp = NULL; @@ -626,24 +633,28 @@ view_flushanddetach(dns_view_t **viewp, bool flush) { } void -dns_view_flushanddetach(dns_view_t **viewp) { +dns_view_flushanddetach(dns_view_t **viewp) +{ view_flushanddetach(viewp, true); } void -dns_view_detach(dns_view_t **viewp) { +dns_view_detach(dns_view_t **viewp) +{ view_flushanddetach(viewp, false); } static isc_result_t -dialup(dns_zone_t *zone, void *dummy) { +dialup(dns_zone_t *zone, void *dummy) +{ UNUSED(dummy); dns_zone_dialup(zone); return (ISC_R_SUCCESS); } void -dns_view_dialup(dns_view_t *view) { +dns_view_dialup(dns_view_t *view) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(view->zonetable != NULL); @@ -651,8 +662,8 @@ dns_view_dialup(dns_view_t *view) { } void -dns_view_weakattach(dns_view_t *source, dns_view_t **targetp) { - +dns_view_weakattach(dns_view_t *source, dns_view_t **targetp) +{ REQUIRE(DNS_VIEW_VALID(source)); REQUIRE(targetp != NULL && *targetp == NULL); @@ -662,7 +673,8 @@ dns_view_weakattach(dns_view_t *source, dns_view_t **targetp) { } void -dns_view_weakdetach(dns_view_t **viewp) { +dns_view_weakdetach(dns_view_t **viewp) +{ dns_view_t *view; REQUIRE(viewp != NULL); @@ -676,7 +688,8 @@ dns_view_weakdetach(dns_view_t **viewp) { } static void -resolver_shutdown(isc_task_t *task, isc_event_t *event) { +resolver_shutdown(isc_task_t *task, isc_event_t *event) +{ dns_view_t *view = event->ev_arg; REQUIRE(event->ev_type == DNS_EVENT_VIEWRESSHUTDOWN); @@ -692,7 +705,8 @@ resolver_shutdown(isc_task_t *task, isc_event_t *event) { } static void -adb_shutdown(isc_task_t *task, isc_event_t *event) { +adb_shutdown(isc_task_t *task, isc_event_t *event) +{ dns_view_t *view = event->ev_arg; REQUIRE(event->ev_type == DNS_EVENT_VIEWADBSHUTDOWN); @@ -709,7 +723,8 @@ adb_shutdown(isc_task_t *task, isc_event_t *event) { } static void -req_shutdown(isc_task_t *task, isc_event_t *event) { +req_shutdown(isc_task_t *task, isc_event_t *event) +{ dns_view_t *view = event->ev_arg; REQUIRE(event->ev_type == DNS_EVENT_VIEWREQSHUTDOWN); @@ -726,8 +741,8 @@ req_shutdown(isc_task_t *task, isc_event_t *event) { } isc_result_t -dns_view_createzonetable(dns_view_t *view) { - +dns_view_createzonetable(dns_view_t *view) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(!view->frozen); REQUIRE(view->zonetable == NULL); @@ -736,20 +751,15 @@ dns_view_createzonetable(dns_view_t *view) { } isc_result_t -dns_view_createresolver(dns_view_t *view, - isc_taskmgr_t *taskmgr, - unsigned int ntasks, - unsigned int ndisp, - isc_socketmgr_t *socketmgr, - isc_timermgr_t *timermgr, - unsigned int options, - dns_dispatchmgr_t *dispatchmgr, - dns_dispatch_t *dispatchv4, - dns_dispatch_t *dispatchv6) +dns_view_createresolver(dns_view_t *view, isc_taskmgr_t *taskmgr, + unsigned int ntasks, unsigned int ndisp, + isc_socketmgr_t *socketmgr, isc_timermgr_t *timermgr, + unsigned int options, dns_dispatchmgr_t *dispatchmgr, + dns_dispatch_t *dispatchv4, dns_dispatch_t *dispatchv6) { isc_result_t result; isc_event_t *event; - isc_mem_t *mctx = NULL; + isc_mem_t * mctx = NULL; REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(!view->frozen); @@ -761,9 +771,8 @@ dns_view_createresolver(dns_view_t *view, isc_task_setname(view->task, "view", view); result = dns_resolver_create(view, taskmgr, ntasks, ndisp, socketmgr, - timermgr, options, dispatchmgr, - dispatchv4, dispatchv6, - &view->resolver); + timermgr, options, dispatchmgr, dispatchv4, + dispatchv6, &view->resolver); if (result != ISC_R_SUCCESS) { isc_task_detach(&view->task); return (result); @@ -788,10 +797,10 @@ dns_view_createresolver(dns_view_t *view, isc_refcount_increment(&view->weakrefs); result = dns_requestmgr_create(view->mctx, timermgr, socketmgr, - dns_resolver_taskmgr(view->resolver), - dns_resolver_dispatchmgr(view->resolver), - dispatchv4, dispatchv6, - &view->requestmgr); + dns_resolver_taskmgr(view->resolver), + dns_resolver_dispatchmgr(view->resolver), + dispatchv4, dispatchv6, + &view->requestmgr); if (result != ISC_R_SUCCESS) { dns_adb_shutdown(view->adb); dns_resolver_shutdown(view->resolver); @@ -806,7 +815,8 @@ dns_view_createresolver(dns_view_t *view, } void -dns_view_setcache(dns_view_t *view, dns_cache_t *cache, bool shared) { +dns_view_setcache(dns_view_t *view, dns_cache_t *cache, bool shared) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(!view->frozen); @@ -821,14 +831,16 @@ dns_view_setcache(dns_view_t *view, dns_cache_t *cache, bool shared) { } bool -dns_view_iscacheshared(dns_view_t *view) { +dns_view_iscacheshared(dns_view_t *view) +{ REQUIRE(DNS_VIEW_VALID(view)); return (view->cacheshared); } void -dns_view_sethints(dns_view_t *view, dns_db_t *hints) { +dns_view_sethints(dns_view_t *view, dns_db_t *hints) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(!view->frozen); REQUIRE(view->hints == NULL); @@ -838,7 +850,8 @@ dns_view_sethints(dns_view_t *view, dns_db_t *hints) { } void -dns_view_setkeyring(dns_view_t *view, dns_tsig_keyring_t *ring) { +dns_view_setkeyring(dns_view_t *view, dns_tsig_keyring_t *ring) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(ring != NULL); if (view->statickeys != NULL) @@ -847,7 +860,8 @@ dns_view_setkeyring(dns_view_t *view, dns_tsig_keyring_t *ring) { } void -dns_view_setdynamickeyring(dns_view_t *view, dns_tsig_keyring_t *ring) { +dns_view_setdynamickeyring(dns_view_t *view, dns_tsig_keyring_t *ring) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(ring != NULL); if (view->dynamickeys != NULL) @@ -856,7 +870,8 @@ dns_view_setdynamickeyring(dns_view_t *view, dns_tsig_keyring_t *ring) { } void -dns_view_getdynamickeyring(dns_view_t *view, dns_tsig_keyring_t **ringp) { +dns_view_getdynamickeyring(dns_view_t *view, dns_tsig_keyring_t **ringp) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(ringp != NULL && *ringp == NULL); if (view->dynamickeys != NULL) @@ -864,9 +879,10 @@ dns_view_getdynamickeyring(dns_view_t *view, dns_tsig_keyring_t **ringp) { } void -dns_view_restorekeyring(dns_view_t *view) { - FILE *fp; - char keyfile[PATH_MAX]; +dns_view_restorekeyring(dns_view_t *view) +{ + FILE * fp; + char keyfile[PATH_MAX]; isc_result_t result; REQUIRE(DNS_VIEW_VALID(view)); @@ -885,13 +901,15 @@ dns_view_restorekeyring(dns_view_t *view) { } void -dns_view_setdstport(dns_view_t *view, in_port_t dstport) { +dns_view_setdstport(dns_view_t *view, in_port_t dstport) +{ REQUIRE(DNS_VIEW_VALID(view)); view->dstport = dstport; } void -dns_view_freeze(dns_view_t *view) { +dns_view_freeze(dns_view_t *view) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(!view->frozen); @@ -903,7 +921,8 @@ dns_view_freeze(dns_view_t *view) { } void -dns_view_thaw(dns_view_t *view) { +dns_view_thaw(dns_view_t *view) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(view->frozen); @@ -911,7 +930,8 @@ dns_view_thaw(dns_view_t *view) { } isc_result_t -dns_view_addzone(dns_view_t *view, dns_zone_t *zone) { +dns_view_addzone(dns_view_t *view, dns_zone_t *zone) +{ isc_result_t result; REQUIRE(DNS_VIEW_VALID(view)); @@ -924,8 +944,7 @@ dns_view_addzone(dns_view_t *view, dns_zone_t *zone) { } isc_result_t -dns_view_findzone(dns_view_t *view, const dns_name_t *name, - dns_zone_t **zonep) +dns_view_findzone(dns_view_t *view, const dns_name_t *name, dns_zone_t **zonep) { isc_result_t result; @@ -947,17 +966,17 @@ dns_view_findzone(dns_view_t *view, const dns_name_t *name, isc_result_t dns_view_find(dns_view_t *view, const dns_name_t *name, dns_rdatatype_t type, - isc_stdtime_t now, unsigned int options, - bool use_hints, bool use_static_stub, - dns_db_t **dbp, dns_dbnode_t **nodep, dns_name_t *foundname, - dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) + isc_stdtime_t now, unsigned int options, bool use_hints, + bool use_static_stub, dns_db_t **dbp, dns_dbnode_t **nodep, + dns_name_t *foundname, dns_rdataset_t *rdataset, + dns_rdataset_t *sigrdataset) { - isc_result_t result; - dns_db_t *db, *zdb; - dns_dbnode_t *node, *znode; - bool is_cache, is_staticstub_zone; + isc_result_t result; + dns_db_t * db, *zdb; + dns_dbnode_t * node, *znode; + bool is_cache, is_staticstub_zone; dns_rdataset_t zrdataset, zsigrdataset; - dns_zone_t *zone; + dns_zone_t * zone; /* * Find an rdataset whose owner name is 'name', and whose type is @@ -967,7 +986,7 @@ dns_view_find(dns_view_t *view, const dns_name_t *name, dns_rdatatype_t type, REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(view->frozen); REQUIRE(type != dns_rdatatype_rrsig); - REQUIRE(rdataset != NULL); /* XXXBEW - remove this */ + REQUIRE(rdataset != NULL); /* XXXBEW - remove this */ REQUIRE(nodep == NULL || *nodep == NULL); /* @@ -1012,12 +1031,12 @@ dns_view_find(dns_view_t *view, const dns_name_t *name, dns_rdatatype_t type, is_cache = dns_db_iscache(db); - db_find: +db_find: /* * Now look for an answer in the database. */ - result = dns_db_find(db, name, NULL, type, options, - now, &node, foundname, rdataset, sigrdataset); + result = dns_db_find(db, name, NULL, type, options, now, &node, + foundname, rdataset, sigrdataset); if (result == DNS_R_DELEGATION || result == ISC_R_NOTFOUND) { if (dns_rdataset_isassociated(rdataset)) @@ -1103,8 +1122,8 @@ dns_view_find(dns_view_t *view, const dns_name_t *name, dns_rdatatype_t type, dns_db_detach(&db); } result = dns_db_find(view->hints, name, NULL, type, options, - now, &node, foundname, - rdataset, sigrdataset); + now, &node, foundname, rdataset, + sigrdataset); if (result == ISC_R_SUCCESS || result == DNS_R_GLUE) { /* * We just used a hint. Let the resolver know it @@ -1126,7 +1145,7 @@ dns_view_find(dns_view_t *view, const dns_name_t *name, dns_rdatatype_t type, dns_db_detachnode(view->hints, &node); } - cleanup: +cleanup: if (dns_rdataset_isassociated(&zrdataset)) { dns_rdataset_disassociate(&zrdataset); if (dns_rdataset_isassociated(&zsigrdataset)) @@ -1165,14 +1184,13 @@ dns_view_simplefind(dns_view_t *view, const dns_name_t *name, unsigned int options, bool use_hints, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - isc_result_t result; + isc_result_t result; dns_fixedname_t foundname; dns_fixedname_init(&foundname); - result = dns_view_find(view, name, type, now, options, use_hints, - false, NULL, NULL, - dns_fixedname_name(&foundname), rdataset, - sigrdataset); + result = dns_view_find(view, name, type, now, options, use_hints, false, + NULL, NULL, dns_fixedname_name(&foundname), + rdataset, sigrdataset); if (result == DNS_R_NXDOMAIN) { /* * The rdataset and sigrdataset of the relevant NSEC record @@ -1185,14 +1203,10 @@ dns_view_simplefind(dns_view_t *view, const dns_name_t *name, if (sigrdataset != NULL && dns_rdataset_isassociated(sigrdataset)) dns_rdataset_disassociate(sigrdataset); - } else if (result != ISC_R_SUCCESS && - result != DNS_R_GLUE && - result != DNS_R_HINT && - result != DNS_R_NCACHENXDOMAIN && - result != DNS_R_NCACHENXRRSET && - result != DNS_R_NXRRSET && - result != DNS_R_HINTNXRRSET && - result != ISC_R_NOTFOUND) { + } else if (result != ISC_R_SUCCESS && result != DNS_R_GLUE && + result != DNS_R_HINT && result != DNS_R_NCACHENXDOMAIN && + result != DNS_R_NCACHENXRRSET && result != DNS_R_NXRRSET && + result != DNS_R_HINTNXRRSET && result != ISC_R_NOTFOUND) { if (dns_rdataset_isassociated(rdataset)) dns_rdataset_disassociate(rdataset); if (sigrdataset != NULL && @@ -1207,18 +1221,17 @@ dns_view_simplefind(dns_view_t *view, const dns_name_t *name, isc_result_t dns_view_findzonecut(dns_view_t *view, const dns_name_t *name, dns_name_t *fname, dns_name_t *dcname, isc_stdtime_t now, - unsigned int options, bool use_hints, - bool use_cache, dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset) + unsigned int options, bool use_hints, bool use_cache, + dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - isc_result_t result; - dns_db_t *db; - bool is_cache, use_zone, try_hints; - dns_zone_t *zone; - dns_name_t *zfname; - dns_rdataset_t zrdataset, zsigrdataset; + isc_result_t result; + dns_db_t * db; + bool is_cache, use_zone, try_hints; + dns_zone_t * zone; + dns_name_t * zfname; + dns_rdataset_t zrdataset, zsigrdataset; dns_fixedname_t zfixedname; - unsigned int ztoptions = DNS_ZTFIND_MIRROR; + unsigned int ztoptions = DNS_ZTFIND_MIRROR; REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(view->frozen); @@ -1243,8 +1256,8 @@ dns_view_findzonecut(dns_view_t *view, const dns_name_t *name, if (view->zonetable != NULL) { if ((options & DNS_DBFIND_NOEXACT) != 0) ztoptions |= DNS_ZTFIND_NOEXACT; - result = dns_zt_find(view->zonetable, name, ztoptions, - NULL, &zone); + result = dns_zt_find(view->zonetable, name, ztoptions, NULL, + &zone); } else { result = ISC_R_NOTFOUND; } @@ -1280,7 +1293,7 @@ dns_view_findzonecut(dns_view_t *view, const dns_name_t *name, } is_cache = dns_db_iscache(db); - db_find: +db_find: /* * Look for the zonecut. */ @@ -1311,9 +1324,8 @@ dns_view_findzonecut(dns_view_t *view, const dns_name_t *name, goto db_find; } } else { - result = dns_db_findzonecut(db, name, options, now, NULL, - fname, dcname, rdataset, - sigrdataset); + result = dns_db_findzonecut(db, name, options, now, NULL, fname, + dcname, rdataset, sigrdataset); if (result == ISC_R_SUCCESS) { if (zfname != NULL && (!dns_name_issubdomain(fname, zfname) || @@ -1350,7 +1362,7 @@ dns_view_findzonecut(dns_view_t *view, const dns_name_t *name, } } - finish: +finish: if (use_zone) { if (dns_rdataset_isassociated(rdataset)) { dns_rdataset_disassociate(rdataset); @@ -1386,7 +1398,7 @@ dns_view_findzonecut(dns_view_t *view, const dns_name_t *name, } } - cleanup: +cleanup: if (dns_rdataset_isassociated(&zrdataset)) { dns_rdataset_disassociate(&zrdataset); if (dns_rdataset_isassociated(&zsigrdataset)) @@ -1408,8 +1420,7 @@ dns_viewlist_find(dns_viewlist_t *list, const char *name, REQUIRE(list != NULL); - for (view = ISC_LIST_HEAD(*list); - view != NULL; + for (view = ISC_LIST_HEAD(*list); view != NULL; view = ISC_LIST_NEXT(view, link)) { if (strcmp(view->name, name) == 0 && view->rdclass == rdclass) break; @@ -1427,16 +1438,15 @@ dns_viewlist_findzone(dns_viewlist_t *list, const dns_name_t *name, bool allclasses, dns_rdataclass_t rdclass, dns_zone_t **zonep) { - dns_view_t *view; + dns_view_t * view; isc_result_t result; - dns_zone_t *zone1 = NULL, *zone2 = NULL; + dns_zone_t * zone1 = NULL, *zone2 = NULL; dns_zone_t **zp = NULL; REQUIRE(list != NULL); REQUIRE(zonep != NULL && *zonep == NULL); - for (view = ISC_LIST_HEAD(*list); - view != NULL; + for (view = ISC_LIST_HEAD(*list); view != NULL; view = ISC_LIST_NEXT(view, link)) { if (allclasses == false && view->rdclass != rdclass) continue; @@ -1448,13 +1458,12 @@ dns_viewlist_findzone(dns_viewlist_t *list, const dns_name_t *name, zp = (zone1 == NULL) ? &zone1 : &zone2; LOCK(&view->lock); if (view->zonetable != NULL) - result = dns_zt_find(view->zonetable, name, 0, - NULL, zp); + result = + dns_zt_find(view->zonetable, name, 0, NULL, zp); else result = ISC_R_NOTFOUND; UNLOCK(&view->lock); - INSIST(result == ISC_R_SUCCESS || - result == ISC_R_NOTFOUND || + INSIST(result == ISC_R_SUCCESS || result == ISC_R_NOTFOUND || result == DNS_R_PARTIALMATCH); /* Treat a partial match as no match */ @@ -1481,8 +1490,8 @@ dns_viewlist_findzone(dns_viewlist_t *list, const dns_name_t *name, } isc_result_t -dns_view_load(dns_view_t *view, bool stop, bool newonly) { - +dns_view_load(dns_view_t *view, bool stop, bool newonly) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(view->zonetable != NULL); @@ -1490,8 +1499,9 @@ dns_view_load(dns_view_t *view, bool stop, bool newonly) { } isc_result_t -dns_view_asyncload(dns_view_t *view, bool newonly, - dns_zt_allloaded_t callback, void *arg) { +dns_view_asyncload(dns_view_t *view, bool newonly, dns_zt_allloaded_t callback, + void *arg) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(view->zonetable != NULL); @@ -1505,8 +1515,7 @@ dns_view_gettsig(dns_view_t *view, const dns_name_t *keyname, isc_result_t result; REQUIRE(keyp != NULL && *keyp == NULL); - result = dns_tsigkey_find(keyp, keyname, NULL, - view->statickeys); + result = dns_tsigkey_find(keyp, keyname, NULL, view->statickeys); if (result == ISC_R_NOTFOUND) result = dns_tsigkey_find(keyp, keyname, NULL, view->dynamickeys); @@ -1518,8 +1527,8 @@ dns_view_getpeertsig(dns_view_t *view, const isc_netaddr_t *peeraddr, dns_tsigkey_t **keyp) { isc_result_t result; - dns_name_t *keyname = NULL; - dns_peer_t *peer = NULL; + dns_name_t * keyname = NULL; + dns_peer_t * peer = NULL; result = dns_peerlist_peerbyaddr(view->peers, peeraddr, &peer); if (result != ISC_R_SUCCESS) @@ -1534,7 +1543,8 @@ dns_view_getpeertsig(dns_view_t *view, const isc_netaddr_t *peeraddr, } isc_result_t -dns_view_checksig(dns_view_t *view, isc_buffer_t *source, dns_message_t *msg) { +dns_view_checksig(dns_view_t *view, isc_buffer_t *source, dns_message_t *msg) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(source != NULL); @@ -1543,7 +1553,8 @@ dns_view_checksig(dns_view_t *view, isc_buffer_t *source, dns_message_t *msg) { } isc_result_t -dns_view_dumpdbtostream(dns_view_t *view, FILE *fp) { +dns_view_dumpdbtostream(dns_view_t *view, FILE *fp) +{ isc_result_t result; REQUIRE(DNS_VIEW_VALID(view)); @@ -1561,7 +1572,8 @@ dns_view_dumpdbtostream(dns_view_t *view, FILE *fp) { } isc_result_t -dns_view_flushcache(dns_view_t *view, bool fixuponly) { +dns_view_flushcache(dns_view_t *view, bool fixuponly) +{ isc_result_t result; REQUIRE(DNS_VIEW_VALID(view)); @@ -1585,13 +1597,13 @@ dns_view_flushcache(dns_view_t *view, bool fixuponly) { } isc_result_t -dns_view_flushname(dns_view_t *view, const dns_name_t *name) { +dns_view_flushname(dns_view_t *view, const dns_name_t *name) +{ return (dns_view_flushnode(view, name, false)); } isc_result_t -dns_view_flushnode(dns_view_t *view, const dns_name_t *name, - bool tree) +dns_view_flushnode(dns_view_t *view, const dns_name_t *name, bool tree) { isc_result_t result = ISC_R_SUCCESS; @@ -1620,15 +1632,17 @@ dns_view_flushnode(dns_view_t *view, const dns_name_t *name, } isc_result_t -dns_view_adddelegationonly(dns_view_t *view, const dns_name_t *name) { +dns_view_adddelegationonly(dns_view_t *view, const dns_name_t *name) +{ dns_name_t *item; - uint32_t hash; + uint32_t hash; REQUIRE(DNS_VIEW_VALID(view)); if (view->delonly == NULL) { - view->delonly = isc_mem_get(view->mctx, - sizeof(dns_namelist_t) * DNS_VIEW_DELONLYHASH); + view->delonly = + isc_mem_get(view->mctx, sizeof(dns_namelist_t) * + DNS_VIEW_DELONLYHASH); for (hash = 0; hash < DNS_VIEW_DELONLYHASH; hash++) ISC_LIST_INIT(view->delonly[hash]); } @@ -1646,15 +1660,17 @@ dns_view_adddelegationonly(dns_view_t *view, const dns_name_t *name) { } isc_result_t -dns_view_excludedelegationonly(dns_view_t *view, const dns_name_t *name) { +dns_view_excludedelegationonly(dns_view_t *view, const dns_name_t *name) +{ dns_name_t *item; - uint32_t hash; + uint32_t hash; REQUIRE(DNS_VIEW_VALID(view)); if (view->rootexclude == NULL) { - view->rootexclude = isc_mem_get(view->mctx, - sizeof(dns_namelist_t) * DNS_VIEW_DELONLYHASH); + view->rootexclude = + isc_mem_get(view->mctx, sizeof(dns_namelist_t) * + DNS_VIEW_DELONLYHASH); for (hash = 0; hash < DNS_VIEW_DELONLYHASH; hash++) ISC_LIST_INIT(view->rootexclude[hash]); } @@ -1672,9 +1688,10 @@ dns_view_excludedelegationonly(dns_view_t *view, const dns_name_t *name) { } bool -dns_view_isdelegationonly(dns_view_t *view, const dns_name_t *name) { +dns_view_isdelegationonly(dns_view_t *view, const dns_name_t *name) +{ dns_name_t *item; - uint32_t hash; + uint32_t hash; REQUIRE(DNS_VIEW_VALID(view)); @@ -1704,20 +1721,22 @@ dns_view_isdelegationonly(dns_view_t *view, const dns_name_t *name) { } void -dns_view_setrootdelonly(dns_view_t *view, bool value) { +dns_view_setrootdelonly(dns_view_t *view, bool value) +{ REQUIRE(DNS_VIEW_VALID(view)); view->rootdelonly = value; } bool -dns_view_getrootdelonly(dns_view_t *view) { +dns_view_getrootdelonly(dns_view_t *view) +{ REQUIRE(DNS_VIEW_VALID(view)); return (view->rootdelonly); } isc_result_t -dns_view_freezezones(dns_view_t *view, bool value) { - +dns_view_freezezones(dns_view_t *view, bool value) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(view->zonetable != NULL); @@ -1725,7 +1744,8 @@ dns_view_freezezones(dns_view_t *view, bool value) { } void -dns_view_setadbstats(dns_view_t *view, isc_stats_t *stats) { +dns_view_setadbstats(dns_view_t *view, isc_stats_t *stats) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(!view->frozen); REQUIRE(view->adbstats == NULL); @@ -1734,7 +1754,8 @@ dns_view_setadbstats(dns_view_t *view, isc_stats_t *stats) { } void -dns_view_getadbstats(dns_view_t *view, isc_stats_t **statsp) { +dns_view_getadbstats(dns_view_t *view, isc_stats_t **statsp) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(statsp != NULL && *statsp == NULL); @@ -1743,8 +1764,8 @@ dns_view_getadbstats(dns_view_t *view, isc_stats_t **statsp) { } void -dns_view_setresstats(dns_view_t *view, isc_stats_t *stats) { - +dns_view_setresstats(dns_view_t *view, isc_stats_t *stats) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(!view->frozen); REQUIRE(view->resstats == NULL); @@ -1753,7 +1774,8 @@ dns_view_setresstats(dns_view_t *view, isc_stats_t *stats) { } void -dns_view_getresstats(dns_view_t *view, isc_stats_t **statsp) { +dns_view_getresstats(dns_view_t *view, isc_stats_t **statsp) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(statsp != NULL && *statsp == NULL); @@ -1762,7 +1784,8 @@ dns_view_getresstats(dns_view_t *view, isc_stats_t **statsp) { } void -dns_view_setresquerystats(dns_view_t *view, dns_stats_t *stats) { +dns_view_setresquerystats(dns_view_t *view, dns_stats_t *stats) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(!view->frozen); REQUIRE(view->resquerystats == NULL); @@ -1771,7 +1794,8 @@ dns_view_setresquerystats(dns_view_t *view, dns_stats_t *stats) { } void -dns_view_getresquerystats(dns_view_t *view, dns_stats_t **statsp) { +dns_view_getresquerystats(dns_view_t *view, dns_stats_t **statsp) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(statsp != NULL && *statsp == NULL); @@ -1780,8 +1804,8 @@ dns_view_getresquerystats(dns_view_t *view, dns_stats_t **statsp) { } isc_result_t -dns_view_initntatable(dns_view_t *view, - isc_taskmgr_t *taskmgr, isc_timermgr_t *timermgr) +dns_view_initntatable(dns_view_t *view, isc_taskmgr_t *taskmgr, + isc_timermgr_t *timermgr) { REQUIRE(DNS_VIEW_VALID(view)); if (view->ntatable_priv != NULL) @@ -1791,7 +1815,8 @@ dns_view_initntatable(dns_view_t *view, } isc_result_t -dns_view_getntatable(dns_view_t *view, dns_ntatable_t **ntp) { +dns_view_getntatable(dns_view_t *view, dns_ntatable_t **ntp) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(ntp != NULL && *ntp == NULL); if (view->ntatable_priv == NULL) @@ -1801,7 +1826,8 @@ dns_view_getntatable(dns_view_t *view, dns_ntatable_t **ntp) { } isc_result_t -dns_view_initsecroots(dns_view_t *view, isc_mem_t *mctx) { +dns_view_initsecroots(dns_view_t *view, isc_mem_t *mctx) +{ REQUIRE(DNS_VIEW_VALID(view)); if (view->secroots_priv != NULL) dns_keytable_detach(&view->secroots_priv); @@ -1809,7 +1835,8 @@ dns_view_initsecroots(dns_view_t *view, isc_mem_t *mctx) { } isc_result_t -dns_view_getsecroots(dns_view_t *view, dns_keytable_t **ktp) { +dns_view_getsecroots(dns_view_t *view, dns_keytable_t **ktp) +{ REQUIRE(DNS_VIEW_VALID(view)); REQUIRE(ktp != NULL && *ktp == NULL); if (view->secroots_priv == NULL) @@ -1819,8 +1846,8 @@ dns_view_getsecroots(dns_view_t *view, dns_keytable_t **ktp) { } bool -dns_view_ntacovers(dns_view_t *view, isc_stdtime_t now, - const dns_name_t *name, const dns_name_t *anchor) +dns_view_ntacovers(dns_view_t *view, isc_stdtime_t now, const dns_name_t *name, + const dns_name_t *anchor) { REQUIRE(DNS_VIEW_VALID(view)); @@ -1835,10 +1862,10 @@ dns_view_issecuredomain(dns_view_t *view, const dns_name_t *name, isc_stdtime_t now, bool checknta, bool *ntap, bool *secure_domain) { - isc_result_t result; - bool secure = false; + isc_result_t result; + bool secure = false; dns_fixedname_t fn; - dns_name_t *anchor; + dns_name_t * anchor; REQUIRE(DNS_VIEW_VALID(view)); @@ -1848,8 +1875,8 @@ dns_view_issecuredomain(dns_view_t *view, const dns_name_t *name, anchor = dns_fixedname_initname(&fn); - result = dns_keytable_issecuredomain(view->secroots_priv, name, - anchor, &secure); + result = dns_keytable_issecuredomain(view->secroots_priv, name, anchor, + &secure); if (result != ISC_R_SUCCESS) { return (result); } @@ -1858,8 +1885,7 @@ dns_view_issecuredomain(dns_view_t *view, const dns_name_t *name, *ntap = false; } if (checknta && secure && view->ntatable_priv != NULL && - dns_ntatable_covered(view->ntatable_priv, now, name, anchor)) - { + dns_ntatable_covered(view->ntatable_priv, now, name, anchor)) { if (ntap != NULL) { *ntap = true; } @@ -1874,7 +1900,7 @@ void dns_view_untrust(dns_view_t *view, const dns_name_t *keyname, dns_rdata_dnskey_t *dnskey) { - isc_result_t result; + isc_result_t result; dns_keytable_t *sr = NULL; REQUIRE(DNS_VIEW_VALID(view)); @@ -1925,14 +1951,13 @@ dns_view_untrust(dns_view_t *view, const dns_name_t *keyname, */ static isc_result_t -nz_legacy(const char *directory, const char *viewname, - const char *suffix, char *buffer, size_t buflen) +nz_legacy(const char *directory, const char *viewname, const char *suffix, + char *buffer, size_t buflen) { isc_result_t result; - char newbuf[PATH_MAX]; + char newbuf[PATH_MAX]; - result = isc_file_sanitize(directory, viewname, suffix, - buffer, buflen); + result = isc_file_sanitize(directory, viewname, suffix, buffer, buflen); if (result != ISC_R_SUCCESS) { return (result); } else if (directory == NULL || isc_file_exists(buffer)) { @@ -1963,10 +1988,10 @@ dns_view_setnewzones(dns_view_t *view, bool allow, void *cfgctx, void (*cfg_destroy)(void **), uint64_t mapsize) { isc_result_t result = ISC_R_SUCCESS; - char buffer[1024]; + char buffer[1024]; #ifdef HAVE_LMDB MDB_env *env = NULL; - int status; + int status; #endif #ifndef HAVE_LMDB @@ -1983,7 +2008,7 @@ dns_view_setnewzones(dns_view_t *view, bool allow, void *cfgctx, #ifdef HAVE_LMDB if (view->new_zone_dbenv != NULL) { - mdb_env_close((MDB_env *) view->new_zone_dbenv); + mdb_env_close((MDB_env *)view->new_zone_dbenv); view->new_zone_dbenv = NULL; } @@ -2002,14 +2027,14 @@ dns_view_setnewzones(dns_view_t *view, bool allow, void *cfgctx, return (ISC_R_SUCCESS); } - CHECK(nz_legacy(view->new_zone_dir, view->name, "nzf", - buffer, sizeof(buffer))); + CHECK(nz_legacy(view->new_zone_dir, view->name, "nzf", buffer, + sizeof(buffer))); view->new_zone_file = isc_mem_strdup(view->mctx, buffer); #ifdef HAVE_LMDB - CHECK(nz_legacy(view->new_zone_dir, view->name, "nzd", - buffer, sizeof(buffer))); + CHECK(nz_legacy(view->new_zone_dir, view->name, "nzd", buffer, + sizeof(buffer))); view->new_zone_db = isc_mem_strdup(view->mctx, buffer); @@ -2050,7 +2075,7 @@ dns_view_setnewzones(dns_view_t *view, bool allow, void *cfgctx, view->new_zone_config = cfgctx; view->cfg_destroy = cfg_destroy; - cleanup: +cleanup: if (result != ISC_R_SUCCESS) { if (view->new_zone_file != NULL) { isc_mem_free(view->mctx, view->new_zone_file); @@ -2074,7 +2099,8 @@ dns_view_setnewzones(dns_view_t *view, bool allow, void *cfgctx, } void -dns_view_setnewzonedir(dns_view_t *view, const char *dir) { +dns_view_setnewzonedir(dns_view_t *view, const char *dir) +{ REQUIRE(DNS_VIEW_VALID(view)); if (view->new_zone_dir != NULL) { @@ -2090,7 +2116,8 @@ dns_view_setnewzonedir(dns_view_t *view, const char *dir) { } const char * -dns_view_getnewzonedir(dns_view_t *view) { +dns_view_getnewzonedir(dns_view_t *view) +{ REQUIRE(DNS_VIEW_VALID(view)); return (view->new_zone_dir); @@ -2101,14 +2128,14 @@ dns_view_searchdlz(dns_view_t *view, const dns_name_t *name, unsigned int minlabels, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, dns_db_t **dbp) { - dns_fixedname_t fname; - dns_name_t *zonename; - unsigned int namelabels; - unsigned int i; - isc_result_t result; + dns_fixedname_t fname; + dns_name_t * zonename; + unsigned int namelabels; + unsigned int i; + isc_result_t result; dns_dlzfindzone_t findzone; - dns_dlzdb_t *dlzdb; - dns_db_t *db, *best = NULL; + dns_dlzdb_t * dlzdb; + dns_db_t * db, *best = NULL; /* * Performs checks to make sure data is as we expect it to be. @@ -2123,10 +2150,8 @@ dns_view_searchdlz(dns_view_t *view, const dns_name_t *name, /* count the number of labels in the name */ namelabels = dns_name_countlabels(name); - for (dlzdb = ISC_LIST_HEAD(view->dlz_searched); - dlzdb != NULL; - dlzdb = ISC_LIST_NEXT(dlzdb, link)) - { + for (dlzdb = ISC_LIST_HEAD(view->dlz_searched); dlzdb != NULL; + dlzdb = ISC_LIST_NEXT(dlzdb, link)) { REQUIRE(DNS_DLZ_VALID(dlzdb)); /* @@ -2150,8 +2175,8 @@ dns_view_searchdlz(dns_view_t *view, const dns_name_t *name, findzone = dlzdb->implementation->methods->findzone; result = (*findzone)(dlzdb->implementation->driverarg, dlzdb->dbdata, dlzdb->mctx, - view->rdclass, zonename, - methods, clientinfo, &db); + view->rdclass, zonename, methods, + clientinfo, &db); if (result != ISC_R_NOTFOUND) { if (best != NULL) @@ -2181,23 +2206,26 @@ dns_view_searchdlz(dns_view_t *view, const dns_name_t *name, } uint32_t -dns_view_getfailttl(dns_view_t *view) { +dns_view_getfailttl(dns_view_t *view) +{ REQUIRE(DNS_VIEW_VALID(view)); return (view->fail_ttl); } void -dns_view_setfailttl(dns_view_t *view, uint32_t fail_ttl) { +dns_view_setfailttl(dns_view_t *view, uint32_t fail_ttl) +{ REQUIRE(DNS_VIEW_VALID(view)); view->fail_ttl = fail_ttl; } isc_result_t -dns_view_saventa(dns_view_t *view) { - isc_result_t result; - bool removefile = false; +dns_view_saventa(dns_view_t *view) +{ + isc_result_t result; + bool removefile = false; dns_ntatable_t *ntatable = NULL; - FILE *fp = NULL; + FILE * fp = NULL; REQUIRE(DNS_VIEW_VALID(view)); @@ -2224,7 +2252,7 @@ dns_view_saventa(dns_view_t *view) { fp = NULL; } - cleanup: +cleanup: if (ntatable != NULL) dns_ntatable_detach(&ntatable); @@ -2233,7 +2261,7 @@ dns_view_saventa(dns_view_t *view) { /* Don't leave half-baked NTA save files lying around. */ if (result != ISC_R_SUCCESS || removefile) - (void) isc_file_remove(view->nta_file); + (void)isc_file_remove(view->nta_file); return (result); } @@ -2242,12 +2270,13 @@ dns_view_saventa(dns_view_t *view) { #define TLEN(t) ((t).value.as_textregion.length) isc_result_t -dns_view_loadnta(dns_view_t *view) { - isc_result_t result; +dns_view_loadnta(dns_view_t *view) +{ + isc_result_t result; dns_ntatable_t *ntatable = NULL; - isc_lex_t *lex = NULL; - isc_token_t token; - isc_stdtime_t now; + isc_lex_t * lex = NULL; + isc_token_t token; + isc_stdtime_t now; REQUIRE(DNS_VIEW_VALID(view)); @@ -2260,14 +2289,14 @@ dns_view_loadnta(dns_view_t *view) { isc_stdtime_get(&now); for (;;) { - int options = (ISC_LEXOPT_EOL | ISC_LEXOPT_EOF); - char *name, *type, *timestamp; - size_t len; - dns_fixedname_t fn; + int options = (ISC_LEXOPT_EOL | ISC_LEXOPT_EOF); + char * name, *type, *timestamp; + size_t len; + dns_fixedname_t fn; const dns_name_t *ntaname; - isc_buffer_t b; - isc_stdtime_t t; - bool forced; + isc_buffer_t b; + isc_stdtime_t t; + bool forced; CHECK(isc_lex_gettoken(lex, options, &token)); if (token.type == isc_tokentype_eof) @@ -2285,8 +2314,8 @@ dns_view_loadnta(dns_view_t *view) { isc_buffer_init(&b, name, (unsigned int)len); isc_buffer_add(&b, (unsigned int)len); - CHECK(dns_name_fromtext(fname, &b, dns_rootname, - 0, NULL)); + CHECK(dns_name_fromtext(fname, &b, dns_rootname, 0, + NULL)); ntaname = fname; } @@ -2317,8 +2346,7 @@ dns_view_loadnta(dns_view_t *view) { if (t > (now + 604800)) t = now + 604800; - (void) dns_ntatable_add(ntatable, ntaname, - forced, 0, t); + (void)dns_ntatable_add(ntatable, ntaname, forced, 0, t); } else { char nb[DNS_NAME_FORMATSIZE]; dns_name_format(ntaname, nb, sizeof(nb)); @@ -2328,7 +2356,7 @@ dns_view_loadnta(dns_view_t *view) { } }; - cleanup: +cleanup: if (ntatable != NULL) dns_ntatable_detach(&ntatable); @@ -2341,7 +2369,8 @@ dns_view_loadnta(dns_view_t *view) { } void -dns_view_setviewcommit(dns_view_t *view) { +dns_view_setviewcommit(dns_view_t *view) +{ REQUIRE(DNS_VIEW_VALID(view)); LOCK(&view->lock); @@ -2360,7 +2389,8 @@ dns_view_setviewcommit(dns_view_t *view) { } void -dns_view_setviewrevert(dns_view_t *view) { +dns_view_setviewrevert(dns_view_t *view) +{ dns_zt_t *zonetable; REQUIRE(DNS_VIEW_VALID(view)); diff --git a/lib/dns/win32/DLLMain.c b/lib/dns/win32/DLLMain.c index 842ca74d1e..69e68ca22a 100644 --- a/lib/dns/win32/DLLMain.c +++ b/lib/dns/win32/DLLMain.c @@ -9,14 +9,14 @@ * information regarding copyright ownership. */ -#include #include +#include /* * Called when we enter the DLL */ -__declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, - DWORD fdwReason, LPVOID lpvReserved) +__declspec(dllexport) BOOL WINAPI + DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { switch (fdwReason) { /* @@ -46,4 +46,3 @@ __declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, } return (TRUE); } - diff --git a/lib/dns/xfrin.c b/lib/dns/xfrin.c index 66a231b744..f0f88d8c9d 100644 --- a/lib/dns/xfrin.c +++ b/lib/dns/xfrin.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -18,7 +17,7 @@ #include #include #include -#include /* Required for HP/UX (and others?) */ +#include /* Required for HP/UX (and others?) */ #include #include #include @@ -54,14 +53,18 @@ * ISC_R_SUCCESS code, but the test is there to keep the Solaris compiler * from complaining about "end-of-loop code not reached". */ -#define FAIL(code) \ - do { result = (code); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define FAIL(code) \ + do { \ + result = (code); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) -#define CHECK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) /*% @@ -89,79 +92,79 @@ typedef enum { */ struct dns_xfrin_ctx { - unsigned int magic; - isc_mem_t *mctx; - dns_zone_t *zone; + unsigned int magic; + isc_mem_t * mctx; + dns_zone_t * zone; - int refcount; + int refcount; - isc_task_t *task; - isc_timer_t *timer; - isc_socketmgr_t *socketmgr; + isc_task_t * task; + isc_timer_t * timer; + isc_socketmgr_t *socketmgr; - int connects; /*%< Connect in progress */ - int sends; /*%< Send in progress */ - int recvs; /*%< Receive in progress */ - bool shuttingdown; - isc_result_t shutdown_result; + int connects; /*%< Connect in progress */ + int sends; /*%< Send in progress */ + int recvs; /*%< Receive in progress */ + bool shuttingdown; + isc_result_t shutdown_result; - dns_name_t name; /*%< Name of zone to transfer */ - dns_rdataclass_t rdclass; + dns_name_t name; /*%< Name of zone to transfer */ + dns_rdataclass_t rdclass; bool checkid; - dns_messageid_t id; + dns_messageid_t id; /*% * Requested transfer type (dns_rdatatype_axfr or * dns_rdatatype_ixfr). The actual transfer type * may differ due to IXFR->AXFR fallback. */ - dns_rdatatype_t reqtype; - isc_dscp_t dscp; + dns_rdatatype_t reqtype; + isc_dscp_t dscp; - isc_sockaddr_t masteraddr; - isc_sockaddr_t sourceaddr; - isc_socket_t *socket; + isc_sockaddr_t masteraddr; + isc_sockaddr_t sourceaddr; + isc_socket_t * socket; /*% Buffer for IXFR/AXFR request message */ - isc_buffer_t qbuffer; - unsigned char qbuffer_data[512]; + isc_buffer_t qbuffer; + unsigned char qbuffer_data[512]; /*% Incoming reply TCP message */ - dns_tcpmsg_t tcpmsg; - bool tcpmsg_valid; + dns_tcpmsg_t tcpmsg; + bool tcpmsg_valid; /*% * Whether the zone originally had a database attached at the time this * transfer context was created. Used by maybe_free() when making * logging decisions. */ - bool zone_had_db; + bool zone_had_db; - dns_db_t *db; - dns_dbversion_t *ver; - dns_diff_t diff; /*%< Pending database changes */ - int difflen; /*%< Number of pending tuples */ + dns_db_t * db; + dns_dbversion_t *ver; + dns_diff_t diff; /*%< Pending database changes */ + int difflen; /*%< Number of pending tuples */ - xfrin_state_t state; - uint32_t end_serial; - bool is_ixfr; + xfrin_state_t state; + uint32_t end_serial; + bool is_ixfr; - unsigned int nmsg; /*%< Number of messages recvd */ - unsigned int nrecs; /*%< Number of records recvd */ - uint64_t nbytes; /*%< Number of bytes received */ + unsigned int nmsg; /*%< Number of messages recvd */ + unsigned int nrecs; /*%< Number of records recvd */ + uint64_t nbytes; /*%< Number of bytes received */ - unsigned int maxrecords; /*%< The maximum number of - records set for the zone */ + unsigned int maxrecords; /*%< The maximum number of + records set for the zone */ - isc_time_t start; /*%< Start time of the transfer */ - isc_time_t end; /*%< End time of the transfer */ + isc_time_t start; /*%< Start time of the transfer */ + isc_time_t end; /*%< End time of the transfer */ - dns_tsigkey_t *tsigkey; /*%< Key used to create TSIG */ - isc_buffer_t *lasttsig; /*%< The last TSIG */ - dst_context_t *tsigctx; /*%< TSIG verification context */ - unsigned int sincetsig; /*%< recvd since the last TSIG */ - dns_xfrindone_t done; + dns_tsigkey_t * tsigkey; /*%< Key used to create TSIG */ + isc_buffer_t * lasttsig; /*%< The last TSIG */ + dst_context_t * tsigctx; /*%< TSIG verification context */ + unsigned int sincetsig; /*%< recvd since the last TSIG */ + dns_xfrindone_t done; /*% * AXFR- and IXFR-specific data. Only one is used at a time @@ -169,18 +172,18 @@ struct dns_xfrin_ctx { * but keeping them separate makes it a bit simpler to clean * things up when destroying the context. */ - dns_rdatacallbacks_t axfr; + dns_rdatacallbacks_t axfr; struct { - uint32_t request_serial; - uint32_t current_serial; - dns_journal_t *journal; + uint32_t request_serial; + uint32_t current_serial; + dns_journal_t *journal; } ixfr; }; -#define XFRIN_MAGIC ISC_MAGIC('X', 'f', 'r', 'I') -#define VALID_XFRIN(x) ISC_MAGIC_VALID(x, XFRIN_MAGIC) +#define XFRIN_MAGIC ISC_MAGIC('X', 'f', 'r', 'I') +#define VALID_XFRIN(x) ISC_MAGIC_VALID(x, XFRIN_MAGIC) /**************************************************************************/ /* @@ -188,49 +191,57 @@ struct dns_xfrin_ctx { */ static isc_result_t -xfrin_create(isc_mem_t *mctx, - dns_zone_t *zone, - dns_db_t *db, - isc_task_t *task, - isc_timermgr_t *timermgr, - isc_socketmgr_t *socketmgr, - dns_name_t *zonename, - dns_rdataclass_t rdclass, - dns_rdatatype_t reqtype, - const isc_sockaddr_t *masteraddr, - const isc_sockaddr_t *sourceaddr, - isc_dscp_t dscp, - dns_tsigkey_t *tsigkey, - dns_xfrin_ctx_t **xfrp); +xfrin_create(isc_mem_t *mctx, dns_zone_t *zone, dns_db_t *db, isc_task_t *task, + isc_timermgr_t *timermgr, isc_socketmgr_t *socketmgr, + dns_name_t *zonename, dns_rdataclass_t rdclass, + dns_rdatatype_t reqtype, const isc_sockaddr_t *masteraddr, + const isc_sockaddr_t *sourceaddr, isc_dscp_t dscp, + dns_tsigkey_t *tsigkey, dns_xfrin_ctx_t **xfrp); -static isc_result_t axfr_init(dns_xfrin_ctx_t *xfr); -static isc_result_t axfr_makedb(dns_xfrin_ctx_t *xfr, dns_db_t **dbp); -static isc_result_t axfr_putdata(dns_xfrin_ctx_t *xfr, dns_diffop_t op, - dns_name_t *name, dns_ttl_t ttl, - dns_rdata_t *rdata); -static isc_result_t axfr_apply(dns_xfrin_ctx_t *xfr); -static isc_result_t axfr_commit(dns_xfrin_ctx_t *xfr); -static isc_result_t axfr_finalize(dns_xfrin_ctx_t *xfr); +static isc_result_t +axfr_init(dns_xfrin_ctx_t *xfr); +static isc_result_t +axfr_makedb(dns_xfrin_ctx_t *xfr, dns_db_t **dbp); +static isc_result_t +axfr_putdata(dns_xfrin_ctx_t *xfr, dns_diffop_t op, dns_name_t *name, + dns_ttl_t ttl, dns_rdata_t *rdata); +static isc_result_t +axfr_apply(dns_xfrin_ctx_t *xfr); +static isc_result_t +axfr_commit(dns_xfrin_ctx_t *xfr); +static isc_result_t +axfr_finalize(dns_xfrin_ctx_t *xfr); -static isc_result_t ixfr_init(dns_xfrin_ctx_t *xfr); -static isc_result_t ixfr_apply(dns_xfrin_ctx_t *xfr); -static isc_result_t ixfr_putdata(dns_xfrin_ctx_t *xfr, dns_diffop_t op, - dns_name_t *name, dns_ttl_t ttl, - dns_rdata_t *rdata); -static isc_result_t ixfr_commit(dns_xfrin_ctx_t *xfr); +static isc_result_t +ixfr_init(dns_xfrin_ctx_t *xfr); +static isc_result_t +ixfr_apply(dns_xfrin_ctx_t *xfr); +static isc_result_t +ixfr_putdata(dns_xfrin_ctx_t *xfr, dns_diffop_t op, dns_name_t *name, + dns_ttl_t ttl, dns_rdata_t *rdata); +static isc_result_t +ixfr_commit(dns_xfrin_ctx_t *xfr); -static isc_result_t xfr_rr(dns_xfrin_ctx_t *xfr, dns_name_t *name, - uint32_t ttl, dns_rdata_t *rdata); +static isc_result_t +xfr_rr(dns_xfrin_ctx_t *xfr, dns_name_t *name, uint32_t ttl, + dns_rdata_t *rdata); -static isc_result_t xfrin_start(dns_xfrin_ctx_t *xfr); +static isc_result_t +xfrin_start(dns_xfrin_ctx_t *xfr); -static void xfrin_connect_done(isc_task_t *task, isc_event_t *event); -static isc_result_t xfrin_send_request(dns_xfrin_ctx_t *xfr); -static void xfrin_send_done(isc_task_t *task, isc_event_t *event); -static void xfrin_recv_done(isc_task_t *task, isc_event_t *event); -static void xfrin_timeout(isc_task_t *task, isc_event_t *event); +static void +xfrin_connect_done(isc_task_t *task, isc_event_t *event); +static isc_result_t +xfrin_send_request(dns_xfrin_ctx_t *xfr); +static void +xfrin_send_done(isc_task_t *task, isc_event_t *event); +static void +xfrin_recv_done(isc_task_t *task, isc_event_t *event); +static void +xfrin_timeout(isc_task_t *task, isc_event_t *event); -static void maybe_free(dns_xfrin_ctx_t *xfr); +static void +maybe_free(dns_xfrin_ctx_t *xfr); static void xfrin_fail(dns_xfrin_ctx_t *xfr, isc_result_t result, const char *msg); @@ -239,17 +250,15 @@ render(dns_message_t *msg, isc_mem_t *mctx, isc_buffer_t *buf); static void xfrin_logv(int level, const char *zonetext, const isc_sockaddr_t *masteraddr, - const char *fmt, va_list ap) - ISC_FORMAT_PRINTF(4, 0); + const char *fmt, va_list ap) ISC_FORMAT_PRINTF(4, 0); static void xfrin_log1(int level, const char *zonetext, const isc_sockaddr_t *masteraddr, - const char *fmt, ...) - ISC_FORMAT_PRINTF(4, 5); + const char *fmt, ...) ISC_FORMAT_PRINTF(4, 5); static void xfrin_log(dns_xfrin_ctx_t *xfr, int level, const char *fmt, ...) - ISC_FORMAT_PRINTF(3, 4); + ISC_FORMAT_PRINTF(3, 4); /**************************************************************************/ /* @@ -257,7 +266,8 @@ xfrin_log(dns_xfrin_ctx_t *xfr, int level, const char *fmt, ...) */ static isc_result_t -axfr_init(dns_xfrin_ctx_t *xfr) { +axfr_init(dns_xfrin_ctx_t *xfr) +{ isc_result_t result; xfr->is_ixfr = false; @@ -269,20 +279,19 @@ axfr_init(dns_xfrin_ctx_t *xfr) { dns_rdatacallbacks_init(&xfr->axfr); CHECK(dns_db_beginload(xfr->db, &xfr->axfr)); result = ISC_R_SUCCESS; - failure: +failure: return (result); } static isc_result_t -axfr_makedb(dns_xfrin_ctx_t *xfr, dns_db_t **dbp) { +axfr_makedb(dns_xfrin_ctx_t *xfr, dns_db_t **dbp) +{ isc_result_t result; result = dns_db_create(xfr->mctx, /* XXX */ - "rbt", /* XXX guess */ - &xfr->name, - dns_dbtype_zone, - xfr->rdclass, - 0, NULL, /* XXX guess */ + "rbt", /* XXX guess */ + &xfr->name, dns_dbtype_zone, xfr->rdclass, 0, + NULL, /* XXX guess */ dbp); if (result == ISC_R_SUCCESS) { dns_zone_rpz_enable_db(xfr->zone, *dbp); @@ -292,24 +301,24 @@ axfr_makedb(dns_xfrin_ctx_t *xfr, dns_db_t **dbp) { } static isc_result_t -axfr_putdata(dns_xfrin_ctx_t *xfr, dns_diffop_t op, - dns_name_t *name, dns_ttl_t ttl, dns_rdata_t *rdata) +axfr_putdata(dns_xfrin_ctx_t *xfr, dns_diffop_t op, dns_name_t *name, + dns_ttl_t ttl, dns_rdata_t *rdata) { isc_result_t result; dns_difftuple_t *tuple = NULL; if (rdata->rdclass != xfr->rdclass) - return(DNS_R_BADCLASS); + return (DNS_R_BADCLASS); CHECK(dns_zone_checknames(xfr->zone, name, rdata)); - CHECK(dns_difftuple_create(xfr->diff.mctx, op, - name, ttl, rdata, &tuple)); + CHECK(dns_difftuple_create(xfr->diff.mctx, op, name, ttl, rdata, + &tuple)); dns_diff_append(&xfr->diff, &tuple); if (++xfr->difflen > 100) CHECK(axfr_apply(xfr)); result = ISC_R_SUCCESS; - failure: +failure: return (result); } @@ -317,9 +326,10 @@ axfr_putdata(dns_xfrin_ctx_t *xfr, dns_diffop_t op, * Store a set of AXFR RRs in the database. */ static isc_result_t -axfr_apply(dns_xfrin_ctx_t *xfr) { +axfr_apply(dns_xfrin_ctx_t *xfr) +{ isc_result_t result; - uint64_t records; + uint64_t records; CHECK(dns_diff_load(&xfr->diff, xfr->axfr.add, xfr->axfr.add_private)); xfr->difflen = 0; @@ -332,12 +342,13 @@ axfr_apply(dns_xfrin_ctx_t *xfr) { } } result = ISC_R_SUCCESS; - failure: +failure: return (result); } static isc_result_t -axfr_commit(dns_xfrin_ctx_t *xfr) { +axfr_commit(dns_xfrin_ctx_t *xfr) +{ isc_result_t result; CHECK(axfr_apply(xfr)); @@ -345,18 +356,19 @@ axfr_commit(dns_xfrin_ctx_t *xfr) { CHECK(dns_zone_verifydb(xfr->zone, xfr->db, NULL)); result = ISC_R_SUCCESS; - failure: +failure: return (result); } static isc_result_t -axfr_finalize(dns_xfrin_ctx_t *xfr) { +axfr_finalize(dns_xfrin_ctx_t *xfr) +{ isc_result_t result; CHECK(dns_zone_replacedb(xfr->zone, xfr->db, true)); result = ISC_R_SUCCESS; - failure: +failure: return (result); } @@ -366,9 +378,10 @@ axfr_finalize(dns_xfrin_ctx_t *xfr) { */ static isc_result_t -ixfr_init(dns_xfrin_ctx_t *xfr) { +ixfr_init(dns_xfrin_ctx_t *xfr) +{ isc_result_t result; - char *journalfile; + char * journalfile; if (xfr->reqtype != dns_rdatatype_ixfr) { xfrin_log(xfr, ISC_LOG_ERROR, @@ -386,29 +399,29 @@ ixfr_init(dns_xfrin_ctx_t *xfr) { DNS_JOURNAL_CREATE, &xfr->ixfr.journal)); result = ISC_R_SUCCESS; - failure: +failure: return (result); } static isc_result_t -ixfr_putdata(dns_xfrin_ctx_t *xfr, dns_diffop_t op, - dns_name_t *name, dns_ttl_t ttl, dns_rdata_t *rdata) +ixfr_putdata(dns_xfrin_ctx_t *xfr, dns_diffop_t op, dns_name_t *name, + dns_ttl_t ttl, dns_rdata_t *rdata) { - isc_result_t result; + isc_result_t result; dns_difftuple_t *tuple = NULL; if (rdata->rdclass != xfr->rdclass) - return(DNS_R_BADCLASS); + return (DNS_R_BADCLASS); if (op == DNS_DIFFOP_ADD) CHECK(dns_zone_checknames(xfr->zone, name, rdata)); - CHECK(dns_difftuple_create(xfr->diff.mctx, op, - name, ttl, rdata, &tuple)); + CHECK(dns_difftuple_create(xfr->diff.mctx, op, name, ttl, rdata, + &tuple)); dns_diff_append(&xfr->diff, &tuple); if (++xfr->difflen > 100) CHECK(ixfr_apply(xfr)); result = ISC_R_SUCCESS; - failure: +failure: return (result); } @@ -416,9 +429,10 @@ ixfr_putdata(dns_xfrin_ctx_t *xfr, dns_diffop_t op, * Apply a set of IXFR changes to the database. */ static isc_result_t -ixfr_apply(dns_xfrin_ctx_t *xfr) { +ixfr_apply(dns_xfrin_ctx_t *xfr) +{ isc_result_t result; - uint64_t records; + uint64_t records; if (xfr->ver == NULL) { CHECK(dns_db_newversion(xfr->db, &xfr->ver)); @@ -441,12 +455,13 @@ ixfr_apply(dns_xfrin_ctx_t *xfr) { dns_diff_clear(&xfr->diff); xfr->difflen = 0; result = ISC_R_SUCCESS; - failure: +failure: return (result); } static isc_result_t -ixfr_commit(dns_xfrin_ctx_t *xfr) { +ixfr_commit(dns_xfrin_ctx_t *xfr) +{ isc_result_t result; CHECK(ixfr_apply(xfr)); @@ -459,7 +474,7 @@ ixfr_commit(dns_xfrin_ctx_t *xfr) { dns_zone_markdirty(xfr->zone); } result = ISC_R_SUCCESS; - failure: +failure: return (result); } @@ -473,8 +488,7 @@ ixfr_commit(dns_xfrin_ctx_t *xfr) { * state. */ static isc_result_t -xfr_rr(dns_xfrin_ctx_t *xfr, dns_name_t *name, uint32_t ttl, - dns_rdata_t *rdata) +xfr_rr(dns_xfrin_ctx_t *xfr, dns_name_t *name, uint32_t ttl, dns_rdata_t *rdata) { isc_result_t result; @@ -484,7 +498,7 @@ xfr_rr(dns_xfrin_ctx_t *xfr, dns_name_t *name, uint32_t ttl, dns_rdatatype_ismeta(rdata->type)) FAIL(DNS_R_FORMERR); - redo: +redo: switch (xfr->state) { case XFRST_SOAQUERY: if (rdata->type != dns_rdatatype_soa) { @@ -522,9 +536,8 @@ xfr_rr(dns_xfrin_ctx_t *xfr, dns_name_t *name, uint32_t ttl, */ xfr->end_serial = dns_soa_getserial(rdata); if (xfr->reqtype == dns_rdatatype_ixfr && - ! DNS_SERIAL_GT(xfr->end_serial, xfr->ixfr.request_serial) - && !dns_zone_isforced(xfr->zone)) - { + !DNS_SERIAL_GT(xfr->end_serial, xfr->ixfr.request_serial) && + !dns_zone_isforced(xfr->zone)) { /* * This must be the single SOA record that is * sent when the current version on the master @@ -633,23 +646,22 @@ xfr_rr(dns_xfrin_ctx_t *xfr, dns_name_t *name, uint32_t ttl, ISC_UNREACHABLE(); } result = ISC_R_SUCCESS; - failure: +failure: return (result); } isc_result_t dns_xfrin_create(dns_zone_t *zone, dns_rdatatype_t xfrtype, const isc_sockaddr_t *masteraddr, - const isc_sockaddr_t *sourceaddr, - isc_dscp_t dscp, dns_tsigkey_t *tsigkey, isc_mem_t *mctx, + const isc_sockaddr_t *sourceaddr, isc_dscp_t dscp, + dns_tsigkey_t *tsigkey, isc_mem_t *mctx, isc_timermgr_t *timermgr, isc_socketmgr_t *socketmgr, - isc_task_t *task, dns_xfrindone_t done, - dns_xfrin_ctx_t **xfrp) + isc_task_t *task, dns_xfrindone_t done, dns_xfrin_ctx_t **xfrp) { - dns_name_t *zonename = dns_zone_getorigin(zone); + dns_name_t * zonename = dns_zone_getorigin(zone); dns_xfrin_ctx_t *xfr = NULL; - isc_result_t result; - dns_db_t *db = NULL; + isc_result_t result; + dns_db_t * db = NULL; REQUIRE(xfrp != NULL && *xfrp == NULL); @@ -673,11 +685,11 @@ dns_xfrin_create(dns_zone_t *zone, dns_rdatatype_t xfrtype, xfr->refcount++; *xfrp = xfr; - failure: +failure: if (db != NULL) dns_db_detach(&db); if (result != ISC_R_SUCCESS) { - char zonetext[DNS_NAME_MAXTEXT+32]; + char zonetext[DNS_NAME_MAXTEXT + 32]; dns_zone_name(zone, zonetext, sizeof(zonetext)); xfrin_log1(ISC_LOG_ERROR, zonetext, masteraddr, "zone transfer setup failed"); @@ -686,20 +698,23 @@ dns_xfrin_create(dns_zone_t *zone, dns_rdatatype_t xfrtype, } void -dns_xfrin_shutdown(dns_xfrin_ctx_t *xfr) { - if (! xfr->shuttingdown) +dns_xfrin_shutdown(dns_xfrin_ctx_t *xfr) +{ + if (!xfr->shuttingdown) xfrin_fail(xfr, ISC_R_CANCELED, "shut down"); } void -dns_xfrin_attach(dns_xfrin_ctx_t *source, dns_xfrin_ctx_t **target) { +dns_xfrin_attach(dns_xfrin_ctx_t *source, dns_xfrin_ctx_t **target) +{ REQUIRE(target != NULL && *target == NULL); source->refcount++; *target = source; } void -dns_xfrin_detach(dns_xfrin_ctx_t **xfrp) { +dns_xfrin_detach(dns_xfrin_ctx_t **xfrp) +{ dns_xfrin_ctx_t *xfr = *xfrp; *xfrp = NULL; INSIST(xfr->refcount > 0); @@ -708,20 +723,21 @@ dns_xfrin_detach(dns_xfrin_ctx_t **xfrp) { } static void -xfrin_cancelio(dns_xfrin_ctx_t *xfr) { +xfrin_cancelio(dns_xfrin_ctx_t *xfr) +{ if (xfr->connects > 0) { isc_socket_cancel(xfr->socket, xfr->task, ISC_SOCKCANCEL_CONNECT); } else if (xfr->recvs > 0) { dns_tcpmsg_cancelread(&xfr->tcpmsg); } else if (xfr->sends > 0) { - isc_socket_cancel(xfr->socket, xfr->task, - ISC_SOCKCANCEL_SEND); + isc_socket_cancel(xfr->socket, xfr->task, ISC_SOCKCANCEL_SEND); } } static void -xfrin_reset(dns_xfrin_ctx_t *xfr) { +xfrin_reset(dns_xfrin_ctx_t *xfr) +{ REQUIRE(VALID_XFRIN(xfr)); xfrin_log(xfr, ISC_LOG_INFO, "resetting"); @@ -752,12 +768,12 @@ xfrin_reset(dns_xfrin_ctx_t *xfr) { dns_db_closeversion(xfr->db, &xfr->ver, false); } - static void -xfrin_fail(dns_xfrin_ctx_t *xfr, isc_result_t result, const char *msg) { +xfrin_fail(dns_xfrin_ctx_t *xfr, isc_result_t result, const char *msg) +{ if (result != DNS_R_UPTODATE && result != DNS_R_TOOMANYRECORDS) { - xfrin_log(xfr, ISC_LOG_ERROR, "%s: %s", - msg, isc_result_totext(result)); + xfrin_log(xfr, ISC_LOG_ERROR, "%s: %s", msg, + isc_result_totext(result)); if (xfr->is_ixfr) /* Pass special result code to force AXFR retry */ result = DNS_R_BADIXFR; @@ -778,23 +794,15 @@ xfrin_fail(dns_xfrin_ctx_t *xfr, isc_result_t result, const char *msg) { } static isc_result_t -xfrin_create(isc_mem_t *mctx, - dns_zone_t *zone, - dns_db_t *db, - isc_task_t *task, - isc_timermgr_t *timermgr, - isc_socketmgr_t *socketmgr, - dns_name_t *zonename, - dns_rdataclass_t rdclass, - dns_rdatatype_t reqtype, - const isc_sockaddr_t *masteraddr, - const isc_sockaddr_t *sourceaddr, - isc_dscp_t dscp, - dns_tsigkey_t *tsigkey, - dns_xfrin_ctx_t **xfrp) +xfrin_create(isc_mem_t *mctx, dns_zone_t *zone, dns_db_t *db, isc_task_t *task, + isc_timermgr_t *timermgr, isc_socketmgr_t *socketmgr, + dns_name_t *zonename, dns_rdataclass_t rdclass, + dns_rdatatype_t reqtype, const isc_sockaddr_t *masteraddr, + const isc_sockaddr_t *sourceaddr, isc_dscp_t dscp, + dns_tsigkey_t *tsigkey, dns_xfrin_ctx_t **xfrp) { dns_xfrin_ctx_t *xfr = NULL; - isc_result_t result; + isc_result_t result; xfr = isc_mem_get(mctx, sizeof(*xfr)); xfr->mctx = NULL; @@ -817,7 +825,7 @@ xfrin_create(isc_mem_t *mctx, dns_name_init(&xfr->name, NULL); xfr->rdclass = rdclass; xfr->checkid = true; - xfr->id = (dns_messageid_t)isc_random16(); + xfr->id = (dns_messageid_t)isc_random16(); xfr->reqtype = reqtype; xfr->dscp = dscp; @@ -867,10 +875,8 @@ xfrin_create(isc_mem_t *mctx, CHECK(isc_timer_create(timermgr, isc_timertype_inactive, NULL, NULL, task, xfrin_timeout, xfr, &xfr->timer)); - CHECK(dns_timer_setidle(xfr->timer, - dns_zone_getmaxxfrin(xfr->zone), - dns_zone_getidlein(xfr->zone), - false)); + CHECK(dns_timer_setidle(xfr->timer, dns_zone_getmaxxfrin(xfr->zone), + dns_zone_getidlein(xfr->zone), false)); xfr->masteraddr = *masteraddr; @@ -888,7 +894,7 @@ xfrin_create(isc_mem_t *mctx, *xfrp = xfr; return (ISC_R_SUCCESS); - failure: +failure: if (xfr->timer != NULL) isc_timer_detach(&xfr->timer); if (dns_name_dynamic(&xfr->name)) @@ -905,12 +911,12 @@ xfrin_create(isc_mem_t *mctx, } static isc_result_t -xfrin_start(dns_xfrin_ctx_t *xfr) { +xfrin_start(dns_xfrin_ctx_t *xfr) +{ isc_result_t result; CHECK(isc_socket_create(xfr->socketmgr, isc_sockaddr_pf(&xfr->sourceaddr), - isc_sockettype_tcp, - &xfr->socket)); + isc_sockettype_tcp, &xfr->socket)); isc_socket_setname(xfr->socket, "xfrin", NULL); #ifndef BROKEN_TCP_BIND_BEFORE_CONNECT CHECK(isc_socket_bind(xfr->socket, &xfr->sourceaddr, @@ -921,7 +927,7 @@ xfrin_start(dns_xfrin_ctx_t *xfr) { xfrin_connect_done, xfr)); xfr->connects++; return (ISC_R_SUCCESS); - failure: +failure: xfrin_fail(xfr, result, "failed setting up socket"); return (result); } @@ -929,10 +935,11 @@ xfrin_start(dns_xfrin_ctx_t *xfr) { /* XXX the resolver could use this, too */ static isc_result_t -render(dns_message_t *msg, isc_mem_t *mctx, isc_buffer_t *buf) { +render(dns_message_t *msg, isc_mem_t *mctx, isc_buffer_t *buf) +{ dns_compress_t cctx; - bool cleanup_cctx = false; - isc_result_t result; + bool cleanup_cctx = false; + isc_result_t result; CHECK(dns_compress_init(&cctx, -1, mctx)); cleanup_cctx = true; @@ -943,7 +950,7 @@ render(dns_message_t *msg, isc_mem_t *mctx, isc_buffer_t *buf) { CHECK(dns_message_rendersection(msg, DNS_SECTION_ADDITIONAL, 0)); CHECK(dns_message_renderend(msg)); result = ISC_R_SUCCESS; - failure: +failure: if (cleanup_cctx) dns_compress_invalidate(&cctx); return (result); @@ -953,16 +960,17 @@ render(dns_message_t *msg, isc_mem_t *mctx, isc_buffer_t *buf) { * A connection has been established. */ static void -xfrin_connect_done(isc_task_t *task, isc_event_t *event) { - isc_socket_connev_t *cev = (isc_socket_connev_t *) event; - dns_xfrin_ctx_t *xfr = (dns_xfrin_ctx_t *) event->ev_arg; - isc_result_t result = cev->result; - char sourcetext[ISC_SOCKADDR_FORMATSIZE]; - char signerbuf[DNS_NAME_FORMATSIZE]; - const char *signer = "", *sep = ""; - isc_sockaddr_t sockaddr; - dns_zonemgr_t * zmgr; - isc_time_t now; +xfrin_connect_done(isc_task_t *task, isc_event_t *event) +{ + isc_socket_connev_t *cev = (isc_socket_connev_t *)event; + dns_xfrin_ctx_t * xfr = (dns_xfrin_ctx_t *)event->ev_arg; + isc_result_t result = cev->result; + char sourcetext[ISC_SOCKADDR_FORMATSIZE]; + char signerbuf[DNS_NAME_FORMATSIZE]; + const char * signer = "", *sep = ""; + isc_sockaddr_t sockaddr; + dns_zonemgr_t * zmgr; + isc_time_t now; REQUIRE(VALID_XFRIN(xfr)); @@ -997,20 +1005,20 @@ xfrin_connect_done(isc_task_t *task, isc_event_t *event) { } if (xfr->tsigkey != NULL && xfr->tsigkey->key != NULL) { - dns_name_format(dst_key_name(xfr->tsigkey->key), - signerbuf, sizeof(signerbuf)); + dns_name_format(dst_key_name(xfr->tsigkey->key), signerbuf, + sizeof(signerbuf)); sep = " TSIG "; signer = signerbuf; } - xfrin_log(xfr, ISC_LOG_INFO, "connected using %s%s%s", - sourcetext, sep, signer); + xfrin_log(xfr, ISC_LOG_INFO, "connected using %s%s%s", sourcetext, sep, + signer); dns_tcpmsg_init(xfr->mctx, xfr->socket, &xfr->tcpmsg); xfr->tcpmsg_valid = true; CHECK(xfrin_send_request(xfr)); - failure: +failure: if (result != ISC_R_SUCCESS) xfrin_fail(xfr, result, "failed to connect"); } @@ -1022,11 +1030,11 @@ xfrin_connect_done(isc_task_t *task, isc_event_t *event) { static isc_result_t tuple2msgname(dns_difftuple_t *tuple, dns_message_t *msg, dns_name_t **target) { - isc_result_t result; - dns_rdata_t *rdata = NULL; + isc_result_t result; + dns_rdata_t * rdata = NULL; dns_rdatalist_t *rdl = NULL; - dns_rdataset_t *rds = NULL; - dns_name_t *name = NULL; + dns_rdataset_t * rds = NULL; + dns_name_t * name = NULL; REQUIRE(target != NULL && *target == NULL); @@ -1052,7 +1060,7 @@ tuple2msgname(dns_difftuple_t *tuple, dns_message_t *msg, dns_name_t **target) *target = name; return (ISC_R_SUCCESS); - failure: +failure: if (rds != NULL) { dns_rdataset_disassociate(rds); @@ -1068,20 +1076,20 @@ tuple2msgname(dns_difftuple_t *tuple, dns_message_t *msg, dns_name_t **target) return (result); } - /* * Build an *XFR request and send its length prefix. */ static isc_result_t -xfrin_send_request(dns_xfrin_ctx_t *xfr) { - isc_result_t result; - isc_region_t region; - dns_rdataset_t *qrdataset = NULL; - dns_message_t *msg = NULL; +xfrin_send_request(dns_xfrin_ctx_t *xfr) +{ + isc_result_t result; + isc_region_t region; + dns_rdataset_t * qrdataset = NULL; + dns_message_t * msg = NULL; dns_difftuple_t *soatuple = NULL; - dns_name_t *qname = NULL; + dns_name_t * qname = NULL; dns_dbversion_t *ver = NULL; - dns_name_t *msgsoaname = NULL; + dns_name_t * msgsoaname = NULL; /* Create the request message */ CHECK(dns_message_create(xfr->mctx, DNS_MESSAGE_INTENTRENDER, &msg)); @@ -1153,11 +1161,11 @@ xfrin_send_request(dns_xfrin_ctx_t *xfr) { xfr->qbuffer_data[1] = region.length & 0xff; region.base -= 2; region.length += 2; - CHECK(isc_socket_send(xfr->socket, ®ion, xfr->task, - xfrin_send_done, xfr)); + CHECK(isc_socket_send(xfr->socket, ®ion, xfr->task, xfrin_send_done, + xfr)); xfr->sends++; - failure: +failure: if (qname != NULL) dns_message_puttempname(msg, &qname); if (qrdataset != NULL) @@ -1172,10 +1180,11 @@ xfrin_send_request(dns_xfrin_ctx_t *xfr) { } static void -xfrin_send_done(isc_task_t *task, isc_event_t *event) { - isc_socketevent_t *sev = (isc_socketevent_t *) event; - dns_xfrin_ctx_t *xfr = (dns_xfrin_ctx_t *) event->ev_arg; - isc_result_t result; +xfrin_send_done(isc_task_t *task, isc_event_t *event) +{ + isc_socketevent_t *sev = (isc_socketevent_t *)event; + dns_xfrin_ctx_t * xfr = (dns_xfrin_ctx_t *)event->ev_arg; + isc_result_t result; REQUIRE(VALID_XFRIN(xfr)); @@ -1187,23 +1196,23 @@ xfrin_send_done(isc_task_t *task, isc_event_t *event) { xfrin_log(xfr, ISC_LOG_DEBUG(3), "sent request data"); CHECK(sev->result); - CHECK(dns_tcpmsg_readmessage(&xfr->tcpmsg, xfr->task, - xfrin_recv_done, xfr)); + CHECK(dns_tcpmsg_readmessage(&xfr->tcpmsg, xfr->task, xfrin_recv_done, + xfr)); xfr->recvs++; - failure: +failure: isc_event_free(&event); if (result != ISC_R_SUCCESS) xfrin_fail(xfr, result, "failed sending request data"); } - static void -xfrin_recv_done(isc_task_t *task, isc_event_t *ev) { - dns_xfrin_ctx_t *xfr = (dns_xfrin_ctx_t *) ev->ev_arg; - isc_result_t result; - dns_message_t *msg = NULL; - dns_name_t *name; - dns_tcpmsg_t *tcpmsg; +xfrin_recv_done(isc_task_t *task, isc_event_t *ev) +{ + dns_xfrin_ctx_t * xfr = (dns_xfrin_ctx_t *)ev->ev_arg; + isc_result_t result; + dns_message_t * msg = NULL; + dns_name_t * name; + dns_tcpmsg_t * tcpmsg; const dns_name_t *tsigowner = NULL; REQUIRE(VALID_XFRIN(xfr)); @@ -1245,16 +1254,15 @@ xfrin_recv_done(isc_task_t *task, isc_event_t *ev) { if (result == ISC_R_SUCCESS) dns_message_logpacket(msg, "received message from", - &tcpmsg->address, - DNS_LOGCATEGORY_XFER_IN, - DNS_LOGMODULE_XFER_IN, - ISC_LOG_DEBUG(10), xfr->mctx); + &tcpmsg->address, DNS_LOGCATEGORY_XFER_IN, + DNS_LOGMODULE_XFER_IN, ISC_LOG_DEBUG(10), + xfr->mctx); else xfrin_log(xfr, ISC_LOG_DEBUG(10), "dns_message_parse: %s", dns_result_totext(result)); if (result != ISC_R_SUCCESS || msg->rcode != dns_rcode_noerror || - msg->opcode != dns_opcode_query ||msg->rdclass != xfr->rdclass || + msg->opcode != dns_opcode_query || msg->rdclass != xfr->rdclass || (xfr->checkid && msg->id != xfr->id)) { if (result == ISC_R_SUCCESS && msg->rcode != dns_rcode_noerror) result = ISC_RESULTCLASS_DNSRCODE + msg->rcode; /*XXX*/ @@ -1270,8 +1278,8 @@ xfrin_recv_done(isc_task_t *task, isc_event_t *ev) { xfr->reqtype == dns_rdatatype_soa) goto failure; xfrin_log(xfr, ISC_LOG_DEBUG(3), "got %s, retrying with AXFR", - isc_result_totext(result)); - try_axfr: + isc_result_totext(result)); + try_axfr: dns_message_destroy(&msg); xfrin_reset(xfr); xfr->reqtype = dns_rdatatype_soa; @@ -1299,30 +1307,25 @@ xfrin_recv_done(isc_task_t *task, isc_event_t *ev) { FAIL(DNS_R_NOTAUTHORITATIVE); } - result = dns_message_checksig(msg, dns_zone_getview(xfr->zone)); if (result != ISC_R_SUCCESS) { xfrin_log(xfr, ISC_LOG_DEBUG(3), "TSIG check failed: %s", - isc_result_totext(result)); + isc_result_totext(result)); goto failure; } for (result = dns_message_firstname(msg, DNS_SECTION_ANSWER); result == ISC_R_SUCCESS; - result = dns_message_nextname(msg, DNS_SECTION_ANSWER)) - { + result = dns_message_nextname(msg, DNS_SECTION_ANSWER)) { dns_rdataset_t *rds; name = NULL; dns_message_currentname(msg, DNS_SECTION_ANSWER, &name); - for (rds = ISC_LIST_HEAD(name->list); - rds != NULL; - rds = ISC_LIST_NEXT(rds, link)) - { + for (rds = ISC_LIST_HEAD(name->list); rds != NULL; + rds = ISC_LIST_NEXT(rds, link)) { for (result = dns_rdataset_first(rds); result == ISC_R_SUCCESS; - result = dns_rdataset_next(rds)) - { + result = dns_rdataset_next(rds)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(rds, &rdata); CHECK(xfr_rr(xfr, name, rds->ttl, &rdata)); @@ -1347,15 +1350,13 @@ xfrin_recv_done(isc_task_t *task, isc_event_t *ev) { /* * Update the last tsig pointer. */ - CHECK(dns_message_getquerytsig(msg, xfr->mctx, - &xfr->lasttsig)); + CHECK(dns_message_getquerytsig(msg, xfr->mctx, &xfr->lasttsig)); } else if (dns_message_gettsigkey(msg) != NULL) { xfr->sincetsig++; if (xfr->sincetsig > 100 || xfr->nmsg == 0 || xfr->state == XFRST_AXFR_END || - xfr->state == XFRST_IXFR_END) - { + xfr->state == XFRST_IXFR_END) { result = DNS_R_EXPECTEDTSIG; goto failure; } @@ -1421,7 +1422,7 @@ xfrin_recv_done(isc_task_t *task, isc_event_t *ev) { } return; - failure: +failure: if (msg != NULL) dns_message_destroy(&msg); if (result != ISC_R_SUCCESS) @@ -1429,8 +1430,9 @@ xfrin_recv_done(isc_task_t *task, isc_event_t *ev) { } static void -xfrin_timeout(isc_task_t *task, isc_event_t *event) { - dns_xfrin_ctx_t *xfr = (dns_xfrin_ctx_t *) event->ev_arg; +xfrin_timeout(isc_task_t *task, isc_event_t *event) +{ + dns_xfrin_ctx_t *xfr = (dns_xfrin_ctx_t *)event->ev_arg; REQUIRE(VALID_XFRIN(xfr)); @@ -1444,26 +1446,27 @@ xfrin_timeout(isc_task_t *task, isc_event_t *event) { } static void -maybe_free(dns_xfrin_ctx_t *xfr) { - uint64_t msecs; - uint64_t persec; +maybe_free(dns_xfrin_ctx_t *xfr) +{ + uint64_t msecs; + uint64_t persec; const char *result_str; REQUIRE(VALID_XFRIN(xfr)); - if (! xfr->shuttingdown || xfr->refcount != 0 || - xfr->connects != 0 || xfr->sends != 0 || - xfr->recvs != 0) + if (!xfr->shuttingdown || xfr->refcount != 0 || xfr->connects != 0 || + xfr->sends != 0 || xfr->recvs != 0) return; - INSIST(! xfr->shuttingdown || xfr->shutdown_result != ISC_R_UNSET); + INSIST(!xfr->shuttingdown || xfr->shutdown_result != ISC_R_UNSET); /* If we're called through dns_xfrin_detach() and are not * shutting down, we can't know what the transfer status is as * we are only called when the last reference is lost. */ - result_str = (xfr->shuttingdown ? - isc_result_totext(xfr->shutdown_result) : "unknown"); + result_str = (xfr->shuttingdown + ? isc_result_totext(xfr->shutdown_result) + : "unknown"); xfrin_log(xfr, ISC_LOG_INFO, "Transfer status: %s", result_str); /* @@ -1480,8 +1483,8 @@ maybe_free(dns_xfrin_ctx_t *xfr) { "%" PRIu64 " bytes, " "%u.%03u secs (%u bytes/sec)", xfr->nmsg, xfr->nrecs, xfr->nbytes, - (unsigned int) (msecs / 1000), (unsigned int) (msecs % 1000), - (unsigned int) persec); + (unsigned int)(msecs / 1000), (unsigned int)(msecs % 1000), + (unsigned int)persec); if (xfr->socket != NULL) isc_socket_detach(&xfr->socket); @@ -1522,11 +1525,9 @@ maybe_free(dns_xfrin_ctx_t *xfr) { dns_db_detach(&xfr->db); if (xfr->zone != NULL) { - if (!xfr->zone_had_db && - xfr->shuttingdown && + if (!xfr->zone_had_db && xfr->shuttingdown && xfr->shutdown_result == ISC_R_SUCCESS && - dns_zone_gettype(xfr->zone) == dns_zone_mirror) - { + dns_zone_gettype(xfr->zone) == dns_zone_mirror) { dns_zone_log(xfr->zone, ISC_LOG_INFO, "mirror zone is now in use"); } @@ -1554,10 +1555,9 @@ xfrin_logv(int level, const char *zonetext, const isc_sockaddr_t *masteraddr, isc_sockaddr_format(masteraddr, mastertext, sizeof(mastertext)); vsnprintf(msgtext, sizeof(msgtext), fmt, ap); - isc_log_write(dns_lctx, DNS_LOGCATEGORY_XFER_IN, - DNS_LOGMODULE_XFER_IN, level, - "transfer of '%s' from %s: %s", - zonetext, mastertext, msgtext); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_XFER_IN, DNS_LOGMODULE_XFER_IN, + level, "transfer of '%s' from %s: %s", zonetext, + mastertext, msgtext); } /* @@ -1586,7 +1586,7 @@ static void xfrin_log(dns_xfrin_ctx_t *xfr, int level, const char *fmt, ...) { va_list ap; - char zonetext[DNS_NAME_MAXTEXT+32]; + char zonetext[DNS_NAME_MAXTEXT + 32]; if (isc_log_wouldlog(dns_lctx, level) == false) return; diff --git a/lib/dns/zone.c b/lib/dns/zone.c index d06e3c19d4..b66217b119 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -83,38 +83,37 @@ #include #include -#include - #include "zone_p.h" -#define ZONE_MAGIC ISC_MAGIC('Z', 'O', 'N', 'E') -#define DNS_ZONE_VALID(zone) ISC_MAGIC_VALID(zone, ZONE_MAGIC) +#include -#define NOTIFY_MAGIC ISC_MAGIC('N', 't', 'f', 'y') -#define DNS_NOTIFY_VALID(notify) ISC_MAGIC_VALID(notify, NOTIFY_MAGIC) +#define ZONE_MAGIC ISC_MAGIC('Z', 'O', 'N', 'E') +#define DNS_ZONE_VALID(zone) ISC_MAGIC_VALID(zone, ZONE_MAGIC) -#define STUB_MAGIC ISC_MAGIC('S', 't', 'u', 'b') -#define DNS_STUB_VALID(stub) ISC_MAGIC_VALID(stub, STUB_MAGIC) +#define NOTIFY_MAGIC ISC_MAGIC('N', 't', 'f', 'y') +#define DNS_NOTIFY_VALID(notify) ISC_MAGIC_VALID(notify, NOTIFY_MAGIC) -#define ZONEMGR_MAGIC ISC_MAGIC('Z', 'm', 'g', 'r') -#define DNS_ZONEMGR_VALID(stub) ISC_MAGIC_VALID(stub, ZONEMGR_MAGIC) +#define STUB_MAGIC ISC_MAGIC('S', 't', 'u', 'b') +#define DNS_STUB_VALID(stub) ISC_MAGIC_VALID(stub, STUB_MAGIC) -#define LOAD_MAGIC ISC_MAGIC('L', 'o', 'a', 'd') -#define DNS_LOAD_VALID(load) ISC_MAGIC_VALID(load, LOAD_MAGIC) +#define ZONEMGR_MAGIC ISC_MAGIC('Z', 'm', 'g', 'r') +#define DNS_ZONEMGR_VALID(stub) ISC_MAGIC_VALID(stub, ZONEMGR_MAGIC) -#define FORWARD_MAGIC ISC_MAGIC('F', 'o', 'r', 'w') -#define DNS_FORWARD_VALID(load) ISC_MAGIC_VALID(load, FORWARD_MAGIC) +#define LOAD_MAGIC ISC_MAGIC('L', 'o', 'a', 'd') +#define DNS_LOAD_VALID(load) ISC_MAGIC_VALID(load, LOAD_MAGIC) -#define IO_MAGIC ISC_MAGIC('Z', 'm', 'I', 'O') -#define DNS_IO_VALID(load) ISC_MAGIC_VALID(load, IO_MAGIC) +#define FORWARD_MAGIC ISC_MAGIC('F', 'o', 'r', 'w') +#define DNS_FORWARD_VALID(load) ISC_MAGIC_VALID(load, FORWARD_MAGIC) + +#define IO_MAGIC ISC_MAGIC('Z', 'm', 'I', 'O') +#define DNS_IO_VALID(load) ISC_MAGIC_VALID(load, IO_MAGIC) /*% * Ensure 'a' is at least 'min' but not more than 'max'. */ -#define RANGE(a, min, max) \ - (((a) < (min)) ? (min) : ((a) < (max) ? (a) : (max))) +#define RANGE(a, min, max) (((a) < (min)) ? (min) : ((a) < (max) ? (a) : (max))) -#define NSEC3REMOVE(x) (((x) & DNS_NSEC3FLAG_REMOVE) != 0) +#define NSEC3REMOVE(x) (((x)&DNS_NSEC3FLAG_REMOVE) != 0) /*% * Key flags @@ -126,22 +125,22 @@ /* * Default values. */ -#define DNS_DEFAULT_IDLEIN 3600 /*%< 1 hour */ -#define DNS_DEFAULT_IDLEOUT 3600 /*%< 1 hour */ -#define MAX_XFER_TIME (2*3600) /*%< Documented default is 2 hours */ -#define RESIGN_DELAY 3600 /*%< 1 hour */ +#define DNS_DEFAULT_IDLEIN 3600 /*%< 1 hour */ +#define DNS_DEFAULT_IDLEOUT 3600 /*%< 1 hour */ +#define MAX_XFER_TIME (2 * 3600) /*%< Documented default is 2 hours */ +#define RESIGN_DELAY 3600 /*%< 1 hour */ #ifndef DNS_MAX_EXPIRE -#define DNS_MAX_EXPIRE 14515200 /*%< 24 weeks */ +#define DNS_MAX_EXPIRE 14515200 /*%< 24 weeks */ #endif #ifndef DNS_DUMP_DELAY -#define DNS_DUMP_DELAY 900 /*%< 15 minutes */ +#define DNS_DUMP_DELAY 900 /*%< 15 minutes */ #endif -typedef struct dns_notify dns_notify_t; -typedef struct dns_stub dns_stub_t; -typedef struct dns_load dns_load_t; +typedef struct dns_notify dns_notify_t; +typedef struct dns_stub dns_stub_t; +typedef struct dns_load dns_load_t; typedef struct dns_forward dns_forward_t; typedef ISC_LIST(dns_forward_t) dns_forwardlist_t; typedef struct dns_io dns_io_t; @@ -150,40 +149,46 @@ typedef struct dns_signing dns_signing_t; typedef ISC_LIST(dns_signing_t) dns_signinglist_t; typedef struct dns_nsec3chain dns_nsec3chain_t; typedef ISC_LIST(dns_nsec3chain_t) dns_nsec3chainlist_t; -typedef struct dns_keyfetch dns_keyfetch_t; +typedef struct dns_keyfetch dns_keyfetch_t; typedef struct dns_asyncload dns_asyncload_t; -typedef struct dns_include dns_include_t; +typedef struct dns_include dns_include_t; #define DNS_ZONE_CHECKLOCK #ifdef DNS_ZONE_CHECKLOCK -#define LOCK_ZONE(z) \ - do { LOCK(&(z)->lock); \ - INSIST((z)->locked == false); \ - (z)->locked = true; \ - } while (0) -#define UNLOCK_ZONE(z) \ - do { (z)->locked = false; UNLOCK(&(z)->lock); } while (0) +#define LOCK_ZONE(z) \ + do { \ + LOCK(&(z)->lock); \ + INSIST((z)->locked == false); \ + (z)->locked = true; \ + } while (0) +#define UNLOCK_ZONE(z) \ + do { \ + (z)->locked = false; \ + UNLOCK(&(z)->lock); \ + } while (0) #define LOCKED_ZONE(z) ((z)->locked) -#define TRYLOCK_ZONE(result, z) \ - do { \ - result = isc_mutex_trylock(&(z)->lock); \ - if (result == ISC_R_SUCCESS) { \ - INSIST((z)->locked == false); \ - (z)->locked = true; \ - } \ +#define TRYLOCK_ZONE(result, z) \ + do { \ + result = isc_mutex_trylock(&(z)->lock); \ + if (result == ISC_R_SUCCESS) { \ + INSIST((z)->locked == false); \ + (z)->locked = true; \ + } \ } while (0) #else #define LOCK_ZONE(z) LOCK(&(z)->lock) #define UNLOCK_ZONE(z) UNLOCK(&(z)->lock) #define LOCKED_ZONE(z) true -#define TRYLOCK_ZONE(result, z) \ - do { result = isc_mutex_trylock(&(z)->lock); } while (0) +#define TRYLOCK_ZONE(result, z) \ + do { \ + result = isc_mutex_trylock(&(z)->lock); \ + } while (0) #endif -#define ZONEDB_INITLOCK(l) isc_rwlock_init((l), 0, 0) -#define ZONEDB_DESTROYLOCK(l) isc_rwlock_destroy(l) -#define ZONEDB_LOCK(l, t) RWLOCK((l), (t)) -#define ZONEDB_UNLOCK(l, t) RWUNLOCK((l), (t)) +#define ZONEDB_INITLOCK(l) isc_rwlock_init((l), 0, 0) +#define ZONEDB_DESTROYLOCK(l) isc_rwlock_destroy(l) +#define ZONEDB_LOCK(l, t) RWLOCK((l), (t)) +#define ZONEDB_UNLOCK(l, t) RWUNLOCK((l), (t)) #ifdef ENABLE_AFL extern bool dns_fuzzing_resolver; @@ -191,125 +196,125 @@ extern bool dns_fuzzing_resolver; struct dns_zone { /* Unlocked */ - unsigned int magic; - isc_mutex_t lock; + unsigned int magic; + isc_mutex_t lock; #ifdef DNS_ZONE_CHECKLOCK - bool locked; + bool locked; #endif - isc_mem_t *mctx; - isc_refcount_t erefs; + isc_mem_t * mctx; + isc_refcount_t erefs; - isc_rwlock_t dblock; - dns_db_t *db; /* Locked by dblock */ + isc_rwlock_t dblock; + dns_db_t * db; /* Locked by dblock */ /* Locked */ - dns_zonemgr_t *zmgr; - ISC_LINK(dns_zone_t) link; /* Used by zmgr. */ - isc_timer_t *timer; - isc_refcount_t irefs; - dns_name_t origin; - char *masterfile; - ISC_LIST(dns_include_t) includes; /* Include files */ - ISC_LIST(dns_include_t) newincludes; /* Loading */ - unsigned int nincludes; - dns_masterformat_t masterformat; + dns_zonemgr_t *zmgr; + ISC_LINK(dns_zone_t) link; /* Used by zmgr. */ + isc_timer_t * timer; + isc_refcount_t irefs; + dns_name_t origin; + char * masterfile; + ISC_LIST(dns_include_t) includes; /* Include files */ + ISC_LIST(dns_include_t) newincludes; /* Loading */ + unsigned int nincludes; + dns_masterformat_t masterformat; const dns_master_style_t *masterstyle; - char *journal; - int32_t journalsize; - dns_rdataclass_t rdclass; - dns_zonetype_t type; - atomic_uint_fast64_t flags; - atomic_uint_fast64_t options; - unsigned int db_argc; - char **db_argv; - isc_time_t expiretime; - isc_time_t refreshtime; - isc_time_t dumptime; - isc_time_t loadtime; - isc_time_t notifytime; - isc_time_t resigntime; - isc_time_t keywarntime; - isc_time_t signingtime; - isc_time_t nsec3chaintime; - isc_time_t refreshkeytime; - uint32_t refreshkeyinterval; - uint32_t refreshkeycount; - uint32_t refresh; - uint32_t retry; - uint32_t expire; - uint32_t minimum; - isc_stdtime_t key_expiry; - isc_stdtime_t log_key_expired_timer; - char *keydirectory; + char * journal; + int32_t journalsize; + dns_rdataclass_t rdclass; + dns_zonetype_t type; + atomic_uint_fast64_t flags; + atomic_uint_fast64_t options; + unsigned int db_argc; + char ** db_argv; + isc_time_t expiretime; + isc_time_t refreshtime; + isc_time_t dumptime; + isc_time_t loadtime; + isc_time_t notifytime; + isc_time_t resigntime; + isc_time_t keywarntime; + isc_time_t signingtime; + isc_time_t nsec3chaintime; + isc_time_t refreshkeytime; + uint32_t refreshkeyinterval; + uint32_t refreshkeycount; + uint32_t refresh; + uint32_t retry; + uint32_t expire; + uint32_t minimum; + isc_stdtime_t key_expiry; + isc_stdtime_t log_key_expired_timer; + char * keydirectory; - uint32_t maxrefresh; - uint32_t minrefresh; - uint32_t maxretry; - uint32_t minretry; + uint32_t maxrefresh; + uint32_t minrefresh; + uint32_t maxretry; + uint32_t minretry; - uint32_t maxrecords; + uint32_t maxrecords; - isc_sockaddr_t *masters; - isc_dscp_t *masterdscps; - dns_name_t **masterkeynames; - bool *mastersok; - unsigned int masterscnt; - unsigned int curmaster; - isc_sockaddr_t masteraddr; - dns_notifytype_t notifytype; - isc_sockaddr_t *notify; - dns_name_t **notifykeynames; - isc_dscp_t *notifydscp; - unsigned int notifycnt; - isc_sockaddr_t notifyfrom; - isc_task_t *task; - isc_task_t *loadtask; - isc_sockaddr_t notifysrc4; - isc_sockaddr_t notifysrc6; - isc_sockaddr_t xfrsource4; - isc_sockaddr_t xfrsource6; - isc_sockaddr_t altxfrsource4; - isc_sockaddr_t altxfrsource6; - isc_sockaddr_t sourceaddr; - isc_dscp_t notifysrc4dscp; - isc_dscp_t notifysrc6dscp; - isc_dscp_t xfrsource4dscp; - isc_dscp_t xfrsource6dscp; - isc_dscp_t altxfrsource4dscp; - isc_dscp_t altxfrsource6dscp; - dns_xfrin_ctx_t *xfr; /* task locked */ - dns_tsigkey_t *tsigkey; /* key used for xfr */ + isc_sockaddr_t * masters; + isc_dscp_t * masterdscps; + dns_name_t ** masterkeynames; + bool * mastersok; + unsigned int masterscnt; + unsigned int curmaster; + isc_sockaddr_t masteraddr; + dns_notifytype_t notifytype; + isc_sockaddr_t * notify; + dns_name_t ** notifykeynames; + isc_dscp_t * notifydscp; + unsigned int notifycnt; + isc_sockaddr_t notifyfrom; + isc_task_t * task; + isc_task_t * loadtask; + isc_sockaddr_t notifysrc4; + isc_sockaddr_t notifysrc6; + isc_sockaddr_t xfrsource4; + isc_sockaddr_t xfrsource6; + isc_sockaddr_t altxfrsource4; + isc_sockaddr_t altxfrsource6; + isc_sockaddr_t sourceaddr; + isc_dscp_t notifysrc4dscp; + isc_dscp_t notifysrc6dscp; + isc_dscp_t xfrsource4dscp; + isc_dscp_t xfrsource6dscp; + isc_dscp_t altxfrsource4dscp; + isc_dscp_t altxfrsource6dscp; + dns_xfrin_ctx_t *xfr; /* task locked */ + dns_tsigkey_t * tsigkey; /* key used for xfr */ /* Access Control Lists */ - dns_acl_t *update_acl; - dns_acl_t *forward_acl; - dns_acl_t *notify_acl; - dns_acl_t *query_acl; - dns_acl_t *queryon_acl; - dns_acl_t *xfr_acl; - bool update_disabled; - bool zero_no_soa_ttl; - dns_severity_t check_names; - ISC_LIST(dns_notify_t) notifies; - dns_request_t *request; - dns_loadctx_t *lctx; - dns_io_t *readio; - dns_dumpctx_t *dctx; - dns_io_t *writeio; - uint32_t maxxfrin; - uint32_t maxxfrout; - uint32_t idlein; - uint32_t idleout; - isc_event_t ctlevent; - dns_ssutable_t *ssutable; - uint32_t sigvalidityinterval; - uint32_t keyvalidityinterval; - uint32_t sigresigninginterval; - dns_view_t *view; - dns_view_t *prev_view; - dns_kasp_t *kasp; - dns_checkmxfunc_t checkmx; - dns_checksrvfunc_t checksrv; - dns_checknsfunc_t checkns; + dns_acl_t * update_acl; + dns_acl_t * forward_acl; + dns_acl_t * notify_acl; + dns_acl_t * query_acl; + dns_acl_t * queryon_acl; + dns_acl_t * xfr_acl; + bool update_disabled; + bool zero_no_soa_ttl; + dns_severity_t check_names; + ISC_LIST(dns_notify_t) notifies; + dns_request_t * request; + dns_loadctx_t * lctx; + dns_io_t * readio; + dns_dumpctx_t * dctx; + dns_io_t * writeio; + uint32_t maxxfrin; + uint32_t maxxfrout; + uint32_t idlein; + uint32_t idleout; + isc_event_t ctlevent; + dns_ssutable_t * ssutable; + uint32_t sigvalidityinterval; + uint32_t keyvalidityinterval; + uint32_t sigresigninginterval; + dns_view_t * view; + dns_view_t * prev_view; + dns_kasp_t * kasp; + dns_checkmxfunc_t checkmx; + dns_checksrvfunc_t checksrv; + dns_checknsfunc_t checkns; /*% * Zones in certain states such as "waiting for zone transfer" * or "zone transfer in progress" are kept on per-state linked lists @@ -317,279 +322,283 @@ struct dns_zone { * field points at the list the zone is currently on. It the zone * is not on any such list, statelist is NULL. */ - ISC_LINK(dns_zone_t) statelink; - dns_zonelist_t *statelist; + ISC_LINK(dns_zone_t) statelink; + dns_zonelist_t *statelist; /*% * Statistics counters about zone management. */ - isc_stats_t *stats; + isc_stats_t *stats; /*% * Optional per-zone statistics counters. Counted outside of this * module. */ - dns_zonestat_level_t statlevel; - bool requeststats_on; - isc_stats_t *requeststats; - dns_stats_t *rcvquerystats; - dns_stats_t *dnssecsignstats; - dns_stats_t *dnssecrefreshstats; - uint32_t notifydelay; - dns_isselffunc_t isself; - void *isselfarg; + dns_zonestat_level_t statlevel; + bool requeststats_on; + isc_stats_t * requeststats; + dns_stats_t * rcvquerystats; + dns_stats_t * dnssecsignstats; + dns_stats_t * dnssecrefreshstats; + uint32_t notifydelay; + dns_isselffunc_t isself; + void * isselfarg; - char * strnamerd; - char * strname; - char * strrdclass; - char * strviewname; + char *strnamerd; + char *strname; + char *strrdclass; + char *strviewname; /*% * Serial number for deferred journal compaction. */ - uint32_t compact_serial; + uint32_t compact_serial; /*% * Keys that are signing the zone for the first time. */ - dns_signinglist_t signing; - dns_nsec3chainlist_t nsec3chain; + dns_signinglist_t signing; + dns_nsec3chainlist_t nsec3chain; /*% * List of outstanding NSEC3PARAM change requests. */ - isc_eventlist_t setnsec3param_queue; + isc_eventlist_t setnsec3param_queue; /*% * Signing / re-signing quantum stopping parameters. */ - uint32_t signatures; - uint32_t nodes; - dns_rdatatype_t privatetype; + uint32_t signatures; + uint32_t nodes; + dns_rdatatype_t privatetype; /*% * Autosigning/key-maintenance options */ - atomic_uint_fast64_t keyopts; + atomic_uint_fast64_t keyopts; /*% * True if added by "rndc addzone" */ - bool added; + bool added; /*% * True if added by automatically by named. */ - bool automatic; + bool automatic; /*% * response policy data to be relayed to the database */ - dns_rpz_zones_t *rpzs; - dns_rpz_num_t rpz_num; + dns_rpz_zones_t *rpzs; + dns_rpz_num_t rpz_num; /*% * catalog zone data */ - dns_catz_zones_t *catzs; + dns_catz_zones_t *catzs; /*% * parent catalog zone */ - dns_catz_zone_t *parentcatz; + dns_catz_zone_t *parentcatz; /*% * Serial number update method. */ - dns_updatemethod_t updatemethod; + dns_updatemethod_t updatemethod; /*% * whether ixfr is requested */ - bool requestixfr; + bool requestixfr; /*% * whether EDNS EXPIRE is requested */ - bool requestexpire; + bool requestexpire; /*% * Outstanding forwarded UPDATE requests. */ - dns_forwardlist_t forwards; + dns_forwardlist_t forwards; - dns_zone_t *raw; - dns_zone_t *secure; + dns_zone_t *raw; + dns_zone_t *secure; - bool sourceserialset; - uint32_t sourceserial; + bool sourceserialset; + uint32_t sourceserial; /*% * maximum zone ttl */ - dns_ttl_t maxttl; + dns_ttl_t maxttl; /* * Inline zone signing state. */ - dns_diff_t rss_diff; - isc_eventlist_t rss_events; - isc_eventlist_t rss_post; - dns_dbversion_t *rss_newver; - dns_dbversion_t *rss_oldver; - dns_db_t *rss_db; - dns_zone_t *rss_raw; - isc_event_t *rss_event; - dns_update_state_t *rss_state; + dns_diff_t rss_diff; + isc_eventlist_t rss_events; + isc_eventlist_t rss_post; + dns_dbversion_t * rss_newver; + dns_dbversion_t * rss_oldver; + dns_db_t * rss_db; + dns_zone_t * rss_raw; + isc_event_t * rss_event; + dns_update_state_t *rss_state; - isc_stats_t *gluecachestats; + isc_stats_t *gluecachestats; }; -#define zonediff_init(z, d) \ - do { \ +#define zonediff_init(z, d) \ + do { \ dns__zonediff_t *_z = (z); \ - (_z)->diff = (d); \ - (_z)->offline = false; \ + (_z)->diff = (d); \ + (_z)->offline = false; \ } while (0) -#define DNS_ZONE_FLAG(z,f) ((atomic_load_relaxed(&(z)->flags) & (f)) != 0) -#define DNS_ZONE_SETFLAG(z,f) atomic_fetch_or(&(z)->flags, (f)) -#define DNS_ZONE_CLRFLAG(z,f) atomic_fetch_and(&(z)->flags, ~(f)) +#define DNS_ZONE_FLAG(z, f) ((atomic_load_relaxed(&(z)->flags) & (f)) != 0) +#define DNS_ZONE_SETFLAG(z, f) atomic_fetch_or(&(z)->flags, (f)) +#define DNS_ZONE_CLRFLAG(z, f) atomic_fetch_and(&(z)->flags, ~(f)) typedef enum { - DNS_ZONEFLG_REFRESH = 0x00000001U, /*%< refresh check in progress */ - DNS_ZONEFLG_NEEDDUMP = 0x00000002U, /*%< zone need consolidation */ - DNS_ZONEFLG_USEVC = 0x00000004U, /*%< use tcp for refresh query */ - DNS_ZONEFLG_DUMPING = 0x00000008U, /*%< a dump is in progress */ - DNS_ZONEFLG_HASINCLUDE = 0x00000010U, /*%< $INCLUDE in zone file */ - DNS_ZONEFLG_LOADED = 0x00000020U, /*%< database has loaded */ - DNS_ZONEFLG_EXITING = 0x00000040U, /*%< zone is being destroyed */ - DNS_ZONEFLG_EXPIRED = 0x00000080U, /*%< zone has expired */ - DNS_ZONEFLG_NEEDREFRESH = 0x00000100U, /*%< refresh check needed */ - DNS_ZONEFLG_UPTODATE = 0x00000200U, /*%< zone contents are - * uptodate */ - DNS_ZONEFLG_NEEDNOTIFY = 0x00000400U, /*%< need to send out notify - * messages */ - DNS_ZONEFLG_DIFFONRELOAD = 0x00000800U, /*%< generate a journal diff on + DNS_ZONEFLG_REFRESH = 0x00000001U, /*%< refresh check in progress */ + DNS_ZONEFLG_NEEDDUMP = 0x00000002U, /*%< zone need consolidation */ + DNS_ZONEFLG_USEVC = 0x00000004U, /*%< use tcp for refresh query */ + DNS_ZONEFLG_DUMPING = 0x00000008U, /*%< a dump is in progress */ + DNS_ZONEFLG_HASINCLUDE = 0x00000010U, /*%< $INCLUDE in zone file */ + DNS_ZONEFLG_LOADED = 0x00000020U, /*%< database has loaded */ + DNS_ZONEFLG_EXITING = 0x00000040U, /*%< zone is being destroyed */ + DNS_ZONEFLG_EXPIRED = 0x00000080U, /*%< zone has expired */ + DNS_ZONEFLG_NEEDREFRESH = 0x00000100U, /*%< refresh check needed */ + DNS_ZONEFLG_UPTODATE = 0x00000200U, /*%< zone contents are + * uptodate */ + DNS_ZONEFLG_NEEDNOTIFY = 0x00000400U, /*%< need to send out notify + * messages */ + DNS_ZONEFLG_DIFFONRELOAD = 0x00000800U, /*%< generate a journal diff on * reload */ - DNS_ZONEFLG_NOMASTERS = 0x00001000U, /*%< an attempt to refresh a + DNS_ZONEFLG_NOMASTERS = 0x00001000U, /*%< an attempt to refresh a * zone with no masters * occurred */ - DNS_ZONEFLG_LOADING = 0x00002000U, /*%< load from disk in progress*/ - DNS_ZONEFLG_HAVETIMERS = 0x00004000U, /*%< timer values have been set - * from SOA (if not set, we - * are still using - * default timer values) */ - DNS_ZONEFLG_FORCEXFER = 0x00008000U, /*%< Force a zone xfer */ - DNS_ZONEFLG_NOREFRESH = 0x00010000U, - DNS_ZONEFLG_DIALNOTIFY = 0x00020000U, - DNS_ZONEFLG_DIALREFRESH = 0x00040000U, - DNS_ZONEFLG_SHUTDOWN = 0x00080000U, - DNS_ZONEFLAG_NOIXFR = 0x00100000U, /*%< IXFR failed, force AXFR */ - DNS_ZONEFLG_FLUSH = 0x00200000U, - DNS_ZONEFLG_NOEDNS = 0x00400000U, + DNS_ZONEFLG_LOADING = 0x00002000U, /*%< load from disk in progress*/ + DNS_ZONEFLG_HAVETIMERS = 0x00004000U, /*%< timer values have been set + * from SOA (if not set, we + * are still using + * default timer values) */ + DNS_ZONEFLG_FORCEXFER = 0x00008000U, /*%< Force a zone xfer */ + DNS_ZONEFLG_NOREFRESH = 0x00010000U, + DNS_ZONEFLG_DIALNOTIFY = 0x00020000U, + DNS_ZONEFLG_DIALREFRESH = 0x00040000U, + DNS_ZONEFLG_SHUTDOWN = 0x00080000U, + DNS_ZONEFLAG_NOIXFR = 0x00100000U, /*%< IXFR failed, force AXFR */ + DNS_ZONEFLG_FLUSH = 0x00200000U, + DNS_ZONEFLG_NOEDNS = 0x00400000U, DNS_ZONEFLG_USEALTXFRSRC = 0x00800000U, DNS_ZONEFLG_SOABEFOREAXFR = 0x01000000U, DNS_ZONEFLG_NEEDCOMPACT = 0x02000000U, - DNS_ZONEFLG_REFRESHING = 0x04000000U, /*%< Refreshing keydata */ - DNS_ZONEFLG_THAW = 0x08000000U, - DNS_ZONEFLG_LOADPENDING = 0x10000000U, /*%< Loading scheduled */ - DNS_ZONEFLG_NODELAY = 0x20000000U, - DNS_ZONEFLG_SENDSECURE = 0x40000000U, - DNS_ZONEFLG_NEEDSTARTUPNOTIFY = 0x80000000U, /*%< need to send out notify - * due to the zone just - * being loaded for the - * first time. */ - DNS_ZONEFLG___MAX = UINT64_MAX, /* trick to make the ENUM 64-bit wide */ + DNS_ZONEFLG_REFRESHING = 0x04000000U, /*%< Refreshing keydata */ + DNS_ZONEFLG_THAW = 0x08000000U, + DNS_ZONEFLG_LOADPENDING = 0x10000000U, /*%< Loading scheduled */ + DNS_ZONEFLG_NODELAY = 0x20000000U, + DNS_ZONEFLG_SENDSECURE = 0x40000000U, + DNS_ZONEFLG_NEEDSTARTUPNOTIFY = 0x80000000U, /*%< need to send out + * notify due to the zone + * just being loaded for + * the first time. */ + DNS_ZONEFLG___MAX = UINT64_MAX, /* trick to make the ENUM 64-bit wide */ } dns_zoneflg_t; -#define DNS_ZONE_OPTION(z,o) ((atomic_load_relaxed(&(z)->options) & (o)) != 0) -#define DNS_ZONE_SETOPTION(z,o) atomic_fetch_or(&(z)->options, (o)) -#define DNS_ZONE_CLROPTION(z,o) atomic_fetch_and(&(z)->options, ~(o)) +#define DNS_ZONE_OPTION(z, o) ((atomic_load_relaxed(&(z)->options) & (o)) != 0) +#define DNS_ZONE_SETOPTION(z, o) atomic_fetch_or(&(z)->options, (o)) +#define DNS_ZONE_CLROPTION(z, o) atomic_fetch_and(&(z)->options, ~(o)) -#define DNS_ZONEKEY_OPTION(z,o) ((atomic_load_relaxed(&(z)->keyopts) & (o)) != 0) -#define DNS_ZONEKEY_SETOPTION(z,o) atomic_fetch_or(&(z)->keyopts, (o)) -#define DNS_ZONEKEY_CLROPTION(z,o) atomic_fetch_and(&(z)->keyopts, ~(o)) +#define DNS_ZONEKEY_OPTION(z, o) \ + ((atomic_load_relaxed(&(z)->keyopts) & (o)) != 0) +#define DNS_ZONEKEY_SETOPTION(z, o) atomic_fetch_or(&(z)->keyopts, (o)) +#define DNS_ZONEKEY_CLROPTION(z, o) atomic_fetch_and(&(z)->keyopts, ~(o)) /* Flags for zone_load() */ typedef enum { - DNS_ZONELOADFLAG_NOSTAT = 0x00000001U, /* Do not stat() master files */ - DNS_ZONELOADFLAG_THAW = 0x00000002U, /* Thaw the zone on successful load. */ + DNS_ZONELOADFLAG_NOSTAT = 0x00000001U, /* Do not stat() master files */ + DNS_ZONELOADFLAG_THAW = 0x00000002U, /* Thaw the zone on successful + load. */ } dns_zoneloadflag_t; -#define UNREACH_CACHE_SIZE 10U -#define UNREACH_HOLD_TIME 600 /* 10 minutes */ +#define UNREACH_CACHE_SIZE 10U +#define UNREACH_HOLD_TIME 600 /* 10 minutes */ -#define CHECK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) struct dns_unreachable { - isc_sockaddr_t remote; - isc_sockaddr_t local; - atomic_uint_fast32_t expire; - atomic_uint_fast32_t last; - uint32_t count; + isc_sockaddr_t remote; + isc_sockaddr_t local; + atomic_uint_fast32_t expire; + atomic_uint_fast32_t last; + uint32_t count; }; struct dns_zonemgr { - unsigned int magic; - isc_mem_t * mctx; - isc_refcount_t refs; - isc_taskmgr_t * taskmgr; - isc_timermgr_t * timermgr; - isc_socketmgr_t * socketmgr; - isc_taskpool_t * zonetasks; - isc_taskpool_t * loadtasks; - isc_task_t * task; - isc_pool_t * mctxpool; - isc_ratelimiter_t * notifyrl; - isc_ratelimiter_t * refreshrl; - isc_ratelimiter_t * startupnotifyrl; - isc_ratelimiter_t * startuprefreshrl; - isc_rwlock_t rwlock; - isc_mutex_t iolock; - isc_rwlock_t urlock; + unsigned int magic; + isc_mem_t * mctx; + isc_refcount_t refs; + isc_taskmgr_t * taskmgr; + isc_timermgr_t * timermgr; + isc_socketmgr_t * socketmgr; + isc_taskpool_t * zonetasks; + isc_taskpool_t * loadtasks; + isc_task_t * task; + isc_pool_t * mctxpool; + isc_ratelimiter_t *notifyrl; + isc_ratelimiter_t *refreshrl; + isc_ratelimiter_t *startupnotifyrl; + isc_ratelimiter_t *startuprefreshrl; + isc_rwlock_t rwlock; + isc_mutex_t iolock; + isc_rwlock_t urlock; /* Locked by rwlock. */ - dns_zonelist_t zones; - dns_zonelist_t waiting_for_xfrin; - dns_zonelist_t xfrin_in_progress; + dns_zonelist_t zones; + dns_zonelist_t waiting_for_xfrin; + dns_zonelist_t xfrin_in_progress; /* Configuration data. */ - uint32_t transfersin; - uint32_t transfersperns; - unsigned int notifyrate; - unsigned int startupnotifyrate; - unsigned int serialqueryrate; - unsigned int startupserialqueryrate; + uint32_t transfersin; + uint32_t transfersperns; + unsigned int notifyrate; + unsigned int startupnotifyrate; + unsigned int serialqueryrate; + unsigned int startupserialqueryrate; /* Locked by iolock */ - uint32_t iolimit; - uint32_t ioactive; - dns_iolist_t high; - dns_iolist_t low; + uint32_t iolimit; + uint32_t ioactive; + dns_iolist_t high; + dns_iolist_t low; /* Locked by urlock. */ /* LRU cache */ - struct dns_unreachable unreachable[UNREACH_CACHE_SIZE]; + struct dns_unreachable unreachable[UNREACH_CACHE_SIZE]; }; /*% * Hold notify state. */ struct dns_notify { - unsigned int magic; - unsigned int flags; - isc_mem_t *mctx; - dns_zone_t *zone; - dns_adbfind_t *find; - dns_request_t *request; - dns_name_t ns; - isc_sockaddr_t dst; - dns_tsigkey_t *key; - isc_dscp_t dscp; - ISC_LINK(dns_notify_t) link; - isc_event_t *event; + unsigned int magic; + unsigned int flags; + isc_mem_t * mctx; + dns_zone_t * zone; + dns_adbfind_t *find; + dns_request_t *request; + dns_name_t ns; + isc_sockaddr_t dst; + dns_tsigkey_t *key; + isc_dscp_t dscp; + ISC_LINK(dns_notify_t) link; + isc_event_t *event; }; -#define DNS_NOTIFY_NOSOA 0x0001U -#define DNS_NOTIFY_STARTUP 0x0002U +#define DNS_NOTIFY_NOSOA 0x0001U +#define DNS_NOTIFY_STARTUP 0x0002U /*% * dns_stub holds state while performing a 'stub' transfer. @@ -598,52 +607,52 @@ struct dns_notify { */ struct dns_stub { - unsigned int magic; - isc_mem_t *mctx; - dns_zone_t *zone; - dns_db_t *db; - dns_dbversion_t *version; + unsigned int magic; + isc_mem_t * mctx; + dns_zone_t * zone; + dns_db_t * db; + dns_dbversion_t *version; }; /*% * Hold load state. */ struct dns_load { - unsigned int magic; - isc_mem_t *mctx; - dns_zone_t *zone; - dns_db_t *db; - isc_time_t loadtime; - dns_rdatacallbacks_t callbacks; + unsigned int magic; + isc_mem_t * mctx; + dns_zone_t * zone; + dns_db_t * db; + isc_time_t loadtime; + dns_rdatacallbacks_t callbacks; }; /*% * Hold forward state. */ struct dns_forward { - unsigned int magic; - isc_mem_t *mctx; - dns_zone_t *zone; - isc_buffer_t *msgbuf; - dns_request_t *request; - uint32_t which; - isc_sockaddr_t addr; - dns_updatecallback_t callback; - void *callback_arg; - unsigned int options; - ISC_LINK(dns_forward_t) link; + unsigned int magic; + isc_mem_t * mctx; + dns_zone_t * zone; + isc_buffer_t * msgbuf; + dns_request_t * request; + uint32_t which; + isc_sockaddr_t addr; + dns_updatecallback_t callback; + void * callback_arg; + unsigned int options; + ISC_LINK(dns_forward_t) link; }; /*% * Hold IO request state. */ struct dns_io { - unsigned int magic; - dns_zonemgr_t *zmgr; - bool high; - isc_task_t *task; + unsigned int magic; + dns_zonemgr_t *zmgr; + bool high; + isc_task_t * task; ISC_LINK(dns_io_t) link; - isc_event_t *event; + isc_event_t *event; }; /*% @@ -651,27 +660,27 @@ struct dns_io { * DNSKEY as result of an update. */ struct dns_signing { - unsigned int magic; - dns_db_t *db; - dns_dbiterator_t *dbiterator; - dns_secalg_t algorithm; - uint16_t keyid; - bool deleteit; - bool done; - ISC_LINK(dns_signing_t) link; + unsigned int magic; + dns_db_t * db; + dns_dbiterator_t *dbiterator; + dns_secalg_t algorithm; + uint16_t keyid; + bool deleteit; + bool done; + ISC_LINK(dns_signing_t) link; }; struct dns_nsec3chain { - unsigned int magic; - dns_db_t *db; - dns_dbiterator_t *dbiterator; - dns_rdata_nsec3param_t nsec3param; - unsigned char salt[255]; - bool done; - bool seen_nsec; - bool delete_nsec; - bool save_delete_nsec; - ISC_LINK(dns_nsec3chain_t) link; + unsigned int magic; + dns_db_t * db; + dns_dbiterator_t * dbiterator; + dns_rdata_nsec3param_t nsec3param; + unsigned char salt[255]; + bool done; + bool seen_nsec; + bool delete_nsec; + bool save_delete_nsec; + ISC_LINK(dns_nsec3chain_t) link; }; /*%< * 'dbiterator' contains a iterator for the database. If we are creating @@ -697,31 +706,31 @@ struct dns_nsec3chain { struct dns_keyfetch { dns_fixedname_t name; - dns_rdataset_t keydataset; - dns_rdataset_t dnskeyset; - dns_rdataset_t dnskeysigset; - dns_zone_t *zone; - dns_db_t *db; - dns_fetch_t *fetch; + dns_rdataset_t keydataset; + dns_rdataset_t dnskeyset; + dns_rdataset_t dnskeysigset; + dns_zone_t * zone; + dns_db_t * db; + dns_fetch_t * fetch; }; /*% * Hold state for an asynchronous load */ struct dns_asyncload { - dns_zone_t *zone; - unsigned int flags; + dns_zone_t * zone; + unsigned int flags; dns_zt_zoneloaded_t loaded; - void *loaded_arg; + void * loaded_arg; }; /*% * Reference to an include file encountered during loading */ struct dns_include { - char *name; + char * name; isc_time_t filetime; - ISC_LINK(dns_include_t) link; + ISC_LINK(dns_include_t) link; }; /* @@ -730,161 +739,208 @@ struct dns_include { * RFC 5011. */ #define HOUR 3600 -#define DAY (24*HOUR) -#define MONTH (30*DAY) +#define DAY (24 * HOUR) +#define MONTH (30 * DAY) LIBDNS_EXTERNAL_DATA unsigned int dns_zone_mkey_hour = HOUR; LIBDNS_EXTERNAL_DATA unsigned int dns_zone_mkey_day = DAY; LIBDNS_EXTERNAL_DATA unsigned int dns_zone_mkey_month = MONTH; #define SEND_BUFFER_SIZE 2048 -static void zone_settimer(dns_zone_t *, isc_time_t *); -static void cancel_refresh(dns_zone_t *); -static void zone_debuglog(dns_zone_t *zone, const char *, int debuglevel, - const char *msg, ...) ISC_FORMAT_PRINTF(4, 5); -static void notify_log(dns_zone_t *zone, int level, const char *fmt, ...) - ISC_FORMAT_PRINTF(3, 4); -static void dnssec_log(dns_zone_t *zone, int level, const char *fmt, ...) - ISC_FORMAT_PRINTF(3, 4); -static void queue_xfrin(dns_zone_t *zone); -static isc_result_t update_one_rr(dns_db_t *db, dns_dbversion_t *ver, - dns_diff_t *diff, dns_diffop_t op, - dns_name_t *name, dns_ttl_t ttl, - dns_rdata_t *rdata); -static void zone_unload(dns_zone_t *zone); -static void zone_expire(dns_zone_t *zone); -static void zone_iattach(dns_zone_t *source, dns_zone_t **target); -static void zone_idetach(dns_zone_t **zonep); -static isc_result_t zone_replacedb(dns_zone_t *zone, dns_db_t *db, - bool dump); -static inline void zone_attachdb(dns_zone_t *zone, dns_db_t *db); -static inline void zone_detachdb(dns_zone_t *zone); -static isc_result_t default_journal(dns_zone_t *zone); -static void zone_xfrdone(dns_zone_t *zone, isc_result_t result); -static isc_result_t zone_postload(dns_zone_t *zone, dns_db_t *db, - isc_time_t loadtime, isc_result_t result); -static void zone_needdump(dns_zone_t *zone, unsigned int delay); -static void zone_shutdown(isc_task_t *, isc_event_t *); -static void zone_loaddone(void *arg, isc_result_t result); -static isc_result_t zone_startload(dns_db_t *db, dns_zone_t *zone, - isc_time_t loadtime); -static void zone_namerd_tostr(dns_zone_t *zone, char *buf, size_t length); -static void zone_name_tostr(dns_zone_t *zone, char *buf, size_t length); -static void zone_rdclass_tostr(dns_zone_t *zone, char *buf, size_t length); -static void zone_viewname_tostr(dns_zone_t *zone, char *buf, size_t length); -static isc_result_t zone_send_secureserial(dns_zone_t *zone, - uint32_t serial); -static void refresh_callback(isc_task_t *, isc_event_t *); -static void stub_callback(isc_task_t *, isc_event_t *); -static void queue_soa_query(dns_zone_t *zone); -static void soa_query(isc_task_t *, isc_event_t *); -static void ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, - dns_stub_t *stub); -static int message_count(dns_message_t *msg, dns_section_t section, - dns_rdatatype_t type); -static void notify_cancel(dns_zone_t *zone); -static void notify_find_address(dns_notify_t *notify); -static void notify_send(dns_notify_t *notify); -static isc_result_t notify_createmessage(dns_zone_t *zone, - unsigned int flags, - dns_message_t **messagep); -static void notify_done(isc_task_t *task, isc_event_t *event); -static void notify_send_toaddr(isc_task_t *task, isc_event_t *event); -static isc_result_t zone_dump(dns_zone_t *, bool); -static void got_transfer_quota(isc_task_t *task, isc_event_t *event); -static isc_result_t zmgr_start_xfrin_ifquota(dns_zonemgr_t *zmgr, - dns_zone_t *zone); -static void zmgr_resume_xfrs(dns_zonemgr_t *zmgr, bool multi); -static void zonemgr_free(dns_zonemgr_t *zmgr); -static isc_result_t zonemgr_getio(dns_zonemgr_t *zmgr, bool high, - isc_task_t *task, isc_taskaction_t action, - void *arg, dns_io_t **iop); -static void zonemgr_putio(dns_io_t **iop); -static void zonemgr_cancelio(dns_io_t *io); -static void rss_post(dns_zone_t *, isc_event_t *); +static void +zone_settimer(dns_zone_t *, isc_time_t *); +static void +cancel_refresh(dns_zone_t *); +static void +zone_debuglog(dns_zone_t *zone, const char *, int debuglevel, const char *msg, + ...) ISC_FORMAT_PRINTF(4, 5); +static void +notify_log(dns_zone_t *zone, int level, const char *fmt, ...) + ISC_FORMAT_PRINTF(3, 4); +static void +dnssec_log(dns_zone_t *zone, int level, const char *fmt, ...) + ISC_FORMAT_PRINTF(3, 4); +static void +queue_xfrin(dns_zone_t *zone); +static isc_result_t +update_one_rr(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, + dns_diffop_t op, dns_name_t *name, dns_ttl_t ttl, + dns_rdata_t *rdata); +static void +zone_unload(dns_zone_t *zone); +static void +zone_expire(dns_zone_t *zone); +static void +zone_iattach(dns_zone_t *source, dns_zone_t **target); +static void +zone_idetach(dns_zone_t **zonep); +static isc_result_t +zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool dump); +static inline void +zone_attachdb(dns_zone_t *zone, dns_db_t *db); +static inline void +zone_detachdb(dns_zone_t *zone); +static isc_result_t +default_journal(dns_zone_t *zone); +static void +zone_xfrdone(dns_zone_t *zone, isc_result_t result); +static isc_result_t +zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, + isc_result_t result); +static void +zone_needdump(dns_zone_t *zone, unsigned int delay); +static void +zone_shutdown(isc_task_t *, isc_event_t *); +static void +zone_loaddone(void *arg, isc_result_t result); +static isc_result_t +zone_startload(dns_db_t *db, dns_zone_t *zone, isc_time_t loadtime); +static void +zone_namerd_tostr(dns_zone_t *zone, char *buf, size_t length); +static void +zone_name_tostr(dns_zone_t *zone, char *buf, size_t length); +static void +zone_rdclass_tostr(dns_zone_t *zone, char *buf, size_t length); +static void +zone_viewname_tostr(dns_zone_t *zone, char *buf, size_t length); +static isc_result_t +zone_send_secureserial(dns_zone_t *zone, uint32_t serial); +static void +refresh_callback(isc_task_t *, isc_event_t *); +static void +stub_callback(isc_task_t *, isc_event_t *); +static void +queue_soa_query(dns_zone_t *zone); +static void +soa_query(isc_task_t *, isc_event_t *); +static void +ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t *stub); +static int +message_count(dns_message_t *msg, dns_section_t section, dns_rdatatype_t type); +static void +notify_cancel(dns_zone_t *zone); +static void +notify_find_address(dns_notify_t *notify); +static void +notify_send(dns_notify_t *notify); +static isc_result_t +notify_createmessage(dns_zone_t *zone, unsigned int flags, + dns_message_t **messagep); +static void +notify_done(isc_task_t *task, isc_event_t *event); +static void +notify_send_toaddr(isc_task_t *task, isc_event_t *event); +static isc_result_t +zone_dump(dns_zone_t *, bool); +static void +got_transfer_quota(isc_task_t *task, isc_event_t *event); +static isc_result_t +zmgr_start_xfrin_ifquota(dns_zonemgr_t *zmgr, dns_zone_t *zone); +static void +zmgr_resume_xfrs(dns_zonemgr_t *zmgr, bool multi); +static void +zonemgr_free(dns_zonemgr_t *zmgr); +static isc_result_t +zonemgr_getio(dns_zonemgr_t *zmgr, bool high, isc_task_t *task, + isc_taskaction_t action, void *arg, dns_io_t **iop); +static void +zonemgr_putio(dns_io_t **iop); +static void +zonemgr_cancelio(dns_io_t *io); +static void +rss_post(dns_zone_t *, isc_event_t *); static isc_result_t zone_get_from_db(dns_zone_t *zone, dns_db_t *db, unsigned int *nscount, - unsigned int *soacount, uint32_t *serial, - uint32_t *refresh, uint32_t *retry, - uint32_t *expire, uint32_t *minimum, + unsigned int *soacount, uint32_t *serial, uint32_t *refresh, + uint32_t *retry, uint32_t *expire, uint32_t *minimum, unsigned int *errors); -static void zone_freedbargs(dns_zone_t *zone); -static void forward_callback(isc_task_t *task, isc_event_t *event); -static void zone_saveunique(dns_zone_t *zone, const char *path, - const char *templat); -static void zone_maintenance(dns_zone_t *zone); -static void zone_notify(dns_zone_t *zone, isc_time_t *now); -static void dump_done(void *arg, isc_result_t result); -static isc_result_t zone_signwithkey(dns_zone_t *zone, dns_secalg_t algorithm, - uint16_t keyid, - bool deleteit); -static isc_result_t delete_nsec(dns_db_t *db, dns_dbversion_t *ver, - dns_dbnode_t *node, dns_name_t *name, - dns_diff_t *diff); -static void zone_rekey(dns_zone_t *zone); -static isc_result_t zone_send_securedb(dns_zone_t *zone, dns_db_t *db); -static void setrl(isc_ratelimiter_t *rl, unsigned int *rate, - unsigned int value); +static void +zone_freedbargs(dns_zone_t *zone); +static void +forward_callback(isc_task_t *task, isc_event_t *event); +static void +zone_saveunique(dns_zone_t *zone, const char *path, const char *templat); +static void +zone_maintenance(dns_zone_t *zone); +static void +zone_notify(dns_zone_t *zone, isc_time_t *now); +static void +dump_done(void *arg, isc_result_t result); +static isc_result_t +zone_signwithkey(dns_zone_t *zone, dns_secalg_t algorithm, uint16_t keyid, + bool deleteit); +static isc_result_t +delete_nsec(dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node, + dns_name_t *name, dns_diff_t *diff); +static void +zone_rekey(dns_zone_t *zone); +static isc_result_t +zone_send_securedb(dns_zone_t *zone, dns_db_t *db); +static void +setrl(isc_ratelimiter_t *rl, unsigned int *rate, unsigned int value); #define ENTER zone_debuglog(zone, me, 1, "enter") static const unsigned int dbargc_default = 1; -static const char *dbargv_default[] = { "rbt" }; +static const char * dbargv_default[] = { "rbt" }; -#define DNS_ZONE_JITTER_ADD(a, b, c) \ - do { \ - isc_interval_t _i; \ - uint32_t _j; \ - _j = (b) - isc_random_uniform((b)/4); \ - isc_interval_set(&_i, _j, 0); \ - if (isc_time_add((a), &_i, (c)) != ISC_R_SUCCESS) { \ - dns_zone_log(zone, ISC_LOG_WARNING, \ +#define DNS_ZONE_JITTER_ADD(a, b, c) \ + do { \ + isc_interval_t _i; \ + uint32_t _j; \ + _j = (b)-isc_random_uniform((b) / 4); \ + isc_interval_set(&_i, _j, 0); \ + if (isc_time_add((a), &_i, (c)) != ISC_R_SUCCESS) { \ + dns_zone_log(zone, ISC_LOG_WARNING, \ "epoch approaching: upgrade required: " \ - "now + %s failed", #b); \ - isc_interval_set(&_i, _j/2, 0); \ - (void)isc_time_add((a), &_i, (c)); \ - } \ + "now + %s failed", \ + #b); \ + isc_interval_set(&_i, _j / 2, 0); \ + (void)isc_time_add((a), &_i, (c)); \ + } \ } while (0) -#define DNS_ZONE_TIME_ADD(a, b, c) \ - do { \ - isc_interval_t _i; \ - isc_interval_set(&_i, (b), 0); \ - if (isc_time_add((a), &_i, (c)) != ISC_R_SUCCESS) { \ - dns_zone_log(zone, ISC_LOG_WARNING, \ +#define DNS_ZONE_TIME_ADD(a, b, c) \ + do { \ + isc_interval_t _i; \ + isc_interval_set(&_i, (b), 0); \ + if (isc_time_add((a), &_i, (c)) != ISC_R_SUCCESS) { \ + dns_zone_log(zone, ISC_LOG_WARNING, \ "epoch approaching: upgrade required: " \ - "now + %s failed", #b); \ - isc_interval_set(&_i, (b)/2, 0); \ - (void)isc_time_add((a), &_i, (c)); \ - } \ + "now + %s failed", \ + #b); \ + isc_interval_set(&_i, (b) / 2, 0); \ + (void)isc_time_add((a), &_i, (c)); \ + } \ } while (0) typedef struct nsec3param nsec3param_t; struct nsec3param { unsigned char data[DNS_NSEC3PARAM_BUFFERSIZE + 1]; - unsigned int length; - bool nsec; - bool replace; - ISC_LINK(nsec3param_t) link; + unsigned int length; + bool nsec; + bool replace; + ISC_LINK(nsec3param_t) link; }; typedef ISC_LIST(nsec3param_t) nsec3paramlist_t; struct np3event { - isc_event_t event; + isc_event_t event; nsec3param_t params; }; struct ssevent { isc_event_t event; - uint32_t serial; + uint32_t serial; }; /*% * Increment resolver-related statistics counters. Zone must be locked. */ static inline void -inc_stats(dns_zone_t *zone, isc_statscounter_t counter) { +inc_stats(dns_zone_t *zone, isc_statscounter_t counter) +{ if (zone->stats != NULL) isc_stats_increment(zone->stats, counter); } @@ -894,10 +950,11 @@ inc_stats(dns_zone_t *zone, isc_statscounter_t counter) { ***/ isc_result_t -dns_zone_create(dns_zone_t **zonep, isc_mem_t *mctx) { +dns_zone_create(dns_zone_t **zonep, isc_mem_t *mctx) +{ isc_result_t result; - dns_zone_t *zone; - isc_time_t now; + dns_zone_t * zone; + isc_time_t now; REQUIRE(zonep != NULL && *zonep == NULL); REQUIRE(mctx != NULL); @@ -1081,19 +1138,19 @@ dns_zone_create(dns_zone_t **zonep, isc_mem_t *mctx) { dns_zone_setdbtype(zone, dbargc_default, dbargv_default); ISC_EVENT_INIT(&zone->ctlevent, sizeof(zone->ctlevent), 0, NULL, - DNS_EVENT_ZONECONTROL, zone_shutdown, zone, zone, - NULL, NULL); + DNS_EVENT_ZONECONTROL, zone_shutdown, zone, zone, NULL, + NULL); *zonep = zone; return (ISC_R_SUCCESS); - free_refs: +free_refs: isc_refcount_decrement(&zone->erefs); isc_refcount_destroy(&zone->erefs); isc_refcount_destroy(&zone->irefs); ZONEDB_DESTROYLOCK(&zone->dblock); - free_mutex: +free_mutex: isc_mutex_destroy(&zone->lock); isc_mem_putanddetach(&zone->mctx, zone, sizeof(*zone)); @@ -1105,11 +1162,12 @@ dns_zone_create(dns_zone_t **zonep, isc_mem_t *mctx) { * outstanding events or references, no locking is necessary. */ static void -zone_free(dns_zone_t *zone) { - dns_signing_t *signing; +zone_free(dns_zone_t *zone) +{ + dns_signing_t * signing; dns_nsec3chain_t *nsec3chain; - isc_event_t *event; - dns_include_t *include; + isc_event_t * event; + dns_include_t * include; REQUIRE(DNS_ZONE_VALID(zone)); isc_refcount_destroy(&zone->erefs); @@ -1152,31 +1210,27 @@ zone_free(dns_zone_t *zone) { ISC_LIST_UNLINK(zone->rss_post, event, ev_link); isc_event_free(&event); } - for (signing = ISC_LIST_HEAD(zone->signing); - signing != NULL; + for (signing = ISC_LIST_HEAD(zone->signing); signing != NULL; signing = ISC_LIST_HEAD(zone->signing)) { ISC_LIST_UNLINK(zone->signing, signing, link); dns_db_detach(&signing->db); dns_dbiterator_destroy(&signing->dbiterator); isc_mem_put(zone->mctx, signing, sizeof *signing); } - for (nsec3chain = ISC_LIST_HEAD(zone->nsec3chain); - nsec3chain != NULL; + for (nsec3chain = ISC_LIST_HEAD(zone->nsec3chain); nsec3chain != NULL; nsec3chain = ISC_LIST_HEAD(zone->nsec3chain)) { ISC_LIST_UNLINK(zone->nsec3chain, nsec3chain, link); dns_db_detach(&nsec3chain->db); dns_dbiterator_destroy(&nsec3chain->dbiterator); isc_mem_put(zone->mctx, nsec3chain, sizeof *nsec3chain); } - for (include = ISC_LIST_HEAD(zone->includes); - include != NULL; + for (include = ISC_LIST_HEAD(zone->includes); include != NULL; include = ISC_LIST_HEAD(zone->includes)) { ISC_LIST_UNLINK(zone->includes, include, link); isc_mem_free(zone->mctx, include->name); isc_mem_put(zone->mctx, include, sizeof *include); } - for (include = ISC_LIST_HEAD(zone->newincludes); - include != NULL; + for (include = ISC_LIST_HEAD(zone->newincludes); include != NULL; include = ISC_LIST_HEAD(zone->newincludes)) { ISC_LIST_UNLINK(zone->newincludes, include, link); isc_mem_free(zone->mctx, include->name); @@ -1204,13 +1258,13 @@ zone_free(dns_zone_t *zone) { if (zone->requeststats != NULL) { isc_stats_detach(&zone->requeststats); } - if (zone->rcvquerystats != NULL){ + if (zone->rcvquerystats != NULL) { dns_stats_detach(&zone->rcvquerystats); } - if (zone->dnssecsignstats != NULL){ + if (zone->dnssecsignstats != NULL) { dns_stats_detach(&zone->dnssecsignstats); } - if (zone->dnssecrefreshstats != NULL){ + if (zone->dnssecrefreshstats != NULL) { dns_stats_detach(&zone->dnssecrefreshstats); } if (zone->db != NULL) { @@ -1225,8 +1279,8 @@ zone_free(dns_zone_t *zone) { dns_catz_catzs_detach(&zone->catzs); } zone_freedbargs(zone); - RUNTIME_CHECK(dns_zone_setmasterswithkeys(zone, NULL, - NULL, 0) == ISC_R_SUCCESS); + RUNTIME_CHECK(dns_zone_setmasterswithkeys(zone, NULL, NULL, 0) == + ISC_R_SUCCESS); RUNTIME_CHECK(dns_zone_setalsonotify(zone, NULL, 0) == ISC_R_SUCCESS); zone->check_names = dns_severity_ignore; if (zone->update_acl != NULL) { @@ -1281,7 +1335,8 @@ zone_free(dns_zone_t *zone) { * Caller should hold zone lock. */ static inline bool -inline_secure(dns_zone_t *zone) { +inline_secure(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); if (zone->raw != NULL) return (true); @@ -1293,7 +1348,8 @@ inline_secure(dns_zone_t *zone) { * Caller should hold zone lock. */ static inline bool -inline_raw(dns_zone_t *zone) { +inline_raw(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); if (zone->secure != NULL) return (true); @@ -1304,7 +1360,8 @@ inline_raw(dns_zone_t *zone) { * Single shot. */ void -dns_zone_setclass(dns_zone_t *zone, dns_rdataclass_t rdclass) { +dns_zone_setclass(dns_zone_t *zone, dns_rdataclass_t rdclass) +{ char namebuf[1024]; REQUIRE(DNS_ZONE_VALID(zone)); @@ -1335,14 +1392,16 @@ dns_zone_setclass(dns_zone_t *zone, dns_rdataclass_t rdclass) { } dns_rdataclass_t -dns_zone_getclass(dns_zone_t *zone) { +dns_zone_getclass(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->rdclass); } void -dns_zone_setnotifytype(dns_zone_t *zone, dns_notifytype_t notifytype) { +dns_zone_setnotifytype(dns_zone_t *zone, dns_notifytype_t notifytype) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -1351,7 +1410,8 @@ dns_zone_setnotifytype(dns_zone_t *zone, dns_notifytype_t notifytype) { } isc_result_t -dns_zone_getserial(dns_zone_t *zone, uint32_t *serialp) { +dns_zone_getserial(dns_zone_t *zone, uint32_t *serialp) +{ isc_result_t result; unsigned int soacount; @@ -1378,7 +1438,8 @@ dns_zone_getserial(dns_zone_t *zone, uint32_t *serialp) { * Single shot. */ void -dns_zone_settype(dns_zone_t *zone, dns_zonetype_t type) { +dns_zone_settype(dns_zone_t *zone, dns_zonetype_t type) +{ char namebuf[1024]; REQUIRE(DNS_ZONE_VALID(zone)); @@ -1400,7 +1461,8 @@ dns_zone_settype(dns_zone_t *zone, dns_zonetype_t type) { } static void -zone_freedbargs(dns_zone_t *zone) { +zone_freedbargs(dns_zone_t *zone) +{ unsigned int i; /* Free the old database argument list. */ @@ -1415,12 +1477,13 @@ zone_freedbargs(dns_zone_t *zone) { } isc_result_t -dns_zone_getdbtype(dns_zone_t *zone, char ***argv, isc_mem_t *mctx) { - size_t size = 0; +dns_zone_getdbtype(dns_zone_t *zone, char ***argv, isc_mem_t *mctx) +{ + size_t size = 0; unsigned int i; isc_result_t result = ISC_R_SUCCESS; - void *mem; - char **tmp, *tmp2, *base; + void * mem; + char ** tmp, *tmp2, *base; REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(argv != NULL && *argv == NULL); @@ -1448,10 +1511,10 @@ dns_zone_getdbtype(dns_zone_t *zone, char ***argv, isc_mem_t *mctx) { } void -dns_zone_setdbtype(dns_zone_t *zone, - unsigned int dbargc, const char * const *dbargv) +dns_zone_setdbtype(dns_zone_t *zone, unsigned int dbargc, + const char *const *dbargv) { - char **argv = NULL; + char ** argv = NULL; unsigned int i; REQUIRE(DNS_ZONE_VALID(zone)); @@ -1479,7 +1542,8 @@ dns_zone_setdbtype(dns_zone_t *zone, } static void -dns_zone_setview_helper(dns_zone_t *zone, dns_view_t *view) { +dns_zone_setview_helper(dns_zone_t *zone, dns_view_t *view) +{ char namebuf[1024]; if (zone->prev_view == NULL && zone->view != NULL) { @@ -1510,7 +1574,8 @@ dns_zone_setview_helper(dns_zone_t *zone, dns_view_t *view) { } void -dns_zone_setview(dns_zone_t *zone, dns_view_t *view) { +dns_zone_setview(dns_zone_t *zone, dns_view_t *view) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -1519,14 +1584,16 @@ dns_zone_setview(dns_zone_t *zone, dns_view_t *view) { } dns_view_t * -dns_zone_getview(dns_zone_t *zone) { +dns_zone_getview(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->view); } void -dns_zone_setviewcommit(dns_zone_t *zone) { +dns_zone_setviewcommit(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -1536,7 +1603,8 @@ dns_zone_setviewcommit(dns_zone_t *zone) { } void -dns_zone_setviewrevert(dns_zone_t *zone) { +dns_zone_setviewrevert(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -1548,9 +1616,10 @@ dns_zone_setviewrevert(dns_zone_t *zone) { } isc_result_t -dns_zone_setorigin(dns_zone_t *zone, const dns_name_t *origin) { +dns_zone_setorigin(dns_zone_t *zone, const dns_name_t *origin) +{ isc_result_t result = ISC_R_SUCCESS; - char namebuf[1024]; + char namebuf[1024]; REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(origin != NULL); @@ -1581,7 +1650,8 @@ dns_zone_setorigin(dns_zone_t *zone, const dns_name_t *origin) { } static isc_result_t -dns_zone_setstring(dns_zone_t *zone, char **field, const char *value) { +dns_zone_setstring(dns_zone_t *zone, char **field, const char *value) +{ char *copy; if (value != NULL) { @@ -1598,8 +1668,7 @@ dns_zone_setstring(dns_zone_t *zone, char **field, const char *value) { } isc_result_t -dns_zone_setfile(dns_zone_t *zone, const char *file, - dns_masterformat_t format, +dns_zone_setfile(dns_zone_t *zone, const char *file, dns_masterformat_t format, const dns_master_style_t *style) { isc_result_t result = ISC_R_SUCCESS; @@ -1620,21 +1689,24 @@ dns_zone_setfile(dns_zone_t *zone, const char *file, } const char * -dns_zone_getfile(dns_zone_t *zone) { +dns_zone_getfile(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->masterfile); } dns_ttl_t -dns_zone_getmaxttl(dns_zone_t *zone) { +dns_zone_getmaxttl(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->maxttl); } void -dns_zone_setmaxttl(dns_zone_t *zone, dns_ttl_t maxttl) { +dns_zone_setmaxttl(dns_zone_t *zone, dns_ttl_t maxttl) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -1650,9 +1722,10 @@ dns_zone_setmaxttl(dns_zone_t *zone, dns_ttl_t maxttl) { } static isc_result_t -default_journal(dns_zone_t *zone) { +default_journal(dns_zone_t *zone) +{ isc_result_t result; - char *journal; + char * journal; REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(LOCKED_ZONE(zone)); @@ -1673,7 +1746,8 @@ default_journal(dns_zone_t *zone) { } isc_result_t -dns_zone_setjournal(dns_zone_t *zone, const char *myjournal) { +dns_zone_setjournal(dns_zone_t *zone, const char *myjournal) +{ isc_result_t result = ISC_R_SUCCESS; REQUIRE(DNS_ZONE_VALID(zone)); @@ -1686,7 +1760,8 @@ dns_zone_setjournal(dns_zone_t *zone, const char *myjournal) { } char * -dns_zone_getjournal(dns_zone_t *zone) { +dns_zone_getjournal(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->journal); @@ -1703,7 +1778,8 @@ dns_zone_getjournal(dns_zone_t *zone) { * exactly "{ none; }". */ bool -dns_zone_isdynamic(dns_zone_t *zone, bool ignore_freeze) { +dns_zone_isdynamic(dns_zone_t *zone, bool ignore_freeze) +{ REQUIRE(DNS_ZONE_VALID(zone)); if (zone->type == dns_zone_slave || zone->type == dns_zone_mirror || @@ -1723,7 +1799,6 @@ dns_zone_isdynamic(dns_zone_t *zone, bool ignore_freeze) { return (true); return (false); - } /* @@ -1763,7 +1838,8 @@ dns_zone_rpz_enable(dns_zone_t *zone, dns_rpz_zones_t *rpzs, } dns_rpz_num_t -dns_zone_get_rpz_num(dns_zone_t *zone) { +dns_zone_get_rpz_num(dns_zone_t *zone) +{ return (zone->rpz_num); } @@ -1771,31 +1847,32 @@ dns_zone_get_rpz_num(dns_zone_t *zone) { * If a zone is a response policy zone, mark its new database. */ void -dns_zone_rpz_enable_db(dns_zone_t *zone, dns_db_t *db) { +dns_zone_rpz_enable_db(dns_zone_t *zone, dns_db_t *db) +{ isc_result_t result; if (zone->rpz_num == DNS_RPZ_INVALID_NUM) { return; } REQUIRE(zone->rpzs != NULL); - result = dns_db_updatenotify_register(db, - dns_rpz_dbupdate_callback, + result = dns_db_updatenotify_register(db, dns_rpz_dbupdate_callback, zone->rpzs->zones[zone->rpz_num]); REQUIRE(result == ISC_R_SUCCESS); } static void -dns_zone_rpz_disable_db(dns_zone_t *zone, dns_db_t *db) { +dns_zone_rpz_disable_db(dns_zone_t *zone, dns_db_t *db) +{ if (zone->rpz_num == DNS_RPZ_INVALID_NUM) { return; } REQUIRE(zone->rpzs != NULL); - (void) dns_db_updatenotify_unregister(db, - dns_rpz_dbupdate_callback, - zone->rpzs->zones[zone->rpz_num]); + (void)dns_db_updatenotify_unregister(db, dns_rpz_dbupdate_callback, + zone->rpzs->zones[zone->rpz_num]); } void -dns_zone_catz_enable(dns_zone_t *zone, dns_catz_zones_t *catzs) { +dns_zone_catz_enable(dns_zone_t *zone, dns_catz_zones_t *catzs) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(catzs != NULL); @@ -1812,7 +1889,8 @@ dns_zone_catz_enable(dns_zone_t *zone, dns_catz_zones_t *catzs) { * If a zone is a catalog zone, attach it to update notification in database. */ void -dns_zone_catz_enable_db(dns_zone_t *zone, dns_db_t *db) { +dns_zone_catz_enable_db(dns_zone_t *zone, dns_db_t *db) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(db != NULL); @@ -1823,7 +1901,8 @@ dns_zone_catz_enable_db(dns_zone_t *zone, dns_db_t *db) { } static void -dns_zone_catz_disable_db(dns_zone_t *zone, dns_db_t *db) { +dns_zone_catz_disable_db(dns_zone_t *zone, dns_db_t *db) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(db != NULL); @@ -1837,7 +1916,8 @@ dns_zone_catz_disable_db(dns_zone_t *zone, dns_db_t *db) { * Set catalog zone ownership of the zone */ void -dns_zone_set_parentcatz(dns_zone_t *zone, dns_catz_zone_t *catz) { +dns_zone_set_parentcatz(dns_zone_t *zone, dns_catz_zone_t *catz) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(catz != NULL); LOCK_ZONE(zone); @@ -1847,16 +1927,17 @@ dns_zone_set_parentcatz(dns_zone_t *zone, dns_catz_zone_t *catz) { } dns_catz_zone_t * -dns_zone_get_parentcatz(const dns_zone_t *zone) { +dns_zone_get_parentcatz(const dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->parentcatz); } - static bool -zone_touched(dns_zone_t *zone) { - isc_result_t result; - isc_time_t modtime; +zone_touched(dns_zone_t *zone) +{ + isc_result_t result; + isc_time_t modtime; dns_include_t *include; REQUIRE(DNS_ZONE_VALID(zone)); @@ -1866,10 +1947,8 @@ zone_touched(dns_zone_t *zone) { isc_time_compare(&modtime, &zone->loadtime) > 0) return (true); - for (include = ISC_LIST_HEAD(zone->includes); - include != NULL; - include = ISC_LIST_NEXT(include, link)) - { + for (include = ISC_LIST_HEAD(zone->includes); include != NULL; + include = ISC_LIST_NEXT(include, link)) { result = isc_file_getmodtime(include->name, &modtime); if (result != ISC_R_SUCCESS || isc_time_compare(&modtime, &include->filetime) > 0) @@ -1885,12 +1964,13 @@ zone_touched(dns_zone_t *zone) { * in order to load the raw zone. */ static isc_result_t -zone_load(dns_zone_t *zone, unsigned int flags, bool locked) { +zone_load(dns_zone_t *zone, unsigned int flags, bool locked) +{ isc_result_t result; - isc_time_t now; - isc_time_t loadtime; - dns_db_t *db = NULL; - bool rbt, hasraw, is_dynamic; + isc_time_t now; + isc_time_t loadtime; + dns_db_t * db = NULL; + bool rbt, hasraw, is_dynamic; REQUIRE(DNS_ZONE_VALID(zone)); @@ -1926,7 +2006,7 @@ zone_load(dns_zone_t *zone, unsigned int flags, bool locked) { if (result != ISC_R_SUCCESS) { if (!locked) UNLOCK_ZONE(zone); - return(result); + return (result); } LOCK_ZONE(zone->raw); } @@ -1997,8 +2077,7 @@ zone_load(dns_zone_t *zone, unsigned int flags, bool locked) { } if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED) && - !zone_touched(zone)) - { + !zone_touched(zone)) { dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_DEBUG(1), "skipping load: master file " @@ -2034,13 +2113,11 @@ zone_load(dns_zone_t *zone, unsigned int flags, bool locked) { * but we need to associate the database with the zone object. */ if (strcmp(zone->db_argv[0], "dlz") == 0) { - dns_dlzdb_t *dlzdb; + dns_dlzdb_t * dlzdb; dns_dlzfindzone_t findzone; for (dlzdb = ISC_LIST_HEAD(zone->view->dlz_unsearched); - dlzdb != NULL; - dlzdb = ISC_LIST_NEXT(dlzdb, link)) - { + dlzdb != NULL; dlzdb = ISC_LIST_NEXT(dlzdb, link)) { INSIST(DNS_DLZ_VALID(dlzdb)); if (strcmp(zone->db_argv[1], dlzdb->dlzname) == 0) break; @@ -2050,7 +2127,8 @@ zone_load(dns_zone_t *zone, unsigned int flags, bool locked) { dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_ERROR, "DLZ %s does not exist or is set " - "to 'search yes;'", zone->db_argv[1]); + "to 'search yes;'", + zone->db_argv[1]); result = ISC_R_NOTFOUND; goto cleanup; } @@ -2060,8 +2138,8 @@ zone_load(dns_zone_t *zone, unsigned int flags, bool locked) { findzone = dlzdb->implementation->methods->findzone; result = (*findzone)(dlzdb->implementation->driverarg, dlzdb->dbdata, dlzdb->mctx, - zone->view->rdclass, &zone->origin, - NULL, NULL, &db); + zone->view->rdclass, &zone->origin, NULL, + NULL, &db); if (result != ISC_R_NOTFOUND) { if (zone->db != NULL) zone_detachdb(zone); @@ -2075,8 +2153,8 @@ zone_load(dns_zone_t *zone, unsigned int flags, bool locked) { if (dlzdb->configure_callback == NULL) goto cleanup; - result = (*dlzdb->configure_callback)(zone->view, - dlzdb, zone); + result = (*dlzdb->configure_callback)(zone->view, dlzdb, + zone); if (result != ISC_R_SUCCESS) dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_ERROR, @@ -2095,7 +2173,7 @@ zone_load(dns_zone_t *zone, unsigned int flags, bool locked) { if (zone->masterfile != NULL) { dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_DEBUG(1), - "no master file"); + "no master file"); } zone->refreshtime = now; if (zone->task != NULL) @@ -2105,27 +2183,25 @@ zone_load(dns_zone_t *zone, unsigned int flags, bool locked) { } } - dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, - ISC_LOG_DEBUG(1), "starting load"); + dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_DEBUG(1), + "starting load"); - result = dns_db_create(zone->mctx, zone->db_argv[0], - &zone->origin, (zone->type == dns_zone_stub) ? - dns_dbtype_stub : dns_dbtype_zone, - zone->rdclass, - zone->db_argc - 1, zone->db_argv + 1, - &db); + result = dns_db_create(zone->mctx, zone->db_argv[0], &zone->origin, + (zone->type == dns_zone_stub) ? dns_dbtype_stub + : dns_dbtype_zone, + zone->rdclass, zone->db_argc - 1, + zone->db_argv + 1, &db); if (result != ISC_R_SUCCESS) { dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_ERROR, - "loading zone: creating database: %s", - isc_result_totext(result)); + "loading zone: creating database: %s", + isc_result_totext(result)); goto cleanup; } dns_db_settask(db, zone->task); if (zone->type == dns_zone_master || zone->type == dns_zone_slave || - zone->type == dns_zone_mirror) - { + zone->type == dns_zone_mirror) { result = dns_db_setgluecachestats(db, zone->gluecachestats); if (result == ISC_R_NOTIMPLEMENTED) { result = ISC_R_SUCCESS; @@ -2145,12 +2221,13 @@ zone_load(dns_zone_t *zone, unsigned int flags, bool locked) { zone->masters == NULL)) { dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_ERROR, - "loading zone: " - "no master file configured"); + "loading zone: " + "no master file configured"); goto cleanup; } dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, - ISC_LOG_INFO, "loading zone: " + ISC_LOG_INFO, + "loading zone: " "no master file configured: continuing"); } } @@ -2164,7 +2241,7 @@ zone_load(dns_zone_t *zone, unsigned int flags, bool locked) { result = zone_postload(zone, db, loadtime, result); - cleanup: +cleanup: if (hasraw) UNLOCK_ZONE(zone->raw); if (!locked) @@ -2175,15 +2252,17 @@ zone_load(dns_zone_t *zone, unsigned int flags, bool locked) { } isc_result_t -dns_zone_load(dns_zone_t *zone, bool newonly) { +dns_zone_load(dns_zone_t *zone, bool newonly) +{ return (zone_load(zone, newonly ? DNS_ZONELOADFLAG_NOSTAT : 0, false)); } static void -zone_asyncload(isc_task_t *task, isc_event_t *event) { +zone_asyncload(isc_task_t *task, isc_event_t *event) +{ dns_asyncload_t *asl = event->ev_arg; - dns_zone_t *zone = asl->zone; - isc_result_t result; + dns_zone_t * zone = asl->zone; + isc_result_t result; UNUSED(task); @@ -2202,15 +2281,15 @@ zone_asyncload(isc_task_t *task, isc_event_t *event) { if (asl->loaded != NULL) (asl->loaded)(asl->loaded_arg, zone, task); - isc_mem_put(zone->mctx, asl, sizeof (*asl)); + isc_mem_put(zone->mctx, asl, sizeof(*asl)); dns_zone_idetach(&zone); } isc_result_t -dns_zone_asyncload(dns_zone_t *zone, bool newonly, - dns_zt_zoneloaded_t done, void *arg) +dns_zone_asyncload(dns_zone_t *zone, bool newonly, dns_zt_zoneloaded_t done, + void *arg) { - isc_event_t *e; + isc_event_t * e; dns_asyncload_t *asl = NULL; REQUIRE(DNS_ZONE_VALID(zone)); @@ -2233,10 +2312,8 @@ dns_zone_asyncload(dns_zone_t *zone, bool newonly, asl->loaded = done; asl->loaded_arg = arg; - e = isc_event_allocate(zone->zmgr->mctx, zone->zmgr, - DNS_EVENT_ZONELOAD, - zone_asyncload, asl, - sizeof(isc_event_t)); + e = isc_event_allocate(zone->zmgr->mctx, zone->zmgr, DNS_EVENT_ZONELOAD, + zone_asyncload, asl, sizeof(isc_event_t)); zone_iattach(zone, &asl->zone); DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_LOADPENDING); @@ -2247,19 +2324,20 @@ dns_zone_asyncload(dns_zone_t *zone, bool newonly, } bool -dns__zone_loadpending(dns_zone_t *zone) { +dns__zone_loadpending(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADPENDING)); } isc_result_t -dns_zone_loadandthaw(dns_zone_t *zone) { +dns_zone_loadandthaw(dns_zone_t *zone) +{ isc_result_t result; if (inline_raw(zone)) - result = zone_load(zone->secure, DNS_ZONELOADFLAG_THAW, - false); + result = zone_load(zone->secure, DNS_ZONELOADFLAG_THAW, false); else result = zone_load(zone, DNS_ZONELOADFLAG_THAW, false); @@ -2283,13 +2361,13 @@ dns_zone_loadandthaw(dns_zone_t *zone) { } static unsigned int -get_master_options(dns_zone_t *zone) { +get_master_options(dns_zone_t *zone) +{ unsigned int options; options = DNS_MASTER_ZONE | DNS_MASTER_RESIGN; if (zone->type == dns_zone_slave || zone->type == dns_zone_mirror || - (zone->type == dns_zone_redirect && zone->masters == NULL)) - { + (zone->type == dns_zone_redirect && zone->masters == NULL)) { options |= DNS_MASTER_SLAVE; } if (zone->type == dns_zone_key) { @@ -2324,9 +2402,10 @@ get_master_options(dns_zone_t *zone) { } static void -zone_registerinclude(const char *filename, void *arg) { - isc_result_t result; - dns_zone_t *zone = (dns_zone_t *) arg; +zone_registerinclude(const char *filename, void *arg) +{ + isc_result_t result; + dns_zone_t * zone = (dns_zone_t *)arg; dns_include_t *inc = NULL; REQUIRE(DNS_ZONE_VALID(zone)); @@ -2337,8 +2416,7 @@ zone_registerinclude(const char *filename, void *arg) { /* * Suppress duplicates. */ - for (inc = ISC_LIST_HEAD(zone->newincludes); - inc != NULL; + for (inc = ISC_LIST_HEAD(zone->newincludes); inc != NULL; inc = ISC_LIST_NEXT(inc, link)) if (strcmp(filename, inc->name) == 0) return; @@ -2355,8 +2433,9 @@ zone_registerinclude(const char *filename, void *arg) { } static void -zone_gotreadhandle(isc_task_t *task, isc_event_t *event) { - dns_load_t *load = event->ev_arg; +zone_gotreadhandle(isc_task_t *task, isc_event_t *event) +{ + dns_load_t * load = event->ev_arg; isc_result_t result = ISC_R_SUCCESS; unsigned int options; @@ -2370,37 +2449,32 @@ zone_gotreadhandle(isc_task_t *task, isc_event_t *event) { options = get_master_options(load->zone); - result = dns_master_loadfileinc(load->zone->masterfile, - dns_db_origin(load->db), - dns_db_origin(load->db), - load->zone->rdclass, options, 0, - &load->callbacks, task, - zone_loaddone, load, - &load->zone->lctx, - zone_registerinclude, - load->zone, load->zone->mctx, - load->zone->masterformat, - load->zone->maxttl); + result = dns_master_loadfileinc( + load->zone->masterfile, dns_db_origin(load->db), + dns_db_origin(load->db), load->zone->rdclass, options, 0, + &load->callbacks, task, zone_loaddone, load, &load->zone->lctx, + zone_registerinclude, load->zone, load->zone->mctx, + load->zone->masterformat, load->zone->maxttl); if (result != ISC_R_SUCCESS && result != DNS_R_CONTINUE && result != DNS_R_SEENINCLUDE) goto fail; return; - fail: +fail: zone_loaddone(load, result); } static void -get_raw_serial(dns_zone_t *raw, dns_masterrawheader_t *rawdata) { +get_raw_serial(dns_zone_t *raw, dns_masterrawheader_t *rawdata) +{ isc_result_t result; unsigned int soacount; LOCK(&raw->lock); if (raw->db != NULL) { result = zone_get_from_db(raw, raw->db, NULL, &soacount, - &rawdata->sourceserial, - NULL, NULL, NULL, NULL, - NULL); + &rawdata->sourceserial, NULL, NULL, + NULL, NULL, NULL); if (result == ISC_R_SUCCESS && soacount > 0U) rawdata->flags |= DNS_MASTERRAW_SOURCESERIALSET; } @@ -2408,11 +2482,12 @@ get_raw_serial(dns_zone_t *raw, dns_masterrawheader_t *rawdata) { } static void -zone_gotwritehandle(isc_task_t *task, isc_event_t *event) { - const char me[] = "zone_gotwritehandle"; - dns_zone_t *zone = event->ev_arg; - isc_result_t result = ISC_R_SUCCESS; - dns_dbversion_t *version = NULL; +zone_gotwritehandle(isc_task_t *task, isc_event_t *event) +{ + const char me[] = "zone_gotwritehandle"; + dns_zone_t * zone = event->ev_arg; + isc_result_t result = ISC_R_SUCCESS; + dns_dbversion_t * version = NULL; dns_masterrawheader_t rawdata; REQUIRE(DNS_ZONE_VALID(zone)); @@ -2441,11 +2516,10 @@ zone_gotwritehandle(isc_task_t *task, isc_event_t *event) { output_style = zone->masterstyle; else output_style = &dns_master_style_default; - result = dns_master_dumpinc(zone->mctx, zone->db, version, - output_style, zone->masterfile, - zone->task, dump_done, zone, - &zone->dctx, zone->masterformat, - &rawdata); + result = dns_master_dumpinc( + zone->mctx, zone->db, version, output_style, + zone->masterfile, zone->task, dump_done, zone, + &zone->dctx, zone->masterformat, &rawdata); dns_db_closeversion(zone->db, &version, false); } else result = ISC_R_CANCELED; @@ -2455,7 +2529,7 @@ zone_gotwritehandle(isc_task_t *task, isc_event_t *event) { goto fail; return; - fail: +fail: dump_done(zone, result); } @@ -2466,7 +2540,8 @@ zone_gotwritehandle(isc_task_t *task, isc_event_t *event) { * all we're interested in.) */ static void -zone_setrawdata(dns_zone_t *zone, dns_masterrawheader_t *header) { +zone_setrawdata(dns_zone_t *zone, dns_masterrawheader_t *header) +{ if ((header->flags & DNS_MASTERRAW_SOURCESERIALSET) == 0) return; @@ -2475,7 +2550,8 @@ zone_setrawdata(dns_zone_t *zone, dns_masterrawheader_t *header) { } void -dns_zone_setrawdata(dns_zone_t *zone, dns_masterrawheader_t *header) { +dns_zone_setrawdata(dns_zone_t *zone, dns_masterrawheader_t *header) +{ if (zone == NULL) return; @@ -2485,9 +2561,10 @@ dns_zone_setrawdata(dns_zone_t *zone, dns_masterrawheader_t *header) { } static isc_result_t -zone_startload(dns_db_t *db, dns_zone_t *zone, isc_time_t loadtime) { - const char me[] = "zone_startload"; - dns_load_t *load; +zone_startload(dns_db_t *db, dns_zone_t *zone, isc_time_t loadtime) +{ + const char me[] = "zone_startload"; + dns_load_t * load; isc_result_t result; isc_result_t tresult; unsigned int options; @@ -2522,8 +2599,7 @@ zone_startload(dns_db_t *db, dns_zone_t *zone, isc_time_t loadtime) { goto cleanup; } result = zonemgr_getio(zone->zmgr, true, zone->loadtask, - zone_gotreadhandle, load, - &zone->readio); + zone_gotreadhandle, load, &zone->readio); if (result != ISC_R_SUCCESS) { /* * We can't report multiple errors so ignore @@ -2545,14 +2621,11 @@ zone_startload(dns_db_t *db, dns_zone_t *zone, isc_time_t loadtime) { zone_idetach(&callbacks.zone); return (result); } - result = dns_master_loadfile(zone->masterfile, - &zone->origin, &zone->origin, - zone->rdclass, options, 0, - &callbacks, - zone_registerinclude, - zone, zone->mctx, - zone->masterformat, - zone->maxttl); + result = dns_master_loadfile( + zone->masterfile, &zone->origin, &zone->origin, + zone->rdclass, options, 0, &callbacks, + zone_registerinclude, zone, zone->mctx, + zone->masterformat, zone->maxttl); tresult = dns_db_endload(db, &callbacks); if (result == ISC_R_SUCCESS) { result = tresult; @@ -2562,7 +2635,7 @@ zone_startload(dns_db_t *db, dns_zone_t *zone, isc_time_t loadtime) { return (result); - cleanup: +cleanup: load->magic = 0; dns_db_detach(&load->db); zone_idetach(&load->zone); @@ -2576,13 +2649,13 @@ static bool zone_check_mx(dns_zone_t *zone, dns_db_t *db, dns_name_t *name, dns_name_t *owner) { - isc_result_t result; - char ownerbuf[DNS_NAME_FORMATSIZE]; - char namebuf[DNS_NAME_FORMATSIZE]; - char altbuf[DNS_NAME_FORMATSIZE]; + isc_result_t result; + char ownerbuf[DNS_NAME_FORMATSIZE]; + char namebuf[DNS_NAME_FORMATSIZE]; + char altbuf[DNS_NAME_FORMATSIZE]; dns_fixedname_t fixed; - dns_name_t *foundname; - int level; + dns_name_t * foundname; + int level; /* * "." means the services does not exist. @@ -2606,14 +2679,14 @@ zone_check_mx(dns_zone_t *zone, dns_db_t *db, dns_name_t *name, foundname = dns_fixedname_initname(&fixed); - result = dns_db_find(db, name, NULL, dns_rdatatype_a, - 0, 0, NULL, foundname, NULL, NULL); + result = dns_db_find(db, name, NULL, dns_rdatatype_a, 0, 0, NULL, + foundname, NULL, NULL); if (result == ISC_R_SUCCESS) return (true); if (result == DNS_R_NXRRSET) { - result = dns_db_find(db, name, NULL, dns_rdatatype_aaaa, - 0, 0, NULL, foundname, NULL, NULL); + result = dns_db_find(db, name, NULL, dns_rdatatype_aaaa, 0, 0, + NULL, foundname, NULL, NULL); if (result == ISC_R_SUCCESS) return (true); } @@ -2647,9 +2720,10 @@ zone_check_mx(dns_zone_t *zone, dns_db_t *db, dns_name_t *name, level = ISC_LOG_WARNING; if (!DNS_ZONE_OPTION(zone, DNS_ZONEOPT_IGNOREMXCNAME)) { dns_name_format(foundname, altbuf, sizeof altbuf); - dns_zone_log(zone, level, "%s/MX '%s' is below a DNAME" - " '%s' (illegal)", ownerbuf, namebuf, - altbuf); + dns_zone_log(zone, level, + "%s/MX '%s' is below a DNAME" + " '%s' (illegal)", + ownerbuf, namebuf, altbuf); } return ((level == ISC_LOG_WARNING) ? true : false); } @@ -2664,13 +2738,13 @@ static bool zone_check_srv(dns_zone_t *zone, dns_db_t *db, dns_name_t *name, dns_name_t *owner) { - isc_result_t result; - char ownerbuf[DNS_NAME_FORMATSIZE]; - char namebuf[DNS_NAME_FORMATSIZE]; - char altbuf[DNS_NAME_FORMATSIZE]; + isc_result_t result; + char ownerbuf[DNS_NAME_FORMATSIZE]; + char namebuf[DNS_NAME_FORMATSIZE]; + char altbuf[DNS_NAME_FORMATSIZE]; dns_fixedname_t fixed; - dns_name_t *foundname; - int level; + dns_name_t * foundname; + int level; /* * "." means the services does not exist. @@ -2694,14 +2768,14 @@ zone_check_srv(dns_zone_t *zone, dns_db_t *db, dns_name_t *name, foundname = dns_fixedname_initname(&fixed); - result = dns_db_find(db, name, NULL, dns_rdatatype_a, - 0, 0, NULL, foundname, NULL, NULL); + result = dns_db_find(db, name, NULL, dns_rdatatype_a, 0, 0, NULL, + foundname, NULL, NULL); if (result == ISC_R_SUCCESS) return (true); if (result == DNS_R_NXRRSET) { - result = dns_db_find(db, name, NULL, dns_rdatatype_aaaa, - 0, 0, NULL, foundname, NULL, NULL); + result = dns_db_find(db, name, NULL, dns_rdatatype_aaaa, 0, 0, + NULL, foundname, NULL, NULL); if (result == ISC_R_SUCCESS) return (true); } @@ -2734,9 +2808,10 @@ zone_check_srv(dns_zone_t *zone, dns_db_t *db, dns_name_t *name, level = ISC_LOG_WARNING; if (!DNS_ZONE_OPTION(zone, DNS_ZONEOPT_IGNORESRVCNAME)) { dns_name_format(foundname, altbuf, sizeof altbuf); - dns_zone_log(zone, level, "%s/SRV '%s' is below a " - "DNAME '%s' (illegal)", ownerbuf, namebuf, - altbuf); + dns_zone_log(zone, level, + "%s/SRV '%s' is below a " + "DNAME '%s' (illegal)", + ownerbuf, namebuf, altbuf); } return ((level == ISC_LOG_WARNING) ? true : false); } @@ -2751,16 +2826,16 @@ static bool zone_check_glue(dns_zone_t *zone, dns_db_t *db, dns_name_t *name, dns_name_t *owner) { - bool answer = true; - isc_result_t result, tresult; - char ownerbuf[DNS_NAME_FORMATSIZE]; - char namebuf[DNS_NAME_FORMATSIZE]; - char altbuf[DNS_NAME_FORMATSIZE]; + bool answer = true; + isc_result_t result, tresult; + char ownerbuf[DNS_NAME_FORMATSIZE]; + char namebuf[DNS_NAME_FORMATSIZE]; + char altbuf[DNS_NAME_FORMATSIZE]; dns_fixedname_t fixed; - dns_name_t *foundname; - dns_rdataset_t a; - dns_rdataset_t aaaa; - int level; + dns_name_t * foundname; + dns_rdataset_t a; + dns_rdataset_t aaaa; + int level; /* * Outside of zone. @@ -2784,8 +2859,8 @@ zone_check_glue(dns_zone_t *zone, dns_db_t *db, dns_name_t *name, * Perform a regular lookup to catch DNAME records then look * for glue. */ - result = dns_db_find(db, name, NULL, dns_rdatatype_a, - 0, 0, NULL, foundname, &a, NULL); + result = dns_db_find(db, name, NULL, dns_rdatatype_a, 0, 0, NULL, + foundname, &a, NULL); switch (result) { case ISC_R_SUCCESS: case DNS_R_DNAME: @@ -2795,8 +2870,8 @@ zone_check_glue(dns_zone_t *zone, dns_db_t *db, dns_name_t *name, if (dns_rdataset_isassociated(&a)) dns_rdataset_disassociate(&a); result = dns_db_find(db, name, NULL, dns_rdatatype_a, - DNS_DBFIND_GLUEOK, 0, NULL, - foundname, &a, NULL); + DNS_DBFIND_GLUEOK, 0, NULL, foundname, &a, + NULL); } if (result == ISC_R_SUCCESS) { dns_rdataset_disassociate(&a); @@ -2807,8 +2882,8 @@ zone_check_glue(dns_zone_t *zone, dns_db_t *db, dns_name_t *name, if (result == DNS_R_NXRRSET || result == DNS_R_DELEGATION || result == DNS_R_GLUE) { tresult = dns_db_find(db, name, NULL, dns_rdatatype_aaaa, - DNS_DBFIND_GLUEOK, 0, NULL, - foundname, &aaaa, NULL); + DNS_DBFIND_GLUEOK, 0, NULL, foundname, + &aaaa, NULL); if (tresult == ISC_R_SUCCESS) { if (dns_rdataset_isassociated(&a)) dns_rdataset_disassociate(&a); @@ -2822,8 +2897,8 @@ zone_check_glue(dns_zone_t *zone, dns_db_t *db, dns_name_t *name, * Check glue against child zone. */ if (zone->checkns != NULL) - answer = (zone->checkns)(zone, name, owner, - &a, &aaaa); + answer = (zone->checkns)(zone, name, owner, &a, + &aaaa); if (dns_rdataset_isassociated(&a)) dns_rdataset_disassociate(&a); if (dns_rdataset_isassociated(&aaaa)) @@ -2837,26 +2912,27 @@ zone_check_glue(dns_zone_t *zone, dns_db_t *db, dns_name_t *name, if (result == DNS_R_NXRRSET || result == DNS_R_NXDOMAIN || result == DNS_R_EMPTYNAME || result == DNS_R_DELEGATION) { const char *what; - bool required = false; + bool required = false; if (dns_name_issubdomain(name, owner)) { what = "REQUIRED GLUE "; required = true; - } else if (result == DNS_R_DELEGATION) + } else if (result == DNS_R_DELEGATION) what = "SIBLING GLUE "; else what = ""; if (result != DNS_R_DELEGATION || required || DNS_ZONE_OPTION(zone, DNS_ZONEOPT_CHECKSIBLING)) { - dns_zone_log(zone, level, "%s/NS '%s' has no %s" + dns_zone_log(zone, level, + "%s/NS '%s' has no %s" "address records (A or AAAA)", ownerbuf, namebuf, what); /* * Log missing address record. */ if (result == DNS_R_DELEGATION && zone->checkns != NULL) - (void)(zone->checkns)(zone, name, owner, - &a, &aaaa); + (void)(zone->checkns)(zone, name, owner, &a, + &aaaa); /* XXX950 make fatal for 9.5.0. */ /* answer = false; */ } @@ -2886,22 +2962,21 @@ zone_rrset_check_dup(dns_zone_t *zone, dns_name_t *owner, dns_rdataset_t *rdataset) { dns_rdataset_t tmprdataset; - isc_result_t result; - bool answer = true; - bool format = true; - int level = ISC_LOG_WARNING; - char ownerbuf[DNS_NAME_FORMATSIZE]; - char typebuf[DNS_RDATATYPE_FORMATSIZE]; - unsigned int count1 = 0; + isc_result_t result; + bool answer = true; + bool format = true; + int level = ISC_LOG_WARNING; + char ownerbuf[DNS_NAME_FORMATSIZE]; + char typebuf[DNS_RDATATYPE_FORMATSIZE]; + unsigned int count1 = 0; if (DNS_ZONE_OPTION(zone, DNS_ZONEOPT_CHECKDUPRRFAIL)) level = ISC_LOG_ERROR; dns_rdataset_init(&tmprdataset); - for (result = dns_rdataset_first(rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(rdataset)) { - dns_rdata_t rdata1 = DNS_RDATA_INIT; + dns_rdata_t rdata1 = DNS_RDATA_INIT; unsigned int count2 = 0; count1++; @@ -2924,7 +2999,8 @@ zone_rrset_check_dup(dns_zone_t *zone, dns_name_t *owner, sizeof(typebuf)); format = false; } - dns_zone_log(zone, level, "%s/%s has " + dns_zone_log(zone, level, + "%s/%s has " "semantically identical records", ownerbuf, typebuf); if (level == ISC_LOG_ERROR) @@ -2940,15 +3016,16 @@ zone_rrset_check_dup(dns_zone_t *zone, dns_name_t *owner, } static bool -zone_check_dup(dns_zone_t *zone, dns_db_t *db) { - dns_dbiterator_t *dbiterator = NULL; - dns_dbnode_t *node = NULL; - dns_fixedname_t fixed; - dns_name_t *name; - dns_rdataset_t rdataset; +zone_check_dup(dns_zone_t *zone, dns_db_t *db) +{ + dns_dbiterator_t * dbiterator = NULL; + dns_dbnode_t * node = NULL; + dns_fixedname_t fixed; + dns_name_t * name; + dns_rdataset_t rdataset; dns_rdatasetiter_t *rdsit = NULL; - bool ok = true; - isc_result_t result; + bool ok = true; + isc_result_t result; name = dns_fixedname_initname(&fixed); dns_rdataset_init(&rdataset); @@ -2957,8 +3034,7 @@ zone_check_dup(dns_zone_t *zone, dns_db_t *db) { if (result != ISC_R_SUCCESS) return (true); - for (result = dns_dbiterator_first(dbiterator); - result == ISC_R_SUCCESS; + for (result = dns_dbiterator_first(dbiterator); result == ISC_R_SUCCESS; result = dns_dbiterator_next(dbiterator)) { result = dns_dbiterator_current(dbiterator, &node, name); if (result != ISC_R_SUCCESS) @@ -2988,10 +3064,11 @@ zone_check_dup(dns_zone_t *zone, dns_db_t *db) { } static bool -isspf(const dns_rdata_t *rdata) { - char buf[1024]; +isspf(const dns_rdata_t *rdata) +{ + char buf[1024]; const unsigned char *data = rdata->data; - unsigned int rdl = rdata->length, i = 0, tl, len; + unsigned int rdl = rdata->length, i = 0, tl, len; while (rdl > 0U) { len = tl = *data; @@ -3007,7 +3084,7 @@ isspf(const dns_rdata_t *rdata) { } if (i < 6U) - return(false); + return (false); buf[i] = 0; if (strncmp(buf, "v=spf1", 6) == 0 && (buf[6] == 0 || buf[6] == ' ')) @@ -3016,20 +3093,21 @@ isspf(const dns_rdata_t *rdata) { } static bool -integrity_checks(dns_zone_t *zone, dns_db_t *db) { - dns_dbiterator_t *dbiterator = NULL; - dns_dbnode_t *node = NULL; - dns_rdataset_t rdataset; - dns_fixedname_t fixed; - dns_fixedname_t fixedbottom; - dns_rdata_mx_t mx; - dns_rdata_ns_t ns; +integrity_checks(dns_zone_t *zone, dns_db_t *db) +{ + dns_dbiterator_t * dbiterator = NULL; + dns_dbnode_t * node = NULL; + dns_rdataset_t rdataset; + dns_fixedname_t fixed; + dns_fixedname_t fixedbottom; + dns_rdata_mx_t mx; + dns_rdata_ns_t ns; dns_rdata_in_srv_t srv; - dns_rdata_t rdata; - dns_name_t *name; - dns_name_t *bottom; - isc_result_t result; - bool ok = true, have_spf, have_txt; + dns_rdata_t rdata; + dns_name_t * name; + dns_name_t * bottom; + isc_result_t result; + bool ok = true, have_spf, have_txt; name = dns_fixedname_initname(&fixed); bottom = dns_fixedname_initname(&fixedbottom); @@ -3082,7 +3160,7 @@ integrity_checks(dns_zone_t *zone, dns_db_t *db) { dns_rdataset_disassociate(&rdataset); goto next; - checkfordname: + checkfordname: result = dns_db_findrdataset(db, node, NULL, dns_rdatatype_dname, 0, 0, &rdataset, NULL); @@ -3110,7 +3188,7 @@ integrity_checks(dns_zone_t *zone, dns_db_t *db) { } dns_rdataset_disassociate(&rdataset); - checksrv: + checksrv: if (zone->rdclass != dns_rdataclass_in) goto next; result = dns_db_findrdataset(db, node, NULL, dns_rdatatype_srv, @@ -3129,7 +3207,7 @@ integrity_checks(dns_zone_t *zone, dns_db_t *db) { } dns_rdataset_disassociate(&rdataset); - checkspf: + checkspf: /* * Check if there is a type SPF record without an * SPF-formatted type TXT record also being present. @@ -3160,22 +3238,24 @@ integrity_checks(dns_zone_t *zone, dns_db_t *db) { } dns_rdataset_disassociate(&rdataset); - notxt: + notxt: if (have_spf && !have_txt) { char namebuf[DNS_NAME_FORMATSIZE]; dns_name_format(name, namebuf, sizeof(namebuf)); - dns_zone_log(zone, ISC_LOG_WARNING, "'%s' found type " + dns_zone_log(zone, ISC_LOG_WARNING, + "'%s' found type " "SPF record but no SPF TXT record found, " - "add matching type TXT record", namebuf); + "add matching type TXT record", + namebuf); } - next: + next: dns_db_detachnode(db, &node); result = dns_dbiterator_next(dbiterator); } - cleanup: +cleanup: if (node != NULL) dns_db_detachnode(db, &node); dns_dbiterator_destroy(&dbiterator); @@ -3189,13 +3269,14 @@ integrity_checks(dns_zone_t *zone, dns_db_t *db) { * if they are in use. */ static void -zone_check_dnskeys(dns_zone_t *zone, dns_db_t *db) { - dns_dbnode_t *node = NULL; - dns_dbversion_t *version = NULL; +zone_check_dnskeys(dns_zone_t *zone, dns_db_t *db) +{ + dns_dbnode_t * node = NULL; + dns_dbversion_t * version = NULL; dns_rdata_dnskey_t dnskey; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdataset_t rdataset; - isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdataset_t rdataset; + isc_result_t result; result = dns_db_findnode(db, &zone->origin, false, &node); if (result != ISC_R_SUCCESS) { @@ -3210,10 +3291,8 @@ zone_check_dnskeys(dns_zone_t *zone, dns_db_t *db) { goto cleanup; } - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(&rdataset)) - { + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(&rdataset)) { dns_rdataset_current(&rdataset, &rdata); result = dns_rdata_tostruct(&rdata, &dnskey, NULL); INSIST(result == ISC_R_SUCCESS); @@ -3235,11 +3314,10 @@ zone_check_dnskeys(dns_zone_t *zone, dns_db_t *db) { * fermat number). */ if (dnskey.datalen > 1 && dnskey.data[0] == 1 && - dnskey.data[1] == 3) - { - const char *algorithm = ""; + dnskey.data[1] == 3) { + const char * algorithm = ""; isc_region_t r; - bool logit = true; + bool logit = true; dns_rdata_toregion(&rdata, &r); @@ -3267,8 +3345,8 @@ zone_check_dnskeys(dns_zone_t *zone, dns_db_t *db) { if (logit) { dnssec_log(zone, ISC_LOG_WARNING, "weak %s (%u) key found " - "(exponent=3, id=%u)", algorithm, - dnskey.algorithm, + "(exponent=3, id=%u)", + algorithm, dnskey.algorithm, dst_region_computeid(&r)); } } @@ -3276,7 +3354,7 @@ zone_check_dnskeys(dns_zone_t *zone, dns_db_t *db) { } dns_rdataset_disassociate(&rdataset); - cleanup: +cleanup: if (node != NULL) { dns_db_detachnode(db, &node); } @@ -3286,13 +3364,14 @@ zone_check_dnskeys(dns_zone_t *zone, dns_db_t *db) { } static void -resume_signingwithkey(dns_zone_t *zone) { - dns_dbnode_t *node = NULL; +resume_signingwithkey(dns_zone_t *zone) +{ + dns_dbnode_t * node = NULL; dns_dbversion_t *version = NULL; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdataset_t rdataset; - isc_result_t result; - dns_db_t *db = NULL; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdataset_t rdataset; + isc_result_t result; + dns_db_t * db = NULL; ZONEDB_LOCK(&zone->dblock, isc_rwlocktype_read); if (zone->db != NULL) { @@ -3310,23 +3389,18 @@ resume_signingwithkey(dns_zone_t *zone) { dns_db_currentversion(db, &version); dns_rdataset_init(&rdataset); - result = dns_db_findrdataset(db, node, version, - zone->privatetype, - dns_rdatatype_none, 0, - &rdataset, NULL); + result = dns_db_findrdataset(db, node, version, zone->privatetype, + dns_rdatatype_none, 0, &rdataset, NULL); if (result != ISC_R_SUCCESS) { INSIST(!dns_rdataset_isassociated(&rdataset)); goto cleanup; } - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(&rdataset)) - { + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(&rdataset)) { dns_rdataset_current(&rdataset, &rdata); - if (rdata.length != 5 || - rdata.data[0] == 0 || rdata.data[4] != 0) - { + if (rdata.length != 5 || rdata.data[0] == 0 || + rdata.data[4] != 0) { dns_rdata_reset(&rdata); continue; } @@ -3343,7 +3417,7 @@ resume_signingwithkey(dns_zone_t *zone) { } dns_rdataset_disassociate(&rdataset); - cleanup: +cleanup: if (db != NULL) { if (node != NULL) { dns_db_detachnode(db, &node); @@ -3362,16 +3436,17 @@ resume_signingwithkey(dns_zone_t *zone) { * Zone must be locked by caller. */ static isc_result_t -zone_addnsec3chain(dns_zone_t *zone, dns_rdata_nsec3param_t *nsec3param) { +zone_addnsec3chain(dns_zone_t *zone, dns_rdata_nsec3param_t *nsec3param) +{ dns_nsec3chain_t *nsec3chain, *current; - dns_dbversion_t *version = NULL; - bool nseconly = false, nsec3ok = false; - isc_result_t result; - isc_time_t now; - unsigned int options = 0; - char saltbuf[255*2+1]; - char flags[sizeof("INITIAL|REMOVE|CREATE|NONSEC|OPTOUT")]; - dns_db_t *db = NULL; + dns_dbversion_t * version = NULL; + bool nseconly = false, nsec3ok = false; + isc_result_t result; + isc_time_t now; + unsigned int options = 0; + char saltbuf[255 * 2 + 1]; + char flags[sizeof("INITIAL|REMOVE|CREATE|NONSEC|OPTOUT")]; + dns_db_t * db = NULL; ZONEDB_LOCK(&zone->dblock, isc_rwlocktype_read); if (zone->db != NULL) { @@ -3460,8 +3535,8 @@ zone_addnsec3chain(dns_zone_t *zone, dns_rdata_nsec3param_t *nsec3param) { } } } - result = dns_nsec3param_salttotext(nsec3param, saltbuf, - sizeof(saltbuf)); + result = + dns_nsec3param_salttotext(nsec3param, saltbuf, sizeof(saltbuf)); RUNTIME_CHECK(result == ISC_R_SUCCESS); dnssec_log(zone, ISC_LOG_INFO, "zone_addnsec3chain(%u,%s,%u,%s)", nsec3param->hash, flags, nsec3param->iterations, saltbuf); @@ -3471,10 +3546,8 @@ zone_addnsec3chain(dns_zone_t *zone, dns_rdata_nsec3param_t *nsec3param) { * currently being processed, interrupt its processing to avoid * simultaneously adding and removing records for the same NSEC3 chain. */ - for (current = ISC_LIST_HEAD(zone->nsec3chain); - current != NULL; - current = ISC_LIST_NEXT(current, link)) - { + for (current = ISC_LIST_HEAD(zone->nsec3chain); current != NULL; + current = ISC_LIST_NEXT(current, link)) { if ((current->db == db) && (current->nsec3param.hash == nsec3param->hash) && (current->nsec3param.iterations == @@ -3482,8 +3555,7 @@ zone_addnsec3chain(dns_zone_t *zone, dns_rdata_nsec3param_t *nsec3param) { (current->nsec3param.salt_length == nsec3param->salt_length) && memcmp(current->nsec3param.salt, nsec3param->salt, - nsec3param->salt_length) == 0) - { + nsec3param->salt_length) == 0) { current->done = true; } } @@ -3512,8 +3584,7 @@ zone_addnsec3chain(dns_zone_t *zone, dns_rdata_nsec3param_t *nsec3param) { * possible. */ dns_dbiterator_pause(nsec3chain->dbiterator); - ISC_LIST_INITANDAPPEND(zone->nsec3chain, - nsec3chain, link); + ISC_LIST_INITANDAPPEND(zone->nsec3chain, nsec3chain, link); nsec3chain = NULL; if (isc_time_isepoch(&zone->nsec3chaintime)) { TIME_NOW(&now); @@ -3534,7 +3605,7 @@ zone_addnsec3chain(dns_zone_t *zone, dns_rdata_nsec3param_t *nsec3param) { isc_mem_put(zone->mctx, nsec3chain, sizeof *nsec3chain); } - cleanup: +cleanup: if (db != NULL) { dns_db_detach(&db); } @@ -3549,14 +3620,15 @@ zone_addnsec3chain(dns_zone_t *zone, dns_rdata_nsec3param_t *nsec3param) { * Zone must be locked by caller. */ static void -resume_addnsec3chain(dns_zone_t *zone) { - dns_dbnode_t *node = NULL; - dns_dbversion_t *version = NULL; - dns_rdataset_t rdataset; - isc_result_t result; +resume_addnsec3chain(dns_zone_t *zone) +{ + dns_dbnode_t * node = NULL; + dns_dbversion_t * version = NULL; + dns_rdataset_t rdataset; + isc_result_t result; dns_rdata_nsec3param_t nsec3param; - bool nseconly = false, nsec3ok = false; - dns_db_t *db = NULL; + bool nseconly = false, nsec3ok = false; + dns_db_t * db = NULL; INSIST(LOCKED_ZONE(zone)); @@ -3590,20 +3662,17 @@ resume_addnsec3chain(dns_zone_t *zone) { * Get the RRset containing all private-type records at the zone apex. */ dns_rdataset_init(&rdataset); - result = dns_db_findrdataset(db, node, version, - zone->privatetype, dns_rdatatype_none, - 0, &rdataset, NULL); + result = dns_db_findrdataset(db, node, version, zone->privatetype, + dns_rdatatype_none, 0, &rdataset, NULL); if (result != ISC_R_SUCCESS) { INSIST(!dns_rdataset_isassociated(&rdataset)); goto cleanup; } - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(&rdataset)) - { + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(&rdataset)) { unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE]; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_t private = DNS_RDATA_INIT; dns_rdataset_current(&rdataset, &private); @@ -3613,15 +3682,14 @@ resume_addnsec3chain(dns_zone_t *zone) { * represent an NSEC3PARAM record, so skip it. */ if (!dns_nsec3param_fromprivate(&private, &rdata, buf, - sizeof(buf))) - { + sizeof(buf))) { continue; } result = dns_rdata_tostruct(&rdata, &nsec3param, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); if (((nsec3param.flags & DNS_NSEC3FLAG_REMOVE) != 0) || - ((nsec3param.flags & DNS_NSEC3FLAG_CREATE) != 0 && nsec3ok)) - { + ((nsec3param.flags & DNS_NSEC3FLAG_CREATE) != 0 && + nsec3ok)) { /* * Pass the NSEC3PARAM RDATA contained in this * private-type record to zone_addnsec3chain() so that @@ -3637,7 +3705,7 @@ resume_addnsec3chain(dns_zone_t *zone) { } dns_rdataset_disassociate(&rdataset); - cleanup: +cleanup: if (db != NULL) { if (node != NULL) { dns_db_detachnode(db, &node); @@ -3650,22 +3718,24 @@ resume_addnsec3chain(dns_zone_t *zone) { } static void -set_resigntime(dns_zone_t *zone) { - dns_rdataset_t rdataset; +set_resigntime(dns_zone_t *zone) +{ + dns_rdataset_t rdataset; dns_fixedname_t fixed; - unsigned int resign; - isc_result_t result; - uint32_t nanosecs; - dns_db_t *db = NULL; + unsigned int resign; + isc_result_t result; + uint32_t nanosecs; + dns_db_t * db = NULL; /* We only re-sign zones that can be dynamically updated */ if (zone->update_disabled) { return; } - if (!inline_secure(zone) && (zone->type != dns_zone_master || - (zone->ssutable == NULL && - (zone->update_acl == NULL || dns_acl_isnone(zone->update_acl))))) + if (!inline_secure(zone) && + (zone->type != dns_zone_master || + (zone->ssutable == NULL && + (zone->update_acl == NULL || dns_acl_isnone(zone->update_acl))))) return; dns_rdataset_init(&rdataset); @@ -3692,22 +3762,24 @@ set_resigntime(dns_zone_t *zone) { nanosecs = isc_random_uniform(1000000000); isc_time_set(&zone->resigntime, resign, nanosecs); - cleanup: +cleanup: dns_db_detach(&db); return; } static isc_result_t -check_nsec3param(dns_zone_t *zone, dns_db_t *db) { - dns_dbnode_t *node = NULL; - dns_rdataset_t rdataset; - dns_dbversion_t *version = NULL; +check_nsec3param(dns_zone_t *zone, dns_db_t *db) +{ + dns_dbnode_t * node = NULL; + dns_rdataset_t rdataset; + dns_dbversion_t * version = NULL; dns_rdata_nsec3param_t nsec3param; - bool ok = false; - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; - bool dynamic = (zone->type == dns_zone_master) - ? dns_zone_isdynamic(zone, false) : false; + bool ok = false; + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; + bool dynamic = (zone->type == dns_zone_master) + ? dns_zone_isdynamic(zone, false) + : false; dynamic = dynamic || dns_zone_getkasp(zone); dns_rdataset_init(&rdataset); @@ -3741,19 +3813,17 @@ check_nsec3param(dns_zone_t *zone, dns_db_t *db) { * regenerate all the NSEC3 chains. * For non-dynamic zones we only need to find a supported algorithm. */ - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(&rdataset)) - { + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(&rdataset)) { dns_rdataset_current(&rdataset, &rdata); result = dns_rdata_tostruct(&rdata, &nsec3param, NULL); dns_rdata_reset(&rdata); INSIST(result == ISC_R_SUCCESS); if (DNS_ZONE_OPTION(zone, DNS_ZONEOPT_NSEC3TESTZONE) && - nsec3param.hash == DNS_NSEC3_UNKNOWNALG && !dynamic) - { + nsec3param.hash == DNS_NSEC3_UNKNOWNALG && !dynamic) { dns_zone_log(zone, ISC_LOG_WARNING, - "nsec3 test \"unknown\" hash algorithm found: %u", + "nsec3 test \"unknown\" hash algorithm " + "found: %u", nsec3param.hash); ok = true; } else if (!dns_nsec3_supportedhash(nsec3param.hash)) { @@ -3768,7 +3838,8 @@ check_nsec3param(dns_zone_t *zone, dns_db_t *db) { break; } else dns_zone_log(zone, ISC_LOG_WARNING, - "unsupported nsec3 hash algorithm: %u", + "unsupported nsec3 hash " + "algorithm: %u", nsec3param.hash); } else { ok = true; @@ -3784,7 +3855,7 @@ check_nsec3param(dns_zone_t *zone, dns_db_t *db) { "no supported nsec3 hash algorithm"); } - cleanup: +cleanup: if (dns_rdataset_isassociated(&rdataset)) { dns_rdataset_disassociate(&rdataset); } @@ -3802,10 +3873,10 @@ static void set_refreshkeytimer(dns_zone_t *zone, dns_rdata_keydata_t *key, isc_stdtime_t now, bool force) { - const char me[] = "set_refreshkeytimer"; + const char me[] = "set_refreshkeytimer"; isc_stdtime_t then; - isc_time_t timenow, timethen; - char timebuf[80]; + isc_time_t timenow, timethen; + char timebuf[80]; ENTER; then = key->refresh; @@ -3841,16 +3912,16 @@ set_refreshkeytimer(dns_zone_t *zone, dns_rdata_keydata_t *key, */ static isc_result_t create_keydata(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, - dns_diff_t *diff, dns_keynode_t *keynode, - dns_name_t *keyname, bool *changed) + dns_diff_t *diff, dns_keynode_t *keynode, dns_name_t *keyname, + bool *changed) { - const char me[] = "create_keydata"; - isc_result_t result = ISC_R_SUCCESS; - dns_rdata_t rdata = DNS_RDATA_INIT; + const char me[] = "create_keydata"; + isc_result_t result = ISC_R_SUCCESS; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_keydata_t kd; - unsigned char rrdata[4096]; - isc_buffer_t rrdatabuf; - isc_stdtime_t now; + unsigned char rrdata[4096]; + isc_buffer_t rrdatabuf; + isc_stdtime_t now; REQUIRE(keynode != NULL); @@ -3871,19 +3942,17 @@ create_keydata(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, isc_buffer_init(&rrdatabuf, rrdata, sizeof(rrdata)); - CHECK(dns_rdata_fromstruct(&rdata, zone->rdclass, - dns_rdatatype_keydata, + CHECK(dns_rdata_fromstruct(&rdata, zone->rdclass, dns_rdatatype_keydata, &kd, &rrdatabuf)); /* Add rdata to zone. */ - CHECK(update_one_rr(db, ver, diff, DNS_DIFFOP_ADD, - keyname, 0, &rdata)); + CHECK(update_one_rr(db, ver, diff, DNS_DIFFOP_ADD, keyname, 0, &rdata)); *changed = true; /* Refresh new keys from the zone apex as soon as possible. */ set_refreshkeytimer(zone, &kd, now, true); return (ISC_R_SUCCESS); - failure: +failure: return (result); } @@ -3894,16 +3963,15 @@ static isc_result_t delete_keydata(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, dns_name_t *name, dns_rdataset_t *rdataset) { - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; isc_result_t result, uresult; - for (result = dns_rdataset_first(rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(rdataset)) { dns_rdata_reset(&rdata); dns_rdataset_current(rdataset, &rdata); - uresult = update_one_rr(db, ver, diff, DNS_DIFFOP_DEL, - name, 0, &rdata); + uresult = update_one_rr(db, ver, diff, DNS_DIFFOP_DEL, name, 0, + &rdata); if (uresult != ISC_R_SUCCESS) return (uresult); } @@ -3919,11 +3987,11 @@ static isc_result_t compute_tag(dns_name_t *name, dns_rdata_dnskey_t *dnskey, isc_mem_t *mctx, dns_keytag_t *tag) { - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; unsigned char data[4096]; - isc_buffer_t buffer; - dst_key_t *dstkey = NULL; + isc_buffer_t buffer; + dst_key_t * dstkey = NULL; isc_buffer_init(&buffer, data, sizeof(data)); dns_rdata_fromstruct(&rdata, dnskey->common.rdclass, @@ -3942,15 +4010,15 @@ compute_tag(dns_name_t *name, dns_rdata_dnskey_t *dnskey, isc_mem_t *mctx, * Add key to the security roots. */ static void -trust_key(dns_zone_t *zone, dns_name_t *keyname, - dns_rdata_dnskey_t *dnskey, bool initial) +trust_key(dns_zone_t *zone, dns_name_t *keyname, dns_rdata_dnskey_t *dnskey, + bool initial) { - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; - unsigned char data[4096], digest[ISC_MAX_MD_SIZE]; - isc_buffer_t buffer; + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; + unsigned char data[4096], digest[ISC_MAX_MD_SIZE]; + isc_buffer_t buffer; dns_keytable_t *sr = NULL; - dns_rdata_ds_t ds; + dns_rdata_ds_t ds; result = dns_view_getsecroots(zone->view, &sr); if (result != ISC_R_SUCCESS) { @@ -3961,13 +4029,13 @@ trust_key(dns_zone_t *zone, dns_name_t *keyname, isc_buffer_init(&buffer, data, sizeof(data)); dns_rdata_fromstruct(&rdata, dnskey->common.rdclass, dns_rdatatype_dnskey, dnskey, &buffer); - CHECK(dns_ds_fromkeyrdata(keyname, &rdata, DNS_DSDIGEST_SHA256, - digest, &ds)); + CHECK(dns_ds_fromkeyrdata(keyname, &rdata, DNS_DSDIGEST_SHA256, digest, + &ds)); CHECK(dns_keytable_add(sr, true, initial, keyname, &ds)); dns_keytable_detach(&sr); - failure: +failure: if (sr != NULL) { dns_keytable_detach(&sr); } @@ -3979,8 +4047,9 @@ trust_key(dns_zone_t *zone, dns_name_t *keyname, * to the zone will fail. */ static void -fail_secure(dns_zone_t *zone, dns_name_t *keyname) { - isc_result_t result; +fail_secure(dns_zone_t *zone, dns_name_t *keyname) +{ + isc_result_t result; dns_keytable_t *sr = NULL; result = dns_view_getsecroots(zone->view, &sr); @@ -3995,14 +4064,15 @@ fail_secure(dns_zone_t *zone, dns_name_t *keyname) { * valid (i.e., the add holddown timer has expired) become trusted keys. */ static void -load_secroots(dns_zone_t *zone, dns_name_t *name, dns_rdataset_t *rdataset) { - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; +load_secroots(dns_zone_t *zone, dns_name_t *name, dns_rdataset_t *rdataset) +{ + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_keydata_t keydata; - dns_rdata_dnskey_t dnskey; - int trusted = 0, revoked = 0, pending = 0; - isc_stdtime_t now; - dns_keytable_t *sr = NULL; + dns_rdata_dnskey_t dnskey; + int trusted = 0, revoked = 0, pending = 0; + isc_stdtime_t now; + dns_keytable_t * sr = NULL; isc_stdtime_get(&now); @@ -4013,10 +4083,8 @@ load_secroots(dns_zone_t *zone, dns_name_t *name, dns_rdataset_t *rdataset) { } /* Now insert all the accepted trust anchors from this keydata set. */ - for (result = dns_rdataset_first(rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(rdataset)) - { + for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(rdataset)) { dns_rdata_reset(&rdata); dns_rdataset_current(rdataset, &rdata); @@ -4059,10 +4127,10 @@ load_secroots(dns_zone_t *zone, dns_name_t *name, dns_rdataset_t *rdataset) { dnssec_log(zone, ISC_LOG_ERROR, "No valid trust anchors for '%s'!", namebuf); dnssec_log(zone, ISC_LOG_ERROR, - "%d key(s) revoked, %d still pending", - revoked, pending); - dnssec_log(zone, ISC_LOG_ERROR, - "All queries to '%s' will fail", namebuf); + "%d key(s) revoked, %d still pending", revoked, + pending); + dnssec_log(zone, ISC_LOG_ERROR, "All queries to '%s' will fail", + namebuf); fail_secure(zone, name); } } @@ -4071,7 +4139,7 @@ static isc_result_t do_one_tuple(dns_difftuple_t **tuple, dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff) { - dns_diff_t temp_diff; + dns_diff_t temp_diff; isc_result_t result; /* @@ -4107,9 +4175,8 @@ update_one_rr(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, dns_rdata_t *rdata) { dns_difftuple_t *tuple = NULL; - isc_result_t result; - result = dns_difftuple_create(diff->mctx, op, - name, ttl, rdata, &tuple); + isc_result_t result; + result = dns_difftuple_create(diff->mctx, op, name, ttl, rdata, &tuple); if (result != ISC_R_SUCCESS) return (result); return (do_one_tuple(&tuple, db, ver, diff)); @@ -4117,11 +4184,12 @@ update_one_rr(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, static isc_result_t update_soa_serial(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, - isc_mem_t *mctx, dns_updatemethod_t method) { + isc_mem_t *mctx, dns_updatemethod_t method) +{ dns_difftuple_t *deltuple = NULL; dns_difftuple_t *addtuple = NULL; - uint32_t serial; - isc_result_t result; + uint32_t serial; + isc_result_t result; INSIST(method != dns_updatemethod_none); @@ -4136,7 +4204,7 @@ update_soa_serial(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, CHECK(do_one_tuple(&addtuple, db, ver, diff)); result = ISC_R_SUCCESS; - failure: +failure: if (addtuple != NULL) dns_difftuple_free(&addtuple); if (deltuple != NULL) @@ -4151,11 +4219,11 @@ static isc_result_t zone_journal(dns_zone_t *zone, dns_diff_t *diff, uint32_t *sourceserial, const char *caller) { - const char me[] = "zone_journal"; - const char *journalfile; - isc_result_t result = ISC_R_SUCCESS; + const char me[] = "zone_journal"; + const char * journalfile; + isc_result_t result = ISC_R_SUCCESS; dns_journal_t *journal = NULL; - unsigned int mode = DNS_JOURNAL_CREATE|DNS_JOURNAL_WRITE; + unsigned int mode = DNS_JOURNAL_CREATE | DNS_JOURNAL_WRITE; ENTER; journalfile = dns_zone_getjournal(zone); @@ -4164,8 +4232,8 @@ zone_journal(dns_zone_t *zone, dns_diff_t *diff, uint32_t *sourceserial, &journal); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "%s:dns_journal_open -> %s", - caller, dns_result_totext(result)); + "%s:dns_journal_open -> %s", caller, + dns_result_totext(result)); return (result); } @@ -4188,12 +4256,13 @@ zone_journal(dns_zone_t *zone, dns_diff_t *diff, uint32_t *sourceserial, * Create an SOA record for a newly-created zone */ static isc_result_t -add_soa(dns_zone_t *zone, dns_db_t *db) { - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; - unsigned char buf[DNS_SOA_BUFFERSIZE]; +add_soa(dns_zone_t *zone, dns_db_t *db) +{ + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; + unsigned char buf[DNS_SOA_BUFFERSIZE]; dns_dbversion_t *ver = NULL; - dns_diff_t diff; + dns_diff_t diff; dns_zone_log(zone, ISC_LOG_DEBUG(1), "creating SOA"); @@ -4216,8 +4285,8 @@ add_soa(dns_zone_t *zone, dns_db_t *db) { goto failure; } - result = update_one_rr(db, ver, &diff, DNS_DIFFOP_ADD, - &zone->origin, 0, &rdata); + result = update_one_rr(db, ver, &diff, DNS_DIFFOP_ADD, &zone->origin, 0, + &rdata); failure: dns_diff_clear(&diff); @@ -4230,25 +4299,25 @@ failure: } struct addifmissing_arg { - dns_db_t *db; + dns_db_t * db; dns_dbversion_t *ver; - dns_diff_t *diff; - dns_zone_t *zone; - bool *changed; - isc_result_t result; + dns_diff_t * diff; + dns_zone_t * zone; + bool * changed; + isc_result_t result; }; static void addifmissing(dns_keytable_t *keytable, dns_keynode_t *keynode, dns_name_t *keyname, void *arg) { - dns_db_t *db = ((struct addifmissing_arg *)arg)->db; + dns_db_t * db = ((struct addifmissing_arg *)arg)->db; dns_dbversion_t *ver = ((struct addifmissing_arg *)arg)->ver; - dns_diff_t *diff = ((struct addifmissing_arg *)arg)->diff; - dns_zone_t *zone = ((struct addifmissing_arg *)arg)->zone; - bool *changed = ((struct addifmissing_arg *)arg)->changed; - isc_result_t result; - dns_fixedname_t fname; + dns_diff_t * diff = ((struct addifmissing_arg *)arg)->diff; + dns_zone_t * zone = ((struct addifmissing_arg *)arg)->zone; + bool * changed = ((struct addifmissing_arg *)arg)->changed; + isc_result_t result; + dns_fixedname_t fname; UNUSED(keytable); @@ -4274,8 +4343,7 @@ addifmissing(dns_keytable_t *keytable, dns_keynode_t *keynode, dns_fixedname_init(&fname); result = dns_db_find(db, keyname, ver, dns_rdatatype_keydata, DNS_DBFIND_NOWILD, 0, NULL, - dns_fixedname_name(&fname), - NULL, NULL); + dns_fixedname_name(&fname), NULL, NULL); if (result == ISC_R_SUCCESS) { return; } @@ -4301,16 +4369,17 @@ addifmissing(dns_keytable_t *keytable, dns_keynode_t *keynode, * zone with the matching key, and schedule a key refresh. */ static isc_result_t -sync_keyzone(dns_zone_t *zone, dns_db_t *db) { - isc_result_t result = ISC_R_SUCCESS; - bool changed = false; - bool commit = false; - dns_keynode_t *keynode = NULL; - dns_view_t *view = zone->view; - dns_keytable_t *sr = NULL; - dns_dbversion_t *ver = NULL; - dns_diff_t diff; - dns_rriterator_t rrit; +sync_keyzone(dns_zone_t *zone, dns_db_t *db) +{ + isc_result_t result = ISC_R_SUCCESS; + bool changed = false; + bool commit = false; + dns_keynode_t * keynode = NULL; + dns_view_t * view = zone->view; + dns_keytable_t * sr = NULL; + dns_dbversion_t * ver = NULL; + dns_diff_t diff; + dns_rriterator_t rrit; struct addifmissing_arg arg; dns_zone_log(zone, ISC_LOG_DEBUG(1), "synchronizing trusted keys"); @@ -4335,13 +4404,11 @@ sync_keyzone(dns_zone_t *zone, dns_db_t *db) { * loads keys into secroots as appropriate. */ dns_rriterator_init(&rrit, db, ver, 0); - for (result = dns_rriterator_first(&rrit); - result == ISC_R_SUCCESS; - result = dns_rriterator_nextrrset(&rrit)) - { + for (result = dns_rriterator_first(&rrit); result == ISC_R_SUCCESS; + result = dns_rriterator_nextrrset(&rrit)) { dns_rdataset_t *rdataset = NULL; - dns_name_t *rrname = NULL; - uint32_t ttl; + dns_name_t * rrname = NULL; + uint32_t ttl; dns_rriterator_current(&rrit, &rrname, &ttl, &rdataset, NULL); if (!dns_rdataset_isassociated(rdataset)) { @@ -4392,10 +4459,9 @@ sync_keyzone(dns_zone_t *zone, dns_db_t *db) { commit = true; } - failure: +failure: if (result != ISC_R_SUCCESS && - !DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED)) - { + !DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED)) { dnssec_log(zone, ISC_LOG_ERROR, "unable to synchronize managed keys: %s", dns_result_totext(result)); @@ -4418,9 +4484,10 @@ sync_keyzone(dns_zone_t *zone, dns_db_t *db) { } isc_result_t -dns_zone_synckeyzone(dns_zone_t *zone) { +dns_zone_synckeyzone(dns_zone_t *zone) +{ isc_result_t result; - dns_db_t *db = NULL; + dns_db_t * db = NULL; if (zone->type != dns_zone_key) { return (DNS_R_BADZONE); @@ -4432,7 +4499,7 @@ dns_zone_synckeyzone(dns_zone_t *zone) { result = sync_keyzone(zone, db); UNLOCK_ZONE(zone); - failure: +failure: if (db != NULL) { dns_db_detach(&db); } @@ -4440,7 +4507,8 @@ dns_zone_synckeyzone(dns_zone_t *zone) { } static void -maybe_send_secure(dns_zone_t *zone) { +maybe_send_secure(dns_zone_t *zone) +{ isc_result_t result; /* @@ -4454,7 +4522,7 @@ maybe_send_secure(dns_zone_t *zone) { */ if (zone->raw->db != NULL) { if (zone->db != NULL) { - uint32_t serial; + uint32_t serial; unsigned int soacount; result = zone_get_from_db(zone->raw, zone->raw->db, @@ -4470,10 +4538,11 @@ maybe_send_secure(dns_zone_t *zone) { } static bool -zone_unchanged(dns_db_t *db1, dns_db_t *db2, isc_mem_t *mctx) { +zone_unchanged(dns_db_t *db1, dns_db_t *db2, isc_mem_t *mctx) +{ isc_result_t result; - bool answer = false; - dns_diff_t diff; + bool answer = false; + dns_diff_t diff; dns_diff_init(mctx, &diff); result = dns_db_diffx(&diff, db1, NULL, db2, NULL, NULL); @@ -4491,18 +4560,18 @@ static isc_result_t zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, isc_result_t result) { - unsigned int soacount = 0; - unsigned int nscount = 0; - unsigned int errors = 0; - uint32_t serial, oldserial, refresh, retry, expire, minimum; - isc_time_t now; - bool needdump = false; - bool hasinclude = DNS_ZONE_FLAG(zone, DNS_ZONEFLG_HASINCLUDE); - bool nomaster = false; - bool had_db = false; - unsigned int options; + unsigned int soacount = 0; + unsigned int nscount = 0; + unsigned int errors = 0; + uint32_t serial, oldserial, refresh, retry, expire, minimum; + isc_time_t now; + bool needdump = false; + bool hasinclude = DNS_ZONE_FLAG(zone, DNS_ZONEFLG_HASINCLUDE); + bool nomaster = false; + bool had_db = false; + unsigned int options; dns_include_t *inc; - bool is_dynamic = false; + bool is_dynamic = false; INSIST(LOCKED_ZONE(zone)); if (inline_raw(zone)) { @@ -4521,26 +4590,25 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, zone->type == dns_zone_mirror || zone->type == dns_zone_stub || (zone->type == dns_zone_redirect && - zone->masters == NULL)) - { + zone->masters == NULL)) { if (result == ISC_R_FILENOTFOUND) { dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_DEBUG(1), - "no master file"); + "no master file"); } else if (result != DNS_R_NOMASTERFILE) { dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_ERROR, - "loading from master file %s " - "failed: %s", - zone->masterfile, - dns_result_totext(result)); + "loading from master file %s " + "failed: %s", + zone->masterfile, + dns_result_totext(result)); } } else if (zone->type == dns_zone_master && - inline_secure(zone) && result == ISC_R_FILENOTFOUND) - { + inline_secure(zone) && + result == ISC_R_FILENOTFOUND) { dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_DEBUG(1), - "no master file, requesting db"); + "no master file, requesting db"); maybe_send_secure(zone); } else { int level = ISC_LOG_ERROR; @@ -4548,9 +4616,9 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, result == ISC_R_FILENOTFOUND) level = ISC_LOG_DEBUG(1); dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, level, - "loading from master file %s failed: %s", - zone->masterfile, - dns_result_totext(result)); + "loading from master file %s failed: %s", + zone->masterfile, + dns_result_totext(result)); nomaster = true; } @@ -4560,8 +4628,7 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, } dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_DEBUG(2), - "number of nodes in database: %u", - dns_db_nodecount(db)); + "number of nodes in database: %u", dns_db_nodecount(db)); if (result == DNS_R_SEENINCLUDE) { DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_HASINCLUDE); @@ -4586,12 +4653,11 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, * Apply update log, if any, on initial load. */ if (zone->journal != NULL && - ! DNS_ZONE_OPTION(zone, DNS_ZONEOPT_NOMERGE) && - ! DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED)) - { - if (zone->type == dns_zone_master && (inline_secure(zone) || - (zone->update_acl != NULL || zone->ssutable != NULL))) - { + !DNS_ZONE_OPTION(zone, DNS_ZONEOPT_NOMERGE) && + !DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED)) { + if (zone->type == dns_zone_master && + (inline_secure(zone) || + (zone->update_acl != NULL || zone->ssutable != NULL))) { options = DNS_JOURNALOPT_RESIGN; } else { options = 0; @@ -4600,27 +4666,24 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, zone->journal); if (result != ISC_R_SUCCESS && result != ISC_R_NOTFOUND && result != DNS_R_UPTODATE && result != DNS_R_NOJOURNAL && - result != ISC_R_RANGE) - { + result != ISC_R_RANGE) { dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_ERROR, - "journal rollforward failed: %s", - dns_result_totext(result)); + "journal rollforward failed: %s", + dns_result_totext(result)); goto cleanup; - - } if (result == ISC_R_NOTFOUND || result == ISC_R_RANGE) { dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_ERROR, - "journal rollforward failed: " - "journal out of sync with zone"); + "journal rollforward failed: " + "journal out of sync with zone"); goto cleanup; } dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_DEBUG(1), - "journal rollforward completed " - "successfully: %s", - dns_result_totext(result)); + "journal rollforward completed " + "successfully: %s", + dns_result_totext(result)); if (result == ISC_R_SUCCESS) { needdump = true; } @@ -4631,11 +4694,10 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, */ INSIST(db != NULL); result = zone_get_from_db(zone, db, &nscount, &soacount, &serial, - &refresh, &retry, &expire, &minimum, - &errors); + &refresh, &retry, &expire, &minimum, &errors); if (result != ISC_R_SUCCESS && zone->type != dns_zone_key) { dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_ERROR, - "could not find NS and/or SOA records"); + "could not find NS and/or SOA records"); } /* @@ -4646,11 +4708,10 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, is_dynamic = dns_zone_isdynamic(zone, true) || dns_zone_getkasp(zone) != NULL; if (zone->journal != NULL && is_dynamic && - ! DNS_ZONE_OPTION(zone, DNS_ZONEOPT_IXFRFROMDIFFS)) - { - uint32_t jserial; + !DNS_ZONE_OPTION(zone, DNS_ZONEOPT_IXFRFROMDIFFS)) { + uint32_t jserial; dns_journal_t *journal = NULL; - bool empty = false; + bool empty = false; result = dns_journal_open(zone->mctx, zone->journal, DNS_JOURNAL_READ, &journal); @@ -4667,14 +4728,13 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, if (!empty) { dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_INFO, - "journal file is out of date: " - "removing journal file"); + "journal file is out of date: " + "removing journal file"); } if (remove(zone->journal) < 0 && errno != ENOENT) { char strbuf[ISC_STRERRORSIZE]; strerror_r(errno, strbuf, sizeof(strbuf)); - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_GENERAL, + isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_ZONE, ISC_LOG_WARNING, "unable to remove journal " @@ -4701,14 +4761,13 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, case dns_zone_redirect: if (soacount != 1) { dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, - ISC_LOG_ERROR, - "has %d SOA records", soacount); + ISC_LOG_ERROR, "has %d SOA records", + soacount); result = DNS_R_BADZONE; } if (nscount == 0) { dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, - ISC_LOG_ERROR, - "has no NS records"); + ISC_LOG_ERROR, "has no NS records"); result = DNS_R_BADZONE; } if (result != ISC_R_SUCCESS) { @@ -4719,23 +4778,20 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, goto cleanup; } if (zone->type != dns_zone_stub && - zone->type != dns_zone_redirect) - { + zone->type != dns_zone_redirect) { result = check_nsec3param(zone, db); if (result != ISC_R_SUCCESS) goto cleanup; } if (zone->type == dns_zone_master && DNS_ZONE_OPTION(zone, DNS_ZONEOPT_CHECKINTEGRITY) && - !integrity_checks(zone, db)) - { + !integrity_checks(zone, db)) { result = DNS_R_BADZONE; goto cleanup; } if (zone->type == dns_zone_master && DNS_ZONE_OPTION(zone, DNS_ZONEOPT_CHECKDUPRR) && - !zone_check_dup(zone, db)) - { + !zone_check_dup(zone, db)) { result = DNS_R_BADZONE; goto cleanup; } @@ -4764,8 +4820,7 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, */ result = zone_get_from_db(zone, zone->db, NULL, &oldsoacount, &oldserial, - NULL, NULL, NULL, NULL, - NULL); + NULL, NULL, NULL, NULL, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); RUNTIME_CHECK(soacount > 0U); if (DNS_ZONE_OPTION(zone, DNS_ZONEOPT_IXFRFROMDIFFS) && @@ -4780,56 +4835,52 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_INFO, - "ixfr-from-differences: " - "unchanged"); + "ixfr-from-differences: " + "unchanged"); goto done; } serialmin = (oldserial + 1) & 0xffffffffU; serialmax = (oldserial + 0x7fffffffU) & - 0xffffffffU; - dns_zone_logc(zone, - DNS_LOGCATEGORY_ZONELOAD, + 0xffffffffU; + dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_ERROR, "ixfr-from-differences: " "new serial (%u) out of range " - "[%u - %u]", serial, serialmin, - serialmax); + "[%u - %u]", + serial, serialmin, serialmax); result = DNS_R_BADZONE; goto cleanup; } else if (!isc_serial_ge(serial, oldserial)) { - dns_zone_logc(zone, - DNS_LOGCATEGORY_ZONELOAD, + dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_ERROR, "zone serial (%u/%u) has gone " - "backwards", serial, oldserial); + "backwards", + serial, oldserial); } else if (serial == oldserial && !hasinclude && - strcmp(zone->db_argv[0], "_builtin") != 0) - { - dns_zone_logc(zone, - DNS_LOGCATEGORY_ZONELOAD, + strcmp(zone->db_argv[0], "_builtin") != 0) { + dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_ERROR, "zone serial (%u) unchanged. " "zone may fail to transfer " - "to slaves.", serial); + "to slaves.", + serial); } } if (zone->type == dns_zone_master && (zone->update_acl != NULL || zone->ssutable != NULL) && dns_zone_getsigresigninginterval(zone) < (3 * refresh) && - dns_db_issecure(db)) - { + dns_db_issecure(db)) { dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_WARNING, "sig-re-signing-interval less than " "3 * refresh."); } - zone->refresh = RANGE(refresh, - zone->minrefresh, zone->maxrefresh); - zone->retry = RANGE(retry, - zone->minretry, zone->maxretry); + zone->refresh = + RANGE(refresh, zone->minrefresh, zone->maxrefresh); + zone->retry = RANGE(retry, zone->minretry, zone->maxretry); zone->expire = RANGE(expire, zone->refresh + zone->retry, DNS_MAX_EXPIRE); zone->minimum = minimum; @@ -4839,10 +4890,9 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, zone->type == dns_zone_mirror || zone->type == dns_zone_stub || (zone->type == dns_zone_redirect && - zone->masters != NULL)) - { + zone->masters != NULL)) { isc_time_t t; - uint32_t delay; + uint32_t delay; result = isc_file_getmodtime(zone->journal, &t); if (result != ISC_R_SUCCESS) { @@ -4861,8 +4911,7 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, isc_random_uniform((zone->retry * 3) / 4)); DNS_ZONE_TIME_ADD(&now, delay, &zone->refreshtime); if (isc_time_compare(&zone->refreshtime, - &zone->expiretime) >= 0) - { + &zone->expiretime) >= 0) { zone->refreshtime = now; } } @@ -4877,8 +4926,8 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, break; default: - UNEXPECTED_ERROR(__FILE__, __LINE__, - "unexpected zone type %d", zone->type); + UNEXPECTED_ERROR(__FILE__, __LINE__, "unexpected zone type %d", + zone->type); result = ISC_R_UNEXPECTED; goto cleanup; } @@ -4894,8 +4943,7 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, * Schedule DNSSEC key refresh. */ if (zone->type == dns_zone_master && - DNS_ZONEKEY_OPTION(zone, DNS_ZONEKEY_MAINTAIN)) - { + DNS_ZONEKEY_OPTION(zone, DNS_ZONEKEY_MAINTAIN)) { zone->refreshkeytime = now; } @@ -4910,12 +4958,10 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, } else { zone_attachdb(zone, db); ZONEDB_UNLOCK(&zone->dblock, isc_rwlocktype_write); - DNS_ZONE_SETFLAG(zone, - DNS_ZONEFLG_LOADED| - DNS_ZONEFLG_NEEDSTARTUPNOTIFY); + DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_LOADED | + DNS_ZONEFLG_NEEDSTARTUPNOTIFY); if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_SENDSECURE) && - inline_raw(zone)) - { + inline_raw(zone)) { if (zone->secure->db == NULL) { zone_send_securedb(zone, db); } else { @@ -4953,11 +4999,10 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, dns_zone_getkasp(zone) != NULL; if (zone->type == dns_zone_master && !DNS_ZONEKEY_OPTION(zone, DNS_ZONEKEY_NORESIGN) && - is_dynamic && dns_db_issecure(db)) - { - dns_name_t *name; + is_dynamic && dns_db_issecure(db)) { + dns_name_t * name; dns_fixedname_t fixed; - dns_rdataset_t next; + dns_rdataset_t next; dns_rdataset_init(&next); name = dns_fixedname_initname(&fixed); @@ -4965,18 +5010,21 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, result = dns_db_getsigningtime(db, &next, name); if (result == ISC_R_SUCCESS) { isc_stdtime_t timenow; - char namebuf[DNS_NAME_FORMATSIZE]; - char typebuf[DNS_RDATATYPE_FORMATSIZE]; + char namebuf[DNS_NAME_FORMATSIZE]; + char typebuf[DNS_RDATATYPE_FORMATSIZE]; isc_stdtime_get(&timenow); dns_name_format(name, namebuf, sizeof(namebuf)); - dns_rdatatype_format(next.covers, - typebuf, sizeof(typebuf)); - dnssec_log(zone, ISC_LOG_DEBUG(3), - "next resign: %s/%s " - "in %d seconds", namebuf, typebuf, - next.resign - timenow - - dns_zone_getsigresigninginterval(zone)); + dns_rdatatype_format(next.covers, typebuf, + sizeof(typebuf)); + dnssec_log( + zone, ISC_LOG_DEBUG(3), + "next resign: %s/%s " + "in %d seconds", + namebuf, typebuf, + next.resign - timenow - + dns_zone_getsigresigninginterval( + zone)); dns_rdataset_disassociate(&next); } else { dnssec_log(zone, ISC_LOG_WARNING, @@ -4991,10 +5039,8 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, /* * Clear old include list. */ - for (inc = ISC_LIST_HEAD(zone->includes); - inc != NULL; - inc = ISC_LIST_HEAD(zone->includes)) - { + for (inc = ISC_LIST_HEAD(zone->includes); inc != NULL; + inc = ISC_LIST_HEAD(zone->includes)) { ISC_LIST_UNLINK(zone->includes, inc, link); isc_mem_free(zone->mctx, inc->name); isc_mem_put(zone->mctx, inc, sizeof(*inc)); @@ -5004,18 +5050,16 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, /* * Transfer new include list. */ - for (inc = ISC_LIST_HEAD(zone->newincludes); - inc != NULL; - inc = ISC_LIST_HEAD(zone->newincludes)) - { + for (inc = ISC_LIST_HEAD(zone->newincludes); inc != NULL; + inc = ISC_LIST_HEAD(zone->newincludes)) { ISC_LIST_UNLINK(zone->newincludes, inc, link); ISC_LIST_APPEND(zone->includes, inc, link); zone->nincludes++; } if (!dns_db_ispersistent(db)) { - dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, - ISC_LOG_INFO, "loaded serial %u%s", serial, + dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_INFO, + "loaded serial %u%s", serial, dns_db_issecure(db) ? " (DNSSEC signed)" : ""); } @@ -5027,7 +5071,7 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, zone->loadtime = loadtime; goto done; - cleanup: +cleanup: if (zone->type == dns_zone_key && result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, "failed to initialize managed-keys (%s): " @@ -5035,20 +5079,15 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, isc_result_totext(result)); } - for (inc = ISC_LIST_HEAD(zone->newincludes); - inc != NULL; - inc = ISC_LIST_HEAD(zone->newincludes)) - { + for (inc = ISC_LIST_HEAD(zone->newincludes); inc != NULL; + inc = ISC_LIST_HEAD(zone->newincludes)) { ISC_LIST_UNLINK(zone->newincludes, inc, link); isc_mem_free(zone->mctx, inc->name); isc_mem_put(zone->mctx, inc, sizeof(*inc)); } - if (zone->type == dns_zone_slave || - zone->type == dns_zone_mirror || - zone->type == dns_zone_stub || - zone->type == dns_zone_key || - (zone->type == dns_zone_redirect && zone->masters != NULL)) - { + if (zone->type == dns_zone_slave || zone->type == dns_zone_mirror || + zone->type == dns_zone_stub || zone->type == dns_zone_key || + (zone->type == dns_zone_redirect && zone->masters != NULL)) { if (result != ISC_R_NOMEMORY) { if (zone->journal != NULL) { zone_saveunique(zone, zone->journal, @@ -5067,8 +5106,7 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, } result = ISC_R_SUCCESS; } else if (zone->type == dns_zone_master || - zone->type == dns_zone_redirect) - { + zone->type == dns_zone_redirect) { if (!(inline_secure(zone) && result == ISC_R_FILENOTFOUND)) { dns_zone_logc(zone, DNS_LOGCATEGORY_ZONELOAD, ISC_LOG_ERROR, @@ -5078,7 +5116,7 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, } } - done: +done: DNS_ZONE_CLRFLAG(zone, DNS_ZONEFLG_LOADPENDING); /* * If this is an inline-signed zone and we were called for the raw @@ -5090,8 +5128,7 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, * secure zone: if it is set, this must be a reload. */ if (inline_raw(zone) && - DNS_ZONE_FLAG(zone->secure, DNS_ZONEFLG_LOADED)) - { + DNS_ZONE_FLAG(zone->secure, DNS_ZONEFLG_LOADED)) { DNS_ZONE_CLRFLAG(zone->secure, DNS_ZONEFLG_LOADPENDING); } @@ -5101,12 +5138,12 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, } static bool -exit_check(dns_zone_t *zone) { +exit_check(dns_zone_t *zone) +{ REQUIRE(LOCKED_ZONE(zone)); if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_SHUTDOWN) && - isc_refcount_current(&zone->irefs) == 0) - { + isc_refcount_current(&zone->irefs) == 0) { /* * DNS_ZONEFLG_SHUTDOWN can only be set if erefs == 0. */ @@ -5120,12 +5157,12 @@ static bool zone_check_ns(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version, dns_name_t *name, bool logit) { - isc_result_t result; - char namebuf[DNS_NAME_FORMATSIZE]; - char altbuf[DNS_NAME_FORMATSIZE]; + isc_result_t result; + char namebuf[DNS_NAME_FORMATSIZE]; + char altbuf[DNS_NAME_FORMATSIZE]; dns_fixedname_t fixed; - dns_name_t *foundname; - int level; + dns_name_t * foundname; + int level; if (DNS_ZONE_OPTION(zone, DNS_ZONEOPT_NOCHECKNS)) return (true); @@ -5137,14 +5174,14 @@ zone_check_ns(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version, foundname = dns_fixedname_initname(&fixed); - result = dns_db_find(db, name, version, dns_rdatatype_a, - 0, 0, NULL, foundname, NULL, NULL); + result = dns_db_find(db, name, version, dns_rdatatype_a, 0, 0, NULL, + foundname, NULL, NULL); if (result == ISC_R_SUCCESS) return (true); if (result == DNS_R_NXRRSET) { - result = dns_db_find(db, name, version, dns_rdatatype_aaaa, - 0, 0, NULL, foundname, NULL, NULL); + result = dns_db_find(db, name, version, dns_rdatatype_aaaa, 0, + 0, NULL, foundname, NULL, NULL); if (result == ISC_R_SUCCESS) return (true); } @@ -5153,8 +5190,10 @@ zone_check_ns(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version, result == DNS_R_EMPTYNAME) { if (logit) { dns_name_format(name, namebuf, sizeof namebuf); - dns_zone_log(zone, level, "NS '%s' has no address " - "records (A or AAAA)", namebuf); + dns_zone_log(zone, level, + "NS '%s' has no address " + "records (A or AAAA)", + namebuf); } return (false); } @@ -5162,8 +5201,10 @@ zone_check_ns(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version, if (result == DNS_R_CNAME) { if (logit) { dns_name_format(name, namebuf, sizeof namebuf); - dns_zone_log(zone, level, "NS '%s' is a CNAME " - "(illegal)", namebuf); + dns_zone_log(zone, level, + "NS '%s' is a CNAME " + "(illegal)", + namebuf); } return (false); } @@ -5172,8 +5213,10 @@ zone_check_ns(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version, if (logit) { dns_name_format(name, namebuf, sizeof namebuf); dns_name_format(foundname, altbuf, sizeof altbuf); - dns_zone_log(zone, level, "NS '%s' is below a DNAME " - "'%s' (illegal)", namebuf, altbuf); + dns_zone_log(zone, level, + "NS '%s' is below a DNAME " + "'%s' (illegal)", + namebuf, altbuf); } return (false); } @@ -5186,11 +5229,11 @@ zone_count_ns_rr(dns_zone_t *zone, dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, unsigned int *nscount, unsigned int *errors, bool logit) { - isc_result_t result; - unsigned int count = 0; - unsigned int ecount = 0; + isc_result_t result; + unsigned int count = 0; + unsigned int ecount = 0; dns_rdataset_t rdataset; - dns_rdata_t rdata; + dns_rdata_t rdata; dns_rdata_ns_t ns; dns_rdataset_init(&rdataset); @@ -5210,8 +5253,7 @@ zone_count_ns_rr(dns_zone_t *zone, dns_db_t *db, dns_dbnode_t *node, if (errors != NULL && zone->rdclass == dns_rdataclass_in && (zone->type == dns_zone_master || zone->type == dns_zone_slave || - zone->type == dns_zone_mirror)) - { + zone->type == dns_zone_mirror)) { dns_rdata_init(&rdata); dns_rdataset_current(&rdataset, &rdata); result = dns_rdata_tostruct(&rdata, &ns, NULL); @@ -5225,7 +5267,7 @@ zone_count_ns_rr(dns_zone_t *zone, dns_db_t *db, dns_dbnode_t *node, } dns_rdataset_disassociate(&rdataset); - success: +success: if (nscount != NULL) *nscount = count; if (errors != NULL) @@ -5233,7 +5275,7 @@ zone_count_ns_rr(dns_zone_t *zone, dns_db_t *db, dns_dbnode_t *node, result = ISC_R_SUCCESS; - invalidate_rdataset: +invalidate_rdataset: dns_rdataset_invalidate(&rdataset); return (result); @@ -5241,15 +5283,13 @@ zone_count_ns_rr(dns_zone_t *zone, dns_db_t *db, dns_dbnode_t *node, static isc_result_t zone_load_soa_rr(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, - unsigned int *soacount, - uint32_t *serial, uint32_t *refresh, - uint32_t *retry, uint32_t *expire, - uint32_t *minimum) + unsigned int *soacount, uint32_t *serial, uint32_t *refresh, + uint32_t *retry, uint32_t *expire, uint32_t *minimum) { - isc_result_t result; - unsigned int count; - dns_rdataset_t rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + unsigned int count; + dns_rdataset_t rdataset; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_soa_t soa; dns_rdataset_init(&rdataset); @@ -5324,7 +5364,7 @@ zone_load_soa_rr(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, result = ISC_R_SUCCESS; - invalidate_rdataset: +invalidate_rdataset: dns_rdataset_invalidate(&rdataset); return (result); @@ -5335,15 +5375,14 @@ zone_load_soa_rr(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, */ static isc_result_t zone_get_from_db(dns_zone_t *zone, dns_db_t *db, unsigned int *nscount, - unsigned int *soacount, uint32_t *serial, - uint32_t *refresh, uint32_t *retry, - uint32_t *expire, uint32_t *minimum, + unsigned int *soacount, uint32_t *serial, uint32_t *refresh, + uint32_t *retry, uint32_t *expire, uint32_t *minimum, unsigned int *errors) { - isc_result_t result; - isc_result_t answer = ISC_R_SUCCESS; + isc_result_t result; + isc_result_t answer = ISC_R_SUCCESS; dns_dbversion_t *version = NULL; - dns_dbnode_t *node; + dns_dbnode_t * node; REQUIRE(db != NULL); REQUIRE(zone != NULL); @@ -5373,30 +5412,30 @@ zone_get_from_db(dns_zone_t *zone, dns_db_t *db, unsigned int *nscount, } if (nscount != NULL || errors != NULL) { - result = zone_count_ns_rr(zone, db, node, version, - nscount, errors, true); + result = zone_count_ns_rr(zone, db, node, version, nscount, + errors, true); if (result != ISC_R_SUCCESS) answer = result; } - if (soacount != NULL || serial != NULL || refresh != NULL - || retry != NULL || expire != NULL || minimum != NULL) { - result = zone_load_soa_rr(db, node, version, soacount, - serial, refresh, retry, expire, - minimum); + if (soacount != NULL || serial != NULL || refresh != NULL || + retry != NULL || expire != NULL || minimum != NULL) { + result = zone_load_soa_rr(db, node, version, soacount, serial, + refresh, retry, expire, minimum); if (result != ISC_R_SUCCESS) answer = result; } dns_db_detachnode(db, &node); - closeversion: +closeversion: dns_db_closeversion(db, &version, false); return (answer); } void -dns_zone_attach(dns_zone_t *source, dns_zone_t **target) { +dns_zone_attach(dns_zone_t *source, dns_zone_t **target) +{ REQUIRE(DNS_ZONE_VALID(source)); REQUIRE(target != NULL && *target == NULL); isc_refcount_increment(&source->erefs); @@ -5404,12 +5443,13 @@ dns_zone_attach(dns_zone_t *source, dns_zone_t **target) { } void -dns_zone_detach(dns_zone_t **zonep) { +dns_zone_detach(dns_zone_t **zonep) +{ REQUIRE(zonep != NULL && DNS_ZONE_VALID(*zonep)); dns_zone_t *zone = *zonep; *zonep = NULL; - bool free_now = false; + bool free_now = false; dns_zone_t *raw = NULL; dns_zone_t *secure = NULL; if (isc_refcount_decrement(&zone->erefs) == 1) { @@ -5462,7 +5502,8 @@ dns_zone_detach(dns_zone_t **zonep) { } void -dns_zone_iattach(dns_zone_t *source, dns_zone_t **target) { +dns_zone_iattach(dns_zone_t *source, dns_zone_t **target) +{ REQUIRE(DNS_ZONE_VALID(source)); LOCK_ZONE(source); @@ -5471,18 +5512,20 @@ dns_zone_iattach(dns_zone_t *source, dns_zone_t **target) { } static void -zone_iattach(dns_zone_t *source, dns_zone_t **target) { +zone_iattach(dns_zone_t *source, dns_zone_t **target) +{ REQUIRE(DNS_ZONE_VALID(source)); REQUIRE(LOCKED_ZONE(source)); REQUIRE(target != NULL && *target == NULL); INSIST(isc_refcount_increment0(&source->irefs) + - isc_refcount_current(&source->erefs) > 0); + isc_refcount_current(&source->erefs) > + 0); *target = source; } - static void -zone_idetach(dns_zone_t **zonep) { +zone_idetach(dns_zone_t **zonep) +{ dns_zone_t *zone; /* @@ -5495,13 +5538,15 @@ zone_idetach(dns_zone_t **zonep) { *zonep = NULL; INSIST(isc_refcount_decrement(&zone->irefs) - 1 + - isc_refcount_current(&zone->erefs) > 0); + isc_refcount_current(&zone->erefs) > + 0); } void -dns_zone_idetach(dns_zone_t **zonep) { +dns_zone_idetach(dns_zone_t **zonep) +{ dns_zone_t *zone; - bool free_needed; + bool free_needed; REQUIRE(zonep != NULL && DNS_ZONE_VALID(*zonep)); @@ -5519,21 +5564,24 @@ dns_zone_idetach(dns_zone_t **zonep) { } isc_mem_t * -dns_zone_getmctx(dns_zone_t *zone) { +dns_zone_getmctx(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->mctx); } dns_zonemgr_t * -dns_zone_getmgr(dns_zone_t *zone) { +dns_zone_getmgr(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->zmgr); } void -dns_zone_setflag(dns_zone_t *zone, unsigned int flags, bool value) { +dns_zone_setflag(dns_zone_t *zone, unsigned int flags, bool value) +{ REQUIRE(DNS_ZONE_VALID(zone)); if (value) { @@ -5544,13 +5592,13 @@ dns_zone_setflag(dns_zone_t *zone, unsigned int flags, bool value) { } void -dns_zone_setkasp(dns_zone_t *zone, dns_kasp_t* kasp) +dns_zone_setkasp(dns_zone_t *zone, dns_kasp_t *kasp) { REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); if (zone->kasp != NULL) { - dns_kasp_t* oldkasp = zone->kasp; + dns_kasp_t *oldkasp = zone->kasp; zone->kasp = NULL; dns_kasp_detach(&oldkasp); } @@ -5558,7 +5606,7 @@ dns_zone_setkasp(dns_zone_t *zone, dns_kasp_t* kasp) UNLOCK_ZONE(zone); } -dns_kasp_t* +dns_kasp_t * dns_zone_getkasp(dns_zone_t *zone) { REQUIRE(DNS_ZONE_VALID(zone)); @@ -5567,8 +5615,7 @@ dns_zone_getkasp(dns_zone_t *zone) } void -dns_zone_setoption(dns_zone_t *zone, dns_zoneopt_t option, - bool value) +dns_zone_setoption(dns_zone_t *zone, dns_zoneopt_t option, bool value) { REQUIRE(DNS_ZONE_VALID(zone)); @@ -5580,7 +5627,8 @@ dns_zone_setoption(dns_zone_t *zone, dns_zoneopt_t option, } dns_zoneopt_t -dns_zone_getoptions(dns_zone_t *zone) { +dns_zone_getoptions(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (atomic_load_relaxed(&zone->options)); @@ -5599,15 +5647,16 @@ dns_zone_setkeyopt(dns_zone_t *zone, unsigned int keyopt, bool value) } unsigned int -dns_zone_getkeyopts(dns_zone_t *zone) { - +dns_zone_getkeyopts(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (atomic_load_relaxed(&zone->keyopts)); } isc_result_t -dns_zone_setxfrsource4(dns_zone_t *zone, const isc_sockaddr_t *xfrsource) { +dns_zone_setxfrsource4(dns_zone_t *zone, const isc_sockaddr_t *xfrsource) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -5618,13 +5667,15 @@ dns_zone_setxfrsource4(dns_zone_t *zone, const isc_sockaddr_t *xfrsource) { } isc_sockaddr_t * -dns_zone_getxfrsource4(dns_zone_t *zone) { +dns_zone_getxfrsource4(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (&zone->xfrsource4); } isc_result_t -dns_zone_setxfrsource4dscp(dns_zone_t *zone, isc_dscp_t dscp) { +dns_zone_setxfrsource4dscp(dns_zone_t *zone, isc_dscp_t dscp) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -5635,13 +5686,15 @@ dns_zone_setxfrsource4dscp(dns_zone_t *zone, isc_dscp_t dscp) { } isc_dscp_t -dns_zone_getxfrsource4dscp(dns_zone_t *zone) { +dns_zone_getxfrsource4dscp(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->xfrsource4dscp); } isc_result_t -dns_zone_setxfrsource6(dns_zone_t *zone, const isc_sockaddr_t *xfrsource) { +dns_zone_setxfrsource6(dns_zone_t *zone, const isc_sockaddr_t *xfrsource) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -5652,19 +5705,22 @@ dns_zone_setxfrsource6(dns_zone_t *zone, const isc_sockaddr_t *xfrsource) { } isc_sockaddr_t * -dns_zone_getxfrsource6(dns_zone_t *zone) { +dns_zone_getxfrsource6(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (&zone->xfrsource6); } isc_dscp_t -dns_zone_getxfrsource6dscp(dns_zone_t *zone) { +dns_zone_getxfrsource6dscp(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->xfrsource6dscp); } isc_result_t -dns_zone_setxfrsource6dscp(dns_zone_t *zone, isc_dscp_t dscp) { +dns_zone_setxfrsource6dscp(dns_zone_t *zone, isc_dscp_t dscp) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -5675,8 +5731,7 @@ dns_zone_setxfrsource6dscp(dns_zone_t *zone, isc_dscp_t dscp) { } isc_result_t -dns_zone_setaltxfrsource4(dns_zone_t *zone, - const isc_sockaddr_t *altxfrsource) +dns_zone_setaltxfrsource4(dns_zone_t *zone, const isc_sockaddr_t *altxfrsource) { REQUIRE(DNS_ZONE_VALID(zone)); @@ -5688,13 +5743,15 @@ dns_zone_setaltxfrsource4(dns_zone_t *zone, } isc_sockaddr_t * -dns_zone_getaltxfrsource4(dns_zone_t *zone) { +dns_zone_getaltxfrsource4(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (&zone->altxfrsource4); } isc_result_t -dns_zone_setaltxfrsource4dscp(dns_zone_t *zone, isc_dscp_t dscp) { +dns_zone_setaltxfrsource4dscp(dns_zone_t *zone, isc_dscp_t dscp) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -5705,14 +5762,14 @@ dns_zone_setaltxfrsource4dscp(dns_zone_t *zone, isc_dscp_t dscp) { } isc_dscp_t -dns_zone_getaltxfrsource4dscp(dns_zone_t *zone) { +dns_zone_getaltxfrsource4dscp(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->altxfrsource4dscp); } isc_result_t -dns_zone_setaltxfrsource6(dns_zone_t *zone, - const isc_sockaddr_t *altxfrsource) +dns_zone_setaltxfrsource6(dns_zone_t *zone, const isc_sockaddr_t *altxfrsource) { REQUIRE(DNS_ZONE_VALID(zone)); @@ -5724,13 +5781,15 @@ dns_zone_setaltxfrsource6(dns_zone_t *zone, } isc_sockaddr_t * -dns_zone_getaltxfrsource6(dns_zone_t *zone) { +dns_zone_getaltxfrsource6(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (&zone->altxfrsource6); } isc_result_t -dns_zone_setaltxfrsource6dscp(dns_zone_t *zone, isc_dscp_t dscp) { +dns_zone_setaltxfrsource6dscp(dns_zone_t *zone, isc_dscp_t dscp) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -5741,13 +5800,15 @@ dns_zone_setaltxfrsource6dscp(dns_zone_t *zone, isc_dscp_t dscp) { } isc_dscp_t -dns_zone_getaltxfrsource6dscp(dns_zone_t *zone) { +dns_zone_getaltxfrsource6dscp(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->altxfrsource6dscp); } isc_result_t -dns_zone_setnotifysrc4(dns_zone_t *zone, const isc_sockaddr_t *notifysrc) { +dns_zone_setnotifysrc4(dns_zone_t *zone, const isc_sockaddr_t *notifysrc) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -5758,13 +5819,15 @@ dns_zone_setnotifysrc4(dns_zone_t *zone, const isc_sockaddr_t *notifysrc) { } isc_sockaddr_t * -dns_zone_getnotifysrc4(dns_zone_t *zone) { +dns_zone_getnotifysrc4(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (&zone->notifysrc4); } isc_result_t -dns_zone_setnotifysrc4dscp(dns_zone_t *zone, isc_dscp_t dscp) { +dns_zone_setnotifysrc4dscp(dns_zone_t *zone, isc_dscp_t dscp) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -5775,13 +5838,15 @@ dns_zone_setnotifysrc4dscp(dns_zone_t *zone, isc_dscp_t dscp) { } isc_dscp_t -dns_zone_getnotifysrc4dscp(dns_zone_t *zone) { +dns_zone_getnotifysrc4dscp(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->notifysrc4dscp); } isc_result_t -dns_zone_setnotifysrc6(dns_zone_t *zone, const isc_sockaddr_t *notifysrc) { +dns_zone_setnotifysrc6(dns_zone_t *zone, const isc_sockaddr_t *notifysrc) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -5792,7 +5857,8 @@ dns_zone_setnotifysrc6(dns_zone_t *zone, const isc_sockaddr_t *notifysrc) { } isc_sockaddr_t * -dns_zone_getnotifysrc6(dns_zone_t *zone) { +dns_zone_getnotifysrc6(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (&zone->notifysrc6); } @@ -5810,7 +5876,7 @@ same_addrs(isc_sockaddr_t const *oldlist, isc_sockaddr_t const *newlist, } static bool -same_keynames(dns_name_t * const *oldlist, dns_name_t * const *newlist, +same_keynames(dns_name_t *const *oldlist, dns_name_t *const *newlist, uint32_t count) { unsigned int i; @@ -5835,10 +5901,10 @@ clear_addresskeylist(isc_sockaddr_t **addrsp, isc_dscp_t **dscpsp, dns_name_t ***keynamesp, unsigned int *countp, isc_mem_t *mctx) { - unsigned int count; + unsigned int count; isc_sockaddr_t *addrs; - isc_dscp_t *dscps; - dns_name_t **keynames; + isc_dscp_t * dscps; + dns_name_t ** keynames; REQUIRE(countp != NULL && addrsp != NULL && dscpsp != NULL && keynamesp != NULL); @@ -5873,16 +5939,15 @@ clear_addresskeylist(isc_sockaddr_t **addrsp, isc_dscp_t **dscpsp, } static isc_result_t -set_addrkeylist(unsigned int count, - const isc_sockaddr_t *addrs, isc_sockaddr_t **newaddrsp, - const isc_dscp_t *dscp, isc_dscp_t **newdscpp, - dns_name_t **names, dns_name_t ***newnamesp, - isc_mem_t *mctx) +set_addrkeylist(unsigned int count, const isc_sockaddr_t *addrs, + isc_sockaddr_t **newaddrsp, const isc_dscp_t *dscp, + isc_dscp_t **newdscpp, dns_name_t **names, + dns_name_t ***newnamesp, isc_mem_t *mctx) { isc_sockaddr_t *newaddrs = NULL; - isc_dscp_t *newdscp = NULL; - dns_name_t **newnames = NULL; - unsigned int i; + isc_dscp_t * newdscp = NULL; + dns_name_t ** newnames = NULL; + unsigned int i; REQUIRE(newaddrsp != NULL && *newaddrsp == NULL); REQUIRE(newdscpp != NULL && *newdscpp == NULL); @@ -5903,8 +5968,8 @@ set_addrkeylist(unsigned int count, newnames[i] = NULL; for (i = 0; i < count; i++) { if (names[i] != NULL) { - newnames[i] = isc_mem_get(mctx, - sizeof(dns_name_t)); + newnames[i] = + isc_mem_get(mctx, sizeof(dns_name_t)); dns_name_init(newnames[i], NULL); dns_name_dup(names[i], mctx, newnames[i]); } @@ -5919,7 +5984,8 @@ set_addrkeylist(unsigned int count, } isc_result_t -dns_zone_setnotifysrc6dscp(dns_zone_t *zone, isc_dscp_t dscp) { +dns_zone_setnotifysrc6dscp(dns_zone_t *zone, isc_dscp_t dscp) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -5930,7 +5996,8 @@ dns_zone_setnotifysrc6dscp(dns_zone_t *zone, isc_dscp_t dscp) { } isc_dscp_t -dns_zone_getnotifysrc6dscp(dns_zone_t *zone) { +dns_zone_getnotifysrc6dscp(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->notifysrc6dscp); } @@ -5956,10 +6023,10 @@ dns_zone_setalsonotifydscpkeys(dns_zone_t *zone, const isc_sockaddr_t *notify, const isc_dscp_t *dscps, dns_name_t **keynames, uint32_t count) { - isc_result_t result; + isc_result_t result; isc_sockaddr_t *newaddrs = NULL; - isc_dscp_t *newdscps = NULL; - dns_name_t **newnames = NULL; + isc_dscp_t * newdscps = NULL; + dns_name_t ** newnames = NULL; REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(count == 0 || notify != NULL); @@ -5995,7 +6062,7 @@ dns_zone_setalsonotifydscpkeys(dns_zone_t *zone, const isc_sockaddr_t *notify, zone->notifydscp = newdscps; zone->notifykeynames = newnames; zone->notifycnt = count; - unlock: +unlock: UNLOCK_ZONE(zone); return (ISC_R_SUCCESS); } @@ -6011,17 +6078,15 @@ dns_zone_setmasters(dns_zone_t *zone, const isc_sockaddr_t *masters, } isc_result_t -dns_zone_setmasterswithkeys(dns_zone_t *zone, - const isc_sockaddr_t *masters, - dns_name_t **keynames, - uint32_t count) +dns_zone_setmasterswithkeys(dns_zone_t *zone, const isc_sockaddr_t *masters, + dns_name_t **keynames, uint32_t count) { - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; isc_sockaddr_t *newaddrs = NULL; - isc_dscp_t *newdscps = NULL; - dns_name_t **newnames = NULL; - bool *newok; - unsigned int i; + isc_dscp_t * newdscps = NULL; + dns_name_t ** newnames = NULL; + bool * newok; + unsigned int i; REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(count == 0 || masters != NULL); @@ -6093,13 +6158,14 @@ dns_zone_setmasterswithkeys(dns_zone_t *zone, zone->masterscnt = count; DNS_ZONE_CLRFLAG(zone, DNS_ZONEFLG_NOMASTERS); - unlock: +unlock: UNLOCK_ZONE(zone); return (result); } isc_result_t -dns_zone_getdb(dns_zone_t *zone, dns_db_t **dpb) { +dns_zone_getdb(dns_zone_t *zone, dns_db_t **dpb) +{ isc_result_t result = ISC_R_SUCCESS; REQUIRE(DNS_ZONE_VALID(zone)); @@ -6115,7 +6181,8 @@ dns_zone_getdb(dns_zone_t *zone, dns_db_t **dpb) { } void -dns_zone_setdb(dns_zone_t *zone, dns_db_t *db) { +dns_zone_setdb(dns_zone_t *zone, dns_db_t *db) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(zone->type == dns_zone_staticstub); @@ -6129,7 +6196,8 @@ dns_zone_setdb(dns_zone_t *zone, dns_db_t *db) { * Co-ordinates the starting of routine jobs. */ void -dns_zone_maintenance(dns_zone_t *zone) { +dns_zone_maintenance(dns_zone_t *zone) +{ const char me[] = "dns_zone_maintenance"; isc_time_t now; @@ -6143,8 +6211,8 @@ dns_zone_maintenance(dns_zone_t *zone) { } static inline bool -was_dumping(dns_zone_t *zone) { - +was_dumping(dns_zone_t *zone) +{ REQUIRE(LOCKED_ZONE(zone)); if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_DUMPING)) { @@ -6168,9 +6236,9 @@ dns__zone_findkeys(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, isc_stdtime_t now, isc_mem_t *mctx, unsigned int maxkeys, dst_key_t **keys, unsigned int *nkeys) { - isc_result_t result; + isc_result_t result; dns_dbnode_t *node = NULL; - const char *directory = dns_zone_getkeydirectory(zone); + const char * directory = dns_zone_getkeydirectory(zone); CHECK(dns_db_findnode(db, dns_db_origin(db), false, &node)); memset(keys, 0, sizeof(*keys) * maxkeys); @@ -6179,7 +6247,7 @@ dns__zone_findkeys(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, nkeys); if (result == ISC_R_NOTFOUND) result = ISC_R_SUCCESS; - failure: +failure: if (node != NULL) dns_db_detachnode(db, &node); return (result); @@ -6208,7 +6276,7 @@ static void set_key_expiry_warning(dns_zone_t *zone, isc_stdtime_t when, isc_stdtime_t now) { unsigned int delta; - char timebuf[80]; + char timebuf[80]; zone->key_expiry = when; if (when <= now) { @@ -6223,15 +6291,15 @@ set_key_expiry_warning(dns_zone_t *zone, isc_stdtime_t when, isc_stdtime_t now) "DNSKEY RRSIG(s) will expire within 7 days: %s", timebuf); delta = when - now; - delta--; /* loop prevention */ - delta /= 24 * 3600; /* to whole days */ - delta *= 24 * 3600; /* to seconds */ + delta--; /* loop prevention */ + delta /= 24 * 3600; /* to whole days */ + delta *= 24 * 3600; /* to seconds */ isc_time_set(&zone->keywarntime, when - delta, 0); - } else { + } else { isc_time_set(&zone->keywarntime, when - 7 * 24 * 3600, 0); isc_time_formattimestamp(&zone->keywarntime, timebuf, 80); - dns_zone_log(zone, ISC_LOG_NOTICE, - "setting keywarntime to %s", timebuf); + dns_zone_log(zone, ISC_LOG_NOTICE, "setting keywarntime to %s", + timebuf); } } @@ -6245,8 +6313,8 @@ delsig_ok(dns_rdata_rrsig_t *rrsig_ptr, dst_key_t **keys, unsigned int nkeys, { unsigned int i = 0; isc_result_t ret; - bool have_ksk = false, have_zsk = false; - bool have_pksk = false, have_pzsk = false; + bool have_ksk = false, have_zsk = false; + bool have_pksk = false, have_pzsk = false; for (i = 0; i < nkeys; i++) { bool ksk, zsk; @@ -6317,13 +6385,13 @@ del_sigs(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, dns_rdatatype_t type, dns__zonediff_t *zonediff, dst_key_t **keys, unsigned int nkeys, isc_stdtime_t now, bool incremental) { - isc_result_t result; - dns_dbnode_t *node = NULL; - dns_rdataset_t rdataset; - unsigned int i; + isc_result_t result; + dns_dbnode_t * node = NULL; + dns_rdataset_t rdataset; + unsigned int i; dns_rdata_rrsig_t rrsig; - bool found; - int64_t timewarn = 0, timemaybe = 0; + bool found; + int64_t timewarn = 0, timemaybe = 0; dns_rdataset_init(&rdataset); @@ -6336,7 +6404,7 @@ del_sigs(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, if (result != ISC_R_SUCCESS) goto failure; result = dns_db_findrdataset(db, node, ver, dns_rdatatype_rrsig, type, - (isc_stdtime_t) 0, &rdataset, NULL); + (isc_stdtime_t)0, &rdataset, NULL); dns_db_detachnode(db, &node); if (result == ISC_R_NOTFOUND) { @@ -6348,8 +6416,7 @@ del_sigs(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, goto failure; } - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; @@ -6357,14 +6424,14 @@ del_sigs(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, result = dns_rdata_tostruct(&rdata, &rrsig, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); - if (type != dns_rdatatype_dnskey && - type != dns_rdatatype_cds && + if (type != dns_rdatatype_dnskey && type != dns_rdatatype_cds && type != dns_rdatatype_cdnskey) { bool warn = false, deleted = false; if (delsig_ok(&rrsig, keys, nkeys, &warn)) { result = update_one_rr(db, ver, zonediff->diff, - DNS_DIFFOP_DELRESIGN, name, - rdataset.ttl, &rdata); + DNS_DIFFOP_DELRESIGN, + name, rdataset.ttl, + &rdata); if (result != ISC_R_SUCCESS) break; deleted = true; @@ -6406,8 +6473,8 @@ del_sigs(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, "retaining signatures.", origin, algbuf, rrsig.keyid); - zone->log_key_expired_timer = now + - 3600; + zone->log_key_expired_timer = + now + 3600; } } continue; @@ -6427,10 +6494,9 @@ del_sigs(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, * iff there is a new offline signature. */ if (!dst_key_inactive(keys[i]) && - !dst_key_isprivate(keys[i])) - { - int64_t timeexpire = - dns_time64_from32(rrsig.timeexpire); + !dst_key_isprivate(keys[i])) { + int64_t timeexpire = dns_time64_from32( + rrsig.timeexpire); if (timewarn != 0 && timewarn > timeexpire) timewarn = timeexpire; @@ -6484,29 +6550,28 @@ del_sigs(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, "key expiry warning time out of range"); } } - failure: +failure: if (node != NULL) dns_db_detachnode(db, &node); return (result); } static isc_result_t -add_sigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, - dns_zone_t* zone, dns_rdatatype_t type, dns_diff_t *diff, - dst_key_t **keys, unsigned int nkeys, isc_mem_t *mctx, - isc_stdtime_t inception, isc_stdtime_t expire, - bool check_ksk, bool keyset_kskonly) +add_sigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, dns_zone_t *zone, + dns_rdatatype_t type, dns_diff_t *diff, dst_key_t **keys, + unsigned int nkeys, isc_mem_t *mctx, isc_stdtime_t inception, + isc_stdtime_t expire, bool check_ksk, bool keyset_kskonly) { - isc_result_t result; - dns_dbnode_t *node = NULL; - dns_kasp_t *kasp = dns_zone_getkasp(zone); - dns_stats_t* dnssecsignstats; - dns_stats_t* dnssecrefreshstats; + isc_result_t result; + dns_dbnode_t * node = NULL; + dns_kasp_t * kasp = dns_zone_getkasp(zone); + dns_stats_t * dnssecsignstats; + dns_stats_t * dnssecrefreshstats; dns_rdataset_t rdataset; - dns_rdata_t sig_rdata = DNS_RDATA_INIT; - unsigned char data[1024]; /* XXX */ - isc_buffer_t buffer; - unsigned int i, j; + dns_rdata_t sig_rdata = DNS_RDATA_INIT; + unsigned char data[1024]; /* XXX */ + isc_buffer_t buffer; + unsigned int i, j; if (kasp != NULL) { check_ksk = false; @@ -6524,8 +6589,8 @@ add_sigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, return (ISC_R_SUCCESS); if (result != ISC_R_SUCCESS) goto failure; - result = dns_db_findrdataset(db, node, ver, type, 0, - (isc_stdtime_t) 0, &rdataset, NULL); + result = dns_db_findrdataset(db, node, ver, type, 0, (isc_stdtime_t)0, + &rdataset, NULL); dns_db_detachnode(db, &node); if (result == ISC_R_NOTFOUND) { INSIST(!dns_rdataset_isassociated(&rdataset)); @@ -6591,10 +6656,10 @@ add_sigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, * A dnssec-policy is found. Check what RRsets this * key should sign. */ - isc_result_t kresult; + isc_result_t kresult; isc_stdtime_t when; - bool ksk = false; - bool zsk = false; + bool ksk = false; + bool zsk = false; kresult = dst_key_getbool(keys[i], DST_BOOL_KSK, &ksk); if (kresult != ISC_R_SUCCESS) { @@ -6611,8 +6676,7 @@ add_sigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, if (type == dns_rdatatype_dnskey || type == dns_rdatatype_cdnskey || - type == dns_rdatatype_cds) - { + type == dns_rdatatype_cds) { /* * DNSKEY RRset is signed with KSK. * CDS and CDNSKEY RRsets too (RFC 7344, 4.1). @@ -6646,8 +6710,7 @@ add_sigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, */ if (type == dns_rdatatype_dnskey || type == dns_rdatatype_cdnskey || - type == dns_rdatatype_cds) - { + type == dns_rdatatype_cds) { if (!KSK(keys[i]) && keyset_kskonly) continue; } else if (KSK(keys[i])) { @@ -6659,14 +6722,13 @@ add_sigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, /* Calculate the signature, creating a RRSIG RDATA. */ isc_buffer_clear(&buffer); - CHECK(dns_dnssec_sign(name, &rdataset, keys[i], - &inception, &expire, - mctx, &buffer, &sig_rdata)); + CHECK(dns_dnssec_sign(name, &rdataset, keys[i], &inception, + &expire, mctx, &buffer, &sig_rdata)); /* Update the database and journal with the RRSIG. */ /* XXX inefficient - will cause dataset merging */ - CHECK(update_one_rr(db, ver, diff, DNS_DIFFOP_ADDRESIGN, - name, rdataset.ttl, &sig_rdata)); + CHECK(update_one_rr(db, ver, diff, DNS_DIFFOP_ADDRESIGN, name, + rdataset.ttl, &sig_rdata)); dns_rdata_reset(&sig_rdata); isc_buffer_init(&buffer, data, sizeof(data)); @@ -6685,7 +6747,7 @@ add_sigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, } } - failure: +failure: if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); if (node != NULL) @@ -6694,24 +6756,25 @@ add_sigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, } static void -zone_resigninc(dns_zone_t *zone) { - const char *me = "zone_resigninc"; - dns_db_t *db = NULL; +zone_resigninc(dns_zone_t *zone) +{ + const char * me = "zone_resigninc"; + dns_db_t * db = NULL; dns_dbversion_t *version = NULL; - dns_diff_t _sig_diff; - dns__zonediff_t zonediff; - dns_fixedname_t fixed; - dns_name_t *name; - dns_rdataset_t rdataset; - dns_rdatatype_t covers; - dst_key_t *zone_keys[DNS_MAXZONEKEYS]; - bool check_ksk, keyset_kskonly = false; - isc_result_t result; - isc_stdtime_t now, inception, soaexpire, expire, fullexpire, stop; - uint32_t sigvalidityinterval, expiryinterval; - unsigned int i; - unsigned int nkeys = 0; - unsigned int resign; + dns_diff_t _sig_diff; + dns__zonediff_t zonediff; + dns_fixedname_t fixed; + dns_name_t * name; + dns_rdataset_t rdataset; + dns_rdatatype_t covers; + dst_key_t * zone_keys[DNS_MAXZONEKEYS]; + bool check_ksk, keyset_kskonly = false; + isc_result_t result; + isc_stdtime_t now, inception, soaexpire, expire, fullexpire, stop; + uint32_t sigvalidityinterval, expiryinterval; + unsigned int i; + unsigned int nkeys = 0; + unsigned int resign; ENTER; @@ -6724,8 +6787,7 @@ zone_resigninc(dns_zone_t *zone) { * Pause for 5 minutes. */ if (zone->update_disabled || - DNS_ZONEKEY_OPTION(zone, DNS_ZONEKEY_NORESIGN)) - { + DNS_ZONEKEY_OPTION(zone, DNS_ZONEKEY_NORESIGN)) { result = ISC_R_FAILURE; goto failure; } @@ -6754,7 +6816,7 @@ zone_resigninc(dns_zone_t *zone) { } sigvalidityinterval = dns_zone_getsigvalidityinterval(zone); - inception = now - 3600; /* Allow for clock skew. */ + inception = now - 3600; /* Allow for clock skew. */ soaexpire = now + sigvalidityinterval; expiryinterval = dns_zone_getsigresigninginterval(zone); if (expiryinterval > sigvalidityinterval) { @@ -6841,14 +6903,15 @@ zone_resigninc(dns_zone_t *zone) { dns_result_totext(result)); break; } - result = dns_db_getsigningtime(db, &rdataset, name); + result = dns_db_getsigningtime(db, &rdataset, name); if (nkeys == 0 && result == ISC_R_NOTFOUND) { result = ISC_R_SUCCESS; break; } if (result != ISC_R_SUCCESS) dns_zone_log(zone, ISC_LOG_ERROR, - "zone_resigninc:dns_db_getsigningtime -> %s", + "zone_resigninc:dns_db_getsigningtime -> " + "%s", dns_result_totext(result)); } @@ -6906,7 +6969,7 @@ zone_resigninc(dns_zone_t *zone) { /* Everything has succeeded. Commit the changes. */ dns_db_closeversion(db, &version, true); - failure: +failure: dns_diff_clear(&_sig_diff); for (i = 0; i < nkeys; i++) dst_key_free(&zone_keys[i]); @@ -6937,10 +7000,10 @@ static isc_result_t next_active(dns_db_t *db, dns_dbversion_t *version, dns_name_t *oldname, dns_name_t *newname, bool bottom) { - isc_result_t result; - dns_dbiterator_t *dbit = NULL; + isc_result_t result; + dns_dbiterator_t * dbit = NULL; dns_rdatasetiter_t *rdsit = NULL; - dns_dbnode_t *node = NULL; + dns_dbnode_t * node = NULL; CHECK(dns_db_createiterator(db, DNS_DB_NONSEC3, &dbit)); CHECK(dns_dbiterator_seek(dbit, oldname)); @@ -6964,7 +7027,7 @@ next_active(dns_db_t *db, dns_dbversion_t *version, dns_name_t *oldname, if (result != ISC_R_NOMORE) break; } while (1); - failure: +failure: if (node != NULL) dns_db_detachnode(db, &node); if (dbit != NULL) @@ -6973,16 +7036,16 @@ next_active(dns_db_t *db, dns_dbversion_t *version, dns_name_t *oldname, } static bool -signed_with_good_key(dns_zone_t* zone, dns_db_t *db, dns_dbnode_t *node, +signed_with_good_key(dns_zone_t *zone, dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, dns_rdatatype_t type, dst_key_t *key) { - isc_result_t result; - dns_rdataset_t rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + dns_rdataset_t rdataset; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_rrsig_t rrsig; - int count = 0; - dns_kasp_t *kasp = dns_zone_getkasp(zone); + int count = 0; + dns_kasp_t * kasp = dns_zone_getkasp(zone); dns_rdataset_init(&rdataset); result = dns_db_findrdataset(db, node, version, dns_rdatatype_rrsig, @@ -6991,8 +7054,7 @@ signed_with_good_key(dns_zone_t* zone, dns_db_t *db, dns_dbnode_t *node, INSIST(!dns_rdataset_isassociated(&rdataset)); return (false); } - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdataset_current(&rdataset, &rdata); result = dns_rdata_tostruct(&rdata, &rrsig, NULL); @@ -7009,13 +7071,12 @@ signed_with_good_key(dns_zone_t* zone, dns_db_t *db, dns_dbnode_t *node, } if (kasp) { - dns_kasp_key_t* kkey; - int zsk_count = 0; - bool approved; + dns_kasp_key_t *kkey; + int zsk_count = 0; + bool approved; for (kkey = ISC_LIST_HEAD(dns_kasp_keys(kasp)); kkey != NULL; - kkey = ISC_LIST_NEXT(kkey, link)) - { + kkey = ISC_LIST_NEXT(kkey, link)) { if (dns_kasp_key_algorithm(kkey) != dst_key_alg(key)) { continue; } @@ -7025,8 +7086,8 @@ signed_with_good_key(dns_zone_t* zone, dns_db_t *db, dns_dbnode_t *node, } if (type == dns_rdatatype_dnskey || - type == dns_rdatatype_cdnskey || type == dns_rdatatype_cds) - { + type == dns_rdatatype_cdnskey || + type == dns_rdatatype_cds) { /* * CDS and CDNSKEY are signed with KSK like DNSKEY. * (RFC 7344, section 4.1 specifies that they must @@ -7048,23 +7109,21 @@ signed_with_good_key(dns_zone_t* zone, dns_db_t *db, dns_dbnode_t *node, static isc_result_t add_nsec(dns_db_t *db, dns_dbversion_t *version, dns_name_t *name, - dns_dbnode_t *node, dns_ttl_t ttl, bool bottom, - dns_diff_t *diff) + dns_dbnode_t *node, dns_ttl_t ttl, bool bottom, dns_diff_t *diff) { dns_fixedname_t fixed; - dns_name_t *next; - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_result_t result; - unsigned char nsecbuffer[DNS_NSEC_BUFFERSIZE]; + dns_name_t * next; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + unsigned char nsecbuffer[DNS_NSEC_BUFFERSIZE]; next = dns_fixedname_initname(&fixed); CHECK(next_active(db, version, name, next, bottom)); - CHECK(dns_nsec_buildrdata(db, version, node, next, nsecbuffer, - &rdata)); + CHECK(dns_nsec_buildrdata(db, version, node, next, nsecbuffer, &rdata)); CHECK(update_one_rr(db, version, diff, DNS_DIFFOP_ADD, name, ttl, &rdata)); - failure: +failure: return (result); } @@ -7072,9 +7131,9 @@ static isc_result_t check_if_bottom_of_zone(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, bool *is_bottom_of_zone) { - isc_result_t result; + isc_result_t result; dns_rdatasetiter_t *iterator = NULL; - dns_rdataset_t rdataset; + dns_rdataset_t rdataset; bool seen_soa = false, seen_ns = false, seen_dname = false; REQUIRE(is_bottom_of_zone != NULL); @@ -7088,8 +7147,7 @@ check_if_bottom_of_zone(dns_db_t *db, dns_dbnode_t *node, } dns_rdataset_init(&rdataset); - for (result = dns_rdatasetiter_first(iterator); - result == ISC_R_SUCCESS; + for (result = dns_rdatasetiter_first(iterator); result == ISC_R_SUCCESS; result = dns_rdatasetiter_next(iterator)) { dns_rdatasetiter_current(iterator, &rdataset); switch (rdataset.type) { @@ -7113,7 +7171,7 @@ check_if_bottom_of_zone(dns_db_t *db, dns_dbnode_t *node, } result = ISC_R_SUCCESS; - failure: +failure: dns_rdatasetiter_destroy(&iterator); return (result); @@ -7121,22 +7179,21 @@ check_if_bottom_of_zone(dns_db_t *db, dns_dbnode_t *node, static isc_result_t sign_a_node(dns_db_t *db, dns_zone_t *zone, dns_name_t *name, - dns_dbnode_t *node, dns_dbversion_t *version, - bool build_nsec3, bool build_nsec, dst_key_t *key, - isc_stdtime_t inception, isc_stdtime_t expire, - unsigned int minimum, bool is_ksk, bool is_zsk, - bool keyset_kskonly, bool is_bottom_of_zone, + dns_dbnode_t *node, dns_dbversion_t *version, bool build_nsec3, + bool build_nsec, dst_key_t *key, isc_stdtime_t inception, + isc_stdtime_t expire, unsigned int minimum, bool is_ksk, + bool is_zsk, bool keyset_kskonly, bool is_bottom_of_zone, dns_diff_t *diff, int32_t *signatures, isc_mem_t *mctx) { - isc_result_t result; - dns_kasp_t *kasp = dns_zone_getkasp(zone); + isc_result_t result; + dns_kasp_t * kasp = dns_zone_getkasp(zone); dns_rdatasetiter_t *iterator = NULL; - dns_rdataset_t rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_stats_t* dnssecsignstats; - dns_stats_t* dnssecrefreshstats; + dns_rdataset_t rdataset; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_stats_t * dnssecsignstats; + dns_stats_t * dnssecrefreshstats; - isc_buffer_t buffer; + isc_buffer_t buffer; unsigned char data[1024]; bool seen_soa, seen_ns, seen_rr, seen_nsec, seen_nsec3, seen_ds; @@ -7150,8 +7207,7 @@ sign_a_node(dns_db_t *db, dns_zone_t *zone, dns_name_t *name, dns_rdataset_init(&rdataset); isc_buffer_init(&buffer, data, sizeof(data)); seen_rr = seen_soa = seen_ns = seen_nsec = seen_nsec3 = seen_ds = false; - for (result = dns_rdatasetiter_first(iterator); - result == ISC_R_SUCCESS; + for (result = dns_rdatasetiter_first(iterator); result == ISC_R_SUCCESS; result = dns_rdatasetiter_next(iterator)) { dns_rdatasetiter_current(iterator, &rdataset); if (rdataset.type == dns_rdatatype_soa) @@ -7176,8 +7232,8 @@ sign_a_node(dns_db_t *db, dns_zone_t *zone, dns_name_t *name, */ if (build_nsec3 && !seen_nsec3 && seen_rr) { bool unsecure = !seen_ds && seen_ns && !seen_soa; - CHECK(dns_nsec3_addnsec3s(db, version, name, minimum, - unsecure, diff)); + CHECK(dns_nsec3_addnsec3s(db, version, name, minimum, unsecure, + diff)); (*signatures)--; } /* @@ -7201,14 +7257,12 @@ sign_a_node(dns_db_t *db, dns_zone_t *zone, dns_name_t *name, dns_rdatasetiter_current(iterator, &rdataset); if (rdataset.type == dns_rdatatype_soa || - rdataset.type == dns_rdatatype_rrsig) - { + rdataset.type == dns_rdatatype_rrsig) { goto next_rdataset; } if (rdataset.type == dns_rdatatype_dnskey || rdataset.type == dns_rdatatype_cdnskey || - rdataset.type == dns_rdatatype_cds) - { + rdataset.type == dns_rdatatype_cds) { /* * CDS and CDNSKEY are signed with KSK like DNSKEY. * (RFC 7344, section 4.1 specifies that they must @@ -7228,20 +7282,19 @@ sign_a_node(dns_db_t *db, dns_zone_t *zone, dns_name_t *name, } } - if (seen_ns && !seen_soa && - rdataset.type != dns_rdatatype_ds && - rdataset.type != dns_rdatatype_nsec) - { + if (seen_ns && !seen_soa && rdataset.type != dns_rdatatype_ds && + rdataset.type != dns_rdatatype_nsec) { goto next_rdataset; } - if (signed_with_good_key(zone, db, node, version, rdataset.type, key)) { + if (signed_with_good_key(zone, db, node, version, rdataset.type, + key)) { goto next_rdataset; } /* Calculate the signature, creating a RRSIG RDATA. */ isc_buffer_clear(&buffer); - CHECK(dns_dnssec_sign(name, &rdataset, key, &inception, - &expire, mctx, &buffer, &rdata)); + CHECK(dns_dnssec_sign(name, &rdataset, key, &inception, &expire, + mctx, &buffer, &rdata)); /* Update the database and journal with the RRSIG. */ /* XXX inefficient - will cause dataset merging */ CHECK(update_one_rr(db, version, diff, DNS_DIFFOP_ADDRESIGN, @@ -7263,13 +7316,13 @@ sign_a_node(dns_db_t *db, dns_zone_t *zone, dns_name_t *name, } (*signatures)--; - next_rdataset: + next_rdataset: dns_rdataset_disassociate(&rdataset); result = dns_rdatasetiter_next(iterator); } if (result == ISC_R_NOMORE) result = ISC_R_SUCCESS; - failure: +failure: if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); if (iterator != NULL) @@ -7284,17 +7337,16 @@ static isc_result_t updatesecure(dns_db_t *db, dns_dbversion_t *version, dns_name_t *name, dns_ttl_t minimum, bool update_only, dns_diff_t *diff) { - isc_result_t result; + isc_result_t result; dns_rdataset_t rdataset; - dns_dbnode_t *node = NULL; + dns_dbnode_t * node = NULL; CHECK(dns_db_getoriginnode(db, &node)); if (update_only) { dns_rdataset_init(&rdataset); - result = dns_db_findrdataset(db, node, version, - dns_rdatatype_nsec, - dns_rdatatype_none, - 0, &rdataset, NULL); + result = dns_db_findrdataset( + db, node, version, dns_rdatatype_nsec, + dns_rdatatype_none, 0, &rdataset, NULL); if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); if (result == ISC_R_NOTFOUND) @@ -7304,9 +7356,9 @@ updatesecure(dns_db_t *db, dns_dbversion_t *version, dns_name_t *name, } CHECK(delete_nsec(db, version, node, name, diff)); CHECK(add_nsec(db, version, name, node, minimum, false, diff)); - success: +success: result = ISC_R_SUCCESS; - failure: +failure: if (node != NULL) dns_db_detachnode(db, &node); return (result); @@ -7314,16 +7366,16 @@ updatesecure(dns_db_t *db, dns_dbversion_t *version, dns_name_t *name, static isc_result_t updatesignwithkey(dns_zone_t *zone, dns_signing_t *signing, - dns_dbversion_t *version, bool build_nsec3, - dns_ttl_t minimum, dns_diff_t *diff) + dns_dbversion_t *version, bool build_nsec3, dns_ttl_t minimum, + dns_diff_t *diff) { - isc_result_t result; - dns_dbnode_t *node = NULL; + isc_result_t result; + dns_dbnode_t * node = NULL; dns_rdataset_t rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; - unsigned char data[5]; - bool seen_done = false; - bool have_rr = false; + dns_rdata_t rdata = DNS_RDATA_INIT; + unsigned char data[5]; + bool seen_done = false; + bool have_rr = false; dns_rdataset_init(&rdataset); result = dns_db_getoriginnode(signing->db, &node); @@ -7331,8 +7383,8 @@ updatesignwithkey(dns_zone_t *zone, dns_signing_t *signing, goto failure; result = dns_db_findrdataset(signing->db, node, version, - zone->privatetype, dns_rdatatype_none, - 0, &rdataset, NULL); + zone->privatetype, dns_rdatatype_none, 0, + &rdataset, NULL); if (result == ISC_R_NOTFOUND) { INSIST(!dns_rdataset_isassociated(&rdataset)); result = ISC_R_SUCCESS; @@ -7342,15 +7394,13 @@ updatesignwithkey(dns_zone_t *zone, dns_signing_t *signing, INSIST(!dns_rdataset_isassociated(&rdataset)); goto failure; } - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdataset_current(&rdataset, &rdata); /* * If we don't match the algorithm or keyid skip the record. */ - if (rdata.length != 5 || - rdata.data[0] != signing->algorithm || + if (rdata.length != 5 || rdata.data[0] != signing->algorithm || rdata.data[1] != ((signing->keyid >> 8) & 0xff) || rdata.data[2] != (signing->keyid & 0xff)) { have_rr = true; @@ -7405,11 +7455,11 @@ updatesignwithkey(dns_zone_t *zone, dns_signing_t *signing, if (build_nsec3) CHECK(dns_nsec3_addnsec3s(signing->db, version, origin, minimum, false, diff)); - CHECK(updatesecure(signing->db, version, origin, minimum, - true, diff)); + CHECK(updatesecure(signing->db, version, origin, minimum, true, + diff)); } - failure: +failure: if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); if (node != NULL) @@ -7443,26 +7493,25 @@ updatesignwithkey(dns_zone_t *zone, dns_signing_t *signing, */ static isc_result_t fixup_nsec3param(dns_db_t *db, dns_dbversion_t *ver, dns_nsec3chain_t *chain, - bool active, dns_rdatatype_t privatetype, - dns_diff_t *diff) + bool active, dns_rdatatype_t privatetype, dns_diff_t *diff) { - dns_dbnode_t *node = NULL; - dns_name_t *name = dns_db_origin(db); - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdataset_t rdataset; + dns_dbnode_t * node = NULL; + dns_name_t * name = dns_db_origin(db); + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdataset_t rdataset; dns_rdata_nsec3param_t nsec3param; - isc_result_t result; - isc_buffer_t buffer; - unsigned char parambuf[DNS_NSEC3PARAM_BUFFERSIZE]; - dns_ttl_t ttl = 0; - bool nseconly = false, nsec3ok = false; + isc_result_t result; + isc_buffer_t buffer; + unsigned char parambuf[DNS_NSEC3PARAM_BUFFERSIZE]; + dns_ttl_t ttl = 0; + bool nseconly = false, nsec3ok = false; dns_rdataset_init(&rdataset); result = dns_db_getoriginnode(db, &node); RUNTIME_CHECK(result == ISC_R_SUCCESS); - result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec3param, - 0, 0, &rdataset, NULL); + result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec3param, 0, + 0, &rdataset, NULL); if (result == ISC_R_NOTFOUND) goto try_private; if (result != ISC_R_SUCCESS) @@ -7476,10 +7525,8 @@ fixup_nsec3param(dns_db_t *db, dns_dbversion_t *ver, dns_nsec3chain_t *chain, /* * Delete all NSEC3PARAM records which match that in nsec3chain. */ - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { - dns_rdataset_current(&rdataset, &rdata); CHECK(dns_rdata_tostruct(&rdata, &nsec3param, NULL)); @@ -7493,8 +7540,8 @@ fixup_nsec3param(dns_db_t *db, dns_dbversion_t *ver, dns_nsec3chain_t *chain, continue; } - CHECK(update_one_rr(db, ver, diff, DNS_DIFFOP_DEL, - name, rdataset.ttl, &rdata)); + CHECK(update_one_rr(db, ver, diff, DNS_DIFFOP_DEL, name, + rdataset.ttl, &rdata)); dns_rdata_reset(&rdata); } if (result != ISC_R_NOMORE) @@ -7502,7 +7549,7 @@ fixup_nsec3param(dns_db_t *db, dns_dbversion_t *ver, dns_nsec3chain_t *chain, dns_rdataset_disassociate(&rdataset); - try_private: +try_private: if (active) goto add; @@ -7513,22 +7560,21 @@ fixup_nsec3param(dns_db_t *db, dns_dbversion_t *ver, dns_nsec3chain_t *chain, /* * Delete all private records which match that in nsec3chain. */ - result = dns_db_findrdataset(db, node, ver, privatetype, - 0, 0, &rdataset, NULL); + result = dns_db_findrdataset(db, node, ver, privatetype, 0, 0, + &rdataset, NULL); if (result == ISC_R_NOTFOUND) goto add; if (result != ISC_R_SUCCESS) goto failure; - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdata_t private = DNS_RDATA_INIT; unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE]; dns_rdataset_current(&rdataset, &private); - if (!dns_nsec3param_fromprivate(&private, &rdata, - buf, sizeof(buf))) + if (!dns_nsec3param_fromprivate(&private, &rdata, buf, + sizeof(buf))) continue; CHECK(dns_rdata_tostruct(&rdata, &nsec3param, NULL)); @@ -7543,14 +7589,14 @@ fixup_nsec3param(dns_db_t *db, dns_dbversion_t *ver, dns_nsec3chain_t *chain, continue; } - CHECK(update_one_rr(db, ver, diff, DNS_DIFFOP_DEL, - name, rdataset.ttl, &private)); + CHECK(update_one_rr(db, ver, diff, DNS_DIFFOP_DEL, name, + rdataset.ttl, &private)); dns_rdata_reset(&rdata); } if (result != ISC_R_NOMORE) goto failure; - add: +add: if ((chain->nsec3param.flags & DNS_NSEC3FLAG_REMOVE) != 0) { result = ISC_R_SUCCESS; goto failure; @@ -7565,12 +7611,12 @@ fixup_nsec3param(dns_db_t *db, dns_dbversion_t *ver, dns_nsec3chain_t *chain, */ isc_buffer_init(&buffer, ¶mbuf, sizeof(parambuf)); CHECK(dns_rdata_fromstruct(&rdata, dns_db_class(db), - dns_rdatatype_nsec3param, - &chain->nsec3param, &buffer)); - rdata.data[1] = 0; /* Clear flag bits. */ + dns_rdatatype_nsec3param, &chain->nsec3param, + &buffer)); + rdata.data[1] = 0; /* Clear flag bits. */ CHECK(update_one_rr(db, ver, diff, DNS_DIFFOP_ADD, name, ttl, &rdata)); - failure: +failure: dns_db_detachnode(db, &node); if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); @@ -7582,18 +7628,17 @@ delete_nsec(dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node, dns_name_t *name, dns_diff_t *diff) { dns_rdataset_t rdataset; - isc_result_t result; + isc_result_t result; dns_rdataset_init(&rdataset); - result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec, - 0, 0, &rdataset, NULL); + result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec, 0, 0, + &rdataset, NULL); if (result == ISC_R_NOTFOUND) return (ISC_R_SUCCESS); if (result != ISC_R_SUCCESS) return (result); - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; @@ -7603,7 +7648,7 @@ delete_nsec(dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node, } if (result == ISC_R_NOMORE) result = ISC_R_SUCCESS; - failure: +failure: dns_rdataset_disassociate(&rdataset); return (result); } @@ -7613,20 +7658,19 @@ deletematchingnsec3(dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node, dns_name_t *name, const dns_rdata_nsec3param_t *param, dns_diff_t *diff) { - dns_rdataset_t rdataset; + dns_rdataset_t rdataset; dns_rdata_nsec3_t nsec3; - isc_result_t result; + isc_result_t result; dns_rdataset_init(&rdataset); - result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec3, - 0, 0, &rdataset, NULL); + result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec3, 0, 0, + &rdataset, NULL); if (result == ISC_R_NOTFOUND) return (ISC_R_SUCCESS); if (result != ISC_R_SUCCESS) return (result); - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; @@ -7642,21 +7686,20 @@ deletematchingnsec3(dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node, } if (result == ISC_R_NOMORE) result = ISC_R_SUCCESS; - failure: +failure: dns_rdataset_disassociate(&rdataset); return (result); } static isc_result_t need_nsec_chain(dns_db_t *db, dns_dbversion_t *ver, - const dns_rdata_nsec3param_t *param, - bool *answer) + const dns_rdata_nsec3param_t *param, bool *answer) { - dns_dbnode_t *node = NULL; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_dbnode_t * node = NULL; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_nsec3param_t myparam; - dns_rdataset_t rdataset; - isc_result_t result; + dns_rdataset_t rdataset; + isc_result_t result; *answer = false; @@ -7665,8 +7708,8 @@ need_nsec_chain(dns_db_t *db, dns_dbversion_t *ver, dns_rdataset_init(&rdataset); - result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec, - 0, 0, &rdataset, NULL); + result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec, 0, 0, + &rdataset, NULL); if (result == ISC_R_SUCCESS) { dns_rdataset_disassociate(&rdataset); dns_db_detachnode(db, &node); @@ -7677,8 +7720,8 @@ need_nsec_chain(dns_db_t *db, dns_dbversion_t *ver, return (result); } - result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec3param, - 0, 0, &rdataset, NULL); + result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec3param, 0, + 0, &rdataset, NULL); if (result == ISC_R_NOTFOUND) { *answer = true; dns_db_detachnode(db, &node); @@ -7689,8 +7732,7 @@ need_nsec_chain(dns_db_t *db, dns_dbversion_t *ver, return (result); } - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdataset_current(&rdataset, &rdata); CHECK(dns_rdata_tostruct(&rdata, &myparam, NULL)); @@ -7718,7 +7760,7 @@ need_nsec_chain(dns_db_t *db, dns_dbversion_t *ver, result = ISC_R_SUCCESS; } - failure: +failure: if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); dns_db_detachnode(db, &node); @@ -7731,13 +7773,13 @@ need_nsec_chain(dns_db_t *db, dns_dbversion_t *ver, * found). */ static dns_difftuple_t * -find_next_matching_tuple(dns_difftuple_t *cur) { +find_next_matching_tuple(dns_difftuple_t *cur) +{ dns_difftuple_t *next = cur; while ((next = ISC_LIST_NEXT(next, link)) != NULL) { if (cur->rdata.type == next->rdata.type && - dns_name_equal(&cur->name, &next->name)) - { + dns_name_equal(&cur->name, &next->name)) { return (next); } } @@ -7750,7 +7792,8 @@ find_next_matching_tuple(dns_difftuple_t *cur) { * them to 'dst'. */ static void -move_matching_tuples(dns_difftuple_t *cur, dns_diff_t *src, dns_diff_t *dst) { +move_matching_tuples(dns_difftuple_t *cur, dns_diff_t *src, dns_diff_t *dst) +{ do { dns_difftuple_t *next = find_next_matching_tuple(cur); ISC_LIST_UNLINK(src->tuples, cur, link); @@ -7769,11 +7812,11 @@ dns__zone_updatesigs(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *version, dst_key_t *zone_keys[], unsigned int nkeys, dns_zone_t *zone, isc_stdtime_t inception, isc_stdtime_t expire, isc_stdtime_t keyexpire, - isc_stdtime_t now, bool check_ksk, - bool keyset_kskonly, dns__zonediff_t *zonediff) + isc_stdtime_t now, bool check_ksk, bool keyset_kskonly, + dns__zonediff_t *zonediff) { dns_difftuple_t *tuple; - isc_result_t result; + isc_result_t result; while ((tuple = ISC_LIST_HEAD(diff->tuples)) != NULL) { isc_stdtime_t exp = expire; @@ -7781,14 +7824,13 @@ dns__zone_updatesigs(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *version, if (keyexpire != 0 && (tuple->rdata.type == dns_rdatatype_dnskey || tuple->rdata.type == dns_rdatatype_cdnskey || - tuple->rdata.type == dns_rdatatype_cds)) - { + tuple->rdata.type == dns_rdatatype_cds)) { exp = keyexpire; } result = del_sigs(zone, db, version, &tuple->name, - tuple->rdata.type, zonediff, - zone_keys, nkeys, now, false); + tuple->rdata.type, zonediff, zone_keys, nkeys, + now, false); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, "dns__zone_updatesigs:del_sigs -> %s", @@ -7796,9 +7838,9 @@ dns__zone_updatesigs(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *version, return (result); } result = add_sigs(db, version, &tuple->name, zone, - tuple->rdata.type, zonediff->diff, - zone_keys, nkeys, zone->mctx, inception, - exp, check_ksk, keyset_kskonly); + tuple->rdata.type, zonediff->diff, zone_keys, + nkeys, zone->mctx, inception, exp, check_ksk, + keyset_kskonly); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, "dns__zone_updatesigs:add_sigs -> %s", @@ -7823,40 +7865,41 @@ dns__zone_updatesigs(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *version, * requested. */ static void -zone_nsec3chain(dns_zone_t *zone) { - const char *me = "zone_nsec3chain"; - dns_db_t *db = NULL; - dns_dbnode_t *node = NULL; - dns_dbversion_t *version = NULL; - dns_diff_t _sig_diff; - dns_diff_t nsec_diff; - dns_diff_t nsec3_diff; - dns_diff_t param_diff; - dns__zonediff_t zonediff; - dns_fixedname_t fixed; - dns_fixedname_t nextfixed; - dns_name_t *name, *nextname; - dns_rdataset_t rdataset; - dns_nsec3chain_t *nsec3chain = NULL, *nextnsec3chain; +zone_nsec3chain(dns_zone_t *zone) +{ + const char * me = "zone_nsec3chain"; + dns_db_t * db = NULL; + dns_dbnode_t * node = NULL; + dns_dbversion_t * version = NULL; + dns_diff_t _sig_diff; + dns_diff_t nsec_diff; + dns_diff_t nsec3_diff; + dns_diff_t param_diff; + dns__zonediff_t zonediff; + dns_fixedname_t fixed; + dns_fixedname_t nextfixed; + dns_name_t * name, *nextname; + dns_rdataset_t rdataset; + dns_nsec3chain_t * nsec3chain = NULL, *nextnsec3chain; dns_nsec3chainlist_t cleanup; - dst_key_t *zone_keys[DNS_MAXZONEKEYS]; - int32_t signatures; - bool check_ksk, keyset_kskonly; - bool delegation; - bool first; - isc_result_t result; - isc_stdtime_t now, inception, soaexpire, expire; - uint32_t jitter, sigvalidityinterval, expiryinterval; - unsigned int i; - unsigned int nkeys = 0; - uint32_t nodes; - bool unsecure = false; - bool seen_soa, seen_ns, seen_dname, seen_ds; - bool seen_nsec, seen_nsec3, seen_rr; - dns_rdatasetiter_t *iterator = NULL; - bool buildnsecchain; - bool updatensec = false; - dns_rdatatype_t privatetype = zone->privatetype; + dst_key_t * zone_keys[DNS_MAXZONEKEYS]; + int32_t signatures; + bool check_ksk, keyset_kskonly; + bool delegation; + bool first; + isc_result_t result; + isc_stdtime_t now, inception, soaexpire, expire; + uint32_t jitter, sigvalidityinterval, expiryinterval; + unsigned int i; + unsigned int nkeys = 0; + uint32_t nodes; + bool unsecure = false; + bool seen_soa, seen_ns, seen_dname, seen_ds; + bool seen_nsec, seen_nsec3, seen_rr; + dns_rdatasetiter_t * iterator = NULL; + bool buildnsecchain; + bool updatensec = false; + dns_rdatatype_t privatetype = zone->privatetype; ENTER; @@ -7916,7 +7959,7 @@ zone_nsec3chain(dns_zone_t *zone) { } sigvalidityinterval = dns_zone_getsigvalidityinterval(zone); - inception = now - 3600; /* Allow for clock skew. */ + inception = now - 3600; /* Allow for clock skew. */ soaexpire = now + sigvalidityinterval; expiryinterval = dns_zone_getsigresigninginterval(zone); if (expiryinterval > sigvalidityinterval) { @@ -8021,12 +8064,11 @@ zone_nsec3chain(dns_zone_t *zone) { unsecure = false; if (first) { dns_fixedname_t ffound; - dns_name_t *found; + dns_name_t * found; found = dns_fixedname_initname(&ffound); - result = dns_db_find(db, name, version, - dns_rdatatype_soa, - DNS_DBFIND_NOWILD, 0, NULL, found, - NULL, NULL); + result = dns_db_find( + db, name, version, dns_rdatatype_soa, + DNS_DBFIND_NOWILD, 0, NULL, found, NULL, NULL); if ((result == DNS_R_DELEGATION || result == DNS_R_DNAME) && !dns_name_equal(name, found)) { @@ -8055,8 +8097,7 @@ zone_nsec3chain(dns_zone_t *zone) { seen_soa = seen_ns = seen_dname = seen_ds = seen_nsec = false; for (result = dns_rdatasetiter_first(iterator); result == ISC_R_SUCCESS; - result = dns_rdatasetiter_next(iterator)) - { + result = dns_rdatasetiter_next(iterator)) { dns_rdatasetiter_current(iterator, &rdataset); INSIST(rdataset.type != dns_rdatatype_nsec3); if (rdataset.type == dns_rdatatype_soa) { @@ -8090,12 +8131,12 @@ zone_nsec3chain(dns_zone_t *zone) { * Process one node. */ dns_dbiterator_pause(nsec3chain->dbiterator); - result = dns_nsec3_addnsec3(db, version, name, - &nsec3chain->nsec3param, - zone->minimum, unsecure, - &nsec3_diff); + result = dns_nsec3_addnsec3( + db, version, name, &nsec3chain->nsec3param, + zone->minimum, unsecure, &nsec3_diff); if (result != ISC_R_SUCCESS) { - dnssec_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:" + dnssec_log(zone, ISC_LOG_ERROR, + "zone_nsec3chain:" "dns_nsec3_addnsec3 -> %s", dns_result_totext(result)); goto failure; @@ -8114,7 +8155,7 @@ zone_nsec3chain(dns_zone_t *zone) { /* * Go onto next node. */ - next_addnode: + next_addnode: first = false; dns_db_detachnode(db, &node); do { @@ -8135,11 +8176,9 @@ zone_nsec3chain(dns_zone_t *zone) { if (result == ISC_R_NOMORE) { dns_dbiterator_pause(nsec3chain->dbiterator); if (nsec3chain->seen_nsec) { - CHECK(fixup_nsec3param(db, version, - nsec3chain, - true, - privatetype, - ¶m_diff)); + CHECK(fixup_nsec3param( + db, version, nsec3chain, true, + privatetype, ¶m_diff)); nsec3chain->delete_nsec = true; goto same_addchain; } @@ -8170,12 +8209,12 @@ zone_nsec3chain(dns_zone_t *zone) { } while (1); continue; - same_addchain: + same_addchain: CHECK(dns_dbiterator_first(nsec3chain->dbiterator)); first = true; continue; - next_addchain: + next_addchain: dns_dbiterator_pause(nsec3chain->dbiterator); nsec3chain = nextnsec3chain; first = true; @@ -8224,8 +8263,8 @@ zone_nsec3chain(dns_zone_t *zone) { * of removing this NSEC3 chain. */ if (first && !updatensec && - (nsec3chain->nsec3param.flags & DNS_NSEC3FLAG_NONSEC) == 0) - { + (nsec3chain->nsec3param.flags & DNS_NSEC3FLAG_NONSEC) == + 0) { result = need_nsec_chain(db, version, &nsec3chain->nsec3param, &buildnsecchain); @@ -8252,10 +8291,9 @@ zone_nsec3chain(dns_zone_t *zone) { * Delete the NSEC3PARAM record matching this chain. */ if (first) { - result = fixup_nsec3param(db, version, - nsec3chain, - true, privatetype, - ¶m_diff); + result = fixup_nsec3param( + db, version, nsec3chain, true, + privatetype, ¶m_diff); if (result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:" @@ -8283,16 +8321,14 @@ zone_nsec3chain(dns_zone_t *zone) { if (first) { dns_fixedname_t ffound; - dns_name_t *found; + dns_name_t * found; found = dns_fixedname_initname(&ffound); - result = dns_db_find(db, name, version, - dns_rdatatype_soa, - DNS_DBFIND_NOWILD, 0, NULL, found, - NULL, NULL); + result = dns_db_find( + db, name, version, dns_rdatatype_soa, + DNS_DBFIND_NOWILD, 0, NULL, found, NULL, NULL); if ((result == DNS_R_DELEGATION || result == DNS_R_DNAME) && - !dns_name_equal(name, found)) - { + !dns_name_equal(name, found)) { /* * Remember the obscuring name so that * we skip all obscured names. @@ -8315,12 +8351,11 @@ zone_nsec3chain(dns_zone_t *zone) { goto failure; } - seen_soa = seen_ns = seen_dname = seen_nsec3 = - seen_nsec = seen_rr = false; + seen_soa = seen_ns = seen_dname = seen_nsec3 = seen_nsec = + seen_rr = false; for (result = dns_rdatasetiter_first(iterator); result == ISC_R_SUCCESS; - result = dns_rdatasetiter_next(iterator)) - { + result = dns_rdatasetiter_next(iterator)) { dns_rdatasetiter_current(iterator, &rdataset); if (rdataset.type == dns_rdatatype_soa) { seen_soa = true; @@ -8356,7 +8391,7 @@ zone_nsec3chain(dns_zone_t *zone) { signatures--; } - next_removenode: + next_removenode: first = false; dns_db_detachnode(db, &node); do { @@ -8376,10 +8411,9 @@ zone_nsec3chain(dns_zone_t *zone) { UNLOCK_ZONE(zone); ISC_LIST_APPEND(cleanup, nsec3chain, link); dns_dbiterator_pause(nsec3chain->dbiterator); - result = fixup_nsec3param(db, version, - nsec3chain, false, - privatetype, - ¶m_diff); + result = fixup_nsec3param( + db, version, nsec3chain, false, + privatetype, ¶m_diff); if (result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:" @@ -8407,25 +8441,24 @@ zone_nsec3chain(dns_zone_t *zone) { } while (1); continue; - same_removechain: + same_removechain: CHECK(dns_dbiterator_first(nsec3chain->dbiterator)); buildnsecchain = false; first = true; continue; - next_removechain: + next_removechain: dns_dbiterator_pause(nsec3chain->dbiterator); nsec3chain = nextnsec3chain; first = true; } - skip_removals: +skip_removals: /* * We may need to update the NSEC/NSEC3 records for the zone apex. */ if (!ISC_LIST_EMPTY(param_diff.tuples)) { - bool rebuild_nsec = false, - rebuild_nsec3 = false; + bool rebuild_nsec = false, rebuild_nsec3 = false; result = dns_db_getoriginnode(db, &node); RUNTIME_CHECK(result == ISC_R_SUCCESS); result = dns_db_allrdatasets(db, node, version, 0, &iterator); @@ -8437,8 +8470,7 @@ zone_nsec3chain(dns_zone_t *zone) { } for (result = dns_rdatasetiter_first(iterator); result == ISC_R_SUCCESS; - result = dns_rdatasetiter_next(iterator)) - { + result = dns_rdatasetiter_next(iterator)) { dns_rdatasetiter_current(iterator, &rdataset); if (rdataset.type == dns_rdatatype_nsec) { rebuild_nsec = true; @@ -8456,8 +8488,7 @@ zone_nsec3chain(dns_zone_t *zone) { } result = updatesecure(db, version, &zone->origin, - zone->minimum, true, - &nsec_diff); + zone->minimum, true, &nsec_diff); if (result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:updatesecure -> %s", @@ -8471,10 +8502,9 @@ zone_nsec3chain(dns_zone_t *zone) { dns_dbiterator_pause(nsec3chain->dbiterator); } - result = dns_nsec3_addnsec3s(db, version, - dns_db_origin(db), - zone->minimum, false, - &nsec3_diff); + result = dns_nsec3_addnsec3s( + db, version, dns_db_origin(db), zone->minimum, + false, &nsec3_diff); if (result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:" @@ -8516,8 +8546,8 @@ zone_nsec3chain(dns_zone_t *zone) { } if (updatensec) { - result = updatesecure(db, version, &zone->origin, - zone->minimum, false, &nsec_diff); + result = updatesecure(db, version, &zone->origin, zone->minimum, + false, &nsec_diff); if (result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:updatesecure -> %s", @@ -8526,8 +8556,8 @@ zone_nsec3chain(dns_zone_t *zone) { } } - result = dns__zone_updatesigs(&nsec_diff, db, version, zone_keys, - nkeys, zone, inception, expire, 0, now, + result = dns__zone_updatesigs(&nsec_diff, db, version, zone_keys, nkeys, + zone, inception, expire, 0, now, check_ksk, keyset_kskonly, &zonediff); if (result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, @@ -8584,15 +8614,13 @@ zone_nsec3chain(dns_zone_t *zone) { DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_NEEDNOTIFY); UNLOCK_ZONE(zone); - done: +done: /* * Pause all iterators so that dns_db_closeversion() can succeed. */ LOCK_ZONE(zone); - for (nsec3chain = ISC_LIST_HEAD(zone->nsec3chain); - nsec3chain != NULL; - nsec3chain = ISC_LIST_NEXT(nsec3chain, link)) - { + for (nsec3chain = ISC_LIST_HEAD(zone->nsec3chain); nsec3chain != NULL; + nsec3chain = ISC_LIST_NEXT(nsec3chain, link)) { dns_dbiterator_pause(nsec3chain->dbiterator); } UNLOCK_ZONE(zone); @@ -8617,7 +8645,7 @@ zone_nsec3chain(dns_zone_t *zone) { set_resigntime(zone); - failure: +failure: if (result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, "zone_nsec3chain: %s", dns_result_totext(result)); @@ -8662,10 +8690,8 @@ zone_nsec3chain(dns_zone_t *zone) { } LOCK_ZONE(zone); - for (nsec3chain = ISC_LIST_HEAD(zone->nsec3chain); - nsec3chain != NULL; - nsec3chain = ISC_LIST_NEXT(nsec3chain, link)) - { + for (nsec3chain = ISC_LIST_HEAD(zone->nsec3chain); nsec3chain != NULL; + nsec3chain = ISC_LIST_NEXT(nsec3chain, link)) { dns_dbiterator_pause(nsec3chain->dbiterator); } UNLOCK_ZONE(zone); @@ -8697,7 +8723,7 @@ zone_nsec3chain(dns_zone_t *zone) { if (ISC_LIST_HEAD(zone->nsec3chain) != NULL) { isc_interval_t interval; if (zone->update_disabled || result != ISC_R_SUCCESS) { - isc_interval_set(&interval, 60, 0); /* 1 minute */ + isc_interval_set(&interval, 60, 0); /* 1 minute */ } else { isc_interval_set(&interval, 0, 10000000); /* 10 ms */ } @@ -8721,12 +8747,12 @@ del_sig(dns_db_t *db, dns_dbversion_t *version, dns_name_t *name, dns_dbnode_t *node, unsigned int nkeys, dns_secalg_t algorithm, uint16_t keyid, bool *has_algp, dns_diff_t *diff) { - dns_rdata_rrsig_t rrsig; - dns_rdataset_t rdataset; + dns_rdata_rrsig_t rrsig; + dns_rdataset_t rdataset; dns_rdatasetiter_t *iterator = NULL; - isc_result_t result; - bool alg_missed = false; - bool alg_found = false; + isc_result_t result; + bool alg_missed = false; + bool alg_found = false; char namebuf[DNS_NAME_FORMATSIZE]; dns_name_format(name, namebuf, sizeof(namebuf)); @@ -8739,8 +8765,7 @@ del_sig(dns_db_t *db, dns_dbversion_t *version, dns_name_t *name, } dns_rdataset_init(&rdataset); - for (result = dns_rdatasetiter_first(iterator); - result == ISC_R_SUCCESS; + for (result = dns_rdatasetiter_first(iterator); result == ISC_R_SUCCESS; result = dns_rdatasetiter_next(iterator)) { bool has_alg = false; dns_rdatasetiter_current(iterator, &rdataset); @@ -8765,15 +8790,12 @@ del_sig(dns_db_t *db, dns_dbversion_t *version, dns_name_t *name, } for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(&rdataset)) - { + result = dns_rdataset_next(&rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(&rdataset, &rdata); CHECK(dns_rdata_tostruct(&rdata, &rrsig, NULL)); - if (nkeys != 0 && - (rrsig.algorithm != algorithm || - rrsig.keyid != keyid)) - { + if (nkeys != 0 && (rrsig.algorithm != algorithm || + rrsig.keyid != keyid)) { if (rrsig.algorithm == algorithm) { has_alg = true; } @@ -8805,7 +8827,7 @@ del_sig(dns_db_t *db, dns_dbversion_t *version, dns_name_t *name, * i.e., found in at least one, and not missing from any. */ *has_algp = (alg_found && !alg_missed); - failure: +failure: if (dns_rdataset_isassociated(&rdataset)) dns_rdataset_disassociate(&rdataset); dns_rdatasetiter_destroy(&iterator); @@ -8817,36 +8839,37 @@ del_sig(dns_db_t *db, dns_dbversion_t *version, dns_name_t *name, * Builds the NSEC chain if required. */ static void -zone_sign(dns_zone_t *zone) { - const char *me = "zone_sign"; - dns_db_t *db = NULL; - dns_dbnode_t *node = NULL; - dns_dbversion_t *version = NULL; - dns_diff_t _sig_diff; - dns_diff_t post_diff; - dns__zonediff_t zonediff; - dns_fixedname_t fixed; - dns_fixedname_t nextfixed; - dns_kasp_t *kasp; - dns_name_t *name, *nextname; - dns_rdataset_t rdataset; - dns_signing_t *signing, *nextsigning; +zone_sign(dns_zone_t *zone) +{ + const char * me = "zone_sign"; + dns_db_t * db = NULL; + dns_dbnode_t * node = NULL; + dns_dbversion_t * version = NULL; + dns_diff_t _sig_diff; + dns_diff_t post_diff; + dns__zonediff_t zonediff; + dns_fixedname_t fixed; + dns_fixedname_t nextfixed; + dns_kasp_t * kasp; + dns_name_t * name, *nextname; + dns_rdataset_t rdataset; + dns_signing_t * signing, *nextsigning; dns_signinglist_t cleanup; - dst_key_t *zone_keys[DNS_MAXZONEKEYS]; - int32_t signatures; - bool check_ksk, keyset_kskonly, is_ksk, is_zsk; - bool with_ksk, with_zsk; - bool commit = false; - bool is_bottom_of_zone; - bool build_nsec = false; - bool build_nsec3 = false; - bool first; - isc_result_t result; - isc_stdtime_t now, inception, soaexpire, expire; - uint32_t jitter, sigvalidityinterval, expiryinterval; - unsigned int i, j; - unsigned int nkeys = 0; - uint32_t nodes; + dst_key_t * zone_keys[DNS_MAXZONEKEYS]; + int32_t signatures; + bool check_ksk, keyset_kskonly, is_ksk, is_zsk; + bool with_ksk, with_zsk; + bool commit = false; + bool is_bottom_of_zone; + bool build_nsec = false; + bool build_nsec3 = false; + bool first; + isc_result_t result; + isc_stdtime_t now, inception, soaexpire, expire; + uint32_t jitter, sigvalidityinterval, expiryinterval; + unsigned int i, j; + unsigned int nkeys = 0; + uint32_t nodes; ENTER; @@ -8898,7 +8921,7 @@ zone_sign(dns_zone_t *zone) { kasp = dns_zone_getkasp(zone); sigvalidityinterval = dns_zone_getsigvalidityinterval(zone); - inception = now - 3600; /* Allow for clock skew. */ + inception = now - 3600; /* Allow for clock skew. */ soaexpire = now + sigvalidityinterval; expiryinterval = dns_zone_getsigresigninginterval(zone); if (expiryinterval > sigvalidityinterval) { @@ -8933,14 +8956,17 @@ zone_sign(dns_zone_t *zone) { signing = ISC_LIST_HEAD(zone->signing); first = true; - check_ksk = (kasp != NULL) ? false : - DNS_ZONE_OPTION(zone, DNS_ZONEOPT_UPDATECHECKKSK); - keyset_kskonly = (kasp != NULL) ? true : - DNS_ZONE_OPTION(zone, DNS_ZONEOPT_DNSKEYKSKONLY); + check_ksk = (kasp != NULL) + ? false + : DNS_ZONE_OPTION(zone, DNS_ZONEOPT_UPDATECHECKKSK); + keyset_kskonly = + (kasp != NULL) + ? true + : DNS_ZONE_OPTION(zone, DNS_ZONEOPT_DNSKEYKSKONLY); /* Determine which type of chain to build */ - CHECK(dns_private_chains(db, version, zone->privatetype, - &build_nsec, &build_nsec3)); + CHECK(dns_private_chains(db, version, zone->privatetype, &build_nsec, + &build_nsec3)); /* If neither chain is found, default to NSEC */ if (!build_nsec && !build_nsec3) { @@ -8980,11 +9006,12 @@ zone_sign(dns_zone_t *zone) { * Find the key we want to remove. */ if (ALG(zone_keys[i]) == signing->algorithm && - dst_key_id(zone_keys[i]) == signing->keyid) - { - bool ksk = false; + dst_key_id(zone_keys[i]) == + signing->keyid) { + bool ksk = false; isc_result_t ret = dst_key_getbool( - zone_keys[i], DST_BOOL_KSK, &ksk); + zone_keys[i], DST_BOOL_KSK, + &ksk); if (ret != ISC_R_SUCCESS) { ksk = KSK(zone_keys[i]); } @@ -9017,16 +9044,14 @@ zone_sign(dns_zone_t *zone) { */ if (first) { dns_fixedname_t ffound; - dns_name_t *found; + dns_name_t * found; found = dns_fixedname_initname(&ffound); - result = dns_db_find(db, name, version, - dns_rdatatype_soa, - DNS_DBFIND_NOWILD, 0, NULL, found, - NULL, NULL); + result = dns_db_find( + db, name, version, dns_rdatatype_soa, + DNS_DBFIND_NOWILD, 0, NULL, found, NULL, NULL); if ((result == DNS_R_DELEGATION || result == DNS_R_DNAME) && - !dns_name_equal(name, found)) - { + !dns_name_equal(name, found)) { /* * Remember the obscuring name so that * we skip all obscured names. @@ -9065,8 +9090,7 @@ zone_sign(dns_zone_t *zone) { */ if (!signing->deleteit && (dst_key_alg(zone_keys[i]) != signing->algorithm || - dst_key_id(zone_keys[i]) != signing->keyid)) - { + dst_key_id(zone_keys[i]) != signing->keyid)) { continue; } @@ -9075,8 +9099,7 @@ zone_sign(dns_zone_t *zone) { * with the algorithm that was being removed. */ if (signing->deleteit && - ALG(zone_keys[i]) != signing->algorithm) - { + ALG(zone_keys[i]) != signing->algorithm) { continue; } @@ -9093,16 +9116,14 @@ zone_sign(dns_zone_t *zone) { have_nonksk = true; } for (j = 0; j < nkeys; j++) { - if (j == i || - (ALG(zone_keys[i]) != - ALG(zone_keys[j]))) - { + if (j == i || (ALG(zone_keys[i]) != + ALG(zone_keys[j]))) { continue; } /* Don't consider inactive keys, however - * the key may be temporary offline, so do - * consider keys which private key files are - * unavailable. + * the key may be temporary offline, so + * do consider keys which private key + * files are unavailable. */ if (dst_key_inactive(zone_keys[j])) { continue; @@ -9128,9 +9149,8 @@ zone_sign(dns_zone_t *zone) { */ isc_result_t kresult; is_ksk = false; - kresult = dst_key_getbool(zone_keys[i], - DST_BOOL_KSK, - &is_ksk); + kresult = dst_key_getbool( + zone_keys[i], DST_BOOL_KSK, &is_ksk); if (kresult != ISC_R_SUCCESS) { if (KSK(zone_keys[i])) { is_ksk = true; @@ -9138,9 +9158,8 @@ zone_sign(dns_zone_t *zone) { } is_zsk = false; - kresult = dst_key_getbool(zone_keys[i], - DST_BOOL_ZSK, - &is_zsk); + kresult = dst_key_getbool( + zone_keys[i], DST_BOOL_ZSK, &is_zsk); if (kresult != ISC_R_SUCCESS) { if (!KSK(zone_keys[i])) { is_zsk = true; @@ -9169,13 +9188,12 @@ zone_sign(dns_zone_t *zone) { continue; } - CHECK(sign_a_node(db, zone, name, node, version, - build_nsec3, build_nsec, - zone_keys[i], inception, expire, - zone->minimum, is_ksk, is_zsk, - (both && keyset_kskonly), - is_bottom_of_zone, zonediff.diff, - &signatures, zone->mctx)); + CHECK(sign_a_node( + db, zone, name, node, version, build_nsec3, + build_nsec, zone_keys[i], inception, expire, + zone->minimum, is_ksk, is_zsk, + (both && keyset_kskonly), is_bottom_of_zone, + zonediff.diff, &signatures, zone->mctx)); /* * If we are adding we are done. Look for other keys * of the same algorithm if deleting. @@ -9194,7 +9212,7 @@ zone_sign(dns_zone_t *zone) { /* * Go onto next node. */ - next_node: + next_node: first = false; dns_db_detachnode(db, &node); do { @@ -9212,23 +9230,21 @@ zone_sign(dns_zone_t *zone) { * for the zone. We can now clear the * OPT bit from the NSEC record. */ - result = updatesecure(db, version, - &zone->origin, - zone->minimum, - false, - &post_diff); + result = updatesecure( + db, version, &zone->origin, + zone->minimum, false, + &post_diff); if (result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, - "updatesecure -> %s", - dns_result_totext(result)); + "updatesecure -> %s", + dns_result_totext( + result)); goto cleanup; } } - result = updatesignwithkey(zone, signing, - version, - build_nsec3, - zone->minimum, - &post_diff); + result = updatesignwithkey( + zone, signing, version, build_nsec3, + zone->minimum, &post_diff); if (result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, "updatesignwithkey -> %s", @@ -9256,7 +9272,7 @@ zone_sign(dns_zone_t *zone) { } while (1); continue; - next_signing: + next_signing: dns_dbiterator_pause(signing->dbiterator); signing = nextsigning; first = true; @@ -9264,10 +9280,9 @@ zone_sign(dns_zone_t *zone) { if (ISC_LIST_HEAD(post_diff.tuples) != NULL) { result = dns__zone_updatesigs(&post_diff, db, version, - zone_keys, nkeys, zone, - inception, expire, 0, now, - check_ksk, keyset_kskonly, - &zonediff); + zone_keys, nkeys, zone, inception, + expire, 0, now, check_ksk, + keyset_kskonly, &zonediff); if (result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, "zone_sign:dns__zone_updatesigs -> %s", @@ -9324,21 +9339,17 @@ zone_sign(dns_zone_t *zone) { */ CHECK(zone_journal(zone, zonediff.diff, NULL, "zone_sign")); - pauseall: +pauseall: /* * Pause all iterators so that dns_db_closeversion() can succeed. */ - for (signing = ISC_LIST_HEAD(zone->signing); - signing != NULL; - signing = ISC_LIST_NEXT(signing, link)) - { + for (signing = ISC_LIST_HEAD(zone->signing); signing != NULL; + signing = ISC_LIST_NEXT(signing, link)) { dns_dbiterator_pause(signing->dbiterator); } - for (signing = ISC_LIST_HEAD(cleanup); - signing != NULL; - signing = ISC_LIST_NEXT(signing, link)) - { + for (signing = ISC_LIST_HEAD(cleanup); signing != NULL; + signing = ISC_LIST_NEXT(signing, link)) { dns_dbiterator_pause(signing->dbiterator); } @@ -9368,20 +9379,18 @@ zone_sign(dns_zone_t *zone) { UNLOCK_ZONE(zone); } - failure: +failure: if (result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, "zone_sign: failed: %s", dns_result_totext(result)); } - cleanup: +cleanup: /* * Pause all dbiterators. */ - for (signing = ISC_LIST_HEAD(zone->signing); - signing != NULL; - signing = ISC_LIST_NEXT(signing, link)) - { + for (signing = ISC_LIST_HEAD(zone->signing); signing != NULL; + signing = ISC_LIST_NEXT(signing, link)) { dns_dbiterator_pause(signing->dbiterator); } @@ -9417,7 +9426,7 @@ zone_sign(dns_zone_t *zone) { if (ISC_LIST_HEAD(zone->signing) != NULL) { isc_interval_t interval; if (zone->update_disabled || result != ISC_R_SUCCESS) { - isc_interval_set(&interval, 60, 0); /* 1 minute */ + isc_interval_set(&interval, 60, 0); /* 1 minute */ } else { isc_interval_set(&interval, 0, 10000000); /* 10 ms */ } @@ -9430,26 +9439,26 @@ zone_sign(dns_zone_t *zone) { } static isc_result_t -normalize_key(dns_rdata_t *rr, dns_rdata_t *target, - unsigned char *data, int size) +normalize_key(dns_rdata_t *rr, dns_rdata_t *target, unsigned char *data, + int size) { - dns_rdata_dnskey_t dnskey; + dns_rdata_dnskey_t dnskey; dns_rdata_keydata_t keydata; - isc_buffer_t buf; - isc_result_t result; + isc_buffer_t buf; + isc_result_t result; dns_rdata_reset(target); isc_buffer_init(&buf, data, size); switch (rr->type) { - case dns_rdatatype_dnskey: + case dns_rdatatype_dnskey: result = dns_rdata_tostruct(rr, &dnskey, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); dnskey.flags &= ~DNS_KEYFLAG_REVOKE; dns_rdata_fromstruct(target, rr->rdclass, dns_rdatatype_dnskey, &dnskey, &buf); break; - case dns_rdatatype_keydata: + case dns_rdatatype_keydata: result = dns_rdata_tostruct(rr, &keydata, NULL); if (result == ISC_R_UNEXPECTEDEND) return (result); @@ -9458,7 +9467,7 @@ normalize_key(dns_rdata_t *rr, dns_rdata_t *target, dns_rdata_fromstruct(target, rr->rdclass, dns_rdatatype_dnskey, &dnskey, &buf); break; - default: + default: INSIST(0); ISC_UNREACHABLE(); } @@ -9477,10 +9486,11 @@ normalize_key(dns_rdata_t *rr, dns_rdata_t *target, */ static bool -matchkey(dns_rdataset_t *rdset, dns_rdata_t *rr) { +matchkey(dns_rdataset_t *rdset, dns_rdata_t *rr) +{ unsigned char data1[4096], data2[4096]; - dns_rdata_t rdata, rdata1, rdata2; - isc_result_t result; + dns_rdata_t rdata, rdata1, rdata2; + isc_result_t result; dns_rdata_init(&rdata); dns_rdata_init(&rdata1); @@ -9490,8 +9500,7 @@ matchkey(dns_rdataset_t *rdset, dns_rdata_t *rr) { if (result != ISC_R_SUCCESS) return (false); - for (result = dns_rdataset_first(rdset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(rdset); result == ISC_R_SUCCESS; result = dns_rdataset_next(rdset)) { dns_rdata_reset(&rdata); dns_rdataset_current(rdset, &rdata); @@ -9517,13 +9526,14 @@ matchkey(dns_rdataset_t *rdset, dns_rdata_t *rr) { * 1/10 * RRSigExpirationInterval)) */ static inline isc_stdtime_t -refresh_time(dns_keyfetch_t *kfetch, bool retry) { - isc_result_t result; - uint32_t t; +refresh_time(dns_keyfetch_t *kfetch, bool retry) +{ + isc_result_t result; + uint32_t t; dns_rdataset_t *rdset; - dns_rdata_t sigrr = DNS_RDATA_INIT; + dns_rdata_t sigrr = DNS_RDATA_INIT; dns_rdata_sig_t sig; - isc_stdtime_t now; + isc_stdtime_t now; isc_stdtime_get(&now); @@ -9581,14 +9591,14 @@ refresh_time(dns_keyfetch_t *kfetch, bool retry) { static isc_result_t minimal_update(dns_keyfetch_t *kfetch, dns_dbversion_t *ver, dns_diff_t *diff) { - isc_result_t result; - isc_buffer_t keyb; - unsigned char key_buf[4096]; - dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + isc_buffer_t keyb; + unsigned char key_buf[4096]; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_keydata_t keydata; - dns_name_t *name; - dns_zone_t *zone = kfetch->zone; - isc_stdtime_t now; + dns_name_t * name; + dns_zone_t * zone = kfetch->zone; + isc_stdtime_t now; name = dns_fixedname_name(&kfetch->name); isc_stdtime_get(&now); @@ -9600,8 +9610,8 @@ minimal_update(dns_keyfetch_t *kfetch, dns_dbversion_t *ver, dns_diff_t *diff) dns_rdataset_current(&kfetch->keydataset, &rdata); /* Delete old version */ - CHECK(update_one_rr(kfetch->db, ver, diff, DNS_DIFFOP_DEL, - name, 0, &rdata)); + CHECK(update_one_rr(kfetch->db, ver, diff, DNS_DIFFOP_DEL, name, + 0, &rdata)); /* Update refresh timer */ result = dns_rdata_tostruct(&rdata, &keydata, NULL); @@ -9614,16 +9624,16 @@ minimal_update(dns_keyfetch_t *kfetch, dns_dbversion_t *ver, dns_diff_t *diff) dns_rdata_reset(&rdata); isc_buffer_init(&keyb, key_buf, sizeof(key_buf)); - CHECK(dns_rdata_fromstruct(&rdata, - zone->rdclass, dns_rdatatype_keydata, - &keydata, &keyb)); + CHECK(dns_rdata_fromstruct(&rdata, zone->rdclass, + dns_rdatatype_keydata, &keydata, + &keyb)); /* Insert updated version */ - CHECK(update_one_rr(kfetch->db, ver, diff, DNS_DIFFOP_ADD, - name, 0, &rdata)); + CHECK(update_one_rr(kfetch->db, ver, diff, DNS_DIFFOP_ADD, name, + 0, &rdata)); } result = ISC_R_SUCCESS; - failure: +failure: return (result); } @@ -9631,18 +9641,19 @@ minimal_update(dns_keyfetch_t *kfetch, dns_dbversion_t *ver, dns_diff_t *diff) * Verify that DNSKEY set is signed by the key specified in 'keydata'. */ static bool -revocable(dns_keyfetch_t *kfetch, dns_rdata_keydata_t *keydata) { - isc_result_t result; - dns_name_t *keyname; - isc_mem_t *mctx; - dns_rdata_t sigrr = DNS_RDATA_INIT; - dns_rdata_t rr = DNS_RDATA_INIT; - dns_rdata_rrsig_t sig; +revocable(dns_keyfetch_t *kfetch, dns_rdata_keydata_t *keydata) +{ + isc_result_t result; + dns_name_t * keyname; + isc_mem_t * mctx; + dns_rdata_t sigrr = DNS_RDATA_INIT; + dns_rdata_t rr = DNS_RDATA_INIT; + dns_rdata_rrsig_t sig; dns_rdata_dnskey_t dnskey; - dst_key_t *dstkey = NULL; - unsigned char key_buf[4096]; - isc_buffer_t keyb; - bool answer = false; + dst_key_t * dstkey = NULL; + unsigned char key_buf[4096]; + isc_buffer_t keyb; + bool answer = false; REQUIRE(kfetch != NULL && keydata != NULL); REQUIRE(dns_rdataset_isassociated(&kfetch->dnskeysigset)); @@ -9653,8 +9664,8 @@ revocable(dns_keyfetch_t *kfetch, dns_rdata_keydata_t *keydata) { /* Generate a key from keydata */ isc_buffer_init(&keyb, key_buf, sizeof(key_buf)); dns_keydata_todnskey(keydata, &dnskey, NULL); - dns_rdata_fromstruct(&rr, keydata->common.rdclass, - dns_rdatatype_dnskey, &dnskey, &keyb); + dns_rdata_fromstruct(&rr, keydata->common.rdclass, dns_rdatatype_dnskey, + &dnskey, &keyb); result = dns_dnssec_keyfromrdata(keyname, &rr, mctx, &dstkey); if (result != ISC_R_SUCCESS) { return (false); @@ -9663,8 +9674,7 @@ revocable(dns_keyfetch_t *kfetch, dns_rdata_keydata_t *keydata) { /* See if that key generated any of the signatures */ for (result = dns_rdataset_first(&kfetch->dnskeysigset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(&kfetch->dnskeysigset)) - { + result = dns_rdataset_next(&kfetch->dnskeysigset)) { dns_fixedname_t fixed; dns_fixedname_init(&fixed); @@ -9674,13 +9684,10 @@ revocable(dns_keyfetch_t *kfetch, dns_rdata_keydata_t *keydata) { RUNTIME_CHECK(result == ISC_R_SUCCESS); if (dst_key_alg(dstkey) == sig.algorithm && - dst_key_rid(dstkey) == sig.keyid) - { - result = dns_dnssec_verify(keyname, - &kfetch->dnskeyset, - dstkey, false, 0, mctx, - &sigrr, - dns_fixedname_name(&fixed)); + dst_key_rid(dstkey) == sig.keyid) { + result = dns_dnssec_verify( + keyname, &kfetch->dnskeyset, dstkey, false, 0, + mctx, &sigrr, dns_fixedname_name(&fixed)); dnssec_log(kfetch->zone, ISC_LOG_DEBUG(3), "Confirm revoked DNSKEY is self-signed: %s", @@ -9703,36 +9710,37 @@ revocable(dns_keyfetch_t *kfetch, dns_rdata_keydata_t *keydata) { * local trust anchors according to RFC5011. */ static void -keyfetch_done(isc_task_t *task, isc_event_t *event) { - isc_result_t result, eresult; - dns_fetchevent_t *devent; - dns_keyfetch_t *kfetch; - dns_zone_t *zone; - isc_mem_t *mctx = NULL; - dns_keytable_t *secroots = NULL; - dns_dbversion_t *ver = NULL; - dns_diff_t diff; - bool alldone = false; - bool commit = false; - dns_name_t *keyname = NULL; - dns_rdata_t sigrr = DNS_RDATA_INIT; - dns_rdata_t dnskeyrr = DNS_RDATA_INIT; - dns_rdata_t keydatarr = DNS_RDATA_INIT; - dns_rdata_rrsig_t sig; - dns_rdata_dnskey_t dnskey; +keyfetch_done(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result, eresult; + dns_fetchevent_t * devent; + dns_keyfetch_t * kfetch; + dns_zone_t * zone; + isc_mem_t * mctx = NULL; + dns_keytable_t * secroots = NULL; + dns_dbversion_t * ver = NULL; + dns_diff_t diff; + bool alldone = false; + bool commit = false; + dns_name_t * keyname = NULL; + dns_rdata_t sigrr = DNS_RDATA_INIT; + dns_rdata_t dnskeyrr = DNS_RDATA_INIT; + dns_rdata_t keydatarr = DNS_RDATA_INIT; + dns_rdata_rrsig_t sig; + dns_rdata_dnskey_t dnskey; dns_rdata_keydata_t keydata; - bool initializing; - char namebuf[DNS_NAME_FORMATSIZE]; - unsigned char key_buf[4096]; - isc_buffer_t keyb; - dst_key_t *dstkey = NULL; - isc_stdtime_t now; - int pending = 0; - bool secure = false, initial = false; - bool free_needed; - dns_keynode_t *keynode = NULL; - dns_rdataset_t *dnskeys = NULL, *dnskeysigs = NULL; - dns_rdataset_t *keydataset = NULL, *dsset = NULL; + bool initializing; + char namebuf[DNS_NAME_FORMATSIZE]; + unsigned char key_buf[4096]; + isc_buffer_t keyb; + dst_key_t * dstkey = NULL; + isc_stdtime_t now; + int pending = 0; + bool secure = false, initial = false; + bool free_needed; + dns_keynode_t * keynode = NULL; + dns_rdataset_t * dnskeys = NULL, *dnskeysigs = NULL; + dns_rdataset_t * keydataset = NULL, *dsset = NULL; UNUSED(task); INSIST(event != NULL && event->ev_type == DNS_EVENT_FETCHDONE); @@ -9746,7 +9754,7 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { dnskeysigs = &kfetch->dnskeysigset; keydataset = &kfetch->keydataset; - devent = (dns_fetchevent_t *) event; + devent = (dns_fetchevent_t *)event; eresult = devent->result; /* Free resources which are not of interest */ @@ -9788,8 +9796,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { /* Fetch failed */ if (eresult != ISC_R_SUCCESS || !dns_rdataset_isassociated(dnskeys)) { dnssec_log(zone, ISC_LOG_WARNING, - "Unable to fetch DNSKEY set '%s': %s", - namebuf, dns_result_totext(eresult)); + "Unable to fetch DNSKEY set '%s': %s", namebuf, + dns_result_totext(eresult)); CHECK(minimal_update(kfetch, ver, &diff)); goto done; } @@ -9797,8 +9805,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { /* No RRSIGs found */ if (!dns_rdataset_isassociated(dnskeysigs)) { dnssec_log(zone, ISC_LOG_WARNING, - "No DNSKEY RRSIGs found for '%s': %s", - namebuf, dns_result_totext(eresult)); + "No DNSKEY RRSIGs found for '%s': %s", namebuf, + dns_result_totext(eresult)); CHECK(minimal_update(kfetch, ver, &diff)); goto done; } @@ -9821,10 +9829,9 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { if ((dsset = dns_keynode_dsset(keynode)) != NULL) { for (result = dns_rdataset_first(dnskeysigs); result == ISC_R_SUCCESS; - result = dns_rdataset_next(dnskeysigs)) - { + result = dns_rdataset_next(dnskeysigs)) { isc_result_t tresult; - dns_rdata_t keyrdata = DNS_RDATA_INIT; + dns_rdata_t keyrdata = DNS_RDATA_INIT; dns_rdata_reset(&sigrr); dns_rdataset_current(dnskeysigs, &sigrr); @@ -9833,27 +9840,23 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { for (tresult = dns_rdataset_first(dsset); tresult == ISC_R_SUCCESS; - tresult = dns_rdataset_next(dsset)) - { - dns_rdata_t dsrdata = DNS_RDATA_INIT; + tresult = dns_rdataset_next(dsset)) { + dns_rdata_t dsrdata = DNS_RDATA_INIT; dns_rdata_ds_t ds; dns_rdata_reset(&dsrdata); dns_rdataset_current(dsset, &dsrdata); - tresult = dns_rdata_tostruct(&dsrdata, &ds, - NULL); + tresult = + dns_rdata_tostruct(&dsrdata, &ds, NULL); RUNTIME_CHECK(tresult == ISC_R_SUCCESS); if (ds.key_tag != sig.keyid || - ds.algorithm != sig.algorithm) - { + ds.algorithm != sig.algorithm) { continue; } - result = dns_dnssec_matchdskey(keyname, - &dsrdata, - dnskeys, - &keyrdata); + result = dns_dnssec_matchdskey( + keyname, &dsrdata, dnskeys, &keyrdata); if (result == ISC_R_SUCCESS) { break; } @@ -9869,9 +9872,9 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { continue; } - result = dns_dnssec_verify(keyname, dnskeys, - dstkey, false, 0, - mctx, &sigrr, NULL); + result = dns_dnssec_verify(keyname, dnskeys, dstkey, + false, 0, mctx, &sigrr, + NULL); dst_key_free(&dstkey); dnssec_log(zone, ISC_LOG_DEBUG(3), @@ -9891,12 +9894,11 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { } } - anchors_done: +anchors_done: if (keynode != NULL) { dns_keytable_detachkeynode(secroots, &keynode); } - /* * If we were not able to verify the answer using the current * trusted keys then all we can do is look at any revoked keys. @@ -9904,7 +9906,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { if (!secure) { dnssec_log(zone, ISC_LOG_INFO, "DNSKEY set for zone '%s' could not be verified " - "with current keys", namebuf); + "with current keys", + namebuf); } /* @@ -9921,10 +9924,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { * updated */ initializing = true; - for (result = dns_rdataset_first(keydataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(keydataset)) - { + for (result = dns_rdataset_first(keydataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(keydataset)) { dns_keytag_t keytag; dns_rdata_reset(&keydatarr); @@ -9940,9 +9941,10 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { * This may happen if the algorithm is unsupported */ dns_zone_log(zone, ISC_LOG_ERROR, - "Cannot compute tag for key in zone %s: %s " - "(skipping)", - namebuf, dns_result_totext(result)); + "Cannot compute tag for key in zone %s: " + "%s " + "(skipping)", + namebuf, dns_result_totext(result)); continue; } RUNTIME_CHECK(result == ISC_R_SUCCESS); @@ -9955,13 +9957,12 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { */ initializing = initializing && (keydata.addhd == 0); - if (! matchkey(dnskeys, &keydatarr)) { + if (!matchkey(dnskeys, &keydatarr)) { bool deletekey = false; if (!secure) { if (keydata.removehd != 0 && - keydata.removehd <= now) - { + keydata.removehd <= now) { deletekey = true; } } else if (keydata.addhd == 0) { @@ -9971,7 +9972,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { "Pending key %d for zone %s " "unexpectedly missing " "restarting 30-day acceptance " - "timer", keytag, namebuf); + "timer", + keytag, namebuf); if (keydata.addhd < now + dns_zone_mkey_month) { keydata.addhd = now + dns_zone_mkey_month; @@ -10008,8 +10010,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { dns_rdata_reset(&keydatarr); isc_buffer_init(&keyb, key_buf, sizeof(key_buf)); dns_rdata_fromstruct(&keydatarr, zone->rdclass, - dns_rdatatype_keydata, - &keydata, &keyb); + dns_rdatatype_keydata, &keydata, + &keyb); /* Insert updated version */ CHECK(update_one_rr(kfetch->db, ver, &diff, @@ -10036,15 +10038,13 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { * - All keys not being removed have their refresh * timers updated */ - for (result = dns_rdataset_first(dnskeys); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(dnskeys)) - { - bool revoked = false; - bool newkey = false; - bool updatekey = false; - bool deletekey = false; - bool trustkey = false; + for (result = dns_rdataset_first(dnskeys); result == ISC_R_SUCCESS; + result = dns_rdataset_next(dnskeys)) { + bool revoked = false; + bool newkey = false; + bool updatekey = false; + bool deletekey = false; + bool trustkey = false; dns_keytag_t keytag; dns_rdata_reset(&dnskeyrr); @@ -10064,9 +10064,10 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { * This may happen if the algorithm is unsupported */ dns_zone_log(zone, ISC_LOG_ERROR, - "Cannot compute tag for key in zone %s: %s " - "(skipping)", - namebuf, dns_result_totext(result)); + "Cannot compute tag for key in zone %s: " + "%s " + "(skipping)", + namebuf, dns_result_totext(result)); continue; } RUNTIME_CHECK(result == ISC_R_SUCCESS); @@ -10103,7 +10104,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { if (keydata.addhd == 0) { deletekey = true; } else { - keydata.removehd = now + + keydata.removehd = + now + dns_zone_mkey_month; keydata.flags |= DNS_KEYFLAG_REVOKE; @@ -10129,7 +10131,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { "Active key %d for zone " "%s is revoked but " "did not self-sign; " - "ignoring", keytag, namebuf); + "ignoring", + keytag, namebuf); continue; } else if (secure) { if (keydata.removehd != 0) { @@ -10164,11 +10167,10 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { "Key %d for zone %s " "is now trusted (%s)", keytag, namebuf, - initial - ? "initializing key " - "verified" - : "acceptance timer " - "complete"); + initial ? "initializing key " + "verified" + : "acceptance timer " + "complete"); } } else if (keydata.addhd > now) { /* @@ -10238,8 +10240,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { dns_rdata_reset(&keydatarr); isc_buffer_init(&keyb, key_buf, sizeof(key_buf)); dns_rdata_fromstruct(&keydatarr, zone->rdclass, - dns_rdatatype_keydata, - &keydata, &keyb); + dns_rdatatype_keydata, &keydata, + &keyb); /* Insert updated version */ CHECK(update_one_rr(kfetch->db, ver, &diff, @@ -10251,14 +10253,14 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { RUNTIME_CHECK(result == ISC_R_SUCCESS); dns_keydata_fromdnskey(&keydata, &dnskey, 0, 0, 0, NULL); - keydata.addhd = initializing - ? now : now + dns_zone_mkey_month; + keydata.addhd = + initializing ? now : now + dns_zone_mkey_month; keydata.refresh = refresh_time(kfetch, false); dns_rdata_reset(&keydatarr); isc_buffer_init(&keyb, key_buf, sizeof(key_buf)); dns_rdata_fromstruct(&keydatarr, zone->rdclass, - dns_rdatatype_keydata, - &keydata, &keyb); + dns_rdatatype_keydata, &keydata, + &keyb); /* Insert into key zone */ CHECK(update_one_rr(kfetch->db, ver, &diff, @@ -10292,7 +10294,7 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { fail_secure(zone, keyname); } - done: +done: if (!ISC_LIST_EMPTY(diff.tuples)) { /* Write changes to journal file. */ CHECK(update_soa_serial(kfetch->db, ver, &diff, mctx, @@ -10315,7 +10317,7 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { result = ISC_R_SUCCESS; } - failure: +failure: if (result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, "error during managed-keys processing (%s): " @@ -10327,7 +10329,7 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { dns_db_closeversion(kfetch->db, &ver, commit); } - cleanup: +cleanup: dns_db_detach(&kfetch->db); isc_refcount_decrement(&zone->irefs); @@ -10365,19 +10367,20 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { * DNSKEY records at the trust anchor name. */ static void -zone_refreshkeys(dns_zone_t *zone) { - const char me[] = "zone_refreshkeys"; - isc_result_t result; - dns_rriterator_t rrit; - dns_db_t *db = NULL; - dns_dbversion_t *ver = NULL; - dns_diff_t diff; - dns_rdata_t rdata = DNS_RDATA_INIT; +zone_refreshkeys(dns_zone_t *zone) +{ + const char me[] = "zone_refreshkeys"; + isc_result_t result; + dns_rriterator_t rrit; + dns_db_t * db = NULL; + dns_dbversion_t * ver = NULL; + dns_diff_t diff; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_keydata_t kd; - isc_stdtime_t now; - bool commit = false; - bool fetching = false, fetch_err = false; - bool timerset = false; + isc_stdtime_t now; + bool commit = false; + bool fetching = false, fetch_err = false; + bool timerset = false; ENTER; REQUIRE(zone->db != NULL); @@ -10402,20 +10405,17 @@ zone_refreshkeys(dns_zone_t *zone) { DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_REFRESHING); dns_rriterator_init(&rrit, db, ver, 0); - for (result = dns_rriterator_first(&rrit); - result == ISC_R_SUCCESS; - result = dns_rriterator_nextrrset(&rrit)) - { - isc_stdtime_t timer = 0xffffffff; - dns_name_t *name = NULL, *kname = NULL; + for (result = dns_rriterator_first(&rrit); result == ISC_R_SUCCESS; + result = dns_rriterator_nextrrset(&rrit)) { + isc_stdtime_t timer = 0xffffffff; + dns_name_t * name = NULL, *kname = NULL; dns_rdataset_t *kdset = NULL; dns_keyfetch_t *kfetch; - uint32_t ttl; + uint32_t ttl; dns_rriterator_current(&rrit, &name, &ttl, &kdset, NULL); if (kdset == NULL || kdset->type != dns_rdatatype_keydata || - !dns_rdataset_isassociated(kdset)) - { + !dns_rdataset_isassociated(kdset)) { continue; } @@ -10425,8 +10425,7 @@ zone_refreshkeys(dns_zone_t *zone) { */ for (result = dns_rdataset_first(kdset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(kdset)) - { + result = dns_rdataset_next(kdset)) { dns_rdata_reset(&rdata); dns_rdataset_current(kdset, &rdata); result = dns_rdata_tostruct(&rdata, &kd, NULL); @@ -10475,8 +10474,7 @@ zone_refreshkeys(dns_zone_t *zone) { if (isc_log_wouldlog(dns_lctx, ISC_LOG_DEBUG(3))) { char namebuf[DNS_NAME_FORMATSIZE]; - dns_name_format(kname, namebuf, - sizeof(namebuf)); + dns_name_format(kname, namebuf, sizeof(namebuf)); dnssec_log(zone, ISC_LOG_DEBUG(3), "Creating key fetch in " "zone_refreshkeys() for '%s'", @@ -10496,17 +10494,15 @@ zone_refreshkeys(dns_zone_t *zone) { #ifdef ENABLE_AFL if (dns_fuzzing_resolver == false) { #endif - result = dns_resolver_createfetch(zone->view->resolver, - kname, dns_rdatatype_dnskey, - NULL, NULL, NULL, NULL, 0, - DNS_FETCHOPT_NOVALIDATE | - DNS_FETCHOPT_UNSHARED | - DNS_FETCHOPT_NOCACHED, - 0, NULL, zone->task, - keyfetch_done, kfetch, - &kfetch->dnskeyset, - &kfetch->dnskeysigset, - &kfetch->fetch); + result = dns_resolver_createfetch( + zone->view->resolver, kname, + dns_rdatatype_dnskey, NULL, NULL, NULL, NULL, 0, + DNS_FETCHOPT_NOVALIDATE | + DNS_FETCHOPT_UNSHARED | + DNS_FETCHOPT_NOCACHED, + 0, NULL, zone->task, keyfetch_done, kfetch, + &kfetch->dnskeyset, &kfetch->dnskeysigset, + &kfetch->fetch); #ifdef ENABLE_AFL } else { result = ISC_R_FAILURE; @@ -10535,13 +10531,13 @@ zone_refreshkeys(dns_zone_t *zone) { zone_needdump(zone, 30); } - failure: +failure: if (fetch_err) { /* * Error during a key fetch; retry in an hour. */ isc_time_t timenow, timethen; - char timebuf[80]; + char timebuf[80]; TIME_NOW(&timenow); DNS_ZONE_TIME_ADD(&timenow, dns_zone_mkey_hour, &timethen); @@ -10572,11 +10568,12 @@ zone_refreshkeys(dns_zone_t *zone) { } static void -zone_maintenance(dns_zone_t *zone) { - const char me[] = "zone_maintenance"; - isc_time_t now; +zone_maintenance(dns_zone_t *zone) +{ + const char me[] = "zone_maintenance"; + isc_time_t now; isc_result_t result; - bool dumping, load_pending; + bool dumping, load_pending; REQUIRE(DNS_ZONE_VALID(zone)); ENTER; @@ -10693,7 +10690,7 @@ zone_maintenance(dns_zone_t *zone) { case dns_zone_master: case dns_zone_redirect: if ((DNS_ZONE_FLAG(zone, DNS_ZONEFLG_NEEDNOTIFY) || - DNS_ZONE_FLAG(zone, DNS_ZONEFLG_NEEDSTARTUPNOTIFY))&& + DNS_ZONE_FLAG(zone, DNS_ZONEFLG_NEEDSTARTUPNOTIFY)) && isc_time_compare(&now, &zone->notifytime) >= 0) zone_notify(zone, &now); default: @@ -10733,13 +10730,11 @@ zone_maintenance(dns_zone_t *zone) { if (!isc_time_isepoch(&zone->signingtime) && isc_time_compare(&now, &zone->signingtime) >= 0) { zone_sign(zone); - } - else if (!isc_time_isepoch(&zone->resigntime) && - isc_time_compare(&now, &zone->resigntime) >= 0) { + } else if (!isc_time_isepoch(&zone->resigntime) && + isc_time_compare(&now, &zone->resigntime) >= 0) { zone_resigninc(zone); - } - else if (!isc_time_isepoch(&zone->nsec3chaintime) && - isc_time_compare(&now, &zone->nsec3chaintime) >= 0) { + } else if (!isc_time_isepoch(&zone->nsec3chaintime) && + isc_time_compare(&now, &zone->nsec3chaintime) >= 0) { zone_nsec3chain(zone); } /* @@ -10760,17 +10755,18 @@ zone_maintenance(dns_zone_t *zone) { } void -dns_zone_markdirty(dns_zone_t *zone) { - uint32_t serial; +dns_zone_markdirty(dns_zone_t *zone) +{ + uint32_t serial; isc_result_t result = ISC_R_SUCCESS; - dns_zone_t *secure = NULL; + dns_zone_t * secure = NULL; /* * Obtaining a lock on the zone->secure (see zone_send_secureserial) * could result in a deadlock due to a LOR so we will spin if we * can't obtain the both locks. */ - again: +again: LOCK_ZONE(zone); if (zone->type == dns_zone_master) { if (inline_raw(zone)) { @@ -10787,10 +10783,9 @@ dns_zone_markdirty(dns_zone_t *zone) { ZONEDB_LOCK(&zone->dblock, isc_rwlocktype_read); if (zone->db != NULL) { - result = zone_get_from_db(zone, zone->db, NULL, - &soacount, &serial, - NULL, NULL, NULL, - NULL, NULL); + result = zone_get_from_db( + zone, zone->db, NULL, &soacount, + &serial, NULL, NULL, NULL, NULL, NULL); } else result = DNS_R_NOTLOADED; ZONEDB_UNLOCK(&zone->dblock, isc_rwlocktype_read); @@ -10809,7 +10804,8 @@ dns_zone_markdirty(dns_zone_t *zone) { } void -dns_zone_expire(dns_zone_t *zone) { +dns_zone_expire(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -10818,7 +10814,8 @@ dns_zone_expire(dns_zone_t *zone) { } static void -zone_expire(dns_zone_t *zone) { +zone_expire(dns_zone_t *zone) +{ dns_db_t *db = NULL; /* @@ -10842,19 +10839,19 @@ zone_expire(dns_zone_t *zone) { * the diff automatically. */ if (zone->rpzs != NULL && zone->rpz_num != DNS_RPZ_INVALID_NUM) { - isc_result_t result; + isc_result_t result; dns_rpz_zone_t *rpz = zone->rpzs->zones[zone->rpz_num]; CHECK(dns_db_create(zone->mctx, "rbt", &zone->origin, - dns_dbtype_zone, zone->rdclass, - 0, NULL, &db)); + dns_dbtype_zone, zone->rdclass, 0, NULL, + &db)); CHECK(dns_rpz_dbupdate_callback(db, rpz)); dns_zone_log(zone, ISC_LOG_WARNING, "response-policy zone expired; " "policies unloaded"); } - failure: +failure: if (db != NULL) { dns_db_detach(&db); } @@ -10863,11 +10860,12 @@ zone_expire(dns_zone_t *zone) { } void -dns_zone_refresh(dns_zone_t *zone) { +dns_zone_refresh(dns_zone_t *zone) +{ isc_interval_t i; - uint32_t oldflags; - unsigned int j; - isc_result_t result; + uint32_t oldflags; + unsigned int j; + isc_result_t result; REQUIRE(DNS_ZONE_VALID(zone)); @@ -10891,7 +10889,7 @@ dns_zone_refresh(dns_zone_t *zone) { DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_REFRESH); DNS_ZONE_CLRFLAG(zone, DNS_ZONEFLG_NOEDNS); DNS_ZONE_CLRFLAG(zone, DNS_ZONEFLG_USEALTXFRSRC); - if ((oldflags & (DNS_ZONEFLG_REFRESH|DNS_ZONEFLG_LOADING)) != 0) + if ((oldflags & (DNS_ZONEFLG_REFRESH | DNS_ZONEFLG_LOADING)) != 0) goto unlock; /* @@ -10912,7 +10910,7 @@ dns_zone_refresh(dns_zone_t *zone) { * do exponential backoff of the retry time up to a * maximum of six hours. */ - if (! DNS_ZONE_FLAG(zone, DNS_ZONEFLG_HAVETIMERS)) + if (!DNS_ZONE_FLAG(zone, DNS_ZONEFLG_HAVETIMERS)) zone->retry = ISC_MIN(zone->retry * 2, 6 * 3600); zone->curmaster = 0; @@ -10920,16 +10918,17 @@ dns_zone_refresh(dns_zone_t *zone) { zone->mastersok[j] = false; /* initiate soa query */ queue_soa_query(zone); - unlock: +unlock: UNLOCK_ZONE(zone); } static void -zone_journal_compact(dns_zone_t *zone, dns_db_t *db, uint32_t serial) { - isc_result_t result; - int32_t journalsize; +zone_journal_compact(dns_zone_t *zone, dns_db_t *db, uint32_t serial) +{ + isc_result_t result; + int32_t journalsize; dns_dbversion_t *ver = NULL; - uint64_t dbsize; + uint64_t dbsize; INSIST(LOCKED_ZONE(zone)); if (inline_raw(zone)) @@ -10950,16 +10949,15 @@ zone_journal_compact(dns_zone_t *zone, dns_db_t *db, uint32_t serial) { journalsize = (int32_t)dbsize * 2; } } - zone_debuglog(zone, "zone_journal_compact", 1, - "target journal size %d", journalsize); - result = dns_journal_compact(zone->mctx, zone->journal, - serial, journalsize); + zone_debuglog(zone, "zone_journal_compact", 1, "target journal size %d", + journalsize); + result = dns_journal_compact(zone->mctx, zone->journal, serial, + journalsize); switch (result) { case ISC_R_SUCCESS: case ISC_R_NOSPACE: case ISC_R_NOTFOUND: - dns_zone_log(zone, ISC_LOG_DEBUG(3), - "dns_journal_compact: %s", + dns_zone_log(zone, ISC_LOG_DEBUG(3), "dns_journal_compact: %s", dns_result_totext(result)); break; default: @@ -10971,9 +10969,10 @@ zone_journal_compact(dns_zone_t *zone, dns_db_t *db, uint32_t serial) { } isc_result_t -dns_zone_flush(dns_zone_t *zone) { +dns_zone_flush(dns_zone_t *zone) +{ isc_result_t result = ISC_R_SUCCESS; - bool dumping; + bool dumping; REQUIRE(DNS_ZONE_VALID(zone)); @@ -10987,14 +10986,15 @@ dns_zone_flush(dns_zone_t *zone) { dumping = true; UNLOCK_ZONE(zone); if (!dumping) - result = zone_dump(zone, true); /* Unknown task. */ + result = zone_dump(zone, true); /* Unknown task. */ return (result); } isc_result_t -dns_zone_dump(dns_zone_t *zone) { +dns_zone_dump(dns_zone_t *zone) +{ isc_result_t result = ISC_R_ALREADYRUNNING; - bool dumping; + bool dumping; REQUIRE(DNS_ZONE_VALID(zone)); @@ -11002,12 +11002,13 @@ dns_zone_dump(dns_zone_t *zone) { dumping = was_dumping(zone); UNLOCK_ZONE(zone); if (!dumping) - result = zone_dump(zone, false); /* Unknown task. */ + result = zone_dump(zone, false); /* Unknown task. */ return (result); } static void -zone_needdump(dns_zone_t *zone, unsigned int delay) { +zone_needdump(dns_zone_t *zone, unsigned int delay) +{ const char me[] = "zone_needdump"; isc_time_t dumptime; isc_time_t now; @@ -11040,16 +11041,17 @@ zone_needdump(dns_zone_t *zone, unsigned int delay) { } static void -dump_done(void *arg, isc_result_t result) { - const char me[] = "dump_done"; - dns_zone_t *zone = arg; - dns_zone_t *secure = NULL; - dns_db_t *db; +dump_done(void *arg, isc_result_t result) +{ + const char me[] = "dump_done"; + dns_zone_t * zone = arg; + dns_zone_t * secure = NULL; + dns_db_t * db; dns_dbversion_t *version; - bool again = false; - bool compact = false; - uint32_t serial; - isc_result_t tresult; + bool again = false; + bool compact = false; + uint32_t serial; + isc_result_t tresult; REQUIRE(DNS_ZONE_VALID(zone)); @@ -11066,7 +11068,7 @@ dump_done(void *arg, isc_result_t result) { /* * Handle lock order inversion. */ - again: + again: LOCK_ZONE(zone); if (inline_raw(zone)) { secure = zone->secure; @@ -11085,7 +11087,7 @@ dump_done(void *arg, isc_result_t result) { * use its serial if it is less than ours. */ if (tresult == ISC_R_SUCCESS && secure != NULL) { - uint32_t sserial; + uint32_t sserial; isc_result_t mresult; ZONEDB_LOCK(&secure->dblock, isc_rwlocktype_read); @@ -11143,23 +11145,24 @@ dump_done(void *arg, isc_result_t result) { } static isc_result_t -zone_dump(dns_zone_t *zone, bool compact) { - const char me[] = "zone_dump"; - isc_result_t result; - dns_dbversion_t *version = NULL; - bool again; - dns_db_t *db = NULL; - char *masterfile = NULL; +zone_dump(dns_zone_t *zone, bool compact) +{ + const char me[] = "zone_dump"; + isc_result_t result; + dns_dbversion_t * version = NULL; + bool again; + dns_db_t * db = NULL; + char * masterfile = NULL; dns_masterformat_t masterformat = dns_masterformat_none; -/* - * 'compact' MUST only be set if we are task locked. - */ + /* + * 'compact' MUST only be set if we are task locked. + */ REQUIRE(DNS_ZONE_VALID(zone)); ENTER; - redo: +redo: ZONEDB_LOCK(&zone->dblock, isc_rwlocktype_read); if (zone->db != NULL) dns_db_attach(zone->db, &db); @@ -11203,12 +11206,11 @@ zone_dump(dns_zone_t *zone, bool compact) { output_style = &dns_master_style_keyzone; else output_style = &dns_master_style_default; - result = dns_master_dump(zone->mctx, db, version, - output_style, masterfile, - masterformat, &rawdata); + result = dns_master_dump(zone->mctx, db, version, output_style, + masterfile, masterformat, &rawdata); dns_db_closeversion(db, &version, false); } - fail: +fail: if (db != NULL) dns_db_detach(&db); if (masterfile != NULL) @@ -11246,9 +11248,9 @@ static isc_result_t dumptostream(dns_zone_t *zone, FILE *fd, const dns_master_style_t *style, dns_masterformat_t format, const uint32_t rawversion) { - isc_result_t result; - dns_dbversion_t *version = NULL; - dns_db_t *db = NULL; + isc_result_t result; + dns_dbversion_t * version = NULL; + dns_db_t * db = NULL; dns_masterrawheader_t rawdata; REQUIRE(DNS_ZONE_VALID(zone)); @@ -11270,8 +11272,8 @@ dumptostream(dns_zone_t *zone, FILE *fd, const dns_master_style_t *style, rawdata.flags = DNS_MASTERRAW_SOURCESERIALSET; rawdata.sourceserial = zone->sourceserial; } - result = dns_master_dumptostream(zone->mctx, db, version, style, - format, &rawdata, fd); + result = dns_master_dumptostream(zone->mctx, db, version, style, format, + &rawdata, fd); dns_db_closeversion(db, &version, false); dns_db_detach(&db); return (result); @@ -11280,13 +11282,14 @@ dumptostream(dns_zone_t *zone, FILE *fd, const dns_master_style_t *style, isc_result_t dns_zone_dumptostream(dns_zone_t *zone, FILE *fd, dns_masterformat_t format, const dns_master_style_t *style, - const uint32_t rawversion) + const uint32_t rawversion) { return (dumptostream(zone, fd, style, format, rawversion)); } void -dns_zone_unload(dns_zone_t *zone) { +dns_zone_unload(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -11295,7 +11298,8 @@ dns_zone_unload(dns_zone_t *zone) { } static void -notify_cancel(dns_zone_t *zone) { +notify_cancel(dns_zone_t *zone) +{ dns_notify_t *notify; /* @@ -11304,8 +11308,7 @@ notify_cancel(dns_zone_t *zone) { REQUIRE(LOCKED_ZONE(zone)); - for (notify = ISC_LIST_HEAD(zone->notifies); - notify != NULL; + for (notify = ISC_LIST_HEAD(zone->notifies); notify != NULL; notify = ISC_LIST_NEXT(notify, link)) { if (notify->find != NULL) dns_adb_cancelfind(notify->find); @@ -11315,7 +11318,8 @@ notify_cancel(dns_zone_t *zone) { } static void -forward_cancel(dns_zone_t *zone) { +forward_cancel(dns_zone_t *zone) +{ dns_forward_t *forward; /* @@ -11324,8 +11328,7 @@ forward_cancel(dns_zone_t *zone) { REQUIRE(LOCKED_ZONE(zone)); - for (forward = ISC_LIST_HEAD(zone->forwards); - forward != NULL; + for (forward = ISC_LIST_HEAD(zone->forwards); forward != NULL; forward = ISC_LIST_NEXT(forward, link)) { if (forward->request != NULL) dns_request_cancel(forward->request); @@ -11333,7 +11336,8 @@ forward_cancel(dns_zone_t *zone) { } static void -zone_unload(dns_zone_t *zone) { +zone_unload(dns_zone_t *zone) +{ /* * 'zone' locked by caller. */ @@ -11362,7 +11366,8 @@ zone_unload(dns_zone_t *zone) { } void -dns_zone_setminrefreshtime(dns_zone_t *zone, uint32_t val) { +dns_zone_setminrefreshtime(dns_zone_t *zone, uint32_t val) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(val > 0); @@ -11370,7 +11375,8 @@ dns_zone_setminrefreshtime(dns_zone_t *zone, uint32_t val) { } void -dns_zone_setmaxrefreshtime(dns_zone_t *zone, uint32_t val) { +dns_zone_setmaxrefreshtime(dns_zone_t *zone, uint32_t val) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(val > 0); @@ -11378,7 +11384,8 @@ dns_zone_setmaxrefreshtime(dns_zone_t *zone, uint32_t val) { } void -dns_zone_setminretrytime(dns_zone_t *zone, uint32_t val) { +dns_zone_setminretrytime(dns_zone_t *zone, uint32_t val) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(val > 0); @@ -11386,7 +11393,8 @@ dns_zone_setminretrytime(dns_zone_t *zone, uint32_t val) { } void -dns_zone_setmaxretrytime(dns_zone_t *zone, uint32_t val) { +dns_zone_setmaxretrytime(dns_zone_t *zone, uint32_t val) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(val > 0); @@ -11394,14 +11402,16 @@ dns_zone_setmaxretrytime(dns_zone_t *zone, uint32_t val) { } uint32_t -dns_zone_getmaxrecords(dns_zone_t *zone) { +dns_zone_getmaxrecords(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->maxrecords); } void -dns_zone_setmaxrecords(dns_zone_t *zone, uint32_t val) { +dns_zone_setmaxrecords(dns_zone_t *zone, uint32_t val) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->maxrecords = val; @@ -11411,12 +11421,11 @@ static bool notify_isqueued(dns_zone_t *zone, unsigned int flags, dns_name_t *name, isc_sockaddr_t *addr, dns_tsigkey_t *key) { - dns_notify_t *notify; + dns_notify_t * notify; dns_zonemgr_t *zmgr; - isc_result_t result; + isc_result_t result; - for (notify = ISC_LIST_HEAD(zone->notifies); - notify != NULL; + for (notify = ISC_LIST_HEAD(zone->notifies); notify != NULL; notify = ISC_LIST_NEXT(notify, link)) { if (notify->request != NULL) continue; @@ -11457,13 +11466,14 @@ requeue: } static bool -notify_isself(dns_zone_t *zone, isc_sockaddr_t *dst) { +notify_isself(dns_zone_t *zone, isc_sockaddr_t *dst) +{ dns_tsigkey_t *key = NULL; isc_sockaddr_t src; isc_sockaddr_t any; - bool isself; - isc_netaddr_t dstaddr; - isc_result_t result; + bool isself; + isc_netaddr_t dstaddr; + isc_result_t result; if (zone->view == NULL || zone->isself == NULL) return (false); @@ -11500,7 +11510,8 @@ notify_isself(dns_zone_t *zone, isc_sockaddr_t *dst) { } static void -notify_destroy(dns_notify_t *notify, bool locked) { +notify_destroy(dns_notify_t *notify, bool locked) +{ isc_mem_t *mctx; REQUIRE(DNS_NOTIFY_VALID(notify)); @@ -11532,7 +11543,8 @@ notify_destroy(dns_notify_t *notify, bool locked) { } static isc_result_t -notify_create(isc_mem_t *mctx, unsigned int flags, dns_notify_t **notifyp) { +notify_create(isc_mem_t *mctx, unsigned int flags, dns_notify_t **notifyp) +{ dns_notify_t *notify; REQUIRE(notifyp != NULL && *notifyp == NULL); @@ -11559,8 +11571,9 @@ notify_create(isc_mem_t *mctx, unsigned int flags, dns_notify_t **notifyp) { * XXXAG should check for DNS_ZONEFLG_EXITING */ static void -process_adb_event(isc_task_t *task, isc_event_t *ev) { - dns_notify_t *notify; +process_adb_event(isc_task_t *task, isc_event_t *ev) +{ + dns_notify_t * notify; isc_eventtype_t result; UNUSED(task); @@ -11584,24 +11597,22 @@ process_adb_event(isc_task_t *task, isc_event_t *ev) { } static void -notify_find_address(dns_notify_t *notify) { +notify_find_address(dns_notify_t *notify) +{ isc_result_t result; unsigned int options; REQUIRE(DNS_NOTIFY_VALID(notify)); - options = DNS_ADBFIND_WANTEVENT | DNS_ADBFIND_INET | - DNS_ADBFIND_INET6 | DNS_ADBFIND_RETURNLAME; + options = DNS_ADBFIND_WANTEVENT | DNS_ADBFIND_INET | DNS_ADBFIND_INET6 | + DNS_ADBFIND_RETURNLAME; if (notify->zone->view->adb == NULL) goto destroy; - result = dns_adb_createfind(notify->zone->view->adb, - notify->zone->task, - process_adb_event, notify, - ¬ify->ns, dns_rootname, 0, - options, 0, NULL, - notify->zone->view->dstport, - 0, NULL, ¬ify->find); + result = dns_adb_createfind( + notify->zone->view->adb, notify->zone->task, process_adb_event, + notify, ¬ify->ns, dns_rootname, 0, options, 0, NULL, + notify->zone->view->dstport, 0, NULL, ¬ify->find); /* Something failed? */ if (result != ISC_R_SUCCESS) @@ -11616,13 +11627,13 @@ notify_find_address(dns_notify_t *notify) { notify_send(notify); UNLOCK_ZONE(notify->zone); - destroy: +destroy: notify_destroy(notify, false); } - static isc_result_t -notify_send_queue(dns_notify_t *notify, bool startup) { +notify_send_queue(dns_notify_t *notify, bool startup) +{ isc_event_t *e; isc_result_t result; @@ -11633,10 +11644,10 @@ notify_send_queue(dns_notify_t *notify, bool startup) { notify->event = e; e->ev_arg = notify; e->ev_sender = NULL; - result = isc_ratelimiter_enqueue(startup - ? notify->zone->zmgr->startupnotifyrl - : notify->zone->zmgr->notifyrl, - notify->zone->task, &e); + result = isc_ratelimiter_enqueue( + startup ? notify->zone->zmgr->startupnotifyrl + : notify->zone->zmgr->notifyrl, + notify->zone->task, &e); if (result != ISC_R_SUCCESS) { isc_event_free(&e); notify->event = NULL; @@ -11645,18 +11656,19 @@ notify_send_queue(dns_notify_t *notify, bool startup) { } static void -notify_send_toaddr(isc_task_t *task, isc_event_t *event) { - dns_notify_t *notify; - isc_result_t result; +notify_send_toaddr(isc_task_t *task, isc_event_t *event) +{ + dns_notify_t * notify; + isc_result_t result; dns_message_t *message = NULL; - isc_netaddr_t dstip; + isc_netaddr_t dstip; dns_tsigkey_t *key = NULL; - char addrbuf[ISC_SOCKADDR_FORMATSIZE]; + char addrbuf[ISC_SOCKADDR_FORMATSIZE]; isc_sockaddr_t src; - unsigned int options, timeout; - bool have_notifysource = false; - bool have_notifydscp = false; - isc_dscp_t dscp = -1; + unsigned int options, timeout; + bool have_notifysource = false; + bool have_notifydscp = false; + isc_dscp_t dscp = -1; notify = event->ev_arg; REQUIRE(DNS_NOTIFY_VALID(notify)); @@ -11709,7 +11721,8 @@ notify_send_toaddr(isc_task_t *task, isc_event_t *event) { if (result != ISC_R_SUCCESS && result != ISC_R_NOTFOUND) { notify_log(notify->zone, ISC_LOG_ERROR, "NOTIFY to %s not sent. " - "Peer TSIG key lookup failure.", addrbuf); + "Peer TSIG key lookup failure.", + addrbuf); goto cleanup_message; } } @@ -11719,8 +11732,8 @@ notify_send_toaddr(isc_task_t *task, isc_event_t *event) { dns_name_format(&key->name, namebuf, sizeof(namebuf)); notify_log(notify->zone, ISC_LOG_DEBUG(3), - "sending notify to %s : TSIG (%s)", - addrbuf, namebuf); + "sending notify to %s : TSIG (%s)", addrbuf, + namebuf); } else { notify_log(notify->zone, ISC_LOG_DEBUG(3), "sending notify to %s", addrbuf); @@ -11728,7 +11741,7 @@ notify_send_toaddr(isc_task_t *task, isc_event_t *event) { options = 0; if (notify->zone->view->peers != NULL) { dns_peer_t *peer = NULL; - bool usetcp = false; + bool usetcp = false; result = dns_peerlist_peerbyaddr(notify->zone->view->peers, &dstip, &peer); if (result == ISC_R_SUCCESS) { @@ -11763,11 +11776,10 @@ notify_send_toaddr(isc_task_t *task, isc_event_t *event) { timeout = 15; if (DNS_ZONE_FLAG(notify->zone, DNS_ZONEFLG_DIALNOTIFY)) timeout = 30; - result = dns_request_createvia(notify->zone->view->requestmgr, - message, &src, ¬ify->dst, dscp, - options, key, timeout * 3, timeout, - 0, notify->zone->task, notify_done, - notify, ¬ify->request); + result = dns_request_createvia( + notify->zone->view->requestmgr, message, &src, ¬ify->dst, + dscp, options, key, timeout * 3, timeout, 0, notify->zone->task, + notify_done, notify, ¬ify->request); if (result == ISC_R_SUCCESS) { if (isc_sockaddr_pf(¬ify->dst) == AF_INET) { inc_stats(notify->zone, @@ -11778,12 +11790,12 @@ notify_send_toaddr(isc_task_t *task, isc_event_t *event) { } } - cleanup_key: +cleanup_key: if (key != NULL) dns_tsigkey_detach(&key); - cleanup_message: +cleanup_message: dns_message_destroy(&message); - cleanup: +cleanup: UNLOCK_ZONE(notify->zone); isc_event_free(&event); if (result != ISC_R_SUCCESS) @@ -11791,13 +11803,14 @@ notify_send_toaddr(isc_task_t *task, isc_event_t *event) { } static void -notify_send(dns_notify_t *notify) { +notify_send(dns_notify_t *notify) +{ dns_adbaddrinfo_t *ai; - isc_sockaddr_t dst; - isc_result_t result; - dns_notify_t *newnotify = NULL; - unsigned int flags; - bool startup; + isc_sockaddr_t dst; + isc_result_t result; + dns_notify_t * newnotify = NULL; + unsigned int flags; + bool startup; /* * Zone lock held by caller. @@ -11808,8 +11821,7 @@ notify_send(dns_notify_t *notify) { if (DNS_ZONE_FLAG(notify->zone, DNS_ZONEFLG_EXITING)) return; - for (ai = ISC_LIST_HEAD(notify->find->list); - ai != NULL; + for (ai = ISC_LIST_HEAD(notify->find->list); ai != NULL; ai = ISC_LIST_NEXT(ai, publink)) { dst = ai->sockaddr; if (notify_isqueued(notify->zone, notify->flags, NULL, &dst, @@ -11832,13 +11844,14 @@ notify_send(dns_notify_t *notify) { newnotify = NULL; } - cleanup: +cleanup: if (newnotify != NULL) notify_destroy(newnotify, true); } void -dns_zone_notify(dns_zone_t *zone) { +dns_zone_notify(dns_zone_t *zone) +{ isc_time_t now; REQUIRE(DNS_ZONE_VALID(zone)); @@ -11852,26 +11865,27 @@ dns_zone_notify(dns_zone_t *zone) { } static void -zone_notify(dns_zone_t *zone, isc_time_t *now) { - dns_dbnode_t *node = NULL; - dns_db_t *zonedb = NULL; +zone_notify(dns_zone_t *zone, isc_time_t *now) +{ + dns_dbnode_t * node = NULL; + dns_db_t * zonedb = NULL; dns_dbversion_t *version = NULL; - dns_name_t *origin = NULL; - dns_name_t master; - dns_rdata_ns_t ns; - dns_rdata_soa_t soa; - uint32_t serial; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdataset_t nsrdset; - dns_rdataset_t soardset; - isc_result_t result; - unsigned int i; - isc_sockaddr_t dst; - bool isqueued; + dns_name_t * origin = NULL; + dns_name_t master; + dns_rdata_ns_t ns; + dns_rdata_soa_t soa; + uint32_t serial; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdataset_t nsrdset; + dns_rdataset_t soardset; + isc_result_t result; + unsigned int i; + isc_sockaddr_t dst; + bool isqueued; dns_notifytype_t notifytype; - unsigned int flags = 0; - bool loggednotify = false; - bool startup; + unsigned int flags = 0; + bool loggednotify = false; + bool startup; REQUIRE(DNS_ZONE_VALID(zone)); @@ -11884,7 +11898,7 @@ zone_notify(dns_zone_t *zone, isc_time_t *now) { UNLOCK_ZONE(zone); if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_EXITING) || - ! DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED)) + !DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED)) return; if (notifytype == dns_notifytype_no) @@ -11950,7 +11964,7 @@ zone_notify(dns_zone_t *zone, isc_time_t *now) { LOCK_ZONE(zone); for (i = 0; i < zone->notifycnt; i++) { dns_tsigkey_t *key = NULL; - dns_notify_t *notify = NULL; + dns_notify_t * notify = NULL; if ((zone->notifykeynames != NULL) && (zone->notifykeynames[i] != NULL)) { @@ -11989,8 +12003,7 @@ zone_notify(dns_zone_t *zone, isc_time_t *now) { notify_destroy(notify, true); if (!loggednotify) { notify_log(zone, ISC_LOG_INFO, - "sending notifies (serial %u)", - serial); + "sending notifies (serial %u)", serial); loggednotify = true; } } @@ -12029,8 +12042,7 @@ zone_notify(dns_zone_t *zone, isc_time_t *now) { if (!loggednotify) { notify_log(zone, ISC_LOG_INFO, - "sending notifies (serial %u)", - serial); + "sending notifies (serial %u)", serial); loggednotify = true; } @@ -12054,12 +12066,12 @@ zone_notify(dns_zone_t *zone, isc_time_t *now) { } dns_rdataset_disassociate(&nsrdset); - cleanup3: +cleanup3: if (dns_name_dynamic(&master)) dns_name_free(&master, zone->mctx); - cleanup2: +cleanup2: dns_db_detachnode(zonedb, &node); - cleanup1: +cleanup1: dns_db_closeversion(zonedb, &version, false); dns_db_detach(&zonedb); } @@ -12069,15 +12081,15 @@ zone_notify(dns_zone_t *zone, isc_time_t *now) { ***/ static inline isc_result_t -save_nsrrset(dns_message_t *message, dns_name_t *name, - dns_db_t *db, dns_dbversion_t *version) +save_nsrrset(dns_message_t *message, dns_name_t *name, dns_db_t *db, + dns_dbversion_t *version) { dns_rdataset_t *nsrdataset = NULL; dns_rdataset_t *rdataset = NULL; - dns_dbnode_t *node = NULL; - dns_rdata_ns_t ns; - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_dbnode_t * node = NULL; + dns_rdata_ns_t ns; + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; /* * Extract NS RRset from message. @@ -12094,16 +12106,14 @@ save_nsrrset(dns_message_t *message, dns_name_t *name, result = dns_db_findnode(db, name, true, &node); if (result != ISC_R_SUCCESS) goto fail; - result = dns_db_addrdataset(db, node, version, 0, - nsrdataset, 0, NULL); + result = dns_db_addrdataset(db, node, version, 0, nsrdataset, 0, NULL); dns_db_detachnode(db, &node); if (result != ISC_R_SUCCESS) goto fail; /* * Add glue rdatasets. */ - for (result = dns_rdataset_first(nsrdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(nsrdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(nsrdataset)) { dns_rdataset_current(nsrdataset, &rdata); result = dns_rdata_tostruct(&rdata, &ns, NULL); @@ -12117,8 +12127,7 @@ save_nsrrset(dns_message_t *message, dns_name_t *name, dns_rdatatype_none, NULL, &rdataset); if (result == ISC_R_SUCCESS) { - result = dns_db_findnode(db, &ns.name, - true, &node); + result = dns_db_findnode(db, &ns.name, true, &node); if (result != ISC_R_SUCCESS) goto fail; result = dns_db_addrdataset(db, node, version, 0, @@ -12128,13 +12137,11 @@ save_nsrrset(dns_message_t *message, dns_name_t *name, goto fail; } rdataset = NULL; - result = dns_message_findname(message, DNS_SECTION_ADDITIONAL, - &ns.name, dns_rdatatype_a, - dns_rdatatype_none, NULL, - &rdataset); + result = dns_message_findname( + message, DNS_SECTION_ADDITIONAL, &ns.name, + dns_rdatatype_a, dns_rdatatype_none, NULL, &rdataset); if (result == ISC_R_SUCCESS) { - result = dns_db_findnode(db, &ns.name, - true, &node); + result = dns_db_findnode(db, &ns.name, true, &node); if (result != ISC_R_SUCCESS) goto fail; result = dns_db_addrdataset(db, node, version, 0, @@ -12154,20 +12161,21 @@ fail: } static void -stub_callback(isc_task_t *task, isc_event_t *event) { - const char me[] = "stub_callback"; +stub_callback(isc_task_t *task, isc_event_t *event) +{ + const char me[] = "stub_callback"; dns_requestevent_t *revent = (dns_requestevent_t *)event; - dns_stub_t *stub = NULL; - dns_message_t *msg = NULL; - dns_zone_t *zone = NULL; - char master[ISC_SOCKADDR_FORMATSIZE]; - char source[ISC_SOCKADDR_FORMATSIZE]; - uint32_t nscnt, cnamecnt, refresh, retry, expire; - isc_result_t result; - isc_time_t now; - bool exiting = false; - isc_interval_t i; - unsigned int j, soacount; + dns_stub_t * stub = NULL; + dns_message_t * msg = NULL; + dns_zone_t * zone = NULL; + char master[ISC_SOCKADDR_FORMATSIZE]; + char source[ISC_SOCKADDR_FORMATSIZE]; + uint32_t nscnt, cnamecnt, refresh, retry, expire; + isc_result_t result; + isc_time_t now; + bool exiting = false; + isc_interval_t i; + unsigned int j, soacount; stub = revent->ev_arg; INSIST(DNS_STUB_VALID(stub)); @@ -12205,8 +12213,8 @@ stub_callback(isc_task_t *task, isc_event_t *event) { &zone->sourceaddr, &now); dns_zone_log(zone, ISC_LOG_INFO, "could not refresh stub from master %s" - " (source %s): %s", master, source, - dns_result_totext(revent->result)); + " (source %s): %s", + master, source, dns_result_totext(revent->result)); goto next_master; } @@ -12222,7 +12230,7 @@ stub_callback(isc_task_t *task, isc_event_t *event) { * Unexpected rcode. */ if (msg->rcode != dns_rcode_noerror) { - char rcode[128]; + char rcode[128]; isc_buffer_t rb; isc_buffer_init(&rb, rcode, sizeof(rcode)); @@ -12266,9 +12274,11 @@ stub_callback(isc_task_t *task, isc_event_t *event) { * If non-auth log and next master. */ if ((msg->flags & DNS_MESSAGEFLAG_AA) == 0) { - dns_zone_log(zone, ISC_LOG_INFO, "refreshing stub: " + dns_zone_log(zone, ISC_LOG_INFO, + "refreshing stub: " "non-authoritative answer from " - "master %s (source %s)", master, source); + "master %s (source %s)", + master, source); goto next_master; } @@ -12281,14 +12291,16 @@ stub_callback(isc_task_t *task, isc_event_t *event) { if (cnamecnt != 0) { dns_zone_log(zone, ISC_LOG_INFO, "refreshing stub: unexpected CNAME response " - "from master %s (source %s)", master, source); + "from master %s (source %s)", + master, source); goto next_master; } if (nscnt == 0) { dns_zone_log(zone, ISC_LOG_INFO, "refreshing stub: no NS records in response " - "from master %s (source %s)", master, source); + "from master %s (source %s)", + master, source); goto next_master; } @@ -12299,7 +12311,8 @@ stub_callback(isc_task_t *task, isc_event_t *event) { if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_INFO, "refreshing stub: unable to save NS records " - "from master %s (source %s)", master, source); + "from master %s (source %s)", + master, source); goto next_master; } @@ -12313,8 +12326,8 @@ stub_callback(isc_task_t *task, isc_event_t *event) { result = zone_get_from_db(zone, zone->db, NULL, &soacount, NULL, &refresh, &retry, &expire, NULL, NULL); if (result == ISC_R_SUCCESS && soacount > 0U) { - zone->refresh = RANGE(refresh, zone->minrefresh, - zone->maxrefresh); + zone->refresh = + RANGE(refresh, zone->minrefresh, zone->maxrefresh); zone->retry = RANGE(retry, zone->minretry, zone->maxretry); zone->expire = RANGE(expire, zone->refresh + zone->retry, DNS_MAX_EXPIRE); @@ -12339,7 +12352,7 @@ stub_callback(isc_task_t *task, isc_event_t *event) { zone_settimer(zone, &now); goto free_stub; - next_master: +next_master: if (stub->version != NULL) dns_db_closeversion(stub->db, &stub->version, false); if (stub->db != NULL) @@ -12390,7 +12403,7 @@ stub_callback(isc_task_t *task, isc_event_t *event) { queue_soa_query(zone); goto free_stub; - same_master: +same_master: if (msg != NULL) dns_message_destroy(&msg); isc_event_free(&event); @@ -12399,7 +12412,7 @@ stub_callback(isc_task_t *task, isc_event_t *event) { UNLOCK_ZONE(zone); goto done; - free_stub: +free_stub: UNLOCK_ZONE(zone); stub->magic = 0; dns_zone_idetach(&stub->zone); @@ -12407,7 +12420,7 @@ stub_callback(isc_task_t *task, isc_event_t *event) { INSIST(stub->version == NULL); isc_mem_put(stub->mctx, stub, sizeof(*stub)); - done: +done: INSIST(event == NULL); return; } @@ -12417,15 +12430,14 @@ stub_callback(isc_task_t *task, isc_event_t *event) { * expire to be not more than it. */ static void -get_edns_expire(dns_zone_t * zone, dns_message_t *message, - uint32_t *expirep) +get_edns_expire(dns_zone_t *zone, dns_message_t *message, uint32_t *expirep) { isc_result_t result; - uint32_t expire; - dns_rdata_t rdata = DNS_RDATA_INIT; + uint32_t expire; + dns_rdata_t rdata = DNS_RDATA_INIT; isc_buffer_t optbuf; - uint16_t optcode; - uint16_t optlen; + uint16_t optcode; + uint16_t optlen; REQUIRE(expirep != NULL); REQUIRE(message != NULL); @@ -12465,9 +12477,10 @@ get_edns_expire(dns_zone_t * zone, dns_message_t *message, * Set the file modification time zone->expire seconds before expiretime. */ static void -setmodtime(dns_zone_t *zone, isc_time_t *expiretime) { - isc_result_t result; - isc_time_t when; +setmodtime(dns_zone_t *zone, isc_time_t *expiretime) +{ + isc_result_t result; + isc_time_t when; isc_interval_t i; isc_interval_set(&i, zone->expire, 0); @@ -12491,7 +12504,8 @@ setmodtime(dns_zone_t *zone, isc_time_t *expiretime) { if (result == ISC_R_FILENOTFOUND) { zone_needdump(zone, DNS_DUMP_DELAY); } else if (result != ISC_R_SUCCESS) - dns_zone_log(zone, ISC_LOG_ERROR, "refresh: could not set " + dns_zone_log(zone, ISC_LOG_ERROR, + "refresh: could not set " "file modification time of '%s': %s", zone->masterfile, dns_result_totext(result)); } @@ -12500,22 +12514,23 @@ setmodtime(dns_zone_t *zone, isc_time_t *expiretime) { * An SOA query has finished (successfully or not). */ static void -refresh_callback(isc_task_t *task, isc_event_t *event) { - const char me[] = "refresh_callback"; +refresh_callback(isc_task_t *task, isc_event_t *event) +{ + const char me[] = "refresh_callback"; dns_requestevent_t *revent = (dns_requestevent_t *)event; - dns_zone_t *zone; - dns_message_t *msg = NULL; - uint32_t soacnt, cnamecnt, soacount, nscount; - isc_time_t now; - char master[ISC_SOCKADDR_FORMATSIZE]; - char source[ISC_SOCKADDR_FORMATSIZE]; - dns_rdataset_t *rdataset = NULL; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdata_soa_t soa; - isc_result_t result; - uint32_t serial, oldserial = 0; - unsigned int j; - bool do_queue_xfrin = false; + dns_zone_t * zone; + dns_message_t * msg = NULL; + uint32_t soacnt, cnamecnt, soacount, nscount; + isc_time_t now; + char master[ISC_SOCKADDR_FORMATSIZE]; + char source[ISC_SOCKADDR_FORMATSIZE]; + dns_rdataset_t * rdataset = NULL; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_soa_t soa; + isc_result_t result; + uint32_t serial, oldserial = 0; + unsigned int j; + bool do_queue_xfrin = false; zone = revent->ev_arg; INSIST(DNS_ZONE_VALID(zone)); @@ -12547,7 +12562,8 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_NOEDNS); dns_zone_log(zone, ISC_LOG_DEBUG(1), "refresh: timeout retrying without EDNS " - "master %s (source %s)", master, source); + "master %s (source %s)", + master, source); goto same_master; } if (revent->result == ISC_R_TIMEDOUT && @@ -12560,27 +12576,26 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { if ((zone->type == dns_zone_slave || zone->type == dns_zone_mirror || zone->type == dns_zone_redirect) && - DNS_ZONE_OPTION(zone, DNS_ZONEOPT_TRYTCPREFRESH)) - { - if (!dns_zonemgr_unreachable(zone->zmgr, - &zone->masteraddr, - &zone->sourceaddr, - &now)) - { - DNS_ZONE_SETFLAG(zone, - DNS_ZONEFLG_SOABEFOREAXFR); + DNS_ZONE_OPTION(zone, DNS_ZONEOPT_TRYTCPREFRESH)) { + if (!dns_zonemgr_unreachable( + zone->zmgr, &zone->masteraddr, + &zone->sourceaddr, &now)) { + DNS_ZONE_SETFLAG( + zone, + DNS_ZONEFLG_SOABEFOREAXFR); goto tcp_transfer; } dns_zone_log(zone, ISC_LOG_DEBUG(1), "refresh: skipped tcp fallback " "as master %s (source %s) is " "unreachable (cached)", - master, source); + master, source); } } else dns_zone_log(zone, ISC_LOG_INFO, "refresh: failure trying master " - "%s (source %s): %s", master, source, + "%s (source %s): %s", + master, source, dns_result_totext(revent->result)); goto next_master; } @@ -12592,8 +12607,8 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_INFO, "refresh: failure trying master " - "%s (source %s): %s", master, source, - dns_result_totext(result)); + "%s (source %s): %s", + master, source, dns_result_totext(result)); goto next_master; } @@ -12601,7 +12616,7 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { * Unexpected rcode. */ if (msg->rcode != dns_rcode_noerror) { - char rcode[128]; + char rcode[128]; isc_buffer_t rb; isc_buffer_init(&rb, rcode, sizeof(rcode)); @@ -12629,16 +12644,15 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { } dns_zone_log(zone, ISC_LOG_INFO, "refresh: unexpected rcode (%.*s) from " - "master %s (source %s)", (int)rb.used, rcode, - master, source); + "master %s (source %s)", + (int)rb.used, rcode, master, source); /* * Perhaps AXFR/IXFR is allowed even if SOA queries aren't. */ if (msg->rcode == dns_rcode_refused && (zone->type == dns_zone_slave || zone->type == dns_zone_mirror || - zone->type == dns_zone_redirect)) - { + zone->type == dns_zone_redirect)) { goto tcp_transfer; } goto next_master; @@ -12650,8 +12664,7 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { if ((msg->flags & DNS_MESSAGEFLAG_TC) != 0) { if (zone->type == dns_zone_slave || zone->type == dns_zone_mirror || - zone->type == dns_zone_redirect) - { + zone->type == dns_zone_redirect) { dns_zone_log(zone, ISC_LOG_INFO, "refresh: truncated UDP answer, " "initiating TCP zone xfer " @@ -12679,15 +12692,15 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { if ((msg->flags & DNS_MESSAGEFLAG_AA) == 0) { dns_zone_log(zone, ISC_LOG_INFO, "refresh: non-authoritative answer from " - "master %s (source %s)", master, source); + "master %s (source %s)", + master, source); goto next_master; } cnamecnt = message_count(msg, DNS_SECTION_ANSWER, dns_rdatatype_cname); soacnt = message_count(msg, DNS_SECTION_ANSWER, dns_rdatatype_soa); nscount = message_count(msg, DNS_SECTION_AUTHORITY, dns_rdatatype_ns); - soacount = message_count(msg, DNS_SECTION_AUTHORITY, - dns_rdatatype_soa); + soacount = message_count(msg, DNS_SECTION_AUTHORITY, dns_rdatatype_soa); /* * There should not be a CNAME record at top of zone. @@ -12695,7 +12708,8 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { if (cnamecnt != 0) { dns_zone_log(zone, ISC_LOG_INFO, "refresh: CNAME at top of zone " - "in master %s (source %s)", master, source); + "in master %s (source %s)", + master, source); goto next_master; } @@ -12705,7 +12719,8 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { if (soacnt == 0 && soacount == 0 && nscount != 0) { dns_zone_log(zone, ISC_LOG_INFO, "refresh: referral response " - "from master %s (source %s)", master, source); + "from master %s (source %s)", + master, source); goto next_master; } @@ -12715,7 +12730,8 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { if (soacnt == 0 && (nscount == 0 || soacount != 0)) { dns_zone_log(zone, ISC_LOG_INFO, "refresh: NODATA response " - "from master %s (source %s)", master, source); + "from master %s (source %s)", + master, source); goto next_master; } @@ -12740,7 +12756,8 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_INFO, "refresh: unable to get SOA record " - "from master %s (source %s)", master, source); + "from master %s (source %s)", + master, source); goto next_master; } @@ -12763,8 +12780,8 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); RUNTIME_CHECK(dbsoacount > 0U); - zone_debuglog(zone, me, 1, "serial: new %u, old %u", - serial, oldserial); + zone_debuglog(zone, me, 1, "serial: new %u, old %u", serial, + oldserial); } else zone_debuglog(zone, me, 1, "serial: new %u, old not loaded", serial); @@ -12773,25 +12790,24 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { DNS_ZONE_FLAG(zone, DNS_ZONEFLG_FORCEXFER) || isc_serial_gt(serial, oldserial)) { if (dns_zonemgr_unreachable(zone->zmgr, &zone->masteraddr, - &zone->sourceaddr, &now)) - { + &zone->sourceaddr, &now)) { dns_zone_log(zone, ISC_LOG_INFO, "refresh: skipping %s as master %s " "(source %s) is unreachable (cached)", (zone->type == dns_zone_slave || zone->type == dns_zone_mirror || - zone->type == dns_zone_redirect) ? - "zone transfer" : "NS query", + zone->type == dns_zone_redirect) + ? "zone transfer" + : "NS query", master, source); goto next_master; } - tcp_transfer: + tcp_transfer: isc_event_free(&event); dns_request_destroy(&zone->request); if (zone->type == dns_zone_slave || zone->type == dns_zone_mirror || - zone->type == dns_zone_redirect) - { + zone->type == dns_zone_redirect) { do_queue_xfrin = true; } else { INSIST(zone->type == dns_zone_stub); @@ -12801,7 +12817,7 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { dns_message_destroy(&msg); } else if (isc_serial_eq(soa.serial, oldserial)) { isc_time_t expiretime; - uint32_t expire; + uint32_t expire; /* * Compute the new expire time based on this response. @@ -12824,7 +12840,8 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { goto next_master; } else { if (!DNS_ZONE_OPTION(zone, DNS_ZONEOPT_MULTIMASTER)) - dns_zone_log(zone, ISC_LOG_INFO, "serial number (%u) " + dns_zone_log(zone, ISC_LOG_INFO, + "serial number (%u) " "received from master %s < ours (%u)", soa.serial, master, oldserial); else @@ -12836,7 +12853,7 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { dns_message_destroy(&msg); goto detach; - next_master: +next_master: if (msg != NULL) dns_message_destroy(&msg); isc_event_free(&event); @@ -12884,18 +12901,18 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { goto detach; } - requeue: +requeue: queue_soa_query(zone); goto detach; - same_master: +same_master: if (msg != NULL) dns_message_destroy(&msg); isc_event_free(&event); dns_request_destroy(&zone->request); queue_soa_query(zone); - detach: +detach: UNLOCK_ZONE(zone); if (do_queue_xfrin) queue_xfrin(zone); @@ -12904,10 +12921,11 @@ refresh_callback(isc_task_t *task, isc_event_t *event) { } static void -queue_soa_query(dns_zone_t *zone) { - const char me[] = "queue_soa_query"; +queue_soa_query(dns_zone_t *zone) +{ + const char me[] = "queue_soa_query"; isc_event_t *e; - dns_zone_t *dummy = NULL; + dns_zone_t * dummy = NULL; isc_result_t result; ENTER; @@ -12921,8 +12939,8 @@ queue_soa_query(dns_zone_t *zone) { return; } - e = isc_event_allocate(zone->mctx, NULL, DNS_EVENT_ZONE, - soa_query, zone, sizeof(isc_event_t)); + e = isc_event_allocate(zone->mctx, NULL, DNS_EVENT_ZONE, soa_query, + zone, sizeof(isc_event_t)); /* * Attach so that we won't clean up @@ -12941,13 +12959,12 @@ queue_soa_query(dns_zone_t *zone) { } static inline isc_result_t -create_query(dns_zone_t *zone, dns_rdatatype_t rdtype, - dns_message_t **messagep) +create_query(dns_zone_t *zone, dns_rdatatype_t rdtype, dns_message_t **messagep) { - dns_message_t *message = NULL; - dns_name_t *qname = NULL; + dns_message_t * message = NULL; + dns_name_t * qname = NULL; dns_rdataset_t *qrdataset = NULL; - isc_result_t result; + isc_result_t result; result = dns_message_create(zone->mctx, DNS_MESSAGE_INTENTRENDER, &message); @@ -12977,7 +12994,7 @@ create_query(dns_zone_t *zone, dns_rdatatype_t rdtype, *messagep = message; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (qname != NULL) dns_message_puttempname(message, &qname); if (qrdataset != NULL) @@ -12988,13 +13005,12 @@ create_query(dns_zone_t *zone, dns_rdatatype_t rdtype, } static isc_result_t -add_opt(dns_message_t *message, uint16_t udpsize, bool reqnsid, - bool reqexpire) +add_opt(dns_message_t *message, uint16_t udpsize, bool reqnsid, bool reqexpire) { - isc_result_t result; + isc_result_t result; dns_rdataset_t *rdataset = NULL; - dns_ednsopt_t ednsopts[DNS_EDNSOPTIONS]; - int count = 0; + dns_ednsopt_t ednsopts[DNS_EDNSOPTIONS]; + int count = 0; /* Set EDNS options if applicable */ if (reqnsid) { @@ -13020,20 +13036,21 @@ add_opt(dns_message_t *message, uint16_t udpsize, bool reqnsid, } static void -soa_query(isc_task_t *task, isc_event_t *event) { - const char me[] = "soa_query"; - isc_result_t result = ISC_R_FAILURE; +soa_query(isc_task_t *task, isc_event_t *event) +{ + const char me[] = "soa_query"; + isc_result_t result = ISC_R_FAILURE; dns_message_t *message = NULL; - dns_zone_t *zone = event->ev_arg; - dns_zone_t *dummy = NULL; - isc_netaddr_t masterip; + dns_zone_t * zone = event->ev_arg; + dns_zone_t * dummy = NULL; + isc_netaddr_t masterip; dns_tsigkey_t *key = NULL; - uint32_t options; - bool cancel = true; - int timeout; - bool have_xfrsource, have_xfrdscp, reqnsid, reqexpire; - uint16_t udpsize = SEND_BUFFER_SIZE; - isc_dscp_t dscp = -1; + uint32_t options; + bool cancel = true; + int timeout; + bool have_xfrsource, have_xfrdscp, reqnsid, reqexpire; + uint16_t udpsize = SEND_BUFFER_SIZE; + isc_dscp_t dscp = -1; REQUIRE(DNS_ZONE_VALID(zone)); @@ -13050,7 +13067,7 @@ soa_query(isc_task_t *task, isc_event_t *event) { goto cleanup; } - again: +again: result = create_query(zone, dns_rdatatype_soa, &message); if (result != ISC_R_SUCCESS) goto cleanup; @@ -13089,16 +13106,16 @@ soa_query(isc_task_t *task, isc_event_t *event) { } } - options = DNS_ZONE_FLAG(zone, DNS_ZONEFLG_USEVC) ? - DNS_REQUESTOPT_TCP : 0; + options = DNS_ZONE_FLAG(zone, DNS_ZONEFLG_USEVC) ? DNS_REQUESTOPT_TCP + : 0; have_xfrsource = have_xfrdscp = false; reqnsid = zone->view->requestnsid; reqexpire = zone->requestexpire; if (zone->view->peers != NULL) { dns_peer_t *peer = NULL; - bool edns, usetcp; - result = dns_peerlist_peerbyaddr(zone->view->peers, - &masterip, &peer); + bool edns, usetcp; + result = dns_peerlist_peerbyaddr(zone->view->peers, &masterip, + &peer); if (result == ISC_R_SUCCESS) { result = dns_peer_getsupportedns(peer, &edns); if (result == ISC_R_SUCCESS && !edns) @@ -13111,8 +13128,8 @@ soa_query(isc_task_t *task, isc_event_t *event) { if (dscp != -1) have_xfrdscp = true; if (zone->view->resolver != NULL) - udpsize = - dns_resolver_getudpsize(zone->view->resolver); + udpsize = dns_resolver_getudpsize( + zone->view->resolver); (void)dns_peer_getudpsize(peer, &udpsize); (void)dns_peer_getrequestnsid(peer, &reqnsid); (void)dns_peer_getrequestexpire(peer, &reqexpire); @@ -13168,11 +13185,10 @@ soa_query(isc_task_t *task, isc_event_t *event) { timeout = 15; if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_DIALREFRESH)) timeout = 30; - result = dns_request_createvia(zone->view->requestmgr, message, - &zone->sourceaddr, &zone->masteraddr, - dscp, options, key, timeout * 3, - timeout, 0, zone->task, - refresh_callback, zone, &zone->request); + result = dns_request_createvia( + zone->view->requestmgr, message, &zone->sourceaddr, + &zone->masteraddr, dscp, options, key, timeout * 3, timeout, 0, + zone->task, refresh_callback, zone, &zone->request); if (result != ISC_R_SUCCESS) { zone_idetach(&dummy); zone_debuglog(zone, me, 1, @@ -13187,7 +13203,7 @@ soa_query(isc_task_t *task, isc_event_t *event) { } cancel = false; - cleanup: +cleanup: if (key != NULL) dns_tsigkey_detach(&key); if (result != ISC_R_SUCCESS) @@ -13201,7 +13217,7 @@ soa_query(isc_task_t *task, isc_event_t *event) { dns_zone_idetach(&zone); return; - skip_master: +skip_master: if (key != NULL) dns_tsigkey_detach(&key); dns_message_destroy(&message); @@ -13219,18 +13235,19 @@ soa_query(isc_task_t *task, isc_event_t *event) { } static void -ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t *stub) { - const char me[] = "ns_query"; - isc_result_t result; +ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t *stub) +{ + const char me[] = "ns_query"; + isc_result_t result; dns_message_t *message = NULL; - isc_netaddr_t masterip; + isc_netaddr_t masterip; dns_tsigkey_t *key = NULL; - dns_dbnode_t *node = NULL; - int timeout; - bool have_xfrsource = false, have_xfrdscp = false; - bool reqnsid; - uint16_t udpsize = SEND_BUFFER_SIZE; - isc_dscp_t dscp = -1; + dns_dbnode_t * node = NULL; + int timeout; + bool have_xfrsource = false, have_xfrdscp = false; + bool reqnsid; + uint16_t udpsize = SEND_BUFFER_SIZE; + isc_dscp_t dscp = -1; REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(LOCKED_ZONE(zone)); @@ -13268,10 +13285,8 @@ ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t *stub) { INSIST(zone->db_argc >= 1); result = dns_db_create(zone->mctx, zone->db_argv[0], &zone->origin, dns_dbtype_stub, - zone->rdclass, - zone->db_argc - 1, - zone->db_argv + 1, - &stub->db); + zone->rdclass, zone->db_argc - 1, + zone->db_argv + 1, &stub->db); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, "refreshing stub: " @@ -13285,7 +13300,8 @@ ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t *stub) { result = dns_db_newversion(stub->db, &stub->version); if (result != ISC_R_SUCCESS) { - dns_zone_log(zone, ISC_LOG_INFO, "refreshing stub: " + dns_zone_log(zone, ISC_LOG_INFO, + "refreshing stub: " "dns_db_newversion() failed: %s", dns_result_totext(result)); goto cleanup; @@ -13294,10 +13310,10 @@ ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t *stub) { /* * Update SOA record. */ - result = dns_db_findnode(stub->db, &zone->origin, true, - &node); + result = dns_db_findnode(stub->db, &zone->origin, true, &node); if (result != ISC_R_SUCCESS) { - dns_zone_log(zone, ISC_LOG_INFO, "refreshing stub: " + dns_zone_log(zone, ISC_LOG_INFO, + "refreshing stub: " "dns_db_findnode() failed: %s", dns_result_totext(result)); goto cleanup; @@ -13348,9 +13364,9 @@ ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t *stub) { reqnsid = zone->view->requestnsid; if (zone->view->peers != NULL) { dns_peer_t *peer = NULL; - bool edns; - result = dns_peerlist_peerbyaddr(zone->view->peers, - &masterip, &peer); + bool edns; + result = dns_peerlist_peerbyaddr(zone->view->peers, &masterip, + &peer); if (result == ISC_R_SUCCESS) { result = dns_peer_getsupportedns(peer, &edns); if (result == ISC_R_SUCCESS && !edns) @@ -13363,12 +13379,11 @@ ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t *stub) { if (result == ISC_R_SUCCESS && dscp != -1) have_xfrdscp = true; if (zone->view->resolver != NULL) - udpsize = - dns_resolver_getudpsize(zone->view->resolver); + udpsize = dns_resolver_getudpsize( + zone->view->resolver); (void)dns_peer_getudpsize(peer, &udpsize); (void)dns_peer_getrequestnsid(peer, &reqnsid); } - } if (!DNS_ZONE_FLAG(zone, DNS_ZONEFLG_NOEDNS)) { result = add_opt(message, udpsize, reqnsid, false); @@ -13412,26 +13427,23 @@ ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t *stub) { timeout = 15; if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_DIALREFRESH)) timeout = 30; - result = dns_request_createvia(zone->view->requestmgr, message, - &zone->sourceaddr, &zone->masteraddr, - dscp, DNS_REQUESTOPT_TCP, key, - timeout * 3, timeout, 0, zone->task, - stub_callback, stub, &zone->request); + result = dns_request_createvia( + zone->view->requestmgr, message, &zone->sourceaddr, + &zone->masteraddr, dscp, DNS_REQUESTOPT_TCP, key, timeout * 3, + timeout, 0, zone->task, stub_callback, stub, &zone->request); if (result != ISC_R_SUCCESS) { - zone_debuglog(zone, me, 1, - "dns_request_createvia() failed: %s", + zone_debuglog(zone, me, 1, "dns_request_createvia() failed: %s", dns_result_totext(result)); goto cleanup; } dns_message_destroy(&message); goto unlock; - cleanup: +cleanup: cancel_refresh(zone); stub->magic = 0; if (stub->version != NULL) { - dns_db_closeversion(stub->db, &stub->version, - false); + dns_db_closeversion(stub->db, &stub->version, false); } if (stub->db != NULL) { dns_db_detach(&stub->db); @@ -13442,7 +13454,7 @@ ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t *stub) { isc_mem_put(stub->mctx, stub, sizeof(*stub)); if (message != NULL) dns_message_destroy(&message); - unlock: +unlock: if (key != NULL) dns_tsigkey_detach(&key); return; @@ -13453,9 +13465,10 @@ ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t *stub) { * to shut down, it is not a shutdown event in the sense of the task library. */ static void -zone_shutdown(isc_task_t *task, isc_event_t *event) { - dns_zone_t *zone = (dns_zone_t *) event->ev_arg; - bool free_needed, linked = false; +zone_shutdown(isc_task_t *task, isc_event_t *event) +{ + dns_zone_t *zone = (dns_zone_t *)event->ev_arg; + bool free_needed, linked = false; dns_zone_t *raw = NULL, *secure = NULL; UNUSED(task); @@ -13563,8 +13576,9 @@ zone_shutdown(isc_task_t *task, isc_event_t *event) { } static void -zone_timer(isc_task_t *task, isc_event_t *event) { - const char me[] = "zone_timer"; +zone_timer(isc_task_t *task, isc_event_t *event) +{ + const char me[] = "zone_timer"; dns_zone_t *zone = (dns_zone_t *)event->ev_arg; UNUSED(task); @@ -13578,9 +13592,10 @@ zone_timer(isc_task_t *task, isc_event_t *event) { } static void -zone_settimer(dns_zone_t *zone, isc_time_t *now) { - const char me[] = "zone_settimer"; - isc_time_t next; +zone_settimer(dns_zone_t *zone, isc_time_t *now) +{ + const char me[] = "zone_settimer"; + isc_time_t next; isc_result_t result; REQUIRE(DNS_ZONE_VALID(zone)); @@ -13660,7 +13675,7 @@ zone_settimer(dns_zone_t *zone, isc_time_t *now) { if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED) && !isc_time_isepoch(&zone->expiretime)) { if (isc_time_isepoch(&next) || - isc_time_compare(&zone->expiretime, &next) < 0) + isc_time_compare(&zone->expiretime, &next) < 0) next = zone->expiretime; } if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_NEEDDUMP) && @@ -13683,7 +13698,8 @@ zone_settimer(dns_zone_t *zone, isc_time_t *now) { if (!DNS_ZONE_FLAG(zone, DNS_ZONEFLG_REFRESHING)) { if (isc_time_isepoch(&next) || (!isc_time_isepoch(&zone->refreshkeytime) && - isc_time_compare(&zone->refreshkeytime, &next) < 0)) + isc_time_compare(&zone->refreshkeytime, &next) < + 0)) next = zone->refreshkeytime; } break; @@ -13695,7 +13711,7 @@ zone_settimer(dns_zone_t *zone, isc_time_t *now) { if (isc_time_isepoch(&next)) { zone_debuglog(zone, me, 10, "settimer inactive"); result = isc_timer_reset(zone->timer, isc_timertype_inactive, - NULL, NULL, true); + NULL, NULL, true); if (result != ISC_R_SUCCESS) dns_zone_log(zone, ISC_LOG_ERROR, "could not deactivate zone timer: %s", @@ -13703,8 +13719,8 @@ zone_settimer(dns_zone_t *zone, isc_time_t *now) { } else { if (isc_time_compare(&next, now) <= 0) next = *now; - result = isc_timer_reset(zone->timer, isc_timertype_once, - &next, NULL, true); + result = isc_timer_reset(zone->timer, isc_timertype_once, &next, + NULL, true); if (result != ISC_R_SUCCESS) dns_zone_log(zone, ISC_LOG_ERROR, "could not reset zone timer: %s", @@ -13713,7 +13729,8 @@ zone_settimer(dns_zone_t *zone, isc_time_t *now) { } static void -cancel_refresh(dns_zone_t *zone) { +cancel_refresh(dns_zone_t *zone) +{ const char me[] = "cancel_refresh"; isc_time_t now; @@ -13735,20 +13752,20 @@ static isc_result_t notify_createmessage(dns_zone_t *zone, unsigned int flags, dns_message_t **messagep) { - dns_db_t *zonedb = NULL; - dns_dbnode_t *node = NULL; + dns_db_t * zonedb = NULL; + dns_dbnode_t * node = NULL; dns_dbversion_t *version = NULL; - dns_message_t *message = NULL; - dns_rdataset_t rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_message_t * message = NULL; + dns_rdataset_t rdataset; + dns_rdata_t rdata = DNS_RDATA_INIT; - dns_name_t *tempname = NULL; - dns_rdata_t *temprdata = NULL; + dns_name_t * tempname = NULL; + dns_rdata_t * temprdata = NULL; dns_rdatalist_t *temprdatalist = NULL; - dns_rdataset_t *temprdataset = NULL; + dns_rdataset_t * temprdataset = NULL; - isc_result_t result; - isc_region_t r; + isc_result_t result; + isc_region_t r; isc_buffer_t *b = NULL; REQUIRE(DNS_ZONE_VALID(zone)); @@ -13812,10 +13829,8 @@ notify_createmessage(dns_zone_t *zone, unsigned int flags, goto soa_cleanup; dns_rdataset_init(&rdataset); - result = dns_db_findrdataset(zonedb, node, version, - dns_rdatatype_soa, - dns_rdatatype_none, 0, &rdataset, - NULL); + result = dns_db_findrdataset(zonedb, node, version, dns_rdatatype_soa, + dns_rdatatype_none, 0, &rdataset, NULL); if (result != ISC_R_SUCCESS) goto soa_cleanup; result = dns_rdataset_first(&rdataset); @@ -13849,7 +13864,7 @@ notify_createmessage(dns_zone_t *zone, unsigned int flags, temprdata = NULL; tempname = NULL; - soa_cleanup: +soa_cleanup: if (node != NULL) dns_db_detachnode(zonedb, &node); if (version != NULL) @@ -13865,11 +13880,11 @@ notify_createmessage(dns_zone_t *zone, unsigned int flags, if (temprdatalist != NULL) dns_message_puttemprdatalist(message, &temprdatalist); - done: +done: *messagep = message; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (tempname != NULL) dns_message_puttempname(message, &tempname); if (temprdataset != NULL) @@ -13882,17 +13897,17 @@ isc_result_t dns_zone_notifyreceive(dns_zone_t *zone, isc_sockaddr_t *from, isc_sockaddr_t *to, dns_message_t *msg) { - unsigned int i; - dns_rdata_soa_t soa; - dns_rdataset_t *rdataset = NULL; - dns_rdata_t rdata = DNS_RDATA_INIT; - isc_result_t result; - char fromtext[ISC_SOCKADDR_FORMATSIZE]; - int match = 0; - isc_netaddr_t netaddr; - uint32_t serial = 0; - bool have_serial = false; - dns_tsigkey_t *tsigkey; + unsigned int i; + dns_rdata_soa_t soa; + dns_rdataset_t * rdataset = NULL; + dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + char fromtext[ISC_SOCKADDR_FORMATSIZE]; + int match = 0; + isc_netaddr_t netaddr; + uint32_t serial = 0; + bool have_serial = false; + dns_tsigkey_t * tsigkey; const dns_name_t *tsig; REQUIRE(DNS_ZONE_VALID(zone)); @@ -13938,13 +13953,14 @@ dns_zone_notifyreceive(dns_zone_t *zone, isc_sockaddr_t *from, inc_stats(zone, dns_zonestatscounter_notifyinv6); if (msg->counts[DNS_SECTION_QUESTION] == 0 || dns_message_findname(msg, DNS_SECTION_QUESTION, &zone->origin, - dns_rdatatype_soa, dns_rdatatype_none, - NULL, NULL) != ISC_R_SUCCESS) { + dns_rdatatype_soa, dns_rdatatype_none, NULL, + NULL) != ISC_R_SUCCESS) { UNLOCK_ZONE(zone); if (msg->counts[DNS_SECTION_QUESTION] == 0) { dns_zone_log(zone, ISC_LOG_NOTICE, "NOTIFY with no " - "question section from: %s", fromtext); + "question section from: %s", + fromtext); return (DNS_R_FORMERR); } dns_zone_log(zone, ISC_LOG_NOTICE, @@ -13985,8 +14001,7 @@ dns_zone_notifyreceive(dns_zone_t *zone, isc_sockaddr_t *from, (dns_acl_match(&netaddr, tsig, zone->notify_acl, &zone->view->aclenv, &match, NULL) == ISC_R_SUCCESS) && - match > 0) - { + match > 0) { /* Accept notify. */ } else if (i >= zone->masterscnt) { UNLOCK_ZONE(zone); @@ -14005,15 +14020,13 @@ dns_zone_notifyreceive(dns_zone_t *zone, isc_sockaddr_t *from, if (msg->counts[DNS_SECTION_ANSWER] > 0 && DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED) && !DNS_ZONE_FLAG(zone, DNS_ZONEFLG_NOREFRESH)) { - result = dns_message_findname(msg, DNS_SECTION_ANSWER, - &zone->origin, - dns_rdatatype_soa, - dns_rdatatype_none, NULL, - &rdataset); + result = dns_message_findname( + msg, DNS_SECTION_ANSWER, &zone->origin, + dns_rdatatype_soa, dns_rdatatype_none, NULL, &rdataset); if (result == ISC_R_SUCCESS) result = dns_rdataset_first(rdataset); if (result == ISC_R_SUCCESS) { - uint32_t oldserial; + uint32_t oldserial; unsigned int soacount; dns_rdataset_current(rdataset, &rdata); @@ -14031,8 +14044,7 @@ dns_zone_notifyreceive(dns_zone_t *zone, isc_sockaddr_t *from, RUNTIME_CHECK(result == ISC_R_SUCCESS); RUNTIME_CHECK(soacount > 0U); if (isc_serial_le(serial, oldserial)) { - dns_zone_log(zone, - ISC_LOG_INFO, + dns_zone_log(zone, ISC_LOG_INFO, "notify from %s: " "zone is up to date", fromtext); @@ -14055,11 +14067,12 @@ dns_zone_notifyreceive(dns_zone_t *zone, isc_sockaddr_t *from, dns_zone_log(zone, ISC_LOG_INFO, "notify from %s: serial %u: refresh in " "progress, refresh check queued", - fromtext, serial); + fromtext, serial); else dns_zone_log(zone, ISC_LOG_INFO, "notify from %s: refresh in progress, " - "refresh check queued", fromtext); + "refresh check queued", + fromtext); return (ISC_R_SUCCESS); } if (have_serial) @@ -14079,8 +14092,8 @@ dns_zone_notifyreceive(dns_zone_t *zone, isc_sockaddr_t *from, } void -dns_zone_setnotifyacl(dns_zone_t *zone, dns_acl_t *acl) { - +dns_zone_setnotifyacl(dns_zone_t *zone, dns_acl_t *acl) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -14091,8 +14104,8 @@ dns_zone_setnotifyacl(dns_zone_t *zone, dns_acl_t *acl) { } void -dns_zone_setqueryacl(dns_zone_t *zone, dns_acl_t *acl) { - +dns_zone_setqueryacl(dns_zone_t *zone, dns_acl_t *acl) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -14103,8 +14116,8 @@ dns_zone_setqueryacl(dns_zone_t *zone, dns_acl_t *acl) { } void -dns_zone_setqueryonacl(dns_zone_t *zone, dns_acl_t *acl) { - +dns_zone_setqueryonacl(dns_zone_t *zone, dns_acl_t *acl) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -14115,8 +14128,8 @@ dns_zone_setqueryonacl(dns_zone_t *zone, dns_acl_t *acl) { } void -dns_zone_setupdateacl(dns_zone_t *zone, dns_acl_t *acl) { - +dns_zone_setupdateacl(dns_zone_t *zone, dns_acl_t *acl) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -14127,8 +14140,8 @@ dns_zone_setupdateacl(dns_zone_t *zone, dns_acl_t *acl) { } void -dns_zone_setforwardacl(dns_zone_t *zone, dns_acl_t *acl) { - +dns_zone_setforwardacl(dns_zone_t *zone, dns_acl_t *acl) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -14139,8 +14152,8 @@ dns_zone_setforwardacl(dns_zone_t *zone, dns_acl_t *acl) { } void -dns_zone_setxfracl(dns_zone_t *zone, dns_acl_t *acl) { - +dns_zone_setxfracl(dns_zone_t *zone, dns_acl_t *acl) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -14151,56 +14164,56 @@ dns_zone_setxfracl(dns_zone_t *zone, dns_acl_t *acl) { } dns_acl_t * -dns_zone_getnotifyacl(dns_zone_t *zone) { - +dns_zone_getnotifyacl(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->notify_acl); } dns_acl_t * -dns_zone_getqueryacl(dns_zone_t *zone) { - +dns_zone_getqueryacl(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->query_acl); } dns_acl_t * -dns_zone_getqueryonacl(dns_zone_t *zone) { - +dns_zone_getqueryonacl(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->queryon_acl); } dns_acl_t * -dns_zone_getupdateacl(dns_zone_t *zone) { - +dns_zone_getupdateacl(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->update_acl); } dns_acl_t * -dns_zone_getforwardacl(dns_zone_t *zone) { - +dns_zone_getforwardacl(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->forward_acl); } dns_acl_t * -dns_zone_getxfracl(dns_zone_t *zone) { - +dns_zone_getxfracl(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->xfr_acl); } void -dns_zone_clearupdateacl(dns_zone_t *zone) { - +dns_zone_clearupdateacl(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -14210,8 +14223,8 @@ dns_zone_clearupdateacl(dns_zone_t *zone) { } void -dns_zone_clearforwardacl(dns_zone_t *zone) { - +dns_zone_clearforwardacl(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -14221,8 +14234,8 @@ dns_zone_clearforwardacl(dns_zone_t *zone) { } void -dns_zone_clearnotifyacl(dns_zone_t *zone) { - +dns_zone_clearnotifyacl(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -14232,8 +14245,8 @@ dns_zone_clearnotifyacl(dns_zone_t *zone) { } void -dns_zone_clearqueryacl(dns_zone_t *zone) { - +dns_zone_clearqueryacl(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -14243,8 +14256,8 @@ dns_zone_clearqueryacl(dns_zone_t *zone) { } void -dns_zone_clearqueryonacl(dns_zone_t *zone) { - +dns_zone_clearqueryonacl(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -14254,8 +14267,8 @@ dns_zone_clearqueryonacl(dns_zone_t *zone) { } void -dns_zone_clearxfracl(dns_zone_t *zone) { - +dns_zone_clearxfracl(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -14265,61 +14278,68 @@ dns_zone_clearxfracl(dns_zone_t *zone) { } bool -dns_zone_getupdatedisabled(dns_zone_t *zone) { +dns_zone_getupdatedisabled(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->update_disabled); - } void -dns_zone_setupdatedisabled(dns_zone_t *zone, bool state) { +dns_zone_setupdatedisabled(dns_zone_t *zone, bool state) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->update_disabled = state; } bool -dns_zone_getzeronosoattl(dns_zone_t *zone) { +dns_zone_getzeronosoattl(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->zero_no_soa_ttl); - } void -dns_zone_setzeronosoattl(dns_zone_t *zone, bool state) { +dns_zone_setzeronosoattl(dns_zone_t *zone, bool state) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->zero_no_soa_ttl = state; } void -dns_zone_setchecknames(dns_zone_t *zone, dns_severity_t severity) { +dns_zone_setchecknames(dns_zone_t *zone, dns_severity_t severity) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->check_names = severity; } dns_severity_t -dns_zone_getchecknames(dns_zone_t *zone) { +dns_zone_getchecknames(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->check_names); } void -dns_zone_setjournalsize(dns_zone_t *zone, int32_t size) { +dns_zone_setjournalsize(dns_zone_t *zone, int32_t size) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->journalsize = size; } int32_t -dns_zone_getjournalsize(dns_zone_t *zone) { +dns_zone_getjournalsize(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->journalsize); } static void -zone_namerd_tostr(dns_zone_t *zone, char *buf, size_t length) { +zone_namerd_tostr(dns_zone_t *zone, char *buf, size_t length) +{ isc_result_t result = ISC_R_FAILURE; isc_buffer_t buffer; @@ -14334,7 +14354,8 @@ zone_namerd_tostr(dns_zone_t *zone, char *buf, size_t length) { if (dns_name_dynamic(&zone->origin)) result = dns_name_totext(&zone->origin, true, &buffer); if (result != ISC_R_SUCCESS && - isc_buffer_availablelength(&buffer) >= (sizeof("") - 1)) + isc_buffer_availablelength(&buffer) >= + (sizeof("") - 1)) isc_buffer_putstr(&buffer, ""); if (isc_buffer_availablelength(&buffer) > 0) @@ -14357,7 +14378,8 @@ zone_namerd_tostr(dns_zone_t *zone, char *buf, size_t length) { } static void -zone_name_tostr(dns_zone_t *zone, char *buf, size_t length) { +zone_name_tostr(dns_zone_t *zone, char *buf, size_t length) +{ isc_result_t result = ISC_R_FAILURE; isc_buffer_t buffer; @@ -14378,7 +14400,8 @@ zone_name_tostr(dns_zone_t *zone, char *buf, size_t length) { } static void -zone_rdclass_tostr(dns_zone_t *zone, char *buf, size_t length) { +zone_rdclass_tostr(dns_zone_t *zone, char *buf, size_t length) +{ isc_buffer_t buffer; REQUIRE(buf != NULL); @@ -14394,13 +14417,13 @@ zone_rdclass_tostr(dns_zone_t *zone, char *buf, size_t length) { } static void -zone_viewname_tostr(dns_zone_t *zone, char *buf, size_t length) { +zone_viewname_tostr(dns_zone_t *zone, char *buf, size_t length) +{ isc_buffer_t buffer; REQUIRE(buf != NULL); REQUIRE(length > 1U); - /* * Leave space for terminating '\0'. */ @@ -14408,8 +14431,8 @@ zone_viewname_tostr(dns_zone_t *zone, char *buf, size_t length) { if (zone->view == NULL) { isc_buffer_putstr(&buffer, "_none"); - } else if (strlen(zone->view->name) - < isc_buffer_availablelength(&buffer)) { + } else if (strlen(zone->view->name) < + isc_buffer_availablelength(&buffer)) { isc_buffer_putstr(&buffer, zone->view->name); } else { isc_buffer_putstr(&buffer, "_toolong"); @@ -14419,14 +14442,16 @@ zone_viewname_tostr(dns_zone_t *zone, char *buf, size_t length) { } void -dns_zone_name(dns_zone_t *zone, char *buf, size_t length) { +dns_zone_name(dns_zone_t *zone, char *buf, size_t length) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(buf != NULL); zone_namerd_tostr(zone, buf, length); } void -dns_zone_nameonly(dns_zone_t *zone, char *buf, size_t length) { +dns_zone_nameonly(dns_zone_t *zone, char *buf, size_t length) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(buf != NULL); zone_name_tostr(zone, buf, length); @@ -14436,7 +14461,7 @@ void dns_zone_logv(dns_zone_t *zone, isc_logcategory_t *category, int level, const char *prefix, const char *fmt, va_list ap) { - char message[4096]; + char message[4096]; const char *zstr; REQUIRE(DNS_ZONE_VALID(zone)); @@ -14459,14 +14484,14 @@ dns_zone_logv(dns_zone_t *zone, isc_logcategory_t *category, int level, } isc_log_write(dns_lctx, category, DNS_LOGMODULE_ZONE, level, - "%s%s%s%s: %s", - (prefix != NULL ? prefix : ""), - (prefix != NULL ? ": " : ""), - zstr, zone->strnamerd, message); + "%s%s%s%s: %s", (prefix != NULL ? prefix : ""), + (prefix != NULL ? ": " : ""), zstr, zone->strnamerd, + message); } static void -notify_log(dns_zone_t *zone, int level, const char *fmt, ...) { +notify_log(dns_zone_t *zone, int level, const char *fmt, ...) +{ va_list ap; va_start(ap, fmt); @@ -14475,8 +14500,8 @@ notify_log(dns_zone_t *zone, int level, const char *fmt, ...) { } void -dns_zone_logc(dns_zone_t *zone, isc_logcategory_t *category, - int level, const char *fmt, ...) +dns_zone_logc(dns_zone_t *zone, isc_logcategory_t *category, int level, + const char *fmt, ...) { va_list ap; @@ -14486,7 +14511,8 @@ dns_zone_logc(dns_zone_t *zone, isc_logcategory_t *category, } void -dns_zone_log(dns_zone_t *zone, int level, const char *fmt, ...) { +dns_zone_log(dns_zone_t *zone, int level, const char *fmt, ...) +{ va_list ap; va_start(ap, fmt); @@ -14495,10 +14521,10 @@ dns_zone_log(dns_zone_t *zone, int level, const char *fmt, ...) { } static void -zone_debuglog(dns_zone_t *zone, const char *me, int debuglevel, - const char *fmt, ...) +zone_debuglog(dns_zone_t *zone, const char *me, int debuglevel, const char *fmt, + ...) { - int level = ISC_LOG_DEBUG(debuglevel); + int level = ISC_LOG_DEBUG(debuglevel); va_list ap; va_start(ap, fmt); @@ -14507,7 +14533,8 @@ zone_debuglog(dns_zone_t *zone, const char *me, int debuglevel, } static void -dnssec_log(dns_zone_t *zone, int level, const char *fmt, ...) { +dnssec_log(dns_zone_t *zone, int level, const char *fmt, ...) +{ va_list ap; va_start(ap, fmt); @@ -14518,10 +14545,10 @@ dnssec_log(dns_zone_t *zone, int level, const char *fmt, ...) { static int message_count(dns_message_t *msg, dns_section_t section, dns_rdatatype_t type) { - isc_result_t result; - dns_name_t *name; + isc_result_t result; + dns_name_t * name; dns_rdataset_t *curr; - int count = 0; + int count = 0; result = dns_message_firstname(msg, section); while (result == ISC_R_SUCCESS) { @@ -14540,41 +14567,47 @@ message_count(dns_message_t *msg, dns_section_t section, dns_rdatatype_t type) } void -dns_zone_setmaxxfrin(dns_zone_t *zone, uint32_t maxxfrin) { +dns_zone_setmaxxfrin(dns_zone_t *zone, uint32_t maxxfrin) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->maxxfrin = maxxfrin; } uint32_t -dns_zone_getmaxxfrin(dns_zone_t *zone) { +dns_zone_getmaxxfrin(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->maxxfrin); } void -dns_zone_setmaxxfrout(dns_zone_t *zone, uint32_t maxxfrout) { +dns_zone_setmaxxfrout(dns_zone_t *zone, uint32_t maxxfrout) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->maxxfrout = maxxfrout; } uint32_t -dns_zone_getmaxxfrout(dns_zone_t *zone) { +dns_zone_getmaxxfrout(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->maxxfrout); } dns_zonetype_t -dns_zone_gettype(dns_zone_t *zone) { +dns_zone_gettype(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->type); } dns_zonetype_t -dns_zone_getredirecttype(dns_zone_t *zone) { +dns_zone_getredirecttype(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(zone->type == dns_zone_redirect); @@ -14582,14 +14615,16 @@ dns_zone_getredirecttype(dns_zone_t *zone) { } dns_name_t * -dns_zone_getorigin(dns_zone_t *zone) { +dns_zone_getorigin(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (&zone->origin); } void -dns_zone_settask(dns_zone_t *zone, isc_task_t *task) { +dns_zone_settask(dns_zone_t *zone, isc_task_t *task) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -14604,13 +14639,15 @@ dns_zone_settask(dns_zone_t *zone, isc_task_t *task) { } void -dns_zone_gettask(dns_zone_t *zone, isc_task_t **target) { +dns_zone_gettask(dns_zone_t *zone, isc_task_t **target) +{ REQUIRE(DNS_ZONE_VALID(zone)); isc_task_attach(zone->task, target); } void -dns_zone_setidlein(dns_zone_t *zone, uint32_t idlein) { +dns_zone_setidlein(dns_zone_t *zone, uint32_t idlein) +{ REQUIRE(DNS_ZONE_VALID(zone)); if (idlein == 0) @@ -14619,35 +14656,39 @@ dns_zone_setidlein(dns_zone_t *zone, uint32_t idlein) { } uint32_t -dns_zone_getidlein(dns_zone_t *zone) { +dns_zone_getidlein(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->idlein); } void -dns_zone_setidleout(dns_zone_t *zone, uint32_t idleout) { +dns_zone_setidleout(dns_zone_t *zone, uint32_t idleout) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->idleout = idleout; } uint32_t -dns_zone_getidleout(dns_zone_t *zone) { +dns_zone_getidleout(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->idleout); } static void -notify_done(isc_task_t *task, isc_event_t *event) { +notify_done(isc_task_t *task, isc_event_t *event) +{ dns_requestevent_t *revent = (dns_requestevent_t *)event; - dns_notify_t *notify; - isc_result_t result; - dns_message_t *message = NULL; - isc_buffer_t buf; - char rcode[128]; - char addrbuf[ISC_SOCKADDR_FORMATSIZE]; + dns_notify_t * notify; + isc_result_t result; + dns_message_t * message = NULL; + isc_buffer_t buf; + char rcode[128]; + char addrbuf[ISC_SOCKADDR_FORMATSIZE]; UNUSED(task); @@ -14663,14 +14704,15 @@ notify_done(isc_task_t *task, isc_event_t *event) { result = dns_message_create(notify->zone->mctx, DNS_MESSAGE_INTENTPARSE, &message); if (result == ISC_R_SUCCESS) - result = dns_request_getresponse(revent->request, message, - DNS_MESSAGEPARSE_PRESERVEORDER); + result = + dns_request_getresponse(revent->request, message, + DNS_MESSAGEPARSE_PRESERVEORDER); if (result == ISC_R_SUCCESS) result = dns_rcode_totext(message->rcode, &buf); if (result == ISC_R_SUCCESS) notify_log(notify->zone, ISC_LOG_DEBUG(3), - "notify response from %s: %.*s", - addrbuf, (int)buf.used, rcode); + "notify response from %s: %.*s", addrbuf, + (int)buf.used, rcode); else notify_log(notify->zone, ISC_LOG_DEBUG(2), "notify to %s failed: %s", addrbuf, @@ -14703,25 +14745,26 @@ notify_done(isc_task_t *task, isc_event_t *event) { struct secure_event { isc_event_t e; - dns_db_t *db; - uint32_t serial; + dns_db_t * db; + uint32_t serial; }; static void -update_log_cb(void *arg, dns_zone_t *zone, int level, const char *message) { +update_log_cb(void *arg, dns_zone_t *zone, int level, const char *message) +{ UNUSED(arg); dns_zone_log(zone, level, "%s", message); } static isc_result_t sync_secure_journal(dns_zone_t *zone, dns_zone_t *raw, dns_journal_t *journal, - uint32_t start, uint32_t end, - dns_difftuple_t **soatuplep, dns_diff_t *diff) + uint32_t start, uint32_t end, dns_difftuple_t **soatuplep, + dns_diff_t *diff) { - isc_result_t result; + isc_result_t result; dns_difftuple_t *tuple = NULL; - dns_diffop_t op = DNS_DIFFOP_ADD; - int n_soa = 0; + dns_diffop_t op = DNS_DIFFOP_ADD; + int n_soa = 0; REQUIRE(soatuplep != NULL); @@ -14729,12 +14772,10 @@ sync_secure_journal(dns_zone_t *zone, dns_zone_t *raw, dns_journal_t *journal, return (DNS_R_UNCHANGED); CHECK(dns_journal_iter_init(journal, start, end)); - for (result = dns_journal_first_rr(journal); - result == ISC_R_SUCCESS; - result = dns_journal_next_rr(journal)) - { - dns_name_t *name = NULL; - uint32_t ttl; + for (result = dns_journal_first_rr(journal); result == ISC_R_SUCCESS; + result = dns_journal_next_rr(journal)) { + dns_name_t * name = NULL; + uint32_t ttl; dns_rdata_t *rdata = NULL; dns_journal_current_rr(journal, &name, &ttl, &rdata); @@ -14746,10 +14787,9 @@ sync_secure_journal(dns_zone_t *zone, dns_zone_t *raw, dns_journal_t *journal, */ if (*soatuplep != NULL) dns_difftuple_free(soatuplep); - CHECK(dns_difftuple_create(diff->mctx, - DNS_DIFFOP_ADD, - name, ttl, rdata, - soatuplep)); + CHECK(dns_difftuple_create( + diff->mctx, DNS_DIFFOP_ADD, name, ttl, + rdata, soatuplep)); } if (n_soa == 3) n_soa = 1; @@ -14764,8 +14804,7 @@ sync_secure_journal(dns_zone_t *zone, dns_zone_t *raw, dns_journal_t *journal, return (ISC_R_FAILURE); } - if (zone->privatetype != 0 && - rdata->type == zone->privatetype) + if (zone->privatetype != 0 && rdata->type == zone->privatetype) continue; if (rdata->type == dns_rdatatype_nsec || @@ -14784,8 +14823,8 @@ sync_secure_journal(dns_zone_t *zone, dns_zone_t *raw, dns_journal_t *journal, if (result == ISC_R_NOMORE) result = ISC_R_SUCCESS; - failure: - return(result); +failure: + return (result); } static isc_result_t @@ -14793,12 +14832,12 @@ sync_secure_db(dns_zone_t *seczone, dns_zone_t *raw, dns_db_t *secdb, dns_dbversion_t *secver, dns_difftuple_t **soatuple, dns_diff_t *diff) { - isc_result_t result; - dns_db_t *rawdb = NULL; + isc_result_t result; + dns_db_t * rawdb = NULL; dns_dbversion_t *rawver = NULL; dns_difftuple_t *tuple = NULL, *next; dns_difftuple_t *oldtuple = NULL, *newtuple = NULL; - dns_rdata_soa_t oldsoa, newsoa; + dns_rdata_soa_t oldsoa, newsoa; REQUIRE(DNS_ZONE_VALID(seczone)); REQUIRE(soatuple != NULL && *soatuple == NULL); @@ -14815,17 +14854,13 @@ sync_secure_db(dns_zone_t *seczone, dns_zone_t *raw, dns_db_t *secdb, if (result != ISC_R_SUCCESS) return (result); - for (tuple = ISC_LIST_HEAD(diff->tuples); - tuple != NULL; - tuple = next) - { + for (tuple = ISC_LIST_HEAD(diff->tuples); tuple != NULL; tuple = next) { next = ISC_LIST_NEXT(tuple, link); if (tuple->rdata.type == dns_rdatatype_nsec || tuple->rdata.type == dns_rdatatype_rrsig || tuple->rdata.type == dns_rdatatype_dnskey || tuple->rdata.type == dns_rdatatype_nsec3 || - tuple->rdata.type == dns_rdatatype_nsec3param) - { + tuple->rdata.type == dns_rdatatype_nsec3param) { ISC_LIST_UNLINK(diff->tuples, tuple, link); dns_difftuple_free(&tuple); continue; @@ -14843,7 +14878,6 @@ sync_secure_db(dns_zone_t *seczone, dns_zone_t *raw, dns_db_t *secdb, } if (oldtuple != NULL && newtuple != NULL) { - result = dns_rdata_tostruct(&oldtuple->rdata, &oldsoa, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); @@ -14888,18 +14922,19 @@ sync_secure_db(dns_zone_t *seczone, dns_zone_t *raw, dns_db_t *secdb, } static void -receive_secure_serial(isc_task_t *task, isc_event_t *event) { - static char me[] = "receive_secure_serial"; - isc_result_t result = ISC_R_SUCCESS; - dns_journal_t *rjournal = NULL; - dns_journal_t *sjournal = NULL; - uint32_t start, end; - dns_zone_t *zone; +receive_secure_serial(isc_task_t *task, isc_event_t *event) +{ + static char me[] = "receive_secure_serial"; + isc_result_t result = ISC_R_SUCCESS; + dns_journal_t * rjournal = NULL; + dns_journal_t * sjournal = NULL; + uint32_t start, end; + dns_zone_t * zone; dns_difftuple_t *tuple = NULL, *soatuple = NULL; dns_update_log_t log = { update_log_cb, NULL }; - uint32_t newserial = 0, desired = 0; - isc_time_t timenow; - int level = ISC_LOG_ERROR; + uint32_t newserial = 0, desired = 0; + isc_time_t timenow; + int level = ISC_LOG_ERROR; UNUSED(task); @@ -14920,7 +14955,7 @@ receive_secure_serial(isc_task_t *task, isc_event_t *event) { return; } - nextevent: +nextevent: if (zone->rss_event != NULL) { INSIST(zone->rss_event == event); UNLOCK_ZONE(zone); @@ -15013,13 +15048,12 @@ receive_secure_serial(isc_task_t *task, isc_event_t *event) { if (soatuple != NULL) { uint32_t oldserial; - CHECK(dns_db_createsoatuple(zone->rss_db, - zone->rss_oldver, - zone->rss_diff.mctx, - DNS_DIFFOP_DEL, &tuple)); + CHECK(dns_db_createsoatuple( + zone->rss_db, zone->rss_oldver, + zone->rss_diff.mctx, DNS_DIFFOP_DEL, &tuple)); oldserial = dns_soa_getserial(&tuple->rdata); newserial = desired = - dns_soa_getserial(&soatuple->rdata); + dns_soa_getserial(&soatuple->rdata); if (!isc_serial_gt(newserial, oldserial)) { newserial = oldserial + 1; if (newserial == 0) { @@ -15036,13 +15070,10 @@ receive_secure_serial(isc_task_t *task, isc_event_t *event) { &zone->rss_diff, zone->mctx, zone->updatemethod)); } - } - result = dns_update_signaturesinc(&log, zone, zone->rss_db, - zone->rss_oldver, zone->rss_newver, - &zone->rss_diff, - zone->sigvalidityinterval, - &zone->rss_state); + result = dns_update_signaturesinc( + &log, zone, zone->rss_db, zone->rss_oldver, zone->rss_newver, + &zone->rss_diff, zone->sigvalidityinterval, &zone->rss_state); if (result == DNS_R_CONTINUE) { if (rjournal != NULL) { dns_journal_destroy(&rjournal); @@ -15092,7 +15123,7 @@ receive_secure_serial(isc_task_t *task, isc_event_t *event) { newserial, desired); } - failure: +failure: isc_event_free(&zone->rss_event); event = ISC_LIST_HEAD(zone->rss_events); @@ -15145,9 +15176,10 @@ receive_secure_serial(isc_task_t *task, isc_event_t *event) { } static isc_result_t -zone_send_secureserial(dns_zone_t *zone, uint32_t serial) { +zone_send_secureserial(dns_zone_t *zone, uint32_t serial) +{ isc_event_t *e; - dns_zone_t *dummy = NULL; + dns_zone_t * dummy = NULL; e = isc_event_allocate(zone->secure->mctx, zone, DNS_EVENT_ZONESECURESERIAL, @@ -15167,14 +15199,14 @@ checkandaddsoa(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, dns_rdataset_t *rdataset, uint32_t oldserial) { dns_rdata_soa_t soa; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdatalist_t temprdatalist; - dns_rdataset_t temprdataset; - isc_buffer_t b; - isc_result_t result; - unsigned char buf[DNS_SOA_BUFFERSIZE]; + dns_rdataset_t temprdataset; + isc_buffer_t b; + isc_result_t result; + unsigned char buf[DNS_SOA_BUFFERSIZE]; dns_fixedname_t fixed; - dns_name_t *name; + dns_name_t * name; result = dns_rdataset_first(rdataset); RUNTIME_CHECK(result == ISC_R_SUCCESS); @@ -15216,8 +15248,8 @@ checkandaddsoa(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, RUNTIME_CHECK(result == ISC_R_SUCCESS); dns_rdataset_getownercase(rdataset, name); dns_rdataset_setownercase(&temprdataset, name); - return (dns_db_addrdataset(db, node, version, 0, &temprdataset, - 0, NULL)); + return (dns_db_addrdataset(db, node, version, 0, &temprdataset, 0, + NULL)); } /* @@ -15225,16 +15257,17 @@ checkandaddsoa(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, * nsecparam_t data from a zone. */ static isc_result_t -save_nsec3param(dns_zone_t *zone, nsec3paramlist_t *nsec3list) { - isc_result_t result; - dns_dbnode_t *node = NULL; - dns_rdataset_t rdataset, prdataset; +save_nsec3param(dns_zone_t *zone, nsec3paramlist_t *nsec3list) +{ + isc_result_t result; + dns_dbnode_t * node = NULL; + dns_rdataset_t rdataset, prdataset; dns_dbversion_t *version = NULL; - nsec3param_t *nsec3param = NULL; - nsec3param_t *nsec3p = NULL; - nsec3param_t *next; - dns_db_t *db = NULL; - unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE]; + nsec3param_t * nsec3param = NULL; + nsec3param_t * nsec3p = NULL; + nsec3param_t * next; + dns_db_t * db = NULL; + unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE]; REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(nsec3list != NULL); @@ -15260,10 +15293,8 @@ save_nsec3param(dns_zone_t *zone, nsec3paramlist_t *nsec3list) { * is why we use an nsec3list, even tho we will usually only have * one) */ - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(&rdataset)) - { + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(&rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_t private = DNS_RDATA_INIT; @@ -15278,14 +15309,14 @@ save_nsec3param(dns_zone_t *zone, nsec3paramlist_t *nsec3list) { * now transfer the data from the rdata to * the nsec3param */ - dns_nsec3param_toprivate(&rdata, &private, - zone->privatetype, nsec3param->data, + dns_nsec3param_toprivate(&rdata, &private, zone->privatetype, + nsec3param->data, sizeof(nsec3param->data)); nsec3param->length = private.length; ISC_LIST_APPEND(*nsec3list, nsec3param, link); } - getprivate: +getprivate: result = dns_db_findrdataset(db, node, version, zone->privatetype, dns_rdatatype_none, 0, &prdataset, NULL); if (result != ISC_R_SUCCESS) @@ -15296,10 +15327,8 @@ save_nsec3param(dns_zone_t *zone, nsec3paramlist_t *nsec3list) { * using dns_nsec3param_fromprivate(), do the right thing based on * CREATE and REMOVE flags */ - for (result = dns_rdataset_first(&prdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(&prdataset)) - { + for (result = dns_rdataset_first(&prdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(&prdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_t private = DNS_RDATA_INIT; @@ -15311,8 +15340,8 @@ save_nsec3param(dns_zone_t *zone, nsec3paramlist_t *nsec3list) { /* * Do we have a valid private record? */ - if (!dns_nsec3param_fromprivate(&private, &rdata, - buf, sizeof(buf))) + if (!dns_nsec3param_fromprivate(&private, &rdata, buf, + sizeof(buf))) continue; /* @@ -15324,17 +15353,15 @@ save_nsec3param(dns_zone_t *zone, nsec3paramlist_t *nsec3list) { */ rdata.data[1] = 0; - for (nsec3p = ISC_LIST_HEAD(*nsec3list); - nsec3p != NULL; - nsec3p = next) - { + for (nsec3p = ISC_LIST_HEAD(*nsec3list); nsec3p != NULL; + nsec3p = next) { next = ISC_LIST_NEXT(nsec3p, link); if (nsec3p->length == rdata.length + 1 && memcmp(rdata.data, nsec3p->data + 1, nsec3p->length - 1) == 0) { - ISC_LIST_UNLINK(*nsec3list, - nsec3p, link); + ISC_LIST_UNLINK(*nsec3list, nsec3p, + link); isc_mem_put(zone->mctx, nsec3p, sizeof(nsec3param_t)); } @@ -15355,11 +15382,11 @@ save_nsec3param(dns_zone_t *zone, nsec3paramlist_t *nsec3list) { ISC_LIST_APPEND(*nsec3list, nsec3param, link); } - done: +done: if (result == ISC_R_NOMORE || result == ISC_R_NOTFOUND) result = ISC_R_SUCCESS; - failure: +failure: if (node != NULL) dns_db_detachnode(db, &node); if (version != NULL) @@ -15380,9 +15407,9 @@ static isc_result_t restore_nsec3param(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version, nsec3paramlist_t *nsec3list) { - isc_result_t result = ISC_R_SUCCESS; - dns_diff_t diff; - dns_rdata_t rdata; + isc_result_t result = ISC_R_SUCCESS; + dns_diff_t diff; + dns_rdata_t rdata; nsec3param_t *nsec3p = NULL; nsec3param_t *next; @@ -15396,10 +15423,8 @@ restore_nsec3param(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version, * and CREATE flags, and the add the record to the apex of the tree * in db. */ - for (nsec3p = ISC_LIST_HEAD(*nsec3list); - nsec3p != NULL; - nsec3p = next) - { + for (nsec3p = ISC_LIST_HEAD(*nsec3list); nsec3p != NULL; + nsec3p = next) { next = ISC_LIST_NEXT(nsec3p, link); dns_rdata_init(&rdata); nsec3p->data[2] = DNS_NSEC3FLAG_CREATE | DNS_NSEC3FLAG_INITIAL; @@ -15423,12 +15448,12 @@ copy_non_dnssec_records(dns_zone_t *zone, dns_db_t *db, dns_db_t *version, dns_db_t *rawdb, dns_dbiterator_t *dbiterator, unsigned int *oldserial) { - dns_dbnode_t *rawnode = NULL, *node = NULL; - dns_fixedname_t fixed; - dns_name_t *name = dns_fixedname_initname(&fixed); - dns_rdataset_t rdataset; + dns_dbnode_t * rawnode = NULL, *node = NULL; + dns_fixedname_t fixed; + dns_name_t * name = dns_fixedname_initname(&fixed); + dns_rdataset_t rdataset; dns_rdatasetiter_t *rdsit = NULL; - isc_result_t result; + isc_result_t result; result = dns_dbiterator_current(dbiterator, &rawnode, name); if (result != ISC_R_SUCCESS) { @@ -15447,10 +15472,8 @@ copy_non_dnssec_records(dns_zone_t *zone, dns_db_t *db, dns_db_t *version, dns_rdataset_init(&rdataset); - for (result = dns_rdatasetiter_first(rdsit); - result == ISC_R_SUCCESS; - result = dns_rdatasetiter_next(rdsit)) - { + for (result = dns_rdatasetiter_first(rdsit); result == ISC_R_SUCCESS; + result = dns_rdatasetiter_next(rdsit)) { dns_rdatasetiter_current(rdsit, &rdataset); if (rdataset.type == dns_rdatatype_nsec || rdataset.type == dns_rdatatype_rrsig || @@ -15467,12 +15490,11 @@ copy_non_dnssec_records(dns_zone_t *zone, dns_db_t *db, dns_db_t *version, } } if (rdataset.type == dns_rdatatype_soa && oldserial != NULL) { - result = checkandaddsoa(db, node, version, - &rdataset, *oldserial); + result = checkandaddsoa(db, node, version, &rdataset, + *oldserial); } else { - result = dns_db_addrdataset(db, node, version, - 0, &rdataset, 0, - NULL); + result = dns_db_addrdataset(db, node, version, 0, + &rdataset, 0, NULL); } dns_rdataset_disassociate(&rdataset); if (result != ISC_R_SUCCESS) { @@ -15483,7 +15505,7 @@ copy_non_dnssec_records(dns_zone_t *zone, dns_db_t *db, dns_db_t *version, result = ISC_R_SUCCESS; } - cleanup: +cleanup: if (rdsit != NULL) { dns_rdatasetiter_destroy(&rdsit); } @@ -15497,17 +15519,18 @@ copy_non_dnssec_records(dns_zone_t *zone, dns_db_t *db, dns_db_t *version, } static void -receive_secure_db(isc_task_t *task, isc_event_t *event) { - isc_result_t result; - dns_zone_t *zone; - dns_db_t *rawdb, *db = NULL; +receive_secure_db(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result; + dns_zone_t * zone; + dns_db_t * rawdb, *db = NULL; dns_dbiterator_t *dbiterator = NULL; - dns_dbversion_t *version = NULL; - isc_time_t loadtime; - unsigned int oldserial = 0, *oldserialp = NULL; - nsec3paramlist_t nsec3list; - isc_event_t *setnsec3param_event; - dns_zone_t *dummy; + dns_dbversion_t * version = NULL; + isc_time_t loadtime; + unsigned int oldserial = 0, *oldserialp = NULL; + nsec3paramlist_t nsec3list; + isc_event_t * setnsec3param_event; + dns_zone_t * dummy; UNUSED(task); @@ -15543,8 +15566,8 @@ receive_secure_db(isc_task_t *task, isc_event_t *event) { } ZONEDB_UNLOCK(&zone->dblock, isc_rwlocktype_read); - result = dns_db_create(zone->mctx, zone->db_argv[0], - &zone->origin, dns_dbtype_zone, zone->rdclass, + result = dns_db_create(zone->mctx, zone->db_argv[0], &zone->origin, + dns_dbtype_zone, zone->rdclass, zone->db_argc - 1, zone->db_argv + 1, &db); if (result != ISC_R_SUCCESS) { goto failure; @@ -15565,10 +15588,8 @@ receive_secure_db(isc_task_t *task, isc_event_t *event) { goto failure; } - for (result = dns_dbiterator_first(dbiterator); - result == ISC_R_SUCCESS; - result = dns_dbiterator_next(dbiterator)) - { + for (result = dns_dbiterator_first(dbiterator); result == ISC_R_SUCCESS; + result = dns_dbiterator_next(dbiterator)) { result = copy_non_dnssec_records(zone, db, version, rawdb, dbiterator, oldserialp); if (result != ISC_R_SUCCESS) { @@ -15615,7 +15636,7 @@ receive_secure_db(isc_task_t *task, isc_event_t *event) { isc_task_send(zone->task, &setnsec3param_event); } - failure: +failure: UNLOCK_ZONE(zone); if (dbiterator != NULL) { dns_dbiterator_destroy(&dbiterator); @@ -15644,13 +15665,13 @@ receive_secure_db(isc_task_t *task, isc_event_t *event) { } static isc_result_t -zone_send_securedb(dns_zone_t *zone, dns_db_t *db) { +zone_send_securedb(dns_zone_t *zone, dns_db_t *db) +{ isc_event_t *e; - dns_db_t *dummy = NULL; - dns_zone_t *secure = NULL; + dns_db_t * dummy = NULL; + dns_zone_t * secure = NULL; - e = isc_event_allocate(zone->secure->mctx, zone, - DNS_EVENT_ZONESECUREDB, + e = isc_event_allocate(zone->secure->mctx, zone, DNS_EVENT_ZONESECUREDB, receive_secure_db, zone->secure, sizeof(struct secure_event)); dns_db_attach(db, &dummy); @@ -15663,12 +15684,13 @@ zone_send_securedb(dns_zone_t *zone, dns_db_t *db) { } isc_result_t -dns_zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool dump) { +dns_zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool dump) +{ isc_result_t result; - dns_zone_t *secure = NULL; + dns_zone_t * secure = NULL; REQUIRE(DNS_ZONE_VALID(zone)); - again: +again: LOCK_ZONE(zone); if (inline_raw(zone)) { secure = zone->secure; @@ -15691,11 +15713,12 @@ dns_zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool dump) { } static isc_result_t -zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool dump) { +zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool dump) +{ dns_dbversion_t *ver; - isc_result_t result; - unsigned int soacount = 0; - unsigned int nscount = 0; + isc_result_t result; + unsigned int soacount = 0; + unsigned int nscount = 0; /* * 'zone' and 'zone->db' locked by caller. @@ -15705,12 +15728,12 @@ zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool dump) { if (inline_raw(zone)) REQUIRE(LOCKED_ZONE(zone->secure)); - result = zone_get_from_db(zone, db, &nscount, &soacount, - NULL, NULL, NULL, NULL, NULL, NULL); + result = zone_get_from_db(zone, db, &nscount, &soacount, NULL, NULL, + NULL, NULL, NULL, NULL); if (result == ISC_R_SUCCESS) { if (soacount != 1) { - dns_zone_log(zone, ISC_LOG_ERROR, - "has %d SOA records", soacount); + dns_zone_log(zone, ISC_LOG_ERROR, "has %d SOA records", + soacount); result = DNS_R_BADZONE; } if (nscount == 0 && zone->type != dns_zone_key) { @@ -15721,8 +15744,8 @@ zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool dump) { return (result); } else { dns_zone_log(zone, ISC_LOG_ERROR, - "retrieving SOA and NS records failed: %s", - dns_result_totext(result)); + "retrieving SOA and NS records failed: %s", + dns_result_totext(result)); return (result); } @@ -15740,8 +15763,7 @@ zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool dump) { */ if (zone->db != NULL && zone->journal != NULL && DNS_ZONE_OPTION(zone, DNS_ZONEOPT_IXFRFROMDIFFS) && - !DNS_ZONE_FLAG(zone, DNS_ZONEFLG_FORCEXFER)) - { + !DNS_ZONE_FLAG(zone, DNS_ZONEFLG_FORCEXFER)) { uint32_t serial, oldserial; dns_zone_log(zone, ISC_LOG_DEBUG(3), "generating diffs"); @@ -15764,8 +15786,8 @@ zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool dump) { RUNTIME_CHECK(soacount > 0U); if ((zone->type == dns_zone_slave || (zone->type == dns_zone_redirect && - zone->masters != NULL)) - && !isc_serial_gt(serial, oldserial)) { + zone->masters != NULL)) && + !isc_serial_gt(serial, oldserial)) { uint32_t serialmin, serialmax; serialmin = (oldserial + 1) & 0xffffffffU; serialmax = (oldserial + 0x7fffffffU) & 0xffffffffU; @@ -15784,7 +15806,8 @@ zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool dump) { strerror_r(errno, strbuf, sizeof(strbuf)); dns_zone_log(zone, ISC_LOG_ERROR, "ixfr-from-differences: failed: " - "%s", strbuf); + "%s", + strbuf); goto fallback; } if (dump) @@ -15794,7 +15817,7 @@ zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool dump) { if (zone->type == dns_zone_master && inline_raw(zone)) zone_send_secureserial(zone, serial); } else { - fallback: + fallback: if (dump && zone->masterfile != NULL) { /* * If DNS_ZONEFLG_FORCEXFER was set we don't want @@ -15804,8 +15827,7 @@ zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool dump) { remove(zone->masterfile) < 0 && errno != ENOENT) { char strbuf[ISC_STRERRORSIZE]; strerror_r(errno, strbuf, sizeof(strbuf)); - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_GENERAL, + isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_ZONE, ISC_LOG_WARNING, "unable to remove masterfile " @@ -15835,8 +15857,7 @@ zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool dump) { if (remove(zone->journal) < 0 && errno != ENOENT) { char strbuf[ISC_STRERRORSIZE]; strerror_r(errno, strbuf, sizeof(strbuf)); - isc_log_write(dns_lctx, - DNS_LOGCATEGORY_GENERAL, + isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_ZONE, ISC_LOG_WARNING, "unable to remove journal " @@ -15857,17 +15878,18 @@ zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool dump) { zone_detachdb(zone); zone_attachdb(zone, db); dns_db_settask(zone->db, zone->task); - DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_LOADED|DNS_ZONEFLG_NEEDNOTIFY); + DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_LOADED | DNS_ZONEFLG_NEEDNOTIFY); return (ISC_R_SUCCESS); - fail: +fail: dns_db_closeversion(db, &ver, false); return (result); } /* The caller must hold the dblock as a writer. */ static inline void -zone_attachdb(dns_zone_t *zone, dns_db_t *db) { +zone_attachdb(dns_zone_t *zone, dns_db_t *db) +{ REQUIRE(zone->db == NULL && db != NULL); dns_db_attach(db, &zone->db); @@ -15875,22 +15897,24 @@ zone_attachdb(dns_zone_t *zone, dns_db_t *db) { /* The caller must hold the dblock as a writer. */ static inline void -zone_detachdb(dns_zone_t *zone) { +zone_detachdb(dns_zone_t *zone) +{ REQUIRE(zone->db != NULL); dns_db_detach(&zone->db); } static void -zone_xfrdone(dns_zone_t *zone, isc_result_t result) { - isc_time_t now; - bool again = false; +zone_xfrdone(dns_zone_t *zone, isc_result_t result) +{ + isc_time_t now; + bool again = false; unsigned int soacount; unsigned int nscount; - uint32_t serial, refresh, retry, expire, minimum; + uint32_t serial, refresh, retry, expire, minimum; isc_result_t xfrresult = result; - bool free_needed; - dns_zone_t *secure = NULL; + bool free_needed; + dns_zone_t * secure = NULL; REQUIRE(DNS_ZONE_VALID(zone)); @@ -15902,7 +15926,7 @@ zone_xfrdone(dns_zone_t *zone, isc_result_t result) { * could result in a deadlock due to a LOR so we will spin if we * can't obtain the both locks. */ - again: +again: LOCK_ZONE(zone); if (inline_raw(zone)) { secure = zone->secure; @@ -15943,15 +15967,16 @@ zone_xfrdone(dns_zone_t *zone, isc_result_t result) { nscount = 0; soacount = 0; INSIST(zone->db != NULL); - result = zone_get_from_db(zone, zone->db, &nscount, - &soacount, &serial, &refresh, - &retry, &expire, &minimum, NULL); + result = zone_get_from_db(zone, zone->db, &nscount, &soacount, + &serial, &refresh, &retry, &expire, + &minimum, NULL); ZONEDB_UNLOCK(&zone->dblock, isc_rwlocktype_read); if (result == ISC_R_SUCCESS) { if (soacount != 1) dns_zone_log(zone, ISC_LOG_ERROR, "transferred zone " - "has %d SOA record%s", soacount, + "has %d SOA record%s", + soacount, (soacount != 0) ? "s" : ""); if (nscount == 0) { dns_zone_log(zone, ISC_LOG_ERROR, @@ -15968,8 +15993,8 @@ zone_xfrdone(dns_zone_t *zone, isc_result_t result) { } zone->refresh = RANGE(refresh, zone->minrefresh, zone->maxrefresh); - zone->retry = RANGE(retry, zone->minretry, - zone->maxretry); + zone->retry = + RANGE(retry, zone->minretry, zone->maxretry); zone->expire = RANGE(expire, zone->refresh + zone->retry, DNS_MAX_EXPIRE); @@ -16019,8 +16044,7 @@ zone_xfrdone(dns_zone_t *zone, isc_result_t result) { result = ISC_R_FAILURE; if (zone->journal != NULL) result = isc_file_settime(zone->journal, &now); - if (result != ISC_R_SUCCESS && - zone->masterfile != NULL) + if (result != ISC_R_SUCCESS && zone->masterfile != NULL) result = isc_file_settime(zone->masterfile, &now); @@ -16029,7 +16053,7 @@ zone_xfrdone(dns_zone_t *zone, isc_result_t result) { delay = 0; if ((result == ISC_R_SUCCESS || - result == ISC_R_FILENOTFOUND) && + result == ISC_R_FILENOTFOUND) && zone->masterfile != NULL) zone_needdump(zone, delay); else if (result != ISC_R_SUCCESS) @@ -16071,13 +16095,15 @@ zone_xfrdone(dns_zone_t *zone, isc_result_t result) { if (DNS_ZONE_OPTION(zone, DNS_ZONEOPT_USEALTXFRSRC) && !DNS_ZONE_FLAG(zone, DNS_ZONEFLG_USEALTXFRSRC)) { DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_REFRESH); - DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_USEALTXFRSRC); + DNS_ZONE_SETFLAG(zone, + DNS_ZONEFLG_USEALTXFRSRC); while (zone->curmaster < zone->masterscnt && zone->mastersok[zone->curmaster]) zone->curmaster++; again = true; } else - DNS_ZONE_CLRFLAG(zone, DNS_ZONEFLG_USEALTXFRSRC); + DNS_ZONE_CLRFLAG(zone, + DNS_ZONEFLG_USEALTXFRSRC); } else { DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_REFRESH); again = true; @@ -16143,12 +16169,13 @@ zone_xfrdone(dns_zone_t *zone, isc_result_t result) { } static void -zone_loaddone(void *arg, isc_result_t result) { - static char me[] = "zone_loaddone"; - dns_load_t *load = arg; - dns_zone_t *zone; +zone_loaddone(void *arg, isc_result_t result) +{ + static char me[] = "zone_loaddone"; + dns_load_t * load = arg; + dns_zone_t * zone; isc_result_t tresult; - dns_zone_t *secure = NULL; + dns_zone_t * secure = NULL; REQUIRE(DNS_LOAD_VALID(load)); zone = load->zone; @@ -16172,7 +16199,7 @@ zone_loaddone(void *arg, isc_result_t result) { /* * Lock hierarchy: zmgr, zone, raw. */ - again: +again: LOCK_ZONE(zone); INSIST(zone != zone->raw); if (inline_secure(zone)) @@ -16195,7 +16222,7 @@ zone_loaddone(void *arg, isc_result_t result) { * Leave the zone frozen if the reload fails. */ if ((result == ISC_R_SUCCESS || result == DNS_R_SEENINCLUDE) && - DNS_ZONE_FLAG(zone, DNS_ZONEFLG_THAW)) + DNS_ZONE_FLAG(zone, DNS_ZONEFLG_THAW)) zone->update_disabled = false; DNS_ZONE_CLRFLAG(zone, DNS_ZONEFLG_THAW); if (inline_secure(zone)) @@ -16213,7 +16240,8 @@ zone_loaddone(void *arg, isc_result_t result) { } void -dns_zone_getssutable(dns_zone_t *zone, dns_ssutable_t **table) { +dns_zone_getssutable(dns_zone_t *zone, dns_ssutable_t **table) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(table != NULL); REQUIRE(*table == NULL); @@ -16225,7 +16253,8 @@ dns_zone_getssutable(dns_zone_t *zone, dns_ssutable_t **table) { } void -dns_zone_setssutable(dns_zone_t *zone, dns_ssutable_t *table) { +dns_zone_setssutable(dns_zone_t *zone, dns_ssutable_t *table) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -16237,35 +16266,40 @@ dns_zone_setssutable(dns_zone_t *zone, dns_ssutable_t *table) { } void -dns_zone_setsigvalidityinterval(dns_zone_t *zone, uint32_t interval) { +dns_zone_setsigvalidityinterval(dns_zone_t *zone, uint32_t interval) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->sigvalidityinterval = interval; } uint32_t -dns_zone_getsigvalidityinterval(dns_zone_t *zone) { +dns_zone_getsigvalidityinterval(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->sigvalidityinterval); } void -dns_zone_setkeyvalidityinterval(dns_zone_t *zone, uint32_t interval) { +dns_zone_setkeyvalidityinterval(dns_zone_t *zone, uint32_t interval) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->keyvalidityinterval = interval; } uint32_t -dns_zone_getkeyvalidityinterval(dns_zone_t *zone) { +dns_zone_getkeyvalidityinterval(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->keyvalidityinterval); } void -dns_zone_setsigresigninginterval(dns_zone_t *zone, uint32_t interval) { +dns_zone_setsigresigninginterval(dns_zone_t *zone, uint32_t interval) +{ isc_time_t now; REQUIRE(DNS_ZONE_VALID(zone)); @@ -16281,16 +16315,18 @@ dns_zone_setsigresigninginterval(dns_zone_t *zone, uint32_t interval) { } uint32_t -dns_zone_getsigresigninginterval(dns_zone_t *zone) { +dns_zone_getsigresigninginterval(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->sigresigninginterval); } static void -queue_xfrin(dns_zone_t *zone) { - const char me[] = "queue_xfrin"; - isc_result_t result; +queue_xfrin(dns_zone_t *zone) +{ + const char me[] = "queue_xfrin"; + isc_result_t result; dns_zonemgr_t *zmgr = zone->zmgr; ENTER; @@ -16320,20 +16356,21 @@ queue_xfrin(dns_zone_t *zone) { * to go ahead and start the transfer. */ static void -got_transfer_quota(isc_task_t *task, isc_event_t *event) { - isc_result_t result = ISC_R_SUCCESS; - dns_peer_t *peer = NULL; - char master[ISC_SOCKADDR_FORMATSIZE]; - char source[ISC_SOCKADDR_FORMATSIZE]; +got_transfer_quota(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result = ISC_R_SUCCESS; + dns_peer_t * peer = NULL; + char master[ISC_SOCKADDR_FORMATSIZE]; + char source[ISC_SOCKADDR_FORMATSIZE]; dns_rdatatype_t xfrtype; - dns_zone_t *zone = event->ev_arg; - isc_netaddr_t masterip; - isc_sockaddr_t sourceaddr; - isc_sockaddr_t masteraddr; - isc_time_t now; - const char *soa_before = ""; - isc_dscp_t dscp = -1; - bool loaded; + dns_zone_t * zone = event->ev_arg; + isc_netaddr_t masterip; + isc_sockaddr_t sourceaddr; + isc_sockaddr_t masteraddr; + isc_time_t now; + const char * soa_before = ""; + isc_dscp_t dscp = -1; + bool loaded; UNUSED(task); @@ -16348,8 +16385,7 @@ got_transfer_quota(isc_task_t *task, isc_event_t *event) { isc_sockaddr_format(&zone->masteraddr, master, sizeof(master)); if (dns_zonemgr_unreachable(zone->zmgr, &zone->masteraddr, - &zone->sourceaddr, &now)) - { + &zone->sourceaddr, &now)) { isc_sockaddr_format(&zone->sourceaddr, source, sizeof(source)); dns_zone_logc(zone, DNS_LOGCATEGORY_XFER_IN, ISC_LOG_INFO, "got_transfer_quota: skipping zone transfer as " @@ -16374,17 +16410,20 @@ got_transfer_quota(isc_task_t *task, isc_event_t *event) { if (!loaded) { dns_zone_logc(zone, DNS_LOGCATEGORY_XFER_IN, ISC_LOG_DEBUG(1), "no database exists yet, requesting AXFR of " - "initial version from %s", master); + "initial version from %s", + master); xfrtype = dns_rdatatype_axfr; } else if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_FORCEXFER)) { dns_zone_logc(zone, DNS_LOGCATEGORY_XFER_IN, ISC_LOG_DEBUG(1), "forced reload, requesting AXFR of " - "initial version from %s", master); + "initial version from %s", + master); xfrtype = dns_rdatatype_axfr; } else if (DNS_ZONE_FLAG(zone, DNS_ZONEFLAG_NOIXFR)) { dns_zone_logc(zone, DNS_LOGCATEGORY_XFER_IN, ISC_LOG_DEBUG(1), "retrying with AXFR from %s due to " - "previous IXFR failure", master); + "previous IXFR failure", + master); xfrtype = dns_rdatatype_axfr; LOCK_ZONE(zone); DNS_ZONE_CLRFLAG(zone, DNS_ZONEFLAG_NOIXFR); @@ -16397,7 +16436,8 @@ got_transfer_quota(isc_task_t *task, isc_event_t *event) { use_ixfr = zone->requestixfr; if (use_ixfr == false) { dns_zone_logc(zone, DNS_LOGCATEGORY_XFER_IN, - ISC_LOG_DEBUG(1), "IXFR disabled, " + ISC_LOG_DEBUG(1), + "IXFR disabled, " "requesting %sAXFR from %s", soa_before, master); if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_SOABEFOREAXFR)) @@ -16438,7 +16478,7 @@ got_transfer_quota(isc_task_t *task, isc_event_t *event) { } if (zone->masterdscps != NULL) - dscp = zone->masterdscps[zone->curmaster]; + dscp = zone->masterdscps[zone->curmaster]; LOCK_ZONE(zone); masteraddr = zone->masteraddr; @@ -16458,8 +16498,8 @@ got_transfer_quota(isc_task_t *task, isc_event_t *event) { } UNLOCK_ZONE(zone); INSIST(isc_sockaddr_pf(&masteraddr) == isc_sockaddr_pf(&sourceaddr)); - result = dns_xfrin_create(zone, xfrtype, &masteraddr, &sourceaddr, - dscp, zone->tsigkey, zone->mctx, + result = dns_xfrin_create(zone, xfrtype, &masteraddr, &sourceaddr, dscp, + zone->tsigkey, zone->mctx, zone->zmgr->timermgr, zone->zmgr->socketmgr, zone->task, zone_xfrdone, &zone->xfr); if (result == ISC_R_SUCCESS) { @@ -16477,7 +16517,7 @@ got_transfer_quota(isc_task_t *task, isc_event_t *event) { } UNLOCK_ZONE(zone); } - cleanup: +cleanup: /* * Any failure in this function is handled like a failed * zone transfer. This ensures that we get removed from @@ -16494,8 +16534,8 @@ got_transfer_quota(isc_task_t *task, isc_event_t *event) { */ static void -forward_destroy(dns_forward_t *forward) { - +forward_destroy(dns_forward_t *forward) +{ forward->magic = 0; if (forward->request != NULL) dns_request_destroy(&forward->request); @@ -16512,10 +16552,11 @@ forward_destroy(dns_forward_t *forward) { } static isc_result_t -sendtomaster(dns_forward_t *forward) { - isc_result_t result; +sendtomaster(dns_forward_t *forward) +{ + isc_result_t result; isc_sockaddr_t src; - isc_dscp_t dscp = -1; + isc_dscp_t dscp = -1; LOCK_ZONE(forward->zone); @@ -16550,31 +16591,30 @@ sendtomaster(dns_forward_t *forward) { goto unlock; } result = dns_request_createraw(forward->zone->view->requestmgr, - forward->msgbuf, - &src, &forward->addr, dscp, - forward->options, 15 /* XXX */, - 0, 0, forward->zone->task, - forward_callback, forward, - &forward->request); + forward->msgbuf, &src, &forward->addr, + dscp, forward->options, 15 /* XXX */, 0, + 0, forward->zone->task, forward_callback, + forward, &forward->request); if (result == ISC_R_SUCCESS) { if (!ISC_LINK_LINKED(forward, link)) ISC_LIST_APPEND(forward->zone->forwards, forward, link); } - unlock: +unlock: UNLOCK_ZONE(forward->zone); return (result); } static void -forward_callback(isc_task_t *task, isc_event_t *event) { - const char me[] = "forward_callback"; +forward_callback(isc_task_t *task, isc_event_t *event) +{ + const char me[] = "forward_callback"; dns_requestevent_t *revent = (dns_requestevent_t *)event; - dns_message_t *msg = NULL; - char master[ISC_SOCKADDR_FORMATSIZE]; - isc_result_t result; - dns_forward_t *forward; - dns_zone_t *zone; + dns_message_t * msg = NULL; + char master[ISC_SOCKADDR_FORMATSIZE]; + isc_result_t result; + dns_forward_t * forward; + dns_zone_t * zone; UNUSED(task); @@ -16600,7 +16640,7 @@ forward_callback(isc_task_t *task, isc_event_t *event) { result = dns_request_getresponse(revent->request, msg, DNS_MESSAGEPARSE_PRESERVEORDER | - DNS_MESSAGEPARSE_CLONEBUFFER); + DNS_MESSAGEPARSE_CLONEBUFFER); if (result != ISC_R_SUCCESS) goto next_master; @@ -16614,7 +16654,7 @@ forward_callback(isc_task_t *task, isc_event_t *event) { case dns_rcode_nxrrset: case dns_rcode_refused: case dns_rcode_nxdomain: { - char rcode[128]; + char rcode[128]; isc_buffer_t rb; isc_buffer_init(&rb, rcode, sizeof(rcode)); @@ -16629,7 +16669,7 @@ forward_callback(isc_task_t *task, isc_event_t *event) { /* These should not occur if the masters/zone are valid. */ case dns_rcode_notzone: case dns_rcode_notauth: { - char rcode[128]; + char rcode[128]; isc_buffer_t rb; isc_buffer_init(&rb, rcode, sizeof(rcode)); @@ -16658,7 +16698,7 @@ forward_callback(isc_task_t *task, isc_event_t *event) { isc_event_free(&event); return; - next_master: +next_master: if (msg != NULL) dns_message_destroy(&msg); isc_event_free(&event); @@ -16679,8 +16719,8 @@ dns_zone_forwardupdate(dns_zone_t *zone, dns_message_t *msg, dns_updatecallback_t callback, void *callback_arg) { dns_forward_t *forward; - isc_result_t result; - isc_region_t *mr; + isc_result_t result; + isc_region_t * mr; REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(msg != NULL); @@ -16720,7 +16760,7 @@ dns_zone_forwardupdate(dns_zone_t *zone, dns_message_t *msg, dns_zone_iattach(zone, &forward->zone); result = sendtomaster(forward); - cleanup: +cleanup: if (result != ISC_R_SUCCESS) { forward_destroy(forward); } @@ -16728,7 +16768,8 @@ dns_zone_forwardupdate(dns_zone_t *zone, dns_message_t *msg, } isc_result_t -dns_zone_next(dns_zone_t *zone, dns_zone_t **next) { +dns_zone_next(dns_zone_t *zone, dns_zone_t **next) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(next != NULL && *next == NULL); @@ -16740,7 +16781,8 @@ dns_zone_next(dns_zone_t *zone, dns_zone_t **next) { } isc_result_t -dns_zone_first(dns_zonemgr_t *zmgr, dns_zone_t **first) { +dns_zone_first(dns_zonemgr_t *zmgr, dns_zone_t **first) +{ REQUIRE(DNS_ZONEMGR_VALID(zmgr)); REQUIRE(first != NULL && *first == NULL); @@ -16761,7 +16803,7 @@ dns_zonemgr_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr, dns_zonemgr_t **zmgrp) { dns_zonemgr_t *zmgr; - isc_result_t result; + isc_result_t result; zmgr = isc_mem_get(mctx, sizeof(*zmgr)); zmgr->mctx = NULL; @@ -16844,30 +16886,31 @@ dns_zonemgr_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr, free_iolock: isc_mutex_destroy(&zmgr->iolock); #endif - free_startupnotifyrl: +free_startupnotifyrl: isc_ratelimiter_detach(&zmgr->startupnotifyrl); - free_refreshrl: +free_refreshrl: isc_ratelimiter_detach(&zmgr->refreshrl); - free_notifyrl: +free_notifyrl: isc_ratelimiter_detach(&zmgr->notifyrl); - free_task: +free_task: isc_task_detach(&zmgr->task); - free_urlock: +free_urlock: isc_rwlock_destroy(&zmgr->urlock); - free_rwlock: +free_rwlock: isc_rwlock_destroy(&zmgr->rwlock); - free_mem: +free_mem: isc_mem_put(zmgr->mctx, zmgr, sizeof(*zmgr)); isc_mem_detach(&mctx); return (result); } isc_result_t -dns_zonemgr_createzone(dns_zonemgr_t *zmgr, dns_zone_t **zonep) { +dns_zonemgr_createzone(dns_zonemgr_t *zmgr, dns_zone_t **zonep) +{ isc_result_t result; - isc_mem_t *mctx = NULL; - dns_zone_t *zone = NULL; - void *item; + isc_mem_t * mctx = NULL; + dns_zone_t * zone = NULL; + void * item; REQUIRE(DNS_ZONEMGR_VALID(zmgr)); REQUIRE(zonep != NULL && *zonep == NULL); @@ -16879,7 +16922,7 @@ dns_zonemgr_createzone(dns_zonemgr_t *zmgr, dns_zone_t **zonep) { if (item == NULL) return (ISC_R_FAILURE); - isc_mem_attach((isc_mem_t *) item, &mctx); + isc_mem_attach((isc_mem_t *)item, &mctx); result = dns_zone_create(&zone, mctx); isc_mem_detach(&mctx); @@ -16890,7 +16933,8 @@ dns_zonemgr_createzone(dns_zonemgr_t *zmgr, dns_zone_t **zonep) { } isc_result_t -dns_zonemgr_managezone(dns_zonemgr_t *zmgr, dns_zone_t *zone) { +dns_zonemgr_managezone(dns_zonemgr_t *zmgr, dns_zone_t *zone) +{ isc_result_t result; REQUIRE(DNS_ZONE_VALID(zone)); @@ -16916,9 +16960,8 @@ dns_zonemgr_managezone(dns_zonemgr_t *zmgr, dns_zone_t *zone) { isc_task_setname(zone->task, "zone", zone); isc_task_setname(zone->loadtask, "loadzone", zone); - result = isc_timer_create(zmgr->timermgr, isc_timertype_inactive, - NULL, NULL, - zone->task, zone_timer, zone, + result = isc_timer_create(zmgr->timermgr, isc_timertype_inactive, NULL, + NULL, zone->task, zone_timer, zone, &zone->timer); if (result != ISC_R_SUCCESS) @@ -16935,18 +16978,19 @@ dns_zonemgr_managezone(dns_zonemgr_t *zmgr, dns_zone_t *zone) { goto unlock; - cleanup_tasks: +cleanup_tasks: isc_task_detach(&zone->loadtask); isc_task_detach(&zone->task); - unlock: +unlock: UNLOCK_ZONE(zone); RWUNLOCK(&zmgr->rwlock, isc_rwlocktype_write); return (result); } void -dns_zonemgr_releasezone(dns_zonemgr_t *zmgr, dns_zone_t *zone) { +dns_zonemgr_releasezone(dns_zonemgr_t *zmgr, dns_zone_t *zone) +{ bool free_now = false; REQUIRE(DNS_ZONE_VALID(zone)); @@ -16972,7 +17016,8 @@ dns_zonemgr_releasezone(dns_zonemgr_t *zmgr, dns_zone_t *zone) { } void -dns_zonemgr_attach(dns_zonemgr_t *source, dns_zonemgr_t **target) { +dns_zonemgr_attach(dns_zonemgr_t *source, dns_zonemgr_t **target) +{ REQUIRE(DNS_ZONEMGR_VALID(source)); REQUIRE(target != NULL && *target == NULL); @@ -16982,7 +17027,8 @@ dns_zonemgr_attach(dns_zonemgr_t *source, dns_zonemgr_t **target) { } void -dns_zonemgr_detach(dns_zonemgr_t **zmgrp) { +dns_zonemgr_detach(dns_zonemgr_t **zmgrp) +{ dns_zonemgr_t *zmgr; REQUIRE(zmgrp != NULL); @@ -16996,16 +17042,15 @@ dns_zonemgr_detach(dns_zonemgr_t **zmgrp) { } isc_result_t -dns_zonemgr_forcemaint(dns_zonemgr_t *zmgr) { +dns_zonemgr_forcemaint(dns_zonemgr_t *zmgr) +{ dns_zone_t *p; REQUIRE(DNS_ZONEMGR_VALID(zmgr)); RWLOCK(&zmgr->rwlock, isc_rwlocktype_read); - for (p = ISC_LIST_HEAD(zmgr->zones); - p != NULL; - p = ISC_LIST_NEXT(p, link)) - { + for (p = ISC_LIST_HEAD(zmgr->zones); p != NULL; + p = ISC_LIST_NEXT(p, link)) { dns_zone_maintenance(p); } RWUNLOCK(&zmgr->rwlock, isc_rwlocktype_read); @@ -17023,8 +17068,8 @@ dns_zonemgr_forcemaint(dns_zonemgr_t *zmgr) { } void -dns_zonemgr_resumexfrs(dns_zonemgr_t *zmgr) { - +dns_zonemgr_resumexfrs(dns_zonemgr_t *zmgr) +{ REQUIRE(DNS_ZONEMGR_VALID(zmgr)); RWLOCK(&zmgr->rwlock, isc_rwlocktype_write); @@ -17033,7 +17078,8 @@ dns_zonemgr_resumexfrs(dns_zonemgr_t *zmgr) { } void -dns_zonemgr_shutdown(dns_zonemgr_t *zmgr) { +dns_zonemgr_shutdown(dns_zonemgr_t *zmgr) +{ dns_zone_t *zone; REQUIRE(DNS_ZONEMGR_VALID(zmgr)); @@ -17053,10 +17099,8 @@ dns_zonemgr_shutdown(dns_zonemgr_t *zmgr) { isc_pool_destroy(&zmgr->mctxpool); RWLOCK(&zmgr->rwlock, isc_rwlocktype_read); - for (zone = ISC_LIST_HEAD(zmgr->zones); - zone != NULL; - zone = ISC_LIST_NEXT(zone, link)) - { + for (zone = ISC_LIST_HEAD(zmgr->zones); zone != NULL; + zone = ISC_LIST_NEXT(zone, link)) { LOCK_ZONE(zone); forward_cancel(zone); UNLOCK_ZONE(zone); @@ -17065,7 +17109,8 @@ dns_zonemgr_shutdown(dns_zonemgr_t *zmgr) { } static isc_result_t -mctxinit(void **target, void *arg) { +mctxinit(void **target, void *arg) +{ isc_mem_t *mctx = NULL; UNUSED(arg); @@ -17080,8 +17125,9 @@ mctxinit(void **target, void *arg) { } static void -mctxfree(void **target) { - isc_mem_t *mctx = *(isc_mem_t **) target; +mctxfree(void **target) +{ + isc_mem_t *mctx = *(isc_mem_t **)target; isc_mem_detach(&mctx); *target = NULL; } @@ -17090,12 +17136,13 @@ mctxfree(void **target) { #define ZONES_PER_MCTX 1000 isc_result_t -dns_zonemgr_setsize(dns_zonemgr_t *zmgr, int num_zones) { - isc_result_t result; - int ntasks = num_zones / ZONES_PER_TASK; - int nmctx = num_zones / ZONES_PER_MCTX; +dns_zonemgr_setsize(dns_zonemgr_t *zmgr, int num_zones) +{ + isc_result_t result; + int ntasks = num_zones / ZONES_PER_TASK; + int nmctx = num_zones / ZONES_PER_MCTX; isc_taskpool_t *pool = NULL; - isc_pool_t *mctxpool = NULL; + isc_pool_t * mctxpool = NULL; REQUIRE(DNS_ZONEMGR_VALID(zmgr)); @@ -17112,8 +17159,8 @@ dns_zonemgr_setsize(dns_zonemgr_t *zmgr, int num_zones) { /* Create or resize the zone task pools. */ if (zmgr->zonetasks == NULL) - result = isc_taskpool_create(zmgr->taskmgr, zmgr->mctx, - ntasks, 2, &pool); + result = isc_taskpool_create(zmgr->taskmgr, zmgr->mctx, ntasks, + 2, &pool); else result = isc_taskpool_expand(&zmgr->zonetasks, ntasks, &pool); @@ -17122,8 +17169,8 @@ dns_zonemgr_setsize(dns_zonemgr_t *zmgr, int num_zones) { pool = NULL; if (zmgr->loadtasks == NULL) - result = isc_taskpool_create(zmgr->taskmgr, zmgr->mctx, - ntasks, 2, &pool); + result = isc_taskpool_create(zmgr->taskmgr, zmgr->mctx, ntasks, + 2, &pool); else result = isc_taskpool_expand(&zmgr->loadtasks, ntasks, &pool); @@ -17147,8 +17194,8 @@ dns_zonemgr_setsize(dns_zonemgr_t *zmgr, int num_zones) { /* Create or resize the zone memory context pool. */ if (zmgr->mctxpool == NULL) - result = isc_pool_create(zmgr->mctx, nmctx, mctxfree, - mctxinit, NULL, &mctxpool); + result = isc_pool_create(zmgr->mctx, nmctx, mctxfree, mctxinit, + NULL, &mctxpool); else result = isc_pool_expand(&zmgr->mctxpool, nmctx, &mctxpool); @@ -17159,7 +17206,8 @@ dns_zonemgr_setsize(dns_zonemgr_t *zmgr, int num_zones) { } static void -zonemgr_free(dns_zonemgr_t *zmgr) { +zonemgr_free(dns_zonemgr_t *zmgr) +{ isc_mem_t *mctx; INSIST(ISC_LIST_EMPTY(zmgr->zones)); @@ -17181,28 +17229,32 @@ zonemgr_free(dns_zonemgr_t *zmgr) { } void -dns_zonemgr_settransfersin(dns_zonemgr_t *zmgr, uint32_t value) { +dns_zonemgr_settransfersin(dns_zonemgr_t *zmgr, uint32_t value) +{ REQUIRE(DNS_ZONEMGR_VALID(zmgr)); zmgr->transfersin = value; } uint32_t -dns_zonemgr_getttransfersin(dns_zonemgr_t *zmgr) { +dns_zonemgr_getttransfersin(dns_zonemgr_t *zmgr) +{ REQUIRE(DNS_ZONEMGR_VALID(zmgr)); return (zmgr->transfersin); } void -dns_zonemgr_settransfersperns(dns_zonemgr_t *zmgr, uint32_t value) { +dns_zonemgr_settransfersperns(dns_zonemgr_t *zmgr, uint32_t value) +{ REQUIRE(DNS_ZONEMGR_VALID(zmgr)); zmgr->transfersperns = value; } uint32_t -dns_zonemgr_getttransfersperns(dns_zonemgr_t *zmgr) { +dns_zonemgr_getttransfersperns(dns_zonemgr_t *zmgr) +{ REQUIRE(DNS_ZONEMGR_VALID(zmgr)); return (zmgr->transfersperns); @@ -17216,14 +17268,13 @@ dns_zonemgr_getttransfersperns(dns_zonemgr_t *zmgr) { * The zone manager is locked by the caller. */ static void -zmgr_resume_xfrs(dns_zonemgr_t *zmgr, bool multi) { +zmgr_resume_xfrs(dns_zonemgr_t *zmgr, bool multi) +{ dns_zone_t *zone; dns_zone_t *next; - for (zone = ISC_LIST_HEAD(zmgr->waiting_for_xfrin); - zone != NULL; - zone = next) - { + for (zone = ISC_LIST_HEAD(zmgr->waiting_for_xfrin); zone != NULL; + zone = next) { isc_result_t result; next = ISC_LIST_NEXT(zone, statelink); result = zmgr_start_xfrin_ifquota(zmgr, zone); @@ -17266,13 +17317,14 @@ zmgr_resume_xfrs(dns_zonemgr_t *zmgr, bool multi) { * Others Failure. */ static isc_result_t -zmgr_start_xfrin_ifquota(dns_zonemgr_t *zmgr, dns_zone_t *zone) { - dns_peer_t *peer = NULL; +zmgr_start_xfrin_ifquota(dns_zonemgr_t *zmgr, dns_zone_t *zone) +{ + dns_peer_t * peer = NULL; isc_netaddr_t masterip; - uint32_t nxfrsin, nxfrsperns; - dns_zone_t *x; - uint32_t maxtransfersin, maxtransfersperns; - isc_event_t *e; + uint32_t nxfrsin, nxfrsperns; + dns_zone_t * x; + uint32_t maxtransfersin, maxtransfersperns; + isc_event_t * e; /* * If we are exiting just pretend we got quota so the zone will @@ -17309,10 +17361,8 @@ zmgr_start_xfrin_ifquota(dns_zonemgr_t *zmgr, dns_zone_t *zone) { * out to be too slow, we could hash on the master address. */ nxfrsin = nxfrsperns = 0; - for (x = ISC_LIST_HEAD(zmgr->xfrin_in_progress); - x != NULL; - x = ISC_LIST_NEXT(x, statelink)) - { + for (x = ISC_LIST_HEAD(zmgr->xfrin_in_progress); x != NULL; + x = ISC_LIST_NEXT(x, statelink)) { isc_netaddr_t xip; LOCK_ZONE(x); @@ -17331,7 +17381,7 @@ zmgr_start_xfrin_ifquota(dns_zonemgr_t *zmgr, dns_zone_t *zone) { if (nxfrsperns >= maxtransfersperns) return (ISC_R_QUOTA); - gotquota: +gotquota: /* * We have sufficient quota. Move the zone to the "xfrin_in_progress" * list and send it an event to let it start the actual transfer in the @@ -17354,8 +17404,8 @@ zmgr_start_xfrin_ifquota(dns_zonemgr_t *zmgr, dns_zone_t *zone) { } void -dns_zonemgr_setiolimit(dns_zonemgr_t *zmgr, uint32_t iolimit) { - +dns_zonemgr_setiolimit(dns_zonemgr_t *zmgr, uint32_t iolimit) +{ REQUIRE(DNS_ZONEMGR_VALID(zmgr)); REQUIRE(iolimit > 0); @@ -17363,8 +17413,8 @@ dns_zonemgr_setiolimit(dns_zonemgr_t *zmgr, uint32_t iolimit) { } uint32_t -dns_zonemgr_getiolimit(dns_zonemgr_t *zmgr) { - +dns_zonemgr_getiolimit(dns_zonemgr_t *zmgr) +{ REQUIRE(DNS_ZONEMGR_VALID(zmgr)); return (zmgr->iolimit); @@ -17381,12 +17431,11 @@ dns_zonemgr_getiolimit(dns_zonemgr_t *zmgr) { */ static isc_result_t -zonemgr_getio(dns_zonemgr_t *zmgr, bool high, - isc_task_t *task, isc_taskaction_t action, void *arg, - dns_io_t **iop) +zonemgr_getio(dns_zonemgr_t *zmgr, bool high, isc_task_t *task, + isc_taskaction_t action, void *arg, dns_io_t **iop) { dns_io_t *io; - bool queue; + bool queue; REQUIRE(DNS_ZONEMGR_VALID(zmgr)); REQUIRE(iop != NULL && *iop == NULL); @@ -17421,9 +17470,10 @@ zonemgr_getio(dns_zonemgr_t *zmgr, bool high, } static void -zonemgr_putio(dns_io_t **iop) { - dns_io_t *io; - dns_io_t *next; +zonemgr_putio(dns_io_t **iop) +{ + dns_io_t * io; + dns_io_t * next; dns_zonemgr_t *zmgr; REQUIRE(iop != NULL); @@ -17458,7 +17508,8 @@ zonemgr_putio(dns_io_t **iop) { } static void -zonemgr_cancelio(dns_io_t *io) { +zonemgr_cancelio(dns_io_t *io) +{ bool send_event = false; REQUIRE(DNS_IO_VALID(io)); @@ -17484,9 +17535,10 @@ zonemgr_cancelio(dns_io_t *io) { } static void -zone_saveunique(dns_zone_t *zone, const char *path, const char *templat) { - char *buf; - int buflen; +zone_saveunique(dns_zone_t *zone, const char *path, const char *templat) +{ + char * buf; + int buflen; isc_result_t result; buflen = strlen(path) + strlen(templat) + 2; @@ -17501,20 +17553,23 @@ zone_saveunique(dns_zone_t *zone, const char *path, const char *templat) { if (result != ISC_R_SUCCESS) goto cleanup; - dns_zone_log(zone, ISC_LOG_WARNING, "unable to load from '%s'; " + dns_zone_log(zone, ISC_LOG_WARNING, + "unable to load from '%s'; " "renaming file to '%s' for failure analysis and " - "retransferring.", path, buf); + "retransferring.", + path, buf); - cleanup: +cleanup: isc_mem_put(zone->mctx, buf, buflen); } static void -setrl(isc_ratelimiter_t *rl, unsigned int *rate, unsigned int value) { +setrl(isc_ratelimiter_t *rl, unsigned int *rate, unsigned int value) +{ isc_interval_t interval; - uint32_t s, ns; - uint32_t pertic; - isc_result_t result; + uint32_t s, ns; + uint32_t pertic; + isc_result_t result; if (value == 0) value = 1; @@ -17543,24 +17598,24 @@ setrl(isc_ratelimiter_t *rl, unsigned int *rate, unsigned int value) { } void -dns_zonemgr_setnotifyrate(dns_zonemgr_t *zmgr, unsigned int value) { - +dns_zonemgr_setnotifyrate(dns_zonemgr_t *zmgr, unsigned int value) +{ REQUIRE(DNS_ZONEMGR_VALID(zmgr)); setrl(zmgr->notifyrl, &zmgr->notifyrate, value); } void -dns_zonemgr_setstartupnotifyrate(dns_zonemgr_t *zmgr, unsigned int value) { - +dns_zonemgr_setstartupnotifyrate(dns_zonemgr_t *zmgr, unsigned int value) +{ REQUIRE(DNS_ZONEMGR_VALID(zmgr)); setrl(zmgr->startupnotifyrl, &zmgr->startupnotifyrate, value); } void -dns_zonemgr_setserialqueryrate(dns_zonemgr_t *zmgr, unsigned int value) { - +dns_zonemgr_setserialqueryrate(dns_zonemgr_t *zmgr, unsigned int value) +{ REQUIRE(DNS_ZONEMGR_VALID(zmgr)); setrl(zmgr->refreshrl, &zmgr->serialqueryrate, value); @@ -17569,21 +17624,24 @@ dns_zonemgr_setserialqueryrate(dns_zonemgr_t *zmgr, unsigned int value) { } unsigned int -dns_zonemgr_getnotifyrate(dns_zonemgr_t *zmgr) { +dns_zonemgr_getnotifyrate(dns_zonemgr_t *zmgr) +{ REQUIRE(DNS_ZONEMGR_VALID(zmgr)); return (zmgr->notifyrate); } unsigned int -dns_zonemgr_getstartupnotifyrate(dns_zonemgr_t *zmgr) { +dns_zonemgr_getstartupnotifyrate(dns_zonemgr_t *zmgr) +{ REQUIRE(DNS_ZONEMGR_VALID(zmgr)); return (zmgr->startupnotifyrate); } unsigned int -dns_zonemgr_getserialqueryrate(dns_zonemgr_t *zmgr) { +dns_zonemgr_getserialqueryrate(dns_zonemgr_t *zmgr) +{ REQUIRE(DNS_ZONEMGR_VALID(zmgr)); return (zmgr->serialqueryrate); @@ -17594,8 +17652,8 @@ dns_zonemgr_unreachable(dns_zonemgr_t *zmgr, isc_sockaddr_t *remote, isc_sockaddr_t *local, isc_time_t *now) { unsigned int i; - uint32_t seconds = isc_time_seconds(now); - uint32_t count = 0; + uint32_t seconds = isc_time_seconds(now); + uint32_t count = 0; REQUIRE(DNS_ZONEMGR_VALID(zmgr)); @@ -17619,8 +17677,8 @@ dns_zonemgr_unreachabledel(dns_zonemgr_t *zmgr, isc_sockaddr_t *remote, isc_sockaddr_t *local) { unsigned int i; - char master[ISC_SOCKADDR_FORMATSIZE]; - char source[ISC_SOCKADDR_FORMATSIZE]; + char master[ISC_SOCKADDR_FORMATSIZE]; + char source[ISC_SOCKADDR_FORMATSIZE]; isc_sockaddr_format(remote, master, sizeof(master)); isc_sockaddr_format(local, source, sizeof(source)); @@ -17642,25 +17700,26 @@ void dns_zonemgr_unreachableadd(dns_zonemgr_t *zmgr, isc_sockaddr_t *remote, isc_sockaddr_t *local, isc_time_t *now) { - uint32_t seconds = isc_time_seconds(now); - uint32_t expire = 0, last = seconds; + uint32_t seconds = isc_time_seconds(now); + uint32_t expire = 0, last = seconds; unsigned int slot = UNREACH_CACHE_SIZE, oldest = 0; - bool update_entry = true; + bool update_entry = true; REQUIRE(DNS_ZONEMGR_VALID(zmgr)); RWLOCK(&zmgr->urlock, isc_rwlocktype_write); for (unsigned int i = 0; i < UNREACH_CACHE_SIZE; i++) { /* Existing entry? */ if (isc_sockaddr_equal(&zmgr->unreachable[i].remote, remote) && - isc_sockaddr_equal(&zmgr->unreachable[i].local, local)) - { + isc_sockaddr_equal(&zmgr->unreachable[i].local, local)) { update_entry = false; slot = i; - expire = atomic_load_relaxed(&zmgr->unreachable[i].expire); + expire = atomic_load_relaxed( + &zmgr->unreachable[i].expire); break; } /* Pick first empty slot? */ - if (atomic_load_relaxed(&zmgr->unreachable[i].expire) < seconds) { + if (atomic_load_relaxed(&zmgr->unreachable[i].expire) < + seconds) { slot = i; break; } @@ -17694,7 +17753,8 @@ dns_zonemgr_unreachableadd(dns_zonemgr_t *zmgr, isc_sockaddr_t *remote, } void -dns_zone_forcereload(dns_zone_t *zone) { +dns_zone_forcereload(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); if (zone->type == dns_zone_master || @@ -17708,14 +17768,16 @@ dns_zone_forcereload(dns_zone_t *zone) { } bool -dns_zone_isforced(dns_zone_t *zone) { +dns_zone_isforced(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_FORCEXFER)); } isc_result_t -dns_zone_setstatistics(dns_zone_t *zone, bool on) { +dns_zone_setstatistics(dns_zone_t *zone, bool on) +{ /* * This function is obsoleted. */ @@ -17725,7 +17787,8 @@ dns_zone_setstatistics(dns_zone_t *zone, bool on) { } uint64_t * -dns_zone_getstatscounters(dns_zone_t *zone) { +dns_zone_getstatscounters(dns_zone_t *zone) +{ /* * This function is obsoleted. */ @@ -17734,7 +17797,8 @@ dns_zone_getstatscounters(dns_zone_t *zone) { } void -dns_zone_setstats(dns_zone_t *zone, isc_stats_t *stats) { +dns_zone_setstats(dns_zone_t *zone, isc_stats_t *stats) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(zone->stats == NULL); @@ -17745,8 +17809,8 @@ dns_zone_setstats(dns_zone_t *zone, isc_stats_t *stats) { } void -dns_zone_setrequeststats(dns_zone_t *zone, isc_stats_t *stats) { - +dns_zone_setrequeststats(dns_zone_t *zone, isc_stats_t *stats) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -17762,8 +17826,8 @@ dns_zone_setrequeststats(dns_zone_t *zone, isc_stats_t *stats) { } void -dns_zone_setrcvquerystats(dns_zone_t *zone, dns_stats_t *stats) { - +dns_zone_setrcvquerystats(dns_zone_t *zone, dns_stats_t *stats) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -17777,7 +17841,8 @@ dns_zone_setrcvquerystats(dns_zone_t *zone, dns_stats_t *stats) { } void -dns_zone_setdnssecsignstats(dns_zone_t *zone, dns_stats_t *stats) { +dns_zone_setdnssecsignstats(dns_zone_t *zone, dns_stats_t *stats) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -17788,7 +17853,8 @@ dns_zone_setdnssecsignstats(dns_zone_t *zone, dns_stats_t *stats) { } void -dns_zone_setdnssecrefreshstats(dns_zone_t *zone, dns_stats_t *stats) { +dns_zone_setdnssecrefreshstats(dns_zone_t *zone, dns_stats_t *stats) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -17798,22 +17864,25 @@ dns_zone_setdnssecrefreshstats(dns_zone_t *zone, dns_stats_t *stats) { UNLOCK_ZONE(zone); } -dns_stats_t* -dns_zone_getdnssecsignstats(dns_zone_t *zone) { +dns_stats_t * +dns_zone_getdnssecsignstats(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->dnssecsignstats); } -dns_stats_t* -dns_zone_getdnssecrefreshstats(dns_zone_t *zone) { +dns_stats_t * +dns_zone_getdnssecrefreshstats(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->dnssecrefreshstats); } isc_stats_t * -dns_zone_getrequeststats(dns_zone_t *zone) { +dns_zone_getrequeststats(dns_zone_t *zone) +{ /* * We don't lock zone for efficiency reason. This is not catastrophic * because requeststats must always be valid when requeststats_on is @@ -17833,7 +17902,8 @@ dns_zone_getrequeststats(dns_zone_t *zone) { * see note from dns_zone_getrequeststats() */ dns_stats_t * -dns_zone_getrcvquerystats(dns_zone_t *zone) { +dns_zone_getrcvquerystats(dns_zone_t *zone) +{ if (zone->requeststats_on) return (zone->rcvquerystats); else @@ -17841,12 +17911,11 @@ dns_zone_getrcvquerystats(dns_zone_t *zone) { } void -dns_zone_dialup(dns_zone_t *zone) { - +dns_zone_dialup(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); - zone_debuglog(zone, "dns_zone_dialup", 3, - "notify = %d, refresh = %d", + zone_debuglog(zone, "dns_zone_dialup", 3, "notify = %d, refresh = %d", DNS_ZONE_FLAG(zone, DNS_ZONEFLG_DIALNOTIFY), DNS_ZONE_FLAG(zone, DNS_ZONEFLG_DIALREFRESH)); @@ -17858,20 +17927,21 @@ dns_zone_dialup(dns_zone_t *zone) { } void -dns_zone_setdialup(dns_zone_t *zone, dns_dialuptype_t dialup) { +dns_zone_setdialup(dns_zone_t *zone, dns_dialuptype_t dialup) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); DNS_ZONE_CLRFLAG(zone, DNS_ZONEFLG_DIALNOTIFY | - DNS_ZONEFLG_DIALREFRESH | - DNS_ZONEFLG_NOREFRESH); + DNS_ZONEFLG_DIALREFRESH | + DNS_ZONEFLG_NOREFRESH); switch (dialup) { case dns_dialuptype_no: break; case dns_dialuptype_yes: - DNS_ZONE_SETFLAG(zone, (DNS_ZONEFLG_DIALNOTIFY | - DNS_ZONEFLG_DIALREFRESH | - DNS_ZONEFLG_NOREFRESH)); + DNS_ZONE_SETFLAG(zone, (DNS_ZONEFLG_DIALNOTIFY | + DNS_ZONEFLG_DIALREFRESH | + DNS_ZONEFLG_NOREFRESH)); break; case dns_dialuptype_notify: DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_DIALNOTIFY); @@ -17895,7 +17965,8 @@ dns_zone_setdialup(dns_zone_t *zone, dns_dialuptype_t dialup) { } isc_result_t -dns_zone_setkeydirectory(dns_zone_t *zone, const char *directory) { +dns_zone_setkeydirectory(dns_zone_t *zone, const char *directory) +{ isc_result_t result = ISC_R_SUCCESS; REQUIRE(DNS_ZONE_VALID(zone)); @@ -17908,15 +17979,17 @@ dns_zone_setkeydirectory(dns_zone_t *zone, const char *directory) { } const char * -dns_zone_getkeydirectory(dns_zone_t *zone) { +dns_zone_getkeydirectory(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->keydirectory); } unsigned int -dns_zonemgr_getcount(dns_zonemgr_t *zmgr, int state) { - dns_zone_t *zone; +dns_zonemgr_getcount(dns_zonemgr_t *zmgr, int state) +{ + dns_zone_t * zone; unsigned int count = 0; REQUIRE(DNS_ZONEMGR_VALID(zmgr)); @@ -17925,26 +17998,22 @@ dns_zonemgr_getcount(dns_zonemgr_t *zmgr, int state) { switch (state) { case DNS_ZONESTATE_XFERRUNNING: for (zone = ISC_LIST_HEAD(zmgr->xfrin_in_progress); - zone != NULL; - zone = ISC_LIST_NEXT(zone, statelink)) + zone != NULL; zone = ISC_LIST_NEXT(zone, statelink)) count++; break; case DNS_ZONESTATE_XFERDEFERRED: for (zone = ISC_LIST_HEAD(zmgr->waiting_for_xfrin); - zone != NULL; - zone = ISC_LIST_NEXT(zone, statelink)) + zone != NULL; zone = ISC_LIST_NEXT(zone, statelink)) count++; break; case DNS_ZONESTATE_SOAQUERY: - for (zone = ISC_LIST_HEAD(zmgr->zones); - zone != NULL; + for (zone = ISC_LIST_HEAD(zmgr->zones); zone != NULL; zone = ISC_LIST_NEXT(zone, link)) if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_REFRESH)) count++; break; case DNS_ZONESTATE_ANY: - for (zone = ISC_LIST_HEAD(zmgr->zones); - zone != NULL; + for (zone = ISC_LIST_HEAD(zmgr->zones); zone != NULL; zone = ISC_LIST_NEXT(zone, link)) { dns_view_t *view = zone->view; if (view != NULL && strcmp(view->name, "_bind") == 0) @@ -17953,8 +18022,7 @@ dns_zonemgr_getcount(dns_zonemgr_t *zmgr, int state) { } break; case DNS_ZONESTATE_AUTOMATIC: - for (zone = ISC_LIST_HEAD(zmgr->zones); - zone != NULL; + for (zone = ISC_LIST_HEAD(zmgr->zones); zone != NULL; zone = ISC_LIST_NEXT(zone, link)) { dns_view_t *view = zone->view; if (view != NULL && strcmp(view->name, "_bind") == 0) @@ -17977,12 +18045,12 @@ isc_result_t dns_zone_checknames(dns_zone_t *zone, const dns_name_t *name, dns_rdata_t *rdata) { - bool ok = true; - bool fail = false; - char namebuf[DNS_NAME_FORMATSIZE]; - char namebuf2[DNS_NAME_FORMATSIZE]; - char typebuf[DNS_RDATATYPE_FORMATSIZE]; - int level = ISC_LOG_WARNING; + bool ok = true; + bool fail = false; + char namebuf[DNS_NAME_FORMATSIZE]; + char namebuf2[DNS_NAME_FORMATSIZE]; + char typebuf[DNS_RDATATYPE_FORMATSIZE]; + int level = ISC_LOG_WARNING; dns_name_t bad; REQUIRE(DNS_ZONE_VALID(zone)); @@ -18023,25 +18091,29 @@ dns_zone_checknames(dns_zone_t *zone, const dns_name_t *name, } void -dns_zone_setcheckmx(dns_zone_t *zone, dns_checkmxfunc_t checkmx) { +dns_zone_setcheckmx(dns_zone_t *zone, dns_checkmxfunc_t checkmx) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->checkmx = checkmx; } void -dns_zone_setchecksrv(dns_zone_t *zone, dns_checksrvfunc_t checksrv) { +dns_zone_setchecksrv(dns_zone_t *zone, dns_checksrvfunc_t checksrv) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->checksrv = checksrv; } void -dns_zone_setcheckns(dns_zone_t *zone, dns_checknsfunc_t checkns) { +dns_zone_setcheckns(dns_zone_t *zone, dns_checknsfunc_t checkns) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->checkns = checkns; } void -dns_zone_setisself(dns_zone_t *zone, dns_isselffunc_t isself, void *arg) { +dns_zone_setisself(dns_zone_t *zone, dns_isselffunc_t isself, void *arg) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -18051,7 +18123,8 @@ dns_zone_setisself(dns_zone_t *zone, dns_isselffunc_t isself, void *arg) { } void -dns_zone_setnotifydelay(dns_zone_t *zone, uint32_t delay) { +dns_zone_setnotifydelay(dns_zone_t *zone, uint32_t delay) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -18060,22 +18133,23 @@ dns_zone_setnotifydelay(dns_zone_t *zone, uint32_t delay) { } uint32_t -dns_zone_getnotifydelay(dns_zone_t *zone) { +dns_zone_getnotifydelay(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->notifydelay); } isc_result_t -dns_zone_signwithkey(dns_zone_t *zone, dns_secalg_t algorithm, - uint16_t keyid, bool deleteit) +dns_zone_signwithkey(dns_zone_t *zone, dns_secalg_t algorithm, uint16_t keyid, + bool deleteit) { isc_result_t result; REQUIRE(DNS_ZONE_VALID(zone)); dnssec_log(zone, ISC_LOG_NOTICE, - "dns_zone_signwithkey(algorithm=%u, keyid=%u)", - algorithm, keyid); + "dns_zone_signwithkey(algorithm=%u, keyid=%u)", algorithm, + keyid); LOCK_ZONE(zone); result = zone_signwithkey(zone, algorithm, keyid, deleteit); UNLOCK_ZONE(zone); @@ -18090,9 +18164,10 @@ dns_zone_signwithkey(dns_zone_t *zone, dns_secalg_t algorithm, * logged. Then call zone_addnsec3chain(), passing NSEC3PARAM RDATA to it. */ isc_result_t -dns_zone_addnsec3chain(dns_zone_t *zone, dns_rdata_nsec3param_t *nsec3param) { +dns_zone_addnsec3chain(dns_zone_t *zone, dns_rdata_nsec3param_t *nsec3param) +{ isc_result_t result; - char salt[255*2+1]; + char salt[255 * 2 + 1]; REQUIRE(DNS_ZONE_VALID(zone)); @@ -18109,7 +18184,8 @@ dns_zone_addnsec3chain(dns_zone_t *zone, dns_rdata_nsec3param_t *nsec3param) { } void -dns_zone_setnodes(dns_zone_t *zone, uint32_t nodes) { +dns_zone_setnodes(dns_zone_t *zone, uint32_t nodes) +{ REQUIRE(DNS_ZONE_VALID(zone)); if (nodes == 0) @@ -18118,7 +18194,8 @@ dns_zone_setnodes(dns_zone_t *zone, uint32_t nodes) { } void -dns_zone_setsignatures(dns_zone_t *zone, uint32_t signatures) { +dns_zone_setsignatures(dns_zone_t *zone, uint32_t signatures) +{ REQUIRE(DNS_ZONE_VALID(zone)); /* @@ -18133,19 +18210,22 @@ dns_zone_setsignatures(dns_zone_t *zone, uint32_t signatures) { } uint32_t -dns_zone_getsignatures(dns_zone_t *zone) { +dns_zone_getsignatures(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->signatures); } void -dns_zone_setprivatetype(dns_zone_t *zone, dns_rdatatype_t type) { +dns_zone_setprivatetype(dns_zone_t *zone, dns_rdatatype_t type) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->privatetype = type; } dns_rdatatype_t -dns_zone_getprivatetype(dns_zone_t *zone) { +dns_zone_getprivatetype(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->privatetype); } @@ -18156,14 +18236,14 @@ zone_signwithkey(dns_zone_t *zone, dns_secalg_t algorithm, uint16_t keyid, { dns_signing_t *signing; dns_signing_t *current; - isc_result_t result = ISC_R_SUCCESS; - isc_time_t now; - dns_db_t *db = NULL; + isc_result_t result = ISC_R_SUCCESS; + isc_time_t now; + dns_db_t * db = NULL; signing = isc_mem_get(zone->mctx, sizeof *signing); signing->magic = 0; - signing->db = NULL; + signing->db = NULL; signing->dbiterator = NULL; signing->algorithm = algorithm; signing->keyid = keyid; @@ -18184,8 +18264,7 @@ zone_signwithkey(dns_zone_t *zone, dns_secalg_t algorithm, uint16_t keyid, dns_db_attach(db, &signing->db); - for (current = ISC_LIST_HEAD(zone->signing); - current != NULL; + for (current = ISC_LIST_HEAD(zone->signing); current != NULL; current = ISC_LIST_NEXT(current, link)) { if (current->db == signing->db && current->algorithm == signing->algorithm && @@ -18197,8 +18276,7 @@ zone_signwithkey(dns_zone_t *zone, dns_secalg_t algorithm, uint16_t keyid, } } - result = dns_db_createiterator(signing->db, 0, - &signing->dbiterator); + result = dns_db_createiterator(signing->db, 0, &signing->dbiterator); if (result == ISC_R_SUCCESS) result = dns_dbiterator_first(signing->dbiterator); @@ -18213,7 +18291,7 @@ zone_signwithkey(dns_zone_t *zone, dns_secalg_t algorithm, uint16_t keyid, } } - cleanup: +cleanup: if (signing != NULL) { if (signing->db != NULL) dns_db_detach(&signing->db); @@ -18227,7 +18305,8 @@ zone_signwithkey(dns_zone_t *zone, dns_secalg_t algorithm, uint16_t keyid, } static void -clear_keylist(dns_dnsseckeylist_t *list, isc_mem_t *mctx) { +clear_keylist(dns_dnsseckeylist_t *list, isc_mem_t *mctx) +{ dns_dnsseckey_t *key; while (!ISC_LIST_EMPTY(*list)) { key = ISC_LIST_HEAD(*list); @@ -18238,10 +18317,11 @@ clear_keylist(dns_dnsseckeylist_t *list, isc_mem_t *mctx) { /* Called once; *timep should be set to the current time. */ static isc_result_t -next_keyevent(dst_key_t *key, isc_stdtime_t *timep) { - isc_result_t result; +next_keyevent(dst_key_t *key, isc_stdtime_t *timep) +{ + isc_result_t result; isc_stdtime_t now, then = 0, event; - int i; + int i; now = *timep; @@ -18265,8 +18345,8 @@ rr_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, const dns_rdata_t *rdata, bool *flag) { dns_rdataset_t rdataset; - dns_dbnode_t *node = NULL; - isc_result_t result; + dns_dbnode_t * node = NULL; + isc_result_t result; dns_rdataset_init(&rdataset); if (rdata->type == dns_rdatatype_nsec3) @@ -18274,15 +18354,14 @@ rr_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, else CHECK(dns_db_findnode(db, name, false, &node)); result = dns_db_findrdataset(db, node, ver, rdata->type, 0, - (isc_stdtime_t) 0, &rdataset, NULL); + (isc_stdtime_t)0, &rdataset, NULL); if (result == ISC_R_NOTFOUND) { *flag = false; result = ISC_R_SUCCESS; goto failure; } - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdata_t myrdata = DNS_RDATA_INIT; dns_rdataset_current(&rdataset, &myrdata); @@ -18297,7 +18376,7 @@ rr_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, result = ISC_R_SUCCESS; } - failure: +failure: if (node != NULL) dns_db_detachnode(db, &node); return (result); @@ -18310,18 +18389,17 @@ static isc_result_t add_signing_records(dns_db_t *db, dns_rdatatype_t privatetype, dns_dbversion_t *ver, dns_diff_t *diff, bool sign_all) { - dns_difftuple_t *tuple, *newtuple = NULL; + dns_difftuple_t * tuple, *newtuple = NULL; dns_rdata_dnskey_t dnskey; - dns_rdata_t rdata = DNS_RDATA_INIT; - bool flag; - isc_region_t r; - isc_result_t result = ISC_R_SUCCESS; - uint16_t keyid; - unsigned char buf[5]; - dns_name_t *name = dns_db_origin(db); + dns_rdata_t rdata = DNS_RDATA_INIT; + bool flag; + isc_region_t r; + isc_result_t result = ISC_R_SUCCESS; + uint16_t keyid; + unsigned char buf[5]; + dns_name_t * name = dns_db_origin(db); - for (tuple = ISC_LIST_HEAD(diff->tuples); - tuple != NULL; + for (tuple = ISC_LIST_HEAD(diff->tuples); tuple != NULL; tuple = ISC_LIST_NEXT(tuple, link)) { if (tuple->rdata.type != dns_rdatatype_dnskey) { continue; @@ -18330,9 +18408,8 @@ add_signing_records(dns_db_t *db, dns_rdatatype_t privatetype, result = dns_rdata_tostruct(&tuple->rdata, &dnskey, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); if ((dnskey.flags & - (DNS_KEYFLAG_OWNERMASK|DNS_KEYTYPE_NOAUTH)) - != DNS_KEYOWNER_ZONE) - { + (DNS_KEYFLAG_OWNERMASK | DNS_KEYTYPE_NOAUTH)) != + DNS_KEYOWNER_ZONE) { continue; } @@ -18375,11 +18452,10 @@ add_signing_records(dns_db_t *db, dns_rdatatype_t privatetype, INSIST(newtuple == NULL); } } - failure: +failure: return (result); } - /* * See if dns__zone_updatesigs() will update signature for RRset 'rrtype' at * the apex, and if not tickle them and cause to sign so that newly activated @@ -18393,15 +18469,12 @@ tickle_apex_rrset(dns_rdatatype_t rrtype, dns_zone_t *zone, dns_db_t *db, isc_stdtime_t keyexpire, bool check_ksk, bool keyset_kskonly) { dns_difftuple_t *tuple; - isc_result_t result; + isc_result_t result; - for (tuple = ISC_LIST_HEAD(diff->tuples); - tuple != NULL; - tuple = ISC_LIST_NEXT(tuple, link)) - { + for (tuple = ISC_LIST_HEAD(diff->tuples); tuple != NULL; + tuple = ISC_LIST_NEXT(tuple, link)) { if (tuple->rdata.type == rrtype && - dns_name_equal(&tuple->name, &zone->origin)) - { + dns_name_equal(&tuple->name, &zone->origin)) { break; } } @@ -18434,11 +18507,11 @@ static isc_result_t sign_apex(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, isc_stdtime_t now, dns_diff_t *diff, dns__zonediff_t *zonediff) { - isc_result_t result; + isc_result_t result; isc_stdtime_t inception, soaexpire, keyexpire; - bool check_ksk, keyset_kskonly; - dst_key_t *zone_keys[DNS_MAXZONEKEYS]; - unsigned int nkeys = 0, i; + bool check_ksk, keyset_kskonly; + dst_key_t * zone_keys[DNS_MAXZONEKEYS]; + unsigned int nkeys = 0, i; result = dns__zone_findkeys(zone, db, ver, now, zone->mctx, DNS_MAXZONEKEYS, zone_keys, &nkeys); @@ -18449,7 +18522,7 @@ sign_apex(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, return (result); } - inception = now - 3600; /* Allow for clock skew. */ + inception = now - 3600; /* Allow for clock skew. */ soaexpire = now + dns_zone_getsigvalidityinterval(zone); keyexpire = dns_zone_getkeyvalidityinterval(zone); @@ -18473,8 +18546,8 @@ sign_apex(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, if (result != ISC_R_SUCCESS) { goto failure; } - result = tickle_apex_rrset(dns_rdatatype_cds, zone, db, ver, now, - diff, zonediff, zone_keys, nkeys, inception, + result = tickle_apex_rrset(dns_rdatatype_cds, zone, db, ver, now, diff, + zonediff, zone_keys, nkeys, inception, keyexpire, check_ksk, keyset_kskonly); if (result != ISC_R_SUCCESS) { goto failure; @@ -18497,7 +18570,7 @@ sign_apex(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, goto failure; } - failure: +failure: for (i = 0; i < nkeys; i++) { dst_key_free(&zone_keys[i]); } @@ -18513,20 +18586,17 @@ static bool dnskey_sane(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff) { - isc_result_t result; + isc_result_t result; dns_difftuple_t *tuple; - bool nseconly = false, nsec3 = false; - dns_rdatatype_t privatetype = dns_zone_getprivatetype(zone); + bool nseconly = false, nsec3 = false; + dns_rdatatype_t privatetype = dns_zone_getprivatetype(zone); /* Scan the tuples for an NSEC-only DNSKEY */ - for (tuple = ISC_LIST_HEAD(diff->tuples); - tuple != NULL; - tuple = ISC_LIST_NEXT(tuple, link)) - { + for (tuple = ISC_LIST_HEAD(diff->tuples); tuple != NULL; + tuple = ISC_LIST_NEXT(tuple, link)) { uint8_t alg; if (tuple->rdata.type != dns_rdatatype_dnskey || - tuple->op != DNS_DIFFOP_ADD) - { + tuple->op != DNS_DIFFOP_ADD) { continue; } @@ -18548,8 +18618,7 @@ dnskey_sane(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, /* Check existing DB for NSEC3 */ if (!nsec3) { - CHECK(dns_nsec3_activex(db, ver, false, - privatetype, &nsec3)); + CHECK(dns_nsec3_activex(db, ver, false, privatetype, &nsec3)); } /* Refuse to allow NSEC3 with NSEC-only keys */ @@ -18561,7 +18630,7 @@ dnskey_sane(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, return (true); - failure: +failure: return (false); } @@ -18569,8 +18638,8 @@ static isc_result_t clean_nsec3param(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff) { - isc_result_t result; - dns_dbnode_t *node = NULL; + isc_result_t result; + dns_dbnode_t * node = NULL; dns_rdataset_t rdataset; dns_rdataset_init(&rdataset); @@ -18585,7 +18654,7 @@ clean_nsec3param(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, result = dns_nsec3param_deletechains(db, ver, zone, true, diff); - failure: +failure: if (node != NULL) dns_db_detachnode(db, &node); return (result); @@ -18596,20 +18665,19 @@ clean_nsec3param(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, * are any signatures using that algorithm. */ static bool -signed_with_alg(dns_rdataset_t *rdataset, dns_secalg_t alg) { - dns_rdata_t rdata = DNS_RDATA_INIT; +signed_with_alg(dns_rdataset_t *rdataset, dns_secalg_t alg) +{ + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_rrsig_t rrsig; - isc_result_t result; + isc_result_t result; REQUIRE(rdataset == NULL || rdataset->type == dns_rdatatype_rrsig); if (rdataset == NULL || !dns_rdataset_isassociated(rdataset)) { return (false); } - for (result = dns_rdataset_first(rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(rdataset)) - { + for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(rdataset)) { dns_rdataset_current(rdataset, &rdata); result = dns_rdata_tostruct(&rdata, &rrsig, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); @@ -18625,8 +18693,8 @@ static isc_result_t add_chains(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff) { - dns_name_t *origin; - bool build_nsec3; + dns_name_t * origin; + bool build_nsec3; isc_result_t result; origin = dns_db_origin(db); @@ -18637,12 +18705,13 @@ add_chains(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, false, zone->privatetype, diff)); CHECK(updatesecure(db, ver, origin, zone->minimum, true, diff)); - failure: +failure: return (result); } static void -dnssec_report(const char *format, ...) { +dnssec_report(const char *format, ...) +{ va_list args; va_start(args, format); isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_DNSSEC, DNS_LOGMODULE_ZONE, @@ -18651,27 +18720,28 @@ dnssec_report(const char *format, ...) { } static void -zone_rekey(dns_zone_t *zone) { - isc_result_t result; - dns_db_t *db = NULL; - dns_dbnode_t *node = NULL; +zone_rekey(dns_zone_t *zone) +{ + isc_result_t result; + dns_db_t * db = NULL; + dns_dbnode_t * node = NULL; dns_dbversion_t *ver = NULL; - dns_rdataset_t cdsset, soaset, soasigs, keyset, keysigs, cdnskeyset; + dns_rdataset_t cdsset, soaset, soasigs, keyset, keysigs, cdnskeyset; dns_dnsseckeylist_t dnskeys, keys, rmkeys; - dns_dnsseckey_t *key = NULL; - dns_diff_t diff, _sig_diff; - dns_kasp_t *kasp; - dns__zonediff_t zonediff; - bool commit = false, newactive = false; - bool newalg = false; - bool fullsign; - dns_ttl_t ttl = 3600; - const char *dir = NULL; - isc_mem_t *mctx = NULL; - isc_stdtime_t now, nexttime = 0; - isc_time_t timenow; - isc_interval_t ival; - char timebuf[80]; + dns_dnsseckey_t * key = NULL; + dns_diff_t diff, _sig_diff; + dns_kasp_t * kasp; + dns__zonediff_t zonediff; + bool commit = false, newactive = false; + bool newalg = false; + bool fullsign; + dns_ttl_t ttl = 3600; + const char * dir = NULL; + isc_mem_t * mctx = NULL; + isc_stdtime_t now, nexttime = 0; + isc_time_t timenow; + isc_interval_t ival; + char timebuf[80]; REQUIRE(DNS_ZONE_VALID(zone)); @@ -18710,11 +18780,9 @@ zone_rekey(dns_zone_t *zone) { dns_rdatatype_none, 0, &keyset, &keysigs); if (result == ISC_R_SUCCESS) { ttl = keyset.ttl; - CHECK(dns_dnssec_keylistfromrdataset(&zone->origin, dir, - mctx, &keyset, - &keysigs, &soasigs, - false, false, - &dnskeys)); + CHECK(dns_dnssec_keylistfromrdataset( + &zone->origin, dir, mctx, &keyset, &keysigs, &soasigs, + false, false, &dnskeys)); } else if (result != ISC_R_NOTFOUND) { goto failure; } @@ -18728,8 +18796,7 @@ zone_rekey(dns_zone_t *zone) { /* Get the CDNSKEY rdataset */ result = dns_db_findrdataset(db, node, ver, dns_rdatatype_cdnskey, dns_rdatatype_none, 0, &cdnskeyset, NULL); - if (result != ISC_R_SUCCESS && dns_rdataset_isassociated(&cdnskeyset)) - { + if (result != ISC_R_SUCCESS && dns_rdataset_isassociated(&cdnskeyset)) { dns_rdataset_disassociate(&cdnskeyset); } @@ -18751,8 +18818,8 @@ zone_rekey(dns_zone_t *zone) { if (kasp && (result == ISC_R_SUCCESS || result == ISC_R_NOTFOUND)) { ttl = dns_kasp_dnskeyttl(kasp); - result = dns_keymgr_run(&zone->origin, zone->rdclass, dir, - mctx, &keys, kasp, now, &nexttime); + result = dns_keymgr_run(&zone->origin, zone->rdclass, dir, mctx, + &keys, kasp, now, &nexttime); if (result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, "zone_rekey:dns_dnssec_keymgr failed: %s", @@ -18763,8 +18830,8 @@ zone_rekey(dns_zone_t *zone) { if (result == ISC_R_SUCCESS) { result = dns_dnssec_updatekeys(&dnskeys, &keys, &rmkeys, - &zone->origin, ttl, &diff, - mctx, dnssec_report); + &zone->origin, ttl, &diff, mctx, + dnssec_report); /* * Keys couldn't be updated for some reason; * try again later. @@ -18780,8 +18847,8 @@ zone_rekey(dns_zone_t *zone) { * Update CDS / CDNSKEY records. */ result = dns_dnssec_syncupdate(&dnskeys, &rmkeys, &cdsset, - &cdnskeyset, now, ttl, - &diff, mctx); + &cdnskeyset, now, ttl, &diff, + mctx); if (result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, "zone_rekey:couldn't update CDS/CDNSKEY: %s", @@ -18796,10 +18863,8 @@ zone_rekey(dns_zone_t *zone) { * key, but it's for an already-existing algorithm, then * the zone signing can be handled incrementally.) */ - for (key = ISC_LIST_HEAD(dnskeys); - key != NULL; - key = ISC_LIST_NEXT(key, link)) - { + for (key = ISC_LIST_HEAD(dnskeys); key != NULL; + key = ISC_LIST_NEXT(key, link)) { if (!key->first_sign) { continue; } @@ -18825,8 +18890,7 @@ zone_rekey(dns_zone_t *zone) { } if ((newactive || fullsign || !ISC_LIST_EMPTY(diff.tuples)) && - dnskey_sane(zone, db, ver, &diff)) - { + dnskey_sane(zone, db, ver, &diff)) { CHECK(dns_diff_apply(&diff, db, ver)); CHECK(clean_nsec3param(zone, db, ver, &diff)); CHECK(add_signing_records(db, zone->privatetype, ver, @@ -18855,18 +18919,16 @@ zone_rekey(dns_zone_t *zone) { /* Remove any signatures from removed keys. */ if (!ISC_LIST_EMPTY(rmkeys)) { - for (key = ISC_LIST_HEAD(rmkeys); - key != NULL; - key = ISC_LIST_NEXT(key, link)) - { - result = zone_signwithkey(zone, - dst_key_alg(key->key), - dst_key_id(key->key), - true); + for (key = ISC_LIST_HEAD(rmkeys); key != NULL; + key = ISC_LIST_NEXT(key, link)) { + result = zone_signwithkey( + zone, dst_key_alg(key->key), + dst_key_id(key->key), true); if (result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, - "zone_signwithkey failed: %s", - dns_result_totext(result)); + "zone_signwithkey failed: " + "%s", + dns_result_totext(result)); } } } @@ -18876,22 +18938,20 @@ zone_rekey(dns_zone_t *zone) { * "rndc sign" was called, so we now sign the zone * with all active keys, whether they're new or not. */ - for (key = ISC_LIST_HEAD(dnskeys); - key != NULL; - key = ISC_LIST_NEXT(key, link)) - { + for (key = ISC_LIST_HEAD(dnskeys); key != NULL; + key = ISC_LIST_NEXT(key, link)) { if (!key->force_sign && !key->hint_sign) { continue; } - result = zone_signwithkey(zone, - dst_key_alg(key->key), - dst_key_id(key->key), - false); + result = zone_signwithkey( + zone, dst_key_alg(key->key), + dst_key_id(key->key), false); if (result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, - "zone_signwithkey failed: %s", - dns_result_totext(result)); + "zone_signwithkey failed: " + "%s", + dns_result_totext(result)); } } } else if (newalg) { @@ -18901,22 +18961,20 @@ zone_rekey(dns_zone_t *zone) { * the full zone, but only with newly active * keys. */ - for (key = ISC_LIST_HEAD(dnskeys); - key != NULL; - key = ISC_LIST_NEXT(key, link)) - { + for (key = ISC_LIST_HEAD(dnskeys); key != NULL; + key = ISC_LIST_NEXT(key, link)) { if (!key->first_sign) { continue; } - result = zone_signwithkey(zone, - dst_key_alg(key->key), - dst_key_id(key->key), - false); + result = zone_signwithkey( + zone, dst_key_alg(key->key), + dst_key_id(key->key), false); if (result != ISC_R_SUCCESS) { dnssec_log(zone, ISC_LOG_ERROR, - "zone_signwithkey failed: %s", - dns_result_totext(result)); + "zone_signwithkey failed: " + "%s", + dns_result_totext(result)); } } } @@ -18932,22 +18990,18 @@ zone_rekey(dns_zone_t *zone) { * deferred NSEC3PARAM changes. */ for (tuple = ISC_LIST_HEAD(zonediff.diff->tuples); - tuple != NULL; - tuple = ISC_LIST_NEXT(tuple, link)) - { - unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE]; - dns_rdata_t rdata = DNS_RDATA_INIT; + tuple != NULL; tuple = ISC_LIST_NEXT(tuple, link)) { + unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE]; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_nsec3param_t nsec3param; if (tuple->rdata.type != zone->privatetype || - tuple->op != DNS_DIFFOP_ADD) - { + tuple->op != DNS_DIFFOP_ADD) { continue; } if (!dns_nsec3param_fromprivate(&tuple->rdata, &rdata, - buf, sizeof(buf))) - { + buf, sizeof(buf))) { continue; } @@ -18995,8 +19049,8 @@ zone_rekey(dns_zone_t *zone) { isc_time_formattimestamp(&zone->refreshkeytime, timebuf, 80); dnssec_log(zone, ISC_LOG_DEBUG(3), - "next key event in %u seconds: %s", - (nexttime - now), timebuf); + "next key event in %u seconds: %s", (nexttime - now), + timebuf); dnssec_log(zone, ISC_LOG_INFO, "next key event: %s", timebuf); } /* @@ -19005,17 +19059,15 @@ zone_rekey(dns_zone_t *zone) { * seconds in the future, whichever is sooner. */ else if (DNS_ZONEKEY_OPTION(zone, DNS_ZONEKEY_MAINTAIN)) { - isc_time_t timethen; + isc_time_t timethen; isc_stdtime_t then; DNS_ZONE_TIME_ADD(&timenow, zone->refreshkeyinterval, &timethen); zone->refreshkeytime = timethen; - for (key = ISC_LIST_HEAD(dnskeys); - key != NULL; - key = ISC_LIST_NEXT(key, link)) - { + for (key = ISC_LIST_HEAD(dnskeys); key != NULL; + key = ISC_LIST_NEXT(key, link)) { then = now; result = next_keyevent(key->key, &then); if (result != ISC_R_SUCCESS) { @@ -19023,9 +19075,8 @@ zone_rekey(dns_zone_t *zone) { } DNS_ZONE_TIME_ADD(&timenow, then - now, &timethen); - if (isc_time_compare(&timethen, - &zone->refreshkeytime) < 0) - { + if (isc_time_compare(&timethen, &zone->refreshkeytime) < + 0) { zone->refreshkeytime = timethen; } } @@ -19039,14 +19090,14 @@ zone_rekey(dns_zone_t *zone) { result = ISC_R_SUCCESS; - failure: +failure: if (result != ISC_R_SUCCESS) { /* * Something went wrong; try again in ten minutes or * after a key refresh interval, whichever is shorter. */ - isc_interval_set(&ival, - ISC_MIN(zone->refreshkeyinterval, 600), 0); + isc_interval_set(&ival, ISC_MIN(zone->refreshkeyinterval, 600), + 0); isc_time_nowplusinterval(&zone->refreshkeytime, &ival); } @@ -19086,7 +19137,8 @@ zone_rekey(dns_zone_t *zone) { } void -dns_zone_rekey(dns_zone_t *zone, bool fullsign) { +dns_zone_rekey(dns_zone_t *zone, bool fullsign) +{ isc_time_t now; if (zone->type == dns_zone_master && zone->task != NULL) { @@ -19108,7 +19160,7 @@ isc_result_t dns_zone_nscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version, unsigned int *errors) { - isc_result_t result; + isc_result_t result; dns_dbnode_t *node = NULL; REQUIRE(DNS_ZONE_VALID(zone)); @@ -19117,20 +19169,20 @@ dns_zone_nscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version, result = dns_db_getoriginnode(db, &node); if (result != ISC_R_SUCCESS) return (result); - result = zone_count_ns_rr(zone, db, node, version, NULL, errors, - false); + result = zone_count_ns_rr(zone, db, node, version, NULL, errors, false); dns_db_detachnode(db, &node); return (result); } isc_result_t -dns_zone_cdscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version) { - isc_result_t result; - dns_dbnode_t *node = NULL; +dns_zone_cdscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version) +{ + isc_result_t result; + dns_dbnode_t * node = NULL; dns_rdataset_t dnskey, cds, cdnskey; - unsigned char buffer[DNS_DS_BUFFERSIZE]; - unsigned char algorithms[256]; - unsigned int i; + unsigned char buffer[DNS_DS_BUFFERSIZE]; + unsigned char algorithms[256]; + unsigned int i; enum { notexpected = 0, expected = 1, found = 2 }; @@ -19158,8 +19210,7 @@ dns_zone_cdscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version) { } if (!dns_rdataset_isassociated(&cds) && - !dns_rdataset_isassociated(&cdnskey)) - { + !dns_rdataset_isassociated(&cdnskey)) { result = ISC_R_SUCCESS; goto failure; } @@ -19186,10 +19237,9 @@ dns_zone_cdscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version) { if (dns_rdataset_isassociated(&cds)) { bool delete = false; memset(algorithms, notexpected, sizeof(algorithms)); - for (result = dns_rdataset_first(&cds); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&cds); result == ISC_R_SUCCESS; result = dns_rdataset_next(&cds)) { - dns_rdata_t crdata = DNS_RDATA_INIT; + dns_rdata_t crdata = DNS_RDATA_INIT; dns_rdata_cds_t structcds; dns_rdataset_current(&cds, &crdata); @@ -19199,8 +19249,8 @@ dns_zone_cdscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version) { */ if (crdata.length == 5U && memcmp(crdata.data, - (unsigned char[5]){ 0, 0, 0, 0, 0 }, 5) == 0) - { + (unsigned char[5]){ 0, 0, 0, 0, 0 }, + 5) == 0) { delete = true; continue; } @@ -19220,8 +19270,7 @@ dns_zone_cdscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version) { buffer, &dsrdata)); if (crdata.length == dsrdata.length && memcmp(crdata.data, dsrdata.data, - dsrdata.length) == 0) - { + dsrdata.length) == 0) { algorithms[structcds.algorithm] = found; } } @@ -19253,7 +19302,7 @@ dns_zone_cdscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version) { for (result = dns_rdataset_first(&cdnskey); result == ISC_R_SUCCESS; result = dns_rdataset_next(&cdnskey)) { - dns_rdata_t crdata = DNS_RDATA_INIT; + dns_rdata_t crdata = DNS_RDATA_INIT; dns_rdata_cdnskey_t structcdnskey; dns_rdataset_current(&cdnskey, &crdata); @@ -19264,8 +19313,8 @@ dns_zone_cdscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version) { */ if (crdata.length == 5U && memcmp(crdata.data, - (unsigned char[5]){ 0, 0, 3, 0, 0 }, 5) == 0) - { + (unsigned char[5]){ 0, 0, 3, 0, 0 }, + 5) == 0) { delete = true; continue; } @@ -19282,10 +19331,9 @@ dns_zone_cdscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version) { dns_rdataset_current(&dnskey, &rdata); if (crdata.length == rdata.length && memcmp(crdata.data, rdata.data, - rdata.length) == 0) - { + rdata.length) == 0) { algorithms[structcdnskey.algorithm] = - found; + found; } } if (result != ISC_R_NOMORE) { @@ -19306,7 +19354,7 @@ dns_zone_cdscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version) { } result = ISC_R_SUCCESS; - failure: +failure: if (dns_rdataset_isassociated(&cds)) { dns_rdataset_disassociate(&cds); } @@ -19321,7 +19369,8 @@ dns_zone_cdscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version) { } void -dns_zone_setautomatic(dns_zone_t *zone, bool automatic) { +dns_zone_setautomatic(dns_zone_t *zone, bool automatic) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -19330,13 +19379,15 @@ dns_zone_setautomatic(dns_zone_t *zone, bool automatic) { } bool -dns_zone_getautomatic(dns_zone_t *zone) { +dns_zone_getautomatic(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->automatic); } void -dns_zone_setadded(dns_zone_t *zone, bool added) { +dns_zone_setadded(dns_zone_t *zone, bool added) +{ REQUIRE(DNS_ZONE_VALID(zone)); LOCK_ZONE(zone); @@ -19345,7 +19396,8 @@ dns_zone_setadded(dns_zone_t *zone, bool added) { } bool -dns_zone_getadded(dns_zone_t *zone) { +dns_zone_getadded(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->added); } @@ -19353,16 +19405,16 @@ dns_zone_getadded(dns_zone_t *zone) { isc_result_t dns_zone_dlzpostload(dns_zone_t *zone, dns_db_t *db) { - isc_time_t loadtime; + isc_time_t loadtime; isc_result_t result; - dns_zone_t *secure = NULL; + dns_zone_t * secure = NULL; TIME_NOW(&loadtime); /* * Lock hierarchy: zmgr, zone, raw. */ - again: +again: LOCK_ZONE(zone); INSIST(zone != zone->raw); if (inline_secure(zone)) @@ -19387,7 +19439,8 @@ dns_zone_dlzpostload(dns_zone_t *zone, dns_db_t *db) } isc_result_t -dns_zone_setrefreshkeyinterval(dns_zone_t *zone, uint32_t interval) { +dns_zone_setrefreshkeyinterval(dns_zone_t *zone, uint32_t interval) +{ REQUIRE(DNS_ZONE_VALID(zone)); if (interval == 0) return (ISC_R_RANGE); @@ -19400,47 +19453,54 @@ dns_zone_setrefreshkeyinterval(dns_zone_t *zone, uint32_t interval) { } void -dns_zone_setrequestixfr(dns_zone_t *zone, bool flag) { +dns_zone_setrequestixfr(dns_zone_t *zone, bool flag) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->requestixfr = flag; } bool -dns_zone_getrequestixfr(dns_zone_t *zone) { +dns_zone_getrequestixfr(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->requestixfr); } void -dns_zone_setrequestexpire(dns_zone_t *zone, bool flag) { +dns_zone_setrequestexpire(dns_zone_t *zone, bool flag) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->requestexpire = flag; } bool -dns_zone_getrequestexpire(dns_zone_t *zone) { +dns_zone_getrequestexpire(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->requestexpire); } void -dns_zone_setserialupdatemethod(dns_zone_t *zone, dns_updatemethod_t method) { +dns_zone_setserialupdatemethod(dns_zone_t *zone, dns_updatemethod_t method) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->updatemethod = method; } dns_updatemethod_t -dns_zone_getserialupdatemethod(dns_zone_t *zone) { +dns_zone_getserialupdatemethod(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); - return(zone->updatemethod); + return (zone->updatemethod); } /* * Lock hierarchy: zmgr, zone, raw. */ isc_result_t -dns_zone_link(dns_zone_t *zone, dns_zone_t *raw) { - isc_result_t result; +dns_zone_link(dns_zone_t *zone, dns_zone_t *raw) +{ + isc_result_t result; dns_zonemgr_t *zmgr; REQUIRE(DNS_ZONE_VALID(zone)); @@ -19465,8 +19525,8 @@ dns_zone_link(dns_zone_t *zone, dns_zone_t *raw) { LOCK_ZONE(zone); LOCK_ZONE(raw); - result = isc_timer_create(zmgr->timermgr, isc_timertype_inactive, - NULL, NULL, zone->task, zone_timer, raw, + result = isc_timer_create(zmgr->timermgr, isc_timertype_inactive, NULL, + NULL, zone->task, zone_timer, raw, &raw->timer); if (result != ISC_R_SUCCESS) goto unlock; @@ -19490,7 +19550,7 @@ dns_zone_link(dns_zone_t *zone, dns_zone_t *raw) { raw->zmgr = zmgr; isc_refcount_increment(&zmgr->refs); - unlock: +unlock: UNLOCK_ZONE(raw); UNLOCK_ZONE(zone); RWUNLOCK(&zmgr->rwlock, isc_rwlocktype_write); @@ -19498,7 +19558,8 @@ dns_zone_link(dns_zone_t *zone, dns_zone_t *raw) { } void -dns_zone_getraw(dns_zone_t *zone, dns_zone_t **raw) { +dns_zone_getraw(dns_zone_t *zone, dns_zone_t **raw) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(raw != NULL && *raw == NULL); @@ -19510,28 +19571,29 @@ dns_zone_getraw(dns_zone_t *zone, dns_zone_t **raw) { } struct keydone { - isc_event_t event; - bool all; + isc_event_t event; + bool all; unsigned char data[5]; }; -#define PENDINGFLAGS (DNS_NSEC3FLAG_CREATE|DNS_NSEC3FLAG_INITIAL) +#define PENDINGFLAGS (DNS_NSEC3FLAG_CREATE | DNS_NSEC3FLAG_INITIAL) static void -keydone(isc_task_t *task, isc_event_t *event) { - const char *me = "keydone"; - bool commit = false; - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; +keydone(isc_task_t *task, isc_event_t *event) +{ + const char * me = "keydone"; + bool commit = false; + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_dbversion_t *oldver = NULL, *newver = NULL; - dns_zone_t *zone; - dns_db_t *db = NULL; - dns_dbnode_t *node = NULL; - dns_rdataset_t rdataset; - dns_diff_t diff; - struct keydone *kd = (struct keydone *)event; + dns_zone_t * zone; + dns_db_t * db = NULL; + dns_dbnode_t * node = NULL; + dns_rdataset_t rdataset; + dns_diff_t diff; + struct keydone * kd = (struct keydone *)event; dns_update_log_t log = { update_log_cb, NULL }; - bool clear_pending = false; + bool clear_pending = false; UNUSED(task); @@ -19577,28 +19639,23 @@ keydone(isc_task_t *task, isc_event_t *event) { goto failure; } - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(&rdataset)) - { + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(&rdataset)) { bool found = false; dns_rdataset_current(&rdataset, &rdata); if (kd->all) { if (rdata.length == 5 && rdata.data[0] != 0 && - rdata.data[3] == 0 && rdata.data[4] == 1) - { + rdata.data[3] == 0 && rdata.data[4] == 1) { found = true; } else if (rdata.data[0] == 0 && - (rdata.data[2] & PENDINGFLAGS) != 0) - { + (rdata.data[2] & PENDINGFLAGS) != 0) { found = true; clear_pending = true; } } else if (rdata.length == 5 && - memcmp(rdata.data, kd->data, 5) == 0) - { + memcmp(rdata.data, kd->data, 5) == 0) { found = true; } @@ -19615,8 +19672,8 @@ keydone(isc_task_t *task, isc_event_t *event) { CHECK(update_soa_serial(db, newver, &diff, zone->mctx, zone->updatemethod)); - result = dns_update_signatures(&log, zone, db, - oldver, newver, &diff, + result = dns_update_signatures(&log, zone, db, oldver, newver, + &diff, zone->sigvalidityinterval); if (!clear_pending) { CHECK(result); @@ -19626,13 +19683,13 @@ keydone(isc_task_t *task, isc_event_t *event) { commit = true; LOCK_ZONE(zone); - DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_LOADED| - DNS_ZONEFLG_NEEDNOTIFY); + DNS_ZONE_SETFLAG(zone, + DNS_ZONEFLG_LOADED | DNS_ZONEFLG_NEEDNOTIFY); zone_needdump(zone, 30); UNLOCK_ZONE(zone); } - failure: +failure: if (dns_rdataset_isassociated(&rdataset)) { dns_rdataset_disassociate(&rdataset); } @@ -19657,11 +19714,12 @@ keydone(isc_task_t *task, isc_event_t *event) { } isc_result_t -dns_zone_keydone(dns_zone_t *zone, const char *keystr) { - isc_result_t result = ISC_R_SUCCESS; - isc_event_t *e; - isc_buffer_t b; - dns_zone_t *dummy = NULL; +dns_zone_keydone(dns_zone_t *zone, const char *keystr) +{ + isc_result_t result = ISC_R_SUCCESS; + isc_event_t * e; + isc_buffer_t b; + dns_zone_t * dummy = NULL; struct keydone *kd; REQUIRE(DNS_ZONE_VALID(zone)); @@ -19671,15 +19729,15 @@ dns_zone_keydone(dns_zone_t *zone, const char *keystr) { e = isc_event_allocate(zone->mctx, zone, DNS_EVENT_KEYDONE, keydone, zone, sizeof(struct keydone)); - kd = (struct keydone *) e; + kd = (struct keydone *)e; if (strcasecmp(keystr, "all") == 0) { kd->all = true; } else { isc_textregion_t r; - const char *algstr; - dns_keytag_t keyid; - dns_secalg_t alg; - size_t n; + const char * algstr; + dns_keytag_t keyid; + dns_secalg_t alg; + size_t n; kd->all = false; @@ -19714,7 +19772,7 @@ dns_zone_keydone(dns_zone_t *zone, const char *keystr) { zone_iattach(zone, &dummy); isc_task_send(zone->task, &e); - failure: +failure: if (e != NULL) { isc_event_free(&e); } @@ -19727,7 +19785,8 @@ dns_zone_keydone(dns_zone_t *zone, const char *keystr) { * dns_zone_setnsec3param(). */ static void -setnsec3param(isc_task_t *task, isc_event_t *event) { +setnsec3param(isc_task_t *task, isc_event_t *event) +{ const char *me = "setnsec3param"; dns_zone_t *zone = event->ev_arg; @@ -19741,9 +19800,7 @@ setnsec3param(isc_task_t *task, isc_event_t *event) { * If receive_secure_serial is still processing or we have a * queued event append rss_post queue. */ - if (zone->rss_newver != NULL || - ISC_LIST_HEAD(zone->rss_post) != NULL) - { + if (zone->rss_newver != NULL || ISC_LIST_HEAD(zone->rss_post) != NULL) { /* * Wait for receive_secure_serial() to finish processing. */ @@ -19761,21 +19818,22 @@ setnsec3param(isc_task_t *task, isc_event_t *event) { * resume_addnsec3chain(). */ static void -rss_post(dns_zone_t *zone, isc_event_t *event) { - const char *me = "rss_post"; - bool commit = false; - isc_result_t result; +rss_post(dns_zone_t *zone, isc_event_t *event) +{ + const char * me = "rss_post"; + bool commit = false; + isc_result_t result; dns_dbversion_t *oldver = NULL, *newver = NULL; - dns_db_t *db = NULL; - dns_dbnode_t *node = NULL; - dns_rdataset_t prdataset, nrdataset; - dns_diff_t diff; + dns_db_t * db = NULL; + dns_dbnode_t * node = NULL; + dns_rdataset_t prdataset, nrdataset; + dns_diff_t diff; struct np3event *npe = (struct np3event *)event; - nsec3param_t *np; + nsec3param_t * np; dns_update_log_t log = { update_log_cb, NULL }; - dns_rdata_t rdata; - bool nseconly; - bool exists = false; + dns_rdata_t rdata; + bool nseconly; + bool exists = false; ENTER; @@ -19814,14 +19872,12 @@ rss_post(dns_zone_t *zone, isc_event_t *event) { if (result == ISC_R_SUCCESS) { for (result = dns_rdataset_first(&prdataset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(&prdataset)) - { + result = dns_rdataset_next(&prdataset)) { dns_rdata_init(&rdata); dns_rdataset_current(&prdataset, &rdata); if (np->length == rdata.length && - memcmp(rdata.data, np->data, np->length) == 0) - { + memcmp(rdata.data, np->data, np->length) == 0) { exists = true; break; } @@ -19834,21 +19890,18 @@ rss_post(dns_zone_t *zone, isc_event_t *event) { /* * Does the chain already exist? */ - result = dns_db_findrdataset(db, node, newver, - dns_rdatatype_nsec3param, + result = dns_db_findrdataset(db, node, newver, dns_rdatatype_nsec3param, dns_rdatatype_none, 0, &nrdataset, NULL); if (result == ISC_R_SUCCESS) { for (result = dns_rdataset_first(&nrdataset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(&nrdataset)) - { + result = dns_rdataset_next(&nrdataset)) { dns_rdata_init(&rdata); dns_rdataset_current(&nrdataset, &rdata); if (np->length == (rdata.length + 1) && - memcmp(rdata.data, np->data + 1, - np->length - 1) == 0) - { + memcmp(rdata.data, np->data + 1, np->length - 1) == + 0) { exists = true; break; } @@ -19858,15 +19911,14 @@ rss_post(dns_zone_t *zone, isc_event_t *event) { goto failure; } - /* * We need to remove any existing NSEC3 chains if the supplied NSEC3 * parameters are supposed to replace the current ones or if we are * switching to NSEC. */ if (!exists && np->replace && (np->length != 0 || np->nsec)) { - CHECK(dns_nsec3param_deletechains(db, newver, zone, - !np->nsec, &diff)); + CHECK(dns_nsec3param_deletechains(db, newver, zone, !np->nsec, + &diff)); } if (!exists && np->length != 0) { @@ -19905,8 +19957,8 @@ rss_post(dns_zone_t *zone, isc_event_t *event) { if (!ISC_LIST_EMPTY(diff.tuples)) { CHECK(update_soa_serial(db, newver, &diff, zone->mctx, zone->updatemethod)); - result = dns_update_signatures(&log, zone, db, - oldver, newver, &diff, + result = dns_update_signatures(&log, zone, db, oldver, newver, + &diff, zone->sigvalidityinterval); if (result != ISC_R_NOTFOUND) { CHECK(result); @@ -19920,7 +19972,7 @@ rss_post(dns_zone_t *zone, isc_event_t *event) { UNLOCK_ZONE(zone); } - failure: +failure: if (dns_rdataset_isassociated(&prdataset)) { dns_rdataset_disassociate(&prdataset); } @@ -19972,19 +20024,19 @@ rss_post(dns_zone_t *zone, isc_event_t *event) { */ isc_result_t dns_zone_setnsec3param(dns_zone_t *zone, uint8_t hash, uint8_t flags, - uint16_t iter, uint8_t saltlen, - unsigned char *salt, bool replace) + uint16_t iter, uint8_t saltlen, unsigned char *salt, + bool replace) { - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; dns_rdata_nsec3param_t param; - dns_rdata_t nrdata = DNS_RDATA_INIT; - dns_rdata_t prdata = DNS_RDATA_INIT; - unsigned char nbuf[DNS_NSEC3PARAM_BUFFERSIZE]; - struct np3event *npe; - nsec3param_t *np; - dns_zone_t *dummy = NULL; - isc_buffer_t b; - isc_event_t *e; + dns_rdata_t nrdata = DNS_RDATA_INIT; + dns_rdata_t prdata = DNS_RDATA_INIT; + unsigned char nbuf[DNS_NSEC3PARAM_BUFFERSIZE]; + struct np3event * npe; + nsec3param_t * np; + dns_zone_t * dummy = NULL; + isc_buffer_t b; + isc_event_t * e; REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(salt != NULL); @@ -19994,7 +20046,7 @@ dns_zone_setnsec3param(dns_zone_t *zone, uint8_t hash, uint8_t flags, e = isc_event_allocate(zone->mctx, zone, DNS_EVENT_SETNSEC3PARAM, setnsec3param, zone, sizeof(struct np3event)); - npe = (struct np3event *) e; + npe = (struct np3event *)e; np = &npe->params; np->replace = replace; @@ -20013,8 +20065,8 @@ dns_zone_setnsec3param(dns_zone_t *zone, uint8_t hash, uint8_t flags, param.salt = salt; isc_buffer_init(&b, nbuf, sizeof(nbuf)); CHECK(dns_rdata_fromstruct(&nrdata, zone->rdclass, - dns_rdatatype_nsec3param, - ¶m, &b)); + dns_rdatatype_nsec3param, ¶m, + &b)); dns_nsec3param_toprivate(&nrdata, &prdata, zone->privatetype, np->data, sizeof(np->data)); np->length = prdata.length; @@ -20038,7 +20090,7 @@ dns_zone_setnsec3param(dns_zone_t *zone, uint8_t hash, uint8_t flags, } ZONEDB_UNLOCK(&zone->dblock, isc_rwlocktype_read); - failure: +failure: if (e != NULL) { isc_event_free(&e); } @@ -20047,7 +20099,8 @@ dns_zone_setnsec3param(dns_zone_t *zone, uint8_t hash, uint8_t flags, } isc_result_t -dns_zone_getloadtime(dns_zone_t *zone, isc_time_t *loadtime) { +dns_zone_getloadtime(dns_zone_t *zone, isc_time_t *loadtime) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(loadtime != NULL); @@ -20058,7 +20111,8 @@ dns_zone_getloadtime(dns_zone_t *zone, isc_time_t *loadtime) { } isc_result_t -dns_zone_getexpiretime(dns_zone_t *zone, isc_time_t *expiretime) { +dns_zone_getexpiretime(dns_zone_t *zone, isc_time_t *expiretime) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(expiretime != NULL); @@ -20069,7 +20123,8 @@ dns_zone_getexpiretime(dns_zone_t *zone, isc_time_t *expiretime) { } isc_result_t -dns_zone_getrefreshtime(dns_zone_t *zone, isc_time_t *refreshtime) { +dns_zone_getrefreshtime(dns_zone_t *zone, isc_time_t *refreshtime) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(refreshtime != NULL); @@ -20080,7 +20135,8 @@ dns_zone_getrefreshtime(dns_zone_t *zone, isc_time_t *refreshtime) { } isc_result_t -dns_zone_getrefreshkeytime(dns_zone_t *zone, isc_time_t *refreshkeytime) { +dns_zone_getrefreshkeytime(dns_zone_t *zone, isc_time_t *refreshkeytime) +{ REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(refreshkeytime != NULL); @@ -20091,10 +20147,11 @@ dns_zone_getrefreshkeytime(dns_zone_t *zone, isc_time_t *refreshkeytime) { } unsigned int -dns_zone_getincludes(dns_zone_t *zone, char ***includesp) { +dns_zone_getincludes(dns_zone_t *zone, char ***includesp) +{ dns_include_t *include; - char **array = NULL; - unsigned int n = 0; + char ** array = NULL; + unsigned int n = 0; REQUIRE(DNS_ZONE_VALID(zone)); REQUIRE(includesp != NULL && *includesp == NULL); @@ -20104,8 +20161,7 @@ dns_zone_getincludes(dns_zone_t *zone, char ***includesp) { goto done; array = isc_mem_allocate(zone->mctx, sizeof(char *) * zone->nincludes); - for (include = ISC_LIST_HEAD(zone->includes); - include != NULL; + for (include = ISC_LIST_HEAD(zone->includes); include != NULL; include = ISC_LIST_NEXT(include, link)) { INSIST(n < zone->nincludes); array[n++] = isc_mem_strdup(zone->mctx, include->name); @@ -20113,36 +20169,39 @@ dns_zone_getincludes(dns_zone_t *zone, char ***includesp) { INSIST(n == zone->nincludes); *includesp = array; - done: +done: UNLOCK_ZONE(zone); return (n); } void -dns_zone_setstatlevel(dns_zone_t *zone, dns_zonestat_level_t level) { +dns_zone_setstatlevel(dns_zone_t *zone, dns_zonestat_level_t level) +{ REQUIRE(DNS_ZONE_VALID(zone)); zone->statlevel = level; } dns_zonestat_level_t -dns_zone_getstatlevel(dns_zone_t *zone) { +dns_zone_getstatlevel(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->statlevel); } static void -setserial(isc_task_t *task, isc_event_t *event) { - uint32_t oldserial, desired; - const char *me = "setserial"; - bool commit = false; - isc_result_t result; +setserial(isc_task_t *task, isc_event_t *event) +{ + uint32_t oldserial, desired; + const char * me = "setserial"; + bool commit = false; + isc_result_t result; dns_dbversion_t *oldver = NULL, *newver = NULL; - dns_zone_t *zone; - dns_db_t *db = NULL; - dns_diff_t diff; - struct ssevent *sse = (struct ssevent *)event; + dns_zone_t * zone; + dns_db_t * db = NULL; + dns_diff_t diff; + struct ssevent * sse = (struct ssevent *)event; dns_update_log_t log = { update_log_cb, NULL }; dns_difftuple_t *oldtuple = NULL, *newtuple = NULL; @@ -20176,8 +20235,8 @@ setserial(isc_task_t *task, isc_event_t *event) { goto failure; } - CHECK(dns_db_createsoatuple(db, oldver, diff.mctx, - DNS_DIFFOP_DEL, &oldtuple)); + CHECK(dns_db_createsoatuple(db, oldver, diff.mctx, DNS_DIFFOP_DEL, + &oldtuple)); CHECK(dns_difftuple_copy(oldtuple, &newtuple)); newtuple->op = DNS_DIFFOP_ADD; @@ -20188,16 +20247,16 @@ setserial(isc_task_t *task, isc_event_t *event) { if (desired != oldserial) dns_zone_log(zone, ISC_LOG_INFO, "setserial: desired serial (%u) " - "out of range (%u-%u)", desired, - oldserial + 1, (oldserial + 0x7fffffff)); + "out of range (%u-%u)", + desired, oldserial + 1, + (oldserial + 0x7fffffff)); goto failure; } dns_soa_setserial(desired, &newtuple->rdata); CHECK(do_one_tuple(&oldtuple, db, newver, &diff)); CHECK(do_one_tuple(&newtuple, db, newver, &diff)); - result = dns_update_signatures(&log, zone, db, - oldver, newver, &diff, + result = dns_update_signatures(&log, zone, db, oldver, newver, &diff, zone->sigvalidityinterval); if (result != ISC_R_NOTFOUND) CHECK(result); @@ -20210,7 +20269,7 @@ setserial(isc_task_t *task, isc_event_t *event) { zone_needdump(zone, 30); UNLOCK_ZONE(zone); - failure: +failure: if (oldtuple != NULL) dns_difftuple_free(&oldtuple); if (newtuple != NULL) @@ -20230,10 +20289,11 @@ setserial(isc_task_t *task, isc_event_t *event) { } isc_result_t -dns_zone_setserial(dns_zone_t *zone, uint32_t serial) { - isc_result_t result = ISC_R_SUCCESS; - dns_zone_t *dummy = NULL; - isc_event_t *e = NULL; +dns_zone_setserial(dns_zone_t *zone, uint32_t serial) +{ + isc_result_t result = ISC_R_SUCCESS; + dns_zone_t * dummy = NULL; + isc_event_t * e = NULL; struct ssevent *sse; REQUIRE(DNS_ZONE_VALID(zone)); @@ -20253,8 +20313,8 @@ dns_zone_setserial(dns_zone_t *zone, uint32_t serial) { goto failure; } - e = isc_event_allocate(zone->mctx, zone, DNS_EVENT_SETSERIAL, - setserial, zone, sizeof(struct ssevent)); + e = isc_event_allocate(zone->mctx, zone, DNS_EVENT_SETSERIAL, setserial, + zone, sizeof(struct ssevent)); sse = (struct ssevent *)e; sse->serial = serial; @@ -20262,7 +20322,7 @@ dns_zone_setserial(dns_zone_t *zone, uint32_t serial) { zone_iattach(zone, &dummy); isc_task_send(zone->task, &e); - failure: +failure: if (e != NULL) isc_event_free(&e); UNLOCK_ZONE(zone); @@ -20270,25 +20330,28 @@ dns_zone_setserial(dns_zone_t *zone, uint32_t serial) { } isc_stats_t * -dns_zone_getgluecachestats(dns_zone_t *zone) { +dns_zone_getgluecachestats(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (zone->gluecachestats); } bool -dns_zone_isloaded(dns_zone_t *zone) { +dns_zone_isloaded(dns_zone_t *zone) +{ REQUIRE(DNS_ZONE_VALID(zone)); return (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED)); } isc_result_t -dns_zone_verifydb(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver) { +dns_zone_verifydb(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver) +{ dns_dbversion_t *version = NULL; - dns_keytable_t *secroots = NULL; - isc_result_t result; - dns_name_t *origin; + dns_keytable_t * secroots = NULL; + isc_result_t result; + dns_name_t * origin; const char me[] = "dns_zone_verifydb"; @@ -20318,7 +20381,7 @@ dns_zone_verifydb(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver) { result = dns_zoneverify_dnssec(zone, db, version, origin, secroots, zone->mctx, true, false, dnssec_report); - done: +done: if (secroots != NULL) { dns_keytable_detach(&secroots); } diff --git a/lib/dns/zone_p.h b/lib/dns/zone_p.h index 6214f21a61..f409a29999 100644 --- a/lib/dns/zone_p.h +++ b/lib/dns/zone_p.h @@ -24,8 +24,8 @@ ISC_LANG_BEGINDECLS typedef struct { - dns_diff_t *diff; - bool offline; + dns_diff_t *diff; + bool offline; } dns__zonediff_t; isc_result_t @@ -38,8 +38,8 @@ dns__zone_updatesigs(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *version, dst_key_t *zone_keys[], unsigned int nkeys, dns_zone_t *zone, isc_stdtime_t inception, isc_stdtime_t expire, isc_stdtime_t keyxpire, - isc_stdtime_t now, bool check_ksk, - bool keyset_kskonly, dns__zonediff_t *zonediff); + isc_stdtime_t now, bool check_ksk, bool keyset_kskonly, + dns__zonediff_t *zonediff); ISC_LANG_ENDDECLS diff --git a/lib/dns/zonekey.c b/lib/dns/zonekey.c index 83e6592415..7866b103ef 100644 --- a/lib/dns/zonekey.c +++ b/lib/dns/zonekey.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -25,10 +24,11 @@ #include bool -dns_zonekey_iszonekey(dns_rdata_t *keyrdata) { - isc_result_t result; +dns_zonekey_iszonekey(dns_rdata_t *keyrdata) +{ + isc_result_t result; dns_rdata_dnskey_t key; - bool iszonekey = true; + bool iszonekey = true; REQUIRE(keyrdata != NULL); @@ -41,7 +41,7 @@ dns_zonekey_iszonekey(dns_rdata_t *keyrdata) { if ((key.flags & DNS_KEYFLAG_OWNERMASK) != DNS_KEYOWNER_ZONE) iszonekey = false; if (key.protocol != DNS_KEYPROTO_DNSSEC && - key.protocol != DNS_KEYPROTO_ANY) + key.protocol != DNS_KEYPROTO_ANY) iszonekey = false; return (iszonekey); diff --git a/lib/dns/zoneverify.c b/lib/dns/zoneverify.c index 4f9264356d..ce27b5f76d 100644 --- a/lib/dns/zoneverify.c +++ b/lib/dns/zoneverify.c @@ -17,6 +17,17 @@ #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #include #include #include @@ -40,51 +51,40 @@ #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - typedef struct vctx { - isc_mem_t * mctx; - dns_zone_t * zone; - dns_db_t * db; - dns_dbversion_t * ver; - dns_name_t * origin; - dns_keytable_t * secroots; - bool goodksk; - bool goodzsk; - dns_rdataset_t keyset; - dns_rdataset_t keysigs; - dns_rdataset_t soaset; - dns_rdataset_t soasigs; - dns_rdataset_t nsecset; - dns_rdataset_t nsecsigs; - dns_rdataset_t nsec3paramset; - dns_rdataset_t nsec3paramsigs; - unsigned char revoked_ksk[256]; - unsigned char revoked_zsk[256]; - unsigned char standby_ksk[256]; - unsigned char standby_zsk[256]; - unsigned char ksk_algorithms[256]; - unsigned char zsk_algorithms[256]; - unsigned char bad_algorithms[256]; - unsigned char act_algorithms[256]; - isc_heap_t * expected_chains; - isc_heap_t * found_chains; + isc_mem_t * mctx; + dns_zone_t * zone; + dns_db_t * db; + dns_dbversion_t *ver; + dns_name_t * origin; + dns_keytable_t * secroots; + bool goodksk; + bool goodzsk; + dns_rdataset_t keyset; + dns_rdataset_t keysigs; + dns_rdataset_t soaset; + dns_rdataset_t soasigs; + dns_rdataset_t nsecset; + dns_rdataset_t nsecsigs; + dns_rdataset_t nsec3paramset; + dns_rdataset_t nsec3paramsigs; + unsigned char revoked_ksk[256]; + unsigned char revoked_zsk[256]; + unsigned char standby_ksk[256]; + unsigned char standby_zsk[256]; + unsigned char ksk_algorithms[256]; + unsigned char zsk_algorithms[256]; + unsigned char bad_algorithms[256]; + unsigned char act_algorithms[256]; + isc_heap_t * expected_chains; + isc_heap_t * found_chains; } vctx_t; struct nsec3_chain_fixed { - uint8_t hash; - uint8_t salt_length; - uint8_t next_length; - uint16_t iterations; + uint8_t hash; + uint8_t salt_length; + uint8_t next_length; + uint16_t iterations; /* * The following non-fixed-length data is stored in memory after the * fields declared above for each NSEC3 chain element: @@ -102,7 +102,8 @@ struct nsec3_chain_fixed { * respectively. */ static void -zoneverify_log_error(const vctx_t *vctx, const char *fmt, ...) { +zoneverify_log_error(const vctx_t *vctx, const char *fmt, ...) +{ va_list ap; va_start(ap, fmt); @@ -121,7 +122,7 @@ is_delegation(const vctx_t *vctx, const dns_name_t *name, dns_dbnode_t *node, uint32_t *ttlp) { dns_rdataset_t nsset; - isc_result_t result; + isc_result_t result; if (dns_name_equal(name, vctx->origin)) { return (false); @@ -145,9 +146,10 @@ is_delegation(const vctx_t *vctx, const dns_name_t *name, dns_dbnode_t *node, * 'node'; return false otherwise. */ static bool -has_dname(const vctx_t *vctx, dns_dbnode_t *node) { +has_dname(const vctx_t *vctx, dns_dbnode_t *node) +{ dns_rdataset_t dnameset; - isc_result_t result; + isc_result_t result; dns_rdataset_init(&dnameset); result = dns_db_findrdataset(vctx->db, node, vctx->ver, @@ -165,17 +167,15 @@ goodsig(const vctx_t *vctx, dns_rdata_t *sigrdata, const dns_name_t *name, dns_rdataset_t *keyrdataset, dns_rdataset_t *rdataset) { dns_rdata_dnskey_t key; - dns_rdata_rrsig_t sig; - dst_key_t *dstkey = NULL; - isc_result_t result; + dns_rdata_rrsig_t sig; + dst_key_t * dstkey = NULL; + isc_result_t result; result = dns_rdata_tostruct(sigrdata, &sig, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); - for (result = dns_rdataset_first(keyrdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(keyrdataset)) - { + for (result = dns_rdataset_first(keyrdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(keyrdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(keyrdataset, &rdata); result = dns_rdata_tostruct(&rdata, &key, NULL); @@ -187,13 +187,12 @@ goodsig(const vctx_t *vctx, dns_rdata_t *sigrdata, const dns_name_t *name, } if (sig.algorithm != key.algorithm || sig.keyid != dst_key_id(dstkey) || - !dns_name_equal(&sig.signer, vctx->origin)) - { + !dns_name_equal(&sig.signer, vctx->origin)) { dst_key_free(&dstkey); continue; } - result = dns_dnssec_verify(name, rdataset, dstkey, false, - 0, vctx->mctx, sigrdata, NULL); + result = dns_dnssec_verify(name, rdataset, dstkey, false, 0, + vctx->mctx, sigrdata, NULL); dst_key_free(&dstkey); if (result == ISC_R_SUCCESS || result == DNS_R_FROMWILDCARD) { return (true); @@ -203,8 +202,9 @@ goodsig(const vctx_t *vctx, dns_rdata_t *sigrdata, const dns_name_t *name, } static bool -nsec_bitmap_equal(dns_rdata_nsec_t *nsec, dns_rdata_t *rdata) { - isc_result_t result; +nsec_bitmap_equal(dns_rdata_nsec_t *nsec, dns_rdata_t *rdata) +{ + isc_result_t result; dns_rdata_nsec_t tmpnsec; result = dns_rdata_tostruct(rdata, &tmpnsec, NULL); @@ -221,20 +221,19 @@ static isc_result_t verifynsec(const vctx_t *vctx, const dns_name_t *name, dns_dbnode_t *node, const dns_name_t *nextname, isc_result_t *vresult) { - unsigned char buffer[DNS_NSEC_BUFFERSIZE]; - char namebuf[DNS_NAME_FORMATSIZE]; - char nextbuf[DNS_NAME_FORMATSIZE]; - char found[DNS_NAME_FORMATSIZE]; - dns_rdataset_t rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdata_t tmprdata = DNS_RDATA_INIT; + unsigned char buffer[DNS_NSEC_BUFFERSIZE]; + char namebuf[DNS_NAME_FORMATSIZE]; + char nextbuf[DNS_NAME_FORMATSIZE]; + char found[DNS_NAME_FORMATSIZE]; + dns_rdataset_t rdataset; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t tmprdata = DNS_RDATA_INIT; dns_rdata_nsec_t nsec; - isc_result_t result; + isc_result_t result; dns_rdataset_init(&rdataset); result = dns_db_findrdataset(vctx->db, node, vctx->ver, - dns_rdatatype_nsec, 0, 0, &rdataset, - NULL); + dns_rdatatype_nsec, 0, 0, &rdataset, NULL); if (result != ISC_R_SUCCESS) { dns_name_format(name, namebuf, sizeof(namebuf)); zoneverify_log_error(vctx, "Missing NSEC record for %s", @@ -298,7 +297,7 @@ verifynsec(const vctx_t *vctx, const dns_name_t *name, dns_dbnode_t *node, *vresult = ISC_R_SUCCESS; result = ISC_R_SUCCESS; - done: +done: if (dns_rdataset_isassociated(&rdataset)) { dns_rdataset_disassociate(&rdataset); } @@ -310,11 +309,11 @@ static isc_result_t check_no_rrsig(const vctx_t *vctx, const dns_rdataset_t *rdataset, const dns_name_t *name, dns_dbnode_t *node) { - char namebuf[DNS_NAME_FORMATSIZE]; - char typebuf[DNS_RDATATYPE_FORMATSIZE]; - dns_rdataset_t sigrdataset; + char namebuf[DNS_NAME_FORMATSIZE]; + char typebuf[DNS_RDATATYPE_FORMATSIZE]; + dns_rdataset_t sigrdataset; dns_rdatasetiter_t *rdsiter = NULL; - isc_result_t result; + isc_result_t result; dns_rdataset_init(&sigrdataset); result = dns_db_allrdatasets(vctx->db, node, vctx->ver, 0, &rdsiter); @@ -323,14 +322,11 @@ check_no_rrsig(const vctx_t *vctx, const dns_rdataset_t *rdataset, isc_result_totext(result)); return (result); } - for (result = dns_rdatasetiter_first(rdsiter); - result == ISC_R_SUCCESS; - result = dns_rdatasetiter_next(rdsiter)) - { + for (result = dns_rdatasetiter_first(rdsiter); result == ISC_R_SUCCESS; + result = dns_rdatasetiter_next(rdsiter)) { dns_rdatasetiter_current(rdsiter, &sigrdataset); if (sigrdataset.type == dns_rdatatype_rrsig && - sigrdataset.covers == rdataset->type) - { + sigrdataset.covers == rdataset->type) { break; } dns_rdataset_disassociate(&sigrdataset); @@ -352,9 +348,10 @@ check_no_rrsig(const vctx_t *vctx, const dns_rdataset_t *rdataset, } static bool -chain_compare(void *arg1, void *arg2) { +chain_compare(void *arg1, void *arg2) +{ struct nsec3_chain_fixed *e1 = arg1, *e2 = arg2; - size_t len; + size_t len; /* * Do each element in turn to get a stable sort. @@ -420,9 +417,9 @@ record_nsec3(const vctx_t *vctx, const unsigned char *rawhash, const dns_rdata_nsec3_t *nsec3, isc_heap_t *chains) { struct nsec3_chain_fixed *element; - size_t len; - unsigned char *cp; - isc_result_t result; + size_t len; + unsigned char * cp; + isc_result_t result; len = sizeof(*element) + nsec3->next_length * 2 + nsec3->salt_length; @@ -453,19 +450,17 @@ match_nsec3(const vctx_t *vctx, const dns_name_t *name, const unsigned char types[8192], unsigned int maxtype, const unsigned char *rawhash, size_t rhsize, isc_result_t *vresult) { - unsigned char cbm[8244]; - char namebuf[DNS_NAME_FORMATSIZE]; + unsigned char cbm[8244]; + char namebuf[DNS_NAME_FORMATSIZE]; dns_rdata_nsec3_t nsec3; - isc_result_t result; - unsigned int len; + isc_result_t result; + unsigned int len; /* * Find matching NSEC3 record. */ - for (result = dns_rdataset_first(rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(rdataset)) - { + for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(rdataset, &rdata); result = dns_rdata_tostruct(&rdata, &nsec3, NULL); @@ -475,8 +470,7 @@ match_nsec3(const vctx_t *vctx, const dns_name_t *name, nsec3.iterations == nsec3param->iterations && nsec3.salt_length == nsec3param->salt_length && memcmp(nsec3.salt, nsec3param->salt, - nsec3param->salt_length) == 0) - { + nsec3param->salt_length) == 0) { break; } } @@ -516,10 +510,8 @@ match_nsec3(const vctx_t *vctx, const dns_name_t *name, * Make sure there is only one NSEC3 record with this set of * parameters. */ - for (result = dns_rdataset_next(rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(rdataset)) - { + for (result = dns_rdataset_next(rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(rdataset, &rdata); result = dns_rdata_tostruct(&rdata, &nsec3, NULL); @@ -527,9 +519,8 @@ match_nsec3(const vctx_t *vctx, const dns_name_t *name, if (nsec3.hash == nsec3param->hash && nsec3.iterations == nsec3param->iterations && nsec3.salt_length == nsec3param->salt_length && - memcmp(nsec3.salt, nsec3param->salt, - nsec3.salt_length) == 0) - { + memcmp(nsec3.salt, nsec3param->salt, nsec3.salt_length) == + 0) { dns_name_format(name, namebuf, sizeof(namebuf)); zoneverify_log_error(vctx, "Multiple NSEC3 records with the " @@ -549,26 +540,24 @@ match_nsec3(const vctx_t *vctx, const dns_name_t *name, } static bool -innsec3params(const dns_rdata_nsec3_t *nsec3, dns_rdataset_t *nsec3paramset) { +innsec3params(const dns_rdata_nsec3_t *nsec3, dns_rdataset_t *nsec3paramset) +{ dns_rdata_nsec3param_t nsec3param; - isc_result_t result; + isc_result_t result; for (result = dns_rdataset_first(nsec3paramset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(nsec3paramset)) - { + result = dns_rdataset_next(nsec3paramset)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(nsec3paramset, &rdata); result = dns_rdata_tostruct(&rdata, &nsec3param, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); - if (nsec3param.flags == 0 && - nsec3param.hash == nsec3->hash && + if (nsec3param.flags == 0 && nsec3param.hash == nsec3->hash && nsec3param.iterations == nsec3->iterations && nsec3param.salt_length == nsec3->salt_length && - memcmp(nsec3param.salt, nsec3->salt, - nsec3->salt_length) == 0) - { + memcmp(nsec3param.salt, nsec3->salt, nsec3->salt_length) == + 0) { return (true); } } @@ -579,16 +568,15 @@ static isc_result_t record_found(const vctx_t *vctx, const dns_name_t *name, dns_dbnode_t *node, dns_rdataset_t *nsec3paramset) { - unsigned char owner[NSEC3_MAX_HASH_LENGTH]; + unsigned char owner[NSEC3_MAX_HASH_LENGTH]; dns_rdata_nsec3_t nsec3; - dns_rdataset_t rdataset; - dns_label_t hashlabel; - isc_buffer_t b; - isc_result_t result; + dns_rdataset_t rdataset; + dns_label_t hashlabel; + isc_buffer_t b; + isc_result_t result; if (nsec3paramset == NULL || - !dns_rdataset_isassociated(nsec3paramset)) - { + !dns_rdataset_isassociated(nsec3paramset)) { return (ISC_R_SUCCESS); } @@ -609,10 +597,8 @@ record_found(const vctx_t *vctx, const dns_name_t *name, dns_dbnode_t *node, goto cleanup; } - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(&rdataset)) - { + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(&rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(&rdataset, &rdata); result = dns_rdata_tostruct(&rdata, &nsec3, NULL); @@ -640,25 +626,24 @@ record_found(const vctx_t *vctx, const dns_name_t *name, dns_dbnode_t *node, } result = ISC_R_SUCCESS; - cleanup: +cleanup: dns_rdataset_disassociate(&rdataset); return (result); } static isc_result_t -isoptout(const vctx_t *vctx, const dns_rdata_t *nsec3rdata, - bool *optout) +isoptout(const vctx_t *vctx, const dns_rdata_t *nsec3rdata, bool *optout) { - dns_rdataset_t rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdata_nsec3_t nsec3; + dns_rdataset_t rdataset; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_nsec3_t nsec3; dns_rdata_nsec3param_t nsec3param; - dns_fixedname_t fixed; - dns_name_t *hashname; - isc_result_t result; - dns_dbnode_t *node = NULL; - unsigned char rawhash[NSEC3_MAX_HASH_LENGTH]; - size_t rhsize = sizeof(rawhash); + dns_fixedname_t fixed; + dns_name_t * hashname; + isc_result_t result; + dns_dbnode_t * node = NULL; + unsigned char rawhash[NSEC3_MAX_HASH_LENGTH]; + size_t rhsize = sizeof(rawhash); result = dns_rdata_tostruct(nsec3rdata, &nsec3param, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); @@ -701,7 +686,7 @@ isoptout(const vctx_t *vctx, const dns_rdata_t *nsec3rdata, RUNTIME_CHECK(result == ISC_R_SUCCESS); *optout = ((nsec3.flags & DNS_NSEC3FLAG_OPTOUT) != 0); - done: +done: if (dns_rdataset_isassociated(&rdataset)) { dns_rdataset_disassociate(&rdataset); } @@ -714,21 +699,21 @@ isoptout(const vctx_t *vctx, const dns_rdata_t *nsec3rdata, static isc_result_t verifynsec3(const vctx_t *vctx, const dns_name_t *name, - const dns_rdata_t *rdata, bool delegation, - bool empty, const unsigned char types[8192], - unsigned int maxtype, isc_result_t *vresult) + const dns_rdata_t *rdata, bool delegation, bool empty, + const unsigned char types[8192], unsigned int maxtype, + isc_result_t *vresult) { - char namebuf[DNS_NAME_FORMATSIZE]; - char hashbuf[DNS_NAME_FORMATSIZE]; - dns_rdataset_t rdataset; + char namebuf[DNS_NAME_FORMATSIZE]; + char hashbuf[DNS_NAME_FORMATSIZE]; + dns_rdataset_t rdataset; dns_rdata_nsec3param_t nsec3param; - dns_fixedname_t fixed; - dns_name_t *hashname; - isc_result_t result, tvresult = ISC_R_UNSET; - dns_dbnode_t *node = NULL; - unsigned char rawhash[NSEC3_MAX_HASH_LENGTH]; - size_t rhsize = sizeof(rawhash); - bool optout = false; + dns_fixedname_t fixed; + dns_name_t * hashname; + isc_result_t result, tvresult = ISC_R_UNSET; + dns_dbnode_t * node = NULL; + unsigned char rawhash[NSEC3_MAX_HASH_LENGTH]; + size_t rhsize = sizeof(rawhash); + bool optout = false; result = dns_rdata_tostruct(rdata, &nsec3param, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); @@ -747,10 +732,9 @@ verifynsec3(const vctx_t *vctx, const dns_name_t *name, } dns_fixedname_init(&fixed); - result = dns_nsec3_hashname(&fixed, rawhash, &rhsize, name, - vctx->origin, nsec3param.hash, - nsec3param.iterations, nsec3param.salt, - nsec3param.salt_length); + result = dns_nsec3_hashname( + &fixed, rawhash, &rhsize, name, vctx->origin, nsec3param.hash, + nsec3param.iterations, nsec3param.salt, nsec3param.salt_length); if (result != ISC_R_SUCCESS) { zoneverify_log_error(vctx, "dns_nsec3_hashname(): %s", isc_result_totext(result)); @@ -773,15 +757,13 @@ verifynsec3(const vctx_t *vctx, const dns_name_t *name, } if (result != ISC_R_SUCCESS && (!delegation || (empty && !optout) || - (!empty && dns_nsec_isset(types, dns_rdatatype_ds)))) - { + (!empty && dns_nsec_isset(types, dns_rdatatype_ds)))) { dns_name_format(name, namebuf, sizeof(namebuf)); dns_name_format(hashname, hashbuf, sizeof(hashbuf)); zoneverify_log_error(vctx, "Missing NSEC3 record for %s (%s)", namebuf, hashbuf); - } else if (result == ISC_R_NOTFOUND && - delegation && (!empty || optout)) - { + } else if (result == ISC_R_NOTFOUND && delegation && + (!empty || optout)) { result = ISC_R_SUCCESS; } else if (result == ISC_R_SUCCESS) { result = match_nsec3(vctx, name, &nsec3param, &rdataset, types, @@ -795,7 +777,7 @@ verifynsec3(const vctx_t *vctx, const dns_name_t *name, *vresult = result; result = ISC_R_SUCCESS; - done: +done: if (dns_rdataset_isassociated(&rdataset)) { dns_rdataset_disassociate(&rdataset); } @@ -808,16 +790,15 @@ verifynsec3(const vctx_t *vctx, const dns_name_t *name, static isc_result_t verifynsec3s(const vctx_t *vctx, const dns_name_t *name, - dns_rdataset_t *nsec3paramset, bool delegation, - bool empty, const unsigned char types[8192], - unsigned int maxtype, isc_result_t *vresult) + dns_rdataset_t *nsec3paramset, bool delegation, bool empty, + const unsigned char types[8192], unsigned int maxtype, + isc_result_t *vresult) { isc_result_t result; for (result = dns_rdataset_first(nsec3paramset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(nsec3paramset)) - { + result = dns_rdataset_next(nsec3paramset)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(nsec3paramset, &rdata); @@ -840,14 +821,14 @@ static isc_result_t verifyset(vctx_t *vctx, dns_rdataset_t *rdataset, const dns_name_t *name, dns_dbnode_t *node, dns_rdataset_t *keyrdataset) { - unsigned char set_algorithms[256]; - char namebuf[DNS_NAME_FORMATSIZE]; - char algbuf[DNS_SECALG_FORMATSIZE]; - char typebuf[DNS_RDATATYPE_FORMATSIZE]; - dns_rdataset_t sigrdataset; + unsigned char set_algorithms[256]; + char namebuf[DNS_NAME_FORMATSIZE]; + char algbuf[DNS_SECALG_FORMATSIZE]; + char typebuf[DNS_RDATATYPE_FORMATSIZE]; + dns_rdataset_t sigrdataset; dns_rdatasetiter_t *rdsiter = NULL; - isc_result_t result; - int i; + isc_result_t result; + int i; dns_rdataset_init(&sigrdataset); result = dns_db_allrdatasets(vctx->db, node, vctx->ver, 0, &rdsiter); @@ -856,14 +837,11 @@ verifyset(vctx_t *vctx, dns_rdataset_t *rdataset, const dns_name_t *name, isc_result_totext(result)); return (result); } - for (result = dns_rdatasetiter_first(rdsiter); - result == ISC_R_SUCCESS; - result = dns_rdatasetiter_next(rdsiter)) - { + for (result = dns_rdatasetiter_first(rdsiter); result == ISC_R_SUCCESS; + result = dns_rdatasetiter_next(rdsiter)) { dns_rdatasetiter_current(rdsiter, &sigrdataset); if (sigrdataset.type == dns_rdatatype_rrsig && - sigrdataset.covers == rdataset->type) - { + sigrdataset.covers == rdataset->type) { break; } dns_rdataset_disassociate(&sigrdataset); @@ -871,8 +849,8 @@ verifyset(vctx_t *vctx, dns_rdataset_t *rdataset, const dns_name_t *name, if (result != ISC_R_SUCCESS) { dns_name_format(name, namebuf, sizeof(namebuf)); dns_rdatatype_format(rdataset->type, typebuf, sizeof(typebuf)); - zoneverify_log_error(vctx, "No signatures for %s/%s", - namebuf, typebuf); + zoneverify_log_error(vctx, "No signatures for %s/%s", namebuf, + typebuf); for (i = 0; i < 256; i++) { if (vctx->act_algorithms[i] != 0) { vctx->bad_algorithms[i] = 1; @@ -883,11 +861,9 @@ verifyset(vctx_t *vctx, dns_rdataset_t *rdataset, const dns_name_t *name, } memset(set_algorithms, 0, sizeof(set_algorithms)); - for (result = dns_rdataset_first(&sigrdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(&sigrdataset)) - { - dns_rdata_t rdata = DNS_RDATA_INIT; + for (result = dns_rdataset_first(&sigrdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(&sigrdataset)) { + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_rrsig_t sig; dns_rdataset_current(&sigrdataset, &rdata); @@ -904,8 +880,7 @@ verifyset(vctx_t *vctx, dns_rdataset_t *rdataset, const dns_name_t *name, continue; } if ((set_algorithms[sig.algorithm] != 0) || - (vctx->act_algorithms[sig.algorithm] == 0)) - { + (vctx->act_algorithms[sig.algorithm] == 0)) { continue; } if (goodsig(vctx, &rdata, name, keyrdataset, rdataset)) { @@ -917,14 +892,12 @@ verifyset(vctx_t *vctx, dns_rdataset_t *rdataset, const dns_name_t *name, result = ISC_R_SUCCESS; if (memcmp(set_algorithms, vctx->act_algorithms, - sizeof(set_algorithms))) - { + sizeof(set_algorithms))) { dns_name_format(name, namebuf, sizeof(namebuf)); dns_rdatatype_format(rdataset->type, typebuf, sizeof(typebuf)); for (i = 0; i < 256; i++) { if ((vctx->act_algorithms[i] != 0) && - (set_algorithms[i] == 0)) - { + (set_algorithms[i] == 0)) { dns_secalg_format(i, algbuf, sizeof(algbuf)); zoneverify_log_error(vctx, "No correct %s signature " @@ -935,7 +908,7 @@ verifyset(vctx_t *vctx, dns_rdataset_t *rdataset, const dns_name_t *name, } } - done: +done: if (dns_rdataset_isassociated(&sigrdataset)) { dns_rdataset_disassociate(&sigrdataset); } @@ -950,10 +923,11 @@ verifynode(vctx_t *vctx, const dns_name_t *name, dns_dbnode_t *node, dns_rdataset_t *nsecset, dns_rdataset_t *nsec3paramset, const dns_name_t *nextname, isc_result_t *vresult) { - unsigned char types[8192]; - unsigned int maxtype = 0; - dns_rdataset_t rdataset; dns_rdatasetiter_t *rdsiter = NULL; - isc_result_t result, tvresult = ISC_R_UNSET; + unsigned char types[8192]; + unsigned int maxtype = 0; + dns_rdataset_t rdataset; + dns_rdatasetiter_t *rdsiter = NULL; + isc_result_t result, tvresult = ISC_R_UNSET; REQUIRE(vresult != NULL || (nsecset == NULL && nsec3paramset == NULL)); @@ -978,8 +952,7 @@ verifynode(vctx_t *vctx, const dns_name_t *name, dns_dbnode_t *node, if (rdataset.type != dns_rdatatype_rrsig && rdataset.type != dns_rdatatype_dnskey && (!delegation || rdataset.type == dns_rdatatype_ds || - rdataset.type == dns_rdatatype_nsec)) - { + rdataset.type == dns_rdatatype_nsec)) { result = verifyset(vctx, &rdataset, name, node, keyrdataset); if (result != ISC_R_SUCCESS) { @@ -992,8 +965,7 @@ verifynode(vctx_t *vctx, const dns_name_t *name, dns_dbnode_t *node, maxtype = rdataset.type; } } else if (rdataset.type != dns_rdatatype_rrsig && - rdataset.type != dns_rdatatype_dnskey) - { + rdataset.type != dns_rdatatype_dnskey) { if (rdataset.type == dns_rdatatype_ns) { dns_nsec_setbit(types, rdataset.type, 1); } @@ -1030,9 +1002,7 @@ verifynode(vctx_t *vctx, const dns_name_t *name, dns_dbnode_t *node, *vresult = tvresult; } - if (nsec3paramset != NULL && - dns_rdataset_isassociated(nsec3paramset)) - { + if (nsec3paramset != NULL && dns_rdataset_isassociated(nsec3paramset)) { result = verifynsec3s(vctx, name, nsec3paramset, delegation, false, types, maxtype, &tvresult); if (result != ISC_R_SUCCESS) { @@ -1047,9 +1017,10 @@ verifynode(vctx_t *vctx, const dns_name_t *name, dns_dbnode_t *node, } static isc_result_t -is_empty(const vctx_t *vctx, dns_dbnode_t *node, bool *empty) { +is_empty(const vctx_t *vctx, dns_dbnode_t *node, bool *empty) +{ dns_rdatasetiter_t *rdsiter = NULL; - isc_result_t result; + isc_result_t result; result = dns_db_allrdatasets(vctx->db, node, vctx->ver, 0, &rdsiter); if (result != ISC_R_SUCCESS) { @@ -1066,15 +1037,15 @@ is_empty(const vctx_t *vctx, dns_dbnode_t *node, bool *empty) { } static isc_result_t -check_no_nsec(const vctx_t *vctx, const dns_name_t *name, dns_dbnode_t *node) { - bool nsec_exists = false; +check_no_nsec(const vctx_t *vctx, const dns_name_t *name, dns_dbnode_t *node) +{ + bool nsec_exists = false; dns_rdataset_t rdataset; - isc_result_t result; + isc_result_t result; dns_rdataset_init(&rdataset); result = dns_db_findrdataset(vctx->db, node, vctx->ver, - dns_rdatatype_nsec, 0, 0, &rdataset, - NULL); + dns_rdatatype_nsec, 0, 0, &rdataset, NULL); if (result != ISC_R_NOTFOUND) { char namebuf[DNS_NAME_FORMATSIZE]; dns_name_format(name, namebuf, sizeof(namebuf)); @@ -1094,19 +1065,18 @@ static bool newchain(const struct nsec3_chain_fixed *first, const struct nsec3_chain_fixed *e) { - if (first->hash != e->hash || - first->iterations != e->iterations || + if (first->hash != e->hash || first->iterations != e->iterations || first->salt_length != e->salt_length || first->next_length != e->next_length || - memcmp(first + 1, e + 1, first->salt_length) != 0) - { + memcmp(first + 1, e + 1, first->salt_length) != 0) { return (true); } return (false); } static void -free_element(isc_mem_t *mctx, struct nsec3_chain_fixed *e) { +free_element(isc_mem_t *mctx, struct nsec3_chain_fixed *e) +{ size_t len; len = sizeof(*e) + e->salt_length + 2 * e->next_length; @@ -1114,22 +1084,23 @@ free_element(isc_mem_t *mctx, struct nsec3_chain_fixed *e) { } static void -free_element_heap(void *element, void *uap) { +free_element_heap(void *element, void *uap) +{ struct nsec3_chain_fixed *e = (struct nsec3_chain_fixed *)element; - isc_mem_t *mctx = (isc_mem_t *)uap; + isc_mem_t * mctx = (isc_mem_t *)uap; free_element(mctx, e); } static bool _checknext(const vctx_t *vctx, const struct nsec3_chain_fixed *first, - const struct nsec3_chain_fixed *e) + const struct nsec3_chain_fixed *e) { - char buf[512]; + char buf[512]; const unsigned char *d1 = (const unsigned char *)(first + 1); const unsigned char *d2 = (const unsigned char *)(e + 1); - isc_buffer_t b; - isc_region_t sr; + isc_buffer_t b; + isc_region_t sr; d1 += first->salt_length + first->next_length; d2 += e->salt_length; @@ -1163,10 +1134,8 @@ _checknext(const vctx_t *vctx, const struct nsec3_chain_fixed *first, } static inline bool -checknext(isc_mem_t *mctx, - const vctx_t *vctx, - const struct nsec3_chain_fixed *first, - struct nsec3_chain_fixed *prev, +checknext(isc_mem_t *mctx, const vctx_t *vctx, + const struct nsec3_chain_fixed *first, struct nsec3_chain_fixed *prev, const struct nsec3_chain_fixed *cur) { bool result = _checknext(vctx, prev, cur); @@ -1179,9 +1148,7 @@ checknext(isc_mem_t *mctx, } static inline bool -checklast(isc_mem_t *mctx, - const vctx_t *vctx, - struct nsec3_chain_fixed *first, +checklast(isc_mem_t *mctx, const vctx_t *vctx, struct nsec3_chain_fixed *first, struct nsec3_chain_fixed *prev) { bool result = _checknext(vctx, prev, first); @@ -1194,8 +1161,9 @@ checklast(isc_mem_t *mctx, } static isc_result_t -verify_nsec3_chains(const vctx_t *vctx, isc_mem_t *mctx) { - isc_result_t result = ISC_R_SUCCESS; +verify_nsec3_chains(const vctx_t *vctx, isc_mem_t *mctx) +{ + isc_result_t result = ISC_R_SUCCESS; struct nsec3_chain_fixed *e, *f = NULL; struct nsec3_chain_fixed *first = NULL, *prev = NULL; @@ -1215,10 +1183,11 @@ verify_nsec3_chains(const vctx_t *vctx, isc_mem_t *mctx) { f = NULL; } else { if (result == ISC_R_SUCCESS) { - zoneverify_log_error( - vctx, - "Expected and found NSEC3 " - "chains not equal"); + zoneverify_log_error(vctx, "Expected " + "and found " + "NSEC3 " + "chains not " + "equal"); } result = ISC_R_FAILURE; /* @@ -1226,8 +1195,8 @@ verify_nsec3_chains(const vctx_t *vctx, isc_mem_t *mctx) { */ while (f != NULL && !chain_compare(e, f)) { free_element(mctx, f); - f = isc_heap_element( - vctx->found_chains, 1); + f = isc_heap_element(vctx->found_chains, + 1); if (f != NULL) { isc_heap_delete( vctx->found_chains, 1); @@ -1240,9 +1209,9 @@ verify_nsec3_chains(const vctx_t *vctx, isc_mem_t *mctx) { } } } else if (result == ISC_R_SUCCESS) { - zoneverify_log_error(vctx, - "Expected and found NSEC3 chains " - "not equal"); + zoneverify_log_error(vctx, "Expected and found NSEC3 " + "chains " + "not equal"); result = ISC_R_FAILURE; } @@ -1270,9 +1239,9 @@ verify_nsec3_chains(const vctx_t *vctx, isc_mem_t *mctx) { do { if (f != NULL) { if (result == ISC_R_SUCCESS) { - zoneverify_log_error(vctx, - "Expected and found " - "NSEC3 chains not equal"); + zoneverify_log_error(vctx, "Expected and found " + "NSEC3 chains not " + "equal"); result = ISC_R_FAILURE; } free_element(mctx, f); @@ -1292,10 +1261,10 @@ verifyemptynodes(const vctx_t *vctx, const dns_name_t *name, dns_rdataset_t *nsec3paramset, isc_result_t *vresult) { dns_namereln_t reln; - int order; - unsigned int labels, nlabels, i; - dns_name_t suffix; - isc_result_t result, tvresult = ISC_R_UNSET; + int order; + unsigned int labels, nlabels, i; + dns_name_t suffix; + isc_result_t result, tvresult = ISC_R_UNSET; *vresult = ISC_R_SUCCESS; @@ -1307,19 +1276,16 @@ verifyemptynodes(const vctx_t *vctx, const dns_name_t *name, nlabels = dns_name_countlabels(name); if (reln == dns_namereln_commonancestor || - reln == dns_namereln_contains) - { + reln == dns_namereln_contains) { dns_name_init(&suffix, NULL); for (i = labels + 1; i < nlabels; i++) { dns_name_getlabelsequence(name, nlabels - i, i, &suffix); if (nsec3paramset != NULL && - dns_rdataset_isassociated(nsec3paramset)) - { - result = verifynsec3s(vctx, &suffix, - nsec3paramset, - isdelegation, true, - NULL, 0, &tvresult); + dns_rdataset_isassociated(nsec3paramset)) { + result = verifynsec3s( + vctx, &suffix, nsec3paramset, + isdelegation, true, NULL, 0, &tvresult); if (result != ISC_R_SUCCESS) { return (result); } @@ -1378,7 +1344,8 @@ vctx_init(vctx_t *vctx, isc_mem_t *mctx, dns_zone_t *zone, dns_db_t *db, } static void -vctx_destroy(vctx_t *vctx) { +vctx_destroy(vctx_t *vctx) +{ if (dns_rdataset_isassociated(&vctx->keyset)) { dns_rdataset_disassociate(&vctx->keyset); } @@ -1410,9 +1377,10 @@ vctx_destroy(vctx_t *vctx) { } static isc_result_t -check_apex_rrsets(vctx_t *vctx) { +check_apex_rrsets(vctx_t *vctx) +{ dns_dbnode_t *node = NULL; - isc_result_t result; + isc_result_t result; result = dns_db_findnode(vctx->db, vctx->origin, false, &node); if (result != ISC_R_SUCCESS) { @@ -1423,86 +1391,78 @@ check_apex_rrsets(vctx_t *vctx) { } result = dns_db_findrdataset(vctx->db, node, vctx->ver, - dns_rdatatype_dnskey, 0, 0, - &vctx->keyset, &vctx->keysigs); + dns_rdatatype_dnskey, 0, 0, &vctx->keyset, + &vctx->keysigs); if (result != ISC_R_SUCCESS) { zoneverify_log_error(vctx, "Zone contains no DNSSEC keys"); goto done; } result = dns_db_findrdataset(vctx->db, node, vctx->ver, - dns_rdatatype_soa, 0, 0, - &vctx->soaset, &vctx->soasigs); + dns_rdatatype_soa, 0, 0, &vctx->soaset, + &vctx->soasigs); if (result != ISC_R_SUCCESS) { zoneverify_log_error(vctx, "Zone contains no SOA record"); goto done; } result = dns_db_findrdataset(vctx->db, node, vctx->ver, - dns_rdatatype_nsec, 0, 0, - &vctx->nsecset, &vctx->nsecsigs); + dns_rdatatype_nsec, 0, 0, &vctx->nsecset, + &vctx->nsecsigs); if (result != ISC_R_SUCCESS && result != ISC_R_NOTFOUND) { zoneverify_log_error(vctx, "NSEC lookup failed"); goto done; } - result = dns_db_findrdataset(vctx->db, node, vctx->ver, - dns_rdatatype_nsec3param, 0, 0, - &vctx->nsec3paramset, - &vctx->nsec3paramsigs); + result = dns_db_findrdataset( + vctx->db, node, vctx->ver, dns_rdatatype_nsec3param, 0, 0, + &vctx->nsec3paramset, &vctx->nsec3paramsigs); if (result != ISC_R_SUCCESS && result != ISC_R_NOTFOUND) { zoneverify_log_error(vctx, "NSEC3PARAM lookup failed"); goto done; } if (!dns_rdataset_isassociated(&vctx->keysigs)) { - zoneverify_log_error(vctx, - "DNSKEY is not signed " - "(keys offline or inactive?)"); + zoneverify_log_error(vctx, "DNSKEY is not signed " + "(keys offline or inactive?)"); result = ISC_R_FAILURE; goto done; } if (!dns_rdataset_isassociated(&vctx->soasigs)) { - zoneverify_log_error(vctx, - "SOA is not signed " - "(keys offline or inactive?)"); + zoneverify_log_error(vctx, "SOA is not signed " + "(keys offline or inactive?)"); result = ISC_R_FAILURE; goto done; } if (dns_rdataset_isassociated(&vctx->nsecset) && - !dns_rdataset_isassociated(&vctx->nsecsigs)) - { - zoneverify_log_error(vctx, - "NSEC is not signed " - "(keys offline or inactive?)"); + !dns_rdataset_isassociated(&vctx->nsecsigs)) { + zoneverify_log_error(vctx, "NSEC is not signed " + "(keys offline or inactive?)"); result = ISC_R_FAILURE; goto done; } if (dns_rdataset_isassociated(&vctx->nsec3paramset) && - !dns_rdataset_isassociated(&vctx->nsec3paramsigs)) - { - zoneverify_log_error(vctx, - "NSEC3PARAM is not signed " - "(keys offline or inactive?)"); + !dns_rdataset_isassociated(&vctx->nsec3paramsigs)) { + zoneverify_log_error(vctx, "NSEC3PARAM is not signed " + "(keys offline or inactive?)"); result = ISC_R_FAILURE; goto done; } if (!dns_rdataset_isassociated(&vctx->nsecset) && - !dns_rdataset_isassociated(&vctx->nsec3paramset)) - { - zoneverify_log_error(vctx, - "No valid NSEC/NSEC3 chain for testing"); + !dns_rdataset_isassociated(&vctx->nsec3paramset)) { + zoneverify_log_error(vctx, "No valid NSEC/NSEC3 chain for " + "testing"); result = ISC_R_FAILURE; goto done; } result = ISC_R_SUCCESS; - done: +done: dns_db_detachnode(vctx->db, &node); return (result); @@ -1522,11 +1482,11 @@ static void check_dnskey_sigs(vctx_t *vctx, const dns_rdata_dnskey_t *dnskey, dns_rdata_t *keyrdata, bool is_ksk) { - unsigned char *active_keys = NULL, *standby_keys = NULL; - dns_keynode_t *keynode = NULL; - bool *goodkey = NULL; - dst_key_t *key = NULL; - isc_result_t result; + unsigned char * active_keys = NULL, *standby_keys = NULL; + dns_keynode_t * keynode = NULL; + bool * goodkey = NULL; + dst_key_t * key = NULL; + isc_result_t result; dns_rdataset_t *dsset = NULL; active_keys = (is_ksk ? vctx->ksk_algorithms : vctx->zsk_algorithms); @@ -1537,12 +1497,10 @@ check_dnskey_sigs(vctx_t *vctx, const dns_rdata_dnskey_t *dnskey, * First, does this key sign the DNSKEY rrset? */ if (!dns_dnssec_selfsigns(keyrdata, vctx->origin, &vctx->keyset, - &vctx->keysigs, false, vctx->mctx)) - { + &vctx->keysigs, false, vctx->mctx)) { if (!is_ksk && dns_dnssec_signs(keyrdata, vctx->origin, &vctx->soaset, - &vctx->soasigs, false, vctx->mctx)) - { + &vctx->soasigs, false, vctx->mctx)) { if (active_keys[dnskey->algorithm] != 255) { active_keys[dnskey->algorithm]++; } @@ -1571,8 +1529,8 @@ check_dnskey_sigs(vctx_t *vctx, const dns_rdata_dnskey_t *dnskey, * Convert the supplied key rdata to dst_key_t. (If this * fails we can't go further.) */ - result = dns_dnssec_keyfromrdata(vctx->origin, keyrdata, - vctx->mctx, &key); + result = dns_dnssec_keyfromrdata(vctx->origin, keyrdata, vctx->mctx, + &key); RUNTIME_CHECK(result == ISC_R_SUCCESS); /* @@ -1595,11 +1553,10 @@ check_dnskey_sigs(vctx_t *vctx, const dns_rdata_dnskey_t *dnskey, if ((dsset = dns_keynode_dsset(keynode)) != NULL) { for (result = dns_rdataset_first(dsset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(dsset)) - { - dns_rdata_t dsrdata = DNS_RDATA_INIT; - dns_rdata_t newdsrdata = DNS_RDATA_INIT; - unsigned char buf[DNS_DS_BUFFERSIZE]; + result = dns_rdataset_next(dsset)) { + dns_rdata_t dsrdata = DNS_RDATA_INIT; + dns_rdata_t newdsrdata = DNS_RDATA_INIT; + unsigned char buf[DNS_DS_BUFFERSIZE]; dns_rdata_ds_t ds; dns_rdata_reset(&dsrdata); @@ -1608,8 +1565,7 @@ check_dnskey_sigs(vctx_t *vctx, const dns_rdata_dnskey_t *dnskey, RUNTIME_CHECK(result == ISC_R_SUCCESS); if (ds.key_tag != dst_key_id(key) || - ds.algorithm != dst_key_alg(key)) - { + ds.algorithm != dst_key_alg(key)) { continue; } @@ -1633,7 +1589,7 @@ check_dnskey_sigs(vctx_t *vctx, const dns_rdata_dnskey_t *dnskey, goto cleanup; } - cleanup: +cleanup: if (keynode != NULL) { dns_keytable_detachkeynode(vctx->secroots, &keynode); } @@ -1647,16 +1603,16 @@ check_dnskey_sigs(vctx_t *vctx, const dns_rdata_dnskey_t *dnskey, * algorithm in it (or, if -x was used, one self-signing KSK). */ static isc_result_t -check_dnskey(vctx_t *vctx) { - dns_rdata_t rdata = DNS_RDATA_INIT; +check_dnskey(vctx_t *vctx) +{ + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_dnskey_t dnskey; - isc_result_t result; - bool is_ksk; + isc_result_t result; + bool is_ksk; for (result = dns_rdataset_first(&vctx->keyset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(&vctx->keyset)) - { + result = dns_rdataset_next(&vctx->keyset)) { dns_rdataset_current(&vctx->keyset, &rdata); result = dns_rdata_tostruct(&rdata, &dnskey, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); @@ -1667,12 +1623,10 @@ check_dnskey(vctx_t *vctx) { } else if ((dnskey.flags & DNS_KEYFLAG_REVOKE) != 0) { if ((dnskey.flags & DNS_KEYFLAG_KSK) != 0 && !dns_dnssec_selfsigns(&rdata, vctx->origin, - &vctx->keyset, - &vctx->keysigs, false, - vctx->mctx)) - { - char namebuf[DNS_NAME_FORMATSIZE]; - char buffer[1024]; + &vctx->keyset, &vctx->keysigs, + false, vctx->mctx)) { + char namebuf[DNS_NAME_FORMATSIZE]; + char buffer[1024]; isc_buffer_t buf; dns_name_format(vctx->origin, namebuf, @@ -1681,26 +1635,24 @@ check_dnskey(vctx_t *vctx) { result = dns_rdata_totext(&rdata, NULL, &buf); if (result != ISC_R_SUCCESS) { zoneverify_log_error( - vctx, - "dns_rdata_totext: %s", + vctx, "dns_rdata_totext: %s", isc_result_totext(result)); return (ISC_R_FAILURE); } zoneverify_log_error( vctx, "revoked KSK is not self signed:\n" - "%s DNSKEY %.*s", namebuf, + "%s DNSKEY %.*s", + namebuf, (int)isc_buffer_usedlength(&buf), buffer); return (ISC_R_FAILURE); } if ((dnskey.flags & DNS_KEYFLAG_KSK) != 0 && - vctx->revoked_ksk[dnskey.algorithm] != 255) - { + vctx->revoked_ksk[dnskey.algorithm] != 255) { vctx->revoked_ksk[dnskey.algorithm]++; } else if ((dnskey.flags & DNS_KEYFLAG_KSK) == 0 && - vctx->revoked_zsk[dnskey.algorithm] != 255) - { + vctx->revoked_zsk[dnskey.algorithm] != 255) { vctx->revoked_zsk[dnskey.algorithm]++; } } else { @@ -1719,7 +1671,7 @@ determine_active_algorithms(vctx_t *vctx, bool ignore_kskflag, void (*report)(const char *, ...)) { char algbuf[DNS_SECALG_FORMATSIZE]; - int i; + int i; report("Verifying the zone using the following algorithms:"); @@ -1727,7 +1679,9 @@ determine_active_algorithms(vctx_t *vctx, bool ignore_kskflag, if (ignore_kskflag) { vctx->act_algorithms[i] = (vctx->ksk_algorithms[i] != 0 || - vctx->zsk_algorithms[i] != 0) ? 1 : 0; + vctx->zsk_algorithms[i] != 0) + ? 1 + : 0; } else { vctx->act_algorithms[i] = vctx->ksk_algorithms[i] != 0 ? 1 : 0; @@ -1749,16 +1703,15 @@ determine_active_algorithms(vctx_t *vctx, bool ignore_kskflag, * the algorithm as bad if this is not met. */ if ((vctx->ksk_algorithms[i] != 0) == - (vctx->zsk_algorithms[i] != 0)) - { + (vctx->zsk_algorithms[i] != 0)) { continue; } dns_secalg_format(i, algbuf, sizeof(algbuf)); - zoneverify_log_error(vctx, - "Missing %s for algorithm %s", - (vctx->ksk_algorithms[i] != 0) - ? "ZSK" - : "self-signed KSK", + zoneverify_log_error(vctx, "Missing %s for algorithm %s", + (vctx->ksk_algorithms[i] != 0) ? "ZSK" + : "self-" + "signed " + "KSK", algbuf); vctx->bad_algorithms[i] = 1; } @@ -1769,14 +1722,15 @@ determine_active_algorithms(vctx_t *vctx, bool ignore_kskflag, * present in the DNSKEY RRset. */ static isc_result_t -verify_nodes(vctx_t *vctx, isc_result_t *vresult) { - dns_fixedname_t fname, fnextname, fprevname, fzonecut; - dns_name_t *name, *nextname, *prevname, *zonecut; - dns_dbnode_t *node = NULL, *nextnode; +verify_nodes(vctx_t *vctx, isc_result_t *vresult) +{ + dns_fixedname_t fname, fnextname, fprevname, fzonecut; + dns_name_t * name, *nextname, *prevname, *zonecut; + dns_dbnode_t * node = NULL, *nextnode; dns_dbiterator_t *dbiter = NULL; - bool done = false; - isc_result_t tvresult = ISC_R_UNSET; - isc_result_t result; + bool done = false; + isc_result_t tvresult = ISC_R_UNSET; + isc_result_t result; name = dns_fixedname_initname(&fname); nextname = dns_fixedname_initname(&fnextname); @@ -1820,10 +1774,10 @@ verify_nodes(vctx_t *vctx, isc_result_t *vresult) { if (result == ISC_R_NOMORE) { done = true; } else if (result != ISC_R_SUCCESS) { - zoneverify_log_error( - vctx, - "dns_dbiterator_next(): %s", - isc_result_totext(result)); + zoneverify_log_error(vctx, + "dns_dbiterator_next(): " + "%s", + isc_result_totext(result)); goto done; } continue; @@ -1843,21 +1797,19 @@ verify_nodes(vctx_t *vctx, isc_result_t *vresult) { result = dns_dbiterator_current(dbiter, &nextnode, nextname); if (result != ISC_R_SUCCESS && - result != DNS_R_NEWORIGIN) - { - zoneverify_log_error( - vctx, - "dns_dbiterator_current(): %s", - isc_result_totext(result)); + result != DNS_R_NEWORIGIN) { + zoneverify_log_error(vctx, + "dns_dbiterator_current():" + " %s", + isc_result_totext(result)); dns_db_detachnode(vctx->db, &node); goto done; } if (!dns_name_issubdomain(nextname, vctx->origin) || (zonecut != NULL && - dns_name_issubdomain(nextname, zonecut))) - { - result = check_no_nsec(vctx, nextname, - nextnode); + dns_name_issubdomain(nextname, zonecut))) { + result = + check_no_nsec(vctx, nextname, nextnode); if (result != ISC_R_SUCCESS) { dns_db_detachnode(vctx->db, &node); dns_db_detachnode(vctx->db, &nextnode); @@ -1904,10 +1856,9 @@ verify_nodes(vctx_t *vctx, isc_result_t *vresult) { *vresult = tvresult; } if (prevname != NULL) { - result = verifyemptynodes(vctx, name, prevname, - isdelegation, - &vctx->nsec3paramset, - &tvresult); + result = verifyemptynodes( + vctx, name, prevname, isdelegation, + &vctx->nsec3paramset, &tvresult); if (result != ISC_R_SUCCESS) { dns_db_detachnode(vctx->db, &node); goto done; @@ -1931,10 +1882,8 @@ verify_nodes(vctx_t *vctx, isc_result_t *vresult) { return (result); } - for (result = dns_dbiterator_first(dbiter); - result == ISC_R_SUCCESS; - result = dns_dbiterator_next(dbiter)) - { + for (result = dns_dbiterator_first(dbiter); result == ISC_R_SUCCESS; + result = dns_dbiterator_next(dbiter)) { result = dns_dbiterator_current(dbiter, &node, name); if (result != ISC_R_SUCCESS && result != DNS_R_NEWORIGIN) { zoneverify_log_error(vctx, @@ -1959,17 +1908,18 @@ verify_nodes(vctx_t *vctx, isc_result_t *vresult) { result = ISC_R_SUCCESS; - done: +done: dns_dbiterator_destroy(&dbiter); return (result); } static isc_result_t -check_bad_algorithms(const vctx_t *vctx, void (*report)(const char *, ...)) { +check_bad_algorithms(const vctx_t *vctx, void (*report)(const char *, ...)) +{ char algbuf[DNS_SECALG_FORMATSIZE]; bool first = true; - int i; + int i; for (i = 0; i < 256; i++) { if (vctx->bad_algorithms[i] == 0) { @@ -1996,7 +1946,7 @@ print_summary(const vctx_t *vctx, bool keyset_kskonly, void (*report)(const char *, ...)) { char algbuf[DNS_SECALG_FORMATSIZE]; - int i; + int i; report("Zone fully signed:\n"); for (i = 0; i < 256; i++) { @@ -2005,20 +1955,17 @@ print_summary(const vctx_t *vctx, bool keyset_kskonly, (vctx->revoked_ksk[i] == 0) && (vctx->zsk_algorithms[i] == 0) && (vctx->standby_zsk[i] == 0) && - (vctx->revoked_zsk[i] == 0)) - { + (vctx->revoked_zsk[i] == 0)) { continue; } dns_secalg_format(i, algbuf, sizeof(algbuf)); report("Algorithm: %s: KSKs: " "%u active, %u stand-by, %u revoked\n", - algbuf, vctx->ksk_algorithms[i], - vctx->standby_ksk[i], + algbuf, vctx->ksk_algorithms[i], vctx->standby_ksk[i], vctx->revoked_ksk[i]); report("%*sZSKs: " "%u active, %u %s, %u revoked\n", - (int)strlen(algbuf) + 13, "", - vctx->zsk_algorithms[i], + (int)strlen(algbuf) + 13, "", vctx->zsk_algorithms[i], vctx->standby_zsk[i], keyset_kskonly ? "present" : "stand-by", vctx->revoked_zsk[i]); @@ -2028,13 +1975,12 @@ print_summary(const vctx_t *vctx, bool keyset_kskonly, isc_result_t dns_zoneverify_dnssec(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin, dns_keytable_t *secroots, - isc_mem_t *mctx, bool ignore_kskflag, - bool keyset_kskonly, + isc_mem_t *mctx, bool ignore_kskflag, bool keyset_kskonly, void (*report)(const char *, ...)) { - const char *keydesc = (secroots == NULL ? "self-signed" : "trusted"); + const char * keydesc = (secroots == NULL ? "self-signed" : "trusted"); isc_result_t result, vresult = ISC_R_UNSET; - vctx_t vctx; + vctx_t vctx; result = vctx_init(&vctx, mctx, zone, db, ver, origin, secroots); if (result != ISC_R_SUCCESS) { @@ -2097,7 +2043,7 @@ dns_zoneverify_dnssec(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, print_summary(&vctx, keyset_kskonly, report); } - done: +done: vctx_destroy(&vctx); return (result); diff --git a/lib/dns/zt.c b/lib/dns/zt.c index 43120c75d4..2a69476429 100644 --- a/lib/dns/zt.c +++ b/lib/dns/zt.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -34,31 +33,30 @@ struct zt_load_params { dns_zt_zoneloaded_t dl; - bool newonly; + bool newonly; }; struct dns_zt { /* Unlocked. */ - unsigned int magic; - isc_mem_t *mctx; - dns_rdataclass_t rdclass; - isc_rwlock_t rwlock; - dns_zt_allloaded_t loaddone; - void * loaddone_arg; - struct zt_load_params *loadparams; + unsigned int magic; + isc_mem_t * mctx; + dns_rdataclass_t rdclass; + isc_rwlock_t rwlock; + dns_zt_allloaded_t loaddone; + void * loaddone_arg; + struct zt_load_params *loadparams; /* Atomic */ - atomic_bool flush; - isc_refcount_t references; - isc_refcount_t loads_pending; + atomic_bool flush; + isc_refcount_t references; + isc_refcount_t loads_pending; /* Locked by lock. */ - dns_rbt_t *table; + dns_rbt_t *table; }; -#define ZTMAGIC ISC_MAGIC('Z', 'T', 'b', 'l') -#define VALID_ZT(zt) ISC_MAGIC_VALID(zt, ZTMAGIC) - +#define ZTMAGIC ISC_MAGIC('Z', 'T', 'b', 'l') +#define VALID_ZT(zt) ISC_MAGIC_VALID(zt, ZTMAGIC) static void auto_detach(void *, void *); @@ -76,8 +74,9 @@ static isc_result_t doneloading(dns_zt_t *zt, dns_zone_t *zone, isc_task_t *task); isc_result_t -dns_zt_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, dns_zt_t **ztp) { - dns_zt_t *zt; +dns_zt_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, dns_zt_t **ztp) +{ + dns_zt_t * zt; isc_result_t result; REQUIRE(ztp != NULL && *ztp == NULL); @@ -107,20 +106,21 @@ dns_zt_create(isc_mem_t *mctx, dns_rdataclass_t rdclass, dns_zt_t **ztp) { return (ISC_R_SUCCESS); - cleanup_rbt: +cleanup_rbt: dns_rbt_destroy(&zt->table); - cleanup_zt: +cleanup_zt: isc_mem_put(mctx, zt, sizeof(*zt)); return (result); } isc_result_t -dns_zt_mount(dns_zt_t *zt, dns_zone_t *zone) { +dns_zt_mount(dns_zt_t *zt, dns_zone_t *zone) +{ isc_result_t result; - dns_zone_t *dummy = NULL; - dns_name_t *name; + dns_zone_t * dummy = NULL; + dns_name_t * name; REQUIRE(VALID_ZT(zt)); @@ -138,9 +138,10 @@ dns_zt_mount(dns_zt_t *zt, dns_zone_t *zone) { } isc_result_t -dns_zt_unmount(dns_zt_t *zt, dns_zone_t *zone) { +dns_zt_unmount(dns_zt_t *zt, dns_zone_t *zone) +{ isc_result_t result; - dns_name_t *name; + dns_name_t * name; REQUIRE(VALID_ZT(zt)); @@ -160,7 +161,7 @@ dns_zt_find(dns_zt_t *zt, const dns_name_t *name, unsigned int options, dns_name_t *foundname, dns_zone_t **zonep) { isc_result_t result; - dns_zone_t *dummy = NULL; + dns_zone_t * dummy = NULL; unsigned int rbtoptions = 0; REQUIRE(VALID_ZT(zt)); @@ -171,7 +172,7 @@ dns_zt_find(dns_zt_t *zt, const dns_name_t *name, unsigned int options, RWLOCK(&zt->rwlock, isc_rwlocktype_read); result = dns_rbt_findname(zt->table, name, rbtoptions, foundname, - (void **) (void*)&dummy); + (void **)(void *)&dummy); if (result == ISC_R_SUCCESS || result == DNS_R_PARTIALMATCH) { /* * If DNS_ZTFIND_MIRROR is set and the zone which was @@ -192,8 +193,7 @@ dns_zt_find(dns_zt_t *zt, const dns_name_t *name, unsigned int options, */ if ((options & DNS_ZTFIND_MIRROR) != 0 && dns_zone_gettype(dummy) == dns_zone_mirror && - !dns_zone_isloaded(dummy)) - { + !dns_zone_isloaded(dummy)) { result = ISC_R_NOTFOUND; } else { dns_zone_attach(dummy, zonep); @@ -206,8 +206,8 @@ dns_zt_find(dns_zt_t *zt, const dns_name_t *name, unsigned int options, } void -dns_zt_attach(dns_zt_t *zt, dns_zt_t **ztp) { - +dns_zt_attach(dns_zt_t *zt, dns_zt_t **ztp) +{ REQUIRE(VALID_ZT(zt)); REQUIRE(ztp != NULL && *ztp == NULL); @@ -217,13 +217,15 @@ dns_zt_attach(dns_zt_t *zt, dns_zt_t **ztp) { } static isc_result_t -flush(dns_zone_t *zone, void *uap) { +flush(dns_zone_t *zone, void *uap) +{ UNUSED(uap); return (dns_zone_flush(zone)); } static void -zt_destroy(dns_zt_t *zt) { +zt_destroy(dns_zt_t *zt) +{ if (atomic_load_acquire(&zt->flush)) { (void)dns_zt_apply(zt, false, NULL, flush, NULL); } @@ -234,7 +236,8 @@ zt_destroy(dns_zt_t *zt) { } static void -zt_flushanddetach(dns_zt_t **ztp, bool need_flush) { +zt_flushanddetach(dns_zt_t **ztp, bool need_flush) +{ dns_zt_t *zt; REQUIRE(ztp != NULL && VALID_ZT(*ztp)); @@ -252,18 +255,21 @@ zt_flushanddetach(dns_zt_t **ztp, bool need_flush) { } void -dns_zt_flushanddetach(dns_zt_t **ztp) { +dns_zt_flushanddetach(dns_zt_t **ztp) +{ zt_flushanddetach(ztp, true); } void -dns_zt_detach(dns_zt_t **ztp) { +dns_zt_detach(dns_zt_t **ztp) +{ zt_flushanddetach(ztp, false); } isc_result_t -dns_zt_load(dns_zt_t *zt, bool stop, bool newonly) { - isc_result_t result; +dns_zt_load(dns_zt_t *zt, bool stop, bool newonly) +{ + isc_result_t result; struct zt_load_params params; REQUIRE(VALID_ZT(zt)); params.newonly = newonly; @@ -274,9 +280,10 @@ dns_zt_load(dns_zt_t *zt, bool stop, bool newonly) { } static isc_result_t -load(dns_zone_t *zone, void *paramsv) { - isc_result_t result; - struct zt_load_params *params = (struct zt_load_params*) paramsv; +load(dns_zone_t *zone, void *paramsv) +{ + isc_result_t result; + struct zt_load_params *params = (struct zt_load_params *)paramsv; result = dns_zone_load(zone, params->newonly); if (result == DNS_R_CONTINUE || result == DNS_R_UPTODATE || result == DNS_R_DYNAMIC) { @@ -286,9 +293,10 @@ load(dns_zone_t *zone, void *paramsv) { } static void -call_loaddone(dns_zt_t *zt) { +call_loaddone(dns_zt_t *zt) +{ dns_zt_allloaded_t loaddone = zt->loaddone; - void *loaddone_arg = zt->loaddone_arg; + void * loaddone_arg = zt->loaddone_arg; /* * Set zt->loaddone, zt->loaddone_arg and zt->loadparams to NULL @@ -309,10 +317,10 @@ call_loaddone(dns_zt_t *zt) { } isc_result_t -dns_zt_asyncload(dns_zt_t *zt, bool newonly, - dns_zt_allloaded_t alldone, void *arg) +dns_zt_asyncload(dns_zt_t *zt, bool newonly, dns_zt_allloaded_t alldone, + void *arg) { - isc_result_t result; + isc_result_t result; uint_fast32_t loads_pending; REQUIRE(VALID_ZT(zt)); @@ -360,9 +368,10 @@ dns_zt_asyncload(dns_zt_t *zt, bool newonly, * the zone loading is complete. */ static isc_result_t -asyncload(dns_zone_t *zone, void *zt_) { - isc_result_t result; - struct dns_zt *zt = (dns_zt_t*) zt_; +asyncload(dns_zone_t *zone, void *zt_) +{ + isc_result_t result; + struct dns_zt *zt = (dns_zt_t *)zt_; REQUIRE(zone != NULL); isc_refcount_increment(&zt->references); @@ -382,7 +391,8 @@ asyncload(dns_zone_t *zone, void *zt_) { } isc_result_t -dns_zt_freezezones(dns_zt_t *zt, bool freeze) { +dns_zt_freezezones(dns_zt_t *zt, bool freeze) +{ isc_result_t result, tresult; REQUIRE(VALID_ZT(zt)); @@ -396,17 +406,18 @@ dns_zt_freezezones(dns_zt_t *zt, bool freeze) { } static isc_result_t -freezezones(dns_zone_t *zone, void *uap) { - bool freeze = *(bool *)uap; - bool frozen; +freezezones(dns_zone_t *zone, void *uap) +{ + bool freeze = *(bool *)uap; + bool frozen; isc_result_t result = ISC_R_SUCCESS; - char classstr[DNS_RDATACLASS_FORMATSIZE]; - char zonename[DNS_NAME_FORMATSIZE]; - dns_zone_t *raw = NULL; - dns_view_t *view; - const char *vname; - const char *sep; - int level; + char classstr[DNS_RDATACLASS_FORMATSIZE]; + char zonename[DNS_NAME_FORMATSIZE]; + dns_zone_t * raw = NULL; + dns_view_t * view; + const char * vname; + const char * sep; + int level; dns_zone_getraw(zone, &raw); if (raw != NULL) @@ -439,9 +450,8 @@ freezezones(dns_zone_t *zone, void *uap) { } } view = dns_zone_getview(zone); - if (strcmp(view->name, "_bind") == 0 || - strcmp(view->name, "_default") == 0) - { + if (strcmp(view->name, "_bind") == 0 || strcmp(view->name, "_defaul" + "t") == 0) { vname = ""; sep = ""; } else { @@ -454,19 +464,19 @@ freezezones(dns_zone_t *zone, void *uap) { level = (result != ISC_R_SUCCESS) ? ISC_LOG_ERROR : ISC_LOG_DEBUG(1); isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_ZONE, level, "%s zone '%s/%s'%s%s: %s", - freeze ? "freezing" : "thawing", - zonename, classstr, sep, vname, - isc_result_totext(result)); + freeze ? "freezing" : "thawing", zonename, classstr, sep, + vname, isc_result_totext(result)); if (raw != NULL) dns_zone_detach(&raw); return (result); } void -dns_zt_setviewcommit(dns_zt_t *zt) { - dns_rbtnode_t *node; +dns_zt_setviewcommit(dns_zt_t *zt) +{ + dns_rbtnode_t * node; dns_rbtnodechain_t chain; - isc_result_t result; + isc_result_t result; REQUIRE(VALID_ZT(zt)); @@ -474,8 +484,7 @@ dns_zt_setviewcommit(dns_zt_t *zt) { result = dns_rbtnodechain_first(&chain, zt->table, NULL, NULL); while (result == DNS_R_NEWORIGIN || result == ISC_R_SUCCESS) { - result = dns_rbtnodechain_current(&chain, NULL, NULL, - &node); + result = dns_rbtnodechain_current(&chain, NULL, NULL, &node); if (result == ISC_R_SUCCESS && node->data != NULL) { dns_zone_setviewcommit(node->data); } @@ -487,10 +496,11 @@ dns_zt_setviewcommit(dns_zt_t *zt) { } void -dns_zt_setviewrevert(dns_zt_t *zt) { - dns_rbtnode_t *node; +dns_zt_setviewrevert(dns_zt_t *zt) +{ + dns_rbtnode_t * node; dns_rbtnodechain_t chain; - isc_result_t result; + isc_result_t result; REQUIRE(VALID_ZT(zt)); @@ -498,8 +508,7 @@ dns_zt_setviewrevert(dns_zt_t *zt) { result = dns_rbtnodechain_first(&chain, zt->table, NULL, NULL); while (result == DNS_R_NEWORIGIN || result == ISC_R_SUCCESS) { - result = dns_rbtnodechain_current(&chain, NULL, NULL, - &node); + result = dns_rbtnodechain_current(&chain, NULL, NULL, &node); if (result == ISC_R_SUCCESS && node->data != NULL) { dns_zone_setviewrevert(node->data); } @@ -514,10 +523,10 @@ isc_result_t dns_zt_apply(dns_zt_t *zt, bool stop, isc_result_t *sub, isc_result_t (*action)(dns_zone_t *, void *), void *uap) { - dns_rbtnode_t *node; + dns_rbtnode_t * node; dns_rbtnodechain_t chain; - isc_result_t result, tresult = ISC_R_SUCCESS; - dns_zone_t *zone; + isc_result_t result, tresult = ISC_R_SUCCESS; + dns_zone_t * zone; REQUIRE(VALID_ZT(zt)); REQUIRE(action != NULL); @@ -532,15 +541,14 @@ dns_zt_apply(dns_zt_t *zt, bool stop, isc_result_t *sub, result = ISC_R_NOMORE; } while (result == DNS_R_NEWORIGIN || result == ISC_R_SUCCESS) { - result = dns_rbtnodechain_current(&chain, NULL, NULL, - &node); + result = dns_rbtnodechain_current(&chain, NULL, NULL, &node); if (result == ISC_R_SUCCESS) { zone = node->data; if (zone != NULL) result = (action)(zone, uap); if (result != ISC_R_SUCCESS && stop) { tresult = result; - goto cleanup; /* don't break */ + goto cleanup; /* don't break */ } else if (result != ISC_R_SUCCESS && tresult == ISC_R_SUCCESS) tresult = result; @@ -550,7 +558,7 @@ dns_zt_apply(dns_zt_t *zt, bool stop, isc_result_t *sub, if (result == ISC_R_NOMORE) result = ISC_R_SUCCESS; - cleanup: +cleanup: dns_rbtnodechain_invalidate(&chain); if (sub != NULL) *sub = tresult; @@ -564,8 +572,8 @@ dns_zt_apply(dns_zt_t *zt, bool stop, isc_result_t *sub, * dns_zt_asyncload(). */ static isc_result_t -doneloading(dns_zt_t *zt, dns_zone_t *zone, isc_task_t *task) { - +doneloading(dns_zt_t *zt, dns_zone_t *zone, isc_task_t *task) +{ UNUSED(zone); UNUSED(task); @@ -587,7 +595,8 @@ doneloading(dns_zt_t *zt, dns_zone_t *zone, isc_task_t *task) { ***/ static void -auto_detach(void *data, void *arg) { +auto_detach(void *data, void *arg) +{ dns_zone_t *zone = data; UNUSED(arg); diff --git a/lib/irs/context.c b/lib/irs/context.c index de2796b4a6..c8fa51cb5e 100644 --- a/lib/irs/context.c +++ b/lib/irs/context.c @@ -29,8 +29,8 @@ #include #include -#define IRS_CONTEXT_MAGIC ISC_MAGIC('I', 'R', 'S', 'c') -#define IRS_CONTEXT_VALID(c) ISC_MAGIC_VALID(c, IRS_CONTEXT_MAGIC) +#define IRS_CONTEXT_MAGIC ISC_MAGIC('I', 'R', 'S', 'c') +#define IRS_CONTEXT_VALID(c) ISC_MAGIC_VALID(c, IRS_CONTEXT_MAGIC) #ifndef RESOLV_CONF /*% location of resolve.conf */ @@ -49,22 +49,21 @@ struct irs_context { * An IRS context is a thread-specific object, and does not need to * be locked. */ - unsigned int magic; - isc_mem_t *mctx; - isc_appctx_t *actx; - isc_taskmgr_t *taskmgr; - isc_task_t *task; - isc_socketmgr_t *socketmgr; - isc_timermgr_t *timermgr; - dns_client_t *dnsclient; - irs_resconf_t *resconf; - irs_dnsconf_t *dnsconf; + unsigned int magic; + isc_mem_t * mctx; + isc_appctx_t * actx; + isc_taskmgr_t * taskmgr; + isc_task_t * task; + isc_socketmgr_t *socketmgr; + isc_timermgr_t * timermgr; + dns_client_t * dnsclient; + irs_resconf_t * resconf; + irs_dnsconf_t * dnsconf; }; static void -ctxs_destroy(isc_mem_t **mctxp, isc_appctx_t **actxp, - isc_taskmgr_t **taskmgrp, isc_socketmgr_t **socketmgrp, - isc_timermgr_t **timermgrp) +ctxs_destroy(isc_mem_t **mctxp, isc_appctx_t **actxp, isc_taskmgr_t **taskmgrp, + isc_socketmgr_t **socketmgrp, isc_timermgr_t **timermgrp) { if (taskmgrp != NULL) isc_taskmgr_destroy(taskmgrp); @@ -83,9 +82,8 @@ ctxs_destroy(isc_mem_t **mctxp, isc_appctx_t **actxp, } static isc_result_t -ctxs_init(isc_mem_t **mctxp, isc_appctx_t **actxp, - isc_taskmgr_t **taskmgrp, isc_socketmgr_t **socketmgrp, - isc_timermgr_t **timermgrp) +ctxs_init(isc_mem_t **mctxp, isc_appctx_t **actxp, isc_taskmgr_t **taskmgrp, + isc_socketmgr_t **socketmgrp, isc_timermgr_t **timermgrp) { isc_result_t result; @@ -109,14 +107,15 @@ ctxs_init(isc_mem_t **mctxp, isc_appctx_t **actxp, return (ISC_R_SUCCESS); - fail: +fail: ctxs_destroy(mctxp, actxp, taskmgrp, socketmgrp, timermgrp); return (result); } isc_result_t -irs_context_get(irs_context_t **contextp) { +irs_context_get(irs_context_t **contextp) +{ isc_result_t result; REQUIRE(contextp != NULL && *contextp == NULL); @@ -134,18 +133,19 @@ irs_context_get(irs_context_t **contextp) { } isc_result_t -irs_context_create(irs_context_t **contextp) { - isc_result_t result; - irs_context_t *context; - isc_appctx_t *actx = NULL; - isc_mem_t *mctx = NULL; - isc_taskmgr_t *taskmgr = NULL; - isc_socketmgr_t *socketmgr = NULL; - isc_timermgr_t *timermgr = NULL; - dns_client_t *client = NULL; - isc_sockaddrlist_t *nameservers; +irs_context_create(irs_context_t **contextp) +{ + isc_result_t result; + irs_context_t * context; + isc_appctx_t * actx = NULL; + isc_mem_t * mctx = NULL; + isc_taskmgr_t * taskmgr = NULL; + isc_socketmgr_t * socketmgr = NULL; + isc_timermgr_t * timermgr = NULL; + dns_client_t * client = NULL; + isc_sockaddrlist_t * nameservers; irs_dnsconf_dnskeylist_t *trustedkeys; - irs_dnsconf_dnskey_t *trustedkey; + irs_dnsconf_dnskey_t * trustedkey; isc_lib_register(); result = dns_lib_init(); @@ -177,8 +177,8 @@ irs_context_create(irs_context_t **contextp) { goto fail; /* Create a DNS client object */ - result = dns_client_createx(mctx, actx, taskmgr, socketmgr, timermgr, - 0, &client, NULL, NULL); + result = dns_client_createx(mctx, actx, taskmgr, socketmgr, timermgr, 0, + &client, NULL, NULL); if (result != ISC_R_SUCCESS) goto fail; context->dnsclient = client; @@ -199,13 +199,11 @@ irs_context_create(irs_context_t **contextp) { if (result != ISC_R_SUCCESS) goto fail; trustedkeys = irs_dnsconf_gettrustedkeys(context->dnsconf); - for (trustedkey = ISC_LIST_HEAD(*trustedkeys); - trustedkey != NULL; + for (trustedkey = ISC_LIST_HEAD(*trustedkeys); trustedkey != NULL; trustedkey = ISC_LIST_NEXT(trustedkey, link)) { - result = dns_client_addtrustedkey(client, dns_rdataclass_in, - dns_rdatatype_dnskey, - trustedkey->keyname, - trustedkey->keydatabuf); + result = dns_client_addtrustedkey( + client, dns_rdataclass_in, dns_rdatatype_dnskey, + trustedkey->keyname, trustedkey->keydatabuf); if (result != ISC_R_SUCCESS) goto fail; } @@ -215,7 +213,7 @@ irs_context_create(irs_context_t **contextp) { return (ISC_R_SUCCESS); - fail: +fail: if (context->task != NULL) isc_task_detach(&context->task); if (context->resconf != NULL) @@ -231,7 +229,8 @@ irs_context_create(irs_context_t **contextp) { } void -irs_context_destroy(irs_context_t **contextp) { +irs_context_destroy(irs_context_t **contextp) +{ irs_context_t *context; REQUIRE(contextp != NULL); @@ -250,60 +249,67 @@ irs_context_destroy(irs_context_t **contextp) { context->magic = 0; isc_mem_putanddetach(&context->mctx, context, sizeof(*context)); - } isc_mem_t * -irs_context_getmctx(irs_context_t *context) { +irs_context_getmctx(irs_context_t *context) +{ REQUIRE(IRS_CONTEXT_VALID(context)); return (context->mctx); } isc_appctx_t * -irs_context_getappctx(irs_context_t *context) { +irs_context_getappctx(irs_context_t *context) +{ REQUIRE(IRS_CONTEXT_VALID(context)); return (context->actx); } isc_taskmgr_t * -irs_context_gettaskmgr(irs_context_t *context) { +irs_context_gettaskmgr(irs_context_t *context) +{ REQUIRE(IRS_CONTEXT_VALID(context)); return (context->taskmgr); } isc_timermgr_t * -irs_context_gettimermgr(irs_context_t *context) { +irs_context_gettimermgr(irs_context_t *context) +{ REQUIRE(IRS_CONTEXT_VALID(context)); return (context->timermgr); } isc_task_t * -irs_context_gettask(irs_context_t *context) { +irs_context_gettask(irs_context_t *context) +{ REQUIRE(IRS_CONTEXT_VALID(context)); return (context->task); } dns_client_t * -irs_context_getdnsclient(irs_context_t *context) { +irs_context_getdnsclient(irs_context_t *context) +{ REQUIRE(IRS_CONTEXT_VALID(context)); return (context->dnsclient); } irs_resconf_t * -irs_context_getresconf(irs_context_t *context) { +irs_context_getresconf(irs_context_t *context) +{ REQUIRE(IRS_CONTEXT_VALID(context)); return (context->resconf); } irs_dnsconf_t * -irs_context_getdnsconf(irs_context_t *context) { +irs_context_getdnsconf(irs_context_t *context) +{ REQUIRE(IRS_CONTEXT_VALID(context)); return (context->dnsconf); diff --git a/lib/irs/dnsconf.c b/lib/irs/dnsconf.c index b56190ab6e..513280fced 100644 --- a/lib/irs/dnsconf.c +++ b/lib/irs/dnsconf.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -21,25 +20,25 @@ #include #include -#include - #include #include #include #include +#include + #include -#define IRS_DNSCONF_MAGIC ISC_MAGIC('D', 'c', 'f', 'g') -#define IRS_DNSCONF_VALID(c) ISC_MAGIC_VALID(c, IRS_DNSCONF_MAGIC) +#define IRS_DNSCONF_MAGIC ISC_MAGIC('D', 'c', 'f', 'g') +#define IRS_DNSCONF_VALID(c) ISC_MAGIC_VALID(c, IRS_DNSCONF_MAGIC) /*! * configuration data structure */ struct irs_dnsconf { - unsigned int magic; - isc_mem_t *mctx; + unsigned int magic; + isc_mem_t * mctx; irs_dnsconf_dnskeylist_t trusted_keylist; }; @@ -47,27 +46,24 @@ static isc_result_t configure_key(isc_mem_t *mctx, const cfg_obj_t *key, irs_dnsconf_t *conf, dns_rdataclass_t rdclass) { - isc_result_t result; - uint32_t flags, proto, alg; - dns_fixedname_t fkeyname; - dns_name_t *keyname_base = NULL, *keyname = NULL; - const char *keystr = NULL, *keynamestr = NULL; - unsigned char keydata[4096]; - isc_buffer_t keydatabuf_base, *keydatabuf = NULL; - dns_rdata_dnskey_t keystruct; - unsigned char rrdata[4096]; - isc_buffer_t rrdatabuf; - isc_region_t r; - isc_buffer_t namebuf; + isc_result_t result; + uint32_t flags, proto, alg; + dns_fixedname_t fkeyname; + dns_name_t * keyname_base = NULL, *keyname = NULL; + const char * keystr = NULL, *keynamestr = NULL; + unsigned char keydata[4096]; + isc_buffer_t keydatabuf_base, *keydatabuf = NULL; + dns_rdata_dnskey_t keystruct; + unsigned char rrdata[4096]; + isc_buffer_t rrdatabuf; + isc_region_t r; + isc_buffer_t namebuf; irs_dnsconf_dnskey_t *keyent = NULL; flags = cfg_obj_asuint32(cfg_tuple_get(key, "flags")); - proto = cfg_obj_asuint32(cfg_tuple_get(key, - "protocol")); - alg = cfg_obj_asuint32(cfg_tuple_get(key, - "algorithm")); - keynamestr = cfg_obj_asstring(cfg_tuple_get(key, - "name")); + proto = cfg_obj_asuint32(cfg_tuple_get(key, "protocol")); + alg = cfg_obj_asuint32(cfg_tuple_get(key, "algorithm")); + keynamestr = cfg_obj_asstring(cfg_tuple_get(key, "name")); keystruct.common.rdclass = rdclass; keystruct.common.rdtype = dns_rdatatype_dnskey; @@ -87,14 +83,12 @@ configure_key(isc_mem_t *mctx, const cfg_obj_t *key, irs_dnsconf_t *conf, keystruct.protocol = (uint8_t)proto; keystruct.algorithm = (uint8_t)alg; - isc_buffer_init(&keydatabuf_base, keydata, - sizeof(keydata)); + isc_buffer_init(&keydatabuf_base, keydata, sizeof(keydata)); isc_buffer_init(&rrdatabuf, rrdata, sizeof(rrdata)); /* Configure key value */ keystr = cfg_obj_asstring(cfg_tuple_get(key, "key")); - result = isc_base64_decodestring(keystr, - &keydatabuf_base); + result = isc_base64_decodestring(keystr, &keydatabuf_base); if (result != ISC_R_SUCCESS) { return (result); } @@ -103,8 +97,8 @@ configure_key(isc_mem_t *mctx, const cfg_obj_t *key, irs_dnsconf_t *conf, keystruct.data = r.base; result = dns_rdata_fromstruct(NULL, keystruct.common.rdclass, - keystruct.common.rdtype, - &keystruct, &rrdatabuf); + keystruct.common.rdtype, &keystruct, + &rrdatabuf); if (result != ISC_R_SUCCESS) { return (result); } @@ -117,11 +111,10 @@ configure_key(isc_mem_t *mctx, const cfg_obj_t *key, irs_dnsconf_t *conf, /* Configure key name */ keyname_base = dns_fixedname_initname(&fkeyname); - isc_buffer_constinit(&namebuf, keynamestr, - strlen(keynamestr)); + isc_buffer_constinit(&namebuf, keynamestr, strlen(keynamestr)); isc_buffer_add(&namebuf, strlen(keynamestr)); - result = dns_name_fromtext(keyname_base, &namebuf, - dns_rootname, 0, NULL); + result = dns_name_fromtext(keyname_base, &namebuf, dns_rootname, 0, + NULL); if (result != ISC_R_SUCCESS) { return (result); } @@ -136,7 +129,7 @@ configure_key(isc_mem_t *mctx, const cfg_obj_t *key, irs_dnsconf_t *conf, ISC_LIST_APPEND(conf->trusted_keylist, keyent, link); - cleanup: +cleanup: if (keydatabuf != NULL) { isc_buffer_free(&keydatabuf); } @@ -151,20 +144,16 @@ static isc_result_t configure_keygroup(irs_dnsconf_t *conf, const cfg_obj_t *keys, dns_rdataclass_t rdclass) { - isc_result_t result; - const cfg_obj_t *key, *keylist; + isc_result_t result; + const cfg_obj_t * key, *keylist; const cfg_listelt_t *element, *element2; - isc_mem_t *mctx = conf->mctx; + isc_mem_t * mctx = conf->mctx; - for (element = cfg_list_first(keys); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(keys); element != NULL; + element = cfg_list_next(element)) { keylist = cfg_listelt_value(element); - for (element2 = cfg_list_first(keylist); - element2 != NULL; - element2 = cfg_list_next(element2)) - { + for (element2 = cfg_list_first(keylist); element2 != NULL; + element2 = cfg_list_next(element2)) { key = cfg_listelt_value(element2); result = configure_key(mctx, key, conf, rdclass); if (result != ISC_R_SUCCESS) { @@ -180,7 +169,7 @@ static isc_result_t configure_dnsseckeys(irs_dnsconf_t *conf, cfg_obj_t *cfgobj, dns_rdataclass_t rdclass) { - isc_result_t result; + isc_result_t result; const cfg_obj_t *keys = NULL; cfg_map_get(cfgobj, "trusted-keys", &keys); @@ -222,9 +211,9 @@ isc_result_t irs_dnsconf_load(isc_mem_t *mctx, const char *filename, irs_dnsconf_t **confp) { irs_dnsconf_t *conf; - cfg_parser_t *parser = NULL; - cfg_obj_t *cfgobj = NULL; - isc_result_t result = ISC_R_SUCCESS; + cfg_parser_t * parser = NULL; + cfg_obj_t * cfgobj = NULL; + isc_result_t result = ISC_R_SUCCESS; REQUIRE(confp != NULL && *confp == NULL); @@ -244,14 +233,13 @@ irs_dnsconf_load(isc_mem_t *mctx, const char *filename, irs_dnsconf_t **confp) if (result != ISC_R_SUCCESS) goto cleanup; - result = cfg_parse_file(parser, filename, &cfg_type_dnsconf, - &cfgobj); + result = cfg_parse_file(parser, filename, &cfg_type_dnsconf, &cfgobj); if (result != ISC_R_SUCCESS) goto cleanup; result = configure_dnsseckeys(conf, cfgobj, dns_rdataclass_in); - cleanup: +cleanup: if (parser != NULL) { if (cfgobj != NULL) cfg_obj_destroy(parser, &cfgobj); @@ -269,8 +257,9 @@ irs_dnsconf_load(isc_mem_t *mctx, const char *filename, irs_dnsconf_t **confp) } void -irs_dnsconf_destroy(irs_dnsconf_t **confp) { - irs_dnsconf_t *conf; +irs_dnsconf_destroy(irs_dnsconf_t **confp) +{ + irs_dnsconf_t * conf; irs_dnsconf_dnskey_t *keyent; REQUIRE(confp != NULL); @@ -291,7 +280,8 @@ irs_dnsconf_destroy(irs_dnsconf_t **confp) { } irs_dnsconf_dnskeylist_t * -irs_dnsconf_gettrustedkeys(irs_dnsconf_t *conf) { +irs_dnsconf_gettrustedkeys(irs_dnsconf_t *conf) +{ REQUIRE(IRS_DNSCONF_VALID(conf)); return (&conf->trusted_keylist); diff --git a/lib/irs/gai_strerror.c b/lib/irs/gai_strerror.c index eee3d50b1c..115e418edb 100644 --- a/lib/irs/gai_strerror.c +++ b/lib/irs/gai_strerror.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file gai_strerror.c * gai_strerror() returns an error message corresponding to an * error code returned by getaddrinfo() and getnameinfo(). The following error @@ -49,24 +48,25 @@ #include /*% Text of error messages. */ -static const char *gai_messages[] = { - "no error", - "address family for hostname not supported", - "temporary failure in name resolution", - "invalid value for ai_flags", - "non-recoverable failure in name resolution", - "ai_family not supported", - "memory allocation failure", - "no address associated with hostname", - "hostname nor servname provided, or not known", - "servname not supported for ai_socktype", - "ai_socktype not supported", - "system error returned in errno", - "bad hints", - "bad protocol", - "argument buffer overflow", - "insecure data provided" -}; +static const char *gai_messages[] = { "no error", + "address family for hostname not " + "supported", + "temporary failure in name resolution", + "invalid value for ai_flags", + "non-recoverable failure in name " + "resolution", + "ai_family not supported", + "memory allocation failure", + "no address associated with hostname", + "hostname nor servname provided, or not " + "known", + "servname not supported for ai_socktype", + "ai_socktype not supported", + "system error returned in errno", + "bad hints", + "bad protocol", + "argument buffer overflow", + "insecure data provided" }; /*% * Returns an error message corresponding to an error code returned by @@ -77,14 +77,15 @@ char * #else const char * #endif -gai_strerror(int ecode) { +gai_strerror(int ecode) +{ union { const char *const_ptr; - char *deconst_ptr; + char * deconst_ptr; } ptr; if ((ecode < 0) || - (ecode >= (int)(sizeof(gai_messages)/sizeof(*gai_messages)))) + (ecode >= (int)(sizeof(gai_messages) / sizeof(*gai_messages)))) ptr.const_ptr = "invalid error code"; else ptr.const_ptr = gai_messages[ecode]; diff --git a/lib/irs/getaddrinfo.c b/lib/irs/getaddrinfo.c index fc115486f1..3208f59f88 100644 --- a/lib/irs/getaddrinfo.c +++ b/lib/irs/getaddrinfo.c @@ -118,11 +118,11 @@ * sendto(2), sendmsg(2), socket(2). */ +#include #include #include #include #include -#include #ifdef _WIN32 #include @@ -134,11 +134,11 @@ #include #include #include +#include #include #include #include #include -#include #include #include @@ -153,37 +153,41 @@ #include #include -#define SA(addr) ((struct sockaddr *)(addr)) -#define SIN(addr) ((struct sockaddr_in *)(addr)) -#define SIN6(addr) ((struct sockaddr_in6 *)(addr)) -#define SLOCAL(addr) ((struct sockaddr_un *)(addr)) +#define SA(addr) ((struct sockaddr *)(addr)) +#define SIN(addr) ((struct sockaddr_in *)(addr)) +#define SIN6(addr) ((struct sockaddr_in6 *)(addr)) +#define SLOCAL(addr) ((struct sockaddr_un *)(addr)) /*! \struct addrinfo */ -static struct addrinfo - *ai_concat(struct addrinfo *ai1, struct addrinfo *ai2), +static struct addrinfo * +ai_concat(struct addrinfo *ai1, struct addrinfo *ai2), *ai_reverse(struct addrinfo *oai), *ai_clone(struct addrinfo *oai, int family), *ai_alloc(int family, int addrlen); #ifdef AF_LOCAL -static int get_local(const char *name, int socktype, struct addrinfo **res); +static int +get_local(const char *name, int socktype, struct addrinfo **res); #endif static int -resolve_name(int family, const char *hostname, int flags, - struct addrinfo **aip, int socktype, int port); +resolve_name(int family, const char *hostname, int flags, struct addrinfo **aip, + int socktype, int port); -static int add_ipv4(const char *hostname, int flags, struct addrinfo **aip, - int socktype, int port); -static int add_ipv6(const char *hostname, int flags, struct addrinfo **aip, - int socktype, int port); -static void set_order(int, int (**)(const char *, int, struct addrinfo **, - int, int)); -static void _freeaddrinfo(struct addrinfo *ai); +static int +add_ipv4(const char *hostname, int flags, struct addrinfo **aip, int socktype, + int port); +static int +add_ipv6(const char *hostname, int flags, struct addrinfo **aip, int socktype, + int port); +static void +set_order(int, int (**)(const char *, int, struct addrinfo **, int, int)); +static void +_freeaddrinfo(struct addrinfo *ai); -#define FOUND_IPV4 0x1 -#define FOUND_IPV6 0x2 -#define FOUND_MAX 2 +#define FOUND_IPV4 0x1 +#define FOUND_IPV6 0x2 +#define FOUND_MAX 2 /*% * Try converting the scope identifier in 'src' to a network interface index. @@ -191,7 +195,8 @@ static void _freeaddrinfo(struct addrinfo *ai); * failure, return false. */ static bool -parse_scopeid(const char *src, uint32_t *dst) { +parse_scopeid(const char *src, uint32_t *dst) +{ uint32_t scopeid = 0; REQUIRE(src != NULL); @@ -226,7 +231,7 @@ parse_scopeid(const char *src, uint32_t *dst) { return (true); } -#define ISC_AI_MASK (AI_PASSIVE|AI_CANONNAME|AI_NUMERICHOST) +#define ISC_AI_MASK (AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST) /*% * Get a list of IP addresses and port numbers for host hostname and * service servname. @@ -235,14 +240,14 @@ int getaddrinfo(const char *hostname, const char *servname, const struct addrinfo *hints, struct addrinfo **res) { - struct servent *sp; - const char *proto; - int family, socktype, flags, protocol; + struct servent * sp; + const char * proto; + int family, socktype, flags, protocol; struct addrinfo *ai, *ai_list; - int err = 0; - int port, i; - int (*net_order[FOUND_MAX+1])(const char *, int, struct addrinfo **, - int, int); + int err = 0; + int port, i; + int (*net_order[FOUND_MAX + 1])(const char *, int, struct addrinfo **, + int, int); if (hostname == NULL && servname == NULL) return (EAI_NONAME); @@ -288,7 +293,7 @@ getaddrinfo(const char *hostname, const char *servname, return (EAI_SOCKTYPE); } break; -#ifdef AF_LOCAL +#ifdef AF_LOCAL case AF_LOCAL: switch (hints->ai_socktype) { case 0: @@ -312,7 +317,7 @@ getaddrinfo(const char *hostname, const char *servname, flags = 0; } -#ifdef AF_LOCAL +#ifdef AF_LOCAL /*! * First, deal with AF_LOCAL. If the family was not set, * then assume AF_LOCAL if the first character of the @@ -349,15 +354,15 @@ getaddrinfo(const char *hostname, const char *servname, if (port < 0 || port > 65535) { return (EAI_SERVICE); } - port = htons((unsigned short) port); + port = htons((unsigned short)port); } else { #ifdef _WIN32 - WORD wVersionRequested; + WORD wVersionRequested; WSADATA wsaData; wVersionRequested = MAKEWORD(2, 0); - err = WSAStartup(wVersionRequested, &wsaData ); + err = WSAStartup(wVersionRequested, &wsaData); if (err != 0) { return (EAI_FAIL); } @@ -427,10 +432,10 @@ getaddrinfo(const char *hostname, const char *servname, */ if (hostname != NULL && (family == 0 || (flags & AI_NUMERICHOST) != 0)) { - char abuf[sizeof(struct in6_addr)]; - char nbuf[NI_MAXHOST]; - int addrsize, addroff; - char ntmp[NI_MAXHOST]; + char abuf[sizeof(struct in6_addr)]; + char nbuf[NI_MAXHOST]; + int addrsize, addroff; + char ntmp[NI_MAXHOST]; uint32_t scopeid = 0; /* @@ -449,8 +454,7 @@ getaddrinfo(const char *hostname, const char *servname, } } - if (inet_pton(AF_INET, hostname, (struct in_addr *)abuf) - == 1) { + if (inet_pton(AF_INET, hostname, (struct in_addr *)abuf) == 1) { if (family == AF_INET6) { /* * Convert to a V4 mapped address. @@ -483,9 +487,9 @@ getaddrinfo(const char *hostname, const char *servname, common: ai = ai_alloc(family, - ((family == AF_INET6) ? - sizeof(struct sockaddr_in6) : - sizeof(struct sockaddr_in))); + ((family == AF_INET6) + ? sizeof(struct sockaddr_in6) + : sizeof(struct sockaddr_in))); if (ai == NULL) return (EAI_MEMORY); ai_list = ai; @@ -497,8 +501,8 @@ getaddrinfo(const char *hostname, const char *servname, } if ((flags & AI_CANONNAME) != 0) { if (getnameinfo(ai->ai_addr, - (socklen_t)ai->ai_addrlen, - nbuf, sizeof(nbuf), NULL, 0, + (socklen_t)ai->ai_addrlen, nbuf, + sizeof(nbuf), NULL, 0, NI_NUMERICHOST) == 0) { ai->ai_canonname = strdup(nbuf); if (ai->ai_canonname == NULL) { @@ -532,8 +536,8 @@ getaddrinfo(const char *hostname, const char *servname, } } } else - err = resolve_name(family, hostname, flags, &ai_list, - socktype, port); + err = resolve_name(family, hostname, flags, &ai_list, socktype, + port); if (ai_list == NULL) { if (err == 0) @@ -549,47 +553,47 @@ done: } typedef struct gai_restrans { - dns_clientrestrans_t *xid; - bool is_inprogress; - int error; - struct addrinfo ai_sentinel; - struct gai_resstate *resstate; + dns_clientrestrans_t *xid; + bool is_inprogress; + int error; + struct addrinfo ai_sentinel; + struct gai_resstate * resstate; } gai_restrans_t; typedef struct gai_resstate { - isc_mem_t *mctx; - struct gai_statehead *head; - dns_fixedname_t fixedname; - dns_name_t *qname; - gai_restrans_t *trans4; - gai_restrans_t *trans6; - ISC_LINK(struct gai_resstate) link; + isc_mem_t * mctx; + struct gai_statehead *head; + dns_fixedname_t fixedname; + dns_name_t * qname; + gai_restrans_t * trans4; + gai_restrans_t * trans6; + ISC_LINK(struct gai_resstate) link; } gai_resstate_t; typedef struct gai_statehead { - int ai_family; - int ai_flags; - int ai_socktype; - int ai_port; - isc_appctx_t *actx; - dns_client_t *dnsclient; - isc_mutex_t list_lock; - ISC_LIST(struct gai_resstate) resstates; - unsigned int activestates; + int ai_family; + int ai_flags; + int ai_socktype; + int ai_port; + isc_appctx_t *actx; + dns_client_t *dnsclient; + isc_mutex_t list_lock; + ISC_LIST(struct gai_resstate) resstates; + unsigned int activestates; } gai_statehead_t; static isc_result_t make_resstate(isc_mem_t *mctx, gai_statehead_t *head, const char *hostname, const char *domain, gai_resstate_t **statep) { - isc_result_t result; + isc_result_t result; gai_resstate_t *state; dns_fixedname_t fixeddomain; - dns_name_t *qdomain; - unsigned int namelen; - isc_buffer_t b; - bool need_v4 = false; - bool need_v6 = false; + dns_name_t * qdomain; + unsigned int namelen; + isc_buffer_t b; + bool need_v4 = false; + bool need_v6 = false; state = isc_mem_get(mctx, sizeof(*state)); @@ -652,10 +656,10 @@ static isc_result_t make_resstates(isc_mem_t *mctx, const char *hostname, gai_statehead_t *head, irs_resconf_t *resconf) { - isc_result_t result; + isc_result_t result; irs_resconf_searchlist_t *searchlist; - irs_resconf_search_t *searchent; - gai_resstate_t *resstate, *resstate0; + irs_resconf_search_t * searchent; + gai_resstate_t * resstate, *resstate0; resstate0 = NULL; result = make_resstate(mctx, head, hostname, ".", &resstate0); @@ -708,14 +712,15 @@ make_resstates(isc_mem_t *mctx, const char *hostname, gai_statehead_t *head, } static void -process_answer(isc_task_t *task, isc_event_t *event) { - int error = 0, family; - gai_restrans_t *trans = event->ev_arg; - gai_resstate_t *resstate; +process_answer(isc_task_t *task, isc_event_t *event) +{ + int error = 0, family; + gai_restrans_t * trans = event->ev_arg; + gai_resstate_t * resstate; dns_clientresevent_t *rev = (dns_clientresevent_t *)event; - dns_rdatatype_t qtype; - dns_name_t *name; - bool wantcname; + dns_rdatatype_t qtype; + dns_name_t * name; + bool wantcname; REQUIRE(trans != NULL); resstate = trans->resstate; @@ -764,9 +769,9 @@ process_answer(isc_task_t *task, isc_event_t *event) { /* Parse the response and construct the addrinfo chain */ for (name = ISC_LIST_HEAD(rev->answerlist); name != NULL; name = ISC_LIST_NEXT(name, link)) { - isc_result_t result; + isc_result_t result; dns_rdataset_t *rdataset; - char cname[1024]; + char cname[1024]; if (wantcname) { isc_buffer_t b; @@ -780,8 +785,7 @@ process_answer(isc_task_t *task, isc_event_t *event) { isc_buffer_putuint8(&b, '\0'); } - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { if (!dns_rdataset_isassociated(rdataset)) continue; @@ -791,15 +795,16 @@ process_answer(isc_task_t *task, isc_event_t *event) { for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(rdataset)) { - struct addrinfo *ai; - dns_rdata_t rdata; - dns_rdata_in_a_t rdata_a; + struct addrinfo * ai; + dns_rdata_t rdata; + dns_rdata_in_a_t rdata_a; dns_rdata_in_aaaa_t rdata_aaaa; - ai = ai_alloc(family, - ((family == AF_INET6) ? - sizeof(struct sockaddr_in6) : - sizeof(struct sockaddr_in))); + ai = ai_alloc( + family, + ((family == AF_INET6) + ? sizeof(struct sockaddr_in6) + : sizeof(struct sockaddr_in))); if (ai == NULL) { error = EAI_MEMORY; goto done; @@ -816,9 +821,8 @@ process_answer(isc_task_t *task, isc_event_t *event) { switch (family) { case AF_INET: dns_rdataset_current(rdataset, &rdata); - result = dns_rdata_tostruct(&rdata, - &rdata_a, - NULL); + result = dns_rdata_tostruct( + &rdata, &rdata_a, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); SIN(ai->ai_addr)->sin_port = resstate->head->ai_port; @@ -828,9 +832,8 @@ process_answer(isc_task_t *task, isc_event_t *event) { break; case AF_INET6: dns_rdataset_current(rdataset, &rdata); - result = dns_rdata_tostruct(&rdata, - &rdata_aaaa, - NULL); + result = dns_rdata_tostruct( + &rdata, &rdata_aaaa, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); SIN6(ai->ai_addr)->sin6_port = resstate->head->ai_port; @@ -851,7 +854,7 @@ process_answer(isc_task_t *task, isc_event_t *event) { } } - done: +done: dns_client_freeresanswer(resstate->head->dnsclient, &rev->answerlist); dns_client_destroyrestrans(&trans->xid); @@ -925,21 +928,21 @@ process_answer(isc_task_t *task, isc_event_t *event) { } static int -resolve_name(int family, const char *hostname, int flags, - struct addrinfo **aip, int socktype, int port) +resolve_name(int family, const char *hostname, int flags, struct addrinfo **aip, + int socktype, int port) { - isc_result_t result; - irs_context_t *irsctx; - irs_resconf_t *conf; - isc_mem_t *mctx; - isc_appctx_t *actx; - isc_task_t *task; - int terror = 0; - int error = 0; - dns_client_t *client; + isc_result_t result; + irs_context_t * irsctx; + irs_resconf_t * conf; + isc_mem_t * mctx; + isc_appctx_t * actx; + isc_task_t * task; + int terror = 0; + int error = 0; + dns_client_t * client; gai_resstate_t *resstate; gai_statehead_t head; - bool all_fail = true; + bool all_fail = true; /* get IRS context and the associated parameters */ irsctx = NULL; @@ -971,17 +974,13 @@ resolve_name(int family, const char *hostname, int flags, } LOCK(&head.list_lock); - for (resstate = ISC_LIST_HEAD(head.resstates); - resstate != NULL; resstate = ISC_LIST_NEXT(resstate, link)) { + for (resstate = ISC_LIST_HEAD(head.resstates); resstate != NULL; + resstate = ISC_LIST_NEXT(resstate, link)) { if (resstate->trans4 != NULL) { - result = dns_client_startresolve(client, - resstate->qname, - dns_rdataclass_in, - dns_rdatatype_a, - 0, task, - process_answer, - resstate->trans4, - &resstate->trans4->xid); + result = dns_client_startresolve( + client, resstate->qname, dns_rdataclass_in, + dns_rdatatype_a, 0, task, process_answer, + resstate->trans4, &resstate->trans4->xid); if (result == ISC_R_SUCCESS) { resstate->trans4->is_inprogress = true; all_fail = false; @@ -989,19 +988,15 @@ resolve_name(int family, const char *hostname, int flags, resstate->trans4->is_inprogress = false; } if (resstate->trans6 != NULL) { - result = dns_client_startresolve(client, - resstate->qname, - dns_rdataclass_in, - dns_rdatatype_aaaa, - 0, task, - process_answer, - resstate->trans6, - &resstate->trans6->xid); + result = dns_client_startresolve( + client, resstate->qname, dns_rdataclass_in, + dns_rdatatype_aaaa, 0, task, process_answer, + resstate->trans6, &resstate->trans6->xid); if (result == ISC_R_SUCCESS) { resstate->trans6->is_inprogress = true; all_fail = false; } else - resstate->trans6->is_inprogress= false; + resstate->trans6->is_inprogress = false; } } UNLOCK(&head.list_lock); @@ -1072,7 +1067,7 @@ resolve_name(int family, const char *hostname, int flags, error = EAI_NONAME; } -#if 1 /* XXX: enabled for finding leaks. should be cleaned up later. */ +#if 1 /* XXX: enabled for finding leaks. should be cleaned up later. */ isc_app_ctxfinish(actx); irs_context_destroy(&irsctx); #endif @@ -1082,11 +1077,11 @@ resolve_name(int family, const char *hostname, int flags, } static void -set_order(int family, int (**net_order)(const char *, int, struct addrinfo **, - int, int)) +set_order(int family, + int (**net_order)(const char *, int, struct addrinfo **, int, int)) { char *order, *tok, *last; - int found; + int found; if (family) { switch (family) { @@ -1102,10 +1097,8 @@ set_order(int family, int (**net_order)(const char *, int, struct addrinfo **, found = 0; if (order != NULL) { last = NULL; - for (tok = strtok_r(order, ":", &last); - tok; - tok = strtok_r(NULL, ":", &last)) - { + for (tok = strtok_r(order, ":", &last); tok; + tok = strtok_r(NULL, ":", &last)) { if (strcasecmp(tok, "inet6") == 0) { if ((found & FOUND_IPV6) == 0) { *net_order++ = add_ipv6; @@ -1136,8 +1129,8 @@ set_order(int family, int (**net_order)(const char *, int, struct addrinfo **, static char v4_loop[4] = { 127, 0, 0, 1 }; static int -add_ipv4(const char *hostname, int flags, struct addrinfo **aip, - int socktype, int port) +add_ipv4(const char *hostname, int flags, struct addrinfo **aip, int socktype, + int port) { struct addrinfo *ai; @@ -1159,8 +1152,8 @@ add_ipv4(const char *hostname, int flags, struct addrinfo **aip, static char v6_loop[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }; static int -add_ipv6(const char *hostname, int flags, struct addrinfo **aip, - int socktype, int port) +add_ipv6(const char *hostname, int flags, struct addrinfo **aip, int socktype, + int port) { struct addrinfo *ai; @@ -1181,12 +1174,14 @@ add_ipv6(const char *hostname, int flags, struct addrinfo **aip, /*% Free address info. */ void -freeaddrinfo(struct addrinfo *ai) { +freeaddrinfo(struct addrinfo *ai) +{ _freeaddrinfo(ai); } static void -_freeaddrinfo(struct addrinfo *ai) { +_freeaddrinfo(struct addrinfo *ai) +{ struct addrinfo *ai_next; while (ai != NULL) { @@ -1202,8 +1197,9 @@ _freeaddrinfo(struct addrinfo *ai) { #ifdef AF_LOCAL static int -get_local(const char *name, int socktype, struct addrinfo **res) { - struct addrinfo *ai; +get_local(const char *name, int socktype, struct addrinfo **res) +{ + struct addrinfo * ai; struct sockaddr_un *slocal; if (socktype == 0) @@ -1238,7 +1234,8 @@ get_local(const char *name, int socktype, struct addrinfo **res) { * and everything else is initialized to zero. */ static struct addrinfo * -ai_alloc(int family, int addrlen) { +ai_alloc(int family, int addrlen) +{ struct addrinfo *ai; ai = (struct addrinfo *)calloc(1, sizeof(*ai)); @@ -1260,11 +1257,13 @@ ai_alloc(int family, int addrlen) { } static struct addrinfo * -ai_clone(struct addrinfo *oai, int family) { +ai_clone(struct addrinfo *oai, int family) +{ struct addrinfo *ai; - ai = ai_alloc(family, ((family == AF_INET6) ? - sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in))); + ai = ai_alloc(family, + ((family == AF_INET6) ? sizeof(struct sockaddr_in6) + : sizeof(struct sockaddr_in))); if (ai == NULL) return (NULL); @@ -1280,7 +1279,8 @@ ai_clone(struct addrinfo *oai, int family) { } static struct addrinfo * -ai_reverse(struct addrinfo *oai) { +ai_reverse(struct addrinfo *oai) +{ struct addrinfo *nai, *tai; nai = NULL; @@ -1300,9 +1300,9 @@ ai_reverse(struct addrinfo *oai) { return (nai); } - static struct addrinfo * -ai_concat(struct addrinfo *ai1, struct addrinfo *ai2) { +ai_concat(struct addrinfo *ai1, struct addrinfo *ai2) +{ struct addrinfo *ai_tmp; if (ai1 == NULL) diff --git a/lib/irs/getnameinfo.c b/lib/irs/getnameinfo.c index 3f8695a1c8..c12008a39d 100644 --- a/lib/irs/getnameinfo.c +++ b/lib/irs/getnameinfo.c @@ -114,51 +114,51 @@ /*% afd structure definition */ static struct afd { - int a_af; + int a_af; size_t a_addrlen; size_t a_socklen; -} afdl [] = { +} afdl[] = { /*! * First entry is linked last... */ { AF_INET, sizeof(struct in_addr), sizeof(struct sockaddr_in) }, { AF_INET6, sizeof(struct in6_addr), sizeof(struct sockaddr_in6) }, - {0, 0, 0}, + { 0, 0, 0 }, }; /*! * The test against 0 is there to keep the Solaris compiler * from complaining about "end-of-loop code not reached". */ -#define ERR(code) \ - do { result = (code); \ - if (result != 0) goto cleanup; \ +#define ERR(code) \ + do { \ + result = (code); \ + if (result != 0) \ + goto cleanup; \ } while (0) int -getnameinfo(const struct sockaddr *sa, socklen_t salen, - char *host, socklen_t hostlen, - char *serv, socklen_t servlen, - int flags) +getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, + socklen_t hostlen, char *serv, socklen_t servlen, int flags) { - struct afd *afd = NULL; + struct afd * afd = NULL; struct servent *sp; - unsigned short port = 0; + unsigned short port = 0; #ifdef IRS_PLATFORM_HAVESALEN size_t len; #endif - int family, i; + int family, i; const void *addr = NULL; - char *p; + char * p; #if 0 unsigned long v4a; unsigned char pfx; #endif char numserv[sizeof("65000")]; - char numaddr[sizeof("abcd:abcd:abcd:abcd:abcd:abcd:255.255.255.255") - + 1 + sizeof("4294967295")]; + char numaddr[sizeof("abcd:abcd:abcd:abcd:abcd:abcd:255.255.255.255") + + 1 + sizeof("4294967295")]; const char *proto; - int result = SUCCESS; + int result = SUCCESS; if (sa == NULL) ERR(EAI_FAIL); @@ -177,7 +177,7 @@ getnameinfo(const struct sockaddr *sa, socklen_t salen, } ERR(EAI_FAMILY); - found: +found: if (salen != afd->a_socklen) ERR(EAI_FAIL); @@ -241,13 +241,13 @@ getnameinfo(const struct sockaddr *sa, socklen_t salen, * means that the caller does not want the result. */ } else if ((flags & NI_NUMERICHOST) != 0) { - if (inet_ntop(afd->a_af, addr, numaddr, sizeof(numaddr)) - == NULL) + if (inet_ntop(afd->a_af, addr, numaddr, sizeof(numaddr)) == + NULL) ERR(EAI_SYSTEM); #if defined(IRS_HAVE_SIN6_SCOPE_ID) if (afd->a_af == AF_INET6 && ((const struct sockaddr_in6 *)sa)->sin6_scope_id) { - char *p = numaddr + strlen(numaddr); + char * p = numaddr + strlen(numaddr); const char *stringscope = NULL; #ifdef VENDOR_SPECIFIC /* @@ -258,11 +258,12 @@ getnameinfo(const struct sockaddr *sa, socklen_t salen, #endif if (stringscope == NULL) { snprintf(p, sizeof(numaddr) - (p - numaddr), - "%%%u", - ((const struct sockaddr_in6 *)sa)->sin6_scope_id); + "%%%u", + ((const struct sockaddr_in6 *)sa) + ->sin6_scope_id); } else { snprintf(p, sizeof(numaddr) - (p - numaddr), - "%%%s", stringscope); + "%%%s", stringscope); } } #endif @@ -270,17 +271,17 @@ getnameinfo(const struct sockaddr *sa, socklen_t salen, ERR(EAI_OVERFLOW); strlcpy(host, numaddr, hostlen); } else { - isc_netaddr_t netaddr; + isc_netaddr_t netaddr; dns_fixedname_t ptrfname; - dns_name_t *ptrname; - irs_context_t *irsctx = NULL; - dns_client_t *client; - bool found = false; - dns_namelist_t answerlist; + dns_name_t * ptrname; + irs_context_t * irsctx = NULL; + dns_client_t * client; + bool found = false; + dns_namelist_t answerlist; dns_rdataset_t *rdataset; - isc_region_t hostregion; - char hoststr[1024]; /* is this enough? */ - isc_result_t iresult; + isc_region_t hostregion; + char hoststr[1024]; /* is this enough? */ + isc_result_t iresult; /* Get IRS context and the associated DNS client object */ iresult = irs_context_get(&irsctx); @@ -297,11 +298,9 @@ getnameinfo(const struct sockaddr *sa, socklen_t salen, /* Get the PTR RRset */ ISC_LIST_INIT(answerlist); - iresult = dns_client_resolve(client, ptrname, - dns_rdataclass_in, - dns_rdatatype_ptr, - DNS_CLIENTRESOPT_ALLOWRUN, - &answerlist); + iresult = dns_client_resolve( + client, ptrname, dns_rdataclass_in, dns_rdatatype_ptr, + DNS_CLIENTRESOPT_ALLOWRUN, &answerlist); switch (iresult) { case ISC_R_SUCCESS: /* @@ -346,9 +345,9 @@ getnameinfo(const struct sockaddr *sa, socklen_t salen, for (iresult = dns_rdataset_first(rdataset); iresult == ISC_R_SUCCESS; iresult = dns_rdataset_next(rdataset)) { - dns_rdata_t rdata; + dns_rdata_t rdata; dns_rdata_ptr_t rdata_ptr; - isc_buffer_t b; + isc_buffer_t b; dns_rdata_init(&rdata); dns_rdataset_current(rdataset, &rdata); @@ -357,9 +356,8 @@ getnameinfo(const struct sockaddr *sa, socklen_t salen, isc_buffer_init(&b, hoststr, sizeof(hoststr)); - iresult = - dns_name_totext(&rdata_ptr.ptr, - true, &b); + iresult = dns_name_totext( + &rdata_ptr.ptr, true, &b); dns_rdata_freestruct(&rdata_ptr); if (iresult == ISC_R_SUCCESS) { /* @@ -373,7 +371,6 @@ getnameinfo(const struct sockaddr *sa, socklen_t salen, &b, &hostregion); goto ptrfound; } - } } } @@ -387,8 +384,7 @@ getnameinfo(const struct sockaddr *sa, socklen_t salen, } if (hostregion.length + 1 > hostlen) ERR(EAI_OVERFLOW); - snprintf(host, hostlen, "%.*s", - (int)hostregion.length, + snprintf(host, hostlen, "%.*s", (int)hostregion.length, (char *)hostregion.base); } else { if ((flags & NI_NAMEREQD) != 0) @@ -403,6 +399,6 @@ getnameinfo(const struct sockaddr *sa, socklen_t salen, } result = SUCCESS; - cleanup: +cleanup: return (result); } diff --git a/lib/irs/include/irs/context.h b/lib/irs/include/irs/context.h index 94e55c61a9..8a10892f30 100644 --- a/lib/irs/include/irs/context.h +++ b/lib/irs/include/irs/context.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef IRS_CONTEXT_H #define IRS_CONTEXT_H 1 @@ -22,6 +21,7 @@ */ #include + #include ISC_LANG_BEGINDECLS diff --git a/lib/irs/include/irs/dnsconf.h b/lib/irs/include/irs/dnsconf.h index a7df6c37bb..42ed7ec709 100644 --- a/lib/irs/include/irs/dnsconf.h +++ b/lib/irs/include/irs/dnsconf.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef IRS_DNSCONF_H #define IRS_DNSCONF_H 1 @@ -38,9 +37,9 @@ * 'keydatabuf' members with the dst_key_fromdns() function. */ typedef struct irs_dnsconf_dnskey { - dns_name_t *keyname; - isc_buffer_t *keydatabuf; - ISC_LINK(struct irs_dnsconf_dnskey) link; + dns_name_t * keyname; + isc_buffer_t *keydatabuf; + ISC_LINK(struct irs_dnsconf_dnskey) link; } irs_dnsconf_dnskey_t; typedef ISC_LIST(irs_dnsconf_dnskey_t) irs_dnsconf_dnskeylist_t; diff --git a/lib/irs/include/irs/resconf.h b/lib/irs/include/irs/resconf.h index 6c0a8cce08..faf55c7d87 100644 --- a/lib/irs/include/irs/resconf.h +++ b/lib/irs/include/irs/resconf.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef IRS_RESCONF_H #define IRS_RESCONF_H 1 @@ -28,8 +27,8 @@ * in the "resolv.conf" file. */ typedef struct irs_resconf_search { - char *domain; - ISC_LINK(struct irs_resconf_search) link; + char *domain; + ISC_LINK(struct irs_resconf_search) link; } irs_resconf_search_t; typedef ISC_LIST(irs_resconf_search_t) irs_resconf_searchlist_t; diff --git a/lib/irs/include/irs/types.h b/lib/irs/include/irs/types.h index 1251e68b18..09ddb46f33 100644 --- a/lib/irs/include/irs/types.h +++ b/lib/irs/include/irs/types.h @@ -9,17 +9,16 @@ * information regarding copyright ownership. */ - #ifndef IRS_TYPES_H #define IRS_TYPES_H 1 /* Core Types. Alphabetized by defined type. */ /*%< per-thread IRS context */ -typedef struct irs_context irs_context_t; +typedef struct irs_context irs_context_t; /*%< resolv.conf configuration information */ -typedef struct irs_resconf irs_resconf_t; +typedef struct irs_resconf irs_resconf_t; /*%< advanced DNS-related configuration information */ -typedef struct irs_dnsconf irs_dnsconf_t; +typedef struct irs_dnsconf irs_dnsconf_t; #endif /* IRS_TYPES_H */ diff --git a/lib/irs/include/irs/version.h b/lib/irs/include/irs/version.h index a049374678..b980b4b6d5 100644 --- a/lib/irs/include/irs/version.h +++ b/lib/irs/include/irs/version.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include diff --git a/lib/irs/resconf.c b/lib/irs/resconf.c index ff2db506de..92d84bad65 100644 --- a/lib/irs/resconf.c +++ b/lib/irs/resconf.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file resconf.c */ /** @@ -34,16 +33,17 @@ */ #ifndef WIN32 -#include -#include #include + +#include +#include #endif #include #include #include -#include #include +#include #include #include @@ -55,29 +55,29 @@ #include #include -#define IRS_RESCONF_MAGIC ISC_MAGIC('R', 'E', 'S', 'c') -#define IRS_RESCONF_VALID(c) ISC_MAGIC_VALID(c, IRS_RESCONF_MAGIC) +#define IRS_RESCONF_MAGIC ISC_MAGIC('R', 'E', 'S', 'c') +#define IRS_RESCONF_VALID(c) ISC_MAGIC_VALID(c, IRS_RESCONF_MAGIC) /*! * protocol constants */ -#if ! defined(NS_INADDRSZ) -#define NS_INADDRSZ 4 +#if !defined(NS_INADDRSZ) +#define NS_INADDRSZ 4 #endif -#if ! defined(NS_IN6ADDRSZ) -#define NS_IN6ADDRSZ 16 +#if !defined(NS_IN6ADDRSZ) +#define NS_IN6ADDRSZ 16 #endif /*! * resolv.conf parameters */ -#define RESCONFMAXNAMESERVERS 3U /*%< max 3 "nameserver" entries */ -#define RESCONFMAXSEARCH 8U /*%< max 8 domains in "search" entry */ -#define RESCONFMAXLINELEN 256U /*%< max size of a line */ -#define RESCONFMAXSORTLIST 10U /*%< max 10 */ +#define RESCONFMAXNAMESERVERS 3U /*%< max 3 "nameserver" entries */ +#define RESCONFMAXSEARCH 8U /*%< max 8 domains in "search" entry */ +#define RESCONFMAXLINELEN 256U /*%< max size of a line */ +#define RESCONFMAXSORTLIST 10U /*%< max 10 */ /*! * configuration data structure @@ -88,51 +88,53 @@ struct irs_resconf { * The configuration data is a thread-specific object, and does not * need to be locked. */ - unsigned int magic; - isc_mem_t *mctx; + unsigned int magic; + isc_mem_t * mctx; - isc_sockaddrlist_t nameservers; - unsigned int numns; /*%< number of configured servers */ + isc_sockaddrlist_t nameservers; + unsigned int numns; /*%< number of configured servers */ - char *domainname; - char *search[RESCONFMAXSEARCH]; - uint8_t searchnxt; /*%< index for next free slot */ + char * domainname; + char * search[RESCONFMAXSEARCH]; + uint8_t searchnxt; /*%< index for next free slot */ irs_resconf_searchlist_t searchlist; struct { - isc_netaddr_t addr; + isc_netaddr_t addr; /*% mask has a non-zero 'family' if set */ - isc_netaddr_t mask; + isc_netaddr_t mask; } sortlist[RESCONFMAXSORTLIST]; - uint8_t sortlistnxt; + uint8_t sortlistnxt; /*%< non-zero if 'options debug' set */ - uint8_t resdebug; + uint8_t resdebug; /*%< set to n in 'options ndots:n' */ - uint8_t ndots; + uint8_t ndots; }; static isc_result_t -resconf_parsenameserver(irs_resconf_t *conf, FILE *fp); +resconf_parsenameserver(irs_resconf_t *conf, FILE *fp); static isc_result_t -resconf_parsedomain(irs_resconf_t *conf, FILE *fp); +resconf_parsedomain(irs_resconf_t *conf, FILE *fp); static isc_result_t -resconf_parsesearch(irs_resconf_t *conf, FILE *fp); +resconf_parsesearch(irs_resconf_t *conf, FILE *fp); static isc_result_t -resconf_parsesortlist(irs_resconf_t *conf, FILE *fp); +resconf_parsesortlist(irs_resconf_t *conf, FILE *fp); static isc_result_t -resconf_parseoption(irs_resconf_t *ctx, FILE *fp); +resconf_parseoption(irs_resconf_t *ctx, FILE *fp); #if HAVE_GET_WIN32_NAMESERVERS -static isc_result_t get_win32_nameservers(irs_resconf_t *conf); +static isc_result_t +get_win32_nameservers(irs_resconf_t *conf); #endif /*! * Eat characters from FP until EOL or EOF. Returns EOF or '\n' */ static int -eatline(FILE *fp) { +eatline(FILE *fp) +{ int ch; ch = fgetc(fp); @@ -148,7 +150,8 @@ eatline(FILE *fp) { * space. */ static int -eatwhite(FILE *fp) { +eatwhite(FILE *fp) +{ int ch; ch = fgetc(fp); @@ -168,8 +171,9 @@ eatwhite(FILE *fp) { * that caused the reading to stop. */ static int -getword(FILE *fp, char *buffer, size_t size) { - int ch; +getword(FILE *fp, char *buffer, size_t size) +{ + int ch; char *p; REQUIRE(buffer != NULL); @@ -188,8 +192,8 @@ getword(FILE *fp, char *buffer, size_t size) { if (ch == EOF || isspace((unsigned char)ch)) break; - else if ((size_t) (p - buffer) == size - 1) - return (EOF); /* Not enough space. */ + else if ((size_t)(p - buffer) == size - 1) + return (EOF); /* Not enough space. */ *p++ = (char)ch; ch = fgetc(fp); @@ -202,10 +206,10 @@ static isc_result_t add_server(isc_mem_t *mctx, const char *address_str, isc_sockaddrlist_t *nameservers) { - int error; + int error; isc_sockaddr_t *address = NULL; struct addrinfo hints, *res; - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; res = NULL; memset(&hints, 0, sizeof(hints)); @@ -220,8 +224,8 @@ add_server(isc_mem_t *mctx, const char *address_str, /* XXX: special case: treat all-0 IPv4 address as loopback */ if (res->ai_family == AF_INET) { struct in_addr *v4; - unsigned char zeroaddress[] = {0, 0, 0, 0}; - unsigned char loopaddress[] = {127, 0, 0, 1}; + unsigned char zeroaddress[] = { 0, 0, 0, 0 }; + unsigned char loopaddress[] = { 127, 0, 0, 1 }; v4 = &((struct sockaddr_in *)res->ai_addr)->sin_addr; if (memcmp(v4, zeroaddress, 4) == 0) @@ -239,21 +243,22 @@ add_server(isc_mem_t *mctx, const char *address_str, ISC_LINK_INIT(address, link); ISC_LIST_APPEND(*nameservers, address, link); - cleanup: +cleanup: freeaddrinfo(res); return (result); } static isc_result_t -create_addr(const char *buffer, isc_netaddr_t *addr, int convert_zero) { - struct in_addr v4; +create_addr(const char *buffer, isc_netaddr_t *addr, int convert_zero) +{ + struct in_addr v4; struct in6_addr v6; if (inet_pton(AF_INET, buffer, &v4) == 1) { if (convert_zero) { - unsigned char zeroaddress[] = {0, 0, 0, 0}; - unsigned char loopaddress[] = {127, 0, 0, 1}; + unsigned char zeroaddress[] = { 0, 0, 0, 0 }; + unsigned char loopaddress[] = { 127, 0, 0, 1 }; if (memcmp(&v4, zeroaddress, 4) == 0) memmove(&v4, loopaddress, 4); } @@ -271,9 +276,10 @@ create_addr(const char *buffer, isc_netaddr_t *addr, int convert_zero) { } static isc_result_t -resconf_parsenameserver(irs_resconf_t *conf, FILE *fp) { - char word[RESCONFMAXLINELEN]; - int cp; +resconf_parsenameserver(irs_resconf_t *conf, FILE *fp) +{ + char word[RESCONFMAXLINELEN]; + int cp; isc_result_t result; if (conf->numns == RESCONFMAXNAMESERVERS) @@ -297,9 +303,10 @@ resconf_parsenameserver(irs_resconf_t *conf, FILE *fp) { } static isc_result_t -resconf_parsedomain(irs_resconf_t *conf, FILE *fp) { - char word[RESCONFMAXLINELEN]; - int res; +resconf_parsedomain(irs_resconf_t *conf, FILE *fp) +{ + char word[RESCONFMAXLINELEN]; + int res; unsigned int i; res = getword(fp, word, sizeof(word)); @@ -331,10 +338,11 @@ resconf_parsedomain(irs_resconf_t *conf, FILE *fp) { } static isc_result_t -resconf_parsesearch(irs_resconf_t *conf, FILE *fp) { - int delim; +resconf_parsesearch(irs_resconf_t *conf, FILE *fp) +{ + int delim; unsigned int idx; - char word[RESCONFMAXLINELEN]; + char word[RESCONFMAXLINELEN]; if (conf->domainname != NULL) { /* @@ -364,7 +372,7 @@ resconf_parsesearch(irs_resconf_t *conf, FILE *fp) { if (conf->searchnxt == RESCONFMAXSEARCH) goto ignore; /* Too many domains. */ - INSIST(idx < sizeof(conf->search)/sizeof(conf->search[0])); + INSIST(idx < sizeof(conf->search) / sizeof(conf->search[0])); conf->search[idx] = isc_mem_strdup(conf->mctx, word); idx++; conf->searchnxt++; @@ -380,11 +388,12 @@ resconf_parsesearch(irs_resconf_t *conf, FILE *fp) { } static isc_result_t -resconf_parsesortlist(irs_resconf_t *conf, FILE *fp) { - int delim, res; +resconf_parsesortlist(irs_resconf_t *conf, FILE *fp) +{ + int delim, res; unsigned int idx; - char word[RESCONFMAXLINELEN]; - char *p; + char word[RESCONFMAXLINELEN]; + char * p; delim = getword(fp, word, sizeof(word)); if (strlen(word) == 0U) @@ -399,7 +408,8 @@ resconf_parsesortlist(irs_resconf_t *conf, FILE *fp) { *p++ = '\0'; idx = conf->sortlistnxt; - INSIST(idx < sizeof(conf->sortlist)/sizeof(conf->sortlist[0])); + INSIST(idx < + sizeof(conf->sortlist) / sizeof(conf->sortlist[0])); res = create_addr(word, &conf->sortlist[idx].addr, 1); if (res != ISC_R_SUCCESS) return (res); @@ -429,11 +439,12 @@ resconf_parsesortlist(irs_resconf_t *conf, FILE *fp) { } static isc_result_t -resconf_parseoption(irs_resconf_t *conf, FILE *fp) { - int delim; - long ndots; +resconf_parseoption(irs_resconf_t *conf, FILE *fp) +{ + int delim; + long ndots; char *p; - char word[RESCONFMAXLINELEN]; + char word[RESCONFMAXLINELEN]; delim = getword(fp, word, sizeof(word)); if (strlen(word) == 0U) @@ -461,7 +472,8 @@ resconf_parseoption(irs_resconf_t *conf, FILE *fp) { } static isc_result_t -add_search(irs_resconf_t *conf, char *domain) { +add_search(irs_resconf_t *conf, char *domain) +{ irs_resconf_search_t *entry; entry = isc_mem_get(conf->mctx, sizeof(*entry)); @@ -477,12 +489,12 @@ add_search(irs_resconf_t *conf, char *domain) { isc_result_t irs_resconf_load(isc_mem_t *mctx, const char *filename, irs_resconf_t **confp) { - FILE *fp = NULL; - char word[256]; - isc_result_t rval, ret = ISC_R_SUCCESS; + FILE * fp = NULL; + char word[256]; + isc_result_t rval, ret = ISC_R_SUCCESS; irs_resconf_t *conf; - unsigned int i; - int stopchar; + unsigned int i; + int stopchar; REQUIRE(mctx != NULL); REQUIRE(filename != NULL); @@ -582,7 +594,7 @@ irs_resconf_load(isc_mem_t *mctx, const char *filename, irs_resconf_t **confp) (void)add_server(conf->mctx, "127.0.0.1", &conf->nameservers); } - error: +error: conf->magic = IRS_RESCONF_MAGIC; if (ret != ISC_R_SUCCESS) @@ -597,11 +609,12 @@ irs_resconf_load(isc_mem_t *mctx, const char *filename, irs_resconf_t **confp) } void -irs_resconf_destroy(irs_resconf_t **confp) { - irs_resconf_t *conf; - isc_sockaddr_t *address; +irs_resconf_destroy(irs_resconf_t **confp) +{ + irs_resconf_t * conf; + isc_sockaddr_t * address; irs_resconf_search_t *searchentry; - unsigned int i; + unsigned int i; REQUIRE(confp != NULL); conf = *confp; @@ -630,21 +643,24 @@ irs_resconf_destroy(irs_resconf_t **confp) { } isc_sockaddrlist_t * -irs_resconf_getnameservers(irs_resconf_t *conf) { +irs_resconf_getnameservers(irs_resconf_t *conf) +{ REQUIRE(IRS_RESCONF_VALID(conf)); return (&conf->nameservers); } irs_resconf_searchlist_t * -irs_resconf_getsearchlist(irs_resconf_t *conf) { +irs_resconf_getsearchlist(irs_resconf_t *conf) +{ REQUIRE(IRS_RESCONF_VALID(conf)); return (&conf->searchlist); } unsigned int -irs_resconf_getndots(irs_resconf_t *conf) { +irs_resconf_getndots(irs_resconf_t *conf) +{ REQUIRE(IRS_RESCONF_VALID(conf)); return ((unsigned int)conf->ndots); diff --git a/lib/irs/tests/resconf_test.c b/lib/irs/tests/resconf_test.c index 9b5a44ec6d..5a8dc2c41c 100644 --- a/lib/irs/tests/resconf_test.c +++ b/lib/irs/tests/resconf_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -27,13 +26,14 @@ #include #include -#include #include +#include static isc_mem_t *mctx = NULL; static void -setup_test() { +setup_test() +{ isc_mem_create(&mctx); /* @@ -46,68 +46,44 @@ setup_test() { /* test irs_resconf_load() */ static void -irs_resconf_load_test(void **state) { - isc_result_t result; +irs_resconf_load_test(void **state) +{ + isc_result_t result; irs_resconf_t *resconf = NULL; - unsigned int i; + unsigned int i; struct { - const char *file; + const char * file; isc_result_t loadres; isc_result_t (*check)(irs_resconf_t *resconf); isc_result_t checkres; } tests[] = { - { - "testdata/domain.conf", ISC_R_SUCCESS, - NULL, ISC_R_SUCCESS - }, { - "testdata/nameserver-v4.conf", ISC_R_SUCCESS, - NULL, ISC_R_SUCCESS - }, { - "testdata/nameserver-v6.conf", ISC_R_SUCCESS, - NULL, ISC_R_SUCCESS - }, { - "testdata/nameserver-v6-scoped.conf", ISC_R_SUCCESS, - NULL, ISC_R_SUCCESS - }, { - "testdata/options-debug.conf", ISC_R_SUCCESS, - NULL, ISC_R_SUCCESS - }, { - "testdata/options-ndots.conf", ISC_R_SUCCESS, - NULL, ISC_R_SUCCESS - }, { - "testdata/options-timeout.conf", ISC_R_SUCCESS, - NULL, ISC_R_SUCCESS - }, { - "testdata/options-unknown.conf", ISC_R_SUCCESS, - NULL, ISC_R_SUCCESS - }, { - "testdata/options.conf", ISC_R_SUCCESS, - NULL, ISC_R_SUCCESS - }, { - "testdata/options-bad-ndots.conf", ISC_R_RANGE, - NULL, ISC_R_SUCCESS - }, { - "testdata/options-empty.conf", ISC_R_UNEXPECTEDEND, - NULL, ISC_R_SUCCESS - }, { - "testdata/port.conf", ISC_R_SUCCESS, - NULL, ISC_R_SUCCESS - }, { - "testdata/resolv.conf", ISC_R_SUCCESS, - NULL, ISC_R_SUCCESS - }, { - "testdata/search.conf", ISC_R_SUCCESS, - NULL, ISC_R_SUCCESS - }, { - "testdata/sortlist-v4.conf", ISC_R_SUCCESS, - NULL, ISC_R_SUCCESS - }, { - "testdata/timeout.conf", ISC_R_SUCCESS, - NULL, ISC_R_SUCCESS - }, { - "testdata/unknown.conf", ISC_R_SUCCESS, - NULL, ISC_R_SUCCESS - } + { "testdata/domain.conf", ISC_R_SUCCESS, NULL, ISC_R_SUCCESS }, + { "testdata/nameserver-v4.conf", ISC_R_SUCCESS, NULL, + ISC_R_SUCCESS }, + { "testdata/nameserver-v6.conf", ISC_R_SUCCESS, NULL, + ISC_R_SUCCESS }, + { "testdata/nameserver-v6-scoped.conf", ISC_R_SUCCESS, NULL, + ISC_R_SUCCESS }, + { "testdata/options-debug.conf", ISC_R_SUCCESS, NULL, + ISC_R_SUCCESS }, + { "testdata/options-ndots.conf", ISC_R_SUCCESS, NULL, + ISC_R_SUCCESS }, + { "testdata/options-timeout.conf", ISC_R_SUCCESS, NULL, + ISC_R_SUCCESS }, + { "testdata/options-unknown.conf", ISC_R_SUCCESS, NULL, + ISC_R_SUCCESS }, + { "testdata/options.conf", ISC_R_SUCCESS, NULL, ISC_R_SUCCESS }, + { "testdata/options-bad-ndots.conf", ISC_R_RANGE, NULL, + ISC_R_SUCCESS }, + { "testdata/options-empty.conf", ISC_R_UNEXPECTEDEND, NULL, + ISC_R_SUCCESS }, + { "testdata/port.conf", ISC_R_SUCCESS, NULL, ISC_R_SUCCESS }, + { "testdata/resolv.conf", ISC_R_SUCCESS, NULL, ISC_R_SUCCESS }, + { "testdata/search.conf", ISC_R_SUCCESS, NULL, ISC_R_SUCCESS }, + { "testdata/sortlist-v4.conf", ISC_R_SUCCESS, NULL, + ISC_R_SUCCESS }, + { "testdata/timeout.conf", ISC_R_SUCCESS, NULL, ISC_R_SUCCESS }, + { "testdata/unknown.conf", ISC_R_SUCCESS, NULL, ISC_R_SUCCESS } }; @@ -115,7 +91,7 @@ irs_resconf_load_test(void **state) { setup_test(); - for (i = 0; i < sizeof(tests)/sizeof(tests[1]); i++) { + for (i = 0; i < sizeof(tests) / sizeof(tests[1]); i++) { result = irs_resconf_load(mctx, tests[i].file, &resconf); if (result != tests[i].loadres) { fail_msg("# unexpected result %s loading %s", @@ -123,8 +99,7 @@ irs_resconf_load_test(void **state) { } if (result == ISC_R_SUCCESS && resconf == NULL) { - fail_msg("# NULL on success loading %s", - tests[i].file); + fail_msg("# NULL on success loading %s", tests[i].file); } else if (result != ISC_R_SUCCESS && resconf != NULL) { fail_msg("# non-NULL on failure loading %s", tests[i].file); @@ -147,7 +122,8 @@ irs_resconf_load_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(irs_resconf_load_test), }; @@ -160,7 +136,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/irs/win32/DLLMain.c b/lib/irs/win32/DLLMain.c index 842ca74d1e..69e68ca22a 100644 --- a/lib/irs/win32/DLLMain.c +++ b/lib/irs/win32/DLLMain.c @@ -9,14 +9,14 @@ * information regarding copyright ownership. */ -#include #include +#include /* * Called when we enter the DLL */ -__declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, - DWORD fdwReason, LPVOID lpvReserved) +__declspec(dllexport) BOOL WINAPI + DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { switch (fdwReason) { /* @@ -46,4 +46,3 @@ __declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, } return (TRUE); } - diff --git a/lib/irs/win32/include/irs/netdb.h b/lib/irs/win32/include/irs/netdb.h index 77865d7417..85c1580c66 100644 --- a/lib/irs/win32/include/irs/netdb.h +++ b/lib/irs/win32/include/irs/netdb.h @@ -9,13 +9,12 @@ * information regarding copyright ownership. */ - /*! \file */ #ifndef IRS_NETDB_H #define IRS_NETDB_H 1 -#include /* Required on FreeBSD (and others?) for size_t. */ +#include /* Required on FreeBSD (and others?) for size_t. */ /* * Define if does not declare struct addrinfo. @@ -24,14 +23,14 @@ #ifdef ISC_IRS_NEEDADDRINFO struct addrinfo { - int ai_flags; /* AI_PASSIVE, AI_CANONNAME */ - int ai_family; /* PF_xxx */ - int ai_socktype; /* SOCK_xxx */ - int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */ - size_t ai_addrlen; /* Length of ai_addr */ - char *ai_canonname; /* Canonical name for hostname */ - struct sockaddr *ai_addr; /* Binary address */ - struct addrinfo *ai_next; /* Next structure in linked list */ + int ai_flags; /* AI_PASSIVE, AI_CANONNAME */ + int ai_family; /* PF_xxx */ + int ai_socktype; /* SOCK_xxx */ + int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */ + size_t ai_addrlen; /* Length of ai_addr */ + char * ai_canonname; /* Canonical name for hostname */ + struct sockaddr *ai_addr; /* Binary address */ + struct addrinfo *ai_next; /* Next structure in linked list */ }; #endif @@ -45,21 +44,21 @@ struct addrinfo { * (left in extern int h_errno). */ -#undef NETDB_INTERNAL -#undef NETDB_SUCCESS -#undef HOST_NOT_FOUND -#undef TRY_AGAIN -#undef NO_RECOVERY -#undef NO_DATA -#undef NO_ADDRESS +#undef NETDB_INTERNAL +#undef NETDB_SUCCESS +#undef HOST_NOT_FOUND +#undef TRY_AGAIN +#undef NO_RECOVERY +#undef NO_DATA +#undef NO_ADDRESS -#define NETDB_INTERNAL -1 /* see errno */ -#define NETDB_SUCCESS 0 /* no problem */ -#define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found */ -#define TRY_AGAIN 2 /* Non-Authoritive Host not found, or SERVERFAIL */ -#define NO_RECOVERY 3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */ -#define NO_DATA 4 /* Valid name, no data record of requested type */ -#define NO_ADDRESS NO_DATA /* no address, look for MX record */ +#define NETDB_INTERNAL -1 /* see errno */ +#define NETDB_SUCCESS 0 /* no problem */ +#define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found */ +#define TRY_AGAIN 2 /* Non-Authoritive Host not found, or SERVERFAIL */ +#define NO_RECOVERY 3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */ +#define NO_DATA 4 /* Valid name, no data record of requested type */ +#define NO_ADDRESS NO_DATA /* no address, look for MX record */ /* * Error return codes from getaddrinfo(). EAI_INSECUREDATA is our own extension @@ -67,50 +66,50 @@ struct addrinfo { * at least doesn't do any harm. */ -#undef EAI_ADDRFAMILY -#undef EAI_AGAIN -#undef EAI_BADFLAGS -#undef EAI_FAIL -#undef EAI_FAMILY -#undef EAI_MEMORY -#undef EAI_NODATA -#undef EAI_NONAME -#undef EAI_SERVICE -#undef EAI_SOCKTYPE -#undef EAI_SYSTEM -#undef EAI_BADHINTS -#undef EAI_PROTOCOL -#undef EAI_OVERFLOW -#undef EAI_INSECUREDATA -#undef EAI_MAX +#undef EAI_ADDRFAMILY +#undef EAI_AGAIN +#undef EAI_BADFLAGS +#undef EAI_FAIL +#undef EAI_FAMILY +#undef EAI_MEMORY +#undef EAI_NODATA +#undef EAI_NONAME +#undef EAI_SERVICE +#undef EAI_SOCKTYPE +#undef EAI_SYSTEM +#undef EAI_BADHINTS +#undef EAI_PROTOCOL +#undef EAI_OVERFLOW +#undef EAI_INSECUREDATA +#undef EAI_MAX -#define EAI_ADDRFAMILY 1 /* address family for hostname not supported */ -#define EAI_AGAIN 2 /* temporary failure in name resolution */ -#define EAI_BADFLAGS 3 /* invalid value for ai_flags */ -#define EAI_FAIL 4 /* non-recoverable failure in name resolution */ -#define EAI_FAMILY 5 /* ai_family not supported */ -#define EAI_MEMORY 6 /* memory allocation failure */ -#define EAI_NODATA 7 /* no address associated with hostname */ -#define EAI_NONAME 8 /* hostname nor servname provided, or not known */ -#define EAI_SERVICE 9 /* servname not supported for ai_socktype */ -#define EAI_SOCKTYPE 10 /* ai_socktype not supported */ -#define EAI_SYSTEM 11 /* system error returned in errno */ -#define EAI_BADHINTS 12 -#define EAI_PROTOCOL 13 -#define EAI_OVERFLOW 14 +#define EAI_ADDRFAMILY 1 /* address family for hostname not supported */ +#define EAI_AGAIN 2 /* temporary failure in name resolution */ +#define EAI_BADFLAGS 3 /* invalid value for ai_flags */ +#define EAI_FAIL 4 /* non-recoverable failure in name resolution */ +#define EAI_FAMILY 5 /* ai_family not supported */ +#define EAI_MEMORY 6 /* memory allocation failure */ +#define EAI_NODATA 7 /* no address associated with hostname */ +#define EAI_NONAME 8 /* hostname nor servname provided, or not known */ +#define EAI_SERVICE 9 /* servname not supported for ai_socktype */ +#define EAI_SOCKTYPE 10 /* ai_socktype not supported */ +#define EAI_SYSTEM 11 /* system error returned in errno */ +#define EAI_BADHINTS 12 +#define EAI_PROTOCOL 13 +#define EAI_OVERFLOW 14 #define EAI_INSECUREDATA 15 -#define EAI_MAX 16 +#define EAI_MAX 16 /* * Flag values for getaddrinfo() */ -#undef AI_PASSIVE -#undef AI_CANONNAME -#undef AI_NUMERICHOST +#undef AI_PASSIVE +#undef AI_CANONNAME +#undef AI_NUMERICHOST -#define AI_PASSIVE 0x00000001 -#define AI_CANONNAME 0x00000002 -#define AI_NUMERICHOST 0x00000004 +#define AI_PASSIVE 0x00000001 +#define AI_CANONNAME 0x00000002 +#define AI_NUMERICHOST 0x00000004 /* * Flag values for getipnodebyname() @@ -120,35 +119,35 @@ struct addrinfo { #undef AI_ADDRCONFIG #undef AI_DEFAULT -#define AI_V4MAPPED 0x00000008 -#define AI_ALL 0x00000010 -#define AI_ADDRCONFIG 0x00000020 -#define AI_DEFAULT (AI_V4MAPPED|AI_ADDRCONFIG) +#define AI_V4MAPPED 0x00000008 +#define AI_ALL 0x00000010 +#define AI_ADDRCONFIG 0x00000020 +#define AI_DEFAULT (AI_V4MAPPED | AI_ADDRCONFIG) /* * Constants for getnameinfo() */ -#undef NI_MAXHOST -#undef NI_MAXSERV +#undef NI_MAXHOST +#undef NI_MAXSERV -#define NI_MAXHOST 1025 -#define NI_MAXSERV 32 +#define NI_MAXHOST 1025 +#define NI_MAXSERV 32 /* * Flag values for getnameinfo() */ -#undef NI_NOFQDN -#undef NI_NUMERICHOST -#undef NI_NAMEREQD -#undef NI_NUMERICSERV -#undef NI_DGRAM -#undef NI_NUMERICSCOPE +#undef NI_NOFQDN +#undef NI_NUMERICHOST +#undef NI_NAMEREQD +#undef NI_NUMERICSERV +#undef NI_DGRAM +#undef NI_NUMERICSCOPE -#define NI_NOFQDN 0x00000001 -#define NI_NUMERICHOST 0x00000002 -#define NI_NAMEREQD 0x00000004 -#define NI_NUMERICSERV 0x00000008 -#define NI_DGRAM 0x00000010 +#define NI_NOFQDN 0x00000001 +#define NI_NUMERICHOST 0x00000002 +#define NI_NAMEREQD 0x00000004 +#define NI_NUMERICSERV 0x00000008 +#define NI_DGRAM 0x00000010 /* * Define to map into irs_ namespace. @@ -184,12 +183,16 @@ struct addrinfo { #endif -int getaddrinfo(const char *, const char *, - const struct addrinfo *, struct addrinfo **); -int getnameinfo(const struct sockaddr *, socklen_t, char *, - DWORD, char *, DWORD, int); -void freeaddrinfo(struct addrinfo *); -char *gai_strerror(int); +int +getaddrinfo(const char *, const char *, const struct addrinfo *, + struct addrinfo **); +int +getnameinfo(const struct sockaddr *, socklen_t, char *, DWORD, char *, DWORD, + int); +void +freeaddrinfo(struct addrinfo *); +char * +gai_strerror(int); /* * Tell Emacs to use C mode on this file. diff --git a/lib/irs/win32/resconf.c b/lib/irs/win32/resconf.c index 2b3eac2e8f..72e632fada 100644 --- a/lib/irs/win32/resconf.c +++ b/lib/irs/win32/resconf.c @@ -25,17 +25,17 @@ #include -#define TCPIP_SUBKEY \ - "SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters" +#define TCPIP_SUBKEY "SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters" isc_result_t -get_win32_searchlist(irs_resconf_t *conf) { +get_win32_searchlist(irs_resconf_t *conf) +{ isc_result_t result = ISC_R_SUCCESS; - HKEY hKey; - char searchlist[MAX_PATH]; - DWORD searchlen = MAX_PATH; - LSTATUS status; - char *cp; + HKEY hKey; + char searchlist[MAX_PATH]; + DWORD searchlen = MAX_PATH; + LSTATUS status; + char * cp; REQUIRE(conf != NULL); @@ -65,16 +65,17 @@ get_win32_searchlist(irs_resconf_t *conf) { } isc_result_t -get_win32_nameservers(irs_resconf_t *conf) { - isc_result_t result; - FIXED_INFO *FixedInfo; - ULONG BufLen = sizeof(FIXED_INFO); - DWORD dwRetVal; +get_win32_nameservers(irs_resconf_t *conf) +{ + isc_result_t result; + FIXED_INFO * FixedInfo; + ULONG BufLen = sizeof(FIXED_INFO); + DWORD dwRetVal; IP_ADDR_STRING *pIPAddr; REQUIRE(conf != NULL); - FixedInfo = (FIXED_INFO *) GlobalAlloc(GPTR, BufLen); + FixedInfo = (FIXED_INFO *)GlobalAlloc(GPTR, BufLen); if (FixedInfo == NULL) { return (ISC_R_NOMEMORY); } @@ -98,8 +99,7 @@ get_win32_nameservers(irs_resconf_t *conf) { } if (ISC_LIST_EMPTY(conf->searchlist) && - strlen(FixedInfo->DomainName) > 0) - { + strlen(FixedInfo->DomainName) > 0) { result = add_search(conf, FixedInfo->DomainName); if (result != ISC_R_SUCCESS) { goto cleanup; @@ -122,7 +122,7 @@ get_win32_nameservers(irs_resconf_t *conf) { pIPAddr = pIPAddr->Next; } - cleanup: +cleanup: if (FixedInfo != NULL) { GlobalFree(FixedInfo); } diff --git a/lib/isc/aes.c b/lib/isc/aes.c index d50e6ba40e..3c24b2ba56 100644 --- a/lib/isc/aes.c +++ b/lib/isc/aes.c @@ -9,18 +9,17 @@ * information regarding copyright ownership. */ - /*! \file isc/aes.c */ -#include #include +#include #include #include #include #include -#include #include +#include #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) #define EVP_CIPHER_CTX_new() &(_context), EVP_CIPHER_CTX_init(&_context) @@ -35,14 +34,14 @@ isc_aes128_crypt(const unsigned char *key, const unsigned char *in, EVP_CIPHER_CTX _context; #endif EVP_CIPHER_CTX *c; - int len; + int len; c = EVP_CIPHER_CTX_new(); RUNTIME_CHECK(c != NULL); RUNTIME_CHECK(EVP_EncryptInit(c, EVP_aes_128_ecb(), key, NULL) == 1); EVP_CIPHER_CTX_set_padding(c, 0); - RUNTIME_CHECK(EVP_EncryptUpdate(c, out, &len, in, - ISC_AES_BLOCK_LENGTH) == 1); + RUNTIME_CHECK( + EVP_EncryptUpdate(c, out, &len, in, ISC_AES_BLOCK_LENGTH) == 1); RUNTIME_CHECK(len == ISC_AES_BLOCK_LENGTH); EVP_CIPHER_CTX_free(c); } @@ -55,14 +54,14 @@ isc_aes192_crypt(const unsigned char *key, const unsigned char *in, EVP_CIPHER_CTX _context; #endif EVP_CIPHER_CTX *c; - int len; + int len; c = EVP_CIPHER_CTX_new(); RUNTIME_CHECK(c != NULL); RUNTIME_CHECK(EVP_EncryptInit(c, EVP_aes_192_ecb(), key, NULL) == 1); EVP_CIPHER_CTX_set_padding(c, 0); - RUNTIME_CHECK(EVP_EncryptUpdate(c, out, &len, in, - ISC_AES_BLOCK_LENGTH) == 1); + RUNTIME_CHECK( + EVP_EncryptUpdate(c, out, &len, in, ISC_AES_BLOCK_LENGTH) == 1); RUNTIME_CHECK(len == ISC_AES_BLOCK_LENGTH); EVP_CIPHER_CTX_free(c); } @@ -75,14 +74,14 @@ isc_aes256_crypt(const unsigned char *key, const unsigned char *in, EVP_CIPHER_CTX _context; #endif EVP_CIPHER_CTX *c; - int len; + int len; c = EVP_CIPHER_CTX_new(); RUNTIME_CHECK(c != NULL); RUNTIME_CHECK(EVP_EncryptInit(c, EVP_aes_256_ecb(), key, NULL) == 1); EVP_CIPHER_CTX_set_padding(c, 0); - RUNTIME_CHECK(EVP_EncryptUpdate(c, out, &len, in, - ISC_AES_BLOCK_LENGTH) == 1); + RUNTIME_CHECK( + EVP_EncryptUpdate(c, out, &len, in, ISC_AES_BLOCK_LENGTH) == 1); RUNTIME_CHECK(len == ISC_AES_BLOCK_LENGTH); EVP_CIPHER_CTX_free(c); } diff --git a/lib/isc/app.c b/lib/isc/app.c index 1a013f1f01..18dee4f96c 100644 --- a/lib/isc/app.c +++ b/lib/isc/app.c @@ -11,33 +11,33 @@ /*! \file */ -#include - +#include #include #include #include -#include #include +#include + #ifndef WIN32 #include #include + #include #endif /* WIN32 */ -#include -#include #include +#include #include +#include #include #include -#include #include #include #include #include -#include #include +#include #include #ifdef WIN32 @@ -51,46 +51,43 @@ * context and let multiple worker, I/O, timer threads do actual jobs. */ -static isc_thread_t blockedthread; -static atomic_bool is_running; +static isc_thread_t blockedthread; +static atomic_bool is_running; #ifdef WIN32 /* * We need to remember which thread is the main thread... */ -static isc_thread_t main_thread; +static isc_thread_t main_thread; #endif /* * The application context of this module. */ -#define APPCTX_MAGIC ISC_MAGIC('A', 'p', 'c', 'x') -#define VALID_APPCTX(c) ISC_MAGIC_VALID(c, APPCTX_MAGIC) +#define APPCTX_MAGIC ISC_MAGIC('A', 'p', 'c', 'x') +#define VALID_APPCTX(c) ISC_MAGIC_VALID(c, APPCTX_MAGIC) #ifdef WIN32 #define NUM_EVENTS 2 -enum { - RELOAD_EVENT, - SHUTDOWN_EVENT -}; +enum { RELOAD_EVENT, SHUTDOWN_EVENT }; #endif /* WIN32 */ struct isc_appctx { - unsigned int magic; - isc_mem_t *mctx; - isc_mutex_t lock; - isc_eventlist_t on_run; - atomic_bool shutdown_requested; - atomic_bool running; - atomic_bool want_shutdown; - atomic_bool want_reload; - atomic_bool blocked; + unsigned int magic; + isc_mem_t * mctx; + isc_mutex_t lock; + isc_eventlist_t on_run; + atomic_bool shutdown_requested; + atomic_bool running; + atomic_bool want_shutdown; + atomic_bool want_reload; + atomic_bool blocked; #ifdef WIN32 - HANDLE hEvents[NUM_EVENTS]; -#else /* WIN32 */ - isc_mutex_t readylock; - isc_condition_t ready; + HANDLE hEvents[NUM_EVENTS]; +#else /* WIN32 */ + isc_mutex_t readylock; + isc_condition_t ready; #endif /* WIN32 */ }; @@ -98,25 +95,25 @@ static isc_appctx_t isc_g_appctx; #ifndef WIN32 static void -handle_signal(int sig, void (*handler)(int)) { +handle_signal(int sig, void (*handler)(int)) +{ struct sigaction sa; memset(&sa, 0, sizeof(sa)); sa.sa_handler = handler; - if (sigfillset(&sa.sa_mask) != 0 || - sigaction(sig, &sa, NULL) < 0) { + if (sigfillset(&sa.sa_mask) != 0 || sigaction(sig, &sa, NULL) < 0) { char strbuf[ISC_STRERRORSIZE]; strerror_r(errno, strbuf, sizeof(strbuf)); isc_error_fatal(__FILE__, __LINE__, - "handle_signal() %d setup: %s", - sig, strbuf); + "handle_signal() %d setup: %s", sig, strbuf); } } #endif isc_result_t -isc_app_ctxstart(isc_appctx_t *ctx) { +isc_app_ctxstart(isc_appctx_t *ctx) +{ REQUIRE(VALID_APPCTX(ctx)); /* @@ -147,9 +144,9 @@ isc_app_ctxstart(isc_appctx_t *ctx) { /* Create the shutdown event in a non-signaled state */ ctx->hEvents[SHUTDOWN_EVENT] = CreateEvent(NULL, FALSE, FALSE, NULL); #else /* WIN32 */ - int presult; - sigset_t sset; - char strbuf[ISC_STRERRORSIZE]; + int presult; + sigset_t sset; + char strbuf[ISC_STRERRORSIZE]; /* * Always ignore SIGPIPE. @@ -169,20 +166,17 @@ isc_app_ctxstart(isc_appctx_t *ctx) { * blocked by default, ensuring that only the thread that calls * sigwait() for them will get those signals. */ - if (sigemptyset(&sset) != 0 || - sigaddset(&sset, SIGHUP) != 0 || - sigaddset(&sset, SIGINT) != 0 || - sigaddset(&sset, SIGTERM) != 0) { + if (sigemptyset(&sset) != 0 || sigaddset(&sset, SIGHUP) != 0 || + sigaddset(&sset, SIGINT) != 0 || sigaddset(&sset, SIGTERM) != 0) { strerror_r(errno, strbuf, sizeof(strbuf)); isc_error_fatal(__FILE__, __LINE__, - "isc_app_start() sigsetops: %s", strbuf); + "isc_app_start() sigsetops: %s", strbuf); } presult = pthread_sigmask(SIG_BLOCK, &sset, NULL); if (presult != 0) { strerror_r(presult, strbuf, sizeof(strbuf)); isc_error_fatal(__FILE__, __LINE__, - "isc_app_start() pthread_sigmask: %s", - strbuf); + "isc_app_start() pthread_sigmask: %s", strbuf); } #endif /* WIN32 */ @@ -191,7 +185,8 @@ isc_app_ctxstart(isc_appctx_t *ctx) { } isc_result_t -isc_app_start(void) { +isc_app_start(void) +{ isc_g_appctx.magic = APPCTX_MAGIC; isc_g_appctx.mctx = NULL; /* The remaining members will be initialized in ctxstart() */ @@ -208,10 +203,10 @@ isc_app_onrun(isc_mem_t *mctx, isc_task_t *task, isc_taskaction_t action, isc_result_t isc_app_ctxonrun(isc_appctx_t *ctx, isc_mem_t *mctx, isc_task_t *task, - isc_taskaction_t action, void *arg) + isc_taskaction_t action, void *arg) { isc_event_t *event; - isc_task_t *cloned_task = NULL; + isc_task_t * cloned_task = NULL; if (atomic_load_acquire(&ctx->running)) { return (ISC_R_ALREADYRUNNING); @@ -234,11 +229,12 @@ isc_app_ctxonrun(isc_appctx_t *ctx, isc_mem_t *mctx, isc_task_t *task, } isc_result_t -isc_app_ctxrun(isc_appctx_t *ctx) { +isc_app_ctxrun(isc_appctx_t *ctx) +{ isc_event_t *event, *next_event; - isc_task_t *task; - bool exp_false = false; - bool exp_true = true; + isc_task_t * task; + bool exp_false = false; + bool exp_true = true; REQUIRE(VALID_APPCTX(ctx)); @@ -246,15 +242,13 @@ isc_app_ctxrun(isc_appctx_t *ctx) { REQUIRE(main_thread == GetCurrentThread()); #endif - if (atomic_compare_exchange_weak_acq_rel( - &ctx->running, &exp_false, true) == true) - { + if (atomic_compare_exchange_weak_acq_rel(&ctx->running, &exp_false, + true) == true) { /* * Post any on-run events (in FIFO order). */ LOCK(&ctx->lock); - for (event = ISC_LIST_HEAD(ctx->on_run); - event != NULL; + for (event = ISC_LIST_HEAD(ctx->on_run); event != NULL; event = next_event) { next_event = ISC_LIST_NEXT(event, ev_link); ISC_LIST_UNLINK(ctx->on_run, event, ev_link); @@ -282,9 +276,8 @@ isc_app_ctxrun(isc_appctx_t *ctx) { */ while (atomic_load_acquire(&ctx->want_shutdown) == false) { #ifdef WIN32 - DWORD dwWaitResult = \ - WaitForMultipleObjects(NUM_EVENTS, ctx->hEvents, - FALSE, INFINITE); + DWORD dwWaitResult = WaitForMultipleObjects( + NUM_EVENTS, ctx->hEvents, FALSE, INFINITE); /* See why we returned */ @@ -304,10 +297,10 @@ isc_app_ctxrun(isc_appctx_t *ctx) { break; } } -#else /* WIN32 */ +#else /* WIN32 */ if (isc_bind9) { sigset_t sset; - int sig; + int sig; /* * BIND9 internal; single context: * Wait for SIGHUP, SIGINT, or SIGTERM. @@ -331,8 +324,8 @@ isc_app_ctxrun(isc_appctx_t *ctx) { &ctx->want_shutdown, true); break; case SIGHUP: - atomic_store_release( - &ctx->want_reload, true); + atomic_store_release(&ctx->want_reload, + true); break; default: INSIST(0); @@ -356,9 +349,7 @@ isc_app_ctxrun(isc_appctx_t *ctx) { #endif /* WIN32 */ exp_true = true; if (atomic_compare_exchange_weak_acq_rel(&ctx->want_reload, - &exp_true, - false)) - { + &exp_true, false)) { return (ISC_R_RELOAD); } @@ -372,12 +363,13 @@ isc_app_ctxrun(isc_appctx_t *ctx) { } isc_result_t -isc_app_run(void) { +isc_app_run(void) +{ isc_result_t result; - bool exp_false = false; + bool exp_false = false; - REQUIRE(atomic_compare_exchange_weak_acq_rel( - &is_running, &exp_false, true) == true); + REQUIRE(atomic_compare_exchange_weak_acq_rel(&is_running, &exp_false, + true) == true); result = isc_app_ctxrun(&isc_g_appctx); atomic_store_release(&is_running, false); @@ -385,12 +377,14 @@ isc_app_run(void) { } bool -isc_app_isrunning() { +isc_app_isrunning() +{ return (atomic_load_acquire(&is_running)); } void -isc_app_ctxshutdown(isc_appctx_t *ctx) { +isc_app_ctxshutdown(isc_appctx_t *ctx) +{ bool exp_false = false; REQUIRE(VALID_APPCTX(ctx)); @@ -400,14 +394,11 @@ isc_app_ctxshutdown(isc_appctx_t *ctx) { /* If ctx->shutdown_requested == true, we are already shutting * down and we want to just bail out. */ - if (atomic_compare_exchange_weak_acq_rel( - &ctx->shutdown_requested, - &exp_false, - true)) - { + if (atomic_compare_exchange_weak_acq_rel(&ctx->shutdown_requested, + &exp_false, true)) { #ifdef WIN32 SetEvent(ctx->hEvents[SHUTDOWN_EVENT]); -#else /* WIN32 */ +#else /* WIN32 */ if (isc_bind9 && ctx != &isc_g_appctx) { /* BIND9 internal, but using multiple contexts */ atomic_store_release(&ctx->want_shutdown, true); @@ -415,11 +406,11 @@ isc_app_ctxshutdown(isc_appctx_t *ctx) { /* BIND9 internal, single context */ if (kill(getpid(), SIGTERM) < 0) { char strbuf[ISC_STRERRORSIZE]; - strerror_r(errno, - strbuf, sizeof(strbuf)); + strerror_r(errno, strbuf, sizeof(strbuf)); isc_error_fatal(__FILE__, __LINE__, "isc_app_shutdown() " - "kill: %s", strbuf); + "kill: %s", + strbuf); } } else { /* External, multiple contexts */ @@ -428,16 +419,17 @@ isc_app_ctxshutdown(isc_appctx_t *ctx) { } #endif /* WIN32 */ } - } void -isc_app_shutdown(void) { +isc_app_shutdown(void) +{ isc_app_ctxshutdown(&isc_g_appctx); } void -isc_app_ctxsuspend(isc_appctx_t *ctx) { +isc_app_ctxsuspend(isc_appctx_t *ctx) +{ REQUIRE(VALID_APPCTX(ctx)); REQUIRE(atomic_load(&ctx->running)); @@ -447,8 +439,8 @@ isc_app_ctxsuspend(isc_appctx_t *ctx) { */ if (atomic_load_acquire(&ctx->shutdown_requested) == false) { #ifdef WIN32 - SetEvent(ctx->hEvents[RELOAD_EVENT]); -#else /* WIN32 */ + SetEvent(ctx->hEvents[RELOAD_EVENT]); +#else /* WIN32 */ if (isc_bind9 && ctx != &isc_g_appctx) { /* BIND9 internal, but using multiple contexts */ atomic_store_release(&ctx->want_reload, true); @@ -456,11 +448,11 @@ isc_app_ctxsuspend(isc_appctx_t *ctx) { /* BIND9 internal, single context */ if (kill(getpid(), SIGHUP) < 0) { char strbuf[ISC_STRERRORSIZE]; - strerror_r(errno, - strbuf, sizeof(strbuf)); + strerror_r(errno, strbuf, sizeof(strbuf)); isc_error_fatal(__FILE__, __LINE__, "isc_app_reload() " - "kill: %s", strbuf); + "kill: %s", + strbuf); } } else { /* External, multiple contexts */ @@ -472,12 +464,14 @@ isc_app_ctxsuspend(isc_appctx_t *ctx) { } void -isc_app_reload(void) { +isc_app_reload(void) +{ isc_app_ctxsuspend(&isc_g_appctx); } void -isc_app_ctxfinish(isc_appctx_t *ctx) { +isc_app_ctxfinish(isc_appctx_t *ctx) +{ REQUIRE(VALID_APPCTX(ctx)); isc_mutex_destroy(&ctx->lock); @@ -488,12 +482,14 @@ isc_app_ctxfinish(isc_appctx_t *ctx) { } void -isc_app_finish(void) { +isc_app_finish(void) +{ isc_app_ctxfinish(&isc_g_appctx); } void -isc_app_block(void) { +isc_app_block(void) +{ bool exp_false = false; REQUIRE(atomic_load_acquire(&isc_g_appctx.running)); REQUIRE(atomic_compare_exchange_weak_acq_rel(&isc_g_appctx.blocked, @@ -501,7 +497,7 @@ isc_app_block(void) { #ifdef WIN32 blockedthread = GetCurrentThread(); -#else /* WIN32 */ +#else /* WIN32 */ sigset_t sset; blockedthread = pthread_self(); RUNTIME_CHECK(sigemptyset(&sset) == 0 && @@ -512,18 +508,17 @@ isc_app_block(void) { } void -isc_app_unblock(void) { +isc_app_unblock(void) +{ bool exp_true = true; REQUIRE(atomic_load_acquire(&isc_g_appctx.running)); - REQUIRE(atomic_compare_exchange_weak_acq_rel( - &isc_g_appctx.blocked, - &exp_true, - false)); + REQUIRE(atomic_compare_exchange_weak_acq_rel(&isc_g_appctx.blocked, + &exp_true, false)); #ifdef WIN32 REQUIRE(blockedthread == GetCurrentThread()); -#else /* WIN32 */ +#else /* WIN32 */ REQUIRE(blockedthread == pthread_self()); sigset_t sset; @@ -535,7 +530,8 @@ isc_app_unblock(void) { } isc_result_t -isc_appctx_create(isc_mem_t *mctx, isc_appctx_t **ctxp) { +isc_appctx_create(isc_mem_t *mctx, isc_appctx_t **ctxp) +{ isc_appctx_t *ctx; REQUIRE(mctx != NULL); @@ -554,7 +550,8 @@ isc_appctx_create(isc_mem_t *mctx, isc_appctx_t **ctxp) { } void -isc_appctx_destroy(isc_appctx_t **ctxp) { +isc_appctx_destroy(isc_appctx_t **ctxp) +{ isc_appctx_t *ctx; REQUIRE(ctxp != NULL); diff --git a/lib/isc/assertions.c b/lib/isc/assertions.c index 45aa8b8efb..1de7a703a1 100644 --- a/lib/isc/assertions.c +++ b/lib/isc/assertions.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -52,7 +51,8 @@ isc_assertion_failed(const char *file, int line, isc_assertiontype_t type, /*% Set callback. */ void -isc_assertion_setcallback(isc_assertioncallback_t cb) { +isc_assertion_setcallback(isc_assertioncallback_t cb) +{ if (cb == NULL) isc_assertion_failed_cb = default_callback; else @@ -61,7 +61,8 @@ isc_assertion_setcallback(isc_assertioncallback_t cb) { /*% Type to Text */ const char * -isc_assertion_typetotext(isc_assertiontype_t type) { +isc_assertion_typetotext(isc_assertiontype_t type) +{ const char *result; /* @@ -96,10 +97,10 @@ static void default_callback(const char *file, int line, isc_assertiontype_t type, const char *cond) { - void *tracebuf[BACKTRACE_MAXFRAME]; - int i, nframes; - const char *logsuffix = "."; - const char *fname; + void * tracebuf[BACKTRACE_MAXFRAME]; + int i, nframes; + const char * logsuffix = "."; + const char * fname; isc_result_t result; result = isc_backtrace_gettrace(tracebuf, BACKTRACE_MAXFRAME, &nframes); @@ -107,8 +108,8 @@ default_callback(const char *file, int line, isc_assertiontype_t type, logsuffix = ", back trace"; } - fprintf(stderr, "%s:%d: %s(%s) failed%s\n", - file, line, isc_assertion_typetotext(type), cond, logsuffix); + fprintf(stderr, "%s:%d: %s(%s) failed%s\n", file, line, + isc_assertion_typetotext(type), cond, logsuffix); if (result == ISC_R_SUCCESS) { for (i = 0; i < nframes; i++) { diff --git a/lib/isc/astack.c b/lib/isc/astack.c index 37f15b3a5c..a1d16ae07a 100644 --- a/lib/isc/astack.c +++ b/lib/isc/astack.c @@ -20,18 +20,18 @@ #include struct isc_astack { - isc_mem_t *mctx; - size_t size; - size_t pos; + isc_mem_t * mctx; + size_t size; + size_t pos; isc_mutex_t lock; - uintptr_t nodes[]; + uintptr_t nodes[]; }; isc_astack_t * -isc_astack_new(isc_mem_t *mctx, size_t size) { - isc_astack_t *stack = - isc_mem_get(mctx, - sizeof(isc_astack_t) + size * sizeof(uintptr_t)); +isc_astack_new(isc_mem_t *mctx, size_t size) +{ + isc_astack_t *stack = isc_mem_get( + mctx, sizeof(isc_astack_t) + size * sizeof(uintptr_t)); *stack = (isc_astack_t){ .size = size, @@ -43,13 +43,14 @@ isc_astack_new(isc_mem_t *mctx, size_t size) { } bool -isc_astack_trypush(isc_astack_t *stack, void *obj) { +isc_astack_trypush(isc_astack_t *stack, void *obj) +{ if (isc_mutex_trylock(&stack->lock) == false) { if (stack->pos >= stack->size) { UNLOCK(&stack->lock); return (false); } - stack->nodes[stack->pos++] = (uintptr_t) obj; + stack->nodes[stack->pos++] = (uintptr_t)obj; UNLOCK(&stack->lock); return (true); } else { @@ -58,7 +59,8 @@ isc_astack_trypush(isc_astack_t *stack, void *obj) { } void * -isc_astack_pop(isc_astack_t *stack) { +isc_astack_pop(isc_astack_t *stack) +{ LOCK(&stack->lock); uintptr_t rv; if (stack->pos == 0) { @@ -67,11 +69,12 @@ isc_astack_pop(isc_astack_t *stack) { rv = stack->nodes[--stack->pos]; } UNLOCK(&stack->lock); - return ((void*) rv); + return ((void *)rv); } void -isc_astack_destroy(isc_astack_t *stack) { +isc_astack_destroy(isc_astack_t *stack) +{ LOCK(&stack->lock); REQUIRE(stack->pos == 0); UNLOCK(&stack->lock); @@ -80,5 +83,5 @@ isc_astack_destroy(isc_astack_t *stack) { isc_mem_putanddetach(&stack->mctx, stack, sizeof(struct isc_astack) + - stack->size * sizeof(uintptr_t)); + stack->size * sizeof(uintptr_t)); } diff --git a/lib/isc/backtrace-emptytbl.c b/lib/isc/backtrace-emptytbl.c index b4ff3bf7ce..f5a2c2b1f0 100644 --- a/lib/isc/backtrace-emptytbl.c +++ b/lib/isc/backtrace-emptytbl.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ /* @@ -22,6 +21,7 @@ #include -LIBISC_EXTERNAL_DATA const int isc__backtrace_nsymbols = 0; -LIBISC_EXTERNAL_DATA const - isc_backtrace_symmap_t isc__backtrace_symtable[] = { { NULL, "" } }; +LIBISC_EXTERNAL_DATA const int isc__backtrace_nsymbols = 0; +LIBISC_EXTERNAL_DATA const isc_backtrace_symmap_t isc__backtrace_symtable[] = { + { NULL, "" } +}; diff --git a/lib/isc/backtrace.c b/lib/isc/backtrace.c index ad244434ab..8d188aaaee 100644 --- a/lib/isc/backtrace.c +++ b/lib/isc/backtrace.c @@ -9,11 +9,10 @@ * information regarding copyright ownership. */ - /*! \file */ -#include #include +#include #ifdef HAVE_LIBCTRACE #include #endif @@ -49,14 +48,15 @@ #define BACKTRACE_X86STACK #else #define BACKTRACE_DISABLED -#endif /* HAVE_LIBCTRACE */ -#else /* USE_BACKTRACE */ +#endif /* HAVE_LIBCTRACE */ +#else /* USE_BACKTRACE */ #define BACKTRACE_DISABLED -#endif /* USE_BACKTRACE */ +#endif /* USE_BACKTRACE */ #ifdef BACKTRACE_LIBC isc_result_t -isc_backtrace_gettrace(void **addrs, int maxaddrs, int *nframes) { +isc_backtrace_gettrace(void **addrs, int maxaddrs, int *nframes) +{ int n; /* @@ -79,18 +79,21 @@ isc_backtrace_gettrace(void **addrs, int maxaddrs, int *nframes) { return (ISC_R_SUCCESS); } #elif defined(BACKTRACE_GCC) -extern int _Unwind_Backtrace(void* fn, void* a); -extern void* _Unwind_GetIP(void* ctx); +extern int +_Unwind_Backtrace(void *fn, void *a); +extern void * +_Unwind_GetIP(void *ctx); typedef struct { void **result; - int max_depth; - int skip_count; - int count; + int max_depth; + int skip_count; + int count; } trace_arg_t; static int -btcallback(void *uc, void *opq) { +btcallback(void *uc, void *opq) +{ trace_arg_t *arg = (trace_arg_t *)opq; if (arg->skip_count > 0) @@ -104,7 +107,8 @@ btcallback(void *uc, void *opq) { } isc_result_t -isc_backtrace_gettrace(void **addrs, int maxaddrs, int *nframes) { +isc_backtrace_gettrace(void **addrs, int maxaddrs, int *nframes) +{ trace_arg_t arg; /* Argument validation: see above. */ @@ -123,7 +127,8 @@ isc_backtrace_gettrace(void **addrs, int maxaddrs, int *nframes) { } #elif defined(BACKTRACE_WIN32) isc_result_t -isc_backtrace_gettrace(void **addrs, int maxaddrs, int *nframes) { +isc_backtrace_gettrace(void **addrs, int maxaddrs, int *nframes) +{ unsigned long ftc = (unsigned long)maxaddrs; *nframes = (int)CaptureStackBackTrace(1, ftc, addrs, NULL); @@ -132,13 +137,15 @@ isc_backtrace_gettrace(void **addrs, int maxaddrs, int *nframes) { #elif defined(BACKTRACE_X86STACK) #ifdef __x86_64__ static unsigned long -getrbp(void) { +getrbp(void) +{ __asm("movq %rbp, %rax\n"); } #endif static void ** -getnextframeptr(void **sp) { +getnextframeptr(void **sp) +{ void **newsp = (void **)*sp; /* @@ -164,8 +171,9 @@ getnextframeptr(void **sp) { } isc_result_t -isc_backtrace_gettrace(void **addrs, int maxaddrs, int *nframes) { - int i = 0; +isc_backtrace_gettrace(void **addrs, int maxaddrs, int *nframes) +{ + int i = 0; void **sp; /* Argument validation: see above. */ @@ -201,7 +209,8 @@ isc_backtrace_gettrace(void **addrs, int maxaddrs, int *nframes) { } #elif defined(BACKTRACE_DISABLED) isc_result_t -isc_backtrace_gettrace(void **addrs, int maxaddrs, int *nframes) { +isc_backtrace_gettrace(void **addrs, int maxaddrs, int *nframes) +{ /* Argument validation: see above. */ if (addrs == NULL || nframes == NULL) return (ISC_R_FAILURE); @@ -228,7 +237,8 @@ isc_backtrace_getsymbolfromindex(int idx, const void **addrp, } static int -symtbl_compare(const void *addr, const void *entryarg) { +symtbl_compare(const void *addr, const void *entryarg) +{ const isc_backtrace_symmap_t *entry = entryarg; const isc_backtrace_symmap_t *end = &isc__backtrace_symtable[isc__backtrace_nsymbols - 1]; @@ -257,7 +267,7 @@ isc_result_t isc_backtrace_getsymbol(const void *addr, const char **symbolp, unsigned long *offsetp) { - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; isc_backtrace_symmap_t *found; /* @@ -280,8 +290,8 @@ isc_backtrace_getsymbol(const void *addr, const char **symbolp, result = ISC_R_NOTFOUND; else { *symbolp = found->symbol; - *offsetp = (unsigned long) ((const char *)addr - - (char *)found->addr); + *offsetp = (unsigned long)((const char *)addr - + (char *)found->addr); } return (result); diff --git a/lib/isc/base32.c b/lib/isc/base32.c index e5aed3458b..f66423676e 100644 --- a/lib/isc/base32.c +++ b/lib/isc/base32.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -21,13 +20,13 @@ #include #include -#define RETERR(x) do { \ - isc_result_t _r = (x); \ - if (_r != ISC_R_SUCCESS) \ - return (_r); \ +#define RETERR(x) \ + do { \ + isc_result_t _r = (x); \ + if (_r != ISC_R_SUCCESS) \ + return (_r); \ } while (0) - /*@{*/ /*! * These static functions are also present in lib/dns/rdata.c. I'm not @@ -41,16 +40,16 @@ mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length); /*@}*/ -static const char base32[] = - "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=abcdefghijklmnopqrstuvwxyz234567"; -static const char base32hex[] = - "0123456789ABCDEFGHIJKLMNOPQRSTUV=0123456789abcdefghijklmnopqrstuv"; +static const char base32[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=" + "abcdefghijklmnopqrstuvwxyz234567"; +static const char base32hex[] = "0123456789ABCDEFGHIJKLMNOPQRSTUV=" + "0123456789abcdefghijklmnopqrstuv"; static isc_result_t base32_totext(isc_region_t *source, int wordlength, const char *wordbreak, isc_buffer_t *target, const char base[], char pad) { - char buf[9]; + char buf[9]; unsigned int loops = 0; if (wordlength >= 0 && wordlength < 8) @@ -58,50 +57,49 @@ base32_totext(isc_region_t *source, int wordlength, const char *wordbreak, memset(buf, 0, sizeof(buf)); while (source->length > 0) { - buf[0] = base[((source->base[0]>>3)&0x1f)]; /* 5 + */ + buf[0] = base[((source->base[0] >> 3) & 0x1f)]; /* 5 + */ if (source->length == 1) { - buf[1] = base[(source->base[0]<<2)&0x1c]; + buf[1] = base[(source->base[0] << 2) & 0x1c]; buf[2] = buf[3] = buf[4] = pad; buf[5] = buf[6] = buf[7] = pad; RETERR(str_totext(buf, target)); break; } - buf[1] = base[((source->base[0]<<2)&0x1c)| /* 3 = 8 */ - ((source->base[1]>>6)&0x03)]; /* 2 + */ - buf[2] = base[((source->base[1]>>1)&0x1f)]; /* 5 + */ + buf[1] = base[((source->base[0] << 2) & 0x1c) | /* 3 = 8 */ + ((source->base[1] >> 6) & 0x03)]; /* 2 + */ + buf[2] = base[((source->base[1] >> 1) & 0x1f)]; /* 5 + */ if (source->length == 2) { - buf[3] = base[(source->base[1]<<4)&0x10]; + buf[3] = base[(source->base[1] << 4) & 0x10]; buf[4] = buf[5] = buf[6] = buf[7] = pad; RETERR(str_totext(buf, target)); break; } - buf[3] = base[((source->base[1]<<4)&0x10)| /* 1 = 8 */ - ((source->base[2]>>4)&0x0f)]; /* 4 + */ + buf[3] = base[((source->base[1] << 4) & 0x10) | /* 1 = 8 */ + ((source->base[2] >> 4) & 0x0f)]; /* 4 + */ if (source->length == 3) { - buf[4] = base[(source->base[2]<<1)&0x1e]; + buf[4] = base[(source->base[2] << 1) & 0x1e]; buf[5] = buf[6] = buf[7] = pad; RETERR(str_totext(buf, target)); break; } - buf[4] = base[((source->base[2]<<1)&0x1e)| /* 4 = 8 */ - ((source->base[3]>>7)&0x01)]; /* 1 + */ - buf[5] = base[((source->base[3]>>2)&0x1f)]; /* 5 + */ + buf[4] = base[((source->base[2] << 1) & 0x1e) | /* 4 = 8 */ + ((source->base[3] >> 7) & 0x01)]; /* 1 + */ + buf[5] = base[((source->base[3] >> 2) & 0x1f)]; /* 5 + */ if (source->length == 4) { - buf[6] = base[(source->base[3]<<3)&0x18]; + buf[6] = base[(source->base[3] << 3) & 0x18]; buf[7] = pad; RETERR(str_totext(buf, target)); break; } - buf[6] = base[((source->base[3]<<3)&0x18)| /* 2 = 8 */ - ((source->base[4]>>5)&0x07)]; /* 3 + */ - buf[7] = base[source->base[4]&0x1f]; /* 5 = 8 */ + buf[6] = base[((source->base[3] << 3) & 0x18) | /* 2 = 8 */ + ((source->base[4] >> 5) & 0x07)]; /* 3 + */ + buf[7] = base[source->base[4] & 0x1f]; /* 5 = 8 */ RETERR(str_totext(buf, target)); isc_region_consume(source, 5); loops++; if (source->length != 0 && wordlength >= 0 && - (int)((loops + 1) * 8) >= wordlength) - { + (int)((loops + 1) * 8) >= wordlength) { loops = 0; RETERR(str_totext(wordbreak, target)); } @@ -112,41 +110,41 @@ base32_totext(isc_region_t *source, int wordlength, const char *wordbreak, } isc_result_t -isc_base32_totext(isc_region_t *source, int wordlength, - const char *wordbreak, isc_buffer_t *target) +isc_base32_totext(isc_region_t *source, int wordlength, const char *wordbreak, + isc_buffer_t *target) { - return (base32_totext(source, wordlength, wordbreak, target, - base32, '=')); + return (base32_totext(source, wordlength, wordbreak, target, base32, + '=')); } isc_result_t isc_base32hex_totext(isc_region_t *source, int wordlength, const char *wordbreak, isc_buffer_t *target) { - return (base32_totext(source, wordlength, wordbreak, target, - base32hex, '=')); + return (base32_totext(source, wordlength, wordbreak, target, base32hex, + '=')); } isc_result_t isc_base32hexnp_totext(isc_region_t *source, int wordlength, - const char *wordbreak, isc_buffer_t *target) + const char *wordbreak, isc_buffer_t *target) { - return (base32_totext(source, wordlength, wordbreak, target, - base32hex, 0)); + return (base32_totext(source, wordlength, wordbreak, target, base32hex, + 0)); } /*% * State of a base32 decoding process in progress. */ typedef struct { - int length; /*%< Desired length of binary data or -1 */ + int length; /*%< Desired length of binary data or -1 */ isc_buffer_t *target; /*%< Buffer for resulting binary data */ - int digits; /*%< Number of buffered base32 digits */ - bool seen_end; /*%< True if "=" end marker seen */ - int val[8]; - const char *base; /*%< Which encoding we are using */ - int seen_32; /*%< Number of significant bytes if non zero */ - bool pad; /*%< Expect padding */ + int digits; /*%< Number of buffered base32 digits */ + bool seen_end; /*%< True if "=" end marker seen */ + int val[8]; + const char * base; /*%< Which encoding we are using */ + int seen_32; /*%< Number of significant bytes if non zero */ + bool pad; /*%< Expect padding */ } base32_decode_ctx_t; static inline void @@ -163,8 +161,9 @@ base32_decode_init(base32_decode_ctx_t *ctx, int length, const char base[], } static inline isc_result_t -base32_decode_char(base32_decode_ctx_t *ctx, int c) { - const char *s; +base32_decode_char(base32_decode_ctx_t *ctx, int c) +{ + const char * s; unsigned int last; if (ctx->seen_end) @@ -202,26 +201,26 @@ base32_decode_char(base32_decode_ctx_t *ctx, int c) { case 1: return (ISC_R_BADBASE32); case 2: - if ((ctx->val[1]&0x03) != 0) + if ((ctx->val[1] & 0x03) != 0) return (ISC_R_BADBASE32); ctx->seen_32 = 1; break; case 3: return (ISC_R_BADBASE32); case 4: - if ((ctx->val[3]&0x0f) != 0) + if ((ctx->val[3] & 0x0f) != 0) return (ISC_R_BADBASE32); ctx->seen_32 = 3; break; case 5: - if ((ctx->val[4]&0x01) != 0) + if ((ctx->val[4] & 0x01) != 0) return (ISC_R_BADBASE32); ctx->seen_32 = 3; break; case 6: return (ISC_R_BADBASE32); case 7: - if ((ctx->val[6]&0x07) != 0) + if ((ctx->val[6] & 0x07) != 0) return (ISC_R_BADBASE32); ctx->seen_32 = 4; break; @@ -233,18 +232,20 @@ base32_decode_char(base32_decode_ctx_t *ctx, int c) { ctx->val[ctx->digits++] = (last == 32) ? 0 : last; if (ctx->digits == 8) { - int n = 5; + int n = 5; unsigned char buf[5]; if (ctx->seen_32 != 0) { ctx->seen_end = true; n = ctx->seen_32; } - buf[0] = (ctx->val[0]<<3)|(ctx->val[1]>>2); - buf[1] = (ctx->val[1]<<6)|(ctx->val[2]<<1)|(ctx->val[3]>>4); - buf[2] = (ctx->val[3]<<4)|(ctx->val[4]>>1); - buf[3] = (ctx->val[4]<<7)|(ctx->val[5]<<2)|(ctx->val[6]>>3); - buf[4] = (ctx->val[6]<<5)|(ctx->val[7]); + buf[0] = (ctx->val[0] << 3) | (ctx->val[1] >> 2); + buf[1] = (ctx->val[1] << 6) | (ctx->val[2] << 1) | + (ctx->val[3] >> 4); + buf[2] = (ctx->val[3] << 4) | (ctx->val[4] >> 1); + buf[3] = (ctx->val[4] << 7) | (ctx->val[5] << 2) | + (ctx->val[6] >> 3); + buf[4] = (ctx->val[6] << 5) | (ctx->val[7]); RETERR(mem_tobuffer(ctx->target, buf, n)); if (ctx->length >= 0) { if (n > ctx->length) @@ -258,8 +259,8 @@ base32_decode_char(base32_decode_ctx_t *ctx, int c) { } static inline isc_result_t -base32_decode_finish(base32_decode_ctx_t *ctx) { - +base32_decode_finish(base32_decode_ctx_t *ctx) +{ if (ctx->length > 0) return (ISC_R_UNEXPECTEDEND); /* @@ -280,11 +281,11 @@ static isc_result_t base32_tobuffer(isc_lex_t *lexer, const char base[], bool pad, isc_buffer_t *target, int length) { - unsigned int before, after; + unsigned int before, after; base32_decode_ctx_t ctx; - isc_textregion_t *tr; - isc_token_t token; - bool eol; + isc_textregion_t * tr; + isc_token_t token; + bool eol; REQUIRE(length >= -2); @@ -321,17 +322,20 @@ base32_tobuffer(isc_lex_t *lexer, const char base[], bool pad, } isc_result_t -isc_base32_tobuffer(isc_lex_t *lexer, isc_buffer_t *target, int length) { +isc_base32_tobuffer(isc_lex_t *lexer, isc_buffer_t *target, int length) +{ return (base32_tobuffer(lexer, base32, true, target, length)); } isc_result_t -isc_base32hex_tobuffer(isc_lex_t *lexer, isc_buffer_t *target, int length) { +isc_base32hex_tobuffer(isc_lex_t *lexer, isc_buffer_t *target, int length) +{ return (base32_tobuffer(lexer, base32hex, true, target, length)); } isc_result_t -isc_base32hexnp_tobuffer(isc_lex_t *lexer, isc_buffer_t *target, int length) { +isc_base32hexnp_tobuffer(isc_lex_t *lexer, isc_buffer_t *target, int length) +{ return (base32_tobuffer(lexer, base32hex, false, target, length)); } @@ -346,7 +350,7 @@ base32_decodestring(const char *cstr, const char base[], bool pad, int c = *cstr++; if (c == '\0') break; - if (c == ' ' || c == '\t' || c == '\n' || c== '\r') + if (c == ' ' || c == '\t' || c == '\n' || c == '\r') continue; RETERR(base32_decode_char(&ctx, c)); } @@ -355,23 +359,26 @@ base32_decodestring(const char *cstr, const char base[], bool pad, } isc_result_t -isc_base32_decodestring(const char *cstr, isc_buffer_t *target) { +isc_base32_decodestring(const char *cstr, isc_buffer_t *target) +{ return (base32_decodestring(cstr, base32, true, target)); } isc_result_t -isc_base32hex_decodestring(const char *cstr, isc_buffer_t *target) { +isc_base32hex_decodestring(const char *cstr, isc_buffer_t *target) +{ return (base32_decodestring(cstr, base32hex, true, target)); } isc_result_t -isc_base32hexnp_decodestring(const char *cstr, isc_buffer_t *target) { +isc_base32hexnp_decodestring(const char *cstr, isc_buffer_t *target) +{ return (base32_decodestring(cstr, base32hex, false, target)); } static isc_result_t -base32_decoderegion(isc_region_t *source, const char base[], - bool pad, isc_buffer_t *target) +base32_decoderegion(isc_region_t *source, const char base[], bool pad, + isc_buffer_t *target) { base32_decode_ctx_t ctx; @@ -386,22 +393,26 @@ base32_decoderegion(isc_region_t *source, const char base[], } isc_result_t -isc_base32_decoderegion(isc_region_t *source, isc_buffer_t *target) { +isc_base32_decoderegion(isc_region_t *source, isc_buffer_t *target) +{ return (base32_decoderegion(source, base32, true, target)); } isc_result_t -isc_base32hex_decoderegion(isc_region_t *source, isc_buffer_t *target) { +isc_base32hex_decoderegion(isc_region_t *source, isc_buffer_t *target) +{ return (base32_decoderegion(source, base32hex, true, target)); } isc_result_t -isc_base32hexnp_decoderegion(isc_region_t *source, isc_buffer_t *target) { +isc_base32hexnp_decoderegion(isc_region_t *source, isc_buffer_t *target) +{ return (base32_decoderegion(source, base32hex, false, target)); } static isc_result_t -str_totext(const char *source, isc_buffer_t *target) { +str_totext(const char *source, isc_buffer_t *target) +{ unsigned int l; isc_region_t region; @@ -417,7 +428,8 @@ str_totext(const char *source, isc_buffer_t *target) { } static isc_result_t -mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length) { +mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length) +{ isc_region_t tr; isc_buffer_availableregion(target, &tr); diff --git a/lib/isc/base64.c b/lib/isc/base64.c index bf6b488c0c..c20f3a32ee 100644 --- a/lib/isc/base64.c +++ b/lib/isc/base64.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -20,13 +19,13 @@ #include #include -#define RETERR(x) do { \ - isc_result_t _r = (x); \ - if (_r != ISC_R_SUCCESS) \ - return (_r); \ +#define RETERR(x) \ + do { \ + isc_result_t _r = (x); \ + if (_r != ISC_R_SUCCESS) \ + return (_r); \ } while (0) - /*@{*/ /*! * These static functions are also present in lib/dns/rdata.c. I'm not @@ -38,15 +37,15 @@ str_totext(const char *source, isc_buffer_t *target); static isc_result_t mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length); -static const char base64[] = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; +static const char base64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw" + "xyz0123456789+/="; /*@}*/ isc_result_t -isc_base64_totext(isc_region_t *source, int wordlength, - const char *wordbreak, isc_buffer_t *target) +isc_base64_totext(isc_region_t *source, int wordlength, const char *wordbreak, + isc_buffer_t *target) { - char buf[5]; + char buf[5]; unsigned int loops = 0; if (wordlength < 4) @@ -54,34 +53,33 @@ isc_base64_totext(isc_region_t *source, int wordlength, memset(buf, 0, sizeof(buf)); while (source->length > 2) { - buf[0] = base64[(source->base[0]>>2)&0x3f]; - buf[1] = base64[((source->base[0]<<4)&0x30)| - ((source->base[1]>>4)&0x0f)]; - buf[2] = base64[((source->base[1]<<2)&0x3c)| - ((source->base[2]>>6)&0x03)]; - buf[3] = base64[source->base[2]&0x3f]; + buf[0] = base64[(source->base[0] >> 2) & 0x3f]; + buf[1] = base64[((source->base[0] << 4) & 0x30) | + ((source->base[1] >> 4) & 0x0f)]; + buf[2] = base64[((source->base[1] << 2) & 0x3c) | + ((source->base[2] >> 6) & 0x03)]; + buf[3] = base64[source->base[2] & 0x3f]; RETERR(str_totext(buf, target)); isc_region_consume(source, 3); loops++; if (source->length != 0 && - (int)((loops + 1) * 4) >= wordlength) - { + (int)((loops + 1) * 4) >= wordlength) { loops = 0; RETERR(str_totext(wordbreak, target)); } } if (source->length == 2) { - buf[0] = base64[(source->base[0]>>2)&0x3f]; - buf[1] = base64[((source->base[0]<<4)&0x30)| - ((source->base[1]>>4)&0x0f)]; - buf[2] = base64[((source->base[1]<<2)&0x3c)]; + buf[0] = base64[(source->base[0] >> 2) & 0x3f]; + buf[1] = base64[((source->base[0] << 4) & 0x30) | + ((source->base[1] >> 4) & 0x0f)]; + buf[2] = base64[((source->base[1] << 2) & 0x3c)]; buf[3] = '='; RETERR(str_totext(buf, target)); isc_region_consume(source, 2); } else if (source->length == 1) { - buf[0] = base64[(source->base[0]>>2)&0x3f]; - buf[1] = base64[((source->base[0]<<4)&0x30)]; + buf[0] = base64[(source->base[0] >> 2) & 0x3f]; + buf[1] = base64[((source->base[0] << 4) & 0x30)]; buf[2] = buf[3] = '='; RETERR(str_totext(buf, target)); isc_region_consume(source, 1); @@ -93,11 +91,11 @@ isc_base64_totext(isc_region_t *source, int wordlength, * State of a base64 decoding process in progress. */ typedef struct { - int length; /*%< Desired length of binary data or -1 */ + int length; /*%< Desired length of binary data or -1 */ isc_buffer_t *target; /*%< Buffer for resulting binary data */ - int digits; /*%< Number of buffered base64 digits */ - bool seen_end; /*%< True if "=" end marker seen */ - int val[4]; + int digits; /*%< Number of buffered base64 digits */ + bool seen_end; /*%< True if "=" end marker seen */ + int val[4]; } base64_decode_ctx_t; static inline void @@ -110,7 +108,8 @@ base64_decode_init(base64_decode_ctx_t *ctx, int length, isc_buffer_t *target) } static inline isc_result_t -base64_decode_char(base64_decode_ctx_t *ctx, int c) { +base64_decode_char(base64_decode_ctx_t *ctx, int c) +{ const char *s; if (ctx->seen_end) @@ -119,7 +118,7 @@ base64_decode_char(base64_decode_ctx_t *ctx, int c) { return (ISC_R_BADBASE64); ctx->val[ctx->digits++] = (int)(s - base64); if (ctx->digits == 4) { - int n; + int n; unsigned char buf[3]; if (ctx->val[0] == 64 || ctx->val[1] == 64) return (ISC_R_BADBASE64); @@ -136,8 +135,7 @@ base64_decode_char(base64_decode_ctx_t *ctx, int c) { */ if (ctx->val[3] == 64 && (ctx->val[2] & 0x3) != 0) return (ISC_R_BADBASE64); - n = (ctx->val[2] == 64) ? 1 : - (ctx->val[3] == 64) ? 2 : 3; + n = (ctx->val[2] == 64) ? 1 : (ctx->val[3] == 64) ? 2 : 3; if (n != 3) { ctx->seen_end = true; if (ctx->val[2] == 64) @@ -145,9 +143,9 @@ base64_decode_char(base64_decode_ctx_t *ctx, int c) { if (ctx->val[3] == 64) ctx->val[3] = 0; } - buf[0] = (ctx->val[0]<<2)|(ctx->val[1]>>4); - buf[1] = (ctx->val[1]<<4)|(ctx->val[2]>>2); - buf[2] = (ctx->val[2]<<6)|(ctx->val[3]); + buf[0] = (ctx->val[0] << 2) | (ctx->val[1] >> 4); + buf[1] = (ctx->val[1] << 4) | (ctx->val[2] >> 2); + buf[2] = (ctx->val[2] << 6) | (ctx->val[3]); RETERR(mem_tobuffer(ctx->target, buf, n)); if (ctx->length >= 0) { if (n > ctx->length) @@ -161,7 +159,8 @@ base64_decode_char(base64_decode_ctx_t *ctx, int c) { } static inline isc_result_t -base64_decode_finish(base64_decode_ctx_t *ctx) { +base64_decode_finish(base64_decode_ctx_t *ctx) +{ if (ctx->length > 0) return (ISC_R_UNEXPECTEDEND); if (ctx->digits != 0) @@ -170,12 +169,13 @@ base64_decode_finish(base64_decode_ctx_t *ctx) { } isc_result_t -isc_base64_tobuffer(isc_lex_t *lexer, isc_buffer_t *target, int length) { - unsigned int before, after; +isc_base64_tobuffer(isc_lex_t *lexer, isc_buffer_t *target, int length) +{ + unsigned int before, after; base64_decode_ctx_t ctx; - isc_textregion_t *tr; - isc_token_t token; - bool eol; + isc_textregion_t * tr; + isc_token_t token; + bool eol; REQUIRE(length >= -2); @@ -212,7 +212,8 @@ isc_base64_tobuffer(isc_lex_t *lexer, isc_buffer_t *target, int length) { } isc_result_t -isc_base64_decodestring(const char *cstr, isc_buffer_t *target) { +isc_base64_decodestring(const char *cstr, isc_buffer_t *target) +{ base64_decode_ctx_t ctx; base64_decode_init(&ctx, -1, target); @@ -220,7 +221,7 @@ isc_base64_decodestring(const char *cstr, isc_buffer_t *target) { int c = *cstr++; if (c == '\0') break; - if (c == ' ' || c == '\t' || c == '\n' || c== '\r') + if (c == ' ' || c == '\t' || c == '\n' || c == '\r') continue; RETERR(base64_decode_char(&ctx, c)); } @@ -229,7 +230,8 @@ isc_base64_decodestring(const char *cstr, isc_buffer_t *target) { } static isc_result_t -str_totext(const char *source, isc_buffer_t *target) { +str_totext(const char *source, isc_buffer_t *target) +{ unsigned int l; isc_region_t region; @@ -245,7 +247,8 @@ str_totext(const char *source, isc_buffer_t *target) { } static isc_result_t -mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length) { +mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length) +{ isc_region_t tr; isc_buffer_availableregion(target, &tr); diff --git a/lib/isc/buffer.c b/lib/isc/buffer.c index 2333c7ec3c..f28b8364d6 100644 --- a/lib/isc/buffer.c +++ b/lib/isc/buffer.c @@ -12,8 +12,8 @@ /*! \file */ #include -#include #include +#include #include #include @@ -23,7 +23,8 @@ #include void -isc__buffer_init(isc_buffer_t *b, void *base, unsigned int length) { +isc__buffer_init(isc_buffer_t *b, void *base, unsigned int length) +{ /* * Make 'b' refer to the 'length'-byte region starting at 'base'. * XXXDCL see the comment in buffer.h about base being const. @@ -35,7 +36,8 @@ isc__buffer_init(isc_buffer_t *b, void *base, unsigned int length) { } void -isc__buffer_initnull(isc_buffer_t *b) { +isc__buffer_initnull(isc_buffer_t *b) +{ /* * Initialize a new buffer which has no backing store. This can * later be grown as needed and swapped in place. @@ -45,7 +47,8 @@ isc__buffer_initnull(isc_buffer_t *b) { } void -isc_buffer_reinit(isc_buffer_t *b, void *base, unsigned int length) { +isc_buffer_reinit(isc_buffer_t *b, void *base, unsigned int length) +{ /* * Re-initialize the buffer enough to reconfigure the base of the * buffer. We will swap in the new buffer, after copying any @@ -68,7 +71,8 @@ isc_buffer_reinit(isc_buffer_t *b, void *base, unsigned int length) { } void -isc__buffer_invalidate(isc_buffer_t *b) { +isc__buffer_invalidate(isc_buffer_t *b) +{ /* * Make 'b' an invalid buffer. */ @@ -81,14 +85,16 @@ isc__buffer_invalidate(isc_buffer_t *b) { } void -isc_buffer_setautorealloc(isc_buffer_t *b, bool enable) { +isc_buffer_setautorealloc(isc_buffer_t *b, bool enable) +{ REQUIRE(ISC_BUFFER_VALID(b)); REQUIRE(b->mctx != NULL); b->autore = enable; } void -isc__buffer_region(isc_buffer_t *b, isc_region_t *r) { +isc__buffer_region(isc_buffer_t *b, isc_region_t *r) +{ /* * Make 'r' refer to the region of 'b'. */ @@ -100,7 +106,8 @@ isc__buffer_region(isc_buffer_t *b, isc_region_t *r) { } void -isc__buffer_usedregion(const isc_buffer_t *b, isc_region_t *r) { +isc__buffer_usedregion(const isc_buffer_t *b, isc_region_t *r) +{ /* * Make 'r' refer to the used region of 'b'. */ @@ -112,7 +119,8 @@ isc__buffer_usedregion(const isc_buffer_t *b, isc_region_t *r) { } void -isc__buffer_availableregion(isc_buffer_t *b, isc_region_t *r) { +isc__buffer_availableregion(isc_buffer_t *b, isc_region_t *r) +{ /* * Make 'r' refer to the available region of 'b'. */ @@ -124,7 +132,8 @@ isc__buffer_availableregion(isc_buffer_t *b, isc_region_t *r) { } void -isc__buffer_add(isc_buffer_t *b, unsigned int n) { +isc__buffer_add(isc_buffer_t *b, unsigned int n) +{ /* * Increase the 'used' region of 'b' by 'n' bytes. */ @@ -136,7 +145,8 @@ isc__buffer_add(isc_buffer_t *b, unsigned int n) { } void -isc__buffer_subtract(isc_buffer_t *b, unsigned int n) { +isc__buffer_subtract(isc_buffer_t *b, unsigned int n) +{ /* * Decrease the 'used' region of 'b' by 'n' bytes. */ @@ -148,7 +158,8 @@ isc__buffer_subtract(isc_buffer_t *b, unsigned int n) { } void -isc__buffer_clear(isc_buffer_t *b) { +isc__buffer_clear(isc_buffer_t *b) +{ /* * Make the used region empty. */ @@ -159,7 +170,8 @@ isc__buffer_clear(isc_buffer_t *b) { } void -isc__buffer_consumedregion(isc_buffer_t *b, isc_region_t *r) { +isc__buffer_consumedregion(isc_buffer_t *b, isc_region_t *r) +{ /* * Make 'r' refer to the consumed region of 'b'. */ @@ -171,7 +183,8 @@ isc__buffer_consumedregion(isc_buffer_t *b, isc_region_t *r) { } void -isc__buffer_remainingregion(isc_buffer_t *b, isc_region_t *r) { +isc__buffer_remainingregion(isc_buffer_t *b, isc_region_t *r) +{ /* * Make 'r' refer to the remaining region of 'b'. */ @@ -183,7 +196,8 @@ isc__buffer_remainingregion(isc_buffer_t *b, isc_region_t *r) { } void -isc__buffer_activeregion(isc_buffer_t *b, isc_region_t *r) { +isc__buffer_activeregion(isc_buffer_t *b, isc_region_t *r) +{ /* * Make 'r' refer to the active region of 'b'. */ @@ -195,7 +209,8 @@ isc__buffer_activeregion(isc_buffer_t *b, isc_region_t *r) { } void -isc__buffer_setactive(isc_buffer_t *b, unsigned int n) { +isc__buffer_setactive(isc_buffer_t *b, unsigned int n) +{ /* * Sets the end of the active region 'n' bytes after current. */ @@ -207,7 +222,8 @@ isc__buffer_setactive(isc_buffer_t *b, unsigned int n) { } void -isc__buffer_first(isc_buffer_t *b) { +isc__buffer_first(isc_buffer_t *b) +{ /* * Make the consumed region empty. */ @@ -218,7 +234,8 @@ isc__buffer_first(isc_buffer_t *b) { } void -isc__buffer_forward(isc_buffer_t *b, unsigned int n) { +isc__buffer_forward(isc_buffer_t *b, unsigned int n) +{ /* * Increase the 'consumed' region of 'b' by 'n' bytes. */ @@ -230,7 +247,8 @@ isc__buffer_forward(isc_buffer_t *b, unsigned int n) { } void -isc__buffer_back(isc_buffer_t *b, unsigned int n) { +isc__buffer_back(isc_buffer_t *b, unsigned int n) +{ /* * Decrease the 'consumed' region of 'b' by 'n' bytes. */ @@ -242,9 +260,10 @@ isc__buffer_back(isc_buffer_t *b, unsigned int n) { } void -isc_buffer_compact(isc_buffer_t *b) { +isc_buffer_compact(isc_buffer_t *b) +{ unsigned int length; - void *src; + void * src; /* * Compact the used region by moving the remaining region so it occurs @@ -269,9 +288,10 @@ isc_buffer_compact(isc_buffer_t *b) { } uint8_t -isc_buffer_getuint8(isc_buffer_t *b) { +isc_buffer_getuint8(isc_buffer_t *b) +{ unsigned char *cp; - uint8_t result; + uint8_t result; /* * Read an unsigned 8-bit integer from 'b' and return it. @@ -288,7 +308,8 @@ isc_buffer_getuint8(isc_buffer_t *b) { } void -isc__buffer_putuint8(isc_buffer_t *b, uint8_t val) { +isc__buffer_putuint8(isc_buffer_t *b, uint8_t val) +{ isc_result_t result; REQUIRE(ISC_BUFFER_VALID(b)); if (ISC_UNLIKELY(b->autore)) { @@ -301,9 +322,10 @@ isc__buffer_putuint8(isc_buffer_t *b, uint8_t val) { } uint16_t -isc_buffer_getuint16(isc_buffer_t *b) { +isc_buffer_getuint16(isc_buffer_t *b) +{ unsigned char *cp; - uint16_t result; + uint16_t result; /* * Read an unsigned 16-bit integer in network byte order from 'b', @@ -322,7 +344,8 @@ isc_buffer_getuint16(isc_buffer_t *b) { } void -isc__buffer_putuint16(isc_buffer_t *b, uint16_t val) { +isc__buffer_putuint16(isc_buffer_t *b, uint16_t val) +{ isc_result_t result; REQUIRE(ISC_BUFFER_VALID(b)); if (ISC_UNLIKELY(b->autore)) { @@ -335,7 +358,8 @@ isc__buffer_putuint16(isc_buffer_t *b, uint16_t val) { } void -isc__buffer_putuint24(isc_buffer_t *b, uint32_t val) { +isc__buffer_putuint24(isc_buffer_t *b, uint32_t val) +{ isc_result_t result; REQUIRE(ISC_BUFFER_VALID(b)); if (ISC_UNLIKELY(b->autore)) { @@ -348,9 +372,10 @@ isc__buffer_putuint24(isc_buffer_t *b, uint32_t val) { } uint32_t -isc_buffer_getuint32(isc_buffer_t *b) { +isc_buffer_getuint32(isc_buffer_t *b) +{ unsigned char *cp; - uint32_t result; + uint32_t result; /* * Read an unsigned 32-bit integer in network byte order from 'b', @@ -371,7 +396,8 @@ isc_buffer_getuint32(isc_buffer_t *b) { } void -isc__buffer_putuint32(isc_buffer_t *b, uint32_t val) { +isc__buffer_putuint32(isc_buffer_t *b, uint32_t val) +{ isc_result_t result; REQUIRE(ISC_BUFFER_VALID(b)); if (ISC_UNLIKELY(b->autore)) { @@ -384,9 +410,10 @@ isc__buffer_putuint32(isc_buffer_t *b, uint32_t val) { } uint64_t -isc_buffer_getuint48(isc_buffer_t *b) { +isc_buffer_getuint48(isc_buffer_t *b) +{ unsigned char *cp; - uint64_t result; + uint64_t result; /* * Read an unsigned 48-bit integer in network byte order from 'b', @@ -409,10 +436,11 @@ isc_buffer_getuint48(isc_buffer_t *b) { } void -isc__buffer_putuint48(isc_buffer_t *b, uint64_t val) { +isc__buffer_putuint48(isc_buffer_t *b, uint64_t val) +{ isc_result_t result; - uint16_t valhi; - uint32_t vallo; + uint16_t valhi; + uint32_t vallo; REQUIRE(ISC_BUFFER_VALID(b)); if (ISC_UNLIKELY(b->autore)) { @@ -443,10 +471,11 @@ isc__buffer_putmem(isc_buffer_t *b, const unsigned char *base, } void -isc__buffer_putstr(isc_buffer_t *b, const char *source) { - unsigned int l; +isc__buffer_putstr(isc_buffer_t *b, const char *source) +{ + unsigned int l; unsigned char *cp; - isc_result_t result; + isc_result_t result; REQUIRE(ISC_BUFFER_VALID(b)); REQUIRE(source != NULL); @@ -467,11 +496,12 @@ isc__buffer_putstr(isc_buffer_t *b, const char *source) { } void -isc_buffer_putdecint(isc_buffer_t *b, int64_t v) { - unsigned int l=0; +isc_buffer_putdecint(isc_buffer_t *b, int64_t v) +{ + unsigned int l = 0; unsigned char *cp; - char buf[21]; - isc_result_t result; + char buf[21]; + isc_result_t result; REQUIRE(ISC_BUFFER_VALID(b)); @@ -490,10 +520,11 @@ isc_buffer_putdecint(isc_buffer_t *b, int64_t v) { } isc_result_t -isc_buffer_dup(isc_mem_t *mctx, isc_buffer_t **dstp, const isc_buffer_t *src) { +isc_buffer_dup(isc_mem_t *mctx, isc_buffer_t **dstp, const isc_buffer_t *src) +{ isc_buffer_t *dst = NULL; - isc_region_t region; - isc_result_t result; + isc_region_t region; + isc_result_t result; REQUIRE(dstp != NULL && *dstp == NULL); REQUIRE(ISC_BUFFER_VALID(src)); @@ -509,7 +540,8 @@ isc_buffer_dup(isc_mem_t *mctx, isc_buffer_t **dstp, const isc_buffer_t *src) { } isc_result_t -isc_buffer_copyregion(isc_buffer_t *b, const isc_region_t *r) { +isc_buffer_copyregion(isc_buffer_t *b, const isc_region_t *r) +{ isc_result_t result; REQUIRE(ISC_BUFFER_VALID(b)); @@ -540,7 +572,7 @@ isc_buffer_allocate(isc_mem_t *mctx, isc_buffer_t **dynbuffer, { REQUIRE(dynbuffer != NULL && *dynbuffer == NULL); - isc_buffer_t *dbuf = isc_mem_get(mctx, sizeof(isc_buffer_t)); + isc_buffer_t * dbuf = isc_mem_get(mctx, sizeof(isc_buffer_t)); unsigned char *bdata = isc_mem_get(mctx, length); isc_buffer_init(dbuf, bdata, length); @@ -553,9 +585,10 @@ isc_buffer_allocate(isc_mem_t *mctx, isc_buffer_t **dynbuffer, } isc_result_t -isc_buffer_reserve(isc_buffer_t **dynbuffer, unsigned int size) { +isc_buffer_reserve(isc_buffer_t **dynbuffer, unsigned int size) +{ unsigned char *bdata; - uint64_t len; + uint64_t len; REQUIRE(dynbuffer != NULL); REQUIRE(ISC_BUFFER_VALID(*dynbuffer)); @@ -594,22 +627,23 @@ isc_buffer_reserve(isc_buffer_t **dynbuffer, unsigned int size) { (*dynbuffer)->length); (*dynbuffer)->base = bdata; - (*dynbuffer)->length = (unsigned int) len; + (*dynbuffer)->length = (unsigned int)len; return (ISC_R_SUCCESS); } void -isc_buffer_free(isc_buffer_t **dynbuffer) { +isc_buffer_free(isc_buffer_t **dynbuffer) +{ isc_buffer_t *dbuf; - isc_mem_t *mctx; + isc_mem_t * mctx; REQUIRE(dynbuffer != NULL); REQUIRE(ISC_BUFFER_VALID(*dynbuffer)); REQUIRE((*dynbuffer)->mctx != NULL); dbuf = *dynbuffer; - *dynbuffer = NULL;/* destroy external reference */ + *dynbuffer = NULL; /* destroy external reference */ mctx = dbuf->mctx; dbuf->mctx = NULL; @@ -619,9 +653,10 @@ isc_buffer_free(isc_buffer_t **dynbuffer) { } isc_result_t -isc_buffer_printf(isc_buffer_t *b, const char *format, ...) { - va_list ap; - int n; +isc_buffer_printf(isc_buffer_t *b, const char *format, ...) +{ + va_list ap; + int n; isc_result_t result; REQUIRE(ISC_BUFFER_VALID(b)); diff --git a/lib/isc/bufferlist.c b/lib/isc/bufferlist.c index f467572c17..22fb4b25be 100644 --- a/lib/isc/bufferlist.c +++ b/lib/isc/bufferlist.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -19,9 +18,10 @@ #include unsigned int -isc_bufferlist_usedcount(isc_bufferlist_t *bl) { +isc_bufferlist_usedcount(isc_bufferlist_t *bl) +{ isc_buffer_t *buffer; - unsigned int length; + unsigned int length; REQUIRE(bl != NULL); @@ -37,9 +37,10 @@ isc_bufferlist_usedcount(isc_bufferlist_t *bl) { } unsigned int -isc_bufferlist_availablecount(isc_bufferlist_t *bl) { +isc_bufferlist_availablecount(isc_bufferlist_t *bl) +{ isc_buffer_t *buffer; - unsigned int length; + unsigned int length; REQUIRE(bl != NULL); diff --git a/lib/isc/commandline.c b/lib/isc/commandline.c index 34172d2693..f1e80b8ca2 100644 --- a/lib/isc/commandline.c +++ b/lib/isc/commandline.c @@ -38,7 +38,6 @@ * SUCH DAMAGE. */ - /*! \file * This file was adapted from the NetBSD project's source tree, RCS ID: * NetBSD: getopt.c,v 1.15 1999/09/20 04:39:37 lukem Exp @@ -71,18 +70,19 @@ LIBISC_EXTERNAL_DATA bool isc_commandline_reset = true; static char endopt = '\0'; -#define BADOPT '?' -#define BADARG ':' -#define ENDOPT &endopt +#define BADOPT '?' +#define BADARG ':' +#define ENDOPT &endopt /*! * getopt -- * Parse argc/argv argument vector. */ int -isc_commandline_parse(int argc, char * const *argv, const char *options) { +isc_commandline_parse(int argc, char *const *argv, const char *options) +{ static char *place = ENDOPT; - const char *option; /* Index into *options of option. */ + const char * option; /* Index into *options of option. */ REQUIRE(argc >= 0 && argv != NULL && options != NULL); @@ -181,7 +181,9 @@ isc_commandline_parse(int argc, char * const *argv, const char *options) { return (BADARG); if (isc_commandline_errprint) - fprintf(stderr, "%s: option requires an argument -- %c\n", + fprintf(stderr, + "%s: option requires an argument -- " + "%c\n", isc_commandline_progname, isc_commandline_option); @@ -205,7 +207,7 @@ isc_commandline_strtoargv(isc_mem_t *mctx, char *s, unsigned int *argcp, { isc_result_t result; - restart: +restart: /* Discard leading whitespace. */ while (*s == ' ' || *s == '\t') s++; @@ -232,7 +234,7 @@ isc_commandline_strtoargv(isc_mem_t *mctx, char *s, unsigned int *argcp, */ while (*t != '\0') { t++; - *(t-1) = *t; + *(t - 1) = *t; } while (*p != '\0' && *p != '}') { p++; @@ -246,8 +248,8 @@ isc_commandline_strtoargv(isc_mem_t *mctx, char *s, unsigned int *argcp, } else if (*p != '\0') *p++ = '\0'; - result = isc_commandline_strtoargv(mctx, p, - argcp, argvp, n + 1); + result = + isc_commandline_strtoargv(mctx, p, argcp, argvp, n + 1); if (result != ISC_R_SUCCESS) return (result); (*argvp)[n] = s; diff --git a/lib/isc/counter.c b/lib/isc/counter.c index 9683665920..510c94268c 100644 --- a/lib/isc/counter.c +++ b/lib/isc/counter.c @@ -21,19 +21,20 @@ #include #include -#define COUNTER_MAGIC ISC_MAGIC('C', 'n', 't', 'r') -#define VALID_COUNTER(r) ISC_MAGIC_VALID(r, COUNTER_MAGIC) +#define COUNTER_MAGIC ISC_MAGIC('C', 'n', 't', 'r') +#define VALID_COUNTER(r) ISC_MAGIC_VALID(r, COUNTER_MAGIC) struct isc_counter { - unsigned int magic; - isc_mem_t *mctx; - isc_refcount_t references; - atomic_uint_fast32_t limit; - atomic_uint_fast32_t used; + unsigned int magic; + isc_mem_t * mctx; + isc_refcount_t references; + atomic_uint_fast32_t limit; + atomic_uint_fast32_t used; }; isc_result_t -isc_counter_create(isc_mem_t *mctx, int limit, isc_counter_t **counterp) { +isc_counter_create(isc_mem_t *mctx, int limit, isc_counter_t **counterp) +{ isc_counter_t *counter; REQUIRE(counterp != NULL && *counterp == NULL); @@ -53,7 +54,8 @@ isc_counter_create(isc_mem_t *mctx, int limit, isc_counter_t **counterp) { } isc_result_t -isc_counter_increment(isc_counter_t *counter) { +isc_counter_increment(isc_counter_t *counter) +{ uint32_t used = atomic_fetch_add_relaxed(&counter->used, 1) + 1; uint32_t limit = atomic_load_acquire(&counter->limit); @@ -65,21 +67,24 @@ isc_counter_increment(isc_counter_t *counter) { } unsigned int -isc_counter_used(isc_counter_t *counter) { +isc_counter_used(isc_counter_t *counter) +{ REQUIRE(VALID_COUNTER(counter)); return (atomic_load_acquire(&counter->used)); } void -isc_counter_setlimit(isc_counter_t *counter, int limit) { +isc_counter_setlimit(isc_counter_t *counter, int limit) +{ REQUIRE(VALID_COUNTER(counter)); atomic_store(&counter->limit, limit); } void -isc_counter_attach(isc_counter_t *source, isc_counter_t **targetp) { +isc_counter_attach(isc_counter_t *source, isc_counter_t **targetp) +{ REQUIRE(VALID_COUNTER(source)); REQUIRE(targetp != NULL && *targetp == NULL); @@ -89,14 +94,16 @@ isc_counter_attach(isc_counter_t *source, isc_counter_t **targetp) { } static void -destroy(isc_counter_t *counter) { +destroy(isc_counter_t *counter) +{ isc_refcount_destroy(&counter->references); counter->magic = 0; isc_mem_putanddetach(&counter->mctx, counter, sizeof(*counter)); } void -isc_counter_detach(isc_counter_t **counterp) { +isc_counter_detach(isc_counter_t **counterp) +{ isc_counter_t *counter; REQUIRE(counterp != NULL && *counterp != NULL); diff --git a/lib/isc/crc64.c b/lib/isc/crc64.c index bb50529984..c4930902c4 100644 --- a/lib/isc/crc64.c +++ b/lib/isc/crc64.c @@ -105,34 +105,36 @@ static const uint64_t crc64_table[256] = { 0x41A94CE9DC428066ULL, 0xCF8B0890283E370CULL, 0x8D7BE97B81D4019FULL, 0x4A6ACB477BEA5A2AULL, 0x089A2AACD2006CB9ULL, 0x14DEA25F3AF9026DULL, 0x562E43B4931334FEULL, 0x913F6188692D6F4BULL, 0xD3CF8063C0C759D8ULL, - 0x5DEDC41A34BBEEB2ULL, 0x1F1D25F19D51D821ULL, - 0xD80C07CD676F8394ULL, 0x9AFCE626CE85B507ULL + 0x5DEDC41A34BBEEB2ULL, 0x1F1D25F19D51D821ULL, 0xD80C07CD676F8394ULL, + 0x9AFCE626CE85B507ULL }; void -isc_crc64_init(uint64_t *crc) { +isc_crc64_init(uint64_t *crc) +{ REQUIRE(crc != NULL); *crc = 0xffffffffffffffffULL; } void -isc_crc64_update(uint64_t *crc, const void *data, size_t len) { +isc_crc64_update(uint64_t *crc, const void *data, size_t len) +{ const unsigned char *p = data; - int i; + int i; REQUIRE(crc != NULL); REQUIRE(data != NULL); while (len-- > 0U) { - i = ((int) (*crc >> 56) ^ *p++) & 0xff; + i = ((int)(*crc >> 56) ^ *p++) & 0xff; *crc = crc64_table[i] ^ (*crc << 8); } } - void -isc_crc64_final(uint64_t *crc) { +isc_crc64_final(uint64_t *crc) +{ REQUIRE(crc != NULL); *crc ^= 0xffffffffffffffffULL; diff --git a/lib/isc/entropy.c b/lib/isc/entropy.c index 9a92df240a..5ddfe05913 100644 --- a/lib/isc/entropy.c +++ b/lib/isc/entropy.c @@ -9,20 +9,19 @@ * information regarding copyright ownership. */ -#include #include +#include #include "entropy_private.h" -#include #include +#include void -isc_entropy_get(void *buf, size_t buflen) { +isc_entropy_get(void *buf, size_t buflen) +{ if (RAND_bytes(buf, buflen) < 1) { - FATAL_ERROR(__FILE__, - __LINE__, - "RAND_bytes(): %s", + FATAL_ERROR(__FILE__, __LINE__, "RAND_bytes(): %s", ERR_error_string(ERR_get_error(), NULL)); } } diff --git a/lib/isc/error.c b/lib/isc/error.c index 0342d6bec4..9a4a8dea14 100644 --- a/lib/isc/error.c +++ b/lib/isc/error.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -21,19 +20,20 @@ /*% Default unexpected callback. */ static void default_unexpected_callback(const char *, int, const char *, va_list) - ISC_FORMAT_PRINTF(3, 0); + ISC_FORMAT_PRINTF(3, 0); /*% Default fatal callback. */ static void default_fatal_callback(const char *, int, const char *, va_list) - ISC_FORMAT_PRINTF(3, 0); + ISC_FORMAT_PRINTF(3, 0); /*% unexpected_callback */ static isc_errorcallback_t unexpected_callback = default_unexpected_callback; static isc_errorcallback_t fatal_callback = default_fatal_callback; void -isc_error_setunexpected(isc_errorcallback_t cb) { +isc_error_setunexpected(isc_errorcallback_t cb) +{ if (cb == NULL) unexpected_callback = default_unexpected_callback; else @@ -41,7 +41,8 @@ isc_error_setunexpected(isc_errorcallback_t cb) { } void -isc_error_setfatal(isc_errorcallback_t cb) { +isc_error_setfatal(isc_errorcallback_t cb) +{ if (cb == NULL) fatal_callback = default_fatal_callback; else @@ -49,7 +50,8 @@ isc_error_setfatal(isc_errorcallback_t cb) { } void -isc_error_unexpected(const char *file, int line, const char *format, ...) { +isc_error_unexpected(const char *file, int line, const char *format, ...) +{ va_list args; va_start(args, format); @@ -58,7 +60,8 @@ isc_error_unexpected(const char *file, int line, const char *format, ...) { } void -isc_error_fatal(const char *file, int line, const char *format, ...) { +isc_error_fatal(const char *file, int line, const char *format, ...) +{ va_list args; va_start(args, format); @@ -68,7 +71,8 @@ isc_error_fatal(const char *file, int line, const char *format, ...) { } void -isc_error_runtimecheck(const char *file, int line, const char *expression) { +isc_error_runtimecheck(const char *file, int line, const char *expression) +{ isc_error_fatal(file, line, "RUNTIME_CHECK(%s) failed", expression); } diff --git a/lib/isc/event.c b/lib/isc/event.c index 938ec9c19a..2d812cf306 100644 --- a/lib/isc/event.c +++ b/lib/isc/event.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! * \file */ @@ -23,7 +22,8 @@ ***/ static void -destroy(isc_event_t *event) { +destroy(isc_event_t *event) +{ isc_mem_t *mctx = event->ev_destroy_arg; isc_mem_put(mctx, event, event->ev_size); @@ -40,8 +40,8 @@ isc_event_allocate(isc_mem_t *mctx, void *sender, isc_eventtype_t type, event = isc_mem_get(mctx, size); - ISC_EVENT_INIT(event, size, 0, NULL, type, action, arg, - sender, destroy, mctx); + ISC_EVENT_INIT(event, size, 0, NULL, type, action, arg, sender, destroy, + mctx); return (event); } @@ -51,7 +51,7 @@ isc_event_constallocate(isc_mem_t *mctx, void *sender, isc_eventtype_t type, isc_taskaction_t action, const void *arg, size_t size) { isc_event_t *event; - void *deconst_arg; + void * deconst_arg; REQUIRE(size >= sizeof(struct isc_event)); REQUIRE(action != NULL); @@ -72,14 +72,15 @@ isc_event_constallocate(isc_mem_t *mctx, void *sender, isc_eventtype_t type, */ DE_CONST(arg, deconst_arg); - ISC_EVENT_INIT(event, size, 0, NULL, type, action, deconst_arg, - sender, destroy, mctx); + ISC_EVENT_INIT(event, size, 0, NULL, type, action, deconst_arg, sender, + destroy, mctx); return (event); } void -isc_event_free(isc_event_t **eventp) { +isc_event_free(isc_event_t **eventp) +{ isc_event_t *event; REQUIRE(eventp != NULL); diff --git a/lib/isc/fsaccess.c b/lib/isc/fsaccess.c index d41e7392fd..a00a1b32a7 100644 --- a/lib/isc/fsaccess.c +++ b/lib/isc/fsaccess.c @@ -25,12 +25,13 @@ * . Could check consistency with sizeof(isc_fsaccess_t) * and the number of bits in each function. */ -#define STEP (ISC__FSACCESS_PERMISSIONBITS) -#define GROUP (STEP) -#define OTHER (STEP * 2) +#define STEP (ISC__FSACCESS_PERMISSIONBITS) +#define GROUP (STEP) +#define OTHER (STEP * 2) void -isc_fsaccess_add(int trustee, int permission, isc_fsaccess_t *access) { +isc_fsaccess_add(int trustee, int permission, isc_fsaccess_t *access) +{ REQUIRE(trustee <= 0x7); REQUIRE(permission <= 0xFF); @@ -45,11 +46,11 @@ isc_fsaccess_add(int trustee, int permission, isc_fsaccess_t *access) { } void -isc_fsaccess_remove(int trustee, int permission, isc_fsaccess_t *access) { +isc_fsaccess_remove(int trustee, int permission, isc_fsaccess_t *access) +{ REQUIRE(trustee <= 0x7); REQUIRE(permission <= 0xFF); - if ((trustee & ISC_FSACCESS_OWNER) != 0) *access &= ~permission; @@ -61,21 +62,19 @@ isc_fsaccess_remove(int trustee, int permission, isc_fsaccess_t *access) { } static isc_result_t -check_bad_bits(isc_fsaccess_t access, bool is_dir) { +check_bad_bits(isc_fsaccess_t access, bool is_dir) +{ isc_fsaccess_t bits; /* * Check for disallowed user bits. */ if (is_dir) - bits = ISC_FSACCESS_READ | - ISC_FSACCESS_WRITE | + bits = ISC_FSACCESS_READ | ISC_FSACCESS_WRITE | ISC_FSACCESS_EXECUTE; else - bits = ISC_FSACCESS_CREATECHILD | - ISC_FSACCESS_ACCESSCHILD | - ISC_FSACCESS_DELETECHILD | - ISC_FSACCESS_LISTDIRECTORY; + bits = ISC_FSACCESS_CREATECHILD | ISC_FSACCESS_ACCESSCHILD | + ISC_FSACCESS_DELETECHILD | ISC_FSACCESS_LISTDIRECTORY; /* * Set group bad bits. diff --git a/lib/isc/hash.c b/lib/isc/hash.c index 2b58a9ae4c..893260a942 100644 --- a/lib/isc/hash.c +++ b/lib/isc/hash.c @@ -13,31 +13,31 @@ * 32 bit Fowler/Noll/Vo FNV-1a hash code with modification for BIND */ +#include #include #include -#include #if defined(WIN32) || defined(WIN64) #include #endif +#include "entropy_private.h" #include "isc/hash.h" // IWYU pragma: keep #include "isc/likely.h" #include "isc/once.h" #include "isc/random.h" #include "isc/result.h" -#include "isc/types.h" -#include "isc/util.h" #include "isc/siphash.h" #include "isc/string.h" +#include "isc/types.h" +#include "isc/util.h" -#include "entropy_private.h" - -static uint8_t isc_hash_key[16]; -static bool hash_initialized = false; +static uint8_t isc_hash_key[16]; +static bool hash_initialized = false; static isc_once_t isc_hash_once = ISC_ONCE_INIT; static void -isc_hash_initialize(void) { +isc_hash_initialize(void) +{ uint64_t key[2] = { 0, 1 }; #if FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION /* @@ -52,53 +52,45 @@ isc_hash_initialize(void) { } static uint8_t maptolower[] = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, - 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, - 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, - 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, - 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, - 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, - 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, - 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, - 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, - 0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, - 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, - 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, - 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, - 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, - 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, - 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, - 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, - 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, - 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, - 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, - 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, - 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, - 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, - 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, - 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, - 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, - 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, + 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, + 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, + 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, + 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, + 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, + 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, + 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, + 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, + 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, + 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, + 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, + 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, + 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, + 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, + 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, + 0xfc, 0xfd, 0xfe, 0xff }; const void * -isc_hash_get_initializer(void) { +isc_hash_get_initializer(void) +{ if (ISC_UNLIKELY(!hash_initialized)) { - RUNTIME_CHECK(isc_once_do(&isc_hash_once, - isc_hash_initialize) - == ISC_R_SUCCESS); + RUNTIME_CHECK( + isc_once_do(&isc_hash_once, isc_hash_initialize) == + ISC_R_SUCCESS); } return (isc_hash_key); } void -isc_hash_set_initializer(const void *initializer) { +isc_hash_set_initializer(const void *initializer) +{ REQUIRE(initializer != NULL); /* @@ -106,25 +98,24 @@ isc_hash_set_initializer(const void *initializer) { * isc_hash_set_initializer() is called. */ if (ISC_UNLIKELY(!hash_initialized)) { - RUNTIME_CHECK(isc_once_do(&isc_hash_once, - isc_hash_initialize) - == ISC_R_SUCCESS); + RUNTIME_CHECK( + isc_once_do(&isc_hash_once, isc_hash_initialize) == + ISC_R_SUCCESS); } memmove(isc_hash_key, initializer, sizeof(isc_hash_key)); } uint64_t -isc_hash_function(const void *data, - const size_t length, +isc_hash_function(const void *data, const size_t length, const bool case_sensitive) { uint64_t hval; REQUIRE(length == 0 || data != NULL); - RUNTIME_CHECK(isc_once_do(&isc_hash_once, - isc_hash_initialize) == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_once_do(&isc_hash_once, isc_hash_initialize) == + ISC_R_SUCCESS); if (case_sensitive) { isc_siphash24(isc_hash_key, data, length, (uint8_t *)&hval); diff --git a/lib/isc/heap.c b/lib/isc/heap.c index 006d087bac..52659a85d9 100644 --- a/lib/isc/heap.c +++ b/lib/isc/heap.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file * Heap implementation of priority queues adapted from the following: * @@ -25,7 +24,7 @@ #include #include #include -#include /* Required for memmove. */ +#include /* Required for memmove. */ #include /*@{*/ @@ -35,39 +34,40 @@ * not 0-based. The parent is index/2, and the left-child is index*2. * The right child is index*2+1. */ -#define heap_parent(i) ((i) >> 1) -#define heap_left(i) ((i) << 1) +#define heap_parent(i) ((i) >> 1) +#define heap_left(i) ((i) << 1) /*@}*/ -#define SIZE_INCREMENT 1024 +#define SIZE_INCREMENT 1024 -#define HEAP_MAGIC ISC_MAGIC('H', 'E', 'A', 'P') -#define VALID_HEAP(h) ISC_MAGIC_VALID(h, HEAP_MAGIC) +#define HEAP_MAGIC ISC_MAGIC('H', 'E', 'A', 'P') +#define VALID_HEAP(h) ISC_MAGIC_VALID(h, HEAP_MAGIC) /*% * When the heap is in a consistent state, the following invariant * holds true: for every element i > 1, heap_parent(i) has a priority * higher than or equal to that of i. */ -#define HEAPCONDITION(i) ((i) == 1 || \ - ! heap->compare(heap->array[(i)], \ - heap->array[heap_parent(i)])) +#define HEAPCONDITION(i) \ + ((i) == 1 || \ + !heap->compare(heap->array[(i)], heap->array[heap_parent(i)])) /*% ISC heap structure. */ struct isc_heap { - unsigned int magic; - isc_mem_t * mctx; - unsigned int size; - unsigned int size_increment; - unsigned int last; - void **array; - isc_heapcompare_t compare; - isc_heapindex_t index; + unsigned int magic; + isc_mem_t * mctx; + unsigned int size; + unsigned int size_increment; + unsigned int last; + void ** array; + isc_heapcompare_t compare; + isc_heapindex_t index; }; #ifdef ISC_HEAP_CHECK static void -heap_check(isc_heap_t *heap) { +heap_check(isc_heap_t *heap) +{ unsigned int i; for (i = 1; i <= heap->last; i++) { INSIST(HEAPCONDITION(i)); @@ -78,9 +78,8 @@ heap_check(isc_heap_t *heap) { #endif isc_result_t -isc_heap_create(isc_mem_t *mctx, isc_heapcompare_t compare, - isc_heapindex_t idx, unsigned int size_increment, - isc_heap_t **heapp) +isc_heap_create(isc_mem_t *mctx, isc_heapcompare_t compare, isc_heapindex_t idx, + unsigned int size_increment, isc_heap_t **heapp) { isc_heap_t *heap; @@ -107,7 +106,8 @@ isc_heap_create(isc_mem_t *mctx, isc_heapcompare_t compare, } void -isc_heap_destroy(isc_heap_t **heapp) { +isc_heap_destroy(isc_heap_t **heapp) +{ isc_heap_t *heap; REQUIRE(heapp != NULL); @@ -123,8 +123,9 @@ isc_heap_destroy(isc_heap_t **heapp) { } static bool -resize(isc_heap_t *heap) { - void **new_array; +resize(isc_heap_t *heap) +{ + void ** new_array; unsigned int new_size; REQUIRE(VALID_HEAP(heap)); @@ -143,11 +144,11 @@ resize(isc_heap_t *heap) { } static void -float_up(isc_heap_t *heap, unsigned int i, void *elt) { +float_up(isc_heap_t *heap, unsigned int i, void *elt) +{ unsigned int p; - for (p = heap_parent(i) ; - i > 1 && heap->compare(elt, heap->array[p]) ; + for (p = heap_parent(i); i > 1 && heap->compare(elt, heap->array[p]); i = p, p = heap_parent(i)) { heap->array[i] = heap->array[p]; if (heap->index != NULL) @@ -162,15 +163,16 @@ float_up(isc_heap_t *heap, unsigned int i, void *elt) { } static void -sink_down(isc_heap_t *heap, unsigned int i, void *elt) { +sink_down(isc_heap_t *heap, unsigned int i, void *elt) +{ unsigned int j, size, half_size; size = heap->last; half_size = size / 2; while (i <= half_size) { /* Find the smallest of the (at most) two children. */ j = heap_left(i); - if (j < size && heap->compare(heap->array[j+1], - heap->array[j])) + if (j < size && + heap->compare(heap->array[j + 1], heap->array[j])) j++; if (heap->compare(elt, heap->array[j])) break; @@ -188,7 +190,8 @@ sink_down(isc_heap_t *heap, unsigned int i, void *elt) { } isc_result_t -isc_heap_insert(isc_heap_t *heap, void *elt) { +isc_heap_insert(isc_heap_t *heap, void *elt) +{ unsigned int new_last; REQUIRE(VALID_HEAP(heap)); @@ -206,9 +209,10 @@ isc_heap_insert(isc_heap_t *heap, void *elt) { } void -isc_heap_delete(isc_heap_t *heap, unsigned int idx) { +isc_heap_delete(isc_heap_t *heap, unsigned int idx) +{ void *elt; - bool less; + bool less; REQUIRE(VALID_HEAP(heap)); REQUIRE(idx >= 1 && idx <= heap->last); @@ -235,7 +239,8 @@ isc_heap_delete(isc_heap_t *heap, unsigned int idx) { } void -isc_heap_increased(isc_heap_t *heap, unsigned int idx) { +isc_heap_increased(isc_heap_t *heap, unsigned int idx) +{ REQUIRE(VALID_HEAP(heap)); REQUIRE(idx >= 1 && idx <= heap->last); @@ -243,7 +248,8 @@ isc_heap_increased(isc_heap_t *heap, unsigned int idx) { } void -isc_heap_decreased(isc_heap_t *heap, unsigned int idx) { +isc_heap_decreased(isc_heap_t *heap, unsigned int idx) +{ REQUIRE(VALID_HEAP(heap)); REQUIRE(idx >= 1 && idx <= heap->last); @@ -251,7 +257,8 @@ isc_heap_decreased(isc_heap_t *heap, unsigned int idx) { } void * -isc_heap_element(isc_heap_t *heap, unsigned int idx) { +isc_heap_element(isc_heap_t *heap, unsigned int idx) +{ REQUIRE(VALID_HEAP(heap)); REQUIRE(idx >= 1); @@ -262,12 +269,13 @@ isc_heap_element(isc_heap_t *heap, unsigned int idx) { } void -isc_heap_foreach(isc_heap_t *heap, isc_heapaction_t action, void *uap) { +isc_heap_foreach(isc_heap_t *heap, isc_heapaction_t action, void *uap) +{ unsigned int i; REQUIRE(VALID_HEAP(heap)); REQUIRE(action != NULL); - for (i = 1 ; i <= heap->last ; i++) + for (i = 1; i <= heap->last; i++) (action)(heap->array[i], uap); } diff --git a/lib/isc/hex.c b/lib/isc/hex.c index 3afb32bde2..c7519b6f63 100644 --- a/lib/isc/hex.c +++ b/lib/isc/hex.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -21,13 +20,13 @@ #include #include -#define RETERR(x) do { \ - isc_result_t _r = (x); \ - if (_r != ISC_R_SUCCESS) \ - return (_r); \ +#define RETERR(x) \ + do { \ + isc_result_t _r = (x); \ + if (_r != ISC_R_SUCCESS) \ + return (_r); \ } while (0) - /* * BEW: These static functions are copied from lib/dns/rdata.c. */ @@ -40,10 +39,10 @@ mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length); static const char hex[] = "0123456789ABCDEF"; isc_result_t -isc_hex_totext(isc_region_t *source, int wordlength, - const char *wordbreak, isc_buffer_t *target) +isc_hex_totext(isc_region_t *source, int wordlength, const char *wordbreak, + isc_buffer_t *target) { - char buf[3]; + char buf[3]; unsigned int loops = 0; if (wordlength < 2) @@ -58,8 +57,7 @@ isc_hex_totext(isc_region_t *source, int wordlength, loops++; if (source->length != 0 && - (int)((loops + 1) * 2) >= wordlength) - { + (int)((loops + 1) * 2) >= wordlength) { loops = 0; RETERR(str_totext(wordbreak, target)); } @@ -71,10 +69,10 @@ isc_hex_totext(isc_region_t *source, int wordlength, * State of a hex decoding process in progress. */ typedef struct { - int length; /*%< Desired length of binary data or -1 */ - isc_buffer_t *target; /*%< Buffer for resulting binary data */ - int digits; /*%< Number of buffered hex digits */ - int val[2]; + int length; /*%< Desired length of binary data or -1 */ + isc_buffer_t *target; /*%< Buffer for resulting binary data */ + int digits; /*%< Number of buffered hex digits */ + int val[2]; } hex_decode_ctx_t; static inline void @@ -86,7 +84,8 @@ hex_decode_init(hex_decode_ctx_t *ctx, int length, isc_buffer_t *target) } static inline isc_result_t -hex_decode_char(hex_decode_ctx_t *ctx, int c) { +hex_decode_char(hex_decode_ctx_t *ctx, int c) +{ const char *s; if ((s = strchr(hex, toupper(c))) == NULL) @@ -109,7 +108,8 @@ hex_decode_char(hex_decode_ctx_t *ctx, int c) { } static inline isc_result_t -hex_decode_finish(hex_decode_ctx_t *ctx) { +hex_decode_finish(hex_decode_ctx_t *ctx) +{ if (ctx->length > 0) return (ISC_R_UNEXPECTEDEND); if (ctx->digits != 0) @@ -118,12 +118,13 @@ hex_decode_finish(hex_decode_ctx_t *ctx) { } isc_result_t -isc_hex_tobuffer(isc_lex_t *lexer, isc_buffer_t *target, int length) { - unsigned int before, after; - hex_decode_ctx_t ctx; +isc_hex_tobuffer(isc_lex_t *lexer, isc_buffer_t *target, int length) +{ + unsigned int before, after; + hex_decode_ctx_t ctx; isc_textregion_t *tr; - isc_token_t token; - bool eol; + isc_token_t token; + bool eol; REQUIRE(length >= -2); @@ -160,7 +161,8 @@ isc_hex_tobuffer(isc_lex_t *lexer, isc_buffer_t *target, int length) { } isc_result_t -isc_hex_decodestring(const char *cstr, isc_buffer_t *target) { +isc_hex_decodestring(const char *cstr, isc_buffer_t *target) +{ hex_decode_ctx_t ctx; hex_decode_init(&ctx, -1, target); @@ -168,7 +170,7 @@ isc_hex_decodestring(const char *cstr, isc_buffer_t *target) { int c = *cstr++; if (c == '\0') break; - if (c == ' ' || c == '\t' || c == '\n' || c== '\r') + if (c == ' ' || c == '\t' || c == '\n' || c == '\r') continue; RETERR(hex_decode_char(&ctx, c)); } @@ -177,7 +179,8 @@ isc_hex_decodestring(const char *cstr, isc_buffer_t *target) { } static isc_result_t -str_totext(const char *source, isc_buffer_t *target) { +str_totext(const char *source, isc_buffer_t *target) +{ unsigned int l; isc_region_t region; @@ -193,7 +196,8 @@ str_totext(const char *source, isc_buffer_t *target) { } static isc_result_t -mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length) { +mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length) +{ isc_region_t tr; isc_buffer_availableregion(target, &tr); diff --git a/lib/isc/hmac.c b/lib/isc/hmac.c index ff5aba9923..0423fabe5e 100644 --- a/lib/isc/hmac.c +++ b/lib/isc/hmac.c @@ -18,20 +18,22 @@ #include #include +#include "openssl_shim.h" + #include #include -#include "openssl_shim.h" - isc_hmac_t * -isc_hmac_new(void) { +isc_hmac_new(void) +{ isc_hmac_t *hmac = HMAC_CTX_new(); RUNTIME_CHECK(hmac != NULL); return (hmac); } void -isc_hmac_free(isc_hmac_t *hmac) { +isc_hmac_free(isc_hmac_t *hmac) +{ if (ISC_UNLIKELY(hmac == NULL)) { return; } @@ -40,8 +42,8 @@ isc_hmac_free(isc_hmac_t *hmac) { } isc_result_t -isc_hmac_init(isc_hmac_t *hmac, const void *key, - size_t keylen, isc_md_type_t md_type) +isc_hmac_init(isc_hmac_t *hmac, const void *key, size_t keylen, + isc_md_type_t md_type) { REQUIRE(hmac != NULL); REQUIRE(key != NULL); @@ -58,10 +60,11 @@ isc_hmac_init(isc_hmac_t *hmac, const void *key, } isc_result_t -isc_hmac_reset(isc_hmac_t *hmac) { +isc_hmac_reset(isc_hmac_t *hmac) +{ REQUIRE(hmac != NULL); - if (HMAC_CTX_reset(hmac) != 1) { + if (HMAC_CTX_reset(hmac) != 1) { return (ISC_R_CRYPTOFAILURE); } @@ -69,7 +72,8 @@ isc_hmac_reset(isc_hmac_t *hmac) { } isc_result_t -isc_hmac_update(isc_hmac_t *hmac, const unsigned char *buf, const size_t len) { +isc_hmac_update(isc_hmac_t *hmac, const unsigned char *buf, const size_t len) +{ REQUIRE(hmac != NULL); if (ISC_UNLIKELY(buf == NULL || len == 0)) { @@ -84,8 +88,7 @@ isc_hmac_update(isc_hmac_t *hmac, const unsigned char *buf, const size_t len) { } isc_result_t -isc_hmac_final(isc_hmac_t *hmac, unsigned char *digest, - unsigned int *digestlen) +isc_hmac_final(isc_hmac_t *hmac, unsigned char *digest, unsigned int *digestlen) { REQUIRE(hmac != NULL); REQUIRE(digest != NULL); @@ -98,21 +101,24 @@ isc_hmac_final(isc_hmac_t *hmac, unsigned char *digest, } isc_md_type_t -isc_hmac_get_md_type(isc_hmac_t *hmac) { +isc_hmac_get_md_type(isc_hmac_t *hmac) +{ REQUIRE(hmac != NULL); return (HMAC_CTX_get_md(hmac)); } size_t -isc_hmac_get_size(isc_hmac_t *hmac) { +isc_hmac_get_size(isc_hmac_t *hmac) +{ REQUIRE(hmac != NULL); return ((size_t)EVP_MD_size(HMAC_CTX_get_md(hmac))); } int -isc_hmac_get_block_size(isc_hmac_t *hmac) { +isc_hmac_get_block_size(isc_hmac_t *hmac) +{ REQUIRE(hmac != NULL); return (EVP_MD_block_size(HMAC_CTX_get_md(hmac))); @@ -120,10 +126,10 @@ isc_hmac_get_block_size(isc_hmac_t *hmac) { isc_result_t isc_hmac(isc_md_type_t type, const void *key, const int keylen, - const unsigned char *buf, const size_t len, - unsigned char *digest, unsigned int *digestlen) + const unsigned char *buf, const size_t len, unsigned char *digest, + unsigned int *digestlen) { - isc_hmac_t *hmac = NULL; + isc_hmac_t * hmac = NULL; isc_result_t res; hmac = isc_hmac_new(); @@ -142,7 +148,7 @@ isc_hmac(isc_md_type_t type, const void *key, const int keylen, if (res != ISC_R_SUCCESS) { goto end; } - end: +end: isc_hmac_free(hmac); return (res); diff --git a/lib/isc/hp.c b/lib/isc/hp.c index 56b9e5484b..824be6b4d6 100644 --- a/lib/isc/hp.c +++ b/lib/isc/hp.c @@ -47,17 +47,17 @@ #include #include +#include #include #include -#include -#include #include +#include #define HP_MAX_THREADS 128 static int isc__hp_max_threads = HP_MAX_THREADS; -#define HP_MAX_HPS 4 /* This is named 'K' in the HP paper */ +#define HP_MAX_HPS 4 /* This is named 'K' in the HP paper */ #define CLPAD (128 / sizeof(uintptr_t)) -#define HP_THRESHOLD_R 0 /* This is named 'R' in the HP paper */ +#define HP_THRESHOLD_R 0 /* This is named 'R' in the HP paper */ /* Maximum number of retired objects per thread */ static int isc__hp_max_retired = HP_MAX_THREADS * HP_MAX_HPS; @@ -69,20 +69,21 @@ static atomic_int_fast32_t tid_v_base = ATOMIC_VAR_INIT(0); ISC_THREAD_LOCAL int tid_v = TID_UNKNOWN; typedef struct retirelist { - int size; - uintptr_t *list; + int size; + uintptr_t *list; } retirelist_t; struct isc_hp { - int max_hps; - isc_mem_t *mctx; - atomic_uintptr_t **hp; - retirelist_t **rl; - isc_hp_deletefunc_t *deletefunc; + int max_hps; + isc_mem_t * mctx; + atomic_uintptr_t ** hp; + retirelist_t ** rl; + isc_hp_deletefunc_t *deletefunc; }; static inline int -tid() { +tid() +{ if (tid_v == TID_UNKNOWN) { tid_v = atomic_fetch_add(&tid_v_base, 1); REQUIRE(tid_v < isc__hp_max_threads); @@ -92,23 +93,22 @@ tid() { } void -isc_hp_init(int max_threads) { +isc_hp_init(int max_threads) +{ isc__hp_max_threads = max_threads; isc__hp_max_retired = max_threads * HP_MAX_HPS; } isc_hp_t * -isc_hp_new(isc_mem_t *mctx, size_t max_hps, isc_hp_deletefunc_t *deletefunc) { +isc_hp_new(isc_mem_t *mctx, size_t max_hps, isc_hp_deletefunc_t *deletefunc) +{ isc_hp_t *hp = isc_mem_get(mctx, sizeof(*hp)); if (max_hps == 0) { max_hps = HP_MAX_HPS; } - *hp = (isc_hp_t){ - .max_hps = max_hps, - .deletefunc = deletefunc - }; + *hp = (isc_hp_t){ .max_hps = max_hps, .deletefunc = deletefunc }; isc_mem_attach(mctx, &hp->mctx); @@ -116,23 +116,23 @@ isc_hp_new(isc_mem_t *mctx, size_t max_hps, isc_hp_deletefunc_t *deletefunc) { hp->rl = isc_mem_get(mctx, isc__hp_max_threads * sizeof(hp->rl[0])); for (int i = 0; i < isc__hp_max_threads; i++) { - hp->hp[i] = isc_mem_get(mctx, - CLPAD * 2 * sizeof(hp->hp[i][0])); + hp->hp[i] = isc_mem_get(mctx, CLPAD * 2 * sizeof(hp->hp[i][0])); hp->rl[i] = isc_mem_get(mctx, sizeof(*hp->rl[0])); - *hp->rl[i] = (retirelist_t) { .size = 0 }; + *hp->rl[i] = (retirelist_t){ .size = 0 }; for (int j = 0; j < hp->max_hps; j++) { atomic_init(&hp->hp[i][j], 0); } - hp->rl[i]->list = isc_mem_get(hp->mctx, - isc__hp_max_retired * sizeof(uintptr_t)); + hp->rl[i]->list = isc_mem_get( + hp->mctx, isc__hp_max_retired * sizeof(uintptr_t)); } return (hp); } void -isc_hp_destroy(isc_hp_t *hp) { +isc_hp_destroy(isc_hp_t *hp) +{ for (int i = 0; i < isc__hp_max_threads; i++) { isc_mem_put(hp->mctx, hp->hp[i], CLPAD * 2 * sizeof(hp->hp[i][0])); @@ -141,7 +141,8 @@ isc_hp_destroy(isc_hp_t *hp) { void *data = (void *)hp->rl[i]->list[j]; hp->deletefunc(data); } - isc_mem_put(hp->mctx, hp->rl[i]->list, isc__hp_max_retired * sizeof(uintptr_t)); + isc_mem_put(hp->mctx, hp->rl[i]->list, + isc__hp_max_retired * sizeof(uintptr_t)); isc_mem_put(hp->mctx, hp->rl[i], sizeof(*hp->rl[0])); } isc_mem_put(hp->mctx, hp->hp, isc__hp_max_threads * sizeof(hp->hp[0])); @@ -151,18 +152,22 @@ isc_hp_destroy(isc_hp_t *hp) { } void -isc_hp_clear(isc_hp_t *hp) { +isc_hp_clear(isc_hp_t *hp) +{ for (int i = 0; i < hp->max_hps; i++) { atomic_store_release(&hp->hp[tid()][i], 0); } } -void isc_hp_clear_one(isc_hp_t *hp, int ihp) { +void +isc_hp_clear_one(isc_hp_t *hp, int ihp) +{ atomic_store_release(&hp->hp[tid()][ihp], 0); } uintptr_t -isc_hp_protect(isc_hp_t *hp, int ihp, atomic_uintptr_t *atom) { +isc_hp_protect(isc_hp_t *hp, int ihp, atomic_uintptr_t *atom) +{ uintptr_t n = 0; uintptr_t ret; while ((ret = atomic_load(atom)) != n) { @@ -173,19 +178,22 @@ isc_hp_protect(isc_hp_t *hp, int ihp, atomic_uintptr_t *atom) { } uintptr_t -isc_hp_protect_ptr(isc_hp_t *hp, int ihp, atomic_uintptr_t ptr) { +isc_hp_protect_ptr(isc_hp_t *hp, int ihp, atomic_uintptr_t ptr) +{ atomic_store(&hp->hp[tid()][ihp], atomic_load(&ptr)); return (atomic_load(&ptr)); } uintptr_t -isc_hp_protect_release(isc_hp_t *hp, int ihp, atomic_uintptr_t ptr) { +isc_hp_protect_release(isc_hp_t *hp, int ihp, atomic_uintptr_t ptr) +{ atomic_store_release(&hp->hp[tid()][ihp], atomic_load(&ptr)); return (atomic_load(&ptr)); } void -isc_hp_retire(isc_hp_t *hp, uintptr_t ptr) { +isc_hp_retire(isc_hp_t *hp, uintptr_t ptr) +{ hp->rl[tid()]->list[hp->rl[tid()]->size++] = ptr; INSIST(hp->rl[tid()]->size < isc__hp_max_retired); @@ -195,12 +203,10 @@ isc_hp_retire(isc_hp_t *hp, uintptr_t ptr) { for (int iret = 0; iret < hp->rl[tid()]->size; iret++) { uintptr_t obj = hp->rl[tid()]->list[iret]; - bool can_delete = true; - for (int itid = 0; - itid < isc__hp_max_threads && can_delete; - itid++) - { - for (int ihp = hp->max_hps-1; ihp >= 0; ihp--) { + bool can_delete = true; + for (int itid = 0; itid < isc__hp_max_threads && can_delete; + itid++) { + for (int ihp = hp->max_hps - 1; ihp >= 0; ihp--) { if (atomic_load(&hp->hp[itid][ihp]) == obj) { can_delete = false; break; @@ -210,10 +216,9 @@ isc_hp_retire(isc_hp_t *hp, uintptr_t ptr) { if (can_delete) { size_t bytes = (hp->rl[tid()]->size - iret) * - sizeof(hp->rl[tid()]->list[0]); + sizeof(hp->rl[tid()]->list[0]); memmove(&hp->rl[tid()]->list[iret], - &hp->rl[tid()]->list[iret + 1], - bytes); + &hp->rl[tid()]->list[iret + 1], bytes); hp->rl[tid()]->size--; hp->deletefunc((void *)obj); } diff --git a/lib/isc/ht.c b/lib/isc/ht.c index 5468eba59f..38c019a2f2 100644 --- a/lib/isc/ht.c +++ b/lib/isc/ht.c @@ -14,56 +14,56 @@ #include #include -#include #include #include #include +#include #include - typedef struct isc_ht_node isc_ht_node_t; -#define ISC_HT_MAGIC ISC_MAGIC('H', 'T', 'a', 'b') -#define ISC_HT_VALID(ht) ISC_MAGIC_VALID(ht, ISC_HT_MAGIC) +#define ISC_HT_MAGIC ISC_MAGIC('H', 'T', 'a', 'b') +#define ISC_HT_VALID(ht) ISC_MAGIC_VALID(ht, ISC_HT_MAGIC) struct isc_ht_node { - void *value; + void * value; isc_ht_node_t *next; - size_t keysize; - unsigned char key[FLEXIBLE_ARRAY_MEMBER]; + size_t keysize; + unsigned char key[FLEXIBLE_ARRAY_MEMBER]; }; struct isc_ht { - unsigned int magic; - isc_mem_t *mctx; - size_t size; - size_t mask; - unsigned int count; + unsigned int magic; + isc_mem_t * mctx; + size_t size; + size_t mask; + unsigned int count; isc_ht_node_t **table; }; struct isc_ht_iter { - isc_ht_t *ht; - size_t i; + isc_ht_t * ht; + size_t i; isc_ht_node_t *cur; }; isc_result_t -isc_ht_init(isc_ht_t **htp, isc_mem_t *mctx, uint8_t bits) { +isc_ht_init(isc_ht_t **htp, isc_mem_t *mctx, uint8_t bits) +{ isc_ht_t *ht = NULL; - size_t i; + size_t i; REQUIRE(htp != NULL && *htp == NULL); REQUIRE(mctx != NULL); - REQUIRE(bits >= 1 && bits <= (sizeof(size_t)*8 - 1)); + REQUIRE(bits >= 1 && bits <= (sizeof(size_t) * 8 - 1)); ht = isc_mem_get(mctx, sizeof(struct isc_ht)); ht->mctx = NULL; isc_mem_attach(mctx, &ht->mctx); - ht->size = ((size_t)1<mask = ((size_t)1<size = ((size_t)1 << bits); + ht->mask = ((size_t)1 << bits) - 1; ht->count = 0; ht->table = isc_mem_get(ht->mctx, ht->size * sizeof(isc_ht_node_t *)); @@ -79,9 +79,10 @@ isc_ht_init(isc_ht_t **htp, isc_mem_t *mctx, uint8_t bits) { } void -isc_ht_destroy(isc_ht_t **htp) { +isc_ht_destroy(isc_ht_t **htp) +{ isc_ht_t *ht; - size_t i; + size_t i; REQUIRE(htp != NULL); @@ -99,24 +100,23 @@ isc_ht_destroy(isc_ht_t **htp) { ht->count--; isc_mem_put(ht->mctx, node, offsetof(isc_ht_node_t, key) + - node->keysize); + node->keysize); node = next; } } INSIST(ht->count == 0); - isc_mem_put(ht->mctx, ht->table, ht->size * sizeof(isc_ht_node_t*)); + isc_mem_put(ht->mctx, ht->table, ht->size * sizeof(isc_ht_node_t *)); isc_mem_putanddetach(&ht->mctx, ht, sizeof(struct isc_ht)); - } isc_result_t -isc_ht_add(isc_ht_t *ht, const unsigned char *key, - uint32_t keysize, void *value) +isc_ht_add(isc_ht_t *ht, const unsigned char *key, uint32_t keysize, + void *value) { isc_ht_node_t *node; - uint32_t hash; + uint32_t hash; REQUIRE(ISC_HT_VALID(ht)); REQUIRE(key != NULL && keysize > 0); @@ -144,11 +144,11 @@ isc_ht_add(isc_ht_t *ht, const unsigned char *key, } isc_result_t -isc_ht_find(const isc_ht_t *ht, const unsigned char *key, - uint32_t keysize, void **valuep) +isc_ht_find(const isc_ht_t *ht, const unsigned char *key, uint32_t keysize, + void **valuep) { isc_ht_node_t *node; - uint32_t hash; + uint32_t hash; REQUIRE(ISC_HT_VALID(ht)); REQUIRE(key != NULL && keysize > 0); @@ -158,8 +158,7 @@ isc_ht_find(const isc_ht_t *ht, const unsigned char *key, node = ht->table[hash & ht->mask]; while (node != NULL) { if (keysize == node->keysize && - memcmp(key, node->key, keysize) == 0) - { + memcmp(key, node->key, keysize) == 0) { if (valuep != NULL) *valuep = node->value; return (ISC_R_SUCCESS); @@ -171,9 +170,10 @@ isc_ht_find(const isc_ht_t *ht, const unsigned char *key, } isc_result_t -isc_ht_delete(isc_ht_t *ht, const unsigned char *key, uint32_t keysize) { +isc_ht_delete(isc_ht_t *ht, const unsigned char *key, uint32_t keysize) +{ isc_ht_node_t *node, *prev; - uint32_t hash; + uint32_t hash; REQUIRE(ISC_HT_VALID(ht)); REQUIRE(key != NULL && keysize > 0); @@ -190,7 +190,7 @@ isc_ht_delete(isc_ht_t *ht, const unsigned char *key, uint32_t keysize) { prev->next = node->next; isc_mem_put(ht->mctx, node, offsetof(isc_ht_node_t, key) + - node->keysize); + node->keysize); ht->count--; return (ISC_R_SUCCESS); @@ -203,7 +203,8 @@ isc_ht_delete(isc_ht_t *ht, const unsigned char *key, uint32_t keysize) { } isc_result_t -isc_ht_iter_create(isc_ht_t *ht, isc_ht_iter_t **itp) { +isc_ht_iter_create(isc_ht_t *ht, isc_ht_iter_t **itp) +{ isc_ht_iter_t *it; REQUIRE(ISC_HT_VALID(ht)); @@ -221,9 +222,10 @@ isc_ht_iter_create(isc_ht_t *ht, isc_ht_iter_t **itp) { } void -isc_ht_iter_destroy(isc_ht_iter_t **itp) { +isc_ht_iter_destroy(isc_ht_iter_t **itp) +{ isc_ht_iter_t *it; - isc_ht_t *ht; + isc_ht_t * ht; REQUIRE(itp != NULL && *itp != NULL); @@ -234,7 +236,8 @@ isc_ht_iter_destroy(isc_ht_iter_t **itp) { } isc_result_t -isc_ht_iter_first(isc_ht_iter_t *it) { +isc_ht_iter_first(isc_ht_iter_t *it) +{ REQUIRE(it != NULL); it->i = 0; @@ -250,7 +253,8 @@ isc_ht_iter_first(isc_ht_iter_t *it) { } isc_result_t -isc_ht_iter_next(isc_ht_iter_t *it) { +isc_ht_iter_next(isc_ht_iter_t *it) +{ REQUIRE(it != NULL); REQUIRE(it->cur != NULL); @@ -268,13 +272,14 @@ isc_ht_iter_next(isc_ht_iter_t *it) { } isc_result_t -isc_ht_iter_delcurrent_next(isc_ht_iter_t *it) { - isc_result_t result = ISC_R_SUCCESS; +isc_ht_iter_delcurrent_next(isc_ht_iter_t *it) +{ + isc_result_t result = ISC_R_SUCCESS; isc_ht_node_t *to_delete = NULL; isc_ht_node_t *prev = NULL; isc_ht_node_t *node = NULL; - uint32_t hash; - isc_ht_t *ht; + uint32_t hash; + isc_ht_t * ht; REQUIRE(it != NULL); REQUIRE(it->cur != NULL); to_delete = it->cur; @@ -311,7 +316,8 @@ isc_ht_iter_delcurrent_next(isc_ht_iter_t *it) { } void -isc_ht_iter_current(isc_ht_iter_t *it, void **valuep) { +isc_ht_iter_current(isc_ht_iter_t *it, void **valuep) +{ REQUIRE(it != NULL); REQUIRE(it->cur != NULL); REQUIRE(valuep != NULL && *valuep == NULL); @@ -331,8 +337,9 @@ isc_ht_iter_currentkey(isc_ht_iter_t *it, unsigned char **key, size_t *keysize) } unsigned int -isc_ht_count(isc_ht_t *ht) { +isc_ht_count(isc_ht_t *ht) +{ REQUIRE(ISC_HT_VALID(ht)); - return(ht->count); + return (ht->count); } diff --git a/lib/isc/httpd.c b/lib/isc/httpd.c index 88948fb515..5f3e03ecca 100644 --- a/lib/isc/httpd.c +++ b/lib/isc/httpd.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -42,46 +41,45 @@ #define MSHUTTINGDOWN(cm) ((cm->flags & ISC_HTTPDMGR_FLAGSHUTTINGDOWN) != 0) #define MSETSHUTTINGDOWN(cm) (cm->flags |= ISC_HTTPDMGR_FLAGSHUTTINGDOWN) -#define HTTP_RECVLEN 1024 -#define HTTP_SENDGROW 1024 -#define HTTP_SEND_MAXLEN 10240 +#define HTTP_RECVLEN 1024 +#define HTTP_SENDGROW 1024 +#define HTTP_SEND_MAXLEN 10240 -#define HTTPD_CLOSE 0x0001 /* Got a Connection: close header */ -#define HTTPD_FOUNDHOST 0x0002 /* Got a Host: header */ -#define HTTPD_KEEPALIVE 0x0004 /* Got a Connection: Keep-Alive */ -#define HTTPD_ACCEPT_DEFLATE 0x0008 +#define HTTPD_CLOSE 0x0001 /* Got a Connection: close header */ +#define HTTPD_FOUNDHOST 0x0002 /* Got a Host: header */ +#define HTTPD_KEEPALIVE 0x0004 /* Got a Connection: Keep-Alive */ +#define HTTPD_ACCEPT_DEFLATE 0x0008 -#define HTTPD_MAGIC ISC_MAGIC('H', 't', 'p', 'd') -#define VALID_HTTPD(m) ISC_MAGIC_VALID(m, HTTPD_MAGIC) - -#define HTTPDMGR_MAGIC ISC_MAGIC('H', 'p', 'd', 'm') -#define VALID_HTTPDMGR(m) ISC_MAGIC_VALID(m, HTTPDMGR_MAGIC) +#define HTTPD_MAGIC ISC_MAGIC('H', 't', 'p', 'd') +#define VALID_HTTPD(m) ISC_MAGIC_VALID(m, HTTPD_MAGIC) +#define HTTPDMGR_MAGIC ISC_MAGIC('H', 'p', 'd', 'm') +#define VALID_HTTPDMGR(m) ISC_MAGIC_VALID(m, HTTPDMGR_MAGIC) /*% http client */ struct isc_httpd { - unsigned int magic; /* HTTPD_MAGIC */ - isc_refcount_t references; - isc_httpdmgr_t *mgr; /*%< our parent */ - ISC_LINK(isc_httpd_t) link; - unsigned int state; - isc_socket_t *sock; + unsigned int magic; /* HTTPD_MAGIC */ + isc_refcount_t references; + isc_httpdmgr_t *mgr; /*%< our parent */ + ISC_LINK(isc_httpd_t) link; + unsigned int state; + isc_socket_t *sock; /*% * Received data state. */ - char recvbuf[HTTP_RECVLEN]; /*%< receive buffer */ - uint32_t recvlen; /*%< length recv'd */ - char *headers; /*%< set in process_request() */ - unsigned int method; - char *url; - char *querystring; - char *protocol; + char recvbuf[HTTP_RECVLEN]; /*%< receive buffer */ + uint32_t recvlen; /*%< length recv'd */ + char * headers; /*%< set in process_request() */ + unsigned int method; + char * url; + char * querystring; + char * protocol; /* * Flags on the httpd client. */ - int flags; + int flags; /*% * Transmit data state. @@ -109,47 +107,47 @@ struct isc_httpd { * compressed HTTP data, if compression is used. * */ - isc_buffer_t headerbuffer; - isc_buffer_t compbuffer; - isc_buffer_t *sendbuffer; + isc_buffer_t headerbuffer; + isc_buffer_t compbuffer; + isc_buffer_t *sendbuffer; - const char *mimetype; - unsigned int retcode; - const char *retmsg; - isc_buffer_t bodybuffer; - isc_httpdfree_t *freecb; - void *freecb_arg; + const char * mimetype; + unsigned int retcode; + const char * retmsg; + isc_buffer_t bodybuffer; + isc_httpdfree_t *freecb; + void * freecb_arg; }; /*% lightweight socket manager for httpd output */ struct isc_httpdmgr { - unsigned int magic; /* HTTPDMGR_MAGIC */ - isc_refcount_t references; - isc_mem_t *mctx; - isc_socket_t *sock; /*%< listening socket */ - isc_task_t *task; /*%< owning task */ - isc_timermgr_t *timermgr; + unsigned int magic; /* HTTPDMGR_MAGIC */ + isc_refcount_t references; + isc_mem_t * mctx; + isc_socket_t * sock; /*%< listening socket */ + isc_task_t * task; /*%< owning task */ + isc_timermgr_t *timermgr; - isc_httpdclientok_t *client_ok; /*%< client validator */ - isc_httpdondestroy_t *ondestroy; /*%< cleanup callback */ - void *cb_arg; /*%< argument for the above */ + isc_httpdclientok_t * client_ok; /*%< client validator */ + isc_httpdondestroy_t *ondestroy; /*%< cleanup callback */ + void * cb_arg; /*%< argument for the above */ - unsigned int flags; - ISC_LIST(isc_httpd_t) running; /*%< running clients */ + unsigned int flags; + ISC_LIST(isc_httpd_t) running; /*%< running clients */ - isc_mutex_t lock; + isc_mutex_t lock; - ISC_LIST(isc_httpdurl_t) urls; /*%< urls we manage */ - isc_httpdaction_t *render_404; - isc_httpdaction_t *render_500; + ISC_LIST(isc_httpdurl_t) urls; /*%< urls we manage */ + isc_httpdaction_t *render_404; + isc_httpdaction_t *render_500; }; /*% * HTTP methods. */ -#define ISC_HTTPD_METHODUNKNOWN 0 -#define ISC_HTTPD_METHODGET 1 -#define ISC_HTTPD_METHODPOST 2 +#define ISC_HTTPD_METHODUNKNOWN 0 +#define ISC_HTTPD_METHODGET 1 +#define ISC_HTTPD_METHODPOST 2 /*% * Client states. @@ -180,31 +178,37 @@ struct isc_httpdmgr { * At any time -> RECV on error. If RECV fails, the client will * self-destroy, closing the socket and freeing memory. */ -#define ISC_HTTPD_STATEIDLE 0 -#define ISC_HTTPD_STATERECV 1 -#define ISC_HTTPD_STATERECVDONE 2 -#define ISC_HTTPD_STATESEND 3 -#define ISC_HTTPD_STATESENDDONE 4 +#define ISC_HTTPD_STATEIDLE 0 +#define ISC_HTTPD_STATERECV 1 +#define ISC_HTTPD_STATERECVDONE 2 +#define ISC_HTTPD_STATESEND 3 +#define ISC_HTTPD_STATESENDDONE 4 -#define ISC_HTTPD_ISRECV(c) ((c)->state == ISC_HTTPD_STATERECV) -#define ISC_HTTPD_ISRECVDONE(c) ((c)->state == ISC_HTTPD_STATERECVDONE) -#define ISC_HTTPD_ISSEND(c) ((c)->state == ISC_HTTPD_STATESEND) -#define ISC_HTTPD_ISSENDDONE(c) ((c)->state == ISC_HTTPD_STATESENDDONE) +#define ISC_HTTPD_ISRECV(c) ((c)->state == ISC_HTTPD_STATERECV) +#define ISC_HTTPD_ISRECVDONE(c) ((c)->state == ISC_HTTPD_STATERECVDONE) +#define ISC_HTTPD_ISSEND(c) ((c)->state == ISC_HTTPD_STATESEND) +#define ISC_HTTPD_ISSENDDONE(c) ((c)->state == ISC_HTTPD_STATESENDDONE) /*% * Overall magic test that means we're not idle. */ -#define ISC_HTTPD_SETRECV(c) ((c)->state = ISC_HTTPD_STATERECV) -#define ISC_HTTPD_SETRECVDONE(c) ((c)->state = ISC_HTTPD_STATERECVDONE) -#define ISC_HTTPD_SETSEND(c) ((c)->state = ISC_HTTPD_STATESEND) -#define ISC_HTTPD_SETSENDDONE(c) ((c)->state = ISC_HTTPD_STATESENDDONE) +#define ISC_HTTPD_SETRECV(c) ((c)->state = ISC_HTTPD_STATERECV) +#define ISC_HTTPD_SETRECVDONE(c) ((c)->state = ISC_HTTPD_STATERECVDONE) +#define ISC_HTTPD_SETSEND(c) ((c)->state = ISC_HTTPD_STATESEND) +#define ISC_HTTPD_SETSENDDONE(c) ((c)->state = ISC_HTTPD_STATESENDDONE) -static void isc_httpd_accept(isc_task_t *, isc_event_t *); -static void isc_httpd_recvdone(isc_task_t *, isc_event_t *); -static void isc_httpd_senddone(isc_task_t *, isc_event_t *); -static isc_result_t process_request(isc_httpd_t *, int); -static isc_result_t grow_headerspace(isc_httpd_t *); -static void reset_client(isc_httpd_t *httpd); +static void +isc_httpd_accept(isc_task_t *, isc_event_t *); +static void +isc_httpd_recvdone(isc_task_t *, isc_event_t *); +static void +isc_httpd_senddone(isc_task_t *, isc_event_t *); +static isc_result_t +process_request(isc_httpd_t *, int); +static isc_result_t +grow_headerspace(isc_httpd_t *); +static void +reset_client(isc_httpd_t *httpd); static isc_httpdaction_t render_404; static isc_httpdaction_t render_500; @@ -213,10 +217,14 @@ static isc_httpdaction_t render_500; static void (*finishhook)(void) = NULL; #endif /* ENABLE_AFL */ -static void maybe_destroy_httpd(isc_httpd_t *); -static void destroy_httpd(isc_httpd_t *); -static void maybe_destroy_httpdmgr(isc_httpdmgr_t *); -static void destroy_httpdmgr(isc_httpdmgr_t *); +static void +maybe_destroy_httpd(isc_httpd_t *); +static void +destroy_httpd(isc_httpd_t *); +static void +maybe_destroy_httpdmgr(isc_httpdmgr_t *); +static void +destroy_httpdmgr(isc_httpdmgr_t *); static void isc_httpdmgr_attach(isc_httpdmgr_t *, isc_httpdmgr_t **); @@ -224,14 +232,16 @@ static void isc_httpdmgr_detach(isc_httpdmgr_t **); static void -maybe_destroy_httpd(isc_httpd_t *httpd) { +maybe_destroy_httpd(isc_httpd_t *httpd) +{ if (isc_refcount_decrement(&httpd->references) == 1) { destroy_httpd(httpd); } } static inline void -free_buffer(isc_mem_t *mctx, isc_buffer_t *buffer) { +free_buffer(isc_mem_t *mctx, isc_buffer_t *buffer) +{ isc_region_t r; isc_buffer_region(buffer, &r); @@ -241,7 +251,8 @@ free_buffer(isc_mem_t *mctx, isc_buffer_t *buffer) { } static void -destroy_httpd(isc_httpd_t *httpd) { +destroy_httpd(isc_httpd_t *httpd) +{ isc_httpdmgr_t *httpdmgr; REQUIRE(VALID_HTTPD(httpd)); @@ -262,7 +273,6 @@ destroy_httpd(isc_httpd_t *httpd) { isc_refcount_destroy(&httpd->references); isc_socket_detach(&httpd->sock); - free_buffer(httpdmgr->mctx, &httpd->headerbuffer); free_buffer(httpdmgr->mctx, &httpd->compbuffer); @@ -278,7 +288,7 @@ destroy_httpd(isc_httpd_t *httpd) { } static inline isc_result_t -httpdmgr_socket_accept(isc_task_t *task, isc_httpdmgr_t* httpdmgr) +httpdmgr_socket_accept(isc_task_t *task, isc_httpdmgr_t *httpdmgr) { isc_result_t result = ISC_R_SUCCESS; @@ -313,8 +323,8 @@ httpd_socket_send(isc_httpd_t *httpd, isc_region_t *region, isc_task_t *task) /* decremented in isc_httpd_senddone */ (void)isc_refcount_increment(&httpd->references); - result = isc_socket_send(httpd->sock, region, task, - isc_httpd_senddone, httpd); + result = isc_socket_send(httpd->sock, region, task, isc_httpd_senddone, + httpd); if (result != ISC_R_SUCCESS) { INSIST(isc_refcount_decrement(&httpd->references) > 1); } @@ -322,11 +332,11 @@ httpd_socket_send(isc_httpd_t *httpd, isc_region_t *region, isc_task_t *task) isc_result_t isc_httpdmgr_create(isc_mem_t *mctx, isc_socket_t *sock, isc_task_t *task, - isc_httpdclientok_t *client_ok, + isc_httpdclientok_t * client_ok, isc_httpdondestroy_t *ondestroy, void *cb_arg, isc_timermgr_t *tmgr, isc_httpdmgr_t **httpdmgrp) { - isc_result_t result; + isc_result_t result; isc_httpdmgr_t *httpdmgr; REQUIRE(mctx != NULL); @@ -337,14 +347,13 @@ isc_httpdmgr_create(isc_mem_t *mctx, isc_socket_t *sock, isc_task_t *task, httpdmgr = isc_mem_get(mctx, sizeof(isc_httpdmgr_t)); - *httpdmgr = (isc_httpdmgr_t){ - .timermgr = tmgr, /* XXXMLG no attach function? */ - .client_ok = client_ok, - .ondestroy = ondestroy, - .cb_arg = cb_arg, - .render_404 = render_404, - .render_500 = render_500 - }; + *httpdmgr = (isc_httpdmgr_t){ .timermgr = tmgr, /* XXXMLG no attach + function? */ + .client_ok = client_ok, + .ondestroy = ondestroy, + .cb_arg = cb_arg, + .render_404 = render_404, + .render_500 = render_500 }; isc_mutex_init(&httpdmgr->lock); isc_mem_attach(mctx, &httpdmgr->mctx); @@ -369,7 +378,6 @@ isc_httpdmgr_create(isc_mem_t *mctx, isc_socket_t *sock, isc_task_t *task, httpdmgr->magic = HTTPDMGR_MAGIC; - result = httpdmgr_socket_accept(task, httpdmgr); if (result != ISC_R_SUCCESS) { goto cleanup; @@ -378,7 +386,7 @@ isc_httpdmgr_create(isc_mem_t *mctx, isc_socket_t *sock, isc_task_t *task, *httpdmgrp = httpdmgr; return (ISC_R_SUCCESS); - cleanup: +cleanup: httpdmgr->magic = 0; isc_refcount_decrement(&httpdmgr->references); isc_refcount_destroy(&httpdmgr->references); @@ -391,7 +399,8 @@ isc_httpdmgr_create(isc_mem_t *mctx, isc_socket_t *sock, isc_task_t *task, } static void -isc_httpdmgr_attach(isc_httpdmgr_t *source, isc_httpdmgr_t **targetp) { +isc_httpdmgr_attach(isc_httpdmgr_t *source, isc_httpdmgr_t **targetp) +{ REQUIRE(VALID_HTTPDMGR(source)); REQUIRE(targetp != NULL && *targetp == NULL); @@ -401,7 +410,8 @@ isc_httpdmgr_attach(isc_httpdmgr_t *source, isc_httpdmgr_t **targetp) { } static void -isc_httpdmgr_detach(isc_httpdmgr_t **httpdmgrp) { +isc_httpdmgr_detach(isc_httpdmgr_t **httpdmgrp) +{ REQUIRE(httpdmgrp != NULL && VALID_HTTPDMGR(*httpdmgrp)); isc_httpdmgr_t *httpdmgr = *httpdmgrp; *httpdmgrp = NULL; @@ -410,14 +420,16 @@ isc_httpdmgr_detach(isc_httpdmgr_t **httpdmgrp) { } static void -maybe_destroy_httpdmgr(isc_httpdmgr_t *httpdmgr) { +maybe_destroy_httpdmgr(isc_httpdmgr_t *httpdmgr) +{ if (isc_refcount_decrement(&httpdmgr->references) == 1) { destroy_httpdmgr(httpdmgr); } } static void -destroy_httpdmgr(isc_httpdmgr_t *httpdmgr) { +destroy_httpdmgr(isc_httpdmgr_t *httpdmgr) +{ isc_httpdurl_t *url; isc_refcount_destroy(&httpdmgr->references); @@ -465,7 +477,7 @@ static bool have_header(isc_httpd_t *httpd, const char *header, const char *value, const char *eov) { - char *cr, *nl, *h; + char * cr, *nl, *h; size_t hlen, vlen = 0; h = httpd->headers; @@ -525,10 +537,11 @@ have_header(isc_httpd_t *httpd, const char *header, const char *value, } static isc_result_t -process_request(isc_httpd_t *httpd, int length) { +process_request(isc_httpd_t *httpd, int length) +{ char *s; char *p; - int delim; + int delim; httpd->recvlen += length; @@ -587,8 +600,7 @@ process_request(isc_httpd_t *httpd, int length) { /* * Make the URL relative. */ - if ((strncmp(p, "http:/", 6) == 0) - || (strncmp(p, "https:/", 7) == 0)) { + if ((strncmp(p, "http:/", 6) == 0) || (strncmp(p, "https:/", 7) == 0)) { /* Skip first / */ while (*p != '/' && *p != 0) p++; @@ -641,11 +653,11 @@ process_request(isc_httpd_t *httpd, int length) { if (strncmp(s, delim == 1 ? "\n" : "\r\n", delim) != 0) return (ISC_R_RANGE); *s = 0; - if ((strncmp(p, "HTTP/1.0", 8) != 0) - && (strncmp(p, "HTTP/1.1", 8) != 0)) + if ((strncmp(p, "HTTP/1.0", 8) != 0) && + (strncmp(p, "HTTP/1.1", 8) != 0)) return (ISC_R_RANGE); httpd->protocol = p; - p = s + delim; /* skip past eol */ + p = s + delim; /* skip past eol */ s = p; httpd->headers = s; @@ -657,8 +669,7 @@ process_request(isc_httpd_t *httpd, int length) { httpd->flags |= HTTPD_FOUNDHOST; if (strncmp(httpd->protocol, "HTTP/1.0", 8) == 0) { - if (have_header(httpd, "Connection:", "Keep-Alive", - ", \t\r\n")) + if (have_header(httpd, "Connection:", "Keep-Alive", ", \t\r\n")) httpd->flags |= HTTPD_KEEPALIVE; else httpd->flags |= HTTPD_CLOSE; @@ -675,8 +686,8 @@ process_request(isc_httpd_t *httpd, int length) { /* * Standards compliance hooks here. */ - if (strcmp(httpd->protocol, "HTTP/1.1") == 0 - && ((httpd->flags & HTTPD_FOUNDHOST) == 0)) + if (strcmp(httpd->protocol, "HTTP/1.1") == 0 && + ((httpd->flags & HTTPD_FOUNDHOST) == 0)) return (ISC_R_RANGE); return (ISC_R_SUCCESS); @@ -687,16 +698,14 @@ isc_httpd_create(isc_httpdmgr_t *httpdmgr, isc_socket_t *sock, isc_httpd_t **httpdp) { isc_httpd_t *httpd; - char *headerdata; + char * headerdata; REQUIRE(VALID_HTTPDMGR(httpdmgr)); REQUIRE(httpdp != NULL && *httpdp == NULL); httpd = isc_mem_get(httpdmgr->mctx, sizeof(isc_httpd_t)); - *httpd = (isc_httpd_t){ - .sock = sock - }; + *httpd = (isc_httpd_t){ .sock = sock }; isc_httpdmgr_attach(httpdmgr, &httpd->mgr); @@ -723,12 +732,13 @@ isc_httpd_create(isc_httpdmgr_t *httpdmgr, isc_socket_t *sock, } static void -isc_httpd_accept(isc_task_t *task, isc_event_t *ev) { - isc_httpdmgr_t *httpdmgr = ev->ev_arg; - isc_httpd_t *httpd = NULL; - isc_region_t r; +isc_httpd_accept(isc_task_t *task, isc_event_t *ev) +{ + isc_httpdmgr_t * httpdmgr = ev->ev_arg; + isc_httpd_t * httpd = NULL; + isc_region_t r; isc_socket_newconnev_t *nev = (isc_socket_newconnev_t *)ev; - isc_sockaddr_t peeraddr; + isc_sockaddr_t peeraddr; REQUIRE(VALID_HTTPDMGR(httpdmgr)); @@ -760,10 +770,10 @@ isc_httpd_accept(isc_task_t *task, isc_event_t *ev) { httpd_socket_recv(httpd, &r, task); - requeue: +requeue: (void)httpdmgr_socket_accept(task, httpdmgr); - out: +out: UNLOCK(&httpdmgr->lock); if (httpd != NULL) { @@ -775,10 +785,9 @@ isc_httpd_accept(isc_task_t *task, isc_event_t *ev) { } static isc_result_t -render_404(const char *url, isc_httpdurl_t *urlinfo, - const char *querystring, const char *headers, void *arg, - unsigned int *retcode, const char **retmsg, - const char **mimetype, isc_buffer_t *b, +render_404(const char *url, isc_httpdurl_t *urlinfo, const char *querystring, + const char *headers, void *arg, unsigned int *retcode, + const char **retmsg, const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { static char msg[] = "No such URL.\r\n"; @@ -801,10 +810,9 @@ render_404(const char *url, isc_httpdurl_t *urlinfo, } static isc_result_t -render_500(const char *url, isc_httpdurl_t *urlinfo, - const char *querystring, const char *headers, void *arg, - unsigned int *retcode, const char **retmsg, - const char **mimetype, isc_buffer_t *b, +render_500(const char *url, isc_httpdurl_t *urlinfo, const char *querystring, + const char *headers, void *arg, unsigned int *retcode, + const char **retmsg, const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args) { static char msg[] = "Internal server failure.\r\n"; @@ -839,8 +847,9 @@ render_500(const char *url, isc_httpdurl_t *urlinfo, *\li #ISC_R_NOMEMORY -- not enough memory to extend buffer */ static isc_result_t -alloc_compspace(isc_httpd_t *httpd, unsigned int size) { - char *newspace; +alloc_compspace(isc_httpd_t *httpd, unsigned int size) +{ + char * newspace; isc_region_t r; isc_buffer_region(&httpd->compbuffer, &r); @@ -872,12 +881,13 @@ alloc_compspace(isc_httpd_t *httpd, unsigned int size) { * data would be larger than input data */ static isc_result_t -isc_httpd_compress(isc_httpd_t *httpd) { - z_stream zstr; +isc_httpd_compress(isc_httpd_t *httpd) +{ + z_stream zstr; isc_region_t r; isc_result_t result; - int ret; - int inputlen; + int ret; + int inputlen; inputlen = isc_buffer_usedlength(&httpd->bodybuffer); result = alloc_compspace(httpd, inputlen); @@ -891,8 +901,8 @@ isc_httpd_compress(isc_httpd_t *httpd) { * compressed data size would be bigger than the input size. */ memset(&zstr, 0, sizeof(zstr)); - zstr.total_in = zstr.avail_in = - zstr.total_out = zstr.avail_out = inputlen; + zstr.total_in = zstr.avail_in = zstr.total_out = zstr.avail_out = + inputlen; zstr.next_in = isc_buffer_base(&httpd->bodybuffer); zstr.next_out = r.base; @@ -912,16 +922,17 @@ isc_httpd_compress(isc_httpd_t *httpd) { #endif static void -isc_httpd_recvdone(isc_task_t *task, isc_event_t *ev) { - isc_result_t result; - isc_httpd_t *httpd = ev->ev_arg; +isc_httpd_recvdone(isc_task_t *task, isc_event_t *ev) +{ + isc_result_t result; + isc_httpd_t * httpd = ev->ev_arg; isc_socketevent_t *sev = (isc_socketevent_t *)ev; - isc_buffer_t *databuffer; - isc_httpdurl_t *url; - isc_time_t now; - isc_region_t r; - bool is_compressed = false; - char datebuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; + isc_buffer_t * databuffer; + isc_httpdurl_t * url; + isc_time_t now; + isc_region_t r; + bool is_compressed = false; + char datebuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; REQUIRE(VALID_HTTPD(httpd)); @@ -964,43 +975,31 @@ isc_httpd_recvdone(isc_task_t *task, isc_event_t *ev) { UNLOCK(&httpd->mgr->lock); if (url == NULL) { - result = httpd->mgr->render_404(httpd->url, NULL, - httpd->querystring, - NULL, NULL, - &httpd->retcode, - &httpd->retmsg, - &httpd->mimetype, - &httpd->bodybuffer, - &httpd->freecb, - &httpd->freecb_arg); + result = httpd->mgr->render_404( + httpd->url, NULL, httpd->querystring, NULL, NULL, + &httpd->retcode, &httpd->retmsg, &httpd->mimetype, + &httpd->bodybuffer, &httpd->freecb, &httpd->freecb_arg); } else { - result = url->action(httpd->url, url, - httpd->querystring, - httpd->headers, - url->action_arg, + result = url->action(httpd->url, url, httpd->querystring, + httpd->headers, url->action_arg, &httpd->retcode, &httpd->retmsg, &httpd->mimetype, &httpd->bodybuffer, &httpd->freecb, &httpd->freecb_arg); } if (result != ISC_R_SUCCESS) { - result = httpd->mgr->render_500(httpd->url, url, - httpd->querystring, - NULL, NULL, - &httpd->retcode, - &httpd->retmsg, - &httpd->mimetype, - &httpd->bodybuffer, - &httpd->freecb, - &httpd->freecb_arg); + result = httpd->mgr->render_500( + httpd->url, url, httpd->querystring, NULL, NULL, + &httpd->retcode, &httpd->retmsg, &httpd->mimetype, + &httpd->bodybuffer, &httpd->freecb, &httpd->freecb_arg); RUNTIME_CHECK(result == ISC_R_SUCCESS); } #ifdef HAVE_ZLIB if ((httpd->flags & HTTPD_ACCEPT_DEFLATE) != 0) { - result = isc_httpd_compress(httpd); - if (result == ISC_R_SUCCESS) { - is_compressed = true; - } + result = isc_httpd_compress(httpd); + if (result == ISC_R_SUCCESS) { + is_compressed = true; + } } #endif @@ -1014,8 +1013,8 @@ isc_httpd_recvdone(isc_task_t *task, isc_event_t *ev) { if (url != NULL && url->isstatic) { char loadbuf[ISC_FORMATHTTPTIMESTAMP_SIZE]; - isc_time_formathttptimestamp(&url->loadtime, - loadbuf, sizeof(loadbuf)); + isc_time_formathttptimestamp(&url->loadtime, loadbuf, + sizeof(loadbuf)); isc_httpd_addheader(httpd, "Last-Modified", loadbuf); isc_httpd_addheader(httpd, "Cache-Control: public", NULL); } else { @@ -1028,21 +1027,23 @@ isc_httpd_recvdone(isc_task_t *task, isc_event_t *ev) { if (is_compressed == true) { isc_httpd_addheader(httpd, "Content-Encoding", "deflate"); - isc_httpd_addheaderuint(httpd, "Content-Length", - isc_buffer_usedlength(&httpd->compbuffer)); + isc_httpd_addheaderuint( + httpd, "Content-Length", + isc_buffer_usedlength(&httpd->compbuffer)); } else { - isc_httpd_addheaderuint(httpd, "Content-Length", - isc_buffer_usedlength(&httpd->bodybuffer)); + isc_httpd_addheaderuint( + httpd, "Content-Length", + isc_buffer_usedlength(&httpd->bodybuffer)); } - isc_httpd_endheaders(httpd); /* done */ + isc_httpd_endheaders(httpd); /* done */ /* * Append either the compressed or the non-compressed response body to * the response headers and store the result in httpd->sendbuffer. */ - isc_buffer_dup(httpd->mgr->mctx, - &httpd->sendbuffer, &httpd->headerbuffer); + isc_buffer_dup(httpd->mgr->mctx, &httpd->sendbuffer, + &httpd->headerbuffer); isc_buffer_setautorealloc(httpd->sendbuffer, true); databuffer = (is_compressed ? &httpd->compbuffer : &httpd->bodybuffer); isc_buffer_usedregion(databuffer, &r); @@ -1055,15 +1056,16 @@ isc_httpd_recvdone(isc_task_t *task, isc_event_t *ev) { httpd_socket_send(httpd, &r, task); - out: +out: maybe_destroy_httpd(httpd); isc_event_free(&ev); } void -isc_httpdmgr_shutdown(isc_httpdmgr_t **httpdmgrp) { +isc_httpdmgr_shutdown(isc_httpdmgr_t **httpdmgrp) +{ isc_httpdmgr_t *httpdmgr; - isc_httpd_t *httpd; + isc_httpd_t * httpd; REQUIRE(httpdmgrp != NULL); httpdmgr = *httpdmgrp; @@ -1086,12 +1088,12 @@ isc_httpdmgr_shutdown(isc_httpdmgr_t **httpdmgrp) { UNLOCK(&httpdmgr->lock); maybe_destroy_httpdmgr(httpdmgr); - } static isc_result_t -grow_headerspace(isc_httpd_t *httpd) { - char *newspace; +grow_headerspace(isc_httpd_t *httpd) +{ + char * newspace; unsigned int newlen; isc_region_t r; @@ -1110,15 +1112,16 @@ grow_headerspace(isc_httpd_t *httpd) { } isc_result_t -isc_httpd_response(isc_httpd_t *httpd) { +isc_httpd_response(isc_httpd_t *httpd) +{ isc_result_t result; unsigned int needlen; REQUIRE(VALID_HTTPD(httpd)); needlen = strlen(httpd->protocol) + 1; /* protocol + space */ - needlen += 3 + 1; /* room for response code, always 3 bytes */ - needlen += strlen(httpd->retmsg) + 2; /* return msg + CRLF */ + needlen += 3 + 1; /* room for response code, always 3 bytes */ + needlen += strlen(httpd->retmsg) + 2; /* return msg + CRLF */ while (isc_buffer_availablelength(&httpd->headerbuffer) < needlen) { result = grow_headerspace(httpd); @@ -1127,12 +1130,13 @@ isc_httpd_response(isc_httpd_t *httpd) { } return (isc_buffer_printf(&httpd->headerbuffer, "%s %03u %s\r\n", - httpd->protocol, httpd->retcode, - httpd->retmsg)); + httpd->protocol, httpd->retcode, + httpd->retmsg)); } isc_result_t -isc_httpd_addheader(isc_httpd_t *httpd, const char *name, const char *val) { +isc_httpd_addheader(isc_httpd_t *httpd, const char *name, const char *val) +{ isc_result_t result; unsigned int needlen; @@ -1152,15 +1156,16 @@ isc_httpd_addheader(isc_httpd_t *httpd, const char *name, const char *val) { if (val != NULL) { return (isc_buffer_printf(&httpd->headerbuffer, "%s: %s\r\n", - name, val)); + name, val)); } else { return (isc_buffer_printf(&httpd->headerbuffer, "%s\r\n", - name)); + name)); } } isc_result_t -isc_httpd_endheaders(isc_httpd_t *httpd) { +isc_httpd_endheaders(isc_httpd_t *httpd) +{ isc_result_t result; REQUIRE(VALID_HTTPD(httpd)); @@ -1175,18 +1180,19 @@ isc_httpd_endheaders(isc_httpd_t *httpd) { } isc_result_t -isc_httpd_addheaderuint(isc_httpd_t *httpd, const char *name, int val) { +isc_httpd_addheaderuint(isc_httpd_t *httpd, const char *name, int val) +{ isc_result_t result; unsigned int needlen; - char buf[sizeof "18446744073709551616"]; + char buf[sizeof "18446744073709551616"]; REQUIRE(VALID_HTTPD(httpd)); snprintf(buf, sizeof(buf), "%d", val); - needlen = strlen(name); /* name itself */ + needlen = strlen(name); /* name itself */ needlen += 2 + strlen(buf); /* : and val */ - needlen += 2; /* CRLF */ + needlen += 2; /* CRLF */ while (isc_buffer_availablelength(&httpd->headerbuffer) < needlen) { result = grow_headerspace(httpd); @@ -1195,13 +1201,14 @@ isc_httpd_addheaderuint(isc_httpd_t *httpd, const char *name, int val) { } return (isc_buffer_printf(&httpd->headerbuffer, "%s: %s\r\n", name, - buf)); + buf)); } static void -isc_httpd_senddone(isc_task_t *task, isc_event_t *ev) { - isc_httpd_t *httpd = ev->ev_arg; - isc_region_t r; +isc_httpd_senddone(isc_task_t *task, isc_event_t *ev) +{ + isc_httpd_t * httpd = ev->ev_arg; + isc_region_t r; isc_socketevent_t *sev = (isc_socketevent_t *)ev; REQUIRE(VALID_HTTPD(httpd)); @@ -1248,7 +1255,8 @@ out: } static void -reset_client(isc_httpd_t *httpd) { +reset_client(isc_httpd_t *httpd) +{ /* * Catch errors here. We MUST be in RECV mode, and we MUST NOT have * any outstanding buffers. If we have buffers, we have a leak. @@ -1281,8 +1289,7 @@ isc_httpdmgr_addurl(isc_httpdmgr_t *httpdmgr, const char *url, } isc_result_t -isc_httpdmgr_addurl2(isc_httpdmgr_t *httpdmgr, const char *url, - bool isstatic, +isc_httpdmgr_addurl2(isc_httpdmgr_t *httpdmgr, const char *url, bool isstatic, isc_httpdaction_t *func, void *arg) { isc_httpdurl_t *item; @@ -1317,7 +1324,7 @@ isc_httpd_setfinishhook(void (*fn)(void)) { #if ENABLE_AFL finishhook = fn; -#else /* ENABLE_AFL */ +#else /* ENABLE_AFL */ UNUSED(fn); #endif /* ENABLE_AFL */ } diff --git a/lib/isc/include/isc/aes.h b/lib/isc/include/isc/aes.h index 6d6a8e4b92..73a5d3e9a5 100644 --- a/lib/isc/include/isc/aes.h +++ b/lib/isc/include/isc/aes.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file isc/aes.h */ #ifndef ISC_AES_H diff --git a/lib/isc/include/isc/app.h b/lib/isc/include/isc/app.h index 4ee550a687..4193191977 100644 --- a/lib/isc/include/isc/app.h +++ b/lib/isc/include/isc/app.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_APP_H #define ISC_APP_H 1 @@ -90,9 +89,9 @@ typedef isc_event_t isc_appevent_t; -#define ISC_APPEVENT_FIRSTEVENT (ISC_EVENTCLASS_APP + 0) -#define ISC_APPEVENT_SHUTDOWN (ISC_EVENTCLASS_APP + 1) -#define ISC_APPEVENT_LASTEVENT (ISC_EVENTCLASS_APP + 65535) +#define ISC_APPEVENT_FIRSTEVENT (ISC_EVENTCLASS_APP + 0) +#define ISC_APPEVENT_SHUTDOWN (ISC_EVENTCLASS_APP + 1) +#define ISC_APPEVENT_LASTEVENT (ISC_EVENTCLASS_APP + 65535) /*% * This structure is actually just the common prefix of an application context diff --git a/lib/isc/include/isc/assertions.h b/lib/isc/include/isc/assertions.h index e89b43ec8a..2c409eb7ff 100644 --- a/lib/isc/include/isc/assertions.h +++ b/lib/isc/include/isc/assertions.h @@ -34,38 +34,38 @@ typedef void (*isc_assertioncallback_t)(const char *, int, isc_assertiontype_t, /* coverity[+kill] */ ISC_PLATFORM_NORETURN_PRE -void isc_assertion_failed(const char *, int, isc_assertiontype_t, - const char *) ISC_PLATFORM_NORETURN_POST; - void -isc_assertion_setcallback(isc_assertioncallback_t); +isc_assertion_failed(const char *, int, isc_assertiontype_t, + const char *) ISC_PLATFORM_NORETURN_POST; + +void isc_assertion_setcallback(isc_assertioncallback_t); const char * isc_assertion_typetotext(isc_assertiontype_t type); -#define ISC_REQUIRE(cond) \ - ((void) (ISC_LIKELY(cond) || \ - ((isc_assertion_failed)(__FILE__, __LINE__, \ - isc_assertiontype_require, \ - #cond), 0))) +#define ISC_REQUIRE(cond) \ + ((void)(ISC_LIKELY(cond) || \ + ((isc_assertion_failed)(__FILE__, __LINE__, \ + isc_assertiontype_require, #cond), \ + 0))) -#define ISC_ENSURE(cond) \ - ((void) (ISC_LIKELY(cond) || \ - ((isc_assertion_failed)(__FILE__, __LINE__, \ - isc_assertiontype_ensure, \ - #cond), 0))) +#define ISC_ENSURE(cond) \ + ((void)(ISC_LIKELY(cond) || \ + ((isc_assertion_failed)(__FILE__, __LINE__, \ + isc_assertiontype_ensure, #cond), \ + 0))) -#define ISC_INSIST(cond) \ - ((void) (ISC_LIKELY(cond) || \ - ((isc_assertion_failed)(__FILE__, __LINE__, \ - isc_assertiontype_insist, \ - #cond), 0))) +#define ISC_INSIST(cond) \ + ((void)(ISC_LIKELY(cond) || \ + ((isc_assertion_failed)(__FILE__, __LINE__, \ + isc_assertiontype_insist, #cond), \ + 0))) -#define ISC_INVARIANT(cond) \ - ((void) (ISC_LIKELY(cond) || \ - ((isc_assertion_failed)(__FILE__, __LINE__, \ - isc_assertiontype_invariant, \ - #cond), 0))) +#define ISC_INVARIANT(cond) \ + ((void)(ISC_LIKELY(cond) || \ + ((isc_assertion_failed)(__FILE__, __LINE__, \ + isc_assertiontype_invariant, #cond), \ + 0))) ISC_LANG_ENDDECLS diff --git a/lib/isc/include/isc/astack.h b/lib/isc/include/isc/astack.h index cd068c61f6..e6a28768f9 100644 --- a/lib/isc/include/isc/astack.h +++ b/lib/isc/include/isc/astack.h @@ -12,6 +12,7 @@ #pragma once #include + #include #include diff --git a/lib/isc/include/isc/atomic.h b/lib/isc/include/isc/atomic.h index ca463ff41a..4e20584021 100644 --- a/lib/isc/include/isc/atomic.h +++ b/lib/isc/include/isc/atomic.h @@ -27,46 +27,41 @@ /* Relaxed Memory Ordering */ -#define atomic_store_relaxed(o, v) \ +#define atomic_store_relaxed(o, v) \ atomic_store_explicit((o), (v), memory_order_relaxed) -#define atomic_load_relaxed(o) \ - atomic_load_explicit((o), memory_order_relaxed) -#define atomic_fetch_add_relaxed(o, v) \ +#define atomic_load_relaxed(o) atomic_load_explicit((o), memory_order_relaxed) +#define atomic_fetch_add_relaxed(o, v) \ atomic_fetch_add_explicit((o), (v), memory_order_relaxed) -#define atomic_fetch_sub_relaxed(o, v) \ +#define atomic_fetch_sub_relaxed(o, v) \ atomic_fetch_sub_explicit((o), (v), memory_order_relaxed) -#define atomic_fetch_or_relaxed(o, v) \ +#define atomic_fetch_or_relaxed(o, v) \ atomic_fetch_or_explicit((o), (v), memory_order_relaxed) -#define atomic_fetch_and_relaxed(o, v) \ +#define atomic_fetch_and_relaxed(o, v) \ atomic_fetch_and_explicit((o), (v), memory_order_relaxed) -#define atomic_exchange_relaxed(o, v) \ +#define atomic_exchange_relaxed(o, v) \ atomic_exchange_explicit((o), (v), memory_order_relaxed) -#define atomic_compare_exchange_weak_relaxed(o, e, d) \ - atomic_compare_exchange_weak_explicit((o), (e), (d), \ - memory_order_relaxed, \ - memory_order_relaxed) -#define atomic_compare_exchange_strong_relaxed(o, e, d) \ - atomic_compare_exchange_strong_explicit((o), (e), (d), \ - memory_order_relaxed, \ - memory_order_relaxed) +#define atomic_compare_exchange_weak_relaxed(o, e, d) \ + atomic_compare_exchange_weak_explicit( \ + (o), (e), (d), memory_order_relaxed, memory_order_relaxed) +#define atomic_compare_exchange_strong_relaxed(o, e, d) \ + atomic_compare_exchange_strong_explicit( \ + (o), (e), (d), memory_order_relaxed, memory_order_relaxed) /* Acquire-Release Memory Ordering */ -#define atomic_store_release(o, v) \ +#define atomic_store_release(o, v) \ atomic_store_explicit((o), (v), memory_order_release) -#define atomic_load_acquire(o) \ - atomic_load_explicit((o), memory_order_acquire) -#define atomic_fetch_add_release(o, v) \ +#define atomic_load_acquire(o) atomic_load_explicit((o), memory_order_acquire) +#define atomic_fetch_add_release(o, v) \ atomic_fetch_add_explicit((o), (v), memory_order_release) -#define atomic_fetch_sub_release(o, v) \ +#define atomic_fetch_sub_release(o, v) \ atomic_fetch_sub_explicit((o), (v), memory_order_release) -#define atomic_fetch_and_release(o, v) \ +#define atomic_fetch_and_release(o, v) \ atomic_fetch_and_explicit((o), (v), memory_order_release) -#define atomic_fetch_or_release(o, v) \ +#define atomic_fetch_or_release(o, v) \ atomic_fetch_or_explicit((o), (v), memory_order_release) -#define atomic_exchange_acq_rel(o, v) \ +#define atomic_exchange_acq_rel(o, v) \ atomic_exchange_explicit((o), (v), memory_order_acq_rel) -#define atomic_compare_exchange_weak_acq_rel(o, e, d) \ - atomic_compare_exchange_weak_explicit((o), (e), (d), \ - memory_order_acq_rel, \ - memory_order_acquire) +#define atomic_compare_exchange_weak_acq_rel(o, e, d) \ + atomic_compare_exchange_weak_explicit( \ + (o), (e), (d), memory_order_acq_rel, memory_order_acquire) diff --git a/lib/isc/include/isc/backtrace.h b/lib/isc/include/isc/backtrace.h index 27ab9da6b9..c68c02a92b 100644 --- a/lib/isc/include/isc/backtrace.h +++ b/lib/isc/include/isc/backtrace.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file isc/backtrace.h * \brief provide a back trace of the running process to help debug problems. * @@ -44,13 +43,13 @@ *** Types ***/ struct isc_backtrace_symmap { - void *addr; - const char *symbol; + void * addr; + const char *symbol; }; LIBISC_EXTERNAL_DATA extern const int isc__backtrace_nsymbols; -LIBISC_EXTERNAL_DATA extern const - isc_backtrace_symmap_t isc__backtrace_symtable[]; +LIBISC_EXTERNAL_DATA extern const isc_backtrace_symmap_t + isc__backtrace_symtable[]; /*** *** Functions @@ -123,4 +122,4 @@ isc_backtrace_getsymbol(const void *addr, const char **symbolp, */ ISC_LANG_ENDDECLS -#endif /* ISC_BACKTRACE_H */ +#endif /* ISC_BACKTRACE_H */ diff --git a/lib/isc/include/isc/base32.h b/lib/isc/include/isc/base32.h index 6ac9fcf21b..f20a8ccb65 100644 --- a/lib/isc/include/isc/base32.h +++ b/lib/isc/include/isc/base32.h @@ -34,8 +34,8 @@ ISC_LANG_BEGINDECLS ***/ isc_result_t -isc_base32_totext(isc_region_t *source, int wordlength, - const char *wordbreak, isc_buffer_t *target); +isc_base32_totext(isc_region_t *source, int wordlength, const char *wordbreak, + isc_buffer_t *target); isc_result_t isc_base32hex_totext(isc_region_t *source, int wordlength, const char *wordbreak, isc_buffer_t *target); diff --git a/lib/isc/include/isc/base64.h b/lib/isc/include/isc/base64.h index 108bdae02c..5dfcc57fed 100644 --- a/lib/isc/include/isc/base64.h +++ b/lib/isc/include/isc/base64.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_BASE64_H #define ISC_BASE64_H 1 @@ -25,8 +24,8 @@ ISC_LANG_BEGINDECLS ***/ isc_result_t -isc_base64_totext(isc_region_t *source, int wordlength, - const char *wordbreak, isc_buffer_t *target); +isc_base64_totext(isc_region_t *source, int wordlength, const char *wordbreak, + isc_buffer_t *target); /*!< * \brief Convert data into base64 encoded text. * diff --git a/lib/isc/include/isc/bind9.h b/lib/isc/include/isc/bind9.h index bb5474f2aa..a44d52b0f5 100644 --- a/lib/isc/include/isc/bind9.h +++ b/lib/isc/include/isc/bind9.h @@ -9,11 +9,11 @@ * information regarding copyright ownership. */ - #ifndef ISC_BIND9_H #define ISC_BIND9_H 1 #include + #include /* diff --git a/lib/isc/include/isc/buffer.h b/lib/isc/include/isc/buffer.h index 4da1cfc11a..fd5c9a9a7e 100644 --- a/lib/isc/include/isc/buffer.h +++ b/lib/isc/include/isc/buffer.h @@ -18,8 +18,8 @@ /*! \file isc/buffer.h * - * \brief A buffer is a region of memory, together with a set of related subregions. - * Buffers are used for parsing and I/O operations. + * \brief A buffer is a region of memory, together with a set of related + *subregions. Buffers are used for parsing and I/O operations. * * The 'used region' and the 'available' region are disjoint, and their * union is the buffer's region. The used region extends from the beginning @@ -121,8 +121,8 @@ ISC_LANG_BEGINDECLS /*! *** Magic numbers ***/ -#define ISC_BUFFER_MAGIC 0x42756621U /* Buf!. */ -#define ISC_BUFFER_VALID(b) ISC_MAGIC_VALID(b, ISC_BUFFER_MAGIC) +#define ISC_BUFFER_MAGIC 0x42756621U /* Buf!. */ +#define ISC_BUFFER_VALID(b) ISC_MAGIC_VALID(b, ISC_BUFFER_MAGIC) /*@}*/ /*! @@ -143,25 +143,25 @@ ISC_LANG_BEGINDECLS /*! * Fundamental buffer elements. (A through E in the introductory comment.) */ -#define isc_buffer_base(b) ((void *)(b)->base) /*a*/ +#define isc_buffer_base(b) ((void *)(b)->base) /*a*/ #define isc_buffer_current(b) \ - ((void *)((unsigned char *)(b)->base + (b)->current)) /*b*/ -#define isc_buffer_active(b) \ - ((void *)((unsigned char *)(b)->base + (b)->active)) /*c*/ -#define isc_buffer_used(b) \ - ((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/ -#define isc_buffer_length(b) ((b)->length) /*e*/ + ((void *)((unsigned char *)(b)->base + (b)->current)) /*b*/ +#define isc_buffer_active(b) \ + ((void *)((unsigned char *)(b)->base + (b)->active)) /*c*/ +#define isc_buffer_used(b) \ + ((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/ +#define isc_buffer_length(b) ((b)->length) /*e*/ /*@}*/ /*@{*/ /*! * Derived lengths. (Described in the introductory comment.) */ -#define isc_buffer_usedlength(b) ((b)->used) /* d-a */ -#define isc_buffer_consumedlength(b) ((b)->current) /* b-a */ -#define isc_buffer_remaininglength(b) ((b)->used - (b)->current) /* d-b */ -#define isc_buffer_activelength(b) ((b)->active - (b)->current) /* c-b */ -#define isc_buffer_availablelength(b) ((b)->length - (b)->used) /* e-d */ +#define isc_buffer_usedlength(b) ((b)->used) /* d-a */ +#define isc_buffer_consumedlength(b) ((b)->current) /* b-a */ +#define isc_buffer_remaininglength(b) ((b)->used - (b)->current) /* d-b */ +#define isc_buffer_activelength(b) ((b)->active - (b)->current) /* c-b */ +#define isc_buffer_availablelength(b) ((b)->length - (b)->used) /* e-d */ /*@}*/ /*! @@ -171,21 +171,21 @@ ISC_LANG_BEGINDECLS */ struct isc_buffer { - unsigned int magic; - void *base; + unsigned int magic; + void * base; /*@{*/ /*! The following integers are byte offsets from 'base'. */ - unsigned int length; - unsigned int used; - unsigned int current; - unsigned int active; + unsigned int length; + unsigned int used; + unsigned int current; + unsigned int active; /*@}*/ /*! linkable */ - ISC_LINK(isc_buffer_t) link; + ISC_LINK(isc_buffer_t) link; /*! private internal elements */ - isc_mem_t *mctx; + isc_mem_t *mctx; /* automatically realloc buffer at put* */ - bool autore; + bool autore; }; /*** @@ -525,8 +525,8 @@ isc__buffer_putuint8(isc_buffer_t *b, uint8_t val); uint16_t isc_buffer_getuint16(isc_buffer_t *b); /*!< - * \brief Read an unsigned 16-bit integer in network byte order from 'b', convert - * it to host byte order, and return it. + * \brief Read an unsigned 16-bit integer in network byte order from 'b', + *convert it to host byte order, and return it. * * Requires: * @@ -563,8 +563,8 @@ isc__buffer_putuint16(isc_buffer_t *b, uint16_t val); uint32_t isc_buffer_getuint32(isc_buffer_t *b); /*!< - * \brief Read an unsigned 32-bit integer in network byte order from 'b', convert - * it to host byte order, and return it. + * \brief Read an unsigned 32-bit integer in network byte order from 'b', + *convert it to host byte order, and return it. * * Requires: * @@ -688,8 +688,6 @@ isc_buffer_putdecint(isc_buffer_t *b, int64_t v); *\li strlen(dec(v)) <= isc_buffer_available(b) || b->mctx != NULL */ - - isc_result_t isc_buffer_copyregion(isc_buffer_t *b, const isc_region_t *r); /*!< @@ -781,271 +779,275 @@ ISC_LANG_ENDDECLS * true/false, they could at least assert a contractual requirement for * non-const buffers when needed. */ -#define ISC__BUFFER_INIT(_b, _base, _length) \ - do { \ - (_b)->base = _base; \ - (_b)->length = (_length); \ - (_b)->used = 0; \ - (_b)->current = 0; \ - (_b)->active = 0; \ - (_b)->mctx = NULL; \ - ISC_LINK_INIT(_b, link); \ +#define ISC__BUFFER_INIT(_b, _base, _length) \ + do { \ + (_b)->base = _base; \ + (_b)->length = (_length); \ + (_b)->used = 0; \ + (_b)->current = 0; \ + (_b)->active = 0; \ + (_b)->mctx = NULL; \ + ISC_LINK_INIT(_b, link); \ (_b)->magic = ISC_BUFFER_MAGIC; \ - (_b)->autore = false; \ + (_b)->autore = false; \ } while (0) #define ISC__BUFFER_INITNULL(_b) ISC__BUFFER_INIT(_b, NULL, 0) #define ISC__BUFFER_INVALIDATE(_b) \ - do { \ - (_b)->magic = 0; \ + do { \ + (_b)->magic = 0; \ (_b)->base = NULL; \ - (_b)->length = 0; \ - (_b)->used = 0; \ + (_b)->length = 0; \ + (_b)->used = 0; \ (_b)->current = 0; \ - (_b)->active = 0; \ + (_b)->active = 0; \ } while (0) -#define ISC__BUFFER_REGION(_b, _r) \ - do { \ - (_r)->base = (_b)->base; \ +#define ISC__BUFFER_REGION(_b, _r) \ + do { \ + (_r)->base = (_b)->base; \ (_r)->length = (_b)->length; \ } while (0) -#define ISC__BUFFER_USEDREGION(_b, _r) \ - do { \ - (_r)->base = (_b)->base; \ +#define ISC__BUFFER_USEDREGION(_b, _r) \ + do { \ + (_r)->base = (_b)->base; \ (_r)->length = (_b)->used; \ } while (0) -#define ISC__BUFFER_AVAILABLEREGION(_b, _r) \ - do { \ - (_r)->base = isc_buffer_used(_b); \ +#define ISC__BUFFER_AVAILABLEREGION(_b, _r) \ + do { \ + (_r)->base = isc_buffer_used(_b); \ (_r)->length = isc_buffer_availablelength(_b); \ } while (0) -#define ISC__BUFFER_ADD(_b, _n) \ - do { \ +#define ISC__BUFFER_ADD(_b, _n) \ + do { \ (_b)->used += (_n); \ } while (0) -#define ISC__BUFFER_SUBTRACT(_b, _n) \ - do { \ - (_b)->used -= (_n); \ - if ((_b)->current > (_b)->used) \ +#define ISC__BUFFER_SUBTRACT(_b, _n) \ + do { \ + (_b)->used -= (_n); \ + if ((_b)->current > (_b)->used) \ (_b)->current = (_b)->used; \ - if ((_b)->active > (_b)->used) \ - (_b)->active = (_b)->used; \ + if ((_b)->active > (_b)->used) \ + (_b)->active = (_b)->used; \ } while (0) -#define ISC__BUFFER_CLEAR(_b) \ - do { \ - (_b)->used = 0; \ +#define ISC__BUFFER_CLEAR(_b) \ + do { \ + (_b)->used = 0; \ (_b)->current = 0; \ - (_b)->active = 0; \ + (_b)->active = 0; \ } while (0) -#define ISC__BUFFER_CONSUMEDREGION(_b, _r) \ - do { \ - (_r)->base = (_b)->base; \ +#define ISC__BUFFER_CONSUMEDREGION(_b, _r) \ + do { \ + (_r)->base = (_b)->base; \ (_r)->length = (_b)->current; \ } while (0) -#define ISC__BUFFER_REMAININGREGION(_b, _r) \ - do { \ - (_r)->base = isc_buffer_current(_b); \ +#define ISC__BUFFER_REMAININGREGION(_b, _r) \ + do { \ + (_r)->base = isc_buffer_current(_b); \ (_r)->length = isc_buffer_remaininglength(_b); \ } while (0) -#define ISC__BUFFER_ACTIVEREGION(_b, _r) \ - do { \ - if ((_b)->current < (_b)->active) { \ - (_r)->base = isc_buffer_current(_b); \ +#define ISC__BUFFER_ACTIVEREGION(_b, _r) \ + do { \ + if ((_b)->current < (_b)->active) { \ + (_r)->base = isc_buffer_current(_b); \ (_r)->length = isc_buffer_activelength(_b); \ - } else { \ - (_r)->base = NULL; \ - (_r)->length = 0; \ - } \ + } else { \ + (_r)->base = NULL; \ + (_r)->length = 0; \ + } \ } while (0) -#define ISC__BUFFER_SETACTIVE(_b, _n) \ - do { \ +#define ISC__BUFFER_SETACTIVE(_b, _n) \ + do { \ (_b)->active = (_b)->current + (_n); \ } while (0) -#define ISC__BUFFER_FIRST(_b) \ - do { \ +#define ISC__BUFFER_FIRST(_b) \ + do { \ (_b)->current = 0; \ } while (0) -#define ISC__BUFFER_FORWARD(_b, _n) \ - do { \ +#define ISC__BUFFER_FORWARD(_b, _n) \ + do { \ (_b)->current += (_n); \ } while (0) -#define ISC__BUFFER_BACK(_b, _n) \ - do { \ +#define ISC__BUFFER_BACK(_b, _n) \ + do { \ (_b)->current -= (_n); \ } while (0) -#define ISC__BUFFER_PUTMEM(_b, _base, _length) \ - do { \ - if (ISC_UNLIKELY((_b)->autore)) { \ - isc_buffer_t *_tmp = _b; \ - ISC_REQUIRE(isc_buffer_reserve(&_tmp, _length) \ - == ISC_R_SUCCESS); \ - } \ - ISC_REQUIRE(isc_buffer_availablelength(_b) >= (unsigned int) _length); \ - if (_length > 0U) { \ +#define ISC__BUFFER_PUTMEM(_b, _base, _length) \ + do { \ + if (ISC_UNLIKELY((_b)->autore)) { \ + isc_buffer_t *_tmp = _b; \ + ISC_REQUIRE(isc_buffer_reserve(&_tmp, _length) == \ + ISC_R_SUCCESS); \ + } \ + ISC_REQUIRE(isc_buffer_availablelength(_b) >= \ + (unsigned int)_length); \ + if (_length > 0U) { \ memmove(isc_buffer_used(_b), (_base), (_length)); \ - (_b)->used += (_length); \ - } \ + (_b)->used += (_length); \ + } \ } while (0) -#define ISC__BUFFER_PUTSTR(_b, _source) \ - do { \ - unsigned int _length; \ - unsigned char *_cp; \ - _length = (unsigned int)strlen(_source); \ - if (ISC_UNLIKELY((_b)->autore)) { \ - isc_buffer_t *_tmp = _b; \ - ISC_REQUIRE(isc_buffer_reserve(&_tmp, _length) \ - == ISC_R_SUCCESS); \ - } \ - ISC_REQUIRE(isc_buffer_availablelength(_b) >= _length); \ - _cp = isc_buffer_used(_b); \ - memmove(_cp, (_source), _length); \ - (_b)->used += (_length); \ +#define ISC__BUFFER_PUTSTR(_b, _source) \ + do { \ + unsigned int _length; \ + unsigned char *_cp; \ + _length = (unsigned int)strlen(_source); \ + if (ISC_UNLIKELY((_b)->autore)) { \ + isc_buffer_t *_tmp = _b; \ + ISC_REQUIRE(isc_buffer_reserve(&_tmp, _length) == \ + ISC_R_SUCCESS); \ + } \ + ISC_REQUIRE(isc_buffer_availablelength(_b) >= _length); \ + _cp = isc_buffer_used(_b); \ + memmove(_cp, (_source), _length); \ + (_b)->used += (_length); \ } while (0) -#define ISC__BUFFER_PUTUINT8(_b, _val) \ - do { \ - unsigned char *_cp; \ - /* evaluate (_val) only once */ \ - uint8_t _val2 = (_val); \ - if (ISC_UNLIKELY((_b)->autore)) { \ - isc_buffer_t *_tmp = _b; \ - ISC_REQUIRE(isc_buffer_reserve(&_tmp, 1) \ - == ISC_R_SUCCESS); \ - } \ - ISC_REQUIRE(isc_buffer_availablelength(_b) >= 1U); \ - _cp = isc_buffer_used(_b); \ - (_b)->used++; \ - _cp[0] = _val2; \ +#define ISC__BUFFER_PUTUINT8(_b, _val) \ + do { \ + unsigned char *_cp; \ + /* evaluate (_val) only once */ \ + uint8_t _val2 = (_val); \ + if (ISC_UNLIKELY((_b)->autore)) { \ + isc_buffer_t *_tmp = _b; \ + ISC_REQUIRE(isc_buffer_reserve(&_tmp, 1) == \ + ISC_R_SUCCESS); \ + } \ + ISC_REQUIRE(isc_buffer_availablelength(_b) >= 1U); \ + _cp = isc_buffer_used(_b); \ + (_b)->used++; \ + _cp[0] = _val2; \ } while (0) -#define ISC__BUFFER_PUTUINT16(_b, _val) \ - do { \ - unsigned char *_cp; \ - /* evaluate (_val) only once */ \ - uint16_t _val2 = (_val); \ - if (ISC_UNLIKELY((_b)->autore)) { \ - isc_buffer_t *_tmp = _b; \ - ISC_REQUIRE(isc_buffer_reserve(&_tmp, 2) \ - == ISC_R_SUCCESS); \ - } \ - ISC_REQUIRE(isc_buffer_availablelength(_b) >= 2U); \ - _cp = isc_buffer_used(_b); \ - (_b)->used += 2; \ - _cp[0] = (unsigned char)(_val2 >> 8); \ - _cp[1] = (unsigned char)_val2; \ +#define ISC__BUFFER_PUTUINT16(_b, _val) \ + do { \ + unsigned char *_cp; \ + /* evaluate (_val) only once */ \ + uint16_t _val2 = (_val); \ + if (ISC_UNLIKELY((_b)->autore)) { \ + isc_buffer_t *_tmp = _b; \ + ISC_REQUIRE(isc_buffer_reserve(&_tmp, 2) == \ + ISC_R_SUCCESS); \ + } \ + ISC_REQUIRE(isc_buffer_availablelength(_b) >= 2U); \ + _cp = isc_buffer_used(_b); \ + (_b)->used += 2; \ + _cp[0] = (unsigned char)(_val2 >> 8); \ + _cp[1] = (unsigned char)_val2; \ } while (0) -#define ISC__BUFFER_PUTUINT24(_b, _val) \ - do { \ - unsigned char *_cp; \ - /* evaluate (_val) only once */ \ - uint32_t _val2 = (_val); \ - if (ISC_UNLIKELY((_b)->autore)) { \ - isc_buffer_t *_tmp = _b; \ - ISC_REQUIRE(isc_buffer_reserve(&_tmp, 3) \ - == ISC_R_SUCCESS); \ - } \ - ISC_REQUIRE(isc_buffer_availablelength(_b) >= 3U); \ - _cp = isc_buffer_used(_b); \ - (_b)->used += 3; \ - _cp[0] = (unsigned char)(_val2 >> 16); \ - _cp[1] = (unsigned char)(_val2 >> 8); \ - _cp[2] = (unsigned char)_val2; \ +#define ISC__BUFFER_PUTUINT24(_b, _val) \ + do { \ + unsigned char *_cp; \ + /* evaluate (_val) only once */ \ + uint32_t _val2 = (_val); \ + if (ISC_UNLIKELY((_b)->autore)) { \ + isc_buffer_t *_tmp = _b; \ + ISC_REQUIRE(isc_buffer_reserve(&_tmp, 3) == \ + ISC_R_SUCCESS); \ + } \ + ISC_REQUIRE(isc_buffer_availablelength(_b) >= 3U); \ + _cp = isc_buffer_used(_b); \ + (_b)->used += 3; \ + _cp[0] = (unsigned char)(_val2 >> 16); \ + _cp[1] = (unsigned char)(_val2 >> 8); \ + _cp[2] = (unsigned char)_val2; \ } while (0) -#define ISC__BUFFER_PUTUINT32(_b, _val) \ - do { \ - unsigned char *_cp; \ - /* evaluate (_val) only once */ \ - uint32_t _val2 = (_val); \ - if (ISC_UNLIKELY((_b)->autore)) { \ - isc_buffer_t *_tmp = _b; \ - ISC_REQUIRE(isc_buffer_reserve(&_tmp, 4) \ - == ISC_R_SUCCESS); \ - } \ - ISC_REQUIRE(isc_buffer_availablelength(_b) >= 4U); \ - _cp = isc_buffer_used(_b); \ - (_b)->used += 4; \ - _cp[0] = (unsigned char)(_val2 >> 24); \ - _cp[1] = (unsigned char)(_val2 >> 16); \ - _cp[2] = (unsigned char)(_val2 >> 8); \ - _cp[3] = (unsigned char)_val2; \ +#define ISC__BUFFER_PUTUINT32(_b, _val) \ + do { \ + unsigned char *_cp; \ + /* evaluate (_val) only once */ \ + uint32_t _val2 = (_val); \ + if (ISC_UNLIKELY((_b)->autore)) { \ + isc_buffer_t *_tmp = _b; \ + ISC_REQUIRE(isc_buffer_reserve(&_tmp, 4) == \ + ISC_R_SUCCESS); \ + } \ + ISC_REQUIRE(isc_buffer_availablelength(_b) >= 4U); \ + _cp = isc_buffer_used(_b); \ + (_b)->used += 4; \ + _cp[0] = (unsigned char)(_val2 >> 24); \ + _cp[1] = (unsigned char)(_val2 >> 16); \ + _cp[2] = (unsigned char)(_val2 >> 8); \ + _cp[3] = (unsigned char)_val2; \ } while (0) #if defined(ISC_BUFFER_USEINLINE) -#define isc_buffer_init ISC__BUFFER_INIT -#define isc_buffer_initnull ISC__BUFFER_INITNULL -#define isc_buffer_invalidate ISC__BUFFER_INVALIDATE -#define isc_buffer_region ISC__BUFFER_REGION -#define isc_buffer_usedregion ISC__BUFFER_USEDREGION -#define isc_buffer_availableregion ISC__BUFFER_AVAILABLEREGION -#define isc_buffer_add ISC__BUFFER_ADD -#define isc_buffer_subtract ISC__BUFFER_SUBTRACT -#define isc_buffer_clear ISC__BUFFER_CLEAR -#define isc_buffer_consumedregion ISC__BUFFER_CONSUMEDREGION -#define isc_buffer_remainingregion ISC__BUFFER_REMAININGREGION -#define isc_buffer_activeregion ISC__BUFFER_ACTIVEREGION -#define isc_buffer_setactive ISC__BUFFER_SETACTIVE -#define isc_buffer_first ISC__BUFFER_FIRST -#define isc_buffer_forward ISC__BUFFER_FORWARD -#define isc_buffer_back ISC__BUFFER_BACK -#define isc_buffer_putmem ISC__BUFFER_PUTMEM -#define isc_buffer_putstr ISC__BUFFER_PUTSTR -#define isc_buffer_putuint8 ISC__BUFFER_PUTUINT8 -#define isc_buffer_putuint16 ISC__BUFFER_PUTUINT16 -#define isc_buffer_putuint24 ISC__BUFFER_PUTUINT24 -#define isc_buffer_putuint32 ISC__BUFFER_PUTUINT32 +#define isc_buffer_init ISC__BUFFER_INIT +#define isc_buffer_initnull ISC__BUFFER_INITNULL +#define isc_buffer_invalidate ISC__BUFFER_INVALIDATE +#define isc_buffer_region ISC__BUFFER_REGION +#define isc_buffer_usedregion ISC__BUFFER_USEDREGION +#define isc_buffer_availableregion ISC__BUFFER_AVAILABLEREGION +#define isc_buffer_add ISC__BUFFER_ADD +#define isc_buffer_subtract ISC__BUFFER_SUBTRACT +#define isc_buffer_clear ISC__BUFFER_CLEAR +#define isc_buffer_consumedregion ISC__BUFFER_CONSUMEDREGION +#define isc_buffer_remainingregion ISC__BUFFER_REMAININGREGION +#define isc_buffer_activeregion ISC__BUFFER_ACTIVEREGION +#define isc_buffer_setactive ISC__BUFFER_SETACTIVE +#define isc_buffer_first ISC__BUFFER_FIRST +#define isc_buffer_forward ISC__BUFFER_FORWARD +#define isc_buffer_back ISC__BUFFER_BACK +#define isc_buffer_putmem ISC__BUFFER_PUTMEM +#define isc_buffer_putstr ISC__BUFFER_PUTSTR +#define isc_buffer_putuint8 ISC__BUFFER_PUTUINT8 +#define isc_buffer_putuint16 ISC__BUFFER_PUTUINT16 +#define isc_buffer_putuint24 ISC__BUFFER_PUTUINT24 +#define isc_buffer_putuint32 ISC__BUFFER_PUTUINT32 #else -#define isc_buffer_init isc__buffer_init -#define isc_buffer_initnull isc__buffer_initnull -#define isc_buffer_invalidate isc__buffer_invalidate -#define isc_buffer_region isc__buffer_region -#define isc_buffer_usedregion isc__buffer_usedregion -#define isc_buffer_availableregion isc__buffer_availableregion -#define isc_buffer_add isc__buffer_add -#define isc_buffer_subtract isc__buffer_subtract -#define isc_buffer_clear isc__buffer_clear -#define isc_buffer_consumedregion isc__buffer_consumedregion -#define isc_buffer_remainingregion isc__buffer_remainingregion -#define isc_buffer_activeregion isc__buffer_activeregion -#define isc_buffer_setactive isc__buffer_setactive -#define isc_buffer_first isc__buffer_first -#define isc_buffer_forward isc__buffer_forward -#define isc_buffer_back isc__buffer_back -#define isc_buffer_putmem isc__buffer_putmem -#define isc_buffer_putstr isc__buffer_putstr -#define isc_buffer_putuint8 isc__buffer_putuint8 -#define isc_buffer_putuint16 isc__buffer_putuint16 -#define isc_buffer_putuint24 isc__buffer_putuint24 -#define isc_buffer_putuint32 isc__buffer_putuint32 +#define isc_buffer_init isc__buffer_init +#define isc_buffer_initnull isc__buffer_initnull +#define isc_buffer_invalidate isc__buffer_invalidate +#define isc_buffer_region isc__buffer_region +#define isc_buffer_usedregion isc__buffer_usedregion +#define isc_buffer_availableregion isc__buffer_availableregion +#define isc_buffer_add isc__buffer_add +#define isc_buffer_subtract isc__buffer_subtract +#define isc_buffer_clear isc__buffer_clear +#define isc_buffer_consumedregion isc__buffer_consumedregion +#define isc_buffer_remainingregion isc__buffer_remainingregion +#define isc_buffer_activeregion isc__buffer_activeregion +#define isc_buffer_setactive isc__buffer_setactive +#define isc_buffer_first isc__buffer_first +#define isc_buffer_forward isc__buffer_forward +#define isc_buffer_back isc__buffer_back +#define isc_buffer_putmem isc__buffer_putmem +#define isc_buffer_putstr isc__buffer_putstr +#define isc_buffer_putuint8 isc__buffer_putuint8 +#define isc_buffer_putuint16 isc__buffer_putuint16 +#define isc_buffer_putuint24 isc__buffer_putuint24 +#define isc_buffer_putuint32 isc__buffer_putuint32 #endif -#define isc_buffer_constinit(_b, _d, _l) \ - do { \ - union { void *_var; const void *_const; } _deconst; \ - _deconst._const = (_d); \ +#define isc_buffer_constinit(_b, _d, _l) \ + do { \ + union { \ + void * _var; \ + const void *_const; \ + } _deconst; \ + _deconst._const = (_d); \ isc_buffer_init((_b), _deconst._var, (_l)); \ } while (0) /* * No inline method for this one (yet). */ -#define isc_buffer_putuint48 isc__buffer_putuint48 +#define isc_buffer_putuint48 isc__buffer_putuint48 #endif /* ISC_BUFFER_H */ diff --git a/lib/isc/include/isc/bufferlist.h b/lib/isc/include/isc/bufferlist.h index ffb4986f89..f245cb5deb 100644 --- a/lib/isc/include/isc/bufferlist.h +++ b/lib/isc/include/isc/bufferlist.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_BUFFERLIST_H #define ISC_BUFFERLIST_H 1 @@ -20,8 +19,8 @@ /*! \file isc/bufferlist.h * * - *\brief Buffer lists have no synchronization. Clients must ensure exclusive - * access. + *\brief Buffer lists have no synchronization. Clients must ensure + exclusive * access. * * \li Reliability: * No anticipated impact. @@ -63,8 +62,8 @@ isc_bufferlist_usedcount(isc_bufferlist_t *bl); unsigned int isc_bufferlist_availablecount(isc_bufferlist_t *bl); /*!< - * \brief Return the length of the sum of all available regions of all buffers in - * the buffer list 'bl' + * \brief Return the length of the sum of all available regions of all buffers + *in the buffer list 'bl' * * Requires: * diff --git a/lib/isc/include/isc/commandline.h b/lib/isc/include/isc/commandline.h index a1a256ed25..b0075c6c47 100644 --- a/lib/isc/include/isc/commandline.h +++ b/lib/isc/include/isc/commandline.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_COMMANDLINE_H #define ISC_COMMANDLINE_H 1 @@ -37,7 +36,7 @@ LIBISC_EXTERNAL_DATA extern bool isc_commandline_reset; ISC_LANG_BEGINDECLS int -isc_commandline_parse(int argc, char * const *argv, const char *options); +isc_commandline_parse(int argc, char *const *argv, const char *options); /*%< * Parse a command line (similar to getopt()) */ diff --git a/lib/isc/include/isc/deprecated.h b/lib/isc/include/isc/deprecated.h index d485e20caf..8d825cc0a2 100644 --- a/lib/isc/include/isc/deprecated.h +++ b/lib/isc/include/isc/deprecated.h @@ -9,14 +9,13 @@ * information regarding copyright ownership. */ - #ifndef ISC_DEPRECATED_H #define ISC_DEPRECATED_H #if (__GNUC__ + 0) > 3 -#define ISC_DEPRECATED __attribute__((deprecated)) +#define ISC_DEPRECATED __attribute__((deprecated)) #else -#define ISC_DEPRECATED /* none */ -#endif /* __GNUC__ > 3*/ +#define ISC_DEPRECATED /* none */ +#endif /* __GNUC__ > 3*/ #endif diff --git a/lib/isc/include/isc/endian.h b/lib/isc/include/isc/endian.h index 54421d55d4..fd944ddbb8 100644 --- a/lib/isc/include/isc/endian.h +++ b/lib/isc/include/isc/endian.h @@ -11,24 +11,24 @@ #pragma once -#if defined(__DragonFly__) || defined(__FreeBSD__) || \ - defined(__NetBSD__) || defined (__OpenBSD__) || defined(__bsdi__) +#if defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \ + defined(__OpenBSD__) || defined(__bsdi__) -# include +#include /* * Recent BSDs should have [bl]e{16,32,64}toh() defined in . * Older ones might not, but these should have the alternatively named * [bl]etoh{16,32,64}() functions defined. */ -# ifndef be16toh -# define be16toh(x) betoh16(x) -# define le16toh(x) letoh16(x) -# define be32toh(x) betoh32(x) -# define le32toh(x) letoh32(x) -# define be64toh(x) betoh64(x) -# define le64toh(x) letoh64(x) -# endif /* !be16toh */ +#ifndef be16toh +#define be16toh(x) betoh16(x) +#define le16toh(x) letoh16(x) +#define be32toh(x) betoh32(x) +#define le32toh(x) letoh32(x) +#define be64toh(x) betoh64(x) +#define le64toh(x) letoh64(x) +#endif /* !be16toh */ #elif defined(_WIN32) @@ -37,22 +37,22 @@ * use these. */ -# include +#include -# define htobe16(x) _byteswap_ushort(x) -# define htole16(x) (x) -# define be16toh(x) _byteswap_ushort(x) -# define le16toh(x) (x) +#define htobe16(x) _byteswap_ushort(x) +#define htole16(x) (x) +#define be16toh(x) _byteswap_ushort(x) +#define le16toh(x) (x) -# define htobe32(x) _byteswap_ulong(x) -# define htole32(x) (x) -# define be32toh(x) _byteswap_ulong(x) -# define le32toh(x) (x) +#define htobe32(x) _byteswap_ulong(x) +#define htole32(x) (x) +#define be32toh(x) _byteswap_ulong(x) +#define le32toh(x) (x) -# define htobe64(x) _byteswap_uint64(x) -# define htole64(x) (x) -# define be64toh(x) _byteswap_uint64(x) -# define le64toh(x) (x) +#define htobe64(x) _byteswap_uint64(x) +#define htole64(x) (x) +#define be64toh(x) _byteswap_uint64(x) +#define le64toh(x) (x) #elif defined __APPLE__ @@ -60,22 +60,22 @@ * macOS has its own byte-swapping routines, so use these. */ -# include +#include -# define htobe16(x) OSSwapHostToBigInt16(x) -# define htole16(x) OSSwapHostToLittleInt16(x) -# define be16toh(x) OSSwapBigToHostInt16(x) -# define le16toh(x) OSSwapLittleToHostInt16(x) +#define htobe16(x) OSSwapHostToBigInt16(x) +#define htole16(x) OSSwapHostToLittleInt16(x) +#define be16toh(x) OSSwapBigToHostInt16(x) +#define le16toh(x) OSSwapLittleToHostInt16(x) -# define htobe32(x) OSSwapHostToBigInt32(x) -# define htole32(x) OSSwapHostToLittleInt32(x) -# define be32toh(x) OSSwapBigToHostInt32(x) -# define le32toh(x) OSSwapLittleToHostInt32(x) +#define htobe32(x) OSSwapHostToBigInt32(x) +#define htole32(x) OSSwapHostToLittleInt32(x) +#define be32toh(x) OSSwapBigToHostInt32(x) +#define le32toh(x) OSSwapLittleToHostInt32(x) -# define htobe64(x) OSSwapHostToBigInt64(x) -# define htole64(x) OSSwapHostToLittleInt64(x) -# define be64toh(x) OSSwapBigToHostInt64(x) -# define le64toh(x) OSSwapLittleToHostInt64(x) +#define htobe64(x) OSSwapHostToBigInt64(x) +#define htole64(x) OSSwapHostToLittleInt64(x) +#define be64toh(x) OSSwapBigToHostInt64(x) +#define le64toh(x) OSSwapLittleToHostInt64(x) #elif defined(sun) || defined(__sun) || defined(__SVR4) @@ -84,17 +84,17 @@ * Solaris-specific versions of bswap_{16,32,64}(). */ -# include +#include -# define bswap_16(x) BSWAP_16(x) -# define bswap_32(x) BSWAP_32(x) -# define bswap_64(x) BSWAP_64(x) +#define bswap_16(x) BSWAP_16(x) +#define bswap_32(x) BSWAP_32(x) +#define bswap_64(x) BSWAP_64(x) -#elif defined(__ANDROID__) || defined(__CYGWIN__) || \ - defined(__GNUC__) || defined(__GNU__) +#elif defined(__ANDROID__) || defined(__CYGWIN__) || defined(__GNUC__) || \ + defined(__GNU__) -# include -# include +#include +#include #else @@ -107,81 +107,81 @@ #include #ifndef bswap_16 -# define bswap_16(x) \ - ((uint16_t)((((uint16_t) (x) & 0xff00) >> 8) | \ - (((uint16_t) (x) & 0x00ff) << 8))) +#define bswap_16(x) \ + ((uint16_t)((((uint16_t)(x)&0xff00) >> 8) | \ + (((uint16_t)(x)&0x00ff) << 8))) #endif /* !bswap_16 */ #ifndef bswap_32 -# define bswap_32(x) \ - ((uint32_t)((((uint32_t) (x) & 0xff000000) >> 24) | \ - (((uint32_t) (x) & 0x00ff0000) >> 8) | \ - (((uint32_t) (x) & 0x0000ff00) << 8) | \ - (((uint32_t) (x) & 0x000000ff) << 24))) +#define bswap_32(x) \ + ((uint32_t)((((uint32_t)(x)&0xff000000) >> 24) | \ + (((uint32_t)(x)&0x00ff0000) >> 8) | \ + (((uint32_t)(x)&0x0000ff00) << 8) | \ + (((uint32_t)(x)&0x000000ff) << 24))) #endif /* !bswap_32 */ #ifndef bswap_64 -# define bswap_64(x) \ - ((uint64_t)((((uint64_t) (x) & 0xff00000000000000ULL) >> 56) | \ - (((uint64_t) (x) & 0x00ff000000000000ULL) >> 40) | \ - (((uint64_t) (x) & 0x0000ff0000000000ULL) >> 24) | \ - (((uint64_t) (x) & 0x000000ff00000000ULL) >> 8) | \ - (((uint64_t) (x) & 0x00000000ff000000ULL) << 8) | \ - (((uint64_t) (x) & 0x0000000000ff0000ULL) << 24) | \ - (((uint64_t) (x) & 0x000000000000ff00ULL) << 40) | \ - (((uint64_t) (x) & 0x00000000000000ffULL) << 56))) +#define bswap_64(x) \ + ((uint64_t)((((uint64_t)(x)&0xff00000000000000ULL) >> 56) | \ + (((uint64_t)(x)&0x00ff000000000000ULL) >> 40) | \ + (((uint64_t)(x)&0x0000ff0000000000ULL) >> 24) | \ + (((uint64_t)(x)&0x000000ff00000000ULL) >> 8) | \ + (((uint64_t)(x)&0x00000000ff000000ULL) << 8) | \ + (((uint64_t)(x)&0x0000000000ff0000ULL) << 24) | \ + (((uint64_t)(x)&0x000000000000ff00ULL) << 40) | \ + (((uint64_t)(x)&0x00000000000000ffULL) << 56))) #endif /* !bswap_64 */ #ifndef htobe16 -# if WORDS_BIGENDIAN +#if WORDS_BIGENDIAN -# define htobe16(x) (x) -# define htole16(x) bswap_16(x) -# define be16toh(x) (x) -# define le16toh(x) bswap_16(x) - -# else /* WORDS_BIGENDIAN */ - -# define htobe16(x) bswap_16(x) -# define htole16(x) (x) -# define be16toh(x) bswap_16(x) -# define le16toh(x) (x) - -# endif /* WORDS_BIGENDIAN */ -#endif /* !htobe16 */ - -#ifndef htobe32 -# if WORDS_BIGENDIAN - -# define htobe32(x) (x) -# define htole32(x) bswap_32(x) -# define be32toh(x) (x) -# define le32toh(x) bswap_32(x) - -# else /* WORDS_BIGENDIAN */ - -# define htobe32(x) bswap_32(x) -# define htole32(x) (x) -# define be32toh(x) bswap_32(x) -# define le32toh(x) (x) - -# endif /* WORDS_BIGENDIAN */ -#endif /* !htobe32 */ - -#ifndef htobe64 -# if WORDS_BIGENDIAN - -# define htobe64(x) (x) -# define htole64(x) bswap_64(x) -# define be64toh(x) (x) -# define le64toh(x) bswap_64(x) +#define htobe16(x) (x) +#define htole16(x) bswap_16(x) +#define be16toh(x) (x) +#define le16toh(x) bswap_16(x) #else /* WORDS_BIGENDIAN */ -# define htobe64(x) bswap_64(x) -# define htole64(x) (x) -# define be64toh(x) bswap_64(x) -# define le64toh(x) (x) +#define htobe16(x) bswap_16(x) +#define htole16(x) (x) +#define be16toh(x) bswap_16(x) +#define le16toh(x) (x) -# endif /* WORDS_BIGENDIAN */ +#endif /* WORDS_BIGENDIAN */ +#endif /* !htobe16 */ + +#ifndef htobe32 +#if WORDS_BIGENDIAN + +#define htobe32(x) (x) +#define htole32(x) bswap_32(x) +#define be32toh(x) (x) +#define le32toh(x) bswap_32(x) + +#else /* WORDS_BIGENDIAN */ + +#define htobe32(x) bswap_32(x) +#define htole32(x) (x) +#define be32toh(x) bswap_32(x) +#define le32toh(x) (x) + +#endif /* WORDS_BIGENDIAN */ +#endif /* !htobe32 */ + +#ifndef htobe64 +#if WORDS_BIGENDIAN + +#define htobe64(x) (x) +#define htole64(x) bswap_64(x) +#define be64toh(x) (x) +#define le64toh(x) bswap_64(x) + +#else /* WORDS_BIGENDIAN */ + +#define htobe64(x) bswap_64(x) +#define htole64(x) (x) +#define be64toh(x) bswap_64(x) +#define le64toh(x) (x) + +#endif /* WORDS_BIGENDIAN */ #endif /* !htobe64 */ diff --git a/lib/isc/include/isc/error.h b/lib/isc/include/isc/error.h index 87bb6baede..316fea41fb 100644 --- a/lib/isc/include/isc/error.h +++ b/lib/isc/include/isc/error.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_ERROR_H #define ISC_ERROR_H 1 @@ -27,30 +26,29 @@ ISC_LANG_BEGINDECLS typedef void (*isc_errorcallback_t)(const char *, int, const char *, va_list); /*% set unexpected error */ -void -isc_error_setunexpected(isc_errorcallback_t); +void isc_error_setunexpected(isc_errorcallback_t); /*% set fatal error */ -void -isc_error_setfatal(isc_errorcallback_t); +void isc_error_setfatal(isc_errorcallback_t); /*% unexpected error */ void isc_error_unexpected(const char *, int, const char *, ...) - ISC_FORMAT_PRINTF(3, 4); + ISC_FORMAT_PRINTF(3, 4); /*% fatal error */ ISC_PLATFORM_NORETURN_PRE void isc_error_fatal(const char *, int, const char *, ...) -ISC_FORMAT_PRINTF(3, 4) ISC_PLATFORM_NORETURN_POST; + ISC_FORMAT_PRINTF(3, 4) ISC_PLATFORM_NORETURN_POST; /*% runtimecheck error */ ISC_PLATFORM_NORETURN_PRE void -isc_error_runtimecheck(const char *, int, const char *) ISC_PLATFORM_NORETURN_POST; +isc_error_runtimecheck(const char *, int, + const char *) ISC_PLATFORM_NORETURN_POST; #define ISC_ERROR_RUNTIMECHECK(cond) \ - ((void) (ISC_LIKELY(cond) || \ - ((isc_error_runtimecheck)(__FILE__, __LINE__, #cond), 0))) + ((void)(ISC_LIKELY(cond) || \ + ((isc_error_runtimecheck)(__FILE__, __LINE__, #cond), 0))) ISC_LANG_ENDDECLS diff --git a/lib/isc/include/isc/event.h b/lib/isc/include/isc/event.h index 99d867cd5a..a30f6d4e3e 100644 --- a/lib/isc/include/isc/event.h +++ b/lib/isc/include/isc/event.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_EVENT_H #define ISC_EVENT_H 1 @@ -24,25 +23,25 @@ typedef void (*isc_eventdestructor_t)(isc_event_t *); -#define ISC_EVENT_COMMON(ltype) \ - size_t ev_size; \ - unsigned int ev_attributes; \ - void * ev_tag; \ - isc_eventtype_t ev_type; \ - isc_taskaction_t ev_action; \ - void * ev_arg; \ - void * ev_sender; \ - isc_eventdestructor_t ev_destroy; \ - void * ev_destroy_arg; \ - ISC_LINK(ltype) ev_link; \ - ISC_LINK(ltype) ev_ratelink +#define ISC_EVENT_COMMON(ltype) \ + size_t ev_size; \ + unsigned int ev_attributes; \ + void * ev_tag; \ + isc_eventtype_t ev_type; \ + isc_taskaction_t ev_action; \ + void * ev_arg; \ + void * ev_sender; \ + isc_eventdestructor_t ev_destroy; \ + void * ev_destroy_arg; \ + ISC_LINK(ltype) ev_link; \ + ISC_LINK(ltype) ev_ratelink /*% * Attributes matching a mask of 0x000000ff are reserved for the task library's * definition. Attributes of 0xffffff00 may be used by the application * or non-ISC libraries. */ -#define ISC_EVENTATTR_NOPURGE 0x00000001 +#define ISC_EVENTATTR_NOPURGE 0x00000001 /*% * The ISC_EVENTATTR_CANCELED attribute is intended to indicate @@ -51,22 +50,22 @@ typedef void (*isc_eventdestructor_t)(isc_event_t *); * between the sender and receiver. It is not set or used by * the task system. */ -#define ISC_EVENTATTR_CANCELED 0x00000002 +#define ISC_EVENTATTR_CANCELED 0x00000002 #define ISC_EVENT_INIT(event, sz, at, ta, ty, ac, ar, sn, df, da) \ -do { \ - (event)->ev_size = (sz); \ - (event)->ev_attributes = (at); \ - (event)->ev_tag = (ta); \ - (event)->ev_type = (ty); \ - (event)->ev_action = (ac); \ - (event)->ev_arg = (ar); \ - (event)->ev_sender = (sn); \ - (event)->ev_destroy = (df); \ - (event)->ev_destroy_arg = (da); \ - ISC_LINK_INIT((event), ev_link); \ - ISC_LINK_INIT((event), ev_ratelink); \ -} while (0) + do { \ + (event)->ev_size = (sz); \ + (event)->ev_attributes = (at); \ + (event)->ev_tag = (ta); \ + (event)->ev_type = (ty); \ + (event)->ev_action = (ac); \ + (event)->ev_arg = (ar); \ + (event)->ev_sender = (sn); \ + (event)->ev_destroy = (df); \ + (event)->ev_destroy_arg = (da); \ + ISC_LINK_INIT((event), ev_link); \ + ISC_LINK_INIT((event), ev_ratelink); \ + } while (0) /*% * This structure is public because "subclassing" it may be useful when @@ -76,8 +75,8 @@ struct isc_event { ISC_EVENT_COMMON(struct isc_event); }; -#define ISC_EVENTTYPE_FIRSTEVENT 0x00000000 -#define ISC_EVENTTYPE_LASTEVENT 0xffffffff +#define ISC_EVENTTYPE_FIRSTEVENT 0x00000000 +#define ISC_EVENTTYPE_LASTEVENT 0xffffffff #define ISC_EVENT_PTR(p) ((isc_event_t **)(void *)(p)) diff --git a/lib/isc/include/isc/eventclass.h b/lib/isc/include/isc/eventclass.h index 905181e0e6..8a9a2716bc 100644 --- a/lib/isc/include/isc/eventclass.h +++ b/lib/isc/include/isc/eventclass.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_EVENTCLASS_H #define ISC_EVENTCLASS_H 1 @@ -24,7 +23,7 @@ * */ -#define ISC_EVENTCLASS(eclass) ((eclass) << 16) +#define ISC_EVENTCLASS(eclass) ((eclass) << 16) /*@{*/ /*! @@ -32,16 +31,16 @@ * Event classes >= 1024 and <= 65535 are reserved for application use. */ -#define ISC_EVENTCLASS_TASK ISC_EVENTCLASS(0) -#define ISC_EVENTCLASS_TIMER ISC_EVENTCLASS(1) -#define ISC_EVENTCLASS_SOCKET ISC_EVENTCLASS(2) -#define ISC_EVENTCLASS_FILE ISC_EVENTCLASS(3) -#define ISC_EVENTCLASS_DNS ISC_EVENTCLASS(4) -#define ISC_EVENTCLASS_APP ISC_EVENTCLASS(5) -#define ISC_EVENTCLASS_OMAPI ISC_EVENTCLASS(6) -#define ISC_EVENTCLASS_RATELIMITER ISC_EVENTCLASS(7) -#define ISC_EVENTCLASS_ISCCC ISC_EVENTCLASS(8) -#define ISC_EVENTCLASS_NS ISC_EVENTCLASS(9) +#define ISC_EVENTCLASS_TASK ISC_EVENTCLASS(0) +#define ISC_EVENTCLASS_TIMER ISC_EVENTCLASS(1) +#define ISC_EVENTCLASS_SOCKET ISC_EVENTCLASS(2) +#define ISC_EVENTCLASS_FILE ISC_EVENTCLASS(3) +#define ISC_EVENTCLASS_DNS ISC_EVENTCLASS(4) +#define ISC_EVENTCLASS_APP ISC_EVENTCLASS(5) +#define ISC_EVENTCLASS_OMAPI ISC_EVENTCLASS(6) +#define ISC_EVENTCLASS_RATELIMITER ISC_EVENTCLASS(7) +#define ISC_EVENTCLASS_ISCCC ISC_EVENTCLASS(8) +#define ISC_EVENTCLASS_NS ISC_EVENTCLASS(9) /*@}*/ #endif /* ISC_EVENTCLASS_H */ diff --git a/lib/isc/include/isc/file.h b/lib/isc/include/isc/file.h index 0797f027bc..6a63fdea3e 100644 --- a/lib/isc/include/isc/file.h +++ b/lib/isc/include/isc/file.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_FILE_H #define ISC_FILE_H 1 @@ -66,7 +65,8 @@ isc_file_getmodtime(const char *file, isc_time_t *time); isc_result_t isc_file_mktemplate(const char *path, char *buf, size_t buflen); /*!< - * \brief Generate a template string suitable for use with isc_file_openunique(). + * \brief Generate a template string suitable for use with + *isc_file_openunique(). * * Notes: *\li This function is intended to make creating temporary files @@ -179,9 +179,9 @@ isc_file_rename(const char *oldname, const char *newname); bool isc_file_exists(const char *pathname); /*!< - * \brief Return #true if the calling process can tell that the given file exists. - * Will not return true if the calling process has insufficient privileges - * to search the entire path. + * \brief Return #true if the calling process can tell that the given file + * exists. Will not return true if the calling process has insufficient + * privileges to search the entire path. */ bool @@ -308,8 +308,8 @@ isc_file_safecreate(const char *filename, FILE **fp); */ isc_result_t -isc_file_splitpath(isc_mem_t *mctx, const char *path, - char **dirname, char const **basename); +isc_file_splitpath(isc_mem_t *mctx, const char *path, char **dirname, + char const **basename); /*%< * Split a path into dirname and basename. If 'path' contains no slash * (or, on windows, backslash), then '*dirname' is set to ".". @@ -343,8 +343,8 @@ isc_file_getsizefd(int fd, off_t *size); */ void * -isc_file_mmap(void *addr, size_t len, int prot, - int flags, int fd, off_t offset); +isc_file_mmap(void *addr, size_t len, int prot, int flags, int fd, + off_t offset); /*%< * Portable front-end to mmap(). If mmap() is not defined on this * platform, then we simulate it by calling malloc() and read(). diff --git a/lib/isc/include/isc/formatcheck.h b/lib/isc/include/isc/formatcheck.h index 162c16e3c1..892c3ccfd3 100644 --- a/lib/isc/include/isc/formatcheck.h +++ b/lib/isc/include/isc/formatcheck.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_FORMATCHECK_H #define ISC_FORMATCHECK_H 1 @@ -19,13 +18,15 @@ * ISC_FORMAT_PRINTF(). * * \li fmt is the location of the format string parameter. - * \li args is the location of the first argument (or 0 for no argument checking). + * \li args is the location of the first argument (or 0 for no argument + * checking). * * Note: * \li The first parameter is 1, not 0. */ #ifdef __GNUC__ -#define ISC_FORMAT_PRINTF(fmt, args) __attribute__((__format__(__printf__, fmt, args))) +#define ISC_FORMAT_PRINTF(fmt, args) \ + __attribute__((__format__(__printf__, fmt, args))) #else #define ISC_FORMAT_PRINTF(fmt, args) #endif diff --git a/lib/isc/include/isc/fsaccess.h b/lib/isc/include/isc/fsaccess.h index d842aaf11a..610fb6a211 100644 --- a/lib/isc/include/isc/fsaccess.h +++ b/lib/isc/include/isc/fsaccess.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_FSACCESS_H #define ISC_FSACCESS_H 1 @@ -131,21 +130,21 @@ /* * Trustees. */ -#define ISC_FSACCESS_OWNER 0x1 /*%< User account. */ -#define ISC_FSACCESS_GROUP 0x2 /*%< Primary group owner. */ -#define ISC_FSACCESS_OTHER 0x4 /*%< Not the owner or the group owner. */ -#define ISC_FSACCESS_WORLD 0x7 /*%< User, Group, Other. */ +#define ISC_FSACCESS_OWNER 0x1 /*%< User account. */ +#define ISC_FSACCESS_GROUP 0x2 /*%< Primary group owner. */ +#define ISC_FSACCESS_OTHER 0x4 /*%< Not the owner or the group owner. */ +#define ISC_FSACCESS_WORLD 0x7 /*%< User, Group, Other. */ /* * Types of permission. */ -#define ISC_FSACCESS_READ 0x00000001 /*%< File only. */ -#define ISC_FSACCESS_WRITE 0x00000002 /*%< File only. */ -#define ISC_FSACCESS_EXECUTE 0x00000004 /*%< File only. */ -#define ISC_FSACCESS_CREATECHILD 0x00000008 /*%< Dir only. */ -#define ISC_FSACCESS_DELETECHILD 0x00000010 /*%< Dir only. */ -#define ISC_FSACCESS_LISTDIRECTORY 0x00000020 /*%< Dir only. */ -#define ISC_FSACCESS_ACCESSCHILD 0x00000040 /*%< Dir only. */ +#define ISC_FSACCESS_READ 0x00000001 /*%< File only. */ +#define ISC_FSACCESS_WRITE 0x00000002 /*%< File only. */ +#define ISC_FSACCESS_EXECUTE 0x00000004 /*%< File only. */ +#define ISC_FSACCESS_CREATECHILD 0x00000008 /*%< Dir only. */ +#define ISC_FSACCESS_DELETECHILD 0x00000010 /*%< Dir only. */ +#define ISC_FSACCESS_LISTDIRECTORY 0x00000020 /*%< Dir only. */ +#define ISC_FSACCESS_ACCESSCHILD 0x00000040 /*%< Dir only. */ /*% * Adding any permission bits beyond 0x200 would mean typedef'ing diff --git a/lib/isc/include/isc/heap.h b/lib/isc/include/isc/heap.h index 747287b316..491be531e1 100644 --- a/lib/isc/include/isc/heap.h +++ b/lib/isc/include/isc/heap.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_HEAP_H #define ISC_HEAP_H 1 diff --git a/lib/isc/include/isc/hex.h b/lib/isc/include/isc/hex.h index b021e0515a..f9f580e471 100644 --- a/lib/isc/include/isc/hex.h +++ b/lib/isc/include/isc/hex.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_HEX_H #define ISC_HEX_H 1 @@ -25,8 +24,8 @@ ISC_LANG_BEGINDECLS ***/ isc_result_t -isc_hex_totext(isc_region_t *source, int wordlength, - const char *wordbreak, isc_buffer_t *target); +isc_hex_totext(isc_region_t *source, int wordlength, const char *wordbreak, + isc_buffer_t *target); /*!< * \brief Convert data into hex encoded text. * diff --git a/lib/isc/include/isc/hmac.h b/lib/isc/include/isc/hmac.h index aca85b4933..8fdc1a45b9 100644 --- a/lib/isc/include/isc/hmac.h +++ b/lib/isc/include/isc/hmac.h @@ -19,8 +19,8 @@ #include #include #include -#include #include +#include #include @@ -45,8 +45,8 @@ typedef HMAC_CTX isc_hmac_t; */ isc_result_t isc_hmac(isc_md_type_t type, const void *key, const int keylen, - const unsigned char *buf, const size_t len, - unsigned char *digest, unsigned int *digestlen); + const unsigned char *buf, const size_t len, unsigned char *digest, + unsigned int *digestlen); /** * isc_hmac_new: @@ -77,8 +77,8 @@ isc_hmac_free(isc_hmac_t *hmac); */ isc_result_t -isc_hmac_init(isc_hmac_t *hmac, const void *key, - size_t keylen, isc_md_type_t type); +isc_hmac_init(isc_hmac_t *hmac, const void *key, size_t keylen, + isc_md_type_t type); /** * isc_hmac_reset: diff --git a/lib/isc/include/isc/hp.h b/lib/isc/include/isc/hp.h index dba0a64836..7dd067c9b4 100644 --- a/lib/isc/include/isc/hp.h +++ b/lib/isc/include/isc/hp.h @@ -46,8 +46,8 @@ #pragma once #include -#include #include +#include #include #include @@ -61,8 +61,7 @@ * in the file HazardPointers.hpp. */ -typedef void -(isc_hp_deletefunc_t)(void *); +typedef void(isc_hp_deletefunc_t)(void *); void isc_hp_init(int max_threads); diff --git a/lib/isc/include/isc/ht.h b/lib/isc/include/isc/ht.h index 3a44e150b5..fef955c37b 100644 --- a/lib/isc/include/isc/ht.h +++ b/lib/isc/include/isc/ht.h @@ -17,10 +17,10 @@ #include #include -#include #include +#include -typedef struct isc_ht isc_ht_t; +typedef struct isc_ht isc_ht_t; typedef struct isc_ht_iter isc_ht_iter_t; /*% @@ -61,7 +61,7 @@ isc_ht_destroy(isc_ht_t **htp); */ isc_result_t isc_ht_add(isc_ht_t *ht, const unsigned char *key, uint32_t keysize, - void *value); + void *value); /*% * Find a node matching 'key'/'keysize' in hashtable 'ht'; @@ -77,8 +77,8 @@ isc_ht_add(isc_ht_t *ht, const unsigned char *key, uint32_t keysize, * \li #ISC_R_NOTFOUND -- key not found */ isc_result_t -isc_ht_find(const isc_ht_t *ht, const unsigned char *key, - uint32_t keysize, void **valuep); +isc_ht_find(const isc_ht_t *ht, const unsigned char *key, uint32_t keysize, + void **valuep); /*% * Delete node from hashtable @@ -151,7 +151,6 @@ isc_ht_iter_next(isc_ht_iter_t *it); isc_result_t isc_ht_iter_delcurrent_next(isc_ht_iter_t *it); - /*% * Set 'value' to the current value under the iterator * diff --git a/lib/isc/include/isc/httpd.h b/lib/isc/include/isc/httpd.h index b8b476f222..5641d36c74 100644 --- a/lib/isc/include/isc/httpd.h +++ b/lib/isc/include/isc/httpd.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_HTTPD_H #define ISC_HTTPD_H 1 @@ -19,10 +18,10 @@ #include #include -#include #include #include #include +#include /*% * HTTP urls. These are the URLs we manage, and the function to call to @@ -32,18 +31,18 @@ * the data cleanup function. */ struct isc_httpdurl { - char *url; - isc_httpdaction_t *action; - void *action_arg; - bool isstatic; - isc_time_t loadtime; - ISC_LINK(isc_httpdurl_t) link; + char * url; + isc_httpdaction_t *action; + void * action_arg; + bool isstatic; + isc_time_t loadtime; + ISC_LINK(isc_httpdurl_t) link; }; -#define HTTPD_EVENTCLASS ISC_EVENTCLASS(4300) -#define HTTPD_SHUTDOWN (HTTPD_EVENTCLASS + 0x0001) +#define HTTPD_EVENTCLASS ISC_EVENTCLASS(4300) +#define HTTPD_SHUTDOWN (HTTPD_EVENTCLASS + 0x0001) -#define ISC_HTTPDMGR_FLAGSHUTTINGDOWN 0x00000001 +#define ISC_HTTPDMGR_FLAGSHUTTINGDOWN 0x00000001 /* * Create a new http daemon which will send, once every time period, @@ -51,7 +50,7 @@ struct isc_httpdurl { */ isc_result_t isc_httpdmgr_create(isc_mem_t *mctx, isc_socket_t *sock, isc_task_t *task, - isc_httpdclientok_t *client_ok, + isc_httpdclientok_t * client_ok, isc_httpdondestroy_t *ondestory, void *cb_arg, isc_timermgr_t *tmgr, isc_httpdmgr_t **httpdp); @@ -63,21 +62,20 @@ isc_httpdmgr_addurl(isc_httpdmgr_t *httpdmgr, const char *url, isc_httpdaction_t *func, void *arg); isc_result_t -isc_httpdmgr_addurl2(isc_httpdmgr_t *httpdmgr, const char *url, - bool isstatic, +isc_httpdmgr_addurl2(isc_httpdmgr_t *httpdmgr, const char *url, bool isstatic, isc_httpdaction_t *func, void *arg); isc_result_t isc_httpd_response(isc_httpd_t *httpd); isc_result_t -isc_httpd_addheader(isc_httpd_t *httpd, const char *name, - const char *val); +isc_httpd_addheader(isc_httpd_t *httpd, const char *name, const char *val); isc_result_t isc_httpd_addheaderuint(isc_httpd_t *httpd, const char *name, int val); -isc_result_t isc_httpd_endheaders(isc_httpd_t *httpd); +isc_result_t +isc_httpd_endheaders(isc_httpd_t *httpd); void isc_httpd_setfinishhook(void (*fn)(void)); diff --git a/lib/isc/include/isc/interfaceiter.h b/lib/isc/include/isc/interfaceiter.h index 2ef82a3f7a..01bb02a935 100644 --- a/lib/isc/include/isc/interfaceiter.h +++ b/lib/isc/include/isc/interfaceiter.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_INTERFACEITER_H #define ISC_INTERFACEITER_H 1 @@ -44,20 +43,21 @@ */ struct isc_interface { - char name[32]; /*%< Interface name, null-terminated. */ - unsigned int af; /*%< Address family. */ - isc_netaddr_t address; /*%< Local address. */ - isc_netaddr_t netmask; /*%< Network mask. */ - isc_netaddr_t dstaddress; /*%< Destination address (point-to-point only). */ - uint32_t flags; /*%< Flags; see INTERFACE flags. */ + char name[32]; /*%< Interface name, null-terminated. */ + unsigned int af; /*%< Address family. */ + isc_netaddr_t address; /*%< Local address. */ + isc_netaddr_t netmask; /*%< Network mask. */ + isc_netaddr_t dstaddress; /*%< Destination address (point-to-point + only). */ + uint32_t flags; /*%< Flags; see INTERFACE flags. */ }; /*@{*/ /*! Interface flags. */ -#define INTERFACE_F_UP 0x00000001U -#define INTERFACE_F_POINTTOPOINT 0x00000002U -#define INTERFACE_F_LOOPBACK 0x00000004U +#define INTERFACE_F_UP 0x00000001U +#define INTERFACE_F_POINTTOPOINT 0x00000002U +#define INTERFACE_F_LOOPBACK 0x00000004U /*@}*/ /*** @@ -89,8 +89,7 @@ isc_interfaceiter_first(isc_interfaceiter_t *iter); */ isc_result_t -isc_interfaceiter_current(isc_interfaceiter_t *iter, - isc_interface_t *ifdata); +isc_interfaceiter_current(isc_interfaceiter_t *iter, isc_interface_t *ifdata); /*!< * \brief Get information about the interface the iterator is currently * positioned at and store it at *ifdata. diff --git a/lib/isc/include/isc/iterated_hash.h b/lib/isc/include/isc/iterated_hash.h index 0848b803a7..76fbfded56 100644 --- a/lib/isc/include/isc/iterated_hash.h +++ b/lib/isc/include/isc/iterated_hash.h @@ -28,9 +28,9 @@ ISC_LANG_BEGINDECLS int -isc_iterated_hash(unsigned char *out, - const unsigned int hashalg, const int iterations, - const unsigned char *salt, const int saltlength, - const unsigned char *in, const int inlength); +isc_iterated_hash(unsigned char *out, const unsigned int hashalg, + const int iterations, const unsigned char *salt, + const int saltlength, const unsigned char *in, + const int inlength); ISC_LANG_ENDDECLS diff --git a/lib/isc/include/isc/lang.h b/lib/isc/include/isc/lang.h index bffcbac07e..f3b56278f4 100644 --- a/lib/isc/include/isc/lang.h +++ b/lib/isc/include/isc/lang.h @@ -9,15 +9,14 @@ * information regarding copyright ownership. */ - #ifndef ISC_LANG_H #define ISC_LANG_H 1 /*! \file isc/lang.h */ #ifdef __cplusplus -#define ISC_LANG_BEGINDECLS extern "C" { -#define ISC_LANG_ENDDECLS } +#define ISC_LANG_BEGINDECLS extern "C" { +#define ISC_LANG_ENDDECLS } #else #define ISC_LANG_BEGINDECLS #define ISC_LANG_ENDDECLS diff --git a/lib/isc/include/isc/lex.h b/lib/isc/include/isc/lex.h index d1e36c0a15..6eff2acc4f 100644 --- a/lib/isc/include/isc/lex.h +++ b/lib/isc/include/isc/lex.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_LEX_H #define ISC_LEX_H 1 @@ -62,11 +61,11 @@ ISC_LANG_BEGINDECLS * Various options for isc_lex_gettoken(). */ -#define ISC_LEXOPT_EOL 0x01 /*%< Want end-of-line token. */ -#define ISC_LEXOPT_EOF 0x02 /*%< Want end-of-file token. */ -#define ISC_LEXOPT_INITIALWS 0x04 /*%< Want initial whitespace. */ -#define ISC_LEXOPT_NUMBER 0x08 /*%< Recognize numbers. */ -#define ISC_LEXOPT_QSTRING 0x10 /*%< Recognize qstrings. */ +#define ISC_LEXOPT_EOL 0x01 /*%< Want end-of-line token. */ +#define ISC_LEXOPT_EOF 0x02 /*%< Want end-of-file token. */ +#define ISC_LEXOPT_INITIALWS 0x04 /*%< Want initial whitespace. */ +#define ISC_LEXOPT_NUMBER 0x08 /*%< Recognize numbers. */ +#define ISC_LEXOPT_QSTRING 0x10 /*%< Recognize qstrings. */ /*@}*/ /*@{*/ @@ -77,14 +76,14 @@ ISC_LANG_BEGINDECLS * the paren count is > 0. To use this option, '(' and ')' must be special * characters. */ -#define ISC_LEXOPT_DNSMULTILINE 0x20 /*%< Handle '(' and ')'. */ -#define ISC_LEXOPT_NOMORE 0x40 /*%< Want "no more" token. */ +#define ISC_LEXOPT_DNSMULTILINE 0x20 /*%< Handle '(' and ')'. */ +#define ISC_LEXOPT_NOMORE 0x40 /*%< Want "no more" token. */ -#define ISC_LEXOPT_CNUMBER 0x80 /*%< Recognize octal and hex. */ -#define ISC_LEXOPT_ESCAPE 0x100 /*%< Recognize escapes. */ -#define ISC_LEXOPT_QSTRINGMULTILINE 0x200 /*%< Allow multiline "" strings */ -#define ISC_LEXOPT_OCTAL 0x400 /*%< Expect a octal number. */ -#define ISC_LEXOPT_BTEXT 0x800 /*%< Bracketed text. */ +#define ISC_LEXOPT_CNUMBER 0x80 /*%< Recognize octal and hex. */ +#define ISC_LEXOPT_ESCAPE 0x100 /*%< Recognize escapes. */ +#define ISC_LEXOPT_QSTRINGMULTILINE 0x200 /*%< Allow multiline "" strings */ +#define ISC_LEXOPT_OCTAL 0x400 /*%< Expect a octal number. */ +#define ISC_LEXOPT_BTEXT 0x800 /*%< Bracketed text. */ /*@}*/ /*@{*/ /*! @@ -92,10 +91,10 @@ ISC_LANG_BEGINDECLS * isc_lex_setcomments(). */ -#define ISC_LEXCOMMENT_C 0x01 -#define ISC_LEXCOMMENT_CPLUSPLUS 0x02 -#define ISC_LEXCOMMENT_SHELL 0x04 -#define ISC_LEXCOMMENT_DNSMASTERFILE 0x08 +#define ISC_LEXCOMMENT_C 0x01 +#define ISC_LEXCOMMENT_CPLUSPLUS 0x02 +#define ISC_LEXCOMMENT_SHELL 0x04 +#define ISC_LEXCOMMENT_DNSMASTERFILE 0x08 /*@}*/ /*** @@ -122,16 +121,16 @@ typedef enum { } isc_tokentype_t; typedef union { - char as_char; - unsigned long as_ulong; - isc_region_t as_region; - isc_textregion_t as_textregion; - void * as_pointer; + char as_char; + unsigned long as_ulong; + isc_region_t as_region; + isc_textregion_t as_textregion; + void * as_pointer; } isc_tokenvalue_t; typedef struct isc_token { - isc_tokentype_t type; - isc_tokenvalue_t value; + isc_tokentype_t type; + isc_tokenvalue_t value; } isc_token_t; /*** @@ -380,7 +379,6 @@ isc_lex_getsourcename(isc_lex_t *lex); *\li result valid while current input source exists. */ - unsigned long isc_lex_getsourceline(isc_lex_t *lex); /*%< @@ -438,7 +436,6 @@ isc_lex_isfile(isc_lex_t *lex); *\li #false otherwise. */ - ISC_LANG_ENDDECLS #endif /* ISC_LEX_H */ diff --git a/lib/isc/include/isc/lfsr.h b/lib/isc/include/isc/lfsr.h index 3f2cfb4b3e..5e3947aa81 100644 --- a/lib/isc/include/isc/lfsr.h +++ b/lib/isc/include/isc/lfsr.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_LFSR_H #define ISC_LFSR_H 1 @@ -38,21 +37,19 @@ typedef void (*isc_lfsrreseed_t)(isc_lfsr_t *, void *); * needs to be taken to not change state once the lfsr is in operation. */ struct isc_lfsr { - uint32_t state; /*%< previous state */ - unsigned int bits; /*%< length */ - uint32_t tap; /*%< bit taps */ - unsigned int count; /*%< reseed count (in BITS!) */ - isc_lfsrreseed_t reseed; /*%< reseed function */ - void *arg; /*%< reseed function argument */ + uint32_t state; /*%< previous state */ + unsigned int bits; /*%< length */ + uint32_t tap; /*%< bit taps */ + unsigned int count; /*%< reseed count (in BITS!) */ + isc_lfsrreseed_t reseed; /*%< reseed function */ + void * arg; /*%< reseed function argument */ }; ISC_LANG_BEGINDECLS - void -isc_lfsr_init(isc_lfsr_t *lfsr, uint32_t state, unsigned int bits, - uint32_t tap, unsigned int count, - isc_lfsrreseed_t reseed, void *arg); +isc_lfsr_init(isc_lfsr_t *lfsr, uint32_t state, unsigned int bits, uint32_t tap, + unsigned int count, isc_lfsrreseed_t reseed, void *arg); /*%< * Initialize an LFSR. * diff --git a/lib/isc/include/isc/lib.h b/lib/isc/include/isc/lib.h index 6ff8914f3b..a2cd862b6e 100644 --- a/lib/isc/include/isc/lib.h +++ b/lib/isc/include/isc/lib.h @@ -9,14 +9,13 @@ * information regarding copyright ownership. */ - #ifndef ISC_LIB_H #define ISC_LIB_H 1 /*! \file isc/lib.h */ -#include #include +#include ISC_LANG_BEGINDECLS diff --git a/lib/isc/include/isc/likely.h b/lib/isc/include/isc/likely.h index 6f65e1b27d..74837fde86 100644 --- a/lib/isc/include/isc/likely.h +++ b/lib/isc/include/isc/likely.h @@ -16,15 +16,15 @@ * Performance */ #ifdef CPPCHECK -#define ISC_LIKELY(x) (x) -#define ISC_UNLIKELY(x) (x) +#define ISC_LIKELY(x) (x) +#define ISC_UNLIKELY(x) (x) #else #ifdef HAVE_BUILTIN_EXPECT -#define ISC_LIKELY(x) __builtin_expect(!!(x), 1) -#define ISC_UNLIKELY(x) __builtin_expect(!!(x), 0) +#define ISC_LIKELY(x) __builtin_expect(!!(x), 1) +#define ISC_UNLIKELY(x) __builtin_expect(!!(x), 0) #else -#define ISC_LIKELY(x) (x) -#define ISC_UNLIKELY(x) (x) +#define ISC_LIKELY(x) (x) +#define ISC_UNLIKELY(x) (x) #endif #endif diff --git a/lib/isc/include/isc/list.h b/lib/isc/include/isc/list.h index bc90bb974e..9223211736 100644 --- a/lib/isc/include/isc/list.h +++ b/lib/isc/include/isc/list.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_LIST_H #define ISC_LIST_H 1 @@ -21,90 +20,98 @@ #define ISC_LINK_INSIST(x) #endif -#define ISC_LIST(type) struct { type *head, *tail; } -#define ISC_LIST_INIT(list) \ - do { (list).head = NULL; (list).tail = NULL; } while (0) +#define ISC_LIST(type) \ + struct { \ + type *head, *tail; \ + } +#define ISC_LIST_INIT(list) \ + do { \ + (list).head = NULL; \ + (list).tail = NULL; \ + } while (0) -#define ISC_LINK(type) struct { type *prev, *next; } -#define ISC_LINK_INIT_TYPE(elt, link, type) \ - do { \ +#define ISC_LINK(type) \ + struct { \ + type *prev, *next; \ + } +#define ISC_LINK_INIT_TYPE(elt, link, type) \ + do { \ (elt)->link.prev = (type *)(-1); \ (elt)->link.next = (type *)(-1); \ } while (0) -#define ISC_LINK_INIT(elt, link) \ - ISC_LINK_INIT_TYPE(elt, link, void) +#define ISC_LINK_INIT(elt, link) ISC_LINK_INIT_TYPE(elt, link, void) #define ISC_LINK_LINKED(elt, link) ((void *)((elt)->link.prev) != (void *)(-1)) #define ISC_LIST_HEAD(list) ((list).head) #define ISC_LIST_TAIL(list) ((list).tail) #define ISC_LIST_EMPTY(list) ((list).head == NULL) -#define __ISC_LIST_PREPENDUNSAFE(list, elt, link) \ - do { \ - if ((list).head != NULL) \ +#define __ISC_LIST_PREPENDUNSAFE(list, elt, link) \ + do { \ + if ((list).head != NULL) \ (list).head->link.prev = (elt); \ - else \ - (list).tail = (elt); \ - (elt)->link.prev = NULL; \ - (elt)->link.next = (list).head; \ - (list).head = (elt); \ + else \ + (list).tail = (elt); \ + (elt)->link.prev = NULL; \ + (elt)->link.next = (list).head; \ + (list).head = (elt); \ } while (0) -#define ISC_LIST_PREPEND(list, elt, link) \ - do { \ +#define ISC_LIST_PREPEND(list, elt, link) \ + do { \ ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \ - __ISC_LIST_PREPENDUNSAFE(list, elt, link); \ + __ISC_LIST_PREPENDUNSAFE(list, elt, link); \ } while (0) #define ISC_LIST_INITANDPREPEND(list, elt, link) \ - __ISC_LIST_PREPENDUNSAFE(list, elt, link) + __ISC_LIST_PREPENDUNSAFE(list, elt, link) -#define __ISC_LIST_APPENDUNSAFE(list, elt, link) \ - do { \ - if ((list).tail != NULL) \ +#define __ISC_LIST_APPENDUNSAFE(list, elt, link) \ + do { \ + if ((list).tail != NULL) \ (list).tail->link.next = (elt); \ - else \ - (list).head = (elt); \ - (elt)->link.prev = (list).tail; \ - (elt)->link.next = NULL; \ - (list).tail = (elt); \ + else \ + (list).head = (elt); \ + (elt)->link.prev = (list).tail; \ + (elt)->link.next = NULL; \ + (list).tail = (elt); \ } while (0) -#define ISC_LIST_APPEND(list, elt, link) \ - do { \ +#define ISC_LIST_APPEND(list, elt, link) \ + do { \ ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \ - __ISC_LIST_APPENDUNSAFE(list, elt, link); \ + __ISC_LIST_APPENDUNSAFE(list, elt, link); \ } while (0) #define ISC_LIST_INITANDAPPEND(list, elt, link) \ - __ISC_LIST_APPENDUNSAFE(list, elt, link) + __ISC_LIST_APPENDUNSAFE(list, elt, link) -#define __ISC_LIST_UNLINKUNSAFE_TYPE(list, elt, link, type) \ - do { \ - if ((elt)->link.next != NULL) \ +#define __ISC_LIST_UNLINKUNSAFE_TYPE(list, elt, link, type) \ + do { \ + if ((elt)->link.next != NULL) \ (elt)->link.next->link.prev = (elt)->link.prev; \ - else { \ - ISC_INSIST((list).tail == (elt)); \ - (list).tail = (elt)->link.prev; \ - } \ - if ((elt)->link.prev != NULL) \ + else { \ + ISC_INSIST((list).tail == (elt)); \ + (list).tail = (elt)->link.prev; \ + } \ + if ((elt)->link.prev != NULL) \ (elt)->link.prev->link.next = (elt)->link.next; \ - else { \ - ISC_INSIST((list).head == (elt)); \ - (list).head = (elt)->link.next; \ - } \ - (elt)->link.prev = (type *)(-1); \ - (elt)->link.next = (type *)(-1); \ - ISC_INSIST((list).head != (elt)); \ - ISC_INSIST((list).tail != (elt)); \ + else { \ + ISC_INSIST((list).head == (elt)); \ + (list).head = (elt)->link.next; \ + } \ + (elt)->link.prev = (type *)(-1); \ + (elt)->link.next = (type *)(-1); \ + ISC_INSIST((list).head != (elt)); \ + ISC_INSIST((list).tail != (elt)); \ } while (0) #define __ISC_LIST_UNLINKUNSAFE(list, elt, link) \ __ISC_LIST_UNLINKUNSAFE_TYPE(list, elt, link, void) -#define ISC_LIST_UNLINK_TYPE(list, elt, link, type) \ - do { \ - ISC_LINK_INSIST(ISC_LINK_LINKED(elt, link)); \ +#define ISC_LIST_UNLINK_TYPE(list, elt, link, type) \ + do { \ + ISC_LINK_INSIST(ISC_LINK_LINKED(elt, link)); \ __ISC_LIST_UNLINKUNSAFE_TYPE(list, elt, link, type); \ } while (0) #define ISC_LIST_UNLINK(list, elt, link) \ @@ -113,77 +120,77 @@ #define ISC_LIST_PREV(elt, link) ((elt)->link.prev) #define ISC_LIST_NEXT(elt, link) ((elt)->link.next) -#define __ISC_LIST_INSERTBEFOREUNSAFE(list, before, elt, link) \ - do { \ - if ((before)->link.prev == NULL) \ - ISC_LIST_PREPEND(list, elt, link); \ - else { \ +#define __ISC_LIST_INSERTBEFOREUNSAFE(list, before, elt, link) \ + do { \ + if ((before)->link.prev == NULL) \ + ISC_LIST_PREPEND(list, elt, link); \ + else { \ (elt)->link.prev = (before)->link.prev; \ - (before)->link.prev = (elt); \ - (elt)->link.prev->link.next = (elt); \ - (elt)->link.next = (before); \ - } \ + (before)->link.prev = (elt); \ + (elt)->link.prev->link.next = (elt); \ + (elt)->link.next = (before); \ + } \ } while (0) -#define ISC_LIST_INSERTBEFORE(list, before, elt, link) \ - do { \ - ISC_LINK_INSIST(ISC_LINK_LINKED(before, link)); \ - ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \ +#define ISC_LIST_INSERTBEFORE(list, before, elt, link) \ + do { \ + ISC_LINK_INSIST(ISC_LINK_LINKED(before, link)); \ + ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \ __ISC_LIST_INSERTBEFOREUNSAFE(list, before, elt, link); \ } while (0) -#define __ISC_LIST_INSERTAFTERUNSAFE(list, after, elt, link) \ - do { \ - if ((after)->link.next == NULL) \ - ISC_LIST_APPEND(list, elt, link); \ - else { \ +#define __ISC_LIST_INSERTAFTERUNSAFE(list, after, elt, link) \ + do { \ + if ((after)->link.next == NULL) \ + ISC_LIST_APPEND(list, elt, link); \ + else { \ (elt)->link.next = (after)->link.next; \ - (after)->link.next = (elt); \ - (elt)->link.next->link.prev = (elt); \ - (elt)->link.prev = (after); \ - } \ + (after)->link.next = (elt); \ + (elt)->link.next->link.prev = (elt); \ + (elt)->link.prev = (after); \ + } \ } while (0) -#define ISC_LIST_INSERTAFTER(list, after, elt, link) \ - do { \ - ISC_LINK_INSIST(ISC_LINK_LINKED(after, link)); \ - ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \ +#define ISC_LIST_INSERTAFTER(list, after, elt, link) \ + do { \ + ISC_LINK_INSIST(ISC_LINK_LINKED(after, link)); \ + ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \ __ISC_LIST_INSERTAFTERUNSAFE(list, after, elt, link); \ } while (0) -#define ISC_LIST_APPENDLIST(list1, list2, link) \ - do { \ - if (ISC_LIST_EMPTY(list1)) \ - (list1) = (list2); \ - else if (!ISC_LIST_EMPTY(list2)) { \ +#define ISC_LIST_APPENDLIST(list1, list2, link) \ + do { \ + if (ISC_LIST_EMPTY(list1)) \ + (list1) = (list2); \ + else if (!ISC_LIST_EMPTY(list2)) { \ (list1).tail->link.next = (list2).head; \ (list2).head->link.prev = (list1).tail; \ - (list1).tail = (list2).tail; \ - } \ - (list2).head = NULL; \ - (list2).tail = NULL; \ + (list1).tail = (list2).tail; \ + } \ + (list2).head = NULL; \ + (list2).tail = NULL; \ } while (0) -#define ISC_LIST_PREPENDLIST(list1, list2, link) \ - do { \ - if (ISC_LIST_EMPTY(list1)) \ - (list1) = (list2); \ - else if (!ISC_LIST_EMPTY(list2)) { \ +#define ISC_LIST_PREPENDLIST(list1, list2, link) \ + do { \ + if (ISC_LIST_EMPTY(list1)) \ + (list1) = (list2); \ + else if (!ISC_LIST_EMPTY(list2)) { \ (list2).tail->link.next = (list1).head; \ (list1).head->link.prev = (list2).tail; \ - (list1).head = (list2).head; \ - } \ - (list2).head = NULL; \ - (list2).tail = NULL; \ + (list1).head = (list2).head; \ + } \ + (list2).head = NULL; \ + (list2).tail = NULL; \ } while (0) #define ISC_LIST_ENQUEUE(list, elt, link) ISC_LIST_APPEND(list, elt, link) #define __ISC_LIST_ENQUEUEUNSAFE(list, elt, link) \ __ISC_LIST_APPENDUNSAFE(list, elt, link) #define ISC_LIST_DEQUEUE(list, elt, link) \ - ISC_LIST_UNLINK_TYPE(list, elt, link, void) + ISC_LIST_UNLINK_TYPE(list, elt, link, void) #define ISC_LIST_DEQUEUE_TYPE(list, elt, link, type) \ - ISC_LIST_UNLINK_TYPE(list, elt, link, type) + ISC_LIST_UNLINK_TYPE(list, elt, link, type) #define __ISC_LIST_DEQUEUEUNSAFE(list, elt, link) \ __ISC_LIST_UNLINKUNSAFE_TYPE(list, elt, link, void) #define __ISC_LIST_DEQUEUEUNSAFE_TYPE(list, elt, link, type) \ diff --git a/lib/isc/include/isc/log.h b/lib/isc/include/isc/log.h index 72891e9d61..6220dd5fa6 100644 --- a/lib/isc/include/isc/log.h +++ b/lib/isc/include/isc/log.h @@ -9,15 +9,14 @@ * information regarding copyright ownership. */ - #ifndef ISC_LOG_H #define ISC_LOG_H 1 /*! \file isc/log.h */ +#include #include #include -#include #include /* XXXDCL NT */ #include @@ -30,45 +29,45 @@ * \brief Severity levels, patterned after Unix's syslog levels. * */ -#define ISC_LOG_DEBUG(level) (level) +#define ISC_LOG_DEBUG(level) (level) /*! * #ISC_LOG_DYNAMIC can only be used for defining channels with * isc_log_createchannel(), not to specify a level in isc_log_write(). */ -#define ISC_LOG_DYNAMIC 0 -#define ISC_LOG_INFO (-1) -#define ISC_LOG_NOTICE (-2) -#define ISC_LOG_WARNING (-3) -#define ISC_LOG_ERROR (-4) -#define ISC_LOG_CRITICAL (-5) +#define ISC_LOG_DYNAMIC 0 +#define ISC_LOG_INFO (-1) +#define ISC_LOG_NOTICE (-2) +#define ISC_LOG_WARNING (-3) +#define ISC_LOG_ERROR (-4) +#define ISC_LOG_CRITICAL (-5) /*@}*/ /*@{*/ /*! * \brief Destinations. */ -#define ISC_LOG_TONULL 1 -#define ISC_LOG_TOSYSLOG 2 -#define ISC_LOG_TOFILE 3 -#define ISC_LOG_TOFILEDESC 4 +#define ISC_LOG_TONULL 1 +#define ISC_LOG_TOSYSLOG 2 +#define ISC_LOG_TOFILE 3 +#define ISC_LOG_TOFILEDESC 4 /*@}*/ /*@{*/ /*% * Channel flags. */ -#define ISC_LOG_PRINTTIME 0x00001 -#define ISC_LOG_PRINTLEVEL 0x00002 -#define ISC_LOG_PRINTCATEGORY 0x00004 -#define ISC_LOG_PRINTMODULE 0x00008 -#define ISC_LOG_PRINTTAG 0x00010 /* tag and ":" */ -#define ISC_LOG_PRINTPREFIX 0x00020 /* tag only, no colon */ -#define ISC_LOG_PRINTALL 0x0003F -#define ISC_LOG_BUFFERED 0x00040 -#define ISC_LOG_DEBUGONLY 0x01000 -#define ISC_LOG_OPENERR 0x08000 /* internal */ -#define ISC_LOG_ISO8601 0x10000 /* if PRINTTIME, use ISO8601 */ -#define ISC_LOG_UTC 0x20000 /* if PRINTTIME, use UTC */ +#define ISC_LOG_PRINTTIME 0x00001 +#define ISC_LOG_PRINTLEVEL 0x00002 +#define ISC_LOG_PRINTCATEGORY 0x00004 +#define ISC_LOG_PRINTMODULE 0x00008 +#define ISC_LOG_PRINTTAG 0x00010 /* tag and ":" */ +#define ISC_LOG_PRINTPREFIX 0x00020 /* tag only, no colon */ +#define ISC_LOG_PRINTALL 0x0003F +#define ISC_LOG_BUFFERED 0x00040 +#define ISC_LOG_DEBUGONLY 0x01000 +#define ISC_LOG_OPENERR 0x08000 /* internal */ +#define ISC_LOG_ISO8601 0x10000 /* if PRINTTIME, use ISO8601 */ +#define ISC_LOG_UTC 0x20000 /* if PRINTTIME, use UTC */ /*@}*/ /*@{*/ @@ -79,9 +78,9 @@ * since I am intend to make large number of versions work efficiently, * INFINITE is going to be trivial to add to that. */ -#define ISC_LOG_ROLLINFINITE (-1) -#define ISC_LOG_ROLLNEVER (-2) -#define ISC_LOG_MAX_VERSIONS 256 +#define ISC_LOG_ROLLINFINITE (-1) +#define ISC_LOG_ROLLNEVER (-2) +#define ISC_LOG_MAX_VERSIONS 256 /*@}*/ /*@{*/ @@ -102,7 +101,7 @@ typedef enum { * isc_log_registercategories. */ struct isc_logcategory { - const char *name; + const char * name; unsigned int id; }; @@ -110,7 +109,7 @@ struct isc_logcategory { * Similar to isc_logcategory, but for all the modules a library defines. */ struct isc_logmodule { - const char *name; + const char * name; unsigned int id; }; @@ -126,9 +125,9 @@ struct isc_logmodule { * Setting maximum_size to zero implies no maximum. */ typedef struct isc_logfile { - FILE *stream; /*%< Initialized to NULL for #ISC_LOG_TOFILE. */ - const char *name; /*%< NULL for #ISC_LOG_TOFILEDESC. */ - int versions; /* >= 0, #ISC_LOG_ROLLNEVER, #ISC_LOG_ROLLINFINITE. */ + FILE * stream; /*%< Initialized to NULL for #ISC_LOG_TOFILE. */ + const char *name; /*%< NULL for #ISC_LOG_TOFILEDESC. */ + int versions; /* >= 0, #ISC_LOG_ROLLNEVER, #ISC_LOG_ROLLINFINITE. */ isc_log_rollsuffix_t suffix; /*% * stdio's ftell is standardized to return a long, which may well not @@ -138,7 +137,7 @@ typedef struct isc_logfile { * to a size large enough for the largest possible file on a system. */ isc_offset_t maximum_size; - bool maximum_reached; /*%< Private. */ + bool maximum_reached; /*%< Private. */ } isc_logfile_t; /*% @@ -147,7 +146,7 @@ typedef struct isc_logfile { */ typedef union isc_logdestination { isc_logfile_t file; - int facility; /* XXXDCL NT */ + int facility; /* XXXDCL NT */ } isc_logdestination_t; /*@{*/ @@ -159,8 +158,8 @@ typedef union isc_logdestination { * the order of the names. */ LIBISC_EXTERNAL_DATA extern isc_logcategory_t isc_categories[]; -LIBISC_EXTERNAL_DATA extern isc_log_t *isc_lctx; -LIBISC_EXTERNAL_DATA extern isc_logmodule_t isc_modules[]; +LIBISC_EXTERNAL_DATA extern isc_log_t * isc_lctx; +LIBISC_EXTERNAL_DATA extern isc_logmodule_t isc_modules[]; /*@}*/ /*@{*/ @@ -168,8 +167,8 @@ LIBISC_EXTERNAL_DATA extern isc_logmodule_t isc_modules[]; * Do not log directly to DEFAULT. Use another category. When in doubt, * use GENERAL. */ -#define ISC_LOGCATEGORY_DEFAULT (&isc_categories[0]) -#define ISC_LOGCATEGORY_GENERAL (&isc_categories[1]) +#define ISC_LOGCATEGORY_DEFAULT (&isc_categories[0]) +#define ISC_LOGCATEGORY_GENERAL (&isc_categories[1]) /*@}*/ #define ISC_LOGMODULE_SOCKET (&isc_modules[0]) @@ -391,7 +390,7 @@ isc_result_t isc_log_createchannel(isc_logconfig_t *lcfg, const char *name, unsigned int type, int level, const isc_logdestination_t *destination, - unsigned int flags); + unsigned int flags); /*%< * Specify the parameters of a logging channel. * @@ -459,7 +458,7 @@ isc_log_createchannel(isc_logconfig_t *lcfg, const char *name, isc_result_t isc_log_usechannel(isc_logconfig_t *lcfg, const char *name, const isc_logcategory_t *category, - const isc_logmodule_t *module); + const isc_logmodule_t * module); /*%< * Associate a named logging channel with a category and module that * will use it. @@ -555,10 +554,9 @@ isc_log_usechannel(isc_logconfig_t *lcfg, const char *name, */ void isc_log_write(isc_log_t *lctx, isc_logcategory_t *category, - isc_logmodule_t *module, int level, - const char *format, ...) + isc_logmodule_t *module, int level, const char *format, ...) -ISC_FORMAT_PRINTF(5, 6); + ISC_FORMAT_PRINTF(5, 6); /*% * Write a message to the log channels. @@ -594,10 +592,10 @@ ISC_FORMAT_PRINTF(5, 6); */ void isc_log_vwrite(isc_log_t *lctx, isc_logcategory_t *category, - isc_logmodule_t *module, int level, - const char *format, va_list args) + isc_logmodule_t *module, int level, const char *format, + va_list args) -ISC_FORMAT_PRINTF(5, 0); + ISC_FORMAT_PRINTF(5, 0); /*% * Write a message to the log channels, pruning duplicates that occur within @@ -608,7 +606,7 @@ void isc_log_write1(isc_log_t *lctx, isc_logcategory_t *category, isc_logmodule_t *module, int level, const char *format, ...) -ISC_FORMAT_PRINTF(5, 6); + ISC_FORMAT_PRINTF(5, 6); /*% * Write a message to the log channels, pruning duplicates that occur within @@ -620,7 +618,7 @@ isc_log_vwrite1(isc_log_t *lctx, isc_logcategory_t *category, isc_logmodule_t *module, int level, const char *format, va_list args) -ISC_FORMAT_PRINTF(5, 0); + ISC_FORMAT_PRINTF(5, 0); void isc_log_setdebuglevel(isc_log_t *lctx, unsigned int level); diff --git a/lib/isc/include/isc/magic.h b/lib/isc/include/isc/magic.h index c342d0cd8e..6d874dc723 100644 --- a/lib/isc/include/isc/magic.h +++ b/lib/isc/include/isc/magic.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_MAGIC_H #define ISC_MAGIC_H 1 @@ -21,16 +20,16 @@ typedef struct { unsigned int magic; } isc__magic_t; - /*% * To use this macro the magic number MUST be the first thing in the * structure, and MUST be of type "unsigned int". * The intent of this is to allow magic numbers to be checked even though * the object is otherwise opaque. */ -#define ISC_MAGIC_VALID(a,b) (ISC_LIKELY((a) != NULL) && \ - ISC_LIKELY(((const isc__magic_t *)(a))->magic == (b))) +#define ISC_MAGIC_VALID(a, b) \ + (ISC_LIKELY((a) != NULL) && \ + ISC_LIKELY(((const isc__magic_t *)(a))->magic == (b))) -#define ISC_MAGIC(a, b, c, d) ((a) << 24 | (b) << 16 | (c) << 8 | (d)) +#define ISC_MAGIC(a, b, c, d) ((a) << 24 | (b) << 16 | (c) << 8 | (d)) #endif /* ISC_MAGIC_H */ diff --git a/lib/isc/include/isc/md.h b/lib/isc/include/isc/md.h index 1645d4162e..14fc064776 100644 --- a/lib/isc/include/isc/md.h +++ b/lib/isc/include/isc/md.h @@ -18,8 +18,8 @@ #include #include -#include #include +#include #include @@ -36,19 +36,19 @@ typedef EVP_MD_CTX isc_md_t; * * Enumeration of supported message digest algorithms. */ -typedef const EVP_MD * isc_md_type_t; +typedef const EVP_MD *isc_md_type_t; -#define ISC_MD_MD5 EVP_md5() -#define ISC_MD_SHA1 EVP_sha1() +#define ISC_MD_MD5 EVP_md5() +#define ISC_MD_SHA1 EVP_sha1() #define ISC_MD_SHA224 EVP_sha224() #define ISC_MD_SHA256 EVP_sha256() #define ISC_MD_SHA384 EVP_sha384() #define ISC_MD_SHA512 EVP_sha512() -#define ISC_MD5_DIGESTLENGTH isc_md_type_get_size(ISC_MD_MD5) -#define ISC_MD5_BLOCK_LENGTH isc_md_type_get_block_size(ISC_MD_MD5) -#define ISC_SHA1_DIGESTLENGTH isc_md_type_get_size(ISC_MD_SHA1) -#define ISC_SHA1_BLOCK_LENGTH isc_md_type_get_block_size(ISC_MD_SHA1) +#define ISC_MD5_DIGESTLENGTH isc_md_type_get_size(ISC_MD_MD5) +#define ISC_MD5_BLOCK_LENGTH isc_md_type_get_block_size(ISC_MD_MD5) +#define ISC_SHA1_DIGESTLENGTH isc_md_type_get_size(ISC_MD_SHA1) +#define ISC_SHA1_BLOCK_LENGTH isc_md_type_get_block_size(ISC_MD_SHA1) #define ISC_SHA224_DIGESTLENGTH isc_md_type_get_size(ISC_MD_SHA224) #define ISC_SHA224_BLOCK_LENGTH isc_md_type_get_block_size(ISC_MD_SHA224) #define ISC_SHA256_DIGESTLENGTH isc_md_type_get_size(ISC_MD_SHA256) diff --git a/lib/isc/include/isc/mem.h b/lib/isc/include/isc/mem.h index 6c73e96689..b1bb0bb6e3 100644 --- a/lib/isc/include/isc/mem.h +++ b/lib/isc/include/isc/mem.h @@ -64,12 +64,12 @@ LIBISC_EXTERNAL_DATA extern unsigned int isc_mem_debugging; LIBISC_EXTERNAL_DATA extern unsigned int isc_mem_defaultflags; /*@{*/ -#define ISC_MEM_DEBUGTRACE 0x00000001U -#define ISC_MEM_DEBUGRECORD 0x00000002U -#define ISC_MEM_DEBUGUSAGE 0x00000004U -#define ISC_MEM_DEBUGSIZE 0x00000008U -#define ISC_MEM_DEBUGCTX 0x00000010U -#define ISC_MEM_DEBUGALL 0x0000001FU +#define ISC_MEM_DEBUGTRACE 0x00000001U +#define ISC_MEM_DEBUGRECORD 0x00000002U +#define ISC_MEM_DEBUGUSAGE 0x00000004U +#define ISC_MEM_DEBUGSIZE 0x00000008U +#define ISC_MEM_DEBUGCTX 0x00000010U +#define ISC_MEM_DEBUGALL 0x0000001FU /*!< * The variable isc_mem_debugging holds a set of flags for * turning certain memory debugging options on or off at @@ -99,8 +99,8 @@ LIBISC_EXTERNAL_DATA extern unsigned int isc_mem_defaultflags; /*@}*/ #if ISC_MEM_TRACKLINES -#define _ISC_MEM_FILELINE , __FILE__, __LINE__ -#define _ISC_MEM_FLARG , const char *, unsigned int +#define _ISC_MEM_FILELINE , __FILE__, __LINE__ +#define _ISC_MEM_FLARG , const char *, unsigned int #else #define _ISC_MEM_FILELINE #define _ISC_MEM_FLARG @@ -122,14 +122,15 @@ LIBISC_EXTERNAL_DATA extern unsigned int isc_mem_defaultflags; /* * Flags for isc_mem_create() calls. */ -#define ISC_MEMFLAG_RESERVED 0x00000001 /* reserved, obsoleted, don't use */ -#define ISC_MEMFLAG_INTERNAL 0x00000002 /* use internal malloc */ -#define ISC_MEMFLAG_FILL 0x00000004 /* fill with pattern after alloc and frees */ +#define ISC_MEMFLAG_RESERVED 0x00000001 /* reserved, obsoleted, don't use */ +#define ISC_MEMFLAG_INTERNAL 0x00000002 /* use internal malloc */ +#define ISC_MEMFLAG_FILL \ + 0x00000004 /* fill with pattern after alloc and frees */ #if !ISC_MEM_USE_INTERNAL_MALLOC -#define ISC_MEMFLAG_DEFAULT 0 +#define ISC_MEMFLAG_DEFAULT 0 #else -#define ISC_MEMFLAG_DEFAULT ISC_MEMFLAG_INTERNAL|ISC_MEMFLAG_FILL +#define ISC_MEMFLAG_DEFAULT ISC_MEMFLAG_INTERNAL | ISC_MEMFLAG_FILL #endif /*% @@ -184,27 +185,26 @@ typedef struct isc_memmethods { * invariants. */ struct isc_mem { - unsigned int impmagic; - unsigned int magic; - isc_memmethods_t *methods; + unsigned int impmagic; + unsigned int magic; + isc_memmethods_t *methods; }; -#define ISCAPI_MCTX_MAGIC ISC_MAGIC('A','m','c','x') -#define ISCAPI_MCTX_VALID(m) ((m) != NULL && \ - (m)->magic == ISCAPI_MCTX_MAGIC) +#define ISCAPI_MCTX_MAGIC ISC_MAGIC('A', 'm', 'c', 'x') +#define ISCAPI_MCTX_VALID(m) ((m) != NULL && (m)->magic == ISCAPI_MCTX_MAGIC) /*% * This is the common prefix of a memory pool context. The same note as * that for the mem structure applies. */ struct isc_mempool { - unsigned int impmagic; - unsigned int magic; + unsigned int impmagic; + unsigned int magic; }; -#define ISCAPI_MPOOL_MAGIC ISC_MAGIC('A','m','p','l') -#define ISCAPI_MPOOL_VALID(mp) ((mp) != NULL && \ - (mp)->magic == ISCAPI_MPOOL_MAGIC) +#define ISCAPI_MPOOL_MAGIC ISC_MAGIC('A', 'm', 'p', 'l') +#define ISCAPI_MPOOL_VALID(mp) \ + ((mp) != NULL && (mp)->magic == ISCAPI_MPOOL_MAGIC) /*% * These functions are actually implemented in isc__mem_ @@ -218,34 +218,35 @@ struct isc_mempool { * loaded modules can use them even if named is statically linked. */ -#define ISCMEMFUNC(sfx) isc__mem_ ## sfx -#define ISCMEMPOOLFUNC(sfx) isc__mempool_ ## sfx +#define ISCMEMFUNC(sfx) isc__mem_##sfx +#define ISCMEMPOOLFUNC(sfx) isc__mempool_##sfx -#define isc_mem_get(c, s) ISCMEMFUNC(get)((c), (s) _ISC_MEM_FILELINE) -#define isc_mem_allocate(c, s) ISCMEMFUNC(allocate)((c), (s) _ISC_MEM_FILELINE) -#define isc_mem_reallocate(c, p, s) ISCMEMFUNC(reallocate)((c), (p), (s) _ISC_MEM_FILELINE) -#define isc_mem_strdup(c, p) ISCMEMFUNC(strdup)((c), (p) _ISC_MEM_FILELINE) -#define isc_mempool_get(c) ISCMEMPOOLFUNC(get)((c) _ISC_MEM_FILELINE) +#define isc_mem_get(c, s) ISCMEMFUNC(get)((c), (s)_ISC_MEM_FILELINE) +#define isc_mem_allocate(c, s) ISCMEMFUNC(allocate)((c), (s)_ISC_MEM_FILELINE) +#define isc_mem_reallocate(c, p, s) \ + ISCMEMFUNC(reallocate)((c), (p), (s)_ISC_MEM_FILELINE) +#define isc_mem_strdup(c, p) ISCMEMFUNC(strdup)((c), (p)_ISC_MEM_FILELINE) +#define isc_mempool_get(c) ISCMEMPOOLFUNC(get)((c)_ISC_MEM_FILELINE) -#define isc_mem_put(c, p, s) \ - do { \ - ISCMEMFUNC(put)((c), (p), (s) _ISC_MEM_FILELINE); \ - (p) = NULL; \ +#define isc_mem_put(c, p, s) \ + do { \ + ISCMEMFUNC(put)((c), (p), (s)_ISC_MEM_FILELINE); \ + (p) = NULL; \ } while (0) -#define isc_mem_putanddetach(c, p, s) \ - do { \ - ISCMEMFUNC(putanddetach)((c), (p), (s) _ISC_MEM_FILELINE); \ - (p) = NULL; \ +#define isc_mem_putanddetach(c, p, s) \ + do { \ + ISCMEMFUNC(putanddetach)((c), (p), (s)_ISC_MEM_FILELINE); \ + (p) = NULL; \ } while (0) -#define isc_mem_free(c, p) \ - do { \ - ISCMEMFUNC(free)((c), (p) _ISC_MEM_FILELINE); \ - (p) = NULL; \ +#define isc_mem_free(c, p) \ + do { \ + ISCMEMFUNC(free)((c), (p)_ISC_MEM_FILELINE); \ + (p) = NULL; \ } while (0) -#define isc_mempool_put(c, p) \ - do { \ - ISCMEMPOOLFUNC(put)((c), (p) _ISC_MEM_FILELINE); \ - (p) = NULL; \ +#define isc_mempool_put(c, p) \ + do { \ + ISCMEMPOOLFUNC(put)((c), (p)_ISC_MEM_FILELINE); \ + (p) = NULL; \ } while (0) /*@{*/ @@ -291,8 +292,7 @@ isc_mem_stats(isc_mem_t *mctx, FILE *out); */ void -isc_mem_setdestroycheck(isc_mem_t *mctx, - bool on); +isc_mem_setdestroycheck(isc_mem_t *mctx, bool on); /*%< * If 'on' is true, 'mctx' will check for memory leaks when * destroyed and abort the program if any are present. @@ -446,7 +446,6 @@ isc_mem_renderjson(void *memobj0); */ #endif /* HAVE_JSON_C */ - /* * Memory pools */ @@ -587,28 +586,18 @@ isc_mempool_setfillcount(isc_mempool_t *mpctx, unsigned int limit); *\li limit > 0 */ - /* * Pseudo-private functions for use via macros. Do not call directly. */ -void * -ISCMEMFUNC(get)(isc_mem_t *, size_t _ISC_MEM_FLARG); -void -ISCMEMFUNC(putanddetach)(isc_mem_t **, void *, size_t _ISC_MEM_FLARG); -void -ISCMEMFUNC(put)(isc_mem_t *, void *, size_t _ISC_MEM_FLARG); -void * -ISCMEMFUNC(allocate)(isc_mem_t *, size_t _ISC_MEM_FLARG); -void * -ISCMEMFUNC(reallocate)(isc_mem_t *, void *, size_t _ISC_MEM_FLARG); -void -ISCMEMFUNC(free)(isc_mem_t *, void * _ISC_MEM_FLARG); -char * -ISCMEMFUNC(strdup)(isc_mem_t *, const char *_ISC_MEM_FLARG); -void * -ISCMEMPOOLFUNC(get)(isc_mempool_t * _ISC_MEM_FLARG); -void -ISCMEMPOOLFUNC(put)(isc_mempool_t *, void * _ISC_MEM_FLARG); +void *ISCMEMFUNC(get)(isc_mem_t *, size_t _ISC_MEM_FLARG); +void ISCMEMFUNC(putanddetach)(isc_mem_t **, void *, size_t _ISC_MEM_FLARG); +void ISCMEMFUNC(put)(isc_mem_t *, void *, size_t _ISC_MEM_FLARG); +void *ISCMEMFUNC(allocate)(isc_mem_t *, size_t _ISC_MEM_FLARG); +void *ISCMEMFUNC(reallocate)(isc_mem_t *, void *, size_t _ISC_MEM_FLARG); +void ISCMEMFUNC(free)(isc_mem_t *, void *_ISC_MEM_FLARG); +char *ISCMEMFUNC(strdup)(isc_mem_t *, const char *_ISC_MEM_FLARG); +void *ISCMEMPOOLFUNC(get)(isc_mempool_t *_ISC_MEM_FLARG); +void ISCMEMPOOLFUNC(put)(isc_mempool_t *, void *_ISC_MEM_FLARG); ISC_LANG_ENDDECLS diff --git a/lib/isc/include/isc/meminfo.h b/lib/isc/include/isc/meminfo.h index c2c7e57b9a..86f0a2d4b0 100644 --- a/lib/isc/include/isc/meminfo.h +++ b/lib/isc/include/isc/meminfo.h @@ -14,9 +14,8 @@ #include -#include - #include +#include ISC_LANG_BEGINDECLS @@ -25,7 +24,7 @@ isc_meminfo_totalphys(void); /*%< * Return total available physical memory in bytes, or 0 if this cannot * be determined -*/ + */ ISC_LANG_ENDDECLS diff --git a/lib/isc/include/isc/mutexatomic.h b/lib/isc/include/isc/mutexatomic.h index a1ccf7c9fc..f6e700f8c9 100644 --- a/lib/isc/include/isc/mutexatomic.h +++ b/lib/isc/include/isc/mutexatomic.h @@ -13,6 +13,7 @@ #include #include + #include #if !defined(__has_feature) @@ -25,7 +26,7 @@ #if !defined(__GNUC_PREREQ__) #if defined(__GNUC__) && defined(__GNUC_MINOR__) -#define __GNUC_PREREQ__(maj, min) \ +#define __GNUC_PREREQ__(maj, min) \ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) #else #define __GNUC_PREREQ__(maj, min) 0 @@ -43,25 +44,24 @@ #endif #ifndef __ATOMIC_RELAXED -#define __ATOMIC_RELAXED 0 +#define __ATOMIC_RELAXED 0 #endif #ifndef __ATOMIC_CONSUME -#define __ATOMIC_CONSUME 1 +#define __ATOMIC_CONSUME 1 #endif #ifndef __ATOMIC_ACQUIRE -#define __ATOMIC_ACQUIRE 2 +#define __ATOMIC_ACQUIRE 2 #endif #ifndef __ATOMIC_RELEASE -#define __ATOMIC_RELEASE 3 +#define __ATOMIC_RELEASE 3 #endif #ifndef __ATOMIC_ACQ_REL -#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_ACQ_REL 4 #endif #ifndef __ATOMIC_SEQ_CST -#define __ATOMIC_SEQ_CST 5 +#define __ATOMIC_SEQ_CST 5 #endif - enum memory_order { memory_order_relaxed = __ATOMIC_RELAXED, memory_order_consume = __ATOMIC_CONSUME, @@ -74,117 +74,119 @@ enum memory_order { typedef enum memory_order memory_order; typedef struct atomic_int_fast32 { - isc_mutex_t m; + isc_mutex_t m; int_fast32_t v; } atomic_int_fast32_t; typedef struct atomic_int_fast64 { - isc_mutex_t m; + isc_mutex_t m; int_fast64_t v; } atomic_int_fast64_t; typedef struct atomic_uint_fast32 { - isc_mutex_t m; + isc_mutex_t m; uint_fast32_t v; } atomic_uint_fast32_t; typedef struct atomic_uint_fast64 { - isc_mutex_t m; + isc_mutex_t m; uint_fast64_t v; } atomic_uint_fast64_t; typedef struct atomic_uintptr { isc_mutex_t m; - uintptr_t v; + uintptr_t v; } atomic_uintptr_t; typedef struct atomic_bool_s { isc_mutex_t m; - bool v; + bool v; } atomic_bool; -#define ATOMIC_VAR_INIT(arg) \ - { .m = PTHREAD_MUTEX_INITIALIZER, .v = arg } +#define ATOMIC_VAR_INIT(arg) \ + { \ + .m = PTHREAD_MUTEX_INITIALIZER, .v = arg \ + } -#define atomic_init(obj, desired) \ - { \ - isc_mutex_init(&(obj)->m); \ - (obj)->v = desired; \ +#define atomic_init(obj, desired) \ + { \ + isc_mutex_init(&(obj)->m); \ + (obj)->v = desired; \ } -#define atomic_load_explicit(obj, order) \ - ({ \ - typeof((obj)->v) ___v; \ - REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ - ___v = (obj)->v; \ - REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ - ___v; \ +#define atomic_load_explicit(obj, order) \ + ({ \ + typeof((obj)->v) ___v; \ + REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ + ___v = (obj)->v; \ + REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ + ___v; \ }) -#define atomic_store_explicit(obj, desired, order) \ - { \ - REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ - (obj)->v = desired; \ - REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ +#define atomic_store_explicit(obj, desired, order) \ + { \ + REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ + (obj)->v = desired; \ + REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ } -#define atomic_fetch_add_explicit(obj, arg, order) \ - ({ \ - typeof((obj)->v) ___v; \ - REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ - ___v = (obj)->v; \ - (obj)->v += arg; \ - REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ - ___v;\ +#define atomic_fetch_add_explicit(obj, arg, order) \ + ({ \ + typeof((obj)->v) ___v; \ + REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ + ___v = (obj)->v; \ + (obj)->v += arg; \ + REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ + ___v; \ }) -#define atomic_fetch_sub_explicit(obj, arg, order) \ - ({ typeof((obj)->v) ___v; \ - REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ - ___v = (obj)->v; \ - (obj)->v -= arg; \ - REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ - ___v;\ +#define atomic_fetch_sub_explicit(obj, arg, order) \ + ({ \ + typeof((obj)->v) ___v; \ + REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ + ___v = (obj)->v; \ + (obj)->v -= arg; \ + REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ + ___v; \ }) -#define atomic_fetch_and_explicit(obj, arg, order) \ - ({ \ - typeof((obj)->v) ___v; \ - REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ - ___v = (obj)->v; \ - (obj)->v &= arg; \ - REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ - ___v;\ +#define atomic_fetch_and_explicit(obj, arg, order) \ + ({ \ + typeof((obj)->v) ___v; \ + REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ + ___v = (obj)->v; \ + (obj)->v &= arg; \ + REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ + ___v; \ }) -#define atomic_fetch_or_explicit(obj, arg, order) \ - ({ \ - typeof((obj)->v) ___v; \ - REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ - ___v = (obj)->v; \ - (obj)->v |= arg; \ - REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ - ___v;\ +#define atomic_fetch_or_explicit(obj, arg, order) \ + ({ \ + typeof((obj)->v) ___v; \ + REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ + ___v = (obj)->v; \ + (obj)->v |= arg; \ + REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ + ___v; \ }) -#define atomic_compare_exchange_strong_explicit(obj, expected, desired, \ - succ, fail) \ - ({ \ - bool ___v; \ - REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ - ___v = ((obj)->v == *expected); \ - *expected = (obj)->v; \ - (obj)->v = ___v ? desired : (obj)->v; \ - REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ - ___v; \ +#define atomic_compare_exchange_strong_explicit(obj, expected, desired, succ, \ + fail) \ + ({ \ + bool ___v; \ + REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ + ___v = ((obj)->v == *expected); \ + *expected = (obj)->v; \ + (obj)->v = ___v ? desired : (obj)->v; \ + REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ + ___v; \ }) -#define atomic_compare_exchange_weak_explicit(obj, expected, desired, \ - succ, fail) \ - ({ \ - bool ___v; \ - REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ - ___v = ((obj)->v == *expected); \ - *expected = (obj)->v; \ - (obj)->v = ___v ? desired : (obj)->v; \ - REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ - ___v; \ +#define atomic_compare_exchange_weak_explicit(obj, expected, desired, succ, \ + fail) \ + ({ \ + bool ___v; \ + REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ + ___v = ((obj)->v == *expected); \ + *expected = (obj)->v; \ + (obj)->v = ___v ? desired : (obj)->v; \ + REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ + ___v; \ }) -#define atomic_load(obj) \ - atomic_load_explicit(obj, memory_order_seq_cst) +#define atomic_load(obj) atomic_load_explicit(obj, memory_order_seq_cst) #define atomic_store(obj, arg) \ atomic_store_explicit(obj, arg, memory_order_seq_cst) #define atomic_fetch_add(obj, arg) \ @@ -195,22 +197,22 @@ typedef struct atomic_bool_s { atomic_fetch_and_explicit(obj, arg, memory_order_seq_cst) #define atomic_fetch_or(obj, arg) \ atomic_fetch_or_explicit(obj, arg, memory_order_seq_cst) -#define atomic_compare_exchange_strong(obj, expected, desired) \ +#define atomic_compare_exchange_strong(obj, expected, desired) \ atomic_compare_exchange_strong_explicit(obj, expected, desired, \ - memory_order_seq_cst, \ + memory_order_seq_cst, \ memory_order_seq_cst) -#define atomic_compare_exchange_weak(obj, expected, desired) \ +#define atomic_compare_exchange_weak(obj, expected, desired) \ atomic_compare_exchange_weak_explicit(obj, expected, desired, \ memory_order_seq_cst, \ memory_order_seq_cst) -#define atomic_exchange_explicit(obj, desired, order) \ - ({ \ - typeof((obj)->v) ___v; \ - REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ - ___v = (obj)->v; \ - (obj)->v = desired; \ - REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ - ___v; \ +#define atomic_exchange_explicit(obj, desired, order) \ + ({ \ + typeof((obj)->v) ___v; \ + REQUIRE(isc_mutex_lock(&(obj)->m) == ISC_R_SUCCESS); \ + ___v = (obj)->v; \ + (obj)->v = desired; \ + REQUIRE(isc_mutex_unlock(&(obj)->m) == ISC_R_SUCCESS); \ + ___v; \ }) #define atomic_exchange(obj, desired) \ atomic_exchange_explicit(obj, desired, memory_order_seq_cst) diff --git a/lib/isc/include/isc/mutexblock.h b/lib/isc/include/isc/mutexblock.h index e40196991c..bd941b6c6b 100644 --- a/lib/isc/include/isc/mutexblock.h +++ b/lib/isc/include/isc/mutexblock.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_MUTEXBLOCK_H #define ISC_MUTEXBLOCK_H 1 diff --git a/lib/isc/include/isc/netaddr.h b/lib/isc/include/isc/netaddr.h index cd045af5cc..37622f4c1f 100644 --- a/lib/isc/include/isc/netaddr.h +++ b/lib/isc/include/isc/netaddr.h @@ -9,14 +9,13 @@ * information regarding copyright ownership. */ - #ifndef ISC_NETADDR_H #define ISC_NETADDR_H 1 /*! \file isc/netaddr.h */ -#include #include +#include #include #include @@ -32,7 +31,7 @@ ISC_LANG_BEGINDECLS struct isc_netaddr { unsigned int family; union { - struct in_addr in; + struct in_addr in; struct in6_addr in6; #ifdef ISC_PLATFORM_HAVESYSUNH char un[sizeof(((struct sockaddr_un *)0)->sun_path)]; diff --git a/lib/isc/include/isc/netmgr.h b/lib/isc/include/isc/netmgr.h index 7391021179..61ce94b2b2 100644 --- a/lib/isc/include/isc/netmgr.h +++ b/lib/isc/include/isc/netmgr.h @@ -160,9 +160,8 @@ typedef void (*isc_nm_cb_t)(isc_nmhandle_t *handle, isc_result_t result, */ isc_result_t -isc_nm_listenudp(isc_nm_t *mgr, isc_nmiface_t *iface, - isc_nm_recv_cb_t cb, void *cbarg, - size_t extrasize, isc_nmsocket_t **sockp); +isc_nm_listenudp(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nm_recv_cb_t cb, + void *cbarg, size_t extrasize, isc_nmsocket_t **sockp); /*%< * Start listening for UDP packets on interface 'iface' using net manager * 'mgr'. @@ -217,8 +216,8 @@ isc_nm_resumeread(isc_nmsocket_t *sock); */ isc_result_t -isc_nm_send(isc_nmhandle_t *handle, isc_region_t *region, - isc_nm_cb_t cb, void *cbarg); +isc_nm_send(isc_nmhandle_t *handle, isc_region_t *region, isc_nm_cb_t cb, + void *cbarg); /*%< * Send the data in 'region' via 'handle'. Afterward, the callback 'cb' is * called with the argument 'cbarg'. @@ -228,11 +227,9 @@ isc_nm_send(isc_nmhandle_t *handle, isc_region_t *region, */ isc_result_t -isc_nm_listentcp(isc_nm_t *mgr, isc_nmiface_t *iface, - isc_nm_cb_t cb, void *cbarg, - size_t extrahandlesize, int backlog, - isc_quota_t *quota, - isc_nmsocket_t **sockp); +isc_nm_listentcp(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nm_cb_t cb, + void *cbarg, size_t extrahandlesize, int backlog, + isc_quota_t *quota, isc_nmsocket_t **sockp); /*%< * Start listening for raw messages over the TCP interface 'iface', using * net manager 'mgr'. @@ -261,9 +258,8 @@ isc_nm_tcp_stoplistening(isc_nmsocket_t *sock); */ isc_result_t -isc_nm_listentcpdns(isc_nm_t *mgr, isc_nmiface_t *iface, - isc_nm_recv_cb_t cb, void *cbarg, - isc_nm_cb_t accept_cb, void *accept_cbarg, +isc_nm_listentcpdns(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nm_recv_cb_t cb, + void *cbarg, isc_nm_cb_t accept_cb, void *accept_cbarg, size_t extrahandlesize, int backlog, isc_quota_t *quota, isc_nmsocket_t **sockp); /*%< @@ -324,7 +320,7 @@ isc_nm_tcpdns_keepalive(isc_nmhandle_t *handle); void isc_nm_tcp_settimeouts(isc_nm_t *mgr, uint32_t init, uint32_t idle, - uint32_t keepalive, uint32_t advertised); + uint32_t keepalive, uint32_t advertised); /*%< * Sets the initial, idle, and keepalive timeout values to use for * TCP connections, and the timeout value to advertise in responses using diff --git a/lib/isc/include/isc/netscope.h b/lib/isc/include/isc/netscope.h index 22224a1560..d9787a9f31 100644 --- a/lib/isc/include/isc/netscope.h +++ b/lib/isc/include/isc/netscope.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_NETSCOPE_H #define ISC_NETSCOPE_H 1 diff --git a/lib/isc/include/isc/os.h b/lib/isc/include/isc/os.h index eb8223e925..b541612f00 100644 --- a/lib/isc/include/isc/os.h +++ b/lib/isc/include/isc/os.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_OS_H #define ISC_OS_H 1 diff --git a/lib/isc/include/isc/parseint.h b/lib/isc/include/isc/parseint.h index 41e8a6ceba..4f05dbab34 100644 --- a/lib/isc/include/isc/parseint.h +++ b/lib/isc/include/isc/parseint.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_PARSEINT_H #define ISC_PARSEINT_H 1 diff --git a/lib/isc/include/isc/pool.h b/lib/isc/include/isc/pool.h index a648312a67..4c2e3b56f5 100644 --- a/lib/isc/include/isc/pool.h +++ b/lib/isc/include/isc/pool.h @@ -26,7 +26,6 @@ * independent task or memory context. */ - /*** *** Imports. ***/ @@ -41,11 +40,9 @@ ISC_LANG_BEGINDECLS ***** Types. *****/ -typedef void -(*isc_pooldeallocator_t)(void **object); +typedef void (*isc_pooldeallocator_t)(void **object); -typedef isc_result_t -(*isc_poolinitializer_t)(void **target, void *arg); +typedef isc_result_t (*isc_poolinitializer_t)(void **target, void *arg); typedef struct isc_pool isc_pool_t; @@ -54,10 +51,8 @@ typedef struct isc_pool isc_pool_t; *****/ isc_result_t -isc_pool_create(isc_mem_t *mctx, unsigned int count, - isc_pooldeallocator_t free, - isc_poolinitializer_t init, void *initarg, - isc_pool_t **poolp); +isc_pool_create(isc_mem_t *mctx, unsigned int count, isc_pooldeallocator_t free, + isc_poolinitializer_t init, void *initarg, isc_pool_t **poolp); /*%< * Create a pool of "count" object pointers. If 'free' is not NULL, * it points to a function that will detach the objects. 'init' diff --git a/lib/isc/include/isc/portset.h b/lib/isc/include/isc/portset.h index 1f0d928cca..0c40776692 100644 --- a/lib/isc/include/isc/portset.h +++ b/lib/isc/include/isc/portset.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file isc/portset.h * \brief Transport Protocol Port Manipulation Module * @@ -134,4 +133,4 @@ isc_portset_removerange(isc_portset_t *portset, in_port_t port_lo, ISC_LANG_ENDDECLS -#endif /* ISC_PORTSET_H */ +#endif /* ISC_PORTSET_H */ diff --git a/lib/isc/include/isc/print.h b/lib/isc/include/isc/print.h index 928d708b5b..0797a9c69f 100644 --- a/lib/isc/include/isc/print.h +++ b/lib/isc/include/isc/print.h @@ -18,7 +18,7 @@ *** Imports ***/ -#include /* Required for ISC_FORMAT_PRINTF() macro. */ +#include /* Required for ISC_FORMAT_PRINTF() macro. */ #include #include diff --git a/lib/isc/include/isc/quota.h b/lib/isc/include/isc/quota.h index 16f6181cda..39a7d9779e 100644 --- a/lib/isc/include/isc/quota.h +++ b/lib/isc/include/isc/quota.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_QUOTA_H #define ISC_QUOTA_H 1 @@ -43,12 +42,11 @@ ISC_LANG_BEGINDECLS /*% isc_quota structure */ struct isc_quota { - atomic_uint_fast32_t max; - atomic_uint_fast32_t used; - atomic_uint_fast32_t soft; + atomic_uint_fast32_t max; + atomic_uint_fast32_t used; + atomic_uint_fast32_t soft; }; - void isc_quota_init(isc_quota_t *quota, unsigned int max); /*%< diff --git a/lib/isc/include/isc/radix.h b/lib/isc/include/isc/radix.h index feaf2e3157..1a2fcc909f 100644 --- a/lib/isc/include/isc/radix.h +++ b/lib/isc/include/isc/radix.h @@ -13,42 +13,41 @@ #define _RADIX_H #include +#include #include -#include #include #include #include +#include -#include - -#define NETADDR_TO_PREFIX_T(na,pt,bits) \ - do { \ - const void *p = na; \ - memset(&(pt), 0, sizeof(pt)); \ - if (p != NULL) { \ - (pt).family = (na)->family; \ - (pt).bitlen = (bits); \ - if ((pt).family == AF_INET6) { \ +#define NETADDR_TO_PREFIX_T(na, pt, bits) \ + do { \ + const void *p = na; \ + memset(&(pt), 0, sizeof(pt)); \ + if (p != NULL) { \ + (pt).family = (na)->family; \ + (pt).bitlen = (bits); \ + if ((pt).family == AF_INET6) { \ memmove(&(pt).add.sin6, &(na)->type.in6, \ - ((bits)+7)/8); \ - } else \ - memmove(&(pt).add.sin, &(na)->type.in, \ - ((bits)+7)/8); \ - } else { \ - (pt).family = AF_UNSPEC; \ - (pt).bitlen = 0; \ - } \ - isc_refcount_init(&(pt).refcount, 0); \ - } while(0) + ((bits) + 7) / 8); \ + } else \ + memmove(&(pt).add.sin, &(na)->type.in, \ + ((bits) + 7) / 8); \ + } else { \ + (pt).family = AF_UNSPEC; \ + (pt).bitlen = 0; \ + } \ + isc_refcount_init(&(pt).refcount, 0); \ + } while (0) typedef struct isc_prefix { - isc_mem_t *mctx; - unsigned int family; /* AF_INET | AF_INET6, or AF_UNSPEC for "any" */ - unsigned int bitlen; /* 0 for "any" */ + isc_mem_t * mctx; + unsigned int family; /* AF_INET | AF_INET6, or AF_UNSPEC for "any" */ + unsigned int bitlen; /* 0 for "any" */ isc_refcount_t refcount; union { - struct in_addr sin; + struct in_addr sin; struct in6_addr sin6; } add; } isc_prefix_t; @@ -85,26 +84,26 @@ typedef void (*isc_radix_processfunc_t)(isc_prefix_t *, void **); #define ISC_RADIX_FAMILY(p) (((p)->family == AF_INET6) ? RADIX_V6 : RADIX_V4) typedef struct isc_radix_node { - isc_mem_t *mctx; - uint32_t bit; /* bit length of the prefix */ - isc_prefix_t *prefix; /* who we are in radix tree */ + isc_mem_t * mctx; + uint32_t bit; /* bit length of the prefix */ + isc_prefix_t * prefix; /* who we are in radix tree */ struct isc_radix_node *l, *r; /* left and right children */ struct isc_radix_node *parent; /* may be used */ void *data[RADIX_FAMILIES]; /* pointers to IPv4 and IPV6 data */ - int node_num[RADIX_FAMILIES]; /* which node this was in the tree, + int node_num[RADIX_FAMILIES]; /* which node this was in the tree, or -1 for glue nodes */ } isc_radix_node_t; -#define RADIX_TREE_MAGIC ISC_MAGIC('R','d','x','T'); -#define RADIX_TREE_VALID(a) ISC_MAGIC_VALID(a, RADIX_TREE_MAGIC); +#define RADIX_TREE_MAGIC ISC_MAGIC('R', 'd', 'x', 'T'); +#define RADIX_TREE_VALID(a) ISC_MAGIC_VALID(a, RADIX_TREE_MAGIC); typedef struct isc_radix_tree { - unsigned int magic; - isc_mem_t *mctx; + unsigned int magic; + isc_mem_t * mctx; isc_radix_node_t *head; - uint32_t maxbits; /* for IP, 32 bit addresses */ - int num_active_node; /* for debugging purposes */ - int num_added_node; /* total number of nodes */ + uint32_t maxbits; /* for IP, 32 bit addresses */ + int num_active_node; /* for debugging purposes */ + int num_added_node; /* total number of nodes */ } isc_radix_tree_t; isc_result_t @@ -187,31 +186,32 @@ isc_radix_process(isc_radix_tree_t *radix, isc_radix_processfunc_t func); */ #define RADIX_MAXBITS 128 -#define RADIX_NBIT(x) (0x80 >> ((x) & 0x7f)) -#define RADIX_NBYTE(x) ((x) >> 3) +#define RADIX_NBIT(x) (0x80 >> ((x)&0x7f)) +#define RADIX_NBYTE(x) ((x) >> 3) -#define RADIX_WALK(Xhead, Xnode) \ - do { \ - isc_radix_node_t *Xstack[RADIX_MAXBITS+1]; \ - isc_radix_node_t **Xsp = Xstack; \ - isc_radix_node_t *Xrn = (Xhead); \ - while ((Xnode = Xrn)) { \ - if (Xnode->prefix) +#define RADIX_WALK(Xhead, Xnode) \ + do { \ + isc_radix_node_t * Xstack[RADIX_MAXBITS + 1]; \ + isc_radix_node_t **Xsp = Xstack; \ + isc_radix_node_t * Xrn = (Xhead); \ + while ((Xnode = Xrn)) { \ + if (Xnode->prefix) -#define RADIX_WALK_END \ - if (Xrn->l) { \ - if (Xrn->r) { \ - *Xsp++ = Xrn->r; \ - } \ - Xrn = Xrn->l; \ - } else if (Xrn->r) { \ - Xrn = Xrn->r; \ - } else if (Xsp != Xstack) { \ - Xrn = *(--Xsp); \ - } else { \ - Xrn = (isc_radix_node_t *) 0; \ - } \ - } \ - } while (0) +#define RADIX_WALK_END \ + if (Xrn->l) { \ + if (Xrn->r) { \ + *Xsp++ = Xrn->r; \ + } \ + Xrn = Xrn->l; \ + } else if (Xrn->r) { \ + Xrn = Xrn->r; \ + } else if (Xsp != Xstack) { \ + Xrn = *(--Xsp); \ + } else { \ + Xrn = (isc_radix_node_t *)0; \ + } \ + } \ + } \ + while (0) #endif /* _RADIX_H */ diff --git a/lib/isc/include/isc/ratelimiter.h b/lib/isc/include/isc/ratelimiter.h index f6320b205a..42733caa66 100644 --- a/lib/isc/include/isc/ratelimiter.h +++ b/lib/isc/include/isc/ratelimiter.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_RATELIMITER_H #define ISC_RATELIMITER_H 1 diff --git a/lib/isc/include/isc/refcount.h b/lib/isc/include/isc/refcount.h index 32ac95a76e..be5060bce7 100644 --- a/lib/isc/include/isc/refcount.h +++ b/lib/isc/include/isc/refcount.h @@ -40,8 +40,7 @@ typedef atomic_uint_fast32_t isc_refcount_t; * * \warning No memory barrier are being imposed here. */ -#define isc_refcount_init(target, value) \ - atomic_init(target, value) +#define isc_refcount_init(target, value) atomic_init(target, value) /** \def isc_refcount_current(ref) * \brief Returns current number of references. @@ -52,15 +51,14 @@ typedef atomic_uint_fast32_t isc_refcount_t; * atomic_load_explicit() by casting to uint_fast32_t. */ -#define isc_refcount_current(target) \ - (uint_fast32_t)atomic_load_acquire(target) +#define isc_refcount_current(target) (uint_fast32_t) atomic_load_acquire(target) /** \def isc_refcount_destroy(ref) * \brief a destructor that makes sure that all references were cleared. * \param[in] ref pointer to reference counter. * \returns nothing. */ -#define isc_refcount_destroy(target) \ +#define isc_refcount_destroy(target) \ ISC_REQUIRE(isc_refcount_current(target) == 0) /** \def isc_refcount_increment0(ref) @@ -70,20 +68,21 @@ typedef atomic_uint_fast32_t isc_refcount_t; */ #if _MSC_VER static inline uint_fast32_t -isc_refcount_increment0(isc_refcount_t *target) { +isc_refcount_increment0(isc_refcount_t *target) +{ uint_fast32_t __v; __v = (uint_fast32_t)atomic_fetch_add_relaxed(target, 1); INSIST(__v < UINT32_MAX); return (__v); } #else /* _MSC_VER */ -#define isc_refcount_increment0(target) \ - ({ \ - /* cppcheck-suppress shadowVariable */ \ - uint_fast32_t __v; \ - __v = atomic_fetch_add_relaxed(target, 1); \ - INSIST(__v < UINT32_MAX); \ - __v; \ +#define isc_refcount_increment0(target) \ + ({ \ + /* cppcheck-suppress shadowVariable */ \ + uint_fast32_t __v; \ + __v = atomic_fetch_add_relaxed(target, 1); \ + INSIST(__v < UINT32_MAX); \ + __v; \ }) #endif /* _MSC_VER */ @@ -94,20 +93,21 @@ isc_refcount_increment0(isc_refcount_t *target) { */ #if _MSC_VER static inline uint_fast32_t -isc_refcount_increment(isc_refcount_t *target) { +isc_refcount_increment(isc_refcount_t *target) +{ uint_fast32_t __v; __v = (uint_fast32_t)atomic_fetch_add_relaxed(target, 1); INSIST(__v > 0 && __v < UINT32_MAX); - return(__v); + return (__v); } #else /* _MSC_VER */ -#define isc_refcount_increment(target) \ - ({ \ - /* cppcheck-suppress shadowVariable */ \ - uint_fast32_t __v; \ - __v = atomic_fetch_add_relaxed(target, 1); \ - INSIST(__v > 0 && __v < UINT32_MAX); \ - __v; \ +#define isc_refcount_increment(target) \ + ({ \ + /* cppcheck-suppress shadowVariable */ \ + uint_fast32_t __v; \ + __v = atomic_fetch_add_relaxed(target, 1); \ + INSIST(__v > 0 && __v < UINT32_MAX); \ + __v; \ }) #endif /* _MSC_VER */ @@ -118,20 +118,21 @@ isc_refcount_increment(isc_refcount_t *target) { */ #if _MSC_VER static inline uint_fast32_t -isc_refcount_decrement(isc_refcount_t *target) { - uint_fast32_t __v; - __v = (uint_fast32_t)atomic_fetch_sub_release(target, 1); - INSIST(__v > 0); - return(__v); +isc_refcount_decrement(isc_refcount_t *target) +{ + uint_fast32_t __v; + __v = (uint_fast32_t)atomic_fetch_sub_release(target, 1); + INSIST(__v > 0); + return (__v); } #else /* _MSC_VER */ -#define isc_refcount_decrement(target) \ - ({ \ - /* cppcheck-suppress shadowVariable */ \ - uint_fast32_t __v; \ - __v = atomic_fetch_sub_release(target, 1); \ - INSIST(__v > 0); \ - __v; \ +#define isc_refcount_decrement(target) \ + ({ \ + /* cppcheck-suppress shadowVariable */ \ + uint_fast32_t __v; \ + __v = atomic_fetch_sub_release(target, 1); \ + INSIST(__v > 0); \ + __v; \ }) #endif /* _MSC_VER */ diff --git a/lib/isc/include/isc/regex.h b/lib/isc/include/isc/regex.h index cab10c1fda..9d59f3f2c6 100644 --- a/lib/isc/include/isc/regex.h +++ b/lib/isc/include/isc/regex.h @@ -14,8 +14,8 @@ /*! \file isc/regex.h */ -#include #include +#include ISC_LANG_BEGINDECLS diff --git a/lib/isc/include/isc/region.h b/lib/isc/include/isc/region.h index ee013547c4..d6b50f7b9b 100644 --- a/lib/isc/include/isc/region.h +++ b/lib/isc/include/isc/region.h @@ -9,36 +9,35 @@ * information regarding copyright ownership. */ - #ifndef ISC_REGION_H #define ISC_REGION_H 1 /*! \file isc/region.h */ -#include #include +#include struct isc_region { - unsigned char * base; - unsigned int length; + unsigned char *base; + unsigned int length; }; struct isc_textregion { - char * base; - unsigned int length; + char * base; + unsigned int length; }; /* XXXDCL questionable ... bears discussion. we have been putting off * discussing the region api. */ struct isc_constregion { - const void * base; - unsigned int length; + const void * base; + unsigned int length; }; struct isc_consttextregion { - const char * base; - unsigned int length; + const char * base; + unsigned int length; }; /*@{*/ @@ -47,31 +46,31 @@ struct isc_consttextregion { * Some macros are defined below for convenience. */ -#define isc_region_consume(r,l) \ - do { \ - isc_region_t *_r = (r); \ - unsigned int _l = (l); \ +#define isc_region_consume(r, l) \ + do { \ + isc_region_t *_r = (r); \ + unsigned int _l = (l); \ INSIST(_r->length >= _l); \ - _r->base += _l; \ - _r->length -= _l; \ + _r->base += _l; \ + _r->length -= _l; \ } while (0) -#define isc_textregion_consume(r,l) \ - do { \ +#define isc_textregion_consume(r, l) \ + do { \ isc_textregion_t *_r = (r); \ - unsigned int _l = (l); \ - INSIST(_r->length >= _l); \ - _r->base += _l; \ - _r->length -= _l; \ + unsigned int _l = (l); \ + INSIST(_r->length >= _l); \ + _r->base += _l; \ + _r->length -= _l; \ } while (0) -#define isc_constregion_consume(r,l) \ - do { \ +#define isc_constregion_consume(r, l) \ + do { \ isc_constregion_t *_r = (r); \ - unsigned int _l = (l); \ - INSIST(_r->length >= _l); \ - _r->base += _l; \ - _r->length -= _l; \ + unsigned int _l = (l); \ + INSIST(_r->length >= _l); \ + _r->base += _l; \ + _r->length -= _l; \ } while (0) /*@}*/ diff --git a/lib/isc/include/isc/resource.h b/lib/isc/include/isc/resource.h index 017923451f..4fa4328833 100644 --- a/lib/isc/include/isc/resource.h +++ b/lib/isc/include/isc/resource.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_RESOURCE_H #define ISC_RESOURCE_H 1 @@ -87,4 +86,3 @@ isc_resource_getcurlimit(isc_resource_t resource, isc_resourcevalue_t *value); ISC_LANG_ENDDECLS #endif /* ISC_RESOURCE_H */ - diff --git a/lib/isc/include/isc/result.h b/lib/isc/include/isc/result.h index a3fbeb047a..25b02f815f 100644 --- a/lib/isc/include/isc/result.h +++ b/lib/isc/include/isc/result.h @@ -17,99 +17,97 @@ #include #include -#define ISC_R_SUCCESS 0 /*%< success */ -#define ISC_R_NOMEMORY 1 /*%< out of memory */ -#define ISC_R_TIMEDOUT 2 /*%< timed out */ -#define ISC_R_NOTHREADS 3 /*%< no available threads */ -#define ISC_R_ADDRNOTAVAIL 4 /*%< address not available */ -#define ISC_R_ADDRINUSE 5 /*%< address in use */ -#define ISC_R_NOPERM 6 /*%< permission denied */ -#define ISC_R_NOCONN 7 /*%< no pending connections */ -#define ISC_R_NETUNREACH 8 /*%< network unreachable */ -#define ISC_R_HOSTUNREACH 9 /*%< host unreachable */ -#define ISC_R_NETDOWN 10 /*%< network down */ -#define ISC_R_HOSTDOWN 11 /*%< host down */ -#define ISC_R_CONNREFUSED 12 /*%< connection refused */ -#define ISC_R_NORESOURCES 13 /*%< not enough free resources */ -#define ISC_R_EOF 14 /*%< end of file */ -#define ISC_R_BOUND 15 /*%< socket already bound */ -#define ISC_R_RELOAD 16 /*%< reload */ -#define ISC_R_SUSPEND ISC_R_RELOAD /*%< alias of 'reload' */ -#define ISC_R_LOCKBUSY 17 /*%< lock busy */ -#define ISC_R_EXISTS 18 /*%< already exists */ -#define ISC_R_NOSPACE 19 /*%< ran out of space */ -#define ISC_R_CANCELED 20 /*%< operation canceled */ -#define ISC_R_NOTBOUND 21 /*%< socket is not bound */ -#define ISC_R_SHUTTINGDOWN 22 /*%< shutting down */ -#define ISC_R_NOTFOUND 23 /*%< not found */ -#define ISC_R_UNEXPECTEDEND 24 /*%< unexpected end of input */ -#define ISC_R_FAILURE 25 /*%< generic failure */ -#define ISC_R_IOERROR 26 /*%< I/O error */ -#define ISC_R_NOTIMPLEMENTED 27 /*%< not implemented */ -#define ISC_R_UNBALANCED 28 /*%< unbalanced parentheses */ -#define ISC_R_NOMORE 29 /*%< no more */ -#define ISC_R_INVALIDFILE 30 /*%< invalid file */ -#define ISC_R_BADBASE64 31 /*%< bad base64 encoding */ -#define ISC_R_UNEXPECTEDTOKEN 32 /*%< unexpected token */ -#define ISC_R_QUOTA 33 /*%< quota reached */ -#define ISC_R_UNEXPECTED 34 /*%< unexpected error */ -#define ISC_R_ALREADYRUNNING 35 /*%< already running */ -#define ISC_R_IGNORE 36 /*%< ignore */ -#define ISC_R_MASKNONCONTIG 37 /*%< addr mask not contiguous */ -#define ISC_R_FILENOTFOUND 38 /*%< file not found */ -#define ISC_R_FILEEXISTS 39 /*%< file already exists */ -#define ISC_R_NOTCONNECTED 40 /*%< socket is not connected */ -#define ISC_R_RANGE 41 /*%< out of range */ -#define ISC_R_NOENTROPY 42 /*%< out of entropy */ -#define ISC_R_MULTICAST 43 /*%< invalid use of multicast */ -#define ISC_R_NOTFILE 44 /*%< not a file */ -#define ISC_R_NOTDIRECTORY 45 /*%< not a directory */ -#define ISC_R_QUEUEFULL 46 /*%< queue is full */ -#define ISC_R_FAMILYMISMATCH 47 /*%< address family mismatch */ -#define ISC_R_FAMILYNOSUPPORT 48 /*%< AF not supported */ -#define ISC_R_BADHEX 49 /*%< bad hex encoding */ -#define ISC_R_TOOMANYOPENFILES 50 /*%< too many open files */ -#define ISC_R_NOTBLOCKING 51 /*%< not blocking */ -#define ISC_R_UNBALANCEDQUOTES 52 /*%< unbalanced quotes */ -#define ISC_R_INPROGRESS 53 /*%< operation in progress */ -#define ISC_R_CONNECTIONRESET 54 /*%< connection reset */ -#define ISC_R_SOFTQUOTA 55 /*%< soft quota reached */ -#define ISC_R_BADNUMBER 56 /*%< not a valid number */ -#define ISC_R_DISABLED 57 /*%< disabled */ -#define ISC_R_MAXSIZE 58 /*%< max size */ -#define ISC_R_BADADDRESSFORM 59 /*%< invalid address format */ -#define ISC_R_BADBASE32 60 /*%< bad base32 encoding */ -#define ISC_R_UNSET 61 /*%< unset */ -#define ISC_R_MULTIPLE 62 /*%< multiple */ -#define ISC_R_WOULDBLOCK 63 /*%< would block */ -#define ISC_R_COMPLETE 64 /*%< complete */ -#define ISC_R_CRYPTOFAILURE 65 /*%< cryptography library failure */ -#define ISC_R_DISCQUOTA 66 /*%< disc quota */ -#define ISC_R_DISCFULL 67 /*%< disc full */ -#define ISC_R_DEFAULT 68 /*%< default */ -#define ISC_R_IPV4PREFIX 69 /*%< IPv4 prefix */ +#define ISC_R_SUCCESS 0 /*%< success */ +#define ISC_R_NOMEMORY 1 /*%< out of memory */ +#define ISC_R_TIMEDOUT 2 /*%< timed out */ +#define ISC_R_NOTHREADS 3 /*%< no available threads */ +#define ISC_R_ADDRNOTAVAIL 4 /*%< address not available */ +#define ISC_R_ADDRINUSE 5 /*%< address in use */ +#define ISC_R_NOPERM 6 /*%< permission denied */ +#define ISC_R_NOCONN 7 /*%< no pending connections */ +#define ISC_R_NETUNREACH 8 /*%< network unreachable */ +#define ISC_R_HOSTUNREACH 9 /*%< host unreachable */ +#define ISC_R_NETDOWN 10 /*%< network down */ +#define ISC_R_HOSTDOWN 11 /*%< host down */ +#define ISC_R_CONNREFUSED 12 /*%< connection refused */ +#define ISC_R_NORESOURCES 13 /*%< not enough free resources */ +#define ISC_R_EOF 14 /*%< end of file */ +#define ISC_R_BOUND 15 /*%< socket already bound */ +#define ISC_R_RELOAD 16 /*%< reload */ +#define ISC_R_SUSPEND ISC_R_RELOAD /*%< alias of 'reload' */ +#define ISC_R_LOCKBUSY 17 /*%< lock busy */ +#define ISC_R_EXISTS 18 /*%< already exists */ +#define ISC_R_NOSPACE 19 /*%< ran out of space */ +#define ISC_R_CANCELED 20 /*%< operation canceled */ +#define ISC_R_NOTBOUND 21 /*%< socket is not bound */ +#define ISC_R_SHUTTINGDOWN 22 /*%< shutting down */ +#define ISC_R_NOTFOUND 23 /*%< not found */ +#define ISC_R_UNEXPECTEDEND 24 /*%< unexpected end of input */ +#define ISC_R_FAILURE 25 /*%< generic failure */ +#define ISC_R_IOERROR 26 /*%< I/O error */ +#define ISC_R_NOTIMPLEMENTED 27 /*%< not implemented */ +#define ISC_R_UNBALANCED 28 /*%< unbalanced parentheses */ +#define ISC_R_NOMORE 29 /*%< no more */ +#define ISC_R_INVALIDFILE 30 /*%< invalid file */ +#define ISC_R_BADBASE64 31 /*%< bad base64 encoding */ +#define ISC_R_UNEXPECTEDTOKEN 32 /*%< unexpected token */ +#define ISC_R_QUOTA 33 /*%< quota reached */ +#define ISC_R_UNEXPECTED 34 /*%< unexpected error */ +#define ISC_R_ALREADYRUNNING 35 /*%< already running */ +#define ISC_R_IGNORE 36 /*%< ignore */ +#define ISC_R_MASKNONCONTIG 37 /*%< addr mask not contiguous */ +#define ISC_R_FILENOTFOUND 38 /*%< file not found */ +#define ISC_R_FILEEXISTS 39 /*%< file already exists */ +#define ISC_R_NOTCONNECTED 40 /*%< socket is not connected */ +#define ISC_R_RANGE 41 /*%< out of range */ +#define ISC_R_NOENTROPY 42 /*%< out of entropy */ +#define ISC_R_MULTICAST 43 /*%< invalid use of multicast */ +#define ISC_R_NOTFILE 44 /*%< not a file */ +#define ISC_R_NOTDIRECTORY 45 /*%< not a directory */ +#define ISC_R_QUEUEFULL 46 /*%< queue is full */ +#define ISC_R_FAMILYMISMATCH 47 /*%< address family mismatch */ +#define ISC_R_FAMILYNOSUPPORT 48 /*%< AF not supported */ +#define ISC_R_BADHEX 49 /*%< bad hex encoding */ +#define ISC_R_TOOMANYOPENFILES 50 /*%< too many open files */ +#define ISC_R_NOTBLOCKING 51 /*%< not blocking */ +#define ISC_R_UNBALANCEDQUOTES 52 /*%< unbalanced quotes */ +#define ISC_R_INPROGRESS 53 /*%< operation in progress */ +#define ISC_R_CONNECTIONRESET 54 /*%< connection reset */ +#define ISC_R_SOFTQUOTA 55 /*%< soft quota reached */ +#define ISC_R_BADNUMBER 56 /*%< not a valid number */ +#define ISC_R_DISABLED 57 /*%< disabled */ +#define ISC_R_MAXSIZE 58 /*%< max size */ +#define ISC_R_BADADDRESSFORM 59 /*%< invalid address format */ +#define ISC_R_BADBASE32 60 /*%< bad base32 encoding */ +#define ISC_R_UNSET 61 /*%< unset */ +#define ISC_R_MULTIPLE 62 /*%< multiple */ +#define ISC_R_WOULDBLOCK 63 /*%< would block */ +#define ISC_R_COMPLETE 64 /*%< complete */ +#define ISC_R_CRYPTOFAILURE 65 /*%< cryptography library failure */ +#define ISC_R_DISCQUOTA 66 /*%< disc quota */ +#define ISC_R_DISCFULL 67 /*%< disc full */ +#define ISC_R_DEFAULT 68 /*%< default */ +#define ISC_R_IPV4PREFIX 69 /*%< IPv4 prefix */ /*% Not a result code: the number of results. */ -#define ISC_R_NRESULTS 70 +#define ISC_R_NRESULTS 70 ISC_LANG_BEGINDECLS -const char * -isc_result_totext(isc_result_t); +const char *isc_result_totext(isc_result_t); /*%< * Convert an isc_result_t into a string message describing the result. */ -const char * -isc_result_toid(isc_result_t); +const char *isc_result_toid(isc_result_t); /*%< * Convert an isc_result_t into a string identifier such as * "ISC_R_SUCCESS". */ isc_result_t -isc_result_register(unsigned int base, unsigned int nresults, - const char **text, int set); +isc_result_register(unsigned int base, unsigned int nresults, const char **text, + int set); isc_result_t isc_result_registerids(unsigned int base, unsigned int nresults, diff --git a/lib/isc/include/isc/resultclass.h b/lib/isc/include/isc/resultclass.h index 08135f4180..6f06137325 100644 --- a/lib/isc/include/isc/resultclass.h +++ b/lib/isc/include/isc/resultclass.h @@ -9,11 +9,9 @@ * information regarding copyright ownership. */ - #ifndef ISC_RESULTCLASS_H #define ISC_RESULTCLASS_H 1 - /*! \file isc/resultclass.h * \brief Registry of Predefined Result Type Classes * @@ -25,20 +23,19 @@ * Result classes >= 1024 and <= 65535 are reserved for application use. */ -#define ISC_RESULTCLASS_FROMNUM(num) ((num) << 16) -#define ISC_RESULTCLASS_TONUM(rclass) ((rclass) >> 16) -#define ISC_RESULTCLASS_SIZE 65536 +#define ISC_RESULTCLASS_FROMNUM(num) ((num) << 16) +#define ISC_RESULTCLASS_TONUM(rclass) ((rclass) >> 16) +#define ISC_RESULTCLASS_SIZE 65536 #define ISC_RESULTCLASS_INCLASS(rclass, result) \ - ((rclass) == ((result) & 0xFFFF0000)) + ((rclass) == ((result)&0xFFFF0000)) - -#define ISC_RESULTCLASS_ISC ISC_RESULTCLASS_FROMNUM(0) -#define ISC_RESULTCLASS_DNS ISC_RESULTCLASS_FROMNUM(1) -#define ISC_RESULTCLASS_DST ISC_RESULTCLASS_FROMNUM(2) -#define ISC_RESULTCLASS_DNSRCODE ISC_RESULTCLASS_FROMNUM(3) -#define ISC_RESULTCLASS_OMAPI ISC_RESULTCLASS_FROMNUM(4) -#define ISC_RESULTCLASS_ISCCC ISC_RESULTCLASS_FROMNUM(5) -#define ISC_RESULTCLASS_DHCP ISC_RESULTCLASS_FROMNUM(6) -#define ISC_RESULTCLASS_PK11 ISC_RESULTCLASS_FROMNUM(7) +#define ISC_RESULTCLASS_ISC ISC_RESULTCLASS_FROMNUM(0) +#define ISC_RESULTCLASS_DNS ISC_RESULTCLASS_FROMNUM(1) +#define ISC_RESULTCLASS_DST ISC_RESULTCLASS_FROMNUM(2) +#define ISC_RESULTCLASS_DNSRCODE ISC_RESULTCLASS_FROMNUM(3) +#define ISC_RESULTCLASS_OMAPI ISC_RESULTCLASS_FROMNUM(4) +#define ISC_RESULTCLASS_ISCCC ISC_RESULTCLASS_FROMNUM(5) +#define ISC_RESULTCLASS_DHCP ISC_RESULTCLASS_FROMNUM(6) +#define ISC_RESULTCLASS_PK11 ISC_RESULTCLASS_FROMNUM(7) #endif /* ISC_RESULTCLASS_H */ diff --git a/lib/isc/include/isc/rwlock.h b/lib/isc/include/isc/rwlock.h index 677b570242..f4bb6da117 100644 --- a/lib/isc/include/isc/rwlock.h +++ b/lib/isc/include/isc/rwlock.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_RWLOCK_H #define ISC_RWLOCK_H 1 @@ -35,17 +34,17 @@ typedef enum { #include struct isc_rwlock { - pthread_rwlock_t rwlock; - atomic_bool downgrade; + pthread_rwlock_t rwlock; + atomic_bool downgrade; }; #else /* USE_PTHREAD_RWLOCK */ struct isc_rwlock { /* Unlocked. */ - unsigned int magic; - isc_mutex_t lock; - atomic_int_fast32_t spins; + unsigned int magic; + isc_mutex_t lock; + atomic_int_fast32_t spins; /* * When some atomic instructions with hardware assistance are @@ -61,21 +60,20 @@ struct isc_rwlock { */ /* Read or modified atomically. */ - atomic_int_fast32_t write_requests; - atomic_int_fast32_t write_completions; - atomic_int_fast32_t cnt_and_flag; + atomic_int_fast32_t write_requests; + atomic_int_fast32_t write_completions; + atomic_int_fast32_t cnt_and_flag; /* Locked by lock. */ - isc_condition_t readable; - isc_condition_t writeable; - unsigned int readers_waiting; + isc_condition_t readable; + isc_condition_t writeable; + unsigned int readers_waiting; /* Locked by rwlock itself. */ - atomic_uint_fast32_t write_granted; + atomic_uint_fast32_t write_granted; /* Unlocked. */ - unsigned int write_quota; - + unsigned int write_quota; }; #endif /* USE_PTHREAD_RWLOCK */ diff --git a/lib/isc/include/isc/safe.h b/lib/isc/include/isc/safe.h index eb6ac91f55..7fbcd60f86 100644 --- a/lib/isc/include/isc/safe.h +++ b/lib/isc/include/isc/safe.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_SAFE_H #define ISC_SAFE_H 1 diff --git a/lib/isc/include/isc/serial.h b/lib/isc/include/isc/serial.h index 4c6d155ef4..1ad0fdf762 100644 --- a/lib/isc/include/isc/serial.h +++ b/lib/isc/include/isc/serial.h @@ -9,12 +9,11 @@ * information regarding copyright ownership. */ - #ifndef ISC_SERIAL_H #define ISC_SERIAL_H 1 -#include #include +#include #include #include diff --git a/lib/isc/include/isc/siphash.h b/lib/isc/include/isc/siphash.h index 1dd5318a8a..b3406357e5 100644 --- a/lib/isc/include/isc/siphash.h +++ b/lib/isc/include/isc/siphash.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file isc/siphash.h */ #pragma once @@ -24,8 +23,7 @@ ISC_LANG_BEGINDECLS void -isc_siphash24(const uint8_t *key, - const uint8_t *in, const size_t inlen, +isc_siphash24(const uint8_t *key, const uint8_t *in, const size_t inlen, uint8_t *out); ISC_LANG_ENDDECLS diff --git a/lib/isc/include/isc/sockaddr.h b/lib/isc/include/isc/sockaddr.h index 1588ba9645..ac48420350 100644 --- a/lib/isc/include/isc/sockaddr.h +++ b/lib/isc/include/isc/sockaddr.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_SOCKADDR_H #define ISC_SOCKADDR_H 1 @@ -31,21 +30,25 @@ struct isc_sockaddr { struct sockaddr_in6 sin6; struct sockaddr_storage ss; #ifdef ISC_PLATFORM_HAVESYSUNH - struct sockaddr_un sunix; + struct sockaddr_un sunix; #endif - } type; - unsigned int length; /* XXXRTH beginning? */ - ISC_LINK(struct isc_sockaddr) link; + } type; + unsigned int length; /* XXXRTH beginning? */ + ISC_LINK(struct isc_sockaddr) link; }; -#define ISC_SOCKADDR_CMPADDR 0x0001 /*%< compare the address - * sin_addr/sin6_addr */ -#define ISC_SOCKADDR_CMPPORT 0x0002 /*%< compare the port - * sin_port/sin6_port */ -#define ISC_SOCKADDR_CMPSCOPE 0x0004 /*%< compare the scope - * sin6_scope */ -#define ISC_SOCKADDR_CMPSCOPEZERO 0x0008 /*%< when comparing scopes - * zero scopes always match */ +#define ISC_SOCKADDR_CMPADDR \ + 0x0001 /*%< compare the address \ + * sin_addr/sin6_addr */ +#define ISC_SOCKADDR_CMPPORT \ + 0x0002 /*%< compare the port \ + * sin_port/sin6_port */ +#define ISC_SOCKADDR_CMPSCOPE \ + 0x0004 /*%< compare the scope \ + * sin6_scope */ +#define ISC_SOCKADDR_CMPSCOPEZERO \ + 0x0008 /*%< when comparing scopes \ + * zero scopes always match */ ISC_LANG_BEGINDECLS @@ -233,9 +236,9 @@ isc_sockaddr_frompath(isc_sockaddr_t *sockaddr, const char *path); isc_result_t isc_sockaddr_fromsockaddr(isc_sockaddr_t *isa, const struct sockaddr *sa); - -#define ISC_SOCKADDR_FORMATSIZE \ - sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:XXX.XXX.XXX.XXX%SSSSSSSSSS#YYYYY") +#define ISC_SOCKADDR_FORMATSIZE \ + sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:XXX.XXX.XXX.XXX%SSSSSSSSSS#" \ + "YYYYY") /*%< * Minimum size of array to pass to isc_sockaddr_format(). */ diff --git a/lib/isc/include/isc/socket.h b/lib/isc/include/isc/socket.h index e90d2da241..164338b3ed 100644 --- a/lib/isc/include/isc/socket.h +++ b/lib/isc/include/isc/socket.h @@ -70,7 +70,7 @@ ISC_LANG_BEGINDECLS * Maximum number of buffers in a scatter/gather read/write. The operating * system in use must support at least this number (plus one on some.) */ -#define ISC_SOCKET_MAXSCATTERGATHER 8 +#define ISC_SOCKET_MAXSCATTERGATHER 8 /*@{*/ /*! @@ -81,7 +81,7 @@ ISC_LANG_BEGINDECLS * AF_INET and AF_INET6). */ typedef enum { - ISC_SOCKET_REUSEADDRESS = 0x01U, + ISC_SOCKET_REUSEADDRESS = 0x01U, } isc_socket_options_t; /*@}*/ @@ -99,14 +99,14 @@ typedef enum { * _USEMINMTU: Set the per packet IPV6_USE_MIN_MTU flag. */ typedef enum { - ISC_SOCKEVENTATTR_ATTACHED = 0x10000000U, /* internal */ - ISC_SOCKEVENTATTR_TRUNC = 0x00800000U, /* public */ - ISC_SOCKEVENTATTR_CTRUNC = 0x00400000U, /* public */ - ISC_SOCKEVENTATTR_TIMESTAMP = 0x00200000U, /* public */ - ISC_SOCKEVENTATTR_PKTINFO = 0x00100000U, /* public */ - ISC_SOCKEVENTATTR_MULTICAST = 0x00080000U, /* public */ - ISC_SOCKEVENTATTR_DSCP = 0x00040000U, /* public */ - ISC_SOCKEVENTATTR_USEMINMTU = 0x00020000U /* public */ + ISC_SOCKEVENTATTR_ATTACHED = 0x10000000U, /* internal */ + ISC_SOCKEVENTATTR_TRUNC = 0x00800000U, /* public */ + ISC_SOCKEVENTATTR_CTRUNC = 0x00400000U, /* public */ + ISC_SOCKEVENTATTR_TIMESTAMP = 0x00200000U, /* public */ + ISC_SOCKEVENTATTR_PKTINFO = 0x00100000U, /* public */ + ISC_SOCKEVENTATTR_MULTICAST = 0x00080000U, /* public */ + ISC_SOCKEVENTATTR_DSCP = 0x00040000U, /* public */ + ISC_SOCKEVENTATTR_USEMINMTU = 0x00020000U /* public */ } isc_sockeventattr_t; /*@}*/ @@ -116,45 +116,45 @@ typedef enum { struct isc_socketevent { ISC_EVENT_COMMON(isc_socketevent_t); - isc_result_t result; /*%< OK, EOF, whatever else */ - unsigned int minimum; /*%< minimum i/o for event */ - unsigned int n; /*%< bytes read or written */ - unsigned int offset; /*%< offset into buffer list */ - isc_region_t region; /*%< for single-buffer i/o */ - isc_sockaddr_t address; /*%< source address */ - isc_time_t timestamp; /*%< timestamp of packet recv */ - struct in6_pktinfo pktinfo; /*%< ipv6 pktinfo */ - isc_sockeventattr_t attributes; /*%< see isc_sockeventattr_t - enum */ - isc_eventdestructor_t destroy; /*%< original destructor */ - unsigned int dscp; /*%< UDP dscp value */ + isc_result_t result; /*%< OK, EOF, whatever else */ + unsigned int minimum; /*%< minimum i/o for event */ + unsigned int n; /*%< bytes read or written */ + unsigned int offset; /*%< offset into buffer list */ + isc_region_t region; /*%< for single-buffer i/o */ + isc_sockaddr_t address; /*%< source address */ + isc_time_t timestamp; /*%< timestamp of packet recv */ + struct in6_pktinfo pktinfo; /*%< ipv6 pktinfo */ + isc_sockeventattr_t attributes; /*%< see isc_sockeventattr_t + enum */ + isc_eventdestructor_t destroy; /*%< original destructor */ + unsigned int dscp; /*%< UDP dscp value */ }; typedef struct isc_socket_newconnev isc_socket_newconnev_t; struct isc_socket_newconnev { ISC_EVENT_COMMON(isc_socket_newconnev_t); - isc_socket_t * newsocket; - isc_result_t result; /*%< OK, EOF, whatever else */ - isc_sockaddr_t address; /*%< source address */ + isc_socket_t * newsocket; + isc_result_t result; /*%< OK, EOF, whatever else */ + isc_sockaddr_t address; /*%< source address */ }; typedef struct isc_socket_connev isc_socket_connev_t; struct isc_socket_connev { ISC_EVENT_COMMON(isc_socket_connev_t); - isc_result_t result; /*%< OK, EOF, whatever else */ + isc_result_t result; /*%< OK, EOF, whatever else */ }; -#define ISC_SOCKEVENT_ANYEVENT (0) -#define ISC_SOCKEVENT_RECVDONE (ISC_EVENTCLASS_SOCKET + 1) -#define ISC_SOCKEVENT_SENDDONE (ISC_EVENTCLASS_SOCKET + 2) -#define ISC_SOCKEVENT_NEWCONN (ISC_EVENTCLASS_SOCKET + 3) -#define ISC_SOCKEVENT_CONNECT (ISC_EVENTCLASS_SOCKET + 4) +#define ISC_SOCKEVENT_ANYEVENT (0) +#define ISC_SOCKEVENT_RECVDONE (ISC_EVENTCLASS_SOCKET + 1) +#define ISC_SOCKEVENT_SENDDONE (ISC_EVENTCLASS_SOCKET + 2) +#define ISC_SOCKEVENT_NEWCONN (ISC_EVENTCLASS_SOCKET + 3) +#define ISC_SOCKEVENT_CONNECT (ISC_EVENTCLASS_SOCKET + 4) /* * Internal events. */ -#define ISC_SOCKEVENT_INTR (ISC_EVENTCLASS_SOCKET + 256) -#define ISC_SOCKEVENT_INTW (ISC_EVENTCLASS_SOCKET + 257) +#define ISC_SOCKEVENT_INTR (ISC_EVENTCLASS_SOCKET + 256) +#define ISC_SOCKEVENT_INTW (ISC_EVENTCLASS_SOCKET + 257) typedef enum { isc_sockettype_udp = 1, @@ -167,28 +167,28 @@ typedef enum { /*! * How a socket should be shutdown in isc_socket_shutdown() calls. */ -#define ISC_SOCKSHUT_RECV 0x00000001 /*%< close read side */ -#define ISC_SOCKSHUT_SEND 0x00000002 /*%< close write side */ -#define ISC_SOCKSHUT_ALL 0x00000003 /*%< close them all */ +#define ISC_SOCKSHUT_RECV 0x00000001 /*%< close read side */ +#define ISC_SOCKSHUT_SEND 0x00000002 /*%< close write side */ +#define ISC_SOCKSHUT_ALL 0x00000003 /*%< close them all */ /*@}*/ /*@{*/ /*! * What I/O events to cancel in isc_socket_cancel() calls. */ -#define ISC_SOCKCANCEL_RECV 0x00000001 /*%< cancel recv */ -#define ISC_SOCKCANCEL_SEND 0x00000002 /*%< cancel send */ -#define ISC_SOCKCANCEL_ACCEPT 0x00000004 /*%< cancel accept */ -#define ISC_SOCKCANCEL_CONNECT 0x00000008 /*%< cancel connect */ -#define ISC_SOCKCANCEL_ALL 0x0000000f /*%< cancel everything */ +#define ISC_SOCKCANCEL_RECV 0x00000001 /*%< cancel recv */ +#define ISC_SOCKCANCEL_SEND 0x00000002 /*%< cancel send */ +#define ISC_SOCKCANCEL_ACCEPT 0x00000004 /*%< cancel accept */ +#define ISC_SOCKCANCEL_CONNECT 0x00000008 /*%< cancel connect */ +#define ISC_SOCKCANCEL_ALL 0x0000000f /*%< cancel everything */ /*@}*/ /*@{*/ /*! * Flags for isc_socket_send() and isc_socket_recv() calls. */ -#define ISC_SOCKFLAG_IMMEDIATE 0x00000001 /*%< send event only if needed */ -#define ISC_SOCKFLAG_NORETRY 0x00000002 /*%< drop failed UDP sends */ +#define ISC_SOCKFLAG_IMMEDIATE 0x00000001 /*%< send event only if needed */ +#define ISC_SOCKFLAG_NORETRY 0x00000002 /*%< drop failed UDP sends */ /*@}*/ /*% @@ -206,14 +206,14 @@ typedef enum { */ #ifndef WIN32 struct isc_socketmgr { - unsigned int impmagic; - unsigned int magic; + unsigned int impmagic; + unsigned int magic; }; #endif -#define ISCAPI_SOCKETMGR_MAGIC ISC_MAGIC('A','s','m','g') -#define ISCAPI_SOCKETMGR_VALID(m) ((m) != NULL && \ - (m)->magic == ISCAPI_SOCKETMGR_MAGIC) +#define ISCAPI_SOCKETMGR_MAGIC ISC_MAGIC('A', 's', 'm', 'g') +#define ISCAPI_SOCKETMGR_VALID(m) \ + ((m) != NULL && (m)->magic == ISCAPI_SOCKETMGR_MAGIC) /*% * This is the common prefix of a socket object. The same note as @@ -221,14 +221,14 @@ struct isc_socketmgr { */ #ifndef WIN32 struct isc_socket { - unsigned int impmagic; - unsigned int magic; + unsigned int impmagic; + unsigned int magic; }; #endif -#define ISCAPI_SOCKET_MAGIC ISC_MAGIC('A','s','c','t') -#define ISCAPI_SOCKET_VALID(s) ((s) != NULL && \ - (s)->magic == ISCAPI_SOCKET_MAGIC) +#define ISCAPI_SOCKET_MAGIC ISC_MAGIC('A', 's', 'c', 't') +#define ISCAPI_SOCKET_VALID(s) \ + ((s) != NULL && (s)->magic == ISCAPI_SOCKET_MAGIC) /*** *** Socket and Socket Manager Functions @@ -238,9 +238,7 @@ struct isc_socket { ***/ isc_result_t -isc_socket_create(isc_socketmgr_t *manager, - int pf, - isc_sockettype_t type, +isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, isc_socket_t **socketp); /*%< * Create a new 'type' socket managed by 'manager'. @@ -274,8 +272,7 @@ isc_socket_dup(isc_socket_t *sock0, isc_socket_t **socketp); */ void -isc_socket_cancel(isc_socket_t *sock, isc_task_t *task, - unsigned int how); +isc_socket_cancel(isc_socket_t *sock, isc_task_t *task, unsigned int how); /*%< * Cancel pending I/O of the type specified by "how". * @@ -471,8 +468,8 @@ isc_socket_listen(isc_socket_t *sock, unsigned int backlog); */ isc_result_t -isc_socket_accept(isc_socket_t *sock, - isc_task_t *task, isc_taskaction_t action, void *arg); +isc_socket_accept(isc_socket_t *sock, isc_task_t *task, isc_taskaction_t action, + void *arg); /*%< * Queue accept event. When a new connection is received, the task will * get an ISC_SOCKEVENT_NEWCONN event with the sender set to the listen @@ -495,8 +492,7 @@ isc_socket_accept(isc_socket_t *sock, isc_result_t isc_socket_connect(isc_socket_t *sock, const isc_sockaddr_t *addressp, - isc_task_t *task, isc_taskaction_t action, - void *arg); + isc_task_t *task, isc_taskaction_t action, void *arg); /*%< * Connect 'socket' to peer with address *saddr. When the connection * succeeds, or when an error occurs, a CONNECT event with action 'action' @@ -561,14 +557,13 @@ isc_socket_getsockname(isc_socket_t *sock, isc_sockaddr_t *addressp); /*@{*/ isc_result_t -isc_socket_recv(isc_socket_t *sock, isc_region_t *region, - unsigned int minimum, +isc_socket_recv(isc_socket_t *sock, isc_region_t *region, unsigned int minimum, isc_task_t *task, isc_taskaction_t action, void *arg); isc_result_t -isc_socket_recv2(isc_socket_t *sock, isc_region_t *region, - unsigned int minimum, isc_task_t *task, - isc_socketevent_t *event, unsigned int flags); +isc_socket_recv2(isc_socket_t *sock, isc_region_t *region, unsigned int minimum, + isc_task_t *task, isc_socketevent_t *event, + unsigned int flags); /*! * Receive from 'socket', storing the results in region. @@ -640,15 +635,14 @@ isc_socket_recv2(isc_socket_t *sock, isc_region_t *region, /*@{*/ isc_result_t -isc_socket_send(isc_socket_t *sock, isc_region_t *region, - isc_task_t *task, isc_taskaction_t action, void *arg); +isc_socket_send(isc_socket_t *sock, isc_region_t *region, isc_task_t *task, + isc_taskaction_t action, void *arg); isc_result_t -isc_socket_sendto(isc_socket_t *sock, isc_region_t *region, - isc_task_t *task, isc_taskaction_t action, void *arg, +isc_socket_sendto(isc_socket_t *sock, isc_region_t *region, isc_task_t *task, + isc_taskaction_t action, void *arg, const isc_sockaddr_t *address, struct in6_pktinfo *pktinfo); isc_result_t -isc_socket_sendto2(isc_socket_t *sock, isc_region_t *region, - isc_task_t *task, +isc_socket_sendto2(isc_socket_t *sock, isc_region_t *region, isc_task_t *task, const isc_sockaddr_t *address, struct in6_pktinfo *pktinfo, isc_socketevent_t *event, unsigned int flags); @@ -849,9 +843,8 @@ isc_socket_dscp(isc_socket_t *sock, isc_dscp_t dscp); */ isc_socketevent_t * -isc_socket_socketevent(isc_mem_t *mctx, void *sender, - isc_eventtype_t eventtype, isc_taskaction_t action, - void *arg); +isc_socket_socketevent(isc_mem_t *mctx, void *sender, isc_eventtype_t eventtype, + isc_taskaction_t action, void *arg); /*%< * Get a isc_socketevent_t to be used with isc_socket_sendto2(), etc. */ @@ -892,24 +885,28 @@ isc_socket_permunix(const isc_sockaddr_t *sockaddr, uint32_t perm, * \li #ISC_R_FAILURE */ -void isc_socket_setname(isc_socket_t *socket, const char *name, void *tag); +void +isc_socket_setname(isc_socket_t *socket, const char *name, void *tag); /*%< * Set the name and optional tag for a socket. This allows tracking of the * owner or purpose for this socket, and is useful for tracing and statistics * reporting. */ -const char *isc_socket_getname(isc_socket_t *socket); +const char * +isc_socket_getname(isc_socket_t *socket); /*%< * Get the name associated with a socket, if any. */ -void *isc_socket_gettag(isc_socket_t *socket); +void * +isc_socket_gettag(isc_socket_t *socket); /*%< * Get the tag associated with a socket, if any. */ -int isc_socket_getfd(isc_socket_t *socket); +int +isc_socket_getfd(isc_socket_t *socket); /*%< * Get the file descriptor associated with a socket */ @@ -951,8 +948,8 @@ isc_socketmgr_renderjson(isc_socketmgr_t *mgr, void *stats0); /*%< * See isc_socketmgr_create() above. */ -typedef isc_result_t -(*isc_socketmgrcreatefunc_t)(isc_mem_t *mctx, isc_socketmgr_t **managerp); +typedef isc_result_t (*isc_socketmgrcreatefunc_t)(isc_mem_t * mctx, + isc_socketmgr_t **managerp); ISC_LANG_ENDDECLS diff --git a/lib/isc/include/isc/stats.h b/lib/isc/include/isc/stats.h index 1c959fab92..b24f4d5c5e 100644 --- a/lib/isc/include/isc/stats.h +++ b/lib/isc/include/isc/stats.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_STATS_H #define ISC_STATS_H 1 @@ -108,7 +107,7 @@ ISC_LANG_BEGINDECLS /*%< * Flag(s) for isc_stats_dump(). */ -#define ISC_STATSDUMP_VERBOSE 0x00000001 /*%< dump 0-value counters */ +#define ISC_STATSDUMP_VERBOSE 0x00000001 /*%< dump 0-value counters */ /*%< * Dump callback type. @@ -197,8 +196,7 @@ isc_stats_dump(isc_stats_t *stats, isc_stats_dumper_t dump_fn, void *arg, */ void -isc_stats_set(isc_stats_t *stats, uint64_t val, - isc_statscounter_t counter); +isc_stats_set(isc_stats_t *stats, uint64_t val, isc_statscounter_t counter); /*%< * Set the given counter to the specfied value. * @@ -207,8 +205,7 @@ isc_stats_set(isc_stats_t *stats, uint64_t val, */ void -isc_stats_set(isc_stats_t *stats, uint64_t val, - isc_statscounter_t counter); +isc_stats_set(isc_stats_t *stats, uint64_t val, isc_statscounter_t counter); /*%< * Set the given counter to the specfied value. * @@ -216,18 +213,18 @@ isc_stats_set(isc_stats_t *stats, uint64_t val, *\li 'stats' is a valid isc_stats_t. */ -void isc_stats_update_if_greater(isc_stats_t *stats, - isc_statscounter_t counter, - isc_statscounter_t value); +void +isc_stats_update_if_greater(isc_stats_t *stats, isc_statscounter_t counter, + isc_statscounter_t value); /*%< -* Atomically assigns 'value' to 'counter' if value > counter. -* -* Requires: -*\li 'stats' is a valid isc_stats_t. -* -*\li counter is less than the maximum available ID for the stats specified -* on creation. -*/ + * Atomically assigns 'value' to 'counter' if value > counter. + * + * Requires: + *\li 'stats' is a valid isc_stats_t. + * + *\li counter is less than the maximum available ID for the stats specified + * on creation. + */ isc_statscounter_t isc_stats_get_counter(isc_stats_t *stats, isc_statscounter_t counter); diff --git a/lib/isc/include/isc/stdio.h b/lib/isc/include/isc/stdio.h index 1f44b5ac08..2428bac271 100644 --- a/lib/isc/include/isc/stdio.h +++ b/lib/isc/include/isc/stdio.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_STDIO_H #define ISC_STDIO_H 1 @@ -49,8 +48,7 @@ isc_stdio_tell(FILE *f, off_t *offsetp); /*% Read */ isc_result_t -isc_stdio_read(void *ptr, size_t size, size_t nmemb, FILE *f, - size_t *nret); +isc_stdio_read(void *ptr, size_t size, size_t nmemb, FILE *f, size_t *nret); /*% Write */ isc_result_t diff --git a/lib/isc/include/isc/string.h b/lib/isc/include/isc/string.h index 309b1277a6..3599a796e2 100644 --- a/lib/isc/include/isc/string.h +++ b/lib/isc/include/isc/string.h @@ -15,8 +15,8 @@ #include -#include "isc/platform.h" #include "isc/lang.h" +#include "isc/platform.h" ISC_LANG_BEGINDECLS diff --git a/lib/isc/include/isc/symtab.h b/lib/isc/include/isc/symtab.h index 0f53b5e206..b581da1bbf 100644 --- a/lib/isc/include/isc/symtab.h +++ b/lib/isc/include/isc/symtab.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_SYMTAB_H #define ISC_SYMTAB_H 1 @@ -88,19 +87,19 @@ ***/ /*% Symbol table value. */ typedef union isc_symvalue { - void * as_pointer; - const void * as_cpointer; - int as_integer; - unsigned int as_uinteger; + void * as_pointer; + const void * as_cpointer; + int as_integer; + unsigned int as_uinteger; } isc_symvalue_t; typedef void (*isc_symtabaction_t)(char *key, unsigned int type, isc_symvalue_t value, void *userarg); /*% Symbol table exists. */ typedef enum { - isc_symexists_reject = 0, /*%< Disallow the define */ - isc_symexists_replace = 1, /*%< Replace the old value with the new */ - isc_symexists_add = 2 /*%< Add the new tuple */ + isc_symexists_reject = 0, /*%< Disallow the define */ + isc_symexists_replace = 1, /*%< Replace the old value with the new */ + isc_symexists_add = 2 /*%< Add the new tuple */ } isc_symexists_t; ISC_LANG_BEGINDECLS diff --git a/lib/isc/include/isc/task.h b/lib/isc/include/isc/task.h index 40fa7db29c..e319f95ada 100644 --- a/lib/isc/include/isc/task.h +++ b/lib/isc/include/isc/task.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_TASK_H #define ISC_TASK_H 1 @@ -68,7 +67,6 @@ * unsend events which they have sent. */ - /*** *** Imports. ***/ @@ -77,14 +75,14 @@ #include #include -#include #include +#include #include -#define ISC_TASKEVENT_FIRSTEVENT (ISC_EVENTCLASS_TASK + 0) -#define ISC_TASKEVENT_SHUTDOWN (ISC_EVENTCLASS_TASK + 1) -#define ISC_TASKEVENT_TEST (ISC_EVENTCLASS_TASK + 1) -#define ISC_TASKEVENT_LASTEVENT (ISC_EVENTCLASS_TASK + 65535) +#define ISC_TASKEVENT_FIRSTEVENT (ISC_EVENTCLASS_TASK + 0) +#define ISC_TASKEVENT_SHUTDOWN (ISC_EVENTCLASS_TASK + 1) +#define ISC_TASKEVENT_TEST (ISC_EVENTCLASS_TASK + 1) +#define ISC_TASKEVENT_LASTEVENT (ISC_EVENTCLASS_TASK + 65535) /***** ***** Tasks. @@ -97,8 +95,8 @@ ISC_LANG_BEGINDECLS ***/ typedef enum { - isc_taskmgrmode_normal = 0, - isc_taskmgrmode_privileged + isc_taskmgrmode_normal = 0, + isc_taskmgrmode_privileged } isc_taskmgrmode_t; /*% @@ -111,26 +109,25 @@ typedef enum { * all task invariants. */ struct isc_taskmgr { - unsigned int impmagic; - unsigned int magic; + unsigned int impmagic; + unsigned int magic; }; -#define ISCAPI_TASKMGR_MAGIC ISC_MAGIC('A','t','m','g') -#define ISCAPI_TASKMGR_VALID(m) ((m) != NULL && \ - (m)->magic == ISCAPI_TASKMGR_MAGIC) +#define ISCAPI_TASKMGR_MAGIC ISC_MAGIC('A', 't', 'm', 'g') +#define ISCAPI_TASKMGR_VALID(m) \ + ((m) != NULL && (m)->magic == ISCAPI_TASKMGR_MAGIC) /*% * This is the common prefix of a task object. The same note as * that for the taskmgr structure applies. */ struct isc_task { - unsigned int impmagic; - unsigned int magic; + unsigned int impmagic; + unsigned int magic; }; -#define ISCAPI_TASK_MAGIC ISC_MAGIC('A','t','s','t') -#define ISCAPI_TASK_VALID(s) ((s) != NULL && \ - (s)->magic == ISCAPI_TASK_MAGIC) +#define ISCAPI_TASK_MAGIC ISC_MAGIC('A', 't', 's', 't') +#define ISCAPI_TASK_VALID(s) ((s) != NULL && (s)->magic == ISCAPI_TASK_MAGIC) isc_result_t isc_task_create(isc_taskmgr_t *manager, unsigned int quantum, @@ -258,7 +255,6 @@ isc_task_sendanddetach(isc_task_t **taskp, isc_event_t **eventp); * all resources used by the task will be freed. */ - unsigned int isc_task_purgerange(isc_task_t *task, void *sender, isc_eventtype_t first, isc_eventtype_t last, void *tag); @@ -286,8 +282,7 @@ isc_task_purgerange(isc_task_t *task, void *sender, isc_eventtype_t first, */ unsigned int -isc_task_purge(isc_task_t *task, void *sender, isc_eventtype_t type, - void *tag); +isc_task_purge(isc_task_t *task, void *sender, isc_eventtype_t type, void *tag); /*%< * Purge events from a task's event queue. * @@ -378,8 +373,8 @@ isc_task_unsendrange(isc_task_t *task, void *sender, isc_eventtype_t first, */ unsigned int -isc_task_unsend(isc_task_t *task, void *sender, isc_eventtype_t type, - void *tag, isc_eventlist_t *events); +isc_task_unsend(isc_task_t *task, void *sender, isc_eventtype_t type, void *tag, + isc_eventlist_t *events); /*%< * Remove events from a task's event queue. * @@ -409,8 +404,7 @@ isc_task_unsend(isc_task_t *task, void *sender, isc_eventtype_t type, */ isc_result_t -isc_task_onshutdown(isc_task_t *task, isc_taskaction_t action, - void *arg); +isc_task_onshutdown(isc_task_t *task, isc_taskaction_t action, void *arg); /*%< * Send a shutdown event with action 'action' and argument 'arg' when * 'task' is shutdown. @@ -647,13 +641,12 @@ isc_task_privilege(isc_task_t *task); *****/ isc_result_t -isc_taskmgr_createinctx(isc_mem_t *mctx, - unsigned int workers, unsigned int default_quantum, - isc_taskmgr_t **managerp); +isc_taskmgr_createinctx(isc_mem_t *mctx, unsigned int workers, + unsigned int default_quantum, isc_taskmgr_t **managerp); isc_result_t isc_taskmgr_create(isc_mem_t *mctx, unsigned int workers, - unsigned int default_quantum, - isc_nm_t *nm, isc_taskmgr_t **managerp); + unsigned int default_quantum, isc_nm_t *nm, + isc_taskmgr_t **managerp); /*%< * Create a new task manager. isc_taskmgr_createinctx() also associates * the new manager with the specified application context. @@ -781,7 +774,6 @@ isc_taskmgr_excltask(isc_taskmgr_t *mgr, isc_task_t **taskp); *\li taskp != NULL && *taskp == NULL */ - #ifdef HAVE_LIBXML2 int isc_taskmgr_renderxml(isc_taskmgr_t *mgr, void *writer0); diff --git a/lib/isc/include/isc/taskpool.h b/lib/isc/include/isc/taskpool.h index 32ca594bfe..213e885573 100644 --- a/lib/isc/include/isc/taskpool.h +++ b/lib/isc/include/isc/taskpool.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_TASKPOOL_H #define ISC_TASKPOOL_H 1 @@ -29,7 +28,6 @@ * could result from creating a separate task for each object. */ - /*** *** Imports. ***/ @@ -52,9 +50,8 @@ typedef struct isc_taskpool isc_taskpool_t; *****/ isc_result_t -isc_taskpool_create(isc_taskmgr_t *tmgr, isc_mem_t *mctx, - unsigned int ntasks, unsigned int quantum, - isc_taskpool_t **poolp); +isc_taskpool_create(isc_taskmgr_t *tmgr, isc_mem_t *mctx, unsigned int ntasks, + unsigned int quantum, isc_taskpool_t **poolp); /*%< * Create a task pool of "ntasks" tasks, each with quantum * "quantum". @@ -94,7 +91,7 @@ isc_taskpool_size(isc_taskpool_t *pool); isc_result_t isc_taskpool_expand(isc_taskpool_t **sourcep, unsigned int size, - isc_taskpool_t **targetp); + isc_taskpool_t **targetp); /*%< * If 'size' is larger than the number of tasks in the pool pointed to by diff --git a/lib/isc/include/isc/timer.h b/lib/isc/include/isc/timer.h index 53aeaa50bf..87fd46f6df 100644 --- a/lib/isc/include/isc/timer.h +++ b/lib/isc/include/isc/timer.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_TIMER_H #define ISC_TIMER_H 1 @@ -60,18 +59,17 @@ * None. */ - /*** *** Imports ***/ #include -#include #include #include #include #include +#include ISC_LANG_BEGINDECLS @@ -81,23 +79,23 @@ ISC_LANG_BEGINDECLS /*% Timer Type */ typedef enum { - isc_timertype_undefined = -1, /*%< Undefined */ - isc_timertype_ticker = 0, /*%< Ticker */ - isc_timertype_once = 1, /*%< Once */ - isc_timertype_limited = 2, /*%< Limited */ - isc_timertype_inactive = 3 /*%< Inactive */ + isc_timertype_undefined = -1, /*%< Undefined */ + isc_timertype_ticker = 0, /*%< Ticker */ + isc_timertype_once = 1, /*%< Once */ + isc_timertype_limited = 2, /*%< Limited */ + isc_timertype_inactive = 3 /*%< Inactive */ } isc_timertype_t; typedef struct isc_timerevent { - struct isc_event common; - isc_time_t due; + struct isc_event common; + isc_time_t due; } isc_timerevent_t; -#define ISC_TIMEREVENT_FIRSTEVENT (ISC_EVENTCLASS_TIMER + 0) -#define ISC_TIMEREVENT_TICK (ISC_EVENTCLASS_TIMER + 1) -#define ISC_TIMEREVENT_IDLE (ISC_EVENTCLASS_TIMER + 2) -#define ISC_TIMEREVENT_LIFE (ISC_EVENTCLASS_TIMER + 3) -#define ISC_TIMEREVENT_LASTEVENT (ISC_EVENTCLASS_TIMER + 65535) +#define ISC_TIMEREVENT_FIRSTEVENT (ISC_EVENTCLASS_TIMER + 0) +#define ISC_TIMEREVENT_TICK (ISC_EVENTCLASS_TIMER + 1) +#define ISC_TIMEREVENT_IDLE (ISC_EVENTCLASS_TIMER + 2) +#define ISC_TIMEREVENT_LIFE (ISC_EVENTCLASS_TIMER + 3) +#define ISC_TIMEREVENT_LASTEVENT (ISC_EVENTCLASS_TIMER + 65535) /*% * This structure is actually just the common prefix of a timer manager @@ -109,26 +107,25 @@ typedef struct isc_timerevent { * all timer invariants. */ struct isc_timermgr { - unsigned int impmagic; - unsigned int magic; + unsigned int impmagic; + unsigned int magic; }; -#define ISCAPI_TIMERMGR_MAGIC ISC_MAGIC('A','t','m','g') -#define ISCAPI_TIMERMGR_VALID(m) ((m) != NULL && \ - (m)->magic == ISCAPI_TIMERMGR_MAGIC) +#define ISCAPI_TIMERMGR_MAGIC ISC_MAGIC('A', 't', 'm', 'g') +#define ISCAPI_TIMERMGR_VALID(m) \ + ((m) != NULL && (m)->magic == ISCAPI_TIMERMGR_MAGIC) /*% * This is the common prefix of a timer object. The same note as * that for the timermgr structure applies. */ struct isc_timer { - unsigned int impmagic; - unsigned int magic; + unsigned int impmagic; + unsigned int magic; }; -#define ISCAPI_TIMER_MAGIC ISC_MAGIC('A','t','m','r') -#define ISCAPI_TIMER_VALID(s) ((s) != NULL && \ - (s)->magic == ISCAPI_TIMER_MAGIC) +#define ISCAPI_TIMER_MAGIC ISC_MAGIC('A', 't', 'm', 'r') +#define ISCAPI_TIMER_VALID(s) ((s) != NULL && (s)->magic == ISCAPI_TIMER_MAGIC) /*** *** Timer and Timer Manager Functions @@ -138,13 +135,9 @@ struct isc_timer { ***/ isc_result_t -isc_timer_create(isc_timermgr_t *manager, - isc_timertype_t type, - const isc_time_t *expires, - const isc_interval_t *interval, - isc_task_t *task, - isc_taskaction_t action, - void *arg, +isc_timer_create(isc_timermgr_t *manager, isc_timertype_t type, + const isc_time_t *expires, const isc_interval_t *interval, + isc_task_t *task, isc_taskaction_t action, void *arg, isc_timer_t **timerp); /*%< * Create a new 'type' timer managed by 'manager'. The timers parameters @@ -202,10 +195,8 @@ isc_timer_create(isc_timermgr_t *manager, */ isc_result_t -isc_timer_reset(isc_timer_t *timer, - isc_timertype_t type, - const isc_time_t *expires, - const isc_interval_t *interval, +isc_timer_reset(isc_timer_t *timer, isc_timertype_t type, + const isc_time_t *expires, const isc_interval_t *interval, bool purge); /*%< * Change the timer's type, expires, and interval values to the given @@ -370,7 +361,8 @@ isc_timermgr_destroy(isc_timermgr_t **managerp); *\li All resources used by the manager have been freed. */ -void isc_timermgr_poke(isc_timermgr_t *m); +void +isc_timermgr_poke(isc_timermgr_t *m); ISC_LANG_ENDDECLS diff --git a/lib/isc/include/isc/tm.h b/lib/isc/include/isc/tm.h index b6f520cfd9..193217552e 100644 --- a/lib/isc/include/isc/tm.h +++ b/lib/isc/include/isc/tm.h @@ -20,7 +20,6 @@ #include #include - ISC_LANG_BEGINDECLS time_t diff --git a/lib/isc/include/isc/types.h b/lib/isc/include/isc/types.h index 3d1eb779b7..cf98ca91a3 100644 --- a/lib/isc/include/isc/types.h +++ b/lib/isc/include/isc/types.h @@ -20,6 +20,7 @@ */ #include #include + #include /* @@ -30,85 +31,82 @@ /* Core Types. Alphabetized by defined type. */ -typedef struct isc_astack isc_astack_t; /*%< Array-based fast stack */ -typedef struct isc_appctx isc_appctx_t; /*%< Application context */ -typedef struct isc_backtrace_symmap isc_backtrace_symmap_t; /*%< Symbol Table Entry */ -typedef struct isc_buffer isc_buffer_t; /*%< Buffer */ -typedef ISC_LIST(isc_buffer_t) isc_bufferlist_t; /*%< Buffer List */ -typedef struct isc_constregion isc_constregion_t; /*%< Const region */ -typedef struct isc_consttextregion isc_consttextregion_t; /*%< Const Text Region */ -typedef struct isc_counter isc_counter_t; /*%< Counter */ -typedef int16_t isc_dscp_t; /*%< Diffserv code point */ -typedef struct isc_event isc_event_t; /*%< Event */ -typedef ISC_LIST(isc_event_t) isc_eventlist_t; /*%< Event List */ -typedef unsigned int isc_eventtype_t; /*%< Event Type */ -typedef uint32_t isc_fsaccess_t; /*%< FS Access */ -typedef struct isc_hash isc_hash_t; /*%< Hash */ -typedef struct isc_hp isc_hp_t; /*%< Hazard - pointer */ -typedef struct isc_httpd isc_httpd_t; /*%< HTTP client */ -typedef void (isc_httpdfree_t)(isc_buffer_t *, void *); /*%< HTTP free function */ -typedef struct isc_httpdmgr isc_httpdmgr_t; /*%< HTTP manager */ -typedef struct isc_httpdurl isc_httpdurl_t; /*%< HTTP URL */ -typedef void (isc_httpdondestroy_t)(void *); /*%< Callback on destroying httpd */ -typedef struct isc_interface isc_interface_t; /*%< Interface */ -typedef struct isc_interfaceiter isc_interfaceiter_t; /*%< Interface Iterator */ -typedef struct isc_interval isc_interval_t; /*%< Interval */ -typedef struct isc_lex isc_lex_t; /*%< Lex */ -typedef struct isc_log isc_log_t; /*%< Log */ -typedef struct isc_logcategory isc_logcategory_t; /*%< Log Category */ -typedef struct isc_logconfig isc_logconfig_t; /*%< Log Configuration */ -typedef struct isc_logmodule isc_logmodule_t; /*%< Log Module */ -typedef struct isc_mem isc_mem_t; /*%< Memory */ -typedef struct isc_mempool isc_mempool_t; /*%< Memory Pool */ -typedef struct isc_netaddr isc_netaddr_t; /*%< Net Address */ -typedef struct isc_nm isc_nm_t; /*%< Network manager */ -typedef struct isc_nmsocket isc_nmsocket_t; /*%< Network manager socket */ -typedef struct isc_nmiface isc_nmiface_t; /*%< Network manager interface. */ -typedef struct isc_nmhandle isc_nmhandle_t; /*%< Network manager handle */ -typedef struct isc_portset isc_portset_t; /*%< Port Set */ -typedef struct isc_quota isc_quota_t; /*%< Quota */ -typedef struct isc_ratelimiter isc_ratelimiter_t; /*%< Rate Limiter */ -typedef struct isc_region isc_region_t; /*%< Region */ -typedef uint64_t isc_resourcevalue_t; /*%< Resource Value */ -typedef unsigned int isc_result_t; /*%< Result */ -typedef struct isc_rwlock isc_rwlock_t; /*%< Read Write Lock */ -typedef struct isc_sockaddr isc_sockaddr_t; /*%< Socket Address */ -typedef ISC_LIST(isc_sockaddr_t) isc_sockaddrlist_t; /*%< Socket Address List */ -typedef struct isc_socket isc_socket_t; /*%< Socket */ -typedef struct isc_socketevent isc_socketevent_t; /*%< Socket Event */ -typedef struct isc_socketmgr isc_socketmgr_t; /*%< Socket Manager */ -typedef struct isc_stats isc_stats_t; /*%< Statistics */ +typedef struct isc_astack isc_astack_t; /*%< Array-based fast stack */ +typedef struct isc_appctx isc_appctx_t; /*%< Application context */ +typedef struct isc_backtrace_symmap isc_backtrace_symmap_t; /*%< Symbol Table + Entry */ +typedef struct isc_buffer isc_buffer_t; /*%< Buffer */ +typedef ISC_LIST(isc_buffer_t) isc_bufferlist_t; /*%< Buffer List */ +typedef struct isc_constregion isc_constregion_t; /*%< Const region */ +typedef struct isc_consttextregion isc_consttextregion_t; /*%< Const Text Region + */ +typedef struct isc_counter isc_counter_t; /*%< Counter */ +typedef int16_t isc_dscp_t; /*%< Diffserv code point */ +typedef struct isc_event isc_event_t; /*%< Event */ +typedef ISC_LIST(isc_event_t) isc_eventlist_t; /*%< Event List */ +typedef unsigned int isc_eventtype_t; /*%< Event Type */ +typedef uint32_t isc_fsaccess_t; /*%< FS Access */ +typedef struct isc_hash isc_hash_t; /*%< Hash */ +typedef struct isc_hp isc_hp_t; /*%< Hazard + pointer */ +typedef struct isc_httpd isc_httpd_t; /*%< HTTP client */ +typedef void(isc_httpdfree_t)(isc_buffer_t *, void *); /*%< HTTP free function + */ +typedef struct isc_httpdmgr isc_httpdmgr_t; /*%< HTTP manager */ +typedef struct isc_httpdurl isc_httpdurl_t; /*%< HTTP URL */ +typedef void(isc_httpdondestroy_t)(void *); /*%< Callback on destroying httpd */ +typedef struct isc_interface isc_interface_t; /*%< Interface */ +typedef struct isc_interfaceiter isc_interfaceiter_t; /*%< Interface Iterator */ +typedef struct isc_interval isc_interval_t; /*%< Interval */ +typedef struct isc_lex isc_lex_t; /*%< Lex */ +typedef struct isc_log isc_log_t; /*%< Log */ +typedef struct isc_logcategory isc_logcategory_t; /*%< Log Category */ +typedef struct isc_logconfig isc_logconfig_t; /*%< Log Configuration */ +typedef struct isc_logmodule isc_logmodule_t; /*%< Log Module */ +typedef struct isc_mem isc_mem_t; /*%< Memory */ +typedef struct isc_mempool isc_mempool_t; /*%< Memory Pool */ +typedef struct isc_netaddr isc_netaddr_t; /*%< Net Address */ +typedef struct isc_nm isc_nm_t; /*%< Network manager */ +typedef struct isc_nmsocket isc_nmsocket_t; /*%< Network manager socket */ +typedef struct isc_nmiface isc_nmiface_t; /*%< Network manager interface. */ +typedef struct isc_nmhandle isc_nmhandle_t; /*%< Network manager handle */ +typedef struct isc_portset isc_portset_t; /*%< Port Set */ +typedef struct isc_quota isc_quota_t; /*%< Quota */ +typedef struct isc_ratelimiter isc_ratelimiter_t; /*%< Rate Limiter */ +typedef struct isc_region isc_region_t; /*%< Region */ +typedef uint64_t isc_resourcevalue_t; /*%< Resource Value */ +typedef unsigned int isc_result_t; /*%< Result */ +typedef struct isc_rwlock isc_rwlock_t; /*%< Read Write Lock */ +typedef struct isc_sockaddr isc_sockaddr_t; /*%< Socket Address */ +typedef ISC_LIST(isc_sockaddr_t) isc_sockaddrlist_t; /*%< Socket Address List */ +typedef struct isc_socket isc_socket_t; /*%< Socket */ +typedef struct isc_socketevent isc_socketevent_t; /*%< Socket Event */ +typedef struct isc_socketmgr isc_socketmgr_t; /*%< Socket Manager */ +typedef struct isc_stats isc_stats_t; /*%< Statistics */ #if defined(_WIN32) && !defined(_WIN64) - typedef int_fast32_t isc_statscounter_t; /*%< Statistics Counter */ +typedef int_fast32_t isc_statscounter_t; /*%< Statistics Counter */ #else - typedef int_fast64_t isc_statscounter_t; +typedef int_fast64_t isc_statscounter_t; #endif -typedef struct isc_symtab isc_symtab_t; /*%< Symbol Table */ -typedef struct isc_task isc_task_t; /*%< Task */ -typedef ISC_LIST(isc_task_t) isc_tasklist_t; /*%< Task List */ -typedef struct isc_taskmgr isc_taskmgr_t; /*%< Task Manager */ -typedef struct isc_textregion isc_textregion_t; /*%< Text Region */ -typedef struct isc_time isc_time_t; /*%< Time */ -typedef struct isc_timer isc_timer_t; /*%< Timer */ -typedef struct isc_timermgr isc_timermgr_t; /*%< Timer Manager */ +typedef struct isc_symtab isc_symtab_t; /*%< Symbol Table */ +typedef struct isc_task isc_task_t; /*%< Task */ +typedef ISC_LIST(isc_task_t) isc_tasklist_t; /*%< Task List */ +typedef struct isc_taskmgr isc_taskmgr_t; /*%< Task Manager */ +typedef struct isc_textregion isc_textregion_t; /*%< Text Region */ +typedef struct isc_time isc_time_t; /*%< Time */ +typedef struct isc_timer isc_timer_t; /*%< Timer */ +typedef struct isc_timermgr isc_timermgr_t; /*%< Timer Manager */ typedef void (*isc_taskaction_t)(isc_task_t *, isc_event_t *); typedef int (*isc_sockfdwatch_t)(isc_task_t *, isc_socket_t *, void *, int); /* The following cannot be listed alphabetically due to forward reference */ -typedef isc_result_t (isc_httpdaction_t)(const char *url, - isc_httpdurl_t *urlinfo, - const char *querystring, - const char *headers, - void *arg, - unsigned int *retcode, - const char **retmsg, - const char **mimetype, - isc_buffer_t *body, - isc_httpdfree_t **freecb, - void **freecb_args); -typedef bool (isc_httpdclientok_t)(const isc_sockaddr_t *, void *); +typedef isc_result_t(isc_httpdaction_t)( + const char *url, isc_httpdurl_t *urlinfo, const char *querystring, + const char *headers, void *arg, unsigned int *retcode, + const char **retmsg, const char **mimetype, isc_buffer_t *body, + isc_httpdfree_t **freecb, void **freecb_args); +typedef bool(isc_httpdclientok_t)(const isc_sockaddr_t *, void *); /*% Resource */ typedef enum { diff --git a/lib/isc/include/isc/util.h b/lib/isc/include/isc/util.h index 20f107b8c6..90874c629c 100644 --- a/lib/isc/include/isc/util.h +++ b/lib/isc/include/isc/util.h @@ -40,10 +40,10 @@ * } * \endcode */ -#define UNUSED(x) (void)(x) +#define UNUSED(x) (void)(x) #if __GNUC__ >= 8 && !defined(__clang__) -#define ISC_NONSTRING __attribute__((nonstring)) +#define ISC_NONSTRING __attribute__((nonstring)) #else #define ISC_NONSTRING #endif /* __GNUC__ */ @@ -51,10 +51,10 @@ /*% * The opposite: silent warnings about stored values which are never read. */ -#define POST(x) (void)(x) +#define POST(x) (void)(x) -#define ISC_MAX(a, b) ((a) > (b) ? (a) : (b)) -#define ISC_MIN(a, b) ((a) < (b) ? (a) : (b)) +#define ISC_MAX(a, b) ((a) > (b) ? (a) : (b)) +#define ISC_MIN(a, b) ((a) < (b) ? (a) : (b)) #define ISC_CLAMP(v, x, y) ((v) < (x) ? (x) : ((v) > (y) ? (y) : (v))) @@ -66,11 +66,14 @@ * (as with gcc -Wcast-qual) when there is just no other good way to avoid the * situation. */ -#define DE_CONST(konst, var) \ - do { \ - union { const void *k; void *v; } _u; \ - _u.k = konst; \ - var = _u.v; \ +#define DE_CONST(konst, var) \ + do { \ + union { \ + const void *k; \ + void * v; \ + } _u; \ + _u.k = konst; \ + var = _u.v; \ } while (0) /*% @@ -88,44 +91,49 @@ #ifdef ISC_UTIL_TRACEON #define ISC_UTIL_TRACE(a) a -#include /* Required for fprintf/stderr when tracing. */ +#include /* Required for fprintf/stderr when tracing. */ #else #define ISC_UTIL_TRACE(a) #endif -#include /* Contractual promise. */ +#include /* Contractual promise. */ -#define LOCK(lp) do { \ - ISC_UTIL_TRACE(fprintf(stderr, "LOCKING %p %s %d\n", \ - (lp), __FILE__, __LINE__)); \ - RUNTIME_CHECK(isc_mutex_lock((lp)) == ISC_R_SUCCESS); \ - ISC_UTIL_TRACE(fprintf(stderr, "LOCKED %p %s %d\n", \ - (lp), __FILE__, __LINE__)); \ +#define LOCK(lp) \ + do { \ + ISC_UTIL_TRACE(fprintf(stderr, "LOCKING %p %s %d\n", (lp), \ + __FILE__, __LINE__)); \ + RUNTIME_CHECK(isc_mutex_lock((lp)) == ISC_R_SUCCESS); \ + ISC_UTIL_TRACE(fprintf(stderr, "LOCKED %p %s %d\n", (lp), \ + __FILE__, __LINE__)); \ } while (0) -#define UNLOCK(lp) do { \ - RUNTIME_CHECK(isc_mutex_unlock((lp)) == ISC_R_SUCCESS); \ - ISC_UTIL_TRACE(fprintf(stderr, "UNLOCKED %p %s %d\n", \ - (lp), __FILE__, __LINE__)); \ +#define UNLOCK(lp) \ + do { \ + RUNTIME_CHECK(isc_mutex_unlock((lp)) == ISC_R_SUCCESS); \ + ISC_UTIL_TRACE(fprintf(stderr, "UNLOCKED %p %s %d\n", (lp), \ + __FILE__, __LINE__)); \ } while (0) -#define BROADCAST(cvp) do { \ - ISC_UTIL_TRACE(fprintf(stderr, "BROADCAST %p %s %d\n", \ - (cvp), __FILE__, __LINE__)); \ - RUNTIME_CHECK(isc_condition_broadcast((cvp)) == ISC_R_SUCCESS); \ +#define BROADCAST(cvp) \ + do { \ + ISC_UTIL_TRACE(fprintf(stderr, "BROADCAST %p %s %d\n", (cvp), \ + __FILE__, __LINE__)); \ + RUNTIME_CHECK(isc_condition_broadcast((cvp)) == \ + ISC_R_SUCCESS); \ } while (0) -#define SIGNAL(cvp) do { \ - ISC_UTIL_TRACE(fprintf(stderr, "SIGNAL %p %s %d\n", \ - (cvp), __FILE__, __LINE__)); \ - RUNTIME_CHECK(isc_condition_signal((cvp)) == ISC_R_SUCCESS); \ +#define SIGNAL(cvp) \ + do { \ + ISC_UTIL_TRACE(fprintf(stderr, "SIGNAL %p %s %d\n", (cvp), \ + __FILE__, __LINE__)); \ + RUNTIME_CHECK(isc_condition_signal((cvp)) == ISC_R_SUCCESS); \ } while (0) -#define WAIT(cvp, lp) do { \ - ISC_UTIL_TRACE(fprintf(stderr, "WAIT %p LOCK %p %s %d\n", \ - (cvp), \ - (lp), __FILE__, __LINE__)); \ - RUNTIME_CHECK(isc_condition_wait((cvp), (lp)) == ISC_R_SUCCESS); \ - ISC_UTIL_TRACE(fprintf(stderr, "WAITED %p LOCKED %p %s %d\n", \ - (cvp), \ - (lp), __FILE__, __LINE__)); \ +#define WAIT(cvp, lp) \ + do { \ + ISC_UTIL_TRACE(fprintf(stderr, "WAIT %p LOCK %p %s %d\n", \ + (cvp), (lp), __FILE__, __LINE__)); \ + RUNTIME_CHECK(isc_condition_wait((cvp), (lp)) == \ + ISC_R_SUCCESS); \ + ISC_UTIL_TRACE(fprintf(stderr, "WAITED %p LOCKED %p %s %d\n", \ + (cvp), (lp), __FILE__, __LINE__)); \ } while (0) /* @@ -135,44 +143,45 @@ * XXX Also, can't really debug this then... */ -#define WAITUNTIL(cvp, lp, tp) \ - isc_condition_waituntil((cvp), (lp), (tp)) +#define WAITUNTIL(cvp, lp, tp) isc_condition_waituntil((cvp), (lp), (tp)) -#define RWLOCK(lp, t) do { \ - ISC_UTIL_TRACE(fprintf(stderr, "RWLOCK %p, %d %s %d\n", \ - (lp), (t), __FILE__, __LINE__)); \ - RUNTIME_CHECK(isc_rwlock_lock((lp), (t)) == ISC_R_SUCCESS); \ - ISC_UTIL_TRACE(fprintf(stderr, "RWLOCKED %p, %d %s %d\n", \ - (lp), (t), __FILE__, __LINE__)); \ +#define RWLOCK(lp, t) \ + do { \ + ISC_UTIL_TRACE(fprintf(stderr, "RWLOCK %p, %d %s %d\n", (lp), \ + (t), __FILE__, __LINE__)); \ + RUNTIME_CHECK(isc_rwlock_lock((lp), (t)) == ISC_R_SUCCESS); \ + ISC_UTIL_TRACE(fprintf(stderr, "RWLOCKED %p, %d %s %d\n", \ + (lp), (t), __FILE__, __LINE__)); \ } while (0) -#define RWUNLOCK(lp, t) do { \ - ISC_UTIL_TRACE(fprintf(stderr, "RWUNLOCK %p, %d %s %d\n", \ - (lp), (t), __FILE__, __LINE__)); \ - RUNTIME_CHECK(isc_rwlock_unlock((lp), (t)) == ISC_R_SUCCESS); \ +#define RWUNLOCK(lp, t) \ + do { \ + ISC_UTIL_TRACE(fprintf(stderr, "RWUNLOCK %p, %d %s %d\n", \ + (lp), (t), __FILE__, __LINE__)); \ + RUNTIME_CHECK(isc_rwlock_unlock((lp), (t)) == ISC_R_SUCCESS); \ } while (0) /* * List Macros. */ -#include /* Contractual promise. */ +#include /* Contractual promise. */ -#define LIST(type) ISC_LIST(type) -#define INIT_LIST(type) ISC_LIST_INIT(type) -#define LINK(type) ISC_LINK(type) -#define INIT_LINK(elt, link) ISC_LINK_INIT(elt, link) -#define HEAD(list) ISC_LIST_HEAD(list) -#define TAIL(list) ISC_LIST_TAIL(list) -#define EMPTY(list) ISC_LIST_EMPTY(list) -#define PREV(elt, link) ISC_LIST_PREV(elt, link) -#define NEXT(elt, link) ISC_LIST_NEXT(elt, link) -#define APPEND(list, elt, link) ISC_LIST_APPEND(list, elt, link) -#define PREPEND(list, elt, link) ISC_LIST_PREPEND(list, elt, link) -#define UNLINK(list, elt, link) ISC_LIST_UNLINK(list, elt, link) -#define ENQUEUE(list, elt, link) ISC_LIST_APPEND(list, elt, link) -#define DEQUEUE(list, elt, link) ISC_LIST_UNLINK(list, elt, link) -#define INSERTBEFORE(li, b, e, ln) ISC_LIST_INSERTBEFORE(li, b, e, ln) -#define INSERTAFTER(li, a, e, ln) ISC_LIST_INSERTAFTER(li, a, e, ln) -#define APPENDLIST(list1, list2, link) ISC_LIST_APPENDLIST(list1, list2, link) +#define LIST(type) ISC_LIST(type) +#define INIT_LIST(type) ISC_LIST_INIT(type) +#define LINK(type) ISC_LINK(type) +#define INIT_LINK(elt, link) ISC_LINK_INIT(elt, link) +#define HEAD(list) ISC_LIST_HEAD(list) +#define TAIL(list) ISC_LIST_TAIL(list) +#define EMPTY(list) ISC_LIST_EMPTY(list) +#define PREV(elt, link) ISC_LIST_PREV(elt, link) +#define NEXT(elt, link) ISC_LIST_NEXT(elt, link) +#define APPEND(list, elt, link) ISC_LIST_APPEND(list, elt, link) +#define PREPEND(list, elt, link) ISC_LIST_PREPEND(list, elt, link) +#define UNLINK(list, elt, link) ISC_LIST_UNLINK(list, elt, link) +#define ENQUEUE(list, elt, link) ISC_LIST_APPEND(list, elt, link) +#define DEQUEUE(list, elt, link) ISC_LIST_UNLINK(list, elt, link) +#define INSERTBEFORE(li, b, e, ln) ISC_LIST_INSERTBEFORE(li, b, e, ln) +#define INSERTAFTER(li, a, e, ln) ISC_LIST_INSERTAFTER(li, a, e, ln) +#define APPENDLIST(list1, list2, link) ISC_LIST_APPENDLIST(list1, list2, link) /*% * Performance @@ -213,26 +222,31 @@ #endif #ifdef UNIT_TESTING -extern void mock_assert(const int result, const char* const expression, - const char * const file, const int line); +extern void +mock_assert(const int result, const char *const expression, + const char *const file, const int line); /* * Allow clang to determine that the following code is not reached * by calling abort() if the condition fails. The abort() will * never be executed as mock_assert() and _assert_true() longjmp * or exit if the condition is false. */ -#define REQUIRE(expression) \ - ((!(expression)) ? \ - (mock_assert(0, #expression, __FILE__, __LINE__), abort()) : (void)0) -#define ENSURE(expression) \ - ((!(int)(expression)) ? \ - (mock_assert(0, #expression, __FILE__, __LINE__), abort()) : (void)0) -#define INSIST(expression) \ - ((!(expression)) ? \ - (mock_assert(0, #expression, __FILE__, __LINE__), abort()) : (void)0) -#define INVARIANT(expression) \ - ((!(expression)) ? \ - (mock_assert(0, #expression, __FILE__, __LINE__), abort()) : (void)0) +#define REQUIRE(expression) \ + ((!(expression)) \ + ? (mock_assert(0, #expression, __FILE__, __LINE__), abort()) \ + : (void)0) +#define ENSURE(expression) \ + ((!(int)(expression)) \ + ? (mock_assert(0, #expression, __FILE__, __LINE__), abort()) \ + : (void)0) +#define INSIST(expression) \ + ((!(expression)) \ + ? (mock_assert(0, #expression, __FILE__, __LINE__), abort()) \ + : (void)0) +#define INVARIANT(expression) \ + ((!(expression)) \ + ? (mock_assert(0, #expression, __FILE__, __LINE__), abort()) \ + : (void)0) #define _assert_true(c, e, f, l) \ ((c) ? (void)0 : (_assert_true(0, e, f, l), abort())) #define _assert_int_equal(a, b, f, l) \ @@ -246,27 +260,35 @@ extern void mock_assert(const int result, const char* const expression, /* * Assertions */ -#include /* Contractual promise. */ +#include /* Contractual promise. */ /*% Require Assertion */ -#define REQUIRE(e) ISC_REQUIRE(e) +#define REQUIRE(e) ISC_REQUIRE(e) /*% Ensure Assertion */ -#define ENSURE(e) ISC_ENSURE(e) +#define ENSURE(e) ISC_ENSURE(e) /*% Insist Assertion */ -#define INSIST(e) ISC_INSIST(e) +#define INSIST(e) ISC_INSIST(e) /*% Invariant Assertion */ -#define INVARIANT(e) ISC_INVARIANT(e) +#define INVARIANT(e) ISC_INVARIANT(e) #else /* CPPCHECK */ /*% Require Assertion */ -#define REQUIRE(e) if (!(e)) abort() +#define REQUIRE(e) \ + if (!(e)) \ + abort() /*% Ensure Assertion */ -#define ENSURE(e) if (!(e)) abort() +#define ENSURE(e) \ + if (!(e)) \ + abort() /*% Insist Assertion */ -#define INSIST(e) if (!(e)) abort() +#define INSIST(e) \ + if (!(e)) \ + abort() /*% Invariant Assertion */ -#define INVARIANT(e) if (!(e)) abort() +#define INVARIANT(e) \ + if (!(e)) \ + abort() #endif /* CPPCHECK */ @@ -275,26 +297,29 @@ extern void mock_assert(const int result, const char* const expression, /* * Errors */ -#include /* Contractual promise. */ +#include /* Contractual promise. */ /*% Unexpected Error */ -#define UNEXPECTED_ERROR isc_error_unexpected +#define UNEXPECTED_ERROR isc_error_unexpected /*% Fatal Error */ -#define FATAL_ERROR isc_error_fatal +#define FATAL_ERROR isc_error_fatal #ifdef UNIT_TESTING -#define RUNTIME_CHECK(expression) \ - ((!(expression)) ? \ - (mock_assert(0, #expression, __FILE__, __LINE__), abort()) : (void)0) +#define RUNTIME_CHECK(expression) \ + ((!(expression)) \ + ? (mock_assert(0, #expression, __FILE__, __LINE__), abort()) \ + : (void)0) #else /* UNIT_TESTING */ #ifndef CPPCHECK /*% Runtime Check */ -#define RUNTIME_CHECK(cond) ISC_ERROR_RUNTIMECHECK(cond) +#define RUNTIME_CHECK(cond) ISC_ERROR_RUNTIMECHECK(cond) #else -#define RUNTIME_CHECK(e) if (!(e)) abort() +#define RUNTIME_CHECK(e) \ + if (!(e)) \ + abort() #endif #endif /* UNIT_TESTING */ @@ -302,15 +327,15 @@ extern void mock_assert(const int result, const char* const expression, /*% * Time */ -#define TIME_NOW(tp) RUNTIME_CHECK(isc_time_now((tp)) == ISC_R_SUCCESS) +#define TIME_NOW(tp) RUNTIME_CHECK(isc_time_now((tp)) == ISC_R_SUCCESS) /*% * Alignment */ #ifdef __GNUC__ -#define ISC_ALIGN(x, a) (((x) + (a) - 1) & ~((typeof(x))(a) - 1)) +#define ISC_ALIGN(x, a) (((x) + (a)-1) & ~((typeof(x))(a)-1)) #else -#define ISC_ALIGN(x, a) (((x) + (a) - 1) & ~((uintmax_t)(a) - 1)) +#define ISC_ALIGN(x, a) (((x) + (a)-1) & ~((uintmax_t)(a)-1)) #endif /*% diff --git a/lib/isc/include/isc/version.h b/lib/isc/include/isc/version.h index d371e0d3a2..77bf076bac 100644 --- a/lib/isc/include/isc/version.h +++ b/lib/isc/include/isc/version.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file isc/version.h */ #include diff --git a/lib/isc/include/pk11/constants.h b/lib/isc/include/pk11/constants.h index 3f16ecbdf7..3dcd6e8fb9 100644 --- a/lib/isc/include/pk11/constants.h +++ b/lib/isc/include/pk11/constants.h @@ -9,91 +9,70 @@ * information regarding copyright ownership. */ - #ifndef PK11_CONSTANTS_H #define PK11_CONSTANTS_H 1 +#include + /*! \file pk11/constants.h */ /*% * Static arrays of data used for key template initalization */ -static CK_BYTE pk11_ecc_prime256v1[] = { - 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07 -}; +static CK_BYTE pk11_ecc_prime256v1[] = { 0x06, 0x08, 0x2a, 0x86, 0x48, + 0xce, 0x3d, 0x03, 0x01, 0x07 }; static CK_BYTE pk11_ecc_secp384r1[] = { 0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x22 }; #if HAVE_PKCS11_ED25519 -static CK_BYTE pk11_ecc_ed25519[] = { - 0x06, 0x03, 0x2b, 0x65, 0x70 -}; +static CK_BYTE pk11_ecc_ed25519[] = { 0x06, 0x03, 0x2b, 0x65, 0x70 }; #endif /* HAVE_PKCS11_ED25519 */ #if HAVE_PKCS11_ED448 -static CK_BYTE pk11_ecc_ed448[] = { - 0x06, 0x03, 0x2b, 0x65, 0x71 -}; +static CK_BYTE pk11_ecc_ed448[] = { 0x06, 0x03, 0x2b, 0x65, 0x71 }; #endif /* HAVE_PKCS11_ED448 */ #ifdef WANT_DH_PRIMES static CK_BYTE pk11_dh_bn2[] = { 2 }; static CK_BYTE pk11_dh_bn768[] = { - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xc9, 0x0f, 0xda, 0xa2, 0x21, 0x68, 0xc2, 0x34, - 0xc4, 0xc6, 0x62, 0x8b, 0x80, 0xdc, 0x1c, 0xd1, - 0x29, 0x02, 0x4e, 0x08, 0x8a, 0x67, 0xcc, 0x74, - 0x02, 0x0b, 0xbe, 0xa6, 0x3b, 0x13, 0x9b, 0x22, - 0x51, 0x4a, 0x08, 0x79, 0x8e, 0x34, 0x04, 0xdd, - 0xef, 0x95, 0x19, 0xb3, 0xcd, 0x3a, 0x43, 0x1b, - 0x30, 0x2b, 0x0a, 0x6d, 0xf2, 0x5f, 0x14, 0x37, - 0x4f, 0xe1, 0x35, 0x6d, 0x6d, 0x51, 0xc2, 0x45, - 0xe4, 0x85, 0xb5, 0x76, 0x62, 0x5e, 0x7e, 0xc6, - 0xf4, 0x4c, 0x42, 0xe9, 0xa6, 0x3a, 0x36, 0x20, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0x0f, 0xda, 0xa2, + 0x21, 0x68, 0xc2, 0x34, 0xc4, 0xc6, 0x62, 0x8b, 0x80, 0xdc, 0x1c, 0xd1, + 0x29, 0x02, 0x4e, 0x08, 0x8a, 0x67, 0xcc, 0x74, 0x02, 0x0b, 0xbe, 0xa6, + 0x3b, 0x13, 0x9b, 0x22, 0x51, 0x4a, 0x08, 0x79, 0x8e, 0x34, 0x04, 0xdd, + 0xef, 0x95, 0x19, 0xb3, 0xcd, 0x3a, 0x43, 0x1b, 0x30, 0x2b, 0x0a, 0x6d, + 0xf2, 0x5f, 0x14, 0x37, 0x4f, 0xe1, 0x35, 0x6d, 0x6d, 0x51, 0xc2, 0x45, + 0xe4, 0x85, 0xb5, 0x76, 0x62, 0x5e, 0x7e, 0xc6, 0xf4, 0x4c, 0x42, 0xe9, + 0xa6, 0x3a, 0x36, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; static CK_BYTE pk11_dh_bn1024[] = { - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xc9, 0x0f, 0xda, 0xa2, 0x21, 0x68, 0xc2, 0x34, - 0xc4, 0xc6, 0x62, 0x8b, 0x80, 0xdc, 0x1c, 0xd1, - 0x29, 0x02, 0x4e, 0x08, 0x8a, 0x67, 0xcc, 0x74, - 0x02, 0x0b, 0xbe, 0xa6, 0x3b, 0x13, 0x9b, 0x22, - 0x51, 0x4a, 0x08, 0x79, 0x8e, 0x34, 0x04, 0xdd, - 0xef, 0x95, 0x19, 0xb3, 0xcd, 0x3a, 0x43, 0x1b, - 0x30, 0x2b, 0x0a, 0x6d, 0xf2, 0x5f, 0x14, 0x37, - 0x4f, 0xe1, 0x35, 0x6d, 0x6d, 0x51, 0xc2, 0x45, - 0xe4, 0x85, 0xb5, 0x76, 0x62, 0x5e, 0x7e, 0xc6, - 0xf4, 0x4c, 0x42, 0xe9, 0xa6, 0x37, 0xed, 0x6b, - 0x0b, 0xff, 0x5c, 0xb6, 0xf4, 0x06, 0xb7, 0xed, - 0xee, 0x38, 0x6b, 0xfb, 0x5a, 0x89, 0x9f, 0xa5, - 0xae, 0x9f, 0x24, 0x11, 0x7c, 0x4b, 0x1f, 0xe6, - 0x49, 0x28, 0x66, 0x51, 0xec, 0xe6, 0x53, 0x81, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0x0f, 0xda, 0xa2, + 0x21, 0x68, 0xc2, 0x34, 0xc4, 0xc6, 0x62, 0x8b, 0x80, 0xdc, 0x1c, 0xd1, + 0x29, 0x02, 0x4e, 0x08, 0x8a, 0x67, 0xcc, 0x74, 0x02, 0x0b, 0xbe, 0xa6, + 0x3b, 0x13, 0x9b, 0x22, 0x51, 0x4a, 0x08, 0x79, 0x8e, 0x34, 0x04, 0xdd, + 0xef, 0x95, 0x19, 0xb3, 0xcd, 0x3a, 0x43, 0x1b, 0x30, 0x2b, 0x0a, 0x6d, + 0xf2, 0x5f, 0x14, 0x37, 0x4f, 0xe1, 0x35, 0x6d, 0x6d, 0x51, 0xc2, 0x45, + 0xe4, 0x85, 0xb5, 0x76, 0x62, 0x5e, 0x7e, 0xc6, 0xf4, 0x4c, 0x42, 0xe9, + 0xa6, 0x37, 0xed, 0x6b, 0x0b, 0xff, 0x5c, 0xb6, 0xf4, 0x06, 0xb7, 0xed, + 0xee, 0x38, 0x6b, 0xfb, 0x5a, 0x89, 0x9f, 0xa5, 0xae, 0x9f, 0x24, 0x11, + 0x7c, 0x4b, 0x1f, 0xe6, 0x49, 0x28, 0x66, 0x51, 0xec, 0xe6, 0x53, 0x81, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; static CK_BYTE pk11_dh_bn1536[] = { - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xc9, 0x0f, 0xda, 0xa2, 0x21, 0x68, 0xc2, 0x34, - 0xc4, 0xc6, 0x62, 0x8b, 0x80, 0xdc, 0x1c, 0xd1, - 0x29, 0x02, 0x4e, 0x08, 0x8a, 0x67, 0xcc, 0x74, - 0x02, 0x0b, 0xbe, 0xa6, 0x3b, 0x13, 0x9b, 0x22, - 0x51, 0x4a, 0x08, 0x79, 0x8e, 0x34, 0x04, 0xdd, - 0xef, 0x95, 0x19, 0xb3, 0xcd, 0x3a, 0x43, 0x1b, - 0x30, 0x2b, 0x0a, 0x6d, 0xf2, 0x5f, 0x14, 0x37, - 0x4f, 0xe1, 0x35, 0x6d, 0x6d, 0x51, 0xc2, 0x45, - 0xe4, 0x85, 0xb5, 0x76, 0x62, 0x5e, 0x7e, 0xc6, - 0xf4, 0x4c, 0x42, 0xe9, 0xa6, 0x37, 0xed, 0x6b, - 0x0b, 0xff, 0x5c, 0xb6, 0xf4, 0x06, 0xb7, 0xed, - 0xee, 0x38, 0x6b, 0xfb, 0x5a, 0x89, 0x9f, 0xa5, - 0xae, 0x9f, 0x24, 0x11, 0x7c, 0x4b, 0x1f, 0xe6, - 0x49, 0x28, 0x66, 0x51, 0xec, 0xe4, 0x5b, 0x3d, - 0xc2, 0x00, 0x7c, 0xb8, 0xa1, 0x63, 0xbf, 0x05, - 0x98, 0xda, 0x48, 0x36, 0x1c, 0x55, 0xd3, 0x9a, - 0x69, 0x16, 0x3f, 0xa8, 0xfd, 0x24, 0xcf, 0x5f, - 0x83, 0x65, 0x5d, 0x23, 0xdc, 0xa3, 0xad, 0x96, - 0x1c, 0x62, 0xf3, 0x56, 0x20, 0x85, 0x52, 0xbb, - 0x9e, 0xd5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6d, - 0x67, 0x0c, 0x35, 0x4e, 0x4a, 0xbc, 0x98, 0x04, - 0xf1, 0x74, 0x6c, 0x08, 0xca, 0x23, 0x73, 0x27, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0x0f, 0xda, 0xa2, + 0x21, 0x68, 0xc2, 0x34, 0xc4, 0xc6, 0x62, 0x8b, 0x80, 0xdc, 0x1c, 0xd1, + 0x29, 0x02, 0x4e, 0x08, 0x8a, 0x67, 0xcc, 0x74, 0x02, 0x0b, 0xbe, 0xa6, + 0x3b, 0x13, 0x9b, 0x22, 0x51, 0x4a, 0x08, 0x79, 0x8e, 0x34, 0x04, 0xdd, + 0xef, 0x95, 0x19, 0xb3, 0xcd, 0x3a, 0x43, 0x1b, 0x30, 0x2b, 0x0a, 0x6d, + 0xf2, 0x5f, 0x14, 0x37, 0x4f, 0xe1, 0x35, 0x6d, 0x6d, 0x51, 0xc2, 0x45, + 0xe4, 0x85, 0xb5, 0x76, 0x62, 0x5e, 0x7e, 0xc6, 0xf4, 0x4c, 0x42, 0xe9, + 0xa6, 0x37, 0xed, 0x6b, 0x0b, 0xff, 0x5c, 0xb6, 0xf4, 0x06, 0xb7, 0xed, + 0xee, 0x38, 0x6b, 0xfb, 0x5a, 0x89, 0x9f, 0xa5, 0xae, 0x9f, 0x24, 0x11, + 0x7c, 0x4b, 0x1f, 0xe6, 0x49, 0x28, 0x66, 0x51, 0xec, 0xe4, 0x5b, 0x3d, + 0xc2, 0x00, 0x7c, 0xb8, 0xa1, 0x63, 0xbf, 0x05, 0x98, 0xda, 0x48, 0x36, + 0x1c, 0x55, 0xd3, 0x9a, 0x69, 0x16, 0x3f, 0xa8, 0xfd, 0x24, 0xcf, 0x5f, + 0x83, 0x65, 0x5d, 0x23, 0xdc, 0xa3, 0xad, 0x96, 0x1c, 0x62, 0xf3, 0x56, + 0x20, 0x85, 0x52, 0xbb, 0x9e, 0xd5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6d, + 0x67, 0x0c, 0x35, 0x4e, 0x4a, 0xbc, 0x98, 0x04, 0xf1, 0x74, 0x6c, 0x08, + 0xca, 0x23, 0x73, 0x27, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; #endif diff --git a/lib/isc/include/pk11/internal.h b/lib/isc/include/pk11/internal.h index aa8907ab08..dfdf526eeb 100644 --- a/lib/isc/include/pk11/internal.h +++ b/lib/isc/include/pk11/internal.h @@ -9,31 +9,38 @@ * information regarding copyright ownership. */ - #ifndef PK11_INTERNAL_H #define PK11_INTERNAL_H 1 /*! \file pk11/internal.h */ +#include + ISC_LANG_BEGINDECLS -const char *pk11_get_lib_name(void); +const char * +pk11_get_lib_name(void); -void *pk11_mem_get(size_t size); +void * +pk11_mem_get(size_t size); -void pk11_mem_put(void *ptr, size_t size); +void +pk11_mem_put(void *ptr, size_t size); -CK_SLOT_ID pk11_get_best_token(pk11_optype_t optype); +CK_SLOT_ID +pk11_get_best_token(pk11_optype_t optype); -unsigned int pk11_numbits(CK_BYTE_PTR data, unsigned int bytecnt); +unsigned int +pk11_numbits(CK_BYTE_PTR data, unsigned int bytecnt); -CK_ATTRIBUTE *pk11_attribute_first(const pk11_object_t *obj); +CK_ATTRIBUTE * +pk11_attribute_first(const pk11_object_t *obj); -CK_ATTRIBUTE *pk11_attribute_next(const pk11_object_t *obj, - CK_ATTRIBUTE *attr); +CK_ATTRIBUTE * +pk11_attribute_next(const pk11_object_t *obj, CK_ATTRIBUTE *attr); -CK_ATTRIBUTE *pk11_attribute_bytype(const pk11_object_t *obj, - CK_ATTRIBUTE_TYPE type); +CK_ATTRIBUTE * +pk11_attribute_bytype(const pk11_object_t *obj, CK_ATTRIBUTE_TYPE type); ISC_LANG_ENDDECLS diff --git a/lib/isc/include/pk11/pk11.h b/lib/isc/include/pk11/pk11.h index 983da5c9d9..d1c7761c20 100644 --- a/lib/isc/include/pk11/pk11.h +++ b/lib/isc/include/pk11/pk11.h @@ -21,37 +21,37 @@ #include #include -#define PK11_FATALCHECK(func, args) \ - ((void) (((rv = (func) args) == CKR_OK) || \ - ((pk11_error_fatalcheck)(__FILE__, __LINE__, #func, rv), 0))) +#define PK11_FATALCHECK(func, args) \ + ((void)(((rv = (func)args) == CKR_OK) || \ + ((pk11_error_fatalcheck)(__FILE__, __LINE__, #func, rv), 0))) -#include #include +#include ISC_LANG_BEGINDECLS -#define SES_MAGIC ISC_MAGIC('P','K','S','S') -#define TOK_MAGIC ISC_MAGIC('P','K','T','K') +#define SES_MAGIC ISC_MAGIC('P', 'K', 'S', 'S') +#define TOK_MAGIC ISC_MAGIC('P', 'K', 'T', 'K') -#define VALID_SES(x) ISC_MAGIC_VALID(x, SES_MAGIC) -#define VALID_TOK(x) ISC_MAGIC_VALID(x, TOK_MAGIC) +#define VALID_SES(x) ISC_MAGIC_VALID(x, SES_MAGIC) +#define VALID_TOK(x) ISC_MAGIC_VALID(x, TOK_MAGIC) typedef struct pk11_context pk11_context_t; struct pk11_object { - CK_OBJECT_HANDLE object; - CK_SLOT_ID slot; - CK_BBOOL ontoken; - CK_BBOOL reqlogon; - CK_BYTE attrcnt; - CK_ATTRIBUTE *repr; + CK_OBJECT_HANDLE object; + CK_SLOT_ID slot; + CK_BBOOL ontoken; + CK_BBOOL reqlogon; + CK_BYTE attrcnt; + CK_ATTRIBUTE * repr; }; struct pk11_context { - void *handle; - CK_SESSION_HANDLE session; - CK_BBOOL ontoken; - CK_OBJECT_HANDLE object; + void * handle; + CK_SESSION_HANDLE session; + CK_BBOOL ontoken; + CK_OBJECT_HANDLE object; }; typedef struct pk11_object pk11_object_t; @@ -74,12 +74,14 @@ LIBISC_EXTERNAL_DATA extern bool pk11_verbose_init; * Function prototypes */ -void pk11_set_lib_name(const char *lib_name); +void +pk11_set_lib_name(const char *lib_name); /*%< * Set the PKCS#11 provider (aka library) path/name. */ -isc_result_t pk11_initialize(isc_mem_t *mctx, const char *engine); +isc_result_t +pk11_initialize(isc_mem_t *mctx, const char *engine); /*%< * Initialize PKCS#11 device * @@ -95,13 +97,9 @@ isc_result_t pk11_initialize(isc_mem_t *mctx, const char *engine); * PK11_R_NOAESSERVICE: can't find required AES service */ -isc_result_t pk11_get_session(pk11_context_t *ctx, - pk11_optype_t optype, - bool need_services, - bool rw, - bool logon, - const char *pin, - CK_SLOT_ID slot); +isc_result_t +pk11_get_session(pk11_context_t *ctx, pk11_optype_t optype, bool need_services, + bool rw, bool logon, const char *pin, CK_SLOT_ID slot); /*%< * Initialize PKCS#11 device and acquire a session. * @@ -120,30 +118,34 @@ isc_result_t pk11_get_session(pk11_context_t *ctx, * slot: device slot ID */ -void pk11_return_session(pk11_context_t *ctx); +void +pk11_return_session(pk11_context_t *ctx); /*%< * Release an active PKCS#11 session for reuse. */ -isc_result_t pk11_finalize(void); +isc_result_t +pk11_finalize(void); /*%< * Shut down PKCS#11 device and free all sessions. */ -isc_result_t pk11_parse_uri(pk11_object_t *obj, const char *label, - isc_mem_t *mctx, pk11_optype_t optype); +isc_result_t +pk11_parse_uri(pk11_object_t *obj, const char *label, isc_mem_t *mctx, + pk11_optype_t optype); ISC_PLATFORM_NORETURN_PRE void -pk11_error_fatalcheck(const char *file, int line, - const char *funcname, CK_RV rv) -ISC_PLATFORM_NORETURN_POST; +pk11_error_fatalcheck(const char *file, int line, const char *funcname, + CK_RV rv) ISC_PLATFORM_NORETURN_POST; -void pk11_dump_tokens(void); +void +pk11_dump_tokens(void); CK_RV pkcs_C_Initialize(CK_VOID_PTR pReserved); -char *pk11_get_load_error_message(void); +char * +pk11_get_load_error_message(void); CK_RV pkcs_C_Finalize(CK_VOID_PTR pReserved); @@ -160,11 +162,10 @@ pkcs_C_GetMechanismInfo(CK_SLOT_ID slotID, CK_MECHANISM_TYPE type, CK_MECHANISM_INFO_PTR pInfo); CK_RV -pkcs_C_OpenSession(CK_SLOT_ID slotID, CK_FLAGS flags, - CK_VOID_PTR pApplication, - CK_RV (*Notify) (CK_SESSION_HANDLE hSession, - CK_NOTIFICATION event, - CK_VOID_PTR pApplication), +pkcs_C_OpenSession(CK_SLOT_ID slotID, CK_FLAGS flags, CK_VOID_PTR pApplication, + CK_RV (*Notify)(CK_SESSION_HANDLE hSession, + CK_NOTIFICATION event, + CK_VOID_PTR pApplication), CK_SESSION_HANDLE_PTR phSession); CK_RV @@ -228,9 +229,8 @@ pkcs_C_SignInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey); CK_RV -pkcs_C_Sign(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, - CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen); +pkcs_C_Sign(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, + CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen); CK_RV pkcs_C_SignUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, @@ -245,9 +245,8 @@ pkcs_C_VerifyInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey); CK_RV -pkcs_C_Verify(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, - CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen); +pkcs_C_Verify(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, + CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen); CK_RV pkcs_C_VerifyUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, @@ -263,12 +262,11 @@ pkcs_C_GenerateKey(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE_PTR phKey); CK_RV -pkcs_C_GenerateKeyPair(CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_ATTRIBUTE_PTR pPublicKeyTemplate, - CK_ULONG usPublicKeyAttributeCount, - CK_ATTRIBUTE_PTR pPrivateKeyTemplate, - CK_ULONG usPrivateKeyAttributeCount, +pkcs_C_GenerateKeyPair(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, + CK_ATTRIBUTE_PTR pPublicKeyTemplate, + CK_ULONG usPublicKeyAttributeCount, + CK_ATTRIBUTE_PTR pPrivateKeyTemplate, + CK_ULONG usPrivateKeyAttributeCount, CK_OBJECT_HANDLE_PTR phPrivateKey, CK_OBJECT_HANDLE_PTR phPublicKey); diff --git a/lib/isc/include/pk11/result.h b/lib/isc/include/pk11/result.h index e5f8102dba..adc4b9c69e 100644 --- a/lib/isc/include/pk11/result.h +++ b/lib/isc/include/pk11/result.h @@ -24,20 +24,19 @@ * the ISC result codes, so including this file buys you the ISC_R_ * namespace too. */ -#include /* Contractual promise. */ +#include /* Contractual promise. */ -#define PK11_R_INITFAILED (ISC_RESULTCLASS_PK11 + 0) -#define PK11_R_NOPROVIDER (ISC_RESULTCLASS_PK11 + 1) -#define PK11_R_NORANDOMSERVICE (ISC_RESULTCLASS_PK11 + 2) -#define PK11_R_NODIGESTSERVICE (ISC_RESULTCLASS_PK11 + 3) -#define PK11_R_NOAESSERVICE (ISC_RESULTCLASS_PK11 + 4) +#define PK11_R_INITFAILED (ISC_RESULTCLASS_PK11 + 0) +#define PK11_R_NOPROVIDER (ISC_RESULTCLASS_PK11 + 1) +#define PK11_R_NORANDOMSERVICE (ISC_RESULTCLASS_PK11 + 2) +#define PK11_R_NODIGESTSERVICE (ISC_RESULTCLASS_PK11 + 3) +#define PK11_R_NOAESSERVICE (ISC_RESULTCLASS_PK11 + 4) -#define PK11_R_NRESULTS 5 /* Number of results */ +#define PK11_R_NRESULTS 5 /* Number of results */ ISC_LANG_BEGINDECLS -const char * -pk11_result_totext(isc_result_t); +const char *pk11_result_totext(isc_result_t); void pk11_result_register(void); diff --git a/lib/isc/include/pkcs11/eddsa.h b/lib/isc/include/pkcs11/eddsa.h index c0b2e9cdab..9af4b5d4c7 100644 --- a/lib/isc/include/pkcs11/eddsa.h +++ b/lib/isc/include/pkcs11/eddsa.h @@ -14,19 +14,19 @@ #ifndef CKK_EDDSA #ifdef PK11_SOFTHSMV2_FLAVOR -#define CKK_EDDSA 0x00008003UL +#define CKK_EDDSA 0x00008003UL #endif #endif #ifndef CKM_EDDSA_KEY_PAIR_GEN #ifdef PK11_SOFTHSMV2_FLAVOR -#define CKM_EDDSA_KEY_PAIR_GEN 0x00009040UL +#define CKM_EDDSA_KEY_PAIR_GEN 0x00009040UL #endif #endif #ifndef CKM_EDDSA #ifdef PK11_SOFTHSMV2_FLAVOR -#define CKM_EDDSA 0x00009041UL +#define CKM_EDDSA 0x00009041UL #endif #endif diff --git a/lib/isc/include/pkcs11/pkcs11.h b/lib/isc/include/pkcs11/pkcs11.h index 3e3683762d..c24699f0a0 100644 --- a/lib/isc/include/pkcs11/pkcs11.h +++ b/lib/isc/include/pkcs11/pkcs11.h @@ -58,13 +58,11 @@ extern "C" { #endif - /* The version of cryptoki we implement. The revision is changed with each modification of this file. */ -#define CRYPTOKI_VERSION_MAJOR 2 -#define CRYPTOKI_VERSION_MINOR 40 -#define P11_KIT_CRYPTOKI_VERSION_REVISION 0 - +#define CRYPTOKI_VERSION_MAJOR 2 +#define CRYPTOKI_VERSION_MINOR 40 +#define P11_KIT_CRYPTOKI_VERSION_REVISION 0 /* Compatibility interface is default, unless CRYPTOKI_GNU is given. */ @@ -93,10 +91,9 @@ extern "C" { #endif - #ifdef CRYPTOKI_COMPAT - /* If we are in compatibility mode, switch all exposed names to the - PKCS #11 variant. There are corresponding #undefs below. */ +/* If we are in compatibility mode, switch all exposed names to the + PKCS #11 variant. There are corresponding #undefs below. */ #define ck_flags_t CK_FLAGS #define ck_version _CK_VERSION @@ -207,746 +204,714 @@ extern "C" { #define string_data pData #define string_data_len ulLen #define data_params pData -#endif /* CRYPTOKI_COMPAT */ - - +#endif /* CRYPTOKI_COMPAT */ typedef unsigned long ck_flags_t; -struct ck_version -{ - unsigned char major; - unsigned char minor; +struct ck_version { + unsigned char major; + unsigned char minor; }; - -struct ck_info -{ - struct ck_version cryptoki_version; - unsigned char manufacturer_id[32]; - ck_flags_t flags; - unsigned char library_description[32]; - struct ck_version library_version; +struct ck_info { + struct ck_version cryptoki_version; + unsigned char manufacturer_id[32]; + ck_flags_t flags; + unsigned char library_description[32]; + struct ck_version library_version; }; - typedef unsigned long ck_notification_t; -#define CKN_SURRENDER (0UL) - +#define CKN_SURRENDER (0UL) typedef unsigned long ck_slot_id_t; - -struct ck_slot_info -{ - unsigned char slot_description[64]; - unsigned char manufacturer_id[32]; - ck_flags_t flags; - struct ck_version hardware_version; - struct ck_version firmware_version; +struct ck_slot_info { + unsigned char slot_description[64]; + unsigned char manufacturer_id[32]; + ck_flags_t flags; + struct ck_version hardware_version; + struct ck_version firmware_version; }; +#define CKF_TOKEN_PRESENT (1UL << 0) +#define CKF_REMOVABLE_DEVICE (1UL << 1) +#define CKF_HW_SLOT (1UL << 2) +#define CKF_ARRAY_ATTRIBUTE (1UL << 30) -#define CKF_TOKEN_PRESENT (1UL << 0) -#define CKF_REMOVABLE_DEVICE (1UL << 1) -#define CKF_HW_SLOT (1UL << 2) -#define CKF_ARRAY_ATTRIBUTE (1UL << 30) - - -struct ck_token_info -{ - unsigned char label[32]; - unsigned char manufacturer_id[32]; - unsigned char model[16]; - unsigned char serial_number[16]; - ck_flags_t flags; - unsigned long max_session_count; - unsigned long session_count; - unsigned long max_rw_session_count; - unsigned long rw_session_count; - unsigned long max_pin_len; - unsigned long min_pin_len; - unsigned long total_public_memory; - unsigned long free_public_memory; - unsigned long total_private_memory; - unsigned long free_private_memory; - struct ck_version hardware_version; - struct ck_version firmware_version; - unsigned char utc_time[16]; +struct ck_token_info { + unsigned char label[32]; + unsigned char manufacturer_id[32]; + unsigned char model[16]; + unsigned char serial_number[16]; + ck_flags_t flags; + unsigned long max_session_count; + unsigned long session_count; + unsigned long max_rw_session_count; + unsigned long rw_session_count; + unsigned long max_pin_len; + unsigned long min_pin_len; + unsigned long total_public_memory; + unsigned long free_public_memory; + unsigned long total_private_memory; + unsigned long free_private_memory; + struct ck_version hardware_version; + struct ck_version firmware_version; + unsigned char utc_time[16]; }; +#define CKF_RNG (1UL << 0) +#define CKF_WRITE_PROTECTED (1UL << 1) +#define CKF_LOGIN_REQUIRED (1UL << 2) +#define CKF_USER_PIN_INITIALIZED (1UL << 3) +#define CKF_RESTORE_KEY_NOT_NEEDED (1UL << 5) +#define CKF_CLOCK_ON_TOKEN (1UL << 6) +#define CKF_PROTECTED_AUTHENTICATION_PATH (1UL << 8) +#define CKF_DUAL_CRYPTO_OPERATIONS (1UL << 9) +#define CKF_TOKEN_INITIALIZED (1UL << 10) +#define CKF_SECONDARY_AUTHENTICATION (1UL << 11) +#define CKF_USER_PIN_COUNT_LOW (1UL << 16) +#define CKF_USER_PIN_FINAL_TRY (1UL << 17) +#define CKF_USER_PIN_LOCKED (1UL << 18) +#define CKF_USER_PIN_TO_BE_CHANGED (1UL << 19) +#define CKF_SO_PIN_COUNT_LOW (1UL << 20) +#define CKF_SO_PIN_FINAL_TRY (1UL << 21) +#define CKF_SO_PIN_LOCKED (1UL << 22) +#define CKF_SO_PIN_TO_BE_CHANGED (1UL << 23) -#define CKF_RNG (1UL << 0) -#define CKF_WRITE_PROTECTED (1UL << 1) -#define CKF_LOGIN_REQUIRED (1UL << 2) -#define CKF_USER_PIN_INITIALIZED (1UL << 3) -#define CKF_RESTORE_KEY_NOT_NEEDED (1UL << 5) -#define CKF_CLOCK_ON_TOKEN (1UL << 6) -#define CKF_PROTECTED_AUTHENTICATION_PATH (1UL << 8) -#define CKF_DUAL_CRYPTO_OPERATIONS (1UL << 9) -#define CKF_TOKEN_INITIALIZED (1UL << 10) -#define CKF_SECONDARY_AUTHENTICATION (1UL << 11) -#define CKF_USER_PIN_COUNT_LOW (1UL << 16) -#define CKF_USER_PIN_FINAL_TRY (1UL << 17) -#define CKF_USER_PIN_LOCKED (1UL << 18) -#define CKF_USER_PIN_TO_BE_CHANGED (1UL << 19) -#define CKF_SO_PIN_COUNT_LOW (1UL << 20) -#define CKF_SO_PIN_FINAL_TRY (1UL << 21) -#define CKF_SO_PIN_LOCKED (1UL << 22) -#define CKF_SO_PIN_TO_BE_CHANGED (1UL << 23) - -#define CK_UNAVAILABLE_INFORMATION ((unsigned long)-1L) -#define CK_EFFECTIVELY_INFINITE (0UL) - +#define CK_UNAVAILABLE_INFORMATION ((unsigned long)-1L) +#define CK_EFFECTIVELY_INFINITE (0UL) typedef unsigned long ck_session_handle_t; -#define CK_INVALID_HANDLE (0UL) - +#define CK_INVALID_HANDLE (0UL) typedef unsigned long ck_user_type_t; -#define CKU_SO (0UL) -#define CKU_USER (1UL) -#define CKU_CONTEXT_SPECIFIC (2UL) - +#define CKU_SO (0UL) +#define CKU_USER (1UL) +#define CKU_CONTEXT_SPECIFIC (2UL) typedef unsigned long ck_state_t; -#define CKS_RO_PUBLIC_SESSION (0UL) -#define CKS_RO_USER_FUNCTIONS (1UL) -#define CKS_RW_PUBLIC_SESSION (2UL) -#define CKS_RW_USER_FUNCTIONS (3UL) -#define CKS_RW_SO_FUNCTIONS (4UL) +#define CKS_RO_PUBLIC_SESSION (0UL) +#define CKS_RO_USER_FUNCTIONS (1UL) +#define CKS_RW_PUBLIC_SESSION (2UL) +#define CKS_RW_USER_FUNCTIONS (3UL) +#define CKS_RW_SO_FUNCTIONS (4UL) - -struct ck_session_info -{ - ck_slot_id_t slot_id; - ck_state_t state; - ck_flags_t flags; - unsigned long device_error; +struct ck_session_info { + ck_slot_id_t slot_id; + ck_state_t state; + ck_flags_t flags; + unsigned long device_error; }; -#define CKF_RW_SESSION (1UL << 1) -#define CKF_SERIAL_SESSION (1UL << 2) - +#define CKF_RW_SESSION (1UL << 1) +#define CKF_SERIAL_SESSION (1UL << 2) typedef unsigned long ck_object_handle_t; - typedef unsigned long ck_object_class_t; -#define CKO_DATA (0UL) -#define CKO_CERTIFICATE (1UL) -#define CKO_PUBLIC_KEY (2UL) -#define CKO_PRIVATE_KEY (3UL) -#define CKO_SECRET_KEY (4UL) -#define CKO_HW_FEATURE (5UL) -#define CKO_DOMAIN_PARAMETERS (6UL) -#define CKO_MECHANISM (7UL) -#define CKO_OTP_KEY (8UL) -#define CKO_VENDOR_DEFINED ((unsigned long) (1UL << 31)) - +#define CKO_DATA (0UL) +#define CKO_CERTIFICATE (1UL) +#define CKO_PUBLIC_KEY (2UL) +#define CKO_PRIVATE_KEY (3UL) +#define CKO_SECRET_KEY (4UL) +#define CKO_HW_FEATURE (5UL) +#define CKO_DOMAIN_PARAMETERS (6UL) +#define CKO_MECHANISM (7UL) +#define CKO_OTP_KEY (8UL) +#define CKO_VENDOR_DEFINED ((unsigned long)(1UL << 31)) typedef unsigned long ck_hw_feature_type_t; -#define CKH_MONOTONIC_COUNTER (1UL) -#define CKH_CLOCK (2UL) -#define CKH_USER_INTERFACE (3UL) -#define CKH_VENDOR_DEFINED ((unsigned long) (1UL << 31)) - +#define CKH_MONOTONIC_COUNTER (1UL) +#define CKH_CLOCK (2UL) +#define CKH_USER_INTERFACE (3UL) +#define CKH_VENDOR_DEFINED ((unsigned long)(1UL << 31)) typedef unsigned long ck_key_type_t; -#define CKK_RSA (0UL) -#define CKK_DSA (1UL) -#define CKK_DH (2UL) -#define CKK_ECDSA (3UL) -#define CKK_EC (3UL) -#define CKK_X9_42_DH (4UL) -#define CKK_KEA (5UL) -#define CKK_GENERIC_SECRET (0x10UL) -#define CKK_RC2 (0x11UL) -#define CKK_RC4 (0x12UL) -#define CKK_DES (0x13UL) -#define CKK_DES2 (0x14UL) -#define CKK_DES3 (0x15UL) -#define CKK_CAST (0x16UL) -#define CKK_CAST3 (0x17UL) -#define CKK_CAST128 (0x18UL) -#define CKK_RC5 (0x19UL) -#define CKK_IDEA (0x1aUL) -#define CKK_SKIPJACK (0x1bUL) -#define CKK_BATON (0x1cUL) -#define CKK_JUNIPER (0x1dUL) -#define CKK_CDMF (0x1eUL) -#define CKK_AES (0x1fUL) -#define CKK_BLOWFISH (0x20UL) -#define CKK_TWOFISH (0x21UL) -#define CKK_SECURID (0x22UL) -#define CKK_HOTP (0x23UL) -#define CKK_ACTI (0x24UL) -#define CKK_CAMELLIA (0x25UL) -#define CKK_ARIA (0x26UL) -#define CKK_MD5_HMAC (0x27UL) -#define CKK_SHA_1_HMAC (0x28UL) -#define CKK_RIPEMD128_HMAC (0x29UL) -#define CKK_RIPEMD160_HMAC (0x2aUL) -#define CKK_SHA256_HMAC (0x2bUL) -#define CKK_SHA384_HMAC (0x2cUL) -#define CKK_SHA512_HMAC (0x2dUL) -#define CKK_SHA224_HMAC (0x2eUL) -#define CKK_SEED (0x2fUL) -#define CKK_GOSTR3410 (0x30UL) -#define CKK_GOSTR3411 (0x31UL) -#define CKK_GOST28147 (0x32UL) -#define CKK_EC_EDWARDS (0x40UL) -#define CKK_VENDOR_DEFINED ((unsigned long) (1UL << 31)) - +#define CKK_RSA (0UL) +#define CKK_DSA (1UL) +#define CKK_DH (2UL) +#define CKK_ECDSA (3UL) +#define CKK_EC (3UL) +#define CKK_X9_42_DH (4UL) +#define CKK_KEA (5UL) +#define CKK_GENERIC_SECRET (0x10UL) +#define CKK_RC2 (0x11UL) +#define CKK_RC4 (0x12UL) +#define CKK_DES (0x13UL) +#define CKK_DES2 (0x14UL) +#define CKK_DES3 (0x15UL) +#define CKK_CAST (0x16UL) +#define CKK_CAST3 (0x17UL) +#define CKK_CAST128 (0x18UL) +#define CKK_RC5 (0x19UL) +#define CKK_IDEA (0x1aUL) +#define CKK_SKIPJACK (0x1bUL) +#define CKK_BATON (0x1cUL) +#define CKK_JUNIPER (0x1dUL) +#define CKK_CDMF (0x1eUL) +#define CKK_AES (0x1fUL) +#define CKK_BLOWFISH (0x20UL) +#define CKK_TWOFISH (0x21UL) +#define CKK_SECURID (0x22UL) +#define CKK_HOTP (0x23UL) +#define CKK_ACTI (0x24UL) +#define CKK_CAMELLIA (0x25UL) +#define CKK_ARIA (0x26UL) +#define CKK_MD5_HMAC (0x27UL) +#define CKK_SHA_1_HMAC (0x28UL) +#define CKK_RIPEMD128_HMAC (0x29UL) +#define CKK_RIPEMD160_HMAC (0x2aUL) +#define CKK_SHA256_HMAC (0x2bUL) +#define CKK_SHA384_HMAC (0x2cUL) +#define CKK_SHA512_HMAC (0x2dUL) +#define CKK_SHA224_HMAC (0x2eUL) +#define CKK_SEED (0x2fUL) +#define CKK_GOSTR3410 (0x30UL) +#define CKK_GOSTR3411 (0x31UL) +#define CKK_GOST28147 (0x32UL) +#define CKK_EC_EDWARDS (0x40UL) +#define CKK_VENDOR_DEFINED ((unsigned long)(1UL << 31)) typedef unsigned long ck_certificate_type_t; -#define CKC_X_509 (0UL) -#define CKC_X_509_ATTR_CERT (1UL) -#define CKC_WTLS (2UL) -#define CKC_VENDOR_DEFINED ((unsigned long) (1UL << 31)) +#define CKC_X_509 (0UL) +#define CKC_X_509_ATTR_CERT (1UL) +#define CKC_WTLS (2UL) +#define CKC_VENDOR_DEFINED ((unsigned long)(1UL << 31)) -#define CKC_OPENPGP (CKC_VENDOR_DEFINED|0x504750UL) +#define CKC_OPENPGP (CKC_VENDOR_DEFINED | 0x504750UL) typedef unsigned long ck_attribute_type_t; -#define CKA_CLASS (0UL) -#define CKA_TOKEN (1UL) -#define CKA_PRIVATE (2UL) -#define CKA_LABEL (3UL) -#define CKA_APPLICATION (0x10UL) -#define CKA_VALUE (0x11UL) -#define CKA_OBJECT_ID (0x12UL) -#define CKA_CERTIFICATE_TYPE (0x80UL) -#define CKA_ISSUER (0x81UL) -#define CKA_SERIAL_NUMBER (0x82UL) -#define CKA_AC_ISSUER (0x83UL) -#define CKA_OWNER (0x84UL) -#define CKA_ATTR_TYPES (0x85UL) -#define CKA_TRUSTED (0x86UL) -#define CKA_CERTIFICATE_CATEGORY (0x87UL) -#define CKA_JAVA_MIDP_SECURITY_DOMAIN (0x88UL) -#define CKA_URL (0x89UL) -#define CKA_HASH_OF_SUBJECT_PUBLIC_KEY (0x8aUL) -#define CKA_HASH_OF_ISSUER_PUBLIC_KEY (0x8bUL) -#define CKA_NAME_HASH_ALGORITHM (0x8cUL) -#define CKA_CHECK_VALUE (0x90UL) -#define CKA_KEY_TYPE (0x100UL) -#define CKA_SUBJECT (0x101UL) -#define CKA_ID (0x102UL) -#define CKA_SENSITIVE (0x103UL) -#define CKA_ENCRYPT (0x104UL) -#define CKA_DECRYPT (0x105UL) -#define CKA_WRAP (0x106UL) -#define CKA_UNWRAP (0x107UL) -#define CKA_SIGN (0x108UL) -#define CKA_SIGN_RECOVER (0x109UL) -#define CKA_VERIFY (0x10aUL) -#define CKA_VERIFY_RECOVER (0x10bUL) -#define CKA_DERIVE (0x10cUL) -#define CKA_START_DATE (0x110UL) -#define CKA_END_DATE (0x111UL) -#define CKA_MODULUS (0x120UL) -#define CKA_MODULUS_BITS (0x121UL) -#define CKA_PUBLIC_EXPONENT (0x122UL) -#define CKA_PRIVATE_EXPONENT (0x123UL) -#define CKA_PRIME_1 (0x124UL) -#define CKA_PRIME_2 (0x125UL) -#define CKA_EXPONENT_1 (0x126UL) -#define CKA_EXPONENT_2 (0x127UL) -#define CKA_COEFFICIENT (0x128UL) -#define CKA_PUBLIC_KEY_INFO (0x129UL) -#define CKA_PRIME (0x130UL) -#define CKA_SUBPRIME (0x131UL) -#define CKA_BASE (0x132UL) -#define CKA_PRIME_BITS (0x133UL) -#define CKA_SUB_PRIME_BITS (0x134UL) -#define CKA_VALUE_BITS (0x160UL) -#define CKA_VALUE_LEN (0x161UL) -#define CKA_EXTRACTABLE (0x162UL) -#define CKA_LOCAL (0x163UL) -#define CKA_NEVER_EXTRACTABLE (0x164UL) -#define CKA_ALWAYS_SENSITIVE (0x165UL) -#define CKA_KEY_GEN_MECHANISM (0x166UL) -#define CKA_MODIFIABLE (0x170UL) -#define CKA_COPYABLE (0x171UL) -#define CKA_DESTROYABLE (0x172UL) -#define CKA_ECDSA_PARAMS (0x180UL) -#define CKA_EC_PARAMS (0x180UL) -#define CKA_EC_POINT (0x181UL) -#define CKA_SECONDARY_AUTH (0x200UL) -#define CKA_AUTH_PIN_FLAGS (0x201UL) -#define CKA_ALWAYS_AUTHENTICATE (0x202UL) -#define CKA_WRAP_WITH_TRUSTED (0x210UL) -#define CKA_OTP_FORMAT (0x220UL) -#define CKA_OTP_LENGTH (0x221UL) -#define CKA_OTP_TIME_INTERVAL (0x222UL) -#define CKA_OTP_USER_FRIENDLY_MODE (0x223UL) -#define CKA_OTP_CHALLENGE_REQUIREMENT (0x224UL) -#define CKA_OTP_TIME_REQUIREMENT (0x225UL) -#define CKA_OTP_COUNTER_REQUIREMENT (0x226UL) -#define CKA_OTP_PIN_REQUIREMENT (0x227UL) -#define CKA_OTP_USER_IDENTIFIER (0x22AUL) -#define CKA_OTP_SERVICE_IDENTIFIER (0x22BUL) -#define CKA_OTP_SERVICE_LOGO (0x22CUL) -#define CKA_OTP_SERVICE_LOGO_TYPE (0x22DUL) -#define CKA_OTP_COUNTER (0x22EUL) -#define CKA_OTP_TIME (0x22FUL) -#define CKA_GOSTR3410_PARAMS (0x250UL) -#define CKA_GOSTR3411_PARAMS (0x251UL) -#define CKA_GOST28147_PARAMS (0x252UL) -#define CKA_HW_FEATURE_TYPE (0x300UL) -#define CKA_RESET_ON_INIT (0x301UL) -#define CKA_HAS_RESET (0x302UL) -#define CKA_PIXEL_X (0x400UL) -#define CKA_PIXEL_Y (0x401UL) -#define CKA_RESOLUTION (0x402UL) -#define CKA_CHAR_ROWS (0x403UL) -#define CKA_CHAR_COLUMNS (0x404UL) -#define CKA_COLOR (0x405UL) -#define CKA_BITS_PER_PIXEL (0x406UL) -#define CKA_CHAR_SETS (0x480UL) -#define CKA_ENCODING_METHODS (0x481UL) -#define CKA_MIME_TYPES (0x482UL) -#define CKA_MECHANISM_TYPE (0x500UL) -#define CKA_REQUIRED_CMS_ATTRIBUTES (0x501UL) -#define CKA_DEFAULT_CMS_ATTRIBUTES (0x502UL) -#define CKA_SUPPORTED_CMS_ATTRIBUTES (0x503UL) -#define CKA_WRAP_TEMPLATE (CKF_ARRAY_ATTRIBUTE | 0x211UL) -#define CKA_UNWRAP_TEMPLATE (CKF_ARRAY_ATTRIBUTE | 0x212UL) -#define CKA_DERIVE_TEMPLATE (CKF_ARRAY_ATTRIBUTE | 0x213UL) -#define CKA_ALLOWED_MECHANISMS (CKF_ARRAY_ATTRIBUTE | 0x600UL) -#define CKA_VENDOR_DEFINED ((unsigned long) (1UL << 31)) +#define CKA_CLASS (0UL) +#define CKA_TOKEN (1UL) +#define CKA_PRIVATE (2UL) +#define CKA_LABEL (3UL) +#define CKA_APPLICATION (0x10UL) +#define CKA_VALUE (0x11UL) +#define CKA_OBJECT_ID (0x12UL) +#define CKA_CERTIFICATE_TYPE (0x80UL) +#define CKA_ISSUER (0x81UL) +#define CKA_SERIAL_NUMBER (0x82UL) +#define CKA_AC_ISSUER (0x83UL) +#define CKA_OWNER (0x84UL) +#define CKA_ATTR_TYPES (0x85UL) +#define CKA_TRUSTED (0x86UL) +#define CKA_CERTIFICATE_CATEGORY (0x87UL) +#define CKA_JAVA_MIDP_SECURITY_DOMAIN (0x88UL) +#define CKA_URL (0x89UL) +#define CKA_HASH_OF_SUBJECT_PUBLIC_KEY (0x8aUL) +#define CKA_HASH_OF_ISSUER_PUBLIC_KEY (0x8bUL) +#define CKA_NAME_HASH_ALGORITHM (0x8cUL) +#define CKA_CHECK_VALUE (0x90UL) +#define CKA_KEY_TYPE (0x100UL) +#define CKA_SUBJECT (0x101UL) +#define CKA_ID (0x102UL) +#define CKA_SENSITIVE (0x103UL) +#define CKA_ENCRYPT (0x104UL) +#define CKA_DECRYPT (0x105UL) +#define CKA_WRAP (0x106UL) +#define CKA_UNWRAP (0x107UL) +#define CKA_SIGN (0x108UL) +#define CKA_SIGN_RECOVER (0x109UL) +#define CKA_VERIFY (0x10aUL) +#define CKA_VERIFY_RECOVER (0x10bUL) +#define CKA_DERIVE (0x10cUL) +#define CKA_START_DATE (0x110UL) +#define CKA_END_DATE (0x111UL) +#define CKA_MODULUS (0x120UL) +#define CKA_MODULUS_BITS (0x121UL) +#define CKA_PUBLIC_EXPONENT (0x122UL) +#define CKA_PRIVATE_EXPONENT (0x123UL) +#define CKA_PRIME_1 (0x124UL) +#define CKA_PRIME_2 (0x125UL) +#define CKA_EXPONENT_1 (0x126UL) +#define CKA_EXPONENT_2 (0x127UL) +#define CKA_COEFFICIENT (0x128UL) +#define CKA_PUBLIC_KEY_INFO (0x129UL) +#define CKA_PRIME (0x130UL) +#define CKA_SUBPRIME (0x131UL) +#define CKA_BASE (0x132UL) +#define CKA_PRIME_BITS (0x133UL) +#define CKA_SUB_PRIME_BITS (0x134UL) +#define CKA_VALUE_BITS (0x160UL) +#define CKA_VALUE_LEN (0x161UL) +#define CKA_EXTRACTABLE (0x162UL) +#define CKA_LOCAL (0x163UL) +#define CKA_NEVER_EXTRACTABLE (0x164UL) +#define CKA_ALWAYS_SENSITIVE (0x165UL) +#define CKA_KEY_GEN_MECHANISM (0x166UL) +#define CKA_MODIFIABLE (0x170UL) +#define CKA_COPYABLE (0x171UL) +#define CKA_DESTROYABLE (0x172UL) +#define CKA_ECDSA_PARAMS (0x180UL) +#define CKA_EC_PARAMS (0x180UL) +#define CKA_EC_POINT (0x181UL) +#define CKA_SECONDARY_AUTH (0x200UL) +#define CKA_AUTH_PIN_FLAGS (0x201UL) +#define CKA_ALWAYS_AUTHENTICATE (0x202UL) +#define CKA_WRAP_WITH_TRUSTED (0x210UL) +#define CKA_OTP_FORMAT (0x220UL) +#define CKA_OTP_LENGTH (0x221UL) +#define CKA_OTP_TIME_INTERVAL (0x222UL) +#define CKA_OTP_USER_FRIENDLY_MODE (0x223UL) +#define CKA_OTP_CHALLENGE_REQUIREMENT (0x224UL) +#define CKA_OTP_TIME_REQUIREMENT (0x225UL) +#define CKA_OTP_COUNTER_REQUIREMENT (0x226UL) +#define CKA_OTP_PIN_REQUIREMENT (0x227UL) +#define CKA_OTP_USER_IDENTIFIER (0x22AUL) +#define CKA_OTP_SERVICE_IDENTIFIER (0x22BUL) +#define CKA_OTP_SERVICE_LOGO (0x22CUL) +#define CKA_OTP_SERVICE_LOGO_TYPE (0x22DUL) +#define CKA_OTP_COUNTER (0x22EUL) +#define CKA_OTP_TIME (0x22FUL) +#define CKA_GOSTR3410_PARAMS (0x250UL) +#define CKA_GOSTR3411_PARAMS (0x251UL) +#define CKA_GOST28147_PARAMS (0x252UL) +#define CKA_HW_FEATURE_TYPE (0x300UL) +#define CKA_RESET_ON_INIT (0x301UL) +#define CKA_HAS_RESET (0x302UL) +#define CKA_PIXEL_X (0x400UL) +#define CKA_PIXEL_Y (0x401UL) +#define CKA_RESOLUTION (0x402UL) +#define CKA_CHAR_ROWS (0x403UL) +#define CKA_CHAR_COLUMNS (0x404UL) +#define CKA_COLOR (0x405UL) +#define CKA_BITS_PER_PIXEL (0x406UL) +#define CKA_CHAR_SETS (0x480UL) +#define CKA_ENCODING_METHODS (0x481UL) +#define CKA_MIME_TYPES (0x482UL) +#define CKA_MECHANISM_TYPE (0x500UL) +#define CKA_REQUIRED_CMS_ATTRIBUTES (0x501UL) +#define CKA_DEFAULT_CMS_ATTRIBUTES (0x502UL) +#define CKA_SUPPORTED_CMS_ATTRIBUTES (0x503UL) +#define CKA_WRAP_TEMPLATE (CKF_ARRAY_ATTRIBUTE | 0x211UL) +#define CKA_UNWRAP_TEMPLATE (CKF_ARRAY_ATTRIBUTE | 0x212UL) +#define CKA_DERIVE_TEMPLATE (CKF_ARRAY_ATTRIBUTE | 0x213UL) +#define CKA_ALLOWED_MECHANISMS (CKF_ARRAY_ATTRIBUTE | 0x600UL) +#define CKA_VENDOR_DEFINED ((unsigned long)(1UL << 31)) - -struct ck_attribute -{ - ck_attribute_type_t type; - void *value; - unsigned long value_len; +struct ck_attribute { + ck_attribute_type_t type; + void * value; + unsigned long value_len; }; - -struct ck_date -{ - unsigned char year[4]; - unsigned char month[2]; - unsigned char day[2]; +struct ck_date { + unsigned char year[4]; + unsigned char month[2]; + unsigned char day[2]; }; - typedef unsigned long ck_mechanism_type_t; -#define CKM_RSA_PKCS_KEY_PAIR_GEN (0UL) -#define CKM_RSA_PKCS (1UL) -#define CKM_RSA_9796 (2UL) -#define CKM_RSA_X_509 (3UL) -#define CKM_MD2_RSA_PKCS (4UL) -#define CKM_MD5_RSA_PKCS (5UL) -#define CKM_SHA1_RSA_PKCS (6UL) -#define CKM_RIPEMD128_RSA_PKCS (7UL) -#define CKM_RIPEMD160_RSA_PKCS (8UL) -#define CKM_RSA_PKCS_OAEP (9UL) -#define CKM_RSA_X9_31_KEY_PAIR_GEN (0xaUL) -#define CKM_RSA_X9_31 (0xbUL) -#define CKM_SHA1_RSA_X9_31 (0xcUL) -#define CKM_RSA_PKCS_PSS (0xdUL) -#define CKM_SHA1_RSA_PKCS_PSS (0xeUL) -#define CKM_DSA_KEY_PAIR_GEN (0x10UL) -#define CKM_DSA (0x11UL) -#define CKM_DSA_SHA1 (0x12UL) -#define CKM_DSA_SHA224 (0x13UL) -#define CKM_DSA_SHA256 (0x14UL) -#define CKM_DSA_SHA384 (0x15UL) -#define CKM_DSA_SHA512 (0x16UL) -#define CKM_DH_PKCS_KEY_PAIR_GEN (0x20UL) -#define CKM_DH_PKCS_DERIVE (0x21UL) -#define CKM_X9_42_DH_KEY_PAIR_GEN (0x30UL) -#define CKM_X9_42_DH_DERIVE (0x31UL) -#define CKM_X9_42_DH_HYBRID_DERIVE (0x32UL) -#define CKM_X9_42_MQV_DERIVE (0x33UL) -#define CKM_SHA256_RSA_PKCS (0x40UL) -#define CKM_SHA384_RSA_PKCS (0x41UL) -#define CKM_SHA512_RSA_PKCS (0x42UL) -#define CKM_SHA256_RSA_PKCS_PSS (0x43UL) -#define CKM_SHA384_RSA_PKCS_PSS (0x44UL) -#define CKM_SHA512_RSA_PKCS_PSS (0x45UL) -#define CKM_SHA512_224 (0x48UL) -#define CKM_SHA512_224_HMAC (0x49UL) -#define CKM_SHA512_224_HMAC_GENERAL (0x4aUL) -#define CKM_SHA512_224_KEY_DERIVATION (0x4bUL) -#define CKM_SHA512_256 (0x4cUL) -#define CKM_SHA512_256_HMAC (0x4dUL) -#define CKM_SHA512_256_HMAC_GENERAL (0x4eUL) -#define CKM_SHA512_256_KEY_DERIVATION (0x4fUL) -#define CKM_SHA512_T (0x50UL) -#define CKM_SHA512_T_HMAC (0x51UL) -#define CKM_SHA512_T_HMAC_GENERAL (0x52UL) -#define CKM_SHA512_T_KEY_DERIVATION (0x53UL) -#define CKM_RC2_KEY_GEN (0x100UL) -#define CKM_RC2_ECB (0x101UL) -#define CKM_RC2_CBC (0x102UL) -#define CKM_RC2_MAC (0x103UL) -#define CKM_RC2_MAC_GENERAL (0x104UL) -#define CKM_RC2_CBC_PAD (0x105UL) -#define CKM_RC4_KEY_GEN (0x110UL) -#define CKM_RC4 (0x111UL) -#define CKM_DES_KEY_GEN (0x120UL) -#define CKM_DES_ECB (0x121UL) -#define CKM_DES_CBC (0x122UL) -#define CKM_DES_MAC (0x123UL) -#define CKM_DES_MAC_GENERAL (0x124UL) -#define CKM_DES_CBC_PAD (0x125UL) -#define CKM_DES2_KEY_GEN (0x130UL) -#define CKM_DES3_KEY_GEN (0x131UL) -#define CKM_DES3_ECB (0x132UL) -#define CKM_DES3_CBC (0x133UL) -#define CKM_DES3_MAC (0x134UL) -#define CKM_DES3_MAC_GENERAL (0x135UL) -#define CKM_DES3_CBC_PAD (0x136UL) -#define CKM_DES3_CMAC_GENERAL (0x137UL) -#define CKM_DES3_CMAC (0x138UL) -#define CKM_CDMF_KEY_GEN (0x140UL) -#define CKM_CDMF_ECB (0x141UL) -#define CKM_CDMF_CBC (0x142UL) -#define CKM_CDMF_MAC (0x143UL) -#define CKM_CDMF_MAC_GENERAL (0x144UL) -#define CKM_CDMF_CBC_PAD (0x145UL) -#define CKM_DES_OFB64 (0x150UL) -#define CKM_DES_OFB8 (0x151UL) -#define CKM_DES_CFB64 (0x152UL) -#define CKM_DES_CFB8 (0x153UL) -#define CKM_MD2 (0x200UL) -#define CKM_MD2_HMAC (0x201UL) -#define CKM_MD2_HMAC_GENERAL (0x202UL) -#define CKM_MD5 (0x210UL) -#define CKM_MD5_HMAC (0x211UL) -#define CKM_MD5_HMAC_GENERAL (0x212UL) -#define CKM_SHA_1 (0x220UL) -#define CKM_SHA_1_HMAC (0x221UL) -#define CKM_SHA_1_HMAC_GENERAL (0x222UL) -#define CKM_RIPEMD128 (0x230UL) -#define CKM_RIPEMD128_HMAC (0x231UL) -#define CKM_RIPEMD128_HMAC_GENERAL (0x232UL) -#define CKM_RIPEMD160 (0x240UL) -#define CKM_RIPEMD160_HMAC (0x241UL) -#define CKM_RIPEMD160_HMAC_GENERAL (0x242UL) -#define CKM_SHA256 (0x250UL) -#define CKM_SHA256_HMAC (0x251UL) -#define CKM_SHA256_HMAC_GENERAL (0x252UL) -#define CKM_SHA384 (0x260UL) -#define CKM_SHA384_HMAC (0x261UL) -#define CKM_SHA384_HMAC_GENERAL (0x262UL) -#define CKM_SHA512 (0x270UL) -#define CKM_SHA512_HMAC (0x271UL) -#define CKM_SHA512_HMAC_GENERAL (0x272UL) -#define CKM_SECURID_KEY_GEN (0x280UL) -#define CKM_SECURID (0x282UL) -#define CKM_HOTP_KEY_GEN (0x290UL) -#define CKM_HOTP (0x291UL) -#define CKM_ACTI (0x2a0UL) -#define CKM_ACTI_KEY_GEN (0x2a1UL) -#define CKM_CAST_KEY_GEN (0x300UL) -#define CKM_CAST_ECB (0x301UL) -#define CKM_CAST_CBC (0x302UL) -#define CKM_CAST_MAC (0x303UL) -#define CKM_CAST_MAC_GENERAL (0x304UL) -#define CKM_CAST_CBC_PAD (0x305UL) -#define CKM_CAST3_KEY_GEN (0x310UL) -#define CKM_CAST3_ECB (0x311UL) -#define CKM_CAST3_CBC (0x312UL) -#define CKM_CAST3_MAC (0x313UL) -#define CKM_CAST3_MAC_GENERAL (0x314UL) -#define CKM_CAST3_CBC_PAD (0x315UL) -#define CKM_CAST5_KEY_GEN (0x320UL) -#define CKM_CAST128_KEY_GEN (0x320UL) -#define CKM_CAST5_ECB (0x321UL) -#define CKM_CAST128_ECB (0x321UL) -#define CKM_CAST5_CBC (0x322UL) -#define CKM_CAST128_CBC (0x322UL) -#define CKM_CAST5_MAC (0x323UL) -#define CKM_CAST128_MAC (0x323UL) -#define CKM_CAST5_MAC_GENERAL (0x324UL) -#define CKM_CAST128_MAC_GENERAL (0x324UL) -#define CKM_CAST5_CBC_PAD (0x325UL) -#define CKM_CAST128_CBC_PAD (0x325UL) -#define CKM_RC5_KEY_GEN (0x330UL) -#define CKM_RC5_ECB (0x331UL) -#define CKM_RC5_CBC (0x332UL) -#define CKM_RC5_MAC (0x333UL) -#define CKM_RC5_MAC_GENERAL (0x334UL) -#define CKM_RC5_CBC_PAD (0x335UL) -#define CKM_IDEA_KEY_GEN (0x340UL) -#define CKM_IDEA_ECB (0x341UL) -#define CKM_IDEA_CBC (0x342UL) -#define CKM_IDEA_MAC (0x343UL) -#define CKM_IDEA_MAC_GENERAL (0x344UL) -#define CKM_IDEA_CBC_PAD (0x345UL) -#define CKM_GENERIC_SECRET_KEY_GEN (0x350UL) -#define CKM_CONCATENATE_BASE_AND_KEY (0x360UL) -#define CKM_CONCATENATE_BASE_AND_DATA (0x362UL) -#define CKM_CONCATENATE_DATA_AND_BASE (0x363UL) -#define CKM_XOR_BASE_AND_DATA (0x364UL) -#define CKM_EXTRACT_KEY_FROM_KEY (0x365UL) -#define CKM_SSL3_PRE_MASTER_KEY_GEN (0x370UL) -#define CKM_SSL3_MASTER_KEY_DERIVE (0x371UL) -#define CKM_SSL3_KEY_AND_MAC_DERIVE (0x372UL) -#define CKM_SSL3_MASTER_KEY_DERIVE_DH (0x373UL) -#define CKM_TLS_PRE_MASTER_KEY_GEN (0x374UL) -#define CKM_TLS_MASTER_KEY_DERIVE (0x375UL) -#define CKM_TLS_KEY_AND_MAC_DERIVE (0x376UL) -#define CKM_TLS_MASTER_KEY_DERIVE_DH (0x377UL) -#define CKM_TLS_PRF (0x378UL) -#define CKM_SSL3_MD5_MAC (0x380UL) -#define CKM_SSL3_SHA1_MAC (0x381UL) -#define CKM_MD5_KEY_DERIVATION (0x390UL) -#define CKM_MD2_KEY_DERIVATION (0x391UL) -#define CKM_SHA1_KEY_DERIVATION (0x392UL) -#define CKM_SHA256_KEY_DERIVATION (0x393UL) -#define CKM_SHA384_KEY_DERIVATION (0x394UL) -#define CKM_SHA512_KEY_DERIVATION (0x395UL) -#define CKM_PBE_MD2_DES_CBC (0x3a0UL) -#define CKM_PBE_MD5_DES_CBC (0x3a1UL) -#define CKM_PBE_MD5_CAST_CBC (0x3a2UL) -#define CKM_PBE_MD5_CAST3_CBC (0x3a3UL) -#define CKM_PBE_MD5_CAST5_CBC (0x3a4UL) -#define CKM_PBE_MD5_CAST128_CBC (0x3a4UL) -#define CKM_PBE_SHA1_CAST5_CBC (0x3a5UL) -#define CKM_PBE_SHA1_CAST128_CBC (0x3a5UL) -#define CKM_PBE_SHA1_RC4_128 (0x3a6UL) -#define CKM_PBE_SHA1_RC4_40 (0x3a7UL) -#define CKM_PBE_SHA1_DES3_EDE_CBC (0x3a8UL) -#define CKM_PBE_SHA1_DES2_EDE_CBC (0x3a9UL) -#define CKM_PBE_SHA1_RC2_128_CBC (0x3aaUL) -#define CKM_PBE_SHA1_RC2_40_CBC (0x3abUL) -#define CKM_PKCS5_PBKD2 (0x3b0UL) -#define CKM_PBA_SHA1_WITH_SHA1_HMAC (0x3c0UL) -#define CKM_WTLS_PRE_MASTER_KEY_GEN (0x3d0UL) -#define CKM_WTLS_MASTER_KEY_DERIVE (0x3d1UL) +#define CKM_RSA_PKCS_KEY_PAIR_GEN (0UL) +#define CKM_RSA_PKCS (1UL) +#define CKM_RSA_9796 (2UL) +#define CKM_RSA_X_509 (3UL) +#define CKM_MD2_RSA_PKCS (4UL) +#define CKM_MD5_RSA_PKCS (5UL) +#define CKM_SHA1_RSA_PKCS (6UL) +#define CKM_RIPEMD128_RSA_PKCS (7UL) +#define CKM_RIPEMD160_RSA_PKCS (8UL) +#define CKM_RSA_PKCS_OAEP (9UL) +#define CKM_RSA_X9_31_KEY_PAIR_GEN (0xaUL) +#define CKM_RSA_X9_31 (0xbUL) +#define CKM_SHA1_RSA_X9_31 (0xcUL) +#define CKM_RSA_PKCS_PSS (0xdUL) +#define CKM_SHA1_RSA_PKCS_PSS (0xeUL) +#define CKM_DSA_KEY_PAIR_GEN (0x10UL) +#define CKM_DSA (0x11UL) +#define CKM_DSA_SHA1 (0x12UL) +#define CKM_DSA_SHA224 (0x13UL) +#define CKM_DSA_SHA256 (0x14UL) +#define CKM_DSA_SHA384 (0x15UL) +#define CKM_DSA_SHA512 (0x16UL) +#define CKM_DH_PKCS_KEY_PAIR_GEN (0x20UL) +#define CKM_DH_PKCS_DERIVE (0x21UL) +#define CKM_X9_42_DH_KEY_PAIR_GEN (0x30UL) +#define CKM_X9_42_DH_DERIVE (0x31UL) +#define CKM_X9_42_DH_HYBRID_DERIVE (0x32UL) +#define CKM_X9_42_MQV_DERIVE (0x33UL) +#define CKM_SHA256_RSA_PKCS (0x40UL) +#define CKM_SHA384_RSA_PKCS (0x41UL) +#define CKM_SHA512_RSA_PKCS (0x42UL) +#define CKM_SHA256_RSA_PKCS_PSS (0x43UL) +#define CKM_SHA384_RSA_PKCS_PSS (0x44UL) +#define CKM_SHA512_RSA_PKCS_PSS (0x45UL) +#define CKM_SHA512_224 (0x48UL) +#define CKM_SHA512_224_HMAC (0x49UL) +#define CKM_SHA512_224_HMAC_GENERAL (0x4aUL) +#define CKM_SHA512_224_KEY_DERIVATION (0x4bUL) +#define CKM_SHA512_256 (0x4cUL) +#define CKM_SHA512_256_HMAC (0x4dUL) +#define CKM_SHA512_256_HMAC_GENERAL (0x4eUL) +#define CKM_SHA512_256_KEY_DERIVATION (0x4fUL) +#define CKM_SHA512_T (0x50UL) +#define CKM_SHA512_T_HMAC (0x51UL) +#define CKM_SHA512_T_HMAC_GENERAL (0x52UL) +#define CKM_SHA512_T_KEY_DERIVATION (0x53UL) +#define CKM_RC2_KEY_GEN (0x100UL) +#define CKM_RC2_ECB (0x101UL) +#define CKM_RC2_CBC (0x102UL) +#define CKM_RC2_MAC (0x103UL) +#define CKM_RC2_MAC_GENERAL (0x104UL) +#define CKM_RC2_CBC_PAD (0x105UL) +#define CKM_RC4_KEY_GEN (0x110UL) +#define CKM_RC4 (0x111UL) +#define CKM_DES_KEY_GEN (0x120UL) +#define CKM_DES_ECB (0x121UL) +#define CKM_DES_CBC (0x122UL) +#define CKM_DES_MAC (0x123UL) +#define CKM_DES_MAC_GENERAL (0x124UL) +#define CKM_DES_CBC_PAD (0x125UL) +#define CKM_DES2_KEY_GEN (0x130UL) +#define CKM_DES3_KEY_GEN (0x131UL) +#define CKM_DES3_ECB (0x132UL) +#define CKM_DES3_CBC (0x133UL) +#define CKM_DES3_MAC (0x134UL) +#define CKM_DES3_MAC_GENERAL (0x135UL) +#define CKM_DES3_CBC_PAD (0x136UL) +#define CKM_DES3_CMAC_GENERAL (0x137UL) +#define CKM_DES3_CMAC (0x138UL) +#define CKM_CDMF_KEY_GEN (0x140UL) +#define CKM_CDMF_ECB (0x141UL) +#define CKM_CDMF_CBC (0x142UL) +#define CKM_CDMF_MAC (0x143UL) +#define CKM_CDMF_MAC_GENERAL (0x144UL) +#define CKM_CDMF_CBC_PAD (0x145UL) +#define CKM_DES_OFB64 (0x150UL) +#define CKM_DES_OFB8 (0x151UL) +#define CKM_DES_CFB64 (0x152UL) +#define CKM_DES_CFB8 (0x153UL) +#define CKM_MD2 (0x200UL) +#define CKM_MD2_HMAC (0x201UL) +#define CKM_MD2_HMAC_GENERAL (0x202UL) +#define CKM_MD5 (0x210UL) +#define CKM_MD5_HMAC (0x211UL) +#define CKM_MD5_HMAC_GENERAL (0x212UL) +#define CKM_SHA_1 (0x220UL) +#define CKM_SHA_1_HMAC (0x221UL) +#define CKM_SHA_1_HMAC_GENERAL (0x222UL) +#define CKM_RIPEMD128 (0x230UL) +#define CKM_RIPEMD128_HMAC (0x231UL) +#define CKM_RIPEMD128_HMAC_GENERAL (0x232UL) +#define CKM_RIPEMD160 (0x240UL) +#define CKM_RIPEMD160_HMAC (0x241UL) +#define CKM_RIPEMD160_HMAC_GENERAL (0x242UL) +#define CKM_SHA256 (0x250UL) +#define CKM_SHA256_HMAC (0x251UL) +#define CKM_SHA256_HMAC_GENERAL (0x252UL) +#define CKM_SHA384 (0x260UL) +#define CKM_SHA384_HMAC (0x261UL) +#define CKM_SHA384_HMAC_GENERAL (0x262UL) +#define CKM_SHA512 (0x270UL) +#define CKM_SHA512_HMAC (0x271UL) +#define CKM_SHA512_HMAC_GENERAL (0x272UL) +#define CKM_SECURID_KEY_GEN (0x280UL) +#define CKM_SECURID (0x282UL) +#define CKM_HOTP_KEY_GEN (0x290UL) +#define CKM_HOTP (0x291UL) +#define CKM_ACTI (0x2a0UL) +#define CKM_ACTI_KEY_GEN (0x2a1UL) +#define CKM_CAST_KEY_GEN (0x300UL) +#define CKM_CAST_ECB (0x301UL) +#define CKM_CAST_CBC (0x302UL) +#define CKM_CAST_MAC (0x303UL) +#define CKM_CAST_MAC_GENERAL (0x304UL) +#define CKM_CAST_CBC_PAD (0x305UL) +#define CKM_CAST3_KEY_GEN (0x310UL) +#define CKM_CAST3_ECB (0x311UL) +#define CKM_CAST3_CBC (0x312UL) +#define CKM_CAST3_MAC (0x313UL) +#define CKM_CAST3_MAC_GENERAL (0x314UL) +#define CKM_CAST3_CBC_PAD (0x315UL) +#define CKM_CAST5_KEY_GEN (0x320UL) +#define CKM_CAST128_KEY_GEN (0x320UL) +#define CKM_CAST5_ECB (0x321UL) +#define CKM_CAST128_ECB (0x321UL) +#define CKM_CAST5_CBC (0x322UL) +#define CKM_CAST128_CBC (0x322UL) +#define CKM_CAST5_MAC (0x323UL) +#define CKM_CAST128_MAC (0x323UL) +#define CKM_CAST5_MAC_GENERAL (0x324UL) +#define CKM_CAST128_MAC_GENERAL (0x324UL) +#define CKM_CAST5_CBC_PAD (0x325UL) +#define CKM_CAST128_CBC_PAD (0x325UL) +#define CKM_RC5_KEY_GEN (0x330UL) +#define CKM_RC5_ECB (0x331UL) +#define CKM_RC5_CBC (0x332UL) +#define CKM_RC5_MAC (0x333UL) +#define CKM_RC5_MAC_GENERAL (0x334UL) +#define CKM_RC5_CBC_PAD (0x335UL) +#define CKM_IDEA_KEY_GEN (0x340UL) +#define CKM_IDEA_ECB (0x341UL) +#define CKM_IDEA_CBC (0x342UL) +#define CKM_IDEA_MAC (0x343UL) +#define CKM_IDEA_MAC_GENERAL (0x344UL) +#define CKM_IDEA_CBC_PAD (0x345UL) +#define CKM_GENERIC_SECRET_KEY_GEN (0x350UL) +#define CKM_CONCATENATE_BASE_AND_KEY (0x360UL) +#define CKM_CONCATENATE_BASE_AND_DATA (0x362UL) +#define CKM_CONCATENATE_DATA_AND_BASE (0x363UL) +#define CKM_XOR_BASE_AND_DATA (0x364UL) +#define CKM_EXTRACT_KEY_FROM_KEY (0x365UL) +#define CKM_SSL3_PRE_MASTER_KEY_GEN (0x370UL) +#define CKM_SSL3_MASTER_KEY_DERIVE (0x371UL) +#define CKM_SSL3_KEY_AND_MAC_DERIVE (0x372UL) +#define CKM_SSL3_MASTER_KEY_DERIVE_DH (0x373UL) +#define CKM_TLS_PRE_MASTER_KEY_GEN (0x374UL) +#define CKM_TLS_MASTER_KEY_DERIVE (0x375UL) +#define CKM_TLS_KEY_AND_MAC_DERIVE (0x376UL) +#define CKM_TLS_MASTER_KEY_DERIVE_DH (0x377UL) +#define CKM_TLS_PRF (0x378UL) +#define CKM_SSL3_MD5_MAC (0x380UL) +#define CKM_SSL3_SHA1_MAC (0x381UL) +#define CKM_MD5_KEY_DERIVATION (0x390UL) +#define CKM_MD2_KEY_DERIVATION (0x391UL) +#define CKM_SHA1_KEY_DERIVATION (0x392UL) +#define CKM_SHA256_KEY_DERIVATION (0x393UL) +#define CKM_SHA384_KEY_DERIVATION (0x394UL) +#define CKM_SHA512_KEY_DERIVATION (0x395UL) +#define CKM_PBE_MD2_DES_CBC (0x3a0UL) +#define CKM_PBE_MD5_DES_CBC (0x3a1UL) +#define CKM_PBE_MD5_CAST_CBC (0x3a2UL) +#define CKM_PBE_MD5_CAST3_CBC (0x3a3UL) +#define CKM_PBE_MD5_CAST5_CBC (0x3a4UL) +#define CKM_PBE_MD5_CAST128_CBC (0x3a4UL) +#define CKM_PBE_SHA1_CAST5_CBC (0x3a5UL) +#define CKM_PBE_SHA1_CAST128_CBC (0x3a5UL) +#define CKM_PBE_SHA1_RC4_128 (0x3a6UL) +#define CKM_PBE_SHA1_RC4_40 (0x3a7UL) +#define CKM_PBE_SHA1_DES3_EDE_CBC (0x3a8UL) +#define CKM_PBE_SHA1_DES2_EDE_CBC (0x3a9UL) +#define CKM_PBE_SHA1_RC2_128_CBC (0x3aaUL) +#define CKM_PBE_SHA1_RC2_40_CBC (0x3abUL) +#define CKM_PKCS5_PBKD2 (0x3b0UL) +#define CKM_PBA_SHA1_WITH_SHA1_HMAC (0x3c0UL) +#define CKM_WTLS_PRE_MASTER_KEY_GEN (0x3d0UL) +#define CKM_WTLS_MASTER_KEY_DERIVE (0x3d1UL) #define CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC (0x3d2UL) -#define CKM_WTLS_PRF (0x3d3UL) +#define CKM_WTLS_PRF (0x3d3UL) #define CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE (0x3d4UL) #define CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE (0x3d5UL) -#define CKM_TLS10_MAC_SERVER (0x3d6UL) -#define CKM_TLS10_MAC_CLIENT (0x3d7UL) -#define CKM_TLS12_MAC (0x3d8UL) -#define CKM_TLS12_KDF (0x3d9UL) -#define CKM_TLS12_MASTER_KEY_DERIVE (0x3e0UL) -#define CKM_TLS12_KEY_AND_MAC_DERIVE (0x3e1UL) -#define CKM_TLS12_MASTER_KEY_DERIVE_DH (0x3e2UL) -#define CKM_TLS12_KEY_SAFE_DERIVE (0x3e3UL) -#define CKM_TLS_MAC (0x3e4UL) -#define CKM_TLS_KDF (0x3e5UL) -#define CKM_KEY_WRAP_LYNKS (0x400UL) -#define CKM_KEY_WRAP_SET_OAEP (0x401UL) -#define CKM_CMS_SIG (0x500UL) -#define CKM_KIP_DERIVE (0x510UL) -#define CKM_KIP_WRAP (0x511UL) -#define CKM_KIP_MAC (0x512UL) -#define CKM_ARIA_KEY_GEN (0x560UL) -#define CKM_ARIA_ECB (0x561UL) -#define CKM_ARIA_CBC (0x562UL) -#define CKM_ARIA_MAC (0x563UL) -#define CKM_ARIA_MAC_GENERAL (0x564UL) -#define CKM_ARIA_CBC_PAD (0x565UL) -#define CKM_ARIA_ECB_ENCRYPT_DATA (0x566UL) -#define CKM_ARIA_CBC_ENCRYPT_DATA (0x567UL) -#define CKM_SEED_KEY_GEN (0x650UL) -#define CKM_SEED_ECB (0x651UL) -#define CKM_SEED_CBC (0x652UL) -#define CKM_SEED_MAC (0x653UL) -#define CKM_SEED_MAC_GENERAL (0x654UL) -#define CKM_SEED_CBC_PAD (0x655UL) -#define CKM_SEED_ECB_ENCRYPT_DATA (0x656UL) -#define CKM_SEED_CBC_ENCRYPT_DATA (0x657UL) -#define CKM_SKIPJACK_KEY_GEN (0x1000UL) -#define CKM_SKIPJACK_ECB64 (0x1001UL) -#define CKM_SKIPJACK_CBC64 (0x1002UL) -#define CKM_SKIPJACK_OFB64 (0x1003UL) -#define CKM_SKIPJACK_CFB64 (0x1004UL) -#define CKM_SKIPJACK_CFB32 (0x1005UL) -#define CKM_SKIPJACK_CFB16 (0x1006UL) -#define CKM_SKIPJACK_CFB8 (0x1007UL) -#define CKM_SKIPJACK_WRAP (0x1008UL) -#define CKM_SKIPJACK_PRIVATE_WRAP (0x1009UL) -#define CKM_SKIPJACK_RELAYX (0x100aUL) -#define CKM_KEA_KEY_PAIR_GEN (0x1010UL) -#define CKM_KEA_KEY_DERIVE (0x1011UL) -#define CKM_FORTEZZA_TIMESTAMP (0x1020UL) -#define CKM_BATON_KEY_GEN (0x1030UL) -#define CKM_BATON_ECB128 (0x1031UL) -#define CKM_BATON_ECB96 (0x1032UL) -#define CKM_BATON_CBC128 (0x1033UL) -#define CKM_BATON_COUNTER (0x1034UL) -#define CKM_BATON_SHUFFLE (0x1035UL) -#define CKM_BATON_WRAP (0x1036UL) -#define CKM_ECDSA_KEY_PAIR_GEN (0x1040UL) -#define CKM_EC_KEY_PAIR_GEN (0x1040UL) -#define CKM_ECDSA (0x1041UL) -#define CKM_ECDSA_SHA1 (0x1042UL) -#define CKM_ECDSA_SHA224 (0x1043UL) -#define CKM_ECDSA_SHA256 (0x1044UL) -#define CKM_ECDSA_SHA384 (0x1045UL) -#define CKM_ECDSA_SHA512 (0x1046UL) -#define CKM_ECDH1_DERIVE (0x1050UL) -#define CKM_ECDH1_COFACTOR_DERIVE (0x1051UL) -#define CKM_ECMQV_DERIVE (0x1052UL) -#define CKM_ECDH_AES_KEY_WRAP (0x1053UL) -#define CKM_RSA_AES_KEY_WRAP (0x1054UL) -#define CKM_JUNIPER_KEY_GEN (0x1060UL) -#define CKM_JUNIPER_ECB128 (0x1061UL) -#define CKM_JUNIPER_CBC128 (0x1062UL) -#define CKM_JUNIPER_COUNTER (0x1063UL) -#define CKM_JUNIPER_SHUFFLE (0x1064UL) -#define CKM_JUNIPER_WRAP (0x1065UL) -#define CKM_FASTHASH (0x1070UL) -#define CKM_AES_KEY_GEN (0x1080UL) -#define CKM_AES_ECB (0x1081UL) -#define CKM_AES_CBC (0x1082UL) -#define CKM_AES_MAC (0x1083UL) -#define CKM_AES_MAC_GENERAL (0x1084UL) -#define CKM_AES_CBC_PAD (0x1085UL) -#define CKM_AES_CTR (0x1086UL) -#define CKM_AES_GCM (0x1087UL) -#define CKM_AES_CCM (0x1088UL) -#define CKM_AES_CTS (0x1089UL) -#define CKM_AES_CMAC (0x108aUL) -#define CKM_AES_CMAC_GENERAL (0x108bUL) -#define CKM_AES_XCBC_MAC (0x108cUL) -#define CKM_AES_XCBC_MAC_96 (0x108dUL) -#define CKM_AES_GMAC (0x108eUL) -#define CKM_BLOWFISH_KEY_GEN (0x1090UL) -#define CKM_BLOWFISH_CBC (0x1091UL) -#define CKM_TWOFISH_KEY_GEN (0x1092UL) -#define CKM_TWOFISH_CBC (0x1093UL) -#define CKM_BLOWFISH_CBC_PAD (0x1094UL) -#define CKM_TWOFISH_CBC_PAD (0x1095UL) -#define CKM_DES_ECB_ENCRYPT_DATA (0x1100UL) -#define CKM_DES_CBC_ENCRYPT_DATA (0x1101UL) -#define CKM_DES3_ECB_ENCRYPT_DATA (0x1102UL) -#define CKM_DES3_CBC_ENCRYPT_DATA (0x1103UL) -#define CKM_AES_ECB_ENCRYPT_DATA (0x1104UL) -#define CKM_AES_CBC_ENCRYPT_DATA (0x1105UL) -#define CKM_GOSTR3410_KEY_PAIR_GEN (0x1200UL) -#define CKM_GOSTR3410 (0x1201UL) -#define CKM_GOSTR3410_WITH_GOSTR3411 (0x1202UL) -#define CKM_GOSTR3410_KEY_WRAP (0x1203UL) -#define CKM_GOSTR3410_DERIVE (0x1204UL) -#define CKM_GOSTR3411 (0x1210UL) -#define CKM_GOSTR3411_HMAC (0x1211UL) -#define CKM_GOST28147_KEY_GEN (0x1220UL) -#define CKM_GOST28147_ECB (0x1221UL) -#define CKM_GOST28147 (0x1222UL) -#define CKM_GOST28147_MAC (0x1223UL) -#define CKM_GOST28147_KEY_WRAP (0x1224UL) -#define CKM_DSA_PARAMETER_GEN (0x2000UL) -#define CKM_DH_PKCS_PARAMETER_GEN (0x2001UL) -#define CKM_X9_42_DH_PARAMETER_GEN (0x2002UL) -#define CKM_DSA_PROBABLISTIC_PARAMETER_GEN (0x2003UL) -#define CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN (0x2004UL) -#define CKM_AES_OFB (0x2104UL) -#define CKM_AES_CFB64 (0x2105UL) -#define CKM_AES_CFB8 (0x2106UL) -#define CKM_AES_CFB128 (0x2107UL) -#define CKM_AES_CFB1 (0x2108UL) +#define CKM_TLS10_MAC_SERVER (0x3d6UL) +#define CKM_TLS10_MAC_CLIENT (0x3d7UL) +#define CKM_TLS12_MAC (0x3d8UL) +#define CKM_TLS12_KDF (0x3d9UL) +#define CKM_TLS12_MASTER_KEY_DERIVE (0x3e0UL) +#define CKM_TLS12_KEY_AND_MAC_DERIVE (0x3e1UL) +#define CKM_TLS12_MASTER_KEY_DERIVE_DH (0x3e2UL) +#define CKM_TLS12_KEY_SAFE_DERIVE (0x3e3UL) +#define CKM_TLS_MAC (0x3e4UL) +#define CKM_TLS_KDF (0x3e5UL) +#define CKM_KEY_WRAP_LYNKS (0x400UL) +#define CKM_KEY_WRAP_SET_OAEP (0x401UL) +#define CKM_CMS_SIG (0x500UL) +#define CKM_KIP_DERIVE (0x510UL) +#define CKM_KIP_WRAP (0x511UL) +#define CKM_KIP_MAC (0x512UL) +#define CKM_ARIA_KEY_GEN (0x560UL) +#define CKM_ARIA_ECB (0x561UL) +#define CKM_ARIA_CBC (0x562UL) +#define CKM_ARIA_MAC (0x563UL) +#define CKM_ARIA_MAC_GENERAL (0x564UL) +#define CKM_ARIA_CBC_PAD (0x565UL) +#define CKM_ARIA_ECB_ENCRYPT_DATA (0x566UL) +#define CKM_ARIA_CBC_ENCRYPT_DATA (0x567UL) +#define CKM_SEED_KEY_GEN (0x650UL) +#define CKM_SEED_ECB (0x651UL) +#define CKM_SEED_CBC (0x652UL) +#define CKM_SEED_MAC (0x653UL) +#define CKM_SEED_MAC_GENERAL (0x654UL) +#define CKM_SEED_CBC_PAD (0x655UL) +#define CKM_SEED_ECB_ENCRYPT_DATA (0x656UL) +#define CKM_SEED_CBC_ENCRYPT_DATA (0x657UL) +#define CKM_SKIPJACK_KEY_GEN (0x1000UL) +#define CKM_SKIPJACK_ECB64 (0x1001UL) +#define CKM_SKIPJACK_CBC64 (0x1002UL) +#define CKM_SKIPJACK_OFB64 (0x1003UL) +#define CKM_SKIPJACK_CFB64 (0x1004UL) +#define CKM_SKIPJACK_CFB32 (0x1005UL) +#define CKM_SKIPJACK_CFB16 (0x1006UL) +#define CKM_SKIPJACK_CFB8 (0x1007UL) +#define CKM_SKIPJACK_WRAP (0x1008UL) +#define CKM_SKIPJACK_PRIVATE_WRAP (0x1009UL) +#define CKM_SKIPJACK_RELAYX (0x100aUL) +#define CKM_KEA_KEY_PAIR_GEN (0x1010UL) +#define CKM_KEA_KEY_DERIVE (0x1011UL) +#define CKM_FORTEZZA_TIMESTAMP (0x1020UL) +#define CKM_BATON_KEY_GEN (0x1030UL) +#define CKM_BATON_ECB128 (0x1031UL) +#define CKM_BATON_ECB96 (0x1032UL) +#define CKM_BATON_CBC128 (0x1033UL) +#define CKM_BATON_COUNTER (0x1034UL) +#define CKM_BATON_SHUFFLE (0x1035UL) +#define CKM_BATON_WRAP (0x1036UL) +#define CKM_ECDSA_KEY_PAIR_GEN (0x1040UL) +#define CKM_EC_KEY_PAIR_GEN (0x1040UL) +#define CKM_ECDSA (0x1041UL) +#define CKM_ECDSA_SHA1 (0x1042UL) +#define CKM_ECDSA_SHA224 (0x1043UL) +#define CKM_ECDSA_SHA256 (0x1044UL) +#define CKM_ECDSA_SHA384 (0x1045UL) +#define CKM_ECDSA_SHA512 (0x1046UL) +#define CKM_ECDH1_DERIVE (0x1050UL) +#define CKM_ECDH1_COFACTOR_DERIVE (0x1051UL) +#define CKM_ECMQV_DERIVE (0x1052UL) +#define CKM_ECDH_AES_KEY_WRAP (0x1053UL) +#define CKM_RSA_AES_KEY_WRAP (0x1054UL) +#define CKM_JUNIPER_KEY_GEN (0x1060UL) +#define CKM_JUNIPER_ECB128 (0x1061UL) +#define CKM_JUNIPER_CBC128 (0x1062UL) +#define CKM_JUNIPER_COUNTER (0x1063UL) +#define CKM_JUNIPER_SHUFFLE (0x1064UL) +#define CKM_JUNIPER_WRAP (0x1065UL) +#define CKM_FASTHASH (0x1070UL) +#define CKM_AES_KEY_GEN (0x1080UL) +#define CKM_AES_ECB (0x1081UL) +#define CKM_AES_CBC (0x1082UL) +#define CKM_AES_MAC (0x1083UL) +#define CKM_AES_MAC_GENERAL (0x1084UL) +#define CKM_AES_CBC_PAD (0x1085UL) +#define CKM_AES_CTR (0x1086UL) +#define CKM_AES_GCM (0x1087UL) +#define CKM_AES_CCM (0x1088UL) +#define CKM_AES_CTS (0x1089UL) +#define CKM_AES_CMAC (0x108aUL) +#define CKM_AES_CMAC_GENERAL (0x108bUL) +#define CKM_AES_XCBC_MAC (0x108cUL) +#define CKM_AES_XCBC_MAC_96 (0x108dUL) +#define CKM_AES_GMAC (0x108eUL) +#define CKM_BLOWFISH_KEY_GEN (0x1090UL) +#define CKM_BLOWFISH_CBC (0x1091UL) +#define CKM_TWOFISH_KEY_GEN (0x1092UL) +#define CKM_TWOFISH_CBC (0x1093UL) +#define CKM_BLOWFISH_CBC_PAD (0x1094UL) +#define CKM_TWOFISH_CBC_PAD (0x1095UL) +#define CKM_DES_ECB_ENCRYPT_DATA (0x1100UL) +#define CKM_DES_CBC_ENCRYPT_DATA (0x1101UL) +#define CKM_DES3_ECB_ENCRYPT_DATA (0x1102UL) +#define CKM_DES3_CBC_ENCRYPT_DATA (0x1103UL) +#define CKM_AES_ECB_ENCRYPT_DATA (0x1104UL) +#define CKM_AES_CBC_ENCRYPT_DATA (0x1105UL) +#define CKM_GOSTR3410_KEY_PAIR_GEN (0x1200UL) +#define CKM_GOSTR3410 (0x1201UL) +#define CKM_GOSTR3410_WITH_GOSTR3411 (0x1202UL) +#define CKM_GOSTR3410_KEY_WRAP (0x1203UL) +#define CKM_GOSTR3410_DERIVE (0x1204UL) +#define CKM_GOSTR3411 (0x1210UL) +#define CKM_GOSTR3411_HMAC (0x1211UL) +#define CKM_GOST28147_KEY_GEN (0x1220UL) +#define CKM_GOST28147_ECB (0x1221UL) +#define CKM_GOST28147 (0x1222UL) +#define CKM_GOST28147_MAC (0x1223UL) +#define CKM_GOST28147_KEY_WRAP (0x1224UL) +#define CKM_DSA_PARAMETER_GEN (0x2000UL) +#define CKM_DH_PKCS_PARAMETER_GEN (0x2001UL) +#define CKM_X9_42_DH_PARAMETER_GEN (0x2002UL) +#define CKM_DSA_PROBABLISTIC_PARAMETER_GEN (0x2003UL) +#define CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN (0x2004UL) +#define CKM_AES_OFB (0x2104UL) +#define CKM_AES_CFB64 (0x2105UL) +#define CKM_AES_CFB8 (0x2106UL) +#define CKM_AES_CFB128 (0x2107UL) +#define CKM_AES_CFB1 (0x2108UL) -#define CKM_VENDOR_DEFINED ((unsigned long) (1UL << 31)) +#define CKM_VENDOR_DEFINED ((unsigned long)(1UL << 31)) /* Amendments */ -#define CKM_SHA224 (0x255UL) -#define CKM_SHA224_HMAC (0x256UL) -#define CKM_SHA224_HMAC_GENERAL (0x257UL) -#define CKM_SHA224_RSA_PKCS (0x46UL) -#define CKM_SHA224_RSA_PKCS_PSS (0x47UL) -#define CKM_SHA224_KEY_DERIVATION (0x396UL) +#define CKM_SHA224 (0x255UL) +#define CKM_SHA224_HMAC (0x256UL) +#define CKM_SHA224_HMAC_GENERAL (0x257UL) +#define CKM_SHA224_RSA_PKCS (0x46UL) +#define CKM_SHA224_RSA_PKCS_PSS (0x47UL) +#define CKM_SHA224_KEY_DERIVATION (0x396UL) -#define CKM_CAMELLIA_KEY_GEN (0x550UL) -#define CKM_CAMELLIA_ECB (0x551UL) -#define CKM_CAMELLIA_CBC (0x552UL) -#define CKM_CAMELLIA_MAC (0x553UL) -#define CKM_CAMELLIA_MAC_GENERAL (0x554UL) -#define CKM_CAMELLIA_CBC_PAD (0x555UL) -#define CKM_CAMELLIA_ECB_ENCRYPT_DATA (0x556UL) -#define CKM_CAMELLIA_CBC_ENCRYPT_DATA (0x557UL) -#define CKM_CAMELLIA_CTR (0x558UL) +#define CKM_CAMELLIA_KEY_GEN (0x550UL) +#define CKM_CAMELLIA_ECB (0x551UL) +#define CKM_CAMELLIA_CBC (0x552UL) +#define CKM_CAMELLIA_MAC (0x553UL) +#define CKM_CAMELLIA_MAC_GENERAL (0x554UL) +#define CKM_CAMELLIA_CBC_PAD (0x555UL) +#define CKM_CAMELLIA_ECB_ENCRYPT_DATA (0x556UL) +#define CKM_CAMELLIA_CBC_ENCRYPT_DATA (0x557UL) +#define CKM_CAMELLIA_CTR (0x558UL) -#define CKM_AES_KEY_WRAP (0x2109UL) -#define CKM_AES_KEY_WRAP_PAD (0x210aUL) +#define CKM_AES_KEY_WRAP (0x2109UL) +#define CKM_AES_KEY_WRAP_PAD (0x210aUL) -#define CKM_RSA_PKCS_TPM_1_1 (0x4001UL) -#define CKM_RSA_PKCS_OAEP_TPM_1_1 (0x4002UL) +#define CKM_RSA_PKCS_TPM_1_1 (0x4001UL) +#define CKM_RSA_PKCS_OAEP_TPM_1_1 (0x4002UL) /* From version 3.0 */ -#define CKM_EC_EDWARDS_KEY_PAIR_GEN (0x1055UL) -#define CKM_EDDSA (0x1057UL) +#define CKM_EC_EDWARDS_KEY_PAIR_GEN (0x1055UL) +#define CKM_EDDSA (0x1057UL) /* Attribute and other constants related to OTP */ -#define CK_OTP_FORMAT_DECIMAL (0UL) -#define CK_OTP_FORMAT_HEXADECIMAL (1UL) -#define CK_OTP_FORMAT_ALPHANUMERIC (2UL) -#define CK_OTP_FORMAT_BINARY (3UL) -#define CK_OTP_PARAM_IGNORED (0UL) -#define CK_OTP_PARAM_OPTIONAL (1UL) -#define CK_OTP_PARAM_MANDATORY (2UL) +#define CK_OTP_FORMAT_DECIMAL (0UL) +#define CK_OTP_FORMAT_HEXADECIMAL (1UL) +#define CK_OTP_FORMAT_ALPHANUMERIC (2UL) +#define CK_OTP_FORMAT_BINARY (3UL) +#define CK_OTP_PARAM_IGNORED (0UL) +#define CK_OTP_PARAM_OPTIONAL (1UL) +#define CK_OTP_PARAM_MANDATORY (2UL) -#define CK_OTP_VALUE (0UL) -#define CK_OTP_PIN (1UL) -#define CK_OTP_CHALLENGE (2UL) -#define CK_OTP_TIME (3UL) -#define CK_OTP_COUNTER (4UL) -#define CK_OTP_FLAGS (5UL) -#define CK_OTP_OUTPUT_LENGTH (6UL) -#define CK_OTP_FORMAT (7UL) +#define CK_OTP_VALUE (0UL) +#define CK_OTP_PIN (1UL) +#define CK_OTP_CHALLENGE (2UL) +#define CK_OTP_TIME (3UL) +#define CK_OTP_COUNTER (4UL) +#define CK_OTP_FLAGS (5UL) +#define CK_OTP_OUTPUT_LENGTH (6UL) +#define CK_OTP_FORMAT (7UL) /* OTP mechanism flags */ -#define CKF_NEXT_OTP (0x01UL) -#define CKF_EXCLUDE_TIME (0x02UL) -#define CKF_EXCLUDE_COUNTER (0x04UL) -#define CKF_EXCLUDE_CHALLENGE (0x08UL) -#define CKF_EXCLUDE_PIN (0x10UL) -#define CKF_USER_FRIENDLY_OTP (0x20UL) +#define CKF_NEXT_OTP (0x01UL) +#define CKF_EXCLUDE_TIME (0x02UL) +#define CKF_EXCLUDE_COUNTER (0x04UL) +#define CKF_EXCLUDE_CHALLENGE (0x08UL) +#define CKF_EXCLUDE_PIN (0x10UL) +#define CKF_USER_FRIENDLY_OTP (0x20UL) -#define CKN_OTP_CHANGED (0x01UL) +#define CKN_OTP_CHANGED (0x01UL) -struct ck_mechanism -{ - ck_mechanism_type_t mechanism; - void *parameter; - unsigned long parameter_len; +struct ck_mechanism { + ck_mechanism_type_t mechanism; + void * parameter; + unsigned long parameter_len; }; - -struct ck_mechanism_info -{ - unsigned long min_key_size; - unsigned long max_key_size; - ck_flags_t flags; +struct ck_mechanism_info { + unsigned long min_key_size; + unsigned long max_key_size; + ck_flags_t flags; }; typedef unsigned long ck_param_type; typedef struct ck_otp_param { - ck_param_type type; - void *value; - unsigned long value_len; + ck_param_type type; + void * value; + unsigned long value_len; } ck_otp_param; typedef struct ck_otp_params { - struct ck_otp_param *params; - unsigned long count; + struct ck_otp_param *params; + unsigned long count; } ck_otp_params; -typedef struct ck_otp_signature_info -{ - struct ck_otp_param *params; - unsigned long count; +typedef struct ck_otp_signature_info { + struct ck_otp_param *params; + unsigned long count; } ck_otp_signature_info; #define CKG_MGF1_SHA1 0x00000001UL @@ -958,584 +923,522 @@ typedef struct ck_otp_signature_info typedef unsigned long ck_rsa_pkcs_mgf_type_t; struct ck_rsa_pkcs_pss_params { - ck_mechanism_type_t hash_alg; - ck_rsa_pkcs_mgf_type_t mgf; - unsigned long s_len; + ck_mechanism_type_t hash_alg; + ck_rsa_pkcs_mgf_type_t mgf; + unsigned long s_len; }; typedef unsigned long ck_rsa_pkcs_oaep_source_type_t; struct ck_rsa_pkcs_oaep_params { - ck_mechanism_type_t hash_alg; - ck_rsa_pkcs_mgf_type_t mgf; - ck_rsa_pkcs_oaep_source_type_t source; - void *source_data; - unsigned long source_data_len; + ck_mechanism_type_t hash_alg; + ck_rsa_pkcs_mgf_type_t mgf; + ck_rsa_pkcs_oaep_source_type_t source; + void * source_data; + unsigned long source_data_len; }; struct ck_aes_ctr_params { - unsigned long counter_bits; - unsigned char cb[16]; + unsigned long counter_bits; + unsigned char cb[16]; }; struct ck_gcm_params { - unsigned char *iv_ptr; - unsigned long iv_len; - unsigned long iv_bits; - unsigned char *aad_ptr; - unsigned long aad_len; - unsigned long tag_bits; + unsigned char *iv_ptr; + unsigned long iv_len; + unsigned long iv_bits; + unsigned char *aad_ptr; + unsigned long aad_len; + unsigned long tag_bits; }; - /* The following EC Key Derivation Functions are defined */ -#define CKD_NULL (0x01UL) -#define CKD_SHA1_KDF (0x02UL) +#define CKD_NULL (0x01UL) +#define CKD_SHA1_KDF (0x02UL) /* The following X9.42 DH key derivation functions are defined */ -#define CKD_SHA1_KDF_ASN1 (0x03UL) -#define CKD_SHA1_KDF_CONCATENATE (0x04UL) -#define CKD_SHA224_KDF (0x05UL) -#define CKD_SHA256_KDF (0x06UL) -#define CKD_SHA384_KDF (0x07UL) -#define CKD_SHA512_KDF (0x08UL) -#define CKD_CPDIVERSIFY_KDF (0x09UL) +#define CKD_SHA1_KDF_ASN1 (0x03UL) +#define CKD_SHA1_KDF_CONCATENATE (0x04UL) +#define CKD_SHA224_KDF (0x05UL) +#define CKD_SHA256_KDF (0x06UL) +#define CKD_SHA384_KDF (0x07UL) +#define CKD_SHA512_KDF (0x08UL) +#define CKD_CPDIVERSIFY_KDF (0x09UL) typedef unsigned long ck_ec_kdf_t; struct ck_ecdh1_derive_params { - ck_ec_kdf_t kdf; - unsigned long shared_data_len; - unsigned char *shared_data; - unsigned long public_data_len; - unsigned char *public_data; + ck_ec_kdf_t kdf; + unsigned long shared_data_len; + unsigned char *shared_data; + unsigned long public_data_len; + unsigned char *public_data; }; struct ck_key_derivation_string_data { - unsigned char *string_data; - unsigned long string_data_len; + unsigned char *string_data; + unsigned long string_data_len; }; struct ck_des_cbc_encrypt_data_params { - unsigned char iv[8]; - unsigned char *data_params; - unsigned long length; + unsigned char iv[8]; + unsigned char *data_params; + unsigned long length; }; struct ck_aes_cbc_encrypt_data_params { - unsigned char iv[16]; - unsigned char *data_params; - unsigned long length; + unsigned char iv[16]; + unsigned char *data_params; + unsigned long length; }; -#define CKF_HW (1UL << 0) -#define CKF_ENCRYPT (1UL << 8) -#define CKF_DECRYPT (1UL << 9) -#define CKF_DIGEST (1UL << 10) -#define CKF_SIGN (1UL << 11) -#define CKF_SIGN_RECOVER (1UL << 12) -#define CKF_VERIFY (1UL << 13) -#define CKF_VERIFY_RECOVER (1UL << 14) -#define CKF_GENERATE (1UL << 15) -#define CKF_GENERATE_KEY_PAIR (1UL << 16) -#define CKF_WRAP (1UL << 17) -#define CKF_UNWRAP (1UL << 18) -#define CKF_DERIVE (1UL << 19) -#define CKF_EXTENSION ((unsigned long) (1UL << 31)) - -#define CKF_EC_F_P (1UL << 20) -#define CKF_EC_NAMEDCURVE (1UL << 23) -#define CKF_EC_UNCOMPRESS (1UL << 24) -#define CKF_EC_COMPRESS (1UL << 25) +#define CKF_HW (1UL << 0) +#define CKF_ENCRYPT (1UL << 8) +#define CKF_DECRYPT (1UL << 9) +#define CKF_DIGEST (1UL << 10) +#define CKF_SIGN (1UL << 11) +#define CKF_SIGN_RECOVER (1UL << 12) +#define CKF_VERIFY (1UL << 13) +#define CKF_VERIFY_RECOVER (1UL << 14) +#define CKF_GENERATE (1UL << 15) +#define CKF_GENERATE_KEY_PAIR (1UL << 16) +#define CKF_WRAP (1UL << 17) +#define CKF_UNWRAP (1UL << 18) +#define CKF_DERIVE (1UL << 19) +#define CKF_EXTENSION ((unsigned long)(1UL << 31)) +#define CKF_EC_F_P (1UL << 20) +#define CKF_EC_NAMEDCURVE (1UL << 23) +#define CKF_EC_UNCOMPRESS (1UL << 24) +#define CKF_EC_COMPRESS (1UL << 25) /* Flags for C_WaitForSlotEvent. */ -#define CKF_DONT_BLOCK (1UL) - +#define CKF_DONT_BLOCK (1UL) typedef unsigned long ck_rv_t; - -typedef ck_rv_t (*ck_notify_t) (ck_session_handle_t session, - ck_notification_t event, void *application); +typedef ck_rv_t (*ck_notify_t)(ck_session_handle_t session, + ck_notification_t event, void *application); /* Forward reference. */ struct ck_function_list; -#define _CK_DECLARE_FUNCTION(name, args) \ -typedef ck_rv_t (*CK_ ## name) args; \ -ck_rv_t CK_SPEC name args +#define _CK_DECLARE_FUNCTION(name, args) \ + typedef ck_rv_t(*CK_##name) args; \ + ck_rv_t CK_SPEC name args -_CK_DECLARE_FUNCTION (C_Initialize, (void *init_args)); -_CK_DECLARE_FUNCTION (C_Finalize, (void *reserved)); -_CK_DECLARE_FUNCTION (C_GetInfo, (struct ck_info *info)); -_CK_DECLARE_FUNCTION (C_GetFunctionList, - (struct ck_function_list **function_list)); +_CK_DECLARE_FUNCTION(C_Initialize, (void *init_args)); +_CK_DECLARE_FUNCTION(C_Finalize, (void *reserved)); +_CK_DECLARE_FUNCTION(C_GetInfo, (struct ck_info * info)); +_CK_DECLARE_FUNCTION(C_GetFunctionList, + (struct ck_function_list * *function_list)); -_CK_DECLARE_FUNCTION (C_GetSlotList, - (unsigned char token_present, ck_slot_id_t *slot_list, - unsigned long *count)); -_CK_DECLARE_FUNCTION (C_GetSlotInfo, - (ck_slot_id_t slot_id, struct ck_slot_info *info)); -_CK_DECLARE_FUNCTION (C_GetTokenInfo, - (ck_slot_id_t slot_id, struct ck_token_info *info)); -_CK_DECLARE_FUNCTION (C_WaitForSlotEvent, - (ck_flags_t flags, ck_slot_id_t *slot, void *reserved)); -_CK_DECLARE_FUNCTION (C_GetMechanismList, - (ck_slot_id_t slot_id, - ck_mechanism_type_t *mechanism_list, - unsigned long *count)); -_CK_DECLARE_FUNCTION (C_GetMechanismInfo, - (ck_slot_id_t slot_id, ck_mechanism_type_t type, - struct ck_mechanism_info *info)); -_CK_DECLARE_FUNCTION (C_InitToken, - (ck_slot_id_t slot_id, unsigned char *pin, - unsigned long pin_len, unsigned char *label)); -_CK_DECLARE_FUNCTION (C_InitPIN, - (ck_session_handle_t session, unsigned char *pin, - unsigned long pin_len)); -_CK_DECLARE_FUNCTION (C_SetPIN, - (ck_session_handle_t session, unsigned char *old_pin, - unsigned long old_len, unsigned char *new_pin, - unsigned long new_len)); +_CK_DECLARE_FUNCTION(C_GetSlotList, + (unsigned char token_present, ck_slot_id_t *slot_list, + unsigned long *count)); +_CK_DECLARE_FUNCTION(C_GetSlotInfo, + (ck_slot_id_t slot_id, struct ck_slot_info *info)); +_CK_DECLARE_FUNCTION(C_GetTokenInfo, + (ck_slot_id_t slot_id, struct ck_token_info *info)); +_CK_DECLARE_FUNCTION(C_WaitForSlotEvent, + (ck_flags_t flags, ck_slot_id_t *slot, void *reserved)); +_CK_DECLARE_FUNCTION(C_GetMechanismList, + (ck_slot_id_t slot_id, ck_mechanism_type_t *mechanism_list, + unsigned long *count)); +_CK_DECLARE_FUNCTION(C_GetMechanismInfo, + (ck_slot_id_t slot_id, ck_mechanism_type_t type, + struct ck_mechanism_info *info)); +_CK_DECLARE_FUNCTION(C_InitToken, + (ck_slot_id_t slot_id, unsigned char *pin, + unsigned long pin_len, unsigned char *label)); +_CK_DECLARE_FUNCTION(C_InitPIN, (ck_session_handle_t session, + unsigned char *pin, unsigned long pin_len)); +_CK_DECLARE_FUNCTION(C_SetPIN, (ck_session_handle_t session, + unsigned char *old_pin, unsigned long old_len, + unsigned char *new_pin, unsigned long new_len)); -_CK_DECLARE_FUNCTION (C_OpenSession, - (ck_slot_id_t slot_id, ck_flags_t flags, - void *application, ck_notify_t notify, - ck_session_handle_t *session)); -_CK_DECLARE_FUNCTION (C_CloseSession, (ck_session_handle_t session)); -_CK_DECLARE_FUNCTION (C_CloseAllSessions, (ck_slot_id_t slot_id)); -_CK_DECLARE_FUNCTION (C_GetSessionInfo, - (ck_session_handle_t session, - struct ck_session_info *info)); -_CK_DECLARE_FUNCTION (C_GetOperationState, - (ck_session_handle_t session, - unsigned char *operation_state, - unsigned long *operation_state_len)); -_CK_DECLARE_FUNCTION (C_SetOperationState, - (ck_session_handle_t session, - unsigned char *operation_state, - unsigned long operation_state_len, - ck_object_handle_t encryption_key, - ck_object_handle_t authentiation_key)); -_CK_DECLARE_FUNCTION (C_Login, - (ck_session_handle_t session, ck_user_type_t user_type, - unsigned char *pin, unsigned long pin_len)); -_CK_DECLARE_FUNCTION (C_Logout, (ck_session_handle_t session)); +_CK_DECLARE_FUNCTION(C_OpenSession, + (ck_slot_id_t slot_id, ck_flags_t flags, void *application, + ck_notify_t notify, ck_session_handle_t *session)); +_CK_DECLARE_FUNCTION(C_CloseSession, (ck_session_handle_t session)); +_CK_DECLARE_FUNCTION(C_CloseAllSessions, (ck_slot_id_t slot_id)); +_CK_DECLARE_FUNCTION(C_GetSessionInfo, (ck_session_handle_t session, + struct ck_session_info *info)); +_CK_DECLARE_FUNCTION(C_GetOperationState, (ck_session_handle_t session, + unsigned char * operation_state, + unsigned long *operation_state_len)); +_CK_DECLARE_FUNCTION(C_SetOperationState, + (ck_session_handle_t session, + unsigned char * operation_state, + unsigned long operation_state_len, + ck_object_handle_t encryption_key, + ck_object_handle_t authentiation_key)); +_CK_DECLARE_FUNCTION(C_Login, + (ck_session_handle_t session, ck_user_type_t user_type, + unsigned char *pin, unsigned long pin_len)); +_CK_DECLARE_FUNCTION(C_Logout, (ck_session_handle_t session)); -_CK_DECLARE_FUNCTION (C_CreateObject, - (ck_session_handle_t session, - struct ck_attribute *templ, - unsigned long count, ck_object_handle_t *object)); -_CK_DECLARE_FUNCTION (C_CopyObject, - (ck_session_handle_t session, ck_object_handle_t object, - struct ck_attribute *templ, unsigned long count, - ck_object_handle_t *new_object)); -_CK_DECLARE_FUNCTION (C_DestroyObject, - (ck_session_handle_t session, - ck_object_handle_t object)); -_CK_DECLARE_FUNCTION (C_GetObjectSize, - (ck_session_handle_t session, - ck_object_handle_t object, - unsigned long *size)); -_CK_DECLARE_FUNCTION (C_GetAttributeValue, - (ck_session_handle_t session, - ck_object_handle_t object, - struct ck_attribute *templ, - unsigned long count)); -_CK_DECLARE_FUNCTION (C_SetAttributeValue, - (ck_session_handle_t session, - ck_object_handle_t object, - struct ck_attribute *templ, - unsigned long count)); -_CK_DECLARE_FUNCTION (C_FindObjectsInit, - (ck_session_handle_t session, - struct ck_attribute *templ, - unsigned long count)); -_CK_DECLARE_FUNCTION (C_FindObjects, - (ck_session_handle_t session, - ck_object_handle_t *object, - unsigned long max_object_count, - unsigned long *object_count)); -_CK_DECLARE_FUNCTION (C_FindObjectsFinal, - (ck_session_handle_t session)); +_CK_DECLARE_FUNCTION(C_CreateObject, + (ck_session_handle_t session, struct ck_attribute *templ, + unsigned long count, ck_object_handle_t *object)); +_CK_DECLARE_FUNCTION(C_CopyObject, + (ck_session_handle_t session, ck_object_handle_t object, + struct ck_attribute *templ, unsigned long count, + ck_object_handle_t *new_object)); +_CK_DECLARE_FUNCTION(C_DestroyObject, + (ck_session_handle_t session, ck_object_handle_t object)); +_CK_DECLARE_FUNCTION(C_GetObjectSize, + (ck_session_handle_t session, ck_object_handle_t object, + unsigned long *size)); +_CK_DECLARE_FUNCTION(C_GetAttributeValue, + (ck_session_handle_t session, ck_object_handle_t object, + struct ck_attribute *templ, unsigned long count)); +_CK_DECLARE_FUNCTION(C_SetAttributeValue, + (ck_session_handle_t session, ck_object_handle_t object, + struct ck_attribute *templ, unsigned long count)); +_CK_DECLARE_FUNCTION(C_FindObjectsInit, + (ck_session_handle_t session, struct ck_attribute *templ, + unsigned long count)); +_CK_DECLARE_FUNCTION(C_FindObjects, + (ck_session_handle_t session, ck_object_handle_t *object, + unsigned long max_object_count, + unsigned long *object_count)); +_CK_DECLARE_FUNCTION(C_FindObjectsFinal, (ck_session_handle_t session)); -_CK_DECLARE_FUNCTION (C_EncryptInit, - (ck_session_handle_t session, - struct ck_mechanism *mechanism, - ck_object_handle_t key)); -_CK_DECLARE_FUNCTION (C_Encrypt, - (ck_session_handle_t session, - unsigned char *data, unsigned long data_len, - unsigned char *encrypted_data, - unsigned long *encrypted_data_len)); -_CK_DECLARE_FUNCTION (C_EncryptUpdate, - (ck_session_handle_t session, - unsigned char *part, unsigned long part_len, - unsigned char *encrypted_part, - unsigned long *encrypted_part_len)); -_CK_DECLARE_FUNCTION (C_EncryptFinal, - (ck_session_handle_t session, - unsigned char *last_encrypted_part, - unsigned long *last_encrypted_part_len)); +_CK_DECLARE_FUNCTION(C_EncryptInit, + (ck_session_handle_t session, + struct ck_mechanism *mechanism, ck_object_handle_t key)); +_CK_DECLARE_FUNCTION(C_Encrypt, + (ck_session_handle_t session, unsigned char *data, + unsigned long data_len, unsigned char *encrypted_data, + unsigned long *encrypted_data_len)); +_CK_DECLARE_FUNCTION(C_EncryptUpdate, + (ck_session_handle_t session, unsigned char *part, + unsigned long part_len, unsigned char *encrypted_part, + unsigned long *encrypted_part_len)); +_CK_DECLARE_FUNCTION(C_EncryptFinal, (ck_session_handle_t session, + unsigned char * last_encrypted_part, + unsigned long *last_encrypted_part_len)); -_CK_DECLARE_FUNCTION (C_DecryptInit, - (ck_session_handle_t session, - struct ck_mechanism *mechanism, - ck_object_handle_t key)); -_CK_DECLARE_FUNCTION (C_Decrypt, - (ck_session_handle_t session, - unsigned char *encrypted_data, - unsigned long encrypted_data_len, - unsigned char *data, unsigned long *data_len)); -_CK_DECLARE_FUNCTION (C_DecryptUpdate, - (ck_session_handle_t session, - unsigned char *encrypted_part, - unsigned long encrypted_part_len, - unsigned char *part, unsigned long *part_len)); -_CK_DECLARE_FUNCTION (C_DecryptFinal, - (ck_session_handle_t session, - unsigned char *last_part, - unsigned long *last_part_len)); +_CK_DECLARE_FUNCTION(C_DecryptInit, + (ck_session_handle_t session, + struct ck_mechanism *mechanism, ck_object_handle_t key)); +_CK_DECLARE_FUNCTION(C_Decrypt, (ck_session_handle_t session, + unsigned char * encrypted_data, + unsigned long encrypted_data_len, + unsigned char *data, unsigned long *data_len)); +_CK_DECLARE_FUNCTION(C_DecryptUpdate, + (ck_session_handle_t session, + unsigned char * encrypted_part, + unsigned long encrypted_part_len, unsigned char *part, + unsigned long *part_len)); +_CK_DECLARE_FUNCTION(C_DecryptFinal, + (ck_session_handle_t session, unsigned char *last_part, + unsigned long *last_part_len)); -_CK_DECLARE_FUNCTION (C_DigestInit, - (ck_session_handle_t session, - struct ck_mechanism *mechanism)); -_CK_DECLARE_FUNCTION (C_Digest, - (ck_session_handle_t session, - unsigned char *data, unsigned long data_len, - unsigned char *digest, - unsigned long *digest_len)); -_CK_DECLARE_FUNCTION (C_DigestUpdate, - (ck_session_handle_t session, - unsigned char *part, unsigned long part_len)); -_CK_DECLARE_FUNCTION (C_DigestKey, - (ck_session_handle_t session, ck_object_handle_t key)); -_CK_DECLARE_FUNCTION (C_DigestFinal, - (ck_session_handle_t session, - unsigned char *digest, - unsigned long *digest_len)); +_CK_DECLARE_FUNCTION(C_DigestInit, (ck_session_handle_t session, + struct ck_mechanism *mechanism)); +_CK_DECLARE_FUNCTION(C_Digest, + (ck_session_handle_t session, unsigned char *data, + unsigned long data_len, unsigned char *digest, + unsigned long *digest_len)); +_CK_DECLARE_FUNCTION(C_DigestUpdate, + (ck_session_handle_t session, unsigned char *part, + unsigned long part_len)); +_CK_DECLARE_FUNCTION(C_DigestKey, + (ck_session_handle_t session, ck_object_handle_t key)); +_CK_DECLARE_FUNCTION(C_DigestFinal, + (ck_session_handle_t session, unsigned char *digest, + unsigned long *digest_len)); -_CK_DECLARE_FUNCTION (C_SignInit, - (ck_session_handle_t session, - struct ck_mechanism *mechanism, - ck_object_handle_t key)); -_CK_DECLARE_FUNCTION (C_Sign, - (ck_session_handle_t session, - unsigned char *data, unsigned long data_len, - unsigned char *signature, - unsigned long *signature_len)); -_CK_DECLARE_FUNCTION (C_SignUpdate, - (ck_session_handle_t session, - unsigned char *part, unsigned long part_len)); -_CK_DECLARE_FUNCTION (C_SignFinal, - (ck_session_handle_t session, - unsigned char *signature, - unsigned long *signature_len)); -_CK_DECLARE_FUNCTION (C_SignRecoverInit, - (ck_session_handle_t session, - struct ck_mechanism *mechanism, - ck_object_handle_t key)); -_CK_DECLARE_FUNCTION (C_SignRecover, - (ck_session_handle_t session, - unsigned char *data, unsigned long data_len, - unsigned char *signature, - unsigned long *signature_len)); +_CK_DECLARE_FUNCTION(C_SignInit, + (ck_session_handle_t session, + struct ck_mechanism *mechanism, ck_object_handle_t key)); +_CK_DECLARE_FUNCTION(C_Sign, (ck_session_handle_t session, unsigned char *data, + unsigned long data_len, unsigned char *signature, + unsigned long *signature_len)); +_CK_DECLARE_FUNCTION(C_SignUpdate, + (ck_session_handle_t session, unsigned char *part, + unsigned long part_len)); +_CK_DECLARE_FUNCTION(C_SignFinal, + (ck_session_handle_t session, unsigned char *signature, + unsigned long *signature_len)); +_CK_DECLARE_FUNCTION(C_SignRecoverInit, + (ck_session_handle_t session, + struct ck_mechanism *mechanism, ck_object_handle_t key)); +_CK_DECLARE_FUNCTION(C_SignRecover, + (ck_session_handle_t session, unsigned char *data, + unsigned long data_len, unsigned char *signature, + unsigned long *signature_len)); -_CK_DECLARE_FUNCTION (C_VerifyInit, - (ck_session_handle_t session, - struct ck_mechanism *mechanism, - ck_object_handle_t key)); -_CK_DECLARE_FUNCTION (C_Verify, - (ck_session_handle_t session, - unsigned char *data, unsigned long data_len, - unsigned char *signature, - unsigned long signature_len)); -_CK_DECLARE_FUNCTION (C_VerifyUpdate, - (ck_session_handle_t session, - unsigned char *part, unsigned long part_len)); -_CK_DECLARE_FUNCTION (C_VerifyFinal, - (ck_session_handle_t session, - unsigned char *signature, - unsigned long signature_len)); -_CK_DECLARE_FUNCTION (C_VerifyRecoverInit, - (ck_session_handle_t session, - struct ck_mechanism *mechanism, - ck_object_handle_t key)); -_CK_DECLARE_FUNCTION (C_VerifyRecover, - (ck_session_handle_t session, - unsigned char *signature, - unsigned long signature_len, - unsigned char *data, - unsigned long *data_len)); +_CK_DECLARE_FUNCTION(C_VerifyInit, + (ck_session_handle_t session, + struct ck_mechanism *mechanism, ck_object_handle_t key)); +_CK_DECLARE_FUNCTION(C_Verify, + (ck_session_handle_t session, unsigned char *data, + unsigned long data_len, unsigned char *signature, + unsigned long signature_len)); +_CK_DECLARE_FUNCTION(C_VerifyUpdate, + (ck_session_handle_t session, unsigned char *part, + unsigned long part_len)); +_CK_DECLARE_FUNCTION(C_VerifyFinal, + (ck_session_handle_t session, unsigned char *signature, + unsigned long signature_len)); +_CK_DECLARE_FUNCTION(C_VerifyRecoverInit, + (ck_session_handle_t session, + struct ck_mechanism *mechanism, ck_object_handle_t key)); +_CK_DECLARE_FUNCTION(C_VerifyRecover, + (ck_session_handle_t session, unsigned char *signature, + unsigned long signature_len, unsigned char *data, + unsigned long *data_len)); -_CK_DECLARE_FUNCTION (C_DigestEncryptUpdate, - (ck_session_handle_t session, - unsigned char *part, unsigned long part_len, - unsigned char *encrypted_part, - unsigned long *encrypted_part_len)); -_CK_DECLARE_FUNCTION (C_DecryptDigestUpdate, - (ck_session_handle_t session, - unsigned char *encrypted_part, - unsigned long encrypted_part_len, - unsigned char *part, - unsigned long *part_len)); -_CK_DECLARE_FUNCTION (C_SignEncryptUpdate, - (ck_session_handle_t session, - unsigned char *part, unsigned long part_len, - unsigned char *encrypted_part, - unsigned long *encrypted_part_len)); -_CK_DECLARE_FUNCTION (C_DecryptVerifyUpdate, - (ck_session_handle_t session, - unsigned char *encrypted_part, - unsigned long encrypted_part_len, - unsigned char *part, - unsigned long *part_len)); +_CK_DECLARE_FUNCTION(C_DigestEncryptUpdate, + (ck_session_handle_t session, unsigned char *part, + unsigned long part_len, unsigned char *encrypted_part, + unsigned long *encrypted_part_len)); +_CK_DECLARE_FUNCTION(C_DecryptDigestUpdate, + (ck_session_handle_t session, + unsigned char * encrypted_part, + unsigned long encrypted_part_len, unsigned char *part, + unsigned long *part_len)); +_CK_DECLARE_FUNCTION(C_SignEncryptUpdate, + (ck_session_handle_t session, unsigned char *part, + unsigned long part_len, unsigned char *encrypted_part, + unsigned long *encrypted_part_len)); +_CK_DECLARE_FUNCTION(C_DecryptVerifyUpdate, + (ck_session_handle_t session, + unsigned char * encrypted_part, + unsigned long encrypted_part_len, unsigned char *part, + unsigned long *part_len)); -_CK_DECLARE_FUNCTION (C_GenerateKey, - (ck_session_handle_t session, - struct ck_mechanism *mechanism, - struct ck_attribute *templ, - unsigned long count, - ck_object_handle_t *key)); -_CK_DECLARE_FUNCTION (C_GenerateKeyPair, - (ck_session_handle_t session, - struct ck_mechanism *mechanism, - struct ck_attribute *public_key_template, - unsigned long public_key_attribute_count, - struct ck_attribute *private_key_template, - unsigned long private_key_attribute_count, - ck_object_handle_t *public_key, - ck_object_handle_t *private_key)); -_CK_DECLARE_FUNCTION (C_WrapKey, - (ck_session_handle_t session, - struct ck_mechanism *mechanism, - ck_object_handle_t wrapping_key, - ck_object_handle_t key, - unsigned char *wrapped_key, - unsigned long *wrapped_key_len)); -_CK_DECLARE_FUNCTION (C_UnwrapKey, - (ck_session_handle_t session, - struct ck_mechanism *mechanism, - ck_object_handle_t unwrapping_key, - unsigned char *wrapped_key, - unsigned long wrapped_key_len, - struct ck_attribute *templ, - unsigned long attribute_count, - ck_object_handle_t *key)); -_CK_DECLARE_FUNCTION (C_DeriveKey, - (ck_session_handle_t session, - struct ck_mechanism *mechanism, - ck_object_handle_t base_key, - struct ck_attribute *templ, - unsigned long attribute_count, - ck_object_handle_t *key)); +_CK_DECLARE_FUNCTION(C_GenerateKey, + (ck_session_handle_t session, + struct ck_mechanism *mechanism, + struct ck_attribute *templ, unsigned long count, + ck_object_handle_t *key)); +_CK_DECLARE_FUNCTION(C_GenerateKeyPair, + (ck_session_handle_t session, + struct ck_mechanism *mechanism, + struct ck_attribute *public_key_template, + unsigned long public_key_attribute_count, + struct ck_attribute *private_key_template, + unsigned long private_key_attribute_count, + ck_object_handle_t * public_key, + ck_object_handle_t * private_key)); +_CK_DECLARE_FUNCTION(C_WrapKey, + (ck_session_handle_t session, + struct ck_mechanism *mechanism, + ck_object_handle_t wrapping_key, ck_object_handle_t key, + unsigned char *wrapped_key, + unsigned long *wrapped_key_len)); +_CK_DECLARE_FUNCTION(C_UnwrapKey, + (ck_session_handle_t session, + struct ck_mechanism *mechanism, + ck_object_handle_t unwrapping_key, + unsigned char *wrapped_key, unsigned long wrapped_key_len, + struct ck_attribute *templ, unsigned long attribute_count, + ck_object_handle_t *key)); +_CK_DECLARE_FUNCTION(C_DeriveKey, + (ck_session_handle_t session, + struct ck_mechanism *mechanism, + ck_object_handle_t base_key, struct ck_attribute *templ, + unsigned long attribute_count, ck_object_handle_t *key)); -_CK_DECLARE_FUNCTION (C_SeedRandom, - (ck_session_handle_t session, unsigned char *seed, - unsigned long seed_len)); -_CK_DECLARE_FUNCTION (C_GenerateRandom, - (ck_session_handle_t session, - unsigned char *random_data, - unsigned long random_len)); +_CK_DECLARE_FUNCTION(C_SeedRandom, + (ck_session_handle_t session, unsigned char *seed, + unsigned long seed_len)); +_CK_DECLARE_FUNCTION(C_GenerateRandom, + (ck_session_handle_t session, unsigned char *random_data, + unsigned long random_len)); -_CK_DECLARE_FUNCTION (C_GetFunctionStatus, (ck_session_handle_t session)); -_CK_DECLARE_FUNCTION (C_CancelFunction, (ck_session_handle_t session)); +_CK_DECLARE_FUNCTION(C_GetFunctionStatus, (ck_session_handle_t session)); +_CK_DECLARE_FUNCTION(C_CancelFunction, (ck_session_handle_t session)); - -struct ck_function_list -{ - struct ck_version version; - CK_C_Initialize C_Initialize; - CK_C_Finalize C_Finalize; - CK_C_GetInfo C_GetInfo; - CK_C_GetFunctionList C_GetFunctionList; - CK_C_GetSlotList C_GetSlotList; - CK_C_GetSlotInfo C_GetSlotInfo; - CK_C_GetTokenInfo C_GetTokenInfo; - CK_C_GetMechanismList C_GetMechanismList; - CK_C_GetMechanismInfo C_GetMechanismInfo; - CK_C_InitToken C_InitToken; - CK_C_InitPIN C_InitPIN; - CK_C_SetPIN C_SetPIN; - CK_C_OpenSession C_OpenSession; - CK_C_CloseSession C_CloseSession; - CK_C_CloseAllSessions C_CloseAllSessions; - CK_C_GetSessionInfo C_GetSessionInfo; - CK_C_GetOperationState C_GetOperationState; - CK_C_SetOperationState C_SetOperationState; - CK_C_Login C_Login; - CK_C_Logout C_Logout; - CK_C_CreateObject C_CreateObject; - CK_C_CopyObject C_CopyObject; - CK_C_DestroyObject C_DestroyObject; - CK_C_GetObjectSize C_GetObjectSize; - CK_C_GetAttributeValue C_GetAttributeValue; - CK_C_SetAttributeValue C_SetAttributeValue; - CK_C_FindObjectsInit C_FindObjectsInit; - CK_C_FindObjects C_FindObjects; - CK_C_FindObjectsFinal C_FindObjectsFinal; - CK_C_EncryptInit C_EncryptInit; - CK_C_Encrypt C_Encrypt; - CK_C_EncryptUpdate C_EncryptUpdate; - CK_C_EncryptFinal C_EncryptFinal; - CK_C_DecryptInit C_DecryptInit; - CK_C_Decrypt C_Decrypt; - CK_C_DecryptUpdate C_DecryptUpdate; - CK_C_DecryptFinal C_DecryptFinal; - CK_C_DigestInit C_DigestInit; - CK_C_Digest C_Digest; - CK_C_DigestUpdate C_DigestUpdate; - CK_C_DigestKey C_DigestKey; - CK_C_DigestFinal C_DigestFinal; - CK_C_SignInit C_SignInit; - CK_C_Sign C_Sign; - CK_C_SignUpdate C_SignUpdate; - CK_C_SignFinal C_SignFinal; - CK_C_SignRecoverInit C_SignRecoverInit; - CK_C_SignRecover C_SignRecover; - CK_C_VerifyInit C_VerifyInit; - CK_C_Verify C_Verify; - CK_C_VerifyUpdate C_VerifyUpdate; - CK_C_VerifyFinal C_VerifyFinal; - CK_C_VerifyRecoverInit C_VerifyRecoverInit; - CK_C_VerifyRecover C_VerifyRecover; - CK_C_DigestEncryptUpdate C_DigestEncryptUpdate; - CK_C_DecryptDigestUpdate C_DecryptDigestUpdate; - CK_C_SignEncryptUpdate C_SignEncryptUpdate; - CK_C_DecryptVerifyUpdate C_DecryptVerifyUpdate; - CK_C_GenerateKey C_GenerateKey; - CK_C_GenerateKeyPair C_GenerateKeyPair; - CK_C_WrapKey C_WrapKey; - CK_C_UnwrapKey C_UnwrapKey; - CK_C_DeriveKey C_DeriveKey; - CK_C_SeedRandom C_SeedRandom; - CK_C_GenerateRandom C_GenerateRandom; - CK_C_GetFunctionStatus C_GetFunctionStatus; - CK_C_CancelFunction C_CancelFunction; - CK_C_WaitForSlotEvent C_WaitForSlotEvent; +struct ck_function_list { + struct ck_version version; + CK_C_Initialize C_Initialize; + CK_C_Finalize C_Finalize; + CK_C_GetInfo C_GetInfo; + CK_C_GetFunctionList C_GetFunctionList; + CK_C_GetSlotList C_GetSlotList; + CK_C_GetSlotInfo C_GetSlotInfo; + CK_C_GetTokenInfo C_GetTokenInfo; + CK_C_GetMechanismList C_GetMechanismList; + CK_C_GetMechanismInfo C_GetMechanismInfo; + CK_C_InitToken C_InitToken; + CK_C_InitPIN C_InitPIN; + CK_C_SetPIN C_SetPIN; + CK_C_OpenSession C_OpenSession; + CK_C_CloseSession C_CloseSession; + CK_C_CloseAllSessions C_CloseAllSessions; + CK_C_GetSessionInfo C_GetSessionInfo; + CK_C_GetOperationState C_GetOperationState; + CK_C_SetOperationState C_SetOperationState; + CK_C_Login C_Login; + CK_C_Logout C_Logout; + CK_C_CreateObject C_CreateObject; + CK_C_CopyObject C_CopyObject; + CK_C_DestroyObject C_DestroyObject; + CK_C_GetObjectSize C_GetObjectSize; + CK_C_GetAttributeValue C_GetAttributeValue; + CK_C_SetAttributeValue C_SetAttributeValue; + CK_C_FindObjectsInit C_FindObjectsInit; + CK_C_FindObjects C_FindObjects; + CK_C_FindObjectsFinal C_FindObjectsFinal; + CK_C_EncryptInit C_EncryptInit; + CK_C_Encrypt C_Encrypt; + CK_C_EncryptUpdate C_EncryptUpdate; + CK_C_EncryptFinal C_EncryptFinal; + CK_C_DecryptInit C_DecryptInit; + CK_C_Decrypt C_Decrypt; + CK_C_DecryptUpdate C_DecryptUpdate; + CK_C_DecryptFinal C_DecryptFinal; + CK_C_DigestInit C_DigestInit; + CK_C_Digest C_Digest; + CK_C_DigestUpdate C_DigestUpdate; + CK_C_DigestKey C_DigestKey; + CK_C_DigestFinal C_DigestFinal; + CK_C_SignInit C_SignInit; + CK_C_Sign C_Sign; + CK_C_SignUpdate C_SignUpdate; + CK_C_SignFinal C_SignFinal; + CK_C_SignRecoverInit C_SignRecoverInit; + CK_C_SignRecover C_SignRecover; + CK_C_VerifyInit C_VerifyInit; + CK_C_Verify C_Verify; + CK_C_VerifyUpdate C_VerifyUpdate; + CK_C_VerifyFinal C_VerifyFinal; + CK_C_VerifyRecoverInit C_VerifyRecoverInit; + CK_C_VerifyRecover C_VerifyRecover; + CK_C_DigestEncryptUpdate C_DigestEncryptUpdate; + CK_C_DecryptDigestUpdate C_DecryptDigestUpdate; + CK_C_SignEncryptUpdate C_SignEncryptUpdate; + CK_C_DecryptVerifyUpdate C_DecryptVerifyUpdate; + CK_C_GenerateKey C_GenerateKey; + CK_C_GenerateKeyPair C_GenerateKeyPair; + CK_C_WrapKey C_WrapKey; + CK_C_UnwrapKey C_UnwrapKey; + CK_C_DeriveKey C_DeriveKey; + CK_C_SeedRandom C_SeedRandom; + CK_C_GenerateRandom C_GenerateRandom; + CK_C_GetFunctionStatus C_GetFunctionStatus; + CK_C_CancelFunction C_CancelFunction; + CK_C_WaitForSlotEvent C_WaitForSlotEvent; }; +typedef ck_rv_t (*ck_createmutex_t)(void **mutex); +typedef ck_rv_t (*ck_destroymutex_t)(void *mutex); +typedef ck_rv_t (*ck_lockmutex_t)(void *mutex); +typedef ck_rv_t (*ck_unlockmutex_t)(void *mutex); -typedef ck_rv_t (*ck_createmutex_t) (void **mutex); -typedef ck_rv_t (*ck_destroymutex_t) (void *mutex); -typedef ck_rv_t (*ck_lockmutex_t) (void *mutex); -typedef ck_rv_t (*ck_unlockmutex_t) (void *mutex); - - -struct ck_c_initialize_args -{ - ck_createmutex_t create_mutex; - ck_destroymutex_t destroy_mutex; - ck_lockmutex_t lock_mutex; - ck_unlockmutex_t unlock_mutex; - ck_flags_t flags; - void *reserved; +struct ck_c_initialize_args { + ck_createmutex_t create_mutex; + ck_destroymutex_t destroy_mutex; + ck_lockmutex_t lock_mutex; + ck_unlockmutex_t unlock_mutex; + ck_flags_t flags; + void * reserved; }; +#define CKF_LIBRARY_CANT_CREATE_OS_THREADS (1UL << 0) +#define CKF_OS_LOCKING_OK (1UL << 1) -#define CKF_LIBRARY_CANT_CREATE_OS_THREADS (1UL << 0) -#define CKF_OS_LOCKING_OK (1UL << 1) - -#define CKR_OK (0UL) -#define CKR_CANCEL (1UL) -#define CKR_HOST_MEMORY (2UL) -#define CKR_SLOT_ID_INVALID (3UL) -#define CKR_GENERAL_ERROR (5UL) -#define CKR_FUNCTION_FAILED (6UL) -#define CKR_ARGUMENTS_BAD (7UL) -#define CKR_NO_EVENT (8UL) -#define CKR_NEED_TO_CREATE_THREADS (9UL) -#define CKR_CANT_LOCK (0xaUL) -#define CKR_ATTRIBUTE_READ_ONLY (0x10UL) -#define CKR_ATTRIBUTE_SENSITIVE (0x11UL) -#define CKR_ATTRIBUTE_TYPE_INVALID (0x12UL) -#define CKR_ATTRIBUTE_VALUE_INVALID (0x13UL) -#define CKR_ACTION_PROHIBITED (0x1BUL) -#define CKR_DATA_INVALID (0x20UL) -#define CKR_DATA_LEN_RANGE (0x21UL) -#define CKR_DEVICE_ERROR (0x30UL) -#define CKR_DEVICE_MEMORY (0x31UL) -#define CKR_DEVICE_REMOVED (0x32UL) -#define CKR_ENCRYPTED_DATA_INVALID (0x40UL) -#define CKR_ENCRYPTED_DATA_LEN_RANGE (0x41UL) -#define CKR_FUNCTION_CANCELED (0x50UL) -#define CKR_FUNCTION_NOT_PARALLEL (0x51UL) -#define CKR_FUNCTION_NOT_SUPPORTED (0x54UL) -#define CKR_KEY_HANDLE_INVALID (0x60UL) -#define CKR_KEY_SIZE_RANGE (0x62UL) -#define CKR_KEY_TYPE_INCONSISTENT (0x63UL) -#define CKR_KEY_NOT_NEEDED (0x64UL) -#define CKR_KEY_CHANGED (0x65UL) -#define CKR_KEY_NEEDED (0x66UL) -#define CKR_KEY_INDIGESTIBLE (0x67UL) -#define CKR_KEY_FUNCTION_NOT_PERMITTED (0x68UL) -#define CKR_KEY_NOT_WRAPPABLE (0x69UL) -#define CKR_KEY_UNEXTRACTABLE (0x6aUL) -#define CKR_MECHANISM_INVALID (0x70UL) -#define CKR_MECHANISM_PARAM_INVALID (0x71UL) -#define CKR_OBJECT_HANDLE_INVALID (0x82UL) -#define CKR_OPERATION_ACTIVE (0x90UL) -#define CKR_OPERATION_NOT_INITIALIZED (0x91UL) -#define CKR_PIN_INCORRECT (0xa0UL) -#define CKR_PIN_INVALID (0xa1UL) -#define CKR_PIN_LEN_RANGE (0xa2UL) -#define CKR_PIN_EXPIRED (0xa3UL) -#define CKR_PIN_LOCKED (0xa4UL) -#define CKR_SESSION_CLOSED (0xb0UL) -#define CKR_SESSION_COUNT (0xb1UL) -#define CKR_SESSION_HANDLE_INVALID (0xb3UL) -#define CKR_SESSION_PARALLEL_NOT_SUPPORTED (0xb4UL) -#define CKR_SESSION_READ_ONLY (0xb5UL) -#define CKR_SESSION_EXISTS (0xb6UL) -#define CKR_SESSION_READ_ONLY_EXISTS (0xb7UL) -#define CKR_SESSION_READ_WRITE_SO_EXISTS (0xb8UL) -#define CKR_SIGNATURE_INVALID (0xc0UL) -#define CKR_SIGNATURE_LEN_RANGE (0xc1UL) -#define CKR_TEMPLATE_INCOMPLETE (0xd0UL) -#define CKR_TEMPLATE_INCONSISTENT (0xd1UL) -#define CKR_TOKEN_NOT_PRESENT (0xe0UL) -#define CKR_TOKEN_NOT_RECOGNIZED (0xe1UL) -#define CKR_TOKEN_WRITE_PROTECTED (0xe2UL) -#define CKR_UNWRAPPING_KEY_HANDLE_INVALID (0xf0UL) -#define CKR_UNWRAPPING_KEY_SIZE_RANGE (0xf1UL) -#define CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT (0xf2UL) -#define CKR_USER_ALREADY_LOGGED_IN (0x100UL) -#define CKR_USER_NOT_LOGGED_IN (0x101UL) -#define CKR_USER_PIN_NOT_INITIALIZED (0x102UL) -#define CKR_USER_TYPE_INVALID (0x103UL) -#define CKR_USER_ANOTHER_ALREADY_LOGGED_IN (0x104UL) -#define CKR_USER_TOO_MANY_TYPES (0x105UL) -#define CKR_WRAPPED_KEY_INVALID (0x110UL) -#define CKR_WRAPPED_KEY_LEN_RANGE (0x112UL) -#define CKR_WRAPPING_KEY_HANDLE_INVALID (0x113UL) -#define CKR_WRAPPING_KEY_SIZE_RANGE (0x114UL) -#define CKR_WRAPPING_KEY_TYPE_INCONSISTENT (0x115UL) -#define CKR_RANDOM_SEED_NOT_SUPPORTED (0x120UL) -#define CKR_RANDOM_NO_RNG (0x121UL) -#define CKR_DOMAIN_PARAMS_INVALID (0x130UL) -#define CKR_BUFFER_TOO_SMALL (0x150UL) -#define CKR_SAVED_STATE_INVALID (0x160UL) -#define CKR_INFORMATION_SENSITIVE (0x170UL) -#define CKR_STATE_UNSAVEABLE (0x180UL) -#define CKR_CRYPTOKI_NOT_INITIALIZED (0x190UL) -#define CKR_CRYPTOKI_ALREADY_INITIALIZED (0x191UL) -#define CKR_MUTEX_BAD (0x1a0UL) -#define CKR_MUTEX_NOT_LOCKED (0x1a1UL) -#define CKR_NEW_PIN_MODE (0x1b0UL) -#define CKR_NEXT_OTP (0x1b1UL) -#define CKR_EXCEEDED_MAX_ITERATIONS (0x1c0UL) -#define CKR_FIPS_SELF_TEST_FAILED (0x1c1UL) -#define CKR_LIBRARY_LOAD_FAILED (0x1c2UL) -#define CKR_PIN_TOO_WEAK (0x1c3UL) -#define CKR_PUBLIC_KEY_INVALID (0x1c4UL) -#define CKR_FUNCTION_REJECTED (0x200UL) -#define CKR_VENDOR_DEFINED ((unsigned long) (1UL << 31)) - - -#define CKZ_DATA_SPECIFIED (0x01UL) - +#define CKR_OK (0UL) +#define CKR_CANCEL (1UL) +#define CKR_HOST_MEMORY (2UL) +#define CKR_SLOT_ID_INVALID (3UL) +#define CKR_GENERAL_ERROR (5UL) +#define CKR_FUNCTION_FAILED (6UL) +#define CKR_ARGUMENTS_BAD (7UL) +#define CKR_NO_EVENT (8UL) +#define CKR_NEED_TO_CREATE_THREADS (9UL) +#define CKR_CANT_LOCK (0xaUL) +#define CKR_ATTRIBUTE_READ_ONLY (0x10UL) +#define CKR_ATTRIBUTE_SENSITIVE (0x11UL) +#define CKR_ATTRIBUTE_TYPE_INVALID (0x12UL) +#define CKR_ATTRIBUTE_VALUE_INVALID (0x13UL) +#define CKR_ACTION_PROHIBITED (0x1BUL) +#define CKR_DATA_INVALID (0x20UL) +#define CKR_DATA_LEN_RANGE (0x21UL) +#define CKR_DEVICE_ERROR (0x30UL) +#define CKR_DEVICE_MEMORY (0x31UL) +#define CKR_DEVICE_REMOVED (0x32UL) +#define CKR_ENCRYPTED_DATA_INVALID (0x40UL) +#define CKR_ENCRYPTED_DATA_LEN_RANGE (0x41UL) +#define CKR_FUNCTION_CANCELED (0x50UL) +#define CKR_FUNCTION_NOT_PARALLEL (0x51UL) +#define CKR_FUNCTION_NOT_SUPPORTED (0x54UL) +#define CKR_KEY_HANDLE_INVALID (0x60UL) +#define CKR_KEY_SIZE_RANGE (0x62UL) +#define CKR_KEY_TYPE_INCONSISTENT (0x63UL) +#define CKR_KEY_NOT_NEEDED (0x64UL) +#define CKR_KEY_CHANGED (0x65UL) +#define CKR_KEY_NEEDED (0x66UL) +#define CKR_KEY_INDIGESTIBLE (0x67UL) +#define CKR_KEY_FUNCTION_NOT_PERMITTED (0x68UL) +#define CKR_KEY_NOT_WRAPPABLE (0x69UL) +#define CKR_KEY_UNEXTRACTABLE (0x6aUL) +#define CKR_MECHANISM_INVALID (0x70UL) +#define CKR_MECHANISM_PARAM_INVALID (0x71UL) +#define CKR_OBJECT_HANDLE_INVALID (0x82UL) +#define CKR_OPERATION_ACTIVE (0x90UL) +#define CKR_OPERATION_NOT_INITIALIZED (0x91UL) +#define CKR_PIN_INCORRECT (0xa0UL) +#define CKR_PIN_INVALID (0xa1UL) +#define CKR_PIN_LEN_RANGE (0xa2UL) +#define CKR_PIN_EXPIRED (0xa3UL) +#define CKR_PIN_LOCKED (0xa4UL) +#define CKR_SESSION_CLOSED (0xb0UL) +#define CKR_SESSION_COUNT (0xb1UL) +#define CKR_SESSION_HANDLE_INVALID (0xb3UL) +#define CKR_SESSION_PARALLEL_NOT_SUPPORTED (0xb4UL) +#define CKR_SESSION_READ_ONLY (0xb5UL) +#define CKR_SESSION_EXISTS (0xb6UL) +#define CKR_SESSION_READ_ONLY_EXISTS (0xb7UL) +#define CKR_SESSION_READ_WRITE_SO_EXISTS (0xb8UL) +#define CKR_SIGNATURE_INVALID (0xc0UL) +#define CKR_SIGNATURE_LEN_RANGE (0xc1UL) +#define CKR_TEMPLATE_INCOMPLETE (0xd0UL) +#define CKR_TEMPLATE_INCONSISTENT (0xd1UL) +#define CKR_TOKEN_NOT_PRESENT (0xe0UL) +#define CKR_TOKEN_NOT_RECOGNIZED (0xe1UL) +#define CKR_TOKEN_WRITE_PROTECTED (0xe2UL) +#define CKR_UNWRAPPING_KEY_HANDLE_INVALID (0xf0UL) +#define CKR_UNWRAPPING_KEY_SIZE_RANGE (0xf1UL) +#define CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT (0xf2UL) +#define CKR_USER_ALREADY_LOGGED_IN (0x100UL) +#define CKR_USER_NOT_LOGGED_IN (0x101UL) +#define CKR_USER_PIN_NOT_INITIALIZED (0x102UL) +#define CKR_USER_TYPE_INVALID (0x103UL) +#define CKR_USER_ANOTHER_ALREADY_LOGGED_IN (0x104UL) +#define CKR_USER_TOO_MANY_TYPES (0x105UL) +#define CKR_WRAPPED_KEY_INVALID (0x110UL) +#define CKR_WRAPPED_KEY_LEN_RANGE (0x112UL) +#define CKR_WRAPPING_KEY_HANDLE_INVALID (0x113UL) +#define CKR_WRAPPING_KEY_SIZE_RANGE (0x114UL) +#define CKR_WRAPPING_KEY_TYPE_INCONSISTENT (0x115UL) +#define CKR_RANDOM_SEED_NOT_SUPPORTED (0x120UL) +#define CKR_RANDOM_NO_RNG (0x121UL) +#define CKR_DOMAIN_PARAMS_INVALID (0x130UL) +#define CKR_BUFFER_TOO_SMALL (0x150UL) +#define CKR_SAVED_STATE_INVALID (0x160UL) +#define CKR_INFORMATION_SENSITIVE (0x170UL) +#define CKR_STATE_UNSAVEABLE (0x180UL) +#define CKR_CRYPTOKI_NOT_INITIALIZED (0x190UL) +#define CKR_CRYPTOKI_ALREADY_INITIALIZED (0x191UL) +#define CKR_MUTEX_BAD (0x1a0UL) +#define CKR_MUTEX_NOT_LOCKED (0x1a1UL) +#define CKR_NEW_PIN_MODE (0x1b0UL) +#define CKR_NEXT_OTP (0x1b1UL) +#define CKR_EXCEEDED_MAX_ITERATIONS (0x1c0UL) +#define CKR_FIPS_SELF_TEST_FAILED (0x1c1UL) +#define CKR_LIBRARY_LOAD_FAILED (0x1c2UL) +#define CKR_PIN_TOO_WEAK (0x1c3UL) +#define CKR_PUBLIC_KEY_INVALID (0x1c4UL) +#define CKR_FUNCTION_REJECTED (0x200UL) +#define CKR_VENDOR_DEFINED ((unsigned long)(1UL << 31)) +#define CKZ_DATA_SPECIFIED (0x01UL) /* Compatibility layer. */ @@ -1547,18 +1450,18 @@ struct ck_c_initialize_args /* For NULL. */ #include -typedef unsigned char CK_BYTE; -typedef unsigned char CK_CHAR; -typedef unsigned char CK_UTF8CHAR; -typedef unsigned char CK_BBOOL; +typedef unsigned char CK_BYTE; +typedef unsigned char CK_CHAR; +typedef unsigned char CK_UTF8CHAR; +typedef unsigned char CK_BBOOL; typedef unsigned long int CK_ULONG; -typedef long int CK_LONG; -typedef CK_BYTE *CK_BYTE_PTR; -typedef CK_CHAR *CK_CHAR_PTR; -typedef CK_UTF8CHAR *CK_UTF8CHAR_PTR; -typedef CK_ULONG *CK_ULONG_PTR; -typedef void *CK_VOID_PTR; -typedef void **CK_VOID_PTR_PTR; +typedef long int CK_LONG; +typedef CK_BYTE * CK_BYTE_PTR; +typedef CK_CHAR * CK_CHAR_PTR; +typedef CK_UTF8CHAR * CK_UTF8CHAR_PTR; +typedef CK_ULONG * CK_ULONG_PTR; +typedef void * CK_VOID_PTR; +typedef void ** CK_VOID_PTR_PTR; #define CK_FALSE 0 #define CK_TRUE 1 #ifndef CK_DISABLE_TRUE_FALSE @@ -1570,76 +1473,78 @@ typedef void **CK_VOID_PTR_PTR; #endif #endif -typedef struct ck_version CK_VERSION; +typedef struct ck_version CK_VERSION; typedef struct ck_version *CK_VERSION_PTR; -typedef struct ck_info CK_INFO; +typedef struct ck_info CK_INFO; typedef struct ck_info *CK_INFO_PTR; typedef ck_slot_id_t *CK_SLOT_ID_PTR; -typedef struct ck_slot_info CK_SLOT_INFO; +typedef struct ck_slot_info CK_SLOT_INFO; typedef struct ck_slot_info *CK_SLOT_INFO_PTR; -typedef struct ck_token_info CK_TOKEN_INFO; +typedef struct ck_token_info CK_TOKEN_INFO; typedef struct ck_token_info *CK_TOKEN_INFO_PTR; typedef ck_session_handle_t *CK_SESSION_HANDLE_PTR; -typedef struct ck_session_info CK_SESSION_INFO; +typedef struct ck_session_info CK_SESSION_INFO; typedef struct ck_session_info *CK_SESSION_INFO_PTR; typedef ck_object_handle_t *CK_OBJECT_HANDLE_PTR; typedef ck_object_class_t *CK_OBJECT_CLASS_PTR; -typedef struct ck_attribute CK_ATTRIBUTE; +typedef struct ck_attribute CK_ATTRIBUTE; typedef struct ck_attribute *CK_ATTRIBUTE_PTR; -typedef struct ck_date CK_DATE; +typedef struct ck_date CK_DATE; typedef struct ck_date *CK_DATE_PTR; typedef ck_mechanism_type_t *CK_MECHANISM_TYPE_PTR; -typedef struct ck_mechanism CK_MECHANISM; +typedef struct ck_mechanism CK_MECHANISM; typedef struct ck_mechanism *CK_MECHANISM_PTR; -typedef struct ck_mechanism_info CK_MECHANISM_INFO; +typedef struct ck_mechanism_info CK_MECHANISM_INFO; typedef struct ck_mechanism_info *CK_MECHANISM_INFO_PTR; -typedef struct ck_otp_mechanism_info CK_OTP_MECHANISM_INFO; +typedef struct ck_otp_mechanism_info CK_OTP_MECHANISM_INFO; typedef struct ck_otp_mechanism_info *CK_OTP_MECHANISM_INFO_PTR; -typedef struct ck_function_list CK_FUNCTION_LIST; -typedef struct ck_function_list *CK_FUNCTION_LIST_PTR; +typedef struct ck_function_list CK_FUNCTION_LIST; +typedef struct ck_function_list * CK_FUNCTION_LIST_PTR; typedef struct ck_function_list **CK_FUNCTION_LIST_PTR_PTR; -typedef struct ck_c_initialize_args CK_C_INITIALIZE_ARGS; +typedef struct ck_c_initialize_args CK_C_INITIALIZE_ARGS; typedef struct ck_c_initialize_args *CK_C_INITIALIZE_ARGS_PTR; -typedef struct ck_rsa_pkcs_pss_params CK_RSA_PKCS_PSS_PARAMS; +typedef struct ck_rsa_pkcs_pss_params CK_RSA_PKCS_PSS_PARAMS; typedef struct ck_rsa_pkcs_pss_params *CK_RSA_PKCS_PSS_PARAMS_PTR; -typedef struct ck_rsa_pkcs_oaep_params CK_RSA_PKCS_OAEP_PARAMS; +typedef struct ck_rsa_pkcs_oaep_params CK_RSA_PKCS_OAEP_PARAMS; typedef struct ck_rsa_pkcs_oaep_params *CK_RSA_PKCS_OAEP_PARAMS_PTR; -typedef struct ck_aes_ctr_params CK_AES_CTR_PARAMS; +typedef struct ck_aes_ctr_params CK_AES_CTR_PARAMS; typedef struct ck_aes_ctr_params *CK_AES_CTR_PARAMS_PTR; -typedef struct ck_gcm_params CK_GCM_PARAMS; +typedef struct ck_gcm_params CK_GCM_PARAMS; typedef struct ck_gcm_params *CK_GCM_PARAMS_PTR; -typedef struct ck_ecdh1_derive_params CK_ECDH1_DERIVE_PARAMS; +typedef struct ck_ecdh1_derive_params CK_ECDH1_DERIVE_PARAMS; typedef struct ck_ecdh1_derive_params *CK_ECDH1_DERIVE_PARAMS_PTR; -typedef struct ck_key_derivation_string_data CK_KEY_DERIVATION_STRING_DATA; +typedef struct ck_key_derivation_string_data CK_KEY_DERIVATION_STRING_DATA; typedef struct ck_key_derivation_string_data *CK_KEY_DERIVATION_STRING_DATA_PTR; typedef struct ck_des_cbc_encrypt_data_params CK_DES_CBC_ENCRYPT_DATA_PARAMS; -typedef struct ck_des_cbc_encrypt_data_params *CK_DES_CBC_ENCRYPT_DATA_PARAMS_PTR; +typedef struct ck_des_cbc_encrypt_data_params + *CK_DES_CBC_ENCRYPT_DATA_PARAMS_PTR; typedef struct ck_aes_cbc_encrypt_data_params CK_AES_CBC_ENCRYPT_DATA_PARAMS; -typedef struct ck_aes_cbc_encrypt_data_params *CK_AES_CBC_ENCRYPT_DATA_PARAMS_PTR; +typedef struct ck_aes_cbc_encrypt_data_params + *CK_AES_CBC_ENCRYPT_DATA_PARAMS_PTR; #ifndef NULL_PTR #define NULL_PTR NULL @@ -1734,9 +1639,8 @@ typedef struct ck_aes_cbc_encrypt_data_params *CK_AES_CBC_ENCRYPT_DATA_PARAMS_PT #undef unlock_mutex #undef reserved -#endif /* CRYPTOKI_COMPAT */ +#endif /* CRYPTOKI_COMPAT */ - /* System dependencies. */ #if defined(_WIN32) || defined(CRYPTOKI_FORCE_WIN32) #pragma pack(pop, cryptoki) @@ -1746,4 +1650,4 @@ typedef struct ck_aes_cbc_encrypt_data_params *CK_AES_CBC_ENCRYPT_DATA_PARAMS_PT } #endif -#endif /* PKCS11_H */ +#endif /* PKCS11_H */ diff --git a/lib/isc/iterated_hash.c b/lib/isc/iterated_hash.c index a4eb098a5a..33ffbcea62 100644 --- a/lib/isc/iterated_hash.c +++ b/lib/isc/iterated_hash.c @@ -11,21 +11,21 @@ #include -#include #include +#include #include int -isc_iterated_hash(unsigned char *out, - const unsigned int hashalg, const int iterations, - const unsigned char *salt, const int saltlength, - const unsigned char *in, const int inlength) +isc_iterated_hash(unsigned char *out, const unsigned int hashalg, + const int iterations, const unsigned char *salt, + const int saltlength, const unsigned char *in, + const int inlength) { - isc_md_t *md; - isc_result_t result; - int n = 0; - unsigned int outlength = 0; - size_t len; + isc_md_t * md; + isc_result_t result; + int n = 0; + unsigned int outlength = 0; + size_t len; const unsigned char *buf; REQUIRE(out != NULL); diff --git a/lib/isc/lex.c b/lib/isc/lex.c index e6128c8b58..bae03023fa 100644 --- a/lib/isc/lex.c +++ b/lib/isc/lex.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -29,41 +28,42 @@ #include typedef struct inputsource { - isc_result_t result; - bool is_file; - bool need_close; - bool at_eof; - bool last_was_eol; - isc_buffer_t * pushback; - unsigned int ignored; - void * input; - char * name; - unsigned long line; - unsigned long saved_line; - ISC_LINK(struct inputsource) link; + isc_result_t result; + bool is_file; + bool need_close; + bool at_eof; + bool last_was_eol; + isc_buffer_t *pushback; + unsigned int ignored; + void * input; + char * name; + unsigned long line; + unsigned long saved_line; + ISC_LINK(struct inputsource) link; } inputsource; -#define LEX_MAGIC ISC_MAGIC('L', 'e', 'x', '!') -#define VALID_LEX(l) ISC_MAGIC_VALID(l, LEX_MAGIC) +#define LEX_MAGIC ISC_MAGIC('L', 'e', 'x', '!') +#define VALID_LEX(l) ISC_MAGIC_VALID(l, LEX_MAGIC) struct isc_lex { /* Unlocked. */ - unsigned int magic; - isc_mem_t * mctx; - size_t max_token; - char * data; - unsigned int comments; - bool comment_ok; - bool last_was_eol; - unsigned int brace_count; - unsigned int paren_count; - unsigned int saved_paren_count; - isc_lexspecials_t specials; - LIST(struct inputsource) sources; + unsigned int magic; + isc_mem_t * mctx; + size_t max_token; + char * data; + unsigned int comments; + bool comment_ok; + bool last_was_eol; + unsigned int brace_count; + unsigned int paren_count; + unsigned int saved_paren_count; + isc_lexspecials_t specials; + LIST(struct inputsource) sources; }; static inline isc_result_t -grow_data(isc_lex_t *lex, size_t *remainingp, char **currp, char **prevp) { +grow_data(isc_lex_t *lex, size_t *remainingp, char **currp, char **prevp) +{ char *tmp; tmp = isc_mem_get(lex->mctx, lex->max_token * 2 + 1); @@ -79,7 +79,8 @@ grow_data(isc_lex_t *lex, size_t *remainingp, char **currp, char **prevp) { } isc_result_t -isc_lex_create(isc_mem_t *mctx, size_t max_token, isc_lex_t **lexp) { +isc_lex_create(isc_mem_t *mctx, size_t max_token, isc_lex_t **lexp) +{ isc_lex_t *lex; /* @@ -110,7 +111,8 @@ isc_lex_create(isc_mem_t *mctx, size_t max_token, isc_lex_t **lexp) { } void -isc_lex_destroy(isc_lex_t **lexp) { +isc_lex_destroy(isc_lex_t **lexp) +{ isc_lex_t *lex; /* @@ -131,7 +133,8 @@ isc_lex_destroy(isc_lex_t **lexp) { } unsigned int -isc_lex_getcomments(isc_lex_t *lex) { +isc_lex_getcomments(isc_lex_t *lex) +{ /* * Return the current lexer commenting styles. */ @@ -142,7 +145,8 @@ isc_lex_getcomments(isc_lex_t *lex) { } void -isc_lex_setcomments(isc_lex_t *lex, unsigned int comments) { +isc_lex_setcomments(isc_lex_t *lex, unsigned int comments) +{ /* * Set allowed lexer commenting styles. */ @@ -153,7 +157,8 @@ isc_lex_setcomments(isc_lex_t *lex, unsigned int comments) { } void -isc_lex_getspecials(isc_lex_t *lex, isc_lexspecials_t specials) { +isc_lex_getspecials(isc_lex_t *lex, isc_lexspecials_t specials) +{ /* * Put the current list of specials into 'specials'. */ @@ -164,7 +169,8 @@ isc_lex_getspecials(isc_lex_t *lex, isc_lexspecials_t specials) { } void -isc_lex_setspecials(isc_lex_t *lex, isc_lexspecials_t specials) { +isc_lex_setspecials(isc_lex_t *lex, isc_lexspecials_t specials) +{ /* * The characters in 'specials' are returned as tokens. Along with * whitespace, they delimit strings and numbers. @@ -176,8 +182,8 @@ isc_lex_setspecials(isc_lex_t *lex, isc_lexspecials_t specials) { } static inline isc_result_t -new_source(isc_lex_t *lex, bool is_file, bool need_close, - void *input, const char *name) +new_source(isc_lex_t *lex, bool is_file, bool need_close, void *input, + const char *name) { inputsource *source; @@ -200,9 +206,10 @@ new_source(isc_lex_t *lex, bool is_file, bool need_close, } isc_result_t -isc_lex_openfile(isc_lex_t *lex, const char *filename) { +isc_lex_openfile(isc_lex_t *lex, const char *filename) +{ isc_result_t result; - FILE *stream = NULL; + FILE * stream = NULL; /* * Open 'filename' and make it the current input source for 'lex'. @@ -221,7 +228,8 @@ isc_lex_openfile(isc_lex_t *lex, const char *filename) { } isc_result_t -isc_lex_openstream(isc_lex_t *lex, FILE *stream) { +isc_lex_openstream(isc_lex_t *lex, FILE *stream) +{ char name[128]; /* @@ -236,7 +244,8 @@ isc_lex_openstream(isc_lex_t *lex, FILE *stream) { } isc_result_t -isc_lex_openbuffer(isc_lex_t *lex, isc_buffer_t *buffer) { +isc_lex_openbuffer(isc_lex_t *lex, isc_buffer_t *buffer) +{ char name[128]; /* @@ -251,7 +260,8 @@ isc_lex_openbuffer(isc_lex_t *lex, isc_buffer_t *buffer) { } isc_result_t -isc_lex_close(isc_lex_t *lex) { +isc_lex_close(isc_lex_t *lex) +{ inputsource *source; /* @@ -293,7 +303,8 @@ typedef enum { #define IWSEOL (ISC_LEXOPT_INITIALWS | ISC_LEXOPT_EOL) static void -pushback(inputsource *source, int c) { +pushback(inputsource *source, int c) +{ REQUIRE(source->pushback->current > 0); if (c == EOF) { source->at_eof = false; @@ -305,12 +316,13 @@ pushback(inputsource *source, int c) { } static isc_result_t -pushandgrow(isc_lex_t *lex, inputsource *source, int c) { +pushandgrow(isc_lex_t *lex, inputsource *source, int c) +{ if (isc_buffer_availablelength(source->pushback) == 0) { isc_buffer_t *tbuf = NULL; - unsigned int oldlen; - isc_region_t used; - isc_result_t result; + unsigned int oldlen; + isc_region_t used; + isc_result_t result; oldlen = isc_buffer_length(source->pushback); isc_buffer_allocate(lex->mctx, &tbuf, oldlen * 2); @@ -326,21 +338,22 @@ pushandgrow(isc_lex_t *lex, inputsource *source, int c) { } isc_result_t -isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { - inputsource *source; - int c; - bool done = false; - bool no_comments = false; - bool escaped = false; - lexstate state = lexstate_start; - lexstate saved_state = lexstate_start; +isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) +{ + inputsource * source; + int c; + bool done = false; + bool no_comments = false; + bool escaped = false; + lexstate state = lexstate_start; + lexstate saved_state = lexstate_start; isc_buffer_t *buffer; - FILE *stream; - char *curr, *prev; - size_t remaining; - uint32_t as_ulong; - unsigned int saved_options; - isc_result_t result; + FILE * stream; + char * curr, *prev; + size_t remaining; + uint32_t as_ulong; + unsigned int saved_options; + isc_result_t result; /* * Get the next token. @@ -365,17 +378,14 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { source->saved_line = source->line; if (isc_buffer_remaininglength(source->pushback) == 0 && - source->at_eof) - { + source->at_eof) { if ((options & ISC_LEXOPT_DNSMULTILINE) != 0 && - lex->paren_count != 0) - { + lex->paren_count != 0) { lex->paren_count = 0; return (ISC_R_UNBALANCED); } if ((options & ISC_LEXOPT_BTEXT) != 0 && - lex->brace_count != 0) - { + lex->brace_count != 0) { lex->brace_count = 0; return (ISC_R_UNBALANCED); } @@ -445,8 +455,8 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { if (!source->at_eof) { if (state == lexstate_start) /* Token has not started yet. */ - source->ignored = - isc_buffer_consumedlength(source->pushback); + source->ignored = isc_buffer_consumedlength( + source->pushback); c = isc_buffer_getuint8(source->pushback); } else { c = EOF; @@ -457,23 +467,22 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { if (lex->comment_ok && !no_comments) { if (!escaped && c == ';' && - ((lex->comments & ISC_LEXCOMMENT_DNSMASTERFILE) - != 0)) { + ((lex->comments & ISC_LEXCOMMENT_DNSMASTERFILE) != + 0)) { saved_state = state; state = lexstate_eatline; no_comments = true; continue; } else if (c == '/' && (lex->comments & - (ISC_LEXCOMMENT_C| + (ISC_LEXCOMMENT_C | ISC_LEXCOMMENT_CPLUSPLUS)) != 0) { saved_state = state; state = lexstate_maybecomment; no_comments = true; continue; - } else if (c == '#' && - ((lex->comments & ISC_LEXCOMMENT_SHELL) - != 0)) { + } else if (c == '#' && ((lex->comments & + ISC_LEXCOMMENT_SHELL) != 0)) { saved_state = state; state = lexstate_eatline; no_comments = true; @@ -507,8 +516,7 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { done = true; } else if (c == ' ' || c == '\t') { if (lex->last_was_eol && - (options & ISC_LEXOPT_INITIALWS) - != 0) { + (options & ISC_LEXOPT_INITIALWS) != 0) { lex->last_was_eol = false; tokenp->type = isc_tokentype_initialws; tokenp->value.as_char = c; @@ -531,8 +539,7 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { } else if (lex->specials[c]) { lex->last_was_eol = false; if ((c == '(' || c == ')') && - (options & ISC_LEXOPT_DNSMULTILINE) != 0) - { + (options & ISC_LEXOPT_DNSMULTILINE) != 0) { if (c == '(') { if (lex->paren_count == 0) options &= ~IWSEOL; @@ -540,7 +547,7 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { } else { if (lex->paren_count == 0) { result = - ISC_R_UNBALANCED; + ISC_R_UNBALANCED; goto done; } lex->paren_count--; @@ -549,8 +556,7 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { } continue; } else if (c == '{' && - (options & ISC_LEXOPT_BTEXT) != 0) - { + (options & ISC_LEXOPT_BTEXT) != 0) { if (lex->brace_count != 0) { result = ISC_R_UNBALANCED; goto done; @@ -589,20 +595,19 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { case lexstate_number: if (c == EOF || !isdigit((unsigned char)c)) { if (c == ' ' || c == '\t' || c == '\r' || - c == '\n' || c == EOF || - lex->specials[c]) { + c == '\n' || c == EOF || lex->specials[c]) { int base; if ((options & ISC_LEXOPT_OCTAL) != 0) base = 8; - else if ((options & ISC_LEXOPT_CNUMBER) != 0) + else if ((options & + ISC_LEXOPT_CNUMBER) != 0) base = 0; else base = 10; pushback(source, c); - result = isc_parse_uint32(&as_ulong, - lex->data, - base); + result = isc_parse_uint32( + &as_ulong, lex->data, base); if (result == ISC_R_SUCCESS) { tokenp->type = isc_tokentype_number; @@ -617,14 +622,14 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { v->as_textregion.base = lex->data; v->as_textregion.length = - (unsigned int) - (lex->max_token - - remaining); + (unsigned int)(lex->max_token - + remaining); } else goto done; done = true; continue; - } else if ((options & ISC_LEXOPT_CNUMBER) == 0 || + } else if ((options & ISC_LEXOPT_CNUMBER) == + 0 || ((c != 'x' && c != 'X') || (curr != &lex->data[1]) || (lex->data[0] != '0'))) { @@ -636,8 +641,8 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { state = lexstate_string; } if (remaining == 0U) { - result = grow_data(lex, &remaining, - &curr, &prev); + result = grow_data(lex, &remaining, &curr, + &prev); if (result != ISC_R_SUCCESS) goto done; } @@ -662,17 +667,17 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { tokenp->type = isc_tokentype_string; tokenp->value.as_textregion.base = lex->data; tokenp->value.as_textregion.length = - (unsigned int) - (lex->max_token - remaining); + (unsigned int)(lex->max_token - + remaining); done = true; continue; } if ((options & ISC_LEXOPT_ESCAPE) != 0) - escaped = (!escaped && c == '\\') ? - true : false; + escaped = (!escaped && c == '\\') ? true + : false; if (remaining == 0U) { - result = grow_data(lex, &remaining, - &curr, &prev); + result = grow_data(lex, &remaining, &curr, + &prev); if (result != ISC_R_SUCCESS) goto done; } @@ -687,7 +692,8 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { state = lexstate_ccomment; continue; } else if (c == '/' && - (lex->comments & ISC_LEXCOMMENT_CPLUSPLUS) != 0) { + (lex->comments & ISC_LEXCOMMENT_CPLUSPLUS) != + 0) { state = lexstate_eatline; continue; } @@ -748,14 +754,15 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { tokenp->value.as_textregion.base = lex->data; tokenp->value.as_textregion.length = - (unsigned int) - (lex->max_token - remaining); + (unsigned int)(lex->max_token - + remaining); no_comments = false; done = true; } } else { if (c == '\n' && !escaped && - (options & ISC_LEXOPT_QSTRINGMULTILINE) == 0) { + (options & ISC_LEXOPT_QSTRINGMULTILINE) == + 0) { pushback(source, c); result = ISC_R_UNBALANCEDQUOTES; goto done; @@ -801,8 +808,8 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { tokenp->value.as_textregion.base = lex->data; tokenp->value.as_textregion.length = - (unsigned int) (lex->max_token - - remaining); + (unsigned int)(lex->max_token - + remaining); no_comments = false; done = true; break; @@ -815,8 +822,8 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { escaped = false; if (remaining == 0U) { - result = grow_data(lex, &remaining, - &curr, &prev); + result = grow_data(lex, &remaining, &curr, + &prev); if (result != ISC_R_SUCCESS) goto done; } @@ -827,15 +834,14 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) { remaining--; break; default: - FATAL_ERROR(__FILE__, __LINE__, - "Unexpected state %d", + FATAL_ERROR(__FILE__, __LINE__, "Unexpected state %d", state); } } while (!done); result = ISC_R_SUCCESS; - done: +done: #ifdef HAVE_FLOCKFILE if (source->is_file) funlockfile(source->input); @@ -883,7 +889,7 @@ isc_result_t isc_lex_getoctaltoken(isc_lex_t *lex, isc_token_t *token, bool eol) { unsigned int options = ISC_LEXOPT_EOL | ISC_LEXOPT_EOF | - ISC_LEXOPT_DNSMULTILINE | ISC_LEXOPT_ESCAPE| + ISC_LEXOPT_DNSMULTILINE | ISC_LEXOPT_ESCAPE | ISC_LEXOPT_NUMBER | ISC_LEXOPT_OCTAL; isc_result_t result; @@ -907,7 +913,8 @@ isc_lex_getoctaltoken(isc_lex_t *lex, isc_token_t *token, bool eol) } void -isc_lex_ungettoken(isc_lex_t *lex, isc_token_t *tokenp) { +isc_lex_ungettoken(isc_lex_t *lex, isc_token_t *tokenp) +{ inputsource *source; /* * Unget the current token. @@ -945,12 +952,13 @@ isc_lex_getlasttokentext(isc_lex_t *lex, isc_token_t *tokenp, isc_region_t *r) INSIST(source->ignored <= isc_buffer_consumedlength(source->pushback)); r->base = (unsigned char *)isc_buffer_base(source->pushback) + source->ignored; - r->length = isc_buffer_consumedlength(source->pushback) - - source->ignored; + r->length = + isc_buffer_consumedlength(source->pushback) - source->ignored; } char * -isc_lex_getsourcename(isc_lex_t *lex) { +isc_lex_getsourcename(isc_lex_t *lex) +{ inputsource *source; REQUIRE(VALID_LEX(lex)); @@ -963,7 +971,8 @@ isc_lex_getsourcename(isc_lex_t *lex) { } unsigned long -isc_lex_getsourceline(isc_lex_t *lex) { +isc_lex_getsourceline(isc_lex_t *lex) +{ inputsource *source; REQUIRE(VALID_LEX(lex)); @@ -976,9 +985,10 @@ isc_lex_getsourceline(isc_lex_t *lex) { } isc_result_t -isc_lex_setsourcename(isc_lex_t *lex, const char *name) { +isc_lex_setsourcename(isc_lex_t *lex, const char *name) +{ inputsource *source; - char *newname; + char * newname; REQUIRE(VALID_LEX(lex)); source = HEAD(lex->sources); @@ -992,7 +1002,8 @@ isc_lex_setsourcename(isc_lex_t *lex, const char *name) { } isc_result_t -isc_lex_setsourceline(isc_lex_t *lex, unsigned long line) { +isc_lex_setsourceline(isc_lex_t *lex, unsigned long line) +{ inputsource *source; REQUIRE(VALID_LEX(lex)); @@ -1006,7 +1017,8 @@ isc_lex_setsourceline(isc_lex_t *lex, unsigned long line) { } bool -isc_lex_isfile(isc_lex_t *lex) { +isc_lex_isfile(isc_lex_t *lex) +{ inputsource *source; REQUIRE(VALID_LEX(lex)); diff --git a/lib/isc/lfsr.c b/lib/isc/lfsr.c index d1d2e42255..5daeb5271d 100644 --- a/lib/isc/lfsr.c +++ b/lib/isc/lfsr.c @@ -9,23 +9,21 @@ * information regarding copyright ownership. */ - /*! \file */ -#include #include +#include #include #include #include #include -#define VALID_LFSR(x) (x != NULL) +#define VALID_LFSR(x) (x != NULL) void -isc_lfsr_init(isc_lfsr_t *lfsr, uint32_t state, unsigned int bits, - uint32_t tap, unsigned int count, - isc_lfsrreseed_t reseed, void *arg) +isc_lfsr_init(isc_lfsr_t *lfsr, uint32_t state, unsigned int bits, uint32_t tap, + unsigned int count, isc_lfsrreseed_t reseed, void *arg) { REQUIRE(VALID_LFSR(lfsr)); REQUIRE(8 <= bits && bits <= 32); @@ -50,7 +48,6 @@ isc_lfsr_init(isc_lfsr_t *lfsr, uint32_t state, unsigned int bits, static inline uint32_t lfsr_generate(isc_lfsr_t *lfsr) { - /* * If the previous state is zero, we must fill it with something * here, or we will begin to generate an extremely predictable output. @@ -78,8 +75,8 @@ void isc_lfsr_generate(isc_lfsr_t *lfsr, void *data, unsigned int count) { unsigned char *p; - unsigned int bit; - unsigned int byte; + unsigned int bit; + unsigned int byte; REQUIRE(VALID_LFSR(lfsr)); REQUIRE(data != NULL); diff --git a/lib/isc/lib.c b/lib/isc/lib.c index 8bb01552ad..a6cffe220d 100644 --- a/lib/isc/lib.c +++ b/lib/isc/lib.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -20,6 +19,7 @@ ***/ void -isc_lib_register(void) { +isc_lib_register(void) +{ isc_bind9 = false; } diff --git a/lib/isc/log.c b/lib/isc/log.c index c3cdc6abd9..1db2d6680e 100644 --- a/lib/isc/log.c +++ b/lib/isc/log.c @@ -13,13 +13,11 @@ #include #include +#include #include #include -#include #include -#include /* dev_t FreeBSD 2.1 */ - #include #include #include @@ -33,16 +31,18 @@ #include #include -#define LCTX_MAGIC ISC_MAGIC('L', 'c', 't', 'x') -#define VALID_CONTEXT(lctx) ISC_MAGIC_VALID(lctx, LCTX_MAGIC) +#include /* dev_t FreeBSD 2.1 */ -#define LCFG_MAGIC ISC_MAGIC('L', 'c', 'f', 'g') -#define VALID_CONFIG(lcfg) ISC_MAGIC_VALID(lcfg, LCFG_MAGIC) +#define LCTX_MAGIC ISC_MAGIC('L', 'c', 't', 'x') +#define VALID_CONTEXT(lctx) ISC_MAGIC_VALID(lctx, LCTX_MAGIC) + +#define LCFG_MAGIC ISC_MAGIC('L', 'c', 'f', 'g') +#define VALID_CONFIG(lcfg) ISC_MAGIC_VALID(lcfg, LCFG_MAGIC) /* * XXXDCL make dynamic? */ -#define LOG_BUFFER_SIZE (8 * 1024) +#define LOG_BUFFER_SIZE (8 * 1024) /*! * This is the structure that holds each named channel. A simple linked @@ -56,12 +56,12 @@ typedef struct isc_logchannel isc_logchannel_t; struct isc_logchannel { - char * name; - unsigned int type; - int level; - unsigned int flags; - isc_logdestination_t destination; - ISC_LINK(isc_logchannel_t) link; + char * name; + unsigned int type; + int level; + unsigned int flags; + isc_logdestination_t destination; + ISC_LINK(isc_logchannel_t) link; }; /*! @@ -75,9 +75,9 @@ struct isc_logchannel { typedef struct isc_logchannellist isc_logchannellist_t; struct isc_logchannellist { - const isc_logmodule_t * module; - isc_logchannel_t * channel; - ISC_LINK(isc_logchannellist_t) link; + const isc_logmodule_t *module; + isc_logchannel_t * channel; + ISC_LINK(isc_logchannellist_t) link; }; /*! @@ -87,9 +87,9 @@ struct isc_logchannellist { typedef struct isc_logmessage isc_logmessage_t; struct isc_logmessage { - char * text; - isc_time_t time; - ISC_LINK(isc_logmessage_t) link; + char * text; + isc_time_t time; + ISC_LINK(isc_logmessage_t) link; }; /*! @@ -100,15 +100,15 @@ struct isc_logmessage { * into a program, or the debug_level which is dynamic state information. */ struct isc_logconfig { - unsigned int magic; - isc_log_t * lctx; - ISC_LIST(isc_logchannel_t) channels; - ISC_LIST(isc_logchannellist_t) *channellists; - unsigned int channellist_count; - unsigned int duplicate_interval; - int highest_level; - char * tag; - bool dynamic; + unsigned int magic; + isc_log_t * lctx; + ISC_LIST(isc_logchannel_t) channels; + ISC_LIST(isc_logchannellist_t) * channellists; + unsigned int channellist_count; + unsigned int duplicate_interval; + int highest_level; + char * tag; + bool dynamic; }; /*! @@ -130,44 +130,32 @@ struct isc_logconfig { */ struct isc_log { /* Not locked. */ - unsigned int magic; - isc_mem_t * mctx; - isc_logcategory_t * categories; - unsigned int category_count; - isc_logmodule_t * modules; - unsigned int module_count; - int debug_level; - isc_mutex_t lock; + unsigned int magic; + isc_mem_t * mctx; + isc_logcategory_t *categories; + unsigned int category_count; + isc_logmodule_t * modules; + unsigned int module_count; + int debug_level; + isc_mutex_t lock; /* Locked by isc_log lock. */ - isc_logconfig_t * logconfig; - char buffer[LOG_BUFFER_SIZE]; - ISC_LIST(isc_logmessage_t) messages; + isc_logconfig_t *logconfig; + char buffer[LOG_BUFFER_SIZE]; + ISC_LIST(isc_logmessage_t) messages; }; /*! * Used when ISC_LOG_PRINTLEVEL is enabled for a channel. */ -static const char *log_level_strings[] = { - "debug", - "info", - "notice", - "warning", - "error", - "critical" -}; +static const char *log_level_strings[] = { "debug", "info", "notice", + "warning", "error", "critical" }; /*! * Used to convert ISC_LOG_* priorities into syslog priorities. * XXXDCL This will need modification for NT. */ -static const int syslog_map[] = { - LOG_DEBUG, - LOG_INFO, - LOG_NOTICE, - LOG_WARNING, - LOG_ERR, - LOG_CRIT -}; +static const int syslog_map[] = { LOG_DEBUG, LOG_INFO, LOG_NOTICE, + LOG_WARNING, LOG_ERR, LOG_CRIT }; /*! * When adding new categories, a corresponding ISC_LOGCATEGORY_foo @@ -177,24 +165,20 @@ static const int syslog_map[] = { * be overridden. Since the default is always looked up as the first * channellist in the log context, it must come first in isc_categories[]. */ -LIBISC_EXTERNAL_DATA isc_logcategory_t isc_categories[] = { - { "default", 0 }, /* "default" must come first. */ - { "general", 0 }, - { NULL, 0 } -}; +LIBISC_EXTERNAL_DATA isc_logcategory_t isc_categories[] = { { "default", + 0 }, /* "default" + must come + first. */ + { "general", 0 }, + { NULL, 0 } }; /*! - * See above comment for categories on LIBISC_EXTERNAL_DATA, and apply it to modules. + * See above comment for categories on LIBISC_EXTERNAL_DATA, and apply it to + * modules. */ LIBISC_EXTERNAL_DATA isc_logmodule_t isc_modules[] = { - { "socket", 0 }, - { "time", 0 }, - { "interface", 0 }, - { "timer", 0 }, - { "file", 0 }, - { "netmgr", 0 }, - { "other", 0 }, - { NULL, 0 } + { "socket", 0 }, { "time", 0 }, { "interface", 0 }, { "timer", 0 }, + { "file", 0 }, { "netmgr", 0 }, { "other", 0 }, { NULL, 0 } }; /*! @@ -225,20 +209,19 @@ greatest_version(isc_logfile_t *file, int versions, int *greatest); static void isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category, isc_logmodule_t *module, int level, bool write_once, - const char *format, va_list args) - ISC_FORMAT_PRINTF(6, 0); + const char *format, va_list args) ISC_FORMAT_PRINTF(6, 0); /*@{*/ /*! * Convenience macros. */ -#define FACILITY(channel) (channel->destination.facility) -#define FILE_NAME(channel) (channel->destination.file.name) -#define FILE_STREAM(channel) (channel->destination.file.stream) -#define FILE_VERSIONS(channel) (channel->destination.file.versions) -#define FILE_SUFFIX(channel) (channel->destination.file.suffix) -#define FILE_MAXSIZE(channel) (channel->destination.file.maximum_size) +#define FACILITY(channel) (channel->destination.facility) +#define FILE_NAME(channel) (channel->destination.file.name) +#define FILE_STREAM(channel) (channel->destination.file.stream) +#define FILE_VERSIONS(channel) (channel->destination.file.versions) +#define FILE_SUFFIX(channel) (channel->destination.file.suffix) +#define FILE_MAXSIZE(channel) (channel->destination.file.maximum_size) #define FILE_MAXREACHED(channel) (channel->destination.file.maximum_reached) /*@}*/ @@ -250,10 +233,11 @@ isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category, * Establish a new logging context, with default channels. */ isc_result_t -isc_log_create(isc_mem_t *mctx, isc_log_t **lctxp, isc_logconfig_t **lcfgp) { - isc_log_t *lctx; +isc_log_create(isc_mem_t *mctx, isc_log_t **lctxp, isc_logconfig_t **lcfgp) +{ + isc_log_t * lctx; isc_logconfig_t *lcfg = NULL; - isc_result_t result; + isc_result_t result; REQUIRE(mctx != NULL); REQUIRE(lctxp != NULL && *lctxp == NULL); @@ -310,11 +294,12 @@ isc_log_create(isc_mem_t *mctx, isc_log_t **lctxp, isc_logconfig_t **lcfgp) { } isc_result_t -isc_logconfig_create(isc_log_t *lctx, isc_logconfig_t **lcfgp) { - isc_logconfig_t *lcfg; +isc_logconfig_create(isc_log_t *lctx, isc_logconfig_t **lcfgp) +{ + isc_logconfig_t * lcfg; isc_logdestination_t destination; - isc_result_t result = ISC_R_SUCCESS; - int level = ISC_LOG_INFO; + isc_result_t result = ISC_R_SUCCESS; + int level = ISC_LOG_INFO; REQUIRE(lcfgp != NULL && *lcfgp == NULL); REQUIRE(VALID_CONTEXT(lctx)); @@ -349,10 +334,8 @@ isc_logconfig_create(isc_log_t *lctx, isc_logconfig_t **lcfgp) { destination.file.suffix = isc_log_rollsuffix_increment; destination.file.maximum_size = 0; result = isc_log_createchannel(lcfg, "default_stderr", - ISC_LOG_TOFILEDESC, - level, - &destination, - ISC_LOG_PRINTTIME); + ISC_LOG_TOFILEDESC, level, + &destination, ISC_LOG_PRINTTIME); } if (result == ISC_R_SUCCESS) { @@ -368,18 +351,14 @@ isc_logconfig_create(isc_log_t *lctx, isc_logconfig_t **lcfgp) { destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.suffix = isc_log_rollsuffix_increment; destination.file.maximum_size = 0; - result = isc_log_createchannel(lcfg, "default_debug", - ISC_LOG_TOFILEDESC, - ISC_LOG_DYNAMIC, - &destination, - ISC_LOG_PRINTTIME); + result = isc_log_createchannel( + lcfg, "default_debug", ISC_LOG_TOFILEDESC, + ISC_LOG_DYNAMIC, &destination, ISC_LOG_PRINTTIME); } if (result == ISC_R_SUCCESS) { - result = isc_log_createchannel(lcfg, "null", - ISC_LOG_TONULL, - ISC_LOG_DYNAMIC, - NULL, 0); + result = isc_log_createchannel(lcfg, "null", ISC_LOG_TONULL, + ISC_LOG_DYNAMIC, NULL, 0); } if (result == ISC_R_SUCCESS) { @@ -392,9 +371,10 @@ isc_logconfig_create(isc_log_t *lctx, isc_logconfig_t **lcfgp) { } isc_result_t -isc_logconfig_use(isc_log_t *lctx, isc_logconfig_t *lcfg) { +isc_logconfig_use(isc_log_t *lctx, isc_logconfig_t *lcfg) +{ isc_logconfig_t *old_cfg; - isc_result_t result; + isc_result_t result; REQUIRE(VALID_CONTEXT(lctx)); REQUIRE(VALID_CONFIG(lcfg)); @@ -422,10 +402,11 @@ isc_logconfig_use(isc_log_t *lctx, isc_logconfig_t *lcfg) { } void -isc_log_destroy(isc_log_t **lctxp) { - isc_log_t *lctx; - isc_logconfig_t *lcfg; - isc_mem_t *mctx; +isc_log_destroy(isc_log_t **lctxp) +{ + isc_log_t * lctx; + isc_logconfig_t * lcfg; + isc_mem_t * mctx; isc_logmessage_t *message; REQUIRE(lctxp != NULL && VALID_CONTEXT(*lctxp)); @@ -462,13 +443,14 @@ isc_log_destroy(isc_log_t **lctxp) { } void -isc_logconfig_destroy(isc_logconfig_t **lcfgp) { - isc_logconfig_t *lcfg; - isc_mem_t *mctx; - isc_logchannel_t *channel; +isc_logconfig_destroy(isc_logconfig_t **lcfgp) +{ + isc_logconfig_t * lcfg; + isc_mem_t * mctx; + isc_logchannel_t * channel; isc_logchannellist_t *item; - char *filename; - unsigned int i; + char * filename; + unsigned int i; REQUIRE(lcfgp != NULL && VALID_CONFIG(*lcfgp)); @@ -513,7 +495,7 @@ isc_logconfig_destroy(isc_logconfig_t **lcfgp) { if (lcfg->channellist_count > 0) isc_mem_put(mctx, lcfg->channellists, lcfg->channellist_count * - sizeof(ISC_LIST(isc_logchannellist_t))); + sizeof(ISC_LIST(isc_logchannellist_t))); lcfg->dynamic = false; if (lcfg->tag != NULL) @@ -527,7 +509,8 @@ isc_logconfig_destroy(isc_logconfig_t **lcfgp) { } void -isc_log_registercategories(isc_log_t *lctx, isc_logcategory_t categories[]) { +isc_log_registercategories(isc_log_t *lctx, isc_logcategory_t categories[]) +{ isc_logcategory_t *catp; REQUIRE(VALID_CONTEXT(lctx)); @@ -549,7 +532,7 @@ isc_log_registercategories(isc_log_t *lctx, isc_logcategory_t categories[]) { * Adjust the last (NULL) pointer of the already registered * categories to point to the incoming array. */ - for (catp = lctx->categories; catp->name != NULL; ) + for (catp = lctx->categories; catp->name != NULL;) if (catp->id == UINT_MAX) /* * The name pointer points to the next array. @@ -571,13 +554,14 @@ isc_log_registercategories(isc_log_t *lctx, isc_logcategory_t categories[]) { } isc_logcategory_t * -isc_log_categorybyname(isc_log_t *lctx, const char *name) { +isc_log_categorybyname(isc_log_t *lctx, const char *name) +{ isc_logcategory_t *catp; REQUIRE(VALID_CONTEXT(lctx)); REQUIRE(name != NULL); - for (catp = lctx->categories; catp->name != NULL; ) + for (catp = lctx->categories; catp->name != NULL;) if (catp->id == UINT_MAX) /* * catp is neither modified nor returned to the @@ -594,7 +578,8 @@ isc_log_categorybyname(isc_log_t *lctx, const char *name) { } void -isc_log_registermodules(isc_log_t *lctx, isc_logmodule_t modules[]) { +isc_log_registermodules(isc_log_t *lctx, isc_logmodule_t modules[]) +{ isc_logmodule_t *modp; REQUIRE(VALID_CONTEXT(lctx)); @@ -616,7 +601,7 @@ isc_log_registermodules(isc_log_t *lctx, isc_logmodule_t modules[]) { * Adjust the last (NULL) pointer of the already registered * modules to point to the incoming array. */ - for (modp = lctx->modules; modp->name != NULL; ) + for (modp = lctx->modules; modp->name != NULL;) if (modp->id == UINT_MAX) /* * The name pointer points to the next array. @@ -638,13 +623,14 @@ isc_log_registermodules(isc_log_t *lctx, isc_logmodule_t modules[]) { } isc_logmodule_t * -isc_log_modulebyname(isc_log_t *lctx, const char *name) { +isc_log_modulebyname(isc_log_t *lctx, const char *name) +{ isc_logmodule_t *modp; REQUIRE(VALID_CONTEXT(lctx)); REQUIRE(name != NULL); - for (modp = lctx->modules; modp->name != NULL; ) + for (modp = lctx->modules; modp->name != NULL;) if (modp->id == UINT_MAX) /* * modp is neither modified nor returned to the @@ -664,17 +650,17 @@ isc_result_t isc_log_createchannel(isc_logconfig_t *lcfg, const char *name, unsigned int type, int level, const isc_logdestination_t *destination, - unsigned int flags) + unsigned int flags) { isc_logchannel_t *channel; - isc_mem_t *mctx; - unsigned int permitted = ISC_LOG_PRINTALL | ISC_LOG_DEBUGONLY | + isc_mem_t * mctx; + unsigned int permitted = ISC_LOG_PRINTALL | ISC_LOG_DEBUGONLY | ISC_LOG_BUFFERED | ISC_LOG_ISO8601 | ISC_LOG_UTC; REQUIRE(VALID_CONFIG(lcfg)); REQUIRE(name != NULL); - REQUIRE(type == ISC_LOG_TOSYSLOG || type == ISC_LOG_TOFILE || + REQUIRE(type == ISC_LOG_TOSYSLOG || type == ISC_LOG_TOFILE || type == ISC_LOG_TOFILEDESC || type == ISC_LOG_TONULL); REQUIRE(destination != NULL || type == ISC_LOG_TONULL); REQUIRE(level >= ISC_LOG_CRITICAL); @@ -704,8 +690,8 @@ isc_log_createchannel(isc_logconfig_t *lcfg, const char *name, * to scribble on it, so it needs to be definitely in * writable memory. */ - FILE_NAME(channel) = isc_mem_strdup(mctx, - destination->file.name); + FILE_NAME(channel) = + isc_mem_strdup(mctx, destination->file.name); FILE_STREAM(channel) = NULL; FILE_VERSIONS(channel) = destination->file.versions; FILE_SUFFIX(channel) = destination->file.suffix; @@ -746,12 +732,12 @@ isc_log_createchannel(isc_logconfig_t *lcfg, const char *name, isc_result_t isc_log_usechannel(isc_logconfig_t *lcfg, const char *name, const isc_logcategory_t *category, - const isc_logmodule_t *module) + const isc_logmodule_t * module) { - isc_log_t *lctx; + isc_log_t * lctx; isc_logchannel_t *channel; - isc_result_t result = ISC_R_SUCCESS; - unsigned int i; + isc_result_t result = ISC_R_SUCCESS; + unsigned int i; REQUIRE(VALID_CONFIG(lcfg)); REQUIRE(name != NULL); @@ -797,21 +783,19 @@ isc_log_write(isc_log_t *lctx, isc_logcategory_t *category, */ va_start(args, format); - isc_log_doit(lctx, category, module, level, false, - format, args); + isc_log_doit(lctx, category, module, level, false, format, args); va_end(args); } void isc_log_vwrite(isc_log_t *lctx, isc_logcategory_t *category, - isc_logmodule_t *module, int level, - const char *format, va_list args) + isc_logmodule_t *module, int level, const char *format, + va_list args) { /* * Contract checking is done in isc_log_doit(). */ - isc_log_doit(lctx, category, module, level, false, - format, args); + isc_log_doit(lctx, category, module, level, false, format, args); } void @@ -825,30 +809,30 @@ isc_log_write1(isc_log_t *lctx, isc_logcategory_t *category, */ va_start(args, format); - isc_log_doit(lctx, category, module, level, true, - format, args); + isc_log_doit(lctx, category, module, level, true, format, args); va_end(args); } void isc_log_vwrite1(isc_log_t *lctx, isc_logcategory_t *category, - isc_logmodule_t *module, int level, - const char *format, va_list args) + isc_logmodule_t *module, int level, const char *format, + va_list args) { /* * Contract checking is done in isc_log_doit(). */ - isc_log_doit(lctx, category, module, level, true, - format, args); + isc_log_doit(lctx, category, module, level, true, format, args); } void -isc_log_setcontext(isc_log_t *lctx) { +isc_log_setcontext(isc_log_t *lctx) +{ isc_lctx = lctx; } void -isc_log_setdebuglevel(isc_log_t *lctx, unsigned int level) { +isc_log_setdebuglevel(isc_log_t *lctx, unsigned int level) +{ isc_logchannel_t *channel; REQUIRE(VALID_CONTEXT(lctx)); @@ -861,8 +845,7 @@ isc_log_setdebuglevel(isc_log_t *lctx, unsigned int level) { */ if (lctx->debug_level == 0) for (channel = ISC_LIST_HEAD(lctx->logconfig->channels); - channel != NULL; - channel = ISC_LIST_NEXT(channel, link)) + channel != NULL; channel = ISC_LIST_NEXT(channel, link)) if (channel->type == ISC_LOG_TOFILE && (channel->flags & ISC_LOG_DEBUGONLY) != 0 && FILE_STREAM(channel) != NULL) { @@ -873,28 +856,32 @@ isc_log_setdebuglevel(isc_log_t *lctx, unsigned int level) { } unsigned int -isc_log_getdebuglevel(isc_log_t *lctx) { +isc_log_getdebuglevel(isc_log_t *lctx) +{ REQUIRE(VALID_CONTEXT(lctx)); return (lctx->debug_level); } void -isc_log_setduplicateinterval(isc_logconfig_t *lcfg, unsigned int interval) { +isc_log_setduplicateinterval(isc_logconfig_t *lcfg, unsigned int interval) +{ REQUIRE(VALID_CONFIG(lcfg)); lcfg->duplicate_interval = interval; } unsigned int -isc_log_getduplicateinterval(isc_logconfig_t *lcfg) { +isc_log_getduplicateinterval(isc_logconfig_t *lcfg) +{ REQUIRE(VALID_CONTEXT(lcfg)); return (lcfg->duplicate_interval); } isc_result_t -isc_log_settag(isc_logconfig_t *lcfg, const char *tag) { +isc_log_settag(isc_logconfig_t *lcfg, const char *tag) +{ REQUIRE(VALID_CONFIG(lcfg)); if (tag != NULL && *tag != '\0') { @@ -912,7 +899,8 @@ isc_log_settag(isc_logconfig_t *lcfg, const char *tag) { } char * -isc_log_gettag(isc_logconfig_t *lcfg) { +isc_log_gettag(isc_logconfig_t *lcfg) +{ REQUIRE(VALID_CONFIG(lcfg)); return (lcfg->tag); @@ -920,20 +908,21 @@ isc_log_gettag(isc_logconfig_t *lcfg) { /* XXXDCL NT -- This interface will assuredly be changing. */ void -isc_log_opensyslog(const char *tag, int options, int facility) { +isc_log_opensyslog(const char *tag, int options, int facility) +{ (void)openlog(tag, options, facility); } void -isc_log_closefilelogs(isc_log_t *lctx) { +isc_log_closefilelogs(isc_log_t *lctx) +{ isc_logchannel_t *channel; REQUIRE(VALID_CONTEXT(lctx)); LOCK(&lctx->lock); for (channel = ISC_LIST_HEAD(lctx->logconfig->channels); - channel != NULL; - channel = ISC_LIST_NEXT(channel, link)) + channel != NULL; channel = ISC_LIST_NEXT(channel, link)) if (channel->type == ISC_LOG_TOFILE && FILE_STREAM(channel) != NULL) { @@ -952,8 +941,8 @@ assignchannel(isc_logconfig_t *lcfg, unsigned int category_id, const isc_logmodule_t *module, isc_logchannel_t *channel) { isc_logchannellist_t *new_item; - isc_log_t *lctx; - isc_result_t result; + isc_log_t * lctx; + isc_result_t result; REQUIRE(VALID_CONFIG(lcfg)); @@ -974,8 +963,8 @@ assignchannel(isc_logconfig_t *lcfg, unsigned int category_id, new_item->channel = channel; new_item->module = module; - ISC_LIST_INITANDPREPEND(lcfg->channellists[category_id], - new_item, link); + ISC_LIST_INITANDPREPEND(lcfg->channellists[category_id], new_item, + link); /* * Remember the highest logging level set by any channel in the @@ -997,10 +986,11 @@ assignchannel(isc_logconfig_t *lcfg, unsigned int category_id, * that function would have to return isc_result_t instead of void. */ static isc_result_t -sync_channellist(isc_logconfig_t *lcfg) { +sync_channellist(isc_logconfig_t *lcfg) +{ unsigned int bytes; - isc_log_t *lctx; - void *lists; + isc_log_t * lctx; + void * lists; REQUIRE(VALID_CONFIG(lcfg)); @@ -1031,14 +1021,15 @@ sync_channellist(isc_logconfig_t *lcfg) { } static isc_result_t -greatest_version(isc_logfile_t *file, int versions, int *greatestp) { - char *bname, *digit_end; - const char *dirname; - int version, greatest = -1; - size_t bnamelen; - isc_dir_t dir; +greatest_version(isc_logfile_t *file, int versions, int *greatestp) +{ + char * bname, *digit_end; + const char * dirname; + int version, greatest = -1; + size_t bnamelen; + isc_dir_t dir; isc_result_t result; - char sep = '/'; + char sep = '/'; #ifdef _WIN32 char *bname2; #endif @@ -1083,8 +1074,7 @@ greatest_version(isc_logfile_t *file, int versions, int *greatestp) { while (isc_dir_read(&dir) == ISC_R_SUCCESS) { if (dir.entry.length > bnamelen && strncmp(dir.entry.name, bname, bnamelen) == 0 && - dir.entry.name[bnamelen] == '.') - { + dir.entry.name[bnamelen] == '.') { version = strtol(&dir.entry.name[bnamelen + 1], &digit_end, 10); /* @@ -1094,7 +1084,8 @@ greatest_version(isc_logfile_t *file, int versions, int *greatestp) { result = isc_file_remove(dir.entry.name); if (result != ISC_R_SUCCESS && result != ISC_R_FILENOTFOUND) - syslog(LOG_ERR, "unable to remove " + syslog(LOG_ERR, + "unable to remove " "log file '%s': %s", dir.entry.name, isc_result_totext(result)); @@ -1110,15 +1101,16 @@ greatest_version(isc_logfile_t *file, int versions, int *greatestp) { } static isc_result_t -remove_old_tsversions(isc_logfile_t *file, int versions) { +remove_old_tsversions(isc_logfile_t *file, int versions) +{ isc_result_t result; - char *bname, *digit_end; - const char *dirname; - int64_t version, last = INT64_MAX; - int64_t to_keep[ISC_LOG_MAX_VERSIONS]; - size_t bnamelen; - isc_dir_t dir; - char sep = '/'; + char * bname, *digit_end; + const char * dirname; + int64_t version, last = INT64_MAX; + int64_t to_keep[ISC_LOG_MAX_VERSIONS]; + size_t bnamelen; + isc_dir_t dir; + char sep = '/'; #ifdef _WIN32 char *bname2; #endif @@ -1168,22 +1160,21 @@ remove_old_tsversions(isc_logfile_t *file, int versions) { while (isc_dir_read(&dir) == ISC_R_SUCCESS) { if (dir.entry.length > bnamelen && strncmp(dir.entry.name, bname, bnamelen) == 0 && - dir.entry.name[bnamelen] == '.') - { + dir.entry.name[bnamelen] == '.') { char *ename = &dir.entry.name[bnamelen + 1]; version = strtoull(ename, &digit_end, 10); if (*digit_end == '\0') { int i = 0; while (i < versions && - version < to_keep[i]) - { + version < to_keep[i]) { i++; } if (i < versions) { memmove(&to_keep[i + 1], &to_keep[i], sizeof(long long) * - versions - i - 1); + versions - + i - 1); to_keep[i] = version; } } @@ -1203,8 +1194,7 @@ remove_old_tsversions(isc_logfile_t *file, int versions) { while (isc_dir_read(&dir) == ISC_R_SUCCESS) { if (dir.entry.length > bnamelen && strncmp(dir.entry.name, bname, bnamelen) == 0 && - dir.entry.name[bnamelen] == '.') - { + dir.entry.name[bnamelen] == '.') { char *ename = &dir.entry.name[bnamelen + 1]; version = strtoull(ename, &digit_end, 10); /* @@ -1214,7 +1204,8 @@ remove_old_tsversions(isc_logfile_t *file, int versions) { result = isc_file_remove(dir.entry.name); if (result != ISC_R_SUCCESS && result != ISC_R_FILENOTFOUND) - syslog(LOG_ERR, "unable to remove " + syslog(LOG_ERR, + "unable to remove " "log file '%s': %s", dir.entry.name, isc_result_totext(result)); @@ -1228,11 +1219,12 @@ remove_old_tsversions(isc_logfile_t *file, int versions) { } static isc_result_t -roll_increment(isc_logfile_t *file) { - int i, n, greatest; - char current[PATH_MAX + 1]; - char newpath[PATH_MAX + 1]; - const char *path; +roll_increment(isc_logfile_t *file) +{ + int i, n, greatest; + char current[PATH_MAX + 1]; + char newpath[PATH_MAX + 1]; + const char * path; isc_result_t result = ISC_R_SUCCESS; REQUIRE(file != NULL); @@ -1245,11 +1237,10 @@ roll_increment(isc_logfile_t *file) { * Find the first missing entry in the log file sequence. */ for (greatest = 0; greatest < INT_MAX; greatest++) { - n = snprintf(current, sizeof(current), - "%s.%u", path, (unsigned)greatest) ; + n = snprintf(current, sizeof(current), "%s.%u", path, + (unsigned)greatest); if (n >= (int)sizeof(current) || n < 0 || - !isc_file_exists(current)) - { + !isc_file_exists(current)) { break; } } @@ -1279,8 +1270,8 @@ roll_increment(isc_logfile_t *file) { result = ISC_R_NOSPACE; } if (result == ISC_R_SUCCESS) { - n = snprintf(newpath, sizeof(newpath), "%s.%u", - path, (unsigned)i); + n = snprintf(newpath, sizeof(newpath), "%s.%u", path, + (unsigned)i); if (n >= (int)sizeof(newpath) || n < 0) { result = ISC_R_NOSPACE; } @@ -1291,8 +1282,8 @@ roll_increment(isc_logfile_t *file) { if (result != ISC_R_SUCCESS && result != ISC_R_FILENOTFOUND) { syslog(LOG_ERR, "unable to rename log file '%s.%u' to " - "'%s.%u': %s", path, i - 1, path, i, - isc_result_totext(result)); + "'%s.%u': %s", + path, i - 1, path, i, isc_result_totext(result)); } } @@ -1303,8 +1294,7 @@ roll_increment(isc_logfile_t *file) { result = isc_file_rename(path, newpath); } if (result != ISC_R_SUCCESS && result != ISC_R_FILENOTFOUND) { - syslog(LOG_ERR, - "unable to rename log file '%s' to '%s.0': %s", + syslog(LOG_ERR, "unable to rename log file '%s' to '%s.0': %s", path, path, isc_result_totext(result)); } @@ -1312,12 +1302,13 @@ roll_increment(isc_logfile_t *file) { } static isc_result_t -roll_timestamp(isc_logfile_t *file) { - int n; - char newts[PATH_MAX + 1]; - char newpath[PATH_MAX + 1]; - const char *path; - isc_time_t now; +roll_timestamp(isc_logfile_t *file) +{ + int n; + char newts[PATH_MAX + 1]; + char newpath[PATH_MAX + 1]; + const char * path; + isc_time_t now; isc_result_t result = ISC_R_SUCCESS; REQUIRE(file != NULL); @@ -1344,17 +1335,16 @@ roll_timestamp(isc_logfile_t *file) { result = isc_file_rename(path, newpath); } if (result != ISC_R_SUCCESS && result != ISC_R_FILENOTFOUND) { - syslog(LOG_ERR, - "unable to rename log file '%s' to '%s.0': %s", + syslog(LOG_ERR, "unable to rename log file '%s' to '%s.0': %s", path, path, isc_result_totext(result)); } return (ISC_R_SUCCESS); } - isc_result_t -isc_logfile_roll(isc_logfile_t *file) { +isc_logfile_roll(isc_logfile_t *file) +{ isc_result_t result; REQUIRE(file != NULL); @@ -1368,8 +1358,7 @@ isc_logfile_roll(isc_logfile_t *file) { return (ISC_R_SUCCESS); } else if (file->versions == 0) { result = isc_file_remove(file->name); - if (result != ISC_R_SUCCESS && - result != ISC_R_FILENOTFOUND) + if (result != ISC_R_SUCCESS && result != ISC_R_FILENOTFOUND) syslog(LOG_ERR, "unable to remove log file '%s': %s", file->name, isc_result_totext(result)); return (ISC_R_SUCCESS); @@ -1386,12 +1375,13 @@ isc_logfile_roll(isc_logfile_t *file) { } static isc_result_t -isc_log_open(isc_logchannel_t *channel) { - struct stat statbuf; - bool regular_file; - bool roll = false; +isc_log_open(isc_logchannel_t *channel) +{ + struct stat statbuf; + bool regular_file; + bool roll = false; isc_result_t result = ISC_R_SUCCESS; - const char *path; + const char * path; REQUIRE(channel->type == ISC_LOG_TOFILE); REQUIRE(FILE_STREAM(channel) == NULL); @@ -1445,7 +1435,8 @@ isc_log_open(isc_logchannel_t *channel) { } bool ISC_NO_SANITIZE -isc_log_wouldlog(isc_log_t *lctx, int level) { +isc_log_wouldlog(isc_log_t *lctx, int level) +{ /* * Try to avoid locking the mutex for messages which can't * possibly be logged to any channels -- primarily debugging @@ -1475,20 +1466,20 @@ isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category, isc_logmodule_t *module, int level, bool write_once, const char *format, va_list args) { - int syslog_level; - const char *time_string; - char local_time[64]; - char iso8601z_string[64]; - char iso8601l_string[64]; - char level_string[24] = { 0 }; - struct stat statbuf; - bool matched = false; - bool printtime, iso8601, utc, printtag, printcolon; - bool printcategory, printmodule, printlevel, buffered; - isc_logconfig_t *lcfg; - isc_logchannel_t *channel; + int syslog_level; + const char * time_string; + char local_time[64]; + char iso8601z_string[64]; + char iso8601l_string[64]; + char level_string[24] = { 0 }; + struct stat statbuf; + bool matched = false; + bool printtime, iso8601, utc, printtag, printcolon; + bool printcategory, printmodule, printlevel, buffered; + isc_logconfig_t * lcfg; + isc_logchannel_t * channel; isc_logchannellist_t *category_channels; - isc_result_t result; + isc_result_t result; REQUIRE(lctx == NULL || VALID_CONTEXT(lctx)); REQUIRE(category != NULL); @@ -1507,7 +1498,7 @@ isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category, REQUIRE(category->id < lctx->category_count); REQUIRE(module->id < lctx->module_count); - if (! isc_log_wouldlog(lctx, level)) + if (!isc_log_wouldlog(lctx, level)) return; local_time[0] = '\0'; @@ -1534,7 +1525,7 @@ isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category, if (category_channels == NULL && matched) break; - if (category_channels == NULL && ! matched && + if (category_channels == NULL && !matched && category_channels != ISC_LIST_HEAD(lcfg->channellists[0])) /* * No category/module pair was explicitly configured. @@ -1543,7 +1534,7 @@ isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category, category_channels = ISC_LIST_HEAD(lcfg->channellists[0]); - if (category_channels == NULL && ! matched) + if (category_channels == NULL && !matched) /* * No matching module was explicitly configured * for the category named "default". Use the internal @@ -1553,8 +1544,8 @@ isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category, if (category_channels->module != NULL && category_channels->module != module) { - category_channels = ISC_LIST_NEXT(category_channels, - link); + category_channels = + ISC_LIST_NEXT(category_channels, link); continue; } @@ -1574,20 +1565,16 @@ isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category, continue; if ((channel->flags & ISC_LOG_PRINTTIME) != 0 && - local_time[0] == '\0') - { + local_time[0] == '\0') { isc_time_t isctime; TIME_NOW(&isctime); - isc_time_formattimestamp(&isctime, - local_time, + isc_time_formattimestamp(&isctime, local_time, sizeof(local_time)); - isc_time_formatISO8601ms(&isctime, - iso8601z_string, + isc_time_formatISO8601ms(&isctime, iso8601z_string, sizeof(iso8601z_string)); - isc_time_formatISO8601Lms(&isctime, - iso8601l_string, + isc_time_formatISO8601Lms(&isctime, iso8601l_string, sizeof(iso8601l_string)); } @@ -1618,9 +1605,9 @@ isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category, */ if (write_once) { isc_logmessage_t *message, *next; - isc_time_t oldest; - isc_interval_t interval; - size_t size; + isc_time_t oldest; + isc_interval_t interval; + size_t size; isc_interval_set(&interval, lcfg->duplicate_interval, 0); @@ -1632,8 +1619,7 @@ isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category, */ TIME_NOW(&oldest); if (isc_time_subtract(&oldest, &interval, - &oldest) - != ISC_R_SUCCESS) + &oldest) != ISC_R_SUCCESS) /* * Can't effectively do the checking * without having a valid time. @@ -1663,10 +1649,10 @@ isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category, ISC_LIST_UNLINK(lctx->messages, message, link); - isc_mem_put(lctx->mctx, - message, + isc_mem_put( + lctx->mctx, message, sizeof(*message) + 1 + - strlen(message->text)); + strlen(message->text)); message = next; continue; @@ -1676,8 +1662,8 @@ isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category, * This message is in the duplicate * filtering interval ... */ - if (strcmp(lctx->buffer, message->text) - == 0) { + if (strcmp(lctx->buffer, + message->text) == 0) { /* * ... and it is a duplicate. * Unlock the mutex and @@ -1704,24 +1690,24 @@ isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category, size); TIME_NOW(&message->time); ISC_LINK_INIT(message, link); - ISC_LIST_APPEND(lctx->messages, - message, link); + ISC_LIST_APPEND(lctx->messages, message, + link); } } } - utc = ((channel->flags & ISC_LOG_UTC) != 0); - iso8601 = ((channel->flags & ISC_LOG_ISO8601) != 0); - printtime = ((channel->flags & ISC_LOG_PRINTTIME) != 0); - printtag = ((channel->flags & - (ISC_LOG_PRINTTAG|ISC_LOG_PRINTPREFIX)) != 0 && - lcfg->tag != NULL); - printcolon = ((channel->flags & ISC_LOG_PRINTTAG) != 0 && - lcfg->tag != NULL); + utc = ((channel->flags & ISC_LOG_UTC) != 0); + iso8601 = ((channel->flags & ISC_LOG_ISO8601) != 0); + printtime = ((channel->flags & ISC_LOG_PRINTTIME) != 0); + printtag = ((channel->flags & + (ISC_LOG_PRINTTAG | ISC_LOG_PRINTPREFIX)) != 0 && + lcfg->tag != NULL); + printcolon = ((channel->flags & ISC_LOG_PRINTTAG) != 0 && + lcfg->tag != NULL); printcategory = ((channel->flags & ISC_LOG_PRINTCATEGORY) != 0); - printmodule = ((channel->flags & ISC_LOG_PRINTMODULE) != 0); - printlevel = ((channel->flags & ISC_LOG_PRINTLEVEL) != 0); - buffered = ((channel->flags & ISC_LOG_BUFFERED) != 0); + printmodule = ((channel->flags & ISC_LOG_PRINTMODULE) != 0); + printlevel = ((channel->flags & ISC_LOG_PRINTLEVEL) != 0); + buffered = ((channel->flags & ISC_LOG_BUFFERED) != 0); if (printtime) { if (iso8601) { @@ -1749,7 +1735,7 @@ isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category, * ... then close it to trigger reopening. */ if (FILE_VERSIONS(channel) != - ISC_LOG_ROLLNEVER || + ISC_LOG_ROLLNEVER || (stat(FILE_NAME(channel), &statbuf) != 0 && errno == ENOENT) || statbuf.st_size < FILE_MAXSIZE(channel)) { @@ -1781,20 +1767,17 @@ isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category, /* FALLTHROUGH */ case ISC_LOG_TOFILEDESC: - fprintf(FILE_STREAM(channel), - "%s%s%s%s%s%s%s%s%s%s\n", - printtime ? time_string : "", - printtime ? " " : "", - printtag ? lcfg->tag : "", - printcolon ? ": " : "", - printcategory ? category->name : "", - printcategory ? ": " : "", - printmodule ? (module != NULL ? module->name - : "no_module") - : "", - printmodule ? ": " : "", - printlevel ? level_string : "", - lctx->buffer); + fprintf(FILE_STREAM(channel), "%s%s%s%s%s%s%s%s%s%s\n", + printtime ? time_string : "", + printtime ? " " : "", printtag ? lcfg->tag : "", + printcolon ? ": " : "", + printcategory ? category->name : "", + printcategory ? ": " : "", + printmodule ? (module != NULL ? module->name + : "no_module") + : "", + printmodule ? ": " : "", + printlevel ? level_string : "", lctx->buffer); if (!buffered) fflush(FILE_STREAM(channel)); @@ -1825,26 +1808,23 @@ isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category, else syslog_level = syslog_map[-level]; - (void)syslog(FACILITY(channel) | syslog_level, - "%s%s%s%s%s%s%s%s%s%s", - printtime ? time_string : "", - printtime ? " " : "", - printtag ? lcfg->tag : "", - printcolon ? ": " : "", - printcategory ? category->name : "", - printcategory ? ": " : "", - printmodule ? (module != NULL - ? module->name - : "no_module") - : "", - printmodule ? ": " : "", - printlevel ? level_string : "", - lctx->buffer); + (void)syslog( + FACILITY(channel) | syslog_level, + "%s%s%s%s%s%s%s%s%s%s", + printtime ? time_string : "", + printtime ? " " : "", printtag ? lcfg->tag : "", + printcolon ? ": " : "", + printcategory ? category->name : "", + printcategory ? ": " : "", + printmodule ? (module != NULL ? module->name + : "no_module") + : "", + printmodule ? ": " : "", + printlevel ? level_string : "", lctx->buffer); break; case ISC_LOG_TONULL: break; - } } while (1); diff --git a/lib/isc/md.c b/lib/isc/md.c index e8492e108d..6d8990f568 100644 --- a/lib/isc/md.c +++ b/lib/isc/md.c @@ -14,21 +14,23 @@ #include #include -#include -#include -#include - #include "openssl_shim.h" +#include +#include +#include + isc_md_t * -isc_md_new(void) { +isc_md_new(void) +{ isc_md_t *md = EVP_MD_CTX_new(); RUNTIME_CHECK(md != NULL); return (md); } void -isc_md_free(isc_md_t *md) { +isc_md_free(isc_md_t *md) +{ if (ISC_UNLIKELY(md == NULL)) { return; } @@ -37,7 +39,8 @@ isc_md_free(isc_md_t *md) { } isc_result_t -isc_md_init(isc_md_t *md, const isc_md_type_t md_type) { +isc_md_init(isc_md_t *md, const isc_md_type_t md_type) +{ REQUIRE(md != NULL); if (md_type == NULL) { @@ -52,7 +55,8 @@ isc_md_init(isc_md_t *md, const isc_md_type_t md_type) { } isc_result_t -isc_md_reset(isc_md_t *md) { +isc_md_reset(isc_md_t *md) +{ REQUIRE(md != NULL); if (EVP_MD_CTX_reset(md) != 1) { @@ -63,7 +67,8 @@ isc_md_reset(isc_md_t *md) { } isc_result_t -isc_md_update(isc_md_t *md, const unsigned char *buf, const size_t len) { +isc_md_update(isc_md_t *md, const unsigned char *buf, const size_t len) +{ REQUIRE(md != NULL); if (ISC_UNLIKELY(buf == NULL || len == 0)) { @@ -78,7 +83,8 @@ isc_md_update(isc_md_t *md, const unsigned char *buf, const size_t len) { } isc_result_t -isc_md_final(isc_md_t *md, unsigned char *digest, unsigned int *digestlen) { +isc_md_final(isc_md_t *md, unsigned char *digest, unsigned int *digestlen) +{ REQUIRE(md != NULL); REQUIRE(digest != NULL); @@ -90,28 +96,32 @@ isc_md_final(isc_md_t *md, unsigned char *digest, unsigned int *digestlen) { } isc_md_type_t -isc_md_get_md_type(isc_md_t *md) { +isc_md_get_md_type(isc_md_t *md) +{ REQUIRE(md != NULL); return (EVP_MD_CTX_md(md)); } size_t -isc_md_get_size(isc_md_t *md) { +isc_md_get_size(isc_md_t *md) +{ REQUIRE(md != NULL); return (EVP_MD_CTX_size(md)); } size_t -isc_md_get_block_size(isc_md_t *md) { +isc_md_get_block_size(isc_md_t *md) +{ REQUIRE(md != NULL); return (EVP_MD_CTX_block_size(md)); } size_t -isc_md_type_get_size(isc_md_type_t md_type) { +isc_md_type_get_size(isc_md_type_t md_type) +{ if (md_type != NULL) { return ((size_t)EVP_MD_size(md_type)); } @@ -120,7 +130,8 @@ isc_md_type_get_size(isc_md_type_t md_type) { } size_t -isc_md_type_get_block_size(isc_md_type_t md_type) { +isc_md_type_get_block_size(isc_md_type_t md_type) +{ if (md_type != NULL) { return ((size_t)EVP_MD_block_size(md_type)); } @@ -130,9 +141,9 @@ isc_md_type_get_block_size(isc_md_type_t md_type) { isc_result_t isc_md(isc_md_type_t md_type, const unsigned char *buf, const size_t len, - unsigned char *digest, unsigned int *digestlen) + unsigned char *digest, unsigned int *digestlen) { - isc_md_t *md; + isc_md_t * md; isc_result_t res; md = isc_md_new(); @@ -151,7 +162,7 @@ isc_md(isc_md_type_t md_type, const unsigned char *buf, const size_t len, if (res != ISC_R_SUCCESS) { goto end; } - end: +end: isc_md_free(md); return (res); diff --git a/lib/isc/mem.c b/lib/isc/mem.c index 30399bf81f..6939da5699 100644 --- a/lib/isc/mem.c +++ b/lib/isc/mem.c @@ -11,13 +11,13 @@ /*! \file */ -#include #include +#include +#include #include +#include #include #include -#include -#include #include #include @@ -55,33 +55,33 @@ LIBISC_EXTERNAL_DATA unsigned int isc_mem_defaultflags = ISC_MEMFLAG_DEFAULT; * Constants. */ -#define DEF_MAX_SIZE 1100 -#define DEF_MEM_TARGET 4096 -#define ALIGNMENT_SIZE 8U /*%< must be a power of 2 */ -#define NUM_BASIC_BLOCKS 64 /*%< must be > 1 */ -#define TABLE_INCREMENT 1024 -#define DEBUG_TABLE_COUNT 512U +#define DEF_MAX_SIZE 1100 +#define DEF_MEM_TARGET 4096 +#define ALIGNMENT_SIZE 8U /*%< must be a power of 2 */ +#define NUM_BASIC_BLOCKS 64 /*%< must be > 1 */ +#define TABLE_INCREMENT 1024 +#define DEBUG_TABLE_COUNT 512U /* * Types. */ -typedef struct isc__mem isc__mem_t; +typedef struct isc__mem isc__mem_t; typedef struct isc__mempool isc__mempool_t; #if ISC_MEM_TRACKLINES typedef struct debuglink debuglink_t; struct debuglink { - ISC_LINK(debuglink_t) link; - const void *ptr; - size_t size; - const char *file; - unsigned int line; + ISC_LINK(debuglink_t) link; + const void * ptr; + size_t size; + const char * file; + unsigned int line; }; -typedef ISC_LIST(debuglink_t) debuglist_t; +typedef ISC_LIST(debuglink_t) debuglist_t; -#define FLARG_PASS , file, line -#define FLARG , const char *file, unsigned int line +#define FLARG_PASS , file, line +#define FLARG , const char *file, unsigned int line #else #define FLARG_PASS #define FLARG @@ -89,7 +89,7 @@ typedef ISC_LIST(debuglink_t) debuglist_t; typedef struct element element; struct element { - element * next; + element *next; }; typedef struct { @@ -97,110 +97,110 @@ typedef struct { * This structure must be ALIGNMENT_SIZE bytes. */ union { - size_t size; - isc__mem_t *ctx; - char bytes[ALIGNMENT_SIZE]; + size_t size; + isc__mem_t *ctx; + char bytes[ALIGNMENT_SIZE]; } u; } size_info; struct stats { - unsigned long gets; - unsigned long totalgets; - unsigned long blocks; - unsigned long freefrags; + unsigned long gets; + unsigned long totalgets; + unsigned long blocks; + unsigned long freefrags; }; -#define MEM_MAGIC ISC_MAGIC('M', 'e', 'm', 'C') -#define VALID_CONTEXT(c) ISC_MAGIC_VALID(c, MEM_MAGIC) +#define MEM_MAGIC ISC_MAGIC('M', 'e', 'm', 'C') +#define VALID_CONTEXT(c) ISC_MAGIC_VALID(c, MEM_MAGIC) /* List of all active memory contexts. */ -static ISC_LIST(isc__mem_t) contexts; +static ISC_LIST(isc__mem_t) contexts; -static isc_once_t once = ISC_ONCE_INIT; -static isc_mutex_t contextslock; +static isc_once_t once = ISC_ONCE_INIT; +static isc_mutex_t contextslock; /*% * Total size of lost memory due to a bug of external library. * Locked by the global lock. */ -static uint64_t totallost; +static uint64_t totallost; /*% * Memory allocation and free function definitions. * isc__memalloc_t must deal with memory allocation failure * and must never return NULL. */ -typedef void * (*isc__memalloc_t)(size_t); +typedef void *(*isc__memalloc_t)(size_t); typedef void (*isc__memfree_t)(void *); struct isc__mem { - isc_mem_t common; - unsigned int flags; - isc_mutex_t lock; - isc__memalloc_t memalloc; - isc__memfree_t memfree; - size_t max_size; - bool checkfree; - struct stats * stats; - isc_refcount_t references; - char name[16]; - void * tag; - size_t total; - size_t inuse; - size_t maxinuse; - size_t malloced; - size_t maxmalloced; - size_t hi_water; - size_t lo_water; - bool hi_called; - bool is_overmem; - isc_mem_water_t water; - void * water_arg; + isc_mem_t common; + unsigned int flags; + isc_mutex_t lock; + isc__memalloc_t memalloc; + isc__memfree_t memfree; + size_t max_size; + bool checkfree; + struct stats * stats; + isc_refcount_t references; + char name[16]; + void * tag; + size_t total; + size_t inuse; + size_t maxinuse; + size_t malloced; + size_t maxmalloced; + size_t hi_water; + size_t lo_water; + bool hi_called; + bool is_overmem; + isc_mem_water_t water; + void * water_arg; ISC_LIST(isc__mempool_t) pools; - unsigned int poolcnt; + unsigned int poolcnt; /* ISC_MEMFLAG_INTERNAL */ - size_t mem_target; - element ** freelists; - element * basic_blocks; - unsigned char ** basic_table; - unsigned int basic_table_count; - unsigned int basic_table_size; - unsigned char * lowest; - unsigned char * highest; + size_t mem_target; + element ** freelists; + element * basic_blocks; + unsigned char **basic_table; + unsigned int basic_table_count; + unsigned int basic_table_size; + unsigned char * lowest; + unsigned char * highest; #if ISC_MEM_TRACKLINES - debuglist_t * debuglist; - size_t debuglistcnt; + debuglist_t *debuglist; + size_t debuglistcnt; #endif - ISC_LINK(isc__mem_t) link; + ISC_LINK(isc__mem_t) link; }; -#define MEMPOOL_MAGIC ISC_MAGIC('M', 'E', 'M', 'p') -#define VALID_MEMPOOL(c) ISC_MAGIC_VALID(c, MEMPOOL_MAGIC) +#define MEMPOOL_MAGIC ISC_MAGIC('M', 'E', 'M', 'p') +#define VALID_MEMPOOL(c) ISC_MAGIC_VALID(c, MEMPOOL_MAGIC) struct isc__mempool { /* always unlocked */ - isc_mempool_t common; /*%< common header of mempool's */ - isc_mutex_t *lock; /*%< optional lock */ - isc__mem_t *mctx; /*%< our memory context */ + isc_mempool_t common; /*%< common header of mempool's */ + isc_mutex_t * lock; /*%< optional lock */ + isc__mem_t * mctx; /*%< our memory context */ /*%< locked via the memory context's lock */ - ISC_LINK(isc__mempool_t) link; /*%< next pool in this mem context */ + ISC_LINK(isc__mempool_t) link; /*%< next pool in this mem context */ /*%< optionally locked from here down */ - element *items; /*%< low water item list */ - size_t size; /*%< size of each item on this pool */ - unsigned int maxalloc; /*%< max number of items allowed */ - unsigned int allocated; /*%< # of items currently given out */ - unsigned int freecount; /*%< # of items on reserved list */ - unsigned int freemax; /*%< # of items allowed on free list */ - unsigned int fillcount; /*%< # of items to fetch on each fill */ + element * items; /*%< low water item list */ + size_t size; /*%< size of each item on this pool */ + unsigned int maxalloc; /*%< max number of items allowed */ + unsigned int allocated; /*%< # of items currently given out */ + unsigned int freecount; /*%< # of items on reserved list */ + unsigned int freemax; /*%< # of items allowed on free list */ + unsigned int fillcount; /*%< # of items to fetch on each fill */ /*%< Stats only. */ - unsigned int gets; /*%< # of requests to this pool */ - /*%< Debugging only. */ + unsigned int gets; /*%< # of requests to this pool */ + /*%< Debugging only. */ #if ISC_MEMPOOL_NAMES - char name[16]; /*%< printed name in stats reports */ + char name[16]; /*%< printed name in stats reports */ #endif }; @@ -208,24 +208,24 @@ struct isc__mempool { * Private Inline-able. */ -#if ! ISC_MEM_TRACKLINES +#if !ISC_MEM_TRACKLINES #define ADD_TRACE(a, b, c, d, e) #define DELETE_TRACE(a, b, c, d, e) #define ISC_MEMFUNC_SCOPE #else -#define TRACE_OR_RECORD (ISC_MEM_DEBUGTRACE|ISC_MEM_DEBUGRECORD) -#define ADD_TRACE(a, b, c, d, e) \ - do { \ +#define TRACE_OR_RECORD (ISC_MEM_DEBUGTRACE | ISC_MEM_DEBUGRECORD) +#define ADD_TRACE(a, b, c, d, e) \ + do { \ if (ISC_UNLIKELY((isc_mem_debugging & TRACE_OR_RECORD) != 0 && \ - b != NULL)) \ - add_trace_entry(a, b, c, d, e); \ + b != NULL)) \ + add_trace_entry(a, b, c, d, e); \ } while (0) -#define DELETE_TRACE(a, b, c, d, e) \ - do { \ +#define DELETE_TRACE(a, b, c, d, e) \ + do { \ if (ISC_UNLIKELY((isc_mem_debugging & TRACE_OR_RECORD) != 0 && \ - b != NULL)) \ - delete_trace_entry(a, b, c, d, e); \ - } while(0) + b != NULL)) \ + delete_trace_entry(a, b, c, d, e); \ + } while (0) static void print_active(isc__mem_t *ctx, FILE *out); @@ -248,12 +248,8 @@ static void isc___mem_free(isc_mem_t *ctx, void *ptr FLARG); static isc_memmethods_t memmethods = { - isc___mem_get, - isc___mem_put, - isc___mem_putanddetach, - isc___mem_allocate, - isc___mem_reallocate, - isc___mem_strdup, + isc___mem_get, isc___mem_put, isc___mem_putanddetach, + isc___mem_allocate, isc___mem_reallocate, isc___mem_strdup, isc___mem_free, }; @@ -262,10 +258,11 @@ static isc_memmethods_t memmethods = { * mctx must be locked. */ static void -add_trace_entry(isc__mem_t *mctx, const void *ptr, size_t size FLARG) { +add_trace_entry(isc__mem_t *mctx, const void *ptr, size_t size FLARG) +{ debuglink_t *dl; - uint32_t hash; - uint32_t idx; + uint32_t hash; + uint32_t idx; if ((isc_mem_debugging & ISC_MEM_DEBUGTRACE) != 0) { fprintf(stderr, "add %p size %zu file %s line %u mctx %p\n", @@ -299,8 +296,8 @@ delete_trace_entry(isc__mem_t *mctx, const void *ptr, size_t size, const char *file, unsigned int line) { debuglink_t *dl; - uint32_t hash; - uint32_t idx; + uint32_t hash; + uint32_t idx; if ((isc_mem_debugging & ISC_MEM_DEBUGTRACE) != 0) { fprintf(stderr, "del %p size %zu file %s line %u mctx %p\n", @@ -334,7 +331,8 @@ delete_trace_entry(isc__mem_t *mctx, const void *ptr, size_t size, #endif /* ISC_MEM_TRACKLINES */ static inline size_t -rmsize(size_t size) { +rmsize(size_t size) +{ /* * round down to ALIGNMENT_SIZE */ @@ -342,7 +340,8 @@ rmsize(size_t size) { } static inline size_t -quantize(size_t size) { +quantize(size_t size) +{ /*! * Round up the result in order to get a size big * enough to satisfy the request and be aligned on ALIGNMENT_SIZE @@ -355,12 +354,13 @@ quantize(size_t size) { } static inline void -more_basic_blocks(isc__mem_t *ctx) { - void *tmp; - unsigned char *curr, *next; - unsigned char *first, *last; +more_basic_blocks(isc__mem_t *ctx) +{ + void * tmp; + unsigned char * curr, *next; + unsigned char * first, *last; unsigned char **table; - unsigned int table_size; + unsigned int table_size; /* Require: we hold the context lock. */ @@ -374,17 +374,18 @@ more_basic_blocks(isc__mem_t *ctx) { if (ctx->basic_table_size != 0) { memmove(table, ctx->basic_table, ctx->basic_table_size * - sizeof(unsigned char *)); + sizeof(unsigned char *)); (ctx->memfree)(ctx->basic_table); - ctx->malloced -= ctx->basic_table_size * - sizeof(unsigned char *); + ctx->malloced -= + ctx->basic_table_size * sizeof(unsigned char *); } ctx->basic_table = table; ctx->basic_table_size = table_size; } tmp = (ctx->memalloc)(NUM_BASIC_BLOCKS * ctx->mem_target); - ctx->total += NUM_BASIC_BLOCKS * ctx->mem_target;; + ctx->total += NUM_BASIC_BLOCKS * ctx->mem_target; + ; ctx->basic_table[ctx->basic_table_count] = tmp; ctx->basic_table_count++; ctx->malloced += NUM_BASIC_BLOCKS * ctx->mem_target; @@ -416,10 +417,11 @@ more_basic_blocks(isc__mem_t *ctx) { } static inline void -more_frags(isc__mem_t *ctx, size_t new_size) { - int frags; - size_t total_size; - void *tmp; +more_frags(isc__mem_t *ctx, size_t new_size) +{ + int frags; + size_t total_size; + void * tmp; unsigned char *curr, *next; /*! @@ -467,9 +469,10 @@ more_frags(isc__mem_t *ctx, size_t new_size) { } static inline void * -mem_getunlocked(isc__mem_t *ctx, size_t size) { +mem_getunlocked(isc__mem_t *ctx, size_t size) +{ size_t new_size = quantize(size); - void *ret; + void * ret; if (new_size >= ctx->max_size) { /* @@ -518,7 +521,7 @@ mem_getunlocked(isc__mem_t *ctx, size_t size) { ctx->stats[new_size].freefrags--; ctx->inuse += new_size; - done: +done: if (ISC_UNLIKELY((ctx->flags & ISC_MEMFLAG_FILL) != 0) && ISC_LIKELY(ret != NULL)) memset(ret, 0xbe, new_size); /* Mnemonic for "beef". */ @@ -528,7 +531,8 @@ mem_getunlocked(isc__mem_t *ctx, size_t size) { #if ISC_MEM_CHECKOVERRUN static inline void -check_overrun(void *mem, size_t size, size_t new_size) { +check_overrun(void *mem, size_t size, size_t new_size) +{ unsigned char *cp; cp = (unsigned char *)mem; @@ -543,7 +547,8 @@ check_overrun(void *mem, size_t size, size_t new_size) { /* coverity[+free : arg-1] */ static inline void -mem_putunlocked(isc__mem_t *ctx, void *mem, size_t size) { +mem_putunlocked(isc__mem_t *ctx, void *mem, size_t size) +{ size_t new_size = quantize(size); if (new_size >= ctx->max_size) { @@ -591,7 +596,8 @@ mem_putunlocked(isc__mem_t *ctx, void *mem, size_t size) { * Perform a malloc, doing memory filling and overrun detection as necessary. */ static inline void * -mem_get(isc__mem_t *ctx, size_t size) { +mem_get(isc__mem_t *ctx, size_t size) +{ char *ret; #if ISC_MEM_CHECKOVERRUN @@ -606,7 +612,7 @@ mem_get(isc__mem_t *ctx, size_t size) { #if ISC_MEM_CHECKOVERRUN else { if (ISC_LIKELY(ret != NULL)) - ret[size-1] = 0xbe; + ret[size - 1] = 0xbe; } #endif @@ -618,7 +624,8 @@ mem_get(isc__mem_t *ctx, size_t size) { */ /* coverity[+free : arg-1] */ static inline void -mem_put(isc__mem_t *ctx, void *mem, size_t size) { +mem_put(isc__mem_t *ctx, void *mem, size_t size) +{ #if ISC_MEM_CHECKOVERRUN INSIST(((unsigned char *)mem)[size] == 0xbe); size += 1; @@ -632,7 +639,8 @@ mem_put(isc__mem_t *ctx, void *mem, size_t size) { * Update internal counters after a memory get. */ static inline void -mem_getstats(isc__mem_t *ctx, size_t size) { +mem_getstats(isc__mem_t *ctx, size_t size) +{ ctx->total += size; ctx->inuse += size; @@ -656,7 +664,8 @@ mem_getstats(isc__mem_t *ctx, size_t size) { * Update internal counters after a memory put. */ static inline void -mem_putstats(isc__mem_t *ctx, void *ptr, size_t size) { +mem_putstats(isc__mem_t *ctx, void *ptr, size_t size) +{ UNUSED(ptr); INSIST(ctx->inuse >= size); @@ -680,7 +689,8 @@ mem_putstats(isc__mem_t *ctx, void *ptr, size_t size) { */ static void * -default_memalloc(size_t size) { +default_memalloc(size_t size) +{ void *ptr; ptr = malloc(size); @@ -695,7 +705,8 @@ default_memalloc(size_t size) { * * [ISO9899] * ISO/IEC WG 9899:2011: Programming languages - C. - * International Organization for Standardization, Geneva, Switzerland. + * International Organization for Standardization, Geneva, + * Switzerland. * http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1570.pdf */ @@ -710,12 +721,14 @@ default_memalloc(size_t size) { } static void -default_memfree(void *ptr) { +default_memfree(void *ptr) +{ free(ptr); } static void -initialize_action(void) { +initialize_action(void) +{ isc_mutex_init(&contextslock); ISC_LIST_INIT(contexts); totallost = 0; @@ -728,8 +741,9 @@ mem_create(isc_mem_t **ctxp, unsigned int flags) isc__mem_t *ctx; - STATIC_ASSERT((ALIGNMENT_SIZE & (ALIGNMENT_SIZE - 1)) == 0, - "wrong alignment size"); + STATIC_ASSERT((ALIGNMENT_SIZE & (ALIGNMENT_SIZE - 1)) == 0, "wrong " + "alignment " + "size"); RUNTIME_CHECK(isc_once_do(&once, initialize_action) == ISC_R_SUCCESS); @@ -774,18 +788,18 @@ mem_create(isc_mem_t **ctxp, unsigned int flags) ctx->lowest = NULL; ctx->highest = NULL; - ctx->stats = (ctx->memalloc)((ctx->max_size+1) * sizeof(struct stats)); + ctx->stats = + (ctx->memalloc)((ctx->max_size + 1) * sizeof(struct stats)); memset(ctx->stats, 0, (ctx->max_size + 1) * sizeof(struct stats)); - ctx->malloced += (ctx->max_size+1) * sizeof(struct stats); - ctx->maxmalloced += (ctx->max_size+1) * sizeof(struct stats); + ctx->malloced += (ctx->max_size + 1) * sizeof(struct stats); + ctx->maxmalloced += (ctx->max_size + 1) * sizeof(struct stats); if ((flags & ISC_MEMFLAG_INTERNAL) != 0) { ctx->mem_target = DEF_MEM_TARGET; - ctx->freelists = (ctx->memalloc)(ctx->max_size * - sizeof(element *)); - memset(ctx->freelists, 0, - ctx->max_size * sizeof(element *)); + ctx->freelists = + (ctx->memalloc)(ctx->max_size * sizeof(element *)); + memset(ctx->freelists, 0, ctx->max_size * sizeof(element *)); ctx->malloced += ctx->max_size * sizeof(element *); ctx->maxmalloced += ctx->max_size * sizeof(element *); } @@ -794,8 +808,8 @@ mem_create(isc_mem_t **ctxp, unsigned int flags) if (ISC_UNLIKELY((isc_mem_debugging & ISC_MEM_DEBUGRECORD) != 0)) { unsigned int i; - ctx->debuglist = (ctx->memalloc)((DEBUG_TABLE_COUNT * - sizeof(debuglist_t))); + ctx->debuglist = (ctx->memalloc)( + (DEBUG_TABLE_COUNT * sizeof(debuglist_t))); for (i = 0; i < DEBUG_TABLE_COUNT; i++) ISC_LIST_INIT(ctx->debuglist[i]); ctx->malloced += DEBUG_TABLE_COUNT * sizeof(debuglist_t); @@ -815,7 +829,8 @@ mem_create(isc_mem_t **ctxp, unsigned int flags) */ static void -destroy(isc__mem_t *ctx) { +destroy(isc__mem_t *ctx) +{ unsigned int i; LOCK(&contextslock); @@ -832,15 +847,13 @@ destroy(isc__mem_t *ctx) { if (ISC_UNLIKELY(ctx->debuglist != NULL)) { debuglink_t *dl; for (i = 0; i < DEBUG_TABLE_COUNT; i++) - for (dl = ISC_LIST_HEAD(ctx->debuglist[i]); - dl != NULL; + for (dl = ISC_LIST_HEAD(ctx->debuglist[i]); dl != NULL; dl = ISC_LIST_HEAD(ctx->debuglist[i])) { if (ctx->checkfree && dl->ptr != NULL) print_active(ctx, stderr); - INSIST (!ctx->checkfree || dl->ptr == NULL); + INSIST(!ctx->checkfree || dl->ptr == NULL); - ISC_LIST_UNLINK(ctx->debuglist[i], - dl, link); + ISC_LIST_UNLINK(ctx->debuglist[i], dl, link); free(dl); ctx->malloced -= sizeof(*dl); } @@ -867,7 +880,7 @@ destroy(isc__mem_t *ctx) { } (ctx->memfree)(ctx->stats); - ctx->malloced -= (ctx->max_size+1) * sizeof(struct stats); + ctx->malloced -= (ctx->max_size + 1) * sizeof(struct stats); if ((ctx->flags & ISC_MEMFLAG_INTERNAL) != 0) { for (i = 0; i < ctx->basic_table_count; i++) { @@ -878,8 +891,8 @@ destroy(isc__mem_t *ctx) { ctx->malloced -= ctx->max_size * sizeof(element *); if (ctx->basic_table != NULL) { (ctx->memfree)(ctx->basic_table); - ctx->malloced -= ctx->basic_table_size * - sizeof(unsigned char *); + ctx->malloced -= + ctx->basic_table_size * sizeof(unsigned char *); } } @@ -892,7 +905,8 @@ destroy(isc__mem_t *ctx) { } void -isc_mem_attach(isc_mem_t *source0, isc_mem_t **targetp) { +isc_mem_attach(isc_mem_t *source0, isc_mem_t **targetp) +{ REQUIRE(VALID_CONTEXT(source0)); REQUIRE(targetp != NULL && *targetp == NULL); @@ -904,7 +918,8 @@ isc_mem_attach(isc_mem_t *source0, isc_mem_t **targetp) { } void -isc_mem_detach(isc_mem_t **ctxp) { +isc_mem_detach(isc_mem_t **ctxp) +{ REQUIRE(ctxp != NULL && VALID_CONTEXT(*ctxp)); isc__mem_t *ctx = (isc__mem_t *)*ctxp; @@ -927,7 +942,8 @@ isc_mem_detach(isc_mem_t **ctxp) { */ void -isc___mem_putanddetach(isc_mem_t **ctxp, void *ptr, size_t size FLARG) { +isc___mem_putanddetach(isc_mem_t **ctxp, void *ptr, size_t size FLARG) +{ REQUIRE(ctxp != NULL && VALID_CONTEXT(*ctxp)); REQUIRE(ptr != NULL); @@ -935,11 +951,10 @@ isc___mem_putanddetach(isc_mem_t **ctxp, void *ptr, size_t size FLARG) { *ctxp = NULL; if (ISC_UNLIKELY((isc_mem_debugging & - (ISC_MEM_DEBUGSIZE|ISC_MEM_DEBUGCTX)) != 0)) - { + (ISC_MEM_DEBUGSIZE | ISC_MEM_DEBUGCTX)) != 0)) { if ((isc_mem_debugging & ISC_MEM_DEBUGSIZE) != 0) { size_info *si = &(((size_info *)ptr)[-1]); - size_t oldsize = si->u.size - ALIGNMENT_SIZE; + size_t oldsize = si->u.size - ALIGNMENT_SIZE; if ((isc_mem_debugging & ISC_MEM_DEBUGCTX) != 0) oldsize -= ALIGNMENT_SIZE; INSIST(oldsize == size); @@ -969,7 +984,8 @@ destroy: } void -isc_mem_destroy(isc_mem_t **ctxp) { +isc_mem_destroy(isc_mem_t **ctxp) +{ /* * This routine provides legacy support for callers who use mctxs * without attaching/detaching. @@ -993,15 +1009,16 @@ isc_mem_destroy(isc_mem_t **ctxp) { } void * -isc___mem_get(isc_mem_t *ctx0, size_t size FLARG) { +isc___mem_get(isc_mem_t *ctx0, size_t size FLARG) +{ REQUIRE(VALID_CONTEXT(ctx0)); isc__mem_t *ctx = (isc__mem_t *)ctx0; - void *ptr; - bool call_water = false; + void * ptr; + bool call_water = false; if (ISC_UNLIKELY((isc_mem_debugging & - (ISC_MEM_DEBUGSIZE|ISC_MEM_DEBUGCTX)) != 0)) + (ISC_MEM_DEBUGSIZE | ISC_MEM_DEBUGCTX)) != 0)) return (isc__mem_allocate(ctx0, size FLARG_PASS)); if ((ctx->flags & ISC_MEMFLAG_INTERNAL) != 0) { @@ -1037,18 +1054,18 @@ isc___mem_get(isc_mem_t *ctx0, size_t size FLARG) { } void -isc___mem_put(isc_mem_t *ctx0, void *ptr, size_t size FLARG) { +isc___mem_put(isc_mem_t *ctx0, void *ptr, size_t size FLARG) +{ REQUIRE(VALID_CONTEXT(ctx0)); REQUIRE(ptr != NULL); isc__mem_t *ctx = (isc__mem_t *)ctx0; - bool call_water = false; - size_info *si; - size_t oldsize; + bool call_water = false; + size_info * si; + size_t oldsize; if (ISC_UNLIKELY((isc_mem_debugging & - (ISC_MEM_DEBUGSIZE|ISC_MEM_DEBUGCTX)) != 0)) - { + (ISC_MEM_DEBUGSIZE | ISC_MEM_DEBUGCTX)) != 0)) { if ((isc_mem_debugging & ISC_MEM_DEBUGSIZE) != 0) { si = &(((size_info *)ptr)[-1]); oldsize = si->u.size - ALIGNMENT_SIZE; @@ -1089,7 +1106,8 @@ isc___mem_put(isc_mem_t *ctx0, void *ptr, size_t size FLARG) { } void -isc_mem_waterack(isc_mem_t *ctx0, int flag) { +isc_mem_waterack(isc_mem_t *ctx0, int flag) +{ REQUIRE(VALID_CONTEXT(ctx0)); isc__mem_t *ctx = (isc__mem_t *)ctx0; @@ -1104,11 +1122,12 @@ isc_mem_waterack(isc_mem_t *ctx0, int flag) { #if ISC_MEM_TRACKLINES static void -print_active(isc__mem_t *mctx, FILE *out) { +print_active(isc__mem_t *mctx, FILE *out) +{ if (mctx->debuglist != NULL) { debuglink_t *dl; unsigned int i; - bool found; + bool found; fputs("Dump of all outstanding memory allocations:\n", out); found = false; @@ -1122,9 +1141,10 @@ print_active(isc__mem_t *mctx, FILE *out) { while (dl != NULL) { if (dl->ptr != NULL) { fprintf(out, - "\tptr %p size %zu file %s line %u\n", - dl->ptr, dl->size, - dl->file, dl->line); + "\tptr %p size %zu file %s " + "line %u\n", + dl->ptr, dl->size, dl->file, + dl->line); } dl = ISC_LIST_NEXT(dl, link); } @@ -1141,12 +1161,13 @@ print_active(isc__mem_t *mctx, FILE *out) { * Print the stats[] on the stream "out" with suitable formatting. */ void -isc_mem_stats(isc_mem_t *ctx0, FILE *out) { +isc_mem_stats(isc_mem_t *ctx0, FILE *out) +{ REQUIRE(VALID_CONTEXT(ctx0)); - isc__mem_t *ctx = (isc__mem_t *)ctx0; - size_t i; - const struct stats *s; + isc__mem_t * ctx = (isc__mem_t *)ctx0; + size_t i; + const struct stats * s; const isc__mempool_t *pool; MCTXLOCK(ctx); @@ -1157,12 +1178,12 @@ isc_mem_stats(isc_mem_t *ctx0, FILE *out) { if (s->totalgets == 0U && s->gets == 0U) continue; fprintf(out, "%s%5lu: %11lu gets, %11lu rem", - (i == ctx->max_size) ? ">=" : " ", - (unsigned long) i, s->totalgets, s->gets); + (i == ctx->max_size) ? ">=" : " ", (unsigned long)i, + s->totalgets, s->gets); if ((ctx->flags & ISC_MEMFLAG_INTERNAL) != 0 && (s->blocks != 0U || s->freefrags != 0U)) - fprintf(out, " (%lu bl, %lu ff)", - s->blocks, s->freefrags); + fprintf(out, " (%lu bl, %lu ff)", s->blocks, + s->freefrags); fputc('\n', out); } @@ -1187,7 +1208,7 @@ isc_mem_stats(isc_mem_t *ctx0, FILE *out) { #else "(not tracked)", #endif - (unsigned long) pool->size, pool->maxalloc, + (unsigned long)pool->size, pool->maxalloc, pool->allocated, pool->freecount, pool->freemax, pool->fillcount, pool->gets, (pool->lock == NULL ? "N" : "Y")); @@ -1207,9 +1228,10 @@ isc_mem_stats(isc_mem_t *ctx0, FILE *out) { */ static void * -mem_allocateunlocked(isc_mem_t *ctx0, size_t size) { +mem_allocateunlocked(isc_mem_t *ctx0, size_t size) +{ isc__mem_t *ctx = (isc__mem_t *)ctx0; - size_info *si; + size_info * si; size += ALIGNMENT_SIZE; if (ISC_UNLIKELY((isc_mem_debugging & ISC_MEM_DEBUGCTX) != 0)) @@ -1230,12 +1252,13 @@ mem_allocateunlocked(isc_mem_t *ctx0, size_t size) { } void * -isc___mem_allocate(isc_mem_t *ctx0, size_t size FLARG) { +isc___mem_allocate(isc_mem_t *ctx0, size_t size FLARG) +{ REQUIRE(VALID_CONTEXT(ctx0)); isc__mem_t *ctx = (isc__mem_t *)ctx0; - size_info *si; - bool call_water = false; + size_info * si; + bool call_water = false; MCTXLOCK(ctx); si = mem_allocateunlocked((isc_mem_t *)ctx, size); @@ -1272,10 +1295,11 @@ isc___mem_allocate(isc_mem_t *ctx0, size_t size FLARG) { } void * -isc___mem_reallocate(isc_mem_t *ctx0, void *ptr, size_t size FLARG) { +isc___mem_reallocate(isc_mem_t *ctx0, void *ptr, size_t size FLARG) +{ REQUIRE(VALID_CONTEXT(ctx0)); - void *new_ptr = NULL; + void * new_ptr = NULL; size_t oldsize, copysize; /* @@ -1296,8 +1320,7 @@ isc___mem_reallocate(isc_mem_t *ctx0, void *ptr, size_t size FLARG) { INSIST(oldsize >= ALIGNMENT_SIZE); oldsize -= ALIGNMENT_SIZE; if (ISC_UNLIKELY((isc_mem_debugging & - ISC_MEM_DEBUGCTX) != 0)) - { + ISC_MEM_DEBUGCTX) != 0)) { INSIST(oldsize >= ALIGNMENT_SIZE); oldsize -= ALIGNMENT_SIZE; } @@ -1312,14 +1335,15 @@ isc___mem_reallocate(isc_mem_t *ctx0, void *ptr, size_t size FLARG) { } void -isc___mem_free(isc_mem_t *ctx0, void *ptr FLARG) { +isc___mem_free(isc_mem_t *ctx0, void *ptr FLARG) +{ REQUIRE(VALID_CONTEXT(ctx0)); REQUIRE(ptr != NULL); isc__mem_t *ctx = (isc__mem_t *)ctx0; - size_info *si; - size_t size; - bool call_water= false; + size_info * si; + size_t size; + bool call_water = false; if (ISC_UNLIKELY((isc_mem_debugging & ISC_MEM_DEBUGCTX) != 0)) { si = &(((size_info *)ptr)[-2]); @@ -1364,19 +1388,19 @@ isc___mem_free(isc_mem_t *ctx0, void *ptr FLARG) { (ctx->water)(ctx->water_arg, ISC_MEM_LOWATER); } - /* * Other useful things. */ char * -isc___mem_strdup(isc_mem_t *mctx0, const char *s FLARG) { +isc___mem_strdup(isc_mem_t *mctx0, const char *s FLARG) +{ REQUIRE(VALID_CONTEXT(mctx0)); REQUIRE(s != NULL); isc__mem_t *mctx = (isc__mem_t *)mctx0; - size_t len; - char *ns; + size_t len; + char * ns; len = strlen(s) + 1; @@ -1389,7 +1413,8 @@ isc___mem_strdup(isc_mem_t *mctx0, const char *s FLARG) { } void -isc_mem_setdestroycheck(isc_mem_t *ctx0, bool flag) { +isc_mem_setdestroycheck(isc_mem_t *ctx0, bool flag) +{ REQUIRE(VALID_CONTEXT(ctx0)); isc__mem_t *ctx = (isc__mem_t *)ctx0; @@ -1402,11 +1427,12 @@ isc_mem_setdestroycheck(isc_mem_t *ctx0, bool flag) { } size_t -isc_mem_inuse(isc_mem_t *ctx0) { +isc_mem_inuse(isc_mem_t *ctx0) +{ REQUIRE(VALID_CONTEXT(ctx0)); isc__mem_t *ctx = (isc__mem_t *)ctx0; - size_t inuse; + size_t inuse; MCTXLOCK(ctx); @@ -1418,11 +1444,12 @@ isc_mem_inuse(isc_mem_t *ctx0) { } size_t -isc_mem_maxinuse(isc_mem_t *ctx0) { +isc_mem_maxinuse(isc_mem_t *ctx0) +{ REQUIRE(VALID_CONTEXT(ctx0)); isc__mem_t *ctx = (isc__mem_t *)ctx0; - size_t maxinuse; + size_t maxinuse; MCTXLOCK(ctx); @@ -1434,11 +1461,12 @@ isc_mem_maxinuse(isc_mem_t *ctx0) { } size_t -isc_mem_total(isc_mem_t *ctx0) { +isc_mem_total(isc_mem_t *ctx0) +{ REQUIRE(VALID_CONTEXT(ctx0)); isc__mem_t *ctx = (isc__mem_t *)ctx0; - size_t total; + size_t total; MCTXLOCK(ctx); @@ -1456,10 +1484,10 @@ isc_mem_setwater(isc_mem_t *ctx0, isc_mem_water_t water, void *water_arg, REQUIRE(VALID_CONTEXT(ctx0)); REQUIRE(hiwater >= lowater); - isc__mem_t *ctx = (isc__mem_t *)ctx0; - bool callwater = false; + isc__mem_t * ctx = (isc__mem_t *)ctx0; + bool callwater = false; isc_mem_water_t oldwater; - void *oldwater_arg; + void * oldwater_arg; MCTXLOCK(ctx); oldwater = ctx->water; @@ -1487,7 +1515,8 @@ isc_mem_setwater(isc_mem_t *ctx0, isc_mem_water_t water, void *water_arg, } bool -isc_mem_isovermem(isc_mem_t *ctx0) { +isc_mem_isovermem(isc_mem_t *ctx0) +{ REQUIRE(VALID_CONTEXT(ctx0)); isc__mem_t *ctx = (isc__mem_t *)ctx0; @@ -1501,7 +1530,8 @@ isc_mem_isovermem(isc_mem_t *ctx0) { } void -isc_mem_setname(isc_mem_t *ctx0, const char *name, void *tag) { +isc_mem_setname(isc_mem_t *ctx0, const char *name, void *tag) +{ REQUIRE(VALID_CONTEXT(ctx0)); isc__mem_t *ctx = (isc__mem_t *)ctx0; @@ -1513,7 +1543,8 @@ isc_mem_setname(isc_mem_t *ctx0, const char *name, void *tag) { } const char * -isc_mem_getname(isc_mem_t *ctx0) { +isc_mem_getname(isc_mem_t *ctx0) +{ REQUIRE(VALID_CONTEXT(ctx0)); isc__mem_t *ctx = (isc__mem_t *)ctx0; @@ -1525,7 +1556,8 @@ isc_mem_getname(isc_mem_t *ctx0) { } void * -isc_mem_gettag(isc_mem_t *ctx0) { +isc_mem_gettag(isc_mem_t *ctx0) +{ REQUIRE(VALID_CONTEXT(ctx0)); isc__mem_t *ctx = (isc__mem_t *)ctx0; @@ -1538,12 +1570,13 @@ isc_mem_gettag(isc_mem_t *ctx0) { */ void -isc_mempool_create(isc_mem_t *mctx0, size_t size, isc_mempool_t **mpctxp) { +isc_mempool_create(isc_mem_t *mctx0, size_t size, isc_mempool_t **mpctxp) +{ REQUIRE(VALID_CONTEXT(mctx0)); REQUIRE(size > 0U); REQUIRE(mpctxp != NULL && *mpctxp == NULL); - isc__mem_t *mctx = (isc__mem_t *)mctx0; + isc__mem_t * mctx = (isc__mem_t *)mctx0; isc__mempool_t *mpctx; /* @@ -1583,7 +1616,8 @@ isc_mempool_create(isc_mem_t *mctx0, size_t size, isc_mempool_t **mpctxp) { } void -isc_mempool_setname(isc_mempool_t *mpctx0, const char *name) { +isc_mempool_setname(isc_mempool_t *mpctx0, const char *name) +{ REQUIRE(VALID_MEMPOOL(mpctx0)); REQUIRE(name != NULL); @@ -1604,14 +1638,15 @@ isc_mempool_setname(isc_mempool_t *mpctx0, const char *name) { } void -isc_mempool_destroy(isc_mempool_t **mpctxp) { +isc_mempool_destroy(isc_mempool_t **mpctxp) +{ REQUIRE(mpctxp != NULL); REQUIRE(VALID_MEMPOOL(*mpctxp)); isc__mempool_t *mpctx; - isc__mem_t *mctx; - isc_mutex_t *lock; - element *item; + isc__mem_t * mctx; + isc_mutex_t * lock; + element * item; mpctx = (isc__mempool_t *)*mpctxp; #if ISC_MEMPOOL_NAMES @@ -1669,7 +1704,8 @@ isc_mempool_destroy(isc_mempool_t **mpctxp) { } void -isc_mempool_associatelock(isc_mempool_t *mpctx0, isc_mutex_t *lock) { +isc_mempool_associatelock(isc_mempool_t *mpctx0, isc_mutex_t *lock) +{ REQUIRE(VALID_MEMPOOL(mpctx0)); REQUIRE(lock != NULL); @@ -1681,13 +1717,14 @@ isc_mempool_associatelock(isc_mempool_t *mpctx0, isc_mutex_t *lock) { } void * -isc__mempool_get(isc_mempool_t *mpctx0 FLARG) { +isc__mempool_get(isc_mempool_t *mpctx0 FLARG) +{ REQUIRE(VALID_MEMPOOL(mpctx0)); isc__mempool_t *mpctx = (isc__mempool_t *)mpctx0; - element *item; - isc__mem_t *mctx; - unsigned int i; + element * item; + isc__mem_t * mctx; + unsigned int i; mctx = mpctx->mctx; @@ -1738,14 +1775,13 @@ isc__mempool_get(isc_mempool_t *mpctx0 FLARG) { mpctx->gets++; mpctx->allocated++; - out: +out: if (mpctx->lock != NULL) UNLOCK(mpctx->lock); #if ISC_MEM_TRACKLINES if (ISC_UNLIKELY(((isc_mem_debugging & TRACE_OR_RECORD) != 0) && - item != NULL)) - { + item != NULL)) { MCTXLOCK(mctx); ADD_TRACE(mctx, item, mpctx->size, file, line); MCTXUNLOCK(mctx); @@ -1757,13 +1793,14 @@ isc__mempool_get(isc_mempool_t *mpctx0 FLARG) { /* coverity[+free : arg-1] */ void -isc__mempool_put(isc_mempool_t *mpctx0, void *mem FLARG) { +isc__mempool_put(isc_mempool_t *mpctx0, void *mem FLARG) +{ REQUIRE(VALID_MEMPOOL(mpctx0)); REQUIRE(mem != NULL); isc__mempool_t *mpctx = (isc__mempool_t *)mpctx0; - isc__mem_t *mctx = mpctx->mctx; - element *item; + isc__mem_t * mctx = mpctx->mctx; + element * item; if (mpctx->lock != NULL) LOCK(mpctx->lock); @@ -1813,7 +1850,8 @@ isc__mempool_put(isc_mempool_t *mpctx0, void *mem FLARG) { */ void -isc_mempool_setfreemax(isc_mempool_t *mpctx0, unsigned int limit) { +isc_mempool_setfreemax(isc_mempool_t *mpctx0, unsigned int limit) +{ REQUIRE(VALID_MEMPOOL(mpctx0)); isc__mempool_t *mpctx = (isc__mempool_t *)mpctx0; @@ -1828,11 +1866,12 @@ isc_mempool_setfreemax(isc_mempool_t *mpctx0, unsigned int limit) { } unsigned int -isc_mempool_getfreemax(isc_mempool_t *mpctx0) { +isc_mempool_getfreemax(isc_mempool_t *mpctx0) +{ REQUIRE(VALID_MEMPOOL(mpctx0)); isc__mempool_t *mpctx = (isc__mempool_t *)mpctx0; - unsigned int freemax; + unsigned int freemax; if (mpctx->lock != NULL) LOCK(mpctx->lock); @@ -1846,12 +1885,12 @@ isc_mempool_getfreemax(isc_mempool_t *mpctx0) { } unsigned int -isc_mempool_getfreecount(isc_mempool_t *mpctx0) { +isc_mempool_getfreecount(isc_mempool_t *mpctx0) +{ REQUIRE(VALID_MEMPOOL(mpctx0)); isc__mempool_t *mpctx = (isc__mempool_t *)mpctx0; - unsigned int freecount; - + unsigned int freecount; if (mpctx->lock != NULL) LOCK(mpctx->lock); @@ -1865,7 +1904,8 @@ isc_mempool_getfreecount(isc_mempool_t *mpctx0) { } void -isc_mempool_setmaxalloc(isc_mempool_t *mpctx0, unsigned int limit) { +isc_mempool_setmaxalloc(isc_mempool_t *mpctx0, unsigned int limit) +{ REQUIRE(VALID_MEMPOOL(mpctx0)); REQUIRE(limit > 0); @@ -1881,11 +1921,12 @@ isc_mempool_setmaxalloc(isc_mempool_t *mpctx0, unsigned int limit) { } unsigned int -isc_mempool_getmaxalloc(isc_mempool_t *mpctx0) { +isc_mempool_getmaxalloc(isc_mempool_t *mpctx0) +{ REQUIRE(VALID_MEMPOOL(mpctx0)); isc__mempool_t *mpctx = (isc__mempool_t *)mpctx0; - unsigned int maxalloc; + unsigned int maxalloc; if (mpctx->lock != NULL) LOCK(mpctx->lock); @@ -1899,12 +1940,12 @@ isc_mempool_getmaxalloc(isc_mempool_t *mpctx0) { } unsigned int -isc_mempool_getallocated(isc_mempool_t *mpctx0) { +isc_mempool_getallocated(isc_mempool_t *mpctx0) +{ REQUIRE(VALID_MEMPOOL(mpctx0)); isc__mempool_t *mpctx = (isc__mempool_t *)mpctx0; - unsigned int allocated; - + unsigned int allocated; if (mpctx->lock != NULL) LOCK(mpctx->lock); @@ -1918,7 +1959,8 @@ isc_mempool_getallocated(isc_mempool_t *mpctx0) { } void -isc_mempool_setfillcount(isc_mempool_t *mpctx0, unsigned int limit) { +isc_mempool_setfillcount(isc_mempool_t *mpctx0, unsigned int limit) +{ REQUIRE(VALID_MEMPOOL(mpctx0)); REQUIRE(limit > 0); @@ -1934,7 +1976,8 @@ isc_mempool_setfillcount(isc_mempool_t *mpctx0, unsigned int limit) { } unsigned int -isc_mempool_getfillcount(isc_mempool_t *mpctx0) { +isc_mempool_getfillcount(isc_mempool_t *mpctx0) +{ REQUIRE(VALID_MEMPOOL(mpctx0)); isc__mempool_t *mpctx = (isc__mempool_t *)mpctx0; @@ -1956,16 +1999,14 @@ isc_mempool_getfillcount(isc_mempool_t *mpctx0) { * Requires contextslock to be held by caller. */ static void -print_contexts(FILE *file) { +print_contexts(FILE *file) +{ isc__mem_t *ctx; - for (ctx = ISC_LIST_HEAD(contexts); - ctx != NULL; - ctx = ISC_LIST_NEXT(ctx, link)) - { + for (ctx = ISC_LIST_HEAD(contexts); ctx != NULL; + ctx = ISC_LIST_NEXT(ctx, link)) { fprintf(file, "context: %p (%s): %" PRIuFAST32 " references\n", - ctx, - ctx->name[0] == 0 ? "" : ctx->name, + ctx, ctx->name[0] == 0 ? "" : ctx->name, isc_refcount_current(&ctx->references)); print_active(ctx, file); } @@ -1973,7 +2014,8 @@ print_contexts(FILE *file) { } void -isc_mem_checkdestroyed(FILE *file) { +isc_mem_checkdestroyed(FILE *file) +{ #if !ISC_MEM_TRACKLINES UNUSED(file); #endif @@ -1994,24 +2036,29 @@ isc_mem_checkdestroyed(FILE *file) { } unsigned int -isc_mem_references(isc_mem_t *ctx0) { +isc_mem_references(isc_mem_t *ctx0) +{ isc__mem_t *ctx = (isc__mem_t *)ctx0; return (isc_refcount_current(&ctx->references)); } typedef struct summarystat { - uint64_t total; - uint64_t inuse; - uint64_t malloced; - uint64_t blocksize; - uint64_t contextsize; + uint64_t total; + uint64_t inuse; + uint64_t malloced; + uint64_t blocksize; + uint64_t contextsize; } summarystat_t; #ifdef HAVE_LIBXML2 -#define TRY0(a) do { xmlrc = (a); if (xmlrc < 0) goto error; } while(0) +#define TRY0(a) \ + do { \ + xmlrc = (a); \ + if (xmlrc < 0) \ + goto error; \ + } while (0) static int -xml_renderctx(isc__mem_t *ctx, summarystat_t *summary, - xmlTextWriterPtr writer) +xml_renderctx(isc__mem_t *ctx, summarystat_t *summary, xmlTextWriterPtr writer) { REQUIRE(VALID_CONTEXT(ctx)); @@ -2032,9 +2079,9 @@ xml_renderctx(isc__mem_t *ctx, summarystat_t *summary, } summary->contextsize += sizeof(*ctx) + - (ctx->max_size + 1) * sizeof(struct stats) + - ctx->max_size * sizeof(element *) + - ctx->basic_table_count * sizeof(char *); + (ctx->max_size + 1) * sizeof(struct stats) + + ctx->max_size * sizeof(element *) + + ctx->basic_table_count * sizeof(char *); #if ISC_MEM_TRACKLINES if (ctx->debuglist != NULL) { summary->contextsize += @@ -2043,53 +2090,47 @@ xml_renderctx(isc__mem_t *ctx, summarystat_t *summary, } #endif TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "references")); - TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIuFAST32, - isc_refcount_current(&ctx->references))); + TRY0(xmlTextWriterWriteFormatString( + writer, "%" PRIuFAST32, + isc_refcount_current(&ctx->references))); TRY0(xmlTextWriterEndElement(writer)); /* references */ summary->total += ctx->total; TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "total")); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64 "", + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64 "", (uint64_t)ctx->total)); TRY0(xmlTextWriterEndElement(writer)); /* total */ summary->inuse += ctx->inuse; TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "inuse")); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64 "", + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64 "", (uint64_t)ctx->inuse)); TRY0(xmlTextWriterEndElement(writer)); /* inuse */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "maxinuse")); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64 "", + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64 "", (uint64_t)ctx->maxinuse)); TRY0(xmlTextWriterEndElement(writer)); /* maxinuse */ summary->malloced += ctx->malloced; TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "malloced")); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64 "", + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64 "", (uint64_t)ctx->malloced)); TRY0(xmlTextWriterEndElement(writer)); /* malloced */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "maxmalloced")); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64 "", + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64 "", (uint64_t)ctx->maxmalloced)); TRY0(xmlTextWriterEndElement(writer)); /* maxmalloced */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "blocksize")); if ((ctx->flags & ISC_MEMFLAG_INTERNAL) != 0) { summary->blocksize += ctx->basic_table_count * - NUM_BASIC_BLOCKS * ctx->mem_target; - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64 "", - (uint64_t) - ctx->basic_table_count * - NUM_BASIC_BLOCKS * - ctx->mem_target)); + NUM_BASIC_BLOCKS * ctx->mem_target; + TRY0(xmlTextWriterWriteFormatString( + writer, "%" PRIu64 "", + (uint64_t)ctx->basic_table_count * NUM_BASIC_BLOCKS * + ctx->mem_target)); } else TRY0(xmlTextWriterWriteFormatString(writer, "%s", "-")); TRY0(xmlTextWriterEndElement(writer)); /* blocksize */ @@ -2100,31 +2141,30 @@ xml_renderctx(isc__mem_t *ctx, summarystat_t *summary, summary->contextsize += ctx->poolcnt * sizeof(isc_mempool_t); TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "hiwater")); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64 "", + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64 "", (uint64_t)ctx->hi_water)); TRY0(xmlTextWriterEndElement(writer)); /* hiwater */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "lowater")); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64 "", + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64 "", (uint64_t)ctx->lo_water)); TRY0(xmlTextWriterEndElement(writer)); /* lowater */ TRY0(xmlTextWriterEndElement(writer)); /* context */ - error: +error: MCTXUNLOCK(ctx); return (xmlrc); } int -isc_mem_renderxml(void *writer0) { - isc__mem_t *ctx; - summarystat_t summary; - uint64_t lost; - int xmlrc; +isc_mem_renderxml(void *writer0) +{ + isc__mem_t * ctx; + summarystat_t summary; + uint64_t lost; + int xmlrc; xmlTextWriterPtr writer = (xmlTextWriterPtr)writer0; memset(&summary, 0, sizeof(summary)); @@ -2135,8 +2175,7 @@ isc_mem_renderxml(void *writer0) { LOCK(&contextslock); lost = totallost; - for (ctx = ISC_LIST_HEAD(contexts); - ctx != NULL; + for (ctx = ISC_LIST_HEAD(contexts); ctx != NULL; ctx = ISC_LIST_NEXT(ctx, link)) { xmlrc = xml_renderctx(ctx, &summary, writer); if (xmlrc < 0) { @@ -2151,43 +2190,36 @@ isc_mem_renderxml(void *writer0) { TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "summary")); TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "TotalUse")); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64 "", + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64 "", summary.total)); TRY0(xmlTextWriterEndElement(writer)); /* TotalUse */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "InUse")); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64 "", + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64 "", summary.inuse)); TRY0(xmlTextWriterEndElement(writer)); /* InUse */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "Malloced")); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64 "", + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64 "", summary.malloced)); TRY0(xmlTextWriterEndElement(writer)); /* InUse */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "BlockSize")); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64 "", + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64 "", summary.blocksize)); TRY0(xmlTextWriterEndElement(writer)); /* BlockSize */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "ContextSize")); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64 "", + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64 "", summary.contextsize)); TRY0(xmlTextWriterEndElement(writer)); /* ContextSize */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "Lost")); - TRY0(xmlTextWriterWriteFormatString(writer, - "%" PRIu64 "", - lost)); + TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64 "", lost)); TRY0(xmlTextWriterEndElement(writer)); /* Lost */ TRY0(xmlTextWriterEndElement(writer)); /* summary */ - error: +error: return (xmlrc); } @@ -2197,26 +2229,27 @@ isc_mem_renderxml(void *writer0) { #define CHECKMEM(m) RUNTIME_CHECK(m != NULL) static isc_result_t -json_renderctx(isc__mem_t *ctx, summarystat_t *summary, json_object *array) { +json_renderctx(isc__mem_t *ctx, summarystat_t *summary, json_object *array) +{ REQUIRE(VALID_CONTEXT(ctx)); REQUIRE(summary != NULL); REQUIRE(array != NULL); json_object *ctxobj, *obj; - char buf[1024]; + char buf[1024]; MCTXLOCK(ctx); summary->contextsize += sizeof(*ctx) + - (ctx->max_size + 1) * sizeof(struct stats) + - ctx->max_size * sizeof(element *) + - ctx->basic_table_count * sizeof(char *); + (ctx->max_size + 1) * sizeof(struct stats) + + ctx->max_size * sizeof(element *) + + ctx->basic_table_count * sizeof(char *); summary->total += ctx->total; summary->inuse += ctx->inuse; summary->malloced += ctx->malloced; if ((ctx->flags & ISC_MEMFLAG_INTERNAL) != 0) summary->blocksize += ctx->basic_table_count * - NUM_BASIC_BLOCKS * ctx->mem_target; + NUM_BASIC_BLOCKS * ctx->mem_target; #if ISC_MEM_TRACKLINES if (ctx->debuglist != NULL) { summary->contextsize += @@ -2266,7 +2299,7 @@ json_renderctx(isc__mem_t *ctx, summarystat_t *summary, json_object *array) { if ((ctx->flags & ISC_MEMFLAG_INTERNAL) != 0) { uint64_t blocksize; blocksize = ctx->basic_table_count * NUM_BASIC_BLOCKS * - ctx->mem_target; + ctx->mem_target; obj = json_object_new_int64(blocksize); CHECKMEM(obj); json_object_object_add(ctxobj, "blocksize", obj); @@ -2292,13 +2325,14 @@ json_renderctx(isc__mem_t *ctx, summarystat_t *summary, json_object *array) { } isc_result_t -isc_mem_renderjson(void *memobj0) { - isc_result_t result = ISC_R_SUCCESS; - isc__mem_t *ctx; +isc_mem_renderjson(void *memobj0) +{ + isc_result_t result = ISC_R_SUCCESS; + isc__mem_t * ctx; summarystat_t summary; - uint64_t lost; - json_object *ctxarray, *obj; - json_object *memobj = (json_object *)memobj0; + uint64_t lost; + json_object * ctxarray, *obj; + json_object * memobj = (json_object *)memobj0; memset(&summary, 0, sizeof(summary)); RUNTIME_CHECK(isc_once_do(&once, initialize_action) == ISC_R_SUCCESS); @@ -2308,8 +2342,7 @@ isc_mem_renderjson(void *memobj0) { LOCK(&contextslock); lost = totallost; - for (ctx = ISC_LIST_HEAD(contexts); - ctx != NULL; + for (ctx = ISC_LIST_HEAD(contexts); ctx != NULL; ctx = ISC_LIST_NEXT(ctx, link)) { result = json_renderctx(ctx, &summary, ctxarray); if (result != ISC_R_SUCCESS) { @@ -2346,7 +2379,7 @@ isc_mem_renderjson(void *memobj0) { json_object_object_add(memobj, "contexts", ctxarray); return (ISC_R_SUCCESS); - error: +error: if (ctxarray != NULL) json_object_put(ctxarray); return (result); @@ -2354,62 +2387,70 @@ isc_mem_renderjson(void *memobj0) { #endif /* HAVE_JSON_C */ void -isc_mem_create(isc_mem_t **mctxp) { +isc_mem_create(isc_mem_t **mctxp) +{ mem_create(mctxp, isc_mem_defaultflags); } void * -isc__mem_get(isc_mem_t *mctx, size_t size FLARG) { +isc__mem_get(isc_mem_t *mctx, size_t size FLARG) +{ REQUIRE(ISCAPI_MCTX_VALID(mctx)); return (mctx->methods->memget(mctx, size FLARG_PASS)); - } void -isc__mem_put(isc_mem_t *mctx, void *ptr, size_t size FLARG) { +isc__mem_put(isc_mem_t *mctx, void *ptr, size_t size FLARG) +{ REQUIRE(ISCAPI_MCTX_VALID(mctx)); mctx->methods->memput(mctx, ptr, size FLARG_PASS); } void -isc__mem_putanddetach(isc_mem_t **mctxp, void *ptr, size_t size FLARG) { +isc__mem_putanddetach(isc_mem_t **mctxp, void *ptr, size_t size FLARG) +{ REQUIRE(mctxp != NULL && ISCAPI_MCTX_VALID(*mctxp)); (*mctxp)->methods->memputanddetach(mctxp, ptr, size FLARG_PASS); } void * -isc__mem_allocate(isc_mem_t *mctx, size_t size FLARG) { +isc__mem_allocate(isc_mem_t *mctx, size_t size FLARG) +{ REQUIRE(ISCAPI_MCTX_VALID(mctx)); return (mctx->methods->memallocate(mctx, size FLARG_PASS)); } void * -isc__mem_reallocate(isc_mem_t *mctx, void *ptr, size_t size FLARG) { +isc__mem_reallocate(isc_mem_t *mctx, void *ptr, size_t size FLARG) +{ REQUIRE(ISCAPI_MCTX_VALID(mctx)); return (mctx->methods->memreallocate(mctx, ptr, size FLARG_PASS)); } char * -isc__mem_strdup(isc_mem_t *mctx, const char *s FLARG) { +isc__mem_strdup(isc_mem_t *mctx, const char *s FLARG) +{ REQUIRE(ISCAPI_MCTX_VALID(mctx)); return (mctx->methods->memstrdup(mctx, s FLARG_PASS)); } void -isc__mem_free(isc_mem_t *mctx, void *ptr FLARG) { +isc__mem_free(isc_mem_t *mctx, void *ptr FLARG) +{ REQUIRE(ISCAPI_MCTX_VALID(mctx)); mctx->methods->memfree(mctx, ptr FLARG_PASS); } void -isc__mem_printactive(isc_mem_t *ctx0, FILE *file) { +isc__mem_printactive(isc_mem_t *ctx0, FILE *file) +{ #if ISC_MEM_TRACKLINES REQUIRE(VALID_CONTEXT(ctx0)); REQUIRE(file != NULL); diff --git a/lib/isc/mutexblock.c b/lib/isc/mutexblock.c index e43113bf64..b1fb83d35b 100644 --- a/lib/isc/mutexblock.c +++ b/lib/isc/mutexblock.c @@ -9,14 +9,14 @@ * information regarding copyright ownership. */ - /*! \file */ #include #include void -isc_mutexblock_init(isc_mutex_t *block, unsigned int count) { +isc_mutexblock_init(isc_mutex_t *block, unsigned int count) +{ unsigned int i; for (i = 0; i < count; i++) { @@ -25,7 +25,8 @@ isc_mutexblock_init(isc_mutex_t *block, unsigned int count) { } void -isc_mutexblock_destroy(isc_mutex_t *block, unsigned int count) { +isc_mutexblock_destroy(isc_mutex_t *block, unsigned int count) +{ unsigned int i; for (i = 0; i < count; i++) { diff --git a/lib/isc/netaddr.c b/lib/isc/netaddr.c index 12c189ed36..f2ac5a5b3b 100644 --- a/lib/isc/netaddr.c +++ b/lib/isc/netaddr.c @@ -9,12 +9,11 @@ * information regarding copyright ownership. */ - /*! \file */ +#include #include #include -#include #include #include @@ -25,7 +24,8 @@ #include bool -isc_netaddr_equal(const isc_netaddr_t *a, const isc_netaddr_t *b) { +isc_netaddr_equal(const isc_netaddr_t *a, const isc_netaddr_t *b) +{ REQUIRE(a != NULL && b != NULL); if (a->family != b->family) @@ -40,8 +40,8 @@ isc_netaddr_equal(const isc_netaddr_t *a, const isc_netaddr_t *b) { return (false); break; case AF_INET6: - if (memcmp(&a->type.in6, &b->type.in6, - sizeof(a->type.in6)) != 0 || + if (memcmp(&a->type.in6, &b->type.in6, sizeof(a->type.in6)) != + 0 || a->zone != b->zone) return (false); break; @@ -63,8 +63,8 @@ isc_netaddr_eqprefix(const isc_netaddr_t *a, const isc_netaddr_t *b, { const unsigned char *pa = NULL, *pb = NULL; unsigned int ipabytes = 0; /* Length of whole IP address in bytes */ - unsigned int nbytes; /* Number of significant whole bytes */ - unsigned int nbits; /* Number of significant leftover bits */ + unsigned int nbytes; /* Number of significant whole bytes */ + unsigned int nbits; /* Number of significant leftover bits */ REQUIRE(a != NULL && b != NULL); @@ -76,13 +76,13 @@ isc_netaddr_eqprefix(const isc_netaddr_t *a, const isc_netaddr_t *b, switch (a->family) { case AF_INET: - pa = (const unsigned char *) &a->type.in; - pb = (const unsigned char *) &b->type.in; + pa = (const unsigned char *)&a->type.in; + pb = (const unsigned char *)&b->type.in; ipabytes = 4; break; case AF_INET6: - pa = (const unsigned char *) &a->type.in6; - pb = (const unsigned char *) &b->type.in6; + pa = (const unsigned char *)&a->type.in6; + pb = (const unsigned char *)&b->type.in6; ipabytes = 16; break; default: @@ -108,7 +108,7 @@ isc_netaddr_eqprefix(const isc_netaddr_t *a, const isc_netaddr_t *b, INSIST(nbits < 8); bytea = pa[nbytes]; byteb = pb[nbytes]; - mask = (0xFF << (8-nbits)) & 0xFF; + mask = (0xFF << (8 - nbits)) & 0xFF; if ((bytea & mask) != (byteb & mask)) return (false); } @@ -116,13 +116,14 @@ isc_netaddr_eqprefix(const isc_netaddr_t *a, const isc_netaddr_t *b, } isc_result_t -isc_netaddr_totext(const isc_netaddr_t *netaddr, isc_buffer_t *target) { +isc_netaddr_totext(const isc_netaddr_t *netaddr, isc_buffer_t *target) +{ char abuf[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:255.255.255.255")]; char zbuf[sizeof("%4294967295")]; unsigned int alen; - int zlen; - const char *r; - const void *type; + int zlen; + const char * r; + const void * type; REQUIRE(netaddr != NULL); @@ -171,7 +172,8 @@ isc_netaddr_totext(const isc_netaddr_t *netaddr, isc_buffer_t *target) { } void -isc_netaddr_format(const isc_netaddr_t *na, char *array, unsigned int size) { +isc_netaddr_format(const isc_netaddr_t *na, char *array, unsigned int size) +{ isc_result_t result; isc_buffer_t buf; @@ -192,29 +194,28 @@ isc_netaddr_format(const isc_netaddr_t *na, char *array, unsigned int size) { } if (result != ISC_R_SUCCESS) { - snprintf(array, size, - "", + snprintf(array, size, "", na->family); array[size - 1] = '\0'; } } - isc_result_t -isc_netaddr_prefixok(const isc_netaddr_t *na, unsigned int prefixlen) { +isc_netaddr_prefixok(const isc_netaddr_t *na, unsigned int prefixlen) +{ static const unsigned char zeros[16]; - unsigned int nbits, nbytes, ipbytes = 0; - const unsigned char *p; + unsigned int nbits, nbytes, ipbytes = 0; + const unsigned char * p; switch (na->family) { case AF_INET: - p = (const unsigned char *) &na->type.in; + p = (const unsigned char *)&na->type.in; ipbytes = 4; if (prefixlen > 32) return (ISC_R_RANGE); break; case AF_INET6: - p = (const unsigned char *) &na->type.in6; + p = (const unsigned char *)&na->type.in6; ipbytes = 16; if (prefixlen > 128) return (ISC_R_RANGE); @@ -226,27 +227,29 @@ isc_netaddr_prefixok(const isc_netaddr_t *na, unsigned int prefixlen) { nbits = prefixlen % 8; if (nbits != 0) { INSIST(nbytes < ipbytes); - if ((p[nbytes] & (0xff>>nbits)) != 0U) + if ((p[nbytes] & (0xff >> nbits)) != 0U) return (ISC_R_FAILURE); nbytes++; } - if (nbytes < ipbytes && memcmp(p + nbytes, zeros, ipbytes - nbytes) != 0) + if (nbytes < ipbytes && + memcmp(p + nbytes, zeros, ipbytes - nbytes) != 0) return (ISC_R_FAILURE); return (ISC_R_SUCCESS); } isc_result_t -isc_netaddr_masktoprefixlen(const isc_netaddr_t *s, unsigned int *lenp) { - unsigned int nbits = 0, nbytes = 0, ipbytes = 0, i; +isc_netaddr_masktoprefixlen(const isc_netaddr_t *s, unsigned int *lenp) +{ + unsigned int nbits = 0, nbytes = 0, ipbytes = 0, i; const unsigned char *p; switch (s->family) { case AF_INET: - p = (const unsigned char *) &s->type.in; + p = (const unsigned char *)&s->type.in; ipbytes = 4; break; case AF_INET6: - p = (const unsigned char *) &s->type.in6; + p = (const unsigned char *)&s->type.in6; ipbytes = 16; break; default: @@ -260,7 +263,8 @@ isc_netaddr_masktoprefixlen(const isc_netaddr_t *s, unsigned int *lenp) { if (i < ipbytes) { unsigned int c = p[nbytes]; while ((c & 0x80) != 0 && nbits < 8) { - c <<= 1; nbits++; + c <<= 1; + nbits++; } if ((c & 0xFF) != 0) return (ISC_R_MASKNONCONTIG); @@ -275,21 +279,24 @@ isc_netaddr_masktoprefixlen(const isc_netaddr_t *s, unsigned int *lenp) { } void -isc_netaddr_fromin(isc_netaddr_t *netaddr, const struct in_addr *ina) { +isc_netaddr_fromin(isc_netaddr_t *netaddr, const struct in_addr *ina) +{ memset(netaddr, 0, sizeof(*netaddr)); netaddr->family = AF_INET; netaddr->type.in = *ina; } void -isc_netaddr_fromin6(isc_netaddr_t *netaddr, const struct in6_addr *ina6) { +isc_netaddr_fromin6(isc_netaddr_t *netaddr, const struct in6_addr *ina6) +{ memset(netaddr, 0, sizeof(*netaddr)); netaddr->family = AF_INET6; netaddr->type.in6 = *ina6; } isc_result_t -isc_netaddr_frompath(isc_netaddr_t *netaddr, const char *path) { +isc_netaddr_frompath(isc_netaddr_t *netaddr, const char *path) +{ #ifdef ISC_PLATFORM_HAVESYSUNH if (strlen(path) > sizeof(netaddr->type.un) - 1) return (ISC_R_NOSPACE); @@ -306,9 +313,9 @@ isc_netaddr_frompath(isc_netaddr_t *netaddr, const char *path) { #endif } - void -isc_netaddr_setzone(isc_netaddr_t *netaddr, uint32_t zone) { +isc_netaddr_setzone(isc_netaddr_t *netaddr, uint32_t zone) +{ /* we currently only support AF_INET6. */ REQUIRE(netaddr->family == AF_INET6); @@ -316,12 +323,14 @@ isc_netaddr_setzone(isc_netaddr_t *netaddr, uint32_t zone) { } uint32_t -isc_netaddr_getzone(const isc_netaddr_t *netaddr) { +isc_netaddr_getzone(const isc_netaddr_t *netaddr) +{ return (netaddr->zone); } void -isc_netaddr_fromsockaddr(isc_netaddr_t *t, const isc_sockaddr_t *s) { +isc_netaddr_fromsockaddr(isc_netaddr_t *t, const isc_sockaddr_t *s) +{ int family = s->type.sa.sa_family; t->family = family; switch (family) { @@ -346,49 +355,55 @@ isc_netaddr_fromsockaddr(isc_netaddr_t *t, const isc_sockaddr_t *s) { } void -isc_netaddr_any(isc_netaddr_t *netaddr) { +isc_netaddr_any(isc_netaddr_t *netaddr) +{ memset(netaddr, 0, sizeof(*netaddr)); netaddr->family = AF_INET; netaddr->type.in.s_addr = INADDR_ANY; } void -isc_netaddr_any6(isc_netaddr_t *netaddr) { +isc_netaddr_any6(isc_netaddr_t *netaddr) +{ memset(netaddr, 0, sizeof(*netaddr)); netaddr->family = AF_INET6; netaddr->type.in6 = in6addr_any; } void -isc_netaddr_unspec(isc_netaddr_t *netaddr) { +isc_netaddr_unspec(isc_netaddr_t *netaddr) +{ memset(netaddr, 0, sizeof(*netaddr)); netaddr->family = AF_UNSPEC; } bool -isc_netaddr_ismulticast(const isc_netaddr_t *na) { +isc_netaddr_ismulticast(const isc_netaddr_t *na) +{ switch (na->family) { case AF_INET: return (ISC_IPADDR_ISMULTICAST(na->type.in.s_addr)); case AF_INET6: return (IN6_IS_ADDR_MULTICAST(&na->type.in6)); default: - return (false); /* XXXMLG ? */ + return (false); /* XXXMLG ? */ } } bool -isc_netaddr_isexperimental(const isc_netaddr_t *na) { +isc_netaddr_isexperimental(const isc_netaddr_t *na) +{ switch (na->family) { case AF_INET: return (ISC_IPADDR_ISEXPERIMENTAL(na->type.in.s_addr)); default: - return (false); /* XXXMLG ? */ + return (false); /* XXXMLG ? */ } } bool -isc_netaddr_islinklocal(const isc_netaddr_t *na) { +isc_netaddr_islinklocal(const isc_netaddr_t *na) +{ switch (na->family) { case AF_INET: return (false); @@ -400,7 +415,8 @@ isc_netaddr_islinklocal(const isc_netaddr_t *na) { } bool -isc_netaddr_issitelocal(const isc_netaddr_t *na) { +isc_netaddr_issitelocal(const isc_netaddr_t *na) +{ switch (na->family) { case AF_INET: return (false); @@ -412,11 +428,11 @@ isc_netaddr_issitelocal(const isc_netaddr_t *na) { } #define ISC_IPADDR_ISNETZERO(i) \ - (((uint32_t)(i) & ISC__IPADDR(0xff000000)) \ - == ISC__IPADDR(0x00000000)) + (((uint32_t)(i)&ISC__IPADDR(0xff000000)) == ISC__IPADDR(0x00000000)) bool -isc_netaddr_isnetzero(const isc_netaddr_t *na) { +isc_netaddr_isnetzero(const isc_netaddr_t *na) +{ switch (na->family) { case AF_INET: return (ISC_IPADDR_ISNETZERO(na->type.in.s_addr)); @@ -428,10 +444,11 @@ isc_netaddr_isnetzero(const isc_netaddr_t *na) { } void -isc_netaddr_fromv4mapped(isc_netaddr_t *t, const isc_netaddr_t *s) { +isc_netaddr_fromv4mapped(isc_netaddr_t *t, const isc_netaddr_t *s) +{ isc_netaddr_t *src; - DE_CONST(s, src); /* Must come before IN6_IS_ADDR_V4MAPPED. */ + DE_CONST(s, src); /* Must come before IN6_IS_ADDR_V4MAPPED. */ REQUIRE(s->family == AF_INET6); REQUIRE(IN6_IS_ADDR_V4MAPPED(&src->type.in6)); @@ -443,11 +460,12 @@ isc_netaddr_fromv4mapped(isc_netaddr_t *t, const isc_netaddr_t *s) { } bool -isc_netaddr_isloopback(const isc_netaddr_t *na) { +isc_netaddr_isloopback(const isc_netaddr_t *na) +{ switch (na->family) { case AF_INET: return (((ntohl(na->type.in.s_addr) & 0xff000000U) == - 0x7f000000U)); + 0x7f000000U)); case AF_INET6: return (IN6_IS_ADDR_LOOPBACK(&na->type.in6)); default: diff --git a/lib/isc/netmgr/netmgr-int.h b/lib/isc/netmgr/netmgr-int.h index 7dfa8872e6..ae83f943d3 100644 --- a/lib/isc/netmgr/netmgr-int.h +++ b/lib/isc/netmgr/netmgr-int.h @@ -30,6 +30,7 @@ #include #include #include + #include "uv-compat.h" #define ISC_NETMGR_TID_UNKNOWN -1 @@ -38,25 +39,25 @@ * Single network event loop worker. */ typedef struct isc__networker { - isc_nm_t * mgr; - int id; /* thread id */ - uv_loop_t loop; /* libuv loop structure */ - uv_async_t async; /* async channel to send - * data to this networker */ - isc_mutex_t lock; - isc_condition_t cond; - bool paused; - bool finished; - isc_thread_t thread; - isc_queue_t *ievents; /* incoming async events */ - isc_queue_t *ievents_prio; /* priority async events - * used for listening etc. - * can be processed while - * worker is paused */ - isc_refcount_t references; - atomic_int_fast64_t pktcount; - char recvbuf[65536]; - bool recvbuf_inuse; + isc_nm_t * mgr; + int id; /* thread id */ + uv_loop_t loop; /* libuv loop structure */ + uv_async_t async; /* async channel to send + * data to this networker */ + isc_mutex_t lock; + isc_condition_t cond; + bool paused; + bool finished; + isc_thread_t thread; + isc_queue_t * ievents; /* incoming async events */ + isc_queue_t * ievents_prio; /* priority async events + * used for listening etc. + * can be processed while + * worker is paused */ + isc_refcount_t references; + atomic_int_fast64_t pktcount; + char recvbuf[65536]; + bool recvbuf_inuse; } isc__networker_t; /* @@ -64,15 +65,14 @@ typedef struct isc__networker { * connections we have peer address here, so both TCP and UDP can be * handled with a simple send-like function */ -#define NMHANDLE_MAGIC ISC_MAGIC('N', 'M', 'H', 'D') -#define VALID_NMHANDLE(t) ISC_MAGIC_VALID(t, \ - NMHANDLE_MAGIC) +#define NMHANDLE_MAGIC ISC_MAGIC('N', 'M', 'H', 'D') +#define VALID_NMHANDLE(t) ISC_MAGIC_VALID(t, NMHANDLE_MAGIC) typedef void (*isc__nm_closecb)(isc_nmhandle_t *); struct isc_nmhandle { - int magic; - isc_refcount_t references; + int magic; + isc_refcount_t references; /* * The socket is not 'attached' in the traditional @@ -81,9 +81,9 @@ struct isc_nmhandle { * dependencies and we can close all handles when we're destroying * the socket. */ - isc_nmsocket_t *sock; - size_t ah_pos; /* Position in the socket's - * 'active handles' array */ + isc_nmsocket_t *sock; + size_t ah_pos; /* Position in the socket's + * 'active handles' array */ /* * The handle is 'inflight' if netmgr is not currently processing @@ -91,21 +91,21 @@ struct isc_nmhandle { * is happening. For an inflight handle we must wait for the * calling code to finish before we can free it. */ - atomic_bool inflight; + atomic_bool inflight; - isc_sockaddr_t peer; - isc_sockaddr_t local; - isc_nm_opaquecb_t doreset; /* reset extra callback, external */ - isc_nm_opaquecb_t dofree; /* free extra callback, external */ - void * opaque; - char extra[]; + isc_sockaddr_t peer; + isc_sockaddr_t local; + isc_nm_opaquecb_t doreset; /* reset extra callback, external */ + isc_nm_opaquecb_t dofree; /* free extra callback, external */ + void * opaque; + char extra[]; }; /* * An interface - an address we can listen on. */ struct isc_nmiface { - isc_sockaddr_t addr; + isc_sockaddr_t addr; }; typedef enum isc__netievent_type { @@ -125,11 +125,11 @@ typedef enum isc__netievent_type { netievent_tcpstop, netievent_tcpclose, netievent_tcpdnsclose, - netievent_prio = 0xff, /* event type values higher than this - * will be treated as high-priority - * events, which can be processed - * while the netmgr is paused. - */ + netievent_prio = 0xff, /* event type values higher than this + * will be treated as high-priority + * events, which can be processed + * while the netmgr is paused. + */ netievent_udplisten, netievent_tcplisten, } isc__netievent_type; @@ -139,20 +139,20 @@ typedef enum isc__netievent_type { * simultaneously. */ typedef union { - isc_nm_recv_cb_t recv; - isc_nm_cb_t accept; + isc_nm_recv_cb_t recv; + isc_nm_cb_t accept; } isc__nm_readcb_t; typedef union { - isc_nm_cb_t send; - isc_nm_cb_t connect; + isc_nm_cb_t send; + isc_nm_cb_t connect; } isc__nm_writecb_t; typedef union { - isc_nm_recv_cb_t recv; - isc_nm_cb_t accept; - isc_nm_cb_t send; - isc_nm_cb_t connect; + isc_nm_recv_cb_t recv; + isc_nm_cb_t accept; + isc_nm_cb_t send; + isc_nm_cb_t connect; } isc__nm_cb_t; /* @@ -160,37 +160,37 @@ typedef union { * always point to its parent. Note that we always allocate more than * sizeof(struct) because we make room for different req types; */ -#define UVREQ_MAGIC ISC_MAGIC('N', 'M', 'U', 'R') -#define VALID_UVREQ(t) ISC_MAGIC_VALID(t, UVREQ_MAGIC) +#define UVREQ_MAGIC ISC_MAGIC('N', 'M', 'U', 'R') +#define VALID_UVREQ(t) ISC_MAGIC_VALID(t, UVREQ_MAGIC) typedef struct isc__nm_uvreq { - int magic; - isc_nmsocket_t * sock; - isc_nmhandle_t * handle; - uv_buf_t uvbuf; /* translated isc_region_t, to be - * sent or received */ - isc_sockaddr_t local; /* local address */ - isc_sockaddr_t peer; /* peer address */ - isc__nm_cb_t cb; /* callback */ - void * cbarg; /* callback argument */ - uv_pipe_t ipc; /* used for sending socket - * uv_handles to other threads */ + int magic; + isc_nmsocket_t *sock; + isc_nmhandle_t *handle; + uv_buf_t uvbuf; /* translated isc_region_t, to be + * sent or received */ + isc_sockaddr_t local; /* local address */ + isc_sockaddr_t peer; /* peer address */ + isc__nm_cb_t cb; /* callback */ + void * cbarg; /* callback argument */ + uv_pipe_t ipc; /* used for sending socket + * uv_handles to other threads */ union { - uv_req_t req; - uv_getaddrinfo_t getaddrinfo; - uv_getnameinfo_t getnameinfo; - uv_shutdown_t shutdown; - uv_write_t write; - uv_connect_t connect; - uv_udp_send_t udp_send; - uv_fs_t fs; - uv_work_t work; + uv_req_t req; + uv_getaddrinfo_t getaddrinfo; + uv_getnameinfo_t getnameinfo; + uv_shutdown_t shutdown; + uv_write_t write; + uv_connect_t connect; + uv_udp_send_t udp_send; + uv_fs_t fs; + uv_work_t work; } uv_req; } isc__nm_uvreq_t; typedef struct isc__netievent__socket { - isc__netievent_type type; - isc_nmsocket_t *sock; + isc__netievent_type type; + isc_nmsocket_t * sock; } isc__netievent__socket_t; typedef isc__netievent__socket_t isc__netievent_udplisten_t; @@ -203,9 +203,9 @@ typedef isc__netievent__socket_t isc__netievent_startread_t; typedef isc__netievent__socket_t isc__netievent_pauseread_t; typedef struct isc__netievent__socket_req { - isc__netievent_type type; - isc_nmsocket_t *sock; - isc__nm_uvreq_t *req; + isc__netievent_type type; + isc_nmsocket_t * sock; + isc__nm_uvreq_t * req; } isc__netievent__socket_req_t; typedef isc__netievent__socket_req_t isc__netievent_tcpconnect_t; @@ -213,78 +213,76 @@ typedef isc__netievent__socket_req_t isc__netievent_tcplisten_t; typedef isc__netievent__socket_req_t isc__netievent_tcpsend_t; typedef struct isc__netievent__socket_streaminfo { - isc__netievent_type type; - isc_nmsocket_t *sock; - isc_uv_stream_info_t streaminfo; + isc__netievent_type type; + isc_nmsocket_t * sock; + isc_uv_stream_info_t streaminfo; } isc__netievent__socket_streaminfo_t; typedef isc__netievent__socket_streaminfo_t isc__netievent_tcpchildlisten_t; - typedef struct isc__netievent__socket_handle { - isc__netievent_type type; - isc_nmsocket_t *sock; - isc_nmhandle_t *handle; + isc__netievent_type type; + isc_nmsocket_t * sock; + isc_nmhandle_t * handle; } isc__netievent__socket_handle_t; typedef isc__netievent__socket_handle_t isc__netievent_closecb_t; - typedef struct isc__netievent_udpsend { - isc__netievent_type type; - isc_nmsocket_t *sock; - isc_sockaddr_t peer; - isc__nm_uvreq_t *req; + isc__netievent_type type; + isc_nmsocket_t * sock; + isc_sockaddr_t peer; + isc__nm_uvreq_t * req; } isc__netievent_udpsend_t; typedef struct isc__netievent { - isc__netievent_type type; + isc__netievent_type type; } isc__netievent_t; typedef isc__netievent_t isc__netievent_shutdown_t; typedef isc__netievent_t isc__netievent_stop_t; typedef union { - isc__netievent_t ni; - isc__netievent__socket_t nis; - isc__netievent__socket_req_t nisr; - isc__netievent_udpsend_t nius; - isc__netievent__socket_streaminfo_t niss; + isc__netievent_t ni; + isc__netievent__socket_t nis; + isc__netievent__socket_req_t nisr; + isc__netievent_udpsend_t nius; + isc__netievent__socket_streaminfo_t niss; } isc__netievent_storage_t; /* * Network manager */ -#define NM_MAGIC ISC_MAGIC('N', 'E', 'T', 'M') -#define VALID_NM(t) ISC_MAGIC_VALID(t, NM_MAGIC) +#define NM_MAGIC ISC_MAGIC('N', 'E', 'T', 'M') +#define VALID_NM(t) ISC_MAGIC_VALID(t, NM_MAGIC) struct isc_nm { - int magic; - isc_refcount_t references; - isc_mem_t *mctx; - uint32_t nworkers; - isc_mutex_t lock; - isc_condition_t wkstatecond; - isc__networker_t *workers; + int magic; + isc_refcount_t references; + isc_mem_t * mctx; + uint32_t nworkers; + isc_mutex_t lock; + isc_condition_t wkstatecond; + isc__networker_t *workers; - isc_stats_t *stats; + isc_stats_t *stats; - isc_mempool_t *reqpool; - isc_mutex_t reqlock; + isc_mempool_t *reqpool; + isc_mutex_t reqlock; - isc_mempool_t *evpool; - isc_mutex_t evlock; + isc_mempool_t *evpool; + isc_mutex_t evlock; - atomic_uint_fast32_t workers_running; - atomic_uint_fast32_t workers_paused; - atomic_uint_fast32_t maxudp; - atomic_bool paused; + atomic_uint_fast32_t workers_running; + atomic_uint_fast32_t workers_paused; + atomic_uint_fast32_t maxudp; + atomic_bool paused; /* * Acive connections are being closed and new connections are * no longer allowed. */ - atomic_bool closing; + atomic_bool closing; /* * A worker is actively waiting for other workers, for example to @@ -292,7 +290,7 @@ struct isc_nm { * or pause, or we'll deadlock. We have to either re-enqueue our * event or wait for the other one to finish if we want to pause. */ - atomic_bool interlocked; + atomic_bool interlocked; /* * Timeout values for TCP connections, coresponding to @@ -301,10 +299,10 @@ struct isc_nm { * milliseconds so they can be used directly with the libuv timer, * but they are configured in tenths of seconds. */ - uint32_t init; - uint32_t idle; - uint32_t keepalive; - uint32_t advertised; + uint32_t init; + uint32_t idle; + uint32_t keepalive; + uint32_t advertised; }; typedef enum isc_nmsocket_type { @@ -321,36 +319,34 @@ typedef enum isc_nmsocket_type { * A universal structure for either a single socket or a group of * dup'd/SO_REUSE_PORT-using sockets listening on the same interface. */ -#define NMSOCK_MAGIC ISC_MAGIC('N', 'M', 'S', 'K') -#define VALID_NMSOCK(t) ISC_MAGIC_VALID(t, NMSOCK_MAGIC) +#define NMSOCK_MAGIC ISC_MAGIC('N', 'M', 'S', 'K') +#define VALID_NMSOCK(t) ISC_MAGIC_VALID(t, NMSOCK_MAGIC) /*% * Index into socket stat counter arrays. */ -enum { - STATID_OPEN = 0, - STATID_OPENFAIL = 1, - STATID_CLOSE = 2, - STATID_BINDFAIL = 3, - STATID_CONNECTFAIL = 4, - STATID_CONNECT = 5, - STATID_ACCEPTFAIL = 6, - STATID_ACCEPT = 7, - STATID_SENDFAIL = 8, - STATID_RECVFAIL = 9, - STATID_ACTIVE = 10 -}; +enum { STATID_OPEN = 0, + STATID_OPENFAIL = 1, + STATID_CLOSE = 2, + STATID_BINDFAIL = 3, + STATID_CONNECTFAIL = 4, + STATID_CONNECT = 5, + STATID_ACCEPTFAIL = 6, + STATID_ACCEPT = 7, + STATID_SENDFAIL = 8, + STATID_RECVFAIL = 9, + STATID_ACTIVE = 10 }; struct isc_nmsocket { /*% Unlocked, RO */ - int magic; - int tid; - isc_nmsocket_type type; - isc_nm_t *mgr; + int magic; + int tid; + isc_nmsocket_type type; + isc_nm_t * mgr; /*% Parent socket for multithreaded listeners */ - isc_nmsocket_t *parent; + isc_nmsocket_t *parent; /*% Listener socket this connection was accepted on */ - isc_nmsocket_t *listener; + isc_nmsocket_t *listener; /*% * quota is the TCP client, attached when a TCP connection @@ -358,58 +354,58 @@ struct isc_nmsocket { * TCP client quota, stored in listening sockets but only * attached in connected sockets. */ - isc_quota_t *quota; - isc_quota_t *pquota; - bool overquota; + isc_quota_t *quota; + isc_quota_t *pquota; + bool overquota; /*% * Socket statistics */ - const isc_statscounter_t *statsindex; + const isc_statscounter_t *statsindex; /*% * TCP read timeout timer. */ - uv_timer_t timer; - bool timer_initialized; - uint64_t read_timeout; + uv_timer_t timer; + bool timer_initialized; + uint64_t read_timeout; /*% outer socket is for 'wrapped' sockets - e.g. tcpdns in tcp */ - isc_nmsocket_t *outer; + isc_nmsocket_t *outer; /*% server socket for connections */ - isc_nmsocket_t *server; + isc_nmsocket_t *server; /*% Child sockets for multi-socket setups */ - isc_nmsocket_t *children; - int nchildren; - isc_nmiface_t *iface; - isc_nmhandle_t *tcphandle; + isc_nmsocket_t *children; + int nchildren; + isc_nmiface_t * iface; + isc_nmhandle_t *tcphandle; /*% Extra data allocated at the end of each isc_nmhandle_t */ - size_t extrahandlesize; + size_t extrahandlesize; /*% TCP backlog */ - int backlog; + int backlog; /*% libuv data */ - uv_os_sock_t fd; - union uv_any_handle uv_handle; + uv_os_sock_t fd; + union uv_any_handle uv_handle; /*% Peer address */ - isc_sockaddr_t peer; + isc_sockaddr_t peer; /* Atomic */ /*% Number of running (e.g. listening) child sockets */ - atomic_int_fast32_t rchildren; + atomic_int_fast32_t rchildren; /*% * Socket is active if it's listening, working, etc. If it's * closing, then it doesn't make a sense, for example, to * push handles or reqs for reuse. */ - atomic_bool active; - atomic_bool destroying; + atomic_bool active; + atomic_bool destroying; /*% * Socket is closed if it's not active and all the possible @@ -417,59 +413,59 @@ struct isc_nmsocket { * If active==false but closed==false, that means the socket * is closing. */ - atomic_bool closed; - atomic_bool listening; - atomic_bool listen_error; - isc_refcount_t references; + atomic_bool closed; + atomic_bool listening; + atomic_bool listen_error; + isc_refcount_t references; /*% * TCPDNS socket has been set not to pipeliine. */ - atomic_bool sequential; + atomic_bool sequential; /*% * TCPDNS socket has exceeded the maximum number of * simultaneous requests per connecton, so will be temporarily * restricted from pipelining. */ - atomic_bool overlimit; + atomic_bool overlimit; /*% * TCPDNS socket in sequential mode is currently processing a packet, * we need to wait until it finishes. */ - atomic_bool processing; + atomic_bool processing; /*% * A TCP socket has had isc_nm_pauseread() called. */ - atomic_bool readpaused; + atomic_bool readpaused; /*% * A TCP or TCPDNS socket has been set to use the keepalive * timeout instead of the default idle timeout. */ - atomic_bool keepalive; + atomic_bool keepalive; /*% * 'spare' handles for that can be reused to avoid allocations, * for UDP. */ - isc_astack_t *inactivehandles; - isc_astack_t *inactivereqs; + isc_astack_t *inactivehandles; + isc_astack_t *inactivereqs; /*% * Used to wait for TCP listening events to complete, and * for the number of running children to reach zero during * shutdown. */ - isc_mutex_t lock; - isc_condition_t cond; + isc_mutex_t lock; + isc_condition_t cond; /*% * Used to pass a result back from TCP listening events. */ - isc_result_t result; + isc_result_t result; /*% * List of active handles. @@ -492,28 +488,28 @@ struct isc_nmsocket { * might want to change it to something lockless in the * future. */ - atomic_int_fast32_t ah; - size_t ah_size; - size_t *ah_frees; - isc_nmhandle_t **ah_handles; + atomic_int_fast32_t ah; + size_t ah_size; + size_t * ah_frees; + isc_nmhandle_t ** ah_handles; /*% Buffer for TCPDNS processing */ - size_t buf_size; - size_t buf_len; - unsigned char *buf; + size_t buf_size; + size_t buf_len; + unsigned char *buf; /*% * This function will be called with handle->sock * as the argument whenever a handle's references drop * to zero, after its reset callback has been called. */ - isc_nm_opaquecb_t closehandle_cb; + isc_nm_opaquecb_t closehandle_cb; - isc__nm_readcb_t rcb; - void *rcbarg; + isc__nm_readcb_t rcb; + void * rcbarg; - isc__nm_cb_t accept_cb; - void *accept_cbarg; + isc__nm_cb_t accept_cb; + void * accept_cbarg; }; bool @@ -557,7 +553,6 @@ isc__nm_free_uvbuf(isc_nmsocket_t *sock, const uv_buf_t *buf); * as "not in use". */ - isc_nmhandle_t * isc__nmhandle_get(isc_nmsocket_t *sock, isc_sockaddr_t *peer, isc_sockaddr_t *local); @@ -589,8 +584,8 @@ isc__nm_uvreq_put(isc__nm_uvreq_t **req, isc_nmsocket_t *sock); */ void -isc__nmsocket_init(isc_nmsocket_t *sock, isc_nm_t *mgr, - isc_nmsocket_type type, isc_nmiface_t *iface); +isc__nmsocket_init(isc_nmsocket_t *sock, isc_nm_t *mgr, isc_nmsocket_type type, + isc_nmiface_t *iface); /*%< * Initialize socket 'sock', attach it to 'mgr', and set it to type 'type' * and its interface to 'iface'. @@ -624,8 +619,8 @@ isc__nm_async_shutdown(isc__networker_t *worker, isc__netievent_t *ev0); */ isc_result_t -isc__nm_udp_send(isc_nmhandle_t *handle, isc_region_t *region, - isc_nm_cb_t cb, void *cbarg); +isc__nm_udp_send(isc_nmhandle_t *handle, isc_region_t *region, isc_nm_cb_t cb, + void *cbarg); /*%< * Back-end implemenation of isc_nm_send() for UDP handles. */ @@ -642,8 +637,8 @@ isc__nm_async_udpsend(isc__networker_t *worker, isc__netievent_t *ev0); */ isc_result_t -isc__nm_tcp_send(isc_nmhandle_t *handle, isc_region_t *region, - isc_nm_cb_t cb, void *cbarg); +isc__nm_tcp_send(isc_nmhandle_t *handle, isc_region_t *region, isc_nm_cb_t cb, + void *cbarg); /*%< * Back-end implemenation of isc_nm_send() for TCP handles. */ @@ -702,8 +697,8 @@ isc__nm_async_tcpdnsclose(isc__networker_t *worker, isc__netievent_t *ev0); #define isc__nm_uverr2result(x) \ isc___nm_uverr2result(x, true, __FILE__, __LINE__) isc_result_t -isc___nm_uverr2result(int uverr, bool dolog, - const char *file, unsigned int line); +isc___nm_uverr2result(int uverr, bool dolog, const char *file, + unsigned int line); /*%< * Convert a libuv error value into an isc_result_t. The * list of supported error values is not complete; new users diff --git a/lib/isc/netmgr/netmgr.c b/lib/isc/netmgr/netmgr.c index c66e568dce..f4361575cc 100644 --- a/lib/isc/netmgr/netmgr.c +++ b/lib/isc/netmgr/netmgr.c @@ -19,8 +19,8 @@ #include #include #include -#include #include +#include #include #include #include @@ -30,8 +30,8 @@ #include #include -#include "uv-compat.h" #include "netmgr-int.h" +#include "uv-compat.h" /*% * Shortcut index arrays to get access to statistics counters. @@ -66,30 +66,20 @@ static const isc_statscounter_t udp6statsindex[] = { }; static const isc_statscounter_t tcp4statsindex[] = { - isc_sockstatscounter_tcp4open, - isc_sockstatscounter_tcp4openfail, - isc_sockstatscounter_tcp4close, - isc_sockstatscounter_tcp4bindfail, - isc_sockstatscounter_tcp4connectfail, - isc_sockstatscounter_tcp4connect, - isc_sockstatscounter_tcp4acceptfail, - isc_sockstatscounter_tcp4accept, - isc_sockstatscounter_tcp4sendfail, - isc_sockstatscounter_tcp4recvfail, + isc_sockstatscounter_tcp4open, isc_sockstatscounter_tcp4openfail, + isc_sockstatscounter_tcp4close, isc_sockstatscounter_tcp4bindfail, + isc_sockstatscounter_tcp4connectfail, isc_sockstatscounter_tcp4connect, + isc_sockstatscounter_tcp4acceptfail, isc_sockstatscounter_tcp4accept, + isc_sockstatscounter_tcp4sendfail, isc_sockstatscounter_tcp4recvfail, isc_sockstatscounter_tcp4active }; static const isc_statscounter_t tcp6statsindex[] = { - isc_sockstatscounter_tcp6open, - isc_sockstatscounter_tcp6openfail, - isc_sockstatscounter_tcp6close, - isc_sockstatscounter_tcp6bindfail, - isc_sockstatscounter_tcp6connectfail, - isc_sockstatscounter_tcp6connect, - isc_sockstatscounter_tcp6acceptfail, - isc_sockstatscounter_tcp6accept, - isc_sockstatscounter_tcp6sendfail, - isc_sockstatscounter_tcp6recvfail, + isc_sockstatscounter_tcp6open, isc_sockstatscounter_tcp6openfail, + isc_sockstatscounter_tcp6close, isc_sockstatscounter_tcp6bindfail, + isc_sockstatscounter_tcp6connectfail, isc_sockstatscounter_tcp6connect, + isc_sockstatscounter_tcp6acceptfail, isc_sockstatscounter_tcp6accept, + isc_sockstatscounter_tcp6sendfail, isc_sockstatscounter_tcp6recvfail, isc_sockstatscounter_tcp6active }; @@ -133,24 +123,25 @@ static void process_queue(isc__networker_t *worker, isc_queue_t *queue); int -isc_nm_tid() { +isc_nm_tid() +{ return (isc__nm_tid_v); } bool -isc__nm_in_netthread() { +isc__nm_in_netthread() +{ return (isc__nm_tid_v >= 0); } isc_nm_t * -isc_nm_start(isc_mem_t *mctx, uint32_t workers) { +isc_nm_start(isc_mem_t *mctx, uint32_t workers) +{ isc_nm_t *mgr = NULL; - char name[32]; + char name[32]; mgr = isc_mem_get(mctx, sizeof(*mgr)); - *mgr = (isc_nm_t) { - .nworkers = workers - }; + *mgr = (isc_nm_t){ .nworkers = workers }; isc_mem_attach(mctx, &mgr->mctx); isc_mutex_init(&mgr->lock); @@ -188,9 +179,9 @@ isc_nm_start(isc_mem_t *mctx, uint32_t workers) { mgr->workers = isc_mem_get(mctx, workers * sizeof(isc__networker_t)); for (size_t i = 0; i < workers; i++) { - int r; + int r; isc__networker_t *worker = &mgr->workers[i]; - *worker = (isc__networker_t) { + *worker = (isc__networker_t){ .mgr = mgr, .id = i, }; @@ -230,7 +221,8 @@ isc_nm_start(isc_mem_t *mctx, uint32_t workers) { * Free the resources of the network manager. */ static void -nm_destroy(isc_nm_t **mgr0) { +nm_destroy(isc_nm_t **mgr0) +{ REQUIRE(VALID_NM(*mgr0)); REQUIRE(!isc__nm_in_netthread()); @@ -260,18 +252,16 @@ nm_destroy(isc_nm_t **mgr0) { for (size_t i = 0; i < mgr->nworkers; i++) { isc__networker_t *worker = &mgr->workers[i]; isc__netievent_t *ievent = NULL; - int r; + int r; /* Empty the async event queues */ - while ((ievent = (isc__netievent_t *) - isc_queue_dequeue(worker->ievents)) != NULL) - { + while ((ievent = (isc__netievent_t *)isc_queue_dequeue( + worker->ievents)) != NULL) { isc_mempool_put(mgr->evpool, ievent); } - while ((ievent = (isc__netievent_t *) - isc_queue_dequeue(worker->ievents_prio)) != NULL) - { + while ((ievent = (isc__netievent_t *)isc_queue_dequeue( + worker->ievents_prio)) != NULL) { isc_mempool_put(mgr->evpool, ievent); } @@ -302,7 +292,8 @@ nm_destroy(isc_nm_t **mgr0) { } void -isc_nm_pause(isc_nm_t *mgr) { +isc_nm_pause(isc_nm_t *mgr) +{ REQUIRE(VALID_NM(mgr)); REQUIRE(!isc__nm_in_netthread()); @@ -326,15 +317,15 @@ isc_nm_pause(isc_nm_t *mgr) { LOCK(&mgr->lock); while (atomic_load_relaxed(&mgr->workers_paused) != - atomic_load_relaxed(&mgr->workers_running)) - { + atomic_load_relaxed(&mgr->workers_running)) { WAIT(&mgr->wkstatecond, &mgr->lock); } UNLOCK(&mgr->lock); } void -isc_nm_resume(isc_nm_t *mgr) { +isc_nm_resume(isc_nm_t *mgr) +{ REQUIRE(VALID_NM(mgr)); REQUIRE(!isc__nm_in_netthread()); @@ -353,7 +344,8 @@ isc_nm_resume(isc_nm_t *mgr) { } void -isc_nm_attach(isc_nm_t *mgr, isc_nm_t **dst) { +isc_nm_attach(isc_nm_t *mgr, isc_nm_t **dst) +{ REQUIRE(VALID_NM(mgr)); REQUIRE(dst != NULL && *dst == NULL); @@ -363,7 +355,8 @@ isc_nm_attach(isc_nm_t *mgr, isc_nm_t **dst) { } void -isc_nm_detach(isc_nm_t **mgr0) { +isc_nm_detach(isc_nm_t **mgr0) +{ isc_nm_t *mgr = NULL; REQUIRE(mgr0 != NULL); @@ -378,7 +371,8 @@ isc_nm_detach(isc_nm_t **mgr0) { } void -isc_nm_closedown(isc_nm_t *mgr) { +isc_nm_closedown(isc_nm_t *mgr) +{ REQUIRE(VALID_NM(mgr)); atomic_store(&mgr->closing, true); @@ -390,7 +384,8 @@ isc_nm_closedown(isc_nm_t *mgr) { } void -isc_nm_destroy(isc_nm_t **mgr0) { +isc_nm_destroy(isc_nm_t **mgr0) +{ isc_nm_t *mgr = NULL; REQUIRE(mgr0 != NULL); @@ -429,7 +424,8 @@ isc_nm_destroy(isc_nm_t **mgr0) { } void -isc_nm_maxudp(isc_nm_t *mgr, uint32_t maxudp) { +isc_nm_maxudp(isc_nm_t *mgr, uint32_t maxudp) +{ REQUIRE(VALID_NM(mgr)); atomic_store(&mgr->maxudp, maxudp); @@ -475,14 +471,15 @@ isc_nm_tcp_gettimeouts(isc_nm_t *mgr, uint32_t *initial, uint32_t *idle, * until asked to stop. */ static isc_threadresult_t -nm_thread(isc_threadarg_t worker0) { - isc__networker_t *worker = (isc__networker_t *) worker0; +nm_thread(isc_threadarg_t worker0) +{ + isc__networker_t *worker = (isc__networker_t *)worker0; isc__nm_tid_v = worker->id; isc_thread_setaffinity(isc__nm_tid_v); while (true) { - int r = uv_run(&worker->loop, UV_RUN_DEFAULT); + int r = uv_run(&worker->loop, UV_RUN_DEFAULT); bool pausing = false; /* @@ -494,8 +491,8 @@ nm_thread(isc_threadarg_t worker0) { LOCK(&worker->mgr->lock); if (!pausing) { atomic_fetch_add_explicit( - &worker->mgr->workers_paused, - 1, memory_order_acquire); + &worker->mgr->workers_paused, 1, + memory_order_acquire); pausing = true; } @@ -509,8 +506,8 @@ nm_thread(isc_threadarg_t worker0) { } if (pausing) { uint32_t wp = atomic_fetch_sub_explicit( - &worker->mgr->workers_paused, - 1, memory_order_release); + &worker->mgr->workers_paused, 1, + memory_order_release); if (wp == 1) { atomic_store(&worker->mgr->paused, false); } @@ -575,19 +572,20 @@ nm_thread(isc_threadarg_t worker0) { * passed from other threads. */ static void -async_cb(uv_async_t *handle) { - isc__networker_t *worker = (isc__networker_t *) handle->loop->data; +async_cb(uv_async_t *handle) +{ + isc__networker_t *worker = (isc__networker_t *)handle->loop->data; process_queue(worker, worker->ievents_prio); process_queue(worker, worker->ievents); } static void -process_queue(isc__networker_t *worker, isc_queue_t *queue) { +process_queue(isc__networker_t *worker, isc_queue_t *queue) +{ isc__netievent_t *ievent = NULL; - while ((ievent = (isc__netievent_t *) - isc_queue_dequeue(queue)) != NULL) - { + while ((ievent = (isc__netievent_t *)isc_queue_dequeue(queue)) != + NULL) { switch (ievent->type) { case netievent_stop: uv_stop(&worker->loop); @@ -648,22 +646,23 @@ process_queue(isc__networker_t *worker, isc_queue_t *queue) { } void * -isc__nm_get_ievent(isc_nm_t *mgr, isc__netievent_type type) { +isc__nm_get_ievent(isc_nm_t *mgr, isc__netievent_type type) +{ isc__netievent_storage_t *event = isc_mempool_get(mgr->evpool); - *event = (isc__netievent_storage_t) { - .ni.type = type - }; + *event = (isc__netievent_storage_t){ .ni.type = type }; return (event); } void -isc__nm_put_ievent(isc_nm_t *mgr, void *ievent) { +isc__nm_put_ievent(isc_nm_t *mgr, void *ievent) +{ isc_mempool_put(mgr->evpool, ievent); } void -isc__nm_enqueue_ievent(isc__networker_t *worker, isc__netievent_t *event) { +isc__nm_enqueue_ievent(isc__networker_t *worker, isc__netievent_t *event) +{ if (event->type > netievent_prio) { /* * We need to make sure this signal will be delivered and @@ -680,7 +679,8 @@ isc__nm_enqueue_ievent(isc__networker_t *worker, isc__netievent_t *event) { } bool -isc__nmsocket_active(isc_nmsocket_t *sock) { +isc__nmsocket_active(isc_nmsocket_t *sock) +{ REQUIRE(VALID_NMSOCK(sock)); if (sock->parent != NULL) { return (atomic_load(&sock->parent->active)); @@ -690,7 +690,8 @@ isc__nmsocket_active(isc_nmsocket_t *sock) { } void -isc_nmsocket_attach(isc_nmsocket_t *sock, isc_nmsocket_t **target) { +isc_nmsocket_attach(isc_nmsocket_t *sock, isc_nmsocket_t **target) +{ REQUIRE(VALID_NMSOCK(sock)); REQUIRE(target != NULL && *target == NULL); @@ -708,8 +709,9 @@ isc_nmsocket_attach(isc_nmsocket_t *sock, isc_nmsocket_t **target) { * Free all resources inside a socket (including its children if any). */ static void -nmsocket_cleanup(isc_nmsocket_t *sock, bool dofree) { - isc_nmhandle_t *handle = NULL; +nmsocket_cleanup(isc_nmsocket_t *sock, bool dofree) +{ + isc_nmhandle_t * handle = NULL; isc__nm_uvreq_t *uvreq = NULL; REQUIRE(VALID_NMSOCK(sock)); @@ -759,7 +761,7 @@ nmsocket_cleanup(isc_nmsocket_t *sock, bool dofree) { if (sock->timer_initialized) { sock->timer_initialized = false; /* We might be in timer callback */ - if (!uv_is_closing((uv_handle_t *) &sock->timer)) { + if (!uv_is_closing((uv_handle_t *)&sock->timer)) { uv_timer_stop(&sock->timer); uv_close((uv_handle_t *)&sock->timer, NULL); } @@ -786,8 +788,9 @@ nmsocket_cleanup(isc_nmsocket_t *sock, bool dofree) { } static void -nmsocket_maybe_destroy(isc_nmsocket_t *sock) { - int active_handles; +nmsocket_maybe_destroy(isc_nmsocket_t *sock) +{ + int active_handles; bool destroy = false; if (sock->parent != NULL) { @@ -807,8 +810,8 @@ nmsocket_maybe_destroy(isc_nmsocket_t *sock) { */ LOCK(&sock->lock); if (atomic_load(&sock->active) || atomic_load(&sock->destroying) || - !atomic_load(&sock->closed) || atomic_load(&sock->references) != 0) - { + !atomic_load(&sock->closed) || + atomic_load(&sock->references) != 0) { UNLOCK(&sock->lock); return; } @@ -833,7 +836,8 @@ nmsocket_maybe_destroy(isc_nmsocket_t *sock) { } void -isc__nmsocket_prep_destroy(isc_nmsocket_t *sock) { +isc__nmsocket_prep_destroy(isc_nmsocket_t *sock) +{ REQUIRE(sock->parent == NULL); /* @@ -878,7 +882,8 @@ isc__nmsocket_prep_destroy(isc_nmsocket_t *sock) { } void -isc_nmsocket_detach(isc_nmsocket_t **sockp) { +isc_nmsocket_detach(isc_nmsocket_t **sockp) +{ REQUIRE(sockp != NULL && *sockp != NULL); REQUIRE(VALID_NMSOCK(*sockp)); @@ -899,22 +904,21 @@ isc_nmsocket_detach(isc_nmsocket_t **sockp) { if (isc_refcount_decrement(&rsock->references) == 1) { isc__nmsocket_prep_destroy(rsock); } - } void -isc__nmsocket_init(isc_nmsocket_t *sock, isc_nm_t *mgr, - isc_nmsocket_type type, isc_nmiface_t *iface) +isc__nmsocket_init(isc_nmsocket_t *sock, isc_nm_t *mgr, isc_nmsocket_type type, + isc_nmiface_t *iface) { uint16_t family; REQUIRE(sock != NULL); REQUIRE(mgr != NULL); - REQUIRE(iface!= NULL); + REQUIRE(iface != NULL); family = iface->addr.type.sa.sa_family; - *sock = (isc_nmsocket_t) { + *sock = (isc_nmsocket_t){ .type = type, .iface = iface, .fd = -1, @@ -926,10 +930,10 @@ isc__nmsocket_init(isc_nmsocket_t *sock, isc_nm_t *mgr, isc_nm_attach(mgr, &sock->mgr); sock->uv_handle.handle.data = sock; - sock->ah_frees = isc_mem_allocate(mgr->mctx, - sock->ah_size * sizeof(size_t)); - sock->ah_handles = isc_mem_allocate(mgr->mctx, - sock->ah_size * sizeof(isc_nmhandle_t *)); + sock->ah_frees = + isc_mem_allocate(mgr->mctx, sock->ah_size * sizeof(size_t)); + sock->ah_handles = isc_mem_allocate( + mgr->mctx, sock->ah_size * sizeof(isc_nmhandle_t *)); for (size_t i = 0; i < 32; i++) { sock->ah_frees[i] = i; sock->ah_handles[i] = NULL; @@ -973,8 +977,9 @@ isc__nmsocket_init(isc_nmsocket_t *sock, isc_nm_t *mgr, } void -isc__nm_alloc_cb(uv_handle_t *handle, size_t size, uv_buf_t *buf) { - isc_nmsocket_t *sock = uv_handle_get_data(handle); +isc__nm_alloc_cb(uv_handle_t *handle, size_t size, uv_buf_t *buf) +{ + isc_nmsocket_t * sock = uv_handle_get_data(handle); isc__networker_t *worker = NULL; REQUIRE(VALID_NMSOCK(sock)); @@ -990,7 +995,8 @@ isc__nm_alloc_cb(uv_handle_t *handle, size_t size, uv_buf_t *buf) { } void -isc__nm_free_uvbuf(isc_nmsocket_t *sock, const uv_buf_t *buf) { +isc__nm_free_uvbuf(isc_nmsocket_t *sock, const uv_buf_t *buf) +{ isc__networker_t *worker = NULL; REQUIRE(VALID_NMSOCK(sock)); @@ -1007,14 +1013,13 @@ isc__nm_free_uvbuf(isc_nmsocket_t *sock, const uv_buf_t *buf) { } static isc_nmhandle_t * -alloc_handle(isc_nmsocket_t *sock) { +alloc_handle(isc_nmsocket_t *sock) +{ isc_nmhandle_t *handle = isc_mem_get(sock->mgr->mctx, sizeof(isc_nmhandle_t) + sock->extrahandlesize); - *handle = (isc_nmhandle_t) { - .magic = NMHANDLE_MAGIC - }; + *handle = (isc_nmhandle_t){ .magic = NMHANDLE_MAGIC }; isc_refcount_init(&handle->references, 1); return (handle); @@ -1025,8 +1030,8 @@ isc__nmhandle_get(isc_nmsocket_t *sock, isc_sockaddr_t *peer, isc_sockaddr_t *local) { isc_nmhandle_t *handle = NULL; - size_t handlenum; - int pos; + size_t handlenum; + int pos; REQUIRE(VALID_NMSOCK(sock)); @@ -1058,16 +1063,13 @@ isc__nmhandle_get(isc_nmsocket_t *sock, isc_sockaddr_t *peer, LOCK(&sock->lock); /* We need to add this handle to the list of active handles */ - if ((size_t) atomic_load(&sock->ah) == sock->ah_size) { + if ((size_t)atomic_load(&sock->ah) == sock->ah_size) { sock->ah_frees = isc_mem_reallocate(sock->mgr->mctx, sock->ah_frees, - sock->ah_size * 2 * - sizeof(size_t)); - sock->ah_handles = - isc_mem_reallocate(sock->mgr->mctx, - sock->ah_handles, - sock->ah_size * 2 * - sizeof(isc_nmhandle_t *)); + sock->ah_size * 2 * sizeof(size_t)); + sock->ah_handles = isc_mem_reallocate( + sock->mgr->mctx, sock->ah_handles, + sock->ah_size * 2 * sizeof(isc_nmhandle_t *)); for (size_t i = sock->ah_size; i < sock->ah_size * 2; i++) { sock->ah_frees[i] = i; @@ -1094,22 +1096,25 @@ isc__nmhandle_get(isc_nmsocket_t *sock, isc_sockaddr_t *peer, } void -isc_nmhandle_ref(isc_nmhandle_t *handle) { +isc_nmhandle_ref(isc_nmhandle_t *handle) +{ REQUIRE(VALID_NMHANDLE(handle)); isc_refcount_increment(&handle->references); } bool -isc_nmhandle_is_stream(isc_nmhandle_t *handle) { +isc_nmhandle_is_stream(isc_nmhandle_t *handle) +{ REQUIRE(VALID_NMHANDLE(handle)); return (handle->sock->type == isc_nm_tcpsocket || - handle->sock->type == isc_nm_tcpdnssocket); + handle->sock->type == isc_nm_tcpdnssocket); } static void -nmhandle_free(isc_nmsocket_t *sock, isc_nmhandle_t *handle) { +nmhandle_free(isc_nmsocket_t *sock, isc_nmhandle_t *handle) +{ size_t extra = sock->extrahandlesize; isc_refcount_destroy(&handle->references); @@ -1118,15 +1123,14 @@ nmhandle_free(isc_nmsocket_t *sock, isc_nmhandle_t *handle) { handle->dofree(handle->opaque); } - *handle = (isc_nmhandle_t) { - .magic = 0 - }; + *handle = (isc_nmhandle_t){ .magic = 0 }; isc_mem_put(sock->mgr->mctx, handle, sizeof(isc_nmhandle_t) + extra); } static void -nmhandle_deactivate(isc_nmsocket_t *sock, isc_nmhandle_t *handle) { +nmhandle_deactivate(isc_nmsocket_t *sock, isc_nmhandle_t *handle) +{ /* * We do all of this under lock to avoid races with socket * destruction. We have to do this now, because at this point the @@ -1144,8 +1148,7 @@ nmhandle_deactivate(isc_nmsocket_t *sock, isc_nmhandle_t *handle) { handle->ah_pos = 0; bool reuse = false; if (atomic_load(&sock->active)) { - reuse = isc_astack_trypush(sock->inactivehandles, - handle); + reuse = isc_astack_trypush(sock->inactivehandles, handle); } if (!reuse) { nmhandle_free(sock, handle); @@ -1154,7 +1157,8 @@ nmhandle_deactivate(isc_nmsocket_t *sock, isc_nmhandle_t *handle) { } void -isc_nmhandle_unref(isc_nmhandle_t *handle) { +isc_nmhandle_unref(isc_nmhandle_t *handle) +{ isc_nmsocket_t *sock = NULL, *tmp = NULL; REQUIRE(VALID_NMHANDLE(handle)); @@ -1179,13 +1183,12 @@ isc_nmhandle_unref(isc_nmhandle_t *handle) { if (sock->tid == isc_nm_tid()) { sock->closehandle_cb(sock); } else { - isc__netievent_closecb_t *event = - isc__nm_get_ievent(sock->mgr, - netievent_closecb); + isc__netievent_closecb_t *event = isc__nm_get_ievent( + sock->mgr, netievent_closecb); isc_nmsocket_attach(sock, &event->sock); event->handle = handle; isc__nm_enqueue_ievent(&sock->mgr->workers[sock->tid], - (isc__netievent_t *) event); + (isc__netievent_t *)event); /* * If we're doing this asynchronously, then the @@ -1207,7 +1210,8 @@ isc_nmhandle_unref(isc_nmhandle_t *handle) { } void * -isc_nmhandle_getdata(isc_nmhandle_t *handle) { +isc_nmhandle_getdata(isc_nmhandle_t *handle) +{ REQUIRE(VALID_NMHANDLE(handle)); return (handle->opaque); @@ -1225,28 +1229,32 @@ isc_nmhandle_setdata(isc_nmhandle_t *handle, void *arg, } void * -isc_nmhandle_getextra(isc_nmhandle_t *handle) { +isc_nmhandle_getextra(isc_nmhandle_t *handle) +{ REQUIRE(VALID_NMHANDLE(handle)); return (handle->extra); } isc_sockaddr_t -isc_nmhandle_peeraddr(isc_nmhandle_t *handle) { +isc_nmhandle_peeraddr(isc_nmhandle_t *handle) +{ REQUIRE(VALID_NMHANDLE(handle)); return (handle->peer); } isc_sockaddr_t -isc_nmhandle_localaddr(isc_nmhandle_t *handle) { +isc_nmhandle_localaddr(isc_nmhandle_t *handle) +{ REQUIRE(VALID_NMHANDLE(handle)); return (handle->local); } isc_nm_t * -isc_nmhandle_netmgr(isc_nmhandle_t *handle) { +isc_nmhandle_netmgr(isc_nmhandle_t *handle) +{ REQUIRE(VALID_NMHANDLE(handle)); REQUIRE(VALID_NMSOCK(handle->sock)); @@ -1254,7 +1262,8 @@ isc_nmhandle_netmgr(isc_nmhandle_t *handle) { } isc__nm_uvreq_t * -isc__nm_uvreq_get(isc_nm_t *mgr, isc_nmsocket_t *sock) { +isc__nm_uvreq_get(isc_nm_t *mgr, isc_nmsocket_t *sock) +{ isc__nm_uvreq_t *req = NULL; REQUIRE(VALID_NM(mgr)); @@ -1269,9 +1278,7 @@ isc__nm_uvreq_get(isc_nm_t *mgr, isc_nmsocket_t *sock) { req = isc_mempool_get(mgr->reqpool); } - *req = (isc__nm_uvreq_t) { - .magic = 0 - }; + *req = (isc__nm_uvreq_t){ .magic = 0 }; req->uv_req.req.data = req; isc_nmsocket_attach(sock, &req->sock); req->magic = UVREQ_MAGIC; @@ -1280,9 +1287,10 @@ isc__nm_uvreq_get(isc_nm_t *mgr, isc_nmsocket_t *sock) { } void -isc__nm_uvreq_put(isc__nm_uvreq_t **req0, isc_nmsocket_t *sock) { +isc__nm_uvreq_put(isc__nm_uvreq_t **req0, isc_nmsocket_t *sock) +{ isc__nm_uvreq_t *req = NULL; - isc_nmhandle_t *handle = NULL; + isc_nmhandle_t * handle = NULL; REQUIRE(req0 != NULL); REQUIRE(VALID_UVREQ(*req0)); @@ -1302,8 +1310,7 @@ isc__nm_uvreq_put(isc__nm_uvreq_t **req0, isc_nmsocket_t *sock) { req->handle = NULL; if (!atomic_load(&sock->active) || - !isc_astack_trypush(sock->inactivereqs, req)) - { + !isc_astack_trypush(sock->inactivereqs, req)) { isc_mempool_put(sock->mgr->reqpool, req); } @@ -1315,8 +1322,8 @@ isc__nm_uvreq_put(isc__nm_uvreq_t **req0, isc_nmsocket_t *sock) { } isc_result_t -isc_nm_send(isc_nmhandle_t *handle, isc_region_t *region, - isc_nm_cb_t cb, void *cbarg) +isc_nm_send(isc_nmhandle_t *handle, isc_region_t *region, isc_nm_cb_t cb, + void *cbarg) { REQUIRE(VALID_NMHANDLE(handle)); @@ -1335,9 +1342,9 @@ isc_nm_send(isc_nmhandle_t *handle, isc_region_t *region, } void -isc__nm_async_closecb(isc__networker_t *worker, isc__netievent_t *ev0) { - isc__netievent_closecb_t *ievent = - (isc__netievent_closecb_t *) ev0; +isc__nm_async_closecb(isc__networker_t *worker, isc__netievent_t *ev0) +{ + isc__netievent_closecb_t *ievent = (isc__netievent_closecb_t *)ev0; REQUIRE(VALID_NMSOCK(ievent->sock)); REQUIRE(ievent->sock->tid == isc_nm_tid()); @@ -1352,10 +1359,11 @@ isc__nm_async_closecb(isc__networker_t *worker, isc__netievent_t *ev0) { } static void -shutdown_walk_cb(uv_handle_t *handle, void *arg) { +shutdown_walk_cb(uv_handle_t *handle, void *arg) +{ UNUSED(arg); - switch(handle->type) { + switch (handle->type) { case UV_TCP: isc__nm_tcp_shutdown(uv_handle_get_data(handle)); break; @@ -1365,43 +1373,47 @@ shutdown_walk_cb(uv_handle_t *handle, void *arg) { } void -isc__nm_async_shutdown(isc__networker_t *worker, isc__netievent_t *ev0) { +isc__nm_async_shutdown(isc__networker_t *worker, isc__netievent_t *ev0) +{ UNUSED(ev0); uv_walk(&worker->loop, shutdown_walk_cb, NULL); } bool -isc__nm_acquire_interlocked(isc_nm_t *mgr) { +isc__nm_acquire_interlocked(isc_nm_t *mgr) +{ LOCK(&mgr->lock); bool success = atomic_compare_exchange_strong(&mgr->interlocked, - &(bool){false}, true); + &(bool){ false }, true); UNLOCK(&mgr->lock); return (success); } void -isc__nm_drop_interlocked(isc_nm_t *mgr) { +isc__nm_drop_interlocked(isc_nm_t *mgr) +{ LOCK(&mgr->lock); bool success = atomic_compare_exchange_strong(&mgr->interlocked, - &(bool){true}, false); + &(bool){ true }, false); INSIST(success == true); BROADCAST(&mgr->wkstatecond); UNLOCK(&mgr->lock); } void -isc__nm_acquire_interlocked_force(isc_nm_t *mgr) { +isc__nm_acquire_interlocked_force(isc_nm_t *mgr) +{ LOCK(&mgr->lock); while (!atomic_compare_exchange_strong(&mgr->interlocked, - &(bool){false}, true)) - { + &(bool){ false }, true)) { WAIT(&mgr->wkstatecond, &mgr->lock); } UNLOCK(&mgr->lock); } void -isc_nm_setstats(isc_nm_t *mgr, isc_stats_t *stats) { +isc_nm_setstats(isc_nm_t *mgr, isc_stats_t *stats) +{ REQUIRE(VALID_NM(mgr)); REQUIRE(mgr->stats == NULL); REQUIRE(isc_stats_ncounters(stats) == isc_sockstatscounter_max); @@ -1409,9 +1421,9 @@ isc_nm_setstats(isc_nm_t *mgr, isc_stats_t *stats) { isc_stats_attach(stats, &mgr->stats); } - void -isc__nm_incstats(isc_nm_t *mgr, isc_statscounter_t counterid) { +isc__nm_incstats(isc_nm_t *mgr, isc_statscounter_t counterid) +{ REQUIRE(VALID_NM(mgr)); REQUIRE(counterid != -1); @@ -1421,7 +1433,8 @@ isc__nm_incstats(isc_nm_t *mgr, isc_statscounter_t counterid) { } void -isc__nm_decstats(isc_nm_t *mgr, isc_statscounter_t counterid) { +isc__nm_decstats(isc_nm_t *mgr, isc_statscounter_t counterid) +{ REQUIRE(VALID_NM(mgr)); REQUIRE(counterid != -1); diff --git a/lib/isc/netmgr/tcp.c b/lib/isc/netmgr/tcp.c index e0c566e176..a83fede0d2 100644 --- a/lib/isc/netmgr/tcp.c +++ b/lib/isc/netmgr/tcp.c @@ -9,8 +9,8 @@ * information regarding copyright ownership. */ -#include #include +#include #include #include @@ -29,8 +29,8 @@ #include #include -#include "uv-compat.h" #include "netmgr-int.h" +#include "uv-compat.h" static int tcp_connect_direct(isc_nmsocket_t *sock, isc__nm_uvreq_t *req); @@ -58,9 +58,10 @@ static void tcp_listenclose_cb(uv_handle_t *handle); static int -tcp_connect_direct(isc_nmsocket_t *sock, isc__nm_uvreq_t *req) { +tcp_connect_direct(isc_nmsocket_t *sock, isc__nm_uvreq_t *req) +{ isc__networker_t *worker = NULL; - int r; + int r; REQUIRE(isc__nm_in_netthread()); @@ -88,12 +89,13 @@ tcp_connect_direct(isc_nmsocket_t *sock, isc__nm_uvreq_t *req) { } void -isc__nm_async_tcpconnect(isc__networker_t *worker, isc__netievent_t *ev0) { +isc__nm_async_tcpconnect(isc__networker_t *worker, isc__netievent_t *ev0) +{ isc__netievent_tcpconnect_t *ievent = - (isc__netievent_tcpconnect_t *) ev0; - isc_nmsocket_t *sock = ievent->sock; + (isc__netievent_tcpconnect_t *)ev0; + isc_nmsocket_t * sock = ievent->sock; isc__nm_uvreq_t *req = ievent->req; - int r; + int r; REQUIRE(sock->type == isc_nm_tcpsocket); REQUIRE(worker->id == ievent->req->sock->mgr->workers[isc_nm_tid()].id); @@ -106,24 +108,24 @@ isc__nm_async_tcpconnect(isc__networker_t *worker, isc__netievent_t *ev0) { } static void -tcp_connect_cb(uv_connect_t *uvreq, int status) { - isc__nm_uvreq_t *req = (isc__nm_uvreq_t *) uvreq->data; - isc_nmsocket_t *sock = NULL; - sock = uv_handle_get_data((uv_handle_t *) uvreq->handle); +tcp_connect_cb(uv_connect_t *uvreq, int status) +{ + isc__nm_uvreq_t *req = (isc__nm_uvreq_t *)uvreq->data; + isc_nmsocket_t * sock = NULL; + sock = uv_handle_get_data((uv_handle_t *)uvreq->handle); REQUIRE(VALID_UVREQ(req)); if (status == 0) { - isc_result_t result; - isc_nmhandle_t *handle = NULL; + isc_result_t result; + isc_nmhandle_t * handle = NULL; struct sockaddr_storage ss; isc__nm_incstats(sock->mgr, sock->statsindex[STATID_CONNECT]); - uv_tcp_getpeername(&sock->uv_handle.tcp, - (struct sockaddr *) &ss, - &(int){sizeof(ss)}); + uv_tcp_getpeername(&sock->uv_handle.tcp, (struct sockaddr *)&ss, + &(int){ sizeof(ss) }); result = isc_sockaddr_fromsockaddr(&sock->peer, - (struct sockaddr *) &ss); + (struct sockaddr *)&ss); RUNTIME_CHECK(result == ISC_R_SUCCESS); handle = isc__nmhandle_get(sock, NULL, NULL); @@ -142,12 +144,11 @@ tcp_connect_cb(uv_connect_t *uvreq, int status) { } isc_result_t -isc_nm_listentcp(isc_nm_t *mgr, isc_nmiface_t *iface, - isc_nm_cb_t cb, void *cbarg, - size_t extrahandlesize, int backlog, +isc_nm_listentcp(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nm_cb_t cb, + void *cbarg, size_t extrahandlesize, int backlog, isc_quota_t *quota, isc_nmsocket_t **sockp) { - isc_nmsocket_t *nsock = NULL; + isc_nmsocket_t * nsock = NULL; isc__netievent_tcplisten_t *ievent = NULL; REQUIRE(VALID_NM(mgr)); @@ -156,8 +157,8 @@ isc_nm_listentcp(isc_nm_t *mgr, isc_nmiface_t *iface, isc__nmsocket_init(nsock, mgr, isc_nm_tcplistener, iface); nsock->nchildren = mgr->nworkers; atomic_init(&nsock->rchildren, mgr->nworkers); - nsock->children = isc_mem_get(mgr->mctx, - mgr->nworkers * sizeof(*nsock)); + nsock->children = + isc_mem_get(mgr->mctx, mgr->nworkers * sizeof(*nsock)); memset(nsock->children, 0, mgr->nworkers * sizeof(*nsock)); nsock->rcb.accept = cb; nsock->rcbarg = cbarg; @@ -177,12 +178,12 @@ isc_nm_listentcp(isc_nm_t *mgr, isc_nmiface_t *iface, if (isc__nm_in_netthread()) { nsock->tid = isc_nm_tid(); isc__nm_async_tcplisten(&mgr->workers[nsock->tid], - (isc__netievent_t *) ievent); + (isc__netievent_t *)ievent); isc__nm_put_ievent(mgr, ievent); } else { nsock->tid = isc_random_uniform(mgr->nworkers); isc__nm_enqueue_ievent(&mgr->workers[nsock->tid], - (isc__netievent_t *) ievent); + (isc__netievent_t *)ievent); LOCK(&nsock->lock); while (!atomic_load(&nsock->listening) && @@ -214,12 +215,12 @@ isc_nm_listentcp(isc_nm_t *mgr, isc_nmiface_t *iface, * they have been deprecated and removed.) */ void -isc__nm_async_tcplisten(isc__networker_t *worker, isc__netievent_t *ev0) { - isc__netievent_tcplisten_t *ievent = - (isc__netievent_tcplisten_t *) ev0; - isc_nmsocket_t *sock = ievent->sock; - struct sockaddr_storage sname; - int r, flags = 0, snamelen = sizeof(sname); +isc__nm_async_tcplisten(isc__networker_t *worker, isc__netievent_t *ev0) +{ + isc__netievent_tcplisten_t *ievent = (isc__netievent_tcplisten_t *)ev0; + isc_nmsocket_t * sock = ievent->sock; + struct sockaddr_storage sname; + int r, flags = 0, snamelen = sizeof(sname); REQUIRE(isc__nm_in_netthread()); REQUIRE(sock->type == isc_nm_tcplistener); @@ -228,8 +229,8 @@ isc__nm_async_tcplisten(isc__networker_t *worker, isc__netievent_t *ev0) { for (int i = 0; i < sock->nchildren; i++) { isc_nmsocket_t *csock = &sock->children[i]; - isc__nmsocket_init(csock, sock->mgr, - isc_nm_tcpchildlistener, sock->iface); + isc__nmsocket_init(csock, sock->mgr, isc_nm_tcpchildlistener, + sock->iface); csock->parent = sock; csock->tid = i; csock->pquota = sock->pquota; @@ -258,8 +259,8 @@ isc__nm_async_tcplisten(isc__networker_t *worker, isc__netievent_t *ev0) { flags = UV_TCP_IPV6ONLY; } - r = uv_tcp_bind(&sock->uv_handle.tcp, - &sock->iface->addr.type.sa, flags); + r = uv_tcp_bind(&sock->uv_handle.tcp, &sock->iface->addr.type.sa, + flags); if (r != 0) { isc__nm_incstats(sock->mgr, sock->statsindex[STATID_BINDFAIL]); uv_close(&sock->uv_handle.handle, tcp_close_cb); @@ -274,8 +275,8 @@ isc__nm_async_tcplisten(isc__networker_t *worker, isc__netievent_t *ev0) { * initially returning success even if bind() fails, and this * could cause a deadlock later if we didn't check first.) */ - r = uv_tcp_getsockname(&sock->uv_handle.tcp, - (struct sockaddr*) &sname, &snamelen); + r = uv_tcp_getsockname(&sock->uv_handle.tcp, (struct sockaddr *)&sname, + &snamelen); if (r != 0) { uv_close(&sock->uv_handle.handle, tcp_close_cb); sock->result = isc__nm_uverr2result(r); @@ -290,35 +291,35 @@ isc__nm_async_tcplisten(isc__networker_t *worker, isc__netievent_t *ev0) { * the exported socket. */ for (int i = 0; i < sock->nchildren; i++) { - isc_nmsocket_t *csock = &sock->children[i]; + isc_nmsocket_t * csock = &sock->children[i]; isc__netievent_tcpchildlisten_t *event = NULL; event = isc__nm_get_ievent(csock->mgr, netievent_tcpchildlisten); - r = isc_uv_export(&sock->uv_handle.stream, - &event->streaminfo); + r = isc_uv_export(&sock->uv_handle.stream, &event->streaminfo); if (r != 0) { - isc_log_write(isc_lctx, ISC_LOGCATEGORY_GENERAL, - ISC_LOGMODULE_NETMGR, ISC_LOG_ERROR, - "uv_export failed: %s", - isc_result_totext(isc__nm_uverr2result(r))); + isc_log_write( + isc_lctx, ISC_LOGCATEGORY_GENERAL, + ISC_LOGMODULE_NETMGR, ISC_LOG_ERROR, + "uv_export failed: %s", + isc_result_totext(isc__nm_uverr2result(r))); isc__nm_put_ievent(sock->mgr, event); continue; } event->sock = csock; if (csock->tid == isc_nm_tid()) { isc__nm_async_tcpchildlisten(&sock->mgr->workers[i], - (isc__netievent_t *) event); + (isc__netievent_t *)event); isc__nm_put_ievent(sock->mgr, event); } else { isc__nm_enqueue_ievent(&sock->mgr->workers[i], - (isc__netievent_t *) event); + (isc__netievent_t *)event); } } atomic_store(&sock->listening, true); - done: +done: LOCK(&sock->lock); SIGNAL(&sock->cond); UNLOCK(&sock->lock); @@ -330,18 +331,19 @@ isc__nm_async_tcplisten(isc__networker_t *worker, isc__netievent_t *ev0) { * for the socket we'll be listening on. */ void -isc__nm_async_tcpchildlisten(isc__networker_t *worker, isc__netievent_t *ev0) { +isc__nm_async_tcpchildlisten(isc__networker_t *worker, isc__netievent_t *ev0) +{ isc__netievent_tcpchildlisten_t *ievent = - (isc__netievent_tcpchildlisten_t *) ev0; + (isc__netievent_tcpchildlisten_t *)ev0; isc_nmsocket_t *sock = ievent->sock; - int r; + int r; REQUIRE(isc__nm_in_netthread()); REQUIRE(sock->type == isc_nm_tcpchildlistener); worker = &sock->mgr->workers[isc_nm_tid()]; - uv_tcp_init(&worker->loop, (uv_tcp_t *) &sock->uv_handle.tcp); + uv_tcp_init(&worker->loop, (uv_tcp_t *)&sock->uv_handle.tcp); uv_handle_set_data(&sock->uv_handle.handle, sock); r = isc_uv_import(&sock->uv_handle.stream, &ievent->streaminfo); if (r != 0) { @@ -352,7 +354,7 @@ isc__nm_async_tcpchildlisten(isc__networker_t *worker, isc__netievent_t *ev0) { return; } - r = uv_listen((uv_stream_t *) &sock->uv_handle.tcp, sock->backlog, + r = uv_listen((uv_stream_t *)&sock->uv_handle.tcp, sock->backlog, tcp_connection_cb); if (r != 0) { @@ -364,9 +366,9 @@ isc__nm_async_tcpchildlisten(isc__networker_t *worker, isc__netievent_t *ev0) { } } - void -isc_nm_tcp_stoplistening(isc_nmsocket_t *sock) { +isc_nm_tcp_stoplistening(isc_nmsocket_t *sock) +{ isc__netievent_tcpstop_t *ievent = NULL; REQUIRE(VALID_NMSOCK(sock)); @@ -375,13 +377,14 @@ isc_nm_tcp_stoplistening(isc_nmsocket_t *sock) { ievent = isc__nm_get_ievent(sock->mgr, netievent_tcpstop); isc_nmsocket_attach(sock, &ievent->sock); isc__nm_enqueue_ievent(&sock->mgr->workers[sock->tid], - (isc__netievent_t *) ievent); + (isc__netievent_t *)ievent); } void -isc__nm_async_tcpstop(isc__networker_t *worker, isc__netievent_t *ev0) { - isc__netievent_tcpstop_t *ievent = (isc__netievent_tcpstop_t *) ev0; - isc_nmsocket_t *sock = ievent->sock; +isc__nm_async_tcpstop(isc__networker_t *worker, isc__netievent_t *ev0) +{ + isc__netievent_tcpstop_t *ievent = (isc__netievent_tcpstop_t *)ev0; + isc_nmsocket_t * sock = ievent->sock; UNUSED(worker); @@ -395,11 +398,10 @@ isc__nm_async_tcpstop(isc__networker_t *worker, isc__netievent_t *ev0) { if (!isc__nm_acquire_interlocked(sock->mgr)) { isc__netievent_tcpstop_t *event = NULL; - event = isc__nm_get_ievent(sock->mgr, - netievent_tcpstop); + event = isc__nm_get_ievent(sock->mgr, netievent_tcpstop); event->sock = sock; isc__nm_enqueue_ievent(&sock->mgr->workers[sock->tid], - (isc__netievent_t *) event); + (isc__netievent_t *)event); } else { stoplistening(sock); isc__nm_drop_interlocked(sock->mgr); @@ -407,7 +409,8 @@ isc__nm_async_tcpstop(isc__networker_t *worker, isc__netievent_t *ev0) { } static void -stoplistening(isc_nmsocket_t *sock) { +stoplistening(isc_nmsocket_t *sock) +{ for (int i = 0; i < sock->nchildren; i++) { isc__netievent_tcpchildstop_t *event = NULL; @@ -421,11 +424,11 @@ stoplistening(isc_nmsocket_t *sock) { if (isc_nm_tid() == sock->children[i].tid) { isc__nm_async_tcpchildstop(&sock->mgr->workers[i], - (isc__netievent_t *) event); + (isc__netievent_t *)event); isc__nm_put_ievent(sock->mgr, event); } else { isc__nm_enqueue_ievent(&sock->mgr->workers[i], - (isc__netievent_t *) event); + (isc__netievent_t *)event); } } @@ -434,13 +437,14 @@ stoplistening(isc_nmsocket_t *sock) { WAIT(&sock->cond, &sock->lock); } UNLOCK(&sock->lock); - uv_close((uv_handle_t *) &sock->uv_handle.tcp, tcp_listenclose_cb); + uv_close((uv_handle_t *)&sock->uv_handle.tcp, tcp_listenclose_cb); } void -isc__nm_async_tcpchildstop(isc__networker_t *worker, isc__netievent_t *ev0) { +isc__nm_async_tcpchildstop(isc__networker_t *worker, isc__netievent_t *ev0) +{ isc__netievent_tcpchildstop_t *ievent = - (isc__netievent_tcpchildstop_t *) ev0; + (isc__netievent_tcpchildstop_t *)ev0; isc_nmsocket_t *sock = ievent->sock; UNUSED(worker); @@ -459,7 +463,7 @@ isc__nm_async_tcpchildstop(isc__networker_t *worker, isc__netievent_t *ev0) { atomic_fetch_sub(&sock->parent->rchildren, 1); UNLOCK(&sock->parent->lock); - uv_close((uv_handle_t *) &sock->uv_handle.tcp, tcp_listenclose_cb); + uv_close((uv_handle_t *)&sock->uv_handle.tcp, tcp_listenclose_cb); BROADCAST(&sock->parent->cond); } @@ -468,11 +472,11 @@ isc__nm_async_tcpchildstop(isc__networker_t *worker, isc__netievent_t *ev0) { * sockets; that's why we need to choose the proper lock. */ static void -tcp_listenclose_cb(uv_handle_t *handle) { +tcp_listenclose_cb(uv_handle_t *handle) +{ isc_nmsocket_t *sock = uv_handle_get_data(handle); - isc_mutex_t *lock = ((sock->parent != NULL) - ? &sock->parent->lock - : &sock->lock); + isc_mutex_t * lock = + ((sock->parent != NULL) ? &sock->parent->lock : &sock->lock); LOCK(lock); atomic_store(&sock->closed, true); @@ -484,7 +488,8 @@ tcp_listenclose_cb(uv_handle_t *handle) { } static void -readtimeout_cb(uv_timer_t *handle) { +readtimeout_cb(uv_timer_t *handle) +{ isc_nmsocket_t *sock = uv_handle_get_data((uv_handle_t *)handle); REQUIRE(VALID_NMSOCK(sock)); @@ -510,8 +515,9 @@ readtimeout_cb(uv_timer_t *handle) { } isc_result_t -isc_nm_read(isc_nmhandle_t *handle, isc_nm_recv_cb_t cb, void *cbarg) { - isc_nmsocket_t *sock = NULL; +isc_nm_read(isc_nmhandle_t *handle, isc_nm_recv_cb_t cb, void *cbarg) +{ + isc_nmsocket_t * sock = NULL; isc__netievent_startread_t *ievent = NULL; REQUIRE(VALID_NMHANDLE(handle)); @@ -526,22 +532,22 @@ isc_nm_read(isc_nmhandle_t *handle, isc_nm_recv_cb_t cb, void *cbarg) { if (sock->tid == isc_nm_tid()) { isc__nm_async_startread(&sock->mgr->workers[sock->tid], - (isc__netievent_t *) ievent); + (isc__netievent_t *)ievent); isc__nm_put_ievent(sock->mgr, ievent); } else { isc__nm_enqueue_ievent(&sock->mgr->workers[sock->tid], - (isc__netievent_t *) ievent); + (isc__netievent_t *)ievent); } return (ISC_R_SUCCESS); } void -isc__nm_async_startread(isc__networker_t *worker, isc__netievent_t *ev0) { - isc__netievent_startread_t *ievent = - (isc__netievent_startread_t *) ev0; - isc_nmsocket_t *sock = ievent->sock; - int r; +isc__nm_async_startread(isc__networker_t *worker, isc__netievent_t *ev0) +{ + isc__netievent_startread_t *ievent = (isc__netievent_startread_t *)ev0; + isc_nmsocket_t * sock = ievent->sock; + int r; REQUIRE(worker->id == isc_nm_tid()); if (sock->read_timeout != 0) { @@ -550,8 +556,8 @@ isc__nm_async_startread(isc__networker_t *worker, isc__netievent_t *ev0) { uv_handle_set_data((uv_handle_t *)&sock->timer, sock); sock->timer_initialized = true; } - uv_timer_start(&sock->timer, readtimeout_cb, - sock->read_timeout, 0); + uv_timer_start(&sock->timer, readtimeout_cb, sock->read_timeout, + 0); } r = uv_read_start(&sock->uv_handle.stream, isc__nm_alloc_cb, read_cb); @@ -561,7 +567,8 @@ isc__nm_async_startread(isc__networker_t *worker, isc__netievent_t *ev0) { } isc_result_t -isc_nm_pauseread(isc_nmsocket_t *sock) { +isc_nm_pauseread(isc_nmsocket_t *sock) +{ isc__netievent_pauseread_t *ievent = NULL; REQUIRE(VALID_NMSOCK(sock)); @@ -576,21 +583,21 @@ isc_nm_pauseread(isc_nmsocket_t *sock) { if (sock->tid == isc_nm_tid()) { isc__nm_async_pauseread(&sock->mgr->workers[sock->tid], - (isc__netievent_t *) ievent); + (isc__netievent_t *)ievent); isc__nm_put_ievent(sock->mgr, ievent); } else { isc__nm_enqueue_ievent(&sock->mgr->workers[sock->tid], - (isc__netievent_t *) ievent); + (isc__netievent_t *)ievent); } return (ISC_R_SUCCESS); } void -isc__nm_async_pauseread(isc__networker_t *worker, isc__netievent_t *ev0) { - isc__netievent_pauseread_t *ievent = - (isc__netievent_pauseread_t *) ev0; - isc_nmsocket_t *sock = ievent->sock; +isc__nm_async_pauseread(isc__networker_t *worker, isc__netievent_t *ev0) +{ + isc__netievent_pauseread_t *ievent = (isc__netievent_pauseread_t *)ev0; + isc_nmsocket_t * sock = ievent->sock; REQUIRE(VALID_NMSOCK(sock)); REQUIRE(worker->id == isc_nm_tid()); @@ -602,7 +609,8 @@ isc__nm_async_pauseread(isc__networker_t *worker, isc__netievent_t *ev0) { } isc_result_t -isc_nm_resumeread(isc_nmsocket_t *sock) { +isc_nm_resumeread(isc_nmsocket_t *sock) +{ isc__netievent_startread_t *ievent = NULL; REQUIRE(VALID_NMSOCK(sock)); @@ -619,36 +627,35 @@ isc_nm_resumeread(isc_nmsocket_t *sock) { if (sock->tid == isc_nm_tid()) { isc__nm_async_startread(&sock->mgr->workers[sock->tid], - (isc__netievent_t *) ievent); + (isc__netievent_t *)ievent); isc__nm_put_ievent(sock->mgr, ievent); } else { isc__nm_enqueue_ievent(&sock->mgr->workers[sock->tid], - (isc__netievent_t *) ievent); + (isc__netievent_t *)ievent); } return (ISC_R_SUCCESS); } static void -read_cb(uv_stream_t *stream, ssize_t nread, const uv_buf_t *buf) { - isc_nmsocket_t *sock = uv_handle_get_data((uv_handle_t *) stream); +read_cb(uv_stream_t *stream, ssize_t nread, const uv_buf_t *buf) +{ + isc_nmsocket_t *sock = uv_handle_get_data((uv_handle_t *)stream); REQUIRE(VALID_NMSOCK(sock)); REQUIRE(buf != NULL); if (nread >= 0) { - isc_region_t region = { - .base = (unsigned char *) buf->base, - .length = nread - }; + isc_region_t region = { .base = (unsigned char *)buf->base, + .length = nread }; if (sock->rcb.recv != NULL) { sock->rcb.recv(sock->tcphandle, ®ion, sock->rcbarg); } sock->read_timeout = (atomic_load(&sock->keepalive) - ? sock->mgr->keepalive - : sock->mgr->idle); + ? sock->mgr->keepalive + : sock->mgr->idle); if (sock->timer_initialized && sock->read_timeout != 0) { /* The timer will be updated */ @@ -682,22 +689,22 @@ read_cb(uv_stream_t *stream, ssize_t nread, const uv_buf_t *buf) { } static isc_result_t -accept_connection(isc_nmsocket_t *ssock) { - isc_result_t result; - isc_quota_t *quota = NULL; - isc_nmsocket_t *csock = NULL; - isc__networker_t *worker = NULL; - isc_nmhandle_t *handle = NULL; +accept_connection(isc_nmsocket_t *ssock) +{ + isc_result_t result; + isc_quota_t * quota = NULL; + isc_nmsocket_t * csock = NULL; + isc__networker_t * worker = NULL; + isc_nmhandle_t * handle = NULL; struct sockaddr_storage ss; - isc_sockaddr_t local; - int r; + isc_sockaddr_t local; + int r; REQUIRE(VALID_NMSOCK(ssock)); REQUIRE(ssock->tid == isc_nm_tid()); if (!atomic_load_relaxed(&ssock->active) || - atomic_load_relaxed(&ssock->mgr->closing)) - { + atomic_load_relaxed(&ssock->mgr->closing)) { /* We're closing, bail */ return (ISC_R_CANCELED); } @@ -729,27 +736,26 @@ accept_connection(isc_nmsocket_t *ssock) { goto error; } - r = uv_tcp_getpeername(&csock->uv_handle.tcp, (struct sockaddr *) &ss, - &(int){sizeof(ss)}); + r = uv_tcp_getpeername(&csock->uv_handle.tcp, (struct sockaddr *)&ss, + &(int){ sizeof(ss) }); if (r != 0) { result = isc__nm_uverr2result(r); goto error; } - result = isc_sockaddr_fromsockaddr(&csock->peer, - (struct sockaddr *) &ss); + result = + isc_sockaddr_fromsockaddr(&csock->peer, (struct sockaddr *)&ss); if (result != ISC_R_SUCCESS) { goto error; } - r = uv_tcp_getsockname(&csock->uv_handle.tcp, (struct sockaddr *) &ss, - &(int){sizeof(ss)}); + r = uv_tcp_getsockname(&csock->uv_handle.tcp, (struct sockaddr *)&ss, + &(int){ sizeof(ss) }); if (r != 0) { result = isc__nm_uverr2result(r); goto error; } - result = isc_sockaddr_fromsockaddr(&local, - (struct sockaddr *) &ss); + result = isc_sockaddr_fromsockaddr(&local, (struct sockaddr *)&ss); if (result != ISC_R_SUCCESS) { goto error; } @@ -779,9 +785,10 @@ error: } static void -tcp_connection_cb(uv_stream_t *server, int status) { - isc_nmsocket_t *ssock = uv_handle_get_data((uv_handle_t *) server); - isc_result_t result; +tcp_connection_cb(uv_stream_t *server, int status) +{ + isc_nmsocket_t *ssock = uv_handle_get_data((uv_handle_t *)server); + isc_result_t result; UNUSED(status); @@ -798,17 +805,17 @@ tcp_connection_cb(uv_stream_t *server, int status) { } isc_result_t -isc__nm_tcp_send(isc_nmhandle_t *handle, isc_region_t *region, - isc_nm_cb_t cb, void *cbarg) +isc__nm_tcp_send(isc_nmhandle_t *handle, isc_region_t *region, isc_nm_cb_t cb, + void *cbarg) { - isc_nmsocket_t *sock = handle->sock; + isc_nmsocket_t * sock = handle->sock; isc__netievent_tcpsend_t *ievent = NULL; - isc__nm_uvreq_t *uvreq = NULL; + isc__nm_uvreq_t * uvreq = NULL; REQUIRE(sock->type == isc_nm_tcpsocket); uvreq = isc__nm_uvreq_get(sock->mgr, sock); - uvreq->uvbuf.base = (char *) region->base; + uvreq->uvbuf.base = (char *)region->base; uvreq->uvbuf.len = region->length; uvreq->handle = handle; isc_nmhandle_ref(uvreq->handle); @@ -829,7 +836,7 @@ isc__nm_tcp_send(isc_nmhandle_t *handle, isc_region_t *region, ievent->sock = sock; ievent->req = uvreq; isc__nm_enqueue_ievent(&sock->mgr->workers[sock->tid], - (isc__netievent_t *) ievent); + (isc__netievent_t *)ievent); return (ISC_R_SUCCESS); } @@ -837,9 +844,10 @@ isc__nm_tcp_send(isc_nmhandle_t *handle, isc_region_t *region, } static void -tcp_send_cb(uv_write_t *req, int status) { - isc_result_t result = ISC_R_SUCCESS; - isc__nm_uvreq_t *uvreq = (isc__nm_uvreq_t *) req->data; +tcp_send_cb(uv_write_t *req, int status) +{ + isc_result_t result = ISC_R_SUCCESS; + isc__nm_uvreq_t *uvreq = (isc__nm_uvreq_t *)req->data; REQUIRE(VALID_UVREQ(uvreq)); REQUIRE(VALID_NMHANDLE(uvreq->handle)); @@ -859,9 +867,10 @@ tcp_send_cb(uv_write_t *req, int status) { * Handle 'tcpsend' async event - send a packet on the socket */ void -isc__nm_async_tcpsend(isc__networker_t *worker, isc__netievent_t *ev0) { - isc_result_t result; - isc__netievent_tcpsend_t *ievent = (isc__netievent_tcpsend_t *) ev0; +isc__nm_async_tcpsend(isc__networker_t *worker, isc__netievent_t *ev0) +{ + isc_result_t result; + isc__netievent_tcpsend_t *ievent = (isc__netievent_tcpsend_t *)ev0; REQUIRE(worker->id == ievent->sock->tid); @@ -871,25 +880,25 @@ isc__nm_async_tcpsend(isc__networker_t *worker, isc__netievent_t *ev0) { result = tcp_send_direct(ievent->sock, ievent->req); if (result != ISC_R_SUCCESS) { - ievent->req->cb.send(ievent->req->handle, - result, ievent->req->cbarg); + ievent->req->cb.send(ievent->req->handle, result, + ievent->req->cbarg); isc__nm_uvreq_put(&ievent->req, ievent->req->handle->sock); } } static isc_result_t -tcp_send_direct(isc_nmsocket_t *sock, isc__nm_uvreq_t *req) { +tcp_send_direct(isc_nmsocket_t *sock, isc__nm_uvreq_t *req) +{ int r; REQUIRE(sock->tid == isc_nm_tid()); REQUIRE(sock->type == isc_nm_tcpsocket); isc_nmhandle_ref(req->handle); - r = uv_write(&req->uv_req.write, &sock->uv_handle.stream, - &req->uvbuf, 1, tcp_send_cb); + r = uv_write(&req->uv_req.write, &sock->uv_handle.stream, &req->uvbuf, + 1, tcp_send_cb); if (r < 0) { - isc__nm_incstats(sock->mgr, - sock->statsindex[STATID_SENDFAIL]); + isc__nm_incstats(sock->mgr, sock->statsindex[STATID_SENDFAIL]); req->cb.send(NULL, isc__nm_uverr2result(r), req->cbarg); isc__nm_uvreq_put(&req, sock); return (isc__nm_uverr2result(r)); @@ -899,7 +908,8 @@ tcp_send_direct(isc_nmsocket_t *sock, isc__nm_uvreq_t *req) { } static void -tcp_close_cb(uv_handle_t *uvhandle) { +tcp_close_cb(uv_handle_t *uvhandle) +{ isc_nmsocket_t *sock = uv_handle_get_data(uvhandle); REQUIRE(VALID_NMSOCK(sock)); @@ -910,7 +920,8 @@ tcp_close_cb(uv_handle_t *uvhandle) { } static void -timer_close_cb(uv_handle_t *uvhandle) { +timer_close_cb(uv_handle_t *uvhandle) +{ isc_nmsocket_t *sock = uv_handle_get_data(uvhandle); REQUIRE(VALID_NMSOCK(sock)); @@ -920,7 +931,8 @@ timer_close_cb(uv_handle_t *uvhandle) { } static void -tcp_close_direct(isc_nmsocket_t *sock) { +tcp_close_direct(isc_nmsocket_t *sock) +{ REQUIRE(VALID_NMSOCK(sock)); REQUIRE(sock->tid == isc_nm_tid()); REQUIRE(sock->type == isc_nm_tcpsocket); @@ -932,8 +944,8 @@ tcp_close_direct(isc_nmsocket_t *sock) { if (ssock->overquota) { isc_result_t result = accept_connection(ssock); - if (result != ISC_R_QUOTA && result != ISC_R_SOFTQUOTA) - { + if (result != ISC_R_QUOTA && + result != ISC_R_SOFTQUOTA) { ssock->overquota = false; } } @@ -951,7 +963,8 @@ tcp_close_direct(isc_nmsocket_t *sock) { } void -isc__nm_tcp_close(isc_nmsocket_t *sock) { +isc__nm_tcp_close(isc_nmsocket_t *sock) +{ REQUIRE(VALID_NMSOCK(sock)); REQUIRE(sock->type == isc_nm_tcpsocket); @@ -966,13 +979,14 @@ isc__nm_tcp_close(isc_nmsocket_t *sock) { ievent->sock = sock; isc__nm_enqueue_ievent(&sock->mgr->workers[sock->tid], - (isc__netievent_t *) ievent); + (isc__netievent_t *)ievent); } } void -isc__nm_async_tcpclose(isc__networker_t *worker, isc__netievent_t *ev0) { - isc__netievent_tcpclose_t *ievent = (isc__netievent_tcpclose_t *) ev0; +isc__nm_async_tcpclose(isc__networker_t *worker, isc__netievent_t *ev0) +{ + isc__netievent_tcpclose_t *ievent = (isc__netievent_tcpclose_t *)ev0; REQUIRE(worker->id == ievent->sock->tid); @@ -980,13 +994,12 @@ isc__nm_async_tcpclose(isc__networker_t *worker, isc__netievent_t *ev0) { } void -isc__nm_tcp_shutdown(isc_nmsocket_t *sock) { +isc__nm_tcp_shutdown(isc_nmsocket_t *sock) +{ REQUIRE(VALID_NMSOCK(sock)); - if (sock->type == isc_nm_tcpsocket && - sock->tcphandle != NULL && - sock->rcb.recv != NULL) - { + if (sock->type == isc_nm_tcpsocket && sock->tcphandle != NULL && + sock->rcb.recv != NULL) { sock->rcb.recv(sock->tcphandle, NULL, sock->rcbarg); } } diff --git a/lib/isc/netmgr/tcpdns.c b/lib/isc/netmgr/tcpdns.c index 36f63c8189..e384b73be9 100644 --- a/lib/isc/netmgr/tcpdns.c +++ b/lib/isc/netmgr/tcpdns.c @@ -26,8 +26,8 @@ #include #include -#include "uv-compat.h" #include "netmgr-int.h" +#include "uv-compat.h" #define TCPDNS_CLIENTS_PER_CONN 23 /*%< @@ -44,7 +44,8 @@ static void resume_processing(void *arg); static inline size_t -dnslen(unsigned char* base) { +dnslen(unsigned char *base) +{ return ((base[0] << 8) + (base[1])); } @@ -57,9 +58,10 @@ dnslen(unsigned char* base) { * netmgr receives 64k at most so there's no risk * of overrun. */ -#define NM_BIG_BUF (65535+2)*2 +#define NM_BIG_BUF (65535 + 2) * 2 static inline void -alloc_dnsbuf(isc_nmsocket_t *sock, size_t len) { +alloc_dnsbuf(isc_nmsocket_t *sock, size_t len) +{ REQUIRE(len <= NM_BIG_BUF); if (sock->buf == NULL) { @@ -76,31 +78,34 @@ alloc_dnsbuf(isc_nmsocket_t *sock, size_t len) { } static void -timer_close_cb(uv_handle_t *handle) { - isc_nmsocket_t *sock = (isc_nmsocket_t *) uv_handle_get_data(handle); +timer_close_cb(uv_handle_t *handle) +{ + isc_nmsocket_t *sock = (isc_nmsocket_t *)uv_handle_get_data(handle); INSIST(VALID_NMSOCK(sock)); atomic_store(&sock->closed, true); isc_nmsocket_detach(&sock); } static void -dnstcp_readtimeout(uv_timer_t *timer) { +dnstcp_readtimeout(uv_timer_t *timer) +{ isc_nmsocket_t *sock = - (isc_nmsocket_t *) uv_handle_get_data((uv_handle_t *) timer); + (isc_nmsocket_t *)uv_handle_get_data((uv_handle_t *)timer); REQUIRE(VALID_NMSOCK(sock)); REQUIRE(sock->tid == isc_nm_tid()); isc_nmsocket_detach(&sock->outer); - uv_close((uv_handle_t *) &sock->timer, timer_close_cb); + uv_close((uv_handle_t *)&sock->timer, timer_close_cb); } /* * Accept callback for TCP-DNS connection. */ static void -dnslisten_acceptcb(isc_nmhandle_t *handle, isc_result_t result, void *cbarg) { - isc_nmsocket_t *dnslistensock = (isc_nmsocket_t *) cbarg; +dnslisten_acceptcb(isc_nmhandle_t *handle, isc_result_t result, void *cbarg) +{ + isc_nmsocket_t *dnslistensock = (isc_nmsocket_t *)cbarg; isc_nmsocket_t *dnssock = NULL; REQUIRE(VALID_NMSOCK(dnslistensock)); @@ -118,8 +123,8 @@ dnslisten_acceptcb(isc_nmhandle_t *handle, isc_result_t result, void *cbarg) { /* We need to create a 'wrapper' dnssocket for this connection */ dnssock = isc_mem_get(handle->sock->mgr->mctx, sizeof(*dnssock)); - isc__nmsocket_init(dnssock, handle->sock->mgr, - isc_nm_tcpdnssocket, handle->sock->iface); + isc__nmsocket_init(dnssock, handle->sock->mgr, isc_nm_tcpdnssocket, + handle->sock->iface); dnssock->extrahandlesize = dnslistensock->extrahandlesize; isc_nmsocket_attach(dnslistensock, &dnssock->listener); @@ -149,7 +154,8 @@ dnslisten_acceptcb(isc_nmhandle_t *handle, isc_result_t result, void *cbarg) { * The caller will need to unreference the handle. */ static isc_result_t -processbuffer(isc_nmsocket_t *dnssock, isc_nmhandle_t **handlep) { +processbuffer(isc_nmsocket_t *dnssock, isc_nmhandle_t **handlep) +{ size_t len; REQUIRE(VALID_NMSOCK(dnssock)); @@ -169,16 +175,16 @@ processbuffer(isc_nmsocket_t *dnssock, isc_nmhandle_t **handlep) { */ len = dnslen(dnssock->buf); if (len <= dnssock->buf_len - 2) { - isc_nmhandle_t *dnshandle = isc__nmhandle_get(dnssock, - NULL, NULL); + isc_nmhandle_t *dnshandle = + isc__nmhandle_get(dnssock, NULL, NULL); isc_nmsocket_t *listener = dnssock->listener; if (listener != NULL && listener->rcb.recv != NULL) { - listener->rcb.recv(dnshandle, - &(isc_region_t){ - .base = dnssock->buf + 2, - .length = len - }, listener->rcbarg); + listener->rcb.recv( + dnshandle, + &(isc_region_t){ .base = dnssock->buf + 2, + .length = len }, + listener->rcbarg); } len += 2; @@ -200,11 +206,12 @@ processbuffer(isc_nmsocket_t *dnssock, isc_nmhandle_t **handlep) { * a complete DNS packet and, if so - call the callback */ static void -dnslisten_readcb(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { - isc_nmsocket_t *dnssock = (isc_nmsocket_t *) arg; - unsigned char *base = NULL; - bool done = false; - size_t len; +dnslisten_readcb(isc_nmhandle_t *handle, isc_region_t *region, void *arg) +{ + isc_nmsocket_t *dnssock = (isc_nmsocket_t *)arg; + unsigned char * base = NULL; + bool done = false; + size_t len; REQUIRE(VALID_NMSOCK(dnssock)); REQUIRE(VALID_NMHANDLE(handle)); @@ -226,11 +233,11 @@ dnslisten_readcb(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { dnssock->buf_len += len; dnssock->read_timeout = (atomic_load(&dnssock->keepalive) - ? dnssock->mgr->keepalive - : dnssock->mgr->idle); + ? dnssock->mgr->keepalive + : dnssock->mgr->idle); do { - isc_result_t result; + isc_result_t result; isc_nmhandle_t *dnshandle = NULL; result = processbuffer(dnssock, &dnshandle); @@ -264,8 +271,7 @@ dnslisten_readcb(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { * is reached, pause reading. */ if (atomic_load(&dnssock->ah) >= - TCPDNS_CLIENTS_PER_CONN) - { + TCPDNS_CLIENTS_PER_CONN) { isc_nm_pauseread(dnssock->outer); done = true; } @@ -281,9 +287,8 @@ dnslisten_readcb(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { * (with 2-byte length stripped) - just like for UDP packet. */ isc_result_t -isc_nm_listentcpdns(isc_nm_t *mgr, isc_nmiface_t *iface, - isc_nm_recv_cb_t cb, void *cbarg, - isc_nm_cb_t accept_cb, void *accept_cbarg, +isc_nm_listentcpdns(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nm_recv_cb_t cb, + void *cbarg, isc_nm_cb_t accept_cb, void *accept_cbarg, size_t extrahandlesize, int backlog, isc_quota_t *quota, isc_nmsocket_t **sockp) { @@ -302,9 +307,9 @@ isc_nm_listentcpdns(isc_nm_t *mgr, isc_nmiface_t *iface, dnslistensock->extrahandlesize = extrahandlesize; /* We set dnslistensock->outer to a true listening socket */ - result = isc_nm_listentcp(mgr, iface, dnslisten_acceptcb, - dnslistensock, extrahandlesize, backlog, - quota, &dnslistensock->outer); + result = isc_nm_listentcp(mgr, iface, dnslisten_acceptcb, dnslistensock, + extrahandlesize, backlog, quota, + &dnslistensock->outer); if (result == ISC_R_SUCCESS) { atomic_store(&dnslistensock->listening, true); *sockp = dnslistensock; @@ -317,7 +322,8 @@ isc_nm_listentcpdns(isc_nm_t *mgr, isc_nmiface_t *iface, } void -isc_nm_tcpdns_stoplistening(isc_nmsocket_t *sock) { +isc_nm_tcpdns_stoplistening(isc_nmsocket_t *sock) +{ REQUIRE(VALID_NMSOCK(sock)); REQUIRE(sock->type == isc_nm_tcpdnslistener); @@ -333,12 +339,12 @@ isc_nm_tcpdns_stoplistening(isc_nmsocket_t *sock) { } void -isc_nm_tcpdns_sequential(isc_nmhandle_t *handle) { +isc_nm_tcpdns_sequential(isc_nmhandle_t *handle) +{ REQUIRE(VALID_NMHANDLE(handle)); if (handle->sock->type != isc_nm_tcpdnssocket || - handle->sock->outer == NULL) - { + handle->sock->outer == NULL) { return; } @@ -355,12 +361,12 @@ isc_nm_tcpdns_sequential(isc_nmhandle_t *handle) { } void -isc_nm_tcpdns_keepalive(isc_nmhandle_t *handle) { +isc_nm_tcpdns_keepalive(isc_nmhandle_t *handle) +{ REQUIRE(VALID_NMHANDLE(handle)); if (handle->sock->type != isc_nm_tcpdnssocket || - handle->sock->outer == NULL) - { + handle->sock->outer == NULL) { return; } @@ -369,18 +375,19 @@ isc_nm_tcpdns_keepalive(isc_nmhandle_t *handle) { } typedef struct tcpsend { - isc_mem_t *mctx; - isc_nmhandle_t *handle; - isc_region_t region; - isc_nmhandle_t *orighandle; - isc_nm_cb_t cb; - void *cbarg; + isc_mem_t * mctx; + isc_nmhandle_t *handle; + isc_region_t region; + isc_nmhandle_t *orighandle; + isc_nm_cb_t cb; + void * cbarg; } tcpsend_t; static void -resume_processing(void *arg) { - isc_nmsocket_t *sock = (isc_nmsocket_t *) arg; - isc_result_t result; +resume_processing(void *arg) +{ + isc_nmsocket_t *sock = (isc_nmsocket_t *)arg; + isc_result_t result; REQUIRE(VALID_NMSOCK(sock)); REQUIRE(sock->tid == isc_nm_tid()); @@ -441,8 +448,9 @@ resume_processing(void *arg) { } static void -tcpdnssend_cb(isc_nmhandle_t *handle, isc_result_t result, void *cbarg) { - tcpsend_t *ts = (tcpsend_t *) cbarg; +tcpdnssend_cb(isc_nmhandle_t *handle, isc_result_t result, void *cbarg) +{ + tcpsend_t *ts = (tcpsend_t *)cbarg; UNUSED(handle); @@ -475,7 +483,7 @@ isc__nm_tcpdns_send(isc_nmhandle_t *handle, isc_region_t *region, } t = isc_mem_get(sock->mgr->mctx, sizeof(*t)); - *t = (tcpsend_t) { + *t = (tcpsend_t){ .cb = cb, .cbarg = cbarg, .handle = handle->sock->outer->tcphandle, @@ -485,20 +493,19 @@ isc__nm_tcpdns_send(isc_nmhandle_t *handle, isc_region_t *region, t->orighandle = handle; isc_nmhandle_ref(t->orighandle); - t->region = (isc_region_t) { - .base = isc_mem_get(t->mctx, region->length + 2), - .length = region->length + 2 - }; + t->region = (isc_region_t){ .base = isc_mem_get(t->mctx, + region->length + 2), + .length = region->length + 2 }; - *(uint16_t *) t->region.base = htons(region->length); + *(uint16_t *)t->region.base = htons(region->length); memmove(t->region.base + 2, region->base, region->length); return (isc__nm_tcp_send(t->handle, &t->region, tcpdnssend_cb, t)); } - static void -tcpdns_close_direct(isc_nmsocket_t *sock) { +tcpdns_close_direct(isc_nmsocket_t *sock) +{ REQUIRE(sock->tid == isc_nm_tid()); if (sock->outer != NULL) { sock->outer->rcb.recv = NULL; @@ -511,12 +518,13 @@ tcpdns_close_direct(isc_nmsocket_t *sock) { if (sock->timer_initialized) { sock->timer_initialized = false; uv_timer_stop(&sock->timer); - uv_close((uv_handle_t *) &sock->timer, timer_close_cb); + uv_close((uv_handle_t *)&sock->timer, timer_close_cb); } } void -isc__nm_tcpdns_close(isc_nmsocket_t *sock) { +isc__nm_tcpdns_close(isc_nmsocket_t *sock) +{ REQUIRE(VALID_NMSOCK(sock)); REQUIRE(sock->type == isc_nm_tcpdnssocket); @@ -528,14 +536,15 @@ isc__nm_tcpdns_close(isc_nmsocket_t *sock) { ievent->sock = sock; isc__nm_enqueue_ievent(&sock->mgr->workers[sock->tid], - (isc__netievent_t *) ievent); + (isc__netievent_t *)ievent); } } void -isc__nm_async_tcpdnsclose(isc__networker_t *worker, isc__netievent_t *ev0) { +isc__nm_async_tcpdnsclose(isc__networker_t *worker, isc__netievent_t *ev0) +{ isc__netievent_tcpdnsclose_t *ievent = - (isc__netievent_tcpdnsclose_t *) ev0; + (isc__netievent_tcpdnsclose_t *)ev0; REQUIRE(worker->id == ievent->sock->tid); diff --git a/lib/isc/netmgr/udp.c b/lib/isc/netmgr/udp.c index d4f27a7c36..a9c41ad9fa 100644 --- a/lib/isc/netmgr/udp.c +++ b/lib/isc/netmgr/udp.c @@ -26,8 +26,8 @@ #include #include -#include "uv-compat.h" #include "netmgr-int.h" +#include "uv-compat.h" static isc_result_t udp_send_direct(isc_nmsocket_t *sock, isc__nm_uvreq_t *req, @@ -41,9 +41,8 @@ static void udp_send_cb(uv_udp_send_t *req, int status); isc_result_t -isc_nm_listenudp(isc_nm_t *mgr, isc_nmiface_t *iface, - isc_nm_recv_cb_t cb, void *cbarg, - size_t extrahandlesize, isc_nmsocket_t **sockp) +isc_nm_listenudp(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nm_recv_cb_t cb, + void *cbarg, size_t extrahandlesize, isc_nmsocket_t **sockp) { isc_nmsocket_t *nsock = NULL; @@ -57,8 +56,8 @@ isc_nm_listenudp(isc_nm_t *mgr, isc_nmiface_t *iface, isc__nmsocket_init(nsock, mgr, isc_nm_udplistener, iface); nsock->nchildren = mgr->nworkers; atomic_init(&nsock->rchildren, mgr->nworkers); - nsock->children = isc_mem_get(mgr->mctx, - mgr->nworkers * sizeof(*nsock)); + nsock->children = + isc_mem_get(mgr->mctx, mgr->nworkers * sizeof(*nsock)); memset(nsock->children, 0, mgr->nworkers * sizeof(*nsock)); INSIST(nsock->rcb.recv == NULL && nsock->rcbarg == NULL); @@ -68,10 +67,10 @@ isc_nm_listenudp(isc_nm_t *mgr, isc_nmiface_t *iface, for (size_t i = 0; i < mgr->nworkers; i++) { uint16_t family = iface->addr.type.sa.sa_family; - int res; + int res; isc__netievent_udplisten_t *ievent = NULL; - isc_nmsocket_t *csock = &nsock->children[i]; + isc_nmsocket_t * csock = &nsock->children[i]; isc__nmsocket_init(csock, mgr, isc_nm_udpsocket, iface); csock->parent = nsock; @@ -92,17 +91,17 @@ isc_nm_listenudp(isc_nm_t *mgr, isc_nmiface_t *iface, */ #ifdef WIN32 res = setsockopt(csock->fd, SOL_SOCKET, SO_REUSEADDR, - &(int){1}, sizeof(int)); + &(int){ 1 }, sizeof(int)); #else res = setsockopt(csock->fd, SOL_SOCKET, SO_REUSEPORT, - &(int){1}, sizeof(int)); + &(int){ 1 }, sizeof(int)); #endif RUNTIME_CHECK(res == 0); ievent = isc__nm_get_ievent(mgr, netievent_udplisten); ievent->sock = csock; isc__nm_enqueue_ievent(&mgr->workers[i], - (isc__netievent_t *) ievent); + (isc__netievent_t *)ievent); } *sockp = nsock; @@ -113,11 +112,11 @@ isc_nm_listenudp(isc_nm_t *mgr, isc_nmiface_t *iface, * handle 'udplisten' async call - start listening on a socket. */ void -isc__nm_async_udplisten(isc__networker_t *worker, isc__netievent_t *ev0) { - isc__netievent_udplisten_t *ievent = - (isc__netievent_udplisten_t *) ev0; - isc_nmsocket_t *sock = ievent->sock; - int r, flags = 0; +isc__nm_async_udplisten(isc__networker_t *worker, isc__netievent_t *ev0) +{ + isc__netievent_udplisten_t *ievent = (isc__netievent_udplisten_t *)ev0; + isc_nmsocket_t * sock = ievent->sock; + int r, flags = 0; REQUIRE(sock->type == isc_nm_udpsocket); REQUIRE(sock->iface != NULL); @@ -126,15 +125,13 @@ isc__nm_async_udplisten(isc__networker_t *worker, isc__netievent_t *ev0) { uv_udp_init(&worker->loop, &sock->uv_handle.udp); uv_handle_set_data(&sock->uv_handle.handle, NULL); - isc_nmsocket_attach(sock, - (isc_nmsocket_t **)&sock->uv_handle.udp.data); + isc_nmsocket_attach(sock, (isc_nmsocket_t **)&sock->uv_handle.udp.data); r = uv_udp_open(&sock->uv_handle.udp, sock->fd); if (r == 0) { isc__nm_incstats(sock->mgr, sock->statsindex[STATID_OPEN]); } else { - isc__nm_incstats(sock->mgr, - sock->statsindex[STATID_OPENFAIL]); + isc__nm_incstats(sock->mgr, sock->statsindex[STATID_OPENFAIL]); } if (sock->iface->addr.type.sa.sa_family == AF_INET6) { @@ -144,19 +141,19 @@ isc__nm_async_udplisten(isc__networker_t *worker, isc__netievent_t *ev0) { r = uv_udp_bind(&sock->uv_handle.udp, &sock->parent->iface->addr.type.sa, flags); if (r < 0) { - isc__nm_incstats(sock->mgr, - sock->statsindex[STATID_BINDFAIL]); + isc__nm_incstats(sock->mgr, sock->statsindex[STATID_BINDFAIL]); } uv_recv_buffer_size(&sock->uv_handle.handle, - &(int){16 * 1024 * 1024}); + &(int){ 16 * 1024 * 1024 }); uv_send_buffer_size(&sock->uv_handle.handle, - &(int){16 * 1024 * 1024}); + &(int){ 16 * 1024 * 1024 }); uv_udp_recv_start(&sock->uv_handle.udp, isc__nm_alloc_cb, udp_recv_cb); } static void -udp_close_cb(uv_handle_t *handle) { +udp_close_cb(uv_handle_t *handle) +{ isc_nmsocket_t *sock = uv_handle_get_data(handle); atomic_store(&sock->closed, true); @@ -164,12 +161,13 @@ udp_close_cb(uv_handle_t *handle) { } static void -stop_udp_child(isc_nmsocket_t *sock) { +stop_udp_child(isc_nmsocket_t *sock) +{ REQUIRE(sock->type == isc_nm_udpsocket); REQUIRE(sock->tid == isc_nm_tid()); uv_udp_recv_stop(&sock->uv_handle.udp); - uv_close((uv_handle_t *) &sock->uv_handle.udp, udp_close_cb); + uv_close((uv_handle_t *)&sock->uv_handle.udp, udp_close_cb); isc__nm_incstats(sock->mgr, sock->statsindex[STATID_CLOSE]); @@ -180,7 +178,8 @@ stop_udp_child(isc_nmsocket_t *sock) { } static void -stoplistening(isc_nmsocket_t *sock) { +stoplistening(isc_nmsocket_t *sock) +{ REQUIRE(sock->type == isc_nm_udplistener); /* @@ -207,7 +206,7 @@ stoplistening(isc_nmsocket_t *sock) { event = isc__nm_get_ievent(sock->mgr, netievent_udpstop); event->sock = &sock->children[i]; isc__nm_enqueue_ievent(&sock->mgr->workers[i], - (isc__netievent_t *) event); + (isc__netievent_t *)event); } LOCK(&sock->lock); @@ -221,7 +220,8 @@ stoplistening(isc_nmsocket_t *sock) { } void -isc_nm_udp_stoplistening(isc_nmsocket_t *sock) { +isc_nm_udp_stoplistening(isc_nmsocket_t *sock) +{ isc__netievent_udpstop_t *ievent = NULL; /* We can't be launched from network thread, we'd deadlock */ @@ -237,7 +237,7 @@ isc_nm_udp_stoplistening(isc_nmsocket_t *sock) { ievent = isc__nm_get_ievent(sock->mgr, netievent_udpstop); ievent->sock = sock; isc__nm_enqueue_ievent(&sock->mgr->workers[sock->tid], - (isc__netievent_t *) ievent); + (isc__netievent_t *)ievent); } else { stoplistening(sock); isc__nm_drop_interlocked(sock->mgr); @@ -248,9 +248,10 @@ isc_nm_udp_stoplistening(isc_nmsocket_t *sock) { * handle 'udpstop' async call - stop listening on a socket. */ void -isc__nm_async_udpstop(isc__networker_t *worker, isc__netievent_t *ev0) { - isc__netievent_udpstop_t *ievent = (isc__netievent_udpstop_t *) ev0; - isc_nmsocket_t *sock = ievent->sock; +isc__nm_async_udpstop(isc__networker_t *worker, isc__netievent_t *ev0) +{ + isc__netievent_udpstop_t *ievent = (isc__netievent_udpstop_t *)ev0; + isc_nmsocket_t * sock = ievent->sock; REQUIRE(sock->iface != NULL); UNUSED(worker); @@ -272,7 +273,7 @@ isc__nm_async_udpstop(isc__networker_t *worker, isc__netievent_t *ev0) { event = isc__nm_get_ievent(sock->mgr, netievent_udpstop); event->sock = sock; isc__nm_enqueue_ievent(&sock->mgr->workers[sock->tid], - (isc__netievent_t *) event); + (isc__netievent_t *)event); } else { stoplistening(sock); isc__nm_drop_interlocked(sock->mgr); @@ -288,14 +289,14 @@ static void udp_recv_cb(uv_udp_t *handle, ssize_t nrecv, const uv_buf_t *buf, const struct sockaddr *addr, unsigned flags) { - isc_result_t result; - isc_nmhandle_t *nmhandle = NULL; - isc_sockaddr_t sockaddr; - isc_sockaddr_t localaddr; + isc_result_t result; + isc_nmhandle_t * nmhandle = NULL; + isc_sockaddr_t sockaddr; + isc_sockaddr_t localaddr; struct sockaddr_storage laddr; isc_nmsocket_t *sock = uv_handle_get_data((uv_handle_t *)handle); - isc_region_t region; - uint32_t maxudp; + isc_region_t region; + uint32_t maxudp; REQUIRE(VALID_NMSOCK(sock)); @@ -326,14 +327,14 @@ udp_recv_cb(uv_udp_t *handle, ssize_t nrecv, const uv_buf_t *buf, result = isc_sockaddr_fromsockaddr(&sockaddr, addr); RUNTIME_CHECK(result == ISC_R_SUCCESS); - uv_udp_getsockname(handle, (struct sockaddr *) &laddr, - &(int){sizeof(struct sockaddr_storage)}); + uv_udp_getsockname(handle, (struct sockaddr *)&laddr, + &(int){ sizeof(struct sockaddr_storage) }); result = isc_sockaddr_fromsockaddr(&localaddr, - (struct sockaddr *) &laddr); + (struct sockaddr *)&laddr); RUNTIME_CHECK(result == ISC_R_SUCCESS); nmhandle = isc__nmhandle_get(sock, &sockaddr, &localaddr); - region.base = (unsigned char *) buf->base; + region.base = (unsigned char *)buf->base; region.length = nrecv; INSIST(sock->rcb.recv != NULL); @@ -353,16 +354,16 @@ udp_recv_cb(uv_udp_t *handle, ssize_t nrecv, const uv_buf_t *buf, * to jump to other thread. */ isc_result_t -isc__nm_udp_send(isc_nmhandle_t *handle, isc_region_t *region, - isc_nm_cb_t cb, void *cbarg) +isc__nm_udp_send(isc_nmhandle_t *handle, isc_region_t *region, isc_nm_cb_t cb, + void *cbarg) { - isc_nmsocket_t *psock = NULL, *rsock = NULL; - isc_nmsocket_t *sock = handle->sock; - isc_sockaddr_t *peer = &handle->peer; + isc_nmsocket_t * psock = NULL, *rsock = NULL; + isc_nmsocket_t * sock = handle->sock; + isc_sockaddr_t * peer = &handle->peer; isc__netievent_udpsend_t *ievent = NULL; - isc__nm_uvreq_t *uvreq = NULL; - int ntid; - uint32_t maxudp = atomic_load(&sock->mgr->maxudp); + isc__nm_uvreq_t * uvreq = NULL; + int ntid; + uint32_t maxudp = atomic_load(&sock->mgr->maxudp); /* * Simulate a firewall blocking UDP packets bigger than @@ -394,13 +395,13 @@ isc__nm_udp_send(isc_nmhandle_t *handle, isc_region_t *region, if (isc__nm_in_netthread()) { ntid = isc_nm_tid(); } else { - ntid = (int) isc_random_uniform(sock->nchildren); + ntid = (int)isc_random_uniform(sock->nchildren); } rsock = &psock->children[ntid]; uvreq = isc__nm_uvreq_get(sock->mgr, sock); - uvreq->uvbuf.base = (char *) region->base; + uvreq->uvbuf.base = (char *)region->base; uvreq->uvbuf.len = region->length; uvreq->handle = handle; @@ -425,27 +426,26 @@ isc__nm_udp_send(isc_nmhandle_t *handle, isc_region_t *region, ievent->req = uvreq; isc__nm_enqueue_ievent(&sock->mgr->workers[rsock->tid], - (isc__netievent_t *) ievent); + (isc__netievent_t *)ievent); return (ISC_R_SUCCESS); } } - /* * handle 'udpsend' async event - send a packet on the socket */ void -isc__nm_async_udpsend(isc__networker_t *worker, isc__netievent_t *ev0) { - isc__netievent_udpsend_t *ievent = - (isc__netievent_udpsend_t *) ev0; +isc__nm_async_udpsend(isc__networker_t *worker, isc__netievent_t *ev0) +{ + isc__netievent_udpsend_t *ievent = (isc__netievent_udpsend_t *)ev0; REQUIRE(worker->id == ievent->sock->tid); if (isc__nmsocket_active(ievent->sock)) { udp_send_direct(ievent->sock, ievent->req, &ievent->peer); } else { - ievent->req->cb.send(ievent->req->handle, - ISC_R_CANCELED, ievent->req->cbarg); + ievent->req->cb.send(ievent->req->handle, ISC_R_CANCELED, + ievent->req->cbarg); isc__nm_uvreq_put(&ievent->req, ievent->req->sock); } } @@ -454,8 +454,9 @@ isc__nm_async_udpsend(isc__networker_t *worker, isc__netievent_t *ev0) { * udp_send_cb - callback */ static void -udp_send_cb(uv_udp_send_t *req, int status) { - isc_result_t result = ISC_R_SUCCESS; +udp_send_cb(uv_udp_send_t *req, int status) +{ + isc_result_t result = ISC_R_SUCCESS; isc__nm_uvreq_t *uvreq = (isc__nm_uvreq_t *)req->data; REQUIRE(VALID_UVREQ(uvreq)); @@ -486,9 +487,8 @@ udp_send_direct(isc_nmsocket_t *sock, isc__nm_uvreq_t *req, REQUIRE(sock->type == isc_nm_udpsocket); isc_nmhandle_ref(req->handle); - rv = uv_udp_send(&req->uv_req.udp_send, - &sock->uv_handle.udp, &req->uvbuf, 1, - &peer->type.sa, udp_send_cb); + rv = uv_udp_send(&req->uv_req.udp_send, &sock->uv_handle.udp, + &req->uvbuf, 1, &peer->type.sa, udp_send_cb); if (rv < 0) { isc__nm_incstats(req->sock->mgr, req->sock->statsindex[STATID_SENDFAIL]); diff --git a/lib/isc/netmgr/uv-compat.c b/lib/isc/netmgr/uv-compat.c index 9e45fff108..50569e9aa9 100644 --- a/lib/isc/netmgr/uv-compat.c +++ b/lib/isc/netmgr/uv-compat.c @@ -9,10 +9,12 @@ * information regarding copyright ownership. */ -#include -#include #include "uv-compat.h" +#include + +#include + /* * XXXWPK: This code goes into libuv internals and it's platform dependent. * It's ugly, we shouldn't do it, but the alternative with passing sockets @@ -31,7 +33,7 @@ typedef enum { typedef struct { WSAPROTOCOL_INFOW socket_info; - uint32_t delayed_error; + uint32_t delayed_error; } uv__ipc_socket_xfer_info_t; /* @@ -44,13 +46,13 @@ uv__tcp_xfer_import(uv_tcp_t *tcp, uv__ipc_socket_xfer_type_t xfer_type, uv__ipc_socket_xfer_info_t *xfer_info); int -uv__tcp_xfer_export(uv_tcp_t* handle, - int target_pid, - uv__ipc_socket_xfer_type_t* xfer_type, - uv__ipc_socket_xfer_info_t* xfer_info); +uv__tcp_xfer_export(uv_tcp_t *handle, int target_pid, + uv__ipc_socket_xfer_type_t *xfer_type, + uv__ipc_socket_xfer_info_t *xfer_info); int -isc_uv_export(uv_stream_t *stream, isc_uv_stream_info_t *info) { +isc_uv_export(uv_stream_t *stream, isc_uv_stream_info_t *info) +{ uv__ipc_socket_xfer_info_t xfer_info; uv__ipc_socket_xfer_type_t xfer_type = UV__IPC_SOCKET_XFER_NONE; @@ -63,8 +65,7 @@ isc_uv_export(uv_stream_t *stream, isc_uv_stream_info_t *info) { if (stream->type != UV_TCP) { return (-1); } - int r = uv__tcp_xfer_export((uv_tcp_t *) stream, - GetCurrentProcessId(), + int r = uv__tcp_xfer_export((uv_tcp_t *)stream, GetCurrentProcessId(), &xfer_type, &xfer_info); if (r != 0) { return (r); @@ -78,24 +79,26 @@ isc_uv_export(uv_stream_t *stream, isc_uv_stream_info_t *info) { } int -isc_uv_import(uv_stream_t *stream, isc_uv_stream_info_t *info) { +isc_uv_import(uv_stream_t *stream, isc_uv_stream_info_t *info) +{ if (stream->type != UV_TCP || info->type != UV_TCP) { return (-1); } - return (uv__tcp_xfer_import((uv_tcp_t *) stream, - UV__IPC_SOCKET_XFER_TCP_SERVER, - &(uv__ipc_socket_xfer_info_t){ - .socket_info = info->socket_info - })); + return (uv__tcp_xfer_import( + (uv_tcp_t *)stream, UV__IPC_SOCKET_XFER_TCP_SERVER, + &(uv__ipc_socket_xfer_info_t){ .socket_info = + info->socket_info })); } #else /* WIN32 */ /* Adapted from libuv/src/unix/internal.h */ -#include #include +#include + static int -isc_uv__cloexec(int fd, int set) { +isc_uv__cloexec(int fd, int set) +{ int r; /* @@ -106,18 +109,13 @@ isc_uv__cloexec(int fd, int set) { * fcntl() call, which adds extra system call overhead, but * works. */ -#if defined(_AIX) || \ - defined(__APPLE__) || \ - defined(__DragonFly__) || \ - defined(__FreeBSD__) || \ - defined(__FreeBSD_kernel__) || \ - defined(__linux__) || \ - defined(__OpenBSD__) || \ - defined(__NetBSD__) +#if defined(_AIX) || defined(__APPLE__) || defined(__DragonFly__) || \ + defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \ + defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__) do { r = ioctl(fd, set ? FIOCLEX : FIONCLEX); } while (r == -1 && errno == EINTR); -#else /* FIOCLEX/FIONCLEX unsupported */ +#else /* FIOCLEX/FIONCLEX unsupported */ int flags; do { @@ -151,14 +149,15 @@ isc_uv__cloexec(int fd, int set) { } int -isc_uv_export(uv_stream_t *stream, isc_uv_stream_info_t *info) { +isc_uv_export(uv_stream_t *stream, isc_uv_stream_info_t *info) +{ int oldfd, fd; int err; if (stream->type != UV_TCP) { return (-1); } - err = uv_fileno((uv_handle_t *) stream, (uv_os_fd_t *) &oldfd); + err = uv_fileno((uv_handle_t *)stream, (uv_os_fd_t *)&oldfd); if (err != 0) { return (err); @@ -181,12 +180,13 @@ isc_uv_export(uv_stream_t *stream, isc_uv_stream_info_t *info) { } int -isc_uv_import(uv_stream_t *stream, isc_uv_stream_info_t *info) { +isc_uv_import(uv_stream_t *stream, isc_uv_stream_info_t *info) +{ if (info->type != UV_TCP) { return (-1); } - uv_tcp_t *tcp = (uv_tcp_t *) stream; + uv_tcp_t *tcp = (uv_tcp_t *)stream; return (uv_tcp_open(tcp, info->fd)); } #endif diff --git a/lib/isc/netmgr/uv-compat.h b/lib/isc/netmgr/uv-compat.h index 092c87976c..c532edbf00 100644 --- a/lib/isc/netmgr/uv-compat.h +++ b/lib/isc/netmgr/uv-compat.h @@ -21,14 +21,16 @@ #ifndef HAVE_UV_HANDLE_GET_DATA static inline void * -uv_handle_get_data(const uv_handle_t *handle) { +uv_handle_get_data(const uv_handle_t *handle) +{ return (handle->data); } #endif #ifndef HAVE_UV_HANDLE_SET_DATA static inline void -uv_handle_set_data(uv_handle_t *handle, void *data) { +uv_handle_set_data(uv_handle_t *handle, void *data) +{ handle->data = data; }; #endif diff --git a/lib/isc/netmgr/uverr2result.c b/lib/isc/netmgr/uverr2result.c index d3f95a3a09..b6a8065e3e 100644 --- a/lib/isc/netmgr/uverr2result.c +++ b/lib/isc/netmgr/uverr2result.c @@ -26,13 +26,13 @@ * not already there. */ isc_result_t -isc___nm_uverr2result(int uverr, bool dolog, - const char *file, unsigned int line) +isc___nm_uverr2result(int uverr, bool dolog, const char *file, + unsigned int line) { switch (uverr) { case UV_ENOTDIR: case UV_ELOOP: - case UV_EINVAL: /* XXX sometimes this is not for files */ + case UV_EINVAL: /* XXX sometimes this is not for files */ case UV_ENAMETOOLONG: case UV_EBADF: return (ISC_R_INVALIDFILE); diff --git a/lib/isc/netscope.c b/lib/isc/netscope.c index 0d978e7d89..3c767e4784 100644 --- a/lib/isc/netscope.c +++ b/lib/isc/netscope.c @@ -14,16 +14,17 @@ #include #include -#include #include #include #include +#include isc_result_t -isc_netscope_pton(int af, char *scopename, void *addr, uint32_t *zoneid) { +isc_netscope_pton(int af, char *scopename, void *addr, uint32_t *zoneid) +{ char *ep; #ifdef HAVE_IF_NAMETOINDEX - unsigned int ifid; + unsigned int ifid; struct in6_addr *in6; #endif uint32_t zone; @@ -33,14 +34,14 @@ isc_netscope_pton(int af, char *scopename, void *addr, uint32_t *zoneid) { if (af != AF_INET6) return (ISC_R_FAILURE); - /* - * Basically, "names" are more stable than numeric IDs in terms of - * renumbering, and are more preferred. However, since there is no - * standard naming convention and APIs to deal with the names. Thus, - * we only handle the case of link-local addresses, for which we use - * interface names as link names, assuming one to one mapping between - * interfaces and links. - */ + /* + * Basically, "names" are more stable than numeric IDs in terms + * of renumbering, and are more preferred. However, since there + * is no standard naming convention and APIs to deal with the + * names. Thus, we only handle the case of link-local + * addresses, for which we use interface names as link names, + * assuming one to one mapping between interfaces and links. + */ #ifdef HAVE_IF_NAMETOINDEX in6 = (struct in6_addr *)addr; if (IN6_IS_ADDR_LINKLOCAL(in6) && diff --git a/lib/isc/nonce.c b/lib/isc/nonce.c index c281d3688f..88af544453 100644 --- a/lib/isc/nonce.c +++ b/lib/isc/nonce.c @@ -14,6 +14,7 @@ #include "entropy_private.h" void -isc_nonce_buf(void *buf, size_t buflen) { +isc_nonce_buf(void *buf, size_t buflen) +{ isc_entropy_get(buf, buflen); } diff --git a/lib/isc/openssl_shim.c b/lib/isc/openssl_shim.c index 4a7a8cd643..f70b72c8a4 100644 --- a/lib/isc/openssl_shim.c +++ b/lib/isc/openssl_shim.c @@ -9,15 +9,16 @@ * information regarding copyright ownership. */ -#include +#include "openssl_shim.h" #include #include -#include "openssl_shim.h" + +#include #include #include #include -#include +#include #if !HAVE_CRYPTO_ZALLOC void * @@ -110,14 +111,17 @@ HMAC_CTX_free(HMAC_CTX *ctx) #if !HAVE_HMAC_CTX_RESET int -HMAC_CTX_reset(HMAC_CTX *ctx) { +HMAC_CTX_reset(HMAC_CTX *ctx) +{ HMAC_CTX_cleanup(ctx); return (1); } #endif #if !HAVE_HMAC_CTX_GET_MD -const EVP_MD *HMAC_CTX_get_md(const HMAC_CTX *ctx) { +const EVP_MD * +HMAC_CTX_get_md(const HMAC_CTX *ctx) +{ return ctx->md; } #endif diff --git a/lib/isc/openssl_shim.h b/lib/isc/openssl_shim.h index 0dd3820ad7..9995184949 100644 --- a/lib/isc/openssl_shim.h +++ b/lib/isc/openssl_shim.h @@ -11,49 +11,59 @@ #pragma once -#include #include #include #include #include +#include #if !HAVE_CRYPTO_ZALLOC -void *CRYPTO_zalloc(size_t size); +void * +CRYPTO_zalloc(size_t size); #define OPENSSL_zalloc(num) CRYPTO_zalloc(num) #endif #if !HAVE_EVP_CIPHER_CTX_NEW -EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void); +EVP_CIPHER_CTX * +EVP_CIPHER_CTX_new(void); #endif #if !HAVE_EVP_CIPHER_CTX_FREE -void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx); +void +EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx); #endif #if !HAVE_EVP_MD_CTX_NEW -EVP_MD_CTX *EVP_MD_CTX_new(void); +EVP_MD_CTX * +EVP_MD_CTX_new(void); #endif #if !HAVE_EVP_MD_CTX_FREE -void EVP_MD_CTX_free(EVP_MD_CTX *ctx); +void +EVP_MD_CTX_free(EVP_MD_CTX *ctx); #endif #if !HAVE_EVP_MD_CTX_RESET -int EVP_MD_CTX_reset(EVP_MD_CTX *ctx); +int +EVP_MD_CTX_reset(EVP_MD_CTX *ctx); #endif #if !HAVE_HMAC_CTX_NEW -HMAC_CTX *HMAC_CTX_new(void); +HMAC_CTX * +HMAC_CTX_new(void); #endif #if !HAVE_HMAC_CTX_FREE -void HMAC_CTX_free(HMAC_CTX *ctx); +void +HMAC_CTX_free(HMAC_CTX *ctx); #endif #if !HAVE_HMAC_CTX_RESET -int HMAC_CTX_reset(HMAC_CTX *ctx); +int +HMAC_CTX_reset(HMAC_CTX *ctx); #endif #if !HAVE_HMAC_CTX_GET_MD -const EVP_MD *HMAC_CTX_get_md(const HMAC_CTX *ctx); +const EVP_MD * +HMAC_CTX_get_md(const HMAC_CTX *ctx); #endif diff --git a/lib/isc/parseint.c b/lib/isc/parseint.c index 4bb4225df1..042f1decf8 100644 --- a/lib/isc/parseint.c +++ b/lib/isc/parseint.c @@ -9,24 +9,24 @@ * information regarding copyright ownership. */ - /*! \file */ #include #include -#include #include +#include #include #include #include isc_result_t -isc_parse_uint32(uint32_t *uip, const char *string, int base) { +isc_parse_uint32(uint32_t *uip, const char *string, int base) +{ unsigned long n; - uint32_t r; - char *e; - if (! isalnum((unsigned char)(string[0]))) + uint32_t r; + char * e; + if (!isalnum((unsigned char)(string[0]))) return (ISC_R_BADNUMBER); errno = 0; n = strtoul(string, &e, base); @@ -45,27 +45,29 @@ isc_parse_uint32(uint32_t *uip, const char *string, int base) { } isc_result_t -isc_parse_uint16(uint16_t *uip, const char *string, int base) { - uint32_t val; +isc_parse_uint16(uint16_t *uip, const char *string, int base) +{ + uint32_t val; isc_result_t result; result = isc_parse_uint32(&val, string, base); if (result != ISC_R_SUCCESS) return (result); if (val > 0xFFFF) return (ISC_R_RANGE); - *uip = (uint16_t) val; + *uip = (uint16_t)val; return (ISC_R_SUCCESS); } isc_result_t -isc_parse_uint8(uint8_t *uip, const char *string, int base) { - uint32_t val; +isc_parse_uint8(uint8_t *uip, const char *string, int base) +{ + uint32_t val; isc_result_t result; result = isc_parse_uint32(&val, string, base); if (result != ISC_R_SUCCESS) return (result); if (val > 0xFF) return (ISC_R_RANGE); - *uip = (uint8_t) val; + *uip = (uint8_t)val; return (ISC_R_SUCCESS); } diff --git a/lib/isc/pk11.c b/lib/isc/pk11.c index 1fc3e8c538..3da38de574 100644 --- a/lib/isc/pk11.c +++ b/lib/isc/pk11.c @@ -9,12 +9,12 @@ * information regarding copyright ownership. */ +#include +#include #include #include -#include #include #include -#include #include #include @@ -28,18 +28,16 @@ #include #include - -#include #include +#include #include #include - -#include #include +#include /* was 32 octets, Petr Spacek suggested 1024, SoftHSMv2 uses 256... */ #ifndef PINLEN -#define PINLEN 256 +#define PINLEN 256 #endif #ifndef PK11_NO_LOGERR @@ -50,32 +48,32 @@ LIBISC_EXTERNAL_DATA bool pk11_verbose_init = false; static isc_once_t once = ISC_ONCE_INIT; static isc_mem_t *pk11_mctx = NULL; -static int32_t allocsize = 0; -static bool initialized = false; +static int32_t allocsize = 0; +static bool initialized = false; typedef struct pk11_session pk11_session_t; -typedef struct pk11_token pk11_token_t; +typedef struct pk11_token pk11_token_t; typedef ISC_LIST(pk11_session_t) pk11_sessionlist_t; struct pk11_session { - unsigned int magic; - CK_SESSION_HANDLE session; + unsigned int magic; + CK_SESSION_HANDLE session; ISC_LINK(pk11_session_t) link; - pk11_token_t *token; + pk11_token_t *token; }; struct pk11_token { - unsigned int magic; - unsigned int operations; - ISC_LINK(pk11_token_t) link; - CK_SLOT_ID slotid; - pk11_sessionlist_t sessions; - bool logged; - char name[32]; - char manuf[32]; - char model[16]; - char serial[16]; - char pin[PINLEN + 1]; + unsigned int magic; + unsigned int operations; + ISC_LINK(pk11_token_t) link; + CK_SLOT_ID slotid; + pk11_sessionlist_t sessions; + bool logged; + char name[32]; + char manuf[32]; + char model[16]; + char serial[16]; + char pin[PINLEN + 1]; }; static ISC_LIST(pk11_token_t) tokens; @@ -84,19 +82,22 @@ static pk11_token_t *best_dh_token; static pk11_token_t *best_ecdsa_token; static pk11_token_t *best_eddsa_token; -static isc_result_t free_all_sessions(void); -static isc_result_t free_session_list(pk11_sessionlist_t *slist); -static isc_result_t setup_session(pk11_session_t *sp, - pk11_token_t *token, - bool rw); -static void scan_slots(void); -static isc_result_t token_login(pk11_session_t *sp); -static char *percent_decode(char *x, size_t *len); -static bool pk11strcmp(const char *x, size_t lenx, - const char *y, size_t leny); -static CK_ATTRIBUTE *push_attribute(pk11_object_t *obj, - isc_mem_t *mctx, - size_t len); +static isc_result_t +free_all_sessions(void); +static isc_result_t +free_session_list(pk11_sessionlist_t *slist); +static isc_result_t +setup_session(pk11_session_t *sp, pk11_token_t *token, bool rw); +static void +scan_slots(void); +static isc_result_t +token_login(pk11_session_t *sp); +static char * +percent_decode(char *x, size_t *len); +static bool +pk11strcmp(const char *x, size_t lenx, const char *y, size_t leny); +static CK_ATTRIBUTE * +push_attribute(pk11_object_t *obj, isc_mem_t *mctx, size_t len); static isc_mutex_t alloclock; static isc_mutex_t sessionlock; @@ -104,16 +105,16 @@ static isc_mutex_t sessionlock; static pk11_sessionlist_t actives; static CK_C_INITIALIZE_ARGS pk11_init_args = { - NULL_PTR, /* CreateMutex */ - NULL_PTR, /* DestroyMutex */ - NULL_PTR, /* LockMutex */ - NULL_PTR, /* UnlockMutex */ - CKF_OS_LOCKING_OK, /* flags */ - NULL_PTR, /* pReserved */ + NULL_PTR, /* CreateMutex */ + NULL_PTR, /* DestroyMutex */ + NULL_PTR, /* LockMutex */ + NULL_PTR, /* UnlockMutex */ + CKF_OS_LOCKING_OK, /* flags */ + NULL_PTR, /* pReserved */ }; #ifndef PK11_LIB_LOCATION -#define PK11_LIB_LOCATION "unknown_provider" +#define PK11_LIB_LOCATION "unknown_provider" #endif #ifndef WIN32 @@ -123,17 +124,20 @@ static const char *lib_name = PK11_LIB_LOCATION ".dll"; #endif void -pk11_set_lib_name(const char *name) { +pk11_set_lib_name(const char *name) +{ lib_name = name; } const char * -pk11_get_lib_name(void) { +pk11_get_lib_name(void) +{ return (lib_name); } static void -initialize(void) { +initialize(void) +{ char *pk11_provider; isc_mutex_init(&alloclock); @@ -145,7 +149,8 @@ initialize(void) { } void * -pk11_mem_get(size_t size) { +pk11_mem_get(size_t size) +{ void *ptr; LOCK(&alloclock); @@ -168,7 +173,8 @@ pk11_mem_get(size_t size) { } void -pk11_mem_put(void *ptr, size_t size) { +pk11_mem_put(void *ptr, size_t size) +{ if (ptr != NULL) memset(ptr, 0, size); LOCK(&alloclock); @@ -183,9 +189,10 @@ pk11_mem_put(void *ptr, size_t size) { } isc_result_t -pk11_initialize(isc_mem_t *mctx, const char *engine) { +pk11_initialize(isc_mem_t *mctx, const char *engine) +{ isc_result_t result = ISC_R_SUCCESS; - CK_RV rv; + CK_RV rv; RUNTIME_CHECK(isc_once_do(&once, initialize) == ISC_R_SUCCESS); @@ -207,7 +214,7 @@ pk11_initialize(isc_mem_t *mctx, const char *engine) { lib_name = engine; /* Initialize the CRYPTOKI library */ - rv = pkcs_C_Initialize((CK_VOID_PTR) &pk11_init_args); + rv = pkcs_C_Initialize((CK_VOID_PTR)&pk11_init_args); if (rv == 0xfe) { result = PK11_R_NOPROVIDER; @@ -221,18 +228,19 @@ pk11_initialize(isc_mem_t *mctx, const char *engine) { } scan_slots(); - unlock: +unlock: UNLOCK(&sessionlock); return (result); } isc_result_t -pk11_finalize(void) { +pk11_finalize(void) +{ pk11_token_t *token, *next; - isc_result_t ret; + isc_result_t ret; ret = free_all_sessions(); - (void) pkcs_C_Finalize(NULL_PTR); + (void)pkcs_C_Finalize(NULL_PTR); token = ISC_LIST_HEAD(tokens); while (token != NULL) { next = ISC_LIST_NEXT(token, link); @@ -259,14 +267,13 @@ pk11_finalize(void) { } isc_result_t -pk11_get_session(pk11_context_t *ctx, pk11_optype_t optype, - bool need_services, bool rw, - bool logon, const char *pin, CK_SLOT_ID slot) +pk11_get_session(pk11_context_t *ctx, pk11_optype_t optype, bool need_services, + bool rw, bool logon, const char *pin, CK_SLOT_ID slot) { - pk11_token_t *token = NULL; + pk11_token_t * token = NULL; pk11_sessionlist_t *freelist; - pk11_session_t *sp; - isc_result_t ret; + pk11_session_t * sp; + isc_result_t ret; UNUSED(need_services); memset(ctx, 0, sizeof(pk11_context_t)); @@ -281,17 +288,15 @@ pk11_get_session(pk11_context_t *ctx, pk11_optype_t optype, /* wait for initialization to finish */ UNLOCK(&sessionlock); - switch(optype) { + switch (optype) { case OP_ANY: - for (token = ISC_LIST_HEAD(tokens); - token != NULL; + for (token = ISC_LIST_HEAD(tokens); token != NULL; token = ISC_LIST_NEXT(token, link)) if (token->slotid == slot) break; break; default: - for (token = ISC_LIST_HEAD(tokens); - token != NULL; + for (token = ISC_LIST_HEAD(tokens); token != NULL; token = ISC_LIST_NEXT(token, link)) if (token->slotid == slot) break; @@ -345,8 +350,9 @@ pk11_get_session(pk11_context_t *ctx, pk11_optype_t optype, } void -pk11_return_session(pk11_context_t *ctx) { - pk11_session_t *sp = (pk11_session_t *) ctx->handle; +pk11_return_session(pk11_context_t *ctx) +{ + pk11_session_t *sp = (pk11_session_t *)ctx->handle; if (sp == NULL) return; @@ -367,13 +373,13 @@ pk11_return_session(pk11_context_t *ctx) { } static isc_result_t -free_all_sessions(void) { +free_all_sessions(void) +{ pk11_token_t *token; - isc_result_t ret = ISC_R_SUCCESS; - isc_result_t oret; + isc_result_t ret = ISC_R_SUCCESS; + isc_result_t oret; - for (token = ISC_LIST_HEAD(tokens); - token != NULL; + for (token = ISC_LIST_HEAD(tokens); token != NULL; token = ISC_LIST_NEXT(token, link)) { oret = free_session_list(&token->sessions); if (oret != ISC_R_SUCCESS) @@ -389,10 +395,11 @@ free_all_sessions(void) { } static isc_result_t -free_session_list(pk11_sessionlist_t *slist) { +free_session_list(pk11_sessionlist_t *slist) +{ pk11_session_t *sp; - CK_RV rv; - isc_result_t ret; + CK_RV rv; + isc_result_t ret; ret = ISC_R_SUCCESS; LOCK(&sessionlock); @@ -414,33 +421,33 @@ free_session_list(pk11_sessionlist_t *slist) { } static isc_result_t -setup_session(pk11_session_t *sp, pk11_token_t *token, - bool rw) +setup_session(pk11_session_t *sp, pk11_token_t *token, bool rw) { - CK_RV rv; + CK_RV rv; CK_FLAGS flags = CKF_SERIAL_SESSION; if (rw) flags += CKF_RW_SESSION; - rv = pkcs_C_OpenSession(token->slotid, flags, NULL_PTR, - NULL_PTR, &sp->session); + rv = pkcs_C_OpenSession(token->slotid, flags, NULL_PTR, NULL_PTR, + &sp->session); if (rv != CKR_OK) return (DST_R_CRYPTOFAILURE); return (ISC_R_SUCCESS); } static isc_result_t -token_login(pk11_session_t *sp) { - CK_RV rv; +token_login(pk11_session_t *sp) +{ + CK_RV rv; pk11_token_t *token = sp->token; - isc_result_t ret = ISC_R_SUCCESS; + isc_result_t ret = ISC_R_SUCCESS; LOCK(&sessionlock); if (!token->logged) { rv = pkcs_C_Login(sp->session, CKU_USER, - (CK_UTF8CHAR_PTR) token->pin, - (CK_ULONG) strlen(token->pin)); + (CK_UTF8CHAR_PTR)token->pin, + (CK_ULONG)strlen(token->pin)); if (rv != CKR_OK) { #if PK11_NO_LOGERR pk11_error_fatalcheck(__FILE__, __LINE__, @@ -455,26 +462,31 @@ token_login(pk11_session_t *sp) { return (ret); } -#define PK11_TRACE(fmt) \ - if (pk11_verbose_init) fprintf(stderr, fmt) -#define PK11_TRACE1(fmt, arg) \ - if (pk11_verbose_init) fprintf(stderr, fmt, arg) +#define PK11_TRACE(fmt) \ + if (pk11_verbose_init) \ + fprintf(stderr, fmt) +#define PK11_TRACE1(fmt, arg) \ + if (pk11_verbose_init) \ + fprintf(stderr, fmt, arg) #define PK11_TRACE2(fmt, arg1, arg2) \ - if (pk11_verbose_init) fprintf(stderr, fmt, arg1, arg2) -#define PK11_TRACEM(mech) \ - if (pk11_verbose_init) fprintf(stderr, #mech ": 0x%lx\n", rv) + if (pk11_verbose_init) \ + fprintf(stderr, fmt, arg1, arg2) +#define PK11_TRACEM(mech) \ + if (pk11_verbose_init) \ + fprintf(stderr, #mech ": 0x%lx\n", rv) static void -scan_slots(void) { +scan_slots(void) +{ CK_MECHANISM_INFO mechInfo; - CK_TOKEN_INFO tokenInfo; - CK_RV rv; - CK_SLOT_ID slot; - CK_SLOT_ID_PTR slotList; - CK_ULONG slotCount; - pk11_token_t *token; - unsigned int i; - bool bad; + CK_TOKEN_INFO tokenInfo; + CK_RV rv; + CK_SLOT_ID slot; + CK_SLOT_ID_PTR slotList; + CK_ULONG slotCount; + pk11_token_t * token; + unsigned int i; + bool bad; slotCount = 0; PK11_FATALCHECK(pkcs_C_GetSlotList, (CK_FALSE, NULL_PTR, &slotCount)); @@ -512,41 +524,35 @@ scan_slots(void) { bad = true; PK11_TRACEM(CKM_RSA_PKCS_KEY_PAIR_GEN); } - rv = pkcs_C_GetMechanismInfo(slot, CKM_MD5_RSA_PKCS, - &mechInfo); - if ((rv != CKR_OK) || - ((mechInfo.flags & CKF_SIGN) == 0) || + rv = pkcs_C_GetMechanismInfo(slot, CKM_MD5_RSA_PKCS, &mechInfo); + if ((rv != CKR_OK) || ((mechInfo.flags & CKF_SIGN) == 0) || ((mechInfo.flags & CKF_VERIFY) == 0)) { bad = true; PK11_TRACEM(CKM_MD5_RSA_PKCS); } rv = pkcs_C_GetMechanismInfo(slot, CKM_SHA1_RSA_PKCS, &mechInfo); - if ((rv != CKR_OK) || - ((mechInfo.flags & CKF_SIGN) == 0) || + if ((rv != CKR_OK) || ((mechInfo.flags & CKF_SIGN) == 0) || ((mechInfo.flags & CKF_VERIFY) == 0)) { bad = true; PK11_TRACEM(CKM_SHA1_RSA_PKCS); } rv = pkcs_C_GetMechanismInfo(slot, CKM_SHA256_RSA_PKCS, &mechInfo); - if ((rv != CKR_OK) || - ((mechInfo.flags & CKF_SIGN) == 0) || + if ((rv != CKR_OK) || ((mechInfo.flags & CKF_SIGN) == 0) || ((mechInfo.flags & CKF_VERIFY) == 0)) { bad = true; PK11_TRACEM(CKM_SHA256_RSA_PKCS); } rv = pkcs_C_GetMechanismInfo(slot, CKM_SHA512_RSA_PKCS, &mechInfo); - if ((rv != CKR_OK) || - ((mechInfo.flags & CKF_SIGN) == 0) || + if ((rv != CKR_OK) || ((mechInfo.flags & CKF_SIGN) == 0) || ((mechInfo.flags & CKF_VERIFY) == 0)) { bad = true; PK11_TRACEM(CKM_SHA512_RSA_PKCS); } rv = pkcs_C_GetMechanismInfo(slot, CKM_RSA_PKCS, &mechInfo); - if ((rv != CKR_OK) || - ((mechInfo.flags & CKF_SIGN) == 0) || + if ((rv != CKR_OK) || ((mechInfo.flags & CKF_SIGN) == 0) || ((mechInfo.flags & CKF_VERIFY) == 0)) { bad = true; PK11_TRACEM(CKM_RSA_PKCS); @@ -568,8 +574,7 @@ scan_slots(void) { PK11_TRACEM(CKM_EC_KEY_PAIR_GEN); } rv = pkcs_C_GetMechanismInfo(slot, CKM_ECDSA, &mechInfo); - if ((rv != CKR_OK) || - ((mechInfo.flags & CKF_SIGN) == 0) || + if ((rv != CKR_OK) || ((mechInfo.flags & CKF_SIGN) == 0) || ((mechInfo.flags & CKF_VERIFY) == 0)) { bad = true; PK11_TRACEM(CKM_ECDSA); @@ -593,8 +598,7 @@ scan_slots(void) { PK11_TRACEM(CKM_EDDSA_KEY_PAIR_GEN); } rv = pkcs_C_GetMechanismInfo(slot, CKM_EDDSA, &mechInfo); - if ((rv != CKR_OK) || - ((mechInfo.flags & CKF_SIGN) == 0) || + if ((rv != CKR_OK) || ((mechInfo.flags & CKF_SIGN) == 0) || ((mechInfo.flags & CKF_VERIFY) == 0)) { bad = true; PK11_TRACEM(CKM_EDDSA); @@ -614,7 +618,8 @@ scan_slots(void) { } CK_SLOT_ID -pk11_get_best_token(pk11_optype_t optype) { +pk11_get_best_token(pk11_optype_t optype) +{ pk11_token_t *token = NULL; switch (optype) { @@ -634,9 +639,10 @@ pk11_get_best_token(pk11_optype_t optype) { } unsigned int -pk11_numbits(CK_BYTE_PTR data, unsigned int bytecnt) { +pk11_numbits(CK_BYTE_PTR data, unsigned int bytecnt) +{ unsigned int bitcnt, i; - CK_BYTE top; + CK_BYTE top; if (bytecnt == 0) return (0); @@ -670,12 +676,14 @@ pk11_numbits(CK_BYTE_PTR data, unsigned int bytecnt) { } CK_ATTRIBUTE * -pk11_attribute_first(const pk11_object_t *obj) { +pk11_attribute_first(const pk11_object_t *obj) +{ return (obj->repr); } CK_ATTRIBUTE * -pk11_attribute_next(const pk11_object_t *obj, CK_ATTRIBUTE *attr) { +pk11_attribute_next(const pk11_object_t *obj, CK_ATTRIBUTE *attr) +{ CK_ATTRIBUTE *next; next = attr + 1; @@ -685,20 +693,21 @@ pk11_attribute_next(const pk11_object_t *obj, CK_ATTRIBUTE *attr) { } CK_ATTRIBUTE * -pk11_attribute_bytype(const pk11_object_t *obj, CK_ATTRIBUTE_TYPE type) { +pk11_attribute_bytype(const pk11_object_t *obj, CK_ATTRIBUTE_TYPE type) +{ CK_ATTRIBUTE *attr; - for(attr = pk11_attribute_first(obj); - attr != NULL; - attr = pk11_attribute_next(obj, attr)) + for (attr = pk11_attribute_first(obj); attr != NULL; + attr = pk11_attribute_next(obj, attr)) if (attr->type == type) return (attr); return (NULL); } static char * -percent_decode(char *x, size_t *len) { - char *p, *c; +percent_decode(char *x, size_t *len) +{ + char * p, *c; unsigned char v = 0; INSIST(len != NULL); @@ -771,7 +780,7 @@ percent_decode(char *x, size_t *len) { return (NULL); } p += 2; - *c = (char) v; + *c = (char)v; (*len)++; break; default: @@ -783,7 +792,8 @@ percent_decode(char *x, size_t *len) { } static bool -pk11strcmp(const char *x, size_t lenx, const char *y, size_t leny) { +pk11strcmp(const char *x, size_t lenx, const char *y, size_t leny) +{ char buf[32]; INSIST((leny == 32) || (leny == 16)); @@ -796,10 +806,11 @@ pk11strcmp(const char *x, size_t lenx, const char *y, size_t leny) { } static CK_ATTRIBUTE * -push_attribute(pk11_object_t *obj, isc_mem_t *mctx, size_t len) { +push_attribute(pk11_object_t *obj, isc_mem_t *mctx, size_t len) +{ CK_ATTRIBUTE *old = obj->repr; CK_ATTRIBUTE *attr; - CK_BYTE cnt = obj->attrcnt; + CK_BYTE cnt = obj->attrcnt; REQUIRE(old != NULL || cnt == 0); @@ -809,7 +820,7 @@ push_attribute(pk11_object_t *obj, isc_mem_t *mctx, size_t len) { memmove(obj->repr, old, cnt * sizeof(*attr)); } attr = obj->repr + cnt; - attr->ulValueLen = (CK_ULONG) len; + attr->ulValueLen = (CK_ULONG)len; attr->pValue = isc_mem_get(mctx, len); memset(attr->pValue, 0, len); if (old != NULL) { @@ -820,20 +831,24 @@ push_attribute(pk11_object_t *obj, isc_mem_t *mctx, size_t len) { return (attr); } -#define DST_RET(a) { ret = a; goto err; } +#define DST_RET(a) \ + { \ + ret = a; \ + goto err; \ + } isc_result_t -pk11_parse_uri(pk11_object_t *obj, const char *label, - isc_mem_t *mctx, pk11_optype_t optype) +pk11_parse_uri(pk11_object_t *obj, const char *label, isc_mem_t *mctx, + pk11_optype_t optype) { CK_ATTRIBUTE *attr; pk11_token_t *token = NULL; - char *uri, *p, *a, *na, *v; - size_t len, l; - FILE *stream = NULL; - char pin[PINLEN + 1]; - bool gotpin = false; - isc_result_t ret; + char * uri, *p, *a, *na, *v; + size_t len, l; + FILE * stream = NULL; + char pin[PINLEN + 1]; + bool gotpin = false; + isc_result_t ret; /* get values to work on */ len = strlen(label) + 1; @@ -975,24 +990,25 @@ pk11_parse_uri(pk11_object_t *obj, const char *label, ret = ISC_R_SUCCESS; - err: +err: if (stream != NULL) - (void) isc_stdio_close(stream); + (void)isc_stdio_close(stream); isc_mem_put(mctx, uri, len); return (ret); } void -pk11_error_fatalcheck(const char *file, int line, - const char *funcname, CK_RV rv) +pk11_error_fatalcheck(const char *file, int line, const char *funcname, + CK_RV rv) { isc_error_fatal(file, line, "%s: Error = 0x%.8lX\n", funcname, rv); } void -pk11_dump_tokens(void) { +pk11_dump_tokens(void) +{ pk11_token_t *token; - bool first; + bool first; printf("DEFAULTS\n"); printf("\tbest_rsa_token=%p\n", best_rsa_token); @@ -1000,8 +1016,7 @@ pk11_dump_tokens(void) { printf("\tbest_ecdsa_token=%p\n", best_ecdsa_token); printf("\tbest_eddsa_token=%p\n", best_eddsa_token); - for (token = ISC_LIST_HEAD(tokens); - token != NULL; + for (token = ISC_LIST_HEAD(tokens); token != NULL; token = ISC_LIST_NEXT(token, link)) { printf("\nTOKEN\n"); printf("\taddress=%p\n", token); diff --git a/lib/isc/pk11_result.c b/lib/isc/pk11_result.c index b739888ace..6b4b4b8f75 100644 --- a/lib/isc/pk11_result.c +++ b/lib/isc/pk11_result.c @@ -17,27 +17,26 @@ #include static const char *text[PK11_R_NRESULTS] = { - "PKCS#11 initialization failed", /*%< 0 */ - "no PKCS#11 provider", /*%< 1 */ - "PKCS#11 no random service", /*%< 2 */ - "PKCS#11 no digist service", /*%< 3 */ - "PKCS#11 no AES service", /*%< 4 */ + "PKCS#11 initialization failed", /*%< 0 */ + "no PKCS#11 provider", /*%< 1 */ + "PKCS#11 no random service", /*%< 2 */ + "PKCS#11 no digist service", /*%< 3 */ + "PKCS#11 no AES service", /*%< 4 */ }; static const char *ids[PK11_R_NRESULTS] = { - "PK11_R_INITFAILED", - "PK11_R_NOPROVIDER", - "PK11_R_NORANDOMSERVICE", - "PK11_R_NODIGESTSERVICE", + "PK11_R_INITFAILED", "PK11_R_NOPROVIDER", + "PK11_R_NORANDOMSERVICE", "PK11_R_NODIGESTSERVICE", "PK11_R_NOAESSERVICE", }; -#define PK11_RESULT_RESULTSET 2 +#define PK11_RESULT_RESULTSET 2 -static isc_once_t once = ISC_ONCE_INIT; +static isc_once_t once = ISC_ONCE_INIT; static void -initialize_action(void) { +initialize_action(void) +{ isc_result_t result; result = isc_result_register(ISC_RESULTCLASS_PK11, PK11_R_NRESULTS, @@ -56,18 +55,21 @@ initialize_action(void) { } static void -initialize(void) { +initialize(void) +{ RUNTIME_CHECK(isc_once_do(&once, initialize_action) == ISC_R_SUCCESS); } const char * -pk11_result_totext(isc_result_t result) { +pk11_result_totext(isc_result_t result) +{ initialize(); return (isc_result_totext(result)); } void -pk11_result_register(void) { +pk11_result_register(void) +{ initialize(); } diff --git a/lib/isc/pool.c b/lib/isc/pool.c index fd3af14576..34dc70d1e6 100644 --- a/lib/isc/pool.c +++ b/lib/isc/pool.c @@ -9,14 +9,13 @@ * information regarding copyright ownership. */ - /*! \file */ #include #include -#include #include +#include #include /*** @@ -24,12 +23,12 @@ ***/ struct isc_pool { - isc_mem_t * mctx; - unsigned int count; - isc_pooldeallocator_t free; - isc_poolinitializer_t init; - void * initarg; - void ** pool; + isc_mem_t * mctx; + unsigned int count; + isc_pooldeallocator_t free; + isc_poolinitializer_t init; + void * initarg; + void ** pool; }; /*** @@ -37,7 +36,8 @@ struct isc_pool { ***/ static isc_result_t -alloc_pool(isc_mem_t *mctx, unsigned int count, isc_pool_t **poolp) { +alloc_pool(isc_mem_t *mctx, unsigned int count, isc_pool_t **poolp) +{ isc_pool_t *pool; pool = isc_mem_get(mctx, sizeof(*pool)); @@ -56,11 +56,10 @@ alloc_pool(isc_mem_t *mctx, unsigned int count, isc_pool_t **poolp) { isc_result_t isc_pool_create(isc_mem_t *mctx, unsigned int count, - isc_pooldeallocator_t release, - isc_poolinitializer_t init, void *initarg, - isc_pool_t **poolp) + isc_pooldeallocator_t release, isc_poolinitializer_t init, + void *initarg, isc_pool_t **poolp) { - isc_pool_t *pool = NULL; + isc_pool_t * pool = NULL; isc_result_t result; unsigned int i; @@ -89,22 +88,23 @@ isc_pool_create(isc_mem_t *mctx, unsigned int count, } void * -isc_pool_get(isc_pool_t *pool) { +isc_pool_get(isc_pool_t *pool) +{ return (pool->pool[isc_random_uniform(pool->count)]); } int -isc_pool_count(isc_pool_t *pool) { +isc_pool_count(isc_pool_t *pool) +{ REQUIRE(pool != NULL); return (pool->count); } isc_result_t -isc_pool_expand(isc_pool_t **sourcep, unsigned int count, - isc_pool_t **targetp) +isc_pool_expand(isc_pool_t **sourcep, unsigned int count, isc_pool_t **targetp) { isc_result_t result; - isc_pool_t *pool; + isc_pool_t * pool; REQUIRE(sourcep != NULL && *sourcep != NULL); REQUIRE(targetp != NULL && *targetp == NULL); @@ -112,7 +112,7 @@ isc_pool_expand(isc_pool_t **sourcep, unsigned int count, pool = *sourcep; *sourcep = NULL; if (count > pool->count) { - isc_pool_t *newpool = NULL; + isc_pool_t * newpool = NULL; unsigned int i; /* Allocate a new pool structure */ @@ -149,9 +149,10 @@ isc_pool_expand(isc_pool_t **sourcep, unsigned int count, } void -isc_pool_destroy(isc_pool_t **poolp) { +isc_pool_destroy(isc_pool_t **poolp) +{ unsigned int i; - isc_pool_t *pool = *poolp; + isc_pool_t * pool = *poolp; *poolp = NULL; for (i = 0; i < pool->count; i++) { if (pool->free != NULL && pool->pool[i] != NULL) diff --git a/lib/isc/portset.c b/lib/isc/portset.c index 5898b83148..fecbfa7484 100644 --- a/lib/isc/portset.c +++ b/lib/isc/portset.c @@ -9,11 +9,10 @@ * information regarding copyright ownership. */ - /*! \file */ -#include #include +#include #include #include @@ -29,17 +28,19 @@ * the second most significant bit of buf[0] corresponds to port 1. */ struct isc_portset { - unsigned int nports; /*%< number of ports in the set */ - uint32_t buf[ISC_PORTSET_BUFSIZE]; + unsigned int nports; /*%< number of ports in the set */ + uint32_t buf[ISC_PORTSET_BUFSIZE]; }; static inline bool -portset_isset(isc_portset_t *portset, in_port_t port) { +portset_isset(isc_portset_t *portset, in_port_t port) +{ return ((portset->buf[port >> 5] & ((uint32_t)1 << (port & 31))) != 0); } static inline void -portset_add(isc_portset_t *portset, in_port_t port) { +portset_add(isc_portset_t *portset, in_port_t port) +{ if (!portset_isset(portset, port)) { portset->nports++; portset->buf[port >> 5] |= ((uint32_t)1 << (port & 31)); @@ -47,7 +48,8 @@ portset_add(isc_portset_t *portset, in_port_t port) { } static inline void -portset_remove(isc_portset_t *portset, in_port_t port) { +portset_remove(isc_portset_t *portset, in_port_t port) +{ if (portset_isset(portset, port)) { portset->nports--; portset->buf[port >> 5] &= ~((uint32_t)1 << (port & 31)); @@ -55,7 +57,8 @@ portset_remove(isc_portset_t *portset, in_port_t port) { } isc_result_t -isc_portset_create(isc_mem_t *mctx, isc_portset_t **portsetp) { +isc_portset_create(isc_mem_t *mctx, isc_portset_t **portsetp) +{ isc_portset_t *portset; REQUIRE(portsetp != NULL && *portsetp == NULL); @@ -70,7 +73,8 @@ isc_portset_create(isc_mem_t *mctx, isc_portset_t **portsetp) { } void -isc_portset_destroy(isc_mem_t *mctx, isc_portset_t **portsetp) { +isc_portset_destroy(isc_mem_t *mctx, isc_portset_t **portsetp) +{ isc_portset_t *portset; REQUIRE(portsetp != NULL); @@ -80,28 +84,32 @@ isc_portset_destroy(isc_mem_t *mctx, isc_portset_t **portsetp) { } bool -isc_portset_isset(isc_portset_t *portset, in_port_t port) { +isc_portset_isset(isc_portset_t *portset, in_port_t port) +{ REQUIRE(portset != NULL); return (portset_isset(portset, port)); } unsigned int -isc_portset_nports(isc_portset_t *portset) { +isc_portset_nports(isc_portset_t *portset) +{ REQUIRE(portset != NULL); return (portset->nports); } void -isc_portset_add(isc_portset_t *portset, in_port_t port) { +isc_portset_add(isc_portset_t *portset, in_port_t port) +{ REQUIRE(portset != NULL); portset_add(portset, port); } void -isc_portset_remove(isc_portset_t *portset, in_port_t port) { +isc_portset_remove(isc_portset_t *portset, in_port_t port) +{ portset_remove(portset, port); } diff --git a/lib/isc/pthreads/condition.c b/lib/isc/pthreads/condition.c index 57d84ceba1..5c1b60bc0c 100644 --- a/lib/isc/pthreads/condition.c +++ b/lib/isc/pthreads/condition.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -21,11 +20,12 @@ #include isc_result_t -isc_condition_waituntil(isc_condition_t *c, isc_mutex_t *m, isc_time_t *t) { - int presult; - isc_result_t result; +isc_condition_waituntil(isc_condition_t *c, isc_mutex_t *m, isc_time_t *t) +{ + int presult; + isc_result_t result; struct timespec ts; - char strbuf[ISC_STRERRORSIZE]; + char strbuf[ISC_STRERRORSIZE]; REQUIRE(c != NULL && m != NULL && t != NULL); @@ -63,7 +63,6 @@ isc_condition_waituntil(isc_condition_t *c, isc_mutex_t *m, isc_time_t *t) { strerror_r(presult, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, - "pthread_cond_timedwait() returned %s", - strbuf); + "pthread_cond_timedwait() returned %s", strbuf); return (ISC_R_UNEXPECTED); } diff --git a/lib/isc/pthreads/include/isc/condition.h b/lib/isc/pthreads/include/isc/condition.h index 9cc04d0133..7d9c9443fc 100644 --- a/lib/isc/pthreads/include/isc/condition.h +++ b/lib/isc/pthreads/include/isc/condition.h @@ -25,37 +25,34 @@ typedef pthread_cond_t isc_condition_t; -#define isc_condition_init(cond) \ - if (pthread_cond_init(cond, NULL) != 0) { \ - char isc_condition_strbuf[ISC_STRERRORSIZE]; \ - strerror_r(errno, isc_condition_strbuf, \ - sizeof(isc_condition_strbuf)); \ - isc_error_fatal(__FILE__, __LINE__, \ - "pthread_cond_init failed: %s", \ - isc_condition_strbuf); \ +#define isc_condition_init(cond) \ + if (pthread_cond_init(cond, NULL) != 0) { \ + char isc_condition_strbuf[ISC_STRERRORSIZE]; \ + strerror_r(errno, isc_condition_strbuf, \ + sizeof(isc_condition_strbuf)); \ + isc_error_fatal(__FILE__, __LINE__, \ + "pthread_cond_init failed: %s", \ + isc_condition_strbuf); \ } #if ISC_MUTEX_PROFILE -#define isc_condition_wait(cp, mp) \ - ((pthread_cond_wait((cp), &((mp)->mutex)) == 0) ? \ - ISC_R_SUCCESS : ISC_R_UNEXPECTED) +#define isc_condition_wait(cp, mp) \ + ((pthread_cond_wait((cp), &((mp)->mutex)) == 0) ? ISC_R_SUCCESS \ + : ISC_R_UNEXPECTED) #else -#define isc_condition_wait(cp, mp) \ - ((pthread_cond_wait((cp), (mp)) == 0) ? \ - ISC_R_SUCCESS : ISC_R_UNEXPECTED) +#define isc_condition_wait(cp, mp) \ + ((pthread_cond_wait((cp), (mp)) == 0) ? ISC_R_SUCCESS \ + : ISC_R_UNEXPECTED) #endif #define isc_condition_signal(cp) \ - ((pthread_cond_signal((cp)) == 0) ? \ - ISC_R_SUCCESS : ISC_R_UNEXPECTED) + ((pthread_cond_signal((cp)) == 0) ? ISC_R_SUCCESS : ISC_R_UNEXPECTED) #define isc_condition_broadcast(cp) \ - ((pthread_cond_broadcast((cp)) == 0) ? \ - ISC_R_SUCCESS : ISC_R_UNEXPECTED) + ((pthread_cond_broadcast((cp)) == 0) ? ISC_R_SUCCESS : ISC_R_UNEXPECTED) #define isc_condition_destroy(cp) \ - ((pthread_cond_destroy((cp)) == 0) ? \ - ISC_R_SUCCESS : ISC_R_UNEXPECTED) + ((pthread_cond_destroy((cp)) == 0) ? ISC_R_SUCCESS : ISC_R_UNEXPECTED) ISC_LANG_BEGINDECLS diff --git a/lib/isc/pthreads/include/isc/mutex.h b/lib/isc/pthreads/include/isc/mutex.h index 4e98033aa6..1cc80824eb 100644 --- a/lib/isc/pthreads/include/isc/mutex.h +++ b/lib/isc/pthreads/include/isc/mutex.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_MUTEX_H #define ISC_MUTEX_H 1 @@ -19,7 +18,7 @@ #include #include -#include /* for ISC_R_ codes */ +#include /* for ISC_R_ codes */ ISC_LANG_BEGINDECLS @@ -51,62 +50,53 @@ extern pthread_mutexattr_t isc__mutex_attrs; typedef struct isc_mutexstats isc_mutexstats_t; typedef struct { - pthread_mutex_t mutex; /*%< The actual mutex. */ - isc_mutexstats_t * stats; /*%< Mutex statistics. */ + pthread_mutex_t mutex; /*%< The actual mutex. */ + isc_mutexstats_t *stats; /*%< Mutex statistics. */ } isc_mutex_t; #else -typedef pthread_mutex_t isc_mutex_t; +typedef pthread_mutex_t isc_mutex_t; #endif - #if ISC_MUTEX_PROFILE -#define isc_mutex_init(mp) \ - isc_mutex_init_profile((mp), __FILE__, __LINE__) +#define isc_mutex_init(mp) isc_mutex_init_profile((mp), __FILE__, __LINE__) #else #if ISC_MUTEX_DEBUG && defined(PTHREAD_MUTEX_ERRORCHECK) -#define isc_mutex_init(mp) \ - isc_mutex_init_errcheck((mp)) +#define isc_mutex_init(mp) isc_mutex_init_errcheck((mp)) #else -#define isc_mutex_init(mp) \ - isc__mutex_init((mp), __FILE__, __LINE__) -void isc__mutex_init(isc_mutex_t *mp, const char *file, unsigned int line); +#define isc_mutex_init(mp) isc__mutex_init((mp), __FILE__, __LINE__) +void +isc__mutex_init(isc_mutex_t *mp, const char *file, unsigned int line); #endif #endif #if ISC_MUTEX_PROFILE -#define isc_mutex_lock(mp) \ - isc_mutex_lock_profile((mp), __FILE__, __LINE__) +#define isc_mutex_lock(mp) isc_mutex_lock_profile((mp), __FILE__, __LINE__) #else #define isc_mutex_lock(mp) \ - ((pthread_mutex_lock((mp)) == 0) ? \ - ISC_R_SUCCESS : ISC_R_UNEXPECTED) + ((pthread_mutex_lock((mp)) == 0) ? ISC_R_SUCCESS : ISC_R_UNEXPECTED) #endif #if ISC_MUTEX_PROFILE -#define isc_mutex_unlock(mp) \ - isc_mutex_unlock_profile((mp), __FILE__, __LINE__) +#define isc_mutex_unlock(mp) isc_mutex_unlock_profile((mp), __FILE__, __LINE__) #else #define isc_mutex_unlock(mp) \ - ((pthread_mutex_unlock((mp)) == 0) ? \ - ISC_R_SUCCESS : ISC_R_UNEXPECTED) + ((pthread_mutex_unlock((mp)) == 0) ? ISC_R_SUCCESS : ISC_R_UNEXPECTED) #endif #if ISC_MUTEX_PROFILE -#define isc_mutex_trylock(mp) \ - ((pthread_mutex_trylock((&(mp)->mutex)) == 0) ? \ - ISC_R_SUCCESS : ISC_R_LOCKBUSY) +#define isc_mutex_trylock(mp) \ + ((pthread_mutex_trylock((&(mp)->mutex)) == 0) ? ISC_R_SUCCESS \ + : ISC_R_LOCKBUSY) #else #define isc_mutex_trylock(mp) \ - ((pthread_mutex_trylock((mp)) == 0) ? \ - ISC_R_SUCCESS : ISC_R_LOCKBUSY) + ((pthread_mutex_trylock((mp)) == 0) ? ISC_R_SUCCESS : ISC_R_LOCKBUSY) #endif #if ISC_MUTEX_PROFILE #define isc_mutex_destroy(mp) \ RUNTIME_CHECK(pthread_mutex_destroy((&(mp)->mutex)) == 0) #else -#define isc_mutex_destroy(mp) \ - RUNTIME_CHECK(pthread_mutex_destroy((mp)) == 0) +#define isc_mutex_destroy(mp) RUNTIME_CHECK(pthread_mutex_destroy((mp)) == 0) #endif #if ISC_MUTEX_PROFILE @@ -118,11 +108,11 @@ void isc__mutex_init(isc_mutex_t *mp, const char *file, unsigned int line); #if ISC_MUTEX_PROFILE void -isc_mutex_init_profile(isc_mutex_t *mp, const char * _file, int _line); +isc_mutex_init_profile(isc_mutex_t *mp, const char *_file, int _line); isc_result_t -isc_mutex_lock_profile(isc_mutex_t *mp, const char * _file, int _line); +isc_mutex_lock_profile(isc_mutex_t *mp, const char *_file, int _line); isc_result_t -isc_mutex_unlock_profile(isc_mutex_t *mp, const char * _file, int _line); +isc_mutex_unlock_profile(isc_mutex_t *mp, const char *_file, int _line); void isc_mutex_statsprofile(FILE *fp); diff --git a/lib/isc/pthreads/include/isc/once.h b/lib/isc/pthreads/include/isc/once.h index 71cd16b82f..de1a1274ac 100644 --- a/lib/isc/pthreads/include/isc/once.h +++ b/lib/isc/pthreads/include/isc/once.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_ONCE_H #define ISC_ONCE_H 1 @@ -27,7 +26,6 @@ typedef pthread_once_t isc_once_t; /* XXX We could do fancier error handling... */ #define isc_once_do(op, f) \ - ((pthread_once((op), (f)) == 0) ? \ - ISC_R_SUCCESS : ISC_R_UNEXPECTED) + ((pthread_once((op), (f)) == 0) ? ISC_R_SUCCESS : ISC_R_UNEXPECTED) #endif /* ISC_ONCE_H */ diff --git a/lib/isc/pthreads/include/isc/thread.h b/lib/isc/pthreads/include/isc/thread.h index 4f4d592ef5..ec1d08915b 100644 --- a/lib/isc/pthreads/include/isc/thread.h +++ b/lib/isc/pthreads/include/isc/thread.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_THREAD_H #define ISC_THREAD_H 1 @@ -27,8 +26,8 @@ ISC_LANG_BEGINDECLS typedef pthread_t isc_thread_t; -typedef void * isc_threadresult_t; -typedef void * isc_threadarg_t; +typedef void * isc_threadresult_t; +typedef void * isc_threadarg_t; typedef isc_threadresult_t (*isc_threadfunc_t)(isc_threadarg_t); void @@ -49,8 +48,7 @@ isc_thread_setname(isc_thread_t thread, const char *name); isc_result_t isc_thread_setaffinity(int cpu); -#define isc_thread_self \ - (unsigned long)pthread_self +#define isc_thread_self (unsigned long)pthread_self /*** *** Thread-Local Storage @@ -62,7 +60,7 @@ isc_thread_setaffinity(int cpu); #define ISC_THREAD_LOCAL static thread_local #elif defined(HAVE___THREAD) #define ISC_THREAD_LOCAL static __thread -#else /* if defined(HAVE_THREAD_LOCAL) */ +#else /* if defined(HAVE_THREAD_LOCAL) */ #error "Unknown method for defining a TLS variable!" #endif /* if defined(HAVE_THREAD_LOCAL) */ #else /* if defined(HAVE_TLS) */ diff --git a/lib/isc/pthreads/mutex.c b/lib/isc/pthreads/mutex.c index eea5a60792..e25885115c 100644 --- a/lib/isc/pthreads/mutex.c +++ b/lib/isc/pthreads/mutex.c @@ -9,44 +9,44 @@ * information regarding copyright ownership. */ - /*! \file */ +#include #include #include #include -#include -#include #include -#include +#include #include #include #include -#include +#include + +#include #if ISC_MUTEX_PROFILE /*@{*/ /*% Operations on timevals; adapted from FreeBSD's sys/time.h */ -#define timevalclear(tvp) ((tvp)->tv_sec = (tvp)->tv_usec = 0) -#define timevaladd(vvp, uvp) \ - do { \ - (vvp)->tv_sec += (uvp)->tv_sec; \ - (vvp)->tv_usec += (uvp)->tv_usec; \ - if ((vvp)->tv_usec >= 1000000) { \ - (vvp)->tv_sec++; \ - (vvp)->tv_usec -= 1000000; \ - } \ +#define timevalclear(tvp) ((tvp)->tv_sec = (tvp)->tv_usec = 0) +#define timevaladd(vvp, uvp) \ + do { \ + (vvp)->tv_sec += (uvp)->tv_sec; \ + (vvp)->tv_usec += (uvp)->tv_usec; \ + if ((vvp)->tv_usec >= 1000000) { \ + (vvp)->tv_sec++; \ + (vvp)->tv_usec -= 1000000; \ + } \ } while (0) -#define timevalsub(vvp, uvp) \ - do { \ - (vvp)->tv_sec -= (uvp)->tv_sec; \ - (vvp)->tv_usec -= (uvp)->tv_usec; \ - if ((vvp)->tv_usec < 0) { \ - (vvp)->tv_sec--; \ - (vvp)->tv_usec += 1000000; \ - } \ +#define timevalsub(vvp, uvp) \ + do { \ + (vvp)->tv_sec -= (uvp)->tv_sec; \ + (vvp)->tv_usec -= (uvp)->tv_usec; \ + if ((vvp)->tv_usec < 0) { \ + (vvp)->tv_sec--; \ + (vvp)->tv_usec += 1000000; \ + } \ } while (0) /*@}*/ @@ -54,41 +54,42 @@ #define ISC_MUTEX_MAX_LOCKERS 32 typedef struct { - const char * file; - int line; - unsigned count; - struct timeval locked_total; - struct timeval wait_total; + const char * file; + int line; + unsigned count; + struct timeval locked_total; + struct timeval wait_total; } isc_mutexlocker_t; struct isc_mutexstats { - const char * file; /*%< File mutex was created in. */ - int line; /*%< Line mutex was created on. */ - unsigned count; - struct timeval lock_t; - struct timeval locked_total; - struct timeval wait_total; - isc_mutexlocker_t * cur_locker; - isc_mutexlocker_t lockers[ISC_MUTEX_MAX_LOCKERS]; + const char * file; /*%< File mutex was created in. */ + int line; /*%< Line mutex was created on. */ + unsigned count; + struct timeval lock_t; + struct timeval locked_total; + struct timeval wait_total; + isc_mutexlocker_t *cur_locker; + isc_mutexlocker_t lockers[ISC_MUTEX_MAX_LOCKERS]; }; #ifndef ISC_MUTEX_PROFTABLESIZE #define ISC_MUTEX_PROFTABLESIZE (1024 * 1024) #endif static isc_mutexstats_t stats[ISC_MUTEX_PROFTABLESIZE]; -static int stats_next = 0; -static bool stats_init = false; -static pthread_mutex_t statslock = PTHREAD_MUTEX_INITIALIZER; - +static int stats_next = 0; +static bool stats_init = false; +static pthread_mutex_t statslock = PTHREAD_MUTEX_INITIALIZER; void -isc_mutex_init_profile(isc_mutex_t *mp, const char *file, int line) { +isc_mutex_init_profile(isc_mutex_t *mp, const char *file, int line) +{ int i, err; err = pthread_mutex_init(&mp->mutex, NULL); if (err != 0) { strerror_r(err, strbuf, sizeof(strbuf)); - isc_error_fatal(file, line, "pthread_mutex_init failed: %s", strbuf); + isc_error_fatal(file, line, "pthread_mutex_init failed: %s", + strbuf); } RUNTIME_CHECK(pthread_mutex_lock(&statslock) == 0); @@ -124,11 +125,12 @@ isc_mutex_init_profile(isc_mutex_t *mp, const char *file, int line) { } isc_result_t -isc_mutex_lock_profile(isc_mutex_t *mp, const char *file, int line) { - struct timeval prelock_t; - struct timeval postlock_t; +isc_mutex_lock_profile(isc_mutex_t *mp, const char *file, int line) +{ + struct timeval prelock_t; + struct timeval postlock_t; isc_mutexlocker_t *locker = NULL; - int i; + int i; gettimeofday(&prelock_t, NULL); @@ -167,7 +169,8 @@ isc_mutex_lock_profile(isc_mutex_t *mp, const char *file, int line) { } isc_result_t -isc_mutex_unlock_profile(isc_mutex_t *mp, const char *file, int line) { +isc_mutex_unlock_profile(isc_mutex_t *mp, const char *file, int line) +{ struct timeval unlock_t; UNUSED(file); @@ -181,15 +184,15 @@ isc_mutex_unlock_profile(isc_mutex_t *mp, const char *file, int line) { mp->stats->cur_locker = NULL; } - return ((pthread_mutex_unlock((&mp->mutex)) == 0) ? \ - ISC_R_SUCCESS : ISC_R_UNEXPECTED); + return ((pthread_mutex_unlock((&mp->mutex)) == 0) ? ISC_R_SUCCESS + : ISC_R_UNEXPECTED); } - void -isc_mutex_statsprofile(FILE *fp) { +isc_mutex_statsprofile(FILE *fp) +{ isc_mutexlocker_t *locker; - int i, j; + int i, j; fprintf(fp, "Mutex stats (in us)\n"); for (i = 0; i < stats_next; i++) { @@ -197,20 +200,19 @@ isc_mutex_statsprofile(FILE *fp) { stats[i].file, stats[i].line, stats[i].count, stats[i].locked_total.tv_sec, stats[i].locked_total.tv_usec, - stats[i].wait_total.tv_sec, - stats[i].wait_total.tv_usec, + stats[i].wait_total.tv_sec, stats[i].wait_total.tv_usec, i); for (j = 0; j < ISC_MUTEX_MAX_LOCKERS; j++) { locker = &stats[i].lockers[j]; if (locker->file == NULL) continue; - fprintf(fp, " %-11s %4d: %10u %lu.%06lu %lu.%06lu %5d\n", + fprintf(fp, + " %-11s %4d: %10u %lu.%06lu %lu.%06lu %5d\n", locker->file, locker->line, locker->count, locker->locked_total.tv_sec, locker->locked_total.tv_usec, locker->wait_total.tv_sec, - locker->wait_total.tv_usec, - i); + locker->wait_total.tv_usec, i); } } } @@ -219,22 +221,24 @@ isc_mutex_statsprofile(FILE *fp) { #if ISC_MUTEX_DEBUG && defined(PTHREAD_MUTEX_ERRORCHECK) -static bool errcheck_initialized = false; +static bool errcheck_initialized = false; static pthread_mutexattr_t errcheck; -static isc_once_t once_errcheck = ISC_ONCE_INIT; +static isc_once_t once_errcheck = ISC_ONCE_INIT; static void -initialize_errcheck(void) { +initialize_errcheck(void) +{ RUNTIME_CHECK(pthread_mutexattr_init(&errcheck) == 0); - RUNTIME_CHECK(pthread_mutexattr_settype - (&errcheck, PTHREAD_MUTEX_ERRORCHECK) == 0); + RUNTIME_CHECK(pthread_mutexattr_settype(&errcheck, + PTHREAD_MUTEX_ERRORCHECK) == 0); errcheck_initialized = true; } void -isc_mutex_init_errcheck(isc_mutex_t *mp) { +isc_mutex_init_errcheck(isc_mutex_t *mp) +{ isc_result_t result; - int err; + int err; result = isc_once_do(&once_errcheck, initialize_errcheck); RUNTIME_CHECK(result == ISC_R_SUCCESS); @@ -242,38 +246,42 @@ isc_mutex_init_errcheck(isc_mutex_t *mp) { err = pthread_mutex_init(mp, &errcheck); if (err != 0) { strerror_r(err, strbuf, sizeof(strbuf)); - isc_error_fatal(file, line, "pthread_mutex_init failed: %s", strbuf); + isc_error_fatal(file, line, "pthread_mutex_init failed: %s", + strbuf); } } #endif #if ISC_MUTEX_DEBUG && defined(__NetBSD__) && defined(PTHREAD_MUTEX_ERRORCHECK) pthread_mutexattr_t isc__mutex_attrs = { - PTHREAD_MUTEX_ERRORCHECK, /* m_type */ - 0 /* m_flags, which appears to be unused. */ + PTHREAD_MUTEX_ERRORCHECK, /* m_type */ + 0 /* m_flags, which appears to be unused. */ }; #endif -#if !(ISC_MUTEX_DEBUG && defined(PTHREAD_MUTEX_ERRORCHECK)) && !ISC_MUTEX_PROFILE +#if !(ISC_MUTEX_DEBUG && defined(PTHREAD_MUTEX_ERRORCHECK)) && \ + !ISC_MUTEX_PROFILE #ifdef HAVE_PTHREAD_MUTEX_ADAPTIVE_NP -static bool attr_initialized = false; +static bool attr_initialized = false; static pthread_mutexattr_t attr; -static isc_once_t once_attr = ISC_ONCE_INIT; +static isc_once_t once_attr = ISC_ONCE_INIT; #endif /* HAVE_PTHREAD_MUTEX_ADAPTIVE_NP */ #ifdef HAVE_PTHREAD_MUTEX_ADAPTIVE_NP static void -initialize_attr(void) { +initialize_attr(void) +{ RUNTIME_CHECK(pthread_mutexattr_init(&attr) == 0); - RUNTIME_CHECK(pthread_mutexattr_settype - (&attr, PTHREAD_MUTEX_ADAPTIVE_NP) == 0); + RUNTIME_CHECK(pthread_mutexattr_settype( + &attr, PTHREAD_MUTEX_ADAPTIVE_NP) == 0); attr_initialized = true; } #endif /* HAVE_PTHREAD_MUTEX_ADAPTIVE_NP */ void -isc__mutex_init(isc_mutex_t *mp, const char *file, unsigned int line) { +isc__mutex_init(isc_mutex_t *mp, const char *file, unsigned int line) +{ int err; #ifdef HAVE_PTHREAD_MUTEX_ADAPTIVE_NP @@ -282,13 +290,14 @@ isc__mutex_init(isc_mutex_t *mp, const char *file, unsigned int line) { RUNTIME_CHECK(result == ISC_R_SUCCESS); err = pthread_mutex_init(mp, &attr); -#else /* HAVE_PTHREAD_MUTEX_ADAPTIVE_NP */ +#else /* HAVE_PTHREAD_MUTEX_ADAPTIVE_NP */ err = pthread_mutex_init(mp, ISC__MUTEX_ATTRS); #endif /* HAVE_PTHREAD_MUTEX_ADAPTIVE_NP */ if (err != 0) { char strbuf[ISC_STRERRORSIZE]; strerror_r(err, strbuf, sizeof(strbuf)); - isc_error_fatal(file, line, "pthread_mutex_init failed: %s", strbuf); + isc_error_fatal(file, line, "pthread_mutex_init failed: %s", + strbuf); } } #endif diff --git a/lib/isc/pthreads/thread.c b/lib/isc/pthreads/thread.c index 4831cedc65..da0b8da32f 100644 --- a/lib/isc/pthreads/thread.c +++ b/lib/isc/pthreads/thread.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #if defined(HAVE_SCHED_H) @@ -17,14 +16,14 @@ #endif #if defined(HAVE_CPUSET_H) -#include #include +#include #endif #if defined(HAVE_SYS_PROCSET_H) -#include #include #include +#include #endif #include @@ -32,16 +31,14 @@ #include #ifndef THREAD_MINSTACKSIZE -#define THREAD_MINSTACKSIZE (1024U * 1024) +#define THREAD_MINSTACKSIZE (1024U * 1024) #endif -#define _FATAL(r, f) \ - { \ - char strbuf[ISC_STRERRORSIZE]; \ - strerror_r(r, strbuf, sizeof(strbuf)); \ - isc_error_fatal(__FILE__, __LINE__, \ - f " failed: %s", \ - strbuf); \ +#define _FATAL(r, f) \ + { \ + char strbuf[ISC_STRERRORSIZE]; \ + strerror_r(r, strbuf, sizeof(strbuf)); \ + isc_error_fatal(__FILE__, __LINE__, f " failed: %s", strbuf); \ } void @@ -50,7 +47,7 @@ isc_thread_create(isc_threadfunc_t func, isc_threadarg_t arg, { pthread_attr_t attr; #if defined(HAVE_PTHREAD_ATTR_GETSTACKSIZE) && \ - defined(HAVE_PTHREAD_ATTR_SETSTACKSIZE) + defined(HAVE_PTHREAD_ATTR_SETSTACKSIZE) size_t stacksize; #endif int ret; @@ -58,7 +55,7 @@ isc_thread_create(isc_threadfunc_t func, isc_threadarg_t arg, pthread_attr_init(&attr); #if defined(HAVE_PTHREAD_ATTR_GETSTACKSIZE) && \ - defined(HAVE_PTHREAD_ATTR_SETSTACKSIZE) + defined(HAVE_PTHREAD_ATTR_SETSTACKSIZE) ret = pthread_attr_getstacksize(&attr, &stacksize); if (ret != 0) { _FATAL(ret, "pthread_attr_getstacksize()"); @@ -92,21 +89,23 @@ isc_thread_join(isc_thread_t thread, isc_threadresult_t *result) } #ifdef __NetBSD__ -#define pthread_setconcurrency(a) (void) a/* nothing */ +#define pthread_setconcurrency(a) (void)a /* nothing */ #endif void -isc_thread_setconcurrency(unsigned int level) { +isc_thread_setconcurrency(unsigned int level) +{ (void)pthread_setconcurrency(level); } void -isc_thread_setname(isc_thread_t thread, const char *name) { +isc_thread_setname(isc_thread_t thread, const char *name) +{ #if defined(HAVE_PTHREAD_SETNAME_NP) && !defined(__APPLE__) /* * macOS has pthread_setname_np but only works on the * current thread so it's not used here - */ + */ #if defined(__NetBSD__) (void)pthread_setname_np(thread, name, NULL); #else @@ -121,25 +120,26 @@ isc_thread_setname(isc_thread_t thread, const char *name) { } void -isc_thread_yield(void) { +isc_thread_yield(void) +{ #if defined(HAVE_SCHED_YIELD) sched_yield(); -#elif defined( HAVE_PTHREAD_YIELD) +#elif defined(HAVE_PTHREAD_YIELD) pthread_yield(); -#elif defined( HAVE_PTHREAD_YIELD_NP) +#elif defined(HAVE_PTHREAD_YIELD_NP) pthread_yield_np(); #endif } isc_result_t -isc_thread_setaffinity(int cpu) { +isc_thread_setaffinity(int cpu) +{ #if defined(HAVE_CPUSET_SETAFFINITY) cpuset_t cpuset; CPU_ZERO(&cpuset); CPU_SET(cpu, &cpuset); if (cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, -1, - sizeof(cpuset), &cpuset) != 0) - { + sizeof(cpuset), &cpuset) != 0) { return (ISC_R_FAILURE); } #elif defined(HAVE_PTHREAD_SETAFFINITY_NP) @@ -149,20 +149,18 @@ isc_thread_setaffinity(int cpu) { if (cset == NULL) return (ISC_R_FAILURE); cpuset_set(cpu, cset); - if (pthread_setaffinity_np(pthread_self(), - cpuset_size(cset), cset) != 0) - { + if (pthread_setaffinity_np(pthread_self(), cpuset_size(cset), cset) != + 0) { cpuset_destroy(cset); return (ISC_R_FAILURE); } cpuset_destroy(cset); -#else /* linux? */ +#else /* linux? */ cpu_set_t set; CPU_ZERO(&set); CPU_SET(cpu, &set); - if (pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), - &set) != 0) - { + if (pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &set) != + 0) { return (ISC_R_FAILURE); } #endif /* __NetBSD__ */ diff --git a/lib/isc/queue.c b/lib/isc/queue.c index 5072adaaa5..4f4b84b694 100644 --- a/lib/isc/queue.c +++ b/lib/isc/queue.c @@ -13,10 +13,10 @@ #include #include +#include +#include #include #include -#include -#include #define BUFFER_SIZE 1024 @@ -27,11 +27,11 @@ static uintptr_t nulluintptr = (uintptr_t)NULL; typedef struct node { - atomic_uint_fast32_t deqidx; - atomic_uintptr_t items[BUFFER_SIZE]; - atomic_uint_fast32_t enqidx; - atomic_uintptr_t next; - isc_mem_t *mctx; + atomic_uint_fast32_t deqidx; + atomic_uintptr_t items[BUFFER_SIZE]; + atomic_uint_fast32_t enqidx; + atomic_uintptr_t next; + isc_mem_t * mctx; } node_t; /* we just need one Hazard Pointer */ @@ -39,21 +39,20 @@ typedef struct node { #define HP_HEAD 0 struct isc_queue { - alignas(ALIGNMENT) atomic_uintptr_t head; - alignas(ALIGNMENT) atomic_uintptr_t tail; - isc_mem_t *mctx; - int max_threads; - int taken; - isc_hp_t *hp; - void* alloced_ptr; + alignas(ALIGNMENT) atomic_uintptr_t head; + alignas(ALIGNMENT) atomic_uintptr_t tail; + isc_mem_t *mctx; + int max_threads; + int taken; + isc_hp_t * hp; + void * alloced_ptr; }; static node_t * -node_new(isc_mem_t *mctx, uintptr_t item) { +node_new(isc_mem_t *mctx, uintptr_t item) +{ node_t *node = isc_mem_get(mctx, sizeof(*node)); - *node = (node_t){ - .mctx = NULL - }; + *node = (node_t){ .mctx = NULL }; atomic_init(&node->deqidx, 0); atomic_init(&node->enqidx, 1); @@ -70,46 +69,48 @@ node_new(isc_mem_t *mctx, uintptr_t item) { } static void -node_destroy(void *node0) { +node_destroy(void *node0) +{ node_t *node = (node_t *)node0; isc_mem_putanddetach(&node->mctx, node, sizeof(*node)); } static bool -node_cas_next(node_t *node, node_t *cmp, const node_t *val) { - return (atomic_compare_exchange_strong(&node->next, - (uintptr_t *)&cmp, +node_cas_next(node_t *node, node_t *cmp, const node_t *val) +{ + return (atomic_compare_exchange_strong(&node->next, (uintptr_t *)&cmp, (uintptr_t)val)); } static bool -queue_cas_tail(isc_queue_t *queue, node_t *cmp, const node_t *val) { - return (atomic_compare_exchange_strong(&queue->tail, - (uintptr_t *)&cmp, +queue_cas_tail(isc_queue_t *queue, node_t *cmp, const node_t *val) +{ + return (atomic_compare_exchange_strong(&queue->tail, (uintptr_t *)&cmp, (uintptr_t)val)); } static bool -queue_cas_head(isc_queue_t *queue, node_t *cmp, const node_t *val) { - return (atomic_compare_exchange_strong(&queue->head, - (uintptr_t *)&cmp, +queue_cas_head(isc_queue_t *queue, node_t *cmp, const node_t *val) +{ + return (atomic_compare_exchange_strong(&queue->head, (uintptr_t *)&cmp, (uintptr_t)val)); } isc_queue_t * -isc_queue_new(isc_mem_t *mctx, int max_threads) { +isc_queue_new(isc_mem_t *mctx, int max_threads) +{ isc_queue_t *queue = NULL; - node_t *sentinel = NULL; - void *qbuf = NULL; - uintptr_t qptr; + node_t * sentinel = NULL; + void * qbuf = NULL; + uintptr_t qptr; /* * A trick to allocate an aligned isc_queue_t structure */ qbuf = isc_mem_get(mctx, sizeof(*queue) + ALIGNMENT); - qptr = (uintptr_t) qbuf; - queue = (isc_queue_t *) (qptr + (ALIGNMENT - (qptr % ALIGNMENT))); + qptr = (uintptr_t)qbuf; + queue = (isc_queue_t *)(qptr + (ALIGNMENT - (qptr % ALIGNMENT))); if (max_threads == 0) { max_threads = MAX_THREADS; @@ -134,17 +135,18 @@ isc_queue_new(isc_mem_t *mctx, int max_threads) { } void -isc_queue_enqueue(isc_queue_t *queue, uintptr_t item) { +isc_queue_enqueue(isc_queue_t *queue, uintptr_t item) +{ REQUIRE(item != nulluintptr); while (true) { - node_t *lt = NULL; + node_t * lt = NULL; uint_fast32_t idx; - uintptr_t n = nulluintptr; + uintptr_t n = nulluintptr; lt = (node_t *)isc_hp_protect(queue->hp, 0, &queue->tail); idx = atomic_fetch_add(<->enqidx, 1); - if (idx > BUFFER_SIZE-1) { + if (idx > BUFFER_SIZE - 1) { node_t *lnext = NULL; if (lt != (node_t *)atomic_load(&queue->tail)) { @@ -175,23 +177,23 @@ isc_queue_enqueue(isc_queue_t *queue, uintptr_t item) { } uintptr_t -isc_queue_dequeue(isc_queue_t *queue) { +isc_queue_dequeue(isc_queue_t *queue) +{ REQUIRE(queue != NULL); while (true) { - node_t *lh = NULL; + node_t * lh = NULL; uint_fast32_t idx; - uintptr_t item; + uintptr_t item; lh = (node_t *)isc_hp_protect(queue->hp, 0, &queue->head); if (atomic_load(&lh->deqidx) >= atomic_load(&lh->enqidx) && - atomic_load(&lh->next) == nulluintptr) - { + atomic_load(&lh->next) == nulluintptr) { break; } idx = atomic_fetch_add(&lh->deqidx, 1); - if (idx > BUFFER_SIZE-1) { + if (idx > BUFFER_SIZE - 1) { node_t *lnext = (node_t *)atomic_load(&lh->next); if (lnext == NULL) { break; @@ -218,9 +220,10 @@ isc_queue_dequeue(isc_queue_t *queue) { } void -isc_queue_destroy(isc_queue_t *queue) { +isc_queue_destroy(isc_queue_t *queue) +{ node_t *last = NULL; - void *alloced = NULL; + void * alloced = NULL; REQUIRE(queue != NULL); @@ -233,6 +236,5 @@ isc_queue_destroy(isc_queue_t *queue) { isc_hp_destroy(queue->hp); alloced = queue->alloced_ptr; - isc_mem_putanddetach(&queue->mctx, alloced, - sizeof(*queue) + ALIGNMENT); + isc_mem_putanddetach(&queue->mctx, alloced, sizeof(*queue) + ALIGNMENT); } diff --git a/lib/isc/quota.c b/lib/isc/quota.c index 2480fb8ad5..7af9e3236d 100644 --- a/lib/isc/quota.c +++ b/lib/isc/quota.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -18,16 +17,17 @@ #include #include - void -isc_quota_init(isc_quota_t *quota, unsigned int max) { +isc_quota_init(isc_quota_t *quota, unsigned int max) +{ atomic_init("a->max, max); atomic_init("a->used, 0); atomic_init("a->soft, 0); } void -isc_quota_destroy(isc_quota_t *quota) { +isc_quota_destroy(isc_quota_t *quota) +{ INSIST(atomic_load("a->used) == 0); atomic_store_release("a->max, 0); atomic_store_release("a->used, 0); @@ -35,36 +35,42 @@ isc_quota_destroy(isc_quota_t *quota) { } void -isc_quota_soft(isc_quota_t *quota, unsigned int soft) { +isc_quota_soft(isc_quota_t *quota, unsigned int soft) +{ atomic_store_release("a->soft, soft); } void -isc_quota_max(isc_quota_t *quota, unsigned int max) { +isc_quota_max(isc_quota_t *quota, unsigned int max) +{ atomic_store_release("a->max, max); } unsigned int -isc_quota_getmax(isc_quota_t *quota) { +isc_quota_getmax(isc_quota_t *quota) +{ return (atomic_load_relaxed("a->max)); } unsigned int -isc_quota_getsoft(isc_quota_t *quota) { +isc_quota_getsoft(isc_quota_t *quota) +{ return (atomic_load_relaxed("a->soft)); } unsigned int -isc_quota_getused(isc_quota_t *quota) { +isc_quota_getused(isc_quota_t *quota) +{ return (atomic_load_relaxed("a->used)); } isc_result_t -isc_quota_reserve(isc_quota_t *quota) { +isc_quota_reserve(isc_quota_t *quota) +{ isc_result_t result; - uint32_t max = atomic_load_acquire("a->max); - uint32_t soft = atomic_load_acquire("a->soft); - uint32_t used = atomic_fetch_add_relaxed("a->used, 1); + uint32_t max = atomic_load_acquire("a->max); + uint32_t soft = atomic_load_acquire("a->soft); + uint32_t used = atomic_fetch_add_relaxed("a->used, 1); if (max == 0 || used < max) { if (soft == 0 || used < soft) { result = ISC_R_SUCCESS; @@ -79,12 +85,14 @@ isc_quota_reserve(isc_quota_t *quota) { } void -isc_quota_release(isc_quota_t *quota) { +isc_quota_release(isc_quota_t *quota) +{ INSIST(atomic_fetch_sub_release("a->used, 1) > 0); } static isc_result_t -doattach(isc_quota_t *quota, isc_quota_t **p, bool force) { +doattach(isc_quota_t *quota, isc_quota_t **p, bool force) +{ isc_result_t result; REQUIRE(p != NULL && *p == NULL); @@ -102,17 +110,20 @@ doattach(isc_quota_t *quota, isc_quota_t **p, bool force) { } isc_result_t -isc_quota_attach(isc_quota_t *quota, isc_quota_t **p) { +isc_quota_attach(isc_quota_t *quota, isc_quota_t **p) +{ return (doattach(quota, p, false)); } isc_result_t -isc_quota_force(isc_quota_t *quota, isc_quota_t **p) { +isc_quota_force(isc_quota_t *quota, isc_quota_t **p) +{ return (doattach(quota, p, true)); } void -isc_quota_detach(isc_quota_t **p) { +isc_quota_detach(isc_quota_t **p) +{ INSIST(p != NULL && *p != NULL); isc_quota_release(*p); *p = NULL; diff --git a/lib/isc/radix.c b/lib/isc/radix.c index f58f9a4540..c1250c804b 100644 --- a/lib/isc/radix.c +++ b/lib/isc/radix.c @@ -18,15 +18,15 @@ #include #include +#include #include #include -#include -#define BIT_TEST(f, b) (((f) & (b)) != 0) +#define BIT_TEST(f, b) (((f) & (b)) != 0) static isc_result_t -_new_prefix(isc_mem_t *mctx, isc_prefix_t **target, int family, - void *dest, int bitlen); +_new_prefix(isc_mem_t *mctx, isc_prefix_t **target, int family, void *dest, + int bitlen); static void _deref_prefix(isc_prefix_t *prefix); @@ -73,7 +73,8 @@ _new_prefix(isc_mem_t *mctx, isc_prefix_t **target, int family, void *dest, } static void -_deref_prefix(isc_prefix_t *prefix) { +_deref_prefix(isc_prefix_t *prefix) +{ if (prefix != NULL) { if (isc_refcount_decrement(&prefix->refcount) == 1) { isc_refcount_destroy(&prefix->refcount); @@ -84,7 +85,8 @@ _deref_prefix(isc_prefix_t *prefix) { } static isc_result_t -_ref_prefix(isc_mem_t *mctx, isc_prefix_t **target, isc_prefix_t *prefix) { +_ref_prefix(isc_mem_t *mctx, isc_prefix_t **target, isc_prefix_t *prefix) +{ INSIST(prefix != NULL); INSIST((prefix->family == AF_INET && prefix->bitlen <= 32) || (prefix->family == AF_INET6 && prefix->bitlen <= 128) || @@ -98,8 +100,8 @@ _ref_prefix(isc_mem_t *mctx, isc_prefix_t **target, isc_prefix_t *prefix) { */ if (isc_refcount_current(&prefix->refcount) == 0) { isc_result_t ret; - ret = _new_prefix(mctx, target, prefix->family, - &prefix->add, prefix->bitlen); + ret = _new_prefix(mctx, target, prefix->family, &prefix->add, + prefix->bitlen); return (ret); } @@ -110,8 +112,8 @@ _ref_prefix(isc_mem_t *mctx, isc_prefix_t **target, isc_prefix_t *prefix) { } static int -_comp_with_mask(void *addr, void *dest, u_int mask) { - +_comp_with_mask(void *addr, void *dest, u_int mask) +{ /* Mask length of zero matches everything */ if (mask == 0) return (1); @@ -128,7 +130,8 @@ _comp_with_mask(void *addr, void *dest, u_int mask) { } isc_result_t -isc_radix_create(isc_mem_t *mctx, isc_radix_tree_t **target, int maxbits) { +isc_radix_create(isc_mem_t *mctx, isc_radix_tree_t **target, int maxbits) +{ isc_radix_tree_t *radix; REQUIRE(target != NULL && *target == NULL); @@ -153,14 +156,14 @@ isc_radix_create(isc_mem_t *mctx, isc_radix_tree_t **target, int maxbits) { */ static void -_clear_radix(isc_radix_tree_t *radix, isc_radix_destroyfunc_t func) { - +_clear_radix(isc_radix_tree_t *radix, isc_radix_destroyfunc_t func) +{ REQUIRE(radix != NULL); if (radix->head != NULL) { - isc_radix_node_t *Xstack[RADIX_MAXBITS+1]; + isc_radix_node_t * Xstack[RADIX_MAXBITS + 1]; isc_radix_node_t **Xsp = Xstack; - isc_radix_node_t *Xrn = radix->head; + isc_radix_node_t * Xrn = radix->head; while (Xrn != NULL) { isc_radix_node_t *l = Xrn->l; @@ -195,39 +198,37 @@ _clear_radix(isc_radix_tree_t *radix, isc_radix_destroyfunc_t func) { RUNTIME_CHECK(radix->num_active_node == 0); } - void -isc_radix_destroy(isc_radix_tree_t *radix, isc_radix_destroyfunc_t func) { +isc_radix_destroy(isc_radix_tree_t *radix, isc_radix_destroyfunc_t func) +{ REQUIRE(radix != NULL); _clear_radix(radix, func); isc_mem_putanddetach(&radix->mctx, radix, sizeof(*radix)); } - /* * func will be called as func(node->prefix, node->data) */ void -isc_radix_process(isc_radix_tree_t *radix, isc_radix_processfunc_t func) { +isc_radix_process(isc_radix_tree_t *radix, isc_radix_processfunc_t func) +{ isc_radix_node_t *node; REQUIRE(func != NULL); - RADIX_WALK(radix->head, node) { - func(node->prefix, node->data); - } RADIX_WALK_END; + RADIX_WALK(radix->head, node) { func(node->prefix, node->data); } + RADIX_WALK_END; } - isc_result_t isc_radix_search(isc_radix_tree_t *radix, isc_radix_node_t **target, isc_prefix_t *prefix) { isc_radix_node_t *node; isc_radix_node_t *stack[RADIX_MAXBITS + 1]; - u_char *addr; - uint32_t bitlen; - int tfam = -1, cnt = 0; + u_char * addr; + uint32_t bitlen; + int tfam = -1, cnt = 0; REQUIRE(radix != NULL); REQUIRE(prefix != NULL); @@ -268,13 +269,11 @@ isc_radix_search(isc_radix_tree_t *radix, isc_radix_node_t **target, if (_comp_with_mask(isc_prefix_tochar(node->prefix), isc_prefix_tochar(prefix), - node->prefix->bitlen)) - { + node->prefix->bitlen)) { int fam = ISC_RADIX_FAMILY(prefix); if (node->node_num[fam] != -1 && ((*target == NULL) || - (*target)->node_num[tfam] > node->node_num[fam])) - { + (*target)->node_num[tfam] > node->node_num[fam])) { *target = node; tfam = fam; } @@ -293,10 +292,10 @@ isc_radix_insert(isc_radix_tree_t *radix, isc_radix_node_t **target, isc_radix_node_t *source, isc_prefix_t *prefix) { isc_radix_node_t *node, *new_node, *parent, *glue = NULL; - u_char *addr, *test_addr; - uint32_t bitlen, fam, check_bit, differ_bit; - uint32_t i, j, r; - isc_result_t result; + u_char * addr, *test_addr; + uint32_t bitlen, fam, check_bit, differ_bit; + uint32_t i, j, r; + isc_result_t result; REQUIRE(radix != NULL); REQUIRE(target != NULL && *target == NULL); @@ -367,8 +366,8 @@ isc_radix_insert(isc_radix_tree_t *radix, isc_radix_node_t **target, while (node->bit < bitlen || node->prefix == NULL) { if (node->bit < radix->maxbits && - BIT_TEST(addr[node->bit >> 3], 0x80 >> (node->bit & 0x07))) - { + BIT_TEST(addr[node->bit >> 3], + 0x80 >> (node->bit & 0x07))) { if (node->r == NULL) break; node = node->r; @@ -419,8 +418,7 @@ isc_radix_insert(isc_radix_tree_t *radix, isc_radix_node_t **target, /* Merging nodes */ for (i = 0; i < RADIX_FAMILIES; i++) { if (node->node_num[i] == -1 && - source->node_num[i] != -1) - { + source->node_num[i] != -1) { node->node_num[i] = radix->num_added_node + source->node_num[i]; @@ -431,8 +429,7 @@ isc_radix_insert(isc_radix_tree_t *radix, isc_radix_node_t **target, if (fam == AF_UNSPEC) { /* "any" or "none" */ int next = radix->num_added_node + 1; - for (i = 0; i < RADIX_FAMILIES; i++) - { + for (i = 0; i < RADIX_FAMILIES; i++) { if (node->node_num[i] == -1) { node->node_num[i] = next; @@ -451,8 +448,8 @@ isc_radix_insert(isc_radix_tree_t *radix, isc_radix_node_t **target, *target = node; return (ISC_R_SUCCESS); } else { - result = _ref_prefix(radix->mctx, - &node->prefix, prefix); + result = + _ref_prefix(radix->mctx, &node->prefix, prefix); if (result != ISC_R_SUCCESS) return (result); } @@ -533,8 +530,8 @@ isc_radix_insert(isc_radix_tree_t *radix, isc_radix_node_t **target, INSIST(glue == NULL); new_node->parent = node; if (node->bit < radix->maxbits && - BIT_TEST(addr[node->bit >> 3], 0x80 >> (node->bit & 0x07))) - { + BIT_TEST(addr[node->bit >> 3], + 0x80 >> (node->bit & 0x07))) { INSIST(node->r == NULL); node->r = new_node; } else { @@ -574,7 +571,8 @@ isc_radix_insert(isc_radix_tree_t *radix, isc_radix_node_t **target, } radix->num_active_node++; if (differ_bit < radix->maxbits && - BIT_TEST(addr[differ_bit>>3], 0x80 >> (differ_bit & 07))) { + BIT_TEST(addr[differ_bit >> 3], + 0x80 >> (differ_bit & 07))) { glue->r = new_node; glue->l = node; } else { @@ -599,7 +597,8 @@ isc_radix_insert(isc_radix_tree_t *radix, isc_radix_node_t **target, } void -isc_radix_remove(isc_radix_tree_t *radix, isc_radix_node_t *node) { +isc_radix_remove(isc_radix_tree_t *radix, isc_radix_node_t *node) +{ isc_radix_node_t *parent, *child; REQUIRE(radix != NULL); diff --git a/lib/isc/random.c b/lib/isc/random.c index 681478f6b0..90b8e079b1 100644 --- a/lib/isc/random.c +++ b/lib/isc/random.c @@ -33,6 +33,7 @@ #include #include +#include #include #include #include @@ -40,8 +41,6 @@ #include #include -#include - #include "entropy_private.h" /* @@ -64,8 +63,9 @@ ISC_THREAD_LOCAL isc_once_t isc_random_once = ISC_ONCE_INIT; static void -isc_random_initialize(void) { - int useed[4] = {0,0,0,1}; +isc_random_initialize(void) +{ + int useed[4] = { 0, 0, 0, 1 }; #if FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION /* * Set a constant seed to help in problem reproduction should fuzzing @@ -79,36 +79,40 @@ isc_random_initialize(void) { } uint8_t -isc_random8(void) { - RUNTIME_CHECK(isc_once_do(&isc_random_once, - isc_random_initialize) == ISC_R_SUCCESS); +isc_random8(void) +{ + RUNTIME_CHECK(isc_once_do(&isc_random_once, isc_random_initialize) == + ISC_R_SUCCESS); return (next() & 0xff); } uint16_t -isc_random16(void) { - RUNTIME_CHECK(isc_once_do(&isc_random_once, - isc_random_initialize) == ISC_R_SUCCESS); +isc_random16(void) +{ + RUNTIME_CHECK(isc_once_do(&isc_random_once, isc_random_initialize) == + ISC_R_SUCCESS); return (next() & 0xffff); } uint32_t -isc_random32(void) { - RUNTIME_CHECK(isc_once_do(&isc_random_once, - isc_random_initialize) == ISC_R_SUCCESS); +isc_random32(void) +{ + RUNTIME_CHECK(isc_once_do(&isc_random_once, isc_random_initialize) == + ISC_R_SUCCESS); return (next()); } void -isc_random_buf(void *buf, size_t buflen) { - int i; +isc_random_buf(void *buf, size_t buflen) +{ + int i; uint32_t r; REQUIRE(buf != NULL); REQUIRE(buflen > 0); - RUNTIME_CHECK(isc_once_do(&isc_random_once, - isc_random_initialize) == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_once_do(&isc_random_once, isc_random_initialize) == + ISC_R_SUCCESS); for (i = 0; i + sizeof(r) <= buflen; i += sizeof(r)) { r = next(); @@ -120,12 +124,13 @@ isc_random_buf(void *buf, size_t buflen) { } uint32_t -isc_random_uniform(uint32_t upper_bound) { +isc_random_uniform(uint32_t upper_bound) +{ /* Copy of arc4random_uniform from OpenBSD */ uint32_t r, min; - RUNTIME_CHECK(isc_once_do(&isc_random_once, - isc_random_initialize) == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_once_do(&isc_random_once, isc_random_initialize) == + ISC_R_SUCCESS); if (upper_bound < 2) { return (0); @@ -136,7 +141,7 @@ isc_random_uniform(uint32_t upper_bound) { #else /* if (ULONG_MAX > 0xffffffffUL) */ /* Calculate (2**32 % upper_bound) avoiding 64-bit math */ if (upper_bound > 0x80000000) { - min = 1 + ~upper_bound; /* 2**32 - upper_bound */ + min = 1 + ~upper_bound; /* 2**32 - upper_bound */ } else { /* (2**32 - (x * 2)) % x == 2**32 % x when x <= 2**31 */ min = ((0xffffffff - (upper_bound * 2)) + 1) % upper_bound; diff --git a/lib/isc/ratelimiter.c b/lib/isc/ratelimiter.c index e4f8a0cfc2..2a87fbdbc4 100644 --- a/lib/isc/ratelimiter.c +++ b/lib/isc/ratelimiter.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -38,10 +37,10 @@ struct isc_ratelimiter { isc_timer_t * timer; isc_interval_t interval; uint32_t pertic; - bool pushpop; - isc_ratelimiter_state_t state; + bool pushpop; + isc_ratelimiter_state_t state; isc_event_t shutdownevent; - ISC_LIST(isc_event_t) pending; + ISC_LIST(isc_event_t) pending; }; #define ISC_RATELIMITEREVENT_SHUTDOWN (ISC_EVENTCLASS_RATELIMITER + 1) @@ -56,7 +55,7 @@ isc_result_t isc_ratelimiter_create(isc_mem_t *mctx, isc_timermgr_t *timermgr, isc_task_t *task, isc_ratelimiter_t **ratelimiterp) { - isc_result_t result; + isc_result_t result; isc_ratelimiter_t *rl; INSIST(ratelimiterp != NULL && *ratelimiterp == NULL); @@ -74,9 +73,8 @@ isc_ratelimiter_create(isc_mem_t *mctx, isc_timermgr_t *timermgr, isc_mutex_init(&rl->lock); - result = isc_timer_create(timermgr, isc_timertype_inactive, - NULL, NULL, rl->task, ratelimiter_tick, - rl, &rl->timer); + result = isc_timer_create(timermgr, isc_timertype_inactive, NULL, NULL, + rl->task, ratelimiter_tick, rl, &rl->timer); if (result != ISC_R_SUCCESS) goto free_mutex; @@ -86,9 +84,8 @@ isc_ratelimiter_create(isc_mem_t *mctx, isc_timermgr_t *timermgr, */ isc_refcount_increment(&rl->references); - ISC_EVENT_INIT(&rl->shutdownevent, - sizeof(isc_event_t), - 0, NULL, ISC_RATELIMITEREVENT_SHUTDOWN, + ISC_EVENT_INIT(&rl->shutdownevent, sizeof(isc_event_t), 0, NULL, + ISC_RATELIMITEREVENT_SHUTDOWN, ratelimiter_shutdowncomplete, rl, rl, NULL, NULL); *ratelimiterp = rl; @@ -101,7 +98,8 @@ free_mutex: } isc_result_t -isc_ratelimiter_setinterval(isc_ratelimiter_t *rl, isc_interval_t *interval) { +isc_ratelimiter_setinterval(isc_ratelimiter_t *rl, isc_interval_t *interval) +{ isc_result_t result = ISC_R_SUCCESS; REQUIRE(rl != NULL); @@ -121,8 +119,8 @@ isc_ratelimiter_setinterval(isc_ratelimiter_t *rl, isc_interval_t *interval) { } void -isc_ratelimiter_setpertic(isc_ratelimiter_t *rl, uint32_t pertic) { - +isc_ratelimiter_setpertic(isc_ratelimiter_t *rl, uint32_t pertic) +{ REQUIRE(rl != NULL); if (pertic == 0) @@ -131,8 +129,8 @@ isc_ratelimiter_setpertic(isc_ratelimiter_t *rl, uint32_t pertic) { } void -isc_ratelimiter_setpushpop(isc_ratelimiter_t *rl, bool pushpop) { - +isc_ratelimiter_setpushpop(isc_ratelimiter_t *rl, bool pushpop) +{ REQUIRE(rl != NULL); rl->pushpop = pushpop; @@ -178,7 +176,8 @@ isc_ratelimiter_enqueue(isc_ratelimiter_t *rl, isc_task_t *task, } isc_result_t -isc_ratelimiter_dequeue(isc_ratelimiter_t *rl, isc_event_t *event) { +isc_ratelimiter_dequeue(isc_ratelimiter_t *rl, isc_event_t *event) +{ isc_result_t result = ISC_R_SUCCESS; REQUIRE(rl != NULL); @@ -195,10 +194,11 @@ isc_ratelimiter_dequeue(isc_ratelimiter_t *rl, isc_event_t *event) { } static void -ratelimiter_tick(isc_task_t *task, isc_event_t *event) { +ratelimiter_tick(isc_task_t *task, isc_event_t *event) +{ isc_ratelimiter_t *rl = (isc_ratelimiter_t *)event->ev_arg; - isc_event_t *p; - uint32_t pertic; + isc_event_t * p; + uint32_t pertic; UNUSED(task); @@ -219,13 +219,12 @@ ratelimiter_tick(isc_task_t *task, isc_event_t *event) { * No work left to do. Stop the timer so that we don't * waste resources by having it fire periodically. */ - isc_result_t result = - isc_timer_reset(rl->timer, - isc_timertype_inactive, - NULL, NULL, false); + isc_result_t result = isc_timer_reset( + rl->timer, isc_timertype_inactive, NULL, NULL, + false); RUNTIME_CHECK(result == ISC_R_SUCCESS); rl->state = isc_ratelimiter_idle; - pertic = 0; /* Force the loop to exit. */ + pertic = 0; /* Force the loop to exit. */ } UNLOCK(&rl->lock); if (p != NULL) { @@ -237,15 +236,16 @@ ratelimiter_tick(isc_task_t *task, isc_event_t *event) { } void -isc_ratelimiter_shutdown(isc_ratelimiter_t *rl) { +isc_ratelimiter_shutdown(isc_ratelimiter_t *rl) +{ isc_event_t *ev; REQUIRE(rl != NULL); LOCK(&rl->lock); rl->state = isc_ratelimiter_shuttingdown; - (void)isc_timer_reset(rl->timer, isc_timertype_inactive, - NULL, NULL, false); + (void)isc_timer_reset(rl->timer, isc_timertype_inactive, NULL, NULL, + false); while ((ev = ISC_LIST_HEAD(rl->pending)) != NULL) { isc_task_t *task = ev->ev_sender; ISC_LIST_UNLINK(rl->pending, ev, ev_ratelink); @@ -265,7 +265,8 @@ isc_ratelimiter_shutdown(isc_ratelimiter_t *rl) { } static void -ratelimiter_shutdowncomplete(isc_task_t *task, isc_event_t *event) { +ratelimiter_shutdowncomplete(isc_task_t *task, isc_event_t *event) +{ isc_ratelimiter_t *rl = (isc_ratelimiter_t *)event->ev_arg; UNUSED(task); @@ -274,13 +275,15 @@ ratelimiter_shutdowncomplete(isc_task_t *task, isc_event_t *event) { } static void -ratelimiter_free(isc_ratelimiter_t *rl) { +ratelimiter_free(isc_ratelimiter_t *rl) +{ isc_mutex_destroy(&rl->lock); isc_mem_put(rl->mctx, rl, sizeof(*rl)); } void -isc_ratelimiter_attach(isc_ratelimiter_t *source, isc_ratelimiter_t **target) { +isc_ratelimiter_attach(isc_ratelimiter_t *source, isc_ratelimiter_t **target) +{ REQUIRE(source != NULL); REQUIRE(target != NULL && *target == NULL); @@ -290,7 +293,8 @@ isc_ratelimiter_attach(isc_ratelimiter_t *source, isc_ratelimiter_t **target) { } void -isc_ratelimiter_detach(isc_ratelimiter_t **rlp) { +isc_ratelimiter_detach(isc_ratelimiter_t **rlp) +{ isc_ratelimiter_t *rl; REQUIRE(rlp != NULL && *rlp != NULL); @@ -304,7 +308,8 @@ isc_ratelimiter_detach(isc_ratelimiter_t **rlp) { } isc_result_t -isc_ratelimiter_stall(isc_ratelimiter_t *rl) { +isc_ratelimiter_stall(isc_ratelimiter_t *rl) +{ isc_result_t result = ISC_R_SUCCESS; REQUIRE(rl != NULL); @@ -329,7 +334,8 @@ isc_ratelimiter_stall(isc_ratelimiter_t *rl) { } isc_result_t -isc_ratelimiter_release(isc_ratelimiter_t *rl) { +isc_ratelimiter_release(isc_ratelimiter_t *rl) +{ isc_result_t result = ISC_R_SUCCESS; REQUIRE(rl != NULL); diff --git a/lib/isc/regex.c b/lib/isc/regex.c index 6d7d8a9a2a..c00aa1fa73 100644 --- a/lib/isc/regex.c +++ b/lib/isc/regex.c @@ -17,7 +17,11 @@ #include #if VALREGEX_REPORT_REASON -#define FAIL(x) do { reason = (x); goto error; } while(0) +#define FAIL(x) \ + do { \ + reason = (x); \ + goto error; \ + } while (0) #else #define FAIL(x) goto error #endif @@ -26,33 +30,34 @@ * Validate the regular expression 'C' locale. */ int -isc_regex_validate(const char *c) { - enum { - none, parse_bracket, parse_bound, - parse_ce, parse_ec, parse_cc - } state = none; +isc_regex_validate(const char *c) +{ + enum { none, + parse_bracket, + parse_bound, + parse_ce, + parse_ec, + parse_cc } state = none; /* Well known character classes. */ - const char *cc[] = { - ":alnum:", ":digit:", ":punct:", ":alpha:", ":graph:", - ":space:", ":blank:", ":lower:", ":upper:", ":cntrl:", - ":print:", ":xdigit:" - }; - bool seen_comma = false; - bool seen_high = false; - bool seen_char = false; - bool seen_ec = false; - bool seen_ce = false; - bool have_atom = false; - int group = 0; - int range = 0; - int sub = 0; - bool empty_ok = false; - bool neg = false; - bool was_multiple = false; + const char * cc[] = { ":alnum:", ":digit:", ":punct:", ":alpha:", + ":graph:", ":space:", ":blank:", ":lower:", + ":upper:", ":cntrl:", ":print:", ":xdigit:" }; + bool seen_comma = false; + bool seen_high = false; + bool seen_char = false; + bool seen_ec = false; + bool seen_ce = false; + bool have_atom = false; + int group = 0; + int range = 0; + int sub = 0; + bool empty_ok = false; + bool neg = false; + bool was_multiple = false; unsigned int low = 0; unsigned int high = 0; - const char *ccname = NULL; - int range_start = 0; + const char * ccname = NULL; + int range_start = 0; #if VALREGEX_REPORT_REASON const char *reason = ""; #endif @@ -64,12 +69,18 @@ isc_regex_validate(const char *c) { switch (state) { case none: switch (*c) { - case '\\': /* make literal */ + case '\\': /* make literal */ ++c; switch (*c) { - case '1': case '2': case '3': - case '4': case '5': case '6': - case '7': case '8': case '9': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': if ((*c - '0') > sub) FAIL("bad back reference"); have_atom = true; @@ -82,18 +93,25 @@ isc_regex_validate(const char *c) { } ++c; break; - case '[': /* bracket start */ + case '[': /* bracket start */ ++c; neg = false; was_multiple = false; seen_char = false; state = parse_bracket; break; - case '{': /* bound start */ + case '{': /* bound start */ switch (c[1]) { - case '0': case '1': case '2': case '3': - case '4': case '5': case '6': case '7': - case '8': case '9': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': if (!have_atom) FAIL("no atom"); if (was_multiple) @@ -112,7 +130,7 @@ isc_regex_validate(const char *c) { break; case '}': goto literal; - case '(': /* group start */ + case '(': /* group start */ have_atom = false; was_multiple = false; empty_ok = true; @@ -120,7 +138,7 @@ isc_regex_validate(const char *c) { ++sub; ++c; break; - case ')': /* group end */ + case ')': /* group end */ if (group && !have_atom && !empty_ok) FAIL("empty alternative"); have_atom = true; @@ -129,7 +147,7 @@ isc_regex_validate(const char *c) { --group; ++c; break; - case '|': /* alternative seperator */ + case '|': /* alternative seperator */ if (!have_atom) FAIL("no atom"); have_atom = false; @@ -165,8 +183,16 @@ isc_regex_validate(const char *c) { break; case parse_bound: switch (*c) { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': if (!seen_comma) { low = low * 10 + *c - '0'; if (low > 255) @@ -200,13 +226,16 @@ isc_regex_validate(const char *c) { case parse_bracket: switch (*c) { case '^': - if (seen_char || neg) goto inside; + if (seen_char || neg) + goto inside; neg = true; ++c; break; case '-': - if (range == 2) goto inside; - if (!seen_char) goto inside; + if (range == 2) + goto inside; + if (!seen_char) + goto inside; if (range == 1) FAIL("bad range"); range = 2; @@ -215,22 +244,25 @@ isc_regex_validate(const char *c) { case '[': ++c; switch (*c) { - case '.': /* collating element */ - if (range != 0) --range; + case '.': /* collating element */ + if (range != 0) + --range; ++c; state = parse_ce; seen_ce = false; break; - case '=': /* equivalence class */ + case '=': /* equivalence class */ if (range == 2) - FAIL("equivalence class in range"); + FAIL("equivalence class in " + "range"); ++c; state = parse_ec; seen_ec = false; break; - case ':': /* character class */ + case ':': /* character class */ if (range == 2) - FAIL("character class in range"); + FAIL("character class in " + "range"); ccname = c; ++c; state = parse_cc; @@ -267,7 +299,7 @@ isc_regex_validate(const char *c) { switch (*c) { case ']': if (!seen_ce) - FAIL("empty ce"); + FAIL("empty ce"); ++c; state = parse_bracket; break; @@ -319,11 +351,10 @@ isc_regex_validate(const char *c) { switch (*c) { case ']': { unsigned int i; - bool found = false; + bool found = false; for (i = 0; - i < sizeof(cc)/sizeof(*cc); - i++) - { + i < sizeof(cc) / sizeof(*cc); + i++) { unsigned int len; len = strlen(cc[i]); if (len != @@ -338,7 +369,7 @@ isc_regex_validate(const char *c) { ++c; state = parse_bracket; break; - } + } default: break; } @@ -358,7 +389,7 @@ isc_regex_validate(const char *c) { FAIL("no atom"); return (sub); - error: +error: #if VALREGEX_REPORT_REASON fprintf(stderr, "%s\n", reason); #endif diff --git a/lib/isc/region.c b/lib/isc/region.c index a24440708f..f9f8364f7e 100644 --- a/lib/isc/region.c +++ b/lib/isc/region.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -19,9 +18,10 @@ #include int -isc_region_compare(isc_region_t *r1, isc_region_t *r2) { +isc_region_compare(isc_region_t *r1, isc_region_t *r2) +{ unsigned int l; - int result; + int result; REQUIRE(r1 != NULL); REQUIRE(r2 != NULL); @@ -31,6 +31,7 @@ isc_region_compare(isc_region_t *r1, isc_region_t *r2) { if ((result = memcmp(r1->base, r2->base, l)) != 0) return ((result < 0) ? -1 : 1); else - return ((r1->length == r2->length) ? 0 : - (r1->length < r2->length) ? -1 : 1); + return ((r1->length == r2->length) + ? 0 + : (r1->length < r2->length) ? -1 : 1); } diff --git a/lib/isc/result.c b/lib/isc/result.c index ff3ca02413..ee99926a85 100644 --- a/lib/isc/result.c +++ b/lib/isc/result.c @@ -21,86 +21,86 @@ #include typedef struct resulttable { - unsigned int base; - unsigned int last; - const char ** text; - int set; - ISC_LINK(struct resulttable) link; + unsigned int base; + unsigned int last; + const char **text; + int set; + ISC_LINK(struct resulttable) link; } resulttable; typedef ISC_LIST(resulttable) resulttable_list_t; static const char *description[ISC_R_NRESULTS] = { - "success", /*%< 0 */ - "out of memory", /*%< 1 */ - "timed out", /*%< 2 */ - "no available threads", /*%< 3 */ - "address not available", /*%< 4 */ - "address in use", /*%< 5 */ - "permission denied", /*%< 6 */ - "no pending connections", /*%< 7 */ - "network unreachable", /*%< 8 */ - "host unreachable", /*%< 9 */ - "network down", /*%< 10 */ - "host down", /*%< 11 */ - "connection refused", /*%< 12 */ - "not enough free resources", /*%< 13 */ - "end of file", /*%< 14 */ - "socket already bound", /*%< 15 */ - "reload", /*%< 16 */ - "lock busy", /*%< 17 */ - "already exists", /*%< 18 */ - "ran out of space", /*%< 19 */ - "operation canceled", /*%< 20 */ - "socket is not bound", /*%< 21 */ - "shutting down", /*%< 22 */ - "not found", /*%< 23 */ - "unexpected end of input", /*%< 24 */ - "failure", /*%< 25 */ - "I/O error", /*%< 26 */ - "not implemented", /*%< 27 */ - "unbalanced parentheses", /*%< 28 */ - "no more", /*%< 29 */ - "invalid file", /*%< 30 */ - "bad base64 encoding", /*%< 31 */ - "unexpected token", /*%< 32 */ - "quota reached", /*%< 33 */ - "unexpected error", /*%< 34 */ - "already running", /*%< 35 */ - "ignore", /*%< 36 */ - "address mask not contiguous", /*%< 37 */ - "file not found", /*%< 38 */ - "file already exists", /*%< 39 */ - "socket is not connected", /*%< 40 */ - "out of range", /*%< 41 */ - "out of entropy", /*%< 42 */ - "invalid use of multicast address", /*%< 43 */ - "not a file", /*%< 44 */ - "not a directory", /*%< 45 */ - "queue is full", /*%< 46 */ - "address family mismatch", /*%< 47 */ - "address family not supported", /*%< 48 */ - "bad hex encoding", /*%< 49 */ - "too many open files", /*%< 50 */ - "not blocking", /*%< 51 */ - "unbalanced quotes", /*%< 52 */ - "operation in progress", /*%< 53 */ - "connection reset", /*%< 54 */ - "soft quota reached", /*%< 55 */ - "not a valid number", /*%< 56 */ - "disabled", /*%< 57 */ - "max size", /*%< 58 */ - "invalid address format", /*%< 59 */ - "bad base32 encoding", /*%< 60 */ - "unset", /*%< 61 */ - "multiple", /*%< 62 */ - "would block", /*%< 63 */ - "complete", /*%< 64 */ - "crypto failure", /*%< 65 */ - "disc quota", /*%< 66 */ - "disc full", /*%< 67 */ - "default", /*%< 68 */ - "IPv4 prefix", /*%< 69 */ + "success", /*%< 0 */ + "out of memory", /*%< 1 */ + "timed out", /*%< 2 */ + "no available threads", /*%< 3 */ + "address not available", /*%< 4 */ + "address in use", /*%< 5 */ + "permission denied", /*%< 6 */ + "no pending connections", /*%< 7 */ + "network unreachable", /*%< 8 */ + "host unreachable", /*%< 9 */ + "network down", /*%< 10 */ + "host down", /*%< 11 */ + "connection refused", /*%< 12 */ + "not enough free resources", /*%< 13 */ + "end of file", /*%< 14 */ + "socket already bound", /*%< 15 */ + "reload", /*%< 16 */ + "lock busy", /*%< 17 */ + "already exists", /*%< 18 */ + "ran out of space", /*%< 19 */ + "operation canceled", /*%< 20 */ + "socket is not bound", /*%< 21 */ + "shutting down", /*%< 22 */ + "not found", /*%< 23 */ + "unexpected end of input", /*%< 24 */ + "failure", /*%< 25 */ + "I/O error", /*%< 26 */ + "not implemented", /*%< 27 */ + "unbalanced parentheses", /*%< 28 */ + "no more", /*%< 29 */ + "invalid file", /*%< 30 */ + "bad base64 encoding", /*%< 31 */ + "unexpected token", /*%< 32 */ + "quota reached", /*%< 33 */ + "unexpected error", /*%< 34 */ + "already running", /*%< 35 */ + "ignore", /*%< 36 */ + "address mask not contiguous", /*%< 37 */ + "file not found", /*%< 38 */ + "file already exists", /*%< 39 */ + "socket is not connected", /*%< 40 */ + "out of range", /*%< 41 */ + "out of entropy", /*%< 42 */ + "invalid use of multicast address", /*%< 43 */ + "not a file", /*%< 44 */ + "not a directory", /*%< 45 */ + "queue is full", /*%< 46 */ + "address family mismatch", /*%< 47 */ + "address family not supported", /*%< 48 */ + "bad hex encoding", /*%< 49 */ + "too many open files", /*%< 50 */ + "not blocking", /*%< 51 */ + "unbalanced quotes", /*%< 52 */ + "operation in progress", /*%< 53 */ + "connection reset", /*%< 54 */ + "soft quota reached", /*%< 55 */ + "not a valid number", /*%< 56 */ + "disabled", /*%< 57 */ + "max size", /*%< 58 */ + "invalid address format", /*%< 59 */ + "bad base32 encoding", /*%< 60 */ + "unset", /*%< 61 */ + "multiple", /*%< 62 */ + "would block", /*%< 63 */ + "complete", /*%< 64 */ + "crypto failure", /*%< 65 */ + "disc quota", /*%< 66 */ + "disc full", /*%< 67 */ + "default", /*%< 68 */ + "IPv4 prefix", /*%< 69 */ }; static const char *identifier[ISC_R_NRESULTS] = { @@ -176,18 +176,17 @@ static const char *identifier[ISC_R_NRESULTS] = { "ISC_R_IPV4PREFIX", }; -#define ISC_RESULT_RESULTSET 2 -#define ISC_RESULT_UNAVAILABLESET 3 +#define ISC_RESULT_RESULTSET 2 +#define ISC_RESULT_UNAVAILABLESET 3 -static isc_once_t once = ISC_ONCE_INIT; -static resulttable_list_t description_tables; -static resulttable_list_t identifier_tables; -static isc_mutex_t lock; +static isc_once_t once = ISC_ONCE_INIT; +static resulttable_list_t description_tables; +static resulttable_list_t identifier_tables; +static isc_mutex_t lock; static isc_result_t register_table(resulttable_list_t *tables, unsigned int base, - unsigned int nresults, const char **text, - int set) + unsigned int nresults, const char **text, int set) { resulttable *table; @@ -218,50 +217,50 @@ register_table(resulttable_list_t *tables, unsigned int base, } static void -initialize_action(void) { +initialize_action(void) +{ isc_result_t result; isc_mutex_init(&lock); ISC_LIST_INIT(description_tables); ISC_LIST_INIT(identifier_tables); - result = register_table(&description_tables, - ISC_RESULTCLASS_ISC, ISC_R_NRESULTS, - description, ISC_RESULT_RESULTSET); + result = register_table(&description_tables, ISC_RESULTCLASS_ISC, + ISC_R_NRESULTS, description, + ISC_RESULT_RESULTSET); if (result != ISC_R_SUCCESS) { UNEXPECTED_ERROR(__FILE__, __LINE__, - "register_table() failed: %u", - result); + "register_table() failed: %u", result); } - result = register_table(&identifier_tables, - ISC_RESULTCLASS_ISC, ISC_R_NRESULTS, - identifier, ISC_RESULT_RESULTSET); + result = register_table(&identifier_tables, ISC_RESULTCLASS_ISC, + ISC_R_NRESULTS, identifier, + ISC_RESULT_RESULTSET); if (result != ISC_R_SUCCESS) { UNEXPECTED_ERROR(__FILE__, __LINE__, - "register_table() failed: %u", - result); + "register_table() failed: %u", result); } } static void -initialize(void) { +initialize(void) +{ RUNTIME_CHECK(isc_once_do(&once, initialize_action) == ISC_R_SUCCESS); } static const char * -isc_result_tomany_helper(resulttable_list_t *tables, isc_result_t result) { +isc_result_tomany_helper(resulttable_list_t *tables, isc_result_t result) +{ resulttable *table; - const char *text; - int index; + const char * text; + int index; initialize(); LOCK(&lock); text = NULL; - for (table = ISC_LIST_HEAD(*tables); - table != NULL; + for (table = ISC_LIST_HEAD(*tables); table != NULL; table = ISC_LIST_NEXT(table, link)) { if (result >= table->base && result <= table->last) { index = (int)(result - table->base); @@ -279,23 +278,24 @@ isc_result_tomany_helper(resulttable_list_t *tables, isc_result_t result) { } const char * -isc_result_totext(isc_result_t result) { +isc_result_totext(isc_result_t result) +{ return (isc_result_tomany_helper(&description_tables, result)); } const char * -isc_result_toid(isc_result_t result) { +isc_result_toid(isc_result_t result) +{ return (isc_result_tomany_helper(&identifier_tables, result)); } isc_result_t -isc_result_register(unsigned int base, unsigned int nresults, - const char **text, int set) +isc_result_register(unsigned int base, unsigned int nresults, const char **text, + int set) { initialize(); - return (register_table(&description_tables, base, nresults, text, - set)); + return (register_table(&description_tables, base, nresults, text, set)); } isc_result_t @@ -304,6 +304,5 @@ isc_result_registerids(unsigned int base, unsigned int nresults, { initialize(); - return (register_table(&identifier_tables, base, nresults, ids, - set)); + return (register_table(&identifier_tables, base, nresults, ids, set)); } diff --git a/lib/isc/rwlock.c b/lib/isc/rwlock.c index 7ef7cff7f1..4310f4953f 100644 --- a/lib/isc/rwlock.c +++ b/lib/isc/rwlock.c @@ -9,12 +9,11 @@ * information regarding copyright ownership. */ - /*! \file */ +#include #include #include -#include #if defined(sun) && (defined(__sparc) || defined(__sparc__)) #include /* for smt_pause(3c) */ @@ -44,7 +43,8 @@ isc_rwlock_init(isc_rwlock_t *rwl, unsigned int read_quota, } isc_result_t -isc_rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { +isc_rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type) +{ switch (type) { case isc_rwlocktype_read: REQUIRE(pthread_rwlock_rdlock(&rwl->rwlock) == 0); @@ -54,9 +54,10 @@ isc_rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { REQUIRE(pthread_rwlock_wrlock(&rwl->rwlock) == 0); /* Unlock if in middle of downgrade operation */ if (atomic_load_acquire(&rwl->downgrade)) { - REQUIRE(pthread_rwlock_unlock(&rwl->rwlock) - == 0); - while (atomic_load_acquire(&rwl->downgrade)); + REQUIRE(pthread_rwlock_unlock(&rwl->rwlock) == + 0); + while (atomic_load_acquire(&rwl->downgrade)) + ; continue; } break; @@ -70,7 +71,8 @@ isc_rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { } isc_result_t -isc_rwlock_trylock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { +isc_rwlock_trylock(isc_rwlock_t *rwl, isc_rwlocktype_t type) +{ int ret = 0; switch (type) { case isc_rwlocktype_read: @@ -83,33 +85,41 @@ isc_rwlock_trylock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { return (ISC_R_LOCKBUSY); } break; - default: INSIST(0); + default: + INSIST(0); } switch (ret) { - case 0: return (ISC_R_SUCCESS); - case EBUSY: return (ISC_R_LOCKBUSY); - case EAGAIN: return (ISC_R_LOCKBUSY); - default: INSIST(0); ISC_UNREACHABLE(); + case 0: + return (ISC_R_SUCCESS); + case EBUSY: + return (ISC_R_LOCKBUSY); + case EAGAIN: + return (ISC_R_LOCKBUSY); + default: + INSIST(0); + ISC_UNREACHABLE(); } } - isc_result_t -isc_rwlock_unlock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { +isc_rwlock_unlock(isc_rwlock_t *rwl, isc_rwlocktype_t type) +{ UNUSED(type); REQUIRE(pthread_rwlock_unlock(&rwl->rwlock) == 0); return (ISC_R_SUCCESS); } isc_result_t -isc_rwlock_tryupgrade(isc_rwlock_t *rwl) { +isc_rwlock_tryupgrade(isc_rwlock_t *rwl) +{ UNUSED(rwl); return (ISC_R_LOCKBUSY); } void -isc_rwlock_downgrade(isc_rwlock_t *rwl) { +isc_rwlock_downgrade(isc_rwlock_t *rwl) +{ atomic_store_release(&rwl->downgrade, true); isc_rwlock_unlock(rwl, isc_rwlocktype_write); isc_rwlock_lock(rwl, isc_rwlocktype_read); @@ -117,14 +127,15 @@ isc_rwlock_downgrade(isc_rwlock_t *rwl) { } void -isc_rwlock_destroy(isc_rwlock_t *rwl) { +isc_rwlock_destroy(isc_rwlock_t *rwl) +{ pthread_rwlock_destroy(&rwl->rwlock); } #else -#define RWLOCK_MAGIC ISC_MAGIC('R', 'W', 'L', 'k') -#define VALID_RWLOCK(rwl) ISC_MAGIC_VALID(rwl, RWLOCK_MAGIC) +#define RWLOCK_MAGIC ISC_MAGIC('R', 'W', 'L', 'k') +#define VALID_RWLOCK(rwl) ISC_MAGIC_VALID(rwl, RWLOCK_MAGIC) #ifndef RWLOCK_DEFAULT_READ_QUOTA #define RWLOCK_DEFAULT_READ_QUOTA 4 @@ -139,37 +150,39 @@ isc_rwlock_destroy(isc_rwlock_t *rwl) { #endif #if defined(_MSC_VER) -# include -# define isc_rwlock_pause() YieldProcessor() +#include +#define isc_rwlock_pause() YieldProcessor() #elif defined(__x86_64__) -# include -# define isc_rwlock_pause() _mm_pause() +#include +#define isc_rwlock_pause() _mm_pause() #elif defined(__i386__) -# define isc_rwlock_pause() __asm__ __volatile__ ("rep; nop") +#define isc_rwlock_pause() __asm__ __volatile__("rep; nop") #elif defined(__ia64__) -# define isc_rwlock_pause() __asm__ __volatile__ ("hint @pause") +#define isc_rwlock_pause() __asm__ __volatile__("hint @pause") #elif defined(__arm__) && HAVE_ARM_YIELD -# define isc_rwlock_pause() __asm__ __volatile__ ("yield") +#define isc_rwlock_pause() __asm__ __volatile__("yield") #elif defined(sun) && (defined(__sparc) || defined(__sparc__)) -# define isc_rwlock_pause() smt_pause() +#define isc_rwlock_pause() smt_pause() #elif (defined(__sparc) || defined(__sparc__)) && HAVE_SPARC_PAUSE -# define isc_rwlock_pause() __asm__ __volatile__ ("pause") -#elif defined(__ppc__) || defined(_ARCH_PPC) || \ - defined(_ARCH_PWR) || defined(_ARCH_PWR2) || defined(_POWER) -# define isc_rwlock_pause() __asm__ volatile ("or 27,27,27") +#define isc_rwlock_pause() __asm__ __volatile__("pause") +#elif defined(__ppc__) || defined(_ARCH_PPC) || defined(_ARCH_PWR) || \ + defined(_ARCH_PWR2) || defined(_POWER) +#define isc_rwlock_pause() __asm__ volatile("or 27,27,27") #else -# define isc_rwlock_pause() +#define isc_rwlock_pause() #endif static isc_result_t isc__rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type); #ifdef ISC_RWLOCK_TRACE -#include /* Required for fprintf/stderr. */ -#include /* Required for isc_thread_self(). */ +#include /* Required for fprintf/stderr. */ + +#include /* Required for isc_thread_self(). */ static void -print_lock(const char *operation, isc_rwlock_t *rwl, isc_rwlocktype_t type) { +print_lock(const char *operation, isc_rwlock_t *rwl, isc_rwlocktype_t type) +{ fprintf(stderr, "rwlock %p thread %lu %s(%s): " "write_requests=%u, write_completions=%u, " @@ -179,11 +192,10 @@ print_lock(const char *operation, isc_rwlock_t *rwl, isc_rwlocktype_t type) { (type == isc_rwlocktype_read ? "read" : "write"), atomic_load_acquire(&rwl->write_requests), atomic_load_acquire(&rwl->write_completions), - atomic_load_acquire(&rwl->cnt_and_flag), - rwl->readers_waiting, + atomic_load_acquire(&rwl->cnt_and_flag), rwl->readers_waiting, atomic_load_acquire(&rwl->write_granted), rwl->write_quota); } -#endif /* ISC_RWLOCK_TRACE */ +#endif /* ISC_RWLOCK_TRACE */ isc_result_t isc_rwlock_init(isc_rwlock_t *rwl, unsigned int read_quota, @@ -222,11 +234,12 @@ isc_rwlock_init(isc_rwlock_t *rwl, unsigned int read_quota, } void -isc_rwlock_destroy(isc_rwlock_t *rwl) { +isc_rwlock_destroy(isc_rwlock_t *rwl) +{ REQUIRE(VALID_RWLOCK(rwl)); REQUIRE(atomic_load_acquire(&rwl->write_requests) == - atomic_load_acquire(&rwl->write_completions) && + atomic_load_acquire(&rwl->write_completions) && atomic_load_acquire(&rwl->cnt_and_flag) == 0 && rwl->readers_waiting == 0); @@ -298,11 +311,12 @@ isc_rwlock_destroy(isc_rwlock_t *rwl) { * really necessary.) */ -#define WRITER_ACTIVE 0x1 -#define READER_INCR 0x2 +#define WRITER_ACTIVE 0x1 +#define READER_INCR 0x2 static isc_result_t -isc__rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { +isc__rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type) +{ int32_t cntflag; REQUIRE(VALID_RWLOCK(rwl)); @@ -313,8 +327,7 @@ isc__rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { if (type == isc_rwlocktype_read) { if (atomic_load_acquire(&rwl->write_requests) != - atomic_load_acquire(&rwl->write_completions)) - { + atomic_load_acquire(&rwl->write_completions)) { /* there is a waiting or active writer */ LOCK(&rwl->lock); if (atomic_load_acquire(&rwl->write_requests) != @@ -330,18 +343,16 @@ isc__rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { READER_INCR); POST(cntflag); while (1) { - if ((atomic_load_acquire(&rwl->cnt_and_flag) - & WRITER_ACTIVE) == 0) - { + if ((atomic_load_acquire(&rwl->cnt_and_flag) & + WRITER_ACTIVE) == 0) { break; } /* A writer is still working */ LOCK(&rwl->lock); rwl->readers_waiting++; - if ((atomic_load_acquire(&rwl->cnt_and_flag) - & WRITER_ACTIVE) != 0) - { + if ((atomic_load_acquire(&rwl->cnt_and_flag) & + WRITER_ACTIVE) != 0) { WAIT(&rwl->readable, &rwl->lock); } rwl->readers_waiting--; @@ -384,13 +395,11 @@ isc__rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { /* enter the waiting queue, and wait for our turn */ prev_writer = atomic_fetch_add_release(&rwl->write_requests, 1); - while (atomic_load_acquire(&rwl->write_completions) - != prev_writer) - { + while (atomic_load_acquire(&rwl->write_completions) != + prev_writer) { LOCK(&rwl->lock); - if (atomic_load_acquire(&rwl->write_completions) - != prev_writer) - { + if (atomic_load_acquire(&rwl->write_completions) != + prev_writer) { WAIT(&rwl->writeable, &rwl->lock); UNLOCK(&rwl->lock); continue; @@ -402,8 +411,7 @@ isc__rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { while (1) { int_fast32_t zero = 0; if (atomic_compare_exchange_weak_acq_rel( - &rwl->cnt_and_flag, &zero, WRITER_ACTIVE)) - { + &rwl->cnt_and_flag, &zero, WRITER_ACTIVE)) { break; } @@ -415,8 +423,8 @@ isc__rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { UNLOCK(&rwl->lock); } - INSIST((atomic_load_acquire(&rwl->cnt_and_flag) - & WRITER_ACTIVE)); + INSIST((atomic_load_acquire(&rwl->cnt_and_flag) & + WRITER_ACTIVE)); atomic_fetch_add_release(&rwl->write_granted, 1); } @@ -428,10 +436,11 @@ isc__rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { } isc_result_t -isc_rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { - int32_t cnt = 0; - int32_t spins = atomic_load_acquire(&rwl->spins) * 2 + 10; - int32_t max_cnt = ISC_MAX(spins, RWLOCK_MAX_ADAPTIVE_COUNT); +isc_rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type) +{ + int32_t cnt = 0; + int32_t spins = atomic_load_acquire(&rwl->spins) * 2 + 10; + int32_t max_cnt = ISC_MAX(spins, RWLOCK_MAX_ADAPTIVE_COUNT); isc_result_t result = ISC_R_SUCCESS; do { @@ -448,7 +457,8 @@ isc_rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { } isc_result_t -isc_rwlock_trylock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { +isc_rwlock_trylock(isc_rwlock_t *rwl, isc_rwlocktype_t type) +{ int32_t cntflag; REQUIRE(VALID_RWLOCK(rwl)); @@ -471,16 +481,15 @@ isc_rwlock_trylock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { * A writer is working. We lose, and cancel the read * request. */ - cntflag = atomic_fetch_sub_release( - &rwl->cnt_and_flag, READER_INCR); + cntflag = atomic_fetch_sub_release(&rwl->cnt_and_flag, + READER_INCR); /* * If no other readers are waiting and we've suspended * new writers in this short period, wake them up. */ if (cntflag == READER_INCR && atomic_load_acquire(&rwl->write_completions) != - atomic_load_acquire(&rwl->write_requests)) - { + atomic_load_acquire(&rwl->write_requests)) { LOCK(&rwl->lock); BROADCAST(&rwl->writeable); UNLOCK(&rwl->lock); @@ -492,8 +501,7 @@ isc_rwlock_trylock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { /* Try locking without entering the waiting queue. */ int_fast32_t zero = 0; if (!atomic_compare_exchange_weak_acq_rel( - &rwl->cnt_and_flag, &zero, WRITER_ACTIVE)) - { + &rwl->cnt_and_flag, &zero, WRITER_ACTIVE)) { return (ISC_R_LOCKBUSY); } @@ -513,7 +521,8 @@ isc_rwlock_trylock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { } isc_result_t -isc_rwlock_tryupgrade(isc_rwlock_t *rwl) { +isc_rwlock_tryupgrade(isc_rwlock_t *rwl) +{ REQUIRE(VALID_RWLOCK(rwl)); { @@ -537,21 +546,21 @@ isc_rwlock_tryupgrade(isc_rwlock_t *rwl) { atomic_fetch_sub_release(&rwl->write_completions, 1); } else return (ISC_R_LOCKBUSY); - } return (ISC_R_SUCCESS); } void -isc_rwlock_downgrade(isc_rwlock_t *rwl) { +isc_rwlock_downgrade(isc_rwlock_t *rwl) +{ int32_t prev_readers; REQUIRE(VALID_RWLOCK(rwl)); /* Become an active reader. */ - prev_readers = atomic_fetch_add_release(&rwl->cnt_and_flag, - READER_INCR); + prev_readers = + atomic_fetch_add_release(&rwl->cnt_and_flag, READER_INCR); /* We must have been a writer. */ INSIST((prev_readers & WRITER_ACTIVE) != 0); @@ -568,7 +577,8 @@ isc_rwlock_downgrade(isc_rwlock_t *rwl) { } isc_result_t -isc_rwlock_unlock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { +isc_rwlock_unlock(isc_rwlock_t *rwl, isc_rwlocktype_t type) +{ int32_t prev_cnt; REQUIRE(VALID_RWLOCK(rwl)); @@ -587,7 +597,7 @@ isc_rwlock_unlock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { */ if (prev_cnt == READER_INCR && atomic_load_acquire(&rwl->write_completions) != - atomic_load_acquire(&rwl->write_requests)) { + atomic_load_acquire(&rwl->write_requests)) { LOCK(&rwl->lock); BROADCAST(&rwl->writeable); UNLOCK(&rwl->lock); @@ -605,10 +615,9 @@ isc_rwlock_unlock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { if ((atomic_load_acquire(&rwl->write_granted) >= rwl->write_quota) || (atomic_load_acquire(&rwl->write_requests) == - atomic_load_acquire(&rwl->write_completions)) || - (atomic_load_acquire(&rwl->cnt_and_flag) - & ~WRITER_ACTIVE)) - { + atomic_load_acquire(&rwl->write_completions)) || + (atomic_load_acquire(&rwl->cnt_and_flag) & + ~WRITER_ACTIVE)) { /* * We have passed the write quota, no writer is * waiting, or some readers are almost ready, pending @@ -635,8 +644,7 @@ isc_rwlock_unlock(isc_rwlock_t *rwl, isc_rwlocktype_t type) { } #ifdef ISC_RWLOCK_TRACE - print_lock("postunlock", - rwl, type); + print_lock("postunlock", rwl, type); #endif return (ISC_R_SUCCESS); diff --git a/lib/isc/serial.c b/lib/isc/serial.c index 48487ddc77..58c5dfe328 100644 --- a/lib/isc/serial.c +++ b/lib/isc/serial.c @@ -9,16 +9,16 @@ * information regarding copyright ownership. */ - /*! \file */ -#include #include +#include #include bool -isc_serial_lt(uint32_t a, uint32_t b) { +isc_serial_lt(uint32_t a, uint32_t b) +{ /* * Undefined => false */ @@ -28,26 +28,31 @@ isc_serial_lt(uint32_t a, uint32_t b) { } bool -isc_serial_gt(uint32_t a, uint32_t b) { +isc_serial_gt(uint32_t a, uint32_t b) +{ return (((int32_t)(a - b) > 0) ? true : false); } bool -isc_serial_le(uint32_t a, uint32_t b) { +isc_serial_le(uint32_t a, uint32_t b) +{ return ((a == b) ? true : isc_serial_lt(a, b)); } bool -isc_serial_ge(uint32_t a, uint32_t b) { +isc_serial_ge(uint32_t a, uint32_t b) +{ return ((a == b) ? true : isc_serial_gt(a, b)); } bool -isc_serial_eq(uint32_t a, uint32_t b) { +isc_serial_eq(uint32_t a, uint32_t b) +{ return ((a == b) ? true : false); } bool -isc_serial_ne(uint32_t a, uint32_t b) { +isc_serial_ne(uint32_t a, uint32_t b) +{ return ((a != b) ? true : false); } diff --git a/lib/isc/siphash.c b/lib/isc/siphash.c index d9dc5628dc..b669414a22 100644 --- a/lib/isc/siphash.c +++ b/lib/isc/siphash.c @@ -10,12 +10,12 @@ */ #include -#include #include +#include #include -#include #include +#include /* * Creation of EVP_MD_CTX and EVP_PKEY is quite expensive, until @@ -60,8 +60,9 @@ isc_siphash24(const uint8_t *k, /* * The implementation is based on SipHash reference C implementation by * - * Copyright (c) 2012-2016 Jean-Philippe Aumasson - * Copyright (c) 2012-2014 Daniel J. Bernstein + * Copyright (c) 2012-2016 Jean-Philippe Aumasson + * Copyright (c) 2012-2014 Daniel J. Bernstein + * * * To the extent possible under law, the author(s) have dedicated all copyright * and related and neighboring rights to this software to the public domain @@ -73,43 +74,43 @@ isc_siphash24(const uint8_t *k, #define cROUNDS 2 #define dROUNDS 4 -#define ROTATE(x, b) (uint64_t)( ((x) << (b)) | ( (x) >> (64 - (b))) ) +#define ROTATE(x, b) (uint64_t)(((x) << (b)) | ((x) >> (64 - (b)))) -#define HALF_ROUND(a, b, c, d, s, t) \ - a += b; c += d; \ - b = ROTATE(b, s) ^ a; \ - d = ROTATE(d, t) ^ c; \ +#define HALF_ROUND(a, b, c, d, s, t) \ + a += b; \ + c += d; \ + b = ROTATE(b, s) ^ a; \ + d = ROTATE(d, t) ^ c; \ a = ROTATE(a, 32); -#define FULL_ROUND(v0, v1, v2, v3) \ - HALF_ROUND(v0, v1, v2, v3, 13, 16); \ +#define FULL_ROUND(v0, v1, v2, v3) \ + HALF_ROUND(v0, v1, v2, v3, 13, 16); \ HALF_ROUND(v2, v1, v0, v3, 17, 21); -#define DOUBLE_ROUND(v0, v1, v2, v3) \ - FULL_ROUND(v0, v1, v2, v3) \ +#define DOUBLE_ROUND(v0, v1, v2, v3) \ + FULL_ROUND(v0, v1, v2, v3) \ FULL_ROUND(v0, v1, v2, v3) #define SIPROUND FULL_ROUND -#define U32TO8_LE(p, v) \ - (p)[0] = (uint8_t)((v)); \ - (p)[1] = (uint8_t)((v) >> 8); \ - (p)[2] = (uint8_t)((v) >> 16); \ +#define U32TO8_LE(p, v) \ + (p)[0] = (uint8_t)((v)); \ + (p)[1] = (uint8_t)((v) >> 8); \ + (p)[2] = (uint8_t)((v) >> 16); \ (p)[3] = (uint8_t)((v) >> 24); -#define U64TO8_LE(p, v) \ - U32TO8_LE((p), (uint32_t)((v))); \ +#define U64TO8_LE(p, v) \ + U32TO8_LE((p), (uint32_t)((v))); \ U32TO8_LE((p) + 4, (uint32_t)((v) >> 32)); -#define U8TO64_LE(p) \ - (((uint64_t)((p)[0])) | ((uint64_t)((p)[1]) << 8) | \ - ((uint64_t)((p)[2]) << 16) | ((uint64_t)((p)[3]) << 24) | \ - ((uint64_t)((p)[4]) << 32) | ((uint64_t)((p)[5]) << 40) | \ +#define U8TO64_LE(p) \ + (((uint64_t)((p)[0])) | ((uint64_t)((p)[1]) << 8) | \ + ((uint64_t)((p)[2]) << 16) | ((uint64_t)((p)[3]) << 24) | \ + ((uint64_t)((p)[4]) << 32) | ((uint64_t)((p)[5]) << 40) | \ ((uint64_t)((p)[6]) << 48) | ((uint64_t)((p)[7]) << 56)) void -isc_siphash24(const uint8_t *k, - const uint8_t *in, const size_t inlen, +isc_siphash24(const uint8_t *k, const uint8_t *in, const size_t inlen, uint8_t *out) { REQUIRE(k != NULL); @@ -126,7 +127,7 @@ isc_siphash24(const uint8_t *k, uint64_t b = ((uint64_t)inlen) << 56; const uint8_t *end = in + inlen - (inlen % sizeof(uint64_t)); - const size_t left = inlen & 7; + const size_t left = inlen & 7; for (; in != end; in += 8) { uint64_t m = U8TO64_LE(in); diff --git a/lib/isc/sockaddr.c b/lib/isc/sockaddr.c index 19331281e7..0a1f294f52 100644 --- a/lib/isc/sockaddr.c +++ b/lib/isc/sockaddr.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -28,16 +27,19 @@ #include bool -isc_sockaddr_equal(const isc_sockaddr_t *a, const isc_sockaddr_t *b) { - return (isc_sockaddr_compare(a, b, ISC_SOCKADDR_CMPADDR| - ISC_SOCKADDR_CMPPORT| - ISC_SOCKADDR_CMPSCOPE)); +isc_sockaddr_equal(const isc_sockaddr_t *a, const isc_sockaddr_t *b) +{ + return (isc_sockaddr_compare(a, b, + ISC_SOCKADDR_CMPADDR | + ISC_SOCKADDR_CMPPORT | + ISC_SOCKADDR_CMPSCOPE)); } bool -isc_sockaddr_eqaddr(const isc_sockaddr_t *a, const isc_sockaddr_t *b) { - return (isc_sockaddr_compare(a, b, ISC_SOCKADDR_CMPADDR| - ISC_SOCKADDR_CMPSCOPE)); +isc_sockaddr_eqaddr(const isc_sockaddr_t *a, const isc_sockaddr_t *b) +{ + return (isc_sockaddr_compare( + a, b, ISC_SOCKADDR_CMPADDR | ISC_SOCKADDR_CMPSCOPE)); } bool @@ -78,8 +80,8 @@ isc_sockaddr_compare(const isc_sockaddr_t *a, const isc_sockaddr_t *b, if ((flags & ISC_SOCKADDR_CMPSCOPE) != 0 && a->type.sin6.sin6_scope_id != b->type.sin6.sin6_scope_id && ((flags & ISC_SOCKADDR_CMPSCOPEZERO) == 0 || - (a->type.sin6.sin6_scope_id != 0 && - b->type.sin6.sin6_scope_id != 0))) + (a->type.sin6.sin6_scope_id != 0 && + b->type.sin6.sin6_scope_id != 0))) return (false); if ((flags & ISC_SOCKADDR_CMPPORT) != 0 && a->type.sin6.sin6_port != b->type.sin6.sin6_port) @@ -103,12 +105,13 @@ isc_sockaddr_eqaddrprefix(const isc_sockaddr_t *a, const isc_sockaddr_t *b, } isc_result_t -isc_sockaddr_totext(const isc_sockaddr_t *sockaddr, isc_buffer_t *target) { - isc_result_t result; +isc_sockaddr_totext(const isc_sockaddr_t *sockaddr, isc_buffer_t *target) +{ + isc_result_t result; isc_netaddr_t netaddr; - char pbuf[sizeof("65000")]; - unsigned int plen; - isc_region_t avail; + char pbuf[sizeof("65000")]; + unsigned int plen; + isc_region_t avail; REQUIRE(sockaddr != NULL); @@ -119,10 +122,12 @@ isc_sockaddr_totext(const isc_sockaddr_t *sockaddr, isc_buffer_t *target) { */ switch (sockaddr->type.sa.sa_family) { case AF_INET: - snprintf(pbuf, sizeof(pbuf), "%u", ntohs(sockaddr->type.sin.sin_port)); + snprintf(pbuf, sizeof(pbuf), "%u", + ntohs(sockaddr->type.sin.sin_port)); break; case AF_INET6: - snprintf(pbuf, sizeof(pbuf), "%u", ntohs(sockaddr->type.sin6.sin6_port)); + snprintf(pbuf, sizeof(pbuf), "%u", + ntohs(sockaddr->type.sin6.sin6_port)); break; #ifdef ISC_PLAFORM_HAVESYSUNH case AF_UNIX: @@ -170,7 +175,8 @@ isc_sockaddr_totext(const isc_sockaddr_t *sockaddr, isc_buffer_t *target) { } void -isc_sockaddr_format(const isc_sockaddr_t *sa, char *array, unsigned int size) { +isc_sockaddr_format(const isc_sockaddr_t *sa, char *array, unsigned int size) +{ isc_result_t result; isc_buffer_t buf; @@ -183,19 +189,19 @@ isc_sockaddr_format(const isc_sockaddr_t *sa, char *array, unsigned int size) { /* * The message is the same as in netaddr.c. */ - snprintf(array, size, - "", + snprintf(array, size, "", sa->type.sa.sa_family); array[size - 1] = '\0'; } } unsigned int -isc_sockaddr_hash(const isc_sockaddr_t *sockaddr, bool address_only) { - unsigned int length = 0; - const unsigned char *s = NULL; - unsigned int h = 0; - unsigned int p = 0; +isc_sockaddr_hash(const isc_sockaddr_t *sockaddr, bool address_only) +{ + unsigned int length = 0; + const unsigned char * s = NULL; + unsigned int h = 0; + unsigned int p = 0; const struct in6_addr *in6; REQUIRE(sockaddr != NULL); @@ -272,18 +278,19 @@ isc_sockaddr_fromin(isc_sockaddr_t *sockaddr, const struct in_addr *ina, } void -isc_sockaddr_anyofpf(isc_sockaddr_t *sockaddr, int pf) { - switch (pf) { - case AF_INET: - isc_sockaddr_any(sockaddr); - break; - case AF_INET6: - isc_sockaddr_any6(sockaddr); - break; - default: - INSIST(0); - ISC_UNREACHABLE(); - } +isc_sockaddr_anyofpf(isc_sockaddr_t *sockaddr, int pf) +{ + switch (pf) { + case AF_INET: + isc_sockaddr_any(sockaddr); + break; + case AF_INET6: + isc_sockaddr_any6(sockaddr); + break; + default: + INSIST(0); + ISC_UNREACHABLE(); + } } void @@ -313,8 +320,8 @@ isc_sockaddr_v6fromin(isc_sockaddr_t *sockaddr, const struct in_addr *ina, } int -isc_sockaddr_pf(const isc_sockaddr_t *sockaddr) { - +isc_sockaddr_pf(const isc_sockaddr_t *sockaddr) +{ /* * Get the protocol family of 'sockaddr'. */ @@ -331,8 +338,7 @@ isc_sockaddr_pf(const isc_sockaddr_t *sockaddr) { case AF_INET6: return (PF_INET6); default: - FATAL_ERROR(__FILE__, __LINE__, - "unknown address family: %d", + FATAL_ERROR(__FILE__, __LINE__, "unknown address family: %d", (int)sockaddr->type.sa.sa_family); } #endif @@ -364,7 +370,8 @@ isc_sockaddr_fromnetaddr(isc_sockaddr_t *sockaddr, const isc_netaddr_t *na, } void -isc_sockaddr_setport(isc_sockaddr_t *sockaddr, in_port_t port) { +isc_sockaddr_setport(isc_sockaddr_t *sockaddr, in_port_t port) +{ switch (sockaddr->type.sa.sa_family) { case AF_INET: sockaddr->type.sin.sin_port = htons(port); @@ -373,14 +380,14 @@ isc_sockaddr_setport(isc_sockaddr_t *sockaddr, in_port_t port) { sockaddr->type.sin6.sin6_port = htons(port); break; default: - FATAL_ERROR(__FILE__, __LINE__, - "unknown address family: %d", + FATAL_ERROR(__FILE__, __LINE__, "unknown address family: %d", (int)sockaddr->type.sa.sa_family); } } in_port_t -isc_sockaddr_getport(const isc_sockaddr_t *sockaddr) { +isc_sockaddr_getport(const isc_sockaddr_t *sockaddr) +{ in_port_t port = 0; switch (sockaddr->type.sa.sa_family) { @@ -391,8 +398,7 @@ isc_sockaddr_getport(const isc_sockaddr_t *sockaddr) { port = ntohs(sockaddr->type.sin6.sin6_port); break; default: - FATAL_ERROR(__FILE__, __LINE__, - "unknown address family: %d", + FATAL_ERROR(__FILE__, __LINE__, "unknown address family: %d", (int)sockaddr->type.sa.sa_family); } @@ -400,7 +406,8 @@ isc_sockaddr_getport(const isc_sockaddr_t *sockaddr) { } bool -isc_sockaddr_ismulticast(const isc_sockaddr_t *sockaddr) { +isc_sockaddr_ismulticast(const isc_sockaddr_t *sockaddr) +{ isc_netaddr_t netaddr; if (sockaddr->type.sa.sa_family == AF_INET || @@ -412,7 +419,8 @@ isc_sockaddr_ismulticast(const isc_sockaddr_t *sockaddr) { } bool -isc_sockaddr_isexperimental(const isc_sockaddr_t *sockaddr) { +isc_sockaddr_isexperimental(const isc_sockaddr_t *sockaddr) +{ isc_netaddr_t netaddr; if (sockaddr->type.sa.sa_family == AF_INET) { @@ -423,7 +431,8 @@ isc_sockaddr_isexperimental(const isc_sockaddr_t *sockaddr) { } bool -isc_sockaddr_issitelocal(const isc_sockaddr_t *sockaddr) { +isc_sockaddr_issitelocal(const isc_sockaddr_t *sockaddr) +{ isc_netaddr_t netaddr; if (sockaddr->type.sa.sa_family == AF_INET6) { @@ -434,7 +443,8 @@ isc_sockaddr_issitelocal(const isc_sockaddr_t *sockaddr) { } bool -isc_sockaddr_islinklocal(const isc_sockaddr_t *sockaddr) { +isc_sockaddr_islinklocal(const isc_sockaddr_t *sockaddr) +{ isc_netaddr_t netaddr; if (sockaddr->type.sa.sa_family == AF_INET6) { @@ -445,7 +455,8 @@ isc_sockaddr_islinklocal(const isc_sockaddr_t *sockaddr) { } bool -isc_sockaddr_isnetzero(const isc_sockaddr_t *sockaddr) { +isc_sockaddr_isnetzero(const isc_sockaddr_t *sockaddr) +{ isc_netaddr_t netaddr; if (sockaddr->type.sa.sa_family == AF_INET) { @@ -456,7 +467,8 @@ isc_sockaddr_isnetzero(const isc_sockaddr_t *sockaddr) { } isc_result_t -isc_sockaddr_frompath(isc_sockaddr_t *sockaddr, const char *path) { +isc_sockaddr_frompath(isc_sockaddr_t *sockaddr, const char *path) +{ #ifdef ISC_PLATFORM_HAVESYSUNH if (strlen(path) >= sizeof(sockaddr->type.sunix.sun_path)) return (ISC_R_NOSPACE); @@ -474,23 +486,24 @@ isc_sockaddr_frompath(isc_sockaddr_t *sockaddr, const char *path) { } isc_result_t -isc_sockaddr_fromsockaddr(isc_sockaddr_t *isa, const struct sockaddr *sa) { +isc_sockaddr_fromsockaddr(isc_sockaddr_t *isa, const struct sockaddr *sa) +{ unsigned int length = 0; switch (sa->sa_family) { - case AF_INET: - length = sizeof(isa->type.sin); - break; - case AF_INET6: - length = sizeof(isa->type.sin6); - break; + case AF_INET: + length = sizeof(isa->type.sin); + break; + case AF_INET6: + length = sizeof(isa->type.sin6); + break; #ifdef ISC_PLATFORM_HAVESYSUNH - case AF_UNIX: - length = sizeof(isa->type.sunix); - break; + case AF_UNIX: + length = sizeof(isa->type.sunix); + break; #endif - default: - return (ISC_R_NOTIMPLEMENTED); + default: + return (ISC_R_NOTIMPLEMENTED); } if (length == 0) { return (ISC_R_NOTIMPLEMENTED); diff --git a/lib/isc/stats.c b/lib/isc/stats.c index 7a4f38c9b8..d15b4323ca 100644 --- a/lib/isc/stats.c +++ b/lib/isc/stats.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -25,27 +24,28 @@ #include #include -#define ISC_STATS_MAGIC ISC_MAGIC('S', 't', 'a', 't') -#define ISC_STATS_VALID(x) ISC_MAGIC_VALID(x, ISC_STATS_MAGIC) +#define ISC_STATS_MAGIC ISC_MAGIC('S', 't', 'a', 't') +#define ISC_STATS_VALID(x) ISC_MAGIC_VALID(x, ISC_STATS_MAGIC) #if defined(_WIN32) && !defined(_WIN64) - typedef atomic_int_fast32_t isc__atomic_statcounter_t; +typedef atomic_int_fast32_t isc__atomic_statcounter_t; #else - typedef atomic_int_fast64_t isc__atomic_statcounter_t; +typedef atomic_int_fast64_t isc__atomic_statcounter_t; #endif struct isc_stats { - unsigned int magic; - isc_mem_t *mctx; - isc_refcount_t references; - int ncounters; - isc__atomic_statcounter_t *counters; + unsigned int magic; + isc_mem_t * mctx; + isc_refcount_t references; + int ncounters; + isc__atomic_statcounter_t *counters; }; static isc_result_t -create_stats(isc_mem_t *mctx, int ncounters, isc_stats_t **statsp) { +create_stats(isc_mem_t *mctx, int ncounters, isc_stats_t **statsp) +{ isc_stats_t *stats; - size_t counters_alloc_size; + size_t counters_alloc_size; REQUIRE(statsp != NULL && *statsp == NULL); @@ -64,7 +64,8 @@ create_stats(isc_mem_t *mctx, int ncounters, isc_stats_t **statsp) { } void -isc_stats_attach(isc_stats_t *stats, isc_stats_t **statsp) { +isc_stats_attach(isc_stats_t *stats, isc_stats_t **statsp) +{ REQUIRE(ISC_STATS_VALID(stats)); REQUIRE(statsp != NULL && *statsp == NULL); @@ -73,7 +74,8 @@ isc_stats_attach(isc_stats_t *stats, isc_stats_t **statsp) { } void -isc_stats_detach(isc_stats_t **statsp) { +isc_stats_detach(isc_stats_t **statsp) +{ isc_stats_t *stats; REQUIRE(statsp != NULL && ISC_STATS_VALID(*statsp)); @@ -85,27 +87,30 @@ isc_stats_detach(isc_stats_t **statsp) { isc_refcount_destroy(&stats->references); isc_mem_put(stats->mctx, stats->counters, sizeof(isc__atomic_statcounter_t) * - stats->ncounters); + stats->ncounters); isc_mem_putanddetach(&stats->mctx, stats, sizeof(*stats)); } } int -isc_stats_ncounters(isc_stats_t *stats) { +isc_stats_ncounters(isc_stats_t *stats) +{ REQUIRE(ISC_STATS_VALID(stats)); return (stats->ncounters); } isc_result_t -isc_stats_create(isc_mem_t *mctx, isc_stats_t **statsp, int ncounters) { +isc_stats_create(isc_mem_t *mctx, isc_stats_t **statsp, int ncounters) +{ REQUIRE(statsp != NULL && *statsp == NULL); return (create_stats(mctx, ncounters, statsp)); } void -isc_stats_increment(isc_stats_t *stats, isc_statscounter_t counter) { +isc_stats_increment(isc_stats_t *stats, isc_statscounter_t counter) +{ REQUIRE(ISC_STATS_VALID(stats)); REQUIRE(counter < stats->ncounters); @@ -114,7 +119,8 @@ isc_stats_increment(isc_stats_t *stats, isc_statscounter_t counter) { } void -isc_stats_decrement(isc_stats_t *stats, isc_statscounter_t counter) { +isc_stats_decrement(isc_stats_t *stats, isc_statscounter_t counter) +{ REQUIRE(ISC_STATS_VALID(stats)); REQUIRE(counter < stats->ncounters); @@ -123,8 +129,8 @@ isc_stats_decrement(isc_stats_t *stats, isc_statscounter_t counter) { } void -isc_stats_dump(isc_stats_t *stats, isc_stats_dumper_t dump_fn, - void *arg, unsigned int options) +isc_stats_dump(isc_stats_t *stats, isc_stats_dumper_t dump_fn, void *arg, + unsigned int options) { int i; @@ -141,8 +147,7 @@ isc_stats_dump(isc_stats_t *stats, isc_stats_dumper_t dump_fn, } void -isc_stats_set(isc_stats_t *stats, uint64_t val, - isc_statscounter_t counter) +isc_stats_set(isc_stats_t *stats, uint64_t val, isc_statscounter_t counter) { REQUIRE(ISC_STATS_VALID(stats)); REQUIRE(counter < stats->ncounters); @@ -151,9 +156,9 @@ isc_stats_set(isc_stats_t *stats, uint64_t val, memory_order_relaxed); } -void isc_stats_update_if_greater(isc_stats_t *stats, - isc_statscounter_t counter, - isc_statscounter_t value) +void +isc_stats_update_if_greater(isc_stats_t *stats, isc_statscounter_t counter, + isc_statscounter_t value) { REQUIRE(ISC_STATS_VALID(stats)); REQUIRE(counter < stats->ncounters); @@ -165,8 +170,7 @@ void isc_stats_update_if_greater(isc_stats_t *stats, break; } } while (!atomic_compare_exchange_strong(&stats->counters[counter], - &curr_value, - value)); + &curr_value, value)); } isc_statscounter_t @@ -176,5 +180,5 @@ isc_stats_get_counter(isc_stats_t *stats, isc_statscounter_t counter) REQUIRE(counter < stats->ncounters); return (atomic_load_explicit(&stats->counters[counter], - memory_order_relaxed)); + memory_order_relaxed)); } diff --git a/lib/isc/string.c b/lib/isc/string.c index f90f888309..98c57901c6 100644 --- a/lib/isc/string.c +++ b/lib/isc/string.c @@ -45,15 +45,15 @@ #endif #include -#include // IWYU pragma: keep +#include // IWYU pragma: keep #if !defined(HAVE_STRLCPY) size_t strlcpy(char *dst, const char *src, size_t size) { - char *d = dst; + char * d = dst; const char *s = src; - size_t n = size; + size_t n = size; /* Copy as many bytes as will fit */ if (n != 0U && --n != 0U) { @@ -67,13 +67,13 @@ strlcpy(char *dst, const char *src, size_t size) /* Not enough room in dst, add NUL and traverse rest of src */ if (n == 0U) { if (size != 0U) { - *d = '\0'; /* NUL-terminate dst */ + *d = '\0'; /* NUL-terminate dst */ } while (*s++) ; } - return(s - src - 1); /* count does not include NUL */ + return (s - src - 1); /* count does not include NUL */ } #endif /* !defined(HAVE_STRLCPY) */ @@ -81,10 +81,10 @@ strlcpy(char *dst, const char *src, size_t size) size_t strlcat(char *dst, const char *src, size_t size) { - char *d = dst; + char * d = dst; const char *s = src; - size_t n = size; - size_t dlen; + size_t n = size; + size_t dlen; /* Find the end of dst and adjust bytes left but don't go past end */ while (n-- != 0U && *d != '\0') { @@ -94,7 +94,7 @@ strlcat(char *dst, const char *src, size_t size) n = size - dlen; if (n == 0U) { - return(dlen + strlen(s)); + return (dlen + strlen(s)); } while (*s != '\0') { if (n != 1U) { @@ -105,12 +105,13 @@ strlcat(char *dst, const char *src, size_t size) } *d = '\0'; - return(dlen + (s - src)); /* count does not include NUL */ + return (dlen + (s - src)); /* count does not include NUL */ } #endif /* !defined(HAVE_STRLCAT) */ int -isc_string_strerror_r(int errnum, char *buf, size_t buflen) { +isc_string_strerror_r(int errnum, char *buf, size_t buflen) +{ #if defined(_WIN32) || defined(_WIN64) return (strerror_s(buf, buflen, errnum)); #else diff --git a/lib/isc/symtab.c b/lib/isc/symtab.c index 86fcc60dd4..08f8fcdb8c 100644 --- a/lib/isc/symtab.c +++ b/lib/isc/symtab.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -22,43 +21,41 @@ #include typedef struct elt { - char * key; - unsigned int type; - isc_symvalue_t value; - LINK(struct elt) link; + char * key; + unsigned int type; + isc_symvalue_t value; + LINK(struct elt) link; } elt_t; -typedef LIST(elt_t) eltlist_t; +typedef LIST(elt_t) eltlist_t; -#define SYMTAB_MAGIC ISC_MAGIC('S', 'y', 'm', 'T') -#define VALID_SYMTAB(st) ISC_MAGIC_VALID(st, SYMTAB_MAGIC) +#define SYMTAB_MAGIC ISC_MAGIC('S', 'y', 'm', 'T') +#define VALID_SYMTAB(st) ISC_MAGIC_VALID(st, SYMTAB_MAGIC) struct isc_symtab { /* Unlocked. */ - unsigned int magic; - isc_mem_t * mctx; - unsigned int size; - unsigned int count; - unsigned int maxload; - eltlist_t * table; - isc_symtabaction_t undefine_action; - void * undefine_arg; - bool case_sensitive; + unsigned int magic; + isc_mem_t * mctx; + unsigned int size; + unsigned int count; + unsigned int maxload; + eltlist_t * table; + isc_symtabaction_t undefine_action; + void * undefine_arg; + bool case_sensitive; }; isc_result_t isc_symtab_create(isc_mem_t *mctx, unsigned int size, - isc_symtabaction_t undefine_action, - void *undefine_arg, - bool case_sensitive, - isc_symtab_t **symtabp) + isc_symtabaction_t undefine_action, void *undefine_arg, + bool case_sensitive, isc_symtab_t **symtabp) { isc_symtab_t *symtab; - unsigned int i; + unsigned int i; REQUIRE(mctx != NULL); REQUIRE(symtabp != NULL && *symtabp == NULL); - REQUIRE(size > 0); /* Should be prime. */ + REQUIRE(size > 0); /* Should be prime. */ symtab = isc_mem_get(mctx, sizeof(*symtab)); @@ -81,10 +78,11 @@ isc_symtab_create(isc_mem_t *mctx, unsigned int size, } void -isc_symtab_destroy(isc_symtab_t **symtabp) { +isc_symtab_destroy(isc_symtab_t **symtabp) +{ isc_symtab_t *symtab; - unsigned int i; - elt_t *elt, *nelt; + unsigned int i; + elt_t * elt, *nelt; REQUIRE(symtabp != NULL); symtab = *symtabp; @@ -95,10 +93,9 @@ isc_symtab_destroy(isc_symtab_t **symtabp) { for (elt = HEAD(symtab->table[i]); elt != NULL; elt = nelt) { nelt = NEXT(elt, link); if (symtab->undefine_action != NULL) - (symtab->undefine_action)(elt->key, - elt->type, - elt->value, - symtab->undefine_arg); + (symtab->undefine_action)(elt->key, elt->type, + elt->value, + symtab->undefine_arg); isc_mem_put(symtab->mctx, elt, sizeof(*elt)); } } @@ -109,10 +106,11 @@ isc_symtab_destroy(isc_symtab_t **symtabp) { } static inline unsigned int -hash(const char *key, bool case_sensitive) { - const char *s; +hash(const char *key, bool case_sensitive) +{ + const char * s; unsigned int h = 0; - int c; + int c; /* * This hash function is similar to the one Ousterhout @@ -134,20 +132,20 @@ hash(const char *key, bool case_sensitive) { return (h); } -#define FIND(s, k, t, b, e) \ - b = hash((k), (s)->case_sensitive) % (s)->size; \ - if ((s)->case_sensitive) { \ +#define FIND(s, k, t, b, e) \ + b = hash((k), (s)->case_sensitive) % (s)->size; \ + if ((s)->case_sensitive) { \ for (e = HEAD((s)->table[b]); e != NULL; e = NEXT(e, link)) { \ - if (((t) == 0 || e->type == (t)) && \ - strcmp(e->key, (k)) == 0) \ - break; \ - } \ - } else { \ + if (((t) == 0 || e->type == (t)) && \ + strcmp(e->key, (k)) == 0) \ + break; \ + } \ + } else { \ for (e = HEAD((s)->table[b]); e != NULL; e = NEXT(e, link)) { \ - if (((t) == 0 || e->type == (t)) && \ - strcasecmp(e->key, (k)) == 0) \ - break; \ - } \ + if (((t) == 0 || e->type == (t)) && \ + strcasecmp(e->key, (k)) == 0) \ + break; \ + } \ } isc_result_t @@ -155,7 +153,7 @@ isc_symtab_lookup(isc_symtab_t *symtab, const char *key, unsigned int type, isc_symvalue_t *value) { unsigned int bucket; - elt_t *elt; + elt_t * elt; REQUIRE(VALID_SYMTAB(symtab)); REQUIRE(key != NULL); @@ -172,8 +170,9 @@ isc_symtab_lookup(isc_symtab_t *symtab, const char *key, unsigned int type, } static void -grow_table(isc_symtab_t *symtab) { - eltlist_t *newtable; +grow_table(isc_symtab_t *symtab) +{ + eltlist_t * newtable; unsigned int i, newsize, newmax; REQUIRE(symtab != NULL); @@ -214,7 +213,7 @@ isc_symtab_define(isc_symtab_t *symtab, const char *key, unsigned int type, isc_symvalue_t value, isc_symexists_t exists_policy) { unsigned int bucket; - elt_t *elt; + elt_t * elt; REQUIRE(VALID_SYMTAB(symtab)); REQUIRE(key != NULL); @@ -260,9 +259,10 @@ isc_symtab_define(isc_symtab_t *symtab, const char *key, unsigned int type, } isc_result_t -isc_symtab_undefine(isc_symtab_t *symtab, const char *key, unsigned int type) { +isc_symtab_undefine(isc_symtab_t *symtab, const char *key, unsigned int type) +{ unsigned int bucket; - elt_t *elt; + elt_t * elt; REQUIRE(VALID_SYMTAB(symtab)); REQUIRE(key != NULL); @@ -273,8 +273,8 @@ isc_symtab_undefine(isc_symtab_t *symtab, const char *key, unsigned int type) { return (ISC_R_NOTFOUND); if (symtab->undefine_action != NULL) - (symtab->undefine_action)(elt->key, elt->type, - elt->value, symtab->undefine_arg); + (symtab->undefine_action)(elt->key, elt->type, elt->value, + symtab->undefine_arg); UNLINK(symtab->table[bucket], elt, link); isc_mem_put(symtab->mctx, elt, sizeof(*elt)); symtab->count--; @@ -283,7 +283,8 @@ isc_symtab_undefine(isc_symtab_t *symtab, const char *key, unsigned int type) { } unsigned int -isc_symtab_count(isc_symtab_t *symtab) { +isc_symtab_count(isc_symtab_t *symtab) +{ REQUIRE(VALID_SYMTAB(symtab)); return (symtab->count); } diff --git a/lib/isc/task.c b/lib/isc/task.c index f4dfeaec66..b5fee67ad0 100644 --- a/lib/isc/task.c +++ b/lib/isc/task.c @@ -27,9 +27,9 @@ #include #include #include -#include #include #include +#include #include #include #include @@ -61,12 +61,13 @@ */ #ifdef ISC_TASK_TRACE -#define XTRACE(m) fprintf(stderr, "task %p thread %lu: %s\n", \ - task, isc_thread_self(), (m)) -#define XTTRACE(t, m) fprintf(stderr, "task %p thread %lu: %s\n", \ - (t), isc_thread_self(), (m)) -#define XTHREADTRACE(m) fprintf(stderr, "thread %lu: %s\n", \ - isc_thread_self(), (m)) +#define XTRACE(m) \ + fprintf(stderr, "task %p thread %lu: %s\n", task, isc_thread_self(), \ + (m)) +#define XTTRACE(t, m) \ + fprintf(stderr, "task %p thread %lu: %s\n", (t), isc_thread_self(), (m)) +#define XTHREADTRACE(m) \ + fprintf(stderr, "thread %lu: %s\n", isc_thread_self(), (m)) #else #define XTRACE(m) #define XTTRACE(t, m) @@ -78,12 +79,12 @@ ***/ typedef enum { - task_state_idle, /* not doing anything, events queue empty */ - task_state_ready, /* waiting in worker's queue */ - task_state_paused, /* not running, paused */ - task_state_pausing, /* running, waiting to be paused */ - task_state_running, /* actively processing events */ - task_state_done /* shutting down, no events or references */ + task_state_idle, /* not doing anything, events queue empty */ + task_state_ready, /* waiting in worker's queue */ + task_state_paused, /* not running, paused */ + task_state_pausing, /* running, waiting to be paused */ + task_state_running, /* actively processing events */ + task_state_done /* shutting down, no events or references */ } task_state_t; #if defined(HAVE_LIBXML2) || defined(HAVE_JSON_C) @@ -92,101 +93,99 @@ static const char *statenames[] = { }; #endif -#define TASK_MAGIC ISC_MAGIC('T', 'A', 'S', 'K') -#define VALID_TASK(t) ISC_MAGIC_VALID(t, TASK_MAGIC) +#define TASK_MAGIC ISC_MAGIC('T', 'A', 'S', 'K') +#define VALID_TASK(t) ISC_MAGIC_VALID(t, TASK_MAGIC) -typedef struct isc__task isc__task_t; -typedef struct isc__taskmgr isc__taskmgr_t; +typedef struct isc__task isc__task_t; +typedef struct isc__taskmgr isc__taskmgr_t; typedef struct isc__taskqueue isc__taskqueue_t; struct isc__task { /* Not locked. */ - isc_task_t common; - isc__taskmgr_t * manager; - isc_mutex_t lock; + isc_task_t common; + isc__taskmgr_t *manager; + isc_mutex_t lock; /* Locked by task lock. */ - task_state_t state; - isc_refcount_t references; - isc_eventlist_t events; - isc_eventlist_t on_shutdown; - unsigned int nevents; - unsigned int quantum; - isc_stdtime_t now; - isc_time_t tnow; - char name[16]; - void * tag; - unsigned int threadid; - bool bound; + task_state_t state; + isc_refcount_t references; + isc_eventlist_t events; + isc_eventlist_t on_shutdown; + unsigned int nevents; + unsigned int quantum; + isc_stdtime_t now; + isc_time_t tnow; + char name[16]; + void * tag; + unsigned int threadid; + bool bound; /* Protected by atomics */ - atomic_uint_fast32_t flags; + atomic_uint_fast32_t flags; /* Locked by task manager lock. */ - LINK(isc__task_t) link; - LINK(isc__task_t) ready_link; - LINK(isc__task_t) ready_priority_link; + LINK(isc__task_t) link; + LINK(isc__task_t) ready_link; + LINK(isc__task_t) ready_priority_link; }; -#define TASK_F_SHUTTINGDOWN 0x01 -#define TASK_F_PRIVILEGED 0x02 +#define TASK_F_SHUTTINGDOWN 0x01 +#define TASK_F_PRIVILEGED 0x02 -#define TASK_SHUTTINGDOWN(t) \ +#define TASK_SHUTTINGDOWN(t) \ ((atomic_load_acquire(&(t)->flags) & TASK_F_SHUTTINGDOWN) != 0) -#define TASK_PRIVILEGED(t) \ +#define TASK_PRIVILEGED(t) \ ((atomic_load_acquire(&(t)->flags) & TASK_F_PRIVILEGED) != 0) -#define TASK_FLAG_SET(t, f) \ - atomic_fetch_or_release(&(t)->flags, (f)) -#define TASK_FLAG_CLR(t, f) \ - atomic_fetch_and_release(&(t)->flags, ~(f)) +#define TASK_FLAG_SET(t, f) atomic_fetch_or_release(&(t)->flags, (f)) +#define TASK_FLAG_CLR(t, f) atomic_fetch_and_release(&(t)->flags, ~(f)) -#define TASK_MANAGER_MAGIC ISC_MAGIC('T', 'S', 'K', 'M') -#define VALID_MANAGER(m) ISC_MAGIC_VALID(m, TASK_MANAGER_MAGIC) +#define TASK_MANAGER_MAGIC ISC_MAGIC('T', 'S', 'K', 'M') +#define VALID_MANAGER(m) ISC_MAGIC_VALID(m, TASK_MANAGER_MAGIC) -typedef ISC_LIST(isc__task_t) isc__tasklist_t; +typedef ISC_LIST(isc__task_t) isc__tasklist_t; struct isc__taskqueue { /* Everything locked by lock */ - isc_mutex_t lock; - isc__tasklist_t ready_tasks; - isc__tasklist_t ready_priority_tasks; - isc_condition_t work_available; - isc_thread_t thread; - unsigned int threadid; - isc__taskmgr_t *manager; + isc_mutex_t lock; + isc__tasklist_t ready_tasks; + isc__tasklist_t ready_priority_tasks; + isc_condition_t work_available; + isc_thread_t thread; + unsigned int threadid; + isc__taskmgr_t *manager; }; struct isc__taskmgr { /* Not locked. */ - isc_taskmgr_t common; - isc_mem_t * mctx; - isc_mutex_t lock; - isc_mutex_t halt_lock; - isc_condition_t halt_cond; - unsigned int workers; - atomic_uint_fast32_t tasks_running; - atomic_uint_fast32_t tasks_ready; - atomic_uint_fast32_t curq; - atomic_uint_fast32_t tasks_count; - isc__taskqueue_t *queues; - isc_nm_t *nm; + isc_taskmgr_t common; + isc_mem_t * mctx; + isc_mutex_t lock; + isc_mutex_t halt_lock; + isc_condition_t halt_cond; + unsigned int workers; + atomic_uint_fast32_t tasks_running; + atomic_uint_fast32_t tasks_ready; + atomic_uint_fast32_t curq; + atomic_uint_fast32_t tasks_count; + isc__taskqueue_t * queues; + isc_nm_t * nm; /* Locked by task manager lock. */ - unsigned int default_quantum; - LIST(isc__task_t) tasks; - atomic_uint_fast32_t mode; - atomic_bool pause_req; - atomic_bool exclusive_req; - atomic_bool exiting; + unsigned int default_quantum; + LIST(isc__task_t) tasks; + atomic_uint_fast32_t mode; + atomic_bool pause_req; + atomic_bool exclusive_req; + atomic_bool exiting; /* Locked by halt_lock */ - unsigned int halted; + unsigned int halted; /* * Multiple threads can read/write 'excl' at the same time, so we need * to protect the access. We can't use 'lock' since isc_task_detach() * will try to acquire it. */ - isc_mutex_t excl_lock; - isc__task_t *excl; + isc_mutex_t excl_lock; + isc__task_t *excl; }; void @@ -194,10 +193,10 @@ isc__taskmgr_pause(isc_taskmgr_t *manager0); void isc__taskmgr_resume(isc_taskmgr_t *manager0); - -#define DEFAULT_DEFAULT_QUANTUM 25 -#define FINISHED(m) (atomic_load_relaxed(&((m)->exiting)) == true && \ - atomic_load(&(m)->tasks_count) == 0) +#define DEFAULT_DEFAULT_QUANTUM 25 +#define FINISHED(m) \ + (atomic_load_relaxed(&((m)->exiting)) == true && \ + atomic_load(&(m)->tasks_count) == 0) /*% * The following are intended for internal use (indicated by "isc__" @@ -228,7 +227,8 @@ wake_all_queues(isc__taskmgr_t *manager); ***/ static inline void -wake_all_queues(isc__taskmgr_t *manager) { +wake_all_queues(isc__taskmgr_t *manager) +{ for (unsigned int i = 0; i < manager->workers; i++) { LOCK(&manager->queues[i].lock); BROADCAST(&manager->queues[i].work_available); @@ -237,7 +237,8 @@ wake_all_queues(isc__taskmgr_t *manager) { } static void -task_finished(isc__task_t *task) { +task_finished(isc__task_t *task) +{ isc__taskmgr_t *manager = task->manager; REQUIRE(EMPTY(task->events)); REQUIRE(task->nevents == 0); @@ -279,8 +280,8 @@ isc_task_create_bound(isc_taskmgr_t *manager0, unsigned int quantum, isc_task_t **taskp, int threadid) { isc__taskmgr_t *manager = (isc__taskmgr_t *)manager0; - isc__task_t *task; - bool exiting; + isc__task_t * task; + bool exiting; REQUIRE(VALID_MANAGER(manager)); REQUIRE(taskp != NULL && *taskp == NULL); @@ -347,7 +348,8 @@ isc_task_create_bound(isc_taskmgr_t *manager0, unsigned int quantum, } void -isc_task_attach(isc_task_t *source0, isc_task_t **targetp) { +isc_task_attach(isc_task_t *source0, isc_task_t **targetp) +{ isc__task_t *source = (isc__task_t *)source0; /* @@ -365,8 +367,9 @@ isc_task_attach(isc_task_t *source0, isc_task_t **targetp) { } static inline bool -task_shutdown(isc__task_t *task) { - bool was_idle = false; +task_shutdown(isc__task_t *task) +{ + bool was_idle = false; isc_event_t *event, *prev; /* @@ -375,7 +378,7 @@ task_shutdown(isc__task_t *task) { XTRACE("task_shutdown"); - if (! TASK_SHUTTINGDOWN(task)) { + if (!TASK_SHUTTINGDOWN(task)) { XTRACE("shutting down"); TASK_FLAG_SET(task, TASK_F_SHUTTINGDOWN); if (task->state == task_state_idle) { @@ -391,8 +394,7 @@ task_shutdown(isc__task_t *task) { /* * Note that we post shutdown events LIFO. */ - for (event = TAIL(task->on_shutdown); - event != NULL; + for (event = TAIL(task->on_shutdown); event != NULL; event = prev) { prev = PREV(event, ev_link); DEQUEUE(task->on_shutdown, event, ev_link); @@ -410,9 +412,10 @@ task_shutdown(isc__task_t *task) { * Caller must NOT hold manager lock. */ static inline void -task_ready(isc__task_t *task) { +task_ready(isc__task_t *task) +{ isc__taskmgr_t *manager = task->manager; - bool has_privilege = isc_task_privilege((isc_task_t *) task); + bool has_privilege = isc_task_privilege((isc_task_t *)task); REQUIRE(VALID_MANAGER(manager)); REQUIRE(task->state == task_state_ready); @@ -421,16 +424,15 @@ task_ready(isc__task_t *task) { LOCK(&manager->queues[task->threadid].lock); push_readyq(manager, task, task->threadid); if (atomic_load(&manager->mode) == isc_taskmgrmode_normal || - has_privilege) - { + has_privilege) { SIGNAL(&manager->queues[task->threadid].work_available); } UNLOCK(&manager->queues[task->threadid].lock); } static inline bool -task_detach(isc__task_t *task) { - +task_detach(isc__task_t *task) +{ /* * Caller must be holding the task lock. */ @@ -438,8 +440,7 @@ task_detach(isc__task_t *task) { XTRACE("detach"); if (isc_refcount_decrement(&task->references) == 1 && - task->state == task_state_idle) - { + task->state == task_state_idle) { INSIST(EMPTY(task->events)); /* * There are no references to this task, and no @@ -457,9 +458,10 @@ task_detach(isc__task_t *task) { } void -isc_task_detach(isc_task_t **taskp) { +isc_task_detach(isc_task_t **taskp) +{ isc__task_t *task; - bool was_idle; + bool was_idle; /* * Detach *taskp from its task. @@ -482,8 +484,9 @@ isc_task_detach(isc_task_t **taskp) { } static inline bool -task_send(isc__task_t *task, isc_event_t **eventp, int c) { - bool was_idle = false; +task_send(isc__task_t *task, isc_event_t **eventp, int c) +{ + bool was_idle = false; isc_event_t *event; /* @@ -517,19 +520,22 @@ task_send(isc__task_t *task, isc_event_t **eventp, int c) { } void -isc_task_send(isc_task_t *task0, isc_event_t **eventp) { +isc_task_send(isc_task_t *task0, isc_event_t **eventp) +{ isc_task_sendto(task0, eventp, -1); } void -isc_task_sendanddetach(isc_task_t **taskp, isc_event_t **eventp) { +isc_task_sendanddetach(isc_task_t **taskp, isc_event_t **eventp) +{ isc_task_sendtoanddetach(taskp, eventp, -1); } void -isc_task_sendto(isc_task_t *task0, isc_event_t **eventp, int c) { +isc_task_sendto(isc_task_t *task0, isc_event_t **eventp, int c) +{ isc__task_t *task = (isc__task_t *)task0; - bool was_idle; + bool was_idle; /* * Send '*event' to 'task'. @@ -538,7 +544,6 @@ isc_task_sendto(isc_task_t *task0, isc_event_t **eventp, int c) { REQUIRE(VALID_TASK(task)); XTRACE("isc_task_send"); - /* * We're trying hard to hold locks for as short a time as possible. * We're also trying to hold as few locks as possible. This is why @@ -577,8 +582,9 @@ isc_task_sendto(isc_task_t *task0, isc_event_t **eventp, int c) { } void -isc_task_sendtoanddetach(isc_task_t **taskp, isc_event_t **eventp, int c) { - bool idle1, idle2; +isc_task_sendtoanddetach(isc_task_t **taskp, isc_event_t **eventp, int c) +{ + bool idle1, idle2; isc__task_t *task; /* @@ -616,12 +622,12 @@ isc_task_sendtoanddetach(isc_task_t **taskp, isc_event_t **eventp, int c) { *taskp = NULL; } -#define PURGE_OK(event) (((event)->ev_attributes & ISC_EVENTATTR_NOPURGE) == 0) +#define PURGE_OK(event) (((event)->ev_attributes & ISC_EVENTATTR_NOPURGE) == 0) static unsigned int dequeue_events(isc__task_t *task, void *sender, isc_eventtype_t first, - isc_eventtype_t last, void *tag, - isc_eventlist_t *events, bool purging) + isc_eventtype_t last, void *tag, isc_eventlist_t *events, + bool purging) { isc_event_t *event, *next_event; unsigned int count = 0; @@ -661,12 +667,12 @@ dequeue_events(isc__task_t *task, void *sender, isc_eventtype_t first, unsigned int isc_task_purgerange(isc_task_t *task0, void *sender, isc_eventtype_t first, - isc_eventtype_t last, void *tag) + isc_eventtype_t last, void *tag) { - isc__task_t *task = (isc__task_t *)task0; - unsigned int count; + isc__task_t * task = (isc__task_t *)task0; + unsigned int count; isc_eventlist_t events; - isc_event_t *event, *next_event; + isc_event_t * event, *next_event; REQUIRE(VALID_TASK(task)); /* @@ -677,8 +683,7 @@ isc_task_purgerange(isc_task_t *task0, void *sender, isc_eventtype_t first, ISC_LIST_INIT(events); - count = dequeue_events(task, sender, first, last, tag, &events, - true); + count = dequeue_events(task, sender, first, last, tag, &events, true); for (event = HEAD(events); event != NULL; event = next_event) { next_event = NEXT(event, ev_link); @@ -694,8 +699,7 @@ isc_task_purgerange(isc_task_t *task0, void *sender, isc_eventtype_t first, } unsigned int -isc_task_purge(isc_task_t *task, void *sender, isc_eventtype_t type, - void *tag) +isc_task_purge(isc_task_t *task, void *sender, isc_eventtype_t type, void *tag) { /* * Purge events from a task's event queue. @@ -708,7 +712,8 @@ isc_task_purge(isc_task_t *task, void *sender, isc_eventtype_t type, } bool -isc_task_purgeevent(isc_task_t *task0, isc_event_t *event) { +isc_task_purgeevent(isc_task_t *task0, isc_event_t *event) +{ isc__task_t *task = (isc__task_t *)task0; isc_event_t *curr_event, *next_event; @@ -731,8 +736,7 @@ isc_task_purgeevent(isc_task_t *task0, isc_event_t *event) { */ LOCK(&task->lock); - for (curr_event = HEAD(task->events); - curr_event != NULL; + for (curr_event = HEAD(task->events); curr_event != NULL; curr_event = next_event) { next_event = NEXT(curr_event, ev_link); if (curr_event == event && PURGE_OK(event)) { @@ -753,8 +757,7 @@ isc_task_purgeevent(isc_task_t *task0, isc_event_t *event) { unsigned int isc_task_unsendrange(isc_task_t *task, void *sender, isc_eventtype_t first, - isc_eventtype_t last, void *tag, - isc_eventlist_t *events) + isc_eventtype_t last, void *tag, isc_eventlist_t *events) { /* * Remove events from a task's event queue. @@ -763,13 +766,13 @@ isc_task_unsendrange(isc_task_t *task, void *sender, isc_eventtype_t first, XTRACE("isc_task_unsendrange"); - return (dequeue_events((isc__task_t *)task, sender, first, - last, tag, events, false)); + return (dequeue_events((isc__task_t *)task, sender, first, last, tag, + events, false)); } unsigned int -isc_task_unsend(isc_task_t *task, void *sender, isc_eventtype_t type, - void *tag, isc_eventlist_t *events) +isc_task_unsend(isc_task_t *task, void *sender, isc_eventtype_t type, void *tag, + isc_eventlist_t *events) { /* * Remove events from a task's event queue. @@ -777,16 +780,15 @@ isc_task_unsend(isc_task_t *task, void *sender, isc_eventtype_t type, XTRACE("isc_task_unsend"); - return (dequeue_events((isc__task_t *)task, sender, type, - type, tag, events, false)); + return (dequeue_events((isc__task_t *)task, sender, type, type, tag, + events, false)); } isc_result_t -isc_task_onshutdown(isc_task_t *task0, isc_taskaction_t action, - void *arg) +isc_task_onshutdown(isc_task_t *task0, isc_taskaction_t action, void *arg) { isc__task_t *task = (isc__task_t *)task0; - bool disallowed = false; + bool disallowed = false; isc_result_t result = ISC_R_SUCCESS; isc_event_t *event; @@ -798,11 +800,8 @@ isc_task_onshutdown(isc_task_t *task0, isc_taskaction_t action, REQUIRE(VALID_TASK(task)); REQUIRE(action != NULL); - event = isc_event_allocate(task->manager->mctx, - NULL, - ISC_TASKEVENT_SHUTDOWN, - action, - arg, + event = isc_event_allocate(task->manager->mctx, NULL, + ISC_TASKEVENT_SHUTDOWN, action, arg, sizeof(*event)); if (TASK_SHUTTINGDOWN(task)) { @@ -821,9 +820,10 @@ isc_task_onshutdown(isc_task_t *task0, isc_taskaction_t action, } void -isc_task_shutdown(isc_task_t *task0) { +isc_task_shutdown(isc_task_t *task0) +{ isc__task_t *task = (isc__task_t *)task0; - bool was_idle; + bool was_idle; /* * Shutdown 'task'. @@ -840,8 +840,8 @@ isc_task_shutdown(isc_task_t *task0) { } void -isc_task_destroy(isc_task_t **taskp) { - +isc_task_destroy(isc_task_t **taskp) +{ /* * Destroy '*taskp'. */ @@ -853,7 +853,8 @@ isc_task_destroy(isc_task_t **taskp) { } void -isc_task_setname(isc_task_t *task0, const char *name, void *tag) { +isc_task_setname(isc_task_t *task0, const char *name, void *tag) +{ isc__task_t *task = (isc__task_t *)task0; /* @@ -868,9 +869,9 @@ isc_task_setname(isc_task_t *task0, const char *name, void *tag) { UNLOCK(&task->lock); } - const char * -isc_task_getname(isc_task_t *task0) { +isc_task_getname(isc_task_t *task0) +{ isc__task_t *task = (isc__task_t *)task0; REQUIRE(VALID_TASK(task)); @@ -879,7 +880,8 @@ isc_task_getname(isc_task_t *task0) { } void * -isc_task_gettag(isc_task_t *task0) { +isc_task_gettag(isc_task_t *task0) +{ isc__task_t *task = (isc__task_t *)task0; REQUIRE(VALID_TASK(task)); @@ -888,7 +890,8 @@ isc_task_gettag(isc_task_t *task0) { } void -isc_task_getcurrenttime(isc_task_t *task0, isc_stdtime_t *t) { +isc_task_getcurrenttime(isc_task_t *task0, isc_stdtime_t *t) +{ isc__task_t *task = (isc__task_t *)task0; REQUIRE(VALID_TASK(task)); @@ -900,7 +903,8 @@ isc_task_getcurrenttime(isc_task_t *task0, isc_stdtime_t *t) { } void -isc_task_getcurrenttimex(isc_task_t *task0, isc_time_t *t) { +isc_task_getcurrenttimex(isc_task_t *task0, isc_time_t *t) +{ isc__task_t *task = (isc__task_t *)task0; REQUIRE(VALID_TASK(task)); @@ -923,7 +927,8 @@ isc_task_getcurrenttimex(isc_task_t *task0, isc_time_t *t) { * Caller must hold the task manager lock. */ static inline bool -empty_readyq(isc__taskmgr_t *manager, int c) { +empty_readyq(isc__taskmgr_t *manager, int c) +{ isc__tasklist_t queue; if (atomic_load_relaxed(&manager->mode) == isc_taskmgrmode_normal) { @@ -943,7 +948,8 @@ empty_readyq(isc__taskmgr_t *manager, int c) { * Caller must hold the task manager lock. */ static inline isc__task_t * -pop_readyq(isc__taskmgr_t *manager, int c) { +pop_readyq(isc__taskmgr_t *manager, int c) +{ isc__task_t *task; if (atomic_load_relaxed(&manager->mode) == isc_taskmgrmode_normal) { @@ -970,7 +976,8 @@ pop_readyq(isc__taskmgr_t *manager, int c) { * Caller must hold the task manager lock. */ static inline void -push_readyq(isc__taskmgr_t *manager, isc__task_t *task, int c) { +push_readyq(isc__taskmgr_t *manager, isc__task_t *task, int c) +{ ENQUEUE(manager->queues[c].ready_tasks, task, ready_link); if (TASK_PRIVILEGED(task)) { ENQUEUE(manager->queues[c].ready_priority_tasks, task, @@ -981,7 +988,8 @@ push_readyq(isc__taskmgr_t *manager, isc__task_t *task, int c) { } static void -dispatch(isc__taskmgr_t *manager, unsigned int threadid) { +dispatch(isc__taskmgr_t *manager, unsigned int threadid) +{ isc__task_t *task; REQUIRE(VALID_MANAGER(manager)); @@ -1055,15 +1063,15 @@ dispatch(isc__taskmgr_t *manager, unsigned int threadid) { while ((empty_readyq(manager, threadid) && !atomic_load_relaxed(&manager->pause_req) && !atomic_load_relaxed(&manager->exclusive_req)) && - !FINISHED(manager)) - { + !FINISHED(manager)) { XTHREADTRACE("wait"); XTHREADTRACE(atomic_load_relaxed(&manager->pause_req) - ? "paused" - : "notpaused"); - XTHREADTRACE(atomic_load_relaxed(&manager->exclusive_req) - ? "excreq" - : "notexcreq"); + ? "paused" + : "notpaused"); + XTHREADTRACE( + atomic_load_relaxed(&manager->exclusive_req) + ? "excreq" + : "notexcreq"); WAIT(&manager->queues[threadid].work_available, &manager->queues[threadid].lock); XTHREADTRACE("awake"); @@ -1092,8 +1100,7 @@ dispatch(isc__taskmgr_t *manager, unsigned int threadid) { manager->halted++; BROADCAST(&manager->halt_cond); while (atomic_load_relaxed(&manager->pause_req) || - atomic_load_relaxed(&manager->exclusive_req)) - { + atomic_load_relaxed(&manager->exclusive_req)) { WAIT(&manager->halt_cond, &manager->halt_lock); } manager->halted--; @@ -1108,9 +1115,9 @@ dispatch(isc__taskmgr_t *manager, unsigned int threadid) { task = pop_readyq(manager, threadid); if (task != NULL) { unsigned int dispatch_count = 0; - bool done = false; - bool requeue = false; - bool finished = false; + bool done = false; + bool requeue = false; + bool finished = false; isc_event_t *event; INSIST(VALID_TASK(task)); @@ -1121,9 +1128,9 @@ dispatch(isc__taskmgr_t *manager, unsigned int threadid) { * lock before exiting the 'if (task != NULL)' block. */ UNLOCK(&manager->queues[threadid].lock); - RUNTIME_CHECK( - atomic_fetch_sub_explicit(&manager->tasks_ready, - 1, memory_order_release) > 0); + RUNTIME_CHECK(atomic_fetch_sub_explicit( + &manager->tasks_ready, 1, + memory_order_release) > 0); atomic_fetch_add_explicit(&manager->tasks_running, 1, memory_order_acquire); @@ -1156,11 +1163,10 @@ dispatch(isc__taskmgr_t *manager, unsigned int threadid) { dispatch_count++; } - if (isc_refcount_current( - &task->references) == 0 && + if (isc_refcount_current(&task->references) == + 0 && EMPTY(task->events) && - !TASK_SHUTTINGDOWN(task)) - { + !TASK_SHUTTINGDOWN(task)) { bool was_idle; /* @@ -1196,9 +1202,8 @@ dispatch(isc__taskmgr_t *manager, unsigned int threadid) { */ XTRACE("empty"); if (isc_refcount_current( - &task->references) == 0 && - TASK_SHUTTINGDOWN(task)) - { + &task->references) == 0 && + TASK_SHUTTINGDOWN(task)) { /* * The task is done. */ @@ -1208,10 +1213,12 @@ dispatch(isc__taskmgr_t *manager, unsigned int threadid) { } else { if (task->state == task_state_running) { - task->state = task_state_idle; + task->state = + task_state_idle; } else if (task->state == task_state_pausing) { - task->state = task_state_paused; + task->state = + task_state_paused; } } done = true; @@ -1246,9 +1253,9 @@ dispatch(isc__taskmgr_t *manager, unsigned int threadid) { if (finished) task_finished(task); - RUNTIME_CHECK( - atomic_fetch_sub_explicit(&manager->tasks_running, - 1, memory_order_release) > 0); + RUNTIME_CHECK(atomic_fetch_sub_explicit( + &manager->tasks_running, 1, + memory_order_release) > 0); LOCK(&manager->queues[threadid].lock); if (requeue) { /* @@ -1281,10 +1288,9 @@ dispatch(isc__taskmgr_t *manager, unsigned int threadid) { * point and continue with the regular ready queue. */ if (atomic_load_relaxed(&manager->mode) != - isc_taskmgrmode_normal && + isc_taskmgrmode_normal && atomic_load_explicit(&manager->tasks_running, - memory_order_acquire) == 0) - { + memory_order_acquire) == 0) { UNLOCK(&manager->queues[threadid].lock); LOCK(&manager->lock); /* @@ -1295,14 +1301,13 @@ dispatch(isc__taskmgr_t *manager, unsigned int threadid) { * */ if (atomic_load(&manager->mode) != - isc_taskmgrmode_normal && + isc_taskmgrmode_normal && atomic_load_explicit(&manager->tasks_running, - memory_order_acquire) == 0) - { - bool empty = true; + memory_order_acquire) == 0) { + bool empty = true; unsigned int i; - for (i = 0; i < manager->workers && empty; i++) - { + for (i = 0; i < manager->workers && empty; + i++) { LOCK(&manager->queues[i].lock); empty &= empty_readyq(manager, i); UNLOCK(&manager->queues[i].lock); @@ -1327,12 +1332,13 @@ dispatch(isc__taskmgr_t *manager, unsigned int threadid) { static isc_threadresult_t #ifdef _WIN32 -WINAPI + WINAPI #endif -run(void *queuep) { + run(void *queuep) +{ isc__taskqueue_t *tq = queuep; - isc__taskmgr_t *manager = tq->manager; - int threadid = tq->threadid; + isc__taskmgr_t * manager = tq->manager; + int threadid = tq->threadid; isc_thread_setaffinity(threadid); XTHREADTRACE("starting"); @@ -1349,7 +1355,8 @@ run(void *queuep) { } static void -manager_free(isc__taskmgr_t *manager) { +manager_free(isc__taskmgr_t *manager) +{ for (unsigned int i = 0; i < manager->workers; i++) { isc_mutex_destroy(&manager->queues[i].lock); } @@ -1364,10 +1371,10 @@ manager_free(isc__taskmgr_t *manager) { isc_result_t isc_taskmgr_create(isc_mem_t *mctx, unsigned int workers, - unsigned int default_quantum, - isc_nm_t *nm, isc_taskmgr_t **managerp) + unsigned int default_quantum, isc_nm_t *nm, + isc_taskmgr_t **managerp) { - unsigned int i; + unsigned int i; isc__taskmgr_t *manager; /* @@ -1378,10 +1385,8 @@ isc_taskmgr_create(isc_mem_t *mctx, unsigned int workers, REQUIRE(managerp != NULL && *managerp == NULL); manager = isc_mem_get(mctx, sizeof(*manager)); - *manager = (isc__taskmgr_t) { - .common.impmagic = TASK_MANAGER_MAGIC, - .common.magic = ISCAPI_TASKMGR_MAGIC - }; + *manager = (isc__taskmgr_t){ .common.impmagic = TASK_MANAGER_MAGIC, + .common.magic = ISCAPI_TASKMGR_MAGIC }; atomic_store(&manager->mode, isc_taskmgrmode_normal); isc_mutex_init(&manager->lock); @@ -1403,8 +1408,7 @@ isc_taskmgr_create(isc_mem_t *mctx, unsigned int workers, INIT_LIST(manager->tasks); atomic_store(&manager->tasks_count, 0); - manager->queues = isc_mem_get(mctx, - workers * sizeof(isc__taskqueue_t)); + manager->queues = isc_mem_get(mctx, workers * sizeof(isc__taskqueue_t)); RUNTIME_CHECK(manager->queues != NULL); atomic_init(&manager->tasks_running, 0); @@ -1444,11 +1448,12 @@ isc_taskmgr_create(isc_mem_t *mctx, unsigned int workers, } void -isc_taskmgr_destroy(isc_taskmgr_t **managerp) { +isc_taskmgr_destroy(isc_taskmgr_t **managerp) +{ isc__taskmgr_t *manager; - isc__task_t *task; - unsigned int i; - bool exiting; + isc__task_t * task; + unsigned int i; + bool exiting; /* * Destroy '*managerp'. @@ -1472,7 +1477,7 @@ isc_taskmgr_destroy(isc_taskmgr_t **managerp) { */ LOCK(&manager->excl_lock); if (manager->excl != NULL) - isc_task_detach((isc_task_t **) &manager->excl); + isc_task_detach((isc_task_t **)&manager->excl); UNLOCK(&manager->excl_lock); /* @@ -1491,8 +1496,8 @@ isc_taskmgr_destroy(isc_taskmgr_t **managerp) { */ exiting = false; - INSIST(!!atomic_compare_exchange_strong(&manager->exiting, - &exiting, true)); + INSIST(!!atomic_compare_exchange_strong(&manager->exiting, &exiting, + true)); /* * If privileged mode was on, turn it off. @@ -1504,8 +1509,7 @@ isc_taskmgr_destroy(isc_taskmgr_t **managerp) { * posted). To make things easier post idle tasks to worker 0. */ LOCK(&manager->queues[0].lock); - for (task = HEAD(manager->tasks); - task != NULL; + for (task = HEAD(manager->tasks); task != NULL; task = NEXT(task, link)) { LOCK(&task->lock); if (task_shutdown(task)) { @@ -1544,20 +1548,23 @@ isc_taskmgr_destroy(isc_taskmgr_t **managerp) { } void -isc_taskmgr_setprivilegedmode(isc_taskmgr_t *manager0) { +isc_taskmgr_setprivilegedmode(isc_taskmgr_t *manager0) +{ isc__taskmgr_t *manager = (isc__taskmgr_t *)manager0; atomic_store(&manager->mode, isc_taskmgrmode_privileged); } isc_taskmgrmode_t -isc_taskmgr_mode(isc_taskmgr_t *manager0) { +isc_taskmgr_mode(isc_taskmgr_t *manager0) +{ isc__taskmgr_t *manager = (isc__taskmgr_t *)manager0; return (atomic_load(&manager->mode)); } void -isc__taskmgr_pause(isc_taskmgr_t *manager0) { +isc__taskmgr_pause(isc_taskmgr_t *manager0) +{ isc__taskmgr_t *manager = (isc__taskmgr_t *)manager0; LOCK(&manager->halt_lock); @@ -1578,7 +1585,8 @@ isc__taskmgr_pause(isc_taskmgr_t *manager0) { } void -isc__taskmgr_resume(isc_taskmgr_t *manager0) { +isc__taskmgr_resume(isc_taskmgr_t *manager0) +{ isc__taskmgr_t *manager = (isc__taskmgr_t *)manager0; LOCK(&manager->halt_lock); if (atomic_load(&manager->pause_req)) { @@ -1592,30 +1600,32 @@ isc__taskmgr_resume(isc_taskmgr_t *manager0) { } void -isc_taskmgr_setexcltask(isc_taskmgr_t *mgr0, isc_task_t *task0) { - isc__taskmgr_t *mgr = (isc__taskmgr_t *) mgr0; - isc__task_t *task = (isc__task_t *) task0; +isc_taskmgr_setexcltask(isc_taskmgr_t *mgr0, isc_task_t *task0) +{ + isc__taskmgr_t *mgr = (isc__taskmgr_t *)mgr0; + isc__task_t * task = (isc__task_t *)task0; REQUIRE(VALID_MANAGER(mgr)); REQUIRE(VALID_TASK(task)); LOCK(&mgr->excl_lock); if (mgr->excl != NULL) - isc_task_detach((isc_task_t **) &mgr->excl); - isc_task_attach(task0, (isc_task_t **) &mgr->excl); + isc_task_detach((isc_task_t **)&mgr->excl); + isc_task_attach(task0, (isc_task_t **)&mgr->excl); UNLOCK(&mgr->excl_lock); } isc_result_t -isc_taskmgr_excltask(isc_taskmgr_t *mgr0, isc_task_t **taskp) { - isc__taskmgr_t *mgr = (isc__taskmgr_t *) mgr0; - isc_result_t result = ISC_R_SUCCESS; +isc_taskmgr_excltask(isc_taskmgr_t *mgr0, isc_task_t **taskp) +{ + isc__taskmgr_t *mgr = (isc__taskmgr_t *)mgr0; + isc_result_t result = ISC_R_SUCCESS; REQUIRE(VALID_MANAGER(mgr)); REQUIRE(taskp != NULL && *taskp == NULL); LOCK(&mgr->excl_lock); if (mgr->excl != NULL) - isc_task_attach((isc_task_t *) mgr->excl, taskp); + isc_task_attach((isc_task_t *)mgr->excl, taskp); else result = ISC_R_NOTFOUND; UNLOCK(&mgr->excl_lock); @@ -1624,8 +1634,9 @@ isc_taskmgr_excltask(isc_taskmgr_t *mgr0, isc_task_t **taskp) { } isc_result_t -isc_task_beginexclusive(isc_task_t *task0) { - isc__task_t *task = (isc__task_t *)task0; +isc_task_beginexclusive(isc_task_t *task0) +{ + isc__task_t * task = (isc__task_t *)task0; isc__taskmgr_t *manager; REQUIRE(VALID_TASK(task)); @@ -1637,7 +1648,7 @@ isc_task_beginexclusive(isc_task_t *task0) { LOCK(&manager->excl_lock); REQUIRE(task == task->manager->excl || (atomic_load_relaxed(&task->manager->exiting) && - task->manager->excl == NULL)); + task->manager->excl == NULL)); UNLOCK(&manager->excl_lock); if (atomic_load_relaxed(&manager->exclusive_req) || @@ -1661,8 +1672,9 @@ isc_task_beginexclusive(isc_task_t *task0) { } void -isc_task_endexclusive(isc_task_t *task0) { - isc__task_t *task = (isc__task_t *)task0; +isc_task_endexclusive(isc_task_t *task0) +{ + isc__task_t * task = (isc__task_t *)task0; isc__taskmgr_t *manager; REQUIRE(VALID_TASK(task)); @@ -1683,11 +1695,12 @@ isc_task_endexclusive(isc_task_t *task0) { } void -isc_task_pause(isc_task_t *task0) { +isc_task_pause(isc_task_t *task0) +{ REQUIRE(ISCAPI_TASK_VALID(task0)); - isc__task_t *task = (isc__task_t *)task0; + isc__task_t * task = (isc__task_t *)task0; isc__taskmgr_t *manager = task->manager; - bool running = false; + bool running = false; LOCK(&task->lock); INSIST(task->state == task_state_idle || @@ -1707,16 +1720,17 @@ isc_task_pause(isc_task_t *task0) { LOCK(&manager->queues[task->threadid].lock); if (ISC_LINK_LINKED(task, ready_link)) { - DEQUEUE(manager->queues[task->threadid].ready_tasks, - task, ready_link); + DEQUEUE(manager->queues[task->threadid].ready_tasks, task, + ready_link); } UNLOCK(&manager->queues[task->threadid].lock); } void -isc_task_unpause(isc_task_t *task0) { +isc_task_unpause(isc_task_t *task0) +{ isc__task_t *task = (isc__task_t *)task0; - bool was_idle = false; + bool was_idle = false; REQUIRE(ISCAPI_TASK_VALID(task0)); @@ -1741,11 +1755,12 @@ isc_task_unpause(isc_task_t *task0) { } void -isc_task_setprivilege(isc_task_t *task0, bool priv) { +isc_task_setprivilege(isc_task_t *task0, bool priv) +{ REQUIRE(ISCAPI_TASK_VALID(task0)); - isc__task_t *task = (isc__task_t *)task0; + isc__task_t * task = (isc__task_t *)task0; isc__taskmgr_t *manager = task->manager; - uint_fast32_t oldflags, newflags; + uint_fast32_t oldflags, newflags; oldflags = atomic_load_acquire(&task->flags); do { @@ -1757,8 +1772,7 @@ isc_task_setprivilege(isc_task_t *task0, bool priv) { if (newflags == oldflags) { return; } - } while (!atomic_compare_exchange_weak_acq_rel(&task->flags, - &oldflags, + } while (!atomic_compare_exchange_weak_acq_rel(&task->flags, &oldflags, newflags)); LOCK(&manager->queues[task->threadid].lock); @@ -1772,7 +1786,8 @@ isc_task_setprivilege(isc_task_t *task0, bool priv) { } bool -isc_task_privilege(isc_task_t *task0) { +isc_task_privilege(isc_task_t *task0) +{ isc__task_t *task = (isc__task_t *)task0; REQUIRE(VALID_TASK(task)); @@ -1780,21 +1795,27 @@ isc_task_privilege(isc_task_t *task0) { } bool -isc_task_exiting(isc_task_t *t) { +isc_task_exiting(isc_task_t *t) +{ isc__task_t *task = (isc__task_t *)t; REQUIRE(VALID_TASK(task)); return (TASK_SHUTTINGDOWN(task)); } - #ifdef HAVE_LIBXML2 -#define TRY0(a) do { xmlrc = (a); if (xmlrc < 0) goto error; } while(0) +#define TRY0(a) \ + do { \ + xmlrc = (a); \ + if (xmlrc < 0) \ + goto error; \ + } while (0) int -isc_taskmgr_renderxml(isc_taskmgr_t *mgr0, void *writer0) { - isc__taskmgr_t *mgr = (isc__taskmgr_t *)mgr0; - isc__task_t *task = NULL; - int xmlrc; +isc_taskmgr_renderxml(isc_taskmgr_t *mgr0, void *writer0) +{ + isc__taskmgr_t * mgr = (isc__taskmgr_t *)mgr0; + isc__task_t * task = NULL; + int xmlrc; xmlTextWriterPtr writer = (xmlTextWriterPtr)writer0; LOCK(&mgr->lock); @@ -1818,18 +1839,18 @@ isc_taskmgr_renderxml(isc_taskmgr_t *mgr0, void *writer0) { TRY0(xmlTextWriterEndElement(writer)); /* default-quantum */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "tasks-count")); - TRY0(xmlTextWriterWriteFormatString(writer, "%d", - (int) atomic_load_relaxed(&mgr->tasks_count))); + TRY0(xmlTextWriterWriteFormatString( + writer, "%d", (int)atomic_load_relaxed(&mgr->tasks_count))); TRY0(xmlTextWriterEndElement(writer)); /* tasks-count */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "tasks-running")); - TRY0(xmlTextWriterWriteFormatString(writer, "%d", - (int) atomic_load_relaxed(&mgr->tasks_running))); + TRY0(xmlTextWriterWriteFormatString( + writer, "%d", (int)atomic_load_relaxed(&mgr->tasks_running))); TRY0(xmlTextWriterEndElement(writer)); /* tasks-running */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "tasks-ready")); - TRY0(xmlTextWriterWriteFormatString(writer, "%d", - (int) atomic_load_relaxed(&mgr->tasks_ready))); + TRY0(xmlTextWriterWriteFormatString( + writer, "%d", (int)atomic_load_relaxed(&mgr->tasks_ready))); TRY0(xmlTextWriterEndElement(writer)); /* tasks-ready */ TRY0(xmlTextWriterEndElement(writer)); /* thread-model */ @@ -1844,14 +1865,15 @@ isc_taskmgr_renderxml(isc_taskmgr_t *mgr0, void *writer0) { TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "name")); TRY0(xmlTextWriterWriteFormatString(writer, "%s", - task->name)); + task->name)); TRY0(xmlTextWriterEndElement(writer)); /* name */ } - TRY0(xmlTextWriterStartElement(writer, - ISC_XMLCHAR "references")); - TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIuFAST32, - isc_refcount_current(&task->references))); + TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "reference" + "s")); + TRY0(xmlTextWriterWriteFormatString( + writer, "%" PRIuFAST32, + isc_refcount_current(&task->references))); TRY0(xmlTextWriterEndElement(writer)); /* references */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "id")); @@ -1860,7 +1882,7 @@ isc_taskmgr_renderxml(isc_taskmgr_t *mgr0, void *writer0) { TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "state")); TRY0(xmlTextWriterWriteFormatString(writer, "%s", - statenames[task->state])); + statenames[task->state])); TRY0(xmlTextWriterEndElement(writer)); /* state */ TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "quantum")); @@ -1880,7 +1902,7 @@ isc_taskmgr_renderxml(isc_taskmgr_t *mgr0, void *writer0) { } TRY0(xmlTextWriterEndElement(writer)); /* tasks */ - error: +error: if (task != NULL) UNLOCK(&task->lock); UNLOCK(&mgr->lock); @@ -1890,20 +1912,22 @@ isc_taskmgr_renderxml(isc_taskmgr_t *mgr0, void *writer0) { #endif /* HAVE_LIBXML2 */ #ifdef HAVE_JSON_C -#define CHECKMEM(m) do { \ - if (m == NULL) { \ - result = ISC_R_NOMEMORY;\ - goto error;\ - } \ -} while(0) +#define CHECKMEM(m) \ + do { \ + if (m == NULL) { \ + result = ISC_R_NOMEMORY; \ + goto error; \ + } \ + } while (0) isc_result_t -isc_taskmgr_renderjson(isc_taskmgr_t *mgr0, void *tasks0) { - isc_result_t result = ISC_R_SUCCESS; +isc_taskmgr_renderjson(isc_taskmgr_t *mgr0, void *tasks0) +{ + isc_result_t result = ISC_R_SUCCESS; isc__taskmgr_t *mgr = (isc__taskmgr_t *)mgr0; - isc__task_t *task = NULL; - json_object *obj = NULL, *array = NULL, *taskobj = NULL; - json_object *tasks = (json_object *)tasks0; + isc__task_t * task = NULL; + json_object * obj = NULL, *array = NULL, *taskobj = NULL; + json_object * tasks = (json_object *)tasks0; LOCK(&mgr->lock); @@ -1938,10 +1962,8 @@ isc_taskmgr_renderjson(isc_taskmgr_t *mgr0, void *tasks0) { array = json_object_new_array(); CHECKMEM(array); - for (task = ISC_LIST_HEAD(mgr->tasks); - task != NULL; - task = ISC_LIST_NEXT(task, link)) - { + for (task = ISC_LIST_HEAD(mgr->tasks); task != NULL; + task = ISC_LIST_NEXT(task, link)) { char buf[255]; LOCK(&task->lock); @@ -1961,7 +1983,8 @@ isc_taskmgr_renderjson(isc_taskmgr_t *mgr0, void *tasks0) { json_object_object_add(taskobj, "name", obj); } - obj = json_object_new_int(isc_refcount_current(&task->references)); + obj = json_object_new_int( + isc_refcount_current(&task->references)); CHECKMEM(obj); json_object_object_add(taskobj, "references", obj); @@ -1984,7 +2007,7 @@ isc_taskmgr_renderjson(isc_taskmgr_t *mgr0, void *tasks0) { array = NULL; result = ISC_R_SUCCESS; - error: +error: if (array != NULL) json_object_put(array); @@ -1996,11 +2019,9 @@ isc_taskmgr_renderjson(isc_taskmgr_t *mgr0, void *tasks0) { } #endif - isc_result_t -isc_taskmgr_createinctx(isc_mem_t *mctx, - unsigned int workers, unsigned int default_quantum, - isc_taskmgr_t **managerp) +isc_taskmgr_createinctx(isc_mem_t *mctx, unsigned int workers, + unsigned int default_quantum, isc_taskmgr_t **managerp) { isc_result_t result; diff --git a/lib/isc/task_p.h b/lib/isc/task_p.h index b3da61f421..4b4b357330 100644 --- a/lib/isc/task_p.h +++ b/lib/isc/task_p.h @@ -23,5 +23,4 @@ isc__taskmgr_pause(isc_taskmgr_t *taskmgr); void isc__taskmgr_resume(isc_taskmgr_t *taskmgr); - #endif /* ISC_TASK_P_H */ diff --git a/lib/isc/taskpool.c b/lib/isc/taskpool.c index 95a4958e21..111bcb085e 100644 --- a/lib/isc/taskpool.c +++ b/lib/isc/taskpool.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -24,11 +23,11 @@ ***/ struct isc_taskpool { - isc_mem_t * mctx; - isc_taskmgr_t * tmgr; - unsigned int ntasks; - unsigned int quantum; - isc_task_t ** tasks; + isc_mem_t * mctx; + isc_taskmgr_t *tmgr; + unsigned int ntasks; + unsigned int quantum; + isc_task_t ** tasks; }; /*** @@ -40,7 +39,7 @@ alloc_pool(isc_taskmgr_t *tmgr, isc_mem_t *mctx, unsigned int ntasks, unsigned int quantum, isc_taskpool_t **poolp) { isc_taskpool_t *pool; - unsigned int i; + unsigned int i; pool = isc_mem_get(mctx, sizeof(*pool)); @@ -58,13 +57,12 @@ alloc_pool(isc_taskmgr_t *tmgr, isc_mem_t *mctx, unsigned int ntasks, } isc_result_t -isc_taskpool_create(isc_taskmgr_t *tmgr, isc_mem_t *mctx, - unsigned int ntasks, unsigned int quantum, - isc_taskpool_t **poolp) +isc_taskpool_create(isc_taskmgr_t *tmgr, isc_mem_t *mctx, unsigned int ntasks, + unsigned int quantum, isc_taskpool_t **poolp) { - unsigned int i; + unsigned int i; isc_taskpool_t *pool = NULL; - isc_result_t result; + isc_result_t result; INSIST(ntasks > 0); @@ -86,12 +84,14 @@ isc_taskpool_create(isc_taskmgr_t *tmgr, isc_mem_t *mctx, } void -isc_taskpool_gettask(isc_taskpool_t *pool, isc_task_t **targetp) { +isc_taskpool_gettask(isc_taskpool_t *pool, isc_task_t **targetp) +{ isc_task_attach(pool->tasks[isc_random_uniform(pool->ntasks)], targetp); } int -isc_taskpool_size(isc_taskpool_t *pool) { +isc_taskpool_size(isc_taskpool_t *pool) +{ REQUIRE(pool != NULL); return (pool->ntasks); } @@ -100,7 +100,7 @@ isc_result_t isc_taskpool_expand(isc_taskpool_t **sourcep, unsigned int size, isc_taskpool_t **targetp) { - isc_result_t result; + isc_result_t result; isc_taskpool_t *pool; REQUIRE(sourcep != NULL && *sourcep != NULL); @@ -110,11 +110,11 @@ isc_taskpool_expand(isc_taskpool_t **sourcep, unsigned int size, *sourcep = NULL; if (size > pool->ntasks) { isc_taskpool_t *newpool = NULL; - unsigned int i; + unsigned int i; /* Allocate a new pool structure */ - alloc_pool(pool->tmgr, pool->mctx, size, - pool->quantum, &newpool); + alloc_pool(pool->tmgr, pool->mctx, size, pool->quantum, + &newpool); /* Copy over the tasks from the old pool */ for (i = 0; i < pool->ntasks; i++) { @@ -143,8 +143,9 @@ isc_taskpool_expand(isc_taskpool_t **sourcep, unsigned int size, } void -isc_taskpool_destroy(isc_taskpool_t **poolp) { - unsigned int i; +isc_taskpool_destroy(isc_taskpool_t **poolp) +{ + unsigned int i; isc_taskpool_t *pool = *poolp; *poolp = NULL; for (i = 0; i < pool->ntasks; i++) { @@ -157,7 +158,8 @@ isc_taskpool_destroy(isc_taskpool_t **poolp) { } void -isc_taskpool_setprivilege(isc_taskpool_t *pool, bool priv) { +isc_taskpool_setprivilege(isc_taskpool_t *pool, bool priv) +{ unsigned int i; REQUIRE(pool != NULL); diff --git a/lib/isc/tests/aes_test.c b/lib/isc/tests/aes_test.c index a5653ec9a6..5a136732b0 100644 --- a/lib/isc/tests/aes_test.c +++ b/lib/isc/tests/aes_test.c @@ -11,10 +11,9 @@ #if HAVE_CMOCKA +#include #include #include -#include - #include #include #include @@ -42,12 +41,13 @@ fromhexstr(const char *in, unsigned char *d); unsigned char plaintext[3 * ISC_AES_BLOCK_LENGTH]; unsigned char ciphertext[ISC_AES_BLOCK_LENGTH]; -char str[2 * ISC_AES_BLOCK_LENGTH + 1]; +char str[2 * ISC_AES_BLOCK_LENGTH + 1]; unsigned char key[ISC_AES256_KEYLENGTH + 1]; -size_t len; +size_t len; isc_result_t -tohexstr(unsigned char *d, char *out) { +tohexstr(unsigned char *d, char *out) +{ isc_buffer_t b; isc_region_t r; @@ -58,7 +58,8 @@ tohexstr(unsigned char *d, char *out) { } size_t -fromhexstr(const char *in, unsigned char *d) { +fromhexstr(const char *in, unsigned char *d) +{ isc_buffer_t b; isc_result_t ret; @@ -78,45 +79,33 @@ typedef struct aes_testcase { /* AES 128 test vectors */ static void -isc_aes128_test(void **state) { - aes_testcase_t testcases[] = { - /* Test 1 (KAT ECBVarTxt128 #3) */ - { - "00000000000000000000000000000000", - "F0000000000000000000000000000000", - "96D9FD5CC4F07441727DF0F33E401A36" - }, - /* Test 2 (KAT ECBVarTxt128 #123) */ - { - "00000000000000000000000000000000", - "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0", - "F9B0FDA0C4A898F5B9E6F661C4CE4D07" - }, - /* Test 3 (KAT ECBVarKey128 #3) */ - { - "F0000000000000000000000000000000", - "00000000000000000000000000000000", - "970014D634E2B7650777E8E84D03CCD8" - }, - /* Test 4 (KAT ECBVarKey128 #123) */ - { - "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0", - "00000000000000000000000000000000", - "41C78C135ED9E98C096640647265DA1E" - }, - /* Test 5 (KAT ECBGFSbox128 #3) */ - { - "00000000000000000000000000000000", - "6A118A874519E64E9963798A503F1D35", - "DC43BE40BE0E53712F7E2BF5CA707209" - }, - /* Test 6 (KAT ECBKeySbox128 #3) */ - { - "B6364AC4E1DE1E285EAF144A2415F7A0", - "00000000000000000000000000000000", - "5D9B05578FC944B3CF1CCF0E746CD581" - }, - { NULL, NULL, NULL } +isc_aes128_test(void **state) +{ + aes_testcase_t testcases[] = { /* Test 1 (KAT ECBVarTxt128 #3) */ + { "00000000000000000000000000000000", + "F0000000000000000000000000000000", + "96D9FD5CC4F07441727DF0F33E401A36" }, + /* Test 2 (KAT ECBVarTxt128 #123) */ + { "00000000000000000000000000000000", + "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0", + "F9B0FDA0C4A898F5B9E6F661C4CE4D07" }, + /* Test 3 (KAT ECBVarKey128 #3) */ + { "F0000000000000000000000000000000", + "00000000000000000000000000000000", + "970014D634E2B7650777E8E84D03CCD8" }, + /* Test 4 (KAT ECBVarKey128 #123) */ + { "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0", + "00000000000000000000000000000000", + "41C78C135ED9E98C096640647265DA1E" }, + /* Test 5 (KAT ECBGFSbox128 #3) */ + { "00000000000000000000000000000000", + "6A118A874519E64E9963798A503F1D35", + "DC43BE40BE0E53712F7E2BF5CA707209" }, + /* Test 6 (KAT ECBKeySbox128 #3) */ + { "B6364AC4E1DE1E285EAF144A2415F7A0", + "00000000000000000000000000000000", + "5D9B05578FC944B3CF1CCF0E746CD581" }, + { NULL, NULL, NULL } }; aes_testcase_t *testcase = testcases; @@ -138,44 +127,33 @@ isc_aes128_test(void **state) { /* AES 192 test vectors */ static void -isc_aes192_test(void **state) { +isc_aes192_test(void **state) +{ aes_testcase_t testcases[] = { /* Test 1 (KAT ECBVarTxt192 #3) */ - { - "000000000000000000000000000000000000000000000000", - "F0000000000000000000000000000000", - "2A560364CE529EFC21788779568D5555" - }, + { "000000000000000000000000000000000000000000000000", + "F0000000000000000000000000000000", + "2A560364CE529EFC21788779568D5555" }, /* Test 2 (KAT ECBVarTxt192 #123) */ - { - "000000000000000000000000000000000000000000000000", - "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0", - "2AABB999F43693175AF65C6C612C46FB" - }, + { "000000000000000000000000000000000000000000000000", + "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0", + "2AABB999F43693175AF65C6C612C46FB" }, /* Test 3 (KAT ECBVarKey192 #3) */ - { - "F00000000000000000000000000000000000000000000000", - "00000000000000000000000000000000", - "180B09F267C45145DB2F826C2582D35C" - }, + { "F00000000000000000000000000000000000000000000000", + "00000000000000000000000000000000", + "180B09F267C45145DB2F826C2582D35C" }, /* Test 4 (KAT ECBVarKey192 #187) */ - { - "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0", - "00000000000000000000000000000000", - "EACF1E6C4224EFB38900B185AB1DFD42" - }, + { "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0", + "00000000000000000000000000000000", + "EACF1E6C4224EFB38900B185AB1DFD42" }, /* Test 5 (KAT ECBGFSbox192 #3) */ - { - "000000000000000000000000000000000000000000000000", - "51719783D3185A535BD75ADC65071CE1", - "4F354592FF7C8847D2D0870CA9481B7C" - }, + { "000000000000000000000000000000000000000000000000", + "51719783D3185A535BD75ADC65071CE1", + "4F354592FF7C8847D2D0870CA9481B7C" }, /* Test 6 (KAT ECBKeySbox192 #3) */ - { - "CD62376D5EBB414917F0C78F05266433DC9192A1EC943300", - "00000000000000000000000000000000", - "7F6C25FF41858561BB62F36492E93C29" - }, + { "CD62376D5EBB414917F0C78F05266433DC9192A1EC943300", + "00000000000000000000000000000000", + "7F6C25FF41858561BB62F36492E93C29" }, { NULL, NULL, NULL } }; @@ -198,51 +176,39 @@ isc_aes192_test(void **state) { /* AES 256 test vectors */ static void -isc_aes256_test(void **state) { - aes_testcase_t testcases[] = { - /* Test 1 (KAT ECBVarTxt256 #3) */ - { - "00000000000000000000000000000000" - "00000000000000000000000000000000", - "F0000000000000000000000000000000", - "7F2C5ECE07A98D8BEE13C51177395FF7" - }, - /* Test 2 (KAT ECBVarTxt256 #123) */ - { - "00000000000000000000000000000000" - "00000000000000000000000000000000", - "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0", - "7240E524BC51D8C4D440B1BE55D1062C" - }, - /* Test 3 (KAT ECBVarKey256 #3) */ - { - "F0000000000000000000000000000000" - "00000000000000000000000000000000", - "00000000000000000000000000000000", - "1C777679D50037C79491A94DA76A9A35" - }, - /* Test 4 (KAT ECBVarKey256 #251) */ - { - "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0", - "00000000000000000000000000000000", - "03720371A04962EAEA0A852E69972858" - }, - /* Test 5 (KAT ECBGFSbox256 #3) */ - { - "00000000000000000000000000000000" - "00000000000000000000000000000000", - "8A560769D605868AD80D819BDBA03771", - "38F2C7AE10612415D27CA190D27DA8B4" - }, - /* Test 6 (KAT ECBKeySbox256 #3) */ - { - "984CA75F4EE8D706F46C2D98C0BF4A45" - "F5B00D791C2DFEB191B5ED8E420FD627", - "00000000000000000000000000000000", - "4307456A9E67813B452E15FA8FFFE398" - }, - { NULL, NULL, NULL } +isc_aes256_test(void **state) +{ + aes_testcase_t testcases[] = { /* Test 1 (KAT ECBVarTxt256 #3) */ + { "00000000000000000000000000000000" + "00000000000000000000000000000000", + "F0000000000000000000000000000000", + "7F2C5ECE07A98D8BEE13C51177395FF7" }, + /* Test 2 (KAT ECBVarTxt256 #123) */ + { "00000000000000000000000000000000" + "00000000000000000000000000000000", + "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0", + "7240E524BC51D8C4D440B1BE55D1062C" }, + /* Test 3 (KAT ECBVarKey256 #3) */ + { "F0000000000000000000000000000000" + "00000000000000000000000000000000", + "00000000000000000000000000000000", + "1C777679D50037C79491A94DA76A9A35" }, + /* Test 4 (KAT ECBVarKey256 #251) */ + { "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0", + "00000000000000000000000000000000", + "03720371A04962EAEA0A852E69972858" }, + /* Test 5 (KAT ECBGFSbox256 #3) */ + { "00000000000000000000000000000000" + "00000000000000000000000000000000", + "8A560769D605868AD80D819BDBA03771", + "38F2C7AE10612415D27CA190D27DA8B4" }, + /* Test 6 (KAT ECBKeySbox256 #3) */ + { "984CA75F4EE8D706F46C2D98C0BF4A45" + "F5B00D791C2DFEB191B5ED8E420FD627", + "00000000000000000000000000000000", + "4307456A9E67813B452E15FA8FFFE398" }, + { NULL, NULL, NULL } }; aes_testcase_t *testcase = testcases; @@ -263,7 +229,8 @@ isc_aes256_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(isc_aes128_test), cmocka_unit_test(isc_aes192_test), @@ -278,7 +245,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/buffer_test.c b/lib/isc/tests/buffer_test.c index b815e3f6e6..1fe962ef12 100644 --- a/lib/isc/tests/buffer_test.c +++ b/lib/isc/tests/buffer_test.c @@ -11,14 +11,13 @@ #if HAVE_CMOCKA -#include -#include -#include - #include #include #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include #include @@ -36,7 +35,8 @@ #include "isctest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -48,7 +48,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); isc_test_end(); @@ -58,8 +59,9 @@ _teardown(void **state) { /* reserve space in dynamic buffers */ static void -isc_buffer_reserve_test(void **state) { - isc_result_t result; +isc_buffer_reserve_test(void **state) +{ + isc_result_t result; isc_buffer_t *b; UNUSED(state); @@ -125,10 +127,11 @@ isc_buffer_reserve_test(void **state) { /* dynamic buffer automatic reallocation */ static void -isc_buffer_dynamic_test(void **state) { +isc_buffer_dynamic_test(void **state) +{ isc_buffer_t *b; - size_t last_length = 10; - int i; + size_t last_length = 10; + int i; UNUSED(state); @@ -144,45 +147,45 @@ isc_buffer_dynamic_test(void **state) { for (i = 0; i < 1000; i++) { isc_buffer_putstr(b, "thisisa24charslongstring"); } - assert_true(b->length-last_length >= 1000*24); - last_length+=1000*24; + assert_true(b->length - last_length >= 1000 * 24); + last_length += 1000 * 24; for (i = 0; i < 10000; i++) { isc_buffer_putuint8(b, 1); } - assert_true(b->length-last_length >= 10000*1); - last_length += 10000*1; + assert_true(b->length - last_length >= 10000 * 1); + last_length += 10000 * 1; for (i = 0; i < 10000; i++) { isc_buffer_putuint16(b, 1); } - assert_true(b->length-last_length >= 10000*2); + assert_true(b->length - last_length >= 10000 * 2); - last_length += 10000*2; + last_length += 10000 * 2; for (i = 0; i < 10000; i++) { isc_buffer_putuint24(b, 1); } - assert_true(b->length-last_length >= 10000*3); + assert_true(b->length - last_length >= 10000 * 3); - last_length+=10000*3; + last_length += 10000 * 3; for (i = 0; i < 10000; i++) { isc_buffer_putuint32(b, 1); } - assert_true(b->length-last_length >= 10000*4); - + assert_true(b->length - last_length >= 10000 * 4); isc_buffer_free(&b); } /* copy a region into a buffer */ static void -isc_buffer_copyregion_test(void **state) { +isc_buffer_copyregion_test(void **state) +{ unsigned char data[] = { 0x11, 0x22, 0x33, 0x44 }; isc_buffer_t *b = NULL; - isc_result_t result; + isc_result_t result; isc_region_t r = { .base = data, @@ -217,12 +220,13 @@ isc_buffer_copyregion_test(void **state) { /* sprintf() into a buffer */ static void -isc_buffer_printf_test(void **state) { - unsigned int used, prev_used; - const char *empty_fmt; - isc_result_t result; +isc_buffer_printf_test(void **state) +{ + unsigned int used, prev_used; + const char * empty_fmt; + isc_result_t result; isc_buffer_t *b, sb; - char buf[8]; + char buf[8]; UNUSED(state); @@ -323,16 +327,17 @@ isc_buffer_printf_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(isc_buffer_reserve_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(isc_buffer_dynamic_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(isc_buffer_reserve_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(isc_buffer_dynamic_test, _setup, + _teardown), cmocka_unit_test_setup_teardown(isc_buffer_copyregion_test, _setup, _teardown), - cmocka_unit_test_setup_teardown(isc_buffer_printf_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(isc_buffer_printf_test, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -343,7 +348,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/counter_test.c b/lib/isc/tests/counter_test.c index 55ef991685..54693947c7 100644 --- a/lib/isc/tests/counter_test.c +++ b/lib/isc/tests/counter_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include @@ -29,7 +28,8 @@ #include "isctest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -41,7 +41,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); isc_test_end(); @@ -51,10 +52,11 @@ _teardown(void **state) { /* test isc_counter object */ static void -isc_counter_test(void **state) { - isc_result_t result; +isc_counter_test(void **state) +{ + isc_result_t result; isc_counter_t *counter = NULL; - int i; + int i; UNUSED(state); @@ -82,10 +84,11 @@ isc_counter_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(isc_counter_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(isc_counter_test, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -96,7 +99,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/crc64_test.c b/lib/isc/tests/crc64_test.c index 8d1ca7ea0a..5041ac57cc 100644 --- a/lib/isc/tests/crc64_test.c +++ b/lib/isc/tests/crc64_test.c @@ -13,10 +13,9 @@ #if HAVE_CMOCKA +#include #include #include -#include - #include #include @@ -24,21 +23,22 @@ #include #include +#include #include #include -#include -#define TEST_INPUT(x) (x), sizeof(x)-1 +#define TEST_INPUT(x) (x), sizeof(x) - 1 typedef struct hash_testcase { const char *input; - size_t input_len; + size_t input_len; const char *result; - int repeats; + int repeats; } hash_testcase_t; static void -isc_crc64_init_test(void **state) { +isc_crc64_init_test(void **state) +{ uint64_t crc; UNUSED(state); @@ -48,8 +48,7 @@ isc_crc64_init_test(void **state) { } static void -_crc64(const char *buf, size_t buflen, - const char *result, const int repeats) +_crc64(const char *buf, size_t buflen, const char *result, const int repeats) { uint64_t crc; @@ -65,20 +64,20 @@ _crc64(const char *buf, size_t buflen, char hex[16 + 1]; snprintf(hex, sizeof(hex), "%016" PRIX64, crc); - assert_memory_equal(hex, result, (result?strlen(result):0)); + assert_memory_equal(hex, result, (result ? strlen(result) : 0)); } /* 64-bit cyclic redundancy check */ static void -isc_crc64_test(void **state) { +isc_crc64_test(void **state) +{ UNUSED(state); _crc64(TEST_INPUT(""), "0000000000000000", 1); _crc64(TEST_INPUT("a"), "CE73F427ACC0A99A", 1); _crc64(TEST_INPUT("abc"), "048B813AF9F49702", 1); _crc64(TEST_INPUT("message digest"), "5273F9EA7A357BF4", 1); - _crc64(TEST_INPUT("abcdefghijklmnopqrstuvwxyz"), - "59F079F9218BAAA1", 1); + _crc64(TEST_INPUT("abcdefghijklmnopqrstuvwxyz"), "59F079F9218BAAA1", 1); _crc64(TEST_INPUT("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklm" "nopqrstuvwxyz0123456789"), "A36DA8F71E78B6FB", 1); @@ -88,7 +87,8 @@ isc_crc64_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(isc_crc64_init_test), cmocka_unit_test(isc_crc64_test), @@ -102,7 +102,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/errno_test.c b/lib/isc/tests/errno_test.c index 5b111499d8..327157b37a 100644 --- a/lib/isc/tests/errno_test.c +++ b/lib/isc/tests/errno_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include +#include #include #include -#include - -#include #include #include @@ -27,75 +26,74 @@ #include typedef struct { - int err; + int err; isc_result_t result; } testpair_t; -testpair_t testpair[] = { - { EPERM, ISC_R_NOPERM }, - { ENOENT, ISC_R_FILENOTFOUND }, - { EIO, ISC_R_IOERROR }, - { EBADF, ISC_R_INVALIDFILE }, - { ENOMEM, ISC_R_NOMEMORY }, - { EACCES, ISC_R_NOPERM }, - { EEXIST, ISC_R_FILEEXISTS }, - { ENOTDIR, ISC_R_INVALIDFILE }, - { EINVAL, ISC_R_INVALIDFILE }, - { ENFILE, ISC_R_TOOMANYOPENFILES }, - { EMFILE, ISC_R_TOOMANYOPENFILES }, - { EPIPE, ISC_R_CONNECTIONRESET }, - { ENAMETOOLONG, ISC_R_INVALIDFILE }, - { ELOOP, ISC_R_INVALIDFILE }, +testpair_t testpair[] = { { EPERM, ISC_R_NOPERM }, + { ENOENT, ISC_R_FILENOTFOUND }, + { EIO, ISC_R_IOERROR }, + { EBADF, ISC_R_INVALIDFILE }, + { ENOMEM, ISC_R_NOMEMORY }, + { EACCES, ISC_R_NOPERM }, + { EEXIST, ISC_R_FILEEXISTS }, + { ENOTDIR, ISC_R_INVALIDFILE }, + { EINVAL, ISC_R_INVALIDFILE }, + { ENFILE, ISC_R_TOOMANYOPENFILES }, + { EMFILE, ISC_R_TOOMANYOPENFILES }, + { EPIPE, ISC_R_CONNECTIONRESET }, + { ENAMETOOLONG, ISC_R_INVALIDFILE }, + { ELOOP, ISC_R_INVALIDFILE }, #ifdef EOVERFLOW - { EOVERFLOW, ISC_R_RANGE }, + { EOVERFLOW, ISC_R_RANGE }, #endif #ifdef EAFNOSUPPORT - { EAFNOSUPPORT, ISC_R_FAMILYNOSUPPORT }, + { EAFNOSUPPORT, ISC_R_FAMILYNOSUPPORT }, #endif #ifdef EADDRINUSE - { EADDRINUSE, ISC_R_ADDRINUSE }, + { EADDRINUSE, ISC_R_ADDRINUSE }, #endif - { EADDRNOTAVAIL, ISC_R_ADDRNOTAVAIL }, + { EADDRNOTAVAIL, ISC_R_ADDRNOTAVAIL }, #ifdef ENETDOWN - { ENETDOWN, ISC_R_NETDOWN }, + { ENETDOWN, ISC_R_NETDOWN }, #endif #ifdef ENETUNREACH - { ENETUNREACH, ISC_R_NETUNREACH }, + { ENETUNREACH, ISC_R_NETUNREACH }, #endif #ifdef ECONNABORTED - { ECONNABORTED, ISC_R_CONNECTIONRESET }, + { ECONNABORTED, ISC_R_CONNECTIONRESET }, #endif #ifdef ECONNRESET - { ECONNRESET, ISC_R_CONNECTIONRESET }, + { ECONNRESET, ISC_R_CONNECTIONRESET }, #endif #ifdef ENOBUFS - { ENOBUFS, ISC_R_NORESOURCES }, + { ENOBUFS, ISC_R_NORESOURCES }, #endif #ifdef ENOTCONN - { ENOTCONN, ISC_R_NOTCONNECTED }, + { ENOTCONN, ISC_R_NOTCONNECTED }, #endif #ifdef ETIMEDOUT - { ETIMEDOUT, ISC_R_TIMEDOUT }, + { ETIMEDOUT, ISC_R_TIMEDOUT }, #endif - { ECONNREFUSED, ISC_R_CONNREFUSED }, + { ECONNREFUSED, ISC_R_CONNREFUSED }, #ifdef EHOSTDOWN - { EHOSTDOWN, ISC_R_HOSTDOWN }, + { EHOSTDOWN, ISC_R_HOSTDOWN }, #endif #ifdef EHOSTUNREACH - { EHOSTUNREACH, ISC_R_HOSTUNREACH }, + { EHOSTUNREACH, ISC_R_HOSTUNREACH }, #endif - { 0, ISC_R_UNEXPECTED } -}; + { 0, ISC_R_UNEXPECTED } }; /* convert errno to ISC result */ static void -isc_errno_toresult_test(void **state) { +isc_errno_toresult_test(void **state) +{ isc_result_t result, expect; - size_t i; + size_t i; UNUSED(state); - for (i = 0; i < sizeof(testpair)/sizeof(testpair[0]); i++) { + for (i = 0; i < sizeof(testpair) / sizeof(testpair[0]); i++) { result = isc_errno_toresult(testpair[i].err); expect = testpair[i].result; assert_int_equal(result, expect); @@ -103,7 +101,8 @@ isc_errno_toresult_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(isc_errno_toresult_test), }; @@ -116,7 +115,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/file_test.c b/lib/isc/tests/file_test.c index d10422472f..9000831ee6 100644 --- a/lib/isc/tests/file_test.c +++ b/lib/isc/tests/file_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include +#include #include #include -#include - -#include #include #include #include @@ -40,7 +39,8 @@ #define F(x) "testdata/file/" x ".test" static void -touch(const char *filename) { +touch(const char *filename) +{ int fd; unlink(filename); @@ -52,9 +52,10 @@ touch(const char *filename) { /* test sanitized filenames */ static void -isc_file_sanitize_test(void **state) { +isc_file_sanitize_test(void **state) +{ isc_result_t result; - char buf[1024]; + char buf[1024]; UNUSED(state); @@ -88,26 +89,27 @@ isc_file_sanitize_test(void **state) { /* test filename templates */ static void -isc_file_template_test(void **state) { +isc_file_template_test(void **state) +{ isc_result_t result; - char buf[1024]; + char buf[1024]; UNUSED(state); assert_return_code(chdir(TESTS), 0); - result = isc_file_template("/absolute/path", "file-XXXXXXXX", - buf, sizeof(buf)); + result = isc_file_template("/absolute/path", "file-XXXXXXXX", buf, + sizeof(buf)); assert_int_equal(result, ISC_R_SUCCESS); assert_string_equal(buf, "/absolute/file-XXXXXXXX"); - result = isc_file_template("relative/path", "file-XXXXXXXX", - buf, sizeof(buf)); + result = isc_file_template("relative/path", "file-XXXXXXXX", buf, + sizeof(buf)); assert_int_equal(result, ISC_R_SUCCESS); assert_string_equal(buf, "relative/file-XXXXXXXX"); - result = isc_file_template("/trailing/slash/", "file-XXXXXXXX", - buf, sizeof(buf)); + result = isc_file_template("/trailing/slash/", "file-XXXXXXXX", buf, + sizeof(buf)); assert_int_equal(result, ISC_R_SUCCESS); assert_string_equal(buf, "/trailing/slash/file-XXXXXXXX"); @@ -120,8 +122,8 @@ isc_file_template_test(void **state) { assert_int_equal(result, ISC_R_SUCCESS); assert_string_equal(buf, "/file-XXXXXXXX"); - result = isc_file_template("noslash", "file-XXXXXXXX", - buf, sizeof(buf)); + result = + isc_file_template("noslash", "file-XXXXXXXX", buf, sizeof(buf)); assert_int_equal(result, ISC_R_SUCCESS); assert_string_equal(buf, "file-XXXXXXXX"); @@ -131,7 +133,8 @@ isc_file_template_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(isc_file_sanitize_test), cmocka_unit_test(isc_file_template_test), @@ -145,7 +148,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/hash_test.c b/lib/isc/tests/hash_test.c index 813a8a65ff..4a28c786c5 100644 --- a/lib/isc/tests/hash_test.c +++ b/lib/isc/tests/hash_test.c @@ -11,14 +11,13 @@ #if HAVE_CMOCKA +#include +#include #include #include -#include - -#include #include -#include #include +#include #include #define UNIT_TESTING @@ -34,11 +33,12 @@ #include -#define TEST_INPUT(x) (x), sizeof(x)-1 +#define TEST_INPUT(x) (x), sizeof(x) - 1 /*Hash function test */ static void -isc_hash_function_test(void **state) { +isc_hash_function_test(void **state) +{ unsigned int h1; unsigned int h2; @@ -71,7 +71,8 @@ isc_hash_function_test(void **state) { /* Hash function initializer test */ static void -isc_hash_initializer_test(void **state) { +isc_hash_initializer_test(void **state) +{ unsigned int h1; unsigned int h2; @@ -91,7 +92,8 @@ isc_hash_initializer_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(isc_hash_function_test), cmocka_unit_test(isc_hash_initializer_test), @@ -105,7 +107,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/heap_test.c b/lib/isc/tests/heap_test.c index 4a6d55c665..6fb7003c2f 100644 --- a/lib/isc/tests/heap_test.c +++ b/lib/isc/tests/heap_test.c @@ -13,11 +13,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include @@ -31,7 +30,8 @@ #include "isctest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -43,7 +43,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); isc_test_end(); @@ -57,7 +58,8 @@ struct e { }; static bool -compare(void *p1, void *p2) { +compare(void *p1, void *p2) +{ struct e *e1 = p1; struct e *e2 = p2; @@ -65,7 +67,8 @@ compare(void *p1, void *p2) { } static void -idx(void *p, unsigned int i) { +idx(void *p, unsigned int i) +{ struct e *e = p; e->index = i; @@ -73,10 +76,11 @@ idx(void *p, unsigned int i) { /* test isc_heap_delete() */ static void -isc_heap_delete_test(void **state) { - isc_heap_t *heap = NULL; +isc_heap_delete_test(void **state) +{ + isc_heap_t * heap = NULL; isc_result_t result; - struct e e1 = { 100, 0 }; + struct e e1 = { 100, 0 }; UNUSED(state); @@ -96,7 +100,8 @@ isc_heap_delete_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(isc_heap_delete_test), }; @@ -109,7 +114,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/hmac_test.c b/lib/isc/tests/hmac_test.c index b8d9a03d5c..3d024b7e33 100644 --- a/lib/isc/tests/hmac_test.c +++ b/lib/isc/tests/hmac_test.c @@ -13,11 +13,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include @@ -26,16 +25,17 @@ #include #include +#include #include #include -#include #include "../hmac.c" -#define TEST_INPUT(x) (x), sizeof(x)-1 +#define TEST_INPUT(x) (x), sizeof(x) - 1 static int -_setup(void **state) { +_setup(void **state) +{ isc_hmac_t *hmac = isc_hmac_new(); if (hmac == NULL) { return (-1); @@ -45,7 +45,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ if (*state == NULL) { return (-1); } @@ -54,7 +55,8 @@ _teardown(void **state) { } static int -_reset(void **state) { +_reset(void **state) +{ if (*state == NULL) { return (-1); } @@ -65,7 +67,8 @@ _reset(void **state) { } static void -isc_hmac_new_test(void **state) { +isc_hmac_new_test(void **state) +{ UNUSED(state); isc_hmac_t *hmac = isc_hmac_new(); @@ -74,7 +77,8 @@ isc_hmac_new_test(void **state) { } static void -isc_hmac_free_test(void **state) { +isc_hmac_free_test(void **state) +{ UNUSED(state); isc_hmac_t *hmac = isc_hmac_new(); @@ -94,32 +98,31 @@ isc_hmac_test(isc_hmac_t *hmac, const void *key, size_t keylen, int i; for (i = 0; i < repeats; i++) { - assert_int_equal( - isc_hmac_update(hmac, - (const unsigned char *)buf, buflen), - ISC_R_SUCCESS); + assert_int_equal(isc_hmac_update(hmac, + (const unsigned char *)buf, + buflen), + ISC_R_SUCCESS); } unsigned char digest[ISC_MAX_MD_SIZE]; - unsigned int digestlen; + unsigned int digestlen; assert_int_equal(isc_hmac_final(hmac, digest, &digestlen), ISC_R_SUCCESS); - char hexdigest[ISC_MAX_MD_SIZE * 2 + 3]; - isc_region_t r = { .base = digest, - .length = digestlen - }; + char hexdigest[ISC_MAX_MD_SIZE * 2 + 3]; + isc_region_t r = { .base = digest, .length = digestlen }; isc_buffer_t b; isc_buffer_init(&b, hexdigest, sizeof(hexdigest)); assert_return_code(isc_hex_totext(&r, 0, "", &b), ISC_R_SUCCESS); - assert_memory_equal(hexdigest, result, (result?strlen(result):0)); + assert_memory_equal(hexdigest, result, (result ? strlen(result) : 0)); assert_int_equal(isc_hmac_reset(hmac), ISC_R_SUCCESS); } static void -isc_hmac_init_test(void **state) { +isc_hmac_init_test(void **state) +{ isc_hmac_t *hmac = *state; assert_non_null(hmac); @@ -155,7 +158,8 @@ isc_hmac_init_test(void **state) { } static void -isc_hmac_update_test(void **state) { +isc_hmac_update_test(void **state) +{ isc_hmac_t *hmac = *state; assert_non_null(hmac); @@ -168,7 +172,8 @@ isc_hmac_update_test(void **state) { } static void -isc_hmac_reset_test(void **state) { +isc_hmac_reset_test(void **state) +{ isc_hmac_t *hmac = *state; #if 0 unsigned char digest[ISC_MAX_MD_SIZE] __attribute((unused)); @@ -197,12 +202,13 @@ isc_hmac_reset_test(void **state) { } static void -isc_hmac_final_test(void **state) { +isc_hmac_final_test(void **state) +{ isc_hmac_t *hmac = *state; assert_non_null(hmac); unsigned char digest[ISC_MAX_MD_SIZE]; - unsigned int digestlen; + unsigned int digestlen; /* Fail when message digest context is empty */ expect_assert_failure(isc_hmac_final(NULL, digest, &digestlen)); @@ -215,13 +221,13 @@ isc_hmac_final_test(void **state) { } static void -isc_hmac_md5_test(void **state) { +isc_hmac_md5_test(void **state) +{ isc_hmac_t *hmac = *state; /* Test 0 */ isc_hmac_test(hmac, TEST_INPUT(""), ISC_MD_MD5, TEST_INPUT(""), - "74E6F7298A9C2D168935F58C001BAD88", - 1); + "74E6F7298A9C2D168935F58C001BAD88", 1); /* Test 1 */ isc_hmac_test(hmac, @@ -229,18 +235,14 @@ isc_hmac_md5_test(void **state) { "\x0b\x0b\x0b\x0b\x0b\x0b"), ISC_MD_MD5, TEST_INPUT("\x48\x69\x20\x54\x68\x65\x72\x65"), - "9294727A3638BB1C13F48EF8158BFC9D", - 1); + "9294727A3638BB1C13F48EF8158BFC9D", 1); /* Test 2 */ - isc_hmac_test(hmac, - TEST_INPUT("Jefe"), - ISC_MD_MD5, + isc_hmac_test(hmac, TEST_INPUT("Jefe"), ISC_MD_MD5, TEST_INPUT("\x77\x68\x61\x74\x20\x64\x6f\x20\x79" "\x61\x20\x77\x61\x6e\x74\x20\x66\x6f" "\x72\x20\x6e\x6f\x74\x68\x69\x6e\x67\x3f"), - "750C783E6AB0B503EAA86E310A5DB738", - 1); + "750C783E6AB0B503EAA86E310A5DB738", 1); /* Test 3 */ isc_hmac_test(hmac, @@ -252,8 +254,7 @@ isc_hmac_md5_test(void **state) { "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD" "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD" "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD"), - "56BE34521D144C88DBB8C733F0E8B3F6", - 1); + "56BE34521D144C88DBB8C733F0E8B3F6", 1); /* Test 4 */ isc_hmac_test(hmac, TEST_INPUT("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a" @@ -265,8 +266,7 @@ isc_hmac_md5_test(void **state) { "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"), - "697EAF0ACA3A3AEA3A75164746FFAA79", - 1); + "697EAF0ACA3A3AEA3A75164746FFAA79", 1); #if 0 /* Test 5 -- unimplemented optional functionality */ isc_hmac_test(hmac, @@ -320,13 +320,13 @@ isc_hmac_md5_test(void **state) { } static void -isc_hmac_sha1_test(void **state) { +isc_hmac_sha1_test(void **state) +{ isc_hmac_t *hmac = *state; /* Test 0 */ isc_hmac_test(hmac, TEST_INPUT(""), ISC_MD_SHA1, TEST_INPUT(""), - "FBDB1D1B18AA6C08324B7D64B71FB76370690E1D", - 1); + "FBDB1D1B18AA6C08324B7D64B71FB76370690E1D", 1); /* Test 1 */ isc_hmac_test(hmac, @@ -334,17 +334,13 @@ isc_hmac_sha1_test(void **state) { "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"), ISC_MD_SHA1, TEST_INPUT("\x48\x69\x20\x54\x68\x65\x72\x65"), - "B617318655057264E28BC0B6FB378C8EF146BE00", - 1); + "B617318655057264E28BC0B6FB378C8EF146BE00", 1); /* Test 2 */ - isc_hmac_test(hmac, - TEST_INPUT("Jefe"), - ISC_MD_SHA1, + isc_hmac_test(hmac, TEST_INPUT("Jefe"), ISC_MD_SHA1, TEST_INPUT("\x77\x68\x61\x74\x20\x64\x6f\x20\x79\x61" "\x20\x77\x61\x6e\x74\x20\x66\x6f\x72\x20" "\x6e\x6f\x74\x68\x69\x6e\x67\x3f"), - "EFFCDF6AE5EB2FA2D27416D5F184DF9C259A7C79", - 1); + "EFFCDF6AE5EB2FA2D27416D5F184DF9C259A7C79", 1); /* Test 3 */ isc_hmac_test(hmac, TEST_INPUT("\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" @@ -355,8 +351,7 @@ isc_hmac_sha1_test(void **state) { "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD" "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD" "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD"), - "125D7342B9AC11CD91A39AF48AA17B4F63F175D3", - 1); + "125D7342B9AC11CD91A39AF48AA17B4F63F175D3", 1); /* Test 4 */ isc_hmac_test(hmac, TEST_INPUT("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a" @@ -368,8 +363,7 @@ isc_hmac_sha1_test(void **state) { "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"), - "4C9007F4026250C6BC8414F9BF50C86C2D7235DA", - 1); + "4C9007F4026250C6BC8414F9BF50C86C2D7235DA", 1); #if 0 /* Test 5 */ isc_hmac_test(hmac, @@ -407,12 +401,12 @@ isc_hmac_sha1_test(void **state) { ISC_MD_SHA1, TEST_INPUT("Test Using Larger Than Block-Size Key and " "Larger Than One Block-Size Data"), - "E8E99D0F45237D786D6BBAA7965C7808BBFF1A91", - 1); + "E8E99D0F45237D786D6BBAA7965C7808BBFF1A91", 1); } static void -isc_hmac_sha224_test(void **state) { +isc_hmac_sha224_test(void **state) +{ isc_hmac_t *hmac = *state; /* Test 0 */ @@ -431,9 +425,7 @@ isc_hmac_sha224_test(void **state) { "4F53684B22", 1); /* Test 2 */ - isc_hmac_test(hmac, - TEST_INPUT("Jefe"), - ISC_MD_SHA224, + isc_hmac_test(hmac, TEST_INPUT("Jefe"), ISC_MD_SHA224, TEST_INPUT("\x77\x68\x61\x74\x20\x64\x6f\x20\x79\x61" "\x20\x77\x61\x6e\x74\x20\x66\x6f\x72\x20" "\x6e\x6f\x74\x68\x69\x6e\x67\x3f"), @@ -491,7 +483,8 @@ isc_hmac_sha224_test(void **state) { "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" - "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"), + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" + "\xaa"), ISC_MD_SHA224, TEST_INPUT("Test Using Larger Than Block-Size Key - " "Hash Key First"), @@ -512,7 +505,8 @@ isc_hmac_sha224_test(void **state) { "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" - "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"), + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" + "\xaa"), ISC_MD_SHA224, TEST_INPUT("\x54\x68\x69\x73\x20\x69\x73\x20\x61\x20" "\x74\x65\x73\x74\x20\x75\x73\x69\x6e\x67" @@ -536,7 +530,8 @@ isc_hmac_sha224_test(void **state) { } static void -isc_hmac_sha256_test(void **state) { +isc_hmac_sha256_test(void **state) +{ isc_hmac_t *hmac = *state; /* Test 0 */ @@ -555,9 +550,7 @@ isc_hmac_sha256_test(void **state) { "A726E9376C2E32CFF7", 1); /* Test 2 */ - isc_hmac_test(hmac, - TEST_INPUT("Jefe"), - ISC_MD_SHA256, + isc_hmac_test(hmac, TEST_INPUT("Jefe"), ISC_MD_SHA256, TEST_INPUT("\x77\x68\x61\x74\x20\x64\x6f\x20\x79\x61" "\x20\x77\x61\x6e\x74\x20\x66\x6f\x72\x20" "\x6e\x6f\x74\x68\x69\x6e\x67\x3f"), @@ -615,7 +608,8 @@ isc_hmac_sha256_test(void **state) { "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" - "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"), + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" + "\xaa"), ISC_MD_SHA256, TEST_INPUT("Test Using Larger Than Block-Size Key - " "Hash Key First"), @@ -636,7 +630,8 @@ isc_hmac_sha256_test(void **state) { "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" - "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"), + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" + "\xaa"), ISC_MD_SHA256, TEST_INPUT("\x54\x68\x69\x73\x20\x69\x73\x20\x61\x20" "\x74\x65\x73\x74\x20\x75\x73\x69\x6e\x67" @@ -660,7 +655,8 @@ isc_hmac_sha256_test(void **state) { } static void -isc_hmac_sha384_test(void **state) { +isc_hmac_sha384_test(void **state) +{ isc_hmac_t *hmac = *state; /* Test 0 */ @@ -680,9 +676,7 @@ isc_hmac_sha384_test(void **state) { "E8B2FA9CB6", 1); /* Test 2 */ - isc_hmac_test(hmac, - TEST_INPUT("Jefe"), - ISC_MD_SHA384, + isc_hmac_test(hmac, TEST_INPUT("Jefe"), ISC_MD_SHA384, TEST_INPUT("\x77\x68\x61\x74\x20\x64\x6f\x20\x79\x61" "\x20\x77\x61\x6e\x74\x20\x66\x6f\x72\x20" "\x6e\x6f\x74\x68\x69\x6e\x67\x3f"), @@ -743,7 +737,8 @@ isc_hmac_sha384_test(void **state) { "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" - "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"), + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" + "\xaa"), ISC_MD_SHA384, TEST_INPUT("Test Using Larger Than Block-Size Key - " "Hash Key First"), @@ -765,7 +760,8 @@ isc_hmac_sha384_test(void **state) { "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" - "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"), + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" + "\xaa"), ISC_MD_SHA384, TEST_INPUT("\x54\x68\x69\x73\x20\x69\x73\x20\x61\x20" "\x74\x65\x73\x74\x20\x75\x73\x69\x6e\x67" @@ -790,14 +786,16 @@ isc_hmac_sha384_test(void **state) { } static void -isc_hmac_sha512_test(void **state) { +isc_hmac_sha512_test(void **state) +{ isc_hmac_t *hmac = *state; /* Test 0 */ isc_hmac_test(hmac, TEST_INPUT(""), ISC_MD_SHA512, TEST_INPUT(""), "B936CEE86C9F87AA5D3C6F2E84CB5A4239A5FE50480A6EC6" "6B70AB5B1F4AC6730C6C515421B327EC1D69402E53DFB49A" - "D7381EB067B338FD7B0CB22247225D47", 1); + "D7381EB067B338FD7B0CB22247225D47", + 1); /* Test 1 */ isc_hmac_test(hmac, @@ -810,9 +808,7 @@ isc_hmac_sha512_test(void **state) { "4EAEA3F4E4BE9D914EEB61F1702E696C203A126854", 1); /* Test 2 */ - isc_hmac_test(hmac, - TEST_INPUT("Jefe"), - ISC_MD_SHA512, + isc_hmac_test(hmac, TEST_INPUT("Jefe"), ISC_MD_SHA512, TEST_INPUT("\x77\x68\x61\x74\x20\x64\x6f\x20\x79\x61" "\x20\x77\x61\x6e\x74\x20\x66\x6f\x72\x20" "\x6e\x6f\x74\x68\x69\x6e\x67\x3f"), @@ -873,7 +869,8 @@ isc_hmac_sha512_test(void **state) { "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" - "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"), + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" + "\xaa"), ISC_MD_SHA512, TEST_INPUT("Test Using Larger Than Block-Size Key - " "Hash Key First"), @@ -895,7 +892,8 @@ isc_hmac_sha512_test(void **state) { "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" - "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"), + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" + "\xaa"), ISC_MD_SHA512, TEST_INPUT("\x54\x68\x69\x73\x20\x69\x73\x20\x61\x20" "\x74\x65\x73\x74\x20\x75\x73\x69\x6e\x67" @@ -920,18 +918,19 @@ isc_hmac_sha512_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { /* isc_hmac_new() */ cmocka_unit_test(isc_hmac_new_test), /* isc_hmac_init() */ - cmocka_unit_test_setup_teardown(isc_hmac_init_test, - _reset, _reset), + cmocka_unit_test_setup_teardown(isc_hmac_init_test, _reset, + _reset), /* isc_hmac_reset() */ - cmocka_unit_test_setup_teardown(isc_hmac_reset_test, - _reset, _reset), + cmocka_unit_test_setup_teardown(isc_hmac_reset_test, _reset, + _reset), /* isc_hmac_init() -> isc_hmac_update() -> isc_hmac_final() */ cmocka_unit_test(isc_hmac_md5_test), @@ -941,10 +940,10 @@ main(void) { cmocka_unit_test(isc_hmac_sha384_test), cmocka_unit_test(isc_hmac_sha512_test), - cmocka_unit_test_setup_teardown(isc_hmac_update_test, - _reset, _reset), - cmocka_unit_test_setup_teardown(isc_hmac_final_test, - _reset, _reset), + cmocka_unit_test_setup_teardown(isc_hmac_update_test, _reset, + _reset), + cmocka_unit_test_setup_teardown(isc_hmac_final_test, _reset, + _reset), cmocka_unit_test(isc_hmac_free_test), }; @@ -957,7 +956,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/ht_test.c b/lib/isc/tests/ht_test.c index c186614549..2cb3d44916 100644 --- a/lib/isc/tests/ht_test.c +++ b/lib/isc/tests/ht_test.c @@ -11,12 +11,11 @@ #if HAVE_CMOCKA -#include -#include -#include - #include #include /* IWYU pragma: keep */ +#include +#include +#include #include #include #include @@ -34,7 +33,8 @@ #include "isctest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -46,7 +46,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); isc_test_end(); @@ -54,12 +55,12 @@ _teardown(void **state) { return (0); } - static void -test_ht_full(int bits, uintptr_t count) { - isc_ht_t *ht = NULL; +test_ht_full(int bits, uintptr_t count) +{ + isc_ht_t * ht = NULL; isc_result_t result; - uintptr_t i; + uintptr_t i; result = isc_ht_init(&ht, test_mctx, bits); assert_int_equal(result, ISC_R_SUCCESS); @@ -73,25 +74,25 @@ test_ht_full(int bits, uintptr_t count) { unsigned char key[16]; snprintf((char *)key, sizeof(key), "%u", (unsigned int)i); strlcat((char *)key, " key of a raw hashtable!!", sizeof(key)); - result = isc_ht_add(ht, key, 16, (void *) i); + result = isc_ht_add(ht, key, 16, (void *)i); assert_int_equal(result, ISC_R_SUCCESS); } for (i = 1; i < count; i++) { unsigned char key[16]; - void *f = NULL; + void * f = NULL; snprintf((char *)key, sizeof(key), "%u", (unsigned int)i); strlcat((char *)key, " key of a raw hashtable!!", sizeof(key)); result = isc_ht_find(ht, key, 16, &f); assert_int_equal(result, ISC_R_SUCCESS); - assert_ptr_equal((void *) i, (uintptr_t) f); + assert_ptr_equal((void *)i, (uintptr_t)f); } for (i = 1; i < count; i++) { unsigned char key[16]; snprintf((char *)key, sizeof(key), "%u", (unsigned int)i); strlcat((char *)key, " key of a raw hashtable!!", sizeof(key)); - result = isc_ht_add(ht, key, 16, (void *) i); + result = isc_ht_add(ht, key, 16, (void *)i); assert_int_equal(result, ISC_R_EXISTS); } @@ -103,14 +104,14 @@ test_ht_full(int bits, uintptr_t count) { */ snprintf((char *)key, sizeof(key), "%u", (unsigned int)i); strlcat((char *)key, " key of a raw hashtable!!", sizeof(key)); - result = isc_ht_add(ht, (const unsigned char *) key, - strlen(key), (void *) i); + result = isc_ht_add(ht, (const unsigned char *)key, strlen(key), + (void *)i); assert_int_equal(result, ISC_R_SUCCESS); } for (i = 1; i < count; i++) { unsigned char key[16]; - void *f = NULL; + void * f = NULL; /* * Note: case of KEY is now in capitals, */ @@ -122,19 +123,19 @@ test_ht_full(int bits, uintptr_t count) { } for (i = 1; i < count; i++) { - char key[64]; + char key[64]; void *f = NULL; snprintf((char *)key, sizeof(key), "%u", (unsigned int)i); strlcat((char *)key, " key of a raw hashtable!!", sizeof(key)); - result = isc_ht_find(ht, (const unsigned char *) key, + result = isc_ht_find(ht, (const unsigned char *)key, strlen(key), &f); assert_int_equal(result, ISC_R_SUCCESS); - assert_ptr_equal(f, (void *) i); + assert_ptr_equal(f, (void *)i); } for (i = 1; i < count; i++) { unsigned char key[16]; - void *f = NULL; + void * f = NULL; snprintf((char *)key, sizeof(key), "%u", (unsigned int)i); strlcat((char *)key, " key of a raw hashtable!!", sizeof(key)); result = isc_ht_delete(ht, key, 16); @@ -151,28 +152,27 @@ test_ht_full(int bits, uintptr_t count) { */ snprintf((char *)key, sizeof(key), "%u", (unsigned int)i); strlcat((char *)key, " KEY of a raw hashtable!!", sizeof(key)); - result = isc_ht_add(ht, key, 16, (void *) i); + result = isc_ht_add(ht, key, 16, (void *)i); assert_int_equal(result, ISC_R_SUCCESS); } for (i = 1; i < count; i++) { - char key[64]; + char key[64]; void *f = NULL; snprintf((char *)key, sizeof(key), "%u", (unsigned int)i); strlcat((char *)key, " key of a raw hashtable!!", sizeof(key)); - result = isc_ht_delete(ht, (const unsigned char *) key, + result = isc_ht_delete(ht, (const unsigned char *)key, strlen(key)); assert_int_equal(result, ISC_R_SUCCESS); - result = isc_ht_find(ht, (const unsigned char *) key, + result = isc_ht_find(ht, (const unsigned char *)key, strlen(key), &f); assert_int_equal(result, ISC_R_NOTFOUND); assert_null(f); } - for (i = 1; i < count; i++) { unsigned char key[16]; - void *f = NULL; + void * f = NULL; /* * Note: case of KEY is now in capitals, */ @@ -180,12 +180,12 @@ test_ht_full(int bits, uintptr_t count) { strlcat((char *)key, " KEY of a raw hashtable!!", sizeof(key)); result = isc_ht_find(ht, key, 16, &f); assert_int_equal(result, ISC_R_SUCCESS); - assert_ptr_equal((void *) i, (uintptr_t) f); + assert_ptr_equal((void *)i, (uintptr_t)f); } for (i = 1; i < count; i++) { unsigned char key[16]; - void *f = NULL; + void * f = NULL; snprintf((char *)key, sizeof(key), "%u", (unsigned int)i); strlcat((char *)key, " key of a raw hashtable!!", sizeof(key)); result = isc_ht_find(ht, key, 16, &f); @@ -198,15 +198,16 @@ test_ht_full(int bits, uintptr_t count) { } static void -test_ht_iterator() { - isc_ht_t *ht = NULL; - isc_result_t result; - isc_ht_iter_t * iter = NULL; - uintptr_t i; - uintptr_t count = 10000; - uint32_t walked; - unsigned char key[16]; - size_t tksize; +test_ht_iterator() +{ + isc_ht_t * ht = NULL; + isc_result_t result; + isc_ht_iter_t *iter = NULL; + uintptr_t i; + uintptr_t count = 10000; + uint32_t walked; + unsigned char key[16]; + size_t tksize; result = isc_ht_init(&ht, test_mctx, 16); assert_int_equal(result, ISC_R_SUCCESS); @@ -218,7 +219,7 @@ test_ht_iterator() { */ snprintf((char *)key, sizeof(key), "%u", (unsigned int)i); strlcat((char *)key, "key of a raw hashtable!!", sizeof(key)); - result = isc_ht_add(ht, key, 16, (void *) i); + result = isc_ht_add(ht, key, 16, (void *)i); assert_int_equal(result, ISC_R_SUCCESS); } @@ -226,12 +227,10 @@ test_ht_iterator() { result = isc_ht_iter_create(ht, &iter); assert_int_equal(result, ISC_R_SUCCESS); - for (result = isc_ht_iter_first(iter); - result == ISC_R_SUCCESS; - result = isc_ht_iter_next(iter)) - { + for (result = isc_ht_iter_first(iter); result == ISC_R_SUCCESS; + result = isc_ht_iter_next(iter)) { unsigned char *tkey = NULL; - void *v = NULL; + void * v = NULL; isc_ht_iter_current(iter, &v); isc_ht_iter_currentkey(iter, &tkey, &tksize); @@ -250,7 +249,7 @@ test_ht_iterator() { result = isc_ht_iter_first(iter); while (result == ISC_R_SUCCESS) { unsigned char *tkey = NULL; - void *v = NULL; + void * v = NULL; isc_ht_iter_current(iter, &v); isc_ht_iter_currentkey(iter, &tkey, &tksize); @@ -274,7 +273,7 @@ test_ht_iterator() { result = isc_ht_iter_first(iter); while (result == ISC_R_SUCCESS) { unsigned char *tkey = NULL; - void *v = NULL; + void * v = NULL; isc_ht_iter_current(iter, &v); isc_ht_iter_currentkey(iter, &tkey, &tksize); @@ -291,13 +290,11 @@ test_ht_iterator() { walked++; } assert_int_equal(result, ISC_R_NOMORE); - assert_int_equal(walked, count/2); + assert_int_equal(walked, count / 2); walked = 0; - for (result = isc_ht_iter_first(iter); - result == ISC_R_SUCCESS; - result = isc_ht_iter_next(iter)) - { + for (result = isc_ht_iter_first(iter); result == ISC_R_SUCCESS; + result = isc_ht_iter_next(iter)) { walked++; } @@ -313,35 +310,39 @@ test_ht_iterator() { /* 20 bit, 200K elements test */ static void -isc_ht_20(void **state) { +isc_ht_20(void **state) +{ UNUSED(state); test_ht_full(20, 200000); } - /* 8 bit, 20000 elements crowded test */ static void -isc_ht_8(void **state) { +isc_ht_8(void **state) +{ UNUSED(state); test_ht_full(8, 20000); } /* 8 bit, 100 elements corner case test */ static void -isc_ht_1(void **state) { +isc_ht_1(void **state) +{ UNUSED(state); test_ht_full(1, 100); } /* test hashtable iterator */ static void -isc_ht_iterator_test(void **state) { +isc_ht_iterator_test(void **state) +{ UNUSED(state); test_ht_iterator(); } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(isc_ht_20), cmocka_unit_test(isc_ht_8), @@ -357,7 +358,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/isctest.c b/lib/isc/tests/isctest.c index e3d59611e7..2c6a2c78c6 100644 --- a/lib/isc/tests/isctest.c +++ b/lib/isc/tests/isctest.c @@ -11,6 +11,8 @@ /*! \file */ +#include "isctest.h" + #include #include #include @@ -26,36 +28,33 @@ #include #include -#include "isctest.h" - -isc_mem_t *test_mctx = NULL; -isc_log_t *test_lctx = NULL; -isc_taskmgr_t *taskmgr = NULL; -isc_timermgr_t *timermgr = NULL; +isc_mem_t * test_mctx = NULL; +isc_log_t * test_lctx = NULL; +isc_taskmgr_t * taskmgr = NULL; +isc_timermgr_t * timermgr = NULL; isc_socketmgr_t *socketmgr = NULL; -isc_nm_t *netmgr = NULL; -isc_task_t *maintask = NULL; -int ncpus; +isc_nm_t * netmgr = NULL; +isc_task_t * maintask = NULL; +int ncpus; static bool test_running = false; /* * Logging categories: this needs to match the list in bin/named/log.c. */ -static isc_logcategory_t categories[] = { - { "", 0 }, - { "client", 0 }, - { "network", 0 }, - { "update", 0 }, - { "queries", 0 }, - { "unmatched", 0 }, - { "update-security", 0 }, - { "query-errors", 0 }, - { NULL, 0 } -}; +static isc_logcategory_t categories[] = { { "", 0 }, + { "client", 0 }, + { "network", 0 }, + { "update", 0 }, + { "queries", 0 }, + { "unmatched", 0 }, + { "update-security", 0 }, + { "query-errors", 0 }, + { NULL, 0 } }; static void -cleanup_managers(void) { +cleanup_managers(void) +{ if (maintask != NULL) { isc_task_shutdown(maintask); isc_task_destroy(&maintask); @@ -75,9 +74,10 @@ cleanup_managers(void) { } static isc_result_t -create_managers(unsigned int workers) { +create_managers(unsigned int workers) +{ isc_result_t result; - char *p; + char * p; if (workers == 0) { workers = isc_os_ncpus(); @@ -97,14 +97,13 @@ create_managers(unsigned int workers) { CHECK(isc_socketmgr_create(test_mctx, &socketmgr)); return (ISC_R_SUCCESS); - cleanup: +cleanup: cleanup_managers(); return (result); } isc_result_t -isc_test_begin(FILE *logfile, bool start_managers, - unsigned int workers) +isc_test_begin(FILE *logfile, bool start_managers, unsigned int workers) { isc_result_t result; @@ -118,7 +117,7 @@ isc_test_begin(FILE *logfile, bool start_managers, if (logfile != NULL) { isc_logdestination_t destination; - isc_logconfig_t *logconfig = NULL; + isc_logconfig_t * logconfig = NULL; INSIST(test_lctx == NULL); CHECK(isc_log_create(test_mctx, &test_lctx, &logconfig)); @@ -131,8 +130,7 @@ isc_test_begin(FILE *logfile, bool start_managers, destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.maximum_size = 0; CHECK(isc_log_createchannel(logconfig, "stderr", - ISC_LOG_TOFILEDESC, - ISC_LOG_DYNAMIC, + ISC_LOG_TOFILEDESC, ISC_LOG_DYNAMIC, &destination, 0)); CHECK(isc_log_usechannel(logconfig, "stderr", NULL, NULL)); } @@ -145,13 +143,14 @@ isc_test_begin(FILE *logfile, bool start_managers, return (ISC_R_SUCCESS); - cleanup: +cleanup: isc_test_end(); return (result); } void -isc_test_end(void) { +isc_test_end(void) +{ if (maintask != NULL) { isc_task_detach(&maintask); } @@ -175,7 +174,8 @@ isc_test_end(void) { * Sleep for 'usec' microseconds. */ void -isc_test_nap(uint32_t usec) { +isc_test_nap(uint32_t usec) +{ #ifdef HAVE_NANOSLEEP struct timespec ts; diff --git a/lib/isc/tests/isctest.h b/lib/isc/tests/isctest.h index 17b0342d23..8d748bca30 100644 --- a/lib/isc/tests/isctest.h +++ b/lib/isc/tests/isctest.h @@ -17,8 +17,8 @@ #include #include #include -#include #include +#include #include #include #include @@ -26,24 +26,23 @@ #include #include -#define CHECK(r) \ - do { \ - result = (r); \ +#define CHECK(r) \ + do { \ + result = (r); \ if (result != ISC_R_SUCCESS) \ - goto cleanup; \ + goto cleanup; \ } while (0) -extern isc_mem_t *test_mctx; -extern isc_log_t *test_lctx; -extern isc_taskmgr_t *taskmgr; -extern isc_timermgr_t *timermgr; +extern isc_mem_t * test_mctx; +extern isc_log_t * test_lctx; +extern isc_taskmgr_t * taskmgr; +extern isc_timermgr_t * timermgr; extern isc_socketmgr_t *socketmgr; -extern isc_nm_t *netmgr; -extern int ncpus; +extern isc_nm_t * netmgr; +extern int ncpus; isc_result_t -isc_test_begin(FILE *logfile, bool start_managers, - unsigned int workers); +isc_test_begin(FILE *logfile, bool start_managers, unsigned int workers); /*%< * Begin test, logging to 'logfile' or default if not specified. * diff --git a/lib/isc/tests/lex_test.c b/lib/isc/tests/lex_test.c index 709574e0e3..eebd9b37ea 100644 --- a/lib/isc/tests/lex_test.c +++ b/lib/isc/tests/lex_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -31,7 +30,8 @@ #include "isctest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -43,7 +43,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); isc_test_end(); @@ -53,11 +54,12 @@ _teardown(void **state) { /* check handling of 0xff */ static void -lex_0xff(void **state) { +lex_0xff(void **state) +{ isc_result_t result; - isc_lex_t *lex = NULL; + isc_lex_t * lex = NULL; isc_buffer_t death_buf; - isc_token_t token; + isc_token_t token; unsigned char death[] = { EOF, 'A' }; @@ -80,14 +82,15 @@ lex_0xff(void **state) { /* check setting of source line */ static void -lex_setline(void **state) { - isc_result_t result; - isc_lex_t *lex = NULL; +lex_setline(void **state) +{ + isc_result_t result; + isc_lex_t * lex = NULL; unsigned char text[] = "text\nto\nbe\nprocessed\nby\nlexer"; - isc_buffer_t buf; - isc_token_t token; + isc_buffer_t buf; + isc_token_t token; unsigned long line; - int i; + int i; UNUSED(state); @@ -121,7 +124,8 @@ lex_setline(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(lex_0xff), cmocka_unit_test(lex_setline), @@ -135,7 +139,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/md_test.c b/lib/isc/tests/md_test.c index 6442b499c9..ed8ff0578d 100644 --- a/lib/isc/tests/md_test.c +++ b/lib/isc/tests/md_test.c @@ -11,10 +11,9 @@ #if HAVE_CMOCKA +#include #include #include -#include - #include /* For FIPS_mode() */ @@ -25,16 +24,17 @@ #include #include +#include #include #include -#include #include "../md.c" -#define TEST_INPUT(x) (x), sizeof(x)-1 +#define TEST_INPUT(x) (x), sizeof(x) - 1 static int -_setup(void **state) { +_setup(void **state) +{ isc_md_t *md = isc_md_new(); if (md == NULL) { return (-1); @@ -44,7 +44,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ if (*state == NULL) { return (-1); } @@ -53,7 +54,8 @@ _teardown(void **state) { } static int -_reset(void **state) { +_reset(void **state) +{ if (*state == NULL) { return (-1); } @@ -64,7 +66,8 @@ _reset(void **state) { } static void -isc_md_new_test(void **state) { +isc_md_new_test(void **state) +{ UNUSED(state); isc_md_t *md = isc_md_new(); @@ -73,12 +76,13 @@ isc_md_new_test(void **state) { } static void -isc_md_free_test(void **state) { +isc_md_free_test(void **state) +{ UNUSED(state); isc_md_t *md = isc_md_new(); assert_non_null(md); - isc_md_free(md); /* Test freeing valid message digest context */ + isc_md_free(md); /* Test freeing valid message digest context */ isc_md_free(NULL); /* Test freeing NULL argument */ } @@ -98,23 +102,23 @@ isc_md_test(isc_md_t *md, isc_md_type_t type, const char *buf, size_t buflen, } unsigned char digest[ISC_MAX_MD_SIZE]; - unsigned int digestlen; + unsigned int digestlen; assert_int_equal(isc_md_final(md, digest, &digestlen), ISC_R_SUCCESS); - char hexdigest[ISC_MAX_MD_SIZE * 2 + 3]; - isc_region_t r = { .base = digest, - .length = digestlen }; + char hexdigest[ISC_MAX_MD_SIZE * 2 + 3]; + isc_region_t r = { .base = digest, .length = digestlen }; isc_buffer_t b; isc_buffer_init(&b, hexdigest, sizeof(hexdigest)); assert_return_code(isc_hex_totext(&r, 0, "", &b), ISC_R_SUCCESS); - assert_memory_equal(hexdigest, result, (result?strlen(result):0)); + assert_memory_equal(hexdigest, result, (result ? strlen(result) : 0)); assert_int_equal(isc_md_reset(md), ISC_R_SUCCESS); } static void -isc_md_init_test(void **state) { +isc_md_init_test(void **state) +{ isc_md_t *md = *state; assert_non_null(md); @@ -142,7 +146,8 @@ isc_md_init_test(void **state) { } static void -isc_md_update_test(void **state) { +isc_md_update_test(void **state) +{ isc_md_t *md = *state; assert_non_null(md); @@ -155,7 +160,8 @@ isc_md_update_test(void **state) { } static void -isc_md_reset_test(void **state) { +isc_md_reset_test(void **state) +{ isc_md_t *md = *state; #if 0 unsigned char digest[ISC_MAX_MD_SIZE] __attribute((unused)); @@ -183,12 +189,13 @@ isc_md_reset_test(void **state) { } static void -isc_md_final_test(void **state) { +isc_md_final_test(void **state) +{ isc_md_t *md = *state; assert_non_null(md); unsigned char digest[ISC_MAX_MD_SIZE]; - unsigned int digestlen; + unsigned int digestlen; /* Fail when message digest context is empty */ expect_assert_failure(isc_md_final(NULL, digest, &digestlen)); @@ -200,7 +207,8 @@ isc_md_final_test(void **state) { } static void -isc_md_md5_test(void **state) { +isc_md_md5_test(void **state) +{ isc_md_t *md = *state; isc_md_test(md, ISC_MD_MD5, NULL, 0, NULL, 0); isc_md_test(md, ISC_MD_MD5, TEST_INPUT(""), @@ -224,7 +232,8 @@ isc_md_md5_test(void **state) { } static void -isc_md_sha1_test(void **state) { +isc_md_sha1_test(void **state) +{ isc_md_t *md = *state; isc_md_test(md, ISC_MD_SHA1, NULL, 0, NULL, 0); isc_md_test(md, ISC_MD_SHA1, TEST_INPUT(""), @@ -236,20 +245,16 @@ isc_md_sha1_test(void **state) { "ljklmklmnlmnomnopnopq"), "84983E441C3BD26EBAAE4AA1F95129E5E54670F1", 1); isc_md_test(md, ISC_MD_SHA1, TEST_INPUT("a"), - "34AA973CD4C4DAA4F61EEB2BDBAD27316534016F", - 1000000); + "34AA973CD4C4DAA4F61EEB2BDBAD27316534016F", 1000000); isc_md_test(md, ISC_MD_SHA1, TEST_INPUT("01234567012345670123456701234567"), - "DEA356A2CDDD90C7A7ECEDC5EBB563934F460452", - 20); + "DEA356A2CDDD90C7A7ECEDC5EBB563934F460452", 20); isc_md_test(md, ISC_MD_SHA1, TEST_INPUT("\x5e"), - "5E6F80A34A9798CAFC6A5DB96CC57BA4C4DB59C2", - 1); + "5E6F80A34A9798CAFC6A5DB96CC57BA4C4DB59C2", 1); isc_md_test(md, ISC_MD_SHA1, TEST_INPUT("\x9a\x7d\xfd\xf1\xec\xea\xd0\x6e\xd6\x46" "\xaa\x55\xfe\x75\x71\x46"), - "82ABFF6605DBE1C17DEF12A394FA22A82B544A35", - 1); + "82ABFF6605DBE1C17DEF12A394FA22A82B544A35", 1); isc_md_test(md, ISC_MD_SHA1, TEST_INPUT("\xf7\x8f\x92\x14\x1b\xcd\x17\x0a\xe8\x9b" "\x4f\xba\x15\xa1\xd5\x9f\x3f\xd8\x4d\x22" @@ -272,7 +277,8 @@ isc_md_sha1_test(void **state) { } static void -isc_md_sha224_test(void **state) { +isc_md_sha224_test(void **state) +{ isc_md_t *md = *state; isc_md_test(md, ISC_MD_SHA224, NULL, 0, NULL, 0); @@ -332,7 +338,8 @@ isc_md_sha224_test(void **state) { } static void -isc_md_sha256_test(void **state) { +isc_md_sha256_test(void **state) +{ isc_md_t *md = *state; isc_md_test(md, ISC_MD_SHA256, NULL, 0, NULL, 0); @@ -353,7 +360,8 @@ isc_md_sha256_test(void **state) { 1); isc_md_test(md, ISC_MD_SHA256, TEST_INPUT("a"), "CDC76E5C9914FB9281A1C7E284D73E67F1809A48A49720" - "0E046D39CCC7112CD0", 1000000); + "0E046D39CCC7112CD0", + 1000000); isc_md_test(md, ISC_MD_SHA256, TEST_INPUT("01234567012345670123456701234567"), "594847328451BDFA85056225462CC1D867D877FB388DF0" @@ -393,7 +401,8 @@ isc_md_sha256_test(void **state) { } static void -isc_md_sha384_test(void **state) { +isc_md_sha384_test(void **state) +{ isc_md_t *md = *state; isc_md_test(md, ISC_MD_SHA384, NULL, 0, NULL, 0); @@ -470,7 +479,8 @@ isc_md_sha384_test(void **state) { } static void -isc_md_sha512_test(void **state) { +isc_md_sha512_test(void **state) +{ isc_md_t *md = *state; isc_md_test(md, ISC_MD_SHA512, NULL, 0, NULL, 0); @@ -546,18 +556,19 @@ isc_md_sha512_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { /* isc_md_new() */ cmocka_unit_test(isc_md_new_test), /* isc_md_init() */ - cmocka_unit_test_setup_teardown(isc_md_init_test, - _reset, _reset), + cmocka_unit_test_setup_teardown(isc_md_init_test, _reset, + _reset), /* isc_md_reset() */ - cmocka_unit_test_setup_teardown(isc_md_reset_test, - _reset, _reset), + cmocka_unit_test_setup_teardown(isc_md_reset_test, _reset, + _reset), /* isc_md_init() -> isc_md_update() -> isc_md_final() */ cmocka_unit_test(isc_md_md5_test), @@ -567,10 +578,10 @@ main(void) { cmocka_unit_test(isc_md_sha384_test), cmocka_unit_test(isc_md_sha512_test), - cmocka_unit_test_setup_teardown(isc_md_update_test, - _reset, _reset), - cmocka_unit_test_setup_teardown(isc_md_final_test, - _reset, _reset), + cmocka_unit_test_setup_teardown(isc_md_update_test, _reset, + _reset), + cmocka_unit_test_setup_teardown(isc_md_final_test, _reset, + _reset), cmocka_unit_test(isc_md_free_test), }; @@ -583,7 +594,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/mem_test.c b/lib/isc/tests/mem_test.c index 0b55e29035..41e5fd66d7 100644 --- a/lib/isc/tests/mem_test.c +++ b/lib/isc/tests/mem_test.c @@ -11,12 +11,11 @@ #if HAVE_CMOCKA -#include -#include -#include - #include #include /* IWYU pragma: keep */ +#include +#include +#include #include #include @@ -30,16 +29,16 @@ #include #include #include -#include #include #include +#include #include "../mem_p.h" - #include "isctest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -51,7 +50,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); isc_test_end(); @@ -59,22 +59,23 @@ _teardown(void **state) { return (0); } -#define MP1_FREEMAX 10 -#define MP1_FILLCNT 10 -#define MP1_MAXALLOC 30 +#define MP1_FREEMAX 10 +#define MP1_FILLCNT 10 +#define MP1_MAXALLOC 30 -#define MP2_FREEMAX 25 -#define MP2_FILLCNT 25 +#define MP2_FREEMAX 25 +#define MP2_FILLCNT 25 /* general memory system tests */ static void -isc_mem_test(void **state) { - void *items1[50]; - void *items2[50]; - void *tmp; +isc_mem_test(void **state) +{ + void * items1[50]; + void * items2[50]; + void * tmp; isc_mempool_t *mp1 = NULL, *mp2 = NULL; - unsigned int i, j; - int rval; + unsigned int i, j; + int rval; UNUSED(state); @@ -156,11 +157,12 @@ isc_mem_test(void **state) { /* test TotalUse calculation */ static void -isc_mem_total_test(void **state) { +isc_mem_total_test(void **state) +{ isc_mem_t *mctx2 = NULL; - size_t before, after; - ssize_t diff; - int i; + size_t before, after; + ssize_t diff; + int i; UNUSED(state); @@ -205,11 +207,12 @@ isc_mem_total_test(void **state) { /* test InUse calculation */ static void -isc_mem_inuse_test(void **state) { +isc_mem_inuse_test(void **state) +{ isc_mem_t *mctx2 = NULL; - size_t before, after; - ssize_t diff; - void *ptr; + size_t before, after; + ssize_t diff; + void * ptr; UNUSED(state); @@ -232,12 +235,13 @@ isc_mem_inuse_test(void **state) { /* test mem with no flags */ static void -isc_mem_noflags_test(void **state) { +isc_mem_noflags_test(void **state) +{ isc_result_t result; - isc_mem_t *mctx2 = NULL; - char buf[4096], *p, *q; - FILE *f; - void *ptr; + isc_mem_t * mctx2 = NULL; + char buf[4096], *p, *q; + FILE * f; + void * ptr; result = isc_stdio_open("mem.output", "w", &f); assert_int_equal(result, ISC_R_SUCCESS); @@ -277,12 +281,13 @@ isc_mem_noflags_test(void **state) { /* test mem with record flag */ static void -isc_mem_recordflag_test(void **state) { +isc_mem_recordflag_test(void **state) +{ isc_result_t result; - isc_mem_t *mctx2 = NULL; - char buf[4096], *p; - FILE *f; - void *ptr; + isc_mem_t * mctx2 = NULL; + char buf[4096], *p; + FILE * f; + void * ptr; result = isc_stdio_open("mem.output", "w", &f); assert_int_equal(result, ISC_R_SUCCESS); @@ -314,17 +319,17 @@ isc_mem_recordflag_test(void **state) { p = strchr(p + 1, '\n'); assert_non_null(p); assert_int_equal(strlen(p), 1); - } /* test mem with trace flag */ static void -isc_mem_traceflag_test(void **state) { +isc_mem_traceflag_test(void **state) +{ isc_result_t result; - isc_mem_t *mctx2 = NULL; - char buf[4096], *p; - FILE *f; - void *ptr; + isc_mem_t * mctx2 = NULL; + char buf[4096], *p; + FILE * f; + void * ptr; /* redirect stderr so we can check trace output */ f = freopen("mem.output", "w", stderr); @@ -372,12 +377,13 @@ isc_mem_traceflag_test(void **state) { #if !defined(__SANITIZE_THREAD__) #define ITERS 512 -#define NUM_ITEMS 1024 //768 +#define NUM_ITEMS 1024 // 768 #define ITEM_SIZE 65534 static isc_threadresult_t -mem_thread(isc_threadarg_t arg) { - void *items[NUM_ITEMS]; +mem_thread(isc_threadarg_t arg) +{ + void * items[NUM_ITEMS]; size_t size = *((size_t *)arg); for (int i = 0; i < ITERS; i++) { @@ -393,13 +399,14 @@ mem_thread(isc_threadarg_t arg) { } static void -isc_mem_benchmark(void **state) { - int nthreads = ISC_MAX(ISC_MIN(isc_os_ncpus(), 32), 1); +isc_mem_benchmark(void **state) +{ + int nthreads = ISC_MAX(ISC_MIN(isc_os_ncpus(), 32), 1); isc_thread_t threads[32]; - isc_time_t ts1, ts2; - double t; + isc_time_t ts1, ts2; + double t; isc_result_t result; - size_t size = ITEM_SIZE; + size_t size = ITEM_SIZE; UNUSED(state); @@ -426,9 +433,10 @@ isc_mem_benchmark(void **state) { } static isc_threadresult_t -mempool_thread(isc_threadarg_t arg) { +mempool_thread(isc_threadarg_t arg) +{ isc_mempool_t *mp = (isc_mempool_t *)arg; - void *items[NUM_ITEMS]; + void * items[NUM_ITEMS]; for (int i = 0; i < ITERS; i++) { for (int j = 0; j < NUM_ITEMS; j++) { @@ -443,15 +451,16 @@ mempool_thread(isc_threadarg_t arg) { } static void -isc_mempool_benchmark(void **state) { - int nthreads = ISC_MAX(ISC_MIN(isc_os_ncpus(), 32), 1); - isc_thread_t threads[32]; - isc_time_t ts1, ts2; - double t; - isc_result_t result; - size_t size = ITEM_SIZE; +isc_mempool_benchmark(void **state) +{ + int nthreads = ISC_MAX(ISC_MIN(isc_os_ncpus(), 32), 1); + isc_thread_t threads[32]; + isc_time_t ts1, ts2; + double t; + isc_result_t result; + size_t size = ITEM_SIZE; isc_mempool_t *mp = NULL; - isc_mutex_t mplock; + isc_mutex_t mplock; isc_mutex_init(&mplock); @@ -496,33 +505,34 @@ isc_mempool_benchmark(void **state) { */ int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(isc_mem_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(isc_mem_total_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(isc_mem_inuse_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(isc_mem_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(isc_mem_total_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(isc_mem_inuse_test, _setup, + _teardown), #if !defined(__SANITIZE_THREAD__) - cmocka_unit_test_setup_teardown(isc_mem_benchmark, - _setup, _teardown), - cmocka_unit_test_setup_teardown(isc_mempool_benchmark, - _setup, _teardown), + cmocka_unit_test_setup_teardown(isc_mem_benchmark, _setup, + _teardown), + cmocka_unit_test_setup_teardown(isc_mempool_benchmark, _setup, + _teardown), #endif /* __SANITIZE_THREAD__ */ #if ISC_MEM_TRACKLINES - cmocka_unit_test_setup_teardown(isc_mem_noflags_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(isc_mem_recordflag_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(isc_mem_noflags_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(isc_mem_recordflag_test, _setup, + _teardown), /* * traceflag_test closes stderr, which causes weird * side effects for any next test trying to use libuv. * This test has to be the last one to avoid problems. */ - cmocka_unit_test_setup_teardown(isc_mem_traceflag_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(isc_mem_traceflag_test, _setup, + _teardown), #endif }; @@ -534,10 +544,10 @@ main(void) { #include int -main(void) { - printf("1..0 # Skipped: cmocka not available\n"); - return (0); - +main(void) +{ + printf("1..0 # Skipped: cmocka not available\n"); + return (0); } #endif diff --git a/lib/isc/tests/netaddr_test.c b/lib/isc/tests/netaddr_test.c index 419c837dd3..59b1c7de97 100644 --- a/lib/isc/tests/netaddr_test.c +++ b/lib/isc/tests/netaddr_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA -#include -#include #include - +#include #include +#include #include #include #include @@ -29,30 +28,24 @@ /* test isc_netaddr_isnetzero() */ static void -netaddr_isnetzero(void **state) { - unsigned int i; +netaddr_isnetzero(void **state) +{ + unsigned int i; struct in_addr ina; struct { const char *address; - bool expect; - } tests[] = { - { "0.0.0.0", true }, - { "0.0.0.1", true }, - { "0.0.1.2", true }, - { "0.1.2.3", true }, - { "10.0.0.0", false }, - { "10.9.0.0", false }, - { "10.9.8.0", false }, - { "10.9.8.7", false }, - { "127.0.0.0", false }, - { "127.0.0.1", false } - }; - bool result; + bool expect; + } tests[] = { { "0.0.0.0", true }, { "0.0.0.1", true }, + { "0.0.1.2", true }, { "0.1.2.3", true }, + { "10.0.0.0", false }, { "10.9.0.0", false }, + { "10.9.8.0", false }, { "10.9.8.7", false }, + { "127.0.0.0", false }, { "127.0.0.1", false } }; + bool result; isc_netaddr_t netaddr; UNUSED(state); - for (i = 0; i < sizeof(tests)/sizeof(tests[0]); i++) { + for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++) { ina.s_addr = inet_addr(tests[i].address); isc_netaddr_fromin(&netaddr, &ina); result = isc_netaddr_isnetzero(&netaddr); @@ -62,16 +55,17 @@ netaddr_isnetzero(void **state) { /* test isc_netaddr_masktoprefixlen() calculates correct prefix lengths */ static void -netaddr_masktoprefixlen(void **state) { +netaddr_masktoprefixlen(void **state) +{ struct in_addr na_a; struct in_addr na_b; struct in_addr na_c; struct in_addr na_d; - isc_netaddr_t ina_a; - isc_netaddr_t ina_b; - isc_netaddr_t ina_c; - isc_netaddr_t ina_d; - unsigned int plen; + isc_netaddr_t ina_a; + isc_netaddr_t ina_b; + isc_netaddr_t ina_c; + isc_netaddr_t ina_d; + unsigned int plen; UNUSED(state); @@ -90,7 +84,7 @@ netaddr_masktoprefixlen(void **state) { assert_int_equal(plen, 0); assert_int_equal(isc_netaddr_masktoprefixlen(&ina_b, &plen), - ISC_R_SUCCESS); + ISC_R_SUCCESS); assert_int_equal(plen, 31); assert_int_equal(isc_netaddr_masktoprefixlen(&ina_c, &plen), @@ -104,28 +98,26 @@ netaddr_masktoprefixlen(void **state) { /* check multicast addresses are detected properly */ static void -netaddr_multicast(void **state) { +netaddr_multicast(void **state) +{ unsigned int i; struct { - int family; + int family; const char *addr; - bool is_multicast; + bool is_multicast; } tests[] = { - { AF_INET, "1.2.3.4", false }, - { AF_INET, "4.3.2.1", false }, - { AF_INET, "224.1.1.1", true }, - { AF_INET, "1.1.1.244", false }, - { AF_INET6, "::1", false }, - { AF_INET6, "ff02::1", true } + { AF_INET, "1.2.3.4", false }, { AF_INET, "4.3.2.1", false }, + { AF_INET, "224.1.1.1", true }, { AF_INET, "1.1.1.244", false }, + { AF_INET6, "::1", false }, { AF_INET6, "ff02::1", true } }; UNUSED(state); for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++) { - isc_netaddr_t na; - struct in_addr in; + isc_netaddr_t na; + struct in_addr in; struct in6_addr in6; - int r; + int r; if (tests[i].family == AF_INET) { r = inet_pton(AF_INET, tests[i].addr, @@ -145,7 +137,8 @@ netaddr_multicast(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(netaddr_isnetzero), cmocka_unit_test(netaddr_masktoprefixlen), @@ -160,7 +153,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/parse_test.c b/lib/isc/tests/parse_test.c index 60dfa188e4..4a5b9539ea 100644 --- a/lib/isc/tests/parse_test.c +++ b/lib/isc/tests/parse_test.c @@ -13,12 +13,11 @@ #if HAVE_CMOCKA -#include -#include -#include - #include #include /* IWYU pragma: keep */ +#include +#include +#include #include #include #include @@ -33,7 +32,8 @@ #include "isctest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -45,7 +45,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); isc_test_end(); @@ -55,9 +56,10 @@ _teardown(void **state) { /* Test for 32 bit overflow on 64 bit machines in isc_parse_uint32 */ static void -parse_overflow(void **state) { +parse_overflow(void **state) +{ isc_result_t result; - uint32_t output; + uint32_t output; UNUSED(state); @@ -73,10 +75,11 @@ parse_overflow(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(parse_overflow, - _setup, _teardown), + cmocka_unit_test_setup_teardown(parse_overflow, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -87,7 +90,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/pool_test.c b/lib/isc/tests/pool_test.c index 5f803632f8..0853205955 100644 --- a/lib/isc/tests/pool_test.c +++ b/lib/isc/tests/pool_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -30,7 +29,8 @@ #include "isctest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -42,7 +42,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); isc_test_end(); @@ -51,35 +52,39 @@ _teardown(void **state) { } static isc_result_t -poolinit(void **target, void *arg) { +poolinit(void **target, void *arg) +{ isc_result_t result; - isc_taskmgr_t *mgr = (isc_taskmgr_t *) arg; - isc_task_t *task = NULL; + isc_taskmgr_t *mgr = (isc_taskmgr_t *)arg; + isc_task_t * task = NULL; result = isc_task_create(mgr, 0, &task); if (result != ISC_R_SUCCESS) return (result); - *target = (void *) task; + *target = (void *)task; return (ISC_R_SUCCESS); } static void -poolfree(void **target) { - isc_task_t *task = *(isc_task_t **) target; +poolfree(void **target) +{ + isc_task_t *task = *(isc_task_t **)target; isc_task_destroy(&task); *target = NULL; } /* Create a pool */ static void -create_pool(void **state) { +create_pool(void **state) +{ isc_result_t result; - isc_pool_t *pool = NULL; + isc_pool_t * pool = NULL; UNUSED(state); - result = isc_pool_create(test_mctx, 8, poolfree, poolinit, taskmgr, &pool); + result = isc_pool_create(test_mctx, 8, poolfree, poolinit, taskmgr, + &pool); assert_int_equal(result, ISC_R_SUCCESS); assert_int_equal(isc_pool_count(pool), 8); @@ -89,13 +94,15 @@ create_pool(void **state) { /* Resize a pool */ static void -expand_pool(void **state) { +expand_pool(void **state) +{ isc_result_t result; - isc_pool_t *pool1 = NULL, *pool2 = NULL, *hold = NULL; + isc_pool_t * pool1 = NULL, *pool2 = NULL, *hold = NULL; UNUSED(state); - result = isc_pool_create(test_mctx, 10, poolfree, poolinit, taskmgr, &pool1); + result = isc_pool_create(test_mctx, 10, poolfree, poolinit, taskmgr, + &pool1); assert_int_equal(result, ISC_R_SUCCESS); assert_int_equal(isc_pool_count(pool1), 10); @@ -133,29 +140,31 @@ expand_pool(void **state) { /* Get objects */ static void -get_objects(void **state) { +get_objects(void **state) +{ isc_result_t result; - isc_pool_t *pool = NULL; - void *item; - isc_task_t *task1 = NULL, *task2 = NULL, *task3 = NULL; + isc_pool_t * pool = NULL; + void * item; + isc_task_t * task1 = NULL, *task2 = NULL, *task3 = NULL; UNUSED(state); - result = isc_pool_create(test_mctx, 2, poolfree, poolinit, taskmgr, &pool); + result = isc_pool_create(test_mctx, 2, poolfree, poolinit, taskmgr, + &pool); assert_int_equal(result, ISC_R_SUCCESS); assert_int_equal(isc_pool_count(pool), 2); item = isc_pool_get(pool); assert_non_null(item); - isc_task_attach((isc_task_t *) item, &task1); + isc_task_attach((isc_task_t *)item, &task1); item = isc_pool_get(pool); assert_non_null(item); - isc_task_attach((isc_task_t *) item, &task2); + isc_task_attach((isc_task_t *)item, &task2); item = isc_pool_get(pool); assert_non_null(item); - isc_task_attach((isc_task_t *) item, &task3); + isc_task_attach((isc_task_t *)item, &task3); isc_task_detach(&task1); isc_task_detach(&task2); @@ -166,14 +175,12 @@ get_objects(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(create_pool, - _setup, _teardown), - cmocka_unit_test_setup_teardown(expand_pool, - _setup, _teardown), - cmocka_unit_test_setup_teardown(get_objects, - _setup, _teardown), + cmocka_unit_test_setup_teardown(create_pool, _setup, _teardown), + cmocka_unit_test_setup_teardown(expand_pool, _setup, _teardown), + cmocka_unit_test_setup_teardown(get_objects, _setup, _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -184,7 +191,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/radix_test.c b/lib/isc/tests/radix_test.c index 26fd006fff..92b2da71e6 100644 --- a/lib/isc/tests/radix_test.c +++ b/lib/isc/tests/radix_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include @@ -31,7 +30,8 @@ #include "isctest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -43,7 +43,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); isc_test_end(); @@ -53,13 +54,14 @@ _teardown(void **state) { /* test radix searching */ static void -isc_radix_search_test(void **state) { +isc_radix_search_test(void **state) +{ isc_radix_tree_t *radix = NULL; isc_radix_node_t *node; - isc_prefix_t prefix; - isc_result_t result; - struct in_addr in_addr; - isc_netaddr_t netaddr; + isc_prefix_t prefix; + isc_result_t result; + struct in_addr in_addr; + isc_netaddr_t netaddr; UNUSED(state); @@ -101,10 +103,11 @@ isc_radix_search_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(isc_radix_search_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(isc_radix_search_test, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -115,7 +118,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/random_test.c b/lib/isc/tests/random_test.c index 1dbdf0068a..35326b17ef 100644 --- a/lib/isc/tests/random_test.c +++ b/lib/isc/tests/random_test.c @@ -18,13 +18,12 @@ #if HAVE_CMOCKA -#include -#include -#include - #include #include #include /* IWYU pragma: keep */ +#include +#include +#include #include #include @@ -43,8 +42,7 @@ #define REPS 25000 -typedef double (pvalue_func_t)(isc_mem_t *mctx, - uint16_t *values, size_t length); +typedef double(pvalue_func_t)(isc_mem_t *mctx, uint16_t *values, size_t length); /* igamc(), igam(), etc. were adapted (and cleaned up) from the Cephes * math library: @@ -54,15 +52,17 @@ typedef double (pvalue_func_t)(isc_mem_t *mctx, * * The Cephes math library was released into the public domain as part * of netlib. -*/ + */ static double MACHEP = 1.11022302462515654042E-16; static double MAXLOG = 7.09782712893383996843E2; static double big = 4.503599627370496e15; -static double biginv = 2.22044604925031308085e-16; +static double biginv = 2.22044604925031308085e-16; -static double igamc(double a, double x); -static double igam(double a, double x); +static double +igamc(double a, double x); +static double +igam(double a, double x); /* Set to true (or use -v option) for verbose output */ static bool verbose = false; @@ -77,7 +77,8 @@ typedef enum { } isc_random_func; static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -89,7 +90,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); isc_test_end(); @@ -98,7 +100,8 @@ _teardown(void **state) { } static double -igamc(double a, double x) { +igamc(double a, double x) +{ double ans, ax, c, yc, r, t, y, z; double pk, pkm1, pkm2, qk, qkm1, qkm2; @@ -130,8 +133,8 @@ igamc(double a, double x) { y += 1.0; z += 2.0; yc = y * c; - pk = pkm1 * z - pkm2 * yc; - qk = qkm1 * z - qkm2 * yc; + pk = pkm1 * z - pkm2 * yc; + qk = qkm1 * z - qkm2 * yc; if (qk != 0) { r = pk / qk; t = fabs((ans - r) / r); @@ -156,7 +159,8 @@ igamc(double a, double x) { } static double -igam(double a, double x) { +igam(double a, double x) +{ double ans, ax, c, r; if ((x <= 0) || (a <= 0)) @@ -167,7 +171,7 @@ igam(double a, double x) { /* Compute x**a * exp(-x) / md_gamma(a) */ ax = a * log(x) - x - lgamma(a); - if (ax < -MAXLOG ) { + if (ax < -MAXLOG) { print_error("# igam: UNDERFLOW, ax=%f\n", ax); return (0.0); } @@ -187,12 +191,13 @@ igam(double a, double x) { return (ans * ax / a); } -static int8_t scounts_table[65536]; +static int8_t scounts_table[65536]; static uint8_t bitcounts_table[65536]; static int8_t -scount_calculate(uint16_t n) { - int i; +scount_calculate(uint16_t n) +{ + int i; int8_t sc; sc = 0; @@ -212,8 +217,9 @@ scount_calculate(uint16_t n) { } static uint8_t -bitcount_calculate(uint16_t n) { - int i; +bitcount_calculate(uint16_t n) +{ + int i; uint8_t bc; bc = 0; @@ -231,7 +237,8 @@ bitcount_calculate(uint16_t n) { } static void -tables_init(void) { +tables_init(void) +{ uint32_t i; for (i = 0; i < 65536; i++) { @@ -248,11 +255,12 @@ tables_init(void) { * This function destroys (modifies) the data passed in bits. */ static uint32_t -matrix_binaryrank(uint32_t *bits, size_t rows, size_t cols) { - size_t i, j, k; +matrix_binaryrank(uint32_t *bits, size_t rows, size_t cols) +{ + size_t i, j, k; unsigned int rt = 0; - uint32_t rank = 0; - uint32_t tmp; + uint32_t rank = 0; + uint32_t tmp; for (k = 0; k < rows; k++) { i = k; @@ -294,17 +302,18 @@ matrix_binaryrank(uint32_t *bits, size_t rows, size_t cols) { } static void -random_test(pvalue_func_t *func, isc_random_func test_func) { +random_test(pvalue_func_t *func, isc_random_func test_func) +{ uint32_t m; uint32_t j; uint32_t histogram[11] = { 0 }; uint32_t passed; - double proportion; - double p_hat; - double lower_confidence, higher_confidence; - double chi_square; - double p_value_t; - double alpha; + double proportion; + double p_hat; + double lower_confidence, higher_confidence; + double chi_square; + double p_value_t; + double alpha; tables_init(); @@ -312,27 +321,27 @@ random_test(pvalue_func_t *func, isc_random_func test_func) { passed = 0; for (j = 0; j < m; j++) { - uint32_t i; - uint32_t values[REPS]; + uint32_t i; + uint32_t values[REPS]; uint16_t *uniform_values; - double p_value; + double p_value; switch (test_func) { case ISC_RANDOM8: - for (i = 0; i < (sizeof(values) / sizeof(*values)); i++) - { + for (i = 0; i < (sizeof(values) / sizeof(*values)); + i++) { values[i] = isc_random8(); } break; case ISC_RANDOM16: - for (i = 0; i < (sizeof(values) / sizeof(*values)); i++) - { + for (i = 0; i < (sizeof(values) / sizeof(*values)); + i++) { values[i] = isc_random16(); } break; case ISC_RANDOM32: - for (i = 0; i < (sizeof(values) / sizeof(*values)); i++) - { + for (i = 0; i < (sizeof(values) / sizeof(*values)); + i++) { values[i] = isc_random32(); } break; @@ -343,8 +352,7 @@ random_test(pvalue_func_t *func, isc_random_func test_func) { uniform_values = (uint16_t *)values; for (i = 0; i < (sizeof(values) / (sizeof(*uniform_values))); - i++) - { + i++) { uniform_values[i] = isc_random_uniform(UINT16_MAX); } @@ -361,7 +369,7 @@ random_test(pvalue_func_t *func, isc_random_func test_func) { assert_in_range(p_value, 0.0, 1.0); - i = (int) floor(p_value * 10); + i = (int)floor(p_value * 10); histogram[i]++; } @@ -370,7 +378,7 @@ random_test(pvalue_func_t *func, isc_random_func test_func) { * 4.2.1 in NIST SP 800-22). */ alpha = 0.01; /* the significance level */ - proportion = (double) passed / (double) m; + proportion = (double)passed / (double)m; p_hat = 1.0 - alpha; lower_confidence = p_hat - (3.0 * sqrt((p_hat * (1.0 - p_hat)) / m)); higher_confidence = p_hat + (3.0 * sqrt((p_hat * (1.0 - p_hat)) / m)); @@ -431,12 +439,13 @@ random_test(pvalue_func_t *func, isc_random_func test_func) { * RANDOM test suite. */ static double -monobit(isc_mem_t *mctx, uint16_t *values, size_t length) { - size_t i; - int32_t scount; +monobit(isc_mem_t *mctx, uint16_t *values, size_t length) +{ + size_t i; + int32_t scount; uint32_t numbits; - double s_obs; - double p_value; + double s_obs; + double p_value; UNUSED(mctx); @@ -463,20 +472,21 @@ monobit(isc_mem_t *mctx, uint16_t *values, size_t length) { * This is the runs test taken from the NIST SP 800-22 RNG test suite. */ static double -runs(isc_mem_t *mctx, uint16_t *values, size_t length) { - size_t i; +runs(isc_mem_t *mctx, uint16_t *values, size_t length) +{ + size_t i; uint32_t bcount; uint32_t numbits; - double pi; - double tau; + double pi; + double tau; uint32_t j; uint32_t b; - uint8_t bit_this; - uint8_t bit_prev; + uint8_t bit_this; + uint8_t bit_prev; uint32_t v_obs; - double numer; - double denom; - double p_value; + double numer; + double denom; + double p_value; UNUSED(mctx); @@ -490,7 +500,7 @@ runs(isc_mem_t *mctx, uint16_t *values, size_t length) { print_message("# numbits=%u, bcount=%u\n", numbits, bcount); } - pi = (double) bcount / (double) numbits; + pi = (double)bcount / (double)numbits; tau = 2.0 / sqrt(numbits); /* Preconditions (section 2.3.7 in NIST SP 800-22) */ @@ -540,15 +550,16 @@ runs(isc_mem_t *mctx, uint16_t *values, size_t length) { * test suite. */ static double -blockfrequency(isc_mem_t *mctx, uint16_t *values, size_t length) { +blockfrequency(isc_mem_t *mctx, uint16_t *values, size_t length) +{ uint32_t i; uint32_t numbits; uint32_t mbits; uint32_t mwords; uint32_t numblocks; - double *pi; - double chi_square; - double p_value; + double * pi; + double chi_square; + double p_value; numbits = length * sizeof(*values) * 8; mbits = 32000; @@ -562,7 +573,7 @@ blockfrequency(isc_mem_t *mctx, uint16_t *values, size_t length) { /* Preconditions (section 2.2.7 in NIST SP 800-22) */ assert_true(numbits >= 100); assert_true(mbits >= 20); - assert_true((double) mbits > (0.01 * numbits)); + assert_true((double)mbits > (0.01 * numbits)); assert_true(numblocks < 100); assert_true(numbits >= (mbits * numblocks)); @@ -604,20 +615,21 @@ blockfrequency(isc_mem_t *mctx, uint16_t *values, size_t length) { * test suite. */ static double -binarymatrixrank(isc_mem_t *mctx, uint16_t *values, size_t length) { +binarymatrixrank(isc_mem_t *mctx, uint16_t *values, size_t length) +{ uint32_t i; - size_t matrix_m; - size_t matrix_q; + size_t matrix_m; + size_t matrix_q; uint32_t num_matrices; - size_t numbits; + size_t numbits; uint32_t fm_0; uint32_t fm_1; uint32_t fm_rest; - double term1; - double term2; - double term3; - double chi_square; - double p_value; + double term1; + double term2; + double term3; + double chi_square; + double p_value; UNUSED(mctx); @@ -640,11 +652,11 @@ binarymatrixrank(isc_mem_t *mctx, uint16_t *values, size_t length) { * takes up uint32_t array of size 32. */ uint32_t bits[32]; - int j; + int j; uint32_t rank; for (j = 0; j < 32; j++) { - size_t idx; + size_t idx; uint32_t r1; uint32_t r2; @@ -668,11 +680,14 @@ binarymatrixrank(isc_mem_t *mctx, uint16_t *values, size_t length) { /* Compute chi_square */ term1 = ((fm_0 - (0.2888 * num_matrices)) * - (fm_0 - (0.2888 * num_matrices))) / (0.2888 * num_matrices); + (fm_0 - (0.2888 * num_matrices))) / + (0.2888 * num_matrices); term2 = ((fm_1 - (0.5776 * num_matrices)) * - (fm_1 - (0.5776 * num_matrices))) / (0.5776 * num_matrices); + (fm_1 - (0.5776 * num_matrices))) / + (0.5776 * num_matrices); term3 = ((fm_rest - (0.1336 * num_matrices)) * - (fm_rest - (0.1336 * num_matrices))) / (0.1336 * num_matrices); + (fm_rest - (0.1336 * num_matrices))) / + (0.1336 * num_matrices); chi_square = term1 + term2 + term3; @@ -692,7 +707,8 @@ binarymatrixrank(isc_mem_t *mctx, uint16_t *values, size_t length) { /* Monobit test for the RANDOM */ static void -isc_random32_monobit(void **state) { +isc_random32_monobit(void **state) +{ UNUSED(state); random_test(monobit, ISC_RANDOM32); @@ -700,7 +716,8 @@ isc_random32_monobit(void **state) { /* Runs test for the RANDOM */ static void -isc_random32_runs(void **state) { +isc_random32_runs(void **state) +{ UNUSED(state); random_test(runs, ISC_RANDOM32); @@ -708,7 +725,8 @@ isc_random32_runs(void **state) { /* Block frequency test for the RANDOM */ static void -isc_random32_blockfrequency(void **state) { +isc_random32_blockfrequency(void **state) +{ UNUSED(state); random_test(blockfrequency, ISC_RANDOM32); @@ -716,7 +734,8 @@ isc_random32_blockfrequency(void **state) { /* Binary matrix rank test for the RANDOM */ static void -isc_random32_binarymatrixrank(void **state) { +isc_random32_binarymatrixrank(void **state) +{ UNUSED(state); random_test(binarymatrixrank, ISC_RANDOM32); @@ -728,7 +747,8 @@ isc_random32_binarymatrixrank(void **state) { /* Monobit test for the RANDOM */ static void -isc_random_bytes_monobit(void **state) { +isc_random_bytes_monobit(void **state) +{ UNUSED(state); random_test(monobit, ISC_RANDOM_BYTES); @@ -736,7 +756,8 @@ isc_random_bytes_monobit(void **state) { /* Runs test for the RANDOM */ static void -isc_random_bytes_runs(void **state) { +isc_random_bytes_runs(void **state) +{ UNUSED(state); random_test(runs, ISC_RANDOM_BYTES); @@ -744,7 +765,8 @@ isc_random_bytes_runs(void **state) { /* Block frequency test for the RANDOM */ static void -isc_random_bytes_blockfrequency(void **state) { +isc_random_bytes_blockfrequency(void **state) +{ UNUSED(state); random_test(blockfrequency, ISC_RANDOM_BYTES); @@ -752,20 +774,21 @@ isc_random_bytes_blockfrequency(void **state) { /* Binary matrix rank test for the RANDOM */ static void -isc_random_bytes_binarymatrixrank(void **state) { +isc_random_bytes_binarymatrixrank(void **state) +{ UNUSED(state); random_test(binarymatrixrank, ISC_RANDOM_BYTES); } - /*** *** Tests for isc_random_uniform() function: ***/ /* Monobit test for the RANDOM */ static void -isc_random_uniform_monobit(void **state) { +isc_random_uniform_monobit(void **state) +{ UNUSED(state); random_test(monobit, ISC_RANDOM_UNIFORM); @@ -773,7 +796,8 @@ isc_random_uniform_monobit(void **state) { /* Runs test for the RANDOM */ static void -isc_random_uniform_runs(void **state) { +isc_random_uniform_runs(void **state) +{ UNUSED(state); random_test(runs, ISC_RANDOM_UNIFORM); @@ -781,7 +805,8 @@ isc_random_uniform_runs(void **state) { /* Block frequency test for the RANDOM */ static void -isc_random_uniform_blockfrequency(void **state) { +isc_random_uniform_blockfrequency(void **state) +{ UNUSED(state); random_test(blockfrequency, ISC_RANDOM_UNIFORM); @@ -789,7 +814,8 @@ isc_random_uniform_blockfrequency(void **state) { /* Binary matrix rank test for the RANDOM */ static void -isc_random_uniform_binarymatrixrank(void **state) { +isc_random_uniform_binarymatrixrank(void **state) +{ UNUSED(state); random_test(binarymatrixrank, ISC_RANDOM_UNIFORM); @@ -799,7 +825,8 @@ isc_random_uniform_binarymatrixrank(void **state) { /* Monobit test for the RANDOM */ static void -isc_nonce_bytes_monobit(void **state) { +isc_nonce_bytes_monobit(void **state) +{ UNUSED(state); random_test(monobit, ISC_NONCE_BYTES); @@ -807,7 +834,8 @@ isc_nonce_bytes_monobit(void **state) { /* Runs test for the RANDOM */ static void -isc_nonce_bytes_runs(void **state) { +isc_nonce_bytes_runs(void **state) +{ UNUSED(state); random_test(runs, ISC_NONCE_BYTES); @@ -815,7 +843,8 @@ isc_nonce_bytes_runs(void **state) { /* Block frequency test for the RANDOM */ static void -isc_nonce_bytes_blockfrequency(void **state) { +isc_nonce_bytes_blockfrequency(void **state) +{ UNUSED(state); random_test(blockfrequency, ISC_NONCE_BYTES); @@ -823,14 +852,16 @@ isc_nonce_bytes_blockfrequency(void **state) { /* Binary matrix rank test for the RANDOM */ static void -isc_nonce_bytes_binarymatrixrank(void **state) { +isc_nonce_bytes_binarymatrixrank(void **state) +{ UNUSED(state); random_test(binarymatrixrank, ISC_NONCE_BYTES); } int -main(int argc, char **argv) { +main(int argc, char **argv) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(isc_random32_monobit), cmocka_unit_test(isc_random32_runs), @@ -869,7 +900,8 @@ main(int argc, char **argv) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/regex_test.c b/lib/isc/tests/regex_test.c index a09e2dbae9..bc54956e63 100644 --- a/lib/isc/tests/regex_test.c +++ b/lib/isc/tests/regex_test.c @@ -11,10 +11,9 @@ #if HAVE_CMOCKA +#include #include #include -#include - #include #include #include @@ -28,8 +27,8 @@ #include #include -#include #include +#include #include /* Set to true (or use -v option) for verbose output */ @@ -37,15 +36,16 @@ static bool verbose = false; /* test isc_regex_validate() */ static void -regex_validate(void **state) { +regex_validate(void **state) +{ /* * test regex were generated using http://code.google.com/p/regfuzz/ * modified to use only printable characters */ struct { const char *expression; - int expect; - int exception; /* regcomp accepts but is disallowed. */ + int expect; + int exception; /* regcomp accepts but is disallowed. */ } tests[] = { { "", -1, 0 }, { "*", -1, 0 }, @@ -136,832 +136,2009 @@ regex_validate(void **state) { { "(a)\\1", 1, 0 }, { "(a)\\2", -1, 1 }, { "\\0", 0, 0 }, - { "[[][:g(\?(raph:][:alnu)(\?{m:][:space:]h]/r(\?<(\?=!(\?(\?!/" + "r(\?<(\?=!(\?(\?!Nn(\?#])))", 0, 0 }, { "[(\?!(\?<=[^{,37}AAAA(AAAAAAAAAAAAA])", 0, 0 }, - { "[^((\?(\?:ms(\?\?=[])p.]}8X[:blankcntrl:],{-119,94})XmF1.{)-)[:upperword:])[:digit:]{zg-q", 2, 0 }, - { "[^[({(\?#254}))Z[l][x50]=444444444444(4444444444u[:punct:]\?[:punct:(\?!])])", 1, 0 }, + { "(([^(\?\?=[])p.]}8X[:blankcntrl:],{-119,94})XmF1.{)-)" + "[:upperword:])[:digit:]{zg-q", + 2, 0 }, + { "[^[({(\?#254}))Z[l][x50]=444444444444(4444444444u[:punct:]" + "\?[:punct:(\?!])])", + 1, 0 }, { "[^[^[^([^((*4[(^((\?<=])Ec)", 0, 0 }, { "(0)Y:8biiiiiiiiiiiiiiiiiii", 1, 0 }, - { "[^w(\?!)P::::::::::::::(\?#::(\?<=:::::::::]\"\"{}[3333333333333333(\?<=33333(\?!)9Xja][:alph(\?<=a:])xB1)(PX8Cf\?4444)qq[:digit:])", 1, 0 }, + { "[^w(\?!)P::::::::::::::(\?#::(\?<=:::::::::]\"\"{}[" + "3333333333333333(\?<=33333(\?!)9Xja][:alph(\?<=a:])xB1)(" + "PX8Cf\?4444)qq[:digit:])", + 1, 0 }, { "([U[^[^].]^m]/306KS7JJJJJJJJ{})", 1, 0 }, - { "[^[^([^[(\?!(\?>8j`Wg2(\?{,(\?>!#N++++(\?8j`Wg2(\?{,(\?>!#N++++(\?@+(\?>l.]}))*\\BCYX]^W{52,123}(lXislccccccccccccccccc)-*)", 1, 0 }, + { "{}z=jU75~n#soD\"&\?UL`X{xxxxxxxxxxxxxxxxxxxx(xxxxxx${-246," + "27}[:graph:]g\"{_bX)[:alnum:][:punct:]{-79,}-", + 1, 0 }, + { "[^{,-186}@@@@[^(\?{@@(\?>@+(\?>l.]}))*\\BCYX]^W{52,123}(" + "lXislccccccccccccccccc)-*)", + 1, 0 }, { "(x42+,)7=]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]", 1, 0 }, { "[^(*[:graph:]q/TH\?B(\?{P)]})uZn[:digit:]+2", 0, 0 }, - { "([XXXXXXXXXXXXXXXXXXXXX[(:alnum:][:space:]i%[:upperw(\?=o(\?#rd:])) ", 1, 0 }, + { "([XXXXXXXXXXXXXXXXXXXXX[(:alnum:][:space:]i%[:upperw(\?=o(" + "\?#rd:])) ", + 1, 0 }, { "(@@@@)", 1, 0 }, - { "{-18,}[:as[(\?>^[cii:]]{}>+{-46,}{,95}[:punct:]{}99999999999999])-{-134}'sK$wCKjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj", 0, 0 }, + { "{-18,}[:as[(\?>^[cii:]]{}>+{-46,}{,95}[:punct:]{}" + "99999999999999])-{-134}'sK$" + "wCKjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj", + 0, 0 }, { "(l[:alpha:(\?!]))", 1, 0 }, - { "[[^(\?{]|JJ[:alph(a:]X{})B^][:lowerprint:]n-219{-32}{19,105}k4P}){,-144}", 0, 0 }, - { "[[^]P[:punct:][:alpha:][:xdigit:]syh]|W#JS*(m<2,P-RK)cA@", 1, 0 }, + { "[[^(\?{]|JJ[:alph(a:]X{})B^][:lowerprint:]n-219{-32}{19,105}" + "k4P}){,-144}", + 0, 0 }, + { "[[^]P[:punct:][:alpha:][:xdigit:]syh]|W#JS*(m<2,P-RK)cA@", 1, + 0 }, { "([^((\?({\?<=)}){[^}^]{}])^P4[:punct:[]$)]", 1, 0 }, - { "([(\?#:(\?{space:]}):{}{-242,}n)F[:alpha:]3$)d4H3up6qS[:blankcntrl:]B:C{}[:upperword:]r", 1, 0 }, + { "([(\?#:(\?{space:]}):{}{-242,}n)F[:alpha:]3$)d4H3up6qS[:" + "blankcntrl:]B:C{}[:upperword:]r", + 1, 0 }, { "([(\?:]))[:digit:]mLV.{}", 1, 0 }, { "[^PPP-[]{[,50}{128,}]111111111111111]p", 0, 0 }, - { "[^([^([^([[^[([^[^[[2[[[[[[[[[[[[[^[[[[(\?(\?{:[[[[[[(\?([-[:ascii:]--*)", -1, 0 }, + { "[^([^([^([[^[([^[^[[2[[[[[[[[[[[[[^[[[[(\?(\?{:[[[[[[(\?([-[" + ":ascii:]--*)", + -1, 0 }, { ")!F^DA/ZZZZZZZZZZZZZZZZZZ", 0, 0 }, - { "[[[[[[[((\?=\?(\?>([[[[[[[^[[[[(\?()[[[K(\?#))])))]7Y[:space:]{,-96}pP)[:ascii:]u{-88}:N{-251}uo", 0, 0 }, + { "[[[[[[[((\?=\?(\?>([[[[[[[^[[[[(\?()[[[K(\?#))])))]7Y[:" + "space:]{,-96}pP)[:ascii:]u{-88}:N{-251}uo", + 0, 0 }, { "t[:x(\?<=digit:])eYYYYYYYYYYYYYYYYYY{,-220}A", 0, 0 }, - { "[[({10,}[:graph:]Pdddddd(\?#X)])[:alnum:(]]L-C){,50}[:blankcntrl:]p[:gra(ph:]){66,}", 0, 0 }, - { "[^[^]*4br]w[:digit(\?::]n99999999999999999)P[:punct:]pP", 0, 0 }, + { "[[({10,}[:graph:]Pdddddd(\?#X)])[:alnum:(]]L-C){,50}[:" + "blankcntrl:]p[:gra(ph:]){66,}", + 0, 0 }, + { "[^[^]*4br]w[:digit(\?::]n99999999999999999)P[:punct:]pP", 0, + 0 }, { "[:digit:]{67,247}!N{122})VrXe", 0, 0 }, - { "[:xdigit:]^[:xdigit:]Z[:alnum:]^^^^1[:upperword:(\?=])[:lowerprint:]*JJ-", 0, 0 }, - { "[[(\?imsximsx:^*e(){,3[6}](V~\?^[:asc(\?!ii:]I.dZ))]$^AAAAAAAAAAAAAAAAAAAAAAAA[:space:]k)]", 1, 0 }, - { "W{,112}[:lowerp(\?R7~t'\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"9,O).", 0, 0 }, - { "[^{6((\?>\?:4}(\?<=G))f)KKKKKKKKKKKKKKKKKKKKKKKKKKKKKpppppppp(\?=ppppp]{,-101}|[:blankcntrl:]Z{-182})", 0, 0 }, - { "([:punct:]@^,,,,,,,,,,,,,,,,,,,,,,,,,,0\?:-o8NPIIIIIIIII)pPKKKKKKKKKKKKKKKKKKKK", 1, 0 }, + { "[:xdigit:]^[:xdigit:]Z[:alnum:]^^^^1[:upperword:(\?=])[:" + "lowerprint:]*JJ-", + 0, 0 }, + { "[[(\?imsximsx:^*e(){,3[6}](V~\?^[:asc(\?!ii:]I.dZ))]$^" + "AAAAAAAAAAAAAAAAAAAAAAAA[:space:]k)]", + 1, 0 }, + { "W{,112}[:lowerp(\?R7~t'" + "\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"9,O).", + 0, 0 }, + { "[^{6((\?>\?:4}(\?<=G))f)" + "KKKKKKKKKKKKKKKKKKKKKKKKKKKKKpppppppp(\?=ppppp]{,-101}|[:" + "blankcntrl:]Z{-182})", + 0, 0 }, + { "([:punct:]@^,,,,,,,,,,,,,,,,,,,,,,,,,,0\?:-o8NPIIIIIIIII)" + "pPKKKKKKKKKKKKKKKKKKKK", + 1, 0 }, { "([^[[^[^]]]])", 1, 0 }, { "[([^[(333\"(\?#\\\\[)(\?isx-x:\"Tx]')", 0, 0 }, - { "[[n>^>T%.zzzzzzzzzzzzzzzzz$&|Fk.1o7^o, ^8{202,-12}$[:alnum:]]G[:upperword:]V[:xdigit:]L|[:upperword:]KKKKKKKKKKKKYX\"\")xJ ~B@[{,-68}/][:upperword:]QI.", 0, 0 }, - { "[^[]tN^hy3\"d@v T[GE\?^~{124,10(\?{2}]})\?[:upperword:]O", 0, 0 }, - { "d.``````````````````````````[:up(\?=perword:]RRRRRRRRRRRRRRR)", 0, 0 }, - { "[Z{{{{{{{{{{{{{(\?={(\?{{J6N:H[tA+mN3Zmf:p\?]\?){-181,82}S4n.b[:lowerpri(\?{nt:]|ggggggggggggggggggggggggggggggg}))4)", 0, 0 }, - { "[^((/////[^////[^/////////[(^/////]fI{240}{-120}+]R]GA)", 0, 0 }, + { "[[n>^>T%.zzzzzzzzzzzzzzzzz$&|Fk.1o7^o, " + "^8{202,-12}$[:alnum:]]G[:upperword:]V[:xdigit:]L|[:" + "upperword:]KKKKKKKKKKKKYX\"\")xJ " + "~B@[{,-68}/][:upperword:]QI.", + 0, 0 }, + { "[^[]tN^hy3\"d@v T[GE\?^~{124,10(\?{2}]})\?[:upperword:]O", 0, + 0 }, + { "d.``````````````````````````[:up(\?=perword:]" + "RRRRRRRRRRRRRRR)", + 0, 0 }, + { "[Z{{{{{{{{{{{{{(\?={(\?{{J6N:H[tA+mN3Zmf:p\?]" + "\?){-181,82}S4n.b[:lowerpri(\?{nt:]|" + "ggggggggggggggggggggggggggggggg}))4)", + 0, 0 }, + { "[^((/////[^////[^/////////[(^/////]fI{240}{-120}+]R]GA)", 0, + 0 }, { "[-(\?#.)(\?())[:alpha:](\?={(\?#}r)[:space:]PPW]o)", 0, 0 }, - { "[:lowerp(\?{rint:]})201{46,}[:a[^scii:]0Q{37,}][:blankcntrl:]1331", 0, 0 }, + { "[:lowerp(\?{rint:]})201{46,}[:a[^scii:]0Q{37,}][:blankcntrl:" + "]1331", + 0, 0 }, { "[^(\?!(\?#)\\GIwxKKKKKKKKKK'$KKKKKKKK]l)bbb^&\?", 0, 0 }, { "[:ascii:]*[:sp(\?<=ace:])", 0, 0 }, { "({-66,}Z{})0I{-111,}[:punct(\?():])", 1, 0 }, - { "[[^(\?!()%%%%%%%%%%%%%(\?:%%%%%%%%%%%%%%%%)t(\?{VX>B#6sUU(\?B#6sUU(" + "\?BBBZvvvvvvvvvv(\?m(sximsx:vvv)iiiiiiii)))j>Rs:Sm]0MMMMMMMMMMM|@F)Y]*^#EEEEEEE)*", 0, 0 }, - { "([^([(U(\?!)<<<<<<<<<<(\?#<<<<(\?BBBZvvvvvvvvvv(\?m(sximsx:vvv)iiiiiiii)))" + "j>Rs:Sm]0MMMMMMMMMMM|@F)Y]*^#EEEEEEE)*", + 0, 0 }, + { "([^([(U(\?!)<<<<<<<<<<(\?#<<<<(\?(\?#){}]{}`){1,82}){-143[,}]^G", 0, 0 }, - { "[:digit:]W|[:up(\?@]", 1, 0 }, - { "[^[^[(\?imsximsx::p(\?{unct:][(\?>:ascii:]5w)]{159}\\Q\?@C]4(44444444}[^)|)[:graph:]]C:b)", 1, 0 }, - { "[^[[(tYri[W<8%1(\?='yt][:lowerprint:[]))1r]][:alnum:][:digit:]{48}{-52,-183}+][:alpha:]r][:upperword:]\?{-105,155}{-55,-87}pPN#############################{63,232}]", 0, 0 }, - { "[*(\?>L(\?<(\?>=))]&&&&&&&(&&&&&&&&&&&&&&&&&&))[|WIX]{-62,-114}S K=HW60XE<2+W", 1, 0 }, + { "([^[^]][:alnum:]222[^22222222(\?{2222222222222222][:lo(\?:" + "werprint:][:xdigit:]^[:blankcntrl:]s+N)[:alpha:]-" + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNWxxxxxxxxxxxxxxxxxxxxxxxxxxD[" + ":space:]U)TTTTTTTTTTfffffffffffzzzzzzzzzzzzzzzzzzzzzzzzz})", + 1, 0 }, + { "[^[^[[^[][^[]pP([^\?[^<=(\?=]){158,})]]]][:digit:]]" + "K22222222222p^dUKJ`\">@]", + 1, 0 }, + { "[^[^[(\?imsximsx::p(\?{unct:][(\?>:ascii:]5w)]{159}\\Q\?@C]" + "4(44444444}[^)|)[:graph:]]C:b)", + 1, 0 }, + { "[^[[(tYri[W<8%1(\?='yt][:lowerprint:[]))1r]][:alnum:][:" + "digit:]{48}{-52,-183}+][:alpha:]r][:upperword:]\?{-105,155}{" + "-55,-87}pPN#############################{63,232}]", + 0, 0 }, + { "[*(\?>L(\?<(\?>=))]&&&&&&&(&&&&&&&&&&&&&&&&&&))[|WIX]{-62,-" + "114}S K=HW60XE<2+W", + 1, 0 }, { "(00000000000)z\\\\*t{}R{88}[:alnum:]*", 1, 0 }, - { "(([^(\?=\?gggggg[gLw)]{-250,}[:xdigit:]yZ[:g(raph:]8QNr[:space:][:blankcntrl:]A)][:digit:]D)[:xdigit:])", 2, 0 }, + { "(([^(\?=\?gggggg[gLw)]{-250,}[:xdigit:]yZ[:g(raph:]8QNr[:" + "space:][:blankcntrl:]A)][:digit:]D)[:xdigit:])", + 2, 0 }, { "[^([^,(\?s8.>[^{}$(\?(]]XXXXXXX)XXXXXXXXXXXXXX[:alpha:]Whii\?p[:xdigit:])+", 0, 0 }, + { "[LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL>s8.>[^{}$(\?(]]XXXXXXX)" + "XXXXXXXXXXXXXX[:alpha:]Whii\?p[:xdigit:])+", + 0, 0 }, { "(7777[:blankcntrl:])", 1, 0 }, { "[^C[:digit:]]{}YYYY(YYYYYYYYYYYYYYYY)", 1, 0 }, { "on|,#tve%F(w-::::::::::::::::::::::::::::*=->)", 1, 0 }, - { "([((\?=(\?!((\?=')))27(<{})S-vvvvvvvvvv(\?=vvvvvvvvvvvvvvvvv[:punct:][:alnum:]}}}}}}}}}}}}}}}}}}}}}}}PPPPPPPPPPPPPPPPPPPPPPPPPPPPPgggggggggggggggggggggggggg(\?#(\?#gggggg+))uQ)W>[:punct:][:xdigit:][:digit:][:punct:]{}[:digit:][:space:]){,-105}=xiAyf}o[:alpha:]akZSYK+sl{", 1, 0 }, + { "([((\?=(\?!((\?=')))27(<{})S-vvvvvvvvvv(\?=" + "vvvvvvvvvvvvvvvvv[:punct:][:alnum:]}}}}}}}}}}}}}}}}}}}}}}}" + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPgggggggggggggggggggggggggg(\?#(" + "\?#gggggg+))uQ)W>[:punct:][:xdigit:][:" + "digit:][:punct:]{}[:digit:][:space:]){,-105}=xiAyf}o[:alpha:" + "]akZSYK+sl{", + 1, 0 }, { "[^[^]/S:Hq<[:upperword:(\?<=]W[:alnum:]X])1973", 0, 0 }, - { "[[^[[^([^VVVV(\?!(VVVVVVVVVVVVVVVVVVVVV[VVVVX][^]2))98ppppppppppppppppppppppppppppppp/////////////////////b.]G{-101,}[:[ascii:]P].=~])AAAAAAAAAAAAA2{-153,}]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][:alnum:][:lowerprint:]WN/D!rD]|4444{180}]V_@3lW#lat]", 0, 0 }, - { "[^[^([^TTTTT(\?:T(\?:T7777{,59}])[:graph:][:ascii(\?<=:]))f]AD{,-43}%%%%%%%%%%%%%%%%)S|[:digit:]FZm<[:blankcntrl:]QT&xj*{-114,}$[:xdigit:]042][:xdig[it:]{-180}027[:alpha:][:ascii:][:lowerprint:][:xdigit:]^|[:alnum:][^Mi]z!suQ{-44,-32}[:digit:]]", 0, 0 }, + { "[[^[[^([^VVVV(\?!(VVVVVVVVVVVVVVVVVVVVV[VVVVX][^]2))" + "98ppppppppppppppppppppppppppppppp/////////////////////" + "b.]G{-101,}[:[ascii:]P].=~])AAAAAAAAAAAAA2{-153,}]]]]]]]]]]]" + "]]]]]]]]]]]]]]]]]]]]][:alnum:][:lowerprint:]WN/" + "D!rD]|4444{180}]V_@3lW#lat]", + 0, 0 }, + { "[^[^([^TTTTT(\?:T(\?:T7777{,59}])[:graph:][:ascii(\?<=:]))f]" + "AD{,-43}%%%%%%%%%%%%%%%%)S|[:digit:]FZm<[:blankcntrl:]QT&xj*" + "{-114,}$[:xdigit:]042][:xdig[it:]{-180}027[:alpha:][:ascii:]" + "[:lowerprint:][:xdigit:]^|[:alnum:][^Mi]z!suQ{-44,-32}[:" + "digit:]]", + 0, 0 }, { ")", 0, 0 }, { "''''''''''[:a(\?imsxisx:lnum:])P", 0, 0 }, - { "(([{20(\?<=8}[:alnum:]pP$`(\?#N)wRH[:graph:]aaaaaaaaaaaaaa(\?=aaaaaaaaaaaaaaaaP]a)))[:punct:]-\?)A^", 2, 0 }, - { "[^(.//[:punct:]&-333333333333333333333333333(\?W90DDDDDDDDDDD[^DDDDDDDDDDDDDDDDDDDD]B[:punct:]c/", 1, 0 }, - { "[^(\?W90DDDDDDDDDDD[^" + "DDDDDDDDDDDDDDDDDDDD]B[:punct:]c/", + 1, 0 }, + { "[^(\?]|)p1EmmmmmmmmmmmmmmmmmmmmmmmmmmmmL{-241}666666666666666666666)]^bLDDDDDDDDDDDDD]", 0, 0 }, - { "[nn(\?]|)" + "p1EmmmmmmmmmmmmmmmmmmmmmmmmmmmmL{-241}666666666666666666666)" + "]^bLDDDDDDDDDDDDD]", + 0, 0 }, + { "[nn(\?1((\?>\?#45)Z{,108}{}11111111111111111111111111qqqq)\?][:lowerprint:]mbo#)@", 0, 0 }, + { "[[^[([((([^(\?{[^((\?=)kaSx(\?imsximsx:w3A[`%+A$I{,62}ns&Y!#" + "ay " + "o9YAo{Y>1((\?>\?#45)Z{,108}{}11111111111111111111111111qqqq)" + "\?][:lowerprint:]mbo#)@", + 0, 0 }, { "[^iii8(888888(\?(\?=)]]T()[:bl(\?!ankcntrl:]=jjjjjjjjjjjjjjjj-)))t{}[:alpha:]-\":i! Gn[A4Ym7<<<<<<<<<<<<<<<<]", 2, 0 }, + { "([[^{249,}(\?>(\?=)]]T()[:bl(\?!ankcntrl:]=jjjjjjjjjjjjjjjj-" + ")))t{}[:alpha:]-\":i! Gn[A4Ym7<<<<<<<<<<<<<<<<]", + 2, 0 }, { "^{}{[^,241(\?#}(\?m(\?ixim:sximsx:]t))+oD)", 0, 0 }, { "5[(\?#:xdigit:])", 0, 0 }, - { "[^f{(\?>,22(9}[^[^])6KKKKKKKKKKKKK)]RRRRRRRRfuK99999999C}osnNR]BgCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC[:blankcntrl:]", 0, 0 }, - { "[^(\?=U){24,}W-{,17(\?:3[^}]q.nQ#PU_|i$$$$$$$$$$$$$$+)[:dig(\?4^4ta[:alpha:]", 0, 0 }, + { "[^f{(\?>,22(9}[^[^])6KKKKKKKKKKKKK)]RRRRRRRRfuK99999999C}" + "osnNR]BgCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC[:blankcntrl:]", + 0, 0 }, + { "[^(\?=U){24,}W-{,17(\?:3[^}]q.nQ#PU_|i$$$$$$$$$$$$$$+)[:dig(" + "\?4^4ta[:alpha:]", + 0, 0 }, { "(((b0HN)q))p5X)uH]$})354b[:alnum:]]]EVVVVVVVVVVVVVVVVVVVVVVVVVVVVVz[:digi(\?(t:][:upperword:])", 1, 0 }, - { "([:blankcntrl:]t-){121,}[:ascii:]444444{}[:graph:]E040", 1, 0 }, - { "[^{134,}]DzQ\?{-30,191})z,\?1Vfq!z}cgv)ERK)1T/=f\?>'", 0, 0 }, - { "@v)))])Y]|){,10}\?{}", 0, 0 }, + { "([[[^[^[^([[^[^([(\?<=G[[)=(\?!===(\?isximsx:==(\?#==[^=====" + "(\?{==================$T[[^^u_TiC.Fo.02>X)uH]$})354b[:alnum:" + "]]]EVVVVVVVVVVVVVVVVVVVVVVVVVVVVVz[:digi(\?(t:][:upperword:]" + ")", + 1, 0 }, + { "([:blankcntrl:]t-){121,}[:ascii:]444444{}[:graph:]E040", 1, + 0 }, + { "[^{134,}]DzQ\?{-30,191})z,\?1Vfq!z}cgv)ERK)1T/=f\?>'", 0, + 0 }, + { "@v)))])Y]|){,10}\?{}", 0, + 0 }, { "([[[(\?!^]P-AA[AAAAAA[A[^A)r]+B]])", 1, 0 }, { "3}|[:ascii:][:punct:]()", 1, 0 }, { "()dw", 1, 0 }, { "[N]{})))))))))))))))))))))))", 0, 0 }, - { "[[[^([[(\?()(\?#)++([^\?{+++[^+++++++++++(\?!+(\?=+++++++r9/n]N7{-219}{-91}pP[:punct:]T]mROm+~[:digit:][:digit:])Y:", 0, 0 }, - { "[^'Pu[(\?~\?N|z#Ar--SO{,-141}076)G\?{,-110}M+-[:alpha:]", 0, 0 }, + { "([:ascii:]GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG)+kX______________{" + "}GGGGG\?TUH3,{67,77}|[:graph:]C{,-136}{}[:upperword:[]{,-6}&" + "]T84]n={C", + 1, 0 }, + { "[:upperword:]DC[:u(\?<=pperword:]*d`H0\?m>~\?N|z#Ar--SO{,-" + "141}076)G\?{,-110}M+-[:alpha:]", + 0, 0 }, { "{,-214}{,10(9})", 1, 0 }, - { "([^xxxxxxxxxxxxxxxxxMMMMMMMMMMMMMMXW])].[:punct:]Q`{-63,63}Uua[:alnum:]\?OQssb#L@@@@@@@@(@@@)[:graph:]", 2, 0 }, - { "[[^(\?!```[^``````````````(\?<=``(\?>````````M/////(\?!////////////////////[^GD!|#li]~)*.$]))Tq!]C[:lowerprint:]Qk[{}]]JJJJJJJJJJJJJJJJJJJJJJJ{e])c", 0, 0 }, - { "$[5(7ES])[:xdigit:]%{MRMtYD&aS&g6jp&ghJ@:!I~4%{P\?0vvvvvvvvvvvvvvvvvvvv\\\\\\\\\\\\\\\\\\\\\\\\x54[:lowerprint:][:upperword:]", 0, 0 }, - { "[((([(\?((\?>[:alnum:][):as(\?````````M/////(\?!/////" + "///////////////" + "[^GD!|#li]~)*.$]))Tq!]C[:lowerprint:]Qk[{}]]" + "JJJJJJJJJJJJJJJJJJJJJJJ{e])c", + 0, 0 }, + { "$[5(7ES])[:xdigit:]%{MRMtYD&aS&g6jp&ghJ@:!I~4%{" + "P\?0vvvvvvvvvvvvvvvvvvvv\\\\\\\\\\\\\\\\\\\\\\\\x54[:" + "lowerprint:][:upperword:]", + 0, 0 }, + { "[((([(\?((\?>[:alnum:][):as(\?{,-49})q${98,}J\?]){", 0, 0 }, + { "{}[:((\?{,-49})q${98,}J\?]){", + 0, 0 }, { "([:pu(\?(nc)t:]F{-32,-102}+)\?cpP[:lowerprint:].^)", 1, 0 }, { "([{}{210,-238}]1:h)", 1, 0 }, - { "([]QQQQ[QQQQQQQQQQQQQQQQQQ][:digit:]Z{-20,}Slllllll[:space:]C^(@{-174,-156}fx{cf2c}{-242,}rBBBBBBBBBBBBBBBBBBc[:alpha:]N\?))$[:graph:][:ascii:]P+nnnnnnnnnnnnnnnnnnnnnnn1N$r>>>>>>>>>>>>>>>>>>>>>>>>(>>{,88}{,-234}__________)[:upperword:]R.[:alnum:][:lowerprint:]^}\"", 3, 0 }, + { "([]QQQQ[QQQQQQQQQQQQQQQQQQ][:digit:]Z{-20,}Slllllll[:space:]" + "C^(@{-174,-156}fx{cf2c}{-242,}rBBBBBBBBBBBBBBBBBBc[:alpha:]" + "N\?))$[:graph:][:ascii:]P+nnnnnnnnnnnnnnnnnnnnnnn1N$r>>>>>>>" + ">>>>>>>>>>>>>>>>>(>>{,88}{,-234}__________)[:upperword:]R.[:" + "alnum:][:lowerprint:]^}\"", + 3, 0 }, { "([^(\?=]-))$", 1, 0 }, - { "([:ascii:]\?,D[:upperword:][:xdigit:]tttttttttttt[^tt(\?{,10}[(\?<=:xdigit:]))PL9{-89,-181}F'''''''''", 1, 0 }, + { "[[(({224,(\?#88})@======(\?!=========(\?{=)PPP)i^@p(\?([:" + "punct:]})^^[^^^^^^^^^^^^^^^^^^^^^@)m]|{CS{,-3}168)-[:xdigit:" + "][:upperword:]hnD=Bns)z)AAAAAAAAAAAAAAAAAAAAAAA[^A{}" + "ccccccccccc)SZ]Q-p.sD]]+P", + 0, 0 }, + { "[[^[^]{135,}66666666666666666666[6(666i2M9.!uhmT\?JMm.*(\?!+" + ")[:alpha:]eeeeeeeeeeeeeeeeeeeeeeeeeee]]])ZZ[:blankcntrl:][:" + "ascii:]", + 0, 0 }, + { "(13[3Ux>{,10}[(\?<=:xdigit:]))PL9{-89,-181}F'''''''''", 1, + 0 }, { "[^.|(\?{af]})^$XE!$", 0, 0 }, { "(WWWWWWWWWWWWWWWWWWWWWWWWWWWW#J)", 1, 0 }, { "({}}M7we-216)L[:digit:][:upperword:]", 1, 0 }, { "([:aln[^u(\?=m:]))].z", 1, 0 }, - { "([:alpha:]{(92})%6{41,136})Vij@[:alnum:][:lowerprint:]", 2, 0 }, - { "[[[++(\?{+++{}})n{{137,}{51,-177}Z[]M*[:ascii:]{(-29,-47}2)$e^{,-195}{-156,}^]{}{-225,69}A]{-222,}{,20}m[:blankcntrl:]", 1, 0 }, - { ")l)[:alnum:][:graph:]g8TTTTTTTTTTTTTTTTLLLLLLLLLLLLLLLLL", 0, 0 }, + { "([:alpha:]{(92})%6{41,136})Vij@[:alnum:][:lowerprint:]", 2, + 0 }, + { "[[[++(\?{+++{}})n{{137,}{51,-177}Z[]M*[:ascii:]{(-29,-47}2)$" + "e^{,-195}{-156,}^]{}{-225,69}A]{-222,}{,20}m[:blankcntrl:]", + 1, 0 }, + { ")l)[:alnum:][:graph:]g8TTTTTTTTTTTTTTTTLLLLLLLLLLLLLLLLL", 0, + 0 }, { "[([(\?<=.(\?{)/})mmmmmmmm(\?(mmmmm]{-154,-176}*S)I]", 0, 0 }, - { "[(([{(\?(\?[:lowerprint:][:ascii:]e-]]]]]]]]]]]]]]]]]]]]]", 0, 0 }, - { "[^({}(){(66(\?=,}[^]'''''QQQQQQQQQ).P#>^){86,168}Z[(\?[:lowerprint:][:" + "ascii:]e-]]]]]]]]]]]]]]]]]]]]]", + 0, 0 }, + { "[^({}(){(66(\?=,}[^]'''''QQQQQQQQQ).P#>^){86,168}Z[(\?Q{,147}_____________(\?!______uuuuuuuuuuuuuTr]){74,179}{}){,103}{-209,16}*RRRRRRRRRRRRRRRRw{,87}9{144}[:ascii:]'Q{,147}_____________(\?!______uuuuuuuuuuuuuTr]){74,179}" + "{}){,103}{-209,16}*RRRRRRRRRRRRRRRRw{,87}9{144}[:ascii:]'<" + "Ab", + 0, 0 }, { "([666c] {-171}yc,8-k_)EEEEEEEEEEEEEEEEEEEEE<", 1, 0 }, { "[^(\?>(\?raph:])^)Ny6RF_ndoU9@*rxW{4,41}4{}", 0, 0 }, - { "[:punct:]{162,}j[:aln(um:].....................[^...]\?>z[:l[owerprint:]){55,222}]", 0, 0 }, - { "(>vWa)OXcccccccccccccccccccccccc[:alpha:]C{,-10}81|m1D^T)[:lowerprint:]''''[:alpha:]l", 1, 0 }, - { "(XZcgM/UI-/mZq-222){-85,-196}[:alpha:]{114}rrrrrrrrrrrrrrrrrrrrrrrr{,157}ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZLkD-&&&&&&&&&&&&&&&-][:alnum:]{}{,111}[:digit:]", 1, 0 }, - { "[^(\?:]MMMMMMMMMMMMMMMMMMMMMMMMMMM)cK[KKKKKKKKKKKKKKKKKKKKKKKK]P{146}", 0, 0 }, + { "[:space:]JJJJJJ[:alph(\?raph:])^)Ny6RF_ndoU9@*rxW{4,41}4{}", + 0, 0 }, + { "[:punct:]{162,}j[:aln(um:].....................[^...]\?>z[:" + "l[owerprint:]){55,222}]", + 0, 0 }, + { "(>vWa)OXcccccccccccccccccccccccc[:alpha:]C{,-10}81|m1D^T)[:" + "lowerprint:]''''[:alpha:]l", + 1, 0 }, + { "(XZcgM/UI-/" + "mZq-222){-85,-196}[:alpha:]{114}rrrrrrrrrrrrrrrrrrrrrrrr{," + "157}ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZLkD-&&&&&&&&&&&&&&&-][:" + "alnum:]{}{,111}[:digit:]", + 1, 0 }, + { "[^(\?:]MMMMMMMMMMMMMMMMMMMMMMMMMMM)cK[" + "KKKKKKKKKKKKKKKKKKKKKKKK]P{146}", + 0, 0 }, { "([^[^wqesa)n\?L(\?<=FH+G[^rCGmfD]w)m1D\"%}]])", 1, 0 }, - { "[((\?:[^.HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH|S)xd)*[:space:](])[:xdigit:]ngr'G#/B]-----------------------------", 0, 0 }, + { "[((\?:[^.HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH|S)xd)*[:space:](])[" + ":xdigit:]ngr'G#/B]-----------------------------", + 0, 0 }, { ")[:lowerprint(\?<=(:]l))G p", 0, 0 }, - { "[^[^(\?<(\?<(=(\?imsximx:![(((\?", -1, 0 }, - { "Nvvv[vv.][:alnu[^m:]+|Crrrrrrrrrrrrrrrrrrrrr[:xdigit:]j1n)v#]", 0, 0 }, - { "[^#}[(\?>:alnum:]).QQQQ[^QQQQQQ!!![!!!!!!!-s.n]se]{-238,}Tf]p4721", 0, 0 }, - { "([((\?#\?<=)+)Hr:-H]z[:graph:].{}oooooo(ooooooooo][:punct:]k", + -1, 0 }, + { "Nvvv[vv.][:alnu[^m:]+|Crrrrrrrrrrrrrrrrrrrrr[:xdigit:]j1n)v#" + "]", + 0, 0 }, + { "[^#}[(\?>:alnum:]).QQQQ[^QQQQQQ!!![!!!!!!!-s.n]se]{-238,}Tf]" + "p4721", + 0, 0 }, + { "([((\?#\?<=)+)Hr:-H]z[:graph:].{}oooooo(ooooooooo][:punct:]" + "k}}}}}}}(}}}}}\?310[|))xA5r][[^:ascii:]^{,-156}{])CCCCCCCCCCC-145]FzwOD_u\?", 1, 0 }, - { "[^[^[]{-163}{(-203}[(\?!:upperword:]PPGjZ[:xdi(\?=git(\?#:]{-73}s)qqqq(qqqqqqqqqqqqqqqqqq{173,210}[:xdigit:(\?<(\?>=]WW[^WWWWWWW\?*O)))Q){}08)[(\?(\?<=#:blankcntrl:]{90,}]U)])L)ooooooooooooooooooooooooooox--^c[:ascii:]])s)", 2, 0 }, + { "([(\?#[:alnum:]CQ)}}}}}}}}(\?>}}}}}}}(}}}}}\?310[|))xA5r][[^" + ":ascii:]^{,-156}{])CCCCCCCCCCC-145]FzwOD_u\?", + 1, 0 }, + { "[^[^[]{-163}{(-203}[(\?!:upperword:]PPGjZ[:xdi(\?=git(\?#:]{" + "-73}s)qqqq(qqqqqqqqqqqqqqqqqq{173,210}[:xdigit:(\?<(\?>=]WW[" + "^WWWWWWW\?*O)))Q){}08)[(\?(\?<=#:blankcntrl:]{90,}]U)])L)" + "ooooooooooooooooooooooooooox--^c[:ascii:]])s)", + 2, 0 }, { "[(\?!:punc(\?imximx:t[^:]4F<}!)]'M-)tKKKa4904", 0, 0 }, - { "[^^{}\\(\?)T000000000(\?(000)00000))+])", 0, 0 }, + { "[^^{}\\(\?)" + "T000000000(\?(000)00000))+])", + 0, 0 }, { "L[:p(\?#unct:])", 0, 0 }, { "[:upperw(\?<[^U/)]]{}X3333333333(3333333f*])", 1, 0 }, - { "<<<<<<<<<<<<<<<[^<<<<<<<<<.][(\?#:ascii:])[:xdigit:]|^", 0, 0 }, + { "<<<<<<<<<<<<<<<[^<<<<<<<<<.][(\?#:ascii:])[:xdigit:]|^", 0, + 0 }, { "([:punct:]{}){-167,}{-59,}Pd\"", 1, 0 }, - { "[((\?#{,214})t$)VVV[:xdigit:]{104(\?<=}D][:graph:])|H){1,}{-176,}", 0, 0 }, - { "[[([[^N,,,,,(\?=,,(\?#(\?:,,,,,,,,,,,[^,,,,,,,,,,]<,~4::_.A]){-52,}-[:alnum:]Pnnnnnnnnnnnnnnnnnn)d", 0, 0 }, + { "[((\?#{,214})t$)VVV[:xdigit:]{104(\?<=}D][:graph:])|H){1,}{-" + "176,}", + 0, 0 }, + { "[[([[^N,,,,,(\?=,,(\?#(\?:,,,,,,,,,,,[^,,,,,,,,,,]<,~4::_.A]" + "){-52,}-[:alnum:]Pnnnnnnnnnnnnnnnnnn)d", + 0, 0 }, { "{-18(3,})uT{4,}", 1, 0 }, - { "[^[^[(p+c(\?:])[])][:s[^pace:]][:alnum:][:alpha:]]kw06E", 0, 0 }, - { "[^^^^^^JJJJJJJJ(JJ(\?=JJ(.6[:space:]H]{231,}A^eqqq)[:ascii:(\?>(])[(\?>:spa(\?:ce:]xxxxxxxxx)@_t-))138GNNNNNNNNNNNNNNNNNNNNNNNNNN[:digit:]no!`#E\?&[:lowerprint:].)[:graph:]{86,}[:digit:][:alnum:]", 0, 0 }, + { "[^[^[(p+c(\?" + ":])[])][:s[^pace:]][:alnum:][:alpha:]]kw06E", + 0, 0 }, + { "[^^^^^^JJJJJJJJ(JJ(\?=JJ(.6[:space:]H]{231,}A^eqqq)[:ascii:(" + "\?>(])[(\?>:spa(\?:ce:]xxxxxxxxx)@_t-))" + "138GNNNNNNNNNNNNNNNNNNNNNNNNNN[:digit:]no!`#E\?&[:" + "lowerprint:].)[:graph:]{86,}[:digit:][:alnum:]", + 0, 0 }, { "[:g(\?<=raph:]a{114,146}(){}0Y[:bl(ankcntrl:])D)\?", 1, 0 }, { "[^[^]*H{-192,96}S|]G)6B-kLB", 0, 0 }, - { "[[^[^][/NS8`um(\?{82&{((\?{\?DW>9tN%{113}{unE", 0, 0 }, + { "[[^[^][/" + "NS8`um(\?{82&{((\?{\?DW>9tN%{113}{unE", + 0, 0 }, { "[:(\?(alpha:]`))Y2sCqWQ104", 0, 0 }, - { "(([^()Wcccccccc(\?{cccccccccccccccccc(\?)FZ{}{}`|||||||||||||*````````````````````````````'=dLQmx/Y.A7j'o}jn{}:})][:punct:]$|,-)!&Y:Ys#ykL7JJJJJJJJJJJJJJJJJJJJJJJJJ8yex>#mv[:punct:](x@)$[:uppe(\?9))i})]a!lBW3p{A=or)ShE%[:punct:]{}]5r", 0, 0 }, - { "[:pu[nc[^t:]]]}}}}}}}[}}}}}}}(\?#}])@@@@@@@@@@@@@@@@@@DDDDDDDDDDDDDDDDDDD\?]xA2\?", 0, 0 }, - { "(.[:alpha:]xB7[:alnu(\?{m:]})RRRRRRRRRRRRRRRRRRRRRRRRRRRL)[:space:]G\?", 1, 0 }, + { "(([^()Wcccccccc(\?{cccccccccccccccccc(\?)FZ{}{}`|||||||||||||*````````````````````````````'=" + "dLQmx/" + "Y.A7j'o}jn{}:})][:punct:]$|,-)!&Y:Ys#" + "ykL7JJJJJJJJJJJJJJJJJJJJJJJJJ8yex>#mv[:punct:](x@)$[:uppe(" + "\?9))i})]a!" + "lBW3p{A=or)ShE%[:punct:]{}]5r", + 0, 0 }, + { "[:pu[nc[^t:]]]}}}}}}}[}}}}}}}(\?#}])@@@@@@@@@@@@@@@@@@" + "DDDDDDDDDDDDDDDDDDD\?]xA2\?", + 0, 0 }, + { "(.[:alpha:]xB7[:alnu(\?{m:]})RRRRRRRRRRRRRRRRRRRRRRRRRRRL)[:" + "space:]G\?", + 1, 0 }, { "[:blan(\?cii:])[:alnum:]$$$$$[:space:]3$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$1", 0, 0 }, - { "[[$zQ================(\?=========(\?====D[^))|i{}\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?)][:s(pace:]]))]", 0, 0 }, - { "[^{,-[15(\?#6}]Vwjjjjjjjj[jjjjjjjjjjjjjjjjjjS9999)]q]rWWWWWWWWWWWWWWWW[:punct:]@@@@@@@@@@@@@@@@@@@@@@@@gO[:blankcntrl:]>L[:ascii:]:::::::::::::::::::x11uuuuuuuuuuuuuuuuuuuuuuuuuuuuu{-124,114}[:graph:]C#{tcg[:xdigit:]gZZZZ[:lowerprint:]nA(_{{{{{{{{{{{{{{{{{{{{SS)\\D[:alpha:]", 1, 0 }, - { "[^(\?())]!T\?[:asc[^ii:]E:4},,]I[^b(\?:n4(njj~+{\?'k{7}{189,-194}{ig.[[[[[[(\?#[[[_bs6,JD`1(\?>>>>>>>>>>>>>>>>>>>>>>>>>>>[^>>>(\?(>)){,-165}]", 0, 0 }, - { "([^[][^n(\?{[[p]#})|][^]L|66666666666[:graph:]][:graph:]2[:xdigit:][:space:]9b})[:digit(\?imsximsx::]+PZ):{}|E)[:xdigit[^:]|>]^[:alpha:]::::::::[:ascii:]````[:ascii:]:", 1, 0 }, + { "(b[:ascii:]67777777777777777777777777)({-106}kkk^F----------" + "---------------------{13}A)f00000000sBAddddd{-66}kd!D'", + 2, 0 }, + { "(Q ^])[^lf][:space:][:lowerprint:]\?", + 1, 0 }, + { "[[^]\\S{152}W![:digit:][[^:space:(\?(]=pEhwY][:alnum:][:" + "digit):][:graph:]])QQIC9h-oowf[:xdigit:]{-52}{,190}" + "1111111111111111111fX{-189,226}W", + 0, 0 }, + { "[^(\?!(\?<=)]).h[:as(\?>cii:])[:alnum:]$$$$$[:space:]3$$$$$$" + "$$$$$$$$$$$$$$$$$$$$$$$$$1", + 0, 0 }, + { "[[$zQ================(\?=========(\?====D[^))|i{}" + "\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?)][:s(pace:]])" + ")]", + 0, 0 }, + { "[^{,-[15(\?#6}]Vwjjjjjjjj[jjjjjjjjjjjjjjjjjjS9999)]q]" + "rWWWWWWWWWWWWWWWW[:punct:]@@@@@@@@@@@@@@@@@@@@@@@@gO[:" + "blankcntrl:]>L[:ascii:]:::::::::::::::::::" + "x11uuuuuuuuuuuuuuuuuuuuuuuuuuuuu{-124,114}[:graph:]C#{tcg[:" + "xdigit:]gZZZZ[:lowerprint:]nA(_{{{{{{{{{{{{{{{{{{{{SS)\\D[:" + "alpha:]", + 1, 0 }, + { "[^(\?())]!T\?[:asc[^ii:]E:4},,]I[^b(\?:n4(njj~+{\?'k{7}{189," + "-194}{ig.[[[[[[(\?#[[[_bs6,JD`1(\?>>>>>>>>>>>>>>>>>>>>" + ">>>>>>>[^>>>(\?(>)){,-165}]", + 0, 0 }, + { "([^[][^n(\?{[[p]#})|][^]L|66666666666[:graph:]][:graph:]2[:" + "xdigit:][:space:]9b})[:digit(\?imsximsx::]+PZ):{}|E)[:" + "xdigit[^:]|>]^[:alpha:]::::::::[:ascii:]````[:ascii:]:", + 1, 0 }, { "[:lowerprint(\?t|LQT(|)L[(:ascii:])", 0, 0 }, - { "[^[^([:graph:](QpPdyDQ`[:alpha:](.X[:digit:]wwwwwwwwwwwwww(\?imxims:wwwwwwwe(\?t|LQT(|)L[(:ascii:])", + 0, 0 }, + { "[^[^([:graph:](QpPdyDQ`[:alpha:](.X[:digit:]wwwwwwwwwwwwww(" + "\?imxims:wwwwwwwe(\?)*d2K0DNX5)T(].)[:digit:].", 0, 0 }, - { "([:punct:(\?#])})JJJJJJJJ[:xdigit:]PPUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU.......................0hSk{,89}[:xdigit:].[:xdigit:]Z", 1, 0 }, - { "(LGTTTTTTTTTTTTTTTTTTTTTTTTTT[:alpha:]){-106,113}[:punct:]d|[:digit:]kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk\?wP", 1, 0 }, - { "([^[^Sow", 0, 0 }, + { "[([^T____________________(\?:__C(\?<=]-)])+[:ascii:])r[:" + "graph:].----------", + 0, 0 }, + { "[f{}LLLL(LLp((((\?Sow", + 0, 0 }, { "{-179}^[:alpha:(\?!].a'5wacA3\\\\\\\\AAAAAAAA)~^]wC", 0, 0 }, - { ">[:digit:]{,-212}+(`)LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL[:ascii:][:digit:][:space:]", 1, 0 }, + { ">[:digit:]{,-212}+(`)LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL[:ascii:" + "][:digit:][:space:]", + 1, 0 }, { "[[^[[^RBW{,255(}(\?(\?>=(W)_]uu][:blankcntrl:])O)]]", 0, 0 }, { "(C_______________________________)2", 1, 0 }, { "([/ntf_a3].)", 1, 0 }, - { "[:space:]+[(:upperword:],c7[:asci(\?<=i:]ggggggggggg)[:ascii:]/1$$$$$$$$$$$$$$$$$$$$$$$$$$)", 0, 0 }, - { "Xq{109}~EEEEEEEE[:upper[^word:]lgB:X(h[:alpha:]B[:space:]].)IkaH@3}}H'yK~\?[:upperw(\?#ord:(\?:]){=================[:blankcntrl:])", 1, 0 }, - { "(([[^]]$3Xr^$%%%%%%%%%%%%%%%%%%%%%================U[:ascii:])X).FFFFFFFFFFgO[:punct:]oooooooooooooooooooBC[:blankcntrl:]mmmmmmmmmmmmmmmmmmmm[:lowerprint:]rBM~rERRRRRRR[^RRRRR(\?>RRRRR])[(\?=^)X]{207,}U])))Z[:blankcntrl:]]yyyyyyyyyyyyyyyy\?", 1, 0 }, - { "[Q(\?{*[^(\?(\?!!])[:graph:]]})[:alnum:]iE)dGGGGGGG[^GGGGGGGGGG[:xdigit:]w]", 0, 0 }, + { "[:space:]+[(:upperword:],c7[:asci(\?<=i:]ggggggggggg)[:" + "ascii:]/1$$$$$$$$$$$$$$$$$$$$$$$$$$)", + 0, 0 }, + { "Xq{109}~EEEEEEEE[:upper[^word:]lgB:X(h[:alpha:]B[:space:]].)" + "IkaH@3}}H'yK~\?[:upperw(\?#ord:(\?:]){=================[:" + "blankcntrl:])", + 1, 0 }, + { "(([[^]]$3Xr^$%%%%%%%%%%%%%%%%%%%%%================U[:ascii:]" + ")X).FFFFFFFFFFgO[:punct:]oooooooooooooooooooBC[:blankcntrl:]" + "mmmmmmmmmmmmmmmmmmmm[:lowerprint:]rBM~rERRRRRRR[^RRRRR(\?>RRRRR])[(\?=^)X]{207,}U])))Z[:" + "blankcntrl:]]yyyyyyyyyyyyyyyy\?", + 1, 0 }, + { "[Q(\?{*[^(\?(\?!!])[:graph:]]})[:alnum:]iE)dGGGGGGG[^" + "GGGGGGGGGG[:xdigit:]w]", + 0, 0 }, { "[^Z(\?!6(\?(\?><=)[:graph:])]BBBBBBBBBBBBBBBB^)", 0, 0 }, - { "[[^([^[^][[[[[[[(\?({[[(\?(\?imsxmsx(\?imsi[ms:::[[[[[[[[[}))]$)){12,})|:::::::::::::::::::[:lowerprint:]{}{-96,-147}){13,}`[:digit:]]\"^Ca%%%%%%%%%%%%%%%%%%%%%%%%%%UUUUUUUUUUUUUUUUUU]]9", 0, 0 }, - { "[^(\?(\?(\?#!<=))JLBS\"zi)'''''''''''['''''''''''''piiiiiiiiiiiii(\?<=iiii]])ZZZZZZZZZZZZZZZZZZ[:space:]", 0, 0 }, + { "[[^([^[^][[[[[[[(\?({[[(\?(\?imsxmsx(\?imsi[ms:::[[[[[[[[[})" + ")]$)){12,})|:::::::::::::::::::[:lowerprint:]{}{-96,-147}){" + "13,}`[:digit:]]\"^Ca%%%%%%%%%%%%%%%%%%%%%%%%%%" + "UUUUUUUUUUUUUUUUUU]]9", + 0, 0 }, + { "[^(\?(\?(\?#!<=))JLBS\"zi)'''''''''''['''''''''''''" + "piiiiiiiiiiiii(\?<=iiii]])ZZZZZZZZZZZZZZZZZZ[:space:]", + 0, 0 }, { "({})[:punct:]", 1, 0 }, { "E9[:blankc(\?{ntrl:]})N", 0, 0 }, { "[:alph(\?#a:]){198,}sq\?X0B7", 0, 0 }, - { "[^\\\\\\\\(\\\\\\[\\\\\\\\\\\\[(\?<(\?isximsx:={11(\?(9,}\?0])]]))\?FN3M\?{-128,}Z444444)444fbLiVN8)", 0, 0 }, - { "[[^[^([[[[[[[[[(\?>[[[[[[[[[[[[[[[[[[[[[{53(\?<=,-175(\?>}ggggggggggggggggg%))[:alnum:])[:punct:]kkkkkkkkkkkkkkkkkkkkkkkkk)+Soooooooooooooooooooooooooooooooo](WR+--)x36+llllllllllll{,35}]Fqb^=F]KKKKKKaaaaa{,131}", 1, 0 }, - { "(g\"Ssqw<&{Cl{82,}Mdf|9cIlmCW{}[:digit:]4C{}[:alnum:]PP)", 1, 0 }, - { "OOOOOOOU[*evVIIIIIIIIIIIIIIIII(\?#(\?#IIII)]PP[:xdigit:]2222222222222222[:xdigit:]Kx)p[:digit:]", 0, 0 }, + { "[^\\\\\\\\(\\\\\\[\\\\\\\\\\\\[(\?<(\?isximsx:={11(\?(9,}" + "\?0])]]))\?FN3M\?{-128,}Z444444)444fbLiVN8)", + 0, 0 }, + { "[[^[^([[[[[[[[[(\?>[[[[[[[[[[[[[[[[[[[[[{53(\?<=,-175(\?>}" + "ggggggggggggggggg%))[:alnum:])[:punct:]" + "kkkkkkkkkkkkkkkkkkkkkkkkk)+" + "Soooooooooooooooooooooooooooooooo](WR+--)x36+llllllllllll{," + "35}]Fqb^=F]KKKKKKaaaaa{,131}", + 1, 0 }, + { "(g\"Ssqw<&{Cl{82,}Mdf|9cIlmCW{}[:digit:]4C{}[:alnum:]PP)", 1, + 0 }, + { "OOOOOOOU[*evVIIIIIIIIIIIIIIIII(\?#(\?#IIII)]PP[:xdigit:]" + "2222222222222222[:xdigit:]Kx)p[:digit:]", + 0, 0 }, { "([[{248,16(\?=5(\?#}][:alpha:])|[:p(\?!unct:(\?(]", 1, 0 }, - { "[pP((\?=S)(\?#)]$[:aln(\?(um:)]2\?)$GGGGGGGGGGGGGGGGG({-U:c){-61,}[:ascii:]{-202}G", 1, 0 }, + { "[pP((\?=S)(\?#)]$[:aln(\?(um:)]2\?)$GGGGGGGGGGGGGGGGG({-U:c)" + "{-61,}[:ascii:]{-202}G", + 1, 0 }, { "()$D[:alnum:]", 1, 0 }, { "[(\?#^]){}[:ascii:]", 0, 0 }, - { "[uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu]FFFFFFFFFFFFFFFFFFFFFF&2e\?)%oP'mc@z2b}n{xisx:)UHpP*n{}]{}fx14<7OEpE>n2150)8888888888888888]^GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGS", 0, 0 }, + { "(H)####################bbbbbbbbbbbbbbbbVSSSSSSSSSSS|" + "tdU\"goeAbPP{-248,81}", + 1, 0 }, + { "[^[(\?ims(\?>xisx:)UHpP*n{}]{}fx14<7OEpE>n2150)" + "8888888888888888]^GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGS", + 0, 0 }, { "(d)+", 1, 0 }, { "[^.(\?(>)(\?=e)])al[:space:]x", 0, 0 }, { "[^256c(\?!]){-19,}", 0, 0 }, { "Q)", 0, 0 }, - { "[^s\?\?(\?{\?\?\?(\?#\?(\?cii:])){-107,-139}6/{^[:upperw(\?imsxmsx:ord:]{,-47} ]wuH#nAn)GGGGGGGGGGGGGGGGGr[)]T{91}lJ))[:lowerprint:][:xdigit:][:lowerprint:])]*", 1, 0 }, + { "([^[[rrrrrrrrrr(\?:rrrrrrrrrr(\?cii:])){-107,-139}6/" + "{^[:upperw(\?imsxmsx:ord:]{,-47} " + "]wuH#nAn)GGGGGGGGGGGGGGGGGr[)]T{91}lJ))[:lowerprint:][:" + "xdigit:][:lowerprint:])]*", + 1, 0 }, { "()[:space:]~!$[:alnum:]JJJJ[:ascii:]", 1, 0 }, { "[^(\?<=)-]()k", 1, 0 }, { "(()W){,8}ea", 2, 0 }, - { "({,-56}5G&&&&rrrrrrrrrrrrrrrrrrrrrrrrrrk.8) hWJ,TM)0Yd-", 1, 0 }, + { "({,-56}5G&&&&rrrrrrrrrrrrrrrrrrrrrrrrrrk.8) hWJ,TM)0Yd-", 1, + 0 }, { "(Z-fddddddddddddddddddddddd)-{9}", 1, 0 }, { "[^<[(\?!:asc(\?:i(\?2!+[:punct:(\?2!+[:punct:(\?qQ[^]e[:ascii:]PP()[:digit:]NQ8%6d=&2I{-62,-142}w]].e{}*", 1, 0 }, - { "{,-219}xxxtEEEEEEEEEEEEEEEE[:pun(\?(ct:])qqq)nnnnnnnnnnnnnnnnnnnnnnnnnnn", 0, 0 }, + { "hT[[:alnum:]\?]O[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOxFF%^(\?(_" + "LN " + "8uXQT\"*/" + "L)+l)>qQ[^]e[:ascii:]PP()[:digit:]NQ8%6d=&2I{-62,-142}w]].e{" + "}*", + 1, 0 }, + { "{,-219}xxxtEEEEEEEEEEEEEEEE[:pun(\?(ct:])qqq)" + "nnnnnnnnnnnnnnnnnnnnnnnnnnn", + 0, 0 }, { "[:di(\?>git:])W4", 0, 0 }, { "([^y])Fkvto$", 1, 0 }, - { "[^($$$$$$(\?!$$$$$(\?{$$$$$$(\?<=$$$$$$$$$$$+===)[:alnum:]MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM)Z]{}^[:blankcntrl:]--xxxxxxxxxxxxxxx[^xxxxxxx)\?tVG\?{232,81}{121,}xn{,-226}})tttttttttttttttttttttttmu(\?[:digit:]S[:space:]t", 0, 0 }, + { "[^(\?msxm(\?#sx:]|)ZHYup)j{95}0L:vXB#')d'DX\?m." + "T034\\\\\\\\\\\\\\\\\\\\\\y5rV{}S", + 0, 0 }, + { "(W*O+yl([\?!P(\?:)I]${}{-195,-14}[:upperword:]{}[:xdi[^git:]" + "[:space:]X[:grap[^h:]~]zzzzzzzzzzzzzzzzzzzzzzzL)+)Y " + "b.-=jf{-216,}${/!}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|]", + 2, 0 }, + { "[^\\\\\\\\\\(\?<=\\\\\\\\\\\\\\\\m]{-48,234}[:alpha:]s)", 0, + 0 }, + { "[(\?{U}(\?[:digit:]S[:space:]t", + 0, 0 }, { "()n", 1, 0 }, { "[:upp(erword:]$)<}.vZM)rCD&{5(\?msxisx:7,}qqqqqqqqqqqqqqqqqq{31,}@w#W:(@(\?:zp$YYYYA[:alpha:]{1}A)*dZJ\"5OG|\?(\?#a])]|){-150}[:xdigit:]", 0, 0 }, - { "[($)gwo{`\"]{-160,}\\\\\\\\\\\\\\\\\\\\\\\\\\66666666666666888888888888", -1, 1 }, - { "((}DA+Rc000000000000000000)%vvvvvvvvvvvvvvvvvvvvv%C&emZ*[:alnum:]#m/D[:graph:][:blank[^cntrl:]E{,168})kkkkkkkkkk000000000000000]", 2, 0 }, - { "[^[u*(\?#x01234)oxGGGGG(\?([GGGG)GGGGGGGGG]^U)!!CCCCBM`4QB^XEN]{,-60}[:upperword:]G]", 0, 0 }, + { "[^([^\?>)rCD&{5(\?msxisx:7,}qqqqqqqqqqqqqqqqqq{31,}@w#W:(@(" + "\?:zp$YYYYA[:alpha:]{1}A)*dZJ\"5OG|\?(\?#a])]|){-150}[:" + "xdigit:]", + 0, 0 }, + { "[($)gwo{`\"]{-160,}" + "\\\\\\\\\\\\\\\\\\\\\\\\\\66666666666666888888888888", + -1, 1 }, + { "((}DA+Rc000000000000000000)%vvvvvvvvvvvvvvvvvvvvv%C&emZ*[:" + "alnum:]#m/" + "D[:graph:][:blank[^cntrl:]E{,168})" + "kkkkkkkkkk000000000000000]", + 2, 0 }, + { "[^[u*(\?#x01234)oxGGGGG(\?([GGGG)GGGGGGGGG]^U)!!CCCCBM`4QB^" + "XEN]{,-60}[:upperword:]G]", + 0, 0 }, { "(%)~t{S,K^MI3PMo)=b", 1, 0 }, - { "[[[^]{}eU([:xdigit:]&&&&&&&&&&&&&&&&&)\"W|43[:alpha:][:graph:]J8b[:blankcntrl:]gggggQ{,183}{,-254}\?[:ascii(:]{,134}", 1, 0 }, - { "[[([^[^([^(\?=)1RRRRRRRRRRRRRRRRRRRRRR(\?:(\?(\?(\?!=#RRRRR(\?=RRRR(\?<[^!Ru)])]o[:[graph:[^]{,7})[:digit(\?::]{-215,}e[:space:]]", 0, 0 }, - { "({{{{{{{{{{{{{{{{{{KKKKKKKKKKKKKKKKKKKKKKKKKKKKBBBBBBBBBBBB)[:space:]0[:alnum:]HcctQA", 1, 0 }, - { "[^(pP7(HsN[^g{186,-87}\?\?]EQ%u:-Y)+>>>>>>>>>>>>>>>>>>>>>pP][:alpha:]", 0, 0 }, - { "[(.{141}h|)((\?:\?=@Q} ghcC{+*(R)D+][:lo(\?#werprint:]zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz))", 0, 0 }, + { "[[[^]{}eU([:xdigit:]&&&&&&&&&&&&&&&&&)\"W|43[:alpha:][:" + "graph:]J8b[:blankcntrl:]gggggQ{,183}{,-254}\?[:ascii(:]{," + "134}", + 1, 0 }, + { "[[([^[^([^(\?=)1RRRRRRRRRRRRRRRRRRRRRR(\?:(\?(\?(\?!=#RRRRR(" + "\?=RRRR(\?<[^!Ru)])]o[:[graph:[^]{,7})[:digit(\?::]{-215,}e[" + ":space:]]", + 0, 0 }, + { "({{{{{{{{{{{{{{{{{{KKKKKKKKKKKKKKKKKKKKKKKKKKKKBBBBBBBBBBBB)" + "[:space:]0[:alnum:]HcctQA", + 1, 0 }, + { "[^(pP7(HsN[^g{186,-87}\?\?]EQ%u:-Y)+>>>>>>>>>>>>>>>>>>>>>pP]" + "[:alpha:]", + 0, 0 }, + { "[(.{141}h|)((\?:\?=@Q} " + "ghcC{+*(R)D+][:lo(\?#werprint:]" + "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz))", + 0, 0 }, { "[^({}S)PPFl(])-216", 0, 0 }, { "[([[^(((([(\?#^[^[^\?4[(:[dig[^it(\?(:]{122,})y\?", 0, 0 }, - { "[[2${188}u{1(4(\?(1,1(\?{98}e{&tbaoI]q)[:punct:])d}))Nqffffffffffffffffffffffffffff[:ascii:]+]", 0, 0 }, + { "[[2${188}u{1(4(\?(1,1(\?{98}e{&tbaoI]q)[:punct:])d}))" + "Nqffffffffffffffffffffffffffff[:ascii:]+]", + 0, 0 }, { "()K-", 1, 0 }, - { "[[{2(2((\?(\?!()2})])[:alpha:]fVVVVVVVVV{-47}):::::::::::)\?vwyyyyyyyyyyyyyyyyyyyyyyyyy-]{}", 0, 0 }, + { "[[{2(2((\?(\?!()2})])[:alpha:]fVVVVVVVVV{-47}):::::::::::)" + "\?vwyyyyyyyyyyyyyyyyyyyyyyyyy-]{}", + 0, 0 }, { "ivcs)g", 0, 0 }, - { "(hhhh[^hhhh(\?{h\?]})%%%%%%%%%%%%%%%)\"+38mbY:s9{/d# zaNnbQb)b:*zpKI{-26,-189}", 1, 0 }, + { "(hhhh[^hhhh(\?{h\?]})%%%%%%%%%%%%%%%)\"+38mbY:s9{/d# " + "zaNnbQb)b:*zpKI{-26,-189}", + 1, 0 }, { "S*(#)[:graph:]lllllllll&G)t", 1, 0 }, { "([^[(([\?=\?\?%)$Lwq[:alpha:]{-115,}================================{127,}", 1, 0 }, + { "_[(:upperword:]mU(P}qX>\?%)$Lwq[:alpha:]{-115,}=============" + "==================={127,}", + 1, 0 }, { "e)", 0, 0 }, { "[{,2[5}Klen+D0'YX(\?<=|_H]I,Y\"*/<3sM[:digit:]])#.", 0, 0 }, - { "[:(xdigit:]){[:digit(\?mxmsx::][:as(\?<=cii:]d!{135})#)pP[:space:]Syyyyyyyyyyyyyyyyyyyy\"Gg8", 0, 0 }, + { "[:(xdigit:]){[:digit(\?mxmsx::][:as(\?<=cii:]d!{135})#)pP[:" + "space:]Syyyyyyyyyyyyyyyyyyyy\"Gg8", + 0, 0 }, { "[(\?()])", 0, 0 }, - { "[^([^[^[[^[:alpha:]SIus[^f][^((\?][^((\?n*)P<3tttttttttttttttttttttttttt)n{}[:graph:]eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee{,83}[:digit:])0BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB[:alpha:]{-155,}{151,}", 0, 0 }, + { "()``````````````````````````[:ascii:][:alnum:]{,26}[:graph:" + "]", + 1, 0 }, + { "[:al(\?n*)P<" + "3tttttttttttttttttttttttttt)n{}[:graph:]" + "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee{,83}[:digit:])" + "0BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB[:alpha:]{-155,}{151,}", + 0, 0 }, { "Ue{,254}+f[:lowerp(\?<=rint:]U.fff)", 0, 0 }, - { "QQQQQQQQQQQQQQQQQQQQQQQQAY===========[^=S|[^[:alpha:]G/]qqqqqqqqq{}[:xdigit:])..k", 0, 0 }, - { "[([^[[:space:]ffffff(\?=ff]M]))[:xdigit:]UbCI,CzalLU*y5I[:digit:]r{-30,180}{-209,-45}Paf]", 0, 0 }, - { "[^[h(\?{hhhhhhhhhhhhhhhhhhhhh})]{,143}[:lowerprint:][:ascii:((\?(\?=])[:asc)ii:])zp]", 0, 0 }, + { "QQQQQQQQQQQQQQQQQQQQQQQQAY===========[^=S|[^[" + ":alpha:]G/]qqqqqqqqq{}[:xdigit:])..k", + 0, 0 }, + { "[([^[[:space:]ffffff(\?=ff]M]))[:xdigit:]UbCI,CzalLU*y5I[:" + "digit:]r{-30,180}{-209,-45}Paf]", + 0, 0 }, + { "[^[h(\?{hhhhhhhhhhhhhhhhhhhhh})]{,143}[:lowerprint:][:ascii:" + "((\?(\?=])[:asc)ii:])zp]", + 0, 0 }, { "[[(\?{]})]", 0, 0 }, - { "[[1\"3m^,(\?2m[M/2222222222222222222222222222(\?:22222222222(\?#22(\?:(\?=22222{,243}]x68+I/K)11111111111]\\pP[:graph:]$[:space:]^{}A)[:xdigit:]-={>", 0, 0 }, - { "[(\?>[(^()Vty2vvvvvvvvvvvvvvvvz^])ZZZZZZZZZZZZZZZZZZZ----------------5\\dVLSp8UE2m+z3X/Sd", 0, 0 }, - { "[}}}}}}}}}}}}}}}}}}}(\?#}}(\?<=)|*C ]*29JW7O9mEB]pE_OoxN)[:alpha:]", 0, 0 }, - { "([^((\?<=\?)D{,200}.[(\?#:ascii:])[:space:].)[:alpha:]D|[:graph:]{,-41}*LLUUUUUUUUUUUUU{-189,-131}]qHR2m[M/" + "2222222222222222222222222222(\?:22222222222(\?#22(\?:(\?=" + "22222{,243}]x68+I/" + "K)11111111111]\\pP[:graph:]$[:space:]^{}A)[:xdigit:]-={>", + 0, 0 }, + { "[(\?>[(^()Vty2vvvvvvvvvvvvvvvvz^])ZZZZZZZZZZZZZZZZZZZ-------" + "---------5\\dVLSp8UE2m+z3X/Sd", + 0, 0 }, + { "[}}}}}}}}}}}}}}}}}}}(\?#}}(\?<=)|*C " + "]*29JW7O9mEB]pE_OoxN)[:alpha:]", + 0, 0 }, + { "([^((\?<=\?)D{,200}.[(\?#:ascii:])[:space:].)[:alpha:]D|[:" + "graph:]{,-41}*LLUUUUUUUUUUUUU{-189,-131}]qHR])]][:blankcntrl:]M[:alpha:]x9[:upperword:]|[:xdigit:]b", 1, 0 }, + { "SqbHoooooooooooo[^oooooo([^ooooooo])\\N[:xdigit:]]oooo`", 0, + 0 }, + { "[999999999999999999uE{193,0}lx{7917}[:punct:]4&d]{221,}[:" + "digit:]{49,156}[:lowe(\?<=rprint:])[:space:]{-33}w+", + 0, 0 }, + { "[^(\?{})<{220,-193}[(\?=:xdigit:]UUUUUUUUUUUUUUUUUUU'{-18}]" + ")", + 0, 0 }, + { "b[(\?<=:upperw(\?{ord:][:digit:]})EEEEEEEEEEEEEEEEEEEEE/////" + "/////////////){177}C", + 0, 0 }, + { "(^).[:alnum:][^[(\?=[(\?{[})DA5{)[[I~y&O\?9>])]][:" + "blankcntrl:]M[:alpha:]x9[:upperword:]|[:xdigit:]b", + 1, 0 }, { "()[:digit:][^[U}-]]{,206}V*WJ@R]\?", 1, 0 }, { "[^](\?#{}(\?[<=)yv)]r", 0, 0 }, { "({,-192}//////////////////////7!eW_0eoL){}", 1, 0 }, { "^[:punct:(]+)IIIIIIIII[:punct:]P$pP", 0, 0 }, { "[(\?=|U)^-]{-52,-72}[:digit:]*6666666666\?{{{", 0, 0 }, - { "([^f(\?:+{1((\?=34,}]))^)s0bux7\?5`Bwr[:upperword:])Dy+", 1, 0 }, - { "AL{}:::::::::::::::::::::::::::::::{,(104}~@,Ysey@h).", 1, 0 }, - { "[^((.)))(\?()))))))))))))))))))))(\?msxims:))))))))))[)][:upperword:][:alpha:])", 0, 0 }, - { "[^(()f])G^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^T{}N*nK[G]{,61}^^^^^^^^]", 0, 0 }, - { "[(N::(\?<=[:digit:][:graph:][:space:]xB5[(:xdigit:]|Yv{}HHHHHHHHHHHHHHHHHHHHHHHHd).[:g(\?<=raph:])[:digit:]<<)[:digit:])[:space:]Q[:punct:]x7C]", 0, 0 }, - { "[^((\?(\?(())a)(\?!){})W)pP3333333333(33333333333333333333hhh]{})", 0, 0 }, - { "[^ [ a*FFFFF[^FFFFFFFFFFF(\?<[^!FFFF(\?=FF])])L1]{,-52}{B-bxsPKg{,8}[:digit:][:punct:][:upperword:]DD${,-131}", 0, 0 }, - { "($$$$$$$$$$$$$$$$$$$$$$$$$$$$$^pP),,,,,,,,,,,,,(,,,,,,,,,,,,)QQQQQQQQQQQQQQQQQQQQQQQQ", 2, 0 }, + { "([^f(\?:+{1((\?=34,}]))^)s0bux7\?5`Bwr[:upperword:])Dy+", 1, + 0 }, + { "AL{}:::::::::::::::::::::::::::::::{,(104}~@,Ysey@h).", 1, + 0 }, + { "[^((.)))(\?()))))))))))))))))))))(\?msxims:))))))))))[)][:" + "upperword:][:alpha:])", + 0, 0 }, + { "[^(()f])G^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^T{}N*nK[G]{,61}^^^^^" + "^^^]", + 0, 0 }, + { "[(N::(\?<=[:digit:][:graph:][:space:]xB5[(:xdigit:]|Yv{}" + "HHHHHHHHHHHHHHHHHHHHHHHHd).[:g(\?<=raph:])[:digit:]<<)[:" + "digit:])[:space:]Q[:punct:]x7C]", + 0, 0 }, + { "[^((\?(\?(())a)(\?!){})W)pP3333333333(" + "33333333333333333333hhh]{})", + 0, 0 }, + { "[^ [ " + "a*FFFFF[^FFFFFFFFFFF(\?<[^!FFFF(\?=FF])])L1]{,-52}{B-bxsPKg{" + ",8}[:digit:][:punct:][:upperword:]DD${,-131}", + 0, 0 }, + { "($$$$$$$$$$$$$$$$$$$$$$$$$$$$$^pP),,,,,,,,,,,,,(,,,,,,,,,,,," + ")QQQQQQQQQQQQQQQQQQQQQQQQ", + 2, 0 }, { "[:lowerprint:]|l{(,-54}C{}*-)IIIIIIIIIIIIIIIII", 1, 0 }, { "()+", 1, 0 }, - { "[(([(\?{[:punct:]]|))[[[[[[[[[[})]WWWWWWWW&$$$$$$$[:graph:]", 0, 0 }, - { "[^(\?{}){(107[(^,}][:space:[]))^w,&aPPPPPP[^PPPPP{117,-213}s\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?]]]222222[:d(\?(igit:]NNNNNN)NNNNNNNNNNNNN8)I", 0, 0 }, + { "[(([(\?{[:punct:]]|))[[[[[[[[[[})]WWWWWWWW&$$$$$$$[:graph:]", + 0, 0 }, + { "[^(\?{}){(107[(^,}][:space:[]))^w,&aPPPPPP[^PPPPP{117,-213}" + "s\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?]]]222222[:d(\?(" + "igit:]NNNNNN)NNNNNNNNNNNNN8)I", + 0, 0 }, { "[^(\?9C^:\?X_KK]2sw@hHZT!],uuuuuuut|lFW()'''''''''''''''''''''[:graph:]<~v{-251}0[:digit:]C[{222,}]{,41}{}*g^UuS/{-114}", 1, 0 }, - { "(D{,-79}[:gra(ph:(\?(]C[:ascii:]))I[tC.%tkllll[^llllllllllllllll]&&&&&&)&&&&&&&&&&&&&&&&&&&&&&)]10435", 1, 0 }, - { "[:al(\?{[^num:]]})}x'[:(\?#xdigit:])xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxKKKKKKKKKKKKKKKKKKKKKKKKKKKKTTTr*%{~f", 0, 0 }, - { "[ZQKEEEEEEEEEEEEEEEEE(\?9C^:\?X_KK]2sw@hHZT!],uuuuuuut|lFW()''''''''''''''''''" + "'''[:graph:]<~v{-251}0[:digit:]C[{222,}]{,41}{}*g^UuS/" + "{-114}", + 1, 0 }, + { "(D{,-79}[:gra(ph:(\?(]C[:ascii:]))I[tC.%tkllll[^" + "llllllllllllllll]&&&&&&)&&&&&&&&&&&&&&&&&&&&&&)]10435", + 1, 0 }, + { "[:al(\?{[^num:]]})}x'[:(\?#xdigit:])" + "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxKKKKKKKKKKKKKKKKKKKKKKKKKKKKTT" + "Tr*%{~f", + 0, 0 }, + { "[ZQKEEEEEEEEEEEEEEEEE(\?[:alnum:]W[:space:]]D)|L", 0, 0 }, { "(M(MM)[:alnum:]|[:lowerprint:]4)", 2, 0 }, { "[[^(\?:{}{2[2(\?>0,})]]]Etu)-)", 0, 0 }, - { "([^[^^z[:graph:]]#{-144,96}[:punct:]!4LY//////////////////SSSSSSSSSSSSSSSSSSSSSSSSS[[^:xdigit:]\?`-!L#p0{52}]%{-121,}[:graph:]]WqJ>$6UBg{,7}[:blankcntrl:])[:upperword:]y2wW!A[:blankcntrl:]0CN\?", 1, 0 }, - { "[[^(\?:|+bII(IIIIIII(\?(\?>!)275SIIIIIIIIII(IIIIIII(\?=IIIIII[:graph:]|)`]S\?.}A)[:alnum:]Jgggggggggg{-150,}{-89,})[:alpha:]Q)|07be5:j)]", 0, 0 }, - { "([(\?i(ms(\?=x-x(\?>:))C)]){})>eIqm~lFb[:upperword:][:blankcntrl:]w=[:digit:][:graph:]", 1, 0 }, - { "([HHHHHHHHHHHHHHHHHHHHHHHHHH[^HHH(\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?!!!!!!!!!!!!!!!!!!!!{23}]~J=[:ascii:]tttttttttttttttt])-216", 1, 0 }, - { "B{[^-32,246}{13(\?!0}q>GVQw*[:digit:][:punct:].77777777777777777777`T(-t01odD]\?${}{-247}+gV{131})+[:lowerprint:]m/z~d", 0, 0 }, - { "[t[$FV+(\?=E=[^])]-$U{-22[5,}{253,}08g]$[{}][:xdigit:][:punct:]{-18}{-173,}]{,-191}V_|90", 0, 0 }, + { "([^[^^z[:graph:]]#{-144,96}[:punct:]!4LY//////////////////" + "SSSSSSSSSSSSSSSSSSSSSSSSS[[^:xdigit:]\?`-!L#p0{52}]%{-121,}[" + ":graph:]]WqJ>$6UBg{,7}[:blankcntrl:])[:upperword:]y2wW!A[:" + "blankcntrl:]0CN\?", + 1, 0 }, + { "[[^(\?:|+bII(IIIIIII(\?(\?>!)275SIIIIIIIIII(IIIIIII(\?=" + "IIIIII[:graph:]|)`]S\?.}A)[:alnum:]Jgggggggggg{-150,}{-89,})" + "[:alpha:]Q)|07be5:j)]", + 0, 0 }, + { "([(\?i(ms(\?=x-x(\?>:))C)]){})>eIqm~lFb[:upperword:][:" + "blankcntrl:]w=[:digit:][:graph:]", + 1, 0 }, + { "([HHHHHHHHHHHHHHHHHHHHHHHHHH[^HHH(" + "\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?!!!!!!!!!!!!!!!!!!" + "!!{23}]~J=[:ascii:]tttttttttttttttt])-216", + 1, 0 }, + { "B{[^-32,246}{13(\?!0}q>GVQw*[:digit:][:punct:]." + "77777777777777777777`T(-t01odD]\?${}{-247}+gV{131})+[:" + "lowerprint:]m/z~d", + 0, 0 }, + { "[t[$FV+(\?=E=[^])]-$U{-22[5,}{253,}08g]$[{}][:xdigit:][:" + "punct:]{-18}{-173,}]{,-191}V_|90", + 0, 0 }, { "()$", 1, 0 }, - { "[^[^((((((((((((((W[(\?::blankcntrl:]&-JH]J){93}LLLLLLL|r{,221}tY/172]-AS", 0, 0 }, - { "[^()(\?{qqqq(\?msimsx:qqqqqqqqqq3999999999999GGGGG|S*W%{,128}][:xdigit:]AJt]}\"Zf!lRpr{>){,36}})", 0, 0 }, + { "[^[^((((((((((((((W[(\?::blankcntrl:]&-JH]J){93}LLLLLLL|r{," + "221}tY/172]-AS", + 0, 0 }, + { "[^()(\?{qqqq(\?msimsx:qqqqqqqqqq3999999999999GGGGG|S*W%{," + "128}][:xdigit:]AJt]}\"Zf!lRpr{>){,36}})", + 0, 0 }, { "[([]^]^)", 0, 0 }, - { "([.(\?#){}[:alpha:]\?S{2}P%Gw]nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnYiq5)>i*r<", 1, 0 }, - { "[ggggggggggg$PPP:S (:]N{239,}|A[:lowerprint:]vvvvvvvvvv[:lower(print:]{-184}({-133,}+)[:punct:]P/Q.OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", 1, 0 }, + { "([.(\?#){}[:alpha:]\?S{2}P%Gw]" + "nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnYiq5)>i*r<", + 1, 0 }, + { "[ggggggggggg$PPP:S " + "(:]N{239,}|A[:lowerprint:]vvvvvvvvvv[:lower(print:]{-184}({-" + "133,}+)[:punct:]P/Q.OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", + 1, 0 }, { "(RRRRRRR[^RRRRR[RRRRRRRRR])]", 1, 0 }, { "[(\?:^])D%", 0, 0 }, { "()[]#C[+[j]{,29}-]", 1, 0 }, - { "(([(\?(((\?{\?!(\?=\?=#[Es*){02$r'}(\?:3pz)uPPPPPPPPPPPPPPPP(\?(\?>:PPPP][:graph:][:ascii:]`.)[:punct:][:a(\?mxi:lnum:])r)$)[:xdigit:]$[:(\?=digit:])aa[^]a)\?])sQQQQQQQQQQQQQQQQQQQQQQQQQQ^|$)-}))", 2, 0 }, + { "(([(\?(((\?{\?!(\?=\?=#[Es*){02$r'}(\?:3pz)" + "uPPPPPPPPPPPPPPPP(\?(\?>:PPPP][:graph:][:ascii:]`.)[:punct:]" + "[:a(\?mxi:lnum:])r)$)[:xdigit:]$[:(\?=digit:])aa[^]a)\?])" + "sQQQQQQQQQQQQQQQQQQQQQQQQQQ^|$)-}))", + 2, 0 }, { "z@@@@@@@y${}[:(\?:upperword:]l\?{,144}-)", 0, 0 }, - { "[:aln(\?:(\?>um:(\?imximsx:]){})FGGGGGGGGGG|-p){,105}", 0, 0 }, - { "[[{17}llllllllllllllll(\?:lllllllll{,(\?#-94}OUUUUUUU(\?#UUUUUUUUUUUUUAA]p[:digit:]{-1(57,}5yyyyyyyyyyyyyyyyyyyyy[:alnum:]v{-185}^^^^^^^^^^^^^)d[[[p)]))", 1, 0 }, + { "[:aln(\?:(\?>um:(\?imximsx:]){})FGGGGGGGGGG|-p){,105}", 0, + 0 }, + { "[[{17}llllllllllllllll(\?:lllllllll{,(\?#-94}OUUUUUUU(\?#" + "UUUUUUUUUUUUUAA]p[:digit:]{-1(57,}5yyyyyyyyyyyyyyyyyyyyy[:" + "alnum:]v{-185}^^^^^^^^^^^^^)d[[[p)]))", + 1, 0 }, { "()|[:digit:].E2o", 1, 0 }, { "()3[:lowerprint:]", 1, 0 }, - { "[(\?{(\?#(\?>SN}[^)z+r^t[:digit:]seP[:alnum:]$b1ZY[U(\?{}000000000000000000000000000000$|)", 0, 0 }, + { "[(\?{(\?#(\?>SN}[^)z+r^t[:digit:]seP[:alnum:]$b1ZY[U(\?{}000000000000000000000000000000$|)", + 0, 0 }, { "[:(\?=digit:])v{164}", 0, 0 }, - { "[:graph:]h[:upper(\?(wo(\?{rd:)])00000[^000000000000}).4OEVf{,-46}]A", 0, 0 }, + { "[:graph:]h[:upper(\?(wo(\?{rd:)])00000[^000000000000})." + "4OEVf{,-46}]A", + 0, 0 }, { "[](((((((((((((((N{{{{{{{{{{{{{{{{,-1}e]a{-166,-44}", 0, 0 }, - { "([[^[^[(^[]]YYYYYYYYYYY]D.cQ{}[:alpha:]ttttttt000000[^0000(\?raph:])[:punct:][:upperword:]LV\"t+t!)[:ascii:][:lowerprint:]q", 2, 0 }, - { "[[[^([7(\?[raph:])[:punct:][:upperword:]LV\"t+t!)[:" + "ascii:][:lowerprint:]q", + 2, 0 }, + { "[[[^([7(\?[R]]$PeFuufcBA`qr!!!!!!!!!!!!!!!!!!!!!!!!!", 0, 0 }, - { "[[(\?#F^(\?wwwww)3z/57z){34}]/(/////////////[^//////////////////)]E%)L{-133}]*$]", 1, 0 }, + { "[[^]{-244[}(\?([^|W0E4]UUUUUUUUUUUUUU[:upper)word:][:space:]" + "{-57,})+L>R]]$PeFuufcBA`qr!!!!!!!!!!!!!!!!!!!!!!!!!", + 0, 0 }, + { "[[(\?#F^(\?wwwww)3z/57z){34}]/(/////////////[^////" + "//////////////)]E%)L{-133}]*$]", + 1, 0 }, { "(!)GS[:ascii:][:punct:]{235}T'&-_h\"", 1, 0 }, { "(){}", 1, 0 }, - { "[[^((\?!(\?<=)*QF[:alpha:])([^[^\?qqqqqqqqqqqqqqqqqqqqqqqP6W0_'O)Bur*'6&*t)]{65})+", 0, 0 }, - { "([(\?=)]wr$7f5ru){100,}[:xdigit:]y{}[:digit:]{}2n@P|9#mru~97{-189,73}$a", 1, 0 }, + { "[[^((\?!(\?<=)*QF[:alpha:])([^[^\?qqqqqqqqqqqqqqqqqqqqqqqP6W0_'O)" + "Bur*'6&*t)]{65})+", + 0, 0 }, + { "([(\?=)]wr$7f5ru){100,}[:xdigit:]y{}[:digit:]{}2n@P|9#mru~" + "97{-189,73}$a", + 1, 0 }, { "({-113,213}){-172,221}B[:ascii:]{,-48}", 1, 0 }, - { "[^[[Xf`````((\?{(\?<=\?imsmsx:`````````(\?!`````````[```(\?mximsx:``(\?(&|o{xIaO][:)space:]3))\?])+)*<|@@@@@@@@@@@@@@@@@@@@@@){-251,}{}]*[:graph:]1!azE\?|-120u*][:lowerprint:]})", 0, 0 }, - { "[[[^##(\?################(\?>(\?(##t)][:punct:])b))<<<<<<<<<<<<<<<<<<<<<<<<<<[:alnum:]y >u=l:rp8i3Ci#]46%NIO-W[:space:]IIIIIIIIIIIIIIIIII]W[:space:]f]l{-253}", 0, 0 }, - { "[:graph:]L{-136,175}{[^}h(\?=t)Q]ooooooooo(ooooooooooooooooo_)[:space:]q\?", 1, 0 }, + { "[^[[Xf`````((\?{(\?<=\?imsmsx:`````````(\?!`````````[```(" + "\?mximsx:``(\?(&|o{xIaO][:)space:]3))\?])+)*<|@@@@@@@@@@@@@@" + "@@@@@@@@){-251,}{}]*[:graph:]1!azE\?|-120u*][:lowerprint:]}" + ")", + 0, 0 }, + { "[[[^##(\?################(\?>(\?(##t)][:punct:])b))<<<<<<<<<" + "<<<<<<<<<<<<<<<<<[:alnum:]y " + ">u=l:rp8i3Ci#]46%NIO-W[:space:]IIIIIIIIIIIIIIIIII]W[:space:]" + "f]l{-253}", + 0, 0 }, + { "[:graph:]L{-136,175}{[^}h(\?=t)Q]ooooooooo(" + "ooooooooooooooooo_)[:space:]q\?", + 1, 0 }, { "()$.", 1, 0 }, { "[(\?\"y8].]:::::::::::::::)pP5-]p)O{,199}xxxxxxxxxxxxxxxxxxxxxx[:ascii:]%", 1, 0 }, + { "([^[^[^J4(+++++++++++++++++++++SgDE(\?>\"y8].]::::::::::::::" + ":)pP5-]p)O{,199}xxxxxxxxxxxxxxxxxxxxxx[:ascii:]%", + 1, 0 }, { "([:alpha:]Fs)Z", 1, 0 }, - { "[()]{209}[:alpha:]hhhhhhhhh(hhhhhhhhhhhhhhhhhhhhh)pP<<<<<<<<<<<<<<<<<<<<<<<<<<<<<", 1, 0 }, - { "-{-8,}.[:(\?imsxx:ascii(\?D9'", 0, 0 }, - { "[#(\?msximsx:#########################-IIIIIIIIIIIIII(IIII(\?#IIIII((\?#[^III{})N.[(\?=:lowerprint:]))CwT,,,,,,,,,,,,,,,,,,,,Sq]$CCCCCCCCCCCCCCCCCCCCCCCuuuuuuuu])))", 0, 0 }, + { "[()]{209}[:alpha:]hhhhhhhhh(hhhhhhhhhhhhhhhhhhhhh)pP<<<<<<<<" + "<<<<<<<<<<<<<<<<<<<<<", + 1, 0 }, + { "-{-8,}.[:(\?imsxx:ascii(\?D9'", + 0, 0 }, + { "[#(\?msximsx:#########################-IIIIIIIIIIIIII(IIII(" + "\?#IIIII((\?#[^III{})N.[(\?=:lowerprint:]))CwT,,,,,,,,,,,,,," + ",,,,,,Sq]$CCCCCCCCCCCCCCCCCCCCCCCuuuuuuuu])))", + 0, 0 }, { "[:xdigit:][(\?#]){13}{,75}lllllllll", 0, 0 }, { "[c]QQQQQQQQ1+{-252[(\?#}33333])[:upperword:]", 0, 0 }, { "P@i #>>PF!@8G<[(\?:^P]-)D", 0, 0 }, - { "uZZZZZZZZZZZZZZ[^ZZZZZl*-211{199}(\?!p])EEEEEEEEEEEEEEEEEEEEEEEEEEED[:lowerp(\?msximsx:rint:])", 0, 0 }, + { "uZZZZZZZZZZZZZZ[^ZZZZZl*-211{199}(\?!p])" + "EEEEEEEEEEEEEEEEEEEEEEEEEEED[:lowerp(\?msximsx:rint:])", + 0, 0 }, { "[(\?!^])021[:graph:]'", 0, 0 }, { "\\(\?>[(\?<=:ascii:]{}[:alpha:]d8}G))", 0, 0 }, { "[^[((\?!1)[^,a|]\?{,242}[:alnum:])X\"a", 0, 0 }, - { "pP[((\?simx::a(\?!lnum:]vvvvvvvvvvvvvvvvvvvvvvvvv)|O0)[:digit:]ooooooooooooooooooooo)\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"", 0, 0 }, + { "pP[((\?simx::a(\?!lnum:]vvvvvvvvvvvvvvvvvvvvvvvvv)|O0)[:" + "digit:]ooooooooooooooooooooo)" + "\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"", + 0, 0 }, { "_ L:8J-~ Y$[:uppe(rword:]{,-184}]{}6.A)", 0, 0 }, { "{,105}.(9]]{-12})N@0nOOE", 1, 0 }, { "HHHHHHHHHH[:xdigit:]uuuuuuuuuuuu{}E^X\\\\\\12601", -1, 1 }, { "( o)=\"OU7h{V>", 1, 0 }, - { "[[:xdigit:])))))$[:xdigit:]+{152}{,-50}(c),,,,,,!!!!!!!!!!!!!!(\?>!!!!!!!!!!!!!.[:digit:]i>\"O'i9])-175d_", 0, 0 }, - { "[([^[^[^([[Eeee[^eeeeeee(\?(\?(\?!(\?>a:]a{,166})/////////////////////[:gr[^aph:])Gpu", 0, 0 }, + { "[[:xdigit:])))))$[:xdigit:]+{152}{,-50}(c),,,,,,!!!!!!!!!!!!" + "!!(\?>!!!!!!!!!!!!!.[:digit:]i>\"O'i9])-175d_", + 0, 0 }, + { "[([^[^[^([[Eeee[^eeeeeee(\?(\?(\?!(\?>a:]a{,166})/////////////////////" + "[:gr[^aph:])Gpu", + 0, 0 }, { "(7)NNNNNNNNNNN132", 1, 0 }, { "[([\?#^[]{QKm$v])][:alp[^ha:]]", 0, 0 }, { "(:{86})7{K|[:alpha:]{O", 1, 0 }, - { "([Y(\?{[[^:alnum:][:alnum:][:digit:][:a(\?(lpha(\?(:].})", 1, 0 }, - { "[[({29,-30}([[^:digit:])Y]]J=~{,220}[:blankcntrl:])0ooooooooooooooooooooooooooooooo[:punct:]&]", 0, 0 }, + { "([Y(\?{[[^:alnum:][:alnum:][:digit:][:a(\?(lpha(\?(:].})", 1, + 0 }, + { "[[({29,-30}([[^:digit:])Y]]J=~{,220}[:blankcntrl:])" + "0ooooooooooooooooooooooooooooooo[:punct:]&]", + 0, 0 }, { "[^1Dx32[:alnum:]]{[(\?::punct:]MMMMMMMMMM)12759", 0, 0 }, { "([[[]]*|(_])[:u(\?{pperword:]})", 2, 0 }, { "[:upper(\?(wo)rd:]){-16,250}", 0, 0 }, { "([^{194}i(\?({161)}PP\\S{}{,-14}]))z{208,225}BpPEt", 1, 0 }, - { "[(\?m-ms:)}&!@29k0sUqzt9}<-x|A$!+G>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>CCCCCCCCCC-][[:space:]][:space:]El", 0, 0 }, - { "()[:digit:(\?isx(\?>ix:]K^WQQQQQQQQQQQQQQs)[:lowerprint:])", 1, 0 }, - { "[a|(\?imix:S(\?(SSSS)SS(\?>S)]W)8t[:ascii:]f$)[:alnum:]111111111111111111111[^[:space:]x{12729}+'''''''''''''''']", 0, 0 }, - { "[^(\?!(\?(\?#=)a)[:punct:]=2)(){}$$$$$$$$$(\?ims(\?#-isx:$$$$$$$$$$$$$$$$(\?#$$s)x{294b}##############################slllll)]){,209}333333333333333333G:v2/K", 0, 0 }, - { "[^]ub(\?<=)vQ6(\?#Z\"3.)[:space:]u[[:digit:]]7777777777777777U'{}sssssssssss", 0, 0 }, + { "[(\?m-ms:)}&!@29k0sUqzt9}<-x|A$!+G>>>>>>>>>>>>>>>>>>>>>>>>>>" + ">>>>>>CCCCCCCCCC-][[:space:]][:space:]El", + 0, 0 }, + { "()[:digit:(\?isx(\?>ix:]K^WQQQQQQQQQQQQQQs)[:lowerprint:])", + 1, 0 }, + { "[a|(\?imix:S(\?(SSSS)SS(\?>S)]W)8t[:ascii:]f$)[:alnum:]" + "111111111111111111111[^[:space:]x{12729}+'''''''''''''''']", + 0, 0 }, + { "[^(\?!(\?(\?#=)a)[:punct:]=2)(){}$$$$$$$$$(\?ims(\?#-isx:$$$" + "$$$$$$$$$$$$$(\?#$$s)x{294b}##############################" + "slllll)]){,209}333333333333333333G:v2/K", + 0, 0 }, + { "[^]ub(\?<=)vQ6(\?#Z\"3.)[:space:]u[[:digit:]]" + "7777777777777777U'{}sssssssssss", + 0, 0 }, { "(([(])`[:ascii:]b)", 2, 0 }, { "[[[^[^([^[^(\?=(\?imxisx:[[^w])", 0, 0 }, { "pppp(pppppppppp-{-175}Nb>k&)sssss{-190,-54}", 1, 0 }, - { "()OJ@`'%[:(as(\?!cii(\?#:]))+pffffffffffffffffffffffffffff{,162}[:ascii:]5)s-[:graph:]", 1, 0 }, - { "[(M{}Ux5{jaW/{}[^u[:alpha:]s^{84,}PPb@Wt$(\?>nhanha:al[^pha:]])\"O\"vN", 0, 0 }, - { "[(\?>d8E@b.{(\?<=,-250}(\?=mx48[:punct:]^&)]nAeYY)W)-13272", 0, 0 }, - { "22222222222222222222222222///////////////////[:digi(\?#t:]eM)[:lowerprint:][:alpha:][:alpha:]EEEEEEEEEEE", 0, 0 }, - { "[(\?={38,223})^\\\\\\\\\\\\\\\\L(\?:{,-50}3|)}r]aW\\x70U{-110,}8LUf)w]4+oav", 0, 0 }, + { "[(\?>d8E@b.{(\?<=,-250}(\?=mx48[:punct:]^&)]nAeYY)W)-13272", + 0, 0 }, + { "22222222222222222222222222///////////////////" + "[:digi(\?#t:]eM)[:lowerprint:][:alpha:][:alpha:]EEEEEEEEEEE", + 0, 0 }, + { "[(\?={38,223})^\\\\\\\\\\\\\\\\L(\?:{,-50}3|)}r]aW\\x70U{-" + "110,}8LUf)w]4+oav", + 0, 0 }, { "G[:upperword:]v[:lowerprint:]-tu)j8CK", 0, 0 }, - { "[([([^().(\?(\?><=c)'(\?<(='(\?L\?q!G))|)(\?=n(\?(^tk)T-z$q!D|2<=c)'(\?<(='(\?L\?q!G))|)(\?=n(\?(^tk)T-z$q!D|2[^a:]W,[4DLR[^^8THMtVv~KKw(\?>)pPF)].{-245,}]))fffffffffd[:alpha:]zzzzzzzzzzzzzzzzzzzzzzzzzzzzz", 1, 0 }, - { "[^[[^]{-[1(\?imximx:83,}{,182}][:graph:]]^])-bTO X0P", 0, 0 }, - { "[11111111111(\?#11111111]U[:asc([\?!ii:]{,37}+{-89}){-170,218}{-21,})f[:xdigit:]]P.[:xdig(\?:it:]145)YYYYYY$S@:@@@@@@@@@{-150,-109}", 0, 0 }, + { "{-205(,}[:al(ph(\?>[^a:]W,[4DLR[^^8THMtVv~KKw(\?>)pPF)].{-" + "245,}]))fffffffffd[:alpha:]zzzzzzzzzzzzzzzzzzzzzzzzzzzzz", + 1, 0 }, + { "[^[[^]{-[1(\?imximx:83,}{,182}][:graph:]]^])-bTO X0P", 0, + 0 }, + { "[11111111111(\?#11111111]U[:asc([\?!ii:]{,37}+{-89}){-170," + "218}{-21,})f[:xdigit:]]P.[:xdig(\?:it:]145)YYYYYY$S@:@@@@@@@" + "@@{-150,-109}", + 0, 0 }, { "{-40} (\?( (\?{ (\?!]E{-29})pP)})ZpP", 0, 0 }, - { "(t|{}c[^z^\?(@YLD]bSSSSSSSSSSSSSSS)+{{{{{{{{{{{{{{{[:xdigit:]n>1)WkF}7", 1, 0 }, - { "W22[0Q[^d-d{}PPPPPPPPPPPPPPP<^FZ(\?<=\"[U]Yo}9H'cYy]S[:alnum:]^8wTDH)^u", 0, 0 }, - { "([^[(\?:(\?>((\?#$)(\?{^(\?>))///////////(\?>/ggggggggggggggggg{1(\?!90,-13}\\D)Dyyyyyyyyyyyy(\?!y(\? (\?( (\?{ " + "(\?!]E{-29})pP)})ZpP", + 0, 0 }, + { "(t|{}c[^z^\?(@YLD]bSSSSSSSSSSSSSSS)+{{{{{{{{{{{{{{{[:xdigit:" + "]n>1)WkF}7", + 1, 0 }, + { "W22[0Q[^d-d{}PPPPPPPPPPPPPPP<^FZ(\?<=\"[U]Yo}9H'cYy]S[:" + "alnum:]^8wTDH)^u", + 0, 0 }, + { "([^[(\?:(\?>((\?#$)(\?{^(\?>))///////////(\?>/" + "ggggggggggggggggg{1(\?!90,-13}\\D)Dyyyyyyyyyyyy(\?!y(\?ankcntrl:]))(^m+)zSiZ F4[!]VV$E{-9,-100}''''('''''''''\?DEOOOOOOOOOOOO###############[:space:])HHHH)[:digit:]'////////////", 2, 0 }, - { "[^*}(\?>)(\?:7Q=#+]KKKKKKKKKKKKKKKKKKKKKKKKKKKG)]]]]]]]]]]]]]]]]]]]]]]]]]][:alpha:]-{}", 0, 0 }, - { "[n(\?<(\?#!nnnnnn55555{205,}!)[:alnum:]^]!!!!!!!!!!!!!!!!!!!!!!![:punct:])[:x(\?(digit:]vr)|'n6W5 D&jk[:punct:]5)", 0, 0 }, + { "nn[:s(\?<=pace:])[:upperword:]ooooooooooooooooooo*^[:space:]" + "`{-188,129}mmmmmmmmmmmmm^.", + 0, 0 }, + { "[[G{(\?imsximsx:2(49}{,-46}r(\?(\?=#Gw]u))[:bl(\?>ankcntrl:]" + "))(^m+)zSiZ " + "F4[!]VV$E{-9,-100}''''('''''''''\?DEOOOOOOOOOOOO############" + "###[:space:])HHHH)[:digit:]'////////////", + 2, 0 }, + { "[^*}(\?>)(\?:7Q=#+]KKKKKKKKKKKKKKKKKKKKKKKKKKKG)]]]]]]]]]]]]" + "]]]]]]]]]]]]]][:alpha:]-{}", + 0, 0 }, + { "[n(\?<(\?#!nnnnnn55555{205,}!)[:alnum:]^]!!!!!!!!!!!!!!!!!!!" + "!!!![:punct:])[:x(\?(digit:]vr)|'n6W5 D&jk[:punct:]5)", + 0, 0 }, { "[^P(P{(\?i(msxisx:235,}))***])[:alpha:]^", 0, 0 }, - { "[([t(\?a:])x11{-144,45}.", 0, 0 }, - { "[]{#y.^(\?{{}&&&&(\?:[^&&&&&&&&)[:punct:]n{190}OylBQ{(\?!-73})2u',x(\?#Ds(\?#{})j(\?{-})})u0(((((((\?{(((([:alnum:])MC})b=71TncyE>[:xdigit:]*\\f]{}]\"p#!8twZT\")[:punct:][:space:]", 0, 0 }, - { "[^(Z6]8)|'@p8{}[:upperword:]MMMMMMMMMMMMMMMMMMMMMMMMMMMM{}7c", 0, 0 }, + { "[]{#y.^(\?{{}&&&&(\?:[^&&&&&&&&)[:punct:]n{190}OylBQ{(\?!-" + "73})2u',x(\?#Ds(\?#{})j(\?{-})})u0(((((((\?{(((([:alnum:])" + "MC})b=71TncyE>[:xdigit:]*\\f]{}]\"p#!8twZT\")[:punct:][:" + "space:]", + 0, 0 }, + { "[^(Z6]8)|'@p8{}[:upperword:]MMMMMMMMMMMMMMMMMMMMMMMMMMMM{}" + "7c", + 0, 0 }, { "$0)@#vp,VcJ.Bdh", 0, 0 }, - { "[[^(-])nnnn+s`[:alpha:][:blankcnt[^rl:][:upperword:]{-15,}][:g(raph:]c]){,-177}6[:upperword:]##################{,-14}", 0, 0 }, - { "[[(5C{86(,}PPrrrrrrrrrrrrrrrrrrrrr{150,182})N{}LSC|)-[:alnum:]{}KKKKKKKKKKKKKKKK<4=~7K3PPPPPPPPPPPPPPPPPPPPPPP[:lowerprint:]]]", -1, 0 }, + { "[[^(-])nnnn+s`[:alpha:][:blankcnt[^rl:][:upperword:]{-15,}][" + ":g(raph:]c]){,-177}6[:upperword:]##################{,-14}", + 0, 0 }, + { "[[(5C{86(,}PPrrrrrrrrrrrrrrrrrrrrr{150,182})N{}LSC|)-[:" + "alnum:]{}KKKKKKKKKKKKKKKK<4=~7K3PPPPPPPPPPPPPPPPPPPPPPP[:" + "lowerprint:]]]", + -1, 0 }, { "([^(x{145b[5}^hfc.0)+]z@_&lA{-34,}])X\?", 1, 0 }, { "([(\?<=)(\?!])l)L", 1, 0 }, { "({-104,}DrPPDF4444444444444[:space:])[:space:]", 1, 0 }, { "())))", 1, 0 }, - { "[[^((\?>\?(\?[{})q5v}r7t(P)xtffffffffffff))]{,-66}kdExX&-SCeCzzzzzzzzzEc)E,\"^I]x{e629}|{}]", 0, 0 }, - { "[h[:punct:]p\\[\\\\(\?:\\\\[^\\\\)Eo#:C$u[^T/ysA[*%nM:f]{,221}[:lowerprin[^t:]{]bx{f285}E]E[:alnum:]+]1oe3B][:alp(ha:]]fh7}M$l)D{17}", 0, 0 }, - { "IIIIIIII[^IIIIIIX]-_S[:digit(\?#:])33333333333333333333333333[:punct:]iiiiiiiiiiiiiiiiii", 0, 0 }, - { "[^[[:punct:](\?((\?:^ #Q_po(\?=[:alpha:]{}z()(\?!======'wq$Q2)LLLLLLLLLLLLLLLe(C9gggggggggggggggggg[(\?<=:alnum:]()\?\?(\?[{})q5v}r7t(P)xtffffffffffff))]{,-66}kdExX&-" + "SCeCzzzzzzzzzEc)E,\"^I]x{e629}|{}]", + 0, 0 }, + { "[h[:punct:]p\\[\\\\(\?:\\\\[^\\\\)Eo#:C$u[^T/" + "ysA[*%nM:f]{,221}[:lowerprin[^t:]{]bx{f285}E]E[:alnum:]+]" + "1oe3B][:alp(ha:]]fh7}M$l)D{17}", + 0, 0 }, + { "IIIIIIII[^IIIIIIX]-_S[:digit(\?#:])" + "33333333333333333333333333[:punct:]iiiiiiiiiiiiiiiiii", + 0, 0 }, + { "[^[[:punct:](\?((\?:^ " + "#Q_po(\?=[:alpha:]{}z()(\?!======'wq$Q2)LLLLLLLLLLLLLLLe(" + "C9gggggggggggggggggg[(\?<=:alnum:]()\?(\?=a!Ib1P]])])~~~~~~~]xE9", 0, 0 }, { "X()", 1, 0 }, - { "[^()(\?#G(\?777777])", 0, 0 }, { "(),e<^X~{[:alpha:]{}G{70}", 1, 0 }, { "({-211,}'){}", 1, 0 }, - { "[^(\?imsxsx:{}[*])cccccccccccccccccccccccccccccccc[x))(\?:]r.]]]))[:graph(\?<=:])))", 0, 0 }, - { "[^([(\?#)(\?(\?(<=)l|\?(\?!])kkkkkkkkkkkkkkkkkkkkkkkkkk", 0, 0 }, - { "[:xdigit:]K(KKKKKKK)^3c.OOO{-240,-10}2{-97,-139}*{-34,}[:xdigit:]", 1, 0 }, - { "[([^66666666F(\?>FFFFFFFFFFwpP)LLLLLDeDA&Am$l[:xdigit:]!T5#]n[:alpha:]U*)))))))))))))PP]", 0, 0 }, - { "[[[:punct:]u^[:xdigit:]L(\?:[:xdigit:][[:graph:]PP{21}A[:alpha:]8%I(M%b[x))(\?:]r.]]]))[" + ":graph(\?<=:])))", + 0, 0 }, + { "[^([(\?#)(\?(\?(<=)l|\?(\?!])kkkkkkkkkkkkkkkkkkkkkkkkkk", 0, + 0 }, + { "[:xdigit:]K(KKKKKKK)^3c.OOO{-240,-10}2{-97,-139}*{-34,}[:" + "xdigit:]", + 1, 0 }, + { "[([^66666666F(\?>FFFFFFFFFFwpP)LLLLLDeDA&Am$l[:xdigit:]!T5#]" + "n[:alpha:]U*)))))))))))))PP]", + 0, 0 }, + { "[[[:punct:]u^[:xdigit:]L(\?:[:xdigit:][[:graph:]PP{21}A[:" + "alpha:]8%I(M%bSSSSSSSSSSSSSSSSSSSSSS]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]{,-1}])[:blankcntrl:]===============================[:punct:][:blankcntrl:]Z[:space:][:ascii:]$|$[:blankcntrl:] JR.{,133}[:alpha:]$\?)<]", -1, 0 }, - { "(OL[:u[pperword(:][:s[^pace:].[:spac(e:],,,,]*])$)\?)", 1, 0 }, + { "[^444(\?<=4444444[:alnum:]&[,i]0)[:alpha:][:upperword:]", 0, + 0 }, + { "[^([^(\?()*+)SS(\?>SSSSSSSSSSSSSSSSSSSSSS]]]]]]]]]]]]]]]]]]]" + "]]]]]]]]]]]{,-1}])[:blankcntrl:]============================" + "===[:punct:][:blankcntrl:]Z[:space:][:ascii:]$|$[:" + "blankcntrl:] JR.{,133}[:alpha:]$\?)<]", + -1, 0 }, + { "(OL[:u[pperword(:][:s[^pace:].[:spac(e:],,,,]*])$)\?)", 1, + 0 }, { "(VI[:digit:][:alpha:]6)EG", 1, 0 }, { "({}){-2,-40}rrrrrrrrrrrrrrrrrrrrrrr[:punct:]", 1, 0 }, { "()q", 1, 0 }, - { "[^([^[([^C|])]{,-56}[:xdigit:]{-144,}V])fYv{-[40,-58}$@@@@@@@@@@@@@]|Y(-]-.]h-[:dig(it:])>>>dddddddddddddddddddddddddd{101,}", 1, 0 }, - { "([P,{1(\?(\?(<=28,-218[^)}LoZX)])!!!!!!!!!!!!!!*[:blank(\?!cntrl:]ed)\\\\\\\\\\\\\\\\\\\\[\\L\?][:graph:]:*Y{-108,120}xCC)]", 1, 0 }, + { "[^([^[([^C|])]{,-56}[:xdigit:]{-144,}V])fYv{-[40,-58}$@@@@@@" + "@@@@@@@]|Y(-]-.]h-[:dig(it:])>>>dddddddddddddddddddddddddd{" + "101,}", + 1, 0 }, + { "([P,{1(\?(\?(<=28,-218[^)}LoZX)])!!!!!!!!!!!!!!*[:blank(\?!" + "cntrl:]ed)\\\\\\\\\\\\\\\\\\\\[\\L\?][:graph:]:*Y{-108,120}" + "xCC)]", + 1, 0 }, { "(A[:space:]PP{185}a^!!!!!!lllllll)*db\?$Pfr", 1, 0 }, - { "{-21,-118}kG[(\?{:xdigit:]})[:punct:]{69}Qyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy5{}TTTTTTTTTTTTTTTTTTTTT", 0, 0 }, - { "[[^[P(\?<=P$X>0^d.[:punct:](\?#ccccccccccccccccccccccccc{}3N000(\?>00000000000000000000000000000]f[:punct:]5)).R================{,222}^wwwwwwww$)]-{} ]{,-22}CjP{242,}", 0, 0 }, + { "{-21,-118}kG[(\?{:xdigit:]})[:punct:]{69}" + "Qyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy5{}TTTTTTTTTTTTTTTTTTTTT", + 0, 0 }, + { "[[^[P(\?<=P$X>0^d.[:punct:](\?#ccccccccccccccccccccccccc{}" + "3N000(\?>00000000000000000000000000000]f[:punct:]5)).R======" + "=========={,222}^wwwwwwww$)]-{} " + "]{,-22}CjP{242,}", + 0, 0 }, { "[(\?#^]{})", 0, 0 }, - { "[^([[([([[([^[^(\?:(\?(\?(!)]\"))h>\"RRRRRRRRRRRRRRRR[^RRRRR{68,-65}7Q(\?{]", 0, 0 }, + { "[^([[([([[([^[^(\?:(\?(\?(!)]\"))h>\"RRRRRRRRRRRRRRRR[^" + "RRRRR{68,-65}7Q(\?{]", + 0, 0 }, { "(P{}){175,}PP{}rttttttttttt", 1, 0 }, - { "[:bla(\?{nkcntrl(\?#:]})))))))))))))))))))))))!!!!sR{})", 0, 0 }, + { "[:bla(\?{nkcntrl(\?#:]})))))))))))))))))))))))!!!!sR{})", 0, + 0 }, { " [:digit:]dAAAAAAAAAAAAA^[:ascii(:]55)^", 0, 0 }, { "($*)dZY", -1, 0 }, - { "[:graph:][:lowerprint:]S[:gr(\?=aph:]{-128,}666666666666666666666{}[:upperword:]|nnnnnnnnnnnnnnnnnnnnnnnnnnB)c[:xdigit:]{-225,}{-4,}{-192,}QQQQQQQQQQQQQQQ@@@@@@@@@@@@@@@@@@@@@@.", 0, 0 }, + { "[:graph:][:lowerprint:]S[:gr(\?=aph:]{-128,}" + "666666666666666666666{}[:upperword:]|" + "nnnnnnnnnnnnnnnnnnnnnnnnnnB)c[:xdigit:]{-225,}{-4,}{-192,}" + "QQQQQQQQQQQQQQQ@@@@@@@@@@@@@@@@@@@@@@.", + 0, 0 }, { "([:digit:]s{44,}{}{-31,}c{,-130}pP){-241,}UeN", 1, 0 }, - { "([^)((\?>\?#{}hK\"V2\?d][KKK(\?imsxim:KKKKKKKKKKKKKKKKKKKK[^KKKKKKKKKWWWW[WWWWWWWWWWWWWWWWW)B])_l_3", 1, 0 }, + { "([^)((\?>\?#{}hK\"V2\?d][KKK(\?imsxim:KKKKKKKKKKKKKKKKKKKK[^" + "KKKKKKKKKWWWW[WWWWWWWWWWWWWWWWW)B])_l_3", + 1, 0 }, { "[(^[(\?!*){[^,91}].j]*]L)*c|[:alpha:]&", 0, 0 }, - { "[^[[[^[777GGG(\?:W_U(\?imsxms:[:punct:]A]-)[:digit:][:blankcntrl(\?(:]][:alnum:)])]WRRRRRRRRRRRRRRRRRRRRRRRRRRR]{31,}[:xdigit:]][:xdigit:]))))))))))))))))))))))$[:xdigit:]", 0, 0 }, - { "[:ascii:]m*[:punct:]#[(\?>>>>>>>>>>>>{,-129}))\?{-226,}^P)R", 2, 0 }, - { "[^[[nnnnnnnnnn(\?=nnnn(\?!nnnnnnnnnnnn(\?#nnnnnn{,-38}N){202,}]$[:alnum:])]t][:alnum:[]^=w){237}][:alpha:]-[:alpha:]+e", 0, 0 }, + { "(([:low(\?-imsx:erprint:]|{}[:ascii:][:gr(\?:aph:])>>>>>>>>>" + ">>>>{,-129}))\?{-226,}^P)R", + 2, 0 }, + { "[^[[nnnnnnnnnn(\?=nnnn(\?!nnnnnnnnnnnn(\?#nnnnnn{,-38}N){" + "202,}]$[:alnum:])]t][:alnum:[]^=w){237}][:alpha:]-[:alpha:]+" + "e", + 0, 0 }, { "()[(\?(:digit):]+qc)O88888888{,151}aJ", 1, 0 }, { "([^([(\?!sv(\?=)d]{-200,})N))]Z{-73,15}", 1, 0 }, - { "([\?\?\?\?|||||||||||(\?{||(\?=||||||||-}[))Ehhhhhhhhhhhhh{,202}&TcfL((\?:>)((\?!\?>$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$8[:alpha:]\\d])]C[:graph:]h*,\"\?u{|mU,a)[:blankcntrl:][:lowerp(\?>rint:])PPnP+9.[:xdigit:]*PPjjjjjjjjjj~y<#*scf_\"^e[:xdig(\?(i)t(:])~$y)^){-131,77}^L%", 1, 0 }, - { "[^[(((\?>)$}h9$B5+yhU/Nqh$YYYYYYYYYYYYYYYYYYYYYShK)3WHw1vMMMMMMMMMMMMM(\?=MMMMMMMMMMMM[:alnum:]/)dddddddddddd(dddddd\"e5zLW)+![:space:]+BHGHfAS]\?IIIIIIIIIIIIIIII*&&&&&&&&&&&&&&&&&&)NNvwDteepjdm<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<${61,219}D][:digit:]0", -1, 0 }, + { "([\?\?\?\?|||||||||||(\?{||(\?=||||||||-}[))Ehhhhhhhhhhhhh{," + "202}&TcfL((\?:>)((\?!\?>$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$8[:" + "alpha:]\\d])]C[:graph:]h*,\"\?u{|mU,a)[:blankcntrl:][:" + "lowerp(\?>rint:])PPnP+9.[:xdigit:]*PPjjjjjjjjjj~y<#*scf_\"^" + "e[:xdig(\?(i)t(:])~$y)^){-131,77}^L%", + 1, 0 }, + { "[^[(((\?>)$}h9$B5+yhU/" + "Nqh$YYYYYYYYYYYYYYYYYYYYYShK)3WHw1vMMMMMMMMMMMMM(\?=" + "MMMMMMMMMMMM[:alnum:]/" + ")dddddddddddd(dddddd\"e5zLW)+![:space:]+BHGHfAS]" + "\?IIIIIIIIIIIIIIII*&&&&&&&&&&&&&&&&&&)NNvwDteepjdm<<<<<<<<<<" + "<<<<<<<<<<<<<<<<<<<<${61,219}D][:digit:]0", + -1, 0 }, { "[:punct:][{177,(\?=234}]ix9*)", 0, 0 }, { "([^K{,3(\?<=4}]I)\?U)", 1, 0 }, { "[([^[[[^([([^[^(\?=])X", 0, 0 }, - { "[:blankcntrl:(])qd_R\?{\?r[=\"[^[^6]vX8)a+{C%H84CK6Uy#E]sE{208}", 0, 0 }, - { "PPPPPPPPPPPPPPPPPPPPPPPPPPnnnnnnnnnn()[:upperword:]us", 1, 0 }, + { "[:blankcntrl:(])qd_R\?{\?r[=\"[^[^6]vX8)a+{C%H84CK6Uy#E]sE{" + "208}", + 0, 0 }, + { "PPPPPPPPPPPPPPPPPPPPPPPPPPnnnnnnnnnn()[:upperword:]us", 1, + 0 }, { "x{,46}[:graph:]LU{}CU)", 0, 0 }, { "()-t|[^W{}][:lo[^werprint:]{}]\?b5", 1, 0 }, { "()x5A", 1, 0 }, - { "[([^]-217)]s{-47,135}0000000000000000000000000000000{,-108}", 0, 0 }, + { "[([^]-217)]s{-47,135}0000000000000000000000000000000{,-108}", + 0, 0 }, { "[^((\?{[^L\?u]})f", 0, 0 }, { "()[[^^(\?{y(\?=VF_(\?<=]D}))]-= {46,})^5bIEQ{,-96}Z", 1, 0 }, - { "([^{}f[:punct:]\"X%%%%%%%%%%%%%%%%%%%%]5{-194}A[:punct:]mnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn+AAAAAAAAAA-)", 1, 0 }, + { "([^{}f[:punct:]\"X%%%%%%%%%%%%%%%%%%%%]5{-194}A[:punct:]" + "mnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn+AAAAAAAAAA-)", + 1, 0 }, { "(CCCCCCCCCCCCCCCCCCCC{-230}352{-182,-68}O4{})", 1, 0 }, - { "([^[^\?[:space:]$TTTTTTTTTTTTLLLLL[^LLLLLLLLLL[^({}{4,-179}]]J] C]){}C{}{-224,})QQQQQQQQQQQQQQQQQ^", 1, 0 }, + { "([^[^\?[:space:]$TTTTTTTTTTTTLLLLL[^LLLLLLLLLL[^({}{4,-179}]" + "]J] C]){}C{}{-224,})QQQQQQQQQQQQQQQQQ^", + 1, 0 }, { "([[:alnum:]].){-155,-82}dzI{55,}^", 1, 0 }, - { "([[:alnum:](\?#{88,-178})[:graph:]NC\"pI[:punct:]rmWd5y^p+gUP]YYYYYYYYYYYYYYYYYYYY~{,-62}{,200}{-109}{}+333333333333333333333333333333{}p)^.hhhhhhhhhhhhhhh", 1, 0 }, - { "[000000(\?mmsx:00000000000000000000000)M]]]]2*`[^]QQQQQQQQ(\?<=QQQQQQQQQQQQQQQQQQQQQQQ])\"5j[bbbbbbb(\?{bb)o{}3(\?imxisx:E]g})YYYYY[:blankcntr(\?#l:].(()w264[:ascii:]^)[:ascii:]G)&(n {^PGn[:xdigit:])nv_e|]{-103,30}", 3, 0 }, - { "[^(([(\?!{}@[^HCO[[^^D[|]{,-49}][:xdigit:]]c`4[:ascii(\?5j[bbbbbbb(\?{bb)o{}3(\?imxisx:E]g})YYYYY[:" + "blankcntr(\?#l:].(()w264[:ascii:]^)[:ascii:]G)&(n " + "{^PGn[:xdigit:])nv_e|]{-103,30}", + 3, 0 }, + { "[^(([(\?!{}@[^HCO[[^^D[|]{,-49}][:xdigit:]]c`4[:ascii(\?ggggggggggggggg\\\\\\\\\\\\\\\\\\\\\\\\\\Ef[:space:]\?][:ascii:]{21,}", 0, 0 }, - { "([:xdigit:]W[:u(pperword(\?::]jS [:upperword:]*)[:alpha:]nnnnnnnnnnn))-148}SSu", 1, 0 }, + { "[-{}x{3772[}][:(\?<=xdigit:][:u(\?#pperword:].W)aD)ggggggggggggggg\\\\\\\\\\\\\\\\\\\\\\\\\\Ef[:" + "space:]\?][:ascii:]{21,}", + 0, 0 }, + { "([:xdigit:]W[:u(pperword(\?::]jS " + "[:upperword:]*)[:alpha:]nnnnnnnnnnn))-148}SSu", + 1, 0 }, { "([^(\?!\?)[(:upperword:])Bx^x$~lCr6*)6", 1, 0 }, - { "[{,-78}Y[:xdigit:][^s(\?>]P[:space:])]YYYYYYYYY[:punct:][:alnum:][:blankcntrl:]", 0, 0 }, - { "([MMMMMM(\?(MMM)M(\?<=MMMMMMMMMMMMMMM[^M)]en][:punct:]-[:alpha:]))Nr[:space:]", 1, 0 }, - { "~=1([^(\?=(\?:l){}])j{-44}{-18}[^u[:graph:]]{-187,}[:xdigit:]w[:alpha:])", 1, 0 }, - { "[ccccc(\?>c(\?{cccc[ccccwetoCei+)w&-+{,-142}[:alpha:]PP66io4(|zkA=],,,,,,,,,,,,,,,,,,,,,Lx5Cx{d2bb}]{188}U~~~~~~~~~~~~~~~~~~~~~~~})", 0, 0 }, + { "[{,-78}Y[:xdigit:][^s(\?>]P[:space:])]YYYYYYYYY[:punct:][:" + "alnum:][:blankcntrl:]", + 0, 0 }, + { "([MMMMMM(\?(MMM)M(\?<=MMMMMMMMMMMMMMM[^M)]en][:punct:]-[:" + "alpha:]))Nr[:space:]", + 1, 0 }, + { "~=1([^(\?=(\?:l){}])j{-44}{-18}[^u[:graph:]]{-187,}[:xdigit:" + "]w[:alpha:])", + 1, 0 }, + { "[ccccc(\?>c(\?{cccc[ccccwetoCei+)w&-+{,-142}[:alpha:]" + "PP66io4(|zkA=],,,,,,,,,,,,,,,,,,,,,Lx5Cx{d2bb}]{188}U~~~~~~~" + "~~~~~~~~~~~~~~~~})", + 0, 0 }, { "Q|0\"[:d(\?:igit:]^{,-174})", 0, 0 }, { "[^[(\?>rh])]", 0, 0 }, { "[ees{{{{{{{{{{{{{{{{{bbbbbbb4`ml******(\?=****+])", 0, 0 }, - { "((hdG[((\?<=:dig(it:])[^[:alpha:]$(\?sxi:)x{11390}[(\?{:upperword:]~)i 8[:blankcn[trl:(])]+{,-183}Zqp", 2, 0 }, + { "((hdG[((\?<=:dig(it:])[^[:alpha:]$(\?sxi:)x{11390}[(\?{:" + "upperword:]~)i 8[:blankcn[trl:(])]+{,-183}Zqp", + 2, 0 }, { "Dd{D8`+DW={-[53,1(\?<=71}])", 0, 0 }, { "[:(\?(alpha:][:punct:])", 0, 0 }, - { ".LLLLLLLLLLLLLLLLLLLLLLLLLLLL{}pP[:punct:]x0CZ{30,}!!!(!!!!!!!!!!!!!!!!!!!!!!!!!==@77.%[:graph:]D)", 1, 0 }, - { "[^[^[[r(\?#]){-237,}RRRRRRRRRRRRRRRRRRRRRRRR[^Rll(\?!(\?{lllll]", 0, 0 }, + { ".LLLLLLLLLLLLLLLLLLLLLLLLLLLL{}pP[:punct:]x0CZ{30,}!!!(!!!!!" + "!!!!!!!!!!!!!!!!!!!!==@77.%[:graph:]D)", + 1, 0 }, + { "[^[^[[r(\?#]){-237,}RRRRRRRRRRRRRRRRRRRRRRRR[^Rll(\?!(\?{" + "lllll]", + 0, 0 }, { "()*ooooooooooooooooooooyyyyyyyyyyyyyyy", 1, 0 }, { "{,4(}D)JJJJJJJJJJJJJJJJJJJJJJJJJ", 1, 0 }, - { "((b.D{}[:al[pha:]{64}]{})==========================[:alnum:]h>77b)!Ab", 2, 0 }, - { "([^[^[^oooooooooooooooooooooo][:space:][:punct:]PeniKe*~$g\?${>[:lowerprint:]w))))))))))))))){}yyyyyyyyyyyyyyyyyy]pP.|QhZ]{,190})sssssssssssssr+=[:blankcntrl:]WWWWWWWWWWWWWWWWWWWWW", 1, 0 }, - { "([*(\?{})hhhhhhhhhhhhhhhh]G{,-170}QdErrrrrrrc-jjjjjjjjjjjjjjjjjjjjn+{-130,-10})PpDS@Bee", 1, 0 }, + { "((b.D{}[:al[pha:]{64}]{})==========================[:alnum:]" + "h>77b)!Ab", + 2, 0 }, + { "([^[^[^oooooooooooooooooooooo][:space:][:punct:]PeniKe*~$" + "g\?${>[:lowerprint:]w))))))))))))))){}yyyyyyyyyyyyyyyyyy]pP." + "|QhZ]{,190})sssssssssssssr+=[:blankcntrl:]" + "WWWWWWWWWWWWWWWWWWWWW", + 1, 0 }, + { "([*(\?{})hhhhhhhhhhhhhhhh]G{,-170}QdErrrrrrrc-" + "jjjjjjjjjjjjjjjjjjjjn+{-130,-10})PpDS@Bee", + 1, 0 }, { "([:b(\?=lankcntrl:]))T[:alnum:]{-224}ywt", 1, 0 }, - { "([633(\?<=333(\?<=3333333333(333333)^\?]aGA)[:digi(\?>(\?{t:])$[[:space:][:xdigit:])|8T\?',_{171}{}{113}b\?5kAv0/7{})`huh>xM]C8pYRz]s$Eu08)", 1, 0 }, + { "([633(\?<=333(\?<=3333333333(333333)^\?]aGA)[:digi(\?>(\?{t:" + "])$[[:space:][:xdigit:])|8T\?',_{171}{}{113}b\?5kAv0/" + "7{})`huh>xM]C8pYRz]s$Eu08)", + 1, 0 }, { "-(pP)[:alnum:]$^", 1, 0 }, { "[^x(\?{{17681}]P*)U(_t/8E_\"iN})3333333", 1, 0 }, - { "(([^([[r(\?=[[^^*kx$][:alpha:]:::[:::::[^[^::::::::((\?{\?{::]).^p[:space:]}){52}{}]W{}fn", 2, 0 }, - { "[:(\?>punct:]Ef[:xdigit:]x{c07b}{-50}Z{129,}YL1T`\\A)x[:punc(\?=t:]e[:xdigit:]2c6E46Y)+n ", 0, 0 }, - { "[^(\?!{,-79}[:punct:]'|}>,)][:blankcntrl:]{-118,-231}{-119,-50}:XXXXXXXXXXXXXXXXX-~{}$txlB)3KFL", 0, 0 }, - { "[^(([^fccccccccccccccccccc(\?punct:]Ef[:xdigit:]x{c07b}{-50}Z{129,}YL1T`\\A)x[:" + "punc(\?=t:]e[:xdigit:]2c6E46Y)+n ", + 0, 0 }, + { "[^(\?!{,-79}[:punct:]'|}>,)][:blankcntrl:]{-118,-231}{-119,-" + "50}:XXXXXXXXXXXXXXXXX-~{}$txlB)3KFL", + 0, 0 }, + { "[^(([^fccccccccccccccccccc(\?)])qcU$Q7|82\?{})", 2, 0 }, { "[^yyyyyyyyyyyyyyyyyyyy(\?#yyyyyyyyyyya][:ascii:]\?)", 0, 0 }, - { "(([((\?{)EEEE(\?QQQQQQ(\?!QQQQQ][:digit:]\?))99999999999999)[:digit:][:upperword:]b))PP{}{}", 2, 0 }, + { "(([((\?{)EEEE(\?QQQQQQ(\?!QQQQQ][:digit:]\?))" + "99999999999999)[:digit:][:upperword:]b))PP{}{}", + 2, 0 }, { "(K(c=B))", 2, 0 }, { "(G`*s\?b[:g(raph:]))", 1, 0 }, - { "[^[([[[*QQQQQQQQQQQQQQQQ(\?=(\?=QQQQQQ(\?ddddddddddc{22,}iiiiiiiii(iiiiiiiiiiiiiii(\?#iiiiiii[^i))\?\?\?\?\?\?]WWW)[:lowerprint:])]{-60,202}+[:upperword:]f[:xdigit:][:alnum:]{,-214})1~~~~~~~MMMMMMMMMMMMMMMMMM.", 0, 0 }, + { "[^[([[[*QQQQQQQQQQQQQQQQ(\?=(\?=QQQQQQ(\?ddddddddddc{22,}iiiiiiiii(" + "iiiiiiiiiiiiiii(\?#iiiiiii[^i))\?\?\?\?\?\?]WWW)[:" + "lowerprint:])]{-60,202}+[:upperword:]f[:xdigit:][:alnum:]{,-" + "214})1~~~~~~~MMMMMMMMMMMMMMMMMM.", + 0, 0 }, { "({-102,})A.", 1, 0 }, - { "[((((\?(\?#\?()))p\"JD.{}(\?>)))((\?{l(\?<=).'053][:xdigit:]N+)})]WWWW%[:asc(\?{ii:]}))B[:alnum:]X){}s[:digit:]", 0, 0 }, - { "x7&{139}WWWWWWWWWWWWWW[:blankcntr[^(\?~[^n@f`````````````)````````P])Y,N{}{}]{}pXF@)", 0, 0 }, + { "[((((\?(\?#\?()))p\"JD.{}(\?>)))((\?{l(\?<=).'053][:" + "xdigit:]N+)})]WWWW%[:asc(\?{ii:]}))B[:alnum:]X){}s[:digit:]", + 0, 0 }, + { "x7&{139}WWWWWWWWWWWWWW[:blankcntr[^(\?~[^n@f`````````" + "````)````````P])Y,N{}{}]{}pXF@)", + 0, 0 }, { "G[([(\?(^)$])P]^[:alnum:]){,-48}[:blankcntrl:]{}", 0, 0 }, - { "[[^[^f(\?=f(\?<=fffffff[^fffffffff[^fffffffff(\?<=fff]){-194,150}fx{e5a4}V", 0, 0 }, + { "[[^[^f(\?=f(\?<=fffffff[^fffffffff[^fffffffff(\?<=fff]){-" + "194,150}fx{e5a4}V", + 0, 0 }, { "9[:xdigit(\?{:]})", 0, 0 }, - { "[^([[(\?>()$xxxxxxxxxxxxxx[xxxxxxxxxxxxxxxx((\?=aA)s13]])pp[(\?>pppppppppppppppp|{}){20,}]b)]{-179,183}{-204,}[:ascii:])]-11111111{}{,132}qooooooooooooooooooo{}${}|9t", 0, 0 }, + { "[^([[(\?>()$xxxxxxxxxxxxxx[xxxxxxxxxxxxxxxx((\?=aA)s13]])pp[" + "(\?>pppppppppppppppp|{}){20,}]b)]{-179,183}{-204,}[:ascii:])" + "]-11111111{}{,132}qooooooooooooooooooo{}${}|9t", + 0, 0 }, { "([^[{}]\"[^6]*-{,-106}{}u]BR~8WG,U-)[:blankcntrl:]", 1, 0 }, { "[''''''''(''''''''''z])c", 0, 0 }, { "[^[(\?>])[:alnum:]r[:alnum:]+{,215}D]", 0, 0 }, - { "([({,127}7Qr(\?:z)pPNev%}(\?msximsx:4(\?nn(\?:nnnnnnnn_U{}]E)):^oooooooooooooooooooooooooooo)", 1, 0 }, - { "[^(\?#)(\?!(([:alnum:]{252}{}})ffffffffffffl){}A2r\?~ImE\"[:punct:]){}[:digit:]", 2, 0 }, + { "([({,127}7Qr(\?:z)pPNev%}(\?msximsx:4(\?nn(\?:nnnnnnnn_U{}]E)):^" + "oooooooooooooooooooooooooooo)", + 1, 0 }, + { "[^(\?#)(\?!(([:alnum:]{252}{}})ffffffffffffl){}" + "A2r\?~ImE\"[:punct:]){}[:digit:]", + 2, 0 }, { "([:blank[cntrl:]].t^P)", 1, 0 }, { "[^[(\?:X])|rrrrrrrrrrrrrrrrrrrrrrrrrr*P]Q", 0, 0 }, - { "[[[^(\?{((\?15}]x{f779}ZZ,Wo)O[:alpha:][:lowerprint:]{81,228}Q[:upperword:]", 0, 0 }, - { "[[^[^()n[[[[[[[[[[[[^[[[[[[[[[[(\?: G)(\?{K![^m) j(\?:C|((\?:n*Xlaa908:n$m,))[:xdigit:]x(\?{{1a5cd}pppppppppppppp(\?(pppp)p(pQ)))ddddddddddddddddddddddddddddddd]q[:alnum:(\?{]Ga})\?})@[:lowerprint:]{,169}[:blankcntrl:][:graph:]]n{-76,}|U\"{,-54}t]I{}{-64,-232}]\?].\?{-111,227}) @hFp\?j=H$Wbu<{,209}De{,145}{206}-})[:blankcntrl:]", 0, 0 }, - { "[^[^(LLLLLLLLLLLLLL[^L[L[:alpha:]3{,189}(\?#(\?>n){}^EXXXXXXXXXXXXXXXXXXXXXXXXX]c*)^r=$WWWWWWWWWWWWW", 0, 0 }, + { "([^[SSSSSSSSS[SSSSSSSSSSSSSSS[([[[{38,}]Jn][:alpha:]])])$'", + 1, 0 }, + { "[^({}{95})B{1(\?>15}]x{f779}ZZ,Wo)O[:alpha:][:lowerprint:]{" + "81,228}Q[:upperword:]", + 0, 0 }, + { "[[^[^()n[[[[[[[[[[[[^[[[[[[[[[[(\?: G)(\?{K![^m) " + "j(\?:C|((\?:n*Xlaa908:n$m,))[:xdigit:]x(\?{{1a5cd}" + "pppppppppppppp(\?(pppp)p(pQ)))" + "ddddddddddddddddddddddddddddddd]q[:alnum:(\?{]Ga})\?})@[:" + "lowerprint:]{,169}[:blankcntrl:][:graph:]]n{-76,}|U\"{,-54}" + "t]I{}{-64,-232}]\?].\?{-111,227}) " + "@hFp\?j=H$Wbu<{,209}De{,145}{206}-})[:blankcntrl:]", + 0, 0 }, + { "[^[^(LLLLLLLLLLLLLL[^L[L[:alpha:]3{,189}(\?#(\?>n){}^" + "EXXXXXXXXXXXXXXXXXXXXXXXXX]c*)^r=$WWWWWWWWWWWWW", + 0, 0 }, { ")w###################", 0, 0 }, - { "{,121}[:d(\?(i)git:])E\?[:punct:]LLLLLLLLL[:ascii:]+", 0, 0 }, + { "{,121}[:d(\?(i)git:])E\?[:punct:]LLLLLLLLL[:ascii:]+", 0, + 0 }, { "([]]]]]]]]]]]]][:space:]Jrt3o.]b)pwwwwwwwwwwwQfm~", 1, 0 }, - { "[+-{,-120}*(\?!()t*(\?(\?{>G)F)yd]V{}f<\?}){245}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[:upperword:]", 0, 0 }, - { "(DDDDDDDDDDDDDDDDDDDDDDDDDDDDDc[:space:][:pu[^nct:]{-11,12}[:ascii:][:alpha:]{,155}P])", 1, 0 }, + { "[+-{,-120}*(\?!()t*(\?(\?{>G)F)yd]V{}f<\?}){245}" + "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[:upperword:]", + 0, 0 }, + { "(DDDDDDDDDDDDDDDDDDDDDDDDDDDDDc[:space:][:pu[^nct:]{-11,12}[" + ":ascii:][:alpha:]{,155}P])", + 1, 0 }, { "()ggggggg{-136,-21}", 1, 0 }, - { "([^((\?<=U\?)(\?=^^^^^^^^^^^[^^^^^^^^^^^^^///(\?#//[////////////////////(\?()#######b+]$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^[:digit:])\\U]Q8@}4d)\\U", 1, 0 }, - { "A[:graph(\?::])-mo=U[:upperword:]ttttttttttttttttttttttttttt", 0, 0 }, - { "[^(((\?=\?im-m(sx:)c~~[^~~~~~~~~~~~~~(\?>~~~~~~~~~~~~~SSSSSSSSSSSSSSSSSSSS]{51,}[:digit:]{,-179}N))kk[kkkkkkkkkkkkkkg$)[(\?::punct:]zWl)]|)*", 0, 0 }, + { "([^((\?<=U\?)(\?=^^^^^^^^^^^[^^^^^^^^^^^^^///(\?#//[////////" + "////////////" + "(\?()#######b+]$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^[:digit:])" + "\\U]Q8@}4d)\\U", + 1, 0 }, + { "A[:graph(\?::])-mo=U[:upperword:]" + "ttttttttttttttttttttttttttt", + 0, 0 }, + { "[^(((\?=\?im-m(sx:)c~~[^~~~~~~~~~~~~~(\?>~~~~~~~~~~~~~" + "SSSSSSSSSSSSSSSSSSSS]{51,}[:digit:]{,-179}N))kk[" + "kkkkkkkkkkkkkkg$)[(\?::punct:]zWl)]|)*", + 0, 0 }, { "[((\?=()+A)][:graph:]x0B)[:graph:]", 0, 0 }, - { "(nR%B[:blankcntrl:]C=|en-[:digit:]n[:graph:]HHHH[HH]D\?%[:digit:]MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM.z(oF9zW8A7cfff(f))-[:blankcntrl:][:blankcntrl:]A[:digit:])D{,-243}", 3, 0 }, + { "(nR%B[:blankcntrl:]C=|en-[:digit:]n[:graph:]HHHH[HH]D\?%[:" + "digit:]MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM.z(oF9zW8A7cfff(f))-[" + ":blankcntrl:][:blankcntrl:]A[:digit:])D{,-243}", + 3, 0 }, { "([[()]]{,-251(})\?L)uw@", 2, 0 }, - { "\"|{(,-144})A.ooooooooo(ooooooFFFFFFFFFFFFF\?)n{,-18}", 2, 0 }, + { "\"|{(,-144})A.ooooooooo(ooooooFFFFFFFFFFFFF\?)n{,-18}", 2, + 0 }, { "([^([(([[^([000000[0(0(\?!0(\?=0000000])45|E]", 1, 0 }, - { "[B[[[[[[[[[[[|{}*oKqv%(\?<=wsQ{1pMeK1^6%nLNqi<@ge][:punct:]= M@* D|NwL\\-117\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"~Qnd]h.O\"01x:[:alpha:]^){}D}\"", 0, 0 }, - { "([[RRRRRRRRRRRRRRRRRRRRRRRRRRRRxpSrx{7d79}*oJ2`Ft{n1,3g:1H@bT$D &[n/Cg)=ld@Ir{Fk>*4*`(\?>````````````````````(\?:`````.....................]]{,246})7 \"F4[^F|/g)]+e`rw@{,-69}H)", 1, 0 }, - { "([(\?<=)X[:digit:]PP.[(\?#:((\?#\?#graph:])[:digit:][Q+)(N][:alpha:]]f)[:graph:])+Elllllllllllllllll[:digit:]=)pP{uU-20bzY|ZKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKt*4*`(\?>````````````````````(\?:`````.........." + "...........]]{,246})7 \"F4[^F|/g)]+e`rw@{,-69}H)", + 1, 0 }, + { "([(\?<=)X[:digit:]PP.[(\?#:((\?#\?#graph:])[:digit:][Q+)(N][" + ":alpha:]]f)[:graph:])+Elllllllllllllllll[:digit:]=)pP{uU-" + "20bzY|ZKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKt:])|l*KKKKKKKKKKKKKKKKK,,,,,,,[,,,s.{148,}P33333][:lo(\?Q){,57}%[:digit:]\?\?\?\?\?\?\?\?\?\?.[)]]d{)-49,}f)^O{,68})\?C", 0, 0 }, + { "[[[]V[:digit(\?>:])|l*KKKKKKKKKKKKKKKKK,,,,,,,[,,,s.{148,}" + "P33333][:lo(\?Q){,57}%[:digit:]" + "\?\?\?\?\?\?\?\?\?\?.[)]]d{)-49,}f)^O{,68})\?C", + 0, 0 }, { "(}u])18621", 1, 0 }, - { "[:as(\?=cii:][^(\?=)(S-{.F-[:punct:]3-105^[:lowerprint:]111111111111111111111111---)][:alnum:][:ascii:]JJJJJwHSk", -1, 0 }, - { "[^3>>>>>>-sZ^^^^(\?>]Y[:di(\?(\?imxim:#git:]{-158,-102}[:punct:]{}{87,})))[:upperword:]", 0, 0 }, + { "[:as(\?=cii:][^(\?=)(S-{.F-[:punct:]3-105^[:lowerprint:]" + "111111111111111111111111---)][:alnum:][:ascii:]JJJJJwHSk", + -1, 0 }, + { "[^3>>>>>>-sZ^^^^(\?>]Y[:di(\?(\?imxim:#git:]{-158,-102}[:" + "punct:]{}{87,})))[:upperword:]", + 0, 0 }, { "[(\?{AjBBBBBBBBBBBBBBBBBBBBBBB[:upperword:]`'W)", 0, 0 }, - { "[^([[()DN1[^][|]\?]{-104,}])[:space:]][:lowerprint:]r[:alpha:].DU", 0, 0 }, - { "[^((33333333333333333333333(\?<=3333333D))kkkkkkkkkkkkkkkkkkkkkkk[k[:alpha:]])]X+", 0, 0 }, + { "[u(\?!uuuuuuuuuuuuuuuuuuuu[:digit:]{,48}[:graph:]WL[:alnum:]" + "]v=_)VN>{AjBBBBBBBBBBBBBBBBBBBBBBB[:upperword:]`'W)", + 0, 0 }, + { "[^([[()DN1[^][|]\?]{-104,}])[:space:]][:lowerprint:]r[:" + "alpha:].DU", + 0, 0 }, + { "[^((33333333333333333333333(\?<=3333333D))" + "kkkkkkkkkkkkkkkkkkkkkkk[k[:alpha:]])]X+", + 0, 0 }, { "[({,-17})[@e{220,(\?#41}])]]{-213,-225}", 0, 0 }, - { "[[^(\?#[(\?:^[[(\?(^]))]])]vvvvvvvvvvvvvvvvvvvvv{,96}|m]{-79,248}[:alpha:])", 0, 0 }, - { "([[(\?imsisx:^}$,-[:al(\?>num:]Xqqqqqqqqqqqq{-185,154}]b#+T){-241,})A{-27}[(\?([\?()(\?#))]--R1rk^UnP.[(\?!:digit:]])^)[:upperword:]{}0000000000000000000000000000000~U{-139,-19}znum:]Xqqqqqqqqqqqq{-185,154}]b#+T)" + "{-241,})A{-27}[(\?([\?()(\?#))]--R1rk^UnP.[(\?!:digit:]])^)[:upperword:]" + "{}0000000000000000000000000000000~U{-139,-19}z})RR(\?=R<]p'N~&.-})6]", 0, 0 }, - { "[^\?[^(\?(lFt]).[^7Q-])kkkkkkkkkkkk]XTFy\"1Deiv!,'xVK", 0, 0 }, - { "[^$[^[:xdigit:](\?{*{245,99}h8v(\?!)]]u)Z[:punct:]})[:alnum:]+|[:blankcntrl:]u{}[:lowerprint:]+bBJ4+k-v{-116}", 0, 0 }, + { "[^\?[^(\?(lFt]).[^7Q-])kkkkkkkkkkkk]XTFy\"1Deiv!,'xVK", 0, + 0 }, + { "[^$[^[:xdigit:](\?{*{245,99}h8v(\?!)]]u)Z[:punct:]})[:alnum:" + "]+|[:blankcntrl:]u{}[:lowerprint:]+bBJ4+k-v{-116}", + 0, 0 }, { "S)f{,180}[:graph:]&{12,244}", 0, 0 }, - { "(([[(.()[^^{80(\?>(\?<=,235})ddddddddd[^ddddddddd(\?<=d.__B{36}````````````````(\?:```(\?>```````,,,,,,,(\?:,,)P$U,[:xdigit:])zzzzzzzzzzzzz]UUUU[uB]n<&[(:ascii:].][:alnum:])\?S]{})d{138,}s9========[:lowerprint:]]OOOOOOOOOOOOOOO|yyyyyyyyyyyyyyy$LZ[:lowerprint:]EEEEEEE[:ascii:][:punct:]VpP^{-48}D){,46}x))2P))a[:lowerprint:]r", 2, 0 }, - { "[^(((\?(\?<=,235})ddddddddd[^ddddddddd(\?<=d.__B{" + "36}````````````````(\?:```(\?>```````,,,,,,,(\?:,,)P$U,[:" + "xdigit:])zzzzzzzzzzzzz]UUUU[uB]n<&[(:ascii:].][:alnum:])\?S]" + "{})d{138,}s9========[:lowerprint:]]OOOOOOOOOOOOOOO|" + "yyyyyyyyyyyyyyy$LZ[:lowerprint:]EEEEEEE[:ascii:][:punct:]" + "VpP^{-48}D){,46}x))2P))a[:lowerprint:]r", + 2, 0 }, + { "[^(((\?555(\?owerp(rint:]])]*", 0, 0 }, + { "[[^[[^[55555555555555555555555555(\?>555(\?owerp(rint:]])]*", + 0, 0 }, { "Au)khgzAfXIZoZ=g[:digit:]){,186}Upvf=x<]Tbd5Rq\?.", 0, 0 }, - { "b{-176,}B^[:bla(\?(>>>>>>>>>>>>(>>>>>>>>D)Ix{(1(\?imxmsx:762)c}))A)[[[[[[[[[[[[[[5Rp]DDDDDDDDDDDDDDDDDDDD]Us+\\w[:digit:]{-47}[:xdigit:][:blankcntrl:])ddddddddddddddd[^ddddddddddddd[:digit:]|]]*{-165,-230}{-212}{53,}]\?", 0, 0 }, + { "b{-176,}B^[:bla(\?(>>>>>>>>>>>>(>>>>>>>>D)Ix{(1(\?imxmsx:762)c})" + ")A)[[[[[[[[[[[[[[5Rp]DDDDDDDDDDDDDDDDDDDD]Us+\\w[:digit:]{-" + "47}[:xdigit:][:blankcntrl:])ddddddddddddddd[^ddddddddddddd[:" + "digit:]|]]*{-165,-230}{-212}{53,}]\?", + 0, 0 }, { "[^[^]]|[:(\?:alnum:])}}}}}}}}}}}}}}}}}}}}", 0, 0 }, - { "VVVVVVVVVVVVVVVVVVVVVVVVVVVV[:d(i(\?#git:])){{{{{{[:digit:]ZfQ55555555{}Z", 0, 0 }, - { "[L][:blankcnt(\?((\?=rl:(\?=]){-35,[^}){)eJb>>>>>>>>>>>>>>>>>>>>>>$ [:xdigit:]l0Tv2Tw2@C[:space:]Zc/{*)>]N3j~.dMBBBB", 0, 0 }, + { "VVVVVVVVVVVVVVVVVVVVVVVVVVVV[:d(i(\?#git:])){{{{{{[:digit:]" + "ZfQ55555555{}Z", + 0, 0 }, + { "[L][:blankcnt(\?((\?=rl:(\?=]){-35,[^}){)eJb>>>>>>>>>>>>>>>>" + ">>>>>>$ [:xdigit:]l0Tv2Tw2@C[:space:]Zc/{*)>]N3j~.dMBBBB", + 0, 0 }, { "[[^(\?>(([]))])[:graph:]]{65,}as#Q:lQ", 0, 0 }, - { "[^[fPPUUUUUUUUUUU(\?#UUU[^UUUUUU(\?<=UUUUUUUUUGGGGGGGGGGGGGGGGGGG((\?{\?=GGGGGG.MK))+]+)&UxFW)rwv\?@D.", 0, 0 }, + { "[^[fPPUUUUUUUUUUU(\?#UUU[^UUUUUU(\?<=" + "UUUUUUUUUGGGGGGGGGGGGGGGGGGG((\?{\?=GGGGGG.MK))+]+)&UxFW)" + "rwv\?@D.", + 0, 0 }, { "{-(60,})m", 1, 0 }, { "b[(])^w", 0, 0 }, { "[][^qVs(\?:(p])X)\?'", 0, 0 }, { "()8", 1, 0 }, { "(t[:punc[^t:(\?{][:blankcntrl:])})[^8\?]z*]", 1, 0 }, - { "[:lowerprint:])[:graph:]lppppppppppppppppppppppppppppf", 0, 0 }, + { "[:lowerprint:])[:graph:]lppppppppppppppppppppppppppppf", 0, + 0 }, { "[:alph(a:])[:ascii:]g +z-Bc-U{,%Gk", 0, 0 }, { "u[:graph:(\?=]*)W:::", 0, 0 }, { "([:alnum(:])l)", 1, 0 }, - { "[[[}}}}}}}}(\?)(\?{,)At]%M9FSq5)EB", 1, 0 }, - { "(}````````````````(``{210,})[:(\?#space:]P[:digit:])PP.{-227,}$pK~mm ImR|{,51}[:alnum:]<)[:alpha:]", 2, 0 }, + { "(}````````````````(``{210,})[:(\?#space:]P[:digit:])PP.{-" + "227,}$pK~mm ImR|{,51}[:alnum:]<)[:alpha:]", + 2, 0 }, { "[^(\?<=])[:digit:]", 0, 0 }, - { "[^'''''''{(\?:178,}e{,16}$QQQQQQQQQQQQQQQQQQQQQQQ$])", 0, 0 }, + { "[^'''''''{(\?:178,}e{,16}$QQQQQQQQQQQQQQQQQQQQQQQ$])", 0, + 0 }, { "[^(\?>@K*)(\?#d18]{78,}B)[:digit:]{-193,}=wg{,59}", 0, 0 }, - { "[^.{156,}!(\?<=!!!!!!!!!!!!!!(\?{!(\?(!!!!!!!!!!!!!)})TTTTTTTTTTTTTTTTTTTTTTTTTTTTT[^}}}}}}}}}}}})}}}}}}}}}}}}}]]){}^L#%-{}FC", 0, 0 }, - { "(eeeee{-169,-100}-fa[:upperword:]N)$Nellllllllllllll", 1, 0 }, - { "[[(\?!())\?[(\?!:alnum:]e{,28}M])[:punct:]CCCCCCCCCCCCCCCCCCCC]{-150,}{-167}", 0, 0 }, + { "[^.{156,}!(\?<=!!!!!!!!!!!!!!(\?{!(\?(!!!!!!!!!!!!!)})" + "TTTTTTTTTTTTTTTTTTTTTTTTTTTTT[^}}}}}}}}}}}})}}}}}}}}}}}}}]])" + "{}^L#%-{}FC", + 0, 0 }, + { "(eeeee{-169,-100}-fa[:upperword:]N)$Nellllllllllllll", 1, + 0 }, + { "[[(\?!())\?[(\?!:alnum:]e{,28}M])[:punct:]" + "CCCCCCCCCCCCCCCCCCCC]{-150,}{-167}", + 0, 0 }, { "[[@[@(\?#@[@]P]Z{')]{-186,117}]+)7f-", 0, 0 }, { "\\Q+kD}]AEM)u ", 0, 0 }, - { "([(\?{(\?=:::::::::::::&){,210}]^})P{-31,}8[:space:]C[:alnum:][:a(scii:]z|[:upperword:])[:alnum:][:graph:])zr~Zk", 1, 0 }, + { "([(\?{(\?=:::::::::::::&){,210}]^})P{-31,}8[:space:]C[:" + "alnum:][:a(scii:]z|[:upperword:])[:alnum:][:graph:])zr~Zk", + 1, 0 }, { ".[:space:]e[:g(\?{(\?{raph:]})})@@@@@@@@@@@@@wb|~k", 0, 0 }, - { "()ooooooooo\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"[:graph:]", 1, 0 }, - { "[^64h(\?(@Eyw][:xdi[git:]pP%%%%%u(uuu[:up[perword:]`8Utdh{)}]]))lW[:punct:]W.hhhhhhhhhhhhhhhhhhhhhhhh'm<<}O8`ZXtG.$", 1, 0 }, + { "()ooooooooo\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"[:graph:]", 1, + 0 }, + { "[^64h(\?(@Eyw][:xdi[git:]pP%%%%%u(uuu[:up[perword:]`8Utdh{)}" + "]]))lW[:punct:]W.hhhhhhhhhhhhhhhhhhhhhhhh'm<<}O8`ZXtG.$", + 1, 0 }, { "BPP[:digit:]bbbbbbbbbbb(bb)S+[:alnum:]", 1, 0 }, - { "um.[:ascii((\?#\?!:])*)+KKKKKKKKKKKKKKKKKKKKKKKKKS.=,eDl", -1, 0 }, + { "(()$[:lowerprint:][:s[pace:]2]bbbbbbbbbyoooooooooooooooooo*{" + "39,}$')qV`AcH>,eDl", + -1, 0 }, { "(()[^])e{-241,}", -1, 0 }, - { "()[:alpha:]rliiiiiiii[:alnum:]Mb*QW9N.>\?{115,}&u*j", -1, 0 }, + { "()[:alpha:]rliiiiiiii[:alnum:]Mb*QW9N.>\?{115,}&u*j", -1, + 0 }, { "()[]p", -1, 0 }, { "(I[^]pfL)$[:punct:]", -1, 0 }, { "([])>>>>>>>>>>[:alnum:]", -1, 0 }, - { "([])O\\\\\\\\\\\\\\fffffffffffffffffffffff=s6jCZy/b+ir2'*{151,}", -1, 0 }, + { "([])O\\\\\\\\\\\\\\fffffffffffffffffffffff=s6jCZy/" + "b+ir2'*{151,}", + -1, 0 }, { "([])nnnnnnnnnnnnnnnnnnnnnnnnnn[:xdigit:]^N$f", -1, 0 }, { "([]M)[:lowerprint:]a(pg$Z[:punct:])77777777777.", -1, 0 }, { "([]XXXXXXXXXXXXXXXXXXXXXX-===========)", -1, 0 }, - { "([]lkX{-224}[:blankcntrl:]$gPKIZlSC#F@XX I'^}{234}yZm)uuuuuuuuuuuuuuuuuuuuuurS", -1, 0 }, - { "([^0kYkg9])IIIIIIIIIIIIIIIIIIIIII/{(192,-118}l+FoSD6\?A)c[:xdigit:]`````````````````e-{-4,-170}x{4620}Z[:upperword:]", -1, 0 }, - { "([^[^[^()(\?>){}B]XYF+#[:alpha:]{-85((,-55[^}t]n).{,-33}]](bQJ!|O+{175,})RFh)Z+^.{137,}:VpP[:alpha:]-MceqVVkkkk(kkkkkkkkkkkkkkkkkk)\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?{-115,-67})``````````````````````````````", -1, 0 }, - { "([^]EzU[:alnum:]+^^^^^^^^^^^^^^^^^^^)[:xdigit:]HHHHHHHH$66666666666666666666666666666666UUUUUUUUUUUUUUUUUUUUL{}iiii{-76}X", -1, 0 }, + { "([]lkX{-224}[:blankcntrl:]$gPKIZlSC#F@XX " + "I'^}{234}yZm)uuuuuuuuuuuuuuuuuuuuuurS", + -1, 0 }, + { "([^0kYkg9])IIIIIIIIIIIIIIIIIIIIII/" + "{(192,-118}l+FoSD6\?A)c[:xdigit:]`````````````````e-{-4,-" + "170}x{4620}Z[:upperword:]", + -1, 0 }, + { "([^[^[^()(\?>){}B]XYF+#[:alpha:]{-85((,-55[^}t]n).{,-33}]](" + "bQJ!|O+{175,})RFh)Z+^.{137,}:VpP[:alpha:]-MceqVVkkkk(" + "kkkkkkkkkkkkkkkkkk)" + "\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?{-" + "115,-67})``````````````````````````````", + -1, 0 }, + { "([^]EzU[:alnum:]+^^^^^^^^^^^^^^^^^^^)[:xdigit:]HHHHHHHH$" + "66666666666666666666666666666666UUUUUUUUUUUUUUUUUUUUL{}iiii{" + "-76}X", + -1, 0 }, { "([^]~~~~~~~~~~{240,})]NOp", -1, 0 }, { "(sb)[:digit:]VVVVVVVVx{9569}52,|]", -1, 0 }, { "(x{19762}){}", -1, 0 }, @@ -969,19 +2146,36 @@ regex_validate(void **state) { { "121|", -1, 0 }, { "141[:xdigit:][:lowerprint:]{24}{59,191}[:digit:]/", -1, 0 }, { "G[^],,,,,,,,,,,,,+\"DiX", -1, 0 }, - { "Gm(ho9:\"8{-188,-200}Z[:blankcntrl:]{,171}\?\?\?\?\?\?\?\?\?\?\?[:blankcntrl:]LLLLLLLLLLLLLLLLLLLLLLL{}^[:graph:][:blankc(\?#ntrl:])w", -1, 0 }, - { "N\"\"\"\"\"\"\"-------------------------|[:alnum:]AAAAAAAAAAAAAAAAAAAAf\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?", -1, 0 }, + { "Gm(ho9:\"8{-188,-200}Z[:blankcntrl:]{,171}" + "\?\?\?\?\?\?\?\?\?\?\?[:blankcntrl:]LLLLLLLLLLLLLLLLLLLLLLL{" + "}^[:graph:][:blankc(\?#ntrl:])w", + -1, 0 }, + { "N\"\"\"\"\"\"\"-------------------------|[:alnum:]" + "AAAAAAAAAAAAAAAAAAAAf\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?", + -1, 0 }, { "U{-30,}^\?\?\?", -1, 0 }, { "W^*04rAY(Ee*>[^o3[]]_)", -1, 0 }, { "X[^]}*C[:alnum:]", -1, 0 }, - { "[${,-3}]+^\?[|x8A|][:space:]'''''['''''JJJJJJJJJJJJJJJJJJJJJJJJJJJJJyl}.Y7G]", -1, 0 }, - { "[()&[&&&]\?\?[\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?pg%k8ug`Wqk4|NR{h[CK5Ez=]jHpQw&`{:]{,91}D", -1, 0 }, - { "[(\?#(\?:)[)([\?>)(\?>(\?:[:alnum:])]G]{85}[^)w]N]gYrUs|", -1, 0 }, + { "[${,-3}]+^\?[|x8A|][:space:]'''''['''''" + "JJJJJJJJJJJJJJJJJJJJJJJJJJJJJyl}.Y7G]", + -1, 0 }, + { "[()&[&&&]\?\?[" + "\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?\?" + "pg%k8ug`Wqk4|NR{h[CK5Ez=]jHpQw&`{:]{,91}D", + -1, 0 }, + { "[(\?#(\?:)[)([\?>)(\?>(\?:[:alnum:])]G]{85}[^)w]N]gYrUs|", + -1, 0 }, { "[(\?<=)[:digit:]\?]{152,}VR|", -1, 0 }, - { "[****(\?>**********(\?**********(\?))TTTTTTTTTTTTTTTTTTTTTTT)[:punct:][:digit:]]GGGGGGGGGGGGGGGGGGGGG,]|.{-224}{96}{239,}1", -1, 0 }, + { "[[^V(\?:(\?))TTTTTTTTTTTTTTTTTTTTTTT)[:punct:][:digit:" + "]]GGGGGGGGGGGGGGGGGGGGG,]|.{-224}{96}{239,}1", + -1, 0 }, { "[[^^PP]{,-222}{182}{141}]zFD}-.", -1, 0 }, { "[] Hn&[:xdigit:][:upperword:]f", -1, 0 }, { "[]$.B", -1, 0 }, @@ -1000,7 +2196,9 @@ regex_validate(void **state) { { "[]-#yyK", -1, 0 }, { "[]-(S$5)AxbdTKO[:alnum:]", -1, 0 }, { "[]2883", -1, 0 }, - { "[]2dhd-[:alpha:]sssssssssssssssss55555555555555555555555555555555Z[:punct:]", -1, 0 }, + { "[]2dhd-[:alpha:]" + "sssssssssssssssss55555555555555555555555555555555Z[:punct:]", + -1, 0 }, { "[]4", -1, 0 }, { "[]44444444444444444G", -1, 0 }, { "[]\?", -1, 0 }, @@ -1027,8 +2225,11 @@ regex_validate(void **state) { { "[]{-128,}hc", -1, 0 }, { "[]{-181,}&[:xdigit:].\?}}}}}}}}}}}}}}}}}}}}}}", -1, 0 }, { "[]{}F&}i`7|ZAH", -1, 0 }, - { "[^(\?())u{196,}pP][r^ndddddddddddddddddddddd]{31,246}\?J", -1, 0 }, - { "[^.ii.1-S]lwwwwwwwwwwwwwwwwww[^wwwwwwwwwwwwww[:alnum:]DOpP+%fffffffffff", -1, 0 }, + { "[o(\?{(\?<=}[))f++++++++++++++++" + "777777777777777777777777yzPPs]" + "\?\?dRRRRRRRRRRRRRRRRRRRRRRRRRRRR&]>%fffffffffff", + -1, 0 }, { "aW|", -1, 0 }, { "cT{}[]C^r2``tm", -1, 0 }, - { "kkkkkkkkkkkkkkkkkkkkkkk[:blankcntrl:]|{}3{26,}{151,}[:punct:]JJJlH$gP%(2WUE%%%%%%%%%%%%%%%%%%%%a){ibf{}\?", -1, 0 }, + { "kkkkkkkkkkkkkkkkkkkkkkk[:blankcntrl:]|{}3{26,}{151,}[:punct:" + "]JJJlH$gP%(2WUE%%%%%%%%%%%%%%%%%%%%a){ibf{}\?", + -1, 0 }, { "lZ\?\?\?\?\?\?\?\?\?\?\?-P2eZt[:punct:]", -1, 0 }, { "vF3qn[^]N.", -1, 0 }, - { "wwwwwwwwwwwwww{-176,}275[^]>.UUUUUUUUUUUUUUUUUUUUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee2$Yd", -1, 0 }, + { "wwwwwwwwwwwwww{-176,}275[^]>." + "UUUUUUUUUUUUUUUUUUUUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee2$Yd", + -1, 0 }, { "{-197,223}bf]]]]]]]]]]\?&}/s\?\?~c", -1, 0 }, { "{-37,}EpP|", -1, 0 }, { "{}@]a[][:xdigit:]z{a", -1, 0 }, @@ -1076,7 +2284,7 @@ regex_validate(void **state) { { "}}}}}}}}}(}}){}[llll]^N|", -1, 0 }, }; unsigned int i; - int r; + int r; UNUSED(state); @@ -1084,25 +2292,24 @@ regex_validate(void **state) { /* * Check if we get the expected response. */ - for (i = 0; i < sizeof(tests)/sizeof(*tests); i++) { + for (i = 0; i < sizeof(tests) / sizeof(*tests); i++) { regex_t preg; memset(&preg, 0, sizeof(preg)); r = regcomp(&preg, tests[i].expression, REG_EXTENDED); if (((r != 0 && tests[i].expect != -1) || - (r == 0 && tests[i].expect == -1)) && !tests[i].exception) - { + (r == 0 && tests[i].expect == -1)) && + !tests[i].exception) { if (verbose) { print_error("regcomp(%s) -> %s expected %s\n", tests[i].expression, r != 0 ? "bad" : "good", - tests[i].expect == -1 - ? "bad" : "good"); + tests[i].expect == -1 ? "bad" + : "good"); } } else if (r == 0 && preg.re_nsub != (unsigned int)tests[i].expect && - !tests[i].exception) - { + !tests[i].exception) { if (verbose) { print_error("%s preg.re_nsub %lu expected %d\n", tests[i].expression, @@ -1120,7 +2327,7 @@ regex_validate(void **state) { /* * Check if we get the expected response. */ - for (i = 0; i < sizeof(tests)/sizeof(*tests); i++) { + for (i = 0; i < sizeof(tests) / sizeof(*tests); i++) { r = isc_regex_validate(tests[i].expression); if (r != tests[i].expect) { print_error("# %s -> %d expected %d\n", @@ -1131,7 +2338,8 @@ regex_validate(void **state) { } int -main(int argc, char **argv) { +main(int argc, char **argv) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(regex_validate), }; @@ -1155,7 +2363,8 @@ main(int argc, char **argv) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/result_test.c b/lib/isc/tests/result_test.c index 20bf6101af..d9d5209d05 100644 --- a/lib/isc/tests/result_test.c +++ b/lib/isc/tests/result_test.c @@ -11,10 +11,9 @@ #if HAVE_CMOCKA +#include #include #include -#include - #include #include @@ -28,7 +27,8 @@ /* convert result to identifier string */ static void -isc_result_toid_test(void **state) { +isc_result_toid_test(void **state) +{ const char *id; UNUSED(state); @@ -42,7 +42,8 @@ isc_result_toid_test(void **state) { /* convert result to description string */ static void -isc_result_totext_test(void **state) { +isc_result_totext_test(void **state) +{ const char *str; UNUSED(state); @@ -56,8 +57,9 @@ isc_result_totext_test(void **state) { /* check tables are populated */ static void -tables(void **state) { - const char *str; +tables(void **state) +{ + const char * str; isc_result_t result; UNUSED(state); @@ -67,13 +69,13 @@ tables(void **state) { for (result = 0; result < ISC_R_NRESULTS; result++) { str = isc_result_toid(result); assert_non_null(str); - assert_string_not_equal(str, - "(result code text not available)"); + assert_string_not_equal(str, "(result code text not " + "available)"); str = isc_result_totext(result); assert_non_null(str); - assert_string_not_equal(str, - "(result code text not available)"); + assert_string_not_equal(str, "(result code text not " + "available)"); } str = isc_result_toid(result); @@ -85,18 +87,16 @@ tables(void **state) { assert_string_equal(str, "(result code text not available)"); for (result = ISC_RESULTCLASS_PK11; - result < (ISC_RESULTCLASS_PK11 + PK11_R_NRESULTS); - result++) - { + result < (ISC_RESULTCLASS_PK11 + PK11_R_NRESULTS); result++) { str = isc_result_toid(result); assert_non_null(str); - assert_string_not_equal(str, - "(result code text not available)"); + assert_string_not_equal(str, "(result code text not " + "available)"); str = isc_result_totext(result); assert_non_null(str); - assert_string_not_equal(str, - "(result code text not available)"); + assert_string_not_equal(str, "(result code text not " + "available)"); } str = isc_result_toid(result); @@ -109,7 +109,8 @@ tables(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(isc_result_toid_test), cmocka_unit_test(isc_result_totext_test), @@ -124,7 +125,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/safe_test.c b/lib/isc/tests/safe_test.c index 92cfc8262e..8e228f8e17 100644 --- a/lib/isc/tests/safe_test.c +++ b/lib/isc/tests/safe_test.c @@ -13,11 +13,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include @@ -29,27 +28,29 @@ /* test isc_safe_memequal() */ static void -isc_safe_memequal_test(void **state) { +isc_safe_memequal_test(void **state) +{ UNUSED(state); assert_true(isc_safe_memequal("test", "test", 4)); assert_true(!isc_safe_memequal("test", "tesc", 4)); - assert_true(isc_safe_memequal("\x00\x00\x00\x00", - "\x00\x00\x00\x00", 4)); - assert_true(!isc_safe_memequal("\x00\x00\x00\x00", - "\x00\x00\x00\x01", 4)); - assert_true(!isc_safe_memequal("\x00\x00\x00\x02", - "\x00\x00\x00\x00", 4)); + assert_true( + isc_safe_memequal("\x00\x00\x00\x00", "\x00\x00\x00\x00", 4)); + assert_true( + !isc_safe_memequal("\x00\x00\x00\x00", "\x00\x00\x00\x01", 4)); + assert_true( + !isc_safe_memequal("\x00\x00\x00\x02", "\x00\x00\x00\x00", 4)); } /* test isc_safe_memwipe() */ static void -isc_safe_memwipe_test(void **state) { +isc_safe_memwipe_test(void **state) +{ UNUSED(state); /* These should pass. */ isc_safe_memwipe(NULL, 0); - isc_safe_memwipe((void *) -1, 0); + isc_safe_memwipe((void *)-1, 0); /* * isc_safe_memwipe(ptr, size) should function same as @@ -84,7 +85,8 @@ isc_safe_memwipe_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(isc_safe_memequal_test), cmocka_unit_test(isc_safe_memwipe_test), @@ -98,7 +100,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/siphash_test.c b/lib/isc/tests/siphash_test.c index 60ee8c4158..e12bb52109 100644 --- a/lib/isc/tests/siphash_test.c +++ b/lib/isc/tests/siphash_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include +#include #include #include -#include - -#include #include #define UNIT_TESTING @@ -24,16 +23,13 @@ #include void -native_isc_siphash24(const uint8_t *, - const uint8_t *, const size_t, - uint8_t *); +native_isc_siphash24(const uint8_t *, const uint8_t *, const size_t, uint8_t *); #if HAVE_OPENSSL_SIPHASH void -openssl_isc_siphash24(const uint8_t *, - const uint8_t *, const size_t, - uint8_t *); +openssl_isc_siphash24(const uint8_t *, const uint8_t *, const size_t, + uint8_t *); #undef HAVE_OPENSSL_SIPHASH #define isc_siphash24 native_isc_siphash24 @@ -54,75 +50,652 @@ openssl_isc_siphash24(const uint8_t *, #endif const uint8_t vectors[64][8] = { - { 0x31, 0x0e, 0x0e, 0xdd, 0x47, 0xdb, 0x6f, 0x72, }, - { 0xfd, 0x67, 0xdc, 0x93, 0xc5, 0x39, 0xf8, 0x74, }, - { 0x5a, 0x4f, 0xa9, 0xd9, 0x09, 0x80, 0x6c, 0x0d, }, - { 0x2d, 0x7e, 0xfb, 0xd7, 0x96, 0x66, 0x67, 0x85, }, - { 0xb7, 0x87, 0x71, 0x27, 0xe0, 0x94, 0x27, 0xcf, }, - { 0x8d, 0xa6, 0x99, 0xcd, 0x64, 0x55, 0x76, 0x18, }, - { 0xce, 0xe3, 0xfe, 0x58, 0x6e, 0x46, 0xc9, 0xcb, }, - { 0x37, 0xd1, 0x01, 0x8b, 0xf5, 0x00, 0x02, 0xab, }, - { 0x62, 0x24, 0x93, 0x9a, 0x79, 0xf5, 0xf5, 0x93, }, - { 0xb0, 0xe4, 0xa9, 0x0b, 0xdf, 0x82, 0x00, 0x9e, }, - { 0xf3, 0xb9, 0xdd, 0x94, 0xc5, 0xbb, 0x5d, 0x7a, }, - { 0xa7, 0xad, 0x6b, 0x22, 0x46, 0x2f, 0xb3, 0xf4, }, - { 0xfb, 0xe5, 0x0e, 0x86, 0xbc, 0x8f, 0x1e, 0x75, }, - { 0x90, 0x3d, 0x84, 0xc0, 0x27, 0x56, 0xea, 0x14, }, - { 0xee, 0xf2, 0x7a, 0x8e, 0x90, 0xca, 0x23, 0xf7, }, - { 0xe5, 0x45, 0xbe, 0x49, 0x61, 0xca, 0x29, 0xa1, }, - { 0xdb, 0x9b, 0xc2, 0x57, 0x7f, 0xcc, 0x2a, 0x3f, }, - { 0x94, 0x47, 0xbe, 0x2c, 0xf5, 0xe9, 0x9a, 0x69, }, - { 0x9c, 0xd3, 0x8d, 0x96, 0xf0, 0xb3, 0xc1, 0x4b, }, - { 0xbd, 0x61, 0x79, 0xa7, 0x1d, 0xc9, 0x6d, 0xbb, }, - { 0x98, 0xee, 0xa2, 0x1a, 0xf2, 0x5c, 0xd6, 0xbe, }, - { 0xc7, 0x67, 0x3b, 0x2e, 0xb0, 0xcb, 0xf2, 0xd0, }, - { 0x88, 0x3e, 0xa3, 0xe3, 0x95, 0x67, 0x53, 0x93, }, - { 0xc8, 0xce, 0x5c, 0xcd, 0x8c, 0x03, 0x0c, 0xa8, }, - { 0x94, 0xaf, 0x49, 0xf6, 0xc6, 0x50, 0xad, 0xb8, }, - { 0xea, 0xb8, 0x85, 0x8a, 0xde, 0x92, 0xe1, 0xbc, }, - { 0xf3, 0x15, 0xbb, 0x5b, 0xb8, 0x35, 0xd8, 0x17, }, - { 0xad, 0xcf, 0x6b, 0x07, 0x63, 0x61, 0x2e, 0x2f, }, - { 0xa5, 0xc9, 0x1d, 0xa7, 0xac, 0xaa, 0x4d, 0xde, }, - { 0x71, 0x65, 0x95, 0x87, 0x66, 0x50, 0xa2, 0xa6, }, - { 0x28, 0xef, 0x49, 0x5c, 0x53, 0xa3, 0x87, 0xad, }, - { 0x42, 0xc3, 0x41, 0xd8, 0xfa, 0x92, 0xd8, 0x32, }, - { 0xce, 0x7c, 0xf2, 0x72, 0x2f, 0x51, 0x27, 0x71, }, - { 0xe3, 0x78, 0x59, 0xf9, 0x46, 0x23, 0xf3, 0xa7, }, - { 0x38, 0x12, 0x05, 0xbb, 0x1a, 0xb0, 0xe0, 0x12, }, - { 0xae, 0x97, 0xa1, 0x0f, 0xd4, 0x34, 0xe0, 0x15, }, - { 0xb4, 0xa3, 0x15, 0x08, 0xbe, 0xff, 0x4d, 0x31, }, - { 0x81, 0x39, 0x62, 0x29, 0xf0, 0x90, 0x79, 0x02, }, - { 0x4d, 0x0c, 0xf4, 0x9e, 0xe5, 0xd4, 0xdc, 0xca, }, - { 0x5c, 0x73, 0x33, 0x6a, 0x76, 0xd8, 0xbf, 0x9a, }, - { 0xd0, 0xa7, 0x04, 0x53, 0x6b, 0xa9, 0x3e, 0x0e, }, - { 0x92, 0x59, 0x58, 0xfc, 0xd6, 0x42, 0x0c, 0xad, }, - { 0xa9, 0x15, 0xc2, 0x9b, 0xc8, 0x06, 0x73, 0x18, }, - { 0x95, 0x2b, 0x79, 0xf3, 0xbc, 0x0a, 0xa6, 0xd4, }, - { 0xf2, 0x1d, 0xf2, 0xe4, 0x1d, 0x45, 0x35, 0xf9, }, - { 0x87, 0x57, 0x75, 0x19, 0x04, 0x8f, 0x53, 0xa9, }, - { 0x10, 0xa5, 0x6c, 0xf5, 0xdf, 0xcd, 0x9a, 0xdb, }, - { 0xeb, 0x75, 0x09, 0x5c, 0xcd, 0x98, 0x6c, 0xd0, }, - { 0x51, 0xa9, 0xcb, 0x9e, 0xcb, 0xa3, 0x12, 0xe6, }, - { 0x96, 0xaf, 0xad, 0xfc, 0x2c, 0xe6, 0x66, 0xc7, }, - { 0x72, 0xfe, 0x52, 0x97, 0x5a, 0x43, 0x64, 0xee, }, - { 0x5a, 0x16, 0x45, 0xb2, 0x76, 0xd5, 0x92, 0xa1, }, - { 0xb2, 0x74, 0xcb, 0x8e, 0xbf, 0x87, 0x87, 0x0a, }, - { 0x6f, 0x9b, 0xb4, 0x20, 0x3d, 0xe7, 0xb3, 0x81, }, - { 0xea, 0xec, 0xb2, 0xa3, 0x0b, 0x22, 0xa8, 0x7f, }, - { 0x99, 0x24, 0xa4, 0x3c, 0xc1, 0x31, 0x57, 0x24, }, - { 0xbd, 0x83, 0x8d, 0x3a, 0xaf, 0xbf, 0x8d, 0xb7, }, - { 0x0b, 0x1a, 0x2a, 0x32, 0x65, 0xd5, 0x1a, 0xea, }, - { 0x13, 0x50, 0x79, 0xa3, 0x23, 0x1c, 0xe6, 0x60, }, - { 0x93, 0x2b, 0x28, 0x46, 0xe4, 0xd7, 0x06, 0x66, }, - { 0xe1, 0x91, 0x5f, 0x5c, 0xb1, 0xec, 0xa4, 0x6c, }, - { 0xf3, 0x25, 0x96, 0x5c, 0xa1, 0x6d, 0x62, 0x9f, }, - { 0x57, 0x5f, 0xf2, 0x8e, 0x60, 0x38, 0x1b, 0xe5, }, - { 0x72, 0x45, 0x06, 0xeb, 0x4c, 0x32, 0x8a, 0x95, }, + { + 0x31, + 0x0e, + 0x0e, + 0xdd, + 0x47, + 0xdb, + 0x6f, + 0x72, + }, + { + 0xfd, + 0x67, + 0xdc, + 0x93, + 0xc5, + 0x39, + 0xf8, + 0x74, + }, + { + 0x5a, + 0x4f, + 0xa9, + 0xd9, + 0x09, + 0x80, + 0x6c, + 0x0d, + }, + { + 0x2d, + 0x7e, + 0xfb, + 0xd7, + 0x96, + 0x66, + 0x67, + 0x85, + }, + { + 0xb7, + 0x87, + 0x71, + 0x27, + 0xe0, + 0x94, + 0x27, + 0xcf, + }, + { + 0x8d, + 0xa6, + 0x99, + 0xcd, + 0x64, + 0x55, + 0x76, + 0x18, + }, + { + 0xce, + 0xe3, + 0xfe, + 0x58, + 0x6e, + 0x46, + 0xc9, + 0xcb, + }, + { + 0x37, + 0xd1, + 0x01, + 0x8b, + 0xf5, + 0x00, + 0x02, + 0xab, + }, + { + 0x62, + 0x24, + 0x93, + 0x9a, + 0x79, + 0xf5, + 0xf5, + 0x93, + }, + { + 0xb0, + 0xe4, + 0xa9, + 0x0b, + 0xdf, + 0x82, + 0x00, + 0x9e, + }, + { + 0xf3, + 0xb9, + 0xdd, + 0x94, + 0xc5, + 0xbb, + 0x5d, + 0x7a, + }, + { + 0xa7, + 0xad, + 0x6b, + 0x22, + 0x46, + 0x2f, + 0xb3, + 0xf4, + }, + { + 0xfb, + 0xe5, + 0x0e, + 0x86, + 0xbc, + 0x8f, + 0x1e, + 0x75, + }, + { + 0x90, + 0x3d, + 0x84, + 0xc0, + 0x27, + 0x56, + 0xea, + 0x14, + }, + { + 0xee, + 0xf2, + 0x7a, + 0x8e, + 0x90, + 0xca, + 0x23, + 0xf7, + }, + { + 0xe5, + 0x45, + 0xbe, + 0x49, + 0x61, + 0xca, + 0x29, + 0xa1, + }, + { + 0xdb, + 0x9b, + 0xc2, + 0x57, + 0x7f, + 0xcc, + 0x2a, + 0x3f, + }, + { + 0x94, + 0x47, + 0xbe, + 0x2c, + 0xf5, + 0xe9, + 0x9a, + 0x69, + }, + { + 0x9c, + 0xd3, + 0x8d, + 0x96, + 0xf0, + 0xb3, + 0xc1, + 0x4b, + }, + { + 0xbd, + 0x61, + 0x79, + 0xa7, + 0x1d, + 0xc9, + 0x6d, + 0xbb, + }, + { + 0x98, + 0xee, + 0xa2, + 0x1a, + 0xf2, + 0x5c, + 0xd6, + 0xbe, + }, + { + 0xc7, + 0x67, + 0x3b, + 0x2e, + 0xb0, + 0xcb, + 0xf2, + 0xd0, + }, + { + 0x88, + 0x3e, + 0xa3, + 0xe3, + 0x95, + 0x67, + 0x53, + 0x93, + }, + { + 0xc8, + 0xce, + 0x5c, + 0xcd, + 0x8c, + 0x03, + 0x0c, + 0xa8, + }, + { + 0x94, + 0xaf, + 0x49, + 0xf6, + 0xc6, + 0x50, + 0xad, + 0xb8, + }, + { + 0xea, + 0xb8, + 0x85, + 0x8a, + 0xde, + 0x92, + 0xe1, + 0xbc, + }, + { + 0xf3, + 0x15, + 0xbb, + 0x5b, + 0xb8, + 0x35, + 0xd8, + 0x17, + }, + { + 0xad, + 0xcf, + 0x6b, + 0x07, + 0x63, + 0x61, + 0x2e, + 0x2f, + }, + { + 0xa5, + 0xc9, + 0x1d, + 0xa7, + 0xac, + 0xaa, + 0x4d, + 0xde, + }, + { + 0x71, + 0x65, + 0x95, + 0x87, + 0x66, + 0x50, + 0xa2, + 0xa6, + }, + { + 0x28, + 0xef, + 0x49, + 0x5c, + 0x53, + 0xa3, + 0x87, + 0xad, + }, + { + 0x42, + 0xc3, + 0x41, + 0xd8, + 0xfa, + 0x92, + 0xd8, + 0x32, + }, + { + 0xce, + 0x7c, + 0xf2, + 0x72, + 0x2f, + 0x51, + 0x27, + 0x71, + }, + { + 0xe3, + 0x78, + 0x59, + 0xf9, + 0x46, + 0x23, + 0xf3, + 0xa7, + }, + { + 0x38, + 0x12, + 0x05, + 0xbb, + 0x1a, + 0xb0, + 0xe0, + 0x12, + }, + { + 0xae, + 0x97, + 0xa1, + 0x0f, + 0xd4, + 0x34, + 0xe0, + 0x15, + }, + { + 0xb4, + 0xa3, + 0x15, + 0x08, + 0xbe, + 0xff, + 0x4d, + 0x31, + }, + { + 0x81, + 0x39, + 0x62, + 0x29, + 0xf0, + 0x90, + 0x79, + 0x02, + }, + { + 0x4d, + 0x0c, + 0xf4, + 0x9e, + 0xe5, + 0xd4, + 0xdc, + 0xca, + }, + { + 0x5c, + 0x73, + 0x33, + 0x6a, + 0x76, + 0xd8, + 0xbf, + 0x9a, + }, + { + 0xd0, + 0xa7, + 0x04, + 0x53, + 0x6b, + 0xa9, + 0x3e, + 0x0e, + }, + { + 0x92, + 0x59, + 0x58, + 0xfc, + 0xd6, + 0x42, + 0x0c, + 0xad, + }, + { + 0xa9, + 0x15, + 0xc2, + 0x9b, + 0xc8, + 0x06, + 0x73, + 0x18, + }, + { + 0x95, + 0x2b, + 0x79, + 0xf3, + 0xbc, + 0x0a, + 0xa6, + 0xd4, + }, + { + 0xf2, + 0x1d, + 0xf2, + 0xe4, + 0x1d, + 0x45, + 0x35, + 0xf9, + }, + { + 0x87, + 0x57, + 0x75, + 0x19, + 0x04, + 0x8f, + 0x53, + 0xa9, + }, + { + 0x10, + 0xa5, + 0x6c, + 0xf5, + 0xdf, + 0xcd, + 0x9a, + 0xdb, + }, + { + 0xeb, + 0x75, + 0x09, + 0x5c, + 0xcd, + 0x98, + 0x6c, + 0xd0, + }, + { + 0x51, + 0xa9, + 0xcb, + 0x9e, + 0xcb, + 0xa3, + 0x12, + 0xe6, + }, + { + 0x96, + 0xaf, + 0xad, + 0xfc, + 0x2c, + 0xe6, + 0x66, + 0xc7, + }, + { + 0x72, + 0xfe, + 0x52, + 0x97, + 0x5a, + 0x43, + 0x64, + 0xee, + }, + { + 0x5a, + 0x16, + 0x45, + 0xb2, + 0x76, + 0xd5, + 0x92, + 0xa1, + }, + { + 0xb2, + 0x74, + 0xcb, + 0x8e, + 0xbf, + 0x87, + 0x87, + 0x0a, + }, + { + 0x6f, + 0x9b, + 0xb4, + 0x20, + 0x3d, + 0xe7, + 0xb3, + 0x81, + }, + { + 0xea, + 0xec, + 0xb2, + 0xa3, + 0x0b, + 0x22, + 0xa8, + 0x7f, + }, + { + 0x99, + 0x24, + 0xa4, + 0x3c, + 0xc1, + 0x31, + 0x57, + 0x24, + }, + { + 0xbd, + 0x83, + 0x8d, + 0x3a, + 0xaf, + 0xbf, + 0x8d, + 0xb7, + }, + { + 0x0b, + 0x1a, + 0x2a, + 0x32, + 0x65, + 0xd5, + 0x1a, + 0xea, + }, + { + 0x13, + 0x50, + 0x79, + 0xa3, + 0x23, + 0x1c, + 0xe6, + 0x60, + }, + { + 0x93, + 0x2b, + 0x28, + 0x46, + 0xe4, + 0xd7, + 0x06, + 0x66, + }, + { + 0xe1, + 0x91, + 0x5f, + 0x5c, + 0xb1, + 0xec, + 0xa4, + 0x6c, + }, + { + 0xf3, + 0x25, + 0x96, + 0x5c, + 0xa1, + 0x6d, + 0x62, + 0x9f, + }, + { + 0x57, + 0x5f, + 0xf2, + 0x8e, + 0x60, + 0x38, + 0x1b, + 0xe5, + }, + { + 0x72, + 0x45, + 0x06, + 0xeb, + 0x4c, + 0x32, + 0x8a, + 0x95, + }, }; #if HAVE_OPENSSL_SIPHASH static void -openssl_isc_siphash24_test(void **state) { +openssl_isc_siphash24_test(void **state) +{ UNUSED(state); uint8_t in[64], out[8], key[16]; @@ -139,7 +712,8 @@ openssl_isc_siphash24_test(void **state) { #endif static void -native_isc_siphash24_test(void **state) { +native_isc_siphash24_test(void **state) +{ UNUSED(state); uint8_t in[64], out[8], key[16]; @@ -154,7 +728,9 @@ native_isc_siphash24_test(void **state) { } } -int main(void) { +int +main(void) +{ const struct CMUnitTest tests[] = { #if HAVE_OPENSSL_SIPHASH cmocka_unit_test(openssl_isc_siphash24_test), @@ -170,7 +746,8 @@ int main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/sockaddr_test.c b/lib/isc/tests/sockaddr_test.c index 64e3490ca4..755702198e 100644 --- a/lib/isc/tests/sockaddr_test.c +++ b/lib/isc/tests/sockaddr_test.c @@ -11,12 +11,11 @@ #if HAVE_CMOCKA -#include -#include -#include - #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include #include @@ -25,14 +24,15 @@ #include #include -#include #include +#include #include #include "isctest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -44,7 +44,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); isc_test_end(); @@ -54,12 +55,13 @@ _teardown(void **state) { /* test sockaddr hash */ static void -sockaddr_hash(void **state) { - isc_sockaddr_t addr; - struct in_addr in; +sockaddr_hash(void **state) +{ + isc_sockaddr_t addr; + struct in_addr in; struct in6_addr in6; - unsigned int h1, h2, h3, h4; - int ret; + unsigned int h1, h2, h3, h4; + int ret; UNUSED(state); @@ -80,25 +82,22 @@ sockaddr_hash(void **state) { /* test isc_sockaddr_isnetzero() */ static void -sockaddr_isnetzero(void **state) { - isc_sockaddr_t addr; - struct in_addr in; +sockaddr_isnetzero(void **state) +{ + isc_sockaddr_t addr; + struct in_addr in; struct in6_addr in6; - bool r; - int ret; - size_t i; + bool r; + int ret; + size_t i; struct { const char *string; - bool expect; + bool expect; } data4[] = { - { "0.0.0.0", true }, - { "0.0.0.1", true }, - { "0.0.1.0", true }, - { "0.1.0.0", true }, - { "1.0.0.0", false }, - { "0.0.0.127", true }, - { "0.0.0.255", true }, - { "127.0.0.1", false }, + { "0.0.0.0", true }, { "0.0.0.1", true }, + { "0.0.1.0", true }, { "0.1.0.0", true }, + { "1.0.0.0", false }, { "0.0.0.127", true }, + { "0.0.0.255", true }, { "127.0.0.1", false }, { "255.255.255.255", false }, }; /* @@ -106,7 +105,7 @@ sockaddr_isnetzero(void **state) { */ struct { const char *string; - bool expect; + bool expect; } data6[] = { { "::ffff:0.0.0.0", false }, { "::ffff:0.0.0.1", false }, @@ -118,14 +117,14 @@ sockaddr_isnetzero(void **state) { UNUSED(state); - for (i = 0; i < sizeof(data4)/sizeof(data4[0]); i++) { + for (i = 0; i < sizeof(data4) / sizeof(data4[0]); i++) { in.s_addr = inet_addr(data4[i].string); isc_sockaddr_fromin(&addr, &in, 1); r = isc_sockaddr_isnetzero(&addr); assert_int_equal(r, data4[i].expect); } - for (i = 0; i < sizeof(data6)/sizeof(data6[0]); i++) { + for (i = 0; i < sizeof(data6) / sizeof(data6[0]); i++) { ret = inet_pton(AF_INET6, data6[i].string, &in6); assert_int_equal(ret, 1); isc_sockaddr_fromin6(&addr, &in6, 1); @@ -139,7 +138,8 @@ sockaddr_isnetzero(void **state) { * and b are equal, and false when they are not equal */ static void -sockaddr_eqaddrprefix(void **state) { +sockaddr_eqaddrprefix(void **state) +{ struct in_addr ina_a; struct in_addr ina_b; struct in_addr ina_c; @@ -167,10 +167,11 @@ sockaddr_eqaddrprefix(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(sockaddr_hash, - _setup, _teardown), + cmocka_unit_test_setup_teardown(sockaddr_hash, _setup, + _teardown), cmocka_unit_test(sockaddr_isnetzero), cmocka_unit_test(sockaddr_eqaddrprefix), }; @@ -183,7 +184,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/socket_test.c b/lib/isc/tests/socket_test.c index f6044e4b66..6d64add291 100644 --- a/lib/isc/tests/socket_test.c +++ b/lib/isc/tests/socket_test.c @@ -12,12 +12,11 @@ /*! \file */ #if HAVE_CMOCKA -#include -#include -#include - #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include #include @@ -27,23 +26,24 @@ #include #include +#include #include #include -#include #include "../unix/socket_p.h" #include "isctest.h" -static bool recv_dscp; +static bool recv_dscp; static unsigned int recv_dscp_value; -static bool recv_trunc; +static bool recv_trunc; /* * Helper functions */ static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -55,7 +55,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); isc_test_end(); @@ -64,21 +65,23 @@ _teardown(void **state) { } typedef struct { - atomic_bool done; - isc_result_t result; + atomic_bool done; + isc_result_t result; isc_socket_t *socket; } completion_t; static void -completion_init(completion_t *completion) { +completion_init(completion_t *completion) +{ atomic_store(&completion->done, false); completion->socket = NULL; } static void -accept_done(isc_task_t *task, isc_event_t *event) { +accept_done(isc_task_t *task, isc_event_t *event) +{ isc_socket_newconnev_t *nevent = (isc_socket_newconnev_t *)event; - completion_t *completion = event->ev_arg; + completion_t * completion = event->ev_arg; UNUSED(task); @@ -92,27 +95,29 @@ accept_done(isc_task_t *task, isc_event_t *event) { } static void -event_done(isc_task_t *task, isc_event_t *event) { - isc_socketevent_t *sev = NULL; +event_done(isc_task_t *task, isc_event_t *event) +{ + isc_socketevent_t * sev = NULL; isc_socket_connev_t *connev = NULL; - completion_t *completion = event->ev_arg; + completion_t * completion = event->ev_arg; UNUSED(task); switch (event->ev_type) { case ISC_SOCKEVENT_RECVDONE: case ISC_SOCKEVENT_SENDDONE: - sev = (isc_socketevent_t *) event; + sev = (isc_socketevent_t *)event; completion->result = sev->result; if ((sev->attributes & ISC_SOCKEVENTATTR_DSCP) != 0) { recv_dscp = true; - recv_dscp_value = sev->dscp;; + recv_dscp_value = sev->dscp; + ; } else { recv_dscp = false; } recv_trunc = ((sev->attributes & ISC_SOCKEVENTATTR_TRUNC) != 0); break; case ISC_SOCKEVENT_CONNECT: - connev = (isc_socket_connev_t *) event; + connev = (isc_socket_connev_t *)event; completion->result = connev->result; break; default: @@ -123,7 +128,8 @@ event_done(isc_task_t *task, isc_event_t *event) { } static isc_result_t -waitfor(completion_t *completion) { +waitfor(completion_t *completion) +{ int i = 0; while (!atomic_load(&completion->done) && i++ < 5000) { isc_test_nap(1000); @@ -135,18 +141,18 @@ waitfor(completion_t *completion) { } static void -waitbody(void) { - isc_test_nap(1000); +waitbody(void) +{ + isc_test_nap(1000); } static isc_result_t -waitfor2(completion_t *c1, completion_t *c2) { +waitfor2(completion_t *c1, completion_t *c2) +{ int i = 0; - while (!(atomic_load(&c1->done) && - atomic_load(&c2->done)) && - i++ < 5000) - { + while (!(atomic_load(&c1->done) && atomic_load(&c2->done)) && + i++ < 5000) { waitbody(); } if (atomic_load(&c1->done) && atomic_load(&c2->done)) { @@ -161,15 +167,16 @@ waitfor2(completion_t *c1, completion_t *c2) { /* Test UDP sendto/recv (IPv4) */ static void -udp_sendto_test(void **state) { - isc_result_t result; +udp_sendto_test(void **state) +{ + isc_result_t result; isc_sockaddr_t addr1, addr2; struct in_addr in; - isc_socket_t *s1 = NULL, *s2 = NULL; - isc_task_t *task = NULL; - char sendbuf[BUFSIZ], recvbuf[BUFSIZ]; - completion_t completion; - isc_region_t r; + isc_socket_t * s1 = NULL, *s2 = NULL; + isc_task_t * task = NULL; + char sendbuf[BUFSIZ], recvbuf[BUFSIZ]; + completion_t completion; + isc_region_t r; UNUSED(state); @@ -197,7 +204,7 @@ udp_sendto_test(void **state) { assert_int_equal(result, ISC_R_SUCCESS); snprintf(sendbuf, sizeof(sendbuf), "Hello"); - r.base = (void *) sendbuf; + r.base = (void *)sendbuf; r.length = strlen(sendbuf) + 1; completion_init(&completion); @@ -208,7 +215,7 @@ udp_sendto_test(void **state) { assert_true(atomic_load(&completion.done)); assert_int_equal(completion.result, ISC_R_SUCCESS); - r.base = (void *) recvbuf; + r.base = (void *)recvbuf; r.length = BUFSIZ; completion_init(&completion); result = isc_socket_recv(s2, &r, 1, task, event_done, &completion); @@ -222,20 +229,20 @@ udp_sendto_test(void **state) { isc_socket_detach(&s1); isc_socket_detach(&s2); - } /* Test UDP sendto/recv with duplicated socket */ static void -udp_dup_test(void **state) { - isc_result_t result; +udp_dup_test(void **state) +{ + isc_result_t result; isc_sockaddr_t addr1, addr2; struct in_addr in; - isc_socket_t *s1 = NULL, *s2 = NULL, *s3 = NULL; - isc_task_t *task = NULL; - char sendbuf[BUFSIZ], recvbuf[BUFSIZ]; - completion_t completion; - isc_region_t r; + isc_socket_t * s1 = NULL, *s2 = NULL, *s3 = NULL; + isc_task_t * task = NULL; + char sendbuf[BUFSIZ], recvbuf[BUFSIZ]; + completion_t completion; + isc_region_t r; UNUSED(state); @@ -266,7 +273,7 @@ udp_dup_test(void **state) { assert_int_equal(result, ISC_R_SUCCESS); snprintf(sendbuf, sizeof(sendbuf), "Hello"); - r.base = (void *) sendbuf; + r.base = (void *)sendbuf; r.length = strlen(sendbuf) + 1; completion_init(&completion); @@ -278,7 +285,7 @@ udp_dup_test(void **state) { assert_int_equal(completion.result, ISC_R_SUCCESS); snprintf(sendbuf, sizeof(sendbuf), "World"); - r.base = (void *) sendbuf; + r.base = (void *)sendbuf; r.length = strlen(sendbuf) + 1; completion_init(&completion); @@ -289,7 +296,7 @@ udp_dup_test(void **state) { assert_true(atomic_load(&completion.done)); assert_int_equal(completion.result, ISC_R_SUCCESS); - r.base = (void *) recvbuf; + r.base = (void *)recvbuf; r.length = BUFSIZ; completion_init(&completion); result = isc_socket_recv(s2, &r, 1, task, event_done, &completion); @@ -299,7 +306,7 @@ udp_dup_test(void **state) { assert_int_equal(completion.result, ISC_R_SUCCESS); assert_string_equal(recvbuf, "Hello"); - r.base = (void *) recvbuf; + r.base = (void *)recvbuf; r.length = BUFSIZ; completion_init(&completion); result = isc_socket_recv(s3, &r, 1, task, event_done, &completion); @@ -314,25 +321,24 @@ udp_dup_test(void **state) { isc_socket_detach(&s1); isc_socket_detach(&s2); isc_socket_detach(&s3); - } /* Test UDP sendto/recv (IPv4) */ static void -udp_dscp_v4_test(void **state) { - isc_result_t result; - isc_sockaddr_t addr1, addr2; - struct in_addr in; - isc_socket_t *s1 = NULL, *s2 = NULL; - isc_task_t *task = NULL; - char sendbuf[BUFSIZ], recvbuf[BUFSIZ]; - completion_t completion; - isc_region_t r; +udp_dscp_v4_test(void **state) +{ + isc_result_t result; + isc_sockaddr_t addr1, addr2; + struct in_addr in; + isc_socket_t * s1 = NULL, *s2 = NULL; + isc_task_t * task = NULL; + char sendbuf[BUFSIZ], recvbuf[BUFSIZ]; + completion_t completion; + isc_region_t r; isc_socketevent_t *socketevent; UNUSED(state); - in.s_addr = inet_addr("127.0.0.1"); isc_sockaddr_fromin(&addr1, &in, 0); isc_sockaddr_fromin(&addr2, &in, 0); @@ -357,20 +363,20 @@ udp_dscp_v4_test(void **state) { assert_int_equal(result, ISC_R_SUCCESS); snprintf(sendbuf, sizeof(sendbuf), "Hello"); - r.base = (void *) sendbuf; + r.base = (void *)sendbuf; r.length = strlen(sendbuf) + 1; completion_init(&completion); - socketevent = isc_socket_socketevent(test_mctx, s1, ISC_SOCKEVENT_SENDDONE, - event_done, &completion); + socketevent = isc_socket_socketevent( + test_mctx, s1, ISC_SOCKEVENT_SENDDONE, event_done, &completion); assert_non_null(socketevent); if ((isc_net_probedscp() & ISC_NET_DSCPPKTV4) != 0) { socketevent->dscp = 056; /* EF */ socketevent->attributes |= ISC_SOCKEVENTATTR_DSCP; } else if ((isc_net_probedscp() & ISC_NET_DSCPSETV4) != 0) { - isc_socket_dscp(s1, 056); /* EF */ + isc_socket_dscp(s1, 056); /* EF */ socketevent->dscp = 0; socketevent->attributes &= ~ISC_SOCKEVENTATTR_DSCP; } @@ -384,7 +390,7 @@ udp_dscp_v4_test(void **state) { assert_true(atomic_load(&completion.done)); assert_int_equal(completion.result, ISC_R_SUCCESS); - r.base = (void *) recvbuf; + r.base = (void *)recvbuf; r.length = BUFSIZ; completion_init(&completion); result = isc_socket_recv(s2, &r, 1, task, event_done, &completion); @@ -404,33 +410,32 @@ udp_dscp_v4_test(void **state) { isc_socket_detach(&s1); isc_socket_detach(&s2); - } /* Test UDP sendto/recv (IPv6) */ static void -udp_dscp_v6_test(void **state) { - isc_result_t result; - isc_sockaddr_t addr1, addr2; - struct in6_addr in6; - isc_socket_t *s1 = NULL, *s2 = NULL; - isc_task_t *task = NULL; - char sendbuf[BUFSIZ], recvbuf[BUFSIZ]; - completion_t completion; - isc_region_t r; +udp_dscp_v6_test(void **state) +{ + isc_result_t result; + isc_sockaddr_t addr1, addr2; + struct in6_addr in6; + isc_socket_t * s1 = NULL, *s2 = NULL; + isc_task_t * task = NULL; + char sendbuf[BUFSIZ], recvbuf[BUFSIZ]; + completion_t completion; + isc_region_t r; isc_socketevent_t *socketevent; - int n; + int n; UNUSED(state); - n = inet_pton(AF_INET6, "::1", &in6.s6_addr); assert_true(n == 1); isc_sockaddr_fromin6(&addr1, &in6, 0); isc_sockaddr_fromin6(&addr2, &in6, 0); - result = isc_socket_create(socketmgr, PF_INET6, isc_sockettype_udp, - &s1); + result = + isc_socket_create(socketmgr, PF_INET6, isc_sockettype_udp, &s1); assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_bind(s1, &addr1, 0); assert_int_equal(result, ISC_R_SUCCESS); @@ -438,8 +443,8 @@ udp_dscp_v6_test(void **state) { assert_int_equal(result, ISC_R_SUCCESS); assert_true(isc_sockaddr_getport(&addr1) != 0); - result = isc_socket_create(socketmgr, PF_INET6, isc_sockettype_udp, - &s2); + result = + isc_socket_create(socketmgr, PF_INET6, isc_sockettype_udp, &s2); assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_bind(s2, &addr2, 0); assert_int_equal(result, ISC_R_SUCCESS); @@ -451,20 +456,20 @@ udp_dscp_v6_test(void **state) { assert_int_equal(result, ISC_R_SUCCESS); snprintf(sendbuf, sizeof(sendbuf), "Hello"); - r.base = (void *) sendbuf; + r.base = (void *)sendbuf; r.length = strlen(sendbuf) + 1; completion_init(&completion); - socketevent = isc_socket_socketevent(test_mctx, s1, ISC_SOCKEVENT_SENDDONE, - event_done, &completion); + socketevent = isc_socket_socketevent( + test_mctx, s1, ISC_SOCKEVENT_SENDDONE, event_done, &completion); assert_non_null(socketevent); if ((isc_net_probedscp() & ISC_NET_DSCPPKTV6) != 0) { socketevent->dscp = 056; /* EF */ socketevent->attributes = ISC_SOCKEVENTATTR_DSCP; } else if ((isc_net_probedscp() & ISC_NET_DSCPSETV6) != 0) { - isc_socket_dscp(s1, 056); /* EF */ + isc_socket_dscp(s1, 056); /* EF */ } recv_dscp = false; @@ -476,7 +481,7 @@ udp_dscp_v6_test(void **state) { assert_true(atomic_load(&completion.done)); assert_int_equal(completion.result, ISC_R_SUCCESS); - r.base = (void *) recvbuf; + r.base = (void *)recvbuf; r.length = BUFSIZ; completion_init(&completion); result = isc_socket_recv(s2, &r, 1, task, event_done, &completion); @@ -496,24 +501,23 @@ udp_dscp_v6_test(void **state) { isc_socket_detach(&s1); isc_socket_detach(&s2); - } /* Test TCP sendto/recv (IPv4) */ static void -tcp_dscp_v4_test(void **state) { - isc_result_t result; +tcp_dscp_v4_test(void **state) +{ + isc_result_t result; isc_sockaddr_t addr1; struct in_addr in; - isc_socket_t *s1 = NULL, *s2 = NULL, *s3 = NULL; - isc_task_t *task = NULL; - char sendbuf[BUFSIZ], recvbuf[BUFSIZ]; - completion_t completion, completion2; - isc_region_t r; + isc_socket_t * s1 = NULL, *s2 = NULL, *s3 = NULL; + isc_task_t * task = NULL; + char sendbuf[BUFSIZ], recvbuf[BUFSIZ]; + completion_t completion, completion2; + isc_region_t r; UNUSED(state); - in.s_addr = inet_addr("127.0.0.1"); isc_sockaddr_fromin(&addr1, &in, 0); @@ -549,24 +553,24 @@ tcp_dscp_v4_test(void **state) { assert_int_equal(completion2.result, ISC_R_SUCCESS); s3 = completion2.socket; - isc_socket_dscp(s2, 056); /* EF */ + isc_socket_dscp(s2, 056); /* EF */ snprintf(sendbuf, sizeof(sendbuf), "Hello"); - r.base = (void *) sendbuf; + r.base = (void *)sendbuf; r.length = strlen(sendbuf) + 1; recv_dscp = false; recv_dscp_value = 0; completion_init(&completion); - result = isc_socket_sendto(s2, &r, task, event_done, &completion, - NULL, NULL); + result = isc_socket_sendto(s2, &r, task, event_done, &completion, NULL, + NULL); assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); assert_true(atomic_load(&completion.done)); assert_int_equal(completion.result, ISC_R_SUCCESS); - r.base = (void *) recvbuf; + r.base = (void *)recvbuf; r.length = BUFSIZ; completion_init(&completion); result = isc_socket_recv(s3, &r, 1, task, event_done, &completion); @@ -589,31 +593,30 @@ tcp_dscp_v4_test(void **state) { isc_socket_detach(&s1); isc_socket_detach(&s2); isc_socket_detach(&s3); - } /* Test TCP sendto/recv (IPv6) */ static void -tcp_dscp_v6_test(void **state) { - isc_result_t result; - isc_sockaddr_t addr1; +tcp_dscp_v6_test(void **state) +{ + isc_result_t result; + isc_sockaddr_t addr1; struct in6_addr in6; - isc_socket_t *s1 = NULL, *s2 = NULL, *s3 = NULL; - isc_task_t *task = NULL; - char sendbuf[BUFSIZ], recvbuf[BUFSIZ]; - completion_t completion, completion2; - isc_region_t r; - int n; + isc_socket_t * s1 = NULL, *s2 = NULL, *s3 = NULL; + isc_task_t * task = NULL; + char sendbuf[BUFSIZ], recvbuf[BUFSIZ]; + completion_t completion, completion2; + isc_region_t r; + int n; UNUSED(state); - n = inet_pton(AF_INET6, "::1", &in6.s6_addr); assert_true(n == 1); isc_sockaddr_fromin6(&addr1, &in6, 0); - result = isc_socket_create(socketmgr, PF_INET6, isc_sockettype_tcp, - &s1); + result = + isc_socket_create(socketmgr, PF_INET6, isc_sockettype_tcp, &s1); assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_bind(s1, &addr1, 0); @@ -625,8 +628,8 @@ tcp_dscp_v6_test(void **state) { result = isc_socket_listen(s1, 3); assert_int_equal(result, ISC_R_SUCCESS); - result = isc_socket_create(socketmgr, PF_INET6, isc_sockettype_tcp, - &s2); + result = + isc_socket_create(socketmgr, PF_INET6, isc_sockettype_tcp, &s2); assert_int_equal(result, ISC_R_SUCCESS); result = isc_task_create(taskmgr, 0, &task); @@ -646,24 +649,24 @@ tcp_dscp_v6_test(void **state) { assert_int_equal(completion2.result, ISC_R_SUCCESS); s3 = completion2.socket; - isc_socket_dscp(s2, 056); /* EF */ + isc_socket_dscp(s2, 056); /* EF */ snprintf(sendbuf, sizeof(sendbuf), "Hello"); - r.base = (void *) sendbuf; + r.base = (void *)sendbuf; r.length = strlen(sendbuf) + 1; recv_dscp = false; recv_dscp_value = 0; completion_init(&completion); - result = isc_socket_sendto(s2, &r, task, event_done, &completion, - NULL, NULL); + result = isc_socket_sendto(s2, &r, task, event_done, &completion, NULL, + NULL); assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); assert_true(atomic_load(&completion.done)); assert_int_equal(completion.result, ISC_R_SUCCESS); - r.base = (void *) recvbuf; + r.base = (void *)recvbuf; r.length = BUFSIZ; completion_init(&completion); result = isc_socket_recv(s3, &r, 1, task, event_done, &completion); @@ -690,12 +693,12 @@ tcp_dscp_v6_test(void **state) { isc_socket_detach(&s1); isc_socket_detach(&s2); isc_socket_detach(&s3); - } /* probe dscp capabilities */ static void -net_probedscp_test(void **state) { +net_probedscp_test(void **state) +{ unsigned int n; UNUSED(state); @@ -704,12 +707,12 @@ net_probedscp_test(void **state) { assert_true((n & ~ISC_NET_DSCPALL) == 0); /* ISC_NET_DSCPSETV4 MUST be set if any is set. */ - if (n & (ISC_NET_DSCPPKTV4|ISC_NET_DSCPRECVV4)) { + if (n & (ISC_NET_DSCPPKTV4 | ISC_NET_DSCPRECVV4)) { assert_true((n & ISC_NET_DSCPSETV4) != 0); } /* ISC_NET_DSCPSETV6 MUST be set if any is set. */ - if (n & (ISC_NET_DSCPPKTV6|ISC_NET_DSCPRECVV6)) { + if (n & (ISC_NET_DSCPPKTV6 | ISC_NET_DSCPRECVV6)) { assert_true((n & ISC_NET_DSCPSETV6) != 0); } @@ -728,15 +731,16 @@ net_probedscp_test(void **state) { /* Test UDP truncation detection */ static void -udp_trunc_test(void **state) { - isc_result_t result; - isc_sockaddr_t addr1, addr2; - struct in_addr in; - isc_socket_t *s1 = NULL, *s2 = NULL; - isc_task_t *task = NULL; - char sendbuf[BUFSIZ*2], recvbuf[BUFSIZ]; - completion_t completion; - isc_region_t r; +udp_trunc_test(void **state) +{ + isc_result_t result; + isc_sockaddr_t addr1, addr2; + struct in_addr in; + isc_socket_t * s1 = NULL, *s2 = NULL; + isc_task_t * task = NULL; + char sendbuf[BUFSIZ * 2], recvbuf[BUFSIZ]; + completion_t completion; + isc_region_t r; isc_socketevent_t *socketevent; UNUSED(state); @@ -768,13 +772,13 @@ udp_trunc_test(void **state) { */ memset(sendbuf, 0xff, sizeof(sendbuf)); snprintf(sendbuf, sizeof(sendbuf), "Hello"); - r.base = (void *) sendbuf; + r.base = (void *)sendbuf; r.length = strlen(sendbuf) + 1; completion_init(&completion); - socketevent = isc_socket_socketevent(test_mctx, s1, ISC_SOCKEVENT_SENDDONE, - event_done, &completion); + socketevent = isc_socket_socketevent( + test_mctx, s1, ISC_SOCKEVENT_SENDDONE, event_done, &completion); assert_non_null(socketevent); result = isc_socket_sendto2(s1, &r, task, &addr2, NULL, socketevent, 0); @@ -783,7 +787,7 @@ udp_trunc_test(void **state) { assert_true(atomic_load(&completion.done)); assert_int_equal(completion.result, ISC_R_SUCCESS); - r.base = (void *) recvbuf; + r.base = (void *)recvbuf; r.length = BUFSIZ; completion_init(&completion); recv_trunc = false; @@ -800,13 +804,13 @@ udp_trunc_test(void **state) { */ memset(sendbuf, 0xff, sizeof(sendbuf)); snprintf(sendbuf, sizeof(sendbuf), "Hello"); - r.base = (void *) sendbuf; + r.base = (void *)sendbuf; r.length = sizeof(sendbuf); completion_init(&completion); - socketevent = isc_socket_socketevent(test_mctx, s1, ISC_SOCKEVENT_SENDDONE, - event_done, &completion); + socketevent = isc_socket_socketevent( + test_mctx, s1, ISC_SOCKEVENT_SENDDONE, event_done, &completion); assert_non_null(socketevent); result = isc_socket_sendto2(s1, &r, task, &addr2, NULL, socketevent, 0); @@ -815,7 +819,7 @@ udp_trunc_test(void **state) { assert_true(atomic_load(&completion.done)); assert_int_equal(completion.result, ISC_R_SUCCESS); - r.base = (void *) recvbuf; + r.base = (void *)recvbuf; r.length = BUFSIZ; completion_init(&completion); recv_trunc = false; @@ -831,31 +835,31 @@ udp_trunc_test(void **state) { isc_socket_detach(&s1); isc_socket_detach(&s2); - } /* * Main */ int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(udp_sendto_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(udp_dup_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(tcp_dscp_v4_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(tcp_dscp_v6_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(udp_dscp_v4_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(udp_dscp_v6_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(net_probedscp_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(udp_trunc_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(udp_sendto_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(udp_dup_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(tcp_dscp_v4_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(tcp_dscp_v6_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(udp_dscp_v4_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(udp_dscp_v6_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(net_probedscp_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(udp_trunc_test, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -866,10 +870,10 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); - } #endif diff --git a/lib/isc/tests/symtab_test.c b/lib/isc/tests/symtab_test.c index 28bb053831..fa657c764f 100644 --- a/lib/isc/tests/symtab_test.c +++ b/lib/isc/tests/symtab_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -23,14 +22,15 @@ #define UNIT_TESTING #include -#include #include +#include #include #include "isctest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -42,7 +42,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); isc_test_end(); @@ -51,7 +52,8 @@ _teardown(void **state) { } static void -undefine(char *key, unsigned int type, isc_symvalue_t value, void *arg) { +undefine(char *key, unsigned int type, isc_symvalue_t value, void *arg) +{ UNUSED(arg); assert_int_equal(type, 1); @@ -61,12 +63,13 @@ undefine(char *key, unsigned int type, isc_symvalue_t value, void *arg) { /* test symbol table growth */ static void -symtab_grow(void **state) { - isc_result_t result; - isc_symtab_t *st = NULL; - isc_symvalue_t value; +symtab_grow(void **state) +{ + isc_result_t result; + isc_symtab_t * st = NULL; + isc_symvalue_t value; isc_symexists_t policy = isc_symexists_reject; - int i; + int i; UNUSED(state); @@ -148,10 +151,10 @@ symtab_grow(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(symtab_grow, - _setup, _teardown), + cmocka_unit_test_setup_teardown(symtab_grow, _setup, _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -162,7 +165,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/task_test.c b/lib/isc/tests/task_test.c index c7093a6967..ddb40722e7 100644 --- a/lib/isc/tests/task_test.c +++ b/lib/isc/tests/task_test.c @@ -11,13 +11,12 @@ #if HAVE_CMOCKA -#include -#include -#include - #include #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include #include @@ -36,22 +35,22 @@ #include #include -#include "isctest.h" - #include "../task_p.h" +#include "isctest.h" /* Set to true (or use -v option) for verbose output */ static bool verbose = false; -static isc_mutex_t lock; +static isc_mutex_t lock; static isc_condition_t cv; atomic_int_fast32_t counter; -static int active[10]; -static atomic_bool done, done2; +static int active[10]; +static atomic_bool done, done2; static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -67,7 +66,8 @@ _setup(void **state) { } static int -_setup2(void **state) { +_setup2(void **state) +{ isc_result_t result; UNUSED(state); @@ -84,7 +84,8 @@ _setup2(void **state) { } static int -_setup4(void **state) { +_setup4(void **state) +{ isc_result_t result; UNUSED(state); @@ -101,7 +102,8 @@ _setup4(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); isc_test_end(); @@ -111,8 +113,9 @@ _teardown(void **state) { } static void -set(isc_task_t *task, isc_event_t *event) { - atomic_int_fast32_t *value = (atomic_int_fast32_t *) event->ev_arg; +set(isc_task_t *task, isc_event_t *event) +{ + atomic_int_fast32_t *value = (atomic_int_fast32_t *)event->ev_arg; UNUSED(task); @@ -121,23 +124,25 @@ set(isc_task_t *task, isc_event_t *event) { } static void -set_and_drop(isc_task_t *task, isc_event_t *event) { - atomic_int_fast32_t *value = (atomic_int_fast32_t *) event->ev_arg; +set_and_drop(isc_task_t *task, isc_event_t *event) +{ + atomic_int_fast32_t *value = (atomic_int_fast32_t *)event->ev_arg; UNUSED(task); isc_event_free(&event); LOCK(&lock); - atomic_store(value, (int) isc_taskmgr_mode(taskmgr)); + atomic_store(value, (int)isc_taskmgr_mode(taskmgr)); atomic_fetch_add(&counter, 1); UNLOCK(&lock); } /* Create a task */ static void -create_task(void **state) { +create_task(void **state) +{ isc_result_t result; - isc_task_t *task = NULL; + isc_task_t * task = NULL; UNUSED(state); @@ -150,12 +155,13 @@ create_task(void **state) { /* Process events */ static void -all_events(void **state) { - isc_result_t result; - isc_task_t *task = NULL; - isc_event_t *event = NULL; +all_events(void **state) +{ + isc_result_t result; + isc_task_t * task = NULL; + isc_event_t * event = NULL; atomic_int_fast32_t a, b; - int i = 0; + int i = 0; UNUSED(state); @@ -167,15 +173,15 @@ all_events(void **state) { assert_int_equal(result, ISC_R_SUCCESS); /* First event */ - event = isc_event_allocate(test_mctx, task, ISC_TASKEVENT_TEST, - set, &a, sizeof (isc_event_t)); + event = isc_event_allocate(test_mctx, task, ISC_TASKEVENT_TEST, set, &a, + sizeof(isc_event_t)); assert_non_null(event); assert_int_equal(atomic_load(&a), 0); isc_task_send(task, &event); - event = isc_event_allocate(test_mctx, task, ISC_TASKEVENT_TEST, - set, &b, sizeof (isc_event_t)); + event = isc_event_allocate(test_mctx, task, ISC_TASKEVENT_TEST, set, &b, + sizeof(isc_event_t)); assert_non_null(event); assert_int_equal(atomic_load(&b), 0); @@ -194,12 +200,13 @@ all_events(void **state) { /* Privileged events */ static void -privileged_events(void **state) { - isc_result_t result; - isc_task_t *task1 = NULL, *task2 = NULL; - isc_event_t *event = NULL; +privileged_events(void **state) +{ + isc_result_t result; + isc_task_t * task1 = NULL, *task2 = NULL; + isc_event_t * event = NULL; atomic_int_fast32_t a, b, c, d, e; - int i = 0; + int i = 0; UNUSED(state); @@ -229,40 +236,40 @@ privileged_events(void **state) { assert_false(isc_task_privilege(task2)); /* First event: privileged */ - event = isc_event_allocate(test_mctx, task1, ISC_TASKEVENT_TEST, - set, &a, sizeof (isc_event_t)); + event = isc_event_allocate(test_mctx, task1, ISC_TASKEVENT_TEST, set, + &a, sizeof(isc_event_t)); assert_non_null(event); assert_int_equal(atomic_load(&a), 0); isc_task_send(task1, &event); /* Second event: not privileged */ - event = isc_event_allocate(test_mctx, task2, ISC_TASKEVENT_TEST, - set, &b, sizeof (isc_event_t)); + event = isc_event_allocate(test_mctx, task2, ISC_TASKEVENT_TEST, set, + &b, sizeof(isc_event_t)); assert_non_null(event); assert_int_equal(atomic_load(&b), 0); isc_task_send(task2, &event); /* Third event: privileged */ - event = isc_event_allocate(test_mctx, task1, ISC_TASKEVENT_TEST, - set, &c, sizeof (isc_event_t)); + event = isc_event_allocate(test_mctx, task1, ISC_TASKEVENT_TEST, set, + &c, sizeof(isc_event_t)); assert_non_null(event); assert_int_equal(atomic_load(&c), 0); isc_task_send(task1, &event); /* Fourth event: privileged */ - event = isc_event_allocate(test_mctx, task1, ISC_TASKEVENT_TEST, - set, &d, sizeof (isc_event_t)); + event = isc_event_allocate(test_mctx, task1, ISC_TASKEVENT_TEST, set, + &d, sizeof(isc_event_t)); assert_non_null(event); assert_int_equal(atomic_load(&d), 0); isc_task_send(task1, &event); /* Fifth event: not privileged */ - event = isc_event_allocate(test_mctx, task2, ISC_TASKEVENT_TEST, - set, &e, sizeof (isc_event_t)); + event = isc_event_allocate(test_mctx, task2, ISC_TASKEVENT_TEST, set, + &e, sizeof(isc_event_t)); assert_non_null(event); assert_int_equal(atomic_load(&e), 0); @@ -275,12 +282,10 @@ privileged_events(void **state) { isc__taskmgr_resume(taskmgr); /* We're waiting for *all* variables to be set */ - while ((atomic_load(&a) == 0 || - atomic_load(&b) == 0 || - atomic_load(&c) == 0 || - atomic_load(&d) == 0 || - atomic_load(&e) == 0) && i++ < 5000) - { + while ((atomic_load(&a) == 0 || atomic_load(&b) == 0 || + atomic_load(&c) == 0 || atomic_load(&d) == 0 || + atomic_load(&e) == 0) && + i++ < 5000) { isc_test_nap(1000); } @@ -315,12 +320,13 @@ privileged_events(void **state) { * we explicitly set it into normal mode *while* running privileged. */ static void -privilege_drop(void **state) { - isc_result_t result; - isc_task_t *task1 = NULL, *task2 = NULL; - isc_event_t *event = NULL; - atomic_int_fast32_t a, b, c, d, e; /* non valid states */ - int i = 0; +privilege_drop(void **state) +{ + isc_result_t result; + isc_task_t * task1 = NULL, *task2 = NULL; + isc_event_t * event = NULL; + atomic_int_fast32_t a, b, c, d, e; /* non valid states */ + int i = 0; UNUSED(state); @@ -351,7 +357,7 @@ privilege_drop(void **state) { /* First event: privileged */ event = isc_event_allocate(test_mctx, task1, ISC_TASKEVENT_TEST, - set_and_drop, &a, sizeof (isc_event_t)); + set_and_drop, &a, sizeof(isc_event_t)); assert_non_null(event); assert_int_equal(atomic_load(&a), -1); @@ -359,7 +365,7 @@ privilege_drop(void **state) { /* Second event: not privileged */ event = isc_event_allocate(test_mctx, task2, ISC_TASKEVENT_TEST, - set_and_drop, &b, sizeof (isc_event_t)); + set_and_drop, &b, sizeof(isc_event_t)); assert_non_null(event); assert_int_equal(atomic_load(&b), -1); @@ -367,7 +373,7 @@ privilege_drop(void **state) { /* Third event: privileged */ event = isc_event_allocate(test_mctx, task1, ISC_TASKEVENT_TEST, - set_and_drop, &c, sizeof (isc_event_t)); + set_and_drop, &c, sizeof(isc_event_t)); assert_non_null(event); assert_int_equal(atomic_load(&c), -1); @@ -375,7 +381,7 @@ privilege_drop(void **state) { /* Fourth event: privileged */ event = isc_event_allocate(test_mctx, task1, ISC_TASKEVENT_TEST, - set_and_drop, &d, sizeof (isc_event_t)); + set_and_drop, &d, sizeof(isc_event_t)); assert_non_null(event); assert_int_equal(atomic_load(&d), -1); @@ -383,7 +389,7 @@ privilege_drop(void **state) { /* Fifth event: not privileged */ event = isc_event_allocate(test_mctx, task2, ISC_TASKEVENT_TEST, - set_and_drop, &e, sizeof (isc_event_t)); + set_and_drop, &e, sizeof(isc_event_t)); assert_non_null(event); assert_int_equal(atomic_load(&e), -1); @@ -396,13 +402,10 @@ privilege_drop(void **state) { isc__taskmgr_resume(taskmgr); /* We're waiting for all variables to be set. */ - while ((atomic_load(&a) == -1 || - atomic_load(&b) == -1 || - atomic_load(&c) == -1 || - atomic_load(&d) == -1 || + while ((atomic_load(&a) == -1 || atomic_load(&b) == -1 || + atomic_load(&c) == -1 || atomic_load(&d) == -1 || atomic_load(&e) == -1) && - i++ < 5000) - { + i++ < 5000) { isc_test_nap(1000); } @@ -430,9 +433,10 @@ privilege_drop(void **state) { } static void -sleep_cb(isc_task_t *task, isc_event_t *event) { +sleep_cb(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); - int p = *(int*)event->ev_arg; + int p = *(int *)event->ev_arg; if (p == 1) { /* * Signal the main thread that we're running, so that @@ -463,10 +467,11 @@ sleep_cb(isc_task_t *task, isc_event_t *event) { } static void -pause_unpause(void **state) { +pause_unpause(void **state) +{ isc_result_t result; - isc_task_t *task = NULL; - isc_event_t *event1,*event2 = NULL; + isc_task_t * task = NULL; + isc_event_t *event1, *event2 = NULL; UNUSED(state); atomic_store(&done, false); atomic_store(&done2, false); @@ -475,10 +480,10 @@ pause_unpause(void **state) { assert_int_equal(result, ISC_R_SUCCESS); event1 = isc_event_allocate(test_mctx, task, ISC_TASKEVENT_TEST, - sleep_cb, &(int){1}, sizeof (isc_event_t)); + sleep_cb, &(int){ 1 }, sizeof(isc_event_t)); assert_non_null(event1); event2 = isc_event_allocate(test_mctx, task, ISC_TASKEVENT_TEST, - sleep_cb, &(int){2}, sizeof (isc_event_t)); + sleep_cb, &(int){ 2 }, sizeof(isc_event_t)); assert_non_null(event2); isc_task_send(task, &event1); isc_task_send(task, &event2); @@ -510,7 +515,8 @@ pause_unpause(void **state) { * Basic task functions: */ static void -basic_cb(isc_task_t *task, isc_event_t *event) { +basic_cb(isc_task_t *task, isc_event_t *event) +{ int i, j; UNUSED(task); @@ -530,7 +536,8 @@ basic_cb(isc_task_t *task, isc_event_t *event) { } static void -basic_shutdown(isc_task_t *task, isc_event_t *event) { +basic_shutdown(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); if (verbose) { @@ -541,8 +548,8 @@ basic_shutdown(isc_task_t *task, isc_event_t *event) { } static void -basic_tick(isc_task_t *task, isc_event_t *event) { - +basic_tick(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); if (verbose) { @@ -560,22 +567,21 @@ static char tick[] = "tick"; static char tock[] = "tock"; static void -basic(void **state) { - isc_result_t result; - isc_task_t *task1 = NULL; - isc_task_t *task2 = NULL; - isc_task_t *task3 = NULL; - isc_task_t *task4 = NULL; - isc_event_t *event = NULL; - isc_timer_t *ti1 = NULL; - isc_timer_t *ti2 = NULL; - isc_time_t absolute; +basic(void **state) +{ + isc_result_t result; + isc_task_t * task1 = NULL; + isc_task_t * task2 = NULL; + isc_task_t * task3 = NULL; + isc_task_t * task4 = NULL; + isc_event_t * event = NULL; + isc_timer_t * ti1 = NULL; + isc_timer_t * ti2 = NULL; + isc_time_t absolute; isc_interval_t interval; - char *testarray[] = { - one, one, one, one, one, one, one, one, one, - two, three, four, two, three, four, NULL - }; - int i; + char *testarray[] = { one, one, one, one, one, one, one, one, + one, two, three, four, two, three, four, NULL }; + int i; UNUSED(state); @@ -599,17 +605,15 @@ basic(void **state) { isc_time_settoepoch(&absolute); isc_interval_set(&interval, 1, 0); - result = isc_timer_create(timermgr, isc_timertype_ticker, - &absolute, &interval, - task1, basic_tick, tick, &ti1); + result = isc_timer_create(timermgr, isc_timertype_ticker, &absolute, + &interval, task1, basic_tick, tick, &ti1); assert_int_equal(result, ISC_R_SUCCESS); ti2 = NULL; isc_time_settoepoch(&absolute); isc_interval_set(&interval, 1, 0); - result = isc_timer_create(timermgr, isc_timertype_ticker, - &absolute, &interval, - task2, basic_tick, tock, &ti2); + result = isc_timer_create(timermgr, isc_timertype_ticker, &absolute, + &interval, task2, basic_tick, tock, &ti2); assert_int_equal(result, ISC_R_SUCCESS); #ifndef WIN32 @@ -656,7 +660,8 @@ basic(void **state) { * tasks complete first. */ static int -spin(int n) { +spin(int n) +{ int i; int r = 0; for (i = 0; i < n; i++) { @@ -669,7 +674,8 @@ spin(int n) { } static void -exclusive_cb(isc_task_t *task, isc_event_t *event) { +exclusive_cb(isc_task_t *task, isc_event_t *event) +{ int taskno = *(int *)(event->ev_arg); if (verbose) { @@ -679,7 +685,7 @@ exclusive_cb(isc_task_t *task, isc_event_t *event) { /* task chosen from the middle of the range */ if (taskno == 6) { isc_result_t result; - int i; + int i; result = isc_task_beginexclusive(task); assert_int_equal(result, ISC_R_SUCCESS); @@ -692,7 +698,7 @@ exclusive_cb(isc_task_t *task, isc_event_t *event) { atomic_store(&done, true); } else { active[taskno]++; - (void) spin(10000000); + (void)spin(10000000); active[taskno]--; } @@ -701,7 +707,7 @@ exclusive_cb(isc_task_t *task, isc_event_t *event) { } if (atomic_load(&done)) { - isc_mem_put(event->ev_destroy_arg, event->ev_arg, sizeof (int)); + isc_mem_put(event->ev_destroy_arg, event->ev_arg, sizeof(int)); isc_event_free(&event); } else { isc_task_send(task, &event); @@ -709,16 +715,17 @@ exclusive_cb(isc_task_t *task, isc_event_t *event) { } static void -task_exclusive(void **state) { - isc_task_t *tasks[10]; +task_exclusive(void **state) +{ + isc_task_t * tasks[10]; isc_result_t result; - int i; + int i; UNUSED(state); for (i = 0; i < 10; i++) { isc_event_t *event = NULL; - int *v; + int * v; tasks[i] = NULL; @@ -735,8 +742,8 @@ task_exclusive(void **state) { *v = i; - event = isc_event_allocate(test_mctx, NULL, 1, exclusive_cb, - v, sizeof(*event)); + event = isc_event_allocate(test_mctx, NULL, 1, exclusive_cb, v, + sizeof(*event)); assert_non_null(event); isc_task_send(tasks[i], &event); @@ -752,11 +759,12 @@ task_exclusive(void **state) { * The task system can create and execute many tasks. Tests with 10000. */ static void -maxtask_shutdown(isc_task_t *task, isc_event_t *event) { +maxtask_shutdown(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); if (event->ev_arg != NULL) { - isc_task_destroy((isc_task_t**) &event->ev_arg); + isc_task_destroy((isc_task_t **)&event->ev_arg); } else { LOCK(&lock); atomic_store(&done, true); @@ -768,13 +776,14 @@ maxtask_shutdown(isc_task_t *task, isc_event_t *event) { } static void -maxtask_cb(isc_task_t *task, isc_event_t *event) { +maxtask_cb(isc_task_t *task, isc_event_t *event) +{ isc_result_t result; if (event->ev_arg != NULL) { isc_task_t *newtask = NULL; - event->ev_arg = (void *)(((uintptr_t) event->ev_arg) - 1); + event->ev_arg = (void *)(((uintptr_t)event->ev_arg) - 1); /* * Create a new task and forward the message. @@ -794,11 +803,12 @@ maxtask_cb(isc_task_t *task, isc_event_t *event) { } static void -manytasks(void **state) { - isc_mem_t *mctx = NULL; +manytasks(void **state) +{ + isc_mem_t * mctx = NULL; isc_result_t result; isc_event_t *event = NULL; - uintptr_t ntasks = 10000; + uintptr_t ntasks = 10000; UNUSED(state); @@ -839,13 +849,14 @@ manytasks(void **state) { * in LIFO order. */ -static int nevents = 0; -static int nsdevents = 0; -static int senders[4]; +static int nevents = 0; +static int nsdevents = 0; +static int senders[4]; atomic_bool ready, all_done; static void -sd_sde1(isc_task_t *task, isc_event_t *event) { +sd_sde1(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); assert_int_equal(nevents, 256); @@ -862,7 +873,8 @@ sd_sde1(isc_task_t *task, isc_event_t *event) { } static void -sd_sde2(isc_task_t *task, isc_event_t *event) { +sd_sde2(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); assert_int_equal(nevents, 256); @@ -877,7 +889,8 @@ sd_sde2(isc_task_t *task, isc_event_t *event) { } static void -sd_event1(isc_task_t *task, isc_event_t *event) { +sd_event1(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); LOCK(&lock); @@ -894,7 +907,8 @@ sd_event1(isc_task_t *task, isc_event_t *event) { } static void -sd_event2(isc_task_t *task, isc_event_t *event) { +sd_event2(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); ++nevents; @@ -907,12 +921,13 @@ sd_event2(isc_task_t *task, isc_event_t *event) { } static void -shutdown(void **state) { - isc_result_t result; +shutdown(void **state) +{ + isc_result_t result; isc_eventtype_t event_type; - isc_event_t *event = NULL; - isc_task_t *task = NULL; - int i; + isc_event_t * event = NULL; + isc_task_t * task = NULL; + int i; UNUSED(state); @@ -929,8 +944,8 @@ shutdown(void **state) { /* * This event causes the task to wait on cv. */ - event = isc_event_allocate(test_mctx, &senders[1], event_type, sd_event1, - NULL, sizeof(*event)); + event = isc_event_allocate(test_mctx, &senders[1], event_type, + sd_event1, NULL, sizeof(*event)); assert_non_null(event); isc_task_send(task, &event); @@ -976,7 +991,8 @@ shutdown(void **state) { * isc_task_onshutdown() will return ISC_R_SHUTTINGDOWN. */ static void -psd_event1(isc_task_t *task, isc_event_t *event) { +psd_event1(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); LOCK(&lock); @@ -991,18 +1007,20 @@ psd_event1(isc_task_t *task, isc_event_t *event) { } static void -psd_sde(isc_task_t *task, isc_event_t *event) { +psd_sde(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); isc_event_free(&event); } static void -post_shutdown(void **state) { - isc_result_t result; +post_shutdown(void **state) +{ + isc_result_t result; isc_eventtype_t event_type; - isc_event_t *event; - isc_task_t *task; + isc_event_t * event; + isc_task_t * task; UNUSED(state); @@ -1020,8 +1038,8 @@ post_shutdown(void **state) { /* * This event causes the task to wait on cv. */ - event = isc_event_allocate(test_mctx, &senders[1], event_type, psd_event1, - NULL, sizeof(*event)); + event = isc_event_allocate(test_mctx, &senders[1], event_type, + psd_event1, NULL, sizeof(*event)); assert_non_null(event); isc_task_send(task, &event); @@ -1045,22 +1063,23 @@ post_shutdown(void **state) { * Helper for the purge tests below: */ -#define SENDERCNT 3 -#define TYPECNT 4 -#define TAGCNT 5 -#define NEVENTS (SENDERCNT * TYPECNT * TAGCNT) +#define SENDERCNT 3 +#define TYPECNT 4 +#define TAGCNT 5 +#define NEVENTS (SENDERCNT * TYPECNT * TAGCNT) -static bool testrange; -static void *purge_sender; +static bool testrange; +static void * purge_sender; static isc_eventtype_t purge_type_first; static isc_eventtype_t purge_type_last; -static void *purge_tag; -static int eventcnt; +static void * purge_tag; +static int eventcnt; atomic_bool started; static void -pg_event1(isc_task_t *task, isc_event_t *event) { +pg_event1(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); LOCK(&lock); @@ -1073,7 +1092,8 @@ pg_event1(isc_task_t *task, isc_event_t *event) { } static void -pg_event2(isc_task_t *task, isc_event_t *event) { +pg_event2(isc_task_t *task, isc_event_t *event) +{ bool sender_match = false; bool type_match = false; bool tag_match = false; @@ -1086,8 +1106,7 @@ pg_event2(isc_task_t *task, isc_event_t *event) { if (testrange) { if ((purge_type_first <= event->ev_type) && - (event->ev_type <= purge_type_last)) - { + (event->ev_type <= purge_type_last)) { type_match = true; } } else { @@ -1124,7 +1143,8 @@ pg_event2(isc_task_t *task, isc_event_t *event) { } static void -pg_sde(isc_task_t *task, isc_event_t *event) { +pg_sde(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); LOCK(&lock); @@ -1136,15 +1156,16 @@ pg_sde(isc_task_t *task, isc_event_t *event) { } static void -test_purge(int sender, int type, int tag, int exp_purged) { - isc_result_t result; - isc_task_t *task = NULL; - isc_event_t *eventtab[NEVENTS]; - isc_event_t *event = NULL; +test_purge(int sender, int type, int tag, int exp_purged) +{ + isc_result_t result; + isc_task_t * task = NULL; + isc_event_t * eventtab[NEVENTS]; + isc_event_t * event = NULL; isc_interval_t interval; - isc_time_t now; - int sender_cnt, type_cnt, tag_cnt, event_cnt, i; - int purged = 0; + isc_time_t now; + int sender_cnt, type_cnt, tag_cnt, event_cnt, i; + int purged = 0; atomic_init(&started, false); atomic_init(&done, false); @@ -1161,8 +1182,8 @@ test_purge(int sender, int type, int tag, int exp_purged) { /* * Block the task on cv. */ - event = isc_event_allocate(test_mctx, (void *)1, 9999, - pg_event1, NULL, sizeof(*event)); + event = isc_event_allocate(test_mctx, (void *)1, 9999, pg_event1, NULL, + sizeof(*event)); assert_non_null(event); isc_task_send(task, &event); @@ -1175,11 +1196,11 @@ test_purge(int sender, int type, int tag, int exp_purged) { for (sender_cnt = 0; sender_cnt < SENDERCNT; ++sender_cnt) { for (type_cnt = 0; type_cnt < TYPECNT; ++type_cnt) { for (tag_cnt = 0; tag_cnt < TAGCNT; ++tag_cnt) { - eventtab[event_cnt] = - isc_event_allocate(test_mctx, - &senders[sender + sender_cnt], - (isc_eventtype_t)(type + type_cnt), - pg_event2, NULL, sizeof(*event)); + eventtab[event_cnt] = isc_event_allocate( + test_mctx, + &senders[sender + sender_cnt], + (isc_eventtype_t)(type + type_cnt), + pg_event2, NULL, sizeof(*event)); assert_non_null(eventtab[event_cnt]); @@ -1194,8 +1215,7 @@ test_purge(int sender, int type, int tag, int exp_purged) { */ if (((sender_cnt % 2) != 0) && ((type_cnt % 2) != 0) && - ((tag_cnt % 2) != 0)) - { + ((tag_cnt % 2) != 0)) { eventtab[event_cnt]->ev_attributes |= ISC_EVENTATTR_NOPURGE; } @@ -1212,26 +1232,24 @@ test_purge(int sender, int type, int tag, int exp_purged) { /* * We're testing isc_task_purgerange. */ - purged = isc_task_purgerange(task, purge_sender, - (isc_eventtype_t)purge_type_first, - (isc_eventtype_t)purge_type_last, - purge_tag); + purged = isc_task_purgerange( + task, purge_sender, (isc_eventtype_t)purge_type_first, + (isc_eventtype_t)purge_type_last, purge_tag); assert_int_equal(purged, exp_purged); } else { /* * We're testing isc_task_purge. */ if (verbose) { - print_message("# purge events %p,%u,%p\n", - purge_sender, purge_type_first, - purge_tag); + print_message("# purge events %p,%u,%p\n", purge_sender, + purge_type_first, purge_tag); } purged = isc_task_purge(task, purge_sender, (isc_eventtype_t)purge_type_first, purge_tag); if (verbose) { - print_message("# purged %d expected %d\n", - purged, exp_purged); + print_message("# purged %d expected %d\n", purged, + exp_purged); } assert_int_equal(purged, exp_purged); @@ -1272,7 +1290,8 @@ test_purge(int sender, int type, int tag, int exp_purged) { * from the task's " queue and returns the number of events purged. */ static void -purge(void **state) { +purge(void **state) +{ UNUSED(state); /* Try purging on a specific sender. */ @@ -1340,7 +1359,8 @@ purge(void **state) { */ static void -purgerange(void **state) { +purgerange(void **state) +{ UNUSED(state); /* Now let's try some ranges. */ @@ -1401,7 +1421,8 @@ purgerange(void **state) { * Helpers for purge event tests */ static void -pge_event1(isc_task_t *task, isc_event_t *event) { +pge_event1(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); LOCK(&lock); @@ -1414,16 +1435,17 @@ pge_event1(isc_task_t *task, isc_event_t *event) { } static void -pge_event2(isc_task_t *task, isc_event_t *event) { +pge_event2(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); ++eventcnt; isc_event_free(&event); } - static void -pge_sde(isc_task_t *task, isc_event_t *event) { +pge_sde(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); LOCK(&lock); @@ -1435,14 +1457,16 @@ pge_sde(isc_task_t *task, isc_event_t *event) { } static void -try_purgeevent(bool purgeable) { - isc_result_t result; - isc_task_t *task = NULL; - bool purged; +try_purgeevent(bool purgeable) +{ + isc_result_t result; + isc_task_t * task = NULL; + bool purged; isc_event_t *event1 = NULL; isc_event_t *event2 = NULL; - isc_event_t *event2_clone = NULL;; - isc_time_t now; + isc_event_t *event2_clone = NULL; + ; + isc_time_t now; isc_interval_t interval; atomic_init(&started, false); @@ -1518,7 +1542,8 @@ try_purgeevent(bool purgeable) { */ static void -purgeevent(void **state) { +purgeevent(void **state) +{ UNUSED(state); try_purgeevent(true); @@ -1532,34 +1557,37 @@ purgeevent(void **state) { */ static void -purgeevent_notpurge(void **state) { +purgeevent_notpurge(void **state) +{ UNUSED(state); try_purgeevent(false); } int -main(int argc, char **argv) { +main(int argc, char **argv) +{ const struct CMUnitTest tests[] = { cmocka_unit_test_setup_teardown(create_task, _setup, _teardown), cmocka_unit_test_setup_teardown(shutdown, _setup4, _teardown), cmocka_unit_test(manytasks), cmocka_unit_test_setup_teardown(all_events, _setup, _teardown), cmocka_unit_test_setup_teardown(basic, _setup2, _teardown), - cmocka_unit_test_setup_teardown(privileged_events, - _setup, _teardown), - cmocka_unit_test_setup_teardown(privilege_drop, - _setup, _teardown), - cmocka_unit_test_setup_teardown(task_exclusive, - _setup4, _teardown), - cmocka_unit_test_setup_teardown(post_shutdown, - _setup2, _teardown), + cmocka_unit_test_setup_teardown(privileged_events, _setup, + _teardown), + cmocka_unit_test_setup_teardown(privilege_drop, _setup, + _teardown), + cmocka_unit_test_setup_teardown(task_exclusive, _setup4, + _teardown), + cmocka_unit_test_setup_teardown(post_shutdown, _setup2, + _teardown), cmocka_unit_test_setup_teardown(purge, _setup2, _teardown), cmocka_unit_test_setup_teardown(purgerange, _setup, _teardown), cmocka_unit_test_setup_teardown(purgeevent, _setup2, _teardown), - cmocka_unit_test_setup_teardown(purgeevent_notpurge, - _setup, _teardown), - cmocka_unit_test_setup_teardown(pause_unpause, _setup, _teardown), + cmocka_unit_test_setup_teardown(purgeevent_notpurge, _setup, + _teardown), + cmocka_unit_test_setup_teardown(pause_unpause, _setup, + _teardown), }; int c; @@ -1573,7 +1601,6 @@ main(int argc, char **argv) { } } - return (cmocka_run_group_tests(tests, NULL, NULL)); } @@ -1582,7 +1609,8 @@ main(int argc, char **argv) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/taskpool_test.c b/lib/isc/tests/taskpool_test.c index 9621690bb5..cd751f29df 100644 --- a/lib/isc/tests/taskpool_test.c +++ b/lib/isc/tests/taskpool_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -30,7 +29,8 @@ #include "isctest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -42,7 +42,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); isc_test_end(); @@ -52,8 +53,9 @@ _teardown(void **state) { /* Create a taskpool */ static void -create_pool(void **state) { - isc_result_t result; +create_pool(void **state) +{ + isc_result_t result; isc_taskpool_t *pool = NULL; UNUSED(state); @@ -68,8 +70,9 @@ create_pool(void **state) { /* Resize a taskpool */ static void -expand_pool(void **state) { - isc_result_t result; +expand_pool(void **state) +{ + isc_result_t result; isc_taskpool_t *pool1 = NULL, *pool2 = NULL, *hold = NULL; UNUSED(state); @@ -112,10 +115,11 @@ expand_pool(void **state) { /* Get tasks */ static void -get_tasks(void **state) { - isc_result_t result; +get_tasks(void **state) +{ + isc_result_t result; isc_taskpool_t *pool = NULL; - isc_task_t *task1 = NULL, *task2 = NULL, *task3 = NULL; + isc_task_t * task1 = NULL, *task2 = NULL, *task3 = NULL; UNUSED(state); @@ -143,10 +147,11 @@ get_tasks(void **state) { /* Set privileges */ static void -set_privilege(void **state) { - isc_result_t result; +set_privilege(void **state) +{ + isc_result_t result; isc_taskpool_t *pool = NULL; - isc_task_t *task1 = NULL, *task2 = NULL, *task3 = NULL; + isc_task_t * task1 = NULL, *task2 = NULL, *task3 = NULL; UNUSED(state); @@ -183,16 +188,14 @@ set_privilege(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(create_pool, - _setup, _teardown), - cmocka_unit_test_setup_teardown(expand_pool, - _setup, _teardown), - cmocka_unit_test_setup_teardown(get_tasks, - _setup, _teardown), - cmocka_unit_test_setup_teardown(set_privilege, - _setup, _teardown), + cmocka_unit_test_setup_teardown(create_pool, _setup, _teardown), + cmocka_unit_test_setup_teardown(expand_pool, _setup, _teardown), + cmocka_unit_test_setup_teardown(get_tasks, _setup, _teardown), + cmocka_unit_test_setup_teardown(set_privilege, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -203,7 +206,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/time_test.c b/lib/isc/tests/time_test.c index 6bc19c9178..51e2811f25 100644 --- a/lib/isc/tests/time_test.c +++ b/lib/isc/tests/time_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -23,16 +22,17 @@ #define UNIT_TESTING #include -#include #include +#include #include /* parse http time stamp */ static void -isc_time_parsehttptimestamp_test(void **state) { +isc_time_parsehttptimestamp_test(void **state) +{ isc_result_t result; - isc_time_t t, x; - char buf[ISC_FORMATHTTPTIMESTAMP_SIZE]; + isc_time_t t, x; + char buf[ISC_FORMATHTTPTIMESTAMP_SIZE]; UNUSED(state); @@ -48,10 +48,11 @@ isc_time_parsehttptimestamp_test(void **state) { /* print UTC in ISO8601 */ static void -isc_time_formatISO8601_test(void **state) { +isc_time_formatISO8601_test(void **state) +{ isc_result_t result; - isc_time_t t; - char buf[64]; + isc_time_t t; + char buf[64]; UNUSED(state); @@ -84,10 +85,11 @@ isc_time_formatISO8601_test(void **state) { /* print UTC in ISO8601 with milliseconds */ static void -isc_time_formatISO8601ms_test(void **state) { +isc_time_formatISO8601ms_test(void **state) +{ isc_result_t result; - isc_time_t t; - char buf[64]; + isc_time_t t; + char buf[64]; UNUSED(state); @@ -121,10 +123,11 @@ isc_time_formatISO8601ms_test(void **state) { /* print local time in ISO8601 */ static void -isc_time_formatISO8601L_test(void **state) { +isc_time_formatISO8601L_test(void **state) +{ isc_result_t result; - isc_time_t t; - char buf[64]; + isc_time_t t; + char buf[64]; UNUSED(state); @@ -156,10 +159,11 @@ isc_time_formatISO8601L_test(void **state) { /* print local time in ISO8601 with milliseconds */ static void -isc_time_formatISO8601Lms_test(void **state) { +isc_time_formatISO8601Lms_test(void **state) +{ isc_result_t result; - isc_time_t t; - char buf[64]; + isc_time_t t; + char buf[64]; UNUSED(state); @@ -192,10 +196,11 @@ isc_time_formatISO8601Lms_test(void **state) { /* print UTC time as yyyymmddhhmmsssss */ static void -isc_time_formatshorttimestamp_test(void **state) { +isc_time_formatshorttimestamp_test(void **state) +{ isc_result_t result; - isc_time_t t; - char buf[64]; + isc_time_t t; + char buf[64]; UNUSED(state); @@ -221,7 +226,8 @@ isc_time_formatshorttimestamp_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(isc_time_parsehttptimestamp_test), cmocka_unit_test(isc_time_formatISO8601_test), @@ -239,7 +245,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/tests/timer_test.c b/lib/isc/tests/timer_test.c index 190bcaf6b0..43ce290641 100644 --- a/lib/isc/tests/timer_test.c +++ b/lib/isc/tests/timer_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -24,8 +23,8 @@ #include #include -#include #include +#include #include #include #include @@ -34,30 +33,30 @@ #include #include -#include "isctest.h" - #include "../timer.c" +#include "isctest.h" /* Set to true (or use -v option) for verbose output */ static bool verbose = false; -#define FUDGE_SECONDS 0 /* in absence of clock_getres() */ -#define FUDGE_NANOSECONDS 500000000 /* in absence of clock_getres() */ +#define FUDGE_SECONDS 0 /* in absence of clock_getres() */ +#define FUDGE_NANOSECONDS 500000000 /* in absence of clock_getres() */ -static isc_timer_t *timer = NULL; -static isc_condition_t cv; -static isc_mutex_t mx; -static isc_time_t endtime; -static isc_mutex_t lasttime_mx; -static isc_time_t lasttime; -static int seconds; -static int nanoseconds; -static atomic_int_fast32_t eventcnt; +static isc_timer_t * timer = NULL; +static isc_condition_t cv; +static isc_mutex_t mx; +static isc_time_t endtime; +static isc_mutex_t lasttime_mx; +static isc_time_t lasttime; +static int seconds; +static int nanoseconds; +static atomic_int_fast32_t eventcnt; static atomic_uint_fast32_t errcnt; -static int nevents; +static int nevents; static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -72,7 +71,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); isc_test_end(); @@ -81,7 +81,8 @@ _teardown(void **state) { } static void -shutdown(isc_task_t *task, isc_event_t *event) { +shutdown(isc_task_t *task, isc_event_t *event) +{ isc_result_t result; UNUSED(task); @@ -107,7 +108,7 @@ setup_test(isc_timertype_t timertype, isc_time_t *expires, void (*action)(isc_task_t *, isc_event_t *)) { isc_result_t result; - isc_task_t *task = NULL; + isc_task_t * task = NULL; isc_time_settoepoch(&endtime); atomic_init(&eventcnt, 0); @@ -129,9 +130,8 @@ setup_test(isc_timertype_t timertype, isc_time_t *expires, isc_mutex_unlock(&lasttime_mx); assert_int_equal(result, ISC_R_SUCCESS); - result = isc_timer_create(timermgr, timertype, expires, interval, - task, action, (void *)timertype, - &timer); + result = isc_timer_create(timermgr, timertype, expires, interval, task, + action, (void *)timertype, &timer); assert_int_equal(result, ISC_R_SUCCESS); /* @@ -148,45 +148,49 @@ setup_test(isc_timertype_t timertype, isc_time_t *expires, isc_task_detach(&task); isc_mutex_destroy(&mx); - (void) isc_condition_destroy(&cv); + (void)isc_condition_destroy(&cv); } static void -set_global_error(isc_result_t result) { - (void)atomic_compare_exchange_strong(&errcnt, - &(uint_fast32_t){ ISC_R_SUCCESS }, - result); +set_global_error(isc_result_t result) +{ + (void)atomic_compare_exchange_strong( + &errcnt, &(uint_fast32_t){ ISC_R_SUCCESS }, result); } static void -subthread_assert_true(bool expected) { +subthread_assert_true(bool expected) +{ if (!expected) { set_global_error(ISC_R_UNEXPECTED); } } static void -subthread_assert_int_equal(int observed, int expected) { +subthread_assert_int_equal(int observed, int expected) +{ if (observed != expected) { set_global_error(ISC_R_UNEXPECTED); } } static void -subthread_assert_result_equal(isc_result_t result, isc_result_t expected) { +subthread_assert_result_equal(isc_result_t result, isc_result_t expected) +{ if (result != expected) { set_global_error(result); } } static void -ticktock(isc_task_t *task, isc_event_t *event) { - isc_result_t result; - isc_time_t now; - isc_time_t base; - isc_time_t ulim; - isc_time_t llim; - isc_interval_t interval; +ticktock(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result; + isc_time_t now; + isc_time_t base; + isc_time_t ulim; + isc_time_t llim; + isc_interval_t interval; isc_eventtype_t expected_event_type; int tick = atomic_fetch_add(&eventcnt, 1); @@ -196,7 +200,7 @@ ticktock(isc_task_t *task, isc_event_t *event) { } expected_event_type = ISC_TIMEREVENT_LIFE; - if ((isc_timertype_t) event->ev_arg == isc_timertype_ticker) { + if ((isc_timertype_t)event->ev_arg == isc_timertype_ticker) { expected_event_type = ISC_TIMEREVENT_TICK; } @@ -246,8 +250,9 @@ ticktock(isc_task_t *task, isc_event_t *event) { /* timer type ticker */ static void -ticker(void **state) { - isc_time_t expires; +ticker(void **state) +{ + isc_time_t expires; isc_interval_t interval; UNUSED(state); @@ -264,9 +269,10 @@ ticker(void **state) { /* timer type once reaches lifetime */ static void -once_life(void **state) { - isc_result_t result; - isc_time_t expires; +once_life(void **state) +{ + isc_result_t result; + isc_time_t expires; isc_interval_t interval; UNUSED(state); @@ -285,12 +291,13 @@ once_life(void **state) { } static void -test_idle(isc_task_t *task, isc_event_t *event) { - isc_result_t result; - isc_time_t now; - isc_time_t base; - isc_time_t ulim; - isc_time_t llim; +test_idle(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result; + isc_time_t now; + isc_time_t base; + isc_time_t ulim; + isc_time_t llim; isc_interval_t interval; int tick = atomic_fetch_add(&eventcnt, 1); @@ -332,9 +339,10 @@ test_idle(isc_task_t *task, isc_event_t *event) { /* timer type once idles out */ static void -once_idle(void **state) { - isc_result_t result; - isc_time_t expires; +once_idle(void **state) +{ + isc_result_t result; + isc_time_t expires; isc_interval_t interval; UNUSED(state); @@ -354,13 +362,14 @@ once_idle(void **state) { /* timer reset */ static void -test_reset(isc_task_t *task, isc_event_t *event) { - isc_result_t result; - isc_time_t now; - isc_time_t base; - isc_time_t ulim; - isc_time_t llim; - isc_time_t expires; +test_reset(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result; + isc_time_t now; + isc_time_t base; + isc_time_t ulim; + isc_time_t llim; + isc_time_t expires; isc_interval_t interval; int tick = atomic_fetch_add(&eventcnt, 1); @@ -392,7 +401,8 @@ test_reset(isc_task_t *task, isc_event_t *event) { subthread_assert_true(isc_time_compare(&llim, &now) <= 0); subthread_assert_true(isc_time_compare(&ulim, &now) >= 0); - isc_interval_set(&interval, 0, 0); isc_mutex_lock(&lasttime_mx); + isc_interval_set(&interval, 0, 0); + isc_mutex_lock(&lasttime_mx); isc_time_add(&now, &interval, &lasttime); isc_mutex_unlock(&lasttime_mx); @@ -408,8 +418,7 @@ test_reset(isc_task_t *task, isc_event_t *event) { isc_interval_set(&interval, 0, 0); result = isc_timer_reset(timer, isc_timertype_once, - &expires, &interval, - false); + &expires, &interval, false); subthread_assert_result_equal(result, ISC_R_SUCCESS); } } else { @@ -423,8 +432,9 @@ test_reset(isc_task_t *task, isc_event_t *event) { } static void -reset(void **state) { - isc_time_t expires; +reset(void **state) +{ + isc_time_t expires; isc_interval_t interval; UNUSED(state); @@ -439,12 +449,12 @@ reset(void **state) { setup_test(isc_timertype_ticker, &expires, &interval, test_reset); } -static int startflag; -static int shutdownflag; +static int startflag; +static int shutdownflag; static isc_timer_t *tickertimer = NULL; static isc_timer_t *oncetimer = NULL; -static isc_task_t *task1 = NULL; -static isc_task_t *task2 = NULL; +static isc_task_t * task1 = NULL; +static isc_task_t * task2 = NULL; /* * task1 blocks on mx while events accumulate @@ -452,7 +462,8 @@ static isc_task_t *task2 = NULL; */ static void -start_event(isc_task_t *task, isc_event_t *event) { +start_event(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); if (verbose) { @@ -460,8 +471,8 @@ start_event(isc_task_t *task, isc_event_t *event) { } LOCK(&mx); - while (! startflag) { - (void) isc_condition_wait(&cv, &mx); + while (!startflag) { + (void)isc_condition_wait(&cv, &mx); } UNLOCK(&mx); @@ -469,9 +480,10 @@ start_event(isc_task_t *task, isc_event_t *event) { } static void -tick_event(isc_task_t *task, isc_event_t *event) { - isc_result_t result; - isc_time_t expires; +tick_event(isc_task_t *task, isc_event_t *event) +{ + isc_result_t result; + isc_time_t expires; isc_interval_t interval; UNUSED(task); @@ -499,7 +511,8 @@ tick_event(isc_task_t *task, isc_event_t *event) { } static void -once_event(isc_task_t *task, isc_event_t *event) { +once_event(isc_task_t *task, isc_event_t *event) +{ isc_result_t result; if (verbose) { @@ -521,7 +534,8 @@ once_event(isc_task_t *task, isc_event_t *event) { } static void -shutdown_purge(isc_task_t *task, isc_event_t *event) { +shutdown_purge(isc_task_t *task, isc_event_t *event) +{ isc_result_t result; UNUSED(task); @@ -546,10 +560,11 @@ shutdown_purge(isc_task_t *task, isc_event_t *event) { /* timer events purged */ static void -purge(void **state) { - isc_result_t result; - isc_event_t *event = NULL; - isc_time_t expires; +purge(void **state) +{ + isc_result_t result; + isc_event_t * event = NULL; + isc_time_t expires; isc_interval_t interval; UNUSED(state); @@ -575,7 +590,7 @@ purge(void **state) { LOCK(&mx); - event = isc_event_allocate(test_mctx, (void *)1 , (isc_eventtype_t)1, + event = isc_event_allocate(test_mctx, (void *)1, (isc_eventtype_t)1, start_event, NULL, sizeof(*event)); assert_non_null(event); isc_task_send(task1, &event); @@ -584,9 +599,9 @@ purge(void **state) { isc_interval_set(&interval, seconds, 0); tickertimer = NULL; - result = isc_timer_create(timermgr, isc_timertype_ticker, - &expires, &interval, task1, - tick_event, NULL, &tickertimer); + result = isc_timer_create(timermgr, isc_timertype_ticker, &expires, + &interval, task1, tick_event, NULL, + &tickertimer); assert_int_equal(result, ISC_R_SUCCESS); oncetimer = NULL; @@ -596,15 +611,15 @@ purge(void **state) { assert_int_equal(result, ISC_R_SUCCESS); isc_interval_set(&interval, 0, 0); - result = isc_timer_create(timermgr, isc_timertype_once, - &expires, &interval, task2, - once_event, NULL, &oncetimer); + result = isc_timer_create(timermgr, isc_timertype_once, &expires, + &interval, task2, once_event, NULL, + &oncetimer); assert_int_equal(result, ISC_R_SUCCESS); /* * Wait for shutdown processing to complete. */ - while (! shutdownflag) { + while (!shutdownflag) { result = isc_condition_wait(&cv, &mx); assert_int_equal(result, ISC_R_SUCCESS); } @@ -623,12 +638,11 @@ purge(void **state) { } int -main(int argc, char **argv) { +main(int argc, char **argv) +{ const struct CMUnitTest tests[] = { - cmocka_unit_test(ticker), - cmocka_unit_test(once_life), - cmocka_unit_test(once_idle), - cmocka_unit_test(reset), + cmocka_unit_test(ticker), cmocka_unit_test(once_life), + cmocka_unit_test(once_idle), cmocka_unit_test(reset), cmocka_unit_test(purge), }; int c; @@ -651,7 +665,8 @@ main(int argc, char **argv) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isc/timer.c b/lib/isc/timer.c index 7e56d6df1e..674eef1024 100644 --- a/lib/isc/timer.c +++ b/lib/isc/timer.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -35,14 +34,16 @@ #endif #ifdef ISC_TIMER_TRACE -#define XTRACE(s) fprintf(stderr, "%s\n", (s)) -#define XTRACEID(s, t) fprintf(stderr, "%s %p\n", (s), (t)) -#define XTRACETIME(s, d) fprintf(stderr, "%s %u.%09u\n", (s), \ - (d).seconds, (d).nanoseconds) -#define XTRACETIME2(s, d, n) fprintf(stderr, "%s %u.%09u %u.%09u\n", (s), \ - (d).seconds, (d).nanoseconds, (n).seconds, (n).nanoseconds) -#define XTRACETIMER(s, t, d) fprintf(stderr, "%s %p %u.%09u\n", (s), (t), \ - (d).seconds, (d).nanoseconds) +#define XTRACE(s) fprintf(stderr, "%s\n", (s)) +#define XTRACEID(s, t) fprintf(stderr, "%s %p\n", (s), (t)) +#define XTRACETIME(s, d) \ + fprintf(stderr, "%s %u.%09u\n", (s), (d).seconds, (d).nanoseconds) +#define XTRACETIME2(s, d, n) \ + fprintf(stderr, "%s %u.%09u %u.%09u\n", (s), (d).seconds, \ + (d).nanoseconds, (n).seconds, (n).nanoseconds) +#define XTRACETIMER(s, t, d) \ + fprintf(stderr, "%s %p %u.%09u\n", (s), (t), (d).seconds, \ + (d).nanoseconds) #else #define XTRACE(s) #define XTRACEID(s, t) @@ -51,59 +52,60 @@ #define XTRACETIMER(s, t, d) #endif /* ISC_TIMER_TRACE */ -#define TIMER_MAGIC ISC_MAGIC('T', 'I', 'M', 'R') -#define VALID_TIMER(t) ISC_MAGIC_VALID(t, TIMER_MAGIC) +#define TIMER_MAGIC ISC_MAGIC('T', 'I', 'M', 'R') +#define VALID_TIMER(t) ISC_MAGIC_VALID(t, TIMER_MAGIC) -typedef struct isc__timer isc__timer_t; +typedef struct isc__timer isc__timer_t; typedef struct isc__timermgr isc__timermgr_t; struct isc__timer { /*! Not locked. */ - isc_timer_t common; - isc__timermgr_t * manager; - isc_mutex_t lock; - isc_refcount_t references; + isc_timer_t common; + isc__timermgr_t *manager; + isc_mutex_t lock; + isc_refcount_t references; /*! Locked by timer lock. */ - isc_time_t idle; + isc_time_t idle; /*! Locked by manager lock. */ - isc_timertype_t type; - isc_time_t expires; - isc_interval_t interval; - isc_task_t * task; - isc_taskaction_t action; - void * arg; - unsigned int index; - isc_time_t due; - LINK(isc__timer_t) link; + isc_timertype_t type; + isc_time_t expires; + isc_interval_t interval; + isc_task_t * task; + isc_taskaction_t action; + void * arg; + unsigned int index; + isc_time_t due; + LINK(isc__timer_t) link; }; -#define TIMER_MANAGER_MAGIC ISC_MAGIC('T', 'I', 'M', 'M') -#define VALID_MANAGER(m) ISC_MAGIC_VALID(m, TIMER_MANAGER_MAGIC) +#define TIMER_MANAGER_MAGIC ISC_MAGIC('T', 'I', 'M', 'M') +#define VALID_MANAGER(m) ISC_MAGIC_VALID(m, TIMER_MANAGER_MAGIC) struct isc__timermgr { /* Not locked. */ - isc_timermgr_t common; - isc_mem_t * mctx; - isc_mutex_t lock; + isc_timermgr_t common; + isc_mem_t * mctx; + isc_mutex_t lock; /* Locked by manager lock. */ - bool done; - LIST(isc__timer_t) timers; - unsigned int nscheduled; - isc_time_t due; - isc_condition_t wakeup; - isc_thread_t thread; - isc_heap_t * heap; + bool done; + LIST(isc__timer_t) timers; + unsigned int nscheduled; + isc_time_t due; + isc_condition_t wakeup; + isc_thread_t thread; + isc_heap_t * heap; }; void isc_timermgr_poke(isc_timermgr_t *manager0); static inline isc_result_t -schedule(isc__timer_t *timer, isc_time_t *now, bool signal_ok) { - isc_result_t result; +schedule(isc__timer_t *timer, isc_time_t *now, bool signal_ok) +{ + isc_result_t result; isc__timermgr_t *manager; - isc_time_t due; - int cmp; + isc_time_t due; + int cmp; /*! * Note: the caller must ensure locking. @@ -183,8 +185,9 @@ schedule(isc__timer_t *timer, isc_time_t *now, bool signal_ok) { } static inline void -deschedule(isc__timer_t *timer) { - bool need_wakeup = false; +deschedule(isc__timer_t *timer) +{ + bool need_wakeup = false; isc__timermgr_t *manager; /* @@ -207,7 +210,8 @@ deschedule(isc__timer_t *timer) { } static void -destroy(isc__timer_t *timer) { +destroy(isc__timer_t *timer) +{ isc__timermgr_t *manager = timer->manager; /* @@ -216,11 +220,8 @@ destroy(isc__timer_t *timer) { LOCK(&manager->lock); - (void)isc_task_purgerange(timer->task, - timer, - ISC_TIMEREVENT_FIRSTEVENT, - ISC_TIMEREVENT_LASTEVENT, - NULL); + (void)isc_task_purgerange(timer->task, timer, ISC_TIMEREVENT_FIRSTEVENT, + ISC_TIMEREVENT_LASTEVENT, NULL); deschedule(timer); UNLINK(manager->timers, timer, link); @@ -244,9 +245,9 @@ isc_timer_create(isc_timermgr_t *manager0, isc_timertype_t type, REQUIRE(action != NULL); isc__timermgr_t *manager; - isc__timer_t *timer; - isc_result_t result; - isc_time_t now; + isc__timer_t * timer; + isc_result_t result; + isc_time_t now; /* * Create a new 'type' timer managed by 'manager'. The timers @@ -280,7 +281,6 @@ isc_timer_create(isc_timermgr_t *manager0, isc_timertype_t type, isc_time_settoepoch(&now); } - timer = isc_mem_get(manager->mctx, sizeof(*timer)); timer->manager = manager; @@ -350,13 +350,13 @@ isc_timer_create(isc_timermgr_t *manager0, isc_timertype_t type, isc_result_t isc_timer_reset(isc_timer_t *timer0, isc_timertype_t type, - const isc_time_t *expires, const isc_interval_t *interval, - bool purge) + const isc_time_t *expires, const isc_interval_t *interval, + bool purge) { - isc__timer_t *timer; - isc_time_t now; + isc__timer_t * timer; + isc_time_t now; isc__timermgr_t *manager; - isc_result_t result; + isc_result_t result; /* * Change the timer's type, expires, and interval values to the given @@ -396,11 +396,9 @@ isc_timer_reset(isc_timer_t *timer0, isc_timertype_t type, LOCK(&timer->lock); if (purge) - (void)isc_task_purgerange(timer->task, - timer, + (void)isc_task_purgerange(timer->task, timer, ISC_TIMEREVENT_FIRSTEVENT, - ISC_TIMEREVENT_LASTEVENT, - NULL); + ISC_TIMEREVENT_LASTEVENT, NULL); timer->type = type; timer->expires = *expires; timer->interval = *interval; @@ -426,8 +424,9 @@ isc_timer_reset(isc_timer_t *timer0, isc_timertype_t type, } isc_timertype_t -isc_timer_gettype(isc_timer_t *timer0) { - isc__timer_t *timer; +isc_timer_gettype(isc_timer_t *timer0) +{ + isc__timer_t * timer; isc_timertype_t t; REQUIRE(VALID_TIMER(timer0)); @@ -441,10 +440,11 @@ isc_timer_gettype(isc_timer_t *timer0) { } isc_result_t -isc_timer_touch(isc_timer_t *timer0) { +isc_timer_touch(isc_timer_t *timer0) +{ isc__timer_t *timer; - isc_result_t result; - isc_time_t now; + isc_result_t result; + isc_time_t now; /* * Set the last-touched time of 'timer' to the current time. @@ -473,7 +473,8 @@ isc_timer_touch(isc_timer_t *timer0) { } void -isc_timer_attach(isc_timer_t *timer0, isc_timer_t **timerp) { +isc_timer_attach(isc_timer_t *timer0, isc_timer_t **timerp) +{ isc__timer_t *timer; /* @@ -489,7 +490,8 @@ isc_timer_attach(isc_timer_t *timer0, isc_timer_t **timerp) { } void -isc_timer_detach(isc_timer_t **timerp) { +isc_timer_detach(isc_timer_t **timerp) +{ isc__timer_t *timer; /* @@ -508,13 +510,14 @@ isc_timer_detach(isc_timer_t **timerp) { } static void -dispatch(isc__timermgr_t *manager, isc_time_t *now) { - bool done = false, post_event, need_schedule; +dispatch(isc__timermgr_t *manager, isc_time_t *now) +{ + bool done = false, post_event, need_schedule; isc_timerevent_t *event; - isc_eventtype_t type = 0; - isc__timer_t *timer; - isc_result_t result; - bool idle; + isc_eventtype_t type = 0; + isc__timer_t * timer; + isc_result_t result; + bool idle; /*! * The caller must be holding the manager lock. @@ -541,8 +544,8 @@ dispatch(isc__timermgr_t *manager, isc_time_t *now) { need_schedule = true; } } else if (!isc_time_isepoch(&timer->expires) && - isc_time_compare(now, - &timer->expires) >= 0) { + isc_time_compare(now, &timer->expires) >= + 0) { type = ISC_TIMEREVENT_LIFE; post_event = true; need_schedule = false; @@ -551,8 +554,7 @@ dispatch(isc__timermgr_t *manager, isc_time_t *now) { LOCK(&timer->lock); if (!isc_time_isepoch(&timer->idle) && - isc_time_compare(now, - &timer->idle) >= 0) { + isc_time_compare(now, &timer->idle) >= 0) { idle = true; } UNLOCK(&timer->lock); @@ -576,20 +578,20 @@ dispatch(isc__timermgr_t *manager, isc_time_t *now) { /* * XXX We could preallocate this event. */ - event = (isc_timerevent_t *)isc_event_allocate(manager->mctx, - timer, - type, - timer->action, - timer->arg, - sizeof(*event)); + event = (isc_timerevent_t *)isc_event_allocate( + manager->mctx, timer, type, + timer->action, timer->arg, + sizeof(*event)); if (event != NULL) { event->due = timer->due; isc_task_send(timer->task, ISC_EVENT_PTR(&event)); } else - UNEXPECTED_ERROR(__FILE__, __LINE__, "%s", - "couldn't allocate event"); + UNEXPECTED_ERROR(__FILE__, __LINE__, + "%s", + "couldn't allocate " + "event"); } timer->index = 0; @@ -601,7 +603,8 @@ dispatch(isc__timermgr_t *manager, isc_time_t *now) { if (result != ISC_R_SUCCESS) UNEXPECTED_ERROR(__FILE__, __LINE__, "%s: %u", - "couldn't schedule timer", + "couldn't schedule " + "timer", result); } } else { @@ -612,13 +615,14 @@ dispatch(isc__timermgr_t *manager, isc_time_t *now) { } static isc_threadresult_t -#ifdef _WIN32 /* XXXDCL */ -WINAPI +#ifdef _WIN32 /* XXXDCL */ + WINAPI #endif -run(void *uap) { + run(void *uap) +{ isc__timermgr_t *manager = uap; - isc_time_t now; - isc_result_t result; + isc_time_t now; + isc_result_t result; LOCK(&manager->lock); while (!manager->done) { @@ -630,7 +634,8 @@ run(void *uap) { if (manager->nscheduled > 0) { XTRACETIME2("waituntil", manager->due, now); - result = WAITUNTIL(&manager->wakeup, &manager->lock, &manager->due); + result = WAITUNTIL(&manager->wakeup, &manager->lock, + &manager->due); INSIST(result == ISC_R_SUCCESS || result == ISC_R_TIMEDOUT); } else { @@ -649,7 +654,8 @@ run(void *uap) { } static bool -sooner(void *v1, void *v2) { +sooner(void *v1, void *v2) +{ isc__timer_t *t1, *t2; t1 = v1; @@ -663,7 +669,8 @@ sooner(void *v1, void *v2) { } static void -set_index(void *what, unsigned int index) { +set_index(void *what, unsigned int index) +{ isc__timer_t *timer; REQUIRE(VALID_TIMER(what)); @@ -673,9 +680,10 @@ set_index(void *what, unsigned int index) { } isc_result_t -isc_timermgr_create(isc_mem_t *mctx, isc_timermgr_t **managerp) { +isc_timermgr_create(isc_mem_t *mctx, isc_timermgr_t **managerp) +{ isc__timermgr_t *manager; - isc_result_t result; + isc_result_t result; /* * Create a timer manager. @@ -711,7 +719,8 @@ isc_timermgr_create(isc_mem_t *mctx, isc_timermgr_t **managerp) { } void -isc_timermgr_poke(isc_timermgr_t *manager0) { +isc_timermgr_poke(isc_timermgr_t *manager0) +{ isc__timermgr_t *manager; REQUIRE(VALID_MANAGER(manager0)); @@ -721,7 +730,8 @@ isc_timermgr_poke(isc_timermgr_t *manager0) { } void -isc_timermgr_destroy(isc_timermgr_t **managerp) { +isc_timermgr_destroy(isc_timermgr_t **managerp) +{ isc__timermgr_t *manager; /* @@ -758,7 +768,6 @@ isc_timermgr_destroy(isc_timermgr_t **managerp) { isc_mem_putanddetach(&manager->mctx, manager, sizeof(*manager)); *managerp = NULL; - } isc_result_t diff --git a/lib/isc/tm.c b/lib/isc/tm.c index 9584007ed6..f6500f2953 100644 --- a/lib/isc/tm.c +++ b/lib/isc/tm.c @@ -37,11 +37,11 @@ * POSSIBILITY OF SUCH DAMAGE. */ +#include #include #include #include #include -#include #include #include @@ -57,35 +57,34 @@ * We do not implement alternate representations. However, we always * check whether a given modifier is allowed for a certain conversion. */ -#define ALT_E 0x01 -#define ALT_O 0x02 -#define LEGAL_ALT(x) { if ((alt_format & ~(x)) != 0) return (0); } +#define ALT_E 0x01 +#define ALT_O 0x02 +#define LEGAL_ALT(x) \ + { \ + if ((alt_format & ~(x)) != 0) \ + return (0); \ + } #ifndef TM_YEAR_BASE #define TM_YEAR_BASE 1900 #endif -static const char *day[7] = { - "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", - "Friday", "Saturday" -}; +static const char *day[7] = { "Sunday", "Monday", "Tuesday", "Wednesday", + "Thursday", "Friday", "Saturday" }; static const char *abday[7] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; static const char *mon[12] = { - "January", "February", "March", "April", "May", "June", "July", - "August", "September", "October", "November", "December" -}; -static const char *abmon[12] = { - "Jan", "Feb", "Mar", "Apr", "May", "Jun", - "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" -}; -static const char *am_pm[2] = { - "AM", "PM" + "January", "February", "March", "April", "May", "June", + "July", "August", "September", "October", "November", "December" }; +static const char *abmon[12] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", + "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; +static const char *am_pm[2] = { "AM", "PM" }; static int -conv_num(const char **buf, int *dest, int llim, int ulim) { +conv_num(const char **buf, int *dest, int llim, int ulim) +{ int result = 0; /* The limit also determines the number of valid digits. */ @@ -98,8 +97,8 @@ conv_num(const char **buf, int *dest, int llim, int ulim) { result *= 10; result += *(*buf)++ - '0'; rulim /= 10; - } while ((result * 10 <= ulim) && - rulim && **buf >= '0' && **buf <= '9'); + } while ((result * 10 <= ulim) && rulim && **buf >= '0' && + **buf <= '9'); if (result < llim || result > ulim) return (0); @@ -109,36 +108,36 @@ conv_num(const char **buf, int *dest, int llim, int ulim) { } time_t -isc_tm_timegm(struct tm *tm) { +isc_tm_timegm(struct tm *tm) +{ time_t ret; - int i, yday = 0, leapday; - int mdays[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30 }; + int i, yday = 0, leapday; + int mdays[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30 }; - leapday = ((((tm->tm_year + 1900 ) % 4) == 0 && - ((tm->tm_year + 1900 ) % 100) != 0) || - ((tm->tm_year + 1900 ) % 400) == 0) ? 1 : 0; + leapday = ((((tm->tm_year + 1900) % 4) == 0 && + ((tm->tm_year + 1900) % 100) != 0) || + ((tm->tm_year + 1900) % 400) == 0) + ? 1 + : 0; mdays[1] += leapday; yday = tm->tm_mday - 1; for (i = 1; i <= tm->tm_mon; i++) yday += mdays[i - 1]; - ret = tm->tm_sec + - (60 * tm->tm_min) + - (3600 * tm->tm_hour) + - (86400 * (yday + - ((tm->tm_year - 70) * 365) + - ((tm->tm_year - 69) / 4) - - ((tm->tm_year - 1) / 100) + - ((tm->tm_year + 299) / 400))); + ret = tm->tm_sec + (60 * tm->tm_min) + (3600 * tm->tm_hour) + + (86400 * + (yday + ((tm->tm_year - 70) * 365) + ((tm->tm_year - 69) / 4) - + ((tm->tm_year - 1) / 100) + ((tm->tm_year + 299) / 400))); return (ret); } char * -isc_tm_strptime(const char *buf, const char *fmt, struct tm *tm) { - char c, *ret; +isc_tm_strptime(const char *buf, const char *fmt, struct tm *tm) +{ + char c, *ret; const char *bp; - size_t len = 0; - int alt_format, i, split_year = 0; + size_t len = 0; + int alt_format, i, split_year = 0; REQUIRE(buf != NULL); REQUIRE(fmt != NULL); @@ -153,8 +152,8 @@ isc_tm_strptime(const char *buf, const char *fmt, struct tm *tm) { alt_format = 0; /* Eat up white-space. */ - if (isspace((unsigned char) c)) { - while (isspace((unsigned char) *bp)) + if (isspace((unsigned char)c)) { + while (isspace((unsigned char)*bp)) bp++; fmt++; @@ -164,10 +163,10 @@ isc_tm_strptime(const char *buf, const char *fmt, struct tm *tm) { if ((c = *fmt++) != '%') goto literal; - -again: switch (c = *fmt++) { - case '%': /* "%%" is converted to "%". */ -literal: + again: + switch (c = *fmt++) { + case '%': /* "%%" is converted to "%". */ + literal: if (c != *bp++) return (0); break; @@ -176,12 +175,12 @@ literal: * "Alternative" modifiers. Just set the appropriate flag * and start over again. */ - case 'E': /* "%E?" alternative conversion modifier. */ + case 'E': /* "%E?" alternative conversion modifier. */ LEGAL_ALT(0); alt_format |= ALT_E; goto again; - case 'O': /* "%O?" alternative conversion modifier. */ + case 'O': /* "%O?" alternative conversion modifier. */ LEGAL_ALT(0); alt_format |= ALT_O; goto again; @@ -189,43 +188,43 @@ literal: /* * "Complex" conversion rules, implemented through recursion. */ - case 'c': /* Date and time, using the locale's format. */ + case 'c': /* Date and time, using the locale's format. */ LEGAL_ALT(ALT_E); if (!(bp = isc_tm_strptime(bp, "%x %X", tm))) return (0); break; - case 'D': /* The date as "%m/%d/%y". */ + case 'D': /* The date as "%m/%d/%y". */ LEGAL_ALT(0); if (!(bp = isc_tm_strptime(bp, "%m/%d/%y", tm))) return (0); break; - case 'R': /* The time as "%H:%M". */ + case 'R': /* The time as "%H:%M". */ LEGAL_ALT(0); if (!(bp = isc_tm_strptime(bp, "%H:%M", tm))) return (0); break; - case 'r': /* The time in 12-hour clock representation. */ + case 'r': /* The time in 12-hour clock representation. */ LEGAL_ALT(0); if (!(bp = isc_tm_strptime(bp, "%I:%M:%S %p", tm))) return (0); break; - case 'T': /* The time as "%H:%M:%S". */ + case 'T': /* The time as "%H:%M:%S". */ LEGAL_ALT(0); if (!(bp = isc_tm_strptime(bp, "%H:%M:%S", tm))) return (0); break; - case 'X': /* The time, using the locale's format. */ + case 'X': /* The time, using the locale's format. */ LEGAL_ALT(ALT_E); if (!(bp = isc_tm_strptime(bp, "%H:%M:%S", tm))) return (0); break; - case 'x': /* The date, using the locale's format. */ + case 'x': /* The date, using the locale's format. */ LEGAL_ALT(ALT_E); if (!(bp = isc_tm_strptime(bp, "%m/%d/%y", tm))) return (0); @@ -234,7 +233,7 @@ literal: /* * "Elementary" conversion rules. */ - case 'A': /* The day of week, using the locale's form. */ + case 'A': /* The day of week, using the locale's form. */ case 'a': LEGAL_ALT(0); for (i = 0; i < 7; i++) { @@ -257,7 +256,7 @@ literal: bp += len; break; - case 'B': /* The month, using the locale's form. */ + case 'B': /* The month, using the locale's form. */ case 'b': case 'h': LEGAL_ALT(0); @@ -281,7 +280,7 @@ literal: bp += len; break; - case 'C': /* The century number. */ + case 'C': /* The century number. */ LEGAL_ALT(ALT_E); if (!(conv_num(&bp, &i, 0, 99))) return (0); @@ -294,14 +293,14 @@ literal: } break; - case 'd': /* The day of month. */ + case 'd': /* The day of month. */ case 'e': LEGAL_ALT(ALT_O); if (!(conv_num(&bp, &tm->tm_mday, 1, 31))) return (0); break; - case 'k': /* The hour (24-hour clock representation). */ + case 'k': /* The hour (24-hour clock representation). */ LEGAL_ALT(0); /* FALLTHROUGH */ case 'H': @@ -310,7 +309,7 @@ literal: return (0); break; - case 'l': /* The hour (12-hour clock representation). */ + case 'l': /* The hour (12-hour clock representation). */ LEGAL_ALT(0); /* FALLTHROUGH */ case 'I': @@ -321,27 +320,27 @@ literal: tm->tm_hour = 0; break; - case 'j': /* The day of year. */ + case 'j': /* The day of year. */ LEGAL_ALT(0); if (!(conv_num(&bp, &i, 1, 366))) return (0); tm->tm_yday = i - 1; break; - case 'M': /* The minute. */ + case 'M': /* The minute. */ LEGAL_ALT(ALT_O); if (!(conv_num(&bp, &tm->tm_min, 0, 59))) return (0); break; - case 'm': /* The month. */ + case 'm': /* The month. */ LEGAL_ALT(ALT_O); if (!(conv_num(&bp, &i, 1, 12))) return (0); tm->tm_mon = i - 1; break; - case 'p': /* The locale's equivalent of AM/PM. */ + case 'p': /* The locale's equivalent of AM/PM. */ LEGAL_ALT(0); /* AM? */ if (strcasecmp(am_pm[0], bp) == 0) { @@ -364,14 +363,14 @@ literal: /* Nothing matched. */ return (0); - case 'S': /* The seconds. */ + case 'S': /* The seconds. */ LEGAL_ALT(ALT_O); if (!(conv_num(&bp, &tm->tm_sec, 0, 61))) return (0); break; - case 'U': /* The week of year, beginning on sunday. */ - case 'W': /* The week of year, beginning on monday. */ + case 'U': /* The week of year, beginning on sunday. */ + case 'W': /* The week of year, beginning on monday. */ LEGAL_ALT(ALT_O); /* * XXX This is bogus, as we can not assume any valid @@ -379,17 +378,17 @@ literal: * point to calculate a real value, so just check the * range for now. */ - if (!(conv_num(&bp, &i, 0, 53))) + if (!(conv_num(&bp, &i, 0, 53))) return (0); - break; + break; - case 'w': /* The day of week, beginning on sunday. */ + case 'w': /* The day of week, beginning on sunday. */ LEGAL_ALT(ALT_O); if (!(conv_num(&bp, &tm->tm_wday, 0, 6))) return (0); break; - case 'Y': /* The year. */ + case 'Y': /* The year. */ LEGAL_ALT(ALT_E); if (!(conv_num(&bp, &i, 0, 9999))) return (0); @@ -397,7 +396,7 @@ literal: tm->tm_year = i - TM_YEAR_BASE; break; - case 'y': /* The year within 100 years of the epoch. */ + case 'y': /* The year within 100 years of the epoch. */ LEGAL_ALT(ALT_E | ALT_O); if (!(conv_num(&bp, &i, 0, 99))) return (0); @@ -416,19 +415,16 @@ literal: /* * Miscellaneous conversions. */ - case 'n': /* Any kind of white-space. */ + case 'n': /* Any kind of white-space. */ case 't': LEGAL_ALT(0); - while (isspace((unsigned char) *bp)) + while (isspace((unsigned char)*bp)) bp++; break; - - default: /* Unknown/unsupported conversion. */ + default: /* Unknown/unsupported conversion. */ return (0); } - - } /* LINTED functional specification */ diff --git a/lib/isc/unix/dir.c b/lib/isc/unix/dir.c index 3b637ab2bd..8beabf5871 100644 --- a/lib/isc/unix/dir.c +++ b/lib/isc/unix/dir.c @@ -9,12 +9,8 @@ * information regarding copyright ownership. */ - /*! \file */ -#include -#include - #include #include #include @@ -28,11 +24,15 @@ #include "errno2result.h" -#define ISC_DIR_MAGIC ISC_MAGIC('D', 'I', 'R', '*') -#define VALID_DIR(dir) ISC_MAGIC_VALID(dir, ISC_DIR_MAGIC) +#include +#include + +#define ISC_DIR_MAGIC ISC_MAGIC('D', 'I', 'R', '*') +#define VALID_DIR(dir) ISC_MAGIC_VALID(dir, ISC_DIR_MAGIC) void -isc_dir_init(isc_dir_t *dir) { +isc_dir_init(isc_dir_t *dir) +{ REQUIRE(dir != NULL); dir->entry.name[0] = '\0'; @@ -48,8 +48,9 @@ isc_dir_init(isc_dir_t *dir) { * NULL will be returned. */ isc_result_t -isc_dir_open(isc_dir_t *dir, const char *dirname) { - char *p; +isc_dir_open(isc_dir_t *dir, const char *dirname) +{ + char * p; isc_result_t result = ISC_R_SUCCESS; REQUIRE(VALID_DIR(dir)); @@ -94,7 +95,8 @@ isc_dir_open(isc_dir_t *dir, const char *dirname) { * the dir stream and reads the first file in one operation. */ isc_result_t -isc_dir_read(isc_dir_t *dir) { +isc_dir_read(isc_dir_t *dir) +{ struct dirent *entry; REQUIRE(VALID_DIR(dir) && dir->handle != NULL); @@ -127,18 +129,20 @@ isc_dir_read(isc_dir_t *dir) { * \brief Close directory stream. */ void -isc_dir_close(isc_dir_t *dir) { - REQUIRE(VALID_DIR(dir) && dir->handle != NULL); +isc_dir_close(isc_dir_t *dir) +{ + REQUIRE(VALID_DIR(dir) && dir->handle != NULL); - (void)closedir(dir->handle); - dir->handle = NULL; + (void)closedir(dir->handle); + dir->handle = NULL; } /*! * \brief Reposition directory stream at start. */ isc_result_t -isc_dir_reset(isc_dir_t *dir) { +isc_dir_reset(isc_dir_t *dir) +{ REQUIRE(VALID_DIR(dir) && dir->handle != NULL); rewinddir(dir->handle); @@ -147,7 +151,8 @@ isc_dir_reset(isc_dir_t *dir) { } isc_result_t -isc_dir_chdir(const char *dirname) { +isc_dir_chdir(const char *dirname) +{ /*! * \brief Change the current directory to 'dirname'. */ @@ -161,7 +166,8 @@ isc_dir_chdir(const char *dirname) { } isc_result_t -isc_dir_chroot(const char *dirname) { +isc_dir_chroot(const char *dirname) +{ #ifdef HAVE_CHROOT void *tmp; #endif @@ -177,7 +183,7 @@ isc_dir_chroot(const char *dirname) { */ tmp = getprotobyname("udp"); if (tmp != NULL) - (void) getservbyname("domain", "udp"); + (void)getservbyname("domain", "udp"); if (chroot(dirname) < 0 || chdir("/") < 0) return (isc__errno2result(errno)); @@ -189,12 +195,13 @@ isc_dir_chroot(const char *dirname) { } isc_result_t -isc_dir_createunique(char *templet) { +isc_dir_createunique(char *templet) +{ isc_result_t result; - char *x; - char *p; - int i; - int pid; + char * x; + char * p; + int i; + int pid; REQUIRE(templet != NULL); @@ -211,7 +218,7 @@ isc_dir_createunique(char *templet) { x--, pid /= 10) *x = pid % 10 + '0'; - x++; /* Set x to start of ex-Xs. */ + x++; /* Set x to start of ex-Xs. */ do { i = mkdir(templet, 0700); diff --git a/lib/isc/unix/errno.c b/lib/isc/unix/errno.c index 0f1c077423..61afb94798 100644 --- a/lib/isc/unix/errno.c +++ b/lib/isc/unix/errno.c @@ -17,6 +17,7 @@ #include "errno2result.h" isc_result_t -isc_errno_toresult(int err) { +isc_errno_toresult(int err) +{ return (isc___errno2result(err, false, 0, 0)); } diff --git a/lib/isc/unix/errno2result.c b/lib/isc/unix/errno2result.c index e7bcf6c7b6..71ff37000f 100644 --- a/lib/isc/unix/errno2result.c +++ b/lib/isc/unix/errno2result.c @@ -9,9 +9,10 @@ * information regarding copyright ownership. */ - /*! \file */ +#include "errno2result.h" + #include #include @@ -20,8 +21,6 @@ #include #include -#include "errno2result.h" - /*% * Convert a POSIX errno value into an isc_result_t. The * list of supported errno values is not complete; new users @@ -29,15 +28,15 @@ * not already there. */ isc_result_t -isc___errno2result(int posixerrno, bool dolog, - const char *file, unsigned int line) +isc___errno2result(int posixerrno, bool dolog, const char *file, + unsigned int line) { char strbuf[ISC_STRERRORSIZE]; switch (posixerrno) { case ENOTDIR: case ELOOP: - case EINVAL: /* XXX sometimes this is not for files */ + case EINVAL: /* XXX sometimes this is not for files */ case ENAMETOOLONG: case EBADF: return (ISC_R_INVALIDFILE); @@ -116,7 +115,8 @@ isc___errno2result(int posixerrno, bool dolog, default: if (dolog) { strerror_r(posixerrno, strbuf, sizeof(strbuf)); - UNEXPECTED_ERROR(file, line, "unable to convert errno " + UNEXPECTED_ERROR(file, line, + "unable to convert errno " "to isc_result: %d: %s", posixerrno, strbuf); } diff --git a/lib/isc/unix/errno2result.h b/lib/isc/unix/errno2result.h index 7733ab33e2..9fb8c5ee9e 100644 --- a/lib/isc/unix/errno2result.h +++ b/lib/isc/unix/errno2result.h @@ -16,7 +16,7 @@ /* XXXDCL this should be moved to lib/isc/include/isc/errno2result.h. */ -#include /* Provides errno. */ +#include /* Provides errno. */ #include #include @@ -27,8 +27,8 @@ ISC_LANG_BEGINDECLS #define isc__errno2result(x) isc___errno2result(x, true, __FILE__, __LINE__) isc_result_t -isc___errno2result(int posixerrno, bool dolog, - const char *file, unsigned int line); +isc___errno2result(int posixerrno, bool dolog, const char *file, + unsigned int line); ISC_LANG_ENDDECLS diff --git a/lib/isc/unix/file.c b/lib/isc/unix/file.c index d2f24825a9..76678f7609 100644 --- a/lib/isc/unix/file.c +++ b/lib/isc/unix/file.c @@ -38,18 +38,16 @@ * SUCH DAMAGE. */ - /*! \file */ #include #include -#include #include +#include #include #include -#include /* Required for utimes on some platforms. */ -#include /* Required for mkstemp on NetBSD. */ - +#include /* Required for utimes on some platforms. */ +#include /* Required for mkstemp on NetBSD. */ #include #include @@ -81,7 +79,8 @@ * annoying MP issues. BTW, Win32 has stat(). */ static isc_result_t -file_stats(const char *file, struct stat *stats) { +file_stats(const char *file, struct stat *stats) +{ isc_result_t result = ISC_R_SUCCESS; REQUIRE(file != NULL); @@ -94,7 +93,8 @@ file_stats(const char *file, struct stat *stats) { } static isc_result_t -fd_stats(int fd, struct stat *stats) { +fd_stats(int fd, struct stat *stats) +{ isc_result_t result = ISC_R_SUCCESS; REQUIRE(stats != NULL); @@ -106,9 +106,10 @@ fd_stats(int fd, struct stat *stats) { } isc_result_t -isc_file_getsizefd(int fd, off_t *size) { +isc_file_getsizefd(int fd, off_t *size) +{ isc_result_t result; - struct stat stats; + struct stat stats; REQUIRE(size != NULL); @@ -121,9 +122,10 @@ isc_file_getsizefd(int fd, off_t *size) { } isc_result_t -isc_file_mode(const char *file, mode_t *modep) { +isc_file_mode(const char *file, mode_t *modep) +{ isc_result_t result; - struct stat stats; + struct stat stats; REQUIRE(modep != NULL); @@ -135,9 +137,10 @@ isc_file_mode(const char *file, mode_t *modep) { } isc_result_t -isc_file_getmodtime(const char *file, isc_time_t *modtime) { +isc_file_getmodtime(const char *file, isc_time_t *modtime) +{ isc_result_t result; - struct stat stats; + struct stat stats; REQUIRE(file != NULL); REQUIRE(modtime != NULL); @@ -155,9 +158,10 @@ isc_file_getmodtime(const char *file, isc_time_t *modtime) { } isc_result_t -isc_file_getsize(const char *file, off_t *size) { +isc_file_getsize(const char *file, off_t *size) +{ isc_result_t result; - struct stat stats; + struct stat stats; REQUIRE(file != NULL); REQUIRE(size != NULL); @@ -171,7 +175,8 @@ isc_file_getsize(const char *file, off_t *size) { } isc_result_t -isc_file_settime(const char *file, isc_time_t *when) { +isc_file_settime(const char *file, isc_time_t *when) +{ struct timeval times[2]; REQUIRE(file != NULL && when != NULL); @@ -212,7 +217,8 @@ isc_file_settime(const char *file, isc_time_t *when) { #define TEMPLATE "tmp-XXXXXXXXXX" /*%< 14 characters. */ isc_result_t -isc_file_mktemplate(const char *path, char *buf, size_t buflen) { +isc_file_mktemplate(const char *path, char *buf, size_t buflen) +{ return (isc_file_template(path, TEMPLATE, buf, buflen)); } @@ -252,11 +258,12 @@ isc_file_template(const char *path, const char *templet, char *buf, return (ISC_R_SUCCESS); } -static const char alphnum[] = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; +static const char alphnum[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv" + "wxyz0123456789"; isc_result_t -isc_file_renameunique(const char *file, char *templet) { +isc_file_renameunique(const char *file, char *templet) +{ char *x; char *cp; @@ -297,24 +304,27 @@ isc_file_renameunique(const char *file, char *templet) { } isc_result_t -isc_file_openunique(char *templet, FILE **fp) { - int mode = S_IWUSR|S_IRUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH; +isc_file_openunique(char *templet, FILE **fp) +{ + int mode = S_IWUSR | S_IRUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH; return (isc_file_openuniquemode(templet, mode, fp)); } isc_result_t -isc_file_openuniqueprivate(char *templet, FILE **fp) { - int mode = S_IWUSR|S_IRUSR; +isc_file_openuniqueprivate(char *templet, FILE **fp) +{ + int mode = S_IWUSR | S_IRUSR; return (isc_file_openuniquemode(templet, mode, fp)); } isc_result_t -isc_file_openuniquemode(char *templet, int mode, FILE **fp) { - int fd; - FILE *f; +isc_file_openuniquemode(char *templet, int mode, FILE **fp) +{ + int fd; + FILE * f; isc_result_t result = ISC_R_SUCCESS; - char *x; - char *cp; + char * x; + char * cp; REQUIRE(templet != NULL); REQUIRE(fp != NULL && *fp == NULL); @@ -331,8 +341,7 @@ isc_file_openuniquemode(char *templet, int mode, FILE **fp) { x = cp--; } - - while ((fd = open(templet, O_RDWR|O_CREAT|O_EXCL, mode)) == -1) { + while ((fd = open(templet, O_RDWR | O_CREAT | O_EXCL, mode)) == -1) { if (errno != EEXIST) return (isc__errno2result(errno)); for (cp = x;;) { @@ -364,24 +373,28 @@ isc_file_openuniquemode(char *templet, int mode, FILE **fp) { } isc_result_t -isc_file_bopenunique(char *templet, FILE **fp) { - int mode = S_IWUSR|S_IRUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH; +isc_file_bopenunique(char *templet, FILE **fp) +{ + int mode = S_IWUSR | S_IRUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH; return (isc_file_openuniquemode(templet, mode, fp)); } isc_result_t -isc_file_bopenuniqueprivate(char *templet, FILE **fp) { - int mode = S_IWUSR|S_IRUSR; +isc_file_bopenuniqueprivate(char *templet, FILE **fp) +{ + int mode = S_IWUSR | S_IRUSR; return (isc_file_openuniquemode(templet, mode, fp)); } isc_result_t -isc_file_bopenuniquemode(char *templet, int mode, FILE **fp) { +isc_file_bopenuniquemode(char *templet, int mode, FILE **fp) +{ return (isc_file_openuniquemode(templet, mode, fp)); } isc_result_t -isc_file_remove(const char *filename) { +isc_file_remove(const char *filename) +{ int r; REQUIRE(filename != NULL); @@ -394,7 +407,8 @@ isc_file_remove(const char *filename) { } isc_result_t -isc_file_rename(const char *oldname, const char *newname) { +isc_file_rename(const char *oldname, const char *newname) +{ int r; REQUIRE(oldname != NULL); @@ -408,7 +422,8 @@ isc_file_rename(const char *oldname, const char *newname) { } bool -isc_file_exists(const char *pathname) { +isc_file_exists(const char *pathname) +{ struct stat stats; REQUIRE(pathname != NULL); @@ -417,72 +432,77 @@ isc_file_exists(const char *pathname) { } isc_result_t -isc_file_isplainfile(const char *filename) { +isc_file_isplainfile(const char *filename) +{ /* * This function returns success if filename is a plain file. */ struct stat filestat; - memset(&filestat,0,sizeof(struct stat)); + memset(&filestat, 0, sizeof(struct stat)); if ((stat(filename, &filestat)) == -1) - return(isc__errno2result(errno)); + return (isc__errno2result(errno)); - if(! S_ISREG(filestat.st_mode)) - return(ISC_R_INVALIDFILE); + if (!S_ISREG(filestat.st_mode)) + return (ISC_R_INVALIDFILE); - return(ISC_R_SUCCESS); + return (ISC_R_SUCCESS); } isc_result_t -isc_file_isplainfilefd(int fd) { +isc_file_isplainfilefd(int fd) +{ /* * This function returns success if filename is a plain file. */ struct stat filestat; - memset(&filestat,0,sizeof(struct stat)); + memset(&filestat, 0, sizeof(struct stat)); if ((fstat(fd, &filestat)) == -1) - return(isc__errno2result(errno)); + return (isc__errno2result(errno)); - if(! S_ISREG(filestat.st_mode)) - return(ISC_R_INVALIDFILE); + if (!S_ISREG(filestat.st_mode)) + return (ISC_R_INVALIDFILE); - return(ISC_R_SUCCESS); + return (ISC_R_SUCCESS); } isc_result_t -isc_file_isdirectory(const char *filename) { +isc_file_isdirectory(const char *filename) +{ /* * This function returns success if filename exists and is a * directory. */ struct stat filestat; - memset(&filestat,0,sizeof(struct stat)); + memset(&filestat, 0, sizeof(struct stat)); if ((stat(filename, &filestat)) == -1) - return(isc__errno2result(errno)); + return (isc__errno2result(errno)); - if(! S_ISDIR(filestat.st_mode)) - return(ISC_R_INVALIDFILE); + if (!S_ISDIR(filestat.st_mode)) + return (ISC_R_INVALIDFILE); - return(ISC_R_SUCCESS); + return (ISC_R_SUCCESS); } - bool -isc_file_isabsolute(const char *filename) { +isc_file_isabsolute(const char *filename) +{ REQUIRE(filename != NULL); return (filename[0] == '/'); } bool -isc_file_iscurrentdir(const char *filename) { +isc_file_iscurrentdir(const char *filename) +{ REQUIRE(filename != NULL); return (filename[0] == '.' && filename[1] == '\0'); } bool -isc_file_ischdiridempotent(const char *filename) { +isc_file_ischdiridempotent(const char *filename) +{ REQUIRE(filename != NULL); if (isc_file_isabsolute(filename)) return (true); @@ -492,7 +512,8 @@ isc_file_ischdiridempotent(const char *filename) { } const char * -isc_file_basename(const char *filename) { +isc_file_basename(const char *filename) +{ const char *s; REQUIRE(filename != NULL); @@ -505,9 +526,10 @@ isc_file_basename(const char *filename) { } isc_result_t -isc_file_progname(const char *filename, char *buf, size_t buflen) { +isc_file_progname(const char *filename, char *buf, size_t buflen) +{ const char *base; - size_t len; + size_t len; REQUIRE(filename != NULL); REQUIRE(buf != NULL); @@ -529,8 +551,9 @@ isc_file_progname(const char *filename, char *buf, size_t buflen) { * concatenated with a relative pathname to make a valid pathname string. */ static isc_result_t -dir_current(char *dirname, size_t length) { - char *cwd; +dir_current(char *dirname, size_t length) +{ + char * cwd; isc_result_t result = ISC_R_SUCCESS; REQUIRE(dirname != NULL); @@ -556,7 +579,8 @@ dir_current(char *dirname, size_t length) { } isc_result_t -isc_file_absolutepath(const char *filename, char *path, size_t pathlen) { +isc_file_absolutepath(const char *filename, char *path, size_t pathlen) +{ isc_result_t result; result = dir_current(path, pathlen); if (result != ISC_R_SUCCESS) @@ -568,7 +592,8 @@ isc_file_absolutepath(const char *filename, char *path, size_t pathlen) { } isc_result_t -isc_file_truncate(const char *filename, isc_offset_t size) { +isc_file_truncate(const char *filename, isc_offset_t size) +{ isc_result_t result = ISC_R_SUCCESS; if (truncate(filename, size) < 0) @@ -577,12 +602,13 @@ isc_file_truncate(const char *filename, isc_offset_t size) { } isc_result_t -isc_file_safecreate(const char *filename, FILE **fp) { +isc_file_safecreate(const char *filename, FILE **fp) +{ isc_result_t result; - int flags; - struct stat sb; - FILE *f; - int fd; + int flags; + struct stat sb; + FILE * f; + int fd; REQUIRE(filename != NULL); REQUIRE(fp != NULL && *fp == NULL); @@ -616,7 +642,7 @@ isc_result_t isc_file_splitpath(isc_mem_t *mctx, const char *path, char **dirname, char const **bname) { - char *dir; + char * dir; const char *file, *slash; if (path == NULL) @@ -651,8 +677,7 @@ isc_file_splitpath(isc_mem_t *mctx, const char *path, char **dirname, } void * -isc_file_mmap(void *addr, size_t len, int prot, - int flags, int fd, off_t offset) +isc_file_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset) { #ifdef HAVE_MMAP return (mmap(addr, len, prot, flags, fd, offset)); @@ -667,7 +692,7 @@ isc_file_mmap(void *addr, size_t len, int prot, end = lseek(fd, 0, SEEK_END); lseek(fd, offset, SEEK_SET); - if (end - offset < (off_t) len) + if (end - offset < (off_t)len) len = end - offset; buf = malloc(len); @@ -675,7 +700,7 @@ isc_file_mmap(void *addr, size_t len, int prot, return (NULL); ret = read(fd, buf, len); - if (ret != (ssize_t) len) { + if (ret != (ssize_t)len) { free(buf); buf = NULL; } @@ -685,7 +710,8 @@ isc_file_mmap(void *addr, size_t len, int prot, } int -isc_file_munmap(void *addr, size_t len) { +isc_file_munmap(void *addr, size_t len) +{ #ifdef HAVE_MMAP return (munmap(addr, len)); #else @@ -699,11 +725,11 @@ isc_file_munmap(void *addr, size_t len) { #define DISALLOW "\\/ABCDEFGHIJKLMNOPQRSTUVWXYZ" static isc_result_t -digest2hex(unsigned char *digest, unsigned int digestlen, - char *hash, size_t hashlen) +digest2hex(unsigned char *digest, unsigned int digestlen, char *hash, + size_t hashlen) { unsigned int i; - int ret; + int ret; for (i = 0; i < digestlen; i++) { size_t left = hashlen - i * 2; ret = snprintf(hash + i * 2, left, "%02x", digest[i]); @@ -718,12 +744,12 @@ isc_result_t isc_file_sanitize(const char *dir, const char *base, const char *ext, char *path, size_t length) { - char buf[PATH_MAX]; + char buf[PATH_MAX]; unsigned char digest[ISC_MAX_MD_SIZE]; - unsigned int digestlen; - char hash[ISC_MAX_MD_SIZE * 2 + 1]; - size_t l = 0; - isc_result_t err; + unsigned int digestlen; + char hash[ISC_MAX_MD_SIZE * 2 + 1]; + size_t l = 0; + isc_result_t err; REQUIRE(base != NULL); REQUIRE(path != NULL); @@ -746,8 +772,8 @@ isc_file_sanitize(const char *dir, const char *base, const char *ext, return (ISC_R_NOSPACE); /* Check whether the full-length SHA256 hash filename exists */ - err = isc_md(ISC_MD_SHA256, (const unsigned char *)base, - strlen(base), digest, &digestlen); + err = isc_md(ISC_MD_SHA256, (const unsigned char *)base, strlen(base), + digest, &digestlen); if (err != ISC_R_SUCCESS) { return (err); } @@ -757,9 +783,9 @@ isc_file_sanitize(const char *dir, const char *base, const char *ext, return (err); } - snprintf(buf, sizeof(buf), "%s%s%s%s%s", - dir != NULL ? dir : "", dir != NULL ? "/" : "", - hash, ext != NULL ? "." : "", ext != NULL ? ext : ""); + snprintf(buf, sizeof(buf), "%s%s%s%s%s", dir != NULL ? dir : "", + dir != NULL ? "/" : "", hash, ext != NULL ? "." : "", + ext != NULL ? ext : ""); if (isc_file_exists(buf)) { strlcpy(path, buf, length); return (ISC_R_SUCCESS); @@ -767,9 +793,9 @@ isc_file_sanitize(const char *dir, const char *base, const char *ext, /* Check for a truncated SHA256 hash filename */ hash[16] = '\0'; - snprintf(buf, sizeof(buf), "%s%s%s%s%s", - dir != NULL ? dir : "", dir != NULL ? "/" : "", - hash, ext != NULL ? "." : "", ext != NULL ? ext : ""); + snprintf(buf, sizeof(buf), "%s%s%s%s%s", dir != NULL ? dir : "", + dir != NULL ? "/" : "", hash, ext != NULL ? "." : "", + ext != NULL ? ext : ""); if (isc_file_exists(buf)) { strlcpy(path, buf, length); return (ISC_R_SUCCESS); @@ -785,14 +811,15 @@ isc_file_sanitize(const char *dir, const char *base, const char *ext, return (ISC_R_SUCCESS); } - snprintf(buf, sizeof(buf), "%s%s%s%s%s", - dir != NULL ? dir : "", dir != NULL ? "/" : "", - base, ext != NULL ? "." : "", ext != NULL ? ext : ""); + snprintf(buf, sizeof(buf), "%s%s%s%s%s", dir != NULL ? dir : "", + dir != NULL ? "/" : "", base, ext != NULL ? "." : "", + ext != NULL ? ext : ""); strlcpy(path, buf, length); return (ISC_R_SUCCESS); } bool -isc_file_isdirwritable(const char *path) { - return (access(path, W_OK|X_OK) == 0); +isc_file_isdirwritable(const char *path) +{ + return (access(path, W_OK | X_OK) == 0); } diff --git a/lib/isc/unix/fsaccess.c b/lib/isc/unix/fsaccess.c index 80ccedab50..b3ff1da630 100644 --- a/lib/isc/unix/fsaccess.c +++ b/lib/isc/unix/fsaccess.c @@ -9,14 +9,14 @@ * information regarding copyright ownership. */ -#include -#include - #include #include #include "errno2result.h" +#include +#include + /*! \file * \brief * The OS-independent part of the API is in lib/isc. @@ -24,12 +24,13 @@ #include "../fsaccess.c" isc_result_t -isc_fsaccess_set(const char *path, isc_fsaccess_t access) { - struct stat statb; - mode_t mode; - bool is_dir = false; +isc_fsaccess_set(const char *path, isc_fsaccess_t access) +{ + struct stat statb; + mode_t mode; + bool is_dir = false; isc_fsaccess_t bits; - isc_result_t result; + isc_result_t result; if (stat(path, &statb) != 0) return (isc__errno2result(errno)); @@ -48,30 +49,28 @@ isc_fsaccess_set(const char *path, isc_fsaccess_t access) { */ mode = 0; -#define SET_AND_CLEAR1(modebit) \ +#define SET_AND_CLEAR1(modebit) \ if ((access & bits) != 0) { \ - mode |= modebit; \ - access &= ~bits; \ + mode |= modebit; \ + access &= ~bits; \ } #define SET_AND_CLEAR(user, group, other) \ - SET_AND_CLEAR1(user); \ - bits <<= STEP; \ - SET_AND_CLEAR1(group); \ - bits <<= STEP; \ + SET_AND_CLEAR1(user); \ + bits <<= STEP; \ + SET_AND_CLEAR1(group); \ + bits <<= STEP; \ SET_AND_CLEAR1(other); bits = ISC_FSACCESS_READ | ISC_FSACCESS_LISTDIRECTORY; SET_AND_CLEAR(S_IRUSR, S_IRGRP, S_IROTH); - bits = ISC_FSACCESS_WRITE | - ISC_FSACCESS_CREATECHILD | + bits = ISC_FSACCESS_WRITE | ISC_FSACCESS_CREATECHILD | ISC_FSACCESS_DELETECHILD; SET_AND_CLEAR(S_IWUSR, S_IWGRP, S_IWOTH); - bits = ISC_FSACCESS_EXECUTE | - ISC_FSACCESS_ACCESSCHILD; + bits = ISC_FSACCESS_EXECUTE | ISC_FSACCESS_ACCESSCHILD; SET_AND_CLEAR(S_IXUSR, S_IXGRP, S_IXOTH); diff --git a/lib/isc/unix/ifiter_getifaddrs.c b/lib/isc/unix/ifiter_getifaddrs.c index 41a866d7f1..4df7061bdd 100644 --- a/lib/isc/unix/ifiter_getifaddrs.c +++ b/lib/isc/unix/ifiter_getifaddrs.c @@ -14,16 +14,15 @@ * Obtain the list of network interfaces using the getifaddrs(3) library. */ -#include - #include +#include #include /*% Iterator Magic */ -#define IFITER_MAGIC ISC_MAGIC('I', 'F', 'I', 'G') +#define IFITER_MAGIC ISC_MAGIC('I', 'F', 'I', 'G') /*% Valid Iterator */ -#define VALID_IFITER(t) ISC_MAGIC_VALID(t, IFITER_MAGIC) +#define VALID_IFITER(t) ISC_MAGIC_VALID(t, IFITER_MAGIC) #ifdef __linux static bool seenv6 = false; @@ -31,26 +30,27 @@ static bool seenv6 = false; /*% Iterator structure */ struct isc_interfaceiter { - unsigned int magic; /*%< Magic number. */ - isc_mem_t *mctx; - void *buf; /*%< (unused) */ - unsigned int bufsize; /*%< (always 0) */ - struct ifaddrs *ifaddrs; /*%< List of ifaddrs */ - struct ifaddrs *pos; /*%< Ptr to current ifaddr */ - isc_interface_t current; /*%< Current interface data. */ - isc_result_t result; /*%< Last result code. */ -#ifdef __linux - FILE * proc; - char entry[ISC_IF_INET6_SZ]; - isc_result_t valid; + unsigned int magic; /*%< Magic number. */ + isc_mem_t * mctx; + void * buf; /*%< (unused) */ + unsigned int bufsize; /*%< (always 0) */ + struct ifaddrs *ifaddrs; /*%< List of ifaddrs */ + struct ifaddrs *pos; /*%< Ptr to current ifaddr */ + isc_interface_t current; /*%< Current interface data. */ + isc_result_t result; /*%< Last result code. */ +#ifdef __linux + FILE * proc; + char entry[ISC_IF_INET6_SZ]; + isc_result_t valid; #endif }; isc_result_t -isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) { +isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) +{ isc_interfaceiter_t *iter; - isc_result_t result; - char strbuf[ISC_STRERRORSIZE]; + isc_result_t result; + char strbuf[ISC_STRERRORSIZE]; REQUIRE(mctx != NULL); REQUIRE(iterp != NULL); @@ -94,7 +94,7 @@ isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) { *iterp = iter; return (ISC_R_SUCCESS); - failure: +failure: #ifdef __linux if (iter->proc != NULL) fclose(iter->proc); @@ -113,10 +113,11 @@ isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) { */ static isc_result_t -internal_current(isc_interfaceiter_t *iter) { +internal_current(isc_interfaceiter_t *iter) +{ struct ifaddrs *ifa; - int family; - unsigned int namelen; + int family; + unsigned int namelen; REQUIRE(VALID_IFITER(iter)); @@ -186,8 +187,8 @@ internal_current(isc_interfaceiter_t *iter) { * interfaces, otherwise ISC_R_SUCCESS. */ static isc_result_t -internal_next(isc_interfaceiter_t *iter) { - +internal_next(isc_interfaceiter_t *iter) +{ if (iter->pos != NULL) iter->pos = iter->pos->ifa_next; if (iter->pos == NULL) { @@ -202,8 +203,8 @@ internal_next(isc_interfaceiter_t *iter) { } static void -internal_destroy(isc_interfaceiter_t *iter) { - +internal_destroy(isc_interfaceiter_t *iter) +{ #ifdef __linux if (iter->proc != NULL) fclose(iter->proc); @@ -214,9 +215,9 @@ internal_destroy(isc_interfaceiter_t *iter) { iter->ifaddrs = NULL; } -static -void internal_first(isc_interfaceiter_t *iter) { - +static void +internal_first(isc_interfaceiter_t *iter) +{ #ifdef __linux linux_if_inet6_first(iter); #endif diff --git a/lib/isc/unix/include/isc/align.h b/lib/isc/unix/include/isc/align.h index 9cadbec345..3517f07db9 100644 --- a/lib/isc/unix/include/isc/align.h +++ b/lib/isc/unix/include/isc/align.h @@ -14,5 +14,5 @@ #ifdef HAVE_STDALIGN_H #include #else -#define alignas(x) __attribute__ ((__aligned__ (x))) +#define alignas(x) __attribute__((__aligned__(x))) #endif diff --git a/lib/isc/unix/include/isc/dir.h b/lib/isc/unix/include/isc/dir.h index 67607970f3..5e5ef6f60d 100644 --- a/lib/isc/unix/include/isc/dir.h +++ b/lib/isc/unix/include/isc/dir.h @@ -14,25 +14,26 @@ /*! \file */ -#include /* Required on some systems. */ #include #include #include #include +#include /* Required on some systems. */ + /*% Directory Entry */ typedef struct isc_direntry { - char name[NAME_MAX]; - unsigned int length; + char name[NAME_MAX]; + unsigned int length; } isc_direntry_t; /*% Directory */ typedef struct isc_dir { - unsigned int magic; - char dirname[PATH_MAX]; - isc_direntry_t entry; - DIR * handle; + unsigned int magic; + char dirname[PATH_MAX]; + isc_direntry_t entry; + DIR * handle; } isc_dir_t; ISC_LANG_BEGINDECLS diff --git a/lib/isc/unix/include/isc/net.h b/lib/isc/unix/include/isc/net.h index 1f37c6d708..982eb8caa0 100644 --- a/lib/isc/unix/include/isc/net.h +++ b/lib/isc/unix/include/isc/net.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_NET_H #define ISC_NET_H 1 @@ -65,58 +64,80 @@ /*** *** Imports. ***/ -#include - #include -#include -#include /* Contractual promise. */ - -#include - -#include /* Contractual promise. */ -#include /* Contractual promise. */ - #include +#include #include +#include /* Contractual promise. */ +#include +#include /* Contractual promise. */ +#include /* Contractual promise. */ +#include + #ifndef IN6ADDR_LOOPBACK_INIT #ifdef s6_addr /*% IPv6 address loopback init */ -#define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } } +#define IN6ADDR_LOOPBACK_INIT \ + { \ + { \ + { \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 \ + } \ + } \ + } #else -#define IN6ADDR_LOOPBACK_INIT { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } +#define IN6ADDR_LOOPBACK_INIT \ + { \ + { \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 \ + } \ + } #endif #endif #ifndef IN6ADDR_V4MAPPED_INIT #ifdef s6_addr /*% IPv6 v4mapped prefix init */ -#define IN6ADDR_V4MAPPED_INIT { { { 0,0,0,0,0,0,0,0,0,0,0xff,0xff,0,0,0,0 } } } +#define IN6ADDR_V4MAPPED_INIT \ + { \ + { \ + { \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff, 0, \ + 0, 0, 0 \ + } \ + } \ + } #else -#define IN6ADDR_V4MAPPED_INIT { { 0,0,0,0,0,0,0,0,0,0,0xff,0xff,0,0,0,0 } } +#define IN6ADDR_V4MAPPED_INIT \ + { \ + { \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff, 0, 0, 0, 0 \ + } \ + } #endif #endif #ifndef IN6_IS_ADDR_V4MAPPED /*% Is IPv6 address V4 mapped? */ -#define IN6_IS_ADDR_V4MAPPED(x) \ - (memcmp((x)->s6_addr, in6addr_any.s6_addr, 10) == 0 && \ - (x)->s6_addr[10] == 0xff && (x)->s6_addr[11] == 0xff) +#define IN6_IS_ADDR_V4MAPPED(x) \ + (memcmp((x)->s6_addr, in6addr_any.s6_addr, 10) == 0 && \ + (x)->s6_addr[10] == 0xff && (x)->s6_addr[11] == 0xff) #endif #ifndef IN6_IS_ADDR_V4COMPAT /*% Is IPv6 address V4 compatible? */ -#define IN6_IS_ADDR_V4COMPAT(x) \ - (memcmp((x)->s6_addr, in6addr_any.s6_addr, 12) == 0 && \ - ((x)->s6_addr[12] != 0 || (x)->s6_addr[13] != 0 || \ - (x)->s6_addr[14] != 0 || \ +#define IN6_IS_ADDR_V4COMPAT(x) \ + (memcmp((x)->s6_addr, in6addr_any.s6_addr, 12) == 0 && \ + ((x)->s6_addr[12] != 0 || (x)->s6_addr[13] != 0 || \ + (x)->s6_addr[14] != 0 || \ ((x)->s6_addr[15] != 0 && (x)->s6_addr[15] != 1))) #endif #ifndef IN6_IS_ADDR_MULTICAST /*% Is IPv6 address multicast? */ -#define IN6_IS_ADDR_MULTICAST(a) ((a)->s6_addr[0] == 0xff) +#define IN6_IS_ADDR_MULTICAST(a) ((a)->s6_addr[0] == 0xff) #endif #ifndef IN6_IS_ADDR_LINKLOCAL @@ -131,7 +152,6 @@ (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0xc0)) #endif - #ifndef IN6_IS_ADDR_LOOPBACK /*% is IPv6 address loopback? */ #define IN6_IS_ADDR_LOOPBACK(x) \ @@ -168,16 +188,14 @@ #endif /*% IP address. */ -#define ISC__IPADDR(x) ((uint32_t)htonl((uint32_t)(x))) +#define ISC__IPADDR(x) ((uint32_t)htonl((uint32_t)(x))) /*% Is IP address multicast? */ #define ISC_IPADDR_ISMULTICAST(i) \ - (((uint32_t)(i) & ISC__IPADDR(0xf0000000)) \ - == ISC__IPADDR(0xe0000000)) + (((uint32_t)(i)&ISC__IPADDR(0xf0000000)) == ISC__IPADDR(0xe0000000)) #define ISC_IPADDR_ISEXPERIMENTAL(i) \ - (((uint32_t)(i) & ISC__IPADDR(0xf0000000)) \ - == ISC__IPADDR(0xf0000000)) + (((uint32_t)(i)&ISC__IPADDR(0xf0000000)) == ISC__IPADDR(0xf0000000)) /*** *** Functions. @@ -254,13 +272,13 @@ isc_net_probeunix(void); * Returns whether UNIX domain sockets are supported. */ -#define ISC_NET_DSCPRECVV4 0x01 /* Can receive sent DSCP value IPv4 */ -#define ISC_NET_DSCPRECVV6 0x02 /* Can receive sent DSCP value IPv6 */ -#define ISC_NET_DSCPSETV4 0x04 /* Can set DSCP on socket IPv4 */ -#define ISC_NET_DSCPSETV6 0x08 /* Can set DSCP on socket IPv6 */ -#define ISC_NET_DSCPPKTV4 0x10 /* Can set DSCP on per packet IPv4 */ -#define ISC_NET_DSCPPKTV6 0x20 /* Can set DSCP on per packet IPv6 */ -#define ISC_NET_DSCPALL 0x3f /* All valid flags */ +#define ISC_NET_DSCPRECVV4 0x01 /* Can receive sent DSCP value IPv4 */ +#define ISC_NET_DSCPRECVV6 0x02 /* Can receive sent DSCP value IPv6 */ +#define ISC_NET_DSCPSETV4 0x04 /* Can set DSCP on socket IPv4 */ +#define ISC_NET_DSCPSETV6 0x08 /* Can set DSCP on socket IPv6 */ +#define ISC_NET_DSCPPKTV4 0x10 /* Can set DSCP on per packet IPv4 */ +#define ISC_NET_DSCPPKTV6 0x20 /* Can set DSCP on per packet IPv6 */ +#define ISC_NET_DSCPALL 0x3f /* All valid flags */ unsigned int isc_net_probedscp(void); @@ -268,7 +286,6 @@ isc_net_probedscp(void); * Probe the level of DSCP support. */ - isc_result_t isc_net_getudpportrange(int af, in_port_t *low, in_port_t *high); /*%< diff --git a/lib/isc/unix/include/isc/netdb.h b/lib/isc/unix/include/isc/netdb.h index 5aaa9f6269..4cd79a2005 100644 --- a/lib/isc/unix/include/isc/netdb.h +++ b/lib/isc/unix/include/isc/netdb.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_NETDB_H #define ISC_NETDB_H 1 @@ -43,8 +42,8 @@ *** Imports. ***/ -#include - #include +#include + #endif /* ISC_NETDB_H */ diff --git a/lib/isc/unix/include/isc/offset.h b/lib/isc/unix/include/isc/offset.h index cf57292a54..06d6aa3626 100644 --- a/lib/isc/unix/include/isc/offset.h +++ b/lib/isc/unix/include/isc/offset.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_OFFSET_H #define ISC_OFFSET_H 1 @@ -17,9 +16,10 @@ * \brief * File offsets are operating-system dependent. */ -#include /* Required for CHAR_BIT. */ +#include /* Required for CHAR_BIT. */ +#include /* For Linux Standard Base. */ + #include -#include /* For Linux Standard Base. */ typedef off_t isc_offset_t; diff --git a/lib/isc/unix/include/isc/stat.h b/lib/isc/unix/include/isc/stat.h index 24c4ce5ee2..3f89be9f88 100644 --- a/lib/isc/unix/include/isc/stat.h +++ b/lib/isc/unix/include/isc/stat.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_STAT_H #define ISC_STAT_H 1 @@ -40,7 +39,7 @@ *** Imports. ***/ -#include #include +#include #endif /* ISC_STAT_H */ diff --git a/lib/isc/unix/include/isc/stdatomic.h b/lib/isc/unix/include/isc/stdatomic.h index 8e423a961b..cc27ac33a7 100644 --- a/lib/isc/unix/include/isc/stdatomic.h +++ b/lib/isc/unix/include/isc/stdatomic.h @@ -24,7 +24,7 @@ #if !defined(__GNUC_PREREQ__) #if defined(__GNUC__) && defined(__GNUC_MINOR__) -#define __GNUC_PREREQ__(maj, min) \ +#define __GNUC_PREREQ__(maj, min) \ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) #else #define __GNUC_PREREQ__(maj, min) 0 @@ -41,28 +41,27 @@ #endif #endif -#define ATOMIC_VAR_INIT(x) x +#define ATOMIC_VAR_INIT(x) x #ifndef __ATOMIC_RELAXED -#define __ATOMIC_RELAXED 0 +#define __ATOMIC_RELAXED 0 #endif #ifndef __ATOMIC_CONSUME -#define __ATOMIC_CONSUME 1 +#define __ATOMIC_CONSUME 1 #endif #ifndef __ATOMIC_ACQUIRE -#define __ATOMIC_ACQUIRE 2 +#define __ATOMIC_ACQUIRE 2 #endif #ifndef __ATOMIC_RELEASE -#define __ATOMIC_RELEASE 3 +#define __ATOMIC_RELEASE 3 #endif #ifndef __ATOMIC_ACQ_REL -#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_ACQ_REL 4 #endif #ifndef __ATOMIC_SEQ_CST -#define __ATOMIC_SEQ_CST 5 +#define __ATOMIC_SEQ_CST 5 #endif - enum memory_order { memory_order_relaxed = __ATOMIC_RELAXED, memory_order_consume = __ATOMIC_CONSUME, @@ -74,95 +73,96 @@ enum memory_order { typedef enum memory_order memory_order; -typedef int_fast32_t atomic_int_fast32_t; -typedef uint_fast32_t atomic_uint_fast32_t; -typedef int_fast64_t atomic_int_fast64_t; -typedef uint_fast64_t atomic_uint_fast64_t; -typedef bool atomic_bool; +typedef int_fast32_t atomic_int_fast32_t; +typedef uint_fast32_t atomic_uint_fast32_t; +typedef int_fast64_t atomic_int_fast64_t; +typedef uint_fast64_t atomic_uint_fast64_t; +typedef bool atomic_bool; -typedef uint_fast64_t atomic_uintptr_t; +typedef uint_fast64_t atomic_uintptr_t; #if defined(__CLANG_ATOMICS) /* __c11_atomic builtins */ -#define atomic_init(obj, desired) \ - __c11_atomic_init(obj, desired) -#define atomic_load_explicit(obj, order) \ - __c11_atomic_load(obj, order) -#define atomic_store_explicit(obj, desired, order) \ +#define atomic_init(obj, desired) __c11_atomic_init(obj, desired) +#define atomic_load_explicit(obj, order) __c11_atomic_load(obj, order) +#define atomic_store_explicit(obj, desired, order) \ __c11_atomic_store(obj, desired, order) -#define atomic_fetch_add_explicit(obj, arg, order) \ +#define atomic_fetch_add_explicit(obj, arg, order) \ __c11_atomic_fetch_add(obj, arg, order) -#define atomic_fetch_sub_explicit(obj, arg, order) \ +#define atomic_fetch_sub_explicit(obj, arg, order) \ __c11_atomic_fetch_sub(obj, arg, order) -#define atomic_fetch_and_explicit(obj, arg, order) \ +#define atomic_fetch_and_explicit(obj, arg, order) \ __c11_atomic_fetch_and(obj, arg, order) -#define atomic_fetch_or_explicit(obj, arg, order) \ +#define atomic_fetch_or_explicit(obj, arg, order) \ __c11_atomic_fetch_or(obj, arg, order) -#define atomic_compare_exchange_strong_explicit(obj, expected, desired, succ, fail) \ - __c11_atomic_compare_exchange_strong_explicit(obj, expected, desired, succ, fail) -#define atomic_compare_exchange_weak_explicit(obj, expected, desired, succ, fail) \ - __c11_atomic_compare_exchange_weak_explicit(obj, expected, desired, succ, fail) -#define atomic_exchange_explicit(obj, desired, order) \ +#define atomic_compare_exchange_strong_explicit(obj, expected, desired, succ, \ + fail) \ + __c11_atomic_compare_exchange_strong_explicit(obj, expected, desired, \ + succ, fail) +#define atomic_compare_exchange_weak_explicit(obj, expected, desired, succ, \ + fail) \ + __c11_atomic_compare_exchange_weak_explicit(obj, expected, desired, \ + succ, fail) +#define atomic_exchange_explicit(obj, desired, order) \ __c11_atomic_exchange_explicit(obj, expected, order) #elif defined(__GNUC_ATOMICS) /* __atomic builtins */ -#define atomic_init(obj, desired) \ - (*obj = desired) -#define atomic_load_explicit(obj, order) \ - __atomic_load_n(obj, order) -#define atomic_store_explicit(obj, desired, order) \ +#define atomic_init(obj, desired) (*obj = desired) +#define atomic_load_explicit(obj, order) __atomic_load_n(obj, order) +#define atomic_store_explicit(obj, desired, order) \ __atomic_store_n(obj, desired, order) -#define atomic_fetch_add_explicit(obj, arg, order) \ +#define atomic_fetch_add_explicit(obj, arg, order) \ __atomic_fetch_add(obj, arg, order) -#define atomic_fetch_sub_explicit(obj, arg, order) \ +#define atomic_fetch_sub_explicit(obj, arg, order) \ __atomic_fetch_sub(obj, arg, order) -#define atomic_fetch_and_explicit(obj, arg, order) \ +#define atomic_fetch_and_explicit(obj, arg, order) \ __atomic_fetch_and(obj, arg, order) -#define atomic_fetch_or_explicit(obj, arg, order) \ +#define atomic_fetch_or_explicit(obj, arg, order) \ __atomic_fetch_or(obj, arg, order) -#define atomic_compare_exchange_strong_explicit(obj, expected, desired, succ, fail) \ +#define atomic_compare_exchange_strong_explicit(obj, expected, desired, succ, \ + fail) \ __atomic_compare_exchange_n(obj, expected, desired, 0, succ, fail) -#define atomic_compare_exchange_weak_explicit(obj, expected, desired, succ, fail) \ +#define atomic_compare_exchange_weak_explicit(obj, expected, desired, succ, \ + fail) \ __atomic_compare_exchange_n(obj, expected, desired, 1, succ, fail) -#define atomic_exchange_explicit(obj, desired, order) \ +#define atomic_exchange_explicit(obj, desired, order) \ __atomic_exchange_n(obj, desired, order) #else /* __sync builtins */ -#define atomic_init(obj, desired) \ - (*obj = desired) -#define atomic_load_explicit(obj, order) \ - __sync_fetch_and_add(obj, 0) -#define atomic_store_explicit(obj, desired, order) \ - do { \ - __sync_synchronize(); \ - *obj = desired; \ - __sync_synchronize(); \ +#define atomic_init(obj, desired) (*obj = desired) +#define atomic_load_explicit(obj, order) __sync_fetch_and_add(obj, 0) +#define atomic_store_explicit(obj, desired, order) \ + do { \ + __sync_synchronize(); \ + *obj = desired; \ + __sync_synchronize(); \ } while (0); -#define atomic_fetch_add_explicit(obj, arg, order) \ +#define atomic_fetch_add_explicit(obj, arg, order) \ __sync_fetch_and_add(obj, arg) -#define atomic_fetch_sub_explicit(obj, arg, order) \ +#define atomic_fetch_sub_explicit(obj, arg, order) \ __sync_fetch_and_sub(obj, arg, order) -#define atomic_fetch_and_explicit(obj, arg, order) \ +#define atomic_fetch_and_explicit(obj, arg, order) \ __sync_fetch_and_and(obj, arg, order) -#define atomic_fetch_or_explicit(obj, arg, order) \ +#define atomic_fetch_or_explicit(obj, arg, order) \ __sync_fetch_and_or(obj, arg, order) -#define atomic_compare_exchange_strong_explicit(obj, expected, desired, succ, fail) \ - ({ \ - __typeof__(obj) __v; \ - _Bool __r; \ - __v = (__typeof__(obj))__sync_val_compare_and_swap(obj, \ - *(expected), \ - desired); \ - __r = ((__typeof__(obj))*(expected) == __v); \ - *(expected) = __v; \ - __r; \ +#define atomic_compare_exchange_strong_explicit(obj, expected, desired, succ, \ + fail) \ + ({ \ + __typeof__(obj) __v; \ + _Bool __r; \ + __v = (__typeof__(obj))__sync_val_compare_and_swap( \ + obj, *(expected), desired); \ + __r = ((__typeof__(obj)) * (expected) == __v); \ + *(expected) = __v; \ + __r; \ }) -#define atomic_compare_exchange_weak_explicit(obj, expected, desired, succ, fail) \ - atomic_compare_exchange_strong_explicit(obj, expected, desired, succ, fail) +#define atomic_compare_exchange_weak_explicit(obj, expected, desired, succ, \ + fail) \ + atomic_compare_exchange_strong_explicit(obj, expected, desired, succ, \ + fail) #define atomic_exchange_explicit(obj, desired, order) \ __sync_lock_test_and_set(obj, desired) #endif -#define atomic_load(obj) \ - atomic_load_explicit(obj, memory_order_seq_cst) +#define atomic_load(obj) atomic_load_explicit(obj, memory_order_seq_cst) #define atomic_store(obj, arg) \ atomic_store_explicit(obj, arg, memory_order_seq_cst) #define atomic_fetch_add(obj, arg) \ @@ -173,9 +173,13 @@ typedef uint_fast64_t atomic_uintptr_t; atomic_fetch_and_explicit(obj, arg, memory_order_seq_cst) #define atomic_fetch_or(obj, arg) \ atomic_fetch_or_explicit(obj, arg, memory_order_seq_cst) -#define atomic_compare_exchange_strong(obj, expected, desired) \ - atomic_compare_exchange_strong_explicit(obj, expected, desired, memory_order_seq_cst, memory_order_seq_cst) -#define atomic_compare_exchange_weak(obj, expected, desired) \ - atomic_compare_exchange_weak_explicit(obj, expected, desired, memory_order_seq_cst, memory_order_seq_cst) -#define atomic_exchange(obj, desired) \ +#define atomic_compare_exchange_strong(obj, expected, desired) \ + atomic_compare_exchange_strong_explicit(obj, expected, desired, \ + memory_order_seq_cst, \ + memory_order_seq_cst) +#define atomic_compare_exchange_weak(obj, expected, desired) \ + atomic_compare_exchange_weak_explicit(obj, expected, desired, \ + memory_order_seq_cst, \ + memory_order_seq_cst) +#define atomic_exchange(obj, desired) \ atomic_exchange_explicit(obj, desired, memory_order_seq_cst) diff --git a/lib/isc/unix/include/isc/stdtime.h b/lib/isc/unix/include/isc/stdtime.h index cffe39a1a8..0503a28501 100644 --- a/lib/isc/unix/include/isc/stdtime.h +++ b/lib/isc/unix/include/isc/stdtime.h @@ -9,15 +9,15 @@ * information regarding copyright ownership. */ - #ifndef ISC_STDTIME_H #define ISC_STDTIME_H 1 /*! \file */ -#include #include +#include + /*% * It's public information that 'isc_stdtime_t' is an unsigned integral type. * Applications that want maximum portability should not assume anything diff --git a/lib/isc/unix/include/isc/syslog.h b/lib/isc/unix/include/isc/syslog.h index e0b8e8599b..457631e5e1 100644 --- a/lib/isc/unix/include/isc/syslog.h +++ b/lib/isc/unix/include/isc/syslog.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_SYSLOG_H #define ISC_SYSLOG_H 1 diff --git a/lib/isc/unix/include/isc/time.h b/lib/isc/unix/include/isc/time.h index 36177fa638..6e7afeb13a 100644 --- a/lib/isc/unix/include/isc/time.h +++ b/lib/isc/unix/include/isc/time.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_TIME_H #define ISC_TIME_H 1 @@ -37,7 +36,7 @@ struct isc_interval { unsigned int nanoseconds; }; -extern const isc_interval_t * const isc_interval_zero; +extern const isc_interval_t *const isc_interval_zero; /* * ISC_FORMATHTTPTIMESTAMP_SIZE needs to be 30 in C locale and potentially @@ -49,8 +48,8 @@ extern const isc_interval_t * const isc_interval_zero; ISC_LANG_BEGINDECLS void -isc_interval_set(isc_interval_t *i, - unsigned int seconds, unsigned int nanoseconds); +isc_interval_set(isc_interval_t *i, unsigned int seconds, + unsigned int nanoseconds); /*%< * Set 'i' to a value representing an interval of 'seconds' seconds and * 'nanoseconds' nanoseconds, suitable for use in isc_time_add() and @@ -84,11 +83,11 @@ isc_interval_iszero(const isc_interval_t *i); */ struct isc_time { - unsigned int seconds; - unsigned int nanoseconds; + unsigned int seconds; + unsigned int nanoseconds; }; -extern const isc_time_t * const isc_time_epoch; +extern const isc_time_t *const isc_time_epoch; void isc_time_set(isc_time_t *t, unsigned int seconds, unsigned int nanoseconds); diff --git a/lib/isc/unix/interfaceiter.c b/lib/isc/unix/interfaceiter.c index 5797a848d0..bb5a3a1001 100644 --- a/lib/isc/unix/interfaceiter.c +++ b/lib/isc/unix/interfaceiter.c @@ -9,20 +9,19 @@ * information regarding copyright ownership. */ - /*! \file */ -#include #include +#include #ifdef HAVE_SYS_SOCKIO_H -#include /* Required for ifiter_ioctl.c. */ +#include /* Required for ifiter_ioctl.c. */ #endif -#include +#include #include +#include #include #include -#include #include #include @@ -69,8 +68,7 @@ get_addr(unsigned int family, isc_netaddr_t *dst, struct sockaddr *src, dst->family = family; switch (family) { case AF_INET: - memmove(&dst->type.in, - &((struct sockaddr_in *) src)->sin_addr, + memmove(&dst->type.in, &((struct sockaddr_in *)src)->sin_addr, sizeof(struct in_addr)); break; case AF_INET6: @@ -115,8 +113,8 @@ get_addr(unsigned int family, isc_netaddr_t *dst, struct sockaddr *src, */ zone = if_nametoindex(ifname); if (zone != 0) { - isc_netaddr_setzone(dst, - (uint32_t)zone); + isc_netaddr_setzone( + dst, (uint32_t)zone); } #endif } @@ -134,18 +132,23 @@ get_addr(unsigned int family, isc_netaddr_t *dst, struct sockaddr *src, */ #ifdef __linux -#define ISC_IF_INET6_SZ \ - sizeof("00000000000000000000000000000001 01 80 10 80 XXXXXXloXXXXXXXX\n") -static isc_result_t linux_if_inet6_next(isc_interfaceiter_t *); -static isc_result_t linux_if_inet6_current(isc_interfaceiter_t *); -static void linux_if_inet6_first(isc_interfaceiter_t *iter); +#define ISC_IF_INET6_SZ \ + sizeof("00000000000000000000000000000001 01 80 10 80 " \ + "XXXXXXloXXXXXXXX\n") +static isc_result_t +linux_if_inet6_next(isc_interfaceiter_t *); +static isc_result_t +linux_if_inet6_current(isc_interfaceiter_t *); +static void +linux_if_inet6_first(isc_interfaceiter_t *iter); #endif #include "ifiter_getifaddrs.c" #ifdef __linux static void -linux_if_inet6_first(isc_interfaceiter_t *iter) { +linux_if_inet6_first(isc_interfaceiter_t *iter) +{ if (iter->proc != NULL) { rewind(iter->proc); (void)linux_if_inet6_next(iter); @@ -154,7 +157,8 @@ linux_if_inet6_first(isc_interfaceiter_t *iter) { } static isc_result_t -linux_if_inet6_next(isc_interfaceiter_t *iter) { +linux_if_inet6_next(isc_interfaceiter_t *iter) +{ if (iter->proc != NULL && fgets(iter->entry, sizeof(iter->entry), iter->proc) != NULL) iter->valid = ISC_R_SUCCESS; @@ -164,13 +168,14 @@ linux_if_inet6_next(isc_interfaceiter_t *iter) { } static isc_result_t -linux_if_inet6_current(isc_interfaceiter_t *iter) { - char address[33]; - char name[IF_NAMESIZE+1]; +linux_if_inet6_current(isc_interfaceiter_t *iter) +{ + char address[33]; + char name[IF_NAMESIZE + 1]; struct in6_addr addr6; - unsigned int ifindex, prefix, flag3, flag4; - int res; - unsigned int i; + unsigned int ifindex, prefix, flag3, flag4; + int res; + unsigned int i; if (iter->valid != ISC_R_SUCCESS) return (iter->valid); @@ -181,8 +186,8 @@ linux_if_inet6_current(isc_interfaceiter_t *iter) { return (ISC_R_FAILURE); } - res = sscanf(iter->entry, "%32[a-f0-9] %x %x %x %x %16s\n", - address, &ifindex, &prefix, &flag3, &flag4, name); + res = sscanf(iter->entry, "%32[a-f0-9] %x %x %x %x %16s\n", address, + &ifindex, &prefix, &flag3, &flag4, name); if (res != 6) { isc_log_write(isc_lctx, ISC_LOGCATEGORY_GENERAL, ISC_LOGMODULE_INTERFACE, ISC_LOG_ERROR, @@ -197,7 +202,7 @@ linux_if_inet6_current(isc_interfaceiter_t *iter) { return (ISC_R_FAILURE); } for (i = 0; i < 16; i++) { - unsigned char byte; + unsigned char byte; static const char hex[] = "0123456789abcdef"; byte = ((strchr(hex, address[i * 2]) - hex) << 4) | (strchr(hex, address[i * 2 + 1]) - hex); @@ -207,8 +212,7 @@ linux_if_inet6_current(isc_interfaceiter_t *iter) { iter->current.flags = INTERFACE_F_UP; isc_netaddr_fromin6(&iter->current.address, &addr6); if (isc_netaddr_islinklocal(&iter->current.address)) { - isc_netaddr_setzone(&iter->current.address, - (uint32_t)ifindex); + isc_netaddr_setzone(&iter->current.address, (uint32_t)ifindex); } for (i = 0; i < 16; i++) { if (prefix > 8) { @@ -230,8 +234,7 @@ linux_if_inet6_current(isc_interfaceiter_t *iter) { */ isc_result_t -isc_interfaceiter_current(isc_interfaceiter_t *iter, - isc_interface_t *ifdata) +isc_interfaceiter_current(isc_interfaceiter_t *iter, isc_interface_t *ifdata) { REQUIRE(iter->result == ISC_R_SUCCESS); memmove(ifdata, &iter->current, sizeof(*ifdata)); @@ -239,7 +242,8 @@ isc_interfaceiter_current(isc_interfaceiter_t *iter, } isc_result_t -isc_interfaceiter_first(isc_interfaceiter_t *iter) { +isc_interfaceiter_first(isc_interfaceiter_t *iter) +{ isc_result_t result; REQUIRE(VALID_IFITER(iter)); @@ -258,7 +262,8 @@ isc_interfaceiter_first(isc_interfaceiter_t *iter) { } isc_result_t -isc_interfaceiter_next(isc_interfaceiter_t *iter) { +isc_interfaceiter_next(isc_interfaceiter_t *iter) +{ isc_result_t result; REQUIRE(VALID_IFITER(iter)); diff --git a/lib/isc/unix/meminfo.c b/lib/isc/unix/meminfo.c index 9fb5b9f3a3..ddb6d3f1bc 100644 --- a/lib/isc/unix/meminfo.c +++ b/lib/isc/unix/meminfo.c @@ -9,15 +9,17 @@ * information regarding copyright ownership. */ -#include #include #include + +#include #if defined(HAVE_SYS_SYSCTL_H) && !defined(__linux__) #include #endif uint64_t -isc_meminfo_totalphys(void) { +isc_meminfo_totalphys(void) +{ #if defined(CTL_HW) && (defined(HW_PHYSMEM64) || defined(HW_MEMSIZE)) int mib[2]; mib[0] = CTL_HW; @@ -27,12 +29,12 @@ isc_meminfo_totalphys(void) { mib[1] = HW_PHYSMEM64; #endif uint64_t size = 0; - size_t len = sizeof(size); + size_t len = sizeof(size); if (sysctl(mib, 2, &size, &len, NULL, 0) == 0) return (size); #endif #if defined(_SC_PHYS_PAGES) && defined(_SC_PAGESIZE) - return ((size_t) (sysconf(_SC_PHYS_PAGES) * sysconf(_SC_PAGESIZE))); + return ((size_t)(sysconf(_SC_PHYS_PAGES) * sysconf(_SC_PAGESIZE))); #endif return (0); } diff --git a/lib/isc/unix/net.c b/lib/isc/unix/net.c index 8613b827da..83b8d49767 100644 --- a/lib/isc/unix/net.c +++ b/lib/isc/unix/net.c @@ -10,6 +10,7 @@ */ #include + #include #if defined(HAVE_SYS_SYSCTL_H) && !defined(__linux__) @@ -18,11 +19,9 @@ #endif #include #endif -#include - #include -#include #include +#include #include #include @@ -32,6 +31,8 @@ #include #include +#include + #ifndef socklen_t #define socklen_t unsigned int #endif @@ -48,10 +49,10 @@ */ #ifndef ISC_NET_PORTRANGELOW #define ISC_NET_PORTRANGELOW 1024 -#endif /* ISC_NET_PORTRANGELOW */ +#endif /* ISC_NET_PORTRANGELOW */ #ifndef ISC_NET_PORTRANGEHIGH #define ISC_NET_PORTRANGEHIGH 65535 -#endif /* ISC_NET_PORTRANGEHIGH */ +#endif /* ISC_NET_PORTRANGEHIGH */ #ifdef HAVE_SYSCTLBYNAME @@ -60,63 +61,68 @@ */ #if defined(__FreeBSD__) || defined(__APPLE__) || defined(__DragonFly__) #define USE_SYSCTL_PORTRANGE -#define SYSCTL_V4PORTRANGE_LOW "net.inet.ip.portrange.hifirst" -#define SYSCTL_V4PORTRANGE_HIGH "net.inet.ip.portrange.hilast" -#define SYSCTL_V6PORTRANGE_LOW "net.inet.ip.portrange.hifirst" -#define SYSCTL_V6PORTRANGE_HIGH "net.inet.ip.portrange.hilast" +#define SYSCTL_V4PORTRANGE_LOW "net.inet.ip.portrange.hifirst" +#define SYSCTL_V4PORTRANGE_HIGH "net.inet.ip.portrange.hilast" +#define SYSCTL_V6PORTRANGE_LOW "net.inet.ip.portrange.hifirst" +#define SYSCTL_V6PORTRANGE_HIGH "net.inet.ip.portrange.hilast" #endif #ifdef __NetBSD__ #define USE_SYSCTL_PORTRANGE -#define SYSCTL_V4PORTRANGE_LOW "net.inet.ip.anonportmin" -#define SYSCTL_V4PORTRANGE_HIGH "net.inet.ip.anonportmax" -#define SYSCTL_V6PORTRANGE_LOW "net.inet6.ip6.anonportmin" -#define SYSCTL_V6PORTRANGE_HIGH "net.inet6.ip6.anonportmax" +#define SYSCTL_V4PORTRANGE_LOW "net.inet.ip.anonportmin" +#define SYSCTL_V4PORTRANGE_HIGH "net.inet.ip.anonportmax" +#define SYSCTL_V6PORTRANGE_LOW "net.inet6.ip6.anonportmin" +#define SYSCTL_V6PORTRANGE_HIGH "net.inet6.ip6.anonportmax" #endif #else /* !HAVE_SYSCTLBYNAME */ #ifdef __OpenBSD__ #define USE_SYSCTL_PORTRANGE -#define SYSCTL_V4PORTRANGE_LOW { CTL_NET, PF_INET, IPPROTO_IP, \ - IPCTL_IPPORT_HIFIRSTAUTO } -#define SYSCTL_V4PORTRANGE_HIGH { CTL_NET, PF_INET, IPPROTO_IP, \ - IPCTL_IPPORT_HILASTAUTO } +#define SYSCTL_V4PORTRANGE_LOW \ + { \ + CTL_NET, PF_INET, IPPROTO_IP, IPCTL_IPPORT_HIFIRSTAUTO \ + } +#define SYSCTL_V4PORTRANGE_HIGH \ + { \ + CTL_NET, PF_INET, IPPROTO_IP, IPCTL_IPPORT_HILASTAUTO \ + } /* Same for IPv6 */ -#define SYSCTL_V6PORTRANGE_LOW SYSCTL_V4PORTRANGE_LOW -#define SYSCTL_V6PORTRANGE_HIGH SYSCTL_V4PORTRANGE_HIGH +#define SYSCTL_V6PORTRANGE_LOW SYSCTL_V4PORTRANGE_LOW +#define SYSCTL_V6PORTRANGE_HIGH SYSCTL_V4PORTRANGE_HIGH #endif #endif /* HAVE_SYSCTLBYNAME */ -static isc_once_t once_ipv6only = ISC_ONCE_INIT; +static isc_once_t once_ipv6only = ISC_ONCE_INIT; #ifdef __notyet__ -static isc_once_t once_ipv6pktinfo = ISC_ONCE_INIT; +static isc_once_t once_ipv6pktinfo = ISC_ONCE_INIT; #endif #ifndef ISC_CMSG_IP_TOS #ifdef __APPLE__ -#define ISC_CMSG_IP_TOS 0 /* As of 10.8.2. */ -#else /* ! __APPLE__ */ +#define ISC_CMSG_IP_TOS 0 /* As of 10.8.2. */ +#else /* ! __APPLE__ */ #define ISC_CMSG_IP_TOS 1 #endif /* ! __APPLE__ */ #endif /* ! ISC_CMSG_IP_TOS */ -static isc_once_t once = ISC_ONCE_INIT; -static isc_once_t once_dscp = ISC_ONCE_INIT; +static isc_once_t once = ISC_ONCE_INIT; +static isc_once_t once_dscp = ISC_ONCE_INIT; -static isc_result_t ipv4_result = ISC_R_NOTFOUND; -static isc_result_t ipv6_result = ISC_R_NOTFOUND; -static isc_result_t unix_result = ISC_R_NOTFOUND; -static isc_result_t ipv6only_result = ISC_R_NOTFOUND; -static isc_result_t ipv6pktinfo_result = ISC_R_NOTFOUND; -static unsigned int dscp_result = 0; +static isc_result_t ipv4_result = ISC_R_NOTFOUND; +static isc_result_t ipv6_result = ISC_R_NOTFOUND; +static isc_result_t unix_result = ISC_R_NOTFOUND; +static isc_result_t ipv6only_result = ISC_R_NOTFOUND; +static isc_result_t ipv6pktinfo_result = ISC_R_NOTFOUND; +static unsigned int dscp_result = 0; static isc_result_t -try_proto(int domain) { - int s; +try_proto(int domain) +{ + int s; isc_result_t result = ISC_R_SUCCESS; - char strbuf[ISC_STRERRORSIZE]; + char strbuf[ISC_STRERRORSIZE]; s = socket(domain, SOCK_STREAM, 0); if (s == -1) { @@ -137,22 +143,21 @@ try_proto(int domain) { default: strerror_r(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, - "socket() failed: %s", - strbuf); + "socket() failed: %s", strbuf); return (ISC_R_UNEXPECTED); } } if (domain == PF_INET6) { struct sockaddr_in6 sin6; - unsigned int len; + unsigned int len; /* * Check to see if IPv6 is broken, as is common on Linux. */ len = sizeof(sin6); - if (getsockname(s, (struct sockaddr *)&sin6, (void *)&len) < 0) - { + if (getsockname(s, (struct sockaddr *)&sin6, (void *)&len) < + 0) { isc_log_write(isc_lctx, ISC_LOGCATEGORY_GENERAL, ISC_LOGMODULE_SOCKET, ISC_LOG_ERROR, "retrieving the address of an IPv6 " @@ -165,14 +170,12 @@ try_proto(int domain) { if (len == sizeof(struct sockaddr_in6)) result = ISC_R_SUCCESS; else { - isc_log_write(isc_lctx, - ISC_LOGCATEGORY_GENERAL, + isc_log_write(isc_lctx, ISC_LOGCATEGORY_GENERAL, ISC_LOGMODULE_SOCKET, ISC_LOG_ERROR, "IPv6 structures in kernel and " "user space do not match."); - isc_log_write(isc_lctx, - ISC_LOGCATEGORY_GENERAL, + isc_log_write(isc_lctx, ISC_LOGCATEGORY_GENERAL, ISC_LOGMODULE_SOCKET, ISC_LOG_ERROR, "IPv6 is not supported."); @@ -187,7 +190,8 @@ try_proto(int domain) { } static void -initialize_action(void) { +initialize_action(void) +{ ipv4_result = try_proto(PF_INET); ipv6_result = try_proto(PF_INET6); #ifdef ISC_PLATFORM_HAVESYSUNH @@ -196,32 +200,37 @@ initialize_action(void) { } static void -initialize(void) { +initialize(void) +{ RUNTIME_CHECK(isc_once_do(&once, initialize_action) == ISC_R_SUCCESS); } isc_result_t -isc_net_probeipv4(void) { +isc_net_probeipv4(void) +{ initialize(); return (ipv4_result); } isc_result_t -isc_net_probeipv6(void) { +isc_net_probeipv6(void) +{ initialize(); return (ipv6_result); } isc_result_t -isc_net_probeunix(void) { +isc_net_probeunix(void) +{ initialize(); return (unix_result); } static void -try_ipv6only(void) { +try_ipv6only(void) +{ #ifdef IPV6_V6ONLY - int s, on; + int s, on; char strbuf[ISC_STRERRORSIZE]; #endif isc_result_t result; @@ -240,8 +249,7 @@ try_ipv6only(void) { s = socket(PF_INET6, SOCK_STREAM, 0); if (s == -1) { strerror_r(errno, strbuf, sizeof(strbuf)); - UNEXPECTED_ERROR(__FILE__, __LINE__, - "socket() failed: %s", + UNEXPECTED_ERROR(__FILE__, __LINE__, "socket() failed: %s", strbuf); ipv6only_result = ISC_R_UNEXPECTED; return; @@ -259,8 +267,7 @@ try_ipv6only(void) { s = socket(PF_INET6, SOCK_DGRAM, 0); if (s == -1) { strerror_r(errno, strbuf, sizeof(strbuf)); - UNEXPECTED_ERROR(__FILE__, __LINE__, - "socket() failed: %s", + UNEXPECTED_ERROR(__FILE__, __LINE__, "socket() failed: %s", strbuf); ipv6only_result = ISC_R_UNEXPECTED; return; @@ -281,18 +288,20 @@ close: } static void -initialize_ipv6only(void) { - RUNTIME_CHECK(isc_once_do(&once_ipv6only, - try_ipv6only) == ISC_R_SUCCESS); +initialize_ipv6only(void) +{ + RUNTIME_CHECK(isc_once_do(&once_ipv6only, try_ipv6only) == + ISC_R_SUCCESS); } #ifdef __notyet__ static void -try_ipv6pktinfo(void) { - int s, on; - char strbuf[ISC_STRERRORSIZE]; +try_ipv6pktinfo(void) +{ + int s, on; + char strbuf[ISC_STRERRORSIZE]; isc_result_t result; - int optname; + int optname; result = isc_net_probeipv6(); if (result != ISC_R_SUCCESS) { @@ -304,8 +313,7 @@ try_ipv6pktinfo(void) { s = socket(PF_INET6, SOCK_DGRAM, IPPROTO_UDP); if (s == -1) { strerror_r(errno, strbuf, sizeof(strbuf)); - UNEXPECTED_ERROR(__FILE__, __LINE__, - "socket() failed: %s", + UNEXPECTED_ERROR(__FILE__, __LINE__, "socket() failed: %s", strbuf); ipv6pktinfo_result = ISC_R_UNEXPECTED; return; @@ -330,20 +338,23 @@ close: } static void -initialize_ipv6pktinfo(void) { - RUNTIME_CHECK(isc_once_do(&once_ipv6pktinfo, - try_ipv6pktinfo) == ISC_R_SUCCESS); +initialize_ipv6pktinfo(void) +{ + RUNTIME_CHECK(isc_once_do(&once_ipv6pktinfo, try_ipv6pktinfo) == + ISC_R_SUCCESS); } #endif isc_result_t -isc_net_probe_ipv6only(void) { +isc_net_probe_ipv6only(void) +{ initialize_ipv6only(); return (ipv6only_result); } isc_result_t -isc_net_probe_ipv6pktinfo(void) { +isc_net_probe_ipv6pktinfo(void) +{ /* * XXXWPK if pktinfo were supported then we could listen on :: for ipv6 and get * the information about the destination address from pktinfo structure passed @@ -362,7 +373,8 @@ isc_net_probe_ipv6pktinfo(void) { #if ISC_CMSG_IP_TOS || defined(IPV6_TCLASS) static inline socklen_t -cmsg_len(socklen_t len) { +cmsg_len(socklen_t len) +{ #ifdef CMSG_LEN return (CMSG_LEN(len)); #else @@ -378,11 +390,12 @@ cmsg_len(socklen_t len) { } static inline socklen_t -cmsg_space(socklen_t len) { +cmsg_space(socklen_t len) +{ #ifdef CMSG_SPACE return (CMSG_SPACE(len)); #else - struct msghdr msg; + struct msghdr msg; struct cmsghdr *cmsgp; /* * XXX: The buffer length is an ad-hoc value, but should be enough @@ -409,9 +422,10 @@ cmsg_space(socklen_t len) { * Make a fd non-blocking. */ static isc_result_t -make_nonblock(int fd) { - int ret; - int flags; +make_nonblock(int fd) +{ + int ret; + int flags; char strbuf[ISC_STRERRORSIZE]; #ifdef USE_FIONBIO_IOCTL int on = 1; @@ -440,20 +454,21 @@ make_nonblock(int fd) { } static bool -cmsgsend(int s, int level, int type, struct addrinfo *res) { - char strbuf[ISC_STRERRORSIZE]; +cmsgsend(int s, int level, int type, struct addrinfo *res) +{ + char strbuf[ISC_STRERRORSIZE]; struct sockaddr_storage ss; - socklen_t len = sizeof(ss); - struct msghdr msg; + socklen_t len = sizeof(ss); + struct msghdr msg; union { struct cmsghdr h; - unsigned char b[256]; + unsigned char b[256]; } control; struct cmsghdr *cmsgp; - int dscp = (46 << 2); /* Expedited forwarding. */ - struct iovec iovec; - char buf[1] = { 0 }; - isc_result_t result; + int dscp = (46 << 2); /* Expedited forwarding. */ + struct iovec iovec; + char buf[1] = { 0 }; + isc_result_t result; if (bind(s, res->ai_addr, res->ai_addrlen) < 0) { strerror_r(errno, strbuf, sizeof(strbuf)); @@ -479,7 +494,7 @@ cmsgsend(int s, int level, int type, struct addrinfo *res) { msg.msg_namelen = len; msg.msg_iov = &iovec; msg.msg_iovlen = 1; - msg.msg_control = (void*)&control; + msg.msg_control = (void *)&control; msg.msg_controllen = 0; msg.msg_flags = 0; @@ -492,7 +507,7 @@ cmsgsend(int s, int level, int type, struct addrinfo *res) { cmsgp->cmsg_level = level; cmsgp->cmsg_type = type; cmsgp->cmsg_len = cmsg_len(sizeof(char)); - *(unsigned char*)CMSG_DATA(cmsgp) = dscp; + *(unsigned char *)CMSG_DATA(cmsgp) = dscp; msg.msg_controllen += cmsg_space(sizeof(char)); break; #endif @@ -512,7 +527,7 @@ cmsgsend(int s, int level, int type, struct addrinfo *res) { } if (sendmsg(s, &msg, 0) < 0) { - int debug = ISC_LOG_DEBUG(10); + int debug = ISC_LOG_DEBUG(10); const char *typestr; switch (errno) { #ifdef ENOPROTOOPT @@ -534,7 +549,8 @@ cmsgsend(int s, int level, int type, struct addrinfo *res) { "sendmsg: %s", strbuf); } else { typestr = (type == IP_TOS) ? "IP_TOS" : "IPV6_TCLASS"; - UNEXPECTED_ERROR(__FILE__, __LINE__, "probing " + UNEXPECTED_ERROR(__FILE__, __LINE__, + "probing " "sendmsg() with %s=%02x failed: %s", typestr, dscp, strbuf); } @@ -567,11 +583,12 @@ cmsgsend(int s, int level, int type, struct addrinfo *res) { #endif static void -try_dscp_v4(void) { +try_dscp_v4(void) +{ #ifdef IP_TOS - char strbuf[ISC_STRERRORSIZE]; + char strbuf[ISC_STRERRORSIZE]; struct addrinfo hints, *res0; - int s, dscp = 0, n; + int s, dscp = 0, n; #ifdef IP_RECVTOS int on = 1; #endif /* IP_RECVTOS */ @@ -626,11 +643,12 @@ try_dscp_v4(void) { } static void -try_dscp_v6(void) { +try_dscp_v6(void) +{ #ifdef IPV6_TCLASS - char strbuf[ISC_STRERRORSIZE]; + char strbuf[ISC_STRERRORSIZE]; struct addrinfo hints, *res0; - int s, dscp = 0, n; + int s, dscp = 0, n; #if defined(IPV6_RECVTCLASS) int on = 1; #endif /* IPV6_RECVTCLASS */ @@ -681,18 +699,21 @@ try_dscp_v6(void) { } static void -try_dscp(void) { +try_dscp(void) +{ try_dscp_v4(); try_dscp_v6(); } static void -initialize_dscp(void) { +initialize_dscp(void) +{ RUNTIME_CHECK(isc_once_do(&once_dscp, try_dscp) == ISC_R_SUCCESS); } unsigned int -isc_net_probedscp(void) { +isc_net_probedscp(void) +{ initialize_dscp(); return (dscp_result); } @@ -700,9 +721,10 @@ isc_net_probedscp(void) { #if defined(USE_SYSCTL_PORTRANGE) #if defined(HAVE_SYSCTLBYNAME) static isc_result_t -getudpportrange_sysctl(int af, in_port_t *low, in_port_t *high) { - int port_low, port_high; - size_t portlen; +getudpportrange_sysctl(int af, in_port_t *low, in_port_t *high) +{ + int port_low, port_high; + size_t portlen; const char *sysctlname_lowport, *sysctlname_hiport; if (af == AF_INET) { @@ -713,13 +735,13 @@ getudpportrange_sysctl(int af, in_port_t *low, in_port_t *high) { sysctlname_hiport = SYSCTL_V6PORTRANGE_HIGH; } portlen = sizeof(port_low); - if (sysctlbyname(sysctlname_lowport, &port_low, &portlen, - NULL, 0) < 0) { + if (sysctlbyname(sysctlname_lowport, &port_low, &portlen, NULL, 0) < + 0) { return (ISC_R_FAILURE); } portlen = sizeof(port_high); - if (sysctlbyname(sysctlname_hiport, &port_high, &portlen, - NULL, 0) < 0) { + if (sysctlbyname(sysctlname_hiport, &port_high, &portlen, NULL, 0) < + 0) { return (ISC_R_FAILURE); } if ((port_low & ~0xffff) != 0 || (port_high & ~0xffff) != 0) @@ -730,9 +752,10 @@ getudpportrange_sysctl(int af, in_port_t *low, in_port_t *high) { return (ISC_R_SUCCESS); } -#else /* !HAVE_SYSCTLBYNAME */ +#else /* !HAVE_SYSCTLBYNAME */ static isc_result_t -getudpportrange_sysctl(int af, in_port_t *low, in_port_t *high) { +getudpportrange_sysctl(int af, in_port_t *low, in_port_t *high) +{ int mib_lo4[4] = SYSCTL_V4PORTRANGE_LOW; int mib_hi4[4] = SYSCTL_V4PORTRANGE_HIGH; int mib_lo6[4] = SYSCTL_V6PORTRANGE_LOW; @@ -764,8 +787,8 @@ getudpportrange_sysctl(int af, in_port_t *low, in_port_t *high) { if ((port_low & ~0xffff) != 0 || (port_high & ~0xffff) != 0) return (ISC_R_RANGE); - *low = (in_port_t) port_low; - *high = (in_port_t) port_high; + *low = (in_port_t)port_low; + *high = (in_port_t)port_high; return (ISC_R_SUCCESS); } @@ -773,7 +796,8 @@ getudpportrange_sysctl(int af, in_port_t *low, in_port_t *high) { #endif /* USE_SYSCTL_PORTRANGE */ isc_result_t -isc_net_getudpportrange(int af, in_port_t *low, in_port_t *high) { +isc_net_getudpportrange(int af, in_port_t *low, in_port_t *high) +{ int result = ISC_R_FAILURE; #if !defined(USE_SYSCTL_PORTRANGE) && defined(__linux) FILE *fp; @@ -792,7 +816,7 @@ isc_net_getudpportrange(int af, in_port_t *low, in_port_t *high) { */ fp = fopen("/proc/sys/net/ipv4/ip_local_port_range", "r"); if (fp != NULL) { - int n; + int n; unsigned int l, h; n = fscanf(fp, "%u %u", &l, &h); @@ -812,32 +836,36 @@ isc_net_getudpportrange(int af, in_port_t *low, in_port_t *high) { *high = ISC_NET_PORTRANGEHIGH; } - return (ISC_R_SUCCESS); /* we currently never fail in this function */ + return (ISC_R_SUCCESS); /* we currently never fail in this function */ } void -isc_net_disableipv4(void) { +isc_net_disableipv4(void) +{ initialize(); if (ipv4_result == ISC_R_SUCCESS) ipv4_result = ISC_R_DISABLED; } void -isc_net_disableipv6(void) { +isc_net_disableipv6(void) +{ initialize(); if (ipv6_result == ISC_R_SUCCESS) ipv6_result = ISC_R_DISABLED; } void -isc_net_enableipv4(void) { +isc_net_enableipv4(void) +{ initialize(); if (ipv4_result == ISC_R_DISABLED) ipv4_result = ISC_R_SUCCESS; } void -isc_net_enableipv6(void) { +isc_net_enableipv6(void) +{ initialize(); if (ipv6_result == ISC_R_DISABLED) ipv6_result = ISC_R_SUCCESS; diff --git a/lib/isc/unix/os.c b/lib/isc/unix/os.c index bfb1164141..fdc833a17d 100644 --- a/lib/isc/unix/os.c +++ b/lib/isc/unix/os.c @@ -11,13 +11,13 @@ #include - #ifdef HAVE_SYSCONF #include static inline long -sysconf_ncpus(void) { +sysconf_ncpus(void) +{ #if defined(_SC_NPROCESSORS_ONLN) return sysconf((_SC_NPROCESSORS_ONLN)); #elif defined(_SC_NPROC_ONLN) @@ -29,17 +29,18 @@ sysconf_ncpus(void) { #endif /* HAVE_SYSCONF */ #if defined(HAVE_SYS_SYSCTL_H) && defined(HAVE_SYSCTLBYNAME) -#include /* for FreeBSD */ -#include /* for NetBSD */ +#include /* for NetBSD */ #include +#include /* for FreeBSD */ static int -sysctl_ncpus(void) { - int ncpu, result; +sysctl_ncpus(void) +{ + int ncpu, result; size_t len; len = sizeof(ncpu); - result = sysctlbyname("hw.ncpu", &ncpu, &len , 0, 0); + result = sysctlbyname("hw.ncpu", &ncpu, &len, 0, 0); if (result != -1) return (ncpu); return (0); @@ -47,7 +48,8 @@ sysctl_ncpus(void) { #endif unsigned int -isc_os_ncpus(void) { +isc_os_ncpus(void) +{ long ncpus = 0; #if defined(HAVE_SYSCONF) diff --git a/lib/isc/unix/pk11_api.c b/lib/isc/unix/pk11_api.c index 2b992029ab..9764f4e391 100644 --- a/lib/isc/unix/pk11_api.c +++ b/lib/isc/unix/pk11_api.c @@ -9,11 +9,10 @@ * information regarding copyright ownership. */ - /*! \file */ -#include #include +#include #include #include @@ -26,14 +25,15 @@ #include #define KEEP_PKCS11_NAMES -#include #include +#include static void *hPK11 = NULL; -static char loaderrmsg[1024]; +static char loaderrmsg[1024]; CK_RV -pkcs_C_Initialize(CK_VOID_PTR pReserved) { +pkcs_C_Initialize(CK_VOID_PTR pReserved) +{ CK_C_Initialize sym; if (hPK11 != NULL) @@ -43,8 +43,8 @@ pkcs_C_Initialize(CK_VOID_PTR pReserved) { if (hPK11 == NULL) { snprintf(loaderrmsg, sizeof(loaderrmsg), - "dlopen(\"%s\") failed: %s\n", - pk11_get_lib_name(), dlerror()); + "dlopen(\"%s\") failed: %s\n", pk11_get_lib_name(), + dlerror()); return (CKR_LIBRARY_LOAD_FAILED); } sym = (CK_C_Initialize)dlsym(hPK11, "C_Initialize"); @@ -53,14 +53,17 @@ pkcs_C_Initialize(CK_VOID_PTR pReserved) { return (*sym)(pReserved); } -char *pk11_get_load_error_message(void) { +char * +pk11_get_load_error_message(void) +{ return (loaderrmsg); } CK_RV -pkcs_C_Finalize(CK_VOID_PTR pReserved) { +pkcs_C_Finalize(CK_VOID_PTR pReserved) +{ CK_C_Finalize sym; - CK_RV rv; + CK_RV rv; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -79,7 +82,7 @@ pkcs_C_GetSlotList(CK_BBOOL tokenPresent, CK_SLOT_ID_PTR pSlotList, CK_ULONG_PTR pulCount) { static CK_C_GetSlotList sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -93,9 +96,10 @@ pkcs_C_GetSlotList(CK_BBOOL tokenPresent, CK_SLOT_ID_PTR pSlotList, } CK_RV -pkcs_C_GetTokenInfo(CK_SLOT_ID slotID, CK_TOKEN_INFO_PTR pInfo) { +pkcs_C_GetTokenInfo(CK_SLOT_ID slotID, CK_TOKEN_INFO_PTR pInfo) +{ static CK_C_GetTokenInfo sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -113,14 +117,13 @@ pkcs_C_GetMechanismInfo(CK_SLOT_ID slotID, CK_MECHANISM_TYPE type, CK_MECHANISM_INFO_PTR pInfo) { static CK_C_GetMechanismInfo sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); if ((sym == NULL) || (hPK11 != pPK11)) { pPK11 = hPK11; - sym = (CK_C_GetMechanismInfo)dlsym(hPK11, - "C_GetMechanismInfo"); + sym = (CK_C_GetMechanismInfo)dlsym(hPK11, "C_GetMechanismInfo"); } if (sym == NULL) return (CKR_FUNCTION_NOT_SUPPORTED); @@ -128,22 +131,21 @@ pkcs_C_GetMechanismInfo(CK_SLOT_ID slotID, CK_MECHANISM_TYPE type, } CK_RV -pkcs_C_OpenSession(CK_SLOT_ID slotID, CK_FLAGS flags, - CK_VOID_PTR pApplication, - CK_RV (*Notify) (CK_SESSION_HANDLE hSession, - CK_NOTIFICATION event, - CK_VOID_PTR pApplication), +pkcs_C_OpenSession(CK_SLOT_ID slotID, CK_FLAGS flags, CK_VOID_PTR pApplication, + CK_RV (*Notify)(CK_SESSION_HANDLE hSession, + CK_NOTIFICATION event, + CK_VOID_PTR pApplication), CK_SESSION_HANDLE_PTR phSession) { static CK_C_OpenSession sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) hPK11 = dlopen(pk11_get_lib_name(), RTLD_NOW); if (hPK11 == NULL) { snprintf(loaderrmsg, sizeof(loaderrmsg), - "dlopen(\"%s\") failed: %s\n", - pk11_get_lib_name(), dlerror()); + "dlopen(\"%s\") failed: %s\n", pk11_get_lib_name(), + dlerror()); return (CKR_LIBRARY_LOAD_FAILED); } if ((sym == NULL) || (hPK11 != pPK11)) { @@ -156,9 +158,10 @@ pkcs_C_OpenSession(CK_SLOT_ID slotID, CK_FLAGS flags, } CK_RV -pkcs_C_CloseSession(CK_SESSION_HANDLE hSession) { +pkcs_C_CloseSession(CK_SESSION_HANDLE hSession) +{ static CK_C_CloseSession sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -176,7 +179,7 @@ pkcs_C_Login(CK_SESSION_HANDLE hSession, CK_USER_TYPE userType, CK_CHAR_PTR pPin, CK_ULONG usPinLen) { static CK_C_Login sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -190,9 +193,10 @@ pkcs_C_Login(CK_SESSION_HANDLE hSession, CK_USER_TYPE userType, } CK_RV -pkcs_C_Logout(CK_SESSION_HANDLE hSession) { +pkcs_C_Logout(CK_SESSION_HANDLE hSession) +{ static CK_C_Logout sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -210,7 +214,7 @@ pkcs_C_CreateObject(CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG usCount, CK_OBJECT_HANDLE_PTR phObject) { static CK_C_CreateObject sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -224,9 +228,10 @@ pkcs_C_CreateObject(CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, } CK_RV -pkcs_C_DestroyObject(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject) { +pkcs_C_DestroyObject(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject) +{ static CK_C_DestroyObject sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -244,14 +249,14 @@ pkcs_C_GetAttributeValue(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG usCount) { static CK_C_GetAttributeValue sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); if ((sym == NULL) || (hPK11 != pPK11)) { pPK11 = hPK11; - sym = (CK_C_GetAttributeValue)dlsym(hPK11, - "C_GetAttributeValue"); + sym = (CK_C_GetAttributeValue)dlsym(hPK11, "C_" + "GetAttributeValue"); } if (sym == NULL) return (CKR_FUNCTION_NOT_SUPPORTED); @@ -263,14 +268,14 @@ pkcs_C_SetAttributeValue(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG usCount) { static CK_C_SetAttributeValue sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); if ((sym == NULL) || (hPK11 != pPK11)) { pPK11 = hPK11; - sym = (CK_C_SetAttributeValue)dlsym(hPK11, - "C_SetAttributeValue"); + sym = (CK_C_SetAttributeValue)dlsym(hPK11, "C_" + "SetAttributeValue"); } if (sym == NULL) return (CKR_FUNCTION_NOT_SUPPORTED); @@ -282,7 +287,7 @@ pkcs_C_FindObjectsInit(CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG usCount) { static CK_C_FindObjectsInit sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -300,7 +305,7 @@ pkcs_C_FindObjects(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE_PTR phObject, CK_ULONG usMaxObjectCount, CK_ULONG_PTR pusObjectCount) { static CK_C_FindObjects sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -317,14 +322,13 @@ CK_RV pkcs_C_FindObjectsFinal(CK_SESSION_HANDLE hSession) { static CK_C_FindObjectsFinal sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); if ((sym == NULL) || (hPK11 != pPK11)) { pPK11 = hPK11; - sym = (CK_C_FindObjectsFinal)dlsym(hPK11, - "C_FindObjectsFinal"); + sym = (CK_C_FindObjectsFinal)dlsym(hPK11, "C_FindObjectsFinal"); } if (sym == NULL) return (CKR_FUNCTION_NOT_SUPPORTED); @@ -336,7 +340,7 @@ pkcs_C_EncryptInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey) { static CK_C_EncryptInit sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -355,7 +359,7 @@ pkcs_C_Encrypt(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG_PTR pulEncryptedDataLen) { static CK_C_Encrypt sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -365,14 +369,15 @@ pkcs_C_Encrypt(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, } if (sym == NULL) return (CKR_FUNCTION_NOT_SUPPORTED); - return (*sym)(hSession, pData, ulDataLen, - pEncryptedData, pulEncryptedDataLen); + return (*sym)(hSession, pData, ulDataLen, pEncryptedData, + pulEncryptedDataLen); } CK_RV -pkcs_C_DigestInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism) { +pkcs_C_DigestInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism) +{ static CK_C_DigestInit sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -390,7 +395,7 @@ pkcs_C_DigestUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen) { static CK_C_DigestUpdate sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -408,7 +413,7 @@ pkcs_C_DigestFinal(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen) { static CK_C_DigestFinal sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -426,7 +431,7 @@ pkcs_C_SignInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey) { static CK_C_SignInit sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -440,12 +445,11 @@ pkcs_C_SignInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, } CK_RV -pkcs_C_Sign(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, - CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen) +pkcs_C_Sign(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, + CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen) { static CK_C_Sign sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -463,7 +467,7 @@ pkcs_C_SignUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen) { static CK_C_SignUpdate sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -481,7 +485,7 @@ pkcs_C_SignFinal(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen) { static CK_C_SignFinal sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -499,7 +503,7 @@ pkcs_C_VerifyInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey) { static CK_C_VerifyInit sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -513,12 +517,11 @@ pkcs_C_VerifyInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, } CK_RV -pkcs_C_Verify(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, - CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen) +pkcs_C_Verify(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, + CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen) { static CK_C_Verify sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -536,7 +539,7 @@ pkcs_C_VerifyUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen) { static CK_C_VerifyUpdate sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -554,7 +557,7 @@ pkcs_C_VerifyFinal(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen) { static CK_C_VerifyFinal sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -573,7 +576,7 @@ pkcs_C_GenerateKey(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE_PTR phKey) { static CK_C_GenerateKey sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -587,17 +590,16 @@ pkcs_C_GenerateKey(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, } CK_RV -pkcs_C_GenerateKeyPair(CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_ATTRIBUTE_PTR pPublicKeyTemplate, - CK_ULONG usPublicKeyAttributeCount, - CK_ATTRIBUTE_PTR pPrivateKeyTemplate, - CK_ULONG usPrivateKeyAttributeCount, +pkcs_C_GenerateKeyPair(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, + CK_ATTRIBUTE_PTR pPublicKeyTemplate, + CK_ULONG usPublicKeyAttributeCount, + CK_ATTRIBUTE_PTR pPrivateKeyTemplate, + CK_ULONG usPrivateKeyAttributeCount, CK_OBJECT_HANDLE_PTR phPrivateKey, CK_OBJECT_HANDLE_PTR phPublicKey) { static CK_C_GenerateKeyPair sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -607,14 +609,9 @@ pkcs_C_GenerateKeyPair(CK_SESSION_HANDLE hSession, } if (sym == NULL) return (CKR_FUNCTION_NOT_SUPPORTED); - return (*sym)(hSession, - pMechanism, - pPublicKeyTemplate, - usPublicKeyAttributeCount, - pPrivateKeyTemplate, - usPrivateKeyAttributeCount, - phPrivateKey, - phPublicKey); + return (*sym)(hSession, pMechanism, pPublicKeyTemplate, + usPublicKeyAttributeCount, pPrivateKeyTemplate, + usPrivateKeyAttributeCount, phPrivateKey, phPublicKey); } CK_RV @@ -623,7 +620,7 @@ pkcs_C_DeriveKey(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_ULONG ulAttributeCount, CK_OBJECT_HANDLE_PTR phKey) { static CK_C_DeriveKey sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -633,12 +630,8 @@ pkcs_C_DeriveKey(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, } if (sym == NULL) return (CKR_FUNCTION_NOT_SUPPORTED); - return (*sym)(hSession, - pMechanism, - hBaseKey, - pTemplate, - ulAttributeCount, - phKey); + return (*sym)(hSession, pMechanism, hBaseKey, pTemplate, + ulAttributeCount, phKey); } CK_RV @@ -646,7 +639,7 @@ pkcs_C_SeedRandom(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSeed, CK_ULONG ulSeedLen) { static CK_C_SeedRandom sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); @@ -664,7 +657,7 @@ pkcs_C_GenerateRandom(CK_SESSION_HANDLE hSession, CK_BYTE_PTR RandomData, CK_ULONG ulRandomLen) { static CK_C_GenerateRandom sym = NULL; - static void *pPK11 = NULL; + static void * pPK11 = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_LOAD_FAILED); diff --git a/lib/isc/unix/resource.c b/lib/isc/unix/resource.c index 1b8b945ef4..bf3b101f75 100644 --- a/lib/isc/unix/resource.c +++ b/lib/isc/unix/resource.c @@ -12,23 +12,24 @@ #include #include -#include -#include /* Required on some systems for . */ -#include - #include #include #include #include +#include +#include /* Required on some systems for . */ +#include + #ifdef __linux__ -#include /* To get the large NR_OPEN. */ +#include /* To get the large NR_OPEN. */ #endif #include "errno2result.h" static isc_result_t -resource2rlim(isc_resource_t resource, int *rlim_resource) { +resource2rlim(isc_resource_t resource, int *rlim_resource) +{ isc_result_t result = ISC_R_SUCCESS; switch (resource) { @@ -91,12 +92,13 @@ resource2rlim(isc_resource_t resource, int *rlim_resource) { } isc_result_t -isc_resource_setlimit(isc_resource_t resource, isc_resourcevalue_t value) { +isc_resource_setlimit(isc_resource_t resource, isc_resourcevalue_t value) +{ struct rlimit rl; - rlim_t rlim_value; - int unixresult; - int unixresource; - isc_result_t result; + rlim_t rlim_value; + int unixresult; + int unixresource; + isc_result_t result; result = resource2rlim(resource, &unixresource); if (result != ISC_R_SUCCESS) @@ -114,12 +116,10 @@ isc_resource_setlimit(isc_resource_t resource, isc_resourcevalue_t value) { * rlim_t is not overflowed. */ isc_resourcevalue_t rlim_max; - bool rlim_t_is_signed = - (((double)(rlim_t)-1) < 0); + bool rlim_t_is_signed = (((double)(rlim_t)-1) < 0); if (rlim_t_is_signed) - rlim_max = ~((rlim_t)1 << - (sizeof(rlim_t) * 8 - 1)); + rlim_max = ~((rlim_t)1 << (sizeof(rlim_t) * 8 - 1)); else rlim_max = (rlim_t)-1; @@ -150,7 +150,7 @@ isc_resource_setlimit(isc_resource_t resource, isc_resourcevalue_t value) { } #elif defined(__linux__) #ifndef NR_OPEN -#define NR_OPEN (1024*1024) +#define NR_OPEN (1024 * 1024) #endif /* @@ -176,10 +176,11 @@ isc_resource_setlimit(isc_resource_t resource, isc_resourcevalue_t value) { } isc_result_t -isc_resource_getlimit(isc_resource_t resource, isc_resourcevalue_t *value) { - int unixresource; +isc_resource_getlimit(isc_resource_t resource, isc_resourcevalue_t *value) +{ + int unixresource; struct rlimit rl; - isc_result_t result; + isc_result_t result; result = resource2rlim(resource, &unixresource); if (result != ISC_R_SUCCESS) { @@ -195,10 +196,11 @@ isc_resource_getlimit(isc_resource_t resource, isc_resourcevalue_t *value) { } isc_result_t -isc_resource_getcurlimit(isc_resource_t resource, isc_resourcevalue_t *value) { - int unixresource; +isc_resource_getcurlimit(isc_resource_t resource, isc_resourcevalue_t *value) +{ + int unixresource; struct rlimit rl; - isc_result_t result; + isc_result_t result; result = resource2rlim(resource, &unixresource); if (result != ISC_R_SUCCESS) { diff --git a/lib/isc/unix/socket.c b/lib/isc/unix/socket.c index d6c39502ce..abed749d3d 100644 --- a/lib/isc/unix/socket.c +++ b/lib/isc/unix/socket.c @@ -15,9 +15,9 @@ #include #include -#include #include #include +#include #if defined(HAVE_SYS_SYSCTL_H) && !defined(__linux__) #include #endif @@ -73,10 +73,10 @@ #include #endif -#include - #include "errno2result.h" +#include + #ifdef ENABLE_TCP_FASTOPEN #include #endif @@ -100,12 +100,11 @@ #elif defined(HAVE_SYS_DEVPOLL_H) || defined(HAVE_DEVPOLL_H) #define USE_DEVPOLL typedef struct { - unsigned int want_read : 1, - want_write : 1; + unsigned int want_read : 1, want_write : 1; } pollinfo_t; #else #define USE_SELECT -#endif /* HAVE_KQUEUE */ +#endif /* HAVE_KQUEUE */ /* * Set by the -T dscp option on the command line. If set to a value @@ -142,8 +141,8 @@ int isc_dscp_check_value = -1; #endif /* TUNE_LARGE */ #elif defined(USE_SELECT) #define ISC_SOCKET_MAXSOCKETS FD_SETSIZE -#endif /* USE_KQUEUE... */ -#endif /* ISC_SOCKET_MAXSOCKETS */ +#endif /* USE_KQUEUE... */ +#endif /* ISC_SOCKET_MAXSOCKETS */ #ifdef USE_SELECT /*% @@ -152,8 +151,8 @@ int isc_dscp_check_value = -1; */ #ifdef __APPLE__ #define _DARWIN_UNLIMITED_SELECT -#endif /* __APPLE__ */ -#endif /* USE_SELECT */ +#endif /* __APPLE__ */ +#endif /* USE_SELECT */ #ifdef ISC_SOCKET_USE_POLLWATCH /*% @@ -181,16 +180,17 @@ typedef enum { poll_idle, poll_active, poll_checking } pollstate_t; #ifndef ISC_SOCKET_POLLWATCH_TIMEOUT #define ISC_SOCKET_POLLWATCH_TIMEOUT 10 -#endif /* ISC_SOCKET_POLLWATCH_TIMEOUT */ -#endif /* ISC_SOCKET_USE_POLLWATCH */ +#endif /* ISC_SOCKET_POLLWATCH_TIMEOUT */ +#endif /* ISC_SOCKET_USE_POLLWATCH */ /*% * Per-FD lock buckets, we shuffle them around a bit as FDs come in herds. */ -#define FDLOCK_BITS 10 -#define FDLOCK_COUNT (1<>(FDLOCK_BITS/2)) |\ - (((fd)<<(FDLOCK_BITS/2))%(FDLOCK_COUNT))) +#define FDLOCK_BITS 10 +#define FDLOCK_COUNT (1 << FDLOCK_BITS) +#define FDLOCK_ID(fd) \ + (((fd) % (FDLOCK_COUNT) >> (FDLOCK_BITS / 2)) | \ + (((fd) << (FDLOCK_BITS / 2)) % (FDLOCK_COUNT))) /*% * Maximum number of events communicated with the kernel. There should normally @@ -199,9 +199,9 @@ typedef enum { poll_idle, poll_active, poll_checking } pollstate_t; #if defined(USE_KQUEUE) || defined(USE_EPOLL) || defined(USE_DEVPOLL) #ifndef ISC_SOCKET_MAXEVENTS #ifdef TUNE_LARGE -#define ISC_SOCKET_MAXEVENTS 2048 +#define ISC_SOCKET_MAXEVENTS 2048 #else -#define ISC_SOCKET_MAXEVENTS 64 +#define ISC_SOCKET_MAXEVENTS 64 #endif /* TUNE_LARGE */ #endif #endif @@ -222,11 +222,9 @@ typedef enum { poll_idle, poll_active, poll_checking } pollstate_t; * from recv() but will have errno==0. This is broken, but we have to * work around it here. */ -#define SOFT_ERROR(e) ((e) == EAGAIN || \ - (e) == EWOULDBLOCK || \ - (e) == ENOBUFS || \ - (e) == EINTR || \ - (e) == 0) +#define SOFT_ERROR(e) \ + ((e) == EAGAIN || (e) == EWOULDBLOCK || (e) == ENOBUFS || \ + (e) == EINTR || (e) == 0) #define DLVL(x) ISC_LOGCATEGORY_GENERAL, ISC_LOGMODULE_SOCKET, ISC_LOG_DEBUG(x) @@ -237,22 +235,22 @@ typedef enum { poll_idle, poll_active, poll_checking } pollstate_t; * DLVL(50) -- Event tracing, including receiving/sending completion events. * DLVL(20) -- Socket creation/destruction. */ -#define TRACE_LEVEL 90 -#define CORRECTNESS_LEVEL 70 -#define IOEVENT_LEVEL 60 -#define EVENT_LEVEL 50 -#define CREATION_LEVEL 20 +#define TRACE_LEVEL 90 +#define CORRECTNESS_LEVEL 70 +#define IOEVENT_LEVEL 60 +#define EVENT_LEVEL 50 +#define CREATION_LEVEL 20 -#define TRACE DLVL(TRACE_LEVEL) -#define CORRECTNESS DLVL(CORRECTNESS_LEVEL) -#define IOEVENT DLVL(IOEVENT_LEVEL) -#define EVENT DLVL(EVENT_LEVEL) -#define CREATION DLVL(CREATION_LEVEL) +#define TRACE DLVL(TRACE_LEVEL) +#define CORRECTNESS DLVL(CORRECTNESS_LEVEL) +#define IOEVENT DLVL(IOEVENT_LEVEL) +#define EVENT DLVL(EVENT_LEVEL) +#define CREATION DLVL(CREATION_LEVEL) typedef isc_event_t intev_t; -#define SOCKET_MAGIC ISC_MAGIC('I', 'O', 'i', 'o') -#define VALID_SOCKET(s) ISC_MAGIC_VALID(s, SOCKET_MAGIC) +#define SOCKET_MAGIC ISC_MAGIC('I', 'O', 'i', 'o') +#define VALID_SOCKET(s) ISC_MAGIC_VALID(s, SOCKET_MAGIC) /*! * IPv6 control information. If the socket is an IPv6 socket we want @@ -260,7 +258,7 @@ typedef isc_event_t intev_t; * set them on outgoing packets. */ #ifndef USE_CMSG -#define USE_CMSG 1 +#define USE_CMSG 1 #endif /*% @@ -270,7 +268,7 @@ typedef isc_event_t intev_t; */ #ifdef SO_TIMESTAMP #ifndef USE_CMSG -#define USE_CMSG 1 +#define USE_CMSG 1 #endif #endif @@ -279,15 +277,15 @@ typedef isc_event_t intev_t; */ #ifdef TUNE_LARGE #ifdef sun -#define RCVBUFSIZE (1*1024*1024) -#define SNDBUFSIZE (1*1024*1024) +#define RCVBUFSIZE (1 * 1024 * 1024) +#define SNDBUFSIZE (1 * 1024 * 1024) #else -#define RCVBUFSIZE (16*1024*1024) -#define SNDBUFSIZE (16*1024*1024) +#define RCVBUFSIZE (16 * 1024 * 1024) +#define SNDBUFSIZE (16 * 1024 * 1024) #endif #else -#define RCVBUFSIZE (32*1024) -#define SNDBUFSIZE (32*1024) +#define RCVBUFSIZE (32 * 1024) +#define SNDBUFSIZE (32 * 1024) #endif /* TUNE_LARGE */ /*% @@ -317,178 +315,191 @@ typedef isc_event_t intev_t; #define CMSG_SP_INT 24 /* Align cmsg buffers to be safe on SPARC etc. */ -#define RECVCMSGBUFLEN ISC_ALIGN(2*(CMSG_SP_IN6PKT + CMSG_SP_TIMESTAMP + CMSG_SP_TCTOS)+1, sizeof(void*)) -#define SENDCMSGBUFLEN ISC_ALIGN(2*(CMSG_SP_IN6PKT + CMSG_SP_INT + CMSG_SP_TCTOS)+1, sizeof(void*)) +#define RECVCMSGBUFLEN \ + ISC_ALIGN(2 * (CMSG_SP_IN6PKT + CMSG_SP_TIMESTAMP + CMSG_SP_TCTOS) + \ + 1, \ + sizeof(void *)) +#define SENDCMSGBUFLEN \ + ISC_ALIGN(2 * (CMSG_SP_IN6PKT + CMSG_SP_INT + CMSG_SP_TCTOS) + 1, \ + sizeof(void *)) /*% * The number of times a send operation is repeated if the result is EINTR. */ #define NRETRIES 10 -typedef struct isc__socket isc__socket_t; -typedef struct isc__socketmgr isc__socketmgr_t; +typedef struct isc__socket isc__socket_t; +typedef struct isc__socketmgr isc__socketmgr_t; typedef struct isc__socketthread isc__socketthread_t; #define NEWCONNSOCK(ev) ((isc__socket_t *)(ev)->newsocket) struct isc__socket { /* Not locked. */ - isc_socket_t common; - isc__socketmgr_t *manager; - isc_mutex_t lock; - isc_sockettype_t type; - const isc_statscounter_t *statsindex; - isc_refcount_t references; + isc_socket_t common; + isc__socketmgr_t * manager; + isc_mutex_t lock; + isc_sockettype_t type; + const isc_statscounter_t *statsindex; + isc_refcount_t references; /* Locked by socket lock. */ - ISC_LINK(isc__socket_t) link; - int fd; - int pf; - int threadid; - char name[16]; - void * tag; + ISC_LINK(isc__socket_t) link; + int fd; + int pf; + int threadid; + char name[16]; + void *tag; - ISC_LIST(isc_socketevent_t) send_list; - ISC_LIST(isc_socketevent_t) recv_list; - ISC_LIST(isc_socket_newconnev_t) accept_list; - ISC_LIST(isc_socket_connev_t) connect_list; + ISC_LIST(isc_socketevent_t) send_list; + ISC_LIST(isc_socketevent_t) recv_list; + ISC_LIST(isc_socket_newconnev_t) accept_list; + ISC_LIST(isc_socket_connev_t) connect_list; - isc_sockaddr_t peer_address; /* remote address */ + isc_sockaddr_t peer_address; /* remote address */ - unsigned int listener : 1, /* listener socket */ - connected : 1, - connecting : 1, /* connect pending */ - bound : 1, /* bound to local addr */ - dupped : 1, - active : 1, /* currently active */ - pktdscp : 1; /* per packet dscp */ + unsigned int listener : 1, /* listener socket */ + connected : 1, connecting : 1, /* connect pending */ + bound : 1, /* bound to local addr */ + dupped : 1, active : 1, /* currently active */ + pktdscp : 1; /* per packet dscp */ #ifdef ISC_PLATFORM_RECVOVERFLOW - unsigned char overflow; /* used for MSG_TRUNC fake */ + unsigned char overflow; /* used for MSG_TRUNC fake */ #endif - unsigned int dscp; + unsigned int dscp; }; -#define SOCKET_MANAGER_MAGIC ISC_MAGIC('I', 'O', 'm', 'g') -#define VALID_MANAGER(m) ISC_MAGIC_VALID(m, SOCKET_MANAGER_MAGIC) +#define SOCKET_MANAGER_MAGIC ISC_MAGIC('I', 'O', 'm', 'g') +#define VALID_MANAGER(m) ISC_MAGIC_VALID(m, SOCKET_MANAGER_MAGIC) struct isc__socketmgr { /* Not locked. */ - isc_socketmgr_t common; - isc_mem_t *mctx; - isc_mutex_t lock; - isc_stats_t *stats; - int nthreads; - isc__socketthread_t *threads; - unsigned int maxsocks; + isc_socketmgr_t common; + isc_mem_t * mctx; + isc_mutex_t lock; + isc_stats_t * stats; + int nthreads; + isc__socketthread_t *threads; + unsigned int maxsocks; /* Locked by manager lock. */ - ISC_LIST(isc__socket_t) socklist; - int reserved; /* unlocked */ - isc_condition_t shutdown_ok; - size_t maxudp; + ISC_LIST(isc__socket_t) socklist; + int reserved; /* unlocked */ + isc_condition_t shutdown_ok; + size_t maxudp; }; struct isc__socketthread { - isc__socketmgr_t * manager; - int threadid; - isc_thread_t thread; - int pipe_fds[2]; - isc_mutex_t *fdlock; + isc__socketmgr_t *manager; + int threadid; + isc_thread_t thread; + int pipe_fds[2]; + isc_mutex_t * fdlock; /* Locked by fdlock. */ - isc__socket_t **fds; - int *fdstate; + isc__socket_t **fds; + int * fdstate; #ifdef USE_KQUEUE - int kqueue_fd; - int nevents; - struct kevent *events; -#endif /* USE_KQUEUE */ + int kqueue_fd; + int nevents; + struct kevent *events; +#endif /* USE_KQUEUE */ #ifdef USE_EPOLL - int epoll_fd; - int nevents; - struct epoll_event *events; - uint32_t *epoll_events; -#endif /* USE_EPOLL */ + int epoll_fd; + int nevents; + struct epoll_event *events; + uint32_t * epoll_events; +#endif /* USE_EPOLL */ #ifdef USE_DEVPOLL - int devpoll_fd; - isc_resourcevalue_t open_max; - unsigned int calls; - int nevents; - struct pollfd *events; - pollinfo_t *fdpollinfo; -#endif /* USE_DEVPOLL */ + int devpoll_fd; + isc_resourcevalue_t open_max; + unsigned int calls; + int nevents; + struct pollfd * events; + pollinfo_t * fdpollinfo; +#endif /* USE_DEVPOLL */ #ifdef USE_SELECT - int fd_bufsize; - fd_set *read_fds; - fd_set *read_fds_copy; - fd_set *write_fds; - fd_set *write_fds_copy; - int maxfd; -#endif /* USE_SELECT */ + int fd_bufsize; + fd_set *read_fds; + fd_set *read_fds_copy; + fd_set *write_fds; + fd_set *write_fds_copy; + int maxfd; +#endif /* USE_SELECT */ }; - -#define CLOSED 0 /* this one must be zero */ -#define MANAGED 1 -#define CLOSE_PENDING 2 +#define CLOSED 0 /* this one must be zero */ +#define MANAGED 1 +#define CLOSE_PENDING 2 /* * send() and recv() iovec counts */ -#define MAXSCATTERGATHER_SEND (ISC_SOCKET_MAXSCATTERGATHER) +#define MAXSCATTERGATHER_SEND (ISC_SOCKET_MAXSCATTERGATHER) #ifdef ISC_PLATFORM_RECVOVERFLOW -# define MAXSCATTERGATHER_RECV (ISC_SOCKET_MAXSCATTERGATHER + 1) +#define MAXSCATTERGATHER_RECV (ISC_SOCKET_MAXSCATTERGATHER + 1) #else -# define MAXSCATTERGATHER_RECV (ISC_SOCKET_MAXSCATTERGATHER) +#define MAXSCATTERGATHER_RECV (ISC_SOCKET_MAXSCATTERGATHER) #endif -static isc_result_t socket_create(isc_socketmgr_t *manager0, int pf, - isc_sockettype_t type, - isc_socket_t **socketp, - isc_socket_t *dup_socket); -static void send_recvdone_event(isc__socket_t *, isc_socketevent_t **); -static void send_senddone_event(isc__socket_t *, isc_socketevent_t **); -static void send_connectdone_event(isc__socket_t *, isc_socket_connev_t **); -static void free_socket(isc__socket_t **); -static isc_result_t allocate_socket(isc__socketmgr_t *, isc_sockettype_t, - isc__socket_t **); -static void destroy(isc__socket_t **); -static void internal_accept(isc__socket_t *); -static void internal_connect(isc__socket_t *); -static void internal_recv(isc__socket_t *); -static void internal_send(isc__socket_t *); -static void process_cmsg(isc__socket_t *, struct msghdr *, isc_socketevent_t *); -static void build_msghdr_send(isc__socket_t *, char *, isc_socketevent_t *, - struct msghdr *, struct iovec *, size_t *); -static void build_msghdr_recv(isc__socket_t *, char *, isc_socketevent_t *, - struct msghdr *, struct iovec *, size_t *); -static bool process_ctlfd(isc__socketthread_t *thread); -static void setdscp(isc__socket_t *sock, isc_dscp_t dscp); +static isc_result_t +socket_create(isc_socketmgr_t *manager0, int pf, isc_sockettype_t type, + isc_socket_t **socketp, isc_socket_t *dup_socket); +static void +send_recvdone_event(isc__socket_t *, isc_socketevent_t **); +static void +send_senddone_event(isc__socket_t *, isc_socketevent_t **); +static void +send_connectdone_event(isc__socket_t *, isc_socket_connev_t **); +static void +free_socket(isc__socket_t **); +static isc_result_t +allocate_socket(isc__socketmgr_t *, isc_sockettype_t, isc__socket_t **); +static void +destroy(isc__socket_t **); +static void +internal_accept(isc__socket_t *); +static void +internal_connect(isc__socket_t *); +static void +internal_recv(isc__socket_t *); +static void +internal_send(isc__socket_t *); +static void +process_cmsg(isc__socket_t *, struct msghdr *, isc_socketevent_t *); +static void +build_msghdr_send(isc__socket_t *, char *, isc_socketevent_t *, struct msghdr *, + struct iovec *, size_t *); +static void +build_msghdr_recv(isc__socket_t *, char *, isc_socketevent_t *, struct msghdr *, + struct iovec *, size_t *); +static bool +process_ctlfd(isc__socketthread_t *thread); +static void +setdscp(isc__socket_t *sock, isc_dscp_t dscp); -#define SELECT_POKE_SHUTDOWN (-1) -#define SELECT_POKE_NOTHING (-2) -#define SELECT_POKE_READ (-3) -#define SELECT_POKE_ACCEPT (-3) /*%< Same as _READ */ -#define SELECT_POKE_WRITE (-4) -#define SELECT_POKE_CONNECT (-4) /*%< Same as _WRITE */ -#define SELECT_POKE_CLOSE (-5) +#define SELECT_POKE_SHUTDOWN (-1) +#define SELECT_POKE_NOTHING (-2) +#define SELECT_POKE_READ (-3) +#define SELECT_POKE_ACCEPT (-3) /*%< Same as _READ */ +#define SELECT_POKE_WRITE (-4) +#define SELECT_POKE_CONNECT (-4) /*%< Same as _WRITE */ +#define SELECT_POKE_CLOSE (-5) /*% * Shortcut index arrays to get access to statistics counters. */ -enum { - STATID_OPEN = 0, - STATID_OPENFAIL = 1, - STATID_CLOSE = 2, - STATID_BINDFAIL = 3, - STATID_CONNECTFAIL = 4, - STATID_CONNECT = 5, - STATID_ACCEPTFAIL = 6, - STATID_ACCEPT = 7, - STATID_SENDFAIL = 8, - STATID_RECVFAIL = 9, - STATID_ACTIVE = 10 -}; +enum { STATID_OPEN = 0, + STATID_OPENFAIL = 1, + STATID_CLOSE = 2, + STATID_BINDFAIL = 3, + STATID_CONNECTFAIL = 4, + STATID_CONNECT = 5, + STATID_ACCEPTFAIL = 6, + STATID_ACCEPT = 7, + STATID_SENDFAIL = 8, + STATID_RECVFAIL = 9, + STATID_ACTIVE = 10 }; static const isc_statscounter_t udp4statsindex[] = { isc_sockstatscounter_udp4open, isc_sockstatscounter_udp4openfail, @@ -516,42 +527,27 @@ static const isc_statscounter_t udp6statsindex[] = { isc_sockstatscounter_udp6active }; static const isc_statscounter_t tcp4statsindex[] = { - isc_sockstatscounter_tcp4open, - isc_sockstatscounter_tcp4openfail, - isc_sockstatscounter_tcp4close, - isc_sockstatscounter_tcp4bindfail, - isc_sockstatscounter_tcp4connectfail, - isc_sockstatscounter_tcp4connect, - isc_sockstatscounter_tcp4acceptfail, - isc_sockstatscounter_tcp4accept, - isc_sockstatscounter_tcp4sendfail, - isc_sockstatscounter_tcp4recvfail, + isc_sockstatscounter_tcp4open, isc_sockstatscounter_tcp4openfail, + isc_sockstatscounter_tcp4close, isc_sockstatscounter_tcp4bindfail, + isc_sockstatscounter_tcp4connectfail, isc_sockstatscounter_tcp4connect, + isc_sockstatscounter_tcp4acceptfail, isc_sockstatscounter_tcp4accept, + isc_sockstatscounter_tcp4sendfail, isc_sockstatscounter_tcp4recvfail, isc_sockstatscounter_tcp4active }; static const isc_statscounter_t tcp6statsindex[] = { - isc_sockstatscounter_tcp6open, - isc_sockstatscounter_tcp6openfail, - isc_sockstatscounter_tcp6close, - isc_sockstatscounter_tcp6bindfail, - isc_sockstatscounter_tcp6connectfail, - isc_sockstatscounter_tcp6connect, - isc_sockstatscounter_tcp6acceptfail, - isc_sockstatscounter_tcp6accept, - isc_sockstatscounter_tcp6sendfail, - isc_sockstatscounter_tcp6recvfail, + isc_sockstatscounter_tcp6open, isc_sockstatscounter_tcp6openfail, + isc_sockstatscounter_tcp6close, isc_sockstatscounter_tcp6bindfail, + isc_sockstatscounter_tcp6connectfail, isc_sockstatscounter_tcp6connect, + isc_sockstatscounter_tcp6acceptfail, isc_sockstatscounter_tcp6accept, + isc_sockstatscounter_tcp6sendfail, isc_sockstatscounter_tcp6recvfail, isc_sockstatscounter_tcp6active }; static const isc_statscounter_t unixstatsindex[] = { - isc_sockstatscounter_unixopen, - isc_sockstatscounter_unixopenfail, - isc_sockstatscounter_unixclose, - isc_sockstatscounter_unixbindfail, - isc_sockstatscounter_unixconnectfail, - isc_sockstatscounter_unixconnect, - isc_sockstatscounter_unixacceptfail, - isc_sockstatscounter_unixaccept, - isc_sockstatscounter_unixsendfail, - isc_sockstatscounter_unixrecvfail, + isc_sockstatscounter_unixopen, isc_sockstatscounter_unixopenfail, + isc_sockstatscounter_unixclose, isc_sockstatscounter_unixbindfail, + isc_sockstatscounter_unixconnectfail, isc_sockstatscounter_unixconnect, + isc_sockstatscounter_unixacceptfail, isc_sockstatscounter_unixaccept, + isc_sockstatscounter_unixsendfail, isc_sockstatscounter_unixrecvfail, isc_sockstatscounter_unixactive }; static const isc_statscounter_t rawstatsindex[] = { @@ -572,46 +568,45 @@ static int gen_threadid(isc__socket_t *sock); static int -gen_threadid(isc__socket_t *sock) { +gen_threadid(isc__socket_t *sock) +{ return (sock->fd % sock->manager->nthreads); } static void -manager_log(isc__socketmgr_t *sockmgr, - isc_logcategory_t *category, isc_logmodule_t *module, int level, - const char *fmt, ...) ISC_FORMAT_PRINTF(5, 6); +manager_log(isc__socketmgr_t *sockmgr, isc_logcategory_t *category, + isc_logmodule_t *module, int level, const char *fmt, ...) + ISC_FORMAT_PRINTF(5, 6); static void -manager_log(isc__socketmgr_t *sockmgr, - isc_logcategory_t *category, isc_logmodule_t *module, int level, - const char *fmt, ...) +manager_log(isc__socketmgr_t *sockmgr, isc_logcategory_t *category, + isc_logmodule_t *module, int level, const char *fmt, ...) { - char msgbuf[2048]; + char msgbuf[2048]; va_list ap; - if (! isc_log_wouldlog(isc_lctx, level)) + if (!isc_log_wouldlog(isc_lctx, level)) return; va_start(ap, fmt); vsnprintf(msgbuf, sizeof(msgbuf), fmt, ap); va_end(ap); - isc_log_write(isc_lctx, category, module, level, - "sockmgr %p: %s", sockmgr, msgbuf); + isc_log_write(isc_lctx, category, module, level, "sockmgr %p: %s", + sockmgr, msgbuf); } static void -thread_log(isc__socketthread_t *thread, - isc_logcategory_t *category, isc_logmodule_t *module, int level, - const char *fmt, ...) ISC_FORMAT_PRINTF(5, 6); +thread_log(isc__socketthread_t *thread, isc_logcategory_t *category, + isc_logmodule_t *module, int level, const char *fmt, ...) + ISC_FORMAT_PRINTF(5, 6); static void -thread_log(isc__socketthread_t *thread, - isc_logcategory_t *category, isc_logmodule_t *module, int level, - const char *fmt, ...) +thread_log(isc__socketthread_t *thread, isc_logcategory_t *category, + isc_logmodule_t *module, int level, const char *fmt, ...) { - char msgbuf[2048]; + char msgbuf[2048]; va_list ap; - if (! isc_log_wouldlog(isc_lctx, level)) { + if (!isc_log_wouldlog(isc_lctx, level)) { return; } @@ -620,8 +615,8 @@ thread_log(isc__socketthread_t *thread, va_end(ap); isc_log_write(isc_lctx, category, module, level, - "sockmgr %p thread %d: %s", - thread->manager, thread->threadid, msgbuf); + "sockmgr %p thread %d: %s", thread->manager, + thread->threadid, msgbuf); } static void @@ -633,11 +628,11 @@ socket_log(isc__socket_t *sock, const isc_sockaddr_t *address, isc_logcategory_t *category, isc_logmodule_t *module, int level, const char *fmt, ...) { - char msgbuf[2048]; - char peerbuf[ISC_SOCKADDR_FORMATSIZE]; + char msgbuf[2048]; + char peerbuf[ISC_SOCKADDR_FORMATSIZE]; va_list ap; - if (! isc_log_wouldlog(isc_lctx, level)) + if (!isc_log_wouldlog(isc_lctx, level)) return; va_start(ap, fmt); @@ -658,7 +653,8 @@ socket_log(isc__socket_t *sock, const isc_sockaddr_t *address, * Increment socket-related statistics counters. */ static inline void -inc_stats(isc_stats_t *stats, isc_statscounter_t counterid) { +inc_stats(isc_stats_t *stats, isc_statscounter_t counterid) +{ REQUIRE(counterid != -1); if (stats != NULL) @@ -669,7 +665,8 @@ inc_stats(isc_stats_t *stats, isc_statscounter_t counterid) { * Decrement socket-related statistics counters. */ static inline void -dec_stats(isc_stats_t *stats, isc_statscounter_t counterid) { +dec_stats(isc_stats_t *stats, isc_statscounter_t counterid) +{ REQUIRE(counterid != -1); if (stats != NULL) @@ -677,7 +674,8 @@ dec_stats(isc_stats_t *stats, isc_statscounter_t counterid) { } static inline isc_result_t -watch_fd(isc__socketthread_t *thread, int fd, int msg) { +watch_fd(isc__socketthread_t *thread, int fd, int msg) +{ isc_result_t result = ISC_R_SUCCESS; #ifdef USE_KQUEUE @@ -698,9 +696,9 @@ watch_fd(isc__socketthread_t *thread, int fd, int msg) { return (result); #elif defined(USE_EPOLL) struct epoll_event event; - uint32_t oldevents; - int ret; - int op; + uint32_t oldevents; + int ret; + int op; oldevents = thread->epoll_events[fd]; if (msg == SELECT_POKE_READ) { @@ -719,7 +717,8 @@ watch_fd(isc__socketthread_t *thread, int fd, int msg) { if (errno == EEXIST) { UNEXPECTED_ERROR(__FILE__, __LINE__, "epoll_ctl(ADD/MOD) returned " - "EEXIST for fd %d", fd); + "EEXIST for fd %d", + fd); } result = isc__errno2result(errno); } @@ -727,7 +726,7 @@ watch_fd(isc__socketthread_t *thread, int fd, int msg) { return (result); #elif defined(USE_DEVPOLL) struct pollfd pfd; - int lockid = FDLOCK_ID(fd); + int lockid = FDLOCK_ID(fd); memset(&pfd, 0, sizeof(pfd)); if (msg == SELECT_POKE_READ) { @@ -763,7 +762,8 @@ watch_fd(isc__socketthread_t *thread, int fd, int msg) { } static inline isc_result_t -unwatch_fd(isc__socketthread_t *thread, int fd, int msg) { +unwatch_fd(isc__socketthread_t *thread, int fd, int msg) +{ isc_result_t result = ISC_R_SUCCESS; #ifdef USE_KQUEUE @@ -784,8 +784,8 @@ unwatch_fd(isc__socketthread_t *thread, int fd, int msg) { return (result); #elif defined(USE_EPOLL) struct epoll_event event; - int ret; - int op; + int ret; + int op; if (msg == SELECT_POKE_READ) { thread->epoll_events[fd] &= ~(EPOLLIN); @@ -802,15 +802,15 @@ unwatch_fd(isc__socketthread_t *thread, int fd, int msg) { if (ret == -1 && errno != ENOENT) { char strbuf[ISC_STRERRORSIZE]; strerror_r(errno, strbuf, sizeof(strbuf)); - UNEXPECTED_ERROR(__FILE__, __LINE__, - "epoll_ctl(DEL), %d: %s", fd, strbuf); + UNEXPECTED_ERROR(__FILE__, __LINE__, "epoll_ctl(DEL), %d: %s", + fd, strbuf); result = ISC_R_UNEXPECTED; } return (result); #elif defined(USE_DEVPOLL) struct pollfd pfds[2]; - size_t writelen = sizeof(pfds[0]); - int lockid = FDLOCK_ID(fd); + size_t writelen = sizeof(pfds[0]); + int lockid = FDLOCK_ID(fd); memset(pfds, 0, sizeof(pfds)); pfds[0].events = POLLREMOVE; @@ -821,16 +821,12 @@ unwatch_fd(isc__socketthread_t *thread, int fd, int msg) { * only provides a way of canceling per FD, we may need to re-poll the * socket for the other operation. */ - if (msg == SELECT_POKE_READ && - thread->fdpollinfo[fd].want_write == 1) - { + if (msg == SELECT_POKE_READ && thread->fdpollinfo[fd].want_write == 1) { pfds[1].events = POLLOUT; pfds[1].fd = fd; writelen += sizeof(pfds[1]); } - if (msg == SELECT_POKE_WRITE && - thread->fdpollinfo[fd].want_read == 1) - { + if (msg == SELECT_POKE_WRITE && thread->fdpollinfo[fd].want_read == 1) { pfds[1].events = POLLIN; pfds[1].fd = fd; writelen += sizeof(pfds[1]); @@ -865,9 +861,10 @@ unwatch_fd(isc__socketthread_t *thread, int fd, int msg) { * on a fd provided */ static void -wakeup_socket(isc__socketthread_t *thread, int fd, int msg) { +wakeup_socket(isc__socketthread_t *thread, int fd, int msg) +{ isc_result_t result; - int lockid = FDLOCK_ID(fd); + int lockid = FDLOCK_ID(fd); /* * This is a wakeup on a socket. If the socket is not in the @@ -921,8 +918,8 @@ wakeup_socket(isc__socketthread_t *thread, int fd, int msg) { */ isc_log_write(isc_lctx, ISC_LOGCATEGORY_GENERAL, ISC_LOGMODULE_SOCKET, ISC_LOG_ERROR, - "failed to start watching FD (%d): %s", - fd, isc_result_totext(result)); + "failed to start watching FD (%d): %s", fd, + isc_result_totext(result)); } } @@ -932,17 +929,18 @@ wakeup_socket(isc__socketthread_t *thread, int fd, int msg) { * will not get partial writes. */ static void -select_poke(isc__socketmgr_t *mgr, int threadid, int fd, int msg) { - int cc; - int buf[2]; +select_poke(isc__socketmgr_t *mgr, int threadid, int fd, int msg) +{ + int cc; + int buf[2]; char strbuf[ISC_STRERRORSIZE]; buf[0] = fd; buf[1] = msg; do { - cc = write(mgr->threads[threadid].pipe_fds[1], - buf, sizeof(buf)); + cc = write(mgr->threads[threadid].pipe_fds[1], buf, + sizeof(buf)); #ifdef ENOSR /* * Treat ENOSR as EAGAIN but loop slowly as it is @@ -958,8 +956,7 @@ select_poke(isc__socketmgr_t *mgr, int threadid, int fd, int msg) { if (cc < 0) { strerror_r(errno, strbuf, sizeof(strbuf)); FATAL_ERROR(__FILE__, __LINE__, - "write() failed during watcher poke: %s", - strbuf); + "write() failed during watcher poke: %s", strbuf); } INSIST(cc == sizeof(buf)); @@ -969,22 +966,22 @@ select_poke(isc__socketmgr_t *mgr, int threadid, int fd, int msg) { * Read a message on the internal fd. */ static void -select_readmsg(isc__socketthread_t *thread, int *fd, int *msg) { - int buf[2]; - int cc; +select_readmsg(isc__socketthread_t *thread, int *fd, int *msg) +{ + int buf[2]; + int cc; char strbuf[ISC_STRERRORSIZE]; cc = read(thread->pipe_fds[0], buf, sizeof(buf)); if (cc < 0) { *msg = SELECT_POKE_NOTHING; - *fd = -1; /* Silence compiler. */ + *fd = -1; /* Silence compiler. */ if (SOFT_ERROR(errno)) return; strerror_r(errno, strbuf, sizeof(strbuf)); FATAL_ERROR(__FILE__, __LINE__, - "read() failed during watcher poke: %s", - strbuf); + "read() failed during watcher poke: %s", strbuf); } INSIST(cc == sizeof(buf)); @@ -996,8 +993,9 @@ select_readmsg(isc__socketthread_t *thread, int *fd, int *msg) { * Make a fd non-blocking. */ static isc_result_t -make_nonblock(int fd) { - int ret; +make_nonblock(int fd) +{ + int ret; char strbuf[ISC_STRERRORSIZE]; #ifdef USE_FIONBIO_IOCTL int on = 1; @@ -1038,7 +1036,8 @@ make_nonblock(int fd) { * CMSG_SPACE. */ static inline socklen_t -cmsg_len(socklen_t len) { +cmsg_len(socklen_t len) +{ #ifdef CMSG_LEN return (CMSG_LEN(len)); #else @@ -1054,11 +1053,12 @@ cmsg_len(socklen_t len) { } static inline socklen_t -cmsg_space(socklen_t len) { +cmsg_space(socklen_t len) +{ #ifdef CMSG_SPACE return (CMSG_SPACE(len)); #else - struct msghdr msg; + struct msghdr msg; struct cmsghdr *cmsgp; /* * XXX: The buffer length is an ad-hoc value, but should be enough @@ -1086,9 +1086,10 @@ cmsg_space(socklen_t len) { * Process control messages received on a socket. */ static void -process_cmsg(isc__socket_t *sock, struct msghdr *msg, isc_socketevent_t *dev) { +process_cmsg(isc__socket_t *sock, struct msghdr *msg, isc_socketevent_t *dev) +{ #ifdef USE_CMSG - struct cmsghdr *cmsgp; + struct cmsghdr * cmsgp; struct in6_pktinfo *pktinfop; #ifdef SO_TIMESTAMP void *timevalp; @@ -1130,12 +1131,10 @@ process_cmsg(isc__socket_t *sock, struct msghdr *msg, isc_socketevent_t *dev) { cmsgp = CMSG_FIRSTHDR(msg); while (cmsgp != NULL) { - socket_log(sock, NULL, TRACE, - "processing cmsg %p", cmsgp); - - if (cmsgp->cmsg_level == IPPROTO_IPV6 - && cmsgp->cmsg_type == IPV6_PKTINFO) { + socket_log(sock, NULL, TRACE, "processing cmsg %p", cmsgp); + if (cmsgp->cmsg_level == IPPROTO_IPV6 && + cmsgp->cmsg_type == IPV6_PKTINFO) { pktinfop = (struct in6_pktinfo *)CMSG_DATA(cmsgp); memmove(&dev->pktinfo, pktinfop, sizeof(struct in6_pktinfo)); @@ -1149,8 +1148,8 @@ process_cmsg(isc__socket_t *sock, struct msghdr *msg, isc_socketevent_t *dev) { } #ifdef SO_TIMESTAMP - if (cmsgp->cmsg_level == SOL_SOCKET - && cmsgp->cmsg_type == SCM_TIMESTAMP) { + if (cmsgp->cmsg_level == SOL_SOCKET && + cmsgp->cmsg_type == SCM_TIMESTAMP) { struct timeval tv; timevalp = CMSG_DATA(cmsgp); memmove(&tv, timevalp, sizeof(tv)); @@ -1162,8 +1161,8 @@ process_cmsg(isc__socket_t *sock, struct msghdr *msg, isc_socketevent_t *dev) { #endif #ifdef IPV6_TCLASS - if (cmsgp->cmsg_level == IPPROTO_IPV6 - && cmsgp->cmsg_type == IPV6_TCLASS) { + if (cmsgp->cmsg_level == IPPROTO_IPV6 && + cmsgp->cmsg_type == IPV6_TCLASS) { dev->dscp = *(int *)CMSG_DATA(cmsgp); dev->dscp >>= 2; dev->attributes |= ISC_SOCKEVENTATTR_DSCP; @@ -1172,13 +1171,13 @@ process_cmsg(isc__socket_t *sock, struct msghdr *msg, isc_socketevent_t *dev) { #endif #ifdef IP_TOS - if (cmsgp->cmsg_level == IPPROTO_IP - && (cmsgp->cmsg_type == IP_TOS + if (cmsgp->cmsg_level == IPPROTO_IP && + (cmsgp->cmsg_type == IP_TOS #ifdef IP_RECVTOS - || cmsgp->cmsg_type == IP_RECVTOS + || cmsgp->cmsg_type == IP_RECVTOS #endif - )) { - dev->dscp = (int) *(unsigned char *)CMSG_DATA(cmsgp); + )) { + dev->dscp = (int)*(unsigned char *)CMSG_DATA(cmsgp); dev->dscp >>= 2; dev->attributes |= ISC_SOCKEVENTATTR_DSCP; goto next; @@ -1203,11 +1202,11 @@ process_cmsg(isc__socket_t *sock, struct msghdr *msg, isc_socketevent_t *dev) { * this transaction can send. */ static void -build_msghdr_send(isc__socket_t *sock, char* cmsgbuf, isc_socketevent_t *dev, +build_msghdr_send(isc__socket_t *sock, char *cmsgbuf, isc_socketevent_t *dev, struct msghdr *msg, struct iovec *iov, size_t *write_countp) { - unsigned int iovcount; - size_t write_count; + unsigned int iovcount; + size_t write_count; struct cmsghdr *cmsgp; memset(msg, 0, sizeof(*msg)); @@ -1233,12 +1232,10 @@ build_msghdr_send(isc__socket_t *sock, char* cmsgbuf, isc_socketevent_t *dev, #if defined(USE_CMSG) if ((sock->type == isc_sockettype_udp) && - ((dev->attributes & ISC_SOCKEVENTATTR_PKTINFO) != 0)) - { + ((dev->attributes & ISC_SOCKEVENTATTR_PKTINFO) != 0)) { struct in6_pktinfo *pktinfop; - socket_log(sock, NULL, TRACE, - "sendto pktinfo data, ifindex %u", + socket_log(sock, NULL, TRACE, "sendto pktinfo data, ifindex %u", dev->pktinfo.ipi6_ifindex); msg->msg_control = (void *)cmsgbuf; @@ -1255,12 +1252,10 @@ build_msghdr_send(isc__socket_t *sock, char* cmsgbuf, isc_socketevent_t *dev, #if defined(IPV6_USE_MIN_MTU) if ((sock->type == isc_sockettype_udp) && (sock->pf == AF_INET6) && - ((dev->attributes & ISC_SOCKEVENTATTR_USEMINMTU) != 0)) - { - int use_min_mtu = 1; /* -1, 0, 1 */ + ((dev->attributes & ISC_SOCKEVENTATTR_USEMINMTU) != 0)) { + int use_min_mtu = 1; /* -1, 0, 1 */ - cmsgp = (struct cmsghdr *)(cmsgbuf + - msg->msg_controllen); + cmsgp = (struct cmsghdr *)(cmsgbuf + msg->msg_controllen); msg->msg_control = (void *)cmsgbuf; msg->msg_controllen += cmsg_space(sizeof(use_min_mtu)); INSIST(msg->msg_controllen <= SENDCMSGBUFLEN); @@ -1281,8 +1276,7 @@ build_msghdr_send(isc__socket_t *sock, char* cmsgbuf, isc_socketevent_t *dev, #if defined(IP_TOS) || (defined(IPPROTO_IPV6) && defined(IPV6_TCLASS)) if ((sock->type == isc_sockettype_udp) && - ((dev->attributes & ISC_SOCKEVENTATTR_DSCP) != 0)) - { + ((dev->attributes & ISC_SOCKEVENTATTR_DSCP) != 0)) { int dscp = (dev->dscp << 2) & 0xff; INSIST(dev->dscp < 0x40); @@ -1298,18 +1292,16 @@ build_msghdr_send(isc__socket_t *sock, char* cmsgbuf, isc_socketevent_t *dev, cmsgp->cmsg_level = IPPROTO_IP; cmsgp->cmsg_type = IP_TOS; cmsgp->cmsg_len = cmsg_len(sizeof(char)); - *(unsigned char*)CMSG_DATA(cmsgp) = dscp; + *(unsigned char *)CMSG_DATA(cmsgp) = dscp; } else if (sock->pf == AF_INET && sock->dscp != dev->dscp) { if (setsockopt(sock->fd, IPPROTO_IP, IP_TOS, - (void *)&dscp, sizeof(int)) < 0) - { + (void *)&dscp, sizeof(int)) < 0) { char strbuf[ISC_STRERRORSIZE]; strerror_r(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, "setsockopt(%d, IP_TOS, %.02x)" " failed: %s", - sock->fd, dscp >> 2, - strbuf); + sock->fd, dscp >> 2, strbuf); } else { sock->dscp = dscp; } @@ -1335,16 +1327,14 @@ build_msghdr_send(isc__socket_t *sock, char* cmsgbuf, isc_socketevent_t *dev, UNEXPECTED_ERROR(__FILE__, __LINE__, "setsockopt(%d, IPV6_TCLASS, " "%.02x) failed: %s", - sock->fd, dscp >> 2, - strbuf); + sock->fd, dscp >> 2, strbuf); } else { sock->dscp = dscp; } } #endif if (msg->msg_controllen != 0 && - msg->msg_controllen < SENDCMSGBUFLEN) - { + msg->msg_controllen < SENDCMSGBUFLEN) { memset(cmsgbuf + msg->msg_controllen, 0, SENDCMSGBUFLEN - msg->msg_controllen); } @@ -1373,7 +1363,7 @@ build_msghdr_recv(isc__socket_t *sock, char *cmsgbuf, isc_socketevent_t *dev, struct msghdr *msg, struct iovec *iov, size_t *read_countp) { unsigned int iovcount; - size_t read_count; + size_t read_count; memset(msg, 0, sizeof(struct msghdr)); @@ -1436,22 +1426,21 @@ set_dev_address(const isc_sockaddr_t *address, isc__socket_t *sock, } static void -destroy_socketevent(isc_event_t *event) { +destroy_socketevent(isc_event_t *event) +{ isc_socketevent_t *ev = (isc_socketevent_t *)event; (ev->destroy)(event); } static isc_socketevent_t * -allocate_socketevent(isc_mem_t *mctx, void *sender, - isc_eventtype_t eventtype, isc_taskaction_t action, - void *arg) +allocate_socketevent(isc_mem_t *mctx, void *sender, isc_eventtype_t eventtype, + isc_taskaction_t action, void *arg) { isc_socketevent_t *ev; - ev = (isc_socketevent_t *)isc_event_allocate(mctx, sender, - eventtype, action, arg, - sizeof(*ev)); + ev = (isc_socketevent_t *)isc_event_allocate(mctx, sender, eventtype, + action, arg, sizeof(*ev)); ev->result = ISC_R_UNSET; ISC_LINK_INIT(ev, ev_link); @@ -1468,37 +1457,37 @@ allocate_socketevent(isc_mem_t *mctx, void *sender, #if defined(ISC_SOCKET_DEBUG) static void -dump_msg(struct msghdr *msg) { +dump_msg(struct msghdr *msg) +{ unsigned int i; printf("MSGHDR %p\n", msg); printf("\tname %p, namelen %ld\n", msg->msg_name, - (long) msg->msg_namelen); - printf("\tiov %p, iovlen %ld\n", msg->msg_iov, - (long) msg->msg_iovlen); + (long)msg->msg_namelen); + printf("\tiov %p, iovlen %ld\n", msg->msg_iov, (long)msg->msg_iovlen); for (i = 0; i < (unsigned int)msg->msg_iovlen; i++) printf("\t\t%u\tbase %p, len %ld\n", i, - msg->msg_iov[i].iov_base, - (long) msg->msg_iov[i].iov_len); + msg->msg_iov[i].iov_base, (long)msg->msg_iov[i].iov_len); printf("\tcontrol %p, controllen %ld\n", msg->msg_control, - (long) msg->msg_controllen); + (long)msg->msg_controllen); } #endif -#define DOIO_SUCCESS 0 /* i/o ok, event sent */ -#define DOIO_SOFT 1 /* i/o ok, soft error, no event sent */ -#define DOIO_HARD 2 /* i/o error, event sent */ -#define DOIO_EOF 3 /* EOF, no event sent */ +#define DOIO_SUCCESS 0 /* i/o ok, event sent */ +#define DOIO_SOFT 1 /* i/o ok, soft error, no event sent */ +#define DOIO_HARD 2 /* i/o error, event sent */ +#define DOIO_EOF 3 /* EOF, no event sent */ static int -doio_recv(isc__socket_t *sock, isc_socketevent_t *dev) { - int cc; - struct iovec iov[MAXSCATTERGATHER_RECV]; - size_t read_count; +doio_recv(isc__socket_t *sock, isc_socketevent_t *dev) +{ + int cc; + struct iovec iov[MAXSCATTERGATHER_RECV]; + size_t read_count; struct msghdr msghdr; - int recv_errno; - char strbuf[ISC_STRERRORSIZE]; - char cmsgbuf[RECVCMSGBUFLEN] = {0}; + int recv_errno; + char strbuf[ISC_STRERRORSIZE]; + char cmsgbuf[RECVCMSGBUFLEN] = { 0 }; build_msghdr_recv(sock, cmsgbuf, dev, &msghdr, iov, &read_count); @@ -1524,22 +1513,22 @@ doio_recv(isc__socket_t *sock, isc_socketevent_t *dev) { sock->fd, cc, recv_errno, strbuf); } -#define SOFT_OR_HARD(_system, _isc) \ - if (recv_errno == _system) { \ - if (sock->connected) { \ - dev->result = _isc; \ - inc_stats(sock->manager->stats, \ +#define SOFT_OR_HARD(_system, _isc) \ + if (recv_errno == _system) { \ + if (sock->connected) { \ + dev->result = _isc; \ + inc_stats(sock->manager->stats, \ sock->statsindex[STATID_RECVFAIL]); \ - return (DOIO_HARD); \ - } \ - return (DOIO_SOFT); \ + return (DOIO_HARD); \ + } \ + return (DOIO_SOFT); \ } -#define ALWAYS_HARD(_system, _isc) \ - if (recv_errno == _system) { \ - dev->result = _isc; \ - inc_stats(sock->manager->stats, \ +#define ALWAYS_HARD(_system, _isc) \ + if (recv_errno == _system) { \ + dev->result = _isc; \ + inc_stats(sock->manager->stats, \ sock->statsindex[STATID_RECVFAIL]); \ - return (DOIO_HARD); \ + return (DOIO_HARD); \ } SOFT_OR_HARD(ECONNREFUSED, ISC_R_CONNREFUSED); @@ -1595,14 +1584,12 @@ doio_recv(isc__socket_t *sock, isc_socketevent_t *dev) { * 'maxudp' bytes. */ if (sock->manager->maxudp != 0 && - cc > (int)sock->manager->maxudp) - { + cc > (int)sock->manager->maxudp) { return (DOIO_SOFT); } } - socket_log(sock, &dev->address, IOEVENT, - "packet received correctly"); + socket_log(sock, &dev->address, IOEVENT, "packet received correctly"); /* * Overflow bit detection. If we received MORE bytes than we should, @@ -1655,22 +1642,22 @@ doio_recv(isc__socket_t *sock, isc_socketevent_t *dev) { * No other return values are possible. */ static int -doio_send(isc__socket_t *sock, isc_socketevent_t *dev) { - int cc; - struct iovec iov[MAXSCATTERGATHER_SEND]; - size_t write_count; +doio_send(isc__socket_t *sock, isc_socketevent_t *dev) +{ + int cc; + struct iovec iov[MAXSCATTERGATHER_SEND]; + size_t write_count; struct msghdr msghdr; - char addrbuf[ISC_SOCKADDR_FORMATSIZE]; - int attempts = 0; - int send_errno; - char strbuf[ISC_STRERRORSIZE]; - char cmsgbuf[SENDCMSGBUFLEN] = {0}; + char addrbuf[ISC_SOCKADDR_FORMATSIZE]; + int attempts = 0; + int send_errno; + char strbuf[ISC_STRERRORSIZE]; + char cmsgbuf[SENDCMSGBUFLEN] = { 0 }; build_msghdr_send(sock, cmsgbuf, dev, &msghdr, iov, &write_count); - resend: - if (sock->type == isc_sockettype_udp && - sock->manager->maxudp != 0 && +resend: + if (sock->type == isc_sockettype_udp && sock->manager->maxudp != 0 && write_count > sock->manager->maxudp) cc = write_count; else @@ -1690,22 +1677,22 @@ doio_send(isc__socket_t *sock, isc_socketevent_t *dev) { return (DOIO_SOFT); } -#define SOFT_OR_HARD(_system, _isc) \ - if (send_errno == _system) { \ - if (sock->connected) { \ - dev->result = _isc; \ - inc_stats(sock->manager->stats, \ +#define SOFT_OR_HARD(_system, _isc) \ + if (send_errno == _system) { \ + if (sock->connected) { \ + dev->result = _isc; \ + inc_stats(sock->manager->stats, \ sock->statsindex[STATID_SENDFAIL]); \ - return (DOIO_HARD); \ - } \ - return (DOIO_SOFT); \ + return (DOIO_HARD); \ + } \ + return (DOIO_SOFT); \ } -#define ALWAYS_HARD(_system, _isc) \ - if (send_errno == _system) { \ - dev->result = _isc; \ - inc_stats(sock->manager->stats, \ +#define ALWAYS_HARD(_system, _isc) \ + if (send_errno == _system) { \ + dev->result = _isc; \ + inc_stats(sock->manager->stats, \ sock->statsindex[STATID_SENDFAIL]); \ - return (DOIO_HARD); \ + return (DOIO_HARD); \ } SOFT_OR_HARD(ECONNREFUSED, ISC_R_CONNREFUSED); @@ -1773,7 +1760,8 @@ doio_send(isc__socket_t *sock, isc_socketevent_t *dev) { * references exist. */ static void -socketclose(isc__socketthread_t *thread, isc__socket_t *sock, int fd) { +socketclose(isc__socketthread_t *thread, isc__socket_t *sock, int fd) +{ int lockid = FDLOCK_ID(fd); /* * No one has this socket open, so the watcher doesn't have to be @@ -1822,14 +1810,15 @@ socketclose(isc__socketthread_t *thread, isc__socket_t *sock, int fd) { } UNLOCK(&thread->manager->lock); -#endif /* USE_SELECT */ +#endif /* USE_SELECT */ } static void -destroy(isc__socket_t **sockp) { - int fd = 0; - isc__socket_t *sock = *sockp; - isc__socketmgr_t *manager = sock->manager; +destroy(isc__socket_t **sockp) +{ + int fd = 0; + isc__socket_t * sock = *sockp; + isc__socketmgr_t * manager = sock->manager; isc__socketthread_t *thread = NULL; socket_log(sock, NULL, CREATION, "destroying"); @@ -1885,7 +1874,7 @@ allocate_socket(isc__socketmgr_t *manager, isc_sockettype_t type, sock->type = type; sock->fd = -1; sock->threadid = -1; - sock->dscp = 0; /* TOS/TCLASS is zero until set. */ + sock->dscp = 0; /* TOS/TCLASS is zero until set. */ sock->dupped = 0; sock->statsindex = NULL; sock->active = 0; @@ -1929,7 +1918,8 @@ allocate_socket(isc__socketmgr_t *manager, isc_sockettype_t type, * also close the socket. */ static void -free_socket(isc__socket_t **socketp) { +free_socket(isc__socket_t **socketp) +{ isc__socket_t *sock = *socketp; *socketp = NULL; @@ -1953,13 +1943,14 @@ free_socket(isc__socket_t **socketp) { } #ifdef SO_RCVBUF -static isc_once_t rcvbuf_once = ISC_ONCE_INIT; -static int rcvbuf = RCVBUFSIZE; +static isc_once_t rcvbuf_once = ISC_ONCE_INIT; +static int rcvbuf = RCVBUFSIZE; static void -set_rcvbuf(void) { - int fd; - int max = rcvbuf, min; +set_rcvbuf(void) +{ + int fd; + int max = rcvbuf, min; socklen_t len; fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); @@ -1983,7 +1974,7 @@ set_rcvbuf(void) { len = sizeof(min); if (getsockopt(fd, SOL_SOCKET, SO_RCVBUF, (void *)&min, &len) == 0 && min < rcvbuf) { - again: + again: if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, (void *)&rcvbuf, sizeof(rcvbuf)) == -1) { if (errno == ENOBUFS && rcvbuf > min) { @@ -2001,19 +1992,20 @@ set_rcvbuf(void) { goto again; } } - cleanup: - close (fd); +cleanup: + close(fd); } #endif #ifdef SO_SNDBUF -static isc_once_t sndbuf_once = ISC_ONCE_INIT; -static int sndbuf = SNDBUFSIZE; +static isc_once_t sndbuf_once = ISC_ONCE_INIT; +static int sndbuf = SNDBUFSIZE; static void -set_sndbuf(void) { - int fd; - int max = sndbuf, min; +set_sndbuf(void) +{ + int fd; + int max = sndbuf, min; socklen_t len; fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); @@ -2039,9 +2031,8 @@ set_sndbuf(void) { len = sizeof(min); if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, (void *)&min, &len) == 0 && - min < sndbuf) - { - again: + min < sndbuf) { + again: if (setsockopt(fd, SOL_SOCKET, SO_SNDBUF, (void *)&sndbuf, sizeof(sndbuf)) == -1) { if (errno == ENOBUFS && sndbuf > min) { @@ -2060,13 +2051,14 @@ set_sndbuf(void) { goto again; } } - cleanup: - close (fd); +cleanup: + close(fd); } #endif static void -use_min_mtu(isc__socket_t *sock) { +use_min_mtu(isc__socket_t *sock) +{ #if !defined(IPV6_USE_MIN_MTU) && !defined(IPV6_MTU) UNUSED(sock); #endif @@ -2075,7 +2067,7 @@ use_min_mtu(isc__socket_t *sock) { if (sock->pf == AF_INET6) { int on = 1; (void)setsockopt(sock->fd, IPPROTO_IPV6, IPV6_USE_MIN_MTU, - (void *)&on, sizeof(on)); + (void *)&on, sizeof(on)); } #endif #if defined(IPV6_MTU) @@ -2084,18 +2076,19 @@ use_min_mtu(isc__socket_t *sock) { */ if (sock->pf == AF_INET6) { int mtu = 1280; - (void)setsockopt(sock->fd, IPPROTO_IPV6, IPV6_MTU, - &mtu, sizeof(mtu)); + (void)setsockopt(sock->fd, IPPROTO_IPV6, IPV6_MTU, &mtu, + sizeof(mtu)); } #endif } static void -set_tcp_maxseg(isc__socket_t *sock, int size) { +set_tcp_maxseg(isc__socket_t *sock, int size) +{ #ifdef TCP_MAXSEG if (sock->type == isc_sockettype_tcp) (void)setsockopt(sock->fd, IPPROTO_TCP, TCP_MAXSEG, - (void *)&size, sizeof(size)); + (void *)&size, sizeof(size)); #endif } @@ -2104,18 +2097,18 @@ opensocket(isc__socketmgr_t *manager, isc__socket_t *sock, isc__socket_t *dup_socket) { isc_result_t result; - char strbuf[ISC_STRERRORSIZE]; - const char *err = "socket"; - int tries = 0; + char strbuf[ISC_STRERRORSIZE]; + const char * err = "socket"; + int tries = 0; #if defined(USE_CMSG) || defined(SO_NOSIGPIPE) int on = 1; #endif #if defined(SO_RCVBUF) || defined(SO_SNDBUF) socklen_t optlen; - int size = 0; + int size = 0; #endif - again: +again: if (dup_socket == NULL) { switch (sock->type) { case isc_sockettype_udp: @@ -2143,7 +2136,7 @@ opensocket(isc__socketmgr_t *manager, isc__socket_t *sock, if (sock->fd != -1) { #ifdef NETLINK_ROUTE struct sockaddr_nl sa; - int n; + int n; /* * Do an implicit bind. @@ -2153,7 +2146,7 @@ opensocket(isc__socketmgr_t *manager, isc__socket_t *sock, sa.nl_groups = RTMGRP_IPV4_IFADDR | RTMGRP_IPV6_IFADDR; n = bind(sock->fd, - (struct sockaddr *) &sa, + (struct sockaddr *)&sa, sizeof(sa)); if (n < 0) { close(sock->fd); @@ -2237,9 +2230,8 @@ opensocket(isc__socketmgr_t *manager, isc__socket_t *sock, default: strerror_r(errno, strbuf, sizeof(strbuf)); - UNEXPECTED_ERROR(__FILE__, __LINE__, - "%s() failed: %s", err, - strbuf); + UNEXPECTED_ERROR(__FILE__, __LINE__, "%s() failed: %s", + err, strbuf); inc_stats(manager->stats, sock->statsindex[STATID_OPENFAIL]); return (ISC_R_UNEXPECTED); @@ -2257,13 +2249,12 @@ opensocket(isc__socketmgr_t *manager, isc__socket_t *sock, } #ifdef SO_NOSIGPIPE - if (setsockopt(sock->fd, SOL_SOCKET, SO_NOSIGPIPE, - (void *)&on, sizeof(on)) < 0) { + if (setsockopt(sock->fd, SOL_SOCKET, SO_NOSIGPIPE, (void *)&on, + sizeof(on)) < 0) { strerror_r(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, "setsockopt(%d, SO_NOSIGPIPE) failed: %s", - sock->fd, - strbuf); + sock->fd, strbuf); /* Press on... */ } #endif @@ -2278,42 +2269,41 @@ opensocket(isc__socketmgr_t *manager, isc__socket_t *sock, #if defined(USE_CMSG) || defined(SO_RCVBUF) || defined(SO_SNDBUF) if (sock->type == isc_sockettype_udp) { - #if defined(USE_CMSG) #if defined(SO_TIMESTAMP) - if (setsockopt(sock->fd, SOL_SOCKET, SO_TIMESTAMP, - (void *)&on, sizeof(on)) < 0 - && errno != ENOPROTOOPT) { + if (setsockopt(sock->fd, SOL_SOCKET, SO_TIMESTAMP, (void *)&on, + sizeof(on)) < 0 && + errno != ENOPROTOOPT) { strerror_r(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, - "setsockopt(%d, SO_TIMESTAMP) failed: %s", - sock->fd, - strbuf); + "setsockopt(%d, SO_TIMESTAMP) failed: " + "%s", + sock->fd, strbuf); /* Press on... */ } #endif /* SO_TIMESTAMP */ #ifdef IPV6_RECVPKTINFO /* RFC 3542 */ - if ((sock->pf == AF_INET6) - && (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_RECVPKTINFO, - (void *)&on, sizeof(on)) < 0)) { + if ((sock->pf == AF_INET6) && + (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_RECVPKTINFO, + (void *)&on, sizeof(on)) < 0)) { strerror_r(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, "setsockopt(%d, IPV6_RECVPKTINFO) " - "failed: %s", sock->fd, - strbuf); + "failed: %s", + sock->fd, strbuf); } #else /* RFC 2292 */ - if ((sock->pf == AF_INET6) - && (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_PKTINFO, - (void *)&on, sizeof(on)) < 0)) { + if ((sock->pf == AF_INET6) && + (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_PKTINFO, + (void *)&on, sizeof(on)) < 0)) { strerror_r(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, - "setsockopt(%d, IPV6_PKTINFO) failed: %s", - sock->fd, - strbuf); + "setsockopt(%d, IPV6_PKTINFO) failed: " + "%s", + sock->fd, strbuf); } #endif /* IPV6_RECVPKTINFO */ #if defined(IPV6_MTU_DISCOVER) && defined(IPV6_PMTUDISC_DONT) @@ -2339,14 +2329,13 @@ opensocket(isc__socketmgr_t *manager, isc__socket_t *sock, int action; #if defined(IP_PMTUDISC_OMIT) action = IP_PMTUDISC_OMIT; - if (setsockopt(sock->fd, IPPROTO_IP, - IP_MTU_DISCOVER, &action, - sizeof(action)) < 0) { + if (setsockopt(sock->fd, IPPROTO_IP, IP_MTU_DISCOVER, + &action, sizeof(action)) < 0) { #endif action = IP_PMTUDISC_DONT; (void)setsockopt(sock->fd, IPPROTO_IP, - IP_MTU_DISCOVER, - &action, sizeof(action)); + IP_MTU_DISCOVER, &action, + sizeof(action)); #if defined(IP_PMTUDISC_OMIT) } #endif @@ -2365,58 +2354,60 @@ opensocket(isc__socketmgr_t *manager, isc__socket_t *sock, #if defined(SO_RCVBUF) optlen = sizeof(size); - if (getsockopt(sock->fd, SOL_SOCKET, SO_RCVBUF, - (void *)&size, &optlen) == 0 && size < rcvbuf) { - RUNTIME_CHECK(isc_once_do(&rcvbuf_once, - set_rcvbuf) == ISC_R_SUCCESS); + if (getsockopt(sock->fd, SOL_SOCKET, SO_RCVBUF, (void *)&size, + &optlen) == 0 && + size < rcvbuf) { + RUNTIME_CHECK(isc_once_do(&rcvbuf_once, set_rcvbuf) == + ISC_R_SUCCESS); if (setsockopt(sock->fd, SOL_SOCKET, SO_RCVBUF, - (void *)&rcvbuf, sizeof(rcvbuf)) == -1) { + (void *)&rcvbuf, sizeof(rcvbuf)) == -1) { strerror_r(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, - "setsockopt(%d, SO_RCVBUF, %d) failed: %s", - sock->fd, rcvbuf, - strbuf); + "setsockopt(%d, SO_RCVBUF, " + "%d) failed: %s", + sock->fd, rcvbuf, strbuf); } } #endif #if defined(SO_SNDBUF) optlen = sizeof(size); - if (getsockopt(sock->fd, SOL_SOCKET, SO_SNDBUF, - (void *)&size, &optlen) == 0 && size < sndbuf) { - RUNTIME_CHECK(isc_once_do(&sndbuf_once, - set_sndbuf) == ISC_R_SUCCESS); + if (getsockopt(sock->fd, SOL_SOCKET, SO_SNDBUF, (void *)&size, + &optlen) == 0 && + size < sndbuf) { + RUNTIME_CHECK(isc_once_do(&sndbuf_once, set_sndbuf) == + ISC_R_SUCCESS); if (setsockopt(sock->fd, SOL_SOCKET, SO_SNDBUF, - (void *)&sndbuf, sizeof(sndbuf)) == -1) { + (void *)&sndbuf, sizeof(sndbuf)) == -1) { strerror_r(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, - "setsockopt(%d, SO_SNDBUF, %d) failed: %s", - sock->fd, sndbuf, - strbuf); + "setsockopt(%d, SO_SNDBUF, " + "%d) failed: %s", + sock->fd, sndbuf, strbuf); } } #endif } #ifdef IPV6_RECVTCLASS - if ((sock->pf == AF_INET6) - && (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_RECVTCLASS, - (void *)&on, sizeof(on)) < 0)) { + if ((sock->pf == AF_INET6) && + (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_RECVTCLASS, (void *)&on, + sizeof(on)) < 0)) { strerror_r(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, "setsockopt(%d, IPV6_RECVTCLASS) " - "failed: %s", sock->fd, - strbuf); + "failed: %s", + sock->fd, strbuf); } #endif #ifdef IP_RECVTOS - if ((sock->pf == AF_INET) - && (setsockopt(sock->fd, IPPROTO_IP, IP_RECVTOS, - (void *)&on, sizeof(on)) < 0)) { + if ((sock->pf == AF_INET) && + (setsockopt(sock->fd, IPPROTO_IP, IP_RECVTOS, (void *)&on, + sizeof(on)) < 0)) { strerror_r(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, "setsockopt(%d, IP_RECVTOS) " - "failed: %s", sock->fd, - strbuf); + "failed: %s", + sock->fd, strbuf); } #endif #endif /* defined(USE_CMSG) || defined(SO_RCVBUF) || defined(SO_SNDBUF) */ @@ -2441,11 +2432,11 @@ static isc_result_t socket_create(isc_socketmgr_t *manager0, int pf, isc_sockettype_t type, isc_socket_t **socketp, isc_socket_t *dup_socket) { - isc__socket_t *sock = NULL; - isc__socketmgr_t *manager = (isc__socketmgr_t *)manager0; + isc__socket_t * sock = NULL; + isc__socketmgr_t * manager = (isc__socketmgr_t *)manager0; isc__socketthread_t *thread; - isc_result_t result; - int lockid; + isc_result_t result; + int lockid; REQUIRE(VALID_MANAGER(manager)); REQUIRE(socketp != NULL && *socketp == NULL); @@ -2456,14 +2447,14 @@ socket_create(isc_socketmgr_t *manager0, int pf, isc_sockettype_t type, switch (sock->type) { case isc_sockettype_udp: - sock->statsindex = - (pf == AF_INET) ? udp4statsindex : udp6statsindex; + sock->statsindex = (pf == AF_INET) ? udp4statsindex + : udp6statsindex; #define DCSPPKT(pf) ((pf == AF_INET) ? ISC_NET_DSCPPKTV4 : ISC_NET_DSCPPKTV6) sock->pktdscp = (isc_net_probedscp() & DCSPPKT(pf)) != 0; break; case isc_sockettype_tcp: - sock->statsindex = - (pf == AF_INET) ? tcp4statsindex : tcp6statsindex; + sock->statsindex = (pf == AF_INET) ? tcp4statsindex + : tcp6statsindex; break; case isc_sockettype_unix: sock->statsindex = unixstatsindex; @@ -2533,7 +2524,7 @@ socket_create(isc_socketmgr_t *manager0, int pf, isc_sockettype_t type, */ isc_result_t isc_socket_create(isc_socketmgr_t *manager0, int pf, isc_sockettype_t type, - isc_socket_t **socketp) + isc_socket_t **socketp) { return (socket_create(manager0, pf, type, socketp, NULL)); } @@ -2543,21 +2534,22 @@ isc_socket_create(isc_socketmgr_t *manager0, int pf, isc_sockettype_t type, * in 'socketp'. */ isc_result_t -isc_socket_dup(isc_socket_t *sock0, isc_socket_t **socketp) { +isc_socket_dup(isc_socket_t *sock0, isc_socket_t **socketp) +{ isc__socket_t *sock = (isc__socket_t *)sock0; REQUIRE(VALID_SOCKET(sock)); REQUIRE(socketp != NULL && *socketp == NULL); - return (socket_create((isc_socketmgr_t *) sock->manager, - sock->pf, sock->type, socketp, - sock0)); + return (socket_create((isc_socketmgr_t *)sock->manager, sock->pf, + sock->type, socketp, sock0)); } isc_result_t -isc_socket_open(isc_socket_t *sock0) { - isc_result_t result; - isc__socket_t *sock = (isc__socket_t *)sock0; +isc_socket_open(isc_socket_t *sock0) +{ + isc_result_t result; + isc__socket_t * sock = (isc__socket_t *)sock0; isc__socketthread_t *thread; REQUIRE(VALID_SOCKET(sock)); @@ -2602,12 +2594,12 @@ isc_socket_open(isc_socket_t *sock0) { return (result); } - /* * Attach to a socket. Caller must explicitly detach when it is done. */ void -isc_socket_attach(isc_socket_t *sock0, isc_socket_t **socketp) { +isc_socket_attach(isc_socket_t *sock0, isc_socket_t **socketp) +{ isc__socket_t *sock = (isc__socket_t *)sock0; REQUIRE(VALID_SOCKET(sock)); @@ -2624,7 +2616,8 @@ isc_socket_attach(isc_socket_t *sock0, isc_socket_t **socketp) { * up by destroying the socket. */ void -isc_socket_detach(isc_socket_t **socketp) { +isc_socket_detach(isc_socket_t **socketp) +{ isc__socket_t *sock; REQUIRE(socketp != NULL); @@ -2639,10 +2632,11 @@ isc_socket_detach(isc_socket_t **socketp) { } isc_result_t -isc_socket_close(isc_socket_t *sock0) { - isc__socket_t *sock = (isc__socket_t *)sock0; - int fd; - isc__socketmgr_t *manager; +isc_socket_close(isc_socket_t *sock0) +{ + isc__socket_t * sock = (isc__socket_t *)sock0; + int fd; + isc__socketmgr_t * manager; isc__socketthread_t *thread; fflush(stdout); REQUIRE(VALID_SOCKET(sock)); @@ -2690,7 +2684,8 @@ isc_socket_close(isc_socket_t *sock0) { * Caller must have the socket locked if the event is attached to the socket. */ static void -send_recvdone_event(isc__socket_t *sock, isc_socketevent_t **dev) { +send_recvdone_event(isc__socket_t *sock, isc_socketevent_t **dev) +{ isc_task_t *task; task = (*dev)->ev_sender; @@ -2715,7 +2710,8 @@ send_recvdone_event(isc__socket_t *sock, isc_socketevent_t **dev) { * Caller must have the socket locked if the event is attached to the socket. */ static void -send_senddone_event(isc__socket_t *sock, isc_socketevent_t **dev) { +send_senddone_event(isc__socket_t *sock, isc_socketevent_t **dev) +{ isc_task_t *task; INSIST(dev != NULL && *dev != NULL); @@ -2740,7 +2736,8 @@ send_senddone_event(isc__socket_t *sock, isc_socketevent_t **dev) { * Caller must have the socket locked if the event is attached to the socket. */ static void -send_connectdone_event(isc__socket_t *sock, isc_socket_connev_t **dev) { +send_connectdone_event(isc__socket_t *sock, isc_socket_connev_t **dev) +{ isc_task_t *task; INSIST(dev != NULL && *dev != NULL); @@ -2767,16 +2764,17 @@ send_connectdone_event(isc__socket_t *sock, isc_socket_connev_t **dev) { * so just unlock and return. */ static void -internal_accept(isc__socket_t *sock) { - isc__socketmgr_t *manager; - isc__socketthread_t *thread, *nthread; +internal_accept(isc__socket_t *sock) +{ + isc__socketmgr_t * manager; + isc__socketthread_t * thread, *nthread; isc_socket_newconnev_t *dev; - isc_task_t *task; - socklen_t addrlen; - int fd; - isc_result_t result = ISC_R_SUCCESS; - char strbuf[ISC_STRERRORSIZE]; - const char *err = "accept"; + isc_task_t * task; + socklen_t addrlen; + int fd; + isc_result_t result = ISC_R_SUCCESS; + char strbuf[ISC_STRERRORSIZE]; + const char * err = "accept"; INSIST(VALID_SOCKET(sock)); @@ -2784,8 +2782,7 @@ internal_accept(isc__socket_t *sock) { /* Socket is gone */ return; } - socket_log(sock, NULL, TRACE, - "internal_accept called, locked socket"); + socket_log(sock, NULL, TRACE, "internal_accept called, locked socket"); manager = sock->manager; INSIST(VALID_MANAGER(manager)); @@ -2881,21 +2878,21 @@ internal_accept(isc__socket_t *sock) { (void)close(fd); goto soft_error; } else if (NEWCONNSOCK(dev)->peer_address.type.sa.sa_family != - sock->pf) - { - UNEXPECTED_ERROR(__FILE__, __LINE__, - "internal_accept(): " - "accept() returned peer address " - "family %u (expected %u)", - NEWCONNSOCK(dev)->peer_address. - type.sa.sa_family, - sock->pf); + sock->pf) { + UNEXPECTED_ERROR( + __FILE__, __LINE__, + "internal_accept(): " + "accept() returned peer address " + "family %u (expected %u)", + NEWCONNSOCK(dev)->peer_address.type.sa.sa_family, + sock->pf); (void)close(fd); goto soft_error; } else if (fd >= (int)manager->maxsocks) { isc_log_write(isc_lctx, ISC_LOGCATEGORY_GENERAL, ISC_LOGMODULE_SOCKET, ISC_LOG_ERROR, - "accept: file descriptor exceeds limit (%d/%u)", + "accept: file descriptor exceeds limit " + "(%d/%u)", fd, manager->maxsocks); (void)close(fd); goto soft_error; @@ -2916,8 +2913,7 @@ internal_accept(isc__socket_t *sock) { * Poke watcher if there are more pending accepts. */ if (ISC_LIST_EMPTY(sock->accept_list)) { - unwatch_fd(thread, sock->fd, - SELECT_POKE_ACCEPT); + unwatch_fd(thread, sock->fd, SELECT_POKE_ACCEPT); } if (fd != -1) { @@ -2944,8 +2940,9 @@ internal_accept(isc__socket_t *sock) { * We already hold a lock on one fdlock in accepting thread, * we need to make sure that we don't double lock. */ - bool same_bucket = (sock->threadid == NEWCONNSOCK(dev)->threadid) && - (FDLOCK_ID(sock->fd) == lockid); + bool same_bucket = + (sock->threadid == NEWCONNSOCK(dev)->threadid) && + (FDLOCK_ID(sock->fd) == lockid); /* * Use minimum mtu if possible. @@ -3013,7 +3010,7 @@ internal_accept(isc__socket_t *sock) { isc_task_sendtoanddetach(&task, ISC_EVENT_PTR(&dev), sock->threadid); return; - soft_error: +soft_error: watch_fd(thread, sock->fd, SELECT_POKE_ACCEPT); inc_stats(manager->stats, sock->statsindex[STATID_ACCEPTFAIL]); @@ -3021,7 +3018,8 @@ internal_accept(isc__socket_t *sock) { } static void -internal_recv(isc__socket_t *sock) { +internal_recv(isc__socket_t *sock) +{ isc_socketevent_t *dev; INSIST(VALID_SOCKET(sock)); @@ -3035,8 +3033,8 @@ internal_recv(isc__socket_t *sock) { goto finish; } - socket_log(sock, NULL, IOEVENT, - "internal_recv: event %p -> task %p", dev, dev->ev_sender); + socket_log(sock, NULL, IOEVENT, "internal_recv: event %p -> task %p", + dev, dev->ev_sender); /* * Try to do as much I/O as possible on this socket. There are no @@ -3069,7 +3067,7 @@ internal_recv(isc__socket_t *sock) { dev = ISC_LIST_HEAD(sock->recv_list); } - finish: +finish: if (ISC_LIST_EMPTY(sock->recv_list)) { unwatch_fd(&sock->manager->threads[sock->threadid], sock->fd, SELECT_POKE_READ); @@ -3077,7 +3075,8 @@ internal_recv(isc__socket_t *sock) { } static void -internal_send(isc__socket_t *sock) { +internal_send(isc__socket_t *sock) +{ isc_socketevent_t *dev; INSIST(VALID_SOCKET(sock)); @@ -3090,9 +3089,8 @@ internal_send(isc__socket_t *sock) { if (dev == NULL) { goto finish; } - socket_log(sock, NULL, EVENT, - "internal_send: event %p -> task %p", - dev, dev->ev_sender); + socket_log(sock, NULL, EVENT, "internal_send: event %p -> task %p", dev, + dev->ev_sender); /* * Try to do as much I/O as possible on this socket. There are no @@ -3112,10 +3110,10 @@ internal_send(isc__socket_t *sock) { dev = ISC_LIST_HEAD(sock->send_list); } - finish: +finish: if (ISC_LIST_EMPTY(sock->send_list)) { - unwatch_fd(&sock->manager->threads[sock->threadid], - sock->fd, SELECT_POKE_WRITE); + unwatch_fd(&sock->manager->threads[sock->threadid], sock->fd, + SELECT_POKE_WRITE); } } @@ -3124,11 +3122,10 @@ internal_send(isc__socket_t *sock) { * and unlocking twice if both reads and writes are possible. */ static void -process_fd(isc__socketthread_t *thread, int fd, bool readable, - bool writeable) +process_fd(isc__socketthread_t *thread, int fd, bool readable, bool writeable) { isc__socket_t *sock; - int lockid = FDLOCK_ID(fd); + int lockid = FDLOCK_ID(fd); /* * If the socket is going to be closed, don't do more I/O. @@ -3188,10 +3185,9 @@ process_fd(isc__socketthread_t *thread, int fd, bool readable, */ #ifdef USE_KQUEUE static bool -process_fds(isc__socketthread_t *thread, struct kevent *events, - int nevents) +process_fds(isc__socketthread_t *thread, struct kevent *events, int nevents) { - int i; + int i; bool readable, writable; bool done = false; bool have_ctlevent = false; @@ -3269,10 +3265,9 @@ process_fds(isc__socketthread_t *thread, struct epoll_event *events, } #elif defined(USE_DEVPOLL) static bool -process_fds(isc__socketthread_t *thread, struct pollfd *events, - int nevents) +process_fds(isc__socketthread_t *thread, struct pollfd *events, int nevents) { - int i; + int i; bool done = false; bool have_ctlevent = false; @@ -3318,7 +3313,8 @@ process_fds(isc__socketthread_t *thread, int maxfd, fd_set *readfds, #endif static bool -process_ctlfd(isc__socketthread_t *thread) { +process_ctlfd(isc__socketthread_t *thread) +{ int msg, fd; for (;;) { @@ -3362,35 +3358,36 @@ process_ctlfd(isc__socketthread_t *thread) { * an event to the task that was requesting the action. */ static isc_threadresult_t -netthread(void *uap) { +netthread(void *uap) +{ isc__socketthread_t *thread = uap; - isc__socketmgr_t *manager = thread->manager; + isc__socketmgr_t * manager = thread->manager; (void)manager; bool done; - int cc; + int cc; if (manager->nthreads > 1) { isc_thread_setaffinity(thread->threadid); } #ifdef USE_KQUEUE const char *fnname = "kevent()"; -#elif defined (USE_EPOLL) +#elif defined(USE_EPOLL) const char *fnname = "epoll_wait()"; #elif defined(USE_DEVPOLL) - isc_result_t result; - const char *fnname = "ioctl(DP_POLL)"; + isc_result_t result; + const char * fnname = "ioctl(DP_POLL)"; struct dvpoll dvp; - int pass; + int pass; #if defined(ISC_SOCKET_USE_POLLWATCH) - pollstate_t pollstate = poll_idle; + pollstate_t pollstate = poll_idle; #endif -#elif defined (USE_SELECT) +#elif defined(USE_SELECT) const char *fnname = "select()"; int maxfd; int ctlfd; #endif char strbuf[ISC_STRERRORSIZE]; -#if defined (USE_SELECT) +#if defined(USE_SELECT) /* * Get the control fd here. This will never change. */ @@ -3400,57 +3397,56 @@ netthread(void *uap) { while (!done) { do { #ifdef USE_KQUEUE - cc = kevent(thread->kqueue_fd, NULL, 0, - thread->events, thread->nevents, NULL); + cc = kevent(thread->kqueue_fd, NULL, 0, thread->events, + thread->nevents, NULL); #elif defined(USE_EPOLL) - cc = epoll_wait(thread->epoll_fd, - thread->events, + cc = epoll_wait(thread->epoll_fd, thread->events, thread->nevents, -1); #elif defined(USE_DEVPOLL) - /* - * Re-probe every thousand calls. - */ - if (thread->calls++ > 1000U) { - result = isc_resource_getcurlimit( - isc_resource_openfiles, - &thread->open_max); - if (result != ISC_R_SUCCESS) { - thread->open_max = 64; - } - thread->calls = 0; - } - for (pass = 0; pass < 2; pass++) { - dvp.dp_fds = thread->events; - dvp.dp_nfds = thread->nevents; - if (dvp.dp_nfds >= thread->open_max) { - dvp.dp_nfds = thread->open_max - 1; - } + /* + * Re-probe every thousand calls. + */ + if (thread->calls++ > 1000U) { + result = isc_resource_getcurlimit( + isc_resource_openfiles, + &thread->open_max); + if (result != ISC_R_SUCCESS) { + thread->open_max = 64; + } + thread->calls = 0; + } + for (pass = 0; pass < 2; pass++) { + dvp.dp_fds = thread->events; + dvp.dp_nfds = thread->nevents; + if (dvp.dp_nfds >= thread->open_max) { + dvp.dp_nfds = thread->open_max - 1; + } #ifndef ISC_SOCKET_USE_POLLWATCH - dvp.dp_timeout = -1; + dvp.dp_timeout = -1; #else if (pollstate == poll_idle) { dvp.dp_timeout = -1; } else { dvp.dp_timeout = - ISC_SOCKET_POLLWATCH_TIMEOUT; + ISC_SOCKET_POLLWATCH_TIMEOUT; } -#endif /* ISC_SOCKET_USE_POLLWATCH */ - cc = ioctl(thread->devpoll_fd, DP_POLL, &dvp); - if (cc == -1 && errno == EINVAL) { - /* - * {OPEN_MAX} may have dropped. Look - * up the current value and try again. - */ - result = isc_resource_getcurlimit( - isc_resource_openfiles, - &thread->open_max); - if (result != ISC_R_SUCCESS) { - thread->open_max = 64; - } - } else { - break; - } - } +#endif /* ISC_SOCKET_USE_POLLWATCH */ + cc = ioctl(thread->devpoll_fd, DP_POLL, &dvp); + if (cc == -1 && errno == EINVAL) { + /* + * {OPEN_MAX} may have dropped. Look + * up the current value and try again. + */ + result = isc_resource_getcurlimit( + isc_resource_openfiles, + &thread->open_max); + if (result != ISC_R_SUCCESS) { + thread->open_max = 64; + } + } else { + break; + } + } #elif defined(USE_SELECT) /* * We will have only one thread anyway, we can lock @@ -3466,12 +3462,12 @@ netthread(void *uap) { cc = select(maxfd, thread->read_fds_copy, thread->write_fds_copy, NULL, NULL); -#endif /* USE_KQUEUE */ +#endif /* USE_KQUEUE */ if (cc < 0 && !SOFT_ERROR(errno)) { strerror_r(errno, strbuf, sizeof(strbuf)); - FATAL_ERROR(__FILE__, __LINE__, - "%s failed: %s", fnname, strbuf); + FATAL_ERROR(__FILE__, __LINE__, "%s failed: %s", + fnname, strbuf); } #if defined(USE_DEVPOLL) && defined(ISC_SOCKET_USE_POLLWATCH) @@ -3502,7 +3498,7 @@ netthread(void *uap) { #endif } while (cc < 0); -#if defined(USE_KQUEUE) || defined (USE_EPOLL) || defined (USE_DEVPOLL) +#if defined(USE_KQUEUE) || defined(USE_EPOLL) || defined(USE_DEVPOLL) done = process_fds(thread, thread->events, cc); #elif defined(USE_SELECT) process_fds(thread, maxfd, thread->read_fds_copy, @@ -3522,7 +3518,8 @@ netthread(void *uap) { } void -isc_socketmgr_setreserved(isc_socketmgr_t *manager0, uint32_t reserved) { +isc_socketmgr_setreserved(isc_socketmgr_t *manager0, uint32_t reserved) +{ isc__socketmgr_t *manager = (isc__socketmgr_t *)manager0; REQUIRE(VALID_MANAGER(manager)); @@ -3531,7 +3528,8 @@ isc_socketmgr_setreserved(isc_socketmgr_t *manager0, uint32_t reserved) { } void -isc_socketmgr_maxudp(isc_socketmgr_t *manager0, unsigned int maxudp) { +isc_socketmgr_maxudp(isc_socketmgr_t *manager0, unsigned int maxudp) +{ isc__socketmgr_t *manager = (isc__socketmgr_t *)manager0; REQUIRE(VALID_MANAGER(manager)); @@ -3544,10 +3542,11 @@ isc_socketmgr_maxudp(isc_socketmgr_t *manager0, unsigned int maxudp) { */ static isc_result_t -setup_thread(isc__socketthread_t *thread) { +setup_thread(isc__socketthread_t *thread) +{ isc_result_t result = ISC_R_SUCCESS; - int i; - char strbuf[ISC_STRERRORSIZE]; + int i; + char strbuf[ISC_STRERRORSIZE]; REQUIRE(thread != NULL); REQUIRE(VALID_MANAGER(thread->manager)); @@ -3555,7 +3554,8 @@ setup_thread(isc__socketthread_t *thread) { thread->threadid < thread->manager->nthreads); thread->fds = isc_mem_get(thread->manager->mctx, - thread->manager->maxsocks * sizeof(isc__socket_t *)); + thread->manager->maxsocks * + sizeof(isc__socket_t *)); memset(thread->fds, 0, thread->manager->maxsocks * sizeof(isc_socket_t *)); @@ -3574,8 +3574,7 @@ setup_thread(isc__socketthread_t *thread) { if (pipe(thread->pipe_fds) != 0) { strerror_r(errno, strbuf, sizeof(strbuf)); - UNEXPECTED_ERROR(__FILE__, __LINE__, - "pipe() failed: %s", + UNEXPECTED_ERROR(__FILE__, __LINE__, "pipe() failed: %s", strbuf); return (ISC_R_UNEXPECTED); } @@ -3590,8 +3589,7 @@ setup_thread(isc__socketthread_t *thread) { if (thread->kqueue_fd == -1) { result = isc__errno2result(errno); strerror_r(errno, strbuf, sizeof(strbuf)); - UNEXPECTED_ERROR(__FILE__, __LINE__, - "kqueue failed: %s", + UNEXPECTED_ERROR(__FILE__, __LINE__, "kqueue failed: %s", strbuf); isc_mem_put(thread->manager->mctx, thread->events, sizeof(struct kevent) * thread->nevents); @@ -3608,24 +3606,24 @@ setup_thread(isc__socketthread_t *thread) { #elif defined(USE_EPOLL) thread->nevents = ISC_SOCKET_MAXEVENTS; - thread->epoll_events = isc_mem_get(thread->manager->mctx, - (thread->manager->maxsocks * sizeof(uint32_t))); + thread->epoll_events = + isc_mem_get(thread->manager->mctx, + (thread->manager->maxsocks * sizeof(uint32_t))); memset(thread->epoll_events, 0, thread->manager->maxsocks * sizeof(uint32_t)); - thread->events = isc_mem_get(thread->manager->mctx, - sizeof(struct epoll_event) * thread->nevents); + thread->events = + isc_mem_get(thread->manager->mctx, + sizeof(struct epoll_event) * thread->nevents); thread->epoll_fd = epoll_create(thread->nevents); if (thread->epoll_fd == -1) { result = isc__errno2result(errno); strerror_r(errno, strbuf, sizeof(strbuf)); - UNEXPECTED_ERROR(__FILE__, __LINE__, - "epoll_create failed: %s", - strbuf); + UNEXPECTED_ERROR(__FILE__, __LINE__, "epoll_create failed: %s", + strbuf); return (result); - } result = watch_fd(thread, thread->pipe_fds[0], SELECT_POKE_READ); @@ -3645,17 +3643,17 @@ setup_thread(isc__socketthread_t *thread) { * Note: fdpollinfo should be able to support all possible FDs, so * it must have maxsocks entries (not nevents). */ - thread->fdpollinfo = isc_mem_get(thread->manager->mctx, - sizeof(pollinfo_t) * thread->manager->maxsocks); - memset(thread->fdpollinfo, 0, sizeof(pollinfo_t) * - thread->manager->maxsocks); + thread->fdpollinfo = + isc_mem_get(thread->manager->mctx, + sizeof(pollinfo_t) * thread->manager->maxsocks); + memset(thread->fdpollinfo, 0, + sizeof(pollinfo_t) * thread->manager->maxsocks); thread->devpoll_fd = open("/dev/poll", O_RDWR); if (thread->devpoll_fd == -1) { result = isc__errno2result(errno); strerror_r(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, - "open(/dev/poll) failed: %s", - strbuf); + "open(/dev/poll) failed: %s", strbuf); isc_mem_put(thread->manager->mctx, thread->events, sizeof(struct pollfd) * thread->nevents); isc_mem_put(thread->manager->mctx, thread->fdpollinfo, @@ -3688,14 +3686,14 @@ setup_thread(isc__socketthread_t *thread) { thread->fd_bufsize = sizeof(fd_set); #endif - thread->read_fds = isc_mem_get(thread->manager->mctx, - thread->fd_bufsize); - thread->read_fds_copy = isc_mem_get(thread->manager->mctx, - thread->fd_bufsize); - thread->write_fds = isc_mem_get(thread->manager->mctx, - thread->fd_bufsize); - thread->write_fds_copy = isc_mem_get(thread->manager->mctx, - thread->fd_bufsize); + thread->read_fds = + isc_mem_get(thread->manager->mctx, thread->fd_bufsize); + thread->read_fds_copy = + isc_mem_get(thread->manager->mctx, thread->fd_bufsize); + thread->write_fds = + isc_mem_get(thread->manager->mctx, thread->fd_bufsize); + thread->write_fds_copy = + isc_mem_get(thread->manager->mctx, thread->fd_bufsize); memset(thread->read_fds, 0, thread->fd_bufsize); memset(thread->write_fds, 0, thread->fd_bufsize); @@ -3703,18 +3701,18 @@ setup_thread(isc__socketthread_t *thread) { thread->maxfd = thread->pipe_fds[0]; return (ISC_R_SUCCESS); -#endif /* USE_KQUEUE */ +#endif /* USE_KQUEUE */ } static void -cleanup_thread(isc_mem_t *mctx, isc__socketthread_t *thread) { +cleanup_thread(isc_mem_t *mctx, isc__socketthread_t *thread) +{ isc_result_t result; - int i; + int i; result = unwatch_fd(thread, thread->pipe_fds[0], SELECT_POKE_READ); if (result != ISC_R_SUCCESS) { - UNEXPECTED_ERROR(__FILE__, __LINE__, - "epoll_ctl(DEL) failed"); + UNEXPECTED_ERROR(__FILE__, __LINE__, "epoll_ctl(DEL) failed"); } #ifdef USE_KQUEUE close(thread->kqueue_fd); @@ -3744,7 +3742,7 @@ cleanup_thread(isc_mem_t *mctx, isc__socketthread_t *thread) { if (thread->write_fds_copy != NULL) { isc_mem_put(mctx, thread->write_fds_copy, thread->fd_bufsize); } -#endif /* USE_KQUEUE */ +#endif /* USE_KQUEUE */ for (i = 0; i < (int)thread->manager->maxsocks; i++) { if (thread->fdstate[i] == CLOSE_PENDING) { /* no need to lock */ @@ -3761,7 +3759,6 @@ cleanup_thread(isc_mem_t *mctx, isc__socketthread_t *thread) { isc_mem_put(thread->manager->mctx, thread->fdstate, thread->manager->maxsocks * sizeof(int)); - if (thread->fdlock != NULL) { for (i = 0; i < FDLOCK_COUNT; i++) { isc_mutex_destroy(&thread->fdlock[i]); @@ -3769,11 +3766,11 @@ cleanup_thread(isc_mem_t *mctx, isc__socketthread_t *thread) { isc_mem_put(thread->manager->mctx, thread->fdlock, FDLOCK_COUNT * sizeof(isc_mutex_t)); } - } isc_result_t -isc_socketmgr_create(isc_mem_t *mctx, isc_socketmgr_t **managerp) { +isc_socketmgr_create(isc_mem_t *mctx, isc_socketmgr_t **managerp) +{ return (isc_socketmgr_create2(mctx, managerp, 0, 1)); } @@ -3781,7 +3778,7 @@ isc_result_t isc_socketmgr_create2(isc_mem_t *mctx, isc_socketmgr_t **managerp, unsigned int maxsocks, int nthreads) { - int i; + int i; isc__socketmgr_t *manager; REQUIRE(managerp != NULL && *managerp == NULL); @@ -3809,16 +3806,15 @@ isc_socketmgr_create2(isc_mem_t *mctx, isc_socketmgr_t **managerp, /* * Start up the select/poll thread. */ - manager->threads = isc_mem_get(mctx, - sizeof(isc__socketthread_t) * manager->nthreads); + manager->threads = isc_mem_get(mctx, sizeof(isc__socketthread_t) * + manager->nthreads); isc_mem_attach(mctx, &manager->mctx); - for (i=0; i < manager->nthreads; i++) { + for (i = 0; i < manager->nthreads; i++) { manager->threads[i].manager = manager; manager->threads[i].threadid = i; setup_thread(&manager->threads[i]); - isc_thread_create(netthread, - &manager->threads[i], + isc_thread_create(netthread, &manager->threads[i], &manager->threads[i].thread); char tname[1024]; sprintf(tname, "isc-socket-%d", i); @@ -3828,11 +3824,11 @@ isc_socketmgr_create2(isc_mem_t *mctx, isc_socketmgr_t **managerp, *managerp = (isc_socketmgr_t *)manager; return (ISC_R_SUCCESS); - } isc_result_t -isc_socketmgr_getmaxsockets(isc_socketmgr_t *manager0, unsigned int *nsockp) { +isc_socketmgr_getmaxsockets(isc_socketmgr_t *manager0, unsigned int *nsockp) +{ isc__socketmgr_t *manager = (isc__socketmgr_t *)manager0; REQUIRE(VALID_MANAGER(manager)); REQUIRE(nsockp != NULL); @@ -3843,7 +3839,8 @@ isc_socketmgr_getmaxsockets(isc_socketmgr_t *manager0, unsigned int *nsockp) { } void -isc_socketmgr_setstats(isc_socketmgr_t *manager0, isc_stats_t *stats) { +isc_socketmgr_setstats(isc_socketmgr_t *manager0, isc_stats_t *stats) +{ isc__socketmgr_t *manager = (isc__socketmgr_t *)manager0; REQUIRE(VALID_MANAGER(manager)); @@ -3855,7 +3852,8 @@ isc_socketmgr_setstats(isc_socketmgr_t *manager0, isc_stats_t *stats) { } void -isc_socketmgr_destroy(isc_socketmgr_t **managerp) { +isc_socketmgr_destroy(isc_socketmgr_t **managerp) +{ isc__socketmgr_t *manager; /* @@ -3910,16 +3908,15 @@ isc_socketmgr_destroy(isc_socketmgr_t **managerp) { isc_mem_putanddetach(&manager->mctx, manager, sizeof(*manager)); *managerp = NULL; - } static isc_result_t socket_recv(isc__socket_t *sock, isc_socketevent_t *dev, isc_task_t *task, unsigned int flags) { - int io_state; - bool have_lock = false; - isc_task_t *ntask = NULL; + int io_state; + bool have_lock = false; + isc_task_t * ntask = NULL; isc_result_t result = ISC_R_SUCCESS; dev->ev_sender = task; @@ -3965,8 +3962,7 @@ socket_recv(isc__socket_t *sock, isc_socketevent_t *dev, isc_task_t *task, } socket_log(sock, NULL, EVENT, - "socket_recv: event %p -> task %p", - dev, ntask); + "socket_recv: event %p -> task %p", dev, ntask); if ((flags & ISC_SOCKFLAG_IMMEDIATE) != 0) { result = ISC_R_INPROGRESS; @@ -3993,13 +3989,12 @@ socket_recv(isc__socket_t *sock, isc_socketevent_t *dev, isc_task_t *task, } isc_result_t -isc_socket_recv(isc_socket_t *sock0, isc_region_t *region, - unsigned int minimum, isc_task_t *task, - isc_taskaction_t action, void *arg) +isc_socket_recv(isc_socket_t *sock0, isc_region_t *region, unsigned int minimum, + isc_task_t *task, isc_taskaction_t action, void *arg) { - isc__socket_t *sock = (isc__socket_t *)sock0; + isc__socket_t * sock = (isc__socket_t *)sock0; isc_socketevent_t *dev; - isc__socketmgr_t *manager; + isc__socketmgr_t * manager; REQUIRE(VALID_SOCKET(sock)); REQUIRE(action != NULL); @@ -4009,8 +4004,8 @@ isc_socket_recv(isc_socket_t *sock0, isc_region_t *region, INSIST(sock->bound); - dev = allocate_socketevent(manager->mctx, sock, - ISC_SOCKEVENT_RECVDONE, action, arg); + dev = allocate_socketevent(manager->mctx, sock, ISC_SOCKEVENT_RECVDONE, + action, arg); if (dev == NULL) return (ISC_R_NOMEMORY); @@ -4019,8 +4014,8 @@ isc_socket_recv(isc_socket_t *sock0, isc_region_t *region, isc_result_t isc_socket_recv2(isc_socket_t *sock0, isc_region_t *region, - unsigned int minimum, isc_task_t *task, - isc_socketevent_t *event, unsigned int flags) + unsigned int minimum, isc_task_t *task, + isc_socketevent_t *event, unsigned int flags) { isc__socket_t *sock = (isc__socket_t *)sock0; @@ -4051,9 +4046,9 @@ socket_send(isc__socket_t *sock, isc_socketevent_t *dev, isc_task_t *task, const isc_sockaddr_t *address, struct in6_pktinfo *pktinfo, unsigned int flags) { - int io_state; - bool have_lock = false; - isc_task_t *ntask = NULL; + int io_state; + bool have_lock = false; + isc_task_t * ntask = NULL; isc_result_t result = ISC_R_SUCCESS; dev->ev_sender = task; @@ -4066,7 +4061,8 @@ socket_send(isc__socket_t *sock, isc_socketevent_t *dev, isc_task_t *task, if (!isc_sockaddr_issitelocal(&dev->address) && !isc_sockaddr_islinklocal(&dev->address)) { socket_log(sock, NULL, TRACE, - "pktinfo structure provided, ifindex %u (set to 0)", + "pktinfo structure provided, ifindex %u " + "(set to 0)", pktinfo->ipi6_ifindex); /* @@ -4114,12 +4110,11 @@ socket_send(isc__socket_t *sock, isc_socketevent_t *dev, isc_task_t *task, ISC_LIST_ENQUEUE(sock->send_list, dev, ev_link); if (do_poke) { select_poke(sock->manager, sock->threadid, - sock->fd, - SELECT_POKE_WRITE); + sock->fd, SELECT_POKE_WRITE); } socket_log(sock, NULL, EVENT, - "socket_send: event %p -> task %p", - dev, ntask); + "socket_send: event %p -> task %p", dev, + ntask); if ((flags & ISC_SOCKFLAG_IMMEDIATE) != 0) { result = ISC_R_INPROGRESS; @@ -4149,24 +4144,23 @@ socket_send(isc__socket_t *sock, isc_socketevent_t *dev, isc_task_t *task, } isc_result_t -isc_socket_send(isc_socket_t *sock, isc_region_t *region, - isc_task_t *task, isc_taskaction_t action, void *arg) +isc_socket_send(isc_socket_t *sock, isc_region_t *region, isc_task_t *task, + isc_taskaction_t action, void *arg) { /* * REQUIRE() checking is performed in isc_socket_sendto(). */ - return (isc_socket_sendto(sock, region, task, action, arg, NULL, - NULL)); + return (isc_socket_sendto(sock, region, task, action, arg, NULL, NULL)); } isc_result_t -isc_socket_sendto(isc_socket_t *sock0, isc_region_t *region, - isc_task_t *task, isc_taskaction_t action, void *arg, - const isc_sockaddr_t *address, struct in6_pktinfo *pktinfo) +isc_socket_sendto(isc_socket_t *sock0, isc_region_t *region, isc_task_t *task, + isc_taskaction_t action, void *arg, + const isc_sockaddr_t *address, struct in6_pktinfo *pktinfo) { - isc__socket_t *sock = (isc__socket_t *)sock0; + isc__socket_t * sock = (isc__socket_t *)sock0; isc_socketevent_t *dev; - isc__socketmgr_t *manager; + isc__socketmgr_t * manager; REQUIRE(VALID_SOCKET(sock)); REQUIRE(region != NULL); @@ -4178,8 +4172,8 @@ isc_socket_sendto(isc_socket_t *sock0, isc_region_t *region, INSIST(sock->bound); - dev = allocate_socketevent(manager->mctx, sock, - ISC_SOCKEVENT_SENDDONE, action, arg); + dev = allocate_socketevent(manager->mctx, sock, ISC_SOCKEVENT_SENDDONE, + action, arg); if (dev == NULL) return (ISC_R_NOMEMORY); @@ -4189,15 +4183,15 @@ isc_socket_sendto(isc_socket_t *sock0, isc_region_t *region, } isc_result_t -isc_socket_sendto2(isc_socket_t *sock0, isc_region_t *region, - isc_task_t *task, - const isc_sockaddr_t *address, struct in6_pktinfo *pktinfo, - isc_socketevent_t *event, unsigned int flags) +isc_socket_sendto2(isc_socket_t *sock0, isc_region_t *region, isc_task_t *task, + const isc_sockaddr_t *address, struct in6_pktinfo *pktinfo, + isc_socketevent_t *event, unsigned int flags) { isc__socket_t *sock = (isc__socket_t *)sock0; REQUIRE(VALID_SOCKET(sock)); - REQUIRE((flags & ~(ISC_SOCKFLAG_IMMEDIATE|ISC_SOCKFLAG_NORETRY)) == 0); + REQUIRE((flags & ~(ISC_SOCKFLAG_IMMEDIATE | ISC_SOCKFLAG_NORETRY)) == + 0); if ((flags & ISC_SOCKFLAG_NORETRY) != 0) REQUIRE(sock->type == isc_sockettype_udp); event->ev_sender = sock; @@ -4211,28 +4205,29 @@ isc_socket_sendto2(isc_socket_t *sock0, isc_region_t *region, } void -isc_socket_cleanunix(const isc_sockaddr_t *sockaddr, bool active) { +isc_socket_cleanunix(const isc_sockaddr_t *sockaddr, bool active) +{ #ifdef ISC_PLATFORM_HAVESYSUNH - int s; + int s; struct stat sb; - char strbuf[ISC_STRERRORSIZE]; + char strbuf[ISC_STRERRORSIZE]; if (sockaddr->type.sa.sa_family != AF_UNIX) return; #ifndef S_ISSOCK #if defined(S_IFMT) && defined(S_IFSOCK) -#define S_ISSOCK(mode) ((mode & S_IFMT)==S_IFSOCK) +#define S_ISSOCK(mode) ((mode & S_IFMT) == S_IFSOCK) #elif defined(_S_IFMT) && defined(S_IFSOCK) -#define S_ISSOCK(mode) ((mode & _S_IFMT)==S_IFSOCK) +#define S_ISSOCK(mode) ((mode & _S_IFMT) == S_IFSOCK) #endif #endif #ifndef S_ISFIFO #if defined(S_IFMT) && defined(S_IFIFO) -#define S_ISFIFO(mode) ((mode & S_IFMT)==S_IFIFO) +#define S_ISFIFO(mode) ((mode & S_IFMT) == S_IFIFO) #elif defined(_S_IFMT) && defined(S_IFIFO) -#define S_ISFIFO(mode) ((mode & _S_IFMT)==S_IFIFO) +#define S_ISFIFO(mode) ((mode & _S_IFMT) == S_IFIFO) #endif #endif @@ -4287,7 +4282,7 @@ isc_socket_cleanunix(const isc_sockaddr_t *sockaddr, bool active) { if (stat(sockaddr->type.sunix.sun_path, &sb) < 0) { switch (errno) { - case ENOENT: /* We exited cleanly last time */ + case ENOENT: /* We exited cleanly last time */ break; default: strerror_r(errno, strbuf, sizeof(strbuf)); @@ -4315,13 +4310,12 @@ isc_socket_cleanunix(const isc_sockaddr_t *sockaddr, bool active) { case ECONNRESET: if (unlink(sockaddr->type.sunix.sun_path) < 0) { strerror_r(errno, strbuf, sizeof(strbuf)); - isc_log_write(isc_lctx, ISC_LOGCATEGORY_GENERAL, - ISC_LOGMODULE_SOCKET, - ISC_LOG_WARNING, - "isc_socket_cleanunix: " - "unlink(%s): %s", - sockaddr->type.sunix.sun_path, - strbuf); + isc_log_write( + isc_lctx, ISC_LOGCATEGORY_GENERAL, + ISC_LOGMODULE_SOCKET, ISC_LOG_WARNING, + "isc_socket_cleanunix: " + "unlink(%s): %s", + sockaddr->type.sunix.sun_path, strbuf); } break; default: @@ -4333,7 +4327,7 @@ isc_socket_cleanunix(const isc_sockaddr_t *sockaddr, bool active) { break; } } - cleanup: +cleanup: close(s); #else UNUSED(sockaddr); @@ -4347,8 +4341,8 @@ isc_socket_permunix(const isc_sockaddr_t *sockaddr, uint32_t perm, { #ifdef ISC_PLATFORM_HAVESYSUNH isc_result_t result = ISC_R_SUCCESS; - char strbuf[ISC_STRERRORSIZE]; - char path[sizeof(sockaddr->type.sunix.sun_path)]; + char strbuf[ISC_STRERRORSIZE]; + char path[sizeof(sockaddr->type.sunix.sun_path)]; #ifdef NEED_SECURE_DIRECTORY char *slash; #endif @@ -4374,8 +4368,8 @@ isc_socket_permunix(const isc_sockaddr_t *sockaddr, uint32_t perm, strerror_r(errno, strbuf, sizeof(strbuf)); isc_log_write(isc_lctx, ISC_LOGCATEGORY_GENERAL, ISC_LOGMODULE_SOCKET, ISC_LOG_ERROR, - "isc_socket_permunix: chmod(%s, %d): %s", - path, perm, strbuf); + "isc_socket_permunix: chmod(%s, %d): %s", path, + perm, strbuf); result = ISC_R_FAILURE; } if (chown(path, owner, group) < 0) { @@ -4383,8 +4377,7 @@ isc_socket_permunix(const isc_sockaddr_t *sockaddr, uint32_t perm, isc_log_write(isc_lctx, ISC_LOGCATEGORY_GENERAL, ISC_LOGMODULE_SOCKET, ISC_LOG_ERROR, "isc_socket_permunix: chown(%s, %d, %d): %s", - path, owner, group, - strbuf); + path, owner, group, strbuf); result = ISC_R_FAILURE; } return (result); @@ -4399,11 +4392,11 @@ isc_socket_permunix(const isc_sockaddr_t *sockaddr, uint32_t perm, isc_result_t isc_socket_bind(isc_socket_t *sock0, const isc_sockaddr_t *sockaddr, - isc_socket_options_t options) + isc_socket_options_t options) { isc__socket_t *sock = (isc__socket_t *)sock0; - char strbuf[ISC_STRERRORSIZE]; - int on = 1; + char strbuf[ISC_STRERRORSIZE]; + int on = 1; REQUIRE(VALID_SOCKET(sock)); @@ -4426,25 +4419,21 @@ isc_socket_bind(isc_socket_t *sock0, const isc_sockaddr_t *sockaddr, } #endif if ((options & ISC_SOCKET_REUSEADDRESS) != 0 && - isc_sockaddr_getport(sockaddr) != (in_port_t) 0) - { - if (setsockopt(sock->fd, SOL_SOCKET, SO_REUSEADDR, - (void *)&on, sizeof(on)) < 0) - { + isc_sockaddr_getport(sockaddr) != (in_port_t)0) { + if (setsockopt(sock->fd, SOL_SOCKET, SO_REUSEADDR, (void *)&on, + sizeof(on)) < 0) { UNEXPECTED_ERROR(__FILE__, __LINE__, "setsockopt(%d) failed", sock->fd); } #if defined(__FreeBSD_kernel__) && defined(SO_REUSEPORT_LB) if (setsockopt(sock->fd, SOL_SOCKET, SO_REUSEPORT_LB, - (void *)&on, sizeof(on)) < 0) - { + (void *)&on, sizeof(on)) < 0) { UNEXPECTED_ERROR(__FILE__, __LINE__, "setsockopt(%d) failed", sock->fd); } #elif defined(__linux__) && defined(SO_REUSEPORT) - if (setsockopt(sock->fd, SOL_SOCKET, SO_REUSEPORT, - (void *)&on, sizeof(on)) < 0) - { + if (setsockopt(sock->fd, SOL_SOCKET, SO_REUSEPORT, (void *)&on, + sizeof(on)) < 0) { UNEXPECTED_ERROR(__FILE__, __LINE__, "setsockopt(%d) failed", sock->fd); } @@ -4452,7 +4441,7 @@ isc_socket_bind(isc_socket_t *sock0, const isc_sockaddr_t *sockaddr, /* Press on... */ } #ifdef AF_UNIX - bind_socket: +bind_socket: #endif if (bind(sock->fd, &sockaddr->type.sa, sockaddr->length) < 0) { inc_stats(sock->manager->stats, @@ -4491,10 +4480,11 @@ isc_socket_bind(isc_socket_t *sock0, const isc_sockaddr_t *sockaddr, #undef ENABLE_ACCEPTFILTER isc_result_t -isc_socket_filter(isc_socket_t *sock0, const char *filter) { +isc_socket_filter(isc_socket_t *sock0, const char *filter) +{ isc__socket_t *sock = (isc__socket_t *)sock0; #if defined(SO_ACCEPTFILTER) && defined(ENABLE_ACCEPTFILTER) - char strbuf[ISC_STRERRORSIZE]; + char strbuf[ISC_STRERRORSIZE]; struct accept_filter_arg afa; #else UNUSED(sock); @@ -4506,8 +4496,8 @@ isc_socket_filter(isc_socket_t *sock0, const char *filter) { #if defined(SO_ACCEPTFILTER) && defined(ENABLE_ACCEPTFILTER) bzero(&afa, sizeof(afa)); strlcpy(afa.af_name, filter, sizeof(afa.af_name)); - if (setsockopt(sock->fd, SOL_SOCKET, SO_ACCEPTFILTER, - &afa, sizeof(afa)) == -1) { + if (setsockopt(sock->fd, SOL_SOCKET, SO_ACCEPTFILTER, &afa, + sizeof(afa)) == -1) { strerror_r(errno, strbuf, sizeof(strbuf)); socket_log(sock, NULL, CREATION, "setsockopt(SO_ACCEPTFILTER): %s", strbuf); @@ -4523,7 +4513,8 @@ isc_socket_filter(isc_socket_t *sock0, const char *filter) { * Try enabling TCP Fast Open for a given socket if the OS supports it. */ static void -set_tcp_fastopen(isc__socket_t *sock, unsigned int backlog) { +set_tcp_fastopen(isc__socket_t *sock, unsigned int backlog) +{ #if defined(ENABLE_TCP_FASTOPEN) && defined(TCP_FASTOPEN) char strbuf[ISC_STRERRORSIZE]; @@ -4536,8 +4527,8 @@ set_tcp_fastopen(isc__socket_t *sock, unsigned int backlog) { #if defined(__FreeBSD__) && defined(HAVE_SYSCTLBYNAME) #define SYSCTL_TFO "net.inet.tcp.fastopen.enabled" unsigned int enabled; - size_t enabledlen = sizeof(enabled); - static bool tfo_notice_logged = false; + size_t enabledlen = sizeof(enabled); + static bool tfo_notice_logged = false; if (sysctlbyname(SYSCTL_TFO, &enabled, &enabledlen, NULL, 0) < 0) { /* @@ -4568,8 +4559,8 @@ set_tcp_fastopen(isc__socket_t *sock, unsigned int backlog) { if (backlog == 0) backlog = 1; #endif - if (setsockopt(sock->fd, IPPROTO_TCP, TCP_FASTOPEN, - (void *)&backlog, sizeof(backlog)) < 0) { + if (setsockopt(sock->fd, IPPROTO_TCP, TCP_FASTOPEN, (void *)&backlog, + sizeof(backlog)) < 0) { strerror_r(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, "setsockopt(%d, TCP_FASTOPEN) failed with %s", @@ -4593,9 +4584,10 @@ set_tcp_fastopen(isc__socket_t *sock, unsigned int backlog) { * as well keep things simple rather than having to track them. */ isc_result_t -isc_socket_listen(isc_socket_t *sock0, unsigned int backlog) { +isc_socket_listen(isc_socket_t *sock0, unsigned int backlog) +{ isc__socket_t *sock = (isc__socket_t *)sock0; - char strbuf[ISC_STRERRORSIZE]; + char strbuf[ISC_STRERRORSIZE]; REQUIRE(VALID_SOCKET(sock)); @@ -4630,16 +4622,16 @@ isc_socket_listen(isc_socket_t *sock0, unsigned int backlog) { * This should try to do aggressive accept() XXXMLG */ isc_result_t -isc_socket_accept(isc_socket_t *sock0, - isc_task_t *task, isc_taskaction_t action, void *arg) +isc_socket_accept(isc_socket_t *sock0, isc_task_t *task, + isc_taskaction_t action, void *arg) { - isc__socket_t *sock = (isc__socket_t *)sock0; + isc__socket_t * sock = (isc__socket_t *)sock0; isc_socket_newconnev_t *dev; - isc__socketmgr_t *manager; - isc_task_t *ntask = NULL; - isc__socket_t *nsock; - isc_result_t result; - bool do_poke = false; + isc__socketmgr_t * manager; + isc_task_t * ntask = NULL; + isc__socket_t * nsock; + isc_result_t result; + bool do_poke = false; REQUIRE(VALID_SOCKET(sock)); manager = sock->manager; @@ -4654,9 +4646,9 @@ isc_socket_accept(isc_socket_t *sock0, * this event to. Just before the actual event is delivered the * actual ev_sender will be touched up to be the socket. */ - dev = (isc_socket_newconnev_t *) - isc_event_allocate(manager->mctx, task, ISC_SOCKEVENT_NEWCONN, - action, arg, sizeof(*dev)); + dev = (isc_socket_newconnev_t *)isc_event_allocate( + manager->mctx, task, ISC_SOCKEVENT_NEWCONN, action, arg, + sizeof(*dev)); ISC_LINK_INIT(dev, ev_link); result = allocate_socket(manager, sock->type, &nsock); @@ -4702,13 +4694,13 @@ isc_result_t isc_socket_connect(isc_socket_t *sock0, const isc_sockaddr_t *addr, isc_task_t *task, isc_taskaction_t action, void *arg) { - isc__socket_t *sock = (isc__socket_t *)sock0; + isc__socket_t * sock = (isc__socket_t *)sock0; isc_socket_connev_t *dev; - isc_task_t *ntask = NULL; - isc__socketmgr_t *manager; - int cc; - char strbuf[ISC_STRERRORSIZE]; - char addrbuf[ISC_SOCKADDR_FORMATSIZE]; + isc_task_t * ntask = NULL; + isc__socketmgr_t * manager; + int cc; + char strbuf[ISC_STRERRORSIZE]; + char addrbuf[ISC_SOCKADDR_FORMATSIZE]; REQUIRE(VALID_SOCKET(sock)); REQUIRE(addr != NULL); @@ -4724,10 +4716,9 @@ isc_socket_connect(isc_socket_t *sock0, const isc_sockaddr_t *addr, LOCK(&sock->lock); - dev = (isc_socket_connev_t *)isc_event_allocate(manager->mctx, sock, - ISC_SOCKEVENT_CONNECT, - action, arg, - sizeof(*dev)); + dev = (isc_socket_connev_t *)isc_event_allocate( + manager->mctx, sock, ISC_SOCKEVENT_CONNECT, action, arg, + sizeof(*dev)); ISC_LINK_INIT(dev, ev_link); if (sock->connecting) { @@ -4770,7 +4761,10 @@ isc_socket_connect(isc_socket_t *sock0, const isc_sockaddr_t *addr, goto queue; switch (errno) { -#define ERROR_MATCH(a, b) case a: dev->result = b; goto err_exit; +#define ERROR_MATCH(a, b) \ + case a: \ + dev->result = b; \ + goto err_exit; ERROR_MATCH(EACCES, ISC_R_NOPERM); ERROR_MATCH(EADDRNOTAVAIL, ISC_R_ADDRNOTAVAIL); ERROR_MATCH(EAFNOSUPPORT, ISC_R_ADDRNOTAVAIL); @@ -4814,7 +4808,7 @@ isc_socket_connect(isc_socket_t *sock0, const isc_sockaddr_t *addr, /* * If connect completed, fire off the done event. */ - success: +success: if (cc == 0) { sock->connected = 1; sock->bound = 1; @@ -4829,7 +4823,7 @@ isc_socket_connect(isc_socket_t *sock0, const isc_sockaddr_t *addr, return (ISC_R_SUCCESS); } - queue: +queue: /* * Attach to task. @@ -4859,13 +4853,14 @@ isc_socket_connect(isc_socket_t *sock0, const isc_sockaddr_t *addr, * Called when a socket with a pending connect() finishes. */ static void -internal_connect(isc__socket_t *sock) { +internal_connect(isc__socket_t *sock) +{ isc_socket_connev_t *dev; - int cc; - isc_result_t result; - socklen_t optlen; - char strbuf[ISC_STRERRORSIZE]; - char peerbuf[ISC_SOCKADDR_FORMATSIZE]; + int cc; + isc_result_t result; + socklen_t optlen; + char strbuf[ISC_STRERRORSIZE]; + char peerbuf[ISC_SOCKADDR_FORMATSIZE]; INSIST(VALID_SOCKET(sock)); @@ -4886,8 +4881,8 @@ internal_connect(isc__socket_t *sock) { * Get any possible error status here. */ optlen = sizeof(cc); - if (getsockopt(sock->fd, SOL_SOCKET, SO_ERROR, - (void *)&cc, (void *)&optlen) != 0) + if (getsockopt(sock->fd, SOL_SOCKET, SO_ERROR, (void *)&cc, + (void *)&optlen) != 0) cc = errno; else errno = cc; @@ -4909,7 +4904,10 @@ internal_connect(isc__socket_t *sock) { * Translate other errors into ISC_R_* flavors. */ switch (errno) { -#define ERROR_MATCH(a, b) case a: result = b; break; +#define ERROR_MATCH(a, b) \ + case a: \ + result = b; \ + break; ERROR_MATCH(EACCES, ISC_R_NOPERM); ERROR_MATCH(EADDRNOTAVAIL, ISC_R_ADDRNOTAVAIL); ERROR_MATCH(EAFNOSUPPORT, ISC_R_ADDRNOTAVAIL); @@ -4948,15 +4946,16 @@ internal_connect(isc__socket_t *sock) { dev = ISC_LIST_HEAD(sock->connect_list); } while (dev != NULL); - finish: +finish: unwatch_fd(&sock->manager->threads[sock->threadid], sock->fd, SELECT_POKE_CONNECT); } isc_result_t -isc_socket_getpeername(isc_socket_t *sock0, isc_sockaddr_t *addressp) { +isc_socket_getpeername(isc_socket_t *sock0, isc_sockaddr_t *addressp) +{ isc__socket_t *sock = (isc__socket_t *)sock0; - isc_result_t result; + isc_result_t result; REQUIRE(VALID_SOCKET(sock)); REQUIRE(addressp != NULL); @@ -4976,11 +4975,12 @@ isc_socket_getpeername(isc_socket_t *sock0, isc_sockaddr_t *addressp) { } isc_result_t -isc_socket_getsockname(isc_socket_t *sock0, isc_sockaddr_t *addressp) { +isc_socket_getsockname(isc_socket_t *sock0, isc_sockaddr_t *addressp) +{ isc__socket_t *sock = (isc__socket_t *)sock0; - socklen_t len; - isc_result_t result; - char strbuf[ISC_STRERRORSIZE]; + socklen_t len; + isc_result_t result; + char strbuf[ISC_STRERRORSIZE]; REQUIRE(VALID_SOCKET(sock)); REQUIRE(addressp != NULL); @@ -4997,14 +4997,13 @@ isc_socket_getsockname(isc_socket_t *sock0, isc_sockaddr_t *addressp) { len = sizeof(addressp->type); if (getsockname(sock->fd, &addressp->type.sa, (void *)&len) < 0) { strerror_r(errno, strbuf, sizeof(strbuf)); - UNEXPECTED_ERROR(__FILE__, __LINE__, "getsockname: %s", - strbuf); + UNEXPECTED_ERROR(__FILE__, __LINE__, "getsockname: %s", strbuf); result = ISC_R_UNEXPECTED; goto out; } addressp->length = (unsigned int)len; - out: +out: UNLOCK(&sock->lock); return (result); @@ -5015,7 +5014,8 @@ isc_socket_getsockname(isc_socket_t *sock0, isc_sockaddr_t *addressp) { * queued for task "task" of type "how". "how" is a bitmask. */ void -isc_socket_cancel(isc_socket_t *sock0, isc_task_t *task, unsigned int how) { +isc_socket_cancel(isc_socket_t *sock0, isc_task_t *task, unsigned int how) +{ isc__socket_t *sock = (isc__socket_t *)sock0; REQUIRE(VALID_SOCKET(sock)); @@ -5039,11 +5039,11 @@ isc_socket_cancel(isc_socket_t *sock0, isc_task_t *task, unsigned int how) { * its done event with status of "ISC_R_CANCELED". * o Reset any state needed. */ - if (((how & ISC_SOCKCANCEL_RECV) != 0) - && !ISC_LIST_EMPTY(sock->recv_list)) { - isc_socketevent_t *dev; - isc_socketevent_t *next; - isc_task_t *current_task; + if (((how & ISC_SOCKCANCEL_RECV) != 0) && + !ISC_LIST_EMPTY(sock->recv_list)) { + isc_socketevent_t *dev; + isc_socketevent_t *next; + isc_task_t * current_task; dev = ISC_LIST_HEAD(sock->recv_list); @@ -5059,11 +5059,11 @@ isc_socket_cancel(isc_socket_t *sock0, isc_task_t *task, unsigned int how) { } } - if (((how & ISC_SOCKCANCEL_SEND) != 0) - && !ISC_LIST_EMPTY(sock->send_list)) { - isc_socketevent_t *dev; - isc_socketevent_t *next; - isc_task_t *current_task; + if (((how & ISC_SOCKCANCEL_SEND) != 0) && + !ISC_LIST_EMPTY(sock->send_list)) { + isc_socketevent_t *dev; + isc_socketevent_t *next; + isc_task_t * current_task; dev = ISC_LIST_HEAD(sock->send_list); @@ -5079,11 +5079,11 @@ isc_socket_cancel(isc_socket_t *sock0, isc_task_t *task, unsigned int how) { } } - if (((how & ISC_SOCKCANCEL_ACCEPT) != 0) - && !ISC_LIST_EMPTY(sock->accept_list)) { + if (((how & ISC_SOCKCANCEL_ACCEPT) != 0) && + !ISC_LIST_EMPTY(sock->accept_list)) { isc_socket_newconnev_t *dev; isc_socket_newconnev_t *next; - isc_task_t *current_task; + isc_task_t * current_task; dev = ISC_LIST_HEAD(sock->accept_list); while (dev != NULL) { @@ -5091,12 +5091,11 @@ isc_socket_cancel(isc_socket_t *sock0, isc_task_t *task, unsigned int how) { next = ISC_LIST_NEXT(dev, ev_link); if ((task == NULL) || (task == current_task)) { - ISC_LIST_UNLINK(sock->accept_list, dev, ev_link); (void)isc_refcount_decrement( - &NEWCONNSOCK(dev)->references); + &NEWCONNSOCK(dev)->references); free_socket((isc__socket_t **)&dev->newsocket); dev->result = ISC_R_CANCELED; @@ -5110,11 +5109,11 @@ isc_socket_cancel(isc_socket_t *sock0, isc_task_t *task, unsigned int how) { } } - if (((how & ISC_SOCKCANCEL_CONNECT) != 0) - && !ISC_LIST_EMPTY(sock->connect_list)) { - isc_socket_connev_t *dev; - isc_socket_connev_t *next; - isc_task_t *current_task; + if (((how & ISC_SOCKCANCEL_CONNECT) != 0) && + !ISC_LIST_EMPTY(sock->connect_list)) { + isc_socket_connev_t *dev; + isc_socket_connev_t *next; + isc_task_t * current_task; INSIST(sock->connecting); sock->connecting = 0; @@ -5137,7 +5136,8 @@ isc_socket_cancel(isc_socket_t *sock0, isc_task_t *task, unsigned int how) { } isc_sockettype_t -isc_socket_gettype(isc_socket_t *sock0) { +isc_socket_gettype(isc_socket_t *sock0) +{ isc__socket_t *sock = (isc__socket_t *)sock0; REQUIRE(VALID_SOCKET(sock)); @@ -5146,7 +5146,8 @@ isc_socket_gettype(isc_socket_t *sock0) { } void -isc_socket_ipv6only(isc_socket_t *sock0, bool yes) { +isc_socket_ipv6only(isc_socket_t *sock0, bool yes) +{ isc__socket_t *sock = (isc__socket_t *)sock0; #if defined(IPV6_V6ONLY) int onoff = yes ? 1 : 0; @@ -5165,7 +5166,8 @@ isc_socket_ipv6only(isc_socket_t *sock0, bool yes) { char strbuf[ISC_STRERRORSIZE]; strerror_r(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, - "setsockopt(%d, IPV6_V6ONLY) failed: %s", + "setsockopt(%d, IPV6_V6ONLY) failed: " + "%s", sock->fd, strbuf); } } @@ -5173,7 +5175,8 @@ isc_socket_ipv6only(isc_socket_t *sock0, bool yes) { } static void -setdscp(isc__socket_t *sock, isc_dscp_t dscp) { +setdscp(isc__socket_t *sock, isc_dscp_t dscp) +{ #if defined(IP_TOS) || defined(IPV6_TCLASS) int value = dscp << 2; #endif @@ -5182,14 +5185,14 @@ setdscp(isc__socket_t *sock, isc_dscp_t dscp) { #ifdef IP_TOS if (sock->pf == AF_INET) { - if (setsockopt(sock->fd, IPPROTO_IP, IP_TOS, - (void *)&value, sizeof(value)) < 0) { + if (setsockopt(sock->fd, IPPROTO_IP, IP_TOS, (void *)&value, + sizeof(value)) < 0) { char strbuf[ISC_STRERRORSIZE]; strerror_r(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, - "setsockopt(%d, IP_TOS, %.02x) failed: %s", - sock->fd, value >> 2, - strbuf); + "setsockopt(%d, IP_TOS, %.02x) " + "failed: %s", + sock->fd, value >> 2, strbuf); } } #endif @@ -5200,7 +5203,8 @@ setdscp(isc__socket_t *sock, isc_dscp_t dscp) { char strbuf[ISC_STRERRORSIZE]; strerror_r(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, - "setsockopt(%d, IPV6_TCLASS, %.02x) failed: %s", + "setsockopt(%d, IPV6_TCLASS, %.02x) " + "failed: %s", sock->fd, dscp >> 2, strbuf); } } @@ -5208,7 +5212,8 @@ setdscp(isc__socket_t *sock, isc_dscp_t dscp) { } void -isc_socket_dscp(isc_socket_t *sock0, isc_dscp_t dscp) { +isc_socket_dscp(isc_socket_t *sock0, isc_dscp_t dscp) +{ isc__socket_t *sock = (isc__socket_t *)sock0; REQUIRE(VALID_SOCKET(sock)); @@ -5225,7 +5230,6 @@ isc_socket_dscp(isc_socket_t *sock0, isc_dscp_t dscp) { INSIST(dscp == isc_dscp_check_value); #endif - #ifdef notyet REQUIRE(!sock->dupped); #endif @@ -5234,15 +5238,15 @@ isc_socket_dscp(isc_socket_t *sock0, isc_dscp_t dscp) { } isc_socketevent_t * -isc_socket_socketevent(isc_mem_t *mctx, void *sender, - isc_eventtype_t eventtype, isc_taskaction_t action, - void *arg) +isc_socket_socketevent(isc_mem_t *mctx, void *sender, isc_eventtype_t eventtype, + isc_taskaction_t action, void *arg) { return (allocate_socketevent(mctx, sender, eventtype, action, arg)); } void -isc_socket_setname(isc_socket_t *socket0, const char *name, void *tag) { +isc_socket_setname(isc_socket_t *socket0, const char *name, void *tag) +{ isc__socket_t *sock = (isc__socket_t *)socket0; /* @@ -5258,38 +5262,42 @@ isc_socket_setname(isc_socket_t *socket0, const char *name, void *tag) { } const char * -isc_socket_getname(isc_socket_t *socket0) { +isc_socket_getname(isc_socket_t *socket0) +{ isc__socket_t *sock = (isc__socket_t *)socket0; return (sock->name); } void * -isc_socket_gettag(isc_socket_t *socket0) { +isc_socket_gettag(isc_socket_t *socket0) +{ isc__socket_t *sock = (isc__socket_t *)socket0; return (sock->tag); } int -isc_socket_getfd(isc_socket_t *socket0) { +isc_socket_getfd(isc_socket_t *socket0) +{ isc__socket_t *sock = (isc__socket_t *)socket0; - return ((short) sock->fd); + return ((short)sock->fd); } -static isc_once_t hasreuseport_once = ISC_ONCE_INIT; -static bool hasreuseport = false; +static isc_once_t hasreuseport_once = ISC_ONCE_INIT; +static bool hasreuseport = false; static void -init_hasreuseport() { +init_hasreuseport() +{ /* * SO_REUSEPORT works very differently on *BSD and on Linux (because why not). * We only want to use it on Linux, if it's available. On BSD we want to dup() * sockets instead of re-binding them. */ #if (defined(SO_REUSEPORT) && defined(__linux__)) || \ - (defined(SO_REUSEPORT_LB) && defined(__FreeBSD_kernel__)) + (defined(SO_REUSEPORT_LB) && defined(__FreeBSD_kernel__)) int sock, yes = 1; sock = socket(AF_INET, SOCK_DGRAM, 0); if (sock < 0) { @@ -5298,17 +5306,16 @@ init_hasreuseport() { return; } } - if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, - (void *)&yes, sizeof(yes)) < 0) - { + if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (void *)&yes, + sizeof(yes)) < 0) { close(sock); return; #if defined(__FreeBSD_kernel__) - } else if (setsockopt(sock, SOL_SOCKET, SO_REUSEPORT_LB, - (void *)&yes, sizeof(yes)) < 0) + } else if (setsockopt(sock, SOL_SOCKET, SO_REUSEPORT_LB, (void *)&yes, + sizeof(yes)) < 0) #else - } else if (setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, - (void *)&yes, sizeof(yes)) < 0) + } else if (setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, (void *)&yes, + sizeof(yes)) < 0) #endif { close(sock); @@ -5320,13 +5327,13 @@ init_hasreuseport() { } bool -isc_socket_hasreuseport() { - RUNTIME_CHECK(isc_once_do(&hasreuseport_once, init_hasreuseport) - == ISC_R_SUCCESS); +isc_socket_hasreuseport() +{ + RUNTIME_CHECK(isc_once_do(&hasreuseport_once, init_hasreuseport) == + ISC_R_SUCCESS); return (hasreuseport); } - #if defined(HAVE_LIBXML2) || defined(HAVE_JSON_C) static const char * _socktype(isc_sockettype_t type) @@ -5345,16 +5352,22 @@ _socktype(isc_sockettype_t type) #endif #ifdef HAVE_LIBXML2 -#define TRY0(a) do { xmlrc = (a); if (xmlrc < 0) goto error; } while(0) +#define TRY0(a) \ + do { \ + xmlrc = (a); \ + if (xmlrc < 0) \ + goto error; \ + } while (0) int -isc_socketmgr_renderxml(isc_socketmgr_t *mgr0, void *writer0) { +isc_socketmgr_renderxml(isc_socketmgr_t *mgr0, void *writer0) +{ isc__socketmgr_t *mgr = (isc__socketmgr_t *)mgr0; - isc__socket_t *sock = NULL; - char peerbuf[ISC_SOCKADDR_FORMATSIZE]; - isc_sockaddr_t addr; - socklen_t len; - int xmlrc; - xmlTextWriterPtr writer = (xmlTextWriterPtr)writer0; + isc__socket_t * sock = NULL; + char peerbuf[ISC_SOCKADDR_FORMATSIZE]; + isc_sockaddr_t addr; + socklen_t len; + int xmlrc; + xmlTextWriterPtr writer = (xmlTextWriterPtr)writer0; LOCK(&mgr->lock); @@ -5376,29 +5389,33 @@ isc_socketmgr_renderxml(isc_socketmgr_t *mgr0, void *writer0) { TRY0(xmlTextWriterEndElement(writer)); /* name */ } - TRY0(xmlTextWriterStartElement(writer, - ISC_XMLCHAR "references")); - TRY0(xmlTextWriterWriteFormatString(writer, "%d", - (int)isc_refcount_current(&sock->references))); + TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "reference" + "s")); + TRY0(xmlTextWriterWriteFormatString( + writer, "%d", + (int)isc_refcount_current(&sock->references))); TRY0(xmlTextWriterEndElement(writer)); - TRY0(xmlTextWriterWriteElement(writer, ISC_XMLCHAR "type", - ISC_XMLCHAR _socktype(sock->type))); + TRY0(xmlTextWriterWriteElement( + writer, ISC_XMLCHAR "type", + ISC_XMLCHAR _socktype(sock->type))); if (sock->connected) { isc_sockaddr_format(&sock->peer_address, peerbuf, sizeof(peerbuf)); TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "peer-address", - ISC_XMLCHAR peerbuf)); + ISC_XMLCHAR "peer-" + "address", + ISC_XMLCHAR peerbuf)); } len = sizeof(addr); if (getsockname(sock->fd, &addr.type.sa, (void *)&len) == 0) { isc_sockaddr_format(&addr, peerbuf, sizeof(peerbuf)); TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "local-address", - ISC_XMLCHAR peerbuf)); + ISC_XMLCHAR "local-" + "address", + ISC_XMLCHAR peerbuf)); } TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "states")); @@ -5408,12 +5425,14 @@ isc_socketmgr_renderxml(isc_socketmgr_t *mgr0, void *writer0) { ISC_XMLCHAR "listener")); if (sock->connected) TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "state", - ISC_XMLCHAR "connected")); + ISC_XMLCHAR "state", + ISC_XMLCHAR "connecte" + "d")); if (sock->connecting) TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "state", - ISC_XMLCHAR "connecting")); + ISC_XMLCHAR "state", + ISC_XMLCHAR "connectin" + "g")); if (sock->bound) TRY0(xmlTextWriterWriteElement(writer, ISC_XMLCHAR "state", @@ -5428,7 +5447,7 @@ isc_socketmgr_renderxml(isc_socketmgr_t *mgr0, void *writer0) { } TRY0(xmlTextWriterEndElement(writer)); /* sockets */ - error: +error: if (sock != NULL) UNLOCK(&sock->lock); @@ -5439,23 +5458,25 @@ isc_socketmgr_renderxml(isc_socketmgr_t *mgr0, void *writer0) { #endif /* HAVE_LIBXML2 */ #ifdef HAVE_JSON_C -#define CHECKMEM(m) do { \ - if (m == NULL) { \ - result = ISC_R_NOMEMORY;\ - goto error;\ - } \ -} while(0) +#define CHECKMEM(m) \ + do { \ + if (m == NULL) { \ + result = ISC_R_NOMEMORY; \ + goto error; \ + } \ + } while (0) isc_result_t -isc_socketmgr_renderjson(isc_socketmgr_t *mgr0, void *stats0) { - isc_result_t result = ISC_R_SUCCESS; +isc_socketmgr_renderjson(isc_socketmgr_t *mgr0, void *stats0) +{ + isc_result_t result = ISC_R_SUCCESS; isc__socketmgr_t *mgr = (isc__socketmgr_t *)mgr0; - isc__socket_t *sock = NULL; - char peerbuf[ISC_SOCKADDR_FORMATSIZE]; - isc_sockaddr_t addr; - socklen_t len; - json_object *obj, *array = json_object_new_array(); - json_object *stats = (json_object *)stats0; + isc__socket_t * sock = NULL; + char peerbuf[ISC_SOCKADDR_FORMATSIZE]; + isc_sockaddr_t addr; + socklen_t len; + json_object * obj, *array = json_object_new_array(); + json_object * stats = (json_object *)stats0; CHECKMEM(array); @@ -5464,7 +5485,7 @@ isc_socketmgr_renderjson(isc_socketmgr_t *mgr0, void *stats0) { sock = ISC_LIST_HEAD(mgr->socklist); while (sock != NULL) { json_object *states, *entry = json_object_new_object(); - char buf[255]; + char buf[255]; CHECKMEM(entry); json_object_array_add(array, entry); @@ -5483,7 +5504,7 @@ isc_socketmgr_renderjson(isc_socketmgr_t *mgr0, void *stats0) { } obj = json_object_new_int( - (int)isc_refcount_current(&sock->references)); + (int)isc_refcount_current(&sock->references)); CHECKMEM(obj); json_object_object_add(entry, "references", obj); @@ -5543,7 +5564,7 @@ isc_socketmgr_renderjson(isc_socketmgr_t *mgr0, void *stats0) { array = NULL; result = ISC_R_SUCCESS; - error: +error: if (array != NULL) json_object_put(array); diff --git a/lib/isc/unix/socket_p.h b/lib/isc/unix/socket_p.h index 6ab124d054..4de4da44f3 100644 --- a/lib/isc/unix/socket_p.h +++ b/lib/isc/unix/socket_p.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_SOCKET_P_H #define ISC_SOCKET_P_H @@ -18,7 +17,9 @@ #include typedef struct isc_socketwait isc_socketwait_t; -int isc__socketmgr_waitevents(isc_socketmgr_t *, struct timeval *, - isc_socketwait_t **); -isc_result_t isc__socketmgr_dispatch(isc_socketmgr_t *, isc_socketwait_t *); +int +isc__socketmgr_waitevents(isc_socketmgr_t *, struct timeval *, + isc_socketwait_t **); +isc_result_t +isc__socketmgr_dispatch(isc_socketmgr_t *, isc_socketwait_t *); #endif /* ISC_SOCKET_P_H */ diff --git a/lib/isc/unix/stdio.c b/lib/isc/unix/stdio.c index 88cad3fb7e..22795030b2 100644 --- a/lib/isc/unix/stdio.c +++ b/lib/isc/unix/stdio.c @@ -12,14 +12,15 @@ #include #include -#include #include +#include #include #include "errno2result.h" isc_result_t -isc_stdio_open(const char *filename, const char *mode, FILE **fp) { +isc_stdio_open(const char *filename, const char *mode, FILE **fp) +{ FILE *f; f = fopen(filename, mode); @@ -30,7 +31,8 @@ isc_stdio_open(const char *filename, const char *mode, FILE **fp) { } isc_result_t -isc_stdio_close(FILE *f) { +isc_stdio_close(FILE *f) +{ int r; r = fclose(f); @@ -41,7 +43,8 @@ isc_stdio_close(FILE *f) { } isc_result_t -isc_stdio_seek(FILE *f, off_t offset, int whence) { +isc_stdio_seek(FILE *f, off_t offset, int whence) +{ int r; r = fseeko(f, offset, whence); @@ -52,7 +55,8 @@ isc_stdio_seek(FILE *f, off_t offset, int whence) { } isc_result_t -isc_stdio_tell(FILE *f, off_t *offsetp) { +isc_stdio_tell(FILE *f, off_t *offsetp) +{ off_t r; REQUIRE(offsetp != NULL); @@ -66,9 +70,10 @@ isc_stdio_tell(FILE *f, off_t *offsetp) { } isc_result_t -isc_stdio_read(void *ptr, size_t size, size_t nmemb, FILE *f, size_t *nret) { +isc_stdio_read(void *ptr, size_t size, size_t nmemb, FILE *f, size_t *nret) +{ isc_result_t result = ISC_R_SUCCESS; - size_t r; + size_t r; clearerr(f); r = fread(ptr, size, nmemb, f); @@ -85,10 +90,10 @@ isc_stdio_read(void *ptr, size_t size, size_t nmemb, FILE *f, size_t *nret) { isc_result_t isc_stdio_write(const void *ptr, size_t size, size_t nmemb, FILE *f, - size_t *nret) + size_t *nret) { isc_result_t result = ISC_R_SUCCESS; - size_t r; + size_t r; clearerr(f); r = fwrite(ptr, size, nmemb, f); @@ -100,7 +105,8 @@ isc_stdio_write(const void *ptr, size_t size, size_t nmemb, FILE *f, } isc_result_t -isc_stdio_flush(FILE *f) { +isc_stdio_flush(FILE *f) +{ int r; r = fflush(f); @@ -118,9 +124,10 @@ isc_stdio_flush(FILE *f) { #endif isc_result_t -isc_stdio_sync(FILE *f) { +isc_stdio_sync(FILE *f) +{ struct stat buf; - int r; + int r; if (fstat(fileno(f), &buf) != 0) return (isc__errno2result(errno)); @@ -137,4 +144,3 @@ isc_stdio_sync(FILE *f) { else return (isc__errno2result(errno)); } - diff --git a/lib/isc/unix/stdtime.c b/lib/isc/unix/stdtime.c index 0ebb0c59f3..722b80ad09 100644 --- a/lib/isc/unix/stdtime.c +++ b/lib/isc/unix/stdtime.c @@ -9,19 +9,18 @@ * information regarding copyright ownership. */ - /*! \file */ #include -#include /* NULL */ -#include /* NULL */ +#include /* NULL */ +#include /* NULL */ #include -#include - #include #include +#include + #ifndef ISC_FIX_TV_USEC #define ISC_FIX_TV_USEC 1 #endif @@ -30,7 +29,8 @@ #if ISC_FIX_TV_USEC static inline void -fix_tv_usec(struct timeval *tv) { +fix_tv_usec(struct timeval *tv) +{ bool fixed = false; if (tv->tv_usec < 0) { @@ -44,18 +44,20 @@ fix_tv_usec(struct timeval *tv) { do { tv->tv_sec += 1; tv->tv_usec -= US_PER_S; - } while (tv->tv_usec >=US_PER_S); + } while (tv->tv_usec >= US_PER_S); } /* * Call syslog directly as we are called from the logging functions. */ if (fixed) - (void)syslog(LOG_ERR, "gettimeofday returned bad tv_usec: corrected"); + (void)syslog(LOG_ERR, "gettimeofday returned bad tv_usec: " + "corrected"); } #endif void -isc_stdtime_get(isc_stdtime_t *t) { +isc_stdtime_get(isc_stdtime_t *t) +{ struct timeval tv; /* diff --git a/lib/isc/unix/syslog.c b/lib/isc/unix/syslog.c index 1553307152..2112a79019 100644 --- a/lib/isc/unix/syslog.c +++ b/lib/isc/unix/syslog.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -21,44 +20,43 @@ #include static struct dsn_c_pvt_sfnt { - int val; + int val; const char *strval; -} facilities[] = { - { LOG_KERN, "kern" }, - { LOG_USER, "user" }, - { LOG_MAIL, "mail" }, - { LOG_DAEMON, "daemon" }, - { LOG_AUTH, "auth" }, - { LOG_SYSLOG, "syslog" }, - { LOG_LPR, "lpr" }, +} facilities[] = { { LOG_KERN, "kern" }, + { LOG_USER, "user" }, + { LOG_MAIL, "mail" }, + { LOG_DAEMON, "daemon" }, + { LOG_AUTH, "auth" }, + { LOG_SYSLOG, "syslog" }, + { LOG_LPR, "lpr" }, #ifdef LOG_NEWS - { LOG_NEWS, "news" }, + { LOG_NEWS, "news" }, #endif #ifdef LOG_UUCP - { LOG_UUCP, "uucp" }, + { LOG_UUCP, "uucp" }, #endif #ifdef LOG_CRON - { LOG_CRON, "cron" }, + { LOG_CRON, "cron" }, #endif #ifdef LOG_AUTHPRIV - { LOG_AUTHPRIV, "authpriv" }, + { LOG_AUTHPRIV, "authpriv" }, #endif #ifdef LOG_FTP - { LOG_FTP, "ftp" }, + { LOG_FTP, "ftp" }, #endif - { LOG_LOCAL0, "local0"}, - { LOG_LOCAL1, "local1"}, - { LOG_LOCAL2, "local2"}, - { LOG_LOCAL3, "local3"}, - { LOG_LOCAL4, "local4"}, - { LOG_LOCAL5, "local5"}, - { LOG_LOCAL6, "local6"}, - { LOG_LOCAL7, "local7"}, - { 0, NULL } -}; + { LOG_LOCAL0, "local0" }, + { LOG_LOCAL1, "local1" }, + { LOG_LOCAL2, "local2" }, + { LOG_LOCAL3, "local3" }, + { LOG_LOCAL4, "local4" }, + { LOG_LOCAL5, "local5" }, + { LOG_LOCAL6, "local6" }, + { LOG_LOCAL7, "local7" }, + { 0, NULL } }; isc_result_t -isc_syslog_facilityfromstring(const char *str, int *facilityp) { +isc_syslog_facilityfromstring(const char *str, int *facilityp) +{ int i; REQUIRE(str != NULL); @@ -71,5 +69,4 @@ isc_syslog_facilityfromstring(const char *str, int *facilityp) { } } return (ISC_R_NOTFOUND); - } diff --git a/lib/isc/unix/time.c b/lib/isc/unix/time.c index dd50338e88..a78c710f92 100644 --- a/lib/isc/unix/time.c +++ b/lib/isc/unix/time.c @@ -9,19 +9,16 @@ * information regarding copyright ownership. */ - /*! \file */ #include -#include #include +#include #include #include #include #include -#include /* Required for struct timeval on some platforms. */ - #include #include #include @@ -31,10 +28,12 @@ #include #include -#define NS_PER_S 1000000000 /*%< Nanoseconds per second. */ -#define NS_PER_US 1000 /*%< Nanoseconds per microsecond. */ -#define NS_PER_MS 1000000 /*%< Nanoseconds per millisecond. */ -#define US_PER_S 1000000 /*%< Microseconds per second. */ +#include /* Required for struct timeval on some platforms. */ + +#define NS_PER_S 1000000000 /*%< Nanoseconds per second. */ +#define NS_PER_US 1000 /*%< Nanoseconds per microsecond. */ +#define NS_PER_MS 1000000 /*%< Nanoseconds per millisecond. */ +#define US_PER_S 1000000 /*%< Microseconds per second. */ #if defined(CLOCK_REALTIME_COARSE) #define CLOCKSOURCE CLOCK_REALTIME_COARSE @@ -49,11 +48,11 @@ ***/ static const isc_interval_t zero_interval = { 0, 0 }; -const isc_interval_t * const isc_interval_zero = &zero_interval; +const isc_interval_t *const isc_interval_zero = &zero_interval; void -isc_interval_set(isc_interval_t *i, - unsigned int seconds, unsigned int nanoseconds) +isc_interval_set(isc_interval_t *i, unsigned int seconds, + unsigned int nanoseconds) { REQUIRE(i != NULL); REQUIRE(nanoseconds < NS_PER_S); @@ -63,7 +62,8 @@ isc_interval_set(isc_interval_t *i, } bool -isc_interval_iszero(const isc_interval_t *i) { +isc_interval_iszero(const isc_interval_t *i) +{ REQUIRE(i != NULL); INSIST(i->nanoseconds < NS_PER_S); @@ -73,16 +73,16 @@ isc_interval_iszero(const isc_interval_t *i) { return (false); } - /*** *** Absolute Times ***/ static const isc_time_t epoch = { 0, 0 }; -const isc_time_t * const isc_time_epoch = &epoch; +const isc_time_t *const isc_time_epoch = &epoch; void -isc_time_set(isc_time_t *t, unsigned int seconds, unsigned int nanoseconds) { +isc_time_set(isc_time_t *t, unsigned int seconds, unsigned int nanoseconds) +{ REQUIRE(t != NULL); REQUIRE(nanoseconds < NS_PER_S); @@ -91,7 +91,8 @@ isc_time_set(isc_time_t *t, unsigned int seconds, unsigned int nanoseconds) { } void -isc_time_settoepoch(isc_time_t *t) { +isc_time_settoepoch(isc_time_t *t) +{ REQUIRE(t != NULL); t->seconds = 0; @@ -99,7 +100,8 @@ isc_time_settoepoch(isc_time_t *t) { } bool -isc_time_isepoch(const isc_time_t *t) { +isc_time_isepoch(const isc_time_t *t) +{ REQUIRE(t != NULL); INSIST(t->nanoseconds < NS_PER_S); @@ -109,11 +111,11 @@ isc_time_isepoch(const isc_time_t *t) { return (false); } - isc_result_t -isc_time_now(isc_time_t *t) { +isc_time_now(isc_time_t *t) +{ struct timespec ts; - char strbuf[ISC_STRERRORSIZE]; + char strbuf[ISC_STRERRORSIZE]; REQUIRE(t != NULL); @@ -141,9 +143,10 @@ isc_time_now(isc_time_t *t) { } isc_result_t -isc_time_nowplusinterval(isc_time_t *t, const isc_interval_t *i) { +isc_time_nowplusinterval(isc_time_t *t, const isc_interval_t *i) +{ struct timespec ts; - char strbuf[ISC_STRERRORSIZE]; + char strbuf[ISC_STRERRORSIZE]; REQUIRE(t != NULL); REQUIRE(i != NULL); @@ -180,7 +183,8 @@ isc_time_nowplusinterval(isc_time_t *t, const isc_interval_t *i) { } int -isc_time_compare(const isc_time_t *t1, const isc_time_t *t2) { +isc_time_compare(const isc_time_t *t1, const isc_time_t *t2) +{ REQUIRE(t1 != NULL && t2 != NULL); INSIST(t1->nanoseconds < NS_PER_S && t2->nanoseconds < NS_PER_S); @@ -231,14 +235,14 @@ isc_time_subtract(const isc_time_t *t, const isc_interval_t *i, if ((unsigned int)t->seconds < i->seconds || ((unsigned int)t->seconds == i->seconds && t->nanoseconds < i->nanoseconds)) - return (ISC_R_RANGE); + return (ISC_R_RANGE); result->seconds = t->seconds - i->seconds; if (t->nanoseconds >= i->nanoseconds) result->nanoseconds = t->nanoseconds - i->nanoseconds; else { - result->nanoseconds = NS_PER_S - i->nanoseconds + - t->nanoseconds; + result->nanoseconds = + NS_PER_S - i->nanoseconds + t->nanoseconds; result->seconds--; } @@ -246,7 +250,8 @@ isc_time_subtract(const isc_time_t *t, const isc_interval_t *i, } uint64_t -isc_time_microdiff(const isc_time_t *t1, const isc_time_t *t2) { +isc_time_microdiff(const isc_time_t *t1, const isc_time_t *t2) +{ uint64_t i1, i2, i3; REQUIRE(t1 != NULL && t2 != NULL); @@ -269,7 +274,8 @@ isc_time_microdiff(const isc_time_t *t1, const isc_time_t *t2) { } uint32_t -isc_time_seconds(const isc_time_t *t) { +isc_time_seconds(const isc_time_t *t) +{ REQUIRE(t != NULL); INSIST(t->nanoseconds < NS_PER_S); @@ -277,7 +283,8 @@ isc_time_seconds(const isc_time_t *t) { } isc_result_t -isc_time_secondsastimet(const isc_time_t *t, time_t *secondsp) { +isc_time_secondsastimet(const isc_time_t *t, time_t *secondsp) +{ time_t seconds; REQUIRE(t != NULL); @@ -305,7 +312,7 @@ isc_time_secondsastimet(const isc_time_t *t, time_t *secondsp) { INSIST(sizeof(unsigned int) == sizeof(uint32_t)); INSIST(sizeof(time_t) >= sizeof(uint32_t)); - if (t->seconds > (~0U>>1) && seconds <= (time_t)(~0U>>1)) + if (t->seconds > (~0U >> 1) && seconds <= (time_t)(~0U >> 1)) return (ISC_R_RANGE); *secondsp = seconds; @@ -314,7 +321,8 @@ isc_time_secondsastimet(const isc_time_t *t, time_t *secondsp) { } uint32_t -isc_time_nanoseconds(const isc_time_t *t) { +isc_time_nanoseconds(const isc_time_t *t) +{ REQUIRE(t != NULL); ENSURE(t->nanoseconds < NS_PER_S); @@ -323,32 +331,34 @@ isc_time_nanoseconds(const isc_time_t *t) { } void -isc_time_formattimestamp(const isc_time_t *t, char *buf, unsigned int len) { - time_t now; +isc_time_formattimestamp(const isc_time_t *t, char *buf, unsigned int len) +{ + time_t now; unsigned int flen; - struct tm tm; + struct tm tm; REQUIRE(t != NULL); INSIST(t->nanoseconds < NS_PER_S); REQUIRE(buf != NULL); REQUIRE(len > 0); - now = (time_t) t->seconds; + now = (time_t)t->seconds; flen = strftime(buf, len, "%d-%b-%Y %X", localtime_r(&now, &tm)); INSIST(flen < len); if (flen != 0) - snprintf(buf + flen, len - flen, - ".%03u", t->nanoseconds / NS_PER_MS); + snprintf(buf + flen, len - flen, ".%03u", + t->nanoseconds / NS_PER_MS); else { strlcpy(buf, "99-Bad-9999 99:99:99.999", len); } } void -isc_time_formathttptimestamp(const isc_time_t *t, char *buf, unsigned int len) { - time_t now; +isc_time_formathttptimestamp(const isc_time_t *t, char *buf, unsigned int len) +{ + time_t now; unsigned int flen; - struct tm tm; + struct tm tm; REQUIRE(t != NULL); INSIST(t->nanoseconds < NS_PER_S); @@ -365,10 +375,11 @@ isc_time_formathttptimestamp(const isc_time_t *t, char *buf, unsigned int len) { } isc_result_t -isc_time_parsehttptimestamp(char *buf, isc_time_t *t) { +isc_time_parsehttptimestamp(char *buf, isc_time_t *t) +{ struct tm t_tm; - time_t when; - char *p; + time_t when; + char * p; REQUIRE(buf != NULL); REQUIRE(t != NULL); @@ -384,10 +395,11 @@ isc_time_parsehttptimestamp(char *buf, isc_time_t *t) { } void -isc_time_formatISO8601L(const isc_time_t *t, char *buf, unsigned int len) { - time_t now; +isc_time_formatISO8601L(const isc_time_t *t, char *buf, unsigned int len) +{ + time_t now; unsigned int flen; - struct tm tm; + struct tm tm; REQUIRE(t != NULL); INSIST(t->nanoseconds < NS_PER_S); @@ -400,10 +412,11 @@ isc_time_formatISO8601L(const isc_time_t *t, char *buf, unsigned int len) { } void -isc_time_formatISO8601Lms(const isc_time_t *t, char *buf, unsigned int len) { - time_t now; +isc_time_formatISO8601Lms(const isc_time_t *t, char *buf, unsigned int len) +{ + time_t now; unsigned int flen; - struct tm tm; + struct tm tm; REQUIRE(t != NULL); INSIST(t->nanoseconds < NS_PER_S); @@ -420,10 +433,11 @@ isc_time_formatISO8601Lms(const isc_time_t *t, char *buf, unsigned int len) { } void -isc_time_formatISO8601(const isc_time_t *t, char *buf, unsigned int len) { - time_t now; +isc_time_formatISO8601(const isc_time_t *t, char *buf, unsigned int len) +{ + time_t now; unsigned int flen; - struct tm tm; + struct tm tm; REQUIRE(t != NULL); INSIST(t->nanoseconds < NS_PER_S); @@ -436,10 +450,11 @@ isc_time_formatISO8601(const isc_time_t *t, char *buf, unsigned int len) { } void -isc_time_formatISO8601ms(const isc_time_t *t, char *buf, unsigned int len) { - time_t now; +isc_time_formatISO8601ms(const isc_time_t *t, char *buf, unsigned int len) +{ + time_t now; unsigned int flen; - struct tm tm; + struct tm tm; REQUIRE(t != NULL); INSIST(t->nanoseconds < NS_PER_S); @@ -459,9 +474,9 @@ isc_time_formatISO8601ms(const isc_time_t *t, char *buf, unsigned int len) { void isc_time_formatshorttimestamp(const isc_time_t *t, char *buf, unsigned int len) { - time_t now; + time_t now; unsigned int flen; - struct tm tm; + struct tm tm; REQUIRE(t != NULL); INSIST(t->nanoseconds < NS_PER_S); diff --git a/lib/isc/version.c b/lib/isc/version.c index 3a83a39fcb..025bb5f7e1 100644 --- a/lib/isc/version.c +++ b/lib/isc/version.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include diff --git a/lib/isc/win32/DLLMain.c b/lib/isc/win32/DLLMain.c index 2caa764596..8a1275a112 100644 --- a/lib/isc/win32/DLLMain.c +++ b/lib/isc/win32/DLLMain.c @@ -9,17 +9,16 @@ * information regarding copyright ownership. */ -#include #include +#include /* * Called when we enter the DLL */ -__declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, - DWORD fdwReason, LPVOID lpvReserved) +__declspec(dllexport) BOOL WINAPI + DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { - switch (fdwReason) - { + switch (fdwReason) { /* * The DLL is loading due to process * initialization or a call to LoadLibrary. @@ -47,4 +46,3 @@ __declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, } return (TRUE); } - diff --git a/lib/isc/win32/condition.c b/lib/isc/win32/condition.c index b987d9d9c1..ad4b48092d 100644 --- a/lib/isc/win32/condition.c +++ b/lib/isc/win32/condition.c @@ -12,19 +12,20 @@ #include #include -#include #include +#include #include -#include #include #include #include +#include -#define LSIGNAL 0 -#define LBROADCAST 1 +#define LSIGNAL 0 +#define LBROADCAST 1 void -isc_condition_init(isc_condition_t *cond) { +isc_condition_init(isc_condition_t *cond) +{ HANDLE h; REQUIRE(cond != NULL); @@ -35,11 +36,11 @@ isc_condition_init(isc_condition_t *cond) { */ h = CreateEvent(NULL, FALSE, FALSE, NULL); if (h == NULL) { - char strbuf[ISC_STRERRORSIZE]; + char strbuf[ISC_STRERRORSIZE]; DWORD err = GetLastError(); strerror_r(err, strbuf, sizeof(strbuf)); - isc_error_fatal(__FILE__, __LINE__, - "CreateEvent failed: %s", strbuf); + isc_error_fatal(__FILE__, __LINE__, "CreateEvent failed: %s", + strbuf); } cond->events[LSIGNAL] = h; @@ -57,7 +58,7 @@ static isc_result_t register_thread(unsigned long thrd, isc_condition_t *gblcond, isc_condition_thread_t **localcond) { - HANDLE hc; + HANDLE hc; isc_condition_thread_t *newthread; REQUIRE(localcond != NULL && *localcond == NULL); @@ -102,10 +103,8 @@ find_thread_condition(unsigned long thrd, isc_condition_t *cond, /* * Look for the thread ID. */ - for (threadcond = ISC_LIST_HEAD(cond->threadlist); - threadcond != NULL; + for (threadcond = ISC_LIST_HEAD(cond->threadlist); threadcond != NULL; threadcond = ISC_LIST_NEXT(threadcond, link)) { - if (threadcond->th == thrd) { *threadcondp = threadcond; return (ISC_R_SUCCESS); @@ -119,8 +118,8 @@ find_thread_condition(unsigned long thrd, isc_condition_t *cond, } isc_result_t -isc_condition_signal(isc_condition_t *cond) { - +isc_condition_signal(isc_condition_t *cond) +{ /* * Unlike pthreads, the caller MUST hold the lock associated with * the condition variable when calling us. @@ -135,10 +134,10 @@ isc_condition_signal(isc_condition_t *cond) { } isc_result_t -isc_condition_broadcast(isc_condition_t *cond) { - +isc_condition_broadcast(isc_condition_t *cond) +{ isc_condition_thread_t *threadcond; - bool failed = false; + bool failed = false; /* * Unlike pthreads, the caller MUST hold the lock associated with @@ -149,10 +148,8 @@ isc_condition_broadcast(isc_condition_t *cond) { /* * Notify every thread registered for this */ - for (threadcond = ISC_LIST_HEAD(cond->threadlist); - threadcond != NULL; + for (threadcond = ISC_LIST_HEAD(cond->threadlist); threadcond != NULL; threadcond = ISC_LIST_NEXT(threadcond, link)) { - if (!SetEvent(threadcond->handle[LBROADCAST])) failed = true; } @@ -164,8 +161,8 @@ isc_condition_broadcast(isc_condition_t *cond) { } isc_result_t -isc_condition_destroy(isc_condition_t *cond) { - +isc_condition_destroy(isc_condition_t *cond) +{ isc_condition_thread_t *next, *threadcond; REQUIRE(cond != NULL); @@ -181,7 +178,7 @@ isc_condition_destroy(isc_condition_t *cond) { while (threadcond != NULL) { next = ISC_LIST_NEXT(threadcond, link); DEQUEUE(cond->threadlist, threadcond, link); - (void) CloseHandle(threadcond->handle[LBROADCAST]); + (void)CloseHandle(threadcond->handle[LBROADCAST]); free(threadcond); threadcond = next; } @@ -199,16 +196,17 @@ isc_condition_destroy(isc_condition_t *cond) { * the mutex. */ static isc_result_t -wait(isc_condition_t *cond, isc_mutex_t *mutex, DWORD milliseconds) { - DWORD result; - isc_result_t tresult; +wait(isc_condition_t *cond, isc_mutex_t *mutex, DWORD milliseconds) +{ + DWORD result; + isc_result_t tresult; isc_condition_thread_t *threadcond = NULL; /* * Get the thread events needed for the wait */ tresult = find_thread_condition(isc_thread_self(), cond, &threadcond); - if (tresult != ISC_R_SUCCESS) + if (tresult != ISC_R_SUCCESS) return (tresult); cond->waiters++; @@ -228,15 +226,17 @@ wait(isc_condition_t *cond, isc_mutex_t *mutex, DWORD milliseconds) { } isc_result_t -isc_condition_wait(isc_condition_t *cond, isc_mutex_t *mutex) { +isc_condition_wait(isc_condition_t *cond, isc_mutex_t *mutex) +{ return (wait(cond, mutex, INFINITE)); } isc_result_t isc_condition_waituntil(isc_condition_t *cond, isc_mutex_t *mutex, - isc_time_t *t) { - DWORD milliseconds; - uint64_t microseconds; + isc_time_t *t) +{ + DWORD milliseconds; + uint64_t microseconds; isc_time_t now; if (isc_time_now(&now) != ISC_R_SUCCESS) { diff --git a/lib/isc/win32/dir.c b/lib/isc/win32/dir.c index 9b1f5896df..48eb822814 100644 --- a/lib/isc/win32/dir.c +++ b/lib/isc/win32/dir.c @@ -9,12 +9,10 @@ * information regarding copyright ownership. */ -#include #include -#include #include - -#include +#include +#include #include #include @@ -25,14 +23,17 @@ #include "errno2result.h" -#define ISC_DIR_MAGIC ISC_MAGIC('D', 'I', 'R', '*') -#define VALID_DIR(dir) ISC_MAGIC_VALID(dir, ISC_DIR_MAGIC) +#include + +#define ISC_DIR_MAGIC ISC_MAGIC('D', 'I', 'R', '*') +#define VALID_DIR(dir) ISC_MAGIC_VALID(dir, ISC_DIR_MAGIC) static isc_result_t start_directory(isc_dir_t *p); void -isc_dir_init(isc_dir_t *dir) { +isc_dir_init(isc_dir_t *dir) +{ REQUIRE(dir != NULL); dir->dirname[0] = '\0'; @@ -52,8 +53,9 @@ isc_dir_init(isc_dir_t *dir) { * NULL will be returned. */ isc_result_t -isc_dir_open(isc_dir_t *dir, const char *dirname) { - char *p; +isc_dir_open(isc_dir_t *dir, const char *dirname) +{ + char * p; isc_result_t result; REQUIRE(dirname != NULL); @@ -91,7 +93,8 @@ isc_dir_open(isc_dir_t *dir, const char *dirname) { * the dir stream and reads the first file in one operation. */ isc_result_t -isc_dir_read(isc_dir_t *dir) { +isc_dir_read(isc_dir_t *dir) +{ REQUIRE(VALID_DIR(dir) && dir->search_handle != INVALID_HANDLE_VALUE); if (dir->entry_filled) @@ -104,8 +107,8 @@ isc_dir_read(isc_dir_t *dir) { /* * Fetch next file in directory. */ - if (FindNextFile(dir->search_handle, - &dir->entry.find_data) == FALSE) + if (FindNextFile(dir->search_handle, &dir->entry.find_data) == + FALSE) /* * Either the last file has been processed or * an error has occurred. The former is not @@ -131,18 +134,20 @@ isc_dir_read(isc_dir_t *dir) { * Close directory stream. */ void -isc_dir_close(isc_dir_t *dir) { - REQUIRE(VALID_DIR(dir) && dir->search_handle != INVALID_HANDLE_VALUE); +isc_dir_close(isc_dir_t *dir) +{ + REQUIRE(VALID_DIR(dir) && dir->search_handle != INVALID_HANDLE_VALUE); - FindClose(dir->search_handle); - dir->search_handle = INVALID_HANDLE_VALUE; + FindClose(dir->search_handle); + dir->search_handle = INVALID_HANDLE_VALUE; } /* * Reposition directory stream at start. */ isc_result_t -isc_dir_reset(isc_dir_t *dir) { +isc_dir_reset(isc_dir_t *dir) +{ isc_result_t result; REQUIRE(VALID_DIR(dir) && dir->search_handle != INVALID_HANDLE_VALUE); @@ -179,8 +184,7 @@ start_directory(isc_dir_t *dir) /* * Open stream and retrieve first file. */ - dir->search_handle = FindFirstFile(dir->dirname, - &dir->entry.find_data); + dir->search_handle = FindFirstFile(dir->dirname, &dir->entry.find_data); if (dir->search_handle == INVALID_HANDLE_VALUE) { /* @@ -214,7 +218,8 @@ start_directory(isc_dir_t *dir) } isc_result_t -isc_dir_chdir(const char *dirname) { +isc_dir_chdir(const char *dirname) +{ /* * Change the current directory to 'dirname'. */ @@ -228,17 +233,19 @@ isc_dir_chdir(const char *dirname) { } isc_result_t -isc_dir_chroot(const char *dirname) { +isc_dir_chroot(const char *dirname) +{ return (ISC_R_NOTIMPLEMENTED); } isc_result_t -isc_dir_createunique(char *templet) { +isc_dir_createunique(char *templet) +{ isc_result_t result; - char *x; - char *p; - int i; - int pid; + char * x; + char * p; + int i; + int pid; REQUIRE(templet != NULL); @@ -255,7 +262,7 @@ isc_dir_createunique(char *templet) { x--, pid /= 10) *x = pid % 10 + '0'; - x++; /* Set x to start of ex-Xs. */ + x++; /* Set x to start of ex-Xs. */ do { i = mkdir(templet); diff --git a/lib/isc/win32/errno.c b/lib/isc/win32/errno.c index c2fe4fc62f..80eeb17a4b 100644 --- a/lib/isc/win32/errno.c +++ b/lib/isc/win32/errno.c @@ -14,6 +14,7 @@ #include "errno2result.h" isc_result_t -isc_errno_toresult(int err) { +isc_errno_toresult(int err) +{ return (isc__errno2resultx(err, false, 0, 0)); } diff --git a/lib/isc/win32/errno2result.c b/lib/isc/win32/errno2result.c index 0d67608876..4b9d233285 100644 --- a/lib/isc/win32/errno2result.c +++ b/lib/isc/win32/errno2result.c @@ -9,10 +9,11 @@ * information regarding copyright ownership. */ +#include "errno2result.h" + #include #include -#include "errno2result.h" #include #include #include @@ -25,8 +26,7 @@ * not already there. */ isc_result_t -isc__errno2resultx(int posixerrno, bool dolog, - const char *file, int line) +isc__errno2resultx(int posixerrno, bool dolog, const char *file, int line) { char strbuf[ISC_STRERRORSIZE]; @@ -34,7 +34,7 @@ isc__errno2resultx(int posixerrno, bool dolog, case ENOTDIR: case WSAELOOP: case WSAEINVAL: - case EINVAL: /* XXX sometimes this is not for files */ + case EINVAL: /* XXX sometimes this is not for files */ case ENAMETOOLONG: case WSAENAMETOOLONG: case EBADF: diff --git a/lib/isc/win32/errno2result.h b/lib/isc/win32/errno2result.h index 99752ae5d5..dc17814cf2 100644 --- a/lib/isc/win32/errno2result.h +++ b/lib/isc/win32/errno2result.h @@ -9,13 +9,12 @@ * information regarding copyright ownership. */ - #ifndef UNIX_ERRNO2RESULT_H #define UNIX_ERRNO2RESULT_H 1 /* XXXDCL this should be moved to lib/isc/include/isc/errno2result.h. */ -#include /* Provides errno. */ +#include /* Provides errno. */ #include #include @@ -27,8 +26,7 @@ ISC_LANG_BEGINDECLS isc__errno2resultx(posixerrno, true, __FILE__, __LINE__) isc_result_t -isc__errno2resultx(int posixerrno, bool dolog, - const char *file, int line); +isc__errno2resultx(int posixerrno, bool dolog, const char *file, int line); ISC_LANG_ENDDECLS diff --git a/lib/isc/win32/file.c b/lib/isc/win32/file.c index 668f401460..7d6f1890b4 100644 --- a/lib/isc/win32/file.c +++ b/lib/isc/win32/file.c @@ -11,16 +11,13 @@ #undef rename #include -#include +#include #include +#include +#include +#include #include #include -#include -#include - -#include -#include -#include #include #include @@ -36,18 +33,22 @@ #include "errno2result.h" -static const char alphnum[] = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; +#include +#include + +static const char alphnum[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv" + "wxyz0123456789"; /* * Emulate UNIX mkstemp, which returns an open FD to the new file * */ static int -gettemp(char *path, bool binary, int *doopen) { - char *start, *trv; +gettemp(char *path, bool binary, int *doopen) +{ + char * start, *trv; struct stat sbuf; - int flags = O_CREAT|O_EXCL|O_RDWR; + int flags = O_CREAT | O_EXCL | O_RDWR; if (binary) flags |= _O_BINARY; @@ -81,8 +82,8 @@ gettemp(char *path, bool binary, int *doopen) { for (;;) { if (doopen) { - if ((*doopen = - open(path, flags, _S_IREAD | _S_IWRITE)) >= 0) + if ((*doopen = open(path, flags, + _S_IREAD | _S_IWRITE)) >= 0) return (1); if (errno != EEXIST) return (0); @@ -108,7 +109,8 @@ gettemp(char *path, bool binary, int *doopen) { } static int -mkstemp(char *path, bool binary) { +mkstemp(char *path, bool binary) +{ int fd; return (gettemp(path, binary, &fd) ? fd : -1); @@ -123,7 +125,8 @@ mkstemp(char *path, bool binary) { * annoying MP issues. BTW, Win32 has stat(). */ static isc_result_t -file_stats(const char *file, struct stat *stats) { +file_stats(const char *file, struct stat *stats) +{ isc_result_t result = ISC_R_SUCCESS; REQUIRE(file != NULL); @@ -136,7 +139,8 @@ file_stats(const char *file, struct stat *stats) { } static isc_result_t -fd_stats(int fd, struct stat *stats) { +fd_stats(int fd, struct stat *stats) +{ isc_result_t result = ISC_R_SUCCESS; REQUIRE(stats != NULL); @@ -148,9 +152,10 @@ fd_stats(int fd, struct stat *stats) { } isc_result_t -isc_file_getsizefd(int fd, off_t *size) { +isc_file_getsizefd(int fd, off_t *size) +{ isc_result_t result; - struct stat stats; + struct stat stats; REQUIRE(size != NULL); @@ -162,9 +167,10 @@ isc_file_getsizefd(int fd, off_t *size) { } isc_result_t -isc_file_mode(const char *file, mode_t *modep) { +isc_file_mode(const char *file, mode_t *modep) +{ isc_result_t result; - struct stat stats; + struct stat stats; REQUIRE(modep != NULL); @@ -182,12 +188,13 @@ isc_file_mode(const char *file, mode_t *modep) { */ int -isc_file_safemovefile(const char *oldname, const char *newname) { - BOOL filestatus; - char buf[512]; +isc_file_safemovefile(const char *oldname, const char *newname) +{ + BOOL filestatus; + char buf[512]; struct stat sbuf; - BOOL exists = FALSE; - int tmpfd; + BOOL exists = FALSE; + int tmpfd; /* * Make sure we have something to do @@ -239,7 +246,8 @@ isc_file_safemovefile(const char *oldname, const char *newname) { } isc_result_t -isc_file_getmodtime(const char *file, isc_time_t *time) { +isc_file_getmodtime(const char *file, isc_time_t *time) +{ int fh; REQUIRE(file != NULL); @@ -248,11 +256,8 @@ isc_file_getmodtime(const char *file, isc_time_t *time) { if ((fh = open(file, _O_RDONLY | _O_BINARY)) < 0) return (isc__errno2result(errno)); - if (!GetFileTime((HANDLE) _get_osfhandle(fh), - NULL, - NULL, - &time->absolute)) - { + if (!GetFileTime((HANDLE)_get_osfhandle(fh), NULL, NULL, + &time->absolute)) { close(fh); errno = EINVAL; return (isc__errno2result(errno)); @@ -262,9 +267,10 @@ isc_file_getmodtime(const char *file, isc_time_t *time) { } isc_result_t -isc_file_getsize(const char *file, off_t *size) { +isc_file_getsize(const char *file, off_t *size) +{ isc_result_t result; - struct stat stats; + struct stat stats; REQUIRE(file != NULL); REQUIRE(size != NULL); @@ -278,7 +284,8 @@ isc_file_getsize(const char *file, off_t *size) { } isc_result_t -isc_file_settime(const char *file, isc_time_t *time) { +isc_file_settime(const char *file, isc_time_t *time) +{ int fh; REQUIRE(file != NULL && time != NULL); @@ -291,11 +298,8 @@ isc_file_settime(const char *file, isc_time_t *time) { * this call implies the new file times are not supported by the * underlying file system. */ - if (!SetFileTime((HANDLE) _get_osfhandle(fh), - NULL, - &time->absolute, - &time->absolute)) - { + if (!SetFileTime((HANDLE)_get_osfhandle(fh), NULL, &time->absolute, + &time->absolute)) { close(fh); errno = EINVAL; return (isc__errno2result(errno)); @@ -303,14 +307,14 @@ isc_file_settime(const char *file, isc_time_t *time) { close(fh); return (ISC_R_SUCCESS); - } #undef TEMPLATE #define TEMPLATE "XXXXXXXXXX.tmp" /* 14 characters. */ isc_result_t -isc_file_mktemplate(const char *path, char *buf, size_t buflen) { +isc_file_mktemplate(const char *path, char *buf, size_t buflen) +{ return (isc_file_template(path, TEMPLATE, buf, buflen)); } @@ -351,8 +355,9 @@ isc_file_template(const char *path, const char *templet, char *buf, } isc_result_t -isc_file_renameunique(const char *file, char *templet) { - int fd; +isc_file_renameunique(const char *file, char *templet) +{ + int fd; isc_result_t result = ISC_R_SUCCESS; REQUIRE(file != NULL); @@ -376,9 +381,10 @@ isc_file_renameunique(const char *file, char *templet) { } static isc_result_t -openuniquemode(char *templet, int mode, bool binary, FILE **fp) { - int fd; - FILE *f; +openuniquemode(char *templet, int mode, bool binary, FILE **fp) +{ + int fd; + FILE * f; isc_result_t result = ISC_R_SUCCESS; REQUIRE(templet != NULL); @@ -410,41 +416,48 @@ openuniquemode(char *templet, int mode, bool binary, FILE **fp) { } isc_result_t -isc_file_openuniqueprivate(char *templet, FILE **fp) { +isc_file_openuniqueprivate(char *templet, FILE **fp) +{ int mode = _S_IREAD | _S_IWRITE; return (openuniquemode(templet, mode, false, fp)); } isc_result_t -isc_file_openunique(char *templet, FILE **fp) { +isc_file_openunique(char *templet, FILE **fp) +{ int mode = _S_IREAD | _S_IWRITE; return (openuniquemode(templet, mode, false, fp)); } isc_result_t -isc_file_openuniquemode(char *templet, int mode, FILE **fp) { +isc_file_openuniquemode(char *templet, int mode, FILE **fp) +{ return (openuniquemode(templet, mode, false, fp)); } isc_result_t -isc_file_bopenuniqueprivate(char *templet, FILE **fp) { +isc_file_bopenuniqueprivate(char *templet, FILE **fp) +{ int mode = _S_IREAD | _S_IWRITE; return (openuniquemode(templet, mode, true, fp)); } isc_result_t -isc_file_bopenunique(char *templet, FILE **fp) { +isc_file_bopenunique(char *templet, FILE **fp) +{ int mode = _S_IREAD | _S_IWRITE; return (openuniquemode(templet, mode, true, fp)); } isc_result_t -isc_file_bopenuniquemode(char *templet, int mode, FILE **fp) { +isc_file_bopenuniquemode(char *templet, int mode, FILE **fp) +{ return (openuniquemode(templet, mode, true, fp)); } isc_result_t -isc_file_remove(const char *filename) { +isc_file_remove(const char *filename) +{ int r; REQUIRE(filename != NULL); @@ -457,7 +470,8 @@ isc_file_remove(const char *filename) { } isc_result_t -isc_file_rename(const char *oldname, const char *newname) { +isc_file_rename(const char *oldname, const char *newname) +{ int r; REQUIRE(oldname != NULL); @@ -471,7 +485,8 @@ isc_file_rename(const char *oldname, const char *newname) { } bool -isc_file_exists(const char *pathname) { +isc_file_exists(const char *pathname) +{ struct stat stats; REQUIRE(pathname != NULL); @@ -480,59 +495,62 @@ isc_file_exists(const char *pathname) { } isc_result_t -isc_file_isplainfile(const char *filename) { +isc_file_isplainfile(const char *filename) +{ /* * This function returns success if filename is a plain file. */ struct stat filestat; - memset(&filestat,0,sizeof(struct stat)); + memset(&filestat, 0, sizeof(struct stat)); if ((stat(filename, &filestat)) == -1) - return(isc__errno2result(errno)); + return (isc__errno2result(errno)); - if(! S_ISREG(filestat.st_mode)) - return(ISC_R_INVALIDFILE); + if (!S_ISREG(filestat.st_mode)) + return (ISC_R_INVALIDFILE); - return(ISC_R_SUCCESS); + return (ISC_R_SUCCESS); } isc_result_t -isc_file_isplainfilefd(int fd) { +isc_file_isplainfilefd(int fd) +{ /* * This function returns success if filename is a plain file. */ struct stat filestat; - memset(&filestat,0,sizeof(struct stat)); + memset(&filestat, 0, sizeof(struct stat)); if ((fstat(fd, &filestat)) == -1) - return(isc__errno2result(errno)); + return (isc__errno2result(errno)); - if(! S_ISREG(filestat.st_mode)) - return(ISC_R_INVALIDFILE); + if (!S_ISREG(filestat.st_mode)) + return (ISC_R_INVALIDFILE); - return(ISC_R_SUCCESS); + return (ISC_R_SUCCESS); } isc_result_t -isc_file_isdirectory(const char *filename) { +isc_file_isdirectory(const char *filename) +{ /* * This function returns success if filename is a directory. */ struct stat filestat; - memset(&filestat,0,sizeof(struct stat)); + memset(&filestat, 0, sizeof(struct stat)); if ((stat(filename, &filestat)) == -1) - return(isc__errno2result(errno)); + return (isc__errno2result(errno)); - if(! S_ISDIR(filestat.st_mode)) - return(ISC_R_INVALIDFILE); + if (!S_ISDIR(filestat.st_mode)) + return (ISC_R_INVALIDFILE); - return(ISC_R_SUCCESS); + return (ISC_R_SUCCESS); } - bool -isc_file_isabsolute(const char *filename) { +isc_file_isabsolute(const char *filename) +{ REQUIRE(filename != NULL); /* * Look for c:\path\... style, c:/path/... or \\computer\shar\path... @@ -548,13 +566,15 @@ isc_file_isabsolute(const char *filename) { } bool -isc_file_iscurrentdir(const char *filename) { +isc_file_iscurrentdir(const char *filename) +{ REQUIRE(filename != NULL); return (filename[0] == '.' && filename[1] == '\0'); } bool -isc_file_ischdiridempotent(const char *filename) { +isc_file_ischdiridempotent(const char *filename) +{ REQUIRE(filename != NULL); if (isc_file_isabsolute(filename)) @@ -569,7 +589,8 @@ isc_file_ischdiridempotent(const char *filename) { } const char * -isc_file_basename(const char *filename) { +isc_file_basename(const char *filename) +{ char *s; REQUIRE(filename != NULL); @@ -581,10 +602,11 @@ isc_file_basename(const char *filename) { } isc_result_t -isc_file_progname(const char *filename, char *progname, size_t namelen) { +isc_file_progname(const char *filename, char *progname, size_t namelen) +{ const char *s; const char *p; - size_t len; + size_t len; REQUIRE(filename != NULL); REQUIRE(progname != NULL); @@ -622,14 +644,15 @@ isc_file_progname(const char *filename, char *progname, size_t namelen) { } isc_result_t -isc_file_absolutepath(const char *filename, char *path, size_t pathlen) { +isc_file_absolutepath(const char *filename, char *path, size_t pathlen) +{ char *ptrname; DWORD retval; REQUIRE(filename != NULL); REQUIRE(path != NULL); - retval = GetFullPathName(filename, (DWORD) pathlen, path, &ptrname); + retval = GetFullPathName(filename, (DWORD)pathlen, path, &ptrname); /* Something went wrong in getting the path */ if (retval == 0) @@ -641,7 +664,8 @@ isc_file_absolutepath(const char *filename, char *path, size_t pathlen) { } isc_result_t -isc_file_truncate(const char *filename, isc_offset_t size) { +isc_file_truncate(const char *filename, isc_offset_t size) +{ int fh; REQUIRE(filename != NULL && size >= 0); @@ -649,7 +673,7 @@ isc_file_truncate(const char *filename, isc_offset_t size) { if ((fh = open(filename, _O_RDWR | _O_BINARY)) < 0) return (isc__errno2result(errno)); - if(_chsize(fh, size) != 0) { + if (_chsize(fh, size) != 0) { close(fh); return (isc__errno2result(errno)); } @@ -659,12 +683,13 @@ isc_file_truncate(const char *filename, isc_offset_t size) { } isc_result_t -isc_file_safecreate(const char *filename, FILE **fp) { +isc_file_safecreate(const char *filename, FILE **fp) +{ isc_result_t result; - int flags; - struct stat sb; - FILE *f; - int fd; + int flags; + struct stat sb; + FILE * f; + int fd; REQUIRE(filename != NULL); REQUIRE(fp != NULL && *fp == NULL); @@ -696,11 +721,11 @@ isc_file_safecreate(const char *filename, FILE **fp) { isc_result_t isc_file_splitpath(isc_mem_t *mctx, const char *path, char **dirname, - char const ** basename) + char const **basename) { - char *dir; + char * dir; const char *file, *slash; - char *backslash; + char * backslash; slash = strrchr(path, '/'); @@ -736,12 +761,11 @@ isc_file_splitpath(isc_mem_t *mctx, const char *path, char **dirname, } void * -isc_file_mmap(void *addr, size_t len, int prot, - int flags, int fd, off_t offset) +isc_file_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset) { - void *buf; + void * buf; ssize_t ret; - off_t end; + off_t end; UNUSED(addr); UNUSED(prot); @@ -749,15 +773,15 @@ isc_file_mmap(void *addr, size_t len, int prot, end = lseek(fd, 0, SEEK_END); lseek(fd, offset, SEEK_SET); - if (end - offset < (off_t) len) + if (end - offset < (off_t)len) len = end - offset; buf = malloc(len); if (buf == NULL) return (NULL); - ret = read(fd, buf, (unsigned int) len); - if (ret != (ssize_t) len) { + ret = read(fd, buf, (unsigned int)len); + if (ret != (ssize_t)len) { free(buf); buf = NULL; } @@ -766,7 +790,8 @@ isc_file_mmap(void *addr, size_t len, int prot, } int -isc_file_munmap(void *addr, size_t len) { +isc_file_munmap(void *addr, size_t len) +{ UNUSED(len); free(addr); return (0); @@ -775,11 +800,11 @@ isc_file_munmap(void *addr, size_t len) { #define DISALLOW "\\/:ABCDEFGHIJKLMNOPQRSTUVWXYZ" static isc_result_t -digest2hex(unsigned char *digest, unsigned int digestlen, - char *hash, size_t hashlen) +digest2hex(unsigned char *digest, unsigned int digestlen, char *hash, + size_t hashlen) { unsigned int i; - int ret; + int ret; for (i = 0; i < digestlen; i++) { size_t left = hashlen - i * 2; ret = snprintf(hash + i * 2, left, "%02x", digest[i]); @@ -794,12 +819,12 @@ isc_result_t isc_file_sanitize(const char *dir, const char *base, const char *ext, char *path, size_t length) { - char buf[PATH_MAX]; + char buf[PATH_MAX]; unsigned char digest[ISC_MAX_MD_SIZE]; - unsigned int digestlen; - char hash[ISC_MAX_MD_SIZE * 2 + 1]; - size_t l = 0; - isc_result_t err; + unsigned int digestlen; + char hash[ISC_MAX_MD_SIZE * 2 + 1]; + size_t l = 0; + isc_result_t err; REQUIRE(base != NULL); REQUIRE(path != NULL); @@ -822,8 +847,8 @@ isc_file_sanitize(const char *dir, const char *base, const char *ext, return (ISC_R_NOSPACE); /* Check whether the full-length SHA256 hash filename exists */ - err = isc_md(ISC_MD_SHA256, (const unsigned char *)base, - strlen(base), digest, &digestlen); + err = isc_md(ISC_MD_SHA256, (const unsigned char *)base, strlen(base), + digest, &digestlen); if (err != ISC_R_SUCCESS) { return (err); } @@ -833,9 +858,9 @@ isc_file_sanitize(const char *dir, const char *base, const char *ext, return (err); } - snprintf(buf, sizeof(buf), "%s%s%s%s%s", - dir != NULL ? dir : "", dir != NULL ? "/" : "", - hash, ext != NULL ? "." : "", ext != NULL ? ext : ""); + snprintf(buf, sizeof(buf), "%s%s%s%s%s", dir != NULL ? dir : "", + dir != NULL ? "/" : "", hash, ext != NULL ? "." : "", + ext != NULL ? ext : ""); if (isc_file_exists(buf)) { strlcpy(path, buf, length); return (ISC_R_SUCCESS); @@ -843,9 +868,9 @@ isc_file_sanitize(const char *dir, const char *base, const char *ext, /* Check for a truncated SHA256 hash filename */ hash[16] = '\0'; - snprintf(buf, sizeof(buf), "%s%s%s%s%s", - dir != NULL ? dir : "", dir != NULL ? "/" : "", - hash, ext != NULL ? "." : "", ext != NULL ? ext : ""); + snprintf(buf, sizeof(buf), "%s%s%s%s%s", dir != NULL ? dir : "", + dir != NULL ? "/" : "", hash, ext != NULL ? "." : "", + ext != NULL ? ext : ""); if (isc_file_exists(buf)) { strlcpy(path, buf, length); return (ISC_R_SUCCESS); @@ -861,9 +886,9 @@ isc_file_sanitize(const char *dir, const char *base, const char *ext, return (ISC_R_SUCCESS); } - snprintf(buf, sizeof(buf), "%s%s%s%s%s", - dir != NULL ? dir : "", dir != NULL ? "/" : "", - base, ext != NULL ? "." : "", ext != NULL ? ext : ""); + snprintf(buf, sizeof(buf), "%s%s%s%s%s", dir != NULL ? dir : "", + dir != NULL ? "/" : "", base, ext != NULL ? "." : "", + ext != NULL ? ext : ""); strlcpy(path, buf, length); return (ISC_R_SUCCESS); } @@ -872,11 +897,12 @@ isc_file_sanitize(const char *dir, const char *base, const char *ext, * Based on http://blog.aaronballman.com/2011/08/how-to-check-access-rights/ */ bool -isc_file_isdirwritable(const char *path) { - DWORD length = 0; - HANDLE hToken = NULL; +isc_file_isdirwritable(const char *path) +{ + DWORD length = 0; + HANDLE hToken = NULL; PSECURITY_DESCRIPTOR security = NULL; - bool answer = false; + bool answer = false; if (isc_file_isdirectory(path) != ISC_R_SUCCESS) { return (answer); @@ -885,11 +911,11 @@ isc_file_isdirwritable(const char *path) { /* * Figure out buffer size. GetFileSecurity() should not succeed. */ - if (GetFileSecurity(path, OWNER_SECURITY_INFORMATION | - GROUP_SECURITY_INFORMATION | - DACL_SECURITY_INFORMATION, - NULL, 0, &length)) - { + if (GetFileSecurity(path, + OWNER_SECURITY_INFORMATION | + GROUP_SECURITY_INFORMATION | + DACL_SECURITY_INFORMATION, + NULL, 0, &length)) { return (answer); } @@ -905,29 +931,28 @@ isc_file_isdirwritable(const char *path) { /* * GetFileSecurity() should succeed. */ - if (!GetFileSecurity(path, OWNER_SECURITY_INFORMATION | - GROUP_SECURITY_INFORMATION | - DACL_SECURITY_INFORMATION, - security, length, &length)) - { + if (!GetFileSecurity(path, + OWNER_SECURITY_INFORMATION | + GROUP_SECURITY_INFORMATION | + DACL_SECURITY_INFORMATION, + security, length, &length)) { return (answer); } - if (OpenProcessToken(GetCurrentProcess(), TOKEN_IMPERSONATE | - TOKEN_QUERY | TOKEN_DUPLICATE | - STANDARD_RIGHTS_READ, &hToken)) - { + if (OpenProcessToken(GetCurrentProcess(), + TOKEN_IMPERSONATE | TOKEN_QUERY | TOKEN_DUPLICATE | + STANDARD_RIGHTS_READ, + &hToken)) { HANDLE hImpersonatedToken = NULL; if (DuplicateToken(hToken, SecurityImpersonation, - &hImpersonatedToken)) - { + &hImpersonatedToken)) { GENERIC_MAPPING mapping; - PRIVILEGE_SET privileges = { 0 }; - DWORD grantedAccess = 0; - DWORD privilegesLength = sizeof(privileges); - BOOL result = FALSE; - DWORD genericAccessRights = GENERIC_WRITE; + PRIVILEGE_SET privileges = { 0 }; + DWORD grantedAccess = 0; + DWORD privilegesLength = sizeof(privileges); + BOOL result = FALSE; + DWORD genericAccessRights = GENERIC_WRITE; mapping.GenericRead = FILE_GENERIC_READ; mapping.GenericWrite = FILE_GENERIC_WRITE; @@ -938,8 +963,7 @@ isc_file_isdirwritable(const char *path) { if (AccessCheck(security, hImpersonatedToken, genericAccessRights, &mapping, &privileges, &privilegesLength, - &grantedAccess, &result)) - { + &grantedAccess, &result)) { answer = result; } CloseHandle(hImpersonatedToken); diff --git a/lib/isc/win32/fsaccess.c b/lib/isc/win32/fsaccess.c index b2e2aa3e1d..c54e28c10a 100644 --- a/lib/isc/win32/fsaccess.c +++ b/lib/isc/win32/fsaccess.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* * Note that Win32 does not have the concept of files having access * and ownership bits. The FAT File system only has a readonly flag @@ -20,14 +19,10 @@ * NTFS file systems. Nothing can be done for FAT file systems. */ -#include - #include - -#include -#include -#include #include +#include +#include #include #include @@ -35,13 +30,16 @@ #include "errno2result.h" +#include +#include + /* * The OS-independent part of the API is in lib/isc. */ #include "../fsaccess.c" /* Store the user account name locally */ -static char username[255] = "\0"; +static char username[255] = "\0"; static DWORD namelen = 0; /* @@ -50,20 +48,20 @@ static DWORD namelen = 0; */ BOOL -is_ntfs(const char * file) { - - char drive[255]; - char FSType[20]; - char tmpbuf[256]; +is_ntfs(const char *file) +{ + char drive[255]; + char FSType[20]; + char tmpbuf[256]; char *machinename; char *sharename; - char filename[1024]; + char filename[1024]; char *last; REQUIRE(filename != NULL); - if (isc_file_absolutepath(file, filename, - sizeof(filename)) != ISC_R_SUCCESS) { + if (isc_file_absolutepath(file, filename, sizeof(filename)) != + ISC_R_SUCCESS) { return (FALSE); } @@ -72,7 +70,7 @@ is_ntfs(const char * file) { * the UNC style file specs */ if (isalpha(filename[0]) && filename[1] == ':' && - (filename[2] == '\\' || filename[2] == '/')) { + (filename[2] == '\\' || filename[2] == '/')) { /* Copy 'c:\' or 'c:/' and NUL terminate. */ strlcpy(drive, filename, ISC_MIN(3 + 1, sizeof(drive))); } else if ((filename[0] == '\\') && (filename[1] == '\\')) { @@ -103,8 +101,9 @@ is_ntfs(const char * file) { * cleared. */ isc_result_t -FAT_fsaccess_set(const char *path, isc_fsaccess_t access) { - int mode; +FAT_fsaccess_set(const char *path, isc_fsaccess_t access) +{ + int mode; isc_fsaccess_t bits; /* @@ -112,24 +111,23 @@ FAT_fsaccess_set(const char *path, isc_fsaccess_t access) { */ mode = 0; -#define SET_AND_CLEAR1(modebit) \ +#define SET_AND_CLEAR1(modebit) \ if ((access & bits) != 0) { \ - mode |= modebit; \ - access &= ~bits; \ + mode |= modebit; \ + access &= ~bits; \ } #define SET_AND_CLEAR(user, group, other) \ - SET_AND_CLEAR1(user); \ - bits <<= STEP; \ - SET_AND_CLEAR1(group); \ - bits <<= STEP; \ + SET_AND_CLEAR1(user); \ + bits <<= STEP; \ + SET_AND_CLEAR1(group); \ + bits <<= STEP; \ SET_AND_CLEAR1(other); bits = ISC_FSACCESS_READ | ISC_FSACCESS_LISTDIRECTORY; SET_AND_CLEAR(S_IRUSR, S_IRGRP, S_IROTH); - bits = ISC_FSACCESS_WRITE | - ISC_FSACCESS_CREATECHILD | + bits = ISC_FSACCESS_WRITE | ISC_FSACCESS_CREATECHILD | ISC_FSACCESS_DELETECHILD; SET_AND_CLEAR(S_IWUSR, S_IWGRP, S_IWOTH); @@ -144,25 +142,25 @@ FAT_fsaccess_set(const char *path, isc_fsaccess_t access) { isc_result_t NTFS_Access_Control(const char *filename, const char *user, int access, - bool isdir) { + bool isdir) +{ SECURITY_DESCRIPTOR sd; - BYTE aclBuffer[1024]; - PACL pacl=(PACL)&aclBuffer; - BYTE sidBuffer[100]; - PSID psid=(PSID) &sidBuffer; - DWORD sidBufferSize = sizeof(sidBuffer); - BYTE adminSidBuffer[100]; - PSID padminsid=(PSID) &adminSidBuffer; - DWORD adminSidBufferSize = sizeof(adminSidBuffer); - BYTE otherSidBuffer[100]; - PSID pothersid=(PSID) &otherSidBuffer; - DWORD otherSidBufferSize = sizeof(otherSidBuffer); - char domainBuffer[100]; - DWORD domainBufferSize = sizeof(domainBuffer); - SID_NAME_USE snu; - DWORD NTFSbits; - int caccess; - + BYTE aclBuffer[1024]; + PACL pacl = (PACL)&aclBuffer; + BYTE sidBuffer[100]; + PSID psid = (PSID)&sidBuffer; + DWORD sidBufferSize = sizeof(sidBuffer); + BYTE adminSidBuffer[100]; + PSID padminsid = (PSID)&adminSidBuffer; + DWORD adminSidBufferSize = sizeof(adminSidBuffer); + BYTE otherSidBuffer[100]; + PSID pothersid = (PSID)&otherSidBuffer; + DWORD otherSidBufferSize = sizeof(otherSidBuffer); + char domainBuffer[100]; + DWORD domainBufferSize = sizeof(domainBuffer); + SID_NAME_USE snu; + DWORD NTFSbits; + int caccess; /* Initialize an ACL */ if (!InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION)) @@ -170,17 +168,18 @@ NTFS_Access_Control(const char *filename, const char *user, int access, if (!InitializeAcl(pacl, sizeof(aclBuffer), ACL_REVISION)) return (ISC_R_NOPERM); if (!LookupAccountName(0, user, psid, &sidBufferSize, domainBuffer, - &domainBufferSize, &snu)) + &domainBufferSize, &snu)) return (ISC_R_NOPERM); domainBufferSize = sizeof(domainBuffer); if (!LookupAccountName(0, "Administrators", padminsid, - &adminSidBufferSize, domainBuffer, &domainBufferSize, &snu)) { + &adminSidBufferSize, domainBuffer, + &domainBufferSize, &snu)) { (void)GetLastError(); return (ISC_R_NOPERM); } domainBufferSize = sizeof(domainBuffer); - if (!LookupAccountName(0, "Everyone", pothersid, - &otherSidBufferSize, domainBuffer, &domainBufferSize, &snu)) { + if (!LookupAccountName(0, "Everyone", pothersid, &otherSidBufferSize, + domainBuffer, &domainBufferSize, &snu)) { (void)GetLastError(); return (ISC_R_NOPERM); } @@ -215,9 +214,9 @@ NTFS_Access_Control(const char *filename, const char *user, int access, } } - if (NTFSbits == (FILE_GENERIC_READ | FILE_GENERIC_WRITE - | FILE_GENERIC_EXECUTE)) - NTFSbits |= FILE_ALL_ACCESS; + if (NTFSbits == + (FILE_GENERIC_READ | FILE_GENERIC_WRITE | FILE_GENERIC_EXECUTE)) + NTFSbits |= FILE_ALL_ACCESS; /* * Owner and Administrator also get STANDARD_RIGHTS_ALL * to ensure that they have full control @@ -271,8 +270,7 @@ NTFS_Access_Control(const char *filename, const char *user, int access, } } /* Add the ACE to the ACL */ - if (!AddAccessAllowedAce(pacl, ACL_REVISION, NTFSbits, - pothersid)) + if (!AddAccessAllowedAce(pacl, ACL_REVISION, NTFSbits, pothersid)) return (ISC_R_NOPERM); if (!SetSecurityDescriptorDacl(&sd, TRUE, pacl, FALSE)) @@ -281,13 +279,12 @@ NTFS_Access_Control(const char *filename, const char *user, int access, return (ISC_R_NOPERM); } - return(ISC_R_SUCCESS); + return (ISC_R_SUCCESS); } isc_result_t -NTFS_fsaccess_set(const char *path, isc_fsaccess_t access, - bool isdir){ - +NTFS_fsaccess_set(const char *path, isc_fsaccess_t access, bool isdir) +{ /* * For NTFS we first need to get the name of the account under * which BIND is running @@ -301,9 +298,10 @@ NTFS_fsaccess_set(const char *path, isc_fsaccess_t access, } isc_result_t -isc_fsaccess_set(const char *path, isc_fsaccess_t access) { - struct stat statb; - bool is_dir = false; +isc_fsaccess_set(const char *path, isc_fsaccess_t access) +{ + struct stat statb; + bool is_dir = false; isc_result_t result; if (stat(path, &statb) != 0) @@ -329,18 +327,18 @@ isc_fsaccess_set(const char *path, isc_fsaccess_t access) { } isc_result_t -isc_fsaccess_changeowner(const char *filename, const char *user) { +isc_fsaccess_changeowner(const char *filename, const char *user) +{ SECURITY_DESCRIPTOR psd; - BYTE sidBuffer[500]; - BYTE groupBuffer[500]; - PSID psid=(PSID) &sidBuffer; - DWORD sidBufferSize = sizeof(sidBuffer); - char domainBuffer[100]; - DWORD domainBufferSize = sizeof(domainBuffer); - SID_NAME_USE snu; - PSID pSidGroup = (PSID) &groupBuffer; - DWORD groupBufferSize = sizeof(groupBuffer); - + BYTE sidBuffer[500]; + BYTE groupBuffer[500]; + PSID psid = (PSID)&sidBuffer; + DWORD sidBufferSize = sizeof(sidBuffer); + char domainBuffer[100]; + DWORD domainBufferSize = sizeof(domainBuffer); + SID_NAME_USE snu; + PSID pSidGroup = (PSID)&groupBuffer; + DWORD groupBufferSize = sizeof(groupBuffer); /* * Determine if this is a FAT or NTFS disk and @@ -355,13 +353,13 @@ isc_fsaccess_changeowner(const char *filename, const char *user) { return (ISC_R_NOPERM); if (!LookupAccountName(0, user, psid, &sidBufferSize, domainBuffer, - &domainBufferSize, &snu)) + &domainBufferSize, &snu)) return (ISC_R_NOPERM); /* Make sure administrators can get to it */ domainBufferSize = sizeof(domainBuffer); - if (!LookupAccountName(0, "Administrators", pSidGroup, - &groupBufferSize, domainBuffer, &domainBufferSize, &snu)) + if (!LookupAccountName(0, "Administrators", pSidGroup, &groupBufferSize, + domainBuffer, &domainBufferSize, &snu)) return (ISC_R_NOPERM); if (!SetSecurityDescriptorOwner(&psd, psid, FALSE)) @@ -371,8 +369,9 @@ isc_fsaccess_changeowner(const char *filename, const char *user) { return (ISC_R_NOPERM); if (!SetFileSecurity(filename, - OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION, - &psd)) + OWNER_SECURITY_INFORMATION | + GROUP_SECURITY_INFORMATION, + &psd)) return (ISC_R_NOPERM); return (ISC_R_SUCCESS); diff --git a/lib/isc/win32/include/isc/bind_registry.h b/lib/isc/win32/include/isc/bind_registry.h index 57970be806..2c5883e2cd 100644 --- a/lib/isc/win32/include/isc/bind_registry.h +++ b/lib/isc/win32/include/isc/bind_registry.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_BINDREGISTRY_H #define ISC_BINDREGISTRY_H @@ -18,26 +17,24 @@ * during startup and installation */ -#define BIND_SUBKEY "Software\\ISC\\BIND" -#define BIND_SESSION "CurrentSession" -#define BIND_SESSION_SUBKEY "Software\\ISC\\BIND\\CurrentSession" -#define BIND_UNINSTALL_SUBKEY \ +#define BIND_SUBKEY "Software\\ISC\\BIND" +#define BIND_SESSION "CurrentSession" +#define BIND_SESSION_SUBKEY "Software\\ISC\\BIND\\CurrentSession" +#define BIND_UNINSTALL_SUBKEY \ "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\ISC BIND" -#define EVENTLOG_APP_SUBKEY \ +#define EVENTLOG_APP_SUBKEY \ "SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application" -#define BIND_MESSAGE_SUBKEY \ +#define BIND_MESSAGE_SUBKEY \ "SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\named" -#define BIND_MESSAGE_NAME "named" +#define BIND_MESSAGE_NAME "named" -#define BIND_SERVICE_SUBKEY \ - "SYSTEM\\CurrentControlSet\\Services\\named" +#define BIND_SERVICE_SUBKEY "SYSTEM\\CurrentControlSet\\Services\\named" - -#define BIND_CONFIGFILE 0 -#define BIND_DEBUGLEVEL 1 -#define BIND_QUERYLOG 2 -#define BIND_FOREGROUND 3 -#define BIND_PORT 4 +#define BIND_CONFIGFILE 0 +#define BIND_DEBUGLEVEL 1 +#define BIND_QUERYLOG 2 +#define BIND_FOREGROUND 3 +#define BIND_PORT 4 #endif /* ISC_BINDREGISTRY_H */ diff --git a/lib/isc/win32/include/isc/bindevt.h b/lib/isc/win32/include/isc/bindevt.h index d4088e866e..3adcfbf377 100644 --- a/lib/isc/win32/include/isc/bindevt.h +++ b/lib/isc/win32/include/isc/bindevt.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_BINDEVT_H #define ISC_BINDEVT_H 1 @@ -48,12 +47,10 @@ * Define the facility codes */ - /* * Define the severity codes */ - /* * MessageId: BIND_ERR_MSG * @@ -61,7 +58,7 @@ * * %1 */ -#define BIND_ERR_MSG ((DWORD)0xC0000001L) +#define BIND_ERR_MSG ((DWORD)0xC0000001L) /* * MessageId: BIND_WARN_MSG @@ -70,7 +67,7 @@ * * %1 */ -#define BIND_WARN_MSG ((DWORD)0x80000002L) +#define BIND_WARN_MSG ((DWORD)0x80000002L) /* * MessageId: BIND_INFO_MSG @@ -79,6 +76,6 @@ * * %1 */ -#define BIND_INFO_MSG ((DWORD)0x40000003L) +#define BIND_INFO_MSG ((DWORD)0x40000003L) #endif /* ISC_BINDEVT_H */ diff --git a/lib/isc/win32/include/isc/condition.h b/lib/isc/win32/include/isc/condition.h index e69425b208..14c7cf634e 100644 --- a/lib/isc/win32/include/isc/condition.h +++ b/lib/isc/win32/include/isc/condition.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_CONDITION_H #define ISC_CONDITION_H 1 @@ -23,15 +22,14 @@ typedef struct isc_condition_thread isc_condition_thread_t; struct isc_condition_thread { - unsigned long th; - HANDLE handle[2]; - ISC_LINK(isc_condition_thread_t) link; - + unsigned long th; + HANDLE handle[2]; + ISC_LINK(isc_condition_thread_t) link; }; typedef struct isc_condition { - HANDLE events[2]; - unsigned int waiters; + HANDLE events[2]; + unsigned int waiters; ISC_LIST(isc_condition_thread_t) threadlist; } isc_condition_t; diff --git a/lib/isc/win32/include/isc/dir.h b/lib/isc/win32/include/isc/dir.h index 6427742041..fa6a72d6de 100644 --- a/lib/isc/win32/include/isc/dir.h +++ b/lib/isc/win32/include/isc/dir.h @@ -12,26 +12,26 @@ #ifndef ISC_DIR_H #define ISC_DIR_H 1 -#include #include #include +#include #include #include #include typedef struct { - char name[NAME_MAX]; + char name[NAME_MAX]; unsigned int length; - WIN32_FIND_DATA find_data; + WIN32_FIND_DATA find_data; } isc_direntry_t; typedef struct { - unsigned int magic; - char dirname[PATH_MAX]; - isc_direntry_t entry; - bool entry_filled; - HANDLE search_handle; + unsigned int magic; + char dirname[PATH_MAX]; + isc_direntry_t entry; + bool entry_filled; + HANDLE search_handle; } isc_dir_t; ISC_LANG_BEGINDECLS diff --git a/lib/isc/win32/include/isc/ipv6.h b/lib/isc/win32/include/isc/ipv6.h index bee1bd0faa..906fde5567 100644 --- a/lib/isc/win32/include/isc/ipv6.h +++ b/lib/isc/win32/include/isc/ipv6.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_IPV6_H #define ISC_IPV6_H 1 @@ -41,13 +40,28 @@ #endif #ifndef IN6ADDR_ANY_INIT -#define IN6ADDR_ANY_INIT {{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }} +#define IN6ADDR_ANY_INIT \ + { \ + { \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ + } \ + } #endif #ifndef IN6ADDR_LOOPBACK_INIT -#define IN6ADDR_LOOPBACK_INIT {{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 }} +#define IN6ADDR_LOOPBACK_INIT \ + { \ + { \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 \ + } \ + } #endif #ifndef IN6ADDR_V4MAPPED_INIT -#define IN6ADDR_V4MAPPED_INIT {{ 0,0,0,0,0,0,0,0,0,0,0xff,0xff,0,0,0,0 }} +#define IN6ADDR_V4MAPPED_INIT \ + { \ + { \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff, 0, 0, 0, 0 \ + } \ + } #endif LIBISC_EXTERNAL_DATA extern const struct in6_addr isc_in6addr_any; @@ -57,64 +71,58 @@ LIBISC_EXTERNAL_DATA extern const struct in6_addr isc_in6addr_loopback; * Unspecified */ #ifndef IN6_IS_ADDR_UNSPECIFIED -#define IN6_IS_ADDR_UNSPECIFIED(a) (\ -*((u_long *)((a)->s6_addr) ) == 0 && \ -*((u_long *)((a)->s6_addr) + 1) == 0 && \ -*((u_long *)((a)->s6_addr) + 2) == 0 && \ -*((u_long *)((a)->s6_addr) + 3) == 0 \ -) +#define IN6_IS_ADDR_UNSPECIFIED(a) \ + (*((u_long *)((a)->s6_addr)) == 0 && \ + *((u_long *)((a)->s6_addr) + 1) == 0 && \ + *((u_long *)((a)->s6_addr) + 2) == 0 && \ + *((u_long *)((a)->s6_addr) + 3) == 0) #endif /* * Loopback */ #ifndef IN6_IS_ADDR_LOOPBACK -#define IN6_IS_ADDR_LOOPBACK(a) (\ -*((u_long *)((a)->s6_addr) ) == 0 && \ -*((u_long *)((a)->s6_addr) + 1) == 0 && \ -*((u_long *)((a)->s6_addr) + 2) == 0 && \ -*((u_long *)((a)->s6_addr) + 3) == htonl(1) \ -) +#define IN6_IS_ADDR_LOOPBACK(a) \ + (*((u_long *)((a)->s6_addr)) == 0 && \ + *((u_long *)((a)->s6_addr) + 1) == 0 && \ + *((u_long *)((a)->s6_addr) + 2) == 0 && \ + *((u_long *)((a)->s6_addr) + 3) == htonl(1)) #endif /* * IPv4 compatible */ -#define IN6_IS_ADDR_V4COMPAT(a) (\ -*((u_long *)((a)->s6_addr) ) == 0 && \ -*((u_long *)((a)->s6_addr) + 1) == 0 && \ -*((u_long *)((a)->s6_addr) + 2) == 0 && \ -*((u_long *)((a)->s6_addr) + 3) != 0 && \ -*((u_long *)((a)->s6_addr) + 3) != htonl(1) \ -) +#define IN6_IS_ADDR_V4COMPAT(a) \ + (*((u_long *)((a)->s6_addr)) == 0 && \ + *((u_long *)((a)->s6_addr) + 1) == 0 && \ + *((u_long *)((a)->s6_addr) + 2) == 0 && \ + *((u_long *)((a)->s6_addr) + 3) != 0 && \ + *((u_long *)((a)->s6_addr) + 3) != htonl(1)) /* * Mapped */ -#define IN6_IS_ADDR_V4MAPPED(a) (\ -*((u_long *)((a)->s6_addr) ) == 0 && \ -*((u_long *)((a)->s6_addr) + 1) == 0 && \ -*((u_long *)((a)->s6_addr) + 2) == htonl(0x0000ffff)) +#define IN6_IS_ADDR_V4MAPPED(a) \ + (*((u_long *)((a)->s6_addr)) == 0 && \ + *((u_long *)((a)->s6_addr) + 1) == 0 && \ + *((u_long *)((a)->s6_addr) + 2) == htonl(0x0000ffff)) /* * Multicast */ -#define IN6_IS_ADDR_MULTICAST(a) \ - ((a)->s6_addr[0] == 0xffU) +#define IN6_IS_ADDR_MULTICAST(a) ((a)->s6_addr[0] == 0xffU) /* * Unicast link / site local. */ #ifndef IN6_IS_ADDR_LINKLOCAL -#define IN6_IS_ADDR_LINKLOCAL(a) (\ - ((a)->s6_addr[0] == 0xfe) && \ - (((a)->s6_addr[1] & 0xc0) == 0x80)) +#define IN6_IS_ADDR_LINKLOCAL(a) \ + (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0x80)) #endif #ifndef IN6_IS_ADDR_SITELOCAL -#define IN6_IS_ADDR_SITELOCAL(a) (\ - ((a)->s6_addr[0] == 0xfe) && \ - (((a)->s6_addr[1] & 0xc0) == 0xc0)) +#define IN6_IS_ADDR_SITELOCAL(a) \ + (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0xc0)) #endif #endif /* ISC_IPV6_H */ diff --git a/lib/isc/win32/include/isc/mutex.h b/lib/isc/win32/include/isc/mutex.h index 28a08a05bb..f84a66f1cb 100644 --- a/lib/isc/win32/include/isc/mutex.h +++ b/lib/isc/win32/include/isc/mutex.h @@ -9,13 +9,12 @@ * information regarding copyright ownership. */ - #ifndef ISC_MUTEX_H #define ISC_MUTEX_H 1 -#include #include +#include #include typedef CRITICAL_SECTION isc_mutex_t; @@ -29,20 +28,18 @@ WINBASEAPI BOOL WINAPI TryEnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection); #endif /* _WIN32_WINNT < 0x0400 */ -#define isc_mutex_init(mp) \ - InitializeCriticalSection((mp)) -#define isc_mutex_lock(mp) \ - (EnterCriticalSection((mp)), ISC_R_SUCCESS) -#define isc_mutex_unlock(mp) \ - (LeaveCriticalSection((mp)), ISC_R_SUCCESS) +#define isc_mutex_init(mp) InitializeCriticalSection((mp)) +#define isc_mutex_lock(mp) (EnterCriticalSection((mp)), ISC_R_SUCCESS) +#define isc_mutex_unlock(mp) (LeaveCriticalSection((mp)), ISC_R_SUCCESS) #define isc_mutex_trylock(mp) \ (TryEnterCriticalSection((mp)) ? ISC_R_SUCCESS : ISC_R_LOCKBUSY) -#define isc_mutex_destroy(mp) \ - (DeleteCriticalSection((mp))) +#define isc_mutex_destroy(mp) (DeleteCriticalSection((mp))) /* * This is a placeholder for now since we are not keeping any mutex stats */ -#define isc_mutex_stats(fp) do {} while (0) +#define isc_mutex_stats(fp) \ + do { \ + } while (0) #endif /* ISC_MUTEX_H */ diff --git a/lib/isc/win32/include/isc/net.h b/lib/isc/win32/include/isc/net.h index 54e1c31f90..a85b367a80 100644 --- a/lib/isc/win32/include/isc/net.h +++ b/lib/isc/win32/include/isc/net.h @@ -73,18 +73,17 @@ * figure it out. */ #ifndef _WINSOCKAPI_ -#define _WINSOCKAPI_ /* Prevent inclusion of winsock.h in windows.h */ +#define _WINSOCKAPI_ /* Prevent inclusion of winsock.h in windows.h */ #endif #include +#include -#include - +#include #include #include -#include -#include +#include /* * This is here because named client, interfacemgr.c, etc. use the name as @@ -119,166 +118,170 @@ typedef uint16_t in_port_t; #define ISC_PLATFORM_RECVOVERFLOW #endif -#define ISC__IPADDR(x) ((uint32_t)htonl((uint32_t)(x))) +#define ISC__IPADDR(x) ((uint32_t)htonl((uint32_t)(x))) #define ISC_IPADDR_ISMULTICAST(i) \ - (((uint32_t)(i) & ISC__IPADDR(0xf0000000)) \ - == ISC__IPADDR(0xe0000000)) + (((uint32_t)(i)&ISC__IPADDR(0xf0000000)) == ISC__IPADDR(0xe0000000)) #define ISC_IPADDR_ISEXPERIMENTAL(i) \ - (((uint32_t)(i) & ISC__IPADDR(0xf0000000)) \ - == ISC__IPADDR(0xf0000000)) + (((uint32_t)(i)&ISC__IPADDR(0xf0000000)) == ISC__IPADDR(0xf0000000)) /* * Fix the FD_SET and FD_CLR Macros to properly cast */ #undef FD_CLR -#define FD_CLR(fd, set) do { \ - u_int __i; \ - for (__i = 0; __i < ((fd_set FAR *)(set))->fd_count; __i++) { \ - if (((fd_set FAR *)(set))->fd_array[__i] == (SOCKET) fd) { \ - while (__i < ((fd_set FAR *)(set))->fd_count-1) { \ - ((fd_set FAR *)(set))->fd_array[__i] = \ - ((fd_set FAR *)(set))->fd_array[__i+1]; \ - __i++; \ - } \ - ((fd_set FAR *)(set))->fd_count--; \ - break; \ - } \ - } \ -} while (0) +#define FD_CLR(fd, set) \ + do { \ + u_int __i; \ + for (__i = 0; __i < ((fd_set FAR *)(set))->fd_count; __i++) { \ + if (((fd_set FAR *)(set))->fd_array[__i] == \ + (SOCKET)fd) { \ + while (__i < \ + ((fd_set FAR *)(set))->fd_count - 1) { \ + ((fd_set FAR *)(set))->fd_array[__i] = \ + ((fd_set FAR *)(set)) \ + ->fd_array[__i + 1]; \ + __i++; \ + } \ + ((fd_set FAR *)(set))->fd_count--; \ + break; \ + } \ + } \ + } while (0) #undef FD_SET -#define FD_SET(fd, set) do { \ - u_int __i; \ - for (__i = 0; __i < ((fd_set FAR *)(set))->fd_count; __i++) { \ - if (((fd_set FAR *)(set))->fd_array[__i] == (SOCKET)(fd)) { \ - break; \ - } \ - } \ - if (__i == ((fd_set FAR *)(set))->fd_count) { \ - if (((fd_set FAR *)(set))->fd_count < FD_SETSIZE) { \ - ((fd_set FAR *)(set))->fd_array[__i] = (SOCKET)(fd); \ - ((fd_set FAR *)(set))->fd_count++; \ - } \ - } \ -} while (0) +#define FD_SET(fd, set) \ + do { \ + u_int __i; \ + for (__i = 0; __i < ((fd_set FAR *)(set))->fd_count; __i++) { \ + if (((fd_set FAR *)(set))->fd_array[__i] == \ + (SOCKET)(fd)) { \ + break; \ + } \ + } \ + if (__i == ((fd_set FAR *)(set))->fd_count) { \ + if (((fd_set FAR *)(set))->fd_count < FD_SETSIZE) { \ + ((fd_set FAR *)(set))->fd_array[__i] = \ + (SOCKET)(fd); \ + ((fd_set FAR *)(set))->fd_count++; \ + } \ + } \ + } while (0) /* * Windows Sockets errors redefined as regular Berkeley error constants. - * These are usually commented out in Windows NT to avoid conflicts with errno.h. - * Use the WSA constants instead. + * These are usually commented out in Windows NT to avoid conflicts with + * errno.h. Use the WSA constants instead. */ #include #ifndef EWOULDBLOCK -#define EWOULDBLOCK WSAEWOULDBLOCK +#define EWOULDBLOCK WSAEWOULDBLOCK #endif #ifndef EINPROGRESS -#define EINPROGRESS WSAEINPROGRESS +#define EINPROGRESS WSAEINPROGRESS #endif #ifndef EALREADY -#define EALREADY WSAEALREADY +#define EALREADY WSAEALREADY #endif #ifndef ENOTSOCK -#define ENOTSOCK WSAENOTSOCK +#define ENOTSOCK WSAENOTSOCK #endif #ifndef EDESTADDRREQ -#define EDESTADDRREQ WSAEDESTADDRREQ +#define EDESTADDRREQ WSAEDESTADDRREQ #endif #ifndef EMSGSIZE -#define EMSGSIZE WSAEMSGSIZE +#define EMSGSIZE WSAEMSGSIZE #endif #ifndef EPROTOTYPE -#define EPROTOTYPE WSAEPROTOTYPE +#define EPROTOTYPE WSAEPROTOTYPE #endif #ifndef ENOPROTOOPT -#define ENOPROTOOPT WSAENOPROTOOPT +#define ENOPROTOOPT WSAENOPROTOOPT #endif #ifndef EPROTONOSUPPORT -#define EPROTONOSUPPORT WSAEPROTONOSUPPORT +#define EPROTONOSUPPORT WSAEPROTONOSUPPORT #endif #ifndef ESOCKTNOSUPPORT -#define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT +#define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT #endif #ifndef EOPNOTSUPP -#define EOPNOTSUPP WSAEOPNOTSUPP +#define EOPNOTSUPP WSAEOPNOTSUPP #endif #ifndef EPFNOSUPPORT -#define EPFNOSUPPORT WSAEPFNOSUPPORT +#define EPFNOSUPPORT WSAEPFNOSUPPORT #endif #ifndef EAFNOSUPPORT -#define EAFNOSUPPORT WSAEAFNOSUPPORT +#define EAFNOSUPPORT WSAEAFNOSUPPORT #endif #ifndef EADDRINUSE -#define EADDRINUSE WSAEADDRINUSE +#define EADDRINUSE WSAEADDRINUSE #endif #ifndef EADDRNOTAVAIL -#define EADDRNOTAVAIL WSAEADDRNOTAVAIL +#define EADDRNOTAVAIL WSAEADDRNOTAVAIL #endif #ifndef ENETDOWN -#define ENETDOWN WSAENETDOWN +#define ENETDOWN WSAENETDOWN #endif #ifndef ENETUNREACH -#define ENETUNREACH WSAENETUNREACH +#define ENETUNREACH WSAENETUNREACH #endif #ifndef ENETRESET -#define ENETRESET WSAENETRESET +#define ENETRESET WSAENETRESET #endif #ifndef ECONNABORTED -#define ECONNABORTED WSAECONNABORTED +#define ECONNABORTED WSAECONNABORTED #endif #ifndef ECONNRESET -#define ECONNRESET WSAECONNRESET +#define ECONNRESET WSAECONNRESET #endif #ifndef ENOBUFS -#define ENOBUFS WSAENOBUFS +#define ENOBUFS WSAENOBUFS #endif #ifndef EISCONN -#define EISCONN WSAEISCONN +#define EISCONN WSAEISCONN #endif #ifndef ENOTCONN -#define ENOTCONN WSAENOTCONN +#define ENOTCONN WSAENOTCONN #endif #ifndef ESHUTDOWN -#define ESHUTDOWN WSAESHUTDOWN +#define ESHUTDOWN WSAESHUTDOWN #endif #ifndef ETOOMANYREFS -#define ETOOMANYREFS WSAETOOMANYREFS +#define ETOOMANYREFS WSAETOOMANYREFS #endif #ifndef ETIMEDOUT -#define ETIMEDOUT WSAETIMEDOUT +#define ETIMEDOUT WSAETIMEDOUT #endif #ifndef ECONNREFUSED -#define ECONNREFUSED WSAECONNREFUSED +#define ECONNREFUSED WSAECONNREFUSED #endif #ifndef ELOOP -#define ELOOP WSAELOOP +#define ELOOP WSAELOOP #endif #ifndef EHOSTDOWN -#define EHOSTDOWN WSAEHOSTDOWN +#define EHOSTDOWN WSAEHOSTDOWN #endif #ifndef EHOSTUNREACH -#define EHOSTUNREACH WSAEHOSTUNREACH +#define EHOSTUNREACH WSAEHOSTUNREACH #endif #ifndef EPROCLIM -#define EPROCLIM WSAEPROCLIM +#define EPROCLIM WSAEPROCLIM #endif #ifndef EUSERS -#define EUSERS WSAEUSERS +#define EUSERS WSAEUSERS #endif #ifndef EDQUOT -#define EDQUOT WSAEDQUOT +#define EDQUOT WSAEDQUOT #endif #ifndef ESTALE -#define ESTALE WSAESTALE +#define ESTALE WSAESTALE #endif #ifndef EREMOTE -#define EREMOTE WSAEREMOTE +#define EREMOTE WSAEREMOTE #endif - /*** *** Functions. ***/ @@ -322,13 +325,13 @@ isc_net_probeunix(void); * ISC_R_NOTFOUND */ -#define ISC_NET_DSCPRECVV4 0x01 /* Can receive sent DSCP value IPv4 */ -#define ISC_NET_DSCPRECVV6 0x02 /* Can receive sent DSCP value IPv6 */ -#define ISC_NET_DSCPSETV4 0x04 /* Can set DSCP on socket IPv4 */ -#define ISC_NET_DSCPSETV6 0x08 /* Can set DSCP on socket IPv6 */ -#define ISC_NET_DSCPPKTV4 0x10 /* Can set DSCP on per packet IPv4 */ -#define ISC_NET_DSCPPKTV6 0x20 /* Can set DSCP on per packet IPv6 */ -#define ISC_NET_DSCPALL 0x3f /* All valid flags */ +#define ISC_NET_DSCPRECVV4 0x01 /* Can receive sent DSCP value IPv4 */ +#define ISC_NET_DSCPRECVV6 0x02 /* Can receive sent DSCP value IPv6 */ +#define ISC_NET_DSCPSETV4 0x04 /* Can set DSCP on socket IPv4 */ +#define ISC_NET_DSCPSETV6 0x08 /* Can set DSCP on socket IPv6 */ +#define ISC_NET_DSCPPKTV4 0x10 /* Can set DSCP on per packet IPv4 */ +#define ISC_NET_DSCPPKTV6 0x20 /* Can set DSCP on per packet IPv6 */ +#define ISC_NET_DSCPALL 0x3f /* All valid flags */ unsigned int isc_net_probedscp(void); diff --git a/lib/isc/win32/include/isc/netdb.h b/lib/isc/win32/include/isc/netdb.h index c07194d594..02a8aeb5dc 100644 --- a/lib/isc/win32/include/isc/netdb.h +++ b/lib/isc/win32/include/isc/netdb.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_NETDB_H #define ISC_NETDB_H 1 diff --git a/lib/isc/win32/include/isc/ntgroups.h b/lib/isc/win32/include/isc/ntgroups.h index e8352fcb62..1d059f4c37 100644 --- a/lib/isc/win32/include/isc/ntgroups.h +++ b/lib/isc/win32/include/isc/ntgroups.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_NTGROUPS_H #define ISC_NTGROUPS_H 1 @@ -18,10 +17,9 @@ ISC_LANG_BEGINDECLS - isc_result_t -isc_ntsecurity_getaccountgroups(char *name, char **Groups, unsigned int maxgroups, - unsigned int *total); +isc_ntsecurity_getaccountgroups(char *name, char **Groups, + unsigned int maxgroups, unsigned int *total); ISC_LANG_ENDDECLS diff --git a/lib/isc/win32/include/isc/ntpaths.h b/lib/isc/win32/include/isc/ntpaths.h index acadc36a72..a64281910c 100644 --- a/lib/isc/win32/include/isc/ntpaths.h +++ b/lib/isc/win32/include/isc/ntpaths.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* * Windows-specific path definitions * These routines are used to set up and return system-specific path @@ -49,8 +48,8 @@ enum NtPaths { /* * Information about where the files are on disk */ -#define NAMED_LOCALSTATEDIR "/dns/bin" -#define NAMED_SYSCONFDIR "/dns/etc" +#define NAMED_LOCALSTATEDIR "/dns/bin" +#define NAMED_SYSCONFDIR "/dns/etc" ISC_LANG_BEGINDECLS diff --git a/lib/isc/win32/include/isc/offset.h b/lib/isc/win32/include/isc/offset.h index 14ef06fa38..2e4090a6ef 100644 --- a/lib/isc/win32/include/isc/offset.h +++ b/lib/isc/win32/include/isc/offset.h @@ -9,14 +9,14 @@ * information regarding copyright ownership. */ - #ifndef ISC_OFFSET_H #define ISC_OFFSET_H 1 /* * File offsets are operating-system dependent. */ -#include /* Required for CHAR_BIT. */ +#include /* Required for CHAR_BIT. */ + #include typedef _off_t isc_offset_t; diff --git a/lib/isc/win32/include/isc/once.h b/lib/isc/win32/include/isc/once.h index c005b0b06b..e955752440 100644 --- a/lib/isc/win32/include/isc/once.h +++ b/lib/isc/win32/include/isc/once.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_ONCE_H #define ISC_ONCE_H 1 @@ -26,10 +25,13 @@ typedef struct { #define ISC_ONCE_INIT_NEEDED 0 #define ISC_ONCE_INIT_DONE 1 -#define ISC_ONCE_INIT { ISC_ONCE_INIT_NEEDED, 1 } +#define ISC_ONCE_INIT \ + { \ + ISC_ONCE_INIT_NEEDED, 1 \ + } isc_result_t -isc_once_do(isc_once_t *controller, void(*function)(void)); +isc_once_do(isc_once_t *controller, void (*function)(void)); ISC_LANG_ENDDECLS diff --git a/lib/isc/win32/include/isc/stat.h b/lib/isc/win32/include/isc/stat.h index 8b7d6850b0..fd7b4d68b2 100644 --- a/lib/isc/win32/include/isc/stat.h +++ b/lib/isc/win32/include/isc/stat.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_STAT_H #define ISC_STAT_H 1 @@ -25,33 +24,33 @@ typedef unsigned short mode_t; * We'll just map them all to the NT equivalent */ -#define S_IREAD _S_IREAD /* read permission, owner */ -#define S_IWRITE _S_IWRITE /* write permission, owner */ -#define S_IRUSR _S_IREAD /* Owner read permission */ -#define S_IWUSR _S_IWRITE /* Owner write permission */ -#define S_IRGRP _S_IREAD /* Group read permission */ -#define S_IWGRP _S_IWRITE /* Group write permission */ -#define S_IROTH _S_IREAD /* Other read permission */ -#define S_IWOTH _S_IWRITE /* Other write permission */ +#define S_IREAD _S_IREAD /* read permission, owner */ +#define S_IWRITE _S_IWRITE /* write permission, owner */ +#define S_IRUSR _S_IREAD /* Owner read permission */ +#define S_IWUSR _S_IWRITE /* Owner write permission */ +#define S_IRGRP _S_IREAD /* Group read permission */ +#define S_IWGRP _S_IWRITE /* Group write permission */ +#define S_IROTH _S_IREAD /* Other read permission */ +#define S_IWOTH _S_IWRITE /* Other write permission */ #ifndef S_IFMT -# define S_IFMT _S_IFMT +#define S_IFMT _S_IFMT #endif #ifndef S_IFDIR -# define S_IFDIR _S_IFDIR +#define S_IFDIR _S_IFDIR #endif #ifndef S_IFCHR -# define S_IFCHR _S_IFCHR +#define S_IFCHR _S_IFCHR #endif #ifndef S_IFREG -# define S_IFREG _S_IFREG +#define S_IFREG _S_IFREG #endif #ifndef S_ISDIR -# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +#define S_ISDIR(m) (((m)&S_IFMT) == S_IFDIR) #endif #ifndef S_ISREG -# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) +#define S_ISREG(m) (((m)&S_IFMT) == S_IFREG) #endif #endif /* ISC_STAT_H */ diff --git a/lib/isc/win32/include/isc/stdatomic.h b/lib/isc/win32/include/isc/stdatomic.h index 60ac199af2..b1d1f8e45c 100644 --- a/lib/isc/win32/include/isc/stdatomic.h +++ b/lib/isc/win32/include/isc/stdatomic.h @@ -12,13 +12,12 @@ #pragma once #define WIN32_LEAN_AND_MEAN +#include #include #include #include #include -#include - #define InterlockedExchangeAdd8 _InterlockedExchangeAdd8 #define InterlockedCompareExchange8 _InterlockedCompareExchange8 @@ -26,25 +25,25 @@ #include -#define ATOMIC_VAR_INIT(x) x +#define ATOMIC_VAR_INIT(x) x #ifndef __ATOMIC_RELAXED -#define __ATOMIC_RELAXED 0 +#define __ATOMIC_RELAXED 0 #endif #ifndef __ATOMIC_CONSUME -#define __ATOMIC_CONSUME 1 +#define __ATOMIC_CONSUME 1 #endif #ifndef __ATOMIC_ACQUIRE -#define __ATOMIC_ACQUIRE 2 +#define __ATOMIC_ACQUIRE 2 #endif #ifndef __ATOMIC_RELEASE -#define __ATOMIC_RELEASE 3 +#define __ATOMIC_RELEASE 3 #endif #ifndef __ATOMIC_ACQ_REL -#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_ACQ_REL 4 #endif #ifndef __ATOMIC_SEQ_CST -#define __ATOMIC_SEQ_CST 5 +#define __ATOMIC_SEQ_CST 5 #endif enum memory_order { @@ -63,263 +62,313 @@ typedef enum memory_order memory_order; * you need to implement atomic__explicitNN macros. */ -typedef bool volatile atomic_bool; -typedef int_fast8_t volatile atomic_int_fast8_t; -typedef uint_fast8_t volatile atomic_uint_fast8_t; -typedef int_fast32_t volatile atomic_int_fast32_t; -typedef uint_fast32_t volatile atomic_uint_fast32_t; -typedef int_fast64_t volatile atomic_int_fast64_t; -typedef uint_fast64_t volatile atomic_uint_fast64_t; -typedef uintptr_t volatile atomic_uintptr_t; +typedef bool volatile atomic_bool; +typedef int_fast8_t volatile atomic_int_fast8_t; +typedef uint_fast8_t volatile atomic_uint_fast8_t; +typedef int_fast32_t volatile atomic_int_fast32_t; +typedef uint_fast32_t volatile atomic_uint_fast32_t; +typedef int_fast64_t volatile atomic_int_fast64_t; +typedef uint_fast64_t volatile atomic_uint_fast64_t; +typedef uintptr_t volatile atomic_uintptr_t; -#define atomic_init(obj, desired) \ - (*(obj) = (desired)) +#define atomic_init(obj, desired) (*(obj) = (desired)) #define atomic_store_explicit8(obj, desired, order) \ (void)InterlockedExchange8((atomic_int_fast8_t *)obj, desired) -#define atomic_store_explicit32(obj, desired, order) \ - (order == memory_order_relaxed \ - ? (void)InterlockedExchangeNoFence((atomic_int_fast32_t *)obj, desired) \ - : (order == memory_order_acquire \ - ? (void)InterlockedExchangeAcquire((atomic_int_fast32_t *)obj, desired) \ - : (void)InterlockedExchange((atomic_int_fast32_t *)obj, desired))) +#define atomic_store_explicit32(obj, desired, order) \ + (order == memory_order_relaxed \ + ? (void)InterlockedExchangeNoFence( \ + (atomic_int_fast32_t *)obj, desired) \ + : (order == memory_order_acquire \ + ? (void)InterlockedExchangeAcquire( \ + (atomic_int_fast32_t *)obj, desired) \ + : (void)InterlockedExchange( \ + (atomic_int_fast32_t *)obj, desired))) #ifdef _WIN64 -#define atomic_store_explicit64(obj, desired, order) \ - (order == memory_order_relaxed \ - ? (void)InterlockedExchangeNoFence64((atomic_int_fast64_t *)obj, desired) \ - : (order == memory_order_acquire \ - ? (void)InterlockedExchangeAcquire64((atomic_int_fast64_t *)obj, desired) \ - : (void)InterlockedExchange64((atomic_int_fast64_t *)obj, desired))) +#define atomic_store_explicit64(obj, desired, order) \ + (order == memory_order_relaxed \ + ? (void)InterlockedExchangeNoFence64( \ + (atomic_int_fast64_t *)obj, desired) \ + : (order == memory_order_acquire \ + ? (void)InterlockedExchangeAcquire64( \ + (atomic_int_fast64_t *)obj, desired) \ + : (void)InterlockedExchange64( \ + (atomic_int_fast64_t *)obj, desired))) #else -#define atomic_store_explicit64(obj, desired, order) \ +#define atomic_store_explicit64(obj, desired, order) \ (void)InterlockedExchange64((atomic_int_fast64_t *)obj, desired) #endif -static inline -void -atomic_store_abort() { +static inline void +atomic_store_abort() +{ INSIST(0); ISC_UNREACHABLE(); } -#define atomic_store_explicit(obj, desired, order) \ - (sizeof(*(obj)) == 8 \ - ? atomic_store_explicit64(obj, desired, order) \ - : (sizeof(*(obj)) == 4 \ - ? atomic_store_explicit32(obj, desired, order) \ - : (sizeof(*(obj)) == 1 \ - ? atomic_store_explicit8(obj, desired, order) \ - : atomic_store_abort()))) +#define atomic_store_explicit(obj, desired, order) \ + (sizeof(*(obj)) == 8 \ + ? atomic_store_explicit64(obj, desired, order) \ + : (sizeof(*(obj)) == 4 \ + ? atomic_store_explicit32(obj, desired, order) \ + : (sizeof(*(obj)) == 1 \ + ? atomic_store_explicit8(obj, desired, \ + order) \ + : atomic_store_abort()))) #define atomic_store(obj, desired) \ atomic_store_explicit(obj, desired, memory_order_seq_cst) -#define atomic_load_explicit8(obj, order) \ - (int8_t)InterlockedOr8((atomic_int_fast8_t *)obj, 0) +#define atomic_load_explicit8(obj, order) \ + (int8_t) InterlockedOr8((atomic_int_fast8_t *)obj, 0) -#define atomic_load_explicit32(obj, order) \ - (order == memory_order_relaxed \ - ? (int32_t)InterlockedOrNoFence((atomic_int_fast32_t *)obj, 0) \ - : (order == memory_order_acquire \ - ? (int32_t)InterlockedOrAcquire((atomic_int_fast32_t *)obj, 0) \ - : (order == memory_order_release \ - ? (int32_t)InterlockedOrRelease((atomic_int_fast32_t *)obj, 0) \ - : (int32_t)InterlockedOr((atomic_int_fast32_t *)obj, 0)))) +#define atomic_load_explicit32(obj, order) \ + (order == memory_order_relaxed \ + ? (int32_t)InterlockedOrNoFence((atomic_int_fast32_t *)obj, \ + 0) \ + : (order == memory_order_acquire \ + ? (int32_t)InterlockedOrAcquire( \ + (atomic_int_fast32_t *)obj, 0) \ + : (order == memory_order_release \ + ? (int32_t)InterlockedOrRelease( \ + (atomic_int_fast32_t *)obj, 0) \ + : (int32_t)InterlockedOr( \ + (atomic_int_fast32_t *)obj, \ + 0)))) #ifdef _WIN64 -#define atomic_load_explicit64(obj, order) \ - (order == memory_order_relaxed \ - ? InterlockedOr64NoFence((atomic_int_fast64_t *)obj, 0) \ - : (order == memory_order_acquire \ - ? InterlockedOr64Acquire((atomic_int_fast64_t *)obj, 0) \ - : (order == memory_order_release \ - ? InterlockedOr64Release((atomic_int_fast64_t *)obj, 0) \ - : InterlockedOr64((atomic_int_fast64_t *)obj, 0)))) +#define atomic_load_explicit64(obj, order) \ + (order == memory_order_relaxed \ + ? InterlockedOr64NoFence((atomic_int_fast64_t *)obj, 0) \ + : (order == memory_order_acquire \ + ? InterlockedOr64Acquire( \ + (atomic_int_fast64_t *)obj, 0) \ + : (order == memory_order_release \ + ? InterlockedOr64Release( \ + (atomic_int_fast64_t *)obj, 0) \ + : InterlockedOr64( \ + (atomic_int_fast64_t *)obj, \ + 0)))) #else -#define atomic_load_explicit64(obj, order) \ +#define atomic_load_explicit64(obj, order) \ InterlockedOr64((atomic_int_fast64_t *)obj, 0) #endif -static inline -int8_t -atomic_load_abort() { +static inline int8_t +atomic_load_abort() +{ INSIST(0); ISC_UNREACHABLE(); } -#define atomic_load_explicit(obj, order) \ - ((sizeof(*(obj)) == 8 \ - ? atomic_load_explicit64(obj, order) \ - : (sizeof(*(obj) == 4) \ - ? atomic_load_explicit32(obj, order) \ - : (sizeof(*(obj) == 1) \ - ? atomic_load_explicit8(obj, order) \ - : atomic_load_abort()))) & \ - (sizeof(*(obj)) == 8 ? 0xffffffffffffffffULL : \ - (sizeof(*(obj)) == 4 ? 0xffffffffULL : \ - (sizeof(*(obj)) == 1 ? 0xffULL : atomic_load_abort())))) +#define atomic_load_explicit(obj, order) \ + ((sizeof(*(obj)) == 8 \ + ? atomic_load_explicit64(obj, order) \ + : (sizeof(*(obj) == 4) \ + ? atomic_load_explicit32(obj, order) \ + : (sizeof(*(obj) == 1) \ + ? atomic_load_explicit8(obj, order) \ + : atomic_load_abort()))) & \ + (sizeof(*(obj)) == 8 \ + ? 0xffffffffffffffffULL \ + : (sizeof(*(obj)) == 4 \ + ? 0xffffffffULL \ + : (sizeof(*(obj)) == 1 ? 0xffULL \ + : atomic_load_abort())))) +#define atomic_load(obj) atomic_load_explicit(obj, memory_order_seq_cst) -#define atomic_load(obj) \ - atomic_load_explicit(obj, memory_order_seq_cst) - -#define atomic_fetch_add_explicit8(obj, arg, order) \ +#define atomic_fetch_add_explicit8(obj, arg, order) \ InterlockedExchangeAdd8((atomic_int_fast8_t *)obj, arg) -#define atomic_fetch_add_explicit32(obj, arg, order) \ - (order == memory_order_relaxed \ - ? InterlockedExchangeAddNoFence((atomic_int_fast32_t *)obj, arg) \ - : (order == memory_order_acquire \ - ? InterlockedExchangeAddAcquire((atomic_int_fast32_t *)obj, arg) \ - : (order == memory_order_release \ - ? InterlockedExchangeAddRelease((atomic_int_fast32_t *)obj, arg) \ - : InterlockedExchangeAdd((atomic_int_fast32_t *)obj, arg)))) +#define atomic_fetch_add_explicit32(obj, arg, order) \ + (order == memory_order_relaxed \ + ? InterlockedExchangeAddNoFence((atomic_int_fast32_t *)obj, \ + arg) \ + : (order == memory_order_acquire \ + ? InterlockedExchangeAddAcquire( \ + (atomic_int_fast32_t *)obj, arg) \ + : (order == memory_order_release \ + ? InterlockedExchangeAddRelease( \ + (atomic_int_fast32_t *)obj, \ + arg) \ + : InterlockedExchangeAdd( \ + (atomic_int_fast32_t *)obj, \ + arg)))) #ifdef _WIN64 -#define atomic_fetch_add_explicit64(obj, arg, order) \ - (order == memory_order_relaxed \ - ? InterlockedExchangeAddNoFence64((atomic_int_fast64_t *)obj, arg) \ - : (order == memory_order_acquire \ - ? InterlockedExchangeAddAcquire64((atomic_int_fast64_t *)obj, arg) \ - : (order == memory_order_release \ - ? InterlockedExchangeAddRelease64((atomic_int_fast64_t *)obj, arg) \ - : InterlockedExchangeAdd64((atomic_int_fast64_t *)obj, arg)))) +#define atomic_fetch_add_explicit64(obj, arg, order) \ + (order == memory_order_relaxed \ + ? InterlockedExchangeAddNoFence64((atomic_int_fast64_t *)obj, \ + arg) \ + : (order == memory_order_acquire \ + ? InterlockedExchangeAddAcquire64( \ + (atomic_int_fast64_t *)obj, arg) \ + : (order == memory_order_release \ + ? InterlockedExchangeAddRelease64( \ + (atomic_int_fast64_t *)obj, \ + arg) \ + : InterlockedExchangeAdd64( \ + (atomic_int_fast64_t *)obj, \ + arg)))) #else -#define atomic_fetch_add_explicit64(obj, arg, order) \ +#define atomic_fetch_add_explicit64(obj, arg, order) \ InterlockedExchangeAdd64((atomic_int_fast64_t *)obj, arg) #endif -static inline -int8_t -atomic_add_abort() { +static inline int8_t +atomic_add_abort() +{ INSIST(0); ISC_UNREACHABLE(); } -#define atomic_fetch_add_explicit(obj, arg, order) \ - (sizeof(*(obj)) == 8 \ - ? atomic_fetch_add_explicit64(obj, arg, order) \ - : (sizeof(*(obj)) == 4 \ - ? atomic_fetch_add_explicit32(obj, arg, order) \ - : (sizeof(*(obj)) == 1 \ - ? atomic_fetch_add_explicit8(obj, arg, order) \ - : atomic_add_abort()))) +#define atomic_fetch_add_explicit(obj, arg, order) \ + (sizeof(*(obj)) == 8 \ + ? atomic_fetch_add_explicit64(obj, arg, order) \ + : (sizeof(*(obj)) == 4 \ + ? atomic_fetch_add_explicit32(obj, arg, order) \ + : (sizeof(*(obj)) == 1 \ + ? atomic_fetch_add_explicit8(obj, arg, \ + order) \ + : atomic_add_abort()))) -#define atomic_fetch_add(obj, arg) \ +#define atomic_fetch_add(obj, arg) \ atomic_fetch_add_explicit(obj, arg, memory_order_seq_cst) -#define atomic_fetch_sub_explicit(obj, arg, order) \ +#define atomic_fetch_sub_explicit(obj, arg, order) \ atomic_fetch_add_explicit(obj, -arg, order) -#define atomic_fetch_sub(obj, arg) \ +#define atomic_fetch_sub(obj, arg) \ atomic_fetch_sub_explicit(obj, arg, memory_order_seq_cst) -#define atomic_fetch_and_explicit8(obj, arg, order) \ +#define atomic_fetch_and_explicit8(obj, arg, order) \ InterlockedAnd8((atomic_int_fast8_t)obj, arg) -#define atomic_fetch_and_explicit32(obj, arg, order) \ - (order == memory_order_relaxed \ - ? InterlockedAndNoFence((atomic_int_fast32_t *)obj, arg) \ - : (order == memory_order_acquire \ - ? InterlockedAndAcquire((atomic_int_fast32_t *)obj, arg) \ - : (order == memory_order_release \ - ? InterlockedAndRelease((atomic_int_fast32_t *)obj, arg) \ - : InterlockedAnd((atomic_int_fast32_t *)obj, arg)))) +#define atomic_fetch_and_explicit32(obj, arg, order) \ + (order == memory_order_relaxed \ + ? InterlockedAndNoFence((atomic_int_fast32_t *)obj, arg) \ + : (order == memory_order_acquire \ + ? InterlockedAndAcquire( \ + (atomic_int_fast32_t *)obj, arg) \ + : (order == memory_order_release \ + ? InterlockedAndRelease( \ + (atomic_int_fast32_t *)obj, \ + arg) \ + : InterlockedAnd( \ + (atomic_int_fast32_t *)obj, \ + arg)))) #ifdef _WIN64 -#define atomic_fetch_and_explicit64(obj, arg, order) \ - (order == memory_order_relaxed \ - ? InterlockedAnd64NoFence((atomic_int_fast64_t *)obj, arg) \ - : (order == memory_order_acquire \ - ? InterlockedAnd64Acquire((atomic_int_fast64_t *)obj, arg) \ - : (order == memory_order_release \ - ? InterlockedAnd64Release((atomic_int_fast64_t *)obj, arg) \ - : InterlockedAnd64((atomic_int_fast64_t *)obj, arg)))) +#define atomic_fetch_and_explicit64(obj, arg, order) \ + (order == memory_order_relaxed \ + ? InterlockedAnd64NoFence((atomic_int_fast64_t *)obj, arg) \ + : (order == memory_order_acquire \ + ? InterlockedAnd64Acquire( \ + (atomic_int_fast64_t *)obj, arg) \ + : (order == memory_order_release \ + ? InterlockedAnd64Release( \ + (atomic_int_fast64_t *)obj, \ + arg) \ + : InterlockedAnd64( \ + (atomic_int_fast64_t *)obj, \ + arg)))) #else -#define atomic_fetch_and_explicit64(obj, arg, order) \ +#define atomic_fetch_and_explicit64(obj, arg, order) \ InterlockedAnd64((atomic_int_fast64_t *)obj, arg) #endif -static inline -int8_t -atomic_and_abort() { +static inline int8_t +atomic_and_abort() +{ INSIST(0); ISC_UNREACHABLE(); } -#define atomic_fetch_and_explicit(obj, arg, order) \ - (sizeof(*(obj)) == 8 \ - ? atomic_fetch_and_explicit64(obj, arg, order) \ - : (sizeof(*(obj)) == 4 \ - ? atomic_fetch_and_explicit32(obj, arg, order) \ - : (sizeof(*(obj)) == 1 \ - ? atomic_fetch_and_explicit8(obj, arg, order) \ - : atomic_and_abort()))) +#define atomic_fetch_and_explicit(obj, arg, order) \ + (sizeof(*(obj)) == 8 \ + ? atomic_fetch_and_explicit64(obj, arg, order) \ + : (sizeof(*(obj)) == 4 \ + ? atomic_fetch_and_explicit32(obj, arg, order) \ + : (sizeof(*(obj)) == 1 \ + ? atomic_fetch_and_explicit8(obj, arg, \ + order) \ + : atomic_and_abort()))) -#define atomic_fetch_and(obj, arg) \ +#define atomic_fetch_and(obj, arg) \ atomic_fetch_and_explicit(obj, arg, memory_order_seq_cst) -#define atomic_fetch_or_explicit8(obj, arg, order) \ +#define atomic_fetch_or_explicit8(obj, arg, order) \ InterlockedOr8((atomic_int_fast8_t)obj, arg) -#define atomic_fetch_or_explicit32(obj, arg, order) \ - (order == memory_order_relaxed \ - ? InterlockedOrNoFence((atomic_int_fast32_t *)obj, arg) \ - : (order == memory_order_acquire \ - ? InterlockedOrAcquire((atomic_int_fast32_t *)obj, arg) \ - : (order == memory_order_release \ - ? InterlockedOrRelease((atomic_int_fast32_t *)obj, arg) \ - : InterlockedOr((atomic_int_fast32_t *)obj, arg)))) +#define atomic_fetch_or_explicit32(obj, arg, order) \ + (order == memory_order_relaxed \ + ? InterlockedOrNoFence((atomic_int_fast32_t *)obj, arg) \ + : (order == memory_order_acquire \ + ? InterlockedOrAcquire((atomic_int_fast32_t *)obj, \ + arg) \ + : (order == memory_order_release \ + ? InterlockedOrRelease( \ + (atomic_int_fast32_t *)obj, \ + arg) \ + : InterlockedOr( \ + (atomic_int_fast32_t *)obj, \ + arg)))) #ifdef _WIN64 -#define atomic_fetch_or_explicit64(obj, arg, order) \ - (order == memory_order_relaxed \ - ? InterlockedOr64NoFence((atomic_int_fast64_t *)obj, arg) \ - : (order == memory_order_acquire \ - ? InterlockedOr64Acquire((atomic_int_fast64_t *)obj, arg) \ - : (order == memory_order_release \ - ? InterlockedOr64Release((atomic_int_fast64_t *)obj, arg) \ - : InterlockedOr64((atomic_int_fast64_t *)obj, arg)))) +#define atomic_fetch_or_explicit64(obj, arg, order) \ + (order == memory_order_relaxed \ + ? InterlockedOr64NoFence((atomic_int_fast64_t *)obj, arg) \ + : (order == memory_order_acquire \ + ? InterlockedOr64Acquire( \ + (atomic_int_fast64_t *)obj, arg) \ + : (order == memory_order_release \ + ? InterlockedOr64Release( \ + (atomic_int_fast64_t *)obj, \ + arg) \ + : InterlockedOr64( \ + (atomic_int_fast64_t *)obj, \ + arg)))) #else -#define atomic_fetch_or_explicit64(obj, arg, order) \ +#define atomic_fetch_or_explicit64(obj, arg, order) \ InterlockedOr64((atomic_int_fast64_t *)obj, arg) #endif -static inline -int8_t -atomic_or_abort() { +static inline int8_t +atomic_or_abort() +{ INSIST(0); ISC_UNREACHABLE(); } -#define atomic_fetch_or_explicit(obj, arg, order) \ - (sizeof(*(obj)) == 8 \ - ? atomic_fetch_or_explicit64(obj, arg, order) \ - : (sizeof(*(obj)) == 4 \ - ? atomic_fetch_or_explicit32(obj, arg, order) \ - : (sizeof(*(obj)) == 1 \ - ? atomic_fetch_or_explicit8(obj, arg, order) \ - : atomic_or_abort()))) +#define atomic_fetch_or_explicit(obj, arg, order) \ + (sizeof(*(obj)) == 8 \ + ? atomic_fetch_or_explicit64(obj, arg, order) \ + : (sizeof(*(obj)) == 4 \ + ? atomic_fetch_or_explicit32(obj, arg, order) \ + : (sizeof(*(obj)) == 1 \ + ? atomic_fetch_or_explicit8(obj, arg, \ + order) \ + : atomic_or_abort()))) -#define atomic_fetch_or(obj, arg) \ +#define atomic_fetch_or(obj, arg) \ atomic_fetch_or_explicit(obj, arg, memory_order_seq_cst) static inline bool atomic_compare_exchange_strong_explicit8(atomic_int_fast8_t *obj, - int8_t *expected, - int8_t desired, - memory_order succ, - memory_order fail) + int8_t *expected, int8_t desired, + memory_order succ, memory_order fail) { - bool __r; + bool __r; int8_t __v; UNUSED(succ); UNUSED(fail); - __v = InterlockedCompareExchange8((atomic_int_fast8_t *)obj, desired, *expected); + __v = InterlockedCompareExchange8((atomic_int_fast8_t *)obj, desired, + *expected); __r = (*(expected) == __v); if (!__r) { *(expected) = __v; @@ -329,11 +378,10 @@ atomic_compare_exchange_strong_explicit8(atomic_int_fast8_t *obj, static inline bool atomic_compare_exchange_strong_explicit32(atomic_int_fast32_t *obj, - int32_t *expected, - int32_t desired, - memory_order succ, - memory_order fail) { - bool __r; + int32_t *expected, int32_t desired, + memory_order succ, memory_order fail) +{ + bool __r; int32_t __v; UNUSED(succ); @@ -341,16 +389,20 @@ atomic_compare_exchange_strong_explicit32(atomic_int_fast32_t *obj, switch (succ) { case memory_order_relaxed: - __v = InterlockedCompareExchangeNoFence((atomic_int_fast32_t *)obj, desired, *expected); + __v = InterlockedCompareExchangeNoFence( + (atomic_int_fast32_t *)obj, desired, *expected); break; case memory_order_acquire: - __v = InterlockedCompareExchangeAcquire((atomic_int_fast32_t *)obj, desired, *expected); + __v = InterlockedCompareExchangeAcquire( + (atomic_int_fast32_t *)obj, desired, *expected); break; case memory_order_release: - __v = InterlockedCompareExchangeRelease((atomic_int_fast32_t *)obj, desired, *expected); + __v = InterlockedCompareExchangeRelease( + (atomic_int_fast32_t *)obj, desired, *expected); break; default: - __v = InterlockedCompareExchange((atomic_int_fast32_t *)obj, desired, *expected); + __v = InterlockedCompareExchange((atomic_int_fast32_t *)obj, + desired, *expected); break; } __r = (*(expected) == __v); @@ -362,11 +414,10 @@ atomic_compare_exchange_strong_explicit32(atomic_int_fast32_t *obj, static inline bool atomic_compare_exchange_strong_explicit64(atomic_int_fast64_t *obj, - int64_t *expected, - int64_t desired, - memory_order succ, - memory_order fail) { - bool __r; + int64_t *expected, int64_t desired, + memory_order succ, memory_order fail) +{ + bool __r; int64_t __v; UNUSED(succ); @@ -375,20 +426,25 @@ atomic_compare_exchange_strong_explicit64(atomic_int_fast64_t *obj, #ifdef _WIN64 switch (succ) { case memory_order_relaxed: - __v = InterlockedCompareExchangeNoFence64((atomic_int_fast64_t *)obj, desired, *expected); + __v = InterlockedCompareExchangeNoFence64( + (atomic_int_fast64_t *)obj, desired, *expected); break; case memory_order_acquire: - __v = InterlockedCompareExchangeAcquire64((atomic_int_fast64_t *)obj, desired, *expected); + __v = InterlockedCompareExchangeAcquire64( + (atomic_int_fast64_t *)obj, desired, *expected); break; case memory_order_release: - __v = InterlockedCompareExchangeRelease64((atomic_int_fast64_t *)obj, desired, *expected); + __v = InterlockedCompareExchangeRelease64( + (atomic_int_fast64_t *)obj, desired, *expected); break; default: - __v = InterlockedCompareExchange64((atomic_int_fast64_t *)obj, desired, *expected); + __v = InterlockedCompareExchange64((atomic_int_fast64_t *)obj, + desired, *expected); break; } #else - __v = InterlockedCompareExchange64((atomic_int_fast64_t *)obj, desired, *expected); + __v = InterlockedCompareExchange64((atomic_int_fast64_t *)obj, desired, + *expected); #endif __r = (*(expected) == __v); if (!__r) { @@ -398,58 +454,56 @@ atomic_compare_exchange_strong_explicit64(atomic_int_fast64_t *obj, } static inline bool -atomic_compare_exchange_abort() { +atomic_compare_exchange_abort() +{ INSIST(0); ISC_UNREACHABLE(); } -#define atomic_compare_exchange_strong_explicit(obj, expected, desired, \ - succ, fail) \ - (sizeof(*(obj)) == 8 \ - ? atomic_compare_exchange_strong_explicit64(obj, expected, \ - desired, \ - succ, fail) \ - : (sizeof(*(obj)) == 4 \ - ? atomic_compare_exchange_strong_explicit32(obj, expected, \ - desired, \ - succ, fail) \ - : (sizeof(*(obj)) == 1 \ - ? atomic_compare_exchange_strong_explicit8(obj, expected, \ - desired, \ - succ, fail) \ - : atomic_compare_exchange_abort()))) +#define atomic_compare_exchange_strong_explicit(obj, expected, desired, succ, \ + fail) \ + (sizeof(*(obj)) == 8 \ + ? atomic_compare_exchange_strong_explicit64( \ + obj, expected, desired, succ, fail) \ + : (sizeof(*(obj)) == 4 \ + ? atomic_compare_exchange_strong_explicit32( \ + obj, expected, desired, succ, fail) \ + : (sizeof(*(obj)) == 1 \ + ? atomic_compare_exchange_strong_explicit8( \ + obj, expected, desired, succ, \ + fail) \ + : atomic_compare_exchange_abort()))) -#define atomic_compare_exchange_strong(obj, expected, desired) \ +#define atomic_compare_exchange_strong(obj, expected, desired) \ atomic_compare_exchange_strong_explicit(obj, expected, desired, \ - memory_order_seq_cst, \ + memory_order_seq_cst, \ memory_order_seq_cst) -#define atomic_compare_exchange_weak_explicit(obj, expected, desired, \ - succ, fail) \ - atomic_compare_exchange_strong_explicit(obj, expected, desired, \ - succ, fail) +#define atomic_compare_exchange_weak_explicit(obj, expected, desired, succ, \ + fail) \ + atomic_compare_exchange_strong_explicit(obj, expected, desired, succ, \ + fail) -#define atomic_compare_exchange_weak(obj, expected, desired) \ - atomic_compare_exchange_weak_explicit(obj, expected, desired, \ - memory_order_seq_cst, \ +#define atomic_compare_exchange_weak(obj, expected, desired) \ + atomic_compare_exchange_weak_explicit(obj, expected, desired, \ + memory_order_seq_cst, \ memory_order_seq_cst) -static inline -bool -atomic_exchange_abort() { +static inline bool +atomic_exchange_abort() +{ INSIST(0); ISC_UNREACHABLE(); } +#define atomic_exchange_explicit(obj, desired, order) \ + (sizeof(*(obj)) == 8 \ + ? InterlockedExchange64(obj, desired) \ + : (sizeof(*(obj)) == 4 \ + ? InterlockedExchange(obj, desired) \ + : (sizeof(*(obj)) == 1 \ + ? InterlockedExchange8(obj, desired) \ + : atomic_exchange_abort()))) -#define atomic_exchange_explicit(obj, desired, order) \ - (sizeof(*(obj)) == 8 \ - ? InterlockedExchange64(obj, desired) \ - : (sizeof(*(obj)) == 4 \ - ? InterlockedExchange(obj, desired) \ - : (sizeof(*(obj)) == 1 \ - ? InterlockedExchange8(obj, desired) \ - : atomic_exchange_abort()))) - -#define atomic_exchange(obj, desired) \ - atomic_exchange_explicit(obj, desired, memory_order_seq_cst) \ +#define atomic_exchange(obj, desired) \ + atomic_exchange_explicit(obj, desired, memory_order_seq_cst) diff --git a/lib/isc/win32/include/isc/stdtime.h b/lib/isc/win32/include/isc/stdtime.h index 9ad2e99de9..5a845bd55f 100644 --- a/lib/isc/win32/include/isc/stdtime.h +++ b/lib/isc/win32/include/isc/stdtime.h @@ -9,13 +9,13 @@ * information regarding copyright ownership. */ - #ifndef ISC_STDTIME_H #define ISC_STDTIME_H 1 -#include #include +#include + /* * It's public information that 'isc_stdtime_t' is an unsigned integral type. * Applications that want maximum portability should not assume anything diff --git a/lib/isc/win32/include/isc/syslog.h b/lib/isc/win32/include/isc/syslog.h index 66431e5c36..bcbddd83f2 100644 --- a/lib/isc/win32/include/isc/syslog.h +++ b/lib/isc/win32/include/isc/syslog.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_SYSLOG_H #define ISC_SYSLOG_H 1 diff --git a/lib/isc/win32/include/isc/thread.h b/lib/isc/win32/include/isc/thread.h index 844c30e976..a116eb1456 100644 --- a/lib/isc/win32/include/isc/thread.h +++ b/lib/isc/win32/include/isc/thread.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_THREAD_H #define ISC_THREAD_H 1 @@ -23,44 +22,56 @@ */ /* check handle for NULL and INVALID_HANDLE */ -inline BOOL IsValidHandle( HANDLE hHandle) { - return ((hHandle != NULL) && (hHandle != INVALID_HANDLE_VALUE)); +inline BOOL +IsValidHandle(HANDLE hHandle) +{ + return ((hHandle != NULL) && (hHandle != INVALID_HANDLE_VALUE)); } /* validate wait return codes... */ -inline BOOL WaitSucceeded( DWORD dwWaitResult, DWORD dwHandleCount) { - return ((dwWaitResult >= WAIT_OBJECT_0) && - (dwWaitResult < WAIT_OBJECT_0 + dwHandleCount)); +inline BOOL +WaitSucceeded(DWORD dwWaitResult, DWORD dwHandleCount) +{ + return ((dwWaitResult >= WAIT_OBJECT_0) && + (dwWaitResult < WAIT_OBJECT_0 + dwHandleCount)); } -inline BOOL WaitAbandoned( DWORD dwWaitResult, DWORD dwHandleCount) { - return ((dwWaitResult >= WAIT_ABANDONED_0) && - (dwWaitResult < WAIT_ABANDONED_0 + dwHandleCount)); +inline BOOL +WaitAbandoned(DWORD dwWaitResult, DWORD dwHandleCount) +{ + return ((dwWaitResult >= WAIT_ABANDONED_0) && + (dwWaitResult < WAIT_ABANDONED_0 + dwHandleCount)); } -inline BOOL WaitTimeout( DWORD dwWaitResult) { - return (dwWaitResult == WAIT_TIMEOUT); +inline BOOL +WaitTimeout(DWORD dwWaitResult) +{ + return (dwWaitResult == WAIT_TIMEOUT); } -inline BOOL WaitFailed( DWORD dwWaitResult) { - return (dwWaitResult == WAIT_FAILED); +inline BOOL +WaitFailed(DWORD dwWaitResult) +{ + return (dwWaitResult == WAIT_FAILED); } /* compute object indices for waits... */ -inline DWORD WaitSucceededIndex( DWORD dwWaitResult) { - return (dwWaitResult - WAIT_OBJECT_0); +inline DWORD +WaitSucceededIndex(DWORD dwWaitResult) +{ + return (dwWaitResult - WAIT_OBJECT_0); } -inline DWORD WaitAbandonedIndex( DWORD dwWaitResult) { - return (dwWaitResult - WAIT_ABANDONED_0); +inline DWORD +WaitAbandonedIndex(DWORD dwWaitResult) +{ + return (dwWaitResult - WAIT_ABANDONED_0); } - - typedef HANDLE isc_thread_t; -typedef DWORD isc_threadresult_t; +typedef DWORD isc_threadresult_t; typedef void * isc_threadarg_t; -typedef isc_threadresult_t (WINAPI *isc_threadfunc_t)(isc_threadarg_t); +typedef isc_threadresult_t(WINAPI *isc_threadfunc_t)(isc_threadarg_t); #define isc_thread_self (unsigned long)GetCurrentThreadId @@ -84,7 +95,7 @@ isc_thread_setaffinity(int cpu); #define isc_thread_yield() Sleep(0) #if HAVE___DECLSPEC_THREAD -#define ISC_THREAD_LOCAL static __declspec( thread ) +#define ISC_THREAD_LOCAL static __declspec(thread) #else #error "Thread-local storage support is required!" #endif diff --git a/lib/isc/win32/include/isc/time.h b/lib/isc/win32/include/isc/time.h index 25406d246d..2eb83e4198 100644 --- a/lib/isc/win32/include/isc/time.h +++ b/lib/isc/win32/include/isc/time.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_TIME_H #define ISC_TIME_H 1 @@ -34,7 +33,7 @@ struct isc_interval { int64_t interval; }; -LIBISC_EXTERNAL_DATA extern const isc_interval_t * const isc_interval_zero; +LIBISC_EXTERNAL_DATA extern const isc_interval_t *const isc_interval_zero; /* * ISC_FORMATHTTPTIMESTAMP_SIZE needs to be 30 in C locale and potentially @@ -46,8 +45,8 @@ LIBISC_EXTERNAL_DATA extern const isc_interval_t * const isc_interval_zero; ISC_LANG_BEGINDECLS void -isc_interval_set(isc_interval_t *i, - unsigned int seconds, unsigned int nanoseconds); +isc_interval_set(isc_interval_t *i, unsigned int seconds, + unsigned int nanoseconds); /* * Set 'i' to a value representing an interval of 'seconds' seconds and * 'nanoseconds' nanoseconds, suitable for use in isc_time_add() and @@ -84,7 +83,7 @@ struct isc_time { FILETIME absolute; }; -LIBISC_EXTERNAL_DATA extern const isc_time_t * const isc_time_epoch; +LIBISC_EXTERNAL_DATA extern const isc_time_t *const isc_time_epoch; void isc_time_set(isc_time_t *t, unsigned int seconds, unsigned int nanoseconds); diff --git a/lib/isc/win32/include/isc/win32os.h b/lib/isc/win32/include/isc/win32os.h index bc18c40309..6af42e2bbe 100644 --- a/lib/isc/win32/include/isc/win32os.h +++ b/lib/isc/win32/include/isc/win32os.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISC_WIN32OS_H #define ISC_WIN32OS_H 1 @@ -24,7 +23,7 @@ ISC_LANG_BEGINDECLS int isc_win32os_versioncheck(unsigned int major, unsigned int minor, - unsigned int updatemajor, unsigned int updateminor); + unsigned int updatemajor, unsigned int updateminor); /* * Checks the current version of the operating system with the diff --git a/lib/isc/win32/interfaceiter.c b/lib/isc/win32/interfaceiter.c index a135d3b017..2f5d8fd98d 100644 --- a/lib/isc/win32/interfaceiter.c +++ b/lib/isc/win32/interfaceiter.c @@ -9,19 +9,16 @@ * information regarding copyright ownership. */ - /* * Note that this code will need to be revisited to support IPv6 Interfaces. * For now we just iterate through IPv4 interfaces. */ -#include -#include -#include - +#include #include #include #include -#include +#include +#include #include #include @@ -32,7 +29,10 @@ #include #include -void InitSockets(void); +#include + +void +InitSockets(void); /* Common utility functions */ @@ -45,53 +45,51 @@ void InitSockets(void); * not have a valid address family). */ - -#define IFITER_MAGIC 0x49464954U /* IFIT. */ -#define VALID_IFITER(t) ((t) != NULL && (t)->magic == IFITER_MAGIC) +#define IFITER_MAGIC 0x49464954U /* IFIT. */ +#define VALID_IFITER(t) ((t) != NULL && (t)->magic == IFITER_MAGIC) struct isc_interfaceiter { - unsigned int magic; /* Magic number. */ - isc_mem_t *mctx; - SOCKET socket; - INTERFACE_INFO IFData; /* Current Interface Info. */ - int numIF; /* Current Interface count. */ - int v4IF; /* Number of IPv4 Interfaces */ - INTERFACE_INFO *buf4; /* Buffer for WSAIoctl data. */ - unsigned int buf4size; /* Bytes allocated. */ - INTERFACE_INFO *pos4; /* Current offset in IF List */ - SOCKET_ADDRESS_LIST *buf6; /* Buffer for WSAIoctl data. */ - unsigned int buf6size; /* Bytes allocated. */ - unsigned int pos6; /* Which entry to process. */ - bool v6loop; /* See IPv6 loop address. */ - bool pos6zero; /* Done pos6 == 0. */ - isc_interface_t current; /* Current interface data. */ - isc_result_t result; /* Last result code. */ + unsigned int magic; /* Magic number. */ + isc_mem_t * mctx; + SOCKET socket; + INTERFACE_INFO IFData; /* Current Interface Info. */ + int numIF; /* Current Interface count. */ + int v4IF; /* Number of IPv4 Interfaces */ + INTERFACE_INFO * buf4; /* Buffer for WSAIoctl data. */ + unsigned int buf4size; /* Bytes allocated. */ + INTERFACE_INFO * pos4; /* Current offset in IF List */ + SOCKET_ADDRESS_LIST *buf6; /* Buffer for WSAIoctl data. */ + unsigned int buf6size; /* Bytes allocated. */ + unsigned int pos6; /* Which entry to process. */ + bool v6loop; /* See IPv6 loop address. */ + bool pos6zero; /* Done pos6 == 0. */ + isc_interface_t current; /* Current interface data. */ + isc_result_t result; /* Last result code. */ }; - /* * Size of buffer for SIO_GET_INTERFACE_LIST, in number of interfaces. * We assume no sane system will have more than than 1K of IP addresses on * all of its adapters. */ -#define IFCONF_SIZE_INITIAL 16 -#define IFCONF_SIZE_INCREMENT 64 -#define IFCONF_SIZE_MAX 1040 +#define IFCONF_SIZE_INITIAL 16 +#define IFCONF_SIZE_INCREMENT 64 +#define IFCONF_SIZE_MAX 1040 static void -get_addr(unsigned int family, isc_netaddr_t *dst, struct sockaddr *src) { +get_addr(unsigned int family, isc_netaddr_t *dst, struct sockaddr *src) +{ dst->family = family; switch (family) { case AF_INET: - memmove(&dst->type.in, - &((struct sockaddr_in *) src)->sin_addr, + memmove(&dst->type.in, &((struct sockaddr_in *)src)->sin_addr, sizeof(struct in_addr)); break; - case AF_INET6: + case AF_INET6: memmove(&dst->type.in6, - &((struct sockaddr_in6 *) src)->sin6_addr, + &((struct sockaddr_in6 *)src)->sin6_addr, sizeof(struct in6_addr)); - dst->zone = ((struct sockaddr_in6 *) src)->sin6_scope_id; + dst->zone = ((struct sockaddr_in6 *)src)->sin6_scope_id; break; default: INSIST(0); @@ -100,12 +98,13 @@ get_addr(unsigned int family, isc_netaddr_t *dst, struct sockaddr *src) { } isc_result_t -isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) { - char strbuf[ISC_STRERRORSIZE]; +isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) +{ + char strbuf[ISC_STRERRORSIZE]; isc_interfaceiter_t *iter; - isc_result_t result; - int error; - unsigned long bytesReturned = 0; + isc_result_t result; + int error; + unsigned long bytesReturned = 0; REQUIRE(mctx != NULL); REQUIRE(iterp != NULL); @@ -139,8 +138,7 @@ isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) { goto inet6_only; strerror_r(error, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, - "making interface scan socket: %s", - strbuf); + "making interface scan socket: %s", strbuf); result = ISC_R_UNEXPECTED; goto socket_failure; } @@ -149,22 +147,22 @@ isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) { * Get the interface configuration, allocating more memory if * necessary. */ - iter->buf4size = IFCONF_SIZE_INITIAL*sizeof(INTERFACE_INFO); + iter->buf4size = IFCONF_SIZE_INITIAL * sizeof(INTERFACE_INFO); for (;;) { iter->buf4 = isc_mem_get(mctx, iter->buf4size); - if (WSAIoctl(iter->socket, SIO_GET_INTERFACE_LIST, - 0, 0, iter->buf4, iter->buf4size, - &bytesReturned, 0, 0) == SOCKET_ERROR) - { + if (WSAIoctl(iter->socket, SIO_GET_INTERFACE_LIST, 0, 0, + iter->buf4, iter->buf4size, &bytesReturned, 0, + 0) == SOCKET_ERROR) { error = WSAGetLastError(); if (error != WSAEFAULT && error != WSAENOBUFS) { errno = error; strerror_r(error, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, - "get interface configuration: %s", - strbuf); + "get interface configuration: " + "%s", + strbuf); result = ISC_R_UNEXPECTED; goto ioctl_failure; } @@ -182,7 +180,8 @@ isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) { (bytesReturned < iter->buf4size)) break; } - if (iter->buf4size >= IFCONF_SIZE_MAX*sizeof(INTERFACE_INFO)) { + if (iter->buf4size >= + IFCONF_SIZE_MAX * sizeof(INTERFACE_INFO)) { UNEXPECTED_ERROR(__FILE__, __LINE__, "get interface configuration: " "maximum buffer size exceeded"); @@ -191,20 +190,20 @@ isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) { } isc_mem_put(mctx, iter->buf4, iter->buf4size); - iter->buf4size += IFCONF_SIZE_INCREMENT * - sizeof(INTERFACE_INFO); + iter->buf4size += + IFCONF_SIZE_INCREMENT * sizeof(INTERFACE_INFO); } /* * A newly created iterator has an undefined position * until isc_interfaceiter_first() is called. */ - iter->v4IF = bytesReturned/sizeof(INTERFACE_INFO); + iter->v4IF = bytesReturned / sizeof(INTERFACE_INFO); /* We don't need the socket any more, so close it */ closesocket(iter->socket); - inet6_only: +inet6_only: /* * Create an unbound datagram socket to do the * SIO_ADDRESS_LIST_QUERY WSAIoctl on. @@ -216,8 +215,7 @@ isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) { goto inet_only; strerror_r(error, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, - "making interface scan socket: %s", - strbuf); + "making interface scan socket: %s", strbuf); result = ISC_R_UNEXPECTED; goto ioctl_failure; } @@ -227,15 +225,14 @@ isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) { * necessary. */ iter->buf6size = sizeof(SOCKET_ADDRESS_LIST) + - IFCONF_SIZE_INITIAL*sizeof(SOCKET_ADDRESS); + IFCONF_SIZE_INITIAL * sizeof(SOCKET_ADDRESS); for (;;) { iter->buf6 = isc_mem_get(mctx, iter->buf6size); - if (WSAIoctl(iter->socket, SIO_ADDRESS_LIST_QUERY, - 0, 0, iter->buf6, iter->buf6size, - &bytesReturned, 0, 0) == SOCKET_ERROR) - { + if (WSAIoctl(iter->socket, SIO_ADDRESS_LIST_QUERY, 0, 0, + iter->buf6, iter->buf6size, &bytesReturned, 0, + 0) == SOCKET_ERROR) { error = WSAGetLastError(); if (error != WSAEFAULT && error != WSAENOBUFS) { errno = error; @@ -252,7 +249,8 @@ isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) { } else break; - if (iter->buf6size >= IFCONF_SIZE_MAX*sizeof(SOCKET_ADDRESS)) { + if (iter->buf6size >= + IFCONF_SIZE_MAX * sizeof(SOCKET_ADDRESS)) { UNEXPECTED_ERROR(__FILE__, __LINE__, "get interface configuration: " "maximum buffer size exceeded"); @@ -261,27 +259,27 @@ isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) { } isc_mem_put(mctx, iter->buf6, iter->buf6size); - iter->buf6size += IFCONF_SIZE_INCREMENT * - sizeof(SOCKET_ADDRESS); + iter->buf6size += + IFCONF_SIZE_INCREMENT * sizeof(SOCKET_ADDRESS); } closesocket(iter->socket); - inet_only: +inet_only: iter->magic = IFITER_MAGIC; *iterp = iter; return (ISC_R_SUCCESS); - ioctl6_failure: +ioctl6_failure: isc_mem_put(mctx, iter->buf6, iter->buf6size); - ioctl_failure: +ioctl_failure: if (iter->buf4 != NULL) isc_mem_put(mctx, iter->buf4, iter->buf4size); if (iter->socket != INVALID_SOCKET) - (void) closesocket(iter->socket); + (void)closesocket(iter->socket); - socket_failure: +socket_failure: isc_mem_put(mctx, iter, sizeof(*iter)); return (result); } @@ -295,8 +293,9 @@ isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) { */ static isc_result_t -internal_current(isc_interfaceiter_t *iter) { - BOOL ifNamed = FALSE; +internal_current(isc_interfaceiter_t *iter) +{ + BOOL ifNamed = FALSE; unsigned long flags; REQUIRE(VALID_IFITER(iter)); @@ -337,12 +336,12 @@ internal_current(isc_interfaceiter_t *iter) { */ if ((iter->current.flags & INTERFACE_F_POINTTOPOINT) != 0) { get_addr(AF_INET, &iter->current.dstaddress, - (struct sockaddr *)&(iter->IFData.iiBroadcastAddress)); + (struct sockaddr *)&(iter->IFData.iiBroadcastAddress)); } if (ifNamed == FALSE) snprintf(iter->current.name, sizeof(iter->current.name), - "TCP/IP Interface %d", iter->numIF); + "TCP/IP Interface %d", iter->numIF); /* * Get the network mask. @@ -354,9 +353,10 @@ internal_current(isc_interfaceiter_t *iter) { } static isc_result_t -internal_current6(isc_interfaceiter_t *iter) { +internal_current6(isc_interfaceiter_t *iter) +{ SOCKET fd; - int i; + int i; REQUIRE(VALID_IFITER(iter)); REQUIRE(iter->buf6 != NULL); @@ -383,14 +383,14 @@ internal_current6(isc_interfaceiter_t *iter) { iter->current.netmask.type.in6.s6_addr[i] = 0xff; iter->current.netmask.family = AF_INET6; if (IN6_IS_ADDR_LOOPBACK(&iter->current.address.type.in6)) - iter->v6loop = true; + iter->v6loop = true; } else { /* * See if we can bind to the ::1 and if so return ::1. */ struct sockaddr_in6 sin6; - iter->v6loop = true; /* So we don't loop forever. */ + iter->v6loop = true; /* So we don't loop forever. */ fd = socket(AF_INET6, SOCK_DGRAM, 0); if (fd == INVALID_SOCKET) @@ -406,7 +406,7 @@ internal_current6(isc_interfaceiter_t *iter) { iter->current.flags = INTERFACE_F_UP | INTERFACE_F_LOOPBACK; snprintf(iter->current.name, sizeof(iter->current.name), - "TCP/IPv6 Loopback Interface"); + "TCP/IPv6 Loopback Interface"); for (i = 0; i < 16; i++) { if (i != 15) iter->current.address.type.in6.s6_addr[i] = 0; @@ -428,7 +428,8 @@ internal_current6(isc_interfaceiter_t *iter) { * interfaces, otherwise ISC_R_SUCCESS. */ static isc_result_t -internal_next(isc_interfaceiter_t *iter) { +internal_next(isc_interfaceiter_t *iter) +{ if (iter->numIF >= iter->v4IF) return (ISC_R_NOMORE); @@ -454,7 +455,8 @@ internal_next(isc_interfaceiter_t *iter) { } static isc_result_t -internal_next6(isc_interfaceiter_t *iter) { +internal_next6(isc_interfaceiter_t *iter) +{ if (iter->pos6 == 0U && iter->v6loop) return (ISC_R_NOMORE); if (iter->pos6 != 0U) @@ -463,16 +465,16 @@ internal_next6(isc_interfaceiter_t *iter) { } isc_result_t -isc_interfaceiter_current(isc_interfaceiter_t *iter, - isc_interface_t *ifdata) { +isc_interfaceiter_current(isc_interfaceiter_t *iter, isc_interface_t *ifdata) +{ REQUIRE(iter->result == ISC_R_SUCCESS); memmove(ifdata, &iter->current, sizeof(*ifdata)); return (ISC_R_SUCCESS); } isc_result_t -isc_interfaceiter_first(isc_interfaceiter_t *iter) { - +isc_interfaceiter_first(isc_interfaceiter_t *iter) +{ REQUIRE(VALID_IFITER(iter)); if (iter->buf6 != NULL) { @@ -485,7 +487,8 @@ isc_interfaceiter_first(isc_interfaceiter_t *iter) { } isc_result_t -isc_interfaceiter_next(isc_interfaceiter_t *iter) { +isc_interfaceiter_next(isc_interfaceiter_t *iter) +{ isc_result_t result; REQUIRE(VALID_IFITER(iter)); @@ -512,7 +515,8 @@ isc_interfaceiter_next(isc_interfaceiter_t *iter) { } void -isc_interfaceiter_destroy(isc_interfaceiter_t **iterp) { +isc_interfaceiter_destroy(isc_interfaceiter_t **iterp) +{ isc_interfaceiter_t *iter; REQUIRE(iterp != NULL); iter = *iterp; diff --git a/lib/isc/win32/libgen.h b/lib/isc/win32/libgen.h index e74740f63f..d3f0da1d1a 100644 --- a/lib/isc/win32/libgen.h +++ b/lib/isc/win32/libgen.h @@ -9,11 +9,12 @@ * information regarding copyright ownership. */ - #ifndef LIBGEN_H #define LIBGEN_H 1 -char *basename(const char *); -char *dirname(const char *); +char * +basename(const char *); +char * +dirname(const char *); #endif diff --git a/lib/isc/win32/meminfo.c b/lib/isc/win32/meminfo.c index 12e897dc9e..bd650d87a2 100644 --- a/lib/isc/win32/meminfo.c +++ b/lib/isc/win32/meminfo.c @@ -15,7 +15,8 @@ #include uint64_t -isc_meminfo_totalphys(void) { +isc_meminfo_totalphys(void) +{ MEMORYSTATUSEX statex; statex.dwLength = sizeof(statex); diff --git a/lib/isc/win32/net.c b/lib/isc/win32/net.c index 6f3b4f28d7..5c00170730 100644 --- a/lib/isc/win32/net.c +++ b/lib/isc/win32/net.c @@ -31,26 +31,28 @@ */ #ifndef ISC_NET_PORTRANGELOW #define ISC_NET_PORTRANGELOW 32768 -#endif /* ISC_NET_PORTRANGELOW */ +#endif /* ISC_NET_PORTRANGELOW */ #ifndef ISC_NET_PORTRANGEHIGH #define ISC_NET_PORTRANGEHIGH 65535 -#endif /* ISC_NET_PORTRANGEHIGH */ +#endif /* ISC_NET_PORTRANGEHIGH */ -static isc_once_t once = ISC_ONCE_INIT; -static isc_once_t once_ipv6only = ISC_ONCE_INIT; -static isc_once_t once_ipv6pktinfo = ISC_ONCE_INIT; -static isc_result_t ipv4_result = ISC_R_NOTFOUND; -static isc_result_t ipv6_result = ISC_R_NOTFOUND; -static isc_result_t ipv6only_result = ISC_R_NOTFOUND; -static isc_result_t ipv6pktinfo_result = ISC_R_NOTFOUND; +static isc_once_t once = ISC_ONCE_INIT; +static isc_once_t once_ipv6only = ISC_ONCE_INIT; +static isc_once_t once_ipv6pktinfo = ISC_ONCE_INIT; +static isc_result_t ipv4_result = ISC_R_NOTFOUND; +static isc_result_t ipv6_result = ISC_R_NOTFOUND; +static isc_result_t ipv6only_result = ISC_R_NOTFOUND; +static isc_result_t ipv6pktinfo_result = ISC_R_NOTFOUND; -void InitSockets(void); +void +InitSockets(void); static isc_result_t -try_proto(int domain) { +try_proto(int domain) +{ SOCKET s; - char strbuf[ISC_STRERRORSIZE]; - int errval; + char strbuf[ISC_STRERRORSIZE]; + int errval; s = socket(domain, SOCK_STREAM, IPPROTO_TCP); if (s == INVALID_SOCKET) { @@ -63,8 +65,7 @@ try_proto(int domain) { default: strerror_r(errval, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, - "socket() failed: %s", - strbuf); + "socket() failed: %s", strbuf); return (ISC_R_UNEXPECTED); } } @@ -75,40 +76,46 @@ try_proto(int domain) { } static void -initialize_action(void) { +initialize_action(void) +{ InitSockets(); ipv4_result = try_proto(PF_INET); ipv6_result = try_proto(PF_INET6); } static void -initialize(void) { +initialize(void) +{ RUNTIME_CHECK(isc_once_do(&once, initialize_action) == ISC_R_SUCCESS); } isc_result_t -isc_net_probeipv4(void) { +isc_net_probeipv4(void) +{ initialize(); return (ipv4_result); } isc_result_t -isc_net_probeipv6(void) { +isc_net_probeipv6(void) +{ initialize(); return (ipv6_result); } isc_result_t -isc_net_probeunix(void) { +isc_net_probeunix(void) +{ return (ISC_R_NOTFOUND); } static void -try_ipv6only(void) { +try_ipv6only(void) +{ #ifdef IPV6_V6ONLY SOCKET s; - int on; - char strbuf[ISC_STRERRORSIZE]; + int on; + char strbuf[ISC_STRERRORSIZE]; #endif isc_result_t result; @@ -126,8 +133,7 @@ try_ipv6only(void) { s = socket(PF_INET6, SOCK_STREAM, 0); if (s == INVALID_SOCKET) { strerror_r(errno, strbuf, sizeof(strbuf)); - UNEXPECTED_ERROR(__FILE__, __LINE__, - "socket() failed: %s", + UNEXPECTED_ERROR(__FILE__, __LINE__, "socket() failed: %s", strbuf); ipv6only_result = ISC_R_UNEXPECTED; return; @@ -146,8 +152,7 @@ try_ipv6only(void) { s = socket(PF_INET6, SOCK_DGRAM, 0); if (s == INVALID_SOCKET) { strerror_r(errno, strbuf, sizeof(strbuf)); - UNEXPECTED_ERROR(__FILE__, __LINE__, - "socket() failed: %s", + UNEXPECTED_ERROR(__FILE__, __LINE__, "socket() failed: %s", strbuf); ipv6only_result = ISC_R_UNEXPECTED; return; @@ -169,9 +174,10 @@ close: } static void -initialize_ipv6only(void) { - RUNTIME_CHECK(isc_once_do(&once_ipv6only, - try_ipv6only) == ISC_R_SUCCESS); +initialize_ipv6only(void) +{ + RUNTIME_CHECK(isc_once_do(&once_ipv6only, try_ipv6only) == + ISC_R_SUCCESS); } #ifdef __notyet__ @@ -181,12 +187,13 @@ initialize_ipv6only(void) { * and compiler version dependent. */ static void -try_ipv6pktinfo(void) { - SOCKET s; - int on; - char strbuf[ISC_STRERRORSIZE]; +try_ipv6pktinfo(void) +{ + SOCKET s; + int on; + char strbuf[ISC_STRERRORSIZE]; isc_result_t result; - int optname; + int optname; result = isc_net_probeipv6(); if (result != ISC_R_SUCCESS) { @@ -198,8 +205,7 @@ try_ipv6pktinfo(void) { s = socket(PF_INET6, SOCK_DGRAM, IPPROTO_UDP); if (s == INVALID_SOCKET) { strerror_r(errno, strbuf, sizeof(strbuf)); - UNEXPECTED_ERROR(__FILE__, __LINE__, - "socket() failed: %s", + UNEXPECTED_ERROR(__FILE__, __LINE__, "socket() failed: %s", strbuf); ipv6pktinfo_result = ISC_R_UNEXPECTED; return; @@ -211,7 +217,7 @@ try_ipv6pktinfo(void) { optname = IPV6_PKTINFO; #endif on = 1; - if (setsockopt(s, IPPROTO_IPV6, optname, (const char *) &on, + if (setsockopt(s, IPPROTO_IPV6, optname, (const char *)&on, sizeof(on)) < 0) { ipv6pktinfo_result = ISC_R_NOTFOUND; goto close; @@ -225,20 +231,23 @@ close: } static void -initialize_ipv6pktinfo(void) { - RUNTIME_CHECK(isc_once_do(&once_ipv6pktinfo, - try_ipv6pktinfo) == ISC_R_SUCCESS); +initialize_ipv6pktinfo(void) +{ + RUNTIME_CHECK(isc_once_do(&once_ipv6pktinfo, try_ipv6pktinfo) == + ISC_R_SUCCESS); } #endif /* __notyet__ */ isc_result_t -isc_net_probe_ipv6only(void) { +isc_net_probe_ipv6only(void) +{ initialize_ipv6only(); return (ipv6only_result); } isc_result_t -isc_net_probe_ipv6pktinfo(void) { +isc_net_probe_ipv6pktinfo(void) +{ #ifdef __notyet__ initialize_ipv6pktinfo(); #endif /* __notyet__ */ @@ -246,7 +255,8 @@ isc_net_probe_ipv6pktinfo(void) { } isc_result_t -isc_net_getudpportrange(int af, in_port_t *low, in_port_t *high) { +isc_net_getudpportrange(int af, in_port_t *low, in_port_t *high) +{ int result = ISC_R_FAILURE; REQUIRE(low != NULL && high != NULL); @@ -258,38 +268,43 @@ isc_net_getudpportrange(int af, in_port_t *low, in_port_t *high) { *high = ISC_NET_PORTRANGEHIGH; } - return (ISC_R_SUCCESS); /* we currently never fail in this function */ + return (ISC_R_SUCCESS); /* we currently never fail in this function */ } void -isc_net_disableipv4(void) { +isc_net_disableipv4(void) +{ initialize(); if (ipv4_result == ISC_R_SUCCESS) ipv4_result = ISC_R_DISABLED; } void -isc_net_disableipv6(void) { +isc_net_disableipv6(void) +{ initialize(); if (ipv6_result == ISC_R_SUCCESS) ipv6_result = ISC_R_DISABLED; } void -isc_net_enableipv4(void) { +isc_net_enableipv4(void) +{ initialize(); if (ipv4_result == ISC_R_DISABLED) ipv4_result = ISC_R_SUCCESS; } void -isc_net_enableipv6(void) { +isc_net_enableipv6(void) +{ initialize(); if (ipv6_result == ISC_R_DISABLED) ipv6_result = ISC_R_SUCCESS; } unsigned int -isc_net_probedscp(void) { +isc_net_probedscp(void) +{ return (0); } diff --git a/lib/isc/win32/netdb.h b/lib/isc/win32/netdb.h index a9398c8f15..6d8e7ca767 100644 --- a/lib/isc/win32/netdb.h +++ b/lib/isc/win32/netdb.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef NETDB_H #define NETDB_H 1 @@ -22,18 +21,17 @@ #if _MSC_VER < 1600 struct addrinfo { - int ai_flags; /* AI_PASSIVE, AI_CANONNAME */ - int ai_family; /* PF_xxx */ - int ai_socktype; /* SOCK_xxx */ - int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */ - size_t ai_addrlen; /* Length of ai_addr */ - char *ai_canonname; /* Canonical name for hostname */ - struct sockaddr *ai_addr; /* Binary address */ - struct addrinfo *ai_next; /* Next structure in linked list */ + int ai_flags; /* AI_PASSIVE, AI_CANONNAME */ + int ai_family; /* PF_xxx */ + int ai_socktype; /* SOCK_xxx */ + int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */ + size_t ai_addrlen; /* Length of ai_addr */ + char * ai_canonname; /* Canonical name for hostname */ + struct sockaddr *ai_addr; /* Binary address */ + struct addrinfo *ai_next; /* Next structure in linked list */ }; #endif - /* * Undefine all \#defines we are interested in as may or may not have * defined them. @@ -44,66 +42,66 @@ struct addrinfo { * (left in extern int h_errno). */ -#undef NETDB_INTERNAL -#undef NETDB_SUCCESS -#undef HOST_NOT_FOUND -#undef TRY_AGAIN -#undef NO_RECOVERY -#undef NO_DATA -#undef NO_ADDRESS +#undef NETDB_INTERNAL +#undef NETDB_SUCCESS +#undef HOST_NOT_FOUND +#undef TRY_AGAIN +#undef NO_RECOVERY +#undef NO_DATA +#undef NO_ADDRESS -#define NETDB_INTERNAL -1 /* see errno */ -#define NETDB_SUCCESS 0 /* no problem */ -#define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found */ -#define TRY_AGAIN 2 /* Non-Authoritative Host not found, or SERVERFAIL */ -#define NO_RECOVERY 3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */ -#define NO_DATA 4 /* Valid name, no data record of requested type */ -#define NO_ADDRESS NO_DATA /* no address, look for MX record */ +#define NETDB_INTERNAL -1 /* see errno */ +#define NETDB_SUCCESS 0 /* no problem */ +#define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found */ +#define TRY_AGAIN 2 /* Non-Authoritative Host not found, or SERVERFAIL */ +#define NO_RECOVERY 3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */ +#define NO_DATA 4 /* Valid name, no data record of requested type */ +#define NO_ADDRESS NO_DATA /* no address, look for MX record */ /* * Error return codes from getaddrinfo() */ -#undef EAI_ADDRFAMILY -#undef EAI_AGAIN -#undef EAI_BADFLAGS -#undef EAI_FAIL -#undef EAI_FAMILY -#undef EAI_MEMORY -#undef EAI_NODATA -#undef EAI_NONAME -#undef EAI_SERVICE -#undef EAI_SOCKTYPE -#undef EAI_SYSTEM -#undef EAI_BADHINTS -#undef EAI_PROTOCOL -#undef EAI_MAX +#undef EAI_ADDRFAMILY +#undef EAI_AGAIN +#undef EAI_BADFLAGS +#undef EAI_FAIL +#undef EAI_FAMILY +#undef EAI_MEMORY +#undef EAI_NODATA +#undef EAI_NONAME +#undef EAI_SERVICE +#undef EAI_SOCKTYPE +#undef EAI_SYSTEM +#undef EAI_BADHINTS +#undef EAI_PROTOCOL +#undef EAI_MAX -#define EAI_ADDRFAMILY 1 /* address family for hostname not supported */ -#define EAI_AGAIN 2 /* temporary failure in name resolution */ -#define EAI_BADFLAGS 3 /* invalid value for ai_flags */ -#define EAI_FAIL 4 /* non-recoverable failure in name resolution */ -#define EAI_FAMILY 5 /* ai_family not supported */ -#define EAI_MEMORY 6 /* memory allocation failure */ -#define EAI_NODATA 7 /* no address associated with hostname */ -#define EAI_NONAME 8 /* hostname nor servname provided, or not known */ -#define EAI_SERVICE 9 /* servname not supported for ai_socktype */ -#define EAI_SOCKTYPE 10 /* ai_socktype not supported */ -#define EAI_SYSTEM 11 /* system error returned in errno */ -#define EAI_BADHINTS 12 -#define EAI_PROTOCOL 13 -#define EAI_MAX 14 +#define EAI_ADDRFAMILY 1 /* address family for hostname not supported */ +#define EAI_AGAIN 2 /* temporary failure in name resolution */ +#define EAI_BADFLAGS 3 /* invalid value for ai_flags */ +#define EAI_FAIL 4 /* non-recoverable failure in name resolution */ +#define EAI_FAMILY 5 /* ai_family not supported */ +#define EAI_MEMORY 6 /* memory allocation failure */ +#define EAI_NODATA 7 /* no address associated with hostname */ +#define EAI_NONAME 8 /* hostname nor servname provided, or not known */ +#define EAI_SERVICE 9 /* servname not supported for ai_socktype */ +#define EAI_SOCKTYPE 10 /* ai_socktype not supported */ +#define EAI_SYSTEM 11 /* system error returned in errno */ +#define EAI_BADHINTS 12 +#define EAI_PROTOCOL 13 +#define EAI_MAX 14 /* * Flag values for getaddrinfo() */ -#undef AI_PASSIVE -#undef AI_CANONNAME -#undef AI_NUMERICHOST +#undef AI_PASSIVE +#undef AI_CANONNAME +#undef AI_NUMERICHOST -#define AI_PASSIVE 0x00000001 -#define AI_CANONNAME 0x00000002 -#define AI_NUMERICHOST 0x00000004 +#define AI_PASSIVE 0x00000001 +#define AI_CANONNAME 0x00000002 +#define AI_NUMERICHOST 0x00000004 /* * Flag values for getipnodebyname() @@ -113,70 +111,69 @@ struct addrinfo { #undef AI_ADDRCONFIG #undef AI_DEFAULT -#define AI_V4MAPPED 0x00000008 -#define AI_ALL 0x00000010 -#define AI_ADDRCONFIG 0x00000020 -#define AI_DEFAULT (AI_V4MAPPED|AI_ADDRCONFIG) +#define AI_V4MAPPED 0x00000008 +#define AI_ALL 0x00000010 +#define AI_ADDRCONFIG 0x00000020 +#define AI_DEFAULT (AI_V4MAPPED | AI_ADDRCONFIG) /* * Constants for getnameinfo() */ -#undef NI_MAXHOST -#undef NI_MAXSERV +#undef NI_MAXHOST +#undef NI_MAXSERV -#define NI_MAXHOST 1025 -#define NI_MAXSERV 32 +#define NI_MAXHOST 1025 +#define NI_MAXSERV 32 /* * Flag values for getnameinfo() */ -#undef NI_NOFQDN -#undef NI_NUMERICHOST -#undef NI_NAMEREQD -#undef NI_NUMERICSERV -#undef NI_DGRAM -#undef NI_NUMERICSCOPE +#undef NI_NOFQDN +#undef NI_NUMERICHOST +#undef NI_NAMEREQD +#undef NI_NUMERICSERV +#undef NI_DGRAM +#undef NI_NUMERICSCOPE -#define NI_NOFQDN 0x00000001 -#define NI_NUMERICHOST 0x00000002 -#define NI_NAMEREQD 0x00000004 -#define NI_NUMERICSERV 0x00000008 -#define NI_DGRAM 0x00000010 -#define NI_NUMERICSCOPE 0x00000020 /*2553bis-00*/ +#define NI_NOFQDN 0x00000001 +#define NI_NUMERICHOST 0x00000002 +#define NI_NAMEREQD 0x00000004 +#define NI_NUMERICSERV 0x00000008 +#define NI_DGRAM 0x00000010 +#define NI_NUMERICSCOPE 0x00000020 /*2553bis-00*/ /* * Structures for getrrsetbyname() */ struct rdatainfo { - unsigned int rdi_length; - unsigned char *rdi_data; + unsigned int rdi_length; + unsigned char *rdi_data; }; struct rrsetinfo { - unsigned int rri_flags; - int rri_rdclass; - int rri_rdtype; - unsigned int rri_ttl; - unsigned int rri_nrdatas; - unsigned int rri_nsigs; - char *rri_name; - struct rdatainfo *rri_rdatas; - struct rdatainfo *rri_sigs; + unsigned int rri_flags; + int rri_rdclass; + int rri_rdtype; + unsigned int rri_ttl; + unsigned int rri_nrdatas; + unsigned int rri_nsigs; + char * rri_name; + struct rdatainfo *rri_rdatas; + struct rdatainfo *rri_sigs; }; /* * Flags for getrrsetbyname() */ -#define RRSET_VALIDATED 0x00000001 - /* Set was dnssec validated */ +#define RRSET_VALIDATED 0x00000001 +/* Set was dnssec validated */ /* * Return codes for getrrsetbyname() */ -#define ERRSET_SUCCESS 0 -#define ERRSET_NOMEMORY 1 -#define ERRSET_FAIL 2 -#define ERRSET_INVAL 3 - +#define ERRSET_SUCCESS 0 +#define ERRSET_NOMEMORY 1 +#define ERRSET_FAIL 2 +#define ERRSET_INVAL 3 #endif /* NETDB_H */ diff --git a/lib/isc/win32/ntgroups.c b/lib/isc/win32/ntgroups.c index 850d076aea..5adca79d28 100644 --- a/lib/isc/win32/ntgroups.c +++ b/lib/isc/win32/ntgroups.c @@ -30,42 +30,49 @@ */ #define _CRT_SECURE_NO_DEPRECATE 1 -#include +// clang-format off #include +#include #include +// clang-format on #include #include #define MAX_NAME_LENGTH 256 -#define CHECK(op) \ - do { result = (op); if (result != ISC_R_SUCCESS) { goto cleanup; } } while (0) +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) { \ + goto cleanup; \ + } \ + } while (0) isc_result_t isc_ntsecurity_getaccountgroups(char *username, char **GroupList, - unsigned int maxgroups, + unsigned int maxgroups, unsigned int *totalGroups) { - LPGROUP_USERS_INFO_0 pTmpBuf; + LPGROUP_USERS_INFO_0 pTmpBuf; LPLOCALGROUP_USERS_INFO_0 pTmpLBuf; - DWORD i; + DWORD i; LPLOCALGROUP_USERS_INFO_0 pBuf = NULL; - LPGROUP_USERS_INFO_0 pgrpBuf = NULL; - DWORD dwLevel = 0; - DWORD dwFlags = LG_INCLUDE_INDIRECT; - DWORD dwPrefMaxLen = MAX_PREFERRED_LENGTH; - DWORD dwEntriesRead = 0; - DWORD dwTotalEntries = 0; - NET_API_STATUS nStatus; - size_t retlen; - wchar_t user[MAX_NAME_LENGTH]; - isc_result_t result; + LPGROUP_USERS_INFO_0 pgrpBuf = NULL; + DWORD dwLevel = 0; + DWORD dwFlags = LG_INCLUDE_INDIRECT; + DWORD dwPrefMaxLen = MAX_PREFERRED_LENGTH; + DWORD dwEntriesRead = 0; + DWORD dwTotalEntries = 0; + NET_API_STATUS nStatus; + size_t retlen; + wchar_t user[MAX_NAME_LENGTH]; + isc_result_t result; *totalGroups = 0; retlen = mbstowcs(user, username, MAX_NAME_LENGTH); - if (retlen == (size_t) (-1)) { + if (retlen == (size_t)(-1)) { return (ISC_R_FAILURE); } @@ -78,7 +85,7 @@ isc_ntsecurity_getaccountgroups(char *username, char **GroupList, * groups in which the user is indirectly a member. */ nStatus = NetUserGetLocalGroups(NULL, user, dwLevel, dwFlags, - (LPBYTE *) &pBuf, dwPrefMaxLen, + (LPBYTE *)&pBuf, dwPrefMaxLen, &dwEntriesRead, &dwTotalEntries); /* * See if the call succeeds, @@ -100,21 +107,21 @@ isc_ntsecurity_getaccountgroups(char *username, char **GroupList, /* * Loop through the entries */ - for (i = 0; - (i < dwEntriesRead && *totalGroups < maxgroups); i++) { + for (i = 0; (i < dwEntriesRead && *totalGroups < maxgroups); + i++) { assert(pTmpLBuf != NULL); if (pTmpLBuf == NULL) { break; } retlen = wcslen(pTmpLBuf->lgrui0_name); - GroupList[*totalGroups] = (char *) malloc(retlen +1); + GroupList[*totalGroups] = (char *)malloc(retlen + 1); if (GroupList[*totalGroups] == NULL) { CHECK(ISC_R_NOMEMORY); } retlen = wcstombs(GroupList[*totalGroups], pTmpLBuf->lgrui0_name, retlen); - if (retlen == (size_t) (-1)) { + if (retlen == (size_t)(-1)) { free(GroupList[*totalGroups]); CHECK(ISC_R_FAILURE); } @@ -132,13 +139,12 @@ isc_ntsecurity_getaccountgroups(char *username, char **GroupList, if (pBuf != NULL) NetApiBufferFree(pBuf); - /* * Call the NetUserGetGroups function, specifying level 0. */ - nStatus = NetUserGetGroups(NULL, user, dwLevel, - (LPBYTE*)&pgrpBuf, dwPrefMaxLen, - &dwEntriesRead, &dwTotalEntries); + nStatus = NetUserGetGroups(NULL, user, dwLevel, (LPBYTE *)&pgrpBuf, + dwPrefMaxLen, &dwEntriesRead, + &dwTotalEntries); /* * See if the call succeeds, */ @@ -159,22 +165,22 @@ isc_ntsecurity_getaccountgroups(char *username, char **GroupList, /* * Loop through the entries */ - for (i = 0; - (i < dwEntriesRead && *totalGroups < maxgroups); i++) { + for (i = 0; (i < dwEntriesRead && *totalGroups < maxgroups); + i++) { assert(pTmpBuf != NULL); if (pTmpBuf == NULL) { break; } retlen = wcslen(pTmpBuf->grui0_name); - GroupList[*totalGroups] = (char *) malloc(retlen +1); + GroupList[*totalGroups] = (char *)malloc(retlen + 1); if (GroupList[*totalGroups] == NULL) { CHECK(ISC_R_NOMEMORY); } retlen = wcstombs(GroupList[*totalGroups], - pTmpBuf->grui0_name, retlen); - if (retlen == (size_t) (-1)) { + pTmpBuf->grui0_name, retlen); + if (retlen == (size_t)(-1)) { free(GroupList[*totalGroups]); CHECK(ISC_R_FAILURE); } @@ -197,7 +203,7 @@ isc_ntsecurity_getaccountgroups(char *username, char **GroupList, return (ISC_R_SUCCESS); - cleanup: +cleanup: while (--(*totalGroups) > 0) { free(GroupList[*totalGroups]); } diff --git a/lib/isc/win32/ntpaths.c b/lib/isc/win32/ntpaths.c index 17c51da8d3..dd3ef0e53d 100644 --- a/lib/isc/win32/ntpaths.c +++ b/lib/isc/win32/ntpaths.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* * This module fetches the required path information that is specific * to NT systems which can have its configuration and system files @@ -40,22 +39,24 @@ static char resolv_confFile[MAX_PATH]; static char bind_keysFile[MAX_PATH]; static DWORD baseLen = MAX_PATH; -static BOOL Initialized = FALSE; +static BOOL Initialized = FALSE; void -isc_ntpaths_init(void) { +isc_ntpaths_init(void) +{ HKEY hKey; BOOL keyFound = TRUE; memset(namedBase, 0, sizeof(namedBase)); - if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, BIND_SUBKEY, 0, KEY_READ, &hKey) - != ERROR_SUCCESS) + if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, BIND_SUBKEY, 0, KEY_READ, &hKey) != + ERROR_SUCCESS) keyFound = FALSE; if (keyFound == TRUE) { /* Get the named directory */ if (RegQueryValueEx(hKey, "InstallDir", NULL, NULL, - (LPBYTE)namedBase, &baseLen) != ERROR_SUCCESS) + (LPBYTE)namedBase, + &baseLen) != ERROR_SUCCESS) keyFound = FALSE; RegCloseKey(hKey); } @@ -94,8 +95,7 @@ isc_ntpaths_init(void) { /* Added to avoid an assert on NULL value */ strlcpy(resolv_confFile, namedBase, sizeof(resolv_confFile)); - strlcat(resolv_confFile, "\\etc\\resolv.conf", - sizeof(resolv_confFile)); + strlcat(resolv_confFile, "\\etc\\resolv.conf", sizeof(resolv_confFile)); strlcpy(bind_keysFile, namedBase, sizeof(bind_keysFile)); strlcat(bind_keysFile, "\\etc\\bind.keys", sizeof(bind_keysFile)); @@ -104,7 +104,8 @@ isc_ntpaths_init(void) { } char * -isc_ntpaths_get(int ind) { +isc_ntpaths_get(int ind) +{ if (!Initialized) isc_ntpaths_init(); diff --git a/lib/isc/win32/once.c b/lib/isc/win32/once.c index fc56644ad4..2ee6b4987a 100644 --- a/lib/isc/win32/once.c +++ b/lib/isc/win32/once.c @@ -11,16 +11,16 @@ #include -#include #include +#include #include isc_result_t -isc_once_do(isc_once_t *controller, void(*function)(void)) { +isc_once_do(isc_once_t *controller, void (*function)(void)) +{ REQUIRE(controller != NULL && function != NULL); if (controller->status == ISC_ONCE_INIT_NEEDED) { - if (InterlockedDecrement(&controller->counter) == 0) { if (controller->status == ISC_ONCE_INIT_NEEDED) { function(); diff --git a/lib/isc/win32/os.c b/lib/isc/win32/os.c index d85d926f36..6106cf430b 100644 --- a/lib/isc/win32/os.c +++ b/lib/isc/win32/os.c @@ -13,11 +13,12 @@ #include -static BOOL bInit = FALSE; +static BOOL bInit = FALSE; static SYSTEM_INFO SystemInfo; static void -initialize_action(void) { +initialize_action(void) +{ if (bInit) return; @@ -26,7 +27,8 @@ initialize_action(void) { } unsigned int -isc_os_ncpus(void) { +isc_os_ncpus(void) +{ long ncpus; initialize_action(); ncpus = SystemInfo.dwNumberOfProcessors; diff --git a/lib/isc/win32/pk11_api.c b/lib/isc/win32/pk11_api.c index d914cf2de1..9fca0d567e 100644 --- a/lib/isc/win32/pk11_api.c +++ b/lib/isc/win32/pk11_api.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ /* missing code for WIN32 */ @@ -25,15 +24,16 @@ #include #include -#include #include +#include char * -getpass(const char *prompt) { +getpass(const char *prompt) +{ static char buf[128]; - HANDLE h; - DWORD cc, mode; - int cnt; + HANDLE h; + DWORD cc, mode; + int cnt; h = GetStdHandle(STD_INPUT_HANDLE); fputs(prompt, stderr); @@ -43,8 +43,7 @@ getpass(const char *prompt) { GetConsoleMode(h, &mode); SetConsoleMode(h, ENABLE_PROCESSED_INPUT); - for (cnt = 0; cnt < sizeof(buf) - 1; cnt++) - { + for (cnt = 0; cnt < sizeof(buf) - 1; cnt++) { ReadFile(h, buf + cnt, 1, &cc, NULL); if (buf[cnt] == '\r') break; @@ -62,12 +61,13 @@ getpass(const char *prompt) { /* load PKCS11 DLL */ static HINSTANCE hPK11 = NULL; -static char loaderrmsg[1024]; +static char loaderrmsg[1024]; CK_RV -pkcs_C_Initialize(CK_VOID_PTR pReserved) { +pkcs_C_Initialize(CK_VOID_PTR pReserved) +{ CK_C_Initialize sym; - const char *lib_name = pk11_get_lib_name(); + const char * lib_name = pk11_get_lib_name(); if (hPK11 != NULL) return (CKR_LIBRARY_ALREADY_INITIALIZED); @@ -83,8 +83,8 @@ pkcs_C_Initialize(CK_VOID_PTR pReserved) { if (hPK11 == NULL) { const DWORD err = GetLastError(); snprintf(loaderrmsg, sizeof(loaderrmsg), - "LoadLibraryA(\"%s\") failed with 0x%X\n", - lib_name, err); + "LoadLibraryA(\"%s\") failed with 0x%X\n", lib_name, + err); return (CKR_LIBRARY_FAILED_TO_LOAD); } sym = (CK_C_Initialize)GetProcAddress(hPK11, "C_Initialize"); @@ -93,14 +93,17 @@ pkcs_C_Initialize(CK_VOID_PTR pReserved) { return (*sym)(pReserved); } -char *pk11_get_load_error_message(void) { +char * +pk11_get_load_error_message(void) +{ return (loaderrmsg); } CK_RV -pkcs_C_Finalize(CK_VOID_PTR pReserved) { +pkcs_C_Finalize(CK_VOID_PTR pReserved) +{ CK_C_Finalize sym; - CK_RV rv; + CK_RV rv; if (hPK11 == NULL) return (CKR_LIBRARY_FAILED_TO_LOAD); @@ -115,9 +118,8 @@ pkcs_C_Finalize(CK_VOID_PTR pReserved) { } CK_RV -pkcs_C_GetSlotList(CK_BBOOL tokenPresent, - CK_SLOT_ID_PTR pSlotList, - CK_ULONG_PTR pulCount) +pkcs_C_GetSlotList(CK_BBOOL tokenPresent, CK_SLOT_ID_PTR pSlotList, + CK_ULONG_PTR pulCount) { static CK_C_GetSlotList sym = NULL; @@ -131,46 +133,43 @@ pkcs_C_GetSlotList(CK_BBOOL tokenPresent, } CK_RV -pkcs_C_GetTokenInfo(CK_SLOT_ID slotID, - CK_TOKEN_INFO_PTR pInfo) +pkcs_C_GetTokenInfo(CK_SLOT_ID slotID, CK_TOKEN_INFO_PTR pInfo) { static CK_C_GetTokenInfo sym = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_FAILED_TO_LOAD); if (sym == NULL) - sym = (CK_C_GetTokenInfo)GetProcAddress(hPK11, - "C_GetTokenInfo"); + sym = (CK_C_GetTokenInfo)GetProcAddress(hPK11, "C_" + "GetTokenInfo"); if (sym == NULL) return (CKR_SYMBOL_RESOLUTION_FAILED); return (*sym)(slotID, pInfo); } CK_RV -pkcs_C_GetMechanismInfo(CK_SLOT_ID slotID, - CK_MECHANISM_TYPE type, - CK_MECHANISM_INFO_PTR pInfo) +pkcs_C_GetMechanismInfo(CK_SLOT_ID slotID, CK_MECHANISM_TYPE type, + CK_MECHANISM_INFO_PTR pInfo) { static CK_C_GetMechanismInfo sym = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_FAILED_TO_LOAD); if (sym == NULL) - sym = (CK_C_GetMechanismInfo)GetProcAddress(hPK11, - "C_GetMechanismInfo"); + sym = (CK_C_GetMechanismInfo)GetProcAddress(hPK11, "C_" + "GetMechanis" + "mInfo"); if (sym == NULL) return (CKR_SYMBOL_RESOLUTION_FAILED); return (*sym)(slotID, type, pInfo); } CK_RV -pkcs_C_OpenSession(CK_SLOT_ID slotID, - CK_FLAGS flags, - CK_VOID_PTR pApplication, - CK_RV (*Notify) (CK_SESSION_HANDLE hSession, - CK_NOTIFICATION event, - CK_VOID_PTR pApplication), - CK_SESSION_HANDLE_PTR phSession) +pkcs_C_OpenSession(CK_SLOT_ID slotID, CK_FLAGS flags, CK_VOID_PTR pApplication, + CK_RV (*Notify)(CK_SESSION_HANDLE hSession, + CK_NOTIFICATION event, + CK_VOID_PTR pApplication), + CK_SESSION_HANDLE_PTR phSession) { static CK_C_OpenSession sym = NULL; @@ -191,24 +190,23 @@ pkcs_C_OpenSession(CK_SLOT_ID slotID, } CK_RV -pkcs_C_CloseSession(CK_SESSION_HANDLE hSession) { +pkcs_C_CloseSession(CK_SESSION_HANDLE hSession) +{ static CK_C_CloseSession sym = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_FAILED_TO_LOAD); if (sym == NULL) - sym = (CK_C_CloseSession)GetProcAddress(hPK11, - "C_CloseSession"); + sym = (CK_C_CloseSession)GetProcAddress(hPK11, "C_" + "CloseSession"); if (sym == NULL) return (CKR_SYMBOL_RESOLUTION_FAILED); return (*sym)(hSession); } CK_RV -pkcs_C_Login(CK_SESSION_HANDLE hSession, - CK_USER_TYPE userType, - CK_CHAR_PTR pPin, - CK_ULONG usPinLen) +pkcs_C_Login(CK_SESSION_HANDLE hSession, CK_USER_TYPE userType, + CK_CHAR_PTR pPin, CK_ULONG usPinLen) { static CK_C_Login sym = NULL; @@ -222,7 +220,8 @@ pkcs_C_Login(CK_SESSION_HANDLE hSession, } CK_RV -pkcs_C_Logout(CK_SESSION_HANDLE hSession) { +pkcs_C_Logout(CK_SESSION_HANDLE hSession) +{ static CK_C_Logout sym = NULL; if (hPK11 == NULL) @@ -235,95 +234,91 @@ pkcs_C_Logout(CK_SESSION_HANDLE hSession) { } CK_RV -pkcs_C_CreateObject(CK_SESSION_HANDLE hSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG usCount, - CK_OBJECT_HANDLE_PTR phObject) +pkcs_C_CreateObject(CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, + CK_ULONG usCount, CK_OBJECT_HANDLE_PTR phObject) { static CK_C_CreateObject sym = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_FAILED_TO_LOAD); if (sym == NULL) - sym = (CK_C_CreateObject)GetProcAddress(hPK11, - "C_CreateObject"); + sym = (CK_C_CreateObject)GetProcAddress(hPK11, "C_" + "CreateObject"); if (sym == NULL) return (CKR_SYMBOL_RESOLUTION_FAILED); return (*sym)(hSession, pTemplate, usCount, phObject); } CK_RV -pkcs_C_DestroyObject(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject) { +pkcs_C_DestroyObject(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject) +{ static CK_C_DestroyObject sym = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_FAILED_TO_LOAD); if (sym == NULL) - sym = (CK_C_DestroyObject)GetProcAddress(hPK11, - "C_DestroyObject"); + sym = (CK_C_DestroyObject)GetProcAddress(hPK11, "C_" + "DestroyObjec" + "t"); if (sym == NULL) return (CKR_SYMBOL_RESOLUTION_FAILED); return (*sym)(hSession, hObject); } CK_RV -pkcs_C_GetAttributeValue(CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG usCount) +pkcs_C_GetAttributeValue(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, + CK_ATTRIBUTE_PTR pTemplate, CK_ULONG usCount) { static CK_C_GetAttributeValue sym = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_FAILED_TO_LOAD); if (sym == NULL) - sym = (CK_C_GetAttributeValue)GetProcAddress(hPK11, - "C_GetAttributeValue"); + sym = (CK_C_GetAttributeValue)GetProcAddress(hPK11, "C_" + "GetAttribu" + "teValue"); if (sym == NULL) return (CKR_SYMBOL_RESOLUTION_FAILED); return (*sym)(hSession, hObject, pTemplate, usCount); } CK_RV -pkcs_C_SetAttributeValue(CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG usCount) +pkcs_C_SetAttributeValue(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, + CK_ATTRIBUTE_PTR pTemplate, CK_ULONG usCount) { static CK_C_SetAttributeValue sym = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_FAILED_TO_LOAD); if (sym == NULL) - sym = (CK_C_SetAttributeValue)GetProcAddress(hPK11, - "C_SetAttributeValue"); + sym = (CK_C_SetAttributeValue)GetProcAddress(hPK11, "C_" + "SetAttribu" + "teValue"); if (sym == NULL) return (CKR_SYMBOL_RESOLUTION_FAILED); return (*sym)(hSession, hObject, pTemplate, usCount); } CK_RV -pkcs_C_FindObjectsInit(CK_SESSION_HANDLE hSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG usCount) +pkcs_C_FindObjectsInit(CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, + CK_ULONG usCount) { static CK_C_FindObjectsInit sym = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_FAILED_TO_LOAD); if (sym == NULL) - sym = (CK_C_FindObjectsInit)GetProcAddress(hPK11, - "C_FindObjectsInit"); + sym = (CK_C_FindObjectsInit)GetProcAddress(hPK11, "C_" + "FindObjectsI" + "nit"); if (sym == NULL) return (CKR_SYMBOL_RESOLUTION_FAILED); return (*sym)(hSession, pTemplate, usCount); } CK_RV -pkcs_C_FindObjects(CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE_PTR phObject, - CK_ULONG usMaxObjectCount, - CK_ULONG_PTR pusObjectCount) +pkcs_C_FindObjects(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE_PTR phObject, + CK_ULONG usMaxObjectCount, CK_ULONG_PTR pusObjectCount) { static CK_C_FindObjects sym = NULL; @@ -337,22 +332,23 @@ pkcs_C_FindObjects(CK_SESSION_HANDLE hSession, } CK_RV -pkcs_C_FindObjectsFinal(CK_SESSION_HANDLE hSession) { +pkcs_C_FindObjectsFinal(CK_SESSION_HANDLE hSession) +{ static CK_C_FindObjectsFinal sym = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_FAILED_TO_LOAD); if (sym == NULL) - sym = (CK_C_FindObjectsFinal)GetProcAddress(hPK11, - "C_FindObjectsFinal"); + sym = (CK_C_FindObjectsFinal)GetProcAddress(hPK11, "C_" + "FindObjects" + "Final"); if (sym == NULL) return (CKR_SYMBOL_RESOLUTION_FAILED); return (*sym)(hSession); } CK_RV -pkcs_C_EncryptInit(CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, +pkcs_C_EncryptInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey) { static CK_C_EncryptInit sym = NULL; @@ -367,10 +363,8 @@ pkcs_C_EncryptInit(CK_SESSION_HANDLE hSession, } CK_RV -pkcs_C_Encrypt(CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pEncryptedData, +pkcs_C_Encrypt(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, + CK_ULONG ulDataLen, CK_BYTE_PTR pEncryptedData, CK_ULONG_PTR pulEncryptedDataLen) { static CK_C_Encrypt sym = NULL; @@ -381,13 +375,12 @@ pkcs_C_Encrypt(CK_SESSION_HANDLE hSession, sym = (CK_C_Encrypt)GetProcAddress(hPK11, "C_Encrypt"); if (sym == NULL) return (CKR_SYMBOL_RESOLUTION_FAILED); - return (*sym)(hSession, pData, ulDataLen, - pEncryptedData, pulEncryptedDataLen); + return (*sym)(hSession, pData, ulDataLen, pEncryptedData, + pulEncryptedDataLen); } CK_RV -pkcs_C_DigestInit(CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism) +pkcs_C_DigestInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism) { static CK_C_DigestInit sym = NULL; @@ -401,26 +394,24 @@ pkcs_C_DigestInit(CK_SESSION_HANDLE hSession, } CK_RV -pkcs_C_DigestUpdate(CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen) +pkcs_C_DigestUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, + CK_ULONG ulPartLen) { static CK_C_DigestUpdate sym = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_FAILED_TO_LOAD); if (sym == NULL) - sym = (CK_C_DigestUpdate)GetProcAddress(hPK11, - "C_DigestUpdate"); + sym = (CK_C_DigestUpdate)GetProcAddress(hPK11, "C_" + "DigestUpdate"); if (sym == NULL) return (CKR_SYMBOL_RESOLUTION_FAILED); return (*sym)(hSession, pPart, ulPartLen); } CK_RV -pkcs_C_DigestFinal(CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pDigest, - CK_ULONG_PTR pulDigestLen) +pkcs_C_DigestFinal(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pDigest, + CK_ULONG_PTR pulDigestLen) { static CK_C_DigestFinal sym = NULL; @@ -434,9 +425,8 @@ pkcs_C_DigestFinal(CK_SESSION_HANDLE hSession, } CK_RV -pkcs_C_SignInit(CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey) +pkcs_C_SignInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, + CK_OBJECT_HANDLE hKey) { static CK_C_SignInit sym = NULL; @@ -450,11 +440,8 @@ pkcs_C_SignInit(CK_SESSION_HANDLE hSession, } CK_RV -pkcs_C_Sign(CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen) +pkcs_C_Sign(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, + CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen) { static CK_C_Sign sym = NULL; @@ -468,9 +455,8 @@ pkcs_C_Sign(CK_SESSION_HANDLE hSession, } CK_RV -pkcs_C_SignUpdate(CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen) +pkcs_C_SignUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, + CK_ULONG ulPartLen) { static CK_C_SignUpdate sym = NULL; @@ -484,9 +470,8 @@ pkcs_C_SignUpdate(CK_SESSION_HANDLE hSession, } CK_RV -pkcs_C_SignFinal(CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen) +pkcs_C_SignFinal(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, + CK_ULONG_PTR pulSignatureLen) { static CK_C_SignFinal sym = NULL; @@ -500,9 +485,8 @@ pkcs_C_SignFinal(CK_SESSION_HANDLE hSession, } CK_RV -pkcs_C_VerifyInit(CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey) +pkcs_C_VerifyInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, + CK_OBJECT_HANDLE hKey) { static CK_C_VerifyInit sym = NULL; @@ -516,11 +500,8 @@ pkcs_C_VerifyInit(CK_SESSION_HANDLE hSession, } CK_RV -pkcs_C_Verify(CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen) +pkcs_C_Verify(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, + CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen) { static CK_C_Verify sym = NULL; @@ -534,26 +515,24 @@ pkcs_C_Verify(CK_SESSION_HANDLE hSession, } CK_RV -pkcs_C_VerifyUpdate(CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen) +pkcs_C_VerifyUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, + CK_ULONG ulPartLen) { static CK_C_VerifyUpdate sym = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_FAILED_TO_LOAD); if (sym == NULL) - sym = (CK_C_VerifyUpdate)GetProcAddress(hPK11, - "C_VerifyUpdate"); + sym = (CK_C_VerifyUpdate)GetProcAddress(hPK11, "C_" + "VerifyUpdate"); if (sym == NULL) return (CKR_SYMBOL_RESOLUTION_FAILED); return (*sym)(hSession, pPart, ulPartLen); } CK_RV -pkcs_C_VerifyFinal(CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen) +pkcs_C_VerifyFinal(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, + CK_ULONG ulSignatureLen) { static CK_C_VerifyFinal sym = NULL; @@ -567,11 +546,9 @@ pkcs_C_VerifyFinal(CK_SESSION_HANDLE hSession, } CK_RV -pkcs_C_GenerateKey(CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phKey) +pkcs_C_GenerateKey(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, + CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, + CK_OBJECT_HANDLE_PTR phKey) { static CK_C_GenerateKey sym = NULL; @@ -585,41 +562,33 @@ pkcs_C_GenerateKey(CK_SESSION_HANDLE hSession, } CK_RV -pkcs_C_GenerateKeyPair(CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_ATTRIBUTE_PTR pPublicKeyTemplate, - CK_ULONG usPublicKeyAttributeCount, - CK_ATTRIBUTE_PTR pPrivateKeyTemplate, - CK_ULONG usPrivateKeyAttributeCount, - CK_OBJECT_HANDLE_PTR phPrivateKey, - CK_OBJECT_HANDLE_PTR phPublicKey) +pkcs_C_GenerateKeyPair(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, + CK_ATTRIBUTE_PTR pPublicKeyTemplate, + CK_ULONG usPublicKeyAttributeCount, + CK_ATTRIBUTE_PTR pPrivateKeyTemplate, + CK_ULONG usPrivateKeyAttributeCount, + CK_OBJECT_HANDLE_PTR phPrivateKey, + CK_OBJECT_HANDLE_PTR phPublicKey) { static CK_C_GenerateKeyPair sym = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_FAILED_TO_LOAD); if (sym == NULL) - sym = (CK_C_GenerateKeyPair)GetProcAddress(hPK11, - "C_GenerateKeyPair"); + sym = (CK_C_GenerateKeyPair)GetProcAddress(hPK11, "C_" + "GenerateKeyP" + "air"); if (sym == NULL) return (CKR_SYMBOL_RESOLUTION_FAILED); - return (*sym)(hSession, - pMechanism, - pPublicKeyTemplate, - usPublicKeyAttributeCount, - pPrivateKeyTemplate, - usPrivateKeyAttributeCount, - phPrivateKey, - phPublicKey); + return (*sym)(hSession, pMechanism, pPublicKeyTemplate, + usPublicKeyAttributeCount, pPrivateKeyTemplate, + usPrivateKeyAttributeCount, phPrivateKey, phPublicKey); } CK_RV -pkcs_C_DeriveKey(CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hBaseKey, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_OBJECT_HANDLE_PTR phKey) +pkcs_C_DeriveKey(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, + CK_OBJECT_HANDLE hBaseKey, CK_ATTRIBUTE_PTR pTemplate, + CK_ULONG ulAttributeCount, CK_OBJECT_HANDLE_PTR phKey) { static CK_C_DeriveKey sym = NULL; @@ -629,18 +598,13 @@ pkcs_C_DeriveKey(CK_SESSION_HANDLE hSession, sym = (CK_C_DeriveKey)GetProcAddress(hPK11, "C_DeriveKey"); if (sym == NULL) return (CKR_SYMBOL_RESOLUTION_FAILED); - return (*sym)(hSession, - pMechanism, - hBaseKey, - pTemplate, - ulAttributeCount, - phKey); + return (*sym)(hSession, pMechanism, hBaseKey, pTemplate, + ulAttributeCount, phKey); } CK_RV -pkcs_C_SeedRandom(CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSeed, - CK_ULONG ulSeedLen) +pkcs_C_SeedRandom(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSeed, + CK_ULONG ulSeedLen) { static CK_C_SeedRandom sym = NULL; @@ -654,17 +618,17 @@ pkcs_C_SeedRandom(CK_SESSION_HANDLE hSession, } CK_RV -pkcs_C_GenerateRandom(CK_SESSION_HANDLE hSession, - CK_BYTE_PTR RandomData, - CK_ULONG ulRandomLen) +pkcs_C_GenerateRandom(CK_SESSION_HANDLE hSession, CK_BYTE_PTR RandomData, + CK_ULONG ulRandomLen) { static CK_C_GenerateRandom sym = NULL; if (hPK11 == NULL) return (CKR_LIBRARY_FAILED_TO_LOAD); if (sym == NULL) - sym = (CK_C_GenerateRandom)GetProcAddress(hPK11, - "C_GenerateRandom"); + sym = (CK_C_GenerateRandom)GetProcAddress(hPK11, "C_" + "GenerateRando" + "m"); if (sym == NULL) return (CKR_SYMBOL_RESOLUTION_FAILED); return (*sym)(hSession, RandomData, ulRandomLen); diff --git a/lib/isc/win32/resource.c b/lib/isc/win32/resource.c index 528a43de1e..6c09821839 100644 --- a/lib/isc/win32/resource.c +++ b/lib/isc/win32/resource.c @@ -22,23 +22,23 @@ * Windows limits the maximum number of open files to 2048 */ -#define WIN32_MAX_OPEN_FILES 2048 +#define WIN32_MAX_OPEN_FILES 2048 isc_result_t -isc_resource_setlimit(isc_resource_t resource, isc_resourcevalue_t value) { +isc_resource_setlimit(isc_resource_t resource, isc_resourcevalue_t value) +{ isc_resourcevalue_t rlim_value; - int wresult; + int wresult; if (resource != isc_resource_openfiles) return (ISC_R_NOTIMPLEMENTED); - if (value == ISC_RESOURCE_UNLIMITED) rlim_value = WIN32_MAX_OPEN_FILES; else rlim_value = min(value, WIN32_MAX_OPEN_FILES); - wresult = _setmaxstdio((int) rlim_value); + wresult = _setmaxstdio((int)rlim_value); if (wresult > 0) return (ISC_R_SUCCESS); @@ -47,8 +47,8 @@ isc_resource_setlimit(isc_resource_t resource, isc_resourcevalue_t value) { } isc_result_t -isc_resource_getlimit(isc_resource_t resource, isc_resourcevalue_t *value) { - +isc_resource_getlimit(isc_resource_t resource, isc_resourcevalue_t *value) +{ if (resource != isc_resource_openfiles) return (ISC_R_NOTIMPLEMENTED); @@ -57,6 +57,7 @@ isc_resource_getlimit(isc_resource_t resource, isc_resourcevalue_t *value) { } isc_result_t -isc_resource_getcurlimit(isc_resource_t resource, isc_resourcevalue_t *value) { +isc_resource_getcurlimit(isc_resource_t resource, isc_resourcevalue_t *value) +{ return (isc_resource_getlimit(resource, value)); } diff --git a/lib/isc/win32/socket.c b/lib/isc/win32/socket.c index 95ee49d845..2817ead3a2 100644 --- a/lib/isc/win32/socket.c +++ b/lib/isc/win32/socket.c @@ -29,19 +29,19 @@ #include #ifndef _WINSOCKAPI_ -#define _WINSOCKAPI_ /* Prevent inclusion of winsock.h in windows.h */ +#define _WINSOCKAPI_ /* Prevent inclusion of winsock.h in windows.h */ #endif #include +#include +#include +#include +#include #include #include -#include #include #include #include -#include -#include -#include #include #include @@ -67,7 +67,10 @@ #include #include +/* clang-format off */ +/* U Can't Touch This */ #include +/* clang-format on */ #ifdef HAVE_JSON_C #include @@ -93,8 +96,8 @@ LIBISC_EXTERNAL_DATA int isc_dscp_check_value = -1; * no library exports this function. Instead, we need to * issue a runtime call to get the address. */ -LPFN_CONNECTEX ISCConnectEx; -LPFN_ACCEPTEX ISCAcceptEx; +LPFN_CONNECTEX ISCConnectEx; +LPFN_ACCEPTEX ISCAcceptEx; LPFN_GETACCEPTEXSOCKADDRS ISCGetAcceptExSockaddrs; /* @@ -103,9 +106,12 @@ LPFN_GETACCEPTEXSOCKADDRS ISCGetAcceptExSockaddrs; #ifdef ISC_SOCKET_CONSISTENCY_CHECKS #define CONSISTENT(sock) consistent(sock) #else -#define CONSISTENT(sock) do {} while (0) +#define CONSISTENT(sock) \ + do { \ + } while (0) #endif -static void consistent(isc_socket_t *sock); +static void +consistent(isc_socket_t *sock); /* * Define this macro to control the behavior of connection @@ -115,19 +121,16 @@ static void consistent(isc_socket_t *sock); * or later. */ #ifndef SIO_UDP_CONNRESET -#define SIO_UDP_CONNRESET _WSAIOW(IOC_VENDOR,12) +#define SIO_UDP_CONNRESET _WSAIOW(IOC_VENDOR, 12) #endif /* * Define what the possible "soft" errors can be. These are non-fatal returns * of various network related functions, like recv() and so on. */ -#define SOFT_ERROR(e) ((e) == WSAEINTR || \ - (e) == WSAEWOULDBLOCK || \ - (e) == EWOULDBLOCK || \ - (e) == EINTR || \ - (e) == EAGAIN || \ - (e) == 0) +#define SOFT_ERROR(e) \ + ((e) == WSAEINTR || (e) == WSAEWOULDBLOCK || (e) == EWOULDBLOCK || \ + (e) == EINTR || (e) == EAGAIN || (e) == 0) /* * Pending errors are not really errors and should be @@ -135,12 +138,14 @@ static void consistent(isc_socket_t *sock); */ #define PENDING_ERROR(e) ((e) == WSA_IO_PENDING || (e) == 0) -#define DOIO_SUCCESS 0 /* i/o ok, event sent */ -#define DOIO_SOFT 1 /* i/o ok, soft error, no event sent */ -#define DOIO_HARD 2 /* i/o error, event sent */ -#define DOIO_EOF 3 /* EOF, no event sent */ -#define DOIO_PENDING 4 /* status when i/o is in process */ -#define DOIO_NEEDMORE 5 /* IO was processed, but we need more due to minimum */ +#define DOIO_SUCCESS 0 /* i/o ok, event sent */ +#define DOIO_SOFT 1 /* i/o ok, soft error, no event sent */ +#define DOIO_HARD 2 /* i/o error, event sent */ +#define DOIO_EOF 3 /* EOF, no event sent */ +#define DOIO_PENDING 4 /* status when i/o is in process */ +#define DOIO_NEEDMORE \ + 5 /* IO was processed, but we need more due to minimum \ + */ #define DLVL(x) ISC_LOGCATEGORY_GENERAL, ISC_LOGMODULE_SOCKET, ISC_LOG_DEBUG(x) @@ -151,35 +156,34 @@ static void consistent(isc_socket_t *sock); * DLVL(50) -- Event tracing, including receiving/sending completion events. * DLVL(20) -- Socket creation/destruction. */ -#define TRACE_LEVEL 90 -#define CORRECTNESS_LEVEL 70 -#define IOEVENT_LEVEL 60 -#define EVENT_LEVEL 50 -#define CREATION_LEVEL 20 +#define TRACE_LEVEL 90 +#define CORRECTNESS_LEVEL 70 +#define IOEVENT_LEVEL 60 +#define EVENT_LEVEL 50 +#define CREATION_LEVEL 20 -#define TRACE DLVL(TRACE_LEVEL) -#define CORRECTNESS DLVL(CORRECTNESS_LEVEL) -#define IOEVENT DLVL(IOEVENT_LEVEL) -#define EVENT DLVL(EVENT_LEVEL) -#define CREATION DLVL(CREATION_LEVEL) +#define TRACE DLVL(TRACE_LEVEL) +#define CORRECTNESS DLVL(CORRECTNESS_LEVEL) +#define IOEVENT DLVL(IOEVENT_LEVEL) +#define EVENT DLVL(EVENT_LEVEL) +#define CREATION DLVL(CREATION_LEVEL) typedef isc_event_t intev_t; /* * Socket State */ -enum { - SOCK_INITIALIZED, /* Socket Initialized */ - SOCK_OPEN, /* Socket opened but nothing yet to do */ - SOCK_DATA, /* Socket sending or receiving data */ - SOCK_LISTEN, /* TCP Socket listening for connects */ - SOCK_ACCEPT, /* TCP socket is waiting to accept */ - SOCK_CONNECT, /* TCP Socket connecting */ - SOCK_CLOSED, /* Socket has been closed */ +enum { SOCK_INITIALIZED, /* Socket Initialized */ + SOCK_OPEN, /* Socket opened but nothing yet to do */ + SOCK_DATA, /* Socket sending or receiving data */ + SOCK_LISTEN, /* TCP Socket listening for connects */ + SOCK_ACCEPT, /* TCP socket is waiting to accept */ + SOCK_CONNECT, /* TCP Socket connecting */ + SOCK_CLOSED, /* Socket has been closed */ }; -#define SOCKET_MAGIC ISC_MAGIC('I', 'O', 'i', 'o') -#define VALID_SOCKET(t) ISC_MAGIC_VALID(t, SOCKET_MAGIC) +#define SOCKET_MAGIC ISC_MAGIC('I', 'O', 'i', 'o') +#define VALID_SOCKET(t) ISC_MAGIC_VALID(t, SOCKET_MAGIC) /* * IPv6 control information. If the socket is an IPv6 socket we want @@ -187,7 +191,7 @@ enum { * set them on outgoing packets. */ #ifndef USE_CMSG -#define USE_CMSG 1 +#define USE_CMSG 1 #endif /* @@ -201,19 +205,19 @@ enum { * Used value-result for recvmsg, value only for sendmsg. */ struct msghdr { - SOCKADDR_STORAGE to_addr; /* UDP send/recv address */ - int to_addr_len; /* length of the address */ - WSABUF *msg_iov; /* scatter/gather array */ - u_int msg_iovlen; /* # elements in msg_iov */ - void *msg_control; /* ancillary data, see below */ - u_int msg_controllen; /* ancillary data buffer len */ - u_int msg_totallen; /* total length of this message */ + SOCKADDR_STORAGE to_addr; /* UDP send/recv address */ + int to_addr_len; /* length of the address */ + WSABUF * msg_iov; /* scatter/gather array */ + u_int msg_iovlen; /* # elements in msg_iov */ + void * msg_control; /* ancillary data, see below */ + u_int msg_controllen; /* ancillary data buffer len */ + u_int msg_totallen; /* total length of this message */ } msghdr; /* * The size to raise the receive buffer to. */ -#define RCVBUFSIZE (32*1024) +#define RCVBUFSIZE (32 * 1024) /* * The number of times a send operation is repeated if the result @@ -223,21 +227,21 @@ struct msghdr { struct isc_socket { /* Not locked. */ - unsigned int magic; - isc_socketmgr_t *manager; - isc_mutex_t lock; - isc_sockettype_t type; + unsigned int magic; + isc_socketmgr_t *manager; + isc_mutex_t lock; + isc_sockettype_t type; /* Pointers to scatter/gather buffers */ - WSABUF iov[ISC_SOCKET_MAXSCATTERGATHER]; + WSABUF iov[ISC_SOCKET_MAXSCATTERGATHER]; /* Locked by socket lock. */ - ISC_LINK(isc_socket_t) link; - isc_refcount_t references; /* EXTERNAL references */ - SOCKET fd; /* file handle */ - int pf; /* protocol family */ - char name[16]; - void * tag; + ISC_LINK(isc_socket_t) link; + isc_refcount_t references; /* EXTERNAL references */ + SOCKET fd; /* file handle */ + int pf; /* protocol family */ + char name[16]; + void * tag; /* * Each recv() call uses this buffer. It is a per-socket receive @@ -247,36 +251,39 @@ struct isc_socket { * calls. It also allows us to read-ahead in some cases. */ struct { - SOCKADDR_STORAGE from_addr; // UDP send/recv address - int from_addr_len; // length of the address - char *base; // the base of the buffer - char *consume_position; // where to start copying data from next - unsigned int len; // the actual size of this buffer - unsigned int remaining; // the number of bytes remaining + SOCKADDR_STORAGE from_addr; // UDP send/recv address + int from_addr_len; // length of the address + char * base; // the base of the buffer + char *consume_position; // where to start copying data from next + unsigned int len; // the actual size of this buffer + unsigned int remaining; // the number of bytes remaining } recvbuf; - ISC_LIST(isc_socketevent_t) send_list; - ISC_LIST(isc_socketevent_t) recv_list; - ISC_LIST(isc_socket_newconnev_t) accept_list; - ISC_LIST(isc_socket_connev_t) connect_list; + ISC_LIST(isc_socketevent_t) send_list; + ISC_LIST(isc_socketevent_t) recv_list; + ISC_LIST(isc_socket_newconnev_t) accept_list; + ISC_LIST(isc_socket_connev_t) connect_list; - isc_sockaddr_t address; /* remote address */ + isc_sockaddr_t address; /* remote address */ - unsigned int listener : 1, /* listener socket */ - connected : 1, - pending_connect : 1, /* connect pending */ - bound : 1, /* bound to local addr */ - dupped : 1; /* created by isc_socket_dup() */ - unsigned int pending_iocp; /* Should equal the counters below. Debug. */ - unsigned int pending_recv; /* Number of outstanding recv() calls. */ - unsigned int pending_send; /* Number of outstanding send() calls. */ - unsigned int pending_accept; /* Number of outstanding accept() calls. */ - unsigned int state; /* Socket state. Debugging and consistency checking. */ - int state_lineno; /* line which last touched state */ + unsigned int listener : 1, /* listener socket */ + connected : 1, pending_connect : 1, /* connect pending */ + bound : 1, /* bound to local addr */ + dupped : 1; /* created by isc_socket_dup() */ + unsigned int pending_iocp; /* Should equal the counters below. Debug. */ + unsigned int pending_recv; /* Number of outstanding recv() calls. */ + unsigned int pending_send; /* Number of outstanding send() calls. */ + unsigned int pending_accept; /* Number of outstanding accept() calls. */ + unsigned int state; /* Socket state. Debugging and consistency checking. + */ + int state_lineno; /* line which last touched state */ }; -#define _set_state(sock, _state) do { (sock)->state = (_state); (sock)->state_lineno = __LINE__; } while (0) - +#define _set_state(sock, _state) \ + do { \ + (sock)->state = (_state); \ + (sock)->state_lineno = __LINE__; \ + } while (0) /* * I/O Completion ports Info structures @@ -285,14 +292,14 @@ struct isc_socket { static HANDLE hHeapHandle = NULL; typedef struct IoCompletionInfo { OVERLAPPED overlapped; - isc_socketevent_t *dev; /* send()/recv() done event */ - isc_socket_connev_t *cdev; /* connect() done event */ - isc_socket_newconnev_t *adev; /* accept() done event */ - void *acceptbuffer; + isc_socketevent_t * dev; /* send()/recv() done event */ + isc_socket_connev_t * cdev; /* connect() done event */ + isc_socket_newconnev_t *adev; /* accept() done event */ + void * acceptbuffer; DWORD received_bytes; int request_type; struct msghdr messagehdr; - void *buf; + void * buf; unsigned int buflen; } IoCompletionInfo; @@ -303,65 +310,74 @@ typedef struct IoCompletionInfo { */ #define MAX_IOCPTHREADS 20 -#define SOCKET_MANAGER_MAGIC ISC_MAGIC('I', 'O', 'm', 'g') -#define VALID_MANAGER(m) ISC_MAGIC_VALID(m, SOCKET_MANAGER_MAGIC) +#define SOCKET_MANAGER_MAGIC ISC_MAGIC('I', 'O', 'm', 'g') +#define VALID_MANAGER(m) ISC_MAGIC_VALID(m, SOCKET_MANAGER_MAGIC) struct isc_socketmgr { /* Not locked. */ - unsigned int magic; - isc_mem_t *mctx; - isc_mutex_t lock; - isc_stats_t *stats; + unsigned int magic; + isc_mem_t * mctx; + isc_mutex_t lock; + isc_stats_t *stats; /* Locked by manager lock. */ - ISC_LIST(isc_socket_t) socklist; - bool bShutdown; - isc_condition_t shutdown_ok; - HANDLE hIoCompletionPort; - int maxIOCPThreads; - HANDLE hIOCPThreads[MAX_IOCPTHREADS]; - DWORD dwIOCPThreadIds[MAX_IOCPTHREADS]; - size_t maxudp; + ISC_LIST(isc_socket_t) socklist; + bool bShutdown; + isc_condition_t shutdown_ok; + HANDLE hIoCompletionPort; + int maxIOCPThreads; + HANDLE hIOCPThreads[MAX_IOCPTHREADS]; + DWORD dwIOCPThreadIds[MAX_IOCPTHREADS]; + size_t maxudp; /* * Debugging. * Modified by InterlockedIncrement() and InterlockedDecrement() */ - LONG totalSockets; - LONG iocp_total; + LONG totalSockets; + LONG iocp_total; }; -enum { - SOCKET_RECV, - SOCKET_SEND, - SOCKET_ACCEPT, - SOCKET_CONNECT -}; +enum { SOCKET_RECV, SOCKET_SEND, SOCKET_ACCEPT, SOCKET_CONNECT }; /* * send() and recv() iovec counts */ -#define MAXSCATTERGATHER_SEND (ISC_SOCKET_MAXSCATTERGATHER) -#define MAXSCATTERGATHER_RECV (ISC_SOCKET_MAXSCATTERGATHER) +#define MAXSCATTERGATHER_SEND (ISC_SOCKET_MAXSCATTERGATHER) +#define MAXSCATTERGATHER_RECV (ISC_SOCKET_MAXSCATTERGATHER) -static isc_result_t socket_create(isc_socketmgr_t *manager0, int pf, - isc_sockettype_t type, - isc_socket_t **socketp, - isc_socket_t *dup_socket); -static isc_threadresult_t WINAPI SocketIoThread(LPVOID ThreadContext); -static void maybe_free_socket(isc_socket_t **, int); -static void free_socket(isc_socket_t **, int); -static bool senddone_is_active(isc_socket_t *sock, isc_socketevent_t *dev); -static bool acceptdone_is_active(isc_socket_t *sock, isc_socket_newconnev_t *dev); -static bool connectdone_is_active(isc_socket_t *sock, isc_socket_connev_t *dev); -static void send_recvdone_event(isc_socket_t *sock, isc_socketevent_t **dev); -static void send_senddone_event(isc_socket_t *sock, isc_socketevent_t **dev); -static void send_acceptdone_event(isc_socket_t *sock, isc_socket_newconnev_t **adev); -static void send_connectdone_event(isc_socket_t *sock, isc_socket_connev_t **cdev); -static void send_recvdone_abort(isc_socket_t *sock, isc_result_t result); -static void send_connectdone_abort(isc_socket_t *sock, isc_result_t result); -static void queue_receive_event(isc_socket_t *sock, isc_task_t *task, isc_socketevent_t *dev); -static void queue_receive_request(isc_socket_t *sock); +static isc_result_t +socket_create(isc_socketmgr_t *manager0, int pf, isc_sockettype_t type, + isc_socket_t **socketp, isc_socket_t *dup_socket); +static isc_threadresult_t WINAPI +SocketIoThread(LPVOID ThreadContext); +static void +maybe_free_socket(isc_socket_t **, int); +static void +free_socket(isc_socket_t **, int); +static bool +senddone_is_active(isc_socket_t *sock, isc_socketevent_t *dev); +static bool +acceptdone_is_active(isc_socket_t *sock, isc_socket_newconnev_t *dev); +static bool +connectdone_is_active(isc_socket_t *sock, isc_socket_connev_t *dev); +static void +send_recvdone_event(isc_socket_t *sock, isc_socketevent_t **dev); +static void +send_senddone_event(isc_socket_t *sock, isc_socketevent_t **dev); +static void +send_acceptdone_event(isc_socket_t *sock, isc_socket_newconnev_t **adev); +static void +send_connectdone_event(isc_socket_t *sock, isc_socket_connev_t **cdev); +static void +send_recvdone_abort(isc_socket_t *sock, isc_result_t result); +static void +send_connectdone_abort(isc_socket_t *sock, isc_result_t result); +static void +queue_receive_event(isc_socket_t *sock, isc_task_t *task, + isc_socketevent_t *dev); +static void +queue_receive_request(isc_socket_t *sock); /* * This is used to dump the contents of the sock structure @@ -370,10 +386,11 @@ static void queue_receive_request(isc_socket_t *sock); * it should only be used interactively. */ void -sock_dump(isc_socket_t *sock) { - isc_socketevent_t *ldev; +sock_dump(isc_socket_t *sock) +{ + isc_socketevent_t * ldev; isc_socket_newconnev_t *ndev; - isc_socket_connev_t *cdev; + isc_socket_connev_t * cdev; #if 0 isc_sockaddr_t addr; @@ -441,15 +458,16 @@ socket_log(int lineno, isc_socket_t *sock, const isc_sockaddr_t *address, * that will signal the I/O thread to exit (gracefully) */ static void -signal_iocompletionport_exit(isc_socketmgr_t *manager) { - int i; - int errval; +signal_iocompletionport_exit(isc_socketmgr_t *manager) +{ + int i; + int errval; char strbuf[ISC_STRERRORSIZE]; REQUIRE(VALID_MANAGER(manager)); for (i = 0; i < manager->maxIOCPThreads; i++) { - if (!PostQueuedCompletionStatus(manager->hIoCompletionPort, - 0, 0, 0)) { + if (!PostQueuedCompletionStatus(manager->hIoCompletionPort, 0, + 0, 0)) { errval = GetLastError(); strerror_r(errval, strbuf, sizeof(strbuf)); FATAL_ERROR(__FILE__, __LINE__, @@ -463,10 +481,11 @@ signal_iocompletionport_exit(isc_socketmgr_t *manager) { * Create the worker threads for the I/O Completion Port */ void -iocompletionport_createthreads(int total_threads, isc_socketmgr_t *manager) { - int errval; +iocompletionport_createthreads(int total_threads, isc_socketmgr_t *manager) +{ + int errval; char strbuf[ISC_STRERRORSIZE]; - int i; + int i; INSIST(total_threads > 0); REQUIRE(VALID_MANAGER(manager)); @@ -474,15 +493,14 @@ iocompletionport_createthreads(int total_threads, isc_socketmgr_t *manager) { * We need at least one */ for (i = 0; i < total_threads; i++) { - manager->hIOCPThreads[i] = CreateThread(NULL, 0, SocketIoThread, - manager, 0, - &manager->dwIOCPThreadIds[i]); + manager->hIOCPThreads[i] = + CreateThread(NULL, 0, SocketIoThread, manager, 0, + &manager->dwIOCPThreadIds[i]); if (manager->hIOCPThreads[i] == NULL) { errval = GetLastError(); strerror_r(errval, strbuf, sizeof(strbuf)); FATAL_ERROR(__FILE__, __LINE__, - "Can't create IOCP thread: %s", - strbuf); + "Can't create IOCP thread: %s", strbuf); } } } @@ -491,8 +509,9 @@ iocompletionport_createthreads(int total_threads, isc_socketmgr_t *manager) { * Create/initialise the I/O completion port */ void -iocompletionport_init(isc_socketmgr_t *manager) { - int errval; +iocompletionport_init(isc_socketmgr_t *manager) +{ + int errval; char strbuf[ISC_STRERRORSIZE]; REQUIRE(VALID_MANAGER(manager)); @@ -511,14 +530,14 @@ iocompletionport_init(isc_socketmgr_t *manager) { /* Now Create the Completion Port */ manager->hIoCompletionPort = CreateIoCompletionPort( - INVALID_HANDLE_VALUE, NULL, - 0, manager->maxIOCPThreads); + INVALID_HANDLE_VALUE, NULL, 0, manager->maxIOCPThreads); if (manager->hIoCompletionPort == NULL) { errval = GetLastError(); strerror_r(errval, strbuf, sizeof(strbuf)); FATAL_ERROR(__FILE__, __LINE__, - "CreateIoCompletionPort() failed during initialization: %s", - strbuf); + "CreateIoCompletionPort() failed during " + "initialization: %s", + strbuf); } /* @@ -528,26 +547,28 @@ iocompletionport_init(isc_socketmgr_t *manager) { } /* - * Associate a socket with an IO Completion Port. This allows us to queue events for it - * and have our worker pool of threads process them. + * Associate a socket with an IO Completion Port. This allows us to queue + * events for it and have our worker pool of threads process them. */ void -iocompletionport_update(isc_socket_t *sock) { +iocompletionport_update(isc_socket_t *sock) +{ HANDLE hiocp; - char strbuf[ISC_STRERRORSIZE]; + char strbuf[ISC_STRERRORSIZE]; REQUIRE(VALID_SOCKET(sock)); hiocp = CreateIoCompletionPort((HANDLE)sock->fd, - sock->manager->hIoCompletionPort, (ULONG_PTR)sock, 0); + sock->manager->hIoCompletionPort, + (ULONG_PTR)sock, 0); if (hiocp == NULL) { DWORD errval = GetLastError(); strerror_r(errval, strbuf, sizeof(strbuf)); - isc_log_write(isc_lctx, - ISC_LOGCATEGORY_GENERAL, + isc_log_write(isc_lctx, ISC_LOGCATEGORY_GENERAL, ISC_LOGMODULE_SOCKET, ISC_LOG_ERROR, - "iocompletionport_update: failed to open io completion port: %s", + "iocompletionport_update: failed to open io " + "completion port: %s", strbuf); /* XXXMLG temporary hack to make failures detected. @@ -555,7 +576,8 @@ iocompletionport_update(isc_socket_t *sock) { * exit here. */ FATAL_ERROR(__FILE__, __LINE__, - "CreateIoCompletionPort() failed during initialization: %s", + "CreateIoCompletionPort() failed during " + "initialization: %s", strbuf); } @@ -571,8 +593,8 @@ iocompletionport_update(isc_socket_t *sock) { * The socket is locked before calling this function */ void -socket_close(isc_socket_t *sock) { - +socket_close(isc_socket_t *sock) +{ REQUIRE(sock != NULL); if (sock->fd != INVALID_SOCKET) { @@ -584,18 +606,19 @@ socket_close(isc_socket_t *sock) { } static isc_once_t initialise_once = ISC_ONCE_INIT; -static bool initialised = false; +static bool initialised = false; static void -initialise(void) { - WORD wVersionRequested; +initialise(void) +{ + WORD wVersionRequested; WSADATA wsaData; - int err; - SOCKET sock; - GUID GUIDConnectEx = WSAID_CONNECTEX; - GUID GUIDAcceptEx = WSAID_ACCEPTEX; - GUID GUIDGetAcceptExSockaddrs = WSAID_GETACCEPTEXSOCKADDRS; - DWORD dwBytes; + int err; + SOCKET sock; + GUID GUIDConnectEx = WSAID_CONNECTEX; + GUID GUIDAcceptEx = WSAID_ACCEPTEX; + GUID GUIDGetAcceptExSockaddrs = WSAID_GETACCEPTEXSOCKADDRS; + DWORD dwBytes; /* Need Winsock 2.2 or better */ wVersionRequested = MAKEWORD(2, 2); @@ -615,22 +638,21 @@ initialise(void) { */ sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); INSIST(sock != INVALID_SOCKET); - err = WSAIoctl(sock, SIO_GET_EXTENSION_FUNCTION_POINTER, - &GUIDConnectEx, sizeof(GUIDConnectEx), - &ISCConnectEx, sizeof(ISCConnectEx), - &dwBytes, NULL, NULL); + err = WSAIoctl(sock, SIO_GET_EXTENSION_FUNCTION_POINTER, &GUIDConnectEx, + sizeof(GUIDConnectEx), &ISCConnectEx, + sizeof(ISCConnectEx), &dwBytes, NULL, NULL); INSIST(err == 0); - err = WSAIoctl(sock, SIO_GET_EXTENSION_FUNCTION_POINTER, - &GUIDAcceptEx, sizeof(GUIDAcceptEx), - &ISCAcceptEx, sizeof(ISCAcceptEx), - &dwBytes, NULL, NULL); + err = WSAIoctl(sock, SIO_GET_EXTENSION_FUNCTION_POINTER, &GUIDAcceptEx, + sizeof(GUIDAcceptEx), &ISCAcceptEx, sizeof(ISCAcceptEx), + &dwBytes, NULL, NULL); INSIST(err == 0); - err = WSAIoctl(sock, SIO_GET_EXTENSION_FUNCTION_POINTER, - &GUIDGetAcceptExSockaddrs, sizeof(GUIDGetAcceptExSockaddrs), - &ISCGetAcceptExSockaddrs, sizeof(ISCGetAcceptExSockaddrs), - &dwBytes, NULL, NULL); + err = WSAIoctl(sock, SIO_GET_EXTENSION_FUNCTION_POINTER, + &GUIDGetAcceptExSockaddrs, + sizeof(GUIDGetAcceptExSockaddrs), + &ISCGetAcceptExSockaddrs, + sizeof(ISCGetAcceptExSockaddrs), &dwBytes, NULL, NULL); INSIST(err == 0); closesocket(sock); @@ -642,9 +664,10 @@ initialise(void) { * Initialize socket services */ void -InitSockets(void) { - RUNTIME_CHECK(isc_once_do(&initialise_once, - initialise) == ISC_R_SUCCESS); +InitSockets(void) +{ + RUNTIME_CHECK(isc_once_do(&initialise_once, initialise) == + ISC_R_SUCCESS); if (!initialised) exit(1); } @@ -653,17 +676,16 @@ int internal_sendmsg(isc_socket_t *sock, IoCompletionInfo *lpo, struct msghdr *messagehdr, int flags, int *Error) { - int Result; + int Result; DWORD BytesSent; DWORD Flags = flags; - int total_sent; + int total_sent; *Error = 0; Result = WSASendTo(sock->fd, messagehdr->msg_iov, - messagehdr->msg_iovlen, &BytesSent, - Flags, (SOCKADDR *)&messagehdr->to_addr, - messagehdr->to_addr_len, (LPWSAOVERLAPPED)lpo, - NULL); + messagehdr->msg_iovlen, &BytesSent, Flags, + (SOCKADDR *)&messagehdr->to_addr, + messagehdr->to_addr_len, (LPWSAOVERLAPPED)lpo, NULL); total_sent = (int)BytesSent; @@ -675,7 +697,7 @@ internal_sendmsg(isc_socket_t *sock, IoCompletionInfo *lpo, case WSA_IO_INCOMPLETE: case WSA_WAIT_IO_COMPLETION: case WSA_IO_PENDING: - case NO_ERROR: /* Strange, but okay */ + case NO_ERROR: /* Strange, but okay */ sock->pending_iocp++; sock->pending_send++; break; @@ -696,17 +718,18 @@ internal_sendmsg(isc_socket_t *sock, IoCompletionInfo *lpo, } static void -queue_receive_request(isc_socket_t *sock) { - DWORD Flags = 0; - DWORD NumBytes = 0; - int Result; - int Error; - int need_retry; - WSABUF iov[1]; +queue_receive_request(isc_socket_t *sock) +{ + DWORD Flags = 0; + DWORD NumBytes = 0; + int Result; + int Error; + int need_retry; + WSABUF iov[1]; IoCompletionInfo *lpo = NULL; - isc_result_t isc_result; + isc_result_t isc_result; - retry: +retry: need_retry = false; /* @@ -745,11 +768,10 @@ queue_receive_request(isc_socket_t *sock) { sock->recvbuf.from_addr_len = sizeof(sock->recvbuf.from_addr); Error = 0; - Result = WSARecvFrom((SOCKET)sock->fd, iov, 1, - &NumBytes, &Flags, + Result = WSARecvFrom((SOCKET)sock->fd, iov, 1, &NumBytes, &Flags, (SOCKADDR *)&sock->recvbuf.from_addr, - &sock->recvbuf.from_addr_len, - (LPWSAOVERLAPPED)lpo, NULL); + &sock->recvbuf.from_addr_len, (LPWSAOVERLAPPED)lpo, + NULL); /* Check for errors. */ if (Result == SOCKET_ERROR) { @@ -776,8 +798,9 @@ queue_receive_request(isc_socket_t *sock) { isc_result = isc__errno2result(Error); if (isc_result == ISC_R_UNEXPECTED) UNEXPECTED_ERROR(__FILE__, __LINE__, - "WSARecvFrom: Windows error code: %d, isc result %d", - Error, isc_result); + "WSARecvFrom: Windows error " + "code: %d, isc result %d", + Error, isc_result); send_recvdone_abort(sock, isc_result); HeapFree(hHeapHandle, 0, lpo); lpo = NULL; @@ -794,8 +817,8 @@ queue_receive_request(isc_socket_t *sock) { } socket_log(__LINE__, sock, NULL, IOEVENT, - "queue_io_request: fd %d result %d error %d", - sock->fd, Result, Error); + "queue_io_request: fd %d result %d error %d", sock->fd, + Result, Error); CONSISTENT(sock); @@ -807,7 +830,7 @@ static void manager_log(isc_socketmgr_t *sockmgr, isc_logcategory_t *category, isc_logmodule_t *module, int level, const char *fmt, ...) { - char msgbuf[2048]; + char msgbuf[2048]; va_list ap; if (!isc_log_wouldlog(isc_lctx, level)) @@ -817,8 +840,8 @@ manager_log(isc_socketmgr_t *sockmgr, isc_logcategory_t *category, vsnprintf(msgbuf, sizeof(msgbuf), fmt, ap); va_end(ap); - isc_log_write(isc_lctx, category, module, level, - "sockmgr %p: %s", sockmgr, msgbuf); + isc_log_write(isc_lctx, category, module, level, "sockmgr %p: %s", + sockmgr, msgbuf); } static void @@ -826,11 +849,10 @@ socket_log(int lineno, isc_socket_t *sock, const isc_sockaddr_t *address, isc_logcategory_t *category, isc_logmodule_t *module, int level, const char *fmt, ...) { - char msgbuf[2048]; - char peerbuf[256]; + char msgbuf[2048]; + char peerbuf[256]; va_list ap; - if (!isc_log_wouldlog(isc_lctx, level)) return; @@ -844,20 +866,20 @@ socket_log(int lineno, isc_socket_t *sock, const isc_sockaddr_t *address, } else { isc_sockaddr_format(address, peerbuf, sizeof(peerbuf)); isc_log_write(isc_lctx, category, module, level, - "socket %p line %d %s: %s", sock, lineno, - peerbuf, msgbuf); + "socket %p line %d %s: %s", sock, lineno, peerbuf, + msgbuf); } - } /* * Make an fd SOCKET non-blocking. */ static isc_result_t -make_nonblock(SOCKET fd) { - int ret; +make_nonblock(SOCKET fd) +{ + int ret; unsigned long flags = 1; - char strbuf[ISC_STRERRORSIZE]; + char strbuf[ISC_STRERRORSIZE]; /* Set the socket to non-blocking */ ret = ioctlsocket(fd, FIONBIO, &flags); @@ -865,8 +887,8 @@ make_nonblock(SOCKET fd) { if (ret == -1) { strerror_r(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, - "ioctlsocket(%d, FIOBIO, %d): %s", - fd, flags, strbuf); + "ioctlsocket(%d, FIOBIO, %d): %s", fd, flags, + strbuf); return (ISC_R_UNEXPECTED); } @@ -885,7 +907,8 @@ make_nonblock(SOCKET fd) { * See Microsoft Knowledge Base Article Q263823 for details of this. */ isc_result_t -connection_reset_fix(SOCKET fd) { +connection_reset_fix(SOCKET fd) +{ DWORD dwBytesReturned = 0; BOOL bNewBehavior = FALSE; DWORD status; @@ -895,13 +918,14 @@ connection_reset_fix(SOCKET fd) { /* disable bad behavior using IOCTL: SIO_UDP_CONNRESET */ status = WSAIoctl(fd, SIO_UDP_CONNRESET, &bNewBehavior, - sizeof(bNewBehavior), NULL, 0, - &dwBytesReturned, NULL, NULL); + sizeof(bNewBehavior), NULL, 0, &dwBytesReturned, NULL, + NULL); if (status != SOCKET_ERROR) return (ISC_R_SUCCESS); else { UNEXPECTED_ERROR(__FILE__, __LINE__, - "WSAIoctl(SIO_UDP_CONNRESET, oldBehaviour) failed"); + "WSAIoctl(SIO_UDP_CONNRESET, oldBehaviour) " + "failed"); return (ISC_R_UNEXPECTED); } } @@ -918,10 +942,10 @@ connection_reset_fix(SOCKET fd) { static void build_msghdr_send(isc_socket_t *sock, isc_socketevent_t *dev, struct msghdr *msg, char *cmsg, WSABUF *iov, - IoCompletionInfo *lpo) + IoCompletionInfo *lpo) { unsigned int iovcount; - size_t write_count; + size_t write_count; memset(msg, 0, sizeof(*msg)); @@ -938,10 +962,10 @@ build_msghdr_send(isc_socket_t *sock, isc_socketevent_t *dev, lpo->buf = HeapAlloc(hHeapHandle, HEAP_ZERO_MEMORY, write_count); RUNTIME_CHECK(lpo->buf != NULL); - socket_log(__LINE__, sock, NULL, TRACE, - "alloc_buffer %p %d", lpo->buf, write_count); + socket_log(__LINE__, sock, NULL, TRACE, "alloc_buffer %p %d", lpo->buf, + write_count); - memmove(lpo->buf,(dev->region.base + dev->n), write_count); + memmove(lpo->buf, (dev->region.base + dev->n), write_count); lpo->buflen = (unsigned int)write_count; iov[0].buf = lpo->buf; iov[0].len = (u_long)write_count; @@ -968,7 +992,8 @@ set_dev_address(const isc_sockaddr_t *address, isc_socket_t *sock, } static void -destroy_socketevent(isc_event_t *event) { +destroy_socketevent(isc_event_t *event) +{ isc_socketevent_t *ev = (isc_socketevent_t *)event; (ev->destroy)(event); @@ -982,10 +1007,10 @@ allocate_socketevent(isc_mem_t *mctx, isc_socket_t *sock, isc_socketevent_t *ev; ev = (isc_socketevent_t *)isc_event_allocate(mctx, sock, eventtype, - action, arg, - sizeof(*ev)); + action, arg, sizeof(*ev)); - ev->result = ISC_R_IOERROR; // XXXMLG temporary change to detect failure to set + ev->result = ISC_R_IOERROR; // XXXMLG temporary change to detect failure + // to set ISC_LINK_INIT(ev, ev_link); ev->region.base = NULL; ev->n = 0; @@ -1000,15 +1025,16 @@ allocate_socketevent(isc_mem_t *mctx, isc_socket_t *sock, #if defined(ISC_SOCKET_DEBUG) static void -dump_msg(struct msghdr *msg, isc_socket_t *sock) { +dump_msg(struct msghdr *msg, isc_socket_t *sock) +{ unsigned int i; printf("MSGHDR %p, Socket #: %Iu\n", msg, sock->fd); printf("\tname %p, namelen %d\n", msg->msg_name, msg->msg_namelen); printf("\tiov %p, iovlen %d\n", msg->msg_iov, msg->msg_iovlen); for (i = 0; i < (unsigned int)msg->msg_iovlen; i++) - printf("\t\t%u\tbase %p, len %u\n", i, - msg->msg_iov[i].buf, msg->msg_iov[i].len); + printf("\t\t%u\tbase %p, len %u\n", i, msg->msg_iov[i].buf, + msg->msg_iov[i].len); } #endif @@ -1017,8 +1043,8 @@ dump_msg(struct msghdr *msg, isc_socket_t *sock) { */ int map_socket_error(isc_socket_t *sock, int windows_errno, int *isc_errno, - char *errorstring, size_t bufsize) { - + char *errorstring, size_t bufsize) +{ int doreturn; switch (windows_errno) { case WSAECONNREFUSED: @@ -1121,7 +1147,8 @@ map_socket_error(isc_socket_t *sock, int windows_errno, int *isc_errno, } static void -fill_recv(isc_socket_t *sock, isc_socketevent_t *dev) { +fill_recv(isc_socket_t *sock, isc_socketevent_t *dev) +{ int copylen; INSIST(dev->n < dev->minimum); @@ -1146,8 +1173,7 @@ fill_recv(isc_socket_t *sock, isc_socketevent_t *dev) { * 'maxudp' bytes. */ if (sock->manager->maxudp != 0 && - sock->recvbuf.remaining > sock->manager->maxudp) - { + sock->recvbuf.remaining > sock->manager->maxudp) { sock->recvbuf.remaining = 0; return; } @@ -1156,8 +1182,8 @@ fill_recv(isc_socket_t *sock, isc_socketevent_t *dev) { } copylen = min(dev->region.length - dev->n, sock->recvbuf.remaining); - memmove(dev->region.base + dev->n, - sock->recvbuf.consume_position, copylen); + memmove(dev->region.base + dev->n, sock->recvbuf.consume_position, + copylen); sock->recvbuf.consume_position += copylen; sock->recvbuf.remaining -= copylen; dev->n += copylen; @@ -1188,7 +1214,8 @@ completeio_recv(isc_socket_t *sock) if (sock->pending_recv > 0) return; - while (sock->recvbuf.remaining > 0 && !ISC_LIST_EMPTY(sock->recv_list)) { + while (sock->recvbuf.remaining > 0 && + !ISC_LIST_EMPTY(sock->recv_list)) { dev = ISC_LIST_HEAD(sock->recv_list); /* @@ -1230,8 +1257,8 @@ completeio_send(isc_socket_t *sock, isc_socketevent_t *dev, if (SOFT_ERROR(send_errno)) return (DOIO_SOFT); - return (map_socket_error(sock, send_errno, &dev->result, - strbuf, sizeof(strbuf))); + return (map_socket_error(sock, send_errno, &dev->result, strbuf, + sizeof(strbuf))); } /* @@ -1253,26 +1280,23 @@ static int startio_send(isc_socket_t *sock, isc_socketevent_t *dev, int *nbytes, int *send_errno) { - char *cmsg = NULL; - char strbuf[ISC_STRERRORSIZE]; + char * cmsg = NULL; + char strbuf[ISC_STRERRORSIZE]; IoCompletionInfo *lpo; - int status; - struct msghdr *mh; + int status; + struct msghdr * mh; /* * Simulate a firewall blocking UDP responses bigger than * 'maxudp' bytes. */ - if (sock->type == isc_sockettype_udp && - sock->manager->maxudp != 0 && - dev->region.length - dev->n > sock->manager->maxudp) - { + if (sock->type == isc_sockettype_udp && sock->manager->maxudp != 0 && + dev->region.length - dev->n > sock->manager->maxudp) { *nbytes = dev->region.length - dev->n; return (DOIO_SUCCESS); } - lpo = (IoCompletionInfo *)HeapAlloc(hHeapHandle, - HEAP_ZERO_MEMORY, + lpo = (IoCompletionInfo *)HeapAlloc(hHeapHandle, HEAP_ZERO_MEMORY, sizeof(IoCompletionInfo)); RUNTIME_CHECK(lpo != NULL); lpo->request_type = SOCKET_SEND; @@ -1305,7 +1329,8 @@ startio_send(isc_socket_t *sock, isc_socketevent_t *dev, int *nbytes, if (isc_log_wouldlog(isc_lctx, IOEVENT_LEVEL)) { strerror_r(*send_errno, strbuf, sizeof(strbuf)); socket_log(__LINE__, sock, NULL, IOEVENT, - "startio_send: internal_sendmsg(%d) %d bytes, err %d/%s", + "startio_send: internal_sendmsg(%d) %d " + "bytes, err %d/%s", sock->fd, *nbytes, *send_errno, strbuf); } status = DOIO_HARD; @@ -1313,19 +1338,20 @@ startio_send(isc_socket_t *sock, isc_socketevent_t *dev, int *nbytes, } dev->result = ISC_R_SUCCESS; status = DOIO_SOFT; - done: +done: _set_state(sock, SOCK_DATA); return (status); } static void -use_min_mtu(isc_socket_t *sock) { +use_min_mtu(isc_socket_t *sock) +{ #ifdef IPV6_USE_MIN_MTU /* use minimum MTU */ if (sock->pf == AF_INET6) { int on = 1; (void)setsockopt(sock->fd, IPPROTO_IPV6, IPV6_USE_MIN_MTU, - (void *)&on, sizeof(on)); + (void *)&on, sizeof(on)); } #else UNUSED(sock); @@ -1365,21 +1391,22 @@ allocate_socket(isc_socketmgr_t *manager, isc_sockettype_t type, sock->pending_connect = 0; sock->bound = 0; sock->dupped = 0; - memset(sock->name, 0, sizeof(sock->name)); // zero the name field + memset(sock->name, 0, sizeof(sock->name)); // zero the name field _set_state(sock, SOCK_INITIALIZED); sock->recvbuf.len = 65536; sock->recvbuf.consume_position = sock->recvbuf.base; sock->recvbuf.remaining = 0; - sock->recvbuf.base = isc_mem_get(manager->mctx, sock->recvbuf.len); // max buffer size + sock->recvbuf.base = + isc_mem_get(manager->mctx, sock->recvbuf.len); // max buffer + // size /* * Initialize the lock. */ isc_mutex_init(&sock->lock); - socket_log(__LINE__, sock, NULL, EVENT, - "allocated"); + socket_log(__LINE__, sock, NULL, EVENT, "allocated"); sock->magic = SOCKET_MAGIC; *socketp = sock; @@ -1391,16 +1418,17 @@ allocate_socket(isc_socketmgr_t *manager, isc_sockettype_t type, * Verify that the socket state is consistent. */ static void -consistent(isc_socket_t *sock) { - - isc_socketevent_t *dev; +consistent(isc_socket_t *sock) +{ + isc_socketevent_t * dev; isc_socket_newconnev_t *nev; - unsigned int count; - char *crash_reason; - bool crash = false; + unsigned int count; + char * crash_reason; + bool crash = false; - REQUIRE(sock->pending_iocp == sock->pending_recv + sock->pending_send - + sock->pending_accept + sock->pending_connect); + REQUIRE(sock->pending_iocp == sock->pending_recv + sock->pending_send + + sock->pending_accept + + sock->pending_connect); dev = ISC_LIST_HEAD(sock->send_list); count = 0; @@ -1448,24 +1476,21 @@ consistent(isc_socket_t *sock) { * to hold on to this pointer are allowed. */ static void -maybe_free_socket(isc_socket_t **socketp, int lineno) { +maybe_free_socket(isc_socket_t **socketp, int lineno) +{ isc_socket_t *sock = *socketp; *socketp = NULL; INSIST(VALID_SOCKET(sock)); CONSISTENT(sock); - if (sock->pending_iocp > 0 - || sock->pending_recv > 0 - || sock->pending_send > 0 - || sock->pending_accept > 0 - || isc_refcount_current(&sock->references) > 0 - || sock->pending_connect == 1 - || !ISC_LIST_EMPTY(sock->recv_list) - || !ISC_LIST_EMPTY(sock->send_list) - || !ISC_LIST_EMPTY(sock->accept_list) - || !ISC_LIST_EMPTY(sock->connect_list) - || sock->fd != INVALID_SOCKET) { + if (sock->pending_iocp > 0 || sock->pending_recv > 0 || + sock->pending_send > 0 || sock->pending_accept > 0 || + isc_refcount_current(&sock->references) > 0 || + sock->pending_connect == 1 || !ISC_LIST_EMPTY(sock->recv_list) || + !ISC_LIST_EMPTY(sock->send_list) || + !ISC_LIST_EMPTY(sock->accept_list) || + !ISC_LIST_EMPTY(sock->connect_list) || sock->fd != INVALID_SOCKET) { UNLOCK(&sock->lock); return; } @@ -1475,9 +1500,10 @@ maybe_free_socket(isc_socket_t **socketp, int lineno) { } void -free_socket(isc_socket_t **sockp, int lineno) { +free_socket(isc_socket_t **sockp, int lineno) +{ isc_socketmgr_t *manager; - isc_socket_t *sock = *sockp; + isc_socket_t * sock = *sockp; *sockp = NULL; /* @@ -1485,8 +1511,8 @@ free_socket(isc_socket_t **sockp, int lineno) { */ manager = sock->manager; socket_log(__LINE__, sock, NULL, CREATION, - "freeing socket line %d fd %d lock %p semaphore %p", - lineno, sock->fd, &sock->lock, sock->lock.LockSemaphore); + "freeing socket line %d fd %d lock %p semaphore %p", lineno, + sock->fd, &sock->lock, sock->lock.LockSemaphore); sock->magic = 0; isc_mutex_destroy(&sock->lock); @@ -1516,15 +1542,15 @@ socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, isc_socket_t **socketp, isc_socket_t *dup_socket) { isc_socket_t *sock = NULL; - isc_result_t result; + isc_result_t result; #if defined(USE_CMSG) int on = 1; #endif #if defined(SO_RCVBUF) socklen_t optlen; - int size; + int size; #endif - int socket_errno; + int socket_errno; char strbuf[ISC_STRERRORSIZE]; REQUIRE(VALID_MANAGER(manager)); @@ -1546,13 +1572,13 @@ socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, if (sock->fd != INVALID_SOCKET) { result = connection_reset_fix(sock->fd); if (result != ISC_R_SUCCESS) { - socket_log(__LINE__, sock, - NULL, EVENT, - "closed %d %d %" PRIuFAST32 " " - "con_reset_fix_failed", - sock->pending_recv, - sock->pending_send, - isc_refcount_current(&sock->references)); + socket_log(__LINE__, sock, NULL, EVENT, + "closed %d %d %" PRIuFAST32 " " + "con_reset_fix_failed", + sock->pending_recv, + sock->pending_send, + isc_refcount_current( + &sock->references)); closesocket(sock->fd); _set_state(sock, SOCK_CLOSED); sock->fd = INVALID_SOCKET; @@ -1592,15 +1618,13 @@ socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, default: strerror_r(socket_errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, - "socket() failed: %s", - strbuf); + "socket() failed: %s", strbuf); return (ISC_R_UNEXPECTED); } } result = make_nonblock(sock->fd); if (result != ISC_R_SUCCESS) { - socket_log(__LINE__, sock, NULL, EVENT, "closed %d %d %" PRIuFAST32 " make_nonblock_failed", sock->pending_recv, sock->pending_send, @@ -1618,23 +1642,23 @@ socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, #if defined(USE_CMSG) || defined(SO_RCVBUF) if (type == isc_sockettype_udp) { - #if defined(USE_CMSG) #ifdef IPV6_RECVPKTINFO /* 2292bis */ - if ((pf == AF_INET6) - && (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_RECVPKTINFO, - (char *)&on, sizeof(on)) < 0)) { + if ((pf == AF_INET6) && + (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_RECVPKTINFO, + (char *)&on, sizeof(on)) < 0)) { strerror_r(WSAGetLastError(), strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, - "setsockopt(%d, IPV6_RECVPKTINFO) failed: %s", + "setsockopt(%d, IPV6_RECVPKTINFO) " + "failed: %s", sock->fd, strbuf); } #else /* 2292 */ - if ((pf == AF_INET6) - && (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_PKTINFO, - (char *)&on, sizeof(on)) < 0)) { + if ((pf == AF_INET6) && + (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_PKTINFO, + (char *)&on, sizeof(on)) < 0)) { strerror_r(WSAGetLastError(), strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, "setsockopt(%d, IPV6_PKTINFO) %s: %s", @@ -1644,16 +1668,15 @@ socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, #endif /* defined(USE_CMSG) */ #if defined(SO_RCVBUF) - optlen = sizeof(size); - if (getsockopt(sock->fd, SOL_SOCKET, SO_RCVBUF, - (char *)&size, &optlen) >= 0 && + optlen = sizeof(size); + if (getsockopt(sock->fd, SOL_SOCKET, SO_RCVBUF, (char *)&size, + &optlen) >= 0 && size < RCVBUFSIZE) { - size = RCVBUFSIZE; - (void)setsockopt(sock->fd, SOL_SOCKET, SO_RCVBUF, - (char *)&size, sizeof(size)); - } + size = RCVBUFSIZE; + (void)setsockopt(sock->fd, SOL_SOCKET, SO_RCVBUF, + (char *)&size, sizeof(size)); + } #endif - } #endif /* defined(USE_CMSG) || defined(SO_RCVBUF) */ @@ -1695,30 +1718,32 @@ socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, InterlockedIncrement(&manager->totalSockets); UNLOCK(&manager->lock); - socket_log(__LINE__, sock, NULL, CREATION, - "created %u type %u", sock->fd, type); + socket_log(__LINE__, sock, NULL, CREATION, "created %u type %u", + sock->fd, type); return (ISC_R_SUCCESS); } isc_result_t isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, - isc_socket_t **socketp) + isc_socket_t **socketp) { return (socket_create(manager, pf, type, socketp, NULL)); } isc_result_t -isc_socket_dup(isc_socket_t *sock, isc_socket_t **socketp) { +isc_socket_dup(isc_socket_t *sock, isc_socket_t **socketp) +{ REQUIRE(VALID_SOCKET(sock)); REQUIRE(socketp != NULL && *socketp == NULL); - return (socket_create(sock->manager, sock->pf, sock->type, - socketp, sock)); + return (socket_create(sock->manager, sock->pf, sock->type, socketp, + sock)); } isc_result_t -isc_socket_open(isc_socket_t *sock) { +isc_socket_open(isc_socket_t *sock) +{ REQUIRE(VALID_SOCKET(sock)); return (ISC_R_NOTIMPLEMENTED); @@ -1728,7 +1753,8 @@ isc_socket_open(isc_socket_t *sock) { * Attach to a socket. Caller must explicitly detach when it is done. */ void -isc_socket_attach(isc_socket_t *sock, isc_socket_t **socketp) { +isc_socket_attach(isc_socket_t *sock, isc_socket_t **socketp) +{ REQUIRE(VALID_SOCKET(sock)); REQUIRE(socketp != NULL && *socketp == NULL); @@ -1746,9 +1772,10 @@ isc_socket_attach(isc_socket_t *sock, isc_socket_t **socketp) { * up by destroying the socket. */ void -isc_socket_detach(isc_socket_t **socketp) { +isc_socket_detach(isc_socket_t **socketp) +{ isc_socket_t *sock; - uint32_t references; + uint32_t references; REQUIRE(socketp != NULL); sock = *socketp; @@ -1761,9 +1788,8 @@ isc_socket_detach(isc_socket_t **socketp) { references = isc_refcount_decrement(&sock->references); socket_log(__LINE__, sock, NULL, EVENT, - "detach_socket %d %d %" PRIuFAST32, - sock->pending_recv, sock->pending_send, - isc_refcount_current(&sock->references)); + "detach_socket %d %d %" PRIuFAST32, sock->pending_recv, + sock->pending_send, isc_refcount_current(&sock->references)); if (references == 1 && sock->fd != INVALID_SOCKET) { closesocket(sock->fd); @@ -1775,7 +1801,8 @@ isc_socket_detach(isc_socket_t **socketp) { } isc_result_t -isc_socket_close(isc_socket_t *sock) { +isc_socket_close(isc_socket_t *sock) +{ REQUIRE(VALID_SOCKET(sock)); return (ISC_R_NOTIMPLEMENTED); @@ -1792,7 +1819,8 @@ isc_socket_close(isc_socket_t *sock) { * Caller must have the socket locked if the event is attached to the socket. */ static void -send_recvdone_event(isc_socket_t *sock, isc_socketevent_t **dev) { +send_recvdone_event(isc_socket_t *sock, isc_socketevent_t **dev) +{ isc_task_t *task; task = (*dev)->ev_sender; @@ -1814,7 +1842,8 @@ send_recvdone_event(isc_socket_t *sock, isc_socketevent_t **dev) { * See comments for send_recvdone_event() above. */ static void -send_senddone_event(isc_socket_t *sock, isc_socketevent_t **dev) { +send_senddone_event(isc_socket_t *sock, isc_socketevent_t **dev) +{ isc_task_t *task; INSIST(dev != NULL && *dev != NULL); @@ -1838,7 +1867,8 @@ send_senddone_event(isc_socket_t *sock, isc_socketevent_t **dev) { * See comments for send_recvdone_event() above. */ static void -send_acceptdone_event(isc_socket_t *sock, isc_socket_newconnev_t **adev) { +send_acceptdone_event(isc_socket_t *sock, isc_socket_newconnev_t **adev) +{ isc_task_t *task; INSIST(adev != NULL && *adev != NULL); @@ -1858,7 +1888,8 @@ send_acceptdone_event(isc_socket_t *sock, isc_socket_newconnev_t **adev) { * See comments for send_recvdone_event() above. */ static void -send_connectdone_event(isc_socket_t *sock, isc_socket_connev_t **cdev) { +send_connectdone_event(isc_socket_t *sock, isc_socket_connev_t **cdev) +{ isc_task_t *task; INSIST(cdev != NULL && *cdev != NULL); @@ -1883,21 +1914,21 @@ send_connectdone_event(isc_socket_t *sock, isc_socket_connev_t **cdev) { * Note the socket is locked before entering here */ static void -internal_accept(isc_socket_t *sock, IoCompletionInfo *lpo, int accept_errno) { +internal_accept(isc_socket_t *sock, IoCompletionInfo *lpo, int accept_errno) +{ isc_socket_newconnev_t *adev; - isc_result_t result = ISC_R_SUCCESS; - isc_socket_t *nsock; - struct sockaddr *localaddr; - int localaddr_len = sizeof(*localaddr); - struct sockaddr *remoteaddr; - int remoteaddr_len = sizeof(*remoteaddr); + isc_result_t result = ISC_R_SUCCESS; + isc_socket_t * nsock; + struct sockaddr * localaddr; + int localaddr_len = sizeof(*localaddr); + struct sockaddr * remoteaddr; + int remoteaddr_len = sizeof(*remoteaddr); INSIST(VALID_SOCKET(sock)); LOCK(&sock->lock); CONSISTENT(sock); - socket_log(__LINE__, sock, NULL, TRACE, - "internal_accept called"); + socket_log(__LINE__, sock, NULL, TRACE, "internal_accept called"); INSIST(sock->listener); @@ -1925,10 +1956,10 @@ internal_accept(isc_socket_t *sock, IoCompletionInfo *lpo, int accept_errno) { * Extract the addresses from the socket, copy them into the structure, * and return the new socket. */ - ISCGetAcceptExSockaddrs(lpo->acceptbuffer, 0, - sizeof(SOCKADDR_STORAGE) + 16, sizeof(SOCKADDR_STORAGE) + 16, - (LPSOCKADDR *)&localaddr, &localaddr_len, - (LPSOCKADDR *)&remoteaddr, &remoteaddr_len); + ISCGetAcceptExSockaddrs( + lpo->acceptbuffer, 0, sizeof(SOCKADDR_STORAGE) + 16, + sizeof(SOCKADDR_STORAGE) + 16, (LPSOCKADDR *)&localaddr, + &localaddr_len, (LPSOCKADDR *)&remoteaddr, &remoteaddr_len); memmove(&adev->address.type, remoteaddr, remoteaddr_len); adev->address.length = remoteaddr_len; nsock->address = adev->address; @@ -1961,8 +1992,7 @@ internal_accept(isc_socket_t *sock, IoCompletionInfo *lpo, int accept_errno) { UNLOCK(&nsock->manager->lock); socket_log(__LINE__, sock, &nsock->address, CREATION, - "accepted_connection new_socket %p fd %d", - nsock, nsock->fd); + "accepted_connection new_socket %p fd %d", nsock, nsock->fd); adev->result = result; send_acceptdone_event(sock, &adev); @@ -1980,10 +2010,11 @@ done: * Note that the socket is locked before entering. */ static void -internal_connect(isc_socket_t *sock, IoCompletionInfo *lpo, int connect_errno) { +internal_connect(isc_socket_t *sock, IoCompletionInfo *lpo, int connect_errno) +{ isc_socket_connev_t *cdev; - isc_result_t result; - char strbuf[ISC_STRERRORSIZE]; + isc_result_t result; + char strbuf[ISC_STRERRORSIZE]; INSIST(VALID_SOCKET(sock)); @@ -2030,7 +2061,10 @@ internal_connect(isc_socket_t *sock, IoCompletionInfo *lpo, int connect_errno) { * Translate other errors into ISC_R_* flavors. */ switch (connect_errno) { -#define ERROR_MATCH(a, b) case a: result = b; break; +#define ERROR_MATCH(a, b) \ + case a: \ + result = b; \ + break; ERROR_MATCH(WSAEACCES, ISC_R_NOPERM); ERROR_MATCH(WSAEADDRNOTAVAIL, ISC_R_ADDRNOTAVAIL); ERROR_MATCH(WSAEAFNOSUPPORT, ISC_R_ADDRNOTAVAIL); @@ -2073,7 +2107,8 @@ internal_connect(isc_socket_t *sock, IoCompletionInfo *lpo, int connect_errno) { * Loop through the socket, returning ISC_R_EOF for each done event pending. */ static void -send_recvdone_abort(isc_socket_t *sock, isc_result_t result) { +send_recvdone_abort(isc_socket_t *sock, isc_result_t result) +{ isc_socketevent_t *dev; while (!ISC_LIST_EMPTY(sock->recv_list)) { @@ -2087,7 +2122,8 @@ send_recvdone_abort(isc_socket_t *sock, isc_result_t result) { * Loop through the socket, returning result for each done event pending. */ static void -send_connectdone_abort(isc_socket_t *sock, isc_result_t result) { +send_connectdone_abort(isc_socket_t *sock, isc_result_t result) +{ isc_socket_connev_t *dev; while (!ISC_LIST_EMPTY(sock->connect_list)) { @@ -2101,8 +2137,9 @@ send_connectdone_abort(isc_socket_t *sock, isc_result_t result) { * Take the data we received in our private buffer, and if any recv() calls on * our list are satisfied, send the corresponding done event. * - * If we need more data (there are still items on the recv_list after we consume all - * our data) then arrange for another system recv() call to fill our buffers. + * If we need more data (there are still items on the recv_list after we consume + * all our data) then arrange for another system recv() call to fill our + * buffers. */ static void internal_recv(isc_socket_t *sock, int nbytes) @@ -2154,14 +2191,16 @@ internal_recv(isc_socket_t *sock, int nbytes) queue_receive_request(sock); /* - * Unlock and/or destroy if we are the last thing this socket has left to do. + * Unlock and/or destroy if we are the last thing this socket has left + * to do. */ maybe_free_socket(&sock, __LINE__); } static void internal_send(isc_socket_t *sock, isc_socketevent_t *dev, - struct msghdr *messagehdr, int nbytes, int send_errno, IoCompletionInfo *lpo) + struct msghdr *messagehdr, int nbytes, int send_errno, + IoCompletionInfo *lpo) { /* * Find out what socket this is and lock it. @@ -2175,8 +2214,8 @@ internal_send(isc_socket_t *sock, isc_socketevent_t *dev, "internal_send: task got socket event %p", dev); if (lpo->buf != NULL) { - socket_log(__LINE__, sock, NULL, TRACE, - "free_buffer %p", lpo->buf); + socket_log(__LINE__, sock, NULL, TRACE, "free_buffer %p", + lpo->buf); HeapFree(hHeapHandle, 0, lpo->buf); lpo->buf = NULL; @@ -2204,7 +2243,7 @@ internal_send(isc_socket_t *sock, isc_socketevent_t *dev, break; } - done: +done: maybe_free_socket(&sock, __LINE__); } @@ -2272,32 +2311,34 @@ static isc_result_t restart_accept(isc_socket_t *parent, IoCompletionInfo *lpo) { isc_socket_t *nsock = lpo->adev->newsocket; - SOCKET new_fd; + SOCKET new_fd; /* * AcceptEx() requires we pass in a socket. Note that we carefully - * do not close the previous socket in case of an error message returned by - * our new socket() call. If we return an error here, our caller will - * clean up. + * do not close the previous socket in case of an error message returned + * by our new socket() call. If we return an error here, our caller + * will clean up. */ new_fd = socket(parent->pf, SOCK_STREAM, IPPROTO_TCP); if (nsock->fd == INVALID_SOCKET) { - return (ISC_R_FAILURE); // parent will ask windows for error message + return (ISC_R_FAILURE); // parent will ask windows for error + // message } closesocket(nsock->fd); nsock->fd = new_fd; memset(&lpo->overlapped, 0, sizeof(lpo->overlapped)); - ISCAcceptEx(parent->fd, - nsock->fd, /* Accepted Socket */ - lpo->acceptbuffer, /* Buffer for initial Recv */ - 0, /* Length of Buffer */ - sizeof(SOCKADDR_STORAGE) + 16, /* Local address length + 16 */ - sizeof(SOCKADDR_STORAGE) + 16, /* Remote address lengh + 16 */ - (LPDWORD)&lpo->received_bytes, /* Bytes Recved */ - (LPOVERLAPPED)lpo /* Overlapped structure */ - ); + ISCAcceptEx(parent->fd, nsock->fd, /* Accepted Socket */ + lpo->acceptbuffer, /* Buffer for initial Recv */ + 0, /* Length of Buffer */ + sizeof(SOCKADDR_STORAGE) + 16, /* Local address length + 16 + */ + sizeof(SOCKADDR_STORAGE) + 16, /* Remote address lengh + 16 + */ + (LPDWORD)&lpo->received_bytes, /* Bytes Recved */ + (LPOVERLAPPED)lpo /* Overlapped structure */ + ); InterlockedDecrement(&nsock->manager->iocp_total); iocompletionport_update(nsock); @@ -2311,16 +2352,17 @@ restart_accept(isc_socket_t *parent, IoCompletionInfo *lpo) * processing. There are a number of these in separate threads. */ static isc_threadresult_t WINAPI -SocketIoThread(LPVOID ThreadContext) { - isc_socketmgr_t *manager = ThreadContext; - DWORD nbytes; +SocketIoThread(LPVOID ThreadContext) +{ + isc_socketmgr_t * manager = ThreadContext; + DWORD nbytes; IoCompletionInfo *lpo = NULL; - isc_socket_t *sock = NULL; - int request; - struct msghdr *messagehdr = NULL; - int errval; - char strbuf[ISC_STRERRORSIZE]; - int errstatus; + isc_socket_t * sock = NULL; + int request; + struct msghdr * messagehdr = NULL; + int errval; + char strbuf[ISC_STRERRORSIZE]; + int errstatus; REQUIRE(VALID_MANAGER(manager)); @@ -2333,8 +2375,7 @@ SocketIoThread(LPVOID ThreadContext) { THREAD_PRIORITY_ABOVE_NORMAL)) { errval = GetLastError(); strerror_r(errval, strbuf, sizeof(strbuf)); - FATAL_ERROR(__FILE__, __LINE__, - "Can't set thread priority: %s", + FATAL_ERROR(__FILE__, __LINE__, "Can't set thread priority: %s", strbuf); } @@ -2344,12 +2385,10 @@ SocketIoThread(LPVOID ThreadContext) { while (TRUE) { BOOL bSuccess; - wait_again: - bSuccess = GetQueuedCompletionStatus(manager->hIoCompletionPort, - &nbytes, - (PULONG_PTR)&sock, - (LPWSAOVERLAPPED *)&lpo, - INFINITE); + wait_again: + bSuccess = GetQueuedCompletionStatus( + manager->hIoCompletionPort, &nbytes, (PULONG_PTR)&sock, + (LPWSAOVERLAPPED *)&lpo, INFINITE); if (lpo == NULL) /* Received request to exit */ break; @@ -2388,8 +2427,11 @@ SocketIoThread(LPVOID ThreadContext) { send_recvdone_abort(sock, isc_result); if (isc_result == ISC_R_UNEXPECTED) { UNEXPECTED_ERROR(__FILE__, __LINE__, - "SOCKET_RECV: Windows error code: %d, returning ISC error %d", - errstatus, isc_result); + "SOCKET_RECV: Windows " + "error code: %d, " + "returning ISC error " + "%d", + errstatus, isc_result); } break; @@ -2401,7 +2443,7 @@ SocketIoThread(LPVOID ThreadContext) { if (senddone_is_active(sock, lpo->dev)) { lpo->dev->result = isc_result; socket_log(__LINE__, sock, NULL, EVENT, - "canceled_send"); + "canceled_send"); send_senddone_event(sock, &lpo->dev); } break; @@ -2411,19 +2453,26 @@ SocketIoThread(LPVOID ThreadContext) { INSIST(sock->pending_accept > 0); socket_log(__LINE__, sock, NULL, EVENT, - "Accept: errstatus=%d isc_result=%d", + "Accept: errstatus=%d isc_result=%d", errstatus, isc_result); if (acceptdone_is_active(sock, lpo->adev)) { - if (restart_accept(sock, lpo) == ISC_R_SUCCESS) { + if (restart_accept(sock, lpo) == + ISC_R_SUCCESS) { UNLOCK(&sock->lock); goto wait_again; } else { errstatus = GetLastError(); - isc_result = isc__errno2result(errstatus); - socket_log(__LINE__, sock, NULL, EVENT, - "restart_accept() failed: errstatus=%d isc_result=%d", - errstatus, isc_result); + isc_result = isc__errno2result( + errstatus); + socket_log(__LINE__, sock, NULL, + EVENT, + "restart_accept() " + "failed: " + "errstatus=%d " + "isc_result=%d", + errstatus, + isc_result); } } @@ -2431,12 +2480,16 @@ SocketIoThread(LPVOID ThreadContext) { sock->pending_accept--; if (acceptdone_is_active(sock, lpo->adev)) { closesocket(lpo->adev->newsocket->fd); - lpo->adev->newsocket->fd = INVALID_SOCKET; - isc_refcount_decrement(&lpo->adev->newsocket->references); - free_socket(&lpo->adev->newsocket, __LINE__); + lpo->adev->newsocket->fd = + INVALID_SOCKET; + isc_refcount_decrement( + &lpo->adev->newsocket + ->references); + free_socket(&lpo->adev->newsocket, + __LINE__); lpo->adev->result = isc_result; socket_log(__LINE__, sock, NULL, EVENT, - "canceled_accept"); + "canceled_accept"); send_acceptdone_event(sock, &lpo->adev); } break; @@ -2448,8 +2501,9 @@ SocketIoThread(LPVOID ThreadContext) { sock->pending_connect = 0; if (connectdone_is_active(sock, lpo->cdev)) { socket_log(__LINE__, sock, NULL, EVENT, - "canceled_connect"); - send_connectdone_abort(sock, isc_result); + "canceled_connect"); + send_connectdone_abort(sock, + isc_result); } break; } @@ -2467,7 +2521,8 @@ SocketIoThread(LPVOID ThreadContext) { internal_recv(sock, nbytes); break; case SOCKET_SEND: - internal_send(sock, lpo->dev, messagehdr, nbytes, errstatus, lpo); + internal_send(sock, lpo->dev, messagehdr, nbytes, + errstatus, lpo); break; case SOCKET_ACCEPT: internal_accept(sock, lpo, errstatus); @@ -2492,7 +2547,8 @@ SocketIoThread(LPVOID ThreadContext) { * Create a new socket manager. */ isc_result_t -isc_socketmgr_create(isc_mem_t *mctx, isc_socketmgr_t **managerp) { +isc_socketmgr_create(isc_mem_t *mctx, isc_socketmgr_t **managerp) +{ return (isc_socketmgr_create2(mctx, managerp, 0, 1)); } @@ -2524,7 +2580,7 @@ isc_socketmgr_create2(isc_mem_t *mctx, isc_socketmgr_t **managerp, } manager->maxIOCPThreads = min(nthreads, MAX_IOCPTHREADS); - iocompletionport_init(manager); /* Create the Completion Ports */ + iocompletionport_init(manager); /* Create the Completion Ports */ manager->bShutdown = false; manager->totalSockets = 0; @@ -2537,7 +2593,8 @@ isc_socketmgr_create2(isc_mem_t *mctx, isc_socketmgr_t **managerp, } isc_result_t -isc_socketmgr_getmaxsockets(isc_socketmgr_t *manager, unsigned int *nsockp) { +isc_socketmgr_getmaxsockets(isc_socketmgr_t *manager, unsigned int *nsockp) +{ REQUIRE(VALID_MANAGER(manager)); REQUIRE(nsockp != NULL); @@ -2545,7 +2602,8 @@ isc_socketmgr_getmaxsockets(isc_socketmgr_t *manager, unsigned int *nsockp) { } void -isc_socketmgr_setstats(isc_socketmgr_t *manager, isc_stats_t *stats) { +isc_socketmgr_setstats(isc_socketmgr_t *manager, isc_stats_t *stats) +{ REQUIRE(VALID_MANAGER(manager)); REQUIRE(ISC_LIST_EMPTY(manager->socklist)); REQUIRE(manager->stats == NULL); @@ -2555,7 +2613,8 @@ isc_socketmgr_setstats(isc_socketmgr_t *manager, isc_stats_t *stats) { } void -isc_socketmgr_destroy(isc_socketmgr_t **managerp) { +isc_socketmgr_destroy(isc_socketmgr_t **managerp) +{ isc_socketmgr_t *manager; /* @@ -2590,7 +2649,7 @@ isc_socketmgr_destroy(isc_socketmgr_t **managerp) { * Wait for threads to exit. */ for (int i = 0; i < manager->maxIOCPThreads; i++) { - isc_thread_join((isc_thread_t) manager->hIOCPThreads[i], NULL); + isc_thread_join((isc_thread_t)manager->hIOCPThreads[i], NULL); } /* * Clean up. @@ -2609,7 +2668,8 @@ isc_socketmgr_destroy(isc_socketmgr_t **managerp) { } static void -queue_receive_event(isc_socket_t *sock, isc_task_t *task, isc_socketevent_t *dev) +queue_receive_event(isc_socket_t *sock, isc_task_t *task, + isc_socketevent_t *dev) { isc_task_t *ntask = NULL; @@ -2623,14 +2683,13 @@ queue_receive_event(isc_socket_t *sock, isc_task_t *task, isc_socketevent_t *dev ISC_LIST_ENQUEUE(sock->recv_list, dev, ev_link); socket_log(__LINE__, sock, NULL, EVENT, - "queue_receive_event: event %p -> task %p", - dev, ntask); + "queue_receive_event: event %p -> task %p", dev, ntask); } /* * Check the pending receive queue, and if we have data pending, give it to this - * caller. If we have none, queue an I/O request. If this caller is not the first - * on the list, then we will just queue this event and return. + * caller. If we have none, queue an I/O request. If this caller is not the + * first on the list, then we will just queue this event and return. * * Caller must have the socket locked. */ @@ -2667,13 +2726,12 @@ socket_recv(isc_socket_t *sock, isc_socketevent_t *dev, isc_task_t *task, } isc_result_t -isc_socket_recv(isc_socket_t *sock, isc_region_t *region, - unsigned int minimum, isc_task_t *task, - isc_taskaction_t action, void *arg) +isc_socket_recv(isc_socket_t *sock, isc_region_t *region, unsigned int minimum, + isc_task_t *task, isc_taskaction_t action, void *arg) { isc_socketevent_t *dev; - isc_socketmgr_t *manager; - isc_result_t ret; + isc_socketmgr_t * manager; + isc_result_t ret; REQUIRE(VALID_SOCKET(sock)); LOCK(&sock->lock); @@ -2693,8 +2751,8 @@ isc_socket_recv(isc_socket_t *sock, isc_region_t *region, INSIST(sock->bound); - dev = allocate_socketevent(manager->mctx, sock, - ISC_SOCKEVENT_RECVDONE, action, arg); + dev = allocate_socketevent(manager->mctx, sock, ISC_SOCKEVENT_RECVDONE, + action, arg); if (dev == NULL) { UNLOCK(&sock->lock); return (ISC_R_NOMEMORY); @@ -2706,9 +2764,8 @@ isc_socket_recv(isc_socket_t *sock, isc_region_t *region, } isc_result_t -isc_socket_recv2(isc_socket_t *sock, isc_region_t *region, - unsigned int minimum, isc_task_t *task, - isc_socketevent_t *event, unsigned int flags) +isc_socket_recv2(isc_socket_t *sock, isc_region_t *region, unsigned int minimum, + isc_task_t *task, isc_socketevent_t *event, unsigned int flags) { isc_result_t ret; @@ -2756,10 +2813,10 @@ socket_send(isc_socket_t *sock, isc_socketevent_t *dev, isc_task_t *task, const isc_sockaddr_t *address, struct in6_pktinfo *pktinfo, unsigned int flags) { - int io_state; - int send_errno = 0; - int cc = 0; - isc_task_t *ntask = NULL; + int io_state; + int send_errno = 0; + int cc = 0; + isc_task_t * ntask = NULL; isc_result_t result = ISC_R_SUCCESS; dev->ev_sender = task; @@ -2781,7 +2838,7 @@ socket_send(isc_socket_t *sock, isc_socketevent_t *dev, isc_task_t *task, io_state = startio_send(sock, dev, &cc, &send_errno); switch (io_state) { - case DOIO_PENDING: /* I/O started. Enqueue completion event. */ + case DOIO_PENDING: /* I/O started. Enqueue completion event. */ case DOIO_SOFT: /* * We couldn't send all or part of the request right now, so @@ -2799,8 +2856,8 @@ socket_send(isc_socket_t *sock, isc_socketevent_t *dev, isc_task_t *task, ISC_LIST_ENQUEUE(sock->send_list, dev, ev_link); socket_log(__LINE__, sock, NULL, EVENT, - "socket_send: event %p -> task %p", - dev, ntask); + "socket_send: event %p -> task %p", dev, + ntask); if ((flags & ISC_SOCKFLAG_IMMEDIATE) != 0) result = ISC_R_INPROGRESS; @@ -2815,24 +2872,23 @@ socket_send(isc_socket_t *sock, isc_socketevent_t *dev, isc_task_t *task, } isc_result_t -isc_socket_send(isc_socket_t *sock, isc_region_t *region, - isc_task_t *task, isc_taskaction_t action, void *arg) +isc_socket_send(isc_socket_t *sock, isc_region_t *region, isc_task_t *task, + isc_taskaction_t action, void *arg) { /* * REQUIRE() checking is performed in isc_socket_sendto(). */ - return (isc_socket_sendto(sock, region, task, action, arg, NULL, - NULL)); + return (isc_socket_sendto(sock, region, task, action, arg, NULL, NULL)); } isc_result_t -isc_socket_sendto(isc_socket_t *sock, isc_region_t *region, - isc_task_t *task, isc_taskaction_t action, void *arg, +isc_socket_sendto(isc_socket_t *sock, isc_region_t *region, isc_task_t *task, + isc_taskaction_t action, void *arg, const isc_sockaddr_t *address, struct in6_pktinfo *pktinfo) { isc_socketevent_t *dev; - isc_socketmgr_t *manager; - isc_result_t ret; + isc_socketmgr_t * manager; + isc_result_t ret; REQUIRE(VALID_SOCKET(sock)); @@ -2855,8 +2911,8 @@ isc_socket_sendto(isc_socket_t *sock, isc_region_t *region, INSIST(sock->bound); - dev = allocate_socketevent(manager->mctx, sock, - ISC_SOCKEVENT_SENDDONE, action, arg); + dev = allocate_socketevent(manager->mctx, sock, ISC_SOCKEVENT_SENDDONE, + action, arg); if (dev == NULL) { UNLOCK(&sock->lock); return (ISC_R_NOMEMORY); @@ -2879,7 +2935,8 @@ isc_socket_sendto2(isc_socket_t *sock, isc_region_t *region, isc_task_t *task, LOCK(&sock->lock); CONSISTENT(sock); - REQUIRE((flags & ~(ISC_SOCKFLAG_IMMEDIATE|ISC_SOCKFLAG_NORETRY)) == 0); + REQUIRE((flags & ~(ISC_SOCKFLAG_IMMEDIATE | ISC_SOCKFLAG_NORETRY)) == + 0); if ((flags & ISC_SOCKFLAG_NORETRY) != 0) REQUIRE(sock->type == isc_sockettype_udp); event->ev_sender = sock; @@ -2905,9 +2962,9 @@ isc_result_t isc_socket_bind(isc_socket_t *sock, const isc_sockaddr_t *sockaddr, isc_socket_options_t options) { - int bind_errno; + int bind_errno; char strbuf[ISC_STRERRORSIZE]; - int on = 1; + int on = 1; REQUIRE(VALID_SOCKET(sock)); LOCK(&sock->lock); @@ -2934,10 +2991,9 @@ isc_socket_bind(isc_socket_t *sock, const isc_sockaddr_t *sockaddr, if ((options & ISC_SOCKET_REUSEADDRESS) != 0 && isc_sockaddr_getport(sockaddr) != (in_port_t)0 && setsockopt(sock->fd, SOL_SOCKET, SO_REUSEADDR, (char *)&on, - sizeof(on)) < 0) - { - UNEXPECTED_ERROR(__FILE__, __LINE__, - "setsockopt(%d) failed", sock->fd); + sizeof(on)) < 0) { + UNEXPECTED_ERROR(__FILE__, __LINE__, "setsockopt(%d) failed", + sock->fd); /* Press on... */ } if (bind(sock->fd, &sockaddr->type.sa, sockaddr->length) < 0) { @@ -2968,7 +3024,8 @@ isc_socket_bind(isc_socket_t *sock, const isc_sockaddr_t *sockaddr, } isc_result_t -isc_socket_filter(isc_socket_t *sock, const char *filter) { +isc_socket_filter(isc_socket_t *sock, const char *filter) +{ UNUSED(sock); UNUSED(filter); @@ -2987,7 +3044,8 @@ isc_socket_filter(isc_socket_t *sock, const char *filter) { * as well keep things simple rather than having to track them. */ isc_result_t -isc_socket_listen(isc_socket_t *sock, unsigned int backlog) { +isc_socket_listen(isc_socket_t *sock, unsigned int backlog) +{ char strbuf[ISC_STRERRORSIZE]; #if defined(ENABLE_TCP_FASTOPEN) && defined(TCP_FASTOPEN) char on = 1; @@ -3023,8 +3081,8 @@ isc_socket_listen(isc_socket_t *sock, unsigned int backlog) { } #if defined(ENABLE_TCP_FASTOPEN) && defined(TCP_FASTOPEN) - if (setsockopt(sock->fd, IPPROTO_TCP, TCP_FASTOPEN, - &on, sizeof(on)) < 0) { + if (setsockopt(sock->fd, IPPROTO_TCP, TCP_FASTOPEN, &on, sizeof(on)) < + 0) { strerror_r(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, "setsockopt(%d, TCP_FASTOPEN) failed with %s", @@ -3045,15 +3103,15 @@ isc_socket_listen(isc_socket_t *sock, unsigned int backlog) { * This should try to do aggressive accept() XXXMLG */ isc_result_t -isc_socket_accept(isc_socket_t *sock, - isc_task_t *task, isc_taskaction_t action, void *arg) +isc_socket_accept(isc_socket_t *sock, isc_task_t *task, isc_taskaction_t action, + void *arg) { isc_socket_newconnev_t *adev; - isc_socketmgr_t *manager; - isc_task_t *ntask = NULL; - isc_socket_t *nsock; - isc_result_t result; - IoCompletionInfo *lpo; + isc_socketmgr_t * manager; + isc_task_t * ntask = NULL; + isc_socket_t * nsock; + isc_result_t result; + IoCompletionInfo * lpo; REQUIRE(VALID_SOCKET(sock)); @@ -3078,9 +3136,9 @@ isc_socket_accept(isc_socket_t *sock, * this event to. Just before the actual event is delivered the * actual ev_sender will be touched up to be the socket. */ - adev = (isc_socket_newconnev_t *) - isc_event_allocate(manager->mctx, task, ISC_SOCKEVENT_NEWCONN, - action, arg, sizeof(*adev)); + adev = (isc_socket_newconnev_t *)isc_event_allocate( + manager->mctx, task, ISC_SOCKEVENT_NEWCONN, action, arg, + sizeof(*adev)); ISC_LINK_INIT(adev, ev_link); result = allocate_socket(manager, sock->type, &nsock); @@ -3121,30 +3179,31 @@ isc_socket_accept(isc_socket_t *sock, /* * Queue io completion for an accept(). */ - lpo = (IoCompletionInfo *)HeapAlloc(hHeapHandle, - HEAP_ZERO_MEMORY, + lpo = (IoCompletionInfo *)HeapAlloc(hHeapHandle, HEAP_ZERO_MEMORY, sizeof(IoCompletionInfo)); RUNTIME_CHECK(lpo != NULL); - lpo->acceptbuffer = (void *)HeapAlloc(hHeapHandle, HEAP_ZERO_MEMORY, - (sizeof(SOCKADDR_STORAGE) + 16) * 2); + lpo->acceptbuffer = + (void *)HeapAlloc(hHeapHandle, HEAP_ZERO_MEMORY, + (sizeof(SOCKADDR_STORAGE) + 16) * 2); RUNTIME_CHECK(lpo->acceptbuffer != NULL); lpo->adev = adev; lpo->request_type = SOCKET_ACCEPT; - ISCAcceptEx(sock->fd, - nsock->fd, /* Accepted Socket */ - lpo->acceptbuffer, /* Buffer for initial Recv */ - 0, /* Length of Buffer */ - sizeof(SOCKADDR_STORAGE) + 16, /* Local address length + 16 */ - sizeof(SOCKADDR_STORAGE) + 16, /* Remote address lengh + 16 */ - (LPDWORD)&lpo->received_bytes, /* Bytes Recved */ - (LPOVERLAPPED)lpo /* Overlapped structure */ - ); + ISCAcceptEx(sock->fd, nsock->fd, /* Accepted Socket */ + lpo->acceptbuffer, /* Buffer for initial Recv */ + 0, /* Length of Buffer */ + sizeof(SOCKADDR_STORAGE) + 16, /* Local address length + 16 + */ + sizeof(SOCKADDR_STORAGE) + 16, /* Remote address lengh + 16 + */ + (LPDWORD)&lpo->received_bytes, /* Bytes Recved */ + (LPOVERLAPPED)lpo /* Overlapped structure */ + ); iocompletionport_update(nsock); - socket_log(__LINE__, sock, NULL, TRACE, - "accepting for nsock %p fd %d", nsock, nsock->fd); + socket_log(__LINE__, sock, NULL, TRACE, "accepting for nsock %p fd %d", + nsock, nsock->fd); /* * Enqueue the event @@ -3161,12 +3220,12 @@ isc_result_t isc_socket_connect(isc_socket_t *sock, const isc_sockaddr_t *addr, isc_task_t *task, isc_taskaction_t action, void *arg) { - char strbuf[ISC_STRERRORSIZE]; + char strbuf[ISC_STRERRORSIZE]; isc_socket_connev_t *cdev; - isc_task_t *ntask = NULL; - isc_socketmgr_t *manager; - IoCompletionInfo *lpo; - int bind_errno; + isc_task_t * ntask = NULL; + isc_socketmgr_t * manager; + IoCompletionInfo * lpo; + int bind_errno; REQUIRE(VALID_SOCKET(sock)); REQUIRE(addr != NULL); @@ -3211,20 +3270,18 @@ isc_socket_connect(isc_socket_t *sock, const isc_sockaddr_t *addr, case WSAEINVAL: return (ISC_R_BOUND); default: - strerror_r(bind_errno, strbuf, - sizeof(strbuf)); - UNEXPECTED_ERROR(__FILE__, __LINE__, - "bind: %s", strbuf); + strerror_r(bind_errno, strbuf, sizeof(strbuf)); + UNEXPECTED_ERROR(__FILE__, __LINE__, "bind: %s", + strbuf); return (ISC_R_UNEXPECTED); } } sock->bound = 1; } - cdev = (isc_socket_connev_t *)isc_event_allocate(manager->mctx, sock, - ISC_SOCKEVENT_CONNECT, - action, arg, - sizeof(*cdev)); + cdev = (isc_socket_connev_t *)isc_event_allocate( + manager->mctx, sock, ISC_SOCKEVENT_CONNECT, action, arg, + sizeof(*cdev)); ISC_LINK_INIT(cdev, ev_link); if (sock->connected) { @@ -3247,8 +3304,8 @@ isc_socket_connect(isc_socket_t *sock, const isc_sockaddr_t *addr, lpo->request_type = SOCKET_CONNECT; sock->address = *addr; - ISCConnectEx(sock->fd, &addr->type.sa, addr->length, - NULL, 0, NULL, (LPOVERLAPPED)lpo); + ISCConnectEx(sock->fd, &addr->type.sa, addr->length, NULL, 0, + NULL, (LPOVERLAPPED)lpo); /* * Attach to task. @@ -3274,7 +3331,8 @@ isc_socket_connect(isc_socket_t *sock, const isc_sockaddr_t *addr, ISC_LIST_ENQUEUE(sock->connect_list, cdev, ev_link); } else { REQUIRE(!sock->pending_connect); - WSAConnect(sock->fd, &addr->type.sa, addr->length, NULL, NULL, NULL, NULL); + WSAConnect(sock->fd, &addr->type.sa, addr->length, NULL, NULL, + NULL, NULL); cdev->result = ISC_R_SUCCESS; isc_task_send(task, (isc_event_t **)&cdev); } @@ -3285,7 +3343,8 @@ isc_socket_connect(isc_socket_t *sock, const isc_sockaddr_t *addr, } isc_result_t -isc_socket_getpeername(isc_socket_t *sock, isc_sockaddr_t *addressp) { +isc_socket_getpeername(isc_socket_t *sock, isc_sockaddr_t *addressp) +{ isc_result_t result; REQUIRE(VALID_SOCKET(sock)); @@ -3315,10 +3374,11 @@ isc_socket_getpeername(isc_socket_t *sock, isc_sockaddr_t *addressp) { } isc_result_t -isc_socket_getsockname(isc_socket_t *sock, isc_sockaddr_t *addressp) { - socklen_t len; +isc_socket_getsockname(isc_socket_t *sock, isc_sockaddr_t *addressp) +{ + socklen_t len; isc_result_t result; - char strbuf[ISC_STRERRORSIZE]; + char strbuf[ISC_STRERRORSIZE]; REQUIRE(VALID_SOCKET(sock)); REQUIRE(addressp != NULL); @@ -3344,14 +3404,13 @@ isc_socket_getsockname(isc_socket_t *sock, isc_sockaddr_t *addressp) { len = sizeof(addressp->type); if (getsockname(sock->fd, &addressp->type.sa, (void *)&len) < 0) { strerror_r(WSAGetLastError(), strbuf, sizeof(strbuf)); - UNEXPECTED_ERROR(__FILE__, __LINE__, "getsockname: %s", - strbuf); + UNEXPECTED_ERROR(__FILE__, __LINE__, "getsockname: %s", strbuf); result = ISC_R_UNEXPECTED; goto out; } addressp->length = (unsigned int)len; - out: +out: UNLOCK(&sock->lock); return (result); @@ -3362,8 +3421,8 @@ isc_socket_getsockname(isc_socket_t *sock, isc_sockaddr_t *addressp) { * queued for task "task" of type "how". "how" is a bitmask. */ void -isc_socket_cancel(isc_socket_t *sock, isc_task_t *task, unsigned int how) { - +isc_socket_cancel(isc_socket_t *sock, isc_task_t *task, unsigned int how) +{ REQUIRE(VALID_SOCKET(sock)); /* @@ -3396,9 +3455,9 @@ isc_socket_cancel(isc_socket_t *sock, isc_task_t *task, unsigned int how) { */ if ((how & ISC_SOCKCANCEL_RECV) != 0) { - isc_socketevent_t *dev; - isc_socketevent_t *next; - isc_task_t *current_task; + isc_socketevent_t *dev; + isc_socketevent_t *next; + isc_task_t * current_task; dev = ISC_LIST_HEAD(sock->recv_list); while (dev != NULL) { @@ -3414,9 +3473,9 @@ isc_socket_cancel(isc_socket_t *sock, isc_task_t *task, unsigned int how) { how &= ~ISC_SOCKCANCEL_RECV; if ((how & ISC_SOCKCANCEL_SEND) != 0) { - isc_socketevent_t *dev; - isc_socketevent_t *next; - isc_task_t *current_task; + isc_socketevent_t *dev; + isc_socketevent_t *next; + isc_task_t * current_task; dev = ISC_LIST_HEAD(sock->send_list); @@ -3432,11 +3491,11 @@ isc_socket_cancel(isc_socket_t *sock, isc_task_t *task, unsigned int how) { } how &= ~ISC_SOCKCANCEL_SEND; - if (((how & ISC_SOCKCANCEL_ACCEPT) != 0) - && !ISC_LIST_EMPTY(sock->accept_list)) { + if (((how & ISC_SOCKCANCEL_ACCEPT) != 0) && + !ISC_LIST_EMPTY(sock->accept_list)) { isc_socket_newconnev_t *dev; isc_socket_newconnev_t *next; - isc_task_t *current_task; + isc_task_t * current_task; dev = ISC_LIST_HEAD(sock->accept_list); while (dev != NULL) { @@ -3444,8 +3503,8 @@ isc_socket_cancel(isc_socket_t *sock, isc_task_t *task, unsigned int how) { next = ISC_LIST_NEXT(dev, ev_link); if ((task == NULL) || (task == current_task)) { - - isc_refcount_decrement(&dev->newsocket->references); + isc_refcount_decrement( + &dev->newsocket->references); closesocket(dev->newsocket->fd); dev->newsocket->fd = INVALID_SOCKET; free_socket(&dev->newsocket, __LINE__); @@ -3459,11 +3518,11 @@ isc_socket_cancel(isc_socket_t *sock, isc_task_t *task, unsigned int how) { } how &= ~ISC_SOCKCANCEL_ACCEPT; - if (((how & ISC_SOCKCANCEL_CONNECT) != 0) - && !ISC_LIST_EMPTY(sock->connect_list)) { - isc_socket_connev_t *dev; - isc_socket_connev_t *next; - isc_task_t *current_task; + if (((how & ISC_SOCKCANCEL_CONNECT) != 0) && + !ISC_LIST_EMPTY(sock->connect_list)) { + isc_socket_connev_t *dev; + isc_socket_connev_t *next; + isc_task_t * current_task; INSIST(sock->pending_connect); @@ -3489,7 +3548,8 @@ isc_socket_cancel(isc_socket_t *sock, isc_task_t *task, unsigned int how) { } isc_sockettype_t -isc_socket_gettype(isc_socket_t *sock) { +isc_socket_gettype(isc_socket_t *sock) +{ isc_sockettype_t type; REQUIRE(VALID_SOCKET(sock)); @@ -3510,7 +3570,8 @@ isc_socket_gettype(isc_socket_t *sock) { } void -isc_socket_ipv6only(isc_socket_t *sock, bool yes) { +isc_socket_ipv6only(isc_socket_t *sock, bool yes) +{ #if defined(IPV6_V6ONLY) int onoff = yes ? 1 : 0; #else @@ -3528,7 +3589,8 @@ isc_socket_ipv6only(isc_socket_t *sock, bool yes) { } void -isc_socket_dscp(isc_socket_t *sock, isc_dscp_t dscp) { +isc_socket_dscp(isc_socket_t *sock, isc_dscp_t dscp) +{ #if !defined(IP_TOS) && !defined(IPV6_TCLASS) UNUSED(dscp); #else @@ -3543,8 +3605,8 @@ isc_socket_dscp(isc_socket_t *sock, isc_dscp_t dscp) { #ifdef IP_TOS if (sock->pf == AF_INET) { - (void)setsockopt(sock->fd, IPPROTO_IP, IP_TOS, - (char *)&dscp, sizeof(dscp)); + (void)setsockopt(sock->fd, IPPROTO_IP, IP_TOS, (char *)&dscp, + sizeof(dscp)); } #endif #ifdef IPV6_TCLASS @@ -3556,14 +3618,15 @@ isc_socket_dscp(isc_socket_t *sock, isc_dscp_t dscp) { } void -isc_socket_cleanunix(const isc_sockaddr_t *addr, bool active) { +isc_socket_cleanunix(const isc_sockaddr_t *addr, bool active) +{ UNUSED(addr); UNUSED(active); } isc_result_t -isc_socket_permunix(const isc_sockaddr_t *addr, uint32_t perm, - uint32_t owner, uint32_t group) +isc_socket_permunix(const isc_sockaddr_t *addr, uint32_t perm, uint32_t owner, + uint32_t group) { UNUSED(addr); UNUSED(perm); @@ -3573,8 +3636,8 @@ isc_socket_permunix(const isc_sockaddr_t *addr, uint32_t perm, } void -isc_socket_setname(isc_socket_t *socket, const char *name, void *tag) { - +isc_socket_setname(isc_socket_t *socket, const char *name, void *tag) +{ /* * Name 'socket'. */ @@ -3588,43 +3651,48 @@ isc_socket_setname(isc_socket_t *socket, const char *name, void *tag) { } const char * -isc_socket_getname(isc_socket_t *socket) { +isc_socket_getname(isc_socket_t *socket) +{ return (socket->name); } void * -isc_socket_gettag(isc_socket_t *socket) { +isc_socket_gettag(isc_socket_t *socket) +{ return (socket->tag); } int -isc_socket_getfd(isc_socket_t *socket) { - return ((short) socket->fd); +isc_socket_getfd(isc_socket_t *socket) +{ + return ((short)socket->fd); } void -isc_socketmgr_setreserved(isc_socketmgr_t *manager, uint32_t reserved) { +isc_socketmgr_setreserved(isc_socketmgr_t *manager, uint32_t reserved) +{ UNUSED(manager); UNUSED(reserved); } isc_socketevent_t * -isc_socket_socketevent(isc_mem_t *mctx, void *sender, - isc_eventtype_t eventtype, isc_taskaction_t action, - void *arg) +isc_socket_socketevent(isc_mem_t *mctx, void *sender, isc_eventtype_t eventtype, + isc_taskaction_t action, void *arg) { return (allocate_socketevent(mctx, sender, eventtype, action, arg)); } bool -isc_socket_hasreuseport() { +isc_socket_hasreuseport() +{ return (false); } #ifdef HAVE_LIBXML2 static const char * -_socktype(isc_sockettype_t type) { +_socktype(isc_sockettype_t type) +{ switch (type) { case isc_sockettype_udp: return ("udp"); @@ -3637,15 +3705,20 @@ _socktype(isc_sockettype_t type) { } } -#define TRY0(a) do { xmlrc = (a); if (xmlrc < 0) goto error; } while(0) +#define TRY0(a) \ + do { \ + xmlrc = (a); \ + if (xmlrc < 0) \ + goto error; \ + } while (0) int isc_socketmgr_renderxml(isc_socketmgr_t *mgr, void *writer0) { - isc_socket_t *sock = NULL; - char peerbuf[ISC_SOCKADDR_FORMATSIZE]; - isc_sockaddr_t addr; - socklen_t len; - int xmlrc; + isc_socket_t * sock = NULL; + char peerbuf[ISC_SOCKADDR_FORMATSIZE]; + isc_sockaddr_t addr; + socklen_t len; + int xmlrc; xmlTextWriterPtr writer = (xmlTextWriterPtr)writer0; LOCK(&mgr->lock); @@ -3668,60 +3741,69 @@ isc_socketmgr_renderxml(isc_socketmgr_t *mgr, void *writer0) TRY0(xmlTextWriterEndElement(writer)); /* name */ } - TRY0(xmlTextWriterStartElement(writer, - ISC_XMLCHAR "references")); - TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIuFAST32, - isc_refcount_current(&sock->references))); + TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "reference" + "s")); + TRY0(xmlTextWriterWriteFormatString( + writer, "%" PRIuFAST32, + isc_refcount_current(&sock->references))); TRY0(xmlTextWriterEndElement(writer)); - TRY0(xmlTextWriterWriteElement(writer, ISC_XMLCHAR "type", - ISC_XMLCHAR _socktype(sock->type))); + TRY0(xmlTextWriterWriteElement( + writer, ISC_XMLCHAR "type", + ISC_XMLCHAR _socktype(sock->type))); if (sock->connected) { isc_sockaddr_format(&sock->address, peerbuf, sizeof(peerbuf)); TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "peer-address", - ISC_XMLCHAR peerbuf)); + ISC_XMLCHAR "peer-" + "address", + ISC_XMLCHAR peerbuf)); } len = sizeof(addr); if (getsockname(sock->fd, &addr.type.sa, (void *)&len) == 0) { isc_sockaddr_format(&addr, peerbuf, sizeof(peerbuf)); TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "local-address", - ISC_XMLCHAR peerbuf)); + ISC_XMLCHAR "local-" + "address", + ISC_XMLCHAR peerbuf)); } TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "states")); if (sock->pending_recv) TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "state", - ISC_XMLCHAR "pending-receive")); + ISC_XMLCHAR "state", + ISC_XMLCHAR "pending-" + "receive")); if (sock->pending_send) TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "state", - ISC_XMLCHAR "pending-send")); + ISC_XMLCHAR "state", + ISC_XMLCHAR "pending-" + "send")); if (sock->pending_accept) TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "state", - ISC_XMLCHAR "pending_accept")); + ISC_XMLCHAR "state", + ISC_XMLCHAR "pending_" + "accept")); if (sock->listener) TRY0(xmlTextWriterWriteElement(writer, ISC_XMLCHAR "state", ISC_XMLCHAR "listener")); if (sock->connected) TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "state", - ISC_XMLCHAR "connected")); + ISC_XMLCHAR "state", + ISC_XMLCHAR "connecte" + "d")); if (sock->pending_connect) TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "state", - ISC_XMLCHAR "connecting")); + ISC_XMLCHAR "state", + ISC_XMLCHAR "connectin" + "g")); if (sock->bound) TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "state", - ISC_XMLCHAR "bound")); + ISC_XMLCHAR "state", + ISC_XMLCHAR "bound")); TRY0(xmlTextWriterEndElement(writer)); /* states */ @@ -3743,22 +3825,24 @@ error: #endif /* HAVE_LIBXML2 */ #ifdef HAVE_JSON_C -#define CHECKMEM(m) do { \ - if (m == NULL) { \ - result = ISC_R_NOMEMORY;\ - goto error;\ - } \ -} while(0) +#define CHECKMEM(m) \ + do { \ + if (m == NULL) { \ + result = ISC_R_NOMEMORY; \ + goto error; \ + } \ + } while (0) isc_result_t -isc_socketmgr_renderjson(isc_socketmgr_t *mgr, void *stats0) { - isc_result_t result = ISC_R_SUCCESS; - isc_socket_t *sock = NULL; - char peerbuf[ISC_SOCKADDR_FORMATSIZE]; +isc_socketmgr_renderjson(isc_socketmgr_t *mgr, void *stats0) +{ + isc_result_t result = ISC_R_SUCCESS; + isc_socket_t * sock = NULL; + char peerbuf[ISC_SOCKADDR_FORMATSIZE]; isc_sockaddr_t addr; - socklen_t len; - json_object *obj, *array = json_object_new_array(); - json_object *stats = (json_object *)stats; + socklen_t len; + json_object * obj, *array = json_object_new_array(); + json_object * stats = (json_object *)stats; CHECKMEM(array); @@ -3768,12 +3852,12 @@ isc_socketmgr_renderjson(isc_socketmgr_t *mgr, void *stats0) { obj = json_object_new_int(mgr->refs); CHECKMEM(obj); json_object_object_add(stats, "references", obj); -#endif /* USE_SHARED_MANAGER */ +#endif /* USE_SHARED_MANAGER */ sock = ISC_LIST_HEAD(mgr->socklist); while (sock != NULL) { json_object *states, *entry = json_object_new_object(); - char buf[255]; + char buf[255]; CHECKMEM(entry); json_object_array_add(array, entry); @@ -3791,7 +3875,8 @@ isc_socketmgr_renderjson(isc_socketmgr_t *mgr, void *stats0) { json_object_object_add(entry, "name", obj); } - obj = json_object_new_int(isc_refcount_current(&sock->references)); + obj = json_object_new_int( + isc_refcount_current(&sock->references)); CHECKMEM(obj); json_object_object_add(entry, "references", obj); @@ -3869,7 +3954,7 @@ isc_socketmgr_renderjson(isc_socketmgr_t *mgr, void *stats0) { array = NULL; result = ISC_R_SUCCESS; - error: +error: if (array != NULL) json_object_put(array); @@ -3893,8 +3978,8 @@ isc_socketmgr_createinctx(isc_mem_t *mctx, isc_socketmgr_t **managerp) } void -isc_socketmgr_maxudp(isc_socketmgr_t *manager, unsigned int maxudp) { - +isc_socketmgr_maxudp(isc_socketmgr_t *manager, unsigned int maxudp) +{ REQUIRE(VALID_MANAGER(manager)); manager->maxudp = maxudp; diff --git a/lib/isc/win32/stdio.c b/lib/isc/win32/stdio.c index 41da47f0bf..39ad6befd2 100644 --- a/lib/isc/win32/stdio.c +++ b/lib/isc/win32/stdio.c @@ -9,19 +9,20 @@ * information regarding copyright ownership. */ -#include #include +#include #include #include +#include "errno2result.h" + #include #include -#include "errno2result.h" - isc_result_t -isc_stdio_open(const char *filename, const char *mode, FILE **fp) { +isc_stdio_open(const char *filename, const char *mode, FILE **fp) +{ FILE *f; f = fopen(filename, mode); @@ -32,7 +33,8 @@ isc_stdio_open(const char *filename, const char *mode, FILE **fp) { } isc_result_t -isc_stdio_close(FILE *f) { +isc_stdio_close(FILE *f) +{ int r; r = fclose(f); @@ -43,7 +45,8 @@ isc_stdio_close(FILE *f) { } isc_result_t -isc_stdio_seek(FILE *f, off_t offset, int whence) { +isc_stdio_seek(FILE *f, off_t offset, int whence) +{ int r; #ifndef _WIN64 @@ -58,7 +61,8 @@ isc_stdio_seek(FILE *f, off_t offset, int whence) { } isc_result_t -isc_stdio_tell(FILE *f, off_t *offsetp) { +isc_stdio_tell(FILE *f, off_t *offsetp) +{ #ifndef _WIN64 long r; #else @@ -80,9 +84,10 @@ isc_stdio_tell(FILE *f, off_t *offsetp) { } isc_result_t -isc_stdio_read(void *ptr, size_t size, size_t nmemb, FILE *f, size_t *nret) { +isc_stdio_read(void *ptr, size_t size, size_t nmemb, FILE *f, size_t *nret) +{ isc_result_t result = ISC_R_SUCCESS; - size_t r; + size_t r; clearerr(f); r = fread(ptr, size, nmemb, f); @@ -99,10 +104,10 @@ isc_stdio_read(void *ptr, size_t size, size_t nmemb, FILE *f, size_t *nret) { isc_result_t isc_stdio_write(const void *ptr, size_t size, size_t nmemb, FILE *f, - size_t *nret) + size_t *nret) { isc_result_t result = ISC_R_SUCCESS; - size_t r; + size_t r; clearerr(f); r = fwrite(ptr, size, nmemb, f); @@ -114,7 +119,8 @@ isc_stdio_write(const void *ptr, size_t size, size_t nmemb, FILE *f, } isc_result_t -isc_stdio_flush(FILE *f) { +isc_stdio_flush(FILE *f) +{ int r; r = fflush(f); @@ -125,9 +131,10 @@ isc_stdio_flush(FILE *f) { } isc_result_t -isc_stdio_sync(FILE *f) { +isc_stdio_sync(FILE *f) +{ struct _stat buf; - int r; + int r; if (_fstat(_fileno(f), &buf) != 0) return (isc__errno2result(errno)); @@ -144,4 +151,3 @@ isc_stdio_sync(FILE *f) { else return (isc__errno2result(errno)); } - diff --git a/lib/isc/win32/stdtime.c b/lib/isc/win32/stdtime.c index 55bd123952..de7cf2aade 100644 --- a/lib/isc/win32/stdtime.c +++ b/lib/isc/win32/stdtime.c @@ -16,7 +16,8 @@ #include void -isc_stdtime_get(isc_stdtime_t *t) { +isc_stdtime_get(isc_stdtime_t *t) +{ /* * Set 't' to the number of seconds past 00:00:00 UTC, January 1, 1970. */ diff --git a/lib/isc/win32/syslog.c b/lib/isc/win32/syslog.c index ea6d032d2a..1723f35993 100644 --- a/lib/isc/win32/syslog.c +++ b/lib/isc/win32/syslog.c @@ -10,10 +10,10 @@ */ #include -#include -#include #include +#include #include +#include #include #include @@ -21,48 +21,47 @@ #include static HANDLE hAppLog = NULL; -static FILE *log_stream; -static int debug_level = 0; +static FILE * log_stream; +static int debug_level = 0; static struct dsn_c_pvt_sfnt { - int val; + int val; const char *strval; -} facilities[] = { - { LOG_KERN, "kern" }, - { LOG_USER, "user" }, - { LOG_MAIL, "mail" }, - { LOG_DAEMON, "daemon" }, - { LOG_AUTH, "auth" }, - { LOG_SYSLOG, "syslog" }, - { LOG_LPR, "lpr" }, +} facilities[] = { { LOG_KERN, "kern" }, + { LOG_USER, "user" }, + { LOG_MAIL, "mail" }, + { LOG_DAEMON, "daemon" }, + { LOG_AUTH, "auth" }, + { LOG_SYSLOG, "syslog" }, + { LOG_LPR, "lpr" }, #ifdef LOG_NEWS - { LOG_NEWS, "news" }, + { LOG_NEWS, "news" }, #endif #ifdef LOG_UUCP - { LOG_UUCP, "uucp" }, + { LOG_UUCP, "uucp" }, #endif #ifdef LOG_CRON - { LOG_CRON, "cron" }, + { LOG_CRON, "cron" }, #endif #ifdef LOG_AUTHPRIV - { LOG_AUTHPRIV, "authpriv" }, + { LOG_AUTHPRIV, "authpriv" }, #endif #ifdef LOG_FTP - { LOG_FTP, "ftp" }, + { LOG_FTP, "ftp" }, #endif - { LOG_LOCAL0, "local0"}, - { LOG_LOCAL1, "local1"}, - { LOG_LOCAL2, "local2"}, - { LOG_LOCAL3, "local3"}, - { LOG_LOCAL4, "local4"}, - { LOG_LOCAL5, "local5"}, - { LOG_LOCAL6, "local6"}, - { LOG_LOCAL7, "local7"}, - { 0, NULL } -}; + { LOG_LOCAL0, "local0" }, + { LOG_LOCAL1, "local1" }, + { LOG_LOCAL2, "local2" }, + { LOG_LOCAL3, "local3" }, + { LOG_LOCAL4, "local4" }, + { LOG_LOCAL5, "local5" }, + { LOG_LOCAL6, "local6" }, + { LOG_LOCAL7, "local7" }, + { 0, NULL } }; isc_result_t -isc_syslog_facilityfromstring(const char *str, int *facilityp) { +isc_syslog_facilityfromstring(const char *str, int *facilityp) +{ int i; REQUIRE(str != NULL); @@ -81,10 +80,11 @@ isc_syslog_facilityfromstring(const char *str, int *facilityp) { * Log to the NT Event Log */ void -syslog(int level, const char *fmt, ...) { +syslog(int level, const char *fmt, ...) +{ va_list ap; - char buf[1024]; - char *str[1]; + char buf[1024]; + char * str[1]; str[0] = buf; @@ -117,7 +117,8 @@ syslog(int level, const char *fmt, ...) { * Initialize event logging */ void -openlog(const char *name, int flags, ...) { +openlog(const char *name, int flags, ...) +{ /* Get a handle to the Application event log */ hAppLog = RegisterEventSource(NULL, name); } @@ -128,7 +129,8 @@ openlog(const char *name, int flags, ...) { * In fact if we failed then we would have nowhere to put the message */ void -closelog(void) { +closelog(void) +{ DeregisterEventSource(hAppLog); } @@ -136,7 +138,8 @@ closelog(void) { * Keep event logging synced with the current debug level */ void -ModifyLogLevel(int level) { +ModifyLogLevel(int level) +{ debug_level = level; } @@ -145,7 +148,8 @@ ModifyLogLevel(int level) { * Piggyback onto stream given. */ void -InitNTLogging(FILE *stream, int debug) { +InitNTLogging(FILE *stream, int debug) +{ log_stream = stream; ModifyLogLevel(debug); } @@ -156,16 +160,17 @@ InitNTLogging(FILE *stream, int debug) { * circumstances. */ void -NTReportError(const char *name, const char *str) { - HANDLE hNTAppLog = NULL; +NTReportError(const char *name, const char *str) +{ + HANDLE hNTAppLog = NULL; const char *buf[1]; buf[0] = str; hNTAppLog = RegisterEventSource(NULL, name); - ReportEvent(hNTAppLog, EVENTLOG_ERROR_TYPE, 0, - BIND_ERR_MSG, NULL, 1, 0, buf, NULL); + ReportEvent(hNTAppLog, EVENTLOG_ERROR_TYPE, 0, BIND_ERR_MSG, NULL, 1, 0, + buf, NULL); DeregisterEventSource(hNTAppLog); } diff --git a/lib/isc/win32/syslog.h b/lib/isc/win32/syslog.h index 019716555f..cdd32dfd57 100644 --- a/lib/isc/win32/syslog.h +++ b/lib/isc/win32/syslog.h @@ -9,40 +9,39 @@ * information regarding copyright ownership. */ - #ifndef _SYSLOG_H #define _SYSLOG_H #include /* Constant definitions for openlog() */ -#define LOG_PID 1 -#define LOG_CONS 2 +#define LOG_PID 1 +#define LOG_CONS 2 /* NT event log does not support facility level */ -#define LOG_KERN 0 -#define LOG_USER 0 -#define LOG_MAIL 0 -#define LOG_DAEMON 0 -#define LOG_AUTH 0 -#define LOG_SYSLOG 0 -#define LOG_LPR 0 -#define LOG_LOCAL0 0 -#define LOG_LOCAL1 0 -#define LOG_LOCAL2 0 -#define LOG_LOCAL3 0 -#define LOG_LOCAL4 0 -#define LOG_LOCAL5 0 -#define LOG_LOCAL6 0 -#define LOG_LOCAL7 0 +#define LOG_KERN 0 +#define LOG_USER 0 +#define LOG_MAIL 0 +#define LOG_DAEMON 0 +#define LOG_AUTH 0 +#define LOG_SYSLOG 0 +#define LOG_LPR 0 +#define LOG_LOCAL0 0 +#define LOG_LOCAL1 0 +#define LOG_LOCAL2 0 +#define LOG_LOCAL3 0 +#define LOG_LOCAL4 0 +#define LOG_LOCAL5 0 +#define LOG_LOCAL6 0 +#define LOG_LOCAL7 0 -#define LOG_EMERG 0 /* system is unusable */ -#define LOG_ALERT 1 /* action must be taken immediately */ -#define LOG_CRIT 2 /* critical conditions */ -#define LOG_ERR 3 /* error conditions */ -#define LOG_WARNING 4 /* warning conditions */ -#define LOG_NOTICE 5 /* normal but signification condition */ -#define LOG_INFO 6 /* informational */ -#define LOG_DEBUG 7 /* debug-level messages */ +#define LOG_EMERG 0 /* system is unusable */ +#define LOG_ALERT 1 /* action must be taken immediately */ +#define LOG_CRIT 2 /* critical conditions */ +#define LOG_ERR 3 /* error conditions */ +#define LOG_WARNING 4 /* warning conditions */ +#define LOG_NOTICE 5 /* normal but signification condition */ +#define LOG_INFO 6 /* informational */ +#define LOG_DEBUG 7 /* debug-level messages */ void syslog(int level, const char *fmt, ...); diff --git a/lib/isc/win32/thread.c b/lib/isc/win32/thread.c index 22722b07de..442116b966 100644 --- a/lib/isc/win32/thread.c +++ b/lib/isc/win32/thread.c @@ -36,7 +36,8 @@ isc_thread_create(isc_threadfunc_t start, isc_threadarg_t arg, } void -isc_thread_join(isc_thread_t thread, isc_threadresult_t *rp) { +isc_thread_join(isc_thread_t thread, isc_threadresult_t *rp) +{ DWORD result; result = WaitForSingleObject(thread, INFINITE); @@ -46,8 +47,8 @@ isc_thread_join(isc_thread_t thread, isc_threadresult_t *rp) { } if (rp != NULL && !GetExitCodeThread(thread, rp)) { isc_error_fatal(__FILE__, __LINE__, - "GetExitCodeThread() failed: %d", GetLastError()); - + "GetExitCodeThread() failed: %d", + GetLastError()); } (void)CloseHandle(thread); @@ -55,7 +56,8 @@ isc_thread_join(isc_thread_t thread, isc_threadresult_t *rp) { } void -isc_thread_setconcurrency(unsigned int level) { +isc_thread_setconcurrency(unsigned int level) +{ /* * This is unnecessary on Win32 systems, but is here so that the * call exists @@ -63,13 +65,15 @@ isc_thread_setconcurrency(unsigned int level) { } void -isc_thread_setname(isc_thread_t thread, const char *name) { +isc_thread_setname(isc_thread_t thread, const char *name) +{ UNUSED(thread); UNUSED(name); } isc_result_t -isc_thread_setaffinity(int cpu) { +isc_thread_setaffinity(int cpu) +{ /* no-op on Windows for now */ return (ISC_R_SUCCESS); } diff --git a/lib/isc/win32/time.c b/lib/isc/win32/time.c index acaed0d0f6..26439a61ee 100644 --- a/lib/isc/win32/time.c +++ b/lib/isc/win32/time.c @@ -10,14 +10,13 @@ */ #include -#include -#include #include +#include #include +#include #include #include #include - #include #include @@ -32,23 +31,24 @@ * While it is reasonably obvious that this makes the needed * conversion factor 10^7, it is coded this way for additional clarity. */ -#define NS_PER_S 1000000000 -#define NS_INTERVAL 100 +#define NS_PER_S 1000000000 +#define NS_INTERVAL 100 #define INTERVALS_PER_S (NS_PER_S / NS_INTERVAL) /*** *** Absolute Times ***/ -static const isc_time_t epoch = { { 0, 0 } }; -LIBISC_EXTERNAL_DATA const isc_time_t * const isc_time_epoch = &epoch; +static const isc_time_t epoch = { { 0, 0 } }; +LIBISC_EXTERNAL_DATA const isc_time_t *const isc_time_epoch = &epoch; /*** *** Intervals ***/ static const isc_interval_t zero_interval = { 0 }; -LIBISC_EXTERNAL_DATA const isc_interval_t * const isc_interval_zero = &zero_interval; +LIBISC_EXTERNAL_DATA const isc_interval_t *const isc_interval_zero = + &zero_interval; void isc_interval_set(isc_interval_t *i, unsigned int seconds, @@ -60,12 +60,13 @@ isc_interval_set(isc_interval_t *i, unsigned int seconds, /* * This rounds nanoseconds up not down. */ - i->interval = (LONGLONG)seconds * INTERVALS_PER_S - + (nanoseconds + NS_INTERVAL - 1) / NS_INTERVAL; + i->interval = (LONGLONG)seconds * INTERVALS_PER_S + + (nanoseconds + NS_INTERVAL - 1) / NS_INTERVAL; } bool -isc_interval_iszero(const isc_interval_t *i) { +isc_interval_iszero(const isc_interval_t *i) +{ REQUIRE(i != NULL); if (i->interval == 0) return (true); @@ -74,9 +75,10 @@ isc_interval_iszero(const isc_interval_t *i) { } void -isc_time_set(isc_time_t *t, unsigned int seconds, unsigned int nanoseconds) { - SYSTEMTIME epoch1970 = { 1970, 1, 4, 1, 0, 0, 0, 0 }; - FILETIME temp; +isc_time_set(isc_time_t *t, unsigned int seconds, unsigned int nanoseconds) +{ + SYSTEMTIME epoch1970 = { 1970, 1, 4, 1, 0, 0, 0, 0 }; + FILETIME temp; ULARGE_INTEGER i1; REQUIRE(t != NULL); @@ -88,16 +90,17 @@ isc_time_set(isc_time_t *t, unsigned int seconds, unsigned int nanoseconds) { i1.HighPart = temp.dwHighDateTime; /* cppcheck-suppress unreadVariable */ - i1.QuadPart += (unsigned __int64)nanoseconds/100; + i1.QuadPart += (unsigned __int64)nanoseconds / 100; /* cppcheck-suppress unreadVariable */ - i1.QuadPart += (unsigned __int64)seconds*10000000; + i1.QuadPart += (unsigned __int64)seconds * 10000000; t->absolute.dwLowDateTime = i1.LowPart; t->absolute.dwHighDateTime = i1.HighPart; } void -isc_time_settoepoch(isc_time_t *t) { +isc_time_settoepoch(isc_time_t *t) +{ REQUIRE(t != NULL); t->absolute.dwLowDateTime = 0; @@ -105,18 +108,19 @@ isc_time_settoepoch(isc_time_t *t) { } bool -isc_time_isepoch(const isc_time_t *t) { +isc_time_isepoch(const isc_time_t *t) +{ REQUIRE(t != NULL); - if (t->absolute.dwLowDateTime == 0 && - t->absolute.dwHighDateTime == 0) + if (t->absolute.dwLowDateTime == 0 && t->absolute.dwHighDateTime == 0) return (true); return (false); } isc_result_t -isc_time_now(isc_time_t *t) { +isc_time_now(isc_time_t *t) +{ REQUIRE(t != NULL); GetSystemTimeAsFileTime(&t->absolute); @@ -125,7 +129,8 @@ isc_time_now(isc_time_t *t) { } isc_result_t -isc_time_nowplusinterval(isc_time_t *t, const isc_interval_t *i) { +isc_time_nowplusinterval(isc_time_t *t, const isc_interval_t *i) +{ ULARGE_INTEGER i1; REQUIRE(t != NULL); @@ -142,14 +147,15 @@ isc_time_nowplusinterval(isc_time_t *t, const isc_interval_t *i) { /* cppcheck-suppress unreadVariable */ i1.QuadPart += i->interval; - t->absolute.dwLowDateTime = i1.LowPart; + t->absolute.dwLowDateTime = i1.LowPart; t->absolute.dwHighDateTime = i1.HighPart; return (ISC_R_SUCCESS); } int -isc_time_compare(const isc_time_t *t1, const isc_time_t *t2) { +isc_time_compare(const isc_time_t *t1, const isc_time_t *t2) +{ REQUIRE(t1 != NULL && t2 != NULL); return ((int)CompareFileTime(&t1->absolute, &t2->absolute)); @@ -179,7 +185,8 @@ isc_time_add(const isc_time_t *t, const isc_interval_t *i, isc_time_t *result) isc_result_t isc_time_subtract(const isc_time_t *t, const isc_interval_t *i, - isc_time_t *result) { + isc_time_t *result) +{ ULARGE_INTEGER i1; REQUIRE(t != NULL && i != NULL && result != NULL); @@ -187,7 +194,7 @@ isc_time_subtract(const isc_time_t *t, const isc_interval_t *i, i1.LowPart = t->absolute.dwLowDateTime; i1.HighPart = t->absolute.dwHighDateTime; - if (i1.QuadPart < (unsigned __int64) i->interval) + if (i1.QuadPart < (unsigned __int64)i->interval) return (ISC_R_RANGE); /* cppcheck-suppress unreadVariable */ @@ -200,18 +207,19 @@ isc_time_subtract(const isc_time_t *t, const isc_interval_t *i, } uint64_t -isc_time_microdiff(const isc_time_t *t1, const isc_time_t *t2) { +isc_time_microdiff(const isc_time_t *t1, const isc_time_t *t2) +{ ULARGE_INTEGER i1, i2; - LONGLONG i3; + LONGLONG i3; REQUIRE(t1 != NULL && t2 != NULL); /* cppcheck-suppress unreadVariable */ - i1.LowPart = t1->absolute.dwLowDateTime; + i1.LowPart = t1->absolute.dwLowDateTime; /* cppcheck-suppress unreadVariable */ i1.HighPart = t1->absolute.dwHighDateTime; /* cppcheck-suppress unreadVariable */ - i2.LowPart = t2->absolute.dwLowDateTime; + i2.LowPart = t2->absolute.dwLowDateTime; /* cppcheck-suppress unreadVariable */ i2.HighPart = t2->absolute.dwHighDateTime; @@ -227,20 +235,21 @@ isc_time_microdiff(const isc_time_t *t1, const isc_time_t *t2) { } uint32_t -isc_time_seconds(const isc_time_t *t) { - SYSTEMTIME epoch1970 = { 1970, 1, 4, 1, 0, 0, 0, 0 }; - FILETIME temp; +isc_time_seconds(const isc_time_t *t) +{ + SYSTEMTIME epoch1970 = { 1970, 1, 4, 1, 0, 0, 0, 0 }; + FILETIME temp; ULARGE_INTEGER i1, i2; - LONGLONG i3; + LONGLONG i3; SystemTimeToFileTime(&epoch1970, &temp); /* cppcheck-suppress unreadVariable */ - i1.LowPart = t->absolute.dwLowDateTime; + i1.LowPart = t->absolute.dwLowDateTime; /* cppcheck-suppress unreadVariable */ i1.HighPart = t->absolute.dwHighDateTime; /* cppcheck-suppress unreadVariable */ - i2.LowPart = temp.dwLowDateTime; + i2.LowPart = temp.dwLowDateTime; /* cppcheck-suppress unreadVariable */ i2.HighPart = temp.dwHighDateTime; @@ -250,7 +259,8 @@ isc_time_seconds(const isc_time_t *t) { } isc_result_t -isc_time_secondsastimet(const isc_time_t *t, time_t *secondsp) { +isc_time_secondsastimet(const isc_time_t *t, time_t *secondsp) +{ time_t seconds; REQUIRE(t != NULL); @@ -260,7 +270,7 @@ isc_time_secondsastimet(const isc_time_t *t, time_t *secondsp) { INSIST(sizeof(unsigned int) == sizeof(uint32_t)); INSIST(sizeof(time_t) >= sizeof(uint32_t)); - if (isc_time_seconds(t) > (~0U>>1) && seconds <= (time_t)(~0U>>1)) + if (isc_time_seconds(t) > (~0U >> 1) && seconds <= (time_t)(~0U >> 1)) return (ISC_R_RANGE); *secondsp = seconds; @@ -268,22 +278,23 @@ isc_time_secondsastimet(const isc_time_t *t, time_t *secondsp) { return (ISC_R_SUCCESS); } - uint32_t -isc_time_nanoseconds(const isc_time_t *t) { +isc_time_nanoseconds(const isc_time_t *t) +{ ULARGE_INTEGER i; - i.LowPart = t->absolute.dwLowDateTime; + i.LowPart = t->absolute.dwLowDateTime; i.HighPart = t->absolute.dwHighDateTime; return ((uint32_t)(i.QuadPart % 10000000) * 100); } void -isc_time_formattimestamp(const isc_time_t *t, char *buf, unsigned int len) { - FILETIME localft; +isc_time_formattimestamp(const isc_time_t *t, char *buf, unsigned int len) +{ + FILETIME localft; SYSTEMTIME st; - char DateBuf[50]; - char TimeBuf[50]; + char DateBuf[50]; + char TimeBuf[50]; REQUIRE(t != NULL); REQUIRE(buf != NULL); @@ -293,8 +304,9 @@ isc_time_formattimestamp(const isc_time_t *t, char *buf, unsigned int len) { FileTimeToSystemTime(&localft, &st)) { GetDateFormat(LOCALE_USER_DEFAULT, 0, &st, "dd-MMM-yyyy", DateBuf, 50); - GetTimeFormat(LOCALE_USER_DEFAULT, TIME_NOTIMEMARKER| - TIME_FORCE24HOURFORMAT, &st, NULL, TimeBuf, 50); + GetTimeFormat(LOCALE_USER_DEFAULT, + TIME_NOTIMEMARKER | TIME_FORCE24HOURFORMAT, &st, + NULL, TimeBuf, 50); snprintf(buf, len, "%s %s.%03u", DateBuf, TimeBuf, st.wMilliseconds); @@ -305,23 +317,24 @@ isc_time_formattimestamp(const isc_time_t *t, char *buf, unsigned int len) { } void -isc_time_formathttptimestamp(const isc_time_t *t, char *buf, unsigned int len) { +isc_time_formathttptimestamp(const isc_time_t *t, char *buf, unsigned int len) +{ SYSTEMTIME st; - char DateBuf[50]; - char TimeBuf[50]; + char DateBuf[50]; + char TimeBuf[50]; -/* strftime() format: "%a, %d %b %Y %H:%M:%S GMT" */ + /* strftime() format: "%a, %d %b %Y %H:%M:%S GMT" */ REQUIRE(t != NULL); REQUIRE(buf != NULL); REQUIRE(len > 0); if (FileTimeToSystemTime(&t->absolute, &st)) { - GetDateFormat(LOCALE_USER_DEFAULT, 0, &st, - "ddd',' dd MMM yyyy", DateBuf, 50); + GetDateFormat(LOCALE_USER_DEFAULT, 0, &st, "ddd',' dd MMM yyyy", + DateBuf, 50); GetTimeFormat(LOCALE_USER_DEFAULT, - TIME_NOTIMEMARKER | TIME_FORCE24HOURFORMAT, - &st, "hh':'mm':'ss", TimeBuf, 50); + TIME_NOTIMEMARKER | TIME_FORCE24HOURFORMAT, &st, + "hh':'mm':'ss", TimeBuf, 50); snprintf(buf, len, "%s %s GMT", DateBuf, TimeBuf); } else { @@ -330,10 +343,11 @@ isc_time_formathttptimestamp(const isc_time_t *t, char *buf, unsigned int len) { } isc_result_t -isc_time_parsehttptimestamp(char *buf, isc_time_t *t) { +isc_time_parsehttptimestamp(char *buf, isc_time_t *t) +{ struct tm t_tm; - time_t when; - char *p; + time_t when; + char * p; REQUIRE(buf != NULL); REQUIRE(t != NULL); @@ -349,10 +363,11 @@ isc_time_parsehttptimestamp(char *buf, isc_time_t *t) { } void -isc_time_formatISO8601L(const isc_time_t *t, char *buf, unsigned int len) { +isc_time_formatISO8601L(const isc_time_t *t, char *buf, unsigned int len) +{ SYSTEMTIME st; - char DateBuf[50]; - char TimeBuf[50]; + char DateBuf[50]; + char TimeBuf[50]; /* strtime() format: "%Y-%m-%dT%H:%M:%S" */ @@ -364,8 +379,8 @@ isc_time_formatISO8601L(const isc_time_t *t, char *buf, unsigned int len) { GetDateFormat(LOCALE_USER_DEFAULT, 0, &st, "yyyy-MM-dd", DateBuf, 50); GetTimeFormat(LOCALE_USER_DEFAULT, - TIME_NOTIMEMARKER | TIME_FORCE24HOURFORMAT, - &st, "hh':'mm':'ss", TimeBuf, 50); + TIME_NOTIMEMARKER | TIME_FORCE24HOURFORMAT, &st, + "hh':'mm':'ss", TimeBuf, 50); snprintf(buf, len, "%sT%s", DateBuf, TimeBuf); } else { buf[0] = 0; @@ -373,10 +388,11 @@ isc_time_formatISO8601L(const isc_time_t *t, char *buf, unsigned int len) { } void -isc_time_formatISO8601Lms(const isc_time_t *t, char *buf, unsigned int len) { +isc_time_formatISO8601Lms(const isc_time_t *t, char *buf, unsigned int len) +{ SYSTEMTIME st; - char DateBuf[50]; - char TimeBuf[50]; + char DateBuf[50]; + char TimeBuf[50]; /* strtime() format: "%Y-%m-%dT%H:%M:%S.SSS" */ @@ -388,8 +404,8 @@ isc_time_formatISO8601Lms(const isc_time_t *t, char *buf, unsigned int len) { GetDateFormat(LOCALE_USER_DEFAULT, 0, &st, "yyyy-MM-dd", DateBuf, 50); GetTimeFormat(LOCALE_USER_DEFAULT, - TIME_NOTIMEMARKER | TIME_FORCE24HOURFORMAT, - &st, "hh':'mm':'ss", TimeBuf, 50); + TIME_NOTIMEMARKER | TIME_FORCE24HOURFORMAT, &st, + "hh':'mm':'ss", TimeBuf, 50); snprintf(buf, len, "%sT%s.%03u", DateBuf, TimeBuf, st.wMilliseconds); } else { @@ -398,10 +414,11 @@ isc_time_formatISO8601Lms(const isc_time_t *t, char *buf, unsigned int len) { } void -isc_time_formatISO8601(const isc_time_t *t, char *buf, unsigned int len) { +isc_time_formatISO8601(const isc_time_t *t, char *buf, unsigned int len) +{ SYSTEMTIME st; - char DateBuf[50]; - char TimeBuf[50]; + char DateBuf[50]; + char TimeBuf[50]; /* strtime() format: "%Y-%m-%dT%H:%M:%SZ" */ @@ -410,11 +427,11 @@ isc_time_formatISO8601(const isc_time_t *t, char *buf, unsigned int len) { REQUIRE(len > 0); if (FileTimeToSystemTime(&t->absolute, &st)) { - GetDateFormat(LOCALE_NEUTRAL, 0, &st, "yyyy-MM-dd", - DateBuf, 50); + GetDateFormat(LOCALE_NEUTRAL, 0, &st, "yyyy-MM-dd", DateBuf, + 50); GetTimeFormat(LOCALE_NEUTRAL, - TIME_NOTIMEMARKER | TIME_FORCE24HOURFORMAT, - &st, "hh':'mm':'ss", TimeBuf, 50); + TIME_NOTIMEMARKER | TIME_FORCE24HOURFORMAT, &st, + "hh':'mm':'ss", TimeBuf, 50); snprintf(buf, len, "%sT%sZ", DateBuf, TimeBuf); } else { buf[0] = 0; @@ -422,10 +439,11 @@ isc_time_formatISO8601(const isc_time_t *t, char *buf, unsigned int len) { } void -isc_time_formatISO8601ms(const isc_time_t *t, char *buf, unsigned int len) { +isc_time_formatISO8601ms(const isc_time_t *t, char *buf, unsigned int len) +{ SYSTEMTIME st; - char DateBuf[50]; - char TimeBuf[50]; + char DateBuf[50]; + char TimeBuf[50]; /* strtime() format: "%Y-%m-%dT%H:%M:%S.SSSZ" */ @@ -434,11 +452,11 @@ isc_time_formatISO8601ms(const isc_time_t *t, char *buf, unsigned int len) { REQUIRE(len > 0); if (FileTimeToSystemTime(&t->absolute, &st)) { - GetDateFormat(LOCALE_NEUTRAL, 0, &st, "yyyy-MM-dd", - DateBuf, 50); + GetDateFormat(LOCALE_NEUTRAL, 0, &st, "yyyy-MM-dd", DateBuf, + 50); GetTimeFormat(LOCALE_NEUTRAL, - TIME_NOTIMEMARKER | TIME_FORCE24HOURFORMAT, - &st, "hh':'mm':'ss", TimeBuf, 50); + TIME_NOTIMEMARKER | TIME_FORCE24HOURFORMAT, &st, + "hh':'mm':'ss", TimeBuf, 50); snprintf(buf, len, "%sT%s.%03uZ", DateBuf, TimeBuf, st.wMilliseconds); } else { @@ -450,8 +468,8 @@ void isc_time_formatshorttimestamp(const isc_time_t *t, char *buf, unsigned int len) { SYSTEMTIME st; - char DateBuf[50]; - char TimeBuf[50]; + char DateBuf[50]; + char TimeBuf[50]; /* strtime() format: "%Y%m%d%H%M%SSSS" */ @@ -460,11 +478,10 @@ isc_time_formatshorttimestamp(const isc_time_t *t, char *buf, unsigned int len) REQUIRE(len > 0); if (FileTimeToSystemTime(&t->absolute, &st)) { - GetDateFormat(LOCALE_NEUTRAL, 0, &st, "yyyyMMdd", - DateBuf, 50); + GetDateFormat(LOCALE_NEUTRAL, 0, &st, "yyyyMMdd", DateBuf, 50); GetTimeFormat(LOCALE_NEUTRAL, - TIME_NOTIMEMARKER | TIME_FORCE24HOURFORMAT, - &st, "hhmmss", TimeBuf, 50); + TIME_NOTIMEMARKER | TIME_FORCE24HOURFORMAT, &st, + "hhmmss", TimeBuf, 50); snprintf(buf, len, "%s%s%03u", DateBuf, TimeBuf, st.wMilliseconds); } else { diff --git a/lib/isc/win32/unistd.h b/lib/isc/win32/unistd.h index 170577e73d..a2a60c5915 100644 --- a/lib/isc/win32/unistd.h +++ b/lib/isc/win32/unistd.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /* None of these are defined in NT, so define them for our use */ #define O_NONBLOCK 1 #define PORT_NONBLOCK O_NONBLOCK @@ -26,18 +25,19 @@ */ #undef F_DUPFD -int fcntl(int, int, ...); +int +fcntl(int, int, ...); /* * access() related definitions for winXP */ #include #ifndef F_OK -#define F_OK 0 +#define F_OK 0 #endif #ifndef X_OK -#define X_OK 1 +#define X_OK 1 #endif #ifndef W_OK diff --git a/lib/isc/win32/win32os.c b/lib/isc/win32/win32os.c index 9af95c804b..95b291adeb 100644 --- a/lib/isc/win32/win32os.c +++ b/lib/isc/win32/win32os.c @@ -15,6 +15,7 @@ #include #else #include + #include #endif #include @@ -24,8 +25,8 @@ isc_win32os_versioncheck(unsigned int major, unsigned int minor, unsigned int spmajor, unsigned int spminor) { OSVERSIONINFOEX osVer; - DWORD typeMask; - ULONGLONG conditionMask; + DWORD typeMask; + ULONGLONG conditionMask; memset(&osVer, 0, sizeof(OSVERSIONINFOEX)); osVer.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); @@ -35,40 +36,32 @@ isc_win32os_versioncheck(unsigned int major, unsigned int minor, /* Optimistic: likely greater */ osVer.dwMajorVersion = major; typeMask |= VER_MAJORVERSION; - conditionMask = VerSetConditionMask(conditionMask, - VER_MAJORVERSION, + conditionMask = VerSetConditionMask(conditionMask, VER_MAJORVERSION, VER_GREATER); osVer.dwMinorVersion = minor; typeMask |= VER_MINORVERSION; - conditionMask = VerSetConditionMask(conditionMask, - VER_MINORVERSION, + conditionMask = VerSetConditionMask(conditionMask, VER_MINORVERSION, VER_GREATER); osVer.wServicePackMajor = spmajor; typeMask |= VER_SERVICEPACKMAJOR; - conditionMask = VerSetConditionMask(conditionMask, - VER_SERVICEPACKMAJOR, + conditionMask = VerSetConditionMask(conditionMask, VER_SERVICEPACKMAJOR, VER_GREATER); osVer.wServicePackMinor = spminor; typeMask |= VER_SERVICEPACKMINOR; - conditionMask = VerSetConditionMask(conditionMask, - VER_SERVICEPACKMINOR, + conditionMask = VerSetConditionMask(conditionMask, VER_SERVICEPACKMINOR, VER_GREATER); if (VerifyVersionInfo(&osVer, typeMask, conditionMask)) return (1); /* Failed: retry with equal */ conditionMask = 0; - conditionMask = VerSetConditionMask(conditionMask, - VER_MAJORVERSION, + conditionMask = + VerSetConditionMask(conditionMask, VER_MAJORVERSION, VER_EQUAL); + conditionMask = + VerSetConditionMask(conditionMask, VER_MINORVERSION, VER_EQUAL); + conditionMask = VerSetConditionMask(conditionMask, VER_SERVICEPACKMAJOR, VER_EQUAL); - conditionMask = VerSetConditionMask(conditionMask, - VER_MINORVERSION, - VER_EQUAL); - conditionMask = VerSetConditionMask(conditionMask, - VER_SERVICEPACKMAJOR, - VER_EQUAL); - conditionMask = VerSetConditionMask(conditionMask, - VER_SERVICEPACKMINOR, + conditionMask = VerSetConditionMask(conditionMask, VER_SERVICEPACKMINOR, VER_EQUAL); if (VerifyVersionInfo(&osVer, typeMask, conditionMask)) return (0); @@ -78,40 +71,41 @@ isc_win32os_versioncheck(unsigned int major, unsigned int minor, #ifdef TESTVERSION int -main(int argc, char **argv) { +main(int argc, char **argv) +{ unsigned int major = 0; unsigned int minor = 0; unsigned int spmajor = 0; unsigned int spminor = 0; - int ret; + int ret; if (argc > 1) { --argc; ++argv; - major = (unsigned int) atoi(argv[0]); + major = (unsigned int)atoi(argv[0]); } if (argc > 1) { --argc; ++argv; - minor = (unsigned int) atoi(argv[0]); + minor = (unsigned int)atoi(argv[0]); } if (argc > 1) { --argc; ++argv; - spmajor = (unsigned int) atoi(argv[0]); + spmajor = (unsigned int)atoi(argv[0]); } if (argc > 1) { --argc; POST(argc); ++argv; - spminor = (unsigned int) atoi(argv[0]); + spminor = (unsigned int)atoi(argv[0]); } ret = isc_win32os_versioncheck(major, minor, spmajor, spminor); printf("%s major %u minor %u SP major %u SP minor %u\n", - ret > 0 ? "greater" : (ret == 0 ? "equal" : "less"), - major, minor, spmajor, spminor); + ret > 0 ? "greater" : (ret == 0 ? "equal" : "less"), major, + minor, spmajor, spminor); return (ret); } #endif diff --git a/lib/isc/xoshiro128starstar.c b/lib/isc/xoshiro128starstar.c index 589ed54e60..939b956b07 100644 --- a/lib/isc/xoshiro128starstar.c +++ b/lib/isc/xoshiro128starstar.c @@ -18,7 +18,7 @@ * warranty. * * See . -*/ + */ #include @@ -36,12 +36,15 @@ */ ISC_THREAD_LOCAL uint32_t seed[4] = { 0 }; -static inline uint32_t rotl(const uint32_t x, int k) { +static inline uint32_t +rotl(const uint32_t x, int k) +{ return (x << k) | (x >> (32 - k)); } static inline uint32_t -next(void) { +next(void) +{ uint32_t result_starstar, t; result_starstar = rotl(seed[0] * 5, 7) * 9; diff --git a/lib/isccc/alist.c b/lib/isccc/alist.c index 95c5758178..bf9b116e53 100644 --- a/lib/isccc/alist.c +++ b/lib/isccc/alist.c @@ -23,28 +23,28 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - /*! \file */ #include #include #include -#include #include #include + +#include #include #include #include -#define CAR(s) (s)->value.as_dottedpair.car -#define CDR(s) (s)->value.as_dottedpair.cdr +#define CAR(s) (s)->value.as_dottedpair.car +#define CDR(s) (s)->value.as_dottedpair.cdr -#define ALIST_TAG "*alist*" -#define MAX_INDENT 64 +#define ALIST_TAG "*alist*" +#define MAX_INDENT 64 -static char spaces[MAX_INDENT + 1] = - " "; +static char spaces[MAX_INDENT + 1] = " " + " "; isccc_sexpr_t * isccc_alist_create(void) @@ -198,7 +198,8 @@ isccc_alist_definestring(isccc_sexpr_t *alist, const char *key, const char *str) } isccc_sexpr_t * -isccc_alist_definebinary(isccc_sexpr_t *alist, const char *key, isccc_region_t *r) +isccc_alist_definebinary(isccc_sexpr_t *alist, const char *key, + isccc_region_t *r) { isccc_sexpr_t *v, *kv; @@ -243,7 +244,8 @@ isccc_alist_lookupstring(isccc_sexpr_t *alist, const char *key, char **strp) } isc_result_t -isccc_alist_lookupbinary(isccc_sexpr_t *alist, const char *key, isccc_region_t **r) +isccc_alist_lookupbinary(isccc_sexpr_t *alist, const char *key, + isccc_region_t **r) { isccc_sexpr_t *kv, *v; @@ -269,8 +271,7 @@ isccc_alist_prettyprint(isccc_sexpr_t *sexpr, unsigned int indent, FILE *stream) if (isccc_alist_alistp(sexpr)) { fprintf(stream, "{\n"); indent += 4; - for (elt = isccc_alist_first(sexpr); - elt != NULL; + for (elt = isccc_alist_first(sexpr); elt != NULL; elt = CDR(elt)) { kv = CAR(elt); INSIST(isccc_sexpr_listp(kv)); @@ -289,9 +290,7 @@ isccc_alist_prettyprint(isccc_sexpr_t *sexpr, unsigned int indent, FILE *stream) } else if (isccc_sexpr_listp(sexpr)) { fprintf(stream, "(\n"); indent += 4; - for (elt = sexpr; - elt != NULL; - elt = CDR(elt)) { + for (elt = sexpr; elt != NULL; elt = CDR(elt)) { fprintf(stream, "%.*s", (int)indent, spaces); isccc_alist_prettyprint(CAR(elt), indent, stream); if (CDR(elt) != NULL) diff --git a/lib/isccc/base64.c b/lib/isccc/base64.c index 44b54c630a..0c02476d18 100644 --- a/lib/isccc/base64.c +++ b/lib/isccc/base64.c @@ -23,7 +23,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - /*! \file */ #include @@ -37,7 +36,7 @@ isc_result_t isccc_base64_encode(isccc_region_t *source, int wordlength, - const char *wordbreak, isccc_region_t *target) + const char *wordbreak, isccc_region_t *target) { isc_region_t sr; isc_buffer_t tb; @@ -57,7 +56,8 @@ isccc_base64_encode(isccc_region_t *source, int wordlength, } isc_result_t -isccc_base64_decode(const char *cstr, isccc_region_t *target) { +isccc_base64_decode(const char *cstr, isccc_region_t *target) +{ isc_buffer_t b; isc_result_t result; diff --git a/lib/isccc/cc.c b/lib/isccc/cc.c index b781cd28b7..ab6e1e572c 100644 --- a/lib/isccc/cc.c +++ b/lib/isccc/cc.c @@ -25,19 +25,17 @@ /*! \file */ +#include +#include #include #include -#include #include -#include #include #include #include #include -#include - #include #include #include @@ -46,58 +44,55 @@ #include #include #include +#include -#define MAX_TAGS 256 -#define DUP_LIFETIME 900 +#define MAX_TAGS 256 +#define DUP_LIFETIME 900 typedef isccc_sexpr_t *sexpr_ptr; static unsigned char auth_hmd5[] = { - 0x05, 0x5f, 0x61, 0x75, 0x74, 0x68, /*%< len + _auth */ - ISCCC_CCMSGTYPE_TABLE, /*%< message type */ - 0x00, 0x00, 0x00, 0x20, /*%< length == 32 */ - 0x04, 0x68, 0x6d, 0x64, 0x35, /*%< len + hmd5 */ - ISCCC_CCMSGTYPE_BINARYDATA, /*%< message type */ - 0x00, 0x00, 0x00, 0x16, /*%< length == 22 */ + 0x05, 0x5f, 0x61, 0x75, 0x74, 0x68, /*%< len + _auth */ + ISCCC_CCMSGTYPE_TABLE, /*%< message type */ + 0x00, 0x00, 0x00, 0x20, /*%< length == 32 */ + 0x04, 0x68, 0x6d, 0x64, 0x35, /*%< len + hmd5 */ + ISCCC_CCMSGTYPE_BINARYDATA, /*%< message type */ + 0x00, 0x00, 0x00, 0x16, /*%< length == 22 */ /* * The base64 encoding of one of our HMAC-MD5 signatures is * 22 bytes. */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -#define HMD5_OFFSET 21 /*%< 21 = 6 + 1 + 4 + 5 + 1 + 4 */ -#define HMD5_LENGTH 22 +#define HMD5_OFFSET 21 /*%< 21 = 6 + 1 + 4 + 5 + 1 + 4 */ +#define HMD5_LENGTH 22 static unsigned char auth_hsha[] = { - 0x05, 0x5f, 0x61, 0x75, 0x74, 0x68, /*%< len + _auth */ - ISCCC_CCMSGTYPE_TABLE, /*%< message type */ - 0x00, 0x00, 0x00, 0x63, /*%< length == 99 */ - 0x04, 0x68, 0x73, 0x68, 0x61, /*%< len + hsha */ - ISCCC_CCMSGTYPE_BINARYDATA, /*%< message type */ - 0x00, 0x00, 0x00, 0x59, /*%< length == 89 */ - 0x00, /*%< algorithm */ + 0x05, 0x5f, 0x61, 0x75, 0x74, 0x68, /*%< len + _auth */ + ISCCC_CCMSGTYPE_TABLE, /*%< message type */ + 0x00, 0x00, 0x00, 0x63, /*%< length == 99 */ + 0x04, 0x68, 0x73, 0x68, 0x61, /*%< len + hsha */ + ISCCC_CCMSGTYPE_BINARYDATA, /*%< message type */ + 0x00, 0x00, 0x00, 0x59, /*%< length == 89 */ + 0x00, /*%< algorithm */ /* * The base64 encoding of one of our HMAC-SHA* signatures is * 88 bytes. */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 }; -#define HSHA_OFFSET 22 /*%< 21 = 6 + 1 + 4 + 5 + 1 + 4 + 1 */ -#define HSHA_LENGTH 88 +#define HSHA_OFFSET 22 /*%< 21 = 6 + 1 + 4 + 5 + 1 + 4 + 1 */ +#define HSHA_LENGTH 88 static isc_result_t table_towire(isccc_sexpr_t *alist, isc_buffer_t **buffer); @@ -106,10 +101,11 @@ static isc_result_t list_towire(isccc_sexpr_t *alist, isc_buffer_t **buffer); static isc_result_t -value_towire(isccc_sexpr_t *elt, isc_buffer_t **buffer) { - unsigned int len; +value_towire(isccc_sexpr_t *elt, isc_buffer_t **buffer) +{ + unsigned int len; isccc_region_t *vr; - isc_result_t result; + isc_result_t result; if (isccc_sexpr_binaryp(elt)) { vr = isccc_sexpr_tobinary(elt); @@ -154,7 +150,7 @@ value_towire(isccc_sexpr_t *elt, isc_buffer_t **buffer) { INSIST(len >= 4U); len -= 4; - isc_buffer_init(&b, (unsigned char *) (*buffer)->base + used, 4); + isc_buffer_init(&b, (unsigned char *)(*buffer)->base + used, 4); isc_buffer_putuint32(&b, len); } else if (isccc_sexpr_listp(elt)) { unsigned int used; @@ -186,7 +182,7 @@ value_towire(isccc_sexpr_t *elt, isc_buffer_t **buffer) { INSIST(len >= 4U); len -= 4; - isc_buffer_init(&b, (unsigned char *) (*buffer)->base + used, 4); + isc_buffer_init(&b, (unsigned char *)(*buffer)->base + used, 4); isc_buffer_putuint32(&b, len); } @@ -194,14 +190,14 @@ value_towire(isccc_sexpr_t *elt, isc_buffer_t **buffer) { } static isc_result_t -table_towire(isccc_sexpr_t *alist, isc_buffer_t **buffer) { +table_towire(isccc_sexpr_t *alist, isc_buffer_t **buffer) +{ isccc_sexpr_t *kv, *elt, *k, *v; - char *ks; - isc_result_t result; - unsigned int len; + char * ks; + isc_result_t result; + unsigned int len; - for (elt = isccc_alist_first(alist); - elt != NULL; + for (elt = isccc_alist_first(alist); elt != NULL; elt = ISCCC_SEXPR_CDR(elt)) { kv = ISCCC_SEXPR_CAR(elt); k = ISCCC_SEXPR_CAR(kv); @@ -216,7 +212,7 @@ table_towire(isccc_sexpr_t *alist, isc_buffer_t **buffer) { if (result != ISC_R_SUCCESS) return (ISC_R_NOSPACE); isc_buffer_putuint8(*buffer, (uint8_t)len); - isc_buffer_putmem(*buffer, (const unsigned char *) ks, len); + isc_buffer_putmem(*buffer, (const unsigned char *)ks, len); /* * Emit the value. */ @@ -229,7 +225,8 @@ table_towire(isccc_sexpr_t *alist, isc_buffer_t **buffer) { } static isc_result_t -list_towire(isccc_sexpr_t *list, isc_buffer_t **buffer) { +list_towire(isccc_sexpr_t *list, isc_buffer_t **buffer) +{ isc_result_t result; while (list != NULL) { @@ -246,12 +243,12 @@ static isc_result_t sign(unsigned char *data, unsigned int length, unsigned char *hmac, uint32_t algorithm, isccc_region_t *secret) { - isc_md_type_t md_type; - isc_result_t result; + isc_md_type_t md_type; + isc_result_t result; isccc_region_t source, target; - unsigned char digest[ISC_MAX_MD_SIZE]; - unsigned int digestlen; - unsigned char digestb64[HSHA_LENGTH + 4]; + unsigned char digest[ISC_MAX_MD_SIZE]; + unsigned int digestlen; + unsigned char digestb64[HSHA_LENGTH + 4]; source.rstart = digest; @@ -278,10 +275,8 @@ sign(unsigned char *data, unsigned int length, unsigned char *hmac, return (ISC_R_NOTIMPLEMENTED); } - result = isc_hmac(md_type, - secret->rstart, REGION_SIZE(*secret), - data, length, - digest, &digestlen); + result = isc_hmac(md_type, secret->rstart, REGION_SIZE(*secret), data, + length, digest, &digestlen); if (result != ISC_R_SUCCESS) { return (result); } @@ -301,16 +296,16 @@ sign(unsigned char *data, unsigned int length, unsigned char *hmac, } isc_result_t -isccc_cc_towire(isccc_sexpr_t *alist, isc_buffer_t **buffer, - uint32_t algorithm, isccc_region_t *secret) +isccc_cc_towire(isccc_sexpr_t *alist, isc_buffer_t **buffer, uint32_t algorithm, + isccc_region_t *secret) { unsigned int hmac_base, signed_base; isc_result_t result; - result = isc_buffer_reserve(buffer, - 4 + ((algorithm == ISCCC_ALG_HMACMD5) ? - sizeof(auth_hmd5) : - sizeof(auth_hsha))); + result = + isc_buffer_reserve(buffer, 4 + ((algorithm == ISCCC_ALG_HMACMD5) + ? sizeof(auth_hmd5) + : sizeof(auth_hsha))); if (result != ISC_R_SUCCESS) return (ISC_R_NOSPACE); @@ -327,17 +322,16 @@ isccc_cc_towire(isccc_sexpr_t *alist, isc_buffer_t **buffer, */ if (algorithm == ISCCC_ALG_HMACMD5) { hmac_base = (*buffer)->used + HMD5_OFFSET; - isc_buffer_putmem(*buffer, - auth_hmd5, sizeof(auth_hmd5)); - } else - { + isc_buffer_putmem(*buffer, auth_hmd5, + sizeof(auth_hmd5)); + } else { unsigned char *hmac_alg; hmac_base = (*buffer)->used + HSHA_OFFSET; - hmac_alg = (unsigned char *) isc_buffer_used(*buffer) + - HSHA_OFFSET - 1; - isc_buffer_putmem(*buffer, - auth_hsha, sizeof(auth_hsha)); + hmac_alg = (unsigned char *)isc_buffer_used(*buffer) + + HSHA_OFFSET - 1; + isc_buffer_putmem(*buffer, auth_hsha, + sizeof(auth_hsha)); *hmac_alg = algorithm; } } else @@ -355,9 +349,9 @@ isccc_cc_towire(isccc_sexpr_t *alist, isc_buffer_t **buffer, if (result != ISC_R_SUCCESS) return (result); if (secret != NULL) - return (sign((unsigned char *) (*buffer)->base + signed_base, + return (sign((unsigned char *)(*buffer)->base + signed_base, (*buffer)->used - signed_base, - (unsigned char *) (*buffer)->base + hmac_base, + (unsigned char *)(*buffer)->base + hmac_base, algorithm, secret)); return (ISC_R_SUCCESS); } @@ -366,14 +360,14 @@ static isc_result_t verify(isccc_sexpr_t *alist, unsigned char *data, unsigned int length, uint32_t algorithm, isccc_region_t *secret) { - isc_md_type_t md_type; + isc_md_type_t md_type; isccc_region_t source; isccc_region_t target; - isc_result_t result; + isc_result_t result; isccc_sexpr_t *_auth, *hmac; - unsigned char digest[ISC_MAX_MD_SIZE]; - unsigned int digestlen; - unsigned char digestb64[HSHA_LENGTH * 4]; + unsigned char digest[ISC_MAX_MD_SIZE]; + unsigned int digestlen; + unsigned char digestb64[HSHA_LENGTH * 4]; /* * Extract digest. @@ -415,10 +409,8 @@ verify(isccc_sexpr_t *alist, unsigned char *data, unsigned int length, return (ISC_R_NOTIMPLEMENTED); } - result = isc_hmac(md_type, - secret->rstart, REGION_SIZE(*secret), - data, length, - digest, &digestlen); + result = isc_hmac(md_type, secret->rstart, REGION_SIZE(*secret), data, + length, digest, &digestlen); if (result != ISC_R_SUCCESS) { return (result); } @@ -436,7 +428,7 @@ verify(isccc_sexpr_t *alist, unsigned char *data, unsigned int length, */ if (algorithm == ISCCC_ALG_HMACMD5) { isccc_region_t *region; - unsigned char *value; + unsigned char * value; region = isccc_sexpr_tobinary(hmac); if ((region->rend - region->rstart) != HMD5_LENGTH) @@ -446,8 +438,8 @@ verify(isccc_sexpr_t *alist, unsigned char *data, unsigned int length, return (ISCCC_R_BADAUTH); } else { isccc_region_t *region; - unsigned char *value; - uint32_t valalg; + unsigned char * value; + uint32_t valalg; region = isccc_sexpr_tobinary(hmac); @@ -475,12 +467,13 @@ static isc_result_t list_fromwire(isccc_region_t *source, isccc_sexpr_t **listp); static isc_result_t -value_fromwire(isccc_region_t *source, isccc_sexpr_t **valuep) { - unsigned int msgtype; - uint32_t len; +value_fromwire(isccc_region_t *source, isccc_sexpr_t **valuep) +{ + unsigned int msgtype; + uint32_t len; isccc_sexpr_t *value; isccc_region_t active; - isc_result_t result; + isc_result_t result; if (REGION_SIZE(*source) < 1 + 4) return (ISC_R_UNEXPECTEDEND); @@ -512,11 +505,11 @@ static isc_result_t table_fromwire(isccc_region_t *source, isccc_region_t *secret, uint32_t algorithm, isccc_sexpr_t **alistp) { - char key[256]; - uint32_t len; - isc_result_t result; + char key[256]; + uint32_t len; + isc_result_t result; isccc_sexpr_t *alist, *value; - bool first_tag; + bool first_tag; unsigned char *checksum_rstart; REQUIRE(alistp != NULL && *alistp == NULL); @@ -534,7 +527,7 @@ table_fromwire(isccc_region_t *source, isccc_region_t *secret, goto bad; } GET_MEM(key, len, source->rstart); - key[len] = '\0'; /* Ensure NUL termination. */ + key[len] = '\0'; /* Ensure NUL termination. */ value = NULL; result = value_fromwire(source, &value); if (result != ISC_R_SUCCESS) @@ -550,16 +543,16 @@ table_fromwire(isccc_region_t *source, isccc_region_t *secret, if (secret != NULL) { if (checksum_rstart != NULL) - result = verify(alist, checksum_rstart, - (unsigned int) - (source->rend - checksum_rstart), - algorithm, secret); + result = verify( + alist, checksum_rstart, + (unsigned int)(source->rend - checksum_rstart), + algorithm, secret); else result = ISCCC_R_BADAUTH; } else result = ISC_R_SUCCESS; - bad: +bad: if (result == ISC_R_SUCCESS) *alistp = alist; else @@ -569,9 +562,10 @@ table_fromwire(isccc_region_t *source, isccc_region_t *secret, } static isc_result_t -list_fromwire(isccc_region_t *source, isccc_sexpr_t **listp) { +list_fromwire(isccc_region_t *source, isccc_sexpr_t **listp) +{ isccc_sexpr_t *list, *value; - isc_result_t result; + isc_result_t result; list = NULL; while (!REGION_EMPTY(*source)) { @@ -598,7 +592,7 @@ isccc_cc_fromwire(isccc_region_t *source, isccc_sexpr_t **alistp, uint32_t algorithm, isccc_region_t *secret) { unsigned int size; - uint32_t version; + uint32_t version; size = REGION_SIZE(*source); if (size < 4) @@ -612,12 +606,11 @@ isccc_cc_fromwire(isccc_region_t *source, isccc_sexpr_t **alistp, static isc_result_t createmessage(uint32_t version, const char *from, const char *to, - uint32_t serial, isccc_time_t now, - isccc_time_t expires, isccc_sexpr_t **alistp, - bool want_expires) + uint32_t serial, isccc_time_t now, isccc_time_t expires, + isccc_sexpr_t **alistp, bool want_expires) { isccc_sexpr_t *alist, *_ctrl, *_data; - isc_result_t result; + isc_result_t result; REQUIRE(alistp != NULL && *alistp == NULL); @@ -651,18 +644,16 @@ createmessage(uint32_t version, const char *from, const char *to, (want_expires && isccc_cc_defineuint32(_ctrl, "_exp", expires) == NULL)) goto bad; - if (from != NULL && - isccc_cc_definestring(_ctrl, "_frm", from) == NULL) + if (from != NULL && isccc_cc_definestring(_ctrl, "_frm", from) == NULL) goto bad; - if (to != NULL && - isccc_cc_definestring(_ctrl, "_to", to) == NULL) + if (to != NULL && isccc_cc_definestring(_ctrl, "_to", to) == NULL) goto bad; *alistp = alist; return (ISC_R_SUCCESS); - bad: +bad: isccc_sexpr_free(&alist); return (result); @@ -670,22 +661,21 @@ createmessage(uint32_t version, const char *from, const char *to, isc_result_t isccc_cc_createmessage(uint32_t version, const char *from, const char *to, - uint32_t serial, isccc_time_t now, - isccc_time_t expires, isccc_sexpr_t **alistp) + uint32_t serial, isccc_time_t now, isccc_time_t expires, + isccc_sexpr_t **alistp) { - return (createmessage(version, from, to, serial, now, expires, - alistp, true)); + return (createmessage(version, from, to, serial, now, expires, alistp, + true)); } isc_result_t -isccc_cc_createack(isccc_sexpr_t *message, bool ok, - isccc_sexpr_t **ackp) +isccc_cc_createack(isccc_sexpr_t *message, bool ok, isccc_sexpr_t **ackp) { - char *_frm, *_to; - uint32_t serial; + char * _frm, *_to; + uint32_t serial; isccc_sexpr_t *ack, *_ctrl; - isc_result_t result; - isccc_time_t t; + isc_result_t result; + isccc_time_t t; REQUIRE(ackp != NULL && *ackp == NULL); @@ -723,14 +713,15 @@ isccc_cc_createack(isccc_sexpr_t *message, bool ok, return (ISC_R_SUCCESS); - bad: +bad: isccc_sexpr_free(&ack); return (result); } bool -isccc_cc_isack(isccc_sexpr_t *message) { +isccc_cc_isack(isccc_sexpr_t *message) +{ isccc_sexpr_t *_ctrl; _ctrl = isccc_alist_lookup(message, "_ctrl"); @@ -742,7 +733,8 @@ isccc_cc_isack(isccc_sexpr_t *message) { } bool -isccc_cc_isreply(isccc_sexpr_t *message) { +isccc_cc_isreply(isccc_sexpr_t *message) +{ isccc_sexpr_t *_ctrl; _ctrl = isccc_alist_lookup(message, "_ctrl"); @@ -757,10 +749,10 @@ isc_result_t isccc_cc_createresponse(isccc_sexpr_t *message, isccc_time_t now, isccc_time_t expires, isccc_sexpr_t **alistp) { - char *_frm, *_to, *type = NULL; - uint32_t serial; + char * _frm, *_to, *type = NULL; + uint32_t serial; isccc_sexpr_t *alist, *_ctrl, *_data; - isc_result_t result; + isc_result_t result; REQUIRE(alistp != NULL && *alistp == NULL); @@ -782,7 +774,7 @@ isccc_cc_createresponse(isccc_sexpr_t *message, isccc_time_t now, */ alist = NULL; result = isccc_cc_createmessage(1, _to, _frm, serial, now, expires, - &alist); + &alist); if (result != ISC_R_SUCCESS) return (result); @@ -799,8 +791,7 @@ isccc_cc_createresponse(isccc_sexpr_t *message, isccc_time_t now, } if (isccc_cc_definestring(_ctrl, "_rpl", "1") == NULL || - isccc_cc_definestring(_data, "type", type) == NULL) - { + isccc_cc_definestring(_data, "type", type) == NULL) { result = ISC_R_NOMEMORY; goto bad; } @@ -809,14 +800,15 @@ isccc_cc_createresponse(isccc_sexpr_t *message, isccc_time_t now, return (ISC_R_SUCCESS); - bad: +bad: isccc_sexpr_free(&alist); return (result); } isccc_sexpr_t * -isccc_cc_definestring(isccc_sexpr_t *alist, const char *key, const char *str) { - size_t len; +isccc_cc_definestring(isccc_sexpr_t *alist, const char *key, const char *str) +{ + size_t len; isccc_region_t r; len = strlen(str); @@ -827,9 +819,10 @@ isccc_cc_definestring(isccc_sexpr_t *alist, const char *key, const char *str) { } isccc_sexpr_t * -isccc_cc_defineuint32(isccc_sexpr_t *alist, const char *key, uint32_t i) { - char b[100]; - size_t len; +isccc_cc_defineuint32(isccc_sexpr_t *alist, const char *key, uint32_t i) +{ + char b[100]; + size_t len; isccc_region_t r; snprintf(b, sizeof(b), "%u", i); @@ -841,7 +834,8 @@ isccc_cc_defineuint32(isccc_sexpr_t *alist, const char *key, uint32_t i) { } isc_result_t -isccc_cc_lookupstring(isccc_sexpr_t *alist, const char *key, char **strp) { +isccc_cc_lookupstring(isccc_sexpr_t *alist, const char *key, char **strp) +{ isccc_sexpr_t *kv, *v; REQUIRE(strp == NULL || *strp == NULL); @@ -861,8 +855,7 @@ isccc_cc_lookupstring(isccc_sexpr_t *alist, const char *key, char **strp) { } isc_result_t -isccc_cc_lookupuint32(isccc_sexpr_t *alist, const char *key, - uint32_t *uintp) +isccc_cc_lookupuint32(isccc_sexpr_t *alist, const char *key, uint32_t *uintp) { isccc_sexpr_t *kv, *v; @@ -871,9 +864,8 @@ isccc_cc_lookupuint32(isccc_sexpr_t *alist, const char *key, v = ISCCC_SEXPR_CDR(kv); if (isccc_sexpr_binaryp(v)) { if (uintp != NULL) - *uintp = (uint32_t) - strtoul(isccc_sexpr_tostring(v), - NULL, 10); + *uintp = (uint32_t)strtoul( + isccc_sexpr_tostring(v), NULL, 10); return (ISC_R_SUCCESS); } else return (ISC_R_EXISTS); @@ -883,8 +875,7 @@ isccc_cc_lookupuint32(isccc_sexpr_t *alist, const char *key, } static void -symtab_undefine(char *key, unsigned int type, isccc_symvalue_t value, - void *arg) +symtab_undefine(char *key, unsigned int type, isccc_symvalue_t value, void *arg) { UNUSED(type); UNUSED(value); @@ -894,7 +885,8 @@ symtab_undefine(char *key, unsigned int type, isccc_symvalue_t value, } static bool -symtab_clean(char *key, unsigned int type, isccc_symvalue_t value, void *arg) { +symtab_clean(char *key, unsigned int type, isccc_symvalue_t value, void *arg) +{ isccc_time_t *now; UNUSED(key); @@ -910,18 +902,21 @@ symtab_clean(char *key, unsigned int type, isccc_symvalue_t value, void *arg) { } isc_result_t -isccc_cc_createsymtab(isccc_symtab_t **symtabp) { +isccc_cc_createsymtab(isccc_symtab_t **symtabp) +{ return (isccc_symtab_create(11897, symtab_undefine, NULL, false, - symtabp)); + symtabp)); } void -isccc_cc_cleansymtab(isccc_symtab_t *symtab, isccc_time_t now) { +isccc_cc_cleansymtab(isccc_symtab_t *symtab, isccc_time_t now) +{ isccc_symtab_foreach(symtab, symtab_clean, &now); } static bool -has_whitespace(const char *str) { +has_whitespace(const char *str) +{ char c; if (str == NULL) @@ -937,14 +932,14 @@ isc_result_t isccc_cc_checkdup(isccc_symtab_t *symtab, isccc_sexpr_t *message, isccc_time_t now) { - const char *_frm; - const char *_to; - char *_ser = NULL, *_tim = NULL, *tmp; - isc_result_t result; - char *key; - size_t len; + const char * _frm; + const char * _to; + char * _ser = NULL, *_tim = NULL, *tmp; + isc_result_t result; + char * key; + size_t len; isccc_symvalue_t value; - isccc_sexpr_t *_ctrl; + isccc_sexpr_t * _ctrl; _ctrl = isccc_alist_lookup(message, "_ctrl"); if (!isccc_alist_alistp(_ctrl) || @@ -982,7 +977,7 @@ isccc_cc_checkdup(isccc_symtab_t *symtab, isccc_sexpr_t *message, snprintf(key, len, "%s;%s;%s;%s", _frm, _to, _ser, _tim); value.as_uinteger = now; result = isccc_symtab_define(symtab, key, ISCCC_SYMTYPE_CCDUP, value, - isccc_symexists_reject); + isccc_symexists_reject); if (result != ISC_R_SUCCESS) { free(key); return (result); diff --git a/lib/isccc/ccmsg.c b/lib/isccc/ccmsg.c index f747eef860..d0cc1f7cea 100644 --- a/lib/isccc/ccmsg.c +++ b/lib/isccc/ccmsg.c @@ -23,7 +23,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - /*! \file */ #include @@ -33,23 +32,25 @@ #include #include -#include #include +#include -#define CCMSG_MAGIC ISC_MAGIC('C', 'C', 'm', 's') -#define VALID_CCMSG(foo) ISC_MAGIC_VALID(foo, CCMSG_MAGIC) - -static void recv_length(isc_task_t *, isc_event_t *); -static void recv_message(isc_task_t *, isc_event_t *); - +#define CCMSG_MAGIC ISC_MAGIC('C', 'C', 'm', 's') +#define VALID_CCMSG(foo) ISC_MAGIC_VALID(foo, CCMSG_MAGIC) static void -recv_length(isc_task_t *task, isc_event_t *ev_in) { +recv_length(isc_task_t *, isc_event_t *); +static void +recv_message(isc_task_t *, isc_event_t *); + +static void +recv_length(isc_task_t *task, isc_event_t *ev_in) +{ isc_socketevent_t *ev = (isc_socketevent_t *)ev_in; - isc_event_t *dev; - isccc_ccmsg_t *ccmsg = ev_in->ev_arg; - isc_region_t region; - isc_result_t result; + isc_event_t * dev; + isccc_ccmsg_t * ccmsg = ev_in->ev_arg; + isc_region_t region; + isc_result_t result; INSIST(VALID_CCMSG(ccmsg)); @@ -81,8 +82,8 @@ recv_length(isc_task_t *task, isc_event_t *ev_in) { } isc_buffer_init(&ccmsg->buffer, region.base, region.length); - result = isc_socket_recv(ccmsg->sock, ®ion, 0, - task, recv_message, ccmsg); + result = isc_socket_recv(ccmsg->sock, ®ion, 0, task, recv_message, + ccmsg); if (result != ISC_R_SUCCESS) { ccmsg->result = result; goto send_and_free; @@ -91,7 +92,7 @@ recv_length(isc_task_t *task, isc_event_t *ev_in) { isc_event_free(&ev_in); return; - send_and_free: +send_and_free: isc_task_send(ccmsg->task, &dev); ccmsg->task = NULL; isc_event_free(&ev_in); @@ -99,10 +100,11 @@ recv_length(isc_task_t *task, isc_event_t *ev_in) { } static void -recv_message(isc_task_t *task, isc_event_t *ev_in) { +recv_message(isc_task_t *task, isc_event_t *ev_in) +{ isc_socketevent_t *ev = (isc_socketevent_t *)ev_in; - isc_event_t *dev; - isccc_ccmsg_t *ccmsg = ev_in->ev_arg; + isc_event_t * dev; + isccc_ccmsg_t * ccmsg = ev_in->ev_arg; (void)task; @@ -119,14 +121,15 @@ recv_message(isc_task_t *task, isc_event_t *ev_in) { isc_buffer_add(&ccmsg->buffer, ev->n); ccmsg->address = ev->address; - send_and_free: +send_and_free: isc_task_send(ccmsg->task, &dev); ccmsg->task = NULL; isc_event_free(&ev_in); } void -isccc_ccmsg_init(isc_mem_t *mctx, isc_socket_t *sock, isccc_ccmsg_t *ccmsg) { +isccc_ccmsg_init(isc_mem_t *mctx, isc_socket_t *sock, isccc_ccmsg_t *ccmsg) +{ REQUIRE(mctx != NULL); REQUIRE(sock != NULL); REQUIRE(ccmsg != NULL); @@ -135,35 +138,34 @@ isccc_ccmsg_init(isc_mem_t *mctx, isc_socket_t *sock, isccc_ccmsg_t *ccmsg) { ccmsg->size = 0; ccmsg->buffer.base = NULL; ccmsg->buffer.length = 0; - ccmsg->maxsize = 4294967295U; /* Largest message possible. */ + ccmsg->maxsize = 4294967295U; /* Largest message possible. */ ccmsg->mctx = mctx; ccmsg->sock = sock; - ccmsg->task = NULL; /* None yet. */ - ccmsg->result = ISC_R_UNEXPECTED; /* None yet. */ - /* - * Should probably initialize the event here, but it can wait. - */ + ccmsg->task = NULL; /* None yet. */ + ccmsg->result = ISC_R_UNEXPECTED; /* None yet. */ + /* + * Should probably initialize the event here, but it can wait. + */ } - void -isccc_ccmsg_setmaxsize(isccc_ccmsg_t *ccmsg, unsigned int maxsize) { +isccc_ccmsg_setmaxsize(isccc_ccmsg_t *ccmsg, unsigned int maxsize) +{ REQUIRE(VALID_CCMSG(ccmsg)); ccmsg->maxsize = maxsize; } - isc_result_t -isccc_ccmsg_readmessage(isccc_ccmsg_t *ccmsg, - isc_task_t *task, isc_taskaction_t action, void *arg) +isccc_ccmsg_readmessage(isccc_ccmsg_t *ccmsg, isc_task_t *task, + isc_taskaction_t action, void *arg) { isc_result_t result; isc_region_t region; REQUIRE(VALID_CCMSG(ccmsg)); REQUIRE(task != NULL); - REQUIRE(ccmsg->task == NULL); /* not currently in use */ + REQUIRE(ccmsg->task == NULL); /* not currently in use */ if (ccmsg->buffer.base != NULL) { isc_mem_put(ccmsg->mctx, ccmsg->buffer.base, @@ -175,16 +177,15 @@ isccc_ccmsg_readmessage(isccc_ccmsg_t *ccmsg, ccmsg->task = task; ccmsg->action = action; ccmsg->arg = arg; - ccmsg->result = ISC_R_UNEXPECTED; /* unknown right now */ + ccmsg->result = ISC_R_UNEXPECTED; /* unknown right now */ ISC_EVENT_INIT(&ccmsg->event, sizeof(isc_event_t), 0, 0, - ISCCC_EVENT_CCMSG, action, arg, ccmsg, - NULL, NULL); + ISCCC_EVENT_CCMSG, action, arg, ccmsg, NULL, NULL); region.base = (unsigned char *)&ccmsg->size; - region.length = 4; /* uint32_t */ - result = isc_socket_recv(ccmsg->sock, ®ion, 0, - ccmsg->task, recv_length, ccmsg); + region.length = 4; /* uint32_t */ + result = isc_socket_recv(ccmsg->sock, ®ion, 0, ccmsg->task, + recv_length, ccmsg); if (result != ISC_R_SUCCESS) ccmsg->task = NULL; @@ -193,7 +194,8 @@ isccc_ccmsg_readmessage(isccc_ccmsg_t *ccmsg, } void -isccc_ccmsg_cancelread(isccc_ccmsg_t *ccmsg) { +isccc_ccmsg_cancelread(isccc_ccmsg_t *ccmsg) +{ REQUIRE(VALID_CCMSG(ccmsg)); isc_socket_cancel(ccmsg->sock, NULL, ISC_SOCKCANCEL_RECV); @@ -214,7 +216,8 @@ isccc_ccmsg_freebuffer(isccc_ccmsg_t *ccmsg) { #endif void -isccc_ccmsg_invalidate(isccc_ccmsg_t *ccmsg) { +isccc_ccmsg_invalidate(isccc_ccmsg_t *ccmsg) +{ REQUIRE(VALID_CCMSG(ccmsg)); ccmsg->magic = 0; diff --git a/lib/isccc/include/isccc/alist.h b/lib/isccc/include/isccc/alist.h index ea50a44339..d0423ed6af 100644 --- a/lib/isccc/include/isccc/alist.h +++ b/lib/isccc/include/isccc/alist.h @@ -23,7 +23,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - #ifndef ISCCC_ALIST_H #define ISCCC_ALIST_H 1 @@ -33,6 +32,7 @@ #include #include + #include ISC_LANG_BEGINDECLS @@ -59,10 +59,12 @@ isccc_sexpr_t * isccc_alist_define(isccc_sexpr_t *alist, const char *key, isccc_sexpr_t *value); isccc_sexpr_t * -isccc_alist_definestring(isccc_sexpr_t *alist, const char *key, const char *str); +isccc_alist_definestring(isccc_sexpr_t *alist, const char *key, + const char *str); isccc_sexpr_t * -isccc_alist_definebinary(isccc_sexpr_t *alist, const char *key, isccc_region_t *r); +isccc_alist_definebinary(isccc_sexpr_t *alist, const char *key, + isccc_region_t *r); isccc_sexpr_t * isccc_alist_lookup(isccc_sexpr_t *alist, const char *key); @@ -71,10 +73,12 @@ isc_result_t isccc_alist_lookupstring(isccc_sexpr_t *alist, const char *key, char **strp); isc_result_t -isccc_alist_lookupbinary(isccc_sexpr_t *alist, const char *key, isccc_region_t **r); +isccc_alist_lookupbinary(isccc_sexpr_t *alist, const char *key, + isccc_region_t **r); void -isccc_alist_prettyprint(isccc_sexpr_t *sexpr, unsigned int indent, FILE *stream); +isccc_alist_prettyprint(isccc_sexpr_t *sexpr, unsigned int indent, + FILE *stream); ISC_LANG_ENDDECLS diff --git a/lib/isccc/include/isccc/base64.h b/lib/isccc/include/isccc/base64.h index c9bf70a9d7..bcc6d45209 100644 --- a/lib/isccc/include/isccc/base64.h +++ b/lib/isccc/include/isccc/base64.h @@ -23,13 +23,13 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - #ifndef ISCCC_BASE64_H #define ISCCC_BASE64_H 1 /*! \file isccc/base64.h */ #include + #include ISC_LANG_BEGINDECLS @@ -40,7 +40,7 @@ ISC_LANG_BEGINDECLS isc_result_t isccc_base64_encode(isccc_region_t *source, int wordlength, - const char *wordbreak, isccc_region_t *target); + const char *wordbreak, isccc_region_t *target); /*%< * Convert data into base64 encoded text. * diff --git a/lib/isccc/include/isccc/cc.h b/lib/isccc/include/isccc/cc.h index 5da2a72946..0623192379 100644 --- a/lib/isccc/include/isccc/cc.h +++ b/lib/isccc/include/isccc/cc.h @@ -23,7 +23,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - #ifndef ISCCC_CC_H #define ISCCC_CC_H 1 @@ -32,38 +31,39 @@ #include #include -#include #include +#include + #include ISC_LANG_BEGINDECLS /*% from lib/dns/include/dst/dst.h */ -#define ISCCC_ALG_UNKNOWN 0 -#define ISCCC_ALG_HMACMD5 157 -#define ISCCC_ALG_HMACSHA1 161 -#define ISCCC_ALG_HMACSHA224 162 -#define ISCCC_ALG_HMACSHA256 163 -#define ISCCC_ALG_HMACSHA384 164 -#define ISCCC_ALG_HMACSHA512 165 +#define ISCCC_ALG_UNKNOWN 0 +#define ISCCC_ALG_HMACMD5 157 +#define ISCCC_ALG_HMACSHA1 161 +#define ISCCC_ALG_HMACSHA224 162 +#define ISCCC_ALG_HMACSHA256 163 +#define ISCCC_ALG_HMACSHA384 164 +#define ISCCC_ALG_HMACSHA512 165 /*% Maximum Datagram Package */ -#define ISCCC_CC_MAXDGRAMPACKET 4096 +#define ISCCC_CC_MAXDGRAMPACKET 4096 /*% Message Type String */ -#define ISCCC_CCMSGTYPE_STRING 0x00 +#define ISCCC_CCMSGTYPE_STRING 0x00 /*% Message Type Binary Data */ -#define ISCCC_CCMSGTYPE_BINARYDATA 0x01 +#define ISCCC_CCMSGTYPE_BINARYDATA 0x01 /*% Message Type Table */ -#define ISCCC_CCMSGTYPE_TABLE 0x02 +#define ISCCC_CCMSGTYPE_TABLE 0x02 /*% Message Type List */ -#define ISCCC_CCMSGTYPE_LIST 0x03 +#define ISCCC_CCMSGTYPE_LIST 0x03 /*% Send to Wire */ isc_result_t -isccc_cc_towire(isccc_sexpr_t *alist, isc_buffer_t **buffer, - uint32_t algorithm, isccc_region_t *secret); +isccc_cc_towire(isccc_sexpr_t *alist, isc_buffer_t **buffer, uint32_t algorithm, + isccc_region_t *secret); /*% Get From Wire */ isc_result_t @@ -73,13 +73,12 @@ isccc_cc_fromwire(isccc_region_t *source, isccc_sexpr_t **alistp, /*% Create Message */ isc_result_t isccc_cc_createmessage(uint32_t version, const char *from, const char *to, - uint32_t serial, isccc_time_t now, - isccc_time_t expires, isccc_sexpr_t **alistp); + uint32_t serial, isccc_time_t now, isccc_time_t expires, + isccc_sexpr_t **alistp); /*% Create Acknowledgment */ isc_result_t -isccc_cc_createack(isccc_sexpr_t *message, bool ok, - isccc_sexpr_t **ackp); +isccc_cc_createack(isccc_sexpr_t *message, bool ok, isccc_sexpr_t **ackp); /*% Is Ack? */ bool @@ -108,8 +107,7 @@ isccc_cc_lookupstring(isccc_sexpr_t *alist, const char *key, char **strp); /*% Lookup uint 32 */ isc_result_t -isccc_cc_lookupuint32(isccc_sexpr_t *alist, const char *key, - uint32_t *uintp); +isccc_cc_lookupuint32(isccc_sexpr_t *alist, const char *key, uint32_t *uintp); /*% Create Symbol Table */ isc_result_t diff --git a/lib/isccc/include/isccc/ccmsg.h b/lib/isccc/include/isccc/ccmsg.h index 230d985c24..082abb2eef 100644 --- a/lib/isccc/include/isccc/ccmsg.h +++ b/lib/isccc/include/isccc/ccmsg.h @@ -23,7 +23,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - #ifndef ISCCC_CCMSG_H #define ISCCC_CCMSG_H 1 @@ -38,19 +37,19 @@ /*% ISCCC Message Structure */ typedef struct isccc_ccmsg { /* private (don't touch!) */ - unsigned int magic; - uint32_t size; - isc_buffer_t buffer; - unsigned int maxsize; - isc_mem_t *mctx; - isc_socket_t *sock; - isc_task_t *task; - isc_taskaction_t action; - void *arg; - isc_event_t event; + unsigned int magic; + uint32_t size; + isc_buffer_t buffer; + unsigned int maxsize; + isc_mem_t * mctx; + isc_socket_t * sock; + isc_task_t * task; + isc_taskaction_t action; + void * arg; + isc_event_t event; /* public (read-only) */ - isc_result_t result; - isc_sockaddr_t address; + isc_result_t result; + isc_sockaddr_t address; } isccc_ccmsg_t; ISC_LANG_BEGINDECLS @@ -87,8 +86,8 @@ isccc_ccmsg_setmaxsize(isccc_ccmsg_t *ccmsg, unsigned int maxsize); */ isc_result_t -isccc_ccmsg_readmessage(isccc_ccmsg_t *ccmsg, - isc_task_t *task, isc_taskaction_t action, void *arg); +isccc_ccmsg_readmessage(isccc_ccmsg_t *ccmsg, isc_task_t *task, + isc_taskaction_t action, void *arg); /*% * Schedule an event to be delivered when a command channel message is * readable, or when an error occurs on the socket. diff --git a/lib/isccc/include/isccc/events.h b/lib/isccc/include/isccc/events.h index 5b6d23fc1d..a1493845fc 100644 --- a/lib/isccc/include/isccc/events.h +++ b/lib/isccc/include/isccc/events.h @@ -23,7 +23,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - #ifndef ISCCC_EVENTS_H #define ISCCC_EVENTS_H 1 @@ -35,9 +34,9 @@ * Registry of ISCCC event numbers. */ -#define ISCCC_EVENT_CCMSG (ISC_EVENTCLASS_ISCCC + 0) +#define ISCCC_EVENT_CCMSG (ISC_EVENTCLASS_ISCCC + 0) -#define ISCCC_EVENT_FIRSTEVENT (ISC_EVENTCLASS_ISCCC + 0) -#define ISCCC_EVENT_LASTEVENT (ISC_EVENTCLASS_ISCCC + 65535) +#define ISCCC_EVENT_FIRSTEVENT (ISC_EVENTCLASS_ISCCC + 0) +#define ISCCC_EVENT_LASTEVENT (ISC_EVENTCLASS_ISCCC + 65535) #endif /* ISCCC_EVENTS_H */ diff --git a/lib/isccc/include/isccc/result.h b/lib/isccc/include/isccc/result.h index 6ff81ad9d4..764015e332 100644 --- a/lib/isccc/include/isccc/result.h +++ b/lib/isccc/include/isccc/result.h @@ -23,32 +23,31 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - #ifndef ISCCC_RESULT_H #define ISCCC_RESULT_H 1 /*! \file isccc/result.h */ #include -#include #include +#include #include /*% Unknown Version */ -#define ISCCC_R_UNKNOWNVERSION (ISC_RESULTCLASS_ISCCC + 0) +#define ISCCC_R_UNKNOWNVERSION (ISC_RESULTCLASS_ISCCC + 0) /*% Syntax Error */ -#define ISCCC_R_SYNTAX (ISC_RESULTCLASS_ISCCC + 1) +#define ISCCC_R_SYNTAX (ISC_RESULTCLASS_ISCCC + 1) /*% Bad Authorization */ -#define ISCCC_R_BADAUTH (ISC_RESULTCLASS_ISCCC + 2) +#define ISCCC_R_BADAUTH (ISC_RESULTCLASS_ISCCC + 2) /*% Expired */ -#define ISCCC_R_EXPIRED (ISC_RESULTCLASS_ISCCC + 3) +#define ISCCC_R_EXPIRED (ISC_RESULTCLASS_ISCCC + 3) /*% Clock Skew */ -#define ISCCC_R_CLOCKSKEW (ISC_RESULTCLASS_ISCCC + 4) +#define ISCCC_R_CLOCKSKEW (ISC_RESULTCLASS_ISCCC + 4) /*% Duplicate */ -#define ISCCC_R_DUPLICATE (ISC_RESULTCLASS_ISCCC + 5) +#define ISCCC_R_DUPLICATE (ISC_RESULTCLASS_ISCCC + 5) -#define ISCCC_R_NRESULTS 6 /*%< Number of results */ +#define ISCCC_R_NRESULTS 6 /*%< Number of results */ ISC_LANG_BEGINDECLS diff --git a/lib/isccc/include/isccc/sexpr.h b/lib/isccc/include/isccc/sexpr.h index 10f215c85d..777a968d55 100644 --- a/lib/isccc/include/isccc/sexpr.h +++ b/lib/isccc/include/isccc/sexpr.h @@ -23,7 +23,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - #ifndef ISCCC_SEXPR_H #define ISCCC_SEXPR_H 1 @@ -33,6 +32,7 @@ #include #include + #include ISC_LANG_BEGINDECLS @@ -45,22 +45,22 @@ struct isccc_dottedpair { /*% iscc_sexpr structure */ struct isccc_sexpr { - unsigned int type; + unsigned int type; union { - char * as_string; - isccc_dottedpair_t as_dottedpair; - isccc_region_t as_region; - } value; + char * as_string; + isccc_dottedpair_t as_dottedpair; + isccc_region_t as_region; + } value; }; -#define ISCCC_SEXPRTYPE_NONE 0x00 /*%< Illegal. */ -#define ISCCC_SEXPRTYPE_T 0x01 -#define ISCCC_SEXPRTYPE_STRING 0x02 -#define ISCCC_SEXPRTYPE_DOTTEDPAIR 0x03 -#define ISCCC_SEXPRTYPE_BINARY 0x04 +#define ISCCC_SEXPRTYPE_NONE 0x00 /*%< Illegal. */ +#define ISCCC_SEXPRTYPE_T 0x01 +#define ISCCC_SEXPRTYPE_STRING 0x02 +#define ISCCC_SEXPRTYPE_DOTTEDPAIR 0x03 +#define ISCCC_SEXPRTYPE_BINARY 0x04 -#define ISCCC_SEXPR_CAR(s) (s)->value.as_dottedpair.car -#define ISCCC_SEXPR_CDR(s) (s)->value.as_dottedpair.cdr +#define ISCCC_SEXPR_CAR(s) (s)->value.as_dottedpair.car +#define ISCCC_SEXPR_CDR(s) (s)->value.as_dottedpair.cdr isccc_sexpr_t * isccc_sexpr_cons(isccc_sexpr_t *car, isccc_sexpr_t *cdr); diff --git a/lib/isccc/include/isccc/symtab.h b/lib/isccc/include/isccc/symtab.h index cd595a1153..672a532ab7 100644 --- a/lib/isccc/include/isccc/symtab.h +++ b/lib/isccc/include/isccc/symtab.h @@ -23,7 +23,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - #ifndef ISCCC_SYMTAB_H #define ISCCC_SYMTAB_H 1 @@ -74,6 +73,7 @@ #include #include + #include /*** @@ -81,18 +81,18 @@ ***/ typedef union isccc_symvalue { - void * as_pointer; - int as_integer; - unsigned int as_uinteger; + void * as_pointer; + int as_integer; + unsigned int as_uinteger; } isccc_symvalue_t; typedef void (*isccc_symtabundefaction_t)(char *key, unsigned int type, - isccc_symvalue_t value, void *userarg); + isccc_symvalue_t value, + void * userarg); -typedef bool (*isccc_symtabforeachaction_t)(char *key, - unsigned int type, - isccc_symvalue_t value, - void *userarg); +typedef bool (*isccc_symtabforeachaction_t)(char *key, unsigned int type, + isccc_symvalue_t value, + void * userarg); typedef enum { isccc_symexists_reject = 0, @@ -103,27 +103,29 @@ typedef enum { ISC_LANG_BEGINDECLS isc_result_t -isccc_symtab_create(unsigned int size, - isccc_symtabundefaction_t undefine_action, void *undefine_arg, - bool case_sensitive, isccc_symtab_t **symtabp); +isccc_symtab_create(unsigned int size, + isccc_symtabundefaction_t undefine_action, + void *undefine_arg, bool case_sensitive, + isccc_symtab_t **symtabp); void isccc_symtab_destroy(isccc_symtab_t **symtabp); isc_result_t isccc_symtab_lookup(isccc_symtab_t *symtab, const char *key, unsigned int type, - isccc_symvalue_t *value); + isccc_symvalue_t *value); isc_result_t isccc_symtab_define(isccc_symtab_t *symtab, char *key, unsigned int type, - isccc_symvalue_t value, isccc_symexists_t exists_policy); + isccc_symvalue_t value, isccc_symexists_t exists_policy); isc_result_t -isccc_symtab_undefine(isccc_symtab_t *symtab, const char *key, unsigned int type); +isccc_symtab_undefine(isccc_symtab_t *symtab, const char *key, + unsigned int type); void isccc_symtab_foreach(isccc_symtab_t *symtab, isccc_symtabforeachaction_t action, - void *arg); + void *arg); ISC_LANG_ENDDECLS diff --git a/lib/isccc/include/isccc/symtype.h b/lib/isccc/include/isccc/symtype.h index dbd9ad7276..32178693a1 100644 --- a/lib/isccc/include/isccc/symtype.h +++ b/lib/isccc/include/isccc/symtype.h @@ -23,15 +23,14 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - #ifndef ISCCC_SYMTYPE_H #define ISCCC_SYMTYPE_H 1 /*! \file isccc/symtype.h */ -#define ISCCC_SYMTYPE_ZONESTATS 0x0001 -#define ISCCC_SYMTYPE_CCDUP 0x0002 -#define ISCCC_SYMTYPE_TELLSERVICE 0x0003 -#define ISCCC_SYMTYPE_TELLRESPONSE 0x0004 +#define ISCCC_SYMTYPE_ZONESTATS 0x0001 +#define ISCCC_SYMTYPE_CCDUP 0x0002 +#define ISCCC_SYMTYPE_TELLSERVICE 0x0003 +#define ISCCC_SYMTYPE_TELLRESPONSE 0x0004 #endif /* ISCCC_SYMTYPE_H */ diff --git a/lib/isccc/include/isccc/types.h b/lib/isccc/include/isccc/types.h index bea22c97c2..f0f5c49954 100644 --- a/lib/isccc/include/isccc/types.h +++ b/lib/isccc/include/isccc/types.h @@ -23,7 +23,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - #ifndef ISCCC_TYPES_H #define ISCCC_TYPES_H 1 @@ -45,8 +44,8 @@ typedef struct isccc_symtab isccc_symtab_t; /*% iscc region structure */ typedef struct isccc_region { - unsigned char * rstart; - unsigned char * rend; + unsigned char *rstart; + unsigned char *rend; } isccc_region_t; #endif /* ISCCC_TYPES_H */ diff --git a/lib/isccc/include/isccc/util.h b/lib/isccc/include/isccc/util.h index 58e69b3335..3df6a50e1f 100644 --- a/lib/isccc/include/isccc/util.h +++ b/lib/isccc/include/isccc/util.h @@ -23,7 +23,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - #ifndef ISCCC_UTIL_H #define ISCCC_UTIL_H 1 @@ -38,169 +37,170 @@ * \note no side effects are allowed when invoking these macros! */ -#define GET8(v, w) \ - do { \ +#define GET8(v, w) \ + do { \ v = *w; \ - w++; \ + w++; \ } while (0) -#define GET16(v, w) \ - do { \ +#define GET16(v, w) \ + do { \ v = (unsigned int)w[0] << 8; \ - v |= (unsigned int)w[1]; \ - w += 2; \ + v |= (unsigned int)w[1]; \ + w += 2; \ } while (0) -#define GET24(v, w) \ - do { \ +#define GET24(v, w) \ + do { \ v = (unsigned int)w[0] << 16; \ v |= (unsigned int)w[1] << 8; \ - v |= (unsigned int)w[2]; \ - w += 3; \ + v |= (unsigned int)w[2]; \ + w += 3; \ } while (0) -#define GET32(v, w) \ - do { \ - v = (unsigned int)w[0] << 24; \ +#define GET32(v, w) \ + do { \ + v = (unsigned int)w[0] << 24; \ v |= (unsigned int)w[1] << 16; \ - v |= (unsigned int)w[2] << 8; \ - v |= (unsigned int)w[3]; \ - w += 4; \ + v |= (unsigned int)w[2] << 8; \ + v |= (unsigned int)w[3]; \ + w += 4; \ } while (0) -#define GET64(v, w) \ - do { \ - v = (uint64_t)w[0] << 56; \ +#define GET64(v, w) \ + do { \ + v = (uint64_t)w[0] << 56; \ v |= (uint64_t)w[1] << 48; \ v |= (uint64_t)w[2] << 40; \ v |= (uint64_t)w[3] << 32; \ v |= (uint64_t)w[4] << 24; \ v |= (uint64_t)w[5] << 16; \ - v |= (uint64_t)w[6] << 8; \ - v |= (uint64_t)w[7]; \ - w += 8; \ + v |= (uint64_t)w[6] << 8; \ + v |= (uint64_t)w[7]; \ + w += 8; \ } while (0) -#define GETC16(v, w, d) \ - do { \ - GET8(v, w); \ - if (v == 0) \ - d = ISCCC_TRUE; \ - else { \ - d = ISCCC_FALSE; \ - if (v == 255) \ +#define GETC16(v, w, d) \ + do { \ + GET8(v, w); \ + if (v == 0) \ + d = ISCCC_TRUE; \ + else { \ + d = ISCCC_FALSE; \ + if (v == 255) \ GET16(v, w); \ - } \ + } \ } while (0) -#define GETC32(v, w) \ - do { \ - GET24(v, w); \ - if (v == 0xffffffu) \ +#define GETC32(v, w) \ + do { \ + GET24(v, w); \ + if (v == 0xffffffu) \ GET32(v, w); \ } while (0) -#define GET_OFFSET(v, w) GET32(v, w) +#define GET_OFFSET(v, w) GET32(v, w) -#define GET_MEM(v, c, w) \ - do { \ +#define GET_MEM(v, c, w) \ + do { \ memmove(v, w, c); \ - w += c; \ + w += c; \ } while (0) -#define GET_TYPE(v, w) \ - do { \ - GET8(v, w); \ - if (v > 127) { \ - if (v < 255) \ +#define GET_TYPE(v, w) \ + do { \ + GET8(v, w); \ + if (v > 127) { \ + if (v < 255) \ v = ((v & 0x7f) << 16) | ISCCC_RDATATYPE_SIG; \ - else \ - GET32(v, w); \ - } \ + else \ + GET32(v, w); \ + } \ } while (0) -#define PUT8(v, w) \ - do { \ +#define PUT8(v, w) \ + do { \ *w = (v & 0x000000ffU); \ - w++; \ + w++; \ } while (0) -#define PUT16(v, w) \ - do { \ +#define PUT16(v, w) \ + do { \ w[0] = (v & 0x0000ff00U) >> 8; \ - w[1] = (v & 0x000000ffU); \ - w += 2; \ + w[1] = (v & 0x000000ffU); \ + w += 2; \ } while (0) -#define PUT24(v, w) \ - do { \ +#define PUT24(v, w) \ + do { \ w[0] = (v & 0x00ff0000U) >> 16; \ - w[1] = (v & 0x0000ff00U) >> 8; \ - w[2] = (v & 0x000000ffU); \ - w += 3; \ + w[1] = (v & 0x0000ff00U) >> 8; \ + w[2] = (v & 0x000000ffU); \ + w += 3; \ } while (0) -#define PUT32(v, w) \ - do { \ +#define PUT32(v, w) \ + do { \ w[0] = (v & 0xff000000U) >> 24; \ w[1] = (v & 0x00ff0000U) >> 16; \ - w[2] = (v & 0x0000ff00U) >> 8; \ - w[3] = (v & 0x000000ffU); \ - w += 4; \ + w[2] = (v & 0x0000ff00U) >> 8; \ + w[3] = (v & 0x000000ffU); \ + w += 4; \ } while (0) -#define PUT64(v, w) \ - do { \ +#define PUT64(v, w) \ + do { \ w[0] = (v & 0xff00000000000000ULL) >> 56; \ w[1] = (v & 0x00ff000000000000ULL) >> 48; \ w[2] = (v & 0x0000ff0000000000ULL) >> 40; \ w[3] = (v & 0x000000ff00000000ULL) >> 32; \ w[4] = (v & 0x00000000ff000000ULL) >> 24; \ w[5] = (v & 0x0000000000ff0000ULL) >> 16; \ - w[6] = (v & 0x000000000000ff00ULL) >> 8; \ - w[7] = (v & 0x00000000000000ffULL); \ - w += 8; \ + w[6] = (v & 0x000000000000ff00ULL) >> 8; \ + w[7] = (v & 0x00000000000000ffULL); \ + w += 8; \ } while (0) -#define PUTC16(v, w) \ - do { \ +#define PUTC16(v, w) \ + do { \ if (v > 0 && v < 255) \ - PUT8(v, w); \ - else { \ + PUT8(v, w); \ + else { \ PUT8(255, w); \ - PUT16(v, w); \ - } \ + PUT16(v, w); \ + } \ } while (0) -#define PUTC32(v, w) \ - do { \ - if (v < 0xffffffU) \ - PUT24(v, w); \ - else { \ +#define PUTC32(v, w) \ + do { \ + if (v < 0xffffffU) \ + PUT24(v, w); \ + else { \ PUT24(0xffffffU, w); \ - PUT32(v, w); \ - } \ + PUT32(v, w); \ + } \ } while (0) -#define PUT_OFFSET(v, w) PUT32(v, w) +#define PUT_OFFSET(v, w) PUT32(v, w) #include -#define PUT_MEM(s, c, w) \ - do { \ +#define PUT_MEM(s, c, w) \ + do { \ memmove(w, s, c); \ - w += c; \ + w += c; \ } while (0) /* * Regions. */ -#define REGION_SIZE(r) ((unsigned int)((r).rend - (r).rstart)) -#define REGION_EMPTY(r) ((r).rstart == (r).rend) -#define REGION_FROMSTRING(r, s) do { \ - (r).rstart = (unsigned char *)s; \ - (r).rend = (r).rstart + strlen(s); \ -} while (0) +#define REGION_SIZE(r) ((unsigned int)((r).rend - (r).rstart)) +#define REGION_EMPTY(r) ((r).rstart == (r).rend) +#define REGION_FROMSTRING(r, s) \ + do { \ + (r).rstart = (unsigned char *)s; \ + (r).rend = (r).rstart + strlen(s); \ + } while (0) /*% * Use this to remove the const qualifier of a variable to assign it to @@ -210,11 +210,14 @@ * (as with gcc -Wcast-qual) when there is just no other good way to avoid the * situation. */ -#define DE_CONST(konst, var) \ - do { \ - union { const void *k; void *v; } _u; \ - _u.k = konst; \ - var = _u.v; \ +#define DE_CONST(konst, var) \ + do { \ + union { \ + const void *k; \ + void * v; \ + } _u; \ + _u.k = konst; \ + var = _u.v; \ } while (0) #endif /* ISCCC_UTIL_H */ diff --git a/lib/isccc/include/isccc/version.h b/lib/isccc/include/isccc/version.h index dcb352f94c..4a1036cf87 100644 --- a/lib/isccc/include/isccc/version.h +++ b/lib/isccc/include/isccc/version.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file isccc/version.h */ #include diff --git a/lib/isccc/result.c b/lib/isccc/result.c index 3f33101f55..e0bed0ea8b 100644 --- a/lib/isccc/result.c +++ b/lib/isccc/result.c @@ -23,7 +23,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - /*! \file */ #include @@ -32,29 +31,26 @@ #include static const char *text[ISCCC_R_NRESULTS] = { - "unknown version", /* 1 */ - "syntax error", /* 2 */ - "bad auth", /* 3 */ - "expired", /* 4 */ - "clock skew", /* 5 */ - "duplicate" /* 6 */ + "unknown version", /* 1 */ + "syntax error", /* 2 */ + "bad auth", /* 3 */ + "expired", /* 4 */ + "clock skew", /* 5 */ + "duplicate" /* 6 */ }; static const char *ids[ISCCC_R_NRESULTS] = { - "ISCCC_R_UNKNOWNVERSION", - "ISCCC_R_SYNTAX", - "ISCCC_R_BADAUTH", - "ISCCC_R_EXPIRED", - "ISCCC_R_CLOCKSKEW", - "ISCCC_R_DUPLICATE", + "ISCCC_R_UNKNOWNVERSION", "ISCCC_R_SYNTAX", "ISCCC_R_BADAUTH", + "ISCCC_R_EXPIRED", "ISCCC_R_CLOCKSKEW", "ISCCC_R_DUPLICATE", }; -#define ISCCC_RESULT_RESULTSET 2 +#define ISCCC_RESULT_RESULTSET 2 -static isc_once_t once = ISC_ONCE_INIT; +static isc_once_t once = ISC_ONCE_INIT; static void -initialize_action(void) { +initialize_action(void) +{ isc_result_t result; result = isc_result_register(ISC_RESULTCLASS_ISCCC, ISCCC_R_NRESULTS, @@ -71,18 +67,21 @@ initialize_action(void) { } static void -initialize(void) { +initialize(void) +{ RUNTIME_CHECK(isc_once_do(&once, initialize_action) == ISC_R_SUCCESS); } const char * -isccc_result_totext(isc_result_t result) { +isccc_result_totext(isc_result_t result) +{ initialize(); return (isc_result_totext(result)); } void -isccc_result_register(void) { +isccc_result_register(void) +{ initialize(); } diff --git a/lib/isccc/sexpr.c b/lib/isccc/sexpr.c index 1e318329b0..98b175ec41 100644 --- a/lib/isccc/sexpr.c +++ b/lib/isccc/sexpr.c @@ -32,16 +32,18 @@ #include #include + #include #include static isccc_sexpr_t sexpr_t = { ISCCC_SEXPRTYPE_T, { NULL } }; -#define CAR(s) (s)->value.as_dottedpair.car -#define CDR(s) (s)->value.as_dottedpair.cdr +#define CAR(s) (s)->value.as_dottedpair.car +#define CDR(s) (s)->value.as_dottedpair.cdr isccc_sexpr_t * -isccc_sexpr_cons(isccc_sexpr_t *car, isccc_sexpr_t *cdr) { +isccc_sexpr_cons(isccc_sexpr_t *car, isccc_sexpr_t *cdr) +{ isccc_sexpr_t *sexpr; sexpr = malloc(sizeof(*sexpr)); @@ -55,12 +57,14 @@ isccc_sexpr_cons(isccc_sexpr_t *car, isccc_sexpr_t *cdr) { } isccc_sexpr_t * -isccc_sexpr_tconst(void) { +isccc_sexpr_tconst(void) +{ return (&sexpr_t); } isccc_sexpr_t * -isccc_sexpr_fromstring(const char *str) { +isccc_sexpr_fromstring(const char *str) +{ isccc_sexpr_t *sexpr; sexpr = malloc(sizeof(*sexpr)); @@ -77,9 +81,10 @@ isccc_sexpr_fromstring(const char *str) { } isccc_sexpr_t * -isccc_sexpr_frombinary(const isccc_region_t *region) { +isccc_sexpr_frombinary(const isccc_region_t *region) +{ isccc_sexpr_t *sexpr; - unsigned int region_size; + unsigned int region_size; sexpr = malloc(sizeof(*sexpr)); if (sexpr == NULL) @@ -98,8 +103,8 @@ isccc_sexpr_frombinary(const isccc_region_t *region) { free(sexpr); return (NULL); } - sexpr->value.as_region.rend = sexpr->value.as_region.rstart + - region_size; + sexpr->value.as_region.rend = + sexpr->value.as_region.rstart + region_size; memmove(sexpr->value.as_region.rstart, region->rstart, region_size); /* * NUL terminate. @@ -110,7 +115,8 @@ isccc_sexpr_frombinary(const isccc_region_t *region) { } void -isccc_sexpr_free(isccc_sexpr_t **sexprp) { +isccc_sexpr_free(isccc_sexpr_t **sexprp) +{ isccc_sexpr_t *sexpr; isccc_sexpr_t *item; @@ -138,7 +144,8 @@ isccc_sexpr_free(isccc_sexpr_t **sexprp) { } static bool -printable(isccc_region_t *r) { +printable(isccc_region_t *r) +{ unsigned char *curr; curr = r->rstart; @@ -152,9 +159,10 @@ printable(isccc_region_t *r) { } void -isccc_sexpr_print(isccc_sexpr_t *sexpr, FILE *stream) { +isccc_sexpr_print(isccc_sexpr_t *sexpr, FILE *stream) +{ isccc_sexpr_t *cdr; - unsigned int size, i; + unsigned int size, i; unsigned char *curr; if (sexpr == NULL) { @@ -204,35 +212,40 @@ isccc_sexpr_print(isccc_sexpr_t *sexpr, FILE *stream) { } isccc_sexpr_t * -isccc_sexpr_car(isccc_sexpr_t *list) { +isccc_sexpr_car(isccc_sexpr_t *list) +{ REQUIRE(list->type == ISCCC_SEXPRTYPE_DOTTEDPAIR); return (CAR(list)); } isccc_sexpr_t * -isccc_sexpr_cdr(isccc_sexpr_t *list) { +isccc_sexpr_cdr(isccc_sexpr_t *list) +{ REQUIRE(list->type == ISCCC_SEXPRTYPE_DOTTEDPAIR); return (CDR(list)); } void -isccc_sexpr_setcar(isccc_sexpr_t *pair, isccc_sexpr_t *car) { +isccc_sexpr_setcar(isccc_sexpr_t *pair, isccc_sexpr_t *car) +{ REQUIRE(pair->type == ISCCC_SEXPRTYPE_DOTTEDPAIR); CAR(pair) = car; } void -isccc_sexpr_setcdr(isccc_sexpr_t *pair, isccc_sexpr_t *cdr) { +isccc_sexpr_setcdr(isccc_sexpr_t *pair, isccc_sexpr_t *cdr) +{ REQUIRE(pair->type == ISCCC_SEXPRTYPE_DOTTEDPAIR); CDR(pair) = cdr; } isccc_sexpr_t * -isccc_sexpr_addtolist(isccc_sexpr_t **l1p, isccc_sexpr_t *l2) { +isccc_sexpr_addtolist(isccc_sexpr_t **l1p, isccc_sexpr_t *l2) +{ isccc_sexpr_t *last, *elt, *l1; REQUIRE(l1p != NULL); @@ -254,38 +267,42 @@ isccc_sexpr_addtolist(isccc_sexpr_t **l1p, isccc_sexpr_t *l2) { } bool -isccc_sexpr_listp(isccc_sexpr_t *sexpr) { +isccc_sexpr_listp(isccc_sexpr_t *sexpr) +{ if (sexpr == NULL || sexpr->type == ISCCC_SEXPRTYPE_DOTTEDPAIR) return (true); return (false); } bool -isccc_sexpr_emptyp(isccc_sexpr_t *sexpr) { +isccc_sexpr_emptyp(isccc_sexpr_t *sexpr) +{ if (sexpr == NULL) return (true); return (false); } bool -isccc_sexpr_stringp(isccc_sexpr_t *sexpr) { +isccc_sexpr_stringp(isccc_sexpr_t *sexpr) +{ if (sexpr != NULL && sexpr->type == ISCCC_SEXPRTYPE_STRING) return (true); return (false); } bool -isccc_sexpr_binaryp(isccc_sexpr_t *sexpr) { +isccc_sexpr_binaryp(isccc_sexpr_t *sexpr) +{ if (sexpr != NULL && sexpr->type == ISCCC_SEXPRTYPE_BINARY) return (true); return (false); } char * -isccc_sexpr_tostring(isccc_sexpr_t *sexpr) { - REQUIRE(sexpr != NULL && - (sexpr->type == ISCCC_SEXPRTYPE_STRING || - sexpr->type == ISCCC_SEXPRTYPE_BINARY)); +isccc_sexpr_tostring(isccc_sexpr_t *sexpr) +{ + REQUIRE(sexpr != NULL && (sexpr->type == ISCCC_SEXPRTYPE_STRING || + sexpr->type == ISCCC_SEXPRTYPE_BINARY)); if (sexpr->type == ISCCC_SEXPRTYPE_BINARY) return ((char *)sexpr->value.as_region.rstart); @@ -293,7 +310,8 @@ isccc_sexpr_tostring(isccc_sexpr_t *sexpr) { } isccc_region_t * -isccc_sexpr_tobinary(isccc_sexpr_t *sexpr) { +isccc_sexpr_tobinary(isccc_sexpr_t *sexpr) +{ REQUIRE(sexpr != NULL && sexpr->type == ISCCC_SEXPRTYPE_BINARY); return (&sexpr->value.as_region); } diff --git a/lib/isccc/symtab.c b/lib/isccc/symtab.c index ffb2e8a52e..665844ba0e 100644 --- a/lib/isccc/symtab.c +++ b/lib/isccc/symtab.c @@ -23,7 +23,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - /*! \file */ #include @@ -39,38 +38,37 @@ #include typedef struct elt { - char * key; - unsigned int type; - isccc_symvalue_t value; - ISC_LINK(struct elt) link; + char * key; + unsigned int type; + isccc_symvalue_t value; + ISC_LINK(struct elt) link; } elt_t; -typedef ISC_LIST(elt_t) eltlist_t; +typedef ISC_LIST(elt_t) eltlist_t; -#define SYMTAB_MAGIC ISC_MAGIC('S', 'y', 'm', 'T') -#define VALID_SYMTAB(st) ISC_MAGIC_VALID(st, SYMTAB_MAGIC) +#define SYMTAB_MAGIC ISC_MAGIC('S', 'y', 'm', 'T') +#define VALID_SYMTAB(st) ISC_MAGIC_VALID(st, SYMTAB_MAGIC) struct isccc_symtab { - unsigned int magic; - unsigned int size; - eltlist_t * table; - isccc_symtabundefaction_t undefine_action; - void * undefine_arg; - bool case_sensitive; + unsigned int magic; + unsigned int size; + eltlist_t * table; + isccc_symtabundefaction_t undefine_action; + void * undefine_arg; + bool case_sensitive; }; isc_result_t -isccc_symtab_create(unsigned int size, - isccc_symtabundefaction_t undefine_action, - void *undefine_arg, - bool case_sensitive, - isccc_symtab_t **symtabp) +isccc_symtab_create(unsigned int size, + isccc_symtabundefaction_t undefine_action, + void *undefine_arg, bool case_sensitive, + isccc_symtab_t **symtabp) { isccc_symtab_t *symtab; - unsigned int i; + unsigned int i; REQUIRE(symtabp != NULL && *symtabp == NULL); - REQUIRE(size > 0); /* Should be prime. */ + REQUIRE(size > 0); /* Should be prime. */ symtab = malloc(sizeof(*symtab)); if (symtab == NULL) @@ -94,7 +92,8 @@ isccc_symtab_create(unsigned int size, } static inline void -free_elt(isccc_symtab_t *symtab, unsigned int bucket, elt_t *elt) { +free_elt(isccc_symtab_t *symtab, unsigned int bucket, elt_t *elt) +{ ISC_LIST_UNLINK(symtab->table[bucket], elt, link); if (symtab->undefine_action != NULL) (symtab->undefine_action)(elt->key, elt->type, elt->value, @@ -103,10 +102,11 @@ free_elt(isccc_symtab_t *symtab, unsigned int bucket, elt_t *elt) { } void -isccc_symtab_destroy(isccc_symtab_t **symtabp) { +isccc_symtab_destroy(isccc_symtab_t **symtabp) +{ isccc_symtab_t *symtab; - unsigned int i; - elt_t *elt, *nelt; + unsigned int i; + elt_t * elt, *nelt; REQUIRE(symtabp != NULL); symtab = *symtabp; @@ -114,8 +114,7 @@ isccc_symtab_destroy(isccc_symtab_t **symtabp) { REQUIRE(VALID_SYMTAB(symtab)); for (i = 0; i < symtab->size; i++) { - for (elt = ISC_LIST_HEAD(symtab->table[i]); - elt != NULL; + for (elt = ISC_LIST_HEAD(symtab->table[i]); elt != NULL; elt = nelt) { nelt = ISC_LIST_NEXT(elt, link); free_elt(symtab, i, elt); @@ -127,11 +126,12 @@ isccc_symtab_destroy(isccc_symtab_t **symtabp) { } static inline unsigned int -hash(const char *key, bool case_sensitive) { - const char *s; +hash(const char *key, bool case_sensitive) +{ + const char * s; unsigned int h = 0; unsigned int g; - int c; + int c; /* * P. J. Weinberger's hash function, adapted from p. 436 of @@ -141,8 +141,8 @@ hash(const char *key, bool case_sensitive) { if (case_sensitive) { for (s = key; *s != '\0'; s++) { - h = ( h << 4 ) + *s; - if ((g = ( h & 0xf0000000 )) != 0) { + h = (h << 4) + *s; + if ((g = (h & 0xf0000000)) != 0) { h = h ^ (g >> 24); h = h ^ g; } @@ -151,8 +151,8 @@ hash(const char *key, bool case_sensitive) { for (s = key; *s != '\0'; s++) { c = *s; c = tolower((unsigned char)c); - h = ( h << 4 ) + c; - if ((g = ( h & 0xf0000000 )) != 0) { + h = (h << 4) + c; + if ((g = (h & 0xf0000000)) != 0) { h = h ^ (g >> 24); h = h ^ g; } @@ -162,32 +162,30 @@ hash(const char *key, bool case_sensitive) { return (h); } -#define FIND(s, k, t, b, e) \ - b = hash((k), (s)->case_sensitive) % (s)->size; \ - if ((s)->case_sensitive) { \ - for (e = ISC_LIST_HEAD((s)->table[b]); \ - e != NULL; \ - e = ISC_LIST_NEXT(e, link)) { \ - if (((t) == 0 || e->type == (t)) && \ - strcmp(e->key, (k)) == 0) \ - break; \ - } \ - } else { \ - for (e = ISC_LIST_HEAD((s)->table[b]); \ - e != NULL; \ - e = ISC_LIST_NEXT(e, link)) { \ - if (((t) == 0 || e->type == (t)) && \ - strcasecmp(e->key, (k)) == 0) \ - break; \ - } \ +#define FIND(s, k, t, b, e) \ + b = hash((k), (s)->case_sensitive) % (s)->size; \ + if ((s)->case_sensitive) { \ + for (e = ISC_LIST_HEAD((s)->table[b]); e != NULL; \ + e = ISC_LIST_NEXT(e, link)) { \ + if (((t) == 0 || e->type == (t)) && \ + strcmp(e->key, (k)) == 0) \ + break; \ + } \ + } else { \ + for (e = ISC_LIST_HEAD((s)->table[b]); e != NULL; \ + e = ISC_LIST_NEXT(e, link)) { \ + if (((t) == 0 || e->type == (t)) && \ + strcasecmp(e->key, (k)) == 0) \ + break; \ + } \ } isc_result_t isccc_symtab_lookup(isccc_symtab_t *symtab, const char *key, unsigned int type, - isccc_symvalue_t *value) + isccc_symvalue_t *value) { unsigned int bucket; - elt_t *elt; + elt_t * elt; REQUIRE(VALID_SYMTAB(symtab)); REQUIRE(key != NULL); @@ -205,10 +203,10 @@ isccc_symtab_lookup(isccc_symtab_t *symtab, const char *key, unsigned int type, isc_result_t isccc_symtab_define(isccc_symtab_t *symtab, char *key, unsigned int type, - isccc_symvalue_t value, isccc_symexists_t exists_policy) + isccc_symvalue_t value, isccc_symexists_t exists_policy) { unsigned int bucket; - elt_t *elt; + elt_t * elt; REQUIRE(VALID_SYMTAB(symtab)); REQUIRE(key != NULL); @@ -245,9 +243,11 @@ isccc_symtab_define(isccc_symtab_t *symtab, char *key, unsigned int type, } isc_result_t -isccc_symtab_undefine(isccc_symtab_t *symtab, const char *key, unsigned int type) { +isccc_symtab_undefine(isccc_symtab_t *symtab, const char *key, + unsigned int type) +{ unsigned int bucket; - elt_t *elt; + elt_t * elt; REQUIRE(VALID_SYMTAB(symtab)); REQUIRE(key != NULL); @@ -264,17 +264,16 @@ isccc_symtab_undefine(isccc_symtab_t *symtab, const char *key, unsigned int type void isccc_symtab_foreach(isccc_symtab_t *symtab, isccc_symtabforeachaction_t action, - void *arg) + void *arg) { unsigned int i; - elt_t *elt, *nelt; + elt_t * elt, *nelt; REQUIRE(VALID_SYMTAB(symtab)); REQUIRE(action != NULL); for (i = 0; i < symtab->size; i++) { - for (elt = ISC_LIST_HEAD(symtab->table[i]); - elt != NULL; + for (elt = ISC_LIST_HEAD(symtab->table[i]); elt != NULL; elt = nelt) { nelt = ISC_LIST_NEXT(elt, link); if ((action)(elt->key, elt->type, elt->value, arg)) diff --git a/lib/isccc/tests/result_test.c b/lib/isccc/tests/result_test.c index ce960ed5b5..077d554e23 100644 --- a/lib/isccc/tests/result_test.c +++ b/lib/isccc/tests/result_test.c @@ -11,10 +11,9 @@ #if HAVE_CMOCKA +#include #include #include -#include - #include #include @@ -30,8 +29,9 @@ * Check tables are populated. */ static void -tables(void **state) { - const char *str; +tables(void **state) +{ + const char * str; isc_result_t result; UNUSED(state); @@ -39,18 +39,16 @@ tables(void **state) { isccc_result_register(); for (result = ISC_RESULTCLASS_ISCCC; - result < (ISC_RESULTCLASS_ISCCC + ISCCC_R_NRESULTS); - result++) - { + result < (ISC_RESULTCLASS_ISCCC + ISCCC_R_NRESULTS); result++) { str = isc_result_toid(result); assert_non_null(str); - assert_string_not_equal(str, - "(result code text not available)"); + assert_string_not_equal(str, "(result code text not " + "available)"); str = isc_result_totext(result); assert_non_null(str); - assert_string_not_equal(str, - "(result code text not available)"); + assert_string_not_equal(str, "(result code text not " + "available)"); } str = isc_result_toid(result); @@ -63,7 +61,8 @@ tables(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(tables), }; @@ -76,7 +75,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isccc/version.c b/lib/isccc/version.c index a3c1d9bc42..25e26a838b 100644 --- a/lib/isccc/version.c +++ b/lib/isccc/version.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include diff --git a/lib/isccc/win32/DLLMain.c b/lib/isccc/win32/DLLMain.c index 842ca74d1e..69e68ca22a 100644 --- a/lib/isccc/win32/DLLMain.c +++ b/lib/isccc/win32/DLLMain.c @@ -9,14 +9,14 @@ * information regarding copyright ownership. */ -#include #include +#include /* * Called when we enter the DLL */ -__declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, - DWORD fdwReason, LPVOID lpvReserved) +__declspec(dllexport) BOOL WINAPI + DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { switch (fdwReason) { /* @@ -46,4 +46,3 @@ __declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, } return (TRUE); } - diff --git a/lib/isccfg/aclconf.c b/lib/isccfg/aclconf.c index 66e4b2e7ba..21d915db59 100644 --- a/lib/isccfg/aclconf.c +++ b/lib/isccfg/aclconf.c @@ -15,32 +15,28 @@ #include #include -#include /* Required for HP/UX (and others?) */ +#include /* Required for HP/UX (and others?) */ #include -#include -#include - #include -#include #include +#include #include -#define LOOP_MAGIC ISC_MAGIC('L','O','O','P') +#include +#include + +#define LOOP_MAGIC ISC_MAGIC('L', 'O', 'O', 'P') #if defined(HAVE_GEOIP2) static const char *geoip_dbnames[] = { - "country", - "city", - "asnum", - "isp", - "domain", - NULL, + "country", "city", "asnum", "isp", "domain", NULL, }; #endif isc_result_t -cfg_aclconfctx_create(isc_mem_t *mctx, cfg_aclconfctx_t **ret) { +cfg_aclconfctx_create(isc_mem_t *mctx, cfg_aclconfctx_t **ret) +{ cfg_aclconfctx_t *actx; REQUIRE(mctx != NULL); @@ -63,7 +59,8 @@ cfg_aclconfctx_create(isc_mem_t *mctx, cfg_aclconfctx_t **ret) { } void -cfg_aclconfctx_attach(cfg_aclconfctx_t *src, cfg_aclconfctx_t **dest) { +cfg_aclconfctx_attach(cfg_aclconfctx_t *src, cfg_aclconfctx_t **dest) +{ REQUIRE(src != NULL); REQUIRE(dest != NULL && *dest == NULL); @@ -72,7 +69,8 @@ cfg_aclconfctx_attach(cfg_aclconfctx_t *src, cfg_aclconfctx_t **dest) { } void -cfg_aclconfctx_detach(cfg_aclconfctx_t **actxp) { +cfg_aclconfctx_detach(cfg_aclconfctx_t **actxp) +{ REQUIRE(actxp != NULL && *actxp != NULL); cfg_aclconfctx_t *actx = *actxp; *actxp = NULL; @@ -80,10 +78,8 @@ cfg_aclconfctx_detach(cfg_aclconfctx_t **actxp) { if (isc_refcount_decrement(&actx->references) == 1) { dns_acl_t *dacl, *next; isc_refcount_destroy(&actx->references); - for (dacl = ISC_LIST_HEAD(actx->named_acl_cache); - dacl != NULL; - dacl = next) - { + for (dacl = ISC_LIST_HEAD(actx->named_acl_cache); dacl != NULL; + dacl = next) { next = ISC_LIST_NEXT(dacl, nextincache); ISC_LIST_UNLINK(actx->named_acl_cache, dacl, nextincache); @@ -97,20 +93,20 @@ cfg_aclconfctx_detach(cfg_aclconfctx_t **actxp) { * Find the definition of the named acl whose name is "name". */ static isc_result_t -get_acl_def(const cfg_obj_t *cctx, const char *name, const cfg_obj_t **ret) { - isc_result_t result; - const cfg_obj_t *acls = NULL; +get_acl_def(const cfg_obj_t *cctx, const char *name, const cfg_obj_t **ret) +{ + isc_result_t result; + const cfg_obj_t * acls = NULL; const cfg_listelt_t *elt; result = cfg_map_get(cctx, "acl", &acls); if (result != ISC_R_SUCCESS) return (result); - for (elt = cfg_list_first(acls); - elt != NULL; + for (elt = cfg_list_first(acls); elt != NULL; elt = cfg_list_next(elt)) { const cfg_obj_t *acl = cfg_listelt_value(elt); - const char *aclname = - cfg_obj_asstring(cfg_tuple_get(acl, "name")); + const char *aclname = cfg_obj_asstring(cfg_tuple_get(acl, "nam" + "e")); if (strcasecmp(aclname, name) == 0) { if (ret != NULL) { *ret = cfg_tuple_get(acl, "value"); @@ -123,22 +119,20 @@ get_acl_def(const cfg_obj_t *cctx, const char *name, const cfg_obj_t **ret) { static isc_result_t convert_named_acl(const cfg_obj_t *nameobj, const cfg_obj_t *cctx, - isc_log_t *lctx, cfg_aclconfctx_t *ctx, - isc_mem_t *mctx, unsigned int nest_level, - dns_acl_t **target) + isc_log_t *lctx, cfg_aclconfctx_t *ctx, isc_mem_t *mctx, + unsigned int nest_level, dns_acl_t **target) { - isc_result_t result; + isc_result_t result; const cfg_obj_t *cacl = NULL; - dns_acl_t *dacl; - dns_acl_t loop; - const char *aclname = cfg_obj_asstring(nameobj); + dns_acl_t * dacl; + dns_acl_t loop; + const char * aclname = cfg_obj_asstring(nameobj); /* Look for an already-converted version. */ - for (dacl = ISC_LIST_HEAD(ctx->named_acl_cache); - dacl != NULL; - dacl = ISC_LIST_NEXT(dacl, nextincache)) - { - /* cppcheck-suppress nullPointerRedundantCheck symbolName=dacl */ + for (dacl = ISC_LIST_HEAD(ctx->named_acl_cache); dacl != NULL; + dacl = ISC_LIST_NEXT(dacl, nextincache)) { + /* cppcheck-suppress nullPointerRedundantCheck symbolName=dacl + */ if (strcasecmp(aclname, dacl->name) == 0) { if (ISC_MAGIC_VALID(dacl, LOOP_MAGIC)) { cfg_obj_log(nameobj, lctx, ISC_LOG_ERROR, @@ -164,8 +158,8 @@ convert_named_acl(const cfg_obj_t *nameobj, const cfg_obj_t *cctx, DE_CONST(aclname, loop.name); loop.magic = LOOP_MAGIC; ISC_LIST_APPEND(ctx->named_acl_cache, &loop, nextincache); - result = cfg_acl_fromconfig(cacl, cctx, lctx, ctx, mctx, - nest_level, &dacl); + result = cfg_acl_fromconfig(cacl, cctx, lctx, ctx, mctx, nest_level, + &dacl); ISC_LIST_UNLINK(ctx->named_acl_cache, &loop, nextincache); loop.magic = 0; loop.name = NULL; @@ -181,11 +175,11 @@ static isc_result_t convert_keyname(const cfg_obj_t *keyobj, isc_log_t *lctx, isc_mem_t *mctx, dns_name_t *dnsname) { - isc_result_t result; - isc_buffer_t buf; + isc_result_t result; + isc_buffer_t buf; dns_fixedname_t fixname; - unsigned int keylen; - const char *txtname = cfg_obj_asstring(keyobj); + unsigned int keylen; + const char * txtname = cfg_obj_asstring(keyobj); keylen = strlen(txtname); isc_buffer_constinit(&buf, txtname, keylen); @@ -216,24 +210,22 @@ count_acl_elements(const cfg_obj_t *caml, const cfg_obj_t *cctx, uint32_t *count, bool *has_negative) { const cfg_listelt_t *elt; - isc_result_t result; - uint32_t n = 0; + isc_result_t result; + uint32_t n = 0; REQUIRE(count != NULL); if (has_negative != NULL) *has_negative = false; - for (elt = cfg_list_first(caml); - elt != NULL; + for (elt = cfg_list_first(caml); elt != NULL; elt = cfg_list_next(elt)) { const cfg_obj_t *ce = cfg_listelt_value(elt); /* might be a negated element, in which case get the value. */ if (cfg_obj_istuple(ce)) { - const cfg_obj_t *negated = - cfg_tuple_get(ce, "negated"); - if (! cfg_obj_isvoid(negated)) { + const cfg_obj_t *negated = cfg_tuple_get(ce, "negated"); + if (!cfg_obj_isvoid(negated)) { ce = negated; if (has_negative != NULL) *has_negative = true; @@ -243,7 +235,7 @@ count_acl_elements(const cfg_obj_t *caml, const cfg_obj_t *cctx, if (cfg_obj_istype(ce, &cfg_type_keyref)) { n++; } else if (cfg_obj_islist(ce)) { - bool negative; + bool negative; uint32_t sub; result = count_acl_elements(ce, cctx, lctx, ctx, mctx, &sub, &negative); @@ -254,16 +246,14 @@ count_acl_elements(const cfg_obj_t *caml, const cfg_obj_t *cctx, n++; #if defined(HAVE_GEOIP2) } else if (cfg_obj_istuple(ce) && - cfg_obj_isvoid(cfg_tuple_get(ce, "negated"))) - { + cfg_obj_isvoid(cfg_tuple_get(ce, "negated"))) { n++; #endif /* HAVE_GEOIP2 */ } else if (cfg_obj_isstring(ce)) { const char *name = cfg_obj_asstring(ce); if (strcasecmp(name, "localhost") == 0 || strcasecmp(name, "localnets") == 0 || - strcasecmp(name, "none") == 0) - { + strcasecmp(name, "none") == 0) { n++; } else if (strcasecmp(name, "any") != 0) { dns_acl_t *inneracl = NULL; @@ -291,8 +281,8 @@ count_acl_elements(const cfg_obj_t *caml, const cfg_obj_t *cctx, #if defined(HAVE_GEOIP2) static dns_geoip_subtype_t -get_subtype(const cfg_obj_t *obj, isc_log_t *lctx, - dns_geoip_subtype_t subtype, const char *dbname) +get_subtype(const cfg_obj_t *obj, isc_log_t *lctx, dns_geoip_subtype_t subtype, + const char *dbname) { if (dbname == NULL) { return (subtype); @@ -413,7 +403,8 @@ get_subtype(const cfg_obj_t *obj, isc_log_t *lctx, } static bool -geoip_can_answer(dns_aclelement_t *elt, cfg_aclconfctx_t *ctx) { +geoip_can_answer(dns_aclelement_t *elt, cfg_aclconfctx_t *ctx) +{ if (ctx->geoip == NULL) { return (true); } @@ -423,9 +414,7 @@ geoip_can_answer(dns_aclelement_t *elt, cfg_aclconfctx_t *ctx) { case dns_geoip_countryname: case dns_geoip_continentcode: case dns_geoip_continent: - if (ctx->geoip->country != NULL || - ctx->geoip->city != NULL) - { + if (ctx->geoip->country != NULL || ctx->geoip->city != NULL) { return (true); } break; @@ -436,8 +425,8 @@ geoip_can_answer(dns_aclelement_t *elt, cfg_aclconfctx_t *ctx) { if (ctx->geoip->country != NULL) { return (true); } - /* city db can answer these too, so: */ - /* FALLTHROUGH */ + /* city db can answer these too, so: */ + /* FALLTHROUGH */ case dns_geoip_region: case dns_geoip_regionname: case dns_geoip_city_countrycode: @@ -482,12 +471,12 @@ static isc_result_t parse_geoip_element(const cfg_obj_t *obj, isc_log_t *lctx, cfg_aclconfctx_t *ctx, dns_aclelement_t *dep) { - const cfg_obj_t *ge; - const char *dbname = NULL; - const char *stype = NULL, *search = NULL; + const cfg_obj_t * ge; + const char * dbname = NULL; + const char * stype = NULL, *search = NULL; dns_geoip_subtype_t subtype; - dns_aclelement_t de; - size_t len; + dns_aclelement_t de; + size_t len; REQUIRE(dep != NULL); @@ -548,15 +537,14 @@ parse_geoip_element(const cfg_obj_t *obj, isc_log_t *lctx, strlcpy(de.geoip_elem.as_string, search, sizeof(de.geoip_elem.as_string)); } else if ((strcasecmp(stype, "region") == 0 || - strcasecmp(stype, "subdivision") == 0) && len == 2) - { + strcasecmp(stype, "subdivision") == 0) && + len == 2) { /* Two-letter region code */ subtype = dns_geoip_region; strlcpy(de.geoip_elem.as_string, search, sizeof(de.geoip_elem.as_string)); } else if (strcasecmp(stype, "region") == 0 || - strcasecmp(stype, "subdivision") == 0) - { + strcasecmp(stype, "subdivision") == 0) { /* Region name */ subtype = dns_geoip_regionname; strlcpy(de.geoip_elem.as_string, search, @@ -567,26 +555,22 @@ parse_geoip_element(const cfg_obj_t *obj, isc_log_t *lctx, strlcpy(de.geoip_elem.as_string, search, sizeof(de.geoip_elem.as_string)); } else if (strcasecmp(stype, "postal") == 0 || - strcasecmp(stype, "postalcode") == 0) - { + strcasecmp(stype, "postalcode") == 0) { if (len < 7) { subtype = dns_geoip_city_postalcode; strlcpy(de.geoip_elem.as_string, search, sizeof(de.geoip_elem.as_string)); } else { cfg_obj_log(obj, lctx, ISC_LOG_ERROR, - "geoiop postal code (%s) too long", - search); + "geoiop postal code (%s) too long", search); return (ISC_R_FAILURE); } } else if (strcasecmp(stype, "metro") == 0 || - strcasecmp(stype, "metrocode") == 0) - { + strcasecmp(stype, "metrocode") == 0) { subtype = dns_geoip_city_metrocode; de.geoip_elem.as_int = atoi(search); } else if (strcasecmp(stype, "tz") == 0 || - strcasecmp(stype, "timezone") == 0) - { + strcasecmp(stype, "timezone") == 0) { subtype = dns_geoip_city_timezonecode; strlcpy(de.geoip_elem.as_string, search, sizeof(de.geoip_elem.as_string)); @@ -609,16 +593,18 @@ parse_geoip_element(const cfg_obj_t *obj, isc_log_t *lctx, } else { cfg_obj_log(obj, lctx, ISC_LOG_ERROR, "type '%s' is unavailable " - "in GeoIP2 databases", stype); + "in GeoIP2 databases", + stype); return (ISC_R_FAILURE); } de.geoip_elem.subtype = get_subtype(obj, lctx, subtype, dbname); - if (! geoip_can_answer(&de, ctx)) { + if (!geoip_can_answer(&de, ctx)) { cfg_obj_log(obj, lctx, ISC_LOG_ERROR, "no GeoIP2 database installed which can answer " - "queries of type '%s'", stype); + "queries of type '%s'", + stype); return (ISC_R_FAILURE); } @@ -630,27 +616,26 @@ parse_geoip_element(const cfg_obj_t *obj, isc_log_t *lctx, isc_result_t cfg_acl_fromconfig(const cfg_obj_t *caml, const cfg_obj_t *cctx, - isc_log_t *lctx, cfg_aclconfctx_t *ctx, - isc_mem_t *mctx, unsigned int nest_level, - dns_acl_t **target) + isc_log_t *lctx, cfg_aclconfctx_t *ctx, isc_mem_t *mctx, + unsigned int nest_level, dns_acl_t **target) { - return (cfg_acl_fromconfig2(caml, cctx, lctx, ctx, mctx, - nest_level, 0, target)); + return (cfg_acl_fromconfig2(caml, cctx, lctx, ctx, mctx, nest_level, 0, + target)); } isc_result_t cfg_acl_fromconfig2(const cfg_obj_t *caml, const cfg_obj_t *cctx, - isc_log_t *lctx, cfg_aclconfctx_t *ctx, - isc_mem_t *mctx, unsigned int nest_level, - uint16_t family, dns_acl_t **target) + isc_log_t *lctx, cfg_aclconfctx_t *ctx, isc_mem_t *mctx, + unsigned int nest_level, uint16_t family, + dns_acl_t **target) { - isc_result_t result; - dns_acl_t *dacl = NULL, *inneracl = NULL; - dns_aclelement_t *de; + isc_result_t result; + dns_acl_t * dacl = NULL, *inneracl = NULL; + dns_aclelement_t * de; const cfg_listelt_t *elt; - dns_iptable_t *iptab; - int new_nest_level = 0; - bool setpos; + dns_iptable_t * iptab; + int new_nest_level = 0; + bool setpos; if (nest_level != 0) new_nest_level = nest_level - 1; @@ -677,8 +662,8 @@ cfg_acl_fromconfig2(const cfg_obj_t *caml, const cfg_obj_t *cctx, uint32_t nelem; if (nest_level == 0) { - result = count_acl_elements(caml, cctx, lctx, ctx, - mctx, &nelem, NULL); + result = count_acl_elements(caml, cctx, lctx, ctx, mctx, + &nelem, NULL); if (result != ISC_R_SUCCESS) return (result); } else { @@ -692,19 +677,17 @@ cfg_acl_fromconfig2(const cfg_obj_t *caml, const cfg_obj_t *cctx, } de = dacl->elements; - for (elt = cfg_list_first(caml); - elt != NULL; + for (elt = cfg_list_first(caml); elt != NULL; elt = cfg_list_next(elt)) { const cfg_obj_t *ce = cfg_listelt_value(elt); - bool neg = false; + bool neg = false; INSIST(dacl->length <= dacl->alloc); if (cfg_obj_istuple(ce)) { /* Might be a negated element */ - const cfg_obj_t *negated = - cfg_tuple_get(ce, "negated"); - if (! cfg_obj_isvoid(negated)) { + const cfg_obj_t *negated = cfg_tuple_get(ce, "negated"); + if (!cfg_obj_isvoid(negated)) { neg = true; dacl->has_negatives = true; ce = negated; @@ -730,8 +713,8 @@ cfg_acl_fromconfig2(const cfg_obj_t *caml, const cfg_obj_t *cctx, if (cfg_obj_isnetprefix(ce)) { /* Network prefix */ - isc_netaddr_t addr; - unsigned int bitlen; + isc_netaddr_t addr; + unsigned int bitlen; cfg_obj_asnetprefix(ce, &addr, &bitlen); if (family != 0 && family != addr.family) { @@ -739,7 +722,8 @@ cfg_acl_fromconfig2(const cfg_obj_t *caml, const cfg_obj_t *cctx, isc_netaddr_format(&addr, buf, sizeof(buf)); cfg_obj_log(ce, lctx, ISC_LOG_WARNING, "'%s': incorrect address family; " - "ignoring", buf); + "ignoring", + buf); if (nest_level != 0) { dns_acl_detach(&de->nestedacl); } @@ -751,7 +735,8 @@ cfg_acl_fromconfig2(const cfg_obj_t *caml, const cfg_obj_t *cctx, isc_netaddr_format(&addr, buf, sizeof(buf)); cfg_obj_log(ce, lctx, ISC_LOG_ERROR, "'%s/%u': address/prefix length " - "mismatch", buf, bitlen); + "mismatch", + buf, bitlen); goto cleanup; } @@ -784,13 +769,12 @@ cfg_acl_fromconfig2(const cfg_obj_t *caml, const cfg_obj_t *cctx, if (inneracl != NULL) { dns_acl_detach(&inneracl); } - result = cfg_acl_fromconfig(ce, cctx, lctx, - ctx, mctx, new_nest_level, - &inneracl); + result = cfg_acl_fromconfig(ce, cctx, lctx, ctx, mctx, + new_nest_level, &inneracl); if (result != ISC_R_SUCCESS) { goto cleanup; } -nested_acl: + nested_acl: if (nest_level > 0 || inneracl->has_negatives) { INSIST(dacl->length < dacl->alloc); de->type = dns_aclelementtype_nestedacl; @@ -802,10 +786,10 @@ nested_acl: dns_acl_detach(&inneracl); /* Fall through. */ } else { - INSIST(dacl->length + inneracl->length - <= dacl->alloc); + INSIST(dacl->length + inneracl->length <= + dacl->alloc); dns_acl_merge(dacl, inneracl, !neg); - de += inneracl->length; /* elements added */ + de += inneracl->length; /* elements added */ dns_acl_detach(&inneracl); INSIST(dacl->length <= dacl->alloc); continue; @@ -816,15 +800,13 @@ nested_acl: de->type = dns_aclelementtype_keyname; de->negative = neg; dns_name_init(&de->keyname, NULL); - result = convert_keyname(ce, lctx, mctx, - &de->keyname); + result = convert_keyname(ce, lctx, mctx, &de->keyname); if (result != ISC_R_SUCCESS) { goto cleanup; } #if defined(HAVE_GEOIP2) } else if (cfg_obj_istuple(ce) && - cfg_obj_isvoid(cfg_tuple_get(ce, "negated"))) - { + cfg_obj_isvoid(cfg_tuple_get(ce, "negated"))) { INSIST(dacl->length < dacl->alloc); result = parse_geoip_element(ce, lctx, ctx, de); if (result != ISC_R_SUCCESS) { @@ -916,8 +898,7 @@ nested_acl: * nonzero (i.e., in sortlists). */ if (de->nestedacl != NULL && - de->type != dns_aclelementtype_nestedacl) - { + de->type != dns_aclelementtype_nestedacl) { dns_acl_detach(&de->nestedacl); } @@ -932,7 +913,7 @@ nested_acl: dns_acl_attach(dacl, target); result = ISC_R_SUCCESS; - cleanup: +cleanup: if (inneracl != NULL) { dns_acl_detach(&inneracl); } diff --git a/lib/isccfg/dnsconf.c b/lib/isccfg/dnsconf.c index 03025fec89..b3102507f2 100644 --- a/lib/isccfg/dnsconf.c +++ b/lib/isccfg/dnsconf.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -27,36 +26,31 @@ static cfg_tuplefielddef_t trustedkey_fields[] = { { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_trustedkey = { - "trustedkey", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, trustedkey_fields -}; +static cfg_type_t cfg_type_trustedkey = { "trustedkey", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, trustedkey_fields }; -static cfg_type_t cfg_type_trustedkeys = { - "trusted-keys", cfg_parse_bracketed_list, cfg_print_bracketed_list, - cfg_doc_bracketed_list, &cfg_rep_list, &cfg_type_trustedkey -}; +static cfg_type_t cfg_type_trustedkeys = { "trusted-keys", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, + &cfg_type_trustedkey }; /*% * Clauses that can be found within the top level of the dns.conf * file only. */ -static cfg_clausedef_t -dnsconf_clauses[] = { - { "trusted-keys", &cfg_type_trustedkeys, - CFG_CLAUSEFLAG_MULTI }, +static cfg_clausedef_t dnsconf_clauses[] = { + { "trusted-keys", &cfg_type_trustedkeys, CFG_CLAUSEFLAG_MULTI }, { NULL, NULL, 0 } }; /*% The top-level dns.conf syntax. */ -static cfg_clausedef_t * -dnsconf_clausesets[] = { - dnsconf_clauses, - NULL -}; +static cfg_clausedef_t *dnsconf_clausesets[] = { dnsconf_clauses, NULL }; LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_dnsconf = { - "dnsconf", cfg_parse_mapbody, cfg_print_mapbody, cfg_doc_mapbody, - &cfg_rep_map, dnsconf_clausesets + "dnsconf", cfg_parse_mapbody, cfg_print_mapbody, + cfg_doc_mapbody, &cfg_rep_map, dnsconf_clausesets }; diff --git a/lib/isccfg/include/isccfg/aclconf.h b/lib/isccfg/include/isccfg/aclconf.h index 04f110891a..966a35ebdf 100644 --- a/lib/isccfg/include/isccfg/aclconf.h +++ b/lib/isccfg/include/isccfg/aclconf.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISCCFG_ACLCONF_H #define ISCCFG_ACLCONF_H 1 @@ -17,11 +16,11 @@ #include -#include - #include #include +#include + typedef struct cfg_aclconfctx { ISC_LIST(dns_acl_t) named_acl_cache; isc_mem_t *mctx; @@ -58,15 +57,14 @@ cfg_aclconfctx_attach(cfg_aclconfctx_t *src, cfg_aclconfctx_t **dest); isc_result_t cfg_acl_fromconfig(const cfg_obj_t *caml, const cfg_obj_t *cctx, - isc_log_t *lctx, cfg_aclconfctx_t *ctx, - isc_mem_t *mctx, unsigned int nest_level, - dns_acl_t **target); + isc_log_t *lctx, cfg_aclconfctx_t *ctx, isc_mem_t *mctx, + unsigned int nest_level, dns_acl_t **target); isc_result_t cfg_acl_fromconfig2(const cfg_obj_t *caml, const cfg_obj_t *cctx, - isc_log_t *lctx, cfg_aclconfctx_t *ctx, - isc_mem_t *mctx, unsigned int nest_level, - uint16_t family, dns_acl_t **target); + isc_log_t *lctx, cfg_aclconfctx_t *ctx, isc_mem_t *mctx, + unsigned int nest_level, uint16_t family, + dns_acl_t **target); /* * Construct a new dns_acl_t from configuration data in 'caml' and * 'cctx'. Memory is allocated through 'mctx'. diff --git a/lib/isccfg/include/isccfg/cfg.h b/lib/isccfg/include/isccfg/cfg.h index 2aefdce110..43f16a8f52 100644 --- a/lib/isccfg/include/isccfg/cfg.h +++ b/lib/isccfg/include/isccfg/cfg.h @@ -31,9 +31,9 @@ #include #include +#include #include #include -#include /*** *** Types @@ -70,8 +70,8 @@ typedef struct cfg_listelt cfg_listelt_t; * that needs to be interpreted at parsing time, like * "directory". */ -typedef isc_result_t -(*cfg_parsecallback_t)(const char *clausename, const cfg_obj_t *obj, void *arg); +typedef isc_result_t (*cfg_parsecallback_t)(const char * clausename, + const cfg_obj_t *obj, void *arg); /*** *** Functions @@ -108,8 +108,7 @@ cfg_parser_setflags(cfg_parser_t *pctx, unsigned int flags, bool turn_on); */ void -cfg_parser_setcallback(cfg_parser_t *pctx, - cfg_parsecallback_t callback, +cfg_parser_setcallback(cfg_parser_t *pctx, cfg_parsecallback_t callback, void *arg); /*%< * Make the parser call 'callback' whenever it encounters @@ -122,14 +121,13 @@ cfg_parser_setcallback(cfg_parser_t *pctx, */ isc_result_t -cfg_parse_file(cfg_parser_t *pctx, const char *file, - const cfg_type_t *type, cfg_obj_t **ret); +cfg_parse_file(cfg_parser_t *pctx, const char *file, const cfg_type_t *type, + cfg_obj_t **ret); isc_result_t -cfg_parse_buffer(cfg_parser_t *pctx, isc_buffer_t *buffer, - const char *file, unsigned int line, - const cfg_type_t *type, unsigned int flags, - cfg_obj_t **ret); +cfg_parse_buffer(cfg_parser_t *pctx, isc_buffer_t *buffer, const char *file, + unsigned int line, const cfg_type_t *type, unsigned int flags, + cfg_obj_t **ret); /*%< * Read a configuration containing data of type 'type' * and make '*ret' point to its parse tree. @@ -162,8 +160,8 @@ cfg_parse_buffer(cfg_parser_t *pctx, isc_buffer_t *buffer, */ isc_result_t -cfg_parser_mapadd(cfg_parser_t *pctx, cfg_obj_t *mapobj, - cfg_obj_t *obj, const char *clause); +cfg_parser_mapadd(cfg_parser_t *pctx, cfg_obj_t *mapobj, cfg_obj_t *obj, + const char *clause); /*%< * Add the object 'obj' to the specified clause in mapbody 'mapobj'. * Used for adding new zones. @@ -214,7 +212,7 @@ cfg_obj_ispercentage(const cfg_obj_t *obj); */ isc_result_t -cfg_map_get(const cfg_obj_t *mapobj, const char* name, const cfg_obj_t **obj); +cfg_map_get(const cfg_obj_t *mapobj, const char *name, const cfg_obj_t **obj); /*%< * Extract an element from a configuration object, which * must be of a map type. @@ -399,7 +397,8 @@ cfg_obj_assockaddr(const cfg_obj_t *obj); * Returns the value of a configuration object representing a socket address. * * Requires: - * \li 'obj' points to a valid configuration object of a socket address type. + * \li 'obj' points to a valid configuration object of a socket address + * type. * * Returns: * \li A pointer to a sockaddr. The sockaddr must be copied by the caller @@ -502,12 +501,13 @@ cfg_printx(const cfg_obj_t *obj, unsigned int flags, void (*f)(void *closure, const char *text, int textlen), void *closure); -#define CFG_PRINTER_XKEY 0x1 /* '?' out shared keys. */ -#define CFG_PRINTER_ONELINE 0x2 /* print config as a single line */ -#define CFG_PRINTER_ACTIVEONLY 0x4 /* print only active configuration - options, omitting ancient, - obsolete, nonimplemented, - and test-only options. */ +#define CFG_PRINTER_XKEY 0x1 /* '?' out shared keys. */ +#define CFG_PRINTER_ONELINE 0x2 /* print config as a single line */ +#define CFG_PRINTER_ACTIVEONLY \ + 0x4 /* print only active configuration \ + options, omitting ancient, \ + obsolete, nonimplemented, \ + and test-only options. */ /*%< * Print the configuration object 'obj' by repeatedly calling the @@ -520,8 +520,8 @@ cfg_printx(const cfg_obj_t *obj, unsigned int flags, void cfg_print_grammar(const cfg_type_t *type, unsigned int flags, - void (*f)(void *closure, const char *text, int textlen), - void *closure); + void (*f)(void *closure, const char *text, int textlen), + void *closure); /*%< * Print a summary of the grammar of the configuration type 'type'. */ @@ -550,9 +550,8 @@ cfg_obj_destroy(cfg_parser_t *pctx, cfg_obj_t **obj); */ void -cfg_obj_log(const cfg_obj_t *obj, isc_log_t *lctx, int level, - const char *fmt, ...) - ISC_FORMAT_PRINTF(4, 5); +cfg_obj_log(const cfg_obj_t *obj, isc_log_t *lctx, int level, const char *fmt, + ...) ISC_FORMAT_PRINTF(4, 5); /*%< * Log a message concerning configuration object 'obj' to the logging * channel of 'pctx', at log level 'level'. The message will be prefixed @@ -578,10 +577,11 @@ const char * cfg_map_nextclause(const cfg_type_t *map, const void **clauses, unsigned int *idx); -typedef isc_result_t -(pluginlist_cb_t)(const cfg_obj_t *config, const cfg_obj_t *obj, - const char *plugin_path, const char *parameters, - void *callback_data); +typedef isc_result_t(pluginlist_cb_t)(const cfg_obj_t *config, + const cfg_obj_t *obj, + const char * plugin_path, + const char * parameters, + void * callback_data); /*%< * Function prototype for the callback used with cfg_pluginlist_foreach(). * Called once for each element of the list passed to cfg_pluginlist_foreach(). diff --git a/lib/isccfg/include/isccfg/dnsconf.h b/lib/isccfg/include/isccfg/dnsconf.h index 51221d37b8..809d699f88 100644 --- a/lib/isccfg/include/isccfg/dnsconf.h +++ b/lib/isccfg/include/isccfg/dnsconf.h @@ -12,7 +12,6 @@ #ifndef ISCCFG_DNSCONF_H #define ISCCFG_DNSCONF_H 1 - /*! \file * \brief * This module defines the named.conf, rndc.conf, and rndc.key grammars. diff --git a/lib/isccfg/include/isccfg/grammar.h b/lib/isccfg/include/isccfg/grammar.h index 1b02820ba0..ba4745af2e 100644 --- a/lib/isccfg/include/isccfg/grammar.h +++ b/lib/isccfg/include/isccfg/grammar.h @@ -19,8 +19,8 @@ #include #include -#include #include +#include #include #include @@ -31,57 +31,57 @@ */ /*% Clause may occur multiple times (e.g., "zone") */ -#define CFG_CLAUSEFLAG_MULTI 0x00000001 +#define CFG_CLAUSEFLAG_MULTI 0x00000001 /*% Clause is obsolete (logs a warning, but is not a fatal error) */ -#define CFG_CLAUSEFLAG_OBSOLETE 0x00000002 +#define CFG_CLAUSEFLAG_OBSOLETE 0x00000002 /*% Clause is not implemented, and may never be */ -#define CFG_CLAUSEFLAG_NOTIMP 0x00000004 +#define CFG_CLAUSEFLAG_NOTIMP 0x00000004 /*% Clause is not implemented yet */ -#define CFG_CLAUSEFLAG_NYI 0x00000008 +#define CFG_CLAUSEFLAG_NYI 0x00000008 /*% Default value has changed since earlier release */ -#define CFG_CLAUSEFLAG_NEWDEFAULT 0x00000010 +#define CFG_CLAUSEFLAG_NEWDEFAULT 0x00000010 /*% * Clause needs to be interpreted during parsing * by calling a callback function, like the * "directory" option. */ -#define CFG_CLAUSEFLAG_CALLBACK 0x00000020 +#define CFG_CLAUSEFLAG_CALLBACK 0x00000020 /*% A option that is only used in testing. */ -#define CFG_CLAUSEFLAG_TESTONLY 0x00000040 +#define CFG_CLAUSEFLAG_TESTONLY 0x00000040 /*% A configuration option that was not configured at compile time. */ -#define CFG_CLAUSEFLAG_NOTCONFIGURED 0x00000080 +#define CFG_CLAUSEFLAG_NOTCONFIGURED 0x00000080 /*% A option for a experimental feature. */ -#define CFG_CLAUSEFLAG_EXPERIMENTAL 0x00000100 +#define CFG_CLAUSEFLAG_EXPERIMENTAL 0x00000100 /*% A configuration option that is ineffective due to * compile time options, but is harmless. */ -#define CFG_CLAUSEFLAG_NOOP 0x00000200 +#define CFG_CLAUSEFLAG_NOOP 0x00000200 /*% Clause will be obsolete in a future release (logs a warning) */ -#define CFG_CLAUSEFLAG_DEPRECATED 0x00000400 +#define CFG_CLAUSEFLAG_DEPRECATED 0x00000400 /*% Clause has been obsolete so long that it's now a fatal error */ -#define CFG_CLAUSEFLAG_ANCIENT 0x00000800 +#define CFG_CLAUSEFLAG_ANCIENT 0x00000800 /*% * Zone types for which a clause is valid: * These share space with CFG_CLAUSEFLAG values, but count * down from the top. */ -#define CFG_ZONE_MASTER 0x80000000 -#define CFG_ZONE_SLAVE 0x40000000 -#define CFG_ZONE_STUB 0x20000000 -#define CFG_ZONE_HINT 0x10000000 -#define CFG_ZONE_FORWARD 0x08000000 -#define CFG_ZONE_STATICSTUB 0x04000000 -#define CFG_ZONE_REDIRECT 0x02000000 -#define CFG_ZONE_DELEGATION 0x01000000 -#define CFG_ZONE_INVIEW 0x00800000 -#define CFG_ZONE_MIRROR 0x00400000 +#define CFG_ZONE_MASTER 0x80000000 +#define CFG_ZONE_SLAVE 0x40000000 +#define CFG_ZONE_STUB 0x20000000 +#define CFG_ZONE_HINT 0x10000000 +#define CFG_ZONE_FORWARD 0x08000000 +#define CFG_ZONE_STATICSTUB 0x04000000 +#define CFG_ZONE_REDIRECT 0x02000000 +#define CFG_ZONE_DELEGATION 0x01000000 +#define CFG_ZONE_INVIEW 0x00800000 +#define CFG_ZONE_MIRROR 0x00400000 -typedef struct cfg_clausedef cfg_clausedef_t; +typedef struct cfg_clausedef cfg_clausedef_t; typedef struct cfg_tuplefielddef cfg_tuplefielddef_t; -typedef struct cfg_printer cfg_printer_t; +typedef struct cfg_printer cfg_printer_t; typedef ISC_LIST(cfg_listelt_t) cfg_list_t; -typedef struct cfg_map cfg_map_t; -typedef struct cfg_rep cfg_rep_t; +typedef struct cfg_map cfg_map_t; +typedef struct cfg_rep cfg_rep_t; typedef struct cfg_duration cfg_duration_t; #define CFG_DURATION_MAXLEN 64 @@ -92,9 +92,9 @@ typedef struct cfg_duration cfg_duration_t; typedef isc_result_t (*cfg_parsefunc_t)(cfg_parser_t *, const cfg_type_t *type, cfg_obj_t **); -typedef void (*cfg_printfunc_t)(cfg_printer_t *, const cfg_obj_t *); -typedef void (*cfg_docfunc_t)(cfg_printer_t *, const cfg_type_t *); -typedef void (*cfg_freefunc_t)(cfg_parser_t *, cfg_obj_t *); +typedef void (*cfg_printfunc_t)(cfg_printer_t *, const cfg_obj_t *); +typedef void (*cfg_docfunc_t)(cfg_printer_t *, const cfg_type_t *); +typedef void (*cfg_freefunc_t)(cfg_parser_t *, cfg_obj_t *); /* * Structure definitions @@ -108,53 +108,53 @@ typedef void (*cfg_freefunc_t)(cfg_parser_t *, cfg_obj_t *); struct cfg_printer { void (*f)(void *closure, const char *text, int textlen); void *closure; - int indent; - int flags; + int indent; + int flags; }; /*% A clause definition. */ struct cfg_clausedef { - const char *name; - cfg_type_t *type; - unsigned int flags; + const char * name; + cfg_type_t * type; + unsigned int flags; }; /*% A tuple field definition. */ struct cfg_tuplefielddef { - const char *name; - cfg_type_t *type; - unsigned int flags; + const char * name; + cfg_type_t * type; + unsigned int flags; }; /*% A configuration object type definition. */ struct cfg_type { - const char *name; /*%< For debugging purposes only */ - cfg_parsefunc_t parse; + const char * name; /*%< For debugging purposes only */ + cfg_parsefunc_t parse; cfg_printfunc_t print; - cfg_docfunc_t doc; /*%< Print grammar description */ - cfg_rep_t * rep; /*%< Data representation */ - const void * of; /*%< Additional data for meta-types */ + cfg_docfunc_t doc; /*%< Print grammar description */ + cfg_rep_t * rep; /*%< Data representation */ + const void * of; /*%< Additional data for meta-types */ }; /*% A keyword-type definition, for things like "port ". */ typedef struct { - const char *name; + const char * name; const cfg_type_t *type; } keyword_type_t; struct cfg_map { - cfg_obj_t *id; /*%< Used for 'named maps' like keys, zones, &c */ - const cfg_clausedef_t * const *clausesets; /*%< The clauses that - can occur in this map; - used for printing */ - isc_symtab_t *symtab; + cfg_obj_t *id; /*%< Used for 'named maps' like keys, zones, &c */ + const cfg_clausedef_t *const *clausesets; /*%< The clauses that + can occur in this map; + used for printing */ + isc_symtab_t *symtab; }; typedef struct cfg_netprefix cfg_netprefix_t; struct cfg_netprefix { isc_netaddr_t address; /* IP4/IP6 */ - unsigned int prefixlen; + unsigned int prefixlen; }; /*% @@ -172,16 +172,16 @@ struct cfg_duration { * [6] Seconds */ uint32_t parts[7]; - bool iso8601; - bool unlimited; + bool iso8601; + bool unlimited; }; /*% * A configuration data representation. */ struct cfg_rep { - const char * name; /*%< For debugging only */ - cfg_freefunc_t free; /*%< How to free this kind of data. */ + const char * name; /*%< For debugging only */ + cfg_freefunc_t free; /*%< How to free this kind of data. */ }; /*% @@ -192,48 +192,47 @@ struct cfg_rep { struct cfg_obj { const cfg_type_t *type; union { - uint32_t uint32; - uint64_t uint64; + uint32_t uint32; + uint64_t uint64; isc_textregion_t string; /*%< null terminated, too */ - bool boolean; - cfg_map_t map; - cfg_list_t list; - cfg_obj_t ** tuple; - isc_sockaddr_t sockaddr; + bool boolean; + cfg_map_t map; + cfg_list_t list; + cfg_obj_t ** tuple; + isc_sockaddr_t sockaddr; struct { - isc_sockaddr_t sockaddr; - isc_dscp_t dscp; + isc_sockaddr_t sockaddr; + isc_dscp_t dscp; } sockaddrdscp; cfg_netprefix_t netprefix; - cfg_duration_t duration; - } value; - isc_refcount_t references; /*%< reference counter */ - const char * file; - unsigned int line; - cfg_parser_t * pctx; + cfg_duration_t duration; + } value; + isc_refcount_t references; /*%< reference counter */ + const char * file; + unsigned int line; + cfg_parser_t * pctx; }; - /*% A list element. */ struct cfg_listelt { - cfg_obj_t *obj; - ISC_LINK(cfg_listelt_t) link; + cfg_obj_t *obj; + ISC_LINK(cfg_listelt_t) link; }; /*% The parser object. */ struct cfg_parser { - isc_mem_t * mctx; - isc_log_t * lctx; - isc_lex_t * lexer; - unsigned int errors; - unsigned int warnings; - isc_token_t token; + isc_mem_t * mctx; + isc_log_t * lctx; + isc_lex_t * lexer; + unsigned int errors; + unsigned int warnings; + isc_token_t token; /*% We are at the end of all input. */ - bool seen_eof; + bool seen_eof; /*% The current token has been pushed back. */ - bool ungotten; + bool ungotten; /*% * The stack of currently active files, represented @@ -242,7 +241,7 @@ struct cfg_parser { * (if any) are the nested include files, and the * last element is the file currently being parsed. */ - cfg_obj_t * open_files; + cfg_obj_t *open_files; /*% * Names of files that we have parsed and closed @@ -253,20 +252,20 @@ struct cfg_parser { * for use in reporting semantic errors after * parsing is complete. */ - cfg_obj_t * closed_files; + cfg_obj_t *closed_files; /*% * Name of a buffer being parsed; used only for * logging. */ - char const * buf_name; + char const *buf_name; /*% * Current line number. We maintain our own * copy of this so that it is available even * when a file has just been closed. */ - unsigned int line; + unsigned int line; /*% * Parser context flags, used for maintaining state @@ -275,26 +274,26 @@ struct cfg_parser { unsigned int flags; /*%< Reference counter */ - isc_refcount_t references; + isc_refcount_t references; cfg_parsecallback_t callback; - void *callbackarg; + void * callbackarg; }; /* Parser context flags */ -#define CFG_PCTX_SKIP 0x1 -#define CFG_PCTX_NODEPRECATED 0x2 +#define CFG_PCTX_SKIP 0x1 +#define CFG_PCTX_NODEPRECATED 0x2 /*@{*/ /*% * Flags defining whether to accept certain types of network addresses. */ -#define CFG_ADDR_V4OK 0x00000001 -#define CFG_ADDR_V4PREFIXOK 0x00000002 -#define CFG_ADDR_V6OK 0x00000004 -#define CFG_ADDR_WILDOK 0x00000008 -#define CFG_ADDR_DSCPOK 0x00000010 -#define CFG_ADDR_MASK (CFG_ADDR_V6OK|CFG_ADDR_V4OK) +#define CFG_ADDR_V4OK 0x00000001 +#define CFG_ADDR_V4PREFIXOK 0x00000002 +#define CFG_ADDR_V6OK 0x00000004 +#define CFG_ADDR_WILDOK 0x00000008 +#define CFG_ADDR_DSCPOK 0x00000010 +#define CFG_ADDR_MASK (CFG_ADDR_V6OK | CFG_ADDR_V4OK) /*@}*/ /*@{*/ @@ -417,7 +416,8 @@ void cfg_doc_sockaddr(cfg_printer_t *pctx, const cfg_type_t *type); isc_result_t -cfg_parse_netprefix(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret); +cfg_parse_netprefix(cfg_parser_t *pctx, const cfg_type_t *type, + cfg_obj_t **ret); isc_result_t cfg_parse_special(cfg_parser_t *pctx, int special); @@ -443,7 +443,8 @@ cfg_parse_listelt(cfg_parser_t *pctx, const cfg_type_t *elttype, cfg_listelt_t **ret); isc_result_t -cfg_parse_bracketed_list(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret); +cfg_parse_bracketed_list(cfg_parser_t *pctx, const cfg_type_t *type, + cfg_obj_t **ret); void cfg_print_bracketed_list(cfg_printer_t *pctx, const cfg_obj_t *obj); @@ -452,7 +453,8 @@ void cfg_doc_bracketed_list(cfg_printer_t *pctx, const cfg_type_t *type); isc_result_t -cfg_parse_spacelist(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret); +cfg_parse_spacelist(cfg_parser_t *pctx, const cfg_type_t *type, + cfg_obj_t **ret); void cfg_print_spacelist(cfg_printer_t *pctx, const cfg_obj_t *obj); @@ -483,14 +485,16 @@ isc_result_t cfg_parse_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret); isc_result_t -cfg_parse_named_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret); +cfg_parse_named_map(cfg_parser_t *pctx, const cfg_type_t *type, + cfg_obj_t **ret); isc_result_t -cfg_parse_addressed_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret); +cfg_parse_addressed_map(cfg_parser_t *pctx, const cfg_type_t *type, + cfg_obj_t **ret); isc_result_t -cfg_parse_netprefix_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t ** -ret); +cfg_parse_netprefix_map(cfg_parser_t *pctx, const cfg_type_t *type, + cfg_obj_t **ret); void cfg_print_map(cfg_printer_t *pctx, const cfg_obj_t *obj); @@ -531,8 +535,7 @@ void cfg_print_percentage(cfg_printer_t *pctx, const cfg_obj_t *obj); isc_result_t -cfg_parse_duration(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret); +cfg_parse_duration(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret); void cfg_print_duration(cfg_printer_t *pctx, const cfg_obj_t *obj); @@ -565,19 +568,19 @@ cfg_doc_terminal(cfg_printer_t *pctx, const cfg_type_t *type); */ void -cfg_parser_error(cfg_parser_t *pctx, unsigned int flags, - const char *fmt, ...) ISC_FORMAT_PRINTF(3, 4); +cfg_parser_error(cfg_parser_t *pctx, unsigned int flags, const char *fmt, ...) + ISC_FORMAT_PRINTF(3, 4); /*! * Pass one of these flags to cfg_parser_error() to include the * token text in log message. */ -#define CFG_LOG_NEAR 0x00000001 /*%< Say "near " */ -#define CFG_LOG_BEFORE 0x00000002 /*%< Say "before " */ -#define CFG_LOG_NOPREP 0x00000004 /*%< Say just "" */ +#define CFG_LOG_NEAR 0x00000001 /*%< Say "near " */ +#define CFG_LOG_BEFORE 0x00000002 /*%< Say "before " */ +#define CFG_LOG_NOPREP 0x00000004 /*%< Say just "" */ void -cfg_parser_warning(cfg_parser_t *pctx, unsigned int flags, - const char *fmt, ...) ISC_FORMAT_PRINTF(3, 4); +cfg_parser_warning(cfg_parser_t *pctx, unsigned int flags, const char *fmt, ...) + ISC_FORMAT_PRINTF(3, 4); bool cfg_is_enum(const char *s, const char *const *enums); diff --git a/lib/isccfg/include/isccfg/kaspconf.h b/lib/isccfg/include/isccfg/kaspconf.h index febfa680f9..aed84b420b 100644 --- a/lib/isccfg/include/isccfg/kaspconf.h +++ b/lib/isccfg/include/isccfg/kaspconf.h @@ -9,16 +9,15 @@ * information regarding copyright ownership. */ - #ifndef ISCCFG_KASPCONF_H #define ISCCFG_KASPCONF_H 1 #include -#include - #include +#include + /*** *** Functions ***/ @@ -26,7 +25,7 @@ ISC_LANG_BEGINDECLS isc_result_t -cfg_kasp_fromconfig(const cfg_obj_t *config, isc_mem_t* mctx, isc_log_t *logctx, +cfg_kasp_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx, isc_log_t *logctx, dns_kasplist_t *kasplist, dns_kasp_t **kaspp); /*%< * Create and configure a KASP. If 'config' is NULL, the default configuration diff --git a/lib/isccfg/include/isccfg/log.h b/lib/isccfg/include/isccfg/log.h index 5c7fe95cef..715ea6bbce 100644 --- a/lib/isccfg/include/isccfg/log.h +++ b/lib/isccfg/include/isccfg/log.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - #ifndef ISCCFG_LOG_H #define ISCCFG_LOG_H 1 @@ -19,11 +18,11 @@ #include LIBISCCFG_EXTERNAL_DATA extern isc_logcategory_t cfg_categories[]; -LIBISCCFG_EXTERNAL_DATA extern isc_logmodule_t cfg_modules[]; +LIBISCCFG_EXTERNAL_DATA extern isc_logmodule_t cfg_modules[]; -#define CFG_LOGCATEGORY_CONFIG (&cfg_categories[0]) +#define CFG_LOGCATEGORY_CONFIG (&cfg_categories[0]) -#define CFG_LOGMODULE_PARSER (&cfg_modules[0]) +#define CFG_LOGMODULE_PARSER (&cfg_modules[0]) ISC_LANG_BEGINDECLS diff --git a/lib/isccfg/include/isccfg/version.h b/lib/isccfg/include/isccfg/version.h index 2e9a139209..30ca02d953 100644 --- a/lib/isccfg/include/isccfg/version.h +++ b/lib/isccfg/include/isccfg/version.h @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file isccfg/version.h */ #include diff --git a/lib/isccfg/kaspconf.c b/lib/isccfg/kaspconf.c index db31dc0e65..7e83c006a5 100644 --- a/lib/isccfg/kaspconf.c +++ b/lib/isccfg/kaspconf.c @@ -19,22 +19,21 @@ #include #include -#include -#include -#include - #include #include #include #include #include +#include +#include +#include /* * Utility function for getting a configuration option. */ static isc_result_t -confget(cfg_obj_t const * const *maps, const char *name, const cfg_obj_t **obj) +confget(cfg_obj_t const *const *maps, const char *name, const cfg_obj_t **obj) { for (size_t i = 0;; i++) { if (maps[i] == NULL) { @@ -50,10 +49,10 @@ confget(cfg_obj_t const * const *maps, const char *name, const cfg_obj_t **obj) * Utility function for configuring durations. */ static uint32_t -get_duration(const cfg_obj_t **maps, const char* option, uint32_t dfl) +get_duration(const cfg_obj_t **maps, const char *option, uint32_t dfl) { const cfg_obj_t *obj; - isc_result_t result; + isc_result_t result; obj = NULL; result = confget(maps, option, &obj); @@ -71,7 +70,7 @@ static isc_result_t cfg_kaspkey_fromconfig(const cfg_obj_t *config, dns_kasp_t *kasp, isc_log_t *logctx) { - isc_result_t result; + isc_result_t result; dns_kasp_key_t *key = NULL; /* Create a new key reference. */ @@ -87,8 +86,8 @@ cfg_kaspkey_fromconfig(const cfg_obj_t *config, dns_kasp_t *kasp, key->algorithm = DNS_KEYALG_ECDSA256; key->length = -1; } else { - const char *rolestr = NULL; - const cfg_obj_t *obj = NULL; + const char * rolestr = NULL; + const cfg_obj_t * obj = NULL; isc_consttextregion_t alg; rolestr = cfg_obj_asstring(cfg_tuple_get(config, "role")); @@ -111,7 +110,7 @@ cfg_kaspkey_fromconfig(const cfg_obj_t *config, dns_kasp_t *kasp, alg.base = cfg_obj_asstring(obj); alg.length = strlen(alg.base); result = dns_secalg_fromtext(&key->algorithm, - (isc_textregion_t *) &alg); + (isc_textregion_t *)&alg); if (result != ISC_R_SUCCESS) { cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "dnssec-policy: bad algorithm %s", @@ -132,8 +131,7 @@ cfg_kaspkey_fromconfig(const cfg_obj_t *config, dns_kasp_t *kasp, case DNS_KEYALG_RSASHA512: min = DNS_KEYALG_RSASHA512 ? 1024 : 512; if (size < min || size > 4096) { - cfg_obj_log(obj, logctx, - ISC_LOG_ERROR, + cfg_obj_log(obj, logctx, ISC_LOG_ERROR, "dnssec-policy: key with " "algorithm %s has invalid " "key length %u", @@ -149,7 +147,8 @@ cfg_kaspkey_fromconfig(const cfg_obj_t *config, dns_kasp_t *kasp, cfg_obj_log(obj, logctx, ISC_LOG_WARNING, "dnssec-policy: key algorithm %s " "has predefined length; ignoring " - "length value %u", alg.base, size); + "length value %u", + alg.base, size); default: break; } @@ -165,27 +164,26 @@ cleanup: dns_kasp_key_destroy(key); return (result); - } isc_result_t cfg_kasp_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx, isc_log_t *logctx, dns_kasplist_t *kasplist, dns_kasp_t **kaspp) { - isc_result_t result; - const cfg_obj_t *maps[2]; - const cfg_obj_t *koptions = NULL; - const cfg_obj_t *keys = NULL; + isc_result_t result; + const cfg_obj_t * maps[2]; + const cfg_obj_t * koptions = NULL; + const cfg_obj_t * keys = NULL; const cfg_listelt_t *element = NULL; - const char *kaspname = NULL; - dns_kasp_t *kasp = NULL; - int i = 0; + const char * kaspname = NULL; + dns_kasp_t * kasp = NULL; + int i = 0; REQUIRE(kaspp != NULL && *kaspp == NULL); - kaspname = (config != NULL) ? - cfg_obj_asstring(cfg_tuple_get(config, "name")) : - "default"; + kaspname = (config != NULL) + ? cfg_obj_asstring(cfg_tuple_get(config, "name")) + : "default"; REQUIRE(strcmp(kaspname, "none") != 0); @@ -216,27 +214,21 @@ cfg_kasp_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx, isc_log_t *logctx, maps[i] = NULL; /* Configuration: Signatures */ - dns_kasp_setsigrefresh(kasp, - get_duration(maps, "signatures-refresh", - DNS_KASP_SIG_REFRESH)); - dns_kasp_setsigvalidity(kasp, - get_duration(maps, "signatures-validity", - DNS_KASP_SIG_VALIDITY)); - dns_kasp_setsigvalidity_dnskey(kasp, - get_duration(maps, - "signatures-validity-dnskey", - DNS_KASP_SIG_VALIDITY_DNSKEY)); + dns_kasp_setsigrefresh(kasp, get_duration(maps, "signatures-refresh", + DNS_KASP_SIG_REFRESH)); + dns_kasp_setsigvalidity(kasp, get_duration(maps, "signatures-validity", + DNS_KASP_SIG_VALIDITY)); + dns_kasp_setsigvalidity_dnskey( + kasp, get_duration(maps, "signatures-validity-dnskey", + DNS_KASP_SIG_VALIDITY_DNSKEY)); /* Configuration: Keys */ - dns_kasp_setdnskeyttl(kasp, - get_duration(maps, "dnskey-ttl", - DNS_KASP_KEY_TTL)); - dns_kasp_setpublishsafety(kasp, - get_duration(maps, "publish-safety", - DNS_KASP_PUBLISH_SAFETY)); - dns_kasp_setretiresafety(kasp, - get_duration(maps, "retire-safety", - DNS_KASP_RETIRE_SAFETY)); + dns_kasp_setdnskeyttl( + kasp, get_duration(maps, "dnskey-ttl", DNS_KASP_KEY_TTL)); + dns_kasp_setpublishsafety(kasp, get_duration(maps, "publish-safety", + DNS_KASP_PUBLISH_SAFETY)); + dns_kasp_setretiresafety(kasp, get_duration(maps, "retire-safety", + DNS_KASP_RETIRE_SAFETY)); (void)confget(maps, "keys", &keys); if (keys == NULL) { @@ -246,8 +238,7 @@ cfg_kasp_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx, isc_log_t *logctx, } } else { for (element = cfg_list_first(keys); element != NULL; - element = cfg_list_next(element)) - { + element = cfg_list_next(element)) { cfg_obj_t *kobj = cfg_listelt_value(element); result = cfg_kaspkey_fromconfig(kobj, kasp, logctx); if (result != ISC_R_SUCCESS) { @@ -258,21 +249,21 @@ cfg_kasp_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx, isc_log_t *logctx, INSIST(!(dns_kasp_keylist_empty(kasp))); /* Configuration: Zone settings */ - dns_kasp_setzonemaxttl(kasp, get_duration(maps, "max-zone-ttl", - DNS_KASP_ZONE_MAXTTL)); - dns_kasp_setzonepropagationdelay(kasp, get_duration(maps, - "zone-propagation-delay", - DNS_KASP_ZONE_PROPDELAY)); + dns_kasp_setzonemaxttl( + kasp, get_duration(maps, "max-zone-ttl", DNS_KASP_ZONE_MAXTTL)); + dns_kasp_setzonepropagationdelay( + kasp, get_duration(maps, "zone-propagation-delay", + DNS_KASP_ZONE_PROPDELAY)); /* Configuration: Parent settings */ - dns_kasp_setdsttl(kasp, get_duration(maps, "parent-ds-ttl", - DNS_KASP_DS_TTL)); - dns_kasp_setparentpropagationdelay(kasp, get_duration(maps, - "parent-propagation-delay", - DNS_KASP_PARENT_PROPDELAY)); - dns_kasp_setparentregistrationdelay(kasp, get_duration(maps, - "parent-registration-delay", - DNS_KASP_PARENT_REGDELAY)); + dns_kasp_setdsttl(kasp, + get_duration(maps, "parent-ds-ttl", DNS_KASP_DS_TTL)); + dns_kasp_setparentpropagationdelay( + kasp, get_duration(maps, "parent-propagation-delay", + DNS_KASP_PARENT_PROPDELAY)); + dns_kasp_setparentregistrationdelay( + kasp, get_duration(maps, "parent-registration-delay", + DNS_KASP_PARENT_REGDELAY)); /* TODO: Rest of the configuration */ diff --git a/lib/isccfg/log.c b/lib/isccfg/log.c index 8ad45ffb67..07b5cf02d0 100644 --- a/lib/isccfg/log.c +++ b/lib/isccfg/log.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -20,22 +19,20 @@ * When adding a new category, be sure to add the appropriate * \#define to . */ -LIBISCCFG_EXTERNAL_DATA isc_logcategory_t cfg_categories[] = { - { "config", 0 }, - { NULL, 0 } -}; +LIBISCCFG_EXTERNAL_DATA isc_logcategory_t cfg_categories[] = { { "config", 0 }, + { NULL, 0 } }; /*% * When adding a new module, be sure to add the appropriate * \#define to . */ LIBISCCFG_EXTERNAL_DATA isc_logmodule_t cfg_modules[] = { - { "isccfg/parser", 0 }, - { NULL, 0 } + { "isccfg/parser", 0 }, { NULL, 0 } }; void -cfg_log_init(isc_log_t *lctx) { +cfg_log_init(isc_log_t *lctx) +{ REQUIRE(lctx != NULL); isc_log_registercategories(lctx, cfg_categories); diff --git a/lib/isccfg/namedconf.c b/lib/isccfg/namedconf.c index b0216d4531..2a5f712997 100644 --- a/lib/isccfg/namedconf.c +++ b/lib/isccfg/namedconf.c @@ -23,8 +23,8 @@ #include #include -#include #include +#include #include #include @@ -34,15 +34,19 @@ #define TOKEN_STRING(pctx) (pctx->token.value.as_textregion.base) /*% Check a return value. */ -#define CHECK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) goto cleanup; \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto cleanup; \ } while (0) /*% Clean up a configuration object if non-NULL. */ -#define CLEANUP_OBJ(obj) \ - do { if ((obj) != NULL) cfg_obj_destroy(pctx, &(obj)); } while (0) - +#define CLEANUP_OBJ(obj) \ + do { \ + if ((obj) != NULL) \ + cfg_obj_destroy(pctx, &(obj)); \ + } while (0) /*% * Forward declarations of static functions. @@ -56,8 +60,7 @@ parse_optional_keyvalue(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret); static isc_result_t -parse_updatepolicy(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret); +parse_updatepolicy(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret); static void print_updatepolicy(cfg_printer_t *pctx, const cfg_obj_t *obj); @@ -135,10 +138,9 @@ static cfg_tuplefielddef_t tkey_dhkey_fields[] = { { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_tkey_dhkey = { - "tkey-dhkey", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, tkey_dhkey_fields -}; +static cfg_type_t cfg_type_tkey_dhkey = { "tkey-dhkey", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, tkey_dhkey_fields }; /*% listen-on */ @@ -149,23 +151,20 @@ static cfg_tuplefielddef_t listenon_fields[] = { { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_listenon = { - "listenon", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, listenon_fields -}; +static cfg_type_t cfg_type_listenon = { "listenon", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, listenon_fields }; /*% acl */ -static cfg_tuplefielddef_t acl_fields[] = { - { "name", &cfg_type_astring, 0 }, - { "value", &cfg_type_bracketed_aml, 0 }, - { NULL, NULL, 0 } -}; +static cfg_tuplefielddef_t acl_fields[] = { { "name", &cfg_type_astring, 0 }, + { "value", &cfg_type_bracketed_aml, + 0 }, + { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_acl = { - "acl", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, acl_fields -}; +static cfg_type_t cfg_type_acl = { "acl", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, acl_fields }; /*% masters */ static cfg_tuplefielddef_t masters_fields[] = { @@ -176,10 +175,9 @@ static cfg_tuplefielddef_t masters_fields[] = { { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_masters = { - "masters", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, masters_fields -}; +static cfg_type_t cfg_type_masters = { "masters", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, masters_fields }; /*% * "sockaddrkeylist", a list of socket addresses with optional keys @@ -195,13 +193,16 @@ static cfg_tuplefielddef_t namesockaddrkey_fields[] = { }; static cfg_type_t cfg_type_namesockaddrkey = { - "namesockaddrkey", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, namesockaddrkey_fields + "namesockaddrkey", cfg_parse_tuple, cfg_print_tuple, + cfg_doc_tuple, &cfg_rep_tuple, namesockaddrkey_fields }; static cfg_type_t cfg_type_bracketed_namesockaddrkeylist = { - "bracketed_namesockaddrkeylist", cfg_parse_bracketed_list, - cfg_print_bracketed_list, cfg_doc_bracketed_list, &cfg_rep_list, + "bracketed_namesockaddrkeylist", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, &cfg_type_namesockaddrkey }; @@ -212,8 +213,8 @@ static cfg_tuplefielddef_t namesockaddrkeylist_fields[] = { { NULL, NULL, 0 } }; static cfg_type_t cfg_type_namesockaddrkeylist = { - "sockaddrkeylist", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, namesockaddrkeylist_fields + "sockaddrkeylist", cfg_parse_tuple, cfg_print_tuple, + cfg_doc_tuple, &cfg_rep_tuple, namesockaddrkeylist_fields }; /*% @@ -226,43 +227,42 @@ static cfg_tuplefielddef_t portiplist_fields[] = { { "addresses", &cfg_type_bracketed_dscpsockaddrlist, 0 }, { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_portiplist = { - "portiplist", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, portiplist_fields -}; +static cfg_type_t cfg_type_portiplist = { "portiplist", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, portiplist_fields }; /* * Obsolete format for the "pubkey" statement. */ static cfg_tuplefielddef_t pubkey_fields[] = { - { "flags", &cfg_type_uint32, 0 }, - { "protocol", &cfg_type_uint32, 0 }, - { "algorithm", &cfg_type_uint32, 0 }, - { "key", &cfg_type_qstring, 0 }, - { NULL, NULL, 0 } -}; -static cfg_type_t cfg_type_pubkey = { - "pubkey", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, pubkey_fields + { "flags", &cfg_type_uint32, 0 }, + { "protocol", &cfg_type_uint32, 0 }, + { "algorithm", &cfg_type_uint32, 0 }, + { "key", &cfg_type_qstring, 0 }, + { NULL, NULL, 0 } }; +static cfg_type_t cfg_type_pubkey = { "pubkey", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, pubkey_fields }; /*% * A list of RR types, used in grant statements. * Note that the old parser allows quotes around the RR type names. */ static cfg_type_t cfg_type_rrtypelist = { - "rrtypelist", cfg_parse_spacelist, cfg_print_spacelist, - cfg_doc_terminal, &cfg_rep_list, &cfg_type_astring + "rrtypelist", cfg_parse_spacelist, cfg_print_spacelist, + cfg_doc_terminal, &cfg_rep_list, &cfg_type_astring }; static const char *mode_enums[] = { "deny", "grant", NULL }; -static cfg_type_t cfg_type_mode = { - "mode", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &mode_enums +static cfg_type_t cfg_type_mode = { + "mode", cfg_parse_enum, cfg_print_ustring, + cfg_doc_enum, &cfg_rep_string, &mode_enums }; static isc_result_t -parse_matchtype(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +parse_matchtype(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ isc_result_t result; CHECK(cfg_peektoken(pctx, 0)); @@ -272,14 +272,15 @@ parse_matchtype(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { } return (cfg_parse_enum(pctx, type, ret)); - cleanup: +cleanup: return (result); } static isc_result_t -parse_matchname(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +parse_matchname(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ isc_result_t result; - cfg_obj_t *obj = NULL; + cfg_obj_t * obj = NULL; if ((pctx->flags & CFG_PCTX_SKIP) != 0) { pctx->flags &= ~CFG_PCTX_SKIP; @@ -288,32 +289,43 @@ parse_matchname(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { result = cfg_parse_astring(pctx, type, &obj); *ret = obj; - cleanup: +cleanup: return (result); } static void -doc_matchname(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_matchname(cfg_printer_t *pctx, const cfg_type_t *type) +{ cfg_print_cstr(pctx, "[ "); cfg_doc_obj(pctx, type->of); cfg_print_cstr(pctx, " ]"); } -static const char *matchtype_enums[] = { - "6to4-self", "external", "krb5-self", "krb5-selfsub", - "krb5-subdomain", "ms-self", "ms-selfsub", "ms-subdomain", - "name", "self", "selfsub", "selfwild", "subdomain", "tcp-self", - "wildcard", "zonesub", NULL -}; +static const char *matchtype_enums[] = { "6to4-self", + "external", + "krb5-self", + "krb5-selfsub", + "krb5-subdomain", + "ms-self", + "ms-selfsub", + "ms-subdomain", + "name", + "self", + "selfsub", + "selfwild", + "subdomain", + "tcp-self", + "wildcard", + "zonesub", + NULL }; -static cfg_type_t cfg_type_matchtype = { - "matchtype", parse_matchtype, cfg_print_ustring, - cfg_doc_enum, &cfg_rep_string, &matchtype_enums -}; +static cfg_type_t cfg_type_matchtype = { "matchtype", parse_matchtype, + cfg_print_ustring, cfg_doc_enum, + &cfg_rep_string, &matchtype_enums }; static cfg_type_t cfg_type_matchname = { "optional_matchname", parse_matchname, cfg_print_ustring, - doc_matchname, &cfg_rep_tuple, &cfg_type_ustring + doc_matchname, &cfg_rep_tuple, &cfg_type_ustring }; /*% @@ -327,19 +339,17 @@ static cfg_tuplefielddef_t grant_fields[] = { { "types", &cfg_type_rrtypelist, 0 }, { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_grant = { - "grant", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, grant_fields -}; +static cfg_type_t cfg_type_grant = { "grant", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, grant_fields }; static cfg_type_t cfg_type_updatepolicy = { - "update_policy", parse_updatepolicy, print_updatepolicy, - doc_updatepolicy, &cfg_rep_list, &cfg_type_grant + "update_policy", parse_updatepolicy, print_updatepolicy, + doc_updatepolicy, &cfg_rep_list, &cfg_type_grant }; static isc_result_t -parse_updatepolicy(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret) +parse_updatepolicy(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { isc_result_t result; CHECK(cfg_gettoken(pctx, 0)); @@ -354,8 +364,8 @@ parse_updatepolicy(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t *obj = NULL; CHECK(cfg_create_obj(pctx, &cfg_type_ustring, &obj)); obj->value.string.length = strlen("local"); - obj->value.string.base = isc_mem_get(pctx->mctx, - obj->value.string.length + 1); + obj->value.string.base = + isc_mem_get(pctx->mctx, obj->value.string.length + 1); memmove(obj->value.string.base, "local", 5); obj->value.string.base[5] = '\0'; *ret = obj; @@ -365,12 +375,13 @@ parse_updatepolicy(cfg_parser_t *pctx, const cfg_type_t *type, cfg_ungettoken(pctx); return (ISC_R_UNEXPECTEDTOKEN); - cleanup: +cleanup: return (result); } static void -print_updatepolicy(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_updatepolicy(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ if (cfg_obj_isstring(obj)) cfg_print_ustring(pctx, obj); else @@ -378,7 +389,8 @@ print_updatepolicy(cfg_printer_t *pctx, const cfg_obj_t *obj) { } static void -doc_updatepolicy(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_updatepolicy(cfg_printer_t *pctx, const cfg_type_t *type) +{ cfg_print_cstr(pctx, "( local | { "); cfg_doc_obj(pctx, type->of); cfg_print_cstr(pctx, "; ... }"); @@ -393,10 +405,9 @@ static cfg_tuplefielddef_t view_fields[] = { { "options", &cfg_type_viewopts, 0 }, { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_view = { - "view", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, view_fields -}; +static cfg_type_t cfg_type_view = { "view", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, view_fields }; /*% * A zone statement. @@ -407,10 +418,9 @@ static cfg_tuplefielddef_t zone_fields[] = { { "options", &cfg_type_zoneopts, 0 }, { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_zone = { - "zone", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, zone_fields -}; +static cfg_type_t cfg_type_zone = { "zone", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, zone_fields }; /*% * A dnssec-policy statement. @@ -422,8 +432,8 @@ static cfg_tuplefielddef_t dnssecpolicy_fields[] = { }; static cfg_type_t cfg_type_dnssecpolicy = { - "dnssec-policy", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, dnssecpolicy_fields + "dnssec-policy", cfg_parse_tuple, cfg_print_tuple, + cfg_doc_tuple, &cfg_rep_tuple, dnssecpolicy_fields }; /*% @@ -431,21 +441,22 @@ static cfg_type_t cfg_type_dnssecpolicy = { */ static cfg_tuplefielddef_t category_fields[] = { { "name", &cfg_type_astring, 0 }, - { "destinations", &cfg_type_destinationlist,0 }, + { "destinations", &cfg_type_destinationlist, 0 }, { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_category = { - "category", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, category_fields -}; +static cfg_type_t cfg_type_category = { "category", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, category_fields }; static isc_result_t -parse_maxduration(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +parse_maxduration(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ return (cfg_parse_enum_or_other(pctx, type, &cfg_type_duration, ret)); } static void -doc_maxduration(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_maxduration(cfg_printer_t *pctx, const cfg_type_t *type) +{ cfg_doc_enum_or_other(pctx, type, &cfg_type_duration); } @@ -453,9 +464,9 @@ doc_maxduration(cfg_printer_t *pctx, const cfg_type_t *type) { * A duration or "unlimited", but not "default". */ static const char *maxduration_enums[] = { "unlimited", NULL }; -static cfg_type_t cfg_type_maxduration = { - "maxduration_no_default", parse_maxduration, cfg_print_ustring, - doc_maxduration, &cfg_rep_duration, maxduration_enums +static cfg_type_t cfg_type_maxduration = { + "maxduration_no_default", parse_maxduration, cfg_print_ustring, + doc_maxduration, &cfg_rep_duration, maxduration_enums }; /*% @@ -470,24 +481,23 @@ static cfg_tuplefielddef_t dnsseckey_fields[] = { { "data", &cfg_type_qstring, 0 }, { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_dnsseckey = { - "dnsseckey", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, dnsseckey_fields -}; +static cfg_type_t cfg_type_dnsseckey = { "dnsseckey", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, dnsseckey_fields }; /*% * Optional enums. * */ static isc_result_t -parse_optional_enum(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret) +parse_optional_enum(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { return (cfg_parse_enum_or_other(pctx, type, &cfg_type_void, ret)); } static void -doc_optional_enum(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_optional_enum(cfg_printer_t *pctx, const cfg_type_t *type) +{ UNUSED(type); cfg_print_cstr(pctx, "[ "); cfg_doc_enum(pctx, type); @@ -498,13 +508,11 @@ doc_optional_enum(cfg_printer_t *pctx, const cfg_type_t *type) { * A key initialization specifier, as used in the * "trust-anchors" (or synonymous "managed-keys") statement. */ -static const char *anchortype_enums[] = { - "static-key", "initial-key", "static-ds", "initial-ds", NULL -}; -static cfg_type_t cfg_type_anchortype = { - "anchortype", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, anchortype_enums -}; +static const char *anchortype_enums[] = { "static-key", "initial-key", + "static-ds", "initial-ds", NULL }; +static cfg_type_t cfg_type_anchortype = { "anchortype", cfg_parse_enum, + cfg_print_ustring, cfg_doc_enum, + &cfg_rep_string, anchortype_enums }; static cfg_tuplefielddef_t managedkey_fields[] = { { "name", &cfg_type_astring, 0 }, { "anchortype", &cfg_type_anchortype, 0 }, @@ -514,44 +522,41 @@ static cfg_tuplefielddef_t managedkey_fields[] = { { "data", &cfg_type_qstring, 0 }, { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_managedkey = { - "managedkey", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, managedkey_fields -}; +static cfg_type_t cfg_type_managedkey = { "managedkey", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, managedkey_fields }; /*% * DNSSEC key roles. */ static const char *dnsseckeyrole_enums[] = { "csk", "ksk", "zsk", NULL }; -static cfg_type_t cfg_type_dnsseckeyrole = { - "dnssec-key-role", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &dnsseckeyrole_enums +static cfg_type_t cfg_type_dnsseckeyrole = { + "dnssec-key-role", cfg_parse_enum, cfg_print_ustring, + cfg_doc_enum, &cfg_rep_string, &dnsseckeyrole_enums }; /*% * DNSSEC key storage types. */ static const char *dnsseckeystore_enums[] = { "key-directory", NULL }; -static cfg_type_t cfg_type_dnsseckeystore = { - "dnssec-key-storage", parse_optional_enum, cfg_print_ustring, - doc_optional_enum, &cfg_rep_string, dnsseckeystore_enums +static cfg_type_t cfg_type_dnsseckeystore = { + "dnssec-key-storage", parse_optional_enum, cfg_print_ustring, + doc_optional_enum, &cfg_rep_string, dnsseckeystore_enums }; /*% * A dnssec key, as used in the "keys" statement in a "dnssec-policy". */ static keyword_type_t algorithm_kw = { "algorithm", &cfg_type_ustring }; -static cfg_type_t cfg_type_algorithm = { - "algorithm", parse_keyvalue, print_keyvalue, - doc_keyvalue, &cfg_rep_string, &algorithm_kw -}; +static cfg_type_t cfg_type_algorithm = { "algorithm", parse_keyvalue, + print_keyvalue, doc_keyvalue, + &cfg_rep_string, &algorithm_kw }; static keyword_type_t lifetime_kw = { "lifetime", &cfg_type_duration_or_unlimited }; -static cfg_type_t cfg_type_lifetime = { - "lifetime", parse_keyvalue, print_keyvalue, - doc_keyvalue, &cfg_rep_duration, &lifetime_kw -}; +static cfg_type_t cfg_type_lifetime = { "lifetime", parse_keyvalue, + print_keyvalue, doc_keyvalue, + &cfg_rep_duration, &lifetime_kw }; static cfg_tuplefielddef_t kaspkey_fields[] = { { "role", &cfg_type_dnsseckeyrole, 0 }, @@ -561,10 +566,9 @@ static cfg_tuplefielddef_t kaspkey_fields[] = { { "length", &cfg_type_optional_uint32, 0 }, { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_kaspkey = { - "kaspkey", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, kaspkey_fields -}; +static cfg_type_t cfg_type_kaspkey = { "kaspkey", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, kaspkey_fields }; /*% * Wild class, type, name. @@ -573,21 +577,21 @@ static keyword_type_t wild_class_kw = { "class", &cfg_type_ustring }; static cfg_type_t cfg_type_optional_wild_class = { "optional_wild_class", parse_optional_keyvalue, print_keyvalue, - doc_optional_keyvalue, &cfg_rep_string, &wild_class_kw + doc_optional_keyvalue, &cfg_rep_string, &wild_class_kw }; static keyword_type_t wild_type_kw = { "type", &cfg_type_ustring }; static cfg_type_t cfg_type_optional_wild_type = { - "optional_wild_type", parse_optional_keyvalue, - print_keyvalue, doc_optional_keyvalue, &cfg_rep_string, &wild_type_kw + "optional_wild_type", parse_optional_keyvalue, print_keyvalue, + doc_optional_keyvalue, &cfg_rep_string, &wild_type_kw }; static keyword_type_t wild_name_kw = { "name", &cfg_type_qstring }; static cfg_type_t cfg_type_optional_wild_name = { - "optional_wild_name", parse_optional_keyvalue, print_keyvalue, - doc_optional_keyvalue, &cfg_rep_string, &wild_name_kw + "optional_wild_name", parse_optional_keyvalue, print_keyvalue, + doc_optional_keyvalue, &cfg_rep_string, &wild_name_kw }; /*% @@ -603,7 +607,7 @@ static cfg_tuplefielddef_t rrsetorderingelement_fields[] = { }; static cfg_type_t cfg_type_rrsetorderingelement = { "rrsetorderingelement", cfg_parse_tuple, cfg_print_tuple, - cfg_doc_tuple, &cfg_rep_tuple, rrsetorderingelement_fields + cfg_doc_tuple, &cfg_rep_tuple, rrsetorderingelement_fields }; /*% @@ -611,24 +615,21 @@ static cfg_type_t cfg_type_rrsetorderingelement = { * "check-names" option has a different syntax. */ -static const char *checktype_enums[] = { - "primary", "master", "secondary", "slave", "response", NULL -}; -static cfg_type_t cfg_type_checktype = { - "checktype", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &checktype_enums -}; +static const char *checktype_enums[] = { "primary", "master", "secondary", + "slave", "response", NULL }; +static cfg_type_t cfg_type_checktype = { "checktype", cfg_parse_enum, + cfg_print_ustring, cfg_doc_enum, + &cfg_rep_string, &checktype_enums }; static const char *checkmode_enums[] = { "fail", "warn", "ignore", NULL }; -static cfg_type_t cfg_type_checkmode = { - "checkmode", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &checkmode_enums -}; +static cfg_type_t cfg_type_checkmode = { "checkmode", cfg_parse_enum, + cfg_print_ustring, cfg_doc_enum, + &cfg_rep_string, &checkmode_enums }; static const char *warn_enums[] = { "warn", "ignore", NULL }; -static cfg_type_t cfg_type_warn = { - "warn", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &warn_enums +static cfg_type_t cfg_type_warn = { + "warn", cfg_parse_enum, cfg_print_ustring, + cfg_doc_enum, &cfg_rep_string, &warn_enums }; static cfg_tuplefielddef_t checknames_fields[] = { @@ -637,45 +638,43 @@ static cfg_tuplefielddef_t checknames_fields[] = { { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_checknames = { - "checknames", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, checknames_fields -}; +static cfg_type_t cfg_type_checknames = { "checknames", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, checknames_fields }; static cfg_type_t cfg_type_bracketed_dscpsockaddrlist = { - "bracketed_sockaddrlist", cfg_parse_bracketed_list, - cfg_print_bracketed_list, cfg_doc_bracketed_list, &cfg_rep_list, + "bracketed_sockaddrlist", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, &cfg_type_sockaddrdscp }; -static cfg_type_t cfg_type_bracketed_netaddrlist = { - "bracketed_netaddrlist", cfg_parse_bracketed_list, - cfg_print_bracketed_list, cfg_doc_bracketed_list, &cfg_rep_list, - &cfg_type_netaddr +static cfg_type_t cfg_type_bracketed_netaddrlist = { "bracketed_netaddrlist", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, + &cfg_type_netaddr }; + +static const char *autodnssec_enums[] = { "allow", "maintain", "off", NULL }; +static cfg_type_t cfg_type_autodnssec = { + "autodnssec", cfg_parse_enum, cfg_print_ustring, + cfg_doc_enum, &cfg_rep_string, &autodnssec_enums }; -static const char *autodnssec_enums[] = { - "allow", "maintain", "off", NULL -}; -static cfg_type_t cfg_type_autodnssec = { - "autodnssec", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &autodnssec_enums +static const char *dnssecupdatemode_enums[] = { "maintain", "no-resign", NULL }; +static cfg_type_t cfg_type_dnssecupdatemode = { + "dnssecupdatemode", cfg_parse_enum, cfg_print_ustring, + cfg_doc_enum, &cfg_rep_string, &dnssecupdatemode_enums }; -static const char *dnssecupdatemode_enums[] = { - "maintain", "no-resign", NULL -}; -static cfg_type_t cfg_type_dnssecupdatemode = { - "dnssecupdatemode", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &dnssecupdatemode_enums -}; - -static const char *updatemethods_enums[] = { - "date", "increment", "unixtime", NULL -}; -static cfg_type_t cfg_type_updatemethod = { - "updatemethod", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &updatemethods_enums +static const char *updatemethods_enums[] = { "date", "increment", "unixtime", + NULL }; +static cfg_type_t cfg_type_updatemethod = { + "updatemethod", cfg_parse_enum, cfg_print_ustring, + cfg_doc_enum, &cfg_rep_string, &updatemethods_enums }; /* @@ -687,97 +686,105 @@ static cfg_type_t cfg_type_updatemethod = { */ static const char *zonestat_enums[] = { "full", "terse", "none", NULL }; static isc_result_t -parse_zonestat(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +parse_zonestat(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ return (cfg_parse_enum_or_other(pctx, type, &cfg_type_boolean, ret)); } static void -doc_zonestat(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_zonestat(cfg_printer_t *pctx, const cfg_type_t *type) +{ cfg_doc_enum_or_other(pctx, type, &cfg_type_boolean); } -static cfg_type_t cfg_type_zonestat = { - "zonestat", parse_zonestat, cfg_print_ustring, doc_zonestat, - &cfg_rep_string, zonestat_enums -}; +static cfg_type_t cfg_type_zonestat = { "zonestat", parse_zonestat, + cfg_print_ustring, doc_zonestat, + &cfg_rep_string, zonestat_enums }; -static cfg_type_t cfg_type_rrsetorder = { - "rrsetorder", cfg_parse_bracketed_list, cfg_print_bracketed_list, - cfg_doc_bracketed_list, &cfg_rep_list, &cfg_type_rrsetorderingelement -}; +static cfg_type_t cfg_type_rrsetorder = { "rrsetorder", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, + &cfg_type_rrsetorderingelement }; static keyword_type_t dscp_kw = { "dscp", &cfg_type_uint32 }; static cfg_type_t cfg_type_optional_dscp = { - "optional_dscp", parse_optional_keyvalue, print_keyvalue, - doc_optional_keyvalue, &cfg_rep_uint32, &dscp_kw + "optional_dscp", parse_optional_keyvalue, print_keyvalue, + doc_optional_keyvalue, &cfg_rep_uint32, &dscp_kw }; static keyword_type_t port_kw = { "port", &cfg_type_uint32 }; static cfg_type_t cfg_type_optional_port = { - "optional_port", parse_optional_keyvalue, print_keyvalue, - doc_optional_keyvalue, &cfg_rep_uint32, &port_kw + "optional_port", parse_optional_keyvalue, print_keyvalue, + doc_optional_keyvalue, &cfg_rep_uint32, &port_kw }; /*% A list of keys, as in the "key" clause of the controls statement. */ -static cfg_type_t cfg_type_keylist = { - "keylist", cfg_parse_bracketed_list, cfg_print_bracketed_list, - cfg_doc_bracketed_list, &cfg_rep_list, &cfg_type_astring -}; +static cfg_type_t cfg_type_keylist = { "keylist", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, + &cfg_type_astring }; /*% A list of dnssec keys, as in "trusted-keys". Deprecated. */ -static cfg_type_t cfg_type_trustedkeys = { - "trustedkeys", cfg_parse_bracketed_list, cfg_print_bracketed_list, - cfg_doc_bracketed_list, &cfg_rep_list, &cfg_type_dnsseckey -}; +static cfg_type_t cfg_type_trustedkeys = { "trustedkeys", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, + &cfg_type_dnsseckey }; /*% * A list of managed trust anchors. Each entry contains a name, a keyword * ("static-key", initial-key", "static-ds" or "initial-ds"), and the * fields associated with either a DNSKEY or a DS record. */ -static cfg_type_t cfg_type_dnsseckeys = { - "dnsseckeys", cfg_parse_bracketed_list, cfg_print_bracketed_list, - cfg_doc_bracketed_list, &cfg_rep_list, &cfg_type_managedkey -}; +static cfg_type_t cfg_type_dnsseckeys = { "dnsseckeys", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, + &cfg_type_managedkey }; /*% * A list of key entries, used in a DNSSEC Key and Signing Policy. */ -static cfg_type_t cfg_type_kaspkeys = { - "kaspkeys", cfg_parse_bracketed_list, cfg_print_bracketed_list, - cfg_doc_bracketed_list, &cfg_rep_list, &cfg_type_kaspkey -}; +static cfg_type_t cfg_type_kaspkeys = { "kaspkeys", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, + &cfg_type_kaspkey }; static const char *forwardtype_enums[] = { "first", "only", NULL }; -static cfg_type_t cfg_type_forwardtype = { - "forwardtype", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &forwardtype_enums +static cfg_type_t cfg_type_forwardtype = { + "forwardtype", cfg_parse_enum, cfg_print_ustring, + cfg_doc_enum, &cfg_rep_string, &forwardtype_enums }; static const char *zonetype_enums[] = { - "primary", "master", "secondary", "slave", "mirror", - "delegation-only", "forward", "hint", "redirect", - "static-stub", "stub", NULL -}; -static cfg_type_t cfg_type_zonetype = { - "zonetype", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &zonetype_enums + "primary", "master", "secondary", "slave", + "mirror", "delegation-only", "forward", "hint", + "redirect", "static-stub", "stub", NULL }; +static cfg_type_t cfg_type_zonetype = { "zonetype", cfg_parse_enum, + cfg_print_ustring, cfg_doc_enum, + &cfg_rep_string, &zonetype_enums }; -static const char *loglevel_enums[] = { - "critical", "error", "warning", "notice", "info", "dynamic", NULL -}; -static cfg_type_t cfg_type_loglevel = { - "loglevel", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &loglevel_enums -}; +static const char *loglevel_enums[] = { "critical", "error", "warning", + "notice", "info", "dynamic", + NULL }; +static cfg_type_t cfg_type_loglevel = { "loglevel", cfg_parse_enum, + cfg_print_ustring, cfg_doc_enum, + &cfg_rep_string, &loglevel_enums }; -static const char *transferformat_enums[] = { - "many-answers", "one-answer", NULL -}; -static cfg_type_t cfg_type_transferformat = { - "transferformat", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &transferformat_enums +static const char *transferformat_enums[] = { "many-answers", "one-answer", + NULL }; +static cfg_type_t cfg_type_transferformat = { + "transferformat", cfg_parse_enum, cfg_print_ustring, + cfg_doc_enum, &cfg_rep_string, &transferformat_enums }; /*% @@ -785,21 +792,20 @@ static cfg_type_t cfg_type_transferformat = { */ static void -print_none(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_none(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ UNUSED(obj); cfg_print_cstr(pctx, "none"); } -static cfg_type_t cfg_type_none = { - "none", NULL, print_none, NULL, &cfg_rep_void, NULL -}; +static cfg_type_t cfg_type_none = { "none", NULL, print_none, + NULL, &cfg_rep_void, NULL }; /*% * A quoted string or the special keyword "none". Used in the pid-file option. */ static isc_result_t -parse_qstringornone(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret) +parse_qstringornone(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { isc_result_t result; @@ -809,37 +815,41 @@ parse_qstringornone(cfg_parser_t *pctx, const cfg_type_t *type, return (cfg_create_obj(pctx, &cfg_type_none, ret)); cfg_ungettoken(pctx); return (cfg_parse_qstring(pctx, type, ret)); - cleanup: +cleanup: return (result); } static void -doc_qstringornone(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_qstringornone(cfg_printer_t *pctx, const cfg_type_t *type) +{ UNUSED(type); cfg_print_cstr(pctx, "( | none )"); } -static cfg_type_t cfg_type_qstringornone = { - "qstringornone", parse_qstringornone, NULL, doc_qstringornone, - NULL, NULL -}; +static cfg_type_t cfg_type_qstringornone = { "qstringornone", + parse_qstringornone, + NULL, + doc_qstringornone, + NULL, + NULL }; /*% * A boolean ("yes" or "no"), or the special keyword "auto". * Used in the dnssec-validation option. */ static void -print_auto(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_auto(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ UNUSED(obj); cfg_print_cstr(pctx, "auto"); } -static cfg_type_t cfg_type_auto = { - "auto", NULL, print_auto, NULL, &cfg_rep_void, NULL -}; +static cfg_type_t cfg_type_auto = { "auto", NULL, print_auto, + NULL, &cfg_rep_void, NULL }; static isc_result_t -parse_boolorauto(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +parse_boolorauto(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ isc_result_t result; CHECK(cfg_gettoken(pctx, CFG_LEXOPT_QSTRING)); @@ -848,12 +858,13 @@ parse_boolorauto(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { return (cfg_create_obj(pctx, &cfg_type_auto, ret)); cfg_ungettoken(pctx); return (cfg_parse_boolean(pctx, type, ret)); - cleanup: +cleanup: return (result); } static void -print_boolorauto(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_boolorauto(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ if (obj->type->rep == &cfg_rep_void) cfg_print_cstr(pctx, "auto"); else if (obj->value.boolean) @@ -863,36 +874,37 @@ print_boolorauto(cfg_printer_t *pctx, const cfg_obj_t *obj) { } static void -doc_boolorauto(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_boolorauto(cfg_printer_t *pctx, const cfg_type_t *type) +{ UNUSED(type); cfg_print_cstr(pctx, "( yes | no | auto )"); } static cfg_type_t cfg_type_boolorauto = { - "boolorauto", parse_boolorauto, print_boolorauto, - doc_boolorauto, NULL, NULL + "boolorauto", parse_boolorauto, print_boolorauto, doc_boolorauto, NULL, + NULL }; /*% * keyword hostname */ static void -print_hostname(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_hostname(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ UNUSED(obj); cfg_print_cstr(pctx, "hostname"); } -static cfg_type_t cfg_type_hostname = { - "hostname", NULL, print_hostname, NULL, &cfg_rep_boolean, NULL -}; +static cfg_type_t cfg_type_hostname = { "hostname", NULL, + print_hostname, NULL, + &cfg_rep_boolean, NULL }; /*% * "server-id" argument. */ static isc_result_t -parse_serverid(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret) +parse_serverid(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { isc_result_t result; CHECK(cfg_gettoken(pctx, CFG_LEXOPT_QSTRING)); @@ -908,24 +920,26 @@ parse_serverid(cfg_parser_t *pctx, const cfg_type_t *type, } cfg_ungettoken(pctx); return (cfg_parse_qstring(pctx, type, ret)); - cleanup: +cleanup: return (result); } static void -doc_serverid(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_serverid(cfg_printer_t *pctx, const cfg_type_t *type) +{ UNUSED(type); cfg_print_cstr(pctx, "( | none | hostname )"); } -static cfg_type_t cfg_type_serverid = { - "serverid", parse_serverid, NULL, doc_serverid, NULL, NULL }; +static cfg_type_t cfg_type_serverid = { "serverid", parse_serverid, NULL, + doc_serverid, NULL, NULL }; /*% * Port list. */ static void -print_porttuple(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_porttuple(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ cfg_print_cstr(pctx, "range "); cfg_print_tuple(pctx, obj); } @@ -934,13 +948,13 @@ static cfg_tuplefielddef_t porttuple_fields[] = { { "hiport", &cfg_type_uint32, 0 }, { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_porttuple = { - "porttuple", cfg_parse_tuple, print_porttuple, cfg_doc_tuple, - &cfg_rep_tuple, porttuple_fields -}; +static cfg_type_t cfg_type_porttuple = { "porttuple", cfg_parse_tuple, + print_porttuple, cfg_doc_tuple, + &cfg_rep_tuple, porttuple_fields }; static isc_result_t -parse_port(cfg_parser_t *pctx, cfg_obj_t **ret) { +parse_port(cfg_parser_t *pctx, cfg_obj_t **ret) +{ isc_result_t result; CHECK(cfg_parse_uint32(pctx, NULL, ret)); @@ -950,14 +964,15 @@ parse_port(cfg_parser_t *pctx, cfg_obj_t **ret) { result = ISC_R_RANGE; } - cleanup: +cleanup: return (result); } static isc_result_t -parse_portrange(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +parse_portrange(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ isc_result_t result; - cfg_obj_t *obj = NULL; + cfg_obj_t * obj = NULL; UNUSED(type); @@ -988,28 +1003,27 @@ parse_portrange(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { obj = NULL; } - cleanup: +cleanup: if (obj != NULL) cfg_obj_destroy(pctx, &obj); return (result); } -static cfg_type_t cfg_type_portrange = { - "portrange", parse_portrange, NULL, cfg_doc_terminal, - NULL, NULL -}; +static cfg_type_t cfg_type_portrange = { "portrange", parse_portrange, + NULL, cfg_doc_terminal, + NULL, NULL }; -static cfg_type_t cfg_type_bracketed_portlist = { - "bracketed_sockaddrlist", cfg_parse_bracketed_list, - cfg_print_bracketed_list, cfg_doc_bracketed_list, - &cfg_rep_list, &cfg_type_portrange -}; +static cfg_type_t cfg_type_bracketed_portlist = { "bracketed_sockaddrlist", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, + &cfg_type_portrange }; static const char *cookiealg_enums[] = { "aes", "siphash24", NULL }; -static cfg_type_t cfg_type_cookiealg = { - "cookiealg", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &cookiealg_enums -}; +static cfg_type_t cfg_type_cookiealg = { "cookiealg", cfg_parse_enum, + cfg_print_ustring, cfg_doc_enum, + &cfg_rep_string, &cookiealg_enums }; /*% * fetch-quota-params @@ -1023,10 +1037,9 @@ static cfg_tuplefielddef_t fetchquota_fields[] = { { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_fetchquota = { - "fetchquota", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, fetchquota_fields -}; +static cfg_type_t cfg_type_fetchquota = { "fetchquota", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, fetchquota_fields }; /*% * fetches-per-server or fetches-per-zone @@ -1035,8 +1048,8 @@ static cfg_type_t cfg_type_fetchquota = { static const char *response_enums[] = { "drop", "fail", NULL }; static cfg_type_t cfg_type_responsetype = { - "responsetype", parse_optional_enum, cfg_print_ustring, - doc_optional_enum, &cfg_rep_string, response_enums + "responsetype", parse_optional_enum, cfg_print_ustring, + doc_optional_enum, &cfg_rep_string, response_enums }; static cfg_tuplefielddef_t fetchesper_fields[] = { @@ -1045,17 +1058,15 @@ static cfg_tuplefielddef_t fetchesper_fields[] = { { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_fetchesper = { - "fetchesper", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, fetchesper_fields -}; +static cfg_type_t cfg_type_fetchesper = { "fetchesper", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, fetchesper_fields }; /*% * Clauses that can be found within the top level of the named.conf * file only. */ -static cfg_clausedef_t -namedconf_clauses[] = { +static cfg_clausedef_t namedconf_clauses[] = { { "acl", &cfg_type_acl, CFG_CLAUSEFLAG_MULTI }, { "controls", &cfg_type_controls, CFG_CLAUSEFLAG_MULTI }, { "dnssec-policy", &cfg_type_dnssecpolicy, CFG_CLAUSEFLAG_MULTI }, @@ -1074,18 +1085,17 @@ namedconf_clauses[] = { * Clauses that can occur at the top level or in the view * statement, but not in the options block. */ -static cfg_clausedef_t -namedconf_or_view_clauses[] = { +static cfg_clausedef_t namedconf_or_view_clauses[] = { { "dlz", &cfg_type_dlz, CFG_CLAUSEFLAG_MULTI }, { "dyndb", &cfg_type_dyndb, CFG_CLAUSEFLAG_MULTI }, { "key", &cfg_type_key, CFG_CLAUSEFLAG_MULTI }, { "managed-keys", &cfg_type_dnsseckeys, - CFG_CLAUSEFLAG_MULTI|CFG_CLAUSEFLAG_DEPRECATED }, + CFG_CLAUSEFLAG_MULTI | CFG_CLAUSEFLAG_DEPRECATED }, { "plugin", &cfg_type_plugin, CFG_CLAUSEFLAG_MULTI }, { "server", &cfg_type_server, CFG_CLAUSEFLAG_MULTI }, { "trust-anchors", &cfg_type_dnsseckeys, CFG_CLAUSEFLAG_MULTI }, { "trusted-keys", &cfg_type_trustedkeys, - CFG_CLAUSEFLAG_MULTI|CFG_CLAUSEFLAG_DEPRECATED }, + CFG_CLAUSEFLAG_MULTI | CFG_CLAUSEFLAG_DEPRECATED }, { "zone", &cfg_type_zone, CFG_CLAUSEFLAG_MULTI }, { NULL, NULL, 0 } }; @@ -1093,27 +1103,25 @@ namedconf_or_view_clauses[] = { /*% * Clauses that can occur in the bind.keys file. */ -static cfg_clausedef_t -bindkeys_clauses[] = { +static cfg_clausedef_t bindkeys_clauses[] = { { "managed-keys", &cfg_type_dnsseckeys, - CFG_CLAUSEFLAG_MULTI|CFG_CLAUSEFLAG_DEPRECATED }, + CFG_CLAUSEFLAG_MULTI | CFG_CLAUSEFLAG_DEPRECATED }, { "trust-anchors", &cfg_type_dnsseckeys, CFG_CLAUSEFLAG_MULTI }, { "trusted-keys", &cfg_type_trustedkeys, - CFG_CLAUSEFLAG_MULTI|CFG_CLAUSEFLAG_DEPRECATED }, + CFG_CLAUSEFLAG_MULTI | CFG_CLAUSEFLAG_DEPRECATED }, { NULL, NULL, 0 } }; static const char *fstrm_model_enums[] = { "mpsc", "spsc", NULL }; -static cfg_type_t cfg_type_fstrm_model = { - "model", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &fstrm_model_enums +static cfg_type_t cfg_type_fstrm_model = { + "model", cfg_parse_enum, cfg_print_ustring, + cfg_doc_enum, &cfg_rep_string, &fstrm_model_enums }; /*% * Clauses that can be found within the 'options' statement. */ -static cfg_clausedef_t -options_clauses[] = { +static cfg_clausedef_t options_clauses[] = { { "answer-cookie", &cfg_type_boolean, 0 }, { "automatic-interface-scan", &cfg_type_boolean, 0 }, { "avoid-v4-udp-ports", &cfg_type_bracketed_portlist, 0 }, @@ -1133,8 +1141,7 @@ options_clauses[] = { #else { "dnstap-output", &cfg_type_dnstapoutput, CFG_CLAUSEFLAG_NOTCONFIGURED }, - { "dnstap-identity", &cfg_type_serverid, - CFG_CLAUSEFLAG_NOTCONFIGURED }, + { "dnstap-identity", &cfg_type_serverid, CFG_CLAUSEFLAG_NOTCONFIGURED }, { "dnstap-version", &cfg_type_qstringornone, CFG_CLAUSEFLAG_NOTCONFIGURED }, #endif @@ -1234,25 +1241,25 @@ options_clauses[] = { { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_namelist = { - "namelist", cfg_parse_bracketed_list, cfg_print_bracketed_list, - cfg_doc_bracketed_list, &cfg_rep_list, &cfg_type_astring -}; +static cfg_type_t cfg_type_namelist = { "namelist", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, + &cfg_type_astring }; static keyword_type_t exclude_kw = { "exclude", &cfg_type_namelist }; static cfg_type_t cfg_type_optional_exclude = { - "optional_exclude", parse_optional_keyvalue, print_keyvalue, - doc_optional_keyvalue, &cfg_rep_list, &exclude_kw + "optional_exclude", parse_optional_keyvalue, print_keyvalue, + doc_optional_keyvalue, &cfg_rep_list, &exclude_kw }; -static keyword_type_t exceptionnames_kw = { - "except-from", &cfg_type_namelist -}; +static keyword_type_t exceptionnames_kw = { "except-from", &cfg_type_namelist }; static cfg_type_t cfg_type_optional_exceptionnames = { - "optional_allow", parse_optional_keyvalue, print_keyvalue, - doc_optional_keyvalue, &cfg_rep_list, &exceptionnames_kw + "optional_allow", parse_optional_keyvalue, print_keyvalue, + doc_optional_keyvalue, &cfg_rep_list, &exceptionnames_kw }; static cfg_tuplefielddef_t denyaddresses_fields[] = { @@ -1262,8 +1269,8 @@ static cfg_tuplefielddef_t denyaddresses_fields[] = { }; static cfg_type_t cfg_type_denyaddresses = { - "denyaddresses", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, denyaddresses_fields + "denyaddresses", cfg_parse_tuple, cfg_print_tuple, + cfg_doc_tuple, &cfg_rep_tuple, denyaddresses_fields }; static cfg_tuplefielddef_t denyaliases_fields[] = { @@ -1273,14 +1280,16 @@ static cfg_tuplefielddef_t denyaliases_fields[] = { }; static cfg_type_t cfg_type_denyaliases = { - "denyaliases", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, denyaliases_fields + "denyaliases", cfg_parse_tuple, cfg_print_tuple, + cfg_doc_tuple, &cfg_rep_tuple, denyaliases_fields }; -static cfg_type_t cfg_type_algorithmlist = { - "algorithmlist", cfg_parse_bracketed_list, cfg_print_bracketed_list, - cfg_doc_bracketed_list, &cfg_rep_list, &cfg_type_astring -}; +static cfg_type_t cfg_type_algorithmlist = { "algorithmlist", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, + &cfg_type_astring }; static cfg_tuplefielddef_t disablealgorithm_fields[] = { { "name", &cfg_type_astring, 0 }, @@ -1289,14 +1298,16 @@ static cfg_tuplefielddef_t disablealgorithm_fields[] = { }; static cfg_type_t cfg_type_disablealgorithm = { - "disablealgorithm", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, disablealgorithm_fields + "disablealgorithm", cfg_parse_tuple, cfg_print_tuple, + cfg_doc_tuple, &cfg_rep_tuple, disablealgorithm_fields }; -static cfg_type_t cfg_type_dsdigestlist = { - "dsdigestlist", cfg_parse_bracketed_list, cfg_print_bracketed_list, - cfg_doc_bracketed_list, &cfg_rep_list, &cfg_type_astring -}; +static cfg_type_t cfg_type_dsdigestlist = { "dsdigestlist", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, + &cfg_type_astring }; static cfg_tuplefielddef_t disabledsdigest_fields[] = { { "name", &cfg_type_astring, 0 }, @@ -1305,8 +1316,8 @@ static cfg_tuplefielddef_t disabledsdigest_fields[] = { }; static cfg_type_t cfg_type_disabledsdigest = { - "disabledsdigest", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, disabledsdigest_fields + "disabledsdigest", cfg_parse_tuple, cfg_print_tuple, + cfg_doc_tuple, &cfg_rep_tuple, disabledsdigest_fields }; static cfg_tuplefielddef_t mustbesecure_fields[] = { @@ -1316,28 +1327,27 @@ static cfg_tuplefielddef_t mustbesecure_fields[] = { }; static cfg_type_t cfg_type_mustbesecure = { - "mustbesecure", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, mustbesecure_fields + "mustbesecure", cfg_parse_tuple, cfg_print_tuple, + cfg_doc_tuple, &cfg_rep_tuple, mustbesecure_fields }; static const char *masterformat_enums[] = { "map", "raw", "text", NULL }; -static cfg_type_t cfg_type_masterformat = { - "masterformat", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &masterformat_enums +static cfg_type_t cfg_type_masterformat = { + "masterformat", cfg_parse_enum, cfg_print_ustring, + cfg_doc_enum, &cfg_rep_string, &masterformat_enums }; static const char *masterstyle_enums[] = { "full", "relative", NULL }; -static cfg_type_t cfg_type_masterstyle = { - "masterstyle", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &masterstyle_enums +static cfg_type_t cfg_type_masterstyle = { + "masterstyle", cfg_parse_enum, cfg_print_ustring, + cfg_doc_enum, &cfg_rep_string, &masterstyle_enums }; static keyword_type_t blocksize_kw = { "block-size", &cfg_type_uint32 }; -static cfg_type_t cfg_type_blocksize = { - "blocksize", parse_keyvalue, print_keyvalue, - doc_keyvalue, &cfg_rep_uint32, &blocksize_kw -}; +static cfg_type_t cfg_type_blocksize = { "blocksize", parse_keyvalue, + print_keyvalue, doc_keyvalue, + &cfg_rep_uint32, &blocksize_kw }; static cfg_tuplefielddef_t resppadding_fields[] = { { "acl", &cfg_type_bracketed_aml, 0 }, @@ -1346,8 +1356,8 @@ static cfg_tuplefielddef_t resppadding_fields[] = { }; static cfg_type_t cfg_type_resppadding = { - "resppadding", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, resppadding_fields + "resppadding", cfg_parse_tuple, cfg_print_tuple, + cfg_doc_tuple, &cfg_rep_tuple, resppadding_fields }; /*% @@ -1359,20 +1369,19 @@ static cfg_type_t cfg_type_resppadding = { * ... where message type is one of: client, resolver, auth, forwarder, * update, all */ -static const char *dnstap_types[] = { - "all", "auth", "client", "forwarder", "resolver", "update", NULL -}; +static const char *dnstap_types[] = { "all", "auth", "client", + "forwarder", "resolver", "update", + NULL }; static const char *dnstap_modes[] = { "query", "response", NULL }; -static cfg_type_t cfg_type_dnstap_type = { - "dnstap_type", cfg_parse_enum, cfg_print_ustring, - cfg_doc_enum, &cfg_rep_string, dnstap_types -}; +static cfg_type_t cfg_type_dnstap_type = { "dnstap_type", cfg_parse_enum, + cfg_print_ustring, cfg_doc_enum, + &cfg_rep_string, dnstap_types }; static cfg_type_t cfg_type_dnstap_mode = { - "dnstap_mode", parse_optional_enum, cfg_print_ustring, - doc_optional_enum, &cfg_rep_string, dnstap_modes + "dnstap_mode", parse_optional_enum, cfg_print_ustring, + doc_optional_enum, &cfg_rep_string, dnstap_modes }; static cfg_tuplefielddef_t dnstap_fields[] = { @@ -1381,23 +1390,25 @@ static cfg_tuplefielddef_t dnstap_fields[] = { { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_dnstap_entry = { - "dnstap_value", cfg_parse_tuple, cfg_print_tuple, - cfg_doc_tuple, &cfg_rep_tuple, dnstap_fields -}; +static cfg_type_t cfg_type_dnstap_entry = { "dnstap_value", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, dnstap_fields }; -static cfg_type_t cfg_type_dnstap = { - "dnstap", cfg_parse_bracketed_list, cfg_print_bracketed_list, - cfg_doc_bracketed_list, &cfg_rep_list, &cfg_type_dnstap_entry -}; +static cfg_type_t cfg_type_dnstap = { "dnstap", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, + &cfg_type_dnstap_entry }; /*% * dnstap-output */ static isc_result_t -parse_dtout(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - isc_result_t result; - cfg_obj_t *obj = NULL; +parse_dtout(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ + isc_result_t result; + cfg_obj_t * obj = NULL; const cfg_tuplefielddef_t *fields = type->of; CHECK(cfg_create_tuple(pctx, type, &obj)); @@ -1411,23 +1422,20 @@ parse_dtout(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { CHECK(cfg_peektoken(pctx, 0)); if (pctx->token.type == isc_tokentype_string) { CHECK(cfg_gettoken(pctx, 0)); - if (strcasecmp(TOKEN_STRING(pctx), - "size") == 0 && - obj->value.tuple[2] == NULL) - { + if (strcasecmp(TOKEN_STRING(pctx), "size") == 0 && + obj->value.tuple[2] == NULL) { CHECK(cfg_parse_obj(pctx, fields[2].type, &obj->value.tuple[2])); - } else if (strcasecmp(TOKEN_STRING(pctx), - "versions") == 0 && - obj->value.tuple[3] == NULL) - { + } else if (strcasecmp(TOKEN_STRING(pctx), "versions") == + 0 && + obj->value.tuple[3] == NULL) { CHECK(cfg_parse_obj(pctx, fields[3].type, &obj->value.tuple[3])); - } else if (strcasecmp(TOKEN_STRING(pctx), - "suffix") == 0 && + } else if (strcasecmp(TOKEN_STRING(pctx), "suffix") == + 0 && obj->value.tuple[4] == NULL) { CHECK(cfg_parse_obj(pctx, fields[4].type, - &obj->value.tuple[4])); + &obj->value.tuple[4])); } else { cfg_parser_error(pctx, CFG_LOG_NEAR, "unexpected token"); @@ -1450,13 +1458,14 @@ parse_dtout(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { *ret = obj; return (ISC_R_SUCCESS); - cleanup: +cleanup: CLEANUP_OBJ(obj); return (result); } static void -print_dtout(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_dtout(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ cfg_print_obj(pctx, obj->value.tuple[0]); /* mode */ cfg_print_obj(pctx, obj->value.tuple[1]); /* file */ if (obj->value.tuple[2]->type->print != cfg_print_void) { @@ -1473,9 +1482,9 @@ print_dtout(cfg_printer_t *pctx, const cfg_obj_t *obj) { } } - static void -doc_dtout(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_dtout(cfg_printer_t *pctx, const cfg_type_t *type) +{ UNUSED(type); cfg_print_cstr(pctx, "( file | unix ) "); cfg_print_cstr(pctx, " "); @@ -1487,10 +1496,9 @@ doc_dtout(cfg_printer_t *pctx, const cfg_type_t *type) { } static const char *dtoutmode_enums[] = { "file", "unix", NULL }; -static cfg_type_t cfg_type_dtmode = { - "dtmode", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &dtoutmode_enums -}; +static cfg_type_t cfg_type_dtmode = { "dtmode", cfg_parse_enum, + cfg_print_ustring, cfg_doc_enum, + &cfg_rep_string, &dtoutmode_enums }; static cfg_tuplefielddef_t dtout_fields[] = { { "mode", &cfg_type_dtmode, 0 }, @@ -1501,10 +1509,9 @@ static cfg_tuplefielddef_t dtout_fields[] = { { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_dnstapoutput = { - "dnstapoutput", parse_dtout, print_dtout, doc_dtout, - &cfg_rep_tuple, dtout_fields -}; +static cfg_type_t cfg_type_dnstapoutput = { "dnstapoutput", parse_dtout, + print_dtout, doc_dtout, + &cfg_rep_tuple, dtout_fields }; /*% * response-policy { @@ -1523,8 +1530,9 @@ static cfg_type_t cfg_type_dnstapoutput = { */ static void -doc_rpz_policy(cfg_printer_t *pctx, const cfg_type_t *type) { - const char * const *p; +doc_rpz_policy(cfg_printer_t *pctx, const cfg_type_t *type) +{ + const char *const *p; /* * This is cfg_doc_enum() without the trailing " )". */ @@ -1537,7 +1545,8 @@ doc_rpz_policy(cfg_printer_t *pctx, const cfg_type_t *type) { } static void -doc_rpz_cname(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_rpz_cname(cfg_printer_t *pctx, const cfg_type_t *type) +{ cfg_doc_terminal(pctx, type); cfg_print_cstr(pctx, " )"); } @@ -1550,8 +1559,8 @@ static isc_result_t cfg_parse_rpz_policy(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - isc_result_t result; - cfg_obj_t *obj = NULL; + isc_result_t result; + cfg_obj_t * obj = NULL; const cfg_tuplefielddef_t *fields; CHECK(cfg_create_tuple(pctx, type, &obj)); @@ -1581,13 +1590,12 @@ cleanup: * by 2 or more optional keyvalues that can be in any order. */ static isc_result_t -cfg_parse_kv_tuple(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret) +cfg_parse_kv_tuple(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { const cfg_tuplefielddef_t *fields, *f; - cfg_obj_t *obj = NULL; - int fn; - isc_result_t result; + cfg_obj_t * obj = NULL; + int fn; + isc_result_t result; CHECK(cfg_create_tuple(pctx, type, &obj)); @@ -1602,7 +1610,7 @@ cfg_parse_kv_tuple(cfg_parser_t *pctx, const cfg_type_t *type, if (pctx->token.type != isc_tokentype_string) break; - for (fn = 1, f = &fields[1]; ; ++fn, ++f) { + for (fn = 1, f = &fields[1];; ++fn, ++f) { if (f->name == NULL) { cfg_parser_error(pctx, 0, "unexpected '%s'", TOKEN_STRING(pctx)); @@ -1633,10 +1641,11 @@ cleanup: } static void -cfg_print_kv_tuple(cfg_printer_t *pctx, const cfg_obj_t *obj) { - unsigned int i; +cfg_print_kv_tuple(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ + unsigned int i; const cfg_tuplefielddef_t *fields, *f; - const cfg_obj_t *fieldobj; + const cfg_obj_t * fieldobj; fields = obj->type->of; for (f = fields, i = 0; f->name != NULL; f++, i++) { @@ -1653,7 +1662,8 @@ cfg_print_kv_tuple(cfg_printer_t *pctx, const cfg_obj_t *obj) { } static void -cfg_doc_kv_tuple(cfg_printer_t *pctx, const cfg_type_t *type) { +cfg_doc_kv_tuple(cfg_printer_t *pctx, const cfg_type_t *type) +{ const cfg_tuplefielddef_t *fields, *f; fields = type->of; @@ -1670,39 +1680,33 @@ cfg_doc_kv_tuple(cfg_printer_t *pctx, const cfg_type_t *type) { } } -static keyword_type_t zone_kw = {"zone", &cfg_type_astring}; -static cfg_type_t cfg_type_rpz_zone = { - "zone", parse_keyvalue, print_keyvalue, - doc_keyvalue, &cfg_rep_string, - &zone_kw -}; +static keyword_type_t zone_kw = { "zone", &cfg_type_astring }; +static cfg_type_t cfg_type_rpz_zone = { "zone", parse_keyvalue, + print_keyvalue, doc_keyvalue, + &cfg_rep_string, &zone_kw }; /* * "no-op" is an obsolete equivalent of "passthru". */ -static const char *rpz_policies[] = { - "cname", "disabled", "drop", "given", "no-op", "nodata", - "nxdomain", "passthru", "tcp-only", NULL -}; -static cfg_type_t cfg_type_rpz_policy_name = { - "policy name", cfg_parse_enum, cfg_print_ustring, - doc_rpz_policy, &cfg_rep_string, - &rpz_policies +static const char *rpz_policies[] = { "cname", "disabled", "drop", + "given", "no-op", "nodata", + "nxdomain", "passthru", "tcp-only", + NULL }; +static cfg_type_t cfg_type_rpz_policy_name = { + "policy name", cfg_parse_enum, cfg_print_ustring, + doc_rpz_policy, &cfg_rep_string, &rpz_policies }; static cfg_type_t cfg_type_rpz_cname = { "quoted_string", cfg_parse_astring, NULL, - doc_rpz_cname, &cfg_rep_string, - NULL + doc_rpz_cname, &cfg_rep_string, NULL }; static cfg_tuplefielddef_t rpz_policy_fields[] = { { "policy name", &cfg_type_rpz_policy_name, 0 }, { "cname", &cfg_type_rpz_cname, 0 }, { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_rpz_policy = { - "policy tuple", cfg_parse_rpz_policy, - cfg_print_tuple, cfg_doc_tuple, &cfg_rep_tuple, - rpz_policy_fields -}; +static cfg_type_t cfg_type_rpz_policy = { "policy tuple", cfg_parse_rpz_policy, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, rpz_policy_fields }; static cfg_tuplefielddef_t rpz_zone_fields[] = { { "zone name", &cfg_type_rpz_zone, 0 }, { "add-soa", &cfg_type_boolean, 0 }, @@ -1715,16 +1719,15 @@ static cfg_tuplefielddef_t rpz_zone_fields[] = { { "nsdname-enable", &cfg_type_boolean, 0 }, { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_rpz_tuple = { - "rpz tuple", cfg_parse_kv_tuple, - cfg_print_kv_tuple, cfg_doc_kv_tuple, &cfg_rep_tuple, - rpz_zone_fields -}; -static cfg_type_t cfg_type_rpz_list = { - "zone list", cfg_parse_bracketed_list, cfg_print_bracketed_list, - cfg_doc_bracketed_list, &cfg_rep_list, - &cfg_type_rpz_tuple -}; +static cfg_type_t cfg_type_rpz_tuple = { "rpz tuple", cfg_parse_kv_tuple, + cfg_print_kv_tuple, cfg_doc_kv_tuple, + &cfg_rep_tuple, rpz_zone_fields }; +static cfg_type_t cfg_type_rpz_list = { "zone list", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, + &cfg_type_rpz_tuple }; static cfg_tuplefielddef_t rpz_fields[] = { { "zone list", &cfg_type_rpz_list, 0 }, { "add-soa", &cfg_type_boolean, 0 }, @@ -1743,24 +1746,23 @@ static cfg_tuplefielddef_t rpz_fields[] = { #else { "dnsrps-enable", &cfg_type_boolean, CFG_CLAUSEFLAG_NOTCONFIGURED }, { "dnsrps-options", &cfg_type_bracketed_text, - CFG_CLAUSEFLAG_NOTCONFIGURED }, + CFG_CLAUSEFLAG_NOTCONFIGURED }, #endif { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_rpz = { - "rpz", cfg_parse_kv_tuple, - cfg_print_kv_tuple, cfg_doc_kv_tuple, &cfg_rep_tuple, - rpz_fields -}; +static cfg_type_t cfg_type_rpz = { "rpz", + cfg_parse_kv_tuple, + cfg_print_kv_tuple, + cfg_doc_kv_tuple, + &cfg_rep_tuple, + rpz_fields }; /* * Catalog zones */ -static cfg_type_t cfg_type_catz_zone = { - "zone", parse_keyvalue, print_keyvalue, - doc_keyvalue, &cfg_rep_string, - &zone_kw -}; +static cfg_type_t cfg_type_catz_zone = { "zone", parse_keyvalue, + print_keyvalue, doc_keyvalue, + &cfg_rep_string, &zone_kw }; static cfg_tuplefielddef_t catz_zone_fields[] = { { "zone name", &cfg_type_catz_zone, 0 }, @@ -1771,22 +1773,21 @@ static cfg_tuplefielddef_t catz_zone_fields[] = { { NULL, NULL, 0 } }; static cfg_type_t cfg_type_catz_tuple = { - "catz tuple", cfg_parse_kv_tuple, - cfg_print_kv_tuple, cfg_doc_kv_tuple, &cfg_rep_tuple, - catz_zone_fields -}; -static cfg_type_t cfg_type_catz_list = { - "zone list", cfg_parse_bracketed_list, cfg_print_bracketed_list, - cfg_doc_bracketed_list, &cfg_rep_list, - &cfg_type_catz_tuple + "catz tuple", cfg_parse_kv_tuple, cfg_print_kv_tuple, + cfg_doc_kv_tuple, &cfg_rep_tuple, catz_zone_fields }; +static cfg_type_t cfg_type_catz_list = { "zone list", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, + &cfg_type_catz_tuple }; static cfg_tuplefielddef_t catz_fields[] = { - { "zone list", &cfg_type_catz_list, 0 }, - { NULL, NULL, 0 } + { "zone list", &cfg_type_catz_list, 0 }, { NULL, NULL, 0 } }; static cfg_type_t cfg_type_catz = { - "catz", cfg_parse_kv_tuple, cfg_print_kv_tuple, - cfg_doc_kv_tuple, &cfg_rep_tuple, catz_fields + "catz", cfg_parse_kv_tuple, cfg_print_kv_tuple, + cfg_doc_kv_tuple, &cfg_rep_tuple, catz_fields }; /* @@ -1811,21 +1812,18 @@ static cfg_clausedef_t rrl_clauses[] = { { NULL, NULL, 0 } }; -static cfg_clausedef_t *rrl_clausesets[] = { - rrl_clauses, NULL -}; +static cfg_clausedef_t *rrl_clausesets[] = { rrl_clauses, NULL }; -static cfg_type_t cfg_type_rrl = { - "rate-limit", cfg_parse_map, cfg_print_map, cfg_doc_map, - &cfg_rep_map, rrl_clausesets -}; +static cfg_type_t cfg_type_rrl = { "rate-limit", cfg_parse_map, cfg_print_map, + cfg_doc_map, &cfg_rep_map, rrl_clausesets }; /*% * dnssec-lookaside */ static void -print_lookaside(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_lookaside(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ const cfg_obj_t *domain = obj->value.tuple[0]; if (domain->value.string.length == 4 && @@ -1836,7 +1834,8 @@ print_lookaside(cfg_printer_t *pctx, const cfg_obj_t *obj) { } static void -doc_lookaside(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_lookaside(cfg_printer_t *pctx, const cfg_type_t *type) +{ UNUSED(type); cfg_print_cstr(pctx, "( trust-anchor | auto | no )"); } @@ -1845,7 +1844,7 @@ static keyword_type_t trustanchor_kw = { "trust-anchor", &cfg_type_astring }; static cfg_type_t cfg_type_optional_trustanchor = { "optional_trustanchor", parse_optional_keyvalue, print_keyvalue, - doc_keyvalue, &cfg_rep_string, &trustanchor_kw + doc_keyvalue, &cfg_rep_string, &trustanchor_kw }; static cfg_tuplefielddef_t lookaside_fields[] = { @@ -1854,10 +1853,9 @@ static cfg_tuplefielddef_t lookaside_fields[] = { { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_lookaside = { - "lookaside", cfg_parse_tuple, print_lookaside, doc_lookaside, - &cfg_rep_tuple, lookaside_fields -}; +static cfg_type_t cfg_type_lookaside = { "lookaside", cfg_parse_tuple, + print_lookaside, doc_lookaside, + &cfg_rep_tuple, lookaside_fields }; static isc_result_t parse_optional_uint32(cfg_parser_t *pctx, const cfg_type_t *type, @@ -1872,20 +1870,23 @@ parse_optional_uint32(cfg_parser_t *pctx, const cfg_type_t *type, } else { CHECK(cfg_parse_obj(pctx, &cfg_type_void, ret)); } - cleanup: +cleanup: return (result); } static void -doc_optional_uint32(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_optional_uint32(cfg_printer_t *pctx, const cfg_type_t *type) +{ UNUSED(type); cfg_print_cstr(pctx, "[ ]"); } -static cfg_type_t cfg_type_optional_uint32 = { - "optional_uint32", parse_optional_uint32, NULL, doc_optional_uint32, - NULL, NULL -}; +static cfg_type_t cfg_type_optional_uint32 = { "optional_uint32", + parse_optional_uint32, + NULL, + doc_optional_uint32, + NULL, + NULL }; static cfg_tuplefielddef_t prefetch_fields[] = { { "trigger", &cfg_type_uint32, 0 }, @@ -1893,15 +1894,13 @@ static cfg_tuplefielddef_t prefetch_fields[] = { { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_prefetch = { - "prefetch", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, prefetch_fields -}; +static cfg_type_t cfg_type_prefetch = { "prefetch", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, prefetch_fields }; /* * DNS64. */ -static cfg_clausedef_t -dns64_clauses[] = { +static cfg_clausedef_t dns64_clauses[] = { { "break-dnssec", &cfg_type_boolean, 0 }, { "clients", &cfg_type_bracketed_aml, 0 }, { "exclude", &cfg_type_bracketed_aml, 0 }, @@ -1911,32 +1910,23 @@ dns64_clauses[] = { { NULL, NULL, 0 }, }; -static cfg_clausedef_t * -dns64_clausesets[] = { - dns64_clauses, - NULL -}; +static cfg_clausedef_t *dns64_clausesets[] = { dns64_clauses, NULL }; -static cfg_type_t cfg_type_dns64 = { - "dns64", cfg_parse_netprefix_map, cfg_print_map, cfg_doc_map, - &cfg_rep_map, dns64_clausesets -}; +static cfg_type_t cfg_type_dns64 = { "dns64", cfg_parse_netprefix_map, + cfg_print_map, cfg_doc_map, + &cfg_rep_map, dns64_clausesets }; /*% * Clauses that can be found within the 'view' statement, * with defaults in the 'options' statement. */ -static cfg_clausedef_t -view_clauses[] = { +static cfg_clausedef_t view_clauses[] = { { "acache-cleaning-interval", &cfg_type_uint32, CFG_CLAUSEFLAG_OBSOLETE }, - { "acache-enable", &cfg_type_boolean, - CFG_CLAUSEFLAG_OBSOLETE }, - { "additional-from-auth", &cfg_type_boolean, - CFG_CLAUSEFLAG_OBSOLETE }, - { "additional-from-cache", &cfg_type_boolean, - CFG_CLAUSEFLAG_OBSOLETE }, + { "acache-enable", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE }, + { "additional-from-auth", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE }, + { "additional-from-cache", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE }, { "allow-new-zones", &cfg_type_boolean, 0 }, { "allow-query-cache", &cfg_type_bracketed_aml, 0 }, { "allow-query-cache-on", &cfg_type_bracketed_aml, 0 }, @@ -1967,13 +1957,13 @@ view_clauses[] = { #else { "dnsrps-enable", &cfg_type_boolean, CFG_CLAUSEFLAG_NOTCONFIGURED }, { "dnsrps-options", &cfg_type_bracketed_text, - CFG_CLAUSEFLAG_NOTCONFIGURED }, + CFG_CLAUSEFLAG_NOTCONFIGURED }, #endif { "dnssec-accept-expired", &cfg_type_boolean, 0 }, { "dnssec-enable", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE }, { "dnssec-lookaside", &cfg_type_lookaside, - CFG_CLAUSEFLAG_MULTI|CFG_CLAUSEFLAG_OBSOLETE }, - { "dnssec-must-be-secure", &cfg_type_mustbesecure, + CFG_CLAUSEFLAG_MULTI | CFG_CLAUSEFLAG_OBSOLETE }, + { "dnssec-must-be-secure", &cfg_type_mustbesecure, CFG_CLAUSEFLAG_MULTI }, { "dnssec-validation", &cfg_type_boolorauto, 0 }, #ifdef HAVE_DNSTAP @@ -1991,8 +1981,8 @@ view_clauses[] = { { "fetches-per-server", &cfg_type_fetchesper, 0 }, { "fetches-per-zone", &cfg_type_fetchesper, 0 }, { "filter-aaaa", &cfg_type_bracketed_aml, CFG_CLAUSEFLAG_OBSOLETE }, - { "filter-aaaa-on-v4", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE }, - { "filter-aaaa-on-v6", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE }, + { "filter-aaaa-on-v4", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE }, + { "filter-aaaa-on-v6", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE }, { "glue-cache", &cfg_type_boolean, 0 }, { "ixfr-from-differences", &cfg_type_ixfrdifftype, 0 }, { "lame-ttl", &cfg_type_duration, 0 }, @@ -2047,7 +2037,7 @@ view_clauses[] = { { "response-padding", &cfg_type_resppadding, 0 }, { "response-policy", &cfg_type_rpz, 0 }, { "rfc2308-type1", &cfg_type_boolean, CFG_CLAUSEFLAG_ANCIENT }, - { "root-delegation-only", &cfg_type_optional_exclude, 0 }, + { "root-delegation-only", &cfg_type_optional_exclude, 0 }, { "root-key-sentinel", &cfg_type_boolean, 0 }, { "rrset-order", &cfg_type_rrsetorder, 0 }, { "send-cookie", &cfg_type_boolean, 0 }, @@ -2071,8 +2061,7 @@ view_clauses[] = { /*% * Clauses that can be found within the 'view' statement only. */ -static cfg_clausedef_t -view_only_clauses[] = { +static cfg_clausedef_t view_only_clauses[] = { { "match-clients", &cfg_type_bracketed_aml, 0 }, { "match-destinations", &cfg_type_bracketed_aml, 0 }, { "match-recursive-only", &cfg_type_boolean, 0 }, @@ -2090,15 +2079,14 @@ static cfg_tuplefielddef_t validityinterval_fields[] = { }; static cfg_type_t cfg_type_validityinterval = { - "validityinterval", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, validityinterval_fields + "validityinterval", cfg_parse_tuple, cfg_print_tuple, + cfg_doc_tuple, &cfg_rep_tuple, validityinterval_fields }; /*% * Clauses that can be found in a 'dnssec-policy' statement. */ -static cfg_clausedef_t -dnssecpolicy_clauses[] = { +static cfg_clausedef_t dnssecpolicy_clauses[] = { { "dnskey-ttl", &cfg_type_duration, 0 }, { "keys", &cfg_type_kaspkeys, 0 }, { "max-zone-ttl", &cfg_type_duration, 0 }, @@ -2121,212 +2109,131 @@ dnssecpolicy_clauses[] = { * Note: CFG_ZONE_* options indicate in which zone types this clause is * legal. */ -static cfg_clausedef_t -zone_clauses[] = { +static cfg_clausedef_t zone_clauses[] = { { "allow-notify", &cfg_type_bracketed_aml, - CFG_ZONE_SLAVE | CFG_ZONE_MIRROR - }, + CFG_ZONE_SLAVE | CFG_ZONE_MIRROR }, { "allow-query", &cfg_type_bracketed_aml, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | - CFG_ZONE_STUB | CFG_ZONE_REDIRECT | CFG_ZONE_STATICSTUB - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB | + CFG_ZONE_REDIRECT | CFG_ZONE_STATICSTUB }, { "allow-query-on", &cfg_type_bracketed_aml, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | - CFG_ZONE_STUB | CFG_ZONE_REDIRECT | CFG_ZONE_STATICSTUB - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB | + CFG_ZONE_REDIRECT | CFG_ZONE_STATICSTUB }, { "allow-transfer", &cfg_type_bracketed_aml, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR - }, - { "allow-update", &cfg_type_bracketed_aml, - CFG_ZONE_MASTER - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR }, + { "allow-update", &cfg_type_bracketed_aml, CFG_ZONE_MASTER }, { "allow-update-forwarding", &cfg_type_bracketed_aml, - CFG_ZONE_SLAVE | CFG_ZONE_MIRROR - }, + CFG_ZONE_SLAVE | CFG_ZONE_MIRROR }, { "also-notify", &cfg_type_namesockaddrkeylist, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR }, { "alt-transfer-source", &cfg_type_sockaddr4wild, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR }, { "alt-transfer-source-v6", &cfg_type_sockaddr6wild, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR }, { "auto-dnssec", &cfg_type_autodnssec, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE - }, - { "check-dup-records", &cfg_type_checkmode, - CFG_ZONE_MASTER - }, - { "check-integrity", &cfg_type_boolean, - CFG_ZONE_MASTER - }, - { "check-mx", &cfg_type_checkmode, - CFG_ZONE_MASTER - }, - { "check-mx-cname", &cfg_type_checkmode, - CFG_ZONE_MASTER - }, - { "check-sibling", &cfg_type_boolean, - CFG_ZONE_MASTER - }, - { "check-spf", &cfg_type_warn, - CFG_ZONE_MASTER - }, - { "check-srv-cname", &cfg_type_checkmode, - CFG_ZONE_MASTER - }, - { "check-wildcard", &cfg_type_boolean, - CFG_ZONE_MASTER - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE }, + { "check-dup-records", &cfg_type_checkmode, CFG_ZONE_MASTER }, + { "check-integrity", &cfg_type_boolean, CFG_ZONE_MASTER }, + { "check-mx", &cfg_type_checkmode, CFG_ZONE_MASTER }, + { "check-mx-cname", &cfg_type_checkmode, CFG_ZONE_MASTER }, + { "check-sibling", &cfg_type_boolean, CFG_ZONE_MASTER }, + { "check-spf", &cfg_type_warn, CFG_ZONE_MASTER }, + { "check-srv-cname", &cfg_type_checkmode, CFG_ZONE_MASTER }, + { "check-wildcard", &cfg_type_boolean, CFG_ZONE_MASTER }, { "dialup", &cfg_type_dialuptype, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_STUB - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_STUB }, { "dnssec-dnskey-kskonly", &cfg_type_boolean, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE }, { "dnssec-loadkeys-interval", &cfg_type_uint32, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE }, { "dnssec-policy", &cfg_type_astring, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE - }, - { "dnssec-secure-to-insecure", &cfg_type_boolean, - CFG_ZONE_MASTER - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE }, + { "dnssec-secure-to-insecure", &cfg_type_boolean, CFG_ZONE_MASTER }, { "dnssec-update-mode", &cfg_type_dnssecupdatemode, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE }, { "forward", &cfg_type_forwardtype, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_STUB | - CFG_ZONE_STATICSTUB | CFG_ZONE_FORWARD - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_STUB | + CFG_ZONE_STATICSTUB | CFG_ZONE_FORWARD }, { "forwarders", &cfg_type_portiplist, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_STUB | - CFG_ZONE_STATICSTUB | CFG_ZONE_FORWARD - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_STUB | + CFG_ZONE_STATICSTUB | CFG_ZONE_FORWARD }, { "inline-signing", &cfg_type_boolean, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE }, { "key-directory", &cfg_type_qstring, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE - }, - { "maintain-ixfr-base", &cfg_type_boolean, - CFG_CLAUSEFLAG_ANCIENT - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE }, + { "maintain-ixfr-base", &cfg_type_boolean, CFG_CLAUSEFLAG_ANCIENT }, { "masterfile-format", &cfg_type_masterformat, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | - CFG_ZONE_STUB | CFG_ZONE_REDIRECT - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB | + CFG_ZONE_REDIRECT }, { "masterfile-style", &cfg_type_masterstyle, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | - CFG_ZONE_STUB | CFG_ZONE_REDIRECT - }, - { "max-ixfr-log-size", &cfg_type_size, - CFG_CLAUSEFLAG_ANCIENT - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB | + CFG_ZONE_REDIRECT }, + { "max-ixfr-log-size", &cfg_type_size, CFG_CLAUSEFLAG_ANCIENT }, { "max-journal-size", &cfg_type_size, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR }, { "max-records", &cfg_type_uint32, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | - CFG_ZONE_STUB | CFG_ZONE_STATICSTUB | CFG_ZONE_REDIRECT - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB | + CFG_ZONE_STATICSTUB | CFG_ZONE_REDIRECT }, { "max-refresh-time", &cfg_type_uint32, - CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB - }, + CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB }, { "max-retry-time", &cfg_type_uint32, - CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB - }, + CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB }, { "max-transfer-idle-in", &cfg_type_uint32, - CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB - }, + CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB }, { "max-transfer-idle-out", &cfg_type_uint32, - CFG_ZONE_MASTER | CFG_ZONE_MIRROR | CFG_ZONE_SLAVE - }, + CFG_ZONE_MASTER | CFG_ZONE_MIRROR | CFG_ZONE_SLAVE }, { "max-transfer-time-in", &cfg_type_uint32, - CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB - }, + CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB }, { "max-transfer-time-out", &cfg_type_uint32, - CFG_ZONE_MASTER | CFG_ZONE_MIRROR | CFG_ZONE_SLAVE - }, + CFG_ZONE_MASTER | CFG_ZONE_MIRROR | CFG_ZONE_SLAVE }, { "max-zone-ttl", &cfg_type_maxduration, - CFG_ZONE_MASTER | CFG_ZONE_REDIRECT - }, + CFG_ZONE_MASTER | CFG_ZONE_REDIRECT }, { "min-refresh-time", &cfg_type_uint32, - CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB - }, + CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB }, { "min-retry-time", &cfg_type_uint32, - CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB - }, + CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB }, { "multi-master", &cfg_type_boolean, - CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB - }, + CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB }, { "notify", &cfg_type_notifytype, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR }, { "notify-delay", &cfg_type_uint32, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR }, { "notify-source", &cfg_type_sockaddr4wild, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR }, { "notify-source-v6", &cfg_type_sockaddr6wild, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR }, { "notify-to-soa", &cfg_type_boolean, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE }, { "nsec3-test-zone", &cfg_type_boolean, - CFG_CLAUSEFLAG_TESTONLY | - CFG_ZONE_MASTER | CFG_ZONE_SLAVE - }, + CFG_CLAUSEFLAG_TESTONLY | CFG_ZONE_MASTER | CFG_ZONE_SLAVE }, { "request-expire", &cfg_type_boolean, - CFG_ZONE_SLAVE | CFG_ZONE_MIRROR - }, - { "request-ixfr", &cfg_type_boolean, - CFG_ZONE_SLAVE | CFG_ZONE_MIRROR - }, - { "serial-update-method", &cfg_type_updatemethod, - CFG_ZONE_MASTER - }, + CFG_ZONE_SLAVE | CFG_ZONE_MIRROR }, + { "request-ixfr", &cfg_type_boolean, CFG_ZONE_SLAVE | CFG_ZONE_MIRROR }, + { "serial-update-method", &cfg_type_updatemethod, CFG_ZONE_MASTER }, { "sig-signing-nodes", &cfg_type_uint32, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE }, { "sig-signing-signatures", &cfg_type_uint32, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE }, { "sig-signing-type", &cfg_type_uint32, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE }, { "sig-validity-interval", &cfg_type_validityinterval, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE }, { "dnskey-sig-validity", &cfg_type_uint32, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE }, { "transfer-source", &cfg_type_sockaddr4wild, - CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB - }, + CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB }, { "transfer-source-v6", &cfg_type_sockaddr6wild, - CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB - }, + CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB }, { "try-tcp-refresh", &cfg_type_boolean, - CFG_ZONE_SLAVE | CFG_ZONE_MIRROR - }, + CFG_ZONE_SLAVE | CFG_ZONE_MIRROR }, { "update-check-ksk", &cfg_type_boolean, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE }, { "use-alt-transfer-source", &cfg_type_boolean, - CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB - }, + CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB }, { "zero-no-soa-ttl", &cfg_type_boolean, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR }, { "zone-statistics", &cfg_type_zonestat, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | - CFG_ZONE_STUB | CFG_ZONE_STATICSTUB | CFG_ZONE_REDIRECT - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB | + CFG_ZONE_STATICSTUB | CFG_ZONE_REDIRECT }, { NULL, NULL, 0 } }; @@ -2336,162 +2243,107 @@ zone_clauses[] = { * Note: CFG_ZONE_* options indicate in which zone types this clause is * legal. */ -static cfg_clausedef_t -zone_only_clauses[] = { +static cfg_clausedef_t zone_only_clauses[] = { /* * Note that the format of the check-names option is different between * the zone options and the global/view options. Ugh. */ { "type", &cfg_type_zonetype, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | - CFG_ZONE_STUB | CFG_ZONE_STATICSTUB | CFG_ZONE_DELEGATION | - CFG_ZONE_HINT | CFG_ZONE_REDIRECT | CFG_ZONE_FORWARD - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB | + CFG_ZONE_STATICSTUB | CFG_ZONE_DELEGATION | CFG_ZONE_HINT | + CFG_ZONE_REDIRECT | CFG_ZONE_FORWARD }, { "check-names", &cfg_type_checkmode, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | - CFG_ZONE_HINT | CFG_ZONE_STUB - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_HINT | + CFG_ZONE_STUB }, { "database", &cfg_type_astring, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | - CFG_ZONE_STUB - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB }, { "delegation-only", &cfg_type_boolean, - CFG_ZONE_HINT | CFG_ZONE_STUB | CFG_ZONE_FORWARD - }, + CFG_ZONE_HINT | CFG_ZONE_STUB | CFG_ZONE_FORWARD }, { "dlz", &cfg_type_astring, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_REDIRECT - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_REDIRECT }, { "file", &cfg_type_qstring, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | - CFG_ZONE_STUB | CFG_ZONE_HINT | CFG_ZONE_REDIRECT - }, - { "in-view", &cfg_type_astring, - CFG_ZONE_INVIEW - }, - { "ixfr-base", &cfg_type_qstring, - CFG_CLAUSEFLAG_ANCIENT - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB | + CFG_ZONE_HINT | CFG_ZONE_REDIRECT }, + { "in-view", &cfg_type_astring, CFG_ZONE_INVIEW }, + { "ixfr-base", &cfg_type_qstring, CFG_CLAUSEFLAG_ANCIENT }, { "ixfr-from-differences", &cfg_type_boolean, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR - }, - { "ixfr-tmp-file", &cfg_type_qstring, - CFG_CLAUSEFLAG_ANCIENT - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR }, + { "ixfr-tmp-file", &cfg_type_qstring, CFG_CLAUSEFLAG_ANCIENT }, { "journal", &cfg_type_qstring, - CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR - }, + CFG_ZONE_MASTER | CFG_ZONE_SLAVE | CFG_ZONE_MIRROR }, { "masters", &cfg_type_namesockaddrkeylist, - CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB | - CFG_ZONE_REDIRECT - }, - { "pubkey", &cfg_type_pubkey, - CFG_CLAUSEFLAG_ANCIENT - }, + CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB | + CFG_ZONE_REDIRECT }, + { "pubkey", &cfg_type_pubkey, CFG_CLAUSEFLAG_ANCIENT }, { "server-addresses", &cfg_type_bracketed_netaddrlist, - CFG_ZONE_STATICSTUB - }, - { "server-names", &cfg_type_namelist, - CFG_ZONE_STATICSTUB - }, - { "update-policy", &cfg_type_updatepolicy, - CFG_ZONE_MASTER - }, + CFG_ZONE_STATICSTUB }, + { "server-names", &cfg_type_namelist, CFG_ZONE_STATICSTUB }, + { "update-policy", &cfg_type_updatepolicy, CFG_ZONE_MASTER }, { NULL, NULL, 0 } }; /*% The top-level named.conf syntax. */ -static cfg_clausedef_t * -namedconf_clausesets[] = { - namedconf_clauses, - namedconf_or_view_clauses, - NULL -}; +static cfg_clausedef_t * namedconf_clausesets[] = { namedconf_clauses, + namedconf_or_view_clauses, + NULL }; LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_namedconf = { - "namedconf", cfg_parse_mapbody, cfg_print_mapbody, cfg_doc_mapbody, - &cfg_rep_map, namedconf_clausesets + "namedconf", cfg_parse_mapbody, cfg_print_mapbody, + cfg_doc_mapbody, &cfg_rep_map, namedconf_clausesets }; /*% The bind.keys syntax (trust-anchors/managed-keys/trusted-keys only). */ -static cfg_clausedef_t * -bindkeys_clausesets[] = { - bindkeys_clauses, - NULL -}; +static cfg_clausedef_t *bindkeys_clausesets[] = { bindkeys_clauses, NULL }; LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_bindkeys = { - "bindkeys", cfg_parse_mapbody, cfg_print_mapbody, cfg_doc_mapbody, - &cfg_rep_map, bindkeys_clausesets + "bindkeys", cfg_parse_mapbody, cfg_print_mapbody, + cfg_doc_mapbody, &cfg_rep_map, bindkeys_clausesets }; /*% The "options" statement syntax. */ -static cfg_clausedef_t * -options_clausesets[] = { - options_clauses, - view_clauses, - zone_clauses, - NULL -}; -static cfg_type_t cfg_type_options = { - "options", cfg_parse_map, cfg_print_map, cfg_doc_map, &cfg_rep_map, - options_clausesets -}; +static cfg_clausedef_t *options_clausesets[] = { options_clauses, view_clauses, + zone_clauses, NULL }; +static cfg_type_t cfg_type_options = { "options", cfg_parse_map, + cfg_print_map, cfg_doc_map, + &cfg_rep_map, options_clausesets }; /*% The "view" statement syntax. */ -static cfg_clausedef_t * -view_clausesets[] = { - view_only_clauses, - namedconf_or_view_clauses, - view_clauses, - zone_clauses, - NULL -}; +static cfg_clausedef_t *view_clausesets[] = { view_only_clauses, + namedconf_or_view_clauses, + view_clauses, zone_clauses, + NULL }; -static cfg_type_t cfg_type_viewopts = { - "view", cfg_parse_map, cfg_print_map, cfg_doc_map, &cfg_rep_map, - view_clausesets -}; +static cfg_type_t cfg_type_viewopts = { "view", cfg_parse_map, + cfg_print_map, cfg_doc_map, + &cfg_rep_map, view_clausesets }; /*% The "zone" statement syntax. */ -static cfg_clausedef_t * -zone_clausesets[] = { - zone_only_clauses, - zone_clauses, - NULL -}; +static cfg_clausedef_t *zone_clausesets[] = { zone_only_clauses, zone_clauses, + NULL }; LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_zoneopts = { - "zoneopts", cfg_parse_map, cfg_print_map, - cfg_doc_map, &cfg_rep_map, zone_clausesets }; + "zoneopts", cfg_parse_map, cfg_print_map, + cfg_doc_map, &cfg_rep_map, zone_clausesets +}; /*% The "dnssec-policy" statement syntax. */ -static cfg_clausedef_t * -dnssecpolicy_clausesets[] = { - dnssecpolicy_clauses, - NULL -}; +static cfg_clausedef_t *dnssecpolicy_clausesets[] = { dnssecpolicy_clauses, + NULL }; LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_dnssecpolicyopts = { "dnssecpolicyopts", cfg_parse_map, cfg_print_map, - cfg_doc_map, &cfg_rep_map, dnssecpolicy_clausesets }; + cfg_doc_map, &cfg_rep_map, dnssecpolicy_clausesets +}; /*% The "dynamically loadable zones" statement syntax. */ -static cfg_clausedef_t -dlz_clauses[] = { - { "database", &cfg_type_astring, 0 }, - { "search", &cfg_type_boolean, 0 }, - { NULL, NULL, 0 } -}; -static cfg_clausedef_t * -dlz_clausesets[] = { - dlz_clauses, - NULL -}; -static cfg_type_t cfg_type_dlz = { - "dlz", cfg_parse_named_map, cfg_print_map, cfg_doc_map, - &cfg_rep_map, dlz_clausesets -}; +static cfg_clausedef_t dlz_clauses[] = { { "database", &cfg_type_astring, 0 }, + { "search", &cfg_type_boolean, 0 }, + { NULL, NULL, 0 } }; +static cfg_clausedef_t *dlz_clausesets[] = { dlz_clauses, NULL }; +static cfg_type_t cfg_type_dlz = { "dlz", cfg_parse_named_map, + cfg_print_map, cfg_doc_map, + &cfg_rep_map, dlz_clausesets }; /*% * The "dyndb" statement syntax. @@ -2504,60 +2356,45 @@ static cfg_tuplefielddef_t dyndb_fields[] = { { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_dyndb = { - "dyndb", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, dyndb_fields -}; +static cfg_type_t cfg_type_dyndb = { "dyndb", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, dyndb_fields }; /*% * The "plugin" statement syntax. * Currently only one plugin type is supported: query. */ -static const char *plugin_enums[] = { - "query", NULL -}; -static cfg_type_t cfg_type_plugintype = { - "plugintype", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, plugin_enums -}; +static const char *plugin_enums[] = { "query", NULL }; +static cfg_type_t cfg_type_plugintype = { "plugintype", cfg_parse_enum, + cfg_print_ustring, cfg_doc_enum, + &cfg_rep_string, plugin_enums }; static cfg_tuplefielddef_t plugin_fields[] = { { "type", &cfg_type_plugintype, 0 }, { "library", &cfg_type_astring, 0 }, { "parameters", &cfg_type_optional_bracketed_text, 0 }, { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_plugin = { - "plugin", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, plugin_fields -}; +static cfg_type_t cfg_type_plugin = { "plugin", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, plugin_fields }; /*% * Clauses that can be found within the 'key' statement. */ -static cfg_clausedef_t -key_clauses[] = { - { "algorithm", &cfg_type_astring, 0 }, - { "secret", &cfg_type_sstring, 0 }, - { NULL, NULL, 0 } -}; - -static cfg_clausedef_t * -key_clausesets[] = { - key_clauses, - NULL -}; -static cfg_type_t cfg_type_key = { - "key", cfg_parse_named_map, cfg_print_map, - cfg_doc_map, &cfg_rep_map, key_clausesets -}; +static cfg_clausedef_t key_clauses[] = { { "algorithm", &cfg_type_astring, 0 }, + { "secret", &cfg_type_sstring, 0 }, + { NULL, NULL, 0 } }; +static cfg_clausedef_t *key_clausesets[] = { key_clauses, NULL }; +static cfg_type_t cfg_type_key = { "key", cfg_parse_named_map, + cfg_print_map, cfg_doc_map, + &cfg_rep_map, key_clausesets }; /*% * Clauses that can be found in a 'server' statement. */ -static cfg_clausedef_t -server_clauses[] = { +static cfg_clausedef_t server_clauses[] = { { "bogus", &cfg_type_boolean, 0 }, { "edns", &cfg_type_boolean, 0 }, { "edns-udp-size", &cfg_type_uint32, 0 }, @@ -2584,15 +2421,10 @@ server_clauses[] = { { "transfers", &cfg_type_uint32, 0 }, { NULL, NULL, 0 } }; -static cfg_clausedef_t * -server_clausesets[] = { - server_clauses, - NULL -}; -static cfg_type_t cfg_type_server = { - "server", cfg_parse_netprefix_map, cfg_print_map, cfg_doc_map, - &cfg_rep_map, server_clausesets -}; +static cfg_clausedef_t *server_clausesets[] = { server_clauses, NULL }; +static cfg_type_t cfg_type_server = { "server", cfg_parse_netprefix_map, + cfg_print_map, cfg_doc_map, + &cfg_rep_map, server_clausesets }; /*% * Clauses that can be found in a 'channel' clause in the @@ -2603,24 +2435,23 @@ static cfg_type_t cfg_type_server = { * - There must exactly one of file/syslog/null/stderr */ -static const char *printtime_enums[] = { - "iso8601", "iso8601-utc", "local", NULL -}; +static const char *printtime_enums[] = { "iso8601", "iso8601-utc", "local", + NULL }; static isc_result_t -parse_printtime(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +parse_printtime(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ return (cfg_parse_enum_or_other(pctx, type, &cfg_type_boolean, ret)); } static void -doc_printtime(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_printtime(cfg_printer_t *pctx, const cfg_type_t *type) +{ cfg_doc_enum_or_other(pctx, type, &cfg_type_boolean); } -static cfg_type_t cfg_type_printtime = { - "printtime", parse_printtime, cfg_print_ustring, doc_printtime, - &cfg_rep_string, printtime_enums -}; +static cfg_type_t cfg_type_printtime = { "printtime", parse_printtime, + cfg_print_ustring, doc_printtime, + &cfg_rep_string, printtime_enums }; -static cfg_clausedef_t -channel_clauses[] = { +static cfg_clausedef_t channel_clauses[] = { /* Destinations. We no longer require these to be first. */ { "file", &cfg_type_logfile, 0 }, { "syslog", &cfg_type_optional_facility, 0 }, @@ -2634,21 +2465,18 @@ channel_clauses[] = { { "buffered", &cfg_type_boolean, 0 }, { NULL, NULL, 0 } }; -static cfg_clausedef_t * -channel_clausesets[] = { - channel_clauses, - NULL -}; -static cfg_type_t cfg_type_channel = { - "channel", cfg_parse_named_map, cfg_print_map, cfg_doc_map, - &cfg_rep_map, channel_clausesets -}; +static cfg_clausedef_t *channel_clausesets[] = { channel_clauses, NULL }; +static cfg_type_t cfg_type_channel = { "channel", cfg_parse_named_map, + cfg_print_map, cfg_doc_map, + &cfg_rep_map, channel_clausesets }; /*% A list of log destination, used in the "category" clause. */ -static cfg_type_t cfg_type_destinationlist = { - "destinationlist", cfg_parse_bracketed_list, cfg_print_bracketed_list, - cfg_doc_bracketed_list, &cfg_rep_list, &cfg_type_astring -}; +static cfg_type_t cfg_type_destinationlist = { "destinationlist", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, + &cfg_type_astring }; /*% * Clauses that can be found in a 'logging' statement. @@ -2658,13 +2486,10 @@ static cfg_clausedef_t logging_clauses[] = { { "category", &cfg_type_category, CFG_CLAUSEFLAG_MULTI }, { NULL, NULL, 0 } }; -static cfg_clausedef_t * logging_clausesets[] = { - logging_clauses, NULL -}; -static cfg_type_t cfg_type_logging = { - "logging", cfg_parse_map, cfg_print_map, cfg_doc_map, - &cfg_rep_map, logging_clausesets -}; +static cfg_clausedef_t *logging_clausesets[] = { logging_clauses, NULL }; +static cfg_type_t cfg_type_logging = { "logging", cfg_parse_map, + cfg_print_map, cfg_doc_map, + &cfg_rep_map, logging_clausesets }; /*% * For parsing an 'addzone' statement @@ -2676,34 +2501,29 @@ static cfg_tuplefielddef_t addzone_fields[] = { { "options", &cfg_type_zoneopts, 0 }, { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_addzone = { - "zone", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, addzone_fields +static cfg_type_t cfg_type_addzone = { "zone", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, addzone_fields }; + +static cfg_clausedef_t addzoneconf_clauses[] = { + { "zone", &cfg_type_addzone, CFG_CLAUSEFLAG_MULTI }, { NULL, NULL, 0 } }; -static cfg_clausedef_t -addzoneconf_clauses[] = { - { "zone", &cfg_type_addzone, CFG_CLAUSEFLAG_MULTI }, - { NULL, NULL, 0 } -}; - -static cfg_clausedef_t * -addzoneconf_clausesets[] = { - addzoneconf_clauses, - NULL -}; +static cfg_clausedef_t *addzoneconf_clausesets[] = { addzoneconf_clauses, + NULL }; LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_addzoneconf = { - "addzoneconf", cfg_parse_mapbody, cfg_print_mapbody, cfg_doc_mapbody, - &cfg_rep_map, addzoneconf_clausesets + "addzoneconf", cfg_parse_mapbody, cfg_print_mapbody, + cfg_doc_mapbody, &cfg_rep_map, addzoneconf_clausesets }; static isc_result_t -parse_unitstring(char *str, isc_resourcevalue_t *valuep) { - char *endp; +parse_unitstring(char *str, isc_resourcevalue_t *valuep) +{ + char * endp; unsigned int len; - uint64_t value; - uint64_t unit; + uint64_t value; + uint64_t unit; value = strtoull(str, &endp, 10); if (*endp == 0) { @@ -2739,10 +2559,11 @@ parse_unitstring(char *str, isc_resourcevalue_t *valuep) { } static isc_result_t -parse_sizeval(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +parse_sizeval(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ isc_result_t result; - cfg_obj_t *obj = NULL; - uint64_t val; + cfg_obj_t * obj = NULL; + uint64_t val; UNUSED(type); @@ -2758,7 +2579,7 @@ parse_sizeval(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { *ret = obj; return (ISC_R_SUCCESS); - cleanup: +cleanup: cfg_parser_error(pctx, CFG_LOG_NEAR, "expected integer and optional unit"); return (result); @@ -2768,11 +2589,11 @@ static isc_result_t parse_sizeval_percent(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - char *endp; - isc_result_t result; - cfg_obj_t *obj = NULL; - uint64_t val; - uint64_t percent; + char * endp; + isc_result_t result; + cfg_obj_t * obj = NULL; + uint64_t val; + uint64_t percent; UNUSED(type); @@ -2784,7 +2605,7 @@ parse_sizeval_percent(cfg_parser_t *pctx, const cfg_type_t *type, percent = strtoull(TOKEN_STRING(pctx), &endp, 10); - if (*endp == '%' && *(endp+1) == 0) { + if (*endp == '%' && *(endp + 1) == 0) { CHECK(cfg_create_obj(pctx, &cfg_type_percentage, &obj)); obj->value.uint32 = (uint32_t)percent; *ret = obj; @@ -2797,15 +2618,15 @@ parse_sizeval_percent(cfg_parser_t *pctx, const cfg_type_t *type, return (ISC_R_SUCCESS); } - cleanup: +cleanup: cfg_parser_error(pctx, CFG_LOG_NEAR, "expected integer and optional unit or percent"); return (result); } static void -doc_sizeval_percent(cfg_printer_t *pctx, const cfg_type_t *type) { - +doc_sizeval_percent(cfg_printer_t *pctx, const cfg_type_t *type) +{ UNUSED(type); cfg_print_cstr(pctx, "( "); @@ -2818,46 +2639,47 @@ doc_sizeval_percent(cfg_printer_t *pctx, const cfg_type_t *type) { /*% * A size value (number + optional unit). */ -static cfg_type_t cfg_type_sizeval = { - "sizeval", parse_sizeval, cfg_print_uint64, cfg_doc_terminal, - &cfg_rep_uint64, NULL -}; +static cfg_type_t cfg_type_sizeval = { "sizeval", parse_sizeval, + cfg_print_uint64, cfg_doc_terminal, + &cfg_rep_uint64, NULL }; /*% * A size, "unlimited", or "default". */ static isc_result_t -parse_size(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +parse_size(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ return (cfg_parse_enum_or_other(pctx, type, &cfg_type_sizeval, ret)); } static void -doc_size(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_size(cfg_printer_t *pctx, const cfg_type_t *type) +{ cfg_doc_enum_or_other(pctx, type, &cfg_type_sizeval); } static const char *size_enums[] = { "default", "unlimited", NULL }; -static cfg_type_t cfg_type_size = { - "size", parse_size, cfg_print_ustring, doc_size, - &cfg_rep_string, size_enums +static cfg_type_t cfg_type_size = { + "size", parse_size, cfg_print_ustring, + doc_size, &cfg_rep_string, size_enums }; /*% * A size or "unlimited", but not "default". */ static const char *sizenodefault_enums[] = { "unlimited", NULL }; -static cfg_type_t cfg_type_sizenodefault = { - "size_no_default", parse_size, cfg_print_ustring, doc_size, - &cfg_rep_string, sizenodefault_enums +static cfg_type_t cfg_type_sizenodefault = { + "size_no_default", parse_size, cfg_print_ustring, + doc_size, &cfg_rep_string, sizenodefault_enums }; /*% * A size in absolute values or percents. */ static cfg_type_t cfg_type_sizeval_percent = { - "sizeval_percent", parse_sizeval_percent, cfg_print_ustring, - doc_sizeval_percent, &cfg_rep_string, NULL + "sizeval_percent", parse_sizeval_percent, cfg_print_ustring, + doc_sizeval_percent, &cfg_rep_string, NULL }; /*% @@ -2869,11 +2691,12 @@ parse_size_or_percent(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { return (cfg_parse_enum_or_other(pctx, type, &cfg_type_sizeval_percent, - ret)); + ret)); } static void -doc_parse_size_or_percent(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_parse_size_or_percent(cfg_printer_t *pctx, const cfg_type_t *type) +{ UNUSED(type); cfg_print_cstr(pctx, "( default | unlimited | "); cfg_doc_terminal(pctx, &cfg_type_sizeval); @@ -2883,9 +2706,9 @@ doc_parse_size_or_percent(cfg_printer_t *pctx, const cfg_type_t *type) { } static const char *sizeorpercent_enums[] = { "default", "unlimited", NULL }; -static cfg_type_t cfg_type_sizeorpercent = { - "size_or_percent", parse_size_or_percent, cfg_print_ustring, - doc_parse_size_or_percent, &cfg_rep_string, sizeorpercent_enums +static cfg_type_t cfg_type_sizeorpercent = { + "size_or_percent", parse_size_or_percent, cfg_print_ustring, + doc_parse_size_or_percent, &cfg_rep_string, sizeorpercent_enums }; /*% @@ -2895,8 +2718,8 @@ static isc_result_t parse_maybe_optional_keyvalue(cfg_parser_t *pctx, const cfg_type_t *type, bool optional, cfg_obj_t **ret) { - isc_result_t result; - cfg_obj_t *obj = NULL; + isc_result_t result; + cfg_obj_t * obj = NULL; const keyword_type_t *kw = type->of; CHECK(cfg_peektoken(pctx, 0)); @@ -2910,18 +2733,19 @@ parse_maybe_optional_keyvalue(cfg_parser_t *pctx, const cfg_type_t *type, CHECK(cfg_parse_void(pctx, NULL, &obj)); } else { cfg_parser_error(pctx, CFG_LOG_NEAR, "expected '%s'", - kw->name); + kw->name); result = ISC_R_UNEXPECTEDTOKEN; goto cleanup; } } *ret = obj; - cleanup: +cleanup: return (result); } static isc_result_t -parse_keyvalue(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +parse_keyvalue(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ return (parse_maybe_optional_keyvalue(pctx, type, false, ret)); } @@ -2933,7 +2757,8 @@ parse_optional_keyvalue(cfg_parser_t *pctx, const cfg_type_t *type, } static void -print_keyvalue(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_keyvalue(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ const keyword_type_t *kw = obj->type->of; cfg_print_cstr(pctx, kw->name); cfg_print_cstr(pctx, " "); @@ -2941,7 +2766,8 @@ print_keyvalue(cfg_printer_t *pctx, const cfg_obj_t *obj) { } static void -doc_keyvalue(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_keyvalue(cfg_printer_t *pctx, const cfg_type_t *type) +{ const keyword_type_t *kw = type->of; cfg_print_cstr(pctx, kw->name); cfg_print_cstr(pctx, " "); @@ -2949,7 +2775,8 @@ doc_keyvalue(cfg_printer_t *pctx, const cfg_type_t *type) { } static void -doc_optional_keyvalue(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_optional_keyvalue(cfg_printer_t *pctx, const cfg_type_t *type) +{ const keyword_type_t *kw = type->of; cfg_print_cstr(pctx, "[ "); cfg_print_cstr(pctx, kw->name); @@ -2958,125 +2785,114 @@ doc_optional_keyvalue(cfg_printer_t *pctx, const cfg_type_t *type) { cfg_print_cstr(pctx, " ]"); } -static const char *dialup_enums[] = { - "notify", "notify-passive", "passive", "refresh", NULL -}; +static const char *dialup_enums[] = { "notify", "notify-passive", "passive", + "refresh", NULL }; static isc_result_t -parse_dialup_type(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret) +parse_dialup_type(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { return (cfg_parse_enum_or_other(pctx, type, &cfg_type_boolean, ret)); } static void -doc_dialup_type(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_dialup_type(cfg_printer_t *pctx, const cfg_type_t *type) +{ cfg_doc_enum_or_other(pctx, type, &cfg_type_boolean); } -static cfg_type_t cfg_type_dialuptype = { - "dialuptype", parse_dialup_type, cfg_print_ustring, doc_dialup_type, - &cfg_rep_string, dialup_enums -}; +static cfg_type_t cfg_type_dialuptype = { "dialuptype", parse_dialup_type, + cfg_print_ustring, doc_dialup_type, + &cfg_rep_string, dialup_enums }; static const char *notify_enums[] = { "explicit", "master-only", NULL }; static isc_result_t -parse_notify_type(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret) +parse_notify_type(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { return (cfg_parse_enum_or_other(pctx, type, &cfg_type_boolean, ret)); } static void -doc_notify_type(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_notify_type(cfg_printer_t *pctx, const cfg_type_t *type) +{ cfg_doc_enum_or_other(pctx, type, &cfg_type_boolean); } static cfg_type_t cfg_type_notifytype = { - "notifytype", parse_notify_type, cfg_print_ustring, doc_notify_type, - &cfg_rep_string, notify_enums, + "notifytype", parse_notify_type, cfg_print_ustring, + doc_notify_type, &cfg_rep_string, notify_enums, }; static const char *minimal_enums[] = { "no-auth", "no-auth-recursive", NULL }; static isc_result_t -parse_minimal(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - return (cfg_parse_enum_or_other(pctx, type, &cfg_type_boolean, ret)); -} -static void -doc_minimal(cfg_printer_t *pctx, const cfg_type_t *type) { - cfg_doc_enum_or_other(pctx, type, &cfg_type_boolean); -} -static cfg_type_t cfg_type_minimal = { - "mimimal", parse_minimal, cfg_print_ustring, doc_minimal, - &cfg_rep_string, minimal_enums, -}; - -static const char *ixfrdiff_enums[] = { - "primary", "master", "secondary", "slave", NULL -}; -static isc_result_t -parse_ixfrdiff_type(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret) +parse_minimal(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { return (cfg_parse_enum_or_other(pctx, type, &cfg_type_boolean, ret)); } static void -doc_ixfrdiff_type(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_minimal(cfg_printer_t *pctx, const cfg_type_t *type) +{ + cfg_doc_enum_or_other(pctx, type, &cfg_type_boolean); +} +static cfg_type_t cfg_type_minimal = { + "mimimal", parse_minimal, cfg_print_ustring, + doc_minimal, &cfg_rep_string, minimal_enums, +}; + +static const char *ixfrdiff_enums[] = { "primary", "master", "secondary", + "slave", NULL }; +static isc_result_t +parse_ixfrdiff_type(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ + return (cfg_parse_enum_or_other(pctx, type, &cfg_type_boolean, ret)); +} +static void +doc_ixfrdiff_type(cfg_printer_t *pctx, const cfg_type_t *type) +{ cfg_doc_enum_or_other(pctx, type, &cfg_type_boolean); } static cfg_type_t cfg_type_ixfrdifftype = { - "ixfrdiff", parse_ixfrdiff_type, cfg_print_ustring, doc_ixfrdiff_type, - &cfg_rep_string, ixfrdiff_enums, + "ixfrdiff", parse_ixfrdiff_type, cfg_print_ustring, + doc_ixfrdiff_type, &cfg_rep_string, ixfrdiff_enums, }; static keyword_type_t key_kw = { "key", &cfg_type_astring }; LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_keyref = { - "keyref", parse_keyvalue, print_keyvalue, doc_keyvalue, - &cfg_rep_string, &key_kw + "keyref", parse_keyvalue, print_keyvalue, + doc_keyvalue, &cfg_rep_string, &key_kw }; static cfg_type_t cfg_type_optional_keyref = { - "optional_keyref", parse_optional_keyvalue, print_keyvalue, - doc_optional_keyvalue, &cfg_rep_string, &key_kw + "optional_keyref", parse_optional_keyvalue, print_keyvalue, + doc_optional_keyvalue, &cfg_rep_string, &key_kw }; -static const char *qminmethod_enums[] = { - "strict", "relaxed", "disabled", "off", NULL -}; +static const char *qminmethod_enums[] = { "strict", "relaxed", "disabled", + "off", NULL }; -static cfg_type_t cfg_type_qminmethod = { - "qminmethod", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, qminmethod_enums -}; +static cfg_type_t cfg_type_qminmethod = { "qminmethod", cfg_parse_enum, + cfg_print_ustring, cfg_doc_enum, + &cfg_rep_string, qminmethod_enums }; /*% * A "controls" statement is represented as a map with the multivalued * "inet" and "unix" clauses. */ -static keyword_type_t controls_allow_kw = { - "allow", &cfg_type_bracketed_aml }; +static keyword_type_t controls_allow_kw = { "allow", &cfg_type_bracketed_aml }; static cfg_type_t cfg_type_controls_allow = { - "controls_allow", parse_keyvalue, - print_keyvalue, doc_keyvalue, - &cfg_rep_list, &controls_allow_kw + "controls_allow", parse_keyvalue, print_keyvalue, + doc_keyvalue, &cfg_rep_list, &controls_allow_kw }; -static keyword_type_t controls_keys_kw = { - "keys", &cfg_type_keylist -}; +static keyword_type_t controls_keys_kw = { "keys", &cfg_type_keylist }; static cfg_type_t cfg_type_controls_keys = { - "controls_keys", parse_optional_keyvalue, - print_keyvalue, doc_optional_keyvalue, - &cfg_rep_list, &controls_keys_kw + "controls_keys", parse_optional_keyvalue, print_keyvalue, + doc_optional_keyvalue, &cfg_rep_list, &controls_keys_kw }; -static keyword_type_t controls_readonly_kw = { - "read-only", &cfg_type_boolean -}; +static keyword_type_t controls_readonly_kw = { "read-only", &cfg_type_boolean }; static cfg_type_t cfg_type_controls_readonly = { - "controls_readonly", parse_optional_keyvalue, - print_keyvalue, doc_optional_keyvalue, - &cfg_rep_boolean, &controls_readonly_kw + "controls_readonly", parse_optional_keyvalue, print_keyvalue, + doc_optional_keyvalue, &cfg_rep_boolean, &controls_readonly_kw }; static cfg_tuplefielddef_t inetcontrol_fields[] = { @@ -3088,38 +2904,29 @@ static cfg_tuplefielddef_t inetcontrol_fields[] = { }; static cfg_type_t cfg_type_inetcontrol = { - "inetcontrol", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, inetcontrol_fields + "inetcontrol", cfg_parse_tuple, cfg_print_tuple, + cfg_doc_tuple, &cfg_rep_tuple, inetcontrol_fields }; -static keyword_type_t controls_perm_kw = { - "perm", &cfg_type_uint32 -}; +static keyword_type_t controls_perm_kw = { "perm", &cfg_type_uint32 }; static cfg_type_t cfg_type_controls_perm = { - "controls_perm", parse_keyvalue, - print_keyvalue, doc_keyvalue, - &cfg_rep_uint32, &controls_perm_kw + "controls_perm", parse_keyvalue, print_keyvalue, + doc_keyvalue, &cfg_rep_uint32, &controls_perm_kw }; -static keyword_type_t controls_owner_kw = { - "owner", &cfg_type_uint32 -}; +static keyword_type_t controls_owner_kw = { "owner", &cfg_type_uint32 }; static cfg_type_t cfg_type_controls_owner = { - "controls_owner", parse_keyvalue, - print_keyvalue, doc_keyvalue, - &cfg_rep_uint32, &controls_owner_kw + "controls_owner", parse_keyvalue, print_keyvalue, + doc_keyvalue, &cfg_rep_uint32, &controls_owner_kw }; -static keyword_type_t controls_group_kw = { - "group", &cfg_type_uint32 -}; +static keyword_type_t controls_group_kw = { "group", &cfg_type_uint32 }; static cfg_type_t cfg_type_controls_group = { - "controls_allow", parse_keyvalue, - print_keyvalue, doc_keyvalue, - &cfg_rep_uint32, &controls_group_kw + "controls_allow", parse_keyvalue, print_keyvalue, + doc_keyvalue, &cfg_rep_uint32, &controls_group_kw }; static cfg_tuplefielddef_t unixcontrol_fields[] = { @@ -3133,33 +2940,28 @@ static cfg_tuplefielddef_t unixcontrol_fields[] = { }; static cfg_type_t cfg_type_unixcontrol = { - "unixcontrol", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, unixcontrol_fields + "unixcontrol", cfg_parse_tuple, cfg_print_tuple, + cfg_doc_tuple, &cfg_rep_tuple, unixcontrol_fields }; -static cfg_clausedef_t -controls_clauses[] = { +static cfg_clausedef_t controls_clauses[] = { { "inet", &cfg_type_inetcontrol, CFG_CLAUSEFLAG_MULTI }, { "unix", &cfg_type_unixcontrol, CFG_CLAUSEFLAG_MULTI }, { NULL, NULL, 0 } }; -static cfg_clausedef_t * -controls_clausesets[] = { - controls_clauses, - NULL -}; -static cfg_type_t cfg_type_controls = { - "controls", cfg_parse_map, cfg_print_map, cfg_doc_map, &cfg_rep_map, - &controls_clausesets -}; +static cfg_clausedef_t *controls_clausesets[] = { controls_clauses, NULL }; +static cfg_type_t cfg_type_controls = { "controls", cfg_parse_map, + cfg_print_map, cfg_doc_map, + &cfg_rep_map, &controls_clausesets }; /*% * A "statistics-channels" statement is represented as a map with the * multivalued "inet" clauses. */ static void -doc_optional_bracketed_list(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_optional_bracketed_list(cfg_printer_t *pctx, const cfg_type_t *type) +{ const keyword_type_t *kw = type->of; cfg_print_cstr(pctx, "[ "); cfg_print_cstr(pctx, kw->name); @@ -3169,8 +2971,9 @@ doc_optional_bracketed_list(cfg_printer_t *pctx, const cfg_type_t *type) { } static cfg_type_t cfg_type_optional_allow = { - "optional_allow", parse_optional_keyvalue, print_keyvalue, - doc_optional_bracketed_list, &cfg_rep_list, &controls_allow_kw + "optional_allow", parse_optional_keyvalue, + print_keyvalue, doc_optional_bracketed_list, + &cfg_rep_list, &controls_allow_kw }; static cfg_tuplefielddef_t statserver_fields[] = { @@ -3180,25 +2983,21 @@ static cfg_tuplefielddef_t statserver_fields[] = { }; static cfg_type_t cfg_type_statschannel = { - "statschannel", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, statserver_fields + "statschannel", cfg_parse_tuple, cfg_print_tuple, + cfg_doc_tuple, &cfg_rep_tuple, statserver_fields }; -static cfg_clausedef_t -statservers_clauses[] = { +static cfg_clausedef_t statservers_clauses[] = { { "inet", &cfg_type_statschannel, CFG_CLAUSEFLAG_MULTI }, { NULL, NULL, 0 } }; -static cfg_clausedef_t * -statservers_clausesets[] = { - statservers_clauses, - NULL -}; +static cfg_clausedef_t *statservers_clausesets[] = { statservers_clauses, + NULL }; static cfg_type_t cfg_type_statschannels = { - "statistics-channels", cfg_parse_map, cfg_print_map, cfg_doc_map, - &cfg_rep_map, &statservers_clausesets + "statistics-channels", cfg_parse_map, cfg_print_map, + cfg_doc_map, &cfg_rep_map, &statservers_clausesets }; /*% @@ -3215,33 +3014,35 @@ parse_optional_class(cfg_parser_t *pctx, const cfg_type_t *type, CHECK(cfg_parse_obj(pctx, &cfg_type_ustring, ret)); else CHECK(cfg_parse_obj(pctx, &cfg_type_void, ret)); - cleanup: +cleanup: return (result); } static void -doc_optional_class(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_optional_class(cfg_printer_t *pctx, const cfg_type_t *type) +{ UNUSED(type); cfg_print_cstr(pctx, "[ ]"); } -static cfg_type_t cfg_type_optional_class = { - "optional_class", parse_optional_class, NULL, doc_optional_class, - NULL, NULL -}; +static cfg_type_t cfg_type_optional_class = { "optional_class", + parse_optional_class, + NULL, + doc_optional_class, + NULL, + NULL }; static isc_result_t -parse_querysource(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret) +parse_querysource(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - isc_result_t result; - cfg_obj_t *obj = NULL; - isc_netaddr_t netaddr; - in_port_t port = 0; - isc_dscp_t dscp = -1; - unsigned int have_address = 0; - unsigned int have_port = 0; - unsigned int have_dscp = 0; + isc_result_t result; + cfg_obj_t * obj = NULL; + isc_netaddr_t netaddr; + in_port_t port = 0; + isc_dscp_t dscp = -1; + unsigned int have_address = 0; + unsigned int have_port = 0; + unsigned int have_dscp = 0; const unsigned int *flagp = type->of; if ((*flagp & CFG_ADDR_V4OK) != 0) { @@ -3256,36 +3057,32 @@ parse_querysource(cfg_parser_t *pctx, const cfg_type_t *type, for (;;) { CHECK(cfg_peektoken(pctx, 0)); if (pctx->token.type == isc_tokentype_string) { - if (strcasecmp(TOKEN_STRING(pctx), - "address") == 0) - { + if (strcasecmp(TOKEN_STRING(pctx), "address") == 0) { /* read "address" */ CHECK(cfg_gettoken(pctx, 0)); CHECK(cfg_parse_rawaddr(pctx, *flagp, &netaddr)); have_address++; - } else if (strcasecmp(TOKEN_STRING(pctx), "port") == 0) - { + } else if (strcasecmp(TOKEN_STRING(pctx), "port") == + 0) { /* read "port" */ CHECK(cfg_gettoken(pctx, 0)); - CHECK(cfg_parse_rawport(pctx, - CFG_ADDR_WILDOK, + CHECK(cfg_parse_rawport(pctx, CFG_ADDR_WILDOK, &port)); have_port++; - } else if (strcasecmp(TOKEN_STRING(pctx), "dscp") == 0) - { + } else if (strcasecmp(TOKEN_STRING(pctx), "dscp") == + 0) { /* read "dscp" */ CHECK(cfg_gettoken(pctx, 0)); CHECK(cfg_parse_dscp(pctx, &dscp)); have_dscp++; } else if (have_port == 0 && have_dscp == 0 && - have_address == 0) - { + have_address == 0) { return (cfg_parse_sockaddr(pctx, type, ret)); } else { cfg_parser_error(pctx, CFG_LOG_NEAR, - "expected 'address', 'port', " - "or 'dscp'"); + "expected 'address', 'port', " + "or 'dscp'"); return (ISC_R_UNEXPECTEDTOKEN); } } else @@ -3308,14 +3105,15 @@ parse_querysource(cfg_parser_t *pctx, const cfg_type_t *type, *ret = obj; return (ISC_R_SUCCESS); - cleanup: +cleanup: cfg_parser_error(pctx, CFG_LOG_NEAR, "invalid query source"); CLEANUP_OBJ(obj); return (result); } static void -print_querysource(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_querysource(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ isc_netaddr_t na; isc_netaddr_fromsockaddr(&na, &obj->value.sockaddr); cfg_print_cstr(pctx, "address "); @@ -3329,7 +3127,8 @@ print_querysource(cfg_printer_t *pctx, const cfg_obj_t *obj) { } static void -doc_querysource(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_querysource(cfg_printer_t *pctx, const cfg_type_t *type) +{ const unsigned int *flagp = type->of; cfg_print_cstr(pctx, "( ( [ address ] ( "); @@ -3342,7 +3141,7 @@ doc_querysource(cfg_printer_t *pctx, const cfg_type_t *type) { ISC_UNREACHABLE(); } cfg_print_cstr(pctx, " | * ) [ port ( | * ) ] ) | " - "( [ [ address ] ( "); + "( [ [ address ] ( "); if ((*flagp & CFG_ADDR_V4OK) != 0) { cfg_print_cstr(pctx, ""); } else if ((*flagp & CFG_ADDR_V6OK) != 0) { @@ -3352,7 +3151,7 @@ doc_querysource(cfg_printer_t *pctx, const cfg_type_t *type) { ISC_UNREACHABLE(); } cfg_print_cstr(pctx, " | * ) ] port ( | * ) ) )" - " [ dscp ]"); + " [ dscp ]"); } static unsigned int sockaddr4wild_flags = CFG_ADDR_WILDOK | CFG_ADDR_V4OK | @@ -3361,29 +3160,29 @@ static unsigned int sockaddr6wild_flags = CFG_ADDR_WILDOK | CFG_ADDR_V6OK | CFG_ADDR_DSCPOK; static cfg_type_t cfg_type_querysource4 = { - "querysource4", parse_querysource, NULL, doc_querysource, - NULL, &sockaddr4wild_flags + "querysource4", parse_querysource, NULL, doc_querysource, + NULL, &sockaddr4wild_flags }; static cfg_type_t cfg_type_querysource6 = { - "querysource6", parse_querysource, NULL, doc_querysource, - NULL, &sockaddr6wild_flags + "querysource6", parse_querysource, NULL, doc_querysource, + NULL, &sockaddr6wild_flags }; -static cfg_type_t cfg_type_querysource = { - "querysource", NULL, print_querysource, NULL, &cfg_rep_sockaddr, NULL -}; +static cfg_type_t cfg_type_querysource = { "querysource", NULL, + print_querysource, NULL, + &cfg_rep_sockaddr, NULL }; /*% * The socket address syntax in the "controls" statement is silly. * It allows both socket address families, but also allows "*", * whis is gratuitously interpreted as the IPv4 wildcard address. */ -static unsigned int controls_sockaddr_flags = - CFG_ADDR_V4OK | CFG_ADDR_V6OK | CFG_ADDR_WILDOK; +static unsigned int controls_sockaddr_flags = CFG_ADDR_V4OK | CFG_ADDR_V6OK | + CFG_ADDR_WILDOK; static cfg_type_t cfg_type_controls_sockaddr = { "controls_sockaddr", cfg_parse_sockaddr, cfg_print_sockaddr, - cfg_doc_sockaddr, &cfg_rep_sockaddr, &controls_sockaddr_flags + cfg_doc_sockaddr, &cfg_rep_sockaddr, &controls_sockaddr_flags }; /*% @@ -3395,7 +3194,7 @@ parse_server_key_kludge(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { isc_result_t result; - bool braces = false; + bool braces = false; UNUSED(type); /* Allow opening brace. */ @@ -3417,15 +3216,14 @@ parse_server_key_kludge(cfg_parser_t *pctx, const cfg_type_t *type, CHECK(cfg_parse_special(pctx, '}')); } - cleanup: +cleanup: return (result); } static cfg_type_t cfg_type_server_key_kludge = { - "server_key", parse_server_key_kludge, NULL, cfg_doc_terminal, - NULL, NULL + "server_key", parse_server_key_kludge, NULL, cfg_doc_terminal, NULL, + NULL }; - /*% * An optional logging facility. */ @@ -3444,21 +3242,23 @@ parse_optional_facility(cfg_parser_t *pctx, const cfg_type_t *type, } else { CHECK(cfg_parse_obj(pctx, &cfg_type_void, ret)); } - cleanup: +cleanup: return (result); } static void -doc_optional_facility(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_optional_facility(cfg_printer_t *pctx, const cfg_type_t *type) +{ UNUSED(type); cfg_print_cstr(pctx, "[ ]"); } -static cfg_type_t cfg_type_optional_facility = { - "optional_facility", parse_optional_facility, NULL, - doc_optional_facility, NULL, NULL -}; - +static cfg_type_t cfg_type_optional_facility = { "optional_facility", + parse_optional_facility, + NULL, + doc_optional_facility, + NULL, + NULL }; /*% * A log severity. Return as a string, except "debug N", @@ -3466,15 +3266,12 @@ static cfg_type_t cfg_type_optional_facility = { */ static keyword_type_t debug_kw = { "debug", &cfg_type_uint32 }; -static cfg_type_t cfg_type_debuglevel = { - "debuglevel", parse_keyvalue, - print_keyvalue, doc_keyvalue, - &cfg_rep_uint32, &debug_kw -}; +static cfg_type_t cfg_type_debuglevel = { "debuglevel", parse_keyvalue, + print_keyvalue, doc_keyvalue, + &cfg_rep_uint32, &debug_kw }; static isc_result_t -parse_logseverity(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret) +parse_logseverity(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { isc_result_t result; UNUSED(type); @@ -3499,14 +3296,13 @@ parse_logseverity(cfg_parser_t *pctx, const cfg_type_t *type, } else { CHECK(cfg_parse_obj(pctx, &cfg_type_loglevel, ret)); } - cleanup: +cleanup: return (result); } -static cfg_type_t cfg_type_logseverity = { - "log_severity", parse_logseverity, NULL, cfg_doc_terminal, - NULL, NULL -}; +static cfg_type_t cfg_type_logseverity = { "log_severity", parse_logseverity, + NULL, cfg_doc_terminal, + NULL, NULL }; /*% * The "file" clause of the "channel" statement. @@ -3515,27 +3311,26 @@ static cfg_type_t cfg_type_logseverity = { static const char *logversions_enums[] = { "unlimited", NULL }; static isc_result_t -parse_logversions(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret) +parse_logversions(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { return (cfg_parse_enum_or_other(pctx, type, &cfg_type_uint32, ret)); } static void -doc_logversions(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_logversions(cfg_printer_t *pctx, const cfg_type_t *type) +{ cfg_doc_enum_or_other(pctx, type, &cfg_type_uint32); } static cfg_type_t cfg_type_logversions = { - "logversions", parse_logversions, cfg_print_ustring, doc_logversions, - &cfg_rep_string, logversions_enums + "logversions", parse_logversions, cfg_print_ustring, + doc_logversions, &cfg_rep_string, logversions_enums }; static const char *logsuffix_enums[] = { "increment", "timestamp", NULL }; -static cfg_type_t cfg_type_logsuffix = { - "logsuffix", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum, - &cfg_rep_string, &logsuffix_enums -}; +static cfg_type_t cfg_type_logsuffix = { "logsuffix", cfg_parse_enum, + cfg_print_ustring, cfg_doc_enum, + &cfg_rep_string, &logsuffix_enums }; static cfg_tuplefielddef_t logfile_fields[] = { { "file", &cfg_type_qstring, 0 }, @@ -3546,9 +3341,10 @@ static cfg_tuplefielddef_t logfile_fields[] = { }; static isc_result_t -parse_logfile(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - isc_result_t result; - cfg_obj_t *obj = NULL; +parse_logfile(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ + isc_result_t result; + cfg_obj_t * obj = NULL; const cfg_tuplefielddef_t *fields = type->of; CHECK(cfg_create_tuple(pctx, type, &obj)); @@ -3561,21 +3357,20 @@ parse_logfile(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { CHECK(cfg_peektoken(pctx, 0)); if (pctx->token.type == isc_tokentype_string) { CHECK(cfg_gettoken(pctx, 0)); - if (strcasecmp(TOKEN_STRING(pctx), - "versions") == 0 && + if (strcasecmp(TOKEN_STRING(pctx), "versions") == 0 && obj->value.tuple[1] == NULL) { CHECK(cfg_parse_obj(pctx, fields[1].type, - &obj->value.tuple[1])); - } else if (strcasecmp(TOKEN_STRING(pctx), - "size") == 0 && + &obj->value.tuple[1])); + } else if (strcasecmp(TOKEN_STRING(pctx), "size") == + 0 && obj->value.tuple[2] == NULL) { CHECK(cfg_parse_obj(pctx, fields[2].type, - &obj->value.tuple[2])); - } else if (strcasecmp(TOKEN_STRING(pctx), - "suffix") == 0 && + &obj->value.tuple[2])); + } else if (strcasecmp(TOKEN_STRING(pctx), "suffix") == + 0 && obj->value.tuple[3] == NULL) { CHECK(cfg_parse_obj(pctx, fields[3].type, - &obj->value.tuple[3])); + &obj->value.tuple[3])); } else { break; } @@ -3595,13 +3390,14 @@ parse_logfile(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { *ret = obj; return (ISC_R_SUCCESS); - cleanup: +cleanup: CLEANUP_OBJ(obj); return (result); } static void -print_logfile(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_logfile(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ cfg_print_obj(pctx, obj->value.tuple[0]); /* file */ if (obj->value.tuple[1]->type->print != cfg_print_void) { cfg_print_cstr(pctx, " versions "); @@ -3617,9 +3413,9 @@ print_logfile(cfg_printer_t *pctx, const cfg_obj_t *obj) { } } - static void -doc_logfile(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_logfile(cfg_printer_t *pctx, const cfg_type_t *type) +{ UNUSED(type); cfg_print_cstr(pctx, ""); cfg_print_cstr(pctx, " "); @@ -3630,29 +3426,27 @@ doc_logfile(cfg_printer_t *pctx, const cfg_type_t *type) { cfg_print_cstr(pctx, "[ suffix ( increment | timestamp ) ]"); } -static cfg_type_t cfg_type_logfile = { - "log_file", parse_logfile, print_logfile, doc_logfile, - &cfg_rep_tuple, logfile_fields -}; +static cfg_type_t cfg_type_logfile = { "log_file", parse_logfile, + print_logfile, doc_logfile, + &cfg_rep_tuple, logfile_fields }; /*% An IPv4 address with optional dscp and port, "*" accepted as wildcard. */ static cfg_type_t cfg_type_sockaddr4wild = { - "sockaddr4wild", cfg_parse_sockaddr, cfg_print_sockaddr, - cfg_doc_sockaddr, &cfg_rep_sockaddr, &sockaddr4wild_flags + "sockaddr4wild", cfg_parse_sockaddr, cfg_print_sockaddr, + cfg_doc_sockaddr, &cfg_rep_sockaddr, &sockaddr4wild_flags }; /*% An IPv6 address with optional port, "*" accepted as wildcard. */ static cfg_type_t cfg_type_sockaddr6wild = { "v6addrportwild", cfg_parse_sockaddr, cfg_print_sockaddr, - cfg_doc_sockaddr, &cfg_rep_sockaddr, &sockaddr6wild_flags + cfg_doc_sockaddr, &cfg_rep_sockaddr, &sockaddr6wild_flags }; /*% * rndc */ -static cfg_clausedef_t -rndcconf_options_clauses[] = { +static cfg_clausedef_t rndcconf_options_clauses[] = { { "default-key", &cfg_type_astring, 0 }, { "default-port", &cfg_type_uint32, 0 }, { "default-server", &cfg_type_astring, 0 }, @@ -3661,19 +3455,16 @@ rndcconf_options_clauses[] = { { NULL, NULL, 0 } }; -static cfg_clausedef_t * -rndcconf_options_clausesets[] = { - rndcconf_options_clauses, - NULL +static cfg_clausedef_t *rndcconf_options_clausesets[] = { + rndcconf_options_clauses, NULL }; static cfg_type_t cfg_type_rndcconf_options = { - "rndcconf_options", cfg_parse_map, cfg_print_map, cfg_doc_map, - &cfg_rep_map, rndcconf_options_clausesets + "rndcconf_options", cfg_parse_map, cfg_print_map, + cfg_doc_map, &cfg_rep_map, rndcconf_options_clausesets }; -static cfg_clausedef_t -rndcconf_server_clauses[] = { +static cfg_clausedef_t rndcconf_server_clauses[] = { { "key", &cfg_type_astring, 0 }, { "port", &cfg_type_uint32, 0 }, { "source-address", &cfg_type_netaddr4wild, 0 }, @@ -3682,51 +3473,37 @@ rndcconf_server_clauses[] = { { NULL, NULL, 0 } }; -static cfg_clausedef_t * -rndcconf_server_clausesets[] = { - rndcconf_server_clauses, - NULL +static cfg_clausedef_t *rndcconf_server_clausesets[] = { + rndcconf_server_clauses, NULL }; static cfg_type_t cfg_type_rndcconf_server = { - "rndcconf_server", cfg_parse_named_map, cfg_print_map, cfg_doc_map, - &cfg_rep_map, rndcconf_server_clausesets + "rndcconf_server", cfg_parse_named_map, cfg_print_map, + cfg_doc_map, &cfg_rep_map, rndcconf_server_clausesets }; -static cfg_clausedef_t -rndcconf_clauses[] = { +static cfg_clausedef_t rndcconf_clauses[] = { { "key", &cfg_type_key, CFG_CLAUSEFLAG_MULTI }, { "server", &cfg_type_rndcconf_server, CFG_CLAUSEFLAG_MULTI }, { "options", &cfg_type_rndcconf_options, 0 }, { NULL, NULL, 0 } }; -static cfg_clausedef_t * -rndcconf_clausesets[] = { - rndcconf_clauses, - NULL -}; +static cfg_clausedef_t *rndcconf_clausesets[] = { rndcconf_clauses, NULL }; LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_rndcconf = { - "rndcconf", cfg_parse_mapbody, cfg_print_mapbody, cfg_doc_mapbody, - &cfg_rep_map, rndcconf_clausesets + "rndcconf", cfg_parse_mapbody, cfg_print_mapbody, + cfg_doc_mapbody, &cfg_rep_map, rndcconf_clausesets }; -static cfg_clausedef_t -rndckey_clauses[] = { - { "key", &cfg_type_key, 0 }, - { NULL, NULL, 0 } -}; +static cfg_clausedef_t rndckey_clauses[] = { { "key", &cfg_type_key, 0 }, + { NULL, NULL, 0 } }; -static cfg_clausedef_t * -rndckey_clausesets[] = { - rndckey_clauses, - NULL -}; +static cfg_clausedef_t *rndckey_clausesets[] = { rndckey_clauses, NULL }; LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_rndckey = { - "rndckey", cfg_parse_mapbody, cfg_print_mapbody, cfg_doc_mapbody, - &cfg_rep_map, rndckey_clausesets + "rndckey", cfg_parse_mapbody, cfg_print_mapbody, + cfg_doc_mapbody, &cfg_rep_map, rndckey_clausesets }; /* @@ -3734,8 +3511,8 @@ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_rndckey = { * separately for clarity (and so we can extend it someday, if needed). */ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_sessionkey = { - "sessionkey", cfg_parse_mapbody, cfg_print_mapbody, cfg_doc_mapbody, - &cfg_rep_map, rndckey_clausesets + "sessionkey", cfg_parse_mapbody, cfg_print_mapbody, + cfg_doc_mapbody, &cfg_rep_map, rndckey_clausesets }; static cfg_tuplefielddef_t nameport_fields[] = { @@ -3745,13 +3522,13 @@ static cfg_tuplefielddef_t nameport_fields[] = { { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_nameport = { - "nameport", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, nameport_fields -}; +static cfg_type_t cfg_type_nameport = { "nameport", cfg_parse_tuple, + cfg_print_tuple, cfg_doc_tuple, + &cfg_rep_tuple, nameport_fields }; static void -doc_sockaddrnameport(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_sockaddrnameport(cfg_printer_t *pctx, const cfg_type_t *type) +{ UNUSED(type); cfg_print_cstr(pctx, "( "); cfg_print_cstr(pctx, ""); @@ -3779,7 +3556,7 @@ parse_sockaddrnameport(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { isc_result_t result; - cfg_obj_t *obj = NULL; + cfg_obj_t * obj = NULL; UNUSED(type); CHECK(cfg_peektoken(pctx, CFG_LEXOPT_QSTRING)); @@ -3790,9 +3567,8 @@ parse_sockaddrnameport(cfg_parser_t *pctx, const cfg_type_t *type, ret)); else { const cfg_tuplefielddef_t *fields = - cfg_type_nameport.of; - CHECK(cfg_create_tuple(pctx, &cfg_type_nameport, - &obj)); + cfg_type_nameport.of; + CHECK(cfg_create_tuple(pctx, &cfg_type_nameport, &obj)); CHECK(cfg_parse_obj(pctx, fields[0].type, &obj->value.tuple[0])); CHECK(cfg_parse_obj(pctx, fields[1].type, @@ -3804,23 +3580,28 @@ parse_sockaddrnameport(cfg_parser_t *pctx, const cfg_type_t *type, } } else { cfg_parser_error(pctx, CFG_LOG_NEAR, - "expected IP address or hostname"); + "expected IP address or hostname"); return (ISC_R_UNEXPECTEDTOKEN); } - cleanup: +cleanup: CLEANUP_OBJ(obj); return (result); } -static cfg_type_t cfg_type_sockaddrnameport = { - "sockaddrnameport_element", parse_sockaddrnameport, NULL, - doc_sockaddrnameport, NULL, NULL -}; +static cfg_type_t cfg_type_sockaddrnameport = { "sockaddrnameport_element", + parse_sockaddrnameport, + NULL, + doc_sockaddrnameport, + NULL, + NULL }; static cfg_type_t cfg_type_bracketed_sockaddrnameportlist = { - "bracketed_sockaddrnameportlist", cfg_parse_bracketed_list, - cfg_print_bracketed_list, cfg_doc_bracketed_list, - &cfg_rep_list, &cfg_type_sockaddrnameport + "bracketed_sockaddrnameportlist", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, + &cfg_type_sockaddrnameport }; /*% @@ -3835,8 +3616,8 @@ static cfg_tuplefielddef_t nameportiplist_fields[] = { }; static cfg_type_t cfg_type_nameportiplist = { - "nameportiplist", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, - &cfg_rep_tuple, nameportiplist_fields + "nameportiplist", cfg_parse_tuple, cfg_print_tuple, + cfg_doc_tuple, &cfg_rep_tuple, nameportiplist_fields }; /*% @@ -3844,7 +3625,8 @@ static cfg_type_t cfg_type_nameportiplist = { */ static void -doc_masterselement(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_masterselement(cfg_printer_t *pctx, const cfg_type_t *type) +{ UNUSED(type); cfg_print_cstr(pctx, "( "); cfg_print_cstr(pctx, ""); @@ -3864,7 +3646,7 @@ parse_masterselement(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { isc_result_t result; - cfg_obj_t *obj = NULL; + cfg_obj_t * obj = NULL; UNUSED(type); CHECK(cfg_peektoken(pctx, CFG_LEXOPT_QSTRING)); @@ -3872,47 +3654,50 @@ parse_masterselement(cfg_parser_t *pctx, const cfg_type_t *type, pctx->token.type == isc_tokentype_qstring) { if (cfg_lookingat_netaddr(pctx, CFG_ADDR_V4OK | CFG_ADDR_V6OK)) CHECK(cfg_parse_sockaddr(pctx, &cfg_type_sockaddr, - ret)); + ret)); else CHECK(cfg_parse_astring(pctx, &cfg_type_astring, ret)); } else { cfg_parser_error(pctx, CFG_LOG_NEAR, - "expected IP address or masters name"); + "expected IP address or masters name"); return (ISC_R_UNEXPECTEDTOKEN); } - cleanup: +cleanup: CLEANUP_OBJ(obj); return (result); } -static cfg_type_t cfg_type_masterselement = { - "masters_element", parse_masterselement, NULL, - doc_masterselement, NULL, NULL -}; +static cfg_type_t cfg_type_masterselement = { "masters_element", + parse_masterselement, + NULL, + doc_masterselement, + NULL, + NULL }; -static int cmp_clause(const void *ap, const void *bp) { +static int +cmp_clause(const void *ap, const void *bp) +{ const cfg_clausedef_t *a = (const cfg_clausedef_t *)ap; const cfg_clausedef_t *b = (const cfg_clausedef_t *)bp; return (strcmp(a->name, b->name)); } bool -cfg_clause_validforzone(const char *name, unsigned int ztype) { +cfg_clause_validforzone(const char *name, unsigned int ztype) +{ const cfg_clausedef_t *clause; - bool valid = false; + bool valid = false; for (clause = zone_clauses; clause->name != NULL; clause++) { if ((clause->flags & ztype) == 0 || - strcmp(clause->name, name) != 0) - { + strcmp(clause->name, name) != 0) { continue; } valid = true; } for (clause = zone_only_clauses; clause->name != NULL; clause++) { if ((clause->flags & ztype) == 0 || - strcmp(clause->name, name) != 0) - { + strcmp(clause->name, name) != 0) { continue; } valid = true; @@ -3926,13 +3711,14 @@ cfg_print_zonegrammar(const unsigned int zonetype, unsigned int flags, void (*f)(void *closure, const char *text, int textlen), void *closure) { -#define NCLAUSES \ +#define NCLAUSES \ (((sizeof(zone_clauses) + sizeof(zone_only_clauses)) / \ - sizeof(clause[0])) - 1) + sizeof(clause[0])) - \ + 1) - cfg_printer_t pctx; + cfg_printer_t pctx; cfg_clausedef_t *clause = NULL; - cfg_clausedef_t clauses[NCLAUSES]; + cfg_clausedef_t clauses[NCLAUSES]; pctx.f = f; pctx.closure = closure; @@ -3940,7 +3726,7 @@ cfg_print_zonegrammar(const unsigned int zonetype, unsigned int flags, pctx.flags = flags; memmove(clauses, zone_clauses, sizeof(zone_clauses)); - memmove(clauses + sizeof(zone_clauses)/sizeof(zone_clauses[0]) - 1, + memmove(clauses + sizeof(zone_clauses) / sizeof(zone_clauses[0]) - 1, zone_only_clauses, sizeof(zone_only_clauses)); qsort(clauses, NCLAUSES - 1, sizeof(clause[0]), cmp_clause); @@ -3997,13 +3783,11 @@ cfg_print_zonegrammar(const unsigned int zonetype, unsigned int flags, (((clause->flags & CFG_CLAUSEFLAG_OBSOLETE) != 0) || ((clause->flags & CFG_CLAUSEFLAG_ANCIENT) != 0) || ((clause->flags & CFG_CLAUSEFLAG_NYI) != 0) || - ((clause->flags & CFG_CLAUSEFLAG_TESTONLY) != 0))) - { + ((clause->flags & CFG_CLAUSEFLAG_TESTONLY) != 0))) { continue; } if ((clause->flags & zonetype) == 0 || - strcasecmp(clause->name, "type") == 0) - { + strcasecmp(clause->name, "type") == 0) { continue; } cfg_print_indent(&pctx); diff --git a/lib/isccfg/parser.c b/lib/isccfg/parser.c index db3c327768..3e96dfbb39 100644 --- a/lib/isccfg/parser.c +++ b/lib/isccfg/parser.c @@ -26,35 +26,39 @@ #include #include #include -#include #include +#include #include #include +#include + #include #include #include -#include - /* Shorthand */ #define CAT CFG_LOGCATEGORY_CONFIG #define MOD CFG_LOGMODULE_PARSER -#define MAP_SYM 1 /* Unique type for isc_symtab */ +#define MAP_SYM 1 /* Unique type for isc_symtab */ #define TOKEN_STRING(pctx) (pctx->token.value.as_textregion.base) /* Check a return value. */ -#define CHECK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) goto cleanup; \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto cleanup; \ } while (0) /* Clean up a configuration object if non-NULL. */ -#define CLEANUP_OBJ(obj) \ - do { if ((obj) != NULL) cfg_obj_destroy(pctx, &(obj)); } while (0) - +#define CLEANUP_OBJ(obj) \ + do { \ + if ((obj) != NULL) \ + cfg_obj_destroy(pctx, &(obj)); \ + } while (0) /* * Forward declarations of static functions. @@ -89,9 +93,8 @@ static void free_map(cfg_parser_t *pctx, cfg_obj_t *obj); static isc_result_t -parse_symtab_elt(cfg_parser_t *pctx, const char *name, - cfg_type_t *elttype, isc_symtab_t *symtab, - bool callback); +parse_symtab_elt(cfg_parser_t *pctx, const char *name, cfg_type_t *elttype, + isc_symtab_t *symtab, bool callback); static void free_noop(cfg_parser_t *pctx, cfg_obj_t *obj); @@ -100,8 +103,8 @@ static isc_result_t cfg_getstringtoken(cfg_parser_t *pctx); static void -parser_complain(cfg_parser_t *pctx, bool is_warning, - unsigned int flags, const char *format, va_list args); +parser_complain(cfg_parser_t *pctx, bool is_warning, unsigned int flags, + const char *format, va_list args); #if defined(HAVE_GEOIP2) static isc_result_t @@ -128,13 +131,13 @@ LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_map = { "map", free_map }; LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_list = { "list", free_list }; LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_tuple = { "tuple", free_tuple }; LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_sockaddr = { "sockaddr", free_noop }; -LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_netprefix = - { "netprefix", free_noop }; +LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_netprefix = { "netprefix", + free_noop }; LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_void = { "void", free_noop }; -LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_fixedpoint = - { "fixedpoint", free_noop }; -LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_percentage = - { "percentage", free_noop }; +LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_fixedpoint = { "fixedpoint", + free_noop }; +LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_percentage = { "percentage", + free_noop }; LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_duration = { "duration", free_noop }; /* @@ -144,13 +147,15 @@ LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_duration = { "duration", free_noop }; /*% * An implicit list. These are formed by clauses that occur multiple times. */ -static cfg_type_t cfg_type_implicitlist = { - "implicitlist", NULL, print_list, NULL, &cfg_rep_list, NULL }; +static cfg_type_t cfg_type_implicitlist = { "implicitlist", NULL, + print_list, NULL, + &cfg_rep_list, NULL }; /* Functions. */ void -cfg_print_obj(cfg_printer_t *pctx, const cfg_obj_t *obj) { +cfg_print_obj(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ REQUIRE(pctx != NULL); REQUIRE(obj != NULL); @@ -158,7 +163,8 @@ cfg_print_obj(cfg_printer_t *pctx, const cfg_obj_t *obj) { } void -cfg_print_chars(cfg_printer_t *pctx, const char *text, int len) { +cfg_print_chars(cfg_printer_t *pctx, const char *text, int len) +{ REQUIRE(pctx != NULL); REQUIRE(text != NULL); @@ -166,7 +172,8 @@ cfg_print_chars(cfg_printer_t *pctx, const char *text, int len) { } static void -print_open(cfg_printer_t *pctx) { +print_open(cfg_printer_t *pctx) +{ if ((pctx->flags & CFG_PRINTER_ONELINE) != 0) cfg_print_cstr(pctx, "{ "); else { @@ -176,7 +183,8 @@ print_open(cfg_printer_t *pctx) { } void -cfg_print_indent(cfg_printer_t *pctx) { +cfg_print_indent(cfg_printer_t *pctx) +{ int indent = pctx->indent; if ((pctx->flags & CFG_PRINTER_ONELINE) != 0) { cfg_print_cstr(pctx, " "); @@ -189,7 +197,8 @@ cfg_print_indent(cfg_printer_t *pctx) { } static void -print_close(cfg_printer_t *pctx) { +print_close(cfg_printer_t *pctx) +{ if ((pctx->flags & CFG_PRINTER_ONELINE) == 0) { pctx->indent--; cfg_print_indent(pctx); @@ -198,7 +207,8 @@ print_close(cfg_printer_t *pctx) { } isc_result_t -cfg_parse_obj(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +cfg_parse_obj(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ isc_result_t result; REQUIRE(pctx != NULL); @@ -225,8 +235,8 @@ cfg_print(const cfg_obj_t *obj, void cfg_printx(const cfg_obj_t *obj, unsigned int flags, - void (*f)(void *closure, const char *text, int textlen), - void *closure) + void (*f)(void *closure, const char *text, int textlen), + void *closure) { cfg_printer_t pctx; @@ -243,13 +253,14 @@ cfg_printx(const cfg_obj_t *obj, unsigned int flags, /* Tuples. */ isc_result_t -cfg_create_tuple(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - isc_result_t result; +cfg_create_tuple(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ + isc_result_t result; const cfg_tuplefielddef_t *fields; const cfg_tuplefielddef_t *f; - cfg_obj_t *obj = NULL; - unsigned int nfields = 0; - int i; + cfg_obj_t * obj = NULL; + unsigned int nfields = 0; + int i; REQUIRE(pctx != NULL); REQUIRE(type != NULL); @@ -261,14 +272,14 @@ cfg_create_tuple(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { nfields++; CHECK(cfg_create_obj(pctx, type, &obj)); - obj->value.tuple = isc_mem_get(pctx->mctx, - nfields * sizeof(cfg_obj_t *)); + obj->value.tuple = + isc_mem_get(pctx->mctx, nfields * sizeof(cfg_obj_t *)); for (f = fields, i = 0; f->name != NULL; f++, i++) obj->value.tuple[i] = NULL; *ret = obj; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (obj != NULL) isc_mem_put(pctx->mctx, obj, sizeof(*obj)); return (result); @@ -277,11 +288,11 @@ cfg_create_tuple(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { isc_result_t cfg_parse_tuple(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - isc_result_t result; + isc_result_t result; const cfg_tuplefielddef_t *fields; const cfg_tuplefielddef_t *f; - cfg_obj_t *obj = NULL; - unsigned int i; + cfg_obj_t * obj = NULL; + unsigned int i; REQUIRE(pctx != NULL); REQUIRE(type != NULL); @@ -296,17 +307,18 @@ cfg_parse_tuple(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) *ret = obj; return (ISC_R_SUCCESS); - cleanup: +cleanup: CLEANUP_OBJ(obj); return (result); } void -cfg_print_tuple(cfg_printer_t *pctx, const cfg_obj_t *obj) { - unsigned int i; +cfg_print_tuple(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ + unsigned int i; const cfg_tuplefielddef_t *fields; const cfg_tuplefielddef_t *f; - bool need_space = false; + bool need_space = false; REQUIRE(pctx != NULL); REQUIRE(obj != NULL); @@ -318,16 +330,17 @@ cfg_print_tuple(cfg_printer_t *pctx, const cfg_obj_t *obj) { if (need_space && fieldobj->type->rep != &cfg_rep_void) cfg_print_cstr(pctx, " "); cfg_print_obj(pctx, fieldobj); - need_space = (need_space || - fieldobj->type->print != cfg_print_void); + need_space = + (need_space || fieldobj->type->print != cfg_print_void); } } void -cfg_doc_tuple(cfg_printer_t *pctx, const cfg_type_t *type) { +cfg_doc_tuple(cfg_printer_t *pctx, const cfg_type_t *type) +{ const cfg_tuplefielddef_t *fields; const cfg_tuplefielddef_t *f; - bool need_space = false; + bool need_space = false; REQUIRE(pctx != NULL); REQUIRE(type != NULL); @@ -343,11 +356,12 @@ cfg_doc_tuple(cfg_printer_t *pctx, const cfg_type_t *type) { } static void -free_tuple(cfg_parser_t *pctx, cfg_obj_t *obj) { - unsigned int i; +free_tuple(cfg_parser_t *pctx, cfg_obj_t *obj) +{ + unsigned int i; const cfg_tuplefielddef_t *fields = obj->type->of; const cfg_tuplefielddef_t *f; - unsigned int nfields = 0; + unsigned int nfields = 0; if (obj->value.tuple == NULL) return; @@ -361,14 +375,16 @@ free_tuple(cfg_parser_t *pctx, cfg_obj_t *obj) { } bool -cfg_obj_istuple(const cfg_obj_t *obj) { +cfg_obj_istuple(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL); return (obj->type->rep == &cfg_rep_tuple); } const cfg_obj_t * -cfg_tuple_get(const cfg_obj_t *tupleobj, const char* name) { - unsigned int i; +cfg_tuple_get(const cfg_obj_t *tupleobj, const char *name) +{ + unsigned int i; const cfg_tuplefielddef_t *fields; const cfg_tuplefielddef_t *f; @@ -385,7 +401,8 @@ cfg_tuple_get(const cfg_obj_t *tupleobj, const char* name) { } isc_result_t -cfg_parse_special(cfg_parser_t *pctx, int special) { +cfg_parse_special(cfg_parser_t *pctx, int special) +{ isc_result_t result; REQUIRE(pctx != NULL); @@ -397,7 +414,7 @@ cfg_parse_special(cfg_parser_t *pctx, int special) { cfg_parser_error(pctx, CFG_LOG_NEAR, "'%c' expected", special); return (ISC_R_UNEXPECTEDTOKEN); - cleanup: +cleanup: return (result); } @@ -409,7 +426,8 @@ cfg_parse_special(cfg_parser_t *pctx, int special) { * consumed or an infinite loop may result. */ static isc_result_t -parse_semicolon(cfg_parser_t *pctx) { +parse_semicolon(cfg_parser_t *pctx) +{ isc_result_t result; CHECK(cfg_gettoken(pctx, 0)); @@ -419,7 +437,7 @@ parse_semicolon(cfg_parser_t *pctx) { cfg_parser_error(pctx, CFG_LOG_BEFORE, "missing ';'"); cfg_ungettoken(pctx); - cleanup: +cleanup: return (result); } @@ -427,7 +445,8 @@ parse_semicolon(cfg_parser_t *pctx) { * Parse EOF, logging and returning an error if not there. */ static isc_result_t -parse_eof(cfg_parser_t *pctx) { +parse_eof(cfg_parser_t *pctx) +{ isc_result_t result; CHECK(cfg_gettoken(pctx, 0)); @@ -437,21 +456,21 @@ parse_eof(cfg_parser_t *pctx) { cfg_parser_error(pctx, CFG_LOG_NEAR, "syntax error"); return (ISC_R_UNEXPECTEDTOKEN); - cleanup: +cleanup: return (result); } /* A list of files, used internally for pctx->files. */ -static cfg_type_t cfg_type_filelist = { - "filelist", NULL, print_list, NULL, &cfg_rep_list, - &cfg_type_qstring -}; +static cfg_type_t cfg_type_filelist = { "filelist", NULL, + print_list, NULL, + &cfg_rep_list, &cfg_type_qstring }; isc_result_t -cfg_parser_create(isc_mem_t *mctx, isc_log_t *lctx, cfg_parser_t **ret) { - isc_result_t result; - cfg_parser_t *pctx; +cfg_parser_create(isc_mem_t *mctx, isc_log_t *lctx, cfg_parser_t **ret) +{ + isc_result_t result; + cfg_parser_t * pctx; isc_lexspecials_t specials; REQUIRE(mctx != NULL); @@ -490,9 +509,9 @@ cfg_parser_create(isc_mem_t *mctx, isc_log_t *lctx, cfg_parser_t **ret) { CHECK(isc_lex_create(pctx->mctx, 1024, &pctx->lexer)); isc_lex_setspecials(pctx->lexer, specials); - isc_lex_setcomments(pctx->lexer, (ISC_LEXCOMMENT_C | - ISC_LEXCOMMENT_CPLUSPLUS | - ISC_LEXCOMMENT_SHELL)); + isc_lex_setcomments(pctx->lexer, + (ISC_LEXCOMMENT_C | ISC_LEXCOMMENT_CPLUSPLUS | + ISC_LEXCOMMENT_SHELL)); CHECK(cfg_create_list(pctx, &cfg_type_filelist, &pctx->open_files)); CHECK(cfg_create_list(pctx, &cfg_type_filelist, &pctx->closed_files)); @@ -500,7 +519,7 @@ cfg_parser_create(isc_mem_t *mctx, isc_log_t *lctx, cfg_parser_t **ret) { *ret = pctx; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (pctx->lexer != NULL) isc_lex_destroy(&pctx->lexer); CLEANUP_OBJ(pctx->open_files); @@ -522,15 +541,16 @@ cfg_parser_setflags(cfg_parser_t *pctx, unsigned int flags, bool turn_on) } static isc_result_t -parser_openfile(cfg_parser_t *pctx, const char *filename) { - isc_result_t result; +parser_openfile(cfg_parser_t *pctx, const char *filename) +{ + isc_result_t result; cfg_listelt_t *elt = NULL; - cfg_obj_t *stringobj = NULL; + cfg_obj_t * stringobj = NULL; result = isc_lex_openfile(pctx->lexer, filename); if (result != ISC_R_SUCCESS) { - cfg_parser_error(pctx, 0, "open: %s: %s", - filename, isc_result_totext(result)); + cfg_parser_error(pctx, 0, "open: %s: %s", filename, + isc_result_totext(result)); goto cleanup; } @@ -540,14 +560,13 @@ parser_openfile(cfg_parser_t *pctx, const char *filename) { ISC_LIST_APPEND(pctx->open_files->value.list, elt, link); return (ISC_R_SUCCESS); - cleanup: +cleanup: CLEANUP_OBJ(stringobj); return (result); } void -cfg_parser_setcallback(cfg_parser_t *pctx, - cfg_parsecallback_t callback, +cfg_parser_setcallback(cfg_parser_t *pctx, cfg_parsecallback_t callback, void *arg) { REQUIRE(pctx != NULL); @@ -557,7 +576,8 @@ cfg_parser_setcallback(cfg_parser_t *pctx, } void -cfg_parser_reset(cfg_parser_t *pctx) { +cfg_parser_reset(cfg_parser_t *pctx) +{ REQUIRE(pctx != NULL); if (pctx->lexer != NULL) @@ -575,9 +595,10 @@ cfg_parser_reset(cfg_parser_t *pctx) { * been set up with a source. */ static isc_result_t -parse2(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +parse2(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ isc_result_t result; - cfg_obj_t *obj = NULL; + cfg_obj_t * obj = NULL; result = cfg_parse_obj(pctx, type, &obj); @@ -600,16 +621,16 @@ parse2(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { *ret = obj; return (ISC_R_SUCCESS); - cleanup: +cleanup: CLEANUP_OBJ(obj); return (result); } isc_result_t -cfg_parse_file(cfg_parser_t *pctx, const char *filename, - const cfg_type_t *type, cfg_obj_t **ret) +cfg_parse_file(cfg_parser_t *pctx, const char *filename, const cfg_type_t *type, + cfg_obj_t **ret) { - isc_result_t result; + isc_result_t result; cfg_listelt_t *elt; REQUIRE(pctx != NULL); @@ -627,15 +648,13 @@ cfg_parse_file(cfg_parser_t *pctx, const char *filename, ISC_LIST_UNLINK(pctx->open_files->value.list, elt, link); ISC_LIST_APPEND(pctx->closed_files->value.list, elt, link); - cleanup: +cleanup: return (result); } - isc_result_t -cfg_parse_buffer(cfg_parser_t *pctx, isc_buffer_t *buffer, - const char *file, unsigned int line, - const cfg_type_t *type, unsigned int flags, +cfg_parse_buffer(cfg_parser_t *pctx, isc_buffer_t *buffer, const char *file, + unsigned int line, const cfg_type_t *type, unsigned int flags, cfg_obj_t **ret) { isc_result_t result; @@ -657,12 +676,13 @@ cfg_parse_buffer(cfg_parser_t *pctx, isc_buffer_t *buffer, CHECK(parse2(pctx, type, ret)); pctx->buf_name = NULL; - cleanup: +cleanup: return (result); } void -cfg_parser_attach(cfg_parser_t *src, cfg_parser_t **dest) { +cfg_parser_attach(cfg_parser_t *src, cfg_parser_t **dest) +{ REQUIRE(src != NULL); REQUIRE(dest != NULL && *dest == NULL); @@ -671,7 +691,8 @@ cfg_parser_attach(cfg_parser_t *src, cfg_parser_t **dest) { } void -cfg_parser_destroy(cfg_parser_t **pctxp) { +cfg_parser_destroy(cfg_parser_t **pctxp) +{ cfg_parser_t *pctx; REQUIRE(pctxp != NULL && *pctxp != NULL); @@ -695,7 +716,8 @@ cfg_parser_destroy(cfg_parser_t **pctxp) { * void */ isc_result_t -cfg_parse_void(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +cfg_parse_void(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ REQUIRE(pctx != NULL); REQUIRE(ret != NULL && *ret == NULL); @@ -705,8 +727,8 @@ cfg_parse_void(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { } void -cfg_print_void(cfg_printer_t *pctx, const cfg_obj_t *obj) { - +cfg_print_void(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ REQUIRE(pctx != NULL); REQUIRE(obj != NULL); @@ -715,8 +737,8 @@ cfg_print_void(cfg_printer_t *pctx, const cfg_obj_t *obj) { } void -cfg_doc_void(cfg_printer_t *pctx, const cfg_type_t *type) { - +cfg_doc_void(cfg_printer_t *pctx, const cfg_type_t *type) +{ REQUIRE(pctx != NULL); REQUIRE(type != NULL); @@ -725,14 +747,16 @@ cfg_doc_void(cfg_printer_t *pctx, const cfg_type_t *type) { } bool -cfg_obj_isvoid(const cfg_obj_t *obj) { +cfg_obj_isvoid(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL); return (obj->type->rep == &cfg_rep_void); } LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_void = { - "void", cfg_parse_void, cfg_print_void, cfg_doc_void, &cfg_rep_void, - NULL }; + "void", cfg_parse_void, cfg_print_void, + cfg_doc_void, &cfg_rep_void, NULL +}; /* * percentage @@ -741,10 +765,10 @@ isc_result_t cfg_parse_percentage(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - char *endp; + char * endp; isc_result_t result; - cfg_obj_t *obj = NULL; - uint64_t percent; + cfg_obj_t * obj = NULL; + uint64_t percent; REQUIRE(pctx != NULL); REQUIRE(ret != NULL && *ret == NULL); @@ -753,15 +777,13 @@ cfg_parse_percentage(cfg_parser_t *pctx, const cfg_type_t *type, CHECK(cfg_gettoken(pctx, 0)); if (pctx->token.type != isc_tokentype_string) { - cfg_parser_error(pctx, CFG_LOG_NEAR, - "expected percentage"); + cfg_parser_error(pctx, CFG_LOG_NEAR, "expected percentage"); return (ISC_R_UNEXPECTEDTOKEN); } percent = strtoull(TOKEN_STRING(pctx), &endp, 10); - if (*endp != '%' || *(endp+1) != 0) { - cfg_parser_error(pctx, CFG_LOG_NEAR, - "expected percentage"); + if (*endp != '%' || *(endp + 1) != 0) { + cfg_parser_error(pctx, CFG_LOG_NEAR, "expected percentage"); return (ISC_R_UNEXPECTEDTOKEN); } @@ -769,14 +791,15 @@ cfg_parse_percentage(cfg_parser_t *pctx, const cfg_type_t *type, obj->value.uint32 = (uint32_t)percent; *ret = obj; - cleanup: +cleanup: return (result); } void -cfg_print_percentage(cfg_printer_t *pctx, const cfg_obj_t *obj) { +cfg_print_percentage(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ char buf[64]; - int n; + int n; REQUIRE(pctx != NULL); REQUIRE(obj != NULL); @@ -787,18 +810,20 @@ cfg_print_percentage(cfg_printer_t *pctx, const cfg_obj_t *obj) { } uint32_t -cfg_obj_aspercentage(const cfg_obj_t *obj) { +cfg_obj_aspercentage(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL && obj->type->rep == &cfg_rep_percentage); return (obj->value.uint32); } LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_percentage = { - "percentage", cfg_parse_percentage, cfg_print_percentage, - cfg_doc_terminal, &cfg_rep_percentage, NULL + "percentage", cfg_parse_percentage, cfg_print_percentage, + cfg_doc_terminal, &cfg_rep_percentage, NULL }; bool -cfg_obj_ispercentage(const cfg_obj_t *obj) { +cfg_obj_ispercentage(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL); return (obj->type->rep == &cfg_rep_percentage); } @@ -811,9 +836,9 @@ cfg_parse_fixedpoint(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { isc_result_t result; - cfg_obj_t *obj = NULL; - size_t n1, n2, n3, l; - const char *p; + cfg_obj_t * obj = NULL; + size_t n1, n2, n3, l; + const char * p; REQUIRE(pctx != NULL); REQUIRE(ret != NULL && *ret == NULL); @@ -827,15 +852,14 @@ cfg_parse_fixedpoint(cfg_parser_t *pctx, const cfg_type_t *type, return (ISC_R_UNEXPECTEDTOKEN); } - p = TOKEN_STRING(pctx); l = strlen(p); n1 = strspn(p, "0123456789"); n2 = strspn(p + n1, "."); n3 = strspn(p + n1 + n2, "0123456789"); - if ((n1 + n2 + n3 != l) || (n1 + n3 == 0) || - n1 > 5 || n2 > 1 || n3 > 2) { + if ((n1 + n2 + n3 != l) || (n1 + n3 == 0) || n1 > 5 || n2 > 1 || + n3 > 2) { cfg_parser_error(pctx, CFG_LOG_NEAR, "expected fixed point number"); return (ISC_R_UNEXPECTEDTOKEN); @@ -854,37 +878,40 @@ cfg_parse_fixedpoint(cfg_parser_t *pctx, const cfg_type_t *type, } *ret = obj; - cleanup: +cleanup: return (result); } void -cfg_print_fixedpoint(cfg_printer_t *pctx, const cfg_obj_t *obj) { +cfg_print_fixedpoint(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ char buf[64]; - int n; + int n; REQUIRE(pctx != NULL); REQUIRE(obj != NULL); - n = snprintf(buf, sizeof(buf), "%u.%02u", - obj->value.uint32/100, obj->value.uint32%100); + n = snprintf(buf, sizeof(buf), "%u.%02u", obj->value.uint32 / 100, + obj->value.uint32 % 100); INSIST(n > 0 && (size_t)n < sizeof(buf)); cfg_print_chars(pctx, buf, strlen(buf)); } uint32_t -cfg_obj_asfixedpoint(const cfg_obj_t *obj) { +cfg_obj_asfixedpoint(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL && obj->type->rep == &cfg_rep_fixedpoint); return (obj->value.uint32); } LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_fixedpoint = { - "fixedpoint", cfg_parse_fixedpoint, cfg_print_fixedpoint, - cfg_doc_terminal, &cfg_rep_fixedpoint, NULL + "fixedpoint", cfg_parse_fixedpoint, cfg_print_fixedpoint, + cfg_doc_terminal, &cfg_rep_fixedpoint, NULL }; bool -cfg_obj_isfixedpoint(const cfg_obj_t *obj) { +cfg_obj_isfixedpoint(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL); return (obj->type->rep == &cfg_rep_fixedpoint); } @@ -893,9 +920,10 @@ cfg_obj_isfixedpoint(const cfg_obj_t *obj) { * uint32 */ isc_result_t -cfg_parse_uint32(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +cfg_parse_uint32(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ isc_result_t result; - cfg_obj_t *obj = NULL; + cfg_obj_t * obj = NULL; REQUIRE(pctx != NULL); REQUIRE(ret != NULL && *ret == NULL); @@ -912,17 +940,19 @@ cfg_parse_uint32(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { obj->value.uint32 = pctx->token.value.as_ulong; *ret = obj; - cleanup: +cleanup: return (result); } void -cfg_print_cstr(cfg_printer_t *pctx, const char *s) { +cfg_print_cstr(cfg_printer_t *pctx, const char *s) +{ cfg_print_chars(pctx, s, strlen(s)); } void -cfg_print_rawuint(cfg_printer_t *pctx, unsigned int u) { +cfg_print_rawuint(cfg_printer_t *pctx, unsigned int u) +{ char buf[32]; snprintf(buf, sizeof(buf), "%u", u); @@ -930,64 +960,69 @@ cfg_print_rawuint(cfg_printer_t *pctx, unsigned int u) { } void -cfg_print_uint32(cfg_printer_t *pctx, const cfg_obj_t *obj) { +cfg_print_uint32(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ cfg_print_rawuint(pctx, obj->value.uint32); } bool -cfg_obj_isuint32(const cfg_obj_t *obj) { +cfg_obj_isuint32(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL); return (obj->type->rep == &cfg_rep_uint32); } uint32_t -cfg_obj_asuint32(const cfg_obj_t *obj) { +cfg_obj_asuint32(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL && obj->type->rep == &cfg_rep_uint32); return (obj->value.uint32); } LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_uint32 = { - "integer", cfg_parse_uint32, cfg_print_uint32, cfg_doc_terminal, - &cfg_rep_uint32, NULL + "integer", cfg_parse_uint32, cfg_print_uint32, + cfg_doc_terminal, &cfg_rep_uint32, NULL }; - /* * uint64 */ bool -cfg_obj_isuint64(const cfg_obj_t *obj) { +cfg_obj_isuint64(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL); return (obj->type->rep == &cfg_rep_uint64); } uint64_t -cfg_obj_asuint64(const cfg_obj_t *obj) { +cfg_obj_asuint64(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL && obj->type->rep == &cfg_rep_uint64); return (obj->value.uint64); } void -cfg_print_uint64(cfg_printer_t *pctx, const cfg_obj_t *obj) { +cfg_print_uint64(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ char buf[32]; - snprintf(buf, sizeof(buf), "%" PRIu64, - obj->value.uint64); + snprintf(buf, sizeof(buf), "%" PRIu64, obj->value.uint64); cfg_print_cstr(pctx, buf); } LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_uint64 = { "64_bit_integer", NULL, cfg_print_uint64, cfg_doc_terminal, - &cfg_rep_uint64, NULL + &cfg_rep_uint64, NULL }; /* * Get the number of digits in a number. */ static size_t -numlen(uint32_t num) { +numlen(uint32_t num) +{ uint32_t period = num; - size_t count = 0; + size_t count = 0; if (period == 0) { return (1); @@ -1003,12 +1038,13 @@ numlen(uint32_t num) { * duration */ void -cfg_print_duration(cfg_printer_t *pctx, const cfg_obj_t *obj) { - char buf[CFG_DURATION_MAXLEN]; - char *str; - const char *indicators = "YMWDHMS"; - int count, i; - int durationlen[7]; +cfg_print_duration(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ + char buf[CFG_DURATION_MAXLEN]; + char * str; + const char * indicators = "YMWDHMS"; + int count, i; + int durationlen[7]; cfg_duration_t duration; /* * D ? The duration has a date part. @@ -1070,27 +1106,27 @@ cfg_print_duration(cfg_printer_t *pctx, const cfg_obj_t *obj) { * used mutually exclusively. */ if (duration.parts[i] > 0) { - snprintf(str, durationlen[i]+2, "%u%c", - (uint32_t) duration.parts[i], indicators[i]); - str += durationlen[i]+1; + snprintf(str, durationlen[i] + 2, "%u%c", + (uint32_t)duration.parts[i], indicators[i]); + str += durationlen[i] + 1; } if (i == 3 && T) { snprintf(str, 2, "T"); str += 1; } - } /* Special case for seconds. */ if (duration.parts[6] > 0 || (!D && !duration.parts[4] && !duration.parts[3])) { - snprintf(str, durationlen[6]+2, "%u%c", - (uint32_t) duration.parts[6], indicators[6]); + snprintf(str, durationlen[6] + 2, "%u%c", + (uint32_t)duration.parts[6], indicators[6]); } cfg_print_chars(pctx, buf, strlen(buf)); } void -cfg_print_duration_or_unlimited(cfg_printer_t *pctx, const cfg_obj_t *obj) { +cfg_print_duration_or_unlimited(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ cfg_duration_t duration; REQUIRE(pctx != NULL); @@ -1106,26 +1142,28 @@ cfg_print_duration_or_unlimited(cfg_printer_t *pctx, const cfg_obj_t *obj) { } bool -cfg_obj_isduration(const cfg_obj_t *obj) { +cfg_obj_isduration(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL); return (obj->type->rep == &cfg_rep_duration); } uint32_t -cfg_obj_asduration(const cfg_obj_t *obj) { +cfg_obj_asduration(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL && obj->type->rep == &cfg_rep_duration); uint32_t duration = 0; - duration += obj->value.duration.parts[6]; // Seconds - duration += obj->value.duration.parts[5]*60; // Minutes - duration += obj->value.duration.parts[4]*3600; // Hours - duration += obj->value.duration.parts[3]*86400; // Days - duration += obj->value.duration.parts[2]*86400*7; // Weaks + duration += obj->value.duration.parts[6]; // Seconds + duration += obj->value.duration.parts[5] * 60; // Minutes + duration += obj->value.duration.parts[4] * 3600; // Hours + duration += obj->value.duration.parts[3] * 86400; // Days + duration += obj->value.duration.parts[2] * 86400 * 7; // Weaks /* * The below additions are not entirely correct * because days may very per month and per year. */ - duration += obj->value.duration.parts[1]*86400*31; // Months - duration += obj->value.duration.parts[0]*86400*365; // Years + duration += obj->value.duration.parts[1] * 86400 * 31; // Months + duration += obj->value.duration.parts[0] * 86400 * 365; // Years return (duration); } @@ -1158,11 +1196,12 @@ cfg_obj_asduration(const cfg_obj_t *obj) { * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ static isc_result_t -duration_fromtext(isc_textregion_t *source, cfg_duration_t *duration) { - char buf[CFG_DURATION_MAXLEN]; +duration_fromtext(isc_textregion_t *source, cfg_duration_t *duration) +{ + char buf[CFG_DURATION_MAXLEN]; char *P, *X, *T, *W, *str; - bool not_weeks = false; - int i; + bool not_weeks = false; + int i; /* * Copy the buffer as it may not be NULL terminated. @@ -1192,7 +1231,7 @@ duration_fromtext(isc_textregion_t *source, cfg_duration_t *duration) { /* Record years. */ X = strpbrk(str, "Yy"); if (X != NULL) { - duration->parts[0] = atoi(str+1); + duration->parts[0] = atoi(str + 1); str = X; not_weeks = true; } @@ -1204,8 +1243,8 @@ duration_fromtext(isc_textregion_t *source, cfg_duration_t *duration) { * M could be months or minutes. This is months if there is no time * part, or this M indicator is before the time indicator. */ - if (X != NULL && (T == NULL || (size_t) (X-P) < (size_t) (T-P))) { - duration->parts[1] = atoi(str+1); + if (X != NULL && (T == NULL || (size_t)(X - P) < (size_t)(T - P))) { + duration->parts[1] = atoi(str + 1); str = X; not_weeks = true; } @@ -1213,7 +1252,7 @@ duration_fromtext(isc_textregion_t *source, cfg_duration_t *duration) { /* Record days. */ X = strpbrk(str, "Dd"); if (X != NULL) { - duration->parts[3] = atoi(str+1); + duration->parts[3] = atoi(str + 1); str = X; not_weeks = true; } @@ -1227,7 +1266,7 @@ duration_fromtext(isc_textregion_t *source, cfg_duration_t *duration) { /* Record hours. */ X = strpbrk(str, "Hh"); if (X != NULL && T != NULL) { - duration->parts[4] = atoi(str+1); + duration->parts[4] = atoi(str + 1); str = X; not_weeks = true; } @@ -1239,8 +1278,8 @@ duration_fromtext(isc_textregion_t *source, cfg_duration_t *duration) { * M could be months or minutes. This is minutes if there is a time * part and the M indicator is behind the time indicator. */ - if (X != NULL && T != NULL && (size_t) (X-P) > (size_t) (T-P)) { - duration->parts[5] = atoi(str+1); + if (X != NULL && T != NULL && (size_t)(X - P) > (size_t)(T - P)) { + duration->parts[5] = atoi(str + 1); str = X; not_weeks = true; } @@ -1248,7 +1287,7 @@ duration_fromtext(isc_textregion_t *source, cfg_duration_t *duration) { /* Record seconds. */ X = strpbrk(str, "Ss"); if (X != NULL && T != NULL) { - duration->parts[6] = atoi(str+1); + duration->parts[6] = atoi(str + 1); str = X; not_weeks = true; } @@ -1260,7 +1299,7 @@ duration_fromtext(isc_textregion_t *source, cfg_duration_t *duration) { /* Mix of weeks and other indicators is not allowed */ return (ISC_R_BADNUMBER); } else { - duration->parts[2] = atoi(str+1); + duration->parts[2] = atoi(str + 1); str = W; } } @@ -1274,9 +1313,10 @@ duration_fromtext(isc_textregion_t *source, cfg_duration_t *duration) { } static isc_result_t -parse_duration(cfg_parser_t *pctx, cfg_obj_t **ret) { - isc_result_t result; - cfg_obj_t *obj = NULL; +parse_duration(cfg_parser_t *pctx, cfg_obj_t **ret) +{ + isc_result_t result; + cfg_obj_t * obj = NULL; cfg_duration_t duration; duration.unlimited = false; @@ -1321,8 +1361,7 @@ cleanup: } isc_result_t -cfg_parse_duration(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret) +cfg_parse_duration(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { isc_result_t result; @@ -1346,8 +1385,8 @@ isc_result_t cfg_parse_duration_or_unlimited(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - isc_result_t result; - cfg_obj_t *obj = NULL; + isc_result_t result; + cfg_obj_t * obj = NULL; cfg_duration_t duration; UNUSED(type); @@ -1379,7 +1418,6 @@ cleanup: return (result); } - /*% * A duration as defined by ISO 8601 (P[n]Y[n]M[n]DT[n]H[n]M[n]S). * - P is the duration indicator ("period") placed at the start. @@ -1396,13 +1434,16 @@ cleanup: * A duration can also be a TTL value (number + optional unit). */ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_duration = { - "duration", cfg_parse_duration, cfg_print_duration, cfg_doc_terminal, - &cfg_rep_duration, NULL + "duration", cfg_parse_duration, cfg_print_duration, + cfg_doc_terminal, &cfg_rep_duration, NULL }; LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_duration_or_unlimited = { - "duration_or_unlimited", cfg_parse_duration_or_unlimited, - cfg_print_duration_or_unlimited, cfg_doc_terminal, - &cfg_rep_duration, NULL + "duration_or_unlimited", + cfg_parse_duration_or_unlimited, + cfg_print_duration_or_unlimited, + cfg_doc_terminal, + &cfg_rep_duration, + NULL }; /* @@ -1416,8 +1457,8 @@ create_string(cfg_parser_t *pctx, const char *contents, const cfg_type_t *type, cfg_obj_t **ret) { isc_result_t result; - cfg_obj_t *obj = NULL; - int len; + cfg_obj_t * obj = NULL; + int len; CHECK(cfg_create_obj(pctx, type, &obj)); len = strlen(contents); @@ -1431,12 +1472,13 @@ create_string(cfg_parser_t *pctx, const char *contents, const cfg_type_t *type, obj->value.string.base[len] = '\0'; *ret = obj; - cleanup: +cleanup: return (result); } isc_result_t -cfg_parse_qstring(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +cfg_parse_qstring(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ isc_result_t result; REQUIRE(pctx != NULL); @@ -1449,34 +1491,33 @@ cfg_parse_qstring(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { cfg_parser_error(pctx, CFG_LOG_NEAR, "expected quoted string"); return (ISC_R_UNEXPECTEDTOKEN); } - return (create_string(pctx, TOKEN_STRING(pctx), - &cfg_type_qstring, ret)); - cleanup: + return (create_string(pctx, TOKEN_STRING(pctx), &cfg_type_qstring, + ret)); +cleanup: return (result); } static isc_result_t -parse_ustring(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +parse_ustring(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ isc_result_t result; UNUSED(type); CHECK(cfg_gettoken(pctx, 0)); if (pctx->token.type != isc_tokentype_string) { - cfg_parser_error(pctx, CFG_LOG_NEAR, "expected unquoted string"); + cfg_parser_error(pctx, CFG_LOG_NEAR, + "expected unquoted string"); return (ISC_R_UNEXPECTEDTOKEN); } - return (create_string(pctx, - TOKEN_STRING(pctx), - &cfg_type_ustring, + return (create_string(pctx, TOKEN_STRING(pctx), &cfg_type_ustring, ret)); - cleanup: +cleanup: return (result); } isc_result_t -cfg_parse_astring(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret) +cfg_parse_astring(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { isc_result_t result; @@ -1486,17 +1527,14 @@ cfg_parse_astring(cfg_parser_t *pctx, const cfg_type_t *type, UNUSED(type); CHECK(cfg_getstringtoken(pctx)); - return (create_string(pctx, - TOKEN_STRING(pctx), - &cfg_type_qstring, + return (create_string(pctx, TOKEN_STRING(pctx), &cfg_type_qstring, ret)); - cleanup: +cleanup: return (result); } isc_result_t -cfg_parse_sstring(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret) +cfg_parse_sstring(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { isc_result_t result; @@ -1506,17 +1544,14 @@ cfg_parse_sstring(cfg_parser_t *pctx, const cfg_type_t *type, UNUSED(type); CHECK(cfg_getstringtoken(pctx)); - return (create_string(pctx, - TOKEN_STRING(pctx), - &cfg_type_sstring, + return (create_string(pctx, TOKEN_STRING(pctx), &cfg_type_sstring, ret)); - cleanup: +cleanup: return (result); } static isc_result_t -parse_btext(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret) +parse_btext(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { isc_result_t result; @@ -1524,20 +1559,18 @@ parse_btext(cfg_parser_t *pctx, const cfg_type_t *type, CHECK(cfg_gettoken(pctx, ISC_LEXOPT_BTEXT)); if (pctx->token.type != isc_tokentype_btext) { - cfg_parser_error(pctx, CFG_LOG_NEAR, - "expected bracketed text"); + cfg_parser_error(pctx, CFG_LOG_NEAR, "expected bracketed text"); return (ISC_R_UNEXPECTEDTOKEN); } - return (create_string(pctx, - TOKEN_STRING(pctx), - &cfg_type_bracketed_text, - ret)); - cleanup: + return (create_string(pctx, TOKEN_STRING(pctx), + &cfg_type_bracketed_text, ret)); +cleanup: return (result); } static void -print_btext(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_btext(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ /* * We need to print "{" instead of running print_open() * in order to preserve the exact original formatting @@ -1552,15 +1585,17 @@ print_btext(cfg_printer_t *pctx, const cfg_obj_t *obj) { } static void -doc_btext(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_btext(cfg_printer_t *pctx, const cfg_type_t *type) +{ UNUSED(type); cfg_print_cstr(pctx, "{ }"); } bool -cfg_is_enum(const char *s, const char *const *enums) { - const char * const *p; +cfg_is_enum(const char *s, const char *const *enums) +{ + const char *const *p; REQUIRE(s != NULL); REQUIRE(enums != NULL); @@ -1573,7 +1608,8 @@ cfg_is_enum(const char *s, const char *const *enums) { } static isc_result_t -check_enum(cfg_parser_t *pctx, cfg_obj_t *obj, const char *const *enums) { +check_enum(cfg_parser_t *pctx, cfg_obj_t *obj, const char *const *enums) +{ const char *s = obj->value.string.base; if (cfg_is_enum(s, enums)) @@ -1583,9 +1619,10 @@ check_enum(cfg_parser_t *pctx, cfg_obj_t *obj, const char *const *enums) { } isc_result_t -cfg_parse_enum(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +cfg_parse_enum(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ isc_result_t result; - cfg_obj_t *obj = NULL; + cfg_obj_t * obj = NULL; REQUIRE(pctx != NULL); REQUIRE(type != NULL); @@ -1595,14 +1632,15 @@ cfg_parse_enum(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { CHECK(check_enum(pctx, obj, type->of)); *ret = obj; return (ISC_R_SUCCESS); - cleanup: +cleanup: CLEANUP_OBJ(obj); return (result); } void -cfg_doc_enum(cfg_printer_t *pctx, const cfg_type_t *type) { - const char * const *p; +cfg_doc_enum(cfg_printer_t *pctx, const cfg_type_t *type) +{ + const char *const *p; REQUIRE(pctx != NULL); REQUIRE(type != NULL); @@ -1623,13 +1661,12 @@ cfg_parse_enum_or_other(cfg_parser_t *pctx, const cfg_type_t *enumtype, isc_result_t result; CHECK(cfg_peektoken(pctx, 0)); if (pctx->token.type == isc_tokentype_string && - cfg_is_enum(TOKEN_STRING(pctx), enumtype->of)) - { + cfg_is_enum(TOKEN_STRING(pctx), enumtype->of)) { CHECK(cfg_parse_enum(pctx, enumtype, ret)); } else { CHECK(cfg_parse_obj(pctx, othertype, ret)); } - cleanup: +cleanup: return (result); } @@ -1637,8 +1674,8 @@ void cfg_doc_enum_or_other(cfg_printer_t *pctx, const cfg_type_t *enumtype, const cfg_type_t *othertype) { - const char * const *p; - bool first = true; + const char *const *p; + bool first = true; /* * If othertype is cfg_type_void, it means that enumtype is @@ -1669,7 +1706,8 @@ cfg_doc_enum_or_other(cfg_printer_t *pctx, const cfg_type_t *enumtype, } void -cfg_print_ustring(cfg_printer_t *pctx, const cfg_obj_t *obj) { +cfg_print_ustring(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ REQUIRE(pctx != NULL); REQUIRE(obj != NULL); @@ -1677,14 +1715,16 @@ cfg_print_ustring(cfg_printer_t *pctx, const cfg_obj_t *obj) { } static void -print_qstring(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_qstring(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ cfg_print_cstr(pctx, "\""); cfg_print_ustring(pctx, obj); cfg_print_cstr(pctx, "\""); } static void -print_sstring(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_sstring(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ cfg_print_cstr(pctx, "\""); if ((pctx->flags & CFG_PRINTER_XKEY) != 0) { unsigned int len = obj->value.string.length; @@ -1696,39 +1736,42 @@ print_sstring(cfg_printer_t *pctx, const cfg_obj_t *obj) { } static void -free_string(cfg_parser_t *pctx, cfg_obj_t *obj) { +free_string(cfg_parser_t *pctx, cfg_obj_t *obj) +{ isc_mem_put(pctx->mctx, obj->value.string.base, obj->value.string.length + 1); } bool -cfg_obj_isstring(const cfg_obj_t *obj) { +cfg_obj_isstring(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL); return (obj->type->rep == &cfg_rep_string); } const char * -cfg_obj_asstring(const cfg_obj_t *obj) { +cfg_obj_asstring(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL && obj->type->rep == &cfg_rep_string); return (obj->value.string.base); } /* Quoted string only */ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_qstring = { - "quoted_string", cfg_parse_qstring, print_qstring, cfg_doc_terminal, - &cfg_rep_string, NULL + "quoted_string", cfg_parse_qstring, print_qstring, + cfg_doc_terminal, &cfg_rep_string, NULL }; /* Unquoted string only */ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_ustring = { - "string", parse_ustring, cfg_print_ustring, cfg_doc_terminal, - &cfg_rep_string, NULL + "string", parse_ustring, cfg_print_ustring, + cfg_doc_terminal, &cfg_rep_string, NULL }; /* Any string (quoted or unquoted); printed with quotes */ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_astring = { - "string", cfg_parse_astring, print_qstring, cfg_doc_terminal, - &cfg_rep_string, NULL + "string", cfg_parse_astring, print_qstring, + cfg_doc_terminal, &cfg_rep_string, NULL }; /* @@ -1736,8 +1779,8 @@ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_astring = { * If CFG_PRINTER_XKEY is set when printing the string will be '?' out. */ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_sstring = { - "string", cfg_parse_sstring, print_sstring, cfg_doc_terminal, - &cfg_rep_string, NULL + "string", cfg_parse_sstring, print_sstring, + cfg_doc_terminal, &cfg_rep_string, NULL }; /* @@ -1746,8 +1789,8 @@ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_sstring = { * bracket balance, but not otherwise parsed. */ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_bracketed_text = { - "bracketed_text", parse_btext, print_btext, doc_btext, - &cfg_rep_string, NULL + "bracketed_text", parse_btext, print_btext, + doc_btext, &cfg_rep_string, NULL }; #if defined(HAVE_GEOIP2) @@ -1756,15 +1799,15 @@ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_bracketed_text = { * geoip [ db ] search-type */ static const char *geoiptype_enums[] = { - "area", "areacode", "asnum", "city", "continent", "country", - "country3", "countryname", "domain", "isp", "metro", "metrocode", - "netspeed", "org", "postal", "postalcode", "region", "regionname", - "timezone", "tz", NULL -}; -static cfg_type_t cfg_type_geoiptype = { - "geoiptype", cfg_parse_enum, cfg_print_ustring, - cfg_doc_enum, &cfg_rep_string, &geoiptype_enums + "area", "areacode", "asnum", "city", "continent", + "country", "country3", "countryname", "domain", "isp", + "metro", "metrocode", "netspeed", "org", "postal", + "postalcode", "region", "regionname", "timezone", "tz", + NULL }; +static cfg_type_t cfg_type_geoiptype = { "geoiptype", cfg_parse_enum, + cfg_print_ustring, cfg_doc_enum, + &cfg_rep_string, &geoiptype_enums }; static cfg_tuplefielddef_t geoip_fields[] = { { "negated", &cfg_type_void, 0 }, @@ -1774,15 +1817,14 @@ static cfg_tuplefielddef_t geoip_fields[] = { { NULL, NULL, 0 } }; -static cfg_type_t cfg_type_geoip = { - "geoip", parse_geoip, print_geoip, doc_geoip, - &cfg_rep_tuple, geoip_fields -}; +static cfg_type_t cfg_type_geoip = { "geoip", parse_geoip, print_geoip, + doc_geoip, &cfg_rep_tuple, geoip_fields }; static isc_result_t -parse_geoip(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - isc_result_t result; - cfg_obj_t *obj = NULL; +parse_geoip(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ + isc_result_t result; + cfg_obj_t * obj = NULL; const cfg_tuplefielddef_t *fields = type->of; CHECK(cfg_create_tuple(pctx, type, &obj)); @@ -1795,10 +1837,9 @@ parse_geoip(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { if (strcasecmp(TOKEN_STRING(pctx), "db") == 0 && obj->value.tuple[1] == NULL) { CHECK(cfg_parse_obj(pctx, fields[1].type, - &obj->value.tuple[1])); + &obj->value.tuple[1])); } else { - CHECK(cfg_parse_void(pctx, NULL, - &obj->value.tuple[1])); + CHECK(cfg_parse_void(pctx, NULL, &obj->value.tuple[1])); cfg_ungettoken(pctx); } } @@ -1809,13 +1850,14 @@ parse_geoip(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { *ret = obj; return (ISC_R_SUCCESS); - cleanup: +cleanup: CLEANUP_OBJ(obj); return (result); } static void -print_geoip(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_geoip(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ if (obj->value.tuple[1]->type->print != cfg_print_void) { cfg_print_cstr(pctx, " db "); cfg_print_obj(pctx, obj->value.tuple[1]); @@ -1825,7 +1867,8 @@ print_geoip(cfg_printer_t *pctx, const cfg_obj_t *obj) { } static void -doc_geoip(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_geoip(cfg_printer_t *pctx, const cfg_type_t *type) +{ UNUSED(type); cfg_print_cstr(pctx, "[ db "); cfg_doc_obj(pctx, &cfg_type_astring); @@ -1841,8 +1884,7 @@ static cfg_type_t cfg_type_addrmatchelt; static cfg_type_t cfg_type_negated; static isc_result_t -parse_addrmatchelt(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret) +parse_addrmatchelt(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { isc_result_t result; UNUSED(type); @@ -1860,15 +1902,15 @@ parse_addrmatchelt(cfg_parser_t *pctx, const cfg_type_t *type, CHECK(cfg_gettoken(pctx, 0)); CHECK(cfg_parse_obj(pctx, &cfg_type_geoip, ret)); #else - cfg_parser_error(pctx, CFG_LOG_NEAR, "'geoip' " + cfg_parser_error(pctx, CFG_LOG_NEAR, + "'geoip' " "not supported in this build"); return (ISC_R_UNEXPECTEDTOKEN); #endif } else { - if (cfg_lookingat_netaddr(pctx, CFG_ADDR_V4OK | - CFG_ADDR_V4PREFIXOK | - CFG_ADDR_V6OK)) - { + if (cfg_lookingat_netaddr( + pctx, CFG_ADDR_V4OK | CFG_ADDR_V4PREFIXOK | + CFG_ADDR_V6OK)) { CHECK(cfg_parse_netprefix(pctx, NULL, ret)); } else { CHECK(cfg_parse_astring(pctx, NULL, ret)); @@ -1877,8 +1919,8 @@ parse_addrmatchelt(cfg_parser_t *pctx, const cfg_type_t *type, } else if (pctx->token.type == isc_tokentype_special) { if (pctx->token.value.as_char == '{') { /* Nested match list. */ - CHECK(cfg_parse_obj(pctx, - &cfg_type_bracketed_aml, ret)); + CHECK(cfg_parse_obj(pctx, &cfg_type_bracketed_aml, + ret)); } else if (pctx->token.value.as_char == '!') { CHECK(cfg_gettoken(pctx, 0)); /* read "!" */ CHECK(cfg_parse_obj(pctx, &cfg_type_negated, ret)); @@ -1888,10 +1930,10 @@ parse_addrmatchelt(cfg_parser_t *pctx, const cfg_type_t *type, } else { bad: cfg_parser_error(pctx, CFG_LOG_NEAR, - "expected IP match list element"); + "expected IP match list element"); return (ISC_R_UNEXPECTEDTOKEN); } - cleanup: +cleanup: return (result); } @@ -1901,34 +1943,39 @@ parse_addrmatchelt(cfg_parser_t *pctx, const cfg_type_t *type, * "!", but not to print it. */ static cfg_tuplefielddef_t negated_fields[] = { - { "negated", &cfg_type_addrmatchelt, 0 }, - { NULL, NULL, 0 } + { "negated", &cfg_type_addrmatchelt, 0 }, { NULL, NULL, 0 } }; static void -print_negated(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_negated(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ cfg_print_cstr(pctx, "!"); cfg_print_tuple(pctx, obj); } -static cfg_type_t cfg_type_negated = { - "negated", cfg_parse_tuple, print_negated, NULL, &cfg_rep_tuple, - &negated_fields -}; +static cfg_type_t cfg_type_negated = { "negated", cfg_parse_tuple, + print_negated, NULL, + &cfg_rep_tuple, &negated_fields }; /*% An address match list element */ -static cfg_type_t cfg_type_addrmatchelt = { - "address_match_element", parse_addrmatchelt, NULL, cfg_doc_terminal, - NULL, NULL -}; +static cfg_type_t cfg_type_addrmatchelt = { "address_match_element", + parse_addrmatchelt, + NULL, + cfg_doc_terminal, + NULL, + NULL }; /*% * A bracketed address match list */ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_bracketed_aml = { - "bracketed_aml", cfg_parse_bracketed_list, cfg_print_bracketed_list, - cfg_doc_bracketed_list, &cfg_rep_list, &cfg_type_addrmatchelt + "bracketed_aml", + cfg_parse_bracketed_list, + cfg_print_bracketed_list, + cfg_doc_bracketed_list, + &cfg_rep_list, + &cfg_type_addrmatchelt }; /* @@ -1948,12 +1995,13 @@ parse_optional_btext(cfg_parser_t *pctx, const cfg_type_t *type, } else { CHECK(cfg_parse_obj(pctx, &cfg_type_void, ret)); } - cleanup: +cleanup: return (result); } static void -print_optional_btext(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_optional_btext(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ if (obj->type == &cfg_type_void) { return; } @@ -1965,15 +2013,20 @@ print_optional_btext(cfg_printer_t *pctx, const cfg_obj_t *obj) { } static void -doc_optional_btext(cfg_printer_t *pctx, const cfg_type_t *type) { +doc_optional_btext(cfg_printer_t *pctx, const cfg_type_t *type) +{ UNUSED(type); cfg_print_cstr(pctx, "[ { } ]"); } LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_optional_bracketed_text = { - "optional_btext", parse_optional_btext, print_optional_btext, - doc_optional_btext, NULL, NULL + "optional_btext", + parse_optional_btext, + print_optional_btext, + doc_optional_btext, + NULL, + NULL }; /* @@ -1981,13 +2034,15 @@ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_optional_bracketed_text = { */ bool -cfg_obj_isboolean(const cfg_obj_t *obj) { +cfg_obj_isboolean(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL); return (obj->type->rep == &cfg_rep_boolean); } bool -cfg_obj_asboolean(const cfg_obj_t *obj) { +cfg_obj_asboolean(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL && obj->type->rep == &cfg_rep_boolean); return (obj->value.boolean); } @@ -1996,8 +2051,8 @@ isc_result_t cfg_parse_boolean(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { isc_result_t result; - bool value; - cfg_obj_t *obj = NULL; + bool value; + cfg_obj_t * obj = NULL; REQUIRE(pctx != NULL); REQUIRE(ret != NULL && *ret == NULL); @@ -2028,16 +2083,17 @@ cfg_parse_boolean(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) *ret = obj; return (result); - bad_boolean: +bad_boolean: cfg_parser_error(pctx, CFG_LOG_NEAR, "boolean expected"); return (ISC_R_UNEXPECTEDTOKEN); - cleanup: +cleanup: return (result); } void -cfg_print_boolean(cfg_printer_t *pctx, const cfg_obj_t *obj) { +cfg_print_boolean(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ REQUIRE(pctx != NULL); REQUIRE(obj != NULL); @@ -2048,8 +2104,8 @@ cfg_print_boolean(cfg_printer_t *pctx, const cfg_obj_t *obj) { } LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_boolean = { - "boolean", cfg_parse_boolean, cfg_print_boolean, cfg_doc_terminal, - &cfg_rep_boolean, NULL + "boolean", cfg_parse_boolean, cfg_print_boolean, + cfg_doc_terminal, &cfg_rep_boolean, NULL }; /* @@ -2057,7 +2113,8 @@ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_boolean = { */ isc_result_t -cfg_create_list(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **obj) { +cfg_create_list(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **obj) +{ isc_result_t result; REQUIRE(pctx != NULL); @@ -2066,12 +2123,13 @@ cfg_create_list(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **obj) { CHECK(cfg_create_obj(pctx, type, obj)); ISC_LIST_INIT((*obj)->value.list); - cleanup: +cleanup: return (result); } static isc_result_t -create_listelt(cfg_parser_t *pctx, cfg_listelt_t **eltp) { +create_listelt(cfg_parser_t *pctx, cfg_listelt_t **eltp) +{ cfg_listelt_t *elt; elt = isc_mem_get(pctx->mctx, sizeof(*elt)); @@ -2082,19 +2140,18 @@ create_listelt(cfg_parser_t *pctx, cfg_listelt_t **eltp) { } static void -free_listelt(cfg_parser_t *pctx, cfg_listelt_t *elt) { +free_listelt(cfg_parser_t *pctx, cfg_listelt_t *elt) +{ if (elt->obj != NULL) cfg_obj_destroy(pctx, &elt->obj); isc_mem_put(pctx->mctx, elt, sizeof(*elt)); } static void -free_list(cfg_parser_t *pctx, cfg_obj_t *obj) { +free_list(cfg_parser_t *pctx, cfg_obj_t *obj) +{ cfg_listelt_t *elt, *next; - for (elt = ISC_LIST_HEAD(obj->value.list); - elt != NULL; - elt = next) - { + for (elt = ISC_LIST_HEAD(obj->value.list); elt != NULL; elt = next) { next = ISC_LIST_NEXT(elt, link); free_listelt(pctx, elt); } @@ -2104,9 +2161,9 @@ isc_result_t cfg_parse_listelt(cfg_parser_t *pctx, const cfg_type_t *elttype, cfg_listelt_t **ret) { - isc_result_t result; + isc_result_t result; cfg_listelt_t *elt = NULL; - cfg_obj_t *value = NULL; + cfg_obj_t * value = NULL; REQUIRE(pctx != NULL); REQUIRE(elttype != NULL); @@ -2123,7 +2180,7 @@ cfg_parse_listelt(cfg_parser_t *pctx, const cfg_type_t *elttype, *ret = elt; return (ISC_R_SUCCESS); - cleanup: +cleanup: isc_mem_put(pctx->mctx, elt, sizeof(*elt)); return (result); } @@ -2135,10 +2192,10 @@ cfg_parse_listelt(cfg_parser_t *pctx, const cfg_type_t *elttype, static isc_result_t parse_list(cfg_parser_t *pctx, const cfg_type_t *listtype, cfg_obj_t **ret) { - cfg_obj_t *listobj = NULL; + cfg_obj_t * listobj = NULL; const cfg_type_t *listof = listtype->of; - isc_result_t result; - cfg_listelt_t *elt = NULL; + isc_result_t result; + cfg_listelt_t * elt = NULL; CHECK(cfg_create_list(pctx, listtype, &listobj)); @@ -2155,7 +2212,7 @@ parse_list(cfg_parser_t *pctx, const cfg_type_t *listtype, cfg_obj_t **ret) *ret = listobj; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (elt != NULL) free_listelt(pctx, elt); CLEANUP_OBJ(listobj); @@ -2163,14 +2220,13 @@ parse_list(cfg_parser_t *pctx, const cfg_type_t *listtype, cfg_obj_t **ret) } static void -print_list(cfg_printer_t *pctx, const cfg_obj_t *obj) { - const cfg_list_t *list = &obj->value.list; +print_list(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ + const cfg_list_t * list = &obj->value.list; const cfg_listelt_t *elt; - for (elt = ISC_LIST_HEAD(*list); - elt != NULL; - elt = ISC_LIST_NEXT(elt, link)) - { + for (elt = ISC_LIST_HEAD(*list); elt != NULL; + elt = ISC_LIST_NEXT(elt, link)) { if ((pctx->flags & CFG_PRINTER_ONELINE) != 0) { cfg_print_obj(pctx, elt->obj); cfg_print_cstr(pctx, "; "); @@ -2195,12 +2251,13 @@ cfg_parse_bracketed_list(cfg_parser_t *pctx, const cfg_type_t *type, CHECK(cfg_parse_special(pctx, '{')); CHECK(parse_list(pctx, type, ret)); CHECK(cfg_parse_special(pctx, '}')); - cleanup: +cleanup: return (result); } void -cfg_print_bracketed_list(cfg_printer_t *pctx, const cfg_obj_t *obj) { +cfg_print_bracketed_list(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ REQUIRE(pctx != NULL); REQUIRE(obj != NULL); @@ -2210,7 +2267,8 @@ cfg_print_bracketed_list(cfg_printer_t *pctx, const cfg_obj_t *obj) { } void -cfg_doc_bracketed_list(cfg_printer_t *pctx, const cfg_type_t *type) { +cfg_doc_bracketed_list(cfg_printer_t *pctx, const cfg_type_t *type) +{ REQUIRE(pctx != NULL); REQUIRE(type != NULL); @@ -2228,9 +2286,9 @@ isc_result_t cfg_parse_spacelist(cfg_parser_t *pctx, const cfg_type_t *listtype, cfg_obj_t **ret) { - cfg_obj_t *listobj = NULL; + cfg_obj_t * listobj = NULL; const cfg_type_t *listof; - isc_result_t result; + isc_result_t result; REQUIRE(pctx != NULL); REQUIRE(listtype != NULL); @@ -2253,21 +2311,21 @@ cfg_parse_spacelist(cfg_parser_t *pctx, const cfg_type_t *listtype, *ret = listobj; return (ISC_R_SUCCESS); - cleanup: +cleanup: CLEANUP_OBJ(listobj); return (result); } void -cfg_print_spacelist(cfg_printer_t *pctx, const cfg_obj_t *obj) { - const cfg_list_t *list = &obj->value.list; +cfg_print_spacelist(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ + const cfg_list_t * list = &obj->value.list; const cfg_listelt_t *elt; REQUIRE(pctx != NULL); REQUIRE(obj != NULL); - for (elt = ISC_LIST_HEAD(*list); - elt != NULL; + for (elt = ISC_LIST_HEAD(*list); elt != NULL; elt = ISC_LIST_NEXT(elt, link)) { cfg_print_obj(pctx, elt->obj); if (ISC_LIST_NEXT(elt, link) != NULL) @@ -2276,13 +2334,15 @@ cfg_print_spacelist(cfg_printer_t *pctx, const cfg_obj_t *obj) { } bool -cfg_obj_islist(const cfg_obj_t *obj) { +cfg_obj_islist(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL); return (obj->type->rep == &cfg_rep_list); } const cfg_listelt_t * -cfg_list_first(const cfg_obj_t *obj) { +cfg_list_first(const cfg_obj_t *obj) +{ REQUIRE(obj == NULL || obj->type->rep == &cfg_rep_list); if (obj == NULL) return (NULL); @@ -2290,7 +2350,8 @@ cfg_list_first(const cfg_obj_t *obj) { } const cfg_listelt_t * -cfg_list_next(const cfg_listelt_t *elt) { +cfg_list_next(const cfg_listelt_t *elt) +{ REQUIRE(elt != NULL); return (ISC_LIST_NEXT(elt, link)); } @@ -2300,15 +2361,14 @@ cfg_list_next(const cfg_listelt_t *elt) { * a list, return 0. */ unsigned int -cfg_list_length(const cfg_obj_t *obj, bool recurse) { +cfg_list_length(const cfg_obj_t *obj, bool recurse) +{ const cfg_listelt_t *elt; - unsigned int count = 0; + unsigned int count = 0; if (obj == NULL || !cfg_obj_islist(obj)) return (0U); - for (elt = cfg_list_first(obj); - elt != NULL; - elt = cfg_list_next(elt)) { + for (elt = cfg_list_first(obj); elt != NULL; elt = cfg_list_next(elt)) { if (recurse && cfg_obj_islist(elt->obj)) { count += cfg_list_length(elt->obj, recurse); } else { @@ -2319,7 +2379,8 @@ cfg_list_length(const cfg_obj_t *obj, bool recurse) { } cfg_obj_t * -cfg_listelt_value(const cfg_listelt_t *elt) { +cfg_listelt_value(const cfg_listelt_t *elt) +{ REQUIRE(elt != NULL); return (elt->obj); } @@ -2341,16 +2402,16 @@ cfg_listelt_value(const cfg_listelt_t *elt) { isc_result_t cfg_parse_mapbody(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - const cfg_clausedef_t * const *clausesets; - isc_result_t result; - const cfg_clausedef_t * const *clauseset; - const cfg_clausedef_t *clause; - cfg_obj_t *value = NULL; - cfg_obj_t *obj = NULL; - cfg_obj_t *eltobj = NULL; - cfg_obj_t *includename = NULL; - isc_symvalue_t symval; - cfg_list_t *list = NULL; + const cfg_clausedef_t *const *clausesets; + isc_result_t result; + const cfg_clausedef_t *const *clauseset; + const cfg_clausedef_t * clause; + cfg_obj_t * value = NULL; + cfg_obj_t * obj = NULL; + cfg_obj_t * eltobj = NULL; + cfg_obj_t * includename = NULL; + isc_symvalue_t symval; + cfg_list_t * list = NULL; REQUIRE(pctx != NULL); REQUIRE(type != NULL); @@ -2386,21 +2447,21 @@ cfg_parse_mapbody(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) * object just so that it is not overwritten by the * semicolon token. */ - CHECK(cfg_parse_obj(pctx, &cfg_type_qstring, &includename)); + CHECK(cfg_parse_obj(pctx, &cfg_type_qstring, + &includename)); CHECK(parse_semicolon(pctx)); - CHECK(parser_openfile(pctx, includename-> - value.string.base)); - cfg_obj_destroy(pctx, &includename); - goto redo; + CHECK(parser_openfile(pctx, + includename->value.string.base)); + cfg_obj_destroy(pctx, &includename); + goto redo; } clause = NULL; for (clauseset = clausesets; *clauseset != NULL; clauseset++) { - for (clause = *clauseset; - clause->name != NULL; + for (clause = *clauseset; clause->name != NULL; clause++) { if (strcasecmp(TOKEN_STRING(pctx), - clause->name) == 0) + clause->name) == 0) goto done; } } @@ -2431,10 +2492,8 @@ cfg_parse_mapbody(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) /* Issue warnings if appropriate */ if ((pctx->flags & CFG_PCTX_NODEPRECATED) == 0 && - (clause->flags & CFG_CLAUSEFLAG_DEPRECATED) != 0) - { - cfg_parser_warning(pctx, 0, - "option '%s' is deprecated", + (clause->flags & CFG_CLAUSEFLAG_DEPRECATED) != 0) { + cfg_parser_warning(pctx, 0, "option '%s' is deprecated", clause->name); } if ((clause->flags & CFG_CLAUSEFLAG_OBSOLETE) != 0) { @@ -2454,15 +2513,18 @@ cfg_parse_mapbody(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) clause->name); } if ((clause->flags & CFG_CLAUSEFLAG_NOOP) != 0) { - cfg_parser_warning(pctx, 0, "option '%s' was not " + cfg_parser_warning(pctx, 0, + "option '%s' was not " "enabled at compile time " - "(ignored)", clause->name); + "(ignored)", + clause->name); } if ((clause->flags & CFG_CLAUSEFLAG_NOTCONFIGURED) != 0) { - cfg_parser_error(pctx, 0, "option '%s' was not " - "enabled at compile time", - clause->name); + cfg_parser_error(pctx, 0, + "option '%s' was not " + "enabled at compile time", + clause->name); CHECK(ISC_R_FAILURE); } @@ -2473,26 +2535,26 @@ cfg_parse_mapbody(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) */ /* See if the clause already has a value; if not create one. */ - result = isc_symtab_lookup(obj->value.map.symtab, - clause->name, 0, &symval); + result = isc_symtab_lookup(obj->value.map.symtab, clause->name, + 0, &symval); if ((clause->flags & CFG_CLAUSEFLAG_MULTI) != 0) { /* Multivalued clause */ cfg_obj_t *listobj = NULL; if (result == ISC_R_NOTFOUND) { CHECK(cfg_create_list(pctx, - &cfg_type_implicitlist, - &listobj)); + &cfg_type_implicitlist, + &listobj)); symval.as_pointer = listobj; - result = isc_symtab_define(obj->value. - map.symtab, - clause->name, - 1, symval, - isc_symexists_reject); + result = isc_symtab_define( + obj->value.map.symtab, clause->name, 1, + symval, isc_symexists_reject); if (result != ISC_R_SUCCESS) { cfg_parser_error(pctx, CFG_LOG_NEAR, - "isc_symtab_define(%s) " - "failed", clause->name); + "isc_symtab_define(%s)" + " " + "failed", + clause->name); isc_mem_put(pctx->mctx, list, sizeof(cfg_list_t)); goto cleanup; @@ -2513,10 +2575,9 @@ cfg_parse_mapbody(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) bool callback = ((clause->flags & CFG_CLAUSEFLAG_CALLBACK) != 0); - CHECK(parse_symtab_elt(pctx, clause->name, - clause->type, - obj->value.map.symtab, - callback)); + CHECK(parse_symtab_elt( + pctx, clause->name, clause->type, + obj->value.map.symtab, callback)); CHECK(parse_semicolon(pctx)); } else if (result == ISC_R_SUCCESS) { cfg_parser_error(pctx, CFG_LOG_NEAR, @@ -2526,17 +2587,16 @@ cfg_parse_mapbody(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) goto cleanup; } else { cfg_parser_error(pctx, CFG_LOG_NEAR, - "isc_symtab_define() failed"); + "isc_symtab_define() failed"); goto cleanup; } } } - *ret = obj; return (ISC_R_SUCCESS); - cleanup: +cleanup: CLEANUP_OBJ(value); CLEANUP_OBJ(obj); CLEANUP_OBJ(eltobj); @@ -2545,12 +2605,11 @@ cfg_parse_mapbody(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) } static isc_result_t -parse_symtab_elt(cfg_parser_t *pctx, const char *name, - cfg_type_t *elttype, isc_symtab_t *symtab, - bool callback) +parse_symtab_elt(cfg_parser_t *pctx, const char *name, cfg_type_t *elttype, + isc_symtab_t *symtab, bool callback) { - isc_result_t result; - cfg_obj_t *obj = NULL; + isc_result_t result; + cfg_obj_t * obj = NULL; isc_symvalue_t symval; CHECK(cfg_parse_obj(pctx, elttype, &obj)); @@ -2559,12 +2618,10 @@ parse_symtab_elt(cfg_parser_t *pctx, const char *name, CHECK(pctx->callback(name, obj, pctx->callbackarg)); symval.as_pointer = obj; - CHECK(isc_symtab_define(symtab, name, - 1, symval, - isc_symexists_reject)); + CHECK(isc_symtab_define(symtab, name, 1, symval, isc_symexists_reject)); return (ISC_R_SUCCESS); - cleanup: +cleanup: CLEANUP_OBJ(obj); return (result); } @@ -2573,7 +2630,8 @@ parse_symtab_elt(cfg_parser_t *pctx, const char *name, * Parse a map; e.g., "{ foo 1; bar { glub; }; zap true; zap false; }" */ isc_result_t -cfg_parse_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +cfg_parse_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ isc_result_t result; REQUIRE(pctx != NULL); @@ -2583,7 +2641,7 @@ cfg_parse_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { CHECK(cfg_parse_special(pctx, '{')); CHECK(cfg_parse_mapbody(pctx, type, ret)); CHECK(cfg_parse_special(pctx, '}')); - cleanup: +cleanup: return (result); } @@ -2595,8 +2653,8 @@ parse_any_named_map(cfg_parser_t *pctx, cfg_type_t *nametype, const cfg_type_t *type, cfg_obj_t **ret) { isc_result_t result; - cfg_obj_t *idobj = NULL; - cfg_obj_t *mapobj = NULL; + cfg_obj_t * idobj = NULL; + cfg_obj_t * mapobj = NULL; REQUIRE(pctx != NULL); REQUIRE(nametype != NULL); @@ -2608,7 +2666,7 @@ parse_any_named_map(cfg_parser_t *pctx, cfg_type_t *nametype, mapobj->value.map.id = idobj; *ret = mapobj; return (result); - cleanup: +cleanup: CLEANUP_OBJ(idobj); CLEANUP_OBJ(mapobj); return (result); @@ -2619,7 +2677,8 @@ parse_any_named_map(cfg_parser_t *pctx, cfg_type_t *nametype, * Used for the "key" and "channel" statements. */ isc_result_t -cfg_parse_named_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +cfg_parse_named_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ return (parse_any_named_map(pctx, &cfg_type_astring, type, ret)); } @@ -2628,7 +2687,9 @@ cfg_parse_named_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) * Used to be used for the "server" statement. */ isc_result_t -cfg_parse_addressed_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +cfg_parse_addressed_map(cfg_parser_t *pctx, const cfg_type_t *type, + cfg_obj_t **ret) +{ return (parse_any_named_map(pctx, &cfg_type_netaddr, type, ret)); } @@ -2637,12 +2698,15 @@ cfg_parse_addressed_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t ** * Used for the "server" statement. */ isc_result_t -cfg_parse_netprefix_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +cfg_parse_netprefix_map(cfg_parser_t *pctx, const cfg_type_t *type, + cfg_obj_t **ret) +{ return (parse_any_named_map(pctx, &cfg_type_netprefix, type, ret)); } static void -print_symval(cfg_printer_t *pctx, const char *name, cfg_obj_t *obj) { +print_symval(cfg_printer_t *pctx, const char *name, cfg_obj_t *obj) +{ if ((pctx->flags & CFG_PRINTER_ONELINE) == 0) cfg_print_indent(pctx); @@ -2657,22 +2721,19 @@ print_symval(cfg_printer_t *pctx, const char *name, cfg_obj_t *obj) { } void -cfg_print_mapbody(cfg_printer_t *pctx, const cfg_obj_t *obj) { - const cfg_clausedef_t * const *clauseset; +cfg_print_mapbody(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ + const cfg_clausedef_t *const *clauseset; REQUIRE(pctx != NULL); REQUIRE(obj != NULL); - for (clauseset = obj->value.map.clausesets; - *clauseset != NULL; - clauseset++) - { - isc_symvalue_t symval; + for (clauseset = obj->value.map.clausesets; *clauseset != NULL; + clauseset++) { + isc_symvalue_t symval; const cfg_clausedef_t *clause; - for (clause = *clauseset; - clause->name != NULL; - clause++) { + for (clause = *clauseset; clause->name != NULL; clause++) { isc_result_t result; result = isc_symtab_lookup(obj->value.map.symtab, clause->name, 0, &symval); @@ -2685,8 +2746,7 @@ cfg_print_mapbody(cfg_printer_t *pctx, const cfg_obj_t *obj) { for (elt = ISC_LIST_HEAD(*list); elt != NULL; elt = ISC_LIST_NEXT(elt, link)) { - print_symval(pctx, - clause->name, + print_symval(pctx, clause->name, elt->obj); } } else { @@ -2706,26 +2766,25 @@ cfg_print_mapbody(cfg_printer_t *pctx, const cfg_obj_t *obj) { static struct flagtext { unsigned int flag; - const char *text; -} flagtexts[] = { - { CFG_CLAUSEFLAG_NOTIMP, "not implemented" }, - { CFG_CLAUSEFLAG_NYI, "not yet implemented" }, - { CFG_CLAUSEFLAG_OBSOLETE, "obsolete" }, - { CFG_CLAUSEFLAG_NEWDEFAULT, "default changed" }, - { CFG_CLAUSEFLAG_TESTONLY, "test only" }, - { CFG_CLAUSEFLAG_NOTCONFIGURED, "not configured" }, - { CFG_CLAUSEFLAG_MULTI, "may occur multiple times" }, - { CFG_CLAUSEFLAG_EXPERIMENTAL, "experimental" }, - { CFG_CLAUSEFLAG_NOOP, "non-operational" }, - { CFG_CLAUSEFLAG_DEPRECATED, "deprecated" }, - { CFG_CLAUSEFLAG_ANCIENT, "ancient" }, - { 0, NULL } -}; + const char * text; +} flagtexts[] = { { CFG_CLAUSEFLAG_NOTIMP, "not implemented" }, + { CFG_CLAUSEFLAG_NYI, "not yet implemented" }, + { CFG_CLAUSEFLAG_OBSOLETE, "obsolete" }, + { CFG_CLAUSEFLAG_NEWDEFAULT, "default changed" }, + { CFG_CLAUSEFLAG_TESTONLY, "test only" }, + { CFG_CLAUSEFLAG_NOTCONFIGURED, "not configured" }, + { CFG_CLAUSEFLAG_MULTI, "may occur multiple times" }, + { CFG_CLAUSEFLAG_EXPERIMENTAL, "experimental" }, + { CFG_CLAUSEFLAG_NOOP, "non-operational" }, + { CFG_CLAUSEFLAG_DEPRECATED, "deprecated" }, + { CFG_CLAUSEFLAG_ANCIENT, "ancient" }, + { 0, NULL } }; void -cfg_print_clauseflags(cfg_printer_t *pctx, unsigned int flags) { +cfg_print_clauseflags(cfg_printer_t *pctx, unsigned int flags) +{ struct flagtext *p; - bool first = true; + bool first = true; for (p = flagtexts; p->flag != 0; p++) { if ((flags & p->flag) != 0) { if (first) @@ -2739,9 +2798,10 @@ cfg_print_clauseflags(cfg_printer_t *pctx, unsigned int flags) { } void -cfg_doc_mapbody(cfg_printer_t *pctx, const cfg_type_t *type) { - const cfg_clausedef_t * const *clauseset; - const cfg_clausedef_t *clause; +cfg_doc_mapbody(cfg_printer_t *pctx, const cfg_type_t *type) +{ + const cfg_clausedef_t *const *clauseset; + const cfg_clausedef_t * clause; REQUIRE(pctx != NULL); REQUIRE(type != NULL); @@ -2752,8 +2812,7 @@ cfg_doc_mapbody(cfg_printer_t *pctx, const cfg_type_t *type) { (((clause->flags & CFG_CLAUSEFLAG_OBSOLETE) != 0) || ((clause->flags & CFG_CLAUSEFLAG_ANCIENT) != 0) || ((clause->flags & CFG_CLAUSEFLAG_NYI) != 0) || - ((clause->flags & CFG_CLAUSEFLAG_TESTONLY) != 0))) - { + ((clause->flags & CFG_CLAUSEFLAG_TESTONLY) != 0))) { continue; } cfg_print_cstr(pctx, clause->name); @@ -2767,7 +2826,8 @@ cfg_doc_mapbody(cfg_printer_t *pctx, const cfg_type_t *type) { } void -cfg_print_map(cfg_printer_t *pctx, const cfg_obj_t *obj) { +cfg_print_map(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ REQUIRE(pctx != NULL); REQUIRE(obj != NULL); @@ -2781,9 +2841,10 @@ cfg_print_map(cfg_printer_t *pctx, const cfg_obj_t *obj) { } void -cfg_doc_map(cfg_printer_t *pctx, const cfg_type_t *type) { - const cfg_clausedef_t * const *clauseset; - const cfg_clausedef_t *clause; +cfg_doc_map(cfg_printer_t *pctx, const cfg_type_t *type) +{ + const cfg_clausedef_t *const *clauseset; + const cfg_clausedef_t * clause; REQUIRE(pctx != NULL); REQUIRE(type != NULL); @@ -2807,8 +2868,7 @@ cfg_doc_map(cfg_printer_t *pctx, const cfg_type_t *type) { (((clause->flags & CFG_CLAUSEFLAG_OBSOLETE) != 0) || ((clause->flags & CFG_CLAUSEFLAG_ANCIENT) != 0) || ((clause->flags & CFG_CLAUSEFLAG_NYI) != 0) || - ((clause->flags & CFG_CLAUSEFLAG_TESTONLY) != 0))) - { + ((clause->flags & CFG_CLAUSEFLAG_TESTONLY) != 0))) { continue; } cfg_print_indent(pctx); @@ -2825,15 +2885,17 @@ cfg_doc_map(cfg_printer_t *pctx, const cfg_type_t *type) { } bool -cfg_obj_ismap(const cfg_obj_t *obj) { +cfg_obj_ismap(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL); return (obj->type->rep == &cfg_rep_map); } isc_result_t -cfg_map_get(const cfg_obj_t *mapobj, const char* name, const cfg_obj_t **obj) { - isc_result_t result; - isc_symvalue_t val; +cfg_map_get(const cfg_obj_t *mapobj, const char *name, const cfg_obj_t **obj) +{ + isc_result_t result; + isc_symvalue_t val; const cfg_map_t *map; REQUIRE(mapobj != NULL && mapobj->type->rep == &cfg_rep_map); @@ -2850,13 +2912,15 @@ cfg_map_get(const cfg_obj_t *mapobj, const char* name, const cfg_obj_t **obj) { } const cfg_obj_t * -cfg_map_getname(const cfg_obj_t *mapobj) { +cfg_map_getname(const cfg_obj_t *mapobj) +{ REQUIRE(mapobj != NULL && mapobj->type->rep == &cfg_rep_map); return (mapobj->value.map.id); } unsigned int -cfg_map_count(const cfg_obj_t *mapobj) { +cfg_map_count(const cfg_obj_t *mapobj) +{ const cfg_map_t *map; REQUIRE(mapobj != NULL && mapobj->type->rep == &cfg_rep_map); @@ -2869,7 +2933,7 @@ const char * cfg_map_firstclause(const cfg_type_t *map, const void **clauses, unsigned int *idx) { - cfg_clausedef_t * const * clauseset; + cfg_clausedef_t *const *clauseset; REQUIRE(map != NULL && map->rep == &cfg_rep_map); REQUIRE(idx != NULL); @@ -2893,7 +2957,7 @@ const char * cfg_map_nextclause(const cfg_type_t *map, const void **clauses, unsigned int *idx) { - cfg_clausedef_t * const * clauseset; + cfg_clausedef_t *const *clauseset; REQUIRE(map != NULL && map->rep == &cfg_rep_map); REQUIRE(idx != NULL); @@ -2916,8 +2980,9 @@ cfg_map_nextclause(const cfg_type_t *map, const void **clauses, /* Parse an arbitrary token, storing its raw text representation. */ static isc_result_t -parse_token(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - cfg_obj_t *obj = NULL; +parse_token(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ + cfg_obj_t * obj = NULL; isc_result_t result; isc_region_t r; @@ -2940,15 +3005,15 @@ parse_token(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { *ret = obj; return (result); - cleanup: +cleanup: if (obj != NULL) isc_mem_put(pctx->mctx, obj, sizeof(*obj)); return (result); } LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_token = { - "token", parse_token, cfg_print_ustring, cfg_doc_terminal, - &cfg_rep_string, NULL + "token", parse_token, cfg_print_ustring, + cfg_doc_terminal, &cfg_rep_string, NULL }; /* @@ -2957,10 +3022,11 @@ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_token = { */ static isc_result_t -parse_unsupported(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - cfg_obj_t *listobj = NULL; +parse_unsupported(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ + cfg_obj_t * listobj = NULL; isc_result_t result; - int braces = 0; + int braces = 0; CHECK(cfg_create_list(pctx, type, &listobj)); @@ -2978,7 +3044,8 @@ parse_unsupported(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { break; } if (pctx->token.type == isc_tokentype_eof || braces < 0) { - cfg_parser_error(pctx, CFG_LOG_NEAR, "unexpected token"); + cfg_parser_error(pctx, CFG_LOG_NEAR, + "unexpected token"); result = ISC_R_UNEXPECTEDTOKEN; goto cleanup; } @@ -2990,14 +3057,14 @@ parse_unsupported(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { *ret = listobj; return (ISC_R_SUCCESS); - cleanup: +cleanup: CLEANUP_OBJ(listobj); return (result); } LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_unsupported = { - "unsupported", parse_unsupported, cfg_print_spacelist, cfg_doc_terminal, - &cfg_rep_list, NULL + "unsupported", parse_unsupported, cfg_print_spacelist, + cfg_doc_terminal, &cfg_rep_list, NULL }; /* @@ -3010,9 +3077,10 @@ LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_unsupported = { * and the IPv6 wildcard address otherwise. */ static isc_result_t -token_addr(cfg_parser_t *pctx, unsigned int flags, isc_netaddr_t *na) { - char *s; - struct in_addr in4a; +token_addr(cfg_parser_t *pctx, unsigned int flags, isc_netaddr_t *na) +{ + char * s; + struct in_addr in4a; struct in6_addr in6a; if (pctx->token.type != isc_tokentype_string) @@ -3039,7 +3107,7 @@ token_addr(cfg_parser_t *pctx, unsigned int flags, isc_netaddr_t *na) { } if ((flags & CFG_ADDR_V4PREFIXOK) != 0 && strlen(s) <= 15U) { char buf[64]; - int i; + int i; strlcpy(buf, s, sizeof(buf)); for (i = 0; i < 3; i++) { @@ -3051,8 +3119,8 @@ token_addr(cfg_parser_t *pctx, unsigned int flags, isc_netaddr_t *na) { } } if ((flags & CFG_ADDR_V6OK) != 0 && strlen(s) <= 127U) { - char buf[128]; /* see lib/bind9/getaddresses.c */ - char *d; /* zone delimiter */ + char buf[128]; /* see lib/bind9/getaddresses.c */ + char * d; /* zone delimiter */ uint32_t zone = 0; /* scope zone ID */ strlcpy(buf, s, sizeof(buf)); @@ -3064,10 +3132,8 @@ token_addr(cfg_parser_t *pctx, unsigned int flags, isc_netaddr_t *na) { if (d != NULL) { isc_result_t result; - result = isc_netscope_pton(AF_INET6, - d + 1, - &in6a, - &zone); + result = isc_netscope_pton( + AF_INET6, d + 1, &in6a, &zone); if (result != ISC_R_SUCCESS) return (result); } @@ -3082,10 +3148,11 @@ token_addr(cfg_parser_t *pctx, unsigned int flags, isc_netaddr_t *na) { } isc_result_t -cfg_parse_rawaddr(cfg_parser_t *pctx, unsigned int flags, isc_netaddr_t *na) { +cfg_parse_rawaddr(cfg_parser_t *pctx, unsigned int flags, isc_netaddr_t *na) +{ isc_result_t result; - const char *wild = ""; - const char *prefix = ""; + const char * wild = ""; + const char * prefix = ""; REQUIRE(pctx != NULL); REQUIRE(na != NULL); @@ -3099,24 +3166,25 @@ cfg_parse_rawaddr(cfg_parser_t *pctx, unsigned int flags, isc_netaddr_t *na) { wild = " or IPv4 prefix"; if ((flags & CFG_ADDR_MASK) == CFG_ADDR_V4OK) cfg_parser_error(pctx, CFG_LOG_NEAR, - "expected IPv4 address%s%s", - prefix, wild); + "expected IPv4 address%s%s", prefix, + wild); else if ((flags & CFG_ADDR_MASK) == CFG_ADDR_V6OK) cfg_parser_error(pctx, CFG_LOG_NEAR, - "expected IPv6 address%s%s", - prefix, wild); + "expected IPv6 address%s%s", prefix, + wild); else cfg_parser_error(pctx, CFG_LOG_NEAR, - "expected IP address%s%s", - prefix, wild); + "expected IP address%s%s", prefix, + wild); } - cleanup: +cleanup: return (result); } bool -cfg_lookingat_netaddr(cfg_parser_t *pctx, unsigned int flags) { - isc_result_t result; +cfg_lookingat_netaddr(cfg_parser_t *pctx, unsigned int flags) +{ + isc_result_t result; isc_netaddr_t na_dummy; REQUIRE(pctx != NULL); @@ -3126,7 +3194,8 @@ cfg_lookingat_netaddr(cfg_parser_t *pctx, unsigned int flags) { } isc_result_t -cfg_parse_rawport(cfg_parser_t *pctx, unsigned int flags, in_port_t *port) { +cfg_parse_rawport(cfg_parser_t *pctx, unsigned int flags, in_port_t *port) +{ isc_result_t result; REQUIRE(pctx != NULL); @@ -3142,24 +3211,25 @@ cfg_parse_rawport(cfg_parser_t *pctx, unsigned int flags, in_port_t *port) { } if (pctx->token.type != isc_tokentype_number) { cfg_parser_error(pctx, CFG_LOG_NEAR, - "expected port number or '*'"); + "expected port number or '*'"); return (ISC_R_UNEXPECTEDTOKEN); } if (pctx->token.value.as_ulong >= 65536U) { cfg_parser_error(pctx, CFG_LOG_NEAR, - "port number out of range"); + "port number out of range"); return (ISC_R_UNEXPECTEDTOKEN); } *port = (in_port_t)(pctx->token.value.as_ulong); return (ISC_R_SUCCESS); - cleanup: +cleanup: return (result); } void -cfg_print_rawaddr(cfg_printer_t *pctx, const isc_netaddr_t *na) { +cfg_print_rawaddr(cfg_printer_t *pctx, const isc_netaddr_t *na) +{ isc_result_t result; - char text[128]; + char text[128]; isc_buffer_t buf; REQUIRE(pctx != NULL); @@ -3173,7 +3243,8 @@ cfg_print_rawaddr(cfg_printer_t *pctx, const isc_netaddr_t *na) { } isc_result_t -cfg_parse_dscp(cfg_parser_t *pctx, isc_dscp_t *dscp) { +cfg_parse_dscp(cfg_parser_t *pctx, isc_dscp_t *dscp) +{ isc_result_t result; REQUIRE(pctx != NULL); @@ -3182,18 +3253,16 @@ cfg_parse_dscp(cfg_parser_t *pctx, isc_dscp_t *dscp) { CHECK(cfg_gettoken(pctx, ISC_LEXOPT_NUMBER | ISC_LEXOPT_CNUMBER)); if (pctx->token.type != isc_tokentype_number) { - cfg_parser_error(pctx, CFG_LOG_NEAR, - "expected number"); + cfg_parser_error(pctx, CFG_LOG_NEAR, "expected number"); return (ISC_R_UNEXPECTEDTOKEN); } if (pctx->token.value.as_ulong > 63U) { - cfg_parser_error(pctx, CFG_LOG_NEAR, - "dscp out of range"); + cfg_parser_error(pctx, CFG_LOG_NEAR, "dscp out of range"); return (ISC_R_RANGE); } *dscp = (isc_dscp_t)(pctx->token.value.as_ulong); return (ISC_R_SUCCESS); - cleanup: +cleanup: return (result); } @@ -3206,26 +3275,28 @@ static unsigned int netaddr6_flags = CFG_ADDR_V6OK; static unsigned int netaddr6wild_flags = CFG_ADDR_V6OK | CFG_ADDR_WILDOK; static isc_result_t -parse_netaddr(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - isc_result_t result; - cfg_obj_t *obj = NULL; +parse_netaddr(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ + isc_result_t result; + cfg_obj_t * obj = NULL; isc_netaddr_t netaddr; - unsigned int flags = *(const unsigned int *)type->of; + unsigned int flags = *(const unsigned int *)type->of; CHECK(cfg_create_obj(pctx, type, &obj)); CHECK(cfg_parse_rawaddr(pctx, flags, &netaddr)); isc_sockaddr_fromnetaddr(&obj->value.sockaddr, &netaddr, 0); *ret = obj; return (ISC_R_SUCCESS); - cleanup: +cleanup: CLEANUP_OBJ(obj); return (result); } static void -cfg_doc_netaddr(cfg_printer_t *pctx, const cfg_type_t *type) { +cfg_doc_netaddr(cfg_printer_t *pctx, const cfg_type_t *type) +{ const unsigned int *flagp = type->of; - int n = 0; + int n = 0; if (*flagp != CFG_ADDR_V4OK && *flagp != CFG_ADDR_V6OK) { cfg_print_cstr(pctx, "( "); } @@ -3252,49 +3323,49 @@ cfg_doc_netaddr(cfg_printer_t *pctx, const cfg_type_t *type) { } LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_netaddr = { - "netaddr", parse_netaddr, cfg_print_sockaddr, cfg_doc_netaddr, - &cfg_rep_sockaddr, &netaddr_flags + "netaddr", parse_netaddr, cfg_print_sockaddr, + cfg_doc_netaddr, &cfg_rep_sockaddr, &netaddr_flags }; LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_netaddr4 = { - "netaddr4", parse_netaddr, cfg_print_sockaddr, cfg_doc_netaddr, - &cfg_rep_sockaddr, &netaddr4_flags + "netaddr4", parse_netaddr, cfg_print_sockaddr, + cfg_doc_netaddr, &cfg_rep_sockaddr, &netaddr4_flags }; LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_netaddr4wild = { - "netaddr4wild", parse_netaddr, cfg_print_sockaddr, cfg_doc_netaddr, - &cfg_rep_sockaddr, &netaddr4wild_flags + "netaddr4wild", parse_netaddr, cfg_print_sockaddr, + cfg_doc_netaddr, &cfg_rep_sockaddr, &netaddr4wild_flags }; LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_netaddr6 = { - "netaddr6", parse_netaddr, cfg_print_sockaddr, cfg_doc_netaddr, - &cfg_rep_sockaddr, &netaddr6_flags + "netaddr6", parse_netaddr, cfg_print_sockaddr, + cfg_doc_netaddr, &cfg_rep_sockaddr, &netaddr6_flags }; LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_netaddr6wild = { - "netaddr6wild", parse_netaddr, cfg_print_sockaddr, cfg_doc_netaddr, - &cfg_rep_sockaddr, &netaddr6wild_flags + "netaddr6wild", parse_netaddr, cfg_print_sockaddr, + cfg_doc_netaddr, &cfg_rep_sockaddr, &netaddr6wild_flags }; /* netprefix */ isc_result_t -cfg_parse_netprefix(cfg_parser_t *pctx, const cfg_type_t *type, - cfg_obj_t **ret) +cfg_parse_netprefix(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - cfg_obj_t *obj = NULL; - isc_result_t result; + cfg_obj_t * obj = NULL; + isc_result_t result; isc_netaddr_t netaddr; - unsigned int addrlen = 0, prefixlen; - bool expectprefix; + unsigned int addrlen = 0, prefixlen; + bool expectprefix; REQUIRE(pctx != NULL); REQUIRE(ret != NULL && *ret == NULL); UNUSED(type); - result = cfg_parse_rawaddr(pctx, CFG_ADDR_V4OK | CFG_ADDR_V4PREFIXOK | - CFG_ADDR_V6OK, &netaddr); + result = cfg_parse_rawaddr( + pctx, CFG_ADDR_V4OK | CFG_ADDR_V4PREFIXOK | CFG_ADDR_V6OK, + &netaddr); if (result != ISC_R_SUCCESS && result != ISC_R_IPV4PREFIX) { CHECK(result); } @@ -3332,7 +3403,8 @@ cfg_parse_netprefix(cfg_parser_t *pctx, const cfg_type_t *type, isc_netaddr_format(&netaddr, buf, sizeof(buf)); cfg_parser_error(pctx, CFG_LOG_NOPREP, "'%s/%u': address/prefix length " - "mismatch", buf, prefixlen); + "mismatch", + buf, prefixlen); return (ISC_R_FAILURE); } } else { @@ -3348,13 +3420,14 @@ cfg_parse_netprefix(cfg_parser_t *pctx, const cfg_type_t *type, obj->value.netprefix.prefixlen = prefixlen; *ret = obj; return (ISC_R_SUCCESS); - cleanup: +cleanup: cfg_parser_error(pctx, CFG_LOG_NEAR, "expected network prefix"); return (result); } static void -print_netprefix(cfg_printer_t *pctx, const cfg_obj_t *obj) { +print_netprefix(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ const cfg_netprefix_t *p = &obj->value.netprefix; cfg_print_rawaddr(pctx, &p->address); @@ -3363,7 +3436,8 @@ print_netprefix(cfg_printer_t *pctx, const cfg_obj_t *obj) { } bool -cfg_obj_isnetprefix(const cfg_obj_t *obj) { +cfg_obj_isnetprefix(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL); return (obj->type->rep == &cfg_rep_netprefix); } @@ -3381,20 +3455,20 @@ cfg_obj_asnetprefix(const cfg_obj_t *obj, isc_netaddr_t *netaddr, } LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_netprefix = { - "netprefix", cfg_parse_netprefix, print_netprefix, cfg_doc_terminal, - &cfg_rep_netprefix, NULL + "netprefix", cfg_parse_netprefix, print_netprefix, + cfg_doc_terminal, &cfg_rep_netprefix, NULL }; static isc_result_t -parse_sockaddrsub(cfg_parser_t *pctx, const cfg_type_t *type, - int flags, cfg_obj_t **ret) +parse_sockaddrsub(cfg_parser_t *pctx, const cfg_type_t *type, int flags, + cfg_obj_t **ret) { - isc_result_t result; + isc_result_t result; isc_netaddr_t netaddr; - in_port_t port = 0; - isc_dscp_t dscp = -1; - cfg_obj_t *obj = NULL; - int have_port = 0, have_dscp = 0; + in_port_t port = 0; + isc_dscp_t dscp = -1; + cfg_obj_t * obj = NULL; + int have_port = 0, have_dscp = 0; CHECK(cfg_create_obj(pctx, type, &obj)); CHECK(cfg_parse_rawaddr(pctx, flags, &netaddr)); @@ -3406,8 +3480,8 @@ parse_sockaddrsub(cfg_parser_t *pctx, const cfg_type_t *type, CHECK(cfg_parse_rawport(pctx, flags, &port)); ++have_port; } else if ((flags & CFG_ADDR_DSCPOK) != 0 && - strcasecmp(TOKEN_STRING(pctx), "dscp") == 0) - { + strcasecmp(TOKEN_STRING(pctx), "dscp") == + 0) { CHECK(cfg_gettoken(pctx, 0)); /* read "dscp" */ CHECK(cfg_parse_dscp(pctx, &dscp)); ++have_dscp; @@ -3432,26 +3506,27 @@ parse_sockaddrsub(cfg_parser_t *pctx, const cfg_type_t *type, *ret = obj; return (ISC_R_SUCCESS); - cleanup: +cleanup: CLEANUP_OBJ(obj); return (result); } static unsigned int sockaddr_flags = CFG_ADDR_V4OK | CFG_ADDR_V6OK; LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_sockaddr = { - "sockaddr", cfg_parse_sockaddr, cfg_print_sockaddr, cfg_doc_sockaddr, - &cfg_rep_sockaddr, &sockaddr_flags + "sockaddr", cfg_parse_sockaddr, cfg_print_sockaddr, + cfg_doc_sockaddr, &cfg_rep_sockaddr, &sockaddr_flags }; static unsigned int sockaddrdscp_flags = CFG_ADDR_V4OK | CFG_ADDR_V6OK | CFG_ADDR_DSCPOK; LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_sockaddrdscp = { - "sockaddr", cfg_parse_sockaddr, cfg_print_sockaddr, cfg_doc_sockaddr, - &cfg_rep_sockaddr, &sockaddrdscp_flags + "sockaddr", cfg_parse_sockaddr, cfg_print_sockaddr, + cfg_doc_sockaddr, &cfg_rep_sockaddr, &sockaddrdscp_flags }; isc_result_t -cfg_parse_sockaddr(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +cfg_parse_sockaddr(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ const unsigned int *flagp; REQUIRE(pctx != NULL); @@ -3464,10 +3539,11 @@ cfg_parse_sockaddr(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) } void -cfg_print_sockaddr(cfg_printer_t *pctx, const cfg_obj_t *obj) { +cfg_print_sockaddr(cfg_printer_t *pctx, const cfg_obj_t *obj) +{ isc_netaddr_t netaddr; - in_port_t port; - char buf[ISC_NETADDR_FORMATSIZE]; + in_port_t port; + char buf[ISC_NETADDR_FORMATSIZE]; REQUIRE(pctx != NULL); REQUIRE(obj != NULL); @@ -3487,9 +3563,10 @@ cfg_print_sockaddr(cfg_printer_t *pctx, const cfg_obj_t *obj) { } void -cfg_doc_sockaddr(cfg_printer_t *pctx, const cfg_type_t *type) { +cfg_doc_sockaddr(cfg_printer_t *pctx, const cfg_type_t *type) +{ const unsigned int *flagp; - int n = 0; + int n = 0; REQUIRE(pctx != NULL); REQUIRE(type != NULL); @@ -3526,25 +3603,29 @@ cfg_doc_sockaddr(cfg_printer_t *pctx, const cfg_type_t *type) { } bool -cfg_obj_issockaddr(const cfg_obj_t *obj) { +cfg_obj_issockaddr(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL); return (obj->type->rep == &cfg_rep_sockaddr); } const isc_sockaddr_t * -cfg_obj_assockaddr(const cfg_obj_t *obj) { +cfg_obj_assockaddr(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL && obj->type->rep == &cfg_rep_sockaddr); return (&obj->value.sockaddr); } isc_dscp_t -cfg_obj_getdscp(const cfg_obj_t *obj) { +cfg_obj_getdscp(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL && obj->type->rep == &cfg_rep_sockaddr); return (obj->value.sockaddrdscp.dscp); } isc_result_t -cfg_gettoken(cfg_parser_t *pctx, int options) { +cfg_gettoken(cfg_parser_t *pctx, int options) +{ isc_result_t result; REQUIRE(pctx != NULL); @@ -3554,7 +3635,7 @@ cfg_gettoken(cfg_parser_t *pctx, int options) { options |= (ISC_LEXOPT_EOF | ISC_LEXOPT_NOMORE); - redo: +redo: pctx->token.type = isc_tokentype_unknown; result = isc_lex_gettoken(pctx->lexer, options, &pctx->token); pctx->ungotten = false; @@ -3572,13 +3653,13 @@ cfg_gettoken(cfg_parser_t *pctx, int options) { * Closed an included file, not the main file. */ cfg_listelt_t *elt; - elt = ISC_LIST_TAIL(pctx->open_files-> - value.list); + elt = ISC_LIST_TAIL( + pctx->open_files->value.list); INSIST(elt != NULL); - ISC_LIST_UNLINK(pctx->open_files-> - value.list, elt, link); - ISC_LIST_APPEND(pctx->closed_files-> - value.list, elt, link); + ISC_LIST_UNLINK(pctx->open_files->value.list, + elt, link); + ISC_LIST_APPEND(pctx->closed_files->value.list, + elt, link); goto redo; } pctx->seen_eof = true; @@ -3591,8 +3672,7 @@ cfg_gettoken(cfg_parser_t *pctx, int options) { break; case ISC_R_IOERROR: - cfg_parser_error(pctx, 0, "%s", - isc_result_totext(result)); + cfg_parser_error(pctx, 0, "%s", isc_result_totext(result)); break; default: @@ -3604,7 +3684,8 @@ cfg_gettoken(cfg_parser_t *pctx, int options) { } void -cfg_ungettoken(cfg_parser_t *pctx) { +cfg_ungettoken(cfg_parser_t *pctx) +{ REQUIRE(pctx != NULL); if (pctx->seen_eof) @@ -3614,14 +3695,15 @@ cfg_ungettoken(cfg_parser_t *pctx) { } isc_result_t -cfg_peektoken(cfg_parser_t *pctx, int options) { +cfg_peektoken(cfg_parser_t *pctx, int options) +{ isc_result_t result; REQUIRE(pctx != NULL); CHECK(cfg_gettoken(pctx, options)); cfg_ungettoken(pctx); - cleanup: +cleanup: return (result); } @@ -3630,7 +3712,8 @@ cfg_peektoken(cfg_parser_t *pctx, int options) { * Log an error if the next token is not a string. */ static isc_result_t -cfg_getstringtoken(cfg_parser_t *pctx) { +cfg_getstringtoken(cfg_parser_t *pctx) +{ isc_result_t result; result = cfg_gettoken(pctx, CFG_LEXOPT_QSTRING); @@ -3646,7 +3729,8 @@ cfg_getstringtoken(cfg_parser_t *pctx) { } void -cfg_parser_error(cfg_parser_t *pctx, unsigned int flags, const char *fmt, ...) { +cfg_parser_error(cfg_parser_t *pctx, unsigned int flags, const char *fmt, ...) +{ va_list args; REQUIRE(pctx != NULL); @@ -3659,7 +3743,8 @@ cfg_parser_error(cfg_parser_t *pctx, unsigned int flags, const char *fmt, ...) { } void -cfg_parser_warning(cfg_parser_t *pctx, unsigned int flags, const char *fmt, ...) { +cfg_parser_warning(cfg_parser_t *pctx, unsigned int flags, const char *fmt, ...) +{ va_list args; REQUIRE(pctx != NULL); @@ -3674,30 +3759,32 @@ cfg_parser_warning(cfg_parser_t *pctx, unsigned int flags, const char *fmt, ...) #define MAX_LOG_TOKEN 30 /* How much of a token to quote in log messages. */ static bool -have_current_file(cfg_parser_t *pctx) { +have_current_file(cfg_parser_t *pctx) +{ cfg_listelt_t *elt; if (pctx->open_files == NULL) return (false); elt = ISC_LIST_TAIL(pctx->open_files->value.list); if (elt == NULL) - return (false); + return (false); return (true); } static char * -current_file(cfg_parser_t *pctx) { - static char none[] = "none"; +current_file(cfg_parser_t *pctx) +{ + static char none[] = "none"; cfg_listelt_t *elt; - cfg_obj_t *fileobj; + cfg_obj_t * fileobj; if (!have_current_file(pctx)) return (none); elt = ISC_LIST_TAIL(pctx->open_files->value.list); - if (elt == NULL) /* shouldn't be possible, but... */ - return (none); + if (elt == NULL) /* shouldn't be possible, but... */ + return (none); fileobj = elt->obj; INSIST(fileobj->type == &cfg_type_qstring); @@ -3705,24 +3792,23 @@ current_file(cfg_parser_t *pctx) { } static void -parser_complain(cfg_parser_t *pctx, bool is_warning, - unsigned int flags, const char *format, - va_list args) +parser_complain(cfg_parser_t *pctx, bool is_warning, unsigned int flags, + const char *format, va_list args) { - char tokenbuf[MAX_LOG_TOKEN + 10]; + char tokenbuf[MAX_LOG_TOKEN + 10]; static char where[PATH_MAX + 100]; static char message[2048]; - int level = ISC_LOG_ERROR; + int level = ISC_LOG_ERROR; const char *prep = ""; - size_t len; + size_t len; if (is_warning) level = ISC_LOG_WARNING; where[0] = '\0'; if (have_current_file(pctx)) - snprintf(where, sizeof(where), "%s:%u: ", - current_file(pctx), pctx->line); + snprintf(where, sizeof(where), "%s:%u: ", current_file(pctx), + pctx->line); else if (pctx->buf_name != NULL) snprintf(where, sizeof(where), "%s: ", pctx->buf_name); @@ -3733,7 +3819,7 @@ parser_complain(cfg_parser_t *pctx, bool is_warning, strlcat(message, ELIPSIS, sizeof(message)); } - if ((flags & (CFG_LOG_NEAR|CFG_LOG_BEFORE|CFG_LOG_NOPREP)) != 0) { + if ((flags & (CFG_LOG_NEAR | CFG_LOG_BEFORE | CFG_LOG_NOPREP)) != 0) { isc_region_t r; if (pctx->ungotten) @@ -3745,14 +3831,13 @@ parser_complain(cfg_parser_t *pctx, bool is_warning, flags = 0; tokenbuf[0] = '\0'; } else { - isc_lex_getlasttokentext(pctx->lexer, - &pctx->token, &r); + isc_lex_getlasttokentext(pctx->lexer, &pctx->token, &r); if (r.length > MAX_LOG_TOKEN) snprintf(tokenbuf, sizeof(tokenbuf), "'%.*s...'", MAX_LOG_TOKEN, r.base); else - snprintf(tokenbuf, sizeof(tokenbuf), - "'%.*s'", (int)r.length, r.base); + snprintf(tokenbuf, sizeof(tokenbuf), "'%.*s'", + (int)r.length, r.base); } /* Choose a preposition. */ @@ -3766,20 +3851,21 @@ parser_complain(cfg_parser_t *pctx, bool is_warning, } else { tokenbuf[0] = '\0'; } - isc_log_write(pctx->lctx, CAT, MOD, level, - "%s%s%s%s", where, message, prep, tokenbuf); + isc_log_write(pctx->lctx, CAT, MOD, level, "%s%s%s%s", where, message, + prep, tokenbuf); } void -cfg_obj_log(const cfg_obj_t *obj, isc_log_t *lctx, int level, - const char *fmt, ...) { +cfg_obj_log(const cfg_obj_t *obj, isc_log_t *lctx, int level, const char *fmt, + ...) +{ va_list ap; - char msgbuf[2048]; + char msgbuf[2048]; REQUIRE(obj != NULL); REQUIRE(fmt != NULL); - if (! isc_log_wouldlog(lctx, level)) + if (!isc_log_wouldlog(lctx, level)) return; va_start(ap, fmt); @@ -3787,29 +3873,32 @@ cfg_obj_log(const cfg_obj_t *obj, isc_log_t *lctx, int level, va_end(ap); if (obj->file != NULL) { - isc_log_write(lctx, CAT, MOD, level, - "%s:%u: %s", obj->file, obj->line, msgbuf); + isc_log_write(lctx, CAT, MOD, level, "%s:%u: %s", obj->file, + obj->line, msgbuf); } else { isc_log_write(lctx, CAT, MOD, level, "%s", msgbuf); } } const char * -cfg_obj_file(const cfg_obj_t *obj) { +cfg_obj_file(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL); return (obj->file); } unsigned int -cfg_obj_line(const cfg_obj_t *obj) { +cfg_obj_line(const cfg_obj_t *obj) +{ REQUIRE(obj != NULL); return (obj->line); } isc_result_t -cfg_create_obj(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { +cfg_create_obj(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ cfg_obj_t *obj; REQUIRE(pctx != NULL); @@ -3830,12 +3919,11 @@ cfg_create_obj(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { return (ISC_R_SUCCESS); } - static void -map_symtabitem_destroy(char *key, unsigned int type, - isc_symvalue_t symval, void *userarg) +map_symtabitem_destroy(char *key, unsigned int type, isc_symvalue_t symval, + void *userarg) { - cfg_obj_t *obj = symval.as_pointer; + cfg_obj_t * obj = symval.as_pointer; cfg_parser_t *pctx = (cfg_parser_t *)userarg; UNUSED(key); @@ -3845,36 +3933,37 @@ map_symtabitem_destroy(char *key, unsigned int type, } static isc_result_t -create_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - isc_result_t result; +create_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) +{ + isc_result_t result; isc_symtab_t *symtab = NULL; - cfg_obj_t *obj = NULL; + cfg_obj_t * obj = NULL; CHECK(cfg_create_obj(pctx, type, &obj)); CHECK(isc_symtab_create(pctx->mctx, 5, /* XXX */ - map_symtabitem_destroy, - pctx, false, &symtab)); + map_symtabitem_destroy, pctx, false, &symtab)); obj->value.map.symtab = symtab; obj->value.map.id = NULL; *ret = obj; return (ISC_R_SUCCESS); - cleanup: +cleanup: if (obj != NULL) isc_mem_put(pctx->mctx, obj, sizeof(*obj)); return (result); } static void -free_map(cfg_parser_t *pctx, cfg_obj_t *obj) { +free_map(cfg_parser_t *pctx, cfg_obj_t *obj) +{ CLEANUP_OBJ(obj->value.map.id); isc_symtab_destroy(&obj->value.map.symtab); } bool -cfg_obj_istype(const cfg_obj_t *obj, const cfg_type_t *type) { - +cfg_obj_istype(const cfg_obj_t *obj, const cfg_type_t *type) +{ REQUIRE(obj != NULL); REQUIRE(type != NULL); @@ -3885,7 +3974,8 @@ cfg_obj_istype(const cfg_obj_t *obj, const cfg_type_t *type) { * Destroy 'obj', a configuration object created in 'pctx'. */ void -cfg_obj_destroy(cfg_parser_t *pctx, cfg_obj_t **objp) { +cfg_obj_destroy(cfg_parser_t *pctx, cfg_obj_t **objp) +{ REQUIRE(objp != NULL && *objp != NULL); REQUIRE(pctx != NULL); @@ -3900,22 +3990,25 @@ cfg_obj_destroy(cfg_parser_t *pctx, cfg_obj_t **objp) { } void -cfg_obj_attach(cfg_obj_t *src, cfg_obj_t **dest) { - REQUIRE(src != NULL); - REQUIRE(dest != NULL && *dest == NULL); +cfg_obj_attach(cfg_obj_t *src, cfg_obj_t **dest) +{ + REQUIRE(src != NULL); + REQUIRE(dest != NULL && *dest == NULL); - isc_refcount_increment(&src->references); - *dest = src; + isc_refcount_increment(&src->references); + *dest = src; } static void -free_noop(cfg_parser_t *pctx, cfg_obj_t *obj) { +free_noop(cfg_parser_t *pctx, cfg_obj_t *obj) +{ UNUSED(pctx); UNUSED(obj); } void -cfg_doc_obj(cfg_printer_t *pctx, const cfg_type_t *type) { +cfg_doc_obj(cfg_printer_t *pctx, const cfg_type_t *type) +{ REQUIRE(pctx != NULL); REQUIRE(type != NULL); @@ -3923,7 +4016,8 @@ cfg_doc_obj(cfg_printer_t *pctx, const cfg_type_t *type) { } void -cfg_doc_terminal(cfg_printer_t *pctx, const cfg_type_t *type) { +cfg_doc_terminal(cfg_printer_t *pctx, const cfg_type_t *type) +{ REQUIRE(pctx != NULL); REQUIRE(type != NULL); @@ -3934,8 +4028,8 @@ cfg_doc_terminal(cfg_printer_t *pctx, const cfg_type_t *type) { void cfg_print_grammar(const cfg_type_t *type, unsigned int flags, - void (*f)(void *closure, const char *text, int textlen), - void *closure) + void (*f)(void *closure, const char *text, int textlen), + void *closure) { cfg_printer_t pctx; @@ -3947,16 +4041,16 @@ cfg_print_grammar(const cfg_type_t *type, unsigned int flags, } isc_result_t -cfg_parser_mapadd(cfg_parser_t *pctx, cfg_obj_t *mapobj, - cfg_obj_t *obj, const char *clausename) +cfg_parser_mapadd(cfg_parser_t *pctx, cfg_obj_t *mapobj, cfg_obj_t *obj, + const char *clausename) { - isc_result_t result = ISC_R_SUCCESS; - const cfg_map_t *map; - isc_symvalue_t symval; - cfg_obj_t *destobj = NULL; - cfg_listelt_t *elt = NULL; - const cfg_clausedef_t * const *clauseset; - const cfg_clausedef_t *clause; + isc_result_t result = ISC_R_SUCCESS; + const cfg_map_t * map; + isc_symvalue_t symval; + cfg_obj_t * destobj = NULL; + cfg_listelt_t * elt = NULL; + const cfg_clausedef_t *const *clauseset; + const cfg_clausedef_t * clause; REQUIRE(pctx != NULL); REQUIRE(mapobj != NULL && mapobj->type->rep == &cfg_rep_map); @@ -3974,7 +4068,7 @@ cfg_parser_mapadd(cfg_parser_t *pctx, cfg_obj_t *mapobj, } } - breakout: +breakout: if (clause == NULL || clause->name == NULL) return (ISC_R_FAILURE); @@ -4008,7 +4102,7 @@ cfg_parser_mapadd(cfg_parser_t *pctx, cfg_obj_t *mapobj, destobj = NULL; elt = NULL; - cleanup: +cleanup: if (elt != NULL) free_listelt(pctx, elt); CLEANUP_OBJ(destobj); @@ -4021,20 +4115,18 @@ cfg_pluginlist_foreach(const cfg_obj_t *config, const cfg_obj_t *list, isc_log_t *lctx, pluginlist_cb_t *callback, void *callback_data) { - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; const cfg_listelt_t *element; REQUIRE(config != NULL); REQUIRE(callback != NULL); - for (element = cfg_list_first(list); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(list); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *plugin = cfg_listelt_value(element); const cfg_obj_t *obj; - const char *type, *library; - const char *parameters = NULL; + const char * type, *library; + const char * parameters = NULL; /* Get the path to the plugin module. */ obj = cfg_tuple_get(plugin, "type"); diff --git a/lib/isccfg/tests/duration_test.c b/lib/isccfg/tests/duration_test.c index a70d4697f3..bb748f675d 100644 --- a/lib/isccfg/tests/duration_test.c +++ b/lib/isccfg/tests/duration_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -35,29 +34,28 @@ #include #include -#define CHECK(r) \ - do { \ - result = (r); \ +#define CHECK(r) \ + do { \ + result = (r); \ if (result != ISC_R_SUCCESS) \ - goto cleanup; \ + goto cleanup; \ } while (0) -isc_mem_t *mctx = NULL; -isc_log_t *lctx = NULL; -static isc_logcategory_t categories[] = { - { "", 0 }, - { "client", 0 }, - { "network", 0 }, - { "update", 0 }, - { "queries", 0 }, - { "unmatched", 0 }, - { "update-security", 0 }, - { "query-errors", 0 }, - { NULL, 0 } -}; +isc_mem_t * mctx = NULL; +isc_log_t * lctx = NULL; +static isc_logcategory_t categories[] = { { "", 0 }, + { "client", 0 }, + { "network", 0 }, + { "update", 0 }, + { "queries", 0 }, + { "unmatched", 0 }, + { "update-security", 0 }, + { "query-errors", 0 }, + { NULL, 0 } }; static void -cleanup() { +cleanup() +{ if (lctx != NULL) { isc_log_destroy(&lctx); } @@ -67,14 +65,15 @@ cleanup() { } static isc_result_t -setup() { +setup() +{ isc_result_t result; isc_mem_debugging |= ISC_MEM_DEBUGRECORD; isc_mem_create(&mctx); isc_logdestination_t destination; - isc_logconfig_t *logconfig = NULL; + isc_logconfig_t * logconfig = NULL; CHECK(isc_log_create(mctx, &lctx, &logconfig)); isc_log_registercategories(lctx, categories); @@ -84,29 +83,28 @@ setup() { destination.file.name = NULL; destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.maximum_size = 0; - CHECK(isc_log_createchannel(logconfig, "stderr", - ISC_LOG_TOFILEDESC, - ISC_LOG_DYNAMIC, - &destination, 0)); + CHECK(isc_log_createchannel(logconfig, "stderr", ISC_LOG_TOFILEDESC, + ISC_LOG_DYNAMIC, &destination, 0)); CHECK(isc_log_usechannel(logconfig, "stderr", NULL, NULL)); return (ISC_R_SUCCESS); - cleanup: +cleanup: cleanup(); return (result); } struct duration_conf { - const char* string; - uint32_t time; + const char *string; + uint32_t time; }; typedef struct duration_conf duration_conf_t; /* test cfg_obj_asduration() */ static void -cfg_obj_asduration_test(void **state) { - isc_result_t result; +cfg_obj_asduration_test(void **state) +{ + isc_result_t result; duration_conf_t durations[] = { { .string = "PT0S", .time = 0 }, { .string = "PT42S", .time = 42 }, @@ -131,10 +129,10 @@ cfg_obj_asduration_test(void **state) { { .string = "7d", .time = 604800 }, { .string = "2w", .time = 1209600 }, }; - int num = 22; - isc_buffer_t buf1; + int num = 22; + isc_buffer_t buf1; cfg_parser_t *p1 = NULL; - cfg_obj_t *c1 = NULL; + cfg_obj_t * c1 = NULL; UNUSED(state); @@ -142,8 +140,8 @@ cfg_obj_asduration_test(void **state) { for (int i = 0; i < num; i++) { const cfg_listelt_t *element; - const cfg_obj_t *kasps = NULL; - char conf[64]; + const cfg_obj_t * kasps = NULL; + char conf[64]; sprintf(&conf[0], "dnssec-policy \"dp\"\n{\nsignatures-refresh %s;\n};\n", durations[i].string); @@ -161,13 +159,11 @@ cfg_obj_asduration_test(void **state) { (void)cfg_map_get(c1, "dnssec-policy", &kasps); assert_non_null(kasps); - for (element = cfg_list_first(kasps); - element != NULL; - element = cfg_list_next(element)) - { + for (element = cfg_list_first(kasps); element != NULL; + element = cfg_list_next(element)) { const cfg_obj_t *d1 = NULL; const cfg_obj_t *kopts = NULL; - cfg_obj_t *kconf = cfg_listelt_value(element); + cfg_obj_t * kconf = cfg_listelt_value(element); assert_non_null(kconf); kopts = cfg_tuple_get(kconf, "options"); @@ -186,7 +182,8 @@ cfg_obj_asduration_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(cfg_obj_asduration_test), }; @@ -199,7 +196,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isccfg/tests/parser_test.c b/lib/isccfg/tests/parser_test.c index 84e6e5fd03..455bff4a59 100644 --- a/lib/isccfg/tests/parser_test.c +++ b/lib/isccfg/tests/parser_test.c @@ -11,11 +11,10 @@ #if HAVE_CMOCKA +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -35,29 +34,28 @@ #include #include -#define CHECK(r) \ - do { \ - result = (r); \ +#define CHECK(r) \ + do { \ + result = (r); \ if (result != ISC_R_SUCCESS) \ - goto cleanup; \ + goto cleanup; \ } while (0) -isc_mem_t *mctx = NULL; -isc_log_t *lctx = NULL; -static isc_logcategory_t categories[] = { - { "", 0 }, - { "client", 0 }, - { "network", 0 }, - { "update", 0 }, - { "queries", 0 }, - { "unmatched", 0 }, - { "update-security", 0 }, - { "query-errors", 0 }, - { NULL, 0 } -}; +isc_mem_t * mctx = NULL; +isc_log_t * lctx = NULL; +static isc_logcategory_t categories[] = { { "", 0 }, + { "client", 0 }, + { "network", 0 }, + { "update", 0 }, + { "queries", 0 }, + { "unmatched", 0 }, + { "update-security", 0 }, + { "query-errors", 0 }, + { NULL, 0 } }; static void -cleanup() { +cleanup() +{ if (lctx != NULL) { isc_log_destroy(&lctx); } @@ -67,14 +65,15 @@ cleanup() { } static isc_result_t -setup() { +setup() +{ isc_result_t result; isc_mem_debugging |= ISC_MEM_DEBUGRECORD; isc_mem_create(&mctx); isc_logdestination_t destination; - isc_logconfig_t *logconfig = NULL; + isc_logconfig_t * logconfig = NULL; CHECK(isc_log_create(mctx, &lctx, &logconfig)); isc_log_registercategories(lctx, categories); @@ -84,27 +83,26 @@ setup() { destination.file.name = NULL; destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.maximum_size = 0; - CHECK(isc_log_createchannel(logconfig, "stderr", - ISC_LOG_TOFILEDESC, - ISC_LOG_DYNAMIC, - &destination, 0)); + CHECK(isc_log_createchannel(logconfig, "stderr", ISC_LOG_TOFILEDESC, + ISC_LOG_DYNAMIC, &destination, 0)); CHECK(isc_log_usechannel(logconfig, "stderr", NULL, NULL)); return (ISC_R_SUCCESS); - cleanup: +cleanup: cleanup(); return (result); } /* test cfg_parse_buffer() */ static void -parse_buffer_test(void **state) { - isc_result_t result; +parse_buffer_test(void **state) +{ + isc_result_t result; unsigned char text[] = "options\n{\nrecursion yes;\n};\n"; - isc_buffer_t buf1, buf2; + isc_buffer_t buf1, buf2; cfg_parser_t *p1 = NULL, *p2 = NULL; - cfg_obj_t *c1 = NULL, *c2 = NULL; + cfg_obj_t * c1 = NULL, *c2 = NULL; UNUSED(state); @@ -117,8 +115,8 @@ parse_buffer_test(void **state) { result = cfg_parser_create(mctx, lctx, &p1); assert_int_equal(result, ISC_R_SUCCESS); - result = cfg_parse_buffer(p1, &buf1, "text1", 0, - &cfg_type_namedconf, 0, &c1); + result = cfg_parse_buffer(p1, &buf1, "text1", 0, &cfg_type_namedconf, 0, + &c1); assert_int_equal(result, ISC_R_SUCCESS); assert_int_equal(p1->line, 5); @@ -129,8 +127,8 @@ parse_buffer_test(void **state) { result = cfg_parser_create(mctx, lctx, &p2); assert_int_equal(result, ISC_R_SUCCESS); - result = cfg_parse_buffer(p2, &buf2, "text2", 100, - &cfg_type_namedconf, 0, &c2); + result = cfg_parse_buffer(p2, &buf2, "text2", 100, &cfg_type_namedconf, + 0, &c2); assert_int_equal(result, ISC_R_SUCCESS); assert_int_equal(p2->line, 104); @@ -145,9 +143,10 @@ parse_buffer_test(void **state) { /* test cfg_map_firstclause() */ static void -cfg_map_firstclause_test(void **state) { - const char *name = NULL; - const void *clauses = NULL; +cfg_map_firstclause_test(void **state) +{ + const char * name = NULL; + const void * clauses = NULL; unsigned int idx; UNUSED(state); @@ -160,9 +159,10 @@ cfg_map_firstclause_test(void **state) { /* test cfg_map_nextclause() */ static void -cfg_map_nextclause_test(void **state) { - const char *name = NULL; - const void *clauses = NULL; +cfg_map_nextclause_test(void **state) +{ + const char * name = NULL; + const void * clauses = NULL; unsigned int idx; UNUSED(state); @@ -184,7 +184,8 @@ cfg_map_nextclause_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test(parse_buffer_test), cmocka_unit_test(cfg_map_firstclause_test), @@ -199,7 +200,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/isccfg/version.c b/lib/isccfg/version.c index 51ed4b53e7..21b65bd9c6 100644 --- a/lib/isccfg/version.c +++ b/lib/isccfg/version.c @@ -9,7 +9,6 @@ * information regarding copyright ownership. */ - /*! \file */ #include @@ -19,4 +18,3 @@ const char cfg_version[] = VERSION; const unsigned int cfg_libinterface = LIBINTERFACE; const unsigned int cfg_librevision = LIBREVISION; const unsigned int cfg_libage = LIBAGE; - diff --git a/lib/isccfg/win32/DLLMain.c b/lib/isccfg/win32/DLLMain.c index e4a507ac1e..6cd1fe564c 100644 --- a/lib/isccfg/win32/DLLMain.c +++ b/lib/isccfg/win32/DLLMain.c @@ -9,17 +9,16 @@ * information regarding copyright ownership. */ -#include #include +#include /* * Called when we enter the DLL */ -__declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, - DWORD fdwReason, LPVOID lpvReserved) +__declspec(dllexport) BOOL WINAPI + DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { - switch (fdwReason) - { + switch (fdwReason) { /* * The DLL is loading due to process * initialization or a call to LoadLibrary. @@ -49,4 +48,3 @@ __declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, } return (TRUE); } - diff --git a/lib/isccfg/win32/version.c b/lib/isccfg/win32/version.c index 15497c31b1..a65667667b 100644 --- a/lib/isccfg/win32/version.c +++ b/lib/isccfg/win32/version.c @@ -18,4 +18,3 @@ LIBISCCFG_EXTERNAL_DATA const char cfg_version[] = VERSION; LIBISCCFG_EXTERNAL_DATA const unsigned int cfg_libinterface = LIBINTERFACE; LIBISCCFG_EXTERNAL_DATA const unsigned int cfg_librevision = LIBREVISION; LIBISCCFG_EXTERNAL_DATA const unsigned int cfg_libage = LIBAGE; - diff --git a/lib/ns/client.c b/lib/ns/client.c index 8762079524..8c0e0fc945 100644 --- a/lib/ns/client.c +++ b/lib/ns/client.c @@ -18,8 +18,8 @@ #include #include #include -#include #include +#include #include #include #include @@ -35,10 +35,10 @@ #include #include +#include #include #include #include -#include #include #include #include @@ -81,33 +81,29 @@ #define NS_CLIENT_TRACE #ifdef NS_CLIENT_TRACE -#define CTRACE(m) ns_client_log(client, \ - NS_LOGCATEGORY_CLIENT, \ - NS_LOGMODULE_CLIENT, \ - ISC_LOG_DEBUG(3), \ - "%s", (m)) -#define MTRACE(m) isc_log_write(ns_lctx, \ - NS_LOGCATEGORY_CLIENT, \ - NS_LOGMODULE_CLIENT, \ - ISC_LOG_DEBUG(3), \ - "clientmgr @%p: %s", manager, (m)) +#define CTRACE(m) \ + ns_client_log(client, NS_LOGCATEGORY_CLIENT, NS_LOGMODULE_CLIENT, \ + ISC_LOG_DEBUG(3), "%s", (m)) +#define MTRACE(m) \ + isc_log_write(ns_lctx, NS_LOGCATEGORY_CLIENT, NS_LOGMODULE_CLIENT, \ + ISC_LOG_DEBUG(3), "clientmgr @%p: %s", manager, (m)) #else -#define CTRACE(m) ((void)(m)) -#define MTRACE(m) ((void)(m)) +#define CTRACE(m) ((void)(m)) +#define MTRACE(m) ((void)(m)) #endif -#define TCP_CLIENT(c) (((c)->attributes & NS_CLIENTATTR_TCP) != 0) +#define TCP_CLIENT(c) (((c)->attributes & NS_CLIENTATTR_TCP) != 0) #define COOKIE_SIZE 24U /* 8 + 4 + 4 + 8 */ -#define ECS_SIZE 20U /* 2 + 1 + 1 + [0..16] */ +#define ECS_SIZE 20U /* 2 + 1 + 1 + [0..16] */ #define WANTNSID(x) (((x)->attributes & NS_CLIENTATTR_WANTNSID) != 0) #define WANTEXPIRE(x) (((x)->attributes & NS_CLIENTATTR_WANTEXPIRE) != 0) #define WANTPAD(x) (((x)->attributes & NS_CLIENTATTR_WANTPAD) != 0) #define USEKEEPALIVE(x) (((x)->attributes & NS_CLIENTATTR_USEKEEPALIVE) != 0) -#define MANAGER_MAGIC ISC_MAGIC('N', 'S', 'C', 'm') -#define VALID_MANAGER(m) ISC_MAGIC_VALID(m, MANAGER_MAGIC) +#define MANAGER_MAGIC ISC_MAGIC('N', 'S', 'C', 'm') +#define VALID_MANAGER(m) ISC_MAGIC_VALID(m, MANAGER_MAGIC) /* * Enable ns_client_dropport() by default. @@ -122,19 +118,25 @@ LIBNS_EXTERNAL_DATA atomic_uint_fast32_t ns_client_requests; LIBNS_EXTERNAL_DATA atomic_uint_fast64_t ns_client_requests; #endif -static void clientmgr_attach(ns_clientmgr_t *source, ns_clientmgr_t **targetp); -static void clientmgr_detach(ns_clientmgr_t **mp); -static void clientmgr_destroy(ns_clientmgr_t *manager); -static void ns_client_endrequest(ns_client_t *client); -static void ns_client_dumpmessage(ns_client_t *client, const char *reason); -static void compute_cookie(ns_client_t *client, uint32_t when, - uint32_t nonce, const unsigned char *secret, - isc_buffer_t *buf); +static void +clientmgr_attach(ns_clientmgr_t *source, ns_clientmgr_t **targetp); +static void +clientmgr_detach(ns_clientmgr_t **mp); +static void +clientmgr_destroy(ns_clientmgr_t *manager); +static void +ns_client_endrequest(ns_client_t *client); +static void +ns_client_dumpmessage(ns_client_t *client, const char *reason); +static void +compute_cookie(ns_client_t *client, uint32_t when, uint32_t nonce, + const unsigned char *secret, isc_buffer_t *buf); static void get_clientmctx(ns_clientmgr_t *manager, isc_mem_t **mctxp); void -ns_client_recursing(ns_client_t *client) { +ns_client_recursing(ns_client_t *client) +{ REQUIRE(NS_CLIENT_VALID(client)); REQUIRE(client->state == NS_CLIENTSTATE_WORKING); @@ -145,7 +147,8 @@ ns_client_recursing(ns_client_t *client) { } void -ns_client_killoldestquery(ns_client_t *client) { +ns_client_killoldestquery(ns_client_t *client) +{ ns_client_t *oldest; REQUIRE(NS_CLIENT_VALID(client)); @@ -163,14 +166,16 @@ ns_client_killoldestquery(ns_client_t *client) { } void -ns_client_settimeout(ns_client_t *client, unsigned int seconds) { +ns_client_settimeout(ns_client_t *client, unsigned int seconds) +{ UNUSED(client); UNUSED(seconds); /* XXXWPK TODO use netmgr to set timeout */ } static void -ns_client_endrequest(ns_client_t *client) { +ns_client_endrequest(ns_client_t *client) +{ INSIST(client->naccepts == 0); INSIST(client->nreads == 0); INSIST(client->nsends == 0); @@ -225,7 +230,6 @@ ns_client_endrequest(ns_client_t *client) { ns_statscounter_recursclients); } - /* * Clear all client attributes that are specific to the request */ @@ -234,15 +238,15 @@ ns_client_endrequest(ns_client_t *client) { if (client->sctx->fuzznotify != NULL && (client->sctx->fuzztype == isc_fuzz_client || client->sctx->fuzztype == isc_fuzz_tcpclient || - client->sctx->fuzztype == isc_fuzz_resolver)) - { + client->sctx->fuzztype == isc_fuzz_resolver)) { client->sctx->fuzznotify(); } #endif /* ENABLE_AFL */ } void -ns_client_drop(ns_client_t *client, isc_result_t result) { +ns_client_drop(ns_client_t *client, isc_result_t result) +{ REQUIRE(NS_CLIENT_VALID(client)); REQUIRE(client->state == NS_CLIENTSTATE_WORKING || client->state == NS_CLIENTSTATE_RECURSING); @@ -256,7 +260,8 @@ ns_client_drop(ns_client_t *client, isc_result_t result) { } static void -client_senddone(isc_nmhandle_t *handle, isc_result_t result, void *cbarg) { +client_senddone(isc_nmhandle_t *handle, isc_result_t result, void *cbarg) +{ ns_client_t *client = cbarg; REQUIRE(client->handle == handle); @@ -285,8 +290,8 @@ client_allocsendbuf(ns_client_t *client, isc_buffer_t *buffer, unsigned char **datap) { unsigned char *data; - uint32_t bufsize; - isc_result_t result; + uint32_t bufsize; + isc_result_t result; REQUIRE(datap != NULL); REQUIRE((tcpbuffer == NULL && length != 0) || @@ -298,8 +303,8 @@ client_allocsendbuf(ns_client_t *client, isc_buffer_t *buffer, result = ISC_R_NOSPACE; goto done; } - client->tcpbuf = isc_mem_get(client->mctx, - NS_CLIENT_TCP_BUFFER_SIZE); + client->tcpbuf = + isc_mem_get(client->mctx, NS_CLIENT_TCP_BUFFER_SIZE); data = client->tcpbuf; if (tcpbuffer != NULL) { isc_buffer_init(tcpbuffer, data, @@ -333,12 +338,13 @@ client_allocsendbuf(ns_client_t *client, isc_buffer_t *buffer, *datap = data; result = ISC_R_SUCCESS; - done: +done: return (result); } static isc_result_t -client_sendpkg(ns_client_t *client, isc_buffer_t *buffer) { +client_sendpkg(ns_client_t *client, isc_buffer_t *buffer) +{ isc_region_t r; isc_buffer_usedregion(buffer, &r); @@ -349,12 +355,13 @@ client_sendpkg(ns_client_t *client, isc_buffer_t *buffer) { } void -ns_client_sendraw(ns_client_t *client, dns_message_t *message) { - isc_result_t result; +ns_client_sendraw(ns_client_t *client, dns_message_t *message) +{ + isc_result_t result; unsigned char *data; - isc_buffer_t buffer; - isc_region_t r; - isc_region_t *mr; + isc_buffer_t buffer; + isc_region_t r; + isc_region_t * mr; REQUIRE(NS_CLIENT_VALID(client)); @@ -385,7 +392,7 @@ ns_client_sendraw(ns_client_t *client, dns_message_t *message) { return; } - done: +done: if (client->tcpbuf != NULL) { isc_mem_put(client->mctx, client->tcpbuf, NS_CLIENT_TCP_BUFFER_SIZE); @@ -397,23 +404,24 @@ ns_client_sendraw(ns_client_t *client, dns_message_t *message) { } void -ns_client_send(ns_client_t *client) { - isc_result_t result; +ns_client_send(ns_client_t *client) +{ + isc_result_t result; unsigned char *data; - isc_buffer_t buffer = { .magic = 0 }; - isc_buffer_t tcpbuffer = { .magic = 0 }; - isc_region_t r; + isc_buffer_t buffer = { .magic = 0 }; + isc_buffer_t tcpbuffer = { .magic = 0 }; + isc_region_t r; dns_compress_t cctx; - bool cleanup_cctx = false; - unsigned int render_opts; - unsigned int preferred_glue; - bool opt_included = false; - size_t respsize; - dns_aclenv_t *env; + bool cleanup_cctx = false; + unsigned int render_opts; + unsigned int preferred_glue; + bool opt_included = false; + size_t respsize; + dns_aclenv_t * env; #ifdef HAVE_DNSTAP - unsigned char zone[DNS_NAME_MAXWIRE]; + unsigned char zone[DNS_NAME_MAXWIRE]; dns_dtmsgtype_t dtmsgtype; - isc_region_t zr; + isc_region_t zr; #endif /* HAVE_DNSTAP */ /* @@ -458,8 +466,8 @@ ns_client_send(ns_client_t *client) { * Create an OPT for our reply. */ if ((client->attributes & NS_CLIENTATTR_WANTOPT) != 0) { - result = ns_client_addopt(client, client->message, - &client->opt); + result = + ns_client_addopt(client, client->message, &client->opt); if (result != ISC_R_SUCCESS) goto done; } @@ -476,7 +484,7 @@ ns_client_send(ns_client_t *client) { goto done; if (client->peeraddr_valid && client->view != NULL) { isc_netaddr_t netaddr; - dns_name_t *name = NULL; + dns_name_t * name = NULL; isc_netaddr_fromsockaddr(&netaddr, &client->peeraddr); if (client->message->tsigkey != NULL) @@ -484,8 +492,7 @@ ns_client_send(ns_client_t *client) { if (client->view->nocasecompress == NULL || !dns_acl_allowed(&netaddr, name, - client->view->nocasecompress, env)) - { + client->view->nocasecompress, env)) { dns_compress_setsensitive(&cctx, true); } @@ -519,20 +526,18 @@ ns_client_send(ns_client_t *client) { */ if ((client->message->flags & DNS_MESSAGEFLAG_TC) != 0) goto renderend; - result = dns_message_rendersection(client->message, - DNS_SECTION_ANSWER, + result = dns_message_rendersection(client->message, DNS_SECTION_ANSWER, DNS_MESSAGERENDER_PARTIAL | - render_opts); + render_opts); if (result == ISC_R_NOSPACE) { client->message->flags |= DNS_MESSAGEFLAG_TC; goto renderend; } if (result != ISC_R_SUCCESS) goto done; - result = dns_message_rendersection(client->message, - DNS_SECTION_AUTHORITY, - DNS_MESSAGERENDER_PARTIAL | - render_opts); + result = dns_message_rendersection( + client->message, DNS_SECTION_AUTHORITY, + DNS_MESSAGERENDER_PARTIAL | render_opts); if (result == ISC_R_NOSPACE) { client->message->flags |= DNS_MESSAGEFLAG_TC; goto renderend; @@ -544,7 +549,7 @@ ns_client_send(ns_client_t *client) { preferred_glue | render_opts); if (result != ISC_R_SUCCESS && result != ISC_R_NOSPACE) goto done; - renderend: +renderend: result = dns_message_renderend(client->message); if (result != ISC_R_SUCCESS) goto done; @@ -552,11 +557,9 @@ ns_client_send(ns_client_t *client) { #ifdef HAVE_DNSTAP memset(&zr, 0, sizeof(zr)); if (((client->message->flags & DNS_MESSAGEFLAG_AA) != 0) && - (client->query.authzone != NULL)) - { + (client->query.authzone != NULL)) { isc_buffer_t b; - dns_name_t *zo = - dns_zone_getorigin(client->query.authzone); + dns_name_t * zo = dns_zone_getorigin(client->query.authzone); isc_buffer_init(&b, zone, sizeof(zone)); dns_compress_setmethods(&cctx, DNS_COMPRESS_NONE); @@ -586,10 +589,9 @@ ns_client_send(ns_client_t *client) { isc_buffer_add(&tcpbuffer, r.length); #ifdef HAVE_DNSTAP if (client->view != NULL) { - dns_dt_send(client->view, dtmsgtype, - &client->peeraddr, &client->destsockaddr, - true, &zr, &client->requesttime, NULL, - &buffer); + dns_dt_send(client->view, dtmsgtype, &client->peeraddr, + &client->destsockaddr, true, &zr, + &client->requesttime, NULL, &buffer); } #endif /* HAVE_DNSTAP */ @@ -623,10 +625,8 @@ ns_client_send(ns_client_t *client) { * leave client->view set to NULL. */ if (client->view != NULL) { - dns_dt_send(client->view, dtmsgtype, - &client->peeraddr, - &client->destsockaddr, - false, &zr, + dns_dt_send(client->view, dtmsgtype, &client->peeraddr, + &client->destsockaddr, false, &zr, &client->requesttime, NULL, &buffer); } #endif /* HAVE_DNSTAP */ @@ -680,7 +680,7 @@ ns_client_send(ns_client_t *client) { return; } - done: +done: if (client->tcpbuf != NULL) { isc_mem_put(client->mctx, client->tcpbuf, NS_CLIENT_TCP_BUFFER_SIZE); @@ -692,9 +692,9 @@ ns_client_send(ns_client_t *client) { } #if NS_CLIENT_DROPPORT -#define DROPPORT_NO 0 -#define DROPPORT_REQUEST 1 -#define DROPPORT_RESPONSE 2 +#define DROPPORT_NO 0 +#define DROPPORT_REQUEST 1 +#define DROPPORT_RESPONSE 2 /*% * ns_client_dropport determines if certain requests / responses * should be dropped based on the port number. @@ -705,9 +705,10 @@ ns_client_send(ns_client_t *client) { * \li 2: Drop (error) response. */ static int -ns_client_dropport(in_port_t port) { +ns_client_dropport(in_port_t port) +{ switch (port) { - case 7: /* echo */ + case 7: /* echo */ case 13: /* daytime */ case 19: /* chargen */ case 37: /* time */ @@ -720,8 +721,9 @@ ns_client_dropport(in_port_t port) { #endif void -ns_client_error(ns_client_t *client, isc_result_t result) { - dns_rcode_t rcode; +ns_client_error(ns_client_t *client, isc_result_t result) +{ + dns_rcode_t rcode; dns_message_t *message; REQUIRE(NS_CLIENT_VALID(client)); @@ -742,9 +744,8 @@ ns_client_error(ns_client_t *client, isc_result_t result) { */ if (rcode == dns_rcode_formerr && ns_client_dropport(isc_sockaddr_getport(&client->peeraddr)) != - DROPPORT_NO) - { - char buf[64]; + DROPPORT_NO) { + char buf[64]; isc_buffer_t b; isc_buffer_init(&b, buf, sizeof(buf) - 1); @@ -764,10 +765,10 @@ ns_client_error(ns_client_t *client, isc_result_t result) { * Try to rate limit error responses. */ if (client->view != NULL && client->view->rrl != NULL) { - bool wouldlog; - char log_buf[DNS_RRL_LOG_BUF_LEN]; + bool wouldlog; + char log_buf[DNS_RRL_LOG_BUF_LEN]; dns_rrl_result_t rrl_result; - int loglevel; + int loglevel; INSIST(rcode != dns_rcode_noerror && rcode != dns_rcode_nxdomain); @@ -777,11 +778,10 @@ ns_client_error(ns_client_t *client, isc_result_t result) { loglevel = ISC_LOG_DEBUG(1); } wouldlog = isc_log_wouldlog(ns_lctx, loglevel); - rrl_result = dns_rrl(client->view, &client->peeraddr, - TCP_CLIENT(client), - dns_rdataclass_in, dns_rdatatype_none, - NULL, result, client->now, - wouldlog, log_buf, sizeof(log_buf)); + rrl_result = dns_rrl( + client->view, &client->peeraddr, TCP_CLIENT(client), + dns_rdataclass_in, dns_rdatatype_none, NULL, result, + client->now, wouldlog, log_buf, sizeof(log_buf)); if (rrl_result != DNS_RRL_RESULT_OK) { /* * Log dropped errors in the query category @@ -792,8 +792,7 @@ ns_client_error(ns_client_t *client, isc_result_t result) { if (wouldlog) { ns_client_log(client, NS_LOGCATEGORY_QUERY_ERRORS, - NS_LOGMODULE_CLIENT, - loglevel, + NS_LOGMODULE_CLIENT, loglevel, "%s", log_buf); } /* @@ -850,8 +849,7 @@ ns_client_error(ns_client_t *client, isc_result_t result) { &client->formerrcache.addr) && message->id == client->formerrcache.id && (isc_time_seconds(&client->requesttime) - - client->formerrcache.time) < 2) - { + client->formerrcache.time) < 2) { /* Drop packet. */ ns_client_log(client, NS_LOGCATEGORY_CLIENT, NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(1), @@ -866,14 +864,13 @@ ns_client_error(ns_client_t *client, isc_result_t result) { client->formerrcache.id = message->id; } else if (rcode == dns_rcode_servfail && client->query.qname != NULL && client->view != NULL && client->view->fail_ttl != 0 && - ((client->attributes & NS_CLIENTATTR_NOSETFC) == 0)) - { + ((client->attributes & NS_CLIENTATTR_NOSETFC) == 0)) { /* * SERVFAIL caching: store qname/qtype of failed queries */ - isc_time_t expire; + isc_time_t expire; isc_interval_t i; - uint32_t flags = 0; + uint32_t flags = 0; if ((message->flags & DNS_MESSAGEFLAG_CD) != 0) flags = NS_FAILCACHE_CD; @@ -881,10 +878,9 @@ ns_client_error(ns_client_t *client, isc_result_t result) { isc_interval_set(&i, client->view->fail_ttl, 0); result = isc_time_nowplusinterval(&expire, &i); if (result == ISC_R_SUCCESS) { - dns_badcache_add(client->view->failcache, - client->query.qname, - client->query.qtype, - true, flags, &expire); + dns_badcache_add( + client->view->failcache, client->query.qname, + client->query.qtype, true, flags, &expire); } } @@ -895,19 +891,19 @@ isc_result_t ns_client_addopt(ns_client_t *client, dns_message_t *message, dns_rdataset_t **opt) { - unsigned char ecs[ECS_SIZE]; - char nsid[BUFSIZ], *nsidp; - unsigned char cookie[COOKIE_SIZE]; - isc_result_t result; - dns_view_t *view; + unsigned char ecs[ECS_SIZE]; + char nsid[BUFSIZ], *nsidp; + unsigned char cookie[COOKIE_SIZE]; + isc_result_t result; + dns_view_t * view; dns_resolver_t *resolver; - uint16_t udpsize; - dns_ednsopt_t ednsopts[DNS_EDNSOPTIONS]; - int count = 0; - unsigned int flags; - unsigned char expire[4]; - unsigned char advtimo[2]; - dns_aclenv_t *env; + uint16_t udpsize; + dns_ednsopt_t ednsopts[DNS_EDNSOPTIONS]; + int count = 0; + unsigned int flags; + unsigned char expire[4]; + unsigned char advtimo[2]; + dns_aclenv_t * env; REQUIRE(NS_CLIENT_VALID(client)); REQUIRE(opt != NULL && *opt == NULL); @@ -943,11 +939,11 @@ ns_client_addopt(ns_client_t *client, dns_message_t *message, ednsopts[count].value = (unsigned char *)nsidp; count++; } - no_nsid: +no_nsid: if ((client->attributes & NS_CLIENTATTR_WANTCOOKIE) != 0) { - isc_buffer_t buf; + isc_buffer_t buf; isc_stdtime_t now; - uint32_t nonce; + uint32_t nonce; isc_buffer_init(&buf, cookie, sizeof(cookie)); isc_stdtime_get(&now); @@ -977,12 +973,11 @@ ns_client_addopt(ns_client_t *client, dns_message_t *message, if (((client->attributes & NS_CLIENTATTR_HAVEECS) != 0) && (client->ecs.addr.family == AF_INET || client->ecs.addr.family == AF_INET6 || - client->ecs.addr.family == AF_UNSPEC)) - { + client->ecs.addr.family == AF_UNSPEC)) { isc_buffer_t buf; - uint8_t addr[16]; - uint32_t plen, addrl; - uint16_t family = 0; + uint8_t addr[16]; + uint32_t plen, addrl; + uint16_t family = 0; /* Add CLIENT-SUBNET option. */ @@ -1023,10 +1018,8 @@ ns_client_addopt(ns_client_t *client, dns_message_t *message, if (addrl > 0) { /* Mask off last address byte */ if ((plen % 8) != 0) - addr[addrl - 1] &= - ~0U << (8 - (plen % 8)); - isc_buffer_putmem(&buf, addr, - (unsigned) addrl); + addr[addrl - 1] &= ~0U << (8 - (plen % 8)); + isc_buffer_putmem(&buf, addr, (unsigned)addrl); } ednsopts[count].code = DNS_OPT_CLIENT_SUBNET; @@ -1036,14 +1029,14 @@ ns_client_addopt(ns_client_t *client, dns_message_t *message, } if (TCP_CLIENT(client) && USEKEEPALIVE(client)) { isc_buffer_t buf; - uint32_t adv; + uint32_t adv; INSIST(count < DNS_EDNSOPTIONS); isc_nm_tcp_gettimeouts(isc_nmhandle_netmgr(client->handle), NULL, NULL, NULL, &adv); isc_buffer_init(&buf, advtimo, sizeof(advtimo)); - isc_buffer_putuint16(&buf, (uint16_t) adv); + isc_buffer_putuint16(&buf, (uint16_t)adv); ednsopts[count].code = DNS_OPT_TCP_KEEPALIVE; ednsopts[count].length = 2; ednsopts[count].value = advtimo; @@ -1053,14 +1046,13 @@ ns_client_addopt(ns_client_t *client, dns_message_t *message, /* Padding must be added last */ if ((view != NULL) && (view->padding > 0) && WANTPAD(client) && (TCP_CLIENT(client) || - ((client->attributes & NS_CLIENTATTR_HAVECOOKIE) != 0))) - { + ((client->attributes & NS_CLIENTATTR_HAVECOOKIE) != 0))) { isc_netaddr_t netaddr; - int match; + int match; isc_netaddr_fromsockaddr(&netaddr, &client->peeraddr); - result = dns_acl_match(&netaddr, NULL, view->pad_acl, - env, &match, NULL); + result = dns_acl_match(&netaddr, NULL, view->pad_acl, env, + &match, NULL); if (result == ISC_R_SUCCESS && match > 0) { INSIST(count < DNS_EDNSOPTIONS); @@ -1073,8 +1065,8 @@ ns_client_addopt(ns_client_t *client, dns_message_t *message, } } - result = dns_message_buildopt(message, opt, 0, udpsize, flags, - ednsopts, count); + result = dns_message_buildopt(message, opt, 0, udpsize, flags, ednsopts, + count); return (result); } @@ -1082,17 +1074,23 @@ static void compute_cookie(ns_client_t *client, uint32_t when, uint32_t nonce, const unsigned char *secret, isc_buffer_t *buf) { - unsigned char digest[ISC_MAX_MD_SIZE] ISC_NONSTRING = { 0 };; - STATIC_ASSERT(ISC_MAX_MD_SIZE >= ISC_SIPHASH24_TAG_LENGTH, - "You need to increase the digest buffer."); - STATIC_ASSERT(ISC_MAX_MD_SIZE >= ISC_AES_BLOCK_LENGTH, - "You need to increase the digest buffer."); + unsigned char digest[ISC_MAX_MD_SIZE] ISC_NONSTRING = { 0 }; + ; + STATIC_ASSERT(ISC_MAX_MD_SIZE >= ISC_SIPHASH24_TAG_LENGTH, "You need " + "to " + "increase " + "the digest " + "buffer."); + STATIC_ASSERT(ISC_MAX_MD_SIZE >= ISC_AES_BLOCK_LENGTH, "You need to " + "increase the " + "digest " + "buffer."); switch (client->sctx->cookiealg) { case ns_cookiealg_siphash24: { - unsigned char input[16 + 16] ISC_NONSTRING = { 0 }; - size_t inputlen = 0; - isc_netaddr_t netaddr; + unsigned char input[16 + 16] ISC_NONSTRING = { 0 }; + size_t inputlen = 0; + isc_netaddr_t netaddr; unsigned char *cp; cp = isc_buffer_used(buf); @@ -1125,10 +1123,10 @@ compute_cookie(ns_client_t *client, uint32_t when, uint32_t nonce, break; } case ns_cookiealg_aes: { - unsigned char input[4 + 4 + 16] ISC_NONSTRING = { 0 }; - isc_netaddr_t netaddr; + unsigned char input[4 + 4 + 16] ISC_NONSTRING = { 0 }; + isc_netaddr_t netaddr; unsigned char *cp; - unsigned int i; + unsigned int i; cp = isc_buffer_used(buf); isc_buffer_putmem(buf, client->cookie, 8); @@ -1175,21 +1173,21 @@ compute_cookie(ns_client_t *client, uint32_t when, uint32_t nonce, } static void -process_cookie(ns_client_t *client, isc_buffer_t *buf, size_t optlen) { +process_cookie(ns_client_t *client, isc_buffer_t *buf, size_t optlen) +{ ns_altsecret_t *altsecret; - unsigned char dbuf[COOKIE_SIZE]; - unsigned char *old; - isc_stdtime_t now; - uint32_t when; - uint32_t nonce; - isc_buffer_t db; + unsigned char dbuf[COOKIE_SIZE]; + unsigned char * old; + isc_stdtime_t now; + uint32_t when; + uint32_t nonce; + isc_buffer_t db; /* * If we have already seen a cookie option skip this cookie option. */ if ((!client->sctx->answercookie) || - (client->attributes & NS_CLIENTATTR_WANTCOOKIE) != 0) - { + (client->attributes & NS_CLIENTATTR_WANTCOOKIE) != 0) { isc_buffer_forward(buf, (unsigned int)optlen); return; } @@ -1230,8 +1228,8 @@ process_cookie(ns_client_t *client, isc_buffer_t *buf, size_t optlen) { * Only accept COOKIE if we have talked to the client in the last hour. */ isc_stdtime_get(&now); - if (isc_serial_gt(when, (now + 300)) || /* In the future. */ - isc_serial_lt(when, (now - 3600))) { /* In the past. */ + if (isc_serial_gt(when, (now + 300)) || /* In the future. */ + isc_serial_lt(when, (now - 3600))) { /* In the past. */ ns_stats_increment(client->sctx->nsstats, ns_statscounter_cookiebadtime); return; @@ -1248,9 +1246,7 @@ process_cookie(ns_client_t *client, isc_buffer_t *buf, size_t optlen) { } for (altsecret = ISC_LIST_HEAD(client->sctx->altsecrets); - altsecret != NULL; - altsecret = ISC_LIST_NEXT(altsecret, link)) - { + altsecret != NULL; altsecret = ISC_LIST_NEXT(altsecret, link)) { isc_buffer_init(&db, dbuf, sizeof(dbuf)); compute_cookie(client, when, nonce, altsecret->secret, &db); if (isc_safe_memequal(old, dbuf, COOKIE_SIZE)) { @@ -1266,9 +1262,10 @@ process_cookie(ns_client_t *client, isc_buffer_t *buf, size_t optlen) { } static isc_result_t -process_ecs(ns_client_t *client, isc_buffer_t *buf, size_t optlen) { - uint16_t family; - uint8_t addrlen, addrbytes, scope, *paddr; +process_ecs(ns_client_t *client, isc_buffer_t *buf, size_t optlen) +{ + uint16_t family; + uint8_t addrlen, addrbytes, scope, *paddr; isc_netaddr_t caddr; /* @@ -1360,7 +1357,7 @@ process_ecs(ns_client_t *client, isc_buffer_t *buf, size_t optlen) { return (DNS_R_OPTERR); } - paddr = (uint8_t *) &caddr.type; + paddr = (uint8_t *)&caddr.type; if (addrbytes != 0U) { memmove(paddr, isc_buffer_current(buf), addrbytes); isc_buffer_forward(buf, addrbytes); @@ -1384,8 +1381,8 @@ process_ecs(ns_client_t *client, isc_buffer_t *buf, size_t optlen) { } static isc_result_t -process_keytag(ns_client_t *client, isc_buffer_t *buf, size_t optlen) { - +process_keytag(ns_client_t *client, isc_buffer_t *buf, size_t optlen) +{ if (optlen == 0 || (optlen % 2) != 0) { isc_buffer_forward(buf, (unsigned int)optlen); return (DNS_R_OPTERR); @@ -1407,12 +1404,13 @@ process_keytag(ns_client_t *client, isc_buffer_t *buf, size_t optlen) { } static isc_result_t -process_opt(ns_client_t *client, dns_rdataset_t *opt) { - dns_rdata_t rdata; +process_opt(ns_client_t *client, dns_rdataset_t *opt) +{ + dns_rdata_t rdata; isc_buffer_t optbuf; isc_result_t result; - uint16_t optcode; - uint16_t optlen; + uint16_t optcode; + uint16_t optlen; /* * Set the client's UDP buffer size. @@ -1440,8 +1438,8 @@ process_opt(ns_client_t *client, dns_rdataset_t *opt) { if (client->ednsversion > DNS_EDNS_VERSION) { ns_stats_increment(client->sctx->nsstats, ns_statscounter_badednsver); - result = ns_client_addopt(client, client->message, - &client->opt); + result = + ns_client_addopt(client, client->message, &client->opt); if (result == ISC_R_SUCCESS) result = DNS_R_BADVERS; ns_client_error(client, result); @@ -1462,8 +1460,8 @@ process_opt(ns_client_t *client, dns_rdataset_t *opt) { case DNS_OPT_NSID: if (!WANTNSID(client)) ns_stats_increment( - client->sctx->nsstats, - ns_statscounter_nsidopt); + client->sctx->nsstats, + ns_statscounter_nsidopt); client->attributes |= NS_CLIENTATTR_WANTNSID; isc_buffer_forward(&optbuf, optlen); break; @@ -1473,8 +1471,8 @@ process_opt(ns_client_t *client, dns_rdataset_t *opt) { case DNS_OPT_EXPIRE: if (!WANTEXPIRE(client)) ns_stats_increment( - client->sctx->nsstats, - ns_statscounter_expireopt); + client->sctx->nsstats, + ns_statscounter_expireopt); client->attributes |= NS_CLIENTATTR_WANTEXPIRE; isc_buffer_forward(&optbuf, optlen); break; @@ -1490,8 +1488,8 @@ process_opt(ns_client_t *client, dns_rdataset_t *opt) { case DNS_OPT_TCP_KEEPALIVE: if (!USEKEEPALIVE(client)) ns_stats_increment( - client->sctx->nsstats, - ns_statscounter_keepaliveopt); + client->sctx->nsstats, + ns_statscounter_keepaliveopt); client->attributes |= NS_CLIENTATTR_USEKEEPALIVE; isc_buffer_forward(&optbuf, optlen); @@ -1503,8 +1501,8 @@ process_opt(ns_client_t *client, dns_rdataset_t *opt) { isc_buffer_forward(&optbuf, optlen); break; case DNS_OPT_KEY_TAG: - result = process_keytag(client, &optbuf, - optlen); + result = + process_keytag(client, &optbuf, optlen); if (result != ISC_R_SUCCESS) { ns_client_error(client, result); return (result); @@ -1528,12 +1526,12 @@ process_opt(ns_client_t *client, dns_rdataset_t *opt) { } void -ns__client_reset_cb(void *client0) { +ns__client_reset_cb(void *client0) +{ ns_client_t *client = client0; - ns_client_log(client, DNS_LOGCATEGORY_SECURITY, - NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(3), - "reset client"); + ns_client_log(client, DNS_LOGCATEGORY_SECURITY, NS_LOGMODULE_CLIENT, + ISC_LOG_DEBUG(3), "reset client"); ns_client_endrequest(client); if (client->tcpbuf != NULL) { @@ -1542,8 +1540,7 @@ ns__client_reset_cb(void *client0) { } if (client->keytag != NULL) { - isc_mem_put(client->mctx, client->keytag, - client->keytag_len); + isc_mem_put(client->mctx, client->keytag, client->keytag_len); client->keytag_len = 0; } @@ -1552,12 +1549,12 @@ ns__client_reset_cb(void *client0) { } void -ns__client_put_cb(void *client0) { +ns__client_put_cb(void *client0) +{ ns_client_t *client = client0; - ns_client_log(client, DNS_LOGCATEGORY_SECURITY, - NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(3), - "freeing client"); + ns_client_log(client, DNS_LOGCATEGORY_SECURITY, NS_LOGMODULE_CLIENT, + ISC_LOG_DEBUG(3), "freeing client"); /* * Call this first because it requires a valid client. @@ -1575,8 +1572,7 @@ ns__client_put_cb(void *client0) { if (client->opt != NULL) { INSIST(dns_rdataset_isassociated(client->opt)); dns_rdataset_disassociate(client->opt); - dns_message_puttemprdataset(client->message, - &client->opt); + dns_message_puttemprdataset(client->message, &client->opt); } dns_message_destroy(&client->message); @@ -1610,29 +1606,30 @@ ns__client_put_cb(void *client0) { * or tcpmsg (TCP case). */ void -ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { - ns_client_t *client; - bool newclient = false; - ns_clientmgr_t *mgr; - ns_interface_t *ifp; - isc_result_t result; - isc_result_t sigresult = ISC_R_SUCCESS; - isc_buffer_t *buffer; - isc_buffer_t tbuffer; - dns_rdataset_t *opt; +ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) +{ + ns_client_t * client; + bool newclient = false; + ns_clientmgr_t * mgr; + ns_interface_t * ifp; + isc_result_t result; + isc_result_t sigresult = ISC_R_SUCCESS; + isc_buffer_t * buffer; + isc_buffer_t tbuffer; + dns_rdataset_t * opt; const dns_name_t *signame; - bool ra; /* Recursion available. */ - isc_netaddr_t netaddr; - int match; - dns_messageid_t id; - unsigned int flags; - bool notimp; - size_t reqsize; - dns_aclenv_t *env; + bool ra; /* Recursion available. */ + isc_netaddr_t netaddr; + int match; + dns_messageid_t id; + unsigned int flags; + bool notimp; + size_t reqsize; + dns_aclenv_t * env; #ifdef HAVE_DNSTAP dns_dtmsgtype_t dtmsgtype; #endif - ifp = (ns_interface_t *) arg; + ifp = (ns_interface_t *)arg; mgr = ifp->clientmgr; if (mgr == NULL) { @@ -1666,8 +1663,8 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { isc_task_pause(client->task); if (client->handle == NULL) { - isc_nmhandle_setdata(handle, client, - ns__client_reset_cb, ns__client_put_cb); + isc_nmhandle_setdata(handle, client, ns__client_reset_cb, + ns__client_put_cb); client->handle = handle; } if (isc_nmhandle_is_stream(handle)) { @@ -1709,9 +1706,8 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { } #endif - ns_client_log(client, NS_LOGCATEGORY_CLIENT, - NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(3), - "%s request", + ns_client_log(client, NS_LOGCATEGORY_CLIENT, NS_LOGMODULE_CLIENT, + ISC_LOG_DEBUG(3), "%s request", TCP_CLIENT(client) ? "TCP" : "UDP"); /* @@ -1723,8 +1719,7 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { if (client->sctx->blackholeacl != NULL && (dns_acl_match(&netaddr, NULL, client->sctx->blackholeacl, env, &match, NULL) == ISC_R_SUCCESS) && - match > 0) - { + match > 0) { ns_client_log(client, DNS_LOGCATEGORY_SECURITY, NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(10), "blackholed UDP datagram"); @@ -1828,9 +1823,8 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { if (TCP_CLIENT(client) && (client->message->opcode != dns_opcode_query || (client->sctx->keepresporder != NULL && - dns_acl_allowed(&netaddr, NULL, - client->sctx->keepresporder, env)))) - { + dns_acl_allowed(&netaddr, NULL, client->sctx->keepresporder, + env)))) { isc_nm_tcpdns_sequential(handle); } @@ -1910,8 +1904,7 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { if (client->message->rdclass == 0) { if ((client->attributes & NS_CLIENTATTR_WANTCOOKIE) != 0 && client->message->opcode == dns_opcode_query && - client->message->counts[DNS_SECTION_QUESTION] == 0U) - { + client->message->counts[DNS_SECTION_QUESTION] == 0U) { result = dns_message_reply(client->message, true); if (result != ISC_R_SUCCESS) { ns_client_error(client, result); @@ -1931,8 +1924,8 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { ns_client_log(client, NS_LOGCATEGORY_CLIENT, NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(1), "message class could not be determined"); - ns_client_dumpmessage(client, - "message class could not be determined"); + ns_client_dumpmessage(client, "message class could not be " + "determined"); ns_client_error(client, notimp ? DNS_R_NOTIMP : DNS_R_FORMERR); isc_task_unpause(client->task); return; @@ -1962,8 +1955,8 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { isc_sockaddr_fromnetaddr(&client->destsockaddr, &client->destaddr, 0); result = client->sctx->matchingview(&netaddr, &client->destaddr, - client->message, env, - &sigresult, &client->view); + client->message, env, &sigresult, + &client->view); if (result != ISC_R_SUCCESS) { char classname[DNS_RDATACLASS_FORMATSIZE]; @@ -1972,7 +1965,7 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { * response will have a TSIG if the query did, as * required by RFC2845. */ - isc_buffer_t b; + isc_buffer_t b; isc_region_t *r; dns_message_resetsig(client->message); @@ -1993,9 +1986,8 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { return; } - ns_client_log(client, NS_LOGCATEGORY_CLIENT, - NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(5), - "using view '%s'", client->view->name); + ns_client_log(client, NS_LOGCATEGORY_CLIENT, NS_LOGMODULE_CLIENT, + ISC_LOG_DEBUG(5), "using view '%s'", client->view->name); /* * Check for a signature. We log bad signatures regardless of @@ -2015,7 +2007,6 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { ns_stats_increment(client->sctx->nsstats, ns_statscounter_sig0in); } - } if (result == ISC_R_SUCCESS) { char namebuf[DNS_NAME_FORMATSIZE]; @@ -2033,9 +2024,9 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(3), "request is signed by a nonauthoritative key"); } else { - char tsigrcode[64]; + char tsigrcode[64]; isc_buffer_t b; - dns_rcode_t status; + dns_rcode_t status; isc_result_t tresult; /* There is a signature, but it is bad. */ @@ -2052,24 +2043,24 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { INSIST(tresult == ISC_R_SUCCESS); tsigrcode[isc_buffer_usedlength(&b)] = '\0'; if (client->message->tsigkey->generated) { - dns_name_format(client->message->tsigkey->creator, - cnamebuf, sizeof(cnamebuf)); - ns_client_log(client, DNS_LOGCATEGORY_SECURITY, - NS_LOGMODULE_CLIENT, - ISC_LOG_ERROR, - "request has invalid signature: " - "TSIG %s (%s): %s (%s)", namebuf, - cnamebuf, - isc_result_totext(result), - tsigrcode); + dns_name_format( + client->message->tsigkey->creator, + cnamebuf, sizeof(cnamebuf)); + ns_client_log( + client, DNS_LOGCATEGORY_SECURITY, + NS_LOGMODULE_CLIENT, ISC_LOG_ERROR, + "request has invalid signature: " + "TSIG %s (%s): %s (%s)", + namebuf, cnamebuf, + isc_result_totext(result), tsigrcode); } else { - ns_client_log(client, DNS_LOGCATEGORY_SECURITY, - NS_LOGMODULE_CLIENT, - ISC_LOG_ERROR, - "request has invalid signature: " - "TSIG %s: %s (%s)", namebuf, - isc_result_totext(result), - tsigrcode); + ns_client_log( + client, DNS_LOGCATEGORY_SECURITY, + NS_LOGMODULE_CLIENT, ISC_LOG_ERROR, + "request has invalid signature: " + "TSIG %s: %s (%s)", + namebuf, isc_result_totext(result), + tsigrcode); } } else { status = client->message->sig0status; @@ -2089,8 +2080,7 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { * that don't have all the same keys as the master. */ if (!(client->message->tsigstatus == dns_tsigerror_badkey && - client->message->opcode == dns_opcode_update)) - { + client->message->opcode == dns_opcode_update)) { ns_client_error(client, sigresult); isc_task_unpause(client->task); return; @@ -2105,21 +2095,17 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { * cache there is no point in setting RA. */ ra = false; - if (client->view->resolver != NULL && - client->view->recursion == true && - ns_client_checkaclsilent(client, NULL, - client->view->recursionacl, + if (client->view->resolver != NULL && client->view->recursion == true && + ns_client_checkaclsilent(client, NULL, client->view->recursionacl, true) == ISC_R_SUCCESS && - ns_client_checkaclsilent(client, NULL, - client->view->cacheacl, + ns_client_checkaclsilent(client, NULL, client->view->cacheacl, true) == ISC_R_SUCCESS && ns_client_checkaclsilent(client, &client->destaddr, client->view->recursiononacl, true) == ISC_R_SUCCESS && ns_client_checkaclsilent(client, &client->destaddr, client->view->cacheonacl, - true) == ISC_R_SUCCESS) - { + true) == ISC_R_SUCCESS) { ra = true; } @@ -2128,17 +2114,17 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { } ns_client_log(client, DNS_LOGCATEGORY_SECURITY, NS_LOGMODULE_CLIENT, - ISC_LOG_DEBUG(3), ra ? "recursion available" : - "recursion not available"); + ISC_LOG_DEBUG(3), + ra ? "recursion available" : "recursion not available"); /* * Adjust maximum UDP response size for this client. */ if (client->udpsize > 512) { dns_peer_t *peer = NULL; - uint16_t udpsize = client->view->maxudp; - (void) dns_peerlist_peerbyaddr(client->view->peers, - &netaddr, &peer); + uint16_t udpsize = client->view->maxudp; + (void)dns_peerlist_peerbyaddr(client->view->peers, &netaddr, + &peer); if (peer != NULL) dns_peer_getmaxudp(peer, &udpsize); if (client->udpsize > udpsize) @@ -2196,21 +2182,22 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg) { } void -ns__client_tcpconn(isc_nmhandle_t *handle, isc_result_t result, void *arg) { - ns_server_t *sctx = (ns_server_t *) arg; +ns__client_tcpconn(isc_nmhandle_t *handle, isc_result_t result, void *arg) +{ + ns_server_t *sctx = (ns_server_t *)arg; unsigned int tcpquota; UNUSED(handle); UNUSED(result); tcpquota = isc_quota_getused(&sctx->tcpquota); - ns_stats_update_if_greater(sctx->nsstats, - ns_statscounter_tcphighwater, + ns_stats_update_if_greater(sctx->nsstats, ns_statscounter_tcphighwater, tcpquota); } static void -get_clientmctx(ns_clientmgr_t *manager, isc_mem_t **mctxp) { +get_clientmctx(ns_clientmgr_t *manager, isc_mem_t **mctxp) +{ isc_mem_t *clientmctx; #if CLIENT_NMCTXS > 0 unsigned int nextmctx; @@ -2245,7 +2232,8 @@ get_clientmctx(ns_clientmgr_t *manager, isc_mem_t **mctxp) { } isc_result_t -ns__client_setup(ns_client_t *client, ns_clientmgr_t *mgr, bool new) { +ns__client_setup(ns_client_t *client, ns_clientmgr_t *mgr, bool new) +{ isc_result_t result; /* @@ -2256,18 +2244,16 @@ ns__client_setup(ns_client_t *client, ns_clientmgr_t *mgr, bool new) { * The caller is responsible for that. */ - REQUIRE(NS_CLIENT_VALID(client) || (new && client != NULL)); + REQUIRE(NS_CLIENT_VALID(client) || (new &&client != NULL)); REQUIRE(VALID_MANAGER(mgr) || !new); if (new) { - *client = (ns_client_t) { - .magic = 0 - }; + *client = (ns_client_t){ .magic = 0 }; get_clientmctx(mgr, &client->mctx); clientmgr_attach(mgr, &client->manager); ns_server_attach(mgr->sctx, &client->sctx); - result = isc_task_create(mgr->taskmgr, 20, &client->task); + result = isc_task_create(mgr->taskmgr, 20, &client->task); if (result != ISC_R_SUCCESS) { goto cleanup; } @@ -2278,9 +2264,8 @@ ns__client_setup(ns_client_t *client, ns_clientmgr_t *mgr, bool new) { goto cleanup; } - - client->recvbuf = isc_mem_get(client->mctx, - NS_CLIENT_RECV_BUFFER_SIZE); + client->recvbuf = + isc_mem_get(client->mctx, NS_CLIENT_RECV_BUFFER_SIZE); /* * Set magic earlier than usual because ns_query_init() * and the functions it calls will require it. @@ -2292,23 +2277,21 @@ ns__client_setup(ns_client_t *client, ns_clientmgr_t *mgr, bool new) { } } else { ns_clientmgr_t *oldmgr = client->manager; - ns_server_t *sctx = client->sctx; - isc_task_t *task = client->task; - unsigned char *recvbuf = client->recvbuf; - dns_message_t *message = client->message; - isc_mem_t *oldmctx = client->mctx; - ns_query_t query = client->query; + ns_server_t * sctx = client->sctx; + isc_task_t * task = client->task; + unsigned char * recvbuf = client->recvbuf; + dns_message_t * message = client->message; + isc_mem_t * oldmctx = client->mctx; + ns_query_t query = client->query; - *client = (ns_client_t) { - .magic = 0, - .mctx = oldmctx, - .manager = oldmgr, - .sctx = sctx, - .task = task, - .recvbuf = recvbuf, - .message = message, - .query = query - }; + *client = (ns_client_t){ .magic = 0, + .mctx = oldmctx, + .manager = oldmgr, + .sctx = sctx, + .task = task, + .recvbuf = recvbuf, + .message = message, + .query = query }; } client->state = NS_CLIENTSTATE_INACTIVE; @@ -2321,7 +2304,7 @@ ns__client_setup(ns_client_t *client, ns_clientmgr_t *mgr, bool new) { client->formerrcache.time = 0; client->formerrcache.id = 0; ISC_LINK_INIT(client, rlink); - client->rcode_override = -1; /* not set */ + client->rcode_override = -1; /* not set */ client->magic = NS_CLIENT_MAGIC; @@ -2329,7 +2312,7 @@ ns__client_setup(ns_client_t *client, ns_clientmgr_t *mgr, bool new) { return (ISC_R_SUCCESS); - cleanup: +cleanup: if (client->recvbuf != NULL) { isc_mem_put(client->mctx, client->recvbuf, NS_CLIENT_RECV_BUFFER_SIZE); @@ -2357,7 +2340,8 @@ ns__client_setup(ns_client_t *client, ns_clientmgr_t *mgr, bool new) { } bool -ns_client_shuttingdown(ns_client_t *client) { +ns_client_shuttingdown(ns_client_t *client) +{ return (client->shuttingdown); } @@ -2366,37 +2350,40 @@ ns_client_shuttingdown(ns_client_t *client) { ***/ static void -clientmgr_attach(ns_clientmgr_t *source, ns_clientmgr_t **targetp) { +clientmgr_attach(ns_clientmgr_t *source, ns_clientmgr_t **targetp) +{ int32_t oldrefs; REQUIRE(VALID_MANAGER(source)); REQUIRE(targetp != NULL && *targetp == NULL); oldrefs = isc_refcount_increment0(&source->references); - isc_log_write(ns_lctx, NS_LOGCATEGORY_CLIENT, - NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(3), - "clientmgr @%p attach: %d", source, oldrefs + 1); + isc_log_write(ns_lctx, NS_LOGCATEGORY_CLIENT, NS_LOGMODULE_CLIENT, + ISC_LOG_DEBUG(3), "clientmgr @%p attach: %d", source, + oldrefs + 1); *targetp = source; } static void -clientmgr_detach(ns_clientmgr_t **mp) { - int32_t oldrefs; +clientmgr_detach(ns_clientmgr_t **mp) +{ + int32_t oldrefs; ns_clientmgr_t *mgr = *mp; *mp = NULL; oldrefs = isc_refcount_decrement(&mgr->references); - isc_log_write(ns_lctx, NS_LOGCATEGORY_CLIENT, - NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(3), - "clientmgr @%p detach: %d", mgr, oldrefs - 1); + isc_log_write(ns_lctx, NS_LOGCATEGORY_CLIENT, NS_LOGMODULE_CLIENT, + ISC_LOG_DEBUG(3), "clientmgr @%p detach: %d", mgr, + oldrefs - 1); if (oldrefs == 1) { clientmgr_destroy(mgr); } } static void -clientmgr_destroy(ns_clientmgr_t *manager) { +clientmgr_destroy(ns_clientmgr_t *manager) +{ #if CLIENT_NMCTXS > 0 int i; #endif @@ -2441,13 +2428,13 @@ ns_clientmgr_create(isc_mem_t *mctx, ns_server_t *sctx, isc_taskmgr_t *taskmgr, ns_clientmgr_t **managerp) { ns_clientmgr_t *manager; - isc_result_t result; + isc_result_t result; #if CLIENT_NMCTXS > 0 int i; #endif manager = isc_mem_get(mctx, sizeof(*manager)); - *manager = (ns_clientmgr_t) { .magic = 0 }; + *manager = (ns_clientmgr_t){ .magic = 0 }; isc_mutex_init(&manager->lock); isc_mutex_init(&manager->reclock); @@ -2465,8 +2452,8 @@ ns_clientmgr_create(isc_mem_t *mctx, ns_server_t *sctx, isc_taskmgr_t *taskmgr, ns_interface_attach(interface, &manager->interface); manager->exiting = false; - manager->taskpool = isc_mem_get(mctx, - CLIENT_NTASKS * sizeof(isc_task_t *)); + manager->taskpool = + isc_mem_get(mctx, CLIENT_NTASKS * sizeof(isc_task_t *)); for (i = 0; i < CLIENT_NTASKS; i++) { manager->taskpool[i] = NULL; isc_task_create(manager->taskmgr, 20, &manager->taskpool[i]); @@ -2489,7 +2476,7 @@ ns_clientmgr_create(isc_mem_t *mctx, ns_server_t *sctx, isc_taskmgr_t *taskmgr, return (ISC_R_SUCCESS); - cleanup_reclock: +cleanup_reclock: isc_mutex_destroy(&manager->reclock); isc_mutex_destroy(&manager->lock); @@ -2499,10 +2486,11 @@ ns_clientmgr_create(isc_mem_t *mctx, ns_server_t *sctx, isc_taskmgr_t *taskmgr, } void -ns_clientmgr_destroy(ns_clientmgr_t **managerp) { - isc_result_t result; +ns_clientmgr_destroy(ns_clientmgr_t **managerp) +{ + isc_result_t result; ns_clientmgr_t *manager; - bool unlock = false; + bool unlock = false; REQUIRE(managerp != NULL); manager = *managerp; @@ -2533,12 +2521,14 @@ ns_clientmgr_destroy(ns_clientmgr_t **managerp) { } isc_sockaddr_t * -ns_client_getsockaddr(ns_client_t *client) { +ns_client_getsockaddr(ns_client_t *client) +{ return (&client->peeraddr); } isc_sockaddr_t * -ns_client_getdestaddr(ns_client_t *client) { +ns_client_getdestaddr(ns_client_t *client) +{ return (&client->destsockaddr); } @@ -2546,11 +2536,11 @@ isc_result_t ns_client_checkaclsilent(ns_client_t *client, isc_netaddr_t *netaddr, dns_acl_t *acl, bool default_allow) { - isc_result_t result; + isc_result_t result; dns_aclenv_t *env = ns_interfacemgr_getaclenv(client->manager->interface->mgr); isc_netaddr_t tmpnetaddr; - int match; + int match; if (acl == NULL) { if (default_allow) @@ -2564,8 +2554,7 @@ ns_client_checkaclsilent(ns_client_t *client, isc_netaddr_t *netaddr, netaddr = &tmpnetaddr; } - result = dns_acl_match(netaddr, client->signer, acl, - env, &match, NULL); + result = dns_acl_match(netaddr, client->signer, acl, env, &match, NULL); if (result != ISC_R_SUCCESS) goto deny; /* Internal error, already logged. */ @@ -2573,19 +2562,19 @@ ns_client_checkaclsilent(ns_client_t *client, isc_netaddr_t *netaddr, goto allow; goto deny; /* Negative match or no match. */ - allow: +allow: return (ISC_R_SUCCESS); - deny: +deny: return (DNS_R_REFUSED); } isc_result_t ns_client_checkacl(ns_client_t *client, isc_sockaddr_t *sockaddr, - const char *opname, dns_acl_t *acl, - bool default_allow, int log_level) + const char *opname, dns_acl_t *acl, bool default_allow, + int log_level) { - isc_result_t result; + isc_result_t result; isc_netaddr_t netaddr; if (sockaddr != NULL) @@ -2600,13 +2589,14 @@ ns_client_checkacl(ns_client_t *client, isc_sockaddr_t *sockaddr, "%s approved", opname); else ns_client_log(client, DNS_LOGCATEGORY_SECURITY, - NS_LOGMODULE_CLIENT, - log_level, "%s denied", opname); + NS_LOGMODULE_CLIENT, log_level, "%s denied", + opname); return (result); } static void -ns_client_name(ns_client_t *client, char *peerbuf, size_t len) { +ns_client_name(ns_client_t *client, char *peerbuf, size_t len) +{ if (client->peeraddr_valid) isc_sockaddr_format(&client->peeraddr, peerbuf, (unsigned int)len); @@ -2636,8 +2626,8 @@ ns_client_logv(ns_client_t *client, isc_logcategory_t *category, signer = signerbuf; } - q = client->query.origqname != NULL - ? client->query.origqname : client->query.qname; + q = client->query.origqname != NULL ? client->query.origqname + : client->query.qname; if (q != NULL) { dns_name_format(q, qnamebuf, sizeof(qnamebuf)); sep2 = " ("; @@ -2652,25 +2642,24 @@ ns_client_logv(ns_client_t *client, isc_logcategory_t *category, } if (client->peeraddr_valid) { - isc_sockaddr_format(&client->peeraddr, - peerbuf, sizeof(peerbuf)); + isc_sockaddr_format(&client->peeraddr, peerbuf, + sizeof(peerbuf)); } else { snprintf(peerbuf, sizeof(peerbuf), "(no-peer)"); } isc_log_write(ns_lctx, category, module, level, - "client @%p %s%s%s%s%s%s%s%s: %s", - client, peerbuf, sep1, signer, sep2, qname, sep3, - sep4, viewname, msgbuf); + "client @%p %s%s%s%s%s%s%s%s: %s", client, peerbuf, sep1, + signer, sep2, qname, sep3, sep4, viewname, msgbuf); } void ns_client_log(ns_client_t *client, isc_logcategory_t *category, - isc_logmodule_t *module, int level, const char *fmt, ...) + isc_logmodule_t *module, int level, const char *fmt, ...) { va_list ap; - if (! isc_log_wouldlog(ns_lctx, level)) + if (!isc_log_wouldlog(ns_lctx, level)) return; va_start(ap, fmt); @@ -2694,10 +2683,11 @@ ns_client_aclmsg(const char *msg, const dns_name_t *name, dns_rdatatype_t type, } static void -ns_client_dumpmessage(ns_client_t *client, const char *reason) { +ns_client_dumpmessage(ns_client_t *client, const char *reason) +{ isc_buffer_t buffer; - char *buf = NULL; - int len = 1024; + char * buf = NULL; + int len = 1024; isc_result_t result; if (!isc_log_wouldlog(ns_lctx, ISC_LOG_DEBUG(1))) @@ -2711,9 +2701,8 @@ ns_client_dumpmessage(ns_client_t *client, const char *reason) { do { buf = isc_mem_get(client->mctx, len); isc_buffer_init(&buffer, buf, len); - result = dns_message_totext(client->message, - &dns_master_style_debug, - 0, &buffer); + result = dns_message_totext( + client->message, &dns_master_style_debug, 0, &buffer); if (result == ISC_R_NOSPACE) { isc_mem_put(client->mctx, buf, len); len += 1024; @@ -2721,8 +2710,7 @@ ns_client_dumpmessage(ns_client_t *client, const char *reason) { ns_client_log(client, NS_LOGCATEGORY_CLIENT, NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(1), "%s\n%.*s", reason, - (int)isc_buffer_usedlength(&buffer), - buf); + (int)isc_buffer_usedlength(&buffer), buf); } while (result == ISC_R_NOSPACE); if (buf != NULL) @@ -2730,16 +2718,17 @@ ns_client_dumpmessage(ns_client_t *client, const char *reason) { } void -ns_client_dumprecursing(FILE *f, ns_clientmgr_t *manager) { - ns_client_t *client; - char namebuf[DNS_NAME_FORMATSIZE]; - char original[DNS_NAME_FORMATSIZE]; - char peerbuf[ISC_SOCKADDR_FORMATSIZE]; - char typebuf[DNS_RDATATYPE_FORMATSIZE]; - char classbuf[DNS_RDATACLASS_FORMATSIZE]; - const char *name; - const char *sep; - const char *origfor; +ns_client_dumprecursing(FILE *f, ns_clientmgr_t *manager) +{ + ns_client_t * client; + char namebuf[DNS_NAME_FORMATSIZE]; + char original[DNS_NAME_FORMATSIZE]; + char peerbuf[ISC_SOCKADDR_FORMATSIZE]; + char typebuf[DNS_RDATATYPE_FORMATSIZE]; + char classbuf[DNS_RDATACLASS_FORMATSIZE]; + const char * name; + const char * sep; + const char * origfor; dns_rdataset_t *rdataset; REQUIRE(VALID_MANAGER(manager)); @@ -2785,10 +2774,11 @@ ns_client_dumprecursing(FILE *f, ns_clientmgr_t *manager) { strlcpy(classbuf, "-", sizeof(classbuf)); } UNLOCK(&client->query.fetchlock); - fprintf(f, "; client %s%s%s: id %u '%s/%s/%s'%s%s " - "requesttime %u\n", peerbuf, sep, name, - client->message->id, namebuf, typebuf, classbuf, - origfor, original, + fprintf(f, + "; client %s%s%s: id %u '%s/%s/%s'%s%s " + "requesttime %u\n", + peerbuf, sep, name, client->message->id, namebuf, + typebuf, classbuf, origfor, original, isc_time_seconds(&client->requesttime)); client = ISC_LIST_NEXT(client, rlink); } @@ -2796,14 +2786,14 @@ ns_client_dumprecursing(FILE *f, ns_clientmgr_t *manager) { } void -ns_client_qnamereplace(ns_client_t *client, dns_name_t *name) { +ns_client_qnamereplace(ns_client_t *client, dns_name_t *name) +{ LOCK(&client->query.fetchlock); if (client->query.restarts > 0) { /* * client->query.qname was dynamically allocated. */ - dns_message_puttempname(client->message, - &client->query.qname); + dns_message_puttempname(client->message, &client->query.qname); } client->query.qname = name; client->query.attributes &= ~NS_QUERYATTR_REDIRECT; @@ -2811,8 +2801,9 @@ ns_client_qnamereplace(ns_client_t *client, dns_name_t *name) { } isc_result_t -ns_client_sourceip(dns_clientinfo_t *ci, isc_sockaddr_t **addrp) { - ns_client_t *client = (ns_client_t *) ci->data; +ns_client_sourceip(dns_clientinfo_t *ci, isc_sockaddr_t **addrp) +{ + ns_client_t *client = (ns_client_t *)ci->data; REQUIRE(NS_CLIENT_VALID(client)); REQUIRE(addrp != NULL); @@ -2822,9 +2813,10 @@ ns_client_sourceip(dns_clientinfo_t *ci, isc_sockaddr_t **addrp) { } dns_rdataset_t * -ns_client_newrdataset(ns_client_t *client) { +ns_client_newrdataset(ns_client_t *client) +{ dns_rdataset_t *rdataset; - isc_result_t result; + isc_result_t result; REQUIRE(NS_CLIENT_VALID(client)); @@ -2838,7 +2830,8 @@ ns_client_newrdataset(ns_client_t *client) { } void -ns_client_putrdataset(ns_client_t *client, dns_rdataset_t **rdatasetp) { +ns_client_putrdataset(ns_client_t *client, dns_rdataset_t **rdatasetp) +{ dns_rdataset_t *rdataset; REQUIRE(NS_CLIENT_VALID(client)); @@ -2855,7 +2848,8 @@ ns_client_putrdataset(ns_client_t *client, dns_rdataset_t **rdatasetp) { } isc_result_t -ns_client_newnamebuf(ns_client_t *client) { +ns_client_newnamebuf(ns_client_t *client) +{ isc_buffer_t *dbuf; CTRACE("ns_client_newnamebuf"); @@ -2869,8 +2863,9 @@ ns_client_newnamebuf(ns_client_t *client) { } dns_name_t * -ns_client_newname(ns_client_t *client, isc_buffer_t *dbuf, isc_buffer_t *nbuf) { - dns_name_t *name; +ns_client_newname(ns_client_t *client, isc_buffer_t *dbuf, isc_buffer_t *nbuf) +{ + dns_name_t * name; isc_region_t r; isc_result_t result; @@ -2896,10 +2891,11 @@ ns_client_newname(ns_client_t *client, isc_buffer_t *dbuf, isc_buffer_t *nbuf) { } isc_buffer_t * -ns_client_getnamebuf(ns_client_t *client) { +ns_client_getnamebuf(ns_client_t *client) +{ isc_buffer_t *dbuf; - isc_result_t result; - isc_region_t r; + isc_result_t result; + isc_region_t r; CTRACE("ns_client_getnamebuf"); @@ -2910,8 +2906,8 @@ ns_client_getnamebuf(ns_client_t *client) { if (ISC_LIST_EMPTY(client->query.namebufs)) { result = ns_client_newnamebuf(client); if (result != ISC_R_SUCCESS) { - CTRACE("ns_client_getnamebuf: " - "ns_client_newnamebuf failed: done"); + CTRACE("ns_client_getnamebuf: " + "ns_client_newnamebuf failed: done"); return (NULL); } } @@ -2922,10 +2918,9 @@ ns_client_getnamebuf(ns_client_t *client) { if (r.length < DNS_NAME_MAXWIRE) { result = ns_client_newnamebuf(client); if (result != ISC_R_SUCCESS) { - CTRACE("ns_client_getnamebuf: " - "ns_client_newnamebuf failed: done"); + CTRACE("ns_client_getnamebuf: " + "ns_client_newnamebuf failed: done"); return (NULL); - } dbuf = ISC_LIST_TAIL(client->query.namebufs); isc_buffer_availableregion(dbuf, &r); @@ -2936,7 +2931,8 @@ ns_client_getnamebuf(ns_client_t *client) { } void -ns_client_keepname(ns_client_t *client, dns_name_t *name, isc_buffer_t *dbuf) { +ns_client_keepname(ns_client_t *client, dns_name_t *name, isc_buffer_t *dbuf) +{ isc_region_t r; CTRACE("ns_client_keepname"); @@ -2954,7 +2950,8 @@ ns_client_keepname(ns_client_t *client, dns_name_t *name, isc_buffer_t *dbuf) { } void -ns_client_releasename(ns_client_t *client, dns_name_t **namep) { +ns_client_releasename(ns_client_t *client, dns_name_t **namep) +{ dns_name_t *name = *namep; /*% @@ -2965,8 +2962,8 @@ ns_client_releasename(ns_client_t *client, dns_name_t **namep) { CTRACE("ns_client_releasename"); if (dns_name_hasbuffer(name)) { - INSIST((client->query.attributes & NS_QUERYATTR_NAMEBUFUSED) - != 0); + INSIST((client->query.attributes & NS_QUERYATTR_NAMEBUFUSED) != + 0); client->query.attributes &= ~NS_QUERYATTR_NAMEBUFUSED; } dns_message_puttempname(client->message, namep); @@ -2974,8 +2971,9 @@ ns_client_releasename(ns_client_t *client, dns_name_t **namep) { } isc_result_t -ns_client_newdbversion(ns_client_t *client, unsigned int n) { - unsigned int i; +ns_client_newdbversion(ns_client_t *client, unsigned int n) +{ + unsigned int i; ns_dbversion_t *dbversion; for (i = 0; i < n; i++) { @@ -2992,8 +2990,9 @@ ns_client_newdbversion(ns_client_t *client, unsigned int n) { } static inline ns_dbversion_t * -client_getdbversion(ns_client_t *client) { - isc_result_t result; +client_getdbversion(ns_client_t *client) +{ + isc_result_t result; ns_dbversion_t *dbversion; if (ISC_LIST_EMPTY(client->query.freeversions)) { @@ -3010,13 +3009,12 @@ client_getdbversion(ns_client_t *client) { } ns_dbversion_t * -ns_client_findversion(ns_client_t *client, dns_db_t *db) { +ns_client_findversion(ns_client_t *client, dns_db_t *db) +{ ns_dbversion_t *dbversion; for (dbversion = ISC_LIST_HEAD(client->query.activeversions); - dbversion != NULL; - dbversion = ISC_LIST_NEXT(dbversion, link)) - { + dbversion != NULL; dbversion = ISC_LIST_NEXT(dbversion, link)) { if (dbversion->db == db) { break; } @@ -3035,8 +3033,7 @@ ns_client_findversion(ns_client_t *client, dns_db_t *db) { dns_db_currentversion(db, &dbversion->version); dbversion->acl_checked = false; dbversion->queryok = false; - ISC_LIST_APPEND(client->query.activeversions, - dbversion, link); + ISC_LIST_APPEND(client->query.activeversions, dbversion, link); } return (dbversion); diff --git a/lib/ns/hooks.c b/lib/ns/hooks.c index 8a60042c51..96675dcc8b 100644 --- a/lib/ns/hooks.c +++ b/lib/ns/hooks.c @@ -26,11 +26,11 @@ #include #include #include +#include #include #include -#include -#include #include +#include #include @@ -38,30 +38,31 @@ #include #include -#define CHECK(op) \ - do { \ - result = (op); \ - if (result != ISC_R_SUCCESS) { \ - goto cleanup; \ - } \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) { \ + goto cleanup; \ + } \ } while (0) struct ns_plugin { - isc_mem_t *mctx; - void *handle; - void *inst; - char *modpath; - ns_plugin_check_t *check_func; - ns_plugin_register_t *register_func; - ns_plugin_destroy_t *destroy_func; - LINK(ns_plugin_t) link; + isc_mem_t * mctx; + void * handle; + void * inst; + char * modpath; + ns_plugin_check_t * check_func; + ns_plugin_register_t *register_func; + ns_plugin_destroy_t * destroy_func; + LINK(ns_plugin_t) link; }; static ns_hooklist_t default_hooktable[NS_HOOKPOINTS_COUNT]; LIBNS_EXTERNAL_DATA ns_hooktable_t *ns__hook_table = &default_hooktable; isc_result_t -ns_plugin_expandpath(const char *src, char *dst, size_t dstsize) { +ns_plugin_expandpath(const char *src, char *dst, size_t dstsize) +{ int result; #ifndef WIN32 @@ -97,8 +98,8 @@ ns_plugin_expandpath(const char *src, char *dst, size_t dstsize) { #if HAVE_DLFCN_H && HAVE_DLOPEN static isc_result_t -load_symbol(void *handle, const char *modpath, - const char *symbol_name, void **symbolp) +load_symbol(void *handle, const char *modpath, const char *symbol_name, + void **symbolp) { void *symbol = NULL; @@ -133,15 +134,16 @@ load_symbol(void *handle, const char *modpath, } static isc_result_t -load_plugin(isc_mem_t *mctx, const char *modpath, ns_plugin_t **pluginp) { - isc_result_t result; - void *handle = NULL; - ns_plugin_t *plugin = NULL; - ns_plugin_check_t *check_func = NULL; +load_plugin(isc_mem_t *mctx, const char *modpath, ns_plugin_t **pluginp) +{ + isc_result_t result; + void * handle = NULL; + ns_plugin_t * plugin = NULL; + ns_plugin_check_t * check_func = NULL; ns_plugin_register_t *register_func = NULL; - ns_plugin_destroy_t *destroy_func = NULL; - ns_plugin_version_t *version_func = NULL; - int version, flags; + ns_plugin_destroy_t * destroy_func = NULL; + ns_plugin_version_t * version_func = NULL; + int version, flags; REQUIRE(pluginp != NULL && *pluginp == NULL); @@ -158,8 +160,8 @@ load_plugin(isc_mem_t *mctx, const char *modpath, ns_plugin_t **pluginp) { } isc_log_write(ns_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_HOOKS, ISC_LOG_ERROR, - "failed to dlopen() plugin '%s': %s", - modpath, errmsg); + "failed to dlopen() plugin '%s': %s", modpath, + errmsg); return (ISC_R_FAILURE); } @@ -168,12 +170,11 @@ load_plugin(isc_mem_t *mctx, const char *modpath, ns_plugin_t **pluginp) { version = version_func(); if (version < (NS_PLUGIN_VERSION - NS_PLUGIN_AGE) || - version > NS_PLUGIN_VERSION) - { + version > NS_PLUGIN_VERSION) { isc_log_write(ns_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_HOOKS, ISC_LOG_ERROR, - "plugin API version mismatch: %d/%d", - version, NS_PLUGIN_VERSION); + "plugin API version mismatch: %d/%d", version, + NS_PLUGIN_VERSION); CHECK(ISC_R_FAILURE); } @@ -203,22 +204,23 @@ cleanup: isc_log_write(ns_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_HOOKS, ISC_LOG_ERROR, "failed to dynamically load " - "plugin '%s': %s", modpath, - isc_result_totext(result)); + "plugin '%s': %s", + modpath, isc_result_totext(result)); if (plugin != NULL) { isc_mem_putanddetach(&plugin->mctx, plugin, sizeof(*plugin)); } - (void) dlclose(handle); + (void)dlclose(handle); } return (result); } static void -unload_plugin(ns_plugin_t **pluginp) { +unload_plugin(ns_plugin_t **pluginp) +{ ns_plugin_t *plugin = NULL; REQUIRE(pluginp != NULL && *pluginp != NULL); @@ -226,15 +228,15 @@ unload_plugin(ns_plugin_t **pluginp) { plugin = *pluginp; *pluginp = NULL; - isc_log_write(ns_lctx, NS_LOGCATEGORY_GENERAL, - NS_LOGMODULE_HOOKS, ISC_LOG_DEBUG(1), - "unloading plugin '%s'", plugin->modpath); + isc_log_write(ns_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_HOOKS, + ISC_LOG_DEBUG(1), "unloading plugin '%s'", + plugin->modpath); if (plugin->inst != NULL) { plugin->destroy_func(&plugin->inst); } if (plugin->handle != NULL) { - (void) dlclose(plugin->handle); + (void)dlclose(plugin->handle); } if (plugin->modpath != NULL) { isc_mem_free(plugin->mctx, plugin->modpath); @@ -244,8 +246,8 @@ unload_plugin(ns_plugin_t **pluginp) { } #elif _WIN32 static isc_result_t -load_symbol(HMODULE handle, const char *modpath, - const char *symbol_name, void **symbolp) +load_symbol(HMODULE handle, const char *modpath, const char *symbol_name, + void **symbolp) { void *symbol = NULL; @@ -269,7 +271,8 @@ load_symbol(HMODULE handle, const char *modpath, } static isc_result_t -load_plugin(isc_mem_t *mctx, const char *modpath, ns_plugin_t **pluginp) { +load_plugin(isc_mem_t *mctx, const char *modpath, ns_plugin_t **pluginp) +{ isc_result_t result; HMODULE handle; ns_plugin_t *plugin = NULL; @@ -290,12 +293,11 @@ load_plugin(isc_mem_t *mctx, const char *modpath, ns_plugin_t **pluginp) { version = version_func(); if (version < (NS_PLUGIN_VERSION - NS_PLUGIN_AGE) || - version > NS_PLUGIN_VERSION) - { + version > NS_PLUGIN_VERSION) { isc_log_write(ns_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_HOOKS, ISC_LOG_ERROR, - "plugin API version mismatch: %d/%d", - version, NS_PLUGIN_VERSION); + "plugin API version mismatch: %d/%d", version, + NS_PLUGIN_VERSION); CHECK(ISC_R_FAILURE); } @@ -322,8 +324,9 @@ cleanup: isc_log_write(ns_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_HOOKS, ISC_LOG_ERROR, "failed to dynamically load " - "plugin '%s': %d (%s)", modpath, - GetLastError(), isc_result_totext(result)); + "plugin '%s': %d (%s)", + modpath, GetLastError(), + isc_result_totext(result)); if (plugin != NULL) { isc_mem_putanddetach(&plugin->mctx, plugin, @@ -339,7 +342,8 @@ cleanup: } static void -unload_plugin(ns_plugin_t **pluginp) { +unload_plugin(ns_plugin_t **pluginp) +{ ns_plugin_t *plugin = NULL; REQUIRE(pluginp != NULL && *pluginp != NULL); @@ -347,9 +351,9 @@ unload_plugin(ns_plugin_t **pluginp) { plugin = *pluginp; *pluginp = NULL; - isc_log_write(ns_lctx, NS_LOGCATEGORY_GENERAL, - NS_LOGMODULE_HOOKS, ISC_LOG_DEBUG(1), - "unloading plugin '%s'", plugin->modpath); + isc_log_write(ns_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_HOOKS, + ISC_LOG_DEBUG(1), "unloading plugin '%s'", + plugin->modpath); if (plugin->inst != NULL) { plugin->destroy_func(&plugin->inst); @@ -364,30 +368,30 @@ unload_plugin(ns_plugin_t **pluginp) { isc_mem_putanddetach(&plugin->mctx, plugin, sizeof(*plugin)); } -#else /* HAVE_DLFCN_H || _WIN32 */ +#else /* HAVE_DLFCN_H || _WIN32 */ static isc_result_t -load_plugin(isc_mem_t *mctx, const char *modpath, ns_plugin_t **pluginp) { +load_plugin(isc_mem_t *mctx, const char *modpath, ns_plugin_t **pluginp) +{ UNUSED(mctx); UNUSED(modpath); UNUSED(pluginp); - isc_log_write(ns_lctx, NS_LOGCATEGORY_GENERAL, - NS_LOGMODULE_HOOKS, ISC_LOG_ERROR, - "plugin support is not implemented"); + isc_log_write(ns_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_HOOKS, + ISC_LOG_ERROR, "plugin support is not implemented"); return (ISC_R_NOTIMPLEMENTED); } static void -unload_plugin(ns_plugin_t **pluginp) { +unload_plugin(ns_plugin_t **pluginp) +{ UNUSED(pluginp); } -#endif /* HAVE_DLFCN_H */ +#endif /* HAVE_DLFCN_H */ isc_result_t -ns_plugin_register(const char *modpath, const char *parameters, - const void *cfg, const char *cfg_file, - unsigned long cfg_line, +ns_plugin_register(const char *modpath, const char *parameters, const void *cfg, + const char *cfg_file, unsigned long cfg_line, isc_mem_t *mctx, isc_log_t *lctx, void *actx, dns_view_t *view) { @@ -398,18 +402,16 @@ ns_plugin_register(const char *modpath, const char *parameters, REQUIRE(lctx != NULL); REQUIRE(view != NULL); - isc_log_write(ns_lctx, NS_LOGCATEGORY_GENERAL, - NS_LOGMODULE_HOOKS, ISC_LOG_INFO, - "loading plugin '%s'", modpath); + isc_log_write(ns_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_HOOKS, + ISC_LOG_INFO, "loading plugin '%s'", modpath); CHECK(load_plugin(mctx, modpath, &plugin)); - isc_log_write(ns_lctx, NS_LOGCATEGORY_GENERAL, - NS_LOGMODULE_HOOKS, ISC_LOG_INFO, - "registering plugin '%s'", modpath); + isc_log_write(ns_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_HOOKS, + ISC_LOG_INFO, "registering plugin '%s'", modpath); - CHECK(plugin->register_func(parameters, cfg, cfg_file, cfg_line, - mctx, lctx, actx, view->hooktable, + CHECK(plugin->register_func(parameters, cfg, cfg_file, cfg_line, mctx, + lctx, actx, view->hooktable, &plugin->inst)); ISC_LIST_APPEND(*(ns_plugins_t *)view->plugins, plugin, link); @@ -423,17 +425,17 @@ cleanup: } isc_result_t -ns_plugin_check(const char *modpath, const char *parameters, - const void *cfg, const char *cfg_file, unsigned long cfg_line, - isc_mem_t *mctx, isc_log_t *lctx, void *actx) +ns_plugin_check(const char *modpath, const char *parameters, const void *cfg, + const char *cfg_file, unsigned long cfg_line, isc_mem_t *mctx, + isc_log_t *lctx, void *actx) { isc_result_t result; ns_plugin_t *plugin = NULL; CHECK(load_plugin(mctx, modpath, &plugin)); - result = plugin->check_func(parameters, cfg, cfg_file, cfg_line, - mctx, lctx, actx); + result = plugin->check_func(parameters, cfg, cfg_file, cfg_line, mctx, + lctx, actx); cleanup: if (plugin != NULL) { @@ -444,7 +446,8 @@ cleanup: } void -ns_hooktable_init(ns_hooktable_t *hooktable) { +ns_hooktable_init(ns_hooktable_t *hooktable) +{ int i; for (i = 0; i < NS_HOOKPOINTS_COUNT; i++) { @@ -453,7 +456,8 @@ ns_hooktable_init(ns_hooktable_t *hooktable) { } isc_result_t -ns_hooktable_create(isc_mem_t *mctx, ns_hooktable_t **tablep) { +ns_hooktable_create(isc_mem_t *mctx, ns_hooktable_t **tablep) +{ ns_hooktable_t *hooktable = NULL; REQUIRE(tablep != NULL && *tablep == NULL); @@ -468,10 +472,11 @@ ns_hooktable_create(isc_mem_t *mctx, ns_hooktable_t **tablep) { } void -ns_hooktable_free(isc_mem_t *mctx, void **tablep) { +ns_hooktable_free(isc_mem_t *mctx, void **tablep) +{ ns_hooktable_t *table = NULL; - ns_hook_t *hook = NULL, *next = NULL; - int i = 0; + ns_hook_t * hook = NULL, *next = NULL; + int i = 0; REQUIRE(tablep != NULL && *tablep != NULL); @@ -479,15 +484,13 @@ ns_hooktable_free(isc_mem_t *mctx, void **tablep) { *tablep = NULL; for (i = 0; i < NS_HOOKPOINTS_COUNT; i++) { - for (hook = ISC_LIST_HEAD((*table)[i]); - hook != NULL; - hook = next) - { + for (hook = ISC_LIST_HEAD((*table)[i]); hook != NULL; + hook = next) { next = ISC_LIST_NEXT(hook, link); ISC_LIST_UNLINK((*table)[i], hook, link); if (hook->mctx != NULL) { - isc_mem_putanddetach(&hook->mctx, - hook, sizeof(*hook)); + isc_mem_putanddetach(&hook->mctx, hook, + sizeof(*hook)); } } } @@ -518,7 +521,8 @@ ns_hook_add(ns_hooktable_t *hooktable, isc_mem_t *mctx, } void -ns_plugins_create(isc_mem_t *mctx, ns_plugins_t **listp) { +ns_plugins_create(isc_mem_t *mctx, ns_plugins_t **listp) +{ ns_plugins_t *plugins = NULL; REQUIRE(listp != NULL && *listp == NULL); @@ -531,19 +535,17 @@ ns_plugins_create(isc_mem_t *mctx, ns_plugins_t **listp) { } void -ns_plugins_free(isc_mem_t *mctx, void **listp) { +ns_plugins_free(isc_mem_t *mctx, void **listp) +{ ns_plugins_t *list = NULL; - ns_plugin_t *plugin = NULL, *next = NULL; + ns_plugin_t * plugin = NULL, *next = NULL; REQUIRE(listp != NULL && *listp != NULL); list = *listp; *listp = NULL; - for (plugin = ISC_LIST_HEAD(*list); - plugin != NULL; - plugin = next) - { + for (plugin = ISC_LIST_HEAD(*list); plugin != NULL; plugin = next) { next = ISC_LIST_NEXT(plugin, link); ISC_LIST_UNLINK(*list, plugin, link); unload_plugin(&plugin); diff --git a/lib/ns/include/ns/client.h b/lib/ns/include/ns/client.h index d1e4f28f33..c1dfe9be04 100644 --- a/lib/ns/include/ns/client.h +++ b/lib/ns/include/ns/client.h @@ -61,9 +61,9 @@ #include #include #include -#include -#include #include +#include +#include #include #include @@ -81,11 +81,11 @@ *** Types ***/ -#define NS_CLIENT_TCP_BUFFER_SIZE (65535 + 2) -#define NS_CLIENT_SEND_BUFFER_SIZE 4096 -#define NS_CLIENT_RECV_BUFFER_SIZE 4096 +#define NS_CLIENT_TCP_BUFFER_SIZE (65535 + 2) +#define NS_CLIENT_SEND_BUFFER_SIZE 4096 +#define NS_CLIENT_RECV_BUFFER_SIZE 4096 -#define CLIENT_NMCTXS 100 +#define CLIENT_NMCTXS 100 /*%< * Number of 'mctx pools' for clients. (Should this be configurable?) * When enabling threads, we use a pool of memory contexts shared by @@ -95,7 +95,7 @@ * server. */ -#define CLIENT_NTASKS 100 +#define CLIENT_NTASKS 100 /*%< * Number of tasks to be used by clients - those are used only when recursing */ @@ -158,84 +158,84 @@ typedef ISC_LIST(ns_client_t) client_list_t; /*% nameserver client manager structure */ struct ns_clientmgr { /* Unlocked. */ - unsigned int magic; + unsigned int magic; - isc_mem_t * mctx; - ns_server_t * sctx; - isc_taskmgr_t * taskmgr; - isc_timermgr_t * timermgr; - isc_task_t * excl; - isc_refcount_t references; + isc_mem_t * mctx; + ns_server_t * sctx; + isc_taskmgr_t * taskmgr; + isc_timermgr_t *timermgr; + isc_task_t * excl; + isc_refcount_t references; /* Attached by clients, needed for e.g. recursion */ - isc_task_t ** taskpool; + isc_task_t **taskpool; - ns_interface_t *interface; + ns_interface_t *interface; /* Lock covers manager state. */ - isc_mutex_t lock; - bool exiting; + isc_mutex_t lock; + bool exiting; /* Lock covers the recursing list */ - isc_mutex_t reclock; - client_list_t recursing; /*%< Recursing clients */ + isc_mutex_t reclock; + client_list_t recursing; /*%< Recursing clients */ #if CLIENT_NMCTXS > 0 /*%< mctx pool for clients. */ - unsigned int nextmctx; - isc_mem_t * mctxpool[CLIENT_NMCTXS]; + unsigned int nextmctx; + isc_mem_t * mctxpool[CLIENT_NMCTXS]; #endif }; /*% nameserver client structure */ struct ns_client { - unsigned int magic; - isc_mem_t *mctx; - bool allocated; /* Do we need to free it? */ - ns_server_t *sctx; - ns_clientmgr_t *manager; - ns_clientstate_t state; - int naccepts; - int nreads; - int nsends; - int nrecvs; - int nupdates; - int nctls; - bool shuttingdown; - unsigned int attributes; - isc_task_t *task; - dns_view_t *view; - dns_dispatch_t *dispatch; - isc_nmhandle_t *handle; - unsigned char *tcpbuf; - dns_message_t *message; - unsigned char *recvbuf; - unsigned char sendbuf[NS_CLIENT_SEND_BUFFER_SIZE]; - dns_rdataset_t *opt; - uint16_t udpsize; - uint16_t extflags; - int16_t ednsversion; /* -1 noedns */ - void (*cleanup)(ns_client_t *); - void (*shutdown)(void *arg, isc_result_t result); - void *shutdown_arg; - ns_query_t query; - isc_time_t requesttime; - isc_stdtime_t now; - isc_time_t tnow; - dns_name_t signername; /*%< [T]SIG key name */ - dns_name_t *signer; /*%< NULL if not valid sig */ - bool mortal; /*%< Die after handling request */ - isc_quota_t *recursionquota; + unsigned int magic; + isc_mem_t * mctx; + bool allocated; /* Do we need to free it? */ + ns_server_t * sctx; + ns_clientmgr_t * manager; + ns_clientstate_t state; + int naccepts; + int nreads; + int nsends; + int nrecvs; + int nupdates; + int nctls; + bool shuttingdown; + unsigned int attributes; + isc_task_t * task; + dns_view_t * view; + dns_dispatch_t * dispatch; + isc_nmhandle_t * handle; + unsigned char * tcpbuf; + dns_message_t * message; + unsigned char * recvbuf; + unsigned char sendbuf[NS_CLIENT_SEND_BUFFER_SIZE]; + dns_rdataset_t * opt; + uint16_t udpsize; + uint16_t extflags; + int16_t ednsversion; /* -1 noedns */ + void (*cleanup)(ns_client_t *); + void (*shutdown)(void *arg, isc_result_t result); + void * shutdown_arg; + ns_query_t query; + isc_time_t requesttime; + isc_stdtime_t now; + isc_time_t tnow; + dns_name_t signername; /*%< [T]SIG key name */ + dns_name_t * signer; /*%< NULL if not valid sig */ + bool mortal; /*%< Die after handling request */ + isc_quota_t * recursionquota; - isc_sockaddr_t peeraddr; - bool peeraddr_valid; - isc_netaddr_t destaddr; - isc_sockaddr_t destsockaddr; + isc_sockaddr_t peeraddr; + bool peeraddr_valid; + isc_netaddr_t destaddr; + isc_sockaddr_t destsockaddr; - dns_ecs_t ecs; /*%< EDNS client subnet sent by client */ + dns_ecs_t ecs; /*%< EDNS client subnet sent by client */ - struct in6_pktinfo pktinfo; - isc_dscp_t dscp; + struct in6_pktinfo pktinfo; + isc_dscp_t dscp; /*% * Information about recent FORMERR response(s), for * FORMERR loop avoidance. This is separate for each @@ -243,19 +243,19 @@ struct ns_client { * the need for locking. */ struct { - isc_sockaddr_t addr; - isc_stdtime_t time; - dns_messageid_t id; + isc_sockaddr_t addr; + isc_stdtime_t time; + dns_messageid_t id; } formerrcache; /*% Callback function to send a response when unit testing */ - void (*sendcb)(isc_buffer_t *buf); + void (*sendcb)(isc_buffer_t *buf); - ISC_LINK(ns_client_t) rlink; - unsigned char cookie[8]; - uint32_t expire; - unsigned char *keytag; - uint16_t keytag_len; + ISC_LINK(ns_client_t) rlink; + unsigned char cookie[8]; + uint32_t expire; + unsigned char *keytag; + uint16_t keytag_len; /*% * Used to override the DNS response code in ns_client_error(). @@ -263,37 +263,37 @@ struct ns_client { * but if set to any other value, the least significant 12 * bits will be used as the rcode in the response message. */ - int32_t rcode_override; + int32_t rcode_override; }; -#define NS_CLIENT_MAGIC ISC_MAGIC('N','S','C','c') -#define NS_CLIENT_VALID(c) ISC_MAGIC_VALID(c, NS_CLIENT_MAGIC) +#define NS_CLIENT_MAGIC ISC_MAGIC('N', 'S', 'C', 'c') +#define NS_CLIENT_VALID(c) ISC_MAGIC_VALID(c, NS_CLIENT_MAGIC) -#define NS_CLIENTATTR_TCP 0x00001 -#define NS_CLIENTATTR_RA 0x00002 /*%< Client gets recursive service */ -#define NS_CLIENTATTR_PKTINFO 0x00004 /*%< pktinfo is valid */ -#define NS_CLIENTATTR_MULTICAST 0x00008 /*%< recv'd from multicast */ -#define NS_CLIENTATTR_WANTDNSSEC 0x00010 /*%< include dnssec records */ -#define NS_CLIENTATTR_WANTNSID 0x00020 /*%< include nameserver ID */ +#define NS_CLIENTATTR_TCP 0x00001 +#define NS_CLIENTATTR_RA 0x00002 /*%< Client gets recursive service */ +#define NS_CLIENTATTR_PKTINFO 0x00004 /*%< pktinfo is valid */ +#define NS_CLIENTATTR_MULTICAST 0x00008 /*%< recv'd from multicast */ +#define NS_CLIENTATTR_WANTDNSSEC 0x00010 /*%< include dnssec records */ +#define NS_CLIENTATTR_WANTNSID 0x00020 /*%< include nameserver ID */ /* Obsolete: NS_CLIENTATTR_FILTER_AAAA 0x00040 */ /* Obsolete: NS_CLIENTATTR_FILTER_AAAA_RC 0x00080 */ -#define NS_CLIENTATTR_WANTAD 0x00100 /*%< want AD in response if possible */ -#define NS_CLIENTATTR_WANTCOOKIE 0x00200 /*%< return a COOKIE */ -#define NS_CLIENTATTR_HAVECOOKIE 0x00400 /*%< has a valid COOKIE */ -#define NS_CLIENTATTR_WANTEXPIRE 0x00800 /*%< return seconds to expire */ -#define NS_CLIENTATTR_HAVEEXPIRE 0x01000 /*%< return seconds to expire */ -#define NS_CLIENTATTR_WANTOPT 0x02000 /*%< add opt to reply */ -#define NS_CLIENTATTR_HAVEECS 0x04000 /*%< received an ECS option */ -#define NS_CLIENTATTR_WANTPAD 0x08000 /*%< pad reply */ -#define NS_CLIENTATTR_USEKEEPALIVE 0x10000 /*%< use TCP keepalive */ +#define NS_CLIENTATTR_WANTAD 0x00100 /*%< want AD in response if possible */ +#define NS_CLIENTATTR_WANTCOOKIE 0x00200 /*%< return a COOKIE */ +#define NS_CLIENTATTR_HAVECOOKIE 0x00400 /*%< has a valid COOKIE */ +#define NS_CLIENTATTR_WANTEXPIRE 0x00800 /*%< return seconds to expire */ +#define NS_CLIENTATTR_HAVEEXPIRE 0x01000 /*%< return seconds to expire */ +#define NS_CLIENTATTR_WANTOPT 0x02000 /*%< add opt to reply */ +#define NS_CLIENTATTR_HAVEECS 0x04000 /*%< received an ECS option */ +#define NS_CLIENTATTR_WANTPAD 0x08000 /*%< pad reply */ +#define NS_CLIENTATTR_USEKEEPALIVE 0x10000 /*%< use TCP keepalive */ -#define NS_CLIENTATTR_NOSETFC 0x20000 /*%< don't set servfail cache */ +#define NS_CLIENTATTR_NOSETFC 0x20000 /*%< don't set servfail cache */ /* * Flag to use with the SERVFAIL cache to indicate * that a query had the CD bit set. */ -#define NS_FAILCACHE_CD 0x01 +#define NS_FAILCACHE_CD 0x01 #if defined(_WIN32) && !defined(_WIN64) LIBNS_EXTERNAL_DATA extern atomic_uint_fast32_t ns_client_requests; @@ -422,10 +422,8 @@ ns_client_checkaclsilent(ns_client_t *client, isc_netaddr_t *netaddr, */ isc_result_t -ns_client_checkacl(ns_client_t *client, - isc_sockaddr_t *sockaddr, - const char *opname, dns_acl_t *acl, - bool default_allow, +ns_client_checkacl(ns_client_t *client, isc_sockaddr_t *sockaddr, + const char *opname, dns_acl_t *acl, bool default_allow, int log_level); /*%< * Like ns_client_checkaclsilent, except the outcome of the check is @@ -441,18 +439,19 @@ ns_client_checkacl(ns_client_t *client, void ns_client_log(ns_client_t *client, isc_logcategory_t *category, - isc_logmodule_t *module, int level, - const char *fmt, ...) ISC_FORMAT_PRINTF(5, 6); + isc_logmodule_t *module, int level, const char *fmt, ...) + ISC_FORMAT_PRINTF(5, 6); void ns_client_logv(ns_client_t *client, isc_logcategory_t *category, - isc_logmodule_t *module, int level, const char *fmt, va_list ap) ISC_FORMAT_PRINTF(5, 0); + isc_logmodule_t *module, int level, const char *fmt, va_list ap) + ISC_FORMAT_PRINTF(5, 0); void ns_client_aclmsg(const char *msg, const dns_name_t *name, dns_rdatatype_t type, dns_rdataclass_t rdclass, char *buf, size_t len); -#define NS_CLIENT_ACLMSGSIZE(x) \ +#define NS_CLIENT_ACLMSGSIZE(x) \ (DNS_NAME_FORMATSIZE + DNS_RDATATYPE_FORMATSIZE + \ DNS_RDATACLASS_FORMATSIZE + sizeof(x) + sizeof("'/'")) @@ -500,13 +499,13 @@ ns__client_request(isc_nmhandle_t *handle, isc_region_t *region, void *arg); * (Not intended for use outside this module and associated tests.) */ - void - ns__client_tcpconn(isc_nmhandle_t *handle, isc_result_t result, void *arg); +void +ns__client_tcpconn(isc_nmhandle_t *handle, isc_result_t result, void *arg); - /*%< - * Called every time a TCP connection is establish. This is used for - * updating TCP statistics. - */ +/*%< + * Called every time a TCP connection is establish. This is used for + * updating TCP statistics. + */ dns_rdataset_t * ns_client_newrdataset(ns_client_t *client); @@ -593,5 +592,4 @@ ns__client_put_cb(void *client0); * it can be freed. */ - #endif /* NS_CLIENT_H */ diff --git a/lib/ns/include/ns/hooks.h b/lib/ns/include/ns/hooks.h index 5ad1074872..bd8bef0917 100644 --- a/lib/ns/include/ns/hooks.h +++ b/lib/ns/include/ns/hooks.h @@ -218,7 +218,7 @@ typedef enum { /* XXX other files could be added later */ - NS_HOOKPOINTS_COUNT /* MUST BE LAST */ + NS_HOOKPOINTS_COUNT /* MUST BE LAST */ } ns_hookpoint_t; /* @@ -230,13 +230,13 @@ typedef enum { NS_HOOK_RETURN, } ns_hookresult_t; -typedef ns_hookresult_t -(*ns_hook_action_t)(void *arg, void *data, isc_result_t *resultp); +typedef ns_hookresult_t (*ns_hook_action_t)(void *arg, void *data, + isc_result_t *resultp); typedef struct ns_hook { - isc_mem_t *mctx; + isc_mem_t * mctx; ns_hook_action_t action; - void *action_data; + void * action_data; ISC_LINK(struct ns_hook) link; } ns_hook_t; @@ -263,10 +263,9 @@ LIBNS_EXTERNAL_DATA extern ns_hooktable_t *ns__hook_table; #endif typedef isc_result_t -ns_plugin_register_t(const char *parameters, - const void *cfg, const char *file, unsigned long line, - isc_mem_t *mctx, isc_log_t *lctx, void *actx, - ns_hooktable_t *hooktable, void **instp); +ns_plugin_register_t(const char *parameters, const void *cfg, const char *file, + unsigned long line, isc_mem_t *mctx, isc_log_t *lctx, + void *actx, ns_hooktable_t *hooktable, void **instp); /*%< * Called when registering a new plugin. * @@ -290,9 +289,9 @@ ns_plugin_destroy_t(void **instp); */ typedef isc_result_t -ns_plugin_check_t(const char *parameters, - const void *cfg, const char *file, unsigned long line, - isc_mem_t *mctx, isc_log_t *lctx, void *actx); +ns_plugin_check_t(const char *parameters, const void *cfg, const char *file, + unsigned long line, isc_mem_t *mctx, isc_log_t *lctx, + void *actx); /*%< * Check the validity of 'parameters'. */ @@ -310,10 +309,10 @@ ns_plugin_version_t(void); /*% * Prototypes for API functions to be defined in each module. */ -ns_plugin_check_t plugin_check; -ns_plugin_destroy_t plugin_destroy; +ns_plugin_check_t plugin_check; +ns_plugin_destroy_t plugin_destroy; ns_plugin_register_t plugin_register; -ns_plugin_version_t plugin_version; +ns_plugin_version_t plugin_version; isc_result_t ns_plugin_expandpath(const char *src, char *dst, size_t dstsize); @@ -340,9 +339,8 @@ ns_plugin_expandpath(const char *src, char *dst, size_t dstsize); */ isc_result_t -ns_plugin_register(const char *modpath, const char *parameters, - const void *cfg, const char *cfg_file, - unsigned long cfg_line, +ns_plugin_register(const char *modpath, const char *parameters, const void *cfg, + const char *cfg_file, unsigned long cfg_line, isc_mem_t *mctx, isc_log_t *lctx, void *actx, dns_view_t *view); /*%< @@ -361,9 +359,9 @@ ns_plugin_register(const char *modpath, const char *parameters, */ isc_result_t -ns_plugin_check(const char *modpath, const char *parameters, - const void *cfg, const char *cfg_file, unsigned long cfg_line, - isc_mem_t *mctx, isc_log_t *lctx, void *actx); +ns_plugin_check(const char *modpath, const char *parameters, const void *cfg, + const char *cfg_file, unsigned long cfg_line, isc_mem_t *mctx, + isc_log_t *lctx, void *actx); /*%< * Open the plugin module at 'modpath' and check the validity of * 'parameters', logging any errors or warnings found, then diff --git a/lib/ns/include/ns/interfacemgr.h b/lib/ns/include/ns/interfacemgr.h index 0212460cc4..368e354a61 100644 --- a/lib/ns/include/ns/interfacemgr.h +++ b/lib/ns/include/ns/interfacemgr.h @@ -45,8 +45,8 @@ #include #include #include -#include #include +#include #include #include @@ -58,38 +58,39 @@ *** Types ***/ -#define IFACE_MAGIC ISC_MAGIC('I',':','-',')') -#define NS_INTERFACE_VALID(t) ISC_MAGIC_VALID(t, IFACE_MAGIC) +#define IFACE_MAGIC ISC_MAGIC('I', ':', '-', ')') +#define NS_INTERFACE_VALID(t) ISC_MAGIC_VALID(t, IFACE_MAGIC) -#define NS_INTERFACEFLAG_ANYADDR 0x01U /*%< bound to "any" address */ -#define MAX_UDP_DISPATCH 128 /*%< Maximum number of UDP dispatchers - to start per interface */ +#define NS_INTERFACEFLAG_ANYADDR 0x01U /*%< bound to "any" address */ +#define MAX_UDP_DISPATCH \ + 128 /*%< Maximum number of UDP dispatchers \ + to start per interface */ /*% The nameserver interface structure */ struct ns_interface { - unsigned int magic; /*%< Magic number. */ - ns_interfacemgr_t *mgr; /*%< Interface manager. */ - isc_mutex_t lock; - isc_refcount_t references; - unsigned int generation; /*%< Generation number. */ - isc_sockaddr_t addr; /*%< Address and port. */ - unsigned int flags; /*%< Interface flags */ - char name[32]; /*%< Null terminated. */ - dns_dispatch_t *udpdispatch[MAX_UDP_DISPATCH]; - /*%< UDP dispatchers. */ - isc_socket_t *tcpsocket; /*%< TCP socket. */ - isc_nmsocket_t *udplistensocket; - isc_nmsocket_t *tcplistensocket; - isc_dscp_t dscp; /*%< "listen-on" DSCP value */ - isc_refcount_t ntcpaccepting; /*%< Number of clients - ready to accept new - TCP connections on this - interface */ - isc_refcount_t ntcpactive; /*%< Number of clients - servicing TCP queries - (whether accepting or - connected) */ - int nudpdispatch; /*%< Number of UDP dispatches */ - ns_clientmgr_t *clientmgr; /*%< Client manager. */ + unsigned int magic; /*%< Magic number. */ + ns_interfacemgr_t *mgr; /*%< Interface manager. */ + isc_mutex_t lock; + isc_refcount_t references; + unsigned int generation; /*%< Generation number. */ + isc_sockaddr_t addr; /*%< Address and port. */ + unsigned int flags; /*%< Interface flags */ + char name[32]; /*%< Null terminated. */ + dns_dispatch_t * udpdispatch[MAX_UDP_DISPATCH]; + /*%< UDP dispatchers. */ + isc_socket_t * tcpsocket; /*%< TCP socket. */ + isc_nmsocket_t *udplistensocket; + isc_nmsocket_t *tcplistensocket; + isc_dscp_t dscp; /*%< "listen-on" DSCP value */ + isc_refcount_t ntcpaccepting; /*%< Number of clients + ready to accept new + TCP connections on this + interface */ + isc_refcount_t ntcpactive; /*%< Number of clients + servicing TCP queries + (whether accepting or + connected) */ + int nudpdispatch; /*%< Number of UDP dispatches */ + ns_clientmgr_t *clientmgr; /*%< Client manager. */ ISC_LINK(ns_interface_t) link; }; diff --git a/lib/ns/include/ns/lib.h b/lib/ns/include/ns/lib.h index 6f0d91634a..14bbda8203 100644 --- a/lib/ns/include/ns/lib.h +++ b/lib/ns/include/ns/lib.h @@ -13,8 +13,8 @@ /*! \file include/ns/lib.h */ -#include #include +#include ISC_LANG_BEGINDECLS diff --git a/lib/ns/include/ns/listenlist.h b/lib/ns/include/ns/listenlist.h index f6f631988f..23d8e7f0b3 100644 --- a/lib/ns/include/ns/listenlist.h +++ b/lib/ns/include/ns/listenlist.h @@ -35,21 +35,21 @@ *** Types ***/ -typedef struct ns_listenelt ns_listenelt_t; +typedef struct ns_listenelt ns_listenelt_t; typedef struct ns_listenlist ns_listenlist_t; struct ns_listenelt { - isc_mem_t * mctx; - in_port_t port; - isc_dscp_t dscp; /* -1 = not set, 0..63 */ - dns_acl_t * acl; - ISC_LINK(ns_listenelt_t) link; + isc_mem_t *mctx; + in_port_t port; + isc_dscp_t dscp; /* -1 = not set, 0..63 */ + dns_acl_t *acl; + ISC_LINK(ns_listenelt_t) link; }; struct ns_listenlist { - isc_mem_t * mctx; - int refcount; - ISC_LIST(ns_listenelt_t) elts; + isc_mem_t *mctx; + int refcount; + ISC_LIST(ns_listenelt_t) elts; }; /*** @@ -97,5 +97,3 @@ ns_listenlist_default(isc_mem_t *mctx, in_port_t port, isc_dscp_t dscp, */ #endif /* NS_LISTENLIST_H */ - - diff --git a/lib/ns/include/ns/log.h b/lib/ns/include/ns/log.h index 24689a652c..cb8ebe0ef1 100644 --- a/lib/ns/include/ns/log.h +++ b/lib/ns/include/ns/log.h @@ -17,32 +17,32 @@ #include #include -LIBNS_EXTERNAL_DATA extern isc_log_t *ns_lctx; +LIBNS_EXTERNAL_DATA extern isc_log_t * ns_lctx; LIBNS_EXTERNAL_DATA extern isc_logcategory_t ns_categories[]; -LIBNS_EXTERNAL_DATA extern isc_logmodule_t ns_modules[]; +LIBNS_EXTERNAL_DATA extern isc_logmodule_t ns_modules[]; -#define NS_LOGCATEGORY_CLIENT (&ns_categories[0]) -#define NS_LOGCATEGORY_NETWORK (&ns_categories[1]) -#define NS_LOGCATEGORY_UPDATE (&ns_categories[2]) -#define NS_LOGCATEGORY_QUERIES (&ns_categories[3]) -#define NS_LOGCATEGORY_UPDATE_SECURITY (&ns_categories[4]) -#define NS_LOGCATEGORY_QUERY_ERRORS (&ns_categories[5]) -#define NS_LOGCATEGORY_TAT (&ns_categories[6]) -#define NS_LOGCATEGORY_SERVE_STALE (&ns_categories[7]) +#define NS_LOGCATEGORY_CLIENT (&ns_categories[0]) +#define NS_LOGCATEGORY_NETWORK (&ns_categories[1]) +#define NS_LOGCATEGORY_UPDATE (&ns_categories[2]) +#define NS_LOGCATEGORY_QUERIES (&ns_categories[3]) +#define NS_LOGCATEGORY_UPDATE_SECURITY (&ns_categories[4]) +#define NS_LOGCATEGORY_QUERY_ERRORS (&ns_categories[5]) +#define NS_LOGCATEGORY_TAT (&ns_categories[6]) +#define NS_LOGCATEGORY_SERVE_STALE (&ns_categories[7]) /* * Backwards compatibility. */ -#define NS_LOGCATEGORY_GENERAL ISC_LOGCATEGORY_GENERAL +#define NS_LOGCATEGORY_GENERAL ISC_LOGCATEGORY_GENERAL -#define NS_LOGMODULE_CLIENT (&ns_modules[0]) -#define NS_LOGMODULE_QUERY (&ns_modules[1]) -#define NS_LOGMODULE_INTERFACEMGR (&ns_modules[2]) -#define NS_LOGMODULE_UPDATE (&ns_modules[3]) -#define NS_LOGMODULE_XFER_IN (&ns_modules[4]) -#define NS_LOGMODULE_XFER_OUT (&ns_modules[5]) -#define NS_LOGMODULE_NOTIFY (&ns_modules[6]) -#define NS_LOGMODULE_HOOKS (&ns_modules[7]) +#define NS_LOGMODULE_CLIENT (&ns_modules[0]) +#define NS_LOGMODULE_QUERY (&ns_modules[1]) +#define NS_LOGMODULE_INTERFACEMGR (&ns_modules[2]) +#define NS_LOGMODULE_UPDATE (&ns_modules[3]) +#define NS_LOGMODULE_XFER_IN (&ns_modules[4]) +#define NS_LOGMODULE_XFER_OUT (&ns_modules[5]) +#define NS_LOGMODULE_NOTIFY (&ns_modules[6]) +#define NS_LOGMODULE_HOOKS (&ns_modules[7]) void ns_log_init(isc_log_t *lctx); diff --git a/lib/ns/include/ns/notify.h b/lib/ns/include/ns/notify.h index a4b4971a97..555a6f7915 100644 --- a/lib/ns/include/ns/notify.h +++ b/lib/ns/include/ns/notify.h @@ -43,4 +43,3 @@ ns_notify_start(ns_client_t *client); */ #endif /* NS_NOTIFY_H */ - diff --git a/lib/ns/include/ns/query.h b/lib/ns/include/ns/query.h index 5e38d48fb2..2138d20fdc 100644 --- a/lib/ns/include/ns/query.h +++ b/lib/ns/include/ns/query.h @@ -16,9 +16,9 @@ #include -#include #include #include +#include #include #include @@ -29,11 +29,11 @@ /*% nameserver database version structure */ typedef struct ns_dbversion { - dns_db_t *db; - dns_dbversion_t *version; - bool acl_checked; - bool queryok; - ISC_LINK(struct ns_dbversion) link; + dns_db_t * db; + dns_dbversion_t *version; + bool acl_checked; + bool queryok; + ISC_LINK(struct ns_dbversion) link; } ns_dbversion_t; /*% @@ -41,137 +41,137 @@ typedef struct ns_dbversion { * query; this is used to detect a recursion loop */ typedef struct ns_query_recparam { - dns_rdatatype_t qtype; - dns_name_t * qname; - dns_fixedname_t fqname; - dns_name_t * qdomain; - dns_fixedname_t fqdomain; + dns_rdatatype_t qtype; + dns_name_t * qname; + dns_fixedname_t fqname; + dns_name_t * qdomain; + dns_fixedname_t fqdomain; } ns_query_recparam_t; /*% nameserver query structure */ struct ns_query { - unsigned int attributes; - unsigned int restarts; - bool timerset; - dns_name_t * qname; - dns_name_t * origqname; - dns_rdatatype_t qtype; - unsigned int dboptions; - unsigned int fetchoptions; - dns_db_t * gluedb; - dns_db_t * authdb; - dns_zone_t * authzone; - bool authdbset; - bool isreferral; - isc_mutex_t fetchlock; - dns_fetch_t * fetch; - dns_fetch_t * prefetch; - dns_rpz_st_t * rpz_st; - isc_bufferlist_t namebufs; - ISC_LIST(ns_dbversion_t) activeversions; - ISC_LIST(ns_dbversion_t) freeversions; - dns_rdataset_t * dns64_aaaa; - dns_rdataset_t * dns64_sigaaaa; - bool * dns64_aaaaok; - unsigned int dns64_aaaaoklen; - unsigned int dns64_options; - unsigned int dns64_ttl; + unsigned int attributes; + unsigned int restarts; + bool timerset; + dns_name_t * qname; + dns_name_t * origqname; + dns_rdatatype_t qtype; + unsigned int dboptions; + unsigned int fetchoptions; + dns_db_t * gluedb; + dns_db_t * authdb; + dns_zone_t * authzone; + bool authdbset; + bool isreferral; + isc_mutex_t fetchlock; + dns_fetch_t * fetch; + dns_fetch_t * prefetch; + dns_rpz_st_t * rpz_st; + isc_bufferlist_t namebufs; + ISC_LIST(ns_dbversion_t) activeversions; + ISC_LIST(ns_dbversion_t) freeversions; + dns_rdataset_t *dns64_aaaa; + dns_rdataset_t *dns64_sigaaaa; + bool * dns64_aaaaok; + unsigned int dns64_aaaaoklen; + unsigned int dns64_options; + unsigned int dns64_ttl; struct { - dns_db_t * db; - dns_zone_t * zone; - dns_dbnode_t * node; - dns_rdatatype_t qtype; - dns_name_t * fname; - dns_fixedname_t fixed; - isc_result_t result; - dns_rdataset_t * rdataset; - dns_rdataset_t * sigrdataset; - bool authoritative; - bool is_zone; + dns_db_t * db; + dns_zone_t * zone; + dns_dbnode_t * node; + dns_rdatatype_t qtype; + dns_name_t * fname; + dns_fixedname_t fixed; + isc_result_t result; + dns_rdataset_t *rdataset; + dns_rdataset_t *sigrdataset; + bool authoritative; + bool is_zone; } redirect; - ns_query_recparam_t recparam; + ns_query_recparam_t recparam; dns_keytag_t root_key_sentinel_keyid; - bool root_key_sentinel_is_ta; - bool root_key_sentinel_not_ta; + bool root_key_sentinel_is_ta; + bool root_key_sentinel_not_ta; }; -#define NS_QUERYATTR_RECURSIONOK 0x00001 -#define NS_QUERYATTR_CACHEOK 0x00002 -#define NS_QUERYATTR_PARTIALANSWER 0x00004 -#define NS_QUERYATTR_NAMEBUFUSED 0x00008 -#define NS_QUERYATTR_RECURSING 0x00010 -#define NS_QUERYATTR_QUERYOKVALID 0x00040 -#define NS_QUERYATTR_QUERYOK 0x00080 -#define NS_QUERYATTR_WANTRECURSION 0x00100 -#define NS_QUERYATTR_SECURE 0x00200 -#define NS_QUERYATTR_NOAUTHORITY 0x00400 -#define NS_QUERYATTR_NOADDITIONAL 0x00800 -#define NS_QUERYATTR_CACHEACLOKVALID 0x01000 -#define NS_QUERYATTR_CACHEACLOK 0x02000 -#define NS_QUERYATTR_DNS64 0x04000 -#define NS_QUERYATTR_DNS64EXCLUDE 0x08000 -#define NS_QUERYATTR_RRL_CHECKED 0x10000 -#define NS_QUERYATTR_REDIRECT 0x20000 +#define NS_QUERYATTR_RECURSIONOK 0x00001 +#define NS_QUERYATTR_CACHEOK 0x00002 +#define NS_QUERYATTR_PARTIALANSWER 0x00004 +#define NS_QUERYATTR_NAMEBUFUSED 0x00008 +#define NS_QUERYATTR_RECURSING 0x00010 +#define NS_QUERYATTR_QUERYOKVALID 0x00040 +#define NS_QUERYATTR_QUERYOK 0x00080 +#define NS_QUERYATTR_WANTRECURSION 0x00100 +#define NS_QUERYATTR_SECURE 0x00200 +#define NS_QUERYATTR_NOAUTHORITY 0x00400 +#define NS_QUERYATTR_NOADDITIONAL 0x00800 +#define NS_QUERYATTR_CACHEACLOKVALID 0x01000 +#define NS_QUERYATTR_CACHEACLOK 0x02000 +#define NS_QUERYATTR_DNS64 0x04000 +#define NS_QUERYATTR_DNS64EXCLUDE 0x08000 +#define NS_QUERYATTR_RRL_CHECKED 0x10000 +#define NS_QUERYATTR_REDIRECT 0x20000 typedef struct query_ctx query_ctx_t; /* query context structure */ struct query_ctx { - isc_buffer_t *dbuf; /* name buffer */ - dns_name_t *fname; /* found name from DB lookup */ - dns_name_t *tname; /* temporary name, used - * when processing ANY - * queries */ - dns_rdataset_t *rdataset; /* found rdataset */ - dns_rdataset_t *sigrdataset; /* found sigrdataset */ - dns_rdataset_t *noqname; /* rdataset needing - * NOQNAME proof */ + isc_buffer_t *dbuf; /* name buffer */ + dns_name_t * fname; /* found name from DB lookup */ + dns_name_t * tname; /* temporary name, used + * when processing ANY + * queries */ + dns_rdataset_t *rdataset; /* found rdataset */ + dns_rdataset_t *sigrdataset; /* found sigrdataset */ + dns_rdataset_t *noqname; /* rdataset needing + * NOQNAME proof */ dns_rdatatype_t qtype; dns_rdatatype_t type; - unsigned int options; /* DB lookup options */ + unsigned int options; /* DB lookup options */ - bool redirected; /* nxdomain redirected? */ - bool is_zone; /* is DB a zone DB? */ + bool redirected; /* nxdomain redirected? */ + bool is_zone; /* is DB a zone DB? */ bool is_staticstub_zone; - bool resuming; /* resumed from recursion? */ + bool resuming; /* resumed from recursion? */ bool dns64, dns64_exclude, rpz; - bool authoritative; /* authoritative query? */ - bool want_restart; /* CNAME chain or other - * restart needed */ - bool need_wildcardproof; /* wilcard proof needed */ - bool nxrewrite; /* negative answer from RPZ */ - bool findcoveringnsec; /* lookup covering NSEC */ - bool answer_has_ns; /* NS is in answer */ - dns_fixedname_t wildcardname; /* name needing wcard proof */ - dns_fixedname_t dsname; /* name needing DS */ + bool authoritative; /* authoritative query? */ + bool want_restart; /* CNAME chain or other + * restart needed */ + bool need_wildcardproof; /* wilcard proof needed */ + bool nxrewrite; /* negative answer from RPZ */ + bool findcoveringnsec; /* lookup covering NSEC */ + bool answer_has_ns; /* NS is in answer */ + dns_fixedname_t wildcardname; /* name needing wcard proof */ + dns_fixedname_t dsname; /* name needing DS */ - ns_client_t *client; /* client object */ - bool detach_client; /* client needs detaching */ + ns_client_t *client; /* client object */ + bool detach_client; /* client needs detaching */ - dns_fetchevent_t *event; /* recursion event */ + dns_fetchevent_t *event; /* recursion event */ - dns_db_t *db; /* zone or cache database */ - dns_dbversion_t *version; /* DB version */ - dns_dbnode_t *node; /* DB node */ + dns_db_t * db; /* zone or cache database */ + dns_dbversion_t *version; /* DB version */ + dns_dbnode_t * node; /* DB node */ - dns_db_t *zdb; /* zone DB values, saved */ - dns_dbnode_t *znode; /* while searching cache */ - dns_name_t *zfname; /* for a better answer */ + dns_db_t * zdb; /* zone DB values, saved */ + dns_dbnode_t * znode; /* while searching cache */ + dns_name_t * zfname; /* for a better answer */ dns_dbversion_t *zversion; - dns_rdataset_t *zrdataset; - dns_rdataset_t *zsigrdataset; + dns_rdataset_t * zrdataset; + dns_rdataset_t * zsigrdataset; - dns_rpz_st_t *rpz_st; /* RPZ state */ - dns_zone_t *zone; /* zone to search */ + dns_rpz_st_t *rpz_st; /* RPZ state */ + dns_zone_t * zone; /* zone to search */ - dns_view_t *view; /* client view */ + dns_view_t *view; /* client view */ - isc_result_t result; /* query result */ - int line; /* line to report error */ + isc_result_t result; /* query result */ + int line; /* line to report error */ }; /* @@ -202,7 +202,6 @@ ns_query_recurse(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname, * recursion completes. */ - isc_result_t ns_query_init(ns_client_t *client); @@ -243,7 +242,6 @@ ns_query_recurse(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname, * recursion completes. */ - isc_result_t ns__query_sfcache(query_ctx_t *qctx); /*%< diff --git a/lib/ns/include/ns/server.h b/lib/ns/include/ns/server.h index 6b45225d5f..a157071a9e 100644 --- a/lib/ns/include/ns/server.h +++ b/lib/ns/include/ns/server.h @@ -17,8 +17,8 @@ #include #include -#include #include +#include #include #include #include @@ -30,105 +30,102 @@ #include -#define NS_EVENT_CLIENTCONTROL (ISC_EVENTCLASS_NS + 0) +#define NS_EVENT_CLIENTCONTROL (ISC_EVENTCLASS_NS + 0) -#define NS_SERVER_LOGQUERIES 0x00000001U /*%< log queries */ -#define NS_SERVER_NOAA 0x00000002U /*%< -T noaa */ -#define NS_SERVER_NOSOA 0x00000004U /*%< -T nosoa */ -#define NS_SERVER_NONEAREST 0x00000008U /*%< -T nonearest */ -#define NS_SERVER_NOEDNS 0x00000020U /*%< -T noedns */ -#define NS_SERVER_DROPEDNS 0x00000040U /*%< -T dropedns */ -#define NS_SERVER_NOTCP 0x00000080U /*%< -T notcp */ -#define NS_SERVER_DISABLE4 0x00000100U /*%< -6 */ -#define NS_SERVER_DISABLE6 0x00000200U /*%< -4 */ -#define NS_SERVER_FIXEDLOCAL 0x00000400U /*%< -T fixedlocal */ -#define NS_SERVER_SIGVALINSECS 0x00000800U /*%< -T sigvalinsecs */ -#define NS_SERVER_EDNSFORMERR 0x00001000U /*%< -T ednsformerr (STD13) */ -#define NS_SERVER_EDNSNOTIMP 0x00002000U /*%< -T ednsnotimp */ -#define NS_SERVER_EDNSREFUSED 0x00004000U /*%< -T ednsrefused */ +#define NS_SERVER_LOGQUERIES 0x00000001U /*%< log queries */ +#define NS_SERVER_NOAA 0x00000002U /*%< -T noaa */ +#define NS_SERVER_NOSOA 0x00000004U /*%< -T nosoa */ +#define NS_SERVER_NONEAREST 0x00000008U /*%< -T nonearest */ +#define NS_SERVER_NOEDNS 0x00000020U /*%< -T noedns */ +#define NS_SERVER_DROPEDNS 0x00000040U /*%< -T dropedns */ +#define NS_SERVER_NOTCP 0x00000080U /*%< -T notcp */ +#define NS_SERVER_DISABLE4 0x00000100U /*%< -6 */ +#define NS_SERVER_DISABLE6 0x00000200U /*%< -4 */ +#define NS_SERVER_FIXEDLOCAL 0x00000400U /*%< -T fixedlocal */ +#define NS_SERVER_SIGVALINSECS 0x00000800U /*%< -T sigvalinsecs */ +#define NS_SERVER_EDNSFORMERR 0x00001000U /*%< -T ednsformerr (STD13) */ +#define NS_SERVER_EDNSNOTIMP 0x00002000U /*%< -T ednsnotimp */ +#define NS_SERVER_EDNSREFUSED 0x00004000U /*%< -T ednsrefused */ /*% * Type for callback function to get hostname. */ -typedef isc_result_t -(*ns_hostnamecb_t)(char *buf, size_t len); +typedef isc_result_t (*ns_hostnamecb_t)(char *buf, size_t len); /*% * Type for callback function to signal the fuzzer thread * when built with AFL. */ -typedef void -(*ns_fuzzcb_t)(void); +typedef void (*ns_fuzzcb_t)(void); /*% * Type for callback function to get the view that can answer a query. */ -typedef isc_result_t -(*ns_matchview_t)(isc_netaddr_t *srcaddr, isc_netaddr_t *destaddr, - dns_message_t *message, dns_aclenv_t *env, - isc_result_t *sigresultp, dns_view_t **viewp); +typedef isc_result_t (*ns_matchview_t)( + isc_netaddr_t *srcaddr, isc_netaddr_t *destaddr, dns_message_t *message, + dns_aclenv_t *env, isc_result_t *sigresultp, dns_view_t **viewp); /*% * Server context. */ struct ns_server { - unsigned int magic; - isc_mem_t * mctx; + unsigned int magic; + isc_mem_t * mctx; - isc_refcount_t references; + isc_refcount_t references; /*% Server cookie secret and algorithm */ - unsigned char secret[32]; - ns_cookiealg_t cookiealg; - ns_altsecretlist_t altsecrets; - bool answercookie; + unsigned char secret[32]; + ns_cookiealg_t cookiealg; + ns_altsecretlist_t altsecrets; + bool answercookie; /*% Quotas */ - isc_quota_t recursionquota; - isc_quota_t tcpquota; - isc_quota_t xfroutquota; + isc_quota_t recursionquota; + isc_quota_t tcpquota; + isc_quota_t xfroutquota; /*% Test options and other configurables */ - uint32_t options; + uint32_t options; - dns_acl_t *blackholeacl; - dns_acl_t *keepresporder; - uint16_t udpsize; - uint16_t transfer_tcp_message_size; - bool interface_auto; - dns_tkeyctx_t * tkeyctx; + dns_acl_t * blackholeacl; + dns_acl_t * keepresporder; + uint16_t udpsize; + uint16_t transfer_tcp_message_size; + bool interface_auto; + dns_tkeyctx_t *tkeyctx; /*% Server id for NSID */ - char * server_id; - ns_hostnamecb_t gethostname; + char * server_id; + ns_hostnamecb_t gethostname; /*% Fuzzer callback */ - isc_fuzztype_t fuzztype; - ns_fuzzcb_t fuzznotify; + isc_fuzztype_t fuzztype; + ns_fuzzcb_t fuzznotify; /*% Callback to find a matching view for a query */ - ns_matchview_t matchingview; + ns_matchview_t matchingview; /*% Stats counters */ - ns_stats_t * nsstats; - dns_stats_t * rcvquerystats; - dns_stats_t * opcodestats; - dns_stats_t * rcodestats; + ns_stats_t * nsstats; + dns_stats_t *rcvquerystats; + dns_stats_t *opcodestats; + dns_stats_t *rcodestats; - isc_stats_t * udpinstats4; - isc_stats_t * udpoutstats4; - isc_stats_t * udpinstats6; - isc_stats_t * udpoutstats6; + isc_stats_t *udpinstats4; + isc_stats_t *udpoutstats4; + isc_stats_t *udpinstats6; + isc_stats_t *udpoutstats6; - isc_stats_t * tcpinstats4; - isc_stats_t * tcpoutstats4; - isc_stats_t * tcpinstats6; - isc_stats_t * tcpoutstats6; + isc_stats_t *tcpinstats4; + isc_stats_t *tcpoutstats4; + isc_stats_t *tcpinstats6; + isc_stats_t *tcpoutstats6; }; struct ns_altsecret { ISC_LINK(ns_altsecret_t) link; - unsigned char secret[32]; + unsigned char secret[32]; }; isc_result_t @@ -169,8 +166,7 @@ ns_server_setserverid(ns_server_t *sctx, const char *serverid); */ void -ns_server_setoption(ns_server_t *sctx, unsigned int option, - bool value); +ns_server_setoption(ns_server_t *sctx, unsigned int option, bool value); /*%< * Set the given options on (if 'value' == #true) * or off (if 'value' == #false). diff --git a/lib/ns/include/ns/sortlist.h b/lib/ns/include/ns/sortlist.h index 3eb3eea66b..70064e680e 100644 --- a/lib/ns/include/ns/sortlist.h +++ b/lib/ns/include/ns/sortlist.h @@ -22,8 +22,8 @@ /*% * Type for callback functions that rank addresses. */ -typedef int -(*dns_addressorderfunc_t)(const isc_netaddr_t *address, const void *arg); +typedef int (*dns_addressorderfunc_t)(const isc_netaddr_t *address, + const void * arg); /*% * Return value type for setup_sortlist. @@ -35,8 +35,8 @@ typedef enum { } ns_sortlisttype_t; ns_sortlisttype_t -ns_sortlist_setup(dns_acl_t *acl, dns_aclenv_t *env, - isc_netaddr_t *clientaddr, const void **argp); +ns_sortlist_setup(dns_acl_t *acl, dns_aclenv_t *env, isc_netaddr_t *clientaddr, + const void **argp); /*%< * Find the sortlist statement in 'acl' (for ACL environment 'env') * that applies to 'clientaddr', if any. @@ -68,9 +68,8 @@ ns_sortlist_addrorder2(const isc_netaddr_t *addr, const void *arg); void ns_sortlist_byaddrsetup(dns_acl_t *sortlist_acl, dns_aclenv_t *env, - isc_netaddr_t *client_addr, - dns_addressorderfunc_t *orderp, - const void **argp); + isc_netaddr_t * client_addr, + dns_addressorderfunc_t *orderp, const void **argp); /*%< * Find the sortlist statement in 'acl' that applies to 'clientaddr', if any. * If a sortlist statement applies, return in '*orderp' a pointer to a function diff --git a/lib/ns/include/ns/stats.h b/lib/ns/include/ns/stats.h index 8afe14260f..0c412f86d1 100644 --- a/lib/ns/include/ns/stats.h +++ b/lib/ns/include/ns/stats.h @@ -19,94 +19,93 @@ /*% * Server statistics counters. Used as isc_statscounter_t values. */ -enum { - ns_statscounter_requestv4 = 0, - ns_statscounter_requestv6 = 1, - ns_statscounter_edns0in = 2, - ns_statscounter_badednsver = 3, - ns_statscounter_tsigin = 4, - ns_statscounter_sig0in = 5, - ns_statscounter_invalidsig = 6, - ns_statscounter_requesttcp = 7, +enum { ns_statscounter_requestv4 = 0, + ns_statscounter_requestv6 = 1, + ns_statscounter_edns0in = 2, + ns_statscounter_badednsver = 3, + ns_statscounter_tsigin = 4, + ns_statscounter_sig0in = 5, + ns_statscounter_invalidsig = 6, + ns_statscounter_requesttcp = 7, - ns_statscounter_authrej = 8, - ns_statscounter_recurserej = 9, - ns_statscounter_xfrrej = 10, - ns_statscounter_updaterej = 11, + ns_statscounter_authrej = 8, + ns_statscounter_recurserej = 9, + ns_statscounter_xfrrej = 10, + ns_statscounter_updaterej = 11, - ns_statscounter_response = 12, - ns_statscounter_truncatedresp = 13, - ns_statscounter_edns0out = 14, - ns_statscounter_tsigout = 15, - ns_statscounter_sig0out = 16, + ns_statscounter_response = 12, + ns_statscounter_truncatedresp = 13, + ns_statscounter_edns0out = 14, + ns_statscounter_tsigout = 15, + ns_statscounter_sig0out = 16, - ns_statscounter_success = 17, - ns_statscounter_authans = 18, - ns_statscounter_nonauthans = 19, - ns_statscounter_referral = 20, - ns_statscounter_nxrrset = 21, - ns_statscounter_servfail = 22, - ns_statscounter_formerr = 23, - ns_statscounter_nxdomain = 24, - ns_statscounter_recursion = 25, - ns_statscounter_duplicate = 26, - ns_statscounter_dropped = 27, - ns_statscounter_failure = 28, + ns_statscounter_success = 17, + ns_statscounter_authans = 18, + ns_statscounter_nonauthans = 19, + ns_statscounter_referral = 20, + ns_statscounter_nxrrset = 21, + ns_statscounter_servfail = 22, + ns_statscounter_formerr = 23, + ns_statscounter_nxdomain = 24, + ns_statscounter_recursion = 25, + ns_statscounter_duplicate = 26, + ns_statscounter_dropped = 27, + ns_statscounter_failure = 28, - ns_statscounter_xfrdone = 29, + ns_statscounter_xfrdone = 29, - ns_statscounter_updatereqfwd = 30, - ns_statscounter_updaterespfwd = 31, - ns_statscounter_updatefwdfail = 32, - ns_statscounter_updatedone = 33, - ns_statscounter_updatefail = 34, - ns_statscounter_updatebadprereq = 35, + ns_statscounter_updatereqfwd = 30, + ns_statscounter_updaterespfwd = 31, + ns_statscounter_updatefwdfail = 32, + ns_statscounter_updatedone = 33, + ns_statscounter_updatefail = 34, + ns_statscounter_updatebadprereq = 35, - ns_statscounter_recursclients = 36, + ns_statscounter_recursclients = 36, - ns_statscounter_dns64 = 37, + ns_statscounter_dns64 = 37, - ns_statscounter_ratedropped = 38, - ns_statscounter_rateslipped = 39, + ns_statscounter_ratedropped = 38, + ns_statscounter_rateslipped = 39, - ns_statscounter_rpz_rewrites = 40, + ns_statscounter_rpz_rewrites = 40, - ns_statscounter_udp = 41, - ns_statscounter_tcp = 42, + ns_statscounter_udp = 41, + ns_statscounter_tcp = 42, - ns_statscounter_nsidopt = 43, - ns_statscounter_expireopt = 44, - ns_statscounter_otheropt = 45, - ns_statscounter_ecsopt = 46, - ns_statscounter_padopt = 47, - ns_statscounter_keepaliveopt = 48, + ns_statscounter_nsidopt = 43, + ns_statscounter_expireopt = 44, + ns_statscounter_otheropt = 45, + ns_statscounter_ecsopt = 46, + ns_statscounter_padopt = 47, + ns_statscounter_keepaliveopt = 48, - ns_statscounter_nxdomainredirect = 49, - ns_statscounter_nxdomainredirect_rlookup = 50, + ns_statscounter_nxdomainredirect = 49, + ns_statscounter_nxdomainredirect_rlookup = 50, - ns_statscounter_cookiein = 51, - ns_statscounter_cookiebadsize = 52, - ns_statscounter_cookiebadtime = 53, - ns_statscounter_cookienomatch = 54, - ns_statscounter_cookiematch = 55, - ns_statscounter_cookienew = 56, - ns_statscounter_badcookie = 57, + ns_statscounter_cookiein = 51, + ns_statscounter_cookiebadsize = 52, + ns_statscounter_cookiebadtime = 53, + ns_statscounter_cookienomatch = 54, + ns_statscounter_cookiematch = 55, + ns_statscounter_cookienew = 56, + ns_statscounter_badcookie = 57, - ns_statscounter_nxdomainsynth = 58, - ns_statscounter_nodatasynth = 59, - ns_statscounter_wildcardsynth = 60, + ns_statscounter_nxdomainsynth = 58, + ns_statscounter_nodatasynth = 59, + ns_statscounter_wildcardsynth = 60, - ns_statscounter_trystale = 61, - ns_statscounter_usedstale = 62, + ns_statscounter_trystale = 61, + ns_statscounter_usedstale = 62, - ns_statscounter_prefetch = 63, - ns_statscounter_keytagopt = 64, + ns_statscounter_prefetch = 63, + ns_statscounter_keytagopt = 64, - ns_statscounter_tcphighwater = 65, + ns_statscounter_tcphighwater = 65, - ns_statscounter_reclimitdropped = 66, + ns_statscounter_reclimitdropped = 66, - ns_statscounter_max = 67, + ns_statscounter_max = 67, }; void @@ -127,9 +126,9 @@ ns_stats_decrement(ns_stats_t *stats, isc_statscounter_t counter); isc_stats_t * ns_stats_get(ns_stats_t *stats); -void ns_stats_update_if_greater(ns_stats_t *stats, - isc_statscounter_t counter, - isc_statscounter_t value); +void +ns_stats_update_if_greater(ns_stats_t *stats, isc_statscounter_t counter, + isc_statscounter_t value); isc_statscounter_t ns_stats_get_counter(ns_stats_t *stats, isc_statscounter_t counter); diff --git a/lib/ns/include/ns/types.h b/lib/ns/include/ns/types.h index 422f128861..14e7cd64b3 100644 --- a/lib/ns/include/ns/types.h +++ b/lib/ns/include/ns/types.h @@ -14,22 +14,19 @@ /*! \file */ -typedef struct ns_altsecret ns_altsecret_t; -typedef ISC_LIST(ns_altsecret_t) ns_altsecretlist_t; -typedef struct ns_client ns_client_t; -typedef struct ns_clientmgr ns_clientmgr_t; -typedef struct ns_plugin ns_plugin_t; -typedef ISC_LIST(ns_plugin_t) ns_plugins_t; -typedef struct ns_interface ns_interface_t; -typedef struct ns_interfacemgr ns_interfacemgr_t; -typedef struct ns_query ns_query_t; -typedef struct ns_server ns_server_t; -typedef struct ns_stats ns_stats_t; +typedef struct ns_altsecret ns_altsecret_t; +typedef ISC_LIST(ns_altsecret_t) ns_altsecretlist_t; +typedef struct ns_client ns_client_t; +typedef struct ns_clientmgr ns_clientmgr_t; +typedef struct ns_plugin ns_plugin_t; +typedef ISC_LIST(ns_plugin_t) ns_plugins_t; +typedef struct ns_interface ns_interface_t; +typedef struct ns_interfacemgr ns_interfacemgr_t; +typedef struct ns_query ns_query_t; +typedef struct ns_server ns_server_t; +typedef struct ns_stats ns_stats_t; -typedef enum { - ns_cookiealg_aes, - ns_cookiealg_siphash24 -} ns_cookiealg_t; +typedef enum { ns_cookiealg_aes, ns_cookiealg_siphash24 } ns_cookiealg_t; #define NS_COOKIE_VERSION_1 1 diff --git a/lib/ns/include/ns/update.h b/lib/ns/include/ns/update.h index 5d6b225a8f..beb4fc748f 100644 --- a/lib/ns/include/ns/update.h +++ b/lib/ns/include/ns/update.h @@ -25,8 +25,8 @@ *** Imports ***/ -#include #include +#include /*** *** Types. diff --git a/lib/ns/interfacemgr.c b/lib/ns/interfacemgr.c index f9da16483b..873e9cfe01 100644 --- a/lib/ns/interfacemgr.c +++ b/lib/ns/interfacemgr.c @@ -25,8 +25,8 @@ #include #include -#include #include +#include #include #include @@ -57,38 +57,38 @@ #define UDPBUFFERS 1000 #endif /* TUNE_LARGE */ -#define IFMGR_MAGIC ISC_MAGIC('I', 'F', 'M', 'G') -#define NS_INTERFACEMGR_VALID(t) ISC_MAGIC_VALID(t, IFMGR_MAGIC) +#define IFMGR_MAGIC ISC_MAGIC('I', 'F', 'M', 'G') +#define NS_INTERFACEMGR_VALID(t) ISC_MAGIC_VALID(t, IFMGR_MAGIC) #define IFMGR_COMMON_LOGARGS \ ns_lctx, NS_LOGCATEGORY_NETWORK, NS_LOGMODULE_INTERFACEMGR /*% nameserver interface manager structure */ struct ns_interfacemgr { - unsigned int magic; /*%< Magic number. */ - isc_refcount_t references; - isc_mutex_t lock; - isc_mem_t * mctx; /*%< Memory context. */ - ns_server_t * sctx; /*%< Server context. */ - isc_taskmgr_t * taskmgr; /*%< Task manager. */ - isc_task_t * excl; /*%< Exclusive task. */ - isc_timermgr_t * timermgr; /*%< Timer manager. */ - isc_socketmgr_t * socketmgr; /*%< Socket manager. */ - isc_nm_t * nm; /*%< Net manager. */ - dns_dispatchmgr_t * dispatchmgr; - unsigned int generation; /*%< Current generation no. */ - ns_listenlist_t * listenon4; - ns_listenlist_t * listenon6; - dns_aclenv_t aclenv; /*%< Localhost/localnets ACLs */ - ISC_LIST(ns_interface_t) interfaces; /*%< List of interfaces. */ + unsigned int magic; /*%< Magic number. */ + isc_refcount_t references; + isc_mutex_t lock; + isc_mem_t * mctx; /*%< Memory context. */ + ns_server_t * sctx; /*%< Server context. */ + isc_taskmgr_t * taskmgr; /*%< Task manager. */ + isc_task_t * excl; /*%< Exclusive task. */ + isc_timermgr_t * timermgr; /*%< Timer manager. */ + isc_socketmgr_t * socketmgr; /*%< Socket manager. */ + isc_nm_t * nm; /*%< Net manager. */ + dns_dispatchmgr_t *dispatchmgr; + unsigned int generation; /*%< Current generation no. */ + ns_listenlist_t * listenon4; + ns_listenlist_t * listenon6; + dns_aclenv_t aclenv; /*%< Localhost/localnets ACLs */ + ISC_LIST(ns_interface_t) interfaces; /*%< List of interfaces. */ ISC_LIST(isc_sockaddr_t) listenon; - int backlog; /*%< Listen queue size */ - unsigned int udpdisp; /*%< UDP dispatch count */ - atomic_bool shuttingdown; /*%< Interfacemgr is shutting down */ + int backlog; /*%< Listen queue size */ + unsigned int udpdisp; /*%< UDP dispatch count */ + atomic_bool shuttingdown; /*%< Interfacemgr is shutting down */ #ifdef USE_ROUTE_SOCKET - isc_task_t * task; - isc_socket_t * route; - unsigned char buf[2048]; + isc_task_t * task; + isc_socket_t *route; + unsigned char buf[2048]; #endif }; @@ -100,13 +100,14 @@ clearlistenon(ns_interfacemgr_t *mgr); #ifdef USE_ROUTE_SOCKET static void -route_event(isc_task_t *task, isc_event_t *event) { +route_event(isc_task_t *task, isc_event_t *event) +{ isc_socketevent_t *sevent = NULL; ns_interfacemgr_t *mgr = NULL; - isc_region_t r; - isc_result_t result; - struct MSGHDR *rtm; - bool done = true; + isc_region_t r; + isc_result_t result; + struct MSGHDR * rtm; + bool done = true; UNUSED(task); @@ -131,8 +132,8 @@ route_event(isc_task_t *task, isc_event_t *event) { isc_log_write(IFMGR_COMMON_LOGARGS, ISC_LOG_ERROR, "automatic interface rescanning disabled: " "rtm->rtm_version mismatch (%u != %u) " - "recompile required", rtm->rtm_version, - RTM_VERSION); + "recompile required", + rtm->rtm_version, RTM_VERSION); ns_interfacemgr_detach(&mgr); isc_event_free(&event); return; @@ -171,19 +172,14 @@ route_event(isc_task_t *task, isc_event_t *event) { #endif isc_result_t -ns_interfacemgr_create(isc_mem_t *mctx, - ns_server_t *sctx, - isc_taskmgr_t *taskmgr, - isc_timermgr_t *timermgr, - isc_socketmgr_t *socketmgr, - isc_nm_t *nm, - dns_dispatchmgr_t *dispatchmgr, - isc_task_t *task, - unsigned int udpdisp, - dns_geoip_databases_t *geoip, +ns_interfacemgr_create(isc_mem_t *mctx, ns_server_t *sctx, + isc_taskmgr_t *taskmgr, isc_timermgr_t *timermgr, + isc_socketmgr_t *socketmgr, isc_nm_t *nm, + dns_dispatchmgr_t *dispatchmgr, isc_task_t *task, + unsigned int udpdisp, dns_geoip_databases_t *geoip, ns_interfacemgr_t **mgrp) { - isc_result_t result; + isc_result_t result; ns_interfacemgr_t *mgr; #ifndef USE_ROUTE_SOCKET @@ -250,7 +246,7 @@ ns_interfacemgr_create(isc_mem_t *mctx, case ISC_R_SUCCESS: case ISC_R_NOTIMPLEMENTED: case ISC_R_FAMILYNOSUPPORT: - break; + break; default: goto cleanup_aclenv; } @@ -282,22 +278,23 @@ ns_interfacemgr_create(isc_mem_t *mctx, return (ISC_R_SUCCESS); #ifdef USE_ROUTE_SOCKET - cleanup_aclenv: +cleanup_aclenv: dns_aclenv_destroy(&mgr->aclenv); #endif - cleanup_listenon: +cleanup_listenon: ns_listenlist_detach(&mgr->listenon4); ns_listenlist_detach(&mgr->listenon6); - cleanup_lock: +cleanup_lock: isc_mutex_destroy(&mgr->lock); - cleanup_ctx: +cleanup_ctx: ns_server_detach(&mgr->sctx); isc_mem_putanddetach(&mgr->mctx, mgr, sizeof(*mgr)); return (result); } static void -ns_interfacemgr_destroy(ns_interfacemgr_t *mgr) { +ns_interfacemgr_destroy(ns_interfacemgr_t *mgr) +{ REQUIRE(NS_INTERFACEMGR_VALID(mgr)); isc_refcount_destroy(&mgr->references); @@ -322,30 +319,33 @@ ns_interfacemgr_destroy(ns_interfacemgr_t *mgr) { } void -ns_interfacemgr_setbacklog(ns_interfacemgr_t *mgr, int backlog) { +ns_interfacemgr_setbacklog(ns_interfacemgr_t *mgr, int backlog) +{ REQUIRE(NS_INTERFACEMGR_VALID(mgr)); LOCK(&mgr->lock); mgr->backlog = backlog; UNLOCK(&mgr->lock); - } dns_aclenv_t * -ns_interfacemgr_getaclenv(ns_interfacemgr_t *mgr) { +ns_interfacemgr_getaclenv(ns_interfacemgr_t *mgr) +{ REQUIRE(NS_INTERFACEMGR_VALID(mgr)); return (&mgr->aclenv); } void -ns_interfacemgr_attach(ns_interfacemgr_t *source, ns_interfacemgr_t **target) { +ns_interfacemgr_attach(ns_interfacemgr_t *source, ns_interfacemgr_t **target) +{ REQUIRE(NS_INTERFACEMGR_VALID(source)); isc_refcount_increment(&source->references); *target = source; } void -ns_interfacemgr_detach(ns_interfacemgr_t **targetp) { +ns_interfacemgr_detach(ns_interfacemgr_t **targetp) +{ ns_interfacemgr_t *target = *targetp; *targetp = NULL; REQUIRE(target != NULL); @@ -356,7 +356,8 @@ ns_interfacemgr_detach(ns_interfacemgr_t **targetp) { } void -ns_interfacemgr_shutdown(ns_interfacemgr_t *mgr) { +ns_interfacemgr_shutdown(ns_interfacemgr_t *mgr) +{ REQUIRE(NS_INTERFACEMGR_VALID(mgr)); /*% @@ -378,23 +379,20 @@ ns_interfacemgr_shutdown(ns_interfacemgr_t *mgr) { purge_old_interfaces(mgr); } - static isc_result_t ns_interface_create(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr, const char *name, ns_interface_t **ifpret) { ns_interface_t *ifp; - isc_result_t result; - int disp; + isc_result_t result; + int disp; REQUIRE(NS_INTERFACEMGR_VALID(mgr)); ifp = isc_mem_get(mgr->mctx, sizeof(*ifp)); - *ifp = (ns_interface_t){ - .generation = mgr->generation, - .addr = *addr, - .dscp = -1 - }; + *ifp = (ns_interface_t){ .generation = mgr->generation, + .addr = *addr, + .dscp = -1 }; strlcpy(ifp->name, name, sizeof(ifp->name)); @@ -423,9 +421,8 @@ ns_interface_create(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr, isc_refcount_init(&ifp->references, 1); ifp->magic = IFACE_MAGIC; - result = ns_clientmgr_create(mgr->mctx, mgr->sctx, - mgr->taskmgr, mgr->timermgr, ifp, - &ifp->clientmgr); + result = ns_clientmgr_create(mgr->mctx, mgr->sctx, mgr->taskmgr, + mgr->timermgr, ifp, &ifp->clientmgr); if (result != ISC_R_SUCCESS) { isc_log_write(IFMGR_COMMON_LOGARGS, ISC_LOG_ERROR, "ns_clientmgr_create() failed: %s", @@ -437,7 +434,7 @@ ns_interface_create(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr, return (ISC_R_SUCCESS); - failure: +failure: isc_mutex_destroy(&ifp->lock); ifp->magic = 0; @@ -447,34 +444,31 @@ ns_interface_create(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr, } static isc_result_t -ns_interface_listenudp(ns_interface_t *ifp) { +ns_interface_listenudp(ns_interface_t *ifp) +{ isc_result_t result; /* Reserve space for an ns_client_t with the netmgr handle */ - result = isc_nm_listenudp(ifp->mgr->nm, - (isc_nmiface_t *) &ifp->addr, - ns__client_request, ifp, - sizeof(ns_client_t), + result = isc_nm_listenudp(ifp->mgr->nm, (isc_nmiface_t *)&ifp->addr, + ns__client_request, ifp, sizeof(ns_client_t), &ifp->udplistensocket); return (result); } static isc_result_t -ns_interface_listentcp(ns_interface_t *ifp) { +ns_interface_listentcp(ns_interface_t *ifp) +{ isc_result_t result; - result = isc_nm_listentcpdns(ifp->mgr->nm, - (isc_nmiface_t *) &ifp->addr, - ns__client_request, ifp, - ns__client_tcpconn, ifp->mgr->sctx, - sizeof(ns_client_t), - ifp->mgr->backlog, - &ifp->mgr->sctx->tcpquota, - &ifp->tcplistensocket); + result = isc_nm_listentcpdns( + ifp->mgr->nm, (isc_nmiface_t *)&ifp->addr, ns__client_request, + ifp, ns__client_tcpconn, ifp->mgr->sctx, sizeof(ns_client_t), + ifp->mgr->backlog, &ifp->mgr->sctx->tcpquota, + &ifp->tcplistensocket); if (result != ISC_R_SUCCESS) { isc_log_write(IFMGR_COMMON_LOGARGS, ISC_LOG_ERROR, - "creating TCP socket: %s", - isc_result_totext(result)); + "creating TCP socket: %s", + isc_result_totext(result)); } /* @@ -499,11 +493,10 @@ ns_interface_listentcp(ns_interface_t *ifp) { static isc_result_t ns_interface_setup(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr, - const char *name, ns_interface_t **ifpret, - bool accept_tcp, isc_dscp_t dscp, - bool *addr_in_use) + const char *name, ns_interface_t **ifpret, bool accept_tcp, + isc_dscp_t dscp, bool *addr_in_use) { - isc_result_t result; + isc_result_t result; ns_interface_t *ifp = NULL; REQUIRE(ifpret != NULL && *ifpret == NULL); REQUIRE(addr_in_use == NULL || *addr_in_use == false); @@ -522,8 +515,7 @@ ns_interface_setup(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr, } if (((mgr->sctx->options & NS_SERVER_NOTCP) == 0) && - accept_tcp == true) - { + accept_tcp == true) { result = ns_interface_listentcp(ifp); if (result != ISC_R_SUCCESS) { if ((result == ISC_R_ADDRINUSE) && @@ -542,7 +534,7 @@ ns_interface_setup(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr, *ifpret = ifp; return (result); - cleanup_interface: +cleanup_interface: LOCK(&ifp->mgr->lock); ISC_LIST_UNLINK(ifp->mgr->interfaces, ifp, link); UNLOCK(&ifp->mgr->lock); @@ -551,7 +543,8 @@ ns_interface_setup(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr, } void -ns_interface_shutdown(ns_interface_t *ifp) { +ns_interface_shutdown(ns_interface_t *ifp) +{ if (ifp->udplistensocket != NULL) { isc_nm_udp_stoplistening(ifp->udplistensocket); isc_nmsocket_detach(&ifp->udplistensocket); @@ -566,7 +559,8 @@ ns_interface_shutdown(ns_interface_t *ifp) { } static void -ns_interface_destroy(ns_interface_t *ifp) { +ns_interface_destroy(ns_interface_t *ifp) +{ REQUIRE(NS_INTERFACE_VALID(ifp)); isc_mem_t *mctx = ifp->mgr->mctx; @@ -575,8 +569,9 @@ ns_interface_destroy(ns_interface_t *ifp) { for (int disp = 0; disp < ifp->nudpdispatch; disp++) { if (ifp->udpdispatch[disp] != NULL) { - dns_dispatch_changeattributes(ifp->udpdispatch[disp], 0, - DNS_DISPATCHATTR_NOLISTEN); + dns_dispatch_changeattributes( + ifp->udpdispatch[disp], 0, + DNS_DISPATCHATTR_NOLISTEN); dns_dispatch_detach(&(ifp->udpdispatch[disp])); } } @@ -598,14 +593,16 @@ ns_interface_destroy(ns_interface_t *ifp) { } void -ns_interface_attach(ns_interface_t *source, ns_interface_t **target) { +ns_interface_attach(ns_interface_t *source, ns_interface_t **target) +{ REQUIRE(NS_INTERFACE_VALID(source)); isc_refcount_increment(&source->references); *target = source; } void -ns_interface_detach(ns_interface_t **targetp) { +ns_interface_detach(ns_interface_t **targetp) +{ ns_interface_t *target = *targetp; *targetp = NULL; REQUIRE(target != NULL); @@ -620,12 +617,12 @@ ns_interface_detach(ns_interface_t **targetp) { * both match those of 'addr'. Return a pointer to it, or NULL if not found. */ static ns_interface_t * -find_matching_interface(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr) { +find_matching_interface(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr) +{ ns_interface_t *ifp; LOCK(&mgr->lock); for (ifp = ISC_LIST_HEAD(mgr->interfaces); ifp != NULL; - ifp = ISC_LIST_NEXT(ifp, link)) - { + ifp = ISC_LIST_NEXT(ifp, link)) { if (isc_sockaddr_equal(&ifp->addr, addr)) { break; } @@ -638,7 +635,8 @@ find_matching_interface(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr) { * Remove any interfaces whose generation number is not the current one. */ static void -purge_old_interfaces(ns_interfacemgr_t *mgr) { +purge_old_interfaces(ns_interfacemgr_t *mgr) +{ ns_interface_t *ifp, *next; LOCK(&mgr->lock); for (ifp = ISC_LIST_HEAD(mgr->interfaces); ifp != NULL; ifp = next) { @@ -648,8 +646,7 @@ purge_old_interfaces(ns_interfacemgr_t *mgr) { char sabuf[256]; ISC_LIST_UNLINK(ifp->mgr->interfaces, ifp, link); isc_sockaddr_format(&ifp->addr, sabuf, sizeof(sabuf)); - isc_log_write(IFMGR_COMMON_LOGARGS, - ISC_LOG_INFO, + isc_log_write(IFMGR_COMMON_LOGARGS, ISC_LOG_INFO, "no longer listening on %s", sabuf); ns_interface_shutdown(ifp); ns_interface_detach(&ifp); @@ -659,8 +656,9 @@ purge_old_interfaces(ns_interfacemgr_t *mgr) { } static isc_result_t -clearacl(isc_mem_t *mctx, dns_acl_t **aclp) { - dns_acl_t *newacl = NULL; +clearacl(isc_mem_t *mctx, dns_acl_t **aclp) +{ + dns_acl_t * newacl = NULL; isc_result_t result; result = dns_acl_create(mctx, 0, &newacl); if (result != ISC_R_SUCCESS) @@ -672,29 +670,30 @@ clearacl(isc_mem_t *mctx, dns_acl_t **aclp) { } static bool -listenon_is_ip6_any(ns_listenelt_t *elt) { +listenon_is_ip6_any(ns_listenelt_t *elt) +{ REQUIRE(elt && elt->acl); return dns_acl_isany(elt->acl); } static isc_result_t -setup_locals(ns_interfacemgr_t *mgr, isc_interface_t *interface) { - isc_result_t result; - unsigned int prefixlen; +setup_locals(ns_interfacemgr_t *mgr, isc_interface_t *interface) +{ + isc_result_t result; + unsigned int prefixlen; isc_netaddr_t *netaddr; netaddr = &interface->address; /* First add localhost address */ prefixlen = (netaddr->family == AF_INET) ? 32 : 128; - result = dns_iptable_addprefix(mgr->aclenv.localhost->iptable, - netaddr, prefixlen, true); + result = dns_iptable_addprefix(mgr->aclenv.localhost->iptable, netaddr, + prefixlen, true); if (result != ISC_R_SUCCESS) return (result); /* Then add localnets prefix */ - result = isc_netaddr_masktoprefixlen(&interface->netmask, - &prefixlen); + result = isc_netaddr_masktoprefixlen(&interface->netmask, &prefixlen); /* Non contiguous netmasks not allowed by IPv6 arch. */ if (result != ISC_R_SUCCESS && netaddr->family == AF_INET6) @@ -703,8 +702,8 @@ setup_locals(ns_interfacemgr_t *mgr, isc_interface_t *interface) { if (result != ISC_R_SUCCESS) { isc_log_write(IFMGR_COMMON_LOGARGS, ISC_LOG_WARNING, "omitting IPv4 interface %s from " - "localnets ACL: %s", interface->name, - isc_result_totext(result)); + "localnets ACL: %s", + interface->name, isc_result_totext(result)); return (ISC_R_SUCCESS); } @@ -717,8 +716,8 @@ setup_locals(ns_interfacemgr_t *mgr, isc_interface_t *interface) { return (ISC_R_SUCCESS); } - result = dns_iptable_addprefix(mgr->aclenv.localnets->iptable, - netaddr, prefixlen, true); + result = dns_iptable_addprefix(mgr->aclenv.localnets->iptable, netaddr, + prefixlen, true); if (result != ISC_R_SUCCESS) return (result); @@ -737,10 +736,8 @@ setup_listenon(ns_interfacemgr_t *mgr, isc_interface_t *interface, isc_sockaddr_fromnetaddr(addr, &interface->address, port); LOCK(&mgr->lock); - for (old = ISC_LIST_HEAD(mgr->listenon); - old != NULL; - old = ISC_LIST_NEXT(old, link)) - { + for (old = ISC_LIST_HEAD(mgr->listenon); old != NULL; + old = ISC_LIST_NEXT(old, link)) { if (isc_sockaddr_equal(addr, old)) { break; } @@ -755,7 +752,8 @@ setup_listenon(ns_interfacemgr_t *mgr, isc_interface_t *interface, } static void -clearlistenon(ns_interfacemgr_t *mgr) { +clearlistenon(ns_interfacemgr_t *mgr) +{ isc_sockaddr_t *old; LOCK(&mgr->lock); @@ -769,25 +767,24 @@ clearlistenon(ns_interfacemgr_t *mgr) { } static isc_result_t -do_scan(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen, - bool verbose) +do_scan(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen, bool verbose) { isc_interfaceiter_t *iter = NULL; - bool scan_ipv4 = false; - bool scan_ipv6 = false; - bool adjusting = false; - bool ipv6only = true; - bool ipv6pktinfo = true; - isc_result_t result; - isc_netaddr_t zero_address, zero_address6; - ns_listenelt_t *le; - isc_sockaddr_t listen_addr; - ns_interface_t *ifp; - bool log_explicit = false; - bool dolistenon; - char sabuf[ISC_SOCKADDR_FORMATSIZE]; - bool tried_listening; - bool all_addresses_in_use; + bool scan_ipv4 = false; + bool scan_ipv6 = false; + bool adjusting = false; + bool ipv6only = true; + bool ipv6pktinfo = true; + isc_result_t result; + isc_netaddr_t zero_address, zero_address6; + ns_listenelt_t * le; + isc_sockaddr_t listen_addr; + ns_interface_t * ifp; + bool log_explicit = false; + bool dolistenon; + char sabuf[ISC_SOCKADDR_FORMATSIZE]; + bool tried_listening; + bool all_addresses_in_use; if (ext_listen != NULL) adjusting = true; @@ -806,29 +803,26 @@ do_scan(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen, verbose ? ISC_LOG_INFO : ISC_LOG_DEBUG(1), "no IPv4 interfaces found"); - /* - * A special, but typical case; listen-on-v6 { any; }. - * When we can make the socket IPv6-only, open a single wildcard - * socket for IPv6 communication. Otherwise, make separate socket - * for each IPv6 address in order to avoid accepting IPv4 packets - * as the form of mapped addresses unintentionally unless explicitly - * allowed. - */ + /* + * A special, but typical case; listen-on-v6 { any; }. + * When we can make the socket IPv6-only, open a single wildcard + * socket for IPv6 communication. Otherwise, make separate + * socket for each IPv6 address in order to avoid accepting IPv4 + * packets as the form of mapped addresses unintentionally + * unless explicitly allowed. + */ #ifndef ISC_ALLOW_MAPPED - if (scan_ipv6 == true && - isc_net_probe_ipv6only() != ISC_R_SUCCESS) { + if (scan_ipv6 == true && isc_net_probe_ipv6only() != ISC_R_SUCCESS) { ipv6only = false; log_explicit = true; } #endif - if (scan_ipv6 == true && - isc_net_probe_ipv6pktinfo() != ISC_R_SUCCESS) { + if (scan_ipv6 == true && isc_net_probe_ipv6pktinfo() != ISC_R_SUCCESS) { ipv6pktinfo = false; log_explicit = true; } if (scan_ipv6 == true && ipv6only && ipv6pktinfo) { - for (le = ISC_LIST_HEAD(mgr->listenon6->elts); - le != NULL; + for (le = ISC_LIST_HEAD(mgr->listenon6->elts); le != NULL; le = ISC_LIST_NEXT(le, link)) { struct in6_addr in6a; @@ -844,8 +838,7 @@ do_scan(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen, if (le->dscp != -1 && ifp->dscp == -1) ifp->dscp = le->dscp; else if (le->dscp != ifp->dscp) { - isc_sockaddr_format(&listen_addr, - sabuf, + isc_sockaddr_format(&listen_addr, sabuf, sizeof(sabuf)); isc_log_write(IFMGR_COMMON_LOGARGS, ISC_LOG_WARNING, @@ -860,10 +853,8 @@ do_scan(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen, "interfaces, port %u", le->port); result = ns_interface_setup(mgr, &listen_addr, - "", &ifp, - true, - le->dscp, - NULL); + "", &ifp, true, + le->dscp, NULL); if (result == ISC_R_SUCCESS) ifp->flags |= NS_INTERFACEFLAG_ANYADDR; else @@ -895,13 +886,11 @@ do_scan(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen, tried_listening = false; all_addresses_in_use = true; - for (result = isc_interfaceiter_first(iter); - result == ISC_R_SUCCESS; - result = isc_interfaceiter_next(iter)) - { - isc_interface_t interface; + for (result = isc_interfaceiter_first(iter); result == ISC_R_SUCCESS; + result = isc_interfaceiter_next(iter)) { + isc_interface_t interface; ns_listenlist_t *ll; - unsigned int family; + unsigned int family; result = isc_interfaceiter_current(iter, &interface); if (result != ISC_R_SUCCESS) @@ -936,10 +925,9 @@ do_scan(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen, * If running with -T fixedlocal, then we only * want 127.0.0.1 and ::1 in the localhost ACL. */ - if (((mgr->sctx->options & - NS_SERVER_FIXEDLOCAL) != 0) && - !isc_netaddr_isloopback(&interface.address)) - { + if (((mgr->sctx->options & NS_SERVER_FIXEDLOCAL) != + 0) && + !isc_netaddr_isloopback(&interface.address)) { goto listenon; } @@ -948,16 +936,14 @@ do_scan(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen, goto ignore_interface; } - listenon: + listenon: ll = (family == AF_INET) ? mgr->listenon4 : mgr->listenon6; dolistenon = true; - for (le = ISC_LIST_HEAD(ll->elts); - le != NULL; - le = ISC_LIST_NEXT(le, link)) - { - int match; - bool ipv6_wildcard = false; - isc_netaddr_t listen_netaddr; + for (le = ISC_LIST_HEAD(ll->elts); le != NULL; + le = ISC_LIST_NEXT(le, link)) { + int match; + bool ipv6_wildcard = false; + isc_netaddr_t listen_netaddr; isc_sockaddr_t listen_sockaddr; /* @@ -968,14 +954,14 @@ do_scan(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen, isc_netaddr_fromin(&listen_netaddr, &interface.address.type.in); } else { - isc_netaddr_fromin6(&listen_netaddr, - &interface.address.type.in6); + isc_netaddr_fromin6( + &listen_netaddr, + &interface.address.type.in6); isc_netaddr_setzone(&listen_netaddr, interface.address.zone); } isc_sockaddr_fromnetaddr(&listen_sockaddr, - &listen_netaddr, - le->port); + &listen_netaddr, le->port); /* * See if the address matches the listen-on statement; @@ -1013,16 +999,13 @@ do_scan(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen, match = 0; for (ele = ISC_LIST_HEAD(ext_listen->elts); ele != NULL; - ele = ISC_LIST_NEXT(ele, link)) - { + ele = ISC_LIST_NEXT(ele, link)) { (void)dns_acl_match(&listen_netaddr, NULL, ele->acl, - NULL, &match, - NULL); + NULL, &match, NULL); if (match > 0 && (ele->port == le->port || - ele->port == 0)) - { + ele->port == 0)) { break; } else { match = 0; @@ -1050,42 +1033,38 @@ do_scan(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen, } else { bool addr_in_use = false; - if (adjusting == false && - ipv6_wildcard == true) + if (adjusting == false && ipv6_wildcard == true) continue; if (log_explicit && family == AF_INET6 && !adjusting && listenon_is_ip6_any(le)) { - isc_log_write(IFMGR_COMMON_LOGARGS, - verbose ? ISC_LOG_INFO : - ISC_LOG_DEBUG(1), - "IPv6 socket API is " - "incomplete; explicitly " - "binding to each IPv6 " - "address separately"); + isc_log_write( + IFMGR_COMMON_LOGARGS, + verbose ? ISC_LOG_INFO + : ISC_LOG_DEBUG(1), + "IPv6 socket API is " + "incomplete; explicitly " + "binding to each IPv6 " + "address separately"); log_explicit = false; } - isc_sockaddr_format(&listen_sockaddr, - sabuf, sizeof(sabuf)); - isc_log_write(IFMGR_COMMON_LOGARGS, - ISC_LOG_INFO, - "%s" - "listening on %s interface " - "%s, %s", - (adjusting == true) ? - "additionally " : "", - (family == AF_INET) ? - "IPv4" : "IPv6", - interface.name, sabuf); + isc_sockaddr_format(&listen_sockaddr, sabuf, + sizeof(sabuf)); + isc_log_write( + IFMGR_COMMON_LOGARGS, ISC_LOG_INFO, + "%s" + "listening on %s interface " + "%s, %s", + (adjusting == true) ? "additionally " + : "", + (family == AF_INET) ? "IPv4" : "IPv6", + interface.name, sabuf); - result = ns_interface_setup(mgr, - &listen_sockaddr, - interface.name, - &ifp, - (adjusting == true) ? - false : true, - le->dscp, - &addr_in_use); + result = ns_interface_setup( + mgr, &listen_sockaddr, interface.name, + &ifp, + (adjusting == true) ? false : true, + le->dscp, &addr_in_use); tried_listening = true; if (!addr_in_use) @@ -1097,19 +1076,20 @@ do_scan(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen, "creating %s interface " "%s failed; interface " "ignored", - (family == AF_INET) ? - "IPv4" : "IPv6", + (family == AF_INET) ? "IP" + "v4" + : "IP" + "v" + "6", interface.name); } /* Continue. */ } - } continue; ignore_interface: - isc_log_write(IFMGR_COMMON_LOGARGS, - ISC_LOG_ERROR, + isc_log_write(IFMGR_COMMON_LOGARGS, ISC_LOG_ERROR, "ignoring %s interface %s: %s", (family == AF_INET) ? "IPv4" : "IPv6", interface.name, isc_result_totext(result)); @@ -1120,9 +1100,10 @@ do_scan(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen, "interface iteration failed: %s", isc_result_totext(result)); else - result = ((tried_listening && all_addresses_in_use) ? - ISC_R_ADDRINUSE : ISC_R_SUCCESS); - cleanup_iter: + result = ((tried_listening && all_addresses_in_use) + ? ISC_R_ADDRINUSE + : ISC_R_SUCCESS); +cleanup_iter: isc_interfaceiter_destroy(&iter); return (result); } @@ -1132,11 +1113,11 @@ ns_interfacemgr_scan0(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen, bool verbose) { isc_result_t result; - bool purge = true; + bool purge = true; REQUIRE(NS_INTERFACEMGR_VALID(mgr)); - mgr->generation++; /* Increment the generation count. */ + mgr->generation++; /* Increment the generation count. */ result = do_scan(mgr, ext_listen, verbose); if ((result != ISC_R_SUCCESS) && (result != ISC_R_ADDRINUSE)) @@ -1154,9 +1135,7 @@ ns_interfacemgr_scan0(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen, /* * Warn if we are not listening on any interface. */ - if (ext_listen == NULL && - ISC_LIST_EMPTY(mgr->interfaces)) - { + if (ext_listen == NULL && ISC_LIST_EMPTY(mgr->interfaces)) { isc_log_write(IFMGR_COMMON_LOGARGS, ISC_LOG_WARNING, "not listening on any interfaces"); } @@ -1165,16 +1144,18 @@ ns_interfacemgr_scan0(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen, } bool -ns_interfacemgr_islistening(ns_interfacemgr_t *mgr) { +ns_interfacemgr_islistening(ns_interfacemgr_t *mgr) +{ REQUIRE(NS_INTERFACEMGR_VALID(mgr)); return (ISC_LIST_EMPTY(mgr->interfaces) ? false : true); } isc_result_t -ns_interfacemgr_scan(ns_interfacemgr_t *mgr, bool verbose) { +ns_interfacemgr_scan(ns_interfacemgr_t *mgr, bool verbose) +{ isc_result_t result; - bool unlock = false; + bool unlock = false; /* * Check for success because we may already be task-exclusive @@ -1201,7 +1182,8 @@ ns_interfacemgr_adjust(ns_interfacemgr_t *mgr, ns_listenlist_t *list, } void -ns_interfacemgr_setlistenon4(ns_interfacemgr_t *mgr, ns_listenlist_t *value) { +ns_interfacemgr_setlistenon4(ns_interfacemgr_t *mgr, ns_listenlist_t *value) +{ REQUIRE(NS_INTERFACEMGR_VALID(mgr)); LOCK(&mgr->lock); @@ -1211,7 +1193,8 @@ ns_interfacemgr_setlistenon4(ns_interfacemgr_t *mgr, ns_listenlist_t *value) { } void -ns_interfacemgr_setlistenon6(ns_interfacemgr_t *mgr, ns_listenlist_t *value) { +ns_interfacemgr_setlistenon6(ns_interfacemgr_t *mgr, ns_listenlist_t *value) +{ REQUIRE(NS_INTERFACEMGR_VALID(mgr)); LOCK(&mgr->lock); @@ -1221,7 +1204,8 @@ ns_interfacemgr_setlistenon6(ns_interfacemgr_t *mgr, ns_listenlist_t *value) { } void -ns_interfacemgr_dumprecursing(FILE *f, ns_interfacemgr_t *mgr) { +ns_interfacemgr_dumprecursing(FILE *f, ns_interfacemgr_t *mgr) +{ ns_interface_t *interface; REQUIRE(NS_INTERFACEMGR_VALID(mgr)); @@ -1237,11 +1221,10 @@ ns_interfacemgr_dumprecursing(FILE *f, ns_interfacemgr_t *mgr) { } bool -ns_interfacemgr_listeningon(ns_interfacemgr_t *mgr, - const isc_sockaddr_t *addr) +ns_interfacemgr_listeningon(ns_interfacemgr_t *mgr, const isc_sockaddr_t *addr) { isc_sockaddr_t *old; - bool result = false; + bool result = false; REQUIRE(NS_INTERFACEMGR_VALID(mgr)); /* @@ -1252,10 +1235,8 @@ ns_interfacemgr_listeningon(ns_interfacemgr_t *mgr, return (true); } LOCK(&mgr->lock); - for (old = ISC_LIST_HEAD(mgr->listenon); - old != NULL; - old = ISC_LIST_NEXT(old, link)) - { + for (old = ISC_LIST_HEAD(mgr->listenon); old != NULL; + old = ISC_LIST_NEXT(old, link)) { if (isc_sockaddr_equal(old, addr)) { result = true; break; @@ -1267,7 +1248,8 @@ ns_interfacemgr_listeningon(ns_interfacemgr_t *mgr, } ns_interface_t * -ns__interfacemgr_getif(ns_interfacemgr_t *mgr) { +ns__interfacemgr_getif(ns_interfacemgr_t *mgr) +{ ns_interface_t *head; REQUIRE(NS_INTERFACEMGR_VALID(mgr)); LOCK(&mgr->lock); @@ -1277,7 +1259,8 @@ ns__interfacemgr_getif(ns_interfacemgr_t *mgr) { } ns_interface_t * -ns__interfacemgr_nextif(ns_interface_t *ifp) { +ns__interfacemgr_nextif(ns_interface_t *ifp) +{ ns_interface_t *next; LOCK(&ifp->lock); next = ISC_LIST_NEXT(ifp, link); diff --git a/lib/ns/lib.c b/lib/ns/lib.c index f2576632e9..0183df19e7 100644 --- a/lib/ns/lib.c +++ b/lib/ns/lib.c @@ -24,25 +24,24 @@ #include - /*** *** Globals ***/ -LIBNS_EXTERNAL_DATA unsigned int ns_pps = 0U; - +LIBNS_EXTERNAL_DATA unsigned int ns_pps = 0U; /*** *** Private ***/ -static isc_once_t init_once = ISC_ONCE_INIT; -static isc_mem_t *ns_g_mctx = NULL; -static bool initialize_done = false; +static isc_once_t init_once = ISC_ONCE_INIT; +static isc_mem_t * ns_g_mctx = NULL; +static bool initialize_done = false; static isc_refcount_t references; static void -initialize(void) { +initialize(void) +{ REQUIRE(initialize_done == false); isc_mem_create(&ns_g_mctx); @@ -53,7 +52,8 @@ initialize(void) { } isc_result_t -ns_lib_init(void) { +ns_lib_init(void) +{ isc_result_t result; /* @@ -74,7 +74,8 @@ ns_lib_init(void) { } void -ns_lib_shutdown(void) { +ns_lib_shutdown(void) +{ if (isc_refcount_decrement(&references) == 1) { isc_refcount_destroy(&references); if (ns_g_mctx != NULL) { diff --git a/lib/ns/listenlist.c b/lib/ns/listenlist.c index ee08c0cdf3..8b273f0cae 100644 --- a/lib/ns/listenlist.c +++ b/lib/ns/listenlist.c @@ -40,14 +40,16 @@ ns_listenelt_create(isc_mem_t *mctx, in_port_t port, isc_dscp_t dscp, } void -ns_listenelt_destroy(ns_listenelt_t *elt) { +ns_listenelt_destroy(ns_listenelt_t *elt) +{ if (elt->acl != NULL) dns_acl_detach(&elt->acl); isc_mem_put(elt->mctx, elt, sizeof(*elt)); } isc_result_t -ns_listenlist_create(isc_mem_t *mctx, ns_listenlist_t **target) { +ns_listenlist_create(isc_mem_t *mctx, ns_listenlist_t **target) +{ ns_listenlist_t *list = NULL; REQUIRE(target != NULL && *target == NULL); list = isc_mem_get(mctx, sizeof(*list)); @@ -59,12 +61,10 @@ ns_listenlist_create(isc_mem_t *mctx, ns_listenlist_t **target) { } static void -destroy(ns_listenlist_t *list) { +destroy(ns_listenlist_t *list) +{ ns_listenelt_t *elt, *next; - for (elt = ISC_LIST_HEAD(list->elts); - elt != NULL; - elt = next) - { + for (elt = ISC_LIST_HEAD(list->elts); elt != NULL; elt = next) { next = ISC_LIST_NEXT(elt, link); ns_listenelt_destroy(elt); } @@ -72,14 +72,16 @@ destroy(ns_listenlist_t *list) { } void -ns_listenlist_attach(ns_listenlist_t *source, ns_listenlist_t **target) { +ns_listenlist_attach(ns_listenlist_t *source, ns_listenlist_t **target) +{ INSIST(source->refcount > 0); source->refcount++; *target = source; } void -ns_listenlist_detach(ns_listenlist_t **listp) { +ns_listenlist_detach(ns_listenlist_t **listp) +{ ns_listenlist_t *list = *listp; *listp = NULL; INSIST(list->refcount > 0); @@ -92,9 +94,9 @@ isc_result_t ns_listenlist_default(isc_mem_t *mctx, in_port_t port, isc_dscp_t dscp, bool enabled, ns_listenlist_t **target) { - isc_result_t result; - dns_acl_t *acl = NULL; - ns_listenelt_t *elt = NULL; + isc_result_t result; + dns_acl_t * acl = NULL; + ns_listenelt_t * elt = NULL; ns_listenlist_t *list = NULL; REQUIRE(target != NULL && *target == NULL); @@ -118,10 +120,10 @@ ns_listenlist_default(isc_mem_t *mctx, in_port_t port, isc_dscp_t dscp, *target = list; return (ISC_R_SUCCESS); - cleanup_listenelt: +cleanup_listenelt: ns_listenelt_destroy(elt); - cleanup_acl: +cleanup_acl: dns_acl_detach(&acl); - cleanup: +cleanup: return (result); } diff --git a/lib/ns/log.c b/lib/ns/log.c index 568c84ea48..3fa90130c3 100644 --- a/lib/ns/log.c +++ b/lib/ns/log.c @@ -25,15 +25,15 @@ * \#define to */ LIBNS_EXTERNAL_DATA isc_logcategory_t ns_categories[] = { - { "client", 0 }, - { "network", 0 }, - { "update", 0 }, - { "queries", 0 }, - { "update-security", 0 }, - { "query-errors", 0 }, - { "trust-anchor-telemetry", 0 }, - { "serve-stale", 0 }, - { NULL, 0 } + { "client", 0 }, + { "network", 0 }, + { "update", 0 }, + { "queries", 0 }, + { "update-security", 0 }, + { "query-errors", 0 }, + { "trust-anchor-telemetry", 0 }, + { "serve-stale", 0 }, + { NULL, 0 } }; /*% @@ -41,21 +41,16 @@ LIBNS_EXTERNAL_DATA isc_logcategory_t ns_categories[] = { * \#define to . */ LIBNS_EXTERNAL_DATA isc_logmodule_t ns_modules[] = { - { "ns/client", 0 }, - { "ns/query", 0 }, - { "ns/interfacemgr", 0 }, - { "ns/update", 0 }, - { "ns/xfer-in", 0 }, - { "ns/xfer-out", 0 }, - { "ns/notify", 0 }, - { "ns/hooks", 0 }, - { NULL, 0 } + { "ns/client", 0 }, { "ns/query", 0 }, { "ns/interfacemgr", 0 }, + { "ns/update", 0 }, { "ns/xfer-in", 0 }, { "ns/xfer-out", 0 }, + { "ns/notify", 0 }, { "ns/hooks", 0 }, { NULL, 0 } }; LIBNS_EXTERNAL_DATA isc_log_t *ns_lctx = NULL; void -ns_log_init(isc_log_t *lctx) { +ns_log_init(isc_log_t *lctx) +{ REQUIRE(lctx != NULL); isc_log_registercategories(lctx, ns_categories); @@ -63,6 +58,7 @@ ns_log_init(isc_log_t *lctx) { } void -ns_log_setcontext(isc_log_t *lctx) { +ns_log_setcontext(isc_log_t *lctx) +{ ns_lctx = lctx; } diff --git a/lib/ns/notify.c b/lib/ns/notify.c index 3c0ad5db17..1e51a7f672 100644 --- a/lib/ns/notify.c +++ b/lib/ns/notify.c @@ -30,7 +30,8 @@ */ static void -notify_log(ns_client_t *client, int level, const char *fmt, ...) { +notify_log(ns_client_t *client, int level, const char *fmt, ...) +{ va_list ap; va_start(ap, fmt); @@ -40,10 +41,11 @@ notify_log(ns_client_t *client, int level, const char *fmt, ...) { } static void -respond(ns_client_t *client, isc_result_t result) { - dns_rcode_t rcode; +respond(ns_client_t *client, isc_result_t result) +{ + dns_rcode_t rcode; dns_message_t *message; - isc_result_t msg_result; + isc_result_t msg_result; message = client->message; rcode = dns_result_torcode(result); @@ -67,13 +69,14 @@ respond(ns_client_t *client, isc_result_t result) { } void -ns_notify_start(ns_client_t *client) { - dns_message_t *request = client->message; - isc_result_t result; - dns_name_t *zonename; +ns_notify_start(ns_client_t *client) +{ + dns_message_t * request = client->message; + isc_result_t result; + dns_name_t * zonename; dns_rdataset_t *zone_rdataset; - dns_zone_t *zone = NULL; - char namebuf[DNS_NAME_FORMATSIZE]; + dns_zone_t * zone = NULL; + char namebuf[DNS_NAME_FORMATSIZE]; char tsigbuf[DNS_NAME_FORMATSIZE * 2 + sizeof(": TSIG '' ()")]; dns_tsigkey_t *tsigkey; @@ -143,15 +146,14 @@ ns_notify_start(ns_client_t *client) { if ((zonetype == dns_zone_master) || (zonetype == dns_zone_slave) || (zonetype == dns_zone_mirror) || - (zonetype == dns_zone_stub)) - { + (zonetype == dns_zone_stub)) { isc_sockaddr_t *from = ns_client_getsockaddr(client); isc_sockaddr_t *to = ns_client_getdestaddr(client); notify_log(client, ISC_LOG_INFO, - "received notify for zone '%s'%s", - namebuf, tsigbuf); - result = dns_zone_notifyreceive(zone, from, to, - request); + "received notify for zone '%s'%s", namebuf, + tsigbuf); + result = + dns_zone_notifyreceive(zone, from, to, request); goto done; } } @@ -161,7 +163,7 @@ ns_notify_start(ns_client_t *client) { namebuf, tsigbuf); result = DNS_R_NOTAUTH; - done: +done: if (zone != NULL) dns_zone_detach(&zone); respond(client, result); diff --git a/lib/ns/query.c b/lib/ns/query.c index 112eef00e1..776608b093 100644 --- a/lib/ns/query.c +++ b/lib/ns/query.c @@ -17,6 +17,7 @@ #include #include +#include #include #include #include @@ -25,7 +26,6 @@ #include #include #include -#include #include #include @@ -60,8 +60,8 @@ #include #include -#include #include +#include #include #include #include @@ -85,109 +85,92 @@ */ #define MAX_RESTARTS 16 -#define QUERY_ERROR(qctx, r) \ -do { \ - qctx->result = r; \ - qctx->want_restart = false; \ - qctx->line = __LINE__; \ -} while (0) +#define QUERY_ERROR(qctx, r) \ + do { \ + qctx->result = r; \ + qctx->want_restart = false; \ + qctx->line = __LINE__; \ + } while (0) /*% Partial answer? */ -#define PARTIALANSWER(c) (((c)->query.attributes & \ - NS_QUERYATTR_PARTIALANSWER) != 0) +#define PARTIALANSWER(c) \ + (((c)->query.attributes & NS_QUERYATTR_PARTIALANSWER) != 0) /*% Use Cache? */ -#define USECACHE(c) (((c)->query.attributes & \ - NS_QUERYATTR_CACHEOK) != 0) +#define USECACHE(c) (((c)->query.attributes & NS_QUERYATTR_CACHEOK) != 0) /*% Recursion OK? */ -#define RECURSIONOK(c) (((c)->query.attributes & \ - NS_QUERYATTR_RECURSIONOK) != 0) +#define RECURSIONOK(c) (((c)->query.attributes & NS_QUERYATTR_RECURSIONOK) != 0) /*% Recursing? */ -#define RECURSING(c) (((c)->query.attributes & \ - NS_QUERYATTR_RECURSING) != 0) +#define RECURSING(c) (((c)->query.attributes & NS_QUERYATTR_RECURSING) != 0) /*% Want Recursion? */ -#define WANTRECURSION(c) (((c)->query.attributes & \ - NS_QUERYATTR_WANTRECURSION) != 0) +#define WANTRECURSION(c) \ + (((c)->query.attributes & NS_QUERYATTR_WANTRECURSION) != 0) /*% Is TCP? */ -#define TCP(c) (((c)->attributes & NS_CLIENTATTR_TCP) != 0) +#define TCP(c) (((c)->attributes & NS_CLIENTATTR_TCP) != 0) /*% Want DNSSEC? */ -#define WANTDNSSEC(c) (((c)->attributes & \ - NS_CLIENTATTR_WANTDNSSEC) != 0) +#define WANTDNSSEC(c) (((c)->attributes & NS_CLIENTATTR_WANTDNSSEC) != 0) /*% Want WANTAD? */ -#define WANTAD(c) (((c)->attributes & \ - NS_CLIENTATTR_WANTAD) != 0) +#define WANTAD(c) (((c)->attributes & NS_CLIENTATTR_WANTAD) != 0) /*% Client presented a valid COOKIE. */ -#define HAVECOOKIE(c) (((c)->attributes & \ - NS_CLIENTATTR_HAVECOOKIE) != 0) +#define HAVECOOKIE(c) (((c)->attributes & NS_CLIENTATTR_HAVECOOKIE) != 0) /*% Client presented a COOKIE. */ -#define WANTCOOKIE(c) (((c)->attributes & \ - NS_CLIENTATTR_WANTCOOKIE) != 0) +#define WANTCOOKIE(c) (((c)->attributes & NS_CLIENTATTR_WANTCOOKIE) != 0) /*% Client presented a CLIENT-SUBNET option. */ -#define HAVEECS(c) (((c)->attributes & \ - NS_CLIENTATTR_HAVEECS) != 0) +#define HAVEECS(c) (((c)->attributes & NS_CLIENTATTR_HAVEECS) != 0) /*% No authority? */ -#define NOAUTHORITY(c) (((c)->query.attributes & \ - NS_QUERYATTR_NOAUTHORITY) != 0) +#define NOAUTHORITY(c) (((c)->query.attributes & NS_QUERYATTR_NOAUTHORITY) != 0) /*% No additional? */ -#define NOADDITIONAL(c) (((c)->query.attributes & \ - NS_QUERYATTR_NOADDITIONAL) != 0) +#define NOADDITIONAL(c) \ + (((c)->query.attributes & NS_QUERYATTR_NOADDITIONAL) != 0) /*% Secure? */ -#define SECURE(c) (((c)->query.attributes & \ - NS_QUERYATTR_SECURE) != 0) +#define SECURE(c) (((c)->query.attributes & NS_QUERYATTR_SECURE) != 0) /*% DNS64 A lookup? */ -#define DNS64(c) (((c)->query.attributes & \ - NS_QUERYATTR_DNS64) != 0) +#define DNS64(c) (((c)->query.attributes & NS_QUERYATTR_DNS64) != 0) -#define DNS64EXCLUDE(c) (((c)->query.attributes & \ - NS_QUERYATTR_DNS64EXCLUDE) != 0) +#define DNS64EXCLUDE(c) \ + (((c)->query.attributes & NS_QUERYATTR_DNS64EXCLUDE) != 0) -#define REDIRECT(c) (((c)->query.attributes & \ - NS_QUERYATTR_REDIRECT) != 0) +#define REDIRECT(c) (((c)->query.attributes & NS_QUERYATTR_REDIRECT) != 0) /*% Does the rdataset 'r' have an attached 'No QNAME Proof'? */ -#define NOQNAME(r) (((r)->attributes & \ - DNS_RDATASETATTR_NOQNAME) != 0) +#define NOQNAME(r) (((r)->attributes & DNS_RDATASETATTR_NOQNAME) != 0) /*% Does the rdataset 'r' contain a stale answer? */ -#define STALE(r) (((r)->attributes & \ - DNS_RDATASETATTR_STALE) != 0) +#define STALE(r) (((r)->attributes & DNS_RDATASETATTR_STALE) != 0) #ifdef WANT_QUERYTRACE static inline void -client_trace(ns_client_t *client, int level, const char *message) { +client_trace(ns_client_t *client, int level, const char *message) +{ if (client != NULL && client->query.qname != NULL) { if (isc_log_wouldlog(ns_lctx, level)) { char qbuf[DNS_NAME_FORMATSIZE]; char tbuf[DNS_RDATATYPE_FORMATSIZE]; - dns_name_format(client->query.qname, - qbuf, sizeof(qbuf)); - dns_rdatatype_format(client->query.qtype, - tbuf, sizeof(tbuf)); - isc_log_write(ns_lctx, - NS_LOGCATEGORY_CLIENT, + dns_name_format(client->query.qname, qbuf, + sizeof(qbuf)); + dns_rdatatype_format(client->query.qtype, tbuf, + sizeof(tbuf)); + isc_log_write(ns_lctx, NS_LOGCATEGORY_CLIENT, NS_LOGMODULE_QUERY, level, "query client=%p thread=0x%lx " "(%s/%s): %s", - client, - (unsigned long) isc_thread_self(), + client, (unsigned long)isc_thread_self(), qbuf, tbuf, message); } - } else { - isc_log_write(ns_lctx, - NS_LOGCATEGORY_CLIENT, + } else { + isc_log_write(ns_lctx, NS_LOGCATEGORY_CLIENT, NS_LOGMODULE_QUERY, level, "query client=%p thread=0x%lx " "(): %s", - client, - (unsigned long) isc_thread_self(), + client, (unsigned long)isc_thread_self(), message); } } -#define CTRACE(l,m) client_trace(client, l, m) -#define CCTRACE(l,m) client_trace(qctx->client, l, m) +#define CTRACE(l, m) client_trace(client, l, m) +#define CCTRACE(l, m) client_trace(qctx->client, l, m) #else -#define CTRACE(l,m) ((void)m) -#define CCTRACE(l,m) ((void)m) +#define CTRACE(l, m) ((void)m) +#define CCTRACE(l, m) ((void)m) #endif /* WANT_QUERYTRACE */ #define DNS_GETDB_NOEXACT 0x01U @@ -195,7 +178,7 @@ client_trace(ns_client_t *client, int level, const char *message) { #define DNS_GETDB_PARTIAL 0x04U #define DNS_GETDB_IGNOREACL 0x08U -#define PENDINGOK(x) (((x) & DNS_DBFIND_PENDINGOK) != 0) +#define PENDINGOK(x) (((x)&DNS_DBFIND_PENDINGOK) != 0) #define SFCACHE_CDFLAG 0x1 @@ -209,7 +192,12 @@ client_trace(ns_client_t *client, int level, const char *message) { * * We use SAVE and RESTORE as that shows the operation being performed. */ -#define SAVE(a, b) do { INSIST(a == NULL); a = b; b = NULL; } while (0) +#define SAVE(a, b) \ + do { \ + INSIST(a == NULL); \ + a = b; \ + b = NULL; \ + } while (0) #define RESTORE(a, b) SAVE(a, b) static bool @@ -220,8 +208,7 @@ static void query_findclosestnsec3(dns_name_t *qname, dns_db_t *db, dns_dbversion_t *version, ns_client_t *client, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset, - dns_name_t *fname, bool exact, - dns_name_t *found); + dns_name_t *fname, bool exact, dns_name_t *found); static inline void log_queryerror(ns_client_t *client, isc_result_t result, int line, int level); @@ -237,16 +224,15 @@ static void log_noexistnodata(void *val, int level, const char *fmt, ...) ISC_FORMAT_PRINTF(3, 4); - /* * Return the hooktable in use with 'qctx', or if there isn't one * set, return the default hooktable. */ static inline ns_hooktable_t * -get_hooktab(query_ctx_t *qctx) { +get_hooktab(query_ctx_t *qctx) +{ if (qctx == NULL || qctx->view == NULL || - qctx->view->hooktable == NULL) - { + qctx->view->hooktable == NULL) { return (ns__hook_table); } @@ -263,27 +249,27 @@ get_hooktab(query_ctx_t *qctx) { * is a macro instead of an inline function; it needs to be able to use * 'goto cleanup' regardless of the return value.) */ -#define CALL_HOOK(_id, _qctx) \ - do { \ - isc_result_t _res; \ - ns_hooktable_t *_tab = get_hooktab(_qctx); \ - ns_hook_t *_hook; \ - _hook = ISC_LIST_HEAD((*_tab)[_id]); \ - while (_hook != NULL) { \ - ns_hook_action_t _func = _hook->action; \ - void *_data = _hook->action_data; \ - INSIST(_func != NULL); \ - switch (_func(_qctx, _data, &_res)) { \ - case NS_HOOK_CONTINUE: \ - _hook = ISC_LIST_NEXT(_hook, link); \ - break; \ - case NS_HOOK_RETURN: \ - result = _res; \ - goto cleanup; \ - default: \ - INSIST(0); \ - } \ - } \ +#define CALL_HOOK(_id, _qctx) \ + do { \ + isc_result_t _res; \ + ns_hooktable_t *_tab = get_hooktab(_qctx); \ + ns_hook_t * _hook; \ + _hook = ISC_LIST_HEAD((*_tab)[_id]); \ + while (_hook != NULL) { \ + ns_hook_action_t _func = _hook->action; \ + void * _data = _hook->action_data; \ + INSIST(_func != NULL); \ + switch (_func(_qctx, _data, &_res)) { \ + case NS_HOOK_CONTINUE: \ + _hook = ISC_LIST_NEXT(_hook, link); \ + break; \ + case NS_HOOK_RETURN: \ + result = _res; \ + goto cleanup; \ + default: \ + INSIST(0); \ + } \ + } \ } while (false) /* @@ -295,19 +281,19 @@ get_hooktab(query_ctx_t *qctx) { * (This could be implemented as an inline void function, but is left as a * macro for symmetry with CALL_HOOK above.) */ -#define CALL_HOOK_NORETURN(_id, _qctx) \ - do { \ - isc_result_t _res; \ - ns_hooktable_t *_tab = get_hooktab(_qctx); \ - ns_hook_t *_hook; \ - _hook = ISC_LIST_HEAD((*_tab)[_id]); \ - while (_hook != NULL) { \ - ns_hook_action_t _func = _hook->action; \ - void *_data = _hook->action_data; \ - INSIST(_func != NULL); \ - _func(_qctx, _data, &_res); \ - _hook = ISC_LIST_NEXT(_hook, link); \ - } \ +#define CALL_HOOK_NORETURN(_id, _qctx) \ + do { \ + isc_result_t _res; \ + ns_hooktable_t *_tab = get_hooktab(_qctx); \ + ns_hook_t * _hook; \ + _hook = ISC_LIST_HEAD((*_tab)[_id]); \ + while (_hook != NULL) { \ + ns_hook_action_t _func = _hook->action; \ + void * _data = _hook->action_data; \ + INSIST(_func != NULL); \ + _func(_qctx, _data, &_res); \ + _hook = ISC_LIST_NEXT(_hook, link); \ + } \ } while (false) /* @@ -381,8 +367,8 @@ static void query_trace(query_ctx_t *qctx); static void -qctx_init(ns_client_t *client, dns_fetchevent_t *event, - dns_rdatatype_t qtype, query_ctx_t *qctx); +qctx_init(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype, + query_ctx_t *qctx); static isc_result_t query_setup(ns_client_t *client, dns_rdatatype_t qtype); @@ -498,12 +484,13 @@ query_addauth(query_ctx_t *qctx); * Increment query statistics counters. */ static inline void -inc_stats(ns_client_t *client, isc_statscounter_t counter) { - dns_zone_t *zone = client->query.authzone; +inc_stats(ns_client_t *client, isc_statscounter_t counter) +{ + dns_zone_t * zone = client->query.authzone; dns_rdatatype_t qtype; dns_rdataset_t *rdataset; - isc_stats_t *zonestats; - dns_stats_t *querystats = NULL; + isc_stats_t * zonestats; + dns_stats_t * querystats = NULL; ns_stats_increment(client->sctx->nsstats, counter); @@ -534,7 +521,8 @@ inc_stats(ns_client_t *client, isc_statscounter_t counter) { } static void -query_send(ns_client_t *client) { +query_send(ns_client_t *client) +{ isc_statscounter_t counter; if ((client->message->flags & DNS_MESSAGEFLAG_AA) == 0) @@ -564,7 +552,8 @@ query_send(ns_client_t *client) { } static void -query_error(ns_client_t *client, isc_result_t result, int line) { +query_error(ns_client_t *client, isc_result_t result, int line) +{ int loglevel = ISC_LOG_DEBUG(3); switch (dns_result_torcode(result)) { @@ -590,7 +579,8 @@ query_error(ns_client_t *client, isc_result_t result, int line) { } static void -query_next(ns_client_t *client, isc_result_t result) { +query_next(ns_client_t *client, isc_result_t result) +{ if (result == DNS_R_DUPLICATE) { inc_stats(client, ns_statscounter_duplicate); } else if (result == DNS_R_DROP) { @@ -603,14 +593,13 @@ query_next(ns_client_t *client, isc_result_t result) { } static inline void -query_freefreeversions(ns_client_t *client, bool everything) { +query_freefreeversions(ns_client_t *client, bool everything) +{ ns_dbversion_t *dbversion, *dbversion_next; - unsigned int i; + unsigned int i; for (dbversion = ISC_LIST_HEAD(client->query.freeversions), i = 0; - dbversion != NULL; - dbversion = dbversion_next, i++) - { + dbversion != NULL; dbversion = dbversion_next, i++) { dbversion_next = ISC_LIST_NEXT(dbversion, link); /* * If we're not freeing everything, we keep the first three @@ -626,7 +615,8 @@ query_freefreeversions(ns_client_t *client, bool everything) { } void -ns_query_cancel(ns_client_t *client) { +ns_query_cancel(ns_client_t *client) +{ REQUIRE(NS_CLIENT_VALID(client)); LOCK(&client->query.fetchlock); @@ -639,8 +629,9 @@ ns_query_cancel(ns_client_t *client) { } static inline void -query_reset(ns_client_t *client, bool everything) { - isc_buffer_t *dbuf, *dbuf_next; +query_reset(ns_client_t *client, bool everything) +{ + isc_buffer_t * dbuf, *dbuf_next; ns_dbversion_t *dbversion, *dbversion_next; CTRACE(ISC_LOG_DEBUG(3), "query_reset"); @@ -658,15 +649,12 @@ query_reset(ns_client_t *client, bool everything) { * Cleanup any active versions. */ for (dbversion = ISC_LIST_HEAD(client->query.activeversions); - dbversion != NULL; - dbversion = dbversion_next) - { + dbversion != NULL; dbversion = dbversion_next) { dbversion_next = ISC_LIST_NEXT(dbversion, link); - dns_db_closeversion(dbversion->db, &dbversion->version, - false); + dns_db_closeversion(dbversion->db, &dbversion->version, false); dns_db_detach(&dbversion->db); - ISC_LIST_INITANDAPPEND(client->query.freeversions, - dbversion, link); + ISC_LIST_INITANDAPPEND(client->query.freeversions, dbversion, + link); } ISC_LIST_INIT(client->query.activeversions); @@ -681,10 +669,9 @@ query_reset(ns_client_t *client, bool everything) { ns_client_putrdataset(client, &client->query.dns64_sigaaaa); if (client->query.dns64_aaaaok != NULL) { isc_mem_put(client->mctx, client->query.dns64_aaaaok, - client->query.dns64_aaaaoklen * - sizeof(bool)); - client->query.dns64_aaaaok = NULL; - client->query.dns64_aaaaoklen = 0; + client->query.dns64_aaaaoklen * sizeof(bool)); + client->query.dns64_aaaaok = NULL; + client->query.dns64_aaaaoklen = 0; } ns_client_putrdataset(client, &client->query.redirect.rdataset); @@ -700,8 +687,7 @@ query_reset(ns_client_t *client, bool everything) { query_freefreeversions(client, everything); - for (dbuf = ISC_LIST_HEAD(client->query.namebufs); - dbuf != NULL; + for (dbuf = ISC_LIST_HEAD(client->query.namebufs); dbuf != NULL; dbuf = dbuf_next) { dbuf_next = ISC_LIST_NEXT(dbuf, link); if (dbuf_next != NULL || everything) { @@ -714,13 +700,11 @@ query_reset(ns_client_t *client, bool everything) { /* * client->query.qname was dynamically allocated. */ - dns_message_puttempname(client->message, - &client->query.qname); + dns_message_puttempname(client->message, &client->query.qname); } client->query.qname = NULL; client->query.attributes = (NS_QUERYATTR_RECURSIONOK | - NS_QUERYATTR_CACHEOK | - NS_QUERYATTR_SECURE); + NS_QUERYATTR_CACHEOK | NS_QUERYATTR_SECURE); client->query.restarts = 0; client->query.timerset = false; if (client->query.rpz_st != NULL) { @@ -747,19 +731,22 @@ query_reset(ns_client_t *client, bool everything) { } static void -query_cleanup(ns_client_t *client) { +query_cleanup(ns_client_t *client) +{ query_reset(client, false); } void -ns_query_free(ns_client_t *client) { +ns_query_free(ns_client_t *client) +{ REQUIRE(NS_CLIENT_VALID(client)); query_reset(client, true); } isc_result_t -ns_query_init(ns_client_t *client) { +ns_query_init(ns_client_t *client) +{ isc_result_t result; REQUIRE(NS_CLIENT_VALID(client)); @@ -845,22 +832,19 @@ query_checkcacheaccess(ns_client_t *client, const dns_name_t *name, char msg[NS_CLIENT_ACLMSGSIZE("query (cache)")]; result = ns_client_checkaclsilent(client, NULL, - client->view->cacheacl, - true); + client->view->cacheacl, true); if (result == ISC_R_SUCCESS) { - result = ns_client_checkaclsilent(client, - &client->destaddr, - client->view->cacheonacl, - true); + result = ns_client_checkaclsilent( + client, &client->destaddr, + client->view->cacheonacl, true); }; if (result == ISC_R_SUCCESS) { /* * We were allowed by the "allow-query-cache" ACL. */ client->query.attributes |= NS_QUERYATTR_CACHEACLOK; - if (log && isc_log_wouldlog(ns_lctx, - ISC_LOG_DEBUG(3))) - { + if (log && + isc_log_wouldlog(ns_lctx, ISC_LOG_DEBUG(3))) { ns_client_aclmsg("query (cache)", name, qtype, client->view->rdclass, msg, sizeof(msg)); @@ -891,18 +875,18 @@ query_checkcacheaccess(ns_client_t *client, const dns_name_t *name, client->query.attributes |= NS_QUERYATTR_CACHEACLOKVALID; } - return ((client->query.attributes & NS_QUERYATTR_CACHEACLOK) != 0 ? - ISC_R_SUCCESS : DNS_R_REFUSED); + return ((client->query.attributes & NS_QUERYATTR_CACHEACLOK) != 0 + ? ISC_R_SUCCESS + : DNS_R_REFUSED); } static inline isc_result_t query_validatezonedb(ns_client_t *client, const dns_name_t *name, dns_rdatatype_t qtype, unsigned int options, - dns_zone_t *zone, dns_db_t *db, - dns_dbversion_t **versionp) + dns_zone_t *zone, dns_db_t *db, dns_dbversion_t **versionp) { - isc_result_t result; - dns_acl_t *queryacl, *queryonacl; + isc_result_t result; + dns_acl_t * queryacl, *queryonacl; ns_dbversion_t *dbversion; REQUIRE(zone != NULL); @@ -924,8 +908,7 @@ query_validatezonedb(ns_client_t *client, const dns_name_t *name, */ if (client->query.rpz_st == NULL && !(WANTRECURSION(client) && RECURSIONOK(client)) && - client->query.authdbset && db != client->query.authdb) - { + client->query.authdbset && db != client->query.authdb) { return (DNS_R_REFUSED); } @@ -967,8 +950,8 @@ query_validatezonedb(ns_client_t *client, const dns_name_t *name, queryacl = dns_zone_getqueryacl(zone); if (queryacl == NULL) { queryacl = client->view->queryacl; - if ((client->query.attributes & - NS_QUERYATTR_QUERYOKVALID) != 0) { + if ((client->query.attributes & NS_QUERYATTR_QUERYOKVALID) != + 0) { /* * We've evaluated the view's queryacl already. If * NS_QUERYATTR_QUERYOK is set, then the client is @@ -976,8 +959,8 @@ query_validatezonedb(ns_client_t *client, const dns_name_t *name, * be refused. */ dbversion->acl_checked = true; - if ((client->query.attributes & - NS_QUERYATTR_QUERYOK) == 0) { + if ((client->query.attributes & NS_QUERYATTR_QUERYOK) == + 0) { dbversion->queryok = false; return (DNS_R_REFUSED); } @@ -992,18 +975,17 @@ query_validatezonedb(ns_client_t *client, const dns_name_t *name, if (result == ISC_R_SUCCESS) { if (isc_log_wouldlog(ns_lctx, ISC_LOG_DEBUG(3))) { ns_client_aclmsg("query", name, qtype, - client->view->rdclass, - msg, sizeof(msg)); - ns_client_log(client, - DNS_LOGCATEGORY_SECURITY, + client->view->rdclass, msg, + sizeof(msg)); + ns_client_log(client, DNS_LOGCATEGORY_SECURITY, NS_LOGMODULE_QUERY, - ISC_LOG_DEBUG(3), - "%s approved", msg); + ISC_LOG_DEBUG(3), "%s approved", + msg); } } else { ns_client_aclmsg("query", name, qtype, - client->view->rdclass, - msg, sizeof(msg)); + client->view->rdclass, msg, + sizeof(msg)); ns_client_log(client, DNS_LOGCATEGORY_SECURITY, NS_LOGMODULE_QUERY, ISC_LOG_INFO, "%s denied", msg); @@ -1034,8 +1016,7 @@ query_validatezonedb(ns_client_t *client, const dns_name_t *name, result = ns_client_checkaclsilent(client, &client->destaddr, queryonacl, true); - if ((options & DNS_GETDB_NOLOG) == 0 && - result != ISC_R_SUCCESS) + if ((options & DNS_GETDB_NOLOG) == 0 && result != ISC_R_SUCCESS) ns_client_log(client, DNS_LOGCATEGORY_SECURITY, NS_LOGMODULE_QUERY, ISC_LOG_INFO, "query-on denied"); @@ -1048,7 +1029,7 @@ query_validatezonedb(ns_client_t *client, const dns_name_t *name, } dbversion->queryok = true; - approved: +approved: /* Transfer ownership, if necessary. */ if (versionp != NULL) *versionp = dbversion->version; @@ -1057,14 +1038,14 @@ query_validatezonedb(ns_client_t *client, const dns_name_t *name, static inline isc_result_t query_getzonedb(ns_client_t *client, const dns_name_t *name, - dns_rdatatype_t qtype, unsigned int options, - dns_zone_t **zonep, dns_db_t **dbp, dns_dbversion_t **versionp) + dns_rdatatype_t qtype, unsigned int options, dns_zone_t **zonep, + dns_db_t **dbp, dns_dbversion_t **versionp) { isc_result_t result; unsigned int ztoptions; - dns_zone_t *zone = NULL; - dns_db_t *db = NULL; - bool partial = false; + dns_zone_t * zone = NULL; + dns_db_t * db = NULL; + bool partial = false; REQUIRE(zonep != NULL && *zonep == NULL); REQUIRE(dbp != NULL && *dbp == NULL); @@ -1102,7 +1083,7 @@ query_getzonedb(ns_client_t *client, const dns_name_t *name, return (DNS_R_PARTIALMATCH); return (ISC_R_SUCCESS); - fail: +fail: if (zone != NULL) dns_zone_detach(&zone); if (db != NULL) @@ -1112,20 +1093,19 @@ query_getzonedb(ns_client_t *client, const dns_name_t *name, } static void -rpz_log_rewrite(ns_client_t *client, bool disabled, - dns_rpz_policy_t policy, dns_rpz_type_t type, - dns_zone_t *p_zone, dns_name_t *p_name, +rpz_log_rewrite(ns_client_t *client, bool disabled, dns_rpz_policy_t policy, + dns_rpz_type_t type, dns_zone_t *p_zone, dns_name_t *p_name, dns_name_t *cname, dns_rpz_num_t rpz_num) { - char cname_buf[DNS_NAME_FORMATSIZE] = { 0 }; - char p_name_buf[DNS_NAME_FORMATSIZE]; - char qname_buf[DNS_NAME_FORMATSIZE]; - char classbuf[DNS_RDATACLASS_FORMATSIZE]; - char typebuf[DNS_RDATATYPE_FORMATSIZE]; - const char *s1 = cname_buf, *s2 = cname_buf; + char cname_buf[DNS_NAME_FORMATSIZE] = { 0 }; + char p_name_buf[DNS_NAME_FORMATSIZE]; + char qname_buf[DNS_NAME_FORMATSIZE]; + char classbuf[DNS_RDATACLASS_FORMATSIZE]; + char typebuf[DNS_RDATATYPE_FORMATSIZE]; + const char * s1 = cname_buf, *s2 = cname_buf; dns_rdataset_t *rdataset; - dns_rpz_st_t *st; - isc_stats_t *zonestats; + dns_rpz_st_t * st; + isc_stats_t * zonestats; /* * Count enabled rewrites in the global counter. @@ -1169,9 +1149,8 @@ rpz_log_rewrite(ns_client_t *client, bool disabled, ns_client_log(client, DNS_LOGCATEGORY_RPZ, NS_LOGMODULE_QUERY, DNS_RPZ_INFO_LEVEL, "%srpz %s %s rewrite %s/%s/%s via %s%s%s%s", - disabled ? "disabled " : "", - dns_rpz_type2str(type), dns_rpz_policy2str(policy), - qname_buf, typebuf, classbuf, + disabled ? "disabled " : "", dns_rpz_type2str(type), + dns_rpz_policy2str(policy), qname_buf, typebuf, classbuf, p_name_buf, s1, cname_buf, s2); } @@ -1180,8 +1159,8 @@ rpz_log_fail_helper(ns_client_t *client, int level, dns_name_t *p_name, dns_rpz_type_t rpz_type1, dns_rpz_type_t rpz_type2, const char *str, isc_result_t result) { - char qnamebuf[DNS_NAME_FORMATSIZE]; - char p_namebuf[DNS_NAME_FORMATSIZE]; + char qnamebuf[DNS_NAME_FORMATSIZE]; + char p_namebuf[DNS_NAME_FORMATSIZE]; const char *failed, *via, *slash, *str_blank; const char *rpztypestr1; const char *rpztypestr2; @@ -1218,11 +1197,9 @@ rpz_log_fail_helper(ns_client_t *client, int level, dns_name_t *p_name, p_namebuf[0] = '\0'; } - ns_client_log(client, NS_LOGCATEGORY_QUERY_ERRORS, - NS_LOGMODULE_QUERY, level, - "rpz %s%s%s rewrite %s%s%s%s%s%s%s", - rpztypestr1, slash, rpztypestr2, - qnamebuf, via, p_namebuf, str_blank, + ns_client_log(client, NS_LOGCATEGORY_QUERY_ERRORS, NS_LOGMODULE_QUERY, + level, "rpz %s%s%s rewrite %s%s%s%s%s%s%s", rpztypestr1, + slash, rpztypestr2, qnamebuf, via, p_namebuf, str_blank, str, failed, isc_result_totext(result)); } @@ -1230,8 +1207,8 @@ static void rpz_log_fail(ns_client_t *client, int level, dns_name_t *p_name, dns_rpz_type_t rpz_type, const char *str, isc_result_t result) { - rpz_log_fail_helper(client, level, p_name, - rpz_type, DNS_RPZ_TYPE_BAD, str, result); + rpz_log_fail_helper(client, level, p_name, rpz_type, DNS_RPZ_TYPE_BAD, + str, result); } /* @@ -1241,10 +1218,10 @@ static isc_result_t rpz_getdb(ns_client_t *client, dns_name_t *p_name, dns_rpz_type_t rpz_type, dns_zone_t **zonep, dns_db_t **dbp, dns_dbversion_t **versionp) { - char qnamebuf[DNS_NAME_FORMATSIZE]; - char p_namebuf[DNS_NAME_FORMATSIZE]; + char qnamebuf[DNS_NAME_FORMATSIZE]; + char p_namebuf[DNS_NAME_FORMATSIZE]; dns_dbversion_t *rpz_version = NULL; - isc_result_t result; + isc_result_t result; CTRACE(ISC_LOG_DEBUG(3), "rpz_getdb"); @@ -1258,16 +1235,15 @@ rpz_getdb(ns_client_t *client, dns_name_t *p_name, dns_rpz_type_t rpz_type, * logging is disabled for some policy zones. */ if (st->popt.no_log == 0 && - isc_log_wouldlog(ns_lctx, DNS_RPZ_DEBUG_LEVEL2)) - { + isc_log_wouldlog(ns_lctx, DNS_RPZ_DEBUG_LEVEL2)) { dns_name_format(client->query.qname, qnamebuf, sizeof(qnamebuf)); dns_name_format(p_name, p_namebuf, sizeof(p_namebuf)); ns_client_log(client, DNS_LOGCATEGORY_RPZ, NS_LOGMODULE_QUERY, DNS_RPZ_DEBUG_LEVEL2, "try rpz %s rewrite %s via %s", - dns_rpz_type2str(rpz_type), - qnamebuf, p_namebuf); + dns_rpz_type2str(rpz_type), qnamebuf, + p_namebuf); } *versionp = rpz_version; return (ISC_R_SUCCESS); @@ -1286,7 +1262,7 @@ query_getcachedb(ns_client_t *client, const dns_name_t *name, dns_rdatatype_t qtype, dns_db_t **dbp, unsigned int options) { isc_result_t result; - dns_db_t *db = NULL; + dns_db_t * db = NULL; REQUIRE(dbp != NULL && *dbp == NULL); @@ -1319,7 +1295,7 @@ query_getdb(ns_client_t *client, dns_name_t *name, dns_rdatatype_t qtype, isc_result_t tresult; unsigned int namelabels; unsigned int zonelabels; - dns_zone_t *zone = NULL; + dns_zone_t * zone = NULL; REQUIRE(zonep != NULL && *zonep == NULL); @@ -1328,8 +1304,8 @@ query_getdb(ns_client_t *client, dns_name_t *name, dns_rdatatype_t qtype, zonelabels = 0; /* Try to find name in bind's standard database. */ - result = query_getzonedb(client, name, qtype, options, &zone, - dbp, versionp); + result = query_getzonedb(client, name, qtype, options, &zone, dbp, + versionp); /* See how many labels are in the zone's name. */ if (result == ISC_R_SUCCESS && zone != NULL) { @@ -1341,19 +1317,18 @@ query_getdb(ns_client_t *client, dns_name_t *name, dns_rdatatype_t qtype, * Only try if DLZ drivers are loaded for this view */ if (ISC_UNLIKELY(zonelabels < namelabels && - !ISC_LIST_EMPTY(client->view->dlz_searched))) - { + !ISC_LIST_EMPTY(client->view->dlz_searched))) { dns_clientinfomethods_t cm; - dns_clientinfo_t ci; - dns_db_t *tdbp; + dns_clientinfo_t ci; + dns_db_t * tdbp; dns_clientinfomethods_init(&cm, ns_client_sourceip); dns_clientinfo_init(&ci, client, NULL); tdbp = NULL; - tresult = dns_view_searchdlz(client->view, name, - zonelabels, &cm, &ci, &tdbp); - /* If we successful, we found a better match. */ + tresult = dns_view_searchdlz(client->view, name, zonelabels, + &cm, &ci, &tdbp); + /* If we successful, we found a better match. */ if (tresult == ISC_R_SUCCESS) { ns_dbversion_t *dbversion; @@ -1412,26 +1387,25 @@ query_getdb(ns_client_t *client, dns_name_t *name, dns_rdatatype_t qtype, } static inline bool -query_isduplicate(ns_client_t *client, dns_name_t *name, - dns_rdatatype_t type, dns_name_t **mnamep) +query_isduplicate(ns_client_t *client, dns_name_t *name, dns_rdatatype_t type, + dns_name_t **mnamep) { dns_section_t section; - dns_name_t *mname = NULL; - isc_result_t result; + dns_name_t * mname = NULL; + isc_result_t result; CTRACE(ISC_LOG_DEBUG(3), "query_isduplicate"); - for (section = DNS_SECTION_ANSWER; - section <= DNS_SECTION_ADDITIONAL; + for (section = DNS_SECTION_ANSWER; section <= DNS_SECTION_ADDITIONAL; section++) { - result = dns_message_findname(client->message, section, - name, type, 0, &mname, NULL); + result = dns_message_findname(client->message, section, name, + type, 0, &mname, NULL); if (result == ISC_R_SUCCESS) { /* * We've already got this RRset in the response. */ - CTRACE(ISC_LOG_DEBUG(3), - "query_isduplicate: true: done"); + CTRACE(ISC_LOG_DEBUG(3), "query_isduplicate: true: " + "done"); return (true); } else if (result == DNS_R_NXRRSET) { /* @@ -1482,9 +1456,9 @@ query_additionalauthfind(dns_db_t *db, dns_dbversion_t *version, dns_rdataset_t *sigrdataset) { dns_clientinfomethods_t cm; - dns_dbnode_t *node = NULL; - dns_clientinfo_t ci; - isc_result_t result; + dns_dbnode_t * node = NULL; + dns_clientinfo_t ci; + isc_result_t result; dns_clientinfomethods_init(&cm, ns_client_sourceip); dns_clientinfo_init(&ci, client, NULL); @@ -1503,8 +1477,7 @@ query_additionalauthfind(dns_db_t *db, dns_dbversion_t *version, } if (sigrdataset != NULL && - dns_rdataset_isassociated(sigrdataset)) - { + dns_rdataset_isassociated(sigrdataset)) { dns_rdataset_disassociate(sigrdataset); } @@ -1519,8 +1492,7 @@ query_additionalauthfind(dns_db_t *db, dns_dbversion_t *version, * Do not return signatures if the zone is not fully signed. */ if (sigrdataset != NULL && !dns_db_issecure(db) && - dns_rdataset_isassociated(sigrdataset)) - { + dns_rdataset_isassociated(sigrdataset)) { dns_rdataset_disassociate(sigrdataset); } @@ -1551,17 +1523,17 @@ query_additionalauthfind(dns_db_t *db, dns_dbversion_t *version, */ static isc_result_t query_additionalauth(query_ctx_t *qctx, const dns_name_t *name, - dns_rdatatype_t type, dns_db_t **dbp, - dns_dbnode_t **nodep, dns_name_t *fname, - dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) + dns_rdatatype_t type, dns_db_t **dbp, dns_dbnode_t **nodep, + dns_name_t *fname, dns_rdataset_t *rdataset, + dns_rdataset_t *sigrdataset) { - ns_client_t *client = qctx->client; - ns_dbversion_t *dbversion = NULL; + ns_client_t * client = qctx->client; + ns_dbversion_t * dbversion = NULL; dns_dbversion_t *version = NULL; - dns_dbnode_t *node = NULL; - dns_zone_t *zone = NULL; - dns_db_t *db = NULL; - isc_result_t result; + dns_dbnode_t * node = NULL; + dns_zone_t * zone = NULL; + dns_db_t * db = NULL; + isc_result_t result; /* * First, look within the same zone database for authoritative @@ -1585,8 +1557,7 @@ query_additionalauth(query_ctx_t *qctx, const dns_name_t *name, &node, fname, rdataset, sigrdataset); if (result != ISC_R_SUCCESS && qctx->view->minimalresponses == dns_minimal_no && - RECURSIONOK(client)) - { + RECURSIONOK(client)) { /* * If we aren't doing response minimization and recursion is * allowed, we can try and see if any other zone matches. @@ -1621,23 +1592,24 @@ query_additionalauth(query_ctx_t *qctx, const dns_name_t *name, } static isc_result_t -query_additional_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { - query_ctx_t *qctx = arg; - ns_client_t *client = qctx->client; - isc_result_t result, eresult = ISC_R_SUCCESS; - dns_dbnode_t *node = NULL; - dns_db_t *db = NULL; - dns_name_t *fname = NULL, *mname = NULL; - dns_rdataset_t *rdataset = NULL, *sigrdataset = NULL; - dns_rdataset_t *trdataset = NULL; - isc_buffer_t *dbuf = NULL; - isc_buffer_t b; - ns_dbversion_t *dbversion = NULL; - dns_dbversion_t *version = NULL; - bool added_something = false, need_addname = false; - dns_rdatatype_t type; - dns_clientinfomethods_t cm; - dns_clientinfo_t ci; +query_additional_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) +{ + query_ctx_t * qctx = arg; + ns_client_t * client = qctx->client; + isc_result_t result, eresult = ISC_R_SUCCESS; + dns_dbnode_t * node = NULL; + dns_db_t * db = NULL; + dns_name_t * fname = NULL, *mname = NULL; + dns_rdataset_t * rdataset = NULL, *sigrdataset = NULL; + dns_rdataset_t * trdataset = NULL; + isc_buffer_t * dbuf = NULL; + isc_buffer_t b; + ns_dbversion_t * dbversion = NULL; + dns_dbversion_t * version = NULL; + bool added_something = false, need_addname = false; + dns_rdatatype_t type; + dns_clientinfomethods_t cm; + dns_clientinfo_t ci; dns_rdatasetadditional_t additionaltype = dns_rdatasetadditional_fromauth; @@ -1728,10 +1700,10 @@ query_additional_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { version = NULL; result = dns_db_findext(db, name, version, type, - client->query.dboptions | - DNS_DBFIND_GLUEOK | DNS_DBFIND_ADDITIONALOK, - client->now, &node, fname, &cm, &ci, - rdataset, sigrdataset); + client->query.dboptions | DNS_DBFIND_GLUEOK | + DNS_DBFIND_ADDITIONALOK, + client->now, &node, fname, &cm, &ci, rdataset, + sigrdataset); dns_cache_updatestats(qctx->view->cache, result); if (!WANTDNSSEC(client)) { @@ -1751,7 +1723,7 @@ query_additional_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { } dns_db_detach(&db); - try_glue: +try_glue: /* * No cached data was found. Glue is our last chance. * RFC1035 sayeth: @@ -1788,16 +1760,14 @@ query_additional_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { additionaltype = dns_rdatasetadditional_fromglue; result = dns_db_findext(db, name, version, type, client->query.dboptions | DNS_DBFIND_GLUEOK, - client->now, &node, fname, &cm, &ci, - rdataset, sigrdataset); - if (result != ISC_R_SUCCESS && - result != DNS_R_ZONECUT && - result != DNS_R_GLUE) - { + client->now, &node, fname, &cm, &ci, rdataset, + sigrdataset); + if (result != ISC_R_SUCCESS && result != DNS_R_ZONECUT && + result != DNS_R_GLUE) { goto cleanup; } - found: +found: /* * We have found a potential additional data rdataset, or * at least a node to iterate over. @@ -1810,8 +1780,7 @@ query_additional_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { */ mname = NULL; if (dns_rdataset_isassociated(rdataset) && - !query_isduplicate(client, fname, type, &mname)) - { + !query_isduplicate(client, fname, type, &mname)) { if (mname != NULL) { INSIST(mname != fname); ns_client_releasename(client, &fname); @@ -1829,8 +1798,7 @@ query_additional_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { * in the response. */ if (sigrdataset != NULL && - dns_rdataset_isassociated(sigrdataset)) - { + dns_rdataset_isassociated(sigrdataset)) { ISC_LIST_APPEND(fname->list, sigrdataset, link); sigrdataset = NULL; } @@ -1866,40 +1834,37 @@ query_additional_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { if (query_isduplicate(client, fname, dns_rdatatype_a, NULL)) { goto aaaa_lookup; } - result = dns_db_findrdataset(db, node, version, - dns_rdatatype_a, 0, - client->now, - rdataset, sigrdataset); + result = dns_db_findrdataset(db, node, version, dns_rdatatype_a, + 0, client->now, rdataset, + sigrdataset); if (result == DNS_R_NCACHENXDOMAIN) { goto addname; } else if (result == DNS_R_NCACHENXRRSET) { dns_rdataset_disassociate(rdataset); if (sigrdataset != NULL && - dns_rdataset_isassociated(sigrdataset)) - { + dns_rdataset_isassociated(sigrdataset)) { dns_rdataset_disassociate(sigrdataset); } } else if (result == ISC_R_SUCCESS) { bool invalid = false; mname = NULL; if (additionaltype == - dns_rdatasetadditional_fromcache && + dns_rdatasetadditional_fromcache && (DNS_TRUST_PENDING(rdataset->trust) || - DNS_TRUST_GLUE(rdataset->trust))) - { + DNS_TRUST_GLUE(rdataset->trust))) { /* validate() may change rdataset->trust */ - invalid = !validate(client, db, fname, - rdataset, sigrdataset); + invalid = !validate(client, db, fname, rdataset, + sigrdataset); } if (invalid && DNS_TRUST_PENDING(rdataset->trust)) { dns_rdataset_disassociate(rdataset); if (sigrdataset != NULL && - dns_rdataset_isassociated(sigrdataset)) - { + dns_rdataset_isassociated(sigrdataset)) { dns_rdataset_disassociate(sigrdataset); } } else if (!query_isduplicate(client, fname, - dns_rdatatype_a, &mname)) { + dns_rdatatype_a, + &mname)) { if (mname != fname) { if (mname != NULL) { ns_client_releasename(client, @@ -1912,8 +1877,7 @@ query_additional_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { ISC_LIST_APPEND(fname->list, rdataset, link); added_something = true; if (sigrdataset != NULL && - dns_rdataset_isassociated(sigrdataset)) - { + dns_rdataset_isassociated(sigrdataset)) { ISC_LIST_APPEND(fname->list, sigrdataset, link); sigrdataset = @@ -1929,28 +1893,25 @@ query_additional_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { } else { dns_rdataset_disassociate(rdataset); if (sigrdataset != NULL && - dns_rdataset_isassociated(sigrdataset)) - { + dns_rdataset_isassociated(sigrdataset)) { dns_rdataset_disassociate(sigrdataset); } } } - aaaa_lookup: - if (query_isduplicate(client, fname, dns_rdatatype_aaaa, NULL)) - { + aaaa_lookup: + if (query_isduplicate(client, fname, dns_rdatatype_aaaa, + NULL)) { goto addname; } result = dns_db_findrdataset(db, node, version, - dns_rdatatype_aaaa, 0, - client->now, + dns_rdatatype_aaaa, 0, client->now, rdataset, sigrdataset); if (result == DNS_R_NCACHENXDOMAIN) { goto addname; } else if (result == DNS_R_NCACHENXRRSET) { dns_rdataset_disassociate(rdataset); if (sigrdataset != NULL && - dns_rdataset_isassociated(sigrdataset)) - { + dns_rdataset_isassociated(sigrdataset)) { dns_rdataset_disassociate(sigrdataset); } } else if (result == ISC_R_SUCCESS) { @@ -1958,25 +1919,23 @@ query_additional_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { mname = NULL; if (additionaltype == - dns_rdatasetadditional_fromcache && + dns_rdatasetadditional_fromcache && (DNS_TRUST_PENDING(rdataset->trust) || - DNS_TRUST_GLUE(rdataset->trust))) - { + DNS_TRUST_GLUE(rdataset->trust))) { /* validate() may change rdataset->trust */ - invalid = !validate(client, db, fname, - rdataset, sigrdataset); + invalid = !validate(client, db, fname, rdataset, + sigrdataset); } if (invalid && DNS_TRUST_PENDING(rdataset->trust)) { dns_rdataset_disassociate(rdataset); if (sigrdataset != NULL && - dns_rdataset_isassociated(sigrdataset)) - { + dns_rdataset_isassociated(sigrdataset)) { dns_rdataset_disassociate(sigrdataset); } } else if (!query_isduplicate(client, fname, - dns_rdatatype_aaaa, &mname)) - { + dns_rdatatype_aaaa, + &mname)) { if (mname != fname) { if (mname != NULL) { ns_client_releasename(client, @@ -1989,8 +1948,7 @@ query_additional_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { ISC_LIST_APPEND(fname->list, rdataset, link); added_something = true; if (sigrdataset != NULL && - dns_rdataset_isassociated(sigrdataset)) - { + dns_rdataset_isassociated(sigrdataset)) { ISC_LIST_APPEND(fname->list, sigrdataset, link); sigrdataset = NULL; @@ -2000,7 +1958,7 @@ query_additional_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { } } - addname: +addname: CTRACE(ISC_LOG_DEBUG(3), "query_additional_cb: addname"); /* * If we haven't added anything, then we're done. @@ -2037,12 +1995,11 @@ query_additional_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { * section, it's helpful if we add the SRV additional data * as well. */ - eresult = dns_rdataset_additionaldata(trdataset, - query_additional_cb, - qctx); + eresult = dns_rdataset_additionaldata( + trdataset, query_additional_cb, qctx); } - cleanup: +cleanup: CTRACE(ISC_LOG_DEBUG(3), "query_additional_cb: cleanup"); ns_client_putrdataset(client, &rdataset); if (sigrdataset != NULL) { @@ -2066,7 +2023,8 @@ query_additional_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype) { * Add 'rdataset' to 'name'. */ static inline void -query_addtoname(dns_name_t *name, dns_rdataset_t *rdataset) { +query_addtoname(dns_name_t *name, dns_rdataset_t *rdataset) +{ ISC_LIST_APPEND(name->list, rdataset, link); } @@ -2074,7 +2032,8 @@ query_addtoname(dns_name_t *name, dns_rdataset_t *rdataset) { * Set the ordering for 'rdataset'. */ static void -query_setorder(query_ctx_t *qctx, dns_name_t *name, dns_rdataset_t *rdataset) { +query_setorder(query_ctx_t *qctx, dns_name_t *name, dns_rdataset_t *rdataset) +{ ns_client_t *client = qctx->client; dns_order_t *order = client->view->order; @@ -2083,9 +2042,8 @@ query_setorder(query_ctx_t *qctx, dns_name_t *name, dns_rdataset_t *rdataset) { UNUSED(client); if (order != NULL) { - rdataset->attributes |= dns_order_find(order, name, - rdataset->type, - rdataset->rdclass); + rdataset->attributes |= dns_order_find( + order, name, rdataset->type, rdataset->rdclass); } rdataset->attributes |= DNS_RDATASETATTR_LOADORDER; }; @@ -2094,7 +2052,8 @@ query_setorder(query_ctx_t *qctx, dns_name_t *name, dns_rdataset_t *rdataset) { * Handle glue and fetch any other needed additional data for 'rdataset'. */ static void -query_additional(query_ctx_t *qctx, dns_rdataset_t *rdataset) { +query_additional(query_ctx_t *qctx, dns_rdataset_t *rdataset) +{ ns_client_t *client = qctx->client; isc_result_t result; @@ -2110,8 +2069,7 @@ query_additional(query_ctx_t *qctx, dns_rdataset_t *rdataset) { if (qctx->view->use_glue_cache && (rdataset->type == dns_rdatatype_ns) && (client->query.gluedb != NULL) && - dns_db_iszone(client->query.gluedb)) - { + dns_db_iszone(client->query.gluedb)) { ns_dbversion_t *dbversion; dbversion = ns_client_findversion(client, client->query.gluedb); @@ -2126,7 +2084,7 @@ query_additional(query_ctx_t *qctx, dns_rdataset_t *rdataset) { } } - regular: +regular: /* * Add other additional data if needed. * We don't care if dns_rdataset_additionaldata() fails. @@ -2140,9 +2098,9 @@ query_addrrset(query_ctx_t *qctx, dns_name_t **namep, dns_rdataset_t **rdatasetp, dns_rdataset_t **sigrdatasetp, isc_buffer_t *dbuf, dns_section_t section) { - isc_result_t result; - ns_client_t *client = qctx->client; - dns_name_t *name = *namep, *mname = NULL; + isc_result_t result; + ns_client_t * client = qctx->client; + dns_name_t * name = *namep, *mname = NULL; dns_rdataset_t *rdataset = *rdatasetp, *mrdataset = NULL; dns_rdataset_t *sigrdataset = NULL; @@ -2164,15 +2122,15 @@ query_addrrset(query_ctx_t *qctx, dns_name_t **namep, * stored in 'dbuf'. In this case, query_addrrset() guarantees that * when it returns the name will either have been kept or released. */ - result = dns_message_findname(client->message, section, - name, rdataset->type, rdataset->covers, - &mname, &mrdataset); + result = dns_message_findname(client->message, section, name, + rdataset->type, rdataset->covers, &mname, + &mrdataset); if (result == ISC_R_SUCCESS) { /* * We've already got an RRset of the given name and type. */ - CTRACE(ISC_LOG_DEBUG(3), - "query_addrrset: dns_message_findname succeeded: done"); + CTRACE(ISC_LOG_DEBUG(3), "query_addrrset: dns_message_findname " + "succeeded: done"); if (dbuf != NULL) { ns_client_releasename(client, namep); } @@ -2199,8 +2157,7 @@ query_addrrset(query_ctx_t *qctx, dns_name_t **namep, if (rdataset->trust != dns_trust_secure && (section == DNS_SECTION_ANSWER || - section == DNS_SECTION_AUTHORITY)) - { + section == DNS_SECTION_AUTHORITY)) { client->query.attributes &= ~NS_QUERYATTR_SECURE; } @@ -2238,11 +2195,11 @@ mark_secure(ns_client_t *client, dns_db_t *db, dns_name_t *name, dns_rdata_rrsig_t *rrsig, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - isc_result_t result; - dns_dbnode_t *node = NULL; + isc_result_t result; + dns_dbnode_t * node = NULL; dns_clientinfomethods_t cm; - dns_clientinfo_t ci; - isc_stdtime_t now; + dns_clientinfo_t ci; + isc_stdtime_t now; rdataset->trust = dns_trust_secure; sigrdataset->trust = dns_trust_secure; @@ -2260,10 +2217,10 @@ mark_secure(ns_client_t *client, dns_db_t *db, dns_name_t *name, dns_rdataset_trimttl(rdataset, sigrdataset, rrsig, now, client->view->acceptexpired); - (void)dns_db_addrdataset(db, node, NULL, client->now, rdataset, - 0, NULL); - (void)dns_db_addrdataset(db, node, NULL, client->now, sigrdataset, - 0, NULL); + (void)dns_db_addrdataset(db, node, NULL, client->now, rdataset, 0, + NULL); + (void)dns_db_addrdataset(db, node, NULL, client->now, sigrdataset, 0, + NULL); dns_db_detachnode(db, &node); } @@ -2277,18 +2234,18 @@ static bool get_key(ns_client_t *client, dns_db_t *db, dns_rdata_rrsig_t *rrsig, dns_rdataset_t *keyrdataset, dst_key_t **keyp) { - isc_result_t result; - dns_dbnode_t *node = NULL; - bool secure = false; + isc_result_t result; + dns_dbnode_t * node = NULL; + bool secure = false; dns_clientinfomethods_t cm; - dns_clientinfo_t ci; + dns_clientinfo_t ci; dns_clientinfomethods_init(&cm, ns_client_sourceip); dns_clientinfo_init(&ci, client, NULL); if (!dns_rdataset_isassociated(keyrdataset)) { - result = dns_db_findnodeext(db, &rrsig->signer, false, - &cm, &ci, &node); + result = dns_db_findnodeext(db, &rrsig->signer, false, &cm, &ci, + &node); if (result != ISC_R_SUCCESS) return (false); @@ -2306,9 +2263,9 @@ get_key(ns_client_t *client, dns_db_t *db, dns_rdata_rrsig_t *rrsig, } else result = dns_rdataset_next(keyrdataset); - for ( ; result == ISC_R_SUCCESS; + for (; result == ISC_R_SUCCESS; result = dns_rdataset_next(keyrdataset)) { - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; isc_buffer_t b; dns_rdataset_current(keyrdataset, &rdata); @@ -2333,16 +2290,16 @@ static bool verify(dst_key_t *key, dns_name_t *name, dns_rdataset_t *rdataset, dns_rdata_t *rdata, ns_client_t *client) { - isc_result_t result; + isc_result_t result; dns_fixedname_t fixed; - bool ignore = false; + bool ignore = false; dns_fixedname_init(&fixed); again: result = dns_dnssec_verify(name, rdataset, key, ignore, - client->view->maxbits, client->mctx, - rdata, NULL); + client->view->maxbits, client->mctx, rdata, + NULL); if (result == DNS_R_SIGEXPIRED && client->view->acceptexpired) { ignore = true; goto again; @@ -2359,19 +2316,17 @@ static bool validate(ns_client_t *client, dns_db_t *db, dns_name_t *name, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_rrsig_t rrsig; - dst_key_t *key = NULL; - dns_rdataset_t keyrdataset; + dst_key_t * key = NULL; + dns_rdataset_t keyrdataset; if (sigrdataset == NULL || !dns_rdataset_isassociated(sigrdataset)) return (false); - for (result = dns_rdataset_first(sigrdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(sigrdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(sigrdataset)) { - dns_rdata_reset(&rdata); dns_rdataset_current(sigrdataset, &rdata); result = dns_rdata_tostruct(&rdata, &rrsig, NULL); @@ -2388,8 +2343,8 @@ validate(ns_client_t *client, dns_db_t *db, dns_name_t *name, if (verify(key, name, rdataset, &rdata, client)) { dst_key_free(&key); dns_rdataset_disassociate(&keyrdataset); - mark_secure(client, db, name, &rrsig, - rdataset, sigrdataset); + mark_secure(client, db, name, &rrsig, rdataset, + sigrdataset); return (true); } dst_key_free(&key); @@ -2401,10 +2356,11 @@ validate(ns_client_t *client, dns_db_t *db, dns_name_t *name, } static void -fixrdataset(ns_client_t *client, dns_rdataset_t **rdataset) { +fixrdataset(ns_client_t *client, dns_rdataset_t **rdataset) +{ if (*rdataset == NULL) *rdataset = ns_client_newrdataset(client); - else if (dns_rdataset_isassociated(*rdataset)) + else if (dns_rdataset_isassociated(*rdataset)) dns_rdataset_disassociate(*rdataset); } @@ -2426,7 +2382,7 @@ free_devent(ns_client_t *client, isc_event_t **eventp, { dns_fetchevent_t *devent = *deventp; - REQUIRE((void*)(*eventp) == (void *)(*deventp)); + REQUIRE((void *)(*eventp) == (void *)(*deventp)); CTRACE(ISC_LOG_DEBUG(3), "free_devent"); @@ -2457,9 +2413,10 @@ free_devent(ns_client_t *client, isc_event_t **eventp, } static void -prefetch_done(isc_task_t *task, isc_event_t *event) { +prefetch_done(isc_task_t *task, isc_event_t *event) +{ dns_fetchevent_t *devent = (dns_fetchevent_t *)event; - ns_client_t *client; + ns_client_t * client; UNUSED(task); @@ -2482,21 +2439,19 @@ prefetch_done(isc_task_t *task, isc_event_t *event) { } static void -query_prefetch(ns_client_t *client, dns_name_t *qname, - dns_rdataset_t *rdataset) +query_prefetch(ns_client_t *client, dns_name_t *qname, dns_rdataset_t *rdataset) { - isc_result_t result; + isc_result_t result; isc_sockaddr_t *peeraddr; dns_rdataset_t *tmprdataset; - unsigned int options; + unsigned int options; CTRACE(ISC_LOG_DEBUG(3), "query_prefetch"); if (client->query.prefetch != NULL || client->view->prefetch_trigger == 0U || rdataset->ttl > client->view->prefetch_trigger || - (rdataset->attributes & DNS_RDATASETATTR_PREFETCH) == 0) - { + (rdataset->attributes & DNS_RDATASETATTR_PREFETCH) == 0) { return; } @@ -2521,21 +2476,18 @@ query_prefetch(ns_client_t *client, dns_name_t *qname, isc_nmhandle_ref(client->handle); options = client->query.fetchoptions | DNS_FETCHOPT_PREFETCH; - result = dns_resolver_createfetch(client->view->resolver, - qname, rdataset->type, NULL, NULL, - NULL, peeraddr, client->message->id, - options, 0, NULL, client->task, - prefetch_done, client, - tmprdataset, NULL, - &client->query.prefetch); + result = dns_resolver_createfetch( + client->view->resolver, qname, rdataset->type, NULL, NULL, NULL, + peeraddr, client->message->id, options, 0, NULL, client->task, + prefetch_done, client, tmprdataset, NULL, + &client->query.prefetch); if (result != ISC_R_SUCCESS) { ns_client_putrdataset(client, &tmprdataset); isc_nmhandle_unref(client->handle); } dns_rdataset_clearprefetch(rdataset); - ns_stats_increment(client->sctx->nsstats, - ns_statscounter_prefetch); + ns_stats_increment(client->sctx->nsstats, ns_statscounter_prefetch); } static inline void @@ -2556,13 +2508,15 @@ rpz_clean(dns_zone_t **zonep, dns_db_t **dbp, dns_dbnode_t **nodep, } static inline void -rpz_match_clear(dns_rpz_st_t *st) { +rpz_match_clear(dns_rpz_st_t *st) +{ rpz_clean(&st->m.zone, &st->m.db, &st->m.node, &st->m.rdataset); st->m.version = NULL; } static inline isc_result_t -rpz_ready(ns_client_t *client, dns_rdataset_t **rdatasetp) { +rpz_ready(ns_client_t *client, dns_rdataset_t **rdatasetp) +{ REQUIRE(rdatasetp != NULL); CTRACE(ISC_LOG_DEBUG(3), "rpz_ready"); @@ -2570,8 +2524,8 @@ rpz_ready(ns_client_t *client, dns_rdataset_t **rdatasetp) { if (*rdatasetp == NULL) { *rdatasetp = ns_client_newrdataset(client); if (*rdatasetp == NULL) { - CTRACE(ISC_LOG_ERROR, - "rpz_ready: ns_client_newrdataset failed"); + CTRACE(ISC_LOG_ERROR, "rpz_ready: " + "ns_client_newrdataset failed"); return (DNS_R_SERVFAIL); } } else if (dns_rdataset_isassociated(*rdatasetp)) { @@ -2581,7 +2535,8 @@ rpz_ready(ns_client_t *client, dns_rdataset_t **rdatasetp) { } static void -rpz_st_clear(ns_client_t *client) { +rpz_st_clear(ns_client_t *client) +{ dns_rpz_st_t *st = client->query.rpz_st; CTRACE(ISC_LOG_DEBUG(3), "rpz_st_clear"); @@ -2612,14 +2567,13 @@ rpz_st_clear(ns_client_t *client) { if (st->rpsdb != NULL) { dns_db_detach(&st->rpsdb); } - } static dns_rpz_zbits_t -rpz_get_zbits(ns_client_t *client, - dns_rdatatype_t ip_type, dns_rpz_type_t rpz_type) +rpz_get_zbits(ns_client_t *client, dns_rdatatype_t ip_type, + dns_rpz_type_t rpz_type) { - dns_rpz_st_t *st; + dns_rpz_st_t * st; dns_rpz_zbits_t zbits = 0; REQUIRE(client != NULL); @@ -2632,8 +2586,7 @@ rpz_get_zbits(ns_client_t *client, if (st->rpsdb == NULL || librpz->have_trig(dns_dnsrps_type2trig(rpz_type), ip_type == dns_rdatatype_aaaa, - ((rpsdb_t *)st->rpsdb)->rsp)) - { + ((rpsdb_t *)st->rpsdb)->rsp)) { return (DNS_RPZ_ALL_ZBITS); } return (0); @@ -2684,7 +2637,7 @@ rpz_get_zbits(ns_client_t *client, if (st->m.policy != DNS_RPZ_POLICY_MISS) { if (st->m.type >= rpz_type) { zbits &= DNS_RPZ_ZMASK(st->m.rpz->num); - } else{ + } else { zbits &= DNS_RPZ_ZMASK(st->m.rpz->num) >> 1; } } @@ -2699,11 +2652,12 @@ rpz_get_zbits(ns_client_t *client, } static void -query_rpzfetch(ns_client_t *client, dns_name_t *qname, dns_rdatatype_t type) { - isc_result_t result; +query_rpzfetch(ns_client_t *client, dns_name_t *qname, dns_rdatatype_t type) +{ + isc_result_t result; isc_sockaddr_t *peeraddr; dns_rdataset_t *tmprdataset; - unsigned int options; + unsigned int options; CTRACE(ISC_LOG_DEBUG(3), "query_rpzfetch"); @@ -2731,12 +2685,11 @@ query_rpzfetch(ns_client_t *client, dns_name_t *qname, dns_rdatatype_t type) { options = client->query.fetchoptions; isc_nmhandle_ref(client->handle); - result = dns_resolver_createfetch(client->view->resolver, qname, type, - NULL, NULL, NULL, peeraddr, - client->message->id, options, 0, - NULL, client->task, prefetch_done, - client, tmprdataset, NULL, - &client->query.prefetch); + result = dns_resolver_createfetch( + client->view->resolver, qname, type, NULL, NULL, NULL, peeraddr, + client->message->id, options, 0, NULL, client->task, + prefetch_done, client, tmprdataset, NULL, + &client->query.prefetch); if (result != ISC_R_SUCCESS) { ns_client_putrdataset(client, &tmprdataset); isc_nmhandle_unref(client->handle); @@ -2753,14 +2706,14 @@ rpz_rrset_find(ns_client_t *client, dns_name_t *name, dns_rdatatype_t type, dns_dbversion_t *version, dns_rdataset_t **rdatasetp, bool resuming) { - dns_rpz_st_t *st; - bool is_zone; - dns_dbnode_t *node; - dns_fixedname_t fixed; - dns_name_t *found; - isc_result_t result; + dns_rpz_st_t * st; + bool is_zone; + dns_dbnode_t * node; + dns_fixedname_t fixed; + dns_name_t * found; + isc_result_t result; dns_clientinfomethods_t cm; - dns_clientinfo_t ci; + dns_clientinfo_t ci; CTRACE(ISC_LOG_DEBUG(3), "rpz_rrset_find"); @@ -2818,8 +2771,8 @@ rpz_rrset_find(ns_client_t *client, dns_name_t *name, dns_rdatatype_t type, dns_clientinfomethods_init(&cm, ns_client_sourceip); dns_clientinfo_init(&ci, client, NULL); result = dns_db_findext(*dbp, name, version, type, DNS_DBFIND_GLUEOK, - client->now, &node, found, - &cm, &ci, *rdatasetp, NULL); + client->now, &node, found, &cm, &ci, *rdatasetp, + NULL); if (result == DNS_R_DELEGATION && is_zone && USECACHE(client)) { /* * Try the cache if we're authoritative for an @@ -2828,9 +2781,9 @@ rpz_rrset_find(ns_client_t *client, dns_name_t *name, dns_rdatatype_t type, rpz_clean(NULL, dbp, &node, rdatasetp); version = NULL; dns_db_attach(client->view->cachedb, dbp); - result = dns_db_findext(*dbp, name, version, type, - 0, client->now, &node, found, - &cm, &ci, *rdatasetp, NULL); + result = dns_db_findext(*dbp, name, version, type, 0, + client->now, &node, found, &cm, &ci, + *rdatasetp, NULL); } rpz_clean(NULL, dbp, &node, NULL); if (result == DNS_R_DELEGATION) { @@ -2862,14 +2815,13 @@ rpz_rrset_find(ns_client_t *client, dns_name_t *name, dns_rdatatype_t type, * policy type and the trigger name. */ static isc_result_t -rpz_get_p_name(ns_client_t *client, dns_name_t *p_name, - dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type, - dns_name_t *trig_name) +rpz_get_p_name(ns_client_t *client, dns_name_t *p_name, dns_rpz_zone_t *rpz, + dns_rpz_type_t rpz_type, dns_name_t *trig_name) { dns_offsets_t prefix_offsets; - dns_name_t prefix, *suffix; - unsigned int first, labels; - isc_result_t result; + dns_name_t prefix, *suffix; + unsigned int first, labels; + isc_result_t result; CTRACE(ISC_LOG_DEBUG(3), "rpz_get_p_name"); @@ -2908,7 +2860,7 @@ rpz_get_p_name(ns_client_t *client, dns_name_t *p_name, labels = dns_name_countlabels(trig_name); first = 0; for (;;) { - dns_name_getlabelsequence(trig_name, first, labels-first-1, + dns_name_getlabelsequence(trig_name, first, labels - first - 1, &prefix); result = dns_name_concatenate(&prefix, suffix, p_name, NULL); if (result == ISC_R_SUCCESS) @@ -2917,7 +2869,7 @@ rpz_get_p_name(ns_client_t *client, dns_name_t *p_name, /* * Trim the trigger name until the combination is not too long. */ - if (labels-first < 2) { + if (labels - first < 2) { rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, suffix, rpz_type, "concatentate()", result); return (ISC_R_FAILURE); @@ -2952,12 +2904,12 @@ rpz_find_p(ns_client_t *client, dns_name_t *self_name, dns_rdatatype_t qtype, dns_dbnode_t **nodep, dns_rdataset_t **rdatasetp, dns_rpz_policy_t *policyp) { - dns_fixedname_t foundf; - dns_name_t *found; - isc_result_t result; + dns_fixedname_t foundf; + dns_name_t * found; + isc_result_t result; dns_clientinfomethods_t cm; - dns_clientinfo_t ci; - bool found_a = false; + dns_clientinfo_t ci; + bool found_a = false; REQUIRE(nodep != NULL); @@ -2983,8 +2935,8 @@ rpz_find_p(ns_client_t *client, dns_name_t *self_name, dns_rdatatype_t qtype, found = dns_fixedname_initname(&foundf); result = dns_db_findext(*dbp, p_name, *versionp, dns_rdatatype_any, 0, - client->now, nodep, found, &cm, &ci, - *rdatasetp, NULL); + client->now, nodep, found, &cm, &ci, *rdatasetp, + NULL); /* * Choose the best rdataset if we found something. */ @@ -2997,8 +2949,8 @@ rpz_find_p(ns_client_t *client, dns_name_t *self_name, dns_rdatatype_t qtype, if (result != ISC_R_SUCCESS) { rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, p_name, rpz_type, "allrdatasets()", result); - CTRACE(ISC_LOG_ERROR, - "rpz_find_p: allrdatasets failed"); + CTRACE(ISC_LOG_ERROR, "rpz_find_p: allrdatasets " + "failed"); return (DNS_R_SERVFAIL); } if (qtype == dns_rdatatype_aaaa && @@ -3026,10 +2978,10 @@ rpz_find_p(ns_client_t *client, dns_name_t *self_name, dns_rdatatype_t qtype, if (result != ISC_R_SUCCESS) { if (result != ISC_R_NOMORE) { rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, - p_name, rpz_type, - "rdatasetiter", result); - CTRACE(ISC_LOG_ERROR, - "rpz_find_p: rdatasetiter failed"); + p_name, rpz_type, "rdatasetiter", + result); + CTRACE(ISC_LOG_ERROR, "rpz_find_p: " + "rdatasetiter failed"); return (DNS_R_SERVFAIL); } /* @@ -3086,10 +3038,9 @@ rpz_find_p(ns_client_t *client, dns_name_t *self_name, dns_rdatatype_t qtype, case DNS_R_EMPTYNAME: return (DNS_R_NXDOMAIN); default: - rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, p_name, rpz_type, - "", result); - CTRACE(ISC_LOG_ERROR, - "rpz_find_p: unexpected result"); + rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, p_name, rpz_type, "", + result); + CTRACE(ISC_LOG_ERROR, "rpz_find_p: unexpected result"); return (DNS_R_SERVFAIL); } } @@ -3138,7 +3089,7 @@ static int dnsrps_ck(librpz_emsg_t *emsg, ns_client_t *client, rpsdb_t *rpsdb, bool recursed) { - isc_region_t region; + isc_region_t region; librpz_domain_buf_t pname_buf; if (!librpz->rsp_result(emsg, &rpsdb->result, recursed, rpsdb->rsp)) { @@ -3151,8 +3102,7 @@ dnsrps_ck(librpz_emsg_t *emsg, ns_client_t *client, rpsdb_t *rpsdb, */ if (rpsdb->result.policy == LIBRPZ_POLICY_UNDEFINED || rpsdb->result.hit_id != rpsdb->hit_id || - rpsdb->result.policy != LIBRPZ_POLICY_DISABLED) - { + rpsdb->result.policy != LIBRPZ_POLICY_DISABLED) { if (!librpz->rsp_pop_discard(emsg, rpsdb->rsp)) { return (-1); } @@ -3169,15 +3119,13 @@ dnsrps_ck(librpz_emsg_t *emsg, ns_client_t *client, rpsdb_t *rpsdb, region.base = pname_buf.d; region.length = pname_buf.size; dns_name_fromregion(client->query.rpz_st->p_name, ®ion); - rpz_log_rewrite(client, true, - dns_dnsrps_2policy(rpsdb->result.zpolicy), + rpz_log_rewrite(client, true, dns_dnsrps_2policy(rpsdb->result.zpolicy), dns_dnsrps_trig2type(rpsdb->result.trig), NULL, client->query.rpz_st->p_name, NULL, rpsdb->result.cznum); if (!librpz->rsp_forget_zone(emsg, rpsdb->result.cznum, rpsdb->rsp) || - !librpz->rsp_pop(emsg, &rpsdb->result, rpsdb->rsp)) - { + !librpz->rsp_pop(emsg, &rpsdb->result, rpsdb->rsp)) { return (-1); } return (1); @@ -3188,20 +3136,19 @@ dnsrps_ck(librpz_emsg_t *emsg, ns_client_t *client, rpsdb_t *rpsdb, */ static bool dnsrps_set_p(librpz_emsg_t *emsg, ns_client_t *client, dns_rpz_st_t *st, - dns_rdatatype_t qtype, dns_rdataset_t **p_rdatasetp, - bool recursed) + dns_rdatatype_t qtype, dns_rdataset_t **p_rdatasetp, bool recursed) { - rpsdb_t *rpsdb; + rpsdb_t * rpsdb; librpz_domain_buf_t pname_buf; - isc_region_t region; - dns_zone_t *p_zone; - dns_db_t *p_db; - dns_dbnode_t *p_node; - dns_rpz_policy_t policy; - dns_fixedname_t foundf; - dns_name_t *found; - dns_rdatatype_t foundtype, searchtype; - isc_result_t result; + isc_region_t region; + dns_zone_t * p_zone; + dns_db_t * p_db; + dns_dbnode_t * p_node; + dns_rpz_policy_t policy; + dns_fixedname_t foundf; + dns_name_t * found; + dns_rdatatype_t foundtype, searchtype; + isc_result_t result; rpsdb = (rpsdb_t *)st->rpsdb; @@ -3217,8 +3164,7 @@ dnsrps_set_p(librpz_emsg_t *emsg, ns_client_t *client, dns_rpz_st_t *st, * Give the fake or shim DNSRPS database its new origin. */ if (!librpz->rsp_soa(emsg, NULL, NULL, &rpsdb->origin_buf, - &rpsdb->result, rpsdb->rsp)) - { + &rpsdb->result, rpsdb->rsp)) { return (false); } region.base = rpsdb->origin_buf.d; @@ -3255,8 +3201,7 @@ dnsrps_set_p(librpz_emsg_t *emsg, ns_client_t *client, dns_rpz_st_t *st, */ if (!librpz->rsp_rr(emsg, &foundtype, NULL, NULL, NULL, &rpsdb->result, rpsdb->qname->ndata, - rpsdb->qname->length, rpsdb->rsp)) - { + rpsdb->qname->length, rpsdb->rsp)) { return (false); } if (foundtype == dns_rdatatype_cname) { @@ -3268,13 +3213,12 @@ dnsrps_set_p(librpz_emsg_t *emsg, ns_client_t *client, dns_rpz_st_t *st, * Get the DNSPRS imitation rdataset. */ found = dns_fixedname_initname(&foundf); - result = dns_db_find(p_db, st->p_name, NULL, searchtype, - 0, 0, &p_node, found, *p_rdatasetp, NULL); + result = dns_db_find(p_db, st->p_name, NULL, searchtype, 0, 0, + &p_node, found, *p_rdatasetp, NULL); if (result == ISC_R_SUCCESS) { if (searchtype == dns_rdatatype_cname && - qtype != dns_rdatatype_cname) - { + qtype != dns_rdatatype_cname) { result = DNS_R_CNAME; } } else if (result == DNS_R_NXRRSET) { @@ -3287,9 +3231,8 @@ dnsrps_set_p(librpz_emsg_t *emsg, ns_client_t *client, dns_rpz_st_t *st, } rpz_save_p(st, client->view->rpzs->zones[rpsdb->result.cznum], - dns_dnsrps_trig2type(rpsdb->result.trig), policy, - st->p_name, 0, result, &p_zone, &p_db, &p_node, - p_rdatasetp, NULL); + dns_dnsrps_trig2type(rpsdb->result.trig), policy, st->p_name, + 0, result, &p_zone, &p_db, &p_node, p_rdatasetp, NULL); rpz_clean(NULL, NULL, NULL, p_rdatasetp); @@ -3301,12 +3244,12 @@ dnsrps_rewrite_ip(ns_client_t *client, const isc_netaddr_t *netaddr, dns_rpz_type_t rpz_type, dns_rdataset_t **p_rdatasetp) { dns_rpz_st_t *st; - rpsdb_t *rpsdb; + rpsdb_t * rpsdb; librpz_trig_t trig = LIBRPZ_TRIG_CLIENT_IP; - bool recursed = false; - int res; + bool recursed = false; + int res; librpz_emsg_t emsg; - isc_result_t result; + isc_result_t result; st = client->query.rpz_st; rpsdb = (rpsdb_t *)st->rpsdb; @@ -3339,12 +3282,11 @@ dnsrps_rewrite_ip(ns_client_t *client, const isc_netaddr_t *netaddr, if (!librpz->rsp_push(&emsg, rpsdb->rsp) || !librpz->ck_ip(&emsg, netaddr->family == AF_INET - ? (const void *)&netaddr->type.in - : (const void *)&netaddr->type.in6, + ? (const void *)&netaddr->type.in + : (const void *)&netaddr->type.in6, netaddr->family, trig, ++rpsdb->hit_id, recursed, rpsdb->rsp) || - (res = dnsrps_ck(&emsg, client, rpsdb, recursed)) < 0) - { + (res = dnsrps_ck(&emsg, client, rpsdb, recursed)) < 0) { rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, NULL, rpz_type, emsg.c, DNS_R_SERVFAIL); st->m.policy = DNS_RPZ_POLICY_ERROR; @@ -3355,17 +3297,16 @@ dnsrps_rewrite_ip(ns_client_t *client, const isc_netaddr_t *netaddr, } static isc_result_t -dnsrps_rewrite_name(ns_client_t *client, dns_name_t *trig_name, - bool recursed, dns_rpz_type_t rpz_type, - dns_rdataset_t **p_rdatasetp) +dnsrps_rewrite_name(ns_client_t *client, dns_name_t *trig_name, bool recursed, + dns_rpz_type_t rpz_type, dns_rdataset_t **p_rdatasetp) { dns_rpz_st_t *st; - rpsdb_t *rpsdb; + rpsdb_t * rpsdb; librpz_trig_t trig = LIBRPZ_TRIG_CLIENT_IP; - isc_region_t r; - int res; + isc_region_t r; + int res; librpz_emsg_t emsg; - isc_result_t result; + isc_result_t result; st = client->query.rpz_st; rpsdb = (rpsdb_t *)st->rpsdb; @@ -3391,11 +3332,9 @@ dnsrps_rewrite_name(ns_client_t *client, dns_name_t *trig_name, dns_name_toregion(trig_name, &r); do { if (!librpz->rsp_push(&emsg, rpsdb->rsp) || - !librpz->ck_domain(&emsg, r.base, r.length, - trig, ++rpsdb->hit_id, - recursed, rpsdb->rsp) || - (res = dnsrps_ck(&emsg, client, rpsdb, recursed)) < 0) - { + !librpz->ck_domain(&emsg, r.base, r.length, trig, + ++rpsdb->hit_id, recursed, rpsdb->rsp) || + (res = dnsrps_ck(&emsg, client, rpsdb, recursed)) < 0) { rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, NULL, rpz_type, emsg.c, DNS_R_SERVFAIL); st->m.policy = DNS_RPZ_POLICY_ERROR; @@ -3415,18 +3354,18 @@ rpz_rewrite_ip(ns_client_t *client, const isc_netaddr_t *netaddr, dns_rpz_zbits_t zbits, dns_rdataset_t **p_rdatasetp) { dns_rpz_zones_t *rpzs; - dns_rpz_st_t *st; - dns_rpz_zone_t *rpz; + dns_rpz_st_t * st; + dns_rpz_zone_t * rpz; dns_rpz_prefix_t prefix; - dns_rpz_num_t rpz_num; - dns_fixedname_t ip_namef, p_namef; - dns_name_t *ip_name, *p_name; - dns_zone_t *p_zone; - dns_db_t *p_db; + dns_rpz_num_t rpz_num; + dns_fixedname_t ip_namef, p_namef; + dns_name_t * ip_name, *p_name; + dns_zone_t * p_zone; + dns_db_t * p_db; dns_dbversion_t *p_version; - dns_dbnode_t *p_node; + dns_dbnode_t * p_node; dns_rpz_policy_t policy; - isc_result_t result; + isc_result_t result; CTRACE(ISC_LOG_DEBUG(3), "rpz_rewrite_ip"); @@ -3435,7 +3374,7 @@ rpz_rewrite_ip(ns_client_t *client, const isc_netaddr_t *netaddr, #ifdef USE_DNSRPS if (st->popt.dnsrps_enabled) { return (dnsrps_rewrite_ip(client, netaddr, rpz_type, - p_rdatasetp)); + p_rdatasetp)); } #endif @@ -3463,8 +3402,7 @@ rpz_rewrite_ip(ns_client_t *client, const isc_netaddr_t *netaddr, if (st->m.rpz->num < rpz->num) break; if (st->m.rpz->num == rpz->num && - (st->m.type < rpz_type || - st->m.prefix > prefix)) + (st->m.type < rpz_type || st->m.prefix > prefix)) break; } @@ -3476,10 +3414,9 @@ rpz_rewrite_ip(ns_client_t *client, const isc_netaddr_t *netaddr, result = rpz_get_p_name(client, p_name, rpz, rpz_type, ip_name); if (result != ISC_R_SUCCESS) continue; - result = rpz_find_p(client, ip_name, qtype, - p_name, rpz, rpz_type, - &p_zone, &p_db, &p_version, &p_node, - p_rdatasetp, &policy); + result = rpz_find_p(client, ip_name, qtype, p_name, rpz, + rpz_type, &p_zone, &p_db, &p_version, + &p_node, p_rdatasetp, &policy); switch (result) { case DNS_R_NXDOMAIN: /* @@ -3488,9 +3425,9 @@ rpz_rewrite_ip(ns_client_t *client, const isc_netaddr_t *netaddr, * data can out of date during races with and among * policy zone updates. */ - CTRACE(ISC_LOG_ERROR, - "rpz_rewrite_ip: mismatched summary data; " - "continuing"); + CTRACE(ISC_LOG_ERROR, "rpz_rewrite_ip: mismatched " + "summary data; " + "continuing"); continue; case DNS_R_SERVFAIL: rpz_clean(&p_zone, &p_db, &p_node, p_rdatasetp); @@ -3517,9 +3454,8 @@ rpz_rewrite_ip(ns_client_t *client, const isc_netaddr_t *netaddr, */ if (st->m.policy != DNS_RPZ_POLICY_MISS && rpz->num == st->m.rpz->num && - (st->m.type == rpz_type && - st->m.prefix == prefix && - 0 > dns_name_rdatacompare(st->p_name, p_name))) + (st->m.type == rpz_type && st->m.prefix == prefix && + 0 > dns_name_rdatacompare(st->p_name, p_name))) break; /* @@ -3528,12 +3464,11 @@ rpz_rewrite_ip(ns_client_t *client, const isc_netaddr_t *netaddr, * ensures that we found the longest match. */ if (rpz->policy != DNS_RPZ_POLICY_DISABLED) { - CTRACE(ISC_LOG_DEBUG(3), - "rpz_rewrite_ip: rpz_save_p"); - rpz_save_p(st, rpz, rpz_type, - policy, p_name, prefix, result, - &p_zone, &p_db, &p_node, - p_rdatasetp, p_version); + CTRACE(ISC_LOG_DEBUG(3), "rpz_rewrite_ip: " + "rpz_save_p"); + rpz_save_p(st, rpz, rpz_type, policy, p_name, + prefix, result, &p_zone, &p_db, + &p_node, p_rdatasetp, p_version); break; } @@ -3541,8 +3476,8 @@ rpz_rewrite_ip(ns_client_t *client, const isc_netaddr_t *netaddr, * Log DNS_RPZ_POLICY_DISABLED zones * and try the next eligible policy zone. */ - rpz_log_rewrite(client, true, policy, rpz_type, - p_zone, p_name, NULL, rpz_num); + rpz_log_rewrite(client, true, policy, rpz_type, p_zone, + p_name, NULL, rpz_num); } } @@ -3555,18 +3490,17 @@ rpz_rewrite_ip(ns_client_t *client, const isc_netaddr_t *netaddr, * all eligible rpz_type (IP or NSIP) response policy rewrite rules. */ static isc_result_t -rpz_rewrite_ip_rrset(ns_client_t *client, - dns_name_t *name, dns_rdatatype_t qtype, - dns_rpz_type_t rpz_type, dns_rdatatype_t ip_type, - dns_db_t **ip_dbp, dns_dbversion_t *ip_version, - dns_rdataset_t **ip_rdatasetp, +rpz_rewrite_ip_rrset(ns_client_t *client, dns_name_t *name, + dns_rdatatype_t qtype, dns_rpz_type_t rpz_type, + dns_rdatatype_t ip_type, dns_db_t **ip_dbp, + dns_dbversion_t *ip_version, dns_rdataset_t **ip_rdatasetp, dns_rdataset_t **p_rdatasetp, bool resuming) { dns_rpz_zbits_t zbits; - isc_netaddr_t netaddr; - struct in_addr ina; + isc_netaddr_t netaddr; + struct in_addr ina; struct in6_addr in6a; - isc_result_t result; + isc_result_t result; CTRACE(ISC_LOG_DEBUG(3), "rpz_rewrite_ip_rrset"); @@ -3608,8 +3542,8 @@ rpz_rewrite_ip_rrset(ns_client_t *client, rpz_type, "NS address rewrite rrset", result); } - CTRACE(ISC_LOG_ERROR, - "rpz_rewrite_ip_rrset: unexpected result"); + CTRACE(ISC_LOG_ERROR, "rpz_rewrite_ip_rrset: unexpected " + "result"); return (DNS_R_SERVFAIL); } @@ -3619,7 +3553,6 @@ rpz_rewrite_ip_rrset(ns_client_t *client, for (result = dns_rdataset_first(*ip_rdatasetp); result == ISC_R_SUCCESS; result = dns_rdataset_next(*ip_rdatasetp)) { - dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(*ip_rdatasetp, &rdata); switch (rdata.type) { @@ -3655,11 +3588,11 @@ rpz_rewrite_ip_rrsets(ns_client_t *client, dns_name_t *name, dns_rdatatype_t qtype, dns_rpz_type_t rpz_type, dns_rdataset_t **ip_rdatasetp, bool resuming) { - dns_rpz_st_t *st; + dns_rpz_st_t * st; dns_dbversion_t *ip_version; - dns_db_t *ip_db; - dns_rdataset_t *p_rdataset; - isc_result_t result; + dns_db_t * ip_db; + dns_rdataset_t * p_rdataset; + isc_result_t result; CTRACE(ISC_LOG_DEBUG(3), "rpz_rewrite_ip_rrsets"); @@ -3668,33 +3601,30 @@ rpz_rewrite_ip_rrsets(ns_client_t *client, dns_name_t *name, ip_db = NULL; p_rdataset = NULL; if ((st->state & DNS_RPZ_DONE_IPv4) == 0 && - (qtype == dns_rdatatype_a || - qtype == dns_rdatatype_any || + (qtype == dns_rdatatype_a || qtype == dns_rdatatype_any || rpz_type == DNS_RPZ_TYPE_NSIP)) { /* * Rewrite based on an IPv4 address that will appear * in the ANSWER section or if we are checking IP addresses. */ - result = rpz_rewrite_ip_rrset(client, name, qtype, - rpz_type, dns_rdatatype_a, - &ip_db, ip_version, ip_rdatasetp, - &p_rdataset, resuming); + result = rpz_rewrite_ip_rrset( + client, name, qtype, rpz_type, dns_rdatatype_a, &ip_db, + ip_version, ip_rdatasetp, &p_rdataset, resuming); if (result == ISC_R_SUCCESS) st->state |= DNS_RPZ_DONE_IPv4; } else { result = ISC_R_SUCCESS; } if (result == ISC_R_SUCCESS && - (qtype == dns_rdatatype_aaaa || - qtype == dns_rdatatype_any || + (qtype == dns_rdatatype_aaaa || qtype == dns_rdatatype_any || rpz_type == DNS_RPZ_TYPE_NSIP)) { /* * Rewrite based on IPv6 addresses that will appear * in the ANSWER section or if we are checking IP addresses. */ - result = rpz_rewrite_ip_rrset(client, name, qtype, - rpz_type, dns_rdatatype_aaaa, - &ip_db, ip_version, ip_rdatasetp, + result = rpz_rewrite_ip_rrset(client, name, qtype, rpz_type, + dns_rdatatype_aaaa, &ip_db, + ip_version, ip_rdatasetp, &p_rdataset, resuming); } if (ip_db != NULL) @@ -3717,18 +3647,18 @@ rpz_rewrite_name(ns_client_t *client, dns_name_t *trig_name, dns_rdataset_t **rdatasetp) { dns_rpz_zones_t *rpzs; - dns_rpz_zone_t *rpz; - dns_rpz_st_t *st; - dns_fixedname_t p_namef; - dns_name_t *p_name; - dns_rpz_zbits_t zbits; - dns_rpz_num_t rpz_num; - dns_zone_t *p_zone; - dns_db_t *p_db; + dns_rpz_zone_t * rpz; + dns_rpz_st_t * st; + dns_fixedname_t p_namef; + dns_name_t * p_name; + dns_rpz_zbits_t zbits; + dns_rpz_num_t rpz_num; + dns_zone_t * p_zone; + dns_db_t * p_db; dns_dbversion_t *p_version; - dns_dbnode_t *p_node; + dns_dbnode_t * p_node; dns_rpz_policy_t policy; - isc_result_t result; + isc_result_t result; #ifndef USE_DNSRPS UNUSED(recursed); @@ -3742,7 +3672,7 @@ rpz_rewrite_name(ns_client_t *client, dns_name_t *trig_name, #ifdef USE_DNSRPS if (st->popt.dnsrps_enabled) { return (dnsrps_rewrite_name(client, trig_name, recursed, - rpz_type, rdatasetp)); + rpz_type, rdatasetp)); } #endif @@ -3787,8 +3717,7 @@ rpz_rewrite_name(ns_client_t *client, dns_name_t *trig_name, if (st->m.policy != DNS_RPZ_POLICY_MISS) { if (st->m.rpz->num < rpz->num) break; - if (st->m.rpz->num == rpz->num && - st->m.type < rpz_type) + if (st->m.rpz->num == rpz->num && st->m.type < rpz_type) break; } @@ -3799,10 +3728,9 @@ rpz_rewrite_name(ns_client_t *client, dns_name_t *trig_name, trig_name); if (result != ISC_R_SUCCESS) continue; - result = rpz_find_p(client, trig_name, qtype, p_name, - rpz, rpz_type, - &p_zone, &p_db, &p_version, &p_node, - rdatasetp, &policy); + result = rpz_find_p(client, trig_name, qtype, p_name, rpz, + rpz_type, &p_zone, &p_db, &p_version, + &p_node, rdatasetp, &policy); switch (result) { case DNS_R_NXDOMAIN: /* @@ -3811,9 +3739,9 @@ rpz_rewrite_name(ns_client_t *client, dns_name_t *trig_name, * data can out of date during races with and among * policy zone updates. */ - CTRACE(ISC_LOG_ERROR, - "rpz_rewrite_name: mismatched summary data; " - "continuing"); + CTRACE(ISC_LOG_ERROR, "rpz_rewrite_name: mismatched " + "summary data; " + "continuing"); continue; case DNS_R_SERVFAIL: rpz_clean(&p_zone, &p_db, &p_node, rdatasetp); @@ -3836,11 +3764,10 @@ rpz_rewrite_name(ns_client_t *client, dns_name_t *trig_name, continue; if (rpz->policy != DNS_RPZ_POLICY_DISABLED) { - CTRACE(ISC_LOG_DEBUG(3), - "rpz_rewrite_name: rpz_save_p"); - rpz_save_p(st, rpz, rpz_type, - policy, p_name, 0, result, - &p_zone, &p_db, &p_node, + CTRACE(ISC_LOG_DEBUG(3), "rpz_rewrite_name: " + "rpz_save_p"); + rpz_save_p(st, rpz, rpz_type, policy, p_name, 0, + result, &p_zone, &p_db, &p_node, rdatasetp, p_version); /* * After a hit, higher numbered policy zones @@ -3853,8 +3780,8 @@ rpz_rewrite_name(ns_client_t *client, dns_name_t *trig_name, * Log DNS_RPZ_POLICY_DISABLED zones * and try the next eligible policy zone. */ - rpz_log_rewrite(client, true, policy, rpz_type, - p_zone, p_name, NULL, rpz_num); + rpz_log_rewrite(client, true, policy, rpz_type, p_zone, + p_name, NULL, rpz_num); break; } } @@ -3874,9 +3801,8 @@ rpz_rewrite_ns_skip(ns_client_t *client, dns_name_t *nsname, st = client->query.rpz_st; if (str != NULL) - rpz_log_fail_helper(client, level, nsname, - DNS_RPZ_TYPE_NSIP, DNS_RPZ_TYPE_NSDNAME, - str, result); + rpz_log_fail_helper(client, level, nsname, DNS_RPZ_TYPE_NSIP, + DNS_RPZ_TYPE_NSDNAME, str, result); if (st->r.ns_rdataset != NULL && dns_rdataset_isassociated(st->r.ns_rdataset)) dns_rdataset_disassociate(st->r.ns_rdataset); @@ -3897,21 +3823,20 @@ typedef enum { * Look for response policy zone QNAME, NSIP, and NSDNAME rewriting. */ static isc_result_t -rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, - isc_result_t qresult, bool resuming, - dns_rdataset_t *ordataset, dns_rdataset_t *osigset) +rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, isc_result_t qresult, + bool resuming, dns_rdataset_t *ordataset, dns_rdataset_t *osigset) { dns_rpz_zones_t *rpzs; - dns_rpz_st_t *st; - dns_rdataset_t *rdataset; - dns_fixedname_t nsnamef; - dns_name_t *nsname; - qresult_type_t qresult_type; - dns_rpz_zbits_t zbits; - isc_result_t result = ISC_R_SUCCESS; - dns_rpz_have_t have; - dns_rpz_popt_t popt; - int rpz_ver; + dns_rpz_st_t * st; + dns_rdataset_t * rdataset; + dns_fixedname_t nsnamef; + dns_name_t * nsname; + qresult_type_t qresult_type; + dns_rpz_zbits_t zbits; + isc_result_t result = ISC_R_SUCCESS; + dns_rpz_have_t have; + dns_rpz_popt_t popt; + int rpz_ver; #ifdef USE_DNSRPS librpz_emsg_t emsg; #endif @@ -3928,8 +3853,7 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, RWLOCK(&rpzs->search_lock, isc_rwlocktype_read); if ((rpzs->p.num_zones == 0 && !rpzs->p.dnsrps_enabled) || (!RECURSIONOK(client) && rpzs->p.no_rd_ok == 0) || - !rpz_ck_dnssec(client, qresult, ordataset, osigset)) - { + !rpz_ck_dnssec(client, qresult, ordataset, osigset)) { RWUNLOCK(&rpzs->search_lock, isc_rwlocktype_read); return (DNS_R_DISALLOWED); } @@ -3967,14 +3891,13 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, if (st->rpsdb != NULL) { dns_db_detach(&st->rpsdb); } - result = dns_dnsrps_rewrite_init(&emsg, st, rpzs, - client->query.qname, - client->mctx, - RECURSIONOK(client)); + result = dns_dnsrps_rewrite_init( + &emsg, st, rpzs, client->query.qname, + client->mctx, RECURSIONOK(client)); if (result != ISC_R_SUCCESS) { - rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, - NULL, DNS_RPZ_TYPE_QNAME, - emsg.c, result); + rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, NULL, + DNS_RPZ_TYPE_QNAME, emsg.c, + result); st->m.policy = DNS_RPZ_POLICY_ERROR; return (ISC_R_SUCCESS); } @@ -4032,14 +3955,12 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, rdataset = NULL; if ((st->state & (DNS_RPZ_DONE_CLIENT_IP | DNS_RPZ_DONE_QNAME)) != - (DNS_RPZ_DONE_CLIENT_IP | DNS_RPZ_DONE_QNAME)) - { - isc_netaddr_t netaddr; + (DNS_RPZ_DONE_CLIENT_IP | DNS_RPZ_DONE_QNAME)) { + isc_netaddr_t netaddr; dns_rpz_zbits_t allowed; if (!st->popt.dnsrps_enabled && - qresult_type == qresult_type_recurse) - { + qresult_type == qresult_type_recurse) { /* * This request needs recursion that has not been done. * Get bits for the policy zones that do not need @@ -4080,8 +4001,7 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, bool norec = (qresult_type != qresult_type_recurse); result = rpz_rewrite_name(client, client->query.qname, qtype, DNS_RPZ_TYPE_QNAME, - allowed, norec, - &rdataset); + allowed, norec, &rdataset); if (result != ISC_R_SUCCESS) goto cleanup; @@ -4090,9 +4010,8 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, * Reset to the start of the NS names. */ st->r.label = dns_name_countlabels(client->query.qname); - st->state &= ~(DNS_RPZ_DONE_QNAME_IP | - DNS_RPZ_DONE_IPv4); - + st->state &= + ~(DNS_RPZ_DONE_QNAME_IP | DNS_RPZ_DONE_IPv4); } /* @@ -4127,9 +4046,8 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, if ((st->state & DNS_RPZ_DONE_QNAME_IP) == 0 && qresult_type == qresult_type_done && rpz_get_zbits(client, qtype, DNS_RPZ_TYPE_IP) != 0) { - result = rpz_rewrite_ip_rrsets(client, - client->query.qname, qtype, - DNS_RPZ_TYPE_IP, + result = rpz_rewrite_ip_rrsets(client, client->query.qname, + qtype, DNS_RPZ_TYPE_IP, &rdataset, resuming); if (result != ISC_R_SUCCESS) goto cleanup; @@ -4145,10 +4063,9 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, * Stop looking for rules if there are none of the other kinds * that could override what we already have. */ - if (rpz_get_zbits(client, dns_rdatatype_any, - DNS_RPZ_TYPE_NSDNAME) == 0 && - rpz_get_zbits(client, dns_rdatatype_any, - DNS_RPZ_TYPE_NSIP) == 0) { + if (rpz_get_zbits(client, dns_rdatatype_any, DNS_RPZ_TYPE_NSDNAME) == + 0 && + rpz_get_zbits(client, dns_rdatatype_any, DNS_RPZ_TYPE_NSIP) == 0) { result = ISC_R_SUCCESS; goto cleanup; } @@ -4163,18 +4080,16 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, nsname = client->query.qname; } else { nsname = dns_fixedname_name(&nsnamef); - dns_name_split(client->query.qname, st->r.label, - NULL, nsname); + dns_name_split(client->query.qname, st->r.label, NULL, + nsname); } if (st->r.ns_rdataset == NULL || - !dns_rdataset_isassociated(st->r.ns_rdataset)) - { + !dns_rdataset_isassociated(st->r.ns_rdataset)) { dns_db_t *db = NULL; result = rpz_rrset_find(client, nsname, dns_rdatatype_ns, - DNS_RPZ_TYPE_NSDNAME, - &db, NULL, &st->r.ns_rdataset, - resuming); + DNS_RPZ_TYPE_NSDNAME, &db, NULL, + &st->r.ns_rdataset, resuming); if (db != NULL) dns_db_detach(&db); if (st->m.policy == DNS_RPZ_POLICY_ERROR) @@ -4200,21 +4115,21 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, case ISC_R_NOTFOUND: case DNS_R_CNAME: case DNS_R_DNAME: - rpz_rewrite_ns_skip(client, nsname, result, - 0, NULL); + rpz_rewrite_ns_skip(client, nsname, result, 0, + NULL); continue; case ISC_R_TIMEDOUT: case DNS_R_BROKENCHAIN: case ISC_R_FAILURE: rpz_rewrite_ns_skip(client, nsname, result, - DNS_RPZ_DEBUG_LEVEL3, - " NS rpz_rrset_find()"); + DNS_RPZ_DEBUG_LEVEL3, + " NS rpz_rrset_find()"); continue; default: rpz_rewrite_ns_skip(client, nsname, result, - DNS_RPZ_INFO_LEVEL, - " unrecognized NS" - " rpz_rrset_find()"); + DNS_RPZ_INFO_LEVEL, + " unrecognized NS" + " rpz_rrset_find()"); continue; } } @@ -4223,7 +4138,7 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, */ do { dns_rdata_ns_t ns; - dns_rdata_t nsrdata = DNS_RDATA_INIT; + dns_rdata_t nsrdata = DNS_RDATA_INIT; dns_rdataset_current(st->r.ns_rdataset, &nsrdata); result = dns_rdata_tostruct(&nsrdata, &ns, NULL); @@ -4243,12 +4158,10 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, * during a previous recursion. */ if ((st->state & DNS_RPZ_DONE_NSDNAME) == 0) { - result = rpz_rewrite_name(client, &ns.name, - qtype, - DNS_RPZ_TYPE_NSDNAME, - DNS_RPZ_ALL_ZBITS, - true, - &rdataset); + result = rpz_rewrite_name( + client, &ns.name, qtype, + DNS_RPZ_TYPE_NSDNAME, DNS_RPZ_ALL_ZBITS, + true, &rdataset); if (result != ISC_R_SUCCESS) { dns_rdata_freestruct(&ns); goto cleanup; @@ -4264,8 +4177,8 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, dns_rdata_freestruct(&ns); if (result != ISC_R_SUCCESS) goto cleanup; - st->state &= ~(DNS_RPZ_DONE_NSDNAME | - DNS_RPZ_DONE_IPv4); + st->state &= + ~(DNS_RPZ_DONE_NSDNAME | DNS_RPZ_DONE_IPv4); result = dns_rdataset_next(st->r.ns_rdataset); } while (result == ISC_R_SUCCESS); dns_rdataset_disassociate(st->r.ns_rdataset); @@ -4285,11 +4198,9 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, cleanup: #ifdef USE_DNSRPS - if (st->popt.dnsrps_enabled && - st->m.policy != DNS_RPZ_POLICY_ERROR && + if (st->popt.dnsrps_enabled && st->m.policy != DNS_RPZ_POLICY_ERROR && !dnsrps_set_p(&emsg, client, st, qtype, &rdataset, - (qresult_type != qresult_type_recurse))) - { + (qresult_type != qresult_type_recurse))) { rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, NULL, DNS_RPZ_TYPE_BAD, emsg.c, DNS_R_SERVFAIL); st->m.policy = DNS_RPZ_POLICY_ERROR; @@ -4304,9 +4215,9 @@ cleanup: st->m.policy == DNS_RPZ_POLICY_ERROR) { if (st->m.policy == DNS_RPZ_POLICY_PASSTHRU && result != DNS_R_DELEGATION) - rpz_log_rewrite(client, false, st->m.policy, - st->m.type, st->m.zone, st->p_name, - NULL, st->m.rpz->num); + rpz_log_rewrite(client, false, st->m.policy, st->m.type, + st->m.zone, st->p_name, NULL, + st->m.rpz->num); rpz_match_clear(st); } if (st->m.policy == DNS_RPZ_POLICY_ERROR) { @@ -4330,10 +4241,10 @@ rpz_ck_dnssec(ns_client_t *client, isc_result_t qresult, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { dns_fixedname_t fixed; - dns_name_t *found; - dns_rdataset_t trdataset; + dns_name_t * found; + dns_rdataset_t trdataset; dns_rdatatype_t type; - isc_result_t result; + isc_result_t result; CTRACE(ISC_LOG_DEBUG(3), "rpz_ck_dnssec"); @@ -4372,14 +4283,12 @@ rpz_ck_dnssec(ns_client_t *client, isc_result_t qresult, return (true); found = dns_fixedname_initname(&fixed); dns_rdataset_init(&trdataset); - for (result = dns_rdataset_first(rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(rdataset)) { dns_ncache_current(rdataset, found, &trdataset); type = trdataset.type; dns_rdataset_disassociate(&trdataset); - if (type == dns_rdatatype_nsec || - type == dns_rdatatype_nsec3 || + if (type == dns_rdatatype_nsec || type == dns_rdatatype_nsec3 || type == dns_rdatatype_rrsig) return (false); } @@ -4395,8 +4304,9 @@ rpz_ck_dnssec(ns_client_t *client, isc_result_t qresult, * ISC_R_NOTIMPLEMENTED The rdata is not a known address type. */ static isc_result_t -rdata_tonetaddr(const dns_rdata_t *rdata, isc_netaddr_t *netaddr) { - struct in_addr ina; +rdata_tonetaddr(const dns_rdata_t *rdata, isc_netaddr_t *netaddr) +{ + struct in_addr ina; struct in6_addr in6a; switch (rdata->type) { @@ -4462,7 +4372,8 @@ static dns_name_t rfc1918names[] = { }; static unsigned char prisoner_data[] = "\010prisoner\004iana\003org"; -static unsigned char hostmaster_data[] = "\012hostmaster\014root-servers\003org"; +static unsigned char hostmaster_data[] = "\012hostmaster\014root-" + "servers\003org"; static unsigned char prisoner_offsets[] = { 0, 9, 14, 18 }; static unsigned char hostmaster_offsets[] = { 0, 11, 24, 28 }; @@ -4473,20 +4384,20 @@ static dns_name_t const hostmaster = DNS_NAME_INITABSOLUTE(hostmaster_data, hostmaster_offsets); static void -warn_rfc1918(ns_client_t *client, dns_name_t *fname, dns_rdataset_t *rdataset) { - unsigned int i; - dns_rdata_t rdata = DNS_RDATA_INIT; +warn_rfc1918(ns_client_t *client, dns_name_t *fname, dns_rdataset_t *rdataset) +{ + unsigned int i; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_soa_t soa; - dns_rdataset_t found; - isc_result_t result; + dns_rdataset_t found; + isc_result_t result; - for (i = 0; i < (sizeof(rfc1918names)/sizeof(*rfc1918names)); i++) { + for (i = 0; i < (sizeof(rfc1918names) / sizeof(*rfc1918names)); i++) { if (dns_name_issubdomain(fname, &rfc1918names[i])) { dns_rdataset_init(&found); - result = dns_ncache_getrdataset(rdataset, - &rfc1918names[i], - dns_rdatatype_soa, - &found); + result = dns_ncache_getrdataset( + rdataset, &rfc1918names[i], dns_rdatatype_soa, + &found); if (result != ISC_R_SUCCESS) return; @@ -4503,7 +4414,8 @@ warn_rfc1918(ns_client_t *client, dns_name_t *fname, dns_rdataset_t *rdataset) { NS_LOGMODULE_QUERY, ISC_LOG_WARNING, "RFC 1918 response from " - "Internet for %s", buf); + "Internet for %s", + buf); } dns_rdataset_disassociate(&found); return; @@ -4515,23 +4427,22 @@ static void query_findclosestnsec3(dns_name_t *qname, dns_db_t *db, dns_dbversion_t *version, ns_client_t *client, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset, - dns_name_t *fname, bool exact, - dns_name_t *found) + dns_name_t *fname, bool exact, dns_name_t *found) { - unsigned char salt[256]; - size_t salt_length; - uint16_t iterations; - isc_result_t result; - unsigned int dboptions; - dns_fixedname_t fixed; - dns_hash_t hash; - dns_name_t name; - unsigned int skip = 0, labels; - dns_rdata_nsec3_t nsec3; - dns_rdata_t rdata = DNS_RDATA_INIT; - bool optout; + unsigned char salt[256]; + size_t salt_length; + uint16_t iterations; + isc_result_t result; + unsigned int dboptions; + dns_fixedname_t fixed; + dns_hash_t hash; + dns_name_t name; + unsigned int skip = 0, labels; + dns_rdata_nsec3_t nsec3; + dns_rdata_t rdata = DNS_RDATA_INIT; + bool optout; dns_clientinfomethods_t cm; - dns_clientinfo_t ci; + dns_clientinfo_t ci; salt_length = sizeof(salt); result = dns_db_getnsec3parameters(db, version, &hash, NULL, @@ -4551,11 +4462,11 @@ query_findclosestnsec3(dns_name_t *qname, dns_db_t *db, if (hash == DNS_NSEC3_UNKNOWNALG) hash = 1; - again: +again: dns_fixedname_init(&fixed); result = dns_nsec3_hashname(&fixed, NULL, NULL, &name, - dns_db_origin(db), hash, - iterations, salt, salt_length); + dns_db_origin(db), hash, iterations, salt, + salt_length); if (result != ISC_R_SUCCESS) return; @@ -4576,8 +4487,7 @@ query_findclosestnsec3(dns_name_t *qname, dns_db_t *db, dns_rdata_reset(&rdata); optout = ((nsec3.flags & DNS_NSEC3FLAG_OPTOUT) != 0); if (found != NULL && optout && - dns_name_issubdomain(&name, dns_db_origin(db))) - { + dns_name_issubdomain(&name, dns_db_origin(db))) { dns_rdataset_disassociate(rdataset); if (dns_rdataset_isassociated(sigrdataset)) dns_rdataset_disassociate(sigrdataset); @@ -4611,13 +4521,14 @@ query_findclosestnsec3(dns_name_t *qname, dns_db_t *db, } static uint32_t -dns64_ttl(dns_db_t *db, dns_dbversion_t *version) { - dns_dbnode_t *node = NULL; +dns64_ttl(dns_db_t *db, dns_dbversion_t *version) +{ + dns_dbnode_t * node = NULL; dns_rdata_soa_t soa; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdataset_t rdataset; - isc_result_t result; - uint32_t ttl = UINT32_MAX; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdataset_t rdataset; + isc_result_t result; + uint32_t ttl = UINT32_MAX; dns_rdataset_init(&rdataset); @@ -4625,8 +4536,8 @@ dns64_ttl(dns_db_t *db, dns_dbversion_t *version) { if (result != ISC_R_SUCCESS) goto cleanup; - result = dns_db_findrdataset(db, node, version, dns_rdatatype_soa, - 0, 0, &rdataset, NULL); + result = dns_db_findrdataset(db, node, version, dns_rdatatype_soa, 0, 0, + &rdataset, NULL); if (result != ISC_R_SUCCESS) goto cleanup; result = dns_rdataset_first(&rdataset); @@ -4656,7 +4567,7 @@ dns64_aaaaok(ns_client_t *client, dns_rdataset_t *rdataset, dns_dns64_t *dns64 = ISC_LIST_HEAD(client->view->dns64); unsigned int flags = 0; unsigned int i, count; - bool *aaaaok; + bool * aaaaok; INSIST(client->query.dns64_aaaaok == NULL); INSIST(client->query.dns64_aaaaoklen == 0); @@ -4677,9 +4588,8 @@ dns64_aaaaok(ns_client_t *client, dns_rdataset_t *rdataset, aaaaok = isc_mem_get(client->mctx, sizeof(bool) * count); isc_netaddr_fromsockaddr(&netaddr, &client->peeraddr); - if (dns_dns64_aaaaok(dns64, &netaddr, client->signer, - env, flags, rdataset, aaaaok, count)) - { + if (dns_dns64_aaaaok(dns64, &netaddr, client->signer, env, flags, + rdataset, aaaaok, count)) { for (i = 0; i < count; i++) { if (aaaaok != NULL && !aaaaok[i]) { SAVE(client->query.dns64_aaaaok, aaaaok); @@ -4688,13 +4598,11 @@ dns64_aaaaok(ns_client_t *client, dns_rdataset_t *rdataset, } } if (aaaaok != NULL) - isc_mem_put(client->mctx, aaaaok, - sizeof(bool) * count); + isc_mem_put(client->mctx, aaaaok, sizeof(bool) * count); return (true); } if (aaaaok != NULL) - isc_mem_put(client->mctx, aaaaok, - sizeof(bool) * count); + isc_mem_put(client->mctx, aaaaok, sizeof(bool) * count); return (false); } @@ -4711,16 +4619,16 @@ redirect(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset, dns_dbnode_t **nodep, dns_db_t **dbp, dns_dbversion_t **versionp, dns_rdatatype_t qtype) { - dns_db_t *db = NULL; - dns_dbnode_t *node = NULL; - dns_fixedname_t fixed; - dns_name_t *found; - dns_rdataset_t trdataset; - isc_result_t result; - dns_rdatatype_t type; + dns_db_t * db = NULL; + dns_dbnode_t * node = NULL; + dns_fixedname_t fixed; + dns_name_t * found; + dns_rdataset_t trdataset; + isc_result_t result; + dns_rdatatype_t type; dns_clientinfomethods_t cm; - dns_clientinfo_t ci; - ns_dbversion_t *dbversion; + dns_clientinfo_t ci; + ns_dbversion_t * dbversion; CTRACE(ISC_LOG_DEBUG(3), "redirect"); @@ -4758,9 +4666,9 @@ redirect(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset, } } - result = ns_client_checkaclsilent(client, NULL, - dns_zone_getqueryacl(client->view->redirect), - true); + result = ns_client_checkaclsilent( + client, NULL, dns_zone_getqueryacl(client->view->redirect), + true); if (result != ISC_R_SUCCESS) return (ISC_R_NOTFOUND); @@ -4778,8 +4686,8 @@ redirect(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset, * Lookup the requested data in the redirect zone. */ result = dns_db_findext(db, client->query.qname, dbversion->version, - qtype, DNS_DBFIND_NOZONECUT, client->now, - &node, found, &cm, &ci, &trdataset, NULL); + qtype, DNS_DBFIND_NOZONECUT, client->now, &node, + found, &cm, &ci, &trdataset, NULL); if (result == DNS_R_NXRRSET || result == DNS_R_NCACHENXRRSET) { if (dns_rdataset_isassociated(rdataset)) dns_rdataset_disassociate(rdataset); @@ -4803,7 +4711,7 @@ redirect(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset, dns_rdataset_clone(&trdataset, rdataset); dns_rdataset_disassociate(&trdataset); } - nxrrset: +nxrrset: if (*nodep != NULL) dns_db_detachnode(*dbp, nodep); dns_db_detach(dbp); @@ -4813,8 +4721,8 @@ redirect(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset, dns_db_detach(&db); *versionp = dbversion->version; - client->query.attributes |= (NS_QUERYATTR_NOAUTHORITY | - NS_QUERYATTR_NOADDITIONAL); + client->query.attributes |= + (NS_QUERYATTR_NOAUTHORITY | NS_QUERYATTR_NOADDITIONAL); return (result); } @@ -4824,21 +4732,21 @@ redirect2(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset, dns_dbnode_t **nodep, dns_db_t **dbp, dns_dbversion_t **versionp, dns_rdatatype_t qtype, bool *is_zonep) { - dns_db_t *db = NULL; - dns_dbnode_t *node = NULL; - dns_fixedname_t fixed; - dns_fixedname_t fixedredirect; - dns_name_t *found, *redirectname; - dns_rdataset_t trdataset; - isc_result_t result; - dns_rdatatype_t type; + dns_db_t * db = NULL; + dns_dbnode_t * node = NULL; + dns_fixedname_t fixed; + dns_fixedname_t fixedredirect; + dns_name_t * found, *redirectname; + dns_rdataset_t trdataset; + isc_result_t result; + dns_rdatatype_t type; dns_clientinfomethods_t cm; - dns_clientinfo_t ci; - dns_dbversion_t *version = NULL; - dns_zone_t *zone = NULL; - bool is_zone; - unsigned int labels; - unsigned int options; + dns_clientinfo_t ci; + dns_dbversion_t * version = NULL; + dns_zone_t * zone = NULL; + bool is_zone; + unsigned int labels; + unsigned int options; CTRACE(ISC_LOG_DEBUG(3), "redirect2"); @@ -4856,7 +4764,8 @@ redirect2(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset, dns_clientinfomethods_init(&cm, ns_client_sourceip); dns_clientinfo_init(&ci, client, NULL); - if (WANTDNSSEC(client) && dns_db_iszone(*dbp) && dns_db_issecure(*dbp)) { + if (WANTDNSSEC(client) && dns_db_iszone(*dbp) && + dns_db_issecure(*dbp)) { return (ISC_R_NOTFOUND); } @@ -4900,8 +4809,8 @@ redirect2(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset, } options = 0; - result = query_getdb(client, redirectname, qtype, options, &zone, - &db, &version, &is_zone); + result = query_getdb(client, redirectname, qtype, options, &zone, &db, + &version, &is_zone); if (result != ISC_R_SUCCESS) { return (ISC_R_NOTFOUND); } @@ -4912,9 +4821,9 @@ redirect2(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset, /* * Lookup the requested data in the redirect zone. */ - result = dns_db_findext(db, redirectname, version, - qtype, 0, client->now, - &node, found, &cm, &ci, &trdataset, NULL); + result = dns_db_findext(db, redirectname, version, qtype, 0, + client->now, &node, found, &cm, &ci, &trdataset, + NULL); if (result == DNS_R_NXRRSET || result == DNS_R_NCACHENXRRSET) { if (dns_rdataset_isassociated(rdataset)) dns_rdataset_disassociate(rdataset); @@ -4938,9 +4847,9 @@ redirect2(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset, NULL, NULL, true); if (result == ISC_R_SUCCESS) { client->query.attributes |= - NS_QUERYATTR_RECURSING; + NS_QUERYATTR_RECURSING; client->query.attributes |= - NS_QUERYATTR_REDIRECT; + NS_QUERYATTR_REDIRECT; return (DNS_R_CONTINUE); } } @@ -4973,7 +4882,7 @@ redirect2(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset, dns_rdataset_clone(&trdataset, rdataset); dns_rdataset_disassociate(&trdataset); } - nxrrset: +nxrrset: if (*nodep != NULL) dns_db_detachnode(*dbp, nodep); dns_db_detach(dbp); @@ -4984,8 +4893,8 @@ redirect2(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset, *is_zonep = is_zone; *versionp = version; - client->query.attributes |= (NS_QUERYATTR_NOAUTHORITY | - NS_QUERYATTR_NOADDITIONAL); + client->query.attributes |= + (NS_QUERYATTR_NOAUTHORITY | NS_QUERYATTR_NOADDITIONAL); return (result); } @@ -4999,8 +4908,8 @@ redirect2(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset, * when leaving the scope or freeing the qctx. */ static void -qctx_init(ns_client_t *client, dns_fetchevent_t *event, - dns_rdatatype_t qtype, query_ctx_t *qctx) +qctx_init(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype, + query_ctx_t *qctx) { REQUIRE(qctx != NULL); REQUIRE(client != NULL); @@ -5026,15 +4935,14 @@ qctx_init(ns_client_t *client, dns_fetchevent_t *event, * Clean up and disassociate the rdataset and node pointers in qctx. */ static void -qctx_clean(query_ctx_t *qctx) { +qctx_clean(query_ctx_t *qctx) +{ if (qctx->rdataset != NULL && - dns_rdataset_isassociated(qctx->rdataset)) - { + dns_rdataset_isassociated(qctx->rdataset)) { dns_rdataset_disassociate(qctx->rdataset); } if (qctx->sigrdataset != NULL && - dns_rdataset_isassociated(qctx->sigrdataset)) - { + dns_rdataset_isassociated(qctx->sigrdataset)) { dns_rdataset_disassociate(qctx->sigrdataset); } if (qctx->db != NULL && qctx->node != NULL) { @@ -5046,7 +4954,8 @@ qctx_clean(query_ctx_t *qctx) { * Free any allocated memory associated with qctx. */ static void -qctx_freedata(query_ctx_t *qctx) { +qctx_freedata(query_ctx_t *qctx) +{ if (qctx->rdataset != NULL) { ns_client_putrdataset(qctx->client, &qctx->rdataset); } @@ -5077,13 +4986,14 @@ qctx_freedata(query_ctx_t *qctx) { } if (qctx->event != NULL) { - free_devent(qctx->client, - ISC_EVENT_PTR(&qctx->event), &qctx->event); + free_devent(qctx->client, ISC_EVENT_PTR(&qctx->event), + &qctx->event); } } static void -qctx_destroy(query_ctx_t *qctx) { +qctx_destroy(query_ctx_t *qctx) +{ CALL_HOOK_NORETURN(NS_QUERY_QCTX_DESTROYED, qctx); dns_view_detach(&qctx->view); @@ -5094,7 +5004,8 @@ qctx_destroy(query_ctx_t *qctx) { * the client request or a return from recursion. */ static void -query_trace(query_ctx_t *qctx) { +query_trace(query_ctx_t *qctx) +{ #ifdef WANT_QUERYTRACE char mbuf[2 * DNS_NAME_FORMATSIZE]; char qbuf[DNS_NAME_FORMATSIZE]; @@ -5108,12 +5019,11 @@ query_trace(query_ctx_t *qctx) { snprintf(mbuf, sizeof(mbuf) - 1, "client attr:0x%x, query attr:0x%X, restarts:%u, " "origqname:%s, timer:%d, authdb:%d, referral:%d", - qctx->client->attributes, - qctx->client->query.attributes, + qctx->client->attributes, qctx->client->query.attributes, qctx->client->query.restarts, qbuf, - (int) qctx->client->query.timerset, - (int) qctx->client->query.authdbset, - (int) qctx->client->query.isreferral); + (int)qctx->client->query.timerset, + (int)qctx->client->query.authdbset, + (int)qctx->client->query.isreferral); CCTRACE(ISC_LOG_DEBUG(3), mbuf); #else UNUSED(qctx); @@ -5132,9 +5042,10 @@ query_trace(query_ctx_t *qctx) { * recursion is handled by query_resume(). */ static isc_result_t -query_setup(ns_client_t *client, dns_rdatatype_t qtype) { +query_setup(ns_client_t *client, dns_rdatatype_t qtype) +{ isc_result_t result; - query_ctx_t qctx; + query_ctx_t qctx; qctx_init(client, NULL, qtype, &qctx); query_trace(&qctx); @@ -5145,8 +5056,7 @@ query_setup(ns_client_t *client, dns_rdatatype_t qtype) { * If it's a SIG query, we'll iterate the node. */ if (qctx.qtype == dns_rdatatype_rrsig || - qctx.qtype == dns_rdatatype_sig) - { + qctx.qtype == dns_rdatatype_sig) { qctx.type = dns_rdatatype_any; } @@ -5161,15 +5071,16 @@ query_setup(ns_client_t *client, dns_rdatatype_t qtype) { result = ns__query_start(&qctx); - cleanup: +cleanup: qctx_destroy(&qctx); return (result); } static bool -get_root_key_sentinel_id(query_ctx_t *qctx, const char *ndata) { +get_root_key_sentinel_id(query_ctx_t *qctx, const char *ndata) +{ unsigned int v = 0; - int i; + int i; for (i = 0; i < 5; i++) { if (ndata[i] < '0' || ndata[i] > '9') { @@ -5192,12 +5103,12 @@ get_root_key_sentinel_id(query_ctx_t *qctx, const char *ndata) { * The code is assuming a zero padded decimal field of width 5. */ static void -root_key_sentinel_detect(query_ctx_t *qctx) { +root_key_sentinel_detect(query_ctx_t *qctx) +{ const char *ndata = (const char *)qctx->client->query.qname->ndata; if (qctx->client->query.qname->length > 30 && ndata[0] == 29 && - strncasecmp(ndata + 1, "root-key-sentinel-is-ta-", 24) == 0) - { + strncasecmp(ndata + 1, "root-key-sentinel-is-ta-", 24) == 0) { if (!get_root_key_sentinel_id(qctx, ndata + 25)) { return; } @@ -5211,8 +5122,8 @@ root_key_sentinel_detect(query_ctx_t *qctx) { NS_LOGMODULE_QUERY, ISC_LOG_INFO, "root-key-sentinel-is-ta query label found"); } else if (qctx->client->query.qname->length > 31 && ndata[0] == 30 && - strncasecmp(ndata + 1, "root-key-sentinel-not-ta-", 25) == 0) - { + strncasecmp(ndata + 1, "root-key-sentinel-not-ta-", 25) == + 0) { if (!get_root_key_sentinel_id(qctx, ndata + 26)) { return; } @@ -5236,7 +5147,8 @@ root_key_sentinel_detect(query_ctx_t *qctx) { * search, then hands off processing to query_lookup(). */ isc_result_t -ns__query_start(query_ctx_t *qctx) { +ns__query_start(query_ctx_t *qctx) +{ isc_result_t result; CCTRACE(ISC_LOG_DEBUG(3), "ns__query_start"); qctx->want_restart = false; @@ -5253,8 +5165,7 @@ ns__query_start(query_ctx_t *qctx) { * before we have done too much work. */ if (!TCP(qctx->client) && qctx->view->requireservercookie && - WANTCOOKIE(qctx->client) && !HAVECOOKIE(qctx->client)) - { + WANTCOOKIE(qctx->client) && !HAVECOOKIE(qctx->client)) { qctx->client->message->flags &= ~DNS_MESSAGEFLAG_AA; qctx->client->message->flags &= ~DNS_MESSAGEFLAG_AD; qctx->client->message->rcode = dns_rcode_badcookie; @@ -5263,22 +5174,21 @@ ns__query_start(query_ctx_t *qctx) { if (qctx->view->checknames && !dns_rdata_checkowner(qctx->client->query.qname, - qctx->client->message->rdclass, - qctx->qtype, false)) - { + qctx->client->message->rdclass, qctx->qtype, + false)) { char namebuf[DNS_NAME_FORMATSIZE]; char typebuf[DNS_RDATATYPE_FORMATSIZE]; char classbuf[DNS_RDATACLASS_FORMATSIZE]; - dns_name_format(qctx->client->query.qname, - namebuf, sizeof(namebuf)); + dns_name_format(qctx->client->query.qname, namebuf, + sizeof(namebuf)); dns_rdatatype_format(qctx->qtype, typebuf, sizeof(typebuf)); - dns_rdataclass_format(qctx->client->message->rdclass, - classbuf, sizeof(classbuf)); + dns_rdataclass_format(qctx->client->message->rdclass, classbuf, + sizeof(classbuf)); ns_client_log(qctx->client, DNS_LOGCATEGORY_SECURITY, NS_LOGMODULE_QUERY, ISC_LOG_ERROR, - "check-names failure %s/%s/%s", namebuf, - typebuf, classbuf); + "check-names failure %s/%s/%s", namebuf, typebuf, + classbuf); QUERY_ERROR(qctx, DNS_R_REFUSED); return (ns_query_done(qctx)); } @@ -5290,9 +5200,8 @@ ns__query_start(query_ctx_t *qctx) { qctx->client->query.restarts == 0 && (qctx->qtype == dns_rdatatype_a || qctx->qtype == dns_rdatatype_aaaa) && - (qctx->client->message->flags & DNS_MESSAGEFLAG_CD) == 0) - { - root_key_sentinel_detect(qctx); + (qctx->client->message->flags & DNS_MESSAGEFLAG_CD) == 0) { + root_key_sentinel_detect(qctx); } /* @@ -5300,8 +5209,7 @@ ns__query_start(query_ctx_t *qctx) { */ qctx->options &= DNS_GETDB_NOLOG; /* Preserve DNS_GETDB_NOLOG. */ if (dns_rdatatype_atparent(qctx->qtype) && - !dns_name_equal(qctx->client->query.qname, dns_rootname)) - { + !dns_name_equal(qctx->client->query.qname, dns_rootname)) { /* * If authoritative data for this QTYPE is supposed to live in * the parent zone, do not look for an exact match for QNAME, @@ -5312,29 +5220,26 @@ ns__query_start(query_ctx_t *qctx) { } result = query_getdb(qctx->client, qctx->client->query.qname, - qctx->qtype, qctx->options, &qctx->zone, - &qctx->db, &qctx->version, &qctx->is_zone); + qctx->qtype, qctx->options, &qctx->zone, &qctx->db, + &qctx->version, &qctx->is_zone); if (ISC_UNLIKELY((result != ISC_R_SUCCESS || !qctx->is_zone) && qctx->qtype == dns_rdatatype_ds && !RECURSIONOK(qctx->client) && - (qctx->options & DNS_GETDB_NOEXACT) != 0)) - { + (qctx->options & DNS_GETDB_NOEXACT) != 0)) { /* * This is a non-recursive QTYPE=DS query with QNAME whose * parent we are not authoritative for. Check whether we are * authoritative for QNAME, because if so, we need to send a * "no data" response as required by RFC 4035, section 3.1.4.1. */ - dns_db_t *tdb = NULL; - dns_zone_t *tzone = NULL; + dns_db_t * tdb = NULL; + dns_zone_t * tzone = NULL; dns_dbversion_t *tversion = NULL; - isc_result_t tresult; + isc_result_t tresult; - tresult = query_getzonedb(qctx->client, - qctx->client->query.qname, - qctx->qtype, - DNS_GETDB_PARTIAL, - &tzone, &tdb, &tversion); + tresult = query_getzonedb( + qctx->client, qctx->client->query.qname, qctx->qtype, + DNS_GETDB_PARTIAL, &tzone, &tdb, &tversion); if (tresult == ISC_R_SUCCESS) { /* * We are authoritative for QNAME. Attach the relevant @@ -5385,8 +5290,8 @@ ns__query_start(query_ctx_t *qctx) { QUERY_ERROR(qctx, DNS_R_REFUSED); } } else { - CCTRACE(ISC_LOG_ERROR, - "ns__query_start: query_getdb failed"); + CCTRACE(ISC_LOG_ERROR, "ns__query_start: query_getdb " + "failed"); QUERY_ERROR(qctx, result); } return (ns_query_done(qctx)); @@ -5405,8 +5310,7 @@ ns__query_start(query_ctx_t *qctx) { qctx->authoritative = false; } if (dns_zone_gettype(qctx->zone) == - dns_zone_staticstub) - { + dns_zone_staticstub) { qctx->is_staticstub_zone = true; } } @@ -5440,7 +5344,7 @@ ns__query_start(query_ctx_t *qctx) { return (query_lookup(qctx)); - cleanup: +cleanup: return (result); } @@ -5450,13 +5354,14 @@ ns__query_start(query_ctx_t *qctx) { * hand off processing to query_gotanswer(). */ static isc_result_t -query_lookup(query_ctx_t *qctx) { - isc_buffer_t b; - isc_result_t result; +query_lookup(query_ctx_t *qctx) +{ + isc_buffer_t b; + isc_result_t result; dns_clientinfomethods_t cm; - dns_clientinfo_t ci; - dns_name_t *rpzqname = NULL; - unsigned int dboptions; + dns_clientinfo_t ci; + dns_name_t * rpzqname = NULL; + unsigned int dboptions; CCTRACE(ISC_LOG_DEBUG(3), "query_lookup"); @@ -5470,8 +5375,8 @@ query_lookup(query_ctx_t *qctx) { */ qctx->dbuf = ns_client_getnamebuf(qctx->client); if (ISC_UNLIKELY(qctx->dbuf == NULL)) { - CCTRACE(ISC_LOG_ERROR, - "query_lookup: ns_client_getnamebuf failed (2)"); + CCTRACE(ISC_LOG_ERROR, "query_lookup: ns_client_getnamebuf " + "failed (2)"); QUERY_ERROR(qctx, ISC_R_NOMEMORY); return (ns_query_done(qctx)); } @@ -5480,19 +5385,19 @@ query_lookup(query_ctx_t *qctx) { qctx->rdataset = ns_client_newrdataset(qctx->client); if (ISC_UNLIKELY(qctx->fname == NULL || qctx->rdataset == NULL)) { - CCTRACE(ISC_LOG_ERROR, - "query_lookup: ns_client_newname failed (2)"); + CCTRACE(ISC_LOG_ERROR, "query_lookup: ns_client_newname failed " + "(2)"); QUERY_ERROR(qctx, ISC_R_NOMEMORY); return (ns_query_done(qctx)); } if ((WANTDNSSEC(qctx->client) || qctx->findcoveringnsec) && - (!qctx->is_zone || dns_db_issecure(qctx->db))) - { + (!qctx->is_zone || dns_db_issecure(qctx->db))) { qctx->sigrdataset = ns_client_newrdataset(qctx->client); if (qctx->sigrdataset == NULL) { - CCTRACE(ISC_LOG_ERROR, - "query_lookup: ns_client_newrdataset failed (2)"); + CCTRACE(ISC_LOG_ERROR, "query_lookup: " + "ns_client_newrdataset failed " + "(2)"); QUERY_ERROR(qctx, ISC_R_NOMEMORY); return (ns_query_done(qctx)); } @@ -5514,8 +5419,8 @@ query_lookup(query_ctx_t *qctx) { result = dns_db_findext(qctx->db, rpzqname, qctx->version, qctx->type, dboptions, qctx->client->now, &qctx->node, - qctx->fname, &cm, &ci, - qctx->rdataset, qctx->sigrdataset); + qctx->fname, &cm, &ci, qctx->rdataset, + qctx->sigrdataset); /* * Fixup fname and sigrdataset. @@ -5523,8 +5428,7 @@ query_lookup(query_ctx_t *qctx) { if (qctx->dns64 && qctx->rpz) { dns_name_copynf(qctx->client->query.qname, qctx->fname); if (qctx->sigrdataset != NULL && - dns_rdataset_isassociated(qctx->sigrdataset)) - { + dns_rdataset_isassociated(qctx->sigrdataset)) { dns_rdataset_disassociate(qctx->sigrdataset); } } @@ -5547,12 +5451,12 @@ query_lookup(query_ctx_t *qctx) { success = false; } - dns_name_format(qctx->client->query.qname, - namebuf, sizeof(namebuf)); + dns_name_format(qctx->client->query.qname, namebuf, + sizeof(namebuf)); isc_log_write(ns_lctx, NS_LOGCATEGORY_SERVE_STALE, NS_LOGMODULE_QUERY, ISC_LOG_INFO, - "%s resolver failure, stale answer %s", - namebuf, success ? "used" : "unavailable"); + "%s resolver failure, stale answer %s", namebuf, + success ? "used" : "unavailable"); if (!success) { QUERY_ERROR(qctx, DNS_R_SERVFAIL); @@ -5561,7 +5465,7 @@ query_lookup(query_ctx_t *qctx) { } return (query_gotanswer(qctx, result)); - cleanup: +cleanup: return (result); } @@ -5572,14 +5476,15 @@ query_lookup(query_ctx_t *qctx) { * query_resume() to continue the ongoing work. */ static void -fetch_callback(isc_task_t *task, isc_event_t *event) { - dns_fetchevent_t *devent = (dns_fetchevent_t *)event; - dns_fetch_t *fetch = NULL; - ns_client_t *client; - bool fetch_canceled, client_shuttingdown; - isc_result_t result; +fetch_callback(isc_task_t *task, isc_event_t *event) +{ + dns_fetchevent_t * devent = (dns_fetchevent_t *)event; + dns_fetch_t * fetch = NULL; + ns_client_t * client; + bool fetch_canceled, client_shuttingdown; + isc_result_t result; isc_logcategory_t *logcategory = NS_LOGCATEGORY_QUERY_ERRORS; - int errorloglevel; + int errorloglevel; UNUSED(task); @@ -5690,9 +5595,8 @@ recparam_match(const ns_query_recparam_t *param, dns_rdatatype_t qtype, { REQUIRE(param != NULL); - return (param->qtype == qtype && - param->qname != NULL && qname != NULL && - param->qdomain != NULL && qdomain != NULL && + return (param->qtype == qtype && param->qname != NULL && + qname != NULL && param->qdomain != NULL && qdomain != NULL && dns_name_equal(param->qname, qname) && dns_name_equal(param->qdomain, qdomain)); } @@ -5726,19 +5630,20 @@ recparam_update(ns_query_recparam_t *param, dns_rdatatype_t qtype, static atomic_uint_fast32_t last_soft, last_hard; #ifdef ISC_MUTEX_ATOMICS static isc_once_t last_once = ISC_ONCE_INIT; -static void last_init() { +static void +last_init() +{ atomic_init(&last_soft, 0); atomic_init(&last_hard, 0); } #endif - isc_result_t ns_query_recurse(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname, dns_name_t *qdomain, dns_rdataset_t *nameservers, bool resuming) { - isc_result_t result; + isc_result_t result; dns_rdataset_t *rdataset, *sigrdataset; isc_sockaddr_t *peeraddr = NULL; @@ -5749,9 +5654,8 @@ ns_query_recurse(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname, * match. If not, update recursion parameters and proceed. */ if (recparam_match(&client->query.recparam, qtype, qname, qdomain)) { - ns_client_log(client, NS_LOGCATEGORY_CLIENT, - NS_LOGMODULE_QUERY, ISC_LOG_INFO, - "recursion loop detected"); + ns_client_log(client, NS_LOGCATEGORY_CLIENT, NS_LOGMODULE_QUERY, + ISC_LOG_INFO, "recursion loop detected"); return (ISC_R_FAILURE); } @@ -5779,7 +5683,7 @@ ns_query_recurse(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname, ns_statscounter_recursclients); } - if (result == ISC_R_SOFTQUOTA) { + if (result == ISC_R_SOFTQUOTA) { #ifdef ISC_MUTEX_ATOMICS isc_once_do(&last_once, last_init); #endif @@ -5788,13 +5692,17 @@ ns_query_recurse(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname, if (now != atomic_load_relaxed(&last_soft)) { atomic_store_relaxed(&last_soft, now); ns_client_log(client, NS_LOGCATEGORY_CLIENT, - NS_LOGMODULE_QUERY, ISC_LOG_WARNING, - "recursive-clients soft limit " - "exceeded (%u/%u/%u), " - "aborting oldest query", - isc_quota_getused(client->recursionquota), - isc_quota_getsoft(client->recursionquota), - isc_quota_getmax(client->recursionquota)); + NS_LOGMODULE_QUERY, + ISC_LOG_WARNING, + "recursive-clients soft limit " + "exceeded (%u/%u/%u), " + "aborting oldest query", + isc_quota_getused( + client->recursionquota), + isc_quota_getsoft( + client->recursionquota), + isc_quota_getmax( + client->recursionquota)); } ns_client_killoldestquery(client); result = ISC_R_SUCCESS; @@ -5807,14 +5715,17 @@ ns_query_recurse(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname, if (now != atomic_load_relaxed(&last_hard)) { ns_server_t *sctx = client->sctx; atomic_store_relaxed(&last_hard, now); - ns_client_log(client, NS_LOGCATEGORY_CLIENT, - NS_LOGMODULE_QUERY, ISC_LOG_WARNING, - "no more recursive clients " - "(%u/%u/%u): %s", - isc_quota_getused(&sctx->recursionquota), - isc_quota_getsoft(&sctx->recursionquota), - isc_quota_getmax(&sctx->recursionquota), - isc_result_totext(result)); + ns_client_log( + client, NS_LOGCATEGORY_CLIENT, + NS_LOGMODULE_QUERY, ISC_LOG_WARNING, + "no more recursive clients " + "(%u/%u/%u): %s", + isc_quota_getused( + &sctx->recursionquota), + isc_quota_getsoft( + &sctx->recursionquota), + isc_quota_getmax(&sctx->recursionquota), + isc_result_totext(result)); } ns_client_killoldestquery(client); } @@ -5855,13 +5766,11 @@ ns_query_recurse(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname, } isc_nmhandle_ref(client->handle); - result = dns_resolver_createfetch(client->view->resolver, - qname, qtype, qdomain, nameservers, - NULL, peeraddr, client->message->id, - client->query.fetchoptions, 0, NULL, - client->task, fetch_callback, - client, rdataset, sigrdataset, - &client->query.fetch); + result = dns_resolver_createfetch( + client->view->resolver, qname, qtype, qdomain, nameservers, + NULL, peeraddr, client->message->id, client->query.fetchoptions, + 0, NULL, client->task, fetch_callback, client, rdataset, + sigrdataset, &client->query.fetch); if (result != ISC_R_SUCCESS) { isc_nmhandle_unref(client->handle); ns_client_putrdataset(client, &rdataset); @@ -5884,9 +5793,10 @@ ns_query_recurse(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname, * continues the query processing if needed. */ static isc_result_t -query_resume(query_ctx_t *qctx) { +query_resume(query_ctx_t *qctx) +{ isc_result_t result; - dns_name_t *tname; + dns_name_t * tname; isc_buffer_t b; #ifdef WANT_QUERYTRACE char mbuf[4 * DNS_NAME_FORMATSIZE]; @@ -5902,29 +5812,27 @@ query_resume(query_ctx_t *qctx) { qctx->rpz_st = qctx->client->query.rpz_st; if (qctx->rpz_st != NULL && - (qctx->rpz_st->state & DNS_RPZ_RECURSING) != 0) - { + (qctx->rpz_st->state & DNS_RPZ_RECURSING) != 0) { CCTRACE(ISC_LOG_DEBUG(3), "resume from RPZ recursion"); #ifdef WANT_QUERYTRACE { char pbuf[DNS_NAME_FORMATSIZE] = ""; char fbuf[DNS_NAME_FORMATSIZE] = ""; if (qctx->rpz_st->r_name != NULL) - dns_name_format(qctx->rpz_st->r_name, - qbuf, sizeof(qbuf)); + dns_name_format(qctx->rpz_st->r_name, qbuf, + sizeof(qbuf)); else - snprintf(qbuf, sizeof(qbuf), - ""); + snprintf(qbuf, sizeof(qbuf), ""); if (qctx->rpz_st->p_name != NULL) - dns_name_format(qctx->rpz_st->p_name, - pbuf, sizeof(pbuf)); + dns_name_format(qctx->rpz_st->p_name, pbuf, + sizeof(pbuf)); if (qctx->rpz_st->fname != NULL) - dns_name_format(qctx->rpz_st->fname, - fbuf, sizeof(fbuf)); + dns_name_format(qctx->rpz_st->fname, fbuf, + sizeof(fbuf)); snprintf(mbuf, sizeof(mbuf) - 1, - "rpz rname:%s, pname:%s, qctx->fname:%s", - qbuf, pbuf, fbuf); + "rpz rname:%s, pname:%s, qctx->fname:%s", qbuf, + pbuf, fbuf); CCTRACE(ISC_LOG_DEBUG(3), mbuf); } #endif @@ -5948,17 +5856,15 @@ query_resume(query_ctx_t *qctx) { /* * Restore saved state. */ - CCTRACE(ISC_LOG_DEBUG(3), - "resume from redirect recursion"); + CCTRACE(ISC_LOG_DEBUG(3), "resume from redirect recursion"); #ifdef WANT_QUERYTRACE - dns_name_format(qctx->client->query.redirect.fname, - qbuf, sizeof(qbuf)); - dns_rdatatype_format(qctx->client->query.redirect.qtype, - tbuf, sizeof(tbuf)); + dns_name_format(qctx->client->query.redirect.fname, qbuf, + sizeof(qbuf)); + dns_rdatatype_format(qctx->client->query.redirect.qtype, tbuf, + sizeof(tbuf)); snprintf(mbuf, sizeof(mbuf) - 1, - "redirect qctx->fname:%s, qtype:%s, auth:%d", - qbuf, tbuf, - qctx->client->query.redirect.authoritative); + "redirect qctx->fname:%s, qtype:%s, auth:%d", qbuf, + tbuf, qctx->client->query.redirect.authoritative); CCTRACE(ISC_LOG_DEBUG(3), mbuf); #endif qctx->qtype = qctx->client->query.redirect.qtype; @@ -5982,8 +5888,7 @@ query_resume(query_ctx_t *qctx) { if (qctx->event->db != NULL) dns_db_detach(&qctx->event->db); } else { - CCTRACE(ISC_LOG_DEBUG(3), - "resume from normal recursion"); + CCTRACE(ISC_LOG_DEBUG(3), "resume from normal recursion"); qctx->authoritative = false; qctx->qtype = qctx->event->qtype; @@ -5995,8 +5900,7 @@ query_resume(query_ctx_t *qctx) { INSIST(qctx->rdataset != NULL); if (qctx->qtype == dns_rdatatype_rrsig || - qctx->qtype == dns_rdatatype_sig) - { + qctx->qtype == dns_rdatatype_sig) { qctx->type = dns_rdatatype_any; } else { qctx->type = qctx->qtype; @@ -6015,16 +5919,13 @@ query_resume(query_ctx_t *qctx) { } if (qctx->rpz_st != NULL && - (qctx->rpz_st->state & DNS_RPZ_RECURSING) != 0) - { + (qctx->rpz_st->state & DNS_RPZ_RECURSING) != 0) { /* * Has response policy changed out from under us? */ - if (qctx->rpz_st->rpz_ver != qctx->view->rpzs->rpz_ver) - { + if (qctx->rpz_st->rpz_ver != qctx->view->rpzs->rpz_ver) { ns_client_log(qctx->client, NS_LOGCATEGORY_CLIENT, - NS_LOGMODULE_QUERY, - DNS_RPZ_INFO_LEVEL, + NS_LOGMODULE_QUERY, DNS_RPZ_INFO_LEVEL, "query_resume: RPZ settings " "out of date " "(rpz_ver %d, expected %d)", @@ -6040,16 +5941,16 @@ query_resume(query_ctx_t *qctx) { */ qctx->dbuf = ns_client_getnamebuf(qctx->client); if (qctx->dbuf == NULL) { - CCTRACE(ISC_LOG_ERROR, - "query_resume: ns_client_getnamebuf failed (1)"); + CCTRACE(ISC_LOG_ERROR, "query_resume: ns_client_getnamebuf " + "failed (1)"); QUERY_ERROR(qctx, ISC_R_NOMEMORY); return (ns_query_done(qctx)); } qctx->fname = ns_client_newname(qctx->client, qctx->dbuf, &b); if (qctx->fname == NULL) { - CCTRACE(ISC_LOG_ERROR, - "query_resume: ns_client_newname failed (1)"); + CCTRACE(ISC_LOG_ERROR, "query_resume: ns_client_newname failed " + "(1)"); QUERY_ERROR(qctx, ISC_R_NOMEMORY); return (ns_query_done(qctx)); } @@ -6069,8 +5970,8 @@ query_resume(query_ctx_t *qctx) { (qctx->rpz_st->state & DNS_RPZ_RECURSING) != 0) { qctx->rpz_st->r.r_result = qctx->event->result; result = qctx->rpz_st->q.result; - free_devent(qctx->client, - ISC_EVENT_PTR(&qctx->event), &qctx->event); + free_devent(qctx->client, ISC_EVENT_PTR(&qctx->event), + &qctx->event); } else if (REDIRECT(qctx->client)) { result = qctx->client->query.redirect.result; } else { @@ -6081,7 +5982,7 @@ query_resume(query_ctx_t *qctx) { return (query_gotanswer(qctx, result)); - cleanup: +cleanup: return (result); } @@ -6093,8 +5994,9 @@ query_resume(query_ctx_t *qctx) { * SERVFAIL response to a CD=1 query. */ isc_result_t -ns__query_sfcache(query_ctx_t *qctx) { - bool failcache; +ns__query_sfcache(query_ctx_t *qctx) +{ + bool failcache; uint32_t flags; /* @@ -6109,39 +6011,33 @@ ns__query_sfcache(query_ctx_t *qctx) { if (qctx->client->sctx->fuzztype == isc_fuzz_resolver) { failcache = false; } else { - failcache = - dns_badcache_find(qctx->view->failcache, - qctx->client->query.qname, - qctx->qtype, &flags, - &qctx->client->tnow); + failcache = dns_badcache_find( + qctx->view->failcache, qctx->client->query.qname, + qctx->qtype, &flags, &qctx->client->tnow); } #else failcache = dns_badcache_find(qctx->view->failcache, - qctx->client->query.qname, - qctx->qtype, &flags, - &qctx->client->tnow); + qctx->client->query.qname, qctx->qtype, + &flags, &qctx->client->tnow); #endif if (failcache && (((flags & NS_FAILCACHE_CD) != 0) || - ((qctx->client->message->flags & DNS_MESSAGEFLAG_CD) == 0))) - { + ((qctx->client->message->flags & DNS_MESSAGEFLAG_CD) == 0))) { if (isc_log_wouldlog(ns_lctx, ISC_LOG_DEBUG(1))) { char namebuf[DNS_NAME_FORMATSIZE]; char typebuf[DNS_RDATATYPE_FORMATSIZE]; - dns_name_format(qctx->client->query.qname, - namebuf, sizeof(namebuf)); + dns_name_format(qctx->client->query.qname, namebuf, + sizeof(namebuf)); dns_rdatatype_format(qctx->qtype, typebuf, sizeof(typebuf)); - ns_client_log(qctx->client, - NS_LOGCATEGORY_CLIENT, - NS_LOGMODULE_QUERY, - ISC_LOG_DEBUG(1), - "servfail cache hit %s/%s (%s)", - namebuf, typebuf, - ((flags & NS_FAILCACHE_CD) != 0) - ? "CD=1" - : "CD=0"); + ns_client_log(qctx->client, NS_LOGCATEGORY_CLIENT, + NS_LOGMODULE_QUERY, ISC_LOG_DEBUG(1), + "servfail cache hit %s/%s (%s)", namebuf, + typebuf, + ((flags & NS_FAILCACHE_CD) != 0) ? "CD=1" + : "CD=" + "0"); } qctx->client->attributes |= NS_CLIENTATTR_NOSETFC; @@ -6156,7 +6052,8 @@ ns__query_sfcache(query_ctx_t *qctx) { * Handle response rate limiting (RRL). */ static isc_result_t -query_checkrrl(query_ctx_t *qctx, isc_result_t result) { +query_checkrrl(query_ctx_t *qctx, isc_result_t result) +{ /* * Rate limit these responses to this client. * Do not delay counting and handling obvious referrals, @@ -6173,42 +6070,39 @@ query_checkrrl(query_ctx_t *qctx, isc_result_t result) { * is set when we are called the second time preventing the * response being dropped. */ - ns_client_log(qctx->client, DNS_LOGCATEGORY_RRL, - NS_LOGMODULE_QUERY, ISC_LOG_DEBUG(99), - "rrl=%p, HAVECOOKIE=%u, result=%s, " - "fname=%p(%u), is_zone=%u, RECURSIONOK=%u, " - "query.rpz_st=%p(%u), RRL_CHECKED=%u\n", - qctx->client->view->rrl, HAVECOOKIE(qctx->client), - isc_result_toid(result), qctx->fname, - qctx->fname != NULL - ? dns_name_isabsolute(qctx->fname) - : 0, - qctx->is_zone, RECURSIONOK(qctx->client), - qctx->client->query.rpz_st, - qctx->client->query.rpz_st != NULL - ? ((qctx->client->query.rpz_st->state & - DNS_RPZ_REWRITTEN) != 0) - : 0, - (qctx->client->query.attributes & - NS_QUERYATTR_RRL_CHECKED) != 0); + ns_client_log( + qctx->client, DNS_LOGCATEGORY_RRL, NS_LOGMODULE_QUERY, + ISC_LOG_DEBUG(99), + "rrl=%p, HAVECOOKIE=%u, result=%s, " + "fname=%p(%u), is_zone=%u, RECURSIONOK=%u, " + "query.rpz_st=%p(%u), RRL_CHECKED=%u\n", + qctx->client->view->rrl, HAVECOOKIE(qctx->client), + isc_result_toid(result), qctx->fname, + qctx->fname != NULL ? dns_name_isabsolute(qctx->fname) : 0, + qctx->is_zone, RECURSIONOK(qctx->client), + qctx->client->query.rpz_st, + qctx->client->query.rpz_st != NULL + ? ((qctx->client->query.rpz_st->state & + DNS_RPZ_REWRITTEN) != 0) + : 0, + (qctx->client->query.attributes & NS_QUERYATTR_RRL_CHECKED) != + 0); - if (qctx->view->rrl != NULL && - !HAVECOOKIE(qctx->client) && + if (qctx->view->rrl != NULL && !HAVECOOKIE(qctx->client) && ((qctx->fname != NULL && dns_name_isabsolute(qctx->fname)) || (result == ISC_R_NOTFOUND && !RECURSIONOK(qctx->client))) && - !(result == DNS_R_DELEGATION && - !qctx->is_zone && RECURSIONOK(qctx->client)) && + !(result == DNS_R_DELEGATION && !qctx->is_zone && + RECURSIONOK(qctx->client)) && (qctx->client->query.rpz_st == NULL || (qctx->client->query.rpz_st->state & DNS_RPZ_REWRITTEN) == 0) && - (qctx->client->query.attributes & NS_QUERYATTR_RRL_CHECKED) == 0) - { - dns_rdataset_t nc_rdataset; - bool wouldlog; - dns_fixedname_t fixed; + (qctx->client->query.attributes & NS_QUERYATTR_RRL_CHECKED) == 0) { + dns_rdataset_t nc_rdataset; + bool wouldlog; + dns_fixedname_t fixed; const dns_name_t *constname; - char log_buf[DNS_RRL_LOG_BUF_LEN]; - isc_result_t nc_result, resp_result; - dns_rrl_result_t rrl_result; + char log_buf[DNS_RRL_LOG_BUF_LEN]; + isc_result_t nc_result, resp_result; + dns_rrl_result_t rrl_result; qctx->client->query.attributes |= NS_QUERYATTR_RRL_CHECKED; @@ -6233,8 +6127,7 @@ query_checkrrl(query_ctx_t *qctx, isc_result_t result) { dns_rdataset_init(&nc_rdataset); for (nc_result = dns_rdataset_first(qctx->rdataset); nc_result == ISC_R_SUCCESS; - nc_result = dns_rdataset_next(qctx->rdataset)) - { + nc_result = dns_rdataset_next(qctx->rdataset)) { dns_ncache_current(qctx->rdataset, dns_fixedname_name(&fixed), &nc_rdataset); @@ -6263,13 +6156,11 @@ query_checkrrl(query_ctx_t *qctx, isc_result_t result) { resp_result = ISC_R_SUCCESS; } - rrl_result = dns_rrl(qctx->view, - &qctx->client->peeraddr, - TCP(qctx->client), - qctx->client->message->rdclass, - qctx->qtype, constname, - resp_result, qctx->client->now, - wouldlog, log_buf, sizeof(log_buf)); + rrl_result = dns_rrl( + qctx->view, &qctx->client->peeraddr, TCP(qctx->client), + qctx->client->message->rdclass, qctx->qtype, constname, + resp_result, qctx->client->now, wouldlog, log_buf, + sizeof(log_buf)); if (rrl_result != DNS_RRL_RESULT_OK) { /* * Log dropped or slipped responses in the query @@ -6284,8 +6175,7 @@ query_checkrrl(query_ctx_t *qctx, isc_result_t result) { if (wouldlog) { ns_client_log(qctx->client, DNS_LOGCATEGORY_RRL, NS_LOGMODULE_QUERY, - DNS_RRL_LOG_DROP, - "%s", log_buf); + DNS_RRL_LOG_DROP, "%s", log_buf); } if (!qctx->view->rrl->log_only) { @@ -6295,7 +6185,7 @@ query_checkrrl(query_ctx_t *qctx, isc_result_t result) { * ns_statscounter_dropped */ inc_stats(qctx->client, - ns_statscounter_ratedropped); + ns_statscounter_ratedropped); QUERY_ERROR(qctx, DNS_R_DROP); } else { /* @@ -6303,22 +6193,22 @@ query_checkrrl(query_ctx_t *qctx, isc_result_t result) { * ns_statscounter_truncatedresp */ inc_stats(qctx->client, - ns_statscounter_rateslipped); + ns_statscounter_rateslipped); if (WANTCOOKIE(qctx->client)) { qctx->client->message->flags &= ~DNS_MESSAGEFLAG_AA; qctx->client->message->flags &= ~DNS_MESSAGEFLAG_AD; qctx->client->message->rcode = - dns_rcode_badcookie; + dns_rcode_badcookie; } else { qctx->client->message->flags |= DNS_MESSAGEFLAG_TC; if (resp_result == - DNS_R_NXDOMAIN) - { - qctx->client->message->rcode = - dns_rcode_nxdomain; + DNS_R_NXDOMAIN) { + qctx->client->message + ->rcode = + dns_rcode_nxdomain; } } } @@ -6334,13 +6224,13 @@ query_checkrrl(query_ctx_t *qctx, isc_result_t result) { * Do any RPZ rewriting that may be needed for this query. */ static isc_result_t -query_checkrpz(query_ctx_t *qctx, isc_result_t result) { +query_checkrpz(query_ctx_t *qctx, isc_result_t result) +{ isc_result_t rresult; CCTRACE(ISC_LOG_DEBUG(3), "query_checkrpz"); - rresult = rpz_rewrite(qctx->client, qctx->qtype, - result, qctx->resuming, + rresult = rpz_rewrite(qctx->client, qctx->qtype, result, qctx->resuming, qctx->rdataset, qctx->sigrdataset); qctx->rpz_st = qctx->client->query.rpz_st; switch (rresult) { @@ -6378,8 +6268,7 @@ query_checkrpz(query_ctx_t *qctx, isc_result_t result) { qctx->rpz_st->m.policy != DNS_RPZ_POLICY_PASSTHRU && (qctx->rpz_st->m.policy != DNS_RPZ_POLICY_TCP_ONLY || !TCP(qctx->client)) && - qctx->rpz_st->m.policy != DNS_RPZ_POLICY_ERROR) - { + qctx->rpz_st->m.policy != DNS_RPZ_POLICY_ERROR) { /* * We got a hit and are going to answer with our * fiction. Ensure that we answer with the name @@ -6406,7 +6295,7 @@ query_checkrpz(query_ctx_t *qctx, isc_result_t result) { */ if (qctx->rpz_st->m.rpz->addsoa) { bool override_ttl = - dns_rdataset_isassociated(qctx->rdataset); + dns_rdataset_isassociated(qctx->rdataset); rresult = query_addsoa(qctx, override_ttl, DNS_SECTION_ADDITIONAL); if (rresult != ISC_R_SUCCESS) { @@ -6419,9 +6308,9 @@ query_checkrpz(query_ctx_t *qctx, isc_result_t result) { case DNS_RPZ_POLICY_TCP_ONLY: qctx->client->message->flags |= DNS_MESSAGEFLAG_TC; if (result == DNS_R_NXDOMAIN || - result == DNS_R_NCACHENXDOMAIN) + result == DNS_R_NCACHENXDOMAIN) qctx->client->message->rcode = - dns_rcode_nxdomain; + dns_rcode_nxdomain; rpz_log_rewrite(qctx->client, false, qctx->rpz_st->m.policy, qctx->rpz_st->m.type, qctx->zone, @@ -6451,14 +6340,15 @@ query_checkrpz(query_ctx_t *qctx, isc_result_t result) { case DNS_RPZ_POLICY_RECORD: result = qctx->rpz_st->m.result; if (qctx->qtype == dns_rdatatype_any && - result != DNS_R_CNAME) { + result != DNS_R_CNAME) { /* * We will add all of the rdatasets of * the node by iterating later, * and set the TTL then. */ if (dns_rdataset_isassociated(qctx->rdataset)) - dns_rdataset_disassociate(qctx->rdataset); + dns_rdataset_disassociate( + qctx->rdataset); } else { /* * We will add this rdataset. @@ -6470,13 +6360,12 @@ query_checkrpz(query_ctx_t *qctx, isc_result_t result) { qctx->rpz = true; break; case DNS_RPZ_POLICY_WILDCNAME: { - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_cname_t cname; result = dns_rdataset_first(qctx->rdataset); RUNTIME_CHECK(result == ISC_R_SUCCESS); dns_rdataset_current(qctx->rdataset, &rdata); - result = dns_rdata_tostruct(&rdata, &cname, - NULL); + result = dns_rdata_tostruct(&rdata, &cname, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); dns_rdata_reset(&rdata); result = query_rpzcname(qctx, &cname.cname); @@ -6507,14 +6396,13 @@ query_checkrpz(query_ctx_t *qctx, isc_result_t result) { * Turn off DNSSEC because the results of a * response policy zone cannot verify. */ - qctx->client->attributes &= ~(NS_CLIENTATTR_WANTDNSSEC | - NS_CLIENTATTR_WANTAD); + qctx->client->attributes &= + ~(NS_CLIENTATTR_WANTDNSSEC | NS_CLIENTATTR_WANTAD); qctx->client->message->flags &= ~DNS_MESSAGEFLAG_AD; ns_client_putrdataset(qctx->client, &qctx->sigrdataset); qctx->rpz_st->q.is_zone = qctx->is_zone; qctx->is_zone = true; - rpz_log_rewrite(qctx->client, false, - qctx->rpz_st->m.policy, + rpz_log_rewrite(qctx->client, false, qctx->rpz_st->m.policy, qctx->rpz_st->m.type, qctx->zone, qctx->rpz_st->p_name, NULL, qctx->rpz_st->m.rpz->num); @@ -6530,11 +6418,12 @@ query_checkrpz(query_ctx_t *qctx, isc_result_t result) { * foo.evil.com CNAME foo.evil.com.example.com */ static isc_result_t -query_rpzcname(query_ctx_t *qctx, dns_name_t *cname) { - ns_client_t *client; +query_rpzcname(query_ctx_t *qctx, dns_name_t *cname) +{ + ns_client_t * client; dns_fixedname_t prefix, suffix; - unsigned int labels; - isc_result_t result; + unsigned int labels; + isc_result_t result; REQUIRE(qctx != NULL && qctx->client != NULL); @@ -6548,8 +6437,8 @@ query_rpzcname(query_ctx_t *qctx, dns_name_t *cname) { dns_name_split(client->query.qname, 1, dns_fixedname_name(&prefix), NULL); dns_fixedname_init(&suffix); - dns_name_split(cname, labels-1, - NULL, dns_fixedname_name(&suffix)); + dns_name_split(cname, labels - 1, NULL, + dns_fixedname_name(&suffix)); result = dns_name_concatenate(dns_fixedname_name(&prefix), dns_fixedname_name(&suffix), qctx->fname, NULL); @@ -6563,8 +6452,8 @@ query_rpzcname(query_ctx_t *qctx, dns_name_t *cname) { } ns_client_keepname(client, qctx->fname, qctx->dbuf); - result = query_addcname(qctx, dns_trust_authanswer, - qctx->rpz_st->m.ttl); + result = + query_addcname(qctx, dns_trust_authanswer, qctx->rpz_st->m.ttl); if (result != ISC_R_SUCCESS) { return (result); } @@ -6580,8 +6469,8 @@ query_rpzcname(query_ctx_t *qctx, dns_name_t *cname) { * Turn off DNSSEC because the results of a * response policy zone cannot verify. */ - client->attributes &= ~(NS_CLIENTATTR_WANTDNSSEC | - NS_CLIENTATTR_WANTAD); + client->attributes &= + ~(NS_CLIENTATTR_WANTDNSSEC | NS_CLIENTATTR_WANTAD); return (ISC_R_SUCCESS); } @@ -6593,12 +6482,13 @@ query_rpzcname(query_ctx_t *qctx, dns_name_t *cname) { * Return true when found, otherwise return false. */ static bool -has_ta(query_ctx_t *qctx) { +has_ta(query_ctx_t *qctx) +{ dns_keytable_t *keytable = NULL; - dns_keynode_t *keynode = NULL; + dns_keynode_t * keynode = NULL; dns_rdataset_t *dsset = NULL; - dns_keytag_t sentinel = qctx->client->query.root_key_sentinel_keyid; - isc_result_t result; + dns_keytag_t sentinel = qctx->client->query.root_key_sentinel_keyid; + isc_result_t result; result = dns_view_getsecroots(qctx->view, &keytable); if (result != ISC_R_SUCCESS) { @@ -6617,9 +6507,8 @@ has_ta(query_ctx_t *qctx) { if ((dsset = dns_keynode_dsset(keynode)) != NULL) { for (result = dns_rdataset_first(dsset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(dsset)) - { - dns_rdata_t rdata = DNS_RDATA_INIT; + result = dns_rdataset_next(dsset)) { + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_ds_t ds; dns_rdata_reset(&rdata); @@ -6647,13 +6536,13 @@ has_ta(query_ctx_t *qctx) { * Check if a root key sentinel SERVFAIL should be returned. */ static bool -root_key_sentinel_return_servfail(query_ctx_t *qctx, isc_result_t result) { +root_key_sentinel_return_servfail(query_ctx_t *qctx, isc_result_t result) +{ /* * Are we looking at a "root-key-sentinel" query? */ if (!qctx->client->query.root_key_sentinel_is_ta && - !qctx->client->query.root_key_sentinel_not_ta) - { + !qctx->client->query.root_key_sentinel_not_ta) { return (false); } @@ -6675,11 +6564,9 @@ root_key_sentinel_return_servfail(query_ctx_t *qctx, isc_result_t result) { /* * Do we meet the specified conditions to return SERVFAIL? */ - if (!qctx->is_zone && - qctx->rdataset->trust == dns_trust_secure && + if (!qctx->is_zone && qctx->rdataset->trust == dns_trust_secure && ((qctx->client->query.root_key_sentinel_is_ta && !has_ta(qctx)) || - (qctx->client->query.root_key_sentinel_not_ta && has_ta(qctx)))) - { + (qctx->client->query.root_key_sentinel_not_ta && has_ta(qctx)))) { return (true); } @@ -6698,9 +6585,10 @@ root_key_sentinel_return_servfail(query_ctx_t *qctx, isc_result_t result) { * return true; otherwise, return false. */ static bool -query_usestale(query_ctx_t *qctx) { - bool staleanswersok = false; - dns_ttl_t stale_ttl = 0; +query_usestale(query_ctx_t *qctx) +{ + bool staleanswersok = false; + dns_ttl_t stale_ttl = 0; isc_result_t result; qctx_clean(qctx); @@ -6712,14 +6600,13 @@ query_usestale(query_ctx_t *qctx) { */ dns_db_attach(qctx->client->view->cachedb, &qctx->db); result = dns_db_getservestalettl(qctx->db, &stale_ttl); - if (result == ISC_R_SUCCESS && stale_ttl > 0) { + if (result == ISC_R_SUCCESS && stale_ttl > 0) { switch (qctx->client->view->staleanswersok) { case dns_stale_answer_yes: staleanswersok = true; break; case dns_stale_answer_conf: - staleanswersok = - qctx->client->view->staleanswersenable; + staleanswersok = qctx->client->view->staleanswersenable; break; case dns_stale_answer_no: staleanswersok = false; @@ -6748,9 +6635,10 @@ query_usestale(query_ctx_t *qctx) { * result from the search. */ static isc_result_t -query_gotanswer(query_ctx_t *qctx, isc_result_t res) { +query_gotanswer(query_ctx_t *qctx, isc_result_t res) +{ isc_result_t result = res; - char errmsg[256]; + char errmsg[256]; CCTRACE(ISC_LOG_DEBUG(3), "query_gotanswer"); @@ -6761,8 +6649,7 @@ query_gotanswer(query_ctx_t *qctx, isc_result_t res) { } if (!RECURSING(qctx->client) && - !dns_name_equal(qctx->client->query.qname, dns_rootname)) - { + !dns_name_equal(qctx->client->query.qname, dns_rootname)) { result = query_checkrpz(qctx, result); if (result == ISC_R_COMPLETE) { return (ns_query_done(qctx)); @@ -6853,17 +6740,18 @@ query_gotanswer(query_ctx_t *qctx, isc_result_t res) { return (ns_query_done(qctx)); } - cleanup: +cleanup: return (result); } static void -query_addnoqnameproof(query_ctx_t *qctx) { - ns_client_t *client = qctx->client; - isc_buffer_t *dbuf, b; - dns_name_t *fname = NULL; +query_addnoqnameproof(query_ctx_t *qctx) +{ + ns_client_t * client = qctx->client; + isc_buffer_t * dbuf, b; + dns_name_t * fname = NULL; dns_rdataset_t *neg = NULL, *negsig = NULL; - isc_result_t result = ISC_R_NOMEMORY; + isc_result_t result = ISC_R_NOMEMORY; CTRACE(ISC_LOG_DEBUG(3), "query_addnoqnameproof"); @@ -6920,7 +6808,7 @@ query_addnoqnameproof(query_ctx_t *qctx) { query_addrrset(qctx, &fname, &neg, &negsig, dbuf, DNS_SECTION_AUTHORITY); - cleanup: +cleanup: if (neg != NULL) { ns_client_putrdataset(client, &neg); } @@ -6936,22 +6824,23 @@ query_addnoqnameproof(query_ctx_t *qctx) { * Build the response for a query for type ANY. */ static isc_result_t -query_respond_any(query_ctx_t *qctx) { - bool found = false, hidden = false; +query_respond_any(query_ctx_t *qctx) +{ + bool found = false, hidden = false; dns_rdatasetiter_t *rdsiter = NULL; - isc_result_t result; - dns_rdatatype_t onetype = 0; /* type to use for minimal-any */ - isc_buffer_t b; + isc_result_t result; + dns_rdatatype_t onetype = 0; /* type to use for minimal-any */ + isc_buffer_t b; CCTRACE(ISC_LOG_DEBUG(3), "query_respond_any"); CALL_HOOK(NS_QUERY_RESPOND_ANY_BEGIN, qctx); - result = dns_db_allrdatasets(qctx->db, qctx->node, - qctx->version, 0, &rdsiter); + result = dns_db_allrdatasets(qctx->db, qctx->node, qctx->version, 0, + &rdsiter); if (result != ISC_R_SUCCESS) { - CCTRACE(ISC_LOG_ERROR, - "query_respond_any: allrdatasets failed"); + CCTRACE(ISC_LOG_ERROR, "query_respond_any: allrdatasets " + "failed"); QUERY_ERROR(qctx, result); return (ns_query_done(qctx)); } @@ -6978,8 +6867,7 @@ query_respond_any(query_ctx_t *qctx) { * We found an NS RRset; no need to add one later. */ if (qctx->qtype == dns_rdatatype_any && - qctx->rdataset->type == dns_rdatatype_ns) - { + qctx->rdataset->type == dns_rdatatype_ns) { qctx->answer_has_ns = true; } @@ -6991,38 +6879,32 @@ query_respond_any(query_ctx_t *qctx) { */ if (qctx->is_zone && qctx->qtype == dns_rdatatype_any && !dns_db_issecure(qctx->db) && - dns_rdatatype_isdnssec(qctx->rdataset->type)) - { + dns_rdatatype_isdnssec(qctx->rdataset->type)) { /* * The zone may be transitioning from insecure * to secure. Hide DNSSEC records from ANY queries. */ dns_rdataset_disassociate(qctx->rdataset); hidden = true; - } else if (qctx->view->minimal_any && - !TCP(qctx->client) && !WANTDNSSEC(qctx->client) && + } else if (qctx->view->minimal_any && !TCP(qctx->client) && + !WANTDNSSEC(qctx->client) && qctx->qtype == dns_rdatatype_any && (qctx->rdataset->type == dns_rdatatype_sig || - qctx->rdataset->type == dns_rdatatype_rrsig)) - { + qctx->rdataset->type == dns_rdatatype_rrsig)) { CCTRACE(ISC_LOG_DEBUG(5), "query_respond_any: " - "minimal-any skip signature"); + "minimal-any skip signature"); dns_rdataset_disassociate(qctx->rdataset); - } else if (qctx->view->minimal_any && - !TCP(qctx->client) && onetype != 0 && - qctx->rdataset->type != onetype && - qctx->rdataset->covers != onetype) - { + } else if (qctx->view->minimal_any && !TCP(qctx->client) && + onetype != 0 && qctx->rdataset->type != onetype && + qctx->rdataset->covers != onetype) { CCTRACE(ISC_LOG_DEBUG(5), "query_respond_any: " - "minimal-any skip rdataset"); + "minimal-any skip rdataset"); dns_rdataset_disassociate(qctx->rdataset); } else if ((qctx->qtype == dns_rdatatype_any || qctx->rdataset->type == qctx->qtype) && - qctx->rdataset->type != 0) - { + qctx->rdataset->type != 0) { if (NOQNAME(qctx->rdataset) && - WANTDNSSEC(qctx->client)) - { + WANTDNSSEC(qctx->client)) { qctx->noqname = qctx->rdataset; } else { qctx->noqname = NULL; @@ -7036,9 +6918,8 @@ query_respond_any(query_ctx_t *qctx) { if (!qctx->is_zone && RECURSIONOK(qctx->client)) { dns_name_t *name; - name = (qctx->fname != NULL) - ? qctx->fname - : qctx->tname; + name = (qctx->fname != NULL) ? qctx->fname + : qctx->tname; query_prefetch(qctx->client, name, qctx->rdataset); } @@ -7048,19 +6929,17 @@ query_respond_any(query_ctx_t *qctx) { * can skip others with minimal-any. */ if (qctx->rdataset->type == dns_rdatatype_sig || - qctx->rdataset->type == dns_rdatatype_rrsig) - { + qctx->rdataset->type == dns_rdatatype_rrsig) { onetype = qctx->rdataset->covers; } else { onetype = qctx->rdataset->type; } query_addrrset(qctx, - (qctx->fname != NULL) - ? &qctx->fname - : &qctx->tname, - &qctx->rdataset, NULL, - NULL, DNS_SECTION_ANSWER); + (qctx->fname != NULL) ? &qctx->fname + : &qctx->tname, + &qctx->rdataset, NULL, NULL, + DNS_SECTION_ANSWER); query_addnoqnameproof(qctx); @@ -7093,8 +6972,8 @@ query_respond_any(query_ctx_t *qctx) { dns_rdatasetiter_destroy(&rdsiter); if (result != ISC_R_NOMORE) { - CCTRACE(ISC_LOG_ERROR, - "query_respond_any: rdataset iterator failed"); + CCTRACE(ISC_LOG_ERROR, "query_respond_any: rdataset iterator " + "failed"); QUERY_ERROR(qctx, DNS_R_SERVFAIL); return (ns_query_done(qctx)); } @@ -7118,8 +6997,7 @@ query_respond_any(query_ctx_t *qctx) { */ query_addauth(qctx); } else if (qctx->qtype == dns_rdatatype_rrsig || - qctx->qtype == dns_rdatatype_sig) - { + qctx->qtype == dns_rdatatype_sig) { /* * No matching rdatasets were found, but we got * here on a search for RRSIG/SIG, so that's okay. @@ -7132,11 +7010,10 @@ query_respond_any(query_ctx_t *qctx) { } if (qctx->qtype == dns_rdatatype_rrsig && - dns_db_issecure(qctx->db)) - { + dns_db_issecure(qctx->db)) { char namebuf[DNS_NAME_FORMATSIZE]; - dns_name_format(qctx->client->query.qname, - namebuf, sizeof(namebuf)); + dns_name_format(qctx->client->query.qname, namebuf, + sizeof(namebuf)); ns_client_log(qctx->client, DNS_LOGCATEGORY_DNSSEC, NS_LOGMODULE_QUERY, ISC_LOG_WARNING, "missing signature for %s", namebuf); @@ -7154,7 +7031,7 @@ query_respond_any(query_ctx_t *qctx) { return (ns_query_done(qctx)); - cleanup: +cleanup: return (result); } @@ -7163,7 +7040,8 @@ query_respond_any(query_ctx_t *qctx) { * master zone. */ static void -query_getexpire(query_ctx_t *qctx) { +query_getexpire(query_ctx_t *qctx) +{ dns_zone_t *raw = NULL, *mayberaw; CCTRACE(ISC_LOG_DEBUG(3), "query_getexpire"); @@ -7171,8 +7049,7 @@ query_getexpire(query_ctx_t *qctx) { if (qctx->zone == NULL || !qctx->is_zone || qctx->qtype != dns_rdatatype_soa || qctx->client->query.restarts != 0 || - (qctx->client->attributes & NS_CLIENTATTR_WANTEXPIRE) == 0) - { + (qctx->client->attributes & NS_CLIENTATTR_WANTEXPIRE) == 0) { return; } @@ -7180,22 +7057,19 @@ query_getexpire(query_ctx_t *qctx) { mayberaw = (raw != NULL) ? raw : qctx->zone; if (dns_zone_gettype(mayberaw) == dns_zone_slave || - dns_zone_gettype(mayberaw) == dns_zone_mirror) - { + dns_zone_gettype(mayberaw) == dns_zone_mirror) { isc_time_t expiretime; - uint32_t secs; + uint32_t secs; dns_zone_getexpiretime(qctx->zone, &expiretime); secs = isc_time_seconds(&expiretime); if (secs >= qctx->client->now && - qctx->result == ISC_R_SUCCESS) - { - qctx->client->attributes |= - NS_CLIENTATTR_HAVEEXPIRE; + qctx->result == ISC_R_SUCCESS) { + qctx->client->attributes |= NS_CLIENTATTR_HAVEEXPIRE; qctx->client->expire = secs - qctx->client->now; } } else if (dns_zone_gettype(mayberaw) == dns_zone_master) { - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_soa_t soa; result = dns_rdataset_first(qctx->rdataset); @@ -7218,9 +7092,10 @@ query_getexpire(query_ctx_t *qctx) { * Fill the ANSWER section of a positive response. */ static isc_result_t -query_addanswer(query_ctx_t *qctx) { +query_addanswer(query_ctx_t *qctx) +{ dns_rdataset_t **sigrdatasetp = NULL; - isc_result_t result; + isc_result_t result; CCTRACE(ISC_LOG_DEBUG(3), "query_addanswer"); @@ -7265,14 +7140,13 @@ query_addanswer(query_ctx_t *qctx) { if (WANTDNSSEC(qctx->client) && qctx->sigrdataset != NULL) { sigrdatasetp = &qctx->sigrdataset; } - query_addrrset(qctx, &qctx->fname, - &qctx->rdataset, sigrdatasetp, - qctx->dbuf, DNS_SECTION_ANSWER); + query_addrrset(qctx, &qctx->fname, &qctx->rdataset, + sigrdatasetp, qctx->dbuf, DNS_SECTION_ANSWER); } return (ISC_R_COMPLETE); - cleanup: +cleanup: return (result); } @@ -7281,7 +7155,8 @@ query_addanswer(query_ctx_t *qctx) { * for which we have an answer (either positive or negative). */ static isc_result_t -query_respond(query_ctx_t *qctx) { +query_respond(query_ctx_t *qctx) +{ isc_result_t result; CCTRACE(ISC_LOG_DEBUG(3), "query_respond"); @@ -7295,8 +7170,7 @@ query_respond(query_ctx_t *qctx) { if (qctx->qtype == dns_rdatatype_aaaa && !qctx->dns64_exclude && !ISC_LIST_EMPTY(qctx->view->dns64) && qctx->client->message->rdclass == dns_rdataclass_in && - !dns64_aaaaok(qctx->client, qctx->rdataset, qctx->sigrdataset)) - { + !dns64_aaaaok(qctx->client, qctx->rdataset, qctx->sigrdataset)) { /* * Look to see if there are A records for this name. */ @@ -7336,8 +7210,7 @@ query_respond(query_ctx_t *qctx) { * the authority section */ if (dns_name_equal(qctx->client->query.qname, - dns_db_origin(qctx->db))) - { + dns_db_origin(qctx->db))) { qctx->answer_has_ns = true; } @@ -7374,28 +7247,29 @@ query_respond(query_ctx_t *qctx) { return (ns_query_done(qctx)); - cleanup: +cleanup: return (result); } static isc_result_t -query_dns64(query_ctx_t *qctx) { - ns_client_t *client = qctx->client; +query_dns64(query_ctx_t *qctx) +{ + ns_client_t * client = qctx->client; dns_aclenv_t *env = ns_interfacemgr_getaclenv(client->manager->interface->mgr); - dns_name_t *name, *mname; - dns_rdata_t *dns64_rdata; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdatalist_t *dns64_rdatalist; - dns_rdataset_t *dns64_rdataset; - dns_rdataset_t *mrdataset; - isc_buffer_t *buffer; - isc_region_t r; - isc_result_t result; - dns_view_t *view = client->view; - isc_netaddr_t netaddr; - dns_dns64_t *dns64; - unsigned int flags = 0; + dns_name_t * name, *mname; + dns_rdata_t * dns64_rdata; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdatalist_t * dns64_rdatalist; + dns_rdataset_t * dns64_rdataset; + dns_rdataset_t * mrdataset; + isc_buffer_t * buffer; + isc_region_t r; + isc_result_t result; + dns_view_t * view = client->view; + isc_netaddr_t netaddr; + dns_dns64_t * dns64; + unsigned int flags = 0; const dns_section_t section = DNS_SECTION_ANSWER; /*% @@ -7420,17 +7294,16 @@ query_dns64(query_ctx_t *qctx) { dns64_rdata = NULL; dns64_rdataset = NULL; dns64_rdatalist = NULL; - result = dns_message_findname(client->message, section, - name, dns_rdatatype_aaaa, - qctx->rdataset->covers, - &mname, &mrdataset); + result = dns_message_findname( + client->message, section, name, dns_rdatatype_aaaa, + qctx->rdataset->covers, &mname, &mrdataset); if (result == ISC_R_SUCCESS) { /* * We've already got an RRset of the given name and type. * There's nothing else to do; */ - CTRACE(ISC_LOG_DEBUG(3), - "query_dns64: dns_message_findname succeeded: done"); + CTRACE(ISC_LOG_DEBUG(3), "query_dns64: dns_message_findname " + "succeeded: done"); if (qctx->dbuf != NULL) { ns_client_releasename(client, &qctx->fname); } @@ -7460,13 +7333,12 @@ query_dns64(query_ctx_t *qctx) { isc_buffer_allocate(client->mctx, &buffer, view->dns64cnt * 16 * - dns_rdataset_count(qctx->rdataset)); - result = dns_message_gettemprdataset(client->message, - &dns64_rdataset); + dns_rdataset_count(qctx->rdataset)); + result = dns_message_gettemprdataset(client->message, &dns64_rdataset); if (result != ISC_R_SUCCESS) goto cleanup; - result = dns_message_gettemprdatalist(client->message, - &dns64_rdatalist); + result = + dns_message_gettemprdatalist(client->message, &dns64_rdatalist); if (result != ISC_R_SUCCESS) goto cleanup; @@ -7474,8 +7346,8 @@ query_dns64(query_ctx_t *qctx) { dns64_rdatalist->rdclass = dns_rdataclass_in; dns64_rdatalist->type = dns_rdatatype_aaaa; if (client->query.dns64_ttl != UINT32_MAX) - dns64_rdatalist->ttl = ISC_MIN(qctx->rdataset->ttl, - client->query.dns64_ttl); + dns64_rdatalist->ttl = + ISC_MIN(qctx->rdataset->ttl, client->query.dns64_ttl); else dns64_rdatalist->ttl = ISC_MIN(qctx->rdataset->ttl, 600); @@ -7493,9 +7365,8 @@ query_dns64(query_ctx_t *qctx) { for (result = dns_rdataset_first(qctx->rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(qctx->rdataset)) { - for (dns64 = ISC_LIST_HEAD(client->view->dns64); - dns64 != NULL; dns64 = dns_dns64_next(dns64)) { - + for (dns64 = ISC_LIST_HEAD(client->view->dns64); dns64 != NULL; + dns64 = dns_dns64_next(dns64)) { dns_rdataset_current(qctx->rdataset, &rdata); isc_buffer_availableregion(buffer, &r); INSIST(r.length >= 16); @@ -7544,7 +7415,7 @@ query_dns64(query_ctx_t *qctx) { inc_stats(client, ns_statscounter_dns64); result = ISC_R_SUCCESS; - cleanup: +cleanup: if (buffer != NULL) isc_buffer_free(&buffer); @@ -7557,10 +7428,9 @@ query_dns64(query_ctx_t *qctx) { if (dns64_rdatalist != NULL) { for (dns64_rdata = ISC_LIST_HEAD(dns64_rdatalist->rdata); dns64_rdata != NULL; - dns64_rdata = ISC_LIST_HEAD(dns64_rdatalist->rdata)) - { - ISC_LIST_UNLINK(dns64_rdatalist->rdata, - dns64_rdata, link); + dns64_rdata = ISC_LIST_HEAD(dns64_rdatalist->rdata)) { + ISC_LIST_UNLINK(dns64_rdatalist->rdata, dns64_rdata, + link); dns_message_puttemprdata(client->message, &dns64_rdata); } dns_message_puttemprdatalist(client->message, &dns64_rdatalist); @@ -7571,17 +7441,18 @@ query_dns64(query_ctx_t *qctx) { } static void -query_filter64(query_ctx_t *qctx) { - ns_client_t *client = qctx->client; - dns_name_t *name, *mname; - dns_rdata_t *myrdata; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdatalist_t *myrdatalist; - dns_rdataset_t *myrdataset; - isc_buffer_t *buffer; - isc_region_t r; - isc_result_t result; - unsigned int i; +query_filter64(query_ctx_t *qctx) +{ + ns_client_t * client = qctx->client; + dns_name_t * name, *mname; + dns_rdata_t * myrdata; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdatalist_t * myrdatalist; + dns_rdataset_t * myrdataset; + isc_buffer_t * buffer; + isc_region_t r; + isc_result_t result; + unsigned int i; const dns_section_t section = DNS_SECTION_ANSWER; CTRACE(ISC_LOG_DEBUG(3), "query_filter64"); @@ -7596,17 +7467,16 @@ query_filter64(query_ctx_t *qctx) { myrdata = NULL; myrdataset = NULL; myrdatalist = NULL; - result = dns_message_findname(client->message, section, - name, dns_rdatatype_aaaa, - qctx->rdataset->covers, - &mname, &myrdataset); + result = dns_message_findname( + client->message, section, name, dns_rdatatype_aaaa, + qctx->rdataset->covers, &mname, &myrdataset); if (result == ISC_R_SUCCESS) { /* * We've already got an RRset of the given name and type. * There's nothing else to do; */ - CTRACE(ISC_LOG_DEBUG(3), - "query_filter64: dns_message_findname succeeded: done"); + CTRACE(ISC_LOG_DEBUG(3), "query_filter64: dns_message_findname " + "succeeded: done"); if (qctx->dbuf != NULL) { ns_client_releasename(client, &qctx->fname); } @@ -7643,8 +7513,7 @@ query_filter64(query_ctx_t *qctx) { i = 0; for (result = dns_rdataset_first(qctx->rdataset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(qctx->rdataset)) - { + result = dns_rdataset_next(qctx->rdataset)) { if (!client->query.dns64_aaaaok[i++]) continue; dns_rdataset_current(qctx->rdataset, &rdata); @@ -7674,8 +7543,7 @@ query_filter64(query_ctx_t *qctx) { if (qctx->dbuf != NULL) { ns_client_keepname(client, name, qctx->dbuf); } - dns_message_addname(client->message, name, - section); + dns_message_addname(client->message, name, section); qctx->dbuf = NULL; } myrdataset->trust = qctx->rdataset->trust; @@ -7687,7 +7555,7 @@ query_filter64(query_ctx_t *qctx) { myrdatalist = NULL; dns_message_takebuffer(client->message, &buffer); - cleanup: +cleanup: if (buffer != NULL) isc_buffer_free(&buffer); @@ -7700,8 +7568,7 @@ query_filter64(query_ctx_t *qctx) { if (myrdatalist != NULL) { for (myrdata = ISC_LIST_HEAD(myrdatalist->rdata); myrdata != NULL; - myrdata = ISC_LIST_HEAD(myrdatalist->rdata)) - { + myrdata = ISC_LIST_HEAD(myrdatalist->rdata)) { ISC_LIST_UNLINK(myrdatalist->rdata, myrdata, link); dns_message_puttemprdata(client->message, &myrdata); } @@ -7720,7 +7587,8 @@ query_filter64(query_ctx_t *qctx) { * query_delegation() for a root referral if appropriate. */ static isc_result_t -query_notfound(query_ctx_t *qctx) { +query_notfound(query_ctx_t *qctx) +{ isc_result_t result; CCTRACE(ISC_LOG_DEBUG(3), "query_notfound"); @@ -7738,16 +7606,15 @@ query_notfound(query_ctx_t *qctx) { */ if (qctx->view->hints != NULL) { dns_clientinfomethods_t cm; - dns_clientinfo_t ci; + dns_clientinfo_t ci; dns_clientinfomethods_init(&cm, ns_client_sourceip); dns_clientinfo_init(&ci, qctx->client, NULL); dns_db_attach(qctx->view->hints, &qctx->db); - result = dns_db_findext(qctx->db, dns_rootname, - NULL, dns_rdatatype_ns, - 0, qctx->client->now, &qctx->node, - qctx->fname, &cm, &ci, + result = dns_db_findext(qctx->db, dns_rootname, NULL, + dns_rdatatype_ns, 0, qctx->client->now, + &qctx->node, qctx->fname, &cm, &ci, qctx->rdataset, qctx->sigrdataset); } else { /* We have no hints. */ @@ -7772,7 +7639,7 @@ query_notfound(query_ctx_t *qctx) { if (result == ISC_R_SUCCESS) { CALL_HOOK(NS_QUERY_NOTFOUND_RECURSE, qctx); qctx->client->query.attributes |= - NS_QUERYATTR_RECURSING; + NS_QUERYATTR_RECURSING; if (qctx->dns64) { qctx->client->query.attributes |= @@ -7788,8 +7655,8 @@ query_notfound(query_ctx_t *qctx) { return (ns_query_done(qctx)); } else { /* Unable to give root server referral. */ - CCTRACE(ISC_LOG_ERROR, - "unable to give root server referral"); + CCTRACE(ISC_LOG_ERROR, "unable to give root server " + "referral"); QUERY_ERROR(qctx, result); return (ns_query_done(qctx)); } @@ -7797,7 +7664,7 @@ query_notfound(query_ctx_t *qctx) { return (query_delegation(qctx)); - cleanup: +cleanup: return (result); } @@ -7806,10 +7673,11 @@ query_notfound(query_ctx_t *qctx) { * to the client. */ static isc_result_t -query_prepare_delegation_response(query_ctx_t *qctx) { - isc_result_t result; +query_prepare_delegation_response(query_ctx_t *qctx) +{ + isc_result_t result; dns_rdataset_t **sigrdatasetp = NULL; - bool detach = false; + bool detach = false; CALL_HOOK(NS_QUERY_PREP_DELEGATION_BEGIN, qctx); @@ -7838,8 +7706,8 @@ query_prepare_delegation_response(query_ctx_t *qctx) { if (WANTDNSSEC(qctx->client) && qctx->sigrdataset != NULL) { sigrdatasetp = &qctx->sigrdataset; } - query_addrrset(qctx, &qctx->fname, &qctx->rdataset, - sigrdatasetp, qctx->dbuf, DNS_SECTION_AUTHORITY); + query_addrrset(qctx, &qctx->fname, &qctx->rdataset, sigrdatasetp, + qctx->dbuf, DNS_SECTION_AUTHORITY); if (detach) { dns_db_detach(&qctx->client->query.gluedb); } @@ -7851,7 +7719,7 @@ query_prepare_delegation_response(query_ctx_t *qctx) { return (ns_query_done(qctx)); - cleanup: +cleanup: return (result); } @@ -7862,7 +7730,8 @@ query_prepare_delegation_response(query_ctx_t *qctx) { * delegation to the client and call ns_query_done(). */ static isc_result_t -query_zone_delegation(query_ctx_t *qctx) { +query_zone_delegation(query_ctx_t *qctx) +{ isc_result_t result; CALL_HOOK(NS_QUERY_ZONE_DELEGATION_BEGIN, qctx); @@ -7873,17 +7742,13 @@ query_zone_delegation(query_ctx_t *qctx) { */ if (!RECURSIONOK(qctx->client) && (qctx->options & DNS_GETDB_NOEXACT) != 0 && - qctx->qtype == dns_rdatatype_ds) - { - dns_db_t *tdb = NULL; - dns_zone_t *tzone = NULL; + qctx->qtype == dns_rdatatype_ds) { + dns_db_t * tdb = NULL; + dns_zone_t * tzone = NULL; dns_dbversion_t *tversion = NULL; - result = query_getzonedb(qctx->client, - qctx->client->query.qname, - qctx->qtype, - DNS_GETDB_PARTIAL, - &tzone, &tdb, - &tversion); + result = query_getzonedb( + qctx->client, qctx->client->query.qname, qctx->qtype, + DNS_GETDB_PARTIAL, &tzone, &tdb, &tversion); if (result != ISC_R_SUCCESS) { if (tdb != NULL) dns_db_detach(&tdb); @@ -7891,8 +7756,7 @@ query_zone_delegation(query_ctx_t *qctx) { dns_zone_detach(&tzone); } else { qctx->options &= ~DNS_GETDB_NOEXACT; - ns_client_putrdataset(qctx->client, - &qctx->rdataset); + ns_client_putrdataset(qctx->client, &qctx->rdataset); if (qctx->sigrdataset != NULL) { ns_client_putrdataset(qctx->client, &qctx->sigrdataset); @@ -7902,8 +7766,7 @@ query_zone_delegation(query_ctx_t *qctx) { &qctx->fname); } if (qctx->node != NULL) - dns_db_detachnode(qctx->db, - &qctx->node); + dns_db_detachnode(qctx->db, &qctx->node); if (qctx->db != NULL) dns_db_detach(&qctx->db); if (qctx->zone != NULL) @@ -7921,8 +7784,7 @@ query_zone_delegation(query_ctx_t *qctx) { if (USECACHE(qctx->client) && (RECURSIONOK(qctx->client) || (qctx->zone != NULL && - dns_zone_gettype(qctx->zone) == dns_zone_mirror))) - { + dns_zone_gettype(qctx->zone) == dns_zone_mirror))) { /* * We might have a better answer or delegation in the * cache. We'll remember the current values of fname, @@ -7947,7 +7809,7 @@ query_zone_delegation(query_ctx_t *qctx) { return (query_prepare_delegation_response(qctx)); - cleanup: +cleanup: return (result); } @@ -7960,7 +7822,8 @@ query_zone_delegation(query_ctx_t *qctx) { * client and call ns_query_done(). */ static isc_result_t -query_delegation(query_ctx_t *qctx) { +query_delegation(query_ctx_t *qctx) +{ isc_result_t result; CCTRACE(ISC_LOG_DEBUG(3), "query_delegation"); @@ -7976,8 +7839,7 @@ query_delegation(query_ctx_t *qctx) { if (qctx->zfname != NULL && (!dns_name_issubdomain(qctx->fname, qctx->zfname) || (qctx->is_staticstub_zone && - dns_name_equal(qctx->fname, qctx->zfname)))) - { + dns_name_equal(qctx->fname, qctx->zfname)))) { /* * In the following cases use "authoritative" * data instead of the cache delegation: @@ -8004,8 +7866,7 @@ query_delegation(query_ctx_t *qctx) { qctx->dbuf = NULL; ns_client_putrdataset(qctx->client, &qctx->rdataset); if (qctx->sigrdataset != NULL) { - ns_client_putrdataset(qctx->client, - &qctx->sigrdataset); + ns_client_putrdataset(qctx->client, &qctx->sigrdataset); } qctx->version = NULL; @@ -8026,7 +7887,7 @@ query_delegation(query_ctx_t *qctx) { return (query_prepare_delegation_response(qctx)); - cleanup: +cleanup: return (result); } @@ -8035,9 +7896,10 @@ query_delegation(query_ctx_t *qctx) { * delegation process. */ static isc_result_t -query_delegation_recurse(query_ctx_t *qctx) { +query_delegation_recurse(query_ctx_t *qctx) +{ isc_result_t result; - dns_name_t *qname = qctx->client->query.qname; + dns_name_t * qname = qctx->client->query.qname; CCTRACE(ISC_LOG_DEBUG(3), "query_delegation_recurse"); @@ -8085,7 +7947,7 @@ query_delegation_recurse(query_ctx_t *qctx) { } if (qctx->dns64_exclude) { qctx->client->query.attributes |= - NS_QUERYATTR_DNS64EXCLUDE; + NS_QUERYATTR_DNS64EXCLUDE; } } else { QUERY_ERROR(qctx, result); @@ -8093,7 +7955,7 @@ query_delegation_recurse(query_ctx_t *qctx) { return (ns_query_done(qctx)); - cleanup: +cleanup: return (result); } @@ -8101,16 +7963,17 @@ query_delegation_recurse(query_ctx_t *qctx) { * Add a DS record if needed. */ static void -query_addds(query_ctx_t *qctx) { - ns_client_t *client = qctx->client; +query_addds(query_ctx_t *qctx) +{ + ns_client_t * client = qctx->client; dns_fixedname_t fixed; - dns_name_t *fname = NULL; - dns_name_t *rname = NULL; - dns_name_t *name; + dns_name_t * fname = NULL; + dns_name_t * rname = NULL; + dns_name_t * name; dns_rdataset_t *rdataset = NULL, *sigrdataset = NULL; - isc_buffer_t *dbuf, b; - isc_result_t result; - unsigned int count; + isc_buffer_t * dbuf, b; + isc_result_t result; + unsigned int count; CTRACE(ISC_LOG_DEBUG(3), "query_addds"); @@ -8133,17 +7996,15 @@ query_addds(query_ctx_t *qctx) { * Look for the DS record, which may or may not be present. */ result = dns_db_findrdataset(qctx->db, qctx->node, qctx->version, - dns_rdatatype_ds, 0, client->now, - rdataset, sigrdataset); + dns_rdatatype_ds, 0, client->now, rdataset, + sigrdataset); /* * If we didn't find it, look for an NSEC. */ if (result == ISC_R_NOTFOUND) - result = dns_db_findrdataset(qctx->db, qctx->node, - qctx->version, - dns_rdatatype_nsec, - 0, client->now, - rdataset, sigrdataset); + result = dns_db_findrdataset( + qctx->db, qctx->node, qctx->version, dns_rdatatype_nsec, + 0, client->now, rdataset, sigrdataset); if (result != ISC_R_SUCCESS && result != ISC_R_NOTFOUND) goto addnsec3; if (!dns_rdataset_isassociated(rdataset) || @@ -8160,8 +8021,7 @@ query_addds(query_ctx_t *qctx) { goto cleanup; rname = NULL; - dns_message_currentname(client->message, DNS_SECTION_AUTHORITY, - &rname); + dns_message_currentname(client->message, DNS_SECTION_AUTHORITY, &rname); result = dns_message_findtype(rname, dns_rdatatype_ns, 0, NULL); if (result != ISC_R_SUCCESS) goto cleanup; @@ -8172,7 +8032,7 @@ query_addds(query_ctx_t *qctx) { sigrdataset = NULL; return; - addnsec3: +addnsec3: if (!dns_db_iszone(qctx->db)) goto cleanup; /* @@ -8208,18 +8068,17 @@ query_addds(query_ctx_t *qctx) { fixrdataset(client, &rdataset); fixrdataset(client, &sigrdataset); if (fname == NULL || rdataset == NULL || sigrdataset == NULL) - goto cleanup; - query_findclosestnsec3(dns_fixedname_name(&fixed), - qctx->db, qctx->version, client, - rdataset, sigrdataset, fname, - false, NULL); + goto cleanup; + query_findclosestnsec3(dns_fixedname_name(&fixed), qctx->db, + qctx->version, client, rdataset, + sigrdataset, fname, false, NULL); if (!dns_rdataset_isassociated(rdataset)) goto cleanup; query_addrrset(qctx, &fname, &rdataset, &sigrdataset, dbuf, DNS_SECTION_AUTHORITY); } - cleanup: +cleanup: if (rdataset != NULL) { ns_client_putrdataset(client, &rdataset); } @@ -8235,7 +8094,8 @@ query_addds(query_ctx_t *qctx) { * Handle authoritative NOERROR/NODATA responses. */ static isc_result_t -query_nodata(query_ctx_t *qctx, isc_result_t res) { +query_nodata(query_ctx_t *qctx, isc_result_t res) +{ isc_result_t result = res; CCTRACE(ISC_LOG_DEBUG(3), "query_nodata"); @@ -8261,20 +8121,22 @@ query_nodata(query_ctx_t *qctx, isc_result_t res) { if (qctx->fname == NULL) { qctx->dbuf = ns_client_getnamebuf(qctx->client); if (qctx->dbuf == NULL) { - CCTRACE(ISC_LOG_ERROR, - "query_nodata: " - "ns_client_getnamebuf failed (3)"); + CCTRACE(ISC_LOG_ERROR, "query_nodata: " + "ns_client_getnamebuf " + "failed (3)"); QUERY_ERROR(qctx, ISC_R_NOMEMORY); - return (ns_query_done(qctx));; + return (ns_query_done(qctx)); + ; } - qctx->fname = ns_client_newname(qctx->client, - qctx->dbuf, &b); + qctx->fname = + ns_client_newname(qctx->client, qctx->dbuf, &b); if (qctx->fname == NULL) { - CCTRACE(ISC_LOG_ERROR, - "query_nodata: " - "ns_client_newname failed (3)"); + CCTRACE(ISC_LOG_ERROR, "query_nodata: " + "ns_client_newname " + "failed (3)"); QUERY_ERROR(qctx, ISC_R_NOMEMORY); - return (ns_query_done(qctx));; + return (ns_query_done(qctx)); + ; } } dns_name_copynf(qctx->client->query.qname, qctx->fname); @@ -8286,13 +8148,10 @@ query_nodata(query_ctx_t *qctx, isc_result_t res) { if (qctx->dns64_exclude) return (query_prepresponse(qctx)); #endif - } else if ((result == DNS_R_NXRRSET || - result == DNS_R_NCACHENXRRSET) && - !ISC_LIST_EMPTY(qctx->view->dns64) && - !qctx->nxrewrite && + } else if ((result == DNS_R_NXRRSET || result == DNS_R_NCACHENXRRSET) && + !ISC_LIST_EMPTY(qctx->view->dns64) && !qctx->nxrewrite && qctx->client->message->rdclass == dns_rdataclass_in && - qctx->qtype == dns_rdatatype_aaaa) - { + qctx->qtype == dns_rdatatype_aaaa) { /* * Look to see if there are A records for this name. */ @@ -8340,11 +8199,10 @@ query_nodata(query_ctx_t *qctx, isc_result_t res) { if (dns_rdataset_isassociated(qctx->rdataset)) { ns_client_keepname(qctx->client, qctx->fname, qctx->dbuf); - dns_message_addname(qctx->client->message, - qctx->fname, + dns_message_addname(qctx->client->message, qctx->fname, DNS_SECTION_AUTHORITY); - ISC_LIST_APPEND(qctx->fname->list, - qctx->rdataset, link); + ISC_LIST_APPEND(qctx->fname->list, qctx->rdataset, + link); qctx->fname = NULL; qctx->rdataset = NULL; } @@ -8352,7 +8210,7 @@ query_nodata(query_ctx_t *qctx, isc_result_t res) { return (ns_query_done(qctx)); - cleanup: +cleanup: return (result); } @@ -8360,7 +8218,8 @@ query_nodata(query_ctx_t *qctx, isc_result_t res) { * Add RRSIGs for NOERROR/NODATA responses when answering authoritatively. */ isc_result_t -query_sign_nodata(query_ctx_t *qctx) { +query_sign_nodata(query_ctx_t *qctx) +{ isc_result_t result; CCTRACE(ISC_LOG_DEBUG(3), "query_sign_nodata"); @@ -8371,13 +8230,12 @@ query_sign_nodata(query_ctx_t *qctx) { if (qctx->redirected) return (ns_query_done(qctx)); if (!dns_rdataset_isassociated(qctx->rdataset) && - WANTDNSSEC(qctx->client)) - { + WANTDNSSEC(qctx->client)) { if ((qctx->fname->attributes & DNS_NAMEATTR_WILDCARD) == 0) { - dns_name_t *found; - dns_name_t *qname; + dns_name_t * found; + dns_name_t * qname; dns_fixedname_t fixed; - isc_buffer_t b; + isc_buffer_t b; found = dns_fixedname_initname(&fixed); qname = qctx->client->query.qname; @@ -8395,8 +8253,7 @@ query_sign_nodata(query_ctx_t *qctx) { !dns_name_equal(qname, found) && (((qctx->client->sctx->options & NS_SERVER_NONEAREST) == 0) || - qctx->qtype == dns_rdatatype_ds)) - { + qctx->qtype == dns_rdatatype_ds)) { unsigned int count; unsigned int skip; @@ -8405,16 +8262,12 @@ query_sign_nodata(query_ctx_t *qctx) { */ query_addrrset(qctx, &qctx->fname, &qctx->rdataset, - &qctx->sigrdataset, - qctx->dbuf, + &qctx->sigrdataset, qctx->dbuf, DNS_SECTION_AUTHORITY); - count = dns_name_countlabels(found) - + 1; - skip = dns_name_countlabels(qname) - - count; - dns_name_getlabelsequence(qname, skip, - count, + count = dns_name_countlabels(found) + 1; + skip = dns_name_countlabels(qname) - count; + dns_name_getlabelsequence(qname, skip, count, found); fixfname(qctx->client, &qctx->fname, @@ -8424,10 +8277,12 @@ query_sign_nodata(query_ctx_t *qctx) { if (qctx->fname == NULL || qctx->rdataset == NULL || qctx->sigrdataset == NULL) { - CCTRACE(ISC_LOG_ERROR, - "query_sign_nodata: " - "failure getting " - "closest encloser"); + CCTRACE(ISC_LOG_ERROR, "query_sign_" + "nodata: " + "failure " + "getting " + "closest " + "encloser"); QUERY_ERROR(qctx, ISC_R_NOMEMORY); return (ns_query_done(qctx)); } @@ -8435,14 +8290,11 @@ query_sign_nodata(query_ctx_t *qctx) { * 'nearest' doesn't exist so * 'exist' is set to false. */ - query_findclosestnsec3(found, qctx->db, - qctx->version, - qctx->client, - qctx->rdataset, - qctx->sigrdataset, - qctx->fname, - false, - NULL); + query_findclosestnsec3( + found, qctx->db, qctx->version, + qctx->client, qctx->rdataset, + qctx->sigrdataset, qctx->fname, false, + NULL); } } else { ns_client_releasename(qctx->client, &qctx->fname); @@ -8470,8 +8322,7 @@ query_sign_nodata(query_ctx_t *qctx) { * if this was an RPZ rewrite, but if it wasn't, add it now. */ if (!qctx->nxrewrite) { - result = query_addsoa(qctx, UINT32_MAX, - DNS_SECTION_AUTHORITY); + result = query_addsoa(qctx, UINT32_MAX, DNS_SECTION_AUTHORITY); if (result != ISC_R_SUCCESS) { QUERY_ERROR(qctx, result); return (ns_query_done(qctx)); @@ -8482,8 +8333,7 @@ query_sign_nodata(query_ctx_t *qctx) { * Add NSEC record if we found one. */ if (WANTDNSSEC(qctx->client) && - dns_rdataset_isassociated(qctx->rdataset)) - { + dns_rdataset_isassociated(qctx->rdataset)) { query_addnxrrsetnsec(qctx); } @@ -8491,27 +8341,26 @@ query_sign_nodata(query_ctx_t *qctx) { } static void -query_addnxrrsetnsec(query_ctx_t *qctx) { - ns_client_t *client = qctx->client; - dns_rdata_t sigrdata; +query_addnxrrsetnsec(query_ctx_t *qctx) +{ + ns_client_t * client = qctx->client; + dns_rdata_t sigrdata; dns_rdata_rrsig_t sig; - unsigned int labels; - isc_buffer_t *dbuf, b; - dns_name_t *fname; - isc_result_t result; + unsigned int labels; + isc_buffer_t * dbuf, b; + dns_name_t * fname; + isc_result_t result; INSIST(qctx->fname != NULL); if ((qctx->fname->attributes & DNS_NAMEATTR_WILDCARD) == 0) { - query_addrrset(qctx, &qctx->fname, - &qctx->rdataset, &qctx->sigrdataset, - NULL, DNS_SECTION_AUTHORITY); + query_addrrset(qctx, &qctx->fname, &qctx->rdataset, + &qctx->sigrdataset, NULL, DNS_SECTION_AUTHORITY); return; } if (qctx->sigrdataset == NULL || - !dns_rdataset_isassociated(qctx->sigrdataset)) - { + !dns_rdataset_isassociated(qctx->sigrdataset)) { return; } @@ -8548,18 +8397,19 @@ query_addnxrrsetnsec(query_ctx_t *qctx) { /* This will succeed, since we've stripped labels. */ RUNTIME_CHECK(dns_name_concatenate(dns_wildcardname, fname, fname, NULL) == ISC_R_SUCCESS); - query_addrrset(qctx, &fname, &qctx->rdataset, &qctx->sigrdataset, - dbuf, DNS_SECTION_AUTHORITY); + query_addrrset(qctx, &fname, &qctx->rdataset, &qctx->sigrdataset, dbuf, + DNS_SECTION_AUTHORITY); } /*% * Handle NXDOMAIN and empty wildcard responses. */ static isc_result_t -query_nxdomain(query_ctx_t *qctx, bool empty_wild) { +query_nxdomain(query_ctx_t *qctx, bool empty_wild) +{ dns_section_t section; - uint32_t ttl; - isc_result_t result; + uint32_t ttl; + isc_result_t result; CCTRACE(ISC_LOG_DEBUG(3), "query_nxdomain"); @@ -8602,8 +8452,7 @@ query_nxdomain(query_ctx_t *qctx, bool empty_wild) { : DNS_SECTION_AUTHORITY; ttl = UINT32_MAX; if (!qctx->nxrewrite && qctx->qtype == dns_rdatatype_soa && - qctx->zone != NULL && dns_zone_getzeronosoattl(qctx->zone)) - { + qctx->zone != NULL && dns_zone_getzeronosoattl(qctx->zone)) { ttl = 0; } if (!qctx->nxrewrite || qctx->rpz_st->m.rpz->addsoa) { @@ -8619,9 +8468,9 @@ query_nxdomain(query_ctx_t *qctx, bool empty_wild) { * Add NSEC record if we found one. */ if (dns_rdataset_isassociated(qctx->rdataset)) - query_addrrset(qctx, &qctx->fname, - &qctx->rdataset, &qctx->sigrdataset, - NULL, DNS_SECTION_AUTHORITY); + query_addrrset(qctx, &qctx->fname, &qctx->rdataset, + &qctx->sigrdataset, NULL, + DNS_SECTION_AUTHORITY); query_addwildcardproof(qctx, false, false); } @@ -8635,7 +8484,7 @@ query_nxdomain(query_ctx_t *qctx, bool empty_wild) { return (ns_query_done(qctx)); - cleanup: +cleanup: return (result); } @@ -8651,18 +8500,17 @@ query_nxdomain(query_ctx_t *qctx, bool empty_wild) { * redirecting, so query processing should continue past it. */ static isc_result_t -query_redirect(query_ctx_t *qctx) { +query_redirect(query_ctx_t *qctx) +{ isc_result_t result; CCTRACE(ISC_LOG_DEBUG(3), "query_redirect"); result = redirect(qctx->client, qctx->fname, qctx->rdataset, - &qctx->node, &qctx->db, &qctx->version, - qctx->type); + &qctx->node, &qctx->db, &qctx->version, qctx->type); switch (result) { case ISC_R_SUCCESS: - inc_stats(qctx->client, - ns_statscounter_nxdomainredirect); + inc_stats(qctx->client, ns_statscounter_nxdomainredirect); return (query_prepresponse(qctx)); case DNS_R_NXRRSET: qctx->redirected = true; @@ -8677,12 +8525,11 @@ query_redirect(query_ctx_t *qctx) { } result = redirect2(qctx->client, qctx->fname, qctx->rdataset, - &qctx->node, &qctx->db, &qctx->version, - qctx->type, &qctx->is_zone); + &qctx->node, &qctx->db, &qctx->version, qctx->type, + &qctx->is_zone); switch (result) { case ISC_R_SUCCESS: - inc_stats(qctx->client, - ns_statscounter_nxdomainredirect); + inc_stats(qctx->client, ns_statscounter_nxdomainredirect); return (query_prepresponse(qctx)); case DNS_R_CONTINUE: inc_stats(qctx->client, @@ -8697,7 +8544,7 @@ query_redirect(query_ctx_t *qctx) { qctx->sigrdataset); qctx->client->query.redirect.result = DNS_R_NCACHENXDOMAIN; dns_name_copynf(qctx->fname, - qctx->client->query.redirect.fname); + qctx->client->query.redirect.fname); qctx->client->query.redirect.authoritative = qctx->authoritative; qctx->client->query.redirect.is_zone = qctx->is_zone; @@ -8721,13 +8568,14 @@ query_redirect(query_ctx_t *qctx) { * Logging function to be passed to dns_nsec_noexistnodata. */ static void -log_noexistnodata(void *val, int level, const char *fmt, ...) { +log_noexistnodata(void *val, int level, const char *fmt, ...) +{ query_ctx_t *qctx = val; - va_list ap; + va_list ap; va_start(ap, fmt); - ns_client_logv(qctx->client, NS_LOGCATEGORY_QUERIES, - NS_LOGMODULE_QUERY, level, fmt, ap); + ns_client_logv(qctx->client, NS_LOGCATEGORY_QUERIES, NS_LOGMODULE_QUERY, + level, fmt, ap); va_end(ap); } @@ -8737,9 +8585,9 @@ query_synthttl(dns_rdataset_t *soardataset, dns_rdataset_t *sigsoardataset, dns_rdataset_t *p2rdataset, dns_rdataset_t *sigp2rdataset) { dns_rdata_soa_t soa; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_ttl_t ttl; - isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_ttl_t ttl; + isc_result_t result; REQUIRE(soardataset != NULL); REQUIRE(sigsoardataset != NULL); @@ -8772,17 +8620,16 @@ query_synthnodata(query_ctx_t *qctx, const dns_name_t *signer, dns_rdataset_t **soardatasetp, dns_rdataset_t **sigsoardatasetp) { - dns_name_t *name = NULL; - dns_ttl_t ttl; + dns_name_t * name = NULL; + dns_ttl_t ttl; isc_buffer_t *dbuf, b; - isc_result_t result; + isc_result_t result; /* * Detemine the correct TTL to use for the SOA and RRSIG */ - ttl = query_synthttl(*soardatasetp, *sigsoardatasetp, - qctx->rdataset, qctx->sigrdataset, - NULL, NULL); + ttl = query_synthttl(*soardatasetp, *sigsoardatasetp, qctx->rdataset, + qctx->sigrdataset, NULL, NULL); (*soardatasetp)->ttl = (*sigsoardatasetp)->ttl = ttl; /* @@ -8815,16 +8662,15 @@ query_synthnodata(query_ctx_t *qctx, const dns_name_t *signer, if (!WANTDNSSEC(qctx->client)) { sigsoardatasetp = NULL; } - query_addrrset(qctx, &name, soardatasetp, sigsoardatasetp, - dbuf, DNS_SECTION_AUTHORITY); + query_addrrset(qctx, &name, soardatasetp, sigsoardatasetp, dbuf, + DNS_SECTION_AUTHORITY); if (WANTDNSSEC(qctx->client)) { /* * Add NODATA proof. */ - query_addrrset(qctx, &qctx->fname, - &qctx->rdataset, &qctx->sigrdataset, - NULL, DNS_SECTION_AUTHORITY); + query_addrrset(qctx, &qctx->fname, &qctx->rdataset, + &qctx->sigrdataset, NULL, DNS_SECTION_AUTHORITY); } result = ISC_R_SUCCESS; @@ -8845,10 +8691,10 @@ static isc_result_t query_synthwildcard(query_ctx_t *qctx, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - dns_name_t *name = NULL; - isc_buffer_t *dbuf, b; - isc_result_t result; - dns_rdataset_t *cloneset = NULL, *clonesigset = NULL; + dns_name_t * name = NULL; + isc_buffer_t * dbuf, b; + isc_result_t result; + dns_rdataset_t * cloneset = NULL, *clonesigset = NULL; dns_rdataset_t **sigrdatasetp; CCTRACE(ISC_LOG_DEBUG(3), "query_synthwildcard"); @@ -8898,16 +8744,15 @@ query_synthwildcard(query_ctx_t *qctx, dns_rdataset_t *rdataset, sigrdatasetp = NULL; } - query_addrrset(qctx, &name, &cloneset, sigrdatasetp, - dbuf, DNS_SECTION_ANSWER); + query_addrrset(qctx, &name, &cloneset, sigrdatasetp, dbuf, + DNS_SECTION_ANSWER); if (WANTDNSSEC(qctx->client)) { /* * Add NOQNAME proof. */ - query_addrrset(qctx, &qctx->fname, - &qctx->rdataset, &qctx->sigrdataset, - NULL, DNS_SECTION_AUTHORITY); + query_addrrset(qctx, &qctx->fname, &qctx->rdataset, + &qctx->sigrdataset, NULL, DNS_SECTION_AUTHORITY); } result = ISC_R_SUCCESS; @@ -8935,9 +8780,9 @@ static isc_result_t query_synthcnamewildcard(query_ctx_t *qctx, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { - isc_result_t result; - dns_name_t *tname = NULL; - dns_rdata_t rdata = DNS_RDATA_INIT; + isc_result_t result; + dns_name_t * tname = NULL; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_cname_t cname; result = query_synthwildcard(qctx, rdataset, sigrdataset); @@ -8987,18 +8832,16 @@ query_synthcnamewildcard(query_ctx_t *qctx, dns_rdataset_t *rdataset, * which contain the SOA record + RRSIG for the negative answer. */ static isc_result_t -query_synthnxdomain(query_ctx_t *qctx, - dns_name_t *nowild, +query_synthnxdomain(query_ctx_t *qctx, dns_name_t *nowild, dns_rdataset_t *nowildrdataset, - dns_rdataset_t *signowildrdataset, - dns_name_t *signer, + dns_rdataset_t *signowildrdataset, dns_name_t *signer, dns_rdataset_t **soardatasetp, dns_rdataset_t **sigsoardatasetp) { - dns_name_t *name = NULL; - dns_ttl_t ttl; - isc_buffer_t *dbuf, b; - isc_result_t result; + dns_name_t * name = NULL; + dns_ttl_t ttl; + isc_buffer_t * dbuf, b; + isc_result_t result; dns_rdataset_t *cloneset = NULL, *clonesigset = NULL; CCTRACE(ISC_LOG_DEBUG(3), "query_synthnxdomain"); @@ -9006,9 +8849,9 @@ query_synthnxdomain(query_ctx_t *qctx, /* * Detemine the correct TTL to use for the SOA and RRSIG */ - ttl = query_synthttl(*soardatasetp, *sigsoardatasetp, - qctx->rdataset, qctx->sigrdataset, - nowildrdataset, signowildrdataset); + ttl = query_synthttl(*soardatasetp, *sigsoardatasetp, qctx->rdataset, + qctx->sigrdataset, nowildrdataset, + signowildrdataset); (*soardatasetp)->ttl = (*sigsoardatasetp)->ttl = ttl; /* @@ -9041,16 +8884,15 @@ query_synthnxdomain(query_ctx_t *qctx, if (!WANTDNSSEC(qctx->client)) { sigsoardatasetp = NULL; } - query_addrrset(qctx, &name, soardatasetp, sigsoardatasetp, - dbuf, DNS_SECTION_AUTHORITY); + query_addrrset(qctx, &name, soardatasetp, sigsoardatasetp, dbuf, + DNS_SECTION_AUTHORITY); if (WANTDNSSEC(qctx->client)) { /* * Add NOQNAME proof. */ - query_addrrset(qctx, &qctx->fname, - &qctx->rdataset, &qctx->sigrdataset, - NULL, DNS_SECTION_AUTHORITY); + query_addrrset(qctx, &qctx->fname, &qctx->rdataset, + &qctx->sigrdataset, NULL, DNS_SECTION_AUTHORITY); dbuf = ns_client_getnamebuf(qctx->client); if (dbuf == NULL) { @@ -9079,8 +8921,8 @@ query_synthnxdomain(query_ctx_t *qctx, /* * Add NOWILDCARD proof. */ - query_addrrset(qctx, &name, &cloneset, &clonesigset, - dbuf, DNS_SECTION_AUTHORITY); + query_addrrset(qctx, &name, &cloneset, &clonesigset, dbuf, + DNS_SECTION_AUTHORITY); } qctx->client->message->rcode = dns_rcode_nxdomain; @@ -9104,13 +8946,13 @@ cleanup: * Check that all signer names in sigrdataset match the expected signer. */ static isc_result_t -checksignames(dns_name_t *signer, dns_rdataset_t *sigrdataset) { +checksignames(dns_name_t *signer, dns_rdataset_t *sigrdataset) +{ isc_result_t result; - for (result = dns_rdataset_first(sigrdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(sigrdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(sigrdataset)) { - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_rrsig_t rrsig; dns_rdataset_current(sigrdataset, &rdata); @@ -9148,26 +8990,27 @@ checksignames(dns_name_t *signer, dns_rdataset_t *sigrdataset) { * type at the wildcard name. */ static isc_result_t -query_coveringnsec(query_ctx_t *qctx) { - dns_db_t *db = NULL; - dns_clientinfo_t ci; +query_coveringnsec(query_ctx_t *qctx) +{ + dns_db_t * db = NULL; + dns_clientinfo_t ci; dns_clientinfomethods_t cm; - dns_dbnode_t *node = NULL; - dns_fixedname_t fixed; - dns_fixedname_t fnowild; - dns_fixedname_t fsigner; - dns_fixedname_t fwild; - dns_name_t *fname = NULL; - dns_name_t *nowild = NULL; - dns_name_t *signer = NULL; - dns_name_t *wild = NULL; - dns_rdataset_t *soardataset = NULL, *sigsoardataset = NULL; - dns_rdataset_t rdataset, sigrdataset; - bool done = false; - bool exists = true, data = true; - bool redirected = false; - isc_result_t result = ISC_R_SUCCESS; - unsigned int dboptions = qctx->client->query.dboptions; + dns_dbnode_t * node = NULL; + dns_fixedname_t fixed; + dns_fixedname_t fnowild; + dns_fixedname_t fsigner; + dns_fixedname_t fwild; + dns_name_t * fname = NULL; + dns_name_t * nowild = NULL; + dns_name_t * signer = NULL; + dns_name_t * wild = NULL; + dns_rdataset_t * soardataset = NULL, *sigsoardataset = NULL; + dns_rdataset_t rdataset, sigrdataset; + bool done = false; + bool exists = true, data = true; + bool redirected = false; + isc_result_t result = ISC_R_SUCCESS; + unsigned int dboptions = qctx->client->query.dboptions; CCTRACE(ISC_LOG_DEBUG(3), "query_coveringnsec"); @@ -9202,16 +9045,15 @@ query_coveringnsec(query_ctx_t *qctx) { * Check that we have the correct NOQNAME NSEC record. */ result = dns_nsec_noexistnodata(qctx->qtype, qctx->client->query.qname, - qctx->fname, qctx->rdataset, - &exists, &data, wild, - log_noexistnodata, qctx); + qctx->fname, qctx->rdataset, &exists, + &data, wild, log_noexistnodata, qctx); if (result != ISC_R_SUCCESS || (exists && data)) { goto cleanup; } if (exists) { - if (qctx->type == dns_rdatatype_any) { /* XXX not yet */ + if (qctx->type == dns_rdatatype_any) { /* XXX not yet */ goto cleanup; } if (!ISC_LIST_EMPTY(qctx->view->dns64) && @@ -9221,8 +9063,7 @@ query_coveringnsec(query_ctx_t *qctx) { goto cleanup; } if (!qctx->resuming && !STALE(qctx->rdataset) && - qctx->rdataset->ttl == 0 && RECURSIONOK(qctx->client)) - { + qctx->rdataset->ttl == 0 && RECURSIONOK(qctx->client)) { goto cleanup; } @@ -9238,15 +9079,14 @@ query_coveringnsec(query_ctx_t *qctx) { dns_db_attach(qctx->db, &db); result = dns_db_findext(db, signer, qctx->version, dns_rdatatype_soa, dboptions, - qctx->client->now, &node, - fname, &cm, &ci, soardataset, - sigsoardataset); + qctx->client->now, &node, fname, &cm, + &ci, soardataset, sigsoardataset); if (result != ISC_R_SUCCESS) { goto cleanup; } - (void)query_synthnodata(qctx, signer, - &soardataset, &sigsoardataset); + (void)query_synthnodata(qctx, signer, &soardataset, + &sigsoardataset); done = true; goto cleanup; } @@ -9257,12 +9097,11 @@ query_coveringnsec(query_ctx_t *qctx) { dns_db_attach(qctx->db, &db); result = dns_db_findext(db, wild, qctx->version, qctx->type, dboptions | DNS_DBFIND_COVERINGNSEC, - qctx->client->now, &node, nowild, - &cm, &ci, &rdataset, &sigrdataset); + qctx->client->now, &node, nowild, &cm, &ci, + &rdataset, &sigrdataset); if (rdataset.trust != dns_trust_secure || - sigrdataset.trust != dns_trust_secure) - { + sigrdataset.trust != dns_trust_secure) { goto cleanup; } @@ -9275,7 +9114,7 @@ query_coveringnsec(query_ctx_t *qctx) { */ switch (result) { case ISC_R_SUCCESS: - if (qctx->type == dns_rdatatype_any) { /* XXX not yet */ + if (qctx->type == dns_rdatatype_any) { /* XXX not yet */ goto cleanup; } if (!ISC_LIST_EMPTY(qctx->view->dns64) && @@ -9286,9 +9125,8 @@ query_coveringnsec(query_ctx_t *qctx) { } /* FALLTHROUGH */ case DNS_R_CNAME: - if (!qctx->resuming && !STALE(&rdataset) && - rdataset.ttl == 0 && RECURSIONOK(qctx->client)) - { + if (!qctx->resuming && !STALE(&rdataset) && rdataset.ttl == 0 && + RECURSIONOK(qctx->client)) { goto cleanup; } default: @@ -9297,24 +9135,23 @@ query_coveringnsec(query_ctx_t *qctx) { switch (result) { case DNS_R_COVERINGNSEC: - result = dns_nsec_noexistnodata(qctx->qtype, wild, - nowild, &rdataset, - &exists, &data, NULL, + result = dns_nsec_noexistnodata(qctx->qtype, wild, nowild, + &rdataset, &exists, &data, NULL, log_noexistnodata, qctx); if (result != ISC_R_SUCCESS || exists) { goto cleanup; } break; - case ISC_R_SUCCESS: /* wild card match */ + case ISC_R_SUCCESS: /* wild card match */ (void)query_synthwildcard(qctx, &rdataset, &sigrdataset); done = true; goto cleanup; - case DNS_R_CNAME: /* wild card cname */ + case DNS_R_CNAME: /* wild card cname */ (void)query_synthcnamewildcard(qctx, &rdataset, &sigrdataset); done = true; goto cleanup; - case DNS_R_NCACHENXRRSET: /* wild card nodata */ - case DNS_R_NCACHENXDOMAIN: /* direct nxdomain */ + case DNS_R_NCACHENXRRSET: /* wild card nodata */ + case DNS_R_NCACHENXDOMAIN: /* direct nxdomain */ default: goto cleanup; } @@ -9358,21 +9195,19 @@ query_coveringnsec(query_ctx_t *qctx) { /* * Look for SOA record to construct NXDOMAIN response. */ - result = dns_db_findext(db, signer, qctx->version, - dns_rdatatype_soa, dboptions, - qctx->client->now, &node, - fname, &cm, &ci, soardataset, - sigsoardataset); + result = dns_db_findext(db, signer, qctx->version, dns_rdatatype_soa, + dboptions, qctx->client->now, &node, fname, &cm, + &ci, soardataset, sigsoardataset); if (result != ISC_R_SUCCESS) { goto cleanup; } - (void)query_synthnxdomain(qctx, nowild, &rdataset, &sigrdataset, - signer, &soardataset, &sigsoardataset); + (void)query_synthnxdomain(qctx, nowild, &rdataset, &sigrdataset, signer, + &soardataset, &sigsoardataset); done = true; - cleanup: +cleanup: if (dns_rdataset_isassociated(&rdataset)) { dns_rdataset_disassociate(&rdataset); } @@ -9423,11 +9258,11 @@ query_coveringnsec(query_ctx_t *qctx) { * set to DNS_R_NXDOMAIN when handling DNS64 lookups.) */ static isc_result_t -query_ncache(query_ctx_t *qctx, isc_result_t result) { +query_ncache(query_ctx_t *qctx, isc_result_t result) +{ INSIST(!qctx->is_zone); INSIST(result == DNS_R_NCACHENXDOMAIN || - result == DNS_R_NCACHENXRRSET || - result == DNS_R_NXDOMAIN); + result == DNS_R_NCACHENXRRSET || result == DNS_R_NXDOMAIN); CCTRACE(ISC_LOG_DEBUG(3), "query_ncache"); @@ -9447,15 +9282,14 @@ query_ncache(query_ctx_t *qctx, isc_result_t result) { /* Look for RFC 1918 leakage from Internet. */ if (qctx->qtype == dns_rdatatype_ptr && qctx->client->message->rdclass == dns_rdataclass_in && - dns_name_countlabels(qctx->fname) == 7) - { + dns_name_countlabels(qctx->fname) == 7) { warn_rfc1918(qctx->client, qctx->fname, qctx->rdataset); } } return (query_nodata(qctx, result)); - cleanup: +cleanup: return (result); } @@ -9463,14 +9297,14 @@ query_ncache(query_ctx_t *qctx, isc_result_t result) { * If we have a zero ttl from the cache, refetch. */ static isc_result_t -query_zerottl_refetch(query_ctx_t *qctx) { +query_zerottl_refetch(query_ctx_t *qctx) +{ isc_result_t result; CCTRACE(ISC_LOG_DEBUG(3), "query_zerottl_refetch"); if (qctx->is_zone || qctx->resuming || STALE(qctx->rdataset) || - qctx->rdataset->ttl != 0 || !RECURSIONOK(qctx->client)) - { + qctx->rdataset->ttl != 0 || !RECURSIONOK(qctx->client)) { return (ISC_R_COMPLETE); } @@ -9479,15 +9313,14 @@ query_zerottl_refetch(query_ctx_t *qctx) { INSIST(!REDIRECT(qctx->client)); result = ns_query_recurse(qctx->client, qctx->qtype, - qctx->client->query.qname, - NULL, NULL, qctx->resuming); + qctx->client->query.qname, NULL, NULL, + qctx->resuming); if (result == ISC_R_SUCCESS) { CALL_HOOK(NS_QUERY_ZEROTTL_RECURSE, qctx); qctx->client->query.attributes |= NS_QUERYATTR_RECURSING; if (qctx->dns64) { - qctx->client->query.attributes |= - NS_QUERYATTR_DNS64; + qctx->client->query.attributes |= NS_QUERYATTR_DNS64; } if (qctx->dns64_exclude) { qctx->client->query.attributes |= @@ -9499,7 +9332,7 @@ query_zerottl_refetch(query_ctx_t *qctx) { return (ns_query_done(qctx)); - cleanup: +cleanup: return (result); } @@ -9507,12 +9340,13 @@ query_zerottl_refetch(query_ctx_t *qctx) { * Handle CNAME responses. */ static isc_result_t -query_cname(query_ctx_t *qctx) { - isc_result_t result; - dns_name_t *tname; - dns_rdataset_t *trdataset; - dns_rdataset_t **sigrdatasetp = NULL; - dns_rdata_t rdata = DNS_RDATA_INIT; +query_cname(query_ctx_t *qctx) +{ + isc_result_t result; + dns_name_t * tname; + dns_rdataset_t * trdataset; + dns_rdataset_t ** sigrdatasetp = NULL; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_cname_t cname; CCTRACE(ISC_LOG_DEBUG(3), "query_cname"); @@ -9538,11 +9372,10 @@ query_cname(query_ctx_t *qctx) { sigrdatasetp = &qctx->sigrdataset; if (WANTDNSSEC(qctx->client) && - (qctx->fname->attributes & DNS_NAMEATTR_WILDCARD) != 0) - { + (qctx->fname->attributes & DNS_NAMEATTR_WILDCARD) != 0) { dns_fixedname_init(&qctx->wildcardname); dns_name_copynf(qctx->fname, - dns_fixedname_name(&qctx->wildcardname)); + dns_fixedname_name(&qctx->wildcardname)); qctx->need_wildcardproof = true; } @@ -9555,9 +9388,8 @@ query_cname(query_ctx_t *qctx) { if (!qctx->is_zone && RECURSIONOK(qctx->client)) query_prefetch(qctx->client, qctx->fname, qctx->rdataset); - query_addrrset(qctx, &qctx->fname, - &qctx->rdataset, sigrdatasetp, qctx->dbuf, - DNS_SECTION_ANSWER); + query_addrrset(qctx, &qctx->fname, &qctx->rdataset, sigrdatasetp, + qctx->dbuf, DNS_SECTION_ANSWER); query_addnoqnameproof(qctx); @@ -9600,7 +9432,7 @@ query_cname(query_ctx_t *qctx) { return (ns_query_done(qctx)); - cleanup: +cleanup: return (result); } @@ -9608,18 +9440,19 @@ query_cname(query_ctx_t *qctx) { * Handle DNAME responses. */ static isc_result_t -query_dname(query_ctx_t *qctx) { - dns_name_t *tname, *prefix; - dns_rdata_t rdata = DNS_RDATA_INIT; +query_dname(query_ctx_t *qctx) +{ + dns_name_t * tname, *prefix; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_dname_t dname; - dns_fixedname_t fixed; - dns_rdataset_t *trdataset; - dns_rdataset_t **sigrdatasetp = NULL; - dns_namereln_t namereln; - isc_buffer_t b; - int order; - isc_result_t result; - unsigned int nlabels; + dns_fixedname_t fixed; + dns_rdataset_t * trdataset; + dns_rdataset_t ** sigrdatasetp = NULL; + dns_namereln_t namereln; + isc_buffer_t b; + int order; + isc_result_t result; + unsigned int nlabels; CCTRACE(ISC_LOG_DEBUG(3), "query_dname"); @@ -9648,19 +9481,17 @@ query_dname(query_ctx_t *qctx) { sigrdatasetp = &qctx->sigrdataset; if (WANTDNSSEC(qctx->client) && - (qctx->fname->attributes & DNS_NAMEATTR_WILDCARD) != 0) - { + (qctx->fname->attributes & DNS_NAMEATTR_WILDCARD) != 0) { dns_fixedname_init(&qctx->wildcardname); dns_name_copynf(qctx->fname, - dns_fixedname_name(&qctx->wildcardname)); + dns_fixedname_name(&qctx->wildcardname)); qctx->need_wildcardproof = true; } if (!qctx->is_zone && RECURSIONOK(qctx->client)) query_prefetch(qctx->client, qctx->fname, qctx->rdataset); - query_addrrset(qctx, &qctx->fname, - &qctx->rdataset, sigrdatasetp, qctx->dbuf, - DNS_SECTION_ANSWER); + query_addrrset(qctx, &qctx->fname, &qctx->rdataset, sigrdatasetp, + qctx->dbuf, DNS_SECTION_ANSWER); /* * We set the PARTIALANSWER attribute so that if anything goes @@ -9753,7 +9584,7 @@ query_dname(query_ctx_t *qctx) { return (ns_query_done(qctx)); - cleanup: +cleanup: return (result); } @@ -9761,14 +9592,15 @@ query_dname(query_ctx_t *qctx) { * Add CNAME to repsonse. */ static isc_result_t -query_addcname(query_ctx_t *qctx, dns_trust_t trust, dns_ttl_t ttl) { - ns_client_t *client = qctx->client; - dns_rdataset_t *rdataset = NULL; +query_addcname(query_ctx_t *qctx, dns_trust_t trust, dns_ttl_t ttl) +{ + ns_client_t * client = qctx->client; + dns_rdataset_t * rdataset = NULL; dns_rdatalist_t *rdatalist = NULL; - dns_rdata_t *rdata = NULL; - isc_region_t r; - dns_name_t *aname = NULL; - isc_result_t result; + dns_rdata_t * rdata = NULL; + isc_region_t r; + dns_name_t * aname = NULL; + isc_result_t result; result = dns_message_gettempname(client->message, &aname); if (result != ISC_R_SUCCESS) @@ -9807,13 +9639,12 @@ query_addcname(query_ctx_t *qctx, dns_trust_t trust, dns_ttl_t ttl) { rdata->type = dns_rdatatype_cname; ISC_LIST_APPEND(rdatalist->rdata, rdata, link); - RUNTIME_CHECK(dns_rdatalist_tordataset(rdatalist, rdataset) - == ISC_R_SUCCESS); + RUNTIME_CHECK(dns_rdatalist_tordataset(rdatalist, rdataset) == + ISC_R_SUCCESS); rdataset->trust = trust; dns_rdataset_setownercase(rdataset, aname); - query_addrrset(qctx, &aname, &rdataset, NULL, NULL, - DNS_SECTION_ANSWER); + query_addrrset(qctx, &aname, &rdataset, NULL, NULL, DNS_SECTION_ANSWER); if (rdataset != NULL) { if (dns_rdataset_isassociated(rdataset)) dns_rdataset_disassociate(rdataset); @@ -9831,7 +9662,8 @@ query_addcname(query_ctx_t *qctx, dns_trust_t trust, dns_ttl_t ttl) { * query_respond_any(). */ static isc_result_t -query_prepresponse(query_ctx_t *qctx) { +query_prepresponse(query_ctx_t *qctx) +{ isc_result_t result; CCTRACE(ISC_LOG_DEBUG(3), "query_prepresponse"); @@ -9839,11 +9671,10 @@ query_prepresponse(query_ctx_t *qctx) { CALL_HOOK(NS_QUERY_PREP_RESPONSE_BEGIN, qctx); if (WANTDNSSEC(qctx->client) && - (qctx->fname->attributes & DNS_NAMEATTR_WILDCARD) != 0) - { + (qctx->fname->attributes & DNS_NAMEATTR_WILDCARD) != 0) { dns_fixedname_init(&qctx->wildcardname); dns_name_copynf(qctx->fname, - dns_fixedname_name(&qctx->wildcardname)); + dns_fixedname_name(&qctx->wildcardname)); qctx->need_wildcardproof = true; } @@ -9858,7 +9689,7 @@ query_prepresponse(query_ctx_t *qctx) { return (query_respond(qctx)); - cleanup: +cleanup: return (result); } @@ -9871,14 +9702,14 @@ static isc_result_t query_addsoa(query_ctx_t *qctx, unsigned int override_ttl, dns_section_t section) { - ns_client_t *client = qctx->client; - dns_name_t *name; - dns_dbnode_t *node; - isc_result_t result, eresult; - dns_rdataset_t *rdataset = NULL, *sigrdataset = NULL; - dns_rdataset_t **sigrdatasetp = NULL; + ns_client_t * client = qctx->client; + dns_name_t * name; + dns_dbnode_t * node; + isc_result_t result, eresult; + dns_rdataset_t * rdataset = NULL, *sigrdataset = NULL; + dns_rdataset_t ** sigrdatasetp = NULL; dns_clientinfomethods_t cm; - dns_clientinfo_t ci; + dns_clientinfo_t ci; CTRACE(ISC_LOG_DEBUG(3), "query_addsoa"); /* @@ -9896,8 +9727,8 @@ query_addsoa(query_ctx_t *qctx, unsigned int override_ttl, * Don't add the SOA record for test which set "-T nosoa". */ if (((client->sctx->options & NS_SERVER_NOSOA) != 0) && - (!WANTDNSSEC(client) || !dns_rdataset_isassociated(qctx->rdataset))) - { + (!WANTDNSSEC(client) || + !dns_rdataset_isassociated(qctx->rdataset))) { return (ISC_R_SUCCESS); } @@ -9930,20 +9761,18 @@ query_addsoa(query_ctx_t *qctx, unsigned int override_ttl, result = dns_db_getoriginnode(qctx->db, &node); if (result == ISC_R_SUCCESS) { result = dns_db_findrdataset(qctx->db, node, qctx->version, - dns_rdatatype_soa, 0, - client->now, + dns_rdatatype_soa, 0, client->now, rdataset, sigrdataset); } else { dns_fixedname_t foundname; - dns_name_t *fname; + dns_name_t * fname; fname = dns_fixedname_initname(&foundname); result = dns_db_findext(qctx->db, name, qctx->version, dns_rdatatype_soa, - client->query.dboptions, - 0, &node, fname, &cm, &ci, - rdataset, sigrdataset); + client->query.dboptions, 0, &node, + fname, &cm, &ci, rdataset, sigrdataset); } if (result != ISC_R_SUCCESS) { /* @@ -9957,7 +9786,7 @@ query_addsoa(query_ctx_t *qctx, unsigned int override_ttl, * Extract the SOA MINIMUM. */ dns_rdata_soa_t soa; - dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t rdata = DNS_RDATA_INIT; result = dns_rdataset_first(rdataset); RUNTIME_CHECK(result == ISC_R_SUCCESS); dns_rdataset_current(rdataset, &rdata); @@ -9965,8 +9794,7 @@ query_addsoa(query_ctx_t *qctx, unsigned int override_ttl, RUNTIME_CHECK(result == ISC_R_SUCCESS); if (override_ttl != UINT32_MAX && - override_ttl < rdataset->ttl) - { + override_ttl < rdataset->ttl) { rdataset->ttl = override_ttl; if (sigrdataset != NULL) sigrdataset->ttl = override_ttl; @@ -9988,11 +9816,11 @@ query_addsoa(query_ctx_t *qctx, unsigned int override_ttl, if (section == DNS_SECTION_ADDITIONAL) rdataset->attributes |= DNS_RDATASETATTR_REQUIRED; - query_addrrset(qctx, &name, &rdataset, - sigrdatasetp, NULL, section); + query_addrrset(qctx, &name, &rdataset, sigrdatasetp, NULL, + section); } - cleanup: +cleanup: ns_client_putrdataset(client, &rdataset); if (sigrdataset != NULL) ns_client_putrdataset(client, &sigrdataset); @@ -10008,16 +9836,17 @@ query_addsoa(query_ctx_t *qctx, unsigned int override_ttl, * Add NS to authority section (used when the zone apex is already known). */ static isc_result_t -query_addns(query_ctx_t *qctx) { - ns_client_t *client = qctx->client; - isc_result_t result, eresult; - dns_name_t *name = NULL, *fname; - dns_dbnode_t *node = NULL; - dns_fixedname_t foundname; - dns_rdataset_t *rdataset = NULL, *sigrdataset = NULL; - dns_rdataset_t **sigrdatasetp = NULL; +query_addns(query_ctx_t *qctx) +{ + ns_client_t * client = qctx->client; + isc_result_t result, eresult; + dns_name_t * name = NULL, *fname; + dns_dbnode_t * node = NULL; + dns_fixedname_t foundname; + dns_rdataset_t * rdataset = NULL, *sigrdataset = NULL; + dns_rdataset_t ** sigrdatasetp = NULL; dns_clientinfomethods_t cm; - dns_clientinfo_t ci; + dns_clientinfo_t ci; CTRACE(ISC_LOG_DEBUG(3), "query_addns"); @@ -10035,16 +9864,16 @@ query_addns(query_ctx_t *qctx) { */ result = dns_message_gettempname(client->message, &name); if (result != ISC_R_SUCCESS) { - CTRACE(ISC_LOG_DEBUG(3), - "query_addns: dns_message_gettempname failed: done"); + CTRACE(ISC_LOG_DEBUG(3), "query_addns: dns_message_gettempname " + "failed: done"); return (result); } dns_name_init(name, NULL); dns_name_clone(dns_db_origin(qctx->db), name); rdataset = ns_client_newrdataset(client); if (rdataset == NULL) { - CTRACE(ISC_LOG_ERROR, - "query_addns: ns_client_newrdataset failed"); + CTRACE(ISC_LOG_ERROR, "query_addns: ns_client_newrdataset " + "failed"); eresult = DNS_R_SERVFAIL; goto cleanup; } @@ -10052,8 +9881,8 @@ query_addns(query_ctx_t *qctx) { if (WANTDNSSEC(client) && dns_db_issecure(qctx->db)) { sigrdataset = ns_client_newrdataset(client); if (sigrdataset == NULL) { - CTRACE(ISC_LOG_ERROR, - "query_addns: ns_client_newrdataset failed"); + CTRACE(ISC_LOG_ERROR, "query_addns: " + "ns_client_newrdataset failed"); eresult = DNS_R_SERVFAIL; goto cleanup; } @@ -10075,9 +9904,9 @@ query_addns(query_ctx_t *qctx) { CTRACE(ISC_LOG_DEBUG(3), "query_addns: dns_db_find complete"); } if (result != ISC_R_SUCCESS) { - CTRACE(ISC_LOG_ERROR, - "query_addns: " - "dns_db_findrdataset or dns_db_find failed"); + CTRACE(ISC_LOG_ERROR, "query_addns: " + "dns_db_findrdataset or dns_db_find " + "failed"); /* * This is bad. We tried to get the NS rdataset at the zone * top and it didn't work! @@ -10091,7 +9920,7 @@ query_addns(query_ctx_t *qctx) { DNS_SECTION_AUTHORITY); } - cleanup: +cleanup: CTRACE(ISC_LOG_DEBUG(3), "query_addns: cleanup"); ns_client_putrdataset(client, &rdataset); if (sigrdataset != NULL) { @@ -10112,21 +9941,22 @@ query_addns(query_ctx_t *qctx) { * Find the zone cut and add the best NS rrset to the authority section. */ static void -query_addbestns(query_ctx_t *qctx) { - ns_client_t *client = qctx->client; - dns_db_t *db = NULL, *zdb = NULL; - dns_dbnode_t *node = NULL; - dns_name_t *fname = NULL, *zfname = NULL; - dns_rdataset_t *rdataset = NULL, *sigrdataset = NULL; - dns_rdataset_t *zrdataset = NULL, *zsigrdataset = NULL; - bool is_zone = false, use_zone = false; - isc_buffer_t *dbuf = NULL; - isc_result_t result; - dns_dbversion_t *version = NULL; - dns_zone_t *zone = NULL; - isc_buffer_t b; +query_addbestns(query_ctx_t *qctx) +{ + ns_client_t * client = qctx->client; + dns_db_t * db = NULL, *zdb = NULL; + dns_dbnode_t * node = NULL; + dns_name_t * fname = NULL, *zfname = NULL; + dns_rdataset_t * rdataset = NULL, *sigrdataset = NULL; + dns_rdataset_t * zrdataset = NULL, *zsigrdataset = NULL; + bool is_zone = false, use_zone = false; + isc_buffer_t * dbuf = NULL; + isc_result_t result; + dns_dbversion_t * version = NULL; + dns_zone_t * zone = NULL; + isc_buffer_t b; dns_clientinfomethods_t cm; - dns_clientinfo_t ci; + dns_clientinfo_t ci; CTRACE(ISC_LOG_DEBUG(3), "query_addbestns"); @@ -10141,7 +9971,7 @@ query_addbestns(query_ctx_t *qctx) { if (result != ISC_R_SUCCESS) goto cleanup; - db_find: +db_find: /* * We'll need some resources... */ @@ -10170,11 +10000,10 @@ query_addbestns(query_ctx_t *qctx) { * Now look for the zonecut. */ if (is_zone) { - result = dns_db_findext(db, client->query.qname, version, - dns_rdatatype_ns, - client->query.dboptions, - client->now, &node, fname, - &cm, &ci, rdataset, sigrdataset); + result = dns_db_findext( + db, client->query.qname, version, dns_rdatatype_ns, + client->query.dboptions, client->now, &node, fname, &cm, + &ci, rdataset, sigrdataset); if (result != DNS_R_DELEGATION) { goto cleanup; } @@ -10191,10 +10020,9 @@ query_addbestns(query_ctx_t *qctx) { goto db_find; } } else { - result = dns_db_findzonecut(db, client->query.qname, - client->query.dboptions, - client->now, &node, fname, NULL, - rdataset, sigrdataset); + result = dns_db_findzonecut( + db, client->query.qname, client->query.dboptions, + client->now, &node, fname, NULL, rdataset, sigrdataset); if (result == ISC_R_SUCCESS) { if (zfname != NULL && !dns_name_issubdomain(fname, zfname)) { @@ -10246,16 +10074,14 @@ query_addbestns(query_ctx_t *qctx) { if ((DNS_TRUST_PENDING(rdataset->trust) || (sigrdataset != NULL && DNS_TRUST_PENDING(sigrdataset->trust))) && !validate(client, db, fname, rdataset, sigrdataset) && - !PENDINGOK(client->query.dboptions)) - { + !PENDINGOK(client->query.dboptions)) { goto cleanup; } if ((DNS_TRUST_GLUE(rdataset->trust) || (sigrdataset != NULL && DNS_TRUST_GLUE(sigrdataset->trust))) && !validate(client, db, fname, rdataset, sigrdataset) && - SECURE(client) && WANTDNSSEC(client)) - { + SECURE(client) && WANTDNSSEC(client)) { goto cleanup; } @@ -10265,8 +10091,7 @@ query_addbestns(query_ctx_t *qctx) { */ if (SECURE(client) && (WANTDNSSEC(client) || WANTAD(client)) && ((rdataset->trust != dns_trust_secure) || - (sigrdataset != NULL && sigrdataset->trust != dns_trust_secure))) - { + (sigrdataset != NULL && sigrdataset->trust != dns_trust_secure))) { goto cleanup; } @@ -10281,7 +10106,7 @@ query_addbestns(query_ctx_t *qctx) { query_addrrset(qctx, &fname, &rdataset, &sigrdataset, dbuf, DNS_SECTION_AUTHORITY); - cleanup: +cleanup: if (rdataset != NULL) { ns_client_putrdataset(client, &rdataset); } @@ -10313,28 +10138,27 @@ query_addbestns(query_ctx_t *qctx) { } static void -query_addwildcardproof(query_ctx_t *qctx, bool ispositive, - bool nodata) +query_addwildcardproof(query_ctx_t *qctx, bool ispositive, bool nodata) { - ns_client_t *client = qctx->client; - isc_buffer_t *dbuf, b; - dns_name_t *name; - dns_name_t *fname = NULL; - dns_rdataset_t *rdataset = NULL, *sigrdataset = NULL; - dns_fixedname_t wfixed; - dns_name_t *wname; - dns_dbnode_t *node = NULL; - unsigned int options; - unsigned int olabels, nlabels, labels; - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_rdata_nsec_t nsec; - bool have_wname; - int order; - dns_fixedname_t cfixed; - dns_name_t *cname; + ns_client_t * client = qctx->client; + isc_buffer_t * dbuf, b; + dns_name_t * name; + dns_name_t * fname = NULL; + dns_rdataset_t * rdataset = NULL, *sigrdataset = NULL; + dns_fixedname_t wfixed; + dns_name_t * wname; + dns_dbnode_t * node = NULL; + unsigned int options; + unsigned int olabels, nlabels, labels; + isc_result_t result; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_nsec_t nsec; + bool have_wname; + int order; + dns_fixedname_t cfixed; + dns_name_t * cname; dns_clientinfomethods_t cm; - dns_clientinfo_t ci; + dns_clientinfo_t ci; CTRACE(ISC_LOG_DEBUG(3), "query_addwildcardproof"); @@ -10397,7 +10221,7 @@ query_addwildcardproof(query_ctx_t *qctx, bool ispositive, */ options = client->query.dboptions | DNS_DBFIND_NOWILD; wname = dns_fixedname_initname(&wfixed); - again: +again: have_wname = false; /* * We'll need some resources... @@ -10412,8 +10236,8 @@ query_addwildcardproof(query_ctx_t *qctx, bool ispositive, goto cleanup; result = dns_db_findext(qctx->db, name, qctx->version, - dns_rdatatype_nsec, options, 0, &node, - fname, &cm, &ci, rdataset, sigrdataset); + dns_rdatatype_nsec, options, 0, &node, fname, + &cm, &ci, rdataset, sigrdataset); if (node != NULL) dns_db_detachnode(qctx->db, &node); @@ -10435,16 +10259,16 @@ query_addwildcardproof(query_ctx_t *qctx, bool ispositive, goto cleanup; dns_name_split(cname, labels, NULL, cname); result = dns_db_findext(qctx->db, cname, qctx->version, - dns_rdatatype_nsec, - options, 0, NULL, fname, - &cm, &ci, NULL, NULL); + dns_rdatatype_nsec, options, 0, + NULL, fname, &cm, &ci, NULL, + NULL); } /* * Add closest (provable) encloser NSEC3. */ - query_findclosestnsec3(cname, qctx->db, qctx->version, - client, rdataset, sigrdataset, - fname, true, cname); + query_findclosestnsec3(cname, qctx->db, qctx->version, client, + rdataset, sigrdataset, fname, true, + cname); if (!dns_rdataset_isassociated(rdataset)) goto cleanup; if (!ispositive) @@ -10482,13 +10306,13 @@ query_addwildcardproof(query_ctx_t *qctx, bool ispositive, else dns_name_split(name, labels, NULL, wname); - query_findclosestnsec3(wname, qctx->db, qctx->version, - client, rdataset, sigrdataset, - fname, false, NULL); + query_findclosestnsec3(wname, qctx->db, qctx->version, client, + rdataset, sigrdataset, fname, false, + NULL); if (!dns_rdataset_isassociated(rdataset)) goto cleanup; - query_addrrset(qctx, &fname, &rdataset, &sigrdataset, - dbuf, DNS_SECTION_AUTHORITY); + query_addrrset(qctx, &fname, &rdataset, &sigrdataset, dbuf, + DNS_SECTION_AUTHORITY); if (ispositive) goto cleanup; @@ -10518,18 +10342,18 @@ query_addwildcardproof(query_ctx_t *qctx, bool ispositive, /* * Add the no wildcard proof. */ - result = dns_name_concatenate(dns_wildcardname, - cname, wname, NULL); + result = dns_name_concatenate(dns_wildcardname, cname, wname, + NULL); if (result != ISC_R_SUCCESS) goto cleanup; - query_findclosestnsec3(wname, qctx->db, qctx->version, - client, rdataset, sigrdataset, - fname, nodata, NULL); + query_findclosestnsec3(wname, qctx->db, qctx->version, client, + rdataset, sigrdataset, fname, nodata, + NULL); if (!dns_rdataset_isassociated(rdataset)) goto cleanup; - query_addrrset(qctx, &fname, &rdataset, &sigrdataset, - dbuf, DNS_SECTION_AUTHORITY); + query_addrrset(qctx, &fname, &rdataset, &sigrdataset, dbuf, + DNS_SECTION_AUTHORITY); goto cleanup; } else if (result == DNS_R_NXDOMAIN) { @@ -10554,14 +10378,14 @@ query_addwildcardproof(query_ctx_t *qctx, bool ispositive, dns_name_split(name, olabels, NULL, wname); else dns_name_split(name, nlabels, NULL, wname); - result = dns_name_concatenate(dns_wildcardname, - wname, wname, NULL); + result = dns_name_concatenate(dns_wildcardname, wname, + wname, NULL); if (result == ISC_R_SUCCESS) have_wname = true; dns_rdata_freestruct(&nsec); } - query_addrrset(qctx, &fname, &rdataset, &sigrdataset, - dbuf, DNS_SECTION_AUTHORITY); + query_addrrset(qctx, &fname, &rdataset, &sigrdataset, dbuf, + DNS_SECTION_AUTHORITY); } if (rdataset != NULL) { ns_client_putrdataset(client, &rdataset); @@ -10573,13 +10397,13 @@ query_addwildcardproof(query_ctx_t *qctx, bool ispositive, ns_client_releasename(client, &fname); } if (have_wname) { - ispositive = true; /* prevent loop */ + ispositive = true; /* prevent loop */ if (!dns_name_equal(name, wname)) { name = wname; goto again; } } - cleanup: +cleanup: if (rdataset != NULL) { ns_client_putrdataset(client, &rdataset); } @@ -10596,7 +10420,8 @@ query_addwildcardproof(query_ctx_t *qctx, bool ispositive, * to the authority section. */ static void -query_addauth(query_ctx_t *qctx) { +query_addauth(query_ctx_t *qctx) +{ CCTRACE(ISC_LOG_DEBUG(3), "query_addauth"); /* * Add NS records to the authority section (if we haven't already @@ -10608,8 +10433,7 @@ query_addauth(query_ctx_t *qctx) { (void)query_addns(qctx); } } else if (!qctx->answer_has_ns && - qctx->qtype != dns_rdatatype_ns) - { + qctx->qtype != dns_rdatatype_ns) { if (qctx->fname != NULL) { ns_client_releasename(qctx->client, &qctx->fname); @@ -10632,7 +10456,8 @@ query_addauth(query_ctx_t *qctx) { * sortlist statement. */ static int -query_sortlist_order_2element(const dns_rdata_t *rdata, const void *arg) { +query_sortlist_order_2element(const dns_rdata_t *rdata, const void *arg) +{ isc_netaddr_t netaddr; if (rdata_tonetaddr(rdata, &netaddr) != ISC_R_SUCCESS) @@ -10645,7 +10470,8 @@ query_sortlist_order_2element(const dns_rdata_t *rdata, const void *arg) { * of a 1-element top-level sortlist statement. */ static int -query_sortlist_order_1element(const dns_rdata_t *rdata, const void *arg) { +query_sortlist_order_1element(const dns_rdata_t *rdata, const void *arg) +{ isc_netaddr_t netaddr; if (rdata_tonetaddr(rdata, &netaddr) != ISC_R_SUCCESS) @@ -10658,26 +10484,26 @@ query_sortlist_order_1element(const dns_rdata_t *rdata, const void *arg) { * the sortlist info in in client->message appropriately. */ static void -query_setup_sortlist(query_ctx_t *qctx) { +query_setup_sortlist(query_ctx_t *qctx) +{ isc_netaddr_t netaddr; - ns_client_t *client = qctx->client; + ns_client_t * client = qctx->client; dns_aclenv_t *env = ns_interfacemgr_getaclenv(client->manager->interface->mgr); const void *order_arg = NULL; isc_netaddr_fromsockaddr(&netaddr, &client->peeraddr); - switch (ns_sortlist_setup(client->view->sortlist, env, - &netaddr, &order_arg)) - { + switch (ns_sortlist_setup(client->view->sortlist, env, &netaddr, + &order_arg)) { case NS_SORTLISTTYPE_1ELEMENT: dns_message_setsortorder(client->message, - query_sortlist_order_1element, - env, NULL, order_arg); + query_sortlist_order_1element, env, + NULL, order_arg); break; case NS_SORTLISTTYPE_2ELEMENT: dns_message_setsortorder(client->message, - query_sortlist_order_2element, - env, order_arg, NULL); + query_sortlist_order_2element, env, + order_arg, NULL); break; case NS_SORTLISTTYPE_NONE: break; @@ -10692,24 +10518,23 @@ query_setup_sortlist(query_ctx_t *qctx) { * in the glue, sort it to the start of the additional section. */ static inline void -query_glueanswer(query_ctx_t *qctx) { +query_glueanswer(query_ctx_t *qctx) +{ const dns_namelist_t *secs = qctx->client->message->sections; - const dns_section_t section = DNS_SECTION_ADDITIONAL; - dns_name_t *name; - dns_message_t *msg; - dns_rdataset_t *rdataset = NULL; + const dns_section_t section = DNS_SECTION_ADDITIONAL; + dns_name_t * name; + dns_message_t * msg; + dns_rdataset_t * rdataset = NULL; if (!ISC_LIST_EMPTY(secs[DNS_SECTION_ANSWER]) || qctx->client->message->rcode != dns_rcode_noerror || (qctx->qtype != dns_rdatatype_a && - qctx->qtype != dns_rdatatype_aaaa)) - { + qctx->qtype != dns_rdatatype_aaaa)) { return; } msg = qctx->client->message; - for (name = ISC_LIST_HEAD(msg->sections[section]); - name != NULL; + for (name = ISC_LIST_HEAD(msg->sections[section]); name != NULL; name = ISC_LIST_NEXT(name, link)) if (dns_name_equal(name, qctx->client->query.qname)) { for (rdataset = ISC_LIST_HEAD(name->list); @@ -10729,8 +10554,9 @@ query_glueanswer(query_ctx_t *qctx) { } isc_result_t -ns_query_done(query_ctx_t *qctx) { - isc_result_t result; +ns_query_done(query_ctx_t *qctx) +{ + isc_result_t result; const dns_namelist_t *secs = qctx->client->message->sections; CCTRACE(ISC_LOG_DEBUG(3), "ns_query_done"); @@ -10742,8 +10568,7 @@ ns_query_done(query_ctx_t *qctx) { */ qctx->rpz_st = qctx->client->query.rpz_st; if (qctx->rpz_st != NULL && - (qctx->rpz_st->state & DNS_RPZ_RECURSING) == 0) - { + (qctx->rpz_st->state & DNS_RPZ_RECURSING) == 0) { rpz_match_clear(qctx->rpz_st); qctx->rpz_st->state &= ~DNS_RPZ_DONE_QNAME; } @@ -10772,11 +10597,9 @@ ns_query_done(query_ctx_t *qctx) { if (qctx->result != ISC_R_SUCCESS && (!PARTIALANSWER(qctx->client) || WANTRECURSION(qctx->client) || - qctx->result == DNS_R_DROP)) - { + qctx->result == DNS_R_DROP)) { if (qctx->result == DNS_R_DUPLICATE || - qctx->result == DNS_R_DROP) - { + qctx->result == DNS_R_DROP) { /* * This was a duplicate query that we are * recursing on or the result of rate limiting. @@ -10817,8 +10640,7 @@ ns_query_done(query_ctx_t *qctx) { query_glueanswer(qctx); if (qctx->client->message->rcode == dns_rcode_nxdomain && - qctx->view->auth_nxdomain == true) - { + qctx->view->auth_nxdomain == true) { qctx->client->message->flags |= DNS_MESSAGEFLAG_AA; } @@ -10829,8 +10651,7 @@ ns_query_done(query_ctx_t *qctx) { */ if (qctx->resuming && (ISC_LIST_EMPTY(secs[DNS_SECTION_ANSWER]) || - qctx->client->message->rcode != dns_rcode_noerror)) - { + qctx->client->message->rcode != dns_rcode_noerror)) { qctx->result = ISC_R_FAILURE; } @@ -10841,18 +10662,19 @@ ns_query_done(query_ctx_t *qctx) { qctx->detach_client = true; return (qctx->result); - cleanup: +cleanup: return (result); } static inline void -log_tat(ns_client_t *client) { - char namebuf[DNS_NAME_FORMATSIZE]; - char clientbuf[ISC_NETADDR_FORMATSIZE]; - char classbuf[DNS_RDATACLASS_FORMATSIZE]; +log_tat(ns_client_t *client) +{ + char namebuf[DNS_NAME_FORMATSIZE]; + char clientbuf[ISC_NETADDR_FORMATSIZE]; + char classbuf[DNS_RDATACLASS_FORMATSIZE]; isc_netaddr_t netaddr; - char *tags = NULL; - size_t taglen = 0; + char * tags = NULL; + size_t taglen = 0; if (!isc_log_wouldlog(ns_lctx, ISC_LOG_INFO)) { return; @@ -10861,8 +10683,7 @@ log_tat(ns_client_t *client) { if ((client->query.qtype != dns_rdatatype_null || !dns_name_istat(client->query.qname)) && (client->keytag == NULL || - client->query.qtype != dns_rdatatype_dnskey)) - { + client->query.qtype != dns_rdatatype_dnskey)) { return; } @@ -10874,14 +10695,14 @@ log_tat(ns_client_t *client) { if (client->query.qtype == dns_rdatatype_dnskey) { uint16_t keytags = client->keytag_len / 2; - size_t len = taglen = sizeof("65000") * keytags + 1; - char *cp = tags = isc_mem_get(client->mctx, taglen); - int i = 0; + size_t len = taglen = sizeof("65000") * keytags + 1; + char * cp = tags = isc_mem_get(client->mctx, taglen); + int i = 0; INSIST(client->keytag != NULL); if (tags != NULL) { while (keytags-- > 0U) { - int n; + int n; uint16_t keytag; keytag = (client->keytag[i * 2] << 8) | client->keytag[i * 2 + 1]; @@ -10899,14 +10720,15 @@ log_tat(ns_client_t *client) { isc_log_write(ns_lctx, NS_LOGCATEGORY_TAT, NS_LOGMODULE_QUERY, ISC_LOG_INFO, "trust-anchor-telemetry '%s/%s' from %s%s", - namebuf, classbuf, clientbuf, tags != NULL? tags : ""); + namebuf, classbuf, clientbuf, tags != NULL ? tags : ""); if (tags != NULL) { isc_mem_put(client->mctx, tags, taglen); } } static inline void -log_query(ns_client_t *client, unsigned int flags, unsigned int extflags) { +log_query(ns_client_t *client, unsigned int flags, unsigned int extflags) +{ char namebuf[DNS_NAME_FORMATSIZE]; char typebuf[DNS_RDATATYPE_FORMATSIZE]; char classbuf[DNS_RDATACLASS_FORMATSIZE]; @@ -10914,9 +10736,9 @@ log_query(ns_client_t *client, unsigned int flags, unsigned int extflags) { char ecsbuf[DNS_ECS_FORMATSIZE + sizeof(" [ECS ]") - 1] = { 0 }; char ednsbuf[sizeof("E(65535)")] = { 0 }; dns_rdataset_t *rdataset; - int level = ISC_LOG_INFO; + int level = ISC_LOG_INFO; - if (! isc_log_wouldlog(ns_lctx, level)) + if (!isc_log_wouldlog(ns_lctx, level)) return; rdataset = ISC_LIST_HEAD(client->query.qname->list); @@ -10936,10 +10758,9 @@ log_query(ns_client_t *client, unsigned int flags, unsigned int extflags) { strlcat(ecsbuf, "]", sizeof(ecsbuf)); } - ns_client_log(client, NS_LOGCATEGORY_QUERIES, NS_LOGMODULE_QUERY, - level, "query: %s %s %s %s%s%s%s%s%s%s (%s)%s", - namebuf, classbuf, typebuf, - WANTRECURSION(client) ? "+" : "-", + ns_client_log(client, NS_LOGCATEGORY_QUERIES, NS_LOGMODULE_QUERY, level, + "query: %s %s %s %s%s%s%s%s%s%s (%s)%s", namebuf, + classbuf, typebuf, WANTRECURSION(client) ? "+" : "-", (client->signer != NULL) ? "S" : "", ednsbuf, TCP(client) ? "T" : "", ((extflags & DNS_MESSAGEEXTFLAG_DO) != 0) ? "D" : "", @@ -10949,11 +10770,12 @@ log_query(ns_client_t *client, unsigned int flags, unsigned int extflags) { } static inline void -log_queryerror(ns_client_t *client, isc_result_t result, int line, int level) { - char namebuf[DNS_NAME_FORMATSIZE]; - char typebuf[DNS_RDATATYPE_FORMATSIZE]; - char classbuf[DNS_RDATACLASS_FORMATSIZE]; - const char *namep, *typep, *classp, *sep1, *sep2; +log_queryerror(ns_client_t *client, isc_result_t result, int line, int level) +{ + char namebuf[DNS_NAME_FORMATSIZE]; + char typebuf[DNS_RDATATYPE_FORMATSIZE]; + char classbuf[DNS_RDATACLASS_FORMATSIZE]; + const char * namep, *typep, *classp, *sep1, *sep2; dns_rdataset_t *rdataset; if (!isc_log_wouldlog(ns_lctx, level)) @@ -10986,18 +10808,19 @@ log_queryerror(ns_client_t *client, isc_result_t result, int line, int level) { ns_client_log(client, NS_LOGCATEGORY_QUERY_ERRORS, NS_LOGMODULE_QUERY, level, "query failed (%s)%s%s%s%s%s%s at %s:%d", - isc_result_totext(result), sep1, namep, sep2, - classp, sep2, typep, __FILE__, line); + isc_result_totext(result), sep1, namep, sep2, classp, + sep2, typep, __FILE__, line); } void -ns_query_start(ns_client_t *client) { - isc_result_t result; - dns_message_t *message; +ns_query_start(ns_client_t *client) +{ + isc_result_t result; + dns_message_t * message; dns_rdataset_t *rdataset; dns_rdatatype_t qtype; - unsigned int saved_extflags; - unsigned int saved_flags; + unsigned int saved_extflags; + unsigned int saved_flags; REQUIRE(NS_CLIENT_VALID(client)); @@ -11022,8 +10845,8 @@ ns_query_start(ns_client_t *client) { case dns_minimal_no: break; case dns_minimal_yes: - client->query.attributes |= (NS_QUERYATTR_NOAUTHORITY | - NS_QUERYATTR_NOADDITIONAL); + client->query.attributes |= + (NS_QUERYATTR_NOAUTHORITY | NS_QUERYATTR_NOADDITIONAL); break; case dns_minimal_noauth: client->query.attributes |= NS_QUERYATTR_NOAUTHORITY; @@ -11040,7 +10863,7 @@ ns_query_start(ns_client_t *client) { * recursion. */ client->query.attributes &= - ~(NS_QUERYATTR_RECURSIONOK|NS_QUERYATTR_CACHEOK); + ~(NS_QUERYATTR_RECURSIONOK | NS_QUERYATTR_CACHEOK); client->attributes |= NS_CLIENTATTR_NOSETFC; } else if ((client->attributes & NS_CLIENTATTR_RA) == 0 || (message->flags & DNS_MESSAGEFLAG_RD) == 0) { @@ -11113,9 +10936,9 @@ ns_query_start(ns_client_t *client) { query_error(client, DNS_R_NOTIMP, __LINE__); return; case dns_rdatatype_tkey: - result = dns_tkey_processquery(client->message, - client->sctx->tkeyctx, - client->view->dynamickeys); + result = dns_tkey_processquery( + client->message, client->sctx->tkeyctx, + client->view->dynamickeys); if (result == ISC_R_SUCCESS) { query_send(client); } else { @@ -11132,26 +10955,25 @@ ns_query_start(ns_client_t *client) { * Turn on minimal response for (C)DNSKEY and (C)DS queries. */ if (qtype == dns_rdatatype_dnskey || qtype == dns_rdatatype_ds || - qtype == dns_rdatatype_cdnskey || qtype == dns_rdatatype_cds) - { - client->query.attributes |= (NS_QUERYATTR_NOAUTHORITY | - NS_QUERYATTR_NOADDITIONAL); + qtype == dns_rdatatype_cdnskey || qtype == dns_rdatatype_cds) { + client->query.attributes |= + (NS_QUERYATTR_NOAUTHORITY | NS_QUERYATTR_NOADDITIONAL); } /* * Maybe turn on minimal responses for ANY queries. */ - if (qtype == dns_rdatatype_any && - client->view->minimal_any && !TCP(client)) - client->query.attributes |= (NS_QUERYATTR_NOAUTHORITY | - NS_QUERYATTR_NOADDITIONAL); + if (qtype == dns_rdatatype_any && client->view->minimal_any && + !TCP(client)) + client->query.attributes |= + (NS_QUERYATTR_NOAUTHORITY | NS_QUERYATTR_NOADDITIONAL); /* * Turn on minimal responses for EDNS/UDP bufsize 512 queries. */ if (client->ednsversion >= 0 && client->udpsize <= 512U && !TCP(client)) - client->query.attributes |= (NS_QUERYATTR_NOAUTHORITY | - NS_QUERYATTR_NOADDITIONAL); + client->query.attributes |= + (NS_QUERYATTR_NOAUTHORITY | NS_QUERYATTR_NOADDITIONAL); /* * If the client has requested that DNSSEC checking be disabled, @@ -11162,8 +10984,7 @@ ns_query_start(ns_client_t *client) { * disabled as there will be no pending data. */ if ((message->flags & DNS_MESSAGEFLAG_CD) != 0 || - qtype == dns_rdatatype_rrsig) - { + qtype == dns_rdatatype_rrsig) { client->query.dboptions |= DNS_DBFIND_PENDINGOK; client->query.fetchoptions |= DNS_FETCHOPT_NOVALIDATE; } else if (!client->view->enablevalidation) { @@ -11172,7 +10993,7 @@ ns_query_start(ns_client_t *client) { if (client->view->qminimization) { client->query.fetchoptions |= DNS_FETCHOPT_QMINIMIZE | - DNS_FETCHOPT_QMIN_SKIP_IP6A; + DNS_FETCHOPT_QMIN_SKIP_IP6A; if (client->view->qmin_strict) { client->query.fetchoptions |= DNS_FETCHOPT_QMIN_STRICT; } else { diff --git a/lib/ns/server.c b/lib/ns/server.c index 7cf773d99d..c2ce5dfd03 100644 --- a/lib/ns/server.c +++ b/lib/ns/server.c @@ -17,20 +17,21 @@ #include #include -#include #include +#include #include #include #include -#define SCTX_MAGIC ISC_MAGIC('S','c','t','x') -#define SCTX_VALID(s) ISC_MAGIC_VALID(s, SCTX_MAGIC) +#define SCTX_MAGIC ISC_MAGIC('S', 'c', 't', 'x') +#define SCTX_VALID(s) ISC_MAGIC_VALID(s, SCTX_MAGIC) -#define CHECKFATAL(op) \ - do { result = (op); \ - RUNTIME_CHECK(result == ISC_R_SUCCESS); \ - } while (0) \ +#define CHECKFATAL(op) \ + do { \ + result = (op); \ + RUNTIME_CHECK(result == ISC_R_SUCCESS); \ + } while (0) isc_result_t ns_server_create(isc_mem_t *mctx, ns_matchview_t matchingview, @@ -106,7 +107,8 @@ ns_server_create(isc_mem_t *mctx, ns_matchview_t matchingview, } void -ns_server_attach(ns_server_t *src, ns_server_t **dest) { +ns_server_attach(ns_server_t *src, ns_server_t **dest) +{ REQUIRE(SCTX_VALID(src)); REQUIRE(dest != NULL && *dest == NULL); @@ -116,7 +118,8 @@ ns_server_attach(ns_server_t *src, ns_server_t **dest) { } void -ns_server_detach(ns_server_t **sctxp) { +ns_server_detach(ns_server_t **sctxp) +{ ns_server_t *sctx; REQUIRE(sctxp != NULL && SCTX_VALID(*sctxp)); @@ -196,7 +199,8 @@ ns_server_detach(ns_server_t **sctxp) { } isc_result_t -ns_server_setserverid(ns_server_t *sctx, const char *serverid) { +ns_server_setserverid(ns_server_t *sctx, const char *serverid) +{ REQUIRE(SCTX_VALID(sctx)); if (sctx->server_id != NULL) { @@ -212,8 +216,7 @@ ns_server_setserverid(ns_server_t *sctx, const char *serverid) { } void -ns_server_setoption(ns_server_t *sctx, unsigned int option, - bool value) +ns_server_setoption(ns_server_t *sctx, unsigned int option, bool value) { REQUIRE(SCTX_VALID(sctx)); if (value) { @@ -224,7 +227,8 @@ ns_server_setoption(ns_server_t *sctx, unsigned int option, } bool -ns_server_getoption(ns_server_t *sctx, unsigned int option) { +ns_server_getoption(ns_server_t *sctx, unsigned int option) +{ REQUIRE(SCTX_VALID(sctx)); return ((sctx->options & option) != 0); diff --git a/lib/ns/sortlist.c b/lib/ns/sortlist.c index 8a0b5d571c..9a4953af8a 100644 --- a/lib/ns/sortlist.c +++ b/lib/ns/sortlist.c @@ -22,8 +22,8 @@ #include ns_sortlisttype_t -ns_sortlist_setup(dns_acl_t *acl, dns_aclenv_t *env, - isc_netaddr_t *clientaddr, const void **argp) +ns_sortlist_setup(dns_acl_t *acl, dns_aclenv_t *env, isc_netaddr_t *clientaddr, + const void **argp) { unsigned int i; @@ -35,9 +35,9 @@ ns_sortlist_setup(dns_acl_t *acl, dns_aclenv_t *env, * 'e' refers to the current 'top level statement' * in the sortlist (see ARM). */ - dns_aclelement_t *e = &acl->elements[i]; - dns_aclelement_t *try_elt; - dns_aclelement_t *order_elt = NULL; + dns_aclelement_t * e = &acl->elements[i]; + dns_aclelement_t * try_elt; + dns_aclelement_t * order_elt = NULL; const dns_aclelement_t *matched_elt = NULL; if (e->type == dns_aclelementtype_nestedacl) { @@ -62,25 +62,21 @@ ns_sortlist_setup(dns_acl_t *acl, dns_aclenv_t *env, try_elt = e; } - if (dns_aclelement_match(clientaddr, NULL, try_elt, - env, &matched_elt)) - { + if (dns_aclelement_match(clientaddr, NULL, try_elt, env, + &matched_elt)) { if (order_elt != NULL) { if (order_elt->type == - dns_aclelementtype_nestedacl) - { + dns_aclelementtype_nestedacl) { *argp = order_elt->nestedacl; return (NS_SORTLISTTYPE_2ELEMENT); } else if (order_elt->type == - dns_aclelementtype_localhost && - env->localhost != NULL) - { + dns_aclelementtype_localhost && + env->localhost != NULL) { *argp = env->localhost; return (NS_SORTLISTTYPE_2ELEMENT); } else if (order_elt->type == - dns_aclelementtype_localnets && - env->localnets != NULL) - { + dns_aclelementtype_localnets && + env->localnets != NULL) { *argp = env->localnets; return (NS_SORTLISTTYPE_2ELEMENT); } else { @@ -101,17 +97,18 @@ ns_sortlist_setup(dns_acl_t *acl, dns_aclenv_t *env, } /* No match; don't sort. */ - dont_sort: +dont_sort: *argp = NULL; return (NS_SORTLISTTYPE_NONE); } int -ns_sortlist_addrorder2(const isc_netaddr_t *addr, const void *arg) { - const dns_sortlist_arg_t *sla = (const dns_sortlist_arg_t *) arg; - const dns_aclenv_t *env = sla->env; - const dns_acl_t *sortacl = sla->acl; - int match; +ns_sortlist_addrorder2(const isc_netaddr_t *addr, const void *arg) +{ + const dns_sortlist_arg_t *sla = (const dns_sortlist_arg_t *)arg; + const dns_aclenv_t * env = sla->env; + const dns_acl_t * sortacl = sla->acl; + int match; (void)dns_acl_match(addr, NULL, sortacl, env, &match, NULL); if (match > 0) { @@ -124,10 +121,11 @@ ns_sortlist_addrorder2(const isc_netaddr_t *addr, const void *arg) { } int -ns_sortlist_addrorder1(const isc_netaddr_t *addr, const void *arg) { - const dns_sortlist_arg_t *sla = (const dns_sortlist_arg_t *) arg; - const dns_aclenv_t *env = sla->env; - const dns_aclelement_t *element = sla->element; +ns_sortlist_addrorder1(const isc_netaddr_t *addr, const void *arg) +{ + const dns_sortlist_arg_t *sla = (const dns_sortlist_arg_t *)arg; + const dns_aclenv_t * env = sla->env; + const dns_aclelement_t * element = sla->element; if (dns_aclelement_match(addr, NULL, element, env, NULL)) { return (0); @@ -138,7 +136,7 @@ ns_sortlist_addrorder1(const isc_netaddr_t *addr, const void *arg) { void ns_sortlist_byaddrsetup(dns_acl_t *sortlist_acl, dns_aclenv_t *env, - isc_netaddr_t *client_addr, + isc_netaddr_t * client_addr, dns_addressorderfunc_t *orderp, const void **argp) { ns_sortlisttype_t sortlisttype; @@ -158,8 +156,8 @@ ns_sortlist_byaddrsetup(dns_acl_t *sortlist_acl, dns_aclenv_t *env, default: UNEXPECTED_ERROR(__FILE__, __LINE__, "unexpected return from ns_sortlist_setup(): " - "%d", sortlisttype); + "%d", + sortlisttype); break; } } - diff --git a/lib/ns/stats.c b/lib/ns/stats.c index 745c3d7310..f62a030dae 100644 --- a/lib/ns/stats.c +++ b/lib/ns/stats.c @@ -19,19 +19,20 @@ #include -#define NS_STATS_MAGIC ISC_MAGIC('N', 's', 't', 't') -#define NS_STATS_VALID(x) ISC_MAGIC_VALID(x, NS_STATS_MAGIC) +#define NS_STATS_MAGIC ISC_MAGIC('N', 's', 't', 't') +#define NS_STATS_VALID(x) ISC_MAGIC_VALID(x, NS_STATS_MAGIC) struct ns_stats { /*% Unlocked */ - unsigned int magic; - isc_mem_t *mctx; - isc_stats_t *counters; - isc_refcount_t references; + unsigned int magic; + isc_mem_t * mctx; + isc_stats_t * counters; + isc_refcount_t references; }; void -ns_stats_attach(ns_stats_t *stats, ns_stats_t **statsp) { +ns_stats_attach(ns_stats_t *stats, ns_stats_t **statsp) +{ REQUIRE(NS_STATS_VALID(stats)); REQUIRE(statsp != NULL && *statsp == NULL); @@ -41,7 +42,8 @@ ns_stats_attach(ns_stats_t *stats, ns_stats_t **statsp) { } void -ns_stats_detach(ns_stats_t **statsp) { +ns_stats_detach(ns_stats_t **statsp) +{ ns_stats_t *stats; REQUIRE(statsp != NULL && NS_STATS_VALID(*statsp)); @@ -57,8 +59,9 @@ ns_stats_detach(ns_stats_t **statsp) { } isc_result_t -ns_stats_create(isc_mem_t *mctx, int ncounters, ns_stats_t **statsp) { - ns_stats_t *stats; +ns_stats_create(isc_mem_t *mctx, int ncounters, ns_stats_t **statsp) +{ + ns_stats_t * stats; isc_result_t result; REQUIRE(statsp != NULL && *statsp == NULL); @@ -80,7 +83,7 @@ ns_stats_create(isc_mem_t *mctx, int ncounters, ns_stats_t **statsp) { return (ISC_R_SUCCESS); - clean_mem: +clean_mem: isc_mem_put(mctx, stats, sizeof(*stats)); return (result); @@ -90,29 +93,32 @@ ns_stats_create(isc_mem_t *mctx, int ncounters, ns_stats_t **statsp) { * Increment/Decrement methods */ void -ns_stats_increment(ns_stats_t *stats, isc_statscounter_t counter) { +ns_stats_increment(ns_stats_t *stats, isc_statscounter_t counter) +{ REQUIRE(NS_STATS_VALID(stats)); isc_stats_increment(stats->counters, counter); } void -ns_stats_decrement(ns_stats_t *stats, isc_statscounter_t counter) { +ns_stats_decrement(ns_stats_t *stats, isc_statscounter_t counter) +{ REQUIRE(NS_STATS_VALID(stats)); isc_stats_decrement(stats->counters, counter); } isc_stats_t * -ns_stats_get(ns_stats_t *stats) { +ns_stats_get(ns_stats_t *stats) +{ REQUIRE(NS_STATS_VALID(stats)); return (stats->counters); } -void ns_stats_update_if_greater(ns_stats_t *stats, - isc_statscounter_t counter, - isc_statscounter_t value) +void +ns_stats_update_if_greater(ns_stats_t *stats, isc_statscounter_t counter, + isc_statscounter_t value) { REQUIRE(NS_STATS_VALID(stats)); diff --git a/lib/ns/tests/listenlist_test.c b/lib/ns/tests/listenlist_test.c index 55fcc45741..d0fa960833 100644 --- a/lib/ns/tests/listenlist_test.c +++ b/lib/ns/tests/listenlist_test.c @@ -13,11 +13,10 @@ #if HAVE_CMOCKA && !__SANITIZE_ADDRESS__ +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -37,7 +36,8 @@ #include "nstest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -49,7 +49,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); ns_test_end(); @@ -59,12 +60,13 @@ _teardown(void **state) { /* test that ns_listenlist_default() works */ static void -ns_listenlist_default_test(void **state) { - isc_result_t result; - in_port_t port = 5300 + isc_random8(); +ns_listenlist_default_test(void **state) +{ + isc_result_t result; + in_port_t port = 5300 + isc_random8(); ns_listenlist_t *list = NULL; - ns_listenelt_t *elt; - int count; + ns_listenelt_t * elt; + int count; UNUSED(state); @@ -78,7 +80,7 @@ ns_listenlist_default_test(void **state) { elt = ISC_LIST_HEAD(list->elts); while (elt != NULL) { ns_listenelt_t *next = ISC_LIST_NEXT(elt, link); - dns_acl_t *acl = NULL; + dns_acl_t * acl = NULL; dns_acl_attach(elt->acl, &acl); ISC_LIST_UNLINK(list->elts, elt, link); @@ -116,7 +118,8 @@ ns_listenlist_default_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test_setup_teardown(ns_listenlist_default_test, _setup, _teardown), @@ -130,14 +133,15 @@ main(void) { #include int -main(void) { +main(void) +{ #if __SANITIZE_ADDRESS__ /* * We disable this test when the address sanitizer is in * the use, as libuv will trigger errors. */ printf("1..0 # Skip ASAN is in use\n"); -#else /* ADDRESS_SANIZITER */ +#else /* ADDRESS_SANIZITER */ printf("1..0 # Skip cmocka not available\n"); #endif /* __SANITIZE_ADDRESS__ */ return (0); diff --git a/lib/ns/tests/notify_test.c b/lib/ns/tests/notify_test.c index 926bf246a0..6ef131e640 100644 --- a/lib/ns/tests/notify_test.c +++ b/lib/ns/tests/notify_test.c @@ -13,11 +13,10 @@ #if HAVE_CMOCKA && !__SANITIZE_ADDRESS__ +#include /* IWYU pragma: keep */ +#include #include #include -#include - -#include /* IWYU pragma: keep */ #include #include #include @@ -41,7 +40,8 @@ #if defined(USE_LIBTOOL) || LD_WRAP static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -53,7 +53,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); ns_test_end(); @@ -62,11 +63,12 @@ _teardown(void **state) { } static void -check_response(isc_buffer_t *buf) { - isc_result_t result; +check_response(isc_buffer_t *buf) +{ + isc_result_t result; dns_message_t *message = NULL; - char rcodebuf[20]; - isc_buffer_t b; + char rcodebuf[20]; + isc_buffer_t b; result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &message); assert_int_equal(result, ISC_R_SUCCESS); @@ -85,13 +87,14 @@ check_response(isc_buffer_t *buf) { /* test ns_notify_start() */ static void -notify_start(void **state) { - isc_result_t result; - ns_client_t *client = NULL; +notify_start(void **state) +{ + isc_result_t result; + ns_client_t * client = NULL; dns_message_t *nmsg = NULL; - unsigned char ndata[4096]; - isc_buffer_t nbuf; - size_t nsize; + unsigned char ndata[4096]; + isc_buffer_t nbuf; + size_t nsize; UNUSED(state); @@ -110,8 +113,8 @@ notify_start(void **state) { * (XXX: use better message mocking method when available.) */ - result = ns_test_getdata("testdata/notify/notify1.msg", - ndata, sizeof(ndata), &nsize); + result = ns_test_getdata("testdata/notify/notify1.msg", ndata, + sizeof(ndata), &nsize); assert_int_equal(result, ISC_R_SUCCESS); isc_buffer_init(&nbuf, ndata, nsize); isc_buffer_add(&nbuf, nsize); @@ -143,11 +146,12 @@ notify_start(void **state) { #endif int -main(void) { +main(void) +{ #if defined(USE_LIBTOOL) || LD_WRAP const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(notify_start, - _setup, _teardown), + cmocka_unit_test_setup_teardown(notify_start, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -160,14 +164,15 @@ main(void) { #include int -main(void) { +main(void) +{ #if __SANITIZE_ADDRESS__ /* * We disable this test when the address sanitizer is in * the use, as libuv will trigger errors. */ printf("1..0 # Skip ASAN is in use\n"); -#else /* __SANITIZE_ADDRESS__ */ +#else /* __SANITIZE_ADDRESS__ */ printf("1..0 # Skip cmocka not available\n"); #endif /* __SANITIZE_ADDRESS__ */ return (0); diff --git a/lib/ns/tests/nstest.c b/lib/ns/tests/nstest.c index e05f8d8f55..35faaa44a5 100644 --- a/lib/ns/tests/nstest.c +++ b/lib/ns/tests/nstest.c @@ -11,6 +11,8 @@ /*! \file */ +#include "nstest.h" + #include #include #include @@ -26,9 +28,9 @@ #include #include #include -#include #include #include +#include #include #include #include @@ -48,23 +50,21 @@ #include #include -#include "nstest.h" - -isc_mem_t *mctx = NULL; -isc_log_t *lctx = NULL; -isc_taskmgr_t *taskmgr = NULL; -isc_task_t *maintask = NULL; -isc_timermgr_t *timermgr = NULL; -isc_socketmgr_t *socketmgr = NULL; -isc_nm_t *nm = NULL; -dns_zonemgr_t *zonemgr = NULL; +isc_mem_t * mctx = NULL; +isc_log_t * lctx = NULL; +isc_taskmgr_t * taskmgr = NULL; +isc_task_t * maintask = NULL; +isc_timermgr_t * timermgr = NULL; +isc_socketmgr_t * socketmgr = NULL; +isc_nm_t * nm = NULL; +dns_zonemgr_t * zonemgr = NULL; dns_dispatchmgr_t *dispatchmgr = NULL; -ns_clientmgr_t *clientmgr = NULL; +ns_clientmgr_t * clientmgr = NULL; ns_interfacemgr_t *interfacemgr = NULL; -ns_server_t *sctx = NULL; -bool app_running = false; -int ncpus; -bool debug_mem_record = true; +ns_server_t * sctx = NULL; +bool app_running = false; +int ncpus; +bool debug_mem_record = true; static atomic_bool run_managers = ATOMIC_VAR_INIT(false); static bool dst_active = false; @@ -76,18 +76,19 @@ static dns_zone_t *served_zone = NULL; * We don't want to use netmgr-based client accounting, we need to emulate it. */ atomic_uint_fast32_t client_refs[32]; -atomic_uintptr_t client_addrs[32]; +atomic_uintptr_t client_addrs[32]; void __wrap_isc_nmhandle_unref(isc_nmhandle_t *handle); void -__wrap_isc_nmhandle_unref(isc_nmhandle_t *handle) { +__wrap_isc_nmhandle_unref(isc_nmhandle_t *handle) +{ ns_client_t *client = (ns_client_t *)handle; - int i; + int i; for (i = 0; i < 32; i++) { - if (atomic_load(&client_addrs[i]) == (uintptr_t) client) { + if (atomic_load(&client_addrs[i]) == (uintptr_t)client) { break; } } @@ -106,22 +107,20 @@ __wrap_isc_nmhandle_unref(isc_nmhandle_t *handle) { /* * Logging categories: this needs to match the list in lib/ns/log.c. */ -static isc_logcategory_t categories[] = { - { "", 0 }, - { "client", 0 }, - { "network", 0 }, - { "update", 0 }, - { "queries", 0 }, - { "unmatched", 0 }, - { "update-security", 0 }, - { "query-errors", 0 }, - { NULL, 0 } -}; +static isc_logcategory_t categories[] = { { "", 0 }, + { "client", 0 }, + { "network", 0 }, + { "update", 0 }, + { "queries", 0 }, + { "unmatched", 0 }, + { "update-security", 0 }, + { "query-errors", 0 }, + { NULL, 0 } }; static isc_result_t matchview(isc_netaddr_t *srcaddr, isc_netaddr_t *destaddr, - dns_message_t *message, dns_aclenv_t *env, - isc_result_t *sigresultp, dns_view_t **viewp) + dns_message_t *message, dns_aclenv_t *env, isc_result_t *sigresultp, + dns_view_t **viewp) { UNUSED(srcaddr); UNUSED(destaddr); @@ -138,7 +137,8 @@ matchview(isc_netaddr_t *srcaddr, isc_netaddr_t *destaddr, */ static atomic_bool shutdown_done = ATOMIC_VAR_INIT(false); static void -shutdown_managers(isc_task_t *task, isc_event_t *event) { +shutdown_managers(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); if (interfacemgr != NULL) { @@ -157,7 +157,8 @@ shutdown_managers(isc_task_t *task, isc_event_t *event) { } static void -cleanup_managers(void) { +cleanup_managers(void) +{ atomic_store(&shutdown_done, false); if (maintask != NULL) { @@ -184,7 +185,7 @@ cleanup_managers(void) { isc_socketmgr_destroy(&socketmgr); } ns_test_nap(500000); - if (nm != NULL ){ + if (nm != NULL) { /* * Force something in the workqueue as a workaround * for libuv bug - not sending uv_close callback. @@ -205,7 +206,8 @@ cleanup_managers(void) { } static void -scan_interfaces(isc_task_t *task, isc_event_t *event) { +scan_interfaces(isc_task_t *task, isc_event_t *event) +{ UNUSED(task); ns_interfacemgr_scan(interfacemgr, true); @@ -213,11 +215,12 @@ scan_interfaces(isc_task_t *task, isc_event_t *event) { } static isc_result_t -create_managers(void) { - isc_result_t result; - in_port_t port = 5300 + isc_random8(); +create_managers(void) +{ + isc_result_t result; + in_port_t port = 5300 + isc_random8(); ns_listenlist_t *listenon = NULL; - isc_event_t *event = NULL; + isc_event_t * event = NULL; ncpus = isc_os_ncpus(); CHECK(isc_taskmgr_create(mctx, ncpus, 0, NULL, &taskmgr)); @@ -235,17 +238,16 @@ create_managers(void) { CHECK(dns_dispatchmgr_create(mctx, &dispatchmgr)); - CHECK(ns_interfacemgr_create(mctx, sctx, taskmgr, timermgr, - socketmgr, nm, dispatchmgr, maintask, - ncpus, NULL, &interfacemgr)); + CHECK(ns_interfacemgr_create(mctx, sctx, taskmgr, timermgr, socketmgr, + nm, dispatchmgr, maintask, ncpus, NULL, + &interfacemgr)); CHECK(ns_listenlist_default(mctx, port, -1, true, &listenon)); ns_interfacemgr_setlistenon4(interfacemgr, listenon); ns_listenlist_detach(&listenon); event = isc_event_allocate(mctx, maintask, ISC_TASKEVENT_TEST, - scan_interfaces, NULL, - sizeof (isc_event_t)); + scan_interfaces, NULL, sizeof(isc_event_t)); isc_task_send(maintask, &event); /* @@ -261,13 +263,14 @@ create_managers(void) { return (ISC_R_SUCCESS); - cleanup: +cleanup: cleanup_managers(); return (result); } isc_result_t -ns_test_begin(FILE *logfile, bool start_managers) { +ns_test_begin(FILE *logfile, bool start_managers) +{ isc_result_t result; INSIST(!test_running); @@ -290,7 +293,7 @@ ns_test_begin(FILE *logfile, bool start_managers) { if (logfile != NULL) { isc_logdestination_t destination; - isc_logconfig_t *logconfig = NULL; + isc_logconfig_t * logconfig = NULL; INSIST(lctx == NULL); CHECK(isc_log_create(mctx, &lctx, &logconfig)); @@ -305,8 +308,7 @@ ns_test_begin(FILE *logfile, bool start_managers) { destination.file.versions = ISC_LOG_ROLLNEVER; destination.file.maximum_size = 0; CHECK(isc_log_createchannel(logconfig, "stderr", - ISC_LOG_TOFILEDESC, - ISC_LOG_DYNAMIC, + ISC_LOG_TOFILEDESC, ISC_LOG_DYNAMIC, &destination, 0)); CHECK(isc_log_usechannel(logconfig, "stderr", NULL, NULL)); } @@ -328,13 +330,14 @@ ns_test_begin(FILE *logfile, bool start_managers) { return (ISC_R_SUCCESS); - cleanup: +cleanup: ns_test_end(); return (result); } void -ns_test_end(void) { +ns_test_end(void) +{ cleanup_managers(); dst_lib_destroy(); @@ -352,11 +355,10 @@ ns_test_end(void) { } isc_result_t -ns_test_makeview(const char *name, bool with_cache, - dns_view_t **viewp) +ns_test_makeview(const char *name, bool with_cache, dns_view_t **viewp) { dns_cache_t *cache = NULL; - dns_view_t *view = NULL; + dns_view_t * view = NULL; isc_result_t result; CHECK(dns_view_create(mctx, dns_rdataclass_in, name, &view)); @@ -378,7 +380,7 @@ ns_test_makeview(const char *name, bool with_cache, return (ISC_R_SUCCESS); - cleanup: +cleanup: if (view != NULL) dns_view_detach(&view); return (result); @@ -398,11 +400,11 @@ isc_result_t ns_test_makezone(const char *name, dns_zone_t **zonep, dns_view_t *view, bool keepview) { - isc_result_t result; - dns_zone_t *zone = NULL; - isc_buffer_t buffer; + isc_result_t result; + dns_zone_t * zone = NULL; + isc_buffer_t buffer; dns_fixedname_t fixorigin; - dns_name_t *origin; + dns_name_t * origin; if (view == NULL) CHECK(dns_view_create(mctx, dns_rdataclass_in, "view", &view)); @@ -430,7 +432,7 @@ ns_test_makezone(const char *name, dns_zone_t **zonep, dns_view_t *view, return (ISC_R_SUCCESS); - cleanup: +cleanup: if (zone != NULL) dns_zone_detach(&zone); if (view != NULL) @@ -439,7 +441,8 @@ ns_test_makezone(const char *name, dns_zone_t **zonep, dns_view_t *view, } isc_result_t -ns_test_setupzonemgr(void) { +ns_test_setupzonemgr(void) +{ isc_result_t result; REQUIRE(zonemgr == NULL); @@ -449,7 +452,8 @@ ns_test_setupzonemgr(void) { } isc_result_t -ns_test_managezone(dns_zone_t *zone) { +ns_test_managezone(dns_zone_t *zone) +{ isc_result_t result; REQUIRE(zonemgr != NULL); @@ -462,13 +466,15 @@ ns_test_managezone(dns_zone_t *zone) { } void -ns_test_releasezone(dns_zone_t *zone) { +ns_test_releasezone(dns_zone_t *zone) +{ REQUIRE(zonemgr != NULL); dns_zonemgr_releasezone(zonemgr, zone); } void -ns_test_closezonemgr(void) { +ns_test_closezonemgr(void) +{ REQUIRE(zonemgr != NULL); dns_zonemgr_shutdown(zonemgr); @@ -476,11 +482,10 @@ ns_test_closezonemgr(void) { } isc_result_t -ns_test_serve_zone(const char *zonename, const char *filename, - dns_view_t *view) +ns_test_serve_zone(const char *zonename, const char *filename, dns_view_t *view) { isc_result_t result; - dns_db_t *db = NULL; + dns_db_t * db = NULL; /* * Prepare zone structure for further processing. @@ -542,7 +547,8 @@ free_zone: } void -ns_test_cleanup_zone(void) { +ns_test_cleanup_zone(void) +{ ns_test_releasezone(served_zone); ns_test_closezonemgr(); @@ -550,12 +556,11 @@ ns_test_cleanup_zone(void) { } isc_result_t -ns_test_getclient(ns_interface_t *ifp0, bool tcp, - ns_client_t **clientp) +ns_test_getclient(ns_interface_t *ifp0, bool tcp, ns_client_t **clientp) { isc_result_t result; ns_client_t *client = isc_mem_get(mctx, sizeof(ns_client_t)); - int i; + int i; UNUSED(ifp0); UNUSED(tcp); @@ -563,17 +568,16 @@ ns_test_getclient(ns_interface_t *ifp0, bool tcp, result = ns__client_setup(client, clientmgr, true); for (i = 0; i < 32; i++) { - if (atomic_load(&client_addrs[i]) == (uintptr_t) NULL || - atomic_load(&client_addrs[i]) == (uintptr_t) client) - { + if (atomic_load(&client_addrs[i]) == (uintptr_t)NULL || + atomic_load(&client_addrs[i]) == (uintptr_t)client) { break; } } REQUIRE(i < 32); atomic_store(&client_refs[i], 2); - atomic_store(&client_addrs[i], (uintptr_t) client); - client->handle = (isc_nmhandle_t *) client; /* Hack */ + atomic_store(&client_addrs[i], (uintptr_t)client); + client->handle = (isc_nmhandle_t *)client; /* Hack */ *clientp = client; return (result); @@ -588,12 +592,12 @@ attach_query_msg_to_client(ns_client_t *client, const char *qnamestr, dns_rdatatype_t qtype, unsigned int qflags) { dns_rdataset_t *qrdataset = NULL; - dns_message_t *message = NULL; - unsigned char query[65536]; - dns_name_t *qname = NULL; - isc_buffer_t querybuf; - dns_compress_t cctx; - isc_result_t result; + dns_message_t * message = NULL; + unsigned char query[65536]; + dns_name_t * qname = NULL; + isc_buffer_t querybuf; + dns_compress_t cctx; + isc_result_t result; REQUIRE(client != NULL); REQUIRE(qnamestr != NULL); @@ -688,9 +692,10 @@ destroy_message: * point. */ static ns_hookresult_t -extract_qctx(void *arg, void *data, isc_result_t *resultp) { +extract_qctx(void *arg, void *data, isc_result_t *resultp) +{ query_ctx_t **qctxp; - query_ctx_t *qctx; + query_ctx_t * qctx; REQUIRE(arg != NULL); REQUIRE(data != NULL); @@ -725,7 +730,8 @@ extract_qctx(void *arg, void *data, isc_result_t *resultp) { * \li "client->message" to hold a parsed DNS query. */ static isc_result_t -create_qctx_for_client(ns_client_t *client, query_ctx_t **qctxp) { +create_qctx_for_client(ns_client_t *client, query_ctx_t **qctxp) +{ ns_hooktable_t *saved_hook_table = NULL, *query_hooks = NULL; const ns_hook_t hook = { .action = extract_qctx, @@ -764,7 +770,7 @@ create_qctx_for_client(ns_client_t *client, query_ctx_t **qctxp) { isc_result_t ns_test_qctx_create(const ns_test_qctx_create_params_t *params, - query_ctx_t **qctxp) + query_ctx_t ** qctxp) { ns_client_t *client = NULL; isc_result_t result; @@ -834,7 +840,8 @@ detach_client: } void -ns_test_qctx_destroy(query_ctx_t **qctxp) { +ns_test_qctx_destroy(query_ctx_t **qctxp) +{ query_ctx_t *qctx; REQUIRE(qctxp != NULL); @@ -871,7 +878,8 @@ ns_test_hook_catch_call(void *arg, void *data, isc_result_t *resultp) * Sleep for 'usec' microseconds. */ void -ns_test_nap(uint32_t usec) { +ns_test_nap(uint32_t usec) +{ #ifdef HAVE_NANOSLEEP struct timespec ts; @@ -893,18 +901,18 @@ isc_result_t ns_test_loaddb(dns_db_t **db, dns_dbtype_t dbtype, const char *origin, const char *testfile) { - isc_result_t result; - dns_fixedname_t fixed; - dns_name_t *name; + isc_result_t result; + dns_fixedname_t fixed; + dns_name_t * name; name = dns_fixedname_initname(&fixed); result = dns_name_fromstring(name, origin, 0, NULL); if (result != ISC_R_SUCCESS) - return(result); + return (result); - result = dns_db_create(mctx, "rbt", name, dbtype, dns_rdataclass_in, - 0, NULL, db); + result = dns_db_create(mctx, "rbt", name, dbtype, dns_rdataclass_in, 0, + NULL, db); if (result != ISC_R_SUCCESS) return (result); @@ -913,7 +921,8 @@ ns_test_loaddb(dns_db_t **db, dns_dbtype_t dbtype, const char *origin, } static int -fromhex(char c) { +fromhex(char c) +{ if (c >= '0' && c <= '9') return (c - '0'); else if (c >= 'a' && c <= 'f') @@ -927,16 +936,16 @@ fromhex(char c) { } isc_result_t -ns_test_getdata(const char *file, unsigned char *buf, - size_t bufsiz, size_t *sizep) +ns_test_getdata(const char *file, unsigned char *buf, size_t bufsiz, + size_t *sizep) { - isc_result_t result; + isc_result_t result; unsigned char *bp; - char *rp, *wp; - char s[BUFSIZ]; - size_t len, i; - FILE *f = NULL; - int n; + char * rp, *wp; + char s[BUFSIZ]; + size_t len, i; + FILE * f = NULL; + int n; result = isc_stdio_open(file, "r", &f); if (result != ISC_R_SUCCESS) @@ -950,8 +959,8 @@ ns_test_getdata(const char *file, unsigned char *buf, while (*rp != '\0') { if (*rp == '#') break; - if (*rp != ' ' && *rp != '\t' && - *rp != '\r' && *rp != '\n') { + if (*rp != ' ' && *rp != '\t' && *rp != '\r' && + *rp != '\n') { *wp++ = *rp; len++; } @@ -972,12 +981,11 @@ ns_test_getdata(const char *file, unsigned char *buf, } } - *sizep = bp - buf; result = ISC_R_SUCCESS; - cleanup: +cleanup: isc_stdio_close(f); return (result); } diff --git a/lib/ns/tests/nstest.h b/lib/ns/tests/nstest.h index b457646e7f..ab1ada8d4b 100644 --- a/lib/ns/tests/nstest.h +++ b/lib/ns/tests/nstest.h @@ -26,38 +26,41 @@ #include #include -#include #include #include +#include typedef struct ns_test_id { const char *description; - int lineno; + int lineno; } ns_test_id_t; -#define NS_TEST_ID(desc) { .description = desc, .lineno = __LINE__ } +#define NS_TEST_ID(desc) \ + { \ + .description = desc, .lineno = __LINE__ \ + } -#define CHECK(r) \ - do { \ - result = (r); \ +#define CHECK(r) \ + do { \ + result = (r); \ if (result != ISC_R_SUCCESS) \ - goto cleanup; \ + goto cleanup; \ } while (0) -extern isc_mem_t *mctx; -extern isc_log_t *lctx; -extern isc_taskmgr_t *taskmgr; -extern isc_task_t *maintask; -extern isc_timermgr_t *timermgr; -extern isc_socketmgr_t *socketmgr; -extern dns_zonemgr_t *zonemgr; +extern isc_mem_t * mctx; +extern isc_log_t * lctx; +extern isc_taskmgr_t * taskmgr; +extern isc_task_t * maintask; +extern isc_timermgr_t * timermgr; +extern isc_socketmgr_t * socketmgr; +extern dns_zonemgr_t * zonemgr; extern dns_dispatchmgr_t *dispatchmgr; -extern ns_clientmgr_t *clientmgr; +extern ns_clientmgr_t * clientmgr; extern ns_interfacemgr_t *interfacemgr; -extern ns_server_t *sctx; -extern bool app_running; -extern int ncpus; -extern bool debug_mem_record; +extern ns_server_t * sctx; +extern bool app_running; +extern int ncpus; +extern bool debug_mem_record; isc_result_t ns_test_begin(FILE *logfile, bool create_managers); @@ -70,12 +73,11 @@ ns_test_end(void); * also be created and attached to the created view. */ isc_result_t -ns_test_makeview(const char *name, bool with_cache, - dns_view_t **viewp); +ns_test_makeview(const char *name, bool with_cache, dns_view_t **viewp); isc_result_t ns_test_makezone(const char *name, dns_zone_t **zonep, dns_view_t *view, - bool keepview); + bool keepview); isc_result_t ns_test_setupzonemgr(void); @@ -112,21 +114,20 @@ ns_test_loaddb(dns_db_t **db, dns_dbtype_t dbtype, const char *origin, const char *testfile); isc_result_t -ns_test_getdata(const char *file, unsigned char *buf, - size_t bufsiz, size_t *sizep); +ns_test_getdata(const char *file, unsigned char *buf, size_t bufsiz, + size_t *sizep); isc_result_t -ns_test_getclient(ns_interface_t *ifp0, bool tcp, - ns_client_t **clientp); +ns_test_getclient(ns_interface_t *ifp0, bool tcp, ns_client_t **clientp); /*% * Structure containing parameters for ns_test_qctx_create(). */ typedef struct ns_test_qctx_create_params { - const char *qname; + const char * qname; dns_rdatatype_t qtype; - unsigned int qflags; - bool with_cache; + unsigned int qflags; + bool with_cache; } ns_test_qctx_create_params_t; /*% @@ -138,7 +139,7 @@ typedef struct ns_test_qctx_create_params { */ isc_result_t ns_test_qctx_create(const ns_test_qctx_create_params_t *params, - query_ctx_t **qctxp); + query_ctx_t ** qctxp); /*% * Destroy a query context created by ns_test_qctx_create(). diff --git a/lib/ns/tests/plugin_test.c b/lib/ns/tests/plugin_test.c index 91627b6826..eab070ddd7 100644 --- a/lib/ns/tests/plugin_test.c +++ b/lib/ns/tests/plugin_test.c @@ -11,13 +11,12 @@ #if HAVE_CMOCKA -#include -#include -#include - #include #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include @@ -30,14 +29,16 @@ #include #include -ISC_PLATFORM_NORETURN_PRE void _fail(const char * const file, const int line) ISC_PLATFORM_NORETURN_POST; +ISC_PLATFORM_NORETURN_PRE void +_fail(const char *const file, const int line) ISC_PLATFORM_NORETURN_POST; #include #include "nstest.h" static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -49,7 +50,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ if (*state != NULL) { isc_mem_free(mctx, *state); } @@ -63,21 +65,20 @@ _teardown(void **state) { * Structure containing parameters for run_full_path_test(). */ typedef struct { - const ns_test_id_t id; /* libns test identifier */ - const char *input; /* source string - plugin name or path */ - size_t output_size; /* size of target char array to allocate */ - isc_result_t result; /* expected return value */ - const char *output; /* expected output string */ + const ns_test_id_t id; /* libns test identifier */ + const char * input; /* source string - plugin name or path */ + size_t output_size; /* size of target char array to allocate */ + isc_result_t result; /* expected return value */ + const char * output; /* expected output string */ } ns_plugin_expandpath_test_params_t; /*% * Perform a single ns_plugin_expandpath() check using given parameters. */ static void -run_full_path_test(const ns_plugin_expandpath_test_params_t *test, - void **state) +run_full_path_test(const ns_plugin_expandpath_test_params_t *test, void **state) { - char **target = (char **)state; + char ** target = (char **)state; isc_result_t result; REQUIRE(test != NULL); @@ -94,8 +95,7 @@ run_full_path_test(const ns_plugin_expandpath_test_params_t *test, /* * Call ns_plugin_expandpath(). */ - result = ns_plugin_expandpath(test->input, - *target, test->output_size); + result = ns_plugin_expandpath(test->input, *target, test->output_size); /* * Check return value. @@ -103,9 +103,9 @@ run_full_path_test(const ns_plugin_expandpath_test_params_t *test, if (result != test->result) { fail_msg("# test \"%s\" on line %d: " "expected result %d (%s), got %d (%s)", - test->id.description, test->id.lineno, - test->result, isc_result_totext(test->result), - result, isc_result_totext(result)); + test->id.description, test->id.lineno, test->result, + isc_result_totext(test->result), result, + isc_result_totext(result)); } /* @@ -114,8 +114,8 @@ run_full_path_test(const ns_plugin_expandpath_test_params_t *test, if (result == ISC_R_SUCCESS && strcmp(*target, test->output) != 0) { fail_msg("# test \"%s\" on line %d: " "expected output \"%s\", got \"%s\"", - test->id.description, test->id.lineno, - test->output, *target); + test->id.description, test->id.lineno, test->output, + *target); } isc_mem_free(mctx, *target); @@ -123,7 +123,8 @@ run_full_path_test(const ns_plugin_expandpath_test_params_t *test, /* test ns_plugin_expandpath() */ static void -ns_plugin_expandpath_test(void **state) { +ns_plugin_expandpath_test(void **state) +{ size_t i; const ns_plugin_expandpath_test_params_t tests[] = { @@ -186,7 +187,8 @@ ns_plugin_expandpath_test(void **state) { } int -main(void) { +main(void) +{ const struct CMUnitTest tests[] = { cmocka_unit_test_setup_teardown(ns_plugin_expandpath_test, _setup, _teardown), @@ -199,7 +201,8 @@ main(void) { #include int -main(void) { +main(void) +{ printf("1..0 # Skipped: cmocka not available\n"); return (0); } diff --git a/lib/ns/tests/query_test.c b/lib/ns/tests/query_test.c index d0b5bbf905..87ba7a2b8a 100644 --- a/lib/ns/tests/query_test.c +++ b/lib/ns/tests/query_test.c @@ -13,13 +13,12 @@ #if HAVE_CMOCKA && !__SANITIZE_ADDRESS__ -#include -#include -#include - #include #include /* IWYU pragma: keep */ +#include +#include #include +#include #include #include @@ -37,7 +36,8 @@ #if defined(USE_LIBTOOL) || LD_WRAP static int -_setup(void **state) { +_setup(void **state) +{ isc_result_t result; UNUSED(state); @@ -49,7 +49,8 @@ _setup(void **state) { } static int -_teardown(void **state) { +_teardown(void **state) +{ UNUSED(state); ns_test_end(); @@ -65,25 +66,26 @@ _teardown(void **state) { * Structure containing parameters for ns__query_sfcache_test(). */ typedef struct { - const ns_test_id_t id; /* libns test identifier */ - unsigned int qflags; /* query flags */ - bool cache_entry_present; /* whether a SERVFAIL cache entry - matching the query should be - present */ - uint32_t cache_entry_flags; /* NS_FAILCACHE_* flags to set for - the SERVFAIL cache entry */ - bool servfail_expected; /* whether a cached SERVFAIL is - expected to be returned */ + const ns_test_id_t id; /* libns test identifier */ + unsigned int qflags; /* query flags */ + bool cache_entry_present; /* whether a SERVFAIL cache entry + matching the query should be + present */ + uint32_t cache_entry_flags; /* NS_FAILCACHE_* flags to set for + the SERVFAIL cache entry */ + bool servfail_expected; /* whether a cached SERVFAIL is + expected to be returned */ } ns__query_sfcache_test_params_t; /*% * Perform a single ns__query_sfcache() check using given parameters. */ static void -run_sfcache_test(const ns__query_sfcache_test_params_t *test) { +run_sfcache_test(const ns__query_sfcache_test_params_t *test) +{ ns_hooktable_t *query_hooks = NULL; - query_ctx_t *qctx = NULL; - isc_result_t result; + query_ctx_t * qctx = NULL; + isc_result_t result; const ns_hook_t hook = { .action = ns_test_hook_catch_call, }; @@ -122,7 +124,7 @@ run_sfcache_test(const ns__query_sfcache_test_params_t *test) { */ if (test->cache_entry_present) { isc_interval_t hour; - isc_time_t expire; + isc_time_t expire; isc_interval_set(&hour, 3600, 0); result = isc_time_nowplusinterval(&expire, &hour); @@ -163,7 +165,8 @@ run_sfcache_test(const ns__query_sfcache_test_params_t *test) { /* test ns__query_sfcache() */ static void -ns__query_sfcache_test(void **state) { +ns__query_sfcache_test(void **state) +{ size_t i; const ns__query_sfcache_test_params_t tests[] = { @@ -251,28 +254,28 @@ ns__query_sfcache_test(void **state) { * Structure containing parameters for ns__query_start_test(). */ typedef struct { - const ns_test_id_t id; /* libns test identifier */ - const char *qname; /* QNAME */ - dns_rdatatype_t qtype; /* QTYPE */ - unsigned int qflags; /* query flags */ - bool disable_name_checks; /* if set to true, owner name - checks will be disabled for the - view created */ - bool recursive_service; /* if set to true, the view - created will have a cache - database attached */ - const char *auth_zone_origin; /* origin name of the zone the - created view will be - authoritative for */ - const char *auth_zone_path; /* path to load the authoritative - zone from */ - enum { /* expected result: */ - NS__QUERY_START_R_INVALID, - NS__QUERY_START_R_REFUSE, /* query should be REFUSED */ - NS__QUERY_START_R_CACHE, /* query should be answered from - cache */ - NS__QUERY_START_R_AUTH, /* query should be answered using - authoritative data */ + const ns_test_id_t id; /* libns test identifier */ + const char * qname; /* QNAME */ + dns_rdatatype_t qtype; /* QTYPE */ + unsigned int qflags; /* query flags */ + bool disable_name_checks; /* if set to true, owner name + checks will be disabled for the + view created */ + bool recursive_service; /* if set to true, the view + created will have a cache + database attached */ + const char *auth_zone_origin; /* origin name of the zone the + created view will be + authoritative for */ + const char *auth_zone_path; /* path to load the authoritative + zone from */ + enum { /* expected result: */ + NS__QUERY_START_R_INVALID, + NS__QUERY_START_R_REFUSE, /* query should be REFUSED */ + NS__QUERY_START_R_CACHE, /* query should be answered from + cache */ + NS__QUERY_START_R_AUTH, /* query should be answered using + authoritative data */ } expected_result; } ns__query_start_test_params_t; @@ -280,10 +283,11 @@ typedef struct { * Perform a single ns__query_start() check using given parameters. */ static void -run_start_test(const ns__query_start_test_params_t *test) { +run_start_test(const ns__query_start_test_params_t *test) +{ ns_hooktable_t *query_hooks = NULL; - query_ctx_t *qctx = NULL; - isc_result_t result; + query_ctx_t * qctx = NULL; + isc_result_t result; const ns_hook_t hook = { .action = ns_test_hook_catch_call, }; @@ -373,8 +377,7 @@ run_start_test(const ns__query_start_test_params_t *test) { test->id.description, test->id.lineno); } if (qctx->db == NULL || - qctx->db != qctx->client->view->cachedb) - { + qctx->db != qctx->client->view->cachedb) { fail_msg("# test \"%s\" on line %d: " "cache database was expected to be " "attached to query context, but it was not", @@ -422,7 +425,8 @@ run_start_test(const ns__query_start_test_params_t *test) { /* test ns__query_start() */ static void -ns__query_start_test(void **state) { +ns__query_start_test(void **state) +{ size_t i; const ns__query_start_test_params_t tests[] = { @@ -592,13 +596,14 @@ ns__query_start_test(void **state) { #endif int -main(void) { +main(void) +{ #if defined(USE_LIBTOOL) || LD_WRAP const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(ns__query_sfcache_test, - _setup, _teardown), - cmocka_unit_test_setup_teardown(ns__query_start_test, - _setup, _teardown), + cmocka_unit_test_setup_teardown(ns__query_sfcache_test, _setup, + _teardown), + cmocka_unit_test_setup_teardown(ns__query_start_test, _setup, + _teardown), }; return (cmocka_run_group_tests(tests, NULL, NULL)); @@ -612,14 +617,15 @@ main(void) { #include int -main(void) { +main(void) +{ #if __SANITIZE_ADDRESS__ /* * We disable this test when the address sanitizer is in * the use, as libuv will trigger errors. */ printf("1..0 # Skip ASAN is in use\n"); -#else /* ADDRESS_SANIZITER */ +#else /* ADDRESS_SANIZITER */ printf("1..0 # Skip cmocka not available\n"); #endif /* __SANITIZE_ADDRESS__ */ return (0); diff --git a/lib/ns/tests/wrap.c b/lib/ns/tests/wrap.c index 41b8449fc6..b89c004700 100644 --- a/lib/ns/tests/wrap.c +++ b/lib/ns/tests/wrap.c @@ -35,6 +35,7 @@ extern void __wrap_isc_nmhandle_unref(isc_nmhandle_t *handle); void -isc_nmhandle_unref(isc_nmhandle_t *handle) { +isc_nmhandle_unref(isc_nmhandle_t *handle) +{ __wrap_isc_nmhandle_unref(handle); } diff --git a/lib/ns/update.c b/lib/ns/update.c index bdf55c10a9..ba3cc2410d 100644 --- a/lib/ns/update.c +++ b/lib/ns/update.c @@ -9,8 +9,8 @@ * information regarding copyright ownership. */ -#include #include +#include #include #include @@ -67,21 +67,23 @@ /*% * Log level for tracing dynamic update protocol requests. */ -#define LOGLEVEL_PROTOCOL ISC_LOG_INFO +#define LOGLEVEL_PROTOCOL ISC_LOG_INFO /*% * Log level for low-level debug tracing. */ -#define LOGLEVEL_DEBUG ISC_LOG_DEBUG(8) +#define LOGLEVEL_DEBUG ISC_LOG_DEBUG(8) /*% * Check an operation for failure. These macros all assume that * the function using them has a 'result' variable and a 'failure' * label. */ -#define CHECK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) /*% @@ -93,10 +95,11 @@ * from complaining about "end-of-loop code not reached". */ -#define FAIL(code) \ - do { \ - result = (code); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define FAIL(code) \ + do { \ + result = (code); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) /*% @@ -104,81 +107,83 @@ * The test against ISC_R_SUCCESS is there to keep the Solaris compiler * from complaining about "end-of-loop code not reached". */ -#define FAILC(code, msg) \ - do { \ - const char *_what = "failed"; \ - result = (code); \ - switch (result) { \ - case DNS_R_NXDOMAIN: \ - case DNS_R_YXDOMAIN: \ - case DNS_R_YXRRSET: \ - case DNS_R_NXRRSET: \ - _what = "unsuccessful"; \ - } \ - update_log(client, zone, LOGLEVEL_PROTOCOL, \ - "update %s: %s (%s)", _what, \ - msg, isc_result_totext(result)); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define FAILC(code, msg) \ + do { \ + const char *_what = "failed"; \ + result = (code); \ + switch (result) { \ + case DNS_R_NXDOMAIN: \ + case DNS_R_YXDOMAIN: \ + case DNS_R_YXRRSET: \ + case DNS_R_NXRRSET: \ + _what = "unsuccessful"; \ + } \ + update_log(client, zone, LOGLEVEL_PROTOCOL, \ + "update %s: %s (%s)", _what, msg, \ + isc_result_totext(result)); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) -#define PREREQFAILC(code, msg) \ - do { \ +#define PREREQFAILC(code, msg) \ + do { \ inc_stats(client, zone, ns_statscounter_updatebadprereq); \ - FAILC(code, msg); \ + FAILC(code, msg); \ } while (0) -#define FAILN(code, name, msg) \ - do { \ - const char *_what = "failed"; \ - result = (code); \ - switch (result) { \ - case DNS_R_NXDOMAIN: \ - case DNS_R_YXDOMAIN: \ - case DNS_R_YXRRSET: \ - case DNS_R_NXRRSET: \ - _what = "unsuccessful"; \ - } \ - if (isc_log_wouldlog(ns_lctx, LOGLEVEL_PROTOCOL)) { \ - char _nbuf[DNS_NAME_FORMATSIZE]; \ - dns_name_format(name, _nbuf, sizeof(_nbuf)); \ - update_log(client, zone, LOGLEVEL_PROTOCOL, \ +#define FAILN(code, name, msg) \ + do { \ + const char *_what = "failed"; \ + result = (code); \ + switch (result) { \ + case DNS_R_NXDOMAIN: \ + case DNS_R_YXDOMAIN: \ + case DNS_R_YXRRSET: \ + case DNS_R_NXRRSET: \ + _what = "unsuccessful"; \ + } \ + if (isc_log_wouldlog(ns_lctx, LOGLEVEL_PROTOCOL)) { \ + char _nbuf[DNS_NAME_FORMATSIZE]; \ + dns_name_format(name, _nbuf, sizeof(_nbuf)); \ + update_log(client, zone, LOGLEVEL_PROTOCOL, \ "update %s: %s: %s (%s)", _what, _nbuf, \ - msg, isc_result_totext(result)); \ - } \ - if (result != ISC_R_SUCCESS) goto failure; \ + msg, isc_result_totext(result)); \ + } \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) -#define PREREQFAILN(code, name, msg) \ - do { \ +#define PREREQFAILN(code, name, msg) \ + do { \ inc_stats(client, zone, ns_statscounter_updatebadprereq); \ - FAILN(code, name, msg); \ + FAILN(code, name, msg); \ } while (0) -#define FAILNT(code, name, type, msg) \ - do { \ - const char *_what = "failed"; \ - result = (code); \ - switch (result) { \ - case DNS_R_NXDOMAIN: \ - case DNS_R_YXDOMAIN: \ - case DNS_R_YXRRSET: \ - case DNS_R_NXRRSET: \ - _what = "unsuccessful"; \ - } \ - if (isc_log_wouldlog(ns_lctx, LOGLEVEL_PROTOCOL)) { \ - char _nbuf[DNS_NAME_FORMATSIZE]; \ - char _tbuf[DNS_RDATATYPE_FORMATSIZE]; \ - dns_name_format(name, _nbuf, sizeof(_nbuf)); \ - dns_rdatatype_format(type, _tbuf, sizeof(_tbuf)); \ - update_log(client, zone, LOGLEVEL_PROTOCOL, \ - "update %s: %s/%s: %s (%s)", \ - _what, _nbuf, _tbuf, msg, \ - isc_result_totext(result)); \ - } \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define FAILNT(code, name, type, msg) \ + do { \ + const char *_what = "failed"; \ + result = (code); \ + switch (result) { \ + case DNS_R_NXDOMAIN: \ + case DNS_R_YXDOMAIN: \ + case DNS_R_YXRRSET: \ + case DNS_R_NXRRSET: \ + _what = "unsuccessful"; \ + } \ + if (isc_log_wouldlog(ns_lctx, LOGLEVEL_PROTOCOL)) { \ + char _nbuf[DNS_NAME_FORMATSIZE]; \ + char _tbuf[DNS_RDATATYPE_FORMATSIZE]; \ + dns_name_format(name, _nbuf, sizeof(_nbuf)); \ + dns_rdatatype_format(type, _tbuf, sizeof(_tbuf)); \ + update_log(client, zone, LOGLEVEL_PROTOCOL, \ + "update %s: %s/%s: %s (%s)", _what, _nbuf, \ + _tbuf, msg, isc_result_totext(result)); \ + } \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) -#define PREREQFAILNT(code, name, type, msg) \ - do { \ +#define PREREQFAILNT(code, name, type, msg) \ + do { \ inc_stats(client, zone, ns_statscounter_updatebadprereq); \ - FAILNT(code, name, type, msg); \ + FAILNT(code, name, type, msg); \ } while (0) /*% @@ -186,13 +191,13 @@ * The test against ISC_R_SUCCESS is there to keep the Solaris compiler * from complaining about "end-of-loop code not reached". */ -#define FAILS(code, msg) \ - do { \ - result = (code); \ - update_log(client, zone, LOGLEVEL_PROTOCOL, \ - "error: %s: %s", \ - msg, isc_result_totext(result)); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define FAILS(code, msg) \ + do { \ + result = (code); \ + update_log(client, zone, LOGLEVEL_PROTOCOL, "error: %s: %s", \ + msg, isc_result_totext(result)); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) /* @@ -206,17 +211,17 @@ typedef struct rr rr_t; struct rr { /* dns_name_t name; */ - uint32_t ttl; - dns_rdata_t rdata; + uint32_t ttl; + dns_rdata_t rdata; }; typedef struct update_event update_event_t; struct update_event { ISC_EVENT_COMMON(update_event_t); - dns_zone_t *zone; - isc_result_t result; - dns_message_t *answer; + dns_zone_t * zone; + isc_result_t result; + dns_message_t *answer; }; /*% @@ -229,16 +234,16 @@ struct update_event { */ typedef struct { - dns_db_t *db; + dns_db_t * db; dns_dbversion_t *ver; - dns_diff_t *diff; - dns_name_t *name; - dns_name_t *oldname; - dns_rdata_t *update_rr; - dns_ttl_t update_rr_ttl; - bool ignore_add; - dns_diff_t del_diff; - dns_diff_t add_diff; + dns_diff_t * diff; + dns_name_t * name; + dns_name_t * oldname; + dns_rdata_t * update_rr; + dns_ttl_t update_rr_ttl; + bool ignore_add; + dns_diff_t del_diff; + dns_diff_t add_diff; } add_rr_prepare_ctx_t; /**************************************************************************/ @@ -246,26 +251,31 @@ typedef struct { * Forward declarations. */ -static void update_action(isc_task_t *task, isc_event_t *event); -static void updatedone_action(isc_task_t *task, isc_event_t *event); -static isc_result_t send_forward_event(ns_client_t *client, dns_zone_t *zone); -static void forward_done(isc_task_t *task, isc_event_t *event); -static isc_result_t add_rr_prepare_action(void *data, rr_t *rr); +static void +update_action(isc_task_t *task, isc_event_t *event); +static void +updatedone_action(isc_task_t *task, isc_event_t *event); +static isc_result_t +send_forward_event(ns_client_t *client, dns_zone_t *zone); +static void +forward_done(isc_task_t *task, isc_event_t *event); +static isc_result_t +add_rr_prepare_action(void *data, rr_t *rr); /**************************************************************************/ static void -update_log(ns_client_t *client, dns_zone_t *zone, - int level, const char *fmt, ...) ISC_FORMAT_PRINTF(4, 5); +update_log(ns_client_t *client, dns_zone_t *zone, int level, const char *fmt, + ...) ISC_FORMAT_PRINTF(4, 5); static void -update_log(ns_client_t *client, dns_zone_t *zone, - int level, const char *fmt, ...) +update_log(ns_client_t *client, dns_zone_t *zone, int level, const char *fmt, + ...) { va_list ap; - char message[4096]; - char namebuf[DNS_NAME_FORMATSIZE]; - char classbuf[DNS_RDATACLASS_FORMATSIZE]; + char message[4096]; + char namebuf[DNS_NAME_FORMATSIZE]; + char classbuf[DNS_RDATACLASS_FORMATSIZE]; if (client == NULL) { return; @@ -286,19 +296,18 @@ update_log(ns_client_t *client, dns_zone_t *zone, sizeof(classbuf)); ns_client_log(client, NS_LOGCATEGORY_UPDATE, - NS_LOGMODULE_UPDATE, - level, "updating zone '%s/%s': %s", - namebuf, classbuf, message); + NS_LOGMODULE_UPDATE, level, + "updating zone '%s/%s': %s", namebuf, classbuf, + message); } else { ns_client_log(client, NS_LOGCATEGORY_UPDATE, - NS_LOGMODULE_UPDATE, - level, "%s", message); + NS_LOGMODULE_UPDATE, level, "%s", message); } - } static void -update_log_cb(void *arg, dns_zone_t *zone, int level, const char *message) { +update_log_cb(void *arg, dns_zone_t *zone, int level, const char *message) +{ update_log(arg, zone, level, "%s", message); } @@ -306,7 +315,8 @@ update_log_cb(void *arg, dns_zone_t *zone, int level, const char *message) { * Increment updated-related statistics counters. */ static inline void -inc_stats(ns_client_t *client, dns_zone_t *zone, isc_statscounter_t counter) { +inc_stats(ns_client_t *client, dns_zone_t *zone, isc_statscounter_t counter) +{ ns_stats_increment(client->sctx->nsstats, counter); if (zone != NULL) { @@ -326,9 +336,9 @@ static isc_result_t checkqueryacl(ns_client_t *client, dns_acl_t *queryacl, dns_name_t *zonename, dns_acl_t *updateacl, dns_ssutable_t *ssutable) { - char namebuf[DNS_NAME_FORMATSIZE]; - char classbuf[DNS_RDATACLASS_FORMATSIZE]; - int level; + char namebuf[DNS_NAME_FORMATSIZE]; + char classbuf[DNS_RDATACLASS_FORMATSIZE]; + int level; isc_result_t result; result = ns_client_checkaclsilent(client, NULL, queryacl, true); @@ -337,8 +347,8 @@ checkqueryacl(ns_client_t *client, dns_acl_t *queryacl, dns_name_t *zonename, dns_rdataclass_format(client->view->rdclass, classbuf, sizeof(classbuf)); - level = (updateacl == NULL && ssutable == NULL) ? - ISC_LOG_INFO : ISC_LOG_ERROR; + level = (updateacl == NULL && ssutable == NULL) ? ISC_LOG_INFO + : ISC_LOG_ERROR; ns_client_log(client, NS_LOGCATEGORY_UPDATE_SECURITY, NS_LOGMODULE_UPDATE, level, @@ -373,13 +383,12 @@ checkqueryacl(ns_client_t *client, dns_acl_t *queryacl, dns_name_t *zonename, */ static isc_result_t checkupdateacl(ns_client_t *client, dns_acl_t *acl, const char *message, - dns_name_t *zonename, bool slave, - bool has_ssutable) + dns_name_t *zonename, bool slave, bool has_ssutable) { - char namebuf[DNS_NAME_FORMATSIZE]; - char classbuf[DNS_RDATACLASS_FORMATSIZE]; - int level = ISC_LOG_ERROR; - const char *msg = "denied"; + char namebuf[DNS_NAME_FORMATSIZE]; + char classbuf[DNS_RDATACLASS_FORMATSIZE]; + int level = ISC_LOG_ERROR; + const char * msg = "denied"; isc_result_t result; if (slave && acl == NULL) { @@ -408,8 +417,8 @@ checkupdateacl(ns_client_t *client, dns_acl_t *acl, const char *message, sizeof(classbuf)); ns_client_log(client, NS_LOGCATEGORY_UPDATE_SECURITY, - NS_LOGMODULE_UPDATE, level, "%s '%s/%s' %s", - message, namebuf, classbuf, msg); + NS_LOGMODULE_UPDATE, level, "%s '%s/%s' %s", message, + namebuf, classbuf, msg); return (result); } @@ -425,7 +434,7 @@ static isc_result_t do_one_tuple(dns_difftuple_t **tuple, dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff) { - dns_diff_t temp_diff; + dns_diff_t temp_diff; isc_result_t result; /* @@ -467,14 +476,14 @@ do_diff(dns_diff_t *updates, dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff) { isc_result_t result; - while (! ISC_LIST_EMPTY(updates->tuples)) { + while (!ISC_LIST_EMPTY(updates->tuples)) { dns_difftuple_t *t = ISC_LIST_HEAD(updates->tuples); ISC_LIST_UNLINK(updates->tuples, t, link); CHECK(do_one_tuple(&t, db, ver, diff)); } return (ISC_R_SUCCESS); - failure: +failure: dns_diff_clear(diff); return (result); } @@ -485,9 +494,8 @@ update_one_rr(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, dns_rdata_t *rdata) { dns_difftuple_t *tuple = NULL; - isc_result_t result; - result = dns_difftuple_create(diff->mctx, op, - name, ttl, rdata, &tuple); + isc_result_t result; + result = dns_difftuple_create(diff->mctx, op, name, ttl, rdata, &tuple); if (result != ISC_R_SUCCESS) return (result); return (do_one_tuple(&tuple, db, ver, diff)); @@ -516,32 +524,33 @@ update_one_rr(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, /*% * Function type for foreach_rrset() iterator actions. */ -typedef isc_result_t rrset_func(void *data, dns_rdataset_t *rrset); +typedef isc_result_t +rrset_func(void *data, dns_rdataset_t *rrset); /*% * Function type for foreach_rr() iterator actions. */ -typedef isc_result_t rr_func(void *data, rr_t *rr); +typedef isc_result_t +rr_func(void *data, rr_t *rr); /*% * Internal context struct for foreach_node_rr(). */ typedef struct { - rr_func * rr_action; - void * rr_action_data; + rr_func *rr_action; + void * rr_action_data; } foreach_node_rr_ctx_t; /*% * Internal helper function for foreach_node_rr(). */ static isc_result_t -foreach_node_rr_action(void *data, dns_rdataset_t *rdataset) { - isc_result_t result; +foreach_node_rr_action(void *data, dns_rdataset_t *rdataset) +{ + isc_result_t result; foreach_node_rr_ctx_t *ctx = data; - for (result = dns_rdataset_first(rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(rdataset)) - { + for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(rdataset)) { rr_t rr = { 0, DNS_RDATA_INIT }; dns_rdataset_current(rdataset, &rr.rdata); @@ -566,12 +575,12 @@ static isc_result_t foreach_rrset(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, rrset_func *action, void *action_data) { - isc_result_t result; - dns_dbnode_t *node; - dns_rdatasetiter_t *iter; + isc_result_t result; + dns_dbnode_t * node; + dns_rdatasetiter_t * iter; dns_clientinfomethods_t cm; - dns_clientinfo_t ci; - dns_dbversion_t *oldver = NULL; + dns_clientinfo_t ci; + dns_dbversion_t * oldver = NULL; dns_clientinfomethods_init(&cm, ns_client_sourceip); @@ -591,15 +600,12 @@ foreach_rrset(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, return (result); iter = NULL; - result = dns_db_allrdatasets(db, node, ver, - (isc_stdtime_t) 0, &iter); + result = dns_db_allrdatasets(db, node, ver, (isc_stdtime_t)0, &iter); if (result != ISC_R_SUCCESS) goto cleanup_node; - for (result = dns_rdatasetiter_first(iter); - result == ISC_R_SUCCESS; - result = dns_rdatasetiter_next(iter)) - { + for (result = dns_rdatasetiter_first(iter); result == ISC_R_SUCCESS; + result = dns_rdatasetiter_next(iter)) { dns_rdataset_t rdataset; dns_rdataset_init(&rdataset); @@ -614,10 +620,10 @@ foreach_rrset(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, if (result == ISC_R_NOMORE) result = ISC_R_SUCCESS; - cleanup_iterator: +cleanup_iterator: dns_rdatasetiter_destroy(&iter); - cleanup_node: +cleanup_node: dns_db_detachnode(db, &node); return (result); @@ -638,11 +644,9 @@ foreach_node_rr(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, foreach_node_rr_ctx_t ctx; ctx.rr_action = rr_action; ctx.rr_action_data = rr_action_data; - return (foreach_rrset(db, ver, name, - foreach_node_rr_action, &ctx)); + return (foreach_rrset(db, ver, name, foreach_node_rr_action, &ctx)); } - /*% * For each of the RRs specified by 'db', 'ver', 'name', 'type', * (which can be dns_rdatatype_any to match any type), and 'covers', call @@ -657,14 +661,13 @@ foreach_rr(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, dns_rdatatype_t type, dns_rdatatype_t covers, rr_func *rr_action, void *rr_action_data) { - - isc_result_t result; - dns_dbnode_t *node; - dns_rdataset_t rdataset; + isc_result_t result; + dns_dbnode_t * node; + dns_rdataset_t rdataset; dns_clientinfomethods_t cm; - dns_clientinfo_t ci; - dns_dbversion_t *oldver = NULL; - dns_fixedname_t fixed; + dns_clientinfo_t ci; + dns_dbversion_t * oldver = NULL; + dns_fixedname_t fixed; dns_clientinfomethods_init(&cm, ns_client_sourceip); @@ -677,16 +680,15 @@ foreach_rr(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, dns_db_closeversion(db, &oldver, false); if (type == dns_rdatatype_any) - return (foreach_node_rr(db, ver, name, - rr_action, rr_action_data)); + return (foreach_node_rr(db, ver, name, rr_action, + rr_action_data)); node = NULL; if (type == dns_rdatatype_nsec3 || (type == dns_rdatatype_rrsig && covers == dns_rdatatype_nsec3)) result = dns_db_findnsec3node(db, name, false, &node); else - result = dns_db_findnodeext(db, name, false, - &cm, &ci, &node); + result = dns_db_findnodeext(db, name, false, &cm, &ci, &node); if (result == ISC_R_NOTFOUND) return (ISC_R_SUCCESS); if (result != ISC_R_SUCCESS) @@ -694,7 +696,7 @@ foreach_rr(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, dns_rdataset_init(&rdataset); result = dns_db_findrdataset(db, node, ver, type, covers, - (isc_stdtime_t) 0, &rdataset, NULL); + (isc_stdtime_t)0, &rdataset, NULL); if (result == ISC_R_NOTFOUND) { result = ISC_R_SUCCESS; goto cleanup_node; @@ -710,10 +712,8 @@ foreach_rr(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, dns_rdataset_getownercase(&rdataset, ctx->oldname); } - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; - result = dns_rdataset_next(&rdataset)) - { + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; + result = dns_rdataset_next(&rdataset)) { rr_t rr = { 0, DNS_RDATA_INIT }; dns_rdataset_current(&rdataset, &rr.rdata); rr.ttl = rdataset.ttl; @@ -725,9 +725,9 @@ foreach_rr(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, goto cleanup_rdataset; result = ISC_R_SUCCESS; - cleanup_rdataset: +cleanup_rdataset: dns_rdataset_disassociate(&rdataset); - cleanup_node: +cleanup_node: dns_db_detachnode(db, &node); return (result); @@ -742,13 +742,15 @@ foreach_rr(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, * Function type for predicate functions that compare a database RR 'db_rr' * against an update RR 'update_rr'. */ -typedef bool rr_predicate(dns_rdata_t *update_rr, dns_rdata_t *db_rr); +typedef bool +rr_predicate(dns_rdata_t *update_rr, dns_rdata_t *db_rr); /*% * Helper function for rrset_exists(). */ static isc_result_t -rrset_exists_action(void *data, rr_t *rr) { +rrset_exists_action(void *data, rr_t *rr) +{ UNUSED(data); UNUSED(rr); return (ISC_R_EXISTS); @@ -767,12 +769,12 @@ rrset_exists_action(void *data, rr_t *rr) { * This would be more readable as "do { if ... } while(0)", * but that form generates tons of warnings on Solaris 2.6. */ -#define RETURN_EXISTENCE_FLAG \ - return ((result == ISC_R_EXISTS) ? \ - (*exists = true, ISC_R_SUCCESS) : \ - ((result == ISC_R_SUCCESS) ? \ - (*exists = false, ISC_R_SUCCESS) : \ - result)) +#define RETURN_EXISTENCE_FLAG \ + return ((result == ISC_R_EXISTS) \ + ? (*exists = true, ISC_R_SUCCESS) \ + : ((result == ISC_R_SUCCESS) \ + ? (*exists = false, ISC_R_SUCCESS) \ + : result)) /*% * Set '*exists' to true iff an rrset of the given type exists, @@ -780,12 +782,11 @@ rrset_exists_action(void *data, rr_t *rr) { */ static isc_result_t rrset_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, - dns_rdatatype_t type, dns_rdatatype_t covers, - bool *exists) + dns_rdatatype_t type, dns_rdatatype_t covers, bool *exists) { isc_result_t result; - result = foreach_rr(db, ver, name, type, covers, - rrset_exists_action, NULL); + result = foreach_rr(db, ver, name, type, covers, rrset_exists_action, + NULL); RETURN_EXISTENCE_FLAG; } @@ -793,11 +794,11 @@ rrset_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, * Helper function for cname_incompatible_rrset_exists. */ static isc_result_t -cname_compatibility_action(void *data, dns_rdataset_t *rrset) { +cname_compatibility_action(void *data, dns_rdataset_t *rrset) +{ UNUSED(data); if (rrset->type != dns_rdatatype_cname && - ! dns_rdatatype_atcname(rrset->type)) - { + !dns_rdatatype_atcname(rrset->type)) { return (ISC_R_EXISTS); } return (ISC_R_SUCCESS); @@ -813,10 +814,10 @@ cname_compatibility_action(void *data, dns_rdataset_t *rrset) { */ static isc_result_t cname_incompatible_rrset_exists(dns_db_t *db, dns_dbversion_t *ver, - dns_name_t *name, bool *exists) { + dns_name_t *name, bool *exists) +{ isc_result_t result; - result = foreach_rrset(db, ver, name, - cname_compatibility_action, NULL); + result = foreach_rrset(db, ver, name, cname_compatibility_action, NULL); RETURN_EXISTENCE_FLAG; } @@ -824,7 +825,8 @@ cname_incompatible_rrset_exists(dns_db_t *db, dns_dbversion_t *ver, * Helper function for rr_count(). */ static isc_result_t -count_rr_action(void *data, rr_t *rr) { +count_rr_action(void *data, rr_t *rr) +{ int *countp = data; UNUSED(rr); (*countp)++; @@ -839,8 +841,8 @@ rr_count(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, dns_rdatatype_t type, dns_rdatatype_t covers, int *countp) { *countp = 0; - return (foreach_rr(db, ver, name, type, covers, - count_rr_action, countp)); + return (foreach_rr(db, ver, name, type, covers, count_rr_action, + countp)); } /*% @@ -848,7 +850,8 @@ rr_count(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, */ static isc_result_t -name_exists_action(void *data, dns_rdataset_t *rrset) { +name_exists_action(void *data, dns_rdataset_t *rrset) +{ UNUSED(data); UNUSED(rrset); return (ISC_R_EXISTS); @@ -858,12 +861,10 @@ name_exists_action(void *data, dns_rdataset_t *rrset) { * Set '*exists' to true iff the given name exists, to false otherwise. */ static isc_result_t -name_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, - bool *exists) +name_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, bool *exists) { isc_result_t result; - result = foreach_rrset(db, ver, name, - name_exists_action, NULL); + result = foreach_rrset(db, ver, name, name_exists_action, NULL); RETURN_EXISTENCE_FLAG; } @@ -896,9 +897,10 @@ typedef struct { } ssu_check_t; static isc_result_t -ssu_checkrule(void *data, dns_rdataset_t *rrset) { +ssu_checkrule(void *data, dns_rdataset_t *rrset) +{ ssu_check_t *ssuinfo = data; - bool result; + bool result; /* * If we're deleting all records, it's ok to delete RRSIG and NSEC even @@ -907,21 +909,19 @@ ssu_checkrule(void *data, dns_rdataset_t *rrset) { if (rrset->type == dns_rdatatype_rrsig || rrset->type == dns_rdatatype_nsec) return (ISC_R_SUCCESS); - result = dns_ssutable_checkrules(ssuinfo->table, ssuinfo->signer, - ssuinfo->name, ssuinfo->addr, - ssuinfo->tcp, ssuinfo->aclenv, - rrset->type, ssuinfo->key); + result = dns_ssutable_checkrules( + ssuinfo->table, ssuinfo->signer, ssuinfo->name, ssuinfo->addr, + ssuinfo->tcp, ssuinfo->aclenv, rrset->type, ssuinfo->key); return (result == true ? ISC_R_SUCCESS : ISC_R_FAILURE); } static bool ssu_checkall(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, - dns_ssutable_t *ssutable, dns_name_t *signer, - isc_netaddr_t *addr, dns_aclenv_t *aclenv, bool tcp, - dst_key_t *key) + dns_ssutable_t *ssutable, dns_name_t *signer, isc_netaddr_t *addr, + dns_aclenv_t *aclenv, bool tcp, dst_key_t *key) { isc_result_t result; - ssu_check_t ssuinfo; + ssu_check_t ssuinfo; ssuinfo.name = name; ssuinfo.table = ssutable; @@ -945,21 +945,21 @@ ssu_checkall(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, * where each tuple has op==DNS_DIFFOP_EXISTS. */ - /*% * Append a tuple asserting the existence of the RR with * 'name' and 'rdata' to 'diff'. */ static isc_result_t -temp_append(dns_diff_t *diff, dns_name_t *name, dns_rdata_t *rdata) { - isc_result_t result; +temp_append(dns_diff_t *diff, dns_name_t *name, dns_rdata_t *rdata) +{ + isc_result_t result; dns_difftuple_t *tuple = NULL; REQUIRE(DNS_DIFF_VALID(diff)); - CHECK(dns_difftuple_create(diff->mctx, DNS_DIFFOP_EXISTS, - name, 0, rdata, &tuple)); + CHECK(dns_difftuple_create(diff->mctx, DNS_DIFFOP_EXISTS, name, 0, + rdata, &tuple)); ISC_LIST_APPEND(diff->tuples, tuple, link); - failure: +failure: return (result); } @@ -970,7 +970,8 @@ temp_append(dns_diff_t *diff, dns_name_t *name, dns_rdata_t *rdata) { * if not. */ static isc_result_t -temp_check_rrset(dns_difftuple_t *a, dns_difftuple_t *b) { +temp_check_rrset(dns_difftuple_t *a, dns_difftuple_t *b) +{ for (;;) { if (a == NULL || b == NULL) break; @@ -994,12 +995,13 @@ temp_check_rrset(dns_difftuple_t *a, dns_difftuple_t *b) { * followed by the type and rdata. */ static int -temp_order(const void *av, const void *bv) { - dns_difftuple_t const * const *ap = av; - dns_difftuple_t const * const *bp = bv; - dns_difftuple_t const *a = *ap; - dns_difftuple_t const *b = *bp; - int r; +temp_order(const void *av, const void *bv) +{ + dns_difftuple_t const *const *ap = av; + dns_difftuple_t const *const *bp = bv; + dns_difftuple_t const * a = *ap; + dns_difftuple_t const * b = *bp; + int r; r = dns_name_compare(&a->name, &b->name); if (r != 0) return (r); @@ -1024,11 +1026,11 @@ static isc_result_t temp_check(isc_mem_t *mctx, dns_diff_t *temp, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *tmpname, dns_rdatatype_t *typep) { - isc_result_t result; - dns_name_t *name; - dns_dbnode_t *node; + isc_result_t result; + dns_name_t * name; + dns_dbnode_t * node; dns_difftuple_t *t; - dns_diff_t trash; + dns_diff_t trash; dns_diff_init(mctx, &trash); @@ -1058,11 +1060,11 @@ temp_check(isc_mem_t *mctx, dns_diff_t *temp, dns_db_t *db, /* A new unique type begins here. */ while (t != NULL && dns_name_equal(&t->name, name)) { dns_rdatatype_t type, covers; - dns_rdataset_t rdataset; - dns_diff_t d_rrs; /* Database RRs with - this name and type */ - dns_diff_t u_rrs; /* Update RRs with - this name and type */ + dns_rdataset_t rdataset; + dns_diff_t d_rrs; /* Database RRs with + this name and type */ + dns_diff_t u_rrs; /* Update RRs with + this name and type */ *typep = type = t->rdata.type; if (type == dns_rdatatype_rrsig || @@ -1081,7 +1083,7 @@ temp_check(isc_mem_t *mctx, dns_diff_t *temp, dns_db_t *db, */ dns_rdataset_init(&rdataset); result = dns_db_findrdataset(db, node, ver, type, - covers, (isc_stdtime_t) 0, + covers, (isc_stdtime_t)0, &rdataset, NULL); if (result != ISC_R_SUCCESS) { dns_db_detachnode(db, &node); @@ -1094,8 +1096,7 @@ temp_check(isc_mem_t *mctx, dns_diff_t *temp, dns_db_t *db, for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; - result = dns_rdataset_next(&rdataset)) - { + result = dns_rdataset_next(&rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(&rdataset, &rdata); result = temp_append(&d_rrs, name, &rdata); @@ -1113,12 +1114,9 @@ temp_check(isc_mem_t *mctx, dns_diff_t *temp, dns_db_t *db, * onto u_rrs. No need to sort them here - * they are already sorted. */ - while (t != NULL && - dns_name_equal(&t->name, name) && - t->rdata.type == type) - { - dns_difftuple_t *next = - ISC_LIST_NEXT(t, link); + while (t != NULL && dns_name_equal(&t->name, name) && + t->rdata.type == type) { + dns_difftuple_t *next = ISC_LIST_NEXT(t, link); ISC_LIST_UNLINK(temp->tuples, t, link); ISC_LIST_APPEND(u_rrs.tuples, t, link); t = next; @@ -1141,7 +1139,7 @@ temp_check(isc_mem_t *mctx, dns_diff_t *temp, dns_db_t *db, continue; - failure: + failure: dns_diff_clear(&d_rrs); dns_diff_clear(&u_rrs); dns_diff_clear(&trash); @@ -1167,12 +1165,12 @@ temp_check(isc_mem_t *mctx, dns_diff_t *temp, dns_db_t *db, */ typedef struct { - rr_predicate *predicate; - dns_db_t *db; + rr_predicate * predicate; + dns_db_t * db; dns_dbversion_t *ver; - dns_diff_t *diff; - dns_name_t *name; - dns_rdata_t *update_rr; + dns_diff_t * diff; + dns_name_t * name; + dns_rdata_t * update_rr; } conditional_delete_ctx_t; /*% @@ -1184,32 +1182,37 @@ typedef struct { * an RRSIG nor an NSEC3PARAM nor a NSEC. */ static bool -type_not_soa_nor_ns_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) { +type_not_soa_nor_ns_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) +{ UNUSED(update_rr); return ((db_rr->type != dns_rdatatype_soa && db_rr->type != dns_rdatatype_ns && db_rr->type != dns_rdatatype_nsec3param && db_rr->type != dns_rdatatype_rrsig && - db_rr->type != dns_rdatatype_nsec) ? - true : false); + db_rr->type != dns_rdatatype_nsec) + ? true + : false); } /*% * Return true iff 'db_rr' is neither a RRSIG nor a NSEC. */ static bool -type_not_dnssec(dns_rdata_t *update_rr, dns_rdata_t *db_rr) { +type_not_dnssec(dns_rdata_t *update_rr, dns_rdata_t *db_rr) +{ UNUSED(update_rr); return ((db_rr->type != dns_rdatatype_rrsig && - db_rr->type != dns_rdatatype_nsec) ? - true : false); + db_rr->type != dns_rdatatype_nsec) + ? true + : false); } /*% * Return true always. */ static bool -true_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) { +true_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) +{ UNUSED(update_rr); UNUSED(db_rr); return (true); @@ -1219,14 +1222,14 @@ true_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) { * Return true iff the two RRs have identical rdata. */ static bool -rr_equal_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) { +rr_equal_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) +{ /* * XXXRTH This is not a problem, but we should consider creating * dns_rdata_equal() (that used dns_name_equal()), since it * would be faster. Not a priority. */ - return (dns_rdata_casecompare(update_rr, db_rr) == 0 ? - true : false); + return (dns_rdata_casecompare(update_rr, db_rr) == 0 ? true : false); } /*% @@ -1242,9 +1245,10 @@ rr_equal_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) { * rollover by only requiring that the new RRSIG be added. */ static bool -replaces_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) { +replaces_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) +{ dns_rdata_rrsig_t updatesig, dbsig; - isc_result_t result; + isc_result_t result; if (db_rr->type != update_rr->type) return (false); @@ -1278,8 +1282,8 @@ replaces_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) { * dns_rdata_tostruct() might be cleaner in some ways. */ INSIST(db_rr->length >= 5 && update_rr->length >= 5); - return (memcmp(db_rr->data, update_rr->data, 5) == 0 ? - true : false); + return (memcmp(db_rr->data, update_rr->data, 5) == 0 ? true + : false); } if (db_rr->type == dns_rdatatype_nsec3param) { @@ -1291,7 +1295,7 @@ replaces_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) { * flags field. */ if (db_rr->data[0] == update_rr->data[0] && - memcmp(db_rr->data+2, update_rr->data+2, + memcmp(db_rr->data + 2, update_rr->data + 2, update_rr->length - 2) == 0) return (true); } @@ -1302,13 +1306,14 @@ replaces_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) { * Internal helper function for delete_if(). */ static isc_result_t -delete_if_action(void *data, rr_t *rr) { +delete_if_action(void *data, rr_t *rr) +{ conditional_delete_ctx_t *ctx = data; if ((*ctx->predicate)(ctx->update_rr, &rr->rdata)) { isc_result_t result; result = update_one_rr(ctx->db, ctx->ver, ctx->diff, - DNS_DIFFOP_DEL, ctx->name, - rr->ttl, &rr->rdata); + DNS_DIFFOP_DEL, ctx->name, rr->ttl, + &rr->rdata); return (result); } else { return (ISC_R_SUCCESS); @@ -1334,18 +1339,19 @@ delete_if(rr_predicate *predicate, dns_db_t *db, dns_dbversion_t *ver, ctx.diff = diff; ctx.name = name; ctx.update_rr = update_rr; - return (foreach_rr(db, ver, name, type, covers, - delete_if_action, &ctx)); + return (foreach_rr(db, ver, name, type, covers, delete_if_action, + &ctx)); } /**************************************************************************/ static isc_result_t -add_rr_prepare_action(void *data, rr_t *rr) { - isc_result_t result = ISC_R_SUCCESS; +add_rr_prepare_action(void *data, rr_t *rr) +{ + isc_result_t result = ISC_R_SUCCESS; add_rr_prepare_ctx_t *ctx = data; - dns_difftuple_t *tuple = NULL; - bool equal, case_equal, ttl_equal; + dns_difftuple_t * tuple = NULL; + bool equal, case_equal, ttl_equal; /* * Are the new and old cases equal? @@ -1389,14 +1395,13 @@ add_rr_prepare_action(void *data, rr_t *rr) { &tuple)); dns_diff_append(&ctx->del_diff, &tuple); if (!equal) { - CHECK(dns_difftuple_create(ctx->add_diff.mctx, - DNS_DIFFOP_ADD, ctx->name, - ctx->update_rr_ttl, - &rr->rdata, &tuple)); + CHECK(dns_difftuple_create( + ctx->add_diff.mctx, DNS_DIFFOP_ADD, ctx->name, + ctx->update_rr_ttl, &rr->rdata, &tuple)); dns_diff_append(&ctx->add_diff, &tuple); } } - failure: +failure: return (result); } @@ -1415,11 +1420,11 @@ add_rr_prepare_action(void *data, rr_t *rr) { static void get_current_rr(dns_message_t *msg, dns_section_t section, dns_rdataclass_t zoneclass, dns_name_t **name, - dns_rdata_t *rdata, dns_rdatatype_t *covers, - dns_ttl_t *ttl, dns_rdataclass_t *update_class) + dns_rdata_t *rdata, dns_rdatatype_t *covers, dns_ttl_t *ttl, + dns_rdataclass_t *update_class) { dns_rdataset_t *rdataset; - isc_result_t result; + isc_result_t result; dns_message_currentname(msg, section, name); rdataset = ISC_LIST_HEAD((*name)->list); INSIST(rdataset != NULL); @@ -1440,11 +1445,11 @@ get_current_rr(dns_message_t *msg, dns_section_t section, * change in 'diff'. */ - /* - * XXXRTH Failures in this routine will be worth logging, when - * we have a logging system. Failure to find the zonename - * or the SOA rdataset warrant at least an UNEXPECTED_ERROR(). - */ +/* + * XXXRTH Failures in this routine will be worth logging, when + * we have a logging system. Failure to find the zonename + * or the SOA rdataset warrant at least an UNEXPECTED_ERROR(). + */ static isc_result_t update_soa_serial(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, @@ -1452,8 +1457,8 @@ update_soa_serial(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, { dns_difftuple_t *deltuple = NULL; dns_difftuple_t *addtuple = NULL; - uint32_t serial; - isc_result_t result; + uint32_t serial; + isc_result_t result; CHECK(dns_db_createsoatuple(db, ver, mctx, DNS_DIFFOP_DEL, &deltuple)); CHECK(dns_difftuple_copy(deltuple, &addtuple)); @@ -1466,7 +1471,7 @@ update_soa_serial(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, CHECK(do_one_tuple(&addtuple, db, ver, diff)); result = ISC_R_SUCCESS; - failure: +failure: if (addtuple != NULL) dns_difftuple_free(&addtuple); if (deltuple != NULL) @@ -1498,8 +1503,8 @@ static isc_result_t check_soa_increment(dns_db_t *db, dns_dbversion_t *ver, dns_rdata_t *update_rdata, bool *ok) { - uint32_t db_serial; - uint32_t update_serial; + uint32_t db_serial; + uint32_t update_serial; isc_result_t result; update_serial = dns_soa_getserial(update_rdata); @@ -1515,7 +1520,6 @@ check_soa_increment(dns_db_t *db, dns_dbversion_t *ver, } return (ISC_R_SUCCESS); - } /**************************************************************************/ @@ -1525,14 +1529,15 @@ check_soa_increment(dns_db_t *db, dns_dbversion_t *ver, */ static isc_result_t -send_update_event(ns_client_t *client, dns_zone_t *zone) { - isc_result_t result = ISC_R_SUCCESS; +send_update_event(ns_client_t *client, dns_zone_t *zone) +{ + isc_result_t result = ISC_R_SUCCESS; update_event_t *event = NULL; - isc_task_t *zonetask = NULL; + isc_task_t * zonetask = NULL; - event = (update_event_t *) - isc_event_allocate(client->mctx, client, DNS_EVENT_UPDATE, - update_action, NULL, sizeof(*event)); + event = (update_event_t *)isc_event_allocate( + client->mctx, client, DNS_EVENT_UPDATE, update_action, NULL, + sizeof(*event)); event->zone = zone; event->result = ISC_R_SUCCESS; @@ -1548,7 +1553,8 @@ send_update_event(ns_client_t *client, dns_zone_t *zone) { } static void -respond(ns_client_t *client, isc_result_t result) { +respond(ns_client_t *client, isc_result_t result) +{ isc_result_t msg_result; msg_result = dns_message_reply(client->message, true); @@ -1560,7 +1566,7 @@ respond(ns_client_t *client, isc_result_t result) { isc_nmhandle_unref(client->handle); return; - msg_failure: +msg_failure: isc_log_write(ns_lctx, NS_LOGCATEGORY_UPDATE, NS_LOGMODULE_UPDATE, ISC_LOG_ERROR, "could not create update response message: %s", @@ -1570,12 +1576,13 @@ respond(ns_client_t *client, isc_result_t result) { } void -ns_update_start(ns_client_t *client, isc_result_t sigresult) { - dns_message_t *request = client->message; - isc_result_t result; - dns_name_t *zonename; +ns_update_start(ns_client_t *client, isc_result_t sigresult) +{ + dns_message_t * request = client->message; + isc_result_t result; + dns_name_t * zonename; dns_rdataset_t *zone_rdataset; - dns_zone_t *zone = NULL, *raw = NULL; + dns_zone_t * zone = NULL, *raw = NULL; /* * Interpret the zone section. @@ -1592,20 +1599,18 @@ ns_update_start(ns_client_t *client, isc_result_t sigresult) { dns_message_currentname(request, DNS_SECTION_ZONE, &zonename); zone_rdataset = ISC_LIST_HEAD(zonename->list); if (zone_rdataset->type != dns_rdatatype_soa) - FAILC(DNS_R_FORMERR, - "update zone section contains non-SOA"); + FAILC(DNS_R_FORMERR, "update zone section contains non-SOA"); if (ISC_LIST_NEXT(zone_rdataset, link) != NULL) - FAILC(DNS_R_FORMERR, - "update zone section contains multiple RRs"); + FAILC(DNS_R_FORMERR, "update zone section contains multiple " + "RRs"); /* The zone section must have exactly one name. */ result = dns_message_nextname(request, DNS_SECTION_ZONE); if (result != ISC_R_NOMORE) - FAILC(DNS_R_FORMERR, - "update zone section contains multiple RRs"); + FAILC(DNS_R_FORMERR, "update zone section contains multiple " + "RRs"); - result = dns_zt_find(client->view->zonetable, zonename, 0, NULL, - &zone); + result = dns_zt_find(client->view->zonetable, zonename, 0, NULL, &zone); if (result != ISC_R_SUCCESS) FAILC(DNS_R_NOTAUTH, "not authoritative for update zone"); @@ -1620,7 +1625,7 @@ ns_update_start(ns_client_t *client, isc_result_t sigresult) { dns_zone_detach(&raw); } - switch(dns_zone_gettype(zone)) { + switch (dns_zone_gettype(zone)) { case dns_zone_master: case dns_zone_dlz: /* @@ -1643,7 +1648,7 @@ ns_update_start(ns_client_t *client, isc_result_t sigresult) { } return; - failure: +failure: if (result == DNS_R_REFUSED) { INSIST(dns_zone_gettype(zone) == dns_zone_slave || dns_zone_gettype(zone) == dns_zone_mirror); @@ -1666,24 +1671,24 @@ ns_update_start(ns_client_t *client, isc_result_t sigresult) { */ static isc_result_t -remove_orphaned_ds(dns_db_t *db, dns_dbversion_t *newver, dns_diff_t *diff) { - isc_result_t result; - bool ns_exists; +remove_orphaned_ds(dns_db_t *db, dns_dbversion_t *newver, dns_diff_t *diff) +{ + isc_result_t result; + bool ns_exists; dns_difftuple_t *tupple; - dns_diff_t temp_diff; + dns_diff_t temp_diff; dns_diff_init(diff->mctx, &temp_diff); - for (tupple = ISC_LIST_HEAD(diff->tuples); - tupple != NULL; + for (tupple = ISC_LIST_HEAD(diff->tuples); tupple != NULL; tupple = ISC_LIST_NEXT(tupple, link)) { if (!((tupple->op == DNS_DIFFOP_DEL && tupple->rdata.type == dns_rdatatype_ns) || (tupple->op == DNS_DIFFOP_ADD && tupple->rdata.type == dns_rdatatype_ds))) continue; - CHECK(rrset_exists(db, newver, &tupple->name, - dns_rdatatype_ns, 0, &ns_exists)); + CHECK(rrset_exists(db, newver, &tupple->name, dns_rdatatype_ns, + 0, &ns_exists)); if (ns_exists && !dns_name_equal(&tupple->name, dns_db_origin(db))) continue; @@ -1692,9 +1697,8 @@ remove_orphaned_ds(dns_db_t *db, dns_dbversion_t *newver, dns_diff_t *diff) { } result = ISC_R_SUCCESS; - failure: - for (tupple = ISC_LIST_HEAD(temp_diff.tuples); - tupple != NULL; +failure: + for (tupple = ISC_LIST_HEAD(temp_diff.tuples); tupple != NULL; tupple = ISC_LIST_HEAD(temp_diff.tuples)) { ISC_LIST_UNLINK(temp_diff.tuples, tupple, link); dns_diff_appendminimal(diff, &tupple); @@ -1706,31 +1710,30 @@ remove_orphaned_ds(dns_db_t *db, dns_dbversion_t *newver, dns_diff_t *diff) { * This implements the post load integrity checks for mx records. */ static isc_result_t -check_mx(ns_client_t *client, dns_zone_t *zone, - dns_db_t *db, dns_dbversion_t *newver, dns_diff_t *diff) +check_mx(ns_client_t *client, dns_zone_t *zone, dns_db_t *db, + dns_dbversion_t *newver, dns_diff_t *diff) { char tmp[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:123.123.123.123.")]; char ownerbuf[DNS_NAME_FORMATSIZE]; char namebuf[DNS_NAME_FORMATSIZE]; char altbuf[DNS_NAME_FORMATSIZE]; dns_difftuple_t *t; - dns_fixedname_t fixed; - dns_name_t *foundname; - dns_rdata_mx_t mx; - dns_rdata_t rdata; - bool ok = true; - bool isaddress; - isc_result_t result; - struct in6_addr addr6; - struct in_addr addr; - dns_zoneopt_t options; + dns_fixedname_t fixed; + dns_name_t * foundname; + dns_rdata_mx_t mx; + dns_rdata_t rdata; + bool ok = true; + bool isaddress; + isc_result_t result; + struct in6_addr addr6; + struct in_addr addr; + dns_zoneopt_t options; foundname = dns_fixedname_initname(&fixed); dns_rdata_init(&rdata); options = dns_zone_getoptions(zone); - for (t = ISC_LIST_HEAD(diff->tuples); - t != NULL; + for (t = ISC_LIST_HEAD(diff->tuples); t != NULL; t = ISC_LIST_NEXT(t, link)) { if (t->op != DNS_DIFFOP_ADD || t->rdata.type != dns_rdatatype_mx) @@ -1756,14 +1759,13 @@ check_mx(ns_client_t *client, dns_zone_t *zone, if (isaddress && (options & DNS_ZONEOPT_CHECKMXFAIL) != 0) { update_log(client, zone, ISC_LOG_ERROR, - "%s/MX: '%s': %s", - ownerbuf, namebuf, + "%s/MX: '%s': %s", ownerbuf, namebuf, dns_result_totext(DNS_R_MXISADDRESS)); ok = false; } else if (isaddress) { update_log(client, zone, ISC_LOG_WARNING, - "%s/MX: warning: '%s': %s", - ownerbuf, namebuf, + "%s/MX: warning: '%s': %s", ownerbuf, + namebuf, dns_result_totext(DNS_R_MXISADDRESS)); } @@ -1772,16 +1774,15 @@ check_mx(ns_client_t *client, dns_zone_t *zone, */ if ((options & DNS_ZONEOPT_CHECKINTEGRITY) == 0) continue; - result = dns_db_find(db, &mx.mx, newver, dns_rdatatype_a, - 0, 0, NULL, foundname, NULL, NULL); + result = dns_db_find(db, &mx.mx, newver, dns_rdatatype_a, 0, 0, + NULL, foundname, NULL, NULL); if (result == ISC_R_SUCCESS) continue; if (result == DNS_R_NXRRSET) { result = dns_db_find(db, &mx.mx, newver, - dns_rdatatype_aaaa, - 0, 0, NULL, foundname, - NULL, NULL); + dns_rdatatype_aaaa, 0, 0, NULL, + foundname, NULL, NULL); if (result == ISC_R_SUCCESS) continue; } @@ -1789,12 +1790,13 @@ check_mx(ns_client_t *client, dns_zone_t *zone, if (result == DNS_R_NXRRSET || result == DNS_R_NXDOMAIN) { update_log(client, zone, ISC_LOG_ERROR, "%s/MX '%s' has no address records " - "(A or AAAA)", ownerbuf, namebuf); + "(A or AAAA)", + ownerbuf, namebuf); ok = false; } else if (result == DNS_R_CNAME) { update_log(client, zone, ISC_LOG_ERROR, - "%s/MX '%s' is a CNAME (illegal)", - ownerbuf, namebuf); + "%s/MX '%s' is a CNAME (illegal)", ownerbuf, + namebuf); ok = false; } else if (result == DNS_R_DNAME) { dns_name_format(foundname, altbuf, sizeof altbuf); @@ -1812,8 +1814,8 @@ rr_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, const dns_rdata_t *rdata, bool *flag) { dns_rdataset_t rdataset; - dns_dbnode_t *node = NULL; - isc_result_t result; + dns_dbnode_t * node = NULL; + isc_result_t result; dns_rdataset_init(&rdataset); if (rdata->type == dns_rdatatype_nsec3) @@ -1821,15 +1823,14 @@ rr_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, else CHECK(dns_db_findnode(db, name, false, &node)); result = dns_db_findrdataset(db, node, ver, rdata->type, 0, - (isc_stdtime_t) 0, &rdataset, NULL); + (isc_stdtime_t)0, &rdataset, NULL); if (result == ISC_R_NOTFOUND) { *flag = false; result = ISC_R_SUCCESS; goto failure; } - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdata_t myrdata = DNS_RDATA_INIT; dns_rdataset_current(&rdataset, &myrdata); @@ -1844,7 +1845,7 @@ rr_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, result = ISC_R_SUCCESS; } - failure: +failure: if (node != NULL) dns_db_detachnode(db, &node); return (result); @@ -1854,26 +1855,25 @@ static isc_result_t get_iterations(dns_db_t *db, dns_dbversion_t *ver, dns_rdatatype_t privatetype, unsigned int *iterationsp) { - dns_dbnode_t *node = NULL; + dns_dbnode_t * node = NULL; dns_rdata_nsec3param_t nsec3param; - dns_rdataset_t rdataset; - isc_result_t result; - unsigned int iterations = 0; + dns_rdataset_t rdataset; + isc_result_t result; + unsigned int iterations = 0; dns_rdataset_init(&rdataset); result = dns_db_getoriginnode(db, &node); if (result != ISC_R_SUCCESS) return (result); - result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec3param, - 0, (isc_stdtime_t) 0, &rdataset, NULL); + result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec3param, 0, + (isc_stdtime_t)0, &rdataset, NULL); if (result == ISC_R_NOTFOUND) goto try_private; if (result != ISC_R_SUCCESS) goto failure; - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(&rdataset, &rdata); @@ -1888,27 +1888,26 @@ get_iterations(dns_db_t *db, dns_dbversion_t *ver, dns_rdatatype_t privatetype, dns_rdataset_disassociate(&rdataset); - try_private: +try_private: if (privatetype == 0) goto success; - result = dns_db_findrdataset(db, node, ver, privatetype, - 0, (isc_stdtime_t) 0, &rdataset, NULL); + result = dns_db_findrdataset(db, node, ver, privatetype, 0, + (isc_stdtime_t)0, &rdataset, NULL); if (result == ISC_R_NOTFOUND) goto success; if (result != ISC_R_SUCCESS) goto failure; - for (result = dns_rdataset_first(&rdataset); - result == ISC_R_SUCCESS; + for (result = dns_rdataset_first(&rdataset); result == ISC_R_SUCCESS; result = dns_rdataset_next(&rdataset)) { unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE]; dns_rdata_t private = DNS_RDATA_INIT; dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdataset_current(&rdataset, &rdata); - if (!dns_nsec3param_fromprivate(&private, &rdata, - buf, sizeof(buf))) + if (!dns_nsec3param_fromprivate(&private, &rdata, buf, + sizeof(buf))) continue; CHECK(dns_rdata_tostruct(&rdata, &nsec3param, NULL)); if ((nsec3param.flags & DNS_NSEC3FLAG_REMOVE) != 0) @@ -1919,11 +1918,11 @@ get_iterations(dns_db_t *db, dns_dbversion_t *ver, dns_rdatatype_t privatetype, if (result != ISC_R_NOMORE) goto failure; - success: +success: *iterationsp = iterations; result = ISC_R_SUCCESS; - failure: +failure: if (node != NULL) dns_db_detachnode(db, &node); if (dns_rdataset_isassociated(&rdataset)) @@ -1940,14 +1939,13 @@ check_dnssec(ns_client_t *client, dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff) { dns_difftuple_t *tuple; - bool nseconly = false, nsec3 = false; - isc_result_t result; - unsigned int iterations = 0, max; - dns_rdatatype_t privatetype = dns_zone_getprivatetype(zone); + bool nseconly = false, nsec3 = false; + isc_result_t result; + unsigned int iterations = 0, max; + dns_rdatatype_t privatetype = dns_zone_getprivatetype(zone); /* Scan the tuples for an NSEC-only DNSKEY or an NSEC3PARAM */ - for (tuple = ISC_LIST_HEAD(diff->tuples); - tuple != NULL; + for (tuple = ISC_LIST_HEAD(diff->tuples); tuple != NULL; tuple = ISC_LIST_NEXT(tuple, link)) { if (tuple->op != DNS_DIFFOP_ADD) continue; @@ -1982,8 +1980,7 @@ check_dnssec(ns_client_t *client, dns_zone_t *zone, dns_db_t *db, /* Check existing DB for NSEC3 */ if (!nsec3) - CHECK(dns_nsec3_activex(db, ver, false, - privatetype, &nsec3)); + CHECK(dns_nsec3_activex(db, ver, false, privatetype, &nsec3)); /* Refuse to allow NSEC3 with NSEC-only keys */ if (nseconly && nsec3) { @@ -1999,12 +1996,13 @@ check_dnssec(ns_client_t *client, dns_zone_t *zone, dns_db_t *db, if (max != 0 && iterations > max) { update_log(client, zone, ISC_LOG_ERROR, "too many NSEC3 iterations (%u) for " - "weakest DNSKEY (%u)", iterations, max); + "weakest DNSKEY (%u)", + iterations, max); result = DNS_R_REFUSED; goto failure; } - failure: +failure: return (result); } @@ -2015,30 +2013,27 @@ static isc_result_t add_nsec3param_records(ns_client_t *client, dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff) { - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result = ISC_R_SUCCESS; dns_difftuple_t *tuple, *newtuple = NULL, *next; - dns_rdata_t rdata = DNS_RDATA_INIT; - unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE + 1]; - dns_diff_t temp_diff; - dns_diffop_t op; - bool flag; - dns_name_t *name = dns_zone_getorigin(zone); - dns_rdatatype_t privatetype = dns_zone_getprivatetype(zone); - uint32_t ttl = 0; - bool ttl_good = false; + dns_rdata_t rdata = DNS_RDATA_INIT; + unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE + 1]; + dns_diff_t temp_diff; + dns_diffop_t op; + bool flag; + dns_name_t * name = dns_zone_getorigin(zone); + dns_rdatatype_t privatetype = dns_zone_getprivatetype(zone); + uint32_t ttl = 0; + bool ttl_good = false; update_log(client, zone, ISC_LOG_DEBUG(3), - "checking for NSEC3PARAM changes"); + "checking for NSEC3PARAM changes"); dns_diff_init(diff->mctx, &temp_diff); /* * Extract NSEC3PARAM tuples from list. */ - for (tuple = ISC_LIST_HEAD(diff->tuples); - tuple != NULL; - tuple = next) { - + for (tuple = ISC_LIST_HEAD(diff->tuples); tuple != NULL; tuple = next) { next = ISC_LIST_NEXT(tuple, link); if (tuple->rdata.type != dns_rdatatype_nsec3param || @@ -2052,8 +2047,8 @@ add_nsec3param_records(ns_client_t *client, dns_zone_t *zone, dns_db_t *db, * Extract TTL changes pairs, we don't need to convert these to * delayed changes. */ - for (tuple = ISC_LIST_HEAD(temp_diff.tuples); - tuple != NULL; tuple = next) { + for (tuple = ISC_LIST_HEAD(temp_diff.tuples); tuple != NULL; + tuple = next) { if (tuple->op == DNS_DIFFOP_ADD) { if (!ttl_good) { /* @@ -2109,8 +2104,8 @@ add_nsec3param_records(ns_client_t *client, dns_zone_t *zone, dns_db_t *db, * in managing and should not be touched so revert such changes * taking into account any TTL change of the NSEC3PARAM RRset. */ - for (tuple = ISC_LIST_HEAD(temp_diff.tuples); - tuple != NULL; tuple = next) { + for (tuple = ISC_LIST_HEAD(temp_diff.tuples); tuple != NULL; + tuple = next) { next = ISC_LIST_NEXT(tuple, link); if ((tuple->rdata.data[1] & ~DNS_NSEC3FLAG_OPTOUT) != 0) { /* @@ -2122,11 +2117,10 @@ add_nsec3param_records(ns_client_t *client, dns_zone_t *zone, dns_db_t *db, ttl = tuple->ttl; ttl_good = true; } - op = (tuple->op == DNS_DIFFOP_DEL) ? - DNS_DIFFOP_ADD : DNS_DIFFOP_DEL; - CHECK(dns_difftuple_create(diff->mctx, op, name, - ttl, &tuple->rdata, - &newtuple)); + op = (tuple->op == DNS_DIFFOP_DEL) ? DNS_DIFFOP_ADD + : DNS_DIFFOP_DEL; + CHECK(dns_difftuple_create(diff->mctx, op, name, ttl, + &tuple->rdata, &newtuple)); CHECK(do_one_tuple(&newtuple, db, ver, diff)); ISC_LIST_UNLINK(temp_diff.tuples, tuple, link); dns_diff_appendminimal(diff, &tuple); @@ -2138,8 +2132,8 @@ add_nsec3param_records(ns_client_t *client, dns_zone_t *zone, dns_db_t *db, * Convert the adds to delayed adds and the deletions into delayed * deletions. */ - for (tuple = ISC_LIST_HEAD(temp_diff.tuples); - tuple != NULL; tuple = next) { + for (tuple = ISC_LIST_HEAD(temp_diff.tuples); tuple != NULL; + tuple = next) { /* * If we havn't had any adds then the tuple->ttl must be the * original ttl and should be used for any future changes. @@ -2200,10 +2194,9 @@ add_nsec3param_records(ns_client_t *client, dns_zone_t *zone, dns_db_t *db, CHECK(rr_exists(db, ver, name, &rdata, &flag)); if (!flag) { - CHECK(dns_difftuple_create(diff->mctx, - DNS_DIFFOP_ADD, - name, 0, &rdata, - &newtuple)); + CHECK(dns_difftuple_create( + diff->mctx, DNS_DIFFOP_ADD, name, 0, + &rdata, &newtuple)); CHECK(do_one_tuple(&newtuple, db, ver, diff)); } @@ -2216,10 +2209,9 @@ add_nsec3param_records(ns_client_t *client, dns_zone_t *zone, dns_db_t *db, CHECK(rr_exists(db, ver, name, &rdata, &flag)); if (flag) { - CHECK(dns_difftuple_create(diff->mctx, - DNS_DIFFOP_DEL, - name, 0, &rdata, - &newtuple)); + CHECK(dns_difftuple_create( + diff->mctx, DNS_DIFFOP_DEL, name, 0, + &rdata, &newtuple)); CHECK(do_one_tuple(&newtuple, db, ver, diff)); } @@ -2239,9 +2231,8 @@ add_nsec3param_records(ns_client_t *client, dns_zone_t *zone, dns_db_t *db, next = ISC_LIST_NEXT(tuple, link); } - for (tuple = ISC_LIST_HEAD(temp_diff.tuples); - tuple != NULL; tuple = next) { - + for (tuple = ISC_LIST_HEAD(temp_diff.tuples); tuple != NULL; + tuple = next) { INSIST(ttl_good); next = ISC_LIST_NEXT(tuple, link); @@ -2273,7 +2264,7 @@ add_nsec3param_records(ns_client_t *client, dns_zone_t *zone, dns_db_t *db, } result = ISC_R_SUCCESS; - failure: +failure: dns_diff_clear(&temp_diff); return (result); } @@ -2282,12 +2273,12 @@ static isc_result_t rollback_private(dns_db_t *db, dns_rdatatype_t privatetype, dns_dbversion_t *ver, dns_diff_t *diff) { - dns_diff_t temp_diff; - dns_diffop_t op; + dns_diff_t temp_diff; + dns_diffop_t op; dns_difftuple_t *tuple, *newtuple = NULL, *next; - dns_name_t *name = dns_db_origin(db); - isc_mem_t *mctx = diff->mctx; - isc_result_t result; + dns_name_t * name = dns_db_origin(db); + isc_mem_t * mctx = diff->mctx; + isc_result_t result; if (privatetype == 0) return (ISC_R_SUCCESS); @@ -2297,9 +2288,7 @@ rollback_private(dns_db_t *db, dns_rdatatype_t privatetype, /* * Extract the changes to be rolled back. */ - for (tuple = ISC_LIST_HEAD(diff->tuples); - tuple != NULL; tuple = next) { - + for (tuple = ISC_LIST_HEAD(diff->tuples); tuple != NULL; tuple = next) { next = ISC_LIST_NEXT(tuple, link); if (tuple->rdata.type != privatetype || @@ -2310,10 +2299,8 @@ rollback_private(dns_db_t *db, dns_rdatatype_t privatetype, * Allow records which indicate that a zone has been * signed with a DNSKEY to be removed. */ - if (tuple->op == DNS_DIFFOP_DEL && - tuple->rdata.length == 5 && - tuple->rdata.data[0] != 0 && - tuple->rdata.data[4] != 0) + if (tuple->op == DNS_DIFFOP_DEL && tuple->rdata.length == 5 && + tuple->rdata.data[0] != 0 && tuple->rdata.data[4] != 0) continue; ISC_LIST_UNLINK(diff->tuples, tuple, link); @@ -2324,15 +2311,15 @@ rollback_private(dns_db_t *db, dns_rdatatype_t privatetype, * Rollback the changes. */ while ((tuple = ISC_LIST_HEAD(temp_diff.tuples)) != NULL) { - op = (tuple->op == DNS_DIFFOP_DEL) ? - DNS_DIFFOP_ADD : DNS_DIFFOP_DEL; + op = (tuple->op == DNS_DIFFOP_DEL) ? DNS_DIFFOP_ADD + : DNS_DIFFOP_DEL; CHECK(dns_difftuple_create(mctx, op, name, tuple->ttl, &tuple->rdata, &newtuple)); CHECK(do_one_tuple(&newtuple, db, ver, &temp_diff)); } result = ISC_R_SUCCESS; - failure: +failure: dns_diff_clear(&temp_diff); return (result); } @@ -2345,25 +2332,23 @@ static isc_result_t add_signing_records(dns_db_t *db, dns_rdatatype_t privatetype, dns_dbversion_t *ver, dns_diff_t *diff) { - dns_difftuple_t *tuple, *newtuple = NULL, *next; + dns_difftuple_t * tuple, *newtuple = NULL, *next; dns_rdata_dnskey_t dnskey; - dns_rdata_t rdata = DNS_RDATA_INIT; - bool flag; - isc_region_t r; - isc_result_t result = ISC_R_SUCCESS; - uint16_t keyid; - unsigned char buf[5]; - dns_name_t *name = dns_db_origin(db); - dns_diff_t temp_diff; + dns_rdata_t rdata = DNS_RDATA_INIT; + bool flag; + isc_region_t r; + isc_result_t result = ISC_R_SUCCESS; + uint16_t keyid; + unsigned char buf[5]; + dns_name_t * name = dns_db_origin(db); + dns_diff_t temp_diff; dns_diff_init(diff->mctx, &temp_diff); /* * Extract the DNSKEY tuples from the list. */ - for (tuple = ISC_LIST_HEAD(diff->tuples); - tuple != NULL; tuple = next) { - + for (tuple = ISC_LIST_HEAD(diff->tuples); tuple != NULL; tuple = next) { next = ISC_LIST_NEXT(tuple, link); if (tuple->rdata.type != dns_rdatatype_dnskey) @@ -2376,8 +2361,8 @@ add_signing_records(dns_db_t *db, dns_rdatatype_t privatetype, /* * Extract TTL changes pairs, we don't need signing records for these. */ - for (tuple = ISC_LIST_HEAD(temp_diff.tuples); - tuple != NULL; tuple = next) { + for (tuple = ISC_LIST_HEAD(temp_diff.tuples); tuple != NULL; + tuple = next) { if (tuple->op == DNS_DIFFOP_ADD) { /* * Walk the temp_diff list looking for the @@ -2422,18 +2407,15 @@ add_signing_records(dns_db_t *db, dns_rdatatype_t privatetype, /* * Process the remaining DNSKEY entries. */ - for (tuple = ISC_LIST_HEAD(temp_diff.tuples); - tuple != NULL; + for (tuple = ISC_LIST_HEAD(temp_diff.tuples); tuple != NULL; tuple = ISC_LIST_HEAD(temp_diff.tuples)) { - ISC_LIST_UNLINK(temp_diff.tuples, tuple, link); ISC_LIST_APPEND(diff->tuples, tuple, link); result = dns_rdata_tostruct(&tuple->rdata, &dnskey, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); - if ((dnskey.flags & - (DNS_KEYFLAG_OWNERMASK|DNS_KEYTYPE_NOAUTH)) - != DNS_KEYOWNER_ZONE) + if ((dnskey.flags & (DNS_KEYFLAG_OWNERMASK | + DNS_KEYTYPE_NOAUTH)) != DNS_KEYOWNER_ZONE) continue; dns_rdata_toregion(&tuple->rdata, &r); @@ -2453,8 +2435,8 @@ add_signing_records(dns_db_t *db, dns_rdatatype_t privatetype, CHECK(rr_exists(db, ver, name, &rdata, &flag)); if (flag) continue; - CHECK(dns_difftuple_create(diff->mctx, DNS_DIFFOP_ADD, - name, 0, &rdata, &newtuple)); + CHECK(dns_difftuple_create(diff->mctx, DNS_DIFFOP_ADD, name, 0, + &rdata, &newtuple)); CHECK(do_one_tuple(&newtuple, db, ver, diff)); INSIST(newtuple == NULL); /* @@ -2471,54 +2453,56 @@ add_signing_records(dns_db_t *db, dns_rdatatype_t privatetype, } } - failure: +failure: dns_diff_clear(&temp_diff); return (result); } static bool -isdnssec(dns_db_t *db, dns_dbversion_t *ver, dns_rdatatype_t privatetype) { +isdnssec(dns_db_t *db, dns_dbversion_t *ver, dns_rdatatype_t privatetype) +{ isc_result_t result; - bool build_nsec, build_nsec3; + bool build_nsec, build_nsec3; if (dns_db_issecure(db)) return (true); - result = dns_private_chains(db, ver, privatetype, - &build_nsec, &build_nsec3); + result = dns_private_chains(db, ver, privatetype, &build_nsec, + &build_nsec3); RUNTIME_CHECK(result == ISC_R_SUCCESS); return (build_nsec || build_nsec3); } static void -update_action(isc_task_t *task, isc_event_t *event) { - update_event_t *uev = (update_event_t *) event; - dns_zone_t *zone = uev->zone; - ns_client_t *client = (ns_client_t *)event->ev_arg; - isc_result_t result; - dns_db_t *db = NULL; - dns_dbversion_t *oldver = NULL; - dns_dbversion_t *ver = NULL; - dns_diff_t diff; /* Pending updates. */ - dns_diff_t temp; /* Pending RR existence assertions. */ - bool soa_serial_changed = false; - isc_mem_t *mctx = client->mctx; - dns_rdatatype_t covers; - dns_message_t *request = client->message; - dns_rdataclass_t zoneclass; - dns_name_t *zonename; - dns_ssutable_t *ssutable = NULL; - dns_fixedname_t tmpnamefixed; - dns_name_t *tmpname = NULL; - dns_zoneopt_t options; - dns_difftuple_t *tuple; +update_action(isc_task_t *task, isc_event_t *event) +{ + update_event_t * uev = (update_event_t *)event; + dns_zone_t * zone = uev->zone; + ns_client_t * client = (ns_client_t *)event->ev_arg; + isc_result_t result; + dns_db_t * db = NULL; + dns_dbversion_t * oldver = NULL; + dns_dbversion_t * ver = NULL; + dns_diff_t diff; /* Pending updates. */ + dns_diff_t temp; /* Pending RR existence assertions. */ + bool soa_serial_changed = false; + isc_mem_t * mctx = client->mctx; + dns_rdatatype_t covers; + dns_message_t * request = client->message; + dns_rdataclass_t zoneclass; + dns_name_t * zonename; + dns_ssutable_t * ssutable = NULL; + dns_fixedname_t tmpnamefixed; + dns_name_t * tmpname = NULL; + dns_zoneopt_t options; + dns_difftuple_t * tuple; dns_rdata_dnskey_t dnskey; - bool had_dnskey; - dns_rdatatype_t privatetype = dns_zone_getprivatetype(zone); - dns_ttl_t maxttl = 0; - uint32_t maxrecords; - uint64_t records; - dns_aclenv_t *env = + bool had_dnskey; + dns_rdatatype_t privatetype = dns_zone_getprivatetype(zone); + dns_ttl_t maxttl = 0; + uint32_t maxrecords; + uint64_t records; + dns_aclenv_t * env = ns_interfacemgr_getaclenv(client->manager->interface->mgr); INSIST(event->ev_type == DNS_EVENT_UPDATE); @@ -2551,54 +2535,57 @@ update_action(isc_task_t *task, isc_event_t *event) { for (result = dns_message_firstname(request, DNS_SECTION_PREREQUISITE); result == ISC_R_SUCCESS; - result = dns_message_nextname(request, DNS_SECTION_PREREQUISITE)) - { - dns_name_t *name = NULL; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_ttl_t ttl; + result = dns_message_nextname(request, DNS_SECTION_PREREQUISITE)) { + dns_name_t * name = NULL; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_ttl_t ttl; dns_rdataclass_t update_class; - bool flag; + bool flag; get_current_rr(request, DNS_SECTION_PREREQUISITE, zoneclass, &name, &rdata, &covers, &ttl, &update_class); if (ttl != 0) - PREREQFAILC(DNS_R_FORMERR, - "prerequisite TTL is not zero"); + PREREQFAILC(DNS_R_FORMERR, "prerequisite TTL is not " + "zero"); - if (! dns_name_issubdomain(name, zonename)) + if (!dns_name_issubdomain(name, zonename)) PREREQFAILN(DNS_R_NOTZONE, name, "prerequisite name is out of zone"); if (update_class == dns_rdataclass_any) { if (rdata.length != 0) - PREREQFAILC(DNS_R_FORMERR, - "class ANY prerequisite " - "RDATA is not empty"); + PREREQFAILC(DNS_R_FORMERR, "class ANY " + "prerequisite " + "RDATA is not " + "empty"); if (rdata.type == dns_rdatatype_any) { CHECK(name_exists(db, ver, name, &flag)); - if (! flag) { + if (!flag) { PREREQFAILN(DNS_R_NXDOMAIN, name, "'name in use' " "prerequisite not " "satisfied"); } } else { - CHECK(rrset_exists(db, ver, name, - rdata.type, covers, &flag)); - if (! flag) { + CHECK(rrset_exists(db, ver, name, rdata.type, + covers, &flag)); + if (!flag) { /* RRset does not exist. */ - PREREQFAILNT(DNS_R_NXRRSET, - name, rdata.type, - "'rrset exists (value independent)' " - "prerequisite not satisfied"); + PREREQFAILNT(DNS_R_NXRRSET, name, + rdata.type, + "'rrset exists (value " + "independent)' " + "prerequisite not " + "satisfied"); } } } else if (update_class == dns_rdataclass_none) { if (rdata.length != 0) - PREREQFAILC(DNS_R_FORMERR, - "class NONE prerequisite " - "RDATA is not empty"); + PREREQFAILC(DNS_R_FORMERR, "class NONE " + "prerequisite " + "RDATA is not " + "empty"); if (rdata.type == dns_rdatatype_any) { CHECK(name_exists(db, ver, name, &flag)); if (flag) { @@ -2608,8 +2595,8 @@ update_action(isc_task_t *task, isc_event_t *event) { "satisfied"); } } else { - CHECK(rrset_exists(db, ver, name, - rdata.type, covers, &flag)); + CHECK(rrset_exists(db, ver, name, rdata.type, + covers, &flag)); if (flag) { /* RRset exists. */ PREREQFAILNT(DNS_R_YXRRSET, name, @@ -2624,7 +2611,8 @@ update_action(isc_task_t *task, isc_event_t *event) { result = temp_append(&temp, name, &rdata); if (result != ISC_R_SUCCESS) { UNEXPECTED_ERROR(__FILE__, __LINE__, - "temp entry creation failed: %s", + "temp entry creation failed: " + "%s", dns_result_totext(result)); FAIL(ISC_R_UNEXPECTED); } @@ -2649,7 +2637,7 @@ update_action(isc_task_t *task, isc_event_t *event) { result = dns_diff_sort(&temp, temp_order); if (result != ISC_R_SUCCESS) FAILC(result, "'RRset exists (value dependent)' " - "prerequisite not satisfied"); + "prerequisite not satisfied"); tmpname = dns_fixedname_initname(&tmpnamefixed); result = temp_check(mctx, &temp, db, ver, tmpname, &type); @@ -2659,8 +2647,7 @@ update_action(isc_task_t *task, isc_event_t *event) { "prerequisite not satisfied"); } - update_log(client, zone, LOGLEVEL_DEBUG, - "prerequisites are OK"); + update_log(client, zone, LOGLEVEL_DEBUG, "prerequisites are OK"); /* * Check Requestor's Permissions. It seems a bit silly to do this @@ -2670,8 +2657,8 @@ update_action(isc_task_t *task, isc_event_t *event) { CHECK(checkupdateacl(client, dns_zone_getupdateacl(zone), "update", zonename, false, false)); else if (client->signer == NULL && !TCPCLIENT(client)) - CHECK(checkupdateacl(client, NULL, "update", zonename, - false, true)); + CHECK(checkupdateacl(client, NULL, "update", zonename, false, + true)); if (dns_zone_getupdatedisabled(zone)) FAILC(DNS_R_REFUSED, "dynamic update temporarily disabled " @@ -2684,18 +2671,16 @@ update_action(isc_task_t *task, isc_event_t *event) { for (result = dns_message_firstname(request, DNS_SECTION_UPDATE); result == ISC_R_SUCCESS; - result = dns_message_nextname(request, DNS_SECTION_UPDATE)) - { - dns_name_t *name = NULL; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_ttl_t ttl; + result = dns_message_nextname(request, DNS_SECTION_UPDATE)) { + dns_name_t * name = NULL; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_ttl_t ttl; dns_rdataclass_t update_class; - get_current_rr(request, DNS_SECTION_UPDATE, zoneclass, - &name, &rdata, &covers, &ttl, &update_class); + get_current_rr(request, DNS_SECTION_UPDATE, zoneclass, &name, + &rdata, &covers, &ttl, &update_class); - if (! dns_name_issubdomain(name, zonename)) - FAILC(DNS_R_NOTZONE, - "update RR is outside zone"); + if (!dns_name_issubdomain(name, zonename)) + FAILC(DNS_R_NOTZONE, "update RR is outside zone"); if (update_class == zoneclass) { /* * Check for meta-RRs. The RFC2136 pseudocode says @@ -2703,8 +2688,7 @@ update_action(isc_task_t *task, isc_event_t *event) { * "or any other QUERY metatype" */ if (dns_rdatatype_ismeta(rdata.type)) { - FAILC(DNS_R_FORMERR, - "meta-RR in update"); + FAILC(DNS_R_FORMERR, "meta-RR in update"); } result = dns_zone_checknames(zone, name, &rdata); if (result != ISC_R_SUCCESS) @@ -2713,13 +2697,10 @@ update_action(isc_task_t *task, isc_event_t *event) { if (ttl != 0 || rdata.length != 0 || (dns_rdatatype_ismeta(rdata.type) && rdata.type != dns_rdatatype_any)) - FAILC(DNS_R_FORMERR, - "meta-RR in update"); + FAILC(DNS_R_FORMERR, "meta-RR in update"); } else if (update_class == dns_rdataclass_none) { - if (ttl != 0 || - dns_rdatatype_ismeta(rdata.type)) - FAILC(DNS_R_FORMERR, - "meta-RR in update"); + if (ttl != 0 || dns_rdatatype_ismeta(rdata.type)) + FAILC(DNS_R_FORMERR, "meta-RR in update"); } else { update_log(client, zone, ISC_LOG_WARNING, "update RR has incorrect class %d", @@ -2733,47 +2714,44 @@ update_action(isc_task_t *task, isc_event_t *event) { * is forbidden from updating NSEC records." */ if (rdata.type == dns_rdatatype_nsec3) { - FAILC(DNS_R_REFUSED, - "explicit NSEC3 updates are not allowed " - "in secure zones"); + FAILC(DNS_R_REFUSED, "explicit NSEC3 updates are not " + "allowed " + "in secure zones"); } else if (rdata.type == dns_rdatatype_nsec) { - FAILC(DNS_R_REFUSED, - "explicit NSEC updates are not allowed " - "in secure zones"); + FAILC(DNS_R_REFUSED, "explicit NSEC updates are not " + "allowed " + "in secure zones"); } else if (rdata.type == dns_rdatatype_rrsig && !dns_name_equal(name, zonename)) { - FAILC(DNS_R_REFUSED, - "explicit RRSIG updates are currently " - "not supported in secure zones except " - "at the apex"); + FAILC(DNS_R_REFUSED, "explicit RRSIG updates are " + "currently " + "not supported in secure zones " + "except " + "at the apex"); } if (ssutable != NULL) { isc_netaddr_t netaddr; - dst_key_t *tsigkey = NULL; + dst_key_t * tsigkey = NULL; isc_netaddr_fromsockaddr(&netaddr, &client->peeraddr); if (client->message->tsigkey != NULL) tsigkey = client->message->tsigkey->key; if (rdata.type != dns_rdatatype_any) { - if (!dns_ssutable_checkrules - (ssutable, client->signer, name, &netaddr, - TCPCLIENT(client), - env, rdata.type, tsigkey)) - { - FAILC(DNS_R_REFUSED, - "rejected by secure update"); + if (!dns_ssutable_checkrules( + ssutable, client->signer, name, + &netaddr, TCPCLIENT(client), env, + rdata.type, tsigkey)) { + FAILC(DNS_R_REFUSED, "rejected by " + "secure update"); } } else { if (!ssu_checkall(db, ver, name, ssutable, - client->signer, - &netaddr, env, - TCPCLIENT(client), - tsigkey)) - { - FAILC(DNS_R_REFUSED, - "rejected by secure update"); + client->signer, &netaddr, env, + TCPCLIENT(client), tsigkey)) { + FAILC(DNS_R_REFUSED, "rejected by " + "secure update"); } } } @@ -2781,8 +2759,7 @@ update_action(isc_task_t *task, isc_event_t *event) { if (result != ISC_R_NOMORE) FAIL(result); - update_log(client, zone, LOGLEVEL_DEBUG, - "update section prescan OK"); + update_log(client, zone, LOGLEVEL_DEBUG, "update section prescan OK"); /* * Process the Update Section. @@ -2791,19 +2768,17 @@ update_action(isc_task_t *task, isc_event_t *event) { options = dns_zone_getoptions(zone); for (result = dns_message_firstname(request, DNS_SECTION_UPDATE); result == ISC_R_SUCCESS; - result = dns_message_nextname(request, DNS_SECTION_UPDATE)) - { - dns_name_t *name = NULL; - dns_rdata_t rdata = DNS_RDATA_INIT; - dns_ttl_t ttl; + result = dns_message_nextname(request, DNS_SECTION_UPDATE)) { + dns_name_t * name = NULL; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_ttl_t ttl; dns_rdataclass_t update_class; - bool flag; + bool flag; - get_current_rr(request, DNS_SECTION_UPDATE, zoneclass, - &name, &rdata, &covers, &ttl, &update_class); + get_current_rr(request, DNS_SECTION_UPDATE, zoneclass, &name, + &rdata, &covers, &ttl, &update_class); if (update_class == zoneclass) { - /* * RFC1123 doesn't allow MF and MD in master zones. */ @@ -2825,16 +2800,15 @@ update_action(isc_task_t *task, isc_event_t *event) { dns_rdatatype_format(rdata.type, typebuf, sizeof(typebuf)); - update_log(client, zone, - LOGLEVEL_PROTOCOL, + update_log(client, zone, LOGLEVEL_PROTOCOL, "attempt to add wildcard %s record " - "ignored", typebuf); + "ignored", + typebuf); continue; } if (rdata.type == dns_rdatatype_cname) { - CHECK(cname_incompatible_rrset_exists(db, ver, - name, - &flag)); + CHECK(cname_incompatible_rrset_exists( + db, ver, name, &flag)); if (flag) { update_log(client, zone, LOGLEVEL_PROTOCOL, @@ -2848,8 +2822,7 @@ update_action(isc_task_t *task, isc_event_t *event) { dns_rdatatype_cname, 0, &flag)); if (flag && - ! dns_rdatatype_atcname(rdata.type)) - { + !dns_rdatatype_atcname(rdata.type)) { update_log(client, zone, LOGLEVEL_PROTOCOL, "attempt to add non-CNAME " @@ -2862,7 +2835,7 @@ update_action(isc_task_t *task, isc_event_t *event) { CHECK(rrset_exists(db, ver, name, dns_rdatatype_soa, 0, &flag)); - if (! flag) { + if (!flag) { update_log(client, zone, LOGLEVEL_PROTOCOL, "attempt to create 2nd " @@ -2871,7 +2844,7 @@ update_action(isc_task_t *task, isc_event_t *event) { } CHECK(check_soa_increment(db, ver, &rdata, &ok)); - if (! ok) { + if (!ok) { update_log(client, zone, LOGLEVEL_PROTOCOL, "SOA update failed to " @@ -2886,7 +2859,8 @@ update_action(isc_task_t *task, isc_event_t *event) { update_log(client, zone, LOGLEVEL_PROTOCOL, "attempt to add a private type " "(%u) record rejected internal " - "use only", privatetype); + "use only", + privatetype); continue; } @@ -2895,9 +2869,8 @@ update_action(isc_task_t *task, isc_event_t *event) { * Ignore attempts to add NSEC3PARAM records * with any flags other than OPTOUT. */ - if ((rdata.data[1] & - ~DNS_NSEC3FLAG_OPTOUT) != 0) - { + if ((rdata.data[1] & ~DNS_NSEC3FLAG_OPTOUT) != + 0) { update_log(client, zone, LOGLEVEL_PROTOCOL, "attempt to add NSEC3PARAM " @@ -2910,11 +2883,11 @@ update_action(isc_task_t *task, isc_event_t *event) { if ((options & DNS_ZONEOPT_CHECKWILDCARD) != 0 && dns_name_internalwildcard(name)) { char namestr[DNS_NAME_FORMATSIZE]; - dns_name_format(name, namestr, - sizeof(namestr)); + dns_name_format(name, namestr, sizeof(namestr)); update_log(client, zone, LOGLEVEL_PROTOCOL, "warning: ownername '%s' contains " - "a non-terminal wildcard", namestr); + "a non-terminal wildcard", + namestr); } if ((options & DNS_ZONEOPT_CHECKTTL) != 0) { @@ -2930,12 +2903,12 @@ update_action(isc_task_t *task, isc_event_t *event) { } if (isc_log_wouldlog(ns_lctx, LOGLEVEL_PROTOCOL)) { - char namestr[DNS_NAME_FORMATSIZE]; - char typestr[DNS_RDATATYPE_FORMATSIZE]; - char rdstr[2048]; + char namestr[DNS_NAME_FORMATSIZE]; + char typestr[DNS_RDATATYPE_FORMATSIZE]; + char rdstr[2048]; isc_buffer_t buf; - int len = 0; - const char *truncated = ""; + int len = 0; + const char * truncated = ""; dns_name_format(name, namestr, sizeof(namestr)); dns_rdatatype_format(rdata.type, typestr, @@ -2946,7 +2919,8 @@ update_action(isc_task_t *task, isc_event_t *event) { len = (int)isc_buffer_usedlength(&buf); truncated = " [TRUNCATED]"; } else if (result != ISC_R_SUCCESS) { - snprintf(rdstr, sizeof(rdstr), "[dns_" + snprintf(rdstr, sizeof(rdstr), + "[dns_" "rdata_totext failed: %s]", dns_result_totext(result)); len = strlen(rdstr); @@ -2999,15 +2973,15 @@ update_action(isc_task_t *task, isc_event_t *event) { } else if (update_class == dns_rdataclass_any) { if (rdata.type == dns_rdatatype_any) { if (isc_log_wouldlog(ns_lctx, - LOGLEVEL_PROTOCOL)) - { + LOGLEVEL_PROTOCOL)) { char namestr[DNS_NAME_FORMATSIZE]; dns_name_format(name, namestr, sizeof(namestr)); update_log(client, zone, LOGLEVEL_PROTOCOL, "delete all rrsets from " - "name '%s'", namestr); + "name '%s'", + namestr); } if (dns_name_equal(name, zonename)) { CHECK(delete_if(type_not_soa_nor_ns_p, @@ -3015,8 +2989,8 @@ update_action(isc_task_t *task, isc_event_t *event) { dns_rdatatype_any, 0, &rdata, &diff)); } else { - CHECK(delete_if(type_not_dnssec, - db, ver, name, + CHECK(delete_if(type_not_dnssec, db, + ver, name, dns_rdatatype_any, 0, &rdata, &diff)); } @@ -3029,8 +3003,7 @@ update_action(isc_task_t *task, isc_event_t *event) { continue; } else { if (isc_log_wouldlog(ns_lctx, - LOGLEVEL_PROTOCOL)) - { + LOGLEVEL_PROTOCOL)) { char namestr[DNS_NAME_FORMATSIZE]; char typestr[DNS_RDATATYPE_FORMATSIZE]; dns_name_format(name, namestr, @@ -3066,8 +3039,8 @@ update_action(isc_task_t *task, isc_event_t *event) { if (rdata.type == dns_rdatatype_ns) { int count; CHECK(rr_count(db, ver, name, - dns_rdatatype_ns, - 0, &count)); + dns_rdatatype_ns, 0, + &count)); if (count == 1) { update_log(client, zone, LOGLEVEL_PROTOCOL, @@ -3095,10 +3068,10 @@ update_action(isc_task_t *task, isc_event_t *event) { * If they don't then back out all changes to DNSKEY/NSEC3PARAM * records. */ - if (! ISC_LIST_EMPTY(diff.tuples)) + if (!ISC_LIST_EMPTY(diff.tuples)) CHECK(check_dnssec(client, zone, db, ver, &diff)); - if (! ISC_LIST_EMPTY(diff.tuples)) { + if (!ISC_LIST_EMPTY(diff.tuples)) { unsigned int errors = 0; CHECK(dns_zone_nscheck(zone, db, ver, &errors)); if (errors != 0) { @@ -3109,7 +3082,7 @@ update_action(isc_task_t *task, isc_event_t *event) { goto failure; } } - if (! ISC_LIST_EMPTY(diff.tuples)) { + if (!ISC_LIST_EMPTY(diff.tuples)) { result = dns_zone_cdscheck(zone, db, ver); if (result == DNS_R_BADCDS || result == DNS_R_BADCDNSKEY) { update_log(client, zone, LOGLEVEL_PROTOCOL, @@ -3120,7 +3093,6 @@ update_action(isc_task_t *task, isc_event_t *event) { } if (result != ISC_R_SUCCESS) goto failure; - } /* @@ -3128,26 +3100,27 @@ update_action(isc_task_t *task, isc_event_t *event) { * update RRSIGs and NSECs (if zone is secure), and write the update * to the journal. */ - if (! ISC_LIST_EMPTY(diff.tuples)) { - char *journalfile; + if (!ISC_LIST_EMPTY(diff.tuples)) { + char * journalfile; dns_journal_t *journal; - bool has_dnskey; + bool has_dnskey; /* * Increment the SOA serial, but only if it was not * changed as a result of an update operation. */ - if (! soa_serial_changed) { - CHECK(update_soa_serial(db, ver, &diff, mctx, - dns_zone_getserialupdatemethod(zone))); + if (!soa_serial_changed) { + CHECK(update_soa_serial( + db, ver, &diff, mctx, + dns_zone_getserialupdatemethod(zone))); } CHECK(check_mx(client, zone, db, ver, &diff)); CHECK(remove_orphaned_ds(db, ver, &diff)); - CHECK(rrset_exists(db, ver, zonename, dns_rdatatype_dnskey, - 0, &has_dnskey)); + CHECK(rrset_exists(db, ver, zonename, dns_rdatatype_dnskey, 0, + &has_dnskey)); #define ALLOW_SECURE_TO_INSECURE(zone) \ ((dns_zone_getoptions(zone) & DNS_ZONEOPT_SECURETOINSECURE) != 0) @@ -3179,21 +3152,20 @@ update_action(isc_task_t *task, isc_event_t *event) { * the last signature for the DNSKEY records are * remove any NSEC chain present will also be removed. */ - CHECK(dns_nsec3param_deletechains(db, ver, zone, - true, &diff)); + CHECK(dns_nsec3param_deletechains(db, ver, zone, true, + &diff)); } else if (has_dnskey && isdnssec(db, ver, privatetype)) { dns_update_log_t log; - uint32_t interval = dns_zone_getsigvalidityinterval(zone); + uint32_t interval = + dns_zone_getsigvalidityinterval(zone); log.func = update_log_cb; log.arg = client; result = dns_update_signatures(&log, zone, db, oldver, - ver, &diff, - interval); + ver, &diff, interval); if (result != ISC_R_SUCCESS) { - update_log(client, zone, - ISC_LOG_ERROR, + update_log(client, zone, ISC_LOG_ERROR, "RRSIG/NSEC/NSEC3 update failed: %s", isc_result_totext(result)); goto failure; @@ -3205,9 +3177,11 @@ update_action(isc_task_t *task, isc_event_t *event) { result = dns_db_getsize(db, ver, &records, NULL); if (result == ISC_R_SUCCESS && records > maxrecords) { update_log(client, zone, ISC_LOG_ERROR, - "records in zone (%" - PRIu64 - ") exceeds max-records (%u)", + "records in zone (%" PRIu64 ") " + "exceeds" + " max-" + "records" + " (%u)", records, maxrecords); result = DNS_R_TOOMANYRECORDS; goto failure; @@ -3261,28 +3235,28 @@ update_action(isc_task_t *task, isc_event_t *event) { * * Note: we are already committed to this course of action. */ - for (tuple = ISC_LIST_HEAD(diff.tuples); - tuple != NULL; + for (tuple = ISC_LIST_HEAD(diff.tuples); tuple != NULL; tuple = ISC_LIST_NEXT(tuple, link)) { isc_region_t r; dns_secalg_t algorithm; - uint16_t keyid; + uint16_t keyid; if (tuple->rdata.type != dns_rdatatype_dnskey) continue; dns_rdata_tostruct(&tuple->rdata, &dnskey, NULL); if ((dnskey.flags & - (DNS_KEYFLAG_OWNERMASK|DNS_KEYTYPE_NOAUTH)) - != DNS_KEYOWNER_ZONE) + (DNS_KEYFLAG_OWNERMASK | DNS_KEYTYPE_NOAUTH)) != + DNS_KEYOWNER_ZONE) continue; dns_rdata_toregion(&tuple->rdata, &r); algorithm = dnskey.algorithm; keyid = dst_region_computeid(&r); - result = dns_zone_signwithkey(zone, algorithm, keyid, - (tuple->op == DNS_DIFFOP_DEL)); + result = dns_zone_signwithkey( + zone, algorithm, keyid, + (tuple->op == DNS_DIFFOP_DEL)); if (result != ISC_R_SUCCESS) { update_log(client, zone, ISC_LOG_ERROR, "dns_zone_signwithkey failed: %s", @@ -3296,11 +3270,10 @@ update_action(isc_task_t *task, isc_event_t *event) { * * Note: we are already committed to this course of action. */ - for (tuple = ISC_LIST_HEAD(diff.tuples); - tuple != NULL; + for (tuple = ISC_LIST_HEAD(diff.tuples); tuple != NULL; tuple = ISC_LIST_NEXT(tuple, link)) { - unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE]; - dns_rdata_t rdata = DNS_RDATA_INIT; + unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE]; + dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_nsec3param_t nsec3param; if (tuple->rdata.type != privatetype || @@ -3308,7 +3281,7 @@ update_action(isc_task_t *task, isc_event_t *event) { continue; if (!dns_nsec3param_fromprivate(&tuple->rdata, &rdata, - buf, sizeof(buf))) + buf, sizeof(buf))) continue; dns_rdata_tostruct(&rdata, &nsec3param, NULL); if (nsec3param.flags == 0) @@ -3328,17 +3301,16 @@ update_action(isc_task_t *task, isc_event_t *event) { result = ISC_R_SUCCESS; goto common; - failure: +failure: /* * The reason for failure should have been logged at this point. */ if (ver != NULL) { - update_log(client, zone, LOGLEVEL_DEBUG, - "rolling back"); + update_log(client, zone, LOGLEVEL_DEBUG, "rolling back"); dns_db_closeversion(db, &ver, false); } - common: +common: dns_diff_clear(&temp); dns_diff_clear(&diff); @@ -3364,9 +3336,10 @@ update_action(isc_task_t *task, isc_event_t *event) { } static void -updatedone_action(isc_task_t *task, isc_event_t *event) { - update_event_t *uev = (update_event_t *) event; - ns_client_t *client = (ns_client_t *) event->ev_arg; +updatedone_action(isc_task_t *task, isc_event_t *event) +{ + update_event_t *uev = (update_event_t *)event; + ns_client_t * client = (ns_client_t *)event->ev_arg; UNUSED(task); @@ -3398,7 +3371,8 @@ updatedone_action(isc_task_t *task, isc_event_t *event) { */ static void -forward_fail(isc_task_t *task, isc_event_t *event) { +forward_fail(isc_task_t *task, isc_event_t *event) +{ ns_client_t *client = (ns_client_t *)event->ev_arg; UNUSED(task); @@ -3411,10 +3385,11 @@ forward_fail(isc_task_t *task, isc_event_t *event) { } static void -forward_callback(void *arg, isc_result_t result, dns_message_t *answer) { +forward_callback(void *arg, isc_result_t result, dns_message_t *answer) +{ update_event_t *uev = arg; - ns_client_t *client = uev->ev_arg; - dns_zone_t *zone = uev->zone; + ns_client_t * client = uev->ev_arg; + dns_zone_t * zone = uev->zone; if (result != ISC_R_SUCCESS) { INSIST(answer == NULL); @@ -3432,9 +3407,10 @@ forward_callback(void *arg, isc_result_t result, dns_message_t *answer) { } static void -forward_done(isc_task_t *task, isc_event_t *event) { - update_event_t *uev = (update_event_t *) event; - ns_client_t *client = (ns_client_t *)event->ev_arg; +forward_done(isc_task_t *task, isc_event_t *event) +{ + update_event_t *uev = (update_event_t *)event; + ns_client_t * client = (ns_client_t *)event->ev_arg; UNUSED(task); @@ -3447,14 +3423,15 @@ forward_done(isc_task_t *task, isc_event_t *event) { } static void -forward_action(isc_task_t *task, isc_event_t *event) { - update_event_t *uev = (update_event_t *) event; - dns_zone_t *zone = uev->zone; - ns_client_t *client = (ns_client_t *)event->ev_arg; - isc_result_t result; +forward_action(isc_task_t *task, isc_event_t *event) +{ + update_event_t *uev = (update_event_t *)event; + dns_zone_t * zone = uev->zone; + ns_client_t * client = (ns_client_t *)event->ev_arg; + isc_result_t result; - result = dns_zone_forwardupdate(zone, client->message, - forward_callback, event); + result = dns_zone_forwardupdate(zone, client->message, forward_callback, + event); if (result != ISC_R_SUCCESS) { uev->ev_type = DNS_EVENT_UPDATEDONE; uev->ev_action = forward_fail; @@ -3469,16 +3446,17 @@ forward_action(isc_task_t *task, isc_event_t *event) { } static isc_result_t -send_forward_event(ns_client_t *client, dns_zone_t *zone) { - char namebuf[DNS_NAME_FORMATSIZE]; - char classbuf[DNS_RDATACLASS_FORMATSIZE]; - isc_result_t result = ISC_R_SUCCESS; +send_forward_event(ns_client_t *client, dns_zone_t *zone) +{ + char namebuf[DNS_NAME_FORMATSIZE]; + char classbuf[DNS_RDATACLASS_FORMATSIZE]; + isc_result_t result = ISC_R_SUCCESS; update_event_t *event = NULL; - isc_task_t *zonetask = NULL; + isc_task_t * zonetask = NULL; - event = (update_event_t *) - isc_event_allocate(client->mctx, client, DNS_EVENT_UPDATE, - forward_action, NULL, sizeof(*event)); + event = (update_event_t *)isc_event_allocate( + client->mctx, client, DNS_EVENT_UPDATE, forward_action, NULL, + sizeof(*event)); event->zone = zone; event->result = ISC_R_SUCCESS; @@ -3486,8 +3464,7 @@ send_forward_event(ns_client_t *client, dns_zone_t *zone) { client->nupdates++; event->ev_arg = client; - dns_name_format(dns_zone_getorigin(zone), namebuf, - sizeof(namebuf)); + dns_name_format(dns_zone_getorigin(zone), namebuf, sizeof(namebuf)); dns_rdataclass_format(dns_zone_getclass(zone), classbuf, sizeof(classbuf)); diff --git a/lib/ns/win32/DLLMain.c b/lib/ns/win32/DLLMain.c index 842ca74d1e..69e68ca22a 100644 --- a/lib/ns/win32/DLLMain.c +++ b/lib/ns/win32/DLLMain.c @@ -9,14 +9,14 @@ * information regarding copyright ownership. */ -#include #include +#include /* * Called when we enter the DLL */ -__declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, - DWORD fdwReason, LPVOID lpvReserved) +__declspec(dllexport) BOOL WINAPI + DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { switch (fdwReason) { /* @@ -46,4 +46,3 @@ __declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, } return (TRUE); } - diff --git a/lib/ns/xfrout.c b/lib/ns/xfrout.c index 391d4c1238..8d9a5a3d47 100644 --- a/lib/ns/xfrout.c +++ b/lib/ns/xfrout.c @@ -14,9 +14,9 @@ #include #include -#include #include #include +#include #include #include @@ -59,55 +59,57 @@ #define XFROUT_COMMON_LOGARGS \ ns_lctx, DNS_LOGCATEGORY_XFER_OUT, NS_LOGMODULE_XFER_OUT -#define XFROUT_PROTOCOL_LOGARGS \ - XFROUT_COMMON_LOGARGS, ISC_LOG_INFO +#define XFROUT_PROTOCOL_LOGARGS XFROUT_COMMON_LOGARGS, ISC_LOG_INFO -#define XFROUT_DEBUG_LOGARGS(n) \ - XFROUT_COMMON_LOGARGS, ISC_LOG_DEBUG(n) +#define XFROUT_DEBUG_LOGARGS(n) XFROUT_COMMON_LOGARGS, ISC_LOG_DEBUG(n) -#define XFROUT_RR_LOGARGS \ - XFROUT_COMMON_LOGARGS, XFROUT_RR_LOGLEVEL +#define XFROUT_RR_LOGARGS XFROUT_COMMON_LOGARGS, XFROUT_RR_LOGLEVEL -#define XFROUT_RR_LOGLEVEL ISC_LOG_DEBUG(8) +#define XFROUT_RR_LOGLEVEL ISC_LOG_DEBUG(8) /*% * Fail unconditionally and log as a client error. * The test against ISC_R_SUCCESS is there to keep the Solaris compiler * from complaining about "end-of-loop code not reached". */ -#define FAILC(code, msg) \ - do { \ - result = (code); \ - ns_client_log(client, DNS_LOGCATEGORY_XFER_OUT, \ - NS_LOGMODULE_XFER_OUT, ISC_LOG_INFO, \ - "bad zone transfer request: %s (%s)", \ - msg, isc_result_totext(code)); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define FAILC(code, msg) \ + do { \ + result = (code); \ + ns_client_log(client, DNS_LOGCATEGORY_XFER_OUT, \ + NS_LOGMODULE_XFER_OUT, ISC_LOG_INFO, \ + "bad zone transfer request: %s (%s)", msg, \ + isc_result_totext(code)); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) -#define FAILQ(code, msg, question, rdclass) \ - do { \ - char _buf1[DNS_NAME_FORMATSIZE]; \ - char _buf2[DNS_RDATACLASS_FORMATSIZE]; \ - result = (code); \ - dns_name_format(question, _buf1, sizeof(_buf1)); \ - dns_rdataclass_format(rdclass, _buf2, sizeof(_buf2)); \ - ns_client_log(client, DNS_LOGCATEGORY_XFER_OUT, \ - NS_LOGMODULE_XFER_OUT, ISC_LOG_INFO, \ - "bad zone transfer request: '%s/%s': %s (%s)", \ - _buf1, _buf2, msg, isc_result_totext(code)); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define FAILQ(code, msg, question, rdclass) \ + do { \ + char _buf1[DNS_NAME_FORMATSIZE]; \ + char _buf2[DNS_RDATACLASS_FORMATSIZE]; \ + result = (code); \ + dns_name_format(question, _buf1, sizeof(_buf1)); \ + dns_rdataclass_format(rdclass, _buf2, sizeof(_buf2)); \ + ns_client_log(client, DNS_LOGCATEGORY_XFER_OUT, \ + NS_LOGMODULE_XFER_OUT, ISC_LOG_INFO, \ + "bad zone transfer request: '%s/%s': %s (%s)", \ + _buf1, _buf2, msg, isc_result_totext(code)); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) -#define CHECK(op) \ - do { result = (op); \ - if (result != ISC_R_SUCCESS) goto failure; \ +#define CHECK(op) \ + do { \ + result = (op); \ + if (result != ISC_R_SUCCESS) \ + goto failure; \ } while (0) /**************************************************************************/ static inline void -inc_stats(ns_client_t *client, dns_zone_t *zone, isc_statscounter_t counter) { +inc_stats(ns_client_t *client, dns_zone_t *zone, isc_statscounter_t counter) +{ ns_stats_increment(client->sctx->nsstats, counter); if (zone != NULL) { isc_stats_t *zonestats = dns_zone_getrequeststats(zone); @@ -121,13 +123,14 @@ inc_stats(ns_client_t *client, dns_zone_t *zone, isc_statscounter_t counter) { /*% Log an RR (for debugging) */ static void -log_rr(dns_name_t *name, dns_rdata_t *rdata, uint32_t ttl) { - isc_result_t result; - isc_buffer_t buf; - char mem[2000]; +log_rr(dns_name_t *name, dns_rdata_t *rdata, uint32_t ttl) +{ + isc_result_t result; + isc_buffer_t buf; + char mem[2000]; dns_rdatalist_t rdl; - dns_rdataset_t rds; - dns_rdata_t rd = DNS_RDATA_INIT; + dns_rdataset_t rds; + dns_rdata_t rd = DNS_RDATA_INIT; dns_rdatalist_init(&rdl); rdl.type = rdata->type; @@ -145,8 +148,7 @@ log_rr(dns_name_t *name, dns_rdata_t *rdata, uint32_t ttl) { RUNTIME_CHECK(dns_rdatalist_tordataset(&rdl, &rds) == ISC_R_SUCCESS); isc_buffer_init(&buf, mem, sizeof(mem)); - result = dns_rdataset_totext(&rds, name, - false, false, &buf); + result = dns_rdataset_totext(&rds, name, false, false, &buf); /* * We could use xfrout_log(), but that would produce @@ -157,7 +159,7 @@ log_rr(dns_name_t *name, dns_rdata_t *rdata, uint32_t ttl) { * Get rid of final newline. */ INSIST(buf.used >= 1 && - ((char *) buf.base)[buf.used - 1] == '\n'); + ((char *)buf.base)[buf.used - 1] == '\n'); buf.used--; isc_log_write(XFROUT_RR_LOGARGS, "%.*s", @@ -178,23 +180,22 @@ log_rr(dns_name_t *name, dns_rdata_t *rdata, uint32_t ttl) { typedef struct rrstream_methods rrstream_methods_t; typedef struct rrstream { - isc_mem_t *mctx; - rrstream_methods_t *methods; + isc_mem_t * mctx; + rrstream_methods_t *methods; } rrstream_t; struct rrstream_methods { - isc_result_t (*first)(rrstream_t *); - isc_result_t (*next)(rrstream_t *); - void (*current)(rrstream_t *, - dns_name_t **, - uint32_t *, - dns_rdata_t **); - void (*pause)(rrstream_t *); - void (*destroy)(rrstream_t **); + isc_result_t (*first)(rrstream_t *); + isc_result_t (*next)(rrstream_t *); + void (*current)(rrstream_t *, dns_name_t **, uint32_t *, + dns_rdata_t **); + void (*pause)(rrstream_t *); + void (*destroy)(rrstream_t **); }; static void -rrstream_noop_pause(rrstream_t *rs) { +rrstream_noop_pause(rrstream_t *rs) +{ UNUSED(rs); } @@ -210,8 +211,8 @@ rrstream_noop_pause(rrstream_t *rs) { */ typedef struct ixfr_rrstream { - rrstream_t common; - dns_journal_t *journal; + rrstream_t common; + dns_journal_t *journal; } ixfr_rrstream_t; /* Forward declarations. */ @@ -226,14 +227,12 @@ static rrstream_methods_t ixfr_rrstream_methods; */ static isc_result_t -ixfr_rrstream_create(isc_mem_t *mctx, - const char *journal_filename, - uint32_t begin_serial, - uint32_t end_serial, +ixfr_rrstream_create(isc_mem_t *mctx, const char *journal_filename, + uint32_t begin_serial, uint32_t end_serial, rrstream_t **sp) { ixfr_rrstream_t *s; - isc_result_t result; + isc_result_t result; INSIST(sp != NULL && *sp == NULL); @@ -243,53 +242,52 @@ ixfr_rrstream_create(isc_mem_t *mctx, s->common.methods = &ixfr_rrstream_methods; s->journal = NULL; - CHECK(dns_journal_open(mctx, journal_filename, - DNS_JOURNAL_READ, &s->journal)); + CHECK(dns_journal_open(mctx, journal_filename, DNS_JOURNAL_READ, + &s->journal)); CHECK(dns_journal_iter_init(s->journal, begin_serial, end_serial)); - *sp = (rrstream_t *) s; + *sp = (rrstream_t *)s; return (ISC_R_SUCCESS); - failure: - ixfr_rrstream_destroy((rrstream_t **) (void *)&s); +failure: + ixfr_rrstream_destroy((rrstream_t **)(void *)&s); return (result); } static isc_result_t -ixfr_rrstream_first(rrstream_t *rs) { - ixfr_rrstream_t *s = (ixfr_rrstream_t *) rs; +ixfr_rrstream_first(rrstream_t *rs) +{ + ixfr_rrstream_t *s = (ixfr_rrstream_t *)rs; return (dns_journal_first_rr(s->journal)); } static isc_result_t -ixfr_rrstream_next(rrstream_t *rs) { - ixfr_rrstream_t *s = (ixfr_rrstream_t *) rs; +ixfr_rrstream_next(rrstream_t *rs) +{ + ixfr_rrstream_t *s = (ixfr_rrstream_t *)rs; return (dns_journal_next_rr(s->journal)); } static void -ixfr_rrstream_current(rrstream_t *rs, - dns_name_t **name, uint32_t *ttl, - dns_rdata_t **rdata) +ixfr_rrstream_current(rrstream_t *rs, dns_name_t **name, uint32_t *ttl, + dns_rdata_t **rdata) { - ixfr_rrstream_t *s = (ixfr_rrstream_t *) rs; + ixfr_rrstream_t *s = (ixfr_rrstream_t *)rs; dns_journal_current_rr(s->journal, name, ttl, rdata); } static void -ixfr_rrstream_destroy(rrstream_t **rsp) { - ixfr_rrstream_t *s = (ixfr_rrstream_t *) *rsp; +ixfr_rrstream_destroy(rrstream_t **rsp) +{ + ixfr_rrstream_t *s = (ixfr_rrstream_t *)*rsp; if (s->journal != NULL) dns_journal_destroy(&s->journal); isc_mem_putanddetach(&s->common.mctx, s, sizeof(*s)); } static rrstream_methods_t ixfr_rrstream_methods = { - ixfr_rrstream_first, - ixfr_rrstream_next, - ixfr_rrstream_current, - rrstream_noop_pause, - ixfr_rrstream_destroy + ixfr_rrstream_first, ixfr_rrstream_next, ixfr_rrstream_current, + rrstream_noop_pause, ixfr_rrstream_destroy }; /**************************************************************************/ @@ -302,9 +300,9 @@ static rrstream_methods_t ixfr_rrstream_methods = { */ typedef struct axfr_rrstream { - rrstream_t common; - dns_rriterator_t it; - bool it_valid; + rrstream_t common; + dns_rriterator_t it; + bool it_valid; } axfr_rrstream_t; /* @@ -320,7 +318,7 @@ axfr_rrstream_create(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *ver, rrstream_t **sp) { axfr_rrstream_t *s; - isc_result_t result; + isc_result_t result; INSIST(sp != NULL && *sp == NULL); @@ -333,28 +331,29 @@ axfr_rrstream_create(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *ver, CHECK(dns_rriterator_init(&s->it, db, ver, 0)); s->it_valid = true; - *sp = (rrstream_t *) s; + *sp = (rrstream_t *)s; return (ISC_R_SUCCESS); - failure: - axfr_rrstream_destroy((rrstream_t **) (void *)&s); +failure: + axfr_rrstream_destroy((rrstream_t **)(void *)&s); return (result); } static isc_result_t -axfr_rrstream_first(rrstream_t *rs) { - axfr_rrstream_t *s = (axfr_rrstream_t *) rs; - isc_result_t result; +axfr_rrstream_first(rrstream_t *rs) +{ + axfr_rrstream_t *s = (axfr_rrstream_t *)rs; + isc_result_t result; result = dns_rriterator_first(&s->it); if (result != ISC_R_SUCCESS) return (result); /* Skip SOA records. */ for (;;) { - dns_name_t *name_dummy = NULL; - uint32_t ttl_dummy; + dns_name_t * name_dummy = NULL; + uint32_t ttl_dummy; dns_rdata_t *rdata = NULL; - dns_rriterator_current(&s->it, &name_dummy, - &ttl_dummy, NULL, &rdata); + dns_rriterator_current(&s->it, &name_dummy, &ttl_dummy, NULL, + &rdata); if (rdata->type != dns_rdatatype_soa) break; result = dns_rriterator_next(&s->it); @@ -365,20 +364,21 @@ axfr_rrstream_first(rrstream_t *rs) { } static isc_result_t -axfr_rrstream_next(rrstream_t *rs) { - axfr_rrstream_t *s = (axfr_rrstream_t *) rs; - isc_result_t result; +axfr_rrstream_next(rrstream_t *rs) +{ + axfr_rrstream_t *s = (axfr_rrstream_t *)rs; + isc_result_t result; /* Skip SOA records. */ for (;;) { - dns_name_t *name_dummy = NULL; - uint32_t ttl_dummy; + dns_name_t * name_dummy = NULL; + uint32_t ttl_dummy; dns_rdata_t *rdata = NULL; result = dns_rriterator_next(&s->it); if (result != ISC_R_SUCCESS) break; - dns_rriterator_current(&s->it, &name_dummy, - &ttl_dummy, NULL, &rdata); + dns_rriterator_current(&s->it, &name_dummy, &ttl_dummy, NULL, + &rdata); if (rdata->type != dns_rdatatype_soa) break; } @@ -389,30 +389,29 @@ static void axfr_rrstream_current(rrstream_t *rs, dns_name_t **name, uint32_t *ttl, dns_rdata_t **rdata) { - axfr_rrstream_t *s = (axfr_rrstream_t *) rs; + axfr_rrstream_t *s = (axfr_rrstream_t *)rs; dns_rriterator_current(&s->it, name, ttl, NULL, rdata); } static void -axfr_rrstream_pause(rrstream_t *rs) { - axfr_rrstream_t *s = (axfr_rrstream_t *) rs; +axfr_rrstream_pause(rrstream_t *rs) +{ + axfr_rrstream_t *s = (axfr_rrstream_t *)rs; dns_rriterator_pause(&s->it); } static void -axfr_rrstream_destroy(rrstream_t **rsp) { - axfr_rrstream_t *s = (axfr_rrstream_t *) *rsp; +axfr_rrstream_destroy(rrstream_t **rsp) +{ + axfr_rrstream_t *s = (axfr_rrstream_t *)*rsp; if (s->it_valid) dns_rriterator_destroy(&s->it); isc_mem_putanddetach(&s->common.mctx, s, sizeof(*s)); } static rrstream_methods_t axfr_rrstream_methods = { - axfr_rrstream_first, - axfr_rrstream_next, - axfr_rrstream_current, - axfr_rrstream_pause, - axfr_rrstream_destroy + axfr_rrstream_first, axfr_rrstream_next, axfr_rrstream_current, + axfr_rrstream_pause, axfr_rrstream_destroy }; /**************************************************************************/ @@ -422,8 +421,8 @@ static rrstream_methods_t axfr_rrstream_methods = { */ typedef struct soa_rrstream { - rrstream_t common; - dns_difftuple_t *soa_tuple; + rrstream_t common; + dns_difftuple_t *soa_tuple; } soa_rrstream_t; /* @@ -439,7 +438,7 @@ soa_rrstream_create(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *ver, rrstream_t **sp) { soa_rrstream_t *s; - isc_result_t result; + isc_result_t result; INSIST(sp != NULL && *sp == NULL); @@ -452,22 +451,24 @@ soa_rrstream_create(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *ver, CHECK(dns_db_createsoatuple(db, ver, mctx, DNS_DIFFOP_EXISTS, &s->soa_tuple)); - *sp = (rrstream_t *) s; + *sp = (rrstream_t *)s; return (ISC_R_SUCCESS); - failure: - soa_rrstream_destroy((rrstream_t **) (void *)&s); +failure: + soa_rrstream_destroy((rrstream_t **)(void *)&s); return (result); } static isc_result_t -soa_rrstream_first(rrstream_t *rs) { +soa_rrstream_first(rrstream_t *rs) +{ UNUSED(rs); return (ISC_R_SUCCESS); } static isc_result_t -soa_rrstream_next(rrstream_t *rs) { +soa_rrstream_next(rrstream_t *rs) +{ UNUSED(rs); return (ISC_R_NOMORE); } @@ -476,26 +477,24 @@ static void soa_rrstream_current(rrstream_t *rs, dns_name_t **name, uint32_t *ttl, dns_rdata_t **rdata) { - soa_rrstream_t *s = (soa_rrstream_t *) rs; + soa_rrstream_t *s = (soa_rrstream_t *)rs; *name = &s->soa_tuple->name; *ttl = s->soa_tuple->ttl; *rdata = &s->soa_tuple->rdata; } static void -soa_rrstream_destroy(rrstream_t **rsp) { - soa_rrstream_t *s = (soa_rrstream_t *) *rsp; +soa_rrstream_destroy(rrstream_t **rsp) +{ + soa_rrstream_t *s = (soa_rrstream_t *)*rsp; if (s->soa_tuple != NULL) dns_difftuple_free(&s->soa_tuple); isc_mem_putanddetach(&s->common.mctx, s, sizeof(*s)); } static rrstream_methods_t soa_rrstream_methods = { - soa_rrstream_first, - soa_rrstream_next, - soa_rrstream_current, - rrstream_noop_pause, - soa_rrstream_destroy + soa_rrstream_first, soa_rrstream_next, soa_rrstream_current, + rrstream_noop_pause, soa_rrstream_destroy }; /**************************************************************************/ @@ -510,10 +509,10 @@ static rrstream_methods_t soa_rrstream_methods = { */ typedef struct compound_rrstream { - rrstream_t common; - rrstream_t *components[3]; - int state; - isc_result_t result; + rrstream_t common; + rrstream_t * components[3]; + int state; + isc_result_t result; } compound_rrstream_t; /* @@ -560,13 +559,14 @@ compound_rrstream_create(isc_mem_t *mctx, rrstream_t **soa_stream, *data_stream = NULL; *soa_stream = NULL; - *sp = (rrstream_t *) s; + *sp = (rrstream_t *)s; return (ISC_R_SUCCESS); } static isc_result_t -compound_rrstream_first(rrstream_t *rs) { - compound_rrstream_t *s = (compound_rrstream_t *) rs; +compound_rrstream_first(rrstream_t *rs) +{ + compound_rrstream_t *s = (compound_rrstream_t *)rs; s->state = 0; do { rrstream_t *curstream = s->components[s->state]; @@ -576,9 +576,10 @@ compound_rrstream_first(rrstream_t *rs) { } static isc_result_t -compound_rrstream_next(rrstream_t *rs) { - compound_rrstream_t *s = (compound_rrstream_t *) rs; - rrstream_t *curstream = s->components[s->state]; +compound_rrstream_next(rrstream_t *rs) +{ + compound_rrstream_t *s = (compound_rrstream_t *)rs; + rrstream_t * curstream = s->components[s->state]; s->result = curstream->methods->next(curstream); while (s->result == ISC_R_NOMORE) { /* @@ -599,8 +600,8 @@ static void compound_rrstream_current(rrstream_t *rs, dns_name_t **name, uint32_t *ttl, dns_rdata_t **rdata) { - compound_rrstream_t *s = (compound_rrstream_t *) rs; - rrstream_t *curstream; + compound_rrstream_t *s = (compound_rrstream_t *)rs; + rrstream_t * curstream; INSIST(0 <= s->state && s->state < 3); INSIST(s->result == ISC_R_SUCCESS); curstream = s->components[s->state]; @@ -610,16 +611,17 @@ compound_rrstream_current(rrstream_t *rs, dns_name_t **name, uint32_t *ttl, static void compound_rrstream_pause(rrstream_t *rs) { - compound_rrstream_t *s = (compound_rrstream_t *) rs; - rrstream_t *curstream; + compound_rrstream_t *s = (compound_rrstream_t *)rs; + rrstream_t * curstream; INSIST(0 <= s->state && s->state < 3); curstream = s->components[s->state]; curstream->methods->pause(curstream); } static void -compound_rrstream_destroy(rrstream_t **rsp) { - compound_rrstream_t *s = (compound_rrstream_t *) *rsp; +compound_rrstream_destroy(rrstream_t **rsp) +{ + compound_rrstream_t *s = (compound_rrstream_t *)*rsp; s->components[0]->methods->destroy(&s->components[0]); s->components[1]->methods->destroy(&s->components[1]); s->components[2] = NULL; /* Copy of components[0]. */ @@ -627,10 +629,8 @@ compound_rrstream_destroy(rrstream_t **rsp) { } static rrstream_methods_t compound_rrstream_methods = { - compound_rrstream_first, - compound_rrstream_next, - compound_rrstream_current, - compound_rrstream_pause, + compound_rrstream_first, compound_rrstream_next, + compound_rrstream_current, compound_rrstream_pause, compound_rrstream_destroy }; @@ -640,11 +640,11 @@ static rrstream_methods_t compound_rrstream_methods = { * Structure holding outgoing transfer statistics */ struct xfr_stats { - uint64_t nmsg; /*%< Number of messages sent */ - uint64_t nrecs; /*%< Number of records sent */ - uint64_t nbytes; /*%< Number of bytes sent */ - isc_time_t start; /*%< Start time of the transfer */ - isc_time_t end; /*%< End time of the transfer */ + uint64_t nmsg; /*%< Number of messages sent */ + uint64_t nrecs; /*%< Number of records sent */ + uint64_t nbytes; /*%< Number of bytes sent */ + isc_time_t start; /*%< Start time of the transfer */ + isc_time_t end; /*%< End time of the transfer */ }; /*% @@ -652,46 +652,46 @@ struct xfr_stats { * in progress. */ typedef struct { - isc_mem_t *mctx; - ns_client_t *client; - unsigned int id; /* ID of request */ - dns_name_t *qname; /* Question name of request */ - dns_rdatatype_t qtype; /* dns_rdatatype_{a,i}xfr */ - dns_rdataclass_t qclass; - dns_zone_t *zone; /* (necessary for stats) */ - dns_db_t *db; - dns_dbversion_t *ver; - isc_quota_t *quota; - rrstream_t *stream; /* The XFR RR stream */ - bool question_added; /* QUESTION section sent? */ - bool end_of_stream; /* EOS has been reached */ - isc_buffer_t buf; /* Buffer for message owner - names and rdatas */ - isc_buffer_t txlenbuf; /* Transmit length buffer */ - isc_buffer_t txbuf; /* Transmit message buffer */ - size_t cbytes; /* Length of current message */ - void *txmem; - unsigned int txmemlen; - dns_tsigkey_t *tsigkey; /* Key used to create TSIG */ - isc_buffer_t *lasttsig; /* the last TSIG */ - bool verified_tsig; /* verified request MAC */ - bool many_answers; - int sends; /* Send in progress */ - bool shuttingdown; - bool poll; - const char *mnemonic; /* Style of transfer */ - struct xfr_stats stats; /*%< Transfer statistics */ + isc_mem_t * mctx; + ns_client_t * client; + unsigned int id; /* ID of request */ + dns_name_t * qname; /* Question name of request */ + dns_rdatatype_t qtype; /* dns_rdatatype_{a,i}xfr */ + dns_rdataclass_t qclass; + dns_zone_t * zone; /* (necessary for stats) */ + dns_db_t * db; + dns_dbversion_t *ver; + isc_quota_t * quota; + rrstream_t * stream; /* The XFR RR stream */ + bool question_added; /* QUESTION section sent? */ + bool end_of_stream; /* EOS has been reached */ + isc_buffer_t buf; /* Buffer for message owner + names and rdatas */ + isc_buffer_t txlenbuf; /* Transmit length buffer */ + isc_buffer_t txbuf; /* Transmit message buffer */ + size_t cbytes; /* Length of current message */ + void * txmem; + unsigned int txmemlen; + dns_tsigkey_t * tsigkey; /* Key used to create TSIG */ + isc_buffer_t * lasttsig; /* the last TSIG */ + bool verified_tsig; /* verified request MAC */ + bool many_answers; + int sends; /* Send in progress */ + bool shuttingdown; + bool poll; + const char * mnemonic; /* Style of transfer */ + struct xfr_stats stats; /*%< Transfer statistics */ } xfrout_ctx_t; static void -xfrout_ctx_create(isc_mem_t *mctx, ns_client_t *client, - unsigned int id, dns_name_t *qname, dns_rdatatype_t qtype, - dns_rdataclass_t qclass, dns_zone_t *zone, - dns_db_t *db, dns_dbversion_t *ver, isc_quota_t *quota, - rrstream_t *stream, dns_tsigkey_t *tsigkey, - isc_buffer_t *lasttsig, bool verified_tsig, - unsigned int maxtime, unsigned int idletime, - bool many_answers, xfrout_ctx_t **xfrp); +xfrout_ctx_create(isc_mem_t *mctx, ns_client_t *client, unsigned int id, + dns_name_t *qname, dns_rdatatype_t qtype, + dns_rdataclass_t qclass, dns_zone_t *zone, dns_db_t *db, + dns_dbversion_t *ver, isc_quota_t *quota, rrstream_t *stream, + dns_tsigkey_t *tsigkey, isc_buffer_t *lasttsig, + bool verified_tsig, unsigned int maxtime, + unsigned int idletime, bool many_answers, + xfrout_ctx_t **xfrp); static void sendstream(xfrout_ctx_t *xfr); @@ -712,50 +712,50 @@ static void xfrout_client_shutdown(void *arg, isc_result_t result); static void -xfrout_log1(ns_client_t *client, dns_name_t *zonename, - dns_rdataclass_t rdclass, int level, - const char *fmt, ...) ISC_FORMAT_PRINTF(5, 6); +xfrout_log1(ns_client_t *client, dns_name_t *zonename, dns_rdataclass_t rdclass, + int level, const char *fmt, ...) ISC_FORMAT_PRINTF(5, 6); static void xfrout_log(xfrout_ctx_t *xfr, int level, const char *fmt, ...) - ISC_FORMAT_PRINTF(3, 4); + ISC_FORMAT_PRINTF(3, 4); /**************************************************************************/ void -ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) { - isc_result_t result; - dns_name_t *question_name; - dns_rdataset_t *question_rdataset; - dns_zone_t *zone = NULL, *raw = NULL, *mayberaw; - dns_db_t *db = NULL; - dns_dbversion_t *ver = NULL; - dns_rdataclass_t question_class; - rrstream_t *soa_stream = NULL; - rrstream_t *data_stream = NULL; - rrstream_t *stream = NULL; - dns_difftuple_t *current_soa_tuple = NULL; - dns_name_t *soa_name; - dns_rdataset_t *soa_rdataset; - dns_rdata_t soa_rdata = DNS_RDATA_INIT; - bool have_soa = false; - const char *mnemonic = NULL; - isc_mem_t *mctx = client->mctx; - dns_message_t *request = client->message; - xfrout_ctx_t *xfr = NULL; - isc_quota_t *quota = NULL; +ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) +{ + isc_result_t result; + dns_name_t * question_name; + dns_rdataset_t * question_rdataset; + dns_zone_t * zone = NULL, *raw = NULL, *mayberaw; + dns_db_t * db = NULL; + dns_dbversion_t * ver = NULL; + dns_rdataclass_t question_class; + rrstream_t * soa_stream = NULL; + rrstream_t * data_stream = NULL; + rrstream_t * stream = NULL; + dns_difftuple_t * current_soa_tuple = NULL; + dns_name_t * soa_name; + dns_rdataset_t * soa_rdataset; + dns_rdata_t soa_rdata = DNS_RDATA_INIT; + bool have_soa = false; + const char * mnemonic = NULL; + isc_mem_t * mctx = client->mctx; + dns_message_t * request = client->message; + xfrout_ctx_t * xfr = NULL; + isc_quota_t * quota = NULL; dns_transfer_format_t format = client->view->transfer_format; - isc_netaddr_t na; - dns_peer_t *peer = NULL; - isc_buffer_t *tsigbuf = NULL; - char *journalfile; - char msg[NS_CLIENT_ACLMSGSIZE("zone transfer")]; - char keyname[DNS_NAME_FORMATSIZE]; - bool is_poll = false; - bool is_dlz = false; - bool is_ixfr = false; - bool useviewacl = false; - uint32_t begin_serial = 0, current_serial; + isc_netaddr_t na; + dns_peer_t * peer = NULL; + isc_buffer_t * tsigbuf = NULL; + char * journalfile; + char msg[NS_CLIENT_ACLMSGSIZE("zone transfer")]; + char keyname[DNS_NAME_FORMATSIZE]; + bool is_poll = false; + bool is_dlz = false; + bool is_ixfr = false; + bool useviewacl = false; + uint32_t begin_serial = 0, current_serial; switch (reqtype) { case dns_rdatatype_axfr: @@ -769,8 +769,7 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) { ISC_UNREACHABLE(); } - ns_client_log(client, - DNS_LOGCATEGORY_XFER_OUT, NS_LOGMODULE_XFER_OUT, + ns_client_log(client, DNS_LOGCATEGORY_XFER_OUT, NS_LOGMODULE_XFER_OUT, ISC_LOG_DEBUG(6), "%s request", mnemonic); /* * Apply quota. @@ -815,11 +814,10 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) { * marked in the zone table as a DLZ zone. Check the DLZ * databases for a match. */ - if (! ISC_LIST_EMPTY(client->view->dlz_searched)) { + if (!ISC_LIST_EMPTY(client->view->dlz_searched)) { result = dns_dlzallowzonexfr(client->view, question_name, - &client->peeraddr, - &db); + &client->peeraddr, &db); if (result == ISC_R_DEFAULT) { useviewacl = true; result = ISC_R_SUCCESS; @@ -831,8 +829,8 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) { result = DNS_R_REFUSED; dns_name_format(question_name, _buf1, sizeof(_buf1)); - dns_rdataclass_format(question_class, - _buf2, sizeof(_buf2)); + dns_rdataclass_format(question_class, _buf2, + sizeof(_buf2)); ns_client_log(client, DNS_LOGCATEGORY_SECURITY, NS_LOGMODULE_XFER_OUT, ISC_LOG_ERROR, @@ -855,19 +853,19 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) { } } else { /* zone table has a match */ - switch(dns_zone_gettype(zone)) { - /* - * Master, slave, and mirror zones are OK for transfer. - */ - case dns_zone_master: - case dns_zone_slave: - case dns_zone_mirror: - case dns_zone_dlz: - break; - default: - FAILQ(DNS_R_NOTAUTH, "non-authoritative zone", - question_name, question_class); - } + switch (dns_zone_gettype(zone)) { + /* + * Master, slave, and mirror zones are OK for transfer. + */ + case dns_zone_master: + case dns_zone_slave: + case dns_zone_mirror: + case dns_zone_dlz: + break; + default: + FAILQ(DNS_R_NOTAUTH, "non-authoritative zone", + question_name, question_class); + } CHECK(dns_zone_getdb(zone, &db)); dns_db_currentversion(db, &ver); } @@ -881,8 +879,7 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) { */ for (result = dns_message_firstname(request, DNS_SECTION_AUTHORITY); result == ISC_R_SUCCESS; - result = dns_message_nextname(request, DNS_SECTION_AUTHORITY)) - { + result = dns_message_nextname(request, DNS_SECTION_AUTHORITY)) { soa_name = NULL; dns_message_currentname(request, DNS_SECTION_AUTHORITY, &soa_name); @@ -890,14 +887,13 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) { /* * Ignore data whose owner name is not the zone apex. */ - if (! dns_name_equal(soa_name, question_name)) { + if (!dns_name_equal(soa_name, question_name)) { continue; } for (soa_rdataset = ISC_LIST_HEAD(soa_name->list); soa_rdataset != NULL; - soa_rdataset = ISC_LIST_NEXT(soa_rdataset, link)) - { + soa_rdataset = ISC_LIST_NEXT(soa_rdataset, link)) { /* * Ignore non-SOA data. */ @@ -912,15 +908,14 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) { dns_rdataset_current(soa_rdataset, &soa_rdata); result = dns_rdataset_next(soa_rdataset); if (result == ISC_R_SUCCESS) { - FAILC(DNS_R_FORMERR, - "IXFR authority section " - "has multiple SOAs"); + FAILC(DNS_R_FORMERR, "IXFR authority section " + "has multiple SOAs"); } have_soa = true; goto got_soa; } } - got_soa: +got_soa: if (result != ISC_R_NOMORE) { CHECK(result); } @@ -988,17 +983,16 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) { provide_ixfr = client->view->provideixfr; if (peer != NULL) { - (void) dns_peer_getprovideixfr(peer, - &provide_ixfr); + (void)dns_peer_getprovideixfr(peer, + &provide_ixfr); } if (provide_ixfr == false) { goto axfr_fallback; } } - if (! have_soa) { - FAILC(DNS_R_FORMERR, - "IXFR request missing SOA"); + if (!have_soa) { + FAILC(DNS_R_FORMERR, "IXFR request missing SOA"); } begin_serial = dns_soa_getserial(&soa_rdata); @@ -1015,19 +1009,16 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) { * IXFR over UDP (currently, we always do). */ if (DNS_SERIAL_GE(begin_serial, current_serial) || - (client->attributes & NS_CLIENTATTR_TCP) == 0) - { + (client->attributes & NS_CLIENTATTR_TCP) == 0) { CHECK(soa_rrstream_create(mctx, db, ver, &stream)); is_poll = true; goto have_stream; } journalfile = is_dlz ? NULL : dns_zone_getjournal(zone); if (journalfile != NULL) { - result = ixfr_rrstream_create(mctx, - journalfile, - begin_serial, - current_serial, - &data_stream); + result = ixfr_rrstream_create( + mctx, journalfile, begin_serial, current_serial, + &data_stream); } else { result = ISC_R_NOTFOUND; } @@ -1055,36 +1046,28 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) { soa_stream = NULL; data_stream = NULL; - have_stream: +have_stream: CHECK(dns_message_getquerytsig(request, mctx, &tsigbuf)); /* * Create the xfrout context object. This transfers the ownership * of "stream", "db", "ver", and "quota" to the xfrout context object. */ - - if (is_dlz) { - xfrout_ctx_create(mctx, client, request->id, - question_name, reqtype, question_class, - zone, db, ver, quota, stream, - dns_message_gettsigkey(request), - tsigbuf, request->verified_sig, - 3600, 3600, - (format == dns_many_answers) - ? true : false, + xfrout_ctx_create(mctx, client, request->id, question_name, + reqtype, question_class, zone, db, ver, quota, + stream, dns_message_gettsigkey(request), + tsigbuf, request->verified_sig, 3600, 3600, + (format == dns_many_answers) ? true : false, &xfr); } else { - xfrout_ctx_create(mctx, client, request->id, - question_name, reqtype, question_class, - zone, db, ver, quota, stream, - dns_message_gettsigkey(request), - tsigbuf, request->verified_sig, - dns_zone_getmaxxfrout(zone), - dns_zone_getidleout(zone), - (format == dns_many_answers) - ? true : false, - &xfr); + xfrout_ctx_create( + mctx, client, request->id, question_name, reqtype, + question_class, zone, db, ver, quota, stream, + dns_message_gettsigkey(request), tsigbuf, + request->verified_sig, dns_zone_getmaxxfrout(zone), + dns_zone_getidleout(zone), + (format == dns_many_answers) ? true : false, &xfr); } xfr->mnemonic = mnemonic; @@ -1105,27 +1088,25 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) { ISC_LOG_DEBUG(1), "IXFR poll up to date%s%s", (xfr->tsigkey != NULL) ? ": TSIG " : "", keyname); } else if (is_ixfr) { - xfrout_log1(client, question_name, question_class, - ISC_LOG_INFO, "%s started%s%s (serial %u -> %u)", - mnemonic, (xfr->tsigkey != NULL) ? ": TSIG " : "", - keyname, begin_serial, current_serial); + xfrout_log1(client, question_name, question_class, ISC_LOG_INFO, + "%s started%s%s (serial %u -> %u)", mnemonic, + (xfr->tsigkey != NULL) ? ": TSIG " : "", keyname, + begin_serial, current_serial); } else { - xfrout_log1(client, question_name, question_class, - ISC_LOG_INFO, "%s started%s%s (serial %u)", - mnemonic, (xfr->tsigkey != NULL) ? ": TSIG " : "", - keyname, current_serial); + xfrout_log1(client, question_name, question_class, ISC_LOG_INFO, + "%s started%s%s (serial %u)", mnemonic, + (xfr->tsigkey != NULL) ? ": TSIG " : "", keyname, + current_serial); } - if (zone != NULL) { dns_zone_getraw(zone, &raw); mayberaw = (raw != NULL) ? raw : zone; if ((client->attributes & NS_CLIENTATTR_WANTEXPIRE) != 0 && (dns_zone_gettype(mayberaw) == dns_zone_slave || - dns_zone_gettype(mayberaw) == dns_zone_mirror)) - { + dns_zone_gettype(mayberaw) == dns_zone_mirror)) { isc_time_t expiretime; - uint32_t secs; + uint32_t secs; dns_zone_getexpiretime(zone, &expiretime); secs = isc_time_seconds(&expiretime); if (secs >= client->now && result == ISC_R_SUCCESS) { @@ -1148,7 +1129,7 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) { result = ISC_R_SUCCESS; - failure: +failure: if (result == DNS_R_REFUSED) { inc_stats(client, zone, ns_statscounter_xfrrej); } @@ -1181,8 +1162,8 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) { xfrout_fail(xfr, result, "setting up zone transfer"); } else if (result != ISC_R_SUCCESS) { ns_client_log(client, DNS_LOGCATEGORY_XFER_OUT, - NS_LOGMODULE_XFER_OUT, - ISC_LOG_DEBUG(3), "zone transfer setup failed"); + NS_LOGMODULE_XFER_OUT, ISC_LOG_DEBUG(3), + "zone transfer setup failed"); ns_client_error(client, result); isc_nmhandle_unref(client->handle); } @@ -1191,16 +1172,15 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) { static void xfrout_ctx_create(isc_mem_t *mctx, ns_client_t *client, unsigned int id, dns_name_t *qname, dns_rdatatype_t qtype, - dns_rdataclass_t qclass, dns_zone_t *zone, - dns_db_t *db, dns_dbversion_t *ver, isc_quota_t *quota, - rrstream_t *stream, dns_tsigkey_t *tsigkey, - isc_buffer_t *lasttsig, bool verified_tsig, - unsigned int maxtime, unsigned int idletime, - bool many_answers, xfrout_ctx_t **xfrp) + dns_rdataclass_t qclass, dns_zone_t *zone, dns_db_t *db, + dns_dbversion_t *ver, isc_quota_t *quota, rrstream_t *stream, + dns_tsigkey_t *tsigkey, isc_buffer_t *lasttsig, + bool verified_tsig, unsigned int maxtime, + unsigned int idletime, bool many_answers, xfrout_ctx_t **xfrp) { xfrout_ctx_t *xfr; - unsigned int len; - void *mem; + unsigned int len; + void * mem; REQUIRE(xfrp != NULL && *xfrp == NULL); @@ -1218,7 +1198,7 @@ xfrout_ctx_create(isc_mem_t *mctx, ns_client_t *client, unsigned int id, xfr->zone = NULL; xfr->db = NULL; xfr->ver = NULL; - if (zone != NULL) /* zone will be NULL if it's DLZ */ + if (zone != NULL) /* zone will be NULL if it's DLZ */ dns_zone_attach(zone, &xfr->zone); dns_db_attach(db, &xfr->db); dns_db_attachversion(db, ver, &xfr->ver); @@ -1265,7 +1245,7 @@ xfrout_ctx_create(isc_mem_t *mctx, ns_client_t *client, unsigned int id, len = 2 + 65535; mem = isc_mem_get(mctx, len); isc_buffer_init(&xfr->txlenbuf, mem, 2); - isc_buffer_init(&xfr->txbuf, (char *) mem + 2, len - 2); + isc_buffer_init(&xfr->txbuf, (char *)mem + 2, len - 2); xfr->txmem = mem; xfr->txmemlen = len; @@ -1300,19 +1280,20 @@ xfrout_ctx_create(isc_mem_t *mctx, ns_client_t *client, unsigned int id, * _first method of the iterator has been called). */ static void -sendstream(xfrout_ctx_t *xfr) { - dns_message_t *tcpmsg = NULL; - dns_message_t *msg = NULL; /* Client message if UDP, tcpmsg if TCP */ - isc_result_t result; - dns_rdataset_t *qrdataset; - dns_name_t *msgname = NULL; - dns_rdata_t *msgrdata = NULL; +sendstream(xfrout_ctx_t *xfr) +{ + dns_message_t * tcpmsg = NULL; + dns_message_t * msg = NULL; /* Client message if UDP, tcpmsg if TCP */ + isc_result_t result; + dns_rdataset_t * qrdataset; + dns_name_t * msgname = NULL; + dns_rdata_t * msgrdata = NULL; dns_rdatalist_t *msgrdl = NULL; - dns_rdataset_t *msgrds = NULL; - dns_compress_t cctx; - bool cleanup_cctx = false; - bool is_tcp; - int n_rrs; + dns_rdataset_t * msgrds = NULL; + dns_compress_t cctx; + bool cleanup_cctx = false; + bool is_tcp; + int n_rrs; isc_buffer_clear(&xfr->buf); isc_buffer_clear(&xfr->txlenbuf); @@ -1335,8 +1316,8 @@ sendstream(xfrout_ctx_t *xfr) { * message. */ - CHECK(dns_message_create(xfr->mctx, - DNS_MESSAGE_INTENTRENDER, &tcpmsg)); + CHECK(dns_message_create(xfr->mctx, DNS_MESSAGE_INTENTRENDER, + &tcpmsg)); msg = tcpmsg; msg->id = xfr->id; @@ -1378,7 +1359,7 @@ sendstream(xfrout_ctx_t *xfr) { * have a question section. */ if (!xfr->question_added) { - dns_name_t *qname = NULL; + dns_name_t * qname = NULL; isc_region_t r; /* @@ -1392,8 +1373,8 @@ sendstream(xfrout_ctx_t *xfr) { if (result != ISC_R_SUCCESS) goto failure; dns_rdataset_makequestion(qrdataset, - xfr->client->message->rdclass, - xfr->qtype); + xfr->client->message->rdclass, + xfr->qtype); result = dns_message_gettempname(msg, &qname); if (result != ISC_R_SUCCESS) @@ -1423,9 +1404,9 @@ sendstream(xfrout_ctx_t *xfr) { * Try to fit in as many RRs as possible, unless "one-answer" * format has been requested. */ - for (n_rrs = 0; ; n_rrs++) { - dns_name_t *name = NULL; - uint32_t ttl; + for (n_rrs = 0;; n_rrs++) { + dns_name_t * name = NULL; + uint32_t ttl; dns_rdata_t *rdata = NULL; unsigned int size; @@ -1436,8 +1417,7 @@ sendstream(xfrout_ctx_t *xfr) { msgrdl = NULL; msgrds = NULL; - xfr->stream->methods->current(xfr->stream, - &name, &ttl, &rdata); + xfr->stream->methods->current(xfr->stream, &name, &ttl, &rdata); size = name->length + 10 + rdata->length; isc_buffer_availableregion(&xfr->buf, &r); if (size >= r.length) { @@ -1456,7 +1436,8 @@ sendstream(xfrout_ctx_t *xfr) { if (n_rrs == 0) { xfrout_log(xfr, ISC_LOG_WARNING, "RR too large for zone transfer " - "(%d bytes)", size); + "(%d bytes)", + size); /* XXX DNS_R_RRTOOLARGE? */ result = ISC_R_NOSPACE; goto failure; @@ -1487,8 +1468,7 @@ sendstream(xfrout_ctx_t *xfr) { r.length = rdata->length; isc_buffer_putmem(&xfr->buf, rdata->data, rdata->length); dns_rdata_init(msgrdata); - dns_rdata_fromregion(msgrdata, - rdata->rdclass, rdata->type, &r); + dns_rdata_fromregion(msgrdata, rdata->rdclass, rdata->type, &r); result = dns_message_gettemprdatalist(msg, &msgrdl); if (result != ISC_R_SUCCESS) @@ -1523,7 +1503,7 @@ sendstream(xfrout_ctx_t *xfr) { } CHECK(result); - if (! xfr->many_answers) + if (!xfr->many_answers) break; /* * At this stage, at least 1 RR has been rendered into @@ -1531,7 +1511,8 @@ sendstream(xfrout_ctx_t *xfr) { * here (TCP only). */ if ((isc_buffer_usedlength(&xfr->buf) >= - xfr->client->sctx->transfer_tcp_message_size) && is_tcp) + xfr->client->sctx->transfer_tcp_message_size) && + is_tcp) break; } @@ -1550,11 +1531,10 @@ sendstream(xfrout_ctx_t *xfr) { isc_buffer_usedregion(&xfr->txbuf, &used); xfrout_log(xfr, ISC_LOG_DEBUG(8), - "sending TCP message of %d bytes", - used.length); + "sending TCP message of %d bytes", used.length); - CHECK(isc_nm_send(xfr->client->handle, &used, - xfrout_senddone, xfr)); + CHECK(isc_nm_send(xfr->client->handle, &used, xfrout_senddone, + xfr)); xfr->sends++; xfr->cbytes = used.length; } else { @@ -1569,7 +1549,7 @@ sendstream(xfrout_ctx_t *xfr) { /* Advance lasttsig to be the last TSIG generated */ CHECK(dns_message_getquerytsig(msg, xfr->mctx, &xfr->lasttsig)); - failure: +failure: if (msgname != NULL) { if (msgrds != NULL) { if (dns_rdataset_isassociated(msgrds)) @@ -1603,7 +1583,8 @@ sendstream(xfrout_ctx_t *xfr) { } static void -xfrout_ctx_destroy(xfrout_ctx_t **xfrp) { +xfrout_ctx_destroy(xfrout_ctx_t **xfrp) +{ xfrout_ctx_t *xfr = *xfrp; *xfrp = NULL; @@ -1633,7 +1614,8 @@ xfrout_ctx_destroy(xfrout_ctx_t **xfrp) { } static void -xfrout_senddone(isc_nmhandle_t *handle, isc_result_t result, void *arg) { +xfrout_senddone(isc_nmhandle_t *handle, isc_result_t result, void *arg) +{ xfrout_ctx_t *xfr = (xfrout_ctx_t *)arg; REQUIRE((xfr->client->attributes & NS_CLIENTATTR_TCP) != 0); @@ -1679,12 +1661,9 @@ xfrout_senddone(isc_nmhandle_t *handle, isc_result_t result, void *arg) { "%" PRIu64 " messages, %" PRIu64 " records, " "%" PRIu64 " bytes, " "%u.%03u secs (%u bytes/sec)", - xfr->mnemonic, - xfr->stats.nmsg, xfr->stats.nrecs, - xfr->stats.nbytes, - (unsigned int) (msecs / 1000), - (unsigned int) (msecs % 1000), - (unsigned int) persec); + xfr->mnemonic, xfr->stats.nmsg, xfr->stats.nrecs, + xfr->stats.nbytes, (unsigned int)(msecs / 1000), + (unsigned int)(msecs % 1000), (unsigned int)persec); xfrout_ctx_destroy(&xfr); /* We're done, unreference the handle */ @@ -1693,15 +1672,17 @@ xfrout_senddone(isc_nmhandle_t *handle, isc_result_t result, void *arg) { } static void -xfrout_fail(xfrout_ctx_t *xfr, isc_result_t result, const char *msg) { +xfrout_fail(xfrout_ctx_t *xfr, isc_result_t result, const char *msg) +{ xfr->shuttingdown = true; - xfrout_log(xfr, ISC_LOG_ERROR, "%s: %s", - msg, isc_result_totext(result)); + xfrout_log(xfr, ISC_LOG_ERROR, "%s: %s", msg, + isc_result_totext(result)); xfrout_maybe_destroy(xfr); } static void -xfrout_maybe_destroy(xfrout_ctx_t *xfr) { +xfrout_maybe_destroy(xfrout_ctx_t *xfr) +{ INSIST(xfr->shuttingdown == true); #if 0 if (xfr->sends > 0) { @@ -1713,17 +1694,18 @@ xfrout_maybe_destroy(xfrout_ctx_t *xfr) { ISC_SOCKCANCEL_SEND); } else { #endif - ns_client_drop(xfr->client, ISC_R_CANCELED); - isc_nmhandle_unref(xfr->client->handle); - xfrout_ctx_destroy(&xfr); + ns_client_drop(xfr->client, ISC_R_CANCELED); + isc_nmhandle_unref(xfr->client->handle); + xfrout_ctx_destroy(&xfr); #if 0 } #endif } static void -xfrout_client_shutdown(void *arg, isc_result_t result) { - xfrout_ctx_t *xfr = (xfrout_ctx_t *) arg; +xfrout_client_shutdown(void *arg, isc_result_t result) +{ + xfrout_ctx_t *xfr = (xfrout_ctx_t *)arg; xfrout_fail(xfr, result, "aborted"); } @@ -1733,13 +1715,12 @@ xfrout_client_shutdown(void *arg, isc_result_t result) { */ static void -xfrout_logv(ns_client_t *client, dns_name_t *zonename, - dns_rdataclass_t rdclass, int level, const char *fmt, va_list ap) - ISC_FORMAT_PRINTF(5, 0); +xfrout_logv(ns_client_t *client, dns_name_t *zonename, dns_rdataclass_t rdclass, + int level, const char *fmt, va_list ap) ISC_FORMAT_PRINTF(5, 0); static void -xfrout_logv(ns_client_t *client, dns_name_t *zonename, - dns_rdataclass_t rdclass, int level, const char *fmt, va_list ap) +xfrout_logv(ns_client_t *client, dns_name_t *zonename, dns_rdataclass_t rdclass, + int level, const char *fmt, va_list ap) { char msgbuf[2048]; char namebuf[DNS_NAME_FORMATSIZE]; @@ -1748,17 +1729,18 @@ xfrout_logv(ns_client_t *client, dns_name_t *zonename, dns_name_format(zonename, namebuf, sizeof(namebuf)); dns_rdataclass_format(rdclass, classbuf, sizeof(classbuf)); vsnprintf(msgbuf, sizeof(msgbuf), fmt, ap); - ns_client_log(client, DNS_LOGCATEGORY_XFER_OUT, - NS_LOGMODULE_XFER_OUT, level, - "transfer of '%s/%s': %s", namebuf, classbuf, msgbuf); + ns_client_log(client, DNS_LOGCATEGORY_XFER_OUT, NS_LOGMODULE_XFER_OUT, + level, "transfer of '%s/%s': %s", namebuf, classbuf, + msgbuf); } /* * Logging function for use when a xfrout_ctx_t has not yet been created. */ static void -xfrout_log1(ns_client_t *client, dns_name_t *zonename, - dns_rdataclass_t rdclass, int level, const char *fmt, ...) { +xfrout_log1(ns_client_t *client, dns_name_t *zonename, dns_rdataclass_t rdclass, + int level, const char *fmt, ...) +{ va_list ap; va_start(ap, fmt); xfrout_logv(client, zonename, rdclass, level, fmt, ap); @@ -1769,7 +1751,8 @@ xfrout_log1(ns_client_t *client, dns_name_t *zonename, * Logging function for use when there is a xfrout_ctx_t. */ static void -xfrout_log(xfrout_ctx_t *xfr, int level, const char *fmt, ...) { +xfrout_log(xfrout_ctx_t *xfr, int level, const char *fmt, ...) +{ va_list ap; va_start(ap, fmt); xfrout_logv(xfr->client, xfr->qname, xfr->qclass, level, fmt, ap); diff --git a/lib/samples/nsprobe.c b/lib/samples/nsprobe.c index 2c6b5c6abe..5ff723ca16 100644 --- a/lib/samples/nsprobe.c +++ b/lib/samples/nsprobe.c @@ -10,11 +10,11 @@ */ #ifndef WIN32 -#include -#include - -#include #include +#include + +#include +#include #endif #include @@ -28,8 +28,8 @@ #include #include #include -#include #include +#include #include #include #include @@ -49,12 +49,12 @@ #define MAX_PROBES 1000 static dns_client_t *client = NULL; -static isc_task_t *probe_task = NULL; +static isc_task_t * probe_task = NULL; static isc_appctx_t *actx = NULL; -static isc_mem_t *mctx = NULL; -static unsigned int outstanding_probes = 0; -const char *cacheserver = "127.0.0.1"; -static FILE *input; +static isc_mem_t * mctx = NULL; +static unsigned int outstanding_probes = 0; +const char * cacheserver = "127.0.0.1"; +static FILE * input; typedef enum { none, @@ -82,21 +82,21 @@ struct probe_ns { ISC_LINK(struct probe_ns) link; dns_fixedname_t fixedname; - dns_name_t *name; - struct server *current_server; + dns_name_t * name; + struct server * current_server; ISC_LIST(struct server) servers; }; struct probe_trans { - bool inuse; - char *domain; - dns_fixedname_t fixedname; - dns_name_t *qname; - const char **qlabel; - bool qname_found; + bool inuse; + char * domain; + dns_fixedname_t fixedname; + dns_name_t * qname; + const char ** qlabel; + bool qname_found; dns_clientrestrans_t *resid; - dns_message_t *qmessage; - dns_message_t *rmessage; + dns_message_t * qmessage; + dns_message_t * rmessage; dns_clientreqtrans_t *reqid; /* NS list */ @@ -116,27 +116,31 @@ struct lcl_stat { unsigned long unknown; } server_stat, domain_stat; -static unsigned long number_of_domains = 0; -static unsigned long number_of_servers = 0; -static unsigned long multiple_error_domains = 0; -static bool debug_mode = false; -static int verbose_level = 0; -static const char *qlabels[] = {"www.", "ftp.", NULL}; +static unsigned long number_of_domains = 0; +static unsigned long number_of_servers = 0; +static unsigned long multiple_error_domains = 0; +static bool debug_mode = false; +static int verbose_level = 0; +static const char * qlabels[] = { "www.", "ftp.", NULL }; static struct probe_trans probes[MAX_PROBES]; -static isc_result_t probe_domain(struct probe_trans *trans); -static void reset_probe(struct probe_trans *trans); -static isc_result_t fetch_nsaddress(struct probe_trans *trans); -static isc_result_t probe_name(struct probe_trans *trans, - dns_rdatatype_t type); +static isc_result_t +probe_domain(struct probe_trans *trans); +static void +reset_probe(struct probe_trans *trans); +static isc_result_t +fetch_nsaddress(struct probe_trans *trans); +static isc_result_t +probe_name(struct probe_trans *trans, dns_rdatatype_t type); /* Dump an rdataset for debug */ static isc_result_t -print_rdataset(dns_rdataset_t *rdataset, dns_name_t *owner) { +print_rdataset(dns_rdataset_t *rdataset, dns_name_t *owner) +{ isc_buffer_t target; isc_result_t result; isc_region_t r; - char t[4096]; + char t[4096]; if (!debug_mode) return (ISC_R_SUCCESS); @@ -145,8 +149,7 @@ print_rdataset(dns_rdataset_t *rdataset, dns_name_t *owner) { if (!dns_rdataset_isassociated(rdataset)) return (ISC_R_SUCCESS); - result = dns_rdataset_totext(rdataset, owner, false, false, - &target); + result = dns_rdataset_totext(rdataset, owner, false, false, &target); if (result != ISC_R_SUCCESS) return (result); isc_buffer_usedregion(&target, &r); @@ -156,11 +159,12 @@ print_rdataset(dns_rdataset_t *rdataset, dns_name_t *owner) { } static isc_result_t -print_name(dns_name_t *name) { +print_name(dns_name_t *name) +{ isc_result_t result; isc_buffer_t target; isc_region_t r; - char t[4096]; + char t[4096]; isc_buffer_init(&target, t, sizeof(t)); result = dns_name_totext(name, true, &target); @@ -174,11 +178,12 @@ print_name(dns_name_t *name) { } static isc_result_t -print_address(FILE *fp, isc_sockaddr_t *addr) { +print_address(FILE *fp, isc_sockaddr_t *addr) +{ char buf[NI_MAXHOST]; - if (getnameinfo(&addr->type.sa, addr->length, buf, sizeof(buf), - NULL, 0, NI_NUMERICHOST) == 0) { + if (getnameinfo(&addr->type.sa, addr->length, buf, sizeof(buf), NULL, 0, + NI_NUMERICHOST) == 0) { fprintf(fp, "%s", buf); } else { fprintf(fp, "(invalid address)"); @@ -188,9 +193,8 @@ print_address(FILE *fp, isc_sockaddr_t *addr) { } static void -ctxs_destroy(isc_mem_t **mctxp, isc_appctx_t **actxp, - isc_taskmgr_t **taskmgrp, isc_socketmgr_t **socketmgrp, - isc_timermgr_t **timermgrp) +ctxs_destroy(isc_mem_t **mctxp, isc_appctx_t **actxp, isc_taskmgr_t **taskmgrp, + isc_socketmgr_t **socketmgrp, isc_timermgr_t **timermgrp) { if (*taskmgrp != NULL) isc_taskmgr_destroy(taskmgrp); @@ -209,9 +213,8 @@ ctxs_destroy(isc_mem_t **mctxp, isc_appctx_t **actxp, } static isc_result_t -ctxs_init(isc_mem_t **mctxp, isc_appctx_t **actxp, - isc_taskmgr_t **taskmgrp, isc_socketmgr_t **socketmgrp, - isc_timermgr_t **timermgrp) +ctxs_init(isc_mem_t **mctxp, isc_appctx_t **actxp, isc_taskmgr_t **taskmgrp, + isc_socketmgr_t **socketmgrp, isc_timermgr_t **timermgrp) { isc_result_t result; @@ -235,7 +238,7 @@ ctxs_init(isc_mem_t **mctxp, isc_appctx_t **actxp, return (ISC_R_SUCCESS); - fail: +fail: ctxs_destroy(mctxp, actxp, taskmgrp, socketmgrp, timermgrp); return (result); @@ -248,9 +251,9 @@ static isc_result_t make_querymessage(dns_message_t *message, dns_name_t *qname0, dns_rdatatype_t rdtype) { - dns_name_t *qname = NULL; + dns_name_t * qname = NULL; dns_rdataset_t *qrdataset = NULL; - isc_result_t result; + isc_result_t result; message->opcode = dns_opcode_query; message->rdclass = dns_rdataclass_in; @@ -271,7 +274,7 @@ make_querymessage(dns_message_t *message, dns_name_t *qname0, return (ISC_R_SUCCESS); - cleanup: +cleanup: if (qname != NULL) dns_message_puttempname(message, &qname); if (qrdataset != NULL) @@ -283,18 +286,20 @@ make_querymessage(dns_message_t *message, dns_name_t *qname0, * Update statistics */ static inline void -increment_entry(unsigned long *entryp) { +increment_entry(unsigned long *entryp) +{ (*entryp)++; - INSIST(*entryp != 0U); /* check overflow */ + INSIST(*entryp != 0U); /* check overflow */ } static void -update_stat(struct probe_trans *trans) { +update_stat(struct probe_trans *trans) +{ struct probe_ns *pns; - struct server *server; - struct lcl_stat local_stat; - unsigned int err_count = 0; - const char *stattype; + struct server * server; + struct lcl_stat local_stat; + unsigned int err_count = 0; + const char * stattype; increment_entry(&number_of_domains); memset(&local_stat, 0, sizeof(local_stat)); @@ -340,18 +345,24 @@ update_stat(struct probe_trans *trans) { break; case multiplesoa: stattype = "multiplesoa"; - increment_entry(&server_stat.multiplesoa); - increment_entry(&local_stat.multiplesoa); + increment_entry( + &server_stat.multiplesoa); + increment_entry( + &local_stat.multiplesoa); break; case multiplecname: stattype = "multiplecname"; - increment_entry(&server_stat.multiplecname); - increment_entry(&local_stat.multiplecname); + increment_entry( + &server_stat.multiplecname); + increment_entry( + &local_stat.multiplecname); break; case brokenanswer: stattype = "brokenanswer"; - increment_entry(&server_stat.brokenanswer); - increment_entry(&local_stat.brokenanswer); + increment_entry( + &server_stat.brokenanswer); + increment_entry( + &local_stat.brokenanswer); break; case lame: stattype = "lame"; @@ -456,11 +467,12 @@ update_stat(struct probe_trans *trans) { */ static isc_result_t -set_nextqname(struct probe_trans *trans) { +set_nextqname(struct probe_trans *trans) +{ isc_result_t result; unsigned int domainlen; isc_buffer_t b; - char buf[4096]; /* XXX ad-hoc constant, but should be enough */ + char buf[4096]; /* XXX ad-hoc constant, but should be enough */ if (*trans->qlabel == NULL) { return (ISC_R_NOMORE); @@ -470,15 +482,15 @@ set_nextqname(struct probe_trans *trans) { return ISC_R_NOSPACE; } - if ((domainlen = strlcat(buf, trans->domain, sizeof(buf))) >= sizeof(buf)) { + if ((domainlen = strlcat(buf, trans->domain, sizeof(buf))) >= + sizeof(buf)) { return ISC_R_NOSPACE; } isc_buffer_init(&b, buf, domainlen); isc_buffer_add(&b, domainlen); trans->qname = dns_fixedname_initname(&trans->fixedname); - result = dns_name_fromtext(trans->qname, &b, dns_rootname, - 0, NULL); + result = dns_name_fromtext(trans->qname, &b, dns_rootname, 0, NULL); trans->qlabel++; @@ -486,17 +498,18 @@ set_nextqname(struct probe_trans *trans) { } static void -request_done(isc_task_t *task, isc_event_t *event) { - struct probe_trans *trans = event->ev_arg; +request_done(isc_task_t *task, isc_event_t *event) +{ + struct probe_trans * trans = event->ev_arg; dns_clientreqevent_t *rev = (dns_clientreqevent_t *)event; - dns_message_t *rmessage; - struct probe_ns *pns; - struct server *server; - isc_result_t result; - query_result_t *resultp; - dns_name_t *name; - dns_rdataset_t *rdataset; - dns_rdatatype_t type; + dns_message_t * rmessage; + struct probe_ns * pns; + struct server * server; + isc_result_t result; + query_result_t * resultp; + dns_name_t * name; + dns_rdataset_t * rdataset; + dns_rdatatype_t type; REQUIRE(task == probe_task); REQUIRE(trans != NULL && trans->inuse == true); @@ -530,19 +543,17 @@ request_done(isc_task_t *task, isc_event_t *event) { DNS_SECTION_ANSWER); while (result == ISC_R_SUCCESS) { name = NULL; - dns_message_currentname(rmessage, - DNS_SECTION_ANSWER, - &name); + dns_message_currentname( + rmessage, DNS_SECTION_ANSWER, &name); for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; - rdataset = ISC_LIST_NEXT(rdataset, - link)) { + rdataset = ISC_LIST_NEXT(rdataset, link)) { (void)print_rdataset(rdataset, name); if (rdataset->type == - dns_rdatatype_cname || + dns_rdatatype_cname || rdataset->type == - dns_rdatatype_dname) { + dns_rdatatype_dname) { /* Should chase the chain? */ *resultp = exist; goto found; @@ -551,8 +562,8 @@ request_done(isc_task_t *task, isc_event_t *event) { goto found; } } - result = dns_message_nextname(rmessage, - DNS_SECTION_ANSWER); + result = dns_message_nextname( + rmessage, DNS_SECTION_ANSWER); } /* @@ -576,22 +587,20 @@ request_done(isc_task_t *task, isc_event_t *event) { * CNAME RRs. Update the result code if so. */ name = NULL; - dns_message_currentname(rmessage, - DNS_SECTION_ANSWER, - &name); + dns_message_currentname( + rmessage, DNS_SECTION_ANSWER, &name); for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; - rdataset = ISC_LIST_NEXT(rdataset, - link)) { + rdataset = ISC_LIST_NEXT(rdataset, link)) { if (rdataset->type == - dns_rdatatype_cname && + dns_rdatatype_cname && dns_rdataset_count(rdataset) > 1) { *resultp = multiplecname; goto found; } } - result = dns_message_nextname(rmessage, - DNS_SECTION_ANSWER); + result = dns_message_nextname( + rmessage, DNS_SECTION_ANSWER); } } @@ -604,22 +613,20 @@ request_done(isc_task_t *task, isc_event_t *event) { * SOA RRs. Update the result code if so. */ name = NULL; - dns_message_currentname(rmessage, - DNS_SECTION_AUTHORITY, - &name); + dns_message_currentname( + rmessage, DNS_SECTION_AUTHORITY, &name); for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; - rdataset = ISC_LIST_NEXT(rdataset, - link)) { + rdataset = ISC_LIST_NEXT(rdataset, link)) { if (rdataset->type == - dns_rdatatype_soa && + dns_rdatatype_soa && dns_rdataset_count(rdataset) > 1) { *resultp = multiplesoa; goto found; } } - result = dns_message_nextname(rmessage, - DNS_SECTION_AUTHORITY); + result = dns_message_nextname( + rmessage, DNS_SECTION_AUTHORITY); } } } else if (rev->result == ISC_R_TIMEDOUT) @@ -632,7 +639,7 @@ request_done(isc_task_t *task, isc_event_t *event) { *resultp = unexpected; } - found: +found: INSIST(*resultp != none); if (type == dns_rdatatype_a && *resultp == exist) trans->qname_found = true; @@ -665,7 +672,8 @@ request_done(isc_task_t *task, isc_event_t *event) { ISC_LIST_HEAD(trans->nslist); for (pns = trans->current_ns; pns != NULL; pns = ISC_LIST_NEXT(pns, link)) { - for (server = ISC_LIST_HEAD(pns->servers); + for (server = ISC_LIST_HEAD( + pns->servers); server != NULL; server = ISC_LIST_NEXT(server, link)) { @@ -690,10 +698,11 @@ request_done(isc_task_t *task, isc_event_t *event) { } static isc_result_t -probe_name(struct probe_trans *trans, dns_rdatatype_t type) { - isc_result_t result; +probe_name(struct probe_trans *trans, dns_rdatatype_t type) +{ + isc_result_t result; struct probe_ns *pns; - struct server *server; + struct server * server; REQUIRE(trans->reqid == NULL); REQUIRE(type == dns_rdatatype_a || type == dns_rdatatype_aaaa); @@ -712,7 +721,7 @@ probe_name(struct probe_trans *trans, dns_rdatatype_t type) { } } - found: +found: trans->current_ns = pns; if (pns == NULL) return (ISC_R_NOMORE); @@ -722,13 +731,11 @@ probe_name(struct probe_trans *trans, dns_rdatatype_t type) { result = make_querymessage(trans->qmessage, trans->qname, type); if (result != ISC_R_SUCCESS) return (result); - result = dns_client_startrequest(client, trans->qmessage, - trans->rmessage, - &pns->current_server->address, - 0, DNS_MESSAGEPARSE_BESTEFFORT, - NULL, 120, 0, 4, - probe_task, request_done, trans, - &trans->reqid); + result = dns_client_startrequest( + client, trans->qmessage, trans->rmessage, + &pns->current_server->address, 0, DNS_MESSAGEPARSE_BESTEFFORT, + NULL, 120, 0, 4, probe_task, request_done, trans, + &trans->reqid); return (result); } @@ -738,14 +745,15 @@ probe_name(struct probe_trans *trans, dns_rdatatype_t type) { */ static void -resolve_nsaddress(isc_task_t *task, isc_event_t *event) { - struct probe_trans *trans = event->ev_arg; +resolve_nsaddress(isc_task_t *task, isc_event_t *event) +{ + struct probe_trans * trans = event->ev_arg; dns_clientresevent_t *rev = (dns_clientresevent_t *)event; - dns_name_t *name; - dns_rdataset_t *rdataset; - dns_rdata_t rdata = DNS_RDATA_INIT; - struct probe_ns *pns = trans->current_ns; - isc_result_t result; + dns_name_t * name; + dns_rdataset_t * rdataset; + dns_rdata_t rdata = DNS_RDATA_INIT; + struct probe_ns * pns = trans->current_ns; + isc_result_t result; REQUIRE(task == probe_task); REQUIRE(trans->inuse == true); @@ -754,8 +762,7 @@ resolve_nsaddress(isc_task_t *task, isc_event_t *event) { for (name = ISC_LIST_HEAD(rev->answerlist); name != NULL; name = ISC_LIST_NEXT(name, link)) { - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { (void)print_rdataset(rdataset, name); @@ -766,7 +773,7 @@ resolve_nsaddress(isc_task_t *task, isc_event_t *event) { result == ISC_R_SUCCESS; result = dns_rdataset_next(rdataset)) { dns_rdata_in_a_t rdata_a; - struct server *server; + struct server * server; dns_rdataset_current(rdataset, &rdata); result = dns_rdata_tostruct(&rdata, &rdata_a, @@ -789,7 +796,7 @@ resolve_nsaddress(isc_task_t *task, isc_event_t *event) { dns_client_destroyrestrans(&trans->resid); isc_event_free(&event); - next_ns: +next_ns: trans->current_ns = ISC_LIST_NEXT(pns, link); if (trans->current_ns == NULL) { trans->current_ns = ISC_LIST_HEAD(trans->nslist); @@ -797,7 +804,7 @@ resolve_nsaddress(isc_task_t *task, isc_event_t *event) { trans->qname = NULL; result = set_nextqname(trans); if (result == ISC_R_SUCCESS) - result = probe_name(trans, dns_rdatatype_a); + result = probe_name(trans, dns_rdatatype_a); } else { result = fetch_nsaddress(trans); if (result != ISC_R_SUCCESS) @@ -809,16 +816,16 @@ resolve_nsaddress(isc_task_t *task, isc_event_t *event) { } static isc_result_t -fetch_nsaddress(struct probe_trans *trans) { +fetch_nsaddress(struct probe_trans *trans) +{ struct probe_ns *pns; pns = trans->current_ns; REQUIRE(pns != NULL); - return (dns_client_startresolve(client, pns->name, dns_rdataclass_in, - dns_rdatatype_a, 0, probe_task, - resolve_nsaddress, trans, - &trans->resid)); + return (dns_client_startresolve( + client, pns->name, dns_rdataclass_in, dns_rdatatype_a, 0, + probe_task, resolve_nsaddress, trans, &trans->resid)); } /* @@ -826,10 +833,11 @@ fetch_nsaddress(struct probe_trans *trans) { */ static void -reset_probe(struct probe_trans *trans) { +reset_probe(struct probe_trans *trans) +{ struct probe_ns *pns; - struct server *server; - isc_result_t result; + struct server * server; + isc_result_t result; REQUIRE(trans->resid == NULL); REQUIRE(trans->reqid == NULL); @@ -867,14 +875,15 @@ reset_probe(struct probe_trans *trans) { } static void -resolve_ns(isc_task_t *task, isc_event_t *event) { - struct probe_trans *trans = event->ev_arg; +resolve_ns(isc_task_t *task, isc_event_t *event) +{ + struct probe_trans * trans = event->ev_arg; dns_clientresevent_t *rev = (dns_clientresevent_t *)event; - dns_name_t *name; - dns_rdataset_t *rdataset; - isc_result_t result = ISC_R_SUCCESS; - dns_rdata_t rdata = DNS_RDATA_INIT; - struct probe_ns *pns; + dns_name_t * name; + dns_rdataset_t * rdataset; + isc_result_t result = ISC_R_SUCCESS; + dns_rdata_t rdata = DNS_RDATA_INIT; + struct probe_ns * pns; REQUIRE(task == probe_task); REQUIRE(trans->inuse == true); @@ -882,8 +891,7 @@ resolve_ns(isc_task_t *task, isc_event_t *event) { for (name = ISC_LIST_HEAD(rev->answerlist); name != NULL; name = ISC_LIST_NEXT(name, link)) { - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { (void)print_rdataset(rdataset, name); @@ -906,7 +914,7 @@ resolve_ns(isc_task_t *task, isc_event_t *event) { pns = isc_mem_get(mctx, sizeof(*pns)); pns->name = - dns_fixedname_initname(&pns->fixedname); + dns_fixedname_initname(&pns->fixedname); ISC_LINK_INIT(pns, link); ISC_LIST_APPEND(trans->nslist, pns, link); ISC_LIST_INIT(pns->servers); @@ -936,12 +944,13 @@ resolve_ns(isc_task_t *task, isc_event_t *event) { } static isc_result_t -probe_domain(struct probe_trans *trans) { +probe_domain(struct probe_trans *trans) +{ isc_result_t result; unsigned int domainlen; isc_buffer_t b; - char buf[4096]; /* XXX ad hoc constant, but should be enough */ - char *cp; + char buf[4096]; /* XXX ad hoc constant, but should be enough */ + char * cp; REQUIRE(trans != NULL); REQUIRE(trans->inuse == false); @@ -963,10 +972,9 @@ probe_domain(struct probe_trans *trans) { result = dns_name_fromtext(trans->qname, &b, dns_rootname, 0, NULL); if (result != ISC_R_SUCCESS) goto cleanup; - result = dns_client_startresolve(client, trans->qname, - dns_rdataclass_in, dns_rdatatype_ns, - 0, probe_task, resolve_ns, trans, - &trans->resid); + result = dns_client_startresolve( + client, trans->qname, dns_rdataclass_in, dns_rdatatype_ns, 0, + probe_task, resolve_ns, trans, &trans->resid); if (result != ISC_R_SUCCESS) goto cleanup; @@ -975,7 +983,7 @@ probe_domain(struct probe_trans *trans) { return (ISC_R_SUCCESS); - cleanup: +cleanup: isc_mem_free(mctx, trans->domain); dns_fixedname_invalidate(&trans->fixedname); @@ -986,23 +994,25 @@ ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { +usage(void) +{ fprintf(stderr, "usage: nsprobe [-d] [-v [-v...]] [-c cache_address] " - "[input_file]\n"); + "[input_file]\n"); exit(1); } int -main(int argc, char *argv[]) { - int i, ch, error; - struct addrinfo hints, *res; - isc_result_t result; - isc_sockaddr_t sa; +main(int argc, char *argv[]) +{ + int i, ch, error; + struct addrinfo hints, *res; + isc_result_t result; + isc_sockaddr_t sa; isc_sockaddrlist_t servers; - isc_taskmgr_t *taskmgr = NULL; - isc_socketmgr_t *socketmgr = NULL; - isc_timermgr_t *timermgr = NULL; + isc_taskmgr_t * taskmgr = NULL; + isc_socketmgr_t * socketmgr = NULL; + isc_timermgr_t * timermgr = NULL; while ((ch = isc_commandline_parse(argc, argv, "c:dhv")) != -1) { switch (ch) { @@ -1035,8 +1045,7 @@ main(int argc, char *argv[]) { exit(1); } - result = ctxs_init(&mctx, &actx, &taskmgr, &socketmgr, - &timermgr); + result = ctxs_init(&mctx, &actx, &taskmgr, &socketmgr, &timermgr); if (result != ISC_R_SUCCESS) { fprintf(stderr, "ctx create failed: %u\n", result); exit(1); @@ -1044,8 +1053,8 @@ main(int argc, char *argv[]) { isc_app_ctxstart(actx); - result = dns_client_createx(mctx, actx, taskmgr, socketmgr, - timermgr, 0, &client, NULL, NULL); + result = dns_client_createx(mctx, actx, taskmgr, socketmgr, timermgr, 0, + &client, NULL, NULL); if (result != ISC_R_SUCCESS) { fprintf(stderr, "dns_client_createx failed: %u\n", result); exit(1); @@ -1140,8 +1149,7 @@ main(int argc, char *argv[]) { isc_app_ctxrun(actx); /* Dump results */ - printf("Per domain results (out of %lu domains):\n", - number_of_domains); + printf("Per domain results (out of %lu domains):\n", number_of_domains); printf(" valid: %lu\n" " ignore: %lu\n" " nxdomain: %lu\n" @@ -1156,8 +1164,7 @@ main(int argc, char *argv[]) { domain_stat.othererr, domain_stat.multiplesoa, domain_stat.multiplecname, domain_stat.brokenanswer, domain_stat.lame, domain_stat.unknown, multiple_error_domains); - printf("Per server results (out of %lu servers):\n", - number_of_servers); + printf("Per server results (out of %lu servers):\n", number_of_servers); printf(" valid: %lu\n" " ignore: %lu\n" " nxdomain: %lu\n" diff --git a/lib/samples/resolve.c b/lib/samples/resolve.c index 587d159f44..d62330a6f3 100644 --- a/lib/samples/resolve.c +++ b/lib/samples/resolve.c @@ -10,15 +10,13 @@ */ #ifndef WIN32 -#include -#include - -#include - -#include - #include #include + +#include +#include +#include +#include #endif #include @@ -26,6 +24,7 @@ #include #include +#include #include #include #include @@ -33,14 +32,10 @@ #include #include #include -#include -#include -#include #include +#include #include - -#include -#include +#include #include #include @@ -55,15 +50,18 @@ #include #include +#include +#include static char *algname; static isc_result_t -printdata(dns_rdataset_t *rdataset, dns_name_t *owner) { +printdata(dns_rdataset_t *rdataset, dns_name_t *owner) +{ isc_buffer_t target; isc_result_t result; isc_region_t r; - char t[4096]; + char t[4096]; if (!dns_rdataset_isassociated(rdataset)) { printf("[WARN: empty]\n"); @@ -72,8 +70,7 @@ printdata(dns_rdataset_t *rdataset, dns_name_t *owner) { isc_buffer_init(&target, t, sizeof(t)); - result = dns_rdataset_totext(rdataset, owner, false, false, - &target); + result = dns_rdataset_totext(rdataset, owner, false, false, &target); if (result != ISC_R_SUCCESS) return (result); isc_buffer_usedregion(&target, &r); @@ -86,32 +83,33 @@ ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { +usage(void) +{ fprintf(stderr, "resolve [-t RRtype] " - "[[-a algorithm] [-e] -k keyname -K keystring] " - "[-S domain:serveraddr_for_domain ] [-s server_address]" - "[-b address[#port]] hostname\n"); + "[[-a algorithm] [-e] -k keyname -K keystring] " + "[-S domain:serveraddr_for_domain ] [-s server_address]" + "[-b address[#port]] hostname\n"); exit(1); } static void -set_key(dns_client_t *client, char *keynamestr, char *keystr, - bool is_sep, isc_mem_t **mctxp) +set_key(dns_client_t *client, char *keynamestr, char *keystr, bool is_sep, + isc_mem_t **mctxp) { - isc_result_t result; - dns_fixedname_t fkeyname; - unsigned int namelen; - dns_name_t *keyname; + isc_result_t result; + dns_fixedname_t fkeyname; + unsigned int namelen; + dns_name_t * keyname; dns_rdata_dnskey_t keystruct; - unsigned char keydata[4096]; - isc_buffer_t keydatabuf; - unsigned char rrdata[4096]; - isc_buffer_t rrdatabuf; - isc_buffer_t b; - isc_textregion_t tr; - isc_region_t r; - dns_secalg_t alg; + unsigned char keydata[4096]; + isc_buffer_t keydatabuf; + unsigned char rrdata[4096]; + isc_buffer_t rrdatabuf; + isc_buffer_t b; + isc_textregion_t tr; + isc_region_t r; + dns_secalg_t alg; isc_mem_create(mctxp); @@ -146,8 +144,8 @@ set_key(dns_client_t *client, char *keynamestr, char *keystr, keystruct.data = r.base; result = dns_rdata_fromstruct(NULL, keystruct.common.rdclass, - keystruct.common.rdtype, - &keystruct, &rrdatabuf); + keystruct.common.rdtype, &keystruct, + &rrdatabuf); if (result != ISC_R_SUCCESS) { fprintf(stderr, "failed to construct key rdata\n"); exit(1); @@ -162,11 +160,10 @@ set_key(dns_client_t *client, char *keynamestr, char *keystr, exit(1); } result = dns_client_addtrustedkey(client, dns_rdataclass_in, - dns_rdatatype_dnskey, - keyname, &rrdatabuf); + dns_rdatatype_dnskey, keyname, + &rrdatabuf); if (result != ISC_R_SUCCESS) { - fprintf(stderr, "failed to add key for %s\n", - keynamestr); + fprintf(stderr, "failed to add key for %s\n", keynamestr); exit(1); } } @@ -175,15 +172,15 @@ static void addserver(dns_client_t *client, const char *addrstr, const char *port, const char *name_space) { - struct addrinfo hints, *res; - int gaierror; - isc_sockaddr_t sa; + struct addrinfo hints, *res; + int gaierror; + isc_sockaddr_t sa; isc_sockaddrlist_t servers; - isc_result_t result; - unsigned int namelen; - isc_buffer_t b; - dns_fixedname_t fname; - dns_name_t *name = NULL; + isc_result_t result; + unsigned int namelen; + isc_buffer_t b; + dns_fixedname_t fname; + dns_name_t * name = NULL; memset(&hints, 0, sizeof(hints)); hints.ai_family = AF_UNSPEC; @@ -226,48 +223,48 @@ addserver(dns_client_t *client, const char *addrstr, const char *port, } int -main(int argc, char *argv[]) { - int ch; +main(int argc, char *argv[]) +{ + int ch; isc_textregion_t tr; - char *server = NULL; - char *altserver = NULL; - char *altserveraddr = NULL; - char *altservername = NULL; - dns_client_t *client = NULL; - char *keynamestr = NULL; - char *keystr = NULL; - isc_result_t result; - isc_buffer_t b; - dns_fixedname_t qname0; - unsigned int namelen; - dns_name_t *qname, *name; - dns_rdatatype_t type = dns_rdatatype_a; - dns_rdataset_t *rdataset; - dns_namelist_t namelist; - isc_mem_t *keymctx = NULL; - unsigned int clientopt, resopt; - bool is_sep = false; - const char *port = "53"; - isc_mem_t *mctx = NULL; - isc_appctx_t *actx = NULL; - isc_taskmgr_t *taskmgr = NULL; + char * server = NULL; + char * altserver = NULL; + char * altserveraddr = NULL; + char * altservername = NULL; + dns_client_t * client = NULL; + char * keynamestr = NULL; + char * keystr = NULL; + isc_result_t result; + isc_buffer_t b; + dns_fixedname_t qname0; + unsigned int namelen; + dns_name_t * qname, *name; + dns_rdatatype_t type = dns_rdatatype_a; + dns_rdataset_t * rdataset; + dns_namelist_t namelist; + isc_mem_t * keymctx = NULL; + unsigned int clientopt, resopt; + bool is_sep = false; + const char * port = "53"; + isc_mem_t * mctx = NULL; + isc_appctx_t * actx = NULL; + isc_taskmgr_t * taskmgr = NULL; isc_socketmgr_t *socketmgr = NULL; - isc_timermgr_t *timermgr = NULL; - struct in_addr in4; - struct in6_addr in6; - isc_sockaddr_t a4, a6; - isc_sockaddr_t *addr4 = NULL, *addr6 = NULL; + isc_timermgr_t * timermgr = NULL; + struct in_addr in4; + struct in6_addr in6; + isc_sockaddr_t a4, a6; + isc_sockaddr_t * addr4 = NULL, *addr6 = NULL; - while ((ch = isc_commandline_parse(argc, argv, - "a:b:es:t:k:K:p:S:")) != -1) { + while ((ch = isc_commandline_parse(argc, argv, "a:b:es:t:k:K:p:S:")) != + -1) { switch (ch) { case 't': tr.base = isc_commandline_argument; tr.length = strlen(isc_commandline_argument); result = dns_rdatatype_fromtext(&type, &tr); if (result != ISC_R_SUCCESS) { - fprintf(stderr, - "invalid RRtype: %s\n", + fprintf(stderr, "invalid RRtype: %s\n", isc_commandline_argument); exit(1); } @@ -276,8 +273,8 @@ main(int argc, char *argv[]) { algname = isc_commandline_argument; break; case 'b': - if (inet_pton(AF_INET, - isc_commandline_argument, &in4) == 1) { + if (inet_pton(AF_INET, isc_commandline_argument, + &in4) == 1) { if (addr4 != NULL) { fprintf(stderr, "only one local " "address per family " @@ -286,8 +283,7 @@ main(int argc, char *argv[]) { } isc_sockaddr_fromin(&a4, &in4, 0); addr4 = &a4; - } else if (inet_pton(AF_INET6, - isc_commandline_argument, + } else if (inet_pton(AF_INET6, isc_commandline_argument, &in6) == 1) { if (addr6 != NULL) { fprintf(stderr, "only one local " @@ -308,7 +304,8 @@ main(int argc, char *argv[]) { break; case 'S': if (altserver != NULL) { - fprintf(stderr, "alternate server " + fprintf(stderr, + "alternate server " "already defined: %s\n", altserver); exit(1); @@ -317,7 +314,8 @@ main(int argc, char *argv[]) { break; case 's': if (server != NULL) { - fprintf(stderr, "server " + fprintf(stderr, + "server " "already defined: %s\n", server); exit(1); @@ -393,7 +391,7 @@ main(int argc, char *argv[]) { /* Set the nameserver */ if (server == NULL) { - irs_resconf_t *resconf = NULL; + irs_resconf_t * resconf = NULL; isc_sockaddrlist_t *nameservers; result = irs_resconf_load(mctx, "/etc/resolv.conf", &resconf); @@ -403,8 +401,8 @@ main(int argc, char *argv[]) { exit(1); } nameservers = irs_resconf_getnameservers(resconf); - result = dns_client_setservers(client, dns_rdataclass_in, - NULL, nameservers); + result = dns_client_setservers(client, dns_rdataclass_in, NULL, + nameservers); if (result != ISC_R_SUCCESS) { irs_resconf_destroy(&resconf); fprintf(stderr, "dns_client_setservers failed: %u\n", @@ -423,9 +421,8 @@ main(int argc, char *argv[]) { /* Install DNSSEC key (if given) */ if (keynamestr != NULL) { if (keystr == NULL) { - fprintf(stderr, - "key string is missing " - "while key name is provided\n"); + fprintf(stderr, "key string is missing " + "while key name is provided\n"); exit(1); } set_key(client, keynamestr, keystr, is_sep, &keymctx); @@ -448,13 +445,12 @@ main(int argc, char *argv[]) { result = dns_client_resolve(client, qname, dns_rdataclass_in, type, resopt, &namelist); if (result != ISC_R_SUCCESS) { - fprintf(stderr, - "resolution failed: %s\n", dns_result_totext(result)); + fprintf(stderr, "resolution failed: %s\n", + dns_result_totext(result)); } for (name = ISC_LIST_HEAD(namelist); name != NULL; name = ISC_LIST_NEXT(name, link)) { - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { if (printdata(rdataset, name) != ISC_R_SUCCESS) fprintf(stderr, "print data failed\n"); diff --git a/lib/samples/sample-async.c b/lib/samples/sample-async.c index cda22185fe..bd53c9f1bf 100644 --- a/lib/samples/sample-async.c +++ b/lib/samples/sample-async.c @@ -10,14 +10,12 @@ */ #ifndef WIN32 -#include -#include - -#include +#include #include - -#include +#include +#include +#include #endif #include @@ -31,8 +29,8 @@ #include #include #include -#include #include +#include #include #include #include @@ -49,30 +47,30 @@ #define MAX_QUERIES 100 static dns_client_t *client = NULL; -static isc_task_t *query_task = NULL; +static isc_task_t * query_task = NULL; static isc_appctx_t *query_actx = NULL; -static unsigned int outstanding_queries = 0; -static const char *def_server = "127.0.0.1"; -static FILE *fp; +static unsigned int outstanding_queries = 0; +static const char * def_server = "127.0.0.1"; +static FILE * fp; struct query_trans { - int id; - bool inuse; - dns_rdatatype_t type; - dns_fixedname_t fixedname; - dns_name_t *qname; - dns_namelist_t answerlist; + int id; + bool inuse; + dns_rdatatype_t type; + dns_fixedname_t fixedname; + dns_name_t * qname; + dns_namelist_t answerlist; dns_clientrestrans_t *xid; }; static struct query_trans query_array[MAX_QUERIES]; -static isc_result_t dispatch_query(struct query_trans *trans); +static isc_result_t +dispatch_query(struct query_trans *trans); static void -ctxs_destroy(isc_mem_t **mctxp, isc_appctx_t **actxp, - isc_taskmgr_t **taskmgrp, isc_socketmgr_t **socketmgrp, - isc_timermgr_t **timermgrp) +ctxs_destroy(isc_mem_t **mctxp, isc_appctx_t **actxp, isc_taskmgr_t **taskmgrp, + isc_socketmgr_t **socketmgrp, isc_timermgr_t **timermgrp) { if (*taskmgrp != NULL) isc_taskmgr_destroy(taskmgrp); @@ -91,9 +89,8 @@ ctxs_destroy(isc_mem_t **mctxp, isc_appctx_t **actxp, } static isc_result_t -ctxs_init(isc_mem_t **mctxp, isc_appctx_t **actxp, - isc_taskmgr_t **taskmgrp, isc_socketmgr_t **socketmgrp, - isc_timermgr_t **timermgrp) +ctxs_init(isc_mem_t **mctxp, isc_appctx_t **actxp, isc_taskmgr_t **taskmgrp, + isc_socketmgr_t **socketmgrp, isc_timermgr_t **timermgrp) { isc_result_t result; @@ -117,25 +114,25 @@ ctxs_init(isc_mem_t **mctxp, isc_appctx_t **actxp, return (ISC_R_SUCCESS); - fail: +fail: ctxs_destroy(mctxp, actxp, taskmgrp, socketmgrp, timermgrp); return (result); } static isc_result_t -printdata(dns_rdataset_t *rdataset, dns_name_t *owner) { +printdata(dns_rdataset_t *rdataset, dns_name_t *owner) +{ isc_buffer_t target; isc_result_t result; isc_region_t r; - char t[4096]; + char t[4096]; isc_buffer_init(&target, t, sizeof(t)); if (!dns_rdataset_isassociated(rdataset)) return (ISC_R_SUCCESS); - result = dns_rdataset_totext(rdataset, owner, false, false, - &target); + result = dns_rdataset_totext(rdataset, owner, false, false, &target); if (result != ISC_R_SUCCESS) return (result); isc_buffer_usedregion(&target, &r); @@ -145,12 +142,13 @@ printdata(dns_rdataset_t *rdataset, dns_name_t *owner) { } static void -process_answer(isc_task_t *task, isc_event_t *event) { - struct query_trans *trans = event->ev_arg; +process_answer(isc_task_t *task, isc_event_t *event) +{ + struct query_trans * trans = event->ev_arg; dns_clientresevent_t *rev = (dns_clientresevent_t *)event; - dns_name_t *name; - dns_rdataset_t *rdataset; - isc_result_t result; + dns_name_t * name; + dns_rdataset_t * rdataset; + isc_result_t result; REQUIRE(task == query_task); REQUIRE(trans->inuse == true); @@ -164,8 +162,7 @@ process_answer(isc_task_t *task, isc_event_t *event) { for (name = ISC_LIST_HEAD(rev->answerlist); name != NULL; name = ISC_LIST_NEXT(name, link)) { - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; + for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { (void)printdata(rdataset, name); } @@ -182,7 +179,7 @@ process_answer(isc_task_t *task, isc_event_t *event) { outstanding_queries--; result = dispatch_query(trans); -#if 0 /* for cancel test */ +#if 0 /* for cancel test */ if (result == ISC_R_SUCCESS) { static int count = 0; @@ -195,12 +192,13 @@ process_answer(isc_task_t *task, isc_event_t *event) { } static isc_result_t -dispatch_query(struct query_trans *trans) { +dispatch_query(struct query_trans *trans) +{ isc_result_t result; unsigned int namelen; isc_buffer_t b; - char buf[4096]; /* XXX ad hoc constant, but should be enough */ - char *cp; + char buf[4096]; /* XXX ad hoc constant, but should be enough */ + char * cp; REQUIRE(trans != NULL); REQUIRE(trans->inuse == false); @@ -223,10 +221,9 @@ dispatch_query(struct query_trans *trans) { goto cleanup; /* Start resolution */ - result = dns_client_startresolve(client, trans->qname, - dns_rdataclass_in, trans->type, 0, - query_task, process_answer, trans, - &trans->xid); + result = dns_client_startresolve( + client, trans->qname, dns_rdataclass_in, trans->type, 0, + query_task, process_answer, trans, &trans->xid); if (result != ISC_R_SUCCESS) goto cleanup; @@ -235,7 +232,7 @@ dispatch_query(struct query_trans *trans) { return (ISC_R_SUCCESS); - cleanup: +cleanup: dns_fixedname_invalidate(&trans->fixedname); return (result); @@ -245,29 +242,31 @@ ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { +usage(void) +{ fprintf(stderr, "usage: sample-async [-s server_address] [-t RR type] " - "input_file\n"); + "input_file\n"); exit(1); } int -main(int argc, char *argv[]) { - int ch; - isc_textregion_t tr; - isc_mem_t *mctx = NULL; - isc_taskmgr_t *taskmgr = NULL; - isc_socketmgr_t *socketmgr = NULL; - isc_timermgr_t *timermgr = NULL; - int nservers = 0; - const char *serveraddr[MAX_SERVERS]; - isc_sockaddr_t sa[MAX_SERVERS]; +main(int argc, char *argv[]) +{ + int ch; + isc_textregion_t tr; + isc_mem_t * mctx = NULL; + isc_taskmgr_t * taskmgr = NULL; + isc_socketmgr_t * socketmgr = NULL; + isc_timermgr_t * timermgr = NULL; + int nservers = 0; + const char * serveraddr[MAX_SERVERS]; + isc_sockaddr_t sa[MAX_SERVERS]; isc_sockaddrlist_t servers; - dns_rdatatype_t type = dns_rdatatype_a; - struct in_addr inaddr; - isc_result_t result; - int i; + dns_rdatatype_t type = dns_rdatatype_a; + struct in_addr inaddr; + isc_result_t result; + int i; while ((ch = isc_commandline_parse(argc, argv, "s:t:")) != -1) { switch (ch) { @@ -276,16 +275,14 @@ main(int argc, char *argv[]) { tr.length = strlen(isc_commandline_argument); result = dns_rdatatype_fromtext(&type, &tr); if (result != ISC_R_SUCCESS) { - fprintf(stderr, - "invalid RRtype: %s\n", + fprintf(stderr, "invalid RRtype: %s\n", isc_commandline_argument); exit(1); } break; case 's': if (nservers == MAX_SERVERS) { - fprintf(stderr, - "too many servers (up to %d)\n", + fprintf(stderr, "too many servers (up to %d)\n", MAX_SERVERS); exit(1); } @@ -324,8 +321,7 @@ main(int argc, char *argv[]) { exit(1); } - result = ctxs_init(&mctx, &query_actx, &taskmgr, &socketmgr, - &timermgr); + result = ctxs_init(&mctx, &query_actx, &taskmgr, &socketmgr, &timermgr); if (result != ISC_R_SUCCESS) { fprintf(stderr, "ctx create failed: %u\n", result); exit(1); diff --git a/lib/samples/sample-gai.c b/lib/samples/sample-gai.c index d7fcc77ead..ba16065f4d 100644 --- a/lib/samples/sample-gai.c +++ b/lib/samples/sample-gai.c @@ -9,20 +9,21 @@ * information regarding copyright ownership. */ +#include +#include +#include + #include #include #include -#include -#include -#include - static void -do_gai(int family, char *hostname) { +do_gai(int family, char *hostname) +{ struct addrinfo hints, *res, *res0; - int error; - char namebuf[1024], addrbuf[1024], servbuf[1024]; + int error; + char namebuf[1024], addrbuf[1024], servbuf[1024]; memset(&hints, 0, sizeof(hints)); hints.ai_family = family; @@ -36,21 +37,20 @@ do_gai(int family, char *hostname) { } for (res = res0; res; res = res->ai_next) { - error = getnameinfo(res->ai_addr, - (socklen_t)res->ai_addrlen, - addrbuf, sizeof(addrbuf), - NULL, 0, NI_NUMERICHOST); + error = getnameinfo(res->ai_addr, (socklen_t)res->ai_addrlen, + addrbuf, sizeof(addrbuf), NULL, 0, + NI_NUMERICHOST); if (error == 0) error = getnameinfo(res->ai_addr, - (socklen_t)res->ai_addrlen, - namebuf, sizeof(namebuf), - servbuf, sizeof(servbuf), 0); + (socklen_t)res->ai_addrlen, namebuf, + sizeof(namebuf), servbuf, + sizeof(servbuf), 0); if (error != 0) { fprintf(stderr, "getnameinfo failed: %s\n", gai_strerror(error)); } else { - printf("%s(%s/%s)=%s:%s\n", hostname, - res->ai_canonname, addrbuf, namebuf, servbuf); + printf("%s(%s/%s)=%s:%s\n", hostname, res->ai_canonname, + addrbuf, namebuf, servbuf); } } @@ -58,7 +58,8 @@ do_gai(int family, char *hostname) { } int -main(int argc, char *argv[]) { +main(int argc, char *argv[]) +{ if (argc < 2) exit(1); diff --git a/lib/samples/sample-request.c b/lib/samples/sample-request.c index def49766c2..26167d3e3a 100644 --- a/lib/samples/sample-request.c +++ b/lib/samples/sample-request.c @@ -10,15 +10,13 @@ */ #ifndef WIN32 -#include -#include - -#include - -#include - #include #include + +#include +#include +#include +#include #endif #include @@ -50,14 +48,15 @@ #include -static isc_mem_t *mctx; +static isc_mem_t * mctx; static dns_fixedname_t fixedqname; ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { +usage(void) +{ fprintf(stderr, "sample-request [-t RRtype] server_address hostname\n"); exit(1); @@ -67,11 +66,11 @@ static isc_result_t make_querymessage(dns_message_t *message, const char *namestr, dns_rdatatype_t rdtype) { - dns_name_t *qname = NULL, *qname0; + dns_name_t * qname = NULL, *qname0; dns_rdataset_t *qrdataset = NULL; - isc_result_t result; - isc_buffer_t b; - unsigned int namelen; + isc_result_t result; + isc_buffer_t b; + unsigned int namelen; REQUIRE(message != NULL); REQUIRE(namestr != NULL); @@ -107,7 +106,7 @@ make_querymessage(dns_message_t *message, const char *namestr, return (ISC_R_SUCCESS); - cleanup: +cleanup: if (qname != NULL) dns_message_puttempname(message, &qname); if (qrdataset != NULL) @@ -117,7 +116,8 @@ make_querymessage(dns_message_t *message, const char *namestr, } static void -print_section(dns_message_t *message, int section, isc_buffer_t *buf) { +print_section(dns_message_t *message, int section, isc_buffer_t *buf) +{ isc_result_t result; isc_region_t r; @@ -131,21 +131,22 @@ print_section(dns_message_t *message, int section, isc_buffer_t *buf) { return; - fail: +fail: fprintf(stderr, "failed to convert a section\n"); } int -main(int argc, char *argv[]) { - int ch, i, gaierror; - struct addrinfo hints, *res; +main(int argc, char *argv[]) +{ + int ch, i, gaierror; + struct addrinfo hints, *res; isc_textregion_t tr; - dns_client_t *client = NULL; - isc_result_t result; - isc_sockaddr_t sa; - dns_message_t *qmessage, *rmessage; - dns_rdatatype_t type = dns_rdatatype_a; - isc_buffer_t *outputbuf; + dns_client_t * client = NULL; + isc_result_t result; + isc_sockaddr_t sa; + dns_message_t * qmessage, *rmessage; + dns_rdatatype_t type = dns_rdatatype_a; + isc_buffer_t * outputbuf; while ((ch = isc_commandline_parse(argc, argv, "t:")) != -1) { switch (ch) { @@ -154,8 +155,7 @@ main(int argc, char *argv[]) { tr.length = strlen(isc_commandline_argument); result = dns_rdatatype_fromtext(&type, &tr); if (result != ISC_R_SUCCESS) { - fprintf(stderr, - "invalid RRtype: %s\n", + fprintf(stderr, "invalid RRtype: %s\n", isc_commandline_argument); exit(1); } @@ -227,8 +227,8 @@ main(int argc, char *argv[]) { } /* Send request and wait for a response */ - result = dns_client_request(client, qmessage, rmessage, &sa, 0, 0, - NULL, 60, 0, 3); + result = dns_client_request(client, qmessage, rmessage, &sa, 0, 0, NULL, + 60, 0, 3); if (result != ISC_R_SUCCESS) { fprintf(stderr, "failed to get a response: %s\n", dns_result_totext(result)); diff --git a/lib/samples/sample-update.c b/lib/samples/sample-update.c index 16484bd184..1787d1cfe4 100644 --- a/lib/samples/sample-update.c +++ b/lib/samples/sample-update.c @@ -10,21 +10,19 @@ */ #ifndef WIN32 -#include -#include - -#include - -#include - #include #include + +#include +#include +#include +#include #endif #include +#include #include #include -#include #include #include @@ -56,40 +54,45 @@ #include -static dns_tsec_t *tsec = NULL; +static dns_tsec_t * tsec = NULL; static const dns_rdataclass_t default_rdataclass = dns_rdataclass_in; -static isc_bufferlist_t usedbuffers; +static isc_bufferlist_t usedbuffers; static ISC_LIST(dns_rdatalist_t) usedrdatalists; static const char *port = "53"; -static void setup_tsec(char *keyfile, isc_mem_t *mctx); -static void update_addordelete(isc_mem_t *mctx, char *cmdline, - bool isdelete, dns_name_t *name); -static void evaluate_prereq(isc_mem_t *mctx, char *cmdline, dns_name_t *name); +static void +setup_tsec(char *keyfile, isc_mem_t *mctx); +static void +update_addordelete(isc_mem_t *mctx, char *cmdline, bool isdelete, + dns_name_t *name); +static void +evaluate_prereq(isc_mem_t *mctx, char *cmdline, dns_name_t *name); ISC_PLATFORM_NORETURN_PRE static void usage(void) ISC_PLATFORM_NORETURN_POST; static void -usage(void) { +usage(void) +{ fprintf(stderr, "sample-update " - "-s " - "[-a auth_server] " - "[-k keyfile] " - "[-p prerequisite] " - "[-r recursive_server] " - "[-z zonename] " - "(add|delete) \"name TTL RRtype RDATA\"\n"); + "-s " + "[-a auth_server] " + "[-k keyfile] " + "[-p prerequisite] " + "[-r recursive_server] " + "[-z zonename] " + "(add|delete) \"name TTL RRtype RDATA\"\n"); exit(1); } #ifdef _WIN32 static void -InitSockets(void) { - WORD wVersionRequested; +InitSockets(void) +{ + WORD wVersionRequested; WSADATA wsaData; - int err; + int err; wVersionRequested = MAKEWORD(2, 0); @@ -101,7 +104,8 @@ InitSockets(void) { } static void -DestroySockets(void) { +DestroySockets(void) +{ WSACleanup(); } #else @@ -111,10 +115,10 @@ DestroySockets(void) { static bool addserver(const char *server, isc_sockaddrlist_t *list, - isc_sockaddr_t *sockaddr) + isc_sockaddr_t *sockaddr) { struct addrinfo hints, *res; - int gaierror; + int gaierror; memset(&hints, 0, sizeof(hints)); hints.ai_family = AF_UNSPEC; @@ -129,8 +133,8 @@ addserver(const char *server, isc_sockaddrlist_t *list, InitSockets(); gaierror = getaddrinfo(server, port, &hints, &res); if (gaierror != 0) { - fprintf(stderr, "getaddrinfo(%s) failed: %s\n", - server, gai_strerror(gaierror)); + fprintf(stderr, "getaddrinfo(%s) failed: %s\n", server, + gai_strerror(gaierror)); DestroySockets(); return (false); } @@ -145,41 +149,41 @@ addserver(const char *server, isc_sockaddrlist_t *list, } int -main(int argc, char *argv[]) { - int ch; - dns_client_t *client = NULL; - char *zonenamestr = NULL; - char *keyfilename = NULL; - char *prereqstr = NULL; - isc_sockaddr_t sa_auth[10], sa_recursive[10]; - unsigned int nsa_auth = 0, nsa_recursive = 0; +main(int argc, char *argv[]) +{ + int ch; + dns_client_t * client = NULL; + char * zonenamestr = NULL; + char * keyfilename = NULL; + char * prereqstr = NULL; + isc_sockaddr_t sa_auth[10], sa_recursive[10]; + unsigned int nsa_auth = 0, nsa_recursive = 0; isc_sockaddrlist_t rec_servers; isc_sockaddrlist_t auth_servers, *auth_serversp = &auth_servers; - isc_result_t result; - bool isdelete; - isc_buffer_t b, *buf; - dns_fixedname_t zname0, pname0, uname0; - unsigned int namelen; - dns_name_t *zname = NULL, *uname, *pname; - dns_rdataset_t *rdataset; - dns_rdatalist_t *rdatalist; - dns_rdata_t *rdata; - dns_namelist_t updatelist, prereqlist, *prereqlistp = NULL; - isc_mem_t *umctx = NULL; - bool sendtwice = false; + isc_result_t result; + bool isdelete; + isc_buffer_t b, *buf; + dns_fixedname_t zname0, pname0, uname0; + unsigned int namelen; + dns_name_t * zname = NULL, *uname, *pname; + dns_rdataset_t * rdataset; + dns_rdatalist_t * rdatalist; + dns_rdata_t * rdata; + dns_namelist_t updatelist, prereqlist, *prereqlistp = NULL; + isc_mem_t * umctx = NULL; + bool sendtwice = false; ISC_LIST_INIT(auth_servers); ISC_LIST_INIT(rec_servers); - while ((ch = isc_commandline_parse(argc, argv, - "a:k:p:P:r:sz:")) != EOF) - { + while ((ch = isc_commandline_parse(argc, argv, "a:k:p:P:r:sz:")) != + EOF) { switch (ch) { case 'k': keyfilename = isc_commandline_argument; break; case 'a': - if (nsa_auth < sizeof(sa_auth)/sizeof(*sa_auth) && + if (nsa_auth < sizeof(sa_auth) / sizeof(*sa_auth) && addserver(isc_commandline_argument, &auth_servers, &sa_auth[nsa_auth])) nsa_auth++; @@ -191,8 +195,8 @@ main(int argc, char *argv[]) { port = isc_commandline_argument; break; case 'r': - if (nsa_recursive < - sizeof(sa_recursive)/sizeof(*sa_recursive) && + if (nsa_recursive < sizeof(sa_recursive) / + sizeof(*sa_recursive) && addserver(isc_commandline_argument, &rec_servers, &sa_recursive[nsa_recursive])) nsa_recursive++; @@ -226,7 +230,7 @@ main(int argc, char *argv[]) { if (ISC_LIST_HEAD(auth_servers) == NULL && ISC_LIST_HEAD(rec_servers) == NULL) { fprintf(stderr, "authoritative or recursive servers " - "must be specified\n"); + "must be specified\n"); usage(); } @@ -283,20 +287,20 @@ main(int argc, char *argv[]) { auth_serversp = NULL; /* Perform update */ - result = dns_client_update(client, - default_rdataclass, /* XXX: fixed */ + result = dns_client_update(client, default_rdataclass, /* XXX: fixed */ zname, prereqlistp, &updatelist, auth_serversp, tsec, 0); if (result != ISC_R_SUCCESS) { - fprintf(stderr, - "update failed: %s\n", dns_result_totext(result)); + fprintf(stderr, "update failed: %s\n", + dns_result_totext(result)); } else fprintf(stderr, "update succeeded\n"); if (sendtwice) { /* Perform 2nd update */ - result = dns_client_update(client, - default_rdataclass, /* XXX: fixed */ + result = dns_client_update(client, default_rdataclass, /* XXX: + fixed + */ zname, prereqlistp, &updatelist, auth_serversp, tsec, 0); if (result != ISC_R_SUCCESS) { @@ -348,14 +352,15 @@ main(int argc, char *argv[]) { * Subroutines borrowed from nsupdate.c */ #define MAXWIRE (64 * 1024) -#define TTL_MAX 2147483647U /* Maximum signed 32 bit integer. */ +#define TTL_MAX 2147483647U /* Maximum signed 32 bit integer. */ static char * -nsu_strsep(char **stringp, const char *delim) { - char *string = *stringp; - char *s; +nsu_strsep(char **stringp, const char *delim) +{ + char * string = *stringp; + char * s; const char *d; - char sc, dc; + char sc, dc; if (string == NULL) return (NULL); @@ -385,7 +390,8 @@ nsu_strsep(char **stringp, const char *delim) { } static void -fatal(const char *format, ...) { +fatal(const char *format, ...) +{ va_list args; va_start(args, format); @@ -396,15 +402,17 @@ fatal(const char *format, ...) { } static inline void -check_result(isc_result_t result, const char *msg) { +check_result(isc_result_t result, const char *msg) +{ if (result != ISC_R_SUCCESS) fatal("%s: %s", msg, isc_result_totext(result)); } static void -parse_name(char **cmdlinep, dns_name_t *name) { +parse_name(char **cmdlinep, dns_name_t *name) +{ isc_result_t result; - char *word; + char * word; isc_buffer_t source; word = nsu_strsep(cmdlinep, " \t\r\n"); @@ -424,12 +432,12 @@ static void parse_rdata(isc_mem_t *mctx, char **cmdlinep, dns_rdataclass_t rdataclass, dns_rdatatype_t rdatatype, dns_rdata_t *rdata) { - char *cmdline = *cmdlinep; - isc_buffer_t source, *buf = NULL, *newbuf = NULL; - isc_region_t r; - isc_lex_t *lex = NULL; + char * cmdline = *cmdlinep; + isc_buffer_t source, *buf = NULL, *newbuf = NULL; + isc_region_t r; + isc_lex_t * lex = NULL; dns_rdatacallbacks_t callbacks; - isc_result_t result; + isc_result_t result; while (cmdline != NULL && *cmdline != 0 && isspace((unsigned char)*cmdline)) @@ -473,14 +481,14 @@ static void update_addordelete(isc_mem_t *mctx, char *cmdline, bool isdelete, dns_name_t *name) { - isc_result_t result; - uint32_t ttl; - char *word; + isc_result_t result; + uint32_t ttl; + char * word; dns_rdataclass_t rdataclass; - dns_rdatatype_t rdatatype; - dns_rdata_t *rdata = NULL; + dns_rdatatype_t rdatatype; + dns_rdata_t * rdata = NULL; dns_rdatalist_t *rdatalist = NULL; - dns_rdataset_t *rdataset = NULL; + dns_rdataset_t * rdataset = NULL; isc_textregion_t region; /* @@ -500,8 +508,7 @@ update_addordelete(isc_mem_t *mctx, char *cmdline, bool isdelete, if (!isdelete) { fprintf(stderr, "could not read owner ttl\n"); exit(1); - } - else { + } else { ttl = 0; rdataclass = dns_rdataclass_any; rdatatype = dns_rdatatype_any; @@ -524,8 +531,8 @@ update_addordelete(isc_mem_t *mctx, char *cmdline, bool isdelete, if (isdelete) ttl = 0; else if (ttl > TTL_MAX) { - fprintf(stderr, "ttl '%s' is out of range (0 to %u)\n", - word, TTL_MAX); + fprintf(stderr, "ttl '%s' is out of range (0 to %u)\n", word, + TTL_MAX); exit(1); } @@ -533,13 +540,13 @@ update_addordelete(isc_mem_t *mctx, char *cmdline, bool isdelete, * Read the class or type. */ word = nsu_strsep(&cmdline, " \t\r\n"); - parseclass: +parseclass: if (word == NULL || *word == 0) { if (isdelete) { rdataclass = dns_rdataclass_any; rdatatype = dns_rdatatype_any; rdata->flags = DNS_RDATA_UPDATE; - goto doneparsing; + goto doneparsing; } else { fprintf(stderr, "could not read class or type\n"); exit(1); @@ -568,16 +575,18 @@ update_addordelete(isc_mem_t *mctx, char *cmdline, bool isdelete, region.length = strlen(word); result = dns_rdatatype_fromtext(&rdatatype, ®ion); if (result != ISC_R_SUCCESS) { - fprintf(stderr, "'%s' is not a valid type: %s\n", - word, isc_result_totext(result)); + fprintf(stderr, "'%s' is not a valid type: %s\n", word, + isc_result_totext(result)); exit(1); } } else { rdataclass = default_rdataclass; result = dns_rdatatype_fromtext(&rdatatype, ®ion); if (result != ISC_R_SUCCESS) { - fprintf(stderr, "'%s' is not a valid class or type: " - "%s\n", word, isc_result_totext(result)); + fprintf(stderr, + "'%s' is not a valid class or type: " + "%s\n", + word, isc_result_totext(result)); exit(1); } } @@ -596,7 +605,7 @@ update_addordelete(isc_mem_t *mctx, char *cmdline, bool isdelete, } } - doneparsing: +doneparsing: rdatalist = isc_mem_get(mctx, sizeof(*rdatalist)); dns_rdatalist_init(rdatalist); @@ -616,17 +625,17 @@ update_addordelete(isc_mem_t *mctx, char *cmdline, bool isdelete, } static void -make_prereq(isc_mem_t *mctx, char *cmdline, bool ispositive, - bool isrrset, dns_name_t *name) +make_prereq(isc_mem_t *mctx, char *cmdline, bool ispositive, bool isrrset, + dns_name_t *name) { - isc_result_t result; - char *word; + isc_result_t result; + char * word; isc_textregion_t region; - dns_rdataset_t *rdataset = NULL; + dns_rdataset_t * rdataset = NULL; dns_rdatalist_t *rdatalist = NULL; dns_rdataclass_t rdataclass; - dns_rdatatype_t rdatatype; - dns_rdata_t *rdata = NULL; + dns_rdatatype_t rdatatype; + dns_rdata_t * rdata = NULL; /* * Read the owner name @@ -704,9 +713,10 @@ make_prereq(isc_mem_t *mctx, char *cmdline, bool ispositive, } static void -evaluate_prereq(isc_mem_t *mctx, char *cmdline, dns_name_t *name) { +evaluate_prereq(isc_mem_t *mctx, char *cmdline, dns_name_t *name) +{ char *word; - bool ispositive, isrrset; + bool ispositive, isrrset; word = nsu_strsep(&cmdline, " \t\r\n"); if (word == NULL || *word == 0) { @@ -734,17 +744,17 @@ evaluate_prereq(isc_mem_t *mctx, char *cmdline, dns_name_t *name) { } static void -setup_tsec(char *keyfile, isc_mem_t *mctx) { - dst_key_t *dstkey = NULL; - isc_result_t result; +setup_tsec(char *keyfile, isc_mem_t *mctx) +{ + dst_key_t * dstkey = NULL; + isc_result_t result; dns_tsectype_t tsectype; - result = dst_key_fromnamedfile(keyfile, NULL, - DST_TYPE_PRIVATE | DST_TYPE_KEY, mctx, - &dstkey); + result = dst_key_fromnamedfile( + keyfile, NULL, DST_TYPE_PRIVATE | DST_TYPE_KEY, mctx, &dstkey); if (result != ISC_R_SUCCESS) { - fprintf(stderr, "could not read key from %s: %s\n", - keyfile, isc_result_totext(result)); + fprintf(stderr, "could not read key from %s: %s\n", keyfile, + isc_result_totext(result)); exit(1); } diff --git a/lib/win32/bindevt/bindevt.c b/lib/win32/bindevt/bindevt.c index ec4ec03eef..0d772a0592 100644 --- a/lib/win32/bindevt/bindevt.c +++ b/lib/win32/bindevt/bindevt.c @@ -15,9 +15,8 @@ #include -BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, - LPVOID lpReserved) +BOOL APIENTRY +DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { return (TRUE); } - diff --git a/util/models.c b/util/models.c index 0d54a456bf..cc41b1f13e 100644 --- a/util/models.c +++ b/util/models.c @@ -16,43 +16,59 @@ * See https://scan.coverity.com/models */ -#define FLARG , const char * file, unsigned int line +#define FLARG , const char *file, unsigned int line #define FLARG_PASS , file, line int condition; -void *isc__mem_get(void *mem, unsigned int size FLARG) { - if (!mem) __coverity_panic__(); +void * +isc__mem_get(void *mem, unsigned int size FLARG) +{ + if (!mem) + __coverity_panic__(); __coverity_negative_sink__(size); if (condition) return (0); return (__coverity_alloc__(size)); } -void isc__mem_put(void *mem, void *ptr, unsigned int size FLARG) { - if (!mem) __coverity_panic__(); +void +isc__mem_put(void *mem, void *ptr, unsigned int size FLARG) +{ + if (!mem) + __coverity_panic__(); __coverity_free__(ptr); } -void isc__mem_putanddetach(void *mem, void *ptr, unsigned int size FLARG) { - if (!mem) __coverity_panic__(); +void +isc__mem_putanddetach(void *mem, void *ptr, unsigned int size FLARG) +{ + if (!mem) + __coverity_panic__(); __coverity_free__(ptr); } -void *isc__mem_allocate(void *mem, unsigned int size FLARG) { - if (!mem) __coverity_panic__(); +void * +isc__mem_allocate(void *mem, unsigned int size FLARG) +{ + if (!mem) + __coverity_panic__(); __coverity_negative_sink__(size); if (condition) return (0); return (__coverity_alloc__(size)); } -void *memcpy(void *s1, const void *s2, size_t n); +void * +memcpy(void *s1, const void *s2, size_t n); -void * isc__mem_reallocate(void *mem, void *ptr, size_t size FLARG) { - char *p = (char *)0; +void * +isc__mem_reallocate(void *mem, void *ptr, size_t size FLARG) +{ + char * p = (char *)0; size_t l; - if (!mem) __coverity_panic__(); + if (!mem) + __coverity_panic__(); if (size > 0) { p = isc__mem_allocate(mem, size FLARG_PASS); if (p && ptr) { @@ -65,16 +81,23 @@ void * isc__mem_reallocate(void *mem, void *ptr, size_t size FLARG) { return (p); } -void isc__mem_free(void *mem, void *ptr FLARG) { - if (!mem) __coverity_panic__(); +void +isc__mem_free(void *mem, void *ptr FLARG) +{ + if (!mem) + __coverity_panic__(); __coverity_free__(ptr); } -unsigned int strlen(const char*); +unsigned int +strlen(const char *); -void *isc__mem_strdup(void *mem, char *s FLARG) { +void * +isc__mem_strdup(void *mem, char *s FLARG) +{ void *d; - if (!mem) __coverity_panic__(); + if (!mem) + __coverity_panic__(); if (condition) return (0); d = __coverity_alloc__(strlen(s) + 1); @@ -82,16 +105,22 @@ void *isc__mem_strdup(void *mem, char *s FLARG) { return (d); } -void *isc__mempool_get(void *mem FLARG) { +void * +isc__mempool_get(void *mem FLARG) +{ unsigned int size; - if (!mem) __coverity_panic__(); + if (!mem) + __coverity_panic__(); if (condition) return (0); return (__coverity_alloc__(size)); } -void isc__mempool_put(void *mem, void *ptr FLARG) { - if (!mem) __coverity_panic__(); +void +isc__mempool_put(void *mem, void *ptr FLARG) +{ + if (!mem) + __coverity_panic__(); __coverity_free__(ptr); } @@ -101,9 +130,10 @@ void isc__mempool_put(void *mem, void *ptr FLARG) { #define LargestIntegralType unsigned long int -void _assert_true(const LargestIntegralType result, - const char * const expression, - const char * const file, const int line) +void +_assert_true(const LargestIntegralType result, const char *const expression, + const char *const file, const int line) { - if (!result) __coverity_panic__(); + if (!result) + __coverity_panic__(); }